From b76666851980367c4f5f2465efc3aff8b96a99f7 Mon Sep 17 00:00:00 2001 From: miykael Date: Mon, 31 Aug 2020 23:07:26 +0800 Subject: [PATCH] empty --- .DS_Store | Bin 6148 -> 6148 bytes README.md | 17 - SUMMARY.md | 7 - book.json | 66 - docs/002.md | 163 - docs/033.md | 337 -- docs/046.md | 89 - docs/048.md | 273 -- docs/049.md | 459 -- docs/050.md | 26 - docs/051.md | 321 -- docs/052.md | 370 -- docs/053.md | 49 - docs/054.md | 437 -- docs/055.md | 128 - docs/056.md | 642 --- docs/057.md | 160 - docs/058.md | 64 - docs/059.md | 62 - docs/060.md | 388 -- docs/061.md | 59 - docs/062.md | 56 - docs/063.md | 151 - docs/064.md | 10 - docs/065.md | 639 --- docs/066.md | 35 - docs/067.md | 130 - docs/068.md | 131 - docs/069.md | 119 - docs/070.md | 169 - docs/071.md | 35 - docs/072.md | 22 - docs/073.md | 112 - docs/074.md | 50 - docs/075.md | 33 - docs/076.md | 33 - docs/077.md | 36 - docs/078.md | 22 - docs/079.md | 53 - docs/080.md | 36 - docs/081.md | 50 - docs/082.md | 43 - docs/083.md | 178 - docs/084.md | 57 - docs/085.md | 137 - docs/086.md | 38 - docs/087.md | 17 - docs/088.md | 135 - docs/089.md | 34 - docs/090.md | 94 - docs/091.md | 32 - docs/092.md | 70 - docs/093.md | 366 -- docs/094.md | 42 - docs/095.md | 384 -- docs/096.md | 174 - docs/097.md | 49 - docs/098.md | 251 -- docs/099.md | 96 - docs/100.md | 47 - docs/101.md | 446 -- docs/102.md | 266 -- docs/103.md | 209 - docs/104.md | 230 - docs/105.md | 176 - docs/106.md | 35 - docs/107.md | 49 - docs/108.md | 207 - docs/109.md | 23 - docs/110.md | 17 - docs/111.md | 38 - docs/112.md | 91 - docs/113.md | 61 - docs/114.md | 246 -- docs/115.md | 203 - docs/116.md | 160 - docs/117.md | 50 - docs/118.md | 275 -- docs/119.md | 156 - docs/120.md | 83 - docs/121.md | 36 - docs/122.md | 84 - docs/123.md | 51 - docs/124.md | 40 - docs/125.md | 290 -- docs/126.md | 123 - docs/127.md | 49 - docs/128.md | 1 - docs/129.md | 38 - docs/130.md | 131 - docs/131.md | 62 - docs/132.md | 64 - docs/133.md | 71 - docs/134.md | 46 - docs/135.md | 41 - docs/136.md | 28 - docs/137.md | 84 - docs/138.md | 119 - docs/139.md | 19 - docs/140.md | 73 - docs/141.md | 67 - docs/142.md | 40 - docs/143.md | 36 - docs/144.md | 55 - docs/145.md | 16 - docs/146.md | 141 - docs/147.md | 37 - docs/148.md | 106 - docs/149.md | 341 -- docs/150.md | 204 - docs/151.md | 119 - docs/152.md | 20 - docs/153.md | 1 - docs/154.md | 86 - docs/155.md | 54 - docs/156.md | 61 - docs/157.md | 429 -- docs/158.md | 171 - docs/159.md | 56 - docs/160.md | 147 - docs/161.md | 211 - docs/162.md | 252 -- docs/163.md | 35 - docs/164.md | 127 - docs/165.md | 285 -- docs/166.md | 160 - docs/167.md | 244 - docs/168.md | 172 - docs/169.md | 77 - docs/170.md | 58 - docs/171.md | 133 - docs/172.md | 83 - docs/173.md | 202 - docs/174.md | 17 - docs/175.md | 108 - docs/176.md | 88 - docs/177.md | 92 - docs/178.md | 63 - docs/179.md | 216 - docs/180.md | 173 - docs/181.md | 44 - docs/182.md | 268 -- docs/183.md | 55 - docs/184.md | 112 - docs/185.md | 31 - docs/186.md | 38 - docs/187.md | 33 - docs/188.md | 69 - docs/189.md | 39 - docs/190.md | 69 - docs/191.md | 69 - docs/192.md | 210 - docs/193.md | 98 - docs/194.md | 32 - docs/195.md | 104 - docs/196.md | 125 - docs/197.md | 290 -- docs/198.md | 203 - docs/199.md | 3929 ----------------- docs/200.md | 206 - docs/201.md | 156 - docs/202.md | 172 - docs/203.md | 80 - docs/204.md | 164 - docs/205.md | 342 -- docs/206.md | 266 -- docs/207.md | 302 -- docs/208.md | 214 - docs/209.md | 73 - docs/210.md | 471 -- docs/211.md | 442 -- docs/212.md | 207 - docs/213.md | 477 -- docs/214.md | 80 - docs/215.md | 122 - docs/216.md | 13 - docs/217.md | 436 -- docs/218.md | 687 --- docs/219.md | 88 - docs/220.md | 893 ---- docs/221.md | 128 - docs/222.md | 148 - docs/223.md | 30 - docs/224.md | 853 ---- docs/225.md | 52 - docs/226.md | 174 - docs/227.md | 1 - docs/228.md | 43 - docs/229.md | 115 - docs/230.md | 326 -- docs/231.md | 168 - docs/232.md | 460 -- docs/233.md | 107 - docs/234.md | 263 -- docs/235.md | 255 -- docs/236.md | 165 - docs/237.md | 644 --- docs/238.md | 97 - docs/239.md | 94 - docs/240.md | 70 - docs/241.md | 81 - docs/242.md | 130 - docs/243.md | 71 - docs/244.md | 101 - docs/245.md | 101 - docs/246.md | 68 - docs/247.md | 362 -- docs/248.md | 236 - docs/249.md | 82 - docs/250.md | 44 - docs/251.md | 249 -- docs/252.md | 104 - docs/253.md | 45 - docs/254.md | 206 - docs/255.md | 60 - docs/256.md | 498 --- docs/257.md | 217 - docs/258.md | 92 - docs/259.md | 219 - docs/260.md | 133 - docs/261.md | 186 - docs/262.md | 102 - docs/263.md | 179 - docs/264.md | 393 -- docs/265.md | 133 - docs/266.md | 291 -- docs/267.md | 251 -- docs/268.md | 261 -- docs/269.md | 401 -- docs/270.md | 13 - docs/271.md | 111 - docs/272.md | 106 - docs/273.md | 64 - docs/274.md | 40 - docs/275.md | 120 - docs/276.md | 580 --- docs/277.md | 71 - docs/278.md | 126 - docs/279.md | 290 -- docs/280.md | 784 ---- docs/281.md | 367 -- docs/282.md | 227 - docs/283.md | 264 -- docs/284.md | 595 --- docs/285.md | 173 - docs/286.md | 54 - docs/287.md | 54 - docs/288.md | 125 - docs/289.md | 63 - docs/290.md | 93 - docs/291.md | 182 - docs/292.md | 43 - docs/293.md | 260 -- docs/294.md | 160 - docs/295.md | 162 - docs/296.md | 156 - docs/297.md | 153 - docs/298.md | 168 - docs/299.md | 166 - docs/300.md | 161 - docs/301.md | 514 --- docs/302.md | 218 - docs/303.md | 108 - docs/304.md | 44 - docs/305.md | 36 - docs/306.md | 196 - docs/307.md | 139 - docs/308.md | 790 ---- docs/309.md | 50 - docs/310.md | 151 - docs/311.md | 217 - docs/312.md | 157 - docs/313.md | 160 - docs/314.md | 142 - docs/315.md | 147 - docs/316.md | 213 - docs/317.md | 83 - docs/318.md | 697 --- docs/319.md | 67 - docs/320.md | 253 -- docs/321.md | 265 -- docs/322.md | 779 ---- docs/323.md | 119 - docs/324.md | 157 - docs/325.md | 465 -- docs/326.md | 81 - docs/327.md | 207 - docs/328.md | 185 - docs/329.md | 93 - docs/330.md | 58 - docs/331.md | 73 - docs/332.md | 140 - docs/333.md | 123 - docs/334.md | 33 - docs/335.md | 266 -- docs/336.md | 430 -- docs/337.md | 854 ---- docs/338.md | 167 - docs/339.md | 167 - docs/340.md | 103 - docs/341.md | 456 -- docs/342.md | 173 - docs/343.md | 167 - docs/344.md | 185 - docs/345.md | 255 -- docs/346.md | 114 - docs/347.md | 219 - docs/348.md | 99 - docs/349.md | 191 - docs/350.md | 136 - docs/351.md | 27 - docs/352.md | 66 - docs/353.md | 1059 ----- docs/354.md | 174 - docs/355.md | 108 - docs/356.md | 195 - docs/357.md | 155 - docs/358.md | 150 - docs/359.md | 238 - docs/360.md | 36 - docs/361.md | 146 - docs/362.md | 114 - docs/363.md | 68 - docs/364.md | 378 -- docs/365.md | 189 - docs/366.md | 476 -- docs/367.md | 1578 ------- docs/368.md | 254 -- docs/369.md | 86 - docs/370.md | 285 -- docs/371.md | 212 - docs/372.md | 27 - docs/373.md | 31 - docs/374.md | 106 - docs/375.md | 159 - docs/376.md | 76 - docs/377.md | 1095 ----- docs/378.md | 159 - docs/379.md | 121 - docs/380.md | 23 - docs/381.md | 112 - docs/382.md | 65 - docs/383.md | 158 - docs/384.md | 83 - docs/385.md | 203 - docs/386.md | 2524 ----------- docs/387.md | 87 - docs/388.md | 43 - docs/389.md | 1 - docs/390.md | 167 - docs/391.md | 62 - docs/392.md | 248 -- docs/393.md | 32 - docs/394.md | 63 - docs/395.md | 419 -- docs/396.md | 106 - docs/397.md | 163 - docs/398.md | 1 - docs/399.md | 475 -- docs/400.md | 1 - docs/401.md | 1 - docs/402.md | 368 -- docs/403.md | 104 - docs/404.md | 103 - docs/405.md | 576 --- docs/406.md | 338 -- docs/407.md | 147 - docs/408.md | 1277 ------ docs/409.md | 409 -- docs/410.md | 243 - docs/411.md | 106 - docs/412.md | 45 - docs/413.md | 92 - docs/414.md | 193 - docs/415.md | 59 - docs/416.md | 66 - docs/417.md | 84 - docs/418.md | 136 - docs/419.md | 234 - docs/420.md | 167 - docs/421.md | 46 - docs/422.md | 657 --- docs/423.md | 1451 ------ docs/424.md | 1451 ------ docs/425.md | 49 - docs/426.md | 49 - docs/427.md | 49 - docs/428.md | 289 -- docs/429.md | 205 - docs/430.md | 31 - docs/431.md | 163 - docs/432.md | 91 - docs/433.md | 86 - docs/434.md | 237 - docs/435.md | 176 - docs/436.md | 33 - docs/437.md | 188 - docs/438.md | 120 - docs/439.md | 1 - docs/440.md | 164 - docs/441.md | 31 - docs/442.md | 24 - docs/443.md | 41 - docs/444.md | 117 - docs/445.md | 62 - docs/446.md | 1 - docs/447.md | 566 --- docs/448.md | 133 - docs/449.md | 149 - docs/450.md | 15 - docs/451.md | 588 --- docs/452.md | 1 - docs/453.md | 186 - docs/454.md | 32 - docs/455.md | 94 - docs/456.md | 166 - docs/457.md | 167 - docs/458.md | 26 - docs/459.md | 247 -- docs/460.md | 43 - docs/461.md | 185 - docs/462.md | 61 - docs/463.md | 61 - docs/464.md | 157 - docs/465.md | 46 - docs/466.md | 98 - docs/467.md | 633 --- docs/468.md | 1068 ----- docs/469.md | 847 ---- docs/470.md | 234 - docs/471.md | 15 - docs/472.md | 302 -- docs/473.md | 60 - docs/474.md | 53 - docs/475.md | 524 --- docs/476.md | 17 - docs/477.md | 42 - docs/478.md | 172 - docs/479.md | 102 - docs/480.md | 145 - docs/481.md | 365 -- docs/482.md | 47 - docs/483.md | 46 - docs/484.md | 70 - docs/485.md | 119 - docs/486.md | 176 - docs/487.md | 1041 ----- docs/488.md | 324 -- docs/489.md | 414 -- docs/490.md | 250 -- docs/491.md | 291 -- docs/492.md | 22 - docs/493.md | 63 - docs/494.md | 64 - docs/495.md | 96 - docs/496.md | 404 -- docs/497.md | 266 -- docs/498.md | 106 - docs/499.md | 16 - docs/500.md | 53 - docs/501.md | 148 - docs/502.md | 62 - docs/503.md | 844 ---- docs/504.md | 122 - docs/505.md | 339 -- docs/506.md | 158 - docs/507.md | 42 - docs/508.md | 149 - docs/509.md | 45 - docs/510.md | 904 ---- docs/511.md | 195 - docs/512.md | 27 - docs/513.md | 317 -- docs/514.md | 81 - docs/515.md | 45 - docs/516.md | 132 - docs/517.md | 129 - docs/518.md | 133 - docs/519.md | 35 - docs/520.md | 30 - docs/521.md | 56 - docs/522.md | 137 - docs/523.md | 28 - docs/524.md | 152 - docs/525.md | 71 - docs/526.md | 156 - docs/527.md | 88 - docs/528.md | 29 - docs/529.md | 161 - docs/530.md | 203 - docs/531.md | 225 - docs/532.md | 185 - docs/533.md | 27 - docs/534.md | 13 - docs/535.md | 56 - docs/536.md | 23 - docs/537.md | 28 - docs/538.md | 54 - docs/539.md | 15 - docs/540.md | 44 - docs/541.md | 42 - docs/542.md | 11 - docs/543.md | 49 - docs/544.md | 1 - docs/545.md | 9 - docs/546.md | 66 - docs/547.md | 60 - docs/548.md | 11 - docs/549.md | 204 - docs/550.md | 169 - docs/551.md | 20 - docs/552.md | 30 - docs/553.md | 1 - docs/554.md | 338 -- docs/555.md | 176 - docs/556.md | 346 -- docs/557.md | 104 - docs/558.md | 799 ---- docs/559.md | 111 - docs/560.md | 67 - docs/561.md | 157 - docs/562.md | 157 - docs/563.md | 769 ---- docs/564.md | 357 -- docs/565.md | 647 --- docs/566.md | 268 -- docs/567.md | 14 - docs/568.md | 548 --- docs/569.md | 1547 ------- docs/570.md | 147 - docs/571.md | 135 - docs/572.md | 171 - docs/573.md | 347 -- docs/574.md | 187 - docs/575.md | 208 - docs/576.md | 723 --- docs/577.md | 396 -- docs/578.md | 73 - docs/579.md | 15 - docs/580.md | 93 - docs/581.md | 132 - docs/582.md | 195 - docs/583.md | 180 - docs/584.md | 127 - docs/585.md | 15 - docs/586.md | 43 - docs/587.md | 19 - docs/588.md | 85 - docs/589.md | 81 - docs/590.md | 98 - docs/591.md | 259 -- docs/592.md | 25 - docs/593.md | 48 - docs/594.md | 146 - docs/595.md | 653 --- docs/596.md | 117 - docs/597.md | 62 - docs/598.md | 120 - docs/599.md | 23 - docs/600.md | 25 - docs/601.md | 1 - docs/602.md | 210 - docs/603.md | 618 --- docs/604.md | 372 -- docs/605.md | 443 -- docs/606.md | 512 --- docs/607.md | 311 -- docs/608.md | 1 - docs/609.md | 28 - docs/610.md | 244 - docs/611.md | 353 -- docs/612.md | 937 ---- docs/613.md | 223 - docs/614.md | 64 - docs/615.md | 294 -- docs/616.md | 769 ---- docs/617.md | 112 - docs/618.md | 80 - docs/619.md | 285 -- docs/620.md | 105 - docs/621.md | 11 - docs/622.md | 509 --- docs/623.md | 317 -- docs/624.md | 431 -- docs/625.md | 141 - docs/626.md | 67 - docs/627.md | 120 - docs/628.md | 940 ---- docs/629.md | 37 - docs/630.md | 337 -- docs/631.md | 26 - docs/632.md | 665 --- docs/633.md | 342 -- docs/634.md | 198 - docs/635.md | 37 - docs/636.md | 133 - docs/637.md | 314 -- docs/638.md | 144 - docs/639.md | 122 - docs/640.md | 57 - docs/641.md | 275 -- docs/642.md | 362 -- docs/643.md | 167 - docs/644.md | 35 - docs/645.md | 47 - docs/646.md | 584 --- docs/647.md | 91 - docs/648.md | 138 - docs/649.md | 49 - docs/650.md | 186 - docs/651.md | 542 --- docs/652.md | 94 - docs/img/000b14e609fee563642c55e238caca88.png | Bin 26585 -> 0 bytes docs/img/0050abd936ad2e13e4ad057a58611cc9.png | Bin 11176 -> 0 bytes docs/img/00cb101eb824b3ede4fa4a3914f95c09.png | Bin 2426 -> 0 bytes docs/img/00fd9bca0c7bdc64f74a24b691e0adac.png | Bin 23045 -> 0 bytes docs/img/0124687ca256ab68d34dd0918f1e1a8d.png | Bin 40039 -> 0 bytes docs/img/01df5698e4465e052dcb7bf0ed6a55ae.png | Bin 24451 -> 0 bytes docs/img/0290c1013dba1b07f226f1548c8b6fd2.png | Bin 16365 -> 0 bytes docs/img/02f288cad0ff70d293c035d6dc434f34.png | Bin 9088 -> 0 bytes docs/img/033c41dc1122d52872dcb67228037524.png | Bin 82629 -> 0 bytes docs/img/0370f6d6a289b9e8237fcad4c7672e78.png | Bin 87254 -> 0 bytes docs/img/0387751ed4b8717777ebac2706c2d637.png | Bin 5892 -> 0 bytes docs/img/03d3f984ea7608322b1fd6a7feba47c0.png | Bin 3203 -> 0 bytes docs/img/04b61606f38fddf21d194ee3e13abaa3.png | Bin 6364 -> 0 bytes docs/img/0574a3e535157d8b9c5744214f19f7c7.png | Bin 5966 -> 0 bytes docs/img/05a0790512923394006a9c3face18d58.png | Bin 3498 -> 0 bytes docs/img/05dd8439c1da77198297616b4c4f8458.png | Bin 32021 -> 0 bytes docs/img/061d5d0d60fdf019ad696860942563af.png | Bin 8447 -> 0 bytes docs/img/0748208b938145b0cf688cc0a3cb7b09.png | Bin 35750 -> 0 bytes docs/img/074834195e0c24213cffeef5ef08a9e1.png | Bin 33513 -> 0 bytes docs/img/079efbfe641967c936be8ed9b033bca6.png | Bin 15941 -> 0 bytes docs/img/07c2c84efb64460dfa2373f1f75645ab.png | Bin 1584 -> 0 bytes docs/img/07e4663db45be7313a205a17ec342edb.png | Bin 27091 -> 0 bytes docs/img/083580c1827d40263d500a21f072249f.png | Bin 5102 -> 0 bytes docs/img/097706015c4d2abaaf34d0782cfac635.png | Bin 24282 -> 0 bytes docs/img/09870a42c6e3e94e7553f338a65c0b6d.png | Bin 5220 -> 0 bytes docs/img/098a5864447e44da06b72051af59b294.png | Bin 1511 -> 0 bytes docs/img/0991c603daeaefcd2df14e098fa66ea4.png | Bin 27535 -> 0 bytes docs/img/09a583a4343d2359d87040afc14139dd.png | Bin 6620 -> 0 bytes docs/img/09b8263a3534de004ff180005a876b4a.png | Bin 6400 -> 0 bytes docs/img/09e1824644c088dfbd0f2f9710fc7d77.png | Bin 3094 -> 0 bytes docs/img/0a61445809db70ca6bf85d986bf52223.png | Bin 8968 -> 0 bytes docs/img/0a64287e1feef55413a5a906d02ec8ea.png | Bin 16807 -> 0 bytes docs/img/0a8b584e09781bad1c374f8badc0a12c.png | Bin 2664 -> 0 bytes docs/img/0a8c15f1fa2c2e0a210d9baae9fff372.png | Bin 11479 -> 0 bytes docs/img/0b5158f524983df0ee4e4aa152abcc86.png | Bin 10382 -> 0 bytes docs/img/0b804819bf30ce8e657ad538d376ecc5.png | Bin 3521 -> 0 bytes docs/img/0bc8de7b7d20af897fb8b38bb48663e8.png | Bin 1054 -> 0 bytes docs/img/0bef311ef1713ebb246577aeaaa012c3.png | Bin 14717 -> 0 bytes docs/img/0c549416181d6e18eb1dd34825b00425.png | Bin 2497 -> 0 bytes docs/img/0d0a16295f0edf554f921ffda49ff421.png | Bin 46818 -> 0 bytes docs/img/0d1089161431c5f21751458027d84535.png | Bin 6374 -> 0 bytes docs/img/0d1c10a8d14f11dd831b96878fc521e5.png | Bin 41629 -> 0 bytes docs/img/0d2f752f5d8c7352da5333f4f0d27835.png | Bin 24225 -> 0 bytes docs/img/0d3f7491de96f0f5d1d30a594ec42739.png | Bin 19122 -> 0 bytes docs/img/0d59f9135c1fed79a51921909516ef69.png | Bin 128533 -> 0 bytes docs/img/0d6a90afbcbb1f9414d4a9a8437e49f8.png | Bin 19852 -> 0 bytes docs/img/0dad61d266449688c931d1703509bca3.png | Bin 20643 -> 0 bytes docs/img/0dd0fc53dcaa34b76a16be18538c1a35.png | Bin 63426 -> 0 bytes docs/img/0df7602f630bb279bdd6d7dc6a5dcf2f.png | Bin 1584 -> 0 bytes docs/img/0e0e78d03e98ec2ac04952defaba83ff.png | Bin 5199 -> 0 bytes docs/img/0e2287fb4b32bf9dff45f3255ddd45fe.png | Bin 31374 -> 0 bytes docs/img/0e27f7f7b1dd7b6748365d5ea985238a.png | Bin 27841 -> 0 bytes docs/img/0f7aab3f307e6b54ebe4d00d94f1da0a.png | Bin 7831 -> 0 bytes docs/img/0f88b0e1a49600472f2922218cec1ed7.png | Bin 13089 -> 0 bytes docs/img/0fdd144a1493e4d21226f1b04a5d336a.png | Bin 65023 -> 0 bytes docs/img/0ff1ac0799b3b8867f4ebefa4e22d786.png | Bin 20932 -> 0 bytes docs/img/104374dd85800b346ef75734f6fd0b38.png | Bin 9120 -> 0 bytes docs/img/10fd27d874d8e6ace6b74801909782ae.png | Bin 4403 -> 0 bytes docs/img/114dc1abb6412aca14f3c3b6ad3048dc.png | Bin 24567 -> 0 bytes docs/img/1162f64da937aa1ef37877c6b8930e1e.png | Bin 36884 -> 0 bytes docs/img/1165fee2238c55848aeb09d59c76cf7b.png | Bin 11335 -> 0 bytes docs/img/11728974fe5385112311ab02ea56783e.png | Bin 19353 -> 0 bytes docs/img/11b32b9624ee5e827950dd6f126127d6.png | Bin 3561 -> 0 bytes docs/img/11f64bd49fd604a4644dd54ed7e423e8.png | Bin 366790 -> 0 bytes docs/img/12208c7d040cd738d51605b7fcb55237.png | Bin 19442 -> 0 bytes docs/img/12e557e74666b1c90827cdd5bfe4d87a.png | Bin 539 -> 0 bytes docs/img/136df5416c67f2d80606b4849658e289.png | Bin 710 -> 0 bytes docs/img/137ac74ffc45b0c50cf354baa972ca89.png | Bin 42870 -> 0 bytes docs/img/13b2b9b44dbf46de0243edc068ecab42.png | Bin 394 -> 0 bytes docs/img/13c910771ce7fad76e82ba7b8bdd440b.png | Bin 13629 -> 0 bytes docs/img/14110c067c5c98646bcad82dbd3be10b.png | Bin 8859 -> 0 bytes docs/img/1427a32ce32914c8100f7563817e3d64.png | Bin 5320 -> 0 bytes docs/img/149fa515778bea7ce86903f0c8d9b31f.png | Bin 6241 -> 0 bytes docs/img/14b1dcd13ed2d776e5cab726504e2df9.png | Bin 5119 -> 0 bytes docs/img/15b455cffa86c3a9234ad8c30082a4df.png | Bin 34197 -> 0 bytes docs/img/161780e2fab1ff78247b22985553ba96.png | Bin 74499 -> 0 bytes docs/img/169af1eb67d287048e2bd4de1d3a178a.png | Bin 18061 -> 0 bytes docs/img/16db6a809ddf03cf101fdbec905d41a2.png | Bin 178086 -> 0 bytes docs/img/16f0d7c3d19700b0e30aa6c1528acb91.png | Bin 716 -> 0 bytes docs/img/1780684b75826fc70c4f9d6a00cd9984.png | Bin 10009 -> 0 bytes docs/img/17abb300a15db5073a41bf8a13e53bc7.png | Bin 22629 -> 0 bytes docs/img/17d0ef7b105be8069a4258a758bd25bb.png | Bin 23208 -> 0 bytes docs/img/17e23e08ff33b405e039adae1f73cb83.png | Bin 671 -> 0 bytes docs/img/181ef05617eae83f93df5db5884cb3f2.png | Bin 36736 -> 0 bytes docs/img/182928c540d17ccf275438850fc7592d.png | Bin 14125 -> 0 bytes docs/img/184e7323733c8aa9331e3fbef102e17c.png | Bin 16040 -> 0 bytes docs/img/185cfb126a59b17e7d802717876f8725.png | Bin 202030 -> 0 bytes docs/img/1864a1996bbb1636d65648dd8b0857df.png | Bin 14541 -> 0 bytes docs/img/18f2b22b7daf0beab9074c6695c99960.png | Bin 134390 -> 0 bytes docs/img/191e4984d9e1aa615a86fec2b6d42dcd.png | Bin 6960 -> 0 bytes docs/img/1a097c142decf7d516165322a0f7b880.png | Bin 26005 -> 0 bytes docs/img/1a1b871d7e874d4f8e2ab4905d000509.png | Bin 23623 -> 0 bytes docs/img/1a3371a11e14e221f5c8e0e75e327d08.png | Bin 21193 -> 0 bytes docs/img/1a3f578f317c266ca4b5d61eb91d025b.png | Bin 74727 -> 0 bytes docs/img/1a5840885de676ed33d7cdb688b26a12.png | Bin 3290 -> 0 bytes docs/img/1ab2181cd0be5aa7d8e96f16a1348ef9.png | Bin 7722 -> 0 bytes docs/img/1b109b486c41c14a03eea4127cec2351.png | Bin 5591 -> 0 bytes docs/img/1b69e9fcb692fa835e9b7e06fa856aee.png | Bin 33589 -> 0 bytes docs/img/1b984d904256e7a325a4cc30bcf71ee1.png | Bin 7905 -> 0 bytes docs/img/1bb73cd8d699dd8fa617c328abafb76b.png | Bin 6896 -> 0 bytes docs/img/1bc92f79d9645e6ae51aff10100e5c0d.png | Bin 65608 -> 0 bytes docs/img/1bce7244cd585ee6d059a7aa1903f194.png | Bin 17447 -> 0 bytes docs/img/1be5fea51b824b103e9b5bac12136a90.png | Bin 4878 -> 0 bytes docs/img/1c1c9ba40bbb3c1ab789e70a4c4d42e6.png | Bin 1123 -> 0 bytes docs/img/1c4eef7cdb82fd840a9facad4ee93d6b.png | Bin 22126 -> 0 bytes docs/img/1c78b1078232f166ee3d03d64f2b3907.png | Bin 1854 -> 0 bytes docs/img/1c96e8d94988240b7dc68ae02dbea405.png | Bin 65438 -> 0 bytes docs/img/1d54aa31264e3f3b98ebf2049669f910.png | Bin 9903 -> 0 bytes docs/img/1d8faac0ce4cf1206b5c2745df725ca6.png | Bin 10338 -> 0 bytes docs/img/1d9bd6ef20c22f103a6d120b8c673b06.png | Bin 16559 -> 0 bytes docs/img/1dcfd40d9306c4cfb80013c0cebdcac0.png | Bin 16288 -> 0 bytes docs/img/1e0213e85ced3ac9dcc079f0e1831068.png | Bin 3825 -> 0 bytes docs/img/1e1a93a55568355165c7529b5326427b.png | Bin 209667 -> 0 bytes docs/img/1f5aad8fb69a4afb74547a2d31fcbc66.png | Bin 242543 -> 0 bytes docs/img/1fa927abbc0d78f64822dcc6c7295cd4.png | Bin 24299 -> 0 bytes docs/img/1fdfdef058a3092e25352089de97fee6.png | Bin 14046 -> 0 bytes docs/img/1ff79a3af1496b3e864efbcf5f93307f.png | Bin 9958 -> 0 bytes docs/img/2066156f84e498acec96cdfb63d2d2a4.png | Bin 52004 -> 0 bytes docs/img/206da14c2b9fd76390be58e7103b69c7.png | Bin 51562 -> 0 bytes docs/img/20bba5f798131b98df30aaa9202ccfd5.png | Bin 21587 -> 0 bytes docs/img/210e34a4dbdbe21aba5083c6f7dac9cb.png | Bin 31160 -> 0 bytes docs/img/212946086e16f591c716728308d49ca3.png | Bin 3477 -> 0 bytes docs/img/21967843cf3a12bcfa5e39a39b1b3f69.png | Bin 7280 -> 0 bytes docs/img/222aa4a1e09c2312446d0aa324c6f193.png | Bin 32156 -> 0 bytes docs/img/2257f7989872604ba6ce6506ba811b15.png | Bin 4641 -> 0 bytes docs/img/2279c6b38c41208a2726d04b0df15c37.png | Bin 1246 -> 0 bytes docs/img/2310ec0a03905adc0774d21079604b57.png | Bin 24633 -> 0 bytes docs/img/235fdd047e32990019bc08c92ced8299.png | Bin 9236 -> 0 bytes docs/img/23b032de89e1f1056b75bd7ad55823ea.png | Bin 7469 -> 0 bytes docs/img/243c1a9fc7dab75d6576c27470e73bf0.png | Bin 52199 -> 0 bytes docs/img/24ea9a3635dc27668b899d6785917b1b.png | Bin 2142 -> 0 bytes docs/img/252e40c4dc029a21eb939cb40f715d34.png | Bin 188467 -> 0 bytes docs/img/25892ec4aa99429a91c30ac3395379e0.png | Bin 8601 -> 0 bytes docs/img/261e6c6422bccbb978c24c0728f3a593.png | Bin 38450 -> 0 bytes docs/img/2629e4ef9252e4970d626ca424e88dd2.png | Bin 7285 -> 0 bytes docs/img/262e648fe4e99ca02b386ebade539097.png | Bin 6050 -> 0 bytes docs/img/264ee345c8d001f9b7cabf52e10f47bf.png | Bin 22959 -> 0 bytes docs/img/265f035427185c0998b05886114d104b.png | Bin 7478 -> 0 bytes docs/img/26b5d3ef6b515c199d6c860ac62a4671.png | Bin 3739 -> 0 bytes docs/img/276614fbc4ef7b7b9f7a445dffbc5691.png | Bin 44672 -> 0 bytes docs/img/27858125d0f3461e373b06413f40e616.png | Bin 37657 -> 0 bytes docs/img/279650b9e9c3ec26a7d6f0493bd5af7c.png | Bin 28332 -> 0 bytes docs/img/27b77c1cf5861234d7e06b742e7cbf58.png | Bin 3236 -> 0 bytes docs/img/27d6bf9eb64fd8e4298e7a2a8ae64983.png | Bin 24756 -> 0 bytes docs/img/27f5db1ffe5c715ccd311bccf93665f2.png | Bin 26530 -> 0 bytes docs/img/281606a988de9b8e23469c0de4e22062.png | Bin 69375 -> 0 bytes docs/img/2823aaef9502e47fb72734606099a98a.png | Bin 18080 -> 0 bytes docs/img/28300ad671ab6b5aec8525cb2a7af157.png | Bin 4419 -> 0 bytes docs/img/283011f90b0969b60cd202dd293525ca.png | Bin 6686 -> 0 bytes docs/img/284b72b1bfc8d5679fdaa384932b3b8c.png | Bin 7126 -> 0 bytes docs/img/28ba73ced40f830058c21c46c8291bfe.png | Bin 2602 -> 0 bytes docs/img/28e0f270ca5b3b728207d80c19a82d71.png | Bin 199213 -> 0 bytes docs/img/28ec7a2f016b77873dfadd5ab59c447b.png | Bin 3965 -> 0 bytes docs/img/2927b047cacec2945671ab2484aafe9d.png | Bin 136321 -> 0 bytes docs/img/2a301148b56e04c50113445dc7280c15.png | Bin 4893 -> 0 bytes docs/img/2a62cf1a17a5306e4d6cd91c30149941.png | Bin 58433 -> 0 bytes docs/img/2ae8145aa44498bcadafa3451ee343b1.png | Bin 12393 -> 0 bytes docs/img/2b38faa6a2c817e4d1b8b32f803db372.png | Bin 2414 -> 0 bytes docs/img/2b49f82a2ff96781b55685367813e6c9.png | Bin 7382 -> 0 bytes docs/img/2b66844a710706131349b467b399b449.png | Bin 23345 -> 0 bytes docs/img/2bb7640bbe66bec0d43070f6f4053758.png | Bin 8465 -> 0 bytes docs/img/2c7964b63403cf1f03ea9bdbfeee96cf.png | Bin 15284 -> 0 bytes docs/img/2c8994d4c86769ec5151192ff555b261.png | Bin 7412 -> 0 bytes docs/img/2d13f3059b88ccaf448646ed61f70d47.png | Bin 10002 -> 0 bytes docs/img/2d1845503f8ff90d4dc71459313e4e62.png | Bin 13310 -> 0 bytes docs/img/2dde5152cc249727c2d1016051d52131.png | Bin 1011 -> 0 bytes docs/img/2e1001a11cd343049b87ebf60a315e9f.png | Bin 3050 -> 0 bytes docs/img/2e2c36f66667fc52b3fb3681533dcef7.png | Bin 3062 -> 0 bytes docs/img/2ed1719eefb651778ccd248f0bbe577c.png | Bin 7520 -> 0 bytes docs/img/2f78c411d32ee05e95a1984ef90b2356.png | Bin 13029 -> 0 bytes docs/img/2f8e418a69825e31935272d55cceae7f.png | Bin 27675 -> 0 bytes docs/img/2fdc2024eee83764328fb015ffd4e392.png | Bin 5612 -> 0 bytes docs/img/2fe480e26b1b89b82607729986e5b13a.png | Bin 57800 -> 0 bytes docs/img/2fed535a429569e1ae792fb3960bcdd5.png | Bin 22338 -> 0 bytes docs/img/3001efd4ffb849af0c15eb8dda4d4050.png | Bin 17983 -> 0 bytes docs/img/30152366655be1543f687603c8d34d96.png | Bin 416183 -> 0 bytes docs/img/30460bec4b16c49e4f5d5ccc7ac92601.png | Bin 10174 -> 0 bytes docs/img/31396caea61831939862213abb8dd10c.png | Bin 20023 -> 0 bytes docs/img/317167b85f9604b741e71e57b1702b6c.png | Bin 4017 -> 0 bytes docs/img/31c7821d41281d527a8ee4f058bafaca.png | Bin 66900 -> 0 bytes docs/img/31d242e54217fe005ee1481fbb81c786.png | Bin 30209 -> 0 bytes docs/img/31f0a42465a379e152ef6c0c7a6395e9.png | Bin 24391 -> 0 bytes docs/img/31f8f986b27020e646540b9595d026cd.png | Bin 5947 -> 0 bytes docs/img/3252759837ced64a222db48c62becdd3.png | Bin 5996 -> 0 bytes docs/img/3281ef5fea53e2f0a57bb3c648aa7fa4.png | Bin 52085 -> 0 bytes docs/img/337891c1885c756f35968127a8050c21.png | Bin 31950 -> 0 bytes docs/img/33ae5f16a8ad7c683e894a2a3032cfa9.png | Bin 30674 -> 0 bytes docs/img/33c514aefa1ff87fe18907b27d473e03.png | Bin 55491 -> 0 bytes docs/img/33cc6d96a283a4f1b3cc5b27da9fd1c4.png | Bin 24018 -> 0 bytes docs/img/33da6433c882c8bcc4c699a4e0008b7c.png | Bin 15436 -> 0 bytes docs/img/3444bd33319e0b2d996233cf9e1103c5.png | Bin 4567 -> 0 bytes docs/img/3478cae6da4e529f7c9cf2f4e71dd462.png | Bin 6212 -> 0 bytes docs/img/35460a8c847cde5f9e477c80231d7f8b.png | Bin 6953 -> 0 bytes docs/img/35b66299a79c8b3212bf8fbb00e9c903.png | Bin 16215 -> 0 bytes docs/img/35e89eba4dfc37f409cb295b0c8b13d1.png | Bin 209585 -> 0 bytes docs/img/35fbd0a23d3b20913cb4490a3957d8b3.png | Bin 18831 -> 0 bytes docs/img/3601605e24186a1976e7aff09112bb7e.png | Bin 41043 -> 0 bytes docs/img/3636c78ef6cb3ccc1462dd451c7f3efc.png | Bin 16692 -> 0 bytes docs/img/3667bc1901823963df25df8a2458047a.png | Bin 1557 -> 0 bytes docs/img/366832d79f753b4e66470fa923fa7acf.png | Bin 2075 -> 0 bytes docs/img/3694fc45636610ba5fb4e24d7a9eb3b9.png | Bin 5127 -> 0 bytes docs/img/36aa502eb297ed552d82e3b015053e9e.png | Bin 18322 -> 0 bytes docs/img/36abd47af07b3b82f814e74be4619b4d.png | Bin 4877 -> 0 bytes docs/img/36d97eaa1e64c3f6d5b78d205d1ce881.png | Bin 11451 -> 0 bytes docs/img/370ac43323901b08b905644b04f6a802.png | Bin 13277 -> 0 bytes docs/img/371d1ca1640afbd824acc19b18bc40c9.png | Bin 13350 -> 0 bytes docs/img/37238acd557de0d61f0c3be198c56e00.png | Bin 1752 -> 0 bytes docs/img/3794ce06aeeb9528fa1a66915cc69072.png | Bin 8048 -> 0 bytes docs/img/379bd77b46dd7f0617bc273a203c9a29.png | Bin 8242 -> 0 bytes docs/img/37cb6e38ded4ec606f9bc7776f765e70.png | Bin 4916 -> 0 bytes docs/img/381000c5f5c6ad01300dfcc889f7fb0f.png | Bin 11175 -> 0 bytes docs/img/381cb6fd4ceed7b2a8b3642926cb8cf2.png | Bin 2640 -> 0 bytes docs/img/3863add8513c90ad786112f7a200a568.png | Bin 8174 -> 0 bytes docs/img/3887423740965d20eecf9471bc1b3061.png | Bin 23988 -> 0 bytes docs/img/38c073cc1c78dc88bf317e878e9995cc.png | Bin 24458 -> 0 bytes docs/img/38d4db85b589523cbab105da53e5fb09.png | Bin 6001 -> 0 bytes docs/img/38ef5bf427869fe9b1050db6eacd2972.png | Bin 4621 -> 0 bytes docs/img/393dab24a6c8be1031a4cf469f3039e9.png | Bin 11994 -> 0 bytes docs/img/39b4809628ba97edb93621d6eefa5135.png | Bin 3462 -> 0 bytes docs/img/3a328cbf9c83e567fa5921d3580a84cb.png | Bin 17706 -> 0 bytes docs/img/3b13f587681dd3391c82eb9b650ff6cf.png | Bin 20738 -> 0 bytes docs/img/3b33bfa40900241891ce4c916e441a22.png | Bin 22916 -> 0 bytes docs/img/3b3e644f832753a09f245236299e74b2.png | Bin 3329 -> 0 bytes docs/img/3b8b0bcac599d7207d90ed8194bed83e.png | Bin 12005 -> 0 bytes docs/img/3c9cb466046f19c70255f0de753a307c.png | Bin 46838 -> 0 bytes docs/img/3ca3bc9234ff248b19d9555bb5f1cff4.png | Bin 20311 -> 0 bytes docs/img/3d8b21038a5aa14baa75dc65de55d728.png | Bin 8499 -> 0 bytes docs/img/3da5d65194b00f9dc3ffde2ac5f8473b.png | Bin 7492 -> 0 bytes docs/img/3e0f74f35030a15b593a12090d5c0daf.png | Bin 13767 -> 0 bytes docs/img/3e903eab58c2b1ac777ef30adf3bd44e.png | Bin 4432 -> 0 bytes docs/img/3ed7ccf7499687536cf254fc6f47d5e7.png | Bin 9887 -> 0 bytes docs/img/3f64ac42c5324a759f292fa0f7e4d991.png | Bin 25217 -> 0 bytes docs/img/40834a63780a362f429e1902450a4a7a.png | Bin 12270 -> 0 bytes docs/img/40cd53294c496a4d049d735386c16649.png | Bin 170308 -> 0 bytes docs/img/40dbd9d2f1f965f42a1c417a258da575.png | Bin 130072 -> 0 bytes docs/img/41371f9efeaf03eb888ba8e19a486185.png | Bin 13603 -> 0 bytes docs/img/41571e3a155c671e6ff9f259f20fdeed.png | Bin 5464 -> 0 bytes docs/img/423e566cce1da11ef163c69219f870aa.png | Bin 124760 -> 0 bytes docs/img/423fb353db83bd90502f2f029c398e43.png | Bin 16001 -> 0 bytes docs/img/429e9751a8b0336bb8b7e3faab15a373.png | Bin 5035 -> 0 bytes docs/img/439a9c21f68de25b8a16d0d0a28d19be.png | Bin 12066 -> 0 bytes docs/img/43a1d5a081bb166e1d43d6e671f250e1.png | Bin 5317 -> 0 bytes docs/img/43c1d4f646051452c436962222af114b.png | Bin 59655 -> 0 bytes docs/img/4401376aa4e3f3764851b2dbb25f6f2e.png | Bin 15359 -> 0 bytes docs/img/441419241245b159818b469c6508f227.png | Bin 3460 -> 0 bytes docs/img/44be1cce97f886ea1f1c93950d764041.png | Bin 18868 -> 0 bytes docs/img/44cad341f814ae94da18480c3dc1d2be.png | Bin 45843 -> 0 bytes docs/img/44dfa1e85103f88c82598a4ef9f8d0ae.png | Bin 710737 -> 0 bytes docs/img/45586bacf83042f9bfcdb01d5576fe3c.png | 1 - docs/img/45974f94466502ace734ecc3473a0d58.png | Bin 3028 -> 0 bytes docs/img/45c66aeb387e650cfe717047d1b78263.png | Bin 20158 -> 0 bytes docs/img/45cb073d466ec4a6fcb5a09d7f5f204c.png | Bin 8292 -> 0 bytes docs/img/45cc34490ebcb0a656d7c57d3dcbbb00.png | Bin 3200 -> 0 bytes docs/img/46322215ec68c4896b6b622f9f1ad11e.png | Bin 19269 -> 0 bytes docs/img/4635aba96009dfb3ab93ab6f4b92ee4c.png | Bin 5827 -> 0 bytes docs/img/468eb44e935f615292705e2fc013ddb7.png | Bin 10639 -> 0 bytes docs/img/471bcfe6a44b22703662997289b517c9.png | Bin 3025 -> 0 bytes docs/img/47c6e09feffe93d1d9f758d50837b31b.png | Bin 6181 -> 0 bytes docs/img/481f18ff2e4575d1c38d4c93631bd23c.png | Bin 5922 -> 0 bytes docs/img/482b8e23d226428516ae20fae41ca7cf.png | Bin 9378 -> 0 bytes docs/img/48482b1410caf250f0257d772e55c544.png | Bin 10513 -> 0 bytes docs/img/486761bb835c9408dac03956a04b3a53.png | Bin 68273 -> 0 bytes docs/img/49588b733704d134418744f910f7809b.png | Bin 15248 -> 0 bytes docs/img/49d46d08d1ca6c3cd3d0b0ef98472512.png | Bin 288 -> 0 bytes docs/img/4a007f26d24f09e03b3bb388bd94ae30.png | Bin 9836 -> 0 bytes docs/img/4a3c28657f884da12667bc861ea60e0c.png | Bin 33785 -> 0 bytes docs/img/4a7c845c8d7b28d90af5923b08fb1e1d.png | Bin 27363 -> 0 bytes docs/img/4ab2d185d65e76a0d58ad6564dff777a.png | Bin 74282 -> 0 bytes docs/img/4b690260474eb340f7b3f6d25b0568d2.png | Bin 4468 -> 0 bytes docs/img/4b803fd891a7ec7f422522d2ff185864.png | Bin 5320 -> 0 bytes docs/img/4c0cef07da8190af4f517bd8d336cb5b.png | Bin 25917 -> 0 bytes docs/img/4c34240e5c09caa62a018e3d109c1ba3.png | Bin 16805 -> 0 bytes docs/img/4c6172d095020a91bcf8d48c85ee4d1d.png | Bin 3584 -> 0 bytes docs/img/4ceccc7ae590a56e8b135fa8baaafabe.png | Bin 15865 -> 0 bytes docs/img/4d2f841f1dee2bdbbdcd14bd5518c000.png | Bin 181805 -> 0 bytes docs/img/4d5fab6dd3f65351ba798d87517db0bd.png | Bin 4225 -> 0 bytes docs/img/4d9fbb6b23cf91f72dd201cf3a52f475.png | Bin 10653 -> 0 bytes docs/img/4e0797b4100df465293bf0c8f24a097b.png | Bin 10711 -> 0 bytes docs/img/4e480a29eb679b62ed97f748fc9acdd7.png | Bin 11602 -> 0 bytes docs/img/4e86bb665dcf8b8997d807441dbd60cd.png | Bin 10320 -> 0 bytes docs/img/4e980984ef171e4c624f56ebeb3277c7.png | Bin 949 -> 0 bytes docs/img/4f0a47acf91c1135738d76e1c06eec3a.png | Bin 53687 -> 0 bytes docs/img/4f9a7d54cb4f539c606eaef8fd65b8ed.png | Bin 26911 -> 0 bytes docs/img/4feb8b1885ea3a6c0945d7d32d15e8ff.png | Bin 12665 -> 0 bytes docs/img/4ffe26c8f949643669a5c295958616cf.png | Bin 5529 -> 0 bytes docs/img/5016b6014148674f85d6fdba7bc5bb5e.png | Bin 5942 -> 0 bytes docs/img/50ab118d473b61d3d08773d6ea65a8ac.png | Bin 18562 -> 0 bytes docs/img/50ffc4ae0babeef44a73e82cfe49bb30.png | Bin 5206 -> 0 bytes docs/img/510cd4b11aa5f23be76d594a9ad782d6.png | Bin 11084 -> 0 bytes docs/img/5113c12752dd029f29a28c6f0660cde1.png | Bin 13076 -> 0 bytes docs/img/51192310b3785dec5f60b6d59717a7a6.png | Bin 21940 -> 0 bytes docs/img/517f5b10646cf257d0fd0413cb54c3e9.png | Bin 2728 -> 0 bytes docs/img/51902d01ed097ad499a4e6eb984d3e86.png | Bin 3624 -> 0 bytes docs/img/51e7561422b1e74237ea14e916cffc78.png | Bin 4454 -> 0 bytes docs/img/5262199c26e59a11bfa467901c29122a.png | Bin 13506 -> 0 bytes docs/img/529405d6cc5cbeb813be69b57b0e45b1.png | Bin 57681 -> 0 bytes docs/img/52c8f25cfabbe64b4ed7e579d9a27e4a.png | Bin 21639 -> 0 bytes docs/img/52f1314a06269a0dc317f758c8e8cdab.png | Bin 14558 -> 0 bytes docs/img/52fecb33c2f168630e9a8f7c95aaf517.png | Bin 2131 -> 0 bytes docs/img/53056397d59c4378696296d359f20adc.png | Bin 1308 -> 0 bytes docs/img/53bcd8c2d2c69aceb7db6677802be6b1.png | Bin 74815 -> 0 bytes docs/img/53dc09446080b42329a76d4ecbb64aa3.png | Bin 69476 -> 0 bytes docs/img/544adf1331ba8dc0c6391bf07ba6df8c.png | Bin 7950 -> 0 bytes docs/img/5460742929164e737a1b4c1990b75fc3.png | Bin 1890 -> 0 bytes docs/img/5574e9e4660196e59606fe9d673097b7.png | Bin 3080 -> 0 bytes docs/img/557f2cc00416c6f64286e93532f50121.png | Bin 1840 -> 0 bytes docs/img/55c6a94e74c9a00da3a400ae60e3bf41.png | Bin 43088 -> 0 bytes docs/img/56321b27a391110651e26fae3d93064e.png | Bin 4066 -> 0 bytes docs/img/5653420f4acd0e8a49be80d5d413bd10.png | Bin 40169 -> 0 bytes docs/img/5665233091dd783791b6dd32107e61ec.png | Bin 4069 -> 0 bytes docs/img/56b25600afa13ee05e76062ab09ee470.png | Bin 22112 -> 0 bytes docs/img/56c21932bdeb67b5407d18238e8ec7f3.png | Bin 30527 -> 0 bytes docs/img/56d89ff1e02ecf30404a57092adae96d.png | Bin 55395 -> 0 bytes docs/img/56eeecad0f9627fae21bc6b196391ba7.png | Bin 1944 -> 0 bytes docs/img/572645049ee5ab43733f62fc45312843.png | Bin 3062 -> 0 bytes docs/img/57b0d20488fb6cdd9ed2e8f573fcb7bb.png | Bin 40803 -> 0 bytes docs/img/5844f1567aec337f6ba990bc855c348a.png | Bin 6510 -> 0 bytes docs/img/5881da97228cb042e5934f836edfd06c.png | Bin 79564 -> 0 bytes docs/img/590715bab1c8704d5a4c16437c011ed5.png | Bin 18171 -> 0 bytes docs/img/596a395127f6b3d5c9d1deac3f676680.png | Bin 16691 -> 0 bytes docs/img/599297cd25b4f282b1340e8e61e2e087.png | Bin 11643 -> 0 bytes docs/img/5a2430ba8091036f8e9e3308aa845de8.png | Bin 17645 -> 0 bytes docs/img/5a26f77375b52645c2387aec1f77a777.png | Bin 12158 -> 0 bytes docs/img/5b2694c5d35f9fdb42b43bb1f38ec29c.png | Bin 102069 -> 0 bytes docs/img/5b8558c08a5996468dcd0d1a119ac76b.png | Bin 51096 -> 0 bytes docs/img/5bf127e31dfc7f61e3134780f75114ff.png | Bin 28786 -> 0 bytes docs/img/5c0acf7979c7bc1e89dc413017b70870.png | Bin 12352 -> 0 bytes docs/img/5d1d35707b32fd37e1e218e8b1df1771.png | Bin 6442 -> 0 bytes docs/img/5d200a6bcc883fcfa57dac51301bc2e3.png | Bin 32731 -> 0 bytes docs/img/5d98850d2ad30c43029645c8c0486059.png | Bin 22211 -> 0 bytes docs/img/5dd66b504685d06e7b88c8f8a71d39ba.png | Bin 10745 -> 0 bytes docs/img/5e2e81b44d67af322056491cf32bb8da.png | Bin 5442 -> 0 bytes docs/img/5e3cf2019e5c2c58b6dd5868fffb9e81.png | Bin 11471 -> 0 bytes docs/img/5e63fee9a28bb3e02eb772646de82b5c.png | Bin 12414 -> 0 bytes docs/img/5e9b34b344fc5f08d74d5156c419f471.png | Bin 6323 -> 0 bytes docs/img/5ec08a62b534de16956701e85c41e6b5.png | Bin 19910 -> 0 bytes docs/img/5f13fe556b8940c2e698facdc219d16a.png | Bin 30878 -> 0 bytes docs/img/5f3552f35a06cac8dfa02c21fd48c852.png | Bin 20111 -> 0 bytes docs/img/5f6c85f0240f3ec56519dde74a715dba.png | Bin 10398 -> 0 bytes docs/img/5f87ce250e2ea1a803a3aeda446eca15.png | Bin 25495 -> 0 bytes docs/img/604dc2f6326d049dca30995958a84ad2.png | Bin 4765 -> 0 bytes docs/img/60958029f56e4c49c6a21082ea151191.png | Bin 12087 -> 0 bytes docs/img/611650a65dd2baf63b32d99fbe8e4a8a.png | Bin 4885 -> 0 bytes docs/img/618ce3d47266d9b45262489065b68cf7.png | Bin 21353 -> 0 bytes docs/img/618f6f4ba2a434609a1a9de7a9725e49.png | Bin 36364 -> 0 bytes docs/img/61dd95f1efb048c48f6ab843e79120d0.png | Bin 26880 -> 0 bytes docs/img/62073039b38c0dfa370251cfe07ca5e5.png | Bin 52307 -> 0 bytes docs/img/6224c1a367d53cc7bb5c5536af96ec6e.png | Bin 4320 -> 0 bytes docs/img/62313a9f27e05c60c700ec9625e27d02.png | Bin 13544 -> 0 bytes docs/img/6261dd255633edf09ab3d7245ccaf2c1.png | Bin 71140 -> 0 bytes docs/img/62b879dea0345cb8767d9cd4fb041f97.png | Bin 44338 -> 0 bytes docs/img/62d2b5c8435d31dff0a7fc689c288e8c.png | Bin 21743 -> 0 bytes docs/img/6314765d395236bbba1552cc65c1228c.png | Bin 60289 -> 0 bytes docs/img/631b8ad9816cfdd87ba106377c86c7a4.png | Bin 98624 -> 0 bytes docs/img/640bc8c28d8cd3035fbe0c4c1018d2d1.png | Bin 17267 -> 0 bytes docs/img/6427e1b107996a8eb9c401e1aa76bf87.png | Bin 64881 -> 0 bytes docs/img/645965e7ebb61697ff42cc06214ca5af.png | Bin 52880 -> 0 bytes docs/img/64d10619e1633359be63480f18d60b90.png | Bin 29869 -> 0 bytes docs/img/655bbae75a3608d2016397c70682f7d4.png | Bin 17017 -> 0 bytes docs/img/6564cc179b8bafb5577b9762c905010c.png | Bin 8236 -> 0 bytes docs/img/65770b50cd2119e84c6a852b44cf403d.png | Bin 109906 -> 0 bytes docs/img/659964d0e0d080d80881d6eb74aaaf7e.png | Bin 5711 -> 0 bytes docs/img/662e9b0c090a4f28c82eb779aabdc9c8.png | Bin 14212 -> 0 bytes docs/img/669c2de32e70a30ad93c28d4afd41491.png | Bin 35508 -> 0 bytes docs/img/66a70133eaa2327dce4cd61c485afcdb.png | Bin 8385 -> 0 bytes docs/img/66e7cbbe98ed69a6154c1adcd7ec4f6e.png | Bin 4567 -> 0 bytes docs/img/671787cdf6cd1dde3e748fae72d46779.png | Bin 6706 -> 0 bytes docs/img/674c1579957cca4a644bc90fb8fbb2f3.png | Bin 47983 -> 0 bytes docs/img/676537e7ead1101c5c0668a2adbc08d5.png | Bin 45677 -> 0 bytes docs/img/677d8f883392679f3fba97024a259665.png | Bin 12726 -> 0 bytes docs/img/67f7d8117f3d6bf60fe4d5e03bca7b6e.png | Bin 8350 -> 0 bytes docs/img/6809ef73be513357f41ebe6d325265d5.png | Bin 29369 -> 0 bytes docs/img/6867e53bf251ef0cb0e190c2e702d188.png | Bin 4633 -> 0 bytes docs/img/69a8b09a09599e563d1796eac13f945e.png | 36 - docs/img/6a23362ee367dd144c2c8ea315b8dde0.png | Bin 2659 -> 0 bytes docs/img/6a2d24148988c584ff47ac7c526b48ff.png | Bin 13869 -> 0 bytes docs/img/6a33d33154553990ed15338a6f9c7b35.png | Bin 2504 -> 0 bytes docs/img/6ad15d363481e18f443e6709fc8d1368.png | Bin 13321 -> 0 bytes docs/img/6b48060a3ef4c055e75a74e6a396ebb9.png | Bin 7927 -> 0 bytes docs/img/6b5837eb8878551d4881e94247d957e9.png | Bin 10942 -> 0 bytes docs/img/6c431eb1e4bc729eceb4a6a36f0ea6b0.png | Bin 6162 -> 0 bytes docs/img/6cad1c326921f33ce6d53e7f2ebd1158.png | Bin 5800 -> 0 bytes docs/img/6d49650d7eab0173612011fa6d81dc4e.png | Bin 5826 -> 0 bytes docs/img/6de450be845a1f48a3feae9ce8e7be6e.png | Bin 13606 -> 0 bytes docs/img/6deba2d9890a294d17564cce39fcbaef.png | Bin 19681 -> 0 bytes docs/img/6dffd31bb67148d85ebfccbfc20abfd8.png | Bin 19317 -> 0 bytes docs/img/6e17896087b8446f53400a1c8d39c0d6.png | Bin 3071 -> 0 bytes docs/img/6e3e1e9c7013cd330bcb6380ef19ddf9.png | Bin 5526 -> 0 bytes docs/img/6ea99225391da160a92dd9fd1fb01cd7.png | Bin 28817 -> 0 bytes docs/img/6f52527c138db466f7fba27994ad67f8.png | Bin 9002 -> 0 bytes docs/img/70117ebf119dd375e0def463921cc363.png | Bin 8892 -> 0 bytes docs/img/7042e9f430cefb3a9c62194cec839692.png | Bin 20704 -> 0 bytes docs/img/705d87c5c620f8ade251682fceb074e3.png | Bin 15072 -> 0 bytes docs/img/70c613da170fdfd7665282f16becad56.png | Bin 9598 -> 0 bytes docs/img/7151cdf5255313b82b775852ed2aef73.png | Bin 13837 -> 0 bytes docs/img/71c2f22b2aef83c58870637723d6f7ef.png | Bin 46986 -> 0 bytes docs/img/72431eb6b6fe2dd27e2f6f9be7d91672.png | Bin 14994 -> 0 bytes docs/img/729f4c6815c7118c098b6925f2375918.png | Bin 6288 -> 0 bytes docs/img/72a8c3cb5bafa1e02d93f68a624b6094.png | Bin 13982 -> 0 bytes docs/img/72befe6a3da1a58465dbf55200aefd26.png | Bin 22569 -> 0 bytes docs/img/731943edb4428a3eb27c86d8d454d0e0.png | Bin 44547 -> 0 bytes docs/img/7355fc1627be101cc5ed59387d36b6a3.png | Bin 3144 -> 0 bytes docs/img/7356a350b6fac674fc341d110380f723.png | Bin 7746 -> 0 bytes docs/img/738413ec37e13f47706eeda5de3b9dfb.png | Bin 13352 -> 0 bytes docs/img/74017afb9b6459aed36b4c4a53df62e9.png | Bin 4924 -> 0 bytes docs/img/743ce9a40d40e900e957589a9024f116.png | Bin 30677 -> 0 bytes docs/img/74f87e79779a102e82a644227e50a2e4.png | Bin 34757 -> 0 bytes docs/img/75ca9285f50e058d4d85796b4d0b8e69.png | Bin 18730 -> 0 bytes docs/img/75ff7ad133721fa954b7960ba4edc025.png | Bin 6843 -> 0 bytes docs/img/75ffde23ab0100e58532632d19b84db0.png | Bin 60268 -> 0 bytes docs/img/768ab05f8c35931c200b6da1f8d92352.png | Bin 26163 -> 0 bytes docs/img/7710cb575c3aefd0769c3f6aadb6e879.png | Bin 695 -> 0 bytes docs/img/771e5d2c3cbeba5811f78938b976dfdf.png | Bin 27325 -> 0 bytes docs/img/7727ed12caef6b761b73e4bd379c7839.png | Bin 11175 -> 0 bytes docs/img/773702223af81c9872bccd88d63ad3a5.png | Bin 630 -> 0 bytes docs/img/77707dedee5c3b669fd992a327698362.png | Bin 3144 -> 0 bytes docs/img/7775f0c2ba5f85e61aae351b9939cdf2.png | Bin 1494 -> 0 bytes docs/img/77a2b247e60ad05b022cfd3f3a62c069.png | Bin 9662 -> 0 bytes docs/img/78801b2f265bdecdb7a5ff7e8be47802.png | Bin 9374 -> 0 bytes docs/img/7887f58c141f9c2e749a75158e430ac6.png | Bin 116088 -> 0 bytes docs/img/788efc08015bf62f608d47f16b49b4d7.png | Bin 2912 -> 0 bytes docs/img/7896b9b275d92d4b9cb2001cc464e509.png | Bin 35712 -> 0 bytes docs/img/78dac22706dcca5ce3855d23987289ea.png | Bin 28706 -> 0 bytes docs/img/793399d61e9710ebd809bd4c52901d68.png | Bin 9044 -> 0 bytes docs/img/7a0180479e056fe1c4aa11c3e8684906.png | Bin 14743 -> 0 bytes docs/img/7a0b5b2ee322d8676753d89561c1d3cb.png | Bin 45720 -> 0 bytes docs/img/7a1046341466c144b96bc573f0a16114.png | Bin 33383 -> 0 bytes docs/img/7a4195dce33a791e39b721499e4137ad.png | Bin 19872 -> 0 bytes docs/img/7a5996be0f8e75beb29e443470d79ee6.png | Bin 30169 -> 0 bytes docs/img/7a5c28bfcfa2942d75aaace7ccb281ce.png | Bin 6087 -> 0 bytes docs/img/7a612dcc3c18a6e6433eb5a57a99368d.png | Bin 83241 -> 0 bytes docs/img/7a9e6a406ba2eb40638f2b43024b368b.png | Bin 87543 -> 0 bytes docs/img/7ac2e224cec000f3932b1186bc1d643f.png | Bin 9990 -> 0 bytes docs/img/7b1af71091089deb54dbd357d9679d9c.png | Bin 10218 -> 0 bytes docs/img/7b7c08f411e1307c05a834071bccb610.png | Bin 45193 -> 0 bytes docs/img/7bcf8d15daa1fb25935d7638acd8eb43.png | Bin 7410 -> 0 bytes docs/img/7cc97c84798f08bc78608f1afa423aa2.png | Bin 5634 -> 0 bytes docs/img/7cfe14b5f606095866af7260c844d4e2.png | Bin 11016 -> 0 bytes docs/img/7d05273dffbd24f67285426b02a19ddc.png | Bin 16483 -> 0 bytes docs/img/7d08a10bdee492162fdb554fb3033f0d.png | Bin 32654 -> 0 bytes docs/img/7dc58177067caac48605788b7932d846.png | Bin 21811 -> 0 bytes docs/img/7ddc19b18c20bfa78acb7fe9dd2ede4b.png | Bin 13488 -> 0 bytes docs/img/7e5039b0d8fb74c5ea813e354f23493e.png | Bin 10595 -> 0 bytes docs/img/7ebc386f852ada24782fd3b7e5dd226e.png | Bin 31049 -> 0 bytes docs/img/7efae901a0febb2a8e969415dced271a.png | Bin 97194 -> 0 bytes docs/img/7f1a1847005ab07ba8259a9e67005213.png | Bin 12416 -> 0 bytes docs/img/7f8f5e942a32629817a87b08e33d9071.png | Bin 1774 -> 0 bytes docs/img/7fb24fed9f39dcdabb530523bcb8dc08.png | Bin 11284 -> 0 bytes docs/img/7ff67c276870da733a9bc04b2aa9d969.png | Bin 34392 -> 0 bytes docs/img/8013884e699eb543397343ba53b7f107.png | Bin 6501 -> 0 bytes docs/img/801adc20d157f18e08adbd379180f3c7.png | Bin 207099 -> 0 bytes docs/img/8069500bf085102224933129529dfa12.png | Bin 19932 -> 0 bytes docs/img/806d03909b4b194f095b4c69e175868d.png | Bin 3211 -> 0 bytes docs/img/8095440bd29d634de897ae56f76a4969.png | Bin 68064 -> 0 bytes docs/img/80a62bce7846a67c7743ef7324a58757.png | Bin 43176 -> 0 bytes docs/img/80a9fe0374f84134fa2b40172431604d.png | Bin 49518 -> 0 bytes docs/img/813cda0881e353d15eed9ca9417104f1.png | Bin 31182 -> 0 bytes docs/img/813e077e7aa22bb747b5f237984f1b22.png | Bin 1508 -> 0 bytes docs/img/81b83780f68abcbb32edb1eb48002a4d.png | Bin 7023 -> 0 bytes docs/img/81c888ba61ab652f9505d5b51406ed22.png | Bin 15741 -> 0 bytes docs/img/81cb03504811f2ae5f008de13366a1db.png | Bin 11875 -> 0 bytes docs/img/81fe297de1dccaedd3340735454273bc.png | Bin 41257 -> 0 bytes docs/img/8201105b83669750c4d60036b41f6c6d.png | Bin 2987 -> 0 bytes docs/img/8215c374294289cd2bd24399439403fd.png | Bin 4225 -> 0 bytes docs/img/82c2caa32c2aff60b744c3ede8725ac9.png | Bin 8621 -> 0 bytes docs/img/8308fbab7a41e24cad0bf6c358863ae3.png | Bin 13803 -> 0 bytes docs/img/8375b8805ee35febb22389954e463cb3.png | Bin 21841 -> 0 bytes docs/img/838245c530d1afaf54929d9edd3f6a24.png | Bin 19939 -> 0 bytes docs/img/83a4859fc1c1d9fc2ea68819a53eaea8.png | Bin 6030 -> 0 bytes docs/img/83da8fe833233875ee4fe28fa21eb1dd.png | Bin 103598 -> 0 bytes docs/img/8465cc4b8bf68fad2a64c9fc838c7939.png | Bin 45154 -> 0 bytes docs/img/8489a6c45ad75964ea7b4b54b9d9fcaa.png | Bin 189409 -> 0 bytes docs/img/85055487485aff8bd5dc0cf97f711d52.png | Bin 7572 -> 0 bytes docs/img/854d722d9976d5b36956ddbe41ceae48.png | Bin 54481 -> 0 bytes docs/img/85b07bb9804f9dd3c4e3edfc1e562f31.png | Bin 7117 -> 0 bytes docs/img/865329b4b113d6de44cf382bd77178fa.png | Bin 60960 -> 0 bytes docs/img/865915f0e39a0035ffc91de736f5a047.png | Bin 19073 -> 0 bytes docs/img/86614ecfb76f8a91344d98d3effa7d2a.png | Bin 4242 -> 0 bytes docs/img/86738432aa05c0c68fffb68c00788fa4.png | Bin 14160 -> 0 bytes docs/img/86b62f200c6aa129ed945d20ec0fbfa2.png | Bin 6323 -> 0 bytes docs/img/86c94810add9e77037bd8a135ef2b972.png | Bin 12716 -> 0 bytes docs/img/874270632cfad28b99af65b5d0275fee.png | Bin 3051 -> 0 bytes docs/img/878c3488cf7403499b80fcd402198e32.png | Bin 11994 -> 0 bytes docs/img/87be547831d2207399009a0f9dd4b91a.png | Bin 8155 -> 0 bytes docs/img/8855ae33dbb80420649c523afdf3fe8b.png | Bin 46593 -> 0 bytes docs/img/89c2a0a388333182ff39563629933a87.png | Bin 19267 -> 0 bytes docs/img/8a05f3552d23f56607411f613a5ceb05.png | Bin 43787 -> 0 bytes docs/img/8a2c3991978374372fe0370f27f4fad4.png | Bin 56415 -> 0 bytes docs/img/8a4af39c416005af074623092e32d782.png | Bin 23822 -> 0 bytes docs/img/8a56e678752a9bd9def98422dee92f3e.png | Bin 1977 -> 0 bytes docs/img/8a6c0fc733a099005b7f7f9bcfbfe2ff.png | Bin 3440 -> 0 bytes docs/img/8ab62c2dee9f26abae9b7f794b4f5fae.png | Bin 5456 -> 0 bytes docs/img/8c47dc71d95554edf7da34adb5acc575.png | Bin 10333 -> 0 bytes docs/img/8c80632a58ede646cb8f2046924a504a.png | Bin 30570 -> 0 bytes docs/img/8cebf5d928a8666adcfc25eccfeec89e.png | Bin 12041 -> 0 bytes docs/img/8d249dc6a1ff208c520bfc8cad423a4a.png | Bin 37388 -> 0 bytes docs/img/8d66587fae4dab1dca05f85389caa499.png | Bin 85615 -> 0 bytes docs/img/8db9ef3ba0d1153ab46b990e98372677.png | Bin 48944 -> 0 bytes docs/img/8e301ace1928e93f6138075596994c18.png | Bin 14077 -> 0 bytes docs/img/8e5585152d153d9f1f4073f0cddba269.png | 36 - docs/img/8ec36cbe2f746b6b6cc0d28e1620899a.png | Bin 4229 -> 0 bytes docs/img/8edd1cbf476ddc76f3df25fdeff8b55c.png | Bin 284423 -> 0 bytes docs/img/8f07bae8fce74cd6b8276b7dd9e59c2e.png | Bin 8434 -> 0 bytes docs/img/8f8d204a16e9c896b01a62220529b921.png | Bin 12183 -> 0 bytes docs/img/8fc9989164e038f62ee1015c2f477d84.png | Bin 7385 -> 0 bytes docs/img/906ca69aaf7c7a7f53479eb595f83ec0.png | Bin 63363 -> 0 bytes docs/img/9079254cc7f9fbc13ee5005765608b59.png | Bin 16412 -> 0 bytes docs/img/909d20c0dd57155c8ac404a81c2a30cb.png | Bin 7270 -> 0 bytes docs/img/90bcd1f29936328bfb5d344868b8bb81.png | Bin 29477 -> 0 bytes docs/img/9101937463fa0be989f93d09d9f54d7a.png | Bin 8948 -> 0 bytes docs/img/911c6aa51b9202fc3dc3bdc143b30f82.png | Bin 15708 -> 0 bytes docs/img/9121e1772146daa5a3259be82cde8902.png | Bin 4376 -> 0 bytes docs/img/9149638f26311ced385bcc879401a8fd.png | Bin 7304 -> 0 bytes docs/img/91abd5be225ec3a5c131075cce857fb8.png | Bin 1360 -> 0 bytes docs/img/9246e597493024c10e4f678f7de7318e.png | Bin 1609 -> 0 bytes docs/img/9255a795b62eb0bbe1c91eab2f85c149.png | Bin 52098 -> 0 bytes docs/img/92601175945fcac1aee644fd449e9adf.png | Bin 17332 -> 0 bytes docs/img/9443fbb9f077bc7be6beb1486c392c96.png | Bin 29818 -> 0 bytes docs/img/94675a32947787d4e216a44e3047d0b5.png | Bin 4237 -> 0 bytes docs/img/94b9b90ebfb15979835f3e48d710cb45.png | Bin 2198 -> 0 bytes docs/img/94be136c7407855701b88eaded7db929.png | Bin 47419 -> 0 bytes docs/img/9570df3750a76ee8a88eddb48512daa3.png | Bin 25478 -> 0 bytes docs/img/95882a4976be6b95971ad0011fcd7617.png | Bin 11969 -> 0 bytes docs/img/95c0b87af108caee2a239482aec61675.png | Bin 40490 -> 0 bytes docs/img/95cf4cb85bf824cf0817d4d93d93934d.png | Bin 2932 -> 0 bytes docs/img/96aa3b50d60a091349e8d39c74877a5d.png | Bin 12708 -> 0 bytes docs/img/96c6ce839dca0e2ef2d69b8fbc0cff56.png | Bin 24570 -> 0 bytes docs/img/97acbf99c97921ca9e5837c4c70cfa4c.png | Bin 72678 -> 0 bytes docs/img/97c7baeb5e993264f4619e443bdacebc.png | Bin 8547 -> 0 bytes docs/img/9807a6b10b783af2ed7c8703958f017a.png | Bin 165907 -> 0 bytes docs/img/987208c515a3f2627904cc38b355dc15.png | Bin 11044 -> 0 bytes docs/img/98f7e80b6f738f9886082aeec3955fd5.png | Bin 15680 -> 0 bytes docs/img/993315f2d7b2aa15b2f3faa03d14705c.png | Bin 15521 -> 0 bytes docs/img/9950340e3b641e3f63d70fb29b2b05bb.png | Bin 13582 -> 0 bytes docs/img/996ea860188e6458fe761cf86b2b72b1.png | Bin 80615 -> 0 bytes docs/img/9a002df90c6ed1d01c8ae3a9817242df.png | Bin 10725 -> 0 bytes docs/img/9a996b513114d1fe39fa67c75e54df46.png | Bin 29871 -> 0 bytes docs/img/9aa51957855aec8590e352694fe75d5d.png | Bin 37381 -> 0 bytes docs/img/9abb23a34d42854b307382ef64d9a013.png | Bin 5731 -> 0 bytes docs/img/9b6a8d0d96113fcaadd766cecfbecdbc.png | Bin 53104 -> 0 bytes docs/img/9bc04e4a71e5ed3917efabdca45725c7.png | Bin 9162 -> 0 bytes docs/img/9bf0c7423d5735ccdfbdfe250f9a5452.png | Bin 200148 -> 0 bytes docs/img/9cb5bb737c82aad68bc28e2a7357e05c.png | Bin 3061 -> 0 bytes docs/img/9cc2ca9eb5afc113cacfbc529374fe3b.png | Bin 69763 -> 0 bytes docs/img/9d0b2e21b9be06d263674db132420176.png | Bin 3357 -> 0 bytes docs/img/9d8d2ee20801484a30509d79022ce53c.png | Bin 12151 -> 0 bytes docs/img/9d9a196fe723b5afc79e2d7b29fd0f4d.png | Bin 6930 -> 0 bytes docs/img/9e7b70cdf92b88509713225035e8e964.png | Bin 53859 -> 0 bytes docs/img/9e837ca8522bced4f7b219416c893fe4.png | Bin 22183 -> 0 bytes docs/img/9e8d2b5134e62de656bff96c60c04e10.png | Bin 6076 -> 0 bytes docs/img/9f29552692cfb04d323dc62cc4bc1d1e.png | Bin 34536 -> 0 bytes docs/img/9f4a21c247f193621ddd2f709c4536d7.png | Bin 12998 -> 0 bytes docs/img/9f6da2599274d0db274d6aa19a27fcfc.png | Bin 113620 -> 0 bytes docs/img/9f6f0b27f8e7df6c95a3262de502b39f.png | Bin 36193 -> 0 bytes docs/img/9fa8173be554c09a1397ae7e064f24e5.png | Bin 2754 -> 0 bytes docs/img/9fa9d16dd2302ab20167b7ff1ca62575.png | Bin 113595 -> 0 bytes docs/img/9fd7b49e564d04c79644e7fb8c7d7d5d.png | Bin 12359 -> 0 bytes docs/img/a0ea9fb503066a9bed377bc4dadb0d59.png | Bin 28235 -> 0 bytes docs/img/a102a1abbf4c760dba4b8b3daef8fe26.png | Bin 64047 -> 0 bytes docs/img/a14ce4f4a816ce9ceea3133c64b5f328.png | Bin 7705 -> 0 bytes docs/img/a15f0b2964d7094b019c5c33425ba75b.png | Bin 63899 -> 0 bytes docs/img/a198157b454aaa7b52001592ed46dc03.png | Bin 2649 -> 0 bytes docs/img/a19f68ae0d29248e1f28009bfb10a89a.png | Bin 21549 -> 0 bytes docs/img/a1efb7c23a97e2901852465c9168914f.png | Bin 33806 -> 0 bytes docs/img/a1f2874d536bbec36fba8132d424e066.png | Bin 22017 -> 0 bytes docs/img/a223e320ef570ec303a4e7346a899af7.png | Bin 12097 -> 0 bytes docs/img/a272933779dc7642aed4eb4acde12df9.png | Bin 181190 -> 0 bytes docs/img/a283d966822ac6a760d1a650273fbb3b.png | Bin 11331 -> 0 bytes docs/img/a33f8dce89b50020e90de33ed9a1e78e.png | Bin 1098 -> 0 bytes docs/img/a3626522e1409168b7c977ecebbaee6e.png | Bin 13753 -> 0 bytes docs/img/a3802569c81d8f8dd179fd218322a4ca.png | Bin 7844 -> 0 bytes docs/img/a3964b6d91003c90a72b5ca689b9e0c5.png | Bin 64972 -> 0 bytes docs/img/a3acce71246e984986cedc7a1cece8f9.png | Bin 4436 -> 0 bytes docs/img/a3b1935e9fe6f6222ef3200715c2f595.png | Bin 3528 -> 0 bytes docs/img/a48fc7b7ef95b54bd7ec66c17cad7dbb.png | Bin 35601 -> 0 bytes docs/img/a4e7c4f55411323814dd3b9cb30ab9f8.png | Bin 4786 -> 0 bytes docs/img/a5023ba03c96276e989dc4dbff1ca8dd.png | Bin 781 -> 0 bytes docs/img/a51fbcc597a6bc32e35c13c31799e36c.png | Bin 7579 -> 0 bytes docs/img/a68a3a59d914e3b3ef4b3cd56a67c1e1.png | Bin 11644 -> 0 bytes docs/img/a6d06d0c4a54ff34856e0fbc07a50a60.png | Bin 30779 -> 0 bytes docs/img/a6d5e94df0d5d50038a0909603d69933.png | Bin 30560 -> 0 bytes docs/img/a6e9b62f94c53cd2f37f7300362137a9.png | Bin 12943 -> 0 bytes docs/img/a792de1a5441a31253d7a939dfd2de54.png | Bin 41948 -> 0 bytes docs/img/a7a0c433c6f01281a584ba08db57d159.png | Bin 40250 -> 0 bytes docs/img/a87cd8265a25e22c9a715c6372ff047a.png | Bin 13308 -> 0 bytes docs/img/a88692f85b1b05ca94199204a3cc1f00.png | Bin 12025 -> 0 bytes docs/img/a8ac57717b491533848b3ebca40aae86.png | Bin 6047 -> 0 bytes docs/img/a9325984eddfbb907563c5bf5003f704.png | Bin 127815 -> 0 bytes docs/img/a93d26d68bbc1f4954a7038e601ba3b6.png | Bin 34934 -> 0 bytes docs/img/a94b1f6b20cc665168a8d8359d195f78.png | Bin 14459 -> 0 bytes docs/img/a9880855e171e225a4b6c73ae1790538.png | Bin 26611 -> 0 bytes docs/img/a9b252d8a3c25b1c5166799c2233c569.png | Bin 14189 -> 0 bytes docs/img/aa2dd1694d7e1573bbd49200ed1ccb04.png | Bin 30802 -> 0 bytes docs/img/aabf40f234d995e031a5a1a0f66b5905.png | Bin 3610 -> 0 bytes docs/img/aafa273009fd04415444f040f8b4c6cc.png | Bin 73546 -> 0 bytes docs/img/ab48b86f7a0dfe92d4358f705bf938a8.png | Bin 10201 -> 0 bytes docs/img/abdf7941c6dc575d115b24d74a80a68b.png | Bin 7296 -> 0 bytes docs/img/ac3623994213ad815a95e7826a3cfc3e.png | Bin 6390 -> 0 bytes docs/img/ad2cdacdd36348cddf7d5c19d8940d5b.png | Bin 21841 -> 0 bytes docs/img/ad33446e7ba7897d31835424ce5e1feb.png | Bin 5480 -> 0 bytes docs/img/ad8ac82c77beb415e901040df8d93b17.png | Bin 11017 -> 0 bytes docs/img/adc0d64a6c4c1979d43d8bf1d8d485e8.png | Bin 2079 -> 0 bytes docs/img/adf6de6d0c4125be4e7a25119c0193e1.png | Bin 36771 -> 0 bytes docs/img/ae307552914d8ff018365bbde4d23479.png | Bin 3924 -> 0 bytes docs/img/ae54430a80c08d51c51659ac1a4dd8b9.png | Bin 18019 -> 0 bytes docs/img/ae5a500e2333874603b33328b017eb35.png | Bin 30627 -> 0 bytes docs/img/ae9e67c8841e45007cf186891963198f.png | Bin 9746 -> 0 bytes docs/img/aec2abca2644938484258f63a3df71d2.png | Bin 14149 -> 0 bytes docs/img/aeccb5cc55fc430d8645e67086388300.png | Bin 31670 -> 0 bytes docs/img/afdb4890858bdb916f8a393b22b8ef96.png | Bin 52304 -> 0 bytes docs/img/afe1906c0ba8e9c44277342a20a48db6.png | Bin 19728 -> 0 bytes docs/img/afec6ffec0973dba40a3e3bc2c244bad.png | Bin 5084 -> 0 bytes docs/img/b061980557a1e04fe2a2f3836b8dd9c1.png | Bin 32431 -> 0 bytes docs/img/b12f4326b7cccf6e82c375163842f58e.png | Bin 25477 -> 0 bytes docs/img/b132b9b00d4641da41d2cb7dca5ea55c.png | Bin 29693 -> 0 bytes docs/img/b15b2918f982a43ce2379b4f2ec765a9.png | Bin 64553 -> 0 bytes docs/img/b1b6eda7a121cb284375e6c83317263d.png | Bin 32441 -> 0 bytes docs/img/b1edf28a1aa5c59ffa779a574c4fc548.png | Bin 9669 -> 0 bytes docs/img/b203ae7a973815c03ea680032d1e75eb.png | Bin 3210 -> 0 bytes docs/img/b22d9654d7ad1868d2368d7e3f82e9a3.png | Bin 9616 -> 0 bytes docs/img/b2499f834ff0e8252829dd96bad93d97.png | Bin 6018 -> 0 bytes docs/img/b24c623173b50fdf9cd2676f1f311580.png | Bin 12817 -> 0 bytes docs/img/b36e59e0da065f17e34891efef2ee0a1.png | Bin 14011 -> 0 bytes docs/img/b379b1821f4b3d10ab0be61a59bcd491.png | Bin 10367 -> 0 bytes docs/img/b44c56313892b2d78da86b3f64519a98.png | Bin 56014 -> 0 bytes docs/img/b452a194fd7fbbdd22f73a1dda9b236a.png | Bin 248902 -> 0 bytes docs/img/b46359f55df1f2affc4fe493965ebd0a.png | Bin 6315 -> 0 bytes docs/img/b4a1ffd094e753d655825c1385561991.png | Bin 36045 -> 0 bytes docs/img/b4e4d114d9b2244a7848961617e05a95.png | Bin 207190 -> 0 bytes docs/img/b4e821b8b83e29e837f01f4620e557b7.png | Bin 8926 -> 0 bytes docs/img/b51efc1bf28d2363ac0b4e95c4318fbe.png | Bin 24959 -> 0 bytes docs/img/b6069220bf06467d1d434d3652c5d82a.png | Bin 2217 -> 0 bytes docs/img/b62968cd49816ab794ddd37a7dcfb7a2.png | Bin 29811 -> 0 bytes docs/img/b64907bafa7c740c069ec7395a5c5471.png | Bin 49322 -> 0 bytes docs/img/b6662e0dd306cb7949bbfd70db9b384c.png | Bin 148771 -> 0 bytes docs/img/b6696ad0d59c74a9a3974493085915f9.png | Bin 10395 -> 0 bytes docs/img/b66dc4137ac73e81c66e408cf9fcf391.png | Bin 2387 -> 0 bytes docs/img/b6a9c5aa2e348263baf61cb961ac802f.png | Bin 19783 -> 0 bytes docs/img/b6c59d6785a7941658315a7e8e148751.png | Bin 6742 -> 0 bytes docs/img/b6d33f6e98bcf842659df9a637bbaeb9.png | Bin 3974 -> 0 bytes docs/img/b6f3d1302a444a29689905582d97eb84.png | Bin 23071 -> 0 bytes docs/img/b7658a174f8b110251a289f5276dc822.png | Bin 1131 -> 0 bytes docs/img/b786322ea49fe7840203db128b72a5e0.png | Bin 15824 -> 0 bytes docs/img/b820c73810583190a0b1697c813fdda8.png | Bin 13987 -> 0 bytes docs/img/b962444c71ad27ba05dfc6bfc69269f4.png | Bin 1569 -> 0 bytes docs/img/b96e754d4dd8ba06065aac231327e160.png | Bin 41850 -> 0 bytes docs/img/b98f1bb6205ce5c692946b81e8c78003.png | Bin 47048 -> 0 bytes docs/img/ba294e1cb39daadf43b81f113e5ef506.png | Bin 40085 -> 0 bytes docs/img/ba685b05a8bb7c09fe3b58048ac4884e.png | Bin 12845 -> 0 bytes docs/img/baa29e50412ef4acd25e287681ad9e9e.png | Bin 96988 -> 0 bytes docs/img/bab81ba0a915cec8b039166d2defc074.png | Bin 19759 -> 0 bytes docs/img/bab86c57be5bd24c1329a7de56df456a.png | Bin 422 -> 0 bytes docs/img/bad584bc95c83e26be6c67a2b54b26ae.png | Bin 438352 -> 0 bytes docs/img/bad7cd1d32a4bbf53fc1d27dcb3dd211.png | 265 -- docs/img/bb46a964436bb5fa1becb0900b9b0fc3.png | Bin 14478 -> 0 bytes docs/img/bb7ff3b17ad66e05a64ee12def63524b.png | Bin 582 -> 0 bytes docs/img/bba7007707d548d73c9b6f0efad3c50b.png | Bin 105138 -> 0 bytes docs/img/bc03121106ba9696b67a617d6aeb3878.png | Bin 29763 -> 0 bytes docs/img/bcbedbd56c50879eb35c2fc2f534d693.png | Bin 6657 -> 0 bytes docs/img/bccfe6e36a18f67a038a8d90f2a6499f.png | Bin 13980 -> 0 bytes docs/img/bd8c2bfd77b1834503e87e4dc5b58420.png | Bin 28443 -> 0 bytes docs/img/bde796b0c195045db9849eef2842bd0e.png | Bin 43722 -> 0 bytes docs/img/be1eaf723e0603b081c01aa4310c304c.png | Bin 28672 -> 0 bytes docs/img/be7e963d6561756bb87f6fea0cd245fa.png | Bin 14987 -> 0 bytes docs/img/bec396562e8fe025cb7009de091ff2aa.png | Bin 6440 -> 0 bytes docs/img/bed33522d3ca08c8f5c920ba11fa05d4.png | Bin 18047 -> 0 bytes docs/img/bf46825f18b4b1998d719dffeab0c45c.png | Bin 9141 -> 0 bytes docs/img/bf99e217a01388f7c11df39626ab9e22.png | Bin 383631 -> 0 bytes docs/img/c01efbb34a741e385a7089a6799e9b59.png | Bin 135715 -> 0 bytes docs/img/c07889c4060a55eccd0e5dde9cb54f74.png | Bin 23411 -> 0 bytes docs/img/c0fd76908cea66a75fbd88aeb1ccec31.png | Bin 27527 -> 0 bytes docs/img/c10c0f19a1d0076044db1057cfb19875.png | Bin 44085 -> 0 bytes docs/img/c154238c63e38411889c5647b2cdf20e.png | Bin 10047 -> 0 bytes docs/img/c17db26d06341055b4834c8be77c604b.png | Bin 32785 -> 0 bytes docs/img/c187176d6b8d40e19db360c4c68ffb46.png | Bin 275629 -> 0 bytes docs/img/c187de65e481b5598b110fee5310776c.png | Bin 29820 -> 0 bytes docs/img/c1e086b58ff99dd5c5684a4571e568e3.png | Bin 11696 -> 0 bytes docs/img/c1ff864dc0ff6749087bc64b4781d767.png | Bin 3013 -> 0 bytes docs/img/c29b503c10922622f8ec612bd5168b10.png | Bin 10244 -> 0 bytes docs/img/c2b9039967ef1a229c8db9d7542591fb.png | Bin 52592 -> 0 bytes docs/img/c2f9cb2f2c88244b3dbf094572214a02.png | Bin 69623 -> 0 bytes docs/img/c3174e54aed82ba15686b58fc97068f1.png | Bin 8745 -> 0 bytes docs/img/c380b8ddd78f1d3281d0eeea7f19971c.png | Bin 21196 -> 0 bytes docs/img/c3948ae724d699cf1ec0da64ab3e6a14.png | Bin 5551 -> 0 bytes docs/img/c39dc466882289b42ad827dbbc05b39f.png | Bin 18219 -> 0 bytes docs/img/c3c27ff673c33bcd50004c2adb617d5f.png | Bin 10362 -> 0 bytes docs/img/c3c7ade0ae9c901a64dedf780f4efdaf.png | Bin 3633 -> 0 bytes docs/img/c3f7298c5f6d1b4dbd0a120ce98b9d06.png | Bin 32566 -> 0 bytes docs/img/c42e6852cdd2c45b0a814f7a659ee5d2.png | Bin 3678 -> 0 bytes docs/img/c43432893b48081561609f3667b7d497.png | Bin 9937 -> 0 bytes docs/img/c4c2d27f307636160d5773556cb14345.png | Bin 1043 -> 0 bytes docs/img/c5c16791538bd6838d6196a0b4ec5bb7.png | Bin 1922 -> 0 bytes docs/img/c5d0cec2b61194796c06f7c2c5294294.png | Bin 146297 -> 0 bytes docs/img/c5fbd1d44b70c599ae2cc8751ccfca14.png | Bin 40661 -> 0 bytes docs/img/c61ac95a0fe55d92ab3c711ea814a8c8.png | Bin 2997 -> 0 bytes docs/img/c6273de0eb8e4c8e7750113a7a66e7d6.png | Bin 9097 -> 0 bytes docs/img/c65afb6da67de7dea9950e2b151cca40.png | Bin 6182 -> 0 bytes docs/img/c67bf60334fcbd1f63dc0a6515d02eca.png | Bin 28493 -> 0 bytes docs/img/c67faf1fb34407861ed68b426e46da72.png | Bin 7988 -> 0 bytes docs/img/c6a214b87abe3ccc6a5287ea1d256834.png | Bin 2880 -> 0 bytes docs/img/c6c38f70c273cc4412f6d3bd29af3829.png | Bin 21186 -> 0 bytes docs/img/c6daa1e81d653cfd0b476144f1f71874.png | Bin 16021 -> 0 bytes docs/img/c7126ad3e897b95ff53bc9300bce4d43.png | Bin 18149 -> 0 bytes docs/img/c73475715fce01bf6b51edda84064d67.png | Bin 73053 -> 0 bytes docs/img/c736ba09ab7186102250ad9e624d79c1.png | Bin 36137 -> 0 bytes docs/img/c7562ae46b8ec150661af0c88f1a5aad.png | Bin 23286 -> 0 bytes docs/img/c77b45147112088b7940cb4ebcc5f4a6.png | Bin 38787 -> 0 bytes docs/img/c7918abdac813cb6d0b57bb682269b93.png | 17 - docs/img/c79ebe6e2611f151d42f879eaee753fe.png | Bin 9647 -> 0 bytes docs/img/c7a5bc700a43a5880572c7f8cc0acdc7.png | Bin 21890 -> 0 bytes docs/img/c7b2f6ed12531da21a4512becdf843af.png | Bin 5421 -> 0 bytes docs/img/c7ee3e55c50a5f7d0e3faceda16e2dc2.png | Bin 24030 -> 0 bytes docs/img/c89e56a24555efe89bb446cf31b5f764.png | Bin 3572 -> 0 bytes docs/img/c932281f198053757ebfaf5a9b99b335.png | Bin 16578 -> 0 bytes docs/img/c9d2a45b5906d81d1118b63a832bbcd4.png | Bin 5254 -> 0 bytes docs/img/c9fb44f57074dc166ca07353bd7d31c7.png | Bin 15328 -> 0 bytes docs/img/ca33b4a75b3a1bc207dd2eddae8c3949.png | Bin 12580 -> 0 bytes docs/img/ca66569a1f77e8f2d208a42e0fee1794.png | Bin 12684 -> 0 bytes docs/img/cb3829e4d0ca25082e0f52f135a9d1de.png | Bin 20073 -> 0 bytes docs/img/cb4ff59b46134d4c61caedcf5a66a74f.png | Bin 12107 -> 0 bytes docs/img/cbd0470f26aadc25ca385447ade97392.png | Bin 8320 -> 0 bytes docs/img/cbf589a2c41bb518f8f2da56b76a59dc.png | Bin 18841 -> 0 bytes docs/img/cc52a99e48b72695add0c3e8efab158f.png | Bin 10295 -> 0 bytes docs/img/cc6935399d2235840119ad00eb778fc9.png | Bin 5193 -> 0 bytes docs/img/cca5497f42d0f0512126392deb81fa3e.png | Bin 7693 -> 0 bytes docs/img/cd210f00f72fcb8f7b00750457b0ab2c.png | Bin 16812 -> 0 bytes docs/img/cdce9b0515678bb30cdd0e1173a30749.png | Bin 10688 -> 0 bytes docs/img/ce119917ec56b195b909d4371bb994aa.png | Bin 193664 -> 0 bytes docs/img/ce2f28e687df2b322895dbfb6c48d389.png | Bin 24036 -> 0 bytes docs/img/ce6315abe3d0bf8a315febe4ab497312.png | Bin 113154 -> 0 bytes docs/img/ce7d1dd63f95f0330b281fd577aaa8d4.png | Bin 13859 -> 0 bytes docs/img/ce9e5e0a216a3a51d412bcb3cb11f420.png | Bin 23700 -> 0 bytes docs/img/ceb135d0071e5591ba58f5d2820e8f4b.png | Bin 37556 -> 0 bytes docs/img/ced764ccc10657c7f37a1ffe8a7e338a.png | Bin 12402 -> 0 bytes docs/img/cee9b8bcba36170c0ae5df4747bb8c44.png | Bin 33802 -> 0 bytes docs/img/cf0c5e15a3b44eb89d7513b961d6a274.png | Bin 7446 -> 0 bytes docs/img/cff0e046ac8eca2d9fde8f13a3365d66.png | Bin 588 -> 0 bytes docs/img/d0143a44aad793332527a786d79524f7.png | Bin 5455 -> 0 bytes docs/img/d04d999de9102632af46c867821c47c3.png | Bin 7581 -> 0 bytes docs/img/d0707d7a1f822105efb120e442c32246.png | Bin 46484 -> 0 bytes docs/img/d0b0b1ad83988d76ef9c42281782f961.png | Bin 25731 -> 0 bytes docs/img/d0b9fcc8669d772a04d7d72ccb5a82cc.png | Bin 465 -> 0 bytes docs/img/d0e9aaf43b9e19912342dddfb4b6be13.png | Bin 30101 -> 0 bytes docs/img/d15d948fc7d1b6e5c8dabacbe7c2fcc9.png | Bin 15586 -> 0 bytes docs/img/d198d958fcf8be60727c232ff69b9713.png | Bin 3012 -> 0 bytes docs/img/d19e6203a8567c2d6be7d878dd653654.png | Bin 915 -> 0 bytes docs/img/d1c47110b6092ce9cec04ff22addfaa4.png | Bin 2766 -> 0 bytes docs/img/d1e835585272f821d777f384eed6a832.png | Bin 23049 -> 0 bytes docs/img/d241e2868510cfa5755170c1f02c78f3.png | Bin 18908 -> 0 bytes docs/img/d25fe780083ad8adbc24cf5fcc4feaf8.png | Bin 16176 -> 0 bytes docs/img/d277485e75207494ed3529dfcc7a6395.png | Bin 5258 -> 0 bytes docs/img/d2f0725099f8a66ed235d537ea6592a4.png | Bin 10425 -> 0 bytes docs/img/d32d8400522e9b5c9dd295fba00e1255.png | Bin 7496 -> 0 bytes docs/img/d345ea7938f401127d9471442b27eb27.png | Bin 47063 -> 0 bytes docs/img/d366ea5b34fa89da8adbcbd7ec51bc2a.png | Bin 4069 -> 0 bytes docs/img/d3cc00bf5599be56b0b3154ca2751cbc.png | Bin 9672 -> 0 bytes docs/img/d4a6279fcd73fa0a1dc68761261f4854.png | Bin 9531 -> 0 bytes docs/img/d4fcdfd2497a9936b17469dbafbd320e.png | Bin 32122 -> 0 bytes docs/img/d5171d012a8ff616032035f890d8dbd5.png | Bin 558 -> 0 bytes docs/img/d5a5a91fe5e2b490b9388b43801b6a39.png | Bin 2214 -> 0 bytes docs/img/d5df9e77d389b58908ef235600ccc61c.png | Bin 39460 -> 0 bytes docs/img/d677bbf1d2f77fd7394cddab976e6f67.png | Bin 9333 -> 0 bytes docs/img/d67d5681f30c4769c6d92232eada26e4.png | Bin 28522 -> 0 bytes docs/img/d69ab181c07176aa054b0ceac08b702c.png | Bin 35885 -> 0 bytes docs/img/d79207e6e4f140448c9dd5e6ebe5e380.png | Bin 334543 -> 0 bytes docs/img/d7b0c4003d725d7125fdfb9c24aae17e.png | Bin 19760 -> 0 bytes docs/img/d7b5490ec5cb26ce71f19d5c56f003f3.png | Bin 2172 -> 0 bytes docs/img/d7cb226977bb46d9aaa1c1d7e195025a.png | Bin 47145 -> 0 bytes docs/img/d8baae909b3683bffff327402580132f.png | Bin 250738 -> 0 bytes docs/img/da13575f699b92fa864c2d3fae1fae9e.png | Bin 12431 -> 0 bytes docs/img/da1fdf492cc3f883353bb1997795a4a5.png | Bin 7160 -> 0 bytes docs/img/da60a36cf66e162640faa1f6cddaacdc.png | Bin 33784 -> 0 bytes docs/img/da827bb1926cf748cff537fec6ecc954.png | Bin 42952 -> 0 bytes docs/img/daa9468beb587bb748cbb9ec37bbb43f.png | Bin 59892 -> 0 bytes docs/img/db0182b2e43670178e35b1a3485ca25e.png | Bin 33967 -> 0 bytes docs/img/db0b9c2164464a7b2e1772c54232681a.png | Bin 75638 -> 0 bytes docs/img/db92110fba2588fed57b9af6bb2a381c.png | Bin 3317 -> 0 bytes docs/img/dbae11f07630ae759b8156031d0c496d.png | Bin 17892 -> 0 bytes docs/img/dbb80511727781129d638c6d3413a45f.png | Bin 12075 -> 0 bytes docs/img/dbb89cfb3c7539310a17d809c65c34a5.png | Bin 11726 -> 0 bytes docs/img/dc12d72310a7e06d2981fd6774b0903d.png | Bin 41225 -> 0 bytes docs/img/dc47374cec4da1de3e6476346ecf738e.png | Bin 24602 -> 0 bytes docs/img/dc5fe88e82dc925a618598e1ac284f39.png | Bin 5660 -> 0 bytes docs/img/dc75662feab34ea9fa5cb187a2d77739.png | Bin 11894 -> 0 bytes docs/img/dce9a8c36e06896553bd80f313c3a756.png | Bin 6980 -> 0 bytes docs/img/dd6b38427a8d14832104464d1603afed.png | Bin 3584 -> 0 bytes docs/img/ddc1b7f5f622e5c8f6581738b42964cb.png | Bin 21812 -> 0 bytes docs/img/de408a3a079dceb2e72d044abac21ac3.png | Bin 4802 -> 0 bytes docs/img/de608fa9aefa963f38d0d95043413679.png | Bin 7719 -> 0 bytes docs/img/def845e9e4d65228469b73dbc625c6cd.png | Bin 2912 -> 0 bytes docs/img/defc257dc0219b95ed3f3065afcaff94.png | Bin 15046 -> 0 bytes docs/img/e006fccde54b694d8c0f506a675942e0.png | Bin 59767 -> 0 bytes docs/img/e0fb1b28f653637edd64e072798f2385.png | Bin 6110 -> 0 bytes docs/img/e14dc9ee9528f343daf09a4dd5340b99.png | Bin 29446 -> 0 bytes docs/img/e18ff80d06980688066f9ec9404bd2da.png | Bin 10523 -> 0 bytes docs/img/e1f4f357a93d9362f282810a575d73e3.png | Bin 24253 -> 0 bytes docs/img/e20aec7ab33bbd61bae4825e6c9e35f1.png | Bin 15107 -> 0 bytes docs/img/e255c03f63cd814a974b54b2a9eb6b02.png | Bin 3498 -> 0 bytes docs/img/e28a59687a00b33f8174f2bcba18ac5d.png | Bin 34020 -> 0 bytes docs/img/e28a69b4996ee400ca3df4431df0ab13.png | Bin 10023 -> 0 bytes docs/img/e2a52ca7a089fcbd9b17f94875cba0ca.png | Bin 29521 -> 0 bytes docs/img/e2e1d44121ea24d32b388b9b84bd7ea5.png | Bin 18293 -> 0 bytes docs/img/e2e835cd5cd1be1afaa876fde2475fe5.png | Bin 11131 -> 0 bytes docs/img/e336833accfac93c8ed18718b667dab5.png | Bin 23408 -> 0 bytes docs/img/e3439aafb873fb6b7cdb3a5c6d51c3b9.png | Bin 43605 -> 0 bytes docs/img/e3489f723615b369a1abec41ebe9dea2.png | Bin 57831 -> 0 bytes docs/img/e392f78e991a2b0865f4a2fe825fd7fc.png | Bin 41442 -> 0 bytes docs/img/e3e09b090e6c8612f71f6dbd7244cbb2.png | Bin 11729 -> 0 bytes docs/img/e3eeb697453d582cf0ec4a746f30ed31.png | Bin 20972 -> 0 bytes docs/img/e3feca46add6d42b1afc92fcf120dbfb.png | Bin 12576 -> 0 bytes docs/img/e41f9ac1eea140d12bc83ea9312e71d0.png | Bin 619 -> 0 bytes docs/img/e4581843d51522e972a6bb6716aa4b05.png | Bin 20536 -> 0 bytes docs/img/e470cb0eb6198f35d2db011704471fce.png | Bin 15102 -> 0 bytes docs/img/e4b88f4d9d317b9a38522ce9c63f84bc.png | Bin 13626 -> 0 bytes docs/img/e4fa52f4d522392d049bf73b1bb065a5.png | Bin 62518 -> 0 bytes docs/img/e545dd77cf453f5a97873da4f0083ebb.png | Bin 4683 -> 0 bytes docs/img/e57526dd100a1b0a33bdae55e3bf32c7.png | Bin 62994 -> 0 bytes docs/img/e5d9c1be329fa86c36614dea613f69a3.png | Bin 17464 -> 0 bytes docs/img/e5f179b25c2db023892b0a5f559b67d5.png | Bin 17095 -> 0 bytes docs/img/e6522f2cefe000bb17275b2a0451bf82.png | Bin 55445 -> 0 bytes docs/img/e661a6c6931c39f12f5b6833566b8947.png | Bin 7257 -> 0 bytes docs/img/e6ef8c883764c13967c9c9fcc5617980.png | Bin 11744 -> 0 bytes docs/img/e71e8b254fc758ab1a18ac4373e14344.png | Bin 28557 -> 0 bytes docs/img/e75b1239d806589f91c4a40aba7fdc05.png | Bin 17283 -> 0 bytes docs/img/e7acd74bc1dc7f0103e1b107aac74f84.png | Bin 13746 -> 0 bytes docs/img/e7d35854d0a726fbc4756cca4de4bf77.png | Bin 52807 -> 0 bytes docs/img/e7d7b1c5ccf121da6fcfbbc1eb78bbcd.png | Bin 9061 -> 0 bytes docs/img/e80fdda43c295fbc39611b3d918d4b75.png | Bin 16689 -> 0 bytes docs/img/e81fe926a5b379f37dfc5af80b8f83f3.png | Bin 10274 -> 0 bytes docs/img/e8c78799e0967a32ee1efeaea30f6213.png | Bin 72826 -> 0 bytes docs/img/e9dbc908a405f57008dbb80d1b8a9a70.png | Bin 2859 -> 0 bytes docs/img/e9fe43924bd4226e7b819104bcc8b8c1.png | Bin 5231 -> 0 bytes docs/img/ea01744c06eb8853392bfd840dc1517d.png | Bin 4159 -> 0 bytes docs/img/ea0e34b1e4e7a7a6379bc52995143bf9.png | Bin 53632 -> 0 bytes docs/img/ea665ae1d507d66f5a44d05ff9e32613.png | Bin 10420 -> 0 bytes docs/img/ea804dce7429c547bcf0703446150f59.png | Bin 4112 -> 0 bytes docs/img/eaa74cb66b0dd1b45f9b312af76c23fb.png | Bin 12578 -> 0 bytes docs/img/eac2240244a4d3fb9f3d16c19760ea53.png | Bin 125853 -> 0 bytes docs/img/ead8d62e426d9309f25a82da77770f59.png | Bin 13444 -> 0 bytes docs/img/eb191fa059117d5fb30958d7f6241704.png | Bin 33520 -> 0 bytes docs/img/eb36e4acf26c49641689d1a05dd8fa8a.png | Bin 49369 -> 0 bytes docs/img/eb851fa4a367081c86d0a2eac3bdca65.png | Bin 6614 -> 0 bytes docs/img/eb93aca89ce7486ca89aa5a9f4357617.png | Bin 23558 -> 0 bytes docs/img/ebaf329b1a5a45f2d451e4574f3d7857.png | 265 -- docs/img/ebc54b5fdcb529ff40d6d097098188ae.png | Bin 9380 -> 0 bytes docs/img/ec9eebd0b49b9f0b94eb6d12fadd7cf5.png | Bin 11566 -> 0 bytes docs/img/eca0c9ec85c6dfc8dbde06c368a9d94d.png | Bin 6192 -> 0 bytes docs/img/ecb561241f5fcf0f0695ee4e29069b11.png | Bin 3312 -> 0 bytes docs/img/ecb68ae545435c5eb9229937635a5aee.png | Bin 29773 -> 0 bytes docs/img/ece990045e1a7ae1237b5f2912a2df3e.png | Bin 95520 -> 0 bytes docs/img/ed5a96971ab453e6d33b3ad9079bd47c.png | Bin 26479 -> 0 bytes docs/img/ed70f998a438f30a2762829a3cc5b5b6.png | Bin 27884 -> 0 bytes docs/img/ed7d654fa8271709dfa6c567b48c5de6.png | Bin 6912 -> 0 bytes docs/img/ed8bdb5d349320bc1d470f096578dfe7.png | Bin 9969 -> 0 bytes docs/img/ed8e7e034537074afe857aa208bd315c.png | Bin 114165 -> 0 bytes docs/img/ee0396a1cb32367d7ba7c6f4a7262c7f.png | Bin 14210 -> 0 bytes docs/img/ee04e8247fff074d8b122d6b5ec848f4.png | Bin 52105 -> 0 bytes docs/img/ee8ead7652026dd03a75e2551122350f.png | Bin 13202 -> 0 bytes docs/img/eeadc0bb054ceec8f09d2c44982f4103.png | Bin 32746 -> 0 bytes docs/img/eec4d73b57835f2caa3ad88d45260b49.png | Bin 5629 -> 0 bytes docs/img/ef26fe9cbbfc0c1f060c6e7c578bd450.png | Bin 3947 -> 0 bytes docs/img/ef67d77909a856277f9f2821fa0c18ea.png | Bin 59929 -> 0 bytes docs/img/ef8ff296b4a28ddcd52a6c4fd3ded454.png | Bin 4392 -> 0 bytes docs/img/f08e838598cbf1f61321a510bb24c6a1.png | Bin 22107 -> 0 bytes docs/img/f0a8b71ac0a74f03724937e45e8782b9.png | Bin 17211 -> 0 bytes docs/img/f0d4bcbd75dfae1dbbc867343090a4ca.png | Bin 16189 -> 0 bytes docs/img/f0d8585fb8235b36b1464ed1d142a4c0.png | Bin 80556 -> 0 bytes docs/img/f12701028e6548c505318ef2d4e378db.png | Bin 10138 -> 0 bytes docs/img/f1e26381a4d60fa929a9285e04721656.png | Bin 26697 -> 0 bytes docs/img/f293e9e73b2cf8c4ef278104fbd068d5.png | Bin 1749 -> 0 bytes docs/img/f2d420adddd87cc8087fea62246e7b67.png | Bin 14307 -> 0 bytes docs/img/f313f74b73573e7a2449aa6d00ae7934.png | Bin 4753 -> 0 bytes docs/img/f3550bb5a4a6074ef46ae27848adc308.png | Bin 12392 -> 0 bytes docs/img/f36631c8d1fd9cb42fb7c58a495c24be.png | Bin 1603 -> 0 bytes docs/img/f380fbb3646558d8becf561df5894c38.png | Bin 9741 -> 0 bytes docs/img/f406b88682259abab36d343539b1664c.png | Bin 93579 -> 0 bytes docs/img/f44886a0dc98ed48e0854c7d2ac6a220.png | Bin 11974 -> 0 bytes docs/img/f4a6d7020c73bd402fc6428d02a4e550.png | Bin 2092 -> 0 bytes docs/img/f52fe1b4788045a510a1783bfb546b6f.png | Bin 18793 -> 0 bytes docs/img/f5739c1b278ddd91c915c534514b4235.png | Bin 9827 -> 0 bytes docs/img/f5f57e5e3d074f574a5b26d23eb0b721.png | Bin 88891 -> 0 bytes docs/img/f60803ec89d6ae84310e181507eb2ad8.png | Bin 8488 -> 0 bytes docs/img/f652f5dac5bec0bb81edc08cbfd7a01b.png | Bin 5142 -> 0 bytes docs/img/f6b1fbcae610d7e8b04ec117e32573f3.png | Bin 15892 -> 0 bytes docs/img/f6e26efd0e5206a2e9d1bf43865b9f4a.png | Bin 15425 -> 0 bytes docs/img/f7050ce0aa3559c639befc2fe3d7aacb.png | Bin 82419 -> 0 bytes docs/img/f7ae6b6be5d2dd02010825234555fee6.png | Bin 5598 -> 0 bytes docs/img/f7bf9b7c134eb4ee2629082be8992d5a.png | Bin 28039 -> 0 bytes docs/img/f81ccf2ef168880473496ad46b2d991f.png | Bin 2038 -> 0 bytes docs/img/f8c3e75c59db0de2544d73c590e98696.png | Bin 10658 -> 0 bytes docs/img/f8c421bf7dd271d1aeee39c15aab183d.png | Bin 23166 -> 0 bytes docs/img/f8cfebdbd362ba809375c8d9c38416ba.png | Bin 8236 -> 0 bytes docs/img/f9144e03cf945bcf549c131e2816298f.png | Bin 18367 -> 0 bytes docs/img/f94efd219528f7641e29dbca3bc215ad.png | Bin 4125 -> 0 bytes docs/img/f9a1ce8fe1042543bc2355950f642a05.png | Bin 18378 -> 0 bytes docs/img/f9be0028bdcfdf495f7fd0f148de5214.png | Bin 10116 -> 0 bytes docs/img/fa591f90dc1e8840fe7fd692f24dcffe.png | Bin 8776 -> 0 bytes docs/img/fad2df1fa4371b39b3ea1032a8ad236c.png | Bin 114217 -> 0 bytes docs/img/fb0d67715160a5a049ca0b8e7d7af698.png | Bin 3693 -> 0 bytes docs/img/fb8ded1bb07112b49dc42dff02fe01f7.png | Bin 16680 -> 0 bytes docs/img/fc09af9303f629aff49a9a4dc5327e65.png | Bin 149452 -> 0 bytes docs/img/fc692dde7a0c9ce30f0036b1a05b2768.png | Bin 41940 -> 0 bytes docs/img/fc80ee243381890526471d6fc360f7cf.png | Bin 41794 -> 0 bytes docs/img/fd0991d7941fed77c4d82bd219ec713b.png | Bin 12324 -> 0 bytes docs/img/fd15df8f9a5a46582845610e8b5881bb.png | Bin 12234 -> 0 bytes docs/img/fd1e35952a7538923376d54325798b24.png | Bin 1922 -> 0 bytes docs/img/fd24d5842b589870b2063edaca149511.png | Bin 18533 -> 0 bytes docs/img/fd54213f0e98a4b2f6482ab98d497410.png | Bin 2099 -> 0 bytes docs/img/fd7124974fcca5463d2ce7385bfb700e.png | Bin 702 -> 0 bytes docs/img/fd79e7dae86040d6e1249793ae0b1502.png | Bin 42505 -> 0 bytes docs/img/fe213f080418c1bd6d92faa7e49770d3.png | Bin 19607 -> 0 bytes docs/img/fe601ff47f99f0fd5220742f61007450.png | Bin 1944 -> 0 bytes docs/img/fe7d77556848be98a93c7b6516b0e6f8.png | Bin 3251 -> 0 bytes docs/img/fe827d4bc97b90c3a250af05fd988fc4.png | Bin 37395 -> 0 bytes docs/img/fee3cc5116f884089066af3908605cbe.png | Bin 10558 -> 0 bytes docs/img/fef11068ab5cc264b208a4bd3addb7fa.png | Bin 9413 -> 0 bytes docs/img/ff2558c68f4e646052a0c39a7d3f8710.png | Bin 70727 -> 0 bytes docs/img/ff949c9ca6d0d99318f68a1784db7950.png | Bin 33983 -> 0 bytes docs/img/logo-s.png | Bin 191061 -> 0 bytes docs/img/logo.png | Bin 15194 -> 0 bytes 1532 files changed, 122654 deletions(-) delete mode 100644 README.md delete mode 100644 SUMMARY.md delete mode 100644 book.json delete mode 100644 docs/002.md delete mode 100644 docs/033.md delete mode 100644 docs/046.md delete mode 100644 docs/048.md delete mode 100644 docs/049.md delete mode 100644 docs/050.md delete mode 100644 docs/051.md delete mode 100644 docs/052.md delete mode 100644 docs/053.md delete mode 100644 docs/054.md delete mode 100644 docs/055.md delete mode 100644 docs/056.md delete mode 100644 docs/057.md delete mode 100644 docs/058.md delete mode 100644 docs/059.md delete mode 100644 docs/060.md delete mode 100644 docs/061.md delete mode 100644 docs/062.md delete mode 100644 docs/063.md delete mode 100644 docs/064.md delete mode 100644 docs/065.md delete mode 100644 docs/066.md delete mode 100644 docs/067.md delete mode 100644 docs/068.md delete mode 100644 docs/069.md delete mode 100644 docs/070.md delete mode 100644 docs/071.md delete mode 100644 docs/072.md delete mode 100644 docs/073.md delete mode 100644 docs/074.md delete mode 100644 docs/075.md delete mode 100644 docs/076.md delete mode 100644 docs/077.md delete mode 100644 docs/078.md delete mode 100644 docs/079.md delete mode 100644 docs/080.md delete mode 100644 docs/081.md delete mode 100644 docs/082.md delete mode 100644 docs/083.md delete mode 100644 docs/084.md delete mode 100644 docs/085.md delete mode 100644 docs/086.md delete mode 100644 docs/087.md delete mode 100644 docs/088.md delete mode 100644 docs/089.md delete mode 100644 docs/090.md delete mode 100644 docs/091.md delete mode 100644 docs/092.md delete mode 100644 docs/093.md delete mode 100644 docs/094.md delete mode 100644 docs/095.md delete mode 100644 docs/096.md delete mode 100644 docs/097.md delete mode 100644 docs/098.md delete mode 100644 docs/099.md delete mode 100644 docs/100.md delete mode 100644 docs/101.md delete mode 100644 docs/102.md delete mode 100644 docs/103.md delete mode 100644 docs/104.md delete mode 100644 docs/105.md delete mode 100644 docs/106.md delete mode 100644 docs/107.md delete mode 100644 docs/108.md delete mode 100644 docs/109.md delete mode 100644 docs/110.md delete mode 100644 docs/111.md delete mode 100644 docs/112.md delete mode 100644 docs/113.md delete mode 100644 docs/114.md delete mode 100644 docs/115.md delete mode 100644 docs/116.md delete mode 100644 docs/117.md delete mode 100644 docs/118.md delete mode 100644 docs/119.md delete mode 100644 docs/120.md delete mode 100644 docs/121.md delete mode 100644 docs/122.md delete mode 100644 docs/123.md delete mode 100644 docs/124.md delete mode 100644 docs/125.md delete mode 100644 docs/126.md delete mode 100644 docs/127.md delete mode 100644 docs/128.md delete mode 100644 docs/129.md delete mode 100644 docs/130.md delete mode 100644 docs/131.md delete mode 100644 docs/132.md delete mode 100644 docs/133.md delete mode 100644 docs/134.md delete mode 100644 docs/135.md delete mode 100644 docs/136.md delete mode 100644 docs/137.md delete mode 100644 docs/138.md delete mode 100644 docs/139.md delete mode 100644 docs/140.md delete mode 100644 docs/141.md delete mode 100644 docs/142.md delete mode 100644 docs/143.md delete mode 100644 docs/144.md delete mode 100644 docs/145.md delete mode 100644 docs/146.md delete mode 100644 docs/147.md delete mode 100644 docs/148.md delete mode 100644 docs/149.md delete mode 100644 docs/150.md delete mode 100644 docs/151.md delete mode 100644 docs/152.md delete mode 100644 docs/153.md delete mode 100644 docs/154.md delete mode 100644 docs/155.md delete mode 100644 docs/156.md delete mode 100644 docs/157.md delete mode 100644 docs/158.md delete mode 100644 docs/159.md delete mode 100644 docs/160.md delete mode 100644 docs/161.md delete mode 100644 docs/162.md delete mode 100644 docs/163.md delete mode 100644 docs/164.md delete mode 100644 docs/165.md delete mode 100644 docs/166.md delete mode 100644 docs/167.md delete mode 100644 docs/168.md delete mode 100644 docs/169.md delete mode 100644 docs/170.md delete mode 100644 docs/171.md delete mode 100644 docs/172.md delete mode 100644 docs/173.md delete mode 100644 docs/174.md delete mode 100644 docs/175.md delete mode 100644 docs/176.md delete mode 100644 docs/177.md delete mode 100644 docs/178.md delete mode 100644 docs/179.md delete mode 100644 docs/180.md delete mode 100644 docs/181.md delete mode 100644 docs/182.md delete mode 100644 docs/183.md delete mode 100644 docs/184.md delete mode 100644 docs/185.md delete mode 100644 docs/186.md delete mode 100644 docs/187.md delete mode 100644 docs/188.md delete mode 100644 docs/189.md delete mode 100644 docs/190.md delete mode 100644 docs/191.md delete mode 100644 docs/192.md delete mode 100644 docs/193.md delete mode 100644 docs/194.md delete mode 100644 docs/195.md delete mode 100644 docs/196.md delete mode 100644 docs/197.md delete mode 100644 docs/198.md delete mode 100644 docs/199.md delete mode 100644 docs/200.md delete mode 100644 docs/201.md delete mode 100644 docs/202.md delete mode 100644 docs/203.md delete mode 100644 docs/204.md delete mode 100644 docs/205.md delete mode 100644 docs/206.md delete mode 100644 docs/207.md delete mode 100644 docs/208.md delete mode 100644 docs/209.md delete mode 100644 docs/210.md delete mode 100644 docs/211.md delete mode 100644 docs/212.md delete mode 100644 docs/213.md delete mode 100644 docs/214.md delete mode 100644 docs/215.md delete mode 100644 docs/216.md delete mode 100644 docs/217.md delete mode 100644 docs/218.md delete mode 100644 docs/219.md delete mode 100644 docs/220.md delete mode 100644 docs/221.md delete mode 100644 docs/222.md delete mode 100644 docs/223.md delete mode 100644 docs/224.md delete mode 100644 docs/225.md delete mode 100644 docs/226.md delete mode 100644 docs/227.md delete mode 100644 docs/228.md delete mode 100644 docs/229.md delete mode 100644 docs/230.md delete mode 100644 docs/231.md delete mode 100644 docs/232.md delete mode 100644 docs/233.md delete mode 100644 docs/234.md delete mode 100644 docs/235.md delete mode 100644 docs/236.md delete mode 100644 docs/237.md delete mode 100644 docs/238.md delete mode 100644 docs/239.md delete mode 100644 docs/240.md delete mode 100644 docs/241.md delete mode 100644 docs/242.md delete mode 100644 docs/243.md delete mode 100644 docs/244.md delete mode 100644 docs/245.md delete mode 100644 docs/246.md delete mode 100644 docs/247.md delete mode 100644 docs/248.md delete mode 100644 docs/249.md delete mode 100644 docs/250.md delete mode 100644 docs/251.md delete mode 100644 docs/252.md delete mode 100644 docs/253.md delete mode 100644 docs/254.md delete mode 100644 docs/255.md delete mode 100644 docs/256.md delete mode 100644 docs/257.md delete mode 100644 docs/258.md delete mode 100644 docs/259.md delete mode 100644 docs/260.md delete mode 100644 docs/261.md delete mode 100644 docs/262.md delete mode 100644 docs/263.md delete mode 100644 docs/264.md delete mode 100644 docs/265.md delete mode 100644 docs/266.md delete mode 100644 docs/267.md delete mode 100644 docs/268.md delete mode 100644 docs/269.md delete mode 100644 docs/270.md delete mode 100644 docs/271.md delete mode 100644 docs/272.md delete mode 100644 docs/273.md delete mode 100644 docs/274.md delete mode 100644 docs/275.md delete mode 100644 docs/276.md delete mode 100644 docs/277.md delete mode 100644 docs/278.md delete mode 100644 docs/279.md delete mode 100644 docs/280.md delete mode 100644 docs/281.md delete mode 100644 docs/282.md delete mode 100644 docs/283.md delete mode 100644 docs/284.md delete mode 100644 docs/285.md delete mode 100644 docs/286.md delete mode 100644 docs/287.md delete mode 100644 docs/288.md delete mode 100644 docs/289.md delete mode 100644 docs/290.md delete mode 100644 docs/291.md delete mode 100644 docs/292.md delete mode 100644 docs/293.md delete mode 100644 docs/294.md delete mode 100644 docs/295.md delete mode 100644 docs/296.md delete mode 100644 docs/297.md delete mode 100644 docs/298.md delete mode 100644 docs/299.md delete mode 100644 docs/300.md delete mode 100644 docs/301.md delete mode 100644 docs/302.md delete mode 100644 docs/303.md delete mode 100644 docs/304.md delete mode 100644 docs/305.md delete mode 100644 docs/306.md delete mode 100644 docs/307.md delete mode 100644 docs/308.md delete mode 100644 docs/309.md delete mode 100644 docs/310.md delete mode 100644 docs/311.md delete mode 100644 docs/312.md delete mode 100644 docs/313.md delete mode 100644 docs/314.md delete mode 100644 docs/315.md delete mode 100644 docs/316.md delete mode 100644 docs/317.md delete mode 100644 docs/318.md delete mode 100644 docs/319.md delete mode 100644 docs/320.md delete mode 100644 docs/321.md delete mode 100644 docs/322.md delete mode 100644 docs/323.md delete mode 100644 docs/324.md delete mode 100644 docs/325.md delete mode 100644 docs/326.md delete mode 100644 docs/327.md delete mode 100644 docs/328.md delete mode 100644 docs/329.md delete mode 100644 docs/330.md delete mode 100644 docs/331.md delete mode 100644 docs/332.md delete mode 100644 docs/333.md delete mode 100644 docs/334.md delete mode 100644 docs/335.md delete mode 100644 docs/336.md delete mode 100644 docs/337.md delete mode 100644 docs/338.md delete mode 100644 docs/339.md delete mode 100644 docs/340.md delete mode 100644 docs/341.md delete mode 100644 docs/342.md delete mode 100644 docs/343.md delete mode 100644 docs/344.md delete mode 100644 docs/345.md delete mode 100644 docs/346.md delete mode 100644 docs/347.md delete mode 100644 docs/348.md delete mode 100644 docs/349.md delete mode 100644 docs/350.md delete mode 100644 docs/351.md delete mode 100644 docs/352.md delete mode 100644 docs/353.md delete mode 100644 docs/354.md delete mode 100644 docs/355.md delete mode 100644 docs/356.md delete mode 100644 docs/357.md delete mode 100644 docs/358.md delete mode 100644 docs/359.md delete mode 100644 docs/360.md delete mode 100644 docs/361.md delete mode 100644 docs/362.md delete mode 100644 docs/363.md delete mode 100644 docs/364.md delete mode 100644 docs/365.md delete mode 100644 docs/366.md delete mode 100644 docs/367.md delete mode 100644 docs/368.md delete mode 100644 docs/369.md delete mode 100644 docs/370.md delete mode 100644 docs/371.md delete mode 100644 docs/372.md delete mode 100644 docs/373.md delete mode 100644 docs/374.md delete mode 100644 docs/375.md delete mode 100644 docs/376.md delete mode 100644 docs/377.md delete mode 100644 docs/378.md delete mode 100644 docs/379.md delete mode 100644 docs/380.md delete mode 100644 docs/381.md delete mode 100644 docs/382.md delete mode 100644 docs/383.md delete mode 100644 docs/384.md delete mode 100644 docs/385.md delete mode 100644 docs/386.md delete mode 100644 docs/387.md delete mode 100644 docs/388.md delete mode 100644 docs/389.md delete mode 100644 docs/390.md delete mode 100644 docs/391.md delete mode 100644 docs/392.md delete mode 100644 docs/393.md delete mode 100644 docs/394.md delete mode 100644 docs/395.md delete mode 100644 docs/396.md delete mode 100644 docs/397.md delete mode 100644 docs/398.md delete mode 100644 docs/399.md delete mode 100644 docs/400.md delete mode 100644 docs/401.md delete mode 100644 docs/402.md delete mode 100644 docs/403.md delete mode 100644 docs/404.md delete mode 100644 docs/405.md delete mode 100644 docs/406.md delete mode 100644 docs/407.md delete mode 100644 docs/408.md delete mode 100644 docs/409.md delete mode 100644 docs/410.md delete mode 100644 docs/411.md delete mode 100644 docs/412.md delete mode 100644 docs/413.md delete mode 100644 docs/414.md delete mode 100644 docs/415.md delete mode 100644 docs/416.md delete mode 100644 docs/417.md delete mode 100644 docs/418.md delete mode 100644 docs/419.md delete mode 100644 docs/420.md delete mode 100644 docs/421.md delete mode 100644 docs/422.md delete mode 100644 docs/423.md delete mode 100644 docs/424.md delete mode 100644 docs/425.md delete mode 100644 docs/426.md delete mode 100644 docs/427.md delete mode 100644 docs/428.md delete mode 100644 docs/429.md delete mode 100644 docs/430.md delete mode 100644 docs/431.md delete mode 100644 docs/432.md delete mode 100644 docs/433.md delete mode 100644 docs/434.md delete mode 100644 docs/435.md delete mode 100644 docs/436.md delete mode 100644 docs/437.md delete mode 100644 docs/438.md delete mode 100644 docs/439.md delete mode 100644 docs/440.md delete mode 100644 docs/441.md delete mode 100644 docs/442.md delete mode 100644 docs/443.md delete mode 100644 docs/444.md delete mode 100644 docs/445.md delete mode 100644 docs/446.md delete mode 100644 docs/447.md delete mode 100644 docs/448.md delete mode 100644 docs/449.md delete mode 100644 docs/450.md delete mode 100644 docs/451.md delete mode 100644 docs/452.md delete mode 100644 docs/453.md delete mode 100644 docs/454.md delete mode 100644 docs/455.md delete mode 100644 docs/456.md delete mode 100644 docs/457.md delete mode 100644 docs/458.md delete mode 100644 docs/459.md delete mode 100644 docs/460.md delete mode 100644 docs/461.md delete mode 100644 docs/462.md delete mode 100644 docs/463.md delete mode 100644 docs/464.md delete mode 100644 docs/465.md delete mode 100644 docs/466.md delete mode 100644 docs/467.md delete mode 100644 docs/468.md delete mode 100644 docs/469.md delete mode 100644 docs/470.md delete mode 100644 docs/471.md delete mode 100644 docs/472.md delete mode 100644 docs/473.md delete mode 100644 docs/474.md delete mode 100644 docs/475.md delete mode 100644 docs/476.md delete mode 100644 docs/477.md delete mode 100644 docs/478.md delete mode 100644 docs/479.md delete mode 100644 docs/480.md delete mode 100644 docs/481.md delete mode 100644 docs/482.md delete mode 100644 docs/483.md delete mode 100644 docs/484.md delete mode 100644 docs/485.md delete mode 100644 docs/486.md delete mode 100644 docs/487.md delete mode 100644 docs/488.md delete mode 100644 docs/489.md delete mode 100644 docs/490.md delete mode 100644 docs/491.md delete mode 100644 docs/492.md delete mode 100644 docs/493.md delete mode 100644 docs/494.md delete mode 100644 docs/495.md delete mode 100644 docs/496.md delete mode 100644 docs/497.md delete mode 100644 docs/498.md delete mode 100644 docs/499.md delete mode 100644 docs/500.md delete mode 100644 docs/501.md delete mode 100644 docs/502.md delete mode 100644 docs/503.md delete mode 100644 docs/504.md delete mode 100644 docs/505.md delete mode 100644 docs/506.md delete mode 100644 docs/507.md delete mode 100644 docs/508.md delete mode 100644 docs/509.md delete mode 100644 docs/510.md delete mode 100644 docs/511.md delete mode 100644 docs/512.md delete mode 100644 docs/513.md delete mode 100644 docs/514.md delete mode 100644 docs/515.md delete mode 100644 docs/516.md delete mode 100644 docs/517.md delete mode 100644 docs/518.md delete mode 100644 docs/519.md delete mode 100644 docs/520.md delete mode 100644 docs/521.md delete mode 100644 docs/522.md delete mode 100644 docs/523.md delete mode 100644 docs/524.md delete mode 100644 docs/525.md delete mode 100644 docs/526.md delete mode 100644 docs/527.md delete mode 100644 docs/528.md delete mode 100644 docs/529.md delete mode 100644 docs/530.md delete mode 100644 docs/531.md delete mode 100644 docs/532.md delete mode 100644 docs/533.md delete mode 100644 docs/534.md delete mode 100644 docs/535.md delete mode 100644 docs/536.md delete mode 100644 docs/537.md delete mode 100644 docs/538.md delete mode 100644 docs/539.md delete mode 100644 docs/540.md delete mode 100644 docs/541.md delete mode 100644 docs/542.md delete mode 100644 docs/543.md delete mode 100644 docs/544.md delete mode 100644 docs/545.md delete mode 100644 docs/546.md delete mode 100644 docs/547.md delete mode 100644 docs/548.md delete mode 100644 docs/549.md delete mode 100644 docs/550.md delete mode 100644 docs/551.md delete mode 100644 docs/552.md delete mode 100644 docs/553.md delete mode 100644 docs/554.md delete mode 100644 docs/555.md delete mode 100644 docs/556.md delete mode 100644 docs/557.md delete mode 100644 docs/558.md delete mode 100644 docs/559.md delete mode 100644 docs/560.md delete mode 100644 docs/561.md delete mode 100644 docs/562.md delete mode 100644 docs/563.md delete mode 100644 docs/564.md delete mode 100644 docs/565.md delete mode 100644 docs/566.md delete mode 100644 docs/567.md delete mode 100644 docs/568.md delete mode 100644 docs/569.md delete mode 100644 docs/570.md delete mode 100644 docs/571.md delete mode 100644 docs/572.md delete mode 100644 docs/573.md delete mode 100644 docs/574.md delete mode 100644 docs/575.md delete mode 100644 docs/576.md delete mode 100644 docs/577.md delete mode 100644 docs/578.md delete mode 100644 docs/579.md delete mode 100644 docs/580.md delete mode 100644 docs/581.md delete mode 100644 docs/582.md delete mode 100644 docs/583.md delete mode 100644 docs/584.md delete mode 100644 docs/585.md delete mode 100644 docs/586.md delete mode 100644 docs/587.md delete mode 100644 docs/588.md delete mode 100644 docs/589.md delete mode 100644 docs/590.md delete mode 100644 docs/591.md delete mode 100644 docs/592.md delete mode 100644 docs/593.md delete mode 100644 docs/594.md delete mode 100644 docs/595.md delete mode 100644 docs/596.md delete mode 100644 docs/597.md delete mode 100644 docs/598.md delete mode 100644 docs/599.md delete mode 100644 docs/600.md delete mode 100644 docs/601.md delete mode 100644 docs/602.md delete mode 100644 docs/603.md delete mode 100644 docs/604.md delete mode 100644 docs/605.md delete mode 100644 docs/606.md delete mode 100644 docs/607.md delete mode 100644 docs/608.md delete mode 100644 docs/609.md delete mode 100644 docs/610.md delete mode 100644 docs/611.md delete mode 100644 docs/612.md delete mode 100644 docs/613.md delete mode 100644 docs/614.md delete mode 100644 docs/615.md delete mode 100644 docs/616.md delete mode 100644 docs/617.md delete mode 100644 docs/618.md delete mode 100644 docs/619.md delete mode 100644 docs/620.md delete mode 100644 docs/621.md delete mode 100644 docs/622.md delete mode 100644 docs/623.md delete mode 100644 docs/624.md delete mode 100644 docs/625.md delete mode 100644 docs/626.md delete mode 100644 docs/627.md delete mode 100644 docs/628.md delete mode 100644 docs/629.md delete mode 100644 docs/630.md delete mode 100644 docs/631.md delete mode 100644 docs/632.md delete mode 100644 docs/633.md delete mode 100644 docs/634.md delete mode 100644 docs/635.md delete mode 100644 docs/636.md delete mode 100644 docs/637.md delete mode 100644 docs/638.md delete mode 100644 docs/639.md delete mode 100644 docs/640.md delete mode 100644 docs/641.md delete mode 100644 docs/642.md delete mode 100644 docs/643.md delete mode 100644 docs/644.md delete mode 100644 docs/645.md delete mode 100644 docs/646.md delete mode 100644 docs/647.md delete mode 100644 docs/648.md delete mode 100644 docs/649.md delete mode 100644 docs/650.md delete mode 100644 docs/651.md delete mode 100644 docs/652.md delete mode 100644 docs/img/000b14e609fee563642c55e238caca88.png delete mode 100644 docs/img/0050abd936ad2e13e4ad057a58611cc9.png delete mode 100644 docs/img/00cb101eb824b3ede4fa4a3914f95c09.png delete mode 100644 docs/img/00fd9bca0c7bdc64f74a24b691e0adac.png delete mode 100644 docs/img/0124687ca256ab68d34dd0918f1e1a8d.png delete mode 100644 docs/img/01df5698e4465e052dcb7bf0ed6a55ae.png delete mode 100644 docs/img/0290c1013dba1b07f226f1548c8b6fd2.png delete mode 100644 docs/img/02f288cad0ff70d293c035d6dc434f34.png delete mode 100644 docs/img/033c41dc1122d52872dcb67228037524.png delete mode 100644 docs/img/0370f6d6a289b9e8237fcad4c7672e78.png delete mode 100644 docs/img/0387751ed4b8717777ebac2706c2d637.png delete mode 100644 docs/img/03d3f984ea7608322b1fd6a7feba47c0.png delete mode 100644 docs/img/04b61606f38fddf21d194ee3e13abaa3.png delete mode 100644 docs/img/0574a3e535157d8b9c5744214f19f7c7.png delete mode 100644 docs/img/05a0790512923394006a9c3face18d58.png delete mode 100644 docs/img/05dd8439c1da77198297616b4c4f8458.png delete mode 100644 docs/img/061d5d0d60fdf019ad696860942563af.png delete mode 100644 docs/img/0748208b938145b0cf688cc0a3cb7b09.png delete mode 100644 docs/img/074834195e0c24213cffeef5ef08a9e1.png delete mode 100644 docs/img/079efbfe641967c936be8ed9b033bca6.png delete mode 100644 docs/img/07c2c84efb64460dfa2373f1f75645ab.png delete mode 100644 docs/img/07e4663db45be7313a205a17ec342edb.png delete mode 100644 docs/img/083580c1827d40263d500a21f072249f.png delete mode 100644 docs/img/097706015c4d2abaaf34d0782cfac635.png delete mode 100644 docs/img/09870a42c6e3e94e7553f338a65c0b6d.png delete mode 100644 docs/img/098a5864447e44da06b72051af59b294.png delete mode 100644 docs/img/0991c603daeaefcd2df14e098fa66ea4.png delete mode 100644 docs/img/09a583a4343d2359d87040afc14139dd.png delete mode 100644 docs/img/09b8263a3534de004ff180005a876b4a.png delete mode 100644 docs/img/09e1824644c088dfbd0f2f9710fc7d77.png delete mode 100644 docs/img/0a61445809db70ca6bf85d986bf52223.png delete mode 100644 docs/img/0a64287e1feef55413a5a906d02ec8ea.png delete mode 100644 docs/img/0a8b584e09781bad1c374f8badc0a12c.png delete mode 100644 docs/img/0a8c15f1fa2c2e0a210d9baae9fff372.png delete mode 100644 docs/img/0b5158f524983df0ee4e4aa152abcc86.png delete mode 100644 docs/img/0b804819bf30ce8e657ad538d376ecc5.png delete mode 100644 docs/img/0bc8de7b7d20af897fb8b38bb48663e8.png delete mode 100644 docs/img/0bef311ef1713ebb246577aeaaa012c3.png delete mode 100644 docs/img/0c549416181d6e18eb1dd34825b00425.png delete mode 100644 docs/img/0d0a16295f0edf554f921ffda49ff421.png delete mode 100644 docs/img/0d1089161431c5f21751458027d84535.png delete mode 100644 docs/img/0d1c10a8d14f11dd831b96878fc521e5.png delete mode 100644 docs/img/0d2f752f5d8c7352da5333f4f0d27835.png delete mode 100644 docs/img/0d3f7491de96f0f5d1d30a594ec42739.png delete mode 100644 docs/img/0d59f9135c1fed79a51921909516ef69.png delete mode 100644 docs/img/0d6a90afbcbb1f9414d4a9a8437e49f8.png delete mode 100644 docs/img/0dad61d266449688c931d1703509bca3.png delete mode 100644 docs/img/0dd0fc53dcaa34b76a16be18538c1a35.png delete mode 100644 docs/img/0df7602f630bb279bdd6d7dc6a5dcf2f.png delete mode 100644 docs/img/0e0e78d03e98ec2ac04952defaba83ff.png delete mode 100644 docs/img/0e2287fb4b32bf9dff45f3255ddd45fe.png delete mode 100644 docs/img/0e27f7f7b1dd7b6748365d5ea985238a.png delete mode 100644 docs/img/0f7aab3f307e6b54ebe4d00d94f1da0a.png delete mode 100644 docs/img/0f88b0e1a49600472f2922218cec1ed7.png delete mode 100644 docs/img/0fdd144a1493e4d21226f1b04a5d336a.png delete mode 100644 docs/img/0ff1ac0799b3b8867f4ebefa4e22d786.png delete mode 100644 docs/img/104374dd85800b346ef75734f6fd0b38.png delete mode 100644 docs/img/10fd27d874d8e6ace6b74801909782ae.png delete mode 100644 docs/img/114dc1abb6412aca14f3c3b6ad3048dc.png delete mode 100644 docs/img/1162f64da937aa1ef37877c6b8930e1e.png delete mode 100644 docs/img/1165fee2238c55848aeb09d59c76cf7b.png delete mode 100644 docs/img/11728974fe5385112311ab02ea56783e.png delete mode 100644 docs/img/11b32b9624ee5e827950dd6f126127d6.png delete mode 100644 docs/img/11f64bd49fd604a4644dd54ed7e423e8.png delete mode 100644 docs/img/12208c7d040cd738d51605b7fcb55237.png delete mode 100644 docs/img/12e557e74666b1c90827cdd5bfe4d87a.png delete mode 100644 docs/img/136df5416c67f2d80606b4849658e289.png delete mode 100644 docs/img/137ac74ffc45b0c50cf354baa972ca89.png delete mode 100644 docs/img/13b2b9b44dbf46de0243edc068ecab42.png delete mode 100644 docs/img/13c910771ce7fad76e82ba7b8bdd440b.png delete mode 100644 docs/img/14110c067c5c98646bcad82dbd3be10b.png delete mode 100644 docs/img/1427a32ce32914c8100f7563817e3d64.png delete mode 100644 docs/img/149fa515778bea7ce86903f0c8d9b31f.png delete mode 100644 docs/img/14b1dcd13ed2d776e5cab726504e2df9.png delete mode 100644 docs/img/15b455cffa86c3a9234ad8c30082a4df.png delete mode 100644 docs/img/161780e2fab1ff78247b22985553ba96.png delete mode 100644 docs/img/169af1eb67d287048e2bd4de1d3a178a.png delete mode 100644 docs/img/16db6a809ddf03cf101fdbec905d41a2.png delete mode 100644 docs/img/16f0d7c3d19700b0e30aa6c1528acb91.png delete mode 100644 docs/img/1780684b75826fc70c4f9d6a00cd9984.png delete mode 100644 docs/img/17abb300a15db5073a41bf8a13e53bc7.png delete mode 100644 docs/img/17d0ef7b105be8069a4258a758bd25bb.png delete mode 100644 docs/img/17e23e08ff33b405e039adae1f73cb83.png delete mode 100644 docs/img/181ef05617eae83f93df5db5884cb3f2.png delete mode 100644 docs/img/182928c540d17ccf275438850fc7592d.png delete mode 100644 docs/img/184e7323733c8aa9331e3fbef102e17c.png delete mode 100644 docs/img/185cfb126a59b17e7d802717876f8725.png delete mode 100644 docs/img/1864a1996bbb1636d65648dd8b0857df.png delete mode 100644 docs/img/18f2b22b7daf0beab9074c6695c99960.png delete mode 100644 docs/img/191e4984d9e1aa615a86fec2b6d42dcd.png delete mode 100644 docs/img/1a097c142decf7d516165322a0f7b880.png delete mode 100644 docs/img/1a1b871d7e874d4f8e2ab4905d000509.png delete mode 100644 docs/img/1a3371a11e14e221f5c8e0e75e327d08.png delete mode 100644 docs/img/1a3f578f317c266ca4b5d61eb91d025b.png delete mode 100644 docs/img/1a5840885de676ed33d7cdb688b26a12.png delete mode 100644 docs/img/1ab2181cd0be5aa7d8e96f16a1348ef9.png delete mode 100644 docs/img/1b109b486c41c14a03eea4127cec2351.png delete mode 100644 docs/img/1b69e9fcb692fa835e9b7e06fa856aee.png delete mode 100644 docs/img/1b984d904256e7a325a4cc30bcf71ee1.png delete mode 100644 docs/img/1bb73cd8d699dd8fa617c328abafb76b.png delete mode 100644 docs/img/1bc92f79d9645e6ae51aff10100e5c0d.png delete mode 100644 docs/img/1bce7244cd585ee6d059a7aa1903f194.png delete mode 100644 docs/img/1be5fea51b824b103e9b5bac12136a90.png delete mode 100644 docs/img/1c1c9ba40bbb3c1ab789e70a4c4d42e6.png delete mode 100644 docs/img/1c4eef7cdb82fd840a9facad4ee93d6b.png delete mode 100644 docs/img/1c78b1078232f166ee3d03d64f2b3907.png delete mode 100644 docs/img/1c96e8d94988240b7dc68ae02dbea405.png delete mode 100644 docs/img/1d54aa31264e3f3b98ebf2049669f910.png delete mode 100644 docs/img/1d8faac0ce4cf1206b5c2745df725ca6.png delete mode 100644 docs/img/1d9bd6ef20c22f103a6d120b8c673b06.png delete mode 100644 docs/img/1dcfd40d9306c4cfb80013c0cebdcac0.png delete mode 100644 docs/img/1e0213e85ced3ac9dcc079f0e1831068.png delete mode 100644 docs/img/1e1a93a55568355165c7529b5326427b.png delete mode 100644 docs/img/1f5aad8fb69a4afb74547a2d31fcbc66.png delete mode 100644 docs/img/1fa927abbc0d78f64822dcc6c7295cd4.png delete mode 100644 docs/img/1fdfdef058a3092e25352089de97fee6.png delete mode 100644 docs/img/1ff79a3af1496b3e864efbcf5f93307f.png delete mode 100644 docs/img/2066156f84e498acec96cdfb63d2d2a4.png delete mode 100644 docs/img/206da14c2b9fd76390be58e7103b69c7.png delete mode 100644 docs/img/20bba5f798131b98df30aaa9202ccfd5.png delete mode 100644 docs/img/210e34a4dbdbe21aba5083c6f7dac9cb.png delete mode 100644 docs/img/212946086e16f591c716728308d49ca3.png delete mode 100644 docs/img/21967843cf3a12bcfa5e39a39b1b3f69.png delete mode 100644 docs/img/222aa4a1e09c2312446d0aa324c6f193.png delete mode 100644 docs/img/2257f7989872604ba6ce6506ba811b15.png delete mode 100644 docs/img/2279c6b38c41208a2726d04b0df15c37.png delete mode 100644 docs/img/2310ec0a03905adc0774d21079604b57.png delete mode 100644 docs/img/235fdd047e32990019bc08c92ced8299.png delete mode 100644 docs/img/23b032de89e1f1056b75bd7ad55823ea.png delete mode 100644 docs/img/243c1a9fc7dab75d6576c27470e73bf0.png delete mode 100644 docs/img/24ea9a3635dc27668b899d6785917b1b.png delete mode 100644 docs/img/252e40c4dc029a21eb939cb40f715d34.png delete mode 100644 docs/img/25892ec4aa99429a91c30ac3395379e0.png delete mode 100644 docs/img/261e6c6422bccbb978c24c0728f3a593.png delete mode 100644 docs/img/2629e4ef9252e4970d626ca424e88dd2.png delete mode 100644 docs/img/262e648fe4e99ca02b386ebade539097.png delete mode 100644 docs/img/264ee345c8d001f9b7cabf52e10f47bf.png delete mode 100644 docs/img/265f035427185c0998b05886114d104b.png delete mode 100644 docs/img/26b5d3ef6b515c199d6c860ac62a4671.png delete mode 100644 docs/img/276614fbc4ef7b7b9f7a445dffbc5691.png delete mode 100644 docs/img/27858125d0f3461e373b06413f40e616.png delete mode 100644 docs/img/279650b9e9c3ec26a7d6f0493bd5af7c.png delete mode 100644 docs/img/27b77c1cf5861234d7e06b742e7cbf58.png delete mode 100644 docs/img/27d6bf9eb64fd8e4298e7a2a8ae64983.png delete mode 100644 docs/img/27f5db1ffe5c715ccd311bccf93665f2.png delete mode 100644 docs/img/281606a988de9b8e23469c0de4e22062.png delete mode 100644 docs/img/2823aaef9502e47fb72734606099a98a.png delete mode 100644 docs/img/28300ad671ab6b5aec8525cb2a7af157.png delete mode 100644 docs/img/283011f90b0969b60cd202dd293525ca.png delete mode 100644 docs/img/284b72b1bfc8d5679fdaa384932b3b8c.png delete mode 100644 docs/img/28ba73ced40f830058c21c46c8291bfe.png delete mode 100644 docs/img/28e0f270ca5b3b728207d80c19a82d71.png delete mode 100644 docs/img/28ec7a2f016b77873dfadd5ab59c447b.png delete mode 100644 docs/img/2927b047cacec2945671ab2484aafe9d.png delete mode 100644 docs/img/2a301148b56e04c50113445dc7280c15.png delete mode 100644 docs/img/2a62cf1a17a5306e4d6cd91c30149941.png delete mode 100644 docs/img/2ae8145aa44498bcadafa3451ee343b1.png delete mode 100644 docs/img/2b38faa6a2c817e4d1b8b32f803db372.png delete mode 100644 docs/img/2b49f82a2ff96781b55685367813e6c9.png delete mode 100644 docs/img/2b66844a710706131349b467b399b449.png delete mode 100644 docs/img/2bb7640bbe66bec0d43070f6f4053758.png delete mode 100644 docs/img/2c7964b63403cf1f03ea9bdbfeee96cf.png delete mode 100644 docs/img/2c8994d4c86769ec5151192ff555b261.png delete mode 100644 docs/img/2d13f3059b88ccaf448646ed61f70d47.png delete mode 100644 docs/img/2d1845503f8ff90d4dc71459313e4e62.png delete mode 100644 docs/img/2dde5152cc249727c2d1016051d52131.png delete mode 100644 docs/img/2e1001a11cd343049b87ebf60a315e9f.png delete mode 100644 docs/img/2e2c36f66667fc52b3fb3681533dcef7.png delete mode 100644 docs/img/2ed1719eefb651778ccd248f0bbe577c.png delete mode 100644 docs/img/2f78c411d32ee05e95a1984ef90b2356.png delete mode 100644 docs/img/2f8e418a69825e31935272d55cceae7f.png delete mode 100644 docs/img/2fdc2024eee83764328fb015ffd4e392.png delete mode 100644 docs/img/2fe480e26b1b89b82607729986e5b13a.png delete mode 100644 docs/img/2fed535a429569e1ae792fb3960bcdd5.png delete mode 100644 docs/img/3001efd4ffb849af0c15eb8dda4d4050.png delete mode 100644 docs/img/30152366655be1543f687603c8d34d96.png delete mode 100644 docs/img/30460bec4b16c49e4f5d5ccc7ac92601.png delete mode 100644 docs/img/31396caea61831939862213abb8dd10c.png delete mode 100644 docs/img/317167b85f9604b741e71e57b1702b6c.png delete mode 100644 docs/img/31c7821d41281d527a8ee4f058bafaca.png delete mode 100644 docs/img/31d242e54217fe005ee1481fbb81c786.png delete mode 100644 docs/img/31f0a42465a379e152ef6c0c7a6395e9.png delete mode 100644 docs/img/31f8f986b27020e646540b9595d026cd.png delete mode 100644 docs/img/3252759837ced64a222db48c62becdd3.png delete mode 100644 docs/img/3281ef5fea53e2f0a57bb3c648aa7fa4.png delete mode 100644 docs/img/337891c1885c756f35968127a8050c21.png delete mode 100644 docs/img/33ae5f16a8ad7c683e894a2a3032cfa9.png delete mode 100644 docs/img/33c514aefa1ff87fe18907b27d473e03.png delete mode 100644 docs/img/33cc6d96a283a4f1b3cc5b27da9fd1c4.png delete mode 100644 docs/img/33da6433c882c8bcc4c699a4e0008b7c.png delete mode 100644 docs/img/3444bd33319e0b2d996233cf9e1103c5.png delete mode 100644 docs/img/3478cae6da4e529f7c9cf2f4e71dd462.png delete mode 100644 docs/img/35460a8c847cde5f9e477c80231d7f8b.png delete mode 100644 docs/img/35b66299a79c8b3212bf8fbb00e9c903.png delete mode 100644 docs/img/35e89eba4dfc37f409cb295b0c8b13d1.png delete mode 100644 docs/img/35fbd0a23d3b20913cb4490a3957d8b3.png delete mode 100644 docs/img/3601605e24186a1976e7aff09112bb7e.png delete mode 100644 docs/img/3636c78ef6cb3ccc1462dd451c7f3efc.png delete mode 100644 docs/img/3667bc1901823963df25df8a2458047a.png delete mode 100644 docs/img/366832d79f753b4e66470fa923fa7acf.png delete mode 100644 docs/img/3694fc45636610ba5fb4e24d7a9eb3b9.png delete mode 100644 docs/img/36aa502eb297ed552d82e3b015053e9e.png delete mode 100644 docs/img/36abd47af07b3b82f814e74be4619b4d.png delete mode 100644 docs/img/36d97eaa1e64c3f6d5b78d205d1ce881.png delete mode 100644 docs/img/370ac43323901b08b905644b04f6a802.png delete mode 100644 docs/img/371d1ca1640afbd824acc19b18bc40c9.png delete mode 100644 docs/img/37238acd557de0d61f0c3be198c56e00.png delete mode 100644 docs/img/3794ce06aeeb9528fa1a66915cc69072.png delete mode 100644 docs/img/379bd77b46dd7f0617bc273a203c9a29.png delete mode 100644 docs/img/37cb6e38ded4ec606f9bc7776f765e70.png delete mode 100644 docs/img/381000c5f5c6ad01300dfcc889f7fb0f.png delete mode 100644 docs/img/381cb6fd4ceed7b2a8b3642926cb8cf2.png delete mode 100644 docs/img/3863add8513c90ad786112f7a200a568.png delete mode 100644 docs/img/3887423740965d20eecf9471bc1b3061.png delete mode 100644 docs/img/38c073cc1c78dc88bf317e878e9995cc.png delete mode 100644 docs/img/38d4db85b589523cbab105da53e5fb09.png delete mode 100644 docs/img/38ef5bf427869fe9b1050db6eacd2972.png delete mode 100644 docs/img/393dab24a6c8be1031a4cf469f3039e9.png delete mode 100644 docs/img/39b4809628ba97edb93621d6eefa5135.png delete mode 100644 docs/img/3a328cbf9c83e567fa5921d3580a84cb.png delete mode 100644 docs/img/3b13f587681dd3391c82eb9b650ff6cf.png delete mode 100644 docs/img/3b33bfa40900241891ce4c916e441a22.png delete mode 100644 docs/img/3b3e644f832753a09f245236299e74b2.png delete mode 100644 docs/img/3b8b0bcac599d7207d90ed8194bed83e.png delete mode 100644 docs/img/3c9cb466046f19c70255f0de753a307c.png delete mode 100644 docs/img/3ca3bc9234ff248b19d9555bb5f1cff4.png delete mode 100644 docs/img/3d8b21038a5aa14baa75dc65de55d728.png delete mode 100644 docs/img/3da5d65194b00f9dc3ffde2ac5f8473b.png delete mode 100644 docs/img/3e0f74f35030a15b593a12090d5c0daf.png delete mode 100644 docs/img/3e903eab58c2b1ac777ef30adf3bd44e.png delete mode 100644 docs/img/3ed7ccf7499687536cf254fc6f47d5e7.png delete mode 100644 docs/img/3f64ac42c5324a759f292fa0f7e4d991.png delete mode 100644 docs/img/40834a63780a362f429e1902450a4a7a.png delete mode 100644 docs/img/40cd53294c496a4d049d735386c16649.png delete mode 100644 docs/img/40dbd9d2f1f965f42a1c417a258da575.png delete mode 100644 docs/img/41371f9efeaf03eb888ba8e19a486185.png delete mode 100644 docs/img/41571e3a155c671e6ff9f259f20fdeed.png delete mode 100644 docs/img/423e566cce1da11ef163c69219f870aa.png delete mode 100644 docs/img/423fb353db83bd90502f2f029c398e43.png delete mode 100644 docs/img/429e9751a8b0336bb8b7e3faab15a373.png delete mode 100644 docs/img/439a9c21f68de25b8a16d0d0a28d19be.png delete mode 100644 docs/img/43a1d5a081bb166e1d43d6e671f250e1.png delete mode 100644 docs/img/43c1d4f646051452c436962222af114b.png delete mode 100644 docs/img/4401376aa4e3f3764851b2dbb25f6f2e.png delete mode 100644 docs/img/441419241245b159818b469c6508f227.png delete mode 100644 docs/img/44be1cce97f886ea1f1c93950d764041.png delete mode 100644 docs/img/44cad341f814ae94da18480c3dc1d2be.png delete mode 100644 docs/img/44dfa1e85103f88c82598a4ef9f8d0ae.png delete mode 100644 docs/img/45586bacf83042f9bfcdb01d5576fe3c.png delete mode 100644 docs/img/45974f94466502ace734ecc3473a0d58.png delete mode 100644 docs/img/45c66aeb387e650cfe717047d1b78263.png delete mode 100644 docs/img/45cb073d466ec4a6fcb5a09d7f5f204c.png delete mode 100644 docs/img/45cc34490ebcb0a656d7c57d3dcbbb00.png delete mode 100644 docs/img/46322215ec68c4896b6b622f9f1ad11e.png delete mode 100644 docs/img/4635aba96009dfb3ab93ab6f4b92ee4c.png delete mode 100644 docs/img/468eb44e935f615292705e2fc013ddb7.png delete mode 100644 docs/img/471bcfe6a44b22703662997289b517c9.png delete mode 100644 docs/img/47c6e09feffe93d1d9f758d50837b31b.png delete mode 100644 docs/img/481f18ff2e4575d1c38d4c93631bd23c.png delete mode 100644 docs/img/482b8e23d226428516ae20fae41ca7cf.png delete mode 100644 docs/img/48482b1410caf250f0257d772e55c544.png delete mode 100644 docs/img/486761bb835c9408dac03956a04b3a53.png delete mode 100644 docs/img/49588b733704d134418744f910f7809b.png delete mode 100644 docs/img/49d46d08d1ca6c3cd3d0b0ef98472512.png delete mode 100644 docs/img/4a007f26d24f09e03b3bb388bd94ae30.png delete mode 100644 docs/img/4a3c28657f884da12667bc861ea60e0c.png delete mode 100644 docs/img/4a7c845c8d7b28d90af5923b08fb1e1d.png delete mode 100644 docs/img/4ab2d185d65e76a0d58ad6564dff777a.png delete mode 100644 docs/img/4b690260474eb340f7b3f6d25b0568d2.png delete mode 100644 docs/img/4b803fd891a7ec7f422522d2ff185864.png delete mode 100644 docs/img/4c0cef07da8190af4f517bd8d336cb5b.png delete mode 100644 docs/img/4c34240e5c09caa62a018e3d109c1ba3.png delete mode 100644 docs/img/4c6172d095020a91bcf8d48c85ee4d1d.png delete mode 100644 docs/img/4ceccc7ae590a56e8b135fa8baaafabe.png delete mode 100644 docs/img/4d2f841f1dee2bdbbdcd14bd5518c000.png delete mode 100644 docs/img/4d5fab6dd3f65351ba798d87517db0bd.png delete mode 100644 docs/img/4d9fbb6b23cf91f72dd201cf3a52f475.png delete mode 100644 docs/img/4e0797b4100df465293bf0c8f24a097b.png delete mode 100644 docs/img/4e480a29eb679b62ed97f748fc9acdd7.png delete mode 100644 docs/img/4e86bb665dcf8b8997d807441dbd60cd.png delete mode 100644 docs/img/4e980984ef171e4c624f56ebeb3277c7.png delete mode 100644 docs/img/4f0a47acf91c1135738d76e1c06eec3a.png delete mode 100644 docs/img/4f9a7d54cb4f539c606eaef8fd65b8ed.png delete mode 100644 docs/img/4feb8b1885ea3a6c0945d7d32d15e8ff.png delete mode 100644 docs/img/4ffe26c8f949643669a5c295958616cf.png delete mode 100644 docs/img/5016b6014148674f85d6fdba7bc5bb5e.png delete mode 100644 docs/img/50ab118d473b61d3d08773d6ea65a8ac.png delete mode 100644 docs/img/50ffc4ae0babeef44a73e82cfe49bb30.png delete mode 100644 docs/img/510cd4b11aa5f23be76d594a9ad782d6.png delete mode 100644 docs/img/5113c12752dd029f29a28c6f0660cde1.png delete mode 100644 docs/img/51192310b3785dec5f60b6d59717a7a6.png delete mode 100644 docs/img/517f5b10646cf257d0fd0413cb54c3e9.png delete mode 100644 docs/img/51902d01ed097ad499a4e6eb984d3e86.png delete mode 100644 docs/img/51e7561422b1e74237ea14e916cffc78.png delete mode 100644 docs/img/5262199c26e59a11bfa467901c29122a.png delete mode 100644 docs/img/529405d6cc5cbeb813be69b57b0e45b1.png delete mode 100644 docs/img/52c8f25cfabbe64b4ed7e579d9a27e4a.png delete mode 100644 docs/img/52f1314a06269a0dc317f758c8e8cdab.png delete mode 100644 docs/img/52fecb33c2f168630e9a8f7c95aaf517.png delete mode 100644 docs/img/53056397d59c4378696296d359f20adc.png delete mode 100644 docs/img/53bcd8c2d2c69aceb7db6677802be6b1.png delete mode 100644 docs/img/53dc09446080b42329a76d4ecbb64aa3.png delete mode 100644 docs/img/544adf1331ba8dc0c6391bf07ba6df8c.png delete mode 100644 docs/img/5460742929164e737a1b4c1990b75fc3.png delete mode 100644 docs/img/5574e9e4660196e59606fe9d673097b7.png delete mode 100644 docs/img/557f2cc00416c6f64286e93532f50121.png delete mode 100644 docs/img/55c6a94e74c9a00da3a400ae60e3bf41.png delete mode 100644 docs/img/56321b27a391110651e26fae3d93064e.png delete mode 100644 docs/img/5653420f4acd0e8a49be80d5d413bd10.png delete mode 100644 docs/img/5665233091dd783791b6dd32107e61ec.png delete mode 100644 docs/img/56b25600afa13ee05e76062ab09ee470.png delete mode 100644 docs/img/56c21932bdeb67b5407d18238e8ec7f3.png delete mode 100644 docs/img/56d89ff1e02ecf30404a57092adae96d.png delete mode 100644 docs/img/56eeecad0f9627fae21bc6b196391ba7.png delete mode 100644 docs/img/572645049ee5ab43733f62fc45312843.png delete mode 100644 docs/img/57b0d20488fb6cdd9ed2e8f573fcb7bb.png delete mode 100644 docs/img/5844f1567aec337f6ba990bc855c348a.png delete mode 100644 docs/img/5881da97228cb042e5934f836edfd06c.png delete mode 100644 docs/img/590715bab1c8704d5a4c16437c011ed5.png delete mode 100644 docs/img/596a395127f6b3d5c9d1deac3f676680.png delete mode 100644 docs/img/599297cd25b4f282b1340e8e61e2e087.png delete mode 100644 docs/img/5a2430ba8091036f8e9e3308aa845de8.png delete mode 100644 docs/img/5a26f77375b52645c2387aec1f77a777.png delete mode 100644 docs/img/5b2694c5d35f9fdb42b43bb1f38ec29c.png delete mode 100644 docs/img/5b8558c08a5996468dcd0d1a119ac76b.png delete mode 100644 docs/img/5bf127e31dfc7f61e3134780f75114ff.png delete mode 100644 docs/img/5c0acf7979c7bc1e89dc413017b70870.png delete mode 100644 docs/img/5d1d35707b32fd37e1e218e8b1df1771.png delete mode 100644 docs/img/5d200a6bcc883fcfa57dac51301bc2e3.png delete mode 100644 docs/img/5d98850d2ad30c43029645c8c0486059.png delete mode 100644 docs/img/5dd66b504685d06e7b88c8f8a71d39ba.png delete mode 100644 docs/img/5e2e81b44d67af322056491cf32bb8da.png delete mode 100644 docs/img/5e3cf2019e5c2c58b6dd5868fffb9e81.png delete mode 100644 docs/img/5e63fee9a28bb3e02eb772646de82b5c.png delete mode 100644 docs/img/5e9b34b344fc5f08d74d5156c419f471.png delete mode 100644 docs/img/5ec08a62b534de16956701e85c41e6b5.png delete mode 100644 docs/img/5f13fe556b8940c2e698facdc219d16a.png delete mode 100644 docs/img/5f3552f35a06cac8dfa02c21fd48c852.png delete mode 100644 docs/img/5f6c85f0240f3ec56519dde74a715dba.png delete mode 100644 docs/img/5f87ce250e2ea1a803a3aeda446eca15.png delete mode 100644 docs/img/604dc2f6326d049dca30995958a84ad2.png delete mode 100644 docs/img/60958029f56e4c49c6a21082ea151191.png delete mode 100644 docs/img/611650a65dd2baf63b32d99fbe8e4a8a.png delete mode 100644 docs/img/618ce3d47266d9b45262489065b68cf7.png delete mode 100644 docs/img/618f6f4ba2a434609a1a9de7a9725e49.png delete mode 100644 docs/img/61dd95f1efb048c48f6ab843e79120d0.png delete mode 100644 docs/img/62073039b38c0dfa370251cfe07ca5e5.png delete mode 100644 docs/img/6224c1a367d53cc7bb5c5536af96ec6e.png delete mode 100644 docs/img/62313a9f27e05c60c700ec9625e27d02.png delete mode 100644 docs/img/6261dd255633edf09ab3d7245ccaf2c1.png delete mode 100644 docs/img/62b879dea0345cb8767d9cd4fb041f97.png delete mode 100644 docs/img/62d2b5c8435d31dff0a7fc689c288e8c.png delete mode 100644 docs/img/6314765d395236bbba1552cc65c1228c.png delete mode 100644 docs/img/631b8ad9816cfdd87ba106377c86c7a4.png delete mode 100644 docs/img/640bc8c28d8cd3035fbe0c4c1018d2d1.png delete mode 100644 docs/img/6427e1b107996a8eb9c401e1aa76bf87.png delete mode 100644 docs/img/645965e7ebb61697ff42cc06214ca5af.png delete mode 100644 docs/img/64d10619e1633359be63480f18d60b90.png delete mode 100644 docs/img/655bbae75a3608d2016397c70682f7d4.png delete mode 100644 docs/img/6564cc179b8bafb5577b9762c905010c.png delete mode 100644 docs/img/65770b50cd2119e84c6a852b44cf403d.png delete mode 100644 docs/img/659964d0e0d080d80881d6eb74aaaf7e.png delete mode 100644 docs/img/662e9b0c090a4f28c82eb779aabdc9c8.png delete mode 100644 docs/img/669c2de32e70a30ad93c28d4afd41491.png delete mode 100644 docs/img/66a70133eaa2327dce4cd61c485afcdb.png delete mode 100644 docs/img/66e7cbbe98ed69a6154c1adcd7ec4f6e.png delete mode 100644 docs/img/671787cdf6cd1dde3e748fae72d46779.png delete mode 100644 docs/img/674c1579957cca4a644bc90fb8fbb2f3.png delete mode 100644 docs/img/676537e7ead1101c5c0668a2adbc08d5.png delete mode 100644 docs/img/677d8f883392679f3fba97024a259665.png delete mode 100644 docs/img/67f7d8117f3d6bf60fe4d5e03bca7b6e.png delete mode 100644 docs/img/6809ef73be513357f41ebe6d325265d5.png delete mode 100644 docs/img/6867e53bf251ef0cb0e190c2e702d188.png delete mode 100644 docs/img/69a8b09a09599e563d1796eac13f945e.png delete mode 100644 docs/img/6a23362ee367dd144c2c8ea315b8dde0.png delete mode 100644 docs/img/6a2d24148988c584ff47ac7c526b48ff.png delete mode 100644 docs/img/6a33d33154553990ed15338a6f9c7b35.png delete mode 100644 docs/img/6ad15d363481e18f443e6709fc8d1368.png delete mode 100644 docs/img/6b48060a3ef4c055e75a74e6a396ebb9.png delete mode 100644 docs/img/6b5837eb8878551d4881e94247d957e9.png delete mode 100644 docs/img/6c431eb1e4bc729eceb4a6a36f0ea6b0.png delete mode 100644 docs/img/6cad1c326921f33ce6d53e7f2ebd1158.png delete mode 100644 docs/img/6d49650d7eab0173612011fa6d81dc4e.png delete mode 100644 docs/img/6de450be845a1f48a3feae9ce8e7be6e.png delete mode 100644 docs/img/6deba2d9890a294d17564cce39fcbaef.png delete mode 100644 docs/img/6dffd31bb67148d85ebfccbfc20abfd8.png delete mode 100644 docs/img/6e17896087b8446f53400a1c8d39c0d6.png delete mode 100644 docs/img/6e3e1e9c7013cd330bcb6380ef19ddf9.png delete mode 100644 docs/img/6ea99225391da160a92dd9fd1fb01cd7.png delete mode 100644 docs/img/6f52527c138db466f7fba27994ad67f8.png delete mode 100644 docs/img/70117ebf119dd375e0def463921cc363.png delete mode 100644 docs/img/7042e9f430cefb3a9c62194cec839692.png delete mode 100644 docs/img/705d87c5c620f8ade251682fceb074e3.png delete mode 100644 docs/img/70c613da170fdfd7665282f16becad56.png delete mode 100644 docs/img/7151cdf5255313b82b775852ed2aef73.png delete mode 100644 docs/img/71c2f22b2aef83c58870637723d6f7ef.png delete mode 100644 docs/img/72431eb6b6fe2dd27e2f6f9be7d91672.png delete mode 100644 docs/img/729f4c6815c7118c098b6925f2375918.png delete mode 100644 docs/img/72a8c3cb5bafa1e02d93f68a624b6094.png delete mode 100644 docs/img/72befe6a3da1a58465dbf55200aefd26.png delete mode 100644 docs/img/731943edb4428a3eb27c86d8d454d0e0.png delete mode 100644 docs/img/7355fc1627be101cc5ed59387d36b6a3.png delete mode 100644 docs/img/7356a350b6fac674fc341d110380f723.png delete mode 100644 docs/img/738413ec37e13f47706eeda5de3b9dfb.png delete mode 100644 docs/img/74017afb9b6459aed36b4c4a53df62e9.png delete mode 100644 docs/img/743ce9a40d40e900e957589a9024f116.png delete mode 100644 docs/img/74f87e79779a102e82a644227e50a2e4.png delete mode 100644 docs/img/75ca9285f50e058d4d85796b4d0b8e69.png delete mode 100644 docs/img/75ff7ad133721fa954b7960ba4edc025.png delete mode 100644 docs/img/75ffde23ab0100e58532632d19b84db0.png delete mode 100644 docs/img/768ab05f8c35931c200b6da1f8d92352.png delete mode 100644 docs/img/7710cb575c3aefd0769c3f6aadb6e879.png delete mode 100644 docs/img/771e5d2c3cbeba5811f78938b976dfdf.png delete mode 100644 docs/img/7727ed12caef6b761b73e4bd379c7839.png delete mode 100644 docs/img/773702223af81c9872bccd88d63ad3a5.png delete mode 100644 docs/img/77707dedee5c3b669fd992a327698362.png delete mode 100644 docs/img/7775f0c2ba5f85e61aae351b9939cdf2.png delete mode 100644 docs/img/77a2b247e60ad05b022cfd3f3a62c069.png delete mode 100644 docs/img/78801b2f265bdecdb7a5ff7e8be47802.png delete mode 100644 docs/img/7887f58c141f9c2e749a75158e430ac6.png delete mode 100644 docs/img/788efc08015bf62f608d47f16b49b4d7.png delete mode 100644 docs/img/7896b9b275d92d4b9cb2001cc464e509.png delete mode 100644 docs/img/78dac22706dcca5ce3855d23987289ea.png delete mode 100644 docs/img/793399d61e9710ebd809bd4c52901d68.png delete mode 100644 docs/img/7a0180479e056fe1c4aa11c3e8684906.png delete mode 100644 docs/img/7a0b5b2ee322d8676753d89561c1d3cb.png delete mode 100644 docs/img/7a1046341466c144b96bc573f0a16114.png delete mode 100644 docs/img/7a4195dce33a791e39b721499e4137ad.png delete mode 100644 docs/img/7a5996be0f8e75beb29e443470d79ee6.png delete mode 100644 docs/img/7a5c28bfcfa2942d75aaace7ccb281ce.png delete mode 100644 docs/img/7a612dcc3c18a6e6433eb5a57a99368d.png delete mode 100644 docs/img/7a9e6a406ba2eb40638f2b43024b368b.png delete mode 100644 docs/img/7ac2e224cec000f3932b1186bc1d643f.png delete mode 100644 docs/img/7b1af71091089deb54dbd357d9679d9c.png delete mode 100644 docs/img/7b7c08f411e1307c05a834071bccb610.png delete mode 100644 docs/img/7bcf8d15daa1fb25935d7638acd8eb43.png delete mode 100644 docs/img/7cc97c84798f08bc78608f1afa423aa2.png delete mode 100644 docs/img/7cfe14b5f606095866af7260c844d4e2.png delete mode 100644 docs/img/7d05273dffbd24f67285426b02a19ddc.png delete mode 100644 docs/img/7d08a10bdee492162fdb554fb3033f0d.png delete mode 100644 docs/img/7dc58177067caac48605788b7932d846.png delete mode 100644 docs/img/7ddc19b18c20bfa78acb7fe9dd2ede4b.png delete mode 100644 docs/img/7e5039b0d8fb74c5ea813e354f23493e.png delete mode 100644 docs/img/7ebc386f852ada24782fd3b7e5dd226e.png delete mode 100644 docs/img/7efae901a0febb2a8e969415dced271a.png delete mode 100644 docs/img/7f1a1847005ab07ba8259a9e67005213.png delete mode 100644 docs/img/7f8f5e942a32629817a87b08e33d9071.png delete mode 100644 docs/img/7fb24fed9f39dcdabb530523bcb8dc08.png delete mode 100644 docs/img/7ff67c276870da733a9bc04b2aa9d969.png delete mode 100644 docs/img/8013884e699eb543397343ba53b7f107.png delete mode 100644 docs/img/801adc20d157f18e08adbd379180f3c7.png delete mode 100644 docs/img/8069500bf085102224933129529dfa12.png delete mode 100644 docs/img/806d03909b4b194f095b4c69e175868d.png delete mode 100644 docs/img/8095440bd29d634de897ae56f76a4969.png delete mode 100644 docs/img/80a62bce7846a67c7743ef7324a58757.png delete mode 100644 docs/img/80a9fe0374f84134fa2b40172431604d.png delete mode 100644 docs/img/813cda0881e353d15eed9ca9417104f1.png delete mode 100644 docs/img/813e077e7aa22bb747b5f237984f1b22.png delete mode 100644 docs/img/81b83780f68abcbb32edb1eb48002a4d.png delete mode 100644 docs/img/81c888ba61ab652f9505d5b51406ed22.png delete mode 100644 docs/img/81cb03504811f2ae5f008de13366a1db.png delete mode 100644 docs/img/81fe297de1dccaedd3340735454273bc.png delete mode 100644 docs/img/8201105b83669750c4d60036b41f6c6d.png delete mode 100644 docs/img/8215c374294289cd2bd24399439403fd.png delete mode 100644 docs/img/82c2caa32c2aff60b744c3ede8725ac9.png delete mode 100644 docs/img/8308fbab7a41e24cad0bf6c358863ae3.png delete mode 100644 docs/img/8375b8805ee35febb22389954e463cb3.png delete mode 100644 docs/img/838245c530d1afaf54929d9edd3f6a24.png delete mode 100644 docs/img/83a4859fc1c1d9fc2ea68819a53eaea8.png delete mode 100644 docs/img/83da8fe833233875ee4fe28fa21eb1dd.png delete mode 100644 docs/img/8465cc4b8bf68fad2a64c9fc838c7939.png delete mode 100644 docs/img/8489a6c45ad75964ea7b4b54b9d9fcaa.png delete mode 100644 docs/img/85055487485aff8bd5dc0cf97f711d52.png delete mode 100644 docs/img/854d722d9976d5b36956ddbe41ceae48.png delete mode 100644 docs/img/85b07bb9804f9dd3c4e3edfc1e562f31.png delete mode 100644 docs/img/865329b4b113d6de44cf382bd77178fa.png delete mode 100644 docs/img/865915f0e39a0035ffc91de736f5a047.png delete mode 100644 docs/img/86614ecfb76f8a91344d98d3effa7d2a.png delete mode 100644 docs/img/86738432aa05c0c68fffb68c00788fa4.png delete mode 100644 docs/img/86b62f200c6aa129ed945d20ec0fbfa2.png delete mode 100644 docs/img/86c94810add9e77037bd8a135ef2b972.png delete mode 100644 docs/img/874270632cfad28b99af65b5d0275fee.png delete mode 100644 docs/img/878c3488cf7403499b80fcd402198e32.png delete mode 100644 docs/img/87be547831d2207399009a0f9dd4b91a.png delete mode 100644 docs/img/8855ae33dbb80420649c523afdf3fe8b.png delete mode 100644 docs/img/89c2a0a388333182ff39563629933a87.png delete mode 100644 docs/img/8a05f3552d23f56607411f613a5ceb05.png delete mode 100644 docs/img/8a2c3991978374372fe0370f27f4fad4.png delete mode 100644 docs/img/8a4af39c416005af074623092e32d782.png delete mode 100644 docs/img/8a56e678752a9bd9def98422dee92f3e.png delete mode 100644 docs/img/8a6c0fc733a099005b7f7f9bcfbfe2ff.png delete mode 100644 docs/img/8ab62c2dee9f26abae9b7f794b4f5fae.png delete mode 100644 docs/img/8c47dc71d95554edf7da34adb5acc575.png delete mode 100644 docs/img/8c80632a58ede646cb8f2046924a504a.png delete mode 100644 docs/img/8cebf5d928a8666adcfc25eccfeec89e.png delete mode 100644 docs/img/8d249dc6a1ff208c520bfc8cad423a4a.png delete mode 100644 docs/img/8d66587fae4dab1dca05f85389caa499.png delete mode 100644 docs/img/8db9ef3ba0d1153ab46b990e98372677.png delete mode 100644 docs/img/8e301ace1928e93f6138075596994c18.png delete mode 100644 docs/img/8e5585152d153d9f1f4073f0cddba269.png delete mode 100644 docs/img/8ec36cbe2f746b6b6cc0d28e1620899a.png delete mode 100644 docs/img/8edd1cbf476ddc76f3df25fdeff8b55c.png delete mode 100644 docs/img/8f07bae8fce74cd6b8276b7dd9e59c2e.png delete mode 100644 docs/img/8f8d204a16e9c896b01a62220529b921.png delete mode 100644 docs/img/8fc9989164e038f62ee1015c2f477d84.png delete mode 100644 docs/img/906ca69aaf7c7a7f53479eb595f83ec0.png delete mode 100644 docs/img/9079254cc7f9fbc13ee5005765608b59.png delete mode 100644 docs/img/909d20c0dd57155c8ac404a81c2a30cb.png delete mode 100644 docs/img/90bcd1f29936328bfb5d344868b8bb81.png delete mode 100644 docs/img/9101937463fa0be989f93d09d9f54d7a.png delete mode 100644 docs/img/911c6aa51b9202fc3dc3bdc143b30f82.png delete mode 100644 docs/img/9121e1772146daa5a3259be82cde8902.png delete mode 100644 docs/img/9149638f26311ced385bcc879401a8fd.png delete mode 100644 docs/img/91abd5be225ec3a5c131075cce857fb8.png delete mode 100644 docs/img/9246e597493024c10e4f678f7de7318e.png delete mode 100644 docs/img/9255a795b62eb0bbe1c91eab2f85c149.png delete mode 100644 docs/img/92601175945fcac1aee644fd449e9adf.png delete mode 100644 docs/img/9443fbb9f077bc7be6beb1486c392c96.png delete mode 100644 docs/img/94675a32947787d4e216a44e3047d0b5.png delete mode 100644 docs/img/94b9b90ebfb15979835f3e48d710cb45.png delete mode 100644 docs/img/94be136c7407855701b88eaded7db929.png delete mode 100644 docs/img/9570df3750a76ee8a88eddb48512daa3.png delete mode 100644 docs/img/95882a4976be6b95971ad0011fcd7617.png delete mode 100644 docs/img/95c0b87af108caee2a239482aec61675.png delete mode 100644 docs/img/95cf4cb85bf824cf0817d4d93d93934d.png delete mode 100644 docs/img/96aa3b50d60a091349e8d39c74877a5d.png delete mode 100644 docs/img/96c6ce839dca0e2ef2d69b8fbc0cff56.png delete mode 100644 docs/img/97acbf99c97921ca9e5837c4c70cfa4c.png delete mode 100644 docs/img/97c7baeb5e993264f4619e443bdacebc.png delete mode 100644 docs/img/9807a6b10b783af2ed7c8703958f017a.png delete mode 100644 docs/img/987208c515a3f2627904cc38b355dc15.png delete mode 100644 docs/img/98f7e80b6f738f9886082aeec3955fd5.png delete mode 100644 docs/img/993315f2d7b2aa15b2f3faa03d14705c.png delete mode 100644 docs/img/9950340e3b641e3f63d70fb29b2b05bb.png delete mode 100644 docs/img/996ea860188e6458fe761cf86b2b72b1.png delete mode 100644 docs/img/9a002df90c6ed1d01c8ae3a9817242df.png delete mode 100644 docs/img/9a996b513114d1fe39fa67c75e54df46.png delete mode 100644 docs/img/9aa51957855aec8590e352694fe75d5d.png delete mode 100644 docs/img/9abb23a34d42854b307382ef64d9a013.png delete mode 100644 docs/img/9b6a8d0d96113fcaadd766cecfbecdbc.png delete mode 100644 docs/img/9bc04e4a71e5ed3917efabdca45725c7.png delete mode 100644 docs/img/9bf0c7423d5735ccdfbdfe250f9a5452.png delete mode 100644 docs/img/9cb5bb737c82aad68bc28e2a7357e05c.png delete mode 100644 docs/img/9cc2ca9eb5afc113cacfbc529374fe3b.png delete mode 100644 docs/img/9d0b2e21b9be06d263674db132420176.png delete mode 100644 docs/img/9d8d2ee20801484a30509d79022ce53c.png delete mode 100644 docs/img/9d9a196fe723b5afc79e2d7b29fd0f4d.png delete mode 100644 docs/img/9e7b70cdf92b88509713225035e8e964.png delete mode 100644 docs/img/9e837ca8522bced4f7b219416c893fe4.png delete mode 100644 docs/img/9e8d2b5134e62de656bff96c60c04e10.png delete mode 100644 docs/img/9f29552692cfb04d323dc62cc4bc1d1e.png delete mode 100644 docs/img/9f4a21c247f193621ddd2f709c4536d7.png delete mode 100644 docs/img/9f6da2599274d0db274d6aa19a27fcfc.png delete mode 100644 docs/img/9f6f0b27f8e7df6c95a3262de502b39f.png delete mode 100644 docs/img/9fa8173be554c09a1397ae7e064f24e5.png delete mode 100644 docs/img/9fa9d16dd2302ab20167b7ff1ca62575.png delete mode 100644 docs/img/9fd7b49e564d04c79644e7fb8c7d7d5d.png delete mode 100644 docs/img/a0ea9fb503066a9bed377bc4dadb0d59.png delete mode 100644 docs/img/a102a1abbf4c760dba4b8b3daef8fe26.png delete mode 100644 docs/img/a14ce4f4a816ce9ceea3133c64b5f328.png delete mode 100644 docs/img/a15f0b2964d7094b019c5c33425ba75b.png delete mode 100644 docs/img/a198157b454aaa7b52001592ed46dc03.png delete mode 100644 docs/img/a19f68ae0d29248e1f28009bfb10a89a.png delete mode 100644 docs/img/a1efb7c23a97e2901852465c9168914f.png delete mode 100644 docs/img/a1f2874d536bbec36fba8132d424e066.png delete mode 100644 docs/img/a223e320ef570ec303a4e7346a899af7.png delete mode 100644 docs/img/a272933779dc7642aed4eb4acde12df9.png delete mode 100644 docs/img/a283d966822ac6a760d1a650273fbb3b.png delete mode 100644 docs/img/a33f8dce89b50020e90de33ed9a1e78e.png delete mode 100644 docs/img/a3626522e1409168b7c977ecebbaee6e.png delete mode 100644 docs/img/a3802569c81d8f8dd179fd218322a4ca.png delete mode 100644 docs/img/a3964b6d91003c90a72b5ca689b9e0c5.png delete mode 100644 docs/img/a3acce71246e984986cedc7a1cece8f9.png delete mode 100644 docs/img/a3b1935e9fe6f6222ef3200715c2f595.png delete mode 100644 docs/img/a48fc7b7ef95b54bd7ec66c17cad7dbb.png delete mode 100644 docs/img/a4e7c4f55411323814dd3b9cb30ab9f8.png delete mode 100644 docs/img/a5023ba03c96276e989dc4dbff1ca8dd.png delete mode 100644 docs/img/a51fbcc597a6bc32e35c13c31799e36c.png delete mode 100644 docs/img/a68a3a59d914e3b3ef4b3cd56a67c1e1.png delete mode 100644 docs/img/a6d06d0c4a54ff34856e0fbc07a50a60.png delete mode 100644 docs/img/a6d5e94df0d5d50038a0909603d69933.png delete mode 100644 docs/img/a6e9b62f94c53cd2f37f7300362137a9.png delete mode 100644 docs/img/a792de1a5441a31253d7a939dfd2de54.png delete mode 100644 docs/img/a7a0c433c6f01281a584ba08db57d159.png delete mode 100644 docs/img/a87cd8265a25e22c9a715c6372ff047a.png delete mode 100644 docs/img/a88692f85b1b05ca94199204a3cc1f00.png delete mode 100644 docs/img/a8ac57717b491533848b3ebca40aae86.png delete mode 100644 docs/img/a9325984eddfbb907563c5bf5003f704.png delete mode 100644 docs/img/a93d26d68bbc1f4954a7038e601ba3b6.png delete mode 100644 docs/img/a94b1f6b20cc665168a8d8359d195f78.png delete mode 100644 docs/img/a9880855e171e225a4b6c73ae1790538.png delete mode 100644 docs/img/a9b252d8a3c25b1c5166799c2233c569.png delete mode 100644 docs/img/aa2dd1694d7e1573bbd49200ed1ccb04.png delete mode 100644 docs/img/aabf40f234d995e031a5a1a0f66b5905.png delete mode 100644 docs/img/aafa273009fd04415444f040f8b4c6cc.png delete mode 100644 docs/img/ab48b86f7a0dfe92d4358f705bf938a8.png delete mode 100644 docs/img/abdf7941c6dc575d115b24d74a80a68b.png delete mode 100644 docs/img/ac3623994213ad815a95e7826a3cfc3e.png delete mode 100644 docs/img/ad2cdacdd36348cddf7d5c19d8940d5b.png delete mode 100644 docs/img/ad33446e7ba7897d31835424ce5e1feb.png delete mode 100644 docs/img/ad8ac82c77beb415e901040df8d93b17.png delete mode 100644 docs/img/adc0d64a6c4c1979d43d8bf1d8d485e8.png delete mode 100644 docs/img/adf6de6d0c4125be4e7a25119c0193e1.png delete mode 100644 docs/img/ae307552914d8ff018365bbde4d23479.png delete mode 100644 docs/img/ae54430a80c08d51c51659ac1a4dd8b9.png delete mode 100644 docs/img/ae5a500e2333874603b33328b017eb35.png delete mode 100644 docs/img/ae9e67c8841e45007cf186891963198f.png delete mode 100644 docs/img/aec2abca2644938484258f63a3df71d2.png delete mode 100644 docs/img/aeccb5cc55fc430d8645e67086388300.png delete mode 100644 docs/img/afdb4890858bdb916f8a393b22b8ef96.png delete mode 100644 docs/img/afe1906c0ba8e9c44277342a20a48db6.png delete mode 100644 docs/img/afec6ffec0973dba40a3e3bc2c244bad.png delete mode 100644 docs/img/b061980557a1e04fe2a2f3836b8dd9c1.png delete mode 100644 docs/img/b12f4326b7cccf6e82c375163842f58e.png delete mode 100644 docs/img/b132b9b00d4641da41d2cb7dca5ea55c.png delete mode 100644 docs/img/b15b2918f982a43ce2379b4f2ec765a9.png delete mode 100644 docs/img/b1b6eda7a121cb284375e6c83317263d.png delete mode 100644 docs/img/b1edf28a1aa5c59ffa779a574c4fc548.png delete mode 100644 docs/img/b203ae7a973815c03ea680032d1e75eb.png delete mode 100644 docs/img/b22d9654d7ad1868d2368d7e3f82e9a3.png delete mode 100644 docs/img/b2499f834ff0e8252829dd96bad93d97.png delete mode 100644 docs/img/b24c623173b50fdf9cd2676f1f311580.png delete mode 100644 docs/img/b36e59e0da065f17e34891efef2ee0a1.png delete mode 100644 docs/img/b379b1821f4b3d10ab0be61a59bcd491.png delete mode 100644 docs/img/b44c56313892b2d78da86b3f64519a98.png delete mode 100644 docs/img/b452a194fd7fbbdd22f73a1dda9b236a.png delete mode 100644 docs/img/b46359f55df1f2affc4fe493965ebd0a.png delete mode 100644 docs/img/b4a1ffd094e753d655825c1385561991.png delete mode 100644 docs/img/b4e4d114d9b2244a7848961617e05a95.png delete mode 100644 docs/img/b4e821b8b83e29e837f01f4620e557b7.png delete mode 100644 docs/img/b51efc1bf28d2363ac0b4e95c4318fbe.png delete mode 100644 docs/img/b6069220bf06467d1d434d3652c5d82a.png delete mode 100644 docs/img/b62968cd49816ab794ddd37a7dcfb7a2.png delete mode 100644 docs/img/b64907bafa7c740c069ec7395a5c5471.png delete mode 100644 docs/img/b6662e0dd306cb7949bbfd70db9b384c.png delete mode 100644 docs/img/b6696ad0d59c74a9a3974493085915f9.png delete mode 100644 docs/img/b66dc4137ac73e81c66e408cf9fcf391.png delete mode 100644 docs/img/b6a9c5aa2e348263baf61cb961ac802f.png delete mode 100644 docs/img/b6c59d6785a7941658315a7e8e148751.png delete mode 100644 docs/img/b6d33f6e98bcf842659df9a637bbaeb9.png delete mode 100644 docs/img/b6f3d1302a444a29689905582d97eb84.png delete mode 100644 docs/img/b7658a174f8b110251a289f5276dc822.png delete mode 100644 docs/img/b786322ea49fe7840203db128b72a5e0.png delete mode 100644 docs/img/b820c73810583190a0b1697c813fdda8.png delete mode 100644 docs/img/b962444c71ad27ba05dfc6bfc69269f4.png delete mode 100644 docs/img/b96e754d4dd8ba06065aac231327e160.png delete mode 100644 docs/img/b98f1bb6205ce5c692946b81e8c78003.png delete mode 100644 docs/img/ba294e1cb39daadf43b81f113e5ef506.png delete mode 100644 docs/img/ba685b05a8bb7c09fe3b58048ac4884e.png delete mode 100644 docs/img/baa29e50412ef4acd25e287681ad9e9e.png delete mode 100644 docs/img/bab81ba0a915cec8b039166d2defc074.png delete mode 100644 docs/img/bab86c57be5bd24c1329a7de56df456a.png delete mode 100644 docs/img/bad584bc95c83e26be6c67a2b54b26ae.png delete mode 100644 docs/img/bad7cd1d32a4bbf53fc1d27dcb3dd211.png delete mode 100644 docs/img/bb46a964436bb5fa1becb0900b9b0fc3.png delete mode 100644 docs/img/bb7ff3b17ad66e05a64ee12def63524b.png delete mode 100644 docs/img/bba7007707d548d73c9b6f0efad3c50b.png delete mode 100644 docs/img/bc03121106ba9696b67a617d6aeb3878.png delete mode 100644 docs/img/bcbedbd56c50879eb35c2fc2f534d693.png delete mode 100644 docs/img/bccfe6e36a18f67a038a8d90f2a6499f.png delete mode 100644 docs/img/bd8c2bfd77b1834503e87e4dc5b58420.png delete mode 100644 docs/img/bde796b0c195045db9849eef2842bd0e.png delete mode 100644 docs/img/be1eaf723e0603b081c01aa4310c304c.png delete mode 100644 docs/img/be7e963d6561756bb87f6fea0cd245fa.png delete mode 100644 docs/img/bec396562e8fe025cb7009de091ff2aa.png delete mode 100644 docs/img/bed33522d3ca08c8f5c920ba11fa05d4.png delete mode 100644 docs/img/bf46825f18b4b1998d719dffeab0c45c.png delete mode 100644 docs/img/bf99e217a01388f7c11df39626ab9e22.png delete mode 100644 docs/img/c01efbb34a741e385a7089a6799e9b59.png delete mode 100644 docs/img/c07889c4060a55eccd0e5dde9cb54f74.png delete mode 100644 docs/img/c0fd76908cea66a75fbd88aeb1ccec31.png delete mode 100644 docs/img/c10c0f19a1d0076044db1057cfb19875.png delete mode 100644 docs/img/c154238c63e38411889c5647b2cdf20e.png delete mode 100644 docs/img/c17db26d06341055b4834c8be77c604b.png delete mode 100644 docs/img/c187176d6b8d40e19db360c4c68ffb46.png delete mode 100644 docs/img/c187de65e481b5598b110fee5310776c.png delete mode 100644 docs/img/c1e086b58ff99dd5c5684a4571e568e3.png delete mode 100644 docs/img/c1ff864dc0ff6749087bc64b4781d767.png delete mode 100644 docs/img/c29b503c10922622f8ec612bd5168b10.png delete mode 100644 docs/img/c2b9039967ef1a229c8db9d7542591fb.png delete mode 100644 docs/img/c2f9cb2f2c88244b3dbf094572214a02.png delete mode 100644 docs/img/c3174e54aed82ba15686b58fc97068f1.png delete mode 100644 docs/img/c380b8ddd78f1d3281d0eeea7f19971c.png delete mode 100644 docs/img/c3948ae724d699cf1ec0da64ab3e6a14.png delete mode 100644 docs/img/c39dc466882289b42ad827dbbc05b39f.png delete mode 100644 docs/img/c3c27ff673c33bcd50004c2adb617d5f.png delete mode 100644 docs/img/c3c7ade0ae9c901a64dedf780f4efdaf.png delete mode 100644 docs/img/c3f7298c5f6d1b4dbd0a120ce98b9d06.png delete mode 100644 docs/img/c42e6852cdd2c45b0a814f7a659ee5d2.png delete mode 100644 docs/img/c43432893b48081561609f3667b7d497.png delete mode 100644 docs/img/c4c2d27f307636160d5773556cb14345.png delete mode 100644 docs/img/c5c16791538bd6838d6196a0b4ec5bb7.png delete mode 100644 docs/img/c5d0cec2b61194796c06f7c2c5294294.png delete mode 100644 docs/img/c5fbd1d44b70c599ae2cc8751ccfca14.png delete mode 100644 docs/img/c61ac95a0fe55d92ab3c711ea814a8c8.png delete mode 100644 docs/img/c6273de0eb8e4c8e7750113a7a66e7d6.png delete mode 100644 docs/img/c65afb6da67de7dea9950e2b151cca40.png delete mode 100644 docs/img/c67bf60334fcbd1f63dc0a6515d02eca.png delete mode 100644 docs/img/c67faf1fb34407861ed68b426e46da72.png delete mode 100644 docs/img/c6a214b87abe3ccc6a5287ea1d256834.png delete mode 100644 docs/img/c6c38f70c273cc4412f6d3bd29af3829.png delete mode 100644 docs/img/c6daa1e81d653cfd0b476144f1f71874.png delete mode 100644 docs/img/c7126ad3e897b95ff53bc9300bce4d43.png delete mode 100644 docs/img/c73475715fce01bf6b51edda84064d67.png delete mode 100644 docs/img/c736ba09ab7186102250ad9e624d79c1.png delete mode 100644 docs/img/c7562ae46b8ec150661af0c88f1a5aad.png delete mode 100644 docs/img/c77b45147112088b7940cb4ebcc5f4a6.png delete mode 100644 docs/img/c7918abdac813cb6d0b57bb682269b93.png delete mode 100644 docs/img/c79ebe6e2611f151d42f879eaee753fe.png delete mode 100644 docs/img/c7a5bc700a43a5880572c7f8cc0acdc7.png delete mode 100644 docs/img/c7b2f6ed12531da21a4512becdf843af.png delete mode 100644 docs/img/c7ee3e55c50a5f7d0e3faceda16e2dc2.png delete mode 100644 docs/img/c89e56a24555efe89bb446cf31b5f764.png delete mode 100644 docs/img/c932281f198053757ebfaf5a9b99b335.png delete mode 100644 docs/img/c9d2a45b5906d81d1118b63a832bbcd4.png delete mode 100644 docs/img/c9fb44f57074dc166ca07353bd7d31c7.png delete mode 100644 docs/img/ca33b4a75b3a1bc207dd2eddae8c3949.png delete mode 100644 docs/img/ca66569a1f77e8f2d208a42e0fee1794.png delete mode 100644 docs/img/cb3829e4d0ca25082e0f52f135a9d1de.png delete mode 100644 docs/img/cb4ff59b46134d4c61caedcf5a66a74f.png delete mode 100644 docs/img/cbd0470f26aadc25ca385447ade97392.png delete mode 100644 docs/img/cbf589a2c41bb518f8f2da56b76a59dc.png delete mode 100644 docs/img/cc52a99e48b72695add0c3e8efab158f.png delete mode 100644 docs/img/cc6935399d2235840119ad00eb778fc9.png delete mode 100644 docs/img/cca5497f42d0f0512126392deb81fa3e.png delete mode 100644 docs/img/cd210f00f72fcb8f7b00750457b0ab2c.png delete mode 100644 docs/img/cdce9b0515678bb30cdd0e1173a30749.png delete mode 100644 docs/img/ce119917ec56b195b909d4371bb994aa.png delete mode 100644 docs/img/ce2f28e687df2b322895dbfb6c48d389.png delete mode 100644 docs/img/ce6315abe3d0bf8a315febe4ab497312.png delete mode 100644 docs/img/ce7d1dd63f95f0330b281fd577aaa8d4.png delete mode 100644 docs/img/ce9e5e0a216a3a51d412bcb3cb11f420.png delete mode 100644 docs/img/ceb135d0071e5591ba58f5d2820e8f4b.png delete mode 100644 docs/img/ced764ccc10657c7f37a1ffe8a7e338a.png delete mode 100644 docs/img/cee9b8bcba36170c0ae5df4747bb8c44.png delete mode 100644 docs/img/cf0c5e15a3b44eb89d7513b961d6a274.png delete mode 100644 docs/img/cff0e046ac8eca2d9fde8f13a3365d66.png delete mode 100644 docs/img/d0143a44aad793332527a786d79524f7.png delete mode 100644 docs/img/d04d999de9102632af46c867821c47c3.png delete mode 100644 docs/img/d0707d7a1f822105efb120e442c32246.png delete mode 100644 docs/img/d0b0b1ad83988d76ef9c42281782f961.png delete mode 100644 docs/img/d0b9fcc8669d772a04d7d72ccb5a82cc.png delete mode 100644 docs/img/d0e9aaf43b9e19912342dddfb4b6be13.png delete mode 100644 docs/img/d15d948fc7d1b6e5c8dabacbe7c2fcc9.png delete mode 100644 docs/img/d198d958fcf8be60727c232ff69b9713.png delete mode 100644 docs/img/d19e6203a8567c2d6be7d878dd653654.png delete mode 100644 docs/img/d1c47110b6092ce9cec04ff22addfaa4.png delete mode 100644 docs/img/d1e835585272f821d777f384eed6a832.png delete mode 100644 docs/img/d241e2868510cfa5755170c1f02c78f3.png delete mode 100644 docs/img/d25fe780083ad8adbc24cf5fcc4feaf8.png delete mode 100644 docs/img/d277485e75207494ed3529dfcc7a6395.png delete mode 100644 docs/img/d2f0725099f8a66ed235d537ea6592a4.png delete mode 100644 docs/img/d32d8400522e9b5c9dd295fba00e1255.png delete mode 100644 docs/img/d345ea7938f401127d9471442b27eb27.png delete mode 100644 docs/img/d366ea5b34fa89da8adbcbd7ec51bc2a.png delete mode 100644 docs/img/d3cc00bf5599be56b0b3154ca2751cbc.png delete mode 100644 docs/img/d4a6279fcd73fa0a1dc68761261f4854.png delete mode 100644 docs/img/d4fcdfd2497a9936b17469dbafbd320e.png delete mode 100644 docs/img/d5171d012a8ff616032035f890d8dbd5.png delete mode 100644 docs/img/d5a5a91fe5e2b490b9388b43801b6a39.png delete mode 100644 docs/img/d5df9e77d389b58908ef235600ccc61c.png delete mode 100644 docs/img/d677bbf1d2f77fd7394cddab976e6f67.png delete mode 100644 docs/img/d67d5681f30c4769c6d92232eada26e4.png delete mode 100644 docs/img/d69ab181c07176aa054b0ceac08b702c.png delete mode 100644 docs/img/d79207e6e4f140448c9dd5e6ebe5e380.png delete mode 100644 docs/img/d7b0c4003d725d7125fdfb9c24aae17e.png delete mode 100644 docs/img/d7b5490ec5cb26ce71f19d5c56f003f3.png delete mode 100644 docs/img/d7cb226977bb46d9aaa1c1d7e195025a.png delete mode 100644 docs/img/d8baae909b3683bffff327402580132f.png delete mode 100644 docs/img/da13575f699b92fa864c2d3fae1fae9e.png delete mode 100644 docs/img/da1fdf492cc3f883353bb1997795a4a5.png delete mode 100644 docs/img/da60a36cf66e162640faa1f6cddaacdc.png delete mode 100644 docs/img/da827bb1926cf748cff537fec6ecc954.png delete mode 100644 docs/img/daa9468beb587bb748cbb9ec37bbb43f.png delete mode 100644 docs/img/db0182b2e43670178e35b1a3485ca25e.png delete mode 100644 docs/img/db0b9c2164464a7b2e1772c54232681a.png delete mode 100644 docs/img/db92110fba2588fed57b9af6bb2a381c.png delete mode 100644 docs/img/dbae11f07630ae759b8156031d0c496d.png delete mode 100644 docs/img/dbb80511727781129d638c6d3413a45f.png delete mode 100644 docs/img/dbb89cfb3c7539310a17d809c65c34a5.png delete mode 100644 docs/img/dc12d72310a7e06d2981fd6774b0903d.png delete mode 100644 docs/img/dc47374cec4da1de3e6476346ecf738e.png delete mode 100644 docs/img/dc5fe88e82dc925a618598e1ac284f39.png delete mode 100644 docs/img/dc75662feab34ea9fa5cb187a2d77739.png delete mode 100644 docs/img/dce9a8c36e06896553bd80f313c3a756.png delete mode 100644 docs/img/dd6b38427a8d14832104464d1603afed.png delete mode 100644 docs/img/ddc1b7f5f622e5c8f6581738b42964cb.png delete mode 100644 docs/img/de408a3a079dceb2e72d044abac21ac3.png delete mode 100644 docs/img/de608fa9aefa963f38d0d95043413679.png delete mode 100644 docs/img/def845e9e4d65228469b73dbc625c6cd.png delete mode 100644 docs/img/defc257dc0219b95ed3f3065afcaff94.png delete mode 100644 docs/img/e006fccde54b694d8c0f506a675942e0.png delete mode 100644 docs/img/e0fb1b28f653637edd64e072798f2385.png delete mode 100644 docs/img/e14dc9ee9528f343daf09a4dd5340b99.png delete mode 100644 docs/img/e18ff80d06980688066f9ec9404bd2da.png delete mode 100644 docs/img/e1f4f357a93d9362f282810a575d73e3.png delete mode 100644 docs/img/e20aec7ab33bbd61bae4825e6c9e35f1.png delete mode 100644 docs/img/e255c03f63cd814a974b54b2a9eb6b02.png delete mode 100644 docs/img/e28a59687a00b33f8174f2bcba18ac5d.png delete mode 100644 docs/img/e28a69b4996ee400ca3df4431df0ab13.png delete mode 100644 docs/img/e2a52ca7a089fcbd9b17f94875cba0ca.png delete mode 100644 docs/img/e2e1d44121ea24d32b388b9b84bd7ea5.png delete mode 100644 docs/img/e2e835cd5cd1be1afaa876fde2475fe5.png delete mode 100644 docs/img/e336833accfac93c8ed18718b667dab5.png delete mode 100644 docs/img/e3439aafb873fb6b7cdb3a5c6d51c3b9.png delete mode 100644 docs/img/e3489f723615b369a1abec41ebe9dea2.png delete mode 100644 docs/img/e392f78e991a2b0865f4a2fe825fd7fc.png delete mode 100644 docs/img/e3e09b090e6c8612f71f6dbd7244cbb2.png delete mode 100644 docs/img/e3eeb697453d582cf0ec4a746f30ed31.png delete mode 100644 docs/img/e3feca46add6d42b1afc92fcf120dbfb.png delete mode 100644 docs/img/e41f9ac1eea140d12bc83ea9312e71d0.png delete mode 100644 docs/img/e4581843d51522e972a6bb6716aa4b05.png delete mode 100644 docs/img/e470cb0eb6198f35d2db011704471fce.png delete mode 100644 docs/img/e4b88f4d9d317b9a38522ce9c63f84bc.png delete mode 100644 docs/img/e4fa52f4d522392d049bf73b1bb065a5.png delete mode 100644 docs/img/e545dd77cf453f5a97873da4f0083ebb.png delete mode 100644 docs/img/e57526dd100a1b0a33bdae55e3bf32c7.png delete mode 100644 docs/img/e5d9c1be329fa86c36614dea613f69a3.png delete mode 100644 docs/img/e5f179b25c2db023892b0a5f559b67d5.png delete mode 100644 docs/img/e6522f2cefe000bb17275b2a0451bf82.png delete mode 100644 docs/img/e661a6c6931c39f12f5b6833566b8947.png delete mode 100644 docs/img/e6ef8c883764c13967c9c9fcc5617980.png delete mode 100644 docs/img/e71e8b254fc758ab1a18ac4373e14344.png delete mode 100644 docs/img/e75b1239d806589f91c4a40aba7fdc05.png delete mode 100644 docs/img/e7acd74bc1dc7f0103e1b107aac74f84.png delete mode 100644 docs/img/e7d35854d0a726fbc4756cca4de4bf77.png delete mode 100644 docs/img/e7d7b1c5ccf121da6fcfbbc1eb78bbcd.png delete mode 100644 docs/img/e80fdda43c295fbc39611b3d918d4b75.png delete mode 100644 docs/img/e81fe926a5b379f37dfc5af80b8f83f3.png delete mode 100644 docs/img/e8c78799e0967a32ee1efeaea30f6213.png delete mode 100644 docs/img/e9dbc908a405f57008dbb80d1b8a9a70.png delete mode 100644 docs/img/e9fe43924bd4226e7b819104bcc8b8c1.png delete mode 100644 docs/img/ea01744c06eb8853392bfd840dc1517d.png delete mode 100644 docs/img/ea0e34b1e4e7a7a6379bc52995143bf9.png delete mode 100644 docs/img/ea665ae1d507d66f5a44d05ff9e32613.png delete mode 100644 docs/img/ea804dce7429c547bcf0703446150f59.png delete mode 100644 docs/img/eaa74cb66b0dd1b45f9b312af76c23fb.png delete mode 100644 docs/img/eac2240244a4d3fb9f3d16c19760ea53.png delete mode 100644 docs/img/ead8d62e426d9309f25a82da77770f59.png delete mode 100644 docs/img/eb191fa059117d5fb30958d7f6241704.png delete mode 100644 docs/img/eb36e4acf26c49641689d1a05dd8fa8a.png delete mode 100644 docs/img/eb851fa4a367081c86d0a2eac3bdca65.png delete mode 100644 docs/img/eb93aca89ce7486ca89aa5a9f4357617.png delete mode 100644 docs/img/ebaf329b1a5a45f2d451e4574f3d7857.png delete mode 100644 docs/img/ebc54b5fdcb529ff40d6d097098188ae.png delete mode 100644 docs/img/ec9eebd0b49b9f0b94eb6d12fadd7cf5.png delete mode 100644 docs/img/eca0c9ec85c6dfc8dbde06c368a9d94d.png delete mode 100644 docs/img/ecb561241f5fcf0f0695ee4e29069b11.png delete mode 100644 docs/img/ecb68ae545435c5eb9229937635a5aee.png delete mode 100644 docs/img/ece990045e1a7ae1237b5f2912a2df3e.png delete mode 100644 docs/img/ed5a96971ab453e6d33b3ad9079bd47c.png delete mode 100644 docs/img/ed70f998a438f30a2762829a3cc5b5b6.png delete mode 100644 docs/img/ed7d654fa8271709dfa6c567b48c5de6.png delete mode 100644 docs/img/ed8bdb5d349320bc1d470f096578dfe7.png delete mode 100644 docs/img/ed8e7e034537074afe857aa208bd315c.png delete mode 100644 docs/img/ee0396a1cb32367d7ba7c6f4a7262c7f.png delete mode 100644 docs/img/ee04e8247fff074d8b122d6b5ec848f4.png delete mode 100644 docs/img/ee8ead7652026dd03a75e2551122350f.png delete mode 100644 docs/img/eeadc0bb054ceec8f09d2c44982f4103.png delete mode 100644 docs/img/eec4d73b57835f2caa3ad88d45260b49.png delete mode 100644 docs/img/ef26fe9cbbfc0c1f060c6e7c578bd450.png delete mode 100644 docs/img/ef67d77909a856277f9f2821fa0c18ea.png delete mode 100644 docs/img/ef8ff296b4a28ddcd52a6c4fd3ded454.png delete mode 100644 docs/img/f08e838598cbf1f61321a510bb24c6a1.png delete mode 100644 docs/img/f0a8b71ac0a74f03724937e45e8782b9.png delete mode 100644 docs/img/f0d4bcbd75dfae1dbbc867343090a4ca.png delete mode 100644 docs/img/f0d8585fb8235b36b1464ed1d142a4c0.png delete mode 100644 docs/img/f12701028e6548c505318ef2d4e378db.png delete mode 100644 docs/img/f1e26381a4d60fa929a9285e04721656.png delete mode 100644 docs/img/f293e9e73b2cf8c4ef278104fbd068d5.png delete mode 100644 docs/img/f2d420adddd87cc8087fea62246e7b67.png delete mode 100644 docs/img/f313f74b73573e7a2449aa6d00ae7934.png delete mode 100644 docs/img/f3550bb5a4a6074ef46ae27848adc308.png delete mode 100644 docs/img/f36631c8d1fd9cb42fb7c58a495c24be.png delete mode 100644 docs/img/f380fbb3646558d8becf561df5894c38.png delete mode 100644 docs/img/f406b88682259abab36d343539b1664c.png delete mode 100644 docs/img/f44886a0dc98ed48e0854c7d2ac6a220.png delete mode 100644 docs/img/f4a6d7020c73bd402fc6428d02a4e550.png delete mode 100644 docs/img/f52fe1b4788045a510a1783bfb546b6f.png delete mode 100644 docs/img/f5739c1b278ddd91c915c534514b4235.png delete mode 100644 docs/img/f5f57e5e3d074f574a5b26d23eb0b721.png delete mode 100644 docs/img/f60803ec89d6ae84310e181507eb2ad8.png delete mode 100644 docs/img/f652f5dac5bec0bb81edc08cbfd7a01b.png delete mode 100644 docs/img/f6b1fbcae610d7e8b04ec117e32573f3.png delete mode 100644 docs/img/f6e26efd0e5206a2e9d1bf43865b9f4a.png delete mode 100644 docs/img/f7050ce0aa3559c639befc2fe3d7aacb.png delete mode 100644 docs/img/f7ae6b6be5d2dd02010825234555fee6.png delete mode 100644 docs/img/f7bf9b7c134eb4ee2629082be8992d5a.png delete mode 100644 docs/img/f81ccf2ef168880473496ad46b2d991f.png delete mode 100644 docs/img/f8c3e75c59db0de2544d73c590e98696.png delete mode 100644 docs/img/f8c421bf7dd271d1aeee39c15aab183d.png delete mode 100644 docs/img/f8cfebdbd362ba809375c8d9c38416ba.png delete mode 100644 docs/img/f9144e03cf945bcf549c131e2816298f.png delete mode 100644 docs/img/f94efd219528f7641e29dbca3bc215ad.png delete mode 100644 docs/img/f9a1ce8fe1042543bc2355950f642a05.png delete mode 100644 docs/img/f9be0028bdcfdf495f7fd0f148de5214.png delete mode 100644 docs/img/fa591f90dc1e8840fe7fd692f24dcffe.png delete mode 100644 docs/img/fad2df1fa4371b39b3ea1032a8ad236c.png delete mode 100644 docs/img/fb0d67715160a5a049ca0b8e7d7af698.png delete mode 100644 docs/img/fb8ded1bb07112b49dc42dff02fe01f7.png delete mode 100644 docs/img/fc09af9303f629aff49a9a4dc5327e65.png delete mode 100644 docs/img/fc692dde7a0c9ce30f0036b1a05b2768.png delete mode 100644 docs/img/fc80ee243381890526471d6fc360f7cf.png delete mode 100644 docs/img/fd0991d7941fed77c4d82bd219ec713b.png delete mode 100644 docs/img/fd15df8f9a5a46582845610e8b5881bb.png delete mode 100644 docs/img/fd1e35952a7538923376d54325798b24.png delete mode 100644 docs/img/fd24d5842b589870b2063edaca149511.png delete mode 100644 docs/img/fd54213f0e98a4b2f6482ab98d497410.png delete mode 100644 docs/img/fd7124974fcca5463d2ce7385bfb700e.png delete mode 100644 docs/img/fd79e7dae86040d6e1249793ae0b1502.png delete mode 100644 docs/img/fe213f080418c1bd6d92faa7e49770d3.png delete mode 100644 docs/img/fe601ff47f99f0fd5220742f61007450.png delete mode 100644 docs/img/fe7d77556848be98a93c7b6516b0e6f8.png delete mode 100644 docs/img/fe827d4bc97b90c3a250af05fd988fc4.png delete mode 100644 docs/img/fee3cc5116f884089066af3908605cbe.png delete mode 100644 docs/img/fef11068ab5cc264b208a4bd3addb7fa.png delete mode 100644 docs/img/ff2558c68f4e646052a0c39a7d3f8710.png delete mode 100644 docs/img/ff949c9ca6d0d99318f68a1784db7950.png delete mode 100644 docs/img/logo-s.png delete mode 100644 docs/img/logo.png diff --git a/.DS_Store b/.DS_Store index d0153a4cb732306fee059831bb5a22b39364135d..f2a883c62d873b577b831901627c0b17420e3603 100644 GIT binary patch delta 87 zcmZoMXfc=|#>B)qu~2NHo}wr-0|Nsi1A_oVQh9MfQcivnkbiPx;c`Ys=FOa}f{dF* mID}ayHeBD#&cV+C)V5iW<2&B!ku~2NHo}w^20|Nsi1A_nqLv~VmaY0f}e$r+|=9SF+APH86c!nf~ zd?3u8EWy;zVPavfqhM@cJb68nqd1aeS#VKaPJUiG$gIsgOoEK!JPdh2T`3HyKofGo wtWt&?hSbSoOt)~#@i0H#%+A5j0dySD3E!C~^NTog0Nus}G?rm=gvc6Z04-}MLjV8( diff --git a/README.md b/README.md deleted file mode 100644 index 0e2427c..0000000 --- a/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# 关于CODEChina - -欢迎使用CodeChina代码托管平台,本产品基于 Gitlab CE 版本 (13.2 stable) 开发并,目前版本提供了代码仓库管理、组织管理等基本功能,欢迎体验使用。 - -体验使用过程中如果遇到任何问题,请与我们联系。 - -## 联系我们 - -- [点此向 CODEChina 产品提交 issue](https://codechina.csdn.net/codechina/beta/~/issues) - -- CODEChina微信群(1) - -- CODEChina微信群(2) - -- CODEChina观察员(1) Wechat / QQ - -- CODEChina观察员(2) Wechat / QQ \ No newline at end of file diff --git a/SUMMARY.md b/SUMMARY.md deleted file mode 100644 index 529c45c..0000000 --- a/SUMMARY.md +++ /dev/null @@ -1,7 +0,0 @@ -# Summary - -* [首页](README.md) -* [概览](docs/002.md) -* [组织](docs/033.md) - * [子组织](docs/046.md) - diff --git a/book.json b/book.json deleted file mode 100644 index 2040193..0000000 --- a/book.json +++ /dev/null @@ -1,66 +0,0 @@ -{ -"title" : "CODEChina帮助文档", -"author" : "Miykael", -"description" : "CODEChina开源社区用户使用及帮助文档", -"language" : "zh-hans", -"links" : { - "sidebar" : { - - } -}, -"plugins" : [ - "favicon", - "back-to-top-button", - "popup", - "theme-fexa", - "-sharing", - "sharing-plus", - "tbfed-pagefooter" - ], - "variables": { - "themeFexa":{ - "nav":[ - { - "url":"/", - "target":"_blank", - "name": "开始使用" - } - ] - } - }, - "pluginsConfig": { - "favicon": { - "shortcut": "/docs/img/logo-s.png", - "bookmark": "/docs/img/logo-s.png", - "appleTouch": "/docs/img/logo-s.png", - "appleTouchMore": { - "120x120": "", - "180x180": "/docs/img/logo-s.png" - } - }, - "theme-fexa":{ - "search-placeholder":"输入关键字搜索", - "logo":"/docs/img/logo.png", - "favicon": "", - "url":"/" - }, - "sharing": { - "douban": true, - "facebook": false, - "google": false, - "qq": true, - "qzone": true, - "twitter": false, - "weibo": true, - "all": [ - "douban", "facebook", "google", "instapaper", "linkedin","twitter", "weibo", - "messenger","qq", "qzone","viber","whatsapp" - ] - }, - "tbfed-pagefooter": { - "copyright":"Copyright © CODECHINA 2020", - "modify_label": "该文件修订时间:", - "modify_format": "YYYY-MM-DD HH:mm:ss" - } - } -} \ No newline at end of file diff --git a/docs/002.md b/docs/002.md deleted file mode 100644 index fb98966..0000000 --- a/docs/002.md +++ /dev/null @@ -1,163 +0,0 @@ -# 帮助文档 - -*访问[codechina.csdn.net/docs,](codechina.csdn.net/docs)以获得优化的导航,可发现性和可读性。* - -## 概览[](#概览 "Permalink") - -欢迎您使用CODEChina,如果您是 Github 或 GitLab 的初级用户,我们建议您从查看本文档开始学习如何使用 CODEChina。如果您熟悉以上两个产品中的一个或多个,您可以直接开始 CODEChina 产品,在产品中我们也会为您设置帮助提示,您可以随时回来查看我们的产品文档。 - -| 基础入门 | 基本入门 | -| --- | --- | -| [**用户文件**](user/index.html)熟悉CODEChina 中的功能和概念. | [**管理员文件**](administration/index.html)管理员入门 | -| [**为 CODEChina 做贡献**](#为codechina开源做贡献)为CODEChina开源贡献力量! | [**是 Git 和 GitLab/GitHub 的新手吗?**](#刚开始使用git吗)我们有资源可以帮助您入门 | -| [**从另一个平台进入 CODEChina?**](#从另一个平台进入到codechina)请查阅我们的便捷指南 |  | - - -## 热门话题[](#热门话题 "Permalink") - -以下是我们推荐的一些主题: - -### 计划[](#计划 "Permalink") - -无论您使用 Waterfall,敏捷还是会话开发,CODEChina 均可简化您的协作工作流程。 - -使用 CODEChina 灵活的项目管理工具可视化,确定优先级,协调和跟踪进度。 - -以下文档与 DevOps **计划**阶段有关: - -| 计划主题 | 描述 | -| --- | --- | -| [Burndown Charts](user/project/milestones/burndown_charts.html) | 在特定的里程碑中观察项目的进度 | -| [讨论](user/discussions/index.html) | 问题,提交和合并请求中的线程,注释和可解决线程 | -| [截止日期](user/project/issues/due_dates.html) | 跟踪发行期限| -| [Epics](user/group/epics/index.html) | 跟踪共享主题的问题组| -| [问题](user/project/issues/index.html) ,包括[机密问题](user/project/issues/confidential_issues.html) ,[发布和合并请求模板](user/project/description_templates.html) ,和[移动的问题](user/project/issues/managing_issues.html#moving-issues) | 项目问题并限制对问题的访问,并创建用于提交新问题和合并请求的模板。 此外,在项目之间转移问题。| -| [标签](user/project/labels.html) | 分类问题或使用描述性标签合并请求| -| [里程碑](user/project/milestones/index.html) | 设置发布问题和合并请求的里程碑,并带有可选的截止日期| -| [看板](user/project/issue_board.html) | 在 Scrum 或看板上显示问题| -| [快捷方式](user/project/quick_actions.html) | 针对问题或合并请求的常见操作的快捷方式,而无需单击按钮或在WEB界面中使用下拉菜单。 | -| [关联 Issue](user/project/issues/related_issues.html) | 在问题之间建立关系. | -| [Roadmap](user/group/roadmap/index.html) | 可视化史诗般的时间表 | -| [时间跟踪](user/project/time_tracking.html) | 跟踪花费在问题和合并请求上的时间 | -| [代办事项](user/todos.html) | 通过在简单仪表板上显示的时间顺序列表,跟踪需要注意的工作。 | - -[返回概览](#概览) - -### 新建[](#新建 "Permalink") - -将源代码整合到一个易于管理和控制的[分布式版本控制系统中](https://en.wikipedia.org/wiki/Distributed_version_control) ,而不会中断您的工作流程。 - -CODEChina 存储库随附分支工具和访问控制,可为项目和代码的协作提供可扩展的单一事实来源。 - -以下文档与 DevOps **新建**阶段有关: - -#### 项目和组织[](#项目和组织 "Permalink") - -| 创建主题-项目和组 | 描述 | -| --- | --- | -| [全局搜索](user/search/advanced_global_search.html) | 利用 Elasticsearch 在整个 CODEChina 实例上进行更快,更高级的代码搜索| -| [语法检索](user/search/advanced_search_syntax.html) | 使用高级查询获得更具针对性的搜索结果| -| [Contribution analytics](user/group/contribution_analytics/index.html) | 请参阅小组贡献者的详细统计信息| -| [创建](basics/create-project.html)并[fork](basics/fork-project.html)项目,以及[导入项目](user/project/settings/import_export.html) [](user/project/settings/import_export.html) [实例之间](user/project/settings/import_export.html) | 创建,复制和移动项目 | -| [锁定文件](user/project/file_lock.html) | 锁定文件以避免合并冲突 | -| [组织](user/group/index.html) and [子组织](user/group/subgroups/index.html) | 分组组织您的项目 | -| [Issue 分析](user/group/issues_analytics/index.html) | 检查每月创建了多少个问题| -| [项目](user/project/index.html) ,包括[项目访问](public_access/public_access.html)和[设置](user/project/settings/index.html) | 托管源代码,并控制项目的可见性和设置配置。| -| [Search through CODEChina](user/search/index.html) | 搜索问题,合并请求,项目,组和待办事项。| -| [Web IDE](user/project/web_ide/index.html) | 在 WebIDE 中编辑文件| -| [Wikis](user/project/wiki/index.html) | 使用内置的 Wiki 来管理您的文档| - -[返回概览](#概览) - -#### 代码仓库[](#代码仓库 "Permalink") - -| 创建主题-代码仓库 | 描述 | -| --- | --- | -| [分支](user/project/repository/branches/index.html)和[默认分支](user/project/repository/branches/index.html#default-branch) | 如何在 CODEChina 中使用分支 | -| [提交](user/project/repository/index.html#commits) and [署名提交](user/project/repository/gpg_signed_commits/index.html) | 处理提交,并使用 GPG 对您的提交进行签名。 | -| [创建分支](user/project/repository/web_editor.html#create-a-new-branch) , [创建](user/project/repository/web_editor.html#create-a-file)并[上传](user/project/repository/web_editor.html#upload-a-file)文件,并[创建目录](user/project/repository/web_editor.html#create-a-directory) | 创建分支,创建和上传文件以及创建目录。| -| [删除已合并的分支](user/project/repository/branches/index.html#delete-merged-branches) | 合并更改后的批量删除分支| -| [文件模板](user/project/repository/web_editor.html#template-dropdowns) | 通用文件的文件模板 | -| [文件](user/project/repository/index.html#files) | 文件管理 | -| [Jupyter Notebook 文件](user/project/repository/jupyter_notebooks/index.html#jupyter-notebook-files) | 对`.ipynb`文件的支持 | -| [保护分支](user/project/protected_branches.html) | 使用受保护的分支 | -| [推送规则](push_rules/push_rules.html) | 对项目推送的附加控制 | -| [代码仓库](user/project/repository/index.html) | 在网页中管理源代码仓库 | -| [镜像代码仓库](user/project/repository/repository_mirroring.html) | 推入或拉出外部的代码仓库 | -| [处理合并请求](user/project/repository/web_editor.html#tips) | 在提交时启动合并请求 | - -[返回概览](#概览) - -#### 合并请求[](#合并请求 "Permalink") - -| 创建主题-合并请求 | 描述 | -| --- | --- | -| [在本地处理合并请求](user/project/merge_requests/reviewing_and_managing_merge_requests.html#checkout-merge-requests-locally) | 在本地处理合并请求的提示| -| [Cherry-pick](user/project/merge_requests/cherry_pick_changes.html) | 对更改进行 Cherry Pick | -| [Merge request thread resolution](user/discussions/index.html#moving-a-single-thread-to-a-new-issue) | 解析线程,将合并请求中的线程移至问题,并且仅在解决所有线程后才允许合并请求。 | -| [合并请求](user/project/merge_requests/index.html) | 合并请求管理 | -| [草稿合并请求](user/project/merge_requests/work_in_progress_merge_requests.html) | 防止合并草稿合并请求 | - -[返回概览](#概览) - - -## 刚开始使用Git/CODEChina/GitLab/Github?[](#刚开始使用git吗 "Permalink") - -使用新系统可能让您觉得难以入手,我们有以下文档可快速提升您的相关知识: - -| 主题 | 描述 | -| --- | --- | -| [Basics guides](basics/README.html) | 开始在命令行和 CODEChina 上工作 | -| [Workflow overview]() | 利用最佳的工作流程增强您的工作流程 | -| [Markdown](user/markdown.html) | 高级格式化系统(Markdown) | - -[返回概览](#概览) - -### 账户管理[](#账户管理 "Permalink") - -了解有关帐户管理的更多信息: - -| 主题 | 描述 | -| --- | --- | -| [用户账号](user/profile/index.html) | 管理您的帐户 | -| [账号验证](topics/authentication/index.html) | 具有两因素身份验证的帐户安全性,设置您的 SSH 密钥,并部署密钥以安全地访问您的项目。 | -| [用户权限](user/permissions.html) | 了解项目中的每个角色可以做什么 | - -[返回概览](#概览) - -### Git 和 CODEChina[](#Git和CODEChina "Permalink") - -了解有关使用 Git 以及将 Git 与 CODEChina 结合使用的更多信息: - -| 主题 | 描述 | -| --- | --- | -| [Git](topics/git/index.html) | Git 入门,分支策略,Git LFS 和高级用法 | -| [Git cheat sheet](https://about.gitlab.com/images/press/git-cheat-sheet.pdf) | 下载描述最常用的 Git 操作的 PDF| -| [Work Flow](topics/flow.html) | 使用 Work Flow 策略探索 Git 的精华 | - -[返回概览](#概览) - -## 从另一个平台进入到 CODEChina?[](#从另一个平台进入到 codechina "Permalink") - -如果您是从另一个平台进入 CODEChina,您会发现以下有用信息: - -| 主题 | 描述 | -| --- | --- | -| [导入项目](user/project/import/index.html) | 从 GitHub,Bitbucket,GitLab.com,FogBugz 和 SVN 导入项目 | -| [从SVN迁移](user/project/import/svn.html) | 将 SVN 存储库转换为 Git 和 CODEChina | - -[返回概览](#概览) - - -## 为CODEChina开源做贡献[](#为codehina开源做贡献 "Permalink") - -CODEChina 是开源的,您可以通过以下方式为我们的开源社区做出贡献: - - -| 主题 | 描述 | -| --- | --- | -| [开发](development/README.html) | 如何在开发上做贡献 | -| [协议](legal/README.html) | 贡献者许可协议 | -| [文档](development/documentation/index.html) | 如何在文档上做贡献| - -[返回概览](#概览) \ No newline at end of file diff --git a/docs/033.md b/docs/033.md deleted file mode 100644 index e7c4c19..0000000 --- a/docs/033.md +++ /dev/null @@ -1,337 +0,0 @@ -# 组织[](#组织 "Permalink") - -通过 CODEChina 的组织,您可以: - -* 将相关项目组装在一起 -* 授予成员一次访问多个项目的权限 - -~~有关 组的视频介绍,请参见[GitLab 大学:存储库,项目和组](https://www.youtube.com/watch?v=4TWfh1aKHHw)~~ - -组也可以嵌套在[子组织中](subgroups/index.html) 。 - -通过单击顶部导航中的**组织>您的组织**来找到您的组织。 - -[![GitLab Groups](img/53bcd8c2d2c69aceb7db6677802be6b1.png)](img/groups.png) - -" **组织"**页面显示: - -* 选择**您的组织**后, 将会显示**您**所属的全部组织(包括子组织) -* 选中" **浏览组织"**时将显示所有公开的组织列表 - -" **组织"**页面上的每个组都列出了: - -* 它有多少个子组 -* 它包含多少个项目 -* 该组织有多少个成员,注意这里面不包括从父组织继承的成员 -* 如果您具有足够的权限,还将显示组织设置的按钮 -* 如果您是成员,也会看到退出该组的按钮 - -## 用户示例[](#用户示例 "Permalink") - -您可以出于多种原因创建组织,例如: - -* 通过在同一[命名空间](#命名空间)下组织相关项目并将成员添加到顶级组,可以以较少的步骤授予对多个项目和多个团队成员的访问权限。 -* 通过创建小组并包括适当的成员,可以轻松地`@mention`所有团队中的问题并合并请求。 - -例如,您可以为公司成员创建一个[组织](subgroups/index.html) ,并为每个单独的团队创建一个[子组织](subgroups/index.html). 假设您创建了一个名为`company-team` ,并且在该组中为各个团队`backend-team` , `frontend-team`和`production-team`创建了子组。 - -* 从问题开始新的实现时,请添加评论: *" `@company-team` ,让我们开始吧!* *`@company-team/backend-team`您很高兴!"* -* 当您的后端团队需要前端提供帮助时,他们会添加一条评论: *" `@company-team/frontend-team`您能在这里帮助我们吗?"* -* 前端团队完成实施后,他们会评论: *" `@company-team/backend-team` ,它已经完成!* *让我们将其推送到`@company-team/production-team` !* - -## 命名空间[](#命名空间 "Permalink") - -在 CODEChina 中,命名空间将会是用户名称、组织名称或子组名的唯一名称。 - -* `https://codechina.csdn.net/username` -* `https://codechina.csdn.net/groupname` -* `https://codechina.csdn.net/groupname/subgroup_name` - -例如,假设有一个名为 Miykael 的用户: - -1. Miykael 在 CODEChina 上使用用户名`Miykael`创建了一个帐户; 他们的个人资料将在`https://codechina.csdn.net/miykael`下访问 -2. Miykael 为他们的团队创建了一个组织,名称为`csdn-team` ; 该组织及其项目将在`https://codechina.csdn.net/csdn-team`下访问 -3. CSDN 创建了一个名为`coding`的子组织 ; 该子组织及其项目将在`https://codechina.csdn.net/csdn-team/coding`下访问 - -通过这样做: - -* 任何团队成员都使用`@miykael`提及 Miykael -* CSDN通过`@csdn-team`提及了团队中的每个人 -* CSDN只提及`@csdn-team/coding` - -> 注:出于系统安全以及知识产权、商标保护等因素,我们预留了一部分namespace,如果您的用户名与预留这部分namespace有冲突,系统将会自动对您在CODEChina中的namespace进行调整。 - -## 组织内的Issue及合并请求[](#组织内的Issue及合并请求 "Permalink") - -Issue及合并请求是项目的一部分。对于组织,您可以在单个列表视图中查看所有[Issue](../project/issues/index.html#issues-list),也可以查看组织中所有项目的[请求合并](../project/merge_requests/reviewing_and_managing_merge_requests.html#view-merge-requests-for-all-projects-in-a-group)。 - -### 批量编辑Issue及合并请求[](#批量编辑Issue及合并请求 "Permalink") - -有关详细信息,请参考[批量编辑Issue及合并请求](../group/bulk_editing/index.html) 。 - -## 新建一个组织[](#新建一个组织 "Permalink") - -> 有关不允许用作组名的单词列表,请参见[保留名称](../reserved_names.html) . - -通过以下方式,您可以创建一个新的组织: - -* 在顶部菜单中,依次单击" **组织"**和" **您的组织"** ,然后单击绿色按钮" **新建组织"** - - [![new group from groups page](img/7e5039b0d8fb74c5ea813e354f23493e.png)](img/new_group_from_groups.png) - -* 或者,在顶部菜单中,展开`+`号并选择**新建组织** - - [![new group from elsewhere](img/ee8ead7652026dd03a75e2551122350f.png)](img/new_group_from_other_pages.png) - -添加以下信息: - -[![new group information](img/ad2cdacdd36348cddf7d5c19d8940d5b.png)](img/create_new_group_info.png) - -1. **组织名称**将自动填充 URL(自动填充不支持中文的组织名称)。(可选)您可以修改它,这是在组视图中显示的名称,该名称只能包含: - * 字母数字字符 - * 中文 - * 下划线 - * 连接符`-`和点 - * 空格 -2. **组 URL**是将托管项目的名称空间. 该网址只能包含: - * 字母数字字符 - * 下划线 - * 连接符`-`和点(不能以连接符`-`开头或以点结尾) -3. (可选)可以为新建的组织添加一段简单介绍,以便其他用户了解该组织 -4. (可选)可以为新建的组织上传一个头像 -5. 选择新建的组织 [是否公开可见](../../public_access/public_access.html) - - -## 为组织添加一个用户[](#为组织添加一个用户 "Permalink") - -将多个项目放在一个组织中的好处是,您可以通过一个操作就授予某个用户访问该组织中所有项目的权限。 - -在**组织设置-组织成员设置**中将成员添加到组织,可以通过用户名或者注册邮箱来添加组织成员。 - -[![add members to group](img/ece990045e1a7ae1237b5f2912a2df3e.png)](img/add_new_members.png) - -选择[权限级别](../permissions.html#permissions) ,然后添加新成员。您还可以设置该用户的到期日期。 - -假设一个有两个项目的组织: - -* 在**组织设置-组织成员设置**页面上,可以将新用户添加到组织中; -* 当将新用户设置为组织的**开发人员**成员时,他们将获得**开发人员**对该组内**所有项目的**访问权限。 - -如果要提高特定项目的现有用户的访问权限,请将其作为新成员再次添加到特定项目中,并为其添加相应的项目成员角色。 - -## 申请加入组织[](#申请加入组织 "Permalink") - -作为组织所有者,您可以启用或禁用非组织成员请求访问组织的功能。该功能可以通过再**组织设置-常规设置-权限,LFS,2FS**中单击**允许用户请求访问(如果可见性是公开或内部的)**进行开启,该功能默认为启用状态。 - -如果组织启用了该设置,则非组织成员用户可以请求成为组织的成员。在您要加入的组织页中,单击组织名称后面的**申请权限**按钮即可。 - -[![Request access button](img/aa2dd1694d7e1573bbd49200ed1ccb04.png)](img/request_access_button.png) - -申请访问权限后: - -* 通过电子邮件将您的申请告知给组织的所有者(电子邮件将发送给最近活跃的组织所有者) -* 任何组织所有者都可以在组组织成员设置页面上批准或拒绝您的申请 - -[![Manage access requests](img/fd0991d7941fed77c4d82bd219ec713b.png)](img/access_requests_management.png) - -如果您在申请权限被批准之前改变了主意,只需单击" **撤回访问请求"**按钮即可。 - -[![Withdraw access request button](img/a6d5e94df0d5d50038a0909603d69933.png)](img/withdraw_access_request_button.png) - -## 变更组织的所有者[](#变更组织的所有者 "Permalink") - -组织的所有关系是指至少有一个组织成员拥有组织的 [所有者权限](../permissions.html#group-members-permissions),一个组织至少需要一名所有者。 - -只有拥有一个所有者的组织可以变更组织的所有者。 可以通过以下方式变更组织唯一所有者: - -1. 前往组织的 **组织设置-组织成员设置**选项卡; -2. 赋予其他成员**所有者**权限; -3. 让新的所有者删除您的**所有者**权限。 - -## 移除组织成员[](#移除组织成员 "Permalink") - -只有[拥有所有者](../permissions.html#group-members-permissions)权限的[用户](../permissions.html#group-members-permissions)才能管理组织成员。 - -如果要移除的成员在该组中具有直接成员资格,则可以从该组织中移除该成员; 如果成员资格是从父组继承的,则该成员只能从父组中进行移除。 - -移除成员时,您可以决定是否取消已经指派给该成员的 Issue 及合并请求。 - -* **取消分配给已移除的成员的 Issue及合并请求**可以将已经分配给当前要移除用户的 Issue 及合并请求重新进行分配 -* **保留Issue和合并请求的分配**可能对于接受公开贡献的组织很有帮助,用户可以不必是组织成员就可以为 Issue 及合并请求做出贡献 - -可以通过以下操作将成员从组织中移除: - -1. 在一个组织中,进入 **组织设置-组织成员设置** -2. 找到要移除的成员,并点击**移除**按钮,这时会弹出 **移除成员** 的弹窗 -3. (可选)选中 **取消分配给已移除的成员的 Issue及合并请求** 的复选框 -4. 点击**移除成员**按钮 - -## 变更组织的默认保护分支[](#变更组织的默认保护分支 "Permalink") - -默认情况下,每个组织都会继承全局级别的分支保护。 - -您可以通过以下操作为特定组织变更此项设置: - -1. 打开组织的 **组织设置-常规设置**页面 -2. 展开 **权限,LFS,2FA**部分 -3. 在**默认分支保护**下拉列表中选择所需的选项 -4. 点击 **保存修改** - -## 在组织中新建项目[](#在组织中新建项目 "Permalink") - -有两种方法可以在组织中新建项目: - -* 选择一个组,单击**新建项目**按钮 。 然后,您可以继续[创建您的项目](../../basics/create-project.html) . - - [![New project](img/ef67d77909a856277f9f2821fa0c18ea.png)](img/create_new_project_from_group.png) - -* 在创建项目时,从下拉菜单中选择已经创建的组名称空间 - - [![Select group](img/674c1579957cca4a644bc90fb8fbb2f3.png)](img/select_group_dropdown.png) - -### 项目创建权限[](#项目创建权限 "Permalink") - -默认情况下, [开发人员和维护人员](../permissions.html#group-members-permissions)可以在一个组下创建项目。 - -可以通过以下操作为特定组更改此项设置: - -1. 进入组织的**组织设置>常规设置**页面 -2. 展开 **权限,LFS,2FA**部分 -3. 在 **允许创建项目**下拉列表中选择所需的选项 -4. 点击 **保存修改** - -## 查看组织详情[](#查看组织详情 "Permalink") - -组织的 **详细信息**页面包含以下内容: - -* 组织的基本信息和介绍 -* 组织的项目 -* 组织已存档的项目 -* 组织的成员 - - -## 将项目移到组织中[](#将项目移到组织中 "Permalink") - -了解如何[将项目转移到组织中](../project/settings/index.html#transferring-an-existing-project-into-another-namespace) . - -## 与组织共享一个项目[](#与组织共享一个项目 "Permalink") - -您可以[与组织共享您的项目](../project/members/share_project_with_groups.html),并向所有组织成员立即授予对该项目的访问权限。 - -或者,您可以[锁定与组织共享功能](#锁定与组织共享功能) 。 - -## 与组织共享另一个组织[](#与组织共享另一个组织 "Permalink") - -与[与组织共享项目](#与组织共享一个项目)类似,您可以与一个组织共享另一个组织,以使组织成员可以直接访问共享的组织(注:这对于继承的成员无效)。 - -要将给定的组(例如"前端")与另一个组(例如"工程")共享: - -1. 进入到"前端"组织页面,然后进入**组织设置-组织成员设置**页面 -2. 单击 **邀请组织** 按钮 -3. 选择您要共享的组织"工程",并设置访问权限 -4. 点击 **邀请** - -"工程"的所有成员将被添加到"前端"组织中。 - - -## 转移组织[](#转移组织 "Permalink") - -您可以通过以下方式转移组织: - -* 将子组织转移到新的父组织 -* 通过将顶级组织转移到所需的组织,并将其转换为子组织 -* 通过将子组织转移到顶级组织,可以将一个子组织转换为组织 - -转移组织时,请注意: - -* 更改组织的父组织可能会产生一些副作用,具体的请参阅[更改存储库路径时的重定向](../project/index.html#redirects-when-changing-repository-paths) ; -* 您只能将组织/子组织转移到您管理的组织/子组织中; -* 您必须手动更新本地存储库以指向新位置; -* 如果将要转移的父组织的公开可见性设置低于当前父组织,那么待转移组织机器项目的公开可见性将会与即将要转移到的父组织保持一致; -* 转移组织时,只有组织直接成员会被转移,从之前父组织集成的成员不会被转移。如果待转移组织的所有者是继承的身份成员,则该组织转移过去后将不会设有所有者,转移组的用户将会自动成为该组的所有者。 - - -## 组织设置[](#组织设置 "Permalink") - -创建组织后,在组织详情页您可以进入**组织设置**来对组织进行设置及管理: - -[![group settings](img/b98f1bb6205ce5c692946b81e8c78003.png)](img/group_settings.png) - -### 常规设置[](#常规设置 "Permalink") - -除了编辑您在[创建组织](#新建一个组织)时预先设置的内容外,您还可以对该组织的其他内容进行设置。 - -#### 变更组织的路径[](#变更组织的路径 "Permalink") - -变更组织的路径也可能会产生一些副作用,具体的请参考[重定向的行为](../project/index.html#redirects-when-changing-repository-paths) 。 - -如果您要腾出路径,以便其他组织或用户可以使用该路径,由于名称和路径都必须是唯一的,因此您在变更路径的同时也可能需要重命名该组织。 - -您可以通过以下操作更改组织的路径: - -1. 进入到组织的**组织设置>常规设置**页面 -2. 展开**高级**部分 -3. 在 **更改组织路径**下输入新的路径 -4. 点击 **变更组织路径** - -> **注意:**如果命名空间包含带有[Container Registry](../packages/container_registry/index.html)标记的项目,则无法重命名该空间,因为该项目无法移动。 - -> **提示:**如果要保留对原始名称空间的所有权并保护 URL 重定向,我们建议您新建一个群组并向其转移项目,而无需更改组织的路径或重命名用户名。 - -### 删除一个组织[](#删除一个组织 "Permalink") - -您可以通过以下删除组织及其内容: - -1. 打开 **组织设置>常规设置**页面 -2. 展开**高级**部分 -3. 在"删除组织"部分中,单击**删除组织**按钮 -4. 根据提示的内容确认删除操作 - -这个操作将会导致: - -* 删除组织,并且将后台作业排队以删除该组织中的所有项目(注:删除行为默认在删除确认后的7天后进行) - -### 恢复已删除组织[](#恢复已删除组织 "Permalink") - -您可以通过以下操作恢复已经标记为删除的组织: - -1. 打开 **组织设置>常规设置**页面. -2. 展开**高级**部分. -3. 在"恢复组织"部分中,单击**恢复组织**按钮. - -#### 锁定与组织共享功能[](#锁定与组织共享功能 "Permalink") - -该功能可防止一个组织中的[项目与另一个组共享项目](../project/members/share_project_with_groups.html),以便对项目访问进行更严格的控制。 - -例如,假设您有两个不同的团队(A 组和 B 组)在一个项目中一起工作,并且要继承该组成员身份,您可以在 A 组和 B 组之间设置共享项目。**使用组锁共享**可以防止其中的任何项目群组与其他群组共享,从而确保只有合适的群组成员才能访问这些项目。 - -要启用此功能,请打开组织设置页面, 选择 **禁止与其他组织共享项目**并点击**保存修改**。 - -[![Checkbox for share with group lock](img/788efc08015bf62f608d47f16b49b4d7.png)](img/share_with_group_lock.png) - -#### 禁用电子邮件通知[](#禁用电子邮件通知 "Permalink") - -您可以禁用与该组织相关的所有电子邮件通知,其中包括其子组织和项目: - -您可以通过以下操作来启用该功能: - -1. 进入**组织设置>常规设置**页面 -2. 展开**权限,LFS,2FA**部分,然后选择**禁用电子邮件通知** -3. 点击 **保存修改** - -#### 禁用群组提及[](#禁用群组提及 "Permalink") - -该功能可以防止用户将群组添加到对话中,并且在任何人提及这些用户所属的组织时通知他们。 - -@功能的自动完成下拉列表中会相应地显示提及被禁用的组织,这对于具有大量用户的组织特别有用。 - -您可以通过以下操作来启用该功能: - -1. 进入到**组织设置>常规设置**页面 -2. 展开" **权限,LFS,2FA**部分,然后选择**禁用群组提及** -3. 点击 **保存更改** - -### 高级设置[](#高级设置 "Permalink") - -* **项目** :查看该组中的所有项目,将成员添加到每个项目,访问每个项目的设置,以及删除任何项目,所有操作均在同一屏幕上进行 -* **Webhooks** :为您的组配置[webhooks](../project/integrations/webhooks.html) \ No newline at end of file diff --git a/docs/046.md b/docs/046.md deleted file mode 100644 index a349889..0000000 --- a/docs/046.md +++ /dev/null @@ -1,89 +0,0 @@ -# 子组织[](#子组织 "Permalink") - -我们支持多达 20 个级别的子组织,也称为嵌套结构或层次结构。 - -通过子组织中您可以: - -* **独立的子组织.** 由于每个组都有自己的可见性级别,因此您可以在同一保护范围内创建不同子组织以满足您不同的使用目的; -* **组织大型项目** 对于大型项目,子组织可能会更容易分隔源代码的权限 -* **使管理人员和控制可见性变得更加容易** 根据人们的组织[成员身份](#成员身份)赋予他们不同的[权限](../../permissions.html#group-members-permissions) - -有关组织和项目中允许的权限的更多信息,请参考[可见性级别](../../../development/permissions.html#general-permissions) 。 - -## 概览[](#概览 "Permalink") - -一个组织中可以有许多子组织,且每个组织只能有一个直接父组, 它类似于目录或嵌套项目列表: - -* 第一组 - * 1.1 组 - * 1.2 组 - * 1.2.1 组 - * 1.2.2 组 - * 1.2.2.1组 - -假设维护一个 GNU / Linux 发行版,其中第一个子组织是发行版的名称,随后的子组织则按如下所示拆分: - -* Organization Group - GNU/Linux distro - * 类别子组-包 - * (项目)配套 01 - * (项目)配套 02 - * 类别子组-软件 - * (项目)核心 - * (项目)CLI - * (项目)Android 应用 - * (项目)iOS 应用 - * 类别子组-红外线工具 - * (项目)Ansible 剧本 - -当执行诸如在子组织之间转移或导入项目的操作时,其行为与在`group/project`级别执行这些操作时的行为相同。 - -## 新建一个子组织[](#新建一个子组织 "Permalink") - -要在组织中创建子组织,您必须是该组织的所有者或维护者,具体取决于该组织的设置(默认情况下,允许所有者和维护者创建子组)。 - -有关权限的更多信息,请检查[权限表](../../permissions.html#group-members-permissions) 。有关不允许用作组名的单词列表,请参见[保留名称](../../reserved_names.html) . - -如果用户明确地作为所有者(或维护者,如果启用了此设置)被添加到父组织中,则用户始终可以创建子组,即使管理员在其组织设置中禁用了组创建也是如此。 - -您可以通过以下操作创建一个子组织: - -1. 在组织详情页中,展开右上角**新建项目**旁的下拉按钮,选择**新建子组织** ,然后单击 **新建子组**按钮; - - [![Subgroups page](img/c3c27ff673c33bcd50004c2adb617d5f.png)](img/create_subgroup_button.png) - -2. 像平常一样直接创建一个新组织。 需要注意的是,父组织名称空间在 **组路径**下是不可修改的,但 可见性级别可以与父组织不同; - - [![Subgroups page](img/7fb24fed9f39dcdabb530523bcb8dc08.png)](img/create_new_group.png) - -3. 单击**创建组织**按钮 - - -## 成员身份[](#成员身份 "Permalink") - -将成员添加到子组织时,它们将从父组织继承成员资格和权限级别。如果您是其父组织成员之一,则您可以被允许访问该组织下所有的子组织。 - -成员的组权限只能由所有者更改,您可以通过查看组织的**组织设置-组织成员设置**页面来确定成员是否从父组织继承了权限。 - -[![Group members page](img/e18ff80d06980688066f9ec9404bd2da.png)](img/group_members.png) - -从上图我们可以了解到: - -* 有 5 位成员可以访问第`four`组. -* User0 是一个 Reporter,已从组`four`的层次结构上方的组`one`继承了该权限 -* User1 是一个开发者,已从组`one/two`的层次结构上方的组`two`继承了该权限 -* User2 是一个开发者,已从组`one/two/three`的层次结构上方的组`three`继承了该权限 -* 对于 User3,没有任何父组织的指示,因此它属于`four`组 -* 管理员是**所有**子组织的所有者和成员,与 User3 一样也没有任何父组织的指示 - -您可以使用右侧的下拉列表过滤此列表: - -[![Group members filter](img/8215c374294289cd2bd24399439403fd.png)](img/group_members_filter_v12_6.png) - -* **仅显示直接成员**仅显示 Administrator 和 User3,因为这是属于`four`组的唯一用户 -* **仅显示继承的成员**将显示 User0,User1 和 User2,无论层次结构上方的哪个组都可以作为继承权限的来源 - -## 提及子组织[](#提及子组织 "Permalink") - -在Issue,提交和合并请求中提及组织( `@group` )将通知该组的所有成员。当有了子组织后,如果您想拆分组织的结构,将有更精细的支持。提及方式与以前一样,您可以选择要通知的人群. - -[![Mentioning subgroups](img/0d1089161431c5f21751458027d84535.png)](img/mention_subgroups.png) diff --git a/docs/048.md b/docs/048.md deleted file mode 100644 index 6178e16..0000000 --- a/docs/048.md +++ /dev/null @@ -1,273 +0,0 @@ -# 项目[](#项目 "Permalink") - -您可以创建用于托管代码库的项目,可以通过项目进行 Issue 管理,进行代码协作,并使用内置的 CI / CD 持续构建,测试和部署应用程序。 - -您可以设置您的项目为[公开](../../public_access/public_access.html)或[私有](../../public_access/public_access.html),我们也不限制您创建的私有项目数量。 - -## 项目功能[](#项目功能 "Permalink") - -创建项目时,您可以使用众多功能: - -**代码仓库:** - -* [Issue](issues/index.html) :与您的团队讨论问题内的实现 - * [看板](issue_board.html) :组织工作流程并确定其优先级 -* [代码仓库](repository/index.html) :将代码托管在完全集成的平台中 - * [分支](repository/branches/index.html) :使用 Git 分支策略在代码上进行协作 - * [受保护的分支机构](protected_branches.html) :防止协作者弄乱历史记录或在未经审查的情况下推送代码 - * [受保护的标签](protected_tags.html) :控制谁有权创建标签,并防止意外更新或删除 - * [储存库镜像](repository/repository_mirroring.html) - * [签署提交](gpg_signed_commits/index.html) :使用 GPG 签署您的提交 - * [部署令牌](deploy_tokens/index.html) :管理基于项目的部署令牌,这些令牌允许永久访问存储库和 Container Registry. -* [Web IDE](web_ide/index.html) - -**Release 及合并请求:** - -* [Issue](issues/index.html) :与您的团队讨论问题内的实现 - * [发行板](issue_board.html) :组织工作流程并确定其优先级 -* [合并请求](merge_requests/index.html) :应用您的分支策略并获得团队的审查 - * [合并请求批准](merge_requests/merge_request_approvals.html) :实施更改之前[请求批准](merge_requests/merge_request_approvals.html) - * [修复合并中的冲突](merge_requests/resolve_conflicts.html) :直接从网页中使用 Git diff 工具 - * [审查应用程序](../../ci/review_apps/index.html) :按分支实时预览合并请求中建议的更改结果 -* [标签](labels.html) :按标签整理问题并合并请求 -* [时间跟踪](time_tracking.html) :跟踪估计在完成问题或合并请求上花费的时间和时间 -* [里程碑](milestones/index.html) :朝着目标日期迈进 -* [描述模板](description_templates.html) :为项目定义特定于上下文的模板,并为您的项目合并请求描述字段 -* [斜杠命令(快速操作)](quick_actions.html) :针对问题或合并请求的常见操作的文本快捷方式 -* [自动完成字符](autocomplete_characters.html) :自动完成对用户,组,问题,合并请求和其他 GitLab 元素的引用. -* [Web IDE](web_ide/index.html) - -**亚搏体育 app CI / CD:** - -* [GitLab CI / CD](../../ci/README.html) :GitLab 内置的[持续集成,交付和部署](https://about.gitlab.com/blog/2016/08/05/continuous-integration-delivery-and-deployment-with-gitlab/)工具 - * [容器注册表](../packages/container_registry/index.html) :开箱即用地构建和推送 Docker 映像 - * [自动部署](../../topics/autodevops/stages.html#auto-deploy) :配置 GitLab CI / CD 以自动设置应用程序的部署 - * [启用和禁用 GitLab CI / CD](../../ci/enable_or_disable_ci.html) - * [管道](../../ci/pipelines/index.html) :从 UI 配置和可视化 GitLab CI / CD 管道 - * [计划的管道](../../ci/pipelines/schedules.html) :计划管道以在选定的时间开始 - * [管道图](../../ci/pipelines/index.html#visualize-pipelines) :通过 UI 查看整个管道 - * [作业工件](../../ci/pipelines/job_artifacts.html) :定义,浏览和下载作业工件 - * [管道设置](../../ci/pipelines/settings.html) :设置 Git 策略(选择从作业中的 GitLab 提取存储库的默认方式),超时(定义可以运行作业的最长时间(以分钟为`.gitlab-ci.yml` )) `.gitlab-ci.yml`自定义路径,测试覆盖率分析,管道的可见性等 - * [Kubernetes 集群集成](clusters/index.html) :将您的 GitLab 项目与 Kubernetes 集群连接 - * [功能标志](../../operations/feature_flags.html) :功能标志允许您通过动态切换某些功能来以不同的方式发布项目 -* [GitLab Pages](pages/index.html) :使用[GitLab Pages](pages/index.html)构建,测试和部署您的静态网站 - -**其他特性:** - -* [Wiki](wiki/index.html) :在集成的 Wiki 中记录您的 GitLab 项目. -* [片段](../snippets.html) :存储,共享和协作代码片段. -* [价值流分析](cycle_analytics.html) :查看您的开发生命周期. -* [见解](insights/index.html) :配置对您的项目至关重要的见解. -* [安全仪表板](security_dashboard.html) :安全仪表板. -* [语法突出显示](highlighting.html) :一种自定义代码块的替代方法,它替代了 GitLab 的默认语言选择. -* [徽章](badges.html) :项目概述的徽章. -* [发行版](releases/index.html) :一种跟踪项目中可交付成果的方式,可作为源,构建输出,其他元数据和与代码的发行版本相关的其他工件的快照. -* [Conan 软件包](../packages/conan_repository/index.html) :您在 GitLab 中的私人 Conan 存储库. -* [Maven 软件包](../packages/maven_repository/index.html) :您在 GitLab 中的私有 Maven 存储库. -* [NPM 软件包](../packages/npm_registry/index.html) :您在 GitLab 中的私有 NPM 软件包注册表. -* [代码所有者](code_owners.html) :为某些文件指定代码所有者 -* [许可证合规性](../compliance/license_compliance/index.html) :批准和拒绝项目的许可证. -* [依赖项列表](../application_security/dependency_list/index.html) :查看项目依赖项. -* [要求](requirements/index.html) :要求使您可以创建标准来检查产品. -* [静态站点编辑器](static_site_editor/index.html) :无需事先了解代码库或 Git 命令,即可在静态网站上快速编辑内容. -* [代码智能](code_intelligence.html) :代码导航功能. - -### Project integrations[](#project-integrations "Permalink") - -[将您的项目](integrations/index.html)与 Jira,Mattermost,Kubernetes,Slack 等进行[集成](integrations/index.html) . - -## New project[](#new-project "Permalink") - -了解如何在 GitLab 中[创建一个新项目](../../gitlab-basics/create-project.html) . - -### Fork a project[](#fork-a-project "Permalink") - -您可以[派生一个项目](repository/forking_workflow.html) ,以便: - -* 通过分叉项目并创建从分支到上游项目的合并请求来进行代码协作 -* 分叉一个示例项目以在其顶部工作 - -### Star a project[](#star-a-project "Permalink") - -您可以为项目加注星标,以使其更容易找到您经常使用的项目. 项目拥有的明星数量可以表明其受欢迎程度. - -为项目加注星标: - -1. 转到要加注星标的项目的主页. -2. 在页面的右上角,点击**星标** . - -要查看已加星标的项目,请执行以下操作: - -1. 单击导航栏中的**项目** . -2. Click **已加星标的项目**. -3. GitLab 显示有关已加星标项目的信息,包括: - - * 项目描述,包括名称,描述和图标 - * 已为该项目加注星标的次数 - * Number of times this project has been forked - * 打开的合并请求数 - * 未解决问题的数量 - -### Explore projects[](#explore-projects "Permalink") - -您可以探索 GitLab 上可用的其他流行项目. 探索项目: - -1. 单击导航栏中的**项目** . -2. Click **探索项目**. - -GitLab 显示一个项目列表,按上次更新日期排序. 要查看具有最多[星星的](#star-a-project)项目,请单击" **最多星星"** . 要查看过去一个月中评论数量最多的项目,请点击**趋势** . - -## Project settings[](#project-settings "Permalink") - -将项目的可见性级别和访问级别设置为各个页面,并执行诸如归档,重命名或传输项目的操作. - -通读有关[项目设置](settings/index.html)的文档. - -## Import or export a project[](#import-or-export-a-project "Permalink") - -* [Import a project](import/index.html) from: - * [GitHub to GitLab](import/github.html) - * [Bitbucket to GitLab](import/bitbucket.html) - * [Gitea to GitLab](import/gitea.html) - * [FogBugz to GitLab](import/fogbugz.html) -* [Export a project from GitLab](settings/import_export.html#exporting-a-project-and-its-data) -* [Importing and exporting projects between GitLab instances](settings/import_export.html) - -## Remove a project[](#remove-a-project "Permalink") - -要删除项目,请首先导航到该项目的主页. - -1. 导航至**设置>常规** . -2. 展开**高级**部分. -3. 向下滚动到" **删除项目"**部分. -4. Click **移除专案** -5. 通过输入所需的文本来确认此操作. - -### Delayed removal[](#delayed-removal-premium "Permalink") - -默认情况下,单击以删除项目后会延迟 7 天. 管理员可以在这段时间内恢复项目. [管理员可以更改](../admin_area/settings/visibility_and_access_controls.html#default-deletion-adjourned-period-premium-only)此延迟. - -管理员可以查看所有待删除项目. 如果您是管理员,请转到顶部导航栏,单击" **项目">"您的项目"** ,然后选择"已**删除的项目"**选项卡. 管理员可以从此选项卡还原任何项目. - -## CI/CD for external repositories[](#cicd-for-external-repositories-premium "Permalink") - -您可以将存储库作为 CI / CD 项目连接,而不是将存储库直接导入到 GitLab. - -通读[CI / CD 上有关外部存储库](../../ci/ci_cd_for_external_repos/index.html)的文档. - -## Project members[](#project-members "Permalink") - -了解如何[将成员添加到您的项目中](members/index.html) . - -## Project activity[](#project-activity "Permalink") - -要查看项目的活动,请导航至**项目概述>活动** . 在此处,您可以单击选项卡以查看**所有**活动,或查看按**Push 事件** , **Merge 事件** , **Issue 事件** , **Comment** , **Team**和**Wiki**过滤的**活动** . - -### Leave a project[](#leave-a-project "Permalink") - -当项目属于组时(在[组命名空间下](../group/index.html#namespaces) ), **离开项目**将仅显示在项目的仪表板上. 如果您选择退出项目,那么您将不再是项目成员,因此无法参与. - -## Project’s landing page[](#projects-landing-page "Permalink") - -项目的登录页面根据项目的可见性设置和用户权限显示不同的信息. - -对于公共项目以及[有权查看该项目代码](../permissions.html#project-members-permissions)的内部和私有项目的成员: - -* 显示[`README`文件或索引文件的](repository/#repository-readme-and-index-files)内容(如果有),然后显示项目存储库中的目录列表. -* 如果项目不包含这些文件中的任何一个,则访问者将看到存储库的文件和目录列表. - -对于没有权限查看项目代码的用户: - -* 显示维基主页(如果有). -* 显示项目中的问题列表. - -## Redirects when changing repository paths[](#redirects-when-changing-repository-paths "Permalink") - -当存储库路径更改时,从旧位置平稳过渡到新位置至关重要. GitLab 提供两种重定向:Web UI 和 Git 推/拉重定向. - -根据情况,可能会有所不同. - -When [renaming a user](../profile/index.html#changing-your-username), [changing a group path](../group/index.html#changing-a-groups-path) or [renaming a repository](settings/index.html#renaming-a-repository): - -* 名称空间及其下的任何内容(例如项目)的现有 Web URL 将重定向到新 URL. -* 从 GitLab 10.3 开始,命名空间下项目的现有 Git 远程 URL 将重定向到新的远程 URL. 每次将其推/拉到更改位置的存储库时,都会显示一条警告消息,提示您更新遥控器,而不是拒绝操作. 这意味着在重命名后,任何自动化脚本或 Git 客户端将继续工作,从而使任何过渡都更加顺畅. -* The redirects will be available as long as the original path is not claimed by another group, user or project. - -## Use your project as a Go package[](#use-your-project-as-a-go-package "Permalink") - -任何项目都可以用作 Go 包. GitLab 会正确响应`go get`和`godoc.org`发现请求,包括[`go-import`](https://s0golang0org.icopy.site/cmd/go/)和[`go-source`](https://github.com/golang/gddo/wiki/Source-Code-Links)元标记. - -私有项目(包括子组中的项目)可以用作 Go 包,但可能需要进行配置才能正常工作. 无论身份验证或授权如何,GitLab 都会正确响应以`go get` *不在*子组中的项目的发现请求. 要使用子组中的私有项目作为 Go 包,必须进行[身份验证](#authenticate-go-requests) . 否则,GitLab 会将子组中私有项目的路径截断到前两个段,从而导致`go get`失败. - -GitLab 实现了自己的 Go 代理. 此功能必须由管理员启用,并且需要其他配置. 请参阅[GitLab Go 代理](../packages/go_proxy/index.html) . - -### Disable Go module features for private projects[](#disable-go-module-features-for-private-projects "Permalink") - -In Go 1.12 and later, Go queries module proxies and checksum databases in the process of [fetching a module](../../development/go_guide/dependencies.html#fetching). This can be selectively disabled with `GOPRIVATE` (disable both), [`GONOPROXY`](../../development/go_guide/dependencies.html#proxies) (disable proxy queries), and [`GONOSUMDB`](../../development/go_guide/dependencies.html#fetching) (disable checksum queries). - -`GOPRIVATE` , `GONOPROXY`和`GONOSUMDB`是 Go 模块和 Go 模块前缀的逗号分隔列表. 例如, `GOPRIVATE=gitlab.example.com/my/private/project`将禁用对该项目的查询,而`GOPRIVATE=gitlab.example.com`将禁用`GOPRIVATE=gitlab.example.com` *所有*项目的查询. 如果模块名称或其前缀出现在`GOPRIVATE`或`GONOPROXY` ,则 Go 不会查询模块代理. 如果模块名称或其前缀出现在`GONOPRIVATE`或`GONOSUMDB` ,则 Go 不会查询校验和数据库. - -### Authenticate Go requests[](#authenticate-go-requests "Permalink") - -要验证对 Go 私有项目的请求,请在密码字段中使用[`.netrc`文件](https://ec.haxx.se/usingcurl-netrc.html)和[个人访问令牌](../profile/personal_access_tokens.html) . **仅当可以通过 HTTPS 访问您的 GitLab 实例时,此方法才有效.** `go`命令不会通过不安全的连接传输凭据. 这将验证 Go 直接发出的所有 HTTPS 请求,但不会验证通过 Git 发出的请求. - -例如: - -``` -machine example.gitlab.com -login -password -``` - -**注意:**在 Windows 上,Go 读取`~/_netrc`而不是`~/.netrc` . - -### Authenticate Git fetches[](#authenticate-git-fetches "Permalink") - -如果无法从代理中获取模块,Go 将退回到使用 Git(对于 GitLab 项目). Git 将使用`.netrc`来认证请求. 另外,可以将 Git 配置为在请求 URL 中嵌入特定的凭据,或者使用 SSH 代替 HTTPS(因为 Go 始终使用 HTTPS 来获取 Git 存储库): - -``` -# embed credentials in any request to GitLab.com: -git config --global url."https://${user}:${personal_access_token}@gitlab.example.com".insteadOf "https://gitlab.example.com" - -# use SSH instead of HTTPS: -git config --global url."git@gitlab.example.com".insteadOf "https://gitlab.example.com" -``` - -## Access project page with project ID[](#access-project-page-with-project-id "Permalink") - -在 GitLab 11.8 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/53671) . - -要使用项目 ID 从 GitLab UI 快速访问项目,请在浏览器或其他访问项目的工具中访问`/projects/:id` URL. - -## Project aliases[](#project-aliases-premium-only "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/3264) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.1. - -将存储库迁移到 GitLab 并被其他系统访问时,能够使用相同的名称访问它们非常有用,尤其是当它们很多时. 它降低了在大量系统中更改大量 Git URL 的风险. - -manbetx 客户端打不开提供了功能来帮助这一点. 在 GitLab 中,通常使用名称空间和项目名称访问存储库. 也可以通过项目别名访问它们. 此功能仅在通过 SSH 的 Git 上可用. - -项目别名只能通过 API 创建,并且只能由 GitLab 管理员创建. 有关更多详细信息,请遵循[Project Aliases API 文档](../../api/project_aliases.html) . - -一旦为项目创建了别名(例如,项目`https://gitlab.com/gitlab-org/gitlab`的别名`gitlab` ),就可以使用别名(例如`git clone git@gitlab.com:gitlab.git` )来克隆存储库. `git clone git@gitlab.com:gitlab.git`而不是`git clone git@gitlab.com:gitlab-org/gitlab.git` ). - -## Project APIs[](#project-apis "Permalink") - -您的项目可以使用许多[API](../../api/README.html) : - -* [Badges](../../api/project_badges.html) -* [Clusters](../../api/project_clusters.html) -* [Threads](../../api/discussions.html) -* [General](../../api/projects.html) -* [Import/export](../../api/project_import_export.html) -* [Issue Board](../../api/boards.html) -* [Labels](../../api/labels.html) -* [Markdown](../../api/markdown.html) -* [Merge Requests](../../api/merge_requests.html) -* [Milestones](../../api/milestones.html) -* [Services](../../api/services.html) -* [Snippets](../../api/project_snippets.html) -* [Templates](../../api/project_templates.html) -* [Traffic](../../api/project_statistics.html) -* [Variables](../../api/project_level_variables.html) -* [Aliases](../../api/project_aliases.html) \ No newline at end of file diff --git a/docs/049.md b/docs/049.md deleted file mode 100644 index cfa1144..0000000 --- a/docs/049.md +++ /dev/null @@ -1,459 +0,0 @@ -# GitLab Secure - -> 原文:[https://docs.gitlab.com/ee/user/application_security/](https://docs.gitlab.com/ee/user/application_security/) - -* [Quick start](#quick-start) - * [Override the default registry base address](#override-the-default-registry-base-address) -* [Security scanning tools](#security-scanning-tools) -* [Security Scanning with Auto DevOps](#security-scanning-with-auto-devops) -* [Maintenance and update of the vulnerabilities database](#maintenance-and-update-of-the-vulnerabilities-database) -* [Interacting with the vulnerabilities](#interacting-with-the-vulnerabilities) - * [View details of a DAST vulnerability](#view-details-of-a-dast-vulnerability) - * [Hide sensitive information in headers](#hide-sensitive-information-in-headers) - * [Dismissing a vulnerability](#dismissing-a-vulnerability) - * [Adding a dismissal reason](#adding-a-dismissal-reason) - * [Dismissing multiple vulnerabilities](#dismissing-multiple-vulnerabilities) - * [Creating an issue for a vulnerability](#creating-an-issue-for-a-vulnerability) - * [Solutions for vulnerabilities (auto-remediation)](#solutions-for-vulnerabilities-auto-remediation) - * [Manually applying the suggested patch](#manually-applying-the-suggested-patch) - * [Creating a merge request from a vulnerability](#creating-a-merge-request-from-a-vulnerability) -* [Security approvals in merge requests](#security-approvals-in-merge-requests) - * [Enabling Security Approvals within a project](#enabling-security-approvals-within-a-project) -* [Enabling License Approvals within a project](#enabling-license-approvals-within-a-project) -* [Working in an offline environment](#working-in-an-offline-environment) -* [Using private Maven repos](#using-private-maven-repos) -* [Outdated security reports](#outdated-security-reports) - * [Source branch is behind the target branch](#source-branch-is-behind-the-target-branch) - * [Target branch security report is out of date](#target-branch-security-report-is-out-of-date) -* [Troubleshooting](#troubleshooting) - * [Getting error message `sast job: stage parameter should be [some stage name here]`](#getting-error-message-sast-job-stage-parameter-should-be-some-stage-name-here) - * [Getting error message `sast job: config key may not be used with 'rules': only/except`](#getting-error-message-sast-job-config-key-may-not-be-used-with-rules-onlyexcept) - * [Transitioning your `only/except` syntax to `rules`](#transitioning-your-onlyexcept-syntax-to-rules) - * [Pin your templates to the deprecated versions](#pin-your-templates-to-the-deprecated-versions) - -# GitLab Secure[](#gitlab-secure-ultimate "Permalink") - -GitLab 可以检查您的应用程序是否存在安全漏洞,这些漏洞可能导致未经授权的访问,数据泄漏,服务拒绝等. GitLab 在合并请求中报告漏洞,因此您可以在合并之前修复它们. [安全仪表板](security_dashboard/index.html)提供了在项目,管道和组中检测到的漏洞的高级视图. " [威胁监视"](threat_monitoring/index.html)页面提供了应用程序环境的运行时安全性度量. 使用提供的信息,您可以立即开始风险分析和补救. - -有关 GitLab 的应用程序安全性的概述,请参阅[Security Deep Dive](https://www.youtube.com/watch?v=k4vEJnGYy84) . - -## Quick start[](#quick-start "Permalink") - -通过将以下内容添加到`.gitlab-ci.yml` ,可以快速开始进行依赖项扫描,许可证扫描,静态应用程序安全测试(SAST)和秘密检测. - -``` -include: - - template: Dependency-Scanning.gitlab-ci.yml - - template: License-Scanning.gitlab-ci.yml - - template: SAST.gitlab-ci.yml - - template: Secret-Detection.gitlab-ci.yml -``` - -要添加动态应用程序安全测试(DAST)扫描,请将以下内容添加到`.gitlab-ci.yml` ,并将`https://staging.example.com`替换为登台服务器的网址: - -``` -include: - - template: DAST.gitlab-ci.yml - -variables: - DAST_WEBSITE: https://staging.example.com -``` - -为确保 DAST 扫描程序*在*将应用程序部署到登台服务器*之后*运行,请查阅[DAST 完整文档](dast/index.html) . - -要添加容器扫描,请遵循[容器扫描文档中](container_scanning/index.html#requirements)列出的步骤. - -要进一步配置任何其他扫描仪,请参阅每个扫描仪的文档. - -### Override the default registry base address[](#override-the-default-registry-base-address "Permalink") - -默认情况下,GitLab 安全扫描程序使用`registry.gitlab.com/gitlab-org/security-products/analyzers`作为 Docker 映像的基址. 您可以通过将变量`SECURE_ANALYZERS_PREFIX`设置到另一个位置来全局覆盖此位置. 请注意,这会同时影响所有扫描仪. - -## Security scanning tools[](#security-scanning-tools "Permalink") - -GitLab 使用以下工具来扫描和报告项目中发现的已知漏洞. - -| 安全扫描工具 | Description | -| --- | --- | -| [Container Scanning](container_scanning/index.html) | 扫描 Docker 容器中的已知漏洞. | -| [Dependency List](dependency_list/index.html) | 查看项目的依存关系及其已知漏洞. | -| [Dependency Scanning](dependency_scanning/index.html) | 分析您的依赖项是否存在已知漏洞. | -| [Dynamic Application Security Testing (DAST)](dast/index.html) | 分析运行中的 Web 应用程序是否存在已知漏洞. | -| [Secret Detection](secret_detection/index.html) | 分析 Git 历史记录以了解泄露的机密. | -| [Security Dashboard](security_dashboard/index.html) | 查看所有项目和组中的漏洞. | -| [Static Application Security Testing (SAST)](sast/index.html) | Analyze source code for known vulnerabilities. | - -## Security Scanning with Auto DevOps[](#security-scanning-with-auto-devops "Permalink") - -启用[自动 DevOps 时](../../topics/autodevops/) ,将使用默认设置配置所有 GitLab 安全扫描工具. - -* [Auto SAST](../../topics/autodevops/stages.html#auto-sast-ultimate) -* [Auto Secret Detection](../../topics/autodevops/stages.html#auto-secret-detection-ultimate) -* [Auto DAST](../../topics/autodevops/stages.html#auto-dast-ultimate) -* [Auto Dependency Scanning](../../topics/autodevops/stages.html#auto-dependency-scanning-ultimate) -* [Auto License Compliance](../../topics/autodevops/stages.html#auto-license-compliance-ultimate) -* [Auto Container Scanning](../../topics/autodevops/stages.html#auto-container-scanning-ultimate) - -虽然您无法直接自定义 Auto DevOps,但可以[在项目的`.gitlab-ci.yml`文件中包括 Auto DevOps 模板](../../topics/autodevops/customize.html#customizing-gitlab-ciyml) . - -## Maintenance and update of the vulnerabilities database[](#maintenance-and-update-of-the-vulnerabilities-database "Permalink") - -扫描工具和漏洞数据库会定期更新. - -| 安全扫描工具 | 漏洞数据库更新 | -| --- | --- | -| [Container Scanning](container_scanning/index.html) | 使用`clair` . 通过运行[`latest` Docker image 标签](https://gitlab.com/gitlab-org/gitlab/blob/438a0a56dc0882f22bdd82e700554525f552d91b/lib/gitlab/ci/templates/Security/Container-Scanning.gitlab-ci.yml#L37) ,每个作业都使用最新的`clair-db`版本. [根据作者的说法,](https://github.com/arminc/clair-local-scan#clair-server-or-local) `clair-db`数据库[每天进行更新](https://github.com/arminc/clair-local-scan#clair-server-or-local) . | -| [Dependency Scanning](dependency_scanning/index.html) | 依赖于`bundler-audit` (对于 Ruby gems), `retire.js` (对于 NPM 软件包)和`gemnasium` (GitLab 自己的所有库工具). `bundler-audit`和`retire.js`从 GitHub 存储库中获取漏洞数据,因此添加到`ruby-advisory-db`和`retire.js`立即可用. 如果有新版本,工具本身每月更新一次. [Gemnasium 数据库](https://gitlab.com/gitlab-org/security-products/gemnasium-db)至少每周更新一次. 请参阅我们[当前从发布 CVE 到更新我们产品的时间度量](https://about.gitlab.com/handbook/engineering/development/performance-indicators/#cve-issue-to-update) . | -| [Dynamic Application Security Testing (DAST)](dast/index.html) | 扫描引擎会定期更新. 请参阅[基础工具`zaproxy`](https://gitlab.com/gitlab-org/security-products/dast/blob/master/Dockerfile#L1)的[版本](https://gitlab.com/gitlab-org/security-products/dast/blob/master/Dockerfile#L1) . 扫描规则在扫描运行时下载. | -| [Static Application Security Testing (SAST)](sast/index.html) | Relies exclusively on [the tools GitLab wraps](sast/index.html#supported-languages-and-frameworks). The underlying analyzers are updated at least once per month if a relevant update is available. The vulnerabilities database is updated by the upstream tools. | - -当前,您不必更新 GitLab 即可从最新的漏洞定义中受益. 安全工具作为 Docker 映像发布. 供应商的职位定义使他们能够使用根据[语义版本控制的](https://semver.org/)主要发行标签. 工具的每个新版本都会覆盖这些标签. Docker 映像已更新为与以前的 GitLab 版本匹配,因此用户无需执行任何操作即可自动获取最新版本的扫描工具. 但是,这种方法存在一些已知问题,并且有[解决这些问题](https://gitlab.com/gitlab-org/gitlab/-/issues/9725)的[计划](https://gitlab.com/gitlab-org/gitlab/-/issues/9725) . - -## Interacting with the vulnerabilities[](#interacting-with-the-vulnerabilities "Permalink") - -在[GitLab Ultimate](https://about.gitlab.com/pricing/) 10.8 中引入. - -合并请求报告或" [安全仪表板"](security_dashboard/index.html)中的每个安全漏洞都是可操作的. 单击一个条目以查看具有多个选项的详细信息: - -* 消除[漏洞](#dismissing-a-vulnerability) :消除漏洞可在删除线中设置样式. -* [创建问题](#creating-an-issue-for-a-vulnerability) :创建一个新问题,其标题和说明已预先填充了漏洞报告中的信息. 默认情况下,此类问题是[机密的](../project/issues/confidential_issues.html) . -* [解决方案](#solutions-for-vulnerabilities-auto-remediation) :对于某些漏洞,提供了有关如何修复该漏洞的解决方案. - -[![Interacting with security reports](img/079efbfe641967c936be8ed9b033bca6.png)](img/interacting_with_vulnerability_v13_0.png) - -### View details of a DAST vulnerability[](#view-details-of-a-dast-vulnerability "Permalink") - -DAST 检测到的漏洞在实时 Web 应用程序中发生. 纠正这些类型的漏洞需要特定的信息. DAST 提供了调查和纠正根本原因所需的信息. - -要查看 DAST 漏洞的详细信息,请执行以下操作: - -1. 要查看检测到的所有漏洞: - - * 在一个项目中,转到该项目的 **安全和合规性**页面. - * 仅在合并请求中,转到合并请求的" **安全性"**选项卡. -2. 单击漏洞的描述. 提供以下详细信息: - - | Field | Description | - | --- | --- | - | Description | Description of the vulnerability. | - | Project | 检测到漏洞的名称空间和项目. | - | Method | 用于检测漏洞的 HTTP 方法. | - | URL | 检测到漏洞的 URL. | - | 请求标题 | 请求的标题. | - | 回应状态 | 从应用程序收到的响应状态. | - | 响应标题 | 从应用程序收到的响应的标头. | - | Evidence | 数据证据证明该漏洞. 通常是请求或响应的摘要,可以用来帮助验证发现是否为漏洞. | - | Identifiers | 漏洞的标识符. | - | Severity | 漏洞的严重性. | - | 扫描仪类型 | 漏洞报告的类型. | - | Links | 链接到检测到的漏洞的更多详细信息. | - | Solution | 推荐的漏洞解决方案的详细信息(可选). | - -#### Hide sensitive information in headers[](#hide-sensitive-information-in-headers "Permalink") - -HTTP 请求和响应标头可能包含敏感信息,包括 cookie 和授权凭证. 默认情况下,特定标头的内容在 DAST 漏洞报告中被屏蔽. 您可以指定要屏蔽的所有标题的列表. 有关详细信息,请参阅[隐藏敏感信息](dast/index.html#hide-sensitive-information) . - -### Dismissing a vulnerability[](#dismissing-a-vulnerability "Permalink") - -要消除漏洞,必须将其状态设置为"消除". 请按照以下步骤操作: - -1. 在"安全仪表板"中选择漏洞. -2. 从右上方的**状态**选择器菜单中选择"已**关闭"** . - -您可以通过从同一菜单中选择其他状态来撤消此操作. - -#### Adding a dismissal reason[](#adding-a-dismissal-reason "Permalink") - -在[GitLab Ultimate](https://about.gitlab.com/pricing/) 12.0 中引入. - -消除漏洞时,提供这样做的理由通常很有帮助. 将漏洞的状态设置为"已撤消"后,将出现一个文本框,供您添加有关撤消的评论. 添加后,您可以对其进行编辑或删除. 随着时间的推移,这使您可以添加和更新漏洞的上下文. - -[![Dismissed vulnerability comment](img/cb3829e4d0ca25082e0f52f135a9d1de.png)](img/adding_a_dismissal_reason_v13_0.png) - -#### Dismissing multiple vulnerabilities[](#dismissing-multiple-vulnerabilities "Permalink") - -在[GitLab Ultimate](https://about.gitlab.com/pricing/) 12.9 中引入. - -您可以提供多个可选原因,一次消除多个漏洞. 选中列表中每个漏洞旁边的复选框,将选择该单个漏洞. 或者,您可以通过选择表标题中的复选框来选择列表中的所有漏洞. 取消选中标题中的复选框将取消选择列表中的所有漏洞. 选择了某些漏洞后,表格顶部会显示一个菜单,您可以通过该菜单选择解雇原因. 按下"关闭选定的漏洞"按钮将立即消除所有选定的漏洞,并说明您选择的原因. - -[![Multiple vulnerability dismissal](img/fef11068ab5cc264b208a4bd3addb7fa.png)](img/multi_select_v12_9.png) - -### Creating an issue for a vulnerability[](#creating-an-issue-for-a-vulnerability "Permalink") - -您可以通过从漏洞模式中选择" **创建问题"**按钮,或使用组安全性仪表板中漏洞行右侧的"操作"按钮来创建漏洞问题. - -这在漏洞来自的项目中创建了一个[机密问题](../project/issues/confidential_issues.html) ,并使用从漏洞报告中获取的一些有用信息对其进行了预填充. 创建问题后,您将重定向到该问题,以便您可以对其进行编辑,分配或评论. - -返回组安全性仪表板后,该漏洞现在在名称旁边具有一个关联的问题. - -[![Linked issue in the group security dashboard](img/557f2cc00416c6f64286e93532f50121.png)](img/issue.png) - -### Solutions for vulnerabilities (auto-remediation)[](#solutions-for-vulnerabilities-auto-remediation "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/5656) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 11.7. - -可以通过应用 GitLab 自动生成的解决方案来修复某些漏洞. 支持以下扫描仪: - -* [依赖项扫描](dependency_scanning/index.html) :自动补丁创建仅适用于使用`yarn`管理的 Node.js 项目. -* [Container Scanning](container_scanning/index.html) - -#### Manually applying the suggested patch[](#manually-applying-the-suggested-patch "Permalink") - -可以通过应用由 GitLab 自动生成的补丁来修复某些漏洞. 要应用此修复程序: - -1. 单击漏洞. -2. 下载并查看补丁文件`remediation.patch` . -3. 确保本地项目的签出提交与生成补丁的提交相同. -4. Run `git apply remediation.patch`. -5. 验证并将更改提交到您的分支. - -[![Apply patch for dependency scanning](img/2e2c36f66667fc52b3fb3681533dcef7.png)](img/vulnerability_solution.png) - -#### Creating a merge request from a vulnerability[](#creating-a-merge-request-from-a-vulnerability "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/9224) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 11.9. - -在某些情况下,GitLab 允许您创建一个合并请求以自动修复漏洞. 具有[解决方案的](#solutions-for-vulnerabilities-auto-remediation)任何漏洞都可以创建合并请求以自动解决问题. - -如果可以使用此操作,则漏洞模式将包含" **创建合并请求"**按钮. 单击此按钮创建合并请求,以将解决方案应用于源分支. - -[![Create merge request from vulnerability](img/6dffd31bb67148d85ebfccbfc20abfd8.png)](img/create_issue_with_list_hover.png) - -## Security approvals in merge requests[](#security-approvals-in-merge-requests "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/9928) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.2. - -可以将合并请求批准配置为在合并请求引入以下安全问题之一时,需要安全团队成员的批准: - -* 一个安全漏洞 -* 违反软件许可证规定 - -安全漏洞阈值定义为`high` , `critical`或`unknown`严重性. `Vulnerability-Check`批准者组必须批准包含漏洞的合并请求. - -当 GitLab 可以评估漏洞的严重性时,等级可以是以下之一: - -* `unknown` -* `low` -* `medium` -* `high` -* `critical` - -`unknown`等级表明基础扫描仪不包含或没有提供严重等级. - -### Enabling Security Approvals within a project[](#enabling-security-approvals-within-a-project "Permalink") - -要启用安全批准,必须使用区分大小写的名称`Vulnerability-Check`创建[项目批准规则](../project/merge_requests/merge_request_approvals.html#adding--editing-a-default-approval-rule) . 该批准组必须设置为所需的批准数量大于零. 您必须具有维护者或所有者[权限](../permissions.html#project-members-permissions)才能管理批准规则. - -1. 导航到您项目的 **设置>常规,**然后展开**合并请求批准** . -2. 单击**添加批准规则** ,或单击**编辑** . - * 将**规则名称**添加或更改为`Vulnerability-Check` (区分大小写). - -[![Vulnerability Check Approver Rule](img/2c7964b63403cf1f03ea9bdbfeee96cf.png)](img/vulnerability-check_v13_0.png) - -将这个组添加到您的项目后,将为所有合并请求启用批准规则. - -任何代码更改都会导致重置所需的批准. - -当安全报告: - -* 包含`high` , `critical`或`unknown`严重性的新漏洞,无论被解雇如何. -* 在管道执行期间未生成. - -在安全报告中,批准是可选的: - -* 不包含任何新漏洞. -* 仅包含严重程度`low`或`medium`新漏洞. - -## Enabling License Approvals within a project[](#enabling-license-approvals-within-a-project "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/13067) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.3. - -`License-Check`是一个批准规则,您可以启用它来允许个人或组批准包含`denied`许可证的合并请求. - -您可以启用`License-Check`的两种方式之一: - -* 使用区分大小写的名称`License-Check`创建[项目批准规则](../project/merge_requests/merge_request_approvals.html#multiple-approval-rules-premium) . -* 在[项目策略部分中为许可合规](../compliance/license_compliance/index.html#policies)创建批准组. 您必须将此批准组的所需批准数量设置为大于零. 在项目中启用该组后,将为所有合并请求启用批准规则. - -任何代码更改都会导致重置所需的批准. - -许可证报告如下时,需要批准: - -* 包含包含被`denied`的软件许可证的依赖项. -* 在管道执行期间未生成. - -许可证报告如下时,批准是可选的: - -* 不包含任何违反软件许可证的行为. -* 仅包含`allowed`或未知的新许可证. - -## Working in an offline environment[](#working-in-an-offline-environment "Permalink") - -当未连接到 Internet 时,有时会在脱机,受限连接,局域网(LAN),Intranet 或"气隙"环境中运行大多数 GitLab 安全扫描程序. - -阅读如何[在离线环境中操作安全扫描仪](offline_deployments/index.html) . - -## Using private Maven repos[](#using-private-maven-repos "Permalink") - -如果您有需要登录凭据的私有 Apache Maven 存储库,则可以使用`MAVEN_CLI_OPTS`环境变量来传递用户名和密码. 您可以在项目的设置下进行设置,以免凭据在`.gitlab-ci.yml` . - -如果用户名是`myuser`并且密码非常`verysecret`则可以在项目的设置下[设置以下变量](../../ci/variables/README.html#create-a-custom-variable-in-the-ui) : - -| Type | Key | Value | -| --- | --- | --- | -| Variable | `MAVEN_CLI_OPTS` | `--settings mysettings.xml -Drepository.password=verysecret -Drepository.user=myuser` | - -``` - - - ... - - - private_server - ${private.username} - ${private.password} - - - -``` - -## Outdated security reports[](#outdated-security-reports "Permalink") - -在 GitLab 12.7 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/4913) . - -当为合并请求生成的安全报告过时时,合并请求会在安全小部件中显示警告消息,并提示您采取适当的措施. - -这可能在两种情况下发生: - -1. Your [source branch is behind the target branch](#source-branch-is-behind-the-target-branch). -2. The [target branch security report is out of date](#target-branch-security-report-is-out-of-date). - -### Source branch is behind the target branch[](#source-branch-is-behind-the-target-branch "Permalink") - -这意味着目标分支和源分支之间的最新公共祖先提交不是目标分支上的最新提交. 到目前为止,这是最常见的情况. - -在这种情况下,您必须重新设置基础或合并以合并来自目标分支的更改. - -[![Incorporate target branch changes](img/6564cc179b8bafb5577b9762c905010c.png)](img/outdated_report_branch_v12_9.png) - -### Target branch security report is out of date[](#target-branch-security-report-is-out-of-date "Permalink") - -发生这种情况的原因有很多,包括工作失败或新的咨询. 当合并请求显示安全报告已过期时,必须在目标分支上运行新管道. 您可以按照提供的超链接运行新管道来快速完成此操作. - -[![Run a new pipeline](img/66a70133eaa2327dce4cd61c485afcdb.png)](img/outdated_report_pipeline_v12_9.png) - -## Troubleshooting[](#troubleshooting "Permalink") - -### Getting error message `sast job: stage parameter should be [some stage name here]`[](#getting-error-message-sast-job-stage-parameter-should-be-some-stage-name-here "Permalink") - -当[包括](../../ci/yaml/README.html#includetemplate)诸如[`SAST.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Security/SAST.gitlab-ci.yml)的`.gitlab-ci.yml`模板时,根据您的 GitLab CI / CD 配置,可能会发生以下错误: - -``` -Found errors in your .gitlab-ci.yml: - -* sast job: stage parameter should be unit-tests -``` - -如果未在`.gitlab-ci.yml`声明包含作业的阶段(名为`test` ),则会出现此错误. 要解决此问题,您可以: - -* 在`.gitlab-ci.yml`添加一个`test`阶段. -* 更改包含的安全作业的默认阶段. 例如,使用 SpotBugs(SAST): - - ``` - include: - template: SAST.gitlab-ci.yml - - spotbugs-sast: - stage: unit-tests - ``` - -[了解有关覆盖 SAST 作业的更多信息](sast/index.html#overriding-sast-jobs) . 所有安全扫描工具都定义了它们的阶段,因此,所有这些工具都可能发生此错误. - -### Getting error message `sast job: config key may not be used with 'rules': only/except`[](#getting-error-message-sast-job-config-key-may-not-be-used-with-rules-onlyexcept "Permalink") - -当[包括](../../ci/yaml/README.html#includetemplate)诸如[`SAST.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Security/SAST.gitlab-ci.yml)的`.gitlab-ci.yml`模板时,根据您的 GitLab CI / CD 配置,可能会发生以下错误: - -``` -Found errors in your .gitlab-ci.yml: - - jobs:sast config key may not be used with `rules`: only/except -``` - -当[`only`使用已弃用的或`except`语法`except`](../../ci/yaml/README.html#onlyexcept-basic) [覆盖](sast/index.html#overriding-sast-jobs)了包含作业的`rules`配置时,将出现此错误[.](../../ci/yaml/README.html#onlyexcept-basic) 若要解决此问题,您必须: - -* [Transition your `only/except` syntax to `rules`](#transitioning-your-onlyexcept-syntax-to-rules). -* (Temporarily) [Pin your templates to the deprecated versions](#pin-your-templates-to-the-deprecated-versions) - -[Learn more on overriding SAST jobs](sast/index.html#overriding-sast-jobs). - -#### Transitioning your `only/except` syntax to `rules`[](#transitioning-your-onlyexcept-syntax-to-rules "Permalink") - -覆盖模板以控制作业执行时, [`only`或`except`](../../ci/yaml/README.html#onlyexcept-basic)先前实例不再兼容,必须转换为[`rules`语法](../../ci/yaml/README.html#rules) . - -如果您的替代旨在将作业限制为仅在`master`运行,则先前的语法类似于: - -``` -include: - - template: SAST.gitlab-ci.yml - -# Ensure that the scanning is only executed on master or merge requests -spotbugs-sast: - only: - refs: - - master - - merge_requests -``` - -要将上面的配置转换为新的`rules`语法,重写将如下编写: - -``` -include: - - template: SAST.gitlab-ci.yml - -# Ensure that the scanning is only executed on master or merge requests -spotbugs-sast: - rules: - - if: $CI_COMMIT_BRANCH == "master" - - if: $CI_MERGE_REQUEST_ID -``` - -如果您的覆盖旨在限制作业仅在分支而不是标签上运行,则其外观类似于: - -``` -include: - - template: SAST.gitlab-ci.yml - -# Ensure that the scanning is not executed on tags -spotbugs-sast: - except: - - tags -``` - -为了过渡到新的`rules`语法,重写将被重写为: - -``` -include: - - template: SAST.gitlab-ci.yml - -# Ensure that the scanning is not executed on tags -spotbugs-sast: - rules: - - if: $CI_COMMIT_TAG == null -``` - -[Learn more on the usage of `rules`](../../ci/yaml/README.html#rules). - -#### Pin your templates to the deprecated versions[](#pin-your-templates-to-the-deprecated-versions "Permalink") - -为了确保获得最新支持,我们**强烈**建议您迁移到[`rules`](../../ci/yaml/README.html#rules) . - -如果您无法立即更新 CI 配置,则有几种解决方法,其中涉及固定到以前的模板版本,例如: - -``` - include: - remote: 'https://gitlab.com/gitlab-org/gitlab/-/raw/12-10-stable-ee/lib/gitlab/ci/templates/Security/SAST.gitlab-ci.yml' -``` - -此外,我们提供了一个专用项目,其中包含版本控制的旧版模板. 这对于脱机设置或希望使用[Auto DevOps 的](../../topics/autodevops/index.html)任何人很有用. - -[旧版模板项目](https://gitlab.com/gitlab-org/auto-devops-v12-10)中提供了说明. \ No newline at end of file diff --git a/docs/050.md b/docs/050.md deleted file mode 100644 index 0afab18..0000000 --- a/docs/050.md +++ /dev/null @@ -1,26 +0,0 @@ -# Security Configuration - -> 原文:[https://docs.gitlab.com/ee/user/application_security/configuration/](https://docs.gitlab.com/ee/user/application_security/configuration/) - -* [Overview](#overview) -* [Limitations](#limitations) - -# Security Configuration[](#security-configuration-ultimate "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/20711) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.6. - -## Overview[](#overview "Permalink") - -安全配置页面显示每个安全功能的配置状态,可以通过项目的侧边栏导航来访问. - -[![Screenshot of security configuration page](img/c5fbd1d44b70c599ae2cc8751ccfca14.png)](../img/security_configuration_page_v13_2.png) - -该页面使用项目的最新默认分支[CI 管道](../../../ci/pipelines/index.html)来确定每个功能部件的配置状态. 如果管道中存在具有预期安全报告工件的作业,则认为该功能已配置. - -**注意:**如果最新的管道使用了[Auto DevOps](../../../topics/autodevops/index.html) ,则默认情况下将配置所有安全功能. - -## Limitations[](#limitations "Permalink") - -尚无法使用配置页启用或禁用大多数功能. 但是,可以通过该页面上每个功能旁边的链接找到有关如何启用或禁用功能的说明. - -如果项目没有现有的 CI 配置,则可以通过单击"管理"列下的"启用合并请求"按钮来启用 SAST 功能. 将来的工作会将其扩展到编辑*现有* CI 配置以及其他安全功能. \ No newline at end of file diff --git a/docs/051.md b/docs/051.md deleted file mode 100644 index 13125b0..0000000 --- a/docs/051.md +++ /dev/null @@ -1,321 +0,0 @@ -# Container Scanning - -> 原文:[https://docs.gitlab.com/ee/user/application_security/container_scanning/](https://docs.gitlab.com/ee/user/application_security/container_scanning/) - -* [Overview](#overview) -* [Requirements](#requirements) -* [Configuration](#configuration) - * [Customizing the Container Scanning settings](#customizing-the-container-scanning-settings) - * [Available variables](#available-variables) - * [Overriding the Container Scanning template](#overriding-the-container-scanning-template) - * [Vulnerability allowlisting](#vulnerability-allowlisting) - * [Running Container Scanning in an offline environment](#running-container-scanning-in-an-offline-environment) - * [Requirements for offline Container Scanning](#requirements-for-offline-container-scanning) - * [Make GitLab Container Scanning analyzer images available inside your Docker registry](#make-gitlab-container-scanning-analyzer-images-available-inside-your-docker-registry) - * [Set Container Scanning CI job variables to use local Container Scanner analyzers](#set-container-scanning-ci-job-variables-to-use-local-container-scanner-analyzers) - * [Automating Container Scanning vulnerability database updates with a pipeline](#automating-container-scanning-vulnerability-database-updates-with-a-pipeline) -* [Running the standalone Container Scanning Tool](#running-the-standalone-container-scanning-tool) -* [Reports JSON format](#reports-json-format) -* [Security Dashboard](#security-dashboard) -* [Vulnerabilities database update](#vulnerabilities-database-update) -* [Interacting with the vulnerabilities](#interacting-with-the-vulnerabilities) -* [Solutions for vulnerabilities (auto-remediation)](#solutions-for-vulnerabilities-auto-remediation) -* [Troubleshooting](#troubleshooting) - * [`docker: Error response from daemon: failed to copy xattrs`](#docker-error-response-from-daemon-failed-to-copy-xattrs) - -# Container Scanning[](#container-scanning-ultimate "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/3672) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 10.4. - -## Overview[](#overview "Permalink") - -应用程序的 Docker 映像本身可能基于包含已知漏洞的 Docker 映像. 通过在管道中包含一个额外的作业来扫描这些漏洞并将其显示在合并请求中,您可以使用 GitLab 来审核基于 Docker 的应用程序. 默认情况下,GitLab 中的容器扫描基于[Clair](https://github.com/quay/clair)和[Klar](https://github.com/optiopay/klar) ,这是用于对容器中的漏洞进行静态分析的开源工具. [GitLab 的 Klar 分析仪](https://gitlab.com/gitlab-org/security-products/analyzers/klar/)扫描容器并用作 Clair 的包装纸. - -**注意:**要将除 Clair 和 Klar 以外的其他[安全扫描器集成](../../../development/integrations/secure.html)到 GitLab 中,请参阅" [安全扫描器集成"](../../../development/integrations/secure.html) . - -您可以通过执行以下任一操作来启用容器扫描: - -* 在现有的`.gitlab-ci.yml`文件中[包括 CI 作业](#configuration) . -* 隐式使用[Auto DevOps](../../../topics/autodevops/index.html)提供的[自动](../../../topics/autodevops/index.html) [容器扫描](../../../topics/autodevops/stages.html#auto-container-scanning-ultimate) . - -GitLab 比较发现的源分支与目标分支之间的漏洞,并在合并请求中直接显示信息. - -[![Container Scanning Widget](img/81b83780f68abcbb32edb1eb48002a4d.png)](img/container_scanning_v13_2.png) - -## Requirements[](#requirements "Permalink") - -要在管道中启用容器扫描,您需要以下内容: - -* 带有[Docker](https://docs.gitlab.com/runner/executors/docker.html)或[Kubernetes](https://docs.gitlab.com/runner/install/kubernetes.html)执行器的[GitLab Runner](https://docs.gitlab.com/runner/) . -* Docker `18.09.03`或更高版本与 Runner 安装在同一台计算机上. 如果您在 GitLab.com 上使用共享的 Runners,那么情况已经如此. -* [构建](../../packages/container_registry/index.html#container-registry-examples-with-gitlab-cicd) Docker 镜像[并将其推](../../packages/container_registry/index.html#container-registry-examples-with-gitlab-cicd)送到项目的容器注册表中. Docker 映像的名称应使用以下[预定义的环境变量](../../../ci/variables/predefined_variables.html) : - - ``` - $CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG:$CI_COMMIT_SHA - ``` - - 您可以在`.gitlab-ci.yml`文件中直接使用它们: - - ``` - build: - image: docker:19.03.12 - stage: build - services: - - docker:19.03.12-dind - variables: - IMAGE_TAG: $CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG:$CI_COMMIT_SHA - script: - - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - - docker build -t $IMAGE_TAG . - - docker push $IMAGE_TAG - ``` - -## Configuration[](#configuration "Permalink") - -启用容器扫描的方式取决于您的 GitLab 版本: - -* GitLab 11.9 及更高版本: [包括](../../../ci/yaml/README.html#includetemplate) GitLab 安装随附的[`Container-Scanning.gitlab-ci.yml`模板](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Security/Container-Scanning.gitlab-ci.yml) . -* 11.9 之前的 GitLab 版本:从[`Container-Scanning.gitlab-ci.yml`模板](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Security/Container-Scanning.gitlab-ci.yml)复制并使用作业. - -要包括`Container-Scanning.gitlab-ci.yml`模板(GitLab 11.9 及更高版本),请将以下内容添加到您的`.gitlab-ci.yml`文件中: - -``` -include: - - template: Container-Scanning.gitlab-ci.yml -``` - -包含的模板: - -* 在 CI / CD 管道中创建`container_scanning`作业. -* 从项目的[Container Registry 中](../../packages/container_registry/index.html)拉出已构建的 Docker 映像(请参阅[要求](#requirements) ),并扫描其可能的漏洞. - -GitLab 将结果保存为" [容器扫描"报告工件](../../../ci/pipelines/job_artifacts.html#artifactsreportscontainer_scanning-ultimate) ,您可以稍后下载和分析. 下载时,您始终会收到最新的工件. - -以下是一个示例`.gitlab-ci.yml` ,用于构建您的 Docker 映像,将其推送到 Container Registry 并扫描容器: - -``` -variables: - DOCKER_DRIVER: overlay2 - -stages: - - build - - test - -build: - image: docker:stable - stage: build - services: - - docker:19.03.12-dind - variables: - IMAGE: $CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG:$CI_COMMIT_SHA - script: - - docker info - - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY - - docker build -t $IMAGE . - - docker push $IMAGE - -include: - - template: Container-Scanning.gitlab-ci.yml -``` - -### Customizing the Container Scanning settings[](#customizing-the-container-scanning-settings "Permalink") - -There may be cases where you want to customize how GitLab scans your containers. For example, you may want to enable more verbose output from Clair or Klar, access a Docker registry that requires authentication, and more. To change such settings, use the [`variables`](../../../ci/yaml/README.html#variables) parameter in your `.gitlab-ci.yml` to set [environment variables](#available-variables). The environment variables you set in your `.gitlab-ci.yml` overwrite those in `Container-Scanning.gitlab-ci.yml`. - -此示例[包括](../../../ci/yaml/README.html#include)容器扫描模板,并通过将`CLAIR_OUTPUT`环境变量设置为`High`来启用 Clair 的详细输出: - -``` -include: - - template: Container-Scanning.gitlab-ci.yml - -variables: - CLAIR_OUTPUT: High -``` - -#### Available variables[](#available-variables "Permalink") - -可以使用环境变量[配置](#customizing-the-container-scanning-settings)容器扫描. - -| 环境变量 | Description | Default | -| --- | --- | --- | -| `SECURE_ANALYZERS_PREFIX` | 设置用于下载分析器的 Docker 注册表基地址. | `"registry.gitlab.com/gitlab-org/security-products/analyzers"` | -| `KLAR_TRACE` | 设置为 true 可启用 klar 的更多详细输出. | `"false"` | -| `CLAIR_TRACE` | 设置为 true 可启用 clair 服务器进程的更多详细输出. | `"false"` | -| `DOCKER_USER` | 用于访问需要身份验证的 Docker 注册表的用户名. | `$CI_REGISTRY_USER` | -| `DOCKER_PASSWORD` | 访问需要身份验证的 Docker 注册表的密码. | `$CI_REGISTRY_PASSWORD` | -| `CLAIR_OUTPUT` | 严重级别阈值. 严重级别高于或等于此阈值的漏洞将被输出. 支持的级别为`Unknown` , `Negligible` , `Low` , `Medium` , `High` , `Critical`和`Defcon1` . | `Unknown` | -| `REGISTRY_INSECURE` | 允许[Klar](https://github.com/optiopay/klar)访问不安全的注册表(仅 HTTP). 仅应在本地测试图像时设置为`true` . | `"false"` | -| `DOCKER_INSECURE` | 允许[Klar](https://github.com/optiopay/klar)使用带有错误(或自签名)SSL 证书的 HTTPS 访问安全的 Docker 注册表. | `"false"` | -| `CLAIR_VULNERABILITIES_DB_URL` | (不推荐**使用-改为使用`CLAIR_DB_CONNECTION_STRING`** )此变量在`Container-Scanning.gitlab-ci.yml`文件的[services 部分](https://gitlab.com/gitlab-org/gitlab/-/blob/898c5da43504eba87b749625da50098d345b60d6/lib/gitlab/ci/templates/Security/Container-Scanning.gitlab-ci.yml#L23)中显式设置,并且默认为`Container-Scanning.gitlab-ci.yml` `clair-vulnerabilities-db` . 该值表示[托管漏洞定义](https://hub.docker.com/r/arminc/clair-db)的[PostgreSQL 服务器](https://hub.docker.com/r/arminc/clair-db)正在运行的地址,除非您按照" [运行独立容器扫描工具"](#running-the-standalone-container-scanning-tool)部分中的说明在本地运行映像,否则**不应更改**该地址. | `clair-vulnerabilities-db` | -| `CLAIR_DB_CONNECTION_STRING` | 该变量表示[托管漏洞定义](https://hub.docker.com/r/arminc/clair-db)数据库的[PostgreSQL 服务器](https://hub.docker.com/r/arminc/clair-db)的[连接字符串](https://s0www0postgresql0org.icopy.site/docs/9.3/libpq-connect.html) ,除非您按照" [运行独立容器扫描工具"](#running-the-standalone-container-scanning-tool)部分中的说明在本地运行映像,否则**不应更改**该变量. 连接字符串的主机值必须与`Container-Scanning.gitlab-ci.yml`模板文件的[别名](https://gitlab.com/gitlab-org/gitlab/-/blob/898c5da43504eba87b749625da50098d345b60d6/lib/gitlab/ci/templates/Security/Container-Scanning.gitlab-ci.yml#L23)值匹配,该[别名](https://gitlab.com/gitlab-org/gitlab/-/blob/898c5da43504eba87b749625da50098d345b60d6/lib/gitlab/ci/templates/Security/Container-Scanning.gitlab-ci.yml#L23)默认为`clair-vulnerabilities-db` . | `postgresql://postgres:password@clair-vulnerabilities-db:5432/postgres?sslmode=disable&statement_timeout=60000` | -| `CI_APPLICATION_REPOSITORY` | Docker repository URL for the image to be scanned. | `$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG` | -| `CI_APPLICATION_TAG` | 待扫描图像的 Docker 存储库标签. | `$CI_COMMIT_SHA` | -| `CLAIR_DB_IMAGE` | [托管漏洞定义](https://hub.docker.com/r/arminc/clair-db)的[PostgreSQL 服务器](https://hub.docker.com/r/arminc/clair-db)的 Docker 映像名称和标记. 使用特定版本覆盖此值可能很有用,例如,为了进行集成测试而提供一致的漏洞集,或在本地进行脱机安装时引用本地托管的漏洞数据库. | `arminc/clair-db:latest` | -| `CLAIR_DB_IMAGE_TAG` | (不推荐**使用-改为使用`CLAIR_DB_IMAGE`** ) [托管漏洞定义](https://hub.docker.com/r/arminc/clair-db)的[PostgreSQL 服务器](https://hub.docker.com/r/arminc/clair-db)的 Docker 映像标记. 可以使用特定版本覆盖此值,例如,为集成测试目的提供一致的漏洞集很有用. | `latest` | -| `DOCKERFILE_PATH` | 用于生成补救的`Dockerfile`的路径. 默认情况下,扫描程序将在项目的根目录中查找名为`Dockerfile`的文件,因此仅当您的`Dockerfile`位于非标准位置(例如子目录)时,才应配置此变量. 有关更多详细信息,请参见[漏洞解决方案](#solutions-for-vulnerabilities-auto-remediation) . | `Dockerfile` | -| `ADDITIONAL_CA_CERT_BUNDLE` | 您要信任的 CA 证书捆绑包. | ”” | -| `SECURE_LOG_LEVEL` | 可用的日志级别为: `fatal` , `error` , `warn` , `info` , `debug` | `info` | - -### Overriding the Container Scanning template[](#overriding-the-container-scanning-template "Permalink") - -如果要覆盖作业定义(例如,更改诸如`variables`属性),则必须在`container_scanning`模板之后声明一个`container_scanning`作业,然后指定任何其他键. 例如: - -``` -include: - - template: Container-Scanning.gitlab-ci.yml - -container_scanning: - variables: - GIT_STRATEGY: fetch -``` - -**Deprecated:** GitLab 13.0 and later doesn’t support [`only` and `except`](../../../ci/yaml/README.html#onlyexcept-basic). When overriding the template, you must use [`rules`](../../../ci/yaml/README.html#rules) instead. - -### Vulnerability allowlisting[](#vulnerability-allowlisting "Permalink") - -要允许列表特定漏洞,请按照下列步骤操作: - -1. 设置`GIT_STRATEGY: fetch`按照[覆盖容器扫描模板中](#overriding-the-container-scanning-template)的说明, `GIT_STRATEGY: fetch` `.gitlab-ci.yml`文件. -2. 在名为`vulnerability-allowlist.yml`的 YAML 文件中定义允许列出的漏洞. 这必须使用[许可清单示例文件中](https://gitlab.com/gitlab-org/security-products/analyzers/klar/-/raw/master/testdata/vulnerability-allowlist.yml)描述的格式. -3. 将`vulnerability-allowlist.yml`文件添加到项目的 Git 存储库中. - -### Running Container Scanning in an offline environment[](#running-container-scanning-in-an-offline-environment "Permalink") - -对于在通过互联网有限,受限或间歇性访问外部资源的环境中进行自我管理的 GitLab 实例,需要进行一些调整才能使容器扫描作业成功运行. 有关更多信息,请参阅[脱机环境](../offline_deployments/index.html) . - -#### Requirements for offline Container Scanning[](#requirements-for-offline-container-scanning "Permalink") - -要在脱机环境中使用容器扫描,您需要: - -* GitLab 亚军与[`docker`或`kubernetes`执行](#requirements) . -* 要使用 Container Scanning [分析器](https://gitlab.com/gitlab-org/security-products/analyzers/klar)映像的副本配置本地 Docker Container Registry,请在[Container Scanning 容器注册表中找到](https://gitlab.com/gitlab-org/security-products/analyzers/klar/container_registry) . - -**注意:** GitLab Runner 的[默认`pull policy`为`always`](https://docs.gitlab.com/runner/executors/docker.html) ,这意味着即使本地副本可用,Runner 也会尝试从 GitLab 容器注册表中拉取 Docker 映像. 如果您只喜欢使用本地可用的 Docker 映像,则可以在离线环境[`pull_policy`](https://docs.gitlab.com/runner/executors/docker.html) GitLab Runner 的[`pull_policy`设置为`if-not-present`](https://docs.gitlab.com/runner/executors/docker.html) . 但是,如果不在离线环境中,我们建议将拉取策略设置保持为`always` ,因为这样可以在 CI / CD 管道中使用更新的扫描仪. - -#### Make GitLab Container Scanning analyzer images available inside your Docker registry[](#make-gitlab-container-scanning-analyzer-images-available-inside-your-docker-registry "Permalink") - -对于容器扫描,将以下默认图像从`registry.gitlab.com`导入[本地 Docker 容器注册表](../../packages/container_registry/index.html) : - -``` -registry.gitlab.com/gitlab-org/security-products/analyzers/klar -https://hub.docker.com/r/arminc/clair-db -``` - -将 Docker 映像导入本地脱机 Docker 注册表的过程取决于**您的网络安全策略** . 请咨询您的 IT 员工,以找到可以导入或临时访问外部资源的已接受和批准的流程. 请注意,这些扫描程序会[定期](../index.html#maintenance-and-update-of-the-vulnerabilities-database)使用新定义进行[更新](../index.html#maintenance-and-update-of-the-vulnerabilities-database) ,因此请考虑您是否能够自己进行定期更新. - -有关更多信息,请参见[有关如何使用管道更新映像的特定步骤](#automating-container-scanning-vulnerability-database-updates-with-a-pipeline) . - -有关将 Docker 映像保存和传输为文件的详细信息,请参阅 Docker 有关[`docker save`](https://s0docs0docker0com.icopy.site/engine/reference/commandline/save/) , [`docker load`](https://s0docs0docker0com.icopy.site/engine/reference/commandline/load/) , [`docker export`](https://s0docs0docker0com.icopy.site/engine/reference/commandline/export/)和[`docker import`](https://s0docs0docker0com.icopy.site/engine/reference/commandline/import/)的文档. - -#### Set Container Scanning CI job variables to use local Container Scanner analyzers[](#set-container-scanning-ci-job-variables-to-use-local-container-scanner-analyzers "Permalink") - -1. [覆盖](#overriding-the-container-scanning-template) `.gitlab-ci.yml`文件中[的容器扫描模板](#overriding-the-container-scanning-template) ,以引用本地 Docker 容器注册表中托管的 Docker 映像: - - ``` - include: - - template: Container-Scanning.gitlab-ci.yml - - container_scanning: - image: $CI_REGISTRY/namespace/gitlab-klar-analyzer - variables: - CLAIR_DB_IMAGE: $CI_REGISTRY/namespace/clair-vulnerabilities-db - ``` - -2. 如果您的本地 Docker 容器注册表正在通过`HTTPS`安全运行,但是您使用的是自签名证书,则必须在`.gitlab-ci.yml`的上述`container_scanning`部分中将`DOCKER_INSECURE: "true"`设置为. - -#### Automating Container Scanning vulnerability database updates with a pipeline[](#automating-container-scanning-vulnerability-database-updates-with-a-pipeline "Permalink") - -设置[计划的管道](../../../ci/pipelines/schedules.html)以按照预设的计划自动构建漏洞数据库的新版本可能是值得的. 使用管道自动执行此操作意味着您不必每次都手动进行操作. 您可以使用以下`.gitlab-yml.ci`作为模板: - -``` -image: docker:stable - -stages: - - build - -build_latest_vulnerabilities: - stage: build - services: - - docker:19.03.12-dind - script: - - docker pull arminc/clair-db:latest - - docker tag arminc/clair-db:latest $CI_REGISTRY/namespace/clair-vulnerabilities-db - - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY - - docker push $CI_REGISTRY/namespace/clair-vulnerabilities-db -``` - -上面的模板适用于在本地安装上运行的 GitLab Docker 注册表,但是,如果您使用的是非 GitLab Docker 注册表,则需要更改`$CI_REGISTRY`值和 Docker `docker login`凭据以匹配以下内容:您的本地注册表. - -## Running the standalone Container Scanning Tool[](#running-the-standalone-container-scanning-tool "Permalink") - -可以对 Docker 容器运行[GitLab 容器扫描工具](https://gitlab.com/gitlab-org/security-products/analyzers/klar) ,而无需在 CI 作业的上下文中运行它. 要直接扫描图像,请按照下列步骤操作: - -1. Run [Docker Desktop](https://www.docker.com/products/docker-desktop) or [Docker Machine](https://github.com/docker/machine). -2. 运行最新的[预填充漏洞数据库](https://hub.docker.com/repository/docker/arminc/clair-db) Docker 映像: - - ``` - docker run -p 5432:5432 -d --name clair-db arminc/clair-db:latest - ``` - -3. Configure an environment variable to point to your local machine’s IP address (or insert your IP address instead of the `LOCAL_MACHINE_IP_ADDRESS` variable in the `CLAIR_DB_CONNECTION_STRING` in the next step): - - ``` - export LOCAL_MACHINE_IP_ADDRESS=your.local.ip.address - ``` - -4. 运行分析器的 Docker 映像,并在`CI_APPLICATION_REPOSITORY`和`CI_APPLICATION_TAG`环境变量中传递要分析的映像和标签: - - ``` - docker run \ - --interactive --rm \ - --volume "$PWD":/tmp/app \ - -e CI_PROJECT_DIR=/tmp/app \ - -e CLAIR_DB_CONNECTION_STRING="postgresql://postgres:password@${LOCAL_MACHINE_IP_ADDRESS}:5432/postgres?sslmode=disable&statement_timeout=60000" \ - -e CI_APPLICATION_REPOSITORY=registry.gitlab.com/gitlab-org/security-products/dast/webgoat-8.0@sha256 \ - -e CI_APPLICATION_TAG=bc09fe2e0721dfaeee79364115aeedf2174cce0947b9ae5fe7c33312ee019a4e \ - registry.gitlab.com/gitlab-org/security-products/analyzers/klar - ``` - -结果存储在`gl-container-scanning-report.json` . - -## Reports JSON format[](#reports-json-format "Permalink") - -容器扫描工具会发出 JSON 报告文件. 有关更多信息,请参见此[报告](https://gitlab.com/gitlab-org/security-products/security-report-schemas/-/blob/master/dist/container-scanning-report-format.json)的[架构](https://gitlab.com/gitlab-org/security-products/security-report-schemas/-/blob/master/dist/container-scanning-report-format.json) . - -这是示例容器扫描报告: - -``` -{ "version": "2.3", "vulnerabilities": [ { "id": "ac0997ad-1006-4c81-81fb-ee2bbe6e78e3", "category": "container_scanning", "message": "CVE-2019-3462 in apt", "description": "Incorrect sanitation of the 302 redirect field in HTTP transport method of apt versions 1.4.8 and earlier can lead to content injection by a MITM attacker, potentially leading to remote code execution on the target machine.", "severity": "High", "confidence": "Unknown", "solution": "Upgrade apt from 1.4.8 to 1.4.9", "scanner": { "id": "klar", "name": "klar" }, "location": { "dependency": { "package": { "name": "apt" }, "version": "1.4.8" }, "operating_system": "debian:9", "image": "registry.gitlab.com/gitlab-org/security-products/dast/webgoat-8.0@sha256:bc09fe2e0721dfaeee79364115aeedf2174cce0947b9ae5fe7c33312ee019a4e" }, "identifiers": [ { "type": "cve", "name": "CVE-2019-3462", "value": "CVE-2019-3462", "url": "https://security-tracker.debian.org/tracker/CVE-2019-3462" } ], "links": [ { "url": "https://security-tracker.debian.org/tracker/CVE-2019-3462" } ] } ], "remediations": [ { "fixes": [ { "id": "c0997ad-1006-4c81-81fb-ee2bbe6e78e3" } ], "summary": "Upgrade apt from 1.4.8 to 1.4.9", "diff": "YXB0LWdldCB1cGRhdGUgJiYgYXB0LWdldCB1cGdyYWRlIC15IGFwdA==" } ] } -``` - -## Security Dashboard[](#security-dashboard "Permalink") - -[安全仪表板](../security_dashboard/index.html)向您显示组,项目和管道中所有安全漏洞的概述. - -## Vulnerabilities database update[](#vulnerabilities-database-update "Permalink") - -有关漏洞数据库更新的更多信息,请查看[维护表](../index.html#maintenance-and-update-of-the-vulnerabilities-database) . - -## Interacting with the vulnerabilities[](#interacting-with-the-vulnerabilities "Permalink") - -一旦发现漏洞,便可以[与其进行交互](../index.html#interacting-with-the-vulnerabilities) . - -## Solutions for vulnerabilities (auto-remediation)[](#solutions-for-vulnerabilities-auto-remediation "Permalink") - -可以通过应用 GitLab 自动生成的解决方案来修复某些漏洞. - -为了使整治的支持,对扫描工具*必须*能够访问`Dockerfile`指定由[`DOCKERFILE_PATH`](#available-variables)环境变量. 为确保扫描工具可以访问此文件,有必要设置[`GIT_STRATEGY: fetch`](../../../ci/yaml/README.html#git-strategy)按照本文档中" [覆盖容器扫描模板"](#overriding-the-container-scanning-template)部分中介绍的说明,在`.gitlab-ci.yml`文件中进行[`GIT_STRATEGY: fetch`](../../../ci/yaml/README.html#git-strategy) . - -阅读有关[漏洞解决方案的](../index.html#solutions-for-vulnerabilities-auto-remediation)更多信息. - -## Troubleshooting[](#troubleshooting "Permalink") - -### `docker: Error response from daemon: failed to copy xattrs`[](#docker-error-response-from-daemon-failed-to-copy-xattrs "Permalink") - -当 GitLab Runner 使用 Docker 执行程序并使用 NFS 时(例如, `/var/lib/docker`在 NFS 挂载上),容器扫描可能会失败,并显示以下错误: - -``` -docker: Error response from daemon: failed to copy xattrs: failed to set xattr "security.selinux" on /path/to/file: operation not supported. -``` - -这是由于 Docker 中的一个错误而导致的,该错误现已[修复](https://github.com/containerd/continuity/pull/138 "fs:添加 WithAllowXAttrErrors CopyOpt") . 为避免该错误,请确保 Runner 使用的 Docker 版本为`18.09.03`或更高. 有关更多信息,请参见[问题#10241](https://gitlab.com/gitlab-org/gitlab/-/issues/10241 "调查为什么容器扫描不适用于 NFS 挂载") . \ No newline at end of file diff --git a/docs/052.md b/docs/052.md deleted file mode 100644 index 4c8515b..0000000 --- a/docs/052.md +++ /dev/null @@ -1,370 +0,0 @@ -# Dependency Scanning - -> 原文:[https://docs.gitlab.com/ee/user/application_security/dependency_scanning/](https://docs.gitlab.com/ee/user/application_security/dependency_scanning/) - -* [Overview](#overview) -* [Requirements](#requirements) -* [Supported languages and package managers](#supported-languages-and-package-managers) -* [Contribute your scanner](#contribute-your-scanner) -* [Configuration](#configuration) - * [Customizing the Dependency Scanning settings](#customizing-the-dependency-scanning-settings) - * [Overriding Dependency Scanning jobs](#overriding-dependency-scanning-jobs) - * [Available variables](#available-variables) - * [Configuring Dependency Scanning](#configuring-dependency-scanning) - * [Configuring Docker-in-Docker orchestrator](#configuring-docker-in-docker-orchestrator) - * [Configuring specific analyzers used by Dependency Scanning](#configuring-specific-analyzers-used-by-dependency-scanning) - * [Using private Maven repos](#using-private-maven-repos) - * [Enabling Docker-in-Docker](#enabling-docker-in-docker) -* [Interacting with the vulnerabilities](#interacting-with-the-vulnerabilities) -* [Solutions for vulnerabilities (auto-remediation)](#solutions-for-vulnerabilities-auto-remediation) -* [Security Dashboard](#security-dashboard) -* [Vulnerabilities database update](#vulnerabilities-database-update) -* [Dependency List](#dependency-list) -* [Reports JSON format](#reports-json-format) -* [Versioning and release process](#versioning-and-release-process) -* [Contributing to the vulnerability database](#contributing-to-the-vulnerability-database) -* [Running Dependency Scanning in an offline environment](#running-dependency-scanning-in-an-offline-environment) - * [Requirements for offline Dependency Scanning](#requirements-for-offline-dependency-scanning) - * [Make GitLab Dependency Scanning analyzer images available inside your Docker registry](#make-gitlab-dependency-scanning-analyzer-images-available-inside-your-docker-registry) - * [Set Dependency Scanning CI job variables to use local Dependency Scanning analyzers](#set-dependency-scanning-ci-job-variables-to-use-local-dependency-scanning-analyzers) - * [Specific settings for languages and package managers](#specific-settings-for-languages-and-package-managers) - * [JavaScript (npm and yarn) projects](#javascript-npm-and-yarn-projects) - * [Ruby (gem) projects](#ruby-gem-projects) - * [Python (setuptools)](#python-setuptools) -* [Limitations](#limitations) - * [Referencing local dependencies using a path in JavaScript projects](#referencing-local-dependencies-using-a-path-in-javascript-projects) -* [Troubleshooting](#troubleshooting) - * [`Error response from daemon: error processing tar file: docker-tar: relocation error`](#error-response-from-daemon-error-processing-tar-file-docker-tar-relocation-error) - -# Dependency Scanning[](#dependency-scanning-ultimate "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/5105) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 10.7. - -在开发和测试应用程序时,例如当应用程序使用已知的易受攻击的外部(开源)库时,"依赖关系扫描"有助于自动在依赖项中查找安全漏洞. - -## Overview[](#overview "Permalink") - -如果您使用的是[GitLab CI / CD](../../../ci/README.html) ,则可以使用"依赖关系扫描"来分析依赖关系中的已知漏洞. 扫描所有依赖项,包括传递性依赖项(也称为嵌套依赖项). 您可以通过在现有`.gitlab-ci.yml`文件中[包括依赖扫描模板](#configuration) ,或通过隐式使用[Auto DevOps](../../../topics/autodevops/index.html)提供的[自动依赖扫描](../../../topics/autodevops/stages.html#auto-dependency-scanning-ultimate)来利用[依赖扫描](../../../topics/autodevops/stages.html#auto-dependency-scanning-ultimate) . - -GitLab 检查"依赖性扫描"报告,比较发现的源分支和目标分支之间的漏洞,并显示有关合并请求的信息. - -[![Dependency Scanning Widget](img/6d49650d7eab0173612011fa6d81dc4e.png)](img/dependency_scanning_v13_2.png) - -结果按漏洞的严重性排序: - -1. Critical -2. High -3. Medium -4. Low -5. Unknown -6. 其他一切 - -## Requirements[](#requirements "Permalink") - -要运行依赖扫描作业,默认情况下,你需要 GitLab 亚军与[`docker`](https://docs.gitlab.com/runner/executors/docker.html)或[`kubernetes`](https://docs.gitlab.com/runner/install/kubernetes.html)执行. 如果您在 GitLab.com 上使用共享的 Runners,则默认启用该功能. - -**注意:**如果使用自己的 Runners,请确保已安装的 Docker 版本**不是** `19.03.0` . 有关详细[信息](#error-response-from-daemon-error-processing-tar-file-docker-tar-relocation-error) ,请参见[故障排除信息](#error-response-from-daemon-error-processing-tar-file-docker-tar-relocation-error) . - -从 GitLab 13.0 开始,仅当您已[启用 Docker-in-Docker 进行依赖项扫描](#enabling-docker-in-docker)时,才需要 Docker 特权模式. - -## Supported languages and package managers[](#supported-languages-and-package-managers "Permalink") - -GitLab 依赖于[`rules`](../../../ci/yaml/README.html#rules)来启动相关分析器,具体取决于存储库中检测到的语言. 当前的检测逻辑将最大搜索深度限制为两个级别. 例如,如果存储库包含`Gemfile`或`api/Gemfile`文件,则启用`gemnasium-dependency_scanning`作业,但如果唯一受支持的依赖性文件是`api/client/Gemfile` . - -支持以下语言和依赖项管理器: - -| 语言(程序包管理器) | 支援的档案 | 扫描工具 | -| --- | --- | --- | -| Java ([Gradle](https://s0gradle0org.icopy.site/), [Maven](https://maven.apache.org/)) | `build.gradle`, `build.gradle.kts`, `pom.xml` | [Gemnasium](https://gitlab.com/gitlab-org/security-products/gemnasium) | -| JavaScript( [npm](https://s0www0npmjs0com.icopy.site/) , [yarn](https://classic.yarnpkg.com/en/) ) | `package-lock.json`, `npm-shrinkwrap.json`, `yarn.lock` | [Gemnasium](https://gitlab.com/gitlab-org/security-products/gemnasium), [Retire.js](https://retirejs.github.io/retire.js/) | -| 去( [Golang](https://s0golang0org.icopy.site/) ) | `go.sum` | [Gemnasium](https://gitlab.com/gitlab-org/security-products/gemnasium) | -| PHP( [作曲家](https://s0getcomposer0org.icopy.site/) ) | `composer.lock` | [Gemnasium](https://gitlab.com/gitlab-org/security-products/gemnasium) | -| Python( [setuptools](https://setuptools.readthedocs.io/en/latest/) , [pip](https://pip.pypa.io/en/stable/) , [Pipenv](https://pipenv.pypa.io/en/latest/) ) | `setup.py`, `requirements.txt`, `requirements.pip`, `requires.txt`, `Pipfile` | [Gemnasium](https://gitlab.com/gitlab-org/security-products/gemnasium) | -| 红宝石( [Bundler](https://bundler.io/) ) | `Gemfile.lock`, `gems.locked` | [Gemnasium](https://gitlab.com/gitlab-org/security-products/gemnasium), [bundler-audit](https://github.com/rubysec/bundler-audit) | -| Scala( [sbt](https://www.scala-sbt.org/) ) | `build.sbt` | [Gemnasium](https://gitlab.com/gitlab-org/security-products/gemnasium) | - -正在制定支持以下语言,依赖性管理器和依赖性文件的计划. 有关详细信息,请参见每个的问题链接. - -| 语言(程序包管理器) | 支援的档案 | 扫描工具 | Issue | -| --- | --- | --- | --- | -| Python( [诗歌](https://python-poetry.org/) ) | `poetry.lock` | [Gemnasium](https://gitlab.com/gitlab-org/security-products/gemnasium) | [GitLab#7006](https://gitlab.com/gitlab-org/gitlab/-/issues/7006) | -| Python( [Pipenv](https://pipenv.pypa.io/en/latest/) ) | `Pipfile.lock` | [Gemnasium](https://gitlab.com/gitlab-org/security-products/gemnasium) | [GitLab#11756](https://gitlab.com/gitlab-org/gitlab/-/issues/11756) | - -## Contribute your scanner[](#contribute-your-scanner "Permalink") - -[安全扫描程序集成](../../../development/integrations/secure.html)文档说明了如何将其他安全扫描[程序集成](../../../development/integrations/secure.html)到 GitLab 中. - -## Configuration[](#configuration "Permalink") - -To enable Dependency Scanning for GitLab 11.9 and later, you must [include](../../../ci/yaml/README.html#includetemplate) the [`Dependency-Scanning.gitlab-ci.yml` template](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Security/Dependency-Scanning.gitlab-ci.yml) that’s provided as a part of your GitLab installation. For GitLab versions earlier than 11.9, you can copy and use the job as defined that template. - -将以下内容添加到您的`.gitlab-ci.yml`文件中: - -``` -include: - - template: Dependency-Scanning.gitlab-ci.yml -``` - -随附的模板将在 CI / CD 管道中创建"依赖关系扫描"作业,并扫描项目的源代码以查找可能的漏洞. 结果将保存为" [依赖关系扫描"报告工件](../../../ci/pipelines/job_artifacts.html#artifactsreportsdependency_scanning-ultimate) ,您以后可以下载和分析该[工件](../../../ci/pipelines/job_artifacts.html#artifactsreportsdependency_scanning-ultimate) . 由于实施限制,我们始终采用最新的"依赖关系扫描"工件. - -### Customizing the Dependency Scanning settings[](#customizing-the-dependency-scanning-settings "Permalink") - -可以使用`.gitlab-ci.yml`的[`variables`](../../../ci/yaml/README.html#variables)参数通过[环境变量](#available-variables)来更改"依赖项扫描"设置. 例如: - -``` -include: - - template: Dependency-Scanning.gitlab-ci.yml - -variables: - DS_PYTHON_VERSION: 2 -``` - -因为模板是[在](../../../ci/yaml/README.html#include)管道配置[之前评估](../../../ci/yaml/README.html#include)的,所以最后提到的变量将具有优先权. - -### Overriding Dependency Scanning jobs[](#overriding-dependency-scanning-jobs "Permalink") - -**弃用:**从 GitLab 13.0 开始,不再支持[`only`和`except`](../../../ci/yaml/README.html#onlyexcept-basic)的使用. 覆盖模板时,必须使用[`rules`](../../../ci/yaml/README.html#rules) . - -要覆盖作业定义(例如,更改诸如`variables`或`dependencies`类的属性),请声明一个与要覆盖的作业同名的新作业. 将此新作业放置在包含模板之后,并在其下指定其他任何键. 例如,这将禁用`DS_REMEDIATE`为`gemnasium`分析器: - -``` -include: - - template: Dependency-Scanning.gitlab-ci.yml - -gemnasium-dependency_scanning: - variables: - DS_REMEDIATE: "false" -``` - -### Available variables[](#available-variables "Permalink") - -可以使用环境变量[配置](#customizing-the-dependency-scanning-settings)依赖性扫描. - -#### Configuring Dependency Scanning[](#configuring-dependency-scanning "Permalink") - -以下变量允许配置全局依赖项扫描设置. - -| 环境变量 | Description | -| --- | --- | -| `SECURE_ANALYZERS_PREFIX` | 覆盖提供正式默认映像(代理)的 Docker 注册表名称. 阅读有关[自定义分析器的](analyzers.html)更多信息. | -| `DS_DEFAULT_ANALYZERS` | 覆盖正式默认图像的名称. 阅读有关[自定义分析器的](analyzers.html)更多信息. | -| `DS_DISABLE_DIND` | 禁用 Docker-in-Docker 并[单独](#enabling-docker-in-docker)运行分析器. 默认情况下,此变量为`true` . | -| `ADDITIONAL_CA_CERT_BUNDLE` | 捆绑的 CA 证书可信任. | -| `DS_EXCLUDED_PATHS` | 根据路径从输出中排除漏洞. 以逗号分隔的模式列表. 模式可以是全局变量,也可以是文件或文件夹路径(例如`doc,spec` ). 父目录也匹配模式. 默认值: `"spec, test, tests, tmp"` | -| `SECURE_LOG_LEVEL` | 默认日志级别为`info` ,您可以将其设置为以下任意字符串: `fatal` , `error` , `warn` , `info` , `debug` . | - -#### Configuring Docker-in-Docker orchestrator[](#configuring-docker-in-docker-orchestrator "Permalink") - -以下变量配置 Docker-in-Docker 协调器,因此仅在[启用](#enabling-docker-in-docker) Docker-in-Docker 模式时才使用. - -| 环境变量 | Default | Description | -| --- | --- | --- | -| `DS_ANALYZER_IMAGES` |   | 以逗号分隔的自定义图像列表. 官方默认图像仍处于启用状态. 阅读有关[自定义分析器的](analyzers.html)更多信息. | -| `DS_ANALYZER_IMAGE_TAG` |   | 覆盖官方默认映像的 Docker 标签. 阅读有关[自定义分析器的](analyzers.html)更多信息. | -| `DS_PULL_ANALYZER_IMAGES` |   | 从 Docker 注册表中提取映像(设置为`0`以禁用). | -| `DS_DOCKER_CLIENT_NEGOTIATION_TIMEOUT` | 2m | Docker 客户端协商的时间限制. 使用 Go 的[`ParseDuration`](https://s0golang0org.icopy.site/pkg/time/)解析超时. 有效时间单位为`ns` , `us` (或`µs` ), `ms` , `s` , `m`或`h` . 例如`300ms` , `1.5h`或`2h45m` . | -| `DS_PULL_ANALYZER_IMAGE_TIMEOUT` | 5m | 拉取分析仪图像的时间限制. 使用 Go 的[`ParseDuration`](https://s0golang0org.icopy.site/pkg/time/)解析超时. 有效时间单位为`ns` , `us` (或`µs` ), `ms` , `s` , `m`或`h` . 例如`300ms` , `1.5h`或`2h45m` . | -| `DS_RUN_ANALYZER_TIMEOUT` | 20m | 运行分析仪的时间限制. 使用 Go 的[`ParseDuration`](https://s0golang0org.icopy.site/pkg/time/)解析超时. 有效时间单位为`ns` , `us` (或`µs` ), `ms` , `s` , `m`或`h` . 例如`300ms` , `1.5h`或`2h45m` . | - -#### Configuring specific analyzers used by Dependency Scanning[](#configuring-specific-analyzers-used-by-dependency-scanning "Permalink") - -以下变量用于配置特定的分析器(用于特定的语言/框架). - -| Environment variable | Analyzer | Default | Description | -| --- | --- | --- | --- | -| `GEMNASIUM_DB_LOCAL_PATH` | `gemnasium` | `/gemnasium-db` | 本地 Gemnasium 数据库的路径. | -| `GEMNASIUM_DB_REMOTE_URL` | `gemnasium` | `https://gitlab.com/gitlab-org/security-products/gemnasium-db.git` | 用于获取 Gemnasium 数据库的存储库 URL. | -| `GEMNASIUM_DB_REF_NAME` | `gemnasium` | `master` | 远程存储库数据库的分支名称. 需要`GEMNASIUM_DB_REMOTE_URL` . | -| `DS_REMEDIATE` | `gemnasium` | `"true"` | 启用对弱势依赖项的自动修复. | -| `PIP_INDEX_URL` | `gemnasium-python` | `https://pypi.org/simple` | Python 软件包索引的基本 URL. | -| `PIP_EXTRA_INDEX_URL` | `gemnasium-python` |   | 除`PIP_INDEX_URL`之外, `PIP_INDEX_URL`使用包索引的其他[URL](https://pip.pypa.io/en/stable/reference/pip_install/#cmdoption-extra-index-url)数组. 以逗号分隔. | -| `PIP_REQUIREMENTS_FILE` | `gemnasium-python` |   | 要扫描的点子要求文件. | -| `DS_PIP_VERSION` | `gemnasium-python` |   | 强制安装特定的 pip 版本(例如: `"19.3"` ),否则将使用 Docker 映像中安装的 pip. (在 GitLab 12.7 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/12811) ) | -| `DS_PIP_DEPENDENCY_PATH` | `gemnasium-python` |   | 从中加载 Python pip 依赖项的路径. (在 GitLab 12.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/12412) ) | -| `DS_PYTHON_VERSION` | `retire.js` |   | Python 版本. 如果设置为 2,则将使用 Python 2.7 而非 Python 3.6 安装依赖项. (在 GitLab 12.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/12296) ) | -| `DS_JAVA_VERSION` | `gemnasium-maven` | `11` | Java 版本. 可用版本: `8` , `11` , `13` , `14` . Maven 和 Gradle 将使用此值指定的 Java 版本. | -| `MAVEN_CLI_OPTS` | `gemnasium-maven` | `"-DskipTests --batch-mode"` | 分析器将传递给`maven`的命令行参数列表. 请参阅[使用私有存储库](../index.html#using-private-maven-repos)的示例. | -| `GRADLE_CLI_OPTS` | `gemnasium-maven` |   | 分析器将传递给`gradle`的命令行参数列表. | -| `SBT_CLI_OPTS` | `gemnasium-maven` |   | 分析器将传递给`sbt`的命令行参数列表. | -| `BUNDLER_AUDIT_UPDATE_DISABLED` | `bundler-audit` | `"false"` | 禁用`bundler-audit`分析器的自动更新. 如果您在脱机的空白环境中运行"依赖性扫描",则很有用. | -| `BUNDLER_AUDIT_ADVISORY_DB_URL` | `bundler-audit` | `https://github.com/rubysec/ruby-advisory-db` | bundler-audit 使用的咨询数据库的 URL. | -| `BUNDLER_AUDIT_ADVISORY_DB_REF_NAME` | `bundler-audit` | `master` | `BUNDLER_AUDIT_ADVISORY_DB_URL`指定的咨询数据库的 Git ref. | -| `RETIREJS_JS_ADVISORY_DB` | `retire.js` | `https://raw.githubusercontent.com/RetireJS/retire.js/master/repository/jsrepository.json` | `retire.js` JS 漏洞数据文件的路径或 URL. 请注意,如果托管数据文件的 URL 使用自定义 SSL 证书(例如在脱机安装中),则可以在`ADDITIONAL_CA_CERT_BUNDLE`环境变量中传递证书. | -| `RETIREJS_NODE_ADVISORY_DB` | `retire.js` | `https://raw.githubusercontent.com/RetireJS/retire.js/master/repository/npmrepository.json` | `retire.js`节点漏洞数据文件的路径或 URL. 请注意,如果托管数据文件的 URL 使用自定义 SSL 证书(例如在脱机安装中),则可以在`ADDITIONAL_CA_CERT_BUNDLE`环境变量中传递证书. | -| `RETIREJS_ADVISORY_DB_INSECURE` | `retire.js` | `false` | 启用使用不安全或自签名 SSL(TLS)证书从主机获取远程 JS 和 Node 漏洞数据文件(由`RETIREJS_JS_ADVISORY_DB`和`RETIREJS_NODE_ADVISORY_DB`变量定义)的功能. | - -### Using private Maven repos[](#using-private-maven-repos "Permalink") - -如果您的私有 Maven 存储库需要登录凭据,则可以使用`MAVEN_CLI_OPTS`环境变量. - -阅读有关[如何使用私有 Maven 存储库的](../index.html#using-private-maven-repos)更多[信息](../index.html#using-private-maven-repos) . - -### Enabling Docker-in-Docker[](#enabling-docker-in-docker "Permalink") - -在 GitLab Ultimate 12.5 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/12487) . - -如果需要,可以启用 Docker-in-Docker 来还原 GitLab 13.0 之前存在的 Dependency Scanning 行为. 请按照以下步骤操作: - -1. 在[特权模式下](https://docs.gitlab.com/runner/executors/docker.html)使用 Docker-in-Docker 配置 GitLab Runner. -2. Set the `DS_DISABLE_DIND` variable to `false`: - - ``` - include: - - template: Dependency-Scanning.gitlab-ci.yml - - variables: - DS_DISABLE_DIND: "false" - ``` - -这将在您的 CI / CD 管道中创建一个`dependency_scanning`作业,而不是多个`-dependency_scanning`作业. - -## Interacting with the vulnerabilities[](#interacting-with-the-vulnerabilities "Permalink") - -一旦发现漏洞,便可以与其进行交互. 阅读有关如何[与漏洞](../index.html#interacting-with-the-vulnerabilities)进行[交互的](../index.html#interacting-with-the-vulnerabilities)更多信息. - -## Solutions for vulnerabilities (auto-remediation)[](#solutions-for-vulnerabilities-auto-remediation "Permalink") - -可以通过应用 GitLab 自动生成的解决方案来修复某些漏洞. 阅读有关[漏洞解决方案的](../index.html#solutions-for-vulnerabilities-auto-remediation)更多信息. - -## Security Dashboard[](#security-dashboard "Permalink") - -在"安全仪表板"中,您可以概览您的组,项目和管道中的所有安全漏洞. 阅读有关[安全仪表板的](../security_dashboard/index.html)更多[信息](../security_dashboard/index.html) . - -## Vulnerabilities database update[](#vulnerabilities-database-update "Permalink") - -有关漏洞数据库更新的更多信息,请查看[维护表](../index.html#maintenance-and-update-of-the-vulnerabilities-database) . - -## Dependency List[](#dependency-list "Permalink") - -依赖项扫描的另一个好处是能够查看项目的依赖项及其已知漏洞. 阅读有关[依赖列表的](../dependency_list/index.html)更多信息. - -## Reports JSON format[](#reports-json-format "Permalink") - -依赖关系扫描工具将发出 JSON 报告文件. 有关更多信息,请参见此[报告](https://gitlab.com/gitlab-org/security-products/security-report-schemas/-/blob/master/dist/dependency-scanning-report-format.json)的[架构](https://gitlab.com/gitlab-org/security-products/security-report-schemas/-/blob/master/dist/dependency-scanning-report-format.json) . - -这是一个示例依赖性扫描报告: - -``` -{ "version": "2.0", "vulnerabilities": [ { "id": "51e83874-0ff6-4677-a4c5-249060554eae", "category": "dependency_scanning", "name": "Regular Expression Denial of Service", "message": "Regular Expression Denial of Service in debug", "description": "The debug module is vulnerable to regular expression denial of service when untrusted user input is passed into the `o` formatter. It takes around 50k characters to block for 2 seconds making this a low severity issue.", "severity": "Unknown", "solution": "Upgrade to latest versions.", "scanner": { "id": "gemnasium", "name": "Gemnasium" }, "location": { "file": "yarn.lock", "dependency": { "package": { "name": "debug" }, "version": "1.0.5" } }, "identifiers": [ { "type": "gemnasium", "name": "Gemnasium-37283ed4-0380-40d7-ada7-2d994afcc62a", "value": "37283ed4-0380-40d7-ada7-2d994afcc62a", "url": "https://deps.sec.gitlab.com/packages/npm/debug/versions/1.0.5/advisories" } ], "links": [ { "url": "https://nodesecurity.io/advisories/534" }, { "url": "https://github.com/visionmedia/debug/issues/501" }, { "url": "https://github.com/visionmedia/debug/pull/504" } ] }, { "id": "5d681b13-e8fa-4668-957e-8d88f932ddc7", "category": "dependency_scanning", "name": "Authentication bypass via incorrect DOM traversal and canonicalization", "message": "Authentication bypass via incorrect DOM traversal and canonicalization in saml2-js", "description": "Some XML DOM traversal and canonicalization APIs may be inconsistent in handling of comments within XML nodes. Incorrect use of these APIs by some SAML libraries results in incorrect parsing of the inner text of XML nodes such that any inner text after the comment is lost prior to cryptographically signing the SAML message. Text after the comment therefore has no impact on the signature on the SAML message.\r\n\r\nA remote attacker can modify SAML content for a SAML service provider without invalidating the cryptographic signature, which may allow attackers to bypass primary authentication for the affected SAML service provider.", "severity": "Unknown", "solution": "Upgrade to fixed version.\r\n", "scanner": { "id": "gemnasium", "name": "Gemnasium" }, "location": { "file": "yarn.lock", "dependency": { "package": { "name": "saml2-js" }, "version": "1.5.0" } }, "identifiers": [ { "type": "gemnasium", "name": "Gemnasium-9952e574-7b5b-46fa-a270-aeb694198a98", "value": "9952e574-7b5b-46fa-a270-aeb694198a98", "url": "https://deps.sec.gitlab.com/packages/npm/saml2-js/versions/1.5.0/advisories" }, { "type": "cve", "name": "CVE-2017-11429", "value": "CVE-2017-11429", "url": "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-11429" } ], "links": [ { "url": "https://github.com/Clever/saml2/commit/3546cb61fd541f219abda364c5b919633609ef3d#diff-af730f9f738de1c9ad87596df3f6de84R279" }, { "url": "https://github.com/Clever/saml2/issues/127" }, { "url": "https://www.kb.cert.org/vuls/id/475445" } ] } ], "remediations": [ { "fixes": [ { "id": "5d681b13-e8fa-4668-957e-8d88f932ddc7", } ], "summary": "Upgrade saml2-js", "diff": "ZGlmZiAtLWdpdCBhL...OR0d1ZUc2THh3UT09Cg==" // some content is omitted for brevity } ] } -``` - -## Versioning and release process[](#versioning-and-release-process "Permalink") - -请检查[发布过程文档](https://gitlab.com/gitlab-org/security-products/release/blob/master/docs/release_process.md) . - -## Contributing to the vulnerability database[](#contributing-to-the-vulnerability-database "Permalink") - -您可以搜索[gemnasium-db](https://gitlab.com/gitlab-org/security-products/gemnasium-db)项目,以在 Gemnasium 数据库中找到漏洞. 您还可以[提交新漏洞](https://gitlab.com/gitlab-org/security-products/gemnasium-db/blob/master/CONTRIBUTING.md) . - -## Running Dependency Scanning in an offline environment[](#running-dependency-scanning-in-an-offline-environment "Permalink") - -对于在通过 Internet 限制,限制或间歇性访问外部资源的环境中进行自我管理的 GitLab 实例,需要进行一些调整才能使"依赖关系扫描"作业成功运行. 有关更多信息,请参阅[脱机环境](../offline_deployments/index.html) . - -### Requirements for offline Dependency Scanning[](#requirements-for-offline-dependency-scanning "Permalink") - -以下是在脱机环境中使用依赖关系扫描的要求: - -* Keep Docker-In-Docker disabled (default). -* GitLab 亚军与[`docker`或`kubernetes`执行](#requirements) . -* Docker 容器注册表以及 Dependency Scanning [分析器](https://gitlab.com/gitlab-org/security-products/analyzers)映像的本地可用副本. -* 托管[gemnasium-db 咨询数据库](https://gitlab.com/gitlab-org/security-products/gemnasium-db/)的脱机 Git 副本 -* *仅在扫描 Ruby 项目时* :托管[咨询数据库](https://github.com/rubysec/ruby-advisory-db)的脱机 Git 副本. -* *仅在扫描 npm / yarn 项目时* :托管[retire.js](https://github.com/RetireJS/retire.js/) [节点](https://github.com/RetireJS/retire.js/blob/master/repository/npmrepository.json)和[js](https://github.com/RetireJS/retire.js/blob/master/repository/jsrepository.json)咨询数据库的脱机副本. - -**注意:** GitLab Runner 的[默认`pull policy`为`always`](https://docs.gitlab.com/runner/executors/docker.html) ,这意味着即使本地副本可用,Runner 也会尝试从 GitLab 容器注册表中拉取 Docker 映像. 如果您只喜欢使用本地可用的 Docker 映像,则可以在离线环境[`pull_policy`](https://docs.gitlab.com/runner/executors/docker.html) GitLab Runner 的[`pull_policy`设置为`if-not-present`](https://docs.gitlab.com/runner/executors/docker.html) . 但是,如果不在离线环境中,我们建议将拉取策略设置保持为`always` ,因为这样可以在 CI / CD 管道中使用更新的扫描仪. - -### Make GitLab Dependency Scanning analyzer images available inside your Docker registry[](#make-gitlab-dependency-scanning-analyzer-images-available-inside-your-docker-registry "Permalink") - -对于具有所有[受支持的语言和框架的](#supported-languages-and-package-managers)依赖关系扫描,请将以下默认的依赖关系扫描分析器映像从`registry.gitlab.com`导入[本地 Docker 容器注册表](../../packages/container_registry/index.html) : - -``` -registry.gitlab.com/gitlab-org/security-products/analyzers/gemnasium:2 -registry.gitlab.com/gitlab-org/security-products/analyzers/gemnasium-maven:2 -registry.gitlab.com/gitlab-org/security-products/analyzers/gemnasium-python:2 -registry.gitlab.com/gitlab-org/security-products/analyzers/retire.js:2 -registry.gitlab.com/gitlab-org/security-products/analyzers/bundler-audit:2 -``` - -将 Docker 映像导入本地脱机 Docker 注册表的过程取决于**您的网络安全策略** . 请咨询您的 IT 员工,以找到可以导入或临时访问外部资源的已接受和批准的流程. 请注意,这些扫描程序会[定期](../index.html#maintenance-and-update-of-the-vulnerabilities-database)使用新定义进行[更新](../index.html#maintenance-and-update-of-the-vulnerabilities-database) ,因此请考虑是否可以自己进行定期更新. - -有关将 Docker 映像保存和传输为文件的详细信息,请参阅 Docker 有关[`docker save`](https://s0docs0docker0com.icopy.site/engine/reference/commandline/save/) , [`docker load`](https://s0docs0docker0com.icopy.site/engine/reference/commandline/load/) , [`docker export`](https://s0docs0docker0com.icopy.site/engine/reference/commandline/export/)和[`docker import`](https://s0docs0docker0com.icopy.site/engine/reference/commandline/import/)的文档. - -### Set Dependency Scanning CI job variables to use local Dependency Scanning analyzers[](#set-dependency-scanning-ci-job-variables-to-use-local-dependency-scanning-analyzers "Permalink") - -将以下配置添加到您的`.gitlab-ci.yml`文件. 您必须替换`SECURE_ANALYZERS_PREFIX`才能引用本地 Docker 容器注册表: - -``` -include: - - template: Dependency-Scanning.gitlab-ci.yml - -variables: - SECURE_ANALYZERS_PREFIX: "docker-registry.example.com/analyzers" - GEMNASIUM_DB_REMOTE_URL: "gitlab.example.com/gemnasium-db.git" - GIT_SSL_NO_VERIFY: "true" -``` - -请参阅[配置部分中](#configuration)以上变量的说明. - -### Specific settings for languages and package managers[](#specific-settings-for-languages-and-package-managers "Permalink") - -请参阅以下各节,以配置特定的语言和程序包管理器. - -#### JavaScript (npm and yarn) projects[](#javascript-npm-and-yarn-projects "Permalink") - -将以下内容添加到`.gitlab-ci.yml`的变量部分: - -``` -RETIREJS_JS_ADVISORY_DB: "example.com/jsrepository.json" -RETIREJS_NODE_ADVISORY_DB: "example.com/npmrepository.json" -``` - -#### Ruby (gem) projects[](#ruby-gem-projects "Permalink") - -将以下内容添加到`.gitlab-ci.yml`的变量部分: - -``` -BUNDLER_AUDIT_ADVISORY_DB_REF_NAME: "master" -BUNDLER_AUDIT_ADVISORY_DB_URL: "gitlab.example.com/ruby-advisory-db.git" -``` - -#### Python (setuptools)[](#python-setuptools "Permalink") - -当为私有 PyPi 存储库使用自签名证书时,不需要额外的作业配置(除了上面的模板`.gitlab-ci.yml` ). 但是,您必须更新`setup.py`以确保它可以到达您的私有存储库. 这是一个示例配置: - -1. 更新`setup.py` ,以为`install_requires`列表中的每个依赖项创建一个指向您的私有存储库的`dependency_links`属性: - - ``` - install_requires=['pyparsing>=2.0.3'], - dependency_links=['https://pypi.example.com/simple/pyparsing'], - ``` - -2. 从存储库 URL 中获取证书并将其添加到项目中: - - ``` - echo -n | openssl s_client -connect pypi.example.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > internal.crt - ``` - -3. 将`setup.py`指向新下载的证书: - - ``` - import setuptools.ssl_support - setuptools.ssl_support.cert_paths = ['internal.crt'] - ``` - -## Limitations[](#limitations "Permalink") - -### Referencing local dependencies using a path in JavaScript projects[](#referencing-local-dependencies-using-a-path-in-javascript-projects "Permalink") - -[Retire.js](https://gitlab.com/gitlab-org/security-products/analyzers/retire.js)分析器不支持使用 JavaScript 项目的`package.json`的[本地路径](https://s0docs0npmjs0com.icopy.site/files/package.json)进行的依赖项引用. 依赖项扫描针对此类引用输出以下错误: - -``` -ERROR: Could not find dependencies: . You may need to run npm install -``` - -解决方法是,从[DS_DEFAULT_ANALYZERS](#configuring-dependency-scanning)删除[`retire.js`](analyzers.html#selecting-specific-analyzers)分析器. - -## Troubleshooting[](#troubleshooting "Permalink") - -### `Error response from daemon: error processing tar file: docker-tar: relocation error`[](#error-response-from-daemon-error-processing-tar-file-docker-tar-relocation-error "Permalink") - -当运行 Dependency Scanning 作业的 Docker 版本为`19.03.00`时,会发生此错误. 考虑更新到 Docker `19.03.1`或更高版本. 旧版本不受影响. 阅读[本期的](https://gitlab.com/gitlab-org/gitlab/-/issues/13830#note_211354992 "当前的 SAST 容器失败")更多内容. \ No newline at end of file diff --git a/docs/053.md b/docs/053.md deleted file mode 100644 index fc4e34c..0000000 --- a/docs/053.md +++ /dev/null @@ -1,49 +0,0 @@ -# Dependency List - -> 原文:[https://docs.gitlab.com/ee/user/application_security/dependency_list/](https://docs.gitlab.com/ee/user/application_security/dependency_list/) - -* [Requirements](#requirements) -* [Viewing dependencies](#viewing-dependencies) - * [Vulnerabilities](#vulnerabilities) -* [Licenses](#licenses) -* [Downloading the Dependency List](#downloading-the-dependency-list) - -# Dependency List[](#dependency-list-ultimate "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/10075) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.0. - -"依赖关系"列表使您可以查看项目的依赖关系以及有关它们的关键详细信息,包括已知漏洞. 要查看它,请导航至项目侧栏中的" **安全性和合规性">"依赖项列表"** . 该信息有时被称为软件物料清单或 SBoM / BOM. - -## Requirements[](#requirements "Permalink") - -1. 必须为您的项目配置" [依赖项扫描](../dependency_scanning/index.html) CI"作业. -2. 您的项目至少使用 Gemnasium 支持的一种[语言和包管理器](../dependency_scanning/index.html#supported-languages-and-package-managers) . - -## Viewing dependencies[](#viewing-dependencies "Permalink") - -[![Dependency List](img/e4fa52f4d522392d049bf73b1bb065a5.png)](img/dependency_list_v12_10.png) - -依存关系显示以下信息: - -| Field | Description | -| --- | --- | -| Component | 依赖项的名称和版本 | -| Packager | 打包程序用于安装依赖项 | -| Location | 指向项目中特定于包装程序的锁定文件的链接,该文件声明了依赖性 | -| License | 链接到依赖项的软件许可证 | - -最初显示的依赖项是按其已知漏洞的严重性(如果有)进行排序的. 也可以按名称或安装它们的打包程序对它们进行排序. - -### Vulnerabilities[](#vulnerabilities "Permalink") - -如果依赖项具有已知漏洞,则可以通过单击依赖项名称旁边的箭头或指示存在多少已知漏洞的标志来查看它们. 对于每个漏洞,其严重性和描述将显示在其下方. - -## Licenses[](#licenses "Permalink") - -在 GitLab Ultimate 12.3 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/10536) . - -如果配置了" [许可证合规性](../../compliance/license_compliance/index.html) CI"作业,则[发现的许可证](../../compliance/license_compliance/index.html#supported-languages-and-package-managers)将显示在此页面上. - -## Downloading the Dependency List[](#downloading-the-dependency-list "Permalink") - -您可以通过单击下载按钮以`JSON`格式下载项目的依赖关系及其详细信息的完整列表. \ No newline at end of file diff --git a/docs/054.md b/docs/054.md deleted file mode 100644 index 8c1123b..0000000 --- a/docs/054.md +++ /dev/null @@ -1,437 +0,0 @@ -# Static Application Security Testing (SAST) - -> 原文:[https://docs.gitlab.com/ee/user/application_security/sast/](https://docs.gitlab.com/ee/user/application_security/sast/) - -* [Overview](#overview) -* [Use cases](#use-cases) -* [Requirements](#requirements) -* [Supported languages and frameworks](#supported-languages-and-frameworks) - * [Making SAST analyzers available to all GitLab tiers](#making-sast-analyzers-available-to-all-gitlab-tiers) - * [Summary of features per tier](#summary-of-features-per-tier) -* [Contribute your scanner](#contribute-your-scanner) -* [Configuration](#configuration) - * [Customizing the SAST settings](#customizing-the-sast-settings) - * [Overriding SAST jobs](#overriding-sast-jobs) - * [Using environment variables to pass credentials for private repositories](#using-environment-variables-to-pass-credentials-for-private-repositories) - * [Using a variable to pass username and password to a private Maven repository](#using-a-variable-to-pass-username-and-password-to-a-private-maven-repository) - * [Enabling Docker-in-Docker](#enabling-docker-in-docker) - * [Enabling Kubesec analyzer](#enabling-kubesec-analyzer) - * [Pre-compilation](#pre-compilation) - * [Available variables](#available-variables) - * [Logging Level](#logging-level) - * [Custom Certificate Authority](#custom-certificate-authority) - * [Docker images](#docker-images) - * [Vulnerability filters](#vulnerability-filters) - * [Docker-in-Docker orchestrator](#docker-in-docker-orchestrator) - * [Analyzer settings](#analyzer-settings) - * [Custom environment variables](#custom-environment-variables) -* [Reports JSON format](#reports-json-format) -* [Secret detection](#secret-detection) -* [Security Dashboard](#security-dashboard) -* [Interacting with the vulnerabilities](#interacting-with-the-vulnerabilities) -* [Vulnerabilities database](#vulnerabilities-database) - * [Vulnerabilities database update](#vulnerabilities-database-update) -* [Running SAST in an offline environment](#running-sast-in-an-offline-environment) - * [Requirements for offline SAST](#requirements-for-offline-sast) - * [Make GitLab SAST analyzer images available inside your Docker registry](#make-gitlab-sast-analyzer-images-available-inside-your-docker-registry) - * [Set SAST CI job variables to use local SAST analyzers](#set-sast-ci-job-variables-to-use-local-sast-analyzers) -* [Troubleshooting](#troubleshooting) - * [`Error response from daemon: error processing tar file: docker-tar: relocation error`](#error-response-from-daemon-error-processing-tar-file-docker-tar-relocation-error) - -# Static Application Security Testing (SAST)[](#static-application-security-testing-sast-ultimate "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/3775) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 10.3. - -**注意:**白皮书["应用程序安全性发生](https://about.gitlab.com/resources/whitepaper-seismic-shift-application-security/)了[地震变化"](https://about.gitlab.com/resources/whitepaper-seismic-shift-application-security/)说明**了前 6 种攻击中有 4 种是基于应用程序的** . 下载它以了解如何保护您的组织. - -## Overview[](#overview "Permalink") - -如果您使用的是[GitLab CI / CD](../../../ci/README.html) ,则可以使用静态应用程序安全性测试(SAST)分析源代码中的已知漏洞. - -您可以通过执行以下任一操作来利用 SAST: - -* 在现有的`.gitlab-ci.yml`文件中[包括 SAST 模板](#configuration) . -* 隐式使用[Auto DevOps](../../../topics/autodevops/stages.html#auto-sast-ultimate)提供的[Auto](../../../topics/autodevops/index.html) [SAST](../../../topics/autodevops/stages.html#auto-sast-ultimate) . - -GitLab 检查 SAST 报告,比较发现的源分支和目标分支之间的漏洞,并在合并请求中显示信息. - -[![SAST Widget](img/5e9b34b344fc5f08d74d5156c419f471.png)](img/sast_v13_2.png) - -结果按漏洞的优先级排序: - -1. Critical -2. High -3. Medium -4. Low -5. Unknown -6. 其他一切 - -**注意:**管道包含多个作业,包括 SAST 和 DAST 扫描. 如果任何作业由于任何原因未能完成,则安全信息中心将不会显示 SAST 扫描仪输出. 例如,如果 SAST 作业完成但 DAST 作业失败,则安全性仪表板将不会显示 SAST 结果. 分析器将在失败时输出[退出代码](../../../development/integrations/secure.html#exit-code) . - -## Use cases[](#use-cases "Permalink") - -* 您的代码在类中具有潜在的危险属性,或者不安全的代码可能导致意外的代码执行. -* 您的应用程序容易受到跨站点脚本(XSS)攻击的攻击,这些攻击可用于未经授权访问会话数据. - -## Requirements[](#requirements "Permalink") - -要运行 SAST 工作,默认情况下,你需要 GitLab 亚军与[`docker`](https://docs.gitlab.com/runner/executors/docker.html)或[`kubernetes`](https://docs.gitlab.com/runner/install/kubernetes.html)执行. 如果您在 GitLab.com 上使用共享的 Runners,则默认启用该功能. - -从 GitLab 13.0 开始,仅当您已[为 SAST 启用 Docker-in-Docker 时,才](#enabling-docker-in-docker)需要 Docker 特权模式. - -**警告:**目前,我们的 SAST 作业需要 Linux 容器类型. Windows 容器尚不支持.**注意:**如果使用自己的 Runners,请确保安装的 Docker 版本**不是** `19.03.0` . 有关详细[信息](#error-response-from-daemon-error-processing-tar-file-docker-tar-relocation-error) ,请参见[故障排除信息](#error-response-from-daemon-error-processing-tar-file-docker-tar-relocation-error) . - -## Supported languages and frameworks[](#supported-languages-and-frameworks "Permalink") - -下表显示了支持的语言,程序包管理器和框架以及使用了哪些工具. - -| 语言(包管理器)/框架 | 扫描工具 | 在 GitLab 版本中引入 | -| --- | --- | --- | -| .NET Core | [Security Code Scan](https://security-code-scan.github.io) | 11.0 | -| .NET Framework | [Security Code Scan](https://security-code-scan.github.io) | 13.0 | -| Any | [Gitleaks](https://github.com/zricethezav/gitleaks) and [TruffleHog](https://github.com/dxa4481/truffleHog) | 11.9 | -| Apex(Salesforce) | [PMD](https://pmd.github.io/pmd/index.html) | 12.1 | -| C/C++ | [Flawfinder](https://github.com/david-a-wheeler/flawfinder) | 10.7 | -| 长生不老药(凤凰城) | [Sobelow](https://github.com/nccgroup/sobelow) | 11.10 | -| Go | [Gosec](https://github.com/securego/gosec) | 10.7 | -| Groovy( [Ant](https://ant.apache.org/) , [Gradle](https://s0gradle0org.icopy.site/) , [Maven](https://maven.apache.org/)和[SBT](https://www.scala-sbt.org/) ) | 带有[find-sec-bugs](https://find-sec-bugs.github.io/)插件的[SpotBugs](https://spotbugs.github.io/) | 11.3(Gradle)和 11.9(Ant,Maven,SBT) | -| 头盔图 | [Kubesec](https://github.com/controlplaneio/kubesec) | 13.1 | -| Java( [Ant](https://ant.apache.org/) , [Gradle](https://s0gradle0org.icopy.site/) , [Maven](https://maven.apache.org/)和[SBT](https://www.scala-sbt.org/) ) | 带有[find-sec-bugs](https://find-sec-bugs.github.io/)插件的[SpotBugs](https://spotbugs.github.io/) | 10.6(Maven),10.8(Grade)和 11.9(Ant,SBT) | -| JavaScript | [ESLint security plugin](https://github.com/nodesecurity/eslint-plugin-security) | 11.8,在 13.2 中移至[GitLab Core](https://about.gitlab.com/pricing/) | -| 州长宣言 | [Kubesec](https://github.com/controlplaneio/kubesec) | 12.6 | -| Node.js | [NodeJsScan](https://github.com/ajinabraham/NodeJsScan) | 11.1 | -| PHP | [phpcs-security-audit](https://github.com/FloeDesignTechnologies/phpcs-security-audit) | 10.8 | -| Python( [点子](https://pip.pypa.io/en/stable/) ) | [bandit](https://github.com/PyCQA/bandit) | 10.3 | -| React | [ESLint react plugin](https://github.com/yannickcr/eslint-plugin-react) | 12.5 | -| Ruby on Rails | [brakeman](https://brakemanscanner.org) | 10.3,于 13.1 中移至[GitLab Core](https://about.gitlab.com/pricing/) | -| Scala( [Ant](https://ant.apache.org/) , [Gradle](https://s0gradle0org.icopy.site/) , [Maven](https://maven.apache.org/)和[SBT](https://www.scala-sbt.org/) ) | 带有[find-sec-bugs](https://find-sec-bugs.github.io/)插件的[SpotBugs](https://spotbugs.github.io/) | 11.0(SBT)和 11.9(Ant,Gradle,Maven) | -| TypeScript | [ESLint security plugin](https://github.com/nodesecurity/eslint-plugin-security) | 11.9,在 13.2 中与 ESLint 合并 | - -**注意:** Java 分析器还可以用于[Gradle 包装器](https://s0docs0gradle0org.icopy.site/current/userguide/gradle_wrapper.html) , [Grails](https://grails.org/)和[Maven 包装器](https://github.com/takari/maven-wrapper)等变体. - -### Making SAST analyzers available to all GitLab tiers[](#making-sast-analyzers-available-to-all-gitlab-tiers "Permalink") - -所有开放源代码(OSS)分析器都正在接受审核,并有可能移至 GitLab 核心层. 可以在相应的[史诗中](https://gitlab.com/groups/gitlab-org/-/epics/2098)跟踪进度. - -请注意,对[Docker-in-Docker 的](#enabling-docker-in-docker)支持不会扩展到 GitLab 核心层. - -#### Summary of features per tier[](#summary-of-features-per-tier "Permalink") - -下表列出了在不同的[GitLab 层](https://about.gitlab.com/pricing/)中可用的不同功能: - -| Capability | 在核心 | 终极 | -| --- | --- | --- | -| [Configure SAST Scanners](#configuration) | | | -| [Customize SAST Settings](#customizing-the-sast-settings) | | | -| View [JSON Report](#reports-json-format) | | | -| [Presentation of JSON Report in Merge Request](#overview) | | | -| [Interaction with Vulnerabilities](#interacting-with-the-vulnerabilities) | | | -| [Access to Security Dashboard](#security-dashboard) | | | - -## Contribute your scanner[](#contribute-your-scanner "Permalink") - -[安全扫描程序集成](../../../development/integrations/secure.html)文档说明了如何将其他安全扫描[程序集成](../../../development/integrations/secure.html)到 GitLab 中. - -## Configuration[](#configuration "Permalink") - -**注意:**如果您使用的是[Auto DevOps](../../../topics/autodevops/index.html)提供的[Auto](../../../topics/autodevops/index.html) [SAST,则不必](../../../topics/autodevops/stages.html#auto-sast-ultimate)按照本节中的说明手动配置 SAST. - -对于 GitLab 11.9 和更高版本,要启用 SAST,您必须[包括](../../../ci/yaml/README.html#includetemplate)作为 GitLab 安装的一部分提供的[`SAST.gitlab-ci.yml`模板](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Security/SAST.gitlab-ci.yml) . 对于 11.9 之前的 GitLab 版本,您可以复制和使用该模板中定义的作业. - -将以下内容添加到您的`.gitlab-ci.yml`文件中: - -``` -include: - - template: SAST.gitlab-ci.yml -``` - -随附的模板将在 CI / CD 管道中创建 SAST 作业,并扫描项目的源代码以查找可能的漏洞. - -结果将保存为[SAST 报告工件](../../../ci/pipelines/job_artifacts.html#artifactsreportssast-ultimate) ,您可以稍后下载和分析. 由于实施限制,我们始终采用最新的 SAST 工件. - -### Customizing the SAST settings[](#customizing-the-sast-settings "Permalink") - -可以使用`.gitlab-ci.yml`的[`variables`](../../../ci/yaml/README.html#variables)参数通过[环境变量](#available-variables)更改 SAST 设置. 在下面的示例中,我们包括 SAST 模板,同时将`SAST_GOSEC_LEVEL`变量设置为`2` : - -``` -include: - - template: SAST.gitlab-ci.yml - -variables: - SAST_GOSEC_LEVEL: 2 -``` - -因为模板是[在](../../../ci/yaml/README.html#include)管道配置[之前进行评估](../../../ci/yaml/README.html#include)的,所以最后提到的变量优先. - -### Overriding SAST jobs[](#overriding-sast-jobs "Permalink") - -**弃用:**从 GitLab 13.0 开始,不再支持[`only`和`except`](../../../ci/yaml/README.html#onlyexcept-basic)的使用. 覆盖模板时,必须使用[`rules`](../../../ci/yaml/README.html#rules) . - -要覆盖作业定义(例如,更改`variables`或`dependencies`类的属性),请声明与要覆盖的 SAST 作业同名的作业. 将此新作业放置在包含模板之后,并在其下指定其他任何键. 例如,这使得能够`FAIL_NEVER`为`spotbugs`分析器: - -``` -include: - - template: SAST.gitlab-ci.yml - -spotbugs-sast: - variables: - FAIL_NEVER: 1 -``` - -### Using environment variables to pass credentials for private repositories[](#using-environment-variables-to-pass-credentials-for-private-repositories "Permalink") - -一些分析器需要下载项目的依赖项才能执行分析. 反过来,此类依赖项可能存在于私有 Git 存储库中,因此需要诸如用户名和密码之类的凭据才能下载它们. 根据分析器的不同,可以通过[自定义环境变量](#custom-environment-variables)向其提供此类凭据. - -#### Using a variable to pass username and password to a private Maven repository[](#using-a-variable-to-pass-username-and-password-to-a-private-maven-repository "Permalink") - -如果您的私有 Maven 存储库需要登录凭据,则可以使用`MAVEN_CLI_OPTS`环境变量. - -阅读有关[如何使用私有 Maven 存储库的](../index.html#using-private-maven-repos)更多[信息](../index.html#using-private-maven-repos) . - -### Enabling Docker-in-Docker[](#enabling-docker-in-docker "Permalink") - -如果需要,您可以启用 Docker-in-Docker 来还原 GitLab 13.0 之前存在的 SAST 行为. 请按照以下步骤操作: - -1. 在[特权模式下](https://docs.gitlab.com/runner/executors/docker.html)使用 Docker-inDocker 配置 GitLab Runner. -2. 将变量`SAST_DISABLE_DIND`设置为`false` : - - ``` - include: - - template: SAST.gitlab-ci.yml - - variables: - SAST_DISABLE_DIND: "false" - ``` - -这将创建一个单一的`sast`在你的 CI / CD 管道,而不是多个作业`-sast`工作. - -#### Enabling Kubesec analyzer[](#enabling-kubesec-analyzer "Permalink") - -在 GitLab Ultimate 12.6 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/12752) . - -您需要将`SCAN_KUBERNETES_MANIFESTS`设置为`"true"`才能启用 Kubesec 分析器. 在`.gitlab-ci.yml` ,定义: - -``` -include: - - template: SAST.gitlab-ci.yml - -variables: - SCAN_KUBERNETES_MANIFESTS: "true" -``` - -#### Pre-compilation[](#pre-compilation "Permalink") - -如果您的项目需要自定义构建配置,则最好避免在 SAST 执行期间进行编译,而应将管道中较早阶段的所有作业工件传递出去. 当需要执行`before_script`来准备扫描作业时,这是当前的策略. - -要将项目的依赖项作为工件传递,这些依赖项必须包含在项目的工作目录中,并使用`artifacts:path`配置进行指定. 如果存在所有依赖项,则可以将`COMPILE=false`变量提供给分析器,并且将跳过编译: - -``` -image: maven:3.6-jdk-8-alpine - -stages: - - build - - test - -include: - - template: SAST.gitlab-ci.yml - -build: - stage: build - script: - - mvn package -Dmaven.repo.local=./.m2/repository - artifacts: - paths: - - .m2/ - - target/ - -spotbugs-sast: - dependencies: - - build - variables: - MAVEN_REPO_PATH: ./.m2/repository - COMPILE: false - artifacts: - reports: - sast: gl-sast-report.json -``` - -**注意:**必须显式指定供应商目录的路径,以允许分析器识别已编译的工件. 每个分析器的配置可能有所不同,但在上述 Java 的情况下,可以使用`MAVEN_REPO_PATH` . 有关可用选项的完整列表,请参见[分析器设置](#analyzer-settings) . - -### Available variables[](#available-variables "Permalink") - -可以使用环境变量[配置](#customizing-the-sast-settings) SAST. - -#### Logging Level[](#logging-level "Permalink") - -您可以通过设置`SECURE_LOG_LEVEL` env var 来控制日志的详细程度. 默认设置为`info` ,您可以将其设置为以下任意级别: - -* `fatal` -* `error` -* `warn` -* `info` -* `debug` - -#### Custom Certificate Authority[](#custom-certificate-authority "Permalink") - -要信任自定义证书颁发机构,请将`ADDITIONAL_CA_CERT_BUNDLE`变量设置为要在 SAST 环境中信任的 CA 证书包. - -#### Docker images[](#docker-images "Permalink") - -以下是与 Docker 映像相关的变量. - -| Environment variable | Description | -| --- | --- | -| `SECURE_ANALYZERS_PREFIX` | 覆盖提供默认映像(代理)的 Docker 注册表名称. 阅读有关[自定义分析器的](analyzers.html)更多信息. | -| `SAST_ANALYZER_IMAGE_TAG` | **已弃用:**覆盖默认映像的 Docker 标签. 阅读有关[自定义分析器的](analyzers.html)更多信息. | -| `SAST_DEFAULT_ANALYZERS` | 覆盖默认图像的名称. 阅读有关[自定义分析器的](analyzers.html)更多信息. | -| `SAST_DISABLE_DIND` | 禁用 Docker-in-Docker 并[单独](#enabling-docker-in-docker)运行分析器. 默认情况下,此变量为`true` . | - -#### Vulnerability filters[](#vulnerability-filters "Permalink") - -一些分析器可以过滤掉给定阈值以下的漏洞. - -| 环境变量 | 默认值 | Description | -| --- | --- | --- | -| `SAST_EXCLUDED_PATHS` | `spec, test, tests, tmp` | 根据路径从输出中排除漏洞. 这是逗号分隔的模式列表. 模式可以是全局变量,也可以是文件或文件夹路径(例如`doc,spec` ). 父目录也将匹配模式. | -| `SAST_BANDIT_EXCLUDED_PATHS` |   | 逗号分隔的路径列表,可从扫描中排除. 使用 Python 的[`fnmatch`语法](https://s0docs0python0org.icopy.site/2/library/fnmatch.html) ; 例如: `'*/tests/*, */venv/*'` | -| `SAST_BRAKEMAN_LEVEL` | 1 | 在给定的置信度下忽略 Brakeman 漏洞. 整数,1 =低 3 =高. | -| `SAST_DISABLE_BABEL` | `false` | 禁用 NodeJsScan 扫描仪的 Babel 处理. 设置为`true`将禁用 Babel 处理. 在 GitLab 13.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/33065) . | -| `SAST_FLAWFINDER_LEVEL` | 1 | 在给定风险级别下忽略 Flawfinder 漏洞. 整数,0 =无风险,5 =高风险. | -| `SAST_GITLEAKS_ENTROPY_LEVEL` | 8.0 | 秘密检测的最小熵. 浮动,0.0 =低,8.0 =高. | -| `SAST_GOSEC_LEVEL` | 0 | 在给定的置信度下忽略 Gosec 漏洞. 整数,0 =未定义,1 =低,2 =中,3 =高. | -| `SAST_GITLEAKS_COMMIT_FROM` |   | 提交 Gitleaks 扫描始于. | -| `SAST_GITLEAKS_COMMIT_TO` |   | Gitleaks 扫描的提交结束于. | -| `SAST_GITLEAKS_HISTORIC_SCAN` | `false` | 标记以启用历史性的 Gitleaks 扫描. | - -#### Docker-in-Docker orchestrator[](#docker-in-docker-orchestrator "Permalink") - -以下变量配置 Docker-in-Docker 协调器,因此仅在[启用](#enabling-docker-in-docker) Docker-in-Docker 模式时才使用. - -| 环境变量 | 默认值 | Description | -| --- | --- | --- | -| `SAST_ANALYZER_IMAGES` |   | 以逗号分隔的自定义图像列表. 默认图像仍处于启用状态. 阅读有关[自定义分析器的](analyzers.html)更多信息. | -| `SAST_PULL_ANALYZER_IMAGES` | 1 | 从 Docker 注册表中提取映像(设置为 0 以禁用). 阅读有关[自定义分析器的](analyzers.html)更多信息. | -| `SAST_DOCKER_CLIENT_NEGOTIATION_TIMEOUT` | 2m | Docker 客户端协商的时间限制. 使用 Go 的[`ParseDuration`](https://s0golang0org.icopy.site/pkg/time/)解析超时. 有效时间单位为`ns` , `us` (或`µs` ), `ms` , `s` , `m` , `h` . 例如`300ms` , `1.5h`或`2h45m` . | -| `SAST_PULL_ANALYZER_IMAGE_TIMEOUT` | 5m | Time limit when pulling the image of an analyzer. Timeouts are parsed using Go’s [`ParseDuration`](https://s0golang0org.icopy.site/pkg/time/). Valid time units are `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. For example, `300ms`, `1.5h` or `2h45m`. | -| `SAST_RUN_ANALYZER_TIMEOUT` | 20m | 运行分析仪的时间限制. 使用 Go 的[`ParseDuration`](https://s0golang0org.icopy.site/pkg/time/)解析超时. 有效时间单位为`ns` , `us` (或`µs` ), `ms` , `s` , `m` , `h` . 例如`300ms` , `1.5h`或`2h45m` . | - -#### Analyzer settings[](#analyzer-settings "Permalink") - -某些分析仪可以使用环境变量进行自定义. - -| Environment variable | Analyzer | Description | -| --- | --- | --- | -| `SCAN_KUBERNETES_MANIFESTS` | Kubesec | 设置为`"true"`以扫描 Kubernetes 清单. | -| `KUBESEC_HELM_CHARTS_PATH` | Kubesec | `helm`将用于生成`kubesec`将扫描的 Kubernetes 清单的舵图的可选路径. 如果定义了`helm dependency build`则应在`before_script`运行`helm dependency build`以获取必要的依赖关系. | -| `KUBESEC_HELM_OPTIONS` | Kubesec | `helm`可执行文件的其他参数. | -| `COMPILE` | SpotBugs | 设置为`false`可禁用项目编译和依赖项获取. 在 GitLab 13.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/195252) . | -| `ANT_HOME` | SpotBugs | `ANT_HOME`环境变量. | -| `ANT_PATH` | SpotBugs | `ant`可执行文件的路径. | -| `GRADLE_PATH` | SpotBugs | `gradle`可执行文件的路径. | -| `JAVA_OPTS` | SpotBugs | `java`可执行文件的附加参数. | -| `JAVA_PATH` | SpotBugs | `java`可执行文件的路径. | -| `SAST_JAVA_VERSION` | SpotBugs | 使用哪个 Java 版本. 支持的版本是`8`和`11` . 默认为`8` . | -| `MAVEN_CLI_OPTS` | SpotBugs | `mvn`或`mvnw`可执行文件的其他参数. | -| `MAVEN_PATH` | SpotBugs | `mvn`可执行文件的路径. | -| `MAVEN_REPO_PATH` | SpotBugs | Maven 本地存储库的路径( `maven.repo.local`属性的快捷方式). | -| `SBT_PATH` | SpotBugs | `sbt`可执行文件的路径. | -| `FAIL_NEVER` | SpotBugs | 设置为`1`可忽略编译失败. | -| `SAST_GOSEC_CONFIG` | Gosec | Gosec 的配置路径(可选). | -| `PHPCS_SECURITY_AUDIT_PHP_EXTENSIONS` | phpcs-security-audit | 以逗号分隔的其他 PHP 扩展列表. | -| `SEARCH_MAX_DEPTH` | any | 搜索源代码文件时遍历的最大目录数. 默认值: `4` . | - -#### Custom environment variables[](#custom-environment-variables "Permalink") - -在 GitLab Ultimate 12.5 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/18193) . - -除上述 SAST 配置变量外,如果[使用 SAST 供应商模板](#configuration) ,则所有[自定义环境变量](../../../ci/variables/README.html#custom-environment-variables)都将传播到基础 SAST 分析器映像. - -**警告:**名称以这些前缀开头的变量将**不会**传播到 SAST Docker 容器和/或分析器容器: `DOCKER_` , `CI` , `GITLAB_` , `FF_` , `HOME` , `PWD` , `OLDPWD` , `PATH` , `SHLVL` , `HOSTNAME` . - -## Reports JSON format[](#reports-json-format "Permalink") - -SAST 工具会发出 JSON 报告文件. 有关更多信息,请参见此[报告](https://gitlab.com/gitlab-org/security-products/security-report-schemas/-/blob/master/dist/sast-report-format.json)的[架构](https://gitlab.com/gitlab-org/security-products/security-report-schemas/-/blob/master/dist/sast-report-format.json) . - -这是一个示例 SAST 报告: - -``` -{ "version": "2.0", "vulnerabilities": [ { "id": "9e96e0ab-23da-4d7d-a09e-0acbaa5e83ca", "category": "sast", "name": "Predictable pseudorandom number generator", "message": "Predictable pseudorandom number generator", "description": "The use of java.util.Random is predictable", "severity": "Medium", "confidence": "Medium", "scanner": { "id": "find_sec_bugs", "name": "Find Security Bugs" }, "location": { "file": "groovy/src/main/groovy/com/gitlab/security_products/tests/App.groovy", "start_line": 47, "end_line": 47, "class": "com.gitlab.security_products.tests.App", "method": "generateSecretToken2", "dependency": { "package": {} } }, "identifiers": [ { "type": "find_sec_bugs_type", "name": "Find Security Bugs-PREDICTABLE_RANDOM", "value": "PREDICTABLE_RANDOM", "url": "https://find-sec-bugs.github.io/bugs.htm#PREDICTABLE_RANDOM" }, { "type": "cwe", "name": "CWE-330", "value": "330", "url": "https://cwe.mitre.org/data/definitions/330.html" } ] }, { "id": "e6dbf91f-4c07-46f7-a365-0169489c27d1", "category": "sast", "message": "Probable insecure usage of temp file/directory.", "severity": "Medium", "confidence": "Medium", "scanner": { "id": "bandit", "name": "Bandit" }, "location": { "file": "python/hardcoded/hardcoded-tmp.py", "start_line": 10, "end_line": 10, "dependency": { "package": {} } }, "identifiers": [ { "type": "bandit_test_id", "name": "Bandit Test ID B108", "value": "B108", "url": "https://docs.openstack.org/bandit/latest/plugins/b108_hardcoded_tmp_directory.html" } ] }, ], "remediations": [] } -``` - -## Secret detection[](#secret-detection "Permalink") - -了解有关[秘密检测的](../secret_detection)更多信息. - -## Security Dashboard[](#security-dashboard "Permalink") - -在"安全仪表板"中,您可以概览您的组,项目和管道中的所有安全漏洞. 阅读有关[安全仪表板的](../security_dashboard/index.html)更多[信息](../security_dashboard/index.html) . - -## Interacting with the vulnerabilities[](#interacting-with-the-vulnerabilities "Permalink") - -一旦发现漏洞,便可以与其进行交互. 阅读有关如何[与漏洞](../index.html#interacting-with-the-vulnerabilities)进行[交互的](../index.html#interacting-with-the-vulnerabilities)更多信息. - -## Vulnerabilities database[](#vulnerabilities-database "Permalink") - -Vulnerabilities contained within the vulnerability database can be searched and viewed at the [GitLab vulnerability advisory database](https://advisories.gitlab.com). - -### Vulnerabilities database update[](#vulnerabilities-database-update "Permalink") - -有关漏洞数据库更新的更多信息,请查看[维护表](../index.html#maintenance-and-update-of-the-vulnerabilities-database) . - -## Running SAST in an offline environment[](#running-sast-in-an-offline-environment "Permalink") - -对于在通过 Internet 限制,限制或间歇性访问外部资源的环境中进行自我管理的 GitLab 实例,需要进行一些调整才能使 SAST 作业成功运行. 有关更多信息,请参阅[脱机环境](../offline_deployments/index.html) . - -### Requirements for offline SAST[](#requirements-for-offline-sast "Permalink") - -要在离线环境中使用 SAST,您需要: - -* 保持 Docker-In-Docker 禁用(默认). -* GitLab 亚军与[`docker`或`kubernetes`执行](#requirements) . -* Docker Container Registry,带有本地可用的 SAST [分析器](https://gitlab.com/gitlab-org/security-products/analyzers)映像副本. - -**注意:** GitLab Runner 的[默认`pull policy`为`always`](https://docs.gitlab.com/runner/executors/docker.html) ,这意味着即使本地副本可用,Runner 也会尝试从 GitLab 容器注册表中拉取 Docker 映像. 如果您只喜欢使用本地可用的 Docker 映像,则可以在离线环境[`pull_policy`](https://docs.gitlab.com/runner/executors/docker.html) GitLab Runner 的[`pull_policy`设置为`if-not-present`](https://docs.gitlab.com/runner/executors/docker.html) . 但是,如果不在离线环境中,我们建议将拉取策略设置保持为`always` ,因为这样可以在 CI / CD 管道中使用更新的扫描仪. - -### Make GitLab SAST analyzer images available inside your Docker registry[](#make-gitlab-sast-analyzer-images-available-inside-your-docker-registry "Permalink") - -对于具有所有[受支持的语言和框架的](#supported-languages-and-frameworks) SAST,请将以下默认 SAST 分析器图像从`registry.gitlab.com`导入[本地 Docker 容器注册表](../../packages/container_registry/index.html) : - -``` -registry.gitlab.com/gitlab-org/security-products/analyzers/bandit:2 -registry.gitlab.com/gitlab-org/security-products/analyzers/brakeman:2 -registry.gitlab.com/gitlab-org/security-products/analyzers/eslint:2 -registry.gitlab.com/gitlab-org/security-products/analyzers/flawfinder:2 -registry.gitlab.com/gitlab-org/security-products/analyzers/gosec:2 -registry.gitlab.com/gitlab-org/security-products/analyzers/kubesec:2 -registry.gitlab.com/gitlab-org/security-products/analyzers/nodejs-scan:2 -registry.gitlab.com/gitlab-org/security-products/analyzers/phpcs-security-audit:2 -registry.gitlab.com/gitlab-org/security-products/analyzers/pmd-apex:2 -registry.gitlab.com/gitlab-org/security-products/analyzers/secrets:2 -registry.gitlab.com/gitlab-org/security-products/analyzers/security-code-scan:2 -registry.gitlab.com/gitlab-org/security-products/analyzers/sobelow:2 -registry.gitlab.com/gitlab-org/security-products/analyzers/spotbugs:2 -``` - -将 Docker 映像导入本地脱机 Docker 注册表的过程取决于**您的网络安全策略** . 请咨询您的 IT 员工,以找到可以导入或临时访问外部资源的已接受和批准的流程. 请注意,这些扫描程序会[定期](../index.html#maintenance-and-update-of-the-vulnerabilities-database)使用新定义进行[更新](../index.html#maintenance-and-update-of-the-vulnerabilities-database) ,因此请考虑您是否能够自己进行定期更新. - -有关将 Docker 映像保存和传输为文件的详细信息,请参阅 Docker 有关[`docker save`](https://s0docs0docker0com.icopy.site/engine/reference/commandline/save/) , [`docker load`](https://s0docs0docker0com.icopy.site/engine/reference/commandline/load/) , [`docker export`](https://s0docs0docker0com.icopy.site/engine/reference/commandline/export/)和[`docker import`](https://s0docs0docker0com.icopy.site/engine/reference/commandline/import/)的文档. - -### Set SAST CI job variables to use local SAST analyzers[](#set-sast-ci-job-variables-to-use-local-sast-analyzers "Permalink") - -将以下配置添加到您的`.gitlab-ci.yml`文件. 您必须替换`SECURE_ANALYZERS_PREFIX`才能引用本地 Docker 容器注册表: - -``` -include: - - template: SAST.gitlab-ci.yml - -variables: - SECURE_ANALYZERS_PREFIX: "localhost:5000/analyzers" -``` - -现在,SAST 作业应使用 SAST 分析器的本地副本来扫描您的代码并生成安全报告,而无需访问 Internet. - -## Troubleshooting[](#troubleshooting "Permalink") - -### `Error response from daemon: error processing tar file: docker-tar: relocation error`[](#error-response-from-daemon-error-processing-tar-file-docker-tar-relocation-error "Permalink") - -当运行 SAST 作业的码头工人的版本是出现此错误`19.03.0` . 考虑更新到 Docker `19.03.1`或更高版本. 旧版本不受影响. 阅读[本期的](https://gitlab.com/gitlab-org/gitlab/-/issues/13830#note_211354992 "当前的 SAST 容器失败")更多内容. \ No newline at end of file diff --git a/docs/055.md b/docs/055.md deleted file mode 100644 index 5ea01fb..0000000 --- a/docs/055.md +++ /dev/null @@ -1,128 +0,0 @@ -# Secret Detection - -> 原文:[https://docs.gitlab.com/ee/user/application_security/secret_detection/](https://docs.gitlab.com/ee/user/application_security/secret_detection/) - -* [Overview](#overview) -* [Use cases](#use-cases) -* [Requirements](#requirements) -* [Configuration](#configuration) - * [Using the SAST Template](#using-the-sast-template) - * [Customizing settings](#customizing-settings) - * [Available variables](#available-variables) - * [Logging Level](#logging-level) -* [Full History Secret Scan](#full-history-secret-scan) - -# Secret Detection[](#secret-detection-ultimate "Permalink") - -[Introduced](https://about.gitlab.com/releases/2019/03/22/gitlab-11-9-released/#detect-secrets-and-credentials-in-the-repository) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 11.9. - -## Overview[](#overview "Permalink") - -开发应用程序时经常出现的问题是,开发人员可能会无意间将秘密和凭据提交到其远程存储库. 如果其他人可以访问源,或者项目是公开的,则敏感信息将被公开,恶意用户可以利用这些信息来访问诸如部署环境之类的资源. - -GitLab 11.9 包含一个称为"秘密检测"的新检查. 它扫描存储库的内容以查找 API 密钥和其他不应存在的信息. - -manbetx 客户端打不开显示识别的秘密作为 SAST 报告的一部分在几个地方: - -* [Security Dashboard](../security_dashboard/) -* Pipelines’ **Security** tab -* 合并请求小部件中的报告 - -[![Secret Detection in merge request widget](img/56321b27a391110651e26fae3d93064e.png)](img/secret_detection_v13_2.png) - -## Use cases[](#use-cases "Permalink") - -* 检测密钥,密码和 API 令牌等机密信息的意外提交. -* 对存储库的完整历史记录执行一次或重复扫描以查找机密信息. - -## Requirements[](#requirements "Permalink") - -要运行检测的秘密工作,默认情况下,你需要 GitLab 亚军与[`docker`](https://docs.gitlab.com/runner/executors/docker.html)或[`kubernetes`](https://docs.gitlab.com/runner/install/kubernetes.html)执行. 如果您在 GitLab.com 上使用共享的 Runners,则默认启用该功能. - -**注意:**目前我们的秘密检测作业需要 Linux 容器类型. Windows 容器尚不支持.**注意:**如果使用自己的 Runners,请确保安装的 Docker 版本**不是** `19.03.0` . 有关详细[信息](../sast#error-response-from-daemon-error-processing-tar-file-docker-tar-relocation-error) ,请参见[故障排除信息](../sast#error-response-from-daemon-error-processing-tar-file-docker-tar-relocation-error) . - -## Configuration[](#configuration "Permalink") - -**注意:**在 GitLab 13.1 中,秘密检测被拆分为自己的 CI / CD 模板. - -秘密检测是在`secret-detection`作业期间由[特定的分析器](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Security/Secret-Detection.gitlab-ci.yml)执行的. 无论您的应用程序使用哪种编程语言,它都可以运行. - -秘密检测分析器包括[Gitleaks](https://github.com/zricethezav/gitleaks)和[TruffleHog](https://github.com/dxa4481/truffleHog)检查. - -***Note:** The Secret Detection analyzer will ignore "Password in URL" vulnerabilities if the password begins with a dollar sign ( `$` ) as this likely indicates the password being used is an environment variable. **注意:**如果密码以美元符号( `$` )开头,则秘密检测分析器将忽略" URL 中的密码"漏洞,因为这很可能表明所使用的密码是环境变量. For example, `https://username:$password@example.com/path/to/repo` won't be detected, whereas `https://username:password@example.com/path/to/repo` would be detected. 例如,将不会检测到`https://username:$password@example.com/path/to/repo` ,而将检测到`https://username:password@example.com/path/to/repo` .***注意:**如果您使用的是[Auto DevOps](../../../topics/autodevops/index.html)提供的[自动](../../../topics/autodevops/index.html) [秘密检测,](../../../topics/autodevops/stages.html#auto-secret-detection-ultimate)则不必按照本节中的说明手动配置秘密检测. - -要为 GitLab 13.1 和更高版本启用 Secret Detection,您必须包括`Secret-Detection.gitlab-ci.yml`模板,该模板作为 GitLab 安装的一部分提供. 对于 11.9 之前的 GitLab 版本,您可以复制和使用该模板中定义的作业. - -将以下内容添加到您的`.gitlab-ci.yml`文件中: - -``` -include: - - template: Secret-Detection.gitlab-ci.yml -``` - -包含的模板在 CI / CD 管道中创建"秘密检测"作业,并扫描项目的源代码中的秘密. - -结果将保存为" [秘密检测"报告工件](../../../ci/pipelines/job_artifacts.html#artifactsreportssecret_detection-ultimate) ,您以后可以下载和分析该[工件](../../../ci/pipelines/job_artifacts.html#artifactsreportssecret_detection-ultimate) . 由于实施限制,我们始终采用最新的秘密检测工件. - -### Using the SAST Template[](#using-the-sast-template "Permalink") - -在 GitLab 13.1 之前,秘密检测是[SAST 配置的](../sast#configuration)一部分. 如果您已经在 GitLab 13.1 之前为您的应用配置了启用 SAST,则无需手动配置它. - -**计划的弃用:**在以后的 GitLab 版本中,将不建议使用 SAST 模板配置秘密检测. 请开始使用`Secret-Detection.gitlab-ci.yml`以防止将来出现问题. 我们制作了一个[视频,指导您完成过渡](https://www.youtube.com/watch?v=W2tjcQreDwQ)到此新模板的过程.观看视频: [历史秘密扫描演练](https://www.youtube.com/watch?v=W2tjcQreDwQ) . - -
- -使用 SAST 模板时,秘密检测由[特定分析器](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Security/SAST.gitlab-ci.yml#L180)在`sast`作业期间执行. 它的运行与应用程序的编程语言无关,并且您无需更改 CI / CD 配置文件即可启用它. 结果可在 SAST 报告中获得. - -### Customizing settings[](#customizing-settings "Permalink") - -可以使用`.gitlab-ci.yml`的[`variables`](../../../ci/yaml/README.html#variables)参数通过[环境变量](#available-variables)更改秘密检测扫描设置. - -要覆盖作业定义(例如,更改`variables`或`dependencies`类的属性),请声明与要覆盖的 SAST 作业同名的作业. 将此新作业放置在包含模板之后,并在其下指定其他任何键. - -在下面的示例中,我们包括"秘密检测"模板,同时使用`SECRET_DETECTION_HISTORIC_SCAN`变量将`secret_detection`作业覆盖为`true` : - -``` -include: - - template: Secret-Detection.gitlab-ci.yml - -secret_detection: - variables: - SECRET_DETECTION_HISTORIC_SCAN: "true" -``` - -因为模板是[在](../../../ci/yaml/README.html#include)管道配置[之前进行评估](../../../ci/yaml/README.html#include)的,所以最后提到的变量优先. - -**弃用:**从 GitLab 13.0 开始,不再支持[`only`和`except`](../../../ci/yaml/README.html#onlyexcept-basic)的使用. 覆盖模板时,必须使用[`rules`](../../../ci/yaml/README.html#rules) . - -#### Available variables[](#available-variables "Permalink") - -可以通过定义可用变量来自定义秘密检测: - -| 环境变量 | 默认值 | Description | -| --- | --- | --- | -| `SECRET_DETECTION_COMMIT_FROM` | - | 提交 Gitleaks 扫描始于. | -| `SECRET_DETECTION_COMMIT_TO` | - | Gitleaks 扫描的提交结束于. | -| `SECRET_DETECTION_HISTORIC_SCAN` | false | 标记以启用历史性的 Gitleaks 扫描. | - -### Logging Level[](#logging-level "Permalink") - -您可以通过设置`SECURE_LOG_LEVEL` env var 来控制日志的详细程度. 默认设置为`info` ,您可以将其设置为以下任意级别: - -* `fatal` -* `error` -* `warn` -* `info` -* `debug` - -## Full History Secret Scan[](#full-history-secret-scan "Permalink") - -GitLab 12.11 引入了对扫描存储库完整历史记录的支持. 当您首次在存储库中启用秘密检测并且想要执行完整的秘密扫描时,此新功能特别有用. 对整个历史记录进行秘密扫描可能会花费很长时间,尤其是对于 Git 历史记录较长的大型存储库. 我们建议不要将此变量设置为常规作业定义的一部分. - -可以设置一个新的配置变量( [`SECRET_DETECTION_HISTORIC_SCAN`](../sast/#vulnerability-filters) )来更改 GitLab 秘密检测扫描的行为,使其在存储库的整个 Git 历史记录上运行. - -我们创建了一个[简短的视频演练,](https://youtu.be/wDtc_K00Y0A)展示了如何执行完整的历史秘密扫描. - -观看视频: [历史秘密扫描演练](https://www.youtube.com/watch?v=wDtc_K00Y0A) . - -
\ No newline at end of file diff --git a/docs/056.md b/docs/056.md deleted file mode 100644 index 3fb2e6e..0000000 --- a/docs/056.md +++ /dev/null @@ -1,642 +0,0 @@ -# Dynamic Application Security Testing (DAST) - -> 原文:[https://docs.gitlab.com/ee/user/application_security/dast/](https://docs.gitlab.com/ee/user/application_security/dast/) - -* [Overview](#overview) -* [Use cases](#use-cases) -* [Requirements](#requirements) -* [Configuration](#configuration) - * [When DAST scans run](#when-dast-scans-run) - * [Hide sensitive information](#hide-sensitive-information) - * [Authentication](#authentication) - * [Full scan](#full-scan) - * [Domain validation](#domain-validation) - * [Ruby on Rails](#ruby-on-rails) - * [Django](#django) - * [Node (with Express)](#node-with-express) - * [Domain validation header via a proxy](#domain-validation-header-via-a-proxy) - * [API scan](#api-scan) - * [Specification format](#specification-format) - * [Import API specification from a URL](#import-api-specification-from-a-url) - * [Import API specification from a file](#import-api-specification-from-a-file) - * [Full scan](#full-scan-1) - * [Host override](#host-override) - * [Authentication using headers](#authentication-using-headers) - * [Customizing the DAST settings](#customizing-the-dast-settings) - * [Available variables](#available-variables) - * [DAST command-line options](#dast-command-line-options) - * [Custom ZAProxy configuration](#custom-zaproxy-configuration) - * [Cloning the project’s repository](#cloning-the-projects-repository) - * [Debugging DAST jobs](#debugging-dast-jobs) -* [Running DAST in an offline environment](#running-dast-in-an-offline-environment) - * [Requirements for offline DAST support](#requirements-for-offline-dast-support) - * [Make GitLab DAST analyzer images available inside your Docker registry](#make-gitlab-dast-analyzer-images-available-inside-your-docker-registry) - * [Set DAST CI job variables to use local DAST analyzers](#set-dast-ci-job-variables-to-use-local-dast-analyzers) -* [On-Demand Scans](#on-demand-scans) - * [Enable or disable On-Demand Scans](#enable-or-disable-on-demand-scans) -* [Reports](#reports) - * [List of URLs scanned](#list-of-urls-scanned) - * [JSON](#json) - * [Other formats](#other-formats) -* [Security Dashboard](#security-dashboard) -* [Bleeding-edge vulnerability definitions](#bleeding-edge-vulnerability-definitions) -* [Interacting with the vulnerabilities](#interacting-with-the-vulnerabilities) -* [Vulnerabilities database update](#vulnerabilities-database-update) -* [Optimizing DAST](#optimizing-dast) -* [Troubleshooting](#troubleshooting) - * [Running out of memory](#running-out-of-memory) - -# Dynamic Application Security Testing (DAST)[](#dynamic-application-security-testing-dast-ultimate "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/4348) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 10.4. - -**注意:**白皮书["应用程序安全性发生](https://about.gitlab.com/resources/whitepaper-seismic-shift-application-security/)了[地震变化"](https://about.gitlab.com/resources/whitepaper-seismic-shift-application-security/)说明**了前 6 种攻击中有 4 种是基于应用程序的** . 下载它以了解如何保护您的组织. - -对代码运行[静态检查](../sast/index.html)是检测可能使代码安全性受到威胁的漏洞的第一步. 但是,一旦部署,您的应用程序将面临一类新的可能的攻击,例如跨站点脚本或损坏的身份验证缺陷. 这是动态应用程序安全性测试(DAST)实施的地方. - -## Overview[](#overview "Permalink") - -如果您使用的是[GitLab CI / CD](../../../ci/README.html) ,则可以使用动态应用程序安全性测试(DAST)分析运行中的 Web 应用程序是否存在已知漏洞. 您可以通过在现有`.gitlab-ci.yml`文件中[包含 CI 作业](#configuration) ,或通过隐式使用[Auto DevOps](../../../topics/autodevops/index.html)提供的[Auto](../../../topics/autodevops/index.html) [DAST](../../../topics/autodevops/stages.html#auto-dast-ultimate)来利用[DAST](../../../topics/autodevops/stages.html#auto-dast-ultimate) . - -GitLab 检查 DAST 报告,比较发现的源分支和目标分支之间的漏洞,并显示有关合并请求的信息. - -**注意:**此比较逻辑仅使用针对目标分支的基本提交执行的最新管道. 在任何其他提交上运行管道对合并请求没有影响. - -[![DAST Widget](img/ae9e67c8841e45007cf186891963198f.png)](img/dast_v13_2.png) - -通过单击检测到的链接漏洞之一,您可以查看详细信息和受影响的 URL. - -[![DAST Widget Clicked](img/7a612dcc3c18a6e6433eb5a57a99368d.png)](img/dast_single_v13_0.png) - -[动态应用程序安全测试(DAST)](https://en.wikipedia.org/wiki/Dynamic_Application_Security_Testing)使用流行的开源工具[OWASP Zed Attack Proxy](https://www.zaproxy.org/)对运行中的 Web 应用程序执行分析. - -默认情况下,DAST 执行[ZAP 基准扫描](https://www.zaproxy.org/docs/docker/baseline-scan/)并仅执行被动扫描. 它不会主动攻击您的应用程序. 但是,可以将 DAST [配置](#full-scan)为还执行*主动扫描* :攻击您的应用程序并生成更广泛的安全报告. 与[Review Apps](../../../ci/review_apps/index.html)结合使用可能非常有用. - -**注意:**管道可能包含多个作业,包括 SAST 和 DAST 扫描. 如果任何作业由于任何原因未能完成,则安全信息中心将不会显示 DAST 扫描仪输出. 例如,如果 DAST 作业完成但 SAST 作业失败,则安全性仪表板将不会显示 DAST 结果. 分析器将在失败时输出[退出代码](../../../development/integrations/secure.html#exit-code) . - -## Use cases[](#use-cases "Permalink") - -它可以帮助您在开发和测试应用程序时自动查找正在运行的 Web 应用程序中的安全漏洞. - -## Requirements[](#requirements "Permalink") - -要运行 DAST 作业,您需要具有[`docker` executor 的](https://docs.gitlab.com/runner/executors/docker.html) GitLab Runner. - -## Configuration[](#configuration "Permalink") - -对于 GitLab 11.9 和更高版本,要启用 DAST,您必须[包含](../../../ci/yaml/README.html#includetemplate) [`DAST.gitlab-ci.yml`模板](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Security/DAST.gitlab-ci.yml) ,该[模板](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Security/DAST.gitlab-ci.yml)作为 GitLab 安装的一部分提供. 对于 11.9 之前的 GitLab 版本,您可以复制和使用该模板中定义的作业. - -将以下内容添加到您的`.gitlab-ci.yml`文件中: - -``` -include: - - template: DAST.gitlab-ci.yml - -variables: - DAST_WEBSITE: https://example.com -``` - -有两种方法来定义要由 DAST 扫描的 URL: - -1. 设置`DAST_WEBSITE` [变量](../../../ci/yaml/README.html#variables) . - -2. 将其添加到项目根目录的`environment_url.txt`文件中. 这非常适合在动态环境中进行测试. 为了针对在 GitLab CI / CD 管道中动态创建的应用程序运行 DAST,请让该应用程序将其域保留在`environment_url.txt`文件中,然后 DAST 自动解析该文件以找到其扫描目标. 您可以在我们的 Auto DevOps CI YAML 中看到一个[示例](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Jobs/Deploy.gitlab-ci.yml) . - -如果同时设置了两个值,则`DAST_WEBSITE`值优先. - -随附的模板会在 CI / CD 管道中创建`dast`工作,并扫描项目的源代码中可能存在的漏洞. - -结果将保存为[DAST 报告工件](../../../ci/pipelines/job_artifacts.html#artifactsreportsdast-ultimate) ,您可以稍后下载和分析. 由于实施限制,我们始终采用最新的 DAST 工件. 在后台, [GitLab DAST Docker 映像](https://gitlab.com/gitlab-org/security-products/dast)用于在指定的 URL 上运行测试并扫描它是否存在漏洞. - -默认情况下,DAST 模板将使用 DAST Docker 映像的最新主版本. 使用`DAST_VERSION`变量,您可以选择 DAST 更新的方式: - -* 通过固定到主要版本(例如`1` )自动更新具有新功能和修复程序的 DAST. -* 仅通过固定到次要版本(例如`1.6` )来更新修补程序. -* 通过固定到特定版本(例如`1.6.4` )来防止所有更新. - -在" [发行"](https://gitlab.com/gitlab-org/security-products/dast/-/releases)页面上找到最新的 DAST 版本. - -### When DAST scans run[](#when-dast-scans-run "Permalink") - -使用`DAST.gitlab-ci.yml`模板时, `dast`作业最后运行,如下例所示. 为确保 DAST 正在扫描最新代码,您的 CI 管道应在`dast`作业之前的`dast`作业`dast`更改部署到 Web 服务器. - -``` -stages: - - build - - test - - deploy - - dast -``` - -请注意,如果您将管道配置为在每次运行中都部署到同一 Web 服务器,则在另一个管道仍在运行时运行管道可能会导致争用情况,其中一个管道会覆盖另一个管道的代码. 在 DAST 扫描期间,应从更改中排除要扫描的站点. 对该站点的唯一更改应来自 DAST 扫描仪. 请注意,在扫描过程中,用户,计划任务,数据库更改,代码更改,其他管道或其他扫描程序对站点所做的任何更改都可能导致结果不准确. - -### Hide sensitive information[](#hide-sensitive-information "Permalink") - -在 GitLab 13.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/36332) . - -HTTP 请求和响应标头可能包含敏感信息,包括 cookie 和授权凭证. 默认情况下,以下标头被屏蔽: - -* `Authorization`. -* `Proxy-Authorization`. -* `Set-Cookie` (仅值). -* `Cookie` (values only). - -使用[`DAST_MASK_HTTP_HEADERS`变量](#available-variables) ,可以列出要屏蔽其值的标头. 有关如何屏蔽标题的详细信息,请参阅" [自定义 DAST 设置"](#customizing-the-dast-settings) . - -### Authentication[](#authentication "Permalink") - -在执行 DAST 检查之前,还可以对用户进行身份验证. - -创建掩码变量以传递 DAST 将使用的凭据. 要为用户名和密码创建掩码变量,请参阅[在 UI 中创建自定义变量](../../../ci/variables/README.html#create-a-custom-variable-in-the-ui) . 请注意,username 变量的密钥必须为`DAST_USERNAME` ,而 password 变量的密钥必须为`DAST_PASSWORD` . - -与认证扫描相关的其他变量是: - -``` -include: - - template: DAST.gitlab-ci.yml - -variables: - DAST_WEBSITE: https://example.com - DAST_AUTH_URL: https://example.com/sign-in - DAST_USERNAME_FIELD: session[user] # the name of username field at the sign-in HTML form - DAST_PASSWORD_FIELD: session[password] # the name of password field at the sign-in HTML form - DAST_AUTH_EXCLUDE_URLS: http://example.com/sign-out,http://example.com/sign-out-2 # optional, URLs to skip during the authenticated scan; comma-separated, no spaces in between -``` - -结果将保存为[DAST 报告工件](../../../ci/pipelines/job_artifacts.html#artifactsreportsdast-ultimate) ,您以后可以下载和分析. 由于实施限制,我们始终采用最新的 DAST 工件. - -**危险:** **切勿**对生产服务器运行经过身份验证的扫描. 运行经过身份验证的扫描时,它可以执行经过身份验证的用户可以执行的*任何*功能. 这包括修改和删除数据,提交表单以及跟随链接之类的操作. 仅对测试服务器运行经过身份验证的扫描. - -### Full scan[](#full-scan "Permalink") - -可以将 DAST 配置为执行[ZAP 全面扫描](https://github.com/zaproxy/zaproxy/wiki/ZAP-Full-Scan) ,其中包括针对同一目标网站的被动扫描和主动扫描: - -``` -include: - - template: DAST.gitlab-ci.yml - -variables: - DAST_FULL_SCAN_ENABLED: "true" -``` - -#### Domain validation[](#domain-validation "Permalink") - -DAST 作业可以在任何地方运行,这意味着您可能会意外击中实时 Web 服务器并可能损坏它们. 您甚至可以减少生产环境. 因此,您应该使用域验证. - -默认情况下,不需要域验证. 通过将[环境变量](#available-variables) `DAST_FULL_SCAN_DOMAIN_VALIDATION_REQUIRED`设置为`"true"`可能需要它. - -``` -include: - - template: DAST.gitlab-ci.yml - -variables: - DAST_FULL_SCAN_ENABLED: "true" - DAST_FULL_SCAN_DOMAIN_VALIDATION_REQUIRED: "true" -``` - -由于 ZAP 全面扫描会主动攻击目标应用程序,因此 DAST 会事先向目标(通常在`DAST_WEBSITE`或`environment_url.txt`定义)发送 ping 命令. - -* 如果`DAST_FULL_SCAN_DOMAIN_VALIDATION_REQUIRED`为`false`或未设置,则将继续进行扫描,除非对 ping 的响应包含值为`deny`的`Gitlab-DAST-Permission`标头. -* 如果`DAST_FULL_SCAN_DOMAIN_VALIDATION_REQUIRED`是`true` ,则扫描将退出除非对 ping 响应包括一个`Gitlab-DAST-Permission`用的头值`allow` . - -以下是在 Rails,Django 和 Node(使用 Express)中向响应添加`Gitlab-DAST-Permission`标头的一些示例. - -##### Ruby on Rails[](#ruby-on-rails "Permalink") - -这是[在 Ruby on Rails 中](https://guides.rubyonrails.org/action_controller_overview.html#setting-custom-headers)添加[自定义标头的方法](https://guides.rubyonrails.org/action_controller_overview.html#setting-custom-headers) : - -``` -class DastWebsiteTargetController < ActionController::Base - def dast_website_target - response.headers['Gitlab-DAST-Permission'] = 'allow' - - head :ok - end -end -``` - -##### Django[](#django "Permalink") - -Here’s how you would add a [custom header in Django](https://docs.djangoproject.com/en/2.2/ref/request-response/#setting-header-fields): - -``` -class DastWebsiteTargetView(View): - def head(self, *args, **kwargs): - response = HttpResponse() - response['Gitlab-Dast-Permission'] = 'allow' - - return response -``` - -##### Node (with Express)[](#node-with-express "Permalink") - -这是[在 Node(使用 Express)中](http://expressjs0com.icopy.site/en/5x/api.html)添加[自定义标头的方法](http://expressjs0com.icopy.site/en/5x/api.html) : - -``` -app.get('/dast-website-target', function(req, res) { - res.append('Gitlab-DAST-Permission', 'allow') - res.send('Respond to DAST ping') -}) -``` - -##### Domain validation header via a proxy[](#domain-validation-header-via-a-proxy "Permalink") - -也可以通过代理添加`Gitlab-DAST-Permission`标头. - -###### NGINX[](#nginx "Permalink") - -以下配置允许 NGINX 充当反向代理并添加`Gitlab-DAST-Permission` [标头](http://nginx0org.icopy.site/en/docs/http/ngx_http_headers_module.html) : - -``` -# default.conf -server { - listen 80; - server_name localhost; - - location / { - proxy_pass http://test-application; - add_header Gitlab-DAST-Permission allow; - } -} -``` - -###### Apache[](#apache "Permalink") - -Apache 还可以用作[反向代理,](https://httpd.apache.org/docs/2.4/mod/mod_proxy.html)以添加`Gitlab-DAST-Permission` [标头](https://httpd.apache.org/docs/current/mod/mod_headers.html) . - -为此, `httpd.conf`添加到`httpd.conf` : - -``` -# httpd.conf -LoadModule proxy_module modules/mod_proxy.so -LoadModule proxy_connect_module modules/mod_proxy_connect.so -LoadModule proxy_http_module modules/mod_proxy_http.so - - - ProxyPass "/" "http://test-application.com/" - ProxyPassReverse "/" "http://test-application.com/" - Header set Gitlab-DAST-Permission "allow" - -``` - -[此代码段](https://gitlab.com/gitlab-org/security-products/dast/snippets/1894732)包含完整的`httpd.conf`文件,该文件配置为充当远程代理并添加`Gitlab-DAST-Permission`标头. - -### API scan[](#api-scan "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/10928) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.10. - -使用 API​​规范作为扫描目标是一种为 URL 注入用于扫描 API 的有用方法. API 扫描中的漏洞规则与普通网站扫描中的漏洞规则不同. - -#### Specification format[](#specification-format "Permalink") - -API 扫描支持 OpenAPI V2 和 OpenAPI V3 规范. 您可以使用`JSON`或`YAML`定义这些规范. - -#### Import API specification from a URL[](#import-api-specification-from-a-url "Permalink") - -如果可以通过 URL 访问 API 规范,则可以直接将该 URL 作为目标传递. 该规范不必与要测试的 API 托管在同一主机上. - -``` -include: - - template: DAST.gitlab-ci.yml - -variables: - DAST_API_SPECIFICATION: http://my.api/api-specification.yml -``` - -#### Import API specification from a file[](#import-api-specification-from-a-file "Permalink") - -如果您的存储库中有 API 规范,则可以直接提供规范的文件名作为目标. 规范文件应位于`/zap/wrk`目录中. - -``` -dast: - script: - - mkdir -p /zap/wrk - - cp api-specification.yml /zap/wrk/api-specification.yml - - /analyze -t $DAST_WEBSITE - variables: - GIT_STRATEGY: fetch - DAST_API_SPECIFICATION: api-specification.yml -``` - -#### Full scan[](#full-scan-1 "Permalink") - -API 扫描支持完全扫描,可以使用`DAST_FULL_SCAN_ENABLED`环境变量来启用它. 完整的 API 扫描不支持域验证. - -#### Host override[](#host-override "Permalink") - -规范通常定义一个主机,其中包含一个域名和一个端口. 引用的主机可能与 API 的审阅实例的主机不同. 这可能导致导入不正确的 URL,或对不正确的主机进行扫描. 使用`DAST_API_HOST_OVERRIDE`环境变量来覆盖这些值. - -例如,对于包含以下内容的 OpenAPI V3 规范: - -``` -servers: - - url: https://api.host.com -``` - -如果 API 的测试版本在`https://api-test.host.com`上运行,则可以使用以下 DAST 配置: - -``` -include: - - template: DAST.gitlab-ci.yml - -variables: - DAST_API_SPECIFICATION: http://api-test.host.com/api-specification.yml - DAST_API_HOST_OVERRIDE: api-test.host.com -``` - -请注意, `DAST_API_HOST_OVERRIDE`仅适用于 URL 导入的规范. - -#### Authentication using headers[](#authentication-using-headers "Permalink") - -请求标头中的令牌通常用作验证 API 请求的方式. 您可以通过使用`DAST_REQUEST_HEADERS`环境变量来实现. 标头适用于 DAST 提出的每个请求. - -``` -include: - - template: DAST.gitlab-ci.yml - -variables: - DAST_API_SPECIFICATION: http://api-test.api.com/api-specification.yml - DAST_REQUEST_HEADERS: "Authorization: Bearer my.token" -``` - -### Customizing the DAST settings[](#customizing-the-dast-settings "Permalink") - -**弃用:**从 GitLab 13.0 开始,不再支持[`only`和`except`](../../../ci/yaml/README.html#onlyexcept-basic)的使用. 覆盖模板时,必须使用[`rules`](../../../ci/yaml/README.html#rules) . - -可以使用`.gitlab-ci.yml`的[`variables`](../../../ci/yaml/README.html#variables)参数通过环境变量更改 DAST 设置. 这些变量记录在[可用变量中](#available-variables) . - -例如: - -``` -include: - - template: DAST.gitlab-ci.yml - -variables: - DAST_WEBSITE: https://example.com - DAST_SPIDER_MINS: 120 -``` - -因为模板是[在](../../../ci/yaml/README.html#include)管道配置[之前评估](../../../ci/yaml/README.html#include)的,所以最后提到的变量将具有优先权. - -### Available variables[](#available-variables "Permalink") - -可以使用环境变量[配置](#customizing-the-dast-settings) DAST. - -| 环境变量 | Type | Description | -| --- | --- | --- | -| `SECURE_ANALYZERS_PREFIX` | URL | 设置用于下载分析器的 Docker 注册表基地址. | -| `DAST_WEBSITE` | URL | 要扫描的网站的 URL. 如果省略,则必须指定`DAST_API_SPECIFICATION` . | -| `DAST_API_SPECIFICATION` | 网址或字符串 | 要导入的 API 规范. 该规范可以托管在 URL 或`/zap/wrk`目录中存在的文件的名称中. 如果省略,则必须指定`DAST_WEBSITE` . | -| `DAST_AUTH_URL` | URL | 目标网站上包含登录 HTML 表单的页面的 URL. `DAST_USERNAME`和`DAST_PASSWORD`将与登录表单一起提交,以创建经过身份验证的扫描. API 扫描不支持. | -| `DAST_USERNAME` | string | 网站中要验证的用户名. | -| `DAST_PASSWORD` | string | 网站中要验证的密码. | -| `DAST_USERNAME_FIELD` | string | 登录 HTML 表单中的用户名字段名称. | -| `DAST_PASSWORD_FIELD` | string | 登录 HTML 表单中的密码字段名称. | -| `DAST_MASK_HTTP_HEADERS` | string | 要屏蔽的请求和响应头的逗号分隔列表(在 GitLab 13.1 中引入). 必须包含**所有**要屏蔽的标头. 请参阅[默认情况下被屏蔽的标题列表](#hide-sensitive-information) . | -| `DAST_AUTH_EXCLUDE_URLS` | URLs | 经过身份验证的扫描期间要跳过的 URL; 以逗号分隔,中间没有空格. API 扫描不支持. | -| `DAST_FULL_SCAN_ENABLED` | boolean | 设置为`true`可以运行[ZAP 全面扫描](https://github.com/zaproxy/zaproxy/wiki/ZAP-Full-Scan)而不是[ZAP 基线扫描](https://github.com/zaproxy/zaproxy/wiki/ZAP-Baseline-Scan) . 默认值: `false` | -| `DAST_FULL_SCAN_DOMAIN_VALIDATION_REQUIRED` | boolean | 设置为`true`以在运行 DAST 全面扫描时要求[域验证](#domain-validation) . API 扫描不支持. 默认值: `false` | -| `DAST_AUTO_UPDATE_ADDONS` | boolean | ZAP 附件固定在 DAST Docker 映像中的特定版本. 设置为`true`以在扫描开始时下载最新版本. 默认值: `false` | -| `DAST_API_HOST_OVERRIDE` | string | 用于覆盖 API 规范文件中定义的域. 范例: `example.com:8080` : `example.com:8080` | -| `DAST_EXCLUDE_RULES` | string | 设置为以逗号分隔的漏洞规则 ID 列表,以将其排除在扫描过程之外. 规则 ID 是数字,可以从 DAST 日志或[ZAP 项目中找到](https://github.com/zaproxy/zaproxy/blob/develop/docs/scanners.md) . 例如, `HTTP Parameter Override`的规则 ID 为`10026` . **注意:**在早期版本的 GitLab 中,已执行排除的规则,但禁止生成它们的警报. 在 GitLab 12.10 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/118641) . | -| `DAST_REQUEST_HEADERS` | string | 设置为请求标题名称和值的逗号分隔列表. 标头将添加到 DAST 提出的每个请求中. 例如, `Cache-control: no-cache,User-Agent: DAST/1.0` | -| `DAST_DEBUG` | boolean | 启用调试消息输出. 默认值: `false` | -| `DAST_SPIDER_MINS` | number | 蜘蛛扫描的最大持续时间(以分钟为单位). 设置为`0`表示无限制. 默认值:一分钟,如果扫描为完全扫描,则为无限. | -| `DAST_HTML_REPORT` | string | 扫描结束时编写的 HTML 报告的文件名. | -| `DAST_MARKDOWN_REPORT` | string | 扫描结束时写入的 Markdown 报告的文件名. | -| `DAST_XML_REPORT` | string | 扫描结束时写入的 XML 报告的文件名. | -| `DAST_INCLUDE_ALPHA_VULNERABILITIES` | boolean | 设置为`true`以包括 alpha 被动和主动扫描规则. 默认值: `false` | -| `DAST_USE_AJAX_SPIDER` | boolean | 设置为`true`可以除传统蜘蛛外还使用 AJAX 蜘蛛,对爬网需要 JavaScript 的站点很有用. 默认值: `false` | -| `DAST_ZAP_CLI_OPTIONS` | string | ZAP 服务器命令行选项. 例如, `-Xmx3072m`将设置 Java 最大内存分配池大小. | -| `DAST_ZAP_LOG_CONFIGURATION` | string | 设置为 ZAP 服务器的其他 log4j 属性的分号分隔列表. 例如, `log4j.logger.org.parosproxy.paros.network.HttpSender=DEBUG;log4j.logger.com.crawljax=DEBUG` | - -### DAST command-line options[](#dast-command-line-options "Permalink") - -并非所有 DAST 配置都可以通过环境变量获得. 要找出所有可能的选项,请运行以下配置. 可用的命令行选项将被打印到作业日志中: - -``` -include: - template: DAST.gitlab-ci.yml - -dast: - script: - - /analyze --help -``` - -然后,您必须覆盖`script`命令以传递适当的参数. 例如,可以使用选项`-D`延迟被动扫描. 以下配置将被动扫描延迟了五分钟: - -``` -include: - template: DAST.gitlab-ci.yml - -dast: - script: - - export DAST_WEBSITE=${DAST_WEBSITE:-$(cat environment_url.txt)} - - /analyze -D 300 -t $DAST_WEBSITE -``` - -### Custom ZAProxy configuration[](#custom-zaproxy-configuration "Permalink") - -ZAProxy 服务器包含许多[有用的可配置值](https://gitlab.com/gitlab-org/gitlab/-/issues/36437#note_245801885) . `-config`许多键/值仍未记录,但是有未测试的[可能键](https://gitlab.com/gitlab-org/gitlab/-/issues/36437#note_244981023)列表. 请注意,DAST 不支持这些选项,并且在使用时可能会中断 DAST 扫描. 下面是一个如何使用`TOKEN`重写 Authorization 标头值的示例: - -``` -include: - template: DAST.gitlab-ci.yml - -variables: - DAST_ZAP_CLI_OPTIONS: "-config replacer.full_list(0).description=auth -config replacer.full_list(0).enabled=true -config replacer.full_list(0).matchtype=REQ_HEADER -config replacer.full_list(0).matchstr=Authorization -config replacer.full_list(0).regex=false -config replacer.full_list(0).replacement=TOKEN" -``` - -### Cloning the project’s repository[](#cloning-the-projects-repository "Permalink") - -DAST 作业在运行时不需要存在项目的存储库,因此默认情况下[`GIT_STRATEGY`](../../../ci/yaml/README.html#git-strategy)设置为`none` . - -### Debugging DAST jobs[](#debugging-dast-jobs "Permalink") - -A DAST job has two executing processes: - -* ZAP 服务器. -* 启动,控制和停止 ZAP 服务器的一系列脚本. - -可以使用`DAST_DEBUG`环境变量来启用脚本的调试模式. 这在对作业进行故障排除时会有所帮助,并且将输出指示扫描完成百分比的语句. 有关使用变量的详细信息,请参见[覆盖 DAST 模板](#customizing-the-dast-settings) . - -可以使用`DAST_ZAP_LOG_CONFIGURATION`环境变量启用 ZAP 服务器的调试模式. 下表概述了可以设置的值的示例,以及它们对记录的输出的影响. 可以指定多个值,以分号分隔. - -| 日志配置值 | Effect | -| --- | --- | -| `log4j.rootLogger=DEBUG` | 启用所有调试日志记录语句. | -| `log4j.logger.org.apache.commons.httpclient=DEBUG` | 记录 ZAP 服务器所做的每个 HTTP 请求和响应. | -| `log4j.logger.org.zaproxy.zap.spider.SpiderController=DEBUG` | 在目标的蜘蛛扫描期间找到的日志 URL. | -| `log4j.logger.com.crawljax=DEBUG` | 启用 Ajax Crawler 调试日志记录语句. | -| `log4j.logger.org.parosproxy.paros=DEBUG` | 启用 ZAP 服务器代理调试日志记录语句. | -| `log4j.logger.org.zaproxy.zap=DEBUG` | 启用常规 ZAP 服务器代码的调试日志记录语句. | - -## Running DAST in an offline environment[](#running-dast-in-an-offline-environment "Permalink") - -对于在通过互联网有限,受限或间歇性访问外部资源的环境中进行自我管理的 GitLab 实例,需要进行一些调整才能成功运行 DAST 作业. 有关更多信息,请参阅[脱机环境](../offline_deployments/index.html) . - -### Requirements for offline DAST support[](#requirements-for-offline-dast-support "Permalink") - -要在离线环境中使用 DAST,您需要: - -* GitLab 亚军与[`docker`或`kubernetes`执行](#requirements) . -* 带有 DAST [容器映像](https://gitlab.com/gitlab-org/security-products/dast)的本地可用副本的 Docker 容器注册表,可在[DAST 容器注册表中找到](https://gitlab.com/gitlab-org/security-products/dast/container_registry) . - -**Note:** GitLab Runner has a [default `pull policy` of `always`](https://docs.gitlab.com/runner/executors/docker.html), meaning the Runner tries to pull Docker images from the GitLab container registry even if a local copy is available. GitLab Runner’s [`pull_policy` can be set to `if-not-present`](https://docs.gitlab.com/runner/executors/docker.html) in an offline environment if you prefer using only locally available Docker images. However, we recommend keeping the pull policy setting to `always` if not in an offline environment, as this enables the use of updated scanners in your CI/CD pipelines. - -### Make GitLab DAST analyzer images available inside your Docker registry[](#make-gitlab-dast-analyzer-images-available-inside-your-docker-registry "Permalink") - -对于 DAST,将以下默认 DAST 分析器映像从`registry.gitlab.com`导入到[本地 Docker 容器注册表](../../packages/container_registry/index.html) : - -* `registry.gitlab.com/gitlab-org/security-products/dast:latest` - -The process for importing Docker images into a local offline Docker registry depends on **您的网络安全政策**. Please consult your IT staff to find an accepted and approved process by which external resources can be imported or temporarily accessed. Note that these scanners are [updated periodically](../index.html#maintenance-and-update-of-the-vulnerabilities-database) with new definitions, so consider if you’re able to make periodic updates yourself. - -有关将 Docker 映像保存和传输为文件的详细信息,请参阅 Docker 有关[`docker save`](https://s0docs0docker0com.icopy.site/engine/reference/commandline/save/) , [`docker load`](https://s0docs0docker0com.icopy.site/engine/reference/commandline/load/) , [`docker export`](https://s0docs0docker0com.icopy.site/engine/reference/commandline/export/)和[`docker import`](https://s0docs0docker0com.icopy.site/engine/reference/commandline/import/)的文档. - -### Set DAST CI job variables to use local DAST analyzers[](#set-dast-ci-job-variables-to-use-local-dast-analyzers "Permalink") - -将以下配置添加到您的`.gitlab-ci.yml`文件. 您必须替换`image`以引用本地 Docker 容器注册表中托管的 DAST Docker 映像: - -``` -include: - - template: DAST.gitlab-ci.yml -dast: - image: registry.example.com/namespace/dast:latest -``` - -DAST 作业现在应该使用 DAST 分析器的本地副本来扫描您的代码并生成安全报告,而无需访问 Internet. - -或者,您可以使用变量`SECURE_ANALYZERS_PREFIX`覆盖`dast`映像的基本注册表地址. - -## On-Demand Scans[](#on-demand-scans "Permalink") - -版本历史 - -* 在 GitLab 13.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/218465) . -* 它部署在功能标记后面,默认情况下处于禁用状态. -* 在 GitLab.com 上已禁用. -* 每个项目都可以启用或禁用它. -* 要在 GitLab 自管实例中使用它,请让 GitLab 管理员[启用它](#enable-or-disable-on-demand-scans) . - -在 DevOps 生命周期之外,可以根据需要针对目标网站运行被动 DAST 扫描. 这些扫描将始终与项目的默认分支或`master`分支关联,并且结果可以在项目仪表板中看到. - -[![DAST On-Demand Scan](img/49588b733704d134418744f910f7809b.png)](img/dast_on_demand_v13_2.png) - -### Enable or disable On-Demand Scans[](#enable-or-disable-on-demand-scans "Permalink") - -按需扫描正在开发中,尚未准备好用于生产. 它部署在**默认情况下禁用**的功能标志的后面. [有权访问 GitLab Rails 控制台的 GitLab 管理员](../../../administration/feature_flags.html)可以为您的实例启用它. 可以按项目启用或禁用按需扫描 - -要启用它: - -``` -# Instance-wide -Feature.enable(:security_on_demand_scans_feature_flag) -# or by project -Feature.enable(:security_on_demand_scans_feature_flag, Project.find()) -``` - -To disable it: - -``` -# Instance-wide -Feature.disable(:security_on_demand_scans_feature_flag) -# or by project -Feature.disable(:security_on_demand_scans_feature_flag, Project.find()) -``` - -## Reports[](#reports "Permalink") - -默认情况下,DAST 工具以 JSON 格式输出报告文件. 但是,此工具还可以生成 Markdown,HTML 和 XML 的报告. 有关更多信息,请参阅[DAST 报告](https://gitlab.com/gitlab-org/security-products/security-report-schemas/-/blob/master/dist/dast-report-format.json)的[架构](https://gitlab.com/gitlab-org/security-products/security-report-schemas/-/blob/master/dist/dast-report-format.json) . - -### List of URLs scanned[](#list-of-urls-scanned "Permalink") - -当 DAST 完成扫描时,合并请求页面将说明扫描的 URL 数量. 单击**查看详细信息**以查看 Web 控制台输出,其中包括扫描的 URL 列表. - -[![DAST Widget](img/81cb03504811f2ae5f008de13366a1db.png)](img/dast_urls_scanned_v12_10.png) - -### JSON[](#json "Permalink") - -**警告:** JSON 报表工件不是 DAST 的公共 API,并且其格式预计会在将来更改. - -DAST 工具始终会发出一个名为`gl-dast-report.json`的 JSON 报告文件,并且可以在[DAST 存储库中](https://gitlab.com/gitlab-org/security-products/dast/-/tree/master/test/end-to-end/expect)找到示例报告. - -JSON 报表中有两种数据格式可以并排使用: - -* 专有的 ZAP 格式将最终弃用. -* 一种通用格式,将来会成为默认格式. - -### Other formats[](#other-formats "Permalink") - -还可以用 Markdown,HTML 和 XML 生成报告. 这些可以使用以下配置作为工件发布: - -``` -include: - template: DAST.gitlab-ci.yml - -dast: - variables: - DAST_HTML_REPORT: report.html - DAST_MARKDOWN_REPORT: report.md - DAST_XML_REPORT: report.xml - artifacts: - paths: - - $DAST_HTML_REPORT - - $DAST_MARKDOWN_REPORT - - $DAST_XML_REPORT - - gl-dast-report.json -``` - -## Security Dashboard[](#security-dashboard "Permalink") - -在"安全仪表板"中,您可以概览您的组,项目和管道中的所有安全漏洞. 阅读有关[安全仪表板的](../security_dashboard/index.html)更多[信息](../security_dashboard/index.html) . - -## Bleeding-edge vulnerability definitions[](#bleeding-edge-vulnerability-definitions "Permalink") - -ZAP 首先在`alpha`类中创建规则. 经过与社区的测试期后,他们被提升为`beta` . 默认情况下,DAST 使用`beta`定义. 要请求`alpha`定义,请使用`DAST_INCLUDE_ALPHA_VULNERABILITIES`环境变量,如以下配置所示: - -``` -include: - template: DAST.gitlab-ci.yml - -variables: - DAST_INCLUDE_ALPHA_VULNERABILITIES: true -``` - -## Interacting with the vulnerabilities[](#interacting-with-the-vulnerabilities "Permalink") - -一旦发现漏洞,便可以与其进行交互. 阅读有关如何[与漏洞](../index.html#interacting-with-the-vulnerabilities)进行[交互的](../index.html#interacting-with-the-vulnerabilities)更多信息. - -## Vulnerabilities database update[](#vulnerabilities-database-update "Permalink") - -有关漏洞数据库更新的更多信息,请查看[维护表](../index.html#maintenance-and-update-of-the-vulnerabilities-database) . - -## Optimizing DAST[](#optimizing-dast "Permalink") - -默认情况下,DAST 将下载管道中先前作业定义的所有工件. 如果您的 DAST 作业不依赖`environment_url.txt`来定义被测 URL 或以前的作业中创建的任何其他文件,我们建议您不要下载工件. 为了避免下载工件,请将以下内容添加到您的`gitlab-ci.yml`文件中: - -``` -dast: dependencies: [] -``` - -## Troubleshooting[](#troubleshooting "Permalink") - -### Running out of memory[](#running-out-of-memory "Permalink") - -默认情况下,DAST 依赖的 ZAProxy 被分配的内存总计为主机上总内存的 25%. 由于它在扫描期间将大部分信息保留在内存中,因此 DAST 在扫描大型应用程序时可能会用尽内存. 这将导致以下错误: - -``` -[zap.out] java.lang.OutOfMemoryError: Java heap space -``` - -幸运的是,通过使用`DAST_ZAP_CLI_OPTIONS`环境变量可以直接增加 DAST 可用的内存量: - -``` -include: - - template: DAST.gitlab-ci.yml - -variables: - DAST_ZAP_CLI_OPTIONS: "-Xmx3072m" -``` - -在此,DAST 被分配了 3072 MB. 将`-Xmx`之后的数字更改为所需的存储量. \ No newline at end of file diff --git a/docs/057.md b/docs/057.md deleted file mode 100644 index 8b2a1b8..0000000 --- a/docs/057.md +++ /dev/null @@ -1,160 +0,0 @@ -# GitLab Security Dashboard - -> 原文:[https://docs.gitlab.com/ee/user/application_security/security_dashboard/](https://docs.gitlab.com/ee/user/application_security/security_dashboard/) - -* [Supported reports](#supported-reports) -* [Requirements](#requirements) -* [Pipeline Security](#pipeline-security) -* [Project Security Dashboard](#project-security-dashboard) -* [Group Security Dashboard](#group-security-dashboard) -* [Instance Security Dashboard](#instance-security-dashboard) - * [Adding projects to the dashboard](#adding-projects-to-the-dashboard) -* [Export vulnerabilities](#export-vulnerabilities) -* [Keeping the dashboards up to date](#keeping-the-dashboards-up-to-date) -* [Security scans using Auto DevOps](#security-scans-using-auto-devops) -* [Vulnerability list](#vulnerability-list) - -# GitLab Security Dashboard[](#gitlab-security-dashboard-ultimate "Permalink") - -在"安全仪表板"中,您可以概览您的组,项目和管道中的所有安全漏洞. - -您还可以深入研究漏洞并获得更多信息,查看其来源,项目所在的文件以及各种元数据,以帮助您分析风险. 您也可以通过为漏洞创建问题或消除漏洞来对漏洞采取措施. - -要从"安全仪表板"中受益,您必须首先配置其中一份[安全报告](../index.html) . - -## Supported reports[](#supported-reports "Permalink") - -安全仪表板支持以下报告: - -* [Container Scanning](../container_scanning/index.html) -* [Dynamic Application Security Testing](../dast/index.html) -* [Dependency Scanning](../dependency_scanning/index.html) -* [Static Application Security Testing](../sast/index.html) - -## Requirements[](#requirements "Permalink") - -要使用实例,组,项目或管道安全性仪表板,请执行以下操作: - -1. 组中的至少一个项目必须配置有至少一个[受支持的报告](#supported-reports) . -2. 配置的作业必须使用[新的`reports`语法](../../../ci/pipelines/job_artifacts.html#artifactsreports) . -3. 必须使用[GitLab Runner](https://docs.gitlab.com/runner/) 11.5 或更高版本. 如果您在 GitLab.com 上使用共享的 Runners,那么情况已经如此. - -## Pipeline Security[](#pipeline-security "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/13496) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.3. - -在管道级别,"安全性"部分显示了运行管道所针对的项目分支中存在的漏洞. - -访问页面以查看运行了任何[受支持报告的](#supported-reports)任何管道. 单击**安全性**选项卡以查看安全性发现. - -[![Pipeline Security Dashboard](img/f0d8585fb8235b36b1464ed1d142a4c0.png)](img/pipeline_security_dashboard_v13_2.png) - -**注意:**管道包含多个作业,包括 SAST 和 DAST 扫描. 如果任何作业由于任何原因无法完成,则安全信息中心将不会显示 SAST 扫描仪输出. 例如,如果 SAST 作业完成但 DAST 作业失败,则安全性仪表板将不会显示 SAST 结果. 分析器将在失败时输出[退出代码](../../../development/integrations/secure.html#exit-code) . - -## Project Security Dashboard[](#project-security-dashboard "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/6165) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 11.1. - -在项目级别,安全性仪表板显示合并到项目的[默认分支中](../../project/repository/branches/index.html#default-branch)的漏洞. 通过导航到" **安全与合规性">"安全仪表板"**来访问它. - -安全仪表板首先按严重性显示漏洞的总数(例如,严重,高,中,低). 在此下方,有一个表显示每个漏洞的状态,严重性和描述. 单击漏洞会将您带到其" [漏洞详细信息"](../vulnerabilities)页面,以查看有关该漏洞的更多信息. - -您可以通过以下方式过滤漏洞: - -* Status -* Severity -* 报告类型 - -您还可以消除表中的漏洞: - -1. 选择要消除的每个漏洞的复选框. -2. 在出现的菜单中,选择**退出**的原因,然后点击**取消选中** . - -[![Project Security Dashboard](img/2066156f84e498acec96cdfb63d2d2a4.png)](img/project_security_dashboard_v13_2.png) - -## Group Security Dashboard[](#group-security-dashboard "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/6709) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 11.5. - -组安全仪表板概述了组及其子组中项目的默认分支中的漏洞. 通过导航至组的" **安全性">"安全性仪表板"**来访问它. - -**注意:** "安全仪表板"仅显示在组中启用了[安全报告的](#supported-reports)项目. - -[![Dashboard with action buttons and metrics](img/7b7c08f411e1307c05a834071bccb610.png)](img/group_security_dashboard_v13_2_noNav.png) - -您可以通过以下方式过滤安全仪表板显示的漏洞: - -* Status -* Severity -* 报告类型 -* Project - -表格列出了漏洞,并按严重性排序. 该表显示了每个漏洞的状态,严重性和描述. 单击漏洞会将您带到其" [漏洞详细信息"](../vulnerabilities)页面,以查看有关该漏洞的更多信息. - -列表旁边是时间线图,该图显示了您的项目在不同时间点有多少个未解决的漏洞. 您可以在 30 天,60 天和 90 天之间进行过滤,默认值为 90 天.将鼠标悬停在图表上可获得有关特定时间未解决漏洞的更多详细信息. - -时间线图表下方是项目列表,按发现的漏洞的严重程度进行分组和排序: - -* F:1 个或更多"关键" -* D:1 个或多个"高"或"未知" -* C: 1 or more “medium” -* B:1 个或多个"低" -* 答:0 个漏洞 - -未配置漏洞测试的项目不会出现在列表中. 此外,也不包含已消除的漏洞. - -阅读有关如何[与漏洞](../index.html#interacting-with-the-vulnerabilities)进行[交互的](../index.html#interacting-with-the-vulnerabilities)更多信息. - -## Instance Security Dashboard[](#instance-security-dashboard "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/6953) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.8. - -在实例级别,安全仪表板显示您配置为显示在仪表板上的所有项目的默认分支中存在的漏洞. 它包括[组"安全仪表板"的](#group-security-dashboard)所有功能. - -您可以从页面顶部的菜单栏中访问 Instance Security 仪表板. 在" **更多"下** ,选择" **安全性"** . - -[![Instance Security Dashboard navigation link](img/25892ec4aa99429a91c30ac3395379e0.png)](img/instance_security_dashboard_link_v12_4.png) - -### Adding projects to the dashboard[](#adding-projects-to-the-dashboard "Permalink") - -要将项目添加到仪表板: - -1. 单击"实例安全性仪表板"页面上的**编辑仪表板**按钮. -2. 使用" **搜索您的项目"**字段搜索并添加一个或多个项目. -3. 单击**添加项目**按钮. - -添加后,安全仪表板将显示在所选项目的默认分支中发现的漏洞. - -[![Instance Security Dashboard with projects](img/5653420f4acd0e8a49be80d5d413bd10.png)](img/instance_security_dashboard_with_projects_v13_2_sm.png) - -## Export vulnerabilities[](#export-vulnerabilities "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/213014) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.10. - -您可以通过以下方式将所有漏洞导出为 CSV 格式: 位于**安全仪表板**右上方的" **导出"**按钮. 生成报告后,CSV 报告将下载到本地计算机. 该报告包含" **安全性仪表板"中**定义的项目的所有漏洞,因为过滤器不适用于导出功能. - -**注意:**如果您的项目包含成千上万个漏洞,下载可能需要几分钟的时间才能开始. 下载完成之前,请不要关闭页面. - -## Keeping the dashboards up to date[](#keeping-the-dashboards-up-to-date "Permalink") - -安全仪表板在[默认分支](../../project/repository/branches/index.html#default-branch)上显示来自最新安全扫描结果的信息,这意味着每次更新分支时都会执行安全扫描. - -如果不经常更新默认分支,则不经常运行扫描,并且随着发现新漏洞,安全仪表板上的信息可能会过时. - -为确保安全仪表板上的信息得到定期更新,请[配置计划的管道](../../../ci/pipelines/schedules.html)以运行每日安全扫描. 不管默认分支的更新频率如何,这都会更新"安全性"仪表板上显示的信息. - -这样,即使没有代码更改也不会创建报告. - -## Security scans using Auto DevOps[](#security-scans-using-auto-devops "Permalink") - -使用[Auto DevOps 时](../../../topics/autodevops/index.html) ,请使用[特殊的环境变量](../../../topics/autodevops/customize.html#environment-variables)来配置每日安全扫描. - -## Vulnerability list[](#vulnerability-list "Permalink") - -Each dashboard’s vulnerability list contains vulnerabilities from the latest scans that were merged into the default branch. Click any vulnerability in the table to see more information on that vulnerability. To create an issue associated with the vulnerability, click the **创建问题** button. - -[![Create an issue for the vulnerability](img/a9880855e171e225a4b6c73ae1790538.png)](img/standalone_vulnerability_page_v13_1.png) - -创建问题后,漏洞列表将包含该问题的链接和一个图标,其颜色指示该问题的状态(绿色代表未解决的问题,蓝色代表未解决的问题). - -[![Display attached issues](img/f1e26381a4d60fa929a9285e04721656.png)](img/vulnerability_list_table_v13_1.png) \ No newline at end of file diff --git a/docs/058.md b/docs/058.md deleted file mode 100644 index faf9604..0000000 --- a/docs/058.md +++ /dev/null @@ -1,64 +0,0 @@ -# Offline environments - -> 原文:[https://docs.gitlab.com/ee/user/application_security/offline_deployments/](https://docs.gitlab.com/ee/user/application_security/offline_deployments/) - -* [Defining offline environments](#defining-offline-environments) -* [Overview](#overview) - * [Container registries and package repositories](#container-registries-and-package-repositories) - * [Interacting with the vulnerabilities](#interacting-with-the-vulnerabilities) - * [Suggested Solutions for vulnerabilities](#suggested-solutions-for-vulnerabilities) - * [Scanner signature and rule updates](#scanner-signature-and-rule-updates) -* [Specific scanner instructions](#specific-scanner-instructions) - -# Offline environments[](#offline-environments "Permalink") - -未连接到互联网时,可以运行大多数的 GitLab 安全扫描程序. - -本文档介绍了如何在脱机环境中操作安全类别(即扫描仪类型). 这些说明还适用于受保护,具有安全策略(例如,防火墙策略)或受其他限制而无法访问整个 Internet 的自我管理安装. GitLab 将这些环境称为*脱机环境* . 其他常用名称包括: - -* 气隙环境 -* 受限的连接环境 -* 局域网(LAN)环境 -* 内联网环境 - -这些环境具有阻止或限制 Internet 访问的物理障碍或安全策略(例如,防火墙). 这些说明是为物理上断开连接的网络而设计的,但在其他用例中也可以遵循这些说明. - -## Defining offline environments[](#defining-offline-environments "Permalink") - -在离线环境中,GitLab 实例可以是一个或多个服务器和服务,它们可以在本地网络上进行通信,但是对 Internet 的访问没有限制或受到非常严格的限制. 假设可以通过本地网络连接访问 GitLab 实例和支持基础结构(例如,私有 Maven 存储库)中的任何内容. 假定来自 Internet 的任何文件都必须通过物理媒体(USB 驱动器,硬盘驱动器,可写 DVD 等)进入. - -## Overview[](#overview "Permalink") - -GitLab 扫描仪通常会连接到互联网,以下载最新的签名,规则和补丁集. 通过使用本地网络上可用的资源,需要一些额外的步骤来配置工具以使其正常运行. - -### Container registries and package repositories[](#container-registries-and-package-repositories "Permalink") - -在较高级别,安全分析器以 Docker 映像的形式提供,并且可以利用各种软件包存储库. 当您在联网的 GitLab 安装上运行作业时,GitLab 会检查 GitLab.com 托管的容器注册表,以检查您是否具有这些 Docker 映像的最新版本,并可能连接到软件包存储库以安装必要的依赖项. - -在离线环境中,必须禁用这些检查,以便不查询 GitLab.com. 由于 GitLab.com 注册表和存储库不可用,因此您必须更新每个扫描仪以引用不同的内部托管注册表,或提供对单个扫描仪图像的访问. - -您还必须确保您的应用可以访问不在 GitLab.com 上托管的常见软件包存储库,例如 npm,yarn 或 Ruby gems. 可以通过临时连接到网络或通过镜像自己的脱机网络中的软件包来获取这些存储库中的软件包. - -### Interacting with the vulnerabilities[](#interacting-with-the-vulnerabilities "Permalink") - -一旦发现漏洞,便可以与其进行交互. 阅读有关如何[与漏洞](../index.html#interacting-with-the-vulnerabilities)进行[交互的](../index.html#interacting-with-the-vulnerabilities)更多信息. - -请注意,在某些情况下,所报告的漏洞提供的元数据可能包含 UI 中公开的外部链接. 在脱机环境中可能无法访问这些链接. - -### Suggested Solutions for vulnerabilities[](#suggested-solutions-for-vulnerabilities "Permalink") - -[建议的解决方案](../index.html#solutions-for-vulnerabilities-auto-remediation)功能(自动修复)可用于"依赖关系扫描"和"容器扫描",但可能无法运行,具体取决于实例的配置. 当我们能够访问托管该依赖项或映像的最新版本的最新注册表服务时,我们只能建议解决方案,这些解决方案通常是已修补的最新版本. - -### Scanner signature and rule updates[](#scanner-signature-and-rule-updates "Permalink") - -连接到 Internet 时,某些扫描仪会参考公共数据库以获取最新的签名集和要检查的规则. 没有连接,这是不可能的. 因此,根据扫描仪的不同,您必须禁用这些自动更新检查,并使用它们随附的数据库并手动更新这些数据库,或者提供对网络中托管的自己的副本的访问权限. - -## Specific scanner instructions[](#specific-scanner-instructions "Permalink") - -每个单独的扫描仪可能与上述步骤略有不同. 您可以在以下每个页面上找到更多信息: - -* [Container scanning offline directions](../container_scanning/index.html#running-container-scanning-in-an-offline-environment) -* [SAST offline directions](../sast/index.html#running-sast-in-an-offline-environment) -* [DAST offline directions](../dast/index.html#running-dast-in-an-offline-environment) -* [License Compliance offline directions](../../compliance/license_compliance/index.html#running-license-compliance-in-an-offline-environment) -* [Dependency Scanning offline directions](../dependency_scanning/index.html#running-dependency-scanning-in-an-offline-environment) \ No newline at end of file diff --git a/docs/059.md b/docs/059.md deleted file mode 100644 index 1db0f5c..0000000 --- a/docs/059.md +++ /dev/null @@ -1,62 +0,0 @@ -# Standalone Vulnerability pages - -> 原文:[https://docs.gitlab.com/ee/user/application_security/vulnerabilities/](https://docs.gitlab.com/ee/user/application_security/vulnerabilities/) - -* [Changing vulnerability status](#changing-vulnerability-status) -* [Creating an issue for a vulnerability](#creating-an-issue-for-a-vulnerability) -* [Automatic remediation solutions for vulnerabilities](#automatic-remediation-solutions-for-vulnerabilities) - * [Manually applying a suggested patch](#manually-applying-a-suggested-patch) - -# Standalone Vulnerability pages[](#standalone-vulnerability-pages "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/13561) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 13.0. - -[安全仪表板](../security_dashboard/index.html#project-security-dashboard)中的每个安全漏洞都有其自己的独立页面. - -[![Standalone vulnerability page](img/62d2b5c8435d31dff0a7fc689c288e8c.png)](img/standalone_vulnerability_page_v13_1.png) - -在独立漏洞页面上,您可以通过几种不同方式与漏洞进行交互: - -* [变化的脆弱性状态](#changing-vulnerability-status) -您可以将漏洞的状态更改为**检测** , **确认** , **驳回**或**解决** . -* [创建问题](#creating-an-issue-for-a-vulnerability) -创建一个新问题,其标题和说明已预先填充了漏洞报告中的信息. 默认情况下,此类问题是[机密的](../../project/issues/confidential_issues.html) . -* [解决方案](#automatic-remediation-solutions-for-vulnerabilities) -对于某些漏洞,提供了有关如何修复该漏洞的解决方案. - -## Changing vulnerability status[](#changing-vulnerability-status "Permalink") - -您可以使用" **状态"**下拉列表将漏洞的**状态**切换为以下值之一: - -| Status | Description | -| --- | --- | -| Detected | 新发现漏洞的默认状态 | -| Confirmed | 用户已经看到此漏洞并确认它是真实的 | -| Dismissed | 用户已经看到此漏洞并将其消除 | -| Resolved | 该漏洞已修复,不再存在于代码库中 | - -## Creating an issue for a vulnerability[](#creating-an-issue-for-a-vulnerability "Permalink") - -您可以通过选择**创建问题**按钮来**创建**漏洞**问题** . - -这会在漏洞来自的项目中创建一个[机密问题](../../project/issues/confidential_issues.html) ,并使用漏洞报告中的有用信息对其进行预填充. 创建问题后,GitLab 会将您重定向到问题页面,以便您可以编辑,分配或评论问题. - -## Automatic remediation solutions for vulnerabilities[](#automatic-remediation-solutions-for-vulnerabilities "Permalink") - -您可以通过应用 GitLab 为您自动生成的解决方案来修复某些漏洞. GitLab 支持以下扫描仪: - -* [依赖项扫描](../dependency_scanning/index.html) :自动补丁创建仅适用于使用`yarn`管理的 Node.js 项目. -* [Container Scanning](../container_scanning/index.html). - -When an automatic solution is available, the button in the header will show “Resolve with merge request”: - -[![Resolve with Merge Request button](img/e661a6c6931c39f12f5b6833566b8947.png)](img/standalone_vulnerability_page_merge_request_button_v13_1.png) - -选择该按钮将创建带有自动解决方案的合并请求. - -### Manually applying a suggested patch[](#manually-applying-a-suggested-patch "Permalink") - -要手动应用由 GitLab 生成的漏洞补丁,请选择"使用合并请求解决"按钮上的下拉箭头,然后选择"下载要解决的补丁"选项: - -[![Resolve with Merge Request button dropdown](img/2310ec0a03905adc0774d21079604b57.png)](img/standalone_vulnerability_page_merge_request_button_dropdown_v13_1.png) - -这会将按钮文本更改为"下载修补程序以解决". 单击它下载补丁: - -[![Download patch button](img/4e980984ef171e4c624f56ebeb3277c7.png)](img/standalone_vulnerability_page_download_patch_button_v13_1.png) \ No newline at end of file diff --git a/docs/060.md b/docs/060.md deleted file mode 100644 index 82a0adc..0000000 --- a/docs/060.md +++ /dev/null @@ -1,388 +0,0 @@ -# Security scanner integration - -> 原文:[https://docs.gitlab.com/ee/development/integrations/secure.html](https://docs.gitlab.com/ee/development/integrations/secure.html) - -* [Job definition](#job-definition) - * [Name](#name) - * [Image](#image) - * [Script](#script) - * [Stage](#stage) - * [Fail-safe](#fail-safe) - * [Artifacts](#artifacts) - * [Policies](#policies) - * [Policy checking example](#policy-checking-example) -* [Docker image](#docker-image) - * [Image size](#image-size) - * [Image tag](#image-tag) -* [Command line](#command-line) - * [Variables](#variables) - * [SAST and Dependency Scanning](#sast-and-dependency-scanning) - * [Container Scanning](#container-scanning) - * [Configuration files](#configuration-files) - * [Output file](#output-file) - * [Exit code](#exit-code) - * [Logging](#logging) - * [Logging level](#logging-level) - * [common logutil package](#common-logutil-package) -* [Report](#report) - * [Version](#version) - * [Vulnerabilities](#vulnerabilities) - * [ID](#id) - * [Category](#category) - * [Scanner](#scanner) - * [Name, message, and description](#name-message-and-description) - * [Solution](#solution) - * [Identifiers](#identifiers) - * [Location](#location) - * [Dependency Scanning](#dependency-scanning) - * [Container Scanning](#container-scanning-1) - * [SAST](#sast) - * [Tracking and merging vulnerabilities](#tracking-and-merging-vulnerabilities) - * [Severity and confidence](#severity-and-confidence) - * [Remediations](#remediations) - * [Summary](#summary) - * [Fixed vulnerabilities](#fixed-vulnerabilities) - * [Diff](#diff) -* [Limitations](#limitations) - * [Container Scanning](#container-scanning-2) - -# Security scanner integration[](#security-scanner-integration "Permalink") - -将安全扫描程序集成到 GitLab 包括为最终用户提供[CI 作业定义,](../../ci/yaml/README.html#introduction)他们可以将其添加到 CI 配置文件中以扫描其 GitLab 项目. 然后,此 CI 作业应以 GitLab 指定的格式输出其结果. 然后,这些结果将自动显示在 GitLab 中的各个位置,例如管道视图,合并请求小部件和安全仪表板. - -扫描作业通常基于[Docker 映像](https://s0docs0docker0com.icopy.site/) ,该[映像](https://s0docs0docker0com.icopy.site/)包含扫描程序及其在独立环境中的所有依赖性. - -该页面记录了编写实现安全扫描程序的 CI 作业的要求和准则,以及 Docker 映像的要求和准则. - -## Job definition[](#job-definition "Permalink") - -本节描述了要添加到安全扫描器的作业定义文件中的几个重要字段. 有关这些以及其他可用字段的完整文档,请参阅[CI 文档](../../ci/yaml/README.html#image) . - -### Name[](#name "Permalink") - -为了保持一致性,扫描作业应以扫描仪的名字命名(小写). 作业名称是扫描的类型之后后缀: `_dependency_scanning` , `_container_scanning` , `_dast`和`_sast` . 例如,基于" MySec"扫描程序的依赖项扫描作业将被命名为`mysec_dependency_scanning` . - -### Image[](#image "Permalink") - -[`image`](../../ci/yaml/README.html#image)关键字用于指定包含安全扫描器的[Docker 映像](../../ci/docker/using_docker_images.html#what-is-an-image) . - -### Script[](#script "Permalink") - -[`script`](../../ci/yaml/README.html#script)关键字用于指定运行扫描仪的命令. 由于`script`条目不能为空,因此必须将其设置为执行扫描的命令. 无法依靠 Docker 映像的预定义`ENTRYPOINT`和`CMD`来自动执行扫描,而无需传递任何命令. - -在作业定义中不应使用[`before_script`](../../ci/yaml/README.html#before_script-and-after_script) ,因为用户可以在执行扫描之前依靠它来准备其项目. 例如,通常的做法是在执行 SAST 或依赖项扫描之前,使用`before_script`安装特定项目所需的系统库. - -同样,在作业定义中不应使用[`after_script`](../../ci/yaml/README.html#before_script-and-after_script) ,因为它可能会被用户覆盖. - -### Stage[](#stage "Permalink") - -为了保持一致性,扫描作业应尽可能属于`test`阶段. 可以省略[`stage`](../../ci/yaml/README.html#stage)关键字,因为`test`是默认值. - -### Fail-safe[](#fail-safe "Permalink") - -为了与[GitLab Security 范例](https://about.gitlab.com/direction/secure/#security-paradigm)保持一致,扫描作业在失败时不应阻塞管道,因此[`allow_failure`](../../ci/yaml/README.html#allow_failure)参数设置为`true` . - -### Artifacts[](#artifacts "Permalink") - -扫描作业必须使用[`artifacts:reports`](../../ci/pipelines/job_artifacts.html#artifactsreports)关键字声明与其执行的扫描类型相对应的[`artifacts:reports`](../../ci/pipelines/job_artifacts.html#artifactsreports) . 有效报告为: `dependency_scanning` , `container_scanning` , `dast`和`sast` . - -例如,以下是 SAST 作业的定义,该作业生成一个名为`gl-sast-report.json`的文件,并将其作为 SAST 报告上载: - -``` -mysec_sast: - image: registry.gitlab.com/secure/mysec - artifacts: - reports: - sast: gl-sast-report.json -``` - -请注意, `gl-sast-report.json`是示例文件路径,但可以使用任何其他文件名. 有关更多详细信息,请参见["输出文件"部分](#output-file) . 之所以将其作为 SAST 报告处理是因为它是在作业定义中的`reports:sast`键下声明的,而不是因为文件名. - -### Policies[](#policies "Permalink") - -某些 GitLab 工作流程(例如[AutoDevOps](../../topics/autodevops/customize.html#disable-jobs) )定义了变量,以指示应禁用给定的扫描. 您可以通过查找诸如`DEPENDENCY_SCANNING_DISABLED` , `CONTAINER_SCANNING_DISABLED` , `SAST_DISABLED`和`DAST_DISABLED`变量来进行检查. 根据扫描仪类型,如果合适,则应禁用运行自定义扫描仪. - -GitLab 还定义了一个`CI_PROJECT_REPOSITORY_LANGUAGES`变量,该变量提供了存储库中的语言列表. 根据此值,扫描仪可能会做或可能不会做不同的事情. 目前,语言检测依赖于[`linguist`](https://github.com/github/linguist) Ruby gem. 请参阅[GitLab CI / CD 预定义变量](../../ci/variables/predefined_variables.html) . - -#### Policy checking example[](#policy-checking-example "Permalink") - -此示例显示如何跳过自定义的依赖项扫描作业`mysec_dependency_scanning` ,除非项目存储库包含 Java 源代码并且启用了`dependency_scanning`功能: - -``` -mysec_dependency_scanning: - rules: - - if: $DEPENDENCY_SCANNING_DISABLED - when: never - - if: $GITLAB_FEATURES =~ /\bdependency_scanning\b/ - exists: - - '**/*.java' -``` - -任何其他作业策略仅应由用户根据其需求进行配置. 例如,预定义策略不应触发特定分支或特定文件集更改时的扫描作业. - -## Docker image[](#docker-image "Permalink") - -Docker 映像是一个自包含的环境,将扫描仪与其依赖的所有库和工具结合在一起. 将扫描程序打包到 Docker 映像中,无论扫描程序在哪台计算机上运行,​​其依赖关系和配置始终存在. - -### Image size[](#image-size "Permalink") - -根据 CI 基础架构,CI 可能必须在每次作业运行时都获取 Docker 映像. 为了使扫描作业快速运行并避免浪费带宽,Docker 映像应尽可能小. 您的目标应该是 50MB 或更小. 如果无法做到这一点,请尝试使其保持在 1.46 GB 以下,即 CD-ROM 的大小. - -If the scanner requires a fully functional Linux environment, it is recommended to use a [Debian](https://www.debian.org/intro/about) “slim” distribution or [Alpine Linux](https://www.alpinelinux.org/). If possible, it is recommended to build the image from scratch, using the `FROM scratch` instruction, and to compile the scanner with all the libraries it needs. [Multi-stage builds](https://s0docs0docker0com.icopy.site/develop/develop-images/multistage-build/) might also help with keeping the image small. - -为了保持较小的图像大小,请考虑使用[Dive](https://github.com/wagoodman/dive#dive)分析 Docker 图像中的图层,以识别可能来自其他地方的膨胀. - -In some cases, it might be difficult to remove files from an image. When this occurs, consider using [Zstandard](https://github.com/facebook/zstd) to compress files or large directories. Zstandard offers many different compression levels that can decrease the size of your image with very little impact to decompression speed. It may be helpful to automatically decompress any compressed directories as soon as an image launches. You can accomplish this by adding a step to the Docker image’s `/etc/bashrc` or to a specific user’s `$HOME/.bashrc`. Remember to change the entry point to launch a bash login shell if you chose the latter option. - -以下是一些入门的示例: - -* [https://gitlab.com/gitlab-org/security-products/license-management/-/blob/0b976fcffe0a9b8e80587adb076bcdf279c9331c/config/install.sh#L168-170](https://gitlab.com/gitlab-org/security-products/license-management/-/blob/0b976fcffe0a9b8e80587adb076bcdf279c9331c/config/install.sh#L168-170) -* [https://gitlab.com/gitlab-org/security-products/license-management/-/blob/0b976fcffe0a9b8e80587adb076bcdf279c9331c/config/.bashrc#L49](https://gitlab.com/gitlab-org/security-products/license-management/-/blob/0b976fcffe0a9b8e80587adb076bcdf279c9331c/config/.bashrc#L49) - -### Image tag[](#image-tag "Permalink") - -如[Docker Official Images](https://github.com/docker-library/official-images#tags-and-aliases)项目中所述,强烈建议给版本号标签起别名,这使用户可以轻松地引用特定系列的"最新"版本. 另请参阅[Docker 标记:标记和版本化 Docker 映像的最佳实践](https://docs.microsoft.com/en-us/archive/blogs/stevelasker/docker-tagging-best-practices-for-tagging-and-versioning-docker-images) . - -## Command line[](#command-line "Permalink") - -扫描程序是一种命令行工具,它将环境变量作为输入,并生成一个文件,该文件作为报告上载(基于作业定义). 它还会在标准输出和标准错误流上生成文本输出,并以状态码退出. - -### Variables[](#variables "Permalink") - -所有 CI 变量都作为环境变量传递到扫描仪. 扫描的项目由[预定义的 CI 变量](../../ci/variables/README.html)描述. - -#### SAST and Dependency Scanning[](#sast-and-dependency-scanning "Permalink") - -SAST 和依赖项扫描扫描程序必须扫描项目目录中由`CI_PROJECT_DIR`变量指定的文件. - -#### Container Scanning[](#container-scanning "Permalink") - -为了与 GitLab 的官方 Container Scanning 一致,扫描程序必须扫描 Docker 映像,其名称和标记分别由`CI_APPLICATION_REPOSITORY`和`CI_APPLICATION_TAG`给出. - -如果未提供, `CI_APPLICATION_REPOSITORY`应该默认为`$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG` ,这是预定义的 CI 变量的组合. `CI_APPLICATION_TAG`应该默认为`CI_COMMIT_SHA` . - -扫描程序应使用变量`DOCKER_USER`和`DOCKER_PASSWORD`登录 Docker 注册表. 如果未定义它们,则扫描程序应使用`CI_REGISTRY_USER`和`CI_REGISTRY_PASSWORD`作为默认值. - -#### Configuration files[](#configuration-files "Permalink") - -尽管扫描程序可以使用`CI_PROJECT_DIR`加载特定的配置文件,但建议将配置公开为环境变量,而不是文件. - -### Output file[](#output-file "Permalink") - -与上载到 GitLab CI / CD 的任何工件一样,由扫描仪生成的安全报告必须写入项目目录中,该目录由`CI_PROJECT_DIR`环境变量指定. - -建议以扫描类型命名输出文件,并使用`gl-`作为前缀. 由于所有安全报告都是 JSON 文件,因此建议使用`.json`作为文件扩展名. 例如,"依赖关系扫描"报告的建议文件名是`gl-dependency-scanning.json` . - -作业定义的[`artifacts:reports`](../../ci/pipelines/job_artifacts.html#artifactsreports)关键字必须与编写"安全性"报告的文件路径一致. 例如,如果 Dependency Scanning 分析器将其报告写入 CI 项目目录,并且此报告文件名为`depscan.json` ,则必须将`artifacts:reports:dependency_scanning`设置为`depscan.json` . - -### Exit code[](#exit-code "Permalink") - -遵循 POSIX 退出代码标准,扫描仪将以 0 表示成功退出,以 1 到 255 之间的任何数字表示退出. 成功还包括发现漏洞的情况. - -使用[Docker-in-Docker 特权模式](../../user/application_security/sast/index.html#requirements)执行扫描作业时,我们保留以下标准退出代码. - -| 协调器退出代码 | Description | -| --- | --- | -| 3 | 没有匹配项,没有兼容的分析仪 | -| 4 | 项目目录为空 | -| 5 | 没有兼容的 Docker 映像 | - -### Logging[](#logging "Permalink") - -扫描程序应记录错误消息和警告,以便用户可以通过查看 CI 扫描作业的日志轻松调查配置错误和集成问题. - -扫描程序可以使用[ANSI 转义码](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors)来着色它们写入 Unix 标准输出和标准错误流的消息的颜色. 我们建议您使用红色报告错误,黄色使用警告,绿色使用通知. 此外,我们建议在错误消息前添加`[ERRO]` ,在警告前添加`[WARN]` ,在通知中添加`[INFO]` . - -#### Logging level[](#logging-level "Permalink") - -如果扫描程序的日志级别低于`SECURE_LOG_LEVEL`变量中设置的级别,则扫描器应筛选出一条日志消息. 例如,当`SECURE_LOG_LEVEL`设置为`error`时,应跳过`info`和`warn`消息. 可接受的值如下,从最高到最低列出: - -* `fatal` -* `error` -* `warn` -* `info` -* `debug` - -建议将`debug`级别用于详细日志记录,这在调试时可能会很有用. `SECURE_LOG_LEVEL`的默认值应设置为`info` . - -#### common logutil package[](#common-logutil-package "Permalink") - -如果您使用[go](https://s0golang0org.icopy.site/)和[common](https://gitlab.com/gitlab-org/security-products/analyzers/common) ,那么建议您使用[logrus](https://github.com/Sirupsen/logrus)和[common 的 logutil 软件包](https://gitlab.com/gitlab-org/security-products/analyzers/common/-/tree/master/logutil)为[logrus](https://github.com/Sirupsen/logrus)配置格式化[程序](https://github.com/Sirupsen/logrus) . 请参阅[logutil README.md](https://gitlab.com/gitlab-org/security-products/analyzers/common/-/tree/master/logutil/README.md) - -## Report[](#report "Permalink") - -该报告是 JSON 文档,其中结合了漏洞和可能的补救措施. - -本文档概述了报告 JSON 格式,以及帮助集成商设置其字段的建议和示例. 该格式在[SAST](../../user/application_security/sast/index.html#reports-json-format) , [依赖项扫描](../../user/application_security/dependency_scanning/index.html#reports-json-format)和[容器扫描](../../user/application_security/container_scanning/index.html#reports-json-format)的文档中进行了广泛描述. - -目前未记录报告 JSON 格式的 DAST 变体. - -### Version[](#version "Permalink") - -This field specifies the version of the report schema you are using. Please reference individual scanner pages for the specific versions to use. - -### Vulnerabilities[](#vulnerabilities "Permalink") - -报告的`vulnerabilities`字段是漏洞对象的数组. - -#### ID[](#id "Permalink") - -`id`字段是漏洞的唯一标识符. 它用于从[修复对象中](#remediations)引用固定的漏洞. 我们建议您生成一个 UUID 并将其用作`id`字段的值. - -#### Category[](#category "Permalink") - -`category`字段的值与报告类型匹配: `dependency_scanning` , `container_scanning` , `sast`和`dast` . - -#### Scanner[](#scanner "Permalink") - -`scanner`字段是一个嵌入人类可读`name`和技术`id` . 该`id`不应与其他集成商提供的其他扫描仪冲突. - -#### Name, message, and description[](#name-message-and-description "Permalink") - -`name`和`message`字段包含该漏洞的简短描述. `description`字段提供更多详细信息. - -`name`字段不受上下文限制,并且不包含有关在何处发现漏洞的`message` ,而`message`可能会重复该位置. - -作为一个直观的示例,此屏幕快照突出显示了在将漏洞作为管道视图的一部分查看时使用这些字段的位置. - -[![Example Vulnerability](img/c7126ad3e897b95ff53bc9300bce4d43.png)](example_vuln.png) - -For instance, a `message` for a vulnerability reported by Dependency Scanning gives information on the vulnerable dependency, which is redundant with the `location` field of the vulnerability. The `name` field is preferred but the `message` field is used when the context/location cannot be removed from the title of the vulnerability. - -为了说明这一点,这是一个由"依赖关系扫描"扫描器报告的示例漏洞对象,并且该`message`重复了`location`字段: - -``` -{ "location": { "dependency": { "package": { "name": "debug" } } }, "name": "Regular Expression Denial of Service", "message": "Regular Expression Denial of Service in debug", "description": "The debug module is vulnerable to regular expression denial of service - when untrusted user input is passed into the `o` formatter. - It takes around 50k characters to block for 2 seconds making this a low severity issue." } -``` - -该`description`可能会解释漏洞的工作方式或提供有关漏洞利用的上下文. 它不应重复漏洞对象的其他字段. 特别是,该`description`不应重复`location` (受影响的对象)或`solution` (如何减轻风险). - -#### Solution[](#solution "Permalink") - -您可以使用`solution`字段来指导用户如何解决已识别的漏洞或减轻风险. 最终用户与此字段进行交互,而 GitLab 会自动处理`remediations`对象. - -#### Identifiers[](#identifiers "Permalink") - -`identifiers`数组描述了检测到的漏洞. 标识符对象的`type`和`value`字段用于判断两个标识符是否相同. 用户界面使用对象的`name`和`url`字段显示标识符. - -建议重新使用 GitLab 扫描仪已经定义的标识符: - -| Identifier | Type | 示例值 | -| --- | --- | --- | -| [CVE](https://cve.mitre.org/cve/) | `cve` | CVE-2019-10086 | -| [CWE](https://cwe.mitre.org/data/index.html) | `cwe` | CWE-1026 | -| [OSVD](https://cve.mitre.org/data/refs/refmap/source-OSVDB.html) | `osvdb` | OSVDB-113928 | -| [USN](https://usn.ubuntu.com/) | `usn` | USN-4234-1 | -| [WASC](http://projects.webappsec.org/Threat-Classification-Reference-Grid) | `wasc` | WASC-19 | -| [RHSA](https://access.redhat.com/errata/#/) | `rhsa` | RHSA-2020:0111 | -| [ELSA](https://linux.oracle.com/security/) | `elsa` | ELSA-2020-0085 | - -上面列出的通用标识符在[公共库](https://gitlab.com/gitlab-org/security-products/analyzers/common)中定义,由 GitLab 维护的分析器共享. 如果需要,您可以[贡献](https://gitlab.com/gitlab-org/security-products/analyzers/common/blob/master/issue/identifier.go)新的通用标识符. 分析人员还可以生成特定于供应商或产品的标识符,这些标识符不属于[公共库](https://gitlab.com/gitlab-org/security-products/analyzers/common) . - -`identifiers`数组的第一项称为主要标识符. 主标识符特别重要,因为当新提交被推送到存储库时,它用于[跟踪漏洞](#tracking-and-merging-vulnerabilities) . 标识符还用于[合并](#tracking-and-merging-vulnerabilities)针对同一提交报告的[重复漏洞](#tracking-and-merging-vulnerabilities) ,但`CWE`和`WASC`除外. - -### Location[](#location "Permalink") - -该`location`指示检测到漏洞的`location` . 位置的格式取决于扫描的类型. - -在内部,GitLab 提取`location`一些属性以生成**位置指纹** ,该**指纹**用于在将新的提交推送到存储库时跟踪漏洞. 用于生成位置指纹的属性还取决于扫描的类型. - -#### Dependency Scanning[](#dependency-scanning "Permalink") - -该`location`依赖关系扫描漏洞是由的`dependency`和`file` . `dependency`对象描述了受影响的`package`和依赖项`version` . `package`嵌入受影响的库/模块的`name` . `file`是声明受影响的依赖项的依赖项文件的路径. - -例如,这是一个影响 npm 软件包[`handlebars`](https://s0www0npmjs0com.icopy.site/package/handlebars)版本`4.0.11`的漏洞的`location`对象: - -``` -{ "file": "client/package.json", "dependency": { "package": { "name": "handlebars" }, "version": "4.0.11" } } -``` - -受影响的依赖项列在`client/package.json` ,该文件由 npm 或 yarn 处理. - -The location fingerprint of a Dependency Scanning vulnerability combines the `file` and the package `name`, so these attributes are mandatory. All other attributes are optional. - -#### Container Scanning[](#container-scanning-1 "Permalink") - -与依赖性扫描相似,容器扫描漏洞的`location`具有`dependency`和`file` . 它还具有一个`operating_system`字段. - -例如,这是一个漏洞对象的`location`对象,该漏洞影响 Debian 软件包`glib2.0`版本`2.50.3-2+deb9u1` `glib2.0` : - -``` -{ "dependency": { "package": { "name": "glib2.0" }, }, "version": "2.50.3-2+deb9u1", "operating_system": "debian:9", "image": "registry.gitlab.com/example/app:latest" } -``` - -在扫描 Docker 镜像`registry.gitlab.com/example/app:latest`时找到受影响的软件包. Docker 映像基于`debian:9` (Debian Stretch). - -容器扫描漏洞的位置指纹结合了`operating_system`和程序包`name` ,因此这些属性是必需的. 该`image`也是必需的. 所有其他属性都是可选的. - -#### SAST[](#sast "Permalink") - -SAST 漏洞的`location`必须具有一个`file`和一个`start_line`字段,分别提供受影响文件的路径和受影响的行号. 它还可能有一个`end_line` ,一个`class`和一个`method` . - -例如,此处是`location`为一个安全漏洞对象发现在线路`41`的`src/main/java/com/gitlab/example/App.java` ,在`generateSecretToken`所述的方法`com.gitlab.security_products.tests.App` Java 类: - -``` -{ "file": "src/main/java/com/gitlab/example/App.java", "start_line": 41, "end_line": 41, "class": "com.gitlab.security_products.tests.App", "method": "generateSecretToken1" } -``` - -SAST 漏洞的位置指纹结合了`file` , `start_line`和`end_line` ,因此这些属性是必需的. 所有其他属性都是可选的. - -### Tracking and merging vulnerabilities[](#tracking-and-merging-vulnerabilities "Permalink") - -用户可以提供有关漏洞的反馈: - -* 如果该漏洞不适用于他们的项目,他们可能会忽略该漏洞 -* 如果存在潜在威胁,他们可能会导致漏洞问题 - -GitLab 跟踪漏洞,以便在将新的 Git 提交推送到存储库时不会丢失用户反馈. 使用以下三个属性的组合来跟踪漏洞: - -* [Report type](#category) -* [Location fingerprint](#location) -* [Primary identifier](#identifiers) - -目前,如果推送新 Git 提交时其位置发生变化,则 GitLab 无法跟踪漏洞,这会导致用户反馈丢失. 例如,如果重命名受影响的文件或受影响的行向下移动,则会丢失用户对 SAST 漏洞的反馈. [问题#7586 中](https://gitlab.com/gitlab-org/gitlab/-/issues/7586)已解决. - -在某些情况下,在同一 CI 管道中执行的多次扫描会导致重复生成,这些重复使用漏洞位置和标识符自动合并. 如果两个漏洞共享相同的[位置指纹](#location)和至少一个[标识符,](#identifiers)则认为这两个漏洞是相同的. 如果两个标识符共享相同的`type`和`id`则它们是相同的. 不考虑使用 CWE 和 WASC 标识符,因为它们描述了漏洞缺陷的类别,但没有描述特定的安全缺陷. - -#### Severity and confidence[](#severity-and-confidence "Permalink") - -`severity`字段描述了漏洞对软件的影响`severity` ,而`confidence`字段描述了漏洞评估的可靠性. 严重性用于对安全性仪表板中的漏洞进行排序. - -严重性的范围从" `Info`到" `Critical` ,但也可以是" `Unknown` . 有效值为: `Unknown` , `Info` , `Low` , `Medium` , `High`或`Critical` - -置信度范围从`Low`到`Confirmed` ,但是如果要忽略此漏洞,也可以是`Unknown` , `Experimental`甚至`Ignore` . 有效值为: `Ignore` , `Unknown` , `Experimental` , `Low` , `Medium` , `High`或`Confirmed` - -`Unknown`值意味着无法获得数据来确定其实际值. 因此,它可能是`high` , `medium`或`low` ,需要进行调查. 我们[提供了](../../user/application_security/sast/analyzers.html#analyzers-data)可用的 SAST 分析仪以及当前可用的数据[的图表](../../user/application_security/sast/analyzers.html#analyzers-data) . - -### Remediations[](#remediations "Permalink") - -报告的" `remediations`字段是补救对象的数组. 每个补救措施都描述了一个补丁,可将其应用来[自动修复](../../user/application_security/#solutions-for-vulnerabilities-auto-remediation)一组漏洞. - -这是包含补救措施的报告示例. - -``` -{ "vulnerabilities": [ { "category": "dependency_scanning", "name": "Regular Expression Denial of Service", "id": "123e4567-e89b-12d3-a456-426655440000", "solution": "Upgrade to new versions.", "scanner": { "id": "gemnasium", "name": "Gemnasium" }, "identifiers": [ { "type": "gemnasium", "name": "Gemnasium-642735a5-1425-428d-8d4e-3c854885a3c9", "value": "642735a5-1425-428d-8d4e-3c854885a3c9" } ] } ], "remediations": [ { "fixes": [ { "id": "123e4567-e89b-12d3-a456-426655440000" } ], "summary": "Upgrade to new version", "diff": "ZGlmZiAtLWdpdCBhL3lhcm4ubG9jayBiL3lhcm4ubG9jawppbmRleCAwZWNjOTJmLi43ZmE0NTU0IDEwMDY0NAotLS0gYS95Y==" } ] } -``` - -#### Summary[](#summary "Permalink") - -`summary`字段概述了如何修复漏洞. 这是必填栏. - -#### Fixed vulnerabilities[](#fixed-vulnerabilities "Permalink") - -`fixes`字段是一组对象,这些对象引用了补救措施所修复的漏洞. `fixes[].id`包含一个固定漏洞的[唯一标识符](#id) . 这是必填栏. - -#### Diff[](#diff "Permalink") - -`diff`字段是 base64 编码的补救代码 diff,与[`git apply`](https://git-scm.com/docs/git-format-patch#_discussion)兼容. 这是必填栏. - -## Limitations[](#limitations "Permalink") - -### Container Scanning[](#container-scanning-2 "Permalink") - -容器扫描当前具有以下限制: - -* 尽管"安全仪表板"可以显示来自多个图像的扫描结果,但是,如果多个漏洞具有相同的指纹,则仅显示该漏洞的第一个实例. 我们正在努力消除这一限制. 您可以关注我们的问题[更改容器扫描的位置指纹](https://gitlab.com/gitlab-org/gitlab/-/issues/215466)问题的进展. -* 不同的扫描程序可能各自报告相同的漏洞,从而导致重复的发现. \ No newline at end of file diff --git a/docs/061.md b/docs/061.md deleted file mode 100644 index b22dd5c..0000000 --- a/docs/061.md +++ /dev/null @@ -1,59 +0,0 @@ -# Badges - -> 原文:[https://docs.gitlab.com/ee/user/project/badges.html](https://docs.gitlab.com/ee/user/project/badges.html) - -* [Project badges](#project-badges) -* [Group badges](#group-badges) -* [Placeholders](#placeholders) -* [API](#api) - -# Badges[](#badges "Permalink") - -在 GitLab 10.7 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/41174) . - -徽章是呈现有关您的项目的简要信息的统一方法. 它们由一个小图像以及该图像指向的 URL 组成. 徽章的示例可以是[管道状态](../../ci/pipelines/settings.html#pipeline-status-badge) , [测试范围](../../ci/pipelines/settings.html#test-coverage-report-badge)或与项目维护者联系的方式. - -[![Badges on Project overview page](img/0e0e78d03e98ec2ac04952defaba83ff.png)](img/project_overview_badges.png) - -## Project badges[](#project-badges "Permalink") - -维护者或所有者可以将徽章添加到项目中,然后在项目的概述页面上可见. 如果发现必须将相同的徽标添加到多个项目,则可能需要在[组级别](#group-badges)添加它们. - -要将新徽章添加到项目: - -1. 导航到项目的**设置>常规>徽章** . -2. 在"链接"下,输入徽章应指向的 URL,在"徽章图像 URL"下输入应显示的图像的 URL. -3. 通过单击**添加徽章**按钮来提交**徽章** . - -将徽章添加到项目后,您可以在表单下方的列表中看到它. 您可以通过单击旁边的笔图标进行编辑,也可以通过单击垃圾箱图标将其删除. - -与组关联的徽章只能在[组级别](#group-badges)上进行编辑或删除. - -## Group badges[](#group-badges "Permalink") - -可以将徽章添加到组中,然后将在该组下的每个项目的概述页面上看到它们. 在这种情况下,无法在项目级别上对其进行编辑或删除. 如果每个项目需要单独的徽章,请考虑将其添加到[项目级别](#project-badges)或使用[占位符](#placeholders) . - -要将新徽章添加到组: - -1. 导航到组的**"设置">"常规">"徽章"** . -2. 在"链接"下,输入徽章应指向的 URL,在"徽章图像 URL"下输入应显示的图像的 URL. -3. 通过单击**添加徽章**按钮来提交**徽章** . - -将徽章添加到组后,您可以在表格下方的列表中看到它. 您可以通过单击徽章旁边的笔图标来编辑徽章,也可以通过单击垃圾箱图标来删除徽章. - -与项目直接关联的徽章可以在[项目级别](#project-badges)上配置. - -## Placeholders[](#placeholders "Permalink") - -徽章指向的 URL 以及图像 URL 可以包含占位符,在显示徽章时将对其进行评估. 可以使用以下占位符: - -* `%{project_path}` :包含父组的项目的路径 -* `%{project_id}` :与项目关联的数据库 ID -* `%{default_branch}` :为项目存储库配置的默认分支名称 -* `%{commit_sha}` :对项目存储库的默认分支的最新提交的 ID - -**Note:** Placeholders allow badges to expose otherwise-private information, such as the default branch or commit SHA when the project is configured to have a private repository. This is by design, as badges are intended to be used publicly. Avoid using these placeholders if the information is sensitive. - -## API[](#api "Permalink") - -您还可以通过 GitLab API 配置徽章. 与设置一样,在[项目级别](../../api/project_badges.html)和[组级别的](../../api/group_badges.html)徽章端点之间也有所区别. \ No newline at end of file diff --git a/docs/062.md b/docs/062.md deleted file mode 100644 index 26d06c4..0000000 --- a/docs/062.md +++ /dev/null @@ -1,56 +0,0 @@ -# Bulk editing issues and merge requests at the project level - -> 原文:[https://docs.gitlab.com/ee/user/project/bulk_editing.html](https://docs.gitlab.com/ee/user/project/bulk_editing.html) - -* [Bulk edit issues at the project level](#bulk-edit-issues-at-the-project-level) -* [Bulk edit merge requests at the project level](#bulk-edit-merge-requests-at-the-project-level) - -# Bulk editing issues and merge requests at the project level[](#bulk-editing-issues-and-merge-requests-at-the-project-level "Permalink") - -**注意:**批量编辑问题,史诗和合并请求在**组级别**也可用. 有关更多详细信息,请参阅[在组级别批量编辑问题,史诗和合并请求](../group/bulk_editing/index.html) . - -如果要跨多个问题更新属性或合并请求,则可以通过批量编辑它们,即一起编辑它们来完成. - -[![Bulk editing](img/5b2694c5d35f9fdb42b43bb1f38ec29c.png)](img/bulk-editing_v13_2.png) - -## Bulk edit issues at the project level[](#bulk-edit-issues-at-the-project-level "Permalink") - -**注意:**您需要具有[Reporter 或更高](../permissions.html)级别的权限才能管理问题. - -When bulk editing issues in a project, you can edit the following attributes: - -* 状态(打开/关闭) -* Assignee -* Epic(在[GitLab Premium](https://about.gitlab.com/pricing/) 13.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/210470) ) -* Milestone -* Labels -* 健康状况(在[GitLab Ultimate](https://about.gitlab.com/pricing/) 13.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/218395) ) -* Subscriptions - -要同时更新多个项目问题: - -1. 在一个项目中,转到 **问题>列表** . -2. 点击**编辑问题** . 屏幕右侧的侧边栏显示,其中包含可编辑的字段. -3. 选中要编辑的每个问题旁边的复选框. -4. 从边栏中选择适当的字段及其值. -5. Click **全部更新**. - -## Bulk edit merge requests at the project level[](#bulk-edit-merge-requests-at-the-project-level "Permalink") - -**注意:**您需要[开发人员或更高](../permissions.html)级别的权限才能管理合并请求. - -在项目中批量编辑合并请求时,可以编辑以下属性: - -* 状态(打开/关闭) -* Assignee -* Milestone -* Labels -* Subscriptions - -要同时更新多个项目合并请求: - -1. 在一个项目中,转到 **合并请求** . -2. 单击**编辑合并请求** . 屏幕右侧的侧边栏显示,其中包含可编辑的字段. -3. 选中要编辑的每个合并请求旁边的复选框. -4. 从边栏中选择适当的字段及其值. -5. Click **全部更新**. \ No newline at end of file diff --git a/docs/063.md b/docs/063.md deleted file mode 100644 index 5ddfd6a..0000000 --- a/docs/063.md +++ /dev/null @@ -1,151 +0,0 @@ -# Code Owners - -> 原文:[https://docs.gitlab.com/ee/user/project/code_owners.html](https://docs.gitlab.com/ee/user/project/code_owners.html) - -* [Introduction](#introduction) -* [Why is this useful?](#why-is-this-useful) -* [How to set up Code Owners](#how-to-set-up-code-owners) -* [Approvals by Code Owners](#approvals-by-code-owners) -* [The syntax of Code Owners files](#the-syntax-of-code-owners-files) - -# Code Owners[](#code-owners-starter "Permalink") - -版本历史 - -* 在[GitLab Starter](https://about.gitlab.com/pricing/) 11.3 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6916) . -* [支持](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/53182)在 GitLab Starter 12.1 中添加的[组名称空间](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/53182) . -* 在[GitLab Premium](https://about.gitlab.com/pricing/) 11.9 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/4418)了用于合并请求批准的代码所有者. - -## Introduction[](#introduction "Permalink") - -在为项目做贡献时,通常很难找出谁应该审查或批准合并请求. 此外,如果您对特定文件或代码块有疑问,可能很难知道从谁那里找到答案. - -GitLab 代码所有者是一项功能,用于定义谁拥有存储库中的特定文件或路径,从而允许其他用户了解谁对每个文件或路径负责. - -## Why is this useful?[](#why-is-this-useful "Permalink") - -代码所有者允许使用版本控制的单个真实文件源,该文件概述了拥有存储库中某些文件或路径的确切 GitLab 用户或组. 可以在合并请求批准过程中利用代码所有者,该过程可以简化为给定合并请求找到合适的审阅者和批准者的过程. - -在大型组织或流行的开源项目中,如果您遇到的问题可能与代码审查或合并请求批准无关,则代码所有者还可以帮助您了解与谁联系. - -## How to set up Code Owners[](#how-to-set-up-code-owners "Permalink") - -您可以使用`CODEOWNERS`文件来指定负责存储库中某些文件的用户或[共享组](members/share_project_with_groups.html) . - -您可以在三个位置选择并添加`CODEOWNERS`文件: - -* 到存储库的根目录 -* 在`.gitlab/`目录中 -* 在`docs/`目录中 - -The `CODEOWNERS` file is scoped to a branch, which means that with the introduction of new files, the person adding the new content can specify themselves as a code owner, all before the new changes get merged to the default branch. - -当一个文件与`CODEOWNERS`文件中的多个条目匹配时,与该文件匹配的上一个模式的用户将显示在给定文件的 Blob 页面上. 例如,您具有以下`CODEOWNERS`文件: - -``` -README.md @user1 - -# This line would also match the file README.md -*.md @user2 -``` - -将显示`README.md`的用户为`@user2` . - -## Approvals by Code Owners[](#approvals-by-code-owners "Permalink") - -将"代码所有者"设置为项目后,可以将其配置为用于合并请求批准: - -* As [merge request eligible approvers](merge_requests/merge_request_approvals.html#code-owners-as-eligible-approvers). -* 根据需要批准[分支机构](protected_branches.html#protected-branches-approval-by-code-owners-premium) . - -**注意** :为了批准合并请求,需要开发人员或更高[权限](../permissions.html) . - -设置后,"代码所有者"将显示在合并请求小部件中: - -[![MR widget - Code Owners](img/6deba2d9890a294d17564cce39fcbaef.png)](img/code_owners_mr_widget_v12_4.png) - -尽管`CODEOWNERS`文件除了可以用于合并请求[批准规则之外](merge_requests/merge_request_approvals.html#approval-rules) ,还可以用作合并请求批准的唯一驱动程序(不使用[批准规则](merge_requests/merge_request_approvals.html#approval-rules) ). 为此,请在上面指定的三个位置之一中创建文件,并将代码所有者设置为[受保护分支的](protected_branches.html#protected-branches-approval-by-code-owners-premium)必需批准者. 使用[代码所有者文件的语法](code_owners.html#the-syntax-of-code-owners-files)来指定实际所有者和精细权限. - -结合使用"代码所有者"和" [受保护的分支机构批准",](protected_branches.html#protected-branches-approval-by-code-owners-premium)将防止在`CODEOWNERS`文件中未指定的任何用户推送对指定文件/路径的更改,即使其角色包含在" **允许推送"**列中. 这允许采用更具包容性的推送策略,因为管理员不必限制开发人员直接将其推送到受保护的分支,而可以将推送限制到某些需要代码所有者审查的文件. - -## The syntax of Code Owners files[](#the-syntax-of-code-owners-files "Permalink") - -可以使用与`.gitignore`文件中使用的相同类型的模式来指定文件,然后使用一个或多个用户的`@username`或电子邮件或应作为文件所有者的一个或多个组的`@name`进行指定. 必须将组添加为[项目的成员](members/index.html) ,否则它们将被忽略. - -从[GitLab 13.0](https://gitlab.com/gitlab-org/gitlab/-/issues/32432)开始,您现在可以将项目组层次结构中的组或子组指定为潜在的代码所有者. - -例如,考虑给定项目的以下层次结构: - -``` -group >> sub-group >> sub-subgroup >> myproject >> file.md -``` - -以下任何组都可以被指定为代码所有者: - -* `@group` -* `@group/sub-group` -* `@group/sub-group/sub-subgroup` - -此外,使用" **成员"**工具邀请到项目的任何组也将被视为合格的代码所有者. - -定义路径的顺序很重要:与给定路径匹配的最后一个模式将用于查找代码所有者. - -以`#`开头的行表示注释. 需要使用`\#`对其进行转义,以寻址其名称以`#`开头的文件. - -Example `CODEOWNERS` file: - -``` -# This is an example of a code owners file -# lines starting with a `#` will be ignored. - -# app/ @commented-rule - -# We can specify a default match using wildcards: -* @default-codeowner - -# We can also specify "multiple tab or space" separated codeowners: -* @multiple @code @owners - -# Rules defined later in the file take precedence over the rules -# defined before. -# This will match all files for which the file name ends in `.rb` -*.rb @ruby-owner - -# Files with a `#` can still be accessed by escaping the pound sign -\#file_with_pound.rb @owner-file-with-pound - -# Multiple codeowners can be specified, separated by spaces or tabs -# In the following case the CODEOWNERS file from the root of the repo -# has 3 code owners (@multiple @code @owners) -CODEOWNERS @multiple @code @owners - -# Both usernames or email addresses can be used to match -# users. Everything else will be ignored. For example this will -# specify `@legal` and a user with email `janedoe@gitlab.com` as the -# owner for the LICENSE file -LICENSE @legal this_does_not_match janedoe@gitlab.com - -# Group names can be used to match groups and nested groups to specify -# them as owners for a file -README @group @group/with-nested/subgroup - -# Ending a path in a `/` will specify the code owners for every file -# nested in that directory, on any level -/docs/ @all-docs - -# Ending a path in `/*` will specify code owners for every file in -# that directory, but not nested deeper. This will match -# `docs/index.md` but not `docs/projects/index.md` -/docs/* @root-docs - -# This will make a `lib` directory nested anywhere in the repository -# match -lib/ @lib-owner - -# This will only match a `config` directory in the root of the -# repository -/config/ @config-owner - -# If the path contains spaces, these need to be escaped like this: -path\ with\ spaces/ @space-owner -``` \ No newline at end of file diff --git a/docs/064.md b/docs/064.md deleted file mode 100644 index 737b164..0000000 --- a/docs/064.md +++ /dev/null @@ -1,10 +0,0 @@ -# Compliance - -> 原文:[https://docs.gitlab.com/ee/user/compliance/](https://docs.gitlab.com/ee/user/compliance/) - -# Compliance[](#compliance-ultimate "Permalink") - -GitLab 提供的合规性工具可让您随时关注项目的各个方面. 可以使用以下合规工具: - -* [Compliance Dashboard](compliance_dashboard/index.html) :查看组中所有项目的最近合并请求活动. 这使您可以查看合并请求是否被批准以及由谁批准. -* [许可证合规性](license_compliance/index.html) :在项目的依存关系中搜索其许可证. 这样,您可以确定项目依赖项的许可证是否与项目的许可证兼容. \ No newline at end of file diff --git a/docs/065.md b/docs/065.md deleted file mode 100644 index 2de665c..0000000 --- a/docs/065.md +++ /dev/null @@ -1,639 +0,0 @@ -# License Compliance - -> 原文:[https://docs.gitlab.com/ee/user/compliance/license_compliance/](https://docs.gitlab.com/ee/user/compliance/license_compliance/) - -* [Overview](#overview) -* [Use cases](#use-cases) -* [Supported languages and package managers](#supported-languages-and-package-managers) - * [Experimental support](#experimental-support) -* [Requirements](#requirements) -* [Configuration](#configuration) - * [Available variables](#available-variables) - * [Installing custom dependencies](#installing-custom-dependencies) - * [Overriding the template](#overriding-the-template) - * [Configuring Maven projects](#configuring-maven-projects) - * [Using private Maven repos](#using-private-maven-repos) - * [Selecting the version of Python](#selecting-the-version-of-python) - * [Custom root certificates for Python](#custom-root-certificates-for-python) - * [Using private Python repos](#using-private-python-repos) - * [Configuring NPM projects](#configuring-npm-projects) - * [Using private NPM registries](#using-private-npm-registries) - * [Custom root certificates for NPM](#custom-root-certificates-for-npm) - * [Configuring Yarn projects](#configuring-yarn-projects) - * [Using private Yarn registries](#using-private-yarn-registries) - * [Custom root certificates for Yarn](#custom-root-certificates-for-yarn) - * [Configuring Bower projects](#configuring-bower-projects) - * [Using private Bower registries](#using-private-bower-registries) - * [Custom root certificates for Bower](#custom-root-certificates-for-bower) - * [Using private Bundler registries](#using-private-bundler-registries) - * [Custom root certificates for Bundler](#custom-root-certificates-for-bundler) - * [Configuring Conan projects](#configuring-conan-projects) - * [Using private Conan registries](#using-private-conan-registries) - * [Custom root certificates for Conan](#custom-root-certificates-for-conan) - * [Configuring Go projects](#configuring-go-projects) - * [Using private Go registries](#using-private-go-registries) - * [Custom root certificates for Go](#custom-root-certificates-for-go) - * [Using private NuGet registries](#using-private-nuget-registries) - * [Custom root certificates for NuGet](#custom-root-certificates-for-nuget) - * [Migration from `license_management` to `license_scanning`](#migration-from-license_management-to-license_scanning) -* [Running License Compliance in an offline environment](#running-license-compliance-in-an-offline-environment) - * [Requirements for offline License Compliance](#requirements-for-offline-license-compliance) - * [Make GitLab License Compliance analyzer images available inside your Docker registry](#make-gitlab-license-compliance-analyzer-images-available-inside-your-docker-registry) - * [Set License Compliance CI job variables to use local License Compliance analyzers](#set-license-compliance-ci-job-variables-to-use-local-license-compliance-analyzers) -* [License list](#license-list) -* [Policies](#policies) - * [Enabling License Approvals within a project](#enabling-license-approvals-within-a-project) -* [Troubleshooting](#troubleshooting) - * [`ERROR -- : asdf: No preset version installed for command`](#error-----asdf-no-preset-version-installed-for-command) - -# License Compliance[](#license-compliance-ultimate "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/5483) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 11.0. - -## Overview[](#overview "Permalink") - -如果您使用的是[GitLab CI / CD](../../../ci/README.html) ,则可以使用许可证合规性在项目依赖项中搜索其许可证. - -您可以通过[将作业包括](#configuration)在现有的`.gitlab-ci.yml`文件中,或者隐式使用[Auto DevOps](../../../topics/autodevops/index.html)提供的[自动](../../../topics/autodevops/index.html) [许可证合规性](../../../topics/autodevops/stages.html#auto-license-compliance-ultimate)来利用[许可证合规性](../../../topics/autodevops/stages.html#auto-license-compliance-ultimate) . - -GitLab 检查"许可证合规性"报告,比较源分支机构和目标分支机构之间的许可证,并在合并请求中显示信息. 拒绝许可证将有清晰可见的`x`红色图标旁边还有哪些需要从你决定新的许可证. 此外,您可以在项目的许可证合规性政策部分中[手动允许或拒绝](#policies)许可证. - -**注意:**如果许可证合规性报告没有可比较的内容,则合并请求区域中将不会显示任何信息. 第一次在`.gitlab-ci.yml`添加`license_scanning`作业时就是这种情况. 连续的合并请求将具有可比性,并且许可证合规性报告将正确显示. - -[![License Compliance Widget](img/89c2a0a388333182ff39563629933a87.png)](img/license_compliance_v13_0.png) - -如果您是项目或组维护者,则可以单击许可证以选择允许或拒绝. - -[![License approval decision](img/28ec7a2f016b77873dfadd5ab59c447b.png)](img/license_compliance_decision_v13_0.png) - -当 GitLab 检测到**拒绝的**许可证时,您可以在[许可证列表中](#license-list)查看它. - -[![License List](img/dc75662feab34ea9fa5cb187a2d77739.png)](img/license_list_v13_0.png) - -您可以从" [策略"](#policies)选项卡查看和修改现有策略. - -[![Edit Policy](img/e545dd77cf453f5a97873da4f0083ebb.png)](img/policies_maintainer_edit_v13_2.png) - -## Use cases[](#use-cases "Permalink") - -It helps you find what licenses your project uses in its dependencies, and decide for each of then whether to allow it or forbid it. For example, your application is using an external (open source) library whose license is incompatible with yours. - -## Supported languages and package managers[](#supported-languages-and-package-managers "Permalink") - -支持以下语言和程序包管理器. - -| Language | 包装经理 | 扫描工具 | -| --- | --- | --- | -| JavaScript | [Bower](https://bower.io/), [npm](https://s0www0npmjs0com.icopy.site/) | [License Finder](https://github.com/pivotal/LicenseFinder) | -| Go | [Godep](https://github.com/tools/godep), [go mod](https://github.com/golang/go/wiki/Modules) | [License Finder](https://github.com/pivotal/LicenseFinder) | -| Java | [Gradle](https://s0gradle0org.icopy.site/), [Maven](https://maven.apache.org/) | [License Finder](https://github.com/pivotal/LicenseFinder) | -| .NET | [Nuget](https://www.nuget.org/) (.NET Framework 通过[mono 项目](https://www.mono-project.com/)支持.目前不支持 Windows 特定的依赖项.) | [License Finder](https://github.com/pivotal/LicenseFinder) | -| Python | [pip](https://pip.pypa.io/en/stable/) (通过[requirements.txt](https://pip.pypa.io/en/stable/user_guide/#requirements-files)和[Pipfile.lock](https://github.com/pypa/pipfile#pipfilelock)支持 Python.) | [License Finder](https://github.com/pivotal/LicenseFinder) | -| Ruby | [gem](https://rubygems.org/) | [License Finder](https://github.com/pivotal/LicenseFinder) | -| 的 Objective-C,斯威夫特 | [Carthage](https://github.com/Carthage/Carthage) | [License Finder](https://github.com/pivotal/LicenseFinder) | - -**Note:** - -不支持 Java 8 和 Gradle 1.x 项目. - -### Experimental support[](#experimental-support "Permalink") - -[实验性支持](https://github.com/pivotal/LicenseFinder#experimental-project-types)以下语言和程序包管理器,这意味着报告的许可证可能不完整或不准确. - -| Language | 包装经理 | 扫描工具 | -| --- | --- | --- | -| JavaScript | [yarn](https://yarnpkg.com/) | [License Finder](https://github.com/pivotal/LicenseFinder) | -| Go | 去获取,gvt,滑行,部门,垃圾,govendor | [License Finder](https://github.com/pivotal/LicenseFinder) | -| Erlang | [rebar](https://www.rebar3.org/) | [License Finder](https://github.com/pivotal/LicenseFinder) | -| 的 Objective-C,斯威夫特 | [CocoaPods](https://cocoapods.org/) v0.39 及以下 | [License Finder](https://github.com/pivotal/LicenseFinder) | -| Elixir | [mix](https://s0elixir-lang0org.icopy.site/getting-started/mix-otp/introduction-to-mix.html) | [License Finder](https://github.com/pivotal/LicenseFinder) | -| C++/C | [conan](https://conan.io/) | [License Finder](https://github.com/pivotal/LicenseFinder) | -| Scala | [sbt](https://www.scala-sbt.org/) | [License Finder](https://github.com/pivotal/LicenseFinder) | -| Rust | [cargo](https://crates.io) | [License Finder](https://github.com/pivotal/LicenseFinder) | -| PHP | [composer](https://s0getcomposer0org.icopy.site/) | [License Finder](https://github.com/pivotal/LicenseFinder) | - -## Requirements[](#requirements "Permalink") - -要运行许可证合规性扫描作业,您需要具有[`docker` executor 的](https://docs.gitlab.com/runner/executors/docker.html) GitLab Runner. - -## Configuration[](#configuration "Permalink") - -对于 GitLab 12.8 及更高版本,要启用许可证合规性,您必须[包括](../../../ci/yaml/README.html#includetemplate)在 GitLab 安装过程中提供的[`License-Scanning.gitlab-ci.yml`模板](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Security/License-Scanning.gitlab-ci.yml) . 对于从 11.9 到 12.7 的较旧版本的 GitLab,您必须[包括](../../../ci/yaml/README.html#includetemplate) [`License-Management.gitlab-ci.yml`模板](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Security/License-Management.gitlab-ci.yml) . 对于 11.9 之前的 GitLab 版本,您可以复制和使用该模板中定义的作业. - -**注意:** GitLab 13.0 删除了`License-Management.gitlab-ci.yml`模板. 请改用`License-Scanning.gitlab-ci.yml` . - -将以下内容添加到您的`.gitlab-ci.yml`文件中: - -``` -include: - - template: License-Scanning.gitlab-ci.yml -``` - -The included template will create a `license_scanning` job in your CI/CD pipeline and scan your dependencies to find their licenses. - -**注意:**在 GitLab 12.8 之前, `license_scanning`作业名为`license_management` . GitLab 13.0 删除了`license_management`作业,因此建议您迁移到`license_scanning`作业,并使用新的`License-Scanning.gitlab-ci.yml`模板. - -结果将保存为" [许可证合规性"报告工件](../../../ci/pipelines/job_artifacts.html#artifactsreportslicense_scanning-ultimate) ,您以后可以下载和分析该[工件](../../../ci/pipelines/job_artifacts.html#artifactsreportslicense_scanning-ultimate) . 由于实施限制,我们始终采用最新的许可证合规性工件. 在后台, [GitLab 许可证合规性 Docker 映像](https://gitlab.com/gitlab-org/security-products/license-management)用于检测语言/框架,进而分析许可证. - -可以使用`.gitlab-ci.yml`的[`variables`](../../../ci/yaml/README.html#variables)参数通过[环境变量](#available-variables)来更改许可合规性设置. - -### Available variables[](#available-variables "Permalink") - -可以使用环境变量来配置许可证合规性. - -| 环境变量 | Required | Description | -| --- | --- | --- | -| `ADDITIONAL_CA_CERT_BUNDLE` | no | 捆绑的可信 CA 证书(当前在 Pip,Pipenv,Maven,Gradle,Yarn 和 NPM 项目中受支持). | -| `ASDF_JAVA_VERSION` | no | 用于扫描的 Java 版本. | -| `ASDF_NODEJS_VERSION` | no | 用于扫描的 Node.js 版本. | -| `ASDF_PYTHON_VERSION` | no | 用于扫描的 Python 版本. | -| `ASDF_RUBY_VERSION` | no | 用于扫描的 Ruby 版本. | -| `GRADLE_CLI_OPTS` | no | gradle 可执行文件的其他参数. 如果未提供,则默认为`--exclude-task=test` . | -| `LICENSE_FINDER_CLI_OPTS` | no | `license_finder`可执行文件的其他参数. 例如,如果您的项目同时在不同的目录中存储了 Golang 和 Ruby 代码,并且您只想扫描 Ruby 代码,则可以更新`.gitlab-ci-yml`模板以指定要扫描的项目目录,例如`LICENSE_FINDER_CLI_OPTS: '--debug --aggregate-paths=. ruby'` `LICENSE_FINDER_CLI_OPTS: '--debug --aggregate-paths=. ruby'` . | -| `LM_JAVA_VERSION` | no | Java 版本. 如果设置为`11` ,则 Maven 和 Gradle 使用 Java 11 而不是 Java 8. | -| `LM_PYTHON_VERSION` | no | Python 版本. 如果设置为`3` ,则将使用 Python 3 而非 Python 2.7 安装依赖项. | -| `MAVEN_CLI_OPTS` | no | mvn 可执行文件的附加参数. 如果未提供,则默认为`-DskipTests` . | -| `PIP_INDEX_URL` | no | Python 软件包索引的基本 URL(默认值: `https://pypi.org/simple/` : `https://pypi.org/simple/` ). | -| `SECURE_ANALYZERS_PREFIX` | no | 设置 Docker 注册表基地址以从中下载分析器. | -| `SETUP_CMD` | no | 依赖项安装的自定义设置(实验性). | - -### Installing custom dependencies[](#installing-custom-dependencies "Permalink") - -在[GitLab Ultimate](https://about.gitlab.com/pricing/) 11.4 中引入. - -`license_management`映像已经嵌入了许多自动检测脚本,语言和软件包. 但是,几乎不可能涵盖所有项目的所有案例. 这就是为什么有时需要安装额外的程序包,或在项目自动设置中进行额外步骤的原因,例如证书的下载和安装. 为此,可以将`LICENSE_MANAGEMENT_SETUP_CMD`环境变量与所需的命令一起传递到容器,以在许可证检测之前运行. - -如果存在,则此变量将覆盖安装应用程序所有软件包所必需的设置步骤(例如:对于具有`Gemfile`的项目,设置步骤可以为`bundle install` ). - -例如: - -``` -include: - - template: License-Scanning.gitlab-ci.yml - -variables: - LICENSE_MANAGEMENT_SETUP_CMD: sh my-custom-install-script.sh -``` - -在此示例中, `my-custom-install-script.sh`是项目根目录下的 shell 脚本. - -### Overriding the template[](#overriding-the-template "Permalink") - -**弃用:**从 GitLab 13.0 开始,不再支持[`only`和`except`](../../../ci/yaml/README.html#onlyexcept-basic)的使用. 覆盖模板时,必须使用[`rules`](../../../ci/yaml/README.html#rules) . - -如果要覆盖作业定义(例如,更改诸如`variables`或`dependencies`类的属性),则需要在包含模板之后声明一个`license_scanning`作业,并在其下指定任何其他键. 例如: - -``` -include: - - template: License-Scanning.gitlab-ci.yml - -license_scanning: - variables: - CI_DEBUG_TRACE: "true" -``` - -### Configuring Maven projects[](#configuring-maven-projects "Permalink") - -许可证合规性工具提供了一个`MAVEN_CLI_OPTS`环境变量,该变量可以保存命令行参数,以传递给在`MAVEN_CLI_OPTS`执行的`mvn install`命令. 随意使用它来定制 Maven 执行. 例如: - -``` -include: - - template: License-Scanning.gitlab-ci.yml - -license_scanning: - variables: - MAVEN_CLI_OPTS: --debug -``` - -`mvn install`过所有的运行[构建生命周期](http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html)前阶段的`install` ,包括`test` . 出于许可证扫描的目的,运行单元测试不是直接必要的,并且会浪费时间,因此可以通过将`MAVEN_CLI_OPTS`的默认值`MAVEN_CLI_OPTS`为`-DskipTests`跳过它. 如果要提供自定义的`MAVEN_CLI_OPTS`并同时跳过测试,请不要忘记将`-DskipTests`显式添加到您的选项中. 如果在`mvn install`期间仍然需要运行测试,则将`-DskipTests=false`添加到`MAVEN_CLI_OPTS` . - -#### Using private Maven repos[](#using-private-maven-repos "Permalink") - -如果您有需要登录凭据的私有 Maven 存储库,则可以使用`MAVEN_CLI_OPTS`环境变量. - -阅读更多有关[如何使用私有 Maven 仓库的信息](../../application_security/index.html#using-private-maven-repos) . - -您还可以使用`MAVEN_CLI_OPTS`连接到使用自签名或内部受信任证书的受信任 Maven 存储库. 例如: - -``` -include: - - template: License-Scanning.gitlab-ci.yml - -license_scanning: - variables: - MAVEN_CLI_OPTS: -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true -Dmaven.wagon.http.ssl.insecure=true -``` - -或者,您可以使用 Java 密钥存储来验证 TLS 连接. 有关如何生成密钥存储文件的说明,请参阅《 [Maven 通过身份验证的 HTTPS 进行远程存储库访问指南》](http://maven.apache.org/guides/mini/guide-repository-ssl.html) . - -### Selecting the version of Python[](#selecting-the-version-of-python "Permalink") - -版本历史 - -* 在[GitLab Ultimate](https://about.gitlab.com/pricing/) 12.0 中[引入](https://gitlab.com/gitlab-org/security-products/license-management/-/merge_requests/36) . -* 在[GitLab 12.2 中](https://gitlab.com/gitlab-org/gitlab/-/issues/12032) ,Python 3.5 成为默认设置. -* 在[GitLab 12.7 中](https://gitlab.com/gitlab-org/security-products/license-management/-/merge_requests/101) ,Python 3.8 成为默认设置. - -默认情况下,许可证合规性使用 Python 3.8 和 pip 19.1\. 如果您的项目需要 Python 2,则可以通过将`LM_PYTHON_VERSION`环境变量设置为`2`来切换到 Python 2.7 和 pip 10.0. - -``` -include: - - template: License-Scanning.gitlab-ci.yml - -license_scanning: - variables: - LM_PYTHON_VERSION: 2 -``` - -### Custom root certificates for Python[](#custom-root-certificates-for-python "Permalink") - -您可以使用`ADDITIONAL_CA_CERT_BUNDLE` [环境变量](#available-variables)提供自定义根证书来完成 TLS 验证. - -要绕过 TLS 验证,可以使用自定义[`pip.conf`](https://pip.pypa.io/en/stable/user_guide/#config-file)文件来配置受信任的主机. - -以下`gitlab-ci.yml`文件使用[`before_script`](../../../ci/yaml/README.html#before_script-and-after_script)注入自定义[`pip.conf`](https://pip.pypa.io/en/stable/user_guide/#config-file) : - -``` -include: - - template: License-Scanning.gitlab-ci.yml - -license_scanning: - variables: - PIP_INDEX_URL: 'https://pypi.example.com/simple/' - before_script: - - mkdir -p ~/.config/pip/ - - cp pip.conf ~/.config/pip/pip.conf -``` - -[`pip.conf`](https://pip.pypa.io/en/stable/reference/pip/)允许您指定[受信任主机](https://pip.pypa.io/en/stable/reference/pip/#cmdoption-trusted-host)的列表: - -``` -[global] -trusted-host = pypi.example.com -``` - -#### Using private Python repos[](#using-private-python-repos "Permalink") - -如果您拥有专用的 Python 存储库,则可以使用`PIP_INDEX_URL` [环境变量](#available-variables)来指定其位置. 也可以提供自定义的`pip.conf`进行[其他配置](#custom-root-certificates-for-python) . - -### Configuring NPM projects[](#configuring-npm-projects "Permalink") - -您可以使用[`.npmrc`](https://s0docs0npmjs0com.icopy.site/configuring-npm/npmrc.html)文件配置 NPM 项目. - -#### Using private NPM registries[](#using-private-npm-registries "Permalink") - -如果您有私有 NPM 注册表,则可以使用[`registry`](https://s0docs0npmjs0com.icopy.site/using-npm/config)设置来指定其位置. - -例如: - -``` -registry = https://npm.example.com -``` - -#### Custom root certificates for NPM[](#custom-root-certificates-for-npm "Permalink") - -您可以使用`ADDITIONAL_CA_CERT_BUNDLE` [环境变量](#available-variables)提供自定义根证书来完成 TLS 验证. - -要禁用 TLS 验证,您可以提供[`strict-ssl`](https://s0docs0npmjs0com.icopy.site/using-npm/config)设置. - -例如: - -``` -strict-ssl = false -``` - -### Configuring Yarn projects[](#configuring-yarn-projects "Permalink") - -您可以使用[`.yarnrc.yml`](https://yarnpkg.com/configuration/yarnrc)文件配置 Yarn 项目. - -#### Using private Yarn registries[](#using-private-yarn-registries "Permalink") - -如果您有专用的 Yarn 注册表,则可以使用[`npmRegistryServer`](https://yarnpkg.com/configuration/yarnrc#npmRegistryServer)设置来指定其位置. - -例如: - -``` -npmRegistryServer: "https://npm.example.com" -``` - -#### Custom root certificates for Yarn[](#custom-root-certificates-for-yarn "Permalink") - -您可以使用`ADDITIONAL_CA_CERT_BUNDLE` [环境变量](#available-variables)提供自定义根证书来完成 TLS 验证. - -### Configuring Bower projects[](#configuring-bower-projects "Permalink") - -您可以使用[`.bowerrc`](https://bower.io/docs/config/#bowerrc-specification)文件配置 Bower 项目. - -#### Using private Bower registries[](#using-private-bower-registries "Permalink") - -如果您有专用的 Bower 注册表,则可以使用[`registry`](https://bower.io/docs/config/#bowerrc-specification)设置来指定其位置. - -例如: - -``` -{ - "registry": "https://registry.bower.io" -} -``` - -#### Custom root certificates for Bower[](#custom-root-certificates-for-bower "Permalink") - -您可以使用`ADDITIONAL_CA_CERT_BUNDLE` [环境变量](#available-variables)或在[`.bowerrc`](https://bower.io/docs/config/#bowerrc-specification)文件中指定`ca`设置来提供自定义根证书来完成 TLS 验证. - -#### Using private Bundler registries[](#using-private-bundler-registries "Permalink") - -如果您有私人的 Bundler 注册表,则可以使用[`source`](https://bundler.io/man/gemfile.5.html#GLOBAL-SOURCES)设置来指定其位置. - -例如: - -``` -source "https://gems.example.com" -``` - -#### Custom root certificates for Bundler[](#custom-root-certificates-for-bundler "Permalink") - -您可以使用`ADDITIONAL_CA_CERT_BUNDLE` [环境变量](#available-variables)或在作业定义中指定[`BUNDLE_SSL_CA_CERT`](https://bundler.io/v2.0/man/bundle-config.1.html) [环境变量](../../../ci/variables/README.html#custom-environment-variables)来提供自定义根证书来完成 TLS 验证. - -### Configuring Conan projects[](#configuring-conan-projects "Permalink") - -您可以通过将`.conan`目录添加到项目根目录来配置[Conan](https://conan.io/)项目. 项目根用作[`CONAN_USER_HOME`](https://docs.conan.io/en/latest/reference/env_vars.html#conan-user-home) . - -Consult the [Conan](https://docs.conan.io/en/latest/reference/config_files/conan.conf.html#conan-conf) documentation for a list of settings that you can apply. - -`license_scanning`作业在[Debian 10](https://www.debian.org/releases/buster/) Docker 映像中运行. 提供的映像附带了一些构建工具,例如[CMake](https://cmake.org/)和[GCC](https://gcc.gnu.org/) . 但是,默认情况下不支持所有项目类型. 要安装编译依赖关系所需的其他工具,请使用[`before_script`](../../../ci/yaml/README.html#before_script-and-after_script)使用[`apt`](https://wiki.debian.org/PackageManagementTools)软件包管理器安装必要的构建工具. 有关完整列表,请参阅[柯南文档](https://docs.conan.io/en/latest/introduction.html#all-platforms-all-build-systems-and-compilers) . - -默认的[柯南](https://conan.io/)配置将[`CONAN_LOGIN_USERNAME`](https://docs.conan.io/en/latest/reference/env_vars.html#conan-login-username-conan-login-username-remote-name)设置为`ci_user` ,并将[`CONAN_PASSWORD`](https://docs.conan.io/en/latest/reference/env_vars.html#conan-password-conan-password-remote-name)绑定到[`CI_JOB_TOKEN`](../../../ci/variables/predefined_variables.html)以用于正在运行的作业. 如果在`.conan/remotes.json`文件中指定了 GitLab 遥控器,则这允许 Conan 项目从[GitLab 科南存储库中](../../packages/conan_repository/#fetching-conan-package-information-from-the-gitlab-package-registry)获取软件包. - -要覆盖默认凭据,请指定一个[`CONAN_LOGIN_USERNAME_{REMOTE_NAME}`](https://docs.conan.io/en/latest/reference/env_vars.html#conan-login-username-conan-login-username-remote-name)与`.conan/remotes.json`文件中指定的远程名称匹配. - -**注意:**不支持[MSBuild](https://github.com/mono/msbuild#microsoftbuild-msbuild)项目. `license_scanning`映像随[Mono](https://www.mono-project.com/)和[MSBuild 一起提供](https://github.com/mono/msbuild#microsoftbuild-msbuild) . 可能需要其他设置才能生成此项目配置的软件包. - -#### Using private Conan registries[](#using-private-conan-registries "Permalink") - -默认情况下, [柯南](https://conan.io/)使用[柯南](https://conan.io/) `conan-center`遥控器. 例如: - -``` -{ "remotes": [ { "name": "conan-center", "url": "https://conan.bintray.com", "verify_ssl": true } ] } -``` - -要从备用远程获取依赖项,请在`.conan/remotes.json`指定该远程. 例如: - -``` -{ "remotes": [ { "name": "gitlab", "url": "https://gitlab.com/api/v4/packages/conan", "verify_ssl": true } ] } -``` - -如果需要使用凭据进行身份验证,则可以按照[`CONAN_LOGIN_USERNAME`文档中](https://docs.conan.io/en/latest/reference/env_vars.html#conan-login-username-conan-login-username-remote-name)描述的命名约定配置[受保护的变量](../../../ci/variables/README.html#protect-a-custom-variable) . - -#### Custom root certificates for Conan[](#custom-root-certificates-for-conan "Permalink") - -您可以通过将`.conan/cacert.pem`文件添加到项目根目录并将[`CA_CERT_PATH`](https://docs.conan.io/en/latest/reference/env_vars.html#conan-cacert-path)设置为`.conan/cacert.pem`来提供自定义证书. - -如果您指定`ADDITIONAL_CA_CERT_BUNDLE` [环境变量](#available-variables) ,则此变量的 X.509 证书将安装在 Docker 映像的默认信任库中,并且 Conan 配置为将其用作默认`CA_CERT_PATH` . - -### Configuring Go projects[](#configuring-go-projects "Permalink") - -要配置基于[Go 模块](https://github.com/golang/go/wiki/Modules)的项目,请在`.gitlab-ci.yml`的`license_scanning`作业的[变量](#available-variables)部分中指定[环境变量](https://s0golang0org.icopy.site/pkg/cmd/go/) . - -如果项目已[供应了](https://s0golang0org.icopy.site/pkg/cmd/go/)其模块,则使用`vendor`目录和`mod.sum`文件的组合来检测与 Go 模块依赖关系相关的软件许可证. - -#### Using private Go registries[](#using-private-go-registries "Permalink") - -您可以使用[`GOPRIVATE`](https://s0golang0org.icopy.site/pkg/cmd/go/)和[`GOPROXY`](https://s0golang0org.icopy.site/pkg/cmd/go/)环境变量来控制模块的来源. 另外,您可以使用[`go mod vendor`](https://s0golang0org.icopy.site/ref/mod)来供应项目的模块. - -#### Custom root certificates for Go[](#custom-root-certificates-for-go "Permalink") - -您可以通过导出[`GOFLAGS`](https://s0golang0org.icopy.site/cmd/go/)环境变量来指定[`-insecure`](https://s0golang0org.icopy.site/pkg/cmd/go/internal/get/)标志. 例如: - -``` -include: - - template: License-Scanning.gitlab-ci.yml - -license_scanning: - variables: - GOFLAGS: '-insecure' -``` - -#### Using private NuGet registries[](#using-private-nuget-registries "Permalink") - -如果您拥有私有的 NuGet 注册表,则可以通过将其添加到[`nuget.config`](https://docs.microsoft.com/en-us/nuget/reference/nuget-config-file)文件的[`packageSources`](https://docs.microsoft.com/en-us/nuget/reference/nuget-config-file#package-source-sections)部分中来将其添加为源. - -例如: - -``` - - - - - - - -``` - -#### Custom root certificates for NuGet[](#custom-root-certificates-for-nuget "Permalink") - -您可以使用`ADDITIONAL_CA_CERT_BUNDLE` [环境变量](#available-variables)提供自定义根证书来完成 TLS 验证. - -### Migration from `license_management` to `license_scanning`[](#migration-from-license_management-to-license_scanning "Permalink") - -在 GitLab 12.8 中,引入了`license_management`作业的新名称. 进行此更改是为了提高扫描目的的清晰度,即扫描并收集项目依赖项中存在的许可证类型. GitLab 13.0 放弃了对`license_management`支持. 如果您使用自定义设置来实现"许可证合规性",则需要相应地更新 CI 配置: - -1. 将 CI 模板更改为`License-Scanning.gitlab-ci.yml` . -2. 将作业名称更改为`license_scanning` (如果在`.gitlab-ci.yml`提到了该`.gitlab-ci.yml` ). -3. 将工件名称更改为`license_scanning` ,并将文件名称更改为`gl-license-scanning-report.json` (如果在`.gitlab-ci.yml`中`.gitlab-ci.yml` ). - -例如,以下`.gitlab-ci.yml` : - -``` -include: - - template: License-Management.gitlab-ci.yml - -license_management: - artifacts: - reports: - license_management: gl-license-management-report.json -``` - -应更改为: - -``` -include: - - template: License-Scanning.gitlab-ci.yml - -license_scanning: - artifacts: - reports: - license_scanning: gl-license-scanning-report.json -``` - -如果您在 GitLab 13.0 或更高版本中使用`license_management`工件,则"许可证合规性"作业将产生以下错误: - -``` -WARNING: Uploading artifacts to coordinator... failed id=:id responseStatus=400 Bad Request status=400 Bad Request token=:sha - -FATAL: invalid_argument -``` - -如果遇到此错误,请按照本节中的说明进行操作. - -## Running License Compliance in an offline environment[](#running-license-compliance-in-an-offline-environment "Permalink") - -对于在通过互联网有限,受限或间歇性访问外部资源的环境中进行自我管理的 GitLab 实例,需要进行一些调整才能成功运行许可合规性工作. 有关更多信息,请参阅[脱机环境](../../application_security/offline_deployments/index.html) . - -### Requirements for offline License Compliance[](#requirements-for-offline-license-compliance "Permalink") - -要在离线环境中使用许可证合规性,您需要: - -* GitLab 亚军与[`docker`或`kubernetes`执行](#requirements) . -* Docker 容器注册表,其中包含许可证合规性[分析器](https://gitlab.com/gitlab-org/security-products/analyzers)映像的本地可用副本. - -**注意:** GitLab Runner 的[默认`pull policy`为`always`](https://docs.gitlab.com/runner/executors/docker.html) ,这意味着即使本地副本可用,Runner 也会尝试从 GitLab 容器注册表中拉取 Docker 映像. 如果您只喜欢使用本地可用的 Docker 映像,则可以在离线环境[`pull_policy`](https://docs.gitlab.com/runner/executors/docker.html) GitLab Runner 的[`pull_policy`设置为`if-not-present`](https://docs.gitlab.com/runner/executors/docker.html) . 但是,如果不在离线环境中,我们建议将拉取策略设置保持为`always` ,因为这样可以在 CI / CD 管道中使用更新的扫描仪. - -### Make GitLab License Compliance analyzer images available inside your Docker registry[](#make-gitlab-license-compliance-analyzer-images-available-inside-your-docker-registry "Permalink") - -要使用所有[支持的语言和程序包管理器进行](#supported-languages-and-package-managers)许可证合规性检查,请将以下默认许可证合规性分析器映像从`registry.gitlab.com`导入到您的离线[本地 Docker 容器注册表中](../../packages/container_registry/index.html) : - -``` -registry.gitlab.com/gitlab-org/security-products/license-management:latest -``` - -将 Docker 映像导入本地脱机 Docker 注册表的过程取决于**您的网络安全策略** . 请咨询您的 IT 员工,以找到可以导入或临时访问外部资源的已接受和批准的流程. 请注意,这些扫描程序会[定期](../../application_security/index.html#maintenance-and-update-of-the-vulnerabilities-database)使用新定义进行[更新](../../application_security/index.html#maintenance-and-update-of-the-vulnerabilities-database) ,因此请考虑您是否能够自己进行定期更新. - -有关将 Docker 映像保存和传输为文件的详细信息,请参阅 Docker 有关[`docker save`](https://s0docs0docker0com.icopy.site/engine/reference/commandline/save/) , [`docker load`](https://s0docs0docker0com.icopy.site/engine/reference/commandline/load/) , [`docker export`](https://s0docs0docker0com.icopy.site/engine/reference/commandline/export/)和[`docker import`](https://s0docs0docker0com.icopy.site/engine/reference/commandline/import/)的文档. - -### Set License Compliance CI job variables to use local License Compliance analyzers[](#set-license-compliance-ci-job-variables-to-use-local-license-compliance-analyzers "Permalink") - -将以下配置添加到您的`.gitlab-ci.yml`文件. 您必须替换`image`以引用本地 Docker 容器注册表中托管的 License Compliance Docker 映像: - -``` -include: - - template: License-Scanning.gitlab-ci.yml - -license_scanning: - image: - name: localhost:5000/analyzers/license-management:latest -``` - -现在,"许可证合规性"作业应使用"许可证合规性"分析器的本地副本来扫描您的代码并生成安全报告,而无需访问 Internet. - -连接到[私有 Bower 注册表](#using-private-bower-registries) , [私有 Bundler 注册表](#using-private-bundler-registries) , [私有 Conan 注册表](#using-private-bower-registries) , [私有 Go 注册表](#using-private-go-registries) , [私有 Maven 仓库](#using-private-maven-repos) , [私有 NPM 注册表](#using-private-npm-registries) , [私有 Python 仓库](#using-private-python-repos)和[私有 Yarn 注册表时](#using-private-yarn-registries) ,可能需要附加配置. - -在脱机环境中运行时, [项目策略](#policies)必须与名称完全匹配( [请参阅相关问题](https://gitlab.com/gitlab-org/gitlab/-/issues/212388) ). - -## License list[](#license-list "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/13582) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.7. - -许可证列表允许您查看项目的许可证以及有关许可证的关键详细信息. - -为了使许可证出现在许可证列表下,必须满足以下要求: - -1. 必须为您的项目[配置](#configuration)许可证合规性 CI 作业. -2. 您的项目必须至少使用一种[受支持的语言和程序包管理器](#supported-languages-and-package-managers) . - -设置完所有内容后,请在项目的侧边栏中导航至" **安全性和合规性">"许可证合规性"** ,您将看到显示的许可证,其中: - -* **名称:**许可证名称. -* **Component:** The components which have this license. -* **违反政策:**许可证的[许可证政策](#policies)标记为**拒绝** . - -[![License List](img/dc75662feab34ea9fa5cb187a2d77739.png)](img/license_list_v13_0.png) - -## Policies[](#policies "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/22465) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.9. - -通过" **策略"**选项卡,您可以查看项目的软件许可证策略以及每个策略的关联分类. - -可以由项目的维护者配置策略. - -[![Edit Policy](img/e545dd77cf453f5a97873da4f0083ebb.png)](img/policies_maintainer_edit_v13_2.png) [![Add Policy](img/45974f94466502ace734ecc3473a0d58.png)](img/policies_maintainer_add_v13_2.png) - -项目的开发人员可以查看项目中配置的策略. - -[![View Policies](img/793399d61e9710ebd809bd4c52901d68.png)](img/policies_v13_0.png) - -### Enabling License Approvals within a project[](#enabling-license-approvals-within-a-project "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/13067) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.3. - -`License-Check`是一个批准规则,您可以启用它来允许批准人,个人或组批准包含`denied`许可证的合并请求. - -您可以启用`License-Check`的两种方式之一: - -* 使用区分大小写的名称`License-Check`创建[项目批准规则](../../project/merge_requests/merge_request_approvals.html#multiple-approval-rules-premium) . -* 在[项目策略部分中为许可合规](#policies)创建批准组. 您必须将此批准组的所需批准数量设置为大于零. 在项目中启用该组后,将为所有合并请求启用批准规则. - -任何代码更改都会导致重置所需的批准. - -许可证报告如下时,需要批准: - -* 包含包含被`denied`的软件许可证的依赖项. -* 在管道执行期间未生成. - -许可证报告如下时,批准是可选的: - -* 不包含任何违反软件许可证的行为. -* Contains only new licenses that are `allowed` or unknown. - -## Troubleshooting[](#troubleshooting "Permalink") - -### `ERROR -- : asdf: No preset version installed for command`[](#error-----asdf-no-preset-version-installed-for-command "Permalink") - -当项目使用的工具的版本与`license_scanning` Docker 映像中可用的预安装工具的版本不匹配时,会发生此错误. `license_scanning`作业使用[asdf-vm](https://asdf-vm.com/)来激活项目所依赖的工具的适当版本. 例如,如果您的项目依赖于特定版本的[Node.js](https://s0nodejs0org.icopy.site/)或任何其他受支持的工具,则可以通过向项目中添加[`.tool-versions`](https://asdf-vm.com/#/core-configuration?id=tool-versions)文件或使用适当的[`ASDF__VERSION`](https://asdf-vm.com/#/core-configuration?id=environment-variables)环境变量来激活所需的版本,从而指定所需的版本.适当的版本. - -例如,以下`.tool-versions`文件将激活[Node.js 的](https://s0nodejs0org.icopy.site/) `12.16.3`版和[Ruby 的](https://www.ruby-lang.org/) `2.6.6`版. - -``` -nodejs 12.16.3 -ruby 2.6.6 -``` - -下一个示例显示如何通过使用项目的`.gitlab-ci.yml`文件中定义的环境变量来激活上述工具的相同版本. - -``` -include: - - template: License-Scanning.gitlab-ci.yml - -license_scanning: - variables: - ASDF_NODEJS_VERSION: '12.16.3' - ASDF_RUBY_VERSION: '2.6.6' -``` - -完整的变量列表可以在[环境变量中](#available-variables)找到. - -要了解在`license_scanning` Docker 映像中预安装了哪些工具,请使用以下命令: - -``` -$ docker run --entrypoint='' registry.gitlab.com/gitlab-org/security-products/analyzers/license-finder:3 /bin/bash -lc 'asdf list' -golang - 1.14 -gradle - 6.3 -java - adopt-openjdk-11.0.7+10 - adopt-openjdk-8u242-b08 -maven - 3.6.3 -nodejs - 10.20.1 - 12.16.3 -php - 7.4.5 -python - 2.7.18 - 3.8.2 -ruby - 2.6.6 -sbt - 1.3.8 -``` - -要与`license_scanning`运行时环境进行交互,请使用以下命令: - -``` -$ docker run -it --entrypoint='' registry.gitlab.com/gitlab-org/security-products/analyzers/license-finder:3 /bin/bash -l -root@6abb70e9f193:~# -``` - -**注意:**当前不支持选择[Mono](https://www.mono-project.com/)或[.NET Core](https://dotnet.microsoft.com/download/dotnet-core)的自定义版本. \ No newline at end of file diff --git a/docs/066.md b/docs/066.md deleted file mode 100644 index ba96dbe..0000000 --- a/docs/066.md +++ /dev/null @@ -1,35 +0,0 @@ -# Compliance Dashboard - -> 原文:[https://docs.gitlab.com/ee/user/compliance/compliance_dashboard/](https://docs.gitlab.com/ee/user/compliance/compliance_dashboard/) - -* [Overview](#overview) -* [Use cases](#use-cases) -* [Permissions](#permissions) - -# Compliance Dashboard[](#compliance-dashboard-ultimate "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/36524) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.8. - -Compliance Dashboard 通过为组中的所有项目提供高级视图,使您能够查看组的"合并请求"活动. 例如,批准用于合并的代码. - -## Overview[](#overview "Permalink") - -要访问组的合规性仪表板,请导航至 组菜单上的" **安全性和合规性">"合规性** ". - -[![Compliance Dashboard](img/da827bb1926cf748cff537fec6ecc954.png)](img/compliance_dashboard_v13_2.png) - -## Use cases[](#use-cases "Permalink") - -此功能适用于关心团队中项目的合规性状态的人员. - -您可以使用仪表板执行以下操作: - -* 概述每个项目的最新合并请求. -* 查看合并请求是否被批准以及由谁批准. -* 请参阅合并请求作者. -* 查看每个合并请求的最新[CI 管道](../../../ci/pipelines/index.html)结果. - -## Permissions[](#permissions "Permalink") - -* On [GitLab Ultimate](https://about.gitlab.com/pricing/) tier. -* By **Administrators** and **集团所有者**. \ No newline at end of file diff --git a/docs/067.md b/docs/067.md deleted file mode 100644 index 93ac847..0000000 --- a/docs/067.md +++ /dev/null @@ -1,130 +0,0 @@ -# Create a project - -> 原文:[https://docs.gitlab.com/ee/gitlab-basics/create-project.html](https://docs.gitlab.com/ee/gitlab-basics/create-project.html) - -* [Create a project in GitLab](#create-a-project-in-gitlab) - * [Blank projects](#blank-projects) - * [Project templates](#project-templates) - * [Built-in templates](#built-in-templates) - * [Enterprise templates](#enterprise-templates-ultimate) - * [Custom project templates](#custom-project-templates-premium) -* [Push to create a new project](#push-to-create-a-new-project) - -# Create a project[](#create-a-project "Permalink") - -GitLab 中的大多数工作都在一个[Project 中](../user/project/index.html)完成. 文件和代码保存在项目中,并且大多数功能都在项目范围内使用. - -## Create a project in GitLab[](#create-a-project-in-gitlab "Permalink") - -要在 GitLab 中创建项目: - -1. 在信息中心中,点击绿色的**新建项目**按钮或使用导航栏中的加号图标. 这将打开" **新项目"**页面. -2. 在" **新建项目"**页面上,选择是否要: - * 创建一个[空白项目](#blank-projects) . - * 使用可用的[项目模板](#project-templates)之一创建一个项目. - * 如果已在您的 GitLab 实例上启用,则从其他存储库[导入项目](../user/project/import/index.html) . 如果不可用,请与您的 GitLab 管理员联系. - * 运行[用于外部存储库的 CI / CD 管道](../ci/ci_cd_for_external_repos/index.html) . - -**注意:**有关不能用作项目名称的单词列表,请参见[保留的项目和组名称](../user/reserved_names.html) . - -### Blank projects[](#blank-projects "Permalink") - -要在" **新建项目"**页面上创建一个新的空白项目,请执行以下操作: - -1. 在" **空白项目"**选项卡上,提供以下信息: - * **项目名称**在**项目名称**字段中. 您不能使用特殊字符,但可以使用空格,连字符,下划线甚至表情符号. 添加名称时, **Project slug**将自动填充. slug 是 GitLab 实例将用作项目的 URL 路径的东西. 如果您要使用其他子弹,请先输入项目名称,然后再更改子弹. - * **Project slug**字段中项目的路径. 这是 GitLab 实例将使用的项目的 URL 路径. 如果**项目名称**为空白,则当您填写**项目 slug**时,它将自动填充. - * 使用" **项目描述"(可选)**字段,您可以为项目的仪表板输入描述,这将帮助其他人了解您的项目的含义. 尽管不是必需的,但这是个好主意. - * 更改" **可见性级别"**会修改用户的项目[查看和访问权限](../public_access/public_access.html) . - * 选择**使用 README 初始化存储库**选项将创建一个 README 文件,以便 Git 存储库被初始化,具有默认分支并可以被克隆. -2. Click **建立专案**. - -### Project templates[](#project-templates "Permalink") - -项目模板可以使用必要的文件预填充新项目,以使您快速入门. - -有两种类型的项目模板: - -* [内置模板](#built-in-templates) ,来自以下组: - * [`project-templates`](https://gitlab.com/gitlab-org/project-templates) - * [`pages`](https://gitlab.com/pages) -* [自定义项目模板](#custom-project-templates-premium) ,用于由 GitLab 管理员和用户配置的自定义模板. - -#### Built-in templates[](#built-in-templates "Permalink") - -内置模板是项目模板,它们是: - -* 在[`project-templates`](https://gitlab.com/gitlab-org/project-templates)和[`pages`](https://gitlab.com/pages)组中开发和维护. -* 与 GitLab 一起发布. - -要在" **新建项目"**页面上使用内置模板,请执行以下操作: - -1. 在" **从模板创建"**选项卡上,选择" **内置"**选项卡. -2. 从可用的内置模板列表中,单击: - * **预览**按钮以查看模板源本身. - * **使用模板**按钮开始创建项目. -3. 通过填写项目的详细信息来完成创建项目. 该过程与创建[空白项目](#blank-projects)相同. - -##### Enterprise templates[](#enterprise-templates-ultimate "Permalink") - -GitLab 正在开发企业模板,以帮助您根据选定的法规标准简化审核管理. 这些模板会自动导入与每个法规要求相对应的问题. - -要使用企业模板创建新项目,请在" **新建项目"**页面上: - -1. 在" **从模板创建"**选项卡上,选择" **内置"**选项卡. -2. 从可用的内置企业模板列表中,单击: - * **预览**按钮以查看模板源本身. - * **使用模板**按钮开始创建项目. -3. 通过填写项目的详细信息来完成创建项目. 该过程与创建[空白项目](#blank-projects)相同. - -可用的企业模板包括: - -* HIPAA 审核协议模板(在 GitLab 12.10 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/13756) ) - -**提示:**您可以按照[以下步骤](https://gitlab.com/gitlab-org/project-templates/contributing)改进现有的内置模板或在[`project-templates`](https://gitlab.com/gitlab-org/project-templates)和[`pages`](https://gitlab.com/pages)组中添加新的[`project-templates`](https://gitlab.com/gitlab-org/project-templates) . - -#### Custom project templates[](#custom-project-templates-premium "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/6860) in [GitLab Premium](https://about.gitlab.com/pricing/) 11.2. - -Creating new projects based on custom project templates is a convenient option for quickly starting projects. - -自定义项目可以在[实例级别](../user/admin_area/custom_project_templates.html)从**实例**选项卡,或在[组级别](../user/group/custom_project_templates.html)从**组**选项卡,在**从模板**标签上的**创建** . - -要在" **新建项目"**页面上使用自定义项目模板: - -1. 在" **从模板创建"**选项卡上,选择" **实例"**选项卡或" **组"**选项卡. -2. 从可用的自定义模板列表中,单击: - * **预览**按钮以查看模板源本身. - * **使用模板**按钮开始创建项目. -3. 通过填写项目的详细信息来完成创建项目. 该过程与创建[空白项目](#blank-projects)相同. - -## Push to create a new project[](#push-to-create-a-new-project "Permalink") - -在 GitLab 10.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/26388) . - -当您在本地创建新的存储库时,无需直接在 GitLab 上手动创建一个新项目然后[在](start-using-git.html#clone-a-repository)本地[克隆该](start-using-git.html#clone-a-repository)存储库,而无需将其直接发送到 GitLab 即可创建新项目. 如果您具有关联的名称空间的访问权,则 GitLab 将在该 GitLab 名称空间下自动创建一个新项目,其可见性默认设置为 Private(您以后可以在[项目的设置中](../public_access/public_access.html#how-to-change-project-visibility)对其进行更改). - -这可以通过使用 SSH 或 HTTPS 来完成: - -``` -## Git push using SSH -git push --set-upstream git@gitlab.example.com:namespace/nonexistent-project.git master - -## Git push using HTTPS -git push --set-upstream https://gitlab.example.com/namespace/nonexistent-project.git master -``` - -推送成功完成后,将显示一条远程消息,指示将遥控器和 URL 设置为新项目的命令: - -``` -remote: -remote: The private project namespace/nonexistent-project was created. -remote: -remote: To configure the remote, run: -remote: git remote add origin https://gitlab.example.com/namespace/nonexistent-project.git -remote: -remote: To view the project, visit: -remote: https://gitlab.example.com/namespace/nonexistent-project -remote: -``` \ No newline at end of file diff --git a/docs/068.md b/docs/068.md deleted file mode 100644 index ce51749..0000000 --- a/docs/068.md +++ /dev/null @@ -1,131 +0,0 @@ -# Description templates - -> 原文:[https://docs.gitlab.com/ee/user/project/description_templates.html](https://docs.gitlab.com/ee/user/project/description_templates.html) - -* [Overview](#overview) -* [Use-cases](#use-cases) -* [Creating issue templates](#creating-issue-templates) -* [Creating merge request templates](#creating-merge-request-templates) -* [Using the templates](#using-the-templates) -* [Setting a default template for merge requests and issues](#setting-a-default-template-for-merge-requests-and-issues-starter) -* [Description template example](#description-template-example) - -# Description templates[](#description-templates "Permalink") - -在 GitLab 8.11 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/4981) . - -我们都知道,项目开发人员更有可能及时解决提交的问题. - -使用描述模板,您可以为问题定义特定于上下文的模板,并为项目合并请求描述字段,并帮助从问题中过滤掉许多不必要的噪音. - -## Overview[](#overview "Permalink") - -通过使用描述模板,创建新发行或合并请求的用户可以选择描述模板,以帮助他们与其他贡献者进行有效沟通. - -每个 GitLab 项目都可以定义自己的一组描述模板,这些模板将被添加到 GitLab 项目存储库的根目录中. - -描述模板必须用[Markdown](../markdown.html)编写,并存储在项目的存储库中的`.gitlab`目录下. 仅考虑默认分支的模板. - -## Use-cases[](#use-cases "Permalink") - -* 添加一个模板,该模板将用于特定项目的每个问题,并提供说明和指南,要求提供特定于该主题的信息. 例如,如果您有一个用于跟踪新博客文章的项目,则可以要求标题,大纲,作者姓名,作者社交媒体信息等等. -* 在前面的示例之后,您可以为随新博客帖子提交的每个 MR 创建模板,要求提供有关帖子日期,前事数据,图像准则,相关问题的链接,审阅者姓名等信息. -* 您还可以为工作流的不同阶段创建问题并合并请求模板,例如功能建议,功能改进或错误报告. - -## Creating issue templates[](#creating-issue-templates "Permalink") - -在存储库的`.gitlab/issue_templates/`目录内创建一个新的 Markdown( `.md` )文件. 提交并推送到您的默认分支. - -To create a Markdown file: - -1. 单击`master`旁边的`+`按钮,然后单击**New file** . -2. 将问题模板的名称添加到`master`旁边的**File name**文本字段中. 确保单词之间用下划线分隔,并且文件的扩展名为`.md` ,例如`feature_request.md` . -3. 提交并推送到您的默认分支. - -如果您的存储库中没有`.gitlab/issue_templates`目录,则需要创建它. - -要创建`.gitlab/issue_templates`目录: - -1. 单击`master`旁边的`+`按钮,然后选择**New directory** . -2. 将此新目录`.gitlab`并提交到默认分支. -3. 再次单击`master`旁边的`+`按钮,然后选择**New directory** .这次,n -4. 将目录`issue_templates`并提交到默认分支. - -要检查它是否正常工作,请[创建一个新问题,](./issues/managing_issues.html#create-a-new-issue)然后查看是否可以选择描述模板. - -## Creating merge request templates[](#creating-merge-request-templates "Permalink") - -与发布模板类似,在存储库的`.gitlab/merge_request_templates/`目录内创建一个新的 Markdown( `.md` )文件. 提交并推送到您的默认分支. - -## Using the templates[](#using-the-templates "Permalink") - -让我们以创建了`.gitlab/issue_templates/Bug.md`文件`.gitlab/issue_templates/Bug.md` . 在创建或编辑问题时,这将启用`Bug`下拉选项. 选择`Bug` , `Bug.md`模板文件中的内容将被复制到问题描述字段. "重置模板"按钮将放弃您在选择模板后所做的任何更改,并将其恢复为初始状态. - -[![Description templates](img/6224c1a367d53cc7bb5c5536af96ec6e.png)](img/description_templates.png) - -## Setting a default template for merge requests and issues[](#setting-a-default-template-for-merge-requests-and-issues-starter "Permalink") - -版本历史 - -* 此功能是在[描述模板](#overview)之前引入的,可在[GitLab Starter 中使用](https://about.gitlab.com/pricing/) . 可以在项目设置中启用它. -* 问题模板在 GitLab EE 8.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28) . -* 在 GitLab EE 6.9 中[引入](https://gitlab.com/gitlab-org/gitlab/commit/7478ece8b48e80782b5465b96c79f85cc91d391b)了合并请求的模板. - -在项目的**"设置" /"可见性","项目功能","权限"**部分中,应将问题和/或合并请求的可见性设置为"每个人都可以访问"或"只有项目成员",否则模板文本区域将不会显示. 这是默认行为,因此在大多数情况下都可以. - -1. 转到项目的**"设置"** . -2. 单击**合并请求**标题下的**展开** . -3. 填写" **合并请求**的**默认描述模板"**文本区域. -4. Click **Expand** under **默认问题模板**. -5. 填写问题的**默认描述模板**文本区域. 由于 GitLab 合并请求和问题支持[Markdown](../markdown.html) ,因此您可以使用它来格式化标题,列表等. - -[![Default merge request description templates](img/c7ee3e55c50a5f7d0e3faceda16e2dc2.png)](img/description_templates_merge_request_settings.png) - -[![Default issue description templates](img/c9d2a45b5906d81d1118b63a832bbcd4.png)](img/description_templates_issue_settings.png) - -添加描述后,点击**保存更改**以使设置生效. 现在,每次创建新的合并请求或问题时,都将使用您在模板中输入的文本预先填充. - -## Description template example[](#description-template-example "Permalink") - -我们在 GitLab 社区版项目中使用问题和合并请求的描述模板. 请参考[`.gitlab`文件夹](https://gitlab.com/gitlab-org/gitlab/tree/master/.gitlab)中的一些示例. - -**提示:**可以在描述模板中使用[快速操作](quick_actions.html)来快速添加标签,受让人和里程碑. 仅当提交问题或合并请求的用户有权执行相关操作时,才执行快速操作. - -这是错误报告模板的示例: - -``` -Summary - -(Summarize the bug encountered concisely) - -Steps to reproduce - -(How one can reproduce the issue - this is very important) - -Example Project - -(If possible, please create an example project here on GitLab.com that exhibits the problematic behaviour, and link to it here in the bug report) - -(If you are using an older version of GitLab, this will also determine whether the bug has been fixed in a more recent version) - -What is the current bug behavior? - -(What actually happens) - -What is the expected correct behavior? - -(What you should see instead) - -Relevant logs and/or screenshots - -(Paste any relevant logs - please use code blocks (```) to format console output, -logs, and code as it's very hard to read otherwise.) - -Possible fixes - -(If you can, link to the line of code that might be responsible for the problem) - -/label ~bug ~reproduced ~needs-investigation -/cc @project-manager -/assign @qa-tester -``` \ No newline at end of file diff --git a/docs/069.md b/docs/069.md deleted file mode 100644 index 1f83928..0000000 --- a/docs/069.md +++ /dev/null @@ -1,119 +0,0 @@ -# Deploy Keys - -> 原文:[https://docs.gitlab.com/ee/user/project/deploy_keys/](https://docs.gitlab.com/ee/user/project/deploy_keys/) - -* [Key details on deploy keys](#key-details-on-deploy-keys) -* [Deploy Keys Permissions](#deploy-keys-permissions) -* [Differences between deploy keys and deploy tokens](#differences-between-deploy-keys-and-deploy-tokens) -* [How to enable Deploy Keys](#how-to-enable-deploy-keys) - * [Project deploy keys](#project-deploy-keys) - * [Public deploy keys](#public-deploy-keys) -* [Troubleshooting](#troubleshooting) - * [Deploy Key cannot push to a protected branch](#deploy-key-cannot-push-to-a-protected-branch) - -# Deploy Keys[](#deploy-keys "Permalink") - -通过将 SSH 公钥导入到 GitLab 实例,部署密钥允许对一个或多个存储库的只读或读写(如果启用)访问. - -这对于将存储库克隆到持续集成(CI)服务器非常有用. 通过使用部署密钥,您不必设置虚拟用户帐户. - -There are two types of deploy keys: - -* [Project deploy keys](#project-deploy-keys) -* [Public deploy keys](#public-deploy-keys) - -## Key details on deploy keys[](#key-details-on-deploy-keys "Permalink") - -部署密钥使远程机器(VM,物理机等)只需几个步骤即可访问 GitLab 存储库. 如果您希望远程计算机以自动化方式与 GitLab 存储库进行交互,这是一个简单的解决方案. - -缺点是,如果远程计算机被黑客入侵,则您的存储库可能会变得脆弱. 在存储库中启用部署密钥之前,应限制对远程计算机的访问. 遵循的好规则是仅访问受信任的用户,并确保允许的用户在 GitLab 项目中具有[维护者权限或更高权限](../../permissions.html) . - -如果您的组织担心这种安全隐患,则可以使用" [部署令牌"](../deploy_tokens/index.html)作为替代方案,但具有更多的安全控制. - -## Deploy Keys Permissions[](#deploy-keys-permissions "Permalink") - -在项目上启用部署密钥时,可以选择其访问级别: - -* `read-only` :部署密钥可以读取存储库. -* `read-write` :部署密钥可以读取存储库并对其进行写入. - -项目维护者和所有者可以激活和停用部署密钥. 他们还可以添加自己的部署密钥并为该项目启用它们. - -当使用`write-access`部署密钥来推送提交时,GitLab 会检查部署密钥的**创建者**是否有权访问资源. 例如: - -* 当使用部署密钥将提交推送到[受保护的分支时](../protected_branches.html) ,部署密钥的**创建者**必须有权访问该分支. -* 当使用部署密钥来推送触发 CI / CD 管道的提交时,部署密钥的**创建者**必须有权访问 CI / CD 资源(例如受保护的环境,机密变量等). -* 如果部署密钥的**创建者**没有读取项目存储库的权限,则部署密钥*可能*在此过程中遇到错误. - -## Differences between deploy keys and deploy tokens[](#differences-between-deploy-keys-and-deploy-tokens "Permalink") - -部署密钥和[部署令牌](../deploy_tokens/index.html#deploy-tokens)都可以帮助您访问存储库,但是它们之间存在一些显着差异: - -* 部署密钥可以在不相关甚至不属于同一组的项目之间共享. 部署令牌属于项目或[组](../deploy_tokens/index.html#group-deploy-token) . -* 部署密钥是您需要在计算机上生成自己的 SSH 密钥. 部署令牌是由您的 GitLab 实例生成的,仅在创建时提供给用户一次. -* 只要已注册并启用部署密钥,该密钥便有效. 部署令牌可能是时间敏感的,因为您可以通过设置令牌的到期日期来控制令牌的有效性. -* 您不能使用部署密钥登录注册表,也不能对其执行读/写操作,但是[使用部署令牌是可以的](../deploy_tokens/index.html#gitlab-deploy-token) . -* 您需要 SSH 密钥对才能使用部署密钥,但不需要部署令牌. - -## How to enable Deploy Keys[](#how-to-enable-deploy-keys "Permalink") - -### Project deploy keys[](#project-deploy-keys "Permalink") - -[项目维护者和所有者](../../permissions.html#project-members-permissions)可以为项目存储库添加或启用部署密钥: - -1. 导航到项目的**"设置">"存储库"**页面. -2. 展开" **部署密钥"**部分. -3. 为新的部署密钥指定标题,然后粘贴您的公共 SSH 密钥. -4. (可选)检查**写访问允许**允许`read-write`访问. 保留它的`read-only`访问权限. - -有三个项目部署密钥列表: - -* 启用的部署密钥 -* Privately accessible deploy keys -* 公共可访问的部署密钥 - -[![Deploy Keys section](img/86738432aa05c0c68fffb68c00788fa4.png)](img/deploy_keys_v13_0.png) - -添加密钥后,默认情况下将为此项目启用该密钥,它将显示在"已**启用的部署密钥"**选项卡中. - -在"私有**可访问的部署密钥"**选项卡中,您可以启用已导入到其他项目中的私有密钥. 如果您有权访问这些密钥,那是因为您具有以下任一能力: - -* 以前,您自己将密钥上传到了另一个项目中. -* 您是导入密钥的另一个项目的维护者或所有者. - -在可**公开访问的部署密钥**选项卡中,您可以启用[对整个 GitLab 实例可用的](#public-deploy-keys)密钥. - -添加密钥后,您可以对其进行编辑以更新其标题,或者在`read-only`和`read-write`访问之间切换. - -**注意:**如果您为项目启用了私有或公共访问或部署密钥,并且随后将该密钥的访问级别从`read-only`更新为`read-write` ,则更改将仅适用于**当前项目** . - -### Public deploy keys[](#public-deploy-keys "Permalink") - -公共部署密钥允许对 GitLab 实例中的任何存储库进行`read-only`或`read-write`访问. 这对于将存储库集成到安全的共享服务(例如 CI / CD)很有用. - -实例管理员可以添加公共部署密钥: - -1. 转到**管理区域** ( ) **>部署密钥** . -2. 单击**新部署密钥** . - - 确保新密钥具有有意义的标题,因为这是项目维护者和所有者识别要添加的正确公共部署密钥的主要方法. 例如,如果密钥允许访问 SaaS CI / CD 实例,请在密钥名称中使用该服务的名称(如果已使用了所有密钥). - -[![Public Deploy Keys section](img/2d13f3059b88ccaf448646ed61f70d47.png)](img/public_deploy_key_v13_0.png) - -添加密钥后,它将对所有共享系统可用. 项目维护者或更高级别的人员可以[授权公共部署密钥](#project-deploy-keys)开始在项目中使用它. - -**注意:**仅在配置了至少一个公共部署密钥的情况下,Project CI / CD 设置中的" **公共可访问部署密钥"**选项卡才会显示. - -与项目部署密钥相比,公共部署密钥可以提供更高的安全性,因为目标集成系统的管理员是唯一需要知道或配置密钥值的管理员. - -创建公共部署密钥时,请确定是否可以针对非常狭窄的用途(例如仅特定服务)定义它,或者是否需要针对更广泛的用途(例如对所有服务进行完全`read-write`访问)进行定义. - -**警告:**添加公共部署密钥不会立即向其公开任何存储库. 公共部署密钥允许从其他系统进行访问,但是只有项目维护者选择使用它之后,才能访问任何项目. - -## Troubleshooting[](#troubleshooting "Permalink") - -### Deploy Key cannot push to a protected branch[](#deploy-key-cannot-push-to-a-protected-branch "Permalink") - -如果此部署密钥的所有者无权访问[受保护的分支](../protected_branches.html) ,则此部署密钥也将无权访问该分支. 除此之外,在["允许推送"部分中](../protected_branches.html#configuring-protected-branches)选择" **否"**值意味着没有用户**和**使用部署密钥的服务都无法推送到该选定分支. - -有关更多信息,请参考[此问题](https://gitlab.com/gitlab-org/gitlab/-/issues/30769) . \ No newline at end of file diff --git a/docs/070.md b/docs/070.md deleted file mode 100644 index 60ad7ba..0000000 --- a/docs/070.md +++ /dev/null @@ -1,169 +0,0 @@ -# Deploy Tokens - -> 原文:[https://docs.gitlab.com/ee/user/project/deploy_tokens/](https://docs.gitlab.com/ee/user/project/deploy_tokens/) - -* [Creating a Deploy Token](#creating-a-deploy-token) -* [Deploy token expiration](#deploy-token-expiration) -* [Revoking a deploy token](#revoking-a-deploy-token) -* [Limiting scopes of a deploy token](#limiting-scopes-of-a-deploy-token) -* [Deploy token custom username](#deploy-token-custom-username) -* [Usage](#usage) - * [Git clone a repository](#git-clone-a-repository) - * [Read Container Registry images](#read-container-registry-images) - * [Push Container Registry images](#push-container-registry-images) - * [Read or pull packages](#read-or-pull-packages) - * [Push or upload packages](#push-or-upload-packages) - * [Group Deploy Token](#group-deploy-token) - * [GitLab Deploy Token](#gitlab-deploy-token) - -# Deploy Tokens[](#deploy-tokens "Permalink") - -版本历史 - -* 在 GitLab 10.7 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17894) . -* 从 GitLab 12.9 中的**设置>存储库** [移动](https://gitlab.com/gitlab-org/gitlab/-/issues/199370) . -* 在 GitLab 12.10 中[添加了`write_registry`范围](https://gitlab.com/gitlab-org/gitlab/-/issues/22743) . -* 从 GitLab 12.10.1.中的**"设置">" CI / CD"** [移动](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/29280) . -* 在 GitLab 13.0 中[添加了软件包注册表范围](https://gitlab.com/gitlab-org/gitlab/-/issues/213566) . - -部署令牌使您无需用户和密码即可下载( `git clone` )或推和拉项目的程序包和容器注册表映像. - -部署令牌只能由[维护者](../../permissions.html)管理. - -如果有密钥对,则可能要改用[部署密钥](../../../ssh/README.html#deploy-keys) . - -## Creating a Deploy Token[](#creating-a-deploy-token "Permalink") - -您可以从项目的设置中创建任意数量的部署令牌. 或者,您也可以创建[组范围的部署令牌](#group-deploy-token) . - -1. 登录到您的 GitLab 帐户. -2. 转到要为其创建"部署令牌"的项目(或组). -3. 去 **设置** > **存储库** . -4. 单击" **部署令牌"**部分上的"扩展". -5. 选择令牌的名称,有效期(可选)和用户名(可选). -6. 选择[所需的范围](#limiting-scopes-of-a-deploy-token) . -7. 单击**创建部署令牌** . -8. 将部署令牌保存在安全的地方. 离开或刷新页面后, **您将无法再次访问它** . - -[![Personal access tokens page](img/90bcd1f29936328bfb5d344868b8bb81.png)](img/deploy_tokens.png) - -## Deploy token expiration[](#deploy-token-expiration "Permalink") - -部署令牌在您定义的日期 UTC 午夜到期. - -## Revoking a deploy token[](#revoking-a-deploy-token "Permalink") - -您可以随时单击"活动的部署令牌"区域下的相应" **撤消"**按钮来撤消任何部署令牌. - -## Limiting scopes of a deploy token[](#limiting-scopes-of-a-deploy-token "Permalink") - -可以使用不同的作用域创建部署令牌,这些作用域允许给定令牌可以执行各种操作. 下表介绍了可用的范围以及引入的 GitLab 版本. - -| Scope | Description | 在 GitLab 版本中引入 | -| --- | --- | --- | -| `read_repository` | 允许通过`git clone`对存储库进行读取访问 | 10.7 | -| `read_registry` | 如果项目是私有的并且需要授权,则允许对[容器注册表](../../packages/container_registry/index.html)图像的读取访问. | 10.7 | -| `write_registry` | Allows write-access (push) to [container registry](../../packages/container_registry/index.html). | 12.10 | -| `read_package_registry` | 允许对包注册表进行读取访问. | 13.0 | -| `write_package_registry` | 允许对程序包注册表的写访问. | 13.0 | - -## Deploy token custom username[](#deploy-token-custom-username "Permalink") - -在 GitLab 12.1 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/29639) . - -默认的用户名格式为`gitlab+deploy-token-#{n}` . 某些工具或平台可能不支持此格式,在这种情况下,您可以指定在创建部署令牌时要使用的自定义用户名. - -## Usage[](#usage "Permalink") - -### Git clone a repository[](#git-clone-a-repository "Permalink") - -要使用部署令牌下载存储库,您只需要: - -1. 创建一个以`read_repository`为范围的部署令牌. -2. 记下您的`username`和`token` . -3. `git clone`使用 Deploy Token `git clone`项目: - - ``` - git clone https://:@gitlab.example.com/tanuki/awesome_project.git - ``` - -将``和``替换为正确的值. - -### Read Container Registry images[](#read-container-registry-images "Permalink") - -要读取容器注册表图像,您需要: - -1. 使用`read_registry`作为范围创建部署令牌. -2. 记下您的`username`和`token` . -3. 使用部署令牌登录到 GitLab 的 Container Registry: - -``` -docker login -u -p registry.example.com -``` - -只需将``和``替换为适当的值即可. 然后,您可以简单地从 Container Registry 中提取图像. - -### Push Container Registry images[](#push-container-registry-images "Permalink") - -在 GitLab 12.10 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/22743) . - -要推送容器注册表映像,您需要: - -1. 创建一个具有`write_registry`作为范围的部署令牌. -2. 记下您的`username`和`token` . -3. 使用部署令牌登录到 GitLab 的 Container Registry: - - ``` - docker login -u -p registry.example.com - ``` - -只需将``和``替换为适当的值即可. 然后,您可以简单地将图像推送到 Container Registry. - -### Read or pull packages[](#read-or-pull-packages "Permalink") - -在 GitLab 13.0 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/213566) . - -要在 GitLab 软件包注册表中提取软件包,您需要: - -1. 使用`read_package_registry`作为范围创建一个部署令牌. -2. 记下您的`username`和`token` . -3. 对于[您选择](./../../packages/index.html)的[软件包类型,请](./../../packages/index.html)遵循有关部署令牌的身份验证说明. - -### Push or upload packages[](#push-or-upload-packages "Permalink") - -在 GitLab 13.0 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/213566) . - -要在 GitLab 软件包注册表中上传软件包,您需要: - -1. 使用`write_package_registry`作为范围创建部署令牌. -2. 记下您的`username`和`token` . -3. 对于[您选择](./../../packages/index.html)的[软件包类型,请](./../../packages/index.html)遵循有关部署令牌的身份验证说明. - -### Group Deploy Token[](#group-deploy-token "Permalink") - -在 GitLab 12.9 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/21765) . - -在组级别创建的部署令牌可在属于特定组或其子组之一的所有项目中使用. - -有关概述,请参阅" [组部署令牌"](https://youtu.be/8kxTJvaD9ks) . - -要使用组部署令牌: - -1. 为组[创建](#creating-a-deploy-token)一个部署令牌. -2. 与[克隆存储库](#git-clone-a-repository)时使用项目部署令牌的方式相同. - -克隆相关项目的存储库时,应用于组部署令牌的范围(例如`read_repository` )将一致地应用. - -### GitLab Deploy Token[](#gitlab-deploy-token "Permalink") - -在 GitLab 10.8 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/18414) . - -部署令牌是一种特殊情况. 如果用户创建了一个名为`gitlab-deploy-token`的名称,则 Deploy Token 的用户名和令牌将自动作为环境变量暴露给 CI / CD 作业: `CI_DEPLOY_USER`和`CI_DEPLOY_PASSWORD` . - -创建令牌后,可以使用以下变量登录到 Container Registry: - -``` -docker login -u $CI_DEPLOY_USER -p $CI_DEPLOY_PASSWORD $CI_REGISTRY -``` - -**注意:**目前尚未为组部署令牌实现`gitlab-deploy-token`部署令牌的特殊处理. 为了使部署令牌可用于 CI / CD 作业,必须在项目级别创建它. 有关详细信息,请参[见此问题](https://gitlab.com/gitlab-org/gitlab/-/issues/214014) . \ No newline at end of file diff --git a/docs/071.md b/docs/071.md deleted file mode 100644 index 3164169..0000000 --- a/docs/071.md +++ /dev/null @@ -1,35 +0,0 @@ -# File finder - -> 原文:[https://docs.gitlab.com/ee/user/project/repository/file_finder.html](https://docs.gitlab.com/ee/user/project/repository/file_finder.html) - -* [How it works](#how-it-works) - -# File finder[](#file-finder "Permalink") - -在 GitLab 8.4 中[引入](https://github.com/gitlabhq/gitlabhq/pull/9889) . - -文件查找器功能使您可以使用 GitLab UI 在存储库中搜索文件. - -您可以在项目的" **文件"**部分中找到" **查找文件"**按钮. - -[![Find file button](img/264ee345c8d001f9b7cabf52e10f47bf.png)](img/file_finder_find_button_v12_10.png) - -对于那些喜欢用手指触摸键盘的人,还有一个[快捷按钮](../../shortcuts.html) ,您可以从项目中的*任何地方*调用它. - -在**问题** , **合并请求** , **里程碑**甚至项目设置中,按`t`键启动文件搜索功能. - -开始输入您要搜索的内容,然后观察魔术的发生. 使用向上/向下箭头,您可以向上和向下搜索结果,使用`Esc`可以关闭搜索并返回" **文件"** - -## How it works[](#how-it-works "Permalink") - -文件查找器功能由[模糊过滤器](https://github.com/jeancroy/fuzz-aldrin-plus)库提供支持. - -它通过突出显示来实现模糊搜索,并试图通过识别人们在搜索时使用的模式来提供直观的结果. - -例如,考虑[GitLab FOSS 存储库](https://gitlab.com/gitlab-org/gitlab-foss/tree/master) ,并且我们要打开`app/controllers/admin/deploy_keys_controller.rb`文件. - -使用模糊搜索,我们首先输入使我们更接近文件的字母. - -**提示:**要缩小搜索范围,请在搜索词中包含`/` . - -[![Find file button](img/ead8d62e426d9309f25a82da77770f59.png)](img/file_finder_find_file_v12_10.png) \ No newline at end of file diff --git a/docs/072.md b/docs/072.md deleted file mode 100644 index b4506a3..0000000 --- a/docs/072.md +++ /dev/null @@ -1,22 +0,0 @@ -# Project integrations - -> 原文:[https://docs.gitlab.com/ee/user/project/integrations/](https://docs.gitlab.com/ee/user/project/integrations/) - -* [Integrations](#integrations) -* [Project webhooks](#project-webhooks) - -# Project integrations[](#project-integrations "Permalink") - -您可以在项目的**设置➔集成**页面下找到可用的集成. 您至少需要对该项目具有[维护者权限](../../permissions.html) . - -## Integrations[](#integrations "Permalink") - -集成使您可以将 GitLab 与其他应用程序集成. 它们有点像插件,因为它们为 GitLab 添加功能提供了很大的自由度. - -[Learn more about integrations.](overview.html) - -## Project webhooks[](#project-webhooks "Permalink") - -通过项目 webhooks,您可以在例如推送新代码或创建新问题时触发 URL. 您可以将 webhook 配置为侦听特定事件,例如推送,问题或合并请求. GitLab 会将带有数据的 POST 请求发送到 webhook URL. - -[Learn more about webhooks.](webhooks.html) \ No newline at end of file diff --git a/docs/073.md b/docs/073.md deleted file mode 100644 index 0f38911..0000000 --- a/docs/073.md +++ /dev/null @@ -1,112 +0,0 @@ -# Integrations - -> 原文:[https://docs.gitlab.com/ee/user/project/integrations/overview.html](https://docs.gitlab.com/ee/user/project/integrations/overview.html) - -* [Accessing integrations](#accessing-integrations) -* [Integrations listing](#integrations-listing) -* [Push hooks limit](#push-hooks-limit) -* [Service templates](#service-templates) -* [Troubleshooting integrations](#troubleshooting-integrations) - * [Uninitialized repositories](#uninitialized-repositories) -* [Contributing to integrations](#contributing-to-integrations) - -# Integrations[](#integrations "Permalink") - -集成使您可以将 GitLab 与其他应用程序集成. 它们有点像插件,因为它们为 GitLab 添加功能提供了很大的自由度. - -## Accessing integrations[](#accessing-integrations "Permalink") - -您可以在项目的**设置➔集成**页面下找到可用的集成. - -有 20 多个要集成的集成. 单击您要配置的一个. - -[![Integrations list](img/da1fdf492cc3f883353bb1997795a4a5.png)](img/project_services.png) - -## Integrations listing[](#integrations-listing "Permalink") - -单击服务链接以查看更多的配置说明和详细信息. - -| Service | Description | 服务挂钩 | -| --- | --- | --- | -| Asana | Asana-无需电子邮件的团队合作 | No | -| Assembla | 项目管理软件(源提交端点) | No | -| [Atlassian Bamboo CI](bamboo.html) | 持续集成和构建服务器 | Yes | -| Buildkite | 持续集成和部署 | Yes | -| [Bugzilla](bugzilla.html) | Bugzilla 问题追踪器 | No | -| Campfire | 基于网络的简单实时群聊 | No | -| [Confluence](../../../api/services.html#confluence-service) | 将指向内部 Wiki 的链接替换为指向 Confluence Cloud Workspace 的链接 | No | -| 自定义问题跟踪器 | 自定义问题跟踪器 | No | -| [Discord Notifications](discord_notifications.html) | 在 Discord 中接收事件通知 | No | -| CI 无人机 | Go 编写的基于 Docker 的持续集成平台 | Yes | -| [Emails on push](emails_on_push.html) | 通过电子邮件将每次推送的提交和差异发送到收件人列表 | No | -| 外部维基 | 将指向内部 Wiki 的链接替换为指向外部 Wiki 的链接 | No | -| Flowdock | Flowdock 是面向技术团队的协作网络应用程序 | No | -| [Generic alerts](generic_alerts.html) | 从任何来源接收有关 GitLab 的警报 | No | -| [GitHub](github.html) | 发送管道通知到 GitHub | No | -| [Hangouts Chat](hangouts_chat.html) | 在 Google 环聊中接收事件通知 | No | -| [HipChat](hipchat.html) | 私人群聊和即时消息 | No | -| [Irker (IRC gateway)](irker.html) | 通过 Irker 网关在更新时将 IRC 消息发送到收件人列表 | No | -| [Jira](jira.html) | 吉拉问题追踪器 | No | -| [Jenkins](../../../integration/jenkins.html) | 可扩展的开源持续集成服务器 | Yes | -| JetBrains TeamCity CI | 持续集成和构建服务器 | Yes | -| [Mattermost slash commands](mattermost_slash_commands.html) | 最重要的聊天和 ChatOps 斜杠命令 | No | -| [Mattermost Notifications](mattermost.html) | 在 Mattermost 接收事件通知 | No | -| [Microsoft teams](microsoft_teams.html) | 使用 Office 365 连接器接收有关在 GitLab 上进入 Microsoft Teams 房间的操作的通知 | No | -| Packagist | 在主要 Composer 存储库 Packagist 上更新项目 | Yes | -| 管道电子邮件 | 通过电子邮件将管道状态发送给收件人列表 | No | -| [Slack Notifications](slack.html) | 将 GitLab 事件(例如,已创建问题)作为通知发送到 Slack | No | -| [Slack slash commands](slack_slash_commands.html) | 在 Slack 中使用斜杠命令控制 GitLab | No | -| [GitLab Slack application](gitlab_slack_application.html) | 使用 Slack 的官方应用程序 | No | -| PivotalTracker | 项目管理软件(源提交端点) | No | -| [Prometheus](prometheus.html) | 监控已部署应用程序的性能 | No | -| Pushover | 通过 Pushover,可以轻松在 Android 设备,iPhone,iPad 和台式机上获取实时通知 | No | -| [Redmine](redmine.html) | Redmine 问题追踪器 | No | -| [Unify Circuit](unify_circuit.html) | 在统一电路中接收事件通知 | No | -| [Webex Teams](webex_teams.html) | 在 Webex Teams 中接收事件通知 | No | -| [YouTrack](youtrack.html) | YouTrack 问题追踪器 | No | - -## Push hooks limit[](#push-hooks-limit "Permalink") - -在 GitLab 12.4 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/17874) . - -如果单个推送包含对三个以上分支或标签的更改,则`push_hooks`和`tag_push_hooks`事件支持的服务将不会执行. - -可以通过[`push_event_hooks_limit`应用程序设置](../../../api/settings.html#list-of-settings-that-can-be-accessed-via-api-calls)来更改支持的分支或标记的数量. - -## Service templates[](#service-templates "Permalink") - -服务模板是为实例上所有新项目之间的集成设置预定义值的方法. - -[在本文档中](services_templates.html)阅读有关[服务模板的](services_templates.html)更多信息. - -## Troubleshooting integrations[](#troubleshooting-integrations "Permalink") - -某些集成使用服务挂钩来与外部应用程序集成. 要确认哪些使用服务挂钩,请参见上面[列出](#integrations-listing)的[集成](#integrations-listing) . GitLab 存储最近 2 天内发出的服务挂钩请求的详细信息. 要查看请求的详细信息,请转到该集成的配置页面. - -**最近发送**部分列出了最近 2 天内提出的每个请求的详细信息: - -* HTTP 状态代码(绿色表示 200-299 代码,红色表示其他代码, `internal error`表示传送失败) -* 触发事件 -* 请求发送到的 URL -* 请求经过的时间 -* 提出请求的相对时间 - -要查看有关请求执行的更多信息,请单击相应的**查看详细信息**链接. 在详细信息页面上,您可以看到 GitLab 发送和接收的请求标头和正文. - -要使用相同的数据重复发送,请点击**重新发送请求** . - -[![Recent deliveries](img/78dac22706dcca5ce3855d23987289ea.png)](img/webhook_logs.png) - -### Uninitialized repositories[](#uninitialized-repositories "Permalink") - -某些集成失败,并显示错误" `Test Failed. Save Anyway` 尝试在未初始化的存储库上设置它们时,仍然要`Test Failed. Save Anyway` . 某些集成使用推送数据来构建测试有效负载,并且当项目中尚无推送事件时,就会发生此错误. - -要解决此错误,请通过将测试文件推送到项目来初始化存储库,然后再次设置集成. - -## Contributing to integrations[](#contributing-to-integrations "Permalink") - -因为 GitLab 是开源的,所以我们可以附带所有插件的代码和测试. 这使社区可以使插件保持最新状态,以便它们始终在较新的 GitLab 版本中运行. - -有关可用集成的概述,请参见[project_services 源目录](https://gitlab.com/gitlab-org/gitlab/tree/master/app/models/project_services) . - -欢迎捐款! \ No newline at end of file diff --git a/docs/074.md b/docs/074.md deleted file mode 100644 index 0d206a7..0000000 --- a/docs/074.md +++ /dev/null @@ -1,50 +0,0 @@ -# Atlassian Bamboo CI Service - -> 原文:[https://docs.gitlab.com/ee/user/project/integrations/bamboo.html](https://docs.gitlab.com/ee/user/project/integrations/bamboo.html) - -* [Setup](#setup) - * [Complete these steps in Bamboo](#complete-these-steps-in-bamboo) - * [Complete these steps in GitLab](#complete-these-steps-in-gitlab) -* [Troubleshooting](#troubleshooting) - -# Atlassian Bamboo CI Service[](#atlassian-bamboo-ci-service "Permalink") - -GitLab 提供与 Atlassian Bamboo 的集成,以实现持续集成. 配置后,推送到项目将自动触发 Bamboo 的构建. 合并请求还将显示 CI 状态,显示构建是挂起,失败还是成功完成. 它还提供了指向 Bamboo 构建页面的链接,以获取更多信息. - -在接受 Webhook 和提交数据方面,Bamboo 并没有提供与传统构建系统相同的功能. 在 GitLab 集成之前,需要在 Bamboo 构建计划中进行一些配置. - -## Setup[](#setup "Permalink") - -### Complete these steps in Bamboo[](#complete-these-steps-in-bamboo "Permalink") - -1. 导航到 Bamboo 建设计划,然后从"操作"下拉列表中选择"配置计划". -2. 选择"触发器"标签. -3. 点击"添加触发器". -4. 输入描述,例如" GitLab 触发器" -5. 选择"提交更改后,存储库将触发构建" -6. 选中一个或多个存储库复选框 -7. 在"触发 IP 地址"框中输入 GitLab IP 地址. 这是允许触发 Bamboo 生成的 IP 地址的列表. -8. 保存触发器. -9. 在左窗格中,选择一个构建阶段. 如果您有多个构建阶段,则要选择包含 Git 签出任务的最后一个阶段. -10. Select the ‘Miscellaneous’ tab. -11. 在"模式匹配标签"下,将`${bamboo.repository.revision.number}`放在"标签"框中. -12. Save - -Bamboo 现在准备接受来自 GitLab 的触发器. 接下来,在 GitLab 中设置 Bamboo 服务. - -### Complete these steps in GitLab[](#complete-these-steps-in-gitlab "Permalink") - -1. 导航到要配置为触发构建的项目. -2. 导航到" [集成"页面](overview.html#accessing-integrations) -3. 点击" Atlassian Bamboo CI" -4. 确保启用了**活动**切换. -5. 输入 Bamboo 服务器的基本 URL. `https://bamboo.example.com` -6. Enter the build key from your Bamboo build plan. 输入 Bamboo 建造计划中的建造钥匙. Build keys are typically made up from the Project Key and Plan Key that are set on project/plan creation and separated with a dash ( `-` ), for example **PROJ-PLAN** . 构建密钥通常由在项目/计划创建时设置的项目密钥和计划密钥组成,并用破折号( `-` )分隔,例如**PROJ-PLAN** . This is a short, all uppercase identifier that is unique. 这是一个简短的全大写标识符,是唯一的. When viewing a plan within Bamboo, the build key is also shown in the browser URL, for example `https://bamboo.example.com/browse/PROJ-PLAN` . 在 Bamboo 内查看计划时,构建密钥也会显示在浏览器 URL 中,例如`https://bamboo.example.com/browse/PROJ-PLAN` . -7. 如有必要,请输入有权触发构建计划的 Bamboo 用户的用户名和密码. 如果不需要身份验证,请将这些字段留空. -8. 保存或选择单击"测试设置". 请注意,"测试设置"实际上会触发 Bamboo 的构建. - -## Troubleshooting[](#troubleshooting "Permalink") - -如果未触发构建,请确保在 Bamboo 的"触发 IP 地址"下输入了正确的 GitLab IP 地址. 还检查[服务挂钩日志中](overview.html#troubleshooting-integrations)是否存在请求失败. - -**注意:**从 GitLab 8.14.0 开始,构建会在推送事件中触发. \ No newline at end of file diff --git a/docs/075.md b/docs/075.md deleted file mode 100644 index eeff9e0..0000000 --- a/docs/075.md +++ /dev/null @@ -1,33 +0,0 @@ -# Bugzilla Service - -> 原文:[https://docs.gitlab.com/ee/user/project/integrations/bugzilla.html](https://docs.gitlab.com/ee/user/project/integrations/bugzilla.html) - -* [Referencing issues in Bugzilla](#referencing-issues-in-bugzilla) -* [Troubleshooting](#troubleshooting) - -# Bugzilla Service[](#bugzilla-service "Permalink") - -导航到[Integrations 页面](overview.html#accessing-integrations) ,选择**Bugzilla**服务,然后按照下表中的说明填写所需的详细信息. - -| Field | Description | -| --- | --- | -| `project_url` | The URL to the project in Bugzilla which is being linked to this GitLab project. Note that the `project_url` requires PRODUCT_NAME to be updated with the product/project name in Bugzilla. | -| `issues_url` | 链接到此 GitLab 项目的 Bugzilla 项目中问题的 URL. 请注意, `issues_url`在 URL 中需要`:id` . GitLab 使用此 ID 作为占位符来替换问题编号. | -| `new_issue_url` | 这是在 Bugzilla 中为与此 GitLab 项目链接的项目创建新问题的 URL. 请注意,在`new_issue_url`中, `new_issue_url`要求使用产品/项目名称更新 PRODUCT_NAME. | - -配置并启用 Bugzilla 后,您将在 GitLab 项目页面上看到 Bugzilla 链接,该链接将您带到相应的 Bugzilla 项目. - -## Referencing issues in Bugzilla[](#referencing-issues-in-bugzilla "Permalink") - -Bugzilla 中的问题可以通过两种替代方式进行引用: - -* `#` ,其中``是数字(示例`#143` ). -* `-` ,其中``以大写字母开头,然后是大写字母,数字或下划线,并且``是数字(示例`API_32-143` ). - -如果您同时启用了内部和外部问题跟踪器,我们建议使用更长的格式. 如果您使用较短的格式,并且内部问题跟踪器中存在具有相同 ID 的问题,则内部问题将被链接. - -请注意, ``部分将被忽略,链接始终指向`issues_url`指定的地址. - -## Troubleshooting[](#troubleshooting "Permalink") - -要查看最近的服务挂钩交付,请检查[服务挂钩日志](overview.html#troubleshooting-integrations) . \ No newline at end of file diff --git a/docs/076.md b/docs/076.md deleted file mode 100644 index 484102c..0000000 --- a/docs/076.md +++ /dev/null @@ -1,33 +0,0 @@ -# Custom Issue Tracker service - -> 原文:[https://docs.gitlab.com/ee/user/project/integrations/custom_issue_tracker.html](https://docs.gitlab.com/ee/user/project/integrations/custom_issue_tracker.html) - -* [Referencing issues](#referencing-issues) - -# Custom Issue Tracker service[](#custom-issue-tracker-service "Permalink") - -To enable the Custom Issue Tracker integration in a project: - -1. 去 **设置>集成** . -2. Click **自定义问题跟踪器** -3. 填写跟踪器的详细信息,例如标题,描述和 URL. 您以后也可以编辑这些字段. - - 这些是一些必填字段: - - | Field | Description | - | --- | --- | - | **项目网址** | 自定义问题跟踪器中项目的 URL. | - | **问题网址** | 问题跟踪器项目中与该 GitLab 项目链接的问题的 URL. 请注意, `issues_url`在 URL 中需要`:id` . GitLab 使用此 ID 作为占位符来替换问题编号. 例如, `https://customissuetracker.com/project-name/:id` . | - | **新发行网址** | 目前未使用. 将在以后的版本中进行更改. | - -4. Click **测试设置并保存更改**. - -配置并启用"自定义问题跟踪器"服务后,您将在 GitLab 项目页面上看到一个链接,该链接将您带至该自定义问题跟踪器. - -## Referencing issues[](#referencing-issues "Permalink") - -用`-` (例如`PROJECT-143` )引用问题,其中``可以是 CAPS 中的任何字符串,而``是自定义集成的目标项目中使用的数字. - -``是一个占位符,用于区分使用`#`引用的 GitLab 问题. 例如,您可以使用项目名称或项目密钥来替换它. - -构建超链接时, ``部分将被忽略,并且链接始终指向`issues_url`指定的地址,因此在上面的示例中, `PROJECT-143`将引用`https://customissuetracker.com/project-name/143` . \ No newline at end of file diff --git a/docs/077.md b/docs/077.md deleted file mode 100644 index 3537af1..0000000 --- a/docs/077.md +++ /dev/null @@ -1,36 +0,0 @@ -# Discord Notifications service - -> 原文:[https://docs.gitlab.com/ee/user/project/integrations/discord_notifications.html](https://docs.gitlab.com/ee/user/project/integrations/discord_notifications.html) - -* [Create webhook](#create-webhook) -* [Configure created webhook in GitLab](#configure-created-webhook-in-gitlab) - -# Discord Notifications service[](#discord-notifications-service "Permalink") - -在 GitLab 11.6 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/22684) . - -Discord Notifications 服务将事件通知从 GitLab 发送到创建 Webhook 的通道. - -要将 GitLab 事件通知发送到 Discord 频道,请在 Discord 中创建一个 Webhook,然后在 GitLab 中对其进行配置. - -## Create webhook[](#create-webhook "Permalink") - -1. 打开您要接收 GitLab 事件通知的 Discord 频道. -2. 在频道菜单中,选择**编辑频道** . -3. 单击**Webhooks**菜单项. -4. 单击**创建 Webhook**按钮,然后填写将发布消息的机器人的名称. (可选)编辑头像. -5. 记下" **WEBHOOK URL"**字段中的**URL** . -6. 单击**保存**按钮. - -## Configure created webhook in GitLab[](#configure-created-webhook-in-gitlab "Permalink") - -使用在 Discord 频道中创建的 webhook URL,可以在 GitLab 中设置 Discord Notifications 服务. - -1. 导航到项目设置中的" [集成"页面](overview.html#accessing-integrations) . 也就是说, **项目>设置>集成** . -2. 选择" **Discord Notifications"**集成进行配置. -3. 确保启用了**活动**切换. -4. 选中与您要向 Discord 发送通知的 GitLab 事件相对应的复选框. -5. 粘贴您从创建 Discord Webhook 步骤复制的 Webhook URL. -6. 配置其余选项,然后单击" **保存更改"**按钮. - -您创建了 Webhook 的 Discord 频道现在将收到有关已配置的 GitLab 事件的通知. \ No newline at end of file diff --git a/docs/078.md b/docs/078.md deleted file mode 100644 index ac0f834..0000000 --- a/docs/078.md +++ /dev/null @@ -1,22 +0,0 @@ -# Enabling emails on push - -> 原文:[https://docs.gitlab.com/ee/user/project/integrations/emails_on_push.html](https://docs.gitlab.com/ee/user/project/integrations/emails_on_push.html) - -# Enabling emails on push[](#enabling-emails-on-push "Permalink") - -通过启用此服务,您将收到有关推送至项目的每个更改的电子邮件通知. - -在" [集成"页面中,](overview.html#accessing-integrations)选择**"推送**服务中的**电子邮件"**以激活和配置它. - -在" *收件人"*区域中,提供用空格或换行符分隔的电子邮件列表. - -提供以下选项: - -* **推送事件** -收到推送事件时将触发电子邮件. -* **标记推送事件** -创建和推送标记时将触发电子邮件. -* **从提交者**发送-如果该域是运行 GitLab 的域的一部分,则从提交者的电子邮件地址发送通知(例如`user@gitlab.com` ). -* **禁用代码差异** -通知正文中不要包含敏感的代码差异. - -| Settings | Notification | -| --- | --- | -| [![Email on push service settings](img/b4a1ffd094e753d655825c1385561991.png)](img/emails_on_push_service.png) | [![Email on push notification](img/906ca69aaf7c7a7f53479eb595f83ec0.png)](img/emails_on_push_email.png) | \ No newline at end of file diff --git a/docs/079.md b/docs/079.md deleted file mode 100644 index 9299957..0000000 --- a/docs/079.md +++ /dev/null @@ -1,53 +0,0 @@ -# GitHub project integration - -> 原文:[https://docs.gitlab.com/ee/user/project/integrations/github.html](https://docs.gitlab.com/ee/user/project/integrations/github.html) - -* [Configuration](#configuration) - * [Complete these steps on GitHub](#complete-these-steps-on-github) - * [Complete these steps on GitLab](#complete-these-steps-on-gitlab) - * [Static / dynamic status check names](#static--dynamic-status-check-names) - -# GitHub project integration[](#github-project-integration-premium "Permalink") - -在 GitLab Premium 10.6 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/3836) . - -GitLab 提供了一个集成,用于更新 GitHub 上的管道状态. 如果仅将 GitLab 用于 CI / CD,这将特别有用. - -此项目集成与[实例范围的 GitHub 集成](../import/github.html#mirroring-and-pipeline-status-sharing)分开,并且在[GitHub import](../../../integration/github.html)上自动配置. - -[![Pipeline status update on GitHub](img/e3e09b090e6c8612f71f6dbd7244cbb2.png)](img/github_status_check_pipeline_update.png) - -## Configuration[](#configuration "Permalink") - -### Complete these steps on GitHub[](#complete-these-steps-on-github "Permalink") - -此集成需要[GitHub API 令牌,](https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token)并授予`repo:status`访问权限: - -1. 转到[https://github.com/settings/tokens 上的](https://github.com/settings/tokens) "个人访问令牌"页面. -2. 点击"生成新令牌" -3. 确保选中`repo:status`并单击" Generate token" -4. 复制生成的令牌以在 GitLab 上使用 - -### Complete these steps on GitLab[](#complete-these-steps-on-gitlab "Permalink") - -1. Navigate to the project you want to configure. -2. 导航到" [集成"页面](overview.html#accessing-integrations) -3. 点击" GitHub". -4. 确保启用了**活动**切换. -5. 粘贴您在 GitHub 上生成的令牌 -6. 输入您在 GitHub 上的项目的路径,例如`https://github.com/username/repository` -7. (可选)取消选中" **静态状态检查名称"**复选框以禁用静态状态检查名称. -8. 保存或选择单击"测试设置". - -配置完集成后,请参阅[外部请求请求的](../../../ci/ci_cd_for_external_repos/#pipelines-for-external-pull-requests)管道,以配置要为打开请求请求运行的管道. - -#### Static / dynamic status check names[](#static--dynamic-status-check-names "Permalink") - -版本历史 - -* 在 GitLab 11.5 中引入:使用静态检查名称作为选择加入选项. -* [在 GitLab 12.4 中](https://gitlab.com/gitlab-org/gitlab/-/issues/9931) ,静态状态检查名称是新项目的默认行为. - -This makes it possible to mark these status checks as *Required* on GitHub. 这样就可以在 GitHub 上将这些状态检查标记为" *必需* ". With **Static status check names** enabled on the integration page, your GitLab instance host name is going to be appended to a status check name, whereas in case of dynamic status check names, a branch name is going to be appended. 在集成页面上启用了**静态状态检查名称后** ,您的 GitLab 实例主机名将被附加到状态检查名称中,而在动态状态检查名的情况下将被添加分支名称. - -[![Configure GitHub Project Integration](img/9101937463fa0be989f93d09d9f54d7a.png)](img/github_configuration.png) \ No newline at end of file diff --git a/docs/080.md b/docs/080.md deleted file mode 100644 index 173779b..0000000 --- a/docs/080.md +++ /dev/null @@ -1,36 +0,0 @@ -# Hangouts Chat service - -> 原文:[https://docs.gitlab.com/ee/user/project/integrations/hangouts_chat.html](https://docs.gitlab.com/ee/user/project/integrations/hangouts_chat.html) - -* [On Hangouts Chat](#on-hangouts-chat) -* [On GitLab](#on-gitlab) - -# Hangouts Chat service[](#hangouts-chat-service "Permalink") - -在 GitLab 11.2 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/43756) . - -环聊聊天服务将通知从 GitLab 发送到创建 Webhook 的房间. - -## On Hangouts Chat[](#on-hangouts-chat "Permalink") - -1. 打开要在其中查看通知的聊天室. -2. 从聊天室菜单中,选择**配置 Webhooks** . -3. 单击**添加网站,**然后填写将发布消息的机器人的名称. (可选)定义头像. -4. 单击" **保存",**然后复制您的**Webhook 的 Webhook URL** . - -另请参阅[环聊聊天文档,以配置传入的 Webhooks](https://developers.google.com/hangouts/chat/how-tos/webhooks) - -## On GitLab[](#on-gitlab "Permalink") - -当您拥有环**聊聊天**室**Webhook 的 Webhook URL 时** ,您可以设置 GitLab 服务. - -1. 导航到项目设置中的" [集成"页面](overview.html#accessing-integrations) ,即" **项目">"设置">"集成"** . -2. 选择**环聊聊天**集成进行配置. -3. 确保启用了**活动**切换. -4. 选中与您要接收的 GitLab 事件相对应的复选框. -5. 粘贴您从环**聊聊天**配置步骤中复制的**Webhook URL** . -6. 配置其余选项,然后单击" `Save changes` . - -您的环聊聊天室现在将开始接收配置的 GitLab 事件通知. - -[![Hangouts Chat configuration](img/5f87ce250e2ea1a803a3aeda446eca15.png)](img/hangouts_chat_configuration.png) \ No newline at end of file diff --git a/docs/081.md b/docs/081.md deleted file mode 100644 index 05c94c7..0000000 --- a/docs/081.md +++ /dev/null @@ -1,50 +0,0 @@ -# Atlassian HipChat - -> 原文:[https://docs.gitlab.com/ee/user/project/integrations/hipchat.html](https://docs.gitlab.com/ee/user/project/integrations/hipchat.html) - -* [Setup](#setup) - * [Complete these steps in HipChat](#complete-these-steps-in-hipchat) - * [Complete these steps in GitLab](#complete-these-steps-in-gitlab) -* [Troubleshooting](#troubleshooting) - -# Atlassian HipChat[](#atlassian-hipchat "Permalink") - -GitLab 提供了一种在许多事件(例如,当用户按下代码,创建分支或标签,添加注释以及创建合并请求)时发送 HipChat 通知的方法. - -## Setup[](#setup "Permalink") - -GitLab 要求使用 HipChat v2 API 令牌才能工作. 目前不支持 v1 令牌. 注意 v1 和 v2 令牌之间的区别: - -HipChat v1 API(旧版)在" Group API"菜单中支持" API Auth Tokens". 允许使用 v1 令牌将消息发送到*任何*房间. - -HipChat v2 API 具有可以使用"组"或"房间"管理页面中的"集成"选项卡创建的令牌. 根据设计,这些是轻量级令牌,允许 GitLab 仅将消息发送到*一个*房间. - -### Complete these steps in HipChat[](#complete-these-steps-in-hipchat "Permalink") - -1. 转到: `https://admin.hipchat.com/admin` : `https://admin.hipchat.com/admin` -2. 单击"组管理员"->"集成". -3. 找到"自己动手!" 然后点击"创建". -4. 选择所需的房间,将集成命名为" GitLab",然后单击"创建". -5. 在"通过发布此 URL 将消息发送到此房间"列中,您应该看到以下格式的 URL: - -``` -https://api.hipchat.com/v2/room//notification?auth_token= -``` - -HipChat 现在准备接受来自 GitLab 的消息. 接下来,在 GitLab 中设置 HipChat 服务. - -### Complete these steps in GitLab[](#complete-these-steps-in-gitlab "Permalink") - -1. 导航到您要为通知配置的项目. -2. 导航到" [集成"页面](overview.html#accessing-integrations) -3. 点击" HipChat". -4. 确保启用了**活动**切换. -5. 插入`token`从 URL 字段进入`Token`在 Web 页面上的字段. -6. 插入`room`从 URL 字段进入`Room`在 Web 页面上字段. -7. 保存或选择单击"测试设置". - -## Troubleshooting[](#troubleshooting "Permalink") - -如果没有看到通知,请确保您使用的是 HipChat v2 API 令牌,而不是 v1 令牌. - -请注意,v2 令牌绑定到特定房间. 如果希望能够指定任意房间,则可以在 HipChat 中"帐户设置"和" API 访问"下为特定用户创建 API 令牌. 使用`auth_token=XXX`下的`XXX`值. \ No newline at end of file diff --git a/docs/082.md b/docs/082.md deleted file mode 100644 index 0c9029f..0000000 --- a/docs/082.md +++ /dev/null @@ -1,43 +0,0 @@ -# Irker IRC Gateway - -> 原文:[https://docs.gitlab.com/ee/user/project/integrations/irker.html](https://docs.gitlab.com/ee/user/project/integrations/irker.html) - -* [Needed setup](#needed-setup) -* [Complete these steps in GitLab](#complete-these-steps-in-gitlab) -* [Note on Irker recipients](#note-on-irker-recipients) - -# Irker IRC Gateway[](#irker-irc-gateway "Permalink") - -GitLab 提供了一种将更新消息推送到 Irker 服务器的方法. 配置后,推送到项目将触发服务将数据直接发送到 Irker 服务器. - -有关更多信息,请参见项目主页: [https](https://gitlab.com/esr/irker) : [//gitlab.com/esr/irker](https://gitlab.com/esr/irker) - -## Needed setup[](#needed-setup "Permalink") - -您首先需要一个 Irker 守护程序. 您可以从[https://gitlab.com/esr/irker 的](https://gitlab.com/esr/irker)存储库中下载 Irker 代码: - -``` -git clone https://gitlab.com/esr/irker.git -``` - -下载代码后,您可以运行名为`irkerd`的 Python 脚本. 该脚本是网关脚本,它既充当 IRC 客户端(用于显然将消息发送到 IRC 服务器),又充当 TCP 服务器(用于从 GitLab 服务接收消息). - -如果 Irker 服务器在同一台计算机上运行,​​则操作完成. 如果没有,您将需要遵循下一部分的第一步. - -## Complete these steps in GitLab[](#complete-these-steps-in-gitlab "Permalink") - -1. 导航到您要为通知配置的项目. -2. 导航到" [集成"页面](overview.html#accessing-integrations) -3. Click “Irker”. -4. 确保启用了**活动**切换. -5. 在网页的" `Server host`字段中输入`irkerd`运行的服务器主机地址(默认为`localhost` ). -6. 在网页的" `Server port`字段中输入`irkerd`的服务器端口(例如,默认为 6659). -7. 可选:如果设置了`Default IRC URI` ,则其格式必须为`irc[s]://domain.name`并且将`irc[s]://domain.name`在用户提供的每个通道(不是完整 URI)之前. -8. 指定收件人(例如,#channel1,user1 等) -9. 保存或选择单击"测试设置". - -## Note on Irker recipients[](#note-on-irker-recipients "Permalink") - -Irker 接受形式的信道名称`chan`和`#chan`为,既`#chan`通道. 如果要在查询中发送消息,则需要在频道名称后添加`,isnick` ,格式为: `Aorimn,isnick` . 在后一种情况下, `Aorimn`被视为昵称,而不再被视为频道名称. - -Irker 也可以加入受密码保护的频道. 用户需要在 chan 名称后附加`?key=thesecretpassword` . 使用此功能时,请记住**不要**在频道名称前加上`#`号; 否则,irker 会加入一个字面名为`#chan?key=password`的通道,此后将通过`/whois` IRC 命令(取决于 IRC 服务器配置)泄漏该通道密钥. 这是由于长期存在的虫虫. \ No newline at end of file diff --git a/docs/083.md b/docs/083.md deleted file mode 100644 index 9be472f..0000000 --- a/docs/083.md +++ /dev/null @@ -1,178 +0,0 @@ -# GitLab Jira integration - -> 原文:[https://docs.gitlab.com/ee/user/project/integrations/jira.html](https://docs.gitlab.com/ee/user/project/integrations/jira.html) - -* [Configuration](#configuration) - * [Configuring Jira](#configuring-jira) - * [Jira Server](#jira-server) - * [Jira Cloud](#jira-cloud) - * [Configuring GitLab](#configuring-gitlab) - * [Obtaining a transition ID](#obtaining-a-transition-id) - * [Disabling comments on Jira issues](#disabling-comments-on-jira-issues) -* [Jira issues](#jira-issues) - * [Referencing Jira Issues](#referencing-jira-issues) - * [Closing Jira Issues](#closing-jira-issues) - * [Jira issue closing example](#jira-issue-closing-example) -* [Troubleshooting](#troubleshooting) - * [GitLab is unable to comment on a Jira issue](#gitlab-is-unable-to-comment-on-a-jira-issue) - * [GitLab is unable to close a Jira issue](#gitlab-is-unable-to-close-a-jira-issue) - * [CAPTCHA](#captcha) - -# GitLab Jira integration[](#gitlab-jira-integration "Permalink") - -GitLab 问题是讨论想法,计划和跟踪工作的强大工具. 但是,许多组织已经将 Jira 用于这些目的,并且内置了广泛的数据和业务流程. - -尽管您始终可以将内容和流程从 Jira 迁移到 GitLab Issue,但是您也可以选择继续使用 Jira,并通过我们的集成将其与 GitLab 一起使用. - -有关与 Jira 集成的视频演示,请观看有关[GitLab 工作流程的 Jira 问题和 Jenkins 管道](https://youtu.be/Jn-_fyra7xQ) . - -将 GitLab 项目与 Jira 实例集成后,即可自动检测 GitLab 项目与 Jira 中的任何项目之间的活动并进行交叉引用. 这包括在 GitLab 中完成工作后关闭或转换 Jira 问题的功能. - -在 GitLab 中执行以下操作时,集成的响应方式如下: - -* 在提交消息或 MR(合并请求)中**提及 Jira 问题 ID** . - * GitLab 超链接至 Jira 问题. - * Jira 问题将问题链接添加到 GitLab 中的提交/ MR. - * Jira 问题会添加评论,以反映在 GitLab 中发表的评论,评论作者以及在 GitLab 中指向 commit / MR 的链接,除非[禁用了](#disabling-comments-on-jira-issues)对 Jira 的评论. -* **提及提交或 MR"关闭","解决"或"修复" Jira 问题 ID** . 在项目的默认分支(通常是主分支)上进行提交或将更改合并到默认分支时: - * GitLab 的合并请求页面显示一条注释,指出"已关闭" Jira 问题,并带有指向该问题的链接. (注意:在合并之前,MR 将显示它"关闭"了 Jira 问题.) - * Jira 问题显示活动,并且 Jira 问题已关闭或已转换. - -您还可以直接从 GitLab 使用[Jira 的 Smart](https://confluence.atlassian.com/fisheye/using-smart-commits-960155400.html) Commit,如文章[如何以及为什么将 GitLab 与 Jira 集成中所述](https://www.programmableweb.com/news/how-and-why-to-integrate-gitlab-jira/how-to/2017/04/25) . - -## Configuration[](#configuration "Permalink") - -每个 GitLab 项目都可以配置为连接到整个 Jira 实例. 这意味着一个 GitLab 项目一旦配置,便可以与该实例中的*所有* Jira 项目进行交互. 因此,您不必将 GitLab 项目与任何单个 Jira 项目显式关联. - -如果您有一个 Jira 实例,则可以使用默认模板预先填充设置页面. 请参阅[服务模板](services_templates.html)文档. - -为了在 GitLab 中启用 Jira 服务,您需要首先在 Jira 中配置项目,然后在 GitLab 中输入正确的值. - -### Configuring Jira[](#configuring-jira "Permalink") - -#### Jira Server[](#jira-server "Permalink") - -**Jira Server**支持基本身份验证. 连接时,需要**用户名和密码** . 请注意,无法通过 CAS 连接到 Jira Server. 首先[在 Jira Server 中设置用户,](jira_server_configuration.html)然后继续[配置 GitLab](#configuring-gitlab) . - -#### Jira Cloud[](#jira-cloud "Permalink") - -**Jira Cloud**支持通过 API 令牌进行身份验证. 连接到**Jira Cloud 时** ,需要**电子邮件和 API 令牌** . 首先[在 Jira Cloud 中设置用户,](jira_cloud_configuration.html)然后继续[配置 GitLab](#configuring-gitlab) . - -### Configuring GitLab[](#configuring-gitlab "Permalink") - -> **Notes:** -> -> * 当前支持的 Jira 版本是`v6.x, v7.x, v8.x` . 需要 GitLab 7.8 或更高版本. -> * GitLab 8.14 引入了一种与 Jira 集成的新方法,该方法大大简化了您必须输入的配置选项. 如果您使用的是旧版本,请[遵循此文档](https://gitlab.com/gitlab-org/gitlab/blob/8-13-stable-ee/doc/project_services/jira.md) . -> * 为了支持 Oracle 的 Access Manager,GitLab 将发送其他 cookie 以启用基本身份验证. 添加到每个请求的 cookie 是`OBBasicAuth` ,其值为`fromDialog` . - -要在项目中启用 Jira 集成,请导航到[Integrations 页面](overview.html#accessing-integrations) ,单击**Jira**服务,然后按照下表中的说明在页面上填写所需的详细信息. - -| Field | Description | -| --- | --- | -| `Web URL` | 链接到此 GitLab 项目的 Jira 实例 Web 界面的基本 URL. 例如, `https://jira.example.com` . | -| `Jira API URL` | The base URL to the Jira instance API. Web URL value will be used if not set. E.g., `https://jira-api.example.com`. Leave this field blank (or use the same value of `Web URL`) if using **吉拉云**. | -| `Username/Email` | 在[配置 Jira step](#configuring-jira)时创建. 将`username`用于**Jira Server**或将`email`用于**Jira Cloud** . | -| `Password/API token` | 在[配置 Jira 步骤中](#configuring-jira)创建. 为**Jira Server**使用`password`或为**Jira Cloud**使用`API token` . | -| `Transition ID` | 这是将问题移至所需状态的过渡的 ID. 它可以插入过渡 IDS 分离通过`,`或`;` 这意味着将按照给定的顺序将问题逐个移至每个州. **如果您未正确设置 ID,则无法通过提交或合并请求来关闭 Jira 问题.** | - -### Obtaining a transition ID[](#obtaining-a-transition-id "Permalink") - -在最新的 Jira 用户界面中,您不再可以在工作流管理 UI 中看到过渡 ID. 您可以通过以下两种方式之一获取所需的 ID: - -1. 通过使用 API​​,并使用诸如处于适当"打开"状态的问题的请求(例如`https://yourcompany.atlassian.net/rest/api/2/issue/ISSUE-123/transitions` -2. 通过将鼠标悬停在所需转换的链接上并在 URL 中查找" action"参数 - -请注意,即使您要更改的状态相同,过渡 ID 在工作流之间也可能有所不同(例如,错误与故事). - -保存配置后,您的 GitLab 项目将能够与 Jira 实例中的所有 Jira 项目进行交互,并且您将在 GitLab 项目页面上看到 Jira 链接,该链接将您带到适当的 Jira 项目. - -[![Jira service page](img/ebaf329b1a5a45f2d451e4574f3d7857.png)](img/jira_service_page_v12_2.png) - -### Disabling comments on Jira issues[](#disabling-comments-on-jira-issues "Permalink") - -当您引用 Jira 问题时,它将始终链接回 GitLab 中的源提交/ MR,但是,您可以控制 GitLab 是否还将交叉发布对 Jira 问题的评论. 默认情况下启用该功能. - -要禁用对 Jira 问题的自动评论: - -1. 打开" [集成"页面,](overview.html#accessing-integrations)然后选择**Jira** . -2. 在" **事件操作"**部分中,取消选中" **注释"** . - -## Jira issues[](#jira-issues "Permalink") - -现在,您应该已经[配置了 Jira](#configuring-jira)并[在 GitLab 中](#configuring-gitlab)启用了[Jira 服务](#configuring-gitlab) . 如果一切设置正确,您应该能够通过在 GitLab 提交和合并请求中提及 ID 来引用和关闭 Jira 问题. - -### Referencing Jira Issues[](#referencing-jira-issues "Permalink") - -当 GitLab 项目配置并启用了 Jira 问题跟踪器时,在 GitLab 中提及 Jira 问题将自动在 Jira 问题中添加评论,并带有返回到 GitLab 的链接. 这意味着在合并请求和提交中引用问题的注释中,例如`PROJECT-7` ,将在 Jira issue 中添加以下格式的注释: - -``` -USER mentioned this issue in RESOURCE_NAME of [PROJECT_NAME|LINK_TO_COMMENT]: -ENTITY_TITLE -``` - -* `USER`提到问题的用户. 这是指向 GitLab 中的用户配置文件的链接. -* `LINK_TO_THE_COMMENT`链接到提及的来源,带有提及吉拉问题的实体的名称. -* `RESOURCE_NAME`引用该问题的`RESOURCE_NAME`种类. 可以是提交或合并请求. -* `PROJECT_NAME` GitLab 项目名称. -* `ENTITY_TITLE`合并请求标题或提交消息的第一行. - -[![example of mentioning or closing the Jira issue](img/bf46825f18b4b1998d719dffeab0c45c.png)](img/jira_issue_reference.png) - -例如,以下提交将引用以`PROJECT-1`作为 ID 的 Jira 问题: - -``` -git commit -m "PROJECT-1 Fix spelling and grammar" -``` - -### Closing Jira Issues[](#closing-jira-issues "Permalink") - -通过在提交和合并请求中使用触发词,可以直接从 GitLab 关闭 Jira 问题. 当推送包含触发词并在提交消息中包含 Jira 问题 ID 的提交时,GitLab 将在提到的 Jira 问题中添加注释,并立即将其关闭(前提是正确设置了转换 ID). - -当前有三个触发词,您可以使用其中一个来实现相同的目标: - -* `Resolves PROJECT-1` -* `Closes PROJECT-1` -* `Fixes PROJECT-1` - -其中`PROJECT-1`是 Jira 问题的 ID. - -> **Notes:** -> -> * 只有提交并合并到项目的默认分支(通常是**master** )才能关闭 Jira 中的问题. 您可以在[项目设置](img/jira_project_settings.png)下更改项目默认分支. -> * 如果有解决方案,那么 Jira 问题将不会过渡. - -### Jira issue closing example[](#jira-issue-closing-example "Permalink") - -让我们考虑以下示例: - -1. 对于 Jira 中名为`PROJECT` ,我们实现了一项新功能,并在 GitLab 中创建了合并请求. -2. This feature was requested in Jira issue `PROJECT-7` and the merge request in GitLab contains the improvement -3. 在合并请求描述中,我们使用问题关闭触发器`Closes PROJECT-7` . -4. 合并请求合并后,Jira 问题将自动关闭,并带有注释和指向解决该问题的提交的关联链接. - -在以下屏幕截图中,您可以看到指向 Jira 问题的链接的外观. - -[![A Git commit that causes the Jira issue to be closed](img/381000c5f5c6ad01300dfcc889f7fb0f.png)](img/jira_merge_request_close.png) - -合并此合并请求后,将通过指向解决该问题的提交的链接自动关闭 Jira 问题. - -[![The GitLab integration closes Jira issue](img/ae54430a80c08d51c51659ac1a4dd8b9.png)](img/jira_service_close_issue.png) - -## Troubleshooting[](#troubleshooting "Permalink") - -如果这些功能不能按预期方式工作,则可能是由于集成设置的配置存在问题. - -### GitLab is unable to comment on a Jira issue[](#gitlab-is-unable-to-comment-on-a-jira-issue "Permalink") - -如果您希望 GitLab 也可以这样做,请确保您为集成设置的 Jira 用户具有正确的访问权限,可以发表有关 Jira 问题的评论并转换问题. 如果禁用了 GitLab 问题跟踪器,则 Jira 问题参考和更新注释将不起作用. - -### GitLab is unable to close a Jira issue[](#gitlab-is-unable-to-close-a-jira-issue "Permalink") - -确保在" Jira"设置中设置的" `Transition ID`与您的项目解决问题所需的`Transition ID`匹配. - -确保尚未将 Jira 问题标记为已解决; 也就是说,未设置" Jira 问题解决"字段. (不应在 Jira 列表中删除它.) - -### CAPTCHA[](#captcha "Permalink") - -在连续几次失败的登录尝试后,可能会触发 CAPTCHA,这可能会在测试 Jira 集成时导致`401 unauthorized`错误. 如果已触发验证码,则您将无法使用 Jira 的 REST API 对 Jira 站点进行身份验证. 您将需要登录到您的 Jira 实例并完成 CAPTCHA. \ No newline at end of file diff --git a/docs/084.md b/docs/084.md deleted file mode 100644 index cbe7b6a..0000000 --- a/docs/084.md +++ /dev/null @@ -1,57 +0,0 @@ -# Mattermost Notifications Service - -> 原文:[https://docs.gitlab.com/ee/user/project/integrations/mattermost.html](https://docs.gitlab.com/ee/user/project/integrations/mattermost.html) - -* [On Mattermost](#on-mattermost) -* [On GitLab](#on-gitlab) - -# Mattermost Notifications Service[](#mattermost-notifications-service "Permalink") - -Mattermost Notifications Service 允许您的 GitLab 项目将事件(例如, `issue created` )作为通知发送到您现有的 Mattermost 团队. 这需要在 Mattermost 和 GitLab 中进行配置. - -您还可以使用 Mattermost 斜杠命令来控制 Mattermost 中的 GitLab. 这是单独配置的[Mattermost 斜杠命令](mattermost_slash_commands.html) . - -## On Mattermost[](#on-mattermost "Permalink") - -要启用 Mattermost 集成,您必须创建传入的 Webhook 集成: - -1. 登录到您的 Mattermost 实例. -2. 访问传入的 Webhooks,类似于: `https://mattermost.example.com/your_team_name/integrations/incoming_webhooks/add` ://mattermost.example.com/your_team_name/integrations/incoming_webhooks/add. -3. 选择显示名称,描述和通道,可以在 GitLab 上覆盖它们. -4. 保存它,复制**Webhook URL** ,稍后我们将在 GitLab 中使用它. - -传入的 Webhooks 可能在您的 Mattermost 实例上被阻止. 要求您的 Mattermost 管理员启用它: - -* **Mattermost** 5.12 及更高版本中的**Mattermost 系统控制台>集成>集成管理** . -* **Mattermost** 5.11 及更低版本中的**Mattermost 系统控制台>集成>自定义集成** . - -默认情况下,不启用显示名称覆盖,您需要让您的管理员在同一部分启用它. - -## On GitLab[](#on-gitlab "Permalink") - -设置 Mattermost 之后,就该设置 GitLab 了. - -导航到" [集成"页面,](overview.html#accessing-integrations)然后选择"最**重要的通知"**服务以对其进行配置. 在那里,您将看到一个带有以下可触发事件的复选框: - -* Push -* Issue -* 机密问题 -* 合并要求 -* Note -* 机密说明 -* 标签推送 -* Pipeline -* 维基页面 -* Deployment - -在每个事件复选框的下方,都有一个输入字段,用于输入您要发送该事件消息的 Mattermost 频道. 输入您首选的频道句柄(井号`#`是可选的). - -最后,填写您最重要的详细信息: - -| Field | Description | -| --- | --- | -| **Webhook** | 您必须在 Mattermost 上设置的传入 Webhook URL,它类似于: `http://mattermost.example/hooks/5xo…` | -| **Username** | 可选的用户名,可以在发送给 Mattermost 的邮件中使用. 如果要更改机器人的用户名,请填写. | -| **仅通知断开的管道** | 如果您选择启用**管道**事件,并且只希望收到有关失败管道的通知. | - -[![Mattermost configuration](img/95c0b87af108caee2a239482aec61675.png)](img/mattermost_configuration.png) \ No newline at end of file diff --git a/docs/085.md b/docs/085.md deleted file mode 100644 index 0053235..0000000 --- a/docs/085.md +++ /dev/null @@ -1,137 +0,0 @@ -# Mattermost slash commands - -> 原文:[https://docs.gitlab.com/ee/user/project/integrations/mattermost_slash_commands.html](https://docs.gitlab.com/ee/user/project/integrations/mattermost_slash_commands.html) - -* [Prerequisites](#prerequisites) -* [Automated configuration](#automated-configuration) -* [Manual configuration](#manual-configuration) - * [Step 1\. Enable custom slash commands in Mattermost](#step-1-enable-custom-slash-commands-in-mattermost) - * [Step 2\. Open the Mattermost slash commands service in GitLab](#step-2-open-the-mattermost-slash-commands-service-in-gitlab) - * [Step 3\. Create a new custom slash command in Mattermost](#step-3-create-a-new-custom-slash-command-in-mattermost) - * [Step 4\. Copy the Mattermost token into the Mattermost slash command service](#step-4-copy-the-mattermost-token-into-the-mattermost-slash-command-service) -* [Authorizing Mattermost to interact with GitLab](#authorizing-mattermost-to-interact-with-gitlab) -* [Available slash commands](#available-slash-commands) -* [Permissions](#permissions) -* [Troubleshooting](#troubleshooting) -* [Further reading](#further-reading) - -# Mattermost slash commands[](#mattermost-slash-commands "Permalink") - -在 GitLab 8.14 中引入 - -Mattermost 命令为用户提供了一个额外的界面,可以在聊天环境中执行常见操作. 例如,这使得一个问题一经在 Mattermost 中讨论后就可以创建. - -GitLab 还可以将事件(例如, `issue created` )作为通知发送到 Mattermost. 这是单独配置的[Mattermost Notifications Service](mattermost.html) . - -## Prerequisites[](#prerequisites "Permalink") - -需要 Mattermost 3.4 及更高版本. - -如果您安装了 Omnibus GitLab 软件包,则其中已包含 Mattermost. 您所要做的就是配置它. 在[Omnibus GitLab Mattermost 文档中](https://docs.gitlab.com/omnibus/gitlab-mattermost/)阅读更多[内容](https://docs.gitlab.com/omnibus/gitlab-mattermost/) . - -## Automated configuration[](#automated-configuration "Permalink") - -如果 Mattermost 与 GitLab 安装在同一服务器上,则 GitLab 可以为您完成配置过程. - -转到项目上的 Mattermost Slash Command 服务,然后单击"添加到 Mattermost"按钮. - -## Manual configuration[](#manual-configuration "Permalink") - -配置由两部分组成. 首先,您需要在 Mattermost 中启用斜杠命令,然后在 GitLab 中启用该服务. - -### Step 1\. Enable custom slash commands in Mattermost[](#step-1-enable-custom-slash-commands-in-mattermost "Permalink") - -仅在使用源代码安装时才需要执行此步骤,Omnibus 安装将使用正确的设置进行预配置. - -在 Mattermost 中要做的第一件事是从管理员控制台启用自定义斜杠命令. - -1. 使用具有管理员权限的帐户登录并导航至系统控制台. - - [![Mattermost go to console](img/e9fe43924bd4226e7b819104bcc8b8c1.png)](img/mattermost_goto_console.png) - -2. 单击" **自定义集成"**并将" **启用自定义斜杠命令"** ," **启用自定义集成以覆盖用户名** "和" **覆盖自定义集成以覆盖个人资料图片图标"设置**为 true. - - [![Mattermost console](img/75ffde23ab0100e58532632d19b84db0.png)](img/mattermost_console_integrations.png) - -3. 点击底部的**保存** ,保存更改. - -### Step 2\. Open the Mattermost slash commands service in GitLab[](#step-2-open-the-mattermost-slash-commands-service-in-gitlab "Permalink") - -1. 打开 GitLab 的新标签,转到项目的" [集成"页面,](overview.html#accessing-integrations)然后选择**Mattermost 命令**服务进行配置. 将出现一个屏幕,其中包含您需要在 Mattermost 中复制的所有值,如下一步所述. 使窗口保持打开状态. - - **注意:** GitLab 将为"最重要的设置"建议一些值. 原样复制粘贴的唯一要求是**请求 URL** ,所有其他都只是建议. - - [![Mattermost setup instructions](img/801adc20d157f18e08adbd379180f3c7.png)](img/mattermost_config_help.png) - -2. 继续下一步,并在 Mattermost 中使用上述值创建斜线命令. - -### Step 3\. Create a new custom slash command in Mattermost[](#step-3-create-a-new-custom-slash-command-in-mattermost "Permalink") - -现在,您已在 Mattermost 中启用了自定义斜杠命令并在 GitLab 中打开了 Mattermost 斜杠命令服务,是时候将这些值复制到新的斜杠命令中了. - -1. 回到 Mattermost,在团队页面设置下,您应该看到**Integrations**选项. - - [![Mattermost team integrations](img/d7b5490ec5cb26ce71f19d5c56f003f3.png)](img/mattermost_team_integrations.png) - -2. 转到**Slash Commands**集成,然后单击**Add Slash Command**按钮添加一个新的. - - [![Mattermost add command](img/3694fc45636610ba5fb4e24d7a9eb3b9.png)](img/mattermost_add_slash_command.png) - -3. 按照[步骤 2 中的说明](#step-2-open-the-mattermost-slash-commands-service-in-gitlab)填写自定义命令的选项. - - **注意:**如果计划连接多个项目,请选择一个与项目相关的斜杠命令触发词,例如`/gitlab-project-name`或什至`/project-name` . 仅在将单个项目连接到 Mattermost 团队时才使用`/gitlab` . - - [![Mattermost add command configuration](img/1fdfdef058a3092e25352089de97fee6.png)](img/mattermost_slash_command_configuration.png) - -4. 设置所有值之后,复制令牌(我们将在下面使用它)并单击**完成** . - - [![Mattermost slash command token](img/41571e3a155c671e6ff9f259f20fdeed.png)](img/mattermost_slash_command_token.png) - -### Step 4\. Copy the Mattermost token into the Mattermost slash command service[](#step-4-copy-the-mattermost-token-into-the-mattermost-slash-command-service "Permalink") - -1. 在 GitLab 中,粘贴您在上一步中复制的最重要的令牌,并确保启用了**活动**切换. - - [![Mattermost copy token to GitLab](img/07c2c84efb64460dfa2373f1f75645ab.png)](img/mattermost_gitlab_token.png) - -2. 单击**保存更改**以使更改生效. - -现在,您已设置为在 Mattermost 中开始使用与您配置的 GitLab 项目对话的斜杠命令. - -## Authorizing Mattermost to interact with GitLab[](#authorizing-mattermost-to-interact-with-gitlab "Permalink") - -用户首次与新创建的斜杠命令进行交互时,Mattermost 将触发授权过程. - -[![Mattermost bot authorize](img/6e17896087b8446f53400a1c8d39c0d6.png)](img/mattermost_bot_auth.png) - -这会将您的 Mattermost 用户与 GitLab 用户连接起来. 您可以在个人资料页面的" **聊天"**下看到所有授权的聊天帐户. - -授权过程完成后,您可以使用 Mattermost 命令开始与 GitLab 进行交互. - -## Available slash commands[](#available-slash-commands "Permalink") - -可用的斜杠命令是: - -| Command | Description | Example | -| --- | --- | --- | -| `/ 发出新的 `⇧Shift` + `↵输入` <description>` | 在与`<trigger>`绑定的项目中创建一个新问题. `<description>`是可选的. | `/gitlab issue new We need to change the homepage` | -| `/<trigger> issue show <issue-number>` | 显示与`<trigger>`绑定的项目中 ID 为`<issue-number>` . | `/gitlab issue show 42` | -| `/ <触发>将<环境>部署到<环境>` | 开始从一个环境部署到另一环境的 CI 作业,例如`staging`到`production` . CI / CD 必须[正确配置](../../../ci/yaml/README.html) . | `/gitlab deploy staging to production` | - -要查看与 GitLab 交互的可用命令列表,请输入触发词,然后输入`help` . 示例: `/gitlab help` - -[![Mattermost bot available commands](img/0c549416181d6e18eb1dd34825b00425.png)](img/mattermost_bot_available_commands.png) - -## Permissions[](#permissions "Permalink") - -运行[可用命令](#available-slash-commands)的[权限](../../permissions.html#project-members-permissions)源自[您对项目](../../permissions.html#project-members-permissions)的[权限](../../permissions.html#project-members-permissions) . - -## Troubleshooting[](#troubleshooting "Permalink") - -如果未触发某个事件,请确认您使用的频道是公开频道,因为 Mattermost Webhooks 无法访问私有频道. - -如果需要专用频道,则可以在 Mattermost 中编辑 Webhook 的频道并选择一个专用频道. 无法将不同的通道用于不同类型的通知-所有事件都将发送到指定的通道. - -## Further reading[](#further-reading "Permalink") - -* [Mattermost slash commands documentation](https://docs.mattermost.com/developer/slash-commands.html) -* [Omnibus GitLab Mattermost](https://docs.gitlab.com/omnibus/gitlab-mattermost/) \ No newline at end of file diff --git a/docs/086.md b/docs/086.md deleted file mode 100644 index ebb6d65..0000000 --- a/docs/086.md +++ /dev/null @@ -1,38 +0,0 @@ -# Microsoft Teams service - -> 原文:[https://docs.gitlab.com/ee/user/project/integrations/microsoft_teams.html](https://docs.gitlab.com/ee/user/project/integrations/microsoft_teams.html) - -* [On Microsoft Teams](#on-microsoft-teams) -* [On GitLab](#on-gitlab) - -# Microsoft Teams service[](#microsoft-teams-service "Permalink") - -## On Microsoft Teams[](#on-microsoft-teams "Permalink") - -要启用 Microsoft Teams 集成,必须按照" [向连接器和 Webhooks 发送消息"中](https://docs.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/connectors-using)所述的步骤,在 Microsoft Teams 上创建传入的 Webhook 集成. - -## On GitLab[](#on-gitlab "Permalink") - -设置 Microsoft Teams 之后,就该设置 GitLab 了. - -导航到" [集成"页面,](overview.html#accessing-integrations)然后选择" **Microsoft Teams Notification"**服务进行配置. 在那里,您将看到一个带有以下可触发事件的复选框: - -* Push -* Issue -* 机密问题 -* 合并要求 -* Note -* 标签推送 -* Pipeline -* 维基页面 - -最后,填写您的 Microsoft Teams 详细信息: - -| Field | Description | -| --- | --- | -| **Webhook** | 您必须在 Microsoft Teams 上设置的传入 Webhook URL. | -| **仅通知断开的管道** | 如果您选择启用**管道**事件,并且只希望收到有关失败管道的通知. | - -完成所有操作后,单击" **保存更改"**以使更改生效. - -[![Microsoft Teams configuration](img/114dc1abb6412aca14f3c3b6ad3048dc.png)](img/microsoft_teams_configuration.png) \ No newline at end of file diff --git a/docs/087.md b/docs/087.md deleted file mode 100644 index 927e6eb..0000000 --- a/docs/087.md +++ /dev/null @@ -1,17 +0,0 @@ -# Mock CI Service - -> 原文:[https://docs.gitlab.com/ee/user/project/integrations/mock_ci.html](https://docs.gitlab.com/ee/user/project/integrations/mock_ci.html) - -# Mock CI Service[](#mock-ci-service "Permalink") - -**注意:仅当您处于开发环境中时,此服务才会列出!** - -要设置模拟 CI 服务服务器,请响应以下端点 - -* `commit_status`: `#{project.namespace.path}/#{project.path}/status/#{sha}.json` - * 让您的服务返回`200 { status: ['failed'|'canceled'|'running'|'pending'|'success'|'success-with-warnings'|'skipped'|'not_found'] }` - * 如果服务返回 404,则将其解释为`pending` -* `build_page`: `#{project.namespace.path}/#{project.path}/status/#{sha}` - * 构建链接到的位置,是否实施无关紧要 - -有关模拟 CI 服务器的示例,请参见[`gitlab-org/gitlab-mock-ci-service`](https://gitlab.com/gitlab-org/gitlab-mock-ci-service) \ No newline at end of file diff --git a/docs/088.md b/docs/088.md deleted file mode 100644 index 01c2052..0000000 --- a/docs/088.md +++ /dev/null @@ -1,135 +0,0 @@ -# Prometheus integration - -> 原文:[https://docs.gitlab.com/ee/user/project/integrations/prometheus.html](https://docs.gitlab.com/ee/user/project/integrations/prometheus.html) - -* [Enabling Prometheus Integration](#enabling-prometheus-integration) - * [Managed Prometheus on Kubernetes](#managed-prometheus-on-kubernetes) - * [Requirements](#requirements) - * [Getting started](#getting-started) - * [About managed Prometheus deployments](#about-managed-prometheus-deployments) - * [Manual configuration of Prometheus](#manual-configuration-of-prometheus) - * [Requirements](#requirements-1) - * [Getting started](#getting-started-1) - * [Configuration in GitLab](#configuration-in-gitlab) - * [Thanos configuration in GitLab](#thanos-configuration-in-gitlab) - * [Precedence with multiple Prometheus configurations](#precedence-with-multiple-prometheus-configurations) -* [Determining the performance impact of a merge](#determining-the-performance-impact-of-a-merge) - -# Prometheus integration[](#prometheus-integration "Permalink") - -在 GitLab 9.0 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/8935) . - -GitLab 提供与[Prometheus 的](https://s0prometheus0io.icopy.site)强大集成,可直接在 GitLab 中监视您的应用程序的关键指标. 从 Prometheus 检索每个环境的度量,然后在 GitLab 界面中显示. - -[![Environment Dashboard](img/45cb073d466ec4a6fcb5a09d7f5f204c.png)](img/prometheus_dashboard.png) - -有两种方法可以设置 Prometheus 集成,具体取决于应用程序的运行位置: - -* 对于在 Kubernetes 上的部署,GitLab 可以自动[部署和管理 Prometheus](#managed-prometheus-on-kubernetes) . -* 对于其他部署目标,只需[指定 Prometheus 服务器](#manual-configuration-of-prometheus) . - -启用后,GitLab 将自动从[度量标准库](prometheus_library/index.html)中的已知服务中检测度量[标准](prometheus_library/index.html) . 您还可以[添加自己的指标](../../../operations/metrics/index.html#adding-custom-metrics)并创建[自定义仪表板](../../../operations/metrics/dashboards/index.html) . - -## Enabling Prometheus Integration[](#enabling-prometheus-integration "Permalink") - -### Managed Prometheus on Kubernetes[](#managed-prometheus-on-kubernetes "Permalink") - -在 GitLab 10.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/28916) . - -GitLab 可以在[连接的 Kubernetes 集群](../clusters/index.html)上无缝部署和管理 Prometheus,从而使对应用程序的监视变得容易. - -#### Requirements[](#requirements "Permalink") - -* A [connected Kubernetes cluster](../clusters/index.html) - -#### Getting started[](#getting-started "Permalink") - -拥有连接的 Kubernetes 集群后,只需单击即可轻松部署托管的 Prometheus. - -1. 转到**操作> Kubernetes**页面以查看已连接的集群 -2. 选择您要部署 Prometheus 的集群 -3. 单击**安装**按钮以将 Prometheus 部署到群集 - -[![Managed Prometheus Deploy](img/a198157b454aaa7b52001592ed46dc03.png)](img/prometheus_deploy.png) - -#### About managed Prometheus deployments[](#about-managed-prometheus-deployments "Permalink") - -使用[官方 Helm 图表](https://github.com/helm/charts/tree/master/stable/prometheus)将 Prometheus 部署到`gitlab-managed-apps`命名空间中. Prometheus 仅可在集群中访问,并且 GitLab 通过[Kubernetes API 进行](https://kubernetes.io/docs/concepts/overview/kubernetes-api/)通信. - -Prometheus 服务器将[自动检测和监视](https://s0prometheus0io.icopy.site/docs/prometheus/latest/configuration/configuration/)节点,吊舱和端点. 要配置 Prometheus 监视的资源,只需设置以下[Kubernetes 批注](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) : - -* `prometheus.io/scrape`为`true`以启用对资源的监视. -* `prometheus.io/port`定义度量标准端点的端口. -* `prometheus.io/path`来定义度量标准端点的路径. 默认为`/metrics` . - -CPU 和内存使用情况受到监视,但是需要使用[命名约定](prometheus_library/kubernetes.html#specifying-the-environment)来确定环境. 如果您使用的是[Auto DevOps](../../../topics/autodevops/index.html) ,则会自动处理. - -由 GitLab 部署到群集的[NGINX Ingress](../clusters/index.html#installing-applications)会自动添加注释,以进行监视,以提供关键的响应指标:延迟,吞吐量和错误率. - -### Manual configuration of Prometheus[](#manual-configuration-of-prometheus "Permalink") - -#### Requirements[](#requirements-1 "Permalink") - -与 Prometheus 集成需要满足以下条件: - -1. GitLab 9.0 或更高版本 -2. 必须将 Prometheus 配置为收集[支持的指标之一](prometheus_library/index.html) -3. Each metric must be have a label to indicate the environment -4. GitLab 必须与 Prometheus 服务器具有网络连接 - -#### Getting started[](#getting-started-1 "Permalink") - -安装和配置 Prometheus 来监视应用程序非常简单. - -1. [Install Prometheus](https://s0prometheus0io.icopy.site/docs/prometheus/latest/installation/) -2. 设置[受支持的监视目标之一](prometheus_library/index.html) -3. 配置 Prometheus 服务器以[收集其指标](https://s0prometheus0io.icopy.site/docs/prometheus/latest/configuration/configuration/) - -#### Configuration in GitLab[](#configuration-in-gitlab "Permalink") - -GitLab 中 Prometheus 集成的实际配置非常简单. 您只需要与您要集成的 Prometheus 服务器的域名或 IP 地址. 如果 Prometheus 资源由 Google 的身份识别代理(IAP)保护,则可以传递其他信息,例如客户端 ID 和服务帐户凭据,GitLab 可以使用这些信息来访问资源. 有关从服务帐户进行身份验证的更多信息,请参见 Google 的" [从服务帐户](https://cloud.google.com/iap/docs/authentication-howto#authenticating_from_a_service_account)进行[身份验证"](https://cloud.google.com/iap/docs/authentication-howto#authenticating_from_a_service_account)文档. - -1. 导航至位于的" [集成"页面](overview.html#accessing-integrations) **设置>集成** . -2. 单击**Prometheus**服务. -3. 对于**API URL** ,请提供服务器的域名或 IP 地址,例如`http://prometheus.example.com/`或`http://192.0.2.1/` . -4. (可选)在**Google IAP Audience Client ID 中** ,提供受 Google IAP 保护的 Prometheus OAuth Client 的 Client ID. -5. (可选)在**Google IAP 服务帐户 JSON 中** ,提供被授权访问 Prometheus 资源的服务帐户凭据文件的内容. -6. Click **保存更改**. - -[![Configure Prometheus Service](img/c154238c63e38411889c5647b2cdf20e.png)](img/prometheus_manual_configuration_v13_2.png) - -#### Thanos configuration in GitLab[](#thanos-configuration-in-gitlab "Permalink") - -您可以使用 GitLab 将[Thanos](https://thanos.io/)配置为 Prometheus 的替代品. 您将需要与之集成的 Thanos 服务器的域名或 IP 地址. - -1. 导航到" [集成"页面](overview.html#accessing-integrations) . -2. 单击**Prometheus**服务. -3. 提供服务器的域名或 IP 地址,例如`http://thanos.example.com/`或`http://192.0.2.1/` . -4. Click **保存更改**. - -### Precedence with multiple Prometheus configurations[](#precedence-with-multiple-prometheus-configurations "Permalink") - -尽管可以同时启用 Prometheus 的[手动配置](#manual-configuration-of-prometheus)和[自动配置](#managed-prometheus-on-kubernetes) ,但仅使用其中之一: - -* 如果您已[在 Kubernetes 上](#managed-prometheus-on-kubernetes)启用了[Prometheus 手动配置](#manual-configuration-of-prometheus)和[托管的 Prometheus](#managed-prometheus-on-kubernetes) ,则手动配置优先,并用于从[仪表板](../../../operations/metrics/dashboards/index.html#defining-custom-dashboards-per-project)和[自定义指标](../../../operations/metrics/index.html#adding-custom-metrics)运行查询. -* 如果您已在**不同**级别(项目,组,实例)的 Kubernetes 集群上安装了托管的 Prometheus 应用程序,则集群的优先级中将描述[优先级的顺序](../../instance/clusters/index.html#cluster-precedence) . -* If you have managed Prometheus applications installed on multiple Kubernetes clusters at the **same** level, the Prometheus application of a cluster with a matching [environment scope](../../../ci/environments/index.html#scoping-environments-with-specs) is used. - -## Determining the performance impact of a merge[](#determining-the-performance-impact-of-a-merge "Permalink") - -版本历史 - -* 在 GitLab 9.2 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/10408) . -* GitLab 9.3 添加了 30 分钟平均值的[数字比较](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/27439) . - -开发人员可以在合并请求工作流程中查看其更改对性能的影响. - -**Note:** Requires [Kubernetes](prometheus_library/kubernetes.html) metrics. - -将源分支部署到环境后,将出现迷你图和平均内存消耗的数值比较. 在迷你图上,圆点指示部署当前更改的时间,前后最多显示 30 分钟的性能数据. 比较结果显示了部署前后 30 分钟平均值之间的差异. 部署每个提交后,将更新此信息. - -合并并重新部署目标分支后,指标将切换为显示此修订版已部署到的新环境. - -性能数据将在 Prometheus 服务器上持久保存的时间内可用. - -[![Merge Request with Performance Impact](img/33cc6d96a283a4f1b3cc5b27da9fd1c4.png)](img/merge_request_performance.png) \ No newline at end of file diff --git a/docs/089.md b/docs/089.md deleted file mode 100644 index eed44e8..0000000 --- a/docs/089.md +++ /dev/null @@ -1,34 +0,0 @@ -# Redmine Service - -> 原文:[https://docs.gitlab.com/ee/user/project/integrations/redmine.html](https://docs.gitlab.com/ee/user/project/integrations/redmine.html) - -* [Referencing issues in Redmine](#referencing-issues-in-redmine) - -# Redmine Service[](#redmine-service "Permalink") - -1. 要在项目中启用 Redmine 集成,请导航到[Integrations 页面](overview.html#accessing-integrations) ,单击**Redmine**服务,然后按照下表中的说明在页面上填写所需的详细信息. - - | Field | Description | - | --- | --- | - | `project_url` | Redmine 中与该 GitLab 项目链接的项目的 URL | - | `issues_url` | 链接到该 GitLab 项目的 Redmine 项目中问题的 URL. 请注意, `issues_url`在 URL 中需要`:id` . GitLab 使用此 ID 作为占位符来替换问题编号. | - | `new_issue_url` | 这是在 Redmine 中为与此 GitLab 项目链接的项目创建新发行版的 URL. **当前未使用此功能,并将在以后的版本中将其删除.** | - - 配置并启用 Redmine 后,您将在 GitLab 项目页面上看到 Redmine 链接,该链接将您带到适当的 Redmine 项目. - - 例如,下面是一个名为`gitlab-ci`的项目的配置. - - [![Redmine configuration](img/31f8f986b27020e646540b9595d026cd.png)](img/redmine_configuration.png) - -2. 要禁用项目中的内部问题跟踪系统,请导航至"常规"页面,展开[权限](../settings/index.html#sharing-and-permissions)部分,然后将" **问题"**切换切换为"禁用". - -## Referencing issues in Redmine[](#referencing-issues-in-redmine "Permalink") - -Redmine 中的问题可以通过两种替代方式进行引用: - -* `#<ID>` ,其中`<ID>`是数字(示例`#143` ). -* `<PROJECT>-<ID>` where `<PROJECT>` starts with a capital letter which is then followed by capital letters, numbers or underscores, and `<ID>` is a number (example `API_32-143`). - -如果您同时启用了内部和外部问题跟踪器,我们建议使用更长的格式. 如果您使用较短的格式,并且内部问题跟踪器中存在具有相同 ID 的问题,则内部问题将被链接. - -请注意, `<PROJECT>`部分将被忽略,链接始终指向`issues_url`指定的地址. \ No newline at end of file diff --git a/docs/090.md b/docs/090.md deleted file mode 100644 index b28f61e..0000000 --- a/docs/090.md +++ /dev/null @@ -1,94 +0,0 @@ -# Slack Notifications Service - -> 原文:[https://docs.gitlab.com/ee/user/project/integrations/slack.html](https://docs.gitlab.com/ee/user/project/integrations/slack.html) - -* [Slack configuration](#slack-configuration) -* [GitLab configuration](#gitlab-configuration) - * [Triggers available for Slack notifications](#triggers-available-for-slack-notifications) -* [Troubleshooting](#troubleshooting) - * [Something went wrong on our end](#something-went-wrong-on-our-end) - * [`certificate verify failed`](#certificate-verify-failed) - -# Slack Notifications Service[](#slack-notifications-service "Permalink") - -Slack Notifications Service 允许您的 GitLab 项目将事件(例如问题创建)作为通知发送到您现有的 Slack 团队. 设置 Slack 通知需要同时更改 Slack 和 GitLab 的配置. - -**注意:**您还可以使用 Slack 斜杠命令在 Slack 中控制 GitLab. 这是单独配置的[Slack 斜杠命令](slack_slash_commands.html) . - -## Slack configuration[](#slack-configuration "Permalink") - -1. 登录到 Slack 团队并[开始新的 Incoming WebHooks 配置](https://my.slack.com/services/new/incoming-webhook) . -2. 选择默认情况下将通知发送到的松弛通道. 单击**添加传入的 WebHooks 集成**按钮以添加配置. -3. 复制**Webhook URL** ,我们将在以后的 GitLab 配置中使用它. - -## GitLab configuration[](#gitlab-configuration "Permalink") - -1. Open your project’s page, and navigate to your project’s [Integrations page](overview.html#accessing-integrations) at **设置>集成**. -2. 选择**Slack Notifications**集成进行配置. -3. Click **启用整合**. -4. 在**Trigger 中** ,选中每种类型的 GitLab 事件的复选框,以将其发送给 Slack 作为通知. 有关完整列表,请参阅[可用于 Slack 通知的触发器](#triggers-available-for-slack-notifications) . 默认情况下,消息将发送到您在[Slack 集成](#slack-configuration)期间配置的通道. -5. (可选)要将消息发送到其他渠道,多个渠道或作为直接消息: - * 要将消息发送到频道,请输入 Slack 频道名称,以逗号分隔. - * 要发送直接消息,请使用在用户的 Slack 个人资料中找到的会员 ID.**注意:**不支持用户名和私人频道. -6. 在**Webhook 中** ,提供您从[Slack 集成](#slack-configuration)步骤复制的**Webhook** URL. -7. (可选)在**Username 中** ,提供发送通知的 Slack 机器人的用户名. -8. 选择**仅通知断开的管道**复选框以仅通知失败. -9. 在**要通知**的**分支中**选择框,选择要为其发送通知的分支类型. -10. Click **测试设置并保存更改**. - -您的 Slack 团队现在将开始按照配置接收 GitLab 事件通知. - -### Triggers available for Slack notifications[](#triggers-available-for-slack-notifications "Permalink") - -以下触发器可用于 Slack 通知: - -* **推送** :由推送到存储库触发. -* **问题** :在创建,更新或关闭问题时触发. -* **机密问题** :创建,更新或关闭机密问题时触发. -* **合并请求** :在创建,更新或合并合并请求时触发. -* **注意** :有人添加评论时触发. -* **机密注释** :当有人添加机密注释时触发. -* **标签推送** :将新标签推送到存储库时触发. -* **管道** :管道状态更改时触发. -* **Wiki 页面** :在创建或更新 Wiki 页面时触发. -* **部署** :在部署完成时触发. -* **警报** :记录新的唯一警报时触发. - -## Troubleshooting[](#troubleshooting "Permalink") - -如果您的 Slack 集成无法正常工作,请通过在[Sidekiq 日志中](../../../administration/logs.html#sidekiqlog)搜索与 Slack 服务相关的错误来开始故障排除. - -### Something went wrong on our end[](#something-went-wrong-on-our-end "Permalink") - -这是 GitLab UI 中显示的一般错误,其本身并没有多大意义. 查看[日志](../../../administration/logs.html#productionlog)以查找错误消息,并从那里继续进行故障排除. - -### `certificate verify failed`[](#certificate-verify-failed "Permalink") - -您可能会在 Sidekiq 日志中看到类似于以下内容的条目: - -``` -2019-01-10_13:22:08.42572 2019-01-10T13:22:08.425Z 6877 TID-abcdefg ProjectServiceWorker JID-3bade5fb3dd47a85db6d78c5 ERROR: {:class=>"ProjectServiceWorker", :service_class=>"SlackService", :message=>"SSL_connect returned=1 errno=0 state=error: certificate verify failed"} -``` - -GitLab 与 Slack 通信或 GitLab 与自身通信可能是一个问题. 前者的可能性较小,因为 Slack 的安全证书*希望*始终受到信任. 我们可以使用下面的 rails 控制台脚本来确定要处理的内容. - -``` -# start a rails console: -sudo gitlab-rails console -e production - -# or for source installs: -bundle exec rails console -e production -``` - -``` -# run this in the Rails console -# replace <SLACK URL> with your actual Slack URL -result = Net::HTTP.get(URI('https://<SLACK URL>'));0 - -# replace <GITLAB URL> with your actual GitLab URL -result = Net::HTTP.get(URI('https://<GITLAB URL>'));0 -``` - -如果 GitLab 不信任自身的 HTTPS 连接,则可能需要[将证书添加到 GitLab 的受信任证书中](https://docs.gitlab.com/omnibus/settings/ssl.html) . - -如果 GitLab 不信任与 Slack 的连接,则 GitLab OpenSSL 信任存储不正确. 一些典型的原因:使用`gitlab_rails['env'] = {"SSL_CERT_FILE" => "/path/to/file.pem"}`覆盖信任库,或不小心修改了默认的 CA 捆绑包`/opt/gitlab/embedded/ssl/certs/cacert.pem` . \ No newline at end of file diff --git a/docs/091.md b/docs/091.md deleted file mode 100644 index 0ef904b..0000000 --- a/docs/091.md +++ /dev/null @@ -1,32 +0,0 @@ -# Slack slash commands - -> 原文:[https://docs.gitlab.com/ee/user/project/integrations/slack_slash_commands.html](https://docs.gitlab.com/ee/user/project/integrations/slack_slash_commands.html) - -* [Configuration](#configuration) -* [Usage](#usage) - -# Slack slash commands[](#slack-slash-commands-core-only "Permalink") - -在 GitLab 8.15 中引入. - -使用 Slack 斜杠命令,您可以控制 GitLab 并直接在 Slack 内部查看内容,而不必离开它. 这需要在 Slack 和 GitLab 中进行配置. - -GitLab 还可以将事件(例如, `issue created` )作为通知发送到 Slack. 这是单独配置的[Slack Notifications Service](slack.html) . - -**注意:**对于 GitLab.com,请改用[Slack 应用程序](gitlab_slack_application.html) . - -## Configuration[](#configuration "Permalink") - -1. Slack 斜杠命令的作用域是项目. 导航到项目设置中的" [集成"页面](overview.html#accessing-integrations) ,即" **项目">"设置">"集成"** . -2. 选择**Slack 斜杠命令**集成进行配置. 该页面包含完成 Slack 中配置所需的信息. 将此浏览器选项卡保持打开状态. -3. 打开一个新的浏览器选项卡,然后登录到您的 Slack 团队. [开始新的 Slash Commands 集成](https://my.slack.com/services/new/slash-commands) . -4. 输入触发条件. 我们建议您使用项目名称. 单击**添加斜线命令集成** . -5. 使用来自 GitLab 浏览器选项卡的信息来完成 Slack 配置页面中的其余字段. 特别是,URL 需要复制和粘贴. 单击" **保存集成"**以完成 Slack 中的配置. -6. 仍在 Slack 配置页面上,复制**令牌** . 返回到 GitLab 浏览器选项卡并粘贴**令牌** . -7. 确保启用了**活动**切换,然后单击**保存更改**以完成 GitLab 中的配置. - -[![Slack setup instructions](img/1e1a93a55568355165c7529b5326427b.png)](img/slack_setup.png) - -## Usage[](#usage "Permalink") - -现在,您可以使用[Slack 斜杠命令](../../../integration/slash_commands.html) . \ No newline at end of file diff --git a/docs/092.md b/docs/092.md deleted file mode 100644 index a560535..0000000 --- a/docs/092.md +++ /dev/null @@ -1,70 +0,0 @@ -# GitLab Slack application - -> 原文:[https://docs.gitlab.com/ee/user/project/integrations/gitlab_slack_application.html](https://docs.gitlab.com/ee/user/project/integrations/gitlab_slack_application.html) - -* [Slack App Directory](#slack-app-directory) -* [Configuration](#configuration) -* [Create a project alias for Slack](#create-a-project-alias-for-slack) -* [Usage](#usage) - -# GitLab Slack application[](#gitlab-slack-application-free-only "Permalink") - -版本历史 - -* 在 GitLab 9.4 中引入. -* 分发到 GitLab 10.2 中的 Slack App Directory. - -**注意:** GitLab Slack 应用程序仅可为 GitLab.com 配置. 它**不适**用于您可以配置[Slack 斜杠命令](slack_slash_commands.html)服务的本地安装. 我们正计划使该配置可用于所有的 GitLab 安装,但是没有 ETA-参见[#28164](https://gitlab.com/gitlab-org/gitlab/-/issues/28164) . - -Slack 提供了一个本机应用程序,您可以通过 GitLab.com 上项目的集成来启用它. - -## Slack App Directory[](#slack-app-directory "Permalink") - -为您的工作区启用 GitLab Slack 应用程序的最简单方法是从[Slack App Directory](https://slack.com/apps)安装[GitLab 应用](https://slack-platform.slack.com/apps/A676ADMV5-gitlab) [程序](https://slack.com/apps) . - -单击安装会将您带到[GitLab Slack 应用程序登录页面](https://gitlab.com/profile/slack/edit) ,您可以在其中选择一个项目来为其启用 GitLab Slack 应用程序. - -[![GitLab Slack application landing page](img/618f6f4ba2a434609a1a9de7a9725e49.png)](img/gitlab_slack_app_landing_page.png) - -## Configuration[](#configuration "Permalink") - -或者,您可以使用项目的集成设置来配置 Slack 应用程序. - -请记住,您需要拥有 Slack 团队的适当权限才能安装新应用程序,请阅读 Slack 文档中有关[将应用程序添加到工作区的更多信息](https://slack.com/help/articles/202035138-Add-an-app-to-your-workspace) . - -为您的 Slack 团队启用 GitLab 的服务: - -1. 转到项目的 **设置>集成> Slack 应用程序** (仅在 GitLab.com 上可见). -2. Click **添加到松弛**. - -就这样! 现在,您可以开始使用 Slack 斜杠命令. - -## Create a project alias for Slack[](#create-a-project-alias-for-slack "Permalink") - -要在 GitLab.com 上为 Slack 集成创建项目别名: - -1. 转到项目的主页. -2. 导航 **设置>集成** (仅在 GitLab.com 上可见) -3. 在" **集成"**页面上,单击**Slack application** . -4. 显示当前的**项目别名** (如果有). 要编辑此值,请点击**编辑** . -5. 输入所需的别名,然后点击**保存更改** . - -一些 Slack 命令需要项目别名,如果项目别名不正确或命令中缺少该别名,则会失败并显示以下错误: - -``` -GitLab error: project or alias not found -``` - -## Usage[](#usage "Permalink") - -确认安装后,您和您的 Slack 团队中的其他所有人都可以使用所有[slash 命令](../../../integration/slash_commands.html) . - -当您执行第一个斜杠命令时,将要求您在 GitLab.com 上授权您的 Slack 用户. - -与[手动配置的 Slack 斜杠命令](slack_slash_commands.html)的唯一区别在于,所有命令均应以`/gitlab`关键字为前缀. 我们正在努力使此配置在将来成为可能. - -例如,要显示`gitlab-org/gitlab`项目下的问题编号`1001` ,您可以执行以下操作: - -``` -/gitlab gitlab-org/gitlab issue show 1001 -``` \ No newline at end of file diff --git a/docs/093.md b/docs/093.md deleted file mode 100644 index f1b1c2e..0000000 --- a/docs/093.md +++ /dev/null @@ -1,366 +0,0 @@ -# Webhooks - -> 原文:[https://docs.gitlab.com/ee/user/project/integrations/webhooks.html](https://docs.gitlab.com/ee/user/project/integrations/webhooks.html) - -* [Overview](#overview) -* [Use-cases](#use-cases) -* [Webhook endpoint tips](#webhook-endpoint-tips) -* [Secret token](#secret-token) -* [SSL verification](#ssl-verification) -* [Branch filtering](#branch-filtering) -* [Events](#events) - * [Push events](#push-events) - * [Tag events](#tag-events) - * [Issue events](#issue-events) - * [Comment events](#comment-events) - * [Comment on commit](#comment-on-commit) - * [Comment on merge request](#comment-on-merge-request) - * [Comment on issue](#comment-on-issue) - * [Comment on code snippet](#comment-on-code-snippet) - * [Merge request events](#merge-request-events) - * [Wiki Page events](#wiki-page-events) - * [Pipeline events](#pipeline-events) - * [Job events](#job-events) -* [Image URL rewriting](#image-url-rewriting) -* [Testing webhooks](#testing-webhooks) -* [Troubleshoot webhooks](#troubleshoot-webhooks) - * [Receiving duplicate or multiple webhook requests triggered by one event](#receiving-duplicate-or-multiple-webhook-requests-triggered-by-one-event) - * [Troubleshooting: “Unable to get local issuer certificate”](#troubleshooting-unable-to-get-local-issuer-certificate) -* [Example webhook receiver](#example-webhook-receiver) - -# Webhooks[](#webhooks "Permalink") - -> **注意:**从 GitLab 8.5 开始: -> -> * 不推荐使用`repository`密钥,而推荐使用`project`密钥 -> * 不推荐使用`project.ssh_url`密钥,而推荐使用`project.git_ssh_url`密钥 -> * 不推荐使用`project.http_url`键,而推荐使用`project.git_http_url`键 -> -> **注意:**从 GitLab 11.1 开始,一个月后会自动删除 Webhooks 的日志. -> -> **注意:**从 GitLab 11.2 开始: -> -> * 重写问题,合并请求,评论和 Wiki 页面的`description`字段,以便简单的 Markdown 图像引用(如`![](/uploads/...)` )将其目标 URL 更改为绝对 URL. 有关更多详细信息,请参见[图像 URL 重写](#image-url-rewriting) . - -通过项目 webhooks,您可以在例如推送新代码或创建新问题时触发 URL. 您可以将 webhook 配置为侦听特定事件,例如推送,问题或合并请求. GitLab 会将带有数据的 POST 请求发送到 webhook URL. - -在大多数情况下,您需要设置自己的[Webhook 接收器](#example-webhook-receiver)以从 GitLab 接收信息,然后根据需要将其发送到另一个应用程序. 我们已经有一个[内置接收器,](slack.html)用于*每个项目*发送[Slack](https://api.slack.com/incoming-webhooks)通知. - -## Overview[](#overview "Permalink") - -[Webhooks](https://en.wikipedia.org/wiki/Webhook)是" *用户定义的 HTTP 回调* ". 它们通常是由某些事件触发的,例如将代码推送到存储库或将评论发布到博客. 发生该事件时,源应用程序向为 Webhook 配置的 URI 发出 HTTP 请求. 采取的措施可能是任何事情. 常见用途是触发具有持续集成系统的构建或通知错误跟踪系统. - -Webhooks 可用于更新外部问题跟踪器,触发 CI 作业,更新备份镜像,甚至部署到您的生产服务器. 他们**每个项目**可以 GitLab 社区版,以及**每个项目和每个组** **GitLab 企业版** . - -通过转到项目的**设置➔Webhooks**导航到 webhooks 页面. - -**注意:**在 GitLab.com 上,每个项目和每个组的[最大 Webhooks 数量](../../../user/gitlab_com/index.html#maximum-number-of-webhooks)是有限的. - -## Use-cases[](#use-cases "Permalink") - -* 您可以在 GitLab 中设置一个 Webhook,以在每次作业失败时向[Slack](https://api.slack.com/incoming-webhooks)发送通知. -* 每当在 GitLab 中为特定项目或组创建问题时,您都可以[与 Twilio 集成以通过 SMS 收到通知](https://www.datadoghq.com/blog/send-alerts-sms-customizable-webhooks-twilio/) -* You can use them to [automatically assign labels to merge requests](https://about.gitlab.com/blog/2016/08/19/applying-gitlab-labels-automatically/). - -## Webhook endpoint tips[](#webhook-endpoint-tips "Permalink") - -如果您正在编写自己的将接收 GitLab webhooks 的端点(Web 服务器),请记住以下几点: - -* 您的端点应尽快发送其 HTTP 响应. 如果等待时间太长,GitLab 可能会确定挂钩失败并重试. -* 您的端点应始终返回有效的 HTTP 响应. 如果您不这样做,则 GitLab 会认为挂钩失败并重试. 大多数 HTTP 库会自动为您处理此问题,但是如果您正在编写低级钩子,记住这一点很重要. -* GitLab 会忽略端点返回的 HTTP 状态代码. - -## Secret token[](#secret-token "Permalink") - -如果您指定一个秘密令牌,它将与挂钩请求一起在`X-Gitlab-Token` HTTP 标头中发送. 您的 webhook 端点可以检查以验证请求是否合法. - -## SSL verification[](#ssl-verification "Permalink") - -默认情况下,将基于证书颁发机构的内部列表来验证 webhook 端点的 SSL 证书,这意味着该证书无法进行自签名. - -您可以在 GitLab 项目的 webhook 设置中将其关闭. - -[![SSL Verification](img/e7d35854d0a726fbc4756cca4de4bf77.png)](img/webhooks_ssl.png) - -## Branch filtering[](#branch-filtering "Permalink") - -在 GitLab 11.3 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/20338) . - -可以使用分支名称或通配符模式按分支过滤推送事件,以限制将哪些推送事件发送到您的 Webhook 端点. 默认情况下,该字段为空白,导致所有推送事件都发送到您的 Webhook 端点. - -## Events[](#events "Permalink") - -下面介绍了受支持的事件. - -### Push events[](#push-events "Permalink") - -当您推送到存储库时(推送标签时除外)触发. - -**注意:**一次推送超过 20 个提交时,出于性能原因, `commits` webhook 属性将仅包含前 20 个. 加载详细的提交数据非常昂贵. 请注意,尽管`commits`属性中仅存在 20 个提交,但`total_commits_count`属性将包含实际总数. - -另外,如果单个推送包含三个以上分支的更改(默认情况下,取决于[`push_event_hooks_limit`设置](../../../api/settings.html#list-of-settings-that-can-be-accessed-via-api-calls) ),则不会执行此挂钩. - -**请求标头**: - -``` -X-Gitlab-Event: Push Hook -``` - -**要求正文:** - -``` -{ "object_kind": "push", "before": "95790bf891e76fee5e1747ab589903a6a1f80f22", "after": "da1560886d4f094c3e6c9ef40349f7d38b5d27d7", "ref": "refs/heads/master", "checkout_sha": "da1560886d4f094c3e6c9ef40349f7d38b5d27d7", "user_id": 4, "user_name": "John Smith", "user_username": "jsmith", "user_email": "john@example.com", "user_avatar": "https://s.gravatar.com/avatar/d4c74594d841139328695756648b6bd6?s=8://s.gravatar.com/avatar/d4c74594d841139328695756648b6bd6?s=80", "project_id": 15, "project":{ "id": 15, "name":"Diaspora", "description":"", "web_url":"http://example.com/mike/diaspora", "avatar_url":null, "git_ssh_url":"git@example.com:mike/diaspora.git", "git_http_url":"http://example.com/mike/diaspora.git", "namespace":"Mike", "visibility_level":0, "path_with_namespace":"mike/diaspora", "default_branch":"master", "homepage":"http://example.com/mike/diaspora", "url":"git@example.com:mike/diaspora.git", "ssh_url":"git@example.com:mike/diaspora.git", "http_url":"http://example.com/mike/diaspora.git" }, "repository":{ "name": "Diaspora", "url": "git@example.com:mike/diaspora.git", "description": "", "homepage": "http://example.com/mike/diaspora", "git_http_url":"http://example.com/mike/diaspora.git", "git_ssh_url":"git@example.com:mike/diaspora.git", "visibility_level":0 }, "commits": [ { "id": "b6568db1bc1dcd7f8b4d5a946b0b91f9dacd7327", "message": "Update Catalan translation to e38cb41.\n\nSee https://gitlab.com/gitlab-org/gitlab for more information", "title": "Update Catalan translation to e38cb41.", "timestamp": "2011-12-12T14:27:31+02:00", "url": "http://example.com/mike/diaspora/commit/b6568db1bc1dcd7f8b4d5a946b0b91f9dacd7327", "author": { "name": "Jordi Mallach", "email": "jordi@softcatala.org" }, "added": ["CHANGELOG"], "modified": ["app/controller/application.rb"], "removed": [] }, { "id": "da1560886d4f094c3e6c9ef40349f7d38b5d27d7", "message": "fixed readme", "title": "fixed readme", "timestamp": "2012-01-03T23:36:29+02:00", "url": "http://example.com/mike/diaspora/commit/da1560886d4f094c3e6c9ef40349f7d38b5d27d7", "author": { "name": "GitLab dev user", "email": "gitlabdev@dv6700.(none)" }, "added": ["CHANGELOG"], "modified": ["app/controller/application.rb"], "removed": [] } ], "total_commits_count": 4 } -``` - -### Tag events[](#tag-events "Permalink") - -在创建(或删除)存储库标签时触发. - -**注意:**如果单个推送包含三个以上的更改(默认情况下,取决于[`push_event_hooks_limit`设置](../../../api/settings.html#list-of-settings-that-can-be-accessed-via-api-calls) ),则不会执行此挂钩. - -**请求标头**: - -``` -X-Gitlab-Event: Tag Push Hook -``` - -**要求正文:** - -``` -{ "object_kind": "tag_push", "before": "0000000000000000000000000000000000000000", "after": "82b3d5ae55f7080f1e6022629cdb57bfae7cccc7", "ref": "refs/tags/v1.0.0", "checkout_sha": "82b3d5ae55f7080f1e6022629cdb57bfae7cccc7", "user_id": 1, "user_name": "John Smith", "user_avatar": "https://s.gravatar.com/avatar/d4c74594d841139328695756648b6bd6?s=8://s.gravatar.com/avatar/d4c74594d841139328695756648b6bd6?s=80", "project_id": 1, "project":{ "id": 1, "name":"Example", "description":"", "web_url":"http://example.com/jsmith/example", "avatar_url":null, "git_ssh_url":"git@example.com:jsmith/example.git", "git_http_url":"http://example.com/jsmith/example.git", "namespace":"Jsmith", "visibility_level":0, "path_with_namespace":"jsmith/example", "default_branch":"master", "homepage":"http://example.com/jsmith/example", "url":"git@example.com:jsmith/example.git", "ssh_url":"git@example.com:jsmith/example.git", "http_url":"http://example.com/jsmith/example.git" }, "repository":{ "name": "Example", "url": "ssh://git@example.com/jsmith/example.git", "description": "", "homepage": "http://example.com/jsmith/example", "git_http_url":"http://example.com/jsmith/example.git", "git_ssh_url":"git@example.com:jsmith/example.git", "visibility_level":0 }, "commits": [], "total_commits_count": 0 } -``` - -### Issue events[](#issue-events "Permalink") - -在创建新问题或更新/关闭/重新打开现有问题时触发. - -**请求标头**: - -``` -X-Gitlab-Event: Issue Hook -``` - -**要求正文:** - -``` -{ "object_kind": "issue", "event_type": "issue", "user": { "name": "Administrator", "username": "root", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=40\u0026d=identicon", "email": "admin@example.com" }, "project": { "id": 1, "name":"Gitlab Test", "description":"Aut reprehenderit ut est.", "web_url":"http://example.com/gitlabhq/gitlab-test", "avatar_url":null, "git_ssh_url":"git@example.com:gitlabhq/gitlab-test.git", "git_http_url":"http://example.com/gitlabhq/gitlab-test.git", "namespace":"GitlabHQ", "visibility_level":20, "path_with_namespace":"gitlabhq/gitlab-test", "default_branch":"master", "ci_config_path": null, "homepage":"http://example.com/gitlabhq/gitlab-test", "url":"http://example.com/gitlabhq/gitlab-test.git", "ssh_url":"git@example.com:gitlabhq/gitlab-test.git", "http_url":"http://example.com/gitlabhq/gitlab-test.git" }, "object_attributes": { "id": 301, "title": "New API: create/update/delete file", "assignee_ids": [51], "assignee_id": 51, "author_id": 51, "project_id": 14, "created_at": "2013-12-03T17:15:43Z", "updated_at": "2013-12-03T17:15:43Z", "updated_by_id": 1, "last_edited_at": null, "last_edited_by_id": null, "relative_position": 0, "description": "Create new API for manipulations with repository", "milestone_id": null, "state_id": 1, "confidential": false, "discussion_locked": true, "due_date": null, "moved_to_id": null, "duplicated_to_id": null, "time_estimate": 0, "total_time_spent": 0, "human_total_time_spent": null, "human_time_estimate": null, "weight": null, "iid": 23, "url": "http://example.com/diaspora/issues/23", "state": "opened", "action": "open", "labels": [{ "id": 206, "title": "API", "color": "#ffffff", "project_id": 14, "created_at": "2013-12-03T17:15:43Z", "updated_at": "2013-12-03T17:15:43Z", "template": false, "description": "API related issues", "type": "ProjectLabel", "group_id": 41 }] }, "repository": { "name": "Gitlab Test", "url": "http://example.com/gitlabhq/gitlab-test.git", "description": "Aut reprehenderit ut est.", "homepage": "http://example.com/gitlabhq/gitlab-test" }, "assignees": [{ "name": "User1", "username": "user1", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=40\u0026d=identicon" }], "assignee": { "name": "User1", "username": "user1", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=40\u0026d=identicon" }, "labels": [{ "id": 206, "title": "API", "color": "#ffffff", "project_id": 14, "created_at": "2013-12-03T17:15:43Z", "updated_at": "2013-12-03T17:15:43Z", "template": false, "description": "API related issues", "type": "ProjectLabel", "group_id": 41 }], "changes": { "updated_by_id": { "previous": null, "current": 1 }, "updated_at": { "previous": "2017-09-15 16:50:55 UTC", "current": "2017-09-15 16:52:00 UTC" }, "labels": { "previous": [{ "id": 206, "title": "API", "color": "#ffffff", "project_id": 14, "created_at": "2013-12-03T17:15:43Z", "updated_at": "2013-12-03T17:15:43Z", "template": false, "description": "API related issues", "type": "ProjectLabel", "group_id": 41 }], "current": [{ "id": 205, "title": "Platform", "color": "#123123", "project_id": 14, "created_at": "2013-12-03T17:15:43Z", "updated_at": "2013-12-03T17:15:43Z", "template": false, "description": "Platform related issues", "type": "ProjectLabel", "group_id": 41 }] } } } -``` - -> **注意** :不赞成使用`assignee`和`assignee_id`键,现在仅显示第一个受让人. - -### Comment events[](#comment-events "Permalink") - -在对提交,合并请求,问题和代码段进行新注释时触发. 音符数据将被存储在`object_attributes` (如`note` , `noteable_type` ). 有效负载还将包括有关注释目标的信息. 例如,对问题的评论将在`issue`密钥下包括特定的问题信息. 有效的目标类型: - -* `commit` -* `merge_request` -* `issue` -* `snippet` - -#### Comment on commit[](#comment-on-commit "Permalink") - -**Request header**: - -``` -X-Gitlab-Event: Note Hook -``` - -**要求正文:** - -``` -{ "object_kind": "note", "user": { "name": "Administrator", "username": "root", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=40\u0026d=identicon" }, "project_id": 5, "project":{ "id": 5, "name":"Gitlab Test", "description":"Aut reprehenderit ut est.", "web_url":"http://example.com/gitlabhq/gitlab-test", "avatar_url":null, "git_ssh_url":"git@example.com:gitlabhq/gitlab-test.git", "git_http_url":"http://example.com/gitlabhq/gitlab-test.git", "namespace":"GitlabHQ", "visibility_level":20, "path_with_namespace":"gitlabhq/gitlab-test", "default_branch":"master", "homepage":"http://example.com/gitlabhq/gitlab-test", "url":"http://example.com/gitlabhq/gitlab-test.git", "ssh_url":"git@example.com:gitlabhq/gitlab-test.git", "http_url":"http://example.com/gitlabhq/gitlab-test.git" }, "repository":{ "name": "Gitlab Test", "url": "http://example.com/gitlab-org/gitlab-test.git", "description": "Aut reprehenderit ut est.", "homepage": "http://example.com/gitlab-org/gitlab-test" }, "object_attributes": { "id": 1243, "note": "This is a commit comment. How does this work?", "noteable_type": "Commit", "author_id": 1, "created_at": "2015-05-17 18:08:09 UTC", "updated_at": "2015-05-17 18:08:09 UTC", "project_id": 5, "attachment":null, "line_code": "bec9703f7a456cd2b4ab5fb3220ae016e3e394e3_0_1", "commit_id": "cfe32cf61b73a0d5e9f13e774abde7ff789b1660", "noteable_id": null, "system": false, "st_diff": { "diff": "--- /dev/null\n+++ b/six\n@@ -0,0 +1 @@\n+Subproject commit 409f37c4f05865e4fb208c771485f211a22c4c2d\n", "new_path": "six", "old_path": "six", "a_mode": "0", "b_mode": "160000", "new_file": true, "renamed_file": false, "deleted_file": false }, "url": "http://example.com/gitlab-org/gitlab-test/commit/cfe32cf61b73a0d5e9f13e774abde7ff789b1660#note_1243" }, "commit": { "id": "cfe32cf61b73a0d5e9f13e774abde7ff789b1660", "message": "Add submodule\n\nSigned-off-by: Example User \u003cuser@example.com.com\u003e\n", "timestamp": "2014-02-27T10:06:20+02:00", "url": "http://example.com/gitlab-org/gitlab-test/commit/cfe32cf61b73a0d5e9f13e774abde7ff789b1660", "author": { "name": "Example User", "email": "user@example.com" } } } -``` - -#### Comment on merge request[](#comment-on-merge-request "Permalink") - -**请求标头**: - -``` -X-Gitlab-Event: Note Hook -``` - -**要求正文:** - -``` -{ "object_kind": "note", "user": { "name": "Administrator", "username": "root", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=40\u0026d=identicon" }, "project_id": 5, "project":{ "id": 5, "name":"Gitlab Test", "description":"Aut reprehenderit ut est.", "web_url":"http://example.com/gitlab-org/gitlab-test", "avatar_url":null, "git_ssh_url":"git@example.com:gitlab-org/gitlab-test.git", "git_http_url":"http://example.com/gitlab-org/gitlab-test.git", "namespace":"Gitlab Org", "visibility_level":10, "path_with_namespace":"gitlab-org/gitlab-test", "default_branch":"master", "homepage":"http://example.com/gitlab-org/gitlab-test", "url":"http://example.com/gitlab-org/gitlab-test.git", "ssh_url":"git@example.com:gitlab-org/gitlab-test.git", "http_url":"http://example.com/gitlab-org/gitlab-test.git" }, "repository":{ "name": "Gitlab Test", "url": "http://localhost/gitlab-org/gitlab-test.git", "description": "Aut reprehenderit ut est.", "homepage": "http://example.com/gitlab-org/gitlab-test" }, "object_attributes": { "id": 1244, "note": "This MR needs work.", "noteable_type": "MergeRequest", "author_id": 1, "created_at": "2015-05-17 18:21:36 UTC", "updated_at": "2015-05-17 18:21:36 UTC", "project_id": 5, "attachment": null, "line_code": null, "commit_id": "", "noteable_id": 7, "system": false, "st_diff": null, "url": "http://example.com/gitlab-org/gitlab-test/merge_requests/1#note_1244" }, "merge_request": { "id": 7, "target_branch": "markdown", "source_branch": "master", "source_project_id": 5, "author_id": 8, "assignee_id": 28, "title": "Tempora et eos debitis quae laborum et.", "created_at": "2015-03-01 20:12:53 UTC", "updated_at": "2015-03-21 18:27:27 UTC", "milestone_id": 11, "state": "opened", "merge_status": "cannot_be_merged", "target_project_id": 5, "iid": 1, "description": "Et voluptas corrupti assumenda temporibus. Architecto cum animi eveniet amet asperiores. Vitae numquam voluptate est natus sit et ad id.", "position": 0, "source":{ "name":"Gitlab Test", "description":"Aut reprehenderit ut est.", "web_url":"http://example.com/gitlab-org/gitlab-test", "avatar_url":null, "git_ssh_url":"git@example.com:gitlab-org/gitlab-test.git", "git_http_url":"http://example.com/gitlab-org/gitlab-test.git", "namespace":"Gitlab Org", "visibility_level":10, "path_with_namespace":"gitlab-org/gitlab-test", "default_branch":"master", "homepage":"http://example.com/gitlab-org/gitlab-test", "url":"http://example.com/gitlab-org/gitlab-test.git", "ssh_url":"git@example.com:gitlab-org/gitlab-test.git", "http_url":"http://example.com/gitlab-org/gitlab-test.git" }, "target": { "name":"Gitlab Test", "description":"Aut reprehenderit ut est.", "web_url":"http://example.com/gitlab-org/gitlab-test", "avatar_url":null, "git_ssh_url":"git@example.com:gitlab-org/gitlab-test.git", "git_http_url":"http://example.com/gitlab-org/gitlab-test.git", "namespace":"Gitlab Org", "visibility_level":10, "path_with_namespace":"gitlab-org/gitlab-test", "default_branch":"master", "homepage":"http://example.com/gitlab-org/gitlab-test", "url":"http://example.com/gitlab-org/gitlab-test.git", "ssh_url":"git@example.com:gitlab-org/gitlab-test.git", "http_url":"http://example.com/gitlab-org/gitlab-test.git" }, "last_commit": { "id": "562e173be03b8ff2efb05345d12df18815438a4b", "message": "Merge branch 'another-branch' into 'master'\n\nCheck in this test\n", "timestamp": "2015-04-08T21: 00:25-07:00", "url": "http://example.com/gitlab-org/gitlab-test/commit/562e173be03b8ff2efb05345d12df18815438a4b", "author": { "name": "John Smith", "email": "john@example.com" } }, "work_in_progress": false, "assignee": { "name": "User1", "username": "user1", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=40\u0026d=identicon" } } } -``` - -#### Comment on issue[](#comment-on-issue "Permalink") - -**请求标头**: - -``` -X-Gitlab-Event: Note Hook -``` - -**要求正文:** - -``` -{ "object_kind": "note", "user": { "name": "Administrator", "username": "root", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=40\u0026d=identicon" }, "project_id": 5, "project":{ "id": 5, "name":"Gitlab Test", "description":"Aut reprehenderit ut est.", "web_url":"http://example.com/gitlab-org/gitlab-test", "avatar_url":null, "git_ssh_url":"git@example.com:gitlab-org/gitlab-test.git", "git_http_url":"http://example.com/gitlab-org/gitlab-test.git", "namespace":"Gitlab Org", "visibility_level":10, "path_with_namespace":"gitlab-org/gitlab-test", "default_branch":"master", "homepage":"http://example.com/gitlab-org/gitlab-test", "url":"http://example.com/gitlab-org/gitlab-test.git", "ssh_url":"git@example.com:gitlab-org/gitlab-test.git", "http_url":"http://example.com/gitlab-org/gitlab-test.git" }, "repository":{ "name":"diaspora", "url":"git@example.com:mike/diaspora.git", "description":"", "homepage":"http://example.com/mike/diaspora" }, "object_attributes": { "id": 1241, "note": "Hello world", "noteable_type": "Issue", "author_id": 1, "created_at": "2015-05-17 17:06:40 UTC", "updated_at": "2015-05-17 17:06:40 UTC", "project_id": 5, "attachment": null, "line_code": null, "commit_id": "", "noteable_id": 92, "system": false, "st_diff": null, "url": "http://example.com/gitlab-org/gitlab-test/issues/17#note_1241" }, "issue": { "id": 92, "title": "test", "assignee_ids": [], "assignee_id": null, "author_id": 1, "project_id": 5, "created_at": "2015-04-12 14:53:17 UTC", "updated_at": "2015-04-26 08:28:42 UTC", "position": 0, "branch_name": null, "description": "test", "milestone_id": null, "state": "closed", "iid": 17, "labels": [ { "id": 25, "title": "Afterpod", "color": "#3e8068", "project_id": null, "created_at": "2019-06-05T14:32:20.211Z", "updated_at": "2019-06-05T14:32:20.211Z", "template": false, "description": null, "type": "GroupLabel", "group_id": 4 }, { "id": 86, "title": "Element", "color": "#231afe", "project_id": 4, "created_at": "2019-06-05T14:32:20.637Z", "updated_at": "2019-06-05T14:32:20.637Z", "template": false, "description": null, "type": "ProjectLabel", "group_id": null } ], } } -``` - -> **注意** :不建议使用`assignee_id`字段,现在仅显示第一个受让人. - -#### Comment on code snippet[](#comment-on-code-snippet "Permalink") - -**请求标头**: - -``` -X-Gitlab-Event: Note Hook -``` - -**要求正文:** - -``` -{ "object_kind": "note", "user": { "name": "Administrator", "username": "root", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=40\u0026d=identicon" }, "project_id": 5, "project":{ "id": 5, "name":"Gitlab Test", "description":"Aut reprehenderit ut est.", "web_url":"http://example.com/gitlab-org/gitlab-test", "avatar_url":null, "git_ssh_url":"git@example.com:gitlab-org/gitlab-test.git", "git_http_url":"http://example.com/gitlab-org/gitlab-test.git", "namespace":"Gitlab Org", "visibility_level":10, "path_with_namespace":"gitlab-org/gitlab-test", "default_branch":"master", "homepage":"http://example.com/gitlab-org/gitlab-test", "url":"http://example.com/gitlab-org/gitlab-test.git", "ssh_url":"git@example.com:gitlab-org/gitlab-test.git", "http_url":"http://example.com/gitlab-org/gitlab-test.git" }, "repository":{ "name":"Gitlab Test", "url":"http://example.com/gitlab-org/gitlab-test.git", "description":"Aut reprehenderit ut est.", "homepage":"http://example.com/gitlab-org/gitlab-test" }, "object_attributes": { "id": 1245, "note": "Is this snippet doing what it's supposed to be doing?", "noteable_type": "Snippet", "author_id": 1, "created_at": "2015-05-17 18:35:50 UTC", "updated_at": "2015-05-17 18:35:50 UTC", "project_id": 5, "attachment": null, "line_code": null, "commit_id": "", "noteable_id": 53, "system": false, "st_diff": null, "url": "http://example.com/gitlab-org/gitlab-test/snippets/53#note_1245" }, "snippet": { "id": 53, "title": "test", "content": "puts 'Hello world'", "author_id": 1, "project_id": 5, "created_at": "2015-04-09 02:40:38 UTC", "updated_at": "2015-04-09 02:40:38 UTC", "file_name": "test.rb", "expires_at": null, "type": "ProjectSnippet", "visibility_level": 0 } } -``` - -### Merge request events[](#merge-request-events "Permalink") - -在创建新的合并请求,更新/合并/关闭现有合并请求或在源分支中添加提交时触发. - -**请求标头**: - -``` -X-Gitlab-Event: Merge Request Hook -``` - -**要求正文:** - -``` -{ "object_kind": "merge_request", "user": { "name": "Administrator", "username": "root", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=40\u0026d=identicon" }, "project": { "id": 1, "name":"Gitlab Test", "description":"Aut reprehenderit ut est.", "web_url":"http://example.com/gitlabhq/gitlab-test", "avatar_url":null, "git_ssh_url":"git@example.com:gitlabhq/gitlab-test.git", "git_http_url":"http://example.com/gitlabhq/gitlab-test.git", "namespace":"GitlabHQ", "visibility_level":20, "path_with_namespace":"gitlabhq/gitlab-test", "default_branch":"master", "homepage":"http://example.com/gitlabhq/gitlab-test", "url":"http://example.com/gitlabhq/gitlab-test.git", "ssh_url":"git@example.com:gitlabhq/gitlab-test.git", "http_url":"http://example.com/gitlabhq/gitlab-test.git" }, "repository": { "name": "Gitlab Test", "url": "http://example.com/gitlabhq/gitlab-test.git", "description": "Aut reprehenderit ut est.", "homepage": "http://example.com/gitlabhq/gitlab-test" }, "object_attributes": { "id": 99, "target_branch": "master", "source_branch": "ms-viewport", "source_project_id": 14, "author_id": 51, "assignee_id": 6, "title": "MS-Viewport", "created_at": "2013-12-03T17:23:34Z", "updated_at": "2013-12-03T17:23:34Z", "milestone_id": null, "state": "opened", "merge_status": "unchecked", "target_project_id": 14, "iid": 1, "description": "", "source": { "name":"Awesome Project", "description":"Aut reprehenderit ut est.", "web_url":"http://example.com/awesome_space/awesome_project", "avatar_url":null, "git_ssh_url":"git@example.com:awesome_space/awesome_project.git", "git_http_url":"http://example.com/awesome_space/awesome_project.git", "namespace":"Awesome Space", "visibility_level":20, "path_with_namespace":"awesome_space/awesome_project", "default_branch":"master", "homepage":"http://example.com/awesome_space/awesome_project", "url":"http://example.com/awesome_space/awesome_project.git", "ssh_url":"git@example.com:awesome_space/awesome_project.git", "http_url":"http://example.com/awesome_space/awesome_project.git" }, "target": { "name":"Awesome Project", "description":"Aut reprehenderit ut est.", "web_url":"http://example.com/awesome_space/awesome_project", "avatar_url":null, "git_ssh_url":"git@example.com:awesome_space/awesome_project.git", "git_http_url":"http://example.com/awesome_space/awesome_project.git", "namespace":"Awesome Space", "visibility_level":20, "path_with_namespace":"awesome_space/awesome_project", "default_branch":"master", "homepage":"http://example.com/awesome_space/awesome_project", "url":"http://example.com/awesome_space/awesome_project.git", "ssh_url":"git@example.com:awesome_space/awesome_project.git", "http_url":"http://example.com/awesome_space/awesome_project.git" }, "last_commit": { "id": "da1560886d4f094c3e6c9ef40349f7d38b5d27d7", "message": "fixed readme", "timestamp": "2012-01-03T23:36:29+02:00", "url": "http://example.com/awesome_space/awesome_project/commits/da1560886d4f094c3e6c9ef40349f7d38b5d27d7", "author": { "name": "GitLab dev user", "email": "gitlabdev@dv6700.(none)" } }, "work_in_progress": false, "url": "http://example.com/diaspora/merge_requests/1", "action": "open", "assignee": { "name": "User1", "username": "user1", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=40\u0026d=identicon" } }, "labels": [{ "id": 206, "title": "API", "color": "#ffffff", "project_id": 14, "created_at": "2013-12-03T17:15:43Z", "updated_at": "2013-12-03T17:15:43Z", "template": false, "description": "API related issues", "type": "ProjectLabel", "group_id": 41 }], "changes": { "updated_by_id": { "previous": null, "current": 1 }, "updated_at": { "previous": "2017-09-15 16:50:55 UTC", "current":"2017-09-15 16:52:00 UTC" }, "labels": { "previous": [{ "id": 206, "title": "API", "color": "#ffffff", "project_id": 14, "created_at": "2013-12-03T17:15:43Z", "updated_at": "2013-12-03T17:15:43Z", "template": false, "description": "API related issues", "type": "ProjectLabel", "group_id": 41 }], "current": [{ "id": 205, "title": "Platform", "color": "#123123", "project_id": 14, "created_at": "2013-12-03T17:15:43Z", "updated_at": "2013-12-03T17:15:43Z", "template": false, "description": "Platform related issues", "type": "ProjectLabel", "group_id": 41 }] } } } -``` - -### Wiki Page events[](#wiki-page-events "Permalink") - -在创建,更新或删除 Wiki 页面时触发. - -**请求标题**: - -``` -X-Gitlab-Event: Wiki Page Hook -``` - -**请求正文**: - -``` -{ "object_kind": "wiki_page", "user": { "name": "Administrator", "username": "root", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80\u0026d=identicon" }, "project": { "id": 1, "name": "awesome-project", "description": "This is awesome", "web_url": "http://example.com/root/awesome-project", "avatar_url": null, "git_ssh_url": "git@example.com:root/awesome-project.git", "git_http_url": "http://example.com/root/awesome-project.git", "namespace": "root", "visibility_level": 0, "path_with_namespace": "root/awesome-project", "default_branch": "master", "homepage": "http://example.com/root/awesome-project", "url": "git@example.com:root/awesome-project.git", "ssh_url": "git@example.com:root/awesome-project.git", "http_url": "http://example.com/root/awesome-project.git" }, "wiki": { "web_url": "http://example.com/root/awesome-project/-/wikis/home", "git_ssh_url": "git@example.com:root/awesome-project.wiki.git", "git_http_url": "http://example.com/root/awesome-project.wiki.git", "path_with_namespace": "root/awesome-project.wiki", "default_branch": "master" }, "object_attributes": { "title": "Awesome", "content": "awesome content goes here", "format": "markdown", "message": "adding an awesome page to the wiki", "slug": "awesome", "url": "http://example.com/root/awesome-project/-/wikis/awesome", "action": "create" } } -``` - -### Pipeline events[](#pipeline-events "Permalink") - -在管道状态更改时触发. - -**请求标题**: - -``` -X-Gitlab-Event: Pipeline Hook -``` - -**请求正文**: - -``` -{ "object_kind": "pipeline", "object_attributes":{ "id": 31, "ref": "master", "tag": false, "sha": "bcbb5ec396a2c0f828686f14fac9b80b780504f2", "before_sha": "bcbb5ec396a2c0f828686f14fac9b80b780504f2", "source": "merge_request_event", "status": "success", "stages":[ "build", "test", "deploy" ], "created_at": "2016-08-12 15:23:28 UTC", "finished_at": "2016-08-12 15:26:29 UTC", "duration": 63, "variables": [ { "key": "NESTOR_PROD_ENVIRONMENT", "value": "us-west-1" } ] }, "merge_request": { "id": 1, "iid": 1, "title": "Test", "source_branch": "test", "source_project_id": 1, "target_branch": "master", "target_project_id": 1, "state": "opened", "merge_status": "can_be_merged", "url": "http://192.168.64.1:3005/gitlab-org/gitlab-test/merge_requests/1" }, "user":{ "name": "Administrator", "username": "root", "avatar_url": "http://www.gravatar.com/avatar/e32bd13e2add097461cb96824b7a829c?s=80\u0026d=identicon", "email": "user_email@gitlab.com" }, "project":{ "id": 1, "name": "Gitlab Test", "description": "Atque in sunt eos similique dolores voluptatem.", "web_url": "http://192.168.64.1:3005/gitlab-org/gitlab-test", "avatar_url": null, "git_ssh_url": "git@192.168.64.1:gitlab-org/gitlab-test.git", "git_http_url": "http://192.168.64.1:3005/gitlab-org/gitlab-test.git", "namespace": "Gitlab Org", "visibility_level": 20, "path_with_namespace": "gitlab-org/gitlab-test", "default_branch": "master" }, "commit":{ "id": "bcbb5ec396a2c0f828686f14fac9b80b780504f2", "message": "test\n", "timestamp": "2016-08-12T17:23:21+02:00", "url": "http://example.com/gitlab-org/gitlab-test/commit/bcbb5ec396a2c0f828686f14fac9b80b780504f2", "author":{ "name": "User", "email": "user@gitlab.com" } }, "builds":[ { "id": 380, "stage": "deploy", "name": "production", "status": "skipped", "created_at": "2016-08-12 15:23:28 UTC", "started_at": null, "finished_at": null, "when": "manual", "manual": true, "allow_failure": false, "user":{ "name": "Administrator", "username": "root", "avatar_url": "http://www.gravatar.com/avatar/e32bd13e2add097461cb96824b7a829c?s=80\u0026d=identicon" }, "runner": null, "artifacts_file":{ "filename": null, "size": null } }, { "id": 377, "stage": "test", "name": "test-image", "status": "success", "created_at": "2016-08-12 15:23:28 UTC", "started_at": "2016-08-12 15:26:12 UTC", "finished_at": null, "when": "on_success", "manual": false, "allow_failure": false, "user":{ "name": "Administrator", "username": "root", "avatar_url": "http://www.gravatar.com/avatar/e32bd13e2add097461cb96824b7a829c?s=80\u0026d=identicon" }, "runner": { "id":380987, "description":"shared-runners-manager-6.gitlab.com", "active":true, "is_shared":true }, "artifacts_file":{ "filename": null, "size": null } }, { "id": 378, "stage": "test", "name": "test-build", "status": "success", "created_at": "2016-08-12 15:23:28 UTC", "started_at": "2016-08-12 15:26:12 UTC", "finished_at": "2016-08-12 15:26:29 UTC", "when": "on_success", "manual": false, "allow_failure": false, "user":{ "name": "Administrator", "username": "root", "avatar_url": "http://www.gravatar.com/avatar/e32bd13e2add097461cb96824b7a829c?s=80\u0026d=identicon" }, "runner": { "id":380987, "description":"shared-runners-manager-6.gitlab.com", "active":true, "is_shared":true }, "artifacts_file":{ "filename": null, "size": null } }, { "id": 376, "stage": "build", "name": "build-image", "status": "success", "created_at": "2016-08-12 15:23:28 UTC", "started_at": "2016-08-12 15:24:56 UTC", "finished_at": "2016-08-12 15:25:26 UTC", "when": "on_success", "manual": false, "allow_failure": false, "user":{ "name": "Administrator", "username": "root", "avatar_url": "http://www.gravatar.com/avatar/e32bd13e2add097461cb96824b7a829c?s=80\u0026d=identicon" }, "runner": { "id":380987, "description":"shared-runners-manager-6.gitlab.com", "active":true, "is_shared":true }, "artifacts_file":{ "filename": null, "size": null } }, { "id": 379, "stage": "deploy", "name": "staging", "status": "created", "created_at": "2016-08-12 15:23:28 UTC", "started_at": null, "finished_at": null, "when": "on_success", "manual": false, "allow_failure": false, "user":{ "name": "Administrator", "username": "root", "avatar_url": "http://www.gravatar.com/avatar/e32bd13e2add097461cb96824b7a829c?s=80\u0026d=identicon" }, "runner": null, "artifacts_file":{ "filename": null, "size": null } } ] } -``` - -### Job events[](#job-events "Permalink") - -在工作状态更改时触发. - -**请求标题**: - -``` -X-Gitlab-Event: Job Hook -``` - -**请求正文**: - -``` -{ "object_kind": "build", "ref": "gitlab-script-trigger", "tag": false, "before_sha": "2293ada6b400935a1378653304eaf6221e0fdb8f", "sha": "2293ada6b400935a1378653304eaf6221e0fdb8f", "build_id": 1977, "build_name": "test", "build_stage": "test", "build_status": "created", "build_started_at": null, "build_finished_at": null, "build_duration": null, "build_allow_failure": false, "build_failure_reason": "script_failure", "pipeline_id": 2366, "project_id": 380, "project_name": "gitlab-org/gitlab-test", "user": { "id": 3, "name": "User", "email": "user@gitlab.com", "avatar_url": "http://www.gravatar.com/avatar/e32bd13e2add097461cb96824b7a829c?s=80\u0026d=identicon" }, "commit": { "id": 2366, "sha": "2293ada6b400935a1378653304eaf6221e0fdb8f", "message": "test\n", "author_name": "User", "author_email": "user@gitlab.com", "status": "created", "duration": null, "started_at": null, "finished_at": null }, "repository": { "name": "gitlab_test", "description": "Atque in sunt eos similique dolores voluptatem.", "homepage": "http://192.168.64.1:3005/gitlab-org/gitlab-test", "git_ssh_url": "git@192.168.64.1:gitlab-org/gitlab-test.git", "git_http_url": "http://192.168.64.1:3005/gitlab-org/gitlab-test.git", "visibility_level": 20 }, "runner": { "active": true, "is_shared": false, "id": 380987, "description": "shared-runners-manager-6.gitlab.com" } } -``` - -请注意, `commit.id`是管道的 ID,而不是提交的 ID. - -## Image URL rewriting[](#image-url-rewriting "Permalink") - -从 GitLab 11.2 开始,简单的图像引用被重写为在 webhooks 中使用绝对 URL. 因此,如果图像,合并请求,评论或维基页面的描述中包含以下内容: - -``` -![image](/uploads/$sha/image.png) -``` - -它将显示在 webhook 主体中,如下所示(假设 GitLab 安装在`gitlab.example.com` ,并且该项目位于`example-group/example-project` ): - -``` -![image](https://gitlab.example.com/example-group/example-project/uploads/$sha/image.png) -``` - -这不会重写已经指向 HTTP,HTTPS 或协议相对 URL 的 URL. 它还不会使用链接标记之类的高级 Markdown 功能重写图像 URL. - -## Testing webhooks[](#testing-webhooks "Permalink") - -您可以手动触发 Webhook. 将使用项目中的样本数据. >例如:要触发" `Push Events`您的项目应至少提交一次. - -[![Webhook testing](img/cee9b8bcba36170c0ae5df4747bb8c44.png)](img/webhook_testing.png) - -## Troubleshoot webhooks[](#troubleshoot-webhooks "Permalink") - -manbetx 客户端打不开存储 webhook 的每个执行. 您可以在每个 Webhook 的编辑页面上的"最近发送"部分中找到最近 2 天的记录. - -[![Recent deliveries](img/78dac22706dcca5ce3855d23987289ea.png)](img/webhook_logs.png) - -在本部分中,您可以看到 HTTP 状态代码(绿色表示 200-299 代码,红色表示其他代码,传递失败的`internal error` ),触发的事件,事件被调用的时间,请求的经过时间. - -如果需要有关执行的更多信息,可以单击`View details`链接. 在此页面上,您可以查看 GitLab 发送的数据(请求标头和正文)和收到的数据(响应标头和正文). - -在此页面上,您可以通过单击" `Resend Request`按钮以相同的数据重复`Resend Request` . - -> **注意:**如果已更新 Webhook 的 URL 或秘密令牌,则数据将被传递到新地址. - -### Receiving duplicate or multiple webhook requests triggered by one event[](#receiving-duplicate-or-multiple-webhook-requests-triggered-by-one-event "Permalink") - -当 GitLab 发送一个 Webhook 时,它期望在 10 秒内响应(设置默认值). 如果没有收到,它将重试网络挂钩. 如果端点在这 10 秒钟内未发送 HTTP 响应,则 GitLab 可能会确定挂钩失败并重试. - -如果接收到多个请求,可以通过取消注释或将以下设置添加到`/etc/gitlab/gitlab.rb`来尝试增加发送`/etc/gitlab/gitlab.rb`之后的默认值,以等待 HTTP 响应: - -``` -gitlab_rails['webhook_timeout'] = 10 -``` - -### Troubleshooting: “Unable to get local issuer certificate”[](#troubleshooting-unable-to-get-local-issuer-certificate "Permalink") - -启用 S​​SL 验证后,此错误表明 GitLab 无法验证 Webhook 端点的 SSL 证书. 通常,这是因为根证书不是由[CAcert.org](http://www.cacert.org/)确定的受信任的证书颁发机构[颁发的](http://www.cacert.org/) . - -如果不是这种情况,请考虑使用[SSL Checker](https://www.sslshopper.com/ssl-checker.html)来识别故障. 缺少中间证书是验证失败的常见原因. - -## Example webhook receiver[](#example-webhook-receiver "Permalink") - -如果您希望通过测试了解 GitLab 的 webhooks,可以使用在控制台会话中运行的简单回显脚本. 为了使以下脚本正常工作,您需要安装 Ruby. - -将以下文件另存为`print_http_body.rb` : - -``` -require 'webrick' - -server = WEBrick::HTTPServer.new(:Port => ARGV.first) -server.mount_proc '/' do |req, res| - puts req.body -end - -trap 'INT' do - server.shutdown -end -server.start -``` - -选择一个未使用的端口(例如 8000)并启动脚本: `ruby print_http_body.rb 8000` . 然后,将您的服务器作为 Webhook 接收器添加到 GitLab 中,作为`http://my.host:8000/` . - -在 GitLab 中按"测试"时,您应该在控制台中看到以下内容: - -``` -{"before":"077a85dd266e6f3573ef7e9ef8ce3343ad659c4e","after":"95cd4a99e93bc4bbabacfa2cd10e6725b1403c60",<SNIP>} -example.com - - [14/May/2014:07:45:26 EDT] "POST / HTTP/1.1" 200 0 -- -> / -``` - -**注意:**您可能需要[允许向本地网络](../../../security/webhooks.html)发送[请求,](../../../security/webhooks.html)以便添加此接收器. \ No newline at end of file diff --git a/docs/094.md b/docs/094.md deleted file mode 100644 index 2497f9a..0000000 --- a/docs/094.md +++ /dev/null @@ -1,42 +0,0 @@ -# YouTrack Service - -> 原文:[https://docs.gitlab.com/ee/user/project/integrations/youtrack.html](https://docs.gitlab.com/ee/user/project/integrations/youtrack.html) - -* [Enable the YouTrack integration](#enable-the-youtrack-integration) -* [Disable the internal issue tracker](#disable-the-internal-issue-tracker) -* [Referencing YouTrack issues in GitLab](#referencing-youtrack-issues-in-gitlab) - -# YouTrack Service[](#youtrack-service "Permalink") - -JetBrains [YouTrack](https://www.jetbrains.com/help/youtrack/standalone/YouTrack-Documentation.html)是一个基于 Web 的问题跟踪和项目管理平台. - -您可以在 GitLab 中将 YouTrack 配置为[外部问题跟踪器](../../../integration/external-issue-tracker.html) . - -## Enable the YouTrack integration[](#enable-the-youtrack-integration "Permalink") - -要在项目中启用 YouTrack 集成,请执行以下操作: - -1. 导航到项目的**"设置">" [集成"](overview.html#accessing-integrations)**页面. -2. 单击**YouTrack**服务,确保其处于活动状态,然后按照下表中的说明在页面上输入所需的详细信息. - - | Field | Description | - | --- | --- | - | **Project URL** | 链接到该 GitLab 项目的 YouTrack 中项目的 URL. | - | **问题网址** | 链接到该 GitLab 项目的 YouTrack 项目中问题的 URL. 请注意, **问题 URL**需要**URL 中的** `:id` . GitLab 使用此 ID 作为占位符来替换问题编号. | - -3. 点击**保存更改**按钮. - -一旦配置并启用了 YouTrack,您将在 GitLab 项目页面上看到 YouTrack 链接,该链接将您带到适当的 YouTrack 项目. - -## Disable the internal issue tracker[](#disable-the-internal-issue-tracker "Permalink") - -要在项目中禁用内部问题跟踪器: - -1. 导航到项目的**"设置">"常规"**页面. -2. 展开[权限部分](../settings/index.html#sharing-and-permissions) ,然后将**问题**切换为禁用. - -## Referencing YouTrack issues in GitLab[](#referencing-youtrack-issues-in-gitlab "Permalink") - -YouTrack 中的问题可以称为`<PROJECT>-<ID>` . `<PROJECT>`必须以字母开头,后跟字母,数字或下划线. `<ID>`是一个数字. 参考示例是`YT-101` , `Api_32-143`或`gl-030` . - -合并请求,提交或注释中对`<PROJECT>-<ID>`引用将自动链接到 YouTrack 问题 URL. 有关更多信息,请参阅[外部问题跟踪器](../../../integration/external-issue-tracker.html)文档. \ No newline at end of file diff --git a/docs/095.md b/docs/095.md deleted file mode 100644 index 930e3be..0000000 --- a/docs/095.md +++ /dev/null @@ -1,384 +0,0 @@ -# Insights - -> 原文:[https://docs.gitlab.com/ee/user/project/insights/](https://docs.gitlab.com/ee/user/project/insights/) - -* [View your project’s Insights](#view-your-projects-insights) -* [Configure your Insights](#configure-your-insights) -* [Permissions](#permissions) -* [Writing your `.gitlab/insights.yml`](#writing-your-gitlabinsightsyml) -* [Configuration parameters](#configuration-parameters) -* [Parameter details](#parameter-details) - * [`title`](#title) - * [`description`](#description) - * [`type`](#type) - * [`query`](#query) - * [`query.issuable_type`](#queryissuable_type) - * [`query.issuable_state`](#queryissuable_state) - * [`query.filter_labels`](#queryfilter_labels) - * [`query.collection_labels`](#querycollection_labels) - * [`query.group_by`](#querygroup_by) - * [`query.period_limit`](#queryperiod_limit) - * [`query.period_field`](#queryperiod_field) - * [`projects`](#projects) - * [`projects.only`](#projectsonly) -* [Complete example](#complete-example) - -# Insights[](#insights-ultimate "Permalink") - -[Introduced](https://gitlab.com/groups/gitlab-org/-/epics/725) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.0. - -配置对您的项目至关重要的见解,以探索数据,例如分类诊断,在给定期间内创建/关闭的问题,合并请求的平均合并时间等等. - -[![Insights example bar chart](img/911c6aa51b9202fc3dc3bdc143b30f82.png)](img/project_insights.png) - -**注意:**此功能[在组级别也可用](../../group/insights/index.html) . - -## View your project’s Insights[](#view-your-projects-insights "Permalink") - -您可以通过点击左侧栏中的**Analytics(分析)> Insights**链接来访问项目的 Insights: - -[![Insights sidebar link](img/24ea9a3635dc27668b899d6785917b1b.png)](img/insights_sidebar_link_v12_8.png) - -## Configure your Insights[](#configure-your-insights "Permalink") - -使用项目中名为`.gitlab/insights.yml`的 YAML 文件配置`.gitlab/insights.yml` . 该文件将在项目的"见解"页面中使用. - -有关此文件内容的详细信息,请参见下面的[编写`.gitlab/insights.yml`](#writing-your-gitlabinsightsyml) . - -**注意:**一旦创建了配置文件,您也可以[将其用于项目的 group](../../group/insights/index.html#configure-your-insights) .**注意:**如果项目没有任何配置文件,则将尽可能尝试使用组配置. 如果该组没有任何配置,将使用默认配置. - -## Permissions[](#permissions "Permalink") - -如果您有权查看项目,则可以查看其见解. - -**注意:**您无法访问的问题或合并请求(因为您无法访问它们所属的项目,或者因为它们是机密的)会从 Insights 图表中过滤掉. - -您也可以查阅[组权限表](../../permissions.html#group-members-permissions) . - -## Writing your `.gitlab/insights.yml`[](#writing-your-gitlabinsightsyml "Permalink") - -`.gitlab/insights.yml`文件定义了将在项目或组的每个 Insights 页面中显示的 Insights 图表的结构和顺序. - -每个页面都有一个唯一的键以及一组要获取和显示的图表. - -例如,这是 Insights 的单个定义,它将显示一个带有一个图表的页面: - -``` -bugsCharts: - title: "Charts for bugs" - charts: - - title: "Monthly bugs created" - description: "Open bugs created per month" - type: bar - query: - issuable_type: issue - issuable_state: opened - filter_labels: - - bug - group_by: month - period_limit: 24 -``` - -每个图表定义均由键值对组成的哈希组成. - -例如,这是单个图表定义: - -``` -- title: "Monthly bugs created" - description: "Open bugs created per month" - type: bar - query: - issuable_type: issue - issuable_state: opened - filter_labels: - - bug - group_by: month - period_limit: 24 -``` - -## Configuration parameters[](#configuration-parameters "Permalink") - -图表被定义为定义图表行为的参数列表. - -下表列出了图表的可用参数: - -| Keyword | Description | -| --- | --- | -| [`title`](#title) | 图表标题. 这将显示在"见解"页面上. | -| [`description`](#description) | 单个图表的描述. 这将显示在相关图表上方. | -| [`type`](#type) | 图表类型: `bar` , `line`或`stacked-bar` . | -| [`query`](#query) | 散列,用于定义要成为图表一部分的问题/合并请求的条件. | - -## Parameter details[](#parameter-details "Permalink") - -以下是用于配置 Insights 图表的参数的详细说明. - -### `title`[](#title "Permalink") - -`title`是图表的标题,它将显示在 Insights 页面上. 例如: - -``` -monthlyBugsCreated: - title: "Monthly bugs created" -``` - -### `description`[](#description "Permalink") - -`description`文字显示在图表上方,但标题下方. 它用于提供有关图表的更多详细信息,例如: - -``` -monthlyBugsCreated: - title: "Monthly bugs created" - description: "Open bugs created per month" -``` - -### `type`[](#type "Permalink") - -`type`是图表类型. - -例如: - -``` -monthlyBugsCreated: - title: "Monthly bugs created" - type: bar -``` - -Supported values are: - -| Name | Example | -| --- | --- | -| `bar` | [![Insights example bar chart](img/441419241245b159818b469c6508f227.png)](img/insights_example_bar_chart.png) | -| `bar` (time series, i.e. when `group_by` is used) | [![Insights example bar time series chart](img/6cad1c326921f33ce6d53e7f2ebd1158.png)](img/insights_example_bar_time_series_chart.png) | -| `line` | [![Insights example stacked bar chart](img/e75b1239d806589f91c4a40aba7fdc05.png)](img/insights_example_line_chart.png) | -| `stacked-bar` | [![Insights example stacked bar chart](img/da13575f699b92fa864c2d3fae1fae9e.png)](img/insights_example_stacked_bar_chart.png) | - -### `query`[](#query "Permalink") - -`query`允许定义条件/合并请求成为图表的一部分. - -Example: - -``` -monthlyBugsCreated: - title: "Monthly bugs created" - description: "Open bugs created per month" - type: bar - query: - issuable_type: issue - issuable_state: opened - filter_labels: - - bug - collection_labels: - - S1 - - S2 - - S3 - - S4 - group_by: week - period_limit: 104 -``` - -#### `query.issuable_type`[](#queryissuable_type "Permalink") - -定义要为其创建图表的"可发行"的类型. - -支持的值为: - -* `issue` :图表将显示问题的数据. -* `merge_request` :图表将显示合并请求的数据. - -#### `query.issuable_state`[](#queryissuable_state "Permalink") - -按查询的"可发行"状态过滤. - -默认情况下,将使用`opened`状态过滤器. - -支持的值为: - -* `opened` :未解决问题/合并请求. -* `closed` :已关闭未解决的问题/合并请求. -* `locked` :已锁定讨论的问题/合并请求. -* `merged` :合并的合并请求. -* `all` :在所有状态下发出/合并请求 - -#### `query.filter_labels`[](#queryfilter_labels "Permalink") - -按应用于查询的"可发行"的标签过滤. - -默认情况下,不应用标签过滤器. 必须将所有定义的标签应用于"可发行",才能对其进行选择. - -Example: - -``` -monthlyBugsCreated: - title: "Monthly regressions created" - type: bar - query: - issuable_type: issue - issuable_state: opened - filter_labels: - - bug - - regression -``` - -#### `query.collection_labels`[](#querycollection_labels "Permalink") - -通过配置的标签将"可发行"分组. - -默认情况下,不会进行分组. 使用此关键字时,需要将`type`设置为`line`或`stacked-bar` . - -Example: - -``` -weeklyBugsBySeverity: - title: "Weekly bugs by severity" - type: stacked-bar - query: - issuable_type: issue - issuable_state: opened - filter_labels: - - bug - collection_labels: - - S1 - - S2 - - S3 - - S4 -``` - -#### `query.group_by`[](#querygroup_by "Permalink") - -定义图表的 X 轴. - -支持的值为: - -* `day` : `day`组数据. -* `week` : `week`组数据. -* `month` : `month`组数据. - -#### `query.period_limit`[](#queryperiod_limit "Permalink") - -定义过去查询"可耗材"的距离. - -该单位与您定义的`query.group_by`有关. 例如,如果您定义了`query.group_by: 'day'`则`query.period_limit: 365`意思是"收集并显示最近 365 天的数据". - -默认情况下,将根据您定义的`query.group_by`应用默认值. - -| `query.group_by` | 默认值 | -| --- | --- | -| `day` | 30 | -| `week` | 4 | -| `month` | 12 | - -#### `query.period_field`[](#queryperiod_field "Permalink") - -定义用于将"可耗材"分组的时间戳字段. - -支持的值为: - -* `created_at` (默认):使用`created_at`字段对数据进行分组. -* `closed_at` :使用`closed_at`字段对数据进行`closed_at` (仅针对问题). -* `merged_at` :使用`merged_at`字段对数据进行`merged_at` (仅适用于合并请求). - -`period_field`自动设置为: - -* `closed_at` if `query.issuable_state` is `closed` -* `merged_at` if `query.issuable_state` is `merged` -* `created_at` otherwise - -**注意:**在解决[此错误](https://gitlab.com/gitlab-org/gitlab/-/issues/26911)之前,您可能会看到`created_at`代替`merged_at` . 将使用`created_at`代替. - -### `projects`[](#projects "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/10904) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.4. - -您可以限制从以下位置查询"可耗材"的位置: - -* 如果`.gitlab/insights.yml`用于一[组的见解](../../group/insights/index.html#configure-your-insights) ,有`projects` ,你可以限制要查询的项目. 默认情况下,将使用该组下的所有项目. -* 如果将`.gitlab/insights.yml`用于项目的见解,则指定任何其他项目均不会产生任何结果. 默认情况下,将使用项目本身. - -#### `projects.only`[](#projectsonly "Permalink") - -`projects.only`选项指定应从中查询"可发行物品"的项目. - -在以下情况下,此处列出的项目将被忽略: - -* 它们不存在. -* 当前用户没有足够的权限来读取它们. -* 他们不在小组中. - -在以下`insights.yml`示例中,我们指定将在其中使用查询的项目. 设置小组的见解时,此示例非常有用: - -``` -monthlyBugsCreated: - title: "Monthly bugs created" - description: "Open bugs created per month" - type: bar - query: - issuable_type: issue - issuable_state: opened - filter_labels: - - bug - projects: - only: - - 3 # You can use the project ID - - groupA/projectA # Or full project path - - groupA/subgroupB/projectC # Projects in subgroups can be included - - groupB/project # Projects outside the group will be ignored -``` - -## Complete example[](#complete-example "Permalink") - -``` -.projectsOnly: &projectsOnly - projects: - only: - - 3 - - groupA/projectA - - groupA/subgroupB/projectC - -bugsCharts: - title: "Charts for bugs" - charts: - - title: "Monthly bugs created" - description: "Open bugs created per month" - type: bar - <<: *projectsOnly - query: - issuable_type: issue - issuable_state: opened - filter_labels: - - bug - group_by: month - period_limit: 24 - - - title: "Weekly bugs by severity" - type: stacked-bar - <<: *projectsOnly - query: - issuable_type: issue - issuable_state: opened - filter_labels: - - bug - collection_labels: - - S1 - - S2 - - S3 - - S4 - group_by: week - period_limit: 104 - - - title: "Monthly bugs by team" - type: line - <<: *projectsOnly - query: - issuable_type: merge_request - issuable_state: opened - filter_labels: - - bug - collection_labels: - - Manage - - Plan - - Create - group_by: month - period_limit: 24 -``` \ No newline at end of file diff --git a/docs/096.md b/docs/096.md deleted file mode 100644 index 5ea5c06..0000000 --- a/docs/096.md +++ /dev/null @@ -1,174 +0,0 @@ -# Issues - -> 原文:[https://docs.gitlab.com/ee/user/project/issues/](https://docs.gitlab.com/ee/user/project/issues/) - -* [Overview](#overview) -* [Parts of an issue](#parts-of-an-issue) -* [Viewing and managing issues](#viewing-and-managing-issues) - * [Issue page](#issue-page) - * [Issues list](#issues-list) - * [Issue boards](#issue-boards) - * [Design Management](#design-management) - * [Epics](#epics-premium) - * [Related issues](#related-issues-starter) - * [Crosslinking issues](#crosslinking-issues) - * [Similar issues](#similar-issues) - * [Health status](#health-status-ultimate) - * [Disable issue health status](#disable-issue-health-status) -* [Other Issue actions](#other-issue-actions) - -# Issues[](#issues "Permalink") - -问题是在 GitLab 中就想法和计划工作进行协作的基本介质. - -## Overview[](#overview "Permalink") - -GitLab 问题跟踪器是用于协作开发想法,解决问题和计划工作的高级工具. - -通过问题,可以在以下各项之间,在实施之前和期间共享和讨论提案: - -* 您和您的团队. -* 外部合作者. - -它们还可以用于各种其他目的,根据您的需求和工作流程进行定制. - -问题始终与特定项目相关联,但是如果您在一个小组中有多个项目,则还可以在小组级别集体查看所有问题. - -**常见的用例包括:** - -* 讨论新想法的实施 -* 跟踪任务和工作状态 -* 接受功能建议,问题,支持请求或错误报告 -* 详细说明新的代码实现 - -另请参见[始终从问题开始讨论](https://about.gitlab.com/blog/2016/03/03/start-with-an-issue/) . - -要了解 GitLab 战略营销部门如何将 GitLab 问题与[标签](../labels.html)和[问题板一起使用](../issue_board.html) ,请参阅有关[管理问题的承诺](https://www.youtube.com/watch?v=cuIHNintg1o&t=3)的视频. - -## Parts of an issue[](#parts-of-an-issue "Permalink") - -问题包含各种内容和元数据,从而在使用方式上具有很大的灵活性. 每个问题可以包含以下属性,尽管并非必须设置所有项目. - -| - -* Content - * Title - * 描述和任务 - * 评论和其他活动 -* People - * Author - * Assignee(s) -* State - * 状态(打开或关闭) - * 健康状况(正常,需要注意或有危险) - * Confidentiality - * 任务(完成与未完成) - - | - -* 规划和跟踪 - * 里程碑 - * 截止日期 - * 重量 - * 时间跟踪 - * 标签 - * 投票数 - * 反应表情 - * 关联问题 - * 分配史诗 - * 唯一的发行号和 URL - - | - -## Viewing and managing issues[](#viewing-and-managing-issues "Permalink") - -虽然您可以在[问题页面](#issue-page)上查看和管理问题的全部详细信息,但也可以一次使用" [问题列表"](#issues-list) ," [问题板"](#issue-boards) ,"问题参考"和" [Epic"](#epics-premium)处理多个问题 . - -针对问题的关键操作包括: - -* [Creating issues](managing_issues.html#create-a-new-issue) -* [Moving issues](managing_issues.html#moving-issues) -* [Closing issues](managing_issues.html#closing-issues) -* [Deleting issues](managing_issues.html#deleting-issues) - -### Issue page[](#issue-page "Permalink") - -[![Issue view](img/a15f0b2964d7094b019c5c33425ba75b.png)](img/issues_main_view.png) - -在问题的页面上,您可以查看问题的[所有方面,](issue_data_and_actions.html)如果有必要的[权限](../../permissions.html) ,可以对其进行修改. - -### Issues list[](#issues-list "Permalink") - -[![Project issues list view](img/854d722d9976d5b36956ddbe41ceae48.png)](img/project_issues_list_view.png) - -在"问题列表"上,可以从更高级别的组上下文中打开"问题列表",从而可以查看当前项目中的所有问题,也可以查看多个项目中的所有问题. 使用[搜索查询](../../search/index.html#filtering-issue-and-merge-request-lists)过滤问题列表,包括特定的元数据,例如标签,受让人,状态等. 从此视图,您还可以对显示的问题[进行批量](../bulk_editing.html)更改. - -有关更多信息,请参见[问题数据和操作](issue_data_and_actions.html)页面,以了解问题中所有字段和信息的摘要. - -您可以通过多种方式对问题列表进行排序,例如,通过问题创建日期,里程碑到期日期. 有关更多信息,请参见" [排序和排序问题列表"](sorting_issue_lists.html)页面. - -### Issue boards[](#issue-boards "Permalink") - -[![Issue board](img/fd79e7dae86040d6e1249793ae0b1502.png)](img/issue_board.png) - -[发行板](../issue_board.html)是看板,其栏目根据其标签或他们的受让人显示问题 . 它们提供了使用高度可定制的工作流来管理问题的灵活性. - -您可以在栏中重新排序问题. 如果将发行卡拖到另一列,则其关联的标签或受让人将更改以匹配新列的标签或受让人. 整个董事会也可以被筛选为仅包括某个里程碑或总体标签中的问题. - -### Design Management[](#design-management "Permalink") - -使用[Design Management](design_management.html) ,您可以将设计资产上载到问题并一起查看它们,以轻松地与团队共享和协作. - -### Epics[](#epics-premium "Permalink") - -[Epics](../../group/epics/index.html)通过跟踪跨项目和里程碑共享主题的问题组,使您可以更有效,更[轻松地](../../group/epics/index.html)管理项目组合. - -### Related issues[](#related-issues-starter "Permalink") - -您可以将两个问题标记为"相关",以便在查看一个问题时,另一个[问题](related_issues.html)始终列在" [相关问题"](related_issues.html)部分中. 这可以帮助显示重要的上下文,例如过去的工作,依赖项或重复项. - -### Crosslinking issues[](#crosslinking-issues "Permalink") - -您可以通过引用另一个问题中的问题来[交叉链接问题](crosslinking_issues.html) ,也可以通过包括其 URL 或 ID 来合并请求. 参考的问题在活动流中显示有关参考的消息,并带有指向其他问题或 MR 的链接. - -### Similar issues[](#similar-issues "Permalink") - -在 GitLab 11.6 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/22866) . - -为了防止同一主题重复出现问题,GitLab 在创建新问题时会搜索相似的问题. - -在" **新问题"**页面中键入标题时,GitLab 会搜索用户在当前项目中有权访问的所有问题的标题和描述. 标题框下方最多显示五个类似问题(按最新更新排序). 请注意,此功能需要启用[GraphQL](../../../api/graphql/index.html) . - -[![Similar issues](img/95882a4976be6b95971ad0011fcd7617.png)](img/similar_issues.png) - -### Health status[](#health-status-ultimate "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/36427) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.10. - -为了帮助您跟踪问题的状态,您可以为每个问题分配一个状态,以标记按计划进行或需要注意以按时进行的工作: - -* **步入正轨** (green) -* **需要注意** (amber) -* **有一定风险** (red) - -[!["On track" health status on an issue](img/8308fbab7a41e24cad0bf6c358863ae3.png)](img/issue_health_status_dropdown_v12_10.png) - -然后,您可以在[Epic 树上](../../group/epics/index.html#issue-health-status-in-epic-tree-ultimate)查看问题状态. - -#### Disable issue health status[](#disable-issue-health-status "Permalink") - -此功能默认启用`:save_issuable_health_status`功能标志. 但是,在某些情况下,此功能与旧配置不兼容. 要在迁移配置时关闭该功能,请要求具有 Rails 控制台访问权限的 GitLab 管理员运行以下命令: - -``` -Feature.disable(:save_issuable_health_status) -``` - -## Other Issue actions[](#other-issue-actions "Permalink") - -* [Create an issue from a template](../../project/description_templates.html#using-the-templates) -* [Set a due date](due_dates.html) -* [批量编辑问题](../bulk_editing.html) -从问题列表中选择多个问题,以批量更改其状态,受让人,里程碑或标签. -* [Import issues](csv_import.html) -* [Export issues](csv_export.html) -* [Issues API](../../../api/issues.html) -* 配置[外部问题跟踪器,](../../../integration/external-issue-tracker.html)例如 Jira,Redmine 或 Bugzilla. \ No newline at end of file diff --git a/docs/097.md b/docs/097.md deleted file mode 100644 index e11a4f4..0000000 --- a/docs/097.md +++ /dev/null @@ -1,49 +0,0 @@ -# Crosslinking Issues - -> 原文:[https://docs.gitlab.com/ee/user/project/issues/crosslinking_issues.html](https://docs.gitlab.com/ee/user/project/issues/crosslinking_issues.html) - -* [From Commit Messages](#from-commit-messages) -* [From Related Issues](#from-related-issues) -* [From Merge Requests](#from-merge-requests) - -# Crosslinking Issues[](#crosslinking-issues "Permalink") - -请通读[GitLab 问题文档](index.html)以获取有关 GitLab 问题的概述. - -## From Commit Messages[](#from-commit-messages "Permalink") - -每次在提交消息中提及问题时,您都在开发工作流的两个阶段之间建立一种关系:问题本身以及与该问题相关的第一次提交. - -如果问题和您要提交的代码都在同一项目中,则只需在提交消息中添加`#xxx` ,其中`xxx`是问题编号. 如果它们不在同一项目中,则可以将完整的 URL 添加到问题中( `https://gitlab.com/<username>/<projectname>/issues/<xxx>` ). - -``` -git commit -m "this is my commit message. Ref #xxx" -``` - -or - -``` -git commit -m "this is my commit message. Related to https://gitlab.com/<username>/<projectname>/issues/<xxx>" -``` - -当然,您可以使用自己的 GitLab 实例的 URL 替换`gitlab.com` . - -**注意:**将您的第一次提交与您的问题相关联,对于通过[GitLab Cycle Analytics](https://about.gitlab.com/stages-devops-lifecycle/value-stream-analytics/)跟踪您的过程将非常重要. 它将测量计划该问题的实施所花费的时间,即从创建问题到进行第一次提交之间的时间. - -## From Related Issues[](#from-related-issues "Permalink") - -在合并请求中提及相关问题以及其他问题对于您的团队成员和协作者了解有关同一主题的未解决问题很有用. - -如上所述,当您[从提交消息中提到问题](#from-commit-messages)时,您可以执行此操作. - -当在问题`#222`提到问题`#111`时,问题`#111`还将在其跟踪器中显示一条通知. 也就是说,您只需提及一次关系即可在两个问题中均显示该关系. 在[合并请求中](#from-merge-requests)提及问题时,也是如此. - -[![issue mentioned in issue](img/b962444c71ad27ba05dfc6bfc69269f4.png)](img/mention_in_issue.png) - -## From Merge Requests[](#from-merge-requests "Permalink") - -Mentioning issues in merge request comments works exactly the same way as they do for [related issues](#from-related-issues). - -当您在合并请求说明中提到问题时,它将仅[将问题和合并请求链接在一起](#from-related-issues) . 此外,您还可以[将问题设置](managing_issues.html#closing-issues-automatically)为在合并请求合并后立即[自动关闭](managing_issues.html#closing-issues-automatically) . - -[![issue mentioned in MR](img/f36631c8d1fd9cb42fb7c58a495c24be.png)](img/mention_in_merge_request.png) \ No newline at end of file diff --git a/docs/098.md b/docs/098.md deleted file mode 100644 index 0fb51b9..0000000 --- a/docs/098.md +++ /dev/null @@ -1,251 +0,0 @@ -# Design Management - -> 原文:[https://docs.gitlab.com/ee/user/project/issues/design_management.html](https://docs.gitlab.com/ee/user/project/issues/design_management.html) - -* [Overview](#overview) -* [Requirements](#requirements) -* [Supported files](#supported-files) -* [Limitations](#limitations) -* [GitLab-Figma plugin](#gitlab-figma-plugin) -* [The Design Management section](#the-design-management-section) - * [Enable or disable displaying Designs on the issue description](#enable-or-disable-displaying-designs-on-the-issue-description-core-only) -* [Adding designs](#adding-designs) - * [Skipped designs](#skipped-designs) -* [Viewing designs](#viewing-designs) - * [Exploring designs by zooming](#exploring-designs-by-zooming) -* [Deleting designs](#deleting-designs) -* [Starting discussions on designs](#starting-discussions-on-designs) -* [Resolve Design threads](#resolve-design-threads) -* [Referring to designs in Markdown](#referring-to-designs-in-markdown) - * [Enable or disable design references](#enable-or-disable-design-references-core-only) -* [Design activity records](#design-activity-records) - -# Design Management[](#design-management "Permalink") - -版本历史 - -* 在[GitLab Premium](https://about.gitlab.com/pricing/) 12.2 中[引入](https://gitlab.com/groups/gitlab-org/-/epics/660) . -* 在 13.0 中[移至](https://gitlab.com/gitlab-org/gitlab/-/issues/212566) GitLab Core. - -## Overview[](#overview "Permalink") - -Design Management 允许您将设计资产(线框,模型等)上载到 GitLab 问题,并将它们存储在一个位置,由问题中的 Design Management 页面访问,从而为产品设计师,产品经理和工程师提供了一种方法在单一事实来源上进行设计合作. - -您可以轻松地与团队共享设计的模型,也可以轻松查看和解决视觉回归问题. - -有关概述,请参见视频[设计管理(GitLab 12.2)](https://www.youtube.com/watch?v=CCMtCqdK_aM) . - -## Requirements[](#requirements "Permalink") - -设计管理需要启用[大文件存储(LFS)](../../../topics/git/lfs/index.html) : - -* 对于 GitLab.com,已启用 LFS. -* 对于自我管理的实例,GitLab 管理员必须[全局启用 LFS](../../../administration/lfs/index.html) . -* 对于 GitLab.com 和自我管理实例:必须为项目本身启用 LFS. 如果全局启用,则默认情况下将对所有项目启用 LFS. 要在项目级别启用 LFS,请导航至项目的**"设置">"常规"** ,展开" **可见性",项目功能,权限**并启用" **Git Large File Storage"** . - -设计管理还要求项目使用[哈希存储](../../../administration/raketasks/storage.html#migrate-to-hashed-storage) . 从 GitLab 10.0 开始,默认情况下,新创建的项目使用哈希存储. GitLab 管理员可以通过导航到" **管理区域">"项目"** ,然后选择有问题的项目来验证项目的存储类型. 如果项目的*Gitaly 相对路径*包含`@hashed`则可以将其标识为散列存储. - -如果不满足要求,则" **设计"**选项卡会向用户显示一条消息. - -## Supported files[](#supported-files "Permalink") - -上传的文件的文件扩展名必须为`png` , `jpg` , `jpeg` , `gif` , `bmp` , `tiff`或`ico` . - -计划在将来的版本中支持[SVG 文件](https://gitlab.com/gitlab-org/gitlab/-/issues/12771)和[PDF](https://gitlab.com/gitlab-org/gitlab/-/issues/32811) . - -## Limitations[](#limitations "Permalink") - -* 设计上载一次限制为 10 个文件. -* 从 GitLab 13.1 起,设计文件名限制为 255 个字符. -* [销毁项目时,不会删除](https://gitlab.com/gitlab-org/gitlab/-/issues/13429)设计管理数据. -* [移动](https://gitlab.com/gitlab-org/gitlab/-/issues/13426)问题时, [不会移动](https://gitlab.com/gitlab-org/gitlab/-/issues/13426) Design Management 数据; [删除](https://gitlab.com/gitlab-org/gitlab/-/issues/13427)问题时,也不会[删除](https://gitlab.com/gitlab-org/gitlab/-/issues/13427)它. -* 从 GitLab 12.7 起,设计管理数据[可以](../../../administration/geo/replication/datatypes.html#limitations-on-replicationverification)由 Geo [复制](../../../administration/geo/replication/datatypes.html#limitations-on-replicationverification) ,但[不能验证](https://gitlab.com/gitlab-org/gitlab/-/issues/32467) . -* 只能删除设计的最新版本. -* 删除的设计无法恢复,但是您可以在以前的设计版本中看到它们. - -## GitLab-Figma plugin[](#gitlab-figma-plugin "Permalink") - -在 GitLab 13.2 中[引入](https://gitlab.com/gitlab-org/gitlab-figma-plugin/-/issues/2) . - -通过无缝的工作流程将设计环境与源代码管理连接起来. GitLab-Figma 插件通过将产品设计师的工作从 Figma 直接带到 GitLab Issues 作为上载的 Designs,使在 GitLab 中进行协作变得快捷,容易. - -要使用该插件,请从[Figma 目录中](https://www.figma.com/community/plugin/860845891704482356)安装它,并通过个人访问令牌连接到 GitLab. 有关详细信息,请参见[插件文档](https://gitlab.com/gitlab-org/gitlab-figma-plugin/-/wikis/home) . - -## The Design Management section[](#the-design-management-section "Permalink") - -版本历史 - -* 在 GitLab 13.2 中[引入的](https://gitlab.com/gitlab-org/gitlab/-/issues/223193)设计直接显示在问题描述中,而不是单独的选项卡上. -* 新显示将部署在功能标记后面,默认情况下启用. -* 在 GitLab.com 上启用了它. -* 不能根据项目启用或禁用它. -* 建议用于生产. -* 对于 GitLab 自我管理的实例,GitLab 管理员可以选择[禁用它](#enable-or-disable-displaying-designs-on-the-issue-description-core-only) . 如果禁用,它将"设计"移回" **设计"**选项卡. - -您可以在问题描述的" **设计管理"**部分中找到: - -[![Designs section](img/a9325984eddfbb907563c5bf5003f704.png)](img/design_management_v13_2.png) - -### Enable or disable displaying Designs on the issue description[](#enable-or-disable-displaying-designs-on-the-issue-description-core-only "Permalink") - -正在开发关于问题描述的设计,但已准备好用于生产. 它部署在**默认情况下启用**的功能标志的后面. [有权访问 GitLab Rails 控制台的 GitLab 管理员](../../../administration/feature_flags.html)可以选择为您的实例禁用它. - -禁用它: - -``` -Feature.disable(:design_management_moved) -``` - -要启用它: - -``` -Feature.enable(:design_management_moved) -``` - -通过禁用此功能,设计将显示在" **设计"**选项卡上,而不是直接显示在问题描述上. - -## Adding designs[](#adding-designs "Permalink") - -要上传设计图像,请将文件从计算机上拖放到"设计管理"部分,或单击" **上传"**以从文件浏览器中选择图像: - -[![Designs empty state](img/cbd0470f26aadc25ca385447ade97392.png)](img/design_management_upload_v13.2.png) - -在[GitLab Premium](https://about.gitlab.com/pricing/) 12.9 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/34353) ,您可以将设计拖放到专用放置区域以上载它们. - -[![Drag and drop design uploads](img/28e0f270ca5b3b728207d80c19a82d71.png)](img/design_drag_and_drop_uploads_v13_2.png) - -在 GitLab 12.10 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/202634)后,您还可以从文件系统复制图像并将其作为新设计直接粘贴到 GitLab 的"设计"页面上. - -在 macOS 上,您还可以截取屏幕截图,并同时单击`Control` + `Command` + `Shift` + `3` ,将其立即复制到剪贴板,然后将其粘贴为设计. - -复制和粘贴有一些限制: - -* 一次只能粘贴一张图像. 复制/粘贴多个文件时,只会上传第一个文件. -* 所有图像将在引擎盖下转换为`png`格式,因此当您要复制/粘贴`gif`文件时,会导致动画损坏. -* 如果要从剪贴板粘贴屏幕截图,它将被重命名为`design_<timestamp>.png` -* Copy/pasting designs is not supported on Internet Explorer. - -与现有的上载设计具有相同文件名的设计将创建该设计的新版本,并将替换以前的版本. 如果文件名相同,则在[GitLab Premium](https://about.gitlab.com/pricing/) 12.9 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/34353)后,将设计放到现有的上载设计上也会创建一个新版本. - -如果问题已移动或[讨论被锁定](../../discussions/#lock-discussions) ,则无法添加设计. - -### Skipped designs[](#skipped-designs "Permalink") - -与现有上传的设计具有相同文件名*且*其内容未更改的设计将被跳过. 这意味着将不会创建该设计的新版本. 跳过设计时,将通过关于"问题"的警告消息通知您. - -## Viewing designs[](#viewing-designs "Permalink") - -单击"设计管理"页面上的图像可以将其放大. 您可以通过单击右上角的导航按钮或使用`左` / `右`键盘按钮来浏览设计. - -设计文件名右侧列出了有关设计的讨论数(如果有). 单击此数字可以放大设计,就像单击设计上的其他任何位置一样. 添加或修改设计时,项目上会显示一个图标,以帮助总结版本之间的更改. - -| Indicator | Example | -| --- | --- | -| Discussions | [![Discussions Icon](img/1162f64da937aa1ef37877c6b8930e1e.png)](img/design_comments_v12_3.png) | -| 已修改(在所选版本中) | [![Design Modified](img/3887423740965d20eecf9471bc1b3061.png)](img/design_modified_v12_3.png) | -| 已添加(在所选版本中) | [![Design Added](img/3601605e24186a1976e7aff09112bb7e.png)](img/design_added_v12_3.png) | - -### Exploring designs by zooming[](#exploring-designs-by-zooming "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/13217) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.7. - -通过放大和缩小图像,可以更详细地探索设计. 使用图像底部的`+`和`-`按钮控制缩放量. 缩放后,您仍然可以在图像上[开始新的讨论](#starting-discussions-on-designs) ,并查看任何现有的讨论. 在 GitLab 12.10 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/197324) ,放大后,您可以在图像上单击并拖动以在图像中移动. - -[![Design zooming](img/9bf0c7423d5735ccdfbdfe250f9a5452.png)](img/design_zooming_v12_7.png) - -## Deleting designs[](#deleting-designs "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/11089) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.4. - -有两种删除设计的方法:分别手动删除它们,或选择其中几个立即删除,如下所示. - -要删除单个设计,请单击它以将其放大查看,然后单击右上角的垃圾桶图标,并通过单击模式窗口上的" **删除"**按钮来确认删除: - -[![Confirm design deletion](img/b15b2918f982a43ce2379b4f2ec765a9.png)](img/confirm_design_deletion_v12_4.png) - -要一次删除多个设计,请在设计的列表视图上,首先选择要删除的设计: - -[![Select designs](img/9f6da2599274d0db274d6aa19a27fcfc.png)](img/select_designs_v12_4.png) - -选择后,单击" **删除所选的"**按钮以确认删除: - -[![Delete multiple designs](img/eac2240244a4d3fb9f3d16c19760ea53.png)](img/delete_multiple_designs_v12_4.png) - -**注意:**只能删除设计的最新版本. 删除的设计不会永久丢失; 可以通过浏览以前的版本来查看它们. - -## Starting discussions on designs[](#starting-discussions-on-designs "Permalink") - -上传设计后,您可以通过单击您要关注讨论的确切位置上的图像来开始讨论. 将图钉添加到图像,以标识讨论的位置. - -[![Starting a new discussion on design](img/a272933779dc7642aed4eb4acde12df9.png)](img/adding_note_to_design_1.png) - -在[GitLab Premium](https://about.gitlab.com/pricing/) 12.8 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/34353) ,您可以通过在图像周围拖动来调整销的位置. 当您的设计布局在各修订版之间进行了更改时,或者需要移动现有的引脚以在其位置添加新的引脚时,这很有用. - -不同的讨论有不同的引脚号: - -[![Discussions on designs](img/16db6a809ddf03cf101fdbec905d41a2.png)](img/adding_note_to_design_2.png) - -从 GitLab 12.5 起,新的讨论将输出到问题活动中,以便所有相关人员都可以参与讨论. - -## Resolve Design threads[](#resolve-design-threads "Permalink") - -在 GitLab 13.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/13049) . - -Discussion threads can be resolved on Designs. - -有两种解决/取消解决设计线程的方法: - -1. 您可以通过单击讨论的第一个评论的右上角的" **解决线程"**的复选标记图标,将一个线程标记为已解决或未解决: - -[![Resolve thread icon](img/729f4c6815c7118c098b6925f2375918.png)](img/resolve_design-discussion_icon_v13_1.png) - -1. 还可以通过使用复选框在其线程中解析或不解析设计线程. 回复评论时,您会看到一个复选框,您可以单击该复选框以在发布后解决或取消解决线程: - -[![Resolve checkbox](img/a14ce4f4a816ce9ceea3133c64b5f328.png)](img/resolve_design-discussion_checkbox_v13_1.png) - -请注意,您已解决的注释图钉将从设计中消失,以腾出空间进行新的讨论. 但是,如果您需要重新访问或找到已解决的讨论,则所有已解决的主题将在右侧栏底部的" **已解决的注释"**区域中可用. - -## Referring to designs in Markdown[](#referring-to-designs-in-markdown "Permalink") - -> * [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/217160) in **亚搏体育 app 13.1**. -> * 它部署在功能标志后面,默认情况下处于禁用状态. -> * 它在 GitLab.com 上被禁用. -> * 不建议将其用于生产. -> * 要在 GitLab 自管实例中使用它,请让 GitLab 管理员[启用它](#enable-or-disable-design-references-core-only) . - -我们支持在[Markdown 中](../../markdown.html)引用设计,在整个应用程序中都可用,包括合并请求和问题描述,讨论和评论以及 Wiki 页面. - -目前,支持完整的 URL 引用. 例如,如果我们使用以下内容引用设计: - -``` -See https://gitlab.com/your-group/your-project/-/issues/123/designs/homescreen.png -``` - -这将呈现为: - -> See [#123[homescreen.png]](https://gitlab.com/your-group/your-project/-/issues/123/designs/homescreen.png) - -### Enable or disable design references[](#enable-or-disable-design-references-core-only "Permalink") - -设计参考解析正在开发中,尚未准备好用于生产. 它部署在**默认情况下禁用**的功能标志的后面. [有权访问 GitLab Rails 控制台的 GitLab 管理员](../../../administration/feature_flags.html)可以为您的实例启用它. - -要启用它: - -``` -Feature.enable(:design_management_reference_filter_gfm_pipeline) -``` - -禁用它: - -``` -Feature.disable(:design_management_reference_filter_gfm_pipeline) -``` - -## Design activity records[](#design-activity-records "Permalink") - -版本历史 - -* 在 GitLab 13.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/33051) . -* 在 GitLab 13.2 中[删除](https://gitlab.com/gitlab-org/gitlab/-/issues/225205)了[功能标志](https://gitlab.com/gitlab-org/gitlab/-/issues/225205) . - -GitLab 跟踪设计上的用户活动事件(创建,删除和更新),并显示在[用户配置文件](../../profile/index.html#user-profile) , [组](../../group/index.html#view-group-activity)和[项目](../index.html#project-activity)活动页面上. \ No newline at end of file diff --git a/docs/099.md b/docs/099.md deleted file mode 100644 index 00343c6..0000000 --- a/docs/099.md +++ /dev/null @@ -1,96 +0,0 @@ -# Confidential issues - -> 原文:[https://docs.gitlab.com/ee/user/project/issues/confidential_issues.html](https://docs.gitlab.com/ee/user/project/issues/confidential_issues.html) - -* [Making an issue confidential](#making-an-issue-confidential) -* [Modifying issue confidentiality](#modifying-issue-confidentiality) -* [Indications of a confidential issue](#indications-of-a-confidential-issue) -* [Permissions and access to confidential issues](#permissions-and-access-to-confidential-issues) -* [Merge Requests for Confidential Issues](#merge-requests-for-confidential-issues) - * [How it works](#how-it-works) - -# Confidential issues[](#confidential-issues "Permalink") - -在 GitLab 8.6 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/3282) . - -机密性问题是仅对具有[足够权限](#permissions-and-access-to-confidential-issues)的项目成员可见的问题. 开源项目和公司都可以使用机密问题来使安全漏洞不公开或防止意外泄漏. - -## Making an issue confidential[](#making-an-issue-confidential "Permalink") - -您可以在创建问题或编辑现有问题的过程中将其保密. - -创建新问题时,可以在文本区域下方的复选框中将问题标记为机密. 选中该框,然后点击" **提交问题"**按钮以创建问题. 对于现有问题,请对其进行编辑,选中机密复选框,然后点击**保存更改** . - -[![Creating a new confidential issue](img/43a1d5a081bb166e1d43d6e671f250e1.png)](img/confidential_issues_create.png) - -## Modifying issue confidentiality[](#modifying-issue-confidentiality "Permalink") - -有两种方法可以更改问题的机密性. - -第一种方法是编辑问题并标记/取消标记机密复选框. 保存问题后,它将更改问题的机密性. - -第二种方法是在边栏中找到"保密性"部分,然后单击" **编辑"** . 应该会出现一个弹出窗口,并为您提供打开或关闭机密性的选项. - -| 关闭机密性 | Turn on confidentiality | -| --- | --- | -| [![Turn off confidentiality](img/429e9751a8b0336bb8b7e3faab15a373.png)](img/turn_off_confidentiality.png) | [![Turn on confidentiality](img/3252759837ced64a222db48c62becdd3.png)](img/turn_on_confidentiality.png) | - -系统注释在问题注释中指出了从常规到机密(反之亦然)的每项更改. - -[![Confidential issues system notes](img/b66dc4137ac73e81c66e408cf9fcf391.png)](img/confidential_issues_system_notes.png) - -## Indications of a confidential issue[](#indications-of-a-confidential-issue "Permalink") - -> **注意:**如果您没有[足够的权限](#permissions-and-access-to-confidential-issues) ,您将根本看不到机密问题. - -有几件事在视觉上将机密问题与常规问题分开. 在问题索引页面视图中,您可以在标记为机密的问题旁边看到斜线图标. - -[![Confidential issues index page](img/8cebf5d928a8666adcfc25eccfeec89e.png)](img/confidential_issues_index_page.png) - -* * * - -同样,在问题内部,您可以在问题编号旁边看到斜线图标,但在注释区域中也有一个指示符,表明您正在评论的问题是机密的. - -[![Confidential issue page](img/ea665ae1d507d66f5a44d05ff9e32613.png)](img/confidential_issues_issue_page.png) - -侧边栏上还有一个指示保密性的指示器. - -| 机密问题 | 非机密问题 | -| --- | --- | -| [![Sidebar confidential issue](img/813e077e7aa22bb747b5f237984f1b22.png)](img/sidebar_confidential_issue.png) | [![Sidebar not confidential issue](img/6a33d33154553990ed15338a6f9c7b35.png)](img/sidebar_not_confidential_issue.png) | - -## Permissions and access to confidential issues[](#permissions-and-access-to-confidential-issues "Permalink") - -对于机密问题,有两种级别的访问权限. 一般规则是,机密问题仅对具有[Reporter 访问权限](../../permissions.html#project-members-permissions)的项目成员可见. 但是,来宾用户也可以创建机密问题,但只能查看他们自己创建的问题. - -对于非特权用户,机密问题也隐藏在搜索结果中. 例如,这是具有"维护者"和"访客"访问权限的用户分别在项目的搜索结果中看到的内容. - -| 维护者访问 | 来宾访问 | -| --- | --- | -| [![Confidential issues search master](img/30460bec4b16c49e4f5d5ccc7ac92601.png)](img/confidential_issues_search_master.png) | [![Confidential issues search guest](img/2bb7640bbe66bec0d43070f6f4053758.png)](img/confidential_issues_search_guest.png) | - -## Merge Requests for Confidential Issues[](#merge-requests-for-confidential-issues "Permalink") - -在 GitLab 12.1 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/58583) . - -为了帮助防止机密信息在解决机密问题的过程中从公共项目中泄露,可以通过创建私有派生的合并请求来解决机密问题. - -创建的合并请求将针对私有派生的默认分支,而不是公共上游项目的默认分支. 这样可以防止合并请求,分支和提交进入公共存储库,以及过早地泄露机密信息. 当准备好将机密提交公开时,可以通过打开从私有派生到公共上游项目的合并请求来完成. - -**最佳实践:**如果您在原始上游的同一组或子组中创建了一个长期的私有派生,则具有开发者成员身份的公共项目的所有用户在私有项目中也将具有相同的权限. 这样,所有有权查看机密问题的开发人员都将拥有简化的工作流程来解决这些问题. - -### How it works[](#how-it-works "Permalink") - -关于机密问题," **创建机密合并请求"**按钮可用. 单击它会打开一个下拉列表,您可以在其中选择**创建机密合并请求和分支**或**创建分支** : - -| 创建机密合并请求 | 创建分支 | -| --- | --- | -| [![Create Confidential Merge Request Dropdown](img/17d0ef7b105be8069a4258a758bd25bb.png)](img/confidential_mr_dropdown_v12_1.png) | [![Create Confidential Branch Dropdown](img/4f9a7d54cb4f539c606eaef8fd65b8ed.png)](img/confidential_mr_branch_dropdown_v12_1.png) | - -**项目**下拉列表包括用户所属的私有派生列表,至少是开发人员,并且合并请求已启用. - -每当" **分支名称"**和" **源(分支或标记)"**字段更改时,将检查目标或源分支的可用性. 两个分支都应在所选的私有派生中可用. - -通过单击**创建机密合并请求**按钮,GitLab 将在私有分支中创建分支和合并请求. 当选择**Create branch 时** ,GitLab 将仅创建分支. - -在私有分支中创建分支后,开发人员现在可以将代码推送到该分支以解决机密问题. \ No newline at end of file diff --git a/docs/100.md b/docs/100.md deleted file mode 100644 index 8f5beb3..0000000 --- a/docs/100.md +++ /dev/null @@ -1,47 +0,0 @@ -# Due dates - -> 原文:[https://docs.gitlab.com/ee/user/project/issues/due_dates.html](https://docs.gitlab.com/ee/user/project/issues/due_dates.html) - -* [Setting a due date](#setting-a-due-date) -* [Making use of due dates](#making-use-of-due-dates) - -# Due dates[](#due-dates "Permalink") - -在 GitLab 8.7 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/3614) . - -请通读[GitLab 问题文档](index.html)以获取有关 GitLab 问题的概述. - -Due dates can be used in issues to keep track of deadlines and make sure features are shipped on time. Users must have at least [Reporter permissions](../../permissions.html) to be able to edit them, but they can be seen by everybody with permission to view the issue. - -## Setting a due date[](#setting-a-due-date "Permalink") - -创建或编辑问题时,您可以单击**截止日期**字段,然后出现一个日历来帮助您选择所需的日期. 要删除日期,请选择日期文本并将其删除. 该日期与服务器的时区有关,而不与设置到期日期的用户的时区有关. - -[![Create a due date](img/36abd47af07b3b82f814e74be4619b4d.png)](img/due_dates_create.png) - -您还可以通过问题侧边栏设置截止日期. 展开边栏,然后单击" **编辑"**以选择截止日期或删除现有的日期. 更改将立即保存. - -[![Edit a due date via the sidebar](img/2dde5152cc249727c2d1016051d52131.png)](img/due_dates_edit_sidebar.png) - -设置截止日期的最后一种方法是直接在问题的描述或注释中使用[快速操作](../quick_actions.html) : - -* `/due <date>` :设置到期日. 有效的`<date>`示例包括`in 2 days` ( `this Friday`和`December 31st` . -* `/remove_due_date` :删除到期日. - -## Making use of due dates[](#making-use-of-due-dates "Permalink") - -具有到期日期的问题可以在问题跟踪器中轻松查看,并在它们旁边显示一个日期. 日期过期的问题将图标和日期标记为红色. 您可以从右侧的下拉菜单中按`Due soon` `Due later`或`Due later` `Due soon`问题对问题进行排序. - -[![Issues with due dates in the issues index page](img/371d1ca1640afbd824acc19b18bc40c9.png)](img/due_dates_issues_index_page.png) - -截止日期也会出现在您的[待办事项清单中](../../todos.html) . - -[![Issues with due dates in the todos](img/9d0b2e21b9be06d263674db132420176.png)](img/due_dates_todos.png) - -未解决问题的前一天,将向该问题的所有参与者发送电子邮件. 与截止日期一样,"截止日期之前的一天"由服务器的时区确定. - -截止日期的问题也可以导出为 iCalendar 供稿. 提要的 URL 可以添加到日历应用程序中. 通过单击以下页面上的**订阅日历**按钮可以访问该提要: - -* 在**分配的问题**页面上,该页面链接在 GitLab 标头的右侧 -* 在" **项目问题"**页面上 -* 在**组问题**页面上 \ No newline at end of file diff --git a/docs/101.md b/docs/101.md deleted file mode 100644 index c5a4dc8..0000000 --- a/docs/101.md +++ /dev/null @@ -1,446 +0,0 @@ -# Issue Boards - -> 原文:[https://docs.gitlab.com/ee/user/project/issue_board.html](https://docs.gitlab.com/ee/user/project/issue_board.html) - -* [Overview](#overview) - * [Advanced features of issue boards](#advanced-features-of-issue-boards) -* [How it works](#how-it-works) -* [Use cases](#use-cases) - * [Use cases for a single issue board](#use-cases-for-a-single-issue-board) - * [Use cases for multiple issue boards](#use-cases-for-multiple-issue-boards) - * [Scrum team](#scrum-team) - * [Organization of topics](#organization-of-topics) - * [Advanced team handover](#advanced-team-handover) - * [Quick assignments](#quick-assignments) -* [Issue board terminology](#issue-board-terminology) -* [Permissions](#permissions) -* [GitLab Enterprise features for issue boards](#gitlab-enterprise-features-for-issue-boards) - * [Summary of features per tier](#summary-of-features-per-tier) - * [Multiple issue boards](#multiple-issue-boards) - * [Create an issue board](#create-an-issue-board) - * [Delete an issue board](#delete-an-issue-board) - * [Configurable issue boards](#configurable-issue-boards-starter) - * [Focus mode](#focus-mode) - * [Sum of issue weights](#sum-of-issue-weights-starter) - * [Group issue boards](#group-issue-boards-premium) - * [Assignee lists](#assignee-lists-premium) - * [Milestone lists](#milestone-lists-premium) -* [Work In Progress limits](#work-in-progress-limits-starter) -* [Blocked issues](#blocked-issues) -* [Actions you can take on an issue board](#actions-you-can-take-on-an-issue-board) - * [First time using an issue board](#first-time-using-an-issue-board) - * [Create a new list](#create-a-new-list) - * [Delete a list](#delete-a-list) - * [Add issues to a list](#add-issues-to-a-list) - * [Remove an issue from a list](#remove-an-issue-from-a-list) - * [Filter issues](#filter-issues) - * [Create workflows](#create-workflows) - * [Drag issues between lists](#drag-issues-between-lists) - * [Multi-select issue cards](#multi-select-issue-cards) - * [Issue ordering in a list](#issue-ordering-in-a-list) -* [Tips](#tips) - -# Issue Boards[](#issue-boards "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/5554) in [GitLab 8.11](https://about.gitlab.com/releases/2016/08/22/gitlab-8-11-released/#issue-board). - -## Overview[](#overview "Permalink") - -GitLab 发行板是一个软件项目管理工具,用于计划,组织和可视化功能或产品发布的工作流程. 它可以用作[看板](https://en.wikipedia.org/wiki/Kanban_(development))或[Scrum](https://en.wikipedia.org/wiki/Scrum_(software_development))板. - -它结合了问题跟踪和项目管理功能,将所有内容保持在同一位置,因此您无需在不同平台之间切换即可组织工作流程. - -使用问题板,您可以将问题组织在与其分配的标签相对应的列表中,从而在这些列表中可视化设计为卡片的问题. - -您定义流程,GitLab 会为您进行组织. 您添加标签,然后创建相应的列表以提取现有问题. 准备就绪后,可以将发行卡从一个步骤拖放到下一个步骤. - -[![GitLab issue board - Core](img/2a62cf1a17a5306e4d6cd91c30149941.png)](img/issue_boards_core.png) - -观看发布板功能的[视频演示](https://youtu.be/UWsJ8tkHAa8) (在 GitLab 8.11 中引入-2016 年 8 月). - -### Advanced features of issue boards[](#advanced-features-of-issue-boards "Permalink") - -* 每个项目创建多个发行板. -* 每个组创建多个发行板. -* 添加[受让人](#assignee-lists-premium)和[里程碑的](#milestone-lists-premium)列表. - -检查[GitLab Enterprise 的](#gitlab-enterprise-features-for-issue-boards)所有[功能是否有发行板](#gitlab-enterprise-features-for-issue-boards) . - -[![GitLab issue boards - Premium](img/e6522f2cefe000bb17275b2a0451bf82.png)](img/issue_boards_premium.png) - -## How it works[](#how-it-works "Permalink") - -发行板功能通过将 GitLab 现有的[发行跟踪功能](issues/index.html#issues-list)和[标签](labels.html)用作 Scrum 板的列表而建立. - -使用问题板,您可以对问题有不同的看法,同时保持在问题跟踪器中看到的相同过滤和排序功能. 发行板基于其项目的标签结构,因此它使用相同的描述性标签来指示在板上的位置,从而在整个开发生命周期中保持一致性. - -问题板向您显示团队正在处理的问题,分配给每个人的问题以及这些问题在工作流中的位置. - -您可以从一个平台创建问题,托管代码,执行审阅,构建,测试和部署. 问题板可帮助您在 GitLab 中可视化和管理整个过程. - -有了[多个发行板](#use-cases-for-multiple-issue-boards) ,您可以走得更远,因为您不仅可以从更广阔的角度组织自己和您的项目,每个项目使用一个发行板,还可以让您的团队成员通过在多个发行板中创建多个发行板来组织自己的工作流程.同一项目. - -## Use cases[](#use-cases "Permalink") - -有多种方法可以使用针对自己喜欢的工作流程量身定制的 GitLab 发行板. 这是发行板的一些常见用例. - -### Use cases for a single issue board[](#use-cases-for-a-single-issue-board "Permalink") - -借助 GitLab 工作流程,您可以讨论问题中的提案,使用标签对其进行分类,然后在其中使用问题委员会进行组织并确定优先级. - -例如,让我们考虑以下简化的开发工作流程: - -1. 您有一个托管应用程序代码库的存储库,而您的团队则在积极贡献代码. -2. 您的**后端**团队将开始新的实施工作,收集反馈和批准,并将其传递给**前端**团队. -3. 前端完成后,新功能将部署到要测试的**登台**环境中. -4. 成功后,它将部署到**生产中** . - -如果您具有标签" **后端** "," **前端** "," **暂存** "和" **生产** ",以及带有每个列表的发行板,则可以: - -* 可视化从开发生命周期开始到部署到生产的整个实现流程. -* 通过垂直移动优先顺序排列列表中的问题. -* 在列表之间移动问题,以根据您设置的标签进行整理. -* 通过选择一个或多个现有问题,将多个问题添加到板中的列表中. - -[![issue card moving](img/a1f2874d536bbec36fba8132d424e066.png)](img/issue_board_move_issue_card_list.png) - -### Use cases for multiple issue boards[](#use-cases-for-multiple-issue-boards "Permalink") - -借助[多个发行委员会](#multiple-issue-boards) ,每个团队可以拥有自己的董事会来单独组织其工作流程. - -#### Scrum team[](#scrum-team "Permalink") - -具有多个发行董事会,每个团队只有一个董事会. 现在,您可以在流程的每个部分中解决问题. 例如: **To Do** , **Doing**和**Done** . - -#### Organization of topics[](#organization-of-topics "Permalink") - -创建列表以按主题对问题进行排序,并快速在主题或组之间(例如**UX** , **Frontend**和**Backend**之间)进行更改. 更改反映在各个方面,因为更改列表会相应更新每个问题的标签. - -#### Advanced team handover[](#advanced-team-handover "Permalink") - -例如,假设我们有一个 UX 小组,其问题板包含: - -* **去做** -* **Doing** -* **Frontend** - -完成操作后,他们将卡移至**Frontend** . 前端团队的董事会看起来像: - -* **Frontend** -* **Doing** -* **Done** - -由 UX 团队**整理的**卡片准备就绪后,会自动显示在" **前端"**列中. - -**注意:**有关更广泛的用例,请参阅博客文章[GitLab 工作流程,概述](https://about.gitlab.com/blog/2016/10/25/gitlab-workflow-an-overview/#gitlab-workflow-use-case-scenario) . 对于一个真实的用例示例,您可以了解为什么[Codepen 决定采用发行版](https://about.gitlab.com/blog/2017/01/27/codepen-welcome-to-gitlab/#project-management-everything-in-one-place)来改善多个[发行版](https://about.gitlab.com/blog/2017/01/27/codepen-welcome-to-gitlab/#project-management-everything-in-one-place)的工作流程. - -#### Quick assignments[](#quick-assignments "Permalink") - -为每个团队成员创建列表,然后将问题快速拖放到每个团队成员的列表中. - -## Issue board terminology[](#issue-board-terminology "Permalink") - -**发行板**代表您的**发行**的独特视图. 它可以有多个列表,每个列表由卡代表的问题组成. - -**列表**是问题板上的一列,显示与某些属性匹配的问题. 除了默认的"打开"和"关闭"列表外,每个其他列表还显示与您选择的标签,受让人或里程碑匹配的问题. 在每个列表的顶部,您可以看到属于该问题的数量. 列表类型包括: - -* **开** (默认):不属于其他列表中的一个所有打开的问题. 始终显示为最左边的列表. -* **已关闭** (默认):所有已关闭的问题. 始终显示为最右边的列表. -* **标签列表** : **标签的**所有未解决问题. -* [**受让人列表**](#assignee-lists-premium) :分配给用户的所有未解决的问题. -* [**里程碑列表**](#milestone-lists-premium) : [**里程碑的**](#milestone-lists-premium)所有未解决的问题. - -**卡**是列表中的一个框,它代表一个问题. 您可以将卡片从一个列表拖动到另一个列表,以更改其标签,受让人或里程碑. 卡上显示的信息包括: - -* 发行标题 -* 相关标签 -* 发行数量 -* Assignee - -## Permissions[](#permissions "Permalink") - -具有[报告者和更高角色的](../permissions.html)用户可以使用发布板功能的所有功能来创建或删除列表,并将问题从一个列表拖动到另一个列表. - -## GitLab Enterprise features for issue boards[](#gitlab-enterprise-features-for-issue-boards "Permalink") - -GitLab 核心和 GitLab.com 免费层上均提供 GitLab 发行板,但某些高级功能仅在[更高层中提供](https://about.gitlab.com/pricing/) . - -### Summary of features per tier[](#summary-of-features-per-tier "Permalink") - -下表列出了在不同的[GitLab 层](https://about.gitlab.com/pricing/)中可用的不同发行板功能: - -| Tier | 项目发行委员会的数量 | Number of Group issue boards | 可配置的发行板 | 受让人名单 | -| --- | --- | --- | --- | --- | -| 核心/免费 | Multiple | 1 | No | No | -| 入门/青铜 | Multiple | 1 | Yes | No | -| 高级/白银 | Multiple | Multiple | Yes | Yes | -| 终极/金 | Multiple | Multiple | Yes | Yes | - -### Multiple issue boards[](#multiple-issue-boards "Permalink") - -版本历史 - -* 在 GitLab 8.13 中[引入](https://about.gitlab.com/releases/2016/10/22/gitlab-8-13-released/) . -* 每个项目有多个发行板[移至](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/53811) GitLab 12.1 中的[GitLab Core](https://about.gitlab.com/pricing/) . -* 每套[GitLab Premium 中](https://about.gitlab.com/pricing/)都有多个发行板. - -多个发行板允许给定项目或组使用多个发行板. 对于具有多个团队的大型项目,或者在使用存储库托管多个产品代码的情况下,这非常有用. - -使用菜单顶部的搜索框,您可以过滤列出的板. - -当您有十个或更多的板可用时,菜单中还会显示" **最近"**部分,其中包含最后四个被访问板的快捷方式. - -[![Multiple issue boards](img/dbb80511727781129d638c6d3413a45f.png)](img/issue_boards_multiple.png) - -当您在具有多个板的项目或组中重新访问问题板时,GitLab 会自动加载您上次访问的板. - -#### Create an issue board[](#create-an-issue-board "Permalink") - -要创建新的发行板: - -1. 单击"发行板"页面左上角的具有当前板名称的下拉菜单. -2. Click **创建新板**. -3. 输入新板的名称并选择其范围:里程碑,标签,受让人或权重. - -#### Delete an issue board[](#delete-an-issue-board "Permalink") - -要删除当前活动的发行板: - -1. 单击"发行板"页面左上角的具有当前板名称的下拉菜单. -2. Click **删除板**. -3. 单击**删除**进行确认. - -### Configurable issue boards[](#configurable-issue-boards-starter "Permalink") - -[Introduced](https://about.gitlab.com/releases/2017/11/22/gitlab-10-2-released/#issue-boards-configuration) in [GitLab Starter](https://about.gitlab.com/pricing/) 10.2. - -发行板可以与 GitLab [里程碑](milestones/index.html#milestones) , [标签](labels.html) ,受让人和权重关联,它们会根据这些字段自动过滤发行板问题. 这使您可以根据团队的需要创建独特的董事会. - -[![Create scoped board](img/bba7007707d548d73c9b6f0efad3c50b.png)](img/issue_board_creation.png) - -您可以在创建木板时或单击"编辑木板"按钮来定义木板的范围. 将里程碑,受让人或权重分配给发行板后,您将不再能够在搜索栏中进行筛选. 为此,您需要从发行板上删除所需的范围(例如,里程碑,受让人或权重). - -[![Edit board configuration](img/0d59f9135c1fed79a51921909516ef69.png)](img/issue_board_edit_button.png) - -如果您在木板中没有编辑权限,则仍然可以通过点击**查看范围**来**查看**配置. - -[![Viewing board configuration](img/c01efbb34a741e385a7089a6799e9b59.png)](img/issue_board_view_scope.png) - -### Focus mode[](#focus-mode "Permalink") - -版本历史 - -* 在[GitLab Starter](https://about.gitlab.com/pricing/) 9.1 中[引入]((https://about.gitlab.com/releases/2017/04/22/gitlab-9-1-released/#issue-boards-focus-mode-ees-eep)) . -* [移动](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28597)到 GitLab.com 的自由层在 12.10\. -* 在 13.0 中[移至](https://gitlab.com/gitlab-org/gitlab/-/issues/212331) GitLab Core. - -单击右上角的按钮可打开和关闭聚焦模式. 在焦点模式下,导航 UI 处于隐藏状态,使您可以集中精力处理板上的问题. - -[![Board focus mode](img/0fdd144a1493e4d21226f1b04a5d336a.png)](img/issue_board_focus_mode.gif) - -* * * - -### Sum of issue weights[](#sum-of-issue-weights-starter "Permalink") - -每个列表的顶部指示属于该列表的问题的问题权重之和. 当使用板进行容量分配时,尤其是与[受让人列表](#assignee-lists-premium)结合使用时,这很有用. - -[![issue board summed weights](img/38c073cc1c78dc88bf317e878e9995cc.png)](img/issue_board_summed_weights.png) - -### Group issue boards[](#group-issue-boards-premium "Permalink") - -[Introduced](https://about.gitlab.com/releases/2017/09/22/gitlab-10-0-released/#group-issue-boards) in [GitLab Premium](https://about.gitlab.com/pricing/) 10.0. - -可以在组导航级别上访问,组问题委员会提供与项目级委员会相同的功能,但是它可以显示该组及其子孙组中所有项目的问题. 同样,您只能按组标签过滤这些板. 通过边栏更新机制更新问题的里程碑和标签时,再次只有组级对象可用. - -**注意:** [GitLab Premium](https://about.gitlab.com/pricing/) 10.0 最初[引入](https://about.gitlab.com/releases/2017/09/22/gitlab-10-0-released/#group-issue-boards)了多个组发行板,而 GitLab Core 10.6 提供了每个组一个组发行板. - -[![Group issue board](img/ce119917ec56b195b909d4371bb994aa.png)](img/group_issue_board.png) - -### Assignee lists[](#assignee-lists-premium "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/5784) in [GitLab Premium](https://about.gitlab.com/pricing/) 11.0. - -就像在常规列表中显示带有选定标签的所有问题一样,您可以添加一个受让人列表,该列表显示分配给用户的所有问题. 您可以拥有一个包含标签列表和受让人列表的木板. 添加受让人列表: - -1. Click **新增清单**. -2. 选择" **受理人列表"**选项卡. -3. 搜索并单击要添加为受让人的用户. - -现在已添加了受让人列表,您可以通过[将问题拖到](#drag-issues-between-lists)受让人列表中或从受让人列表中[拖动问题](#drag-issues-between-lists)来向该用户分配或取消分配问题. 要删除受让人列表(与标签列表一样),请单击垃圾桶图标. - -[![Assignee lists](img/baa29e50412ef4acd25e287681ad9e9e.png)](img/issue_board_assignee_lists.png) - -### Milestone lists[](#milestone-lists-premium "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/6469) in [GitLab Premium](https://about.gitlab.com/pricing/) 11.2. - -You’re also able to create lists of a milestone. These are lists that filter issues by the assigned milestone, giving you more freedom and visibility on the issue board. To add a milestone list: - -1. Click **新增清单**. -2. 选择" **里程碑"**选项卡. -3. 搜索并单击里程碑. - -与受让人列表类似,您现在可以[将问题拖到](#drag-issues-between-lists)里程碑列表中或从里程碑列表中[拖动](#drag-issues-between-lists)出来,以操纵所拖动问题的里程碑. 与其他列表类型一样,单击垃圾桶图标以删除列表. - -[![Milestone lists](img/6261dd255633edf09ab3d7245ccaf2c1.png)](img/issue_board_milestone_lists.png) - -## Work In Progress limits[](#work-in-progress-limits-starter "Permalink") - -在 GitLab 12.7 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/11403) - -您可以为每个问题列表设置进行中(WIP)限制. 设置限制后,列表的标题将显示列表中的问题数和问题的软限制. - -Examples: - -* 您有一个包含四个问题的列表,限制为五个,标题将显示**4/5** . 如果超出限制,则当前的问题数将显示为红色. -* 您有一个包含五个问题的列表,限制为五个. 当您将另一个问题移到该列表时,列表的标题显示**6/5** ,其中六个显示为红色. - -设置列表的在制品限制: - -1. 导航到您所属的项目或小组委员会. -2. 点击设置图标( )放在列表​​标题中. -3. 在"进行中的**工作限制"**旁边,单击" **编辑"** . -4. 输入最大问题数. -5. 按`Enter`保存. - -## Blocked issues[](#blocked-issues "Permalink") - -在 GitLab 12.8 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/34723) . - -如果一个问题被另一个问题阻止,则其标题旁边会出现一个图标,指示其阻止状态. - -[![Blocked issues](img/b1edf28a1aa5c59ffa779a574c4fc548.png)](img/issue_boards_blocked_icon_v12_8.png) - -## Actions you can take on an issue board[](#actions-you-can-take-on-an-issue-board "Permalink") - -* [Create a new list](#create-a-new-list). -* [Delete an existing list](#delete-a-list). -* [Add issues to a list](#add-issues-to-a-list). -* [Remove an issue from a list](#remove-an-issue-from-a-list). -* [筛选](#filter-issues)出现在问题板上的问题. -* [Create workflows](#create-workflows). -* [Drag issues between lists](#drag-issues-between-lists). -* [Multi-select issue cards](#multi-select-issue-cards). -* [Re-order issues in lists](#issue-ordering-in-a-list). -* 拖动列表并重新排序. -* 更改问题标签(通过在列表之间拖动问题). -* 解决问题(将其拖动到" **完成"**列表中). - -如果您无法执行上述某些操作,请确保您具有正确的[权限](#permissions) . - -### First time using an issue board[](#first-time-using-an-issue-board "Permalink") - -第一次打开问题面板时,会显示默认列表(" **打开"**和" **关闭"** )以及欢迎消息,其中提供了两个选项. 您可以: - -* 创建一组预定义的标签(默认情况下: **To Do**和**Doing** ),并在发行板上创建其对应的列表. -* 退出并使用自己的列表. - -[![issue board welcome message](img/768ab05f8c35931c200b6da1f8d92352.png)](img/issue_board_welcome_message.png) - -如果选择使用并创建预定义列表,则它们将显示为空,因为与它们关联的标签要到那时才存在,这意味着系统无法自动填充它们. 当然,如果预定义标签还不存在. 如果确实存在,则会创建该列表,并填充具有该标签的问题. - -### Create a new list[](#create-a-new-list "Permalink") - -通过单击发行板右上角的" **添加列表"**按钮来创建新列表. - -[![issue board welcome message](img/604dc2f6326d049dca30995958a84ad2.png)](img/issue_board_add_list.png) - -然后,选择标签或用户以从中创建列表. 新列表将被插入列表的末尾,在**完成**之前. 移动和重新排序列表就像拖动列表一样简单. - -要为尚不存在的标签创建列表,请选择**创建新标签**来**创建标签** . 这将立即创建标签并将其添加到下拉列表中. 现在,您可以选择它来创建列表. - -### Delete a list[](#delete-a-list "Permalink") - -要从发布板上删除列表,请使用列表标题中的小垃圾桶图标. 将出现一个确认对话框供您确认. - -删除列表对问题和标签没有任何影响,只是删除了列表视图. 如果需要,您随时可以将其添加回去. - -### Add issues to a list[](#add-issues-to-a-list "Permalink") - -您可以通过单击**问题**面板右上角的" **添加问题"**按钮将问题添加到列表中. 这将打开一个模式窗口,您可以在其中查看不属于任何列表的所有问题. - -通过单击卡片选择一个或多个问题,然后单击" **添加问题"**以将其添加到所选列表中. 您可以通过按作者,受让人,里程碑和标签筛选来限制要添加到列表中的问题. - -[![Bulk adding issues to lists](img/1d54aa31264e3f3b98ebf2049669f910.png)](img/issue_boards_add_issues_modal.png) - -### Remove an issue from a list[](#remove-an-issue-from-a-list "Permalink") - -从列表中删除问题可以通过单击问题卡,然后单击侧边栏中的**从**面板中**删除**按钮来完成. 相应的标签被删除. - -[![Remove issue from list](img/529405d6cc5cbeb813be69b57b0e45b1.png)](img/issue_boards_remove_issue.png) - -### Filter issues[](#filter-issues "Permalink") - -You should be able to use the filters on top of your issue board to show only the results you want. This is similar to the filtering used in the issue tracker since the metadata from the issues and labels are re-used in the issue board. - -您可以按作者,受让人,里程碑和标签过滤. - -### Create workflows[](#create-workflows "Permalink") - -通过对列表重新排序,可以创建工作流程. 由于发行版中的列表基于标签,因此可以与您现有的发行版一起使用. 因此,如果您已经用"后端"和"前端"标记了事物,则问题在创建它们时会出现在列表中. 此外,这意味着您可以通过更改标签轻松地在列表之间移动某些内容. - -使用发行板的典型工作流程为: - -1. 您已经[创建了](labels.html#label-management)标签并对其进行了[优先排序,](labels.html#label-priority)以便可以轻松地对问题进行分类. -2. 您遇到很多问题(理想情况下是带有标签的). -3. 您访问发行板并开始[创建列表](#create-a-new-list)以创建工作流程. -4. 您可以在列表中四处移动问题,以便您的团队知道谁应该处理什么问题. -5. 当一个团队的工作完成时,可以将问题拖到下一个列表中,以便其他人来接听. -6. 最终解决问题后,该问题将移至" **完成"**列表并自动关闭. - -例如,您可以基于"前端"标签和"后端"标签创建一个列表. 设计师可以通过将问题添加到"前端"列表来开始处理问题. 这样,每个人都知道设计师现在正在研究此问题. 然后,一旦完成,所有要做的就是将其拖到下一个列表"后端",后端开发人员最终可以在该列表中进行选择. 完成后,将其移至**完成** ,以解决问题. - -访问问题时可以清楚地看到此过程,因为每次移动到另一个列表时,标签都会更改,并且不会记录系统. - -[![issue board system notes](img/1be5fea51b824b103e9b5bac12136a90.png)](img/issue_board_system_notes.png) - -### Drag issues between lists[](#drag-issues-between-lists "Permalink") - -在列表之间拖动问题时,根据源列表和目标列表,会发生不同的行为. - -|   | 打开 | 要关闭 | 标记`B`列表 | 分配受让人`Bob`清单 | -| --- | --- | --- | --- | --- | -| 从开放 | - | 问题已结案 | `B` added | `Bob` assigned | -| 从关闭 | 问题重新开放 | - | 问题重新开放 -`B`添加 | 问题重新开放 -`Bob`分配 | -| 从标签`A`列表 | `A` removed | 问题已结案 | `A` removed -`B` added | `Bob` assigned | -| 从受让人`Alice`名单 | `Alice` unassigned | 问题已结案 | `B` added | `Alice` unassigned -`Bob` assigned | - -### Multi-select issue cards[](#multi-select-issue-cards "Permalink") - -在 GitLab 12.4 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/18954) . - -您可以选择多个发行卡,然后将组拖动到列表中的另一个位置或另一个列表中. 这样可以更快地一次重新排序许多问题. - -要选择并移动多张卡片: - -1. 使用`Ctrl`选择每个卡+ `Click`在 Windows 或 Linux,或者`Cmd 的` + `Click`在 MacOS. -2. 将所选卡中的一张拖到另一个位置或列表,所有所选卡都将移动. - -[![Multi-select Issue Cards](img/09b8263a3534de004ff180005a876b4a.png)](img/issue_boards_multi_select_v12_4.png) - -### Issue ordering in a list[](#issue-ordering-in-a-list "Permalink") - -访问董事会时,问题在任何列表中都显示为有序. 您可以通过拖放问题来更改顺序. 更改后的订单将保存到系统中,以便以后访问同一板的任何人都可以看到重新排序,但有一些例外. - -给定问题首次出现在任何面板中(即,用户首次加载包含该问题的面板)时,将根据[优先级顺序](labels.html#label-priority)对该列表中的其他问题进行[排序](labels.html#label-priority) . - -此时,系统会为该问题分配一个相对顺序值,该值代表其相对于列表中其他问题的相对顺序. 每当您拖放该问题的重新排序时,其相对订单值都会相应更改. - -同样,当问题由用户加载时,在任何板上出现的任何时间,都会使用更新的相对订单值进行订购. (这是第一次出现从上述优先顺序中提取问题的问题.)这意味着,如果您的 GitLab 实例内给定板上的任何用户将问题`A`拖放到问题`B`上方的顺序进行了重新排序,每当随后将这两个问题加载到同一实例中的任何板(例如,可以是不同的项目板或不同的组板)中时,都将维持订购. - -此顺序还会影响[问题列表](issues/sorting_issue_lists.html) . 在发行板上更改订单会更改发行列表中的顺序,反之亦然. - -## Tips[](#tips "Permalink") - -需要记住的几件事: - -* 在列表之间移动问题会从其来源列表中删除标签,并从其去往列表中添加标签. -* 如果一个问题有多个标签,则它可以存在于多个列表中. -* 如果标记了问题,则会自动用问题填充列表. -* 单击卡片内的问题标题,将您转到该问题. -* 单击卡内的标签可快速筛选整个问题板,并仅显示所有带有该标签的列表中的问题. -* 出于性能和可见性的原因,每个列表默认显示前 20 个问题. 如果问题超过 20 个,请开始向下滚动,然后出现下 20 个问题. \ No newline at end of file diff --git a/docs/102.md b/docs/102.md deleted file mode 100644 index 97ae102..0000000 --- a/docs/102.md +++ /dev/null @@ -1,266 +0,0 @@ -# Issue Data and Actions - -> 原文:[https://docs.gitlab.com/ee/user/project/issues/issue_data_and_actions.html](https://docs.gitlab.com/ee/user/project/issues/issue_data_and_actions.html) - -* [Parts of an Issue](#parts-of-an-issue) - * [New Issue, close issue (reopen issue, report issue)](#new-issue-close-issue-reopen-issue-report-issue) - * [To Do](#to-do) - * [Assignee](#assignee) - * [Multiple Assignees](#multiple-assignees-starter) - * [Epic](#epic-premium) - * [Milestone](#milestone) - * [Time tracking](#time-tracking) - * [Due date](#due-date) - * [Labels](#labels) - * [Weight](#weight-starter) - * [Confidentiality](#confidentiality) - * [Lock issue](#lock-issue) - * [Participants](#participants) - * [Notifications](#notifications) - * [Reference](#reference) - * [Edit](#edit) - * [Description](#description) - * [Mentions](#mentions) - * [Related Issues](#related-issues-starter) - * [Related Merge Requests](#related-merge-requests) - * [Award emoji](#award-emoji) - * [Show all activity](#show-all-activity) - * [Create Merge Request](#create-merge-request) - * [Issue history](#issue-history) - * [Activity sort order](#activity-sort-order) - * [Comments](#comments) - * [Submit comment, start a thread, or comment and close](#submit-comment-start-a-thread-or-comment-and-close) - * [Zoom meetings](#zoom-meetings) - * [Publish an issue](#publish-an-issue-ultimate) - -# Issue Data and Actions[](#issue-data-and-actions "Permalink") - -请通读[GitLab 问题文档](index.html)以获取有关 GitLab 问题的概述. - -## Parts of an Issue[](#parts-of-an-issue "Permalink") - -下图说明了问题的外观. 请注意,根据使用的 GitLab 版本和查看问题的用户权限,某些部分看起来可能会略有不同或不存在. - -您可以在一个屏幕上找到该问题的所有信息. - -[![Issue view](img/b6662e0dd306cb7949bbfd70db9b384c.png)](img/issues_main_view_numbered.png) - -* **1.** [New Issue, close issue (reopen issue, report issue)](#new-issue-close-issue-reopen-issue-report-issue) -* **2.** [To Do](#to-do) -* **3.** [Assignee](#assignee) - * **3.1.** [Multiple Assignees](#multiple-assignees-starter) -* **4.** [Epic](#epic-premium) -* **5.** [Milestone](#milestone) -* **6.** [Time tracking](#time-tracking) -* **7.** [Due date](#due-date) -* **8.** [Labels](#labels) -* **9.** [Weight](#weight-starter) -* **10.** [Confidentiality](#confidentiality) -* **11.** [Lock issue](#lock-issue) -* **12.** [Participants](#participants) -* **13.** [Notifications](#notifications) -* **14.** [Reference](#reference) -* **15.** [Edit](#edit) -* **16.** [Description](#description) -* **17.** [Mentions](#mentions) -* **18.** [Related Issues](#related-issues-starter) -* **19.** [Related Merge Requests](#related-merge-requests) -* **20.** [Award emoji](#award-emoji) -* **21.** [Show all activity](#show-all-activity) -* **22.** [Create Merge Request](#create-merge-request) -* **23.** [Issue history](#issue-history) - * [Activity sort order](#activity-sort-order) -* **24.** [Comments](#comments) -* **25.** [Submit comment, start a thread, or comment and close](#submit-comment-start-a-thread-or-comment-and-close) -* **26.** [Zoom meetings](#zoom-meetings) - -问题从状态(打开或关闭)开始,然后是作者,并包括许多其他功能,在上图中编号,以逐一解释其含义. - -当问题由其他用户更改时,问题屏幕的许多元素都会自动刷新,例如标题和说明. 注释和系统注释也会根据各种操作和内容更新自动更新. - -### New Issue, close issue (reopen issue, report issue)[](#new-issue-close-issue-reopen-issue-report-issue "Permalink") - -单击" **新问题"**将打开一个新窗口,以在同一项目中创建一个新问题. 单击**关闭问题**将关闭此问题,但不会被删除. 如果问题已经关闭,您仍然可以访问它,并且按钮将显示**Reopen issue** ,如下所示,您可以单击以重新打开问题. 重新开放的问题与其他任何问题都没有不同. - -[![Reopen Issue](img/136df5416c67f2d80606b4849658e289.png)](img/reopen-issue.png) - -如果您无权修改问题,则" **关闭问题"**按钮将替换为" **报告问题"** ,您可以单击该按钮以[提交](../../abuse_reports.html)有关该问题[的滥用情况报告](../../abuse_reports.html) . 如果您有权修改问题,但仅在关闭问题后,它也会显示. - -[![Report Abuse](img/16f0d7c3d19700b0e30aa6c1528acb91.png)](img/report-abuse.png) - -### To Do[](#to-do "Permalink") - -您可以在[GitLab 任务列表中](../../todos.html)添加问题或从中删除问题. - -执行此操作的按钮具有不同的标签,具体取决于问题是否已在"任务列表"中. 如果问题是: - -* 已在您的待办事项清单上:该按钮标有" **标记为已完成"** . 单击按钮以从您的任务列表中删除该问题. -* 不在您的待办事项清单上:该按钮标有**添加待办事项** . 单击按钮将问题添加到您的"任务列表"中. - -### Assignee[](#assignee "Permalink") - -可以将问题分配给: - -* Yourself. -* 另一个人. -* [Many people](#multiple-assignees-starter). - -可以根据需要频繁更改受让人. 想法是,受让人应对该问题负责,直到将其重新分配给其他人以解决该问题为止. 分配给某人后,它将显示在其分配的问题列表中. - -**提示:**如果用户不是该项目的成员,则只有他们自己创建问题后才能将其分配给他们. - -#### Multiple Assignees[](#multiple-assignees-starter "Permalink") - -通常,多个人会共同处理同一问题,而在拥有问题共享所有权的大型团队中,跟踪这些问题尤其困难. - -在[GitLab Starter 中](https://about.gitlab.com/pricing/) ,您可以[将多个人分配](multiple_assignees_for_issues.html)给一个问题. - -### Epic[](#epic-premium "Permalink") - -您可以将问题分配给[Epic](../../group/epics/index.html) ,从而可以更好地管理相关问题组. - -### Milestone[](#milestone "Permalink") - -选择一个[里程碑](../milestones/index.html) ,将问题归因于此. - -### Time tracking[](#time-tracking "Permalink") - -使用[GitLab 快速行动](../quick_actions.html)来[跟踪估计和花费在问题上的时间](../time_tracking.html) . 您可以添加解决问题[所需时间](../time_tracking.html#estimates)的[估计,](../time_tracking.html#estimates)还可以添加解决问题[所花费的时间](../time_tracking.html#time-spent) . - -### Due date[](#due-date "Permalink") - -当您的工作时间很紧时,重要的是要有一种方法来为实现和解决问题设置截止日期. 这可以在[截止日期](due_dates.html)元素中完成. 截止日期可以根据需要进行多次更改. - -### Labels[](#labels "Permalink") - -通过给它们加上[标签](../labels.html)来对问题进行分类. 它们有助于组织工作流程,并使您能够与[GitLab 发行委员会合作](index.html#issue-boards) . - -还可以为组标签分配问题,该组标签允许您对同一组内的所有项目使用相同的标签. 它们的工作原理完全相同,但可立即用于该组中的所有项目. - -**提示:**如果标签尚不存在,可以单击**编辑** ,它会打开一个下拉菜单,从中可以选择**创建新标签** . - -### Weight[](#weight-starter "Permalink") - -为问题[分配权重](issue_weight.html) . 使用较大的值表示完成此问题需要付出更多的努力. 仅允许正值或零. - -### Confidentiality[](#confidentiality "Permalink") - -您可以[将问题设置为机密](confidential_issues.html) . 设置后,未经授权的用户将无法访问该问题,也不会在项目问题委员会或问题列表中看到该问题. - -### Lock issue[](#lock-issue "Permalink") - -您可以[锁定问题中的线程](../../discussions/index.html#lock-discussions) ,以防止添加更多评论. - -### Participants[](#participants "Permalink") - -涉及该问题的所有用户. 他们要么参与了该[线程](../../discussions/index.html) ,要么在描述或线程中被提及. - -### Notifications[](#notifications "Permalink") - -单击该图标以启用/禁用该问题的[通知](../../profile/notifications.html#issue--epics--merge-request-events) . 如果您以任何方式参与该问题,它将自动启用. - -* **Enable**: If you are not a participant in the discussion on that issue, but want to receive notifications on each update, subscribe to it. -* **禁用** :如果您正在接收有关该问题的更新通知,但不再希望接收它们,请取消订阅. - -### Reference[](#reference "Permalink") - -* 快速"复制"按钮,这个问题的参考,它看起来像`foo/bar#xxx` ,其中`foo`是`username`或`groupname` , `bar`是`project-name` ,并且`xxx`是发行数量. - -### Edit[](#edit "Permalink") - -单击此图标可打开要编辑的问题,您将有权访问与创建问题时相同的所有字段. 如果用户没有编辑问题的权限,则不会显示此图标. - -### Description[](#description "Permalink") - -纯文本标题和问题描述位于问题页面的顶部中心. 该描述完全支持[GitLab 风味 Markdown](../../markdown.html#gitlab-flavored-markdown-gfm) ,允许许多格式选项. - -> [自 GitLab 12.6 起](https://gitlab.com/gitlab-org/gitlab/-/issues/10103) , [问题历史记录](#issue-history)中列出了对[问题](#issue-history)描述的更改. - -### Mentions[](#mentions "Permalink") - -您可以使用`@username`或`@groupname`提及您的 GitLab 实例中存在的用户或组,除非他们在配置文件设置中禁用了所有通知,否则它们将通过待办事项和电子邮件得到通知. 这是在[通知设置中](../../profile/notifications.html)控制的. - -自己的提及(当前登录的用户)将以不同的颜色突出显示,使您可以轻松查看涉及到的评论,帮助您快速关注它们. - -**提示:**避免在问题中提及`@all`并合并请求,因为它会向该项目组的所有成员发送电子邮件通知,这可以解释为垃圾邮件. - -### Related Issues[](#related-issues-starter "Permalink") - -这里列出了被称为[相关问题的问题](related_issues.html) . 您也可以单击`+`添加更多相关问题. - -### Related Merge Requests[](#related-merge-requests "Permalink") - -该问题的描述或问题线程中提到的[合并请求](crosslinking_issues.html#from-merge-requests)在此处列为[相关合并请求](crosslinking_issues.html#from-merge-requests) . 另外,如果当前问题在另一个合并请求中被提及是相关的,则该合并请求将在此处列出. - -### Award emoji[](#award-emoji "Permalink") - -您可以为该问题授予表情符号. 有" thumbs_up"和" thumbs_down"的快捷方式,或者您可以单击浅灰色的" face"从可用的[GitLab 风味 Markdown Emoji](../../markdown.html#emoji)下拉列表中选择其他反应. - -**提示:在主题中**张贴" +1"作为评论会对该问题的所有订阅参与者造成垃圾邮件,会使主题混乱,因此不建议这样做. 授予表情符号是一种让他们知道您的反应而不会向其发送垃圾邮件的方法. - -### Show all activity[](#show-all-activity "Permalink") - -您可以通过单击**显示所有活动**并选择以下任一内容来过滤问题历史记录中**显示的内容** : - -* **仅显示评论** ,仅显示主题并隐藏问题的更新. -* **仅显示历史记录** ,它隐藏线程并且仅显示更新. - -Also: - -* 您可以使用`@username`或`@groupname`提及您的 GitLab 实例中存在的用户或组,除非他们已[禁用](#notifications)其配置文件设置中的[所有通知](#notifications) ,否则它们将通过待办事项和电子邮件得到[通知](#notifications) . -* 自己的提及(当前登录的用户)将以不同的颜色突出显示,使您可以轻松查看涉及到的评论,帮助您快速关注它们. - -[![Show all activity](img/6a23362ee367dd144c2c8ea315b8dde0.png)](img/show-all-activity.png) - -### Create Merge Request[](#create-merge-request "Permalink") - -在一个动作中创建一个新的分支和[**草稿**合并请求](../merge_requests/work_in_progress_merge_requests.html) . 默认情况下,该分支将被命名为`issuenumber-title` ,但是您可以选择任何名称,并且 GitLab 会验证该分支尚未被使用. 合并请求将自动继承问题的里程碑和标签,并设置为在合并时关闭问题. - -[![Create MR from issue](img/2a301148b56e04c50113445dc7280c15.png)](img/create_mr_from_issue.png) - -(可选)您可以选择仅创建一个[新分支](../repository/web_editor.html#create-a-new-branch-from-an-issue) ,以该问题命名. - -### Issue history[](#issue-history "Permalink") - -All comments and updates to the issue are tracked and listed here, but this can be filtered, as shown above. - -#### Activity sort order[](#activity-sort-order "Permalink") - -在 GitLab 12.10 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/14588) . - -您可以颠倒默认顺序,并与按顶部的最新项目排序的活动供稿进行交互. 您的首选项通过本地存储保存,并自动应用于您查看的每个问题. - -要更改活动排序顺序,请单击**最旧的第一个**下拉菜单,然后选择最旧或最新的项目以首先显示. - -[![Issue activity sort order dropdown button](img/db92110fba2588fed57b9af6bb2a381c.png)](img/issue_activity_sort_order_v12_10.png) - -### Comments[](#comments "Permalink") - -通过在其主题中发布评论来协作解决问题. 该文本字段还完全支持[GitLab 风味 Markdown](../../markdown.html#gitlab-flavored-markdown-gfm) . - -### Submit comment, start a thread, or comment and close[](#submit-comment-start-a-thread-or-comment-and-close "Permalink") - -撰写评论后,您可以: - -* 单击**评论** ,您的评论将被发布. -* 选择从下拉列表中**启动线程** ,并启动一个新[的线程](../../discussions/index.html#threaded-discussions)这个问题的主线程中讨论具体的点. 这邀请其他参与者直接回复您的主题,并将相关评论分组在一起. - -[![Comment or thread](img/9cb5bb737c82aad68bc28e2a7357e05c.png)](img/comment-or-discussion.png) - -您也可以从此处关闭问题,因此无需滚动到问题页面的顶部. - -### Zoom meetings[](#zoom-meetings "Permalink") - -在 GitLab 12.3 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/31103) . - -您可以使用`/zoom`和`/remove_zoom` [快速动作](../quick_actions.html)将[GitLab](../../markdown.html#gitlab-flavored-markdown-gfm) `/remove_zoom` [Markdown](../../markdown.html#gitlab-flavored-markdown-gfm)作为附件添加和删除 Zoom 会议. - -附加问题的[Zoom](https://zoom.us)呼叫会导致问题顶部顶部标题下方的" **加入 Zoom"会议**按钮. - -详细了解如何[添加或删除缩放会议](associate_zoom_meeting.html) . - -### Publish an issue[](#publish-an-issue-ultimate "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/30906) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 13.1. - -If a status page application is associated with the project, you can use the `/publish` [quick action](../quick_actions.html) to publish the issue. Refer to [GitLab Status Page](../status_page/index.html) for more information. \ No newline at end of file diff --git a/docs/103.md b/docs/103.md deleted file mode 100644 index dfe90d9..0000000 --- a/docs/103.md +++ /dev/null @@ -1,209 +0,0 @@ -# Labels - -> 原文:[https://docs.gitlab.com/ee/user/project/labels.html](https://docs.gitlab.com/ee/user/project/labels.html) - -* [Overview](#overview) -* [Project labels and group labels](#project-labels-and-group-labels) -* [Assign and unassign labels](#assign-and-unassign-labels) -* [Label management](#label-management) - * [Project labels](#project-labels) - * [Promote a project label to a group label](#promote-a-project-label-to-a-group-label) - * [Group labels](#group-labels) - * [Create group labels from epics](#create-group-labels-from-epics-ultimate) - * [Generate default labels](#generate-default-labels) -* [Scoped labels](#scoped-labels-premium) - * [Workflows with scoped labels](#workflows-with-scoped-labels) - * [Scoped labels with nested scopes](#scoped-labels-with-nested-scopes) -* [Subscribing to labels](#subscribing-to-labels) -* [Label priority](#label-priority) -* [Troubleshooting](#troubleshooting) - * [Some label titles end with `_duplicate<number>`](#some-label-titles-end-with-_duplicatenumber) - -# Labels[](#labels "Permalink") - -## Overview[](#overview "Permalink") - -随着您在 GitLab 中问题,合并请求和史诗数量的增长,跟踪这些项目变得越来越困难. 尤其是随着您的组织从只有几个人发展到成百上千. 标签就是在这里出现的.它们可以帮助您组织和标记工作,以便您可以跟踪和找到您感兴趣的工作项. - -标签是[发行板](issue_board.html)的关键部分. 使用标签,您可以: - -* 使用颜色和描述性标题(例如`bug` , `feature request`或`docs`对史诗,问题和合并请求进行分类. -* 动态过滤和管理史诗,问题和合并请求. -* [搜索问题列表,合并请求和史诗](../search/index.html#issues-and-merge-requests)以及[问题面板](../search/index.html#issue-boards) . - -## Project labels and group labels[](#project-labels-and-group-labels "Permalink") - -GitLab 中有两种类型的标签: - -* **项目标签**只能分配给该项目,并且只能合并该项目中的请求. -* 可以将**组标签**分配给选定组或其子组中的任何项目中的问题并合并请求. - * 也可以将它们分配给所选组或其子组中的史诗. - -## Assign and unassign labels[](#assign-and-unassign-labels "Permalink") - -每个问题,合并请求和史诗都可以分配任意数量的标签. 标签在右侧栏中管理,您可以在其中根据需要分配或取消分配标签. - -要将标签分配给问题,请合并请求或史诗: - -1. 在侧边栏的标签部分,点击**编辑** ,然后: - * 在列表中,单击所需的标签. 每个标签都带有复选标记. - * 通过输入搜索查询并单击搜索来查找标签( ),然后点击它们. 您可以反复搜索并添加更多标签. -2. 单击**X**或标签部分之外的任何位置,然后将应用标签. - -您也可以使用[`/assign @username`快速操作](quick_actions.html)来分配标签. - -## Label management[](#label-management "Permalink") - -具有 Reporter 或更高[权限级别](../permissions.html)的用户可以创建和编辑标签. - -### Project labels[](#project-labels "Permalink") - -通过转到项目并单击**问题>标签**来查看项目标签列表. 该列表包括在项目级别定义的所有标签,以及从直接父组继承的所有标签. 您可以通过在顶部输入搜索查询并点击搜索( ). - -要创建一个新的项目标签: - -1. 导航到项目中的" **问题">"标签** ". -2. 单击**新建标签**按钮. - * 输入标题. - * (可选)输入描述. - * (可选)通过单击可用颜色来选择背景颜色,或输入特定颜色的十六进制颜色值. -3. 单击**创建标签**以创建标签. - -您也可以从发布或合并请求中创建新的项目标签. 在问题或合并请求的右侧栏中的标签部分: - -1. Click **Edit**. -2. Click **创建项目标签**. - * 填写名称字段. 请注意,如果以此方式创建标签,则无法指定描述. 您可以稍后通过编辑标签来添加描述(请参见下文). - * (可选)通过单击可用颜色来选择颜色,或输入特定颜色的十六进制颜色值. -3. Click **Create**. - -创建标签后,您可以通过点击铅笔( ),或通过单击三个点( )旁边的" **订阅"**按钮,然后选择" **删除"** . - -#### Promote a project label to a group label[](#promote-a-project-label-to-a-group-label "Permalink") - -如果您以前创建了项目标签,现在想使其可用于同一组中的其他项目,则可以将其升级为组标签. - -如果同一组中的其他项目具有相同标题的标签,则它们将全部与新的组标签合并. 如果存在具有相同标题的组标签,则它也会被合并. - -所有发行,合并请求,发行板列表,发行板过滤器以及带有旧标签的标签订阅都将分配给新的组标签. - -警告: **警告:**提升标签是永久性的操作,不能撤消. - -要将项目标签提升为组标签: - -1. 导航到项目中的" **问题">"标签** ". -2. 单击三个点( )旁边的**订阅**按钮,然后选择**升级为组标签** . - -### Group labels[](#group-labels "Permalink") - -通过转到组并单击**问题>标签**来查看组标签列表. 该列表包括仅在组级别定义的所有标签. 它没有列出项目中定义的任何标签. 您可以通过在顶部输入搜索查询并点击搜索( ). - -要创建**组标签** ,请导航到**组中的"** **问题">"标签"** ,并按照与[创建项目标签](#project-labels)相同的过程进行操作. - -#### Create group labels from epics[](#create-group-labels-from-epics-ultimate "Permalink") - -您可以从 Epic 侧边栏创建组标签. 您创建的标签将属于该史诗所属的直接组. 该过程与根据[发布或合并请求](#project-labels)创建[项目标签](#project-labels)的过程相同. - -### Generate default labels[](#generate-default-labels "Permalink") - -如果项目或组没有标签,则可以从标签列表页面生成一组默认的项目或组标签. 如果列表为空,该页面将显示一个" **生成默认标签集"**按钮,单击该按钮会将以下默认标签添加到项目中: - -* `bug` -* `confirmed` -* `critical` -* `discussion` -* `documentation` -* `enhancement` -* `suggestion` -* `support` - -## Scoped labels[](#scoped-labels-premium "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/9175) in [GitLab Premium](https://about.gitlab.com/pricing/) 11.10. - -范围标签允许团队使用标签功能来注释问题,合并请求和具有互斥标签的史诗. 通过防止某些标签一起使用,可以启用更复杂的工作流程. - -当标签标题中使用特殊的双冒号( `::` :)语法时,该标签将成为作用域,例如: - -[![Sample scoped labels](img/eeadc0bb054ceec8f09d2c44982f4103.png)](img/labels_key_value_v12_1.png) - -issue,merge request 或 epic 不能具有形式为`key::value`且具有相同`key`两个范围标签. 使用相同的`key`添加一个新标签,但是使用不同的`value`将导致以前的`key`标签被新标签替换. - -用例示例: - -1. 一个问题被标识为低优先级,并向其添加了`priority::low`项目标签. -2. 经过更多审查后,问题优先级增加了,并添加了`priority::high`标签. -3. manbetx 客户端打不开会自动删除`priority::low`标签,因为一个问题不应同时具有两个优先级标签. - -### Workflows with scoped labels[](#workflows-with-scoped-labels "Permalink") - -假设您要在问题中创建一个自定义字段,以跟踪功能所针对的操作系统平台,而每个问题只应针对一个平台. 然后,您将创建三个标签`platform::iOS` , `platform::Android` , `platform::Linux` . 在给定的问题上应用这些标签中的任何一个都会自动删除以`platform::`开头的任何其他现有标签. - -可以将相同的模式应用于代表团队的工作流状态. 假设您具有标签以下标签`workflow::development` , `workflow::review`和`workflow::deployed` . 如果一个问题已经应用了标签`workflow::development` ,并且开发人员想要将该问题推进到`workflow::review` ,他们将简单地应用该标签,然后`workflow::development`标签将被自动删除. 当您在整个标签列表中移动的问题这种行为已经存在[问题板](issue_board.html#create-workflows) ,但现在,谁可能无法在一个问题板上工作的团队成员直接将仍然能够推进工作流程中的问题始终国家本身. - -在有关[将范围标签用于自定义字段和工作流](https://www.youtube.com/watch?v=4BCBby6du3c)的视频中演示了此功能. - -### Scoped labels with nested scopes[](#scoped-labels-with-nested-scopes "Permalink") - -创建标签时,可以使用多个双冒号`::`来创建具有嵌套作用域的标签. 在这种情况下,最后一个`::`之前的所有内容都将成为作用域. - -例如, `workflow::backend::review`和`workflow::backend::development`是有效的作用域标签,但是它们**不能同时**存在于同一问题上,因为它们都共享相同的作用域, `workflow::backend` . - -此外, `workflow::backend::review`和`workflow::frontend::review`是有效的范围标签,并且它们**可以同时**存在于同一问题上,因为它们都具有不同的范围, `workflow::frontend`和`workflow::backend` . - -## Subscribing to labels[](#subscribing-to-labels "Permalink") - -在项目标签列表页面和组标签列表页面中,您可以单击任何标签右侧的**订阅**以启用该标签的[通知](../profile/notifications.html) . 只要将标签分配给史诗,发行或合并请求,您就会收到通知. - -如果要从项目内订阅组标签,则可以选择仅订阅项目或整个组的标签通知. - -[![Labels subscriptions](img/074834195e0c24213cffeef5ef08a9e1.png)](img/labels_subscriptions_v12_1.png) - -## Label priority[](#label-priority "Permalink") - -版本历史 - -* 在 GitLab 8.9 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/14189) . -* 优先级排序仅基于最高优先级标签. [讨论中](https://gitlab.com/gitlab-org/gitlab/-/issues/14523)考虑改变这一点. - -标签可以具有相对优先级,在史诗,发布和合并请求列表页面的" **标签优先级"**和" **优先级"**排序顺序中使用. 组标签和项目标签的优先级都在项目级别进行,不能从组标签列表中进行. - -在项目标签列表页面上,在标签上加上星号以表明它具有优先级. - -[![Labels prioritized](img/2fe480e26b1b89b82607729986e5b13a.png)](img/labels_prioritized_v12_1.png) - -在列表中上下拖动已加星标的标签以更改其优先级,列表中的较高表示优先级较高. - -[![Drag to change label priority](img/9e837ca8522bced4f7b219416c893fe4.png)](img/labels_drag_priority_v12_1.gif) - -在史诗般的,合并请求和问题列表页面上(针对组和项目),您可以按`Label priority`或`Priority`进行排序. - -如果您按`Label priority`排序,则 GitLab 将使用以下排序比较顺序: - -1. 具有较高优先级标签的项目. -2. 没有优先标签的项目. - -领带被任意打破. 请注意,只会检查优先级最高的标签,而忽略优先级较低的标签. 有关更多信息,请参见此[相关问题](https://gitlab.com/gitlab-org/gitlab/-/issues/14523) . - -[![Labels sort label priority](img/3636c78ef6cb3ccc1462dd451c7f3efc.png)](img/labels_sort_label_priority.png) - -如果您按`Priority`排序,则 GitLab 将使用以下排序比较顺序: - -1. 具有里程碑的截止日期的项目,最早分配的[里程碑](milestones/index.html)在此列出. -2. 具有里程碑的项目,没有截止日期. -3. 具有较高优先级标签的项目. -4. 没有优先标签的项目. - -领带被任意打破. - -[![Labels sort priority](img/640bc8c28d8cd3035fbe0c4c1018d2d1.png)](img/labels_sort_priority.png) - -## Troubleshooting[](#troubleshooting "Permalink") - -### Some label titles end with `_duplicate<number>`[](#some-label-titles-end-with-_duplicatenumber "Permalink") - -在特定情况下,可以在同一名称空间中创建具有重复标题的标签. - -为了解决重复问题, [在 GitLab 13.2](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/21384)和更高版本中,某些重复标签的标题后面`_duplicate<number>` . - -如果愿意,可以安全地更改这些标签的标题. 有关原始问题的详细信息,请参见[问题 30390](https://gitlab.com/gitlab-org/gitlab/issues/30390) . \ No newline at end of file diff --git a/docs/104.md b/docs/104.md deleted file mode 100644 index ecf246f..0000000 --- a/docs/104.md +++ /dev/null @@ -1,230 +0,0 @@ -# Managing issues - -> 原文:[https://docs.gitlab.com/ee/user/project/issues/managing_issues.html](https://docs.gitlab.com/ee/user/project/issues/managing_issues.html) - -* [Create a new issue](#create-a-new-issue) - * [Accessing the New Issue form](#accessing-the-new-issue-form) - * [Elements of the New Issue form](#elements-of-the-new-issue-form) - * [New issue from the group-level Issue Tracker](#new-issue-from-the-group-level-issue-tracker) - * [New issue via Service Desk](#new-issue-via-service-desk-starter) - * [New issue via email](#new-issue-via-email) - * [New issue via URL with prefilled fields](#new-issue-via-url-with-prefilled-fields) -* [Moving Issues](#moving-issues) - * [Moving Issues in Bulk](#moving-issues-in-bulk) -* [Closing issues](#closing-issues) - * [Closing issues automatically](#closing-issues-automatically) - * [Default closing pattern](#default-closing-pattern) - * [Disabling automatic issue closing](#disabling-automatic-issue-closing) - * [Customizing the issue closing pattern](#customizing-the-issue-closing-pattern-core-only) -* [Deleting issues](#deleting-issues) - -# Managing issues[](#managing-issues "Permalink") - -[GitLab 问题](index.html)是在[GitLab](index.html)中就想法和计划工作进行协作的基本介质. [创建](#create-a-new-issue) , [移动](#moving-issues) , [关闭](#closing-issues)和[删除](#deleting-issues)是可以解决问题的关键操作. - -## Create a new issue[](#create-a-new-issue "Permalink") - -创建新问题时,系统将提示您填写问题的[数据和字段,](issue_data_and_actions.html)如下所示. 如果知道要分配给问题的值,则可以使用" [快速操作"](../quick_actions.html)功能输入值,而不用从列表中选择它们. - -创建问题时,您可以使用**Epic**下拉列表将其与当前组中的现有史诗相关联. - -### Accessing the New Issue form[](#accessing-the-new-issue-form "Permalink") - -有多种方法可以从项目中获取"新问题"表单: - -* 导航到**项目的仪表板** > **问题** > **新问题** : - - [![New issue from the issue list view](img/ee0396a1cb32367d7ba7c6f4a7262c7f.png)](img/new_issue_from_tracker_list.png) - -* 从项目中未**解决的问题**中,单击**"**新问题"以在同一项目中创建一个新问题: - - [![New issue from an open issue](img/eb851fa4a367081c86d0a2eac3bdca65.png)](img/new_issue_from_open_issue.png) - -* 在**项目的仪表板中** ,单击加号( **+** )以打开带有一些选项的下拉菜单. 选择" **新问题"**以在该项目中创建一个问题: - - [![New issue from a project's dashboard](img/04b61606f38fddf21d194ee3e13abaa3.png)](img/new_issue_from_projects_dashboard.png) - -* 在**发行板中** ,通过单击列表顶部的加号( **+** )创建新发行. 它为该项目打开了一个新问题,并预先标记了各自的列表. - - [![From the issue board](img/7f1a1847005ab07ba8259a9e67005213.png)](img/new_issue_from_issue_board.png) - -### Elements of the New Issue form[](#elements-of-the-new-issue-form "Permalink") - -> 在[GitLab Premium](https://about.gitlab.com/pricing/) 13.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/13847)了将新版本添加到史诗的功能. - -[![New issue from the issues list](img/94be136c7407855701b88eaded7db929.png)](img/new_issue_v13_1.png) - -创建新期刊时,可以填写以下字段: - -* Title -* Description -* 复选框以使问题保密 -* Assignee -* Weight -* Epic -* 截止日期 -* Milestone -* Labels - -### New issue from the group-level Issue Tracker[](#new-issue-from-the-group-level-issue-tracker "Permalink") - -转到"小组"仪表板,然后单击侧边栏中的" **问题** "以访问"小组"中所有项目的问题跟踪器. 使用页面右上方的下拉按钮,选择要添加问题的项目. - -[![Select project to create issue](img/31f0a42465a379e152ef6c0c7a6395e9.png)](img/select_project_from_group_level_issue_tracker.png) - -我们将跟踪您最近选择的项目,并将其用作下次访问的默认项目. 如果您主要是为同一项目创建问题,这应该可以节省大量时间和点击次数. - -[![Create issue from group-level issue tracker](img/75ca9285f50e058d4d85796b4d0b8e69.png)](img/create_issue_from_group_level_issue_tracker.png) - -### New issue via Service Desk[](#new-issue-via-service-desk-starter "Permalink") - -为您的项目启用[Service Desk](../service_desk.html)并提供电子邮件支持. 这样,当您的客户发送新电子邮件时,可以在适当的项目中创建一个新的问题,然后从那里进行后续操作. - -### New issue via email[](#new-issue-via-email "Permalink") - -如果您的 GitLab 实例配置了[传入电子邮件](../../../administration/incoming_email.html) ,则在项目的" **问题列表"**页面的底部会显示**一个"将新问题发送到该项目的电子邮件** "链接. - -[![Bottom of a project issues page](img/fd1e35952a7538923376d54325798b24.png)](img/new_issue_from_email.png) - -当您单击此链接时,将生成并显示一个电子邮件地址,该电子邮件地址**仅供您自己使用** ,以在此项目中创建问题. 您可以将此地址另存为联系人,以方便访问. - -**注意:**这是一个私人电子邮件地址,仅为您生成. **保密** ,因为任何知道它的人都可以创建问题或合并请求,就好像它们是您一样. 如果地址被盗用,或者您出于任何原因希望重新生成该地址,请再次单击"通过**电子邮件将新问题发送到此项目"** ,然后单击"重置"链接. - -向该地址发送电子邮件将以您的名字在此项目中创建一个新问题,其中: - -* The email subject becomes the issue title. -* 电子邮件正文成为问题描述. -* 支持[降价](../../markdown.html)和[快速行动](../quick_actions.html) . - -**注意:**在 GitLab 11.7 中,我们更新了生成的电子邮件地址的格式. 但是,仍支持较旧的格式,从而允许现有别名或联系人继续工作. - -### New issue via URL with prefilled fields[](#new-issue-via-url-with-prefilled-fields "Permalink") - -您可以使用 URL 中的查询字符串参数,使用预填充的字段值直接链接到给定项目的新问题页面. 这对于在外部 HTML 页面中嵌入 URL 以及在某些情况下(希望用户创建带有预填某些字段的问题)很有用. - -标题,描述,描述模板和机密字段可以使用此方法进行预填充. 您不能在同一 URL 中预先填写描述和描述模板字段(因为描述模板也会填充描述字段). - -| Field | URL 参数名称 | Notes | -| --- | --- | --- | -| title | `issue[title]` |   | -| description | `issue[description]` |   | -| 描述模板 | `issuable_template` |   | -| confidential | `issue[confidential]` | 参数值必须为`true`才能设置为机密 | - -请按照以下示例使用预填字段来形成新的问题 URL. - -* 对于 GitLab 社区版项目中的新问题,带有预填充的标题和预填充的描述,URL 为`https://gitlab.com/gitlab-org/gitlab-foss/-/issues/new?issue[title]=Validate new concept&issue[description]=Research idea` -* 对于 GitLab 社区版项目中的新问题,带有预填充的标题和预填充的描述模板,URL 为`https://gitlab.com/gitlab-org/gitlab-foss/-/issues/new?issue[title]=Validate new concept&issuable_template=Research proposal` -* 对于 GitLab 社区版项目中的新问题,其中包含预填充的标题,预填充的描述以及机密标志集,其 URL 为`https://gitlab.com/gitlab-org/gitlab-foss/-/issues/new?issue[title]=Validate new concept&issue[description]=Research idea&issue[confidential]=true` - -## Moving Issues[](#moving-issues "Permalink") - -移动问题会将其复制到新位置(项目),并在旧项目中将其关闭,但不会被删除. 这两个问题上还将添加一个系统注释,以指示它来自何处. - -The “Move issue” button is at the bottom of the right-sidebar when viewing the issue. - -[![move issue - button](img/1bc92f79d9645e6ae51aff10100e5c0d.png)](img/sidebar_move_issue.png) - -### Moving Issues in Bulk[](#moving-issues-in-bulk "Permalink") - -如果您具有高级技术技能,也可以在 Rails 控制台中将所有问题从一个项目批量转移到另一个项目. 下面的脚本会将所有问题从一个项目移至另一个状态尚未**关闭的项目** . - -要访问 rails 控制台,请在 GitLab 服务器上运行`sudo gitlab-rails console`并运行以下脚本. 请确保将**project** , **admin_user**和**target_project**更改为您的值. 我们也建议您在尝试对控制台进行任何更改之前先[创建备份](../../../raketasks/backup_restore.html#back-up-gitlab) . - -``` -project = Project.find_by_full_path('full path of the project where issues are moved from') -issues = project.issues -admin_user = User.find_by_username('username of admin user') # make sure user has permissions to move the issues -target_project = Project.find_by_full_path('full path of target project where issues moved to') - -issues.each do |issue| - if issue.state != "closed" && issue.moved_to.nil? - Issues::MoveService.new(project, admin_user).execute(issue, target_project) - else - puts "issue with id: #{issue.id} and title: #{issue.title} was not moved" - end -end; nil -``` - -## Closing issues[](#closing-issues "Permalink") - -当您确定问题已解决或不再需要时,可以使用"关闭"按钮关闭该问题: - -[![close issue - button](img/4635aba96009dfb3ab93ab6f4b92ee4c.png)](img/button_close_issue.png) - -您还可以通过将发行卡从其发行版列表中拖放到" **已关闭"**列表中来**关闭** [发行板中](../issue_board.html)的发行. - -[![close issue from the Issue Board](img/0f7aab3f307e6b54ebe4d00d94f1da0a.png)](img/close_issue_from_board.gif) - -### Closing issues automatically[](#closing-issues-automatically "Permalink") - -**注意:**由于性能原因,从现有存储库的第一次推送将禁用自动问题关闭. - -当提交或合并请求解决了一个或多个问题时,当提交或合并请求到达项目的默认分支时,可能会自动关闭这些问题. - -如果提交消息或合并请求描述包含与[定义的模式](#default-closing-pattern)匹配的文本,则匹配文本中引用的所有问题均将关闭. 将提交推送到项目的[**默认**分支时](../repository/branches/index.html#default-branch) ,或者将提交或合并请求合并到其中时,就会发生这种情况. - -例如,如果合并请求描述中包含`Closes #4, #6, Related to #5`则合并 MR 时问题`#4`和`#6`将自动关闭,但不会合并`#5` . 将" `Related to` `#5`标记[相关"](related_issues.html)用作[相关问题](related_issues.html) ,但不会自动关闭. - -[![merge request closing issue when merged](img/fee3cc5116f884089066af3908605cbe.png)](img/merge_request_closes_issue.png) - -如果问题与 MR 位于不同的存储库中,请添加问题的完整 URL: - -``` -Closes #4, #6, and https://gitlab.com/<username>/<projectname>/issues/<xxx> -``` - -#### Default closing pattern[](#default-closing-pattern "Permalink") - -如果未指定,将使用如下所示的默认问题关闭模式: - -``` -\b((?:[Cc]los(?:e[sd]?|ing)|\b[Ff]ix(?:e[sd]|ing)?|\b[Rr]esolv(?:e[sd]?|ing)|\b[Ii]mplement(?:s|ed|ing)?)(:?) +(?:(?:issues? +)?%{issue_ref}(?:(?: *,? +and +| *,? *)?)|([A-Z][A-Z0-9_]+-\d+))+) -``` - -这将转换为以下关键字: - -* 关闭,关闭,关闭,关闭,关闭,关闭,关闭,关闭 -* 修正,修正,修正,修正,修正,修正,修正,修正 -* 解决,解决,解决,解决,解决,解决,解决,解决 -* 实施,实施,实施,实施,实施,实施,实施,实施 - -请注意, `%{issue_ref}`是在 GitLab 的源代码中定义的复杂正则表达式,可以匹配对以下内容的引用: - -* 本地问题( `#123` ). -* 跨项目问题( `group/project#123` ). -* 指向问题的链接( `https://gitlab.example.com/group/project/issues/123` ). - -例如以下提交消息: - -``` -Awesome commit message - -Fix #20, Fixes #21 and Closes group/otherproject#22. -This commit is also related to #17 and fixes #18, #19 -and https://gitlab.example.com/group/otherproject/issues/23. -``` - -将在提交被推送到的项目中关闭`#18` , `#19` , `#20`和`#21` ,以及`group/otherproject` `#22`和`#23` . `#17`将不会关闭,因为它与模式不匹配. 当从命令行与`git commit -m`一起使用时,它可以处理多行提交消息以及单行代码. - -#### Disabling automatic issue closing[](#disabling-automatic-issue-closing "Permalink") - -在 GitLab 12.7 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/19754) . - -可以在[项目的存储库设置中](../settings/index.html)针对每个项目禁用自动关闭问题功能. 引用的问题仍将按原样显示,但不会自动关闭. - -[![disable issue auto close - settings](img/a3802569c81d8f8dd179fd218322a4ca.png)](img/disable_issue_auto_close.png) - -这仅适用于受新合并请求或提交影响的问题. 已经解决的问题仍然保持原样. 禁用自动关闭的问题仅影响到项目*中*的合并请求,并不会阻止其他项目从通过跨项目的问题,将其关闭. - -#### Customizing the issue closing pattern[](#customizing-the-issue-closing-pattern-core-only "Permalink") - -为了更改默认的问题关闭模式,GitLab 管理员必须编辑安装的[`gitlab.rb`或`gitlab.yml`文件](../../../administration/issue_closing_pattern.html) . - -## Deleting issues[](#deleting-issues "Permalink") - -在 GitLab 8.6 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/2982) - -具有[项目所有者权限的](../../permissions.html)用户可以通过编辑问题并单击删除按钮来删除问题. - -[![delete issue - button](img/51e7561422b1e74237ea14e916cffc78.png)](img/delete_issue.png) \ No newline at end of file diff --git a/docs/105.md b/docs/105.md deleted file mode 100644 index 48ed511..0000000 --- a/docs/105.md +++ /dev/null @@ -1,176 +0,0 @@ -# Milestones - -> 原文:[https://docs.gitlab.com/ee/user/project/milestones/](https://docs.gitlab.com/ee/user/project/milestones/) - -* [Overview](#overview) -* [Milestones as Agile sprints](#milestones-as-agile-sprints) -* [Milestones as releases](#milestones-as-releases) -* [Project milestones and group milestones](#project-milestones-and-group-milestones) -* [Creating milestones](#creating-milestones) - * [New project milestone](#new-project-milestone) - * [New group milestone](#new-group-milestone) -* [Editing milestones](#editing-milestones) - * [Promoting project milestones to group milestones](#promoting-project-milestones-to-group-milestones) -* [Assigning milestones from the sidebar](#assigning-milestones-from-the-sidebar) -* [Filtering issues and merge requests by milestone](#filtering-issues-and-merge-requests-by-milestone) - * [Filtering in list pages](#filtering-in-list-pages) - * [Filtering in issue boards](#filtering-in-issue-boards) - * [Special milestone filters](#special-milestone-filters) -* [Milestone view](#milestone-view) - * [Project Burndown Charts](#project-burndown-charts-starter) - * [Group Burndown Charts](#group-burndown-charts-premium) - * [Milestone sidebar](#milestone-sidebar) - -# Milestones[](#milestones "Permalink") - -## Overview[](#overview "Permalink") - -GitLab 中的里程碑是一种跟踪问题并合并为在一定时期内实现更广泛目标而创建的请求的方法. - -里程碑使您可以组织问题并将请求合并到一个紧密联系的组中,并带有一个可选的开始日期和一个可选的截止日期. - -## Milestones as Agile sprints[](#milestones-as-agile-sprints "Permalink") - -里程碑可用作敏捷冲刺,因此您可以跟踪所有问题并合并与特定冲刺有关的请求. 为此: - -1. 设置里程碑的开始日期和截止日期,以代表敏捷冲刺的开始和结束. -2. 将里程碑标题设置为敏捷 sprint 的名称,例如`November 2018 sprint` . -3. 通过将问题的右侧边栏关联到所需的里程碑,将问题添加到敏捷冲刺中. - -## Milestones as releases[](#milestones-as-releases "Permalink") - -同样,里程碑可以用作发布. 为此: - -1. 设置里程碑到期日期以表示发布的发布日期,并将里程碑开始日期保留为空白. -2. 将里程碑标题设置为您的发行版,例如`Version 9.4` . -3. 通过关联问题右侧的期望里程碑,将问题添加到您的发行中. - -此外,您可以将里程碑与 GitLab 的[Releases 功能](../releases/index.html#associate-milestones-with-a-release)集成. - -## Project milestones and group milestones[](#project-milestones-and-group-milestones "Permalink") - -您可以将**项目里程碑**分配给问题或仅合并该项目中的请求. 要查看项目里程碑列表,请在项目中转到 **问题>里程碑** . - -您可以将**组里程碑**分配给该**组**中任何项目的任何发行或合并请求. 要查看组里程碑列表,请在组中转到 **问题>里程碑** . - -您还可以在仪表板里程碑列表中查看您有权访问的所有里程碑. 要查看您可以访问的项目里程碑和组里程碑,请单击顶部导航栏上的**更多>里程碑** . - -有关项目和组里程碑 API 的信息,请参阅: - -* [Project Milestones API](../../../api/milestones.html) -* [Group Milestones API](../../../api/group_milestones.html) - -**注意:**如果您在一个小组中,然后单击**问题>里程碑** ,您将看到小组里程碑和该小组中的项目里程碑. 如果您在项目中,然后单击" **问题">"里程碑"** ,则只会看到该项目的里程碑. - -## Creating milestones[](#creating-milestones "Permalink") - -**注意:**创建里程碑需要[开发者或更高](../../permissions.html)级别的权限. - -### New project milestone[](#new-project-milestone "Permalink") - -创建**项目里程碑** : - -1. 在一个项目中,转到 **问题>里程碑** . -2. Click **新的里程碑**. -3. 输入标题,可选描述,可选开始日期和可选截止日期. -4. Click **新的里程碑**. - -[![New project milestone](img/9807a6b10b783af2ed7c8703958f017a.png)](img/milestones_new_project_milestone.png) - -### New group milestone[](#new-group-milestone "Permalink") - -创建**组里程碑** : - -1. 在一个小组中,转到 **问题>里程碑** . -2. Click **新的里程碑**. -3. 输入标题,可选描述,可选开始日期和可选截止日期. -4. Click **新的里程碑**. - -[![New group milestone](img/4d2f841f1dee2bdbbdcd14bd5518c000.png)](img/milestones_new_group_milestone.png) - -## Editing milestones[](#editing-milestones "Permalink") - -**注意:**编辑里程碑需要[开发者或更高的](../../permissions.html)权限级别. - -要编辑里程碑: - -1. 在项目或小组中,转到 **问题>里程碑** . -2. 单击里程碑标题. -3. Click **Edit**. - -您可以通过单击" **删除"**按钮来删除里程碑. - -### Promoting project milestones to group milestones[](#promoting-project-milestones-to-group-milestones "Permalink") - -If you are expanding from a few projects to a larger number of projects within the same group, you may want to share the same milestone among multiple projects in the same group. If you previously created a project milestone and now want to make it available for other projects within the same group, you can promote it to a group milestone. - -从项目里程碑列表页面,您可以将项目里程碑升级为组里程碑. 这会将具有相同名称的该组中所有项目中的所有项目里程碑合并为一个组里程碑. 以前已分配给这些项目里程碑之一的所有问题和合并请求现在都将分配给新的组里程碑. 此操作不能撤消,更改是永久的. - -**警告:**从 GitLab 12.4 和更早版本开始,将项目里程碑提升为组里程碑时,某些信息会丢失. 组里程碑视图上并非项目里程碑视图上的所有功能都可用. 如果将项目里程碑升级为组里程碑,则将失去这些功能. 请参阅" [里程碑"视图,](#milestone-view)以查看组里程碑视图中缺少哪些功能. - -[![Promote milestone](img/e14dc9ee9528f343daf09a4dd5340b99.png)](img/milestones_promote_milestone.png) - -## Assigning milestones from the sidebar[](#assigning-milestones-from-the-sidebar "Permalink") - -可以为每个问题和合并请求分配一个里程碑. 里程碑在边栏中的每个问题和合并请求页面上可见. 它们在发行板上也可见. 您可以从边栏中为对象分配或取消分配里程碑. 您也可以在评论中[快速](../quick_actions.html)执行此[操作](../quick_actions.html) . [如前所述](#project-milestones-and-group-milestones) ,对于给定的发布或合并请求,可以选择项目里程碑和组里程碑并将其分配给对象. - -## Filtering issues and merge requests by milestone[](#filtering-issues-and-merge-requests-by-milestone "Permalink") - -### Filtering in list pages[](#filtering-in-list-pages "Permalink") - -在项目发布/合并请求列表页面和组发布/合并请求列表页面中,可以按组里程碑和项目里程碑进行[筛选](../../search/index.html#issues-and-merge-requests) . - -### Filtering in issue boards[](#filtering-in-issue-boards "Permalink") - -* 在[项目发布板上](../issue_board.html) ,您可以在[搜索和过滤器栏中](../../search/index.html#issue-boards)按组里程碑和项目里程碑进行[筛选](../../search/index.html#issue-boards) . -* 在[组发布板上](../issue_board.html#group-issue-boards-premium) ,您只能在[搜索和过滤器栏中](../../search/index.html#issue-boards)按组里程碑进行[过滤](../../search/index.html#issue-boards) . -* 在[项目发行板中](../issue_board.html) ,可以在[发行板配置中](../issue_board.html#configurable-issue-boards-starter)按组里程碑和项目里程碑进行筛选. -* 在[组发行板上,](../issue_board.html#group-issue-boards-premium)您只能按[发行板配置](../issue_board.html#configurable-issue-boards-starter)中的组里程碑进行筛选. - -### Special milestone filters[](#special-milestone-filters "Permalink") - -在按里程碑进行筛选时,除了选择特定的项目里程碑或组里程碑之外,还可以选择特殊的里程碑筛选器. - -* **无** :显示问题或没有分配里程碑的合并请求. -* **任何** :显示问题或合并具有指定里程碑的请求. -* **即将到来的** :显示已分配的公开里程碑的问题或合并请求,该里程碑具有下一个即将到来的到期日(即将来的最近到期日). -* **已开始** :显示具有打开的指定里程碑且开始日期在今天之前的问题或合并请求. - -## Milestone view[](#milestone-view "Permalink") - -里程碑视图显示标题和描述. - -这些标签下面还包含显示以下内容的标签: - -* **问题** :显示分配给里程碑的所有问题. 这些内容显示在名为: - * 未开始的问题(未解决和未分配) - * 进行中的问题(未解决和已分配) - * 已完成的问题(已关闭) -* **合并请求** :显示分配给里程碑的所有合并请求. 这些将显示在名为: - * 进行中的工作(开放且未分配) - * 等待合并(打开和未分配) - * 拒绝(关闭) - * 合并后 -* **参与者** :显示分配给该里程碑的所有问题的受让人. -* **Labels**: Shows all labels that are used in issues assigned to the milestone. - -### Project Burndown Charts[](#project-burndown-charts-starter "Permalink") - -对于[GitLab Starter 中的](https://about.gitlab.com/pricing/)项目里程碑,里程碑视图中有一个[燃尽图](burndown_charts.html) ,显示完成里程碑的进度. - -[![burndown chart](img/eb36e4acf26c49641689d1a05dd8fa8a.png)](img/burndown_chart.png) - -### Group Burndown Charts[](#group-burndown-charts-premium "Permalink") - -对于[GitLab Premium 中的](https://about.gitlab.com/pricing/)组里程碑,里程碑视图中有一个[燃尽图](burndown_charts.html) ,显示完成里程碑的进度. - -### Milestone sidebar[](#milestone-sidebar "Permalink") - -里程碑视图上的里程碑侧栏显示以下内容: - -* 完成百分比,计算方式为已完成的问题数除以问题总数. -* 开始日期和截止日期. -* 在分配给里程碑的所有问题和合并请求上花费的总时间. -* 分配给里程碑的所有问题的总问题权重. - -[![Project milestone page](img/11f64bd49fd604a4644dd54ed7e423e8.png)](img/milestones_project_milestone_page.png) \ No newline at end of file diff --git a/docs/106.md b/docs/106.md deleted file mode 100644 index a10dd67..0000000 --- a/docs/106.md +++ /dev/null @@ -1,35 +0,0 @@ -# Multiple Assignees for Issues - -> 原文:[https://docs.gitlab.com/ee/user/project/issues/multiple_assignees_for_issues.html](https://docs.gitlab.com/ee/user/project/issues/multiple_assignees_for_issues.html) - -* [Overview](#overview) -* [Use cases](#use-cases) -* [How it works](#how-it-works) - -# Multiple Assignees for Issues[](#multiple-assignees-for-issues-starter "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/1904) in [GitLab Starter 9.2](https://about.gitlab.com/releases/2017/05/22/gitlab-9-2-released/#multiple-assignees-for-issues). - -## Overview[](#overview "Permalink") - -在拥有问题共享所有权的大型团队中,可能很难跟踪谁正在处理问题,谁已经完成了贡献,谁还没有开始. - -在[GitLab 企业版中](https://about.gitlab.com/pricing/) ,您还可以选择一个问题的多个受让人,使其更容易跟踪,并更清楚地由谁负责. - -[![multiple assignees for issues](img/d0707d7a1f822105efb120e442c32246.png)](img/multiple_assignees_for_issues.png) - -## Use cases[](#use-cases "Permalink") - -考虑一个由前端开发人员,后端开发人员,UX 设计人员,QA 测试人员和产品经理组成的团队,他们共同努力将创意推向市场. - -多个问题分配者可以使协作更加顺畅,并可以清晰显示共享的职责. 在团队的工作流程中将显示所有受让人,并接收通知(就像作为单个受让人一样),从而简化了沟通和所有权. - -受让人完成工作后,他们将离开自己,成为受让人,这清楚表明他们的角色已经完成. - -## How it works[](#how-it-works "Permalink") - -在未解决的问题中,展开右侧栏,找到受让人条目,然后单击" **编辑"** . 从下拉菜单中,选择要分配问题的用户数. - -[![adding multiple assignees](img/9149638f26311ced385bcc879401a8fd.png)](img/multiple_assignees.gif) - -通过从同一下拉菜单中取消选择受让人可以轻松将其删除. \ No newline at end of file diff --git a/docs/107.md b/docs/107.md deleted file mode 100644 index 0cba33a..0000000 --- a/docs/107.md +++ /dev/null @@ -1,49 +0,0 @@ -# Related issues - -> 原文:[https://docs.gitlab.com/ee/user/project/issues/related_issues.html](https://docs.gitlab.com/ee/user/project/issues/related_issues.html) - -* [Adding a related issue](#adding-a-related-issue) -* [Removing a related issue](#removing-a-related-issue) - -# Related issues[](#related-issues-starter "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/1797) in [GitLab Starter](https://about.gitlab.com/pricing/) 9.4. - -相关问题是任何两个问题之间的双向关系,并出现在问题描述下方的方框中. 问题可能会跨越小组和项目. - -如果用户可以看到两个问题,则该关系仅显示在 UI 中. - -## Adding a related issue[](#adding-a-related-issue "Permalink") - -版本历史 - -* 在[GitLab Starter](https://about.gitlab.com/pricing/) 12.8 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/2035) . -* 在[GitLab Starter](https://about.gitlab.com/pricing/) 13.0 中进行了[改进](https://gitlab.com/gitlab-org/gitlab/-/issues/34239) . 当您尝试使用打开的阻止程序来解决问题时,您会看到一条警告,您可以将其关闭. - -You can relate one issue to another by clicking the related issues “+” button in the header of the related issue block. Then, input the issue reference number or paste in the full URL of the issue. - -此外,您可以选择当前问题是与输入的问题相关,被阻止还是被阻止. - -[![Adding a related issue](img/8d249dc6a1ff208c520bfc8cad423a4a.png)](img/related_issues_add_v12_8.png) - -同一项目的问题只能通过参考编号指定. 来自其他项目的问题需要其他信息,例如组和项目名称. 例如: - -* 同一项目: `#44` -* 同一组: `project#44` -* 不同的组: `group/project#44` - -有效参考将添加到您可以查看的临时列表中. 添加完所有相关问题后,请单击**添加**以提交. - -完成所有相关问题的添加后,您将能够看到它们的分类,以便可以从视觉上更好地理解它们之间的关系. - -[![Related issue block](img/e3439aafb873fb6b7cdb3a5c6d51c3b9.png)](img/related_issue_block_v12_8.png) - -## Removing a related issue[](#removing-a-related-issue "Permalink") - -在相关问题区域中,单击要删除的每个问题令牌右侧的" x"图标. 由于双向关系,它将不再出现在任何一个问题中. - -[![Removing a related issue](img/9e8d2b5134e62de656bff96c60c04e10.png)](img/related_issues_remove_v12_8.png) - -请访问我们的[权限](../../permissions.html)页面以获取更多信息. - -此外,您还可以通过[我们的 API](../../../api/issue_links.html)管理相关问题. \ No newline at end of file diff --git a/docs/108.md b/docs/108.md deleted file mode 100644 index 1b6a304..0000000 --- a/docs/108.md +++ /dev/null @@ -1,207 +0,0 @@ -# Service Desk - -> 原文:[https://docs.gitlab.com/ee/user/project/service_desk.html](https://docs.gitlab.com/ee/user/project/service_desk.html) - -* [Overview](#overview) -* [Use cases](#use-cases) -* [How it works](#how-it-works) -* [Configuring Service Desk](#configuring-service-desk) - * [Using customized email templates](#using-customized-email-templates) - * [Thank you email](#thank-you-email) - * [New note email](#new-note-email) - * [Using custom email display name](#using-custom-email-display-name) - * [Using custom email address](#using-custom-email-address) - * [Enable custom email address](#enable-custom-email-address) -* [Using Service Desk](#using-service-desk) - * [As an end user (issue creator)](#as-an-end-user-issue-creator) - * [As a responder to the issue](#as-a-responder-to-the-issue) - * [Support Bot user](#support-bot-user) - -# Service Desk[](#service-desk "Permalink") - -Version history - -* [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/149) in [GitLab Premium](https://about.gitlab.com/pricing/) 9.1. -* 在 13.0 中[移至](https://gitlab.com/gitlab-org/gitlab/-/issues/214839) [GitLab Starter](https://about.gitlab.com/pricing/) . -* 在 13.2 中[移至](https://gitlab.com/gitlab-org/gitlab/-/issues/215364) [GitLab Core](https://about.gitlab.com/pricing/) . - -## Overview[](#overview "Permalink") - -Service Desk 是一个模块,可让您的团队直接在 GitLab 内部通过电子邮件与任何外部方联系. 无需外部工具. 在构建软件的过程中进行的持续对话可确保用户反馈直接在需要的地方结束,从而帮助您构建正确的功能来解决用户的实际问题. - -借助 Service Desk,您可以为客户提供有效的电子邮件支持,他们现在可以通过电子邮件向您发送错误报告,功能请求或常规反馈,这些问题将作为新问题最终出现在您的 GitLab 项目中. 反过来,您的团队可以直接从项目中做出回应. - -由于 Service Desk 直接内置在 GitLab 中,因此消除了多种工具和外部集成的复杂性和低效率,从而大大缩短了从反馈到软件更新的周期时间. - -有关概述,请查看[GitLab 服务](https://about.gitlab.com/blog/2017/05/09/demo-service-desk/)台上的视频演示. - -## Use cases[](#use-cases "Permalink") - -例如,假设您为 iOS 或 Android 开发游戏. 该代码库托管在您的 GitLab 实例中,并通过 GitLab CI / CD 构建和部署. - -这是 Service Desk 为您工作的方式: - -1. 您向付费客户提供特定于项目的电子邮件地址,他们可以直接从应用程序内向您发送电子邮件. -2. 他们发送的每封电子邮件都会在相应的项目中产生一个问题. -3. 您的团队成员导航到 Service Desk 问题跟踪器,在这里他们可以查看新的支持请求并在内部相关问题中做出响应. -4. 您的团队与客户进行来回沟通以了解请求. -5. 您的团队开始着手实施代码以解决客户的问题. -6. 当您的团队完成实施后,合并请求将合并,问题将自动关闭. -7. 该客户将通过电子邮件成功出席,而无需真正访问您的 GitLab 实例. -8. 您的团队无需离开 GitLab(或设置任何集成)即可跟进客户,从而节省了时间. - -## How it works[](#how-it-works "Permalink") - -GitLab 服务台是一种简单的方法,使人们无需自己的用户帐户即可在您的 GitLab 实例中创建问题. - -它为最终用户提供了一个在项目中创建问题的唯一电子邮件地址,并且可以通过 GitLab 界面或通过电子邮件发送答复. 最终用户将仅通过电子邮件看到该主题. - -## Configuring Service Desk[](#configuring-service-desk "Permalink") - -**注意:**在 GitLab.com 上启用了 Service Desk. 您可以跳过下面的步骤 1; 您只需要为每个项目启用它. - -如果您具有项目维护者访问权限,则可以选择设置服务台. 请按照以下步骤操作: - -1. 为 GitLab 实例[设置传入电子邮件](../../administration/incoming_email.html#set-it-up) . - * 我们建议使用[电子邮件子地址](../../administration/incoming_email.html#email-sub-addressing) ,但在 GitLab 11.7 及更高版本中,您也可以使用[全部接收邮箱](../../administration/incoming_email.html#catch-all-mailbox) . -2. 导航到项目的**"设置">"常规",**然后找到" **服务台"**部分. -3. 启用**激活服务台**切换. 这显示了一个唯一的电子邮件地址,可将问题发送给项目. 这些问题将是[机密的](issues/confidential_issues.html) ,因此它们仅对项目成员可见. 请注意,在 GitLab 11.7 中,我们更新了生成的电子邮件地址的格式. 仍然支持较旧的格式,但是允许现有的别名或联系人继续工作. - - **危险:**任何人都可以使用此电子邮件地址在此项目上创建问题,无论他们是否有权访问您的 GitLab 实例. 我们建议**将其放在别名后面,**以便可以根据需要进行更改,并在您的 GitLab 实例上**[启用 Akismet](../../integration/akismet.html)**来向该服务添加垃圾邮件检查. 畅通无阻的电子邮件垃圾邮件将导致创建许多垃圾邮件问题. - - 如果存储库中有[模板](description_templates.html) ,则可以选择从选择器菜单中选择一个[模板](description_templates.html) ,以将其附加到所有 Service Desk 问题上. - - [![Service Desk enabled](img/d32d8400522e9b5c9dd295fba00e1255.png)](img/service_desk_enabled.png) - -现在已为此项目启用 Service Desk! 您应该能够从项目导航的" **问题"**菜单中访问它. - -[![Service Desk Navigation Item](img/c42e6852cdd2c45b0a814f7a659ee5d2.png)](img/service_desk_nav_item.png) - -### Using customized email templates[](#using-customized-email-templates "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/2460) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.7. - -当用户使用 Service Desk 提交新问题时,或在 Service Desk 问题上创建新便笺时,将向作者发送电子邮件. - -这些电子邮件的正文可以使用模板进行自定义. 要创建新的自定义模板,请在存储库的`.gitlab/service_desk_templates/`目录内创建一个新的 Markdown( `.md` )文件. 提交并推送到您的默认分支. - -#### Thank you email[](#thank-you-email "Permalink") - -**谢谢电子邮件**是用户提交问题后发送给用户的电子邮件. 模板的文件名必须为`thank_you.md` . 您可以使用`%{ISSUE_ID}`占位符,它将由电子邮件中的问题 IID 替换;而`%{ISSUE_PATH}`占位符,将由项目路径和问题 IID 替换. 由于服务台问题被创建为机密(只有项目成员才能看到),因此回复电子邮件中没有提供问题链接. - -#### New note email[](#new-note-email "Permalink") - -**新笔记电子邮件**是当用户提交的问题有新评论时发送给用户的电子邮件. 模板的文件名必须为`new_note.md` . 您可以使用`%{ISSUE_ID}`占位符(将在电子邮件中替换为问题 IID), `%{ISSUE_PATH}`占位符(将替换为项目路径)以及问题 IID 和`%{NOTE_TEXT}`占位符(将替换为注释文本) . - -### Using custom email display name[](#using-custom-email-display-name "Permalink") - -在 GitLab 12.8 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/7529) . - -您可以自定义电子邮件显示名称. 从服务台发送的电子邮件在" `From`标题中将具有此名称. 默认显示名称是`GitLab Support Bot` . - -### Using custom email address[](#using-custom-email-address "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/2201) in [GitLab Premium](https://about.gitlab.com/pricing/) 13.0. - -**注意:**默认情况下禁用此功能. 有关启用它的步骤,请参阅[启用自定义电子邮件地址](#enable-custom-email-address) . - -如果在配置中启用了`service_desk_email`功能标记,则可以通过将电子邮件发送到自定义 Service Desk 电子邮件地址来创建 Service Desk 问题,该电子邮件地址应采用以下格式: `project_contact+%{key}@example.com` . - -`%{key}`部分用于查找应在其中创建问题的项目. `%{key}`部分组合了项目的路径和可配置的项目名称后缀: `<project_full_path>-<project_name_suffix>` . - -您可以在项目的服务台设置中设置项目名称后缀. 它只能包含小写字母( `az` ),数字( `0-9` )或下划线( `_` ). - -[![Setting custom Service Desk email address](img/210e34a4dbdbe21aba5083c6f7dac9cb.png)](img/service_desk_custom_email_address_v13_0.png) - -您可以将以下代码片段添加到您的配置中. - -从源安装的示例: - -``` -service_desk_email: - enabled: true - address: "project_contact+%{key}@example.com" - user: "project_support@example.com" - password: "[REDACTED]" - host: "imap.gmail.com" - port: 993 - ssl: true - start_tls: false - log_path: "log/mailroom.log" - mailbox: "inbox" - idle_timeout: 60 - expunge_deleted: true -``` - -Omnibus GitLab 安装示例: - -``` -gitlab_rails['service_desk_email_enabled'] = true - -gitlab_rails['service_desk_email_address'] = "project_contact+%{key}@gmail.com" - -gitlab_rails['service_desk_email_email'] = "project_support@gmail.com" - -gitlab_rails['service_desk_email_password'] = "[REDACTED]" - -gitlab_rails['service_desk_email_mailbox_name'] = "inbox" - -gitlab_rails['service_desk_email_idle_timeout'] = 60 - -gitlab_rails['service_desk_email_log_file'] = "/var/log/gitlab/mailroom/mail_room_json.log" - -gitlab_rails['service_desk_email_host'] = "imap.gmail.com" - -gitlab_rails['service_desk_email_port'] = 993 - -gitlab_rails['service_desk_email_ssl'] = true - -gitlab_rails['service_desk_email_start_tls'] = false -``` - -在这种情况下,假设`mygroup/myproject`项目 Service Desk 设置的项目名称后缀设置为`support` ,并且用户将电子邮件发送到`project_contact+mygroup-myproject-support@example.com` . 结果,将在`mygroup/myproject`项目中从此电子邮件中创建一个新的 Service Desk 问题. - -#### Enable custom email address[](#enable-custom-email-address "Permalink") - -默认情况下,此功能附带`service_desk_custom_address`功能标志. 要打开此功能,请要求具有 Rails 控制台访问权限的 GitLab 管理员运行以下命令: - -``` -Feature.enable(:service_desk_custom_address) -``` - -配置选项与配置[传入电子邮件](../../administration/incoming_email.html#set-it-up)相同. - -## Using Service Desk[](#using-service-desk "Permalink") - -### As an end user (issue creator)[](#as-an-end-user-issue-creator "Permalink") - -要创建服务台问题,最终用户无需了解有关 GitLab 实例的任何信息. 他们只是将电子邮件发送到给定的地址,然后收到一封确认回执的电子邮件: - -[![Service Desk enabled](img/3b8b0bcac599d7207d90ed8194bed83e.png)](img/service_desk_confirmation_email.png) - -这也使最终用户可以选择退订. - -如果他们不选择退订,那么添加到该问题的任何新评论都将作为电子邮件发送: - -[![Service Desk reply email](img/85055487485aff8bd5dc0cf97f711d52.png)](img/service_desk_reply.png) - -他们发送的所有回复都将显示在问题本身中. - -### As a responder to the issue[](#as-a-responder-to-the-issue "Permalink") - -For responders to the issue, everything works as usual. They will see a familiar looking issue tracker, where they can see issues created via customer support requests and filter and interact with them just like other GitLab issues. - -[![Service Desk Issue tracker](img/daa9468beb587bb748cbb9ec37bbb43f.png)](img/service_desk_issue_tracker.png) - -来自最终用户的消息将显示为来自特殊的支持机器人用户,但是除此之外,您可以像平常一样阅读和编写评论: - -[![Service Desk issue thread](img/1b69e9fcb692fa835e9b7e06fa856aee.png)](img/service_desk_thread.png) - -注意: - -* 项目的可见性(私有,内部,公共)不会影响 Service Desk. -* 项目的路径,包括其组或名称空间,将显示在电子邮件中. - -### Support Bot user[](#support-bot-user "Permalink") - -在后台,服务台由支持机器人的特殊用户创建问题. 该用户不计入许可证限制数. \ No newline at end of file diff --git a/docs/109.md b/docs/109.md deleted file mode 100644 index 40ab81a..0000000 --- a/docs/109.md +++ /dev/null @@ -1,23 +0,0 @@ -# Sorting and ordering issue lists - -> 原文:[https://docs.gitlab.com/ee/user/project/issues/sorting_issue_lists.html](https://docs.gitlab.com/ee/user/project/issues/sorting_issue_lists.html) - -* [Manual sorting](#manual-sorting) - -# Sorting and ordering issue lists[](#sorting-and-ordering-issue-lists "Permalink") - -您可以通过多种方式对问题列表进行排序,包括按问题创建日期,里程碑到期日期等进行排序.可用的排序选项可以根据列表的上下文进行更改. 有关按发布优先级排序的信息,请参见[标签优先级](../labels.html#label-priority) . - -在组和项目问题清单中,也可以手动订购问题,类似于[问题委员会](../issue_board.html#issue-ordering-in-a-list) . - -## Manual sorting[](#manual-sorting "Permalink") - -在 GitLab 12.2 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/62178) . - -选择" **手动**排序"时,可以通过拖放问题来更改顺序. 更改后的订单将保留. 除了某些例外,访问同一列表的每个人都将看到重新排序的列表. - -每个问题都分配有一个相对顺序值,代表其相对于列表中其他问题的相对顺序. 当您拖放问题的重新排序时,其相对顺序值也会相应更改. - -此外,任何问题出现在手动排序的列表中时,更新的相对订单值将用于订购. 这意味着,如果您的 GitLab 实例内给定列表中的任何用户将问题`A`拖放到问题`B`上方,则随后将这两个问题随后加载到同一实例的任何列表中(可能是不同的)例如项目专案清单或其他群组专案清单),即可维持订购顺序. - -此顺序还会影响[发行板](../issue_board.html#issue-ordering-in-a-list) . 更改问题列表中的顺序会更改问题面板中的顺序,反之亦然. \ No newline at end of file diff --git a/docs/110.md b/docs/110.md deleted file mode 100644 index e9eff2c..0000000 --- a/docs/110.md +++ /dev/null @@ -1,17 +0,0 @@ -# Issue weight - -> 原文:[https://docs.gitlab.com/ee/user/project/issues/issue_weight.html](https://docs.gitlab.com/ee/user/project/issues/issue_weight.html) - -# Issue weight[](#issue-weight-starter "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/76) in [GitLab Starter](https://about.gitlab.com/pricing/) 8.3. - -当您遇到很多问题时,可能很难获得概述. 通过为每个问题增加权重,您可以更好地了解给定问题要花费或花费多少时间,价值或复杂性. - -您可以通过简单地更改下拉菜单中的值来设置问题的权重. 您可以将其设置为 0、1、2 等的非负整数值. (数据库存储一个 4 字节的值,因此上限基本上是无限的). 您也可以减轻问题的负担. - -该值将显示在单个问题的右侧栏上,以及在独特的余额比例图标旁边的问题页面中. - -另外,您可以在里程碑页面上查看所有问题的总和. - -[![issue page](img/ff2558c68f4e646052a0c39a7d3f8710.png)](img/issue_weight.png) \ No newline at end of file diff --git a/docs/111.md b/docs/111.md deleted file mode 100644 index 423ea11..0000000 --- a/docs/111.md +++ /dev/null @@ -1,38 +0,0 @@ -# Associate a Zoom meeting with an issue - -> 原文:[https://docs.gitlab.com/ee/user/project/issues/associate_zoom_meeting.html](https://docs.gitlab.com/ee/user/project/issues/associate_zoom_meeting.html) - -* [Adding a zoom meeting to an issue](#adding-a-zoom-meeting-to-an-issue) -* [Removing an existing Zoom meeting from an issue](#removing-an-existing-zoom-meeting-from-an-issue) - -# Associate a Zoom meeting with an issue[](#associate-a-zoom-meeting-with-an-issue "Permalink") - -在 GitLab 12.4 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/16609) . - -为了同步进行事件管理通信,GitLab 允许将 Zoom 会议与问题相关联. 一旦开始进行消防战斗的变焦呼叫,就需要一种将电话会议与问题相关联的方法,以便您的团队成员可以快速加入而无需请求链接. - -## Adding a zoom meeting to an issue[](#adding-a-zoom-meeting-to-an-issue "Permalink") - -要将缩放会议与问题相关联,可以使用 GitLab 的[快速操作](../quick_actions.html#quick-actions-for-issues-merge-requests-and-epics) . - -在一个问题中,使用`/zoom`快速操作和有效的 Zoom 链接发表评论: - -``` -/zoom https://zoom.us/j/123456789 -``` - -如果"缩放会议 URL"有效且您至少具有" [报告者"权限](../../permissions.html) ,则系统警报将通知您会议 URL 添加成功. 该问题的描述将被自动编辑以包含"缩放"链接,并且在该问题的标题下方将出现一个按钮. - -[![Link Zoom Call in Issue](img/2b66844a710706131349b467b399b449.png)](img/zoom-quickaction-button.png) - -您只能将单个 Zoom 会议附加到一个问题. 如果您尝试使用`/zoom`快速操作添加第二个 Zoom 会议,它将无法正常工作,您需要先将其[删除](#removing-an-existing-zoom-meeting-from-an-issue) . - -## Removing an existing Zoom meeting from an issue[](#removing-an-existing-zoom-meeting-from-an-issue "Permalink") - -与添加缩放会议类似,您可以通过快速操作将其删除: - -``` -/remove_zoom -``` - -如果您至少具有[Reporter 权限](../../permissions.html) ,系统警报将通知您会议 URL 已成功删除. \ No newline at end of file diff --git a/docs/112.md b/docs/112.md deleted file mode 100644 index 51e66d4..0000000 --- a/docs/112.md +++ /dev/null @@ -1,91 +0,0 @@ -# Merge requests - -> 原文:[https://docs.gitlab.com/ee/user/project/merge_requests/](https://docs.gitlab.com/ee/user/project/merge_requests/) - -* [Use cases](#use-cases) -* [Overview](#overview) -* [Merge request navigation tabs at the top](#merge-request-navigation-tabs-at-the-top) -* [Creating merge requests](#creating-merge-requests) -* [Reviewing and managing merge requests](#reviewing-and-managing-merge-requests) -* [Testing and reports in merge requests](#testing-and-reports-in-merge-requests) -* [Authorization for merge requests](#authorization-for-merge-requests) - -# Merge requests[](#merge-requests "Permalink") - -合并请求使您可以可视化并协作对作为对指定 Git 分支的提交而存在的源代码的建议更改. - -[![Merge request view](img/44dfa1e85103f88c82598a4ef9f8d0ae.png)](img/merge_request.png) - -合并请求( **MR** )是 GitLab 作为代码协作和版本控制平台的基础. 顾名思义,它就是一个*将*一个分支*合并*到另一个分支的*请求* . - -## Use cases[](#use-cases "Permalink") - -答:考虑您是一个团队中的软件开发人员: - -1. 您签出新分支,并通过合并请求提交更改 -2. 您从团队中收集反馈 -3. 您可以使用["代码质量"报告来进行](code_quality.html)优化代码的实现 -4. 您可以在 GitLab CI / CD 中使用[JUnit 测试报告](../../../ci/junit_test_reports.html)来验证您的更改 -5. 通过" [许可证合规性"报告,](../../compliance/license_compliance/index.html)可以避免使用许可证与您的项目不兼容的依赖项 -6. 您要求您的经理[批准](merge_request_approvals.html) -7. 您的经理: - 1. 推动提交并进行最终审查 - 2. [批准合并请求](merge_request_approvals.html) - 3. 将其设置为[在管道成功时合并](merge_when_pipeline_succeeds.html) -8. 您的更改将通过[手动操作](../../../ci/yaml/README.html#whenmanual) GitLab CI / CD 部署到生产中 -9. 您的实施已成功交付给客户 - -B.考虑您是为您公司网站编写网页的 Web 开发人员: - -1. 您签出新分支,并通过合并请求提交新页面 -2. 您从审稿人那里收集反馈 -3. 您的更改将通过[Review Apps](../../../ci/review_apps/index.html)进行预览 -4. 您要求您的网页设计师实施 -5. 您要求您的经理[批准](merge_request_approvals.html) -6. 一旦批准,您的合并请求将被[压缩和合并](squash_and_merge.html) ,并[部署到带有 GitLab 页面的暂存中](https://about.gitlab.com/blog/2016/08/26/ci-deployment-and-environments/) -7. 您的生产团队[选择](cherry_pick_changes.html)合并提交到生产中 - -## Overview[](#overview "Permalink") - -合并请求(也称为" MR")显示有关建议的更改的大量信息. MR 的主体包含其描述以及其小部件(显示有关 CI / CD 管道的信息,如果存在的话),然后是与该 MR 合作的人员的讨论线程. - -MR 还包含导航选项卡,从中可以查看线程上正在进行的讨论,提交列表,管道和作业列表,代码更改以及内联代码审阅. - -首先,请阅读[合并请求简介](getting_started.html) . - -## Merge request navigation tabs at the top[](#merge-request-navigation-tabs-at-the-top "Permalink") - -在 GitLab 12.6 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/33813) . 此定位是实验性的. - -到目前为止,在合并请求窗口小部件之后,位于合并请求中以显示" **讨论区"** ," **提交"** ," **管道** "和" **更改"**的导航选项卡. - -To facilitate this navigation without having to scroll up and down through the page to find these tabs, based on user feedback, we’re experimenting with a new positioning of these tabs. They are now located at the top of the merge request, with a new **Overview** tab, containing the description of the merge request followed by the widget. Next to **Overview**, you can find **Pipelines**, **Commits**, and **Changes**. - -[![Merge request tab positions](img/9e7b70cdf92b88509713225035e8e964.png)](img/merge_request_tab_position_v12_6.png) - -请注意,此更改当前位于默认情况下启用的功能标志之后. 对于自我管理的实例,GitLab 管理员可以通过 Rails 控制台使用以下命令将其禁用: - -``` -Feature.disable(:mr_tabs_position) -``` - -## Creating merge requests[](#creating-merge-requests "Permalink") - -Learn [how to create a merge request](creating_merge_requests.html). - -## Reviewing and managing merge requests[](#reviewing-and-managing-merge-requests "Permalink") - -查看可使用的功能来[查看和管理合并请求](reviewing_and_managing_merge_requests.html) . - -## Testing and reports in merge requests[](#testing-and-reports-in-merge-requests "Permalink") - -了解有关合并请求中的[测试](testing_and_reports_in_merge_requests.html)选项[和报告](testing_and_reports_in_merge_requests.html)更改的信息. - -## Authorization for merge requests[](#authorization-for-merge-requests "Permalink") - -使用 GitLab 进行合并请求的主要方法有两种: - -1. 在单个存储库中使用[受保护的分支](../protected_branches.html) -2. 使用权威项目的分支 - -[Learn more about the authorization for merge requests.](authorization_for_merge_requests.html) \ No newline at end of file diff --git a/docs/113.md b/docs/113.md deleted file mode 100644 index 7b1fff1..0000000 --- a/docs/113.md +++ /dev/null @@ -1,61 +0,0 @@ -# Allow collaboration on merge requests across forks - -> 原文:[https://docs.gitlab.com/ee/user/project/merge_requests/allow_collaboration.html](https://docs.gitlab.com/ee/user/project/merge_requests/allow_collaboration.html) - -* [Enabling commit edits from upstream members](#enabling-commit-edits-from-upstream-members) -* [Pushing to the fork as the upstream member](#pushing-to-the-fork-as-the-upstream-member) - -# Allow collaboration on merge requests across forks[](#allow-collaboration-on-merge-requests-across-forks "Permalink") - -在 GitLab 10.6 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17395) . - -当用户从派生打开合并请求时,将为他们提供允许上游成员在源分支上与其进行协作的选项. 这使上游项目的成员可以在合并之前进行小规模修复或重新分支,从而减少了接受外部贡献的来回过程. - -此功能可用于可公开访问的分支项目之间的合并请求. - -为合并请求启用后,对项目目标分支具有合并访问权限的成员将被授予对合并请求的源分支的写权限. - -## Enabling commit edits from upstream members[](#enabling-commit-edits-from-upstream-members "Permalink") - -只有具有对源项目的推送访问权限的用户才能启用该功能,并且只有在合并请求打开时才能持续使用. 启用后,上游成员也将能够重试合并请求的管道和作业: - -1. 在创建或编辑合并请求时启用贡献. - - [![Enable contribution](img/3794ce06aeeb9528fa1a66915cc69072.png)](img/allow_collaboration.png) - -2. 创建合并请求后,您将看到允许可以合并到目标分支的成员的提交. - - [![Check that contribution is enabled](img/381cb6fd4ceed7b2a8b3642926cb8cf2.png)](img/allow_collaboration_after_save.png) - -## Pushing to the fork as the upstream member[](#pushing-to-the-fork-as-the-upstream-member "Permalink") - -如果合并请求的创建者启用了上游成员的贡献,则可以直接推送到派生存储库的分支. - -假如说: - -* 分叉的项目 URL 为`git@gitlab.com:thedude/awesome-project.git` . -* 合并请求的分支是`update-docs` . - -流程如下所示: - -1. 首先,您需要获取合并请求已引入的更改. 单击" **签出"分支**按钮,其中包含可以运行的一些预填充命令. - - [![Check out branch button](img/e9dbc908a405f57008dbb80d1b8a9a70.png)](img/checkout_button.png) - -2. 使用复制按钮复制第一个命令并将其粘贴到您的终端中: - - ``` - git fetch git@gitlab.com:thedude/awesome-project.git update-docs - git checkout -b thedude-awesome-project-update-docs FETCH_HEAD - ``` - - 这将获取派生项目的分支,然后基于所获取的分支创建本地分支. - -3. Make any changes you want and commit. -4. 推送到分叉的项目: - - ``` - git push git@gitlab.com:thedude/awesome-project.git thedude-awesome-project-update-docs:update-docs - ``` - - 注意冒号( `:`两个分支之间). 上面的命令会将本地分支`thedude-awesome-project-update-docs` `git@gitlab.com:thedude/awesome-project.git`存储库的`update-docs`分支. \ No newline at end of file diff --git a/docs/114.md b/docs/114.md deleted file mode 100644 index ac13a59..0000000 --- a/docs/114.md +++ /dev/null @@ -1,246 +0,0 @@ -# Merge Request Approvals - -> 原文:[https://docs.gitlab.com/ee/user/project/merge_requests/merge_request_approvals.html](https://docs.gitlab.com/ee/user/project/merge_requests/merge_request_approvals.html) - -* [Optional Approvals](#optional-approvals-core-only) -* [Required Approvals](#required-approvals-starter) - * [Approval Rules](#approval-rules) - * [Eligible Approvers](#eligible-approvers) - * [Implicit Approvers](#implicit-approvers) - * [Code Owners as eligible approvers](#code-owners-as-eligible-approvers) - * [Adding / editing a default approval rule](#adding--editing-a-default-approval-rule) - * [Editing / overriding approval rules per merge request](#editing--overriding-approval-rules-per-merge-request) - * [Multiple approval rules](#multiple-approval-rules-premium) - * [Scoped to Protected Branch](#scoped-to-protected-branch-premium) - * [Adding or removing an approval](#adding-or-removing-an-approval) - * [Merge request approvals project settings](#merge-request-approvals-project-settings) - * [Prevent overriding default approvals](#prevent-overriding-default-approvals) - * [Resetting approvals on push](#resetting-approvals-on-push) - * [Allowing merge request authors to approve their own merge requests](#allowing-merge-request-authors-to-approve-their-own-merge-requests) - * [Prevent approval of merge requests by their committers](#prevent-approval-of-merge-requests-by-their-committers) - * [Require authentication when approving a merge request](#require-authentication-when-approving-a-merge-request) - * [Security approvals in merge requests](#security-approvals-in-merge-requests-ultimate) - * [Enabling the new approvals interface](#enabling-the-new-approvals-interface) - -# Merge Request Approvals[](#merge-request-approvals "Permalink") - -代码审查是每个成功项目的基本实践,一旦合并请求状态良好,就需要您的批准,这是审查过程的重要组成部分,因为它清楚地传达了合并变更的能力. - -## Optional Approvals[](#optional-approvals-core-only "Permalink") - -在[GitLab Core 13.2 中](https://gitlab.com/gitlab-org/gitlab/-/issues/27426)引入. - -具有开发者[权限](../../permissions.html)或更高[权限的](../../permissions.html)任何用户都可以在 GitLab Core 中批准合并请求. 这为审阅者提供了一种一致的机制来提供批准,并使维护者更容易知道何时可以合并更改. Core 中的批准是可选的,并且在没有批准的情况下不会阻止合并请求的合并. - -## Required Approvals[](#required-approvals-starter "Permalink") - -在[GitLab 企业版 7.12 中](https://about.gitlab.com/releases/2015/06/22/gitlab-7-12-released/#merge-request-approvers-ee-only)引入. - -必需的批准通过要求指定的人在可以合并的合并请求之前批准,可以强制执行代码审查. - -所需的批准可启用多个用例: - -* 强制审查所有合并到存储库中的代码. -* 通过[批准规则](#approval-rules)指定给定提议的代码更改的审核者,以及最少数量的审核者. -* 为所有建议的代码更改指定审阅者的类别,例如后端,前端,质量保证,数据库等. -* 由合并请求中更改的文件确定,自动将[代码所有者](#code-owners-as-eligible-approvers)指定[为合格的批准者](#code-owners-as-eligible-approvers) . -* 在合并可能引入漏洞的代码之前, [需要获得安全团队的批准](#security-approvals-in-merge-requests-ultimate) . - -### Approval Rules[](#approval-rules "Permalink") - -批准规则定义了合并请求在可以合并之前必须获得多少个批准,以及可选地应该由哪些用户进行批准. 可以定义批准: - -* [As project defaults](#adding--editing-a-default-approval-rule). -* [Per merge request](#editing--overriding-approval-rules-per-merge-request). - -如果未定义批准规则,则任何用户都可以批准合并请求,尽管仍可以在[项目设置中为合并请求批准设置](#merge-request-approvals-project-settings)所需批准者的默认最小数量. - -批准规则定义了合并请求在可以合并之前必须获得多少个批准,以及可选地应该由哪些用户进行批准. 可以定义批准: - -* [As project defaults](#adding--editing-a-default-approval-rule). -* [Per merge request](#editing--overriding-approval-rules-per-merge-request). - -如果未定义批准规则,则任何用户都可以批准合并请求,尽管仍可以在[项目设置中为合并请求批准设置](#merge-request-approvals-project-settings)所需批准者的默认最小数量. - -#### Eligible Approvers[](#eligible-approvers "Permalink") - -以下用户可以批准合并请求: - -* 在项目中被添加为批准者的用户,或将请求级别与开发者或更高[权限](../../permissions.html)合并的[用户](../../permissions.html) . -* 由合并请求更改的具有开发人员或更高[权限](../../permissions.html)的文件的[代码所有者](#code-owners-as-eligible-approvers) . - -如果单个用户是以下成员的成员,则可以将其添加为项目的批准者: - -* 该项目. -* 该项目的直接上级组. -* 可以通过[共享](../members/share_project_with_groups.html)访问项目的组. - -也可以将一组用户添加为批准者. 将来,小组批准者可能只[限于对项目具有共享访问权限的小组](https://gitlab.com/gitlab-org/gitlab/-/issues/2048) . - -如果将用户添加为个人批准者,并且也是组批准者的一部分,则该用户仅被计数一次. 如果在项目设置上启用了" [**阻止作者批准"**](#allowing-merge-request-authors-to-approve-their-own-merge-requests) (默认情况下启用)和" [**阻止提交者批准"**](#prevent-approval-of-merge-requests-by-their-committers) (默认情况下禁用),则合并请求作者以及已提交合并请求的用户均不算作合格批准者. - -##### Implicit Approvers[](#implicit-approvers "Permalink") - -如果所需批准的数量大于分配的批准者的数量,则来自其他用户的批准将计入满足要求. 这些将是在项目中具有开发人员[权限](../../permissions.html)或更高[权限的](../../permissions.html)用户,但未在批准规则中明确列出. - -##### Code Owners as eligible approvers[](#code-owners-as-eligible-approvers "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/7933) in [GitLab Starter](https://about.gitlab.com/pricing/) 11.5. - -如果将[代码所有者](../code_owners.html)添加到存储库中,则相应文件的所有者将与具有 Developer 或更高[权限的](../../permissions.html)成员一起成为合格的批准者. - -要启用此合并请求批准规则: - -1. 导航到项目的**"设置">"常规",**然后展开" **合并请求批准"** . -2. 找到**任何合格的用户,**然后选择所需的批准数量. - -[![MR approvals by Code Owners](img/6a2d24148988c584ff47ac7c526b48ff.png)](img/mr_approvals_by_code_owners_v12_7.png) - -设置后,合并请求只能在您设置的批准数量批准后才能合并. manbetx 客户端打不开将毫无区别地接受来自具有开发者或更高权限的用户以及代码所有者的批准. - -或者,您可以**要求** [保护所有者的代码所有者批准](../protected_branches.html#protected-branches-approval-by-code-owners-premium) . - -#### Adding / editing a default approval rule[](#adding--editing-a-default-approval-rule "Permalink") - -要添加或编辑默认的合并请求批准规则: - -1. 导航到您项目的 **设置>常规,**然后展开**合并请求批准** . - -2. 单击**添加批准规则** ,或单击**编辑** . - * 添加或更改**规则名称** . - * 设置**所需的批准号**所需的批准数量. 最小值是`0` . - * (可选)搜索有[资格批准](#eligible-approvers)合并请求的用户或组,然后单击" **添加"**按钮将其添加为批准者. 在搜索字段中键入之前,将根据合并请求更改的文件的先前作者来建议批准者. - * (可选)点击 组或用户旁边的" **删除"**按钮可将其从规则中删除. -3. Click **添加批准规则** or **更新批准规则**. - -在更改规则之前创建的任何合并请求都不会更改. 他们将保留原始批准规则,除非手动[覆盖](#editing--overriding-approval-rules-per-merge-request) . - -**注意:**如果合并请求的目标是其他项目,例如从分支到上游项目,则默认批准规则将从目标(上游)项目而不是源(叉子)获取. - -##### Editing / overriding approval rules per merge request[](#editing--overriding-approval-rules-per-merge-request "Permalink") - -在 GitLab 企业版 9.4 中引入. - -默认情况下,MR 作者或具有足够[权限](../../permissions.html)的用户可以编辑每个合并请求(MR)中列出的合并请求批准规则. 可以在[合并请求批准设置中](#prevent-overriding-default-approvals)禁用此功能. - -一种可能的情况是添加比默认设置中定义更多的批准者. - -创建或编辑合并请求时,请找到" **批准规则"**部分,然后按照与[添加/编辑默认批准规则](#adding--editing-a-default-approval-rule)相同的步骤进行操作. - -#### Multiple approval rules[](#multiple-approval-rules-premium "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/1979) in [GitLab Premium](https://about.gitlab.com/pricing/) 11.10. - -在 GitLab Premium 中,每个合并请求可以有多个批准规则,每个项目可以有多个默认批准规则. - -添加或编辑多个默认规则与[添加或编辑单个默认批准规则相同](#adding--editing-a-default-approval-rule) ,不同之处在于,即使已经定义了规则," **添加批准规则"**按钮仍可用于添加更多规则. - -同样,每个合并请求中编辑或覆盖多个批准规则与每个合并请求中[编辑或覆盖批准规则](#editing--overriding-approval-rules-per-merge-request)相同,只是即使已定义一个规则," **添加批准规则"**按钮仍可用于添加更多规则. - -当[合格的批准人](#eligible-approvers)批准合并请求时,它将减少批准人所属的所有规则的剩余批准数. - -[![Approvals premium merge request widget](img/b1b6eda7a121cb284375e6c83317263d.png)](img/approvals_premium_mr_widget_v12_7.png) - -#### Scoped to Protected Branch[](#scoped-to-protected-branch-premium "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/460) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.8. - -批准规则通常仅与特定分支(例如`master` . 在配置[**默认批准规则时,**](#adding--editing-a-default-approval-rule)可以通过导航到项目的**"设置"** ,展开" **合并请求批准"** ,然后从" **目标"分支**下拉列表中选择" **任何"分支** ,将这些作用域一下子作用于所有受保护的分支. - -或者,您可以从" **目标"分支**下拉列表中选择一个非常特定的受保护分支: - -[![Scoped to Protected Branch](img/439a9c21f68de25b8a16d0d0a28d19be.png)](img/scoped_to_protected_branch_v12_8.png) - -要启用此配置,请参阅[代码所有者对受保护分支的批准](../protected_branches.html#protected-branches-approval-by-code-owners-premium) . - -### Adding or removing an approval[](#adding-or-removing-an-approval "Permalink") - -当[合格的批准者](#eligible-approvers)访问一个开放合并请求时,可能是以下之一: - -* 如果所需的批准数目*尚未*满足,他们可以通过点击批准它显示的**批准**按钮. - - [![Approve](img/45cc34490ebcb0a656d7c57d3dcbbb00.png)](img/approve.png) - -* 如果已经满足所需的批准数量,则他们仍然可以通过单击显示的**"额外批准"**按钮来**批准** . - - [![Add approval](img/a3b1935e9fe6f6222ef3200715c2f595.png)](img/approve_additionally.png) - -* **他们已经批准了此合并请求** :他们可以删除他们的批准. - - [![Remove approval](img/aabf40f234d995e031a5a1a0f66b5905.png)](img/remove_approval.png) - -**注意:**如果在项目设置中启用了" [**阻止作者批准",**](#allowing-merge-request-authors-to-approve-their-own-merge-requests)则不允许合并请求作者批准自己的合并请求. - -满足批准规则后,如果没有其他阻止请求,则可以合并合并请求. 请注意,合并请求仍可能被其他条件阻止,例如合并冲突, [挂起的讨论](../../discussions/index.html#only-allow-merge-requests-to-be-merged-if-all-threads-are-resolved)或[失败的 CI / CD 管道](merge_when_pipeline_succeeds.html) . - -### Merge request approvals project settings[](#merge-request-approvals-project-settings "Permalink") - -可以通过以下步骤找到合并请求批准的项目设置: **设置>常规**和扩展**合并请求批准** . - -#### Prevent overriding default approvals[](#prevent-overriding-default-approvals "Permalink") - -默认情况下,用户可以在合并请求中编辑批准规则. 如果禁用,则所有新合并请求的[批准规则](#adding--editing-a-default-approval-rule)将由[默认批准规则](#adding--editing-a-default-approval-rule)确定. 要禁用此功能: - -1. 取消选中**可以覆盖每个合并请求所需的批准人和批准**复选框. -2. Click **保存更改**. - -#### Resetting approvals on push[](#resetting-approvals-on-push "Permalink") - -当新的提交被推送到合并请求的源分支时,您可以强制删除对合并请求的所有批准. 如果禁用,则即使合并请求中添加了更改,批准也将持续. 要启用此功能: - -1. Check the **将新提交推送到其源分支时,删除合并请求中的所有批准** checkbox. -2. Click **保存更改**. - -**注意:**重新定义来自 UI [的合并请求](fast_forward_merge.html)时,批准不会重置. 但是,如果更改了目标分支,则批准将被重置. - -#### Allowing merge request authors to approve their own merge requests[](#allowing-merge-request-authors-to-approve-their-own-merge-requests "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/3349) in [GitLab Starter](https://about.gitlab.com/pricing/) 11.3. - -您可以允许合并请求作者自行批准合并请求. 作者也必须包含在批准者列表中,以便能够批准其合并请求. 要启用此功能: - -1. 取消选中" **阻止合并请求作者批准合并请求"**复选框,默认情况下启用此复选框. -2. Click **保存更改**. - -#### Prevent approval of merge requests by their committers[](#prevent-approval-of-merge-requests-by-their-committers "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/10441) in [GitLab Starter](https://about.gitlab.com/pricing/) 11.10. - -您可以阻止已提交合并请求的用户批准它. 要启用此功能: - -1. 选中**阻止提交者批准合并请求**复选框. -2. Click **保存更改**. - -#### Require authentication when approving a merge request[](#require-authentication-when-approving-a-merge-request "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/5981) in [GitLab Starter](https://about.gitlab.com/pricing/) 12.0. - -**注意:**要在批准合并请求时要求身份验证,必须在[登录限制](../../admin_area/settings/sign_in_restrictions.html#password-authentication-enabled)下**启用为 Web 界面**启用的**密码身份验证** . 在管理区域中. - -您可以强制批准者输入密码以进行身份​​验证,然后再添加批准. 这使电子签名能够获得批准,例如[CFR Part 11](https://www.accessdata.fda.gov/scripts/cdrh/cfdocs/cfcfr/CFRSearch.cfm?CFRPart=11&showFR=1&subpartNode=21:1.0.1.1.8.3)所定义的签名. 要启用此功能: - -1. 选中**需要用户密码批准**复选框. -2. Click **保存更改**. - -### Security approvals in merge requests[](#security-approvals-in-merge-requests-ultimate "Permalink") - -可以将合并请求批准配置为在合并请求引入漏洞时需要安全团队成员的批准. - -有关更多信息,请参见[合并请求中的安全性批准](../../application_security/index.html#security-approvals-in-merge-requests) . - -### Enabling the new approvals interface[](#enabling-the-new-approvals-interface "Permalink") - -从[GitLab v12.0 开始](https://gitlab.com/gitlab-org/gitlab/-/issues/10685) ,默认情况下会提供更新的批准界面. 在 12.0 之前的版本中,除非启用了`approval_rules`功能标志,否则更新的界面不可用,这可由实例管理员从 Rails 控制台中完成. - -使用以下命令来启动 Rails 控制台: - -``` -# Omnibus GitLab -gitlab-rails console - -# Installation from source -cd /home/git/gitlab -sudo -u git -H bin/rails console -e production -``` - -然后运行`Feature.enable(:approval_rules)`以启用更新的界面. \ No newline at end of file diff --git a/docs/115.md b/docs/115.md deleted file mode 100644 index f77f4cd..0000000 --- a/docs/115.md +++ /dev/null @@ -1,203 +0,0 @@ -# Browser Performance Testing - -> 原文:[https://docs.gitlab.com/ee/user/project/merge_requests/browser_performance_testing.html](https://docs.gitlab.com/ee/user/project/merge_requests/browser_performance_testing.html) - -* [Overview](#overview) -* [Use cases](#use-cases) -* [How browser performance testing works](#how-browser-performance-testing-works) -* [Configuring Browser Performance Testing](#configuring-browser-performance-testing) - * [Configuring degradation threshold](#configuring-degradation-threshold) - * [Performance testing on Review Apps](#performance-testing-on-review-apps) - * [GitLab versions 12.3 and older](#gitlab-versions-123-and-older) - -# Browser Performance Testing[](#browser-performance-testing-premium "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/3507) in [GitLab Premium](https://about.gitlab.com/pricing/) 10.3. - -如果您的应用程序提供 Web 界面,并且您正在使用[GitLab CI / CD](../../../ci/README.html) ,则可以快速确定浏览器中待处理代码更改对渲染性能的影响. - -## Overview[](#overview "Permalink") - -GitLab 使用[Sitespeed.io](https://www.sitespeed.io) (一种免费的开源工具)来测量网站的渲染性能. GitLab 构建的[Sitespeed 插件](https://gitlab.com/gitlab-org/gl-performance)在名为`browser-performance.json`的文件中输出所分析的每个页面的性能得分,该数据可以显示在合并请求中. - -## Use cases[](#use-cases "Permalink") - -考虑以下工作流程: - -1. 营销团队的成员正在尝试通过添加新工具来跟踪参与度. -2. 通过浏览器性能指标,他们可以看到他们的更改如何影响最终用户页面的可用性. -3. 指标显示,更改后,页面的性能得分有所下降. -4. 查看详细报告时,他们看到`<head>`包含了新的 JavaScript 库,这会影响加载页面的速度. -5. 他们向前端开发人员寻求帮助,他们将库设置为异步加载. -6. 前端开发人员批准合并请求,并授权将其部署到生产中. - -## How browser performance testing works[](#how-browser-performance-testing-works "Permalink") - -首先,在`.gitlab-ci.yml`文件中定义一个生成[浏览器性能报告工件的作业](../../../ci/pipelines/job_artifacts.html#artifactsreportsperformance-premium) . 然后,GitLab 会检查此报告,比较源分支和目标分支之间每一页的关键性能指标,并在合并请求中显示信息. - -有关性能作业的示例,请参阅" [配置浏览器性能测试"](#configuring-browser-performance-testing) . - -**注意:**如果"浏览器性能"报告没有可比较的数据,例如,当您第一次在`.gitlab-ci.yml`添加"浏览器性能"作业时,"浏览器性能"报告小部件将不会显示. 它必须在目标分支(例如`master` )上至少运行一次,然后才能在针对该分支的合并请求中显示. - -[![Browser Performance Widget](img/c7a5bc700a43a5880572c7f8cc0acdc7.png)](img/browser_performance_testing.png) - -## Configuring Browser Performance Testing[](#configuring-browser-performance-testing "Permalink") - -这个例子显示如何运行[sitespeed.io 容器](https://hub.docker.com/r/sitespeedio/sitespeed.io/)使用 GitLab CI / CD 上的代码和[sitespeed.io](https://www.sitespeed.io)使用泊坞窗功能于泊坞窗. - -1. 首先,使用[Docker-in-Docker 构建](../../../ci/docker/using_docker_build.html#use-docker-in-docker-workflow-with-docker-executor)设置 GitLab Runner. -2. 在`.gitlab-ci.yml`文件中,按如下所示配置默认的浏览器性能测试 CI 作业: - - ``` - include: - template: Verify/Browser-Performance.gitlab-ci.yml - - performance: - variables: - URL: https://example.com - ``` - -**注意:**对于 12.4 之前的版本,请参阅[旧版 GitLab](#gitlab-versions-123-and-older)的信息. 如果您正在使用 Kubernetes 集群,请使用[`template: Jobs/Browser-Performance-Testing.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Jobs/Browser-Performance-Testing.gitlab-ci.yml) . - -上面的示例在 CI / CD 管道中创建了一个`performance`作业,并针对您在`URL`定义的网页运行 sitespeed.io 以收集关键指标. - -该示例使用的 CI / CD 模板自 12.4 起已包含在所有 GitLab 安装中,但不适用于 Kubernetes 集群. 如果您使用的是 GitLab 12.3 或更早版本,则必须[手动添加配置](#gitlab-versions-123-and-older) - -该模板将[GitLab 插件用于 sitespeed.io](https://gitlab.com/gitlab-org/gl-performance) ,并将完整的 HTML sitespeed.io 报告保存为" [浏览器性能"报告工件](../../../ci/pipelines/job_artifacts.html#artifactsreportsperformance-premium) ,您可以稍后下载和分析该[工件](../../../ci/pipelines/job_artifacts.html#artifactsreportsperformance-premium) . 此实现始终采用最新的浏览器性能工件. 如果启用了[GitLab Pages,](../pages/index.html)则可以直接在浏览器中查看报告. - -您还可以使用环境变量自定义作业: - -* `SITESPEED_IMAGE` :配置要用于作业的 Docker 映像(默认为`sitespeedio/sitespeed.io` ),而不是映像版本. -* `SITESPEED_VERSION` :配置要用于作业的 Docker 映像的版本(默认`13.3.0` ). -* `SITESPEED_OPTIONS` :根据需要配置任何其他 sitespeed.io 选项(默认为`nil` ). 有关更多详细信息,请参阅[sitespeed.io 文档](https://www.sitespeed.io/documentation/sitespeed.io/configuration/) . - -For example, you can override the number of runs sitespeed.io makes on the given URL, and change the version: - -``` -include: - template: Verify/Browser-Performance.gitlab-ci.yml - -performance: - variables: - URL: https://www.sitespeed.io/ - SITESPEED_VERSION: 13.2.0 - SITESPEED_OPTIONS: -n 5 -``` - -### Configuring degradation threshold[](#configuring-degradation-threshold "Permalink") - -在 GitLab 13.0 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/27599) . - -您可以配置降级警报的敏感度,以避免针对度量指标的小幅下降获得警报. 这是通过设置`DEGRADATION_THRESHOLD`变量来完成的. 在以下示例中,仅当" `Total Score`指标下降 5 分或更多时,才会显示警报: - -``` -include: - template: Verify/Browser-Performance.gitlab-ci.yml - -performance: - variables: - URL: https://example.com - DEGRADATION_THRESHOLD: 5 -``` - -`Total Score`指标基于 sitespeed.io 的[教练表现得分](https://www.sitespeed.io/documentation/sitespeed.io/metrics/#performance-score) . 在[教练文档中](https://www.sitespeed.io/documentation/coach/how-to/#what-do-the-coach-do)有更多信息. - -### Performance testing on Review Apps[](#performance-testing-on-review-apps "Permalink") - -上面的 CI YAML 配置非常适合在静态环境下进行测试,并且可以扩展为动态环境,但是还需要一些额外的步骤: - -1. `performance`作业应在动态环境启动后运行. -2. 在`review`工作中: - 1. 生成带有动态 URL 的 URL 列表文件. - 2. 将文件另存为工件,例如,在作业`script`使用`echo $CI_ENVIRONMENT_URL > environment_url.txt` . - 3. 将列表作为 URL 环境变量(可以是 URL 或包含 URL 的文件)传递给`performance`作业. -3. 现在,您可以针对所需的主机名和路径运行 sitespeed.io 容器. - -您的`.gitlab-ci.yml`文件如下所示: - -``` -stages: - - deploy - - performance - -include: - template: Verify/Browser-Performance.gitlab-ci.yml - -review: - stage: deploy - environment: - name: review/$CI_COMMIT_REF_SLUG - url: http://$CI_COMMIT_REF_SLUG.$APPS_DOMAIN - script: - - run_deploy_script - - echo $CI_ENVIRONMENT_URL > environment_url.txt - artifacts: - paths: - - environment_url.txt - only: - - branches - except: - - master - -performance: - dependencies: - - review - variables: - URL: environment_url.txt -``` - -### GitLab versions 12.3 and older[](#gitlab-versions-123-and-older "Permalink") - -自推出以来,浏览器性能测试经历了几处更改. 在本节中,我们将详细介绍这些更改以及如何基于 GitLab 版本运行测试: - -* 在 GitLab 12.4 中提供[了一个工作模板](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Verify/Browser-Performance.gitlab-ci.yml) . -* 在 13.2 中,使用其他模板变量将该功能从`Performance`重命名为`Browser Performance` . 出于兼容性原因,模板中的作业名称仍然是`performance` ,但可以在以后的迭代中重命名以匹配. -* 对于 11.5 至 12.3,没有可用的模板,必须按以下方式手动定义作业: - -``` -performance: - stage: performance - image: docker:git - variables: - URL: https://example.com - SITESPEED_VERSION: 13.3.0 - SITESPEED_OPTIONS: '' - services: - - docker:stable-dind - script: - - mkdir gitlab-exporter - - wget -O ./gitlab-exporter/index.js https://gitlab.com/gitlab-org/gl-performance/raw/master/index.js - - mkdir sitespeed-results - - docker run --shm-size=1g --rm -v "$(pwd)":/sitespeed.io sitespeedio/sitespeed.io:$SITESPEED_VERSION --plugins.add ./gitlab-exporter --outputFolder sitespeed-results $URL $SITESPEED_OPTIONS - - mv sitespeed-results/data/performance.json performance.json - artifacts: - paths: - - performance.json - - sitespeed-results/ - reports: - performance: performance.json -``` - -* 对于 11.4 和更早版本,应按以下方式定义作业: - -``` -performance: - stage: performance - image: docker:git - variables: - URL: https://example.com - services: - - docker:stable-dind - script: - - mkdir gitlab-exporter - - wget -O ./gitlab-exporter/index.js https://gitlab.com/gitlab-org/gl-performance/raw/master/index.js - - mkdir sitespeed-results - - docker run --shm-size=1g --rm -v "$(pwd)":/sitespeed.io sitespeedio/sitespeed.io:6.3.1 --plugins.add ./gitlab-exporter --outputFolder sitespeed-results $URL - - mv sitespeed-results/data/performance.json performance.json - artifacts: - paths: - - performance.json - - sitespeed-results/ -``` - -建议升级到最新版本并使用模板,以确保您收到最新更新,包括对 sitespeed.io 版本的更新. \ No newline at end of file diff --git a/docs/116.md b/docs/116.md deleted file mode 100644 index 0a97cf1..0000000 --- a/docs/116.md +++ /dev/null @@ -1,160 +0,0 @@ -# How to create a merge request - -> 原文:[https://docs.gitlab.com/ee/user/project/merge_requests/creating_merge_requests.html](https://docs.gitlab.com/ee/user/project/merge_requests/creating_merge_requests.html) - -* [New Merge Request page](#new-merge-request-page) -* [Create Merge Request button](#create-merge-request-button) -* [New merge request by adding, editing, and uploading a file](#new-merge-request-by-adding-editing-and-uploading-a-file) -* [New merge request from a new branch created through the UI](#new-merge-request-from-a-new-branch-created-through-the-ui) -* [New merge request from your local environment](#new-merge-request-from-your-local-environment) -* [New merge request from an issue](#new-merge-request-from-an-issue) -* [New merge request from the Merge Requests page](#new-merge-request-from-the-merge-requests-page) -* [New merge request from a fork](#new-merge-request-from-a-fork) -* [New merge request by email](#new-merge-request-by-email-core-only) - * [Adding patches when creating a merge request via e-mail](#adding-patches-when-creating-a-merge-request-via-e-mail) -* [Reviewing and managing Merge Requests](#reviewing-and-managing-merge-requests) - -# How to create a merge request[](#how-to-create-a-merge-request "Permalink") - -在创建合并请求之前,请通读"合并请求"的[简介,](getting_started.html)以熟悉概念,术语并了解如何使用它们. - -每个合并请求都从创建一个分支开始. 您可以通过[命令行](#new-merge-request-from-your-local-environment) ,Git CLI 应用程序或[GitLab UI](#new-merge-request-from-a-new-branch-created-through-the-ui)在本地进行操作. - -本文档介绍了创建合并请求的几种方法. - -启动新的合并请求时,无论使用哪种方法,都将转到" [**新合并请求"**页面,](#new-merge-request-page)以在其中添加有关合并请求的信息. - -如果将新分支推送到 GitLab,也不管使用哪种方法,都可以单击[**Create Merge Request**](#create-merge-request-button)按钮并从此处启动合并请求. - -## New Merge Request page[](#new-merge-request-page "Permalink") - -在" **新合并请求"**页面上,首先填写**合并请求**的标题和描述. 如果分支上已经有提交,则标题将用第一条提交消息的第一行预填充,描述将用提交消息中的任何其他行预填充. 在所有情况下,标题都是唯一的必填字段. - -在此处,您可以在其中填充信息(标题,描述,受让人,里程碑,标签,批准人),然后点击**创建合并请求** . - -在初始屏幕上,您还可以查看提交合并请求之前推送到分支的所有提交,管道和文件更改. - -[![New Merge Request page](img/9255a795b62eb0bbe1c91eab2f85c149.png)](img/new_merge_request_page_v12_6.png) - -**提示:**您可以在创建合并请求之前将一次或多次推送到 GitLab 中的分支. - -## Create Merge Request button[](#create-merge-request-button "Permalink") - -将新分支推送到 GitLab 后,请访问 GitLab 中的存储库,并在屏幕顶​​部看到一个号召性用语,您可以从中单击**创建合并请求**按钮. - -[![Create Merge Request button](img/2257f7989872604ba6ce6506ba811b15.png)](img/create_merge_request_button_v12_6.png) - -您还可以在以下页面的右上方看到" **创建合并请求"**按钮: - -* **Project** page. -* **资料库>文件** page. -* **合并请求** page. - -In this case, GitLab will use the most recent branch you pushed changes to as the source branch, and the default branch in the current project as the target. - -## New merge request by adding, editing, and uploading a file[](#new-merge-request-by-adding-editing-and-uploading-a-file "Permalink") - -当您选择通过 GitLab UI 编辑,添加或上传文件时,在文件末尾,您会看到以下选项:添加**Commit 消息** ,选择该**提交**的**Target 分支** ,然后选中**Start new**复选框. **具有这些更改的合并请求** . - -同样,如果通过 Web IDE 更改文件,则在左侧边栏中导航到" **提交"**时,将看到这些相同的选项. - -添加,编辑或上传文件后,请执行以下操作: - -1. 在提交消息中描述您的更改. -2. 选择一个现有分支以将您的提交添加到其中,或者,如果您想创建一个新分支,请键入新的分支名称(不带空格,大写字母或特殊字符). -3. 保持选中复选框以立即开始新的合并请求,或者取消选中该复选框以在开始合并请求之前向该分支添加更多更改. -4. Click **提交变更**. - -如果您选择开始合并请求,则将转到" [**新合并请求"**页面](#new-merge-request-page) ,您可以在其中填写信息并提交合并请求. - -合并请求将针对存储库的默认分支. 如果要更改它,可以稍后通过编辑合并请求来进行更改. - -## New merge request from a new branch created through the UI[](#new-merge-request-from-a-new-branch-created-through-the-ui "Permalink") - -要通过 GitLab UI 快速开始处理文件,请导航至项目的" **存储库">"分支"** ,然后单击" **新建分支"** . 将创建一个新分支,您可以开始编辑文件. - -提交并推送后,您可以单击" [**创建合并请求"**](#create-merge-request-button)按钮以打开" [**新合并请求"**页面](#new-merge-request-page) . 将使用当前分支作为源,并使用当前项目中的默认分支作为目标来启动新的合并请求. - -## New merge request from your local environment[](#new-merge-request-from-your-local-environment "Permalink") - -假设您已将存储库克隆到计算机中,并且想要开始处理文件更改,请先创建并签出一个新分支: - -``` -git checkout -b my-new-branch -``` - -处理文件更改,暂存并提交它们: - -``` -git add . -git commit -m "My commit message" -``` - -完成后, [将分支推送到 GitLab](../../../gitlab-basics/start-using-git.html#send-changes-to-gitlabcom) : - -``` -git push origin my-new-branch -``` - -在输出中,GitLab 将提示您一个直接链接来创建合并请求: - -``` -... -remote: To create a merge request for docs-new-merge-request, visit: -remote: https://gitlab-instance.com/my-group/my-project/merge_requests/new?merge_request%5Bsource_branch%5D=my-new-branch -``` - -复制该链接并将其粘贴到浏览器中,将显示" [**新合并请求"页面**](#new-merge-request-page) . - -在[通过命令行推送时](../push_options.html) , [还可以向命令添加](../push_options.html)一些[标志,](../push_options.html)以减少通过 UI 手动编辑合并请求的需要. - -如果您没有通过命令行将分支推送到 GitLab(例如,您使用 Git CLI 应用程序来推送更改),则可以通过单击" [**创建合并请求"**](#create-merge-request-button)按钮通过 GitLab UI [**创建合并请求**](#create-merge-request-button) . - -## New merge request from an issue[](#new-merge-request-from-an-issue "Permalink") - -您也可以[直接从 issue 创建一个新的合并请求](../repository/web_editor.html#create-a-new-branch-from-an-issue) . - -## New merge request from the Merge Requests page[](#new-merge-request-from-the-merge-requests-page "Permalink") - -您可以通过在项目中的" **合并请求"**页面上单击" **新建合并请求"**按钮来开始创建新的合并请求. 然后选择包含更改的源项目和分支,以及要将更改合并到的目标项目和分支. 单击**比较分支,然后继续**转到" [**新合并请求"**页面](#new-merge-request-page)并填写详细信息. - -## New merge request from a fork[](#new-merge-request-from-a-fork "Permalink") - -分叉项目并应用本地更改后,请完成以下步骤,从您的 fork 创建一个合并请求以贡献回主项目: - -1. 转到**项目>您的项目,**然后选择存储库的分支. -2. 在左侧菜单中,转到**合并请求** ,然后点击**新建合并请求** . -3. 在" **源分支"**下拉列表框中,在分支的存储库中选择您的分支作为源分支. -4. 在" **目标分支"**下拉列表框中,从上游存储库中选择分支作为目标分支. -5. 输入凭据后,单击" **比较分支",然后继续**将本地更改与上游存储库进行比较. -6. 分配用户以查看您的更改,然后点击**提交合并请求** . - -合并更改后,您的更改将按照规范添加到上游存储库和分支中. 合并工作后,如果您不想对上游项目做出任何其他贡献,则可以通过[删除分支关系](../settings/index.html#removing-a-fork-relationship) ,在**Settings> Advanced Settings**部分[中将 fork 与](../settings/index.html#removing-a-fork-relationship)上游项目断开链接. - -有关更多详细信息, [请参阅分叉工作流文档](../repository/forking_workflow.html) . - -## New merge request by email[](#new-merge-request-by-email-core-only "Permalink") - -*要使用此功能,需要由 GitLab 管理员配置[传入电子邮件](../../../administration/incoming_email.html)才能使用.* 它在 GitLab.com 中不可用. - -您可以通过将电子邮件发送到特定于用户的电子邮件地址来创建新的合并请求. 通过单击**将新的合并请求**通过**电子邮件发送到该项目**按钮,可以在合并请求页面上获取地址. 该主题将用作新合并请求的源分支名称,而目标分支将是项目的默认分支. 消息正文(如果不为空)将用作合并请求描述. 您需要启用["通过电子邮件回复"](../../../administration/reply_by_email.html)才能使用此功能. 如果您的实例未启用它,则可以要求您的 GitLab 管理员这样做. - -这是一个私人电子邮件地址,仅为您生成. **将其保存在自己**手中,因为拥有它的任何人都可以像您一样创建问题或合并请求. 您可以将此地址添加到您的联系人列表中以便于访问. - -[![Create new merge requests by email](img/4f0a47acf91c1135738d76e1c06eec3a.png)](img/create_from_email.png) - -*在 GitLab 11.7 中,我们更新了生成的电子邮件地址的格式. 但是,仍支持较旧的格式,从而允许现有别名或联系人继续工作.* - -### Adding patches when creating a merge request via e-mail[](#adding-patches-when-creating-a-merge-request-via-e-mail "Permalink") - -在 GitLab 11.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/22723) . - -您可以通过将补丁添加为电子邮件的附件,将提交添加到正在创建的合并请求中. 文件名以`.patch`结尾的所有附件都将被视为补丁程序,并将按名称顺序对其进行处理. - -补丁的总大小可以是 2MB. - -如果主题的源分支不存在,那么将从存储库的 HEAD 或指定的目标分支创建源分支以应用补丁. 可以使用[`/target_branch`快速操作](../quick_actions.html)指定目标分支. 如果源分支已经存在,则将在其顶部应用补丁. - -## Reviewing and managing Merge Requests[](#reviewing-and-managing-merge-requests "Permalink") - -提交合并请求后,可以通过 GitLab 进行[审查和管理](reviewing_and_managing_merge_requests.html) . \ No newline at end of file diff --git a/docs/117.md b/docs/117.md deleted file mode 100644 index 685f2f2..0000000 --- a/docs/117.md +++ /dev/null @@ -1,50 +0,0 @@ -# Cherry-pick changes - -> 原文:[https://docs.gitlab.com/ee/user/project/merge_requests/cherry_pick_changes.html](https://docs.gitlab.com/ee/user/project/merge_requests/cherry_pick_changes.html) - -* [Cherry-picking a merge request](#cherry-picking-a-merge-request) - * [Cherry-pick tracking](#cherry-pick-tracking) -* [Cherry-picking a commit](#cherry-picking-a-commit) - -# Cherry-pick changes[](#cherry-pick-changes "Permalink") - -GitLab 实现了 Git 的强大功能,通过在合并请求和提交详细信息中引入**Cherry-pick**按钮来[挑选任何提交](https://git-scm.com/docs/git-cherry-pick "Git Cherry-Pick 文档") . - -## Cherry-picking a merge request[](#cherry-picking-a-merge-request "Permalink") - -合并请求合并后,将可以使用**Cherry-pick**按钮来选择该合并请求引入的更改. - -[![Cherry-pick Merge Request](img/fe7d77556848be98a93c7b6516b0e6f8.png)](img/cherry_pick_changes_mr.png) - -单击该按钮后,将出现一个模态,显示一个[分支过滤器搜索框](../repository/branches/index.html#branch-filter-search-box) ,您可以在其中选择: - -* 将更改直接选择到所选分支中. -* 使用经过精心挑选的更改创建一个新的合并请求. - -### Cherry-pick tracking[](#cherry-pick-tracking "Permalink") - -在 GitLab 12.9 中[引入](https://gitlab.com/groups/gitlab-org/-/epics/2675) . - -当您选择一个合并提交时,GitLab 将向相关的合并请求线程输出系统注释,使新提交与现有合并请求交联. - -[![Cherry-pick tracking in Merge Request timeline](img/e20aec7ab33bbd61bae4825e6c9e35f1.png)](img/cherry_pick_mr_timeline_v12_9.png) - -每个部署的[关联合并请求列表](../../../api/deployments.html#list-of-merge-requests-associated-with-a-deployment)将包括精心挑选的合并提交. - -**注意:**我们仅跟踪从 GitLab(UI 和 API)执行的 cherry-pick. 计划在将来的发行版中支持[通过命令行跟踪精心挑选的提交](https://gitlab.com/gitlab-org/gitlab/-/issues/202215) . - -## Cherry-picking a commit[](#cherry-picking-a-commit "Permalink") - -您可以从提交详细信息页面中挑选一个提交: - -[![Cherry-pick commit](img/b4e821b8b83e29e837f01f4620e557b7.png)](img/cherry_pick_changes_commit.png) - -与选择合并请求类似,您可以选择将更改直接选择到目标分支中,也可以选择创建新的合并请求以选择更改. - -请注意,在进行樱桃挑选合并提交时,主线将始终是第一父级. 如果要使用其他主线,则需要从命令行执行. - -这是一个使用第二个父级作为主线来挑选合并提交的快速示例: - -``` -git cherry-pick -m 2 7a39eb0 -``` \ No newline at end of file diff --git a/docs/118.md b/docs/118.md deleted file mode 100644 index 70625d4..0000000 --- a/docs/118.md +++ /dev/null @@ -1,275 +0,0 @@ -# Code Quality - -> 原文:[https://docs.gitlab.com/ee/user/project/merge_requests/code_quality.html](https://docs.gitlab.com/ee/user/project/merge_requests/code_quality.html) - -* [Use cases](#use-cases) -* [Example configuration](#example-configuration) - * [Previous job definitions](#previous-job-definitions) -* [Configuring jobs using variables](#configuring-jobs-using-variables) -* [Implementing a custom tool](#implementing-a-custom-tool) -* [Code Quality reports](#code-quality-reports) -* [Extending functionality](#extending-functionality) - * [Using Analysis Plugins](#using-analysis-plugins) -* [Troubleshooting](#troubleshooting) - * [Changing the default configuration has no effect](#changing-the-default-configuration-has-no-effect) - * [No Code Quality report is displayed in a Merge Request](#no-code-quality-report-is-displayed-in-a-merge-request) - * [Only a single Code Quality report is displayed, but more are defined](#only-a-single-code-quality-report-is-displayed-but-more-are-defined) - -# Code Quality[](#code-quality-starter "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/1984) in [GitLab Starter](https://about.gitlab.com/pricing/) 9.3. - -确保项目的代码保持简单,易读和易于贡献可能会引起问题. 借助[GitLab CI / CD](../../../ci/README.html) ,您可以使用 GitLab 代码质量分析源代码质量. - -代码质量: - -* 使用[Code Climate Engines](https://codeclimate.com) ,它们是免费的开放源代码. 代码质量不需要"代码气候"订阅. -* 使用[默认的 Code Climate 配置](https://gitlab.com/gitlab-org/ci-cd/codequality/-/tree/master/codeclimate_defaults)在[GitLab Code Quality](https://gitlab.com/gitlab-org/ci-cd/codequality)项目中构建的 Docker 映像在[管道中](../../../ci/pipelines/index.html)运行. -* 可以利用[模板](#example-configuration) . -* 可与[Auto DevOps 一起使用](../../../topics/autodevops/stages.html#auto-code-quality-starter) . -* 可以通过[分析插件](https://docs.codeclimate.com/docs/list-of-engines)或[自定义工具](#implementing-a-custom-tool)进行扩展. - -更进一步,GitLab 可以在合并请求小部件区域中显示"代码质量"报告: - -[![Code Quality Widget](img/486761bb835c9408dac03956a04b3a53.png)](img/code_quality.png) - -观看实践中的代码质量快速演练: - -观看视频: [代码质量:快速运行](https://www.youtube.com/watch?v=B32LxtJKo9M) . - -<figure class="video-container"><iframe src="https://www.youtube.com/embed/B32LxtJKo9M" frameborder="0" allowfullscreen=""></iframe></figure> - -**注意:**对于一位客户,审核员发现,在 GitLab CI / CD 中使代码质量,SAST 和容器扫描全部自动化几乎比手动审核要好! [阅读更多](https://about.gitlab.com/customers/bi_worldwide/) . - -另请参阅" [可维护性支持的语言](https://docs.codeclimate.com/docs/supported-languages-for-maintainability)的代码气候列表". - -## Use cases[](#use-cases "Permalink") - -例如,考虑以下工作流程: - -1. 您的后端团队成员将开始新的实施,以更快地使您的应用中的某些功能. -2. 通过代码质量报告,他们可以分析其实施如何影响代码质量. -3. The metrics show that their code degrades the quality by 10 points. -4. 您要求同事来帮助他们进行此修改. -5. 他们都将对更改进行处理,直到"代码质量"报告显示不降级,仅显示改进. -6. 您批准合并请求并授权其部署到暂存. -7. 验证后,其更改将部署到生产中. - -## Example configuration[](#example-configuration "Permalink") - -**注意:** GitLab 11.11 和更高版本支持以下所示的作业定义. 它还需要 GitLab Runner 11.5 或更高版本. 对于早期版本,请使用[先前的作业定义](#previous-job-definitions) . - -本示例说明如何使用 GitLab CI / CD 和 Docker 在代码上运行代码质量. - -首先,您需要配置 GitLab Runner: - -* 对于[Docker-in-Docker 工作流程](../../../ci/docker/using_docker_build.html#use-docker-in-docker-workflow-with-docker-executor) . -* 有足够的磁盘空间来处理生成的代码质量文件. 例如,在[GitLab 项目上](https://gitlab.com/gitlab-org/gitlab) ,文件约为 7 GB. - -设置运行器后,在您的 CI 配置中包括代码质量模板: - -``` -include: - - template: Code-Quality.gitlab-ci.yml -``` - -上面的示例将在 CI / CD 管道中创建一个`code_quality`作业,该作业将扫描源代码以查看代码质量问题. 该报告将另存为["代码质量"报告工件](../../../ci/pipelines/job_artifacts.html#artifactsreportscodequality-starter) ,您以后可以下载和分析该[工件](../../../ci/pipelines/job_artifacts.html#artifactsreportscodequality-starter) . - -通过设置`CODE_QUALITY_IMAGE`变量,也可以覆盖 URL 到"代码质量"图像. 如果您想锁定特定版本的 Code Quality 或使用其中的一个分支,这将特别有用: - -``` -include: - - template: Code-Quality.gitlab-ci.yml - -code_quality: - variables: - CODE_QUALITY_IMAGE: "registry.example.com/codequality-fork:latest" -``` - -默认情况下,报告工件不可下载. 如果需要在工作详细信息页面上下载它们,则可以将`gl-code-quality-report.json`到工件路径,如下所示: - -``` -include: - - template: Code-Quality.gitlab-ci.yml - -code_quality: - artifacts: - paths: [gl-code-quality-report.json] -``` - -包含的`code_quality`作业正在`test`阶段运行,因此需要将其包含在 CI 配置中,如下所示: - -``` -stages: - - test -``` - -**提示:**该信息将被自动提取并显示在合并请求小部件中.**注意:**在自我管理的实例上,如果恶意行为者破坏了 Code Quality 作业定义,则他们将能够在 Runner 主机上执行特权的 Docker 命令. 拥有适当的访问控制策略,可以通过仅允许访问受信任的参与者来减轻这种攻击. - -### Previous job definitions[](#previous-job-definitions "Permalink") - -**警告:**在 GitLab 11.5 之前,必须专门命名代码质量作业和工件以自动提取报告数据并将其显示在合并请求小部件中. 尽管这些旧的作业定义仍然保留,但它们已被弃用,并且在 GitLab 12.0 或更高版本中不再受支持. 建议您更新`.gitlab-ci.yml`配置以反映该更改. - -对于 GitLab 11.5 及更高版本,该工作应如下所示: - -``` -code_quality: - image: docker:stable - variables: - DOCKER_DRIVER: overlay2 - allow_failure: true - services: - - docker:stable-dind - script: - - export SP_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/') - - docker run - --env SOURCE_CODE="$PWD" - --volume "$PWD":/code - --volume /var/run/docker.sock:/var/run/docker.sock - "registry.gitlab.com/gitlab-org/ci-cd/codequality:$SP_VERSION" /code - artifacts: - reports: - codequality: gl-code-quality-report.json -``` - -在 GitLab 12.6 中,"代码质量"切换到了[新的版本控制方案](https://gitlab.com/gitlab-org/ci-cd/codequality#versioning-and-release-cycle) . 强烈建议包括代码质量模板,如[示例配置](#example-configuration)所示,该模板使用新的版本控制方案. 如果不使用模板,则可以将`SP_VERSION`变量硬编码为使用新的映像版本: - -``` -code_quality: - image: docker:stable - variables: - DOCKER_DRIVER: overlay2 - SP_VERSION: 0.85.6 - allow_failure: true - services: - - docker:stable-dind - script: - - docker run - --env SOURCE_CODE="$PWD" - --volume "$PWD":/code - --volume /var/run/docker.sock:/var/run/docker.sock - "registry.gitlab.com/gitlab-org/ci-cd/codequality:$SP_VERSION" /code - artifacts: - reports: - codequality: gl-code-quality-report.json -``` - -对于 GitLab 11.4 和更早版本,该工作应如下所示: - -``` -code_quality: - image: docker:stable - variables: - DOCKER_DRIVER: overlay2 - allow_failure: true - services: - - docker:stable-dind - script: - - export SP_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/') - - docker run - --env SOURCE_CODE="$PWD" - --volume "$PWD":/code - --volume /var/run/docker.sock:/var/run/docker.sock - "registry.gitlab.com/gitlab-org/ci-cd/codequality:$SP_VERSION" /code - artifacts: - paths: [gl-code-quality-report.json] -``` - -或者,作业名称可以是`codeclimate`或`codequality` ,工件名称可以是`codeclimate.json` . 这些名称已在 GitLab 11.0 中弃用,并可能在下一个主要版本 GitLab 12.0 中删除. - -对于 GitLab 10.3 及更早版本,该工作应如下所示: - -``` -codequality: - image: docker:latest - variables: - DOCKER_DRIVER: overlay - services: - - docker:dind - script: - - docker pull codeclimate/codeclimate:0.69.0 - - docker run --env CODECLIMATE_CODE="$PWD" --volume "$PWD":/code --volume /var/run/docker.sock:/var/run/docker.sock --volume /tmp/cc:/tmp/cc codeclimate/codeclimate:0.69.0 init - - docker run --env CODECLIMATE_CODE="$PWD" --volume "$PWD":/code --volume /var/run/docker.sock:/var/run/docker.sock --volume /tmp/cc:/tmp/cc codeclimate/codeclimate:0.69.0 analyze -f json > codeclimate.json || true - artifacts: - paths: [codeclimate.json] -``` - -## Configuring jobs using variables[](#configuring-jobs-using-variables "Permalink") - -代码质量作业支持环境变量,用户可以将其设置为在运行时配置作业执行. - -For a list of available environment variables, see [Environment variables](https://gitlab.com/gitlab-org/ci-cd/codequality#environment-variables). - -## Implementing a custom tool[](#implementing-a-custom-tool "Permalink") - -可以使用自定义工具在 GitLab 中提供代码质量报告. 去做这个: - -1. 在`.gitlab-ci.yml`文件中定义一个生成[代码质量报告工件的作业](../../../ci/pipelines/job_artifacts.html#artifactsreportscodequality-starter) . -2. 配置您的工具以将代码质量报告工件作为 JSON 文件生成,该文件实现了[Code Climate 规范](https://github.com/codeclimate/platform/blob/master/spec/analyzers/SPEC.md#data-types)的子集. - -代码质量报告工件 JSON 文件必须包含具有以下属性的对象数组: - -| Name | Description | -| --- | --- | -| `description` | A description of the code quality violation. | -| `fingerprint` | 用于识别代码质量违规的唯一指纹. 例如,MD5 哈希. | -| `location.path` | 包含代码质量违规的文件的相对路径. | -| `location.lines.begin` | 发生代码质量违规的行. | - -Example: - -``` -[ { "description": "'unused' is assigned a value but never used.", "fingerprint": "7815696ecbf1c96e6894b779456d330e", "location": { "path": "lib/index.js", "lines": { "begin": 42 } } } ] -``` - -**注意:**尽管 Code Climate 规范支持更多属性,但 GitLab 会忽略这些属性. - -## Code Quality reports[](#code-quality-reports "Permalink") - -代码质量工作完成后: - -* 管道生成的违反代码质量的完整列表可在"管道详细信息"页面的"代码质量"选项卡中找到. -* 代码质量的潜在更改直接在合并请求中显示. 合并请求中的"代码质量"窗口小部件比较分支基础和头部的报告,然后列出合并分支时将解决或创建的所有违例. -* 完整的 JSON 报告可作为`code_quality`作业的可[下载工件](../../../ci/pipelines/job_artifacts.html#downloading-artifacts)获得. - -## Extending functionality[](#extending-functionality "Permalink") - -### Using Analysis Plugins[](#using-analysis-plugins "Permalink") - -如果有需要延长的代码质量所提供的默认功能,如在规定[的代码质量](#code-quality-starter) , [分析插件](https://docs.codeclimate.com/docs/list-of-engines)可供选择. - -例如,要使用[SonarJava 分析器](https://docs.codeclimate.com/docs/sonar-java) ,请在存储库的根目录中添加一个名为`.codeclimate.yml`的文件, `.codeclimate.yml`包含插件的[启用代码](https://docs.codeclimate.com/docs/sonar-java#enable-the-plugin) : - -``` -version: "2" -plugins: - sonar-java: - enabled: true -``` - -这会将 SonarJava 添加到项目中[默认`.codeclimate.yml`](https://gitlab.com/gitlab-org/ci-cd/codequality/-/blob/master/codeclimate_defaults/.codeclimate.yml)的`plugins:`部分. - -对`plugins:`部分的更改不会影响 defeault `.codeclimate.yml`的`exclude_patterns`部分. 有关更多详细信息,请参见代码气候文档以[排除文件和文件夹](https://docs.codeclimate.com/docs/excluding-files-and-folders) . - -这是[一个示例项目](https://gitlab.com/jheimbuck_gl/jh_java_example_project) , [该示例项目](https://gitlab.com/jheimbuck_gl/jh_java_example_project)将 Code Quality 与`.codeclimate.yml`文件一起使用. - -## Troubleshooting[](#troubleshooting "Permalink") - -### Changing the default configuration has no effect[](#changing-the-default-configuration-has-no-effect "Permalink") - -一个普遍的问题是`Code Quality` (特定于 GitLab)和`Code Climate` (GitLab 使用的引擎)这两个术语非常相似. 您必须添加**`.codeclimate.yml`**文件来更改默认配置, **而不是** `.codequality.yml`文件. 如果使用错误的文件名,仍将使用[默认的`.codeclimate.yml`](https://gitlab.com/gitlab-org/ci-cd/codequality/-/blob/master/codeclimate_defaults/.codeclimate.yml) . - -### No Code Quality report is displayed in a Merge Request[](#no-code-quality-report-is-displayed-in-a-merge-request "Permalink") - -这可能是由于多种原因: - -* 您刚刚在`.gitlab-ci.yml`添加了代码质量工作. 该报告尚无可比较的内容,因此无法显示任何信息. 将来的合并请求将具有可比性. -* 如果未[检测到降级或错误](https://docs.codeclimate.com/docs/maintainability#section-checks) ,则不会显示任何内容. -* [`artifacts:expire_in`](../../../ci/yaml/README.html#artifactsexpire_in) CI / CD 设置可能导致代码质量构件过期快于所需. -* `codeclimate.json`较大的`codeclimate.json`文件(尤其是> 10 MB)会[阻止报告的显示](https://gitlab.com/gitlab-org/gitlab/-/issues/2737) . 解决方法是,尝试删除[GitLab 忽略的](#implementing-a-custom-tool) [属性](https://github.com/codeclimate/platform/blob/master/spec/analyzers/SPEC.md#data-types) . 您可以: - * 配置代码质量工具以不输出那些类型. - * 在作业完成之前,请在`.gitlab-ci.yml`脚本中使用`sed` , `awk`或类似命令来编辑`codeclimate.json` . - -### Only a single Code Quality report is displayed, but more are defined[](#only-a-single-code-quality-report-is-displayed-but-more-are-defined "Permalink") - -GitLab 仅使用最新创建的作业(具有最大的作业 ID)的代码质量工件. 如果管道中的多个作业生成代码质量工件,则较早作业的那些将被忽略. 为避免混淆,仅配置一个作业即可生成`codeclimate.json` . \ No newline at end of file diff --git a/docs/119.md b/docs/119.md deleted file mode 100644 index 48ad50b..0000000 --- a/docs/119.md +++ /dev/null @@ -1,156 +0,0 @@ -# Load Performance Testing - -> 原文:[https://docs.gitlab.com/ee/user/project/merge_requests/load_performance_testing.html](https://docs.gitlab.com/ee/user/project/merge_requests/load_performance_testing.html) - -* [How Load Performance Testing works](#how-load-performance-testing-works) -* [Configure the Load Performance Testing job](#configure-the-load-performance-testing-job) - * [Determine the test parameters](#determine-the-test-parameters) - * [Test Environment setup](#test-environment-setup) - * [Write the load performance test](#write-the-load-performance-test) - * [Configure the test in GitLab CI/CD](#configure-the-test-in-gitlab-cicd) - * [Load Performance testing in Review Apps](#load-performance-testing-in-review-apps) - -# Load Performance Testing[](#load-performance-testing-premium "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/10683) in [GitLab Premium](https://about.gitlab.com/pricing/) 13.2. - -使用负载性能测试,您可以在[GitLab CI / CD 中](../../../ci/README.html)测试任何待处理代码更改对应用程序后端的影响. - -GitLab 使用免费的开源工具[k6](https://k6.io/)来测量负载下应用程序的系统性能. - -Unlike [Browser Performance Testing](browser_performance_testing.html), which is used to measure how web sites perform in client browsers, Load Performance Testing can be used to perform various types of [load tests](https://k6.io/docs/#use-cases) against application endpoints such as APIs, Web Controllers, and so on. This can be used to test how the backend or the server performs at scale. - -例如,您可以使用负载性能测试对应用程序中流行的 API 端点执行许多并发 GET 调用,以查看其性能. - -## How Load Performance Testing works[](#how-load-performance-testing-works "Permalink") - -首先,在您的`.gitlab-ci.yml`文件中定义一个作业,以生成" [负载性能"报告工件](../../../ci/pipelines/job_artifacts.html#artifactsreportsload_performance-premium) . GitLab 会检查此报告,比较源分支和目标分支之间的关键负载性能指标,然后在合并请求小部件中显示信息: - -[![Load Performance Widget](img/1d9bd6ef20c22f103a6d120b8c673b06.png)](img/load_performance_testing.png) - -接下来,您需要配置测试环境并编写 k6 测试. - -测试完成后,合并请求窗口小部件显示的关键性能指标是: - -* 支票:在 k6 测试中配置的[支票的](https://k6.io/docs/using-k6/checks)通过率. -* TTFB P90: The 90th percentile of how long it took to start receiving responses, aka the [Time to First Byte](https://en.wikipedia.org/wiki/Time_to_first_byte) (TTFB). -* TTFB P95:TTFB 的第 95 个百分点. -* RPS:测试能够达到的平均每秒请求数(RPS). - -**注意:**如果"负载性能"报告没有可比较的数据,例如,当您第一次在`.gitlab-ci.yml`添加"负载性能"作业时,"负载性能"报告小部件将不会显示. 它必须在目标分支(例如`master` )上至少运行一次,然后才能在针对该分支的合并请求中显示. - -## Configure the Load Performance Testing job[](#configure-the-load-performance-testing-job "Permalink") - -配置负载性能测试作业可以分为几个不同的部分: - -* 确定测试参数,例如吞吐量,等等. -* 设置目标测试环境以进行负载性能测试. -* 设计并编写 k6 测试. - -### Determine the test parameters[](#determine-the-test-parameters "Permalink") - -您需要做的第一件事是确定要运行[的负载测试](https://k6.io/docs/test-types/introduction)的[类型](https://k6.io/docs/test-types/introduction)以及运行方式(例如,用户数量,吞吐量等). - -请参阅[k6 文档](https://k6.io/docs/) ,尤其是[k6 测试指南](https://k6.io/docs/testing-guides) ,以获取有关上述内容及更多内容的指南. - -### Test Environment setup[](#test-environment-setup "Permalink") - -负载性能测试的大部分工作是为高负载准备目标测试环境. 您应该确保它能够处理将要测试的[吞吐量](https://k6.io/blog/monthly-visits-concurrent-users) . - -通常还需要在目标环境中具有代表性的测试数据,以供负载性能测试使用. - -强烈建议[不要在生产环境中运行这些测试](https://k6.io/our-beliefs#load-test-in-a-pre-production-environment) . - -### Write the load performance test[](#write-the-load-performance-test "Permalink") - -准备好环境后,您可以编写 k6 测试本身. k6 是一种灵活的工具,可用于运行[多种性能测试](https://k6.io/docs/test-types/introduction) . 有关如何编写测试的详细信息,请参阅[k6 文档](https://k6.io/docs/) . - -### Configure the test in GitLab CI/CD[](#configure-the-test-in-gitlab-cicd "Permalink") - -准备好 k6 测试后,下一步就是在 GitLab CI / CD 中配置负载性能测试作业. 最简单的方法是使用 GitLab 随附的[`Verify/Load-Performance-Testing.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Verify/Load-Performance-Testing.gitlab-ci.yml)模板. - -**注意:**对于大型 k6 测试,您需要确保执行实际测试的 GitLab Runner 实例能够处理运行测试. 有关规格的详细信息,请参阅[k6 的指南](https://k6.io/docs/testing-guides/running-large-tests#hardware-considerations) . [默认的共享 GitLab.com 运行程序](../../gitlab_com/#linux-shared-runners)可能没有足够的规格来处理大多数大型 k6 测试. - -该模板在作业中运行[k6 Docker 容器](https://hub.docker.com/r/loadimpact/k6/) ,并提供了几种自定义作业的方法. - -配置工作流程示例: - -1. 设置一个可以运行 Docker 容器的 GitLab Runner,例如使用[Docker-in-Docker 工作流](../../../ci/docker/using_docker_build.html#use-docker-in-docker-workflow-with-docker-executor)的 Runner. -2. 在`.gitlab-ci.yml`文件中配置默认​​的 Load Performance Testing CI 作业. 您需要包括模板并使用变量进行配置: - - ``` - include: - template: Verify/Load-Performance-Testing.gitlab-ci.yml - - load_performance: - variables: - K6_TEST_FILE: <PATH TO K6 TEST FILE IN PROJECT> - ``` - -上面的示例在运行 k6 测试的 CI / CD 管道中创建了一个`load_performance`作业. - -**注意:**对于 Kubernetes 设置,应使用其他模板: [`Jobs/Load-Performance-Testing.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Jobs/Load-Performance-Testing.gitlab-ci.yml) . - -k6 具有[各种选项](https://k6.io/docs/using-k6/options)来配置它将如何运行测试,例如运行什么吞吐量(RPS),测试应该运行多长时间等等. 几乎所有选项都可以在测试本身中进行配置,但是您也可以通过`K6_OPTIONS`变量传递命令行选项. - -例如,您可以使用 CLI 选项覆盖测试的持续时间: - -``` - include: - template: Verify/Load-Performance-Testing.gitlab-ci.yml - - load_performance: - variables: - K6_TEST_FILE: <PATH TO K6 TEST FILE IN PROJECT> - K6_OPTIONS: '--duration 30s' -``` - -如果 k6 的结果通过[摘要导出](https://k6.io/docs/results-visualization/json#summary-export)保存为" [负载性能"报告工件,则](../../../ci/pipelines/job_artifacts.html#artifactsreportsload_performance-premium) GitLab 仅在 MR 小部件中显示关键性能指标. 始终使用最新的可用负载性能工件. - -如果启用了[GitLab Pages,](../pages/index.html)则可以直接在浏览器中查看报告. - -### Load Performance testing in Review Apps[](#load-performance-testing-in-review-apps "Permalink") - -上面的 CI / CD YAML 配置示例适用于针对静态环境进行测试,但是可以通过一些额外的步骤将其扩展为与[审阅应用程序](../../../ci/review_apps)或[动态环境](../../../ci/environments)一起使用. - -最好的方法是将动态 URL 捕获到一个自定义环境变量中,然后由`load_performance`作业[继承](../../../ci/variables/README.html#inherit-environment-variables)该`load_performance` . 然后应将要运行的 k6 测试脚本配置为使用该环境 URL,例如: `http.get(`${__ENV.ENVIRONMENT_URL`})` . - -例如: - -1. 在`review`工作中: - 1. 捕获动态 URL 并将其保存到`.env`文件,例如`echo "ENVIRONMENT_URL=$CI_ENVIRONMENT_URL" >> review.env` . - 2. 将`.env`文件设置为[`artifacts:reports:dotenv` report](../../../ci/variables/README.html#inherit-environment-variables) . -2. 将`load_performance`作业设置为依赖于审阅作业,以便它继承环境变量. -3. 配置 k6 测试脚本以在其步骤中使用环境变量. - -您的`.gitlab-ci.yml`文件可能类似于: - -``` -stages: - - deploy - - performance - -include: - template: Verify/Load-Performance-Testing.gitlab-ci.yml - -review: - stage: deploy - environment: - name: review/$CI_COMMIT_REF_NAME - url: http://$CI_ENVIRONMENT_SLUG.example.com - script: - - run_deploy_script - - echo "ENVIRONMENT_URL=$CI_ENVIRONMENT_URL" >> review.env - artifacts: - reports: - dotenv: - review.env - rules: - - if: '$CI_COMMIT_BRANCH' # Modify to match your pipeline rules, or use `only/except` if needed. - -load_performance: - dependencies: - - review - rules: - - if: '$CI_COMMIT_BRANCH' # Modify to match your pipeline rules, or use `only/except` if needed. -``` \ No newline at end of file diff --git a/docs/120.md b/docs/120.md deleted file mode 100644 index 0ef4aca..0000000 --- a/docs/120.md +++ /dev/null @@ -1,83 +0,0 @@ -# Merge Request dependencies - -> 原文:[https://docs.gitlab.com/ee/user/project/merge_requests/merge_request_dependencies.html](https://docs.gitlab.com/ee/user/project/merge_requests/merge_request_dependencies.html) - -* [Use cases](#use-cases) -* [Configuration](#configuration) -* [Limitations](#limitations) - -# Merge Request dependencies[](#merge-request-dependencies-premium "Permalink") - -版本历史 - -* 在[GitLab Premium](https://about.gitlab.com/pricing/) 12.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/9688) . -* 在[GitLab Premium](https://about.gitlab.com/pricing/) 12.4 中从"跨项目依赖项" [重命名](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/17291)为"合并请求依赖项". -* [GitLab Premium](https://about.gitlab.com/pricing/) 12.4 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/16799)了项目内 MR 依赖关系. - -合并请求相关性允许表达合并请求之间的合并所需顺序. 如果合并请求"依赖"另一个请求,则在合并其依赖项之前,不能将其合并. - -**注意:**合并请求依赖项是**PREMIUM**功能,但是此限制仅对依赖合并请求强制执行. **CORE**或**STARTER**项目中的合并请求可以是**PREMIUM**合并请求的依赖项,反之亦然. - -## Use cases[](#use-cases "Permalink") - -* 在更改导入库的项目之前,请确保对库的更改已合并. -* 在实现要记录功能的合并请求之前,防止仅文档合并请求被合并. -* 在合并来自尚未被授予权限的人的合并请求之前,要求合并请求更新要合并的权限矩阵. - -单个逻辑更改通常会跨越多个合并请求,并分散到多个项目中,并且合并的顺序可能很重要. - -例如,给定项目`mycorp/awesome-project`在`myfriend/awesome-lib`处导入了库,在`awesome-project`添加功能可能**还**需要更改`awesome-lib` ,因此需要两个合并请求. 在`awesome-lib`之前合并`awesome-project`合并请求会破坏`master`分支. - -`awesome-project`合并请求可以[标记为**Draft**](work_in_progress_merge_requests.html) ,注释中包含所述草案的原因. 但是,这要求手动跟踪`awesome-lib`合并请求的状态,并且如果`awesome-project`合并请求依赖于对其他**几个**项目的更改,则伸缩性不好. - -通过使`awesome-project`合并请求依赖于`awesome-lib`合并请求,此关系将由 GitLab 自动跟踪,草稿状态可用于在每个单独的合并请求中传达代码的就绪状态. - -## Configuration[](#configuration "Permalink") - -要继续上面的示例,您可以在`awesome-project`创建新的合并请求时配置依赖项(或通过编辑(如果已经存在)). 需要在**依赖**合并请求上配置**依赖** . 表单中有一个" **合并请求依赖项"**部分: - -[![Merge request dependencies form control](img/86c94810add9e77037bd8a135ef2b972.png)](img/dependencies_edit_v12_4.png) - -任何可以编辑合并请求的人都可以更改依赖关系列表. - -可以通过引用或 URL 添加新的依赖项. 要删除依赖项,请按其引用旁边的**X.** - -由于可以在项目之间指定依赖关系,因此其他人可能为您无权访问的项目中的合并请求添加了依赖关系. 这些显示为简单计数: - -[![Merge request dependencies form control with inaccessible merge requests](img/9d8d2ee20801484a30509d79022ce53c.png)](img/dependencies_edit_inaccessible_v12_4.png) - -如有必要,您可以按**X**来删除所有类似的依赖项,就像对单个可见的依赖项一样. - -完成后,请按" **保存更改"**按钮以提交请求,或按" **取消"**以不做任何更改地返回. - -合并请求窗口小部件中显示了已配置依赖项的列表以及每个依赖项的状态: - -[![Dependencies in merge request widget](img/e4b88f4d9d317b9a38522ce9c63f84bc.png)](img/dependencies_view_v12_2.png) - -在所有依赖项本身都被合并之前,对于依赖项合并请求将禁用" **合并"**按钮. 特别要注意的是, **封闭的合并请求**仍会阻止其依赖项被合并-无法自动确定是否已以其他某种方式满足了由封闭的合并请求表示的依赖关系. - -如果已关闭合并请求**,**并且依赖项不再相关,则必须在合并之前按照上述说明将其作为依赖项除去. - -## Limitations[](#limitations "Permalink") - -* API 支持: [问题#12551](https://gitlab.com/gitlab-org/gitlab/-/issues/12551) -* 在项目导出/导入之间未保留依赖项: [问题#12549](https://gitlab.com/gitlab-org/gitlab/-/issues/12549) -* 不支持复杂的合并顺序相关性: [问题#11393](https://gitlab.com/gitlab-org/gitlab/-/issues/11393) - -最后一项值得更多解释. 合并请求之间的依赖关系可以描述为关系图. 最简单的图可能有一个合并请求,该合并请求取决于另一个: - -图 LR; myfriend / awesome-lib!10-> mycorp / awesome-project!100; - -更为复杂(且仍受支持)的图可能具有一个合并请求,该合并请求直接取决于其他几个: - -图 LR; myfriend / awesome-lib!10-> mycorp / awesome-project!100; herfriend / another-lib!1-> mycorp / awesome-project!100; - -几个不同的合并请求也可以直接依赖于同一合并请求: - -图 LR; herfriend / another-lib!1-> myfriend / awesome-lib!10; herfriend / another-lib!1-> mycorp / awesome-project!100; - -**不**支持的是依赖项的"深度"或"嵌套"图. 例如: - -图 LR; herfriend / another-lib!1-> myfriend / awesome-lib!10; myfriend / awesome-lib!10-> mycorp / awesome-project!100; - -在此示例中, `myfriend/awesome-lib!10`取决于`herfriend/another-lib!1` ,它本身是`mycorp/awesome-project!100`的依赖项. 这意味着`myfriend/awesome-lib!10`成为`mycorp/awesome-project!100`的**间接**依赖项,尚不受支持. \ No newline at end of file diff --git a/docs/121.md b/docs/121.md deleted file mode 100644 index 504bcd3..0000000 --- a/docs/121.md +++ /dev/null @@ -1,36 +0,0 @@ -# Fast-forward merge requests - -> 原文:[https://docs.gitlab.com/ee/user/project/merge_requests/fast_forward_merge.html](https://docs.gitlab.com/ee/user/project/merge_requests/fast_forward_merge.html) - -* [Overview](#overview) -* [Enabling fast-forward merges](#enabling-fast-forward-merges) - -# Fast-forward merge requests[](#fast-forward-merge-requests "Permalink") - -有时,工作流策略可能会强制要求没有合并提交的干净提交历史记录. 在这种情况下,快速合并是理想的选择. - -使用快速转发合并请求,您可以保留线性 Git 历史记录以及一种无需创建合并提交即可接受合并请求的方法. - -## Overview[](#overview "Permalink") - -启用快进合并( [`--ff-only`](https://git-scm.com/docs/git-merge#git-merge---ff-only) )设置时,将不会创建任何合并提交,并且所有合并都将被快速转发,这意味着仅当分支可以被快速转发时才允许合并. - -当无法进行快速合并时,将为用户提供重新设置基准的选项. - -## Enabling fast-forward merges[](#enabling-fast-forward-merges "Permalink") - -1. 导航到项目的**设置,**然后搜索"合并方法" -2. 选择**快速合并**选项 -3. 点击**保存更改**以使更改生效 - -现在,当您访问合并请求页面时, **只有在可能进行快速**合并的情况下,您才能接受它. - -[![Fast forward merge request](img/50ab118d473b61d3d08773d6ea65a8ac.png)](img/ff_merge_mr.png) - -如果无法进行快速合并,但可以进行无冲突的变基,则将提供一个变基按钮. - -[![Fast forward merge request](img/51192310b3785dec5f60b6d59717a7a6.png)](img/ff_merge_rebase.png) - -如果目标分支位于源分支的前面,并且无法进行无冲突的变基,则需要先在本地对源分支进行变基,然后才能进行快速合并. - -[![Fast forward merge rebase locally](img/d241e2868510cfa5755170c1f02c78f3.png)](img/ff_merge_rebase_locally.png) \ No newline at end of file diff --git a/docs/122.md b/docs/122.md deleted file mode 100644 index c1d407d..0000000 --- a/docs/122.md +++ /dev/null @@ -1,84 +0,0 @@ -# Merge when pipeline succeeds - -> 原文:[https://docs.gitlab.com/ee/user/project/merge_requests/merge_when_pipeline_succeeds.html](https://docs.gitlab.com/ee/user/project/merge_requests/merge_when_pipeline_succeeds.html) - -* [How it works](#how-it-works) -* [Only allow merge requests to be merged if the pipeline succeeds](#only-allow-merge-requests-to-be-merged-if-the-pipeline-succeeds) - * [Limitations](#limitations) - * [Skipped pipelines](#skipped-pipelines) -* [From the command line](#from-the-command-line) - -# Merge when pipeline succeeds[](#merge-when-pipeline-succeeds "Permalink") - -在查看看起来准备合并但仍在运行管道的合并请求时,可以将其设置为在管道成功时自动合并. 这样,您不必等待管道完成,而不必记住手动合并请求. - -[![Enable](img/ac3623994213ad815a95e7826a3cfc3e.png)](img/merge_when_pipeline_succeeds_enable.png) - -## How it works[](#how-it-works "Permalink") - -当您单击"管道成功时合并"时,合并请求的状态将更新以显示即将进行的合并. 如果您不能等待管道成功,则可以**立即**在主按钮右侧的下拉菜单中选择" **合并"** . - -合并请求的作者和具有开发人员权限的项目成员可以在管道完成之前的任何时间取消自动合并. - -[![Status](img/46322215ec68c4896b6b622f9f1ad11e.png)](img/merge_when_pipeline_succeeds_status.png) - -管道成功后,合并请求将自动合并. 当管道失败时,作者有机会重试任何失败的作业,或推送新的提交以修复失败. - -重试作业并第二次尝试成功后,合并请求将自动合并. 当使用新提交更新合并请求时,自动合并将被取消以允许查看新更改. - -## Only allow merge requests to be merged if the pipeline succeeds[](#only-allow-merge-requests-to-be-merged-if-the-pipeline-succeeds "Permalink") - -如果合并请求的管道未成功或存在要解析的线程,则可以阻止合并请求. 这对两个都适用: - -* GitLab CI / CD 管道 -* 管道从[外部 CI 集成](../integrations/overview.html#integrations-listing)运行 - -因此, [禁用 GitLab CI / CD 管道](../../../ci/enable_or_disable_ci.html)不会禁用此功能,因为可以将外部 CI 提供程序的管道与该功能一起使用. 要启用它,您必须: - -1. 导航到项目的**"设置">"常规"**页面. -2. 展开**合并请求**部分. -3. 在" **合并检查"**小节中,选中" **管道必须成功"**复选框. -4. 按**保存**使更改生效. - -This setting also prevents merge requests from being merged if there is no pipeline. - -### Limitations[](#limitations "Permalink") - -启用此设置后,如果没有管道,将阻止合并请求. 这可能与[`only/except`](../../../ci/yaml/README.html#onlyexcept-advanced)使用[`only/except`](../../../ci/yaml/README.html#onlyexcept-advanced)或[`rules`](../../../ci/yaml/README.html#rules)且不生成任何管道的某些用例相冲突. - -您应该确保[始终有一个管道](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/54226)并且该[管道](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/54226)是成功的. - -如果为单个合并请求触发了分支管道和合并请求管道,则仅检查*合并请求管道*的成功或失败. 如果合并请求管道配置的工作少于分支管道,则它可能允许失败测试的代码被合并: - -``` -branch-pipeline-job: - rules: - - if: '$CI_PIPELINE_SOURCE == "push"' - script: - - echo "Code testing scripts here, for example." - -merge-request-pipeline-job: - rules: - - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' - script: - - echo "No tests run, but this pipeline always succeeds and enables merge." - - echo true -``` - -您应该避免这样的配置,并尽可能使用分支( `push` )管道或合并请求管道. 有关在单个合并请求中避免使用两个管道的详细信息,请参见[`rules`文档](../../../ci/yaml/README.html#differences-between-rules-and-onlyexcept) . - -### Skipped pipelines[](#skipped-pipelines "Permalink") - -在 GitLab 13.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/211482) . - -选中" **管道必须成功"**复选框时, [跳过的管道会](../../../ci/yaml/README.html#skip-pipeline)阻止合并请求被合并. 更改此行为: - -1. 导航到项目的**"设置">"常规"**页面. -2. 展开**合并请求**部分. -3. 在" **合并检查"**小节中,确保已选中" **管道必须成功"** . -4. 在" **合并检查"**小节中,选中" **跳过的管道被视为成功"**复选框. -5. 按**保存**使更改生效. - -## From the command line[](#from-the-command-line "Permalink") - -当从命令行进行[推送](../push_options.html)时,当管道成功请求合并请求时,可以使用" [推送选项"](../push_options.html)启用合并. \ No newline at end of file diff --git a/docs/123.md b/docs/123.md deleted file mode 100644 index dc30395..0000000 --- a/docs/123.md +++ /dev/null @@ -1,51 +0,0 @@ -# Merge request conflict resolution - -> 原文:[https://docs.gitlab.com/ee/user/project/merge_requests/resolve_conflicts.html](https://docs.gitlab.com/ee/user/project/merge_requests/resolve_conflicts.html) - -* [Resolve conflicts: interactive mode](#resolve-conflicts-interactive-mode) -* [Resolve conflicts: inline editor](#resolve-conflicts-inline-editor) -* [Conflicts available for resolution](#conflicts-available-for-resolution) - -# Merge request conflict resolution[](#merge-request-conflict-resolution "Permalink") - -当两个分支具有无法自动合并的不同更改时,将发生合并冲突. - -在大多数情况下,Git 能够自动合并分支之间的更改,但是在某些情况下,Git 需要您的帮助来手动解决冲突. 通常,当人们更改同一文件的相同部分时,这是必需的. - -在解决所有冲突之前,GitLab 将阻止合并请求. 冲突可以在本地解决,也可以在许多情况下在 GitLab 中解决(有关何时可用的信息,请参见可解决的[冲突](#conflicts-available-for-resolution) ). - -[![Merge request widget](img/c3174e54aed82ba15686b58fc97068f1.png)](img/merge_request_widget.png) - -**注意:** GitLab 通过在未自动合并到目标分支的源分支中创建合并提交来解决冲突. 这允许在合并更改之前对合并提交进行检查和测试,从而防止意外更改进入目标分支而无需检查或破坏构建. - -## Resolve conflicts: interactive mode[](#resolve-conflicts-interactive-mode "Permalink") - -在 GitLab 8.11 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/5479) . - -单击此按钮将显示有冲突的文件列表,突出显示冲突部分: - -[![Conflict section](img/7a9e6a406ba2eb40638f2b43024b368b.png)](img/conflict_section.png) - -一旦所有冲突都标记为使用"我们的"或"他们的",则可以解决冲突. 这将执行合并请求的目标分支到源分支的合并,使用选择的选项解决冲突. 如果源分支是`feature` ,目标分支是`master` ,则类似于执行`git checkout feature; git merge master` `git checkout feature; git merge master`本地`git checkout feature; git merge master` . - -## Resolve conflicts: inline editor[](#resolve-conflicts-inline-editor "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/6374) in GitLab 8.13. - -合并冲突解决编辑器允许更复杂的合并冲突,需要用户手动修改文件以解决冲突,才能从 GitLab 界面中解决. 使用**内联编辑**按钮打开编辑器. 确定更改后,请单击" **提交到源"分支**按钮. - -[![Merge conflict editor](img/7a5996be0f8e75beb29e443470d79ee6.png)](img/merge_conflict_editor.png) - -## Conflicts available for resolution[](#conflicts-available-for-resolution "Permalink") - -GitLab 允许解决以下所有条件均成立的文件中的冲突: - -* 该文件是文本,不是二进制 -* 该文件采用 UTF-8 兼容编码 -* 该文件尚未包含冲突标记 -* 添加了冲突标记的文件大小不超过 200 KB -* 该文件在两个分支中位于相同路径下 - -如果该合并请求中有冲突的任何文件均不满足所有这些条件,则无法在 UI 中解决该合并请求的冲突. - -此外,GitLab 不会在路径之外的重命名中检测到冲突. 例如,这不会造成冲突:在分支`a`执行`git mv file1 file2` ; 在分支`b` ,执行`git mv file1 file3` . 而是,合并请求合并后,两个文件都将出现在分支中. \ No newline at end of file diff --git a/docs/124.md b/docs/124.md deleted file mode 100644 index a970a0c..0000000 --- a/docs/124.md +++ /dev/null @@ -1,40 +0,0 @@ -# Reverting changes - -> 原文:[https://docs.gitlab.com/ee/user/project/merge_requests/revert_changes.html](https://docs.gitlab.com/ee/user/project/merge_requests/revert_changes.html) - -* [Reverting a merge request](#reverting-a-merge-request) -* [Reverting a commit](#reverting-a-commit) - -# Reverting changes[](#reverting-changes "Permalink") - -您可以使用 Git 的强大功能,通过在合并请求和提交详细信息中单击" **还原"**按钮来[还原任何提交](https://git-scm.com/docs/git-revert "Git 恢复文档") . - -## Reverting a merge request[](#reverting-a-merge-request "Permalink") - -**注意:** " **还原"**按钮仅可用于自 GitLab 8.5 起创建的合并请求. 但是,您仍然可以通过从"提交"页面列表中还原合并提交来还原合并请求.**注意:**仅对使用合并方法"合并提交"的项目显示" **还原"**按钮,该方法可以在项目的**"设置">"常规">"合并请求"**下**设置** . 无法通过 MR 视图还原[快进提交](fast_forward_merge.html) . - -合并请求合并后,将有一个**还原**按钮可用于还原该合并请求引入的更改. - -[![Revert Merge Request](img/fe7d77556848be98a93c7b6516b0e6f8.png)](img/cherry_pick_changes_mr.png) - -单击该按钮后,将出现一个模式,您可以在其中选择将更改直接还原到所选分支中,也可以选择使用还原更改创建新的合并请求. - -合并请求恢复后," **恢复"**按钮将不再可用. - -## Reverting a commit[](#reverting-a-commit "Permalink") - -您可以从提交详细信息页面还原提交: - -[![Revert commit](img/b4e821b8b83e29e837f01f4620e557b7.png)](img/cherry_pick_changes_commit.png) - -与还原合并请求类似,您可以选择将更改直接还原到目标分支中,也可以选择创建新的合并请求以还原更改. - -恢复提交后," **恢复"**按钮将不再可用. - -请注意,还原合并提交时,主线将始终是第一父级. 如果要使用其他主线,则需要从命令行执行. - -这是一个使用第二个父级作为主线还原合并提交的快速示例: - -``` -git revert -m 2 7a39eb0 -``` \ No newline at end of file diff --git a/docs/125.md b/docs/125.md deleted file mode 100644 index 7961872..0000000 --- a/docs/125.md +++ /dev/null @@ -1,290 +0,0 @@ -# Reviewing and managing merge requests - -> 原文:[https://docs.gitlab.com/ee/user/project/merge_requests/reviewing_and_managing_merge_requests.html](https://docs.gitlab.com/ee/user/project/merge_requests/reviewing_and_managing_merge_requests.html) - -* [View project merge requests](#view-project-merge-requests) -* [View merge requests for all projects in a group](#view-merge-requests-for-all-projects-in-a-group) -* [Semi-linear history merge requests](#semi-linear-history-merge-requests) -* [View changes between file versions](#view-changes-between-file-versions) - * [Merge request diff file navigation](#merge-request-diff-file-navigation) - * [File-by-file diff navigation](#file-by-file-diff-navigation) - * [Enable or disable file-by-file diff navigation](#enable-or-disable-file-by-file-diff-navigation-core-only) - * [Merge requests commit navigation](#merge-requests-commit-navigation) - * [Incrementally expand merge request diffs](#incrementally-expand-merge-request-diffs) - * [Ignore whitespace changes in Merge Request diff view](#ignore-whitespace-changes-in-merge-request-diff-view) -* [Perform inline code reviews](#perform-inline-code-reviews) -* [Pipeline status in merge requests widgets](#pipeline-status-in-merge-requests-widgets) - * [Post-merge pipeline status](#post-merge-pipeline-status) - * [Merge when pipeline succeeds (MWPS)](#merge-when-pipeline-succeeds-mwps) - * [Live preview with Review Apps](#live-preview-with-review-apps) -* [Associated features](#associated-features) -* [Troubleshooting](#troubleshooting) - * [Merge request cannot retrieve the pipeline status](#merge-request-cannot-retrieve-the-pipeline-status) - * [Sidekiq](#sidekiq) - * [Bug](#bug) -* [Tips](#tips) - * [Checkout merge requests locally](#checkout-merge-requests-locally) - * [Checkout locally by adding a Git alias](#checkout-locally-by-adding-a-git-alias) - * [Checkout locally by modifying `.git/config` for a given repository](#checkout-locally-by-modifying-gitconfig-for-a-given-repository) - -# Reviewing and managing merge requests[](#reviewing-and-managing-merge-requests "Permalink") - -合并请求是在 GitLab 项目中更改文件的主要方法. 通过[创建并提交合并请求](creating_merge_requests.html)来提出更改,然后将其审核并接受(或拒绝). - -## View project merge requests[](#view-project-merge-requests "Permalink") - -导航到" **项目">"合并请求",**以查看项目中的所有**合并请求** . - -当您访问项目的合并请求时,GitLab 会将它们显示在列表中,并且您可以使用可用的选项卡来快速按打开和关闭进行过滤. 您还可以[搜索和过滤结果](../../search/index.html#filtering-issue-and-merge-request-lists) . - -[![Project merge requests list view](img/252e40c4dc029a21eb939cb40f715d34.png)](img/project_merge_requests_list_view.png) - -## View merge requests for all projects in a group[](#view-merge-requests-for-all-projects-in-a-group "Permalink") - -查看组中所有项目中的合并请求,包括组中所有后代子组的所有项目. 导航到**组>合并请求**以查看这些合并请求. 该视图还具有打开和关闭的合并请求选项卡. - -您可以从此处[搜索和过滤结果](../../search/index.html#filtering-issue-and-merge-request-lists) . - -[![Group Issues list view](img/1c96e8d94988240b7dc68ae02dbea405.png)](img/group_merge_requests_list_view.png) - -## Semi-linear history merge requests[](#semi-linear-history-merge-requests "Permalink") - -将为每个合并创建一个合并提交,但是只有在可能进行快速合并的情况下才合并分支. 这样可以确保如果合并请求构建成功,则合并后目标分支构建也将成功. - -导航到项目的设置,在" **合并请求:合并"方法**下选择" **使用半线性历史** **合并合并"**选项,然后保存更改. - -## View changes between file versions[](#view-changes-between-file-versions "Permalink") - -**更改**选项卡位于主要合并请求详细信息下方,并且在讨论选项卡旁边,显示了分支或提交之间文件的更改. 这种对文件更改的视图也称为**diff** . 默认情况下,差异视图将合并请求分支中的文件与目标分支中的文件进行比较. - -The diff view includes the following: - -* 文件的名称和路径. -* 添加和删​​除的行数. -* 用于以下选项的按钮: - * 切换此文件的注释; 用于内联评论. - * 在合并请求的分支中编辑文件. - * 显示完整文件,以防您要查看上下文中文件其余部分的更改. - * 在当前提交时查看文件. - * 使用[Review Apps](../../../ci/review_apps/index.html)预览更改. -* 已更改的行,突出显示了特定的更改. - -[![Example screenshot of a source code diff](img/1a3f578f317c266ca4b5d61eb91d025b.png)](img/merge_request_diff_v12_2.png) - -### Merge request diff file navigation[](#merge-request-diff-file-navigation "Permalink") - -在" **更改"**选项卡中查看更改时,可以使用文件树或文件列表来浏览差异. 在具有许多更改的大型差异中滚动时,可以使用文件树或文件列表快速跳转到任何更改的文件. - -[![Merge request diff file navigation](img/65770b50cd2119e84c6a852b44cf403d.png)](img/merge_request_diff_file_navigation.png) - -### File-by-file diff navigation[](#file-by-file-diff-navigation "Permalink") - -版本历史 - -* 在 GitLab 13.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/222790) . -* 它部署在默认情况下启用的功能标志后面. -* 建议用于生产. -* 在 GitLab.com 上启用了它. -* 对于 GitLab 自我管理的实例,GitLab 管理员可以选择[禁用它](#enable-or-disable-file-by-file-diff-navigation-core-only) . - -对于较大的合并请求,有时一次查看单个文件可能会很有用. 要启用,请从右上角导航栏上的头像,单击**"设置"** ,然后转到左侧边栏上的**"首选项"** . 向下滚动到" **行为"**部分,然后**在合并请求的"更改"标签上**选择**"一次显示一个文件"** . 点击**保存更改**以应用. - -从那里,在查看合并请求的" **更改"**选项卡时,一次只能看到一个文件. 然后,您可以单击按钮上**一个**和**下一个**以查看其他已更改的文件. - -[![File-by-file diff navigation](img/7887f58c141f9c2e749a75158e430ac6.png)](img/file_by_file_v13_2.png) - -#### Enable or disable file-by-file diff navigation[](#enable-or-disable-file-by-file-diff-navigation-core-only "Permalink") - -逐文件差异导航正在开发中,但已准备好用于生产. 它部署在**默认情况下启用**的功能标志的后面. [有权访问 GitLab Rails 控制台的 GitLab 管理员](../../../administration/feature_flags.html)可以选择为您的实例禁用它. - -要启用它: - -``` -# Instance-wide -Feature.enable(:view_diffs_file_by_file) -``` - -禁用它: - -``` -# Instance-wide -Feature.disable(:view_diffs_file_by_file>) -``` - -### Merge requests commit navigation[](#merge-requests-commit-navigation "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/18140) in GitLab 13.0. - -要在合并请求中的**提交**之间无缝导航,请从" **提交"**选项卡中,单击其中一个提交以打开单提交视图. 从那里,您可以通过单击页面右上角的**Prev**和**Next**按钮或使用`X`和`C`键盘快捷键在提交之间进行导航. - -### Incrementally expand merge request diffs[](#incrementally-expand-merge-request-diffs "Permalink") - -默认情况下,差异仅显示文件中已更改的部分. 要查看更改上方或下方的更多未更改行,请单击" **向上** **扩展"**或" **向下扩展"**图标. 您也可以单击**显示未更改的行**以展开整个文件. - -[![Incrementally expand merge request diffs](img/da60a36cf66e162640faa1f6cddaacdc.png)](img/incrementally_expand_merge_request_diffs_v12_2.png) - -在 GitLab 13.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/205401) ,当查看合并请求的**更改**选项卡时,如果仅重命名了某个文件,则可以通过单击**显示文件内容**展开它以查看全部**内容** . - -### Ignore whitespace changes in Merge Request diff view[](#ignore-whitespace-changes-in-merge-request-diff-view "Permalink") - -如果单击" **隐藏空白更改"**按钮,则可以看到没有空白更改的差异(如果有的话). 在特定的提交页面上,这也可以工作. - -[![MR diff](img/1a097c142decf7d516165322a0f7b880.png)](img/merge_request_diff.png) - -> **提示:**您可以在合并请求的差异页面上附加`?w=1` ,以忽略任何空格更改. - -## Perform inline code reviews[](#perform-inline-code-reviews "Permalink") - -在 GitLab 11.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/13950) . - -GitLab 提供了一种在合并请求中更改文件的任何部分中保留注释的方法. 为此,请在"合并请求"差异 UI 的装订线中单击**…**按钮以展开差异行并留下评论,就像更改行一样. - -[![Comment on any diff file line](img/9aa51957855aec8590e352694fe75d5d.png)](img/comment-on-any-diff-line.png) - -## Pipeline status in merge requests widgets[](#pipeline-status-in-merge-requests-widgets "Permalink") - -如果您在项目中设置了[GitLab CI / CD](../../../ci/README.html) ,您将能够看到: - -* 合并前和合并后管道以及环境信息(如果有). -* 正在进行哪些部署. - -如果存在[环境](../../../ci/environments/index.html)并且已将应用程序成功部署到该环境,则还将显示已部署的环境以及指向 Review App 的链接. - -### Post-merge pipeline status[](#post-merge-pipeline-status "Permalink") - -合并请求合并后,可以看到合并请求合并到的分支的合并后管道状态. 例如,当合并请求合并到 master 分支中,然后触发到暂存环境的部署时. - -将显示正在进行的部署,以及环境的部署/部署状态. 如果是第一次部署分支,则该链接将返回`404`错误,直到完成. 在部署期间,停止按钮将被禁用. 如果管道无法部署,则部署信息将被隐藏. - -[![Merge request pipeline](img/1c4eef7cdb82fd840a9facad4ee93d6b.png)](img/merge_request_pipeline.png) - -有关更多信息,请[阅读有关管道](../../../ci/pipelines/index.html) . - -### Merge when pipeline succeeds (MWPS)[](#merge-when-pipeline-succeeds-mwps "Permalink") - -设置一个看起来准备合并的合并请求,以[在 CI 管道成功时自动合并](merge_when_pipeline_succeeds.html) . - -### Live preview with Review Apps[](#live-preview-with-review-apps "Permalink") - -如果为项目配置了[Review Apps](https://about.gitlab.com/stages-devops-lifecycle/review-apps/) ,则可以逐分支预览通过合并请求提交给功能分支的更改. 无需检出分支机构,在本地安装和预览; 带有"评论应用"链接的任何人都可以预览所有更改. - -设置了 GitLab 的" [路线图"后](../../../ci/review_apps/index.html#route-maps) ,合并请求小部件会将您直接带到已更改的页面,从而使预览建议的修改变得更加轻松快捷. - -[Read more about Review Apps](../../../ci/review_apps/index.html). - -## Associated features[](#associated-features "Permalink") - -还有大量与合并请求关联的功能: - -| Feature | Description | -| --- | --- | -| [Bulk editing merge requests](../../project/bulk_editing.html) | 同时更新多个合并请求的属性. | -| [Cherry-pick changes](cherry_pick_changes.html) | 只需在合并的合并请求或提交中单击**Cherry-pick**按钮,即可在 UI 中 Cherry-pick 任何**选择** . | -| [Fast-forward merge requests](fast_forward_merge.html) | 有关线性 Git 历史记录以及接受合并请求而不创建合并提交的方法 | -| [Find the merge request that introduced a change](versions.html) | 当查看提交详细信息页面时,GitLab 将链接到包含该提交的合并请求. | -| [Merge requests versions](versions.html) | 选择并比较合并请求差异的不同版本 | -| [Resolve conflicts](resolve_conflicts.html) | GitLab 可以提供选项来解决 GitLab UI 中的某些合并请求冲突. | -| [Revert changes](revert_changes.html) | 从合并请求中的任何提交还原更改. | - -## Troubleshooting[](#troubleshooting "Permalink") - -有时,合并请求中的操作并没有按预期进行,这是一些故障排除步骤. - -### Merge request cannot retrieve the pipeline status[](#merge-request-cannot-retrieve-the-pipeline-status "Permalink") - -如果 Sidekiq 没有足够快地进行更改,则会发生这种情况. - -#### Sidekiq[](#sidekiq "Permalink") - -Sidekiq 没有足够快地处理 CI 状态更改. 请等待几秒钟,状态将自动更新. - -#### Bug[](#bug "Permalink") - -发生以下情况时,无法检索合并请求管道的状态: - -1. 创建合并请求 -2. 合并请求已关闭 -3. 在项目中进行了更改 -4. 合并请求被重新打开 - -要正确检索管道状态,请再次关闭并重新打开"合并请求". - -## Tips[](#tips "Permalink") - -以下是一些技巧,可帮助您在命令行中更有效地处理合并请求. - -> **注意:**此部分将来可能会在其自己的文档中移动. - -### Checkout merge requests locally[](#checkout-merge-requests-locally "Permalink") - -合并请求包含来自存储库的所有历史记录,以及添加到与合并请求关联的分支的其他提交. 这是一些在本地检出合并请求的技巧. - -请注意,即使源项目是目标项目的分支(甚至是私有分支),也可以在本地签出合并请求. - -#### Checkout locally by adding a Git alias[](#checkout-locally-by-adding-a-git-alias "Permalink") - -将以下别名添加到`~/.gitconfig` : - -``` -[alias] - mr = !sh -c 'git fetch $1 merge-requests/$2/head:mr-$1-$2 && git checkout mr-$1-$2' - -``` - -现在,您可以从任何存储库和任何远程签出特定的合并请求. 例如,要从`origin`远程服务器签出 ID 为 5 的合并请求(如 GitLab 所示),请执行以下操作: - -``` -git mr origin 5 -``` - -这会将合并请求提取到本地`mr-origin-5`分支中,并检出它. - -#### Checkout locally by modifying `.git/config` for a given repository[](#checkout-locally-by-modifying-gitconfig-for-a-given-repository "Permalink") - -在`.git/config`文件中找到适用于 GitLab 遥控器的部分. 看起来像这样: - -``` -[remote "origin"] - url = https://gitlab.com/gitlab-org/gitlab-foss.git - fetch = +refs/heads/*:refs/remotes/origin/* -``` - -您可以使用以下方式打开文件: - -``` -git config -e -``` - -现在,将以下行添加到上面的部分: - -``` -fetch = +refs/merge-requests/*/head:refs/remotes/origin/merge-requests/* -``` - -最后,它应如下所示: - -``` -[remote "origin"] - url = https://gitlab.com/gitlab-org/gitlab-foss.git - fetch = +refs/heads/*:refs/remotes/origin/* - fetch = +refs/merge-requests/*/head:refs/remotes/origin/merge-requests/* -``` - -现在,您可以获取所有合并请求: - -``` -git fetch origin - -... -From https://gitlab.com/gitlab-org/gitlab-foss.git - * [new ref] refs/merge-requests/1/head -> origin/merge-requests/1 - * [new ref] refs/merge-requests/2/head -> origin/merge-requests/2 -... -``` - -并检查特定的合并请求: - -``` -git checkout origin/merge-requests/1 -``` - -以上所有操作均可通过[`git-mr`](https://gitlab.com/glensc/git-mr)脚本完成. \ No newline at end of file diff --git a/docs/126.md b/docs/126.md deleted file mode 100644 index 2caaf12..0000000 --- a/docs/126.md +++ /dev/null @@ -1,123 +0,0 @@ -# Squash and merge - -> 原文:[https://docs.gitlab.com/ee/user/project/merge_requests/squash_and_merge.html](https://docs.gitlab.com/ee/user/project/merge_requests/squash_and_merge.html) - -* [Overview](#overview) -* [Use cases](#use-cases) -* [Enabling squash for a merge request](#enabling-squash-for-a-merge-request) -* [Commit metadata for squashed commits](#commit-metadata-for-squashed-commits) -* [Squash and fast-forward merge](#squash-and-fast-forward-merge) -* [Squash Commits Options](#squash-commits-options) - * [Enable or disable Squash Commit Options](#enable-or-disable-squash-commit-options-core-only) - -# Squash and merge[](#squash-and-merge "Permalink") - -版本历史 - -* 在[GitLab Starter](https://about.gitlab.com/pricing/) 8.17 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/1024) . -* [移植](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/18956)到 GitLab Core 11.0\. - -使用 squash 和 merge,您可以将所有合并请求的提交合并为一个并保留干净的历史记录. - -## Overview[](#overview "Permalink") - -通过压接,您可以在接受合并请求时整理分支的提交历史记录. 它将合并请求中的所有更改作为单个提交应用,然后使用为项目设置的合并方法合并该提交. - -换句话说,挤压合并请求会变成一长串提交: - -[![List of commits from a merge request](img/f2d420adddd87cc8087fea62246e7b67.png)](img/squash_mr_commits.png) - -合并为单个提交: - -[![A squashed commit followed by a merge commit](img/e81fe926a5b379f37dfc5af80b8f83f3.png)](img/squash_squashed_commit.png) - -压缩的提交的提交消息将是: - -* 取自合并中的第一条多行提交消息. -* 如果找不到多行提交消息,则合并请求的标题. - -**注意:**仅在至少 2 次提交时,此选项才生效. 由于没有什么可压缩的,因此如果只有 1 次提交,则提交消息不会更改. - -可以在合并合并请求之前对其进行自定义. - -[![A squash commit message editor](img/618ce3d47266d9b45262489065b68cf7.png)](img/squash_mr_message.png) - -**注意:**在此示例中,压缩的提交之后是合并提交,因为此示例存储库的合并方法使用了合并提交. - -压缩也适用于快进合并策略,有关更多详细信息,请参见[压缩和快进合并](#squash-and-fast-forward-merge) . - -## Use cases[](#use-cases "Permalink") - -在功能分支上工作时,有时您想提交当前进度,但实际上并不关心提交消息. 这些"进行中的提交"不一定包含重要的信息,因此,您宁愿不将其包含在目标分支中. - -使用 squash 和 merge,当准备好要合并的合并请求时,您要做的就是在按下 merge 之前将挤压启用,以将合并请求中的提交加入到单个提交中. - -这样,您的基本分支的历史记录将保留有意义的提交消息,并且: - -* 如有必要, [还原](revert_changes.html)更为简单. -* 合并的分支将保留完整的提交历史记录. - -## Enabling squash for a merge request[](#enabling-squash-for-a-merge-request "Permalink") - -可以创建或编辑合并请求的任何人都可以选择将其压缩在合并请求表单上: - -[![Squash commits checkbox on edit form](img/fd54213f0e98a4b2f6482ab98d497410.png)](img/squash_edit_form.png) - -然后可以在接受合并请求时覆盖它: - -[![Squash commits checkbox on accept merge request form](img/3667bc1901823963df25df8a2458047a.png)](img/squash_mr_widget.png) - -## Commit metadata for squashed commits[](#commit-metadata-for-squashed-commits "Permalink") - -压缩的提交具有以下元数据: - -* 消息:壁球提交消息或自定义消息. -* 作者:合并请求的作者. -* 提交者:发起壁球的用户. - -## Squash and fast-forward merge[](#squash-and-fast-forward-merge "Permalink") - -当项目[启用](fast_forward_merge.html#enabling-fast-forward-merges)了[快进合并设置时](fast_forward_merge.html#enabling-fast-forward-merges) ,合并请求必须能够不压缩而进行快速转发以进行压缩. 这是因为压缩仅在接受合并请求时可用,因此即使挤压本身可以被认为等同于重新基准化,也可能需要在压缩之前对合并请求进行重新基准化. - -## Squash Commits Options[](#squash-commits-options "Permalink") - -版本历史 - -* 在 GitLab 13.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/17613) . -* 它部署在功能标记后面,默认情况下处于禁用状态. -* 在 GitLab.com 上已禁用. -* 不建议将其用于生产. -* 要在 GitLab 自管实例中使用它,请让 GitLab 管理员[启用它](#enable-or-disable-squash-commit-options-core-only) . - -使用 Squash Commits Options,您可以为项目配置 Squash 和 Merge 的行为. 要进行设置,请导航至项目的**设置>常规,**然后展开**合并请求** . 您将找到以下选项可供选择,这将影响提交给您的项目的现有和新合并请求: - -* **不允许** :用户不能在合并之前立即使用 Squash 和 Merge 来压缩所有提交. 启用或禁用它的复选框将被取消选中,并且对用户隐藏. -* **Allow**: users will have the option to enable Squash and Merge on a merge request basis. The checkbox will be unchecked (disabled) by default, but and the user is allowed to enable it. -* **鼓励** :用户可以选择在合并请求的基础上启用 Squash 和 Merge. 默认情况下会选中(启用)该复选框以鼓励使用,但允许用户禁用它. -* **要求** :对所有合并请求都启用了"挤压和合并",因此将始终执行. 启用或禁用它的复选框将被选中并向用户隐藏. - -创建合并请求以及编辑现有请求的描述时,将显示" Squash and Merge"复选框,但" Squash Commit Options"设置为**"不允许"**或" **Require"**时除外. - -**注意:**如果您的项目设置为**"不允许**挤压和合并",则用户仍然可以选择通过命令行在本地挤压提交,并在合并之前强制将其推送到其远程分支. - -### Enable or disable Squash Commit Options[](#enable-or-disable-squash-commit-options-core-only "Permalink") - -壁球提交选项正在开发中,尚未准备好用于生产. 它部署在**默认情况下禁用**的功能标志的后面. [有权访问 GitLab Rails 控制台的 GitLab 管理员](../../../administration/feature_flags.html)可以为您的实例启用它. 可以根据项目启用或禁用壁球提交选项. - -要启用它: - -``` -# Instance-wide -Feature.enable(:squash_options) -# or by project -Feature.enable(:squash_options, Project.find(<project id>)) -``` - -禁用它: - -``` -# Instance-wide -Feature.disable(:squash_options) -# or by project -Feature.disable(:squash_options, Project.find(<project id>)) -``` \ No newline at end of file diff --git a/docs/127.md b/docs/127.md deleted file mode 100644 index 556beb0..0000000 --- a/docs/127.md +++ /dev/null @@ -1,49 +0,0 @@ -# Merge requests versions - -> 原文:[https://docs.gitlab.com/ee/user/project/merge_requests/versions.html](https://docs.gitlab.com/ee/user/project/merge_requests/versions.html) - -* [Selecting a version](#selecting-a-version) -* [Find the merge request that introduced a change](#find-the-merge-request-that-introduced-a-change) -* [`HEAD` comparison mode for Merge Requests](#head-comparison-mode-for-merge-requests) - -# Merge requests versions[](#merge-requests-versions "Permalink") - -每次您推送到与合并请求绑定的分支时,都会创建新版本的合并请求 diff. 当您访问包含多个推送的合并请求时,可以选择并比较那些合并请求差异的版本. - -[![Merge request versions](img/0d2f752f5d8c7352da5333f4f0d27835.png)](img/versions.png) - -## Selecting a version[](#selecting-a-version "Permalink") - -默认情况下,显示更改的最新版本. 但是,您可以从版本下拉列表中选择一个较旧的版本. - -[![Merge request versions dropdown](img/1864a1996bbb1636d65648dd8b0857df.png)](img/versions_dropdown.png) - -合并请求版本基于推送而不是提交. 因此,如果您单次推送了 5 次提交,那么下拉菜单中的选项就是一个. 如果您按了 5 次,则算上 5 个选项. - -您还可以将合并请求版本与旧版本进行比较,以查看此后发生了什么变化. - -[![Merge request versions compare](img/f0a8b71ac0a74f03724937e45e8782b9.png)](img/versions_compare.png) - -在查看过时的合并版本或与基本版本以外的版本进行比较时,将禁用注释. - -每次将新更改推送到分支时,系统都会显示一个用于比较最后更改的链接. - -[![Merge request versions system note](img/8201105b83669750c4d60036b41f6c6d.png)](img/versions_system_note.png) - -## Find the merge request that introduced a change[](#find-the-merge-request-that-introduced-a-change "Permalink") - -在 GitLab 10.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/2383) . - -在查看提交详细信息页面时,GitLab 将链接到包含该提交的合并请求(或合并请求,如果存在多个). - -这仅适用于最新版本的合并请求中的提交-如果某个提交位于合并请求中,然后根据该合并请求重新建立基础,则不会链接它们. - -## `HEAD` comparison mode for Merge Requests[](#head-comparison-mode-for-merge-requests "Permalink") - -在 GitLab 12.10 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/27008) . - -合并请求(尤其是" **更改"**选项卡)是查看和讨论源代码的地方. 在目标分支被合并到合并请求的源分支的情况下,源分支和目标分支中的更改可以显示为混合在一起,这使得很难理解目标分支中正在添加哪些更改以及已经存在哪些更改. - -在 GitLab 12.10 中,我们添加了一个比较模式,该模式显示了通过模拟合并后的差异计算出的差异-更准确地表示更改,而不是使用两个分支的基础. 通过选择**master(HEAD),**可以从比较目标下拉列表中使用新模式. 将来它将[替换](https://gitlab.com/gitlab-org/gitlab/-/issues/198458)当前的默认比较. - -[![Merge request versions compare HEAD](img/3478cae6da4e529f7c9cf2f4e71dd462.png)](img/versions_compare_head_v12_10.png) \ No newline at end of file diff --git a/docs/128.md b/docs/128.md deleted file mode 100644 index f4946df..0000000 --- a/docs/128.md +++ /dev/null @@ -1 +0,0 @@ -> 原文:[https://docs.gitlab.com/ee/user/project/merge_requests/authorization_for_merge_requests.html](https://docs.gitlab.com/ee/user/project/merge_requests/authorization_for_merge_requests.html) \ No newline at end of file diff --git a/docs/129.md b/docs/129.md deleted file mode 100644 index 414fe24..0000000 --- a/docs/129.md +++ /dev/null @@ -1,38 +0,0 @@ -# Draft merge requests - -> 原文:[https://docs.gitlab.com/ee/user/project/merge_requests/work_in_progress_merge_requests.html](https://docs.gitlab.com/ee/user/project/merge_requests/work_in_progress_merge_requests.html) - -* [Adding the “Draft” flag to a merge request](#adding-the-draft-flag-to-a-merge-request) -* [Removing the “Draft” flag from a merge request](#removing-the-draft-flag-from-a-merge-request) -* [Including/excluding WIP merge requests when searching](#includingexcluding-wip-merge-requests-when-searching) - -# Draft merge requests[](#draft-merge-requests "Permalink") - -如果合并请求尚未准备好进行合并(可能是由于持续的开发或开放的线程),则可以通过将其标记为**Draft**来阻止在合并之前接受该合并请求. 这将禁用"合并"按钮,从而防止其被合并,并且在删除"草稿"标志之前它将保持禁用状态. - -[![Blocked Merge Button](img/284b72b1bfc8d5679fdaa384932b3b8c.png)](img/draft_blocked_merge_button_v13_2.png) - -## Adding the “Draft” flag to a merge request[](#adding-the-draft-flag-to-a-merge-request "Permalink") - -在 GitLab 13.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/32692)的在进行中(WIP)合并请求已重命名为**Draft** . 在 GitLab 14.0 中将删除对使用**WIP 的**支持. - -There are several ways to flag a merge request as a Draft: - -* 将`[Draft]` , `Draft:`或`(Draft)`到合并请求标题的开头. 单击标题框下的" **以草稿开始标题:** ",在编辑合并请求的描述时将具有相同的效果. -* **不推荐使用**将`[WIP]`或`WIP:`添加到合并请求标题的开头. **WIP**仍然有效,但不赞成使用**Draft** . 它将在下一个主要版本(GitLab 14.0)中删除. -* 在合并请求的注释中添加`/wip` [快速操作](../quick_actions.html#quick-actions-for-issues-merge-requests-and-epics) . 这是一个切换,可以重复进行以将状态改回. 请注意,注释中的任何其他文本将被丢弃. -* 将`draft:`或`Draft:`添加到针对合并请求的源分支的提交消息的开头. 这不是切换,并且在另一次提交中再次执行将无效. - -## Removing the “Draft” flag from a merge request[](#removing-the-draft-flag-from-a-merge-request "Permalink") - -与上述类似,当准备合并请求时,可以通过以下几种方式删除" `Draft`标志: - -* 从合并请求标题的开头删除`[Draft]` , `Draft:`或`(Draft)` . 在编辑合并请求的描述时,在标题框下单击" **从标题中删除草稿:"前缀** ,将具有相同的效果. -* 在合并请求的注释中添加`/wip` [快速操作](../quick_actions.html#quick-actions-for-issues-merge-requests-and-epics) . 这是一个切换,可以重复进行以将状态改回. 请注意,注释中的任何其他文本将被丢弃. -* 点击靠近合并请求描述底部的**解决草案状态**按钮,旁边的**合并**按钮(见[上面的图片](#draft-merge-requests) ). 必须对该项目至少具有开发人员级别的权限,该按钮才可见. - -## Including/excluding WIP merge requests when searching[](#includingexcluding-wip-merge-requests-when-searching "Permalink") - -查看/搜索合并请求列表时,可以通过在搜索框中添加" WIP"过滤器,然后选择"是"(包括)或"否"(排除)来选择包括或排除 WIP 合并请求. - -[![Filter WIP MRs](img/fa591f90dc1e8840fe7fd692f24dcffe.png)](img/filter_wip_merge_requests.png) \ No newline at end of file diff --git a/docs/130.md b/docs/130.md deleted file mode 100644 index da43cee..0000000 --- a/docs/130.md +++ /dev/null @@ -1,131 +0,0 @@ -# Members of a project - -> 原文:[https://docs.gitlab.com/ee/user/project/members/](https://docs.gitlab.com/ee/user/project/members/) - -* [Inherited membership](#inherited-membership) -* [Add a user](#add-a-user) -* [Import users from another project](#import-users-from-another-project) -* [Invite people using their e-mail address](#invite-people-using-their-e-mail-address) -* [Project membership and requesting access](#project-membership-and-requesting-access) -* [Share project with group](#share-project-with-group) -* [Remove a member from the project](#remove-a-member-from-the-project) - -# Members of a project[](#members-of-a-project "Permalink") - -您可以在所有项目中管理组和用户及其访问级别. 您还可以个性化为每个项目赋予每个用户的访问级别. - -您应该具有维护者或所有者[权限,](../../permissions.html)才能将新用户添加或导入到项目中. - -要查看,编辑,添加和删除项目的成员,请转到项目的**成员** . - -## Inherited membership[](#inherited-membership "Permalink") - -当您的项目属于该组时,组成员将从该组继承该项目的成员资格和权限级别. - -[![Project members page](img/3f64ac42c5324a759f292fa0f7e4d991.png)](img/project_members.png) - -从上图可以得出以下几点: - -* 有 3 个成员可以访问该项目. -* User0 是记者,并且已从包含当前项目的组`demo`继承了他们的权限. -* 对于 User1,没有组的指示,因此它们直接属于我们正在检查的项目. -* 管理员是**所有**组的所有者和所有者,因此,有迹象表明祖先组和继承的所有者权限. - -[在 GitLab 12.6 中](https://gitlab.com/gitlab-org/gitlab/-/issues/21727) ,您可以使用右侧的下拉列表过滤此列表: - -[![Project members filter](img/4d5fab6dd3f65351ba798d87517db0bd.png)](img/project_members_filter_v12_6.png) - -* **仅显示直接成员**仅显示 User1. -* **仅显示继承的成员将**显示 User0 和 Administrator. - -## Add a user[](#add-a-user "Permalink") - -旁边的**人** ,开始输入要添加的用户的姓名或用户名. - -[![Search for people](img/5d98850d2ad30c43029645c8c0486059.png)](img/add_user_search_people.png) - -选择用户以及您要赋予该用户的[权限级别](../../permissions.html) . 请注意,您可以选择多个用户. - -[![Give user permissions](img/c736ba09ab7186102250ad9e624d79c1.png)](img/add_user_give_permissions.png) - -完成后,点击**将用户添加到项目中** ,这些**用户**将立即使用您在上面授予他们的权限添加到您的项目中. - -[![List members](img/a94b1f6b20cc665168a8d8359d195f78.png)](img/add_user_list_members.png) - -从那里开始,您可以删除现有用户或更改其对项目的访问级别. - -## Import users from another project[](#import-users-from-another-project "Permalink") - -您可以通过单击" **成员"**菜单右上角的" **导入成员"**按钮,将另一个项目的用户导入您自己的项目中. - -在下拉菜单中,您只能看到维护者所在的项目. - -[![Import members from another project](img/4c34240e5c09caa62a018e3d109c1ba3.png)](img/add_user_import_members_from_another_project.png) - -选择所需的一个,然后单击" **导入项目成员"** . 将会出现一条简短的消息,通知您导入已成功,并且新成员现在位于项目的成员列表中. 请注意,保留了他们对您从中导入的项目的权限. - -[![Members list of new members](img/f9a1ce8fe1042543bc2355950f642a05.png)](img/add_user_imported_members.png) - -## Invite people using their e-mail address[](#invite-people-using-their-e-mail-address "Permalink") - -如果要授予访问权限的用户在您的 GitLab 实例上没有帐户,则可以通过在用户搜索字段中键入其电子邮件地址来邀请他们. - -[![Invite user by mail](img/27d6bf9eb64fd8e4298e7a2a8ae64983.png)](img/add_user_email_search.png) - -可以想象,您可以混合邀请多个人并将现有的 GitLab 用户添加到项目中. - -[![Invite user by mail ready to submit](img/1fa927abbc0d78f64822dcc6c7295cd4.png)](img/add_user_email_ready.png) - -完成后,点击" **将用户添加到项目中",**然后观察到有一个新成员具有我们上面使用的电子邮件地址. 在此之后,您可以重新发送邀请,更改其访问级别,甚至删除它们. - -[![Invite user members list](img/878c3488cf7403499b80fcd402198e32.png)](img/add_user_email_accept.png) - -用户接受邀请后,将提示他们使用邀请发送到的相同电子邮件地址创建一个新的 GitLab 帐户. - -## Project membership and requesting access[](#project-membership-and-requesting-access "Permalink") - -项目所有者可以: - -* 允许非成员请求访问该项目. -* 防止非会员请求访问. - -要进行配置,请转到项目设置,然后单击**允许用户请求访问权限** . - -GitLab 用户可以请求成为项目成员. 转到您要加入的项目,然后单击屏幕右侧的" **请求访问**权"按钮. - -[![Request access button](img/1ff79a3af1496b3e864efbcf5f93307f.png)](img/request_access_button.png) - -请求访问后: - -* 通过电子邮件将最多十个项目维护者通知该请求. 电子邮件被发送给最近活跃的项目维护者. -* 任何项目维护者都可以在成员页面上批准或拒绝该请求. - -**注意:**如果项目没有任何维护者,则将通知发送给该项目组的最近活动的所有者. - -[![Manage access requests](img/083580c1827d40263d500a21f072249f.png)](img/access_requests_management.png) - -如果您在批准请求之前改变主意,只需单击" **撤回访问请求"**按钮. - -[![Withdraw access request button](img/dbb89cfb3c7539310a17d809c65c34a5.png)](img/withdraw_access_request_button.png) - -## Share project with group[](#share-project-with-group "Permalink") - -或者,您可以[与整个组共享一个项目,](share_project_with_groups.html)而不是一个一个地添加用户. - -## Remove a member from the project[](#remove-a-member-from-the-project "Permalink") - -只有[拥有所有者](../../permissions.html#group-members-permissions)权限的[用户](../../permissions.html#group-members-permissions)才能管理项目成员. - -如果给定成员在项目中具有直接成员资格,则可以从项目中删除用户. 如果成员资格是从父组继承的,则该成员只能从父组本身中删除. - -删除成员时,您可以决定是从所有问题中取消分配用户,还是合并当前已分配的请求,还是保留分配. - -* 当用户离开私有项目并且您希望撤消他们对所有问题和已分配的合并请求的访问时,从所有问题和合并请求中**取消分配已删除的成员**可能会有所帮助. -* **保留问题和合并请求的分配**可能对于接受公共贡献的项目很有帮助,在这些项目中,用户不必成为成员就可以为问题和合并请求做出贡献. - -To remove a member from a project: - -1. 在一个项目中,转到 **成员们** . -2. 点击**删除** 要删除的项目成员旁边的按钮. 出现" **删除成员"**模态. -3. (可选)选中" **也从相关问题中取消分配此用户并合并请求"**复选框. -4. Click **删除会员**. \ No newline at end of file diff --git a/docs/131.md b/docs/131.md deleted file mode 100644 index 2bc50f1..0000000 --- a/docs/131.md +++ /dev/null @@ -1,62 +0,0 @@ -# Migrating projects to a GitLab instance - -> 原文:[https://docs.gitlab.com/ee/user/project/import/](https://docs.gitlab.com/ee/user/project/import/) - -* [Migrating from self-managed GitLab to GitLab.com](#migrating-from-self-managed-gitlab-to-gitlabcom) -* [Migrating from GitLab.com to self-managed GitLab](#migrating-from-gitlabcom-to-self-managed-gitlab) -* [Migrating between two self-managed GitLab instances](#migrating-between-two-self-managed-gitlab-instances) - -# Migrating projects to a GitLab instance[](#migrating-projects-to-a-gitlab-instance "Permalink") - -1. [From Bitbucket Cloud](bitbucket.html) -2. [From Bitbucket Server (also known as Stash)](bitbucket_server.html) -3. [From ClearCase](clearcase.html) -4. [From CVS](cvs.html) -5. [From FogBugz](fogbugz.html) -6. [From GitHub.com or GitHub Enterprise](github.html) -7. [From GitLab.com](gitlab_com.html) -8. [From Gitea](gitea.html) -9. [From Perforce](perforce.html) -10. [From SVN](svn.html) -11. [From TFVC](tfvc.html) -12. [From repo by URL](repo_by_url.html) -13. [By uploading a manifest file (AOSP)](manifest.html) -14. [From Gemnasium](gemnasium.html) -15. [From Phabricator](phabricator.html) -16. [From Jira (issues only)](jira.html) - -除了上述特定的迁移文档之外,您还可以从 New Project 页面通过 HTTP 导入任何 Git 存储库. 请注意,如果存储库太大,则导入可能会超时. - -还可以选择[连接您的外部存储库以获得 CI / CD 好处](../../../ci/ci_cd_for_external_repos/index.html) . - -## Migrating from self-managed GitLab to GitLab.com[](#migrating-from-self-managed-gitlab-to-gitlabcom "Permalink") - -如果只需要迁移 Git 仓库,则可以[通过 URL 导入每个项目](repo_by_url.html) . 问题和合并请求无法导入. - -如果要保留所有元数据(例如问题和合并请求),则可以使用[导入/导出功能](../settings/import_export.html)从自我管理的 GitLab 导出项目,并将这些项目导入 GitLab.com. - -所有的 GitLab 用户关联(例如评论作者)都将更改为导入项目的用户. 有关更多信息,请参阅[导入说明](../settings/import_export.html#important-notes) . - -如果您需要迁移所有数据,则可以利用我们的[API](../../../api/README.html)从自我管理迁移到 GitLab.com. 从自我管理实例迁移到 GitLab.com 的资产顺序如下: - -**注意:**迁移到 GitLab.com 时,除非要使用[SCIM,](../../../user/group/saml_sso/scim_setup.html)否则需要手动创建用户. 使用 API​​创建用户仅限于自我管理的实例,因为它需要管理员访问权限. - -1. [Groups](../../../api/groups.html) -2. [Projects](../../../api/projects.html) -3. [Project variables](../../../api/project_level_variables.html) - -请记住[导入/导出功能](../settings/import_export.html#exported-contents)的局限性. - -您仍然需要通过一系列 Docker 推和推来迁移 Container Registry,并重新运行任何 CI 管道以检索任何构建工件. - -## Migrating from GitLab.com to self-managed GitLab[](#migrating-from-gitlabcom-to-self-managed-gitlab "Permalink") - -该过程与[从自我管理的 GitLab 迁移到 GitLab.com](#migrating-from-self-managed-gitlab-to-gitlabcom)的过程基本相同. 主要区别在于,管理员可以通过 UI 或[用户 API](../../../api/users.html#user-creation)在自助 GitLab 实例上创建[用户](../../../api/users.html#user-creation) . - -## Migrating between two self-managed GitLab instances[](#migrating-between-two-self-managed-gitlab-instances "Permalink") - -The best method for migrating from one GitLab instance to another, perhaps from an old server to a new server for example, is to [back up the instance](../../../raketasks/backup_restore.html), then restore it on the new server. - -如果将两个 GitLab 实例合并在一起(例如,两个实例上都有现有数据,并且不能擦除),请参阅[从自我管理的 GitLab 迁移到 GitLab.com 中的说明](#migrating-from-self-managed-gitlab-to-gitlabcom) . - -此外,您可以将用户[API](../../../api/users.html)与管理员用户一起使用来迁移用户. \ No newline at end of file diff --git a/docs/132.md b/docs/132.md deleted file mode 100644 index ca6a25b..0000000 --- a/docs/132.md +++ /dev/null @@ -1,64 +0,0 @@ -# Import your project from Bitbucket Cloud to GitLab - -> 原文:[https://docs.gitlab.com/ee/user/project/import/bitbucket.html](https://docs.gitlab.com/ee/user/project/import/bitbucket.html) - -* [Overview](#overview) -* [Requirements](#requirements) -* [How it works](#how-it-works) -* [Import your Bitbucket repositories](#import-your-bitbucket-repositories) -* [Troubleshooting](#troubleshooting) - -# Import your project from Bitbucket Cloud to GitLab[](#import-your-project-from-bitbucket-cloud-to-gitlab "Permalink") - -**注意:** Bitbucket Cloud 导入程序仅适用于 Bitbucket.org,不适用于 Bitbucket Server(又名 Stash). 如果您尝试从 Bitbucket Server 导入项目,请使用[Bitbucket Server importer](bitbucket_server.html) . - -轻松地将项目从 Bitbucket Cloud 导入到 GitLab. - -## Overview[](#overview "Permalink") - -* 在当前状态下,Bitbucket 导入器可以导入: - * 仓库描述(GitLab 7.7+) - * Git 存储库数据(GitLab 7.7+) - * 问题(GitLab 7.7+) - * 问题评论(GitLab 8.15+) - * 拉取请求(GitLab 8.4+) - * 拉取请求注释(GitLab 8.15+) - * 里程碑(GitLab 8.15+) - * Wiki(GitLab 8.15+) -* 保留对拉取请求和问题的引用(GitLab 8.7+) -* 知识库公共访问权限保留. 如果存储库在 Bitbucket 中是私有的,则它也会在 GitLab 中也创建为私有的. - -## Requirements[](#requirements "Permalink") - -必须首先启用[Bitbucket Cloud 集成](../../../integration/bitbucket.html) ,以便能够从 Bitbucket Cloud 导入项目. 请您的 GitLab 管理员启用该功能(如果尚未启用). - -## How it works[](#how-it-works "Permalink") - -当导入问题/拉取请求时,Bitbucket 导入程序将尝试使用 Bitbucket `nickname`在 GitLab 的数据库中查找 Bitbucket 作者/受让人. 为此,Bitbucket 作者/受让人应事先在 GitLab 中登录并**关联其 Bitbucket 帐户** . 他们的`nickname`也必须与他们的 Bitbucket `username.`匹配`username.` . 如果在 GitLab 的数据库中找不到该用户,则将项目创建者(大多数情况下,当前用户已开始导入过程)设置为作者,但保留有关原始 Bitbucket 作者的问题的参考. - -如果不存在任何新的名称空间(组),或者如果采用了该名称空间,则导入器将创建任何新的名称空间(组),存储库将在启动导入过程的用户名称空间下导入. - -## Import your Bitbucket repositories[](#import-your-bitbucket-repositories "Permalink") - -1. Sign in to GitLab and go to your dashboard. -2. 单击**新建项目** . - -3. 点击" Bitbucket Cloud"按钮. - - [![Bitbucket](img/33da6433c882c8bcc4c699a4e0008b7c.png)](img/import_projects_from_new_project_page.png) - -4. 授予 GitLab 访问您的 Bitbucket 帐户的权限 - - [![Grant access](img/ea804dce7429c547bcf0703446150f59.png)](img/bitbucket_import_grant_access.png) - -5. 点击您要**导入的项目**或**导入所有项目** . 您还可以按名称过滤项目,并选择将在其下导入每个项目的名称空间. - - [![Import projects](img/01df5698e4465e052dcb7bf0ed6a55ae.png)](img/bitbucket_import_select_project_v12_3.png) - -## Troubleshooting[](#troubleshooting "Permalink") - -如果您拥有多个 Bitbucket 帐户,请确保登录正确的帐户. 如果您不小心以错误的帐户启动了导入过程,请按照以下步骤操作: - -1. 撤消对您的 Bitbucket 帐户的 GitLab 访问,实质上是通过以下过程来逆转该过程: [导入 Bitbucket 存储库](#import-your-bitbucket-repositories) . - -2. 退出 Bitbucket 帐户. 请遵循上一步中链接的过程. \ No newline at end of file diff --git a/docs/133.md b/docs/133.md deleted file mode 100644 index bb2ceec..0000000 --- a/docs/133.md +++ /dev/null @@ -1,71 +0,0 @@ -# Import your project from Bitbucket Server to GitLab - -> 原文:[https://docs.gitlab.com/ee/user/project/import/bitbucket_server.html](https://docs.gitlab.com/ee/user/project/import/bitbucket_server.html) - -* [Overview](#overview) -* [Limitations](#limitations) -* [How it works](#how-it-works) - * [User assignment](#user-assignment) -* [Importing your Bitbucket repositories](#importing-your-bitbucket-repositories) -* [Troubleshooting](#troubleshooting) - -# Import your project from Bitbucket Server to GitLab[](#import-your-project-from-bitbucket-server-to-gitlab "Permalink") - -在 GitLab 11.2 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/20164) . - -**注意:** Bitbucket Server 导入程序不适用于[Bitbucket Cloud](https://bitbucket.org) . 为此,请使用[Bitbucket Cloud 导入](bitbucket.html)程序. - -轻松地将项目从 Bitbucket Server 导入到 GitLab. - -## Overview[](#overview "Permalink") - -* 在当前状态下,Bitbucket 导入器可以导入: - * 仓库描述(GitLab 11.2+) - * Git 存储库数据(GitLab 11.2+) - * 拉取请求(GitLab 11.2+) - * 拉取请求注释(GitLab 11.2+) -* 知识库公共访问权限保留. 如果存储库在 Bitbucket 中是私有的,则它也会在 GitLab 中也创建为私有的. - -## Limitations[](#limitations "Permalink") - -1. 目前,GitLab 不允许在任意代码行上添加注释,因此任何超出范围的 Bitbucket 注释都将作为注释插入到合并请求中. -2. Bitbucket Server 允许多个级别的线程. GitLab 导入会将其折叠到一个线程中,并引用原始注释的一部分. -3. 拒绝的拉取请求具有无法到达的提交,这会阻止 GitLab 导入器生成适当的差异. 这些拉取请求将显示为空更改. -4. Markdown 中的附件当前未导入. -5. 任务列表未导入. -6. 表情符号反应未导入 -7. 项目过滤不支持模糊搜索(当前仅支持`starts with`或`full match strings` ) - -## How it works[](#how-it-works "Permalink") - -Bitbucket 服务器导入程序的工作方式如下: - -1. 系统将提示用户输入 URL,用户名和密码(或个人访问令牌)以登录到 Bitbucket. 这些凭据仅在导入程序运行时才保留. -2. 导入程序将尝试列出 Bitbucket 服务器上的所有当前存储库. -3. 选择后,导入程序将克隆存储库并导入拉取请求和注释. - -### User assignment[](#user-assignment "Permalink") - -当导入问题/拉取请求时,Bitbucket 导入器将尝试在 GitLab 用户数据库中查找作者的电子邮件地址以及已确认的电子邮件地址. 如果没有这样的用户可用,则将项目创建者设置为作者. 进口商将在注释中添加注释以标记原始创建者. - -如果不存在任何新的名称空间(组),或者如果采用了该名称空间,则导入器将创建任何新的名称空间(组),存储库将在启动导入过程的用户名称空间下导入. - -## Importing your Bitbucket repositories[](#importing-your-bitbucket-repositories "Permalink") - -1. 登录到 GitLab 并转到您的仪表板. -2. 单击**新建项目** . -3. 点击" Bitbucket 服务器"按钮. 如果该按钮不存在,请在**管理>应用程序设置>可见性和访问控制>导入源中**启用**导入器** . - - [![Bitbucket](img/33da6433c882c8bcc4c699a4e0008b7c.png)](img/import_projects_from_new_project_page.png) - -4. 输入您的 Bitbucket 服务器凭据. - - [![Grant access](img/cca5497f42d0f0512126392deb81fa3e.png)](img/bitbucket_server_import_credentials.png) - -5. 点击您要**导入的项目**或**导入所有项目** . 您还可以按名称过滤项目,并选择将在其下导入每个项目的名称空间. - - [![Import projects](img/c43432893b48081561609f3667b7d497.png)](img/bitbucket_server_import_select_project_v12_3.png) - -## Troubleshooting[](#troubleshooting "Permalink") - -请参阅[Bitbucket](bitbucket.html)的[故障排除](bitbucket.html#troubleshooting)部分. \ No newline at end of file diff --git a/docs/134.md b/docs/134.md deleted file mode 100644 index 5dfc6f0..0000000 --- a/docs/134.md +++ /dev/null @@ -1,46 +0,0 @@ -# Migrating from ClearCase - -> 原文:[https://docs.gitlab.com/ee/user/project/import/clearcase.html](https://docs.gitlab.com/ee/user/project/import/clearcase.html) - -* [Why migrate](#why-migrate) -* [How to migrate](#how-to-migrate) - -# Migrating from ClearCase[](#migrating-from-clearcase "Permalink") - -[ClearCase](https://www.ibm.com/us-en/marketplace/rational-clearcase)是 IBM 开发的一组工具,还包括类似于 Git 的集中式版本控制系统. - -可以在此[StackOverflow 帖子中](https://stackoverflow.com/a/645771/974710)找到有关 ClearCase 基本概念的良好阅读. - -下表说明了 ClearCase 和 Git 之间的主要区别: - -| Aspect | ClearCase | Git | -| --- | --- | --- | -| 仓库模型 | Client-server | Distributed | -| 修订版 ID | 分行号 | 全局字母数字 ID | -| 变更范围 | File | 目录树快照 | -| 并发模型 | Merge | Merge | -| 储存方式 | Deltas | 全部内容 | -| Client | CLI,Eclipse,CC 客户端 | CLI,Eclipse,Git 客户端/ GUI | -| Server | UNIX,Windows 旧式系统 | UNIX,macOS | -| License | Proprietary | GPL | - -*选自 ClearClase 幻灯片[和](https://www.open.collab.net/media/pdfs/ClearCase-and-the-journey-to-Git.pdf) collab.net 提供的[Git 之旅](https://www.open.collab.net/media/pdfs/ClearCase-and-the-journey-to-Git.pdf)* - -## Why migrate[](#why-migrate "Permalink") - -从用户和管理员的角度来看,ClearCase 都可能难以管理. 迁移到 Git / GitLab 有: - -* **没有许可费用** ,Git 是 GPL,而 ClearCase 是专有的. -* **学习曲线更短** ,Git 有一个庞大的社区和大量的入门指南. -* **与现代工具集成** ,迁移到 Git 和 GitLab,您可以拥有一个开源的端到端软件开发平台,该平台具有内置的版本控制,问题跟踪,代码审查,CI / CD 等. - -## How to migrate[](#how-to-migrate "Permalink") - -虽然不存在从 ClearCase 完全迁移到 Git 的工具,但是这里有一些有用的链接可以帮助您入门: - -* [Bridge for Git and ClearCase](https://github.com/charleso/git-cc) -* [Slides “ClearCase and the journey to Git”](https://www.open.collab.net/media/pdfs/ClearCase-and-the-journey-to-Git.pdf) -* [ClearCase to Git](https://therub.org/2013/07/19/clearcase-to-git/) -* [Dual syncing ClearCase to Git](https://therub.org/2013/10/22/dual-syncing-clearcase-and-git/) -* [Moving to Git from ClearCase](https://sateeshkumarb.wordpress.com/2011/01/15/moving-to-git-from-clearcase/) -* [ClearCase to Git webinar](https://www.brighttalk.com/webcast/11817/162473/clearcase-to-git) \ No newline at end of file diff --git a/docs/135.md b/docs/135.md deleted file mode 100644 index bed5388..0000000 --- a/docs/135.md +++ /dev/null @@ -1,41 +0,0 @@ -# Migrating from CVS - -> 原文:[https://docs.gitlab.com/ee/user/project/import/cvs.html](https://docs.gitlab.com/ee/user/project/import/cvs.html) - -* [CVS vs Git](#cvs-vs-git) -* [Why migrate](#why-migrate) -* [How to migrate](#how-to-migrate) - -# Migrating from CVS[](#migrating-from-cvs "Permalink") - -[CVS](https://savannah.nongnu.org/projects/cvs)是类似于[SVN](svn.html)的旧式集中版本控制系统. - -## CVS vs Git[](#cvs-vs-git "Permalink") - -以下列表说明了 CVS 和 Git 之间的主要区别: - -* **Git 已分发.** 另一方面,CVS 使用客户端-服务器体系结构进行集中管理. 这意味着 Git 具有更灵活的工作流程,因为您的工作区是整个存储库的副本. 例如,由于不必与远程服务器进行通信,因此这减少了切换分支或合并时的开销. -* **原子操作.** 在 Git 中,所有操作都是[原子](https://en.wikipedia.org/wiki/Atomic_commit)操作,它们要么全部成功,要么失败而没有任何更改. 在 CVS 中,提交(和其他操作)不是原子的. 如果对存储库的操作在中间中断,则存储库可能处于不一致状态. -* **存放方法.** CVS 中的更改是按文件(更改集)进行的,而在 Git 中,已提交的文件将全部存储(快照). 这意味着在 Git 中还原或撤消整个更改非常容易. -* **修订版 ID.** 在 CVS 中,更改是针对每个文件的,修订 ID 由版本号表示,例如`1.4`反映了给定文件已更改了多少次. 在 Git 中,整个项目的每个版本(每次提交)的唯一名称都由 SHA-1 给出. -* **合并跟踪.** Git 使用一种先合并后提交的方法,而不是像 CVS 那样先合并后提交(或先更新再提交). 如果在准备创建新提交(新修订版)时有人在同一个分支上创建了一个新提交并推送到中央存储库,则 CVS 将强制您首先更新工作目录并解决冲突,然后再允许您提交. Git 并非如此. 您首先提交,将状态保存在版本控制中,然后合并其他开发人员的更改. 您还可以要求其他开发人员进行合并并自己解决任何冲突. -* **签名提交.** Git 支持使用 GPG 对提交进行签名,以提高安全性并验证提交确实来自其原始作者. GitLab 可以[与 GPG 集成,](../repository/gpg_signed_commits/index.html)并显示签名提交是否得到正确验证. - -*上面的一些内容摘自这个很棒的[Stack Overflow 帖子](https://stackoverflow.com/a/824241/974710) . 有关差异的更完整列表,请查阅 Wikipedia 上有关[比较不同版本控制软件的文章](https://en.wikipedia.org/wiki/Comparison_of_version_control_software) .* - -## Why migrate[](#why-migrate "Permalink") - -CVS 较旧,自 2008 年以来没有新版本发布.Git 提供了更多可使用的工具( `git bisect`之一),这使工作流程更加高效. 迁移到 Git / GitLab 有: - -* **学习曲线更短** ,Git 具有庞大的社区和大量的入门指南(请参阅我们的[Git 主题](../../../topics/git/index.html) ). -* **与现代工具集成** ,迁移到 Git 和 GitLab,您可以拥有一个开源的端到端软件开发平台,该平台具有内置的版本控制,问题跟踪,代码审查,CI / CD 等. -* **支持许多网络协议** . Git 支持 SSH,HTTP / HTTPS 和 rsync 等,而 CVS 仅支持 SSH 及其自身的不安全的 pserver 协议,无需用户身份验证. - -## How to migrate[](#how-to-migrate "Permalink") - -以下是一些链接,可帮助您开始进行迁移: - -* [Migrate using the `cvs-fast-export` tool](http://www.catb.org/~esr/reposurgeon/dvcs-migration-guide.html) ([*source code*](https://gitlab.com/esr/cvs-fast-export)) -* [Stack Overflow post on importing the CVS repo](https://stackoverflow.com/a/11490134/974710) -* [Convert a CVS repository to Git](https://www.techrepublic.com/blog/linux-and-open-source/convert-cvs-repositories-to-git/) -* [Man page of the `git-cvsimport` tool](https://mirrors.edge.kernel.org/pub/software/scm/git/docs/git-cvsimport.html) \ No newline at end of file diff --git a/docs/136.md b/docs/136.md deleted file mode 100644 index c4eb116..0000000 --- a/docs/136.md +++ /dev/null @@ -1,28 +0,0 @@ -# Import your project from FogBugz to GitLab - -> 原文:[https://docs.gitlab.com/ee/user/project/import/fogbugz.html](https://docs.gitlab.com/ee/user/project/import/fogbugz.html) - -# Import your project from FogBugz to GitLab[](#import-your-project-from-fogbugz-to-gitlab "Permalink") - -从 FogBugz 导入项目只需几个简单的步骤. 导入程序将导入您的所有案例和注释以及原始案例编号和时间戳. 您还将有机会将 FogBugz 用户映射到 GitLab 用户. - -1. 在您的 GitLab 仪表板中,单击"新建项目" -2. 点击" FogBugz"按钮 - -[![FogBugz](img/191e4984d9e1aa615a86fec2b6d42dcd.png)](img/fogbugz_import_select_fogbogz.png) - -1. 输入您的 FogBugz URL,电子邮件地址和密码. - -[![Login](img/2b49f82a2ff96781b55685367813e6c9.png)](img/fogbugz_import_login.png) - -1. 创建从 FogBugz 用户到 GitLab 用户的映射. - -[![User Map](img/e71e8b254fc758ab1a18ac4373e14344.png)](img/fogbugz_import_user_map.png) - -1. 通过单击导入按钮选择要导入的项目 - -[![Import Project](img/d677bbf1d2f77fd7394cddab976e6f67.png)](img/fogbugz_import_select_project.png) - -1. 导入完成后,单击链接将您带到项目仪表板. 按照说明推送现有存储库. - -[![Finished](img/1b984d904256e7a325a4cc30bcf71ee1.png)](img/fogbugz_import_finished.png) \ No newline at end of file diff --git a/docs/137.md b/docs/137.md deleted file mode 100644 index 4672b9c..0000000 --- a/docs/137.md +++ /dev/null @@ -1,84 +0,0 @@ -# Gemnasium - -> 原文:[https://docs.gitlab.com/ee/user/project/import/gemnasium.html](https://docs.gitlab.com/ee/user/project/import/gemnasium.html) - -* [Why is Gemnasium.com closed?](#why-is-gemnasiumcom-closed) -* [What happened to my account?](#what-happened-to-my-account) -* [Will my account/data be transferred to GitLab Inc.?](#will-my-accountdata-be-transferred-to-gitlab-inc) -* [What happened to my badge?](#what-happened-to-my-badge) -* [Migrating to GitLab](#migrating-to-gitlab) - * [If your project is hosted on GitLab (`https://gitlab.com` / self-managed)](#if-your-project-is-hosted-on-gitlab-httpsgitlabcom--self-managed) - * [If your project is hosted on GitHub (`https://github.com` / GitHub Enterprise)](#if-your-project-is-hosted-on-github-httpsgithubcom--github-enterprise) - -# Gemnasium[](#gemnasium-ultimate "Permalink") - -本指南介绍了如何从 Gemnasium.com 迁移到您自己的 GitLab 实例或 GitLab.com. - -## Why is Gemnasium.com closed?[](#why-is-gemnasiumcom-closed "Permalink") - -Gemnasium 在 2018 年 1 月[被 GitLab 收购](https://about.gitlab.com/press/releases/2018-01-30-gemnasium-acquisition.html) .自 2018 年 5 月 15 日起,Gemnasium 提供的服务不再可用. Gemnasium 背后的团队已加入 GitLab,成为新的安全产品团队,并且正在开发[各种工具](../../application_security/index.html) ,包括: - -* [Dependency Scanning](../../application_security/dependency_scanning/index.html) -* [SAST](../../application_security/sast/index.html) -* [DAST](../../application_security/dast/index.html) -* [Container Scanning](../../application_security/container_scanning/index.html) - -如果要继续监视依赖项,请参见下面的" [迁移到 GitLab"](#migrating-to-gitlab)部分. - -## What happened to my account?[](#what-happened-to-my-account "Permalink") - -您的帐户已于 2018 年 5 月 15 日自动关闭.如果您当时有付费订阅,则您的卡将按比例退还. 您可以联系`gemnasium@gitlab.com`了解您的已关闭帐户. - -## Will my account/data be transferred to GitLab Inc.?[](#will-my-accountdata-be-transferred-to-gitlab-inc "Permalink") - -所有帐户和数据已于 2018 年 5 月 15 日被删除.GitLab Inc.对您的私人数据或项目一无所知,因此不知道它们是否容易受到攻击. GitLab Inc.非常重视个人信息. - -## What happened to my badge?[](#what-happened-to-my-badge "Permalink") - -为避免损坏的 404 图像,所有指向 Gemnasium.com 的徽章都将用作占位符,邀请您迁移到 GitLab(并指向此页面). - -## Migrating to GitLab[](#migrating-to-gitlab "Permalink") - -Gemnasium 已被移植并直接集成到 GitLab CI / CD 中. 您仍然可以从我们的依赖项监视功能中受益,并且需要一些步骤来迁移项目. 由于 GitLab 对 Gemnasium.com 上存在的任何项目一无所知,因此没有自动导入. GitLab.com 上托管的公共(开源)项目免费提供安全功能. - -### If your project is hosted on GitLab (`https://gitlab.com` / self-managed)[](#if-your-project-is-hosted-on-gitlab-httpsgitlabcom--self-managed "Permalink") - -您快要准备好了! 如果您已经在使用[Auto DevOps](../../../topics/autodevops/) ,那么您已经了解了. 否则,您必须根据[依赖项扫描页面](../../application_security/dependency_scanning/index.html)配置`.gitlab-ci.yml` . - -### If your project is hosted on GitHub (`https://github.com` / GitHub Enterprise)[](#if-your-project-is-hosted-on-github-httpsgithubcom--github-enterprise "Permalink") - -由于[GitLab 10.6 带有 GitHub 集成](https://about.gitlab.com/solutions/github/) ,因此 GitLab 用户现在可以在 GitLab 中创建一个 CI / CD 项目,该项目连接到外部 GitHub.com 或 GitHub Enterprise 仓库. 每当将代码推送到 GitHub 时,这都会自动提示 GitLab CI / CD 运行,并在完成后将 CI / CD 结果发布回 GitLab 和 GitHub. - -1. 创建一个新项目,然后选择"用于外部仓库的 CI / CD"选项卡: - - [![Create new Project](img/e3489f723615b369a1abec41ebe9dea2.png)](img/gemnasium/create_project.png) - -2. 使用" GitHub"按钮连接存储库. - - [![Connect from GitHub](img/7ebc386f852ada24782fd3b7e5dd226e.png)](img/gemnasium/connect_github.png) - -3. 选择要使用 GitLab CI / CD 设置的项目,然后选择"连接". - - [![Select projects](img/611650a65dd2baf63b32d99fbe8e4a8a.png)](img/gemnasium/select_project.png) - - 配置完成后,您可以在 GitLab 上单击新项目. - - [![click on connected project](img/35b66299a79c8b3212bf8fbb00e9c903.png)](img/gemnasium/project_connected.png) - - 现在,您的项目已镜像到 GitLab,Runners 可以在其中访问您的源代码并运行您的测试. - - 可选步骤:如果您在 GitHub 项目是公共的,则在 GitLab.com 上进行设置,请确保该项目是公共的(在项目设置中),因为该安全功能仅适用于[GitLab Ultimate](https://about.gitlab.com/pricing/) . - -4. 要设置与 Gemnasium 所做的工作相对应的依赖项扫描作业,您必须创建`.gitlab-ci.yml`文件,或根据[依赖项扫描文档](../../application_security/dependency_scanning/index.html)对其进行更新. 默认情况下,镜像是仅拉式的,因此您可以在 GitHub 上创建或更新文件: - - [![Edit gitlab-ci.yml file](img/6427e1b107996a8eb9c401e1aa76bf87.png)](img/gemnasium/edit_gitlab-ci.png) - -5. 提交文件后,如果文件有效,将自动触发新的管道: - - [![pipeline](img/97acbf99c97921ca9e5837c4c70cfa4c.png)](img/gemnasium/pipeline.png) - -6. 作业的结果将直接在管道视图中可见: - - [![Security Dashboard](img/f0d8585fb8235b36b1464ed1d142a4c0.png)](../../application_security/security_dashboard/img/pipeline_security_dashboard_v13_2.png) - -**注意:**如果您不经常提交项目,则可能要使用[计划的管道](../../../ci/pipelines/schedules.html)定期运行作业. \ No newline at end of file diff --git a/docs/138.md b/docs/138.md deleted file mode 100644 index 7e9b8c9..0000000 --- a/docs/138.md +++ /dev/null @@ -1,119 +0,0 @@ -# Import your project from GitHub to GitLab - -> 原文:[https://docs.gitlab.com/ee/user/project/import/github.html](https://docs.gitlab.com/ee/user/project/import/github.html) - -* [Overview](#overview) -* [How it works](#how-it-works) -* [Import your GitHub repository into GitLab](#import-your-github-repository-into-gitlab) - * [Using the GitHub integration](#using-the-github-integration) - * [Using a GitHub token](#using-a-github-token) - * [Selecting which repositories to import](#selecting-which-repositories-to-import) -* [Mirroring and pipeline status sharing](#mirroring-and-pipeline-status-sharing) -* [Improving the speed of imports on self-managed instances](#improving-the-speed-of-imports-on-self-managed-instances) - -# Import your project from GitHub to GitLab[](#import-your-project-from-github-to-gitlab "Permalink") - -使用导入器,您可以将 GitHub 存储库导入 GitLab.com 或自管理的 GitLab 实例. - -## Overview[](#overview "Permalink") - -**注意:**这些说明适用于 GitLab.com 上的用户,但是如果您是自助 GitLab 实例的管理员,或者要从 GitHub Enterprise 导入,则必须启用[GitHub 集成](../../../integration/github.html) . GitHub 集成是从 GitHub Enterprise 导入的唯一方法. 如果您使用的是 GitLab.com,则可以使用[个人访问令牌](#using-a-github-token)导入 GitHub 存储库,但不建议使用此方法,因为该方法无法将所有用户活动(例如问题和请求请求)与匹配的 GitLab 用户相关联. 如果您是自我管理的 GitLab 实例的管理员,则还可以使用[GitHub Rake 任务](../../../administration/raketasks/github_import.html)从 GitHub 导入项目,而不受 Sidekiq worker 的限制. - -导入了项目的以下方面: - -* 仓库描述(GitLab.com&7.7+) -* Git 存储库数据(GitLab.com&7.7+) -* 问题(GitLab.com 和 7.7+) -* 拉取请求(GitLab.com&8.4+) -* Wiki 页面(GitLab.com&8.4+) -* 里程碑(GitLab.com&8.7+) -* 标签(GitLab.com 和 8.7+) -* 发行说明说明(GitLab.com 和 8.12+) -* 拉取请求评论评论(GitLab.com&10.2+) -* 定期发布和请求请求注释 - -保留对拉取请求和问题的引用(GitLab.com&8.7+),并且每个导入的存储库都保持可见性级别,除非该[可见性级别受到限制](../../../public_access/public_access.html#restricting-the-use-of-public-or-internal-projects) ,在这种情况下,它默认为默认项目可见性. - -## How it works[](#how-it-works "Permalink") - -导入问题和请求请求时,导入程序会尝试在 GitLab 实例的数据库中查找其 GitHub 作者和受让人(请注意,请求请求在 GitLab 中称为"合并请求"). - -For this association to succeed, each GitHub author and assignee in the repository must meet one of the following conditions prior to the import: - -* 以前使用 GitHub 图标登录到 GitLab 帐户. -* 有一个 GitHub 帐户,其[主要电子邮件地址](https://help.github.com/en/github/setting-up-and-managing-your-github-user-account/setting-your-commit-email-address)与其 GitLab 帐户的电子邮件地址匹配. - -如果在 GitLab 的数据库中未找到项目中引用的用户,则将项目创建者(通常是启动导入过程的用户)设置为作者/受让人,但是会添加关于该问题的注释,其中提及原始 GitHub 作者. - -如果不存在任何新的名称空间(组),或者如果采用了名称空间,则导入器会创建存储库,该存储库将在启动导入过程的用户的名称空间下导入. 命名空间/存储库名称也可以使用适当的权限进行编辑. - -进口商还将在与未完成拉取请求相关的项目的分支上导入分支. 这些分支将以类似于`GH-SHA-username/pull-request-number/fork-name/branch`的命名方案导入. 与 GitHub 存储库相比,这可能导致分支中的差异. - -有关更多技术细节,您可以参考[GitHub Importer](../../../development/github_importer.html "使用 GitHub 导入器")开发人员文档. - -有关导入过程的概述,请参阅[从 GitHub 迁移到 GitLab](https://youtu.be/VYOXuOg9tQI)的视频. - -## Import your GitHub repository into GitLab[](#import-your-github-repository-into-gitlab "Permalink") - -### Using the GitHub integration[](#using-the-github-integration "Permalink") - -在开始之前,请确保要映射到 GitLab 用户的所有 GitHub 用户都具有以下任一条件: - -* 使用 GitHub 图标登录的 GitLab 帐户-或- -* 一个 GitLab 帐户,其电子邮件地址与 GitHub 用户的[公共电子邮件地址](https://help.github.com/en/github/setting-up-and-managing-your-github-user-account/setting-your-commit-email-address)匹配 - -用户匹配尝试将按该顺序进行,并且如果两种方法均未识别到用户,则该活动将与执行导入的用户帐户相关联. - -**注意:**如果您使用的是自助式 GitLab 实例,或者要从 GitHub Enterprise 导入,则此过程要求您已配置[GitHub 集成](../../../integration/github.html) . - -1. 在顶部导航栏中,单击**+** ,然后选择**新建项目** . -2. 选择**导入项目**选项卡,然后选择**GitHub** . -3. 选择第一个按钮以**列出您的 GitHub 存储库** . 您将被重定向到[GitHub 上](https://github.com)的页面以授权 GitLab 应用程序. -4. 点击**授权 gitlabhq** . 您将被重定向回 GitLab 的 Import 页面,并列出所有 GitHub 存储库. -5. 继续[选择要导入的存储库](#selecting-which-repositories-to-import) . - -### Using a GitHub token[](#using-a-github-token "Permalink") - -**注意:**不建议使用个人访问令牌导入项目. 如果您是 GitLab.com 用户,则可以使用个人访问令牌从 GitHub 导入项目,但是该方法无法将所有用户活动(例如问题和请求请求)与匹配的 GitLab 用户关联. 如果您是自我管理的 GitLab 实例的管理员,或者要从 GitHub Enterprise 导入,则不能使用个人访问令牌. 建议所有用户使用[GitHub 集成方法(上述)](#using-the-github-integration) . 在" [如何工作"](#how-it-works)部分中了解更多信息. - -如果您不使用 GitHub 集成,则仍可以通过 GitHub 执行授权以授予 GitLab 访问您的存储库的权限: - -1. 转到[https://github.com/settings/tokens/new](https://github.com/settings/tokens/new) -2. 输入令牌描述. -3. 选择回购范围​​. -4. Click **生成令牌**. -5. 复制令牌哈希. -6. 返回到 GitLab 并将令牌提供给 GitHub 导入器. -7. 点击**列出您的 GitHub 存储库**按钮,并等待 GitLab 读取您的存储库信息. 完成后,将带您到导入器页面以选择要导入的存储库. - -### Selecting which repositories to import[](#selecting-which-repositories-to-import "Permalink") - -在授权访问 GitHub 存储库后,您将重定向到 GitHub 导入程序页面,并列出 GitHub 存储库. - -1. 默认情况下,建议的存储库名称空间与 GitHub 中存在的名称匹配,但是根据您的权限,您可以选择在继续导入任何名称之前编辑这些名称. -2. 选择任意数量的存储库旁边的**导入**按钮,或选择**导入所有存储库** . 此外,您可以按名称过滤项目. 如果应用了过滤器,则" **导入所有存储库"**仅导入匹配的存储库. -3. " **状态"**列显示每个存储库的导入状态. 您可以选择让页面保持打开状态,它将实时更新,也可以稍后返回. -4. 导入存储库后,单击其 GitLab 路径以打开其 GitLab URL. - -[![Github importer page](img/67f7d8117f3d6bf60fe4d5e03bca7b6e.png)](img/import_projects_from_github_importer_v12_3.png) - -## Mirroring and pipeline status sharing[](#mirroring-and-pipeline-status-sharing "Permalink") - -根据您的 GitLab 层,可以设置[项目镜像](../repository/repository_mirroring.html) ,以使导入的项目与其 GitHub 副本保持同步. - -此外,您可以配置 GitLab 以通过[GitHub Project Integration](../integrations/github.html)将管道状态更新发送回 GitHub. - -如果使用[CI / CD 作为外部存储库](../../../ci/ci_cd_for_external_repos/index.html)导入项目,则会自动配置以上两项. - -## Improving the speed of imports on self-managed instances[](#improving-the-speed-of-imports-on-self-managed-instances "Permalink") - -**注意:**必须具有对 GitLab 服务器的管理员访问权限. - -对于大型项目,可能需要一段时间才能导入所有数据. 为了减少必要的时间,您可以增加处理以下队列的 Sidekiq 工作程序的数量: - -* `github_importer` -* `github_importer_advance_stage` - -For an optimal experience, it’s recommended having at least 4 Sidekiq processes (each running a number of threads equal to the number of CPU cores) that *only* process these queues. It’s also recommended that these processes run on separate servers. For 4 servers with 8 cores this means you can import up to 32 objects (e.g., issues) in parallel. - -减少克隆存储库所花费的时间可以通过增加存储 Git 存储库(适用于您的 GitLab 实例)的磁盘的网络吞吐量,CPU 容量和磁盘性能(例如,使用高性能 SSD)来完成. 增加 Sidekiq 工作人员的数量*不会*减少克隆存储库所花费的时间. \ No newline at end of file diff --git a/docs/139.md b/docs/139.md deleted file mode 100644 index 0d1bdba..0000000 --- a/docs/139.md +++ /dev/null @@ -1,19 +0,0 @@ -# Project importing from GitLab.com to your private GitLab instance - -> 原文:[https://docs.gitlab.com/ee/user/project/import/gitlab_com.html](https://docs.gitlab.com/ee/user/project/import/gitlab_com.html) - -# Project importing from GitLab.com to your private GitLab instance[](#project-importing-from-gitlabcom-to-your-private-gitlab-instance "Permalink") - -您可以将现有的 GitLab.com 项目导入到 GitLab 实例中,但请记住,只有在 GitLab 实例上启用了 GitLab.com 集成后,才有可能. [阅读有关 GitLab.com 集成的更多信息,以实现自我管理的 GitLab 实例](../../../integration/gitlab.html) . - -要进入进口商页面,您需要进入"新项目"页面. - -> **注意:**如果您有兴趣将 Wiki 和合并请求数据导入到新实例,则需要按照说明[导出项目](../settings/import_export.html#exporting-a-project-and-its-data) - -[![New project page](img/0d0a16295f0edf554f921ffda49ff421.png)](img/gitlab_new_project_page_v12_2.png) - -转到" **导入项目"**选项卡,然后单击**GitLab.com** ,您将被重定向到 GitLab.com 以获取访问项目的权限. 接受后,您将自动重定向到导入程序. - -[![Importer page](img/e0fb1b28f653637edd64e072798f2385.png)](img/gitlab_importer.png) - -要导入项目,请单击"导入". 导入程序将导入您的存储库和问题. 导入器完成后,将使用导入的数据创建一个新的 GitLab 项目. \ No newline at end of file diff --git a/docs/140.md b/docs/140.md deleted file mode 100644 index d5f9fda..0000000 --- a/docs/140.md +++ /dev/null @@ -1,73 +0,0 @@ -# Import your project from Gitea to GitLab - -> 原文:[https://docs.gitlab.com/ee/user/project/import/gitea.html](https://docs.gitlab.com/ee/user/project/import/gitea.html) - -* [Overview](#overview) -* [How it works](#how-it-works) -* [Importing your Gitea repositories](#importing-your-gitea-repositories) - * [Authorize access to your repositories using a personal access token](#authorize-access-to-your-repositories-using-a-personal-access-token) - * [Select which repositories to import](#select-which-repositories-to-import) - -# Import your project from Gitea to GitLab[](#import-your-project-from-gitea-to-gitlab "Permalink") - -Import your projects from Gitea to GitLab with minimal effort. - -## Overview[](#overview "Permalink") - -> **注意:**这需要 Gitea `v1.0.0`或更高版本. - -* 在当前状态下,Gitea 进口商可以进口: - * 仓库描述(GitLab 8.15+) - * Git 存储库数据(GitLab 8.15+) - * 问题(GitLab 8.15+) - * 拉取请求(GitLab 8.15+) - * 里程碑(GitLab 8.15+) - * 标签(GitLab 8.15+) -* 知识库公共访问权限保留. 如果存储库在 Gitea 中是私有的,则它也将在 GitLab 中创建为私有的. - -## How it works[](#how-it-works "Permalink") - -由于 Gitea 当前不是 OAuth 提供者,因此无法将作者/受让人映射到您的 GitLab 实例中的用户. 这意味着将项目创建者(大多数情况下是当前开始导入过程的当前用户)设置为作者,但是保留了有关原始 Gitea 作者的问题的参考. - -如果不存在任何新的名称空间(组),或者如果采用了该名称空间,则导入器将创建任何新的名称空间(组),存储库将在启动导入过程的用户名称空间下导入. - -## Importing your Gitea repositories[](#importing-your-gitea-repositories "Permalink") - -创建新项目时,将显示导入器页面. - -[![New project page on GitLab](img/33da6433c882c8bcc4c699a4e0008b7c.png)](img/import_projects_from_new_project_page.png) - -单击**Gitea**链接,导入授权过程将开始. - -[![New Gitea project import](img/23b032de89e1f1056b75bd7ad55823ea.png)](img/import_projects_from_gitea_new_import.png) - -### Authorize access to your repositories using a personal access token[](#authorize-access-to-your-repositories-using-a-personal-access-token "Permalink") - -使用这种方法,您将对 Gitea 执行一次性授权,以授权 GitLab 访问您的存储库: - -1. 转到`https://your-gitea-instance/user/settings/applications` (将`your-gitea-instance`替换`your-gitea-instance`的主机). -2. Click **生成新令牌**. -3. 输入令牌描述. -4. Click **生成令牌**. -5. 复制令牌哈希. -6. 返回到 GitLab 并将令牌提供给 Gitea 进口商. -7. 点击**列出您的 Gitea 存储库**按钮,然后等待 GitLab 读取您的存储库信息. 完成后,将带您到导入器页面以选择要导入的存储库. - -### Select which repositories to import[](#select-which-repositories-to-import "Permalink") - -在授权访问 Gitea 存储库后,您将被重定向到 Gitea 导入程序页面. - -从那里,您可以查看 Gitea 存储库的导入状态. - -* 那些正在导入的将显示*开始*状态, -* 那些已经成功导入的将变成绿色,状态为" *完成"* , -* 而尚未导入的表格将在表格的右侧具有" **导入"**按钮. - -您还可以: - -* 点击左上角的" **导入所有项目"** ,一次性导入所有 Gitea 项目. -* 按名称过滤项目. 如果应用了过滤器,则点击**导入所有项目**将仅导入匹配的项目 - -[![Gitea importer page](img/2c8994d4c86769ec5151192ff555b261.png)](img/import_projects_from_gitea_importer_v12_3.png) - -如果您有特权,也可以为项目选择其他名称和名称空间. \ No newline at end of file diff --git a/docs/141.md b/docs/141.md deleted file mode 100644 index 8509bef..0000000 --- a/docs/141.md +++ /dev/null @@ -1,67 +0,0 @@ -# Import your Jira project issues to GitLab - -> 原文:[https://docs.gitlab.com/ee/user/project/import/jira.html](https://docs.gitlab.com/ee/user/project/import/jira.html) - -* [Future iterations](#future-iterations) -* [Prerequisites](#prerequisites) - * [Permissions](#permissions) - * [Jira integration](#jira-integration) -* [Import Jira issues to GitLab](#import-jira-issues-to-gitlab) - -# Import your Jira project issues to GitLab[](#import-your-jira-project-issues-to-gitlab "Permalink") - -在 GitLab 12.10 中[引入](https://gitlab.com/groups/gitlab-org/-/epics/2766) . - -使用 GitLab Jira 导入器,您可以将 Jira 问题导入到 GitLab.com 或您自己管理的 GitLab 实例. - -Jira 问题导入是 MVC 项目级别的功能,这意味着可以将来自多个 Jira 项目的问题导入到 GitLab 项目中. MVC 版本将问题标题和描述以及一些其他问题元数据作为问题描述的一部分导入. - -## Future iterations[](#future-iterations "Permalink") - -从 GitLab 12.10 开始,Jira 问题导入程序仅提供问题的标题和描述. - -有[史诗般的](https://gitlab.com/groups/gitlab-org/-/epics/2738)跟踪项目的添加,例如问题受让人,标签,评论,用户映射等等. 这些将包含在 GitLab Jira 进口商的未来版本中. - -## Prerequisites[](#prerequisites "Permalink") - -### Permissions[](#permissions "Permalink") - -In order to be able to import issues from a Jira project you need to have read access on Jira issues and a [Maintainer or higher](../../permissions.html#project-members-permissions) role in the GitLab project that you wish to import into. - -### Jira integration[](#jira-integration "Permalink") - -此功能使用现有的 GitLab [Jira 集成](../integrations/jira.html) . - -在尝试导入 Jira 问题之前,请确保已设置集成. - -## Import Jira issues to GitLab[](#import-jira-issues-to-gitlab "Permalink") - -GitLab 13.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/216145)了新的导入表单. - -要将 Jira 问题导入到 GitLab 项目,请执行以下步骤. - -**注意:**导入 Jira 问题是作为异步后台作业完成的,这可能会由于导入队列负载,系统负载或其他因素而导致延迟. 导入大型项目可能需要几分钟,具体取决于导入的大小. - -1. 在 **在问题**页面上,点击**导入问题** ( ) **>从 Jira 导入** . - - [![Import issues from Jira button](img/6b48060a3ef4c055e75a74e6a396ebb9.png)](img/jira/import_issues_from_jira_button_v12_10.png) - - 仅当您具有[正确的权限时,"](#permissions) **从 Jira 导入"**选项才可见. - - 出现以下形式. 如果您先前已经设置了[Jira 集成](../integrations/jira.html) ,现在可以在下拉列表中看到您有权访问的 Jira 项目. - - [![Import issues from Jira form](img/c10c0f19a1d0076044db1057cfb19875.png)](img/jira/import_issues_from_jira_form_v13_2.png) - -2. 单击**导入自**下拉列表,然后选择要从中导入问题的 Jira 项目. - - 在" **Jira-GitLab 用户映射模板"**部分中,该表显示了您的 Jira 用户将映射到哪些 GitLab 用户. 如果无法将 Jira 用户与 GitLab 用户匹配,则该下拉列表默认为执行导入的用户. - -3. 要更改任何建议的映射,请单击**GitLab 用户名列中**的下拉列表,然后选择要映射到每个 Jira 用户的用户. - - 该下拉列表可能不会显示所有用户,因此请使用搜索栏在此 GitLab 项目中查找特定用户. - -4. 点击**继续** . 系统会提示您已开始导入. - - 当导入在后台运行时,您可以从导入状态页面导航到问题页面,并且您会看到新问题出现在问题列表中. - -5. 要检查导入状态,请再次转到" Jira 导入"页面. \ No newline at end of file diff --git a/docs/142.md b/docs/142.md deleted file mode 100644 index 970fe9a..0000000 --- a/docs/142.md +++ /dev/null @@ -1,40 +0,0 @@ -# Migrating from Perforce Helix - -> 原文:[https://docs.gitlab.com/ee/user/project/import/perforce.html](https://docs.gitlab.com/ee/user/project/import/perforce.html) - -* [Perforce vs Git](#perforce-vs-git) -* [Why migrate](#why-migrate) -* [How to migrate](#how-to-migrate) - -# Migrating from Perforce Helix[](#migrating-from-perforce-helix "Permalink") - -[Perforce Helix](https://www.perforce.com/)提供了一套工具,其中还包括类似于 Git 的集中式专有版本控制系统. - -## Perforce vs Git[](#perforce-vs-git "Permalink") - -以下列表说明了 Perforce Helix 和 Git 之间的主要区别: - -1. 通常,最大的区别是与 Git 的轻量级分支相比,Perforce 分支是重量级的. 当您在 Perforce 中创建分支时,它会在其专有数据库中为分支中的每个文件创建一个集成记录,无论实际更改了多少. 而 Git 是采用不同的体系结构实现的,因此,单个 SHA 可以充当更改后整个存储库状态的指针,这使得分支非常容易. 这就是功能分支工作流如此容易被 Git 采纳的原因. -2. 而且,在 Git 中,分支之间的上下文切换要容易得多. 如果您的经理说"您需要停止使用该新功能并修复此安全漏洞",那么您可以在 Git 中轻松地做到这一点. -3. 在本地计算机上拥有项目及其历史的完整副本意味着每笔交易都非常快,而 Git 则提供了该副本. 您可以单独进行分支/合并和试验,然后在与所有人共享新的有趣内容之前清理混乱. -4. Git 还使代码审核变得简单,因为您可以共享更改而无需将更改合并到主版本中,而 Perforce 必须在服务器上实现 Shelving 功能,以便其他人可以在合并之前查看更改. - -## Why migrate[](#why-migrate "Permalink") - -从用户和管理员的角度来看,Perforce Helix 可能难以管理. 迁移到 Git / GitLab 有: - -* **没有许可费用** ,Git 是 GPL,而 Perforce Helix 是专有的. -* **学习曲线更短** ,Git 有一个庞大的社区和大量的入门指南. -* **与现代工具集成** ,迁移到 Git 和 GitLab,您可以拥有一个开源的端到端软件开发平台,该平台具有内置的版本控制,问题跟踪,代码审查,CI / CD 等. - -## How to migrate[](#how-to-migrate "Permalink") - -Git 包含一个内置机制( `git p4` ),用于从 Perforce 中提取代码并将其从 Git 提交回 Perforce. - -以下是一些入门指南: - -* [`git-p4` manual page](https://mirrors.edge.kernel.org/pub/software/scm/git/docs/git-p4.html) -* [`git-p4` example usage](https://git.wiki.kernel.org/index.php/Git-p4_Usage) -* [Git book migration guide](https://git-scm.com/book/en/v2/Git-and-Other-Systems-Migrating-to-Git#_perforce_import) - -请注意, `git p4`和`git filter-branch`在创建小型高效 Git 包文件方面不是很好. 因此,在第一次将存储库发送到 GitLab 服务器之前,花一些时间和 CPU 适当地重新打包存储库可能是个好主意. 请参阅[此 StackOverflow 问题](https://stackoverflow.com/questions/28720151/git-gc-aggressive-vs-git-repack/) . \ No newline at end of file diff --git a/docs/143.md b/docs/143.md deleted file mode 100644 index ee84f53..0000000 --- a/docs/143.md +++ /dev/null @@ -1,36 +0,0 @@ -# Import Phabricator tasks into a GitLab project - -> 原文:[https://docs.gitlab.com/ee/user/project/import/phabricator.html](https://docs.gitlab.com/ee/user/project/import/phabricator.html) - -* [Users](#users) -* [Enabling this feature](#enabling-this-feature) - -# Import Phabricator tasks into a GitLab project[](#import-phabricator-tasks-into-a-gitlab-project "Permalink") - -在 GitLab 12.0 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/60562) . - -GitLab 允许您将所有任务从 Phabricator 实例导入到 GitLab 问题中. 导入将创建一个项目,并禁用存储库. - -当前,仅导入以下基本字段: - -* Title -* Description -* 状态(打开或关闭) -* 创建于 -* 在关闭 - -## Users[](#users "Permalink") - -用户的受让人和作者将从 Task 的所有者和作者中扣除:如果具有相同用户名的用户有权访问要导入到的项目的名称空间,则将链接该用户. - -## Enabling this feature[](#enabling-this-feature "Permalink") - -当此功能不完整时,需要一个功能标志来启用它,以便我们在向所有人发布该功能之前获得早期反馈. 要启用它: - -1. 在 Rails 控制台中运行以下命令: - - ``` - Feature.enable(:phabricator_import) - ``` - -2. 在管理区域中将 Phabricator 用作[导入源](../../admin_area/settings/visibility_and_access_controls.html#import-sources) . \ No newline at end of file diff --git a/docs/144.md b/docs/144.md deleted file mode 100644 index 6e5f5c5..0000000 --- a/docs/144.md +++ /dev/null @@ -1,55 +0,0 @@ -# Import multiple repositories by uploading a manifest file - -> 原文:[https://docs.gitlab.com/ee/user/project/import/manifest.html](https://docs.gitlab.com/ee/user/project/import/manifest.html) - -* [Requirements](#requirements) -* [Manifest format](#manifest-format) -* [Importing the repositories](#importing-the-repositories) - -# Import multiple repositories by uploading a manifest file[](#import-multiple-repositories-by-uploading-a-manifest-file "Permalink") - -在 GitLab 11.2 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/28811) . - -GitLab 允许您基于清单文件(如[Android 存储库](https://android.googlesource.com/platform/manifest/+/2d6f081a3b05d8ef7a2b1b52b0d536b2b74feab4/default.xml)使用的清单文件)导入所有必需的 Git 存储[库](https://android.googlesource.com/platform/manifest/+/2d6f081a3b05d8ef7a2b1b52b0d536b2b74feab4/default.xml) . 当您需要导入具有许多存储库(例如 Android 开放源项目(AOSP))的项目时,此功能非常方便. - -## Requirements[](#requirements "Permalink") - -GitLab 必须为其数据库使用 PostgreSQL,因为清单导入工作需要[子组](../../group/subgroups/index.html) . - -阅读有关[数据库要求的](../../../install/requirements.html#database)更多信息. - -## Manifest format[](#manifest-format "Permalink") - -清单必须是 XML 文件. 必须有一个带有`review`属性的`remote`标签,该`review`属性包含指向 Git 服务器的 URL,并且每个`project`标签都必须具有`name`和`path`属性. 然后,GitLab 将通过将`remote`标记中的 URL 与项目名称组合来构建到存储库的 URL. 路径属性将用于表示 GitLab 中的项目路径. - -以下是清单文件的有效示例: - -``` -<manifest> - <remote review="https://android.googlesource.com/" /> - - <project path="build/make" name="platform/build" /> - <project path="build/blueprint" name="platform/build/blueprint" /> -</manifest> -``` - -结果,将创建以下项目: - -| GitLab | 导入网址 | -| --- | --- | -| `https://gitlab.com/YOUR_GROUP/build/make` | [https://android.googlesource.com/platform/build](https://android.googlesource.com/platform/build) | -| `https://gitlab.com/YOUR_GROUP/build/blueprint` | [https://android.googlesource.com/platform/build/blueprint](https://android.googlesource.com/platform/build/blueprint) | - -## Importing the repositories[](#importing-the-repositories "Permalink") - -You can start the import with: - -1. 在您的 GitLab 仪表板中,单击" **新建项目".** -2. 切换到**导入项目**选项卡 -3. 单击**清单文件**按钮 -4. 为 GitLab 提供清单 xml 文件 -5. 选择要导入的组(如果没有,则需要先创建一个组) -6. 单击**列出可用的存储库** . 此时,您将根据清单文件重定向到带有项目列表的导入状态页面. -7. 检查列表,然后单击" **导入所有存储库"**以开始导入. - - [![Manifest status](img/e5f179b25c2db023892b0a5f559b67d5.png)](img/manifest_status.png) \ No newline at end of file diff --git a/docs/145.md b/docs/145.md deleted file mode 100644 index 6df03b6..0000000 --- a/docs/145.md +++ /dev/null @@ -1,16 +0,0 @@ -# Import project from repo by URL - -> 原文:[https://docs.gitlab.com/ee/user/project/import/repo_by_url.html](https://docs.gitlab.com/ee/user/project/import/repo_by_url.html) - -# Import project from repo by URL[](#import-project-from-repo-by-url "Permalink") - -您可以通过提供 Git URL 来导入现有存储库: - -1. 在您的 GitLab 仪表板中,单击" **新建项目".** -2. 切换到**导入项目**选项卡 -3. 点击**按 URL 回购**按钮 -4. 填写" Git 存储库 URL"和其余项目字段 -5. 单击**创建项目**开始导入过程 -6. 完成后,您将被重定向到新创建的项目 - -[![Import project by repo URL](img/731943edb4428a3eb27c86d8d454d0e0.png)](img/import_projects_from_repo_url.png) \ No newline at end of file diff --git a/docs/146.md b/docs/146.md deleted file mode 100644 index 3ebeb7e..0000000 --- a/docs/146.md +++ /dev/null @@ -1,141 +0,0 @@ -# Migrating from SVN to GitLab - -> 原文:[https://docs.gitlab.com/ee/user/project/import/svn.html](https://docs.gitlab.com/ee/user/project/import/svn.html) - -* [Overview](#overview) -* [Smooth migration with a Git/SVN mirror using SubGit](#smooth-migration-with-a-gitsvn-mirror-using-subgit) - * [SubGit prerequisites](#subgit-prerequisites) - * [SubGit configuration](#subgit-configuration) - * [Initial translation](#initial-translation) - * [SubGit licensing](#subgit-licensing) - * [SubGit support](#subgit-support) -* [Cut over migration with svn2git](#cut-over-migration-with-svn2git) -* [Contribute to this guide](#contribute-to-this-guide) - -# Migrating from SVN to GitLab[](#migrating-from-svn-to-gitlab "Permalink") - -Subversion(SVN)是中央版本控制系统(VCS),而 Git 是分布式版本控制系统. 两者之间有一些主要区别,有关更多信息,请咨询您喜欢的搜索引擎. - -## Overview[](#overview "Permalink") - -SVN 到 Git 迁移的方法有两种: - -1. [Git/SVN Mirror](#smooth-migration-with-a-gitsvn-mirror-using-subgit) which: - * 使 GitLab 存储库镜像 SVN 项目. - * Git 和 SVN 存储库保持同步; 您可以使用任何一个. - * 简化迁移过程并允许管理迁移风险. -2. [Cut over migration](#cut-over-migration-with-svn2git) which: - * 将现有数据和历史记录从 SVN 转换并导入到 Git. - * 是一劳永逸的方法,对较小的团队有用. - -## Smooth migration with a Git/SVN mirror using SubGit[](#smooth-migration-with-a-gitsvn-mirror-using-subgit "Permalink") - -[SubGit](https://subgit.com)是用于平稳,无压力的 SVN 到 Git 迁移的工具. 它创建本地或远程 Subversion 存储库的可写 Git 镜像,并且您可以根据需要同时使用 Subversion 和 Git. 它需要直接在文件系统级别与 Git 存储库通信时访问您的 GitLab 服务器. - -### SubGit prerequisites[](#subgit-prerequisites "Permalink") - -1. 安装 Oracle JRE 1.8 或更高版本. 在基于 Debian 的 Linux 发行版上,您可以阅读[本文](http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html) . -2. 从[https://subgit.com/download](https://subgit.com/download)下载 SubGit. -3. 将下载的 SubGit zip 存档解压缩到`/opt`目录. `subgit`命令将在`/opt/subgit-VERSION/bin/subgit` . - -### SubGit configuration[](#subgit-configuration "Permalink") - -在 GitLab 中镜像 SVN 存储库的第一步是创建一个新的空项目,该项目将用作镜像. 对于 Omnibus 安装,默认情况下,存储库的路径将位于`/var/opt/gitlab/git-data/repositories/USER/REPO.git` . 对于从源安装,默认的存储库目录将是`/home/git/repositories/USER/REPO.git` . 为方便起见,将此路径分配给变量: - -``` -GIT_REPO_PATH=/var/opt/gitlab/git-data/repositories/USER/REPOS.git -``` - -SubGit 将使该存储库与远程 SVN 项目保持同步. 为了方便起见,请将您的远程 SVN 项目 URL 分配给一个变量: - -``` -SVN_PROJECT_URL=http://svn.company.com/repos/project -``` - -接下来,您需要运行 SubGit 来设置 Git / SVN 镜像. 确保代表拥有 GitLab Git 存储库所有权的同一用户运行以下`subgit`命令(默认情况下为`git` ): - -``` -subgit configure --layout auto $SVN_PROJECT_URL $GIT_REPO_PATH -``` - -如有必要,请调整作者和分支机构的映射. 用您喜欢的文本编辑器打开: - -``` -edit $GIT_REPO_PATH/subgit/authors.txt -edit $GIT_REPO_PATH/subgit/config -``` - -有关 SubGit 配置选项的更多信息,请参阅[SubGit 文档](https://subgit.com/documentation/)网站. - -### Initial translation[](#initial-translation "Permalink") - -现在,SubGit 已经配置了 Git / SVN 存储库,运行`subgit`来执行将现有 SVN 修订版初始转换为 Git 存储库的操作: - -``` -subgit install $GIT_REPO_PATH -``` - -初始翻译完成后,Git 存储库和 SVN 项目将通过`subgit`保持同步-新的 Git 提交将转换为 SVN 修订版,而新的 SVN 修订版将转换为 Git 提交. Mirror 透明地工作,不需要任何特殊命令. - -如果您希望使用`subgit`执行一次性迁移,请使用`import`命令而不是`install` : - -``` -subgit import $GIT_REPO_PATH -``` - -### SubGit licensing[](#subgit-licensing "Permalink") - -以镜像模式运行 SubGit 需要[注册](https://subgit.com/pricing) . 开源,学术和启动项目免费注册. - -### SubGit support[](#subgit-support "Permalink") - -对于与 SubGit 的 SVN 到 GitLab 迁移有关的任何问题,您可以直接通过[support@subgit.com](mailto:support@subgit.com)与 SubGit 团队[联系](mailto:support@subgit.com) . - -## Cut over migration with svn2git[](#cut-over-migration-with-svn2git "Permalink") - -如果当前正在使用 SVN 存储库,则可以将该存储库迁移到 Git 和 GitLab. 我们建议您进行一次硬性转换-运行一次迁移命令,然后让所有开发人员立即开始使用新的 GitLab 存储库. 否则,很难保持双向同步更改. 转换过程应在本地工作站上运行. - -安装`svn2git` . 在所有系统上,如果已经安装了 Ruby 和 Git,则可以作为 Ruby gem 安装. - -``` -sudo gem install svn2git -``` - -在基于 Debian 的 Linux 发行版上,您可以安装本机软件包: - -``` -sudo apt-get install git-core git-svn ruby -``` - -(可选)准备一个 authors 文件,以便`svn2git`可以将 SVN 作者映射到 Git 作者. 如果您选择不创建作者文件,则提交将不会归因于正确的 GitLab 用户. 有些用户可能不会认为这是一个大问题,而另一些用户则希望确保他们完成此步骤. 如果选择映射作者,则将需要映射 SVN 信息库中的更改中存在的每个作者. 否则,转换将失败,您将必须相应地更新作者文件. 以下命令将搜索存储库并输出作者列表. - -``` -svn log --quiet | grep -E "r[0-9]+ \| .+ \|" | cut -d'|' -f2 | sed 's/ //g' | sort | uniq -``` - -使用最后一条命令的输出来构造作者文件. 创建一个名为`authors.txt`的文件,并在每行添加一个映射. - -``` -janedoe = Jane Doe <janedoe@example.com> -johndoe = John Doe <johndoe@example.com> -``` - -如果您的 SVN 储存库为标准格式(主干,分支,标签,而非嵌套),则转换很简单. 对于非标准存储库,请参见[svn2git 文档](https://github.com/nirvdrum/svn2git) . 以下命令将检出存储库并在当前工作目录中进行转换. 在运行`svn2git`命令之前,请确保为每个存储库创建一个新目录. 转换过程将需要一些时间. - -``` -svn2git https://svn.example.com/path/to/repo --authors /path/to/authors.txt -``` - -如果您的 SVN 信息库需要用户名和密码,请在上述命令中添加`--username <username>`和`--password <password>`标志. `svn2git`还支持排除某些文件路径,分支,标签等.请参阅[svn2git 文档](https://github.com/nirvdrum/svn2git)或运行`svn2git --help`以获取有关所有可用选项的完整文档. - -创建一个新的 GitLab 项目,您最终将在其中推送转换后的代码. 从项目页面复制 SSH 或 HTTP(S)存储库 URL. 将 GitLab 存储库添加为 Git 远程,并推送所有更改. 这将推送所有提交,分支和标签. - -``` -git remote add origin git@gitlab.com:<group>/<project>.git -git push --all origin -git push --tags origin -``` - -## Contribute to this guide[](#contribute-to-this-guide "Permalink") - -我们欢迎所有将扩展本指南的贡献,其中包括有关如何从 SVN 和其他版本控制系统进行迁移的说明. \ No newline at end of file diff --git a/docs/147.md b/docs/147.md deleted file mode 100644 index d072582..0000000 --- a/docs/147.md +++ /dev/null @@ -1,37 +0,0 @@ -# Migrating from TFVC to Git - -> 原文:[https://docs.gitlab.com/ee/user/project/import/tfvc.html](https://docs.gitlab.com/ee/user/project/import/tfvc.html) - -* [TFVC vs Git](#tfvc-vs-git) -* [Why migrate](#why-migrate) -* [How to migrate](#how-to-migrate) - -# Migrating from TFVC to Git[](#migrating-from-tfvc-to-git "Permalink") - -Team Foundation Server(TFS)在 2019 年重命名为[Azure DevOps Server](https://azure.microsoft.com/en-us/services/devops/server/) ,是 Microsoft 开发的一组工具,还包括[Team Foundation Version Control](https://docs.microsoft.com/en-us/azure/devops/repos/tfvc/what-is-tfvc?view=azure-devops) (TFVC),这是一个类似于 Git 的集中式版本控制系统. - -在本文档中,我们重点介绍从 TFVC 到 Git 的迁移. - -## TFVC vs Git[](#tfvc-vs-git "Permalink") - -TFVC 和 Git 之间的主要区别是: - -* **Git 是分布式的:**虽然 TFVC 使用客户端-服务器体系结构进行集中管理,但 Git 是分布式的. 由于您使用了整个存储库的副本,因此 Git 的工作流程更加灵活. 例如,这使您可以快速切换分支或合并,而无需与远程服务器进行通信. -* **存储:**集中式版本控制系统中的更改是按文件(更改集)进行的,而在 Git 中,已提交的文件将全部存储(快照). 这意味着还原或撤消 Git 的整个更改非常容易. - -有关更多信息,请参见: - -* Microsoft’s [comparison of Git and TFVC](https://docs.microsoft.com/en-us/azure/devops/repos/tfvc/comparison-git-tfvc?view=azure-devops). -* The Wikipedia [comparison of version control software](https://en.wikipedia.org/wiki/Comparison_of_version_control_software). - -## Why migrate[](#why-migrate "Permalink") - -迁移到 Git / GitLab 的优势: - -* **无需许可费用:** Git 是开源的,而 TFVC 是专有的. -* **较短的学习曲线:** Git 拥有一个庞大的社区和大量的入门指南(请参阅我们的[Git 主题](../../../topics/git/index.html) ). -* **与现代工具的集成:**迁移到 Git 和 GitLab 之后,您将拥有一个带有内置版本控制,问题跟踪,代码审查,CI / CD 等的开源,端到端软件开发平台. - -## How to migrate[](#how-to-migrate "Permalink") - -从 TFVC 迁移到 Git 的最佳选择是使用[`git-tfs`](https://github.com/git-tfs/git-tfs)工具. 阅读" [将 TFS 迁移到 Git"](https://github.com/git-tfs/git-tfs/blob/master/doc/usecases/migrate_tfs_to_git.md)指南以获取更多详细信息. \ No newline at end of file diff --git a/docs/148.md b/docs/148.md deleted file mode 100644 index eb318a1..0000000 --- a/docs/148.md +++ /dev/null @@ -1,106 +0,0 @@ -# Push Options - -> 原文:[https://docs.gitlab.com/ee/user/project/push_options.html](https://docs.gitlab.com/ee/user/project/push_options.html) - -* [Push options for GitLab CI/CD](#push-options-for-gitlab-cicd) -* [Push options for merge requests](#push-options-for-merge-requests) -* [Useful Git aliases](#useful-git-aliases) - * [Merge when pipeline succeeds alias](#merge-when-pipeline-succeeds-alias) - -# Push Options[](#push-options "Permalink") - -在 GitLab 11.7 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/15643) . - -GitLab 支持使用客户端[Git 推送选项](https://git-scm.com/docs/git-push#Documentation/git-push.txt--oltoptiongt)在推送更改的同时执行各种操作. 此外, [推送规则](../../push_rules/push_rules.html)提供服务器端控制和实施选项. - -当前,有推送选项可用于: - -* [Skipping CI jobs](#push-options-for-gitlab-cicd) -* [Merge requests](#push-options-for-merge-requests) - -**注意:** Git 推送选项仅在 Git 2.10 或更高版本中可用. - -对于 2.10 至 2.17 版本的 Git,请使用`--push-option` : - -``` -git push --push-option=<push_option> -``` - -对于 2.18 及更高版本,可以使用以上格式,或更短的`-o` : - -``` -git push -o <push_option> -``` - -## Push options for GitLab CI/CD[](#push-options-for-gitlab-cicd "Permalink") - -您可以使用推入选项跳过 CI / CD 管道或传递环境变量. - -| 推送选项 | Description | 版本介绍 | -| --- | --- | --- | -| `ci.skip` | 不要为最新推送创建 CI 管道. | [11.7](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/15643) | -| `ci.variable="<name>=<value>"` | 如果由于推送而创建了[环境变量](../../ci/variables/README.html) ,请提供要在 CI 管道中使用的[环境变量](../../ci/variables/README.html) . | [12.6](https://gitlab.com/gitlab-org/gitlab/-/issues/27983) | - -使用`ci.skip`的示例: - -``` -git push -o ci.skip -``` - -An example of passing some environment variables for a pipeline: - -``` -git push -o ci.variable="MAX_RETRIES=10" -o ci.variable="MAX_TIME=600" -``` - -## Push options for merge requests[](#push-options-for-merge-requests "Permalink") - -您可以在推送更改的同时使用 Git 推送选项对合并请求执行某些操作: - -| 推送选项 | Description | 版本介绍 | -| --- | --- | --- | -| `merge_request.create` | 为推送的分支创建一个新的合并请求. | [11.10](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/26752) | -| `merge_request.target=<branch_name>` | 将合并请求的目标设置为特定分支. | [11.10](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/26752) | -| `merge_request.merge_when_pipeline_succeeds` | 设置合并请求以[在其管道成功时](merge_requests/merge_when_pipeline_succeeds.html)进行[合并](merge_requests/merge_when_pipeline_succeeds.html) . | [11.10](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/26752) | -| `merge_request.remove_source_branch` | 设置合并请求以在合并时删除源分支. | [12.2](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/64320) | -| `merge_request.title="<title>"` | 设置合并请求的标题. 例如: `git push -o merge_request.title="The title I want"` . | [12.2](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/64320) | -| `merge_request.description="<description>"` | 设置合并请求的描述. 例如: `git push -o merge_request.description="The description I want"` . | [12.2](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/64320) | -| `merge_request.label="<label>"` | 将标签添加到合并请求. 如果标签不存在,它将被创建. 例如,对于两个标签: `git push -o merge_request.label="label1" -o merge_request.label="label2"` . | [12.3](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/31831) | -| `merge_request.unlabel="<label>"` | 从合并请求中删除标签. 例如,对于两个标签: `git push -o merge_request.unlabel="label1" -o merge_request.unlabel="label2"` . | [12.3](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/31831) | - -如果您使用要求文本带有空格的 push 选项,则需要用引号( `"` )括起来.如果没有空格,则可以省略引号.例如: - -``` -git push -o merge_request.label="Label with spaces" -git push -o merge_request.label=Label-with-no-spaces -``` - -您可以通过使用多个`-o` (或`--push-option` )标志来组合推送选项以一次完成多个任务. 例如,如果您要创建一个新的合并请求,并定位一个名为`my-target-branch` : - -``` -git push -o merge_request.create -o merge_request.target=my-target-branch -``` - -此外,如果希望合并请求在管道成功后立即合并,则可以执行以下操作: - -``` -git push -o merge_request.create -o merge_request.target=my-target-branch -o merge_request.merge_when_pipeline_succeeds -``` - -## Useful Git aliases[](#useful-git-aliases "Permalink") - -如上所示,Git 推送选项可能导致 Git 命令增长很长. 如果您经常使用相同的 push 选项,则创建[Git 别名会](https://git-scm.com/book/en/v2/Git-Basics-Git-Aliases)很有用. Git 别名是 Git 的命令行快捷方式,可以大大简化长 Git 命令的使用. - -### Merge when pipeline succeeds alias[](#merge-when-pipeline-succeeds-alias "Permalink") - -要[在管道成功执行 Git push 选项时](#push-options-for-merge-requests)为[合并](#push-options-for-merge-requests)设置 Git 别名: - -``` -git config --global alias.mwps "push -o merge_request.create -o merge_request.target=master -o merge_request.merge_when_pipeline_succeeds" -``` - -然后,为了在管道成功时快速推送将针对 master 并合并的本地分支: - -``` -git mwps origin <local-branch-name> -``` \ No newline at end of file diff --git a/docs/149.md b/docs/149.md deleted file mode 100644 index cb1f81d..0000000 --- a/docs/149.md +++ /dev/null @@ -1,341 +0,0 @@ -# Releases - -> 原文:[https://docs.gitlab.com/ee/user/project/releases/](https://docs.gitlab.com/ee/user/project/releases/) - -* [View releases](#view-releases) -* [Create a release](#create-a-release) - * [Schedule a future release](#schedule-a-future-release) -* [Edit a release](#edit-a-release) -* [Add release notes to Git tags](#add-release-notes-to-git-tags) -* [Associate milestones with a release](#associate-milestones-with-a-release) -* [Get notified when a release is created](#get-notified-when-a-release-is-created) -* [Prevent unintentional releases by setting a deploy freeze](#prevent-unintentional-releases-by-setting-a-deploy-freeze) -* [Release fields](#release-fields) - * [Tag name](#tag-name) - * [Release notes description](#release-notes-description) - * [Release assets](#release-assets) - * [Permanent links to release assets](#permanent-links-to-release-assets) - * [Source code](#source-code) - * [Links](#links) -* [Release evidence](#release-evidence) - * [Collect release evidence](#collect-release-evidence-premium-only) - * [Include report artifacts as release evidence](#include-report-artifacts-as-release-evidence-ultimate-only) - * [Schedule release evidence collection](#schedule-release-evidence-collection) - * [Disable release evidence display](#disable-release-evidence-display-core-only) -* [GitLab Releaser](#gitlab-releaser) - -# Releases[](#releases "Permalink") - -在 GitLab 11.7 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/41766) . - -要在源代码历史记录中引入检查点,可以在发布时分配[Git 标签](https://git-scm.com/book/en/v2/Git-Basics-Tagging) . 但是,在大多数情况下,您的用户不仅需要原始源代码. 他们需要 CI / CD 系统输出的已编译对象或其他资产. - -GitLab *发行版*是与代码的发行版本相关联的源,构建输出,工件和其他元数据的快照. - -您可以在任何分支上创建一个 GitLab 版本. 创建发行版时: - -* manbetx 客户端打不开自动归档源代码,并将其与版本关联. -* GitLab 会自动创建一个 JSON 文件,其中列出了发行版中的所有内容,因此您可以比较和审核发行版. 该文件称为[发布证据](#release-evidence) . -* 您可以添加发行说明以及与发行版关联的标签的消息. - -创建发行版后,您可以将[里程碑与其关联](#associate-milestones-with-a-release) ,并附加[发行资产](#release-assets) ,例如运行手册或软件包. - -## View releases[](#view-releases "Permalink") - -在 GitLab 12.8 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/36667) . - -要查看版本列表: - -* 转到**项目概述>版本** ,或 - -* 在项目的概述页面上,如果存在至少一个版本,请单击版本数. - - [![Number of Releases](img/4b690260474eb340f7b3f6d25b0568d2.png "Incremental counter of Releases")](img/releases_count_v13_2.png) - - * 在公共项目上,此数字对所有用户可见. - * 在私有项目上,具有 Reporter [权限](../../permissions.html#project-members-permissions)或更高[权限的](../../permissions.html#project-members-permissions)用户可以看到此数字. - -## Create a release[](#create-a-release "Permalink") - -在 GitLab 12.9 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/32812) . 可以在 GitLab UI 中直接创建发布. - -**注意:**只有具有开发者权限或更高权限的用户才能创建发行版. 阅读有关[释放权限的](../../../user/permissions.html#project-members-permissions)更多信息. - -您可以在用户界面中或使用[Releases API](../../../api/releases/index.html#create-a-release)创建发布. 我们建议使用 API​​添加发行说明,作为 CI / CD 发行流程中的最后步骤之一. - -要通过 GitLab UI 创建新版本: - -1. 导航到**项目概述>发布** ,然后单击**新发布**按钮. -2. 在[**标签名称**](#tag-name)框中,输入一个名称. -3. In the **从创建** list, select the branch or enter a tag or commit SHA. -4. 在" **消息"**框中,输入与标签关联的消息. -5. (可选)在" [**发行说明"**](#release-notes-description)字段中,输入发行说明. 您可以使用 Markdown 并将文件拖放到此字段. - * 如果将此字段留空,则只会创建一个标签. - * 如果您填充它,将同时创建标签和发行版. -6. Click **创建标签**. - -如果创建了发行​​版,则可以在**项目概述>发行版中**对其进行查看. 如果创建了标签,则可以在**存储库>标签中**查看它. - -现在,您可以编辑发布以[添加里程碑](#associate-milestones-with-a-release)和[发布资产](#release-assets) . - -### Schedule a future release[](#schedule-a-future-release "Permalink") - -在 GitLab 12.1 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/38105) . - -您可以使用[Releases API](../../../api/releases/index.html#upcoming-releases)提前创建发行[版](../../../api/releases/index.html#upcoming-releases) . 当您设置将来的`released_at`日期时,将在发布标签旁边显示**即将发布**的发布标志. 经过`released_at`日期和时间后,会自动删除徽章. - -[![An upcoming release](img/7727ed12caef6b761b73e4bd379c7839.png)](img/upcoming_release_v12_7.png) - -## Edit a release[](#edit-a-release "Permalink") - -在 GitLab 12.6 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/26016) . 在 GitLab 12.10 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/9427)了资产链接编辑. - -**注意:**只有具有开发者权限或更高权限的用户才能编辑发行版. 阅读有关[释放权限的](../../../user/permissions.html#project-members-permissions)更多信息. - -要编辑发布的详细信息: - -1. 导航到**项目概述>发布** . -2. 在您要修改的发行版的右上角,单击" **编辑此发行版"** (铅笔图标). -3. 在" **编辑版本"**页面上,更改版本的详细信息. -4. Click **保存更改**. - -您可以编辑发行标题,注释,关联的里程碑和资产链接. 要更改其他发行信息,例如标签或发行日期,请使用[Releases API](../../../api/releases/index.html#update-a-release) . - -## Add release notes to Git tags[](#add-release-notes-to-git-tags "Permalink") - -If you have an existing Git tag, you can add release notes to it. - -您可以在用户界面中或使用[Releases API](../../../api/releases/index.html)来执行此操作. 我们建议使用 API​​添加发行说明,作为 CI / CD 发行流程中的最后步骤之一. - -在界面中,要向新的 Git 标签添加发行说明: - -1. 导航到您项目的**Repository> Tags** . -2. Click **新的一天**. -3. 在**发行说明**字段中,输入发行说明. 您可以使用 Markdown 并将文件拖放到此字段. -4. Click **创建标签**. - -在界面中,要将发行说明添加到现有的 Git 标签: - -1. 导航到您项目的**Repository> Tags** . -2. 单击**编辑发行说明** (铅笔图标). -3. 在**发行说明**字段中,输入发行说明. 您可以在此字段中使用 Markdown,并将文件拖放到该字段中. -4. Click **保存更改**. - -## Associate milestones with a release[](#associate-milestones-with-a-release "Permalink") - -版本历史 - -* 在 GitLab 12.5 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/29020) . -* [已更新](https://gitlab.com/gitlab-org/gitlab/-/issues/39467) ,可在 GitLab 13.0 中的 UI 中编辑里程碑. - -您可以将一个版本与一个或多个[项目里程碑](../milestones/index.html#project-milestones-and-group-milestones)相关联. - -您可以在用户界面中执行此操作,也可以在对[Releases API 的](../../../api/releases/index.html#create-a-release)请求中包含一个`milestones`数组. - -在用户界面中,要将里程碑与版本关联: - -1. 导航到**项目概述>发布** . -2. 在您要修改的发行版的右上角,单击" **编辑此发行版"** (铅笔图标). -3. 从" **里程碑"**列表中,选择要关联的每个里程碑. 您可以选择多个里程碑. -4. Click **保存更改**. - -在" **项目概述">"发布"**页面上, **里程碑**列在顶部,以及有关里程碑问题的统计信息. - -[![A Release with one associated milestone](img/21967843cf3a12bcfa5e39a39b1b3f69.png)](img/release_with_milestone_v12_9.png) - -在" **问题">"里程碑"**页面上,以及当您单击此页面上的里程碑时,也可以看到发行版本. - -这是一个里程碑示例,分别没有发布,一个发布和两个发布. - -[![Milestones with and without Release associations](img/e6ef8c883764c13967c9c9fcc5617980.png)](img/milestone_list_with_releases_v12_5.png) - -## Get notified when a release is created[](#get-notified-when-a-release-is-created "Permalink") - -在 GitLab 12.4 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/26001) . - -为您的项目创建新版本时,将通过电子邮件通知您. - -订阅发布通知: - -1. 导航到" **项目概述"** . -2. 单击**通知设置** (响铃图标). -3. 在列表中,点击**自定义** . -4. Select the **新品发布** check box. -5. 关闭对话框进行保存. - -## Prevent unintentional releases by setting a deploy freeze[](#prevent-unintentional-releases-by-setting-a-deploy-freeze "Permalink") - -在 GitLab 13.0 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/29382) . - -通过设置[*部署冻结*期,](../../../ci/environments/deployment_safety.html)可以在指定的时间内防止意外的生产发布. 冻结部署有助于减少自动化部署时的不确定性和风险. - -使用" [冻结时间" API](../../../api/freeze_periods.html)设置被定义为[crontab](https://crontab.guru/)条目的`freeze_start`和`freeze_end` . - -如果正在执行的作业处于冻结期,则 GitLab CI / CD 会创建一个名为`$CI_DEPLOY_FREEZE`的环境变量. - -为了防止执行部署作业,请在`gitlab-ci.yaml`创建一个`rules`条目,例如: - -``` -deploy_to_production: - stage: deploy - script: deploy_to_prod.sh - rules: - - if: $CI_DEPLOY_FREEZE == null -``` - -如果项目包含多个冻结期,则所有时期都适用. 如果它们重叠,则冻结将覆盖整个重叠期间. - -有关更多信息,请参阅[部署安全](../../../ci/environments/deployment_safety.html) . - -## Release fields[](#release-fields "Permalink") - -创建或编辑发行版时,以下字段可用. - -### Tag name[](#tag-name "Permalink") - -发行标签名称应包括发行版本. GitLab 在我们的发行版中使用[语义版本控制](https://semver.org/) ,我们建议您也这样做. 使用`(Major).(Minor).(Patch)` ,如[GitLab 版本控制政策](../../../policy/maintenance.html#versioning)中所述. - -例如,对于 GitLab 版本`10.5.7` : - -* `10`代表主要版本. 主要版本是`10.0.0` ,但通常称为`10.0` . -* `5`代表次要版本. 次要版本为`10.5.0` ,但通常称为`10.5` . -* `7`代表补丁号码. - -版本号的任何部分都可以是多个数字,例如`13.10.11` . - -### Release notes description[](#release-notes-description "Permalink") - -每个版本都有说明. 您可以添加任何您喜欢的文本,但是我们建议您添加一个变更日志来描述发行版本的内容. 这可以帮助用户快速扫描您发布的每个版本之间的差异. - -**注意:** [Git 的标记消息](https://git-scm.com/book/en/v2/Git-Basics-Tagging)和发行说明描述无关. 说明支持[Markdown](../../markdown.html) . - -### Release assets[](#release-assets "Permalink") - -当前,您可以将以下类型的资产添加到每个版本: - -* [Source code](#source-code) -* [Links](#links) - -manbetx 客户端打不开将在未来支持更多的资产类型,包括诸如预装包,合规性/安全证据或容器图像之类的对象. - -#### Permanent links to release assets[](#permanent-links-to-release-assets "Permalink") - -在 GitLab 12.9 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/27300) . - -与发布相关联的资产可通过永久 URL 访问. GitLab 将始终将此 URL 重定向到实际资产位置,因此,即使资产移动到其他位置,您也可以继续使用相同的 URL. 这是在[链接创建](../../../api/releases/links.html#create-a-link)或[更新](../../../api/releases/links.html#update-a-link)期间定义的. - -每个资产都有一个名称, *实际*资产位置的 URL,以及一个可选的`filepath`参数,如果您指定它,它将创建指向发布的资产的 URL. URL 的格式为: - -``` -https://host/namespace/project/releases/:release/downloads/:filepath -``` - -如果您对资产`v11.9.0-rc2`的发布`gitlab-org`命名空间和`gitlab-runner`项目上`gitlab.com` ,例如: - -``` -{ "name": "linux amd64", "filepath": "/binaries/gitlab-runner-linux-amd64", "url": "https://gitlab-runner-downloads.s3.amazonaws.com/v11.9.0-rc2/binaries/gitlab-runner-linux-amd64" } -``` - -该资产具有以下直接链接: - -``` -https://gitlab.com/gitlab-org/gitlab-runner/releases/v11.9.0-rc2/downloads/binaries/gitlab-runner-linux-amd64 -``` - -资产的物理位置可以随时更改,并且直接链接将保持不变. - -### Source code[](#source-code "Permalink") - -GitLab 会根据给定的 Git 标签自动生成`zip` , `tar.gz` , `tar.bz2`和`tar`归档的源代码. 这些是只读资产. - -### Links[](#links "Permalink") - -A link is any URL which can point to whatever you like: documentation, built binaries, or other related materials. These can be both internal or external links from your GitLab instance. - -链接的四种类型是" Runbook"," Package"," Image"和" Other". - -## Release evidence[](#release-evidence "Permalink") - -在 GitLab 12.6 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/26019) . - -每次创建发行版时,GitLab 都会拍摄与之相关的数据快照. 此数据保存在 JSON 文件中,称为*发布证据* . 它包括链接的里程碑和问题,并且可以促进内部流程,例如外部审核. - -要访问发布证据,请在"发布"页面上,单击" **证据集合"**标题下列出的 JSON 文件的链接. - -您还可以[使用 API](../../../api/releases/index.html#collect-release-evidence-premium-only)生成现有版本的版本证据. 因此,每个版本可以具有多个版本证据快照. 您可以在"发布"页面上查看发布证据及其详细信息. - -**注意:**禁用问题跟踪器后, [将无法下载](https://gitlab.com/gitlab-org/gitlab/-/issues/208397)发布证据. - -这是释放证据对象的示例: - -``` -{ "release": { "id": 5, "tag_name": "v4.0", "name": "New release", "project": { "id": 20, "name": "Project name", "created_at": "2019-04-14T11:12:13.940Z", "description": "Project description" }, "created_at": "2019-06-28 13:23:40 UTC", "description": "Release description", "milestones": [ { "id": 11, "title": "v4.0-rc1", "state": "closed", "due_date": "2019-05-12 12:00:00 UTC", "created_at": "2019-04-17 15:45:12 UTC", "issues": [ { "id": 82, "title": "The top-right popup is broken", "author_name": "John Doe", "author_email": "john@doe.com", "state": "closed", "due_date": "2019-05-10 12:00:00 UTC" }, { "id": 89, "title": "The title of this page is misleading", "author_name": "Jane Smith", "author_email": "jane@smith.com", "state": "closed", "due_date": "nil" } ] }, { "id": 12, "title": "v4.0-rc2", "state": "closed", "due_date": "2019-05-30 18:30:00 UTC", "created_at": "2019-04-17 15:45:12 UTC", "issues": [] } ], "report_artifacts": [ { "url":"https://gitlab.example.com/root/project-name/-/jobs/111/artifacts/download" } ] } } -``` - -### Collect release evidence[](#collect-release-evidence-premium-only "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/199065) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.10. - -创建发布后,将自动收集发布证据. 要在其他任何时间启动证据收集,请使用[API 调用](../../../api/releases/index.html#collect-release-evidence-premium-only) . 您可以为一个发布多次收集发布证据. - -在"发布"页面上可以看到证据收集快照,以及收集证据的时间戳. - -### Include report artifacts as release evidence[](#include-report-artifacts-as-release-evidence-ultimate-only "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/32773) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 13.2. - -创建发布时,如果[作业工件](../../../ci/pipelines/job_artifacts.html#artifactsreports)包含在最后运行的管道中,则它们会自动作为发布证据包含在发布中. - -尽管工作工件通常会过期,但发布证据中包含的工件不会过期. - -要启用作业工件收集,您需要同时指定两个: - -1. [`artifacts:paths`](../../../ci/yaml/README.html#artifactspaths) -2. [`artifacts:reports`](../../../ci/pipelines/job_artifacts.html#artifactsreports) - -``` -ruby: - script: - - gem install bundler - - bundle install - - bundle exec rspec --format progress --format RspecJunitFormatter --out rspec.xml - artifacts: - paths: - - rspec.xml - reports: - junit: rspec.xml -``` - -如果管道成功运行,则在创建发布时, `rspec.xml`文件将保存为发布证据. - -**注:**如果您[计划发布证据收集](#schedule-release-evidence-collection) ,则某些[证据](#schedule-release-evidence-collection)可能在证据收集时已经过期. 为了避免这种情况,可以使用[`artifacts:expire_in`](../../../ci/yaml/README.html#artifactsexpire_in)关键字. 了解更多在[这个问题上](https://gitlab.com/gitlab-org/gitlab/-/issues/222351) . - -### Schedule release evidence collection[](#schedule-release-evidence-collection "Permalink") - -在 GitLab 12.8 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/23697) . - -在 API 中: - -* 如果您指定未来的`released_at`日期,则该发布将成为**即将发布的发布,**并且将在发布日期收集证据. 在此之前,您无法收集释放证据. -* 如果您使用过去的`released_at`日期,则不会收集任何证据. -* 如果您未指定`released_at`日期,则在创建发布的日期收集发布证据. - -### Disable release evidence display[](#disable-release-evidence-display-core-only "Permalink") - -`:release_evidence_collection`功能标志在 GitLab 自管理实例中默认启用. 要关闭它,请要求具有 Rails 控制台访问权限的 GitLab 管理员运行以下命令: - -``` -Feature.disable(:release_evidence_collection) -``` - -**注意:**无论使用此功能标志如何,都将收集发布证据,该标志仅启用或禁用"发布"页面上的数据显示. - -## GitLab Releaser[](#gitlab-releaser "Permalink") - -在 GitLab 12.10 中[引入](https://gitlab.com/gitlab-org/gitlab-releaser/-/merge_requests/6) . - -GitLab Releaser 是一个 CLI 工具,用于从命令行或 GitLab 的 CI / CD 配置文件`.gitlab-ci.yml`管理 GitLab 版本. - -有了它,您可以直接通过终端创建,更新,修改和删除发行版. - -有关详细信息,请阅读[GitLab Releaser 文档](https://gitlab.com/gitlab-org/gitlab-releaser/-/tree/master/docs/index.md) . \ No newline at end of file diff --git a/docs/150.md b/docs/150.md deleted file mode 100644 index bb9052c..0000000 --- a/docs/150.md +++ /dev/null @@ -1,204 +0,0 @@ -# Repository - -> 原文:[https://docs.gitlab.com/ee/user/project/repository/](https://docs.gitlab.com/ee/user/project/repository/) - -* [Create a repository](#create-a-repository) -* [Files](#files) - * [Create and edit files](#create-and-edit-files) - * [Find files](#find-files) - * [Supported markup languages and extensions](#supported-markup-languages-and-extensions) - * [Repository README and index files](#repository-readme-and-index-files) - * [Jupyter Notebook files](#jupyter-notebook-files) - * [OpenAPI viewer](#openapi-viewer) -* [Branches](#branches) -* [Commits](#commits) -* [Project and repository size](#project-and-repository-size) -* [Contributors](#contributors) -* [Repository graph](#repository-graph) -* [Repository Languages](#repository-languages) -* [Locked files](#locked-files-premium) -* [Repository’s API](#repositorys-api) -* [Clone in Apple Xcode](#clone-in-apple-xcode) -* [Download Source Code](#download-source-code) - -# Repository[](#repository "Permalink") - -[存储库](https://git-scm.com/book/en/v2/Git-Basics-Getting-a-Git-Repository)是用于将代码库存储在 GitLab 中并通过版本控制对其进行更改的存储库. 存储库是[项目的](../index.html)一部分,它具有许多其他功能. - -## Create a repository[](#create-a-repository "Permalink") - -要创建一个新的存储库,您需要做的就是[创建一个新项目](../../../gitlab-basics/create-project.html)或[创建](../../../gitlab-basics/create-project.html) [一个现有项目](forking_workflow.html) . - -创建新项目后,您可以通过 UI(请参阅以下部分)或通过命令行添加新文件. 要从命令行添加文件,请遵循创建新项目时在屏幕上显示的说明,或在[命令行基础](../../../gitlab-basics/start-using-git.html)文档中通读它们. - -> **重要提示:**出于安全原因,强烈建议您在使用命令行时[通过 SSH 与 GitLab 连接](../../../ssh/README.html) . - -## Files[](#files "Permalink") - -使用存储库将文件存储在 GitLab 中. 在[GitLab 12.10 及更高版本中](https://gitlab.com/gitlab-org/gitlab/-/issues/33806) ,您将在存储库的文件树中根据其扩展名在文件名旁边看到一个图标: - -[![Repository file icons](img/8489a6c45ad75964ea7b4b54b9d9fcaa.png)](img/file_ext_icons_repo_v12_10.png) - -### Create and edit files[](#create-and-edit-files "Permalink") - -通过将文件推送到 GitLab,将代码库托管在 GitLab 存储库中. 您可以使用用户界面(UI),也可以[通过命令行将](../../../gitlab-basics/command-line-commands.html#start-working-on-your-project)本地计算机与 GitLab 连接. - -要配置[GitLab CI / CD](../../../ci/README.html)来构建,测试和部署代码,请在存储库的根目录中添加一个名为[`.gitlab-ci.yml`](../../../ci/quick_start/README.html)的文件. - -**从用户界面:** - -GitLab 的用户界面允许您执行许多 Git 命令,而无需触摸命令行. 即使您定期使用命令行,有时[通过 GitLab UI](web_editor.html)也更容易做到: - -* [Create a file](web_editor.html#create-a-file) -* [Upload a file](web_editor.html#upload-a-file) -* [File templates](web_editor.html#template-dropdowns) -* [Create a directory](web_editor.html#create-a-directory) -* [Start a merge request](web_editor.html#tips) -* [Find file history](git_history.html) -* [Identify changes by line (Git blame)](git_blame.html) - -**在命令行中:** - -要开始使用命令行,请通读[命令行基础文档](../../../gitlab-basics/command-line-commands.html) . - -### Find files[](#find-files "Permalink") - -使用 GitLab 的[文件查找器](file_finder.html)在存储库中搜索文件. - -### Supported markup languages and extensions[](#supported-markup-languages-and-extensions "Permalink") - -GitLab 支持多种标记语言(有时称为[轻量标记语言](https://en.wikipedia.org/wiki/Lightweight_markup_language) ),您可以将其用于存储库中文件的内容. 它们主要用于文档目的. - -只需为文件选择正确的扩展名,GitLab 就会根据标记语言来渲染它们. - -| 标记语言 | Extensions | -| --- | --- | -| 纯文本 | `txt` | -| [Markdown](../../markdown.html) | `mdown`, `mkd`, `mkdn`, `md`, `markdown` | -| [reStructuredText](https://docutils.sourceforge.io/rst.html) | `rst` | -| [AsciiDoc](../../asciidoc.html) | `adoc`, `ad`, `asciidoc` | -| [Textile](https://textile-lang.com/) | `textile` | -| [rdoc](http://rdoc.sourceforge.net/doc/index.html) | `rdoc` | -| [Org mode](https://orgmode.org/) | `org` | -| [creole](http://www.wikicreole.org/) | `creole` | -| [MediaWiki](https://www.mediawiki.org/wiki/MediaWiki) | `wiki`, `mediawiki` | - -### Repository README and index files[](#repository-readme-and-index-files "Permalink") - -当存储库中存在`README`或`index`文件时,它的内容将由 GitLab 自动预渲染,而无需打开它. - -它们可以是纯文本,也可以具有[受支持的标记语言](#supported-markup-languages-and-extensions)的扩展名: - -有关优先级的一些注意事项: - -1. 当`README`文件和`index`文件同时存在时, `README`文件将始终优先. -2. 如果存在多个具有不同扩展名的文件,则按字母顺序排列,但不带扩展名的文件例外,该扩展名始终优先. 例如, `README.adoc`将优先于`README.md` ,而`README.rst`将优先于`README` . - -### Jupyter Notebook files[](#jupyter-notebook-files "Permalink") - -[Jupyter](https://jupyter.org/) Notebook(以前的 IPython Notebook)文件用于许多领域的交互式计算,并且包含用户会话的完整记录,并包括代码,叙述性文本,方程式和丰富的输出. - -[Read how to use Jupyter notebooks with GitLab.](jupyter_notebooks/index.html) - -### OpenAPI viewer[](#openapi-viewer "Permalink") - -在 GitLab 12.6 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/19515) . - -如果文件名包含`openapi`或`swagger`且扩展名为`yaml` , `yml`或`json` ,则 GitLab 可以使用其文件查看器呈现 OpenAPI 规范文件. 以下示例都是正确的: - -* `openapi.yml` -* `openapi.yaml` -* `openapi.json` -* `swagger.yml` -* `swagger.yaml` -* `swagger.json` -* `gitlab_swagger.yml` -* `openapi_gitlab.yml` -* `OpenAPI.YML` -* `openapi.Yaml` -* `openapi.JSON` -* `openapi.gitlab.yml` -* `gitlab.openapi.yml` - -然后,渲染它们: - -1. 在 GitLab 的用户界面中导航至存储库中的 OpenAPI 文件. -2. 单击位于"显示源"和"编辑"按钮之间的"显示 OpenAPI"按钮(找到 OpenAPI 文件后,它将替换"显示渲染的文件"按钮). - -## Branches[](#branches "Permalink") - -有关详细信息,请参见[分支](branches/index.html) . - -## Commits[](#commits "Permalink") - -[提交更改时](https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository) ,您会将这些更改引入分支机构. 通过命令行,您可以在提交之前多次提交. - -* **提交消息:**提交消息对于标识正在更改的内容以及更重要的原因至关重要. 在 GitLab 中,您可以将关键字添加到提交消息中,以执行以下操作之一: - * **触发 GitLab CI / CD 管道:**如果您的项目配置有[GitLab CI / CD](../../../ci/README.html) ,则将在每次推送而不是每次提交时触发一个管道. - * **跳过管道:**您可以在提交消息中添加关键字[`[ci skip]`](../../../ci/yaml/README.html#skip-pipeline) ,GitLab CI / CD 将跳过该管道. - * **交叉链接问题和合并请求:** [交叉链接](../issues/crosslinking_issues.html#from-commit-messages)非常适合跟踪工作流程中与之相关的内容. 如果您在提交消息中提到问题或合并请求,它们将显示在各自的线程上. -* **樱桃选择提交:**在 GitLab 中,您可以直接从 UI [樱桃选择提交](../merge_requests/cherry_pick_changes.html#cherry-picking-a-commit) . -* **还原提交:**轻松[将提交](../merge_requests/revert_changes.html#reverting-a-commit)从 UI [还原](../merge_requests/revert_changes.html#reverting-a-commit)到所选分支. -* **签署提交:**使用 GPG [签署您的提交](gpg_signed_commits/index.html) . - -## Project and repository size[](#project-and-repository-size "Permalink") - -在项目的" **详细信息"**页面上报告项目的大小. 报告的大小最多每 15 分钟更新一次,因此可能无法反映最近的活动. 显示的文件大小包括存储库文件,工件和 LFS. - -由于压缩,内务处理和其他因素,每个项目的项目规模可能会略有不同. - -[储存库大小限制](../../admin_area/settings/account_and_limit_settings.html)可以由管理员设置. GitLab.com 的存储库大小限制[由 GitLab 设置](../../gitlab_com/index.html#repository-size-limit) . - -## Contributors[](#contributors "Permalink") - -代码库的所有贡献者都显示在项目的**设置>贡献者下** . - -它们是从协作者中以最少的提交次数排序的,并显示在一个漂亮的图形上: - -[![contributors to code](img/d69ab181c07176aa054b0ceac08b702c.png)](img/contributors_graph.png) - -## Repository graph[](#repository-graph "Permalink") - -存储库图形以可视方式显示存储网络的历史记录,包括分支和合并. 这可以帮助您可视化存储库中使用的 Git 流策略: - -[![repository Git flow](img/a1efb7c23a97e2901852465c9168914f.png)](img/repo_graph.png) - -在您项目的**Repository> Graph**下找到它. - -## Repository Languages[](#repository-languages "Permalink") - -对于每个存储库的默认分支,GitLab 将确定使用了哪种编程语言,并将其显示在项目页面上. 如果缺少此信息,将在更新项目上的默认分支后添加. 此过程最多可能需要 5 分钟. - -[![Repository Languages bar](img/e2e835cd5cd1be1afaa876fde2475fe5.png)](img/repository_languages_v12_2.gif) - -Not all files are detected, among others; documentation, vendored code, and most markup languages are excluded. This behavior can be adjusted by overriding the default. For example, to enable `.proto` files to be detected, add the following to `.gitattributes` in the root of your repository. - -``` -*.proto linguist-detectable=true -``` - -## Locked files[](#locked-files-premium "Permalink") - -使用[文件锁定](../file_lock.html)来锁定文件,以防止发生任何冲突的更改. - -## Repository’s API[](#repositorys-api "Permalink") - -您可以通过[存储库 API](../../../api/repositories.html)访问您的[存储库](../../../api/repositories.html) . - -## Clone in Apple Xcode[](#clone-in-apple-xcode "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/45820) in GitLab 11.0 - -现在,可以使用位于用于克隆项目的 Git URL 旁边的新的" **在 Xcode 中打开"**按钮**在 Xcode 中**克隆包含`.xcodeproj`或`.xcworkspace`目录的项目. 该按钮仅在 macOS 上显示. - -## Download Source Code[](#download-source-code "Permalink") - -在 GitLab 11.11 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/24704)了对目录下载的支持. - -可以从 UI 下载存储在存储库中的源代码. 单击下载图标,将打开一个下拉列表,其中包含下载以下内容的链接: - -[![Download source code](img/0f88b0e1a49600472f2922218cec1ed7.png)](img/download_source_code.png) - -* **源代码:**允许用户在他们当前正在查看的分支上下载源代码. 可用扩展名: `zip` , `tar` , `tar.gz`和`tar.bz2` . -* **目录:**仅在查看子目录时显示. 这使用户可以下载他们当前正在查看的特定目录. 也可以在`zip` , `tar` , `tar.gz`和`tar.bz2` . -* **工件:**允许用户下载最新 CI 构建的工件. \ No newline at end of file diff --git a/docs/151.md b/docs/151.md deleted file mode 100644 index 0c2f188..0000000 --- a/docs/151.md +++ /dev/null @@ -1,119 +0,0 @@ -# Branches - -> 原文:[https://docs.gitlab.com/ee/user/project/repository/branches/](https://docs.gitlab.com/ee/user/project/repository/branches/) - -* [Default branch](#default-branch) - * [Custom initial branch name](#custom-initial-branch-name-core-only) - * [Enable or disable custom initial branch name](#enable-or-disable-custom-initial-branch-name-core-only) -* [Compare](#compare) -* [Delete merged branches](#delete-merged-branches) -* [Branch filter search box](#branch-filter-search-box) - -# Branches[](#branches "Permalink") - -分支是项目工作树的版本. 您为所做的每组相关更改创建一个分支. 这样可以使每组更改彼此独立,从而可以并行进行更改,而不会互相影响. - -将更改推送到新分支后,您可以: - -* 创建[合并请求](../../merge_requests/index.html) -* 执行内联代码审查 -* 与团队[讨论](../../../discussions/index.html)实施情况 -* 使用[Review Apps](../../../../ci/review_apps/index.html)预览提交到新分支的更改. - -使用[GitLab Starter](https://about.gitlab.com/pricing/) ,您还可以请求经理的[批准](../../merge_requests/merge_request_approvals.html) . - -有关使用 GitLab UI 管理分支的更多信息,请参见: - -* [Default branches](#default-branch) -* [Create a branch](../web_editor.html#create-a-new-branch) -* [Protected branches](../../protected_branches.html#protected-branches) -* [Delete merged branches](#delete-merged-branches) -* [Branch filter search box](#branch-filter-search-box) - -您也可以使用[命令行](../../../../gitlab-basics/start-using-git.html#create-a-branch)管理分支. - -观看视频[GitLab Flow](https://www.youtube.com/watch?v=InKNIvky2KE) . - -也可以看看: - -* [Branches API](../../../../api/branches.html) ,有关使用 GitLab API 在存储库分支上进行操作的信息. -* [GitLab Flow](../../../../university/training/gitlab_flow.html) documentation. -* [Git](../../../../topics/git/index.html)和 GitLab [入门](../../../../topics/git/index.html) . - -## Default branch[](#default-branch "Permalink") - -创建新[项目时](../../index.html) ,GitLab 会将`master`设置为存储库的默认分支. 您可以在项目的**设置>存储库**下选择另一个分支作为项目的默认分支. - -通过[问题关闭模式](../../issues/managing_issues.html#closing-issues-automatically)直接从合并请求中[关闭问题时](../../issues/managing_issues.html#closing-issues-automatically) ,目标是项目的**默认分支** . - -初始还对默认分支进行了[保护,以](../../protected_branches.html#protected-branches)防止意外删除和强制推送. - -### Custom initial branch name[](#custom-initial-branch-name-core-only "Permalink") - -版本历史 - -* 在 GitLab 13.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/221013) . -* 它部署在默认情况下启用的功能标志后面. -* 在 GitLab.com 上启用了它. -* 不能根据项目启用或禁用它. -* 建议用于生产. -* 对于 GitLab 自我管理的实例,GitLab 管理员可以选择[禁用它](#enable-or-disable-custom-initial-branch-name-core-only) . - -默认情况下,当您在 GitLab 中创建新项目时,初始分支称为`master` . 对于自我管理的实例,GitLab 管理员可以将初始分支名称自定义为其他名称. 这样,此后创建的每个新项目都将从自定义分支名称开始,而不是`master` . 为此: - -1. 转到 **在管理区域>设置>存储库中** ,展开**默认初始分支名称** . -2. 将默认的初始分支更改为您选择的自定义名称. -3. **保存更改**. - -#### Enable or disable custom initial branch name[](#enable-or-disable-custom-initial-branch-name-core-only "Permalink") - -正在设置默认的初始分支名称,但已准备好用于生产. 它部署在**默认情况下启用**的功能标志的后面. [有权访问 GitLab Rails 控制台的 GitLab 管理员](../../../../administration/feature_flags.html)可以选择为您的实例禁用它. - -禁用它: - -``` -Feature.disable(:global_default_branch_name) -``` - -要启用它: - -``` -Feature.enable(:global_default_branch_name) -``` - -## Compare[](#compare "Permalink") - -要比较存储库中的分支: - -1. 导航到项目的存储库. -2. 在边栏中选择**存储库>比较** . -3. 使用[分支过滤器搜索框](#branch-filter-search-box)选择要比较的[分支](#branch-filter-search-box) -4. 单击" **比较** "以内联查看更改: - -[![compare branches](img/b4e4d114d9b2244a7848961617e05a95.png)](img/compare_branches.png) - -## Delete merged branches[](#delete-merged-branches "Permalink") - -在 GitLab 8.14 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/6449) . - -[![Delete merged branches](img/6de450be845a1f48a3feae9ce8e7be6e.png)](img/delete_merged_branches.png) - -此功能允许合并的分支被批量删除. 作为此操作的一部分,只有已合并[但未受保护的](../../protected_branches.html)分支才会被删除. - -清理合并请求时未自动删除的旧分支尤其有用. - -## Branch filter search box[](#branch-filter-search-box "Permalink") - -在 GitLab 11.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/22166) . - -[![Branch filter search box](img/f380fbb3646558d8becf561df5894c38.png)](img/branch_filter_search_box.png) - -此功能使您可以快速搜索和选择分支. 搜索结果按以下顺序显示: - -* 名称与搜索字词完全匹配的分支. -* 名称包含搜索词的其他分支,按字母顺序排序. - -有时,当您有数百个分支时,可能需要更灵活的匹配模式. 在这种情况下,您可以使用以下方法: - -* `^feature`将仅匹配以'feature'开头的分支名称. -* `feature$` will only match branch names that end with ‘feature’. \ No newline at end of file diff --git a/docs/152.md b/docs/152.md deleted file mode 100644 index d46ae9f..0000000 --- a/docs/152.md +++ /dev/null @@ -1,20 +0,0 @@ -# Git Attributes - -> 原文:[https://docs.gitlab.com/ee/user/project/git_attributes.html](https://docs.gitlab.com/ee/user/project/git_attributes.html) - -* [Encoding Requirements](#encoding-requirements) -* [Syntax Highlighting](#syntax-highlighting) - -# Git Attributes[](#git-attributes "Permalink") - -GitLab 支持定义自定义[Git 属性,](https://git-scm.com/docs/gitattributes)例如将哪些文件视为二进制文件,以及将哪种语言用于语法突出显示差异. - -要定义这些属性, `.gitattributes`在存储库的根目录中创建一个名为`.gitattributes`的文件,并将其推送到项目的默认分支. - -## Encoding Requirements[](#encoding-requirements "Permalink") - -`.gitattributes`文件*必须*使用 UTF-8 编码,并且*不能*包含字节顺序标记. 如果使用其他编码,则文件的内容将被忽略. - -## Syntax Highlighting[](#syntax-highlighting "Permalink") - -`.gitattributes`文件可用于定义语法高亮显示文件和差异时使用的语言. 有关更多信息,请参见["语法突出显示"](highlighting.html) . \ No newline at end of file diff --git a/docs/153.md b/docs/153.md deleted file mode 100644 index 6df9d56..0000000 --- a/docs/153.md +++ /dev/null @@ -1 +0,0 @@ -> 原文:[https://docs.gitlab.com/ee/administration/lfs/manage_large_binaries_with_git_lfs.html](https://docs.gitlab.com/ee/administration/lfs/manage_large_binaries_with_git_lfs.html) \ No newline at end of file diff --git a/docs/154.md b/docs/154.md deleted file mode 100644 index 057c070..0000000 --- a/docs/154.md +++ /dev/null @@ -1,86 +0,0 @@ -# File Locking - -> 原文:[https://docs.gitlab.com/ee/user/project/file_lock.html](https://docs.gitlab.com/ee/user/project/file_lock.html) - -* [Overview](#overview) -* [Use-cases](#use-cases) -* [Locking a file or a directory](#locking-a-file-or-a-directory) -* [Unlocking a file or a directory](#unlocking-a-file-or-a-directory) -* [Viewing and managing existing locks](#viewing-and-managing-existing-locks) -* [Permissions on file locking](#permissions-on-file-locking) - -# File Locking[](#file-locking-premium "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/440) in [GitLab Premium](https://about.gitlab.com/pricing/) 8.9. - -与多个人一起使用同一文件可能会带来风险. 合并非文本文件时的冲突很难克服,将需要大量的手动工作来解决. 文件锁定可帮助您避免这些合并冲突并更好地管理二进制文件. - -使用文件锁定,您可以锁定任何文件或目录,进行更改,然后将其解锁,以便团队的其他成员可以对其进行编辑. - -## Overview[](#overview "Permalink") - -与多个人一起使用同一文件可能会带来风险. 合并非文本文件时的冲突很难克服,将需要大量的手动工作来解决. 借助 GitLab Premium,文件锁定可防止他人(您除外)修改特定文件或整个目录,从而帮助您避免合并冲突并更好地管理二进制文件. - -## Use-cases[](#use-cases "Permalink") - -在以下情况下,文件锁定功能很有用: - -* 多个人正在同一个文件上,您要避免合并冲突. -* 您的存储库包含二进制文件,在这种情况下,没有简单的方法来告诉您与同事的更改之间的区别. -* 防止设计资产被覆盖. - -Locked directories are locked recursively, which means that everything that lies under them is also locked. - -## Locking a file or a directory[](#locking-a-file-or-a-directory "Permalink") - -**注意:**锁定仅适用于您在项目设置中设置的默认分支(通常是`master` ). - -锁定文件: - -1. 导航到项目的" **存储库">"文件"** . -2. 选择您要锁定的文件. -3. 点击"锁定"按钮. - - [![Locking file](img/2f8e418a69825e31935272d55cceae7f.png)](img/file_lock.png) - -要锁定整个目录,请在"历史记录"旁边查找"锁定"链接. - -锁定文件或目录后,它在存储库视图中将显示为已锁定. - -[![Repository view](img/0574a3e535157d8b9c5744214f19f7c7.png)](img/file_lock_repository_view.png) - -一旦锁定,对默认分支的任何合并请求将无法合并,直到文件被解锁. - -## Unlocking a file or a directory[](#unlocking-a-file-or-a-directory "Permalink") - -要解锁文件或目录,请遵循与锁定文件或目录相同的步骤. 有关每个现有锁的详细视图,请参阅下一节"查看和管理现有锁". - -您可以解锁自己或其他人先前锁定的文件,只要您对该项目具有"维护者"或更高[权限](../permissions.html) . - -## Viewing and managing existing locks[](#viewing-and-managing-existing-locks "Permalink") - -要查看或管理每个现有锁,请导航至" **项目">"存储库">"锁定文件"**区域. 在这里,您可以查看所有现有的锁,并[删除您拥有权限的](#permissions-on-file-locking)锁. - -## Permissions on file locking[](#permissions-on-file-locking "Permalink") - -锁定文件或目录的用户**是唯一**可以编辑并将其更改推回锁定对象所在存储库的用户. - -可以对存储库进行[推送访问](../permissions.html)的任何人都可以创建锁. 即开发人员和更高级别的人员,并且只能由其作者和具有维护者权限及更高权限的任何用户删除. - -如果文件被锁定并且您不是其锁定状态的作者,则在尝试推送时,预接收挂钩将拒绝您的更改. 在以下示例中,对锁定的`.gitignore`文件没有权限的用户将看到以下消息: - -``` -Counting objects: 3, done. -Delta compression using up to 4 threads. -Compressing objects: 100% (3/3), done. -Writing objects: 100% (3/3), 320 bytes | 0 bytes/s, done. -Total 3 (delta 1), reused 0 (delta 0) -remote: GitLab: The path '.gitignore' is locked by Administrator -To https://example.com/gitlab-org/gitlab-foss.git - ! [remote rejected] master -> master (pre-receive hook declined) - error: failed to push some refs to 'https://example.com/gitlab-org/gitlab-foss.git' -``` - -同样,当不是文件锁定状态作者的用户接受合并请求时,将出现一条错误消息,指出文件已锁定. - -[![Merge request error message](img/7a5c28bfcfa2942d75aaace7ccb281ce.png)](img/file_lock_merge_request_error_message.png) \ No newline at end of file diff --git a/docs/155.md b/docs/155.md deleted file mode 100644 index e5b6ce4..0000000 --- a/docs/155.md +++ /dev/null @@ -1,54 +0,0 @@ -# Git file blame - -> 原文:[https://docs.gitlab.com/ee/user/project/repository/git_blame.html](https://docs.gitlab.com/ee/user/project/repository/git_blame.html) - -* [Blame previous commit](#blame-previous-commit) -* [Associated `git` command](#associated-git-command) -* [File blame through the API](#file-blame-through-the-api) - -# Git file blame[](#git-file-blame "Permalink") - -在 GitLab 2.5 中[引入](https://git.sphere.ly/staff/publicgitlab/commit/39c657930625ddc3ac8a921f01ffc83acadce68f) - -[Git blame](https://git-scm.com/docs/git-blame)提供有关文件中每一行的更多信息,包括最后修改时间,作者和提交哈希. - -您可以在项目中的每个文件中找到" **责备"**按钮. - -[![File blame button](img/1427a32ce32914c8100f7563817e3d64.png "Blame button")](img/file_blame_button_v12_6.png) - -选择" **责备"**按钮时,您会看到一个带有说明信息的屏幕: - -[![Git blame output](img/4a7c845c8d7b28d90af5923b08fb1e1d.png "Blame button output")](img/file_blame_output_v12_6.png) - -如果将鼠标悬停在 UI 中的提交上,您将看到该提交的确切日期和时间. - -## Blame previous commit[](#blame-previous-commit "Permalink") - -在 GitLab 12.7 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/19299) . - -要查看特定行的早期修订,请**在此更改**之前单击" **查看责备",**直到找到您有兴趣查看的**更改**为止: - -[![Blame previous commit](img/dc12d72310a7e06d2981fd6774b0903d.png "Blame previous commit")](img/file_blame_previous_commit_v12_7.png) - -## Associated `git` command[](#associated-git-command "Permalink") - -如果从命令行运行`git` ,则等效命令为`git blame <filename>` . 例如,如果你想找到`blame`有关信息`README.md`在本地目录中的文件,运行以下命令: - -``` -git blame README.md -``` - -您将看到类似于以下内容的输出,其中包括 UTC 格式的提交时间: - -``` -62e2353a (Achilleas Pipinellis 2019-07-11 14:52:18 +0300 1) [![build status](https://gitlab.com/gitlab-org/gitlab-docs/badges/master/build.svg)](https://gitlab.com/gitlab-com/gitlab-docs/commits/master) -fb0fc7d6 (Achilleas Pipinellis 2016-11-07 22:21:22 +0100 2) -^764ca75 (Connor Shea 2016-10-05 23:40:24 -0600 3) # GitLab Documentation -^764ca75 (Connor Shea 2016-10-05 23:40:24 -0600 4) -0e62ed6d (Mike Jang 2019-11-26 21:44:53 +0000 5) This project hosts the repository used to generate the GitLab -0e62ed6d (Mike Jang 2019-11-26 21:44:53 +0000 6) documentation website and deployed to https://docs.gitlab.com. It uses the -``` - -## File blame through the API[](#file-blame-through-the-api "Permalink") - -您也可以通过[Git 文件指责 REST API](../../../api/repository_files.html#get-file-blame-from-repository)来获取此信息. \ No newline at end of file diff --git a/docs/156.md b/docs/156.md deleted file mode 100644 index cd1ef81..0000000 --- a/docs/156.md +++ /dev/null @@ -1,61 +0,0 @@ -# Git file history - -> 原文:[https://docs.gitlab.com/ee/user/project/repository/git_history.html](https://docs.gitlab.com/ee/user/project/repository/git_history.html) - -* [Associated `git` command](#associated-git-command) - -# Git file history[](#git-file-history "Permalink") - -在 GitLab 0.8.0 中[引入](https://gitlab.com/gitlab-org/gitlab/blob/9ba1224867665844b117fa037e1465bb706b3685/app/controllers/commits_controller.rb) - -Git 文件历史记录提供有关与文件关联的提交历史记录的信息. - -您可以在项目中的每个文件中找到" **历史记录"**按钮. - -[![File history button](img/4b803fd891a7ec7f422522d2ff185864.png "History button")](img/file_history_button_v12_6.png) - -当选择" **历史记录"**按钮时,您将看到一个带有说明信息的屏幕: - -[![Git log output](img/0dad61d266449688c931d1703509bca3.png "History button output")](img/file_history_output_v12_6.png) - -如果将鼠标悬停在 UI 中的提交上,您将看到上次修改提交的确切日期和时间. - -## Associated `git` command[](#associated-git-command "Permalink") - -如果从命令行运行`git` ,则等效命令为`git log <filename>` . 例如,如果要在本地目录中找到有关`README.md`文件的`history`信息,请运行以下命令: - -``` -git log README.md -``` - -您将看到类似于以下内容的输出,其中包括 UTC 格式的提交时间: - -``` -commit 0e62ed6d9f39fa9bedf7efc6edd628b137fa781a -Author: Mike Jang <mjang@gitlab.com> -Date: Tue Nov 26 21:44:53 2019 +0000 - - Deemphasize GDK as a doc build tool - -commit 418879420b1e3a4662067bd07b64bb6988654697 -Author: Marcin Sedlak-Jakubowski <msedlakjakubowski@gitlab.com> -Date: Mon Nov 4 19:58:27 2019 +0100 - - Fix typo - -commit 21cc1fef11349417ed515557748369cfb235fc81 -Author: Jacques Erasmus <jerasmus@gitlab.com> -Date: Mon Oct 14 22:13:40 2019 +0000 - - Add support for modern JS - - Added rollup to the project - -commit 2f5e895aebfa5678e51db303b97de56c51e3cebe -Author: Achilleas Pipinellis <axil@gitlab.com> -Date: Fri Sep 13 14:03:01 2019 +0000 - - Remove gitlab-foss Git URLs as we don't need them anymore - - [ci skip] -``` \ No newline at end of file diff --git a/docs/157.md b/docs/157.md deleted file mode 100644 index cd825fa..0000000 --- a/docs/157.md +++ /dev/null @@ -1,429 +0,0 @@ -# Repository mirroring - -> 原文:[https://docs.gitlab.com/ee/user/project/repository/repository_mirroring.html](https://docs.gitlab.com/ee/user/project/repository/repository_mirroring.html) - -* [Overview](#overview) -* [Use cases](#use-cases) -* [Pushing to a remote repository](#pushing-to-a-remote-repository-core) - * [Configuring push mirrors through the API](#configuring-push-mirrors-through-the-api) - * [Push only protected branches](#push-only-protected-branches-core) - * [Keep divergent refs](#keep-divergent-refs-core) -* [Setting up a push mirror from GitLab to GitHub](#setting-up-a-push-mirror-from-gitlab-to-github-core) -* [Setting up a push mirror to another GitLab instance with 2FA activated](#setting-up-a-push-mirror-to-another-gitlab-instance-with-2fa-activated) -* [Pulling from a remote repository](#pulling-from-a-remote-repository-starter) - * [How it works](#how-it-works) - * [SSH authentication](#ssh-authentication) - * [SSH public key authentication](#ssh-public-key-authentication) - * [Overwrite diverged branches](#overwrite-diverged-branches-starter) - * [Only mirror protected branches](#only-mirror-protected-branches-starter) - * [Hard failure](#hard-failure-starter) - * [Trigger update using API](#trigger-update-using-api-starter) -* [Forcing an update](#forcing-an-update-core) -* [Bidirectional mirroring](#bidirectional-mirroring-starter) - * [Configure a webhook to trigger an immediate pull to GitLab](#configure-a-webhook-to-trigger-an-immediate-pull-to-gitlab) - * [Preventing conflicts using a `pre-receive` hook](#preventing-conflicts-using-a-pre-receive-hook) - * [Mirroring with Perforce Helix via Git Fusion](#mirroring-with-perforce-helix-via-git-fusion-starter) -* [Troubleshooting](#troubleshooting) - * [13:Received RST_STREAM with error code 2 with GitHub](#13received-rst_stream-with-error-code-2-with-github) - -# Repository mirroring[](#repository-mirroring "Permalink") - -存储库镜像允许将存储库镜像到外部源或从外部源镜像. 它可用于镜像存储库之间的分支,标签和提交. - -GitLab 上的存储库镜像将自动更新. 您也可以最多每 5 分钟手动触发一次更新. - -## Overview[](#overview "Permalink") - -当您想在 GitLab 之外使用存储库时,存储库镜像很有用. - -GitLab 支持两种存储库镜像: - -* 推送:用于将 GitLab 存储库镜像到另一个位置. -* Pull: for mirroring a repository from another location to GitLab. - -镜像存储库更新后,所有新的分支,标记和提交将在项目的活动提要中可见. - -至少具有[开发人员访问](../../permissions.html)项目[权限](../../permissions.html)的用户也可以强制立即更新,除非: - -* 镜像已被更新. -* 自上次更新以来,还没有过去 5 分钟. - -出于安全原因,在[GitLab 12.10 和更高版本中](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27166) ,原始存储库的 URL 仅显示给对镜像项目具有维护者或所有者权限的用户. - -## Use cases[](#use-cases "Permalink") - -以下是存储库镜像的一些可能的用例: - -* 您迁移到了 GitLab,但仍需要将项目保留在另一个源中. 在这种情况下,您只需将其设置为镜像到 GitLab(拉),所有提交,标签和分支的基本历史记录都将在您的 GitLab 实例中提供. -* 您在另一个源中有旧项目,这些旧项目不再使用,但又不想出于归档目的而删除它们. 在这种情况下,您可以创建一个推送镜像,以便您的活动 GitLab 存储库可以将其更改推送到旧位置. - -## Pushing to a remote repository[](#pushing-to-a-remote-repository-core "Permalink") - -版本历史 - -* 在 GitLab 企业版 8.7 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/249) . -* 在 10.8 版中[移至 GitLab Core](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/18715) . - -对于现有项目,可以按如下所示设置推送镜像: - -1. 导航到项目的**"设置">"存储库",**然后展开" **镜像存储库"**部分. -2. 输入存储库 URL. -3. 从**镜像方向**下拉菜单中选择**推送** . -4. 如有必要,请从" **身份验证方法"**下拉列表中选择一种身份**验证方法** . -5. 如有必要,请选中**仅镜像保护的分支**框. -6. 如果需要, **请**选中" **保持差异引用"**框. -7. 单击**镜像存储库**按钮以保存配置. - -[![Repository mirroring push settings screen](img/d67d5681f30c4769c6d92232eada26e4.png)](img/repository_mirroring_push_settings.png) - -启用推送镜像后,只有推送会直接提交到镜像存储库,以防止镜像发散. 任何时候,所有更改都将最终存储在镜像存储库中: - -* 提交被推送到 GitLab. -* [强制更新](#forcing-an-update-core)已启动. - -推送到存储库中文件的更改至少会自动推送到远程镜像: - -* 收到后五分钟内. -* 如果启用了**仅受镜像保护的分支,**则在一分钟之内. - -如果分支分支不同,您将在" **镜像存储库"**部分看到指示的错误. - -### Configuring push mirrors through the API[](#configuring-push-mirrors-through-the-api "Permalink") - -您还可以通过[远程镜像 API](../../../api/remote_mirrors.html)创建和修改项目推送镜像. - -### Push only protected branches[](#push-only-protected-branches-core "Permalink") - -版本历史 - -* 在[GitLab Starter](https://about.gitlab.com/pricing/) 10.3 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/3350) . -* 在 10.8 版中[移至 GitLab Core](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/18715) . - -您可以选择仅将受保护的分支从 GitLab 推送到远程存储库. - -要使用此选项,请在创建存储库镜像时选中" **仅镜像保护的分支"**框. - -### Keep divergent refs[](#keep-divergent-refs-core "Permalink") - -在 GitLab 13.0 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/208828) . - -默认情况下,如果远程镜像上的任何引用都与本地存储库不同,则*整个推送*将失败,并且不会更新任何内容. - -例如,如果存储库具有已镜像到远程的`master` , `develop`和`stable`分支,然后添加新提交以在镜像上进行`develop` ,则下一次推送尝试将失败,从而使`master`和`stable`不在可用范围内约会尽管没有分歧. 在解决分歧之前,无法反映任何分支上的更改. - -启用" **保持差异引用"**选项后,将跳过`develop`分支,从而可以更新`master`和`stable` . 镜像状态将反映`develop`已偏离并被跳过,并标记为更新失败. - -**注意:**创建镜像后,当前只能通过[API](../../../api/remote_mirrors.html)修改此选项. - -## Setting up a push mirror from GitLab to GitHub[](#setting-up-a-push-mirror-from-gitlab-to-github-core "Permalink") - -要设置从 GitLab 到 GitHub 的镜像,您需要执行以下步骤: - -1. 创建一个[GitHub 个人访问令牌](https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token) ,并选中`public_repo`框. -2. 使用以下格式填写**Git 存储库 URL**字段: `https://<your_github_username>@github.com/<your_github_group>/<your_github_project>.git` . -3. 使用您的 GitHub 个人访问令牌填写**密码**字段. -4. 单击**镜像存储库**按钮. - -镜像的存储库将被列出. 例如, `https://*****:*****@github.com/<your_github_group>/<your_github_project>.git` . - -该存储库将很快推送. 要强制按下,请单击适当的按钮. - -## Setting up a push mirror to another GitLab instance with 2FA activated[](#setting-up-a-push-mirror-to-another-gitlab-instance-with-2fa-activated "Permalink") - -1. 在目标 GitLab 实例上,创建一个具有`write_repository`范围的[个人访问令牌](../../profile/personal_access_tokens.html) . -2. 在源 GitLab 实例上: - 1. 使用以下格式填写**Git 存储库 URL**字段: `https://oauth2@<destination host>/<your_gitlab_group_or_name>/<your_gitlab_project>.git` . - 2. 在目标 GitLab 实例上创建的 GitLab 个人访问令牌中填写**密码**字段. - 3. 单击**镜像存储库**按钮. - -## Pulling from a remote repository[](#pulling-from-a-remote-repository-starter "Permalink") - -版本历史 - -* 在 GitLab 企业版 8.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/51) . -* 在[GitLab Starter](https://about.gitlab.com/pricing/) 11.11 中[添加了 Git LFS 支持](https://gitlab.com/gitlab-org/gitlab/-/issues/10871) . - -您可以将存储库设置为自动从上游存储库更新其分支,标记和提交. - -当您感兴趣的存储库位于其他服务器上并且您希望能够使用熟悉的 GitLab 界面浏览其内容和活动时,此功能很有用. - -要为现有项目配置镜像拉出: - -1. Navigate to your project’s **设置>存储库** and expand the **镜像存储库** section. -2. 输入存储库 URL. -3. 从**镜像方向**下拉菜单中选择**拉** . -4. 如有必要,请从" **身份验证方法"**下拉列表中选择一种身份**验证方法** . -5. 如有必要,请选中以下框: - * **覆盖分散的分支** . - * **触发管道以更新镜像** . - * **仅镜像保护的分支** . -6. 单击**镜像存储库**按钮以保存配置. - -[![Repository mirroring pull settings screen - upper part](img/5881da97228cb042e5934f836edfd06c.png)](img/repository_mirroring_pull_settings_upper.png) - -* * * - -[![Repository mirroring pull settings screen - lower part](img/d5df9e77d389b58908ef235600ccc61c.png)](img/repository_mirroring_pull_settings_lower.png) - -Because GitLab is now set to pull changes from the upstream repository, you should not push commits directly to the repository on GitLab. Instead, any commits should be pushed to the upstream repository. Changes pushed to the upstream repository will be pulled into the GitLab repository, either: - -* 在一定时间内自动. -* 启动[强制更新时](#forcing-an-update-core) . - -**警告:**如果您确实在 GitLab 存储库中更新了分支,则该分支将与上游分叉,并且 GitLab 将不再自动更新该分支以防止丢失任何更改. 另请注意,上游存储库中已删除的分支和标签将不会反映在 GitLab 存储库中. - -### How it works[](#how-it-works "Permalink") - -为存储库启用拉镜像功能后,会将存储库添加到队列中. - -每分钟一次,Sidekiq cron 作业基于以下内容计划存储库镜像的更新: - -* 可用容量. 这由 Sidekiq 设置确定. 对于 GitLab.com,请参阅[GitLab.com Sidekiq 设置](../../gitlab_com/index.html#sidekiq) . -* 队列中已经要更新的存储库镜像数. 到期时间取决于存储库镜像的最后更新时间以及重试次数. - -随着 Sidekiq 可以处理存储库镜像,它们也会更新. 如果更新存储库镜像的过程为: - -* 成功后,至少需要等待 30 分钟,更新才会重新加入队列. -* 失败(例如,分支从上游分支),稍后将再次尝试. 镜像最多可以发生 14 次故障,然后才不会再次进入队列进行更新. - -### SSH authentication[](#ssh-authentication "Permalink") - -> * 在[GitLab Starter](https://about.gitlab.com/pricing/) 9.5 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/2551)了拉镜像. -> * 在[GitLab Core](https://about.gitlab.com/pricing/) 11.6 中为推送镜像[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/22982) - -SSH 身份验证是相互的: - -* 您必须向服务器证明您有权访问存储库. -* 服务器还必须向*您*证明它是谁. - -您提供凭据作为密码或公共密钥. 另一个存储库所在的服务器提供其凭据作为"主机密钥",其指纹需要手动验证. - -如果您通过 SSH 镜像(即使用`ssh://` URL),则可以使用以下方法进行身份验证: - -* 基于密码的身份验证,就像通过 HTTPS 一样. -* 公钥认证. 这通常比密码身份验证更安全,尤其是当其他存储库支持[Deploy Keys 时](../../../ssh/README.html#deploy-keys) . - -开始: - -1. 导航到项目的**"设置">"存储库",**然后展开" **镜像存储库"**部分. -2. 输入`ssh://` URL 进行镜像. - -**注意:**目前不支持 SCP 样式的 URL(即`git@example.com:group/project.git` ). - -输入 URL 在页面上添加两个按钮: - -* **检测主机密钥**. -* **手动输入主机密钥**. - -如果单击: - -* **检测主机密钥**按钮,GitLab 将从服务器获取主机密钥并显示指纹. -* **手动输入主机密钥**按钮,将显示一个字段,您可以在其中粘贴主机密钥. - -假设您使用了前者,那么现在需要验证指纹是否符合您的期望. GitLab.com 和其他代码托管站点公开公开其指纹,供您检查: - -* [AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/regions.html#regions-fingerprints) -* [Bitbucket](https://support.atlassian.com/bitbucket-cloud/docs/configure-ssh-and-two-step-verification/) -* [GitHub](https://help.github.com/en/github/authenticating-to-github/githubs-ssh-key-fingerprints) -* [GitLab.com](../../gitlab_com/index.html#ssh-host-keys-fingerprints) -* [Launchpad](https://help.launchpad.net/SSHFingerprints) -* [Savannah](http://savannah.gnu.org/maintenance/SshAccess/) -* [SourceForge](https://sourceforge.net/p/forge/documentation/SSH%20Key%20Fingerprints/) - -其他提供者将有所不同. 如果您正在运行自我管理的 GitLab,或者可以访问其他存储库的服务器,则可以安全地收集密钥指纹: - -``` -$ cat /etc/ssh/ssh_host*pub | ssh-keygen -E md5 -l -f - -256 MD5:f4:28:9f:23:99:15:21:1b:bf:ed:1f:8e:a0:76:b2:9d root@example.com (ECDSA) -256 MD5:e6:eb:45:8a:3c:59:35:5f:e9:5b:80:12:be:7e:22:73 root@example.com (ED25519) -2048 MD5:3f:72:be:3d:62:03:5c:62:83:e8:6e:14:34:3a:85:1d root@example.com (RSA) -``` - -**注意:**对于某些旧版本的 SSH,可能需要排除`-E md5` . - -在镜像存储库时,GitLab 现在将在连接之前检查至少一个存储的主机密钥是否匹配. 这样可以防止将恶意代码注入到您的镜像中,或者防止您的密码被盗. - -### SSH public key authentication[](#ssh-public-key-authentication "Permalink") - -要使用 SSH 公钥身份验证,您还需要从**Authentication method**下拉菜单中选择该选项. 创建镜像后,GitLab 会生成一个 4096 位 RSA 密钥,可以通过单击" **复制 SSH"公共密钥**按钮进行复制. - -[![Repository mirroring copy SSH public key to clipboard button](img/c1e086b58ff99dd5c5684a4571e568e3.png)](img/repository_mirroring_copy_ssh_public_key_button.png) - -然后,您需要将公共 SSH 密钥添加到另一个存储库的配置中: - -* 如果其他存储库托管在 GitLab 上,则应将公共 SSH 密钥添加为[Deploy Key](../../../ssh/README.html#deploy-keys) . -* 如果其他存储库位于其他位置,则可能需要将密钥添加到用户的`authorized_keys`文件中. 将整个公共 SSH 密钥单独粘贴到文件中并保存. - -如果您需要随时更改密钥,则可以删除并重新添加镜像以生成新密钥. 您必须使用新密钥更新另一个存储库,以保持镜像运行. - -**注意:**生成的密钥存储在 GitLab 数据库中,而不存储在文件系统中. 因此,无法在预接收挂钩中使用针对镜像的 SSH 公钥身份验证. - -### Overwrite diverged branches[](#overwrite-diverged-branches-starter "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/4559) in [GitLab Starter](https://about.gitlab.com/pricing/) 10.6. - -您可以选择始终使用远程版本更新本地分支,即使它们与远程分支不同. - -**警告:**对于镜像分支,启用此选项会导致丢失本地更改. - -要使用此选项,请在创建存储库镜像时选中" **覆盖分支分支"**框. - -### Only mirror protected branches[](#only-mirror-protected-branches-starter "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/3326) in [GitLab Starter](https://about.gitlab.com/pricing/) 10.3. - -您可以选择仅将受保护的分支从远程存储库拉到 GitLab. 未受保护的分支不会被镜像,并且可能会分开. - -要使用此选项,请在创建存储库镜像时选中" **仅镜像保护的分支"**框. - -### Hard failure[](#hard-failure-starter "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/3117) in [GitLab Starter](https://about.gitlab.com/pricing/) 10.2. - -如果镜像过程连续 14 次失败重试,它将被标记为硬盘失败. 这将在以下任一位置中可见: - -* 项目的主要仪表板. -* 拉镜设置页面. - -当一个项目很难失败时,它将不再需要进行镜像. 用户可以通过[强制更新来](#forcing-an-update-core)再次恢复项目镜像. - -### Trigger update using API[](#trigger-update-using-api-starter "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/3453) in [GitLab Starter](https://about.gitlab.com/pricing/) 10.3. - -拉镜像使用轮询来检测新添加的分支和提交,通常是在几分钟后. 如果您通过[API](../../../api/projects.html#start-the-pull-mirroring-process-for-a-project-starter)通知 GitLab,更新将立即被拉出. - -有关更多信息,请参阅[启动项目的拉镜像过程](../../../api/projects.html#start-the-pull-mirroring-process-for-a-project-starter) . - -## Forcing an update[](#forcing-an-update-core "Permalink") - -当计划将镜像自动更新时,您始终可以使用" **存储** **库设置"**页面的" **镜像存储库"**部分上的"更新"按钮强制进行更新. - -[![Repository mirroring force update user interface](img/a6e9b62f94c53cd2f37f7300362137a9.png)](img/repository_mirroring_force_update.png) - -## Bidirectional mirroring[](#bidirectional-mirroring-starter "Permalink") - -**注意:**双向镜像可能会导致冲突. - -如果您将 GitLab 存储库配置为从同一远程源中拉出和推送到同一远程源,则不能保证这两个存储库都将正确更新. 如果为双向镜像设置存储库,则应通过确定谁将解决它们以及如何解决它们来为可能的冲突做准备. - -重写任一远程上的任何镜像提交将导致冲突,并且镜像失败. 可以通过以下方法防止此情况: - -* [Pulling only protected branches](#only-mirror-protected-branches-starter). -* [Pushing only protected branches](#push-only-protected-branches-core). - -您应该[保护](../protected_branches.html)希望在两个远程控制器上镜像[的分支](../protected_branches.html) ,以防止由于重写历史记录而引起的冲突. - -双向镜像还会创建竞态条件,在这种竞态条件中,靠近同一分支的提交会引起冲突. 通过使用[Push 事件 Webhook](../integrations/webhooks.html#push-events)触发立即拉到 GitLab,可以通过减少镜像延迟来缓解竞争状况. 当仅推送镜像受保护的分支时,来自 GitLab 的推送镜像的速率限制为每分钟一次. - -### Configure a webhook to trigger an immediate pull to GitLab[](#configure-a-webhook-to-trigger-an-immediate-pull-to-gitlab "Permalink") - -假设您已经在上游 GitLab 实例中配置了[推](#setting-up-a-push-mirror-to-another-gitlab-instance-with-2fa-activated)和[拉](#pulling-from-a-remote-repository-starter)镜像,以触发如上所述的立即提拉,则需要在下游实例中配置一个[推事件 Web 挂钩](../integrations/webhooks.html#push-events) . - -去做这个: - -* 创建具有`API`范围的[个人访问令牌](../../profile/personal_access_tokens.html) . -* 导航到**设置> Webhooks** -* 添加 webhook URL,在这种情况下,它将在存储库更新后使用[Pull Mirror API](../../../api/projects.html#start-the-pull-mirroring-process-for-a-project-starter)请求触发即时提取. - - ``` - https://gitlab.example.com/api/v4/projects/:id/mirror/pull?private_token=<your_access_token> - ``` - -* 确保已选中" **推送事件"**复选框. -* 单击**添加 Webhook**按钮以保存**Webhook** . -* 要测试集成,请单击" **测试"**按钮,并确认 GitLab 不返回任何错误. - -### Preventing conflicts using a `pre-receive` hook[](#preventing-conflicts-using-a-pre-receive-hook "Permalink") - -**警告:**提议的解决方案将对 Git 推送操作的性能产生负面影响,因为它们将被代理到上游 Git 存储库. - -服务器端`pre-receive`挂钩可通过仅在将提交首先推送到上游 Git 存储库之后才接受推送来防止上述竞争情况. 在此配置中,一个 Git 存储库充当权威的上游,另一个充当下游. `pre-receive`挂钩将安装在下游存储库中. - -阅读有关在 GitLab 服务器上[配置服务器挂钩](../../../administration/server_hooks.html)的信息. - -下面提供了一个样品`pre-receive`挂钩. - -``` -#!/usr/bin/env bash - -# --- Assume only one push mirror target -# Push mirroring remotes are named `remote_mirror_<id>`, this finds the first remote and uses that. -TARGET_REPO=$(git remote | grep -m 1 remote_mirror) - -proxy_push() -{ - # --- Arguments - OLDREV=$(git rev-parse $1) - NEWREV=$(git rev-parse $2) - REFNAME="$3" - - # --- Pattern of branches to proxy pushes - allowlist=$(expr "$branch" : "\(master\)") - - case "$refname" in refs/heads/*) - branch=$(expr "$refname" : "refs/heads/\(.*\)") - - if [ "$allowlist" = "$branch" ]; then unset GIT_QUARANTINE_PATH # handle https://git-scm.com/docs/git-receive-pack#_quarantine_environment - error="$(git push --quiet $TARGET_REPO $NEWREV:$REFNAME 2>&1)" - fail=$? - - if [ "$fail" != "0" ]; then echo >&2 "" - echo >&2 " Error: updates were rejected by upstream server" - echo >&2 " This is usually caused by another repository pushing changes" - echo >&2 " to the same ref. You may want to first integrate remote changes" - echo >&2 "" - return - fi - fi - ;; - esac -} - -# Allow dual mode: run from the command line just like the update hook, or -# if no arguments are given then run as a hook script -if [ -n "$1" -a -n "$2" -a -n "$3" ]; then - # Output to the terminal in command line mode - if someone wanted to - # resend an email; they could redirect the output to sendmail - # themselves - PAGER= proxy_push $2 $3 $1 -else - # Push is proxied upstream one ref at a time. Because of this it is possible - # for some refs to succeed, and others to fail. This will result in a failed - # push. - while read oldrev newrev refname - do proxy_push $oldrev $newrev $refname - done -fi -``` - -请注意,此示例有一些限制: - -* 此示例可能无法完全满足您的用例,并且可能需要进行修改. - * 它不考虑镜像的不同类型的身份验证机制. - * 它不适用于强制更新(重写历史记录). - * 仅匹配`allowlist`模式的分支将被代理推送. -* 该脚本规避了 Git 钩子隔离环境,因为`$TARGET_REPO`的更新被视为参考更新,Git 会对此进行抱怨. - -### Mirroring with Perforce Helix via Git Fusion[](#mirroring-with-perforce-helix-via-git-fusion-starter "Permalink") - -**警告:**双向镜像不应用作永久配置. 有关替代的迁移方法,请参阅[从 Perforce Helix](../import/perforce.html)迁移. - -[Git Fusion](https://www.perforce.com/manuals/git-fusion/#Git-Fusion/section_avy_hyc_gl.html)为[Perforce Helix](https://www.perforce.com/products)提供了一个 Git 接口,GitLab 可以使用它来双向镜像 GitLab 项目. 从 Perforce Helix 迁移到 GitLab 的某些情况下,这可能是有用的,因为重叠的 Perforce Helix 工作区无法同时迁移到 GitLab. - -如果将镜像与 Perforce Helix 一起使用,则应仅镜像受保护的分支. Perforce Helix 将拒绝任何重写历史记录的推送. 由于 Git Fusion 的性能限制,只应镜像最少数量的分支. - -通过 Git Fusion 使用 Perforce Helix 配置镜像时,建议使用以下 Git Fusion 设置: - -* `change-pusher`应禁用. 否则,每个提交都将被重写为由镜像帐户提交,而不是映射到现有的 Perforce Helix 用户或`unknown_git`用户. -* 如果 Perforce Helix 中不存在 GitLab 用户,则`unknown_git`用户将用作提交作者. - -[在 Perforce.com 上](https://www.perforce.com/manuals/git-fusion/Content/Git-Fusion/section_vss_bdw_w3.html#section_zdp_zz1_3l)了解有关[Git Fusion 设置的信息](https://www.perforce.com/manuals/git-fusion/Content/Git-Fusion/section_vss_bdw_w3.html#section_zdp_zz1_3l) . - -## Troubleshooting[](#troubleshooting "Permalink") - -如果在推送过程中发生错误,则 GitLab 将在该存储库中显示"错误"突出显示. 然后,将鼠标悬停在突出显示的文本上,即可查看有关错误的详细信息. - -### 13:Received RST_STREAM with error code 2 with GitHub[](#13received-rst_stream-with-error-code-2-with-github "Permalink") - -如果在镜像到 GitHub 存储库时收到"错误代码为 2 的 13:Received RST_STREAM",则您的 GitHub 设置可能被设置为阻止推送,以暴露用于提交的电子邮件地址. 可以将您在 GitHub 上的电子邮件地址设置为公开,或者禁用[公开我的电子邮件](https://github.com/settings/emails)设置的" [阻止"命令行推送](https://github.com/settings/emails) . \ No newline at end of file diff --git a/docs/158.md b/docs/158.md deleted file mode 100644 index fe9f35a..0000000 --- a/docs/158.md +++ /dev/null @@ -1,171 +0,0 @@ -# Protected branches - -> 原文:[https://docs.gitlab.com/ee/user/project/protected_branches.html](https://docs.gitlab.com/ee/user/project/protected_branches.html) - -* [Overview](#overview) -* [Configuring protected branches](#configuring-protected-branches) -* [Using the Allowed to merge and Allowed to push settings](#using-the-allowed-to-merge-and-allowed-to-push-settings) -* [Restricting push and merge access to certain users](#restricting-push-and-merge-access-to-certain-users-starter) -* [Wildcard protected branches](#wildcard-protected-branches) -* [Creating a protected branch](#creating-a-protected-branch) -* [Deleting a protected branch](#deleting-a-protected-branch) -* [Protected Branches approval by Code Owners](#protected-branches-approval-by-code-owners-premium) -* [Running pipelines on protected branches](#running-pipelines-on-protected-branches) -* [Changelog](#changelog) - -# Protected branches[](#protected-branches "Permalink") - -GitLab 中的[权限](../permissions.html)基本上是围绕对存储库和分支具有读或写权限的想法定义的. 为了对某些分支机构施加进一步的限制,可以对其进行保护. - -## Overview[](#overview "Permalink") - -默认情况下,受保护的分支执行以下四个简单的操作: - -* 它会阻止除具有维护者权限的用户之外的所有用户创建它(如果尚未创建). -* 它可以防止除具有**允许的**权限的用户以外的其他任何人推送. -* 它可以防止**任何人**用力推动分支机构. -* 它可以防止**任何人**删除分支. - -**注意:**允许 GitLab 管理员推送到受保护的分支. - -有关随时间的变化,请参见" [更改日志"](#changelog)部分. - -默认的分支保护级别在[管理区域中](../admin_area/settings/visibility_and_access_controls.html#default-branch-protection)设置. - -## Configuring protected branches[](#configuring-protected-branches "Permalink") - -要保护分支,您需要至少具有维护者权限级别. 请注意,默认情况下`master`分支是受保护的. - -1. 导航到项目的**"设置"➔"存储库"** -2. 滚动查找" **受保护的分支"**部分. -3. 从" **分支"**下拉菜单中,选择要保护的分支,然后单击" **保护"** . 在下面的屏幕截图中,我们选择了`develop`分支. - - [![Protected branches page](img/c29b503c10922622f8ec612bd5168b10.png)](img/protected_branches_page_v12_3.png) - -4. 完成后,受保护的分支将出现在"受保护的分支"列表中. - - [![Protected branches list](img/265f035427185c0998b05886114d104b.png)](img/protected_branches_list_v12_3.png) - -## Using the Allowed to merge and Allowed to push settings[](#using-the-allowed-to-merge-and-allowed-to-push-settings "Permalink") - -在 GitLab 8.11 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/5081) . - -从 GitLab 8.11 开始,我们增加了分支保护的另一层,它提供了对受保护分支的更精细的管理. "开发人员可以推送"选项由"允许推送"设置代替,该设置可以设置为允许/禁止维护者和/或开发人员推送到受保护的分支. - -使用"允许推送"和"允许合并"设置,您可以控制不同角色可以在受保护分支中执行的操作. 例如,您可以将"允许推送"设置为"无人",将"允许合并"设置为"开发人员+维护人员",以要求*每个人都*提交合并请求,以请求更改进入受保护分支. 这与[GitLab 工作](../../topics/gitlab_flow.html)流程等[工作流程](../../topics/gitlab_flow.html)兼容. - -但是,有些工作流程不需要这样做,只有防止强行推动和移除分支才有用. 对于这些工作流程,您可以通过将"允许推送"设置为"开发人员+维护人员"来允许具有写访问权的每个人推送到受保护的分支. - -您可以在创建受保护的分支时设置"允许推送"和"允许合并"选项,也可以在之后通过从"已保护"区域的下拉列表中选择所需的选项来设置. - -[![Developers can push](img/eca0c9ec85c6dfc8dbde06c368a9d94d.png)](img/protected_branches_devs_can_push_v12_3.png) - -如果在创建受保护的分支时未选择任何这些选项,则默认情况下会将它们设置为"维护者". - -## Restricting push and merge access to certain users[](#restricting-push-and-merge-access-to-certain-users-starter "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/5081) in [GitLab Starter](https://about.gitlab.com/pricing/) 8.11. - -使用 GitLab 企业版,您可以通过选择角色(维护者,开发者)以及某些用户来限制对受保护分支的访问. 从下拉菜单中选择您要合并或推送访问的角色和/或用户. - -[![Select roles and users](img/8fc9989164e038f62ee1015c2f477d84.png)](img/protected_branches_select_roles_and_users.png) - -单击" **保护"** ,该分支将出现在"受保护的分支"列表中. - -[![Roles and users list](img/0387751ed4b8717777ebac2706c2d637.png)](img/protected_branches_select_roles_and_users_list.png) - -## Wildcard protected branches[](#wildcard-protected-branches "Permalink") - -在 GitLab 8.10 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/4665) . - -您可以指定一个通配符保护的分支,该分支将保护所有与通配符匹配的分支. 例如: - -| 通配符保护的分支 | 匹配分支 | -| --- | --- | -| `*-stable` | `production-stable`, `staging-stable` | -| `production/*` | `production/app-server`, `production/load-balancer` | -| `*gitlab*` | `gitlab`, `gitlab/staging`, `master/gitlab/production` | - -受保护的分支设置(如"开发人员可以推送")适用于所有匹配的分支. - -两个不同的通配符可能会匹配同一分支. 例如, `*-stable` `production-stable`和`production-*`都将与`production-stable`分支匹配. 在这种情况下,如果*这些*受保护的分支有这样一个设定"允许推送",然后`production-stable`也将继承这一设置. - -如果单击受保护分支的名称,将显示所有匹配分支的列表: - -[![Protected branch matches](img/09870a42c6e3e94e7553f338a65c0b6d.png)](img/protected_branches_matches.png) - -## Creating a protected branch[](#creating-a-protected-branch "Permalink") - -在 GitLab 11.9 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/53361) . - -当受保护的分支或通配符受保护的分支设置为" [**不允许任何人** **推送"时**](#using-the-allowed-to-merge-and-allowed-to-push-settings) ,只要允许开发人员(和具有较高[权限级别的](../permissions.html)用户) [**合并**](#using-the-allowed-to-merge-and-allowed-to-push-settings) ,就可以创建新的受保护分支. 这只能通过 UI 或 API 来完成(为避免意外地从命令行或 Git 客户端应用程序创建受保护的分支). - -通过用户界面创建新分支: - -1. Visit **资料库>分支机构**. -2. Click on **新分支**. -3. 填写分支名称,然后选择一个现有的分支,标记或确认新分支将基于该分支. 仅接受现有的受保护分支和已经在受保护分支中的提交. - -## Deleting a protected branch[](#deleting-a-protected-branch "Permalink") - -在 GitLab 9.3 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/21393) . - -有时可能需要删除或清理受保护的分支. - -具有[维护者权限](../permissions.html)并具有[维护者权限的](../permissions.html)用户可以通过 GitLab 的 Web 界面手动删除受保护的分支: - -1. Visit **资料库>分支机构** -2. 单击您要删除的分支旁边的删除图标 -3. 为了防止意外删除,需要额外的确认 - - [![Delete protected branches](img/4e86bb665dcf8b8997d807441dbd60cd.png)](img/protected_branches_delete.png) - -只能通过 Web 界面而不是 Git 删除受保护的分支. 这意味着您不能从命令行或 Git 客户端应用程序中意外删除受保护的分支. - -## Protected Branches approval by Code Owners[](#protected-branches-approval-by-code-owners-premium "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/13251) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.4. - -对于合并请求更改的文件,可能需要[代码所有者的](code_owners.html)至少一项批准. 可以在保护新分支时设置"代码所有者"批准,也可以将其设置为已经受保护的分支,如下所述. - -要保护新分支并获得代码所有者的批准: - -1. 导航到项目的**"设置">"存储库",**然后展开" **受保护的分支"** . -2. 向下滚动到**保护一个分支** ,选择**分支**或通配符你想保护,选择谁的**允许合并** **,**并**允许推** ,以及切换**需要从代码的业主**滑块**批准** . -3. Click **Protect**. - -[![Code Owners approval - new protected branch](img/9a996b513114d1fe39fa67c75e54df46.png)](img/code_owners_approval_new_protected_branch_v12_4.png) - -要使代码所有者批准已受保护的分支机构,请执行以下操作: - -1. 导航到项目的**"设置">"存储库",**然后展开" **受保护的分支"** . -2. 向下滚动到" **受保护"分支,**然后切换所选分支的**"代码所有者"批准**滑块. - -[![Code Owners approval - branch already protected](img/7a4195dce33a791e39b721499e4137ad.png)](img/code_owners_approval_protected_branch_v12_4.png) - -启用后,所有针对这些分支的合并请求都将需要代码所有者根据匹配的规则进行批准,然后才能合并. 此外,如果匹配规则,则拒绝直接推送到受保护的分支. - -## Running pipelines on protected branches[](#running-pipelines-on-protected-branches "Permalink") - -合并或推送到受保护分支的权限用于定义用户是否可以运行 CI / CD 管道并在与那些分支相关的作业上执行操作. - -有关管道安全模型的详细信息,请参阅[受保护分支上](../../ci/pipelines/index.html#pipeline-security-on-protected-branches)的安全性. - -## Changelog[](#changelog "Permalink") - -**11.9** - -* [允许](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/53361)开发人员(和具有更高权限级别的用户)通过 API 和用户界面[创建受保护的分支](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/53361) . - -**9.2** - -* 允许通过 Web 界面删除受保护的分支( [问题#21393](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/21393) ). - -**8.11** - -* 允许创建无法推送到的受保护分支( [合并请求!5081](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/5081) ). - -**8.10** - -* 允许没有推送访问权限的开发人员合并到受保护的分支中( [合并请求!4892](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/4892) ). -* 允许使用通配符指定受保护的分支( [合并请求!4665](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/4665) ). \ No newline at end of file diff --git a/docs/159.md b/docs/159.md deleted file mode 100644 index 3f697d7..0000000 --- a/docs/159.md +++ /dev/null @@ -1,56 +0,0 @@ -# Protected tags - -> 原文:[https://docs.gitlab.com/ee/user/project/protected_tags.html](https://docs.gitlab.com/ee/user/project/protected_tags.html) - -* [Overview](#overview) -* [Configuring protected tags](#configuring-protected-tags) -* [Wildcard protected tags](#wildcard-protected-tags) - -# Protected tags[](#protected-tags "Permalink") - -在 GitLab 9.1 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/10356) . - -受保护的标签可控制谁有权创建标签,并防止创建后意外更新或删除. 每个规则都允许您匹配单个标签名称,或使用通配符一次控制多个标签. - -此功能从[受保护的分支](protected_branches.html)演变而来 - -## Overview[](#overview "Permalink") - -受保护的标签将阻止任何人更新或删除标签,并且将根据您选择的权限阻止创建匹配的标签. 默认情况下,任何未经维护者许可的人都将无法创建标签. - -## Configuring protected tags[](#configuring-protected-tags "Permalink") - -为了保护标签,您需要至少具有维护者权限级别. - -1. 导航到项目的**"设置">"存储库"** : - - [![Repository Settings](img/bec396562e8fe025cb7009de091ff2aa.png)](img/project_repository_settings.png) - -2. 从**标签**下拉菜单中,选择要保护或输入的标签,然后点击**创建通配符** . 在下面的屏幕截图中,我们选择保护所有与`v*`匹配的标签: - - [![Protected tags page](img/8ab62c2dee9f26abae9b7f794b4f5fae.png)](img/protected_tags_page_v12_3.png) - -3. 从" **允许创建"**下拉列表中,选择谁有权创建匹配的标签,然后单击" **保护"** : - - [![Allowed to create tags dropdown](img/52fecb33c2f168630e9a8f7c95aaf517.png)](img/protected_tags_permissions_dropdown_v12_3.png) - -4. 完成后,受保护的标签将显示在" **受保护的标签"**列表中: - - [![Protected tags list](img/572645049ee5ab43733f62fc45312843.png)](img/protected_tags_list_v12_3.png) - -## Wildcard protected tags[](#wildcard-protected-tags "Permalink") - -您可以指定一个通配符保护的标记,它将保护所有与通配符匹配的标记. 例如: - -| 通配符保护标签 | 匹配标签 | -| --- | --- | -| `v*` | `v1.0.0`, `version-9.1` | -| `*-deploy` | `march-deploy`, `1.0-deploy` | -| `*gitlab*` | `gitlab`, `gitlab/v1` | -| `*` | `v1.0.1rc2`, `accidental-tag` | - -两个不同的通配符可以潜在地匹配同一标签. 例如, `*-stable` `production-stable`和`production-*`都将与`production-stable`标签匹配. 在这种情况下,如果*这些*受保护的标签都像**允许创建**一个设定,然后`production-stable`也将沿用此设置. - -如果单击受保护标签的名称,将显示所有匹配标签的列表: - -[![Protected tag matches](img/cc52a99e48b72695add0c3e8efab158f.png)](img/protected_tag_matches.png) \ No newline at end of file diff --git a/docs/160.md b/docs/160.md deleted file mode 100644 index e8c1e32..0000000 --- a/docs/160.md +++ /dev/null @@ -1,147 +0,0 @@ -# Push Rules - -> 原文:[https://docs.gitlab.com/ee/push_rules/push_rules.html](https://docs.gitlab.com/ee/push_rules/push_rules.html) - -* [Overview](#overview) -* [Use cases](#use-cases) - * [Commit messages with a specific reference](#commit-messages-with-a-specific-reference) - * [Restrict branch names](#restrict-branch-names) - * [Custom Push Rules](#custom-push-rules-core-only) -* [Enabling push rules](#enabling-push-rules) -* [Prevent pushing secrets to the repository](#prevent-pushing-secrets-to-the-repository) - -# Push Rules[](#push-rules-starter "Permalink") - -通过使用正则表达式拒绝基于提交内容,分支名称或文件详细信息的推送,来获得对哪些内容可以推送或不能推送到存储库的额外控制. - -## Overview[](#overview "Permalink") - -GitLab 已经提供了[受保护的分支](../user/project/protected_branches.html) ,但是在某些情况下,您需要一些特定的规则,例如,防止删除 Git 标签或对提交消息强制采用特殊格式. - -推送规则本质上是[预先接收的 Git 挂钩](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks) ,可在用户友好的界面中轻松启用. 如果您是管理员或每个项目,它们是全局定义的,因此您可以根据需要将不同的规则应用于不同的项目. - -## Use cases[](#use-cases "Permalink") - -每个推送规则都可以有自己的用例,但让我们考虑一些示例. - -### Commit messages with a specific reference[](#commit-messages-with-a-specific-reference "Permalink") - -假设您对工作流程有以下要求: - -* 每个提交都应引用 Jira 问题,例如: `Refactored css. Fixes JIRA-123.` `Refactored css. Fixes JIRA-123.` -* 用户应该无法使用`git push`删除 Git 标签 - -您需要做的就是编写一个简单的正则表达式,要求在提交消息中提及一个 Jira 问题,例如`JIRA\-\d+` . - -现在,当用户尝试通过消息`Bugfix`推送提交时,他们的推送将被拒绝. 仅接受`Bugfix according to JIRA-123`推送带有`Bugfix according to JIRA-123`消息的提交. - -### Restrict branch names[](#restrict-branch-names "Permalink") - -假设您公司中有严格的分支机构名称政策,并且您希望分支机构以特定名称开头,因为您有不同的 GitLab CI / CD 作业( `feature` , `hotfix` , `docker` , `android`等)依赖于分支机构名称. - -但是,您的开发人员并不总是记住该策略,因此他们可能会推送到各个分支,并且 CI 管道可能无法按预期工作. 通过在推送规则中全局限制分支名称,可以防止此类错误. 与您的推送规则不匹配的任何分支名称都将被拒绝. - -请注意,不管指定的分支命名正则表达式(regex)如何,始终允许使用默认分支的名称. 通过这种方式配置 GitLab,因为合并通常将默认分支作为目标. 如果您还有其他目标分支,请将其包含在正则表达式中. (请参阅[启用推送规则](#enabling-push-rules) ). - -默认分支还默认为[受保护分支](../user/project/protected_branches.html) ,这已经限制了用户直接推送. - -### Custom Push Rules[](#custom-push-rules-core-only "Permalink") - -通过使用更高级的服务器挂钩,可以创建自定义推送规则,而不是" **管理区域">"推送规则"中**可用的**推送规则** . - -有关更多信息,请参见[服务器挂钩](../administration/server_hooks.html) . - -## Enabling push rules[](#enabling-push-rules "Permalink") - -**注意:** GitLab 管理员可以在" **管理区域">"**所有新项目都将继承的**推送规则"**下全局设置推送规则. 您以后可以在项目的设置中覆盖它们. 也可以在[组级别](../user/group/index.html#group-push-rules-starter)上设置它们. - -1. 导航到项目的**"设置">"存储库",**然后展开" **推送规则"** -2. 设置所需的规则 -3. 单击" **保存推送规则"**以使更改生效 - -以下选项可用. - -| 推送规则 | GitLab 版本 | Description | -| --- | --- | --- | -| 用`git push`删除标签 | **Starter** 7.10 | 禁止用户使用`git push`删除 Git 标签. 仍然可以通过 Web UI 删除标签. | -| 检查作者是否是 GitLab 用户 | **Starter** 7.10 | 限制作者(电子邮件)对现有 GitLab 用户的提交. | -| 提交者限制 | **Premium** 10.2 | GitLab will reject any commit that was not committed by the current authenticated user | -| 检查提交是否通过 GPG 签名 | **Premium** 10.1 | 如果未通过 GPG 签名,则拒绝提交. [使用 GPG](../user/project/repository/gpg_signed_commits/index.html)阅读[签名提交](../user/project/repository/gpg_signed_commits/index.html) . | -| 防止向 Git 提交机密 | **Starter** 8.12 | GitLab 将拒绝任何可能包含机密的文件. 阅读[禁止使用的文件](#prevent-pushing-secrets-to-the-repository) . | -| 通过提交消息限制 | **Starter** 7.10 | 只允许推送与此正则表达式匹配的提交消息. 保留为空以允许任何提交消息. 使用多行模式,可以使用`(?-m)`禁用该模式. | -| 受提交消息限制(负匹配) | **Starter** 11.1 | 只允许提交与此正则表达式不匹配的提交消息. 保留为空以允许任何提交消息. 使用多行模式,可以使用`(?-m)`禁用该模式. | -| 受分支名称限制 | **Starter** 9.3 | 只允许推送与此正则表达式匹配的分支名称. 保留为空以允许使用任何分支名称. | -| 通过提交作者的电子邮件进行限制 | **Starter** 7.10 | 只允许推送与此正则表达式匹配的提交者的电子邮件. 留空以允许任何电子邮件. | -| 禁止的文件名 | **Starter** 7.10 | 与该正则表达式匹配的所有提交的文件名均不允许推送. 保留为空以允许任何文件名. | -| 最大档案大小 | **Starter** 7.12 | 包含超过此文件大小(以 MB 为单位)的添加或更新文件的推送将被拒绝. 设置为 0 允许任何大小的文件. 由 Git LFS 跟踪的文件被豁免. | - -**提示:** GitLab 对推送规则中的正则表达式使用[RE2 语法](https://github.com/google/re2/wiki/Syntax) ,您可以在[GoLang regex tester 上](https://regex-golang.appspot.com/assets/html/index.html)对其进行[测试](https://regex-golang.appspot.com/assets/html/index.html) . - -## Prevent pushing secrets to the repository[](#prevent-pushing-secrets-to-the-repository "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/385) in [GitLab Starter](https://about.gitlab.com/pricing/) 8.12. - -诸如凭证文件,SSH 私钥之类的机密以及其他包含机密的文件绝不应提交给源代码控制. GitLab 允许您打开文件的预定义拒绝列表,该列表将不允许被推送到存储库,从而阻止这些提交到达远程存储库. - -通过选中*防止向 Git 提交机密*复选框,当文件与从[`files_denylist.yml`](https://gitlab.com/gitlab-org/gitlab/blob/master/ee/lib/gitlab/checks/files_denylist.yml)读取的正则表达式匹配时,GitLab 会阻止将其推送到存储库(在查看此文件时,请确保您处于与 GitLab 版本相同的正确分支). - -**注意:**已经提交的文件将不受此推送规则的限制. - -下面是这些正则表达式将拒绝的内容的示例列表: - -``` -##################### -# AWS CLI credential blobs -##################### -.aws/credentials -aws/credentials -homefolder/aws/credentials - -##################### -# Private RSA SSH keys -##################### -/ssh/id_rsa -/.ssh/personal_rsa -/config/server_rsa -id_rsa -.id_rsa - -##################### -# Private DSA SSH keys -##################### -/ssh/id_dsa -/.ssh/personal_dsa -/config/server_dsa -id_dsa -.id_dsa - -##################### -# Private ed25519 SSH keys -##################### -/ssh/id_ed25519 -/.ssh/personal_ed25519 -/config/server_ed25519 -id_ed25519 -.id_ed25519 - -##################### -# Private ECDSA SSH keys -##################### -/ssh/id_ecdsa -/.ssh/personal_ecdsa -/config/server_ecdsa -id_ecdsa -.id_ecdsa - -##################### -# Any file with .pem or .key extensions -##################### -*.pem -*.key - -##################### -# Any file ending with _history or .history extension -##################### -pry.history -bash_history -``` \ No newline at end of file diff --git a/docs/161.md b/docs/161.md deleted file mode 100644 index 8d07161..0000000 --- a/docs/161.md +++ /dev/null @@ -1,211 +0,0 @@ -# Reduce repository size - -> 原文:[https://docs.gitlab.com/ee/user/project/repository/reducing_the_repo_size_using_git.html](https://docs.gitlab.com/ee/user/project/repository/reducing_the_repo_size_using_git.html) - -* [Purge files from repository history](#purge-files-from-repository-history) -* [Purge files from GitLab storage](#purge-files-from-gitlab-storage) -* [Repository cleanup](#repository-cleanup) -* [Storage limits](#storage-limits) - -# Reduce repository size[](#reduce-repository-size "Permalink") - -随着时间的流逝,Git 存储库变得越来越大. 将大文件添加到 Git 存储库后: - -* 由于每个人都必须下载文件,因此获取存储库的速度变慢. -* 它们占用服务器上的大量存储空间. -* [可以达到](#storage-limits) Git 仓库的存储限制. - -重写存储库可能会删除不需要的历史记录,从而使存储库更小. [`git filter-repo`](https://github.com/newren/git-filter-repo)是用于快速重写 Git 存储库历史记录的工具,建议同时使用以下两种工具: - -* [`git filter-branch`](https://git-scm.com/docs/git-filter-branch). -* [BFG](https://rtyley.github.io/bfg-repo-cleaner/). - -**危险:**重写存储库历史记录是一种破坏性操作. 在开始之前,请确保备份您的存储库. 备份存储库的最佳方法是[导出项目](../settings/import_export.html#exporting-a-project-and-its-data) .**注意:** Git LFS 文件只能由管理员使用[Rake 任务](../../../raketasks/cleanup.html)删除. [计划](https://gitlab.com/gitlab-org/gitlab/-/issues/223621)消除此限制. - -## Purge files from repository history[](#purge-files-from-repository-history "Permalink") - -为了使克隆项目更快,请重写分支和标签以删除不需要的文件. - -1. 使用受支持的程序包管理器或从源代码[安装`git filter-repo`](https://github.com/newren/git-filter-repo/blob/main/INSTALL.md) . - -2. 使用`--bare`克隆存储库的新副本: - - ``` - git clone --bare https://example.gitlab.com/my/project.git - ``` - -3. 使用`git filter-repo` ,从存储库的历史记录中清除所有文件. - - 要清除大文件,可以使用`--strip-blobs-bigger-than`选项: - - ``` - git filter-repo --strip-blobs-bigger-than 10M - ``` - - 要清除使用 Git LFS 存储的大文件,可以使用`--blob--callback`选项. 下面的示例使用回调从 Git LFS 指针读取文件大小,并删除大于 10MB 的文件. - - ``` - git filter-repo --blob-callback ' - if blob.data.startswith(b"version https://git-lfs.github.com/spec/v1"): - size_in_bytes = int.from_bytes(blob.data[124:], byteorder="big") - if size_in_bytes > 10*1000: - blob.skip() - ' - ``` - - 要按路径清除特定的大文件,可以组合使用`--path`和`--invert-paths`选项: - - ``` - git filter-repo --path path/to/big/file.m4v --invert-paths - ``` - - 有关更多示例和完整文档,请参见[`git filter-repo`](https://htmlpreview.github.io/?https://github.com/newren/git-filter-repo/blob/docs/html/git-filter-repo.html#EXAMPLES)文档. - -4. 运行`git filter-repo`会删除所有遥控器. 要为您的项目还原遥控器,请运行: - - ``` - git remote add origin https://example.gitlab.com/<namespace>/<project_name>.git - ``` - -5. 强制推送更改以覆盖 GitLab 上的所有分支: - - ``` - git push origin --force --all - ``` - - [受保护的分支](../protected_branches.html)将导致此操作失败. 要继续,您必须删除分支保护,推送,然后重新启用受保护的分支. - -6. 要从标记的发行版中删除大文件,请强制将更改推送到 GitLab 上的所有标记: - - ``` - git push origin --force --tags - ``` - - [受保护的标签](../protected_tags.html)将导致此操作失败. 要继续,您必须删除标签保护,推送,然后重新启用受保护的标签. - -7. 手动执行[项目整理](../../../administration/housekeeping.html#manual-housekeeping) - -**注意:**为提高性能而缓存了项目统计信息. 您可能需要等待 5 到 10 分钟才能看到存储利用率下降. - -## Purge files from GitLab storage[](#purge-files-from-gitlab-storage "Permalink") - -要减少 GitLab 中存储库的大小,必须删除 GitLab 内部引用以包含大文件的提交. 在完成这些步骤之前,请[从存储库历史记录中清除文件](#purge-files-from-repository-history) . - -除了[分支](branches/index.html)和标签(这是一种 Git 引用)之外,GitLab 还会自动创建其他引用. 这些引用可防止在查看合并请求时死链接到提交或丢失差异. [存储库清理](#repository-cleanup)可用于从 GitLab 中删除它们. - -以下内部参考文献不做广告: - -* `refs/merge-requests/*`用于合并请求. -* `refs/pipelines/*` for [pipelines](../../../ci/pipelines/index.html#troubleshooting-fatal-reference-is-not-a-tree). -* `refs/environments/*`用于环境. - -这意味着在获取时通常不包含它们,这使得获取速度更快. 另外, `refs/keep-around/*`是隐藏的 refs,以防止与讨论相关的提交被删除并且根本无法被获取. - -但是,可以从项目导出内的 Git 捆绑包访问这些引用. - -1. 使用受支持的程序包管理器或从源代码[安装`git filter-repo`](https://github.com/newren/git-filter-repo/blob/main/INSTALL.md) . - -2. [从项目中](../settings/import_export.html#exporting-a-project-and-its-data)生成一个新的[导出](../settings/import_export.html#exporting-a-project-and-its-data)并下载. - -3. 使用`tar`解压缩备份: - - ``` - tar xzf project-backup.tar.gz - ``` - - 这将包含一个由[`git bundle`](https://git-scm.com/docs/git-bundle)创建的`project.bundle`文件. - -4. 从包中克隆存储库的新副本: - - ``` - git clone --bare --mirror /path/to/project.bundle - ``` - -5. 使用`git filter-repo` ,从存储库的历史记录中清除所有文件. 因为我们正在尝试删除内部引用,所以我们将依靠每次运行生成的`commit-map`来告诉我们要删除哪些内部引用. - - **注意:** `git filter-repo`每次运行都会创建一个新的`commit-map`文件,并覆盖前一次运行的`commit-map` . **每次**运行都将需要此文件. 每次运行`git filter-repo`都要执行下一步. - - 要清除所有大文件,可以使用`--strip-blobs-bigger-than`选项: - - ``` - git filter-repo --strip-blobs-bigger-than 10M - ``` - - 要按路径清除特定的大文件,可以组合使用`--path`和`--invert-paths`选项. - - ``` - git filter-repo --path path/to/big/file.m4v --invert-paths - ``` - - 有关更多示例和完整文档,请参见[`git filter-repo`](https://htmlpreview.github.io/?https://github.com/newren/git-filter-repo/blob/docs/html/git-filter-repo.html#EXAMPLES)文档. - -6. 运行[存储库清理](#repository-cleanup) . - -## Repository cleanup[](#repository-cleanup "Permalink") - -在 GitLab 11.6 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/19376) . - -仓库清理允许您上传对象的文本文件,并且 GitLab 将删除对这些对象的内部 Git 引用. 您可以使用[`git filter-repo`](https://github.com/newren/git-filter-repo)生成对象列表(在`commit-map`文件中),该对象列表可与存储库清理一起使用. - -要清理存储库: - -1. 转到存储库的项目. -2. 导航 **设置>存储库** . -3. 上载对象列表. 例如,一个`commit-map`文件. -4. Click **开始清理**. - -这将: - -* 删除所有对旧提交的内部 Git 引用. -* 针对存储库运行`git gc` . - -完成后,您将收到一封电子邮件. - -When using repository cleanup, note: - -* 项目统计信息已缓存. 您可能需要等待 5 到 10 分钟才能看到存储利用率下降. -* 客房部修剪 2 周以上的松散物品. 这意味着在最近 2 周内添加的对象将不会立即删除. 如果您有权访问[Gitaly](../../../administration/gitaly/index.html)服务器,则可以运行`git gc --prune=now`立即修剪所有松散的对象. -* 此过程将从 GitLab 的缓存和数据库中删除一些重写提交的副本,但是覆盖范围仍然存在许多空白,并且某些副本可能会无限期地存在. [清除实例缓存](../../../administration/raketasks/maintenance.html#clear-redis-cache)可能有助于删除其中的一些[实例](../../../administration/raketasks/maintenance.html#clear-redis-cache) ,但出于安全考虑,不应依赖它! - -## Storage limits[](#storage-limits "Permalink") - -储存库大小限制: - -* 可以[由管理员](../../admin_area/settings/account_and_limit_settings.html#repository-size-limit-starter-only)在自我管理实例上设置. -* Are [set for GitLab.com](../../gitlab_com/index.html#repository-size-limit). - -当项目达到其大小限制时,您不能: - -* 推送到项目. -* 创建一个新的合并请求. -* 合并现有的合并请求. -* 上载 LFS 对象. - -您仍然可以: - -* 创造新问题. -* 克隆项目. - -如果超出存储库大小限制,则可以尝试: - -1. 删除一些数据. -2. 进行新的提交. -3. 推回存储库. - -也许您还可以: - -* 将一些斑点移到 LFS. -* 从历史记录中删除一些旧的依赖项更新. - -不幸的是,该工作流程无法正常工作. 实际上,在提交中删除文件并不会减小存储库的大小,因为早期的提交和 Blob 仍然存在. - -您需要做的是重写历史记录. 我们建议使用开源社区维护的工具[`git filter-repo`](https://github.com/newren/git-filter-repo) . - -**注意:**在 GitLab 端运行`git gc`之前,"已删除"的提交和 blob 仍将存在. 您还必须能够将重写的历史记录推送到 GitLab,如果您已经超过最大大小限制,则可能无法实现. - -为了解除这些限制,自我管理的 GitLab 实例的管理员必须增加对超出它的特定项目的限制. 因此,最好始终主动保持在限制之下. 如果您达到了极限,并且无法暂时提高极限,则唯一的选择是: - -1. 在本地修剪所有不需要的东西. -2. 在 GitLab 上创建一个新项目,然后开始使用它. - -**Caution:** This process is not suitable for removing sensitive data like password or keys from your repository. Information about commits, including file content, is cached in the database, and will remain visible even after they have been removed from the repository. \ No newline at end of file diff --git a/docs/162.md b/docs/162.md deleted file mode 100644 index c905109..0000000 --- a/docs/162.md +++ /dev/null @@ -1,252 +0,0 @@ -# Signing commits with GPG - -> 原文:[https://docs.gitlab.com/ee/user/project/repository/gpg_signed_commits/](https://docs.gitlab.com/ee/user/project/repository/gpg_signed_commits/) - -* [How GitLab handles GPG](#how-gitlab-handles-gpg) -* [Generating a GPG key](#generating-a-gpg-key) -* [Adding a GPG key to your account](#adding-a-gpg-key-to-your-account) -* [Associating your GPG key with Git](#associating-your-gpg-key-with-git) -* [Signing commits](#signing-commits) -* [Verifying commits](#verifying-commits) -* [Revoking a GPG key](#revoking-a-gpg-key) -* [Removing a GPG key](#removing-a-gpg-key) -* [Rejecting commits that are not signed](#rejecting-commits-that-are-not-signed-premium) -* [GPG signing API](#gpg-signing-api) -* [Further reading](#further-reading) - -# Signing commits with GPG[](#signing-commits-with-gpg "Permalink") - -版本历史 - -* 在 GitLab 9.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/9546) . -* 在 GitLab 10.1 中添加了子项支持. - -您可以使用 GPG 密钥对在 GitLab 存储库中进行的 Git 提交进行签名. 如果可以验证提交者的身份,则已签名的提交将标记为" **已**验证". 为了验证提交者的身份,GitLab 需要他们的公共 GPG 密钥. - -**注意:**术语 GPG 用于所有与 OpenPGP / PGP / GPG 相关的材料和实现. - -目前尚不支持通过 GPG 验证的标签. - -有关 GPG 的更多详细信息,请参见[进一步阅读](#further-reading)部分. - -## How GitLab handles GPG[](#how-gitlab-handles-gpg "Permalink") - -GitLab 使用其自己的密钥环来验证 GPG 签名. 它不访问任何公钥服务器. - -对于要由 GitLab 验证的提交: - -* 提交者必须具有 GPG 公钥/私钥对. -* 提交者的公钥必须已上传到其 GitLab 帐户. -* GPG 密钥中的一封电子邮件必须与提交者在 GitLab 中使用的**经过验证的**电子邮件地址匹配. -* 提交者的电子邮件地址必须与 GPG 密钥中验证的电子邮件地址匹配. - -## Generating a GPG key[](#generating-a-gpg-key "Permalink") - -如果您还没有 GPG 密钥,则以下步骤将帮助您入门: - -1. 为您的操作系统[安装 GPG](https://www.gnupg.org/download/index.html) . 如果您的操作系统具有`gpg2`安装,更换`gpg`与`gpg2`在下面的命令. -2. 使用以下命令生成私钥/公钥对,这将产生一系列问题: - - ``` - gpg --full-gen-key - ``` - - **注意:**在某些情况下,例如 Windows 和其他 macOS 版本上的 Gpg4win,此处的命令可能是`gpg --gen-key` . -3. 第一个问题是可以使用哪种算法. 选择所需的类型或按`Enter 键`选择默认类型(RSA 和 RSA): - - ``` - Please select what kind of key you want: - (1) RSA and RSA (default) - (2) DSA and Elgamal - (3) DSA (sign only) - (4) RSA (sign only) - Your selection? 1 - ``` - -4. 下一个问题是密钥长度. 我们建议您选择`4096` : - - ``` - RSA keys may be between 1024 and 4096 bits long. - What keysize do you want? (2048) 4096 - Requested keysize is 4096 bits - ``` - -5. 指定密钥的有效期. 这是主观的,您可以使用默认值,该值永远不会过期: - - ``` - Please specify how long the key should be valid. - 0 = key does not expire - <n> = key expires in n days - <n>w = key expires in n weeks - <n>m = key expires in n months - <n>y = key expires in n years - Key is valid for? (0) 0 - Key does not expire at all - ``` - -6. 通过输入`y`确认您给出的答案是正确的: - - ``` - Is this correct? (y/N) y - ``` - -7. 输入您的真实姓名,与此键关联的电子邮件地址(应与您在 GitLab 中使用的经过验证的电子邮件地址匹配)和可选注释(按`Enter`跳过): - - ``` - GnuPG needs to construct a user ID to identify your key. - - Real name: Mr. Robot - Email address: <your_email> - Comment: - You selected this USER-ID: - "Mr. Robot <your_email>" - - Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O - ``` - -8. 在询问时选择一个强密码,然后输入两次以确认. -9. 使用以下命令列出您刚刚创建的私密 GPG 密钥: - - ``` - gpg --list-secret-keys --keyid-format LONG <your_email> - ``` - - 将`<your_email>`替换为您在上面输入的电子邮件地址. - -10. 复制以`sec`开头的 GPG 密钥 ID. 在以下示例中,即`30F2B65B9246B6CA` : - - ``` - sec rsa4096/30F2B65B9246B6CA 2017-08-18 [SC] - D5E4F29F3275DC0CDA8FFC8730F2B65B9246B6CA - uid [ultimate] Mr. Robot <your_email> - ssb rsa4096/B7ABC0813E4028C0 2017-08-18 [E] - ``` - -11. 导出该 ID 的公共密钥(替换上一步中的密钥 ID): - - ``` - gpg --armor --export 30F2B65B9246B6CA - ``` - -12. 最后,复制公钥并将其[添加到您的个人资料设置中](#adding-a-gpg-key-to-your-account) - -## Adding a GPG key to your account[](#adding-a-gpg-key-to-your-account "Permalink") - -**注意:**添加密钥后,就无法对其进行编辑,只能将其删除. 如果粘贴无效,则必须删除有问题的密钥并重新添加. - -您可以在个人资料的设置中添加 GPG 密钥: - -1. 点击右上角的头像,然后转到**"设置"** . - - [![Settings dropdown](img/5e2e81b44d67af322056491cf32bb8da.png)](../../../profile/img/profile_settings_dropdown.png) - -2. 导航至**GPG 密钥**标签,然后将您的*公共*密钥粘贴到"密钥"框中. - - [![Paste GPG public key](img/d04d999de9102632af46c867821c47c3.png)](img/profile_settings_gpg_keys_paste_pub.png) - -3. 最后,单击**添加键**将其添加到 GitLab. 您将能够看到其指纹,相应的电子邮件地址和创建日期. - - [![GPG key single page](img/8a56e678752a9bd9def98422dee92f3e.png)](img/profile_settings_gpg_keys_single_key.png) - -## Associating your GPG key with Git[](#associating-your-gpg-key-with-git "Permalink") - -[创建 GPG 密钥](#generating-a-gpg-key)并将其[添加到您的帐户之后](#adding-a-gpg-key-to-your-account) ,是时候告诉 Git 使用哪个密钥了. - -1. 使用以下命令列出您刚刚创建的私密 GPG 密钥: - - ``` - gpg --list-secret-keys --keyid-format LONG <your_email> - ``` - - 将`<your_email>`替换为您在上面输入的电子邮件地址. - -2. 复制以`sec`开头的 GPG 密钥 ID. 在以下示例中,即`30F2B65B9246B6CA` : - - ``` - sec rsa4096/30F2B65B9246B6CA 2017-08-18 [SC] - D5E4F29F3275DC0CDA8FFC8730F2B65B9246B6CA - uid [ultimate] Mr. Robot <your_email> - ssb rsa4096/B7ABC0813E4028C0 2017-08-18 [E] - ``` - -3. 告诉 Git 使用该密钥对提交进行签名: - - ``` - git config --global user.signingkey 30F2B65B9246B6CA - ``` - - 用您的 GPG 密钥 ID 替换`30F2B65B9246B6CA` . - -4. (可选)如果 Git 使用`gpg`并且出现诸如`secret key not available`或`gpg: signing failed: secret key not available` ,请运行以下命令更改为`gpg2` : - - ``` - git config --global gpg.program gpg2 - ``` - -## Signing commits[](#signing-commits "Permalink") - -[创建 GPG 密钥](#generating-a-gpg-key)并将其[添加到您的帐户之后](#adding-a-gpg-key-to-your-account) ,您可以开始对提交进行签名: - -1. 像以前一样提交,唯一的区别是添加了`-S`标志: - - ``` - git commit -S -m "My commit msg" - ``` - -2. 询问时输入 GPG 密钥的密码. -3. 推送至 GitLab 并检查您的提交[是否已通过验证](#verifying-commits) . - -如果您不想在每次提交时都键入`-S`标志,则可以告诉 Git 自动签名您的提交: - -``` -git config --global commit.gpgsign true -``` - -## Verifying commits[](#verifying-commits "Permalink") - -1. 在项目或[合并请求中](../../merge_requests/index.html) ,导航到" **提交"**选项卡. 签名的提交将显示包含" Verified"或" Unverified"的徽章,具体取决于 GPG 签名的验证状态. - - [![Signed and unsigned commits](img/7d08a10bdee492162fdb554fb3033f0d.png)](img/project_signed_and_unsigned_commits.png) - -2. 通过单击 GPG 徽章,将显示签名的详细信息. - - [![Signed commit with verified signature](img/544adf1331ba8dc0c6391bf07ba6df8c.png)](img/project_signed_commit_verified_signature.png) - - [![Signed commit with verified signature](img/cc6935399d2235840119ad00eb778fc9.png)](img/project_signed_commit_unverified_signature.png) - -## Revoking a GPG key[](#revoking-a-gpg-key "Permalink") - -撤消密钥将**取消验证**已签名的提交. 使用此密钥验证的提交将变为未验证状态. 撤销此密钥后,将来的提交也将保持不变. 如果您的密钥已被盗用,则应使用此操作. - -撤销 GPG 密钥: - -1. 点击右上角的头像,然后转到**"设置"** . -2. 导航到**GPG 键**标签. -3. 单击您要删除的 GPG 键**旁边的撤消** . - -## Removing a GPG key[](#removing-a-gpg-key "Permalink") - -删除密钥**不会**取消**验证**已签名的提交. 使用此密钥验证的提交将保持验证状态. 删除此密钥后,只有未按下的提交才会保持未验证状态. 要取消验证已签名的提交,您需要从您的帐户中[撤销关联的 GPG 密钥](#revoking-a-gpg-key) . - -要从您的帐户中删除 GPG 密钥,请执行以下操作: - -1. 点击右上角的头像,然后转到**"设置"** . -2. 导航到**GPG 键**标签. -3. 单击您要删除的 GPG 密钥旁边的垃圾桶图标. - -## Rejecting commits that are not signed[](#rejecting-commits-that-are-not-signed-premium "Permalink") - -您可以将您的项目配置为拒绝不是通过[推送规则进行](../../../../push_rules/push_rules.html) GPG 签名的提交. - -## GPG signing API[](#gpg-signing-api "Permalink") - -了解如何[通过 API 通过提交获取 GPG 签名](../../../../api/commits.html#get-gpg-signature-of-a-commit) . - -## Further reading[](#further-reading "Permalink") - -有关 GPG 的更多详细信息,请参见: - -* [Git Tools - Signing Your Work](https://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work) -* [Managing OpenPGP Keys](https://riseup.net/en/security/message-security/openpgp/gpg-keys) -* [OpenPGP Best Practices](https://riseup.net/en/security/message-security/openpgp/best-practices) -* [Creating a new GPG key with subkeys](https://www.void.gr/kargig/blog/2013/12/02/creating-a-new-gpg-key-with-subkeys/) (advanced) \ No newline at end of file diff --git a/docs/163.md b/docs/163.md deleted file mode 100644 index 507059f..0000000 --- a/docs/163.md +++ /dev/null @@ -1,35 +0,0 @@ -# Syntax Highlighting - -> 原文:[https://docs.gitlab.com/ee/user/project/highlighting.html](https://docs.gitlab.com/ee/user/project/highlighting.html) - -# Syntax Highlighting[](#syntax-highlighting "Permalink") - -GitLab 通过[Rouge](https://rubygems.org/gems/rouge) Ruby gem 在所有文件上提供语法高亮显示. 它将尝试根据文件扩展名猜测要使用哪种语言,大多数时间是足够的. - -**注意:** [Web IDE](web_ide/index.html)和[代码片段](../snippets.html)使用[Monaco Editor](https://microsoft.github.io/monaco-editor/)进行文本编辑,而在内部使用[Monarch](https://microsoft.github.io/monaco-editor/monarch.html)库进行语法突出显示. - -如果 GitLab 在猜测错了,你可以覆盖其选择使用语言的`gitlab-language`的属性`.gitattributes` . 例如,如果您在 Prolog 项目中工作并使用`.pl`文件扩展名(通常以 Perl 突出显示),则可以将以下内容添加到`.gitattributes`文件中: - -``` -*.pl gitlab-language=prolog -``` - -当您签入并进行更改时,项目中的所有`*.pl`文件都将突出显示为 Prolog. - -这里的路径只是 Git 内置的[`.gitattributes`接口](https://git-scm.com/docs/gitattributes) . 因此,如果您要在使用 Ruby 语法的项目根目录下发明一种名为`Nicefile`的文件格式,那么您需要做的就是: - -``` -/Nicefile gitlab-language=ruby -``` - -要完全禁用突出显示,请使用`gitlab-language=text` . 可通过 CGI 选项获得更多有趣的恶作剧,例如: - -``` -# json with erb in it /my-cool-file gitlab-language=erb?parent=json - -# an entire file of highlighting errors! /other-file gitlab-language=text?token=Error -``` - -请注意,这些配置仅在`.gitattributes`文件位于默认分支(通常为`master` )中时才生效. - -**注意:** Web IDE 不支持`.gitattribute`文件,但已[计划在将来的发行版中使用](https://gitlab.com/gitlab-org/gitlab/-/issues/22014) . \ No newline at end of file diff --git a/docs/164.md b/docs/164.md deleted file mode 100644 index c2df661..0000000 --- a/docs/164.md +++ /dev/null @@ -1,127 +0,0 @@ -# GitLab Web Editor - -> 原文:[https://docs.gitlab.com/ee/user/project/repository/web_editor.html](https://docs.gitlab.com/ee/user/project/repository/web_editor.html) - -* [Create a file](#create-a-file) - * [Template dropdowns](#template-dropdowns) -* [Upload a file](#upload-a-file) -* [Create a directory](#create-a-directory) -* [Create a new branch](#create-a-new-branch) - * [Create a new branch from an issue](#create-a-new-branch-from-an-issue) - * [Create a new branch from a project’s dashboard](#create-a-new-branch-from-a-projects-dashboard) -* [Create a new tag](#create-a-new-tag) -* [Tips](#tips) - -# GitLab Web Editor[](#gitlab-web-editor "Permalink") - -有时,直接从 GitLab 界面进行快速更改要比克隆项目并使用 Gi​​t 命令行工具容易. 在此功能中,我们重点介绍如何从文件浏览器创建新文件,目录,分支或标记. 所有这些操作都可以通过一个下拉菜单获得. - -## Create a file[](#create-a-file "Permalink") - -在项目的文件页面中,单击分支选择器右侧的" +"按钮. 从下拉列表中选择**新文件** . - -[![New file dropdown menu](img/149fa515778bea7ce86903f0c8d9b31f.png)](img/web_editor_new_file_dropdown.png) - -在" **文件名"**框中输入文件名. 然后,在编辑器区域中添加文件内容. 添加描述性提交消息并选择一个分支. 分支字段将默认为您在文件浏览器中查看的分支. 如果输入新的分支名称,将出现一个复选框,允许您在提交更改后启动新的合并请求. - -当您对新文件感到满意时,请单击底部的" **提交更改** ". - -[![Create file editor](img/07e4663db45be7313a205a17ec342edb.png)](img/web_editor_new_file_editor.png) - -### Template dropdowns[](#template-dropdowns "Permalink") - -启动新项目时,新项目可能也需要一些通用文件. 因此,GitLab 将显示一条消息,以简化您的操作. - -[![First file for your project](img/1e0213e85ced3ac9dcc079f0e1831068.png)](img/web_editor_template_dropdown_first_file.png) - -当单击`LICENSE`或`.gitignore`等时,将显示一个下拉列表,为您提供适合您的项目的模板. - -[![MIT license selected](img/097706015c4d2abaaf34d0782cfac635.png)](img/web_editor_template_dropdown_mit_license.png) - -许可证, `.gitlab-ci.yml`日志,贡献指南或`.gitlab-ci.yml`文件也可以通过项目页面上的按钮添加. 在下面的示例中,许可证已经创建,这将创建指向许可证本身的链接. - -[![New file button](img/adc0d64a6c4c1979d43d8bf1d8d485e8.png)](img/web_editor_template_dropdown_buttons.png) - -> **Note:** The **设置 CI / CD** button will not appear on an empty repository. You have to at least add a file in order for the button to show up. - -## Upload a file[](#upload-a-file "Permalink") - -当内容为文本时,创建文件的能力非常出色. 但是,这不适用于二进制数据,例如图像,PDF 或其他文件类型. 在这种情况下,您需要上传文件. - -在项目的文件页面中,单击分支选择器右侧的" +"按钮. 从下拉菜单中选择上**载文件** . - -[![Upload file dropdown menu](img/671787cdf6cd1dde3e748fae72d46779.png)](img/web_editor_upload_file_dropdown.png) - -弹出上传对话框后,有两种方法可以上传文件. 可以在弹出窗口中拖放文件,也可以使用**点击上传**链接. 选择要上传的文件后,将显示文件预览. - -输入提交消息,选择一个分支,并在准备好后单击"上**载文件"** . - -[![Upload file dialog](img/2ed1719eefb651778ccd248f0bbe577c.png)](img/web_editor_upload_file_dialog.png) - -## Create a directory[](#create-a-directory "Permalink") - -为了使档案库中的文件井井有条,创建一个新目录通常会很有帮助. - -在项目的文件页面中,单击分支选择器右侧的加号按钮( `+` ). 从下拉菜单中选择" **新建目录** ". - -[![New directory dropdown](img/c65afb6da67de7dea9950e2b151cca40.png)](img/web_editor_new_directory_dropdown.png) - -在新目录对话框中,输入目录名称,提交消息并选择目标分支. 单击**创建目录**以完成. - -[![New directory dialog](img/0b804819bf30ce8e657ad538d376ecc5.png)](img/web_editor_new_directory_dialog.png) - -## Create a new branch[](#create-a-new-branch "Permalink") - -有多种方法可从 GitLab 的 Web 界面创建分支. - -### Create a new branch from an issue[](#create-a-new-branch-from-an-issue "Permalink") - -在 GitLab 8.6 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/2808) . - -如果您的开发工作流程要求每个合并请求都存在问题,则可以直接从该问题快速创建分支,以加快流程. 新分支及其以后的合并请求将被标记为与此问题相关. 合并后,MR 将自动关闭问题. 您可以在问题说明下方看到" **创建合并请求"**下拉列表. - -**注意:**如果已经有一个具有相同名称的分支或一个引用的合并请求,或者您的项目具有活动的派生关系,则不会看到" **创建合并请求"**按钮. 如果您想显示此按钮,则可能的解决方法是[删除项目的 fork 关系](../settings/index.html#removing-a-fork-relationship) . 删除后,派生关系将无法恢复,您将不再能够将合并请求发送到源. - -[![Create Button](img/ab48b86f7a0dfe92d4358f705bf938a8.png)](img/web_editor_new_branch_from_issue_create_button_v12_6.png) - -该下拉列表包含选项**创建合并请求和分支**以及**创建分支** . - -[![New Branch Button](img/2f78c411d32ee05e95a1984ef90b2356.png)](img/web_editor_new_branch_from_issue_v_12_6.png) - -选择这些选项之一后,将基于项目的默认分支(默认为`master`创建新的分支或分支与合并请求. 分支名称将基于问题的标题,并作为前缀具有其内部 ID. 因此,上面的示例屏幕快照将创建一个名为`2-make-static-site-auto-deploy-and-serve`的分支. - -当您在一个空的存储库项目中单击**创建分支**按钮时,GitLab 会自动创建一个`master`分支, `README.md`提交一个空白的`README.md`文件,并根据问题标题创建并将您重定向到新分支. 如果您的[项目已经配置了](../integrations/overview.html) Kubernetes 等[部署服务](../integrations/overview.html) ,则 GitLab 会更进一步,并通过帮助您创建`.gitlab-ci.yml`文件来提示您设置[自动部署](../../../topics/autodevops/stages.html#auto-deploy) . - -创建分支后,您可以编辑存储库中的文件以解决此问题. 当基于新创建的分支创建合并请求时,描述字段将自动显示[问题关闭模式](../issues/managing_issues.html#closing-issues-automatically) `Closes #ID` ,其中`ID`为问题的 ID. 一旦合并请求被合并,这将解决问题. - -### Create a new branch from a project’s dashboard[](#create-a-new-branch-from-a-projects-dashboard "Permalink") - -如果要在创建新的合并请求之前对多个文件进行更改,则可以预先创建一个新的分支. 在项目的文件页面上,从下拉列表中选择" **新建分支** ". - -[![New branch dropdown](img/83a4859fc1c1d9fc2ea68819a53eaea8.png)](img/web_editor_new_branch_dropdown.png) - -输入新的**分支名称** . (可选)更改" **创建自"**字段以选择该新分支将来自哪个分支,标记或提交 SHA. 如果您开始键入现有的分支或标签,则此字段将自动完成. 单击**创建分支** ,您将返回到该新分支上的文件浏览器. - -[![New branch page](img/dc5fe88e82dc925a618598e1ac284f39.png)](img/web_editor_new_branch_page.png) - -现在,您可以根据需要更改任何文件. 当您准备好将更改合并回母版时,可以使用屏幕顶部的小部件. 在创建分支或修改文件后,此窗口小部件仅显示一段时间. - -[![New push widget](img/2279c6b38c41208a2726d04b0df15c37.png)](img/web_editor_new_push_widget.png) - -## Create a new tag[](#create-a-new-tag "Permalink") - -标签可用于标记主要的里程碑,例如生产版本,候选版本等等. 您可以从分支或提交 SHA 创建标签. 在项目的文件页面上,从下拉列表中选择" **新建标签** ". - -[![New tag dropdown](img/a8ac57717b491533848b3ebca40aae86.png)](img/web_editor_new_tag_dropdown.png) - -给标签起一个名字,例如`v1.0.0` . 选择您要从中创建此新标签的分支或 SHA. 您可以选择添加一条消息和发行说明. 发行说明部分支持 Markdown 格式,您也可以上传附件. 单击**创建标签** ,您将被带到标签列表页面. - -[![New tag page](img/36d97eaa1e64c3f6d5b78d205d1ce881.png)](img/web_editor_new_tag_page.png) - -## Tips[](#tips "Permalink") - -创建或上载新文件或创建新目录时,可以触发新的合并请求,而不是直接提交给 master. 在**目标分支**字段中输入新的分支名称. 您会注意到出现一个复选框,标**有"通过这些更改启动新的合并请求"** . 提交更改后,您将进入新的合并请求表单. - -[![Start a new merge request with these changes](img/f293e9e73b2cf8c4ef278104fbd068d5.png)](img/web_editor_start_new_merge_request.png) - -如果你*不*希望使用您的主电子邮件地址通过 Web 编辑器创建的提交,您可以选择使用其他的链接的电子邮件地址的从**用户设置>编辑个人资料**页面. \ No newline at end of file diff --git a/docs/165.md b/docs/165.md deleted file mode 100644 index 1e1dd4b..0000000 --- a/docs/165.md +++ /dev/null @@ -1,285 +0,0 @@ -# Web IDE - -> 原文:[https://docs.gitlab.com/ee/user/project/web_ide/](https://docs.gitlab.com/ee/user/project/web_ide/) - -* [Open the Web IDE](#open-the-web-ide) -* [File finder](#file-finder) -* [Syntax highlighting](#syntax-highlighting) - * [Themes](#themes) -* [Configure the Web IDE](#configure-the-web-ide) -* [Commit changes](#commit-changes) -* [Reviewing changes](#reviewing-changes) -* [View CI job logs](#view-ci-job-logs) -* [Switching merge requests](#switching-merge-requests) -* [Switching branches](#switching-branches) -* [Markdown editing](#markdown-editing) -* [Live Preview](#live-preview) - * [Enabling Live Preview](#enabling-live-preview) -* [Interactive Web Terminals for the Web IDE](#interactive-web-terminals-for-the-web-ide) - * [Runner configuration](#runner-configuration) - * [Web IDE configuration file](#web-ide-configuration-file) - * [Running interactive terminals in the Web IDE](#running-interactive-terminals-in-the-web-ide) - * [File syncing to web terminal](#file-syncing-to-web-terminal) - * [Limitations](#limitations) - * [Troubleshooting](#troubleshooting) - -# Web IDE[](#web-ide "Permalink") - -版本历史 - -* 在[GitLab Ultimate](https://about.gitlab.com/pricing/) 10.4 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/4539) . -* 在 10.7 版中[移至](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/44157) GitLab Core. - -Web IDE 编辑器通过提供具有提交阶段的高级编辑器,可以更快,更轻松地为项目贡献更改. - -## Open the Web IDE[](#open-the-web-ide "Permalink") - -您可以从存储库文件列表和合并请求中查看文件时打开 Web IDE. - -[![Open Web IDE](img/7a0b5b2ee322d8676753d89561c1d3cb.png)](img/open_web_ide.png) - -## File finder[](#file-finder "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/18323) in [GitLab Core](https://about.gitlab.com/pricing/) 10.8. - -通过文件查找器,您可以通过搜索快速打开当前分支中的文件. 使用键盘快捷键`Command-p` , `Control-p`或`t` (当编辑器不在焦点时)启动文件查找器. 输入文件名或文件路径片段以开始查看结果. - -## Syntax highlighting[](#syntax-highlighting "Permalink") - -正如 IDE 所期望的那样,Web IDE 中多种语言的语法突出显示将使您的直接编辑更加容易. - -Web IDE 当前提供: - -* 基本语法着色,适用于各种编程,脚本和标记语言,例如 XML,PHP,C#,C ++,Markdown,Java,VB,Batch,Python,Ruby 和 Objective-C. -* 某些语言的 IntelliSense 和验证支持(显示错误和警告,提供智能补全,格式设置和概述). 例如:TypeScript,JavaScript,CSS,LESS,SCSS,JSON 和 HTML. - -因为 Web IDE 基于[Monaco Editor](https://microsoft.github.io/monaco-editor/) ,所以您可以在[Monaco 语言](https://github.com/Microsoft/monaco-languages)存储库中找到更完整的受支持语言列表. 在幕后,摩纳哥使用[Monarch](https://microsoft.github.io/monaco-editor/monarch.html)库来突出显示语法. - -如果您缺少对任何语言的语法突出显示支持,我们准备了一份简短指南,介绍如何[为缺少的语言语法突出显示添加支持.](https://gitlab.com/gitlab-org/gitlab/-/blob/master/app/assets/javascripts/ide/lib/languages/README.md) - -**注意:**单个文件编辑基于[Ace 编辑器](https://ace.c9.io) . - -### Themes[](#themes "Permalink") - -版本历史 - -* 在 13.0 版的 GitLab 中[引入](https://gitlab.com/groups/gitlab-org/-/epics/2389) . -* GitLab 13.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/219228)了完全日光化黑暗主题. - -GitLab 支持的语法突出显示的所有主题都添加到了 Web IDE 的代码编辑器中. 您可以从个人[资料首选项中](../../profile/preferences.html)选择一个主题. - -主题仅在 Web IDE 文件编辑器中可用, [深色主题](https://gitlab.com/gitlab-org/gitlab/-/issues/209808)和[日光化深色主题](https://gitlab.com/gitlab-org/gitlab/-/issues/219228)除外,它们适用于整个 Web IDE 屏幕. - -| 日光灯主题 | 日晒黑暗主题 | 黑暗主题 | -| --- | --- | --- | -| [![Solarized Light Theme](img/d79207e6e4f140448c9dd5e6ebe5e380.png)](img/solarized_light_theme_v13_0.png) | [![Solarized Dark Theme](img/c187176d6b8d40e19db360c4c68ffb46.png)](img/solarized_dark_theme_v13_1.png) | [![Dark Theme](img/30152366655be1543f687603c8d34d96.png)](img/dark_theme_v13_0.png) | - -## Configure the Web IDE[](#configure-the-web-ide "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/23352) in [GitLab Core](https://about.gitlab.com/pricing/) 13.1. - -Web IDE 支持使用[`.editorconfig`文件](https://editorconfig.org/)配置某些编辑器设置. 打开文件时,Web IDE 将在当前目录和所有父目录中查找名为`.editorconfig`的文件. 如果找到配置文件并且其设置与文件的路径匹配,则将在打开的文件上强制执行这些设置. - -Web IDE 当前支持以下`.editorconfig`设置: - -* `indent_style` -* `indent_size` -* `end_of_line` -* `trim_trailing_whitespace` -* `tab_width` -* `insert_final_newline` - -## Commit changes[](#commit-changes "Permalink") - -版本历史 - -* 在[GitLab Ultimate](https://about.gitlab.com/pricing/) 10.4 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/4539) . -* 在 10.7 版中[移至](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/44157) GitLab Core. -* 从[GitLab 12.7 开始](https://gitlab.com/gitlab-org/gitlab/-/issues/33441) ,将自动暂存文件. -* 从[GitLab 12.9 开始](https://gitlab.com/gitlab-org/gitlab/-/issues/196609) ,删除了对暂存文件的支持,以防止丢失未暂存的数据. 您当前的所有更改都必须提交或放弃. - -进行更改后,单击左下角的" **提交"**按钮以查看已更改文件的列表. - -完成更改后,可以添加提交消息,提交更改并直接创建合并请求. 如果您没有对所选分支的写访问权,则会看到警告,但仍然可以创建新分支并启动合并请求. - -要放弃特定文件中的更改,请在"更改"选项卡中单击该文件上的" **放弃更改"**按钮. 要放弃所有更改,请单击更改侧栏右上角的垃圾桶图标. - -[![Commit changes](img/bad584bc95c83e26be6c67a2b54b26ae.png)](img/commit_changes_v12_9.png) - -## Reviewing changes[](#reviewing-changes "Permalink") - -提交更改之前,可以通过切换到查看模式或从更改列表中选择文件来将它们与上一次提交进行比较. - -当您打开合并请求时,还可以使用其他查看模式,如果您提交更改,该模式将向您显示合并请求 diff 的预览. - -## View CI job logs[](#view-ci-job-logs "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/19279) in [GitLab Core](https://about.gitlab.com/pricing/) 11.0. - -您可以使用 Web IDE 通过在 Web IDE 中打开分支或合并请求并打开失败作业的日志来快速修复失败的测试. 通过单击右上角的" **管道"**按钮,可以访问最新管道的所有作业的状态以及当前提交的作业跟踪. - -管道状态也始终显示在左下方的状态栏中. - -## Switching merge requests[](#switching-merge-requests "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/19318) in [GitLab Core](https://about.gitlab.com/pricing/) 11.0. - -要在创作的和分配的合并请求之间切换,请单击侧栏顶部的下拉列表以打开合并请求列表. 在切换到其他合并请求之前,您将需要提交或放弃所有更改. - -## Switching branches[](#switching-branches "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/20850) in [GitLab Core](https://about.gitlab.com/pricing/) 11.2. - -To switch between branches of the current project repository, click the dropdown in the top of the sidebar to open a list of branches. You will need to commit or discard all your changes before switching to a different branch. - -## Markdown editing[](#markdown-editing "Permalink") - -版本历史 - -* [GitLab Core](https://about.gitlab.com/pricing/) 10.7 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/18059)了 Markdown 预览. -* 支持在[GitLab Core](https://about.gitlab.com/pricing/) 13.1 中[引入的](https://gitlab.com/gitlab-org/gitlab/-/issues/22822)粘贴图像. - -在 Web IDE 中编辑 Markdown 文件时,可以通过单击文件编辑器上方的" **预览 Markdown"**选项卡来预览更改. Markdown 预览支持[GitLab 风味 Markdown](../../markdown.html#gitlab-flavored-markdown-gfm) . - -您还可以通过将任何本地图像直接粘贴到 Markdown 文件中来上传它们. 该图像将上传到同一目录,默认情况下命名为`image.png` . 如果已经存在相同名称的另一个文件,则将数字后缀自动添加到文件名. - -## Live Preview[](#live-preview "Permalink") - -版本历史 - -* 在[GitLab Core](https://about.gitlab.com/pricing/) 11.2 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/19764) . -* 在 GitLab 13.0 中从*客户端评估* [重命名](https://gitlab.com/gitlab-org/gitlab/-/issues/213853)为*实时预览* . - -您可以使用 Web IDE 在浏览器中预览 JavaScript 项目. 此功能使用 CodeSandbox 编译和捆绑用于预览 Web 应用程序的 JavaScript. - -[![Web IDE Live Preview](img/7efae901a0febb2a8e969415dced271a.png)](img/live_preview_v13_0.png) - -Additionally, for public projects an **在 CodeSandbox 中打开** button is available to transfer the contents of the project into a public CodeSandbox project to quickly share your project with others. - -### Enabling Live Preview[](#enabling-live-preview "Permalink") - -需要在 GitLab 实例管理员设置中启用实时预览功能. 在 GitLab.com 上为所有项目启用了实时预览 - -[![Admin Live Preview setting](img/fb0d67715160a5a049ca0b8e7d7af698.png)](img/admin_live_preview_v13_0.png) - -完成此操作后,您可以使用`package.json`文件和 Web IDE 内的`main`入口点预览项目. 下面显示了一个示例`package.json` . - -``` -{ "main": "index.js", "dependencies": { "vue": "latest" } } -``` - -## Interactive Web Terminals for the Web IDE[](#interactive-web-terminals-for-the-web-ide "Permalink") - -版本历史 - -* 在[GitLab Ultimate](https://about.gitlab.com/pricing/) 11.6 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/5426) . -* 在 13.1 版中[移至](https://gitlab.com/gitlab-org/gitlab/-/issues/211685) GitLab Core. - -**警告:** Web IDE 的交互式 Web 终端当前处于**Beta 中** . 共享运行程序[尚不支持交互式 Web 终端](https://gitlab.com/gitlab-org/gitlab/-/issues/24674) ,因此您需要使用自己的私有运行程序来使用此功能. - -[交互式 Web 终端](../../../ci/interactive_web_terminal/index.html)使项目[维护者](../../permissions.html#project-members-permissions)用户可以直接从 GitLab(包括通过 Web IDE)访问终端以与 Runner 进行交互. - -### Runner configuration[](#runner-configuration "Permalink") - -为了使交互式 Web 终端正常工作,需要在运行程序中配置一些内容: - -* 跑步者需要[正确配置`[session_server]`](https://docs.gitlab.com/runner/configuration/advanced-configuration.html) . 本部分至少需要一个`session_timeout`值(默认为 1800 秒)和一个`listen_address`值. 如果未定义`advertise_address` ,则使用`listen_address` . -* 如果您对 GitLab 实例使用反向代理,则需要[启用](../../../administration/integration/terminal.html#enabling-and-disabling-terminal-support) Web 终端. - -如果您打开终端并且作业已完成其任务,则终端将在[`[session_server].session_timeout`](https://docs.gitlab.com/runner/configuration/advanced-configuration.html)配置的持续时间内阻止作业完成,直到关闭终端窗口. - -**注意:**并非所有执行程序都[受支持](https://docs.gitlab.com/runner/executors/) . [文件同步](#file-syncing-to-web-terminal)功能仅在 Kubernetes 运行程序上受支持. - -### Web IDE configuration file[](#web-ide-configuration-file "Permalink") - -为了启用 Web IDE 终端,您需要在存储库根目录内创建文件`.gitlab/.gitlab-webide.yml` . 该文件与[CI 配置文件的](../../../ci/yaml/README.html)语法非常相似,但有一些限制: - -* 无法定义全局块(即: `before_script`或`after_script` ) -* 只能将一个名为`terminal`作业添加到该文件中. -* 仅允许使用关键字`image` , `services` , `tags` , `before_script` , `script`和`variables`来配置作业. -* 要连接到交互式终端, `terminal`作业必须仍然处于活动状态并且正在运行,否则终端将无法连接到作业的会话. 默认情况下, `script`关键字的值是`sleep 60`以防止作业结束并为 Web IDE 提供足够的连接时间. 这意味着,如果您覆盖默认`script`值,则必须添加一个使作业保持运行`sleep`的命令,例如`sleep` . - -在下面的代码中,有此配置文件的示例: - -``` -terminal: - # This can be any image that has the necessary runtime environment for your project. - image: node:10-alpine - before_script: - - apt-get update - script: sleep 60 - variables: - RAILS_ENV: "test" - NODE_ENV: "test" -``` - -终端启动后,将显示控制台,我们可以访问项目存储库文件. - -**重要的** . 终端作业取决于分支. 这意味着用于触发和配置终端的配置文件将是 Web IDE 所选分支中的配置文件. - -如果分支中没有配置文件,将显示错误消息. - -### Running interactive terminals in the Web IDE[](#running-interactive-terminals-in-the-web-ide "Permalink") - -如果交互式终端可供当前用户使用,则" **终端"**按钮将显示在 Web IDE 的右侧栏中. 单击此按钮可以打开或关闭终端选项卡. - -打开后,该选项卡将显示" **启动 Web 终端"**按钮. 如果环境配置不正确,则可能禁用此按钮. 如果是这样,状态消息将描述问题. 以下是可能会禁用" **启动 Web 终端"的**一些原因: - -* `.gitlab/.gitlab-webide.yml`不存在或设置错误. -* 该项目没有活跃的私人跑步者. - -如果处于活动状态,则单击" **启动 Web 终端"**按钮将加载终端视图并开始连接到跑步者的终端. 任何时候都可以关闭并重新打开**终端**选项卡,并且不会影响终端的状态. - -当终端启动并成功连接到跑步者时,跑步者的外壳提示将出现在终端中. 在这里,您可以输入将在跑步者的环境中执行的命令. 这类似于在本地终端或通过 SSH 运行命令. - -在终端运行时,可以通过单击**Stop Terminal**停止它. 这将断开终端并停止跑步者的终端工作. 在此处,单击" **重新启动终端"**以启动新的终端会话. - -### File syncing to web terminal[](#file-syncing-to-web-terminal "Permalink") - -版本历史 - -* 在[GitLab Ultimate](https://about.gitlab.com/pricing/) 12.0 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/5276) . -* 在 13.1 版中[移至](https://gitlab.com/gitlab-org/gitlab/-/issues/211686) GitLab Core. - -Web IDE 中的文件更改可以同步到正在运行的 Web 终端. 这使用户能够在预配置的终端环境中测试其代码更改. - -**注意:**仅将 Web IDE 中的文件更改同步到终端. 在终端中所做的更改**不会**同步到 Web IDE. 此功能仅适用于 Kubernetes Runners. - -要使文件同步到 Web 终端, `.gitlab/.gitlab-webide.yml`文件需要配置`webide-file-sync`服务. 这是使用此服务的 Node JS 项目的示例配置: - -``` -terminal: - # This can be any image that has the necessary runtime environment for your project. - image: - name: node:10-alpine - services: - - name: registry.gitlab.com/gitlab-org/webide-file-sync:latest - alias: webide-file-sync - entrypoint: ["/bin/sh"] - command: ["-c", "sleep 5 && ./webide-file-sync -project-dir $CI_PROJECT_DIR"] - ports: - # The `webide-file-sync` executable defaults to port 3000. - - number: 3000 -``` - -* 项目目录可用**后** ,必须启动`webide-file-sync`可执行文件. 这就是为什么我们需要在`command`添加`sleep 5`的原因. 有关更多信息,请参[见此问题](https://gitlab.com/gitlab-org/webide-file-sync/-/issues/7) . -* `$CI_PROJECT_DIR`是 GitLab Runners 的[预定义环境变量](../../../ci/variables/predefined_variables.html) . 这是您项目的存储库所在的位置. - -一旦将 Web 终端配置为用于文件同步,则在启动 Web 终端后,状态栏中将显示**终端**状态. - -[![Web IDE Client Side Evaluation](img/37238acd557de0d61f0c3be198c56e00.png)](img/terminal_status.png) - -在以下情况下,通过 Web IDE 对文件所做的更改将同步到正在运行的终端: - -* 编辑文件时,按`Ctrl` + `S` (在 Mac 上为`Cmd` + `S` ). -* 编辑文件后,将单击文件编辑器之外的所有内容. -* 创建,删除或重命名文件或文件夹. - -### Limitations[](#limitations "Permalink") - -交互式终端处于 beta 阶段,并将在以后的发行版中继续进行改进. 同时,请注意,用户一次只能拥有一个活动终端. - -### Troubleshooting[](#troubleshooting "Permalink") - -* 如果终端的文本为灰色且无响应,则表明终端已停止,无法再使用. 停止的终端可以通过单击**Restart Terminal 重新启动** . -* 如果终端显示**Connection Failure** ,则终端无法连接到流道. 请尝试停止并重新启动终端. 如果问题仍然存在,请仔细检查流道配置. \ No newline at end of file diff --git a/docs/166.md b/docs/166.md deleted file mode 100644 index ec97ba4..0000000 --- a/docs/166.md +++ /dev/null @@ -1,160 +0,0 @@ -# Requirements Management - -> 原文:[https://docs.gitlab.com/ee/user/project/requirements/](https://docs.gitlab.com/ee/user/project/requirements/) - -* [Create a requirement](#create-a-requirement) -* [Edit a requirement](#edit-a-requirement) -* [Archive a requirement](#archive-a-requirement) -* [Reopen a requirement](#reopen-a-requirement) -* [Search for a requirement](#search-for-a-requirement) -* [Allow requirements to be satisfied from a CI job](#allow-requirements-to-be-satisfied-from-a-ci-job) - * [Add the manual job to CI](#add-the-manual-job-to-ci) - * [Specifying individual requirements](#specifying-individual-requirements) - * [Add the manual job to CI conditionally](#add-the-manual-job-to-ci-conditionally) - -# Requirements Management[](#requirements-management-ultimate "Permalink") - -[Introduced](https://gitlab.com/groups/gitlab-org/-/epics/2703) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.10. - -根据要求,您可以设置标准来检查产品. 它们可以基于用户,涉众,系统,软件或您认为重要的其他任何内容. - -需求是 GitLab 中的工件,用于描述产品的特定行为. 需求是长期存在的,除非手动清除,否则它们不会消失. - -如果行业标准*要求*您的应用程序具有某些功能或行为,则可以[创建一个要求](#create-a-requirement)来反映这一点. 如果不再需要某个功能,则可以[归档相关需求](#archive-a-requirement) . - -有关概述,请参见[GitLab 12.10 引入需求管理](https://www.youtube.com/watch?v=uSS7oUNSEoU) . - -[![requirements list view](img/56d89ff1e02ecf30404a57092adae96d.png)](img/requirements_list_v13_1.png) - -## Create a requirement[](#create-a-requirement "Permalink") - -每个项目都有一个分页的需求清单,您可以在其中创建一个新需求. - -创建需求: - -1. 在您的项目页面上,转到 **要求** . -2. Click **新要求**. -3. 输入描述性标题,然后单击**创建需求** . - -您将在列表顶部看到新创建的需求,因为需求列表按创建日期降序排列. - -## Edit a requirement[](#edit-a-requirement "Permalink") - -您可以从需求列表页面编辑需求(如果您具有必要的特权). - -要编辑需求: - -1. 在需求清单中,按一下[ **编辑** ( ). -2. 在文本输入字段中更新标题. -3. Click **保存更改**. - -## Archive a requirement[](#archive-a-requirement "Permalink") - -在" **打开"**选项卡中时,可以存档一个未完成的需求(如果有必要的特权). - -要存档需求,请点击**存档** ( ). - -需求存档后,它不再出现在" **打开"**选项卡中. - -## Reopen a requirement[](#reopen-a-requirement "Permalink") - -您可以在"已**归档"**选项卡中查看已归档需求的列表. - -[![archived requirements list](img/596a395127f6b3d5c9d1deac3f676680.png)](img/requirements_archived_list_view_v13_1.png) - -要重新打开已归档的需求,请点击**重新打开** . - -重新打开需求后,它不再出现在" **归档"**选项卡中. - -## Search for a requirement[](#search-for-a-requirement "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/212543) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 13.1. - -您可以根据以下条件从需求列表页面中搜索需求: - -* 要求标题 -* 作者的用户名 - -要搜索需求: - -1. 在一个项目中,转到 **需求>清单** . -2. 单击**搜索或过滤结果**字段. 出现一个下拉菜单. -3. 从下拉列表中选择需求作者或输入纯文本以按需求标题进行搜索. -4. 在键盘上按`Enter`键以过滤列表. - -您还可以通过以下方式对需求列表进行排序: - -* 创建日期 -* 最近更新时间 - -## Allow requirements to be satisfied from a CI job[](#allow-requirements-to-be-satisfied-from-a-ci-job "Permalink") - -版本历史 - -* 在[GitLab Ultimate](https://about.gitlab.com/pricing/) 13.1 中[引入](https://gitlab.com/groups/gitlab-org/-/epics/2859) . -* 在[GitLab Ultimate](https://about.gitlab.com/pricing/) 13.2 中[增加](https://gitlab.com/gitlab-org/gitlab/-/issues/215514)了指定个别要求及其状态的功能. - -GitLab 现在支持[需求测试报告](../../../ci/pipelines/job_artifacts.html#artifactsreportsrequirements-ultimate) . 您可以将作业添加到 CI 管道,该作业在触发时会将所有现有需求标记为"满足". - -### Add the manual job to CI[](#add-the-manual-job-to-ci "Permalink") - -要配置您的 CI 以在触发手动作业时将要求标记为"满足",请将以下代码添加到`.gitlab-ci.yml`文件中. - -``` -requirements_confirmation: - when: manual - allow_failure: false - script: - - mkdir tmp - - echo "{\"*\":\"passed\"}" > tmp/requirements.json - artifacts: - reports: - requirements: tmp/requirements.json -``` - -此定义将手动触发的( `when: manual` )作业添加到 CI 管道. 它阻止了( `allow_failure: false` ),但是由您决定触发 CI 作业的条件是什么. 另外,您可以使用任何现有的 CI 作业将所有需求标记为已满足,前提是 CI 作业生成并上传了`requirements.json`工件. - -当您手动触发此作业时,包含`{"*":"passed"}`的`requirements.json`文件将作为工件上传到服务器. 在服务器端,将检查需求报告中的"所有通过"记录( `{"*":"passed"}` ),并在成功后将所有现有的打开需求标记为"满意". - -#### Specifying individual requirements[](#specifying-individual-requirements "Permalink") - -可以指定个别要求及其状态. - -如果存在以下要求: - -* `REQ-1` (具有 IID `1` ) -* `REQ-2` (具有 IID `2` ) -* `REQ-3` (具有 IID `3` ) - -可以指定第一个要求通过,第二个失败. 有效值为"通过"和"失败". 通过省略需求 IID(在这种情况下为`REQ-3`的 IID `3` ),没有发现结果. - -``` -requirements_confirmation: - when: manual - allow_failure: false - script: - - mkdir tmp - - echo "{\"1\":\"passed\", \"2\":\"failed\"}" > tmp/requirements.json - artifacts: - reports: - requirements: tmp/requirements.json -``` - -### Add the manual job to CI conditionally[](#add-the-manual-job-to-ci-conditionally "Permalink") - -要将 CI 配置为仅在有某些开放要求时才包括手动作业,请添加一条规则以检查`CI_HAS_OPEN_REQUIREMENTS` CI 变量. - -``` -requirements_confirmation: - rules: - - if: "$CI_HAS_OPEN_REQUIREMENTS" == "true" - when: manual - - when: never - allow_failure: false - script: - - mkdir tmp - - echo "{\"*\":\"passed\"}" > tmp/requirements.json - artifacts: - reports: - requirements: tmp/requirements.json -``` \ No newline at end of file diff --git a/docs/167.md b/docs/167.md deleted file mode 100644 index da80943..0000000 --- a/docs/167.md +++ /dev/null @@ -1,244 +0,0 @@ -# Project settings - -> 原文:[https://docs.gitlab.com/ee/user/project/settings/](https://docs.gitlab.com/ee/user/project/settings/) - -* [General settings](#general-settings) - * [General project settings](#general-project-settings) - * [Compliance framework](#compliance-framework-premium) - * [Sharing and permissions](#sharing-and-permissions) - * [Disabling email notifications](#disabling-email-notifications) - * [Merge request settings](#merge-request-settings) - * [Service Desk](#service-desk-starter) - * [Export project](#export-project) - * [Advanced settings](#advanced-settings) - * [Archiving a project](#archiving-a-project) - * [Unarchiving a project](#unarchiving-a-project) - * [Renaming a repository](#renaming-a-repository) - * [Transferring an existing project into another namespace](#transferring-an-existing-project-into-another-namespace) - * [Remove a project](#remove-a-project) - * [Restore a project](#restore-a-project-premium) - * [Removing a fork relationship](#removing-a-fork-relationship) -* [Operations settings](#operations-settings) - * [Error Tracking](#error-tracking) - * [Jaeger tracing](#jaeger-tracing-ultimate) - * [Status Page](#status-page) - -# Project settings[](#project-settings "Permalink") - -**注意:**只有项目维护者和管理员用户[有权](../../permissions.html#project-members-permissions)访问项目设置. - -您可以通过导航到项目的主页并点击**设置**来调整[项目](../index.html)设置. - -## General settings[](#general-settings "Permalink") - -在项目的常规设置下,您可以找到与项目功能有关的所有内容. - -### General project settings[](#general-project-settings "Permalink") - -调整项目的名称,描述,头像, [默认分支](../repository/branches/index.html#default-branch)和主题: - -[![general project settings](img/743ce9a40d40e900e957589a9024f116.png)](img/general_settings.png) - -项目描述还部分支持[标准 Markdown](../../markdown.html#standard-markdown-and-extensions-in-gitlab) . 您可以使用[强调](../../markdown.html#emphasis) , [链接](../../markdown.html#links)和[换行符](../../markdown.html#line-breaks)为项目描述添加更多上下文. - -#### Compliance framework[](#compliance-framework-premium "Permalink") - -您可以选择一个框架标签来标识您的项目具有某些合规性要求或需要其他监督. 可用的标签包括: - -* GDPR-通用数据保护法规 -* HIPAA-健康保险可移植性和责任法案 -* PCI-DSS-支付卡行业数据安全标准 -* SOC 2-服务组织控制 2 -* SOX-萨班斯-奥克斯利 - -### Sharing and permissions[](#sharing-and-permissions "Permalink") - -对于您的存储库,您可以设置功能,例如公共访问,存储库功能,文档,访问权限等等. 要从您的项目中执行此操作,请转到**"设置"** >" **常规"** ,然后展开" **可见性","项目功能","权限"**部分. - -现在,您可以更改[项目可见性](../../../public_access/public_access.html) . 如果将" **项目可见性"**设置为公开,则可以将某些功能的访问权限限制为" **仅项目成员"** . 此外,您可以选择[允许用户请求访问权限](../members/index.html#project-membership-and-requesting-access)的选项. - -**警告:**如果[降低项目的可见性级别](../../../public_access/public_access.html#reducing-visibility) ,则该操作将取消该项目的所有分支的链接. - -使用开关启用或禁用以下功能: - -| Option | 更多访问限制选项 | Description | -| --- | --- | --- | -| **Issues** | ✓ | 激活 GitLab 问题跟踪器 | -| **Repository** | ✓ | Enables [repository](../repository/) functionality | -| **合并请求** | ✓ | 启用[合并请求](../merge_requests/)功能; 另请参阅[合并请求设置](#merge-request-settings) | -| **Forks** | ✓ | Enables [forking](../index.html#fork-a-project) functionality | -| **Pipelines** | ✓ | Enables [CI/CD](../../../ci/README.html) functionality | -| **集装箱登记处** |   | 为您的 Docker 映像激活[注册表](../../packages/container_registry/) | -| **Git 大文件存储** |   | 允许使用[大文件](../../../topics/git/lfs/index.html#git-large-file-storage-lfs) | -| **Packages** |   | Supports configuration of a [package registry](../../../administration/packages/index.html#gitlab-package-registry-administration-premium-only) functionality | -| **Wiki** | ✓ | 启用单独的[文档](../wiki/)系统 | -| **Snippets** | ✓ | Enables [sharing of code and text](../../snippets.html) | -| **Pages** | ✓ | 允许您[发布静态网站](../pages/) | -| **指标仪表板** | ✓ | 控制对[指标仪表板的](../integrations/prometheus.html)访问 | - -一些功能取决于其他功能: - -* 如果禁用" **问题"**选项,则 GitLab 还将删除以下功能: - * **发行板** - * [**服务台**](#service-desk-starter)**注意:**禁用" **问题"**选项后,您仍然可以从合并请求访问**里程碑** . -* 此外,如果您同时禁用**Issues**和**Merge Requests** ,则将无法再访问: - * **标签** - * **大事记** -* 如果禁用**存储库**功能,GitLab 还将为您的项目禁用以下功能: - * **合并请求** - * **流水线** - * **集装箱登记处** - * **Git 大文件存储** - * **配套** -* 指标仪表板访问要求同时阅读项目环境和部署. 有权访问指标仪表板的用户还可以访问环境和部署. - -#### Disabling email notifications[](#disabling-email-notifications "Permalink") - -项目所有者可以通过选中" **禁用电子邮件通知"**复选框来**禁用**与项目相关的所有[电子邮件通知](../../profile/notifications.html#gitlab-notification-emails) . - -### Merge request settings[](#merge-request-settings "Permalink") - -设置项目的合并请求设置: - -* 设置合并请求方法(合并提交, [快速合并](../merge_requests/fast_forward_merge.html) ). -* 添加合并请求[描述模板](../description_templates.html#description-templates) . -* Enable [merge request approvals](../merge_requests/merge_request_approvals.html). -* Enable [merge only if pipeline succeeds](../merge_requests/merge_when_pipeline_succeeds.html). -* Enable [merge only when all threads are resolved](../../discussions/index.html#only-allow-merge-requests-to-be-merged-if-all-threads-are-resolved). -* Enable [`delete source branch after merge` option by default](../merge_requests/getting_started.html#deleting-the-source-branch) -* Configure [suggested changes commit messages](../../discussions/index.html#configure-the-commit-message-for-applied-suggestions) - -[![project's merge request settings](img/813cda0881e353d15eed9ca9417104f1.png)](img/merge_requests_settings.png) - -### Service Desk[](#service-desk-starter "Permalink") - -为您的项目启用[Service Desk](../service_desk.html)以提供客户支持. - -### Export project[](#export-project "Permalink") - -了解如何在 GitLab 中[导出项目](import_export.html#importing-the-project) . - -### Advanced settings[](#advanced-settings "Permalink") - -在这里,您可以运行内部管理,存档,重命名,传输, [删除派生关系](#removing-a-fork-relationship)或删除项目. - -#### Archiving a project[](#archiving-a-project "Permalink") - -归档项目后,所有用户都将其设为只读,并表明该项目已不再处于主动维护状态. 也可以取消归档已归档的项目. 只有项目所有者和管理员用户才[有权](../../permissions.html#project-members-permissions)归档项目. - -归档项目后,存储库,问题,合并请求和所有其他功能均为只读. 归档的项目也隐藏在项目列表中. - -归档项目: - -1. 导航到您项目的 **设置>常规** . -2. 在" **高级"下** ,单击" **展开"** . -3. 在" **存档项目"**部分中,单击" **存档项目"**按钮. -4. 根据要求确认操作. - -#### Unarchiving a project[](#unarchiving-a-project "Permalink") - -取消归档项目会删除对项目的只读限制,并使其在项目列表中可用. 只有项目所有者和管理员用户才[有权](../../permissions.html#project-members-permissions)取消归档项目. - -要查找已归档的项目: - -1. 以具有项目所有者或管理员权限的用户身份登录到 GitLab. -2. 如果你: - * 拥有项目的 URL,在浏览器中打开项目的页面. - * 没有项目的 URL:1.单击**项目>浏览项目** . 1.在" **排序项目"**下拉框中,选择" **显示存档的项目"** . 1.在**按名称过滤**字段中,提供项目的名称. 1.单击指向项目的链接以打开其" **详细信息"**页面. - -接下来,要取消归档项目: - -1. 导航到您项目的 **设置>常规** . -2. Under **Advanced**, click **Expand**. -3. 在" **取消存档项目"**部分中,单击" **取消存档项目"**按钮. -4. 根据要求确认操作. - -#### Renaming a repository[](#renaming-a-repository "Permalink") - -**注意:**只有项目维护者和管理员用户才[有权](../../permissions.html#project-members-permissions)重命名存储库. 不要与项目名称混淆,也可以从[常规项目设置中](#general-project-settings)进行更改. - -项目的存储库名称定义其 URL(您用于通过浏览器访问该项目的 URL)及其在安装 GitLab 的文件磁盘上的位置. - -要重命名存储库: - -1. 导航到您项目的 **设置>常规** . -2. 在" **高级"下** ,单击" **展开"** . -3. 在"重命名存储库"下,根据您的喜好更改"路径". -4. Hit **重命名项目**. - -请记住,这可能会带来意想不到的副作用,因为使用旧网址的每个人都无法推送或拉动. 阅读有关[重命名存储库时重定向](../index.html#redirects-when-changing-repository-paths)发生的更多[信息](../index.html#redirects-when-changing-repository-paths) . - -#### Transferring an existing project into another namespace[](#transferring-an-existing-project-into-another-namespace "Permalink") - -**注意:**只有项目所有者和管理员用户才[有权](../../permissions.html#project-members-permissions)传输项目. - -在以下情况下,您可以将现有项目转移到[组中](../../group/index.html) : - -* 您至少对该组具有**维护者** [权限](../../permissions.html#project-members-permissions) . -* 您至少是要转让的项目的**所有者** . -* 将项目转移到的组必须允许创建新项目. - -转移项目: - -1. 导航到您项目的 **设置>常规** . -2. 在" **高级"下** ,单击" **展开"** . -3. 在"传输项目"下,选择要将项目传输到的名称空间. -4. 按照说明键入项目路径,以确认传输. - -完成后,您将被带到新项目的名称空间. 此时,请阅读[从旧项目到新项目](../index.html#redirects-when-changing-repository-paths)的[重定向](../index.html#redirects-when-changing-repository-paths)发生了什么. - -**注意:**如果需要,GitLab 管理员可以使用管理界面将任何项目移动到任何名称空间. - -#### Remove a project[](#remove-a-project "Permalink") - -**注意:**只有项目所有者和管理员才[有权](../../permissions.html#project-members-permissions)删除项目. - -删除项目: - -1. 导航到您的项目,然后选择 **设置>常规>高级** . -2. 在"删除项目"部分中,单击" **删除项目"**按钮. -3. 根据要求确认操作. - -这个动作: - -* 删除包含所有相关资源(问题,合并请求等)的项目. -* 从[Premium 或 Silver](https://about.gitlab.com/pricing/)或更高级别的[GitLab 13.2](https://gitlab.com/gitlab-org/gitlab/-/issues/220382) ,组管理员可以[将](../../group/index.html#enabling-delayed-project-removal-premium)组内的项目[配置](../../group/index.html#enabling-delayed-project-removal-premium)为在延迟一段时间后删除. 启用后,实际删除将在[实例设置中](../../admin_area/settings/visibility_and_access_controls.html#default-deletion-adjourned-period-premium-only)指定的天数后发生. - -**Warning:** The default behavior of [Delayed Project deletion](https://gitlab.com/gitlab-org/gitlab/-/issues/32935) in GitLab 12.6 was changed to [Immediate deletion](https://gitlab.com/gitlab-org/gitlab/-/issues/220382) in GitLab 13.2. - -#### Restore a project[](#restore-a-project-premium "Permalink") - -在 GitLab 12.6 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/32935) . - -要还原标记为删除的项目: - -1. 导航到您的项目,然后选择 **设置>常规>高级** . -2. 在"还原项目"部分中,单击" **还原项目"**按钮. - -#### Removing a fork relationship[](#removing-a-fork-relationship "Permalink") - -分叉是为您不是会员[的项目](../repository/forking_workflow.html)做[贡献](../repository/forking_workflow.html)的好方法. 如果您想自己使用 fork,而无需将[合并请求](../merge_requests.html)发送到上游项目,则可以安全地删除 fork 关系. - -**注意:**删除后,将无法恢复派生关系. 您将不再能够将合并请求发送到源,并且如果有人分叉了您的项目,他们的分支也将失去关系. - -为此: - -1. 导航到项目的**设置>常规>高级** . -2. 在" **删除分叉关系"下** ,单击同样标记的按钮. -3. 按照说明键入项目的路径,以确认操作. - -**注意:**只有项目所有者[有权](../../permissions.html#project-members-permissions)删除派生关系. - -## Operations settings[](#operations-settings "Permalink") - -### Error Tracking[](#error-tracking "Permalink") - -配置错误跟踪以[在 GitLab 中](../operations/error_tracking.html)发现和查看[Sentry 错误](../operations/error_tracking.html) . - -### Jaeger tracing[](#jaeger-tracing-ultimate "Permalink") - -添加 Jaeger 服务器的 URL,以使您的用户可以[从 GitLab 轻松访问 Jaeger UI](../../../operations/tracing.html) . - -### Status Page[](#status-page "Permalink") - -[添加存储凭据](../status_page/#syncing-incidents-to-the-status-page)以启用将公共问题同步到已[部署状态页面的功能](../status_page/#status-page-project) . \ No newline at end of file diff --git a/docs/168.md b/docs/168.md deleted file mode 100644 index 78ed810..0000000 --- a/docs/168.md +++ /dev/null @@ -1,172 +0,0 @@ -# Project import/export - -> 原文:[https://docs.gitlab.com/ee/user/project/settings/import_export.html](https://docs.gitlab.com/ee/user/project/settings/import_export.html) - -* [Important notes](#important-notes) -* [Version history](#version-history) - * [13.0+](#130) - * [12.x](#12x) -* [Between CE and EE](#between-ce-and-ee) -* [Exported contents](#exported-contents) -* [Exporting a project and its data](#exporting-a-project-and-its-data) -* [Importing the project](#importing-the-project) - * [Project import status](#project-import-status) - * [Import large projects](#import-large-projects-core-only) -* [Rate limits](#rate-limits) - -# Project import/export[](#project-importexport "Permalink") - -版本历史 - -* 在 GitLab 8.9 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/3050) . -* 从 GitLab 10.0,管理员可以在 GitLab 实例上禁用项目导出选项. - -可以将在任何 GitLab 实例或 GitLab.com 上运行的现有项目及其所有相关数据导出,并移入新的 GitLab 实例. - -如果启用了项目导入选项,则会显示**GitLab 导入/导出**按钮. - -也可以看看: - -* [Project import/export API](../../../api/project_import_export.html) -* [Project import/export administration Rake tasks](../../../administration/raketasks/project_import_export.html) -* [Group import/export](../../group/settings/import_export.html) -* [Group import/export API](../../../api/group_import_export.html) - -设置项目导入/导出: - -1. 导航 **管理区>** **设置>可见性和访问控制** . -2. 滚动到**导入源** -3. 启用所需的**导入源** - -## Important notes[](#important-notes "Permalink") - -请注意以下几点: - -* 不支持从较新版本的 GitLab 导入. 导入的 GitLab 版本必须大于或等于导出的 GitLab 版本. -* 除非导入和导出 GitLab 实例与[版本历史记录中](#version-history)描述的兼容,否则导入将失败. -* 导出存储在一个临时[共享目录中](../../../development/shared_files.html) ,并由特定工作人员每 24 小时删除一次. -* 只要用户对所导出项目所在的组具有维护者或管理员访问权限,组成员就会作为项目成员导出. -* 具有所有者访问权限的项目成员将被导入为维护者. -* 使用管理员帐户导入将通过电子邮件地址映射用户(仅限自我管理). 否则,将留下补充评论,以提及原始作者和 MR,注释或问题将归进口商所有. -* 如果导入的项目包含源自派生的合并请求,则将在导入/导出期间在项目内创建与此类合并请求关联的新分支. 因此,导出项目中的分支数量可能会大于原始项目中的分支数量. - -## Version history[](#version-history "Permalink") - -### 13.0+[](#130 "Permalink") - -从 GitLab 13.0 开始,GitLab 可以导入从其他 GitLab 部署导出的捆绑软件. 此功能仅限于之前的两个 GitLab [次要](../../../policy/maintenance.html#versioning)发行版,这与我们的[安全发布](../../../policy/maintenance.html#security-releases)流程类似. - -例如: - -| 当前版本 | 可以导入从 | -| --- | --- | -| 13.0 | 13.0, 12.10, 12.9 | -| 13.1 | 13.1, 13.0, 12.10 | - -### 12.x[](#12x "Permalink") - -在 13.0 之前,这是一个已定义的兼容性表: - -| 导出 GitLab 版本 | 导入 GitLab 版本 | -| --- | --- | -| 11.7 至 12.10 | 11.7 至 12.10 | -| 11.1 至 11.6 | 11.1 至 11.6 | -| 10.8 至 11.0 | 10.8 至 11.0 | -| 10.4 至 10.7 | 10.4 至 10.7 | -| 10.3 | 10.3 | -| 10.0 至 10.2 | 10.0 至 10.2 | -| 9.4 至 9.6 | 9.4 至 9.6 | -| 9.2 至 9.3 | 9.2 至 9.3 | -| 8.17 至 9.1 | 8.17 至 9.1 | -| 8.13 至 8.16 | 8.13 至 8.16 | -| 8.12 | 8.12 | -| 8.10.3 至 8.11 | 8.10.3 至 8.11 | -| 8.10.0 至 8.10.2 | 8.10.0 至 8.10.2 | -| 8.9.5 至 8.9.11 | 8.9.5 至 8.9.11 | -| 8.9.0 至 8.9.4 | 8.9.0 至 8.9.4 | - -只能在具有匹配导入/导出版本的 GitLab 版本之间导出和导入项目. - -例如,8.10.3 和 8.11 具有相同的导入/导出版本(0.1.3),它们之间的导出将兼容. - -## Between CE and EE[](#between-ce-and-ee "Permalink") - -您可以将项目从[Community Edition](https://about.gitlab.com/install/ce-or-ee/)导出[到 Enterprise Edition](https://about.gitlab.com/install/ce-or-ee/) ,反之亦然. 假定满足[版本历史记录](#version-history)要求. - -如果要将项目从企业版导出到社区版,则可能会丢失仅保留在企业版中的数据. 有关更多信息,请参阅[从 EE 降级为 CE](../../../README.html) . - -## Exported contents[](#exported-contents "Permalink") - -将导出以下项目: - -* 项目和 Wiki 存储库 -* 项目上传 -* 项目配置,不包括集成 -* 注释问题,带有差异和注释的合并请求,标签,里程碑,摘要,时间跟踪和其他项目实体 -* 设计管理文件和数据 -* LFS 对象 -* 发行板 -* 管道历史 - -以下项目将不会导出: - -* 建立痕迹和工件 -* 容器注册表映像 -* 可变配置项 -* Webhooks -* 任何加密令牌 -* 合并请求批准者 -* 推送规则 -* Awards - -**注意:**有关项目导出中[`import_export.yml`](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/import_export/project/import_export.yml)的特定数据的更多详细信息,请参阅[`import_export.yml`](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/import_export/project/import_export.yml)文件. - -## Exporting a project and its data[](#exporting-a-project-and-its-data "Permalink") - -1. 转到项目的主页. - -2. 请点击 侧栏中的**设置** . - -3. 向下滚动以找到" **导出项目"**按钮: - - [![Export button](img/5f6c85f0240f3ec56519dde74a715dba.png)](img/import_export_export_button.png) - -4. 生成导出后,您应该会收到一封电子邮件,其中包含用于下载文件的链接: - - [![Email download link](img/3e903eab58c2b1ac777ef30adf3bd44e.png)](img/import_export_mail_link.png) - -5. 或者,您可以返回项目设置并从那里下载文件,或生成新的导出. 文件可用后,页面应显示" **下载导出"**按钮: - - [![Download export](img/0b5158f524983df0ee4e4aa152abcc86.png)](img/import_export_download_export.png) - -## Importing the project[](#importing-the-project "Permalink") - -1. 在创建新项目时,GitLab 项目导入功能是第一个导入选项. 点击**GitLab 导出** : - - [![New project](img/abdf7941c6dc575d115b24d74a80a68b.png)](img/import_export_new_project.png) - -2. 输入您的项目名称和 URL. 然后选择您之前导出的文件: - - [![Select file](img/7356a350b6fac674fc341d110380f723.png)](img/import_export_select_file.png) - -3. 单击**导入项目**开始导入. 您新导入的项目页面将很快出现. - -**注意:**如果" `Internal`可见性级别[的使用受到限制](../../../public_access/public_access.html#restricting-the-use-of-public-or-internal-projects) ,则所有导入的项目都将获得" `Private`的可见性.**注意:**可以由管理员设置最大导入文件大小,默认为 50MB. 作为管理员,您可以修改最大导入文件大小. 为此,请在" [应用程序设置" API](../../../api/settings.html#change-application-settings)或" [管理界面"中](../../admin_area/settings/account_and_limit_settings.html)使用`max_import_size`选项. - -### Project import status[](#project-import-status "Permalink") - -您可以通过[Project import / export API](../../../api/project_import_export.html#import-status)查询导入. 如 API 文档中所述,查询可能返回导入错误或异常. - -### Import large projects[](#import-large-projects-core-only "Permalink") - -如果您的项目较大,请考虑使用 Rake 任务,如[开发人员文档中所述](../../../development/import_project.html#importing-via-a-rake-task) . - -## Rate limits[](#rate-limits "Permalink") - -为了避免滥用,用户的速率仅限于: - -| 请求类型 | Limit | -| --- | --- | -| Export | 每 5 分钟 30 个项目 | -| 下载导出 | 每 10 分钟有 10 个下载项目 | -| Import | 每 5 分钟 30 个项目 | \ No newline at end of file diff --git a/docs/169.md b/docs/169.md deleted file mode 100644 index b6eaea4..0000000 --- a/docs/169.md +++ /dev/null @@ -1,77 +0,0 @@ -# Project access tokens (Alpha) - -> 原文:[https://docs.gitlab.com/ee/user/project/settings/project_access_tokens.html](https://docs.gitlab.com/ee/user/project/settings/project_access_tokens.html) - -* [Creating a project access token](#creating-a-project-access-token) -* [Project bot users](#project-bot-users) -* [Revoking a project access token](#revoking-a-project-access-token) -* [Limiting scopes of a project access token](#limiting-scopes-of-a-project-access-token) - * [Enable or disable project access tokens](#enable-or-disable-project-access-tokens) - -# Project access tokens (Alpha)[](#project-access-tokens-alpha-core-only "Permalink") - -**警告:**这是[Alpha](https://about.gitlab.com/handbook/product/#alpha)功能,随时可能更改,恕不另行通知.版本历史 - -* 在 GitLab 13.0 中[引入](https://gitlab.com/groups/gitlab-org/-/epics/2587) . -* 它部署在功能标记后面,默认情况下处于禁用状态. -* 在 GitLab.com 上已禁用. -* 要在 GitLab 自管实例中使用它,请让 GitLab 管理员[启用它](#enable-or-disable-project-access-tokens) . - -项目访问令牌的范围仅限于项目,可用于通过[GitLab API](../../../api/README.html#personalproject-access-tokens)进行身份验证. - -您还可以将项目访问令牌与 Git 一起使用,以通过 HTTP 或 SSH 进行身份验证. - -项目访问令牌在您定义的日期 UTC 午夜到期. - -有关如何使用项目访问令牌对 API 进行身份验证的示例,请参见[API 文档中](../../../api/README.html#personalproject-access-tokens)的以下部分. - -## Creating a project access token[](#creating-a-project-access-token "Permalink") - -1. 登录到 GitLab. -2. 导航至您要为其创建访问令牌的项目. -3. 在里面 **在设置**菜单中,选择**访问令牌** . -4. 选择令牌的名称和可选的到期日期. -5. 选择[所需的范围](#limiting-scopes-of-a-project-access-token) . -6. 单击**创建项目访问令牌**按钮. -7. 将项目访问令牌保存在安全的地方. 离开或刷新页面后,将无法再次访问它. - -## Project bot users[](#project-bot-users "Permalink") - -对于创建的每个项目访问令牌,还将创建一个机器人用户,并将其添加到具有["维护者"级别权限](../../permissions.html#project-members-permissions)的项目中. 使用项目访问令牌进行的 API 调用将与相应的 bot 用户相关联. - -这些用户将出现在" **成员"中,**但不能被修改. 此外,该漫游器用户无法添加到任何其他项目. - -[吊销](#revoking-a-project-access-token)项目访问令牌后,该漫游器用户将被删除,所有记录都将被移动到用户名" Ghost User"的系统范围内的用户. 有关更多信息,请参见[关联记录](../../profile/account/delete_account.html#associated-records) . - -## Revoking a project access token[](#revoking-a-project-access-token "Permalink") - -您可以随时通过单击相应的" **撤消"**按钮来撤消任何项目访问令牌. **设置>访问令牌** . - -## Limiting scopes of a project access token[](#limiting-scopes-of-a-project-access-token "Permalink") - -可以使用一个或多个范围创建项目访问令牌,这些范围允许给定令牌可以执行各种操作. 下表描述了可用范围. - -| Scope | Description | -| --- | --- | -| `api` | 授予对范围内的项目 API 的完全读取/写入访问权限. | -| `read_api` | 授予对范围内的项目 API 的读取权限. | -| `read_registry` | 如果项目是私有的并且需要授权,则允许对[容器注册表](../../packages/container_registry/index.html)图像的读取(拉). | -| `write_registry` | 允许对[容器注册表](../../packages/container_registry/index.html)进行写访问(推送). | -| `read_repository` | 允许对存储库进行只读访问(拉). | -| `write_repository` | 允许对存储库进行读写访问(拉,推). | - -### Enable or disable project access tokens[](#enable-or-disable-project-access-tokens "Permalink") - -项目访问令牌是[Alpha](https://about.gitlab.com/handbook/product/#alpha)功能,不建议用于生产环境. 它部署在**默认情况下禁用**的功能标志的后面. [有权访问 GitLab Rails 控制台的 GitLab 管理员](../../../administration/feature_flags.html)可以为您的实例启用它. - -To enable it: - -``` -Feature.enable(:resource_access_token) -``` - -禁用它: - -``` -Feature.disable(:resource_access_token) -``` \ No newline at end of file diff --git a/docs/170.md b/docs/170.md deleted file mode 100644 index 1c26d2e..0000000 --- a/docs/170.md +++ /dev/null @@ -1,58 +0,0 @@ -# Share Projects with other Groups - -> 原文:[https://docs.gitlab.com/ee/user/project/members/share_project_with_groups.html](https://docs.gitlab.com/ee/user/project/members/share_project_with_groups.html) - -* [Groups as collections of users](#groups-as-collections-of-users) -* [Sharing a project with a group of users](#sharing-a-project-with-a-group-of-users) -* [Maximum access level](#maximum-access-level) -* [Sharing public project with private group](#sharing-public-project-with-private-group) -* [Share project with group lock](#share-project-with-group-lock) - -# Share Projects with other Groups[](#share-projects-with-other-groups "Permalink") - -您可以与其他[小组](../../group/index.html)共享项目. 这样就可以通过一个操作将一组用户添加到项目中. - -## Groups as collections of users[](#groups-as-collections-of-users "Permalink") - -组主要用于[创建项目集合](../../group/index.html) ,但是您还可以利用以下事实:组定义了*用户*集合,即组成员. - -## Sharing a project with a group of users[](#sharing-a-project-with-a-group-of-users "Permalink") - -在 GitLab 中授予一组用户(例如"工程")访问项目(例如" Acme 项目")的主要机制是使"工程"组成为" Project Acme"的所有者. 但是,如果" Acme 项目"已经属于另一个小组,比如"开源",该怎么办? 这是可以使用组共享功能的地方. - -与"工程"组共享" Acme 项目": - -1. 对于" Acme 项目",请使用左侧导航菜单转到" **会员"** - - [![share project with groups](img/0d1c10a8d14f11dd831b96878fc521e5.png)](img/share_project_with_groups.png) - -2. 选择"与组共享"标签 -3. 添加具有您选择的最大访问权限级别的"工程"组 -4. 点击**共享**分享 - - [![share project with groups tab](img/0e2287fb4b32bf9dff45f3255ddd45fe.png)](img/share_project_with_groups_tab.png) - -5. 与"工程"共享"项目 Acme"后,该项目将列在组仪表板上 - - [!['Project Acme' is listed as a shared project for 'Engineering'](img/000b14e609fee563642c55e238caca88.png)](img/other_group_sees_shared_project.png) - -请注意,您只能与以下项目共享一个项目: - -* 您具有明确定义的成员资格的组 -* 包含嵌套子组或项目的组,您对其具有明确定义的角色 - -管理员可以与系统中的任何组共享项目. - -## Maximum access level[](#maximum-access-level "Permalink") - -在上面的示例中,"工程"成员的最大"开发人员"访问级别意味着"工程"中具有较高访问级别的用户("维护者"或"所有者")将仅对" Acme 项目"具有"开发者"访问权限'. - -## Sharing public project with private group[](#sharing-public-project-with-private-group "Permalink") - -与私有组共享公共项目时,项目的所有者和维护者将在`members`页面上看到该组的名称. 所有者还可以在问题或合并请求中提及他们时,可以看到他们无权访问的私人群组的成员. - -## Share project with group lock[](#share-project-with-group-lock "Permalink") - -可以防止一个组中[的项目与另一个组共享一个项目](../members/share_project_with_groups.html) . 这样可以更严格地控​​制项目访问. - -了解更多有关[使用组锁共享的信息](../../group/index.html#share-with-group-lock) . \ No newline at end of file diff --git a/docs/171.md b/docs/171.md deleted file mode 100644 index 5007724..0000000 --- a/docs/171.md +++ /dev/null @@ -1,133 +0,0 @@ -# Snippets - -> 原文:[https://docs.gitlab.com/ee/user/snippets.html](https://docs.gitlab.com/ee/user/snippets.html) - -* [Personal snippets](#personal-snippets) -* [Project snippets](#project-snippets) -* [Create a snippet](#create-a-snippet) -* [Versioned Snippets](#versioned-snippets) - * [File names](#file-names) - * [Cloning snippets](#cloning-snippets) - * [Limitations](#limitations) -* [Discover snippets](#discover-snippets) -* [Snippet comments](#snippet-comments) -* [Downloading snippets](#downloading-snippets) -* [Embedded snippets](#embedded-snippets) - -# Snippets[](#snippets "Permalink") - -借助 GitLab 代码片段,您可以存储和与其他用户共享代码和文本. - -[![GitLab Snippet](img/677d8f883392679f3fba97024a259665.png)](img/gitlab_snippet_v13_0.png) - -可以使用[摘要 API](../api/snippets.html)来维护[摘要](../api/snippets.html) . - -片段类型有两种: - -* 个人摘要. -* 项目摘要. - -## Personal snippets[](#personal-snippets "Permalink") - -个人代码段与任何项目均无关,可以完全独立地创建. 可以设置 3 种可见性级别,公共,内部和私有. 有关更多信息,请参见[公共访问](../public_access/public_access.html) . - -## Project snippets[](#project-snippets "Permalink") - -项目摘要始终与特定项目相关. 有关更多信息,请参见[项目功能](project/index.html#project-features) . - -## Create a snippet[](#create-a-snippet "Permalink") - -要创建个人代码段,请点击加号图标( ),然后从下拉菜单中选择" **新建代码段** ": - -[![New personal snippet from non-project pages](img/169af1eb67d287048e2bd4de1d3a178a.png)](img/new_personal_snippet_v12_10.png) - -如果您在项目页面上,但要创建一个新的个人代码段,请点击加号图标( ),然后从下拉菜单的下部选择**新代码段** (在 GitLab.com 上为**GitLab** ;在自托管实例上为**您的**实例): - -[![New personal snippet from project pages](img/ee04e8247fff074d8b122d6b5ec848f4.png)](img/new_personal_snippet_from_project_v12_10.png) - -要创建项目摘要,请导航到您的项目页面,然后点击加号图标( ),然后从下拉菜单的上方选择**新建代码段** ( **此项目** ). - -[![New personal snippet from project pages](img/ea0e34b1e4e7a7a6379bc52995143bf9.png)](img/new_project_snippet_from_project_v12_10.png) - -从那里添加**Title** , **Description**和带有适当扩展名的**文件**名(例如`example.rb` , `index.html` ). - -**警告:**确保添加文件名以突出显示代码并避免此[粘贴错误](https://gitlab.com/gitlab-org/gitlab/-/issues/22870) . - -## Versioned Snippets[](#versioned-snippets "Permalink") - -在 GitLab 13.0 中[引入](https://gitlab.com/groups/gitlab-org/-/epics/239) . - -从 13.0 开始,片段(个人片段和项目片段)默认都启用了版本控制. - -这意味着在创建代码段时,所有代码段都将获得自己的基础存储库,并使用`master`分支进行初始化. 每当保存对代码段的更改时,都会记录对 master 分支的新提交. 提交消息是自动生成的. 该代码段的存储库默认情况下只有一个分支(母版),不支持将其删除或创建其他分支. - -现有代码段将在 13.0 中自动迁移. 它们的当前内容将被保存为对代码段存储库的初始提交. - -### File names[](#file-names "Permalink") - -代码段支持基于为其提供的文件名和扩展名突出显示语法. 尽管可以在不指定文件名和扩展名的情况下提交代码段,但它需要一个有效的名称,以便可以将内容作为文件创建在代码段的存储库中. - -如果用户未将文件名和扩展名归于代码段,则 GitLab 会自动以`snippetfile<x>.txt`格式添加文件名,其中`<x>`代表添加到文件的数字,从 1 开始.添加了更多没有属性文件名的代码段. - -从早期版本的 GitLab 升级到 13.0 时,不支持文件名的现有代码片段将重命名为兼容格式. 例如,如果代码段的文件名是`http://a-weird-filename.me` ,它将被更改为`http-a-weird-filename-me` ,以包含在代码段的存储库中. 由于代码段是通过 ID 存储的,因此更改其文件名不会破坏该代码段的直接链接或嵌入式链接. - -### Cloning snippets[](#cloning-snippets "Permalink") - -可以使用 SSH 或 HTTPS 将片段克隆为常规的 Git 存储库. 单击摘要内容上方的" **复制"**按钮以复制您选择的 URL. - -[![Clone Snippet](img/ed5a96971ab453e6d33b3ad9079bd47c.png)](img/snippet_clone_button_v13_0.png) - -这使您可以获取代码段存储库的本地副本,并根据需要进行更改. 您可以提交这些更改并将其推送到远程 master 分支. - -### Limitations[](#limitations "Permalink") - -* 不支持二进制文件. -* 不支持创建或删除分支. 只有默认的*主人* . 使用分支. -* 代码段存储库中不支持 Git 标签. -* 片段的存储库仅限于一个文件. 尝试推送多个文件将导致错误. -* 修订在 GitLab UI 上对用户*尚不*可见,但计划在以后的迭代中添加. 有关更新,请参见[修订标签问题](https://gitlab.com/gitlab-org/gitlab/-/issues/39271) . -* 默认情况下, [摘要](../administration/snippets/index.html#snippets-content-size-limit)的[最大大小为](../administration/snippets/index.html#snippets-content-size-limit) 50 MB. - -## Discover snippets[](#discover-snippets "Permalink") - -在 GitLab 中发现片段的主要方法有两种. - -要浏览对您可见的所有代码片段,您可以通过顶部导航转到 GitLab 实例的代码片段仪表板. 对于 GitLab.com,您可以在[这里](https://gitlab.com/dashboard/snippets)找到它. 这会将您导航到一个概述,该概述显示您创建的摘要,并允许您浏览所有摘要. - -如果要发现属于特定项目的摘录,则可以通过项目页面上的左侧导航导航到摘录页面. 项目片段被启用,默认情况下可用,但他们可以通过导航到项目的**设置** ,扩大**知名度,项目功能,权限**和向下滚动到**片段**被禁用. 从那里,您可以切换以禁用它们,或从下拉菜单中选择其他可见性级别. - -## Snippet comments[](#snippet-comments "Permalink") - -在 GitLab 9.2 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/12910) . - -使用 GitLab 代码片段,您可以参与有关该代码段的对话,从而促进用户之间的协作. - -## Downloading snippets[](#downloading-snippets "Permalink") - -您可以下载代码段的原始内容. - -默认情况下,将下载带有 Linux 样式的行尾( `LF` )的代码段. 如果要保留原始的行尾,则需要添加参数`line_ending=raw` (例如, `https://gitlab.com/snippets/SNIPPET_ID/raw?line_ending=raw` : `line_ending=raw` ). 如果使用 GitLab Web 界面创建了代码段,则原始行结尾类似于 Windows( `CRLF` ). - -## Embedded snippets[](#embedded-snippets "Permalink") - -在 GitLab 10.8 中引入. - -公开片段不仅可以共享,还可以嵌入任何网站中. 这样,您可以在多个地方重用 GitLab 代码段,并且对源代码的任何更改都会自动反映在嵌入式代码段中. - -To embed a snippet, first make sure that: - -* 该项目是公开的(如果是项目摘要) -* 摘要是公开的 -* 在" **项目">"设置">"权限"中** ,将片段权限设置为" **具有访问**权限的**所有人"** - -满足以上条件后,"嵌入"部分将出现在您的代码片段中,您只需单击"复制"按钮即可. 这将复制一个单行脚本,您可以将其添加到任何网站或博客文章中. - -示例代码如下所示: - -``` -<script src="https://gitlab.com/namespace/project/snippets/SNIPPET_ID.js"></script> -``` - -嵌入式代码段的外观如下: - -嵌入的代码片段带有一个标题,该标题显示文件名(如果已定义),代码片段大小,到 GitLab 的链接以及实际的代码片段内容. 标头中的操作使用户可以查看原始格式的代码段并下载. \ No newline at end of file diff --git a/docs/172.md b/docs/172.md deleted file mode 100644 index d32e3f0..0000000 --- a/docs/172.md +++ /dev/null @@ -1,83 +0,0 @@ -# Static Site Editor - -> 原文:[https://docs.gitlab.com/ee/user/project/static_site_editor/](https://docs.gitlab.com/ee/user/project/static_site_editor/) - -* [Use cases](#use-cases) -* [Requirements](#requirements) -* [How it works](#how-it-works) -* [Getting started](#getting-started) - * [Set up your project](#set-up-your-project) - * [Use the Static Site Editor to edit your content](#use-the-static-site-editor-to-edit-your-content) -* [Limitations](#limitations) - -# Static Site Editor[](#static-site-editor "Permalink") - -版本历史 - -* 在 GitLab 12.10 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28758) . -* 在 GitLab 13.0 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/214559)了所见即所得的编辑器. -* 支持通过 GitLab 13.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/216640)的 WYSIWYG 编辑器添加图像. -* Markdown 前端问题隐藏在 GitLab 13.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/216834)的 WYSIWYG 编辑器中. -* 支持 GitLab 13.2 中[引入的](https://gitlab.com/gitlab-org/gitlab/-/issues/223171) `*.md.erb`文件. - -**危险:**在 GitLab 13.0 中,我们对静态站点编辑器的 URL 结构进行了[重大更改](https://gitlab.com/gitlab-org/gitlab/-/issues/213282) . 请按照此[代码段中](https://gitlab.com/gitlab-org/project-templates/static-site-editor-middleman/snippets/1976539)的说明使用最新更改来更新您的项目. - -静态站点编辑器使用户可以在静态网站上编辑内容,而无需事先了解基础模板语言,站点体系结构或 Git 命令. 您的项目的贡献者可以快速编辑 Markdown 页面,并将更改提交审核. - -## Use cases[](#use-cases "Permalink") - -静态站点编辑器允许协作者无缝地将更改提交到静态站点文件. 例如: - -* 非技术合作者可以直接从浏览器中轻松编辑页面; 他们不需要知道 Git 和您的项目的详细信息就能做出贡献. -* 最近雇用的团队成员可以快速编辑内容. -* 临时协作者可以从一个项目跳到另一个项目并快速编辑页面,而不必克隆或派生需要提交更改的每个项目. - -## Requirements[](#requirements "Permalink") - -* 为了使用静态站点编辑器功能,您的项目需要使用[静态站点编辑器 Middleman 模板](https://gitlab.com/gitlab-org/project-templates/static-site-editor-middleman)进行预配置. -* 该编辑器需要登录到 GitLab,并且必须是该项目的成员(具有 Developer 或更高权限级别). - -## How it works[](#how-it-works "Permalink") - -静态网站编辑器尚处于开发的早期阶段,目前仅适用于 Middleman 网站. 您必须使用特定的站点模板才能开始使用它. 项目模板配置为使用[GitLab Pages](../pages/index.html)部署[Middleman](https://middlemanapp.com/)静态网站. - -网站启动并运行后,您将在其页面的左下角看到一个" **编辑此页面"**按钮: - -[![Edit this page button](img/865915f0e39a0035ffc91de736f5a047.png)](img/edit_this_page_button_v12_10.png) - -单击它后,GitLab 将打开一个编辑器窗口,从中可以直接编辑内容. 准备就绪后,只需单击一下按钮即可提交更改: - -[![Static Site Editor](img/a7a0c433c6f01281a584ba08db57d159.png)](img/wysiwyg_editor_v13_0.png) - -当编辑者在后台提交更改时,GitLab 会自动创建一个新分支,提交更改并打开合并请求. 编辑者将直接进入合并请求,然后可以将其分配给同事进行审查. - -## Getting started[](#getting-started "Permalink") - -首先,设置项目. 完成后,您可以使用静态站点编辑器轻松地编辑您的内容. - -### Set up your project[](#set-up-your-project "Permalink") - -1. 首先,从" [静态站点编辑器-中间人"](https://gitlab.com/gitlab-org/project-templates/static-site-editor-middleman)模板创建一个新项目. 您可以将其[派生](../repository/forking_workflow.html#creating-a-fork)或[从模板创建一个新项目](../../../gitlab-basics/create-project.html#built-in-templates) . -2. 编辑`data/config.yml`文件,添加项目的路径. -3. 编辑文件将触发 CI / CD 管道,以使用 GitLab Pages 部署项目. -4. 管道完成后,从项目的左侧菜单转到**"设置">"页面"**以找到新网站的 URL. -5. 访问您的网站并查看屏幕的左下角,以查看新的" **编辑此页面"**按钮. - -满足[要求的](#requirements)任何人都可以编辑页面内容,而无需事先了解 Git 或您网站的代码库. - -**注意:**从 GitLab 13.1 开始,Markdown 文件的 YAML 前端问题被隐藏在 WYSIWYG 编辑器中,以避免意外更改. 要对其进行编辑,请使用 Markdown 编辑模式,常规的 GitLab 文件编辑器或 Web IDE. - -### Use the Static Site Editor to edit your content[](#use-the-static-site-editor-to-edit-your-content "Permalink") - -例如,假设您是一家大型公司的新近聘用的技术作家,并且该公司的产品已添加了新功能. - -1. 您被分配了更新文档的任务. -2. 您访问页面并看到需要编辑的内容. -3. 单击生产站点上的" **编辑此页面"**按钮. -4. 该文件在"静态站点编辑器"中以" **所见即所得"**模式打开. 如果您想编辑原始 Markdown,则可以在右下角切换**Markdown**模式. -5. 您在此处编辑文件,然后单击" **提交更改"** . -6. 将自动创建一个新的合并请求,然后将其分配给您的同事进行审核. - -## Limitations[](#limitations "Permalink") - -* 静态站点编辑器仍然不能快速添加到现有的 Middleman 站点. 跟随此[史诗](https://gitlab.com/groups/gitlab-org/-/epics/2784)进行更新. \ No newline at end of file diff --git a/docs/173.md b/docs/173.md deleted file mode 100644 index fce31d5..0000000 --- a/docs/173.md +++ /dev/null @@ -1,202 +0,0 @@ -# Wiki - -> 原文:[https://docs.gitlab.com/ee/user/project/wiki/](https://docs.gitlab.com/ee/user/project/wiki/) - -* [First time creating the Home page](#first-time-creating-the-home-page) -* [Creating a new wiki page](#creating-a-new-wiki-page) - * [Attachment storage](#attachment-storage) - * [Special characters in page titles](#special-characters-in-page-titles) - * [Length restrictions for file and directory names](#length-restrictions-for-file-and-directory-names) -* [Editing a wiki page](#editing-a-wiki-page) - * [Adding a table of contents](#adding-a-table-of-contents) -* [Deleting a wiki page](#deleting-a-wiki-page) -* [Moving a wiki page](#moving-a-wiki-page) -* [Viewing a list of all created wiki pages](#viewing-a-list-of-all-created-wiki-pages) -* [Viewing the history of a wiki page](#viewing-the-history-of-a-wiki-page) - * [Viewing the changes between page versions](#viewing-the-changes-between-page-versions) -* [Wiki activity records](#wiki-activity-records) - * [Limitations](#limitations) - * [Enable or disable Wiki Events](#enable-or-disable-wiki-events-core-only) -* [Adding and editing wiki pages locally](#adding-and-editing-wiki-pages-locally) -* [Customizing sidebar](#customizing-sidebar) - -# Wiki[](#wiki "Permalink") - -每个 GitLab 项目都内置了一个称为 Wiki 的独立文档系统. 默认情况下,所有新项目都启用此功能,您可以在项目的**Wiki**下找到它. - -如果您不想将文档保留在存储库中,但确实希望将其保留在代码所在的项目中,则 Wiki 非常方便. - -您可以在 Web 界面中或[使用 Git 在本地](#adding-and-editing-wiki-pages-locally)创建 Wiki 页面,因为每个 Wiki 都是单独的 Git 存储库. - -## First time creating the Home page[](#first-time-creating-the-home-page "Permalink") - -首次访问 Wiki 时,系统将指示您创建主页. 必须创建主页,因为它是查看 Wiki 时的登录页面. 您只需要填写**内容**部分,然后单击**创建页面** . 您以后可以随时对其进行编辑,因此继续写欢迎信息. - -[![New home page](img/909d20c0dd57155c8ac404a81c2a30cb.png)](img/wiki_create_home_page.png) - -## Creating a new wiki page[](#creating-a-new-wiki-page "Permalink") - -**注意:**需要开发者[权限](../../permissions.html) . - -通过单击可在所有 Wiki 页面中找到的" **新页面"**按钮来创建新页面. - -系统将要求您为新的 Wiki 页面填写标题. - -您可以通过在标题中使用" /"指示子目录来为 Wiki 页面指定完整路径. 任何丢失的目录将自动创建. 例如, `docs/my-page`的标题将创建一个 Wiki 页面,其路径为`/wikis/docs/my-page` . - -输入页面名称后,就该填写其内容了. GitLab Wiki 支持 Markdown,RDoc,AsciiDoc 和 Org. 对于基于 Markdown 的页面,所有[Markdown 功能](../../markdown.html)均受支持,对于链接,则存在一些[特定](../../markdown.html#wiki-specific-markdown)于[Wiki 的](../../markdown.html#wiki-specific-markdown)行为. - -在 Web 界面中,提交消息是可选的,但是 GitLab Wiki 是基于 Git 的,并且需要提交消息,因此如果您不输入消息,则会为您创建一条. - -When you’re ready, click the **建立页面** and the new page will be created. - -[![New page](img/0a61445809db70ca6bf85d986bf52223.png)](img/wiki_create_new_page.png) - -### Attachment storage[](#attachment-storage "Permalink") - -在 GitLab 11.3 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/33475) . - -从 GitLab 11.3 开始,通过 GitLab 界面上载到 Wiki 的任何文件都将存储在 Wiki Git 存储库中,如果您在本地克隆 Wiki 存储库,该文件将可用. GitLab 11.3 之前的所有上传文件都存储在 GitLab 本身中. 如果希望它们成为 Wiki 的 Git 存储库的一部分,则必须再次上传它们. - -### Special characters in page titles[](#special-characters-in-page-titles "Permalink") - -Wiki 页面作为文件存储在 Git 存储库中,因此某些字符具有特殊含义: - -* 存储页面时,空格会转换为连字符. -* 显示页面时,连字符( `-` )转换回空格. -* 不能使用斜杠( `/` ),因为它们用作路径分隔符. - -### Length restrictions for file and directory names[](#length-restrictions-for-file-and-directory-names "Permalink") - -在 GitLab 12.8 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/24364) . - -许多常见的文件系统[的文件名和目录名限制为 255 个字节](https://en.wikipedia.org/wiki/Comparison_of_file_systems#Limits) ,尽管 Git 和 GitLab 都支持超出这些限制的路径,但是它们的存在使这些文件系统上的用户无法在本地检出 Wiki 存储库. - -为了避免这种情况,通过 GitLab Web 界面和 API 编辑页面时会强制执行以下限制: - -* 页面标题为 245 个字节(文件扩展名保留 10 个字节). -* 255 个字节的目录名称. - -请注意: - -* 非 ASCII 字符占用多个字节. -* 仍然可以通过 Git 在本地创建超出限制的文件和目录,但这可能会在其他人的计算机上中断. - -## Editing a wiki page[](#editing-a-wiki-page "Permalink") - -**注意:**需要开发者[权限](../../permissions.html) . - -要编辑页面,只需单击" **编辑"**按钮. 从那里开始,您可以更改其内容. 完成后,单击" **保存更改"**以使更改生效. - -### Adding a table of contents[](#adding-a-table-of-contents "Permalink") - -要从 Wiki 页面中的标题生成目录,请使用`[[_TOC_]]`标签. 有关示例,请参阅[目录](../../markdown.html#table-of-contents) . - -## Deleting a wiki page[](#deleting-a-wiki-page "Permalink") - -**注意:**需要维护者[权限](../../permissions.html) . - -仅在编辑页面时才能找到" **删除"**按钮. 单击它并确认您要删除页面. - -## Moving a wiki page[](#moving-a-wiki-page "Permalink") - -通过在[编辑](#editing-a-wiki-page)表单的 Wiki 页面标题中指定完整路径,可以将 Wiki 页面从一个目录移动到另一个目录. - -[![Moving a page](img/7a0180479e056fe1c4aa11c3e8684906.png)](img/wiki_move_page_1.png) - -[![After moving a page](img/70117ebf119dd375e0def463921cc363.png)](img/wiki_move_page_2.png) - -为了将 Wiki 页面移动到根目录,必须在 Wiki 页面标题前加上斜杠( `/` )字符. - -## Viewing a list of all created wiki pages[](#viewing-a-list-of-all-created-wiki-pages "Permalink") - -每个 Wiki 都有一个侧边栏,从中可以找到所创建页面的简短列表. 该列表按字母顺序排列. - -[![Wiki sidebar](img/03d3f984ea7608322b1fd6a7feba47c0.png)](img/wiki_sidebar.png) - -如果页面很多,则不会在侧边栏中列出所有页面. 单击**查看所有页面**以**查看所有页面** . - -## Viewing the history of a wiki page[](#viewing-the-history-of-a-wiki-page "Permalink") - -Wiki 页面随时间的变化记录在 Wiki 的 Git 存储库中,您可以通过单击**Page history**按钮来查看它们. - -从历史记录页面中,您可以看到页面的修订版(Git commit SHA),其作者,提交消息以及上次更新时间. 要查看页面的先前版本的外观,请在" **页面版本"**列中单击修订号. - -[![Wiki page history](img/2fdc2024eee83764328fb015ffd4e392.png)](img/wiki_page_history.png) - -### Viewing the changes between page versions[](#viewing-the-changes-between-page-versions "Permalink") - -在 GitLab 13.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/15242) . - -类似于版本化的差异文件视图,您可以看到在给定的 Wiki 页面版本中所做的更改: - -1. 导航到您感兴趣的 Wiki 页面. -2. 单击**页面历史记录**以查看所有页面版本. -3. 单击" **更改"**列中的提交消息以获取您感兴趣的版本: - - [![Wiki page changes](img/9cc2ca9eb5afc113cacfbc529374fe3b.png)](img/wiki_page_diffs_v13_2.png) - -## Wiki activity records[](#wiki-activity-records "Permalink") - -版本历史 - -* 在 GitLab 12.10 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/14902) . -* 它部署在功能标记后面,默认情况下处于禁用状态. -* 在 GitLab.com 上启用了它. -* 要在 GitLab 自管实例中使用它,请让 GitLab 管理员[启用它](#enable-or-disable-wiki-events-core-only) . - -Wiki 事件(创建,删除和更新)由 GitLab 跟踪,并显示在[用户个人资料](../../profile/index.html#user-profile) , [组](../../group/index.html#view-group-activity)和[项目](../index.html#project-activity)活动页面上. - -### Limitations[](#limitations "Permalink") - -只有在浏览器中或通过 API 进行的编辑才会记录其活动. 当前在活动列表中未列出通过 Git 进行和推送的编辑. - -### Enable or disable Wiki Events[](#enable-or-disable-wiki-events-core-only "Permalink") - -Wiki 事件活动正在开发中,尚未准备好用于生产. 它部署在**默认情况下禁用**的功能标志的后面. [有权访问 GitLab Rails 控制台的 GitLab 管理员](../../../administration/troubleshooting/navigating_gitlab_via_rails_console.html#starting-a-rails-console-session)可以为您的实例启用它. 欢迎您对其进行测试,但使用风险自负. - -要启用它: - -``` -Feature.enable(:wiki_events) -``` - -禁用它: - -``` -Feature.disable(:wiki_events) -``` - -## Adding and editing wiki pages locally[](#adding-and-editing-wiki-pages-locally "Permalink") - -由于 Wiki 基于 Git 存储库,因此您可以像在其他所有 Git 存储库中一样在本地克隆它们并进行编辑. - -在右侧栏上,单击" **克隆存储库",**然后按照屏幕上的说明进行操作. - -根据您要使用的标记语言,您在本地添加到 Wiki 的文件必须具有以下受支持的扩展名之一,否则当推送到 GitLab 时将不会显示这些文件: - -* Markdown 扩展名: `.mdown` , `.mkd` , `.mkdn` , `.md` , `.markdown` . -* AsciiDoc 扩展名: `.adoc` , `.ad` , `.asciidoc` . -* 其他标记扩展名: `.textile` , `.rdoc` , `.org` , `.creole` , `.wiki` , `.mediawiki` , `.rst` . - -## Customizing sidebar[](#customizing-sidebar "Permalink") - -在项目的 Wiki 页面上,有一个右侧导航,默认情况下呈现带有层次结构的完整 Wiki 页面列表. - -要自定义边栏,您可以创建一个名为`_sidebar`的文件以完全替换默认导航. - -**警告:**除非您从自定义导航链接`_sidebar`文件,否则要进行编辑,必须输入以下内容直接从浏览器的地址栏中访问: `https://gitlab.com/<namespace>/<project_name>/-/wikis/_sidebar` : `_sidebar` /- `https://gitlab.com/<namespace>/<project_name>/-/wikis/_sidebar` (对于自我管理的 GitLab 实例,将`gitlab.com`替换为实例的 URL). - -`_sidebar`示例(使用 Markdown 格式): - -``` -### [Home](home) - - [Hello World](hello) -- [Foo](foo) -- [Bar](bar) - --- - -- [Sidebar](_sidebar) -``` - -计划支持使用自定义侧面导航显示生成的目录. \ No newline at end of file diff --git a/docs/174.md b/docs/174.md deleted file mode 100644 index f1cc067..0000000 --- a/docs/174.md +++ /dev/null @@ -1,17 +0,0 @@ -# Project operations - -> 原文:[https://docs.gitlab.com/ee/operations/](https://docs.gitlab.com/ee/operations/) - -# Project operations[](#project-operations "Permalink") - -manbetx 客户端打不开提供各种工具来帮助操作和维护您的应用程序: - -* Collect [Prometheus metrics](../user/project/integrations/prometheus_library/index.html). -* 部署到不同的[环境](../ci/environments/index.html) . -* 管理您的[警报](../user/project/operations/alert_management.html)和[事件](../user/incident_management/index.html) . -* 将您的项目连接到[Kubernetes 集群](../user/project/clusters/index.html) . -* 通过" [按代码实施](../user/infrastructure/index.html)基础[结构"](../user/infrastructure/index.html)管理基础[结构](../user/infrastructure/index.html) . -* 通过[错误跟踪](../user/project/operations/error_tracking.html)发现并查看由应用程序生成的[错误](../user/project/operations/error_tracking.html) . -* 创建,切换和删除[功能标记](feature_flags.html) . -* [跟踪](tracing.html)已部署应用程序的性能和运行状况. -* 更改" [监视仪表板](../user/project/operations/dashboard_settings.html) "的[设置](../user/project/operations/dashboard_settings.html) . \ No newline at end of file diff --git a/docs/175.md b/docs/175.md deleted file mode 100644 index c4fc416..0000000 --- a/docs/175.md +++ /dev/null @@ -1,108 +0,0 @@ -# Monitor metrics for your CI/CD environment - -> 原文:[https://docs.gitlab.com/ee/operations/metrics/](https://docs.gitlab.com/ee/operations/metrics/) - -* [Populate your metrics dashboard](#populate-your-metrics-dashboard) -* [Customize your metrics dashboard](#customize-your-metrics-dashboard) -* [Metrics dashboard visibility](#metrics-dashboard-visibility) -* [Adding custom metrics](#adding-custom-metrics) -* [Editing additional metrics from the dashboard](#editing-additional-metrics-from-the-dashboard) -* [Keyboard shortcuts for charts](#keyboard-shortcuts-for-charts) - -# Monitor metrics for your CI/CD environment[](#monitor-metrics-for-your-cicd-environment "Permalink") - -在[为群集配置 Prometheus](../../user/project/integrations/prometheus.html)之后,GitLab 会尝试在成功部署的任何[环境中](../../ci/environments/index.html)检索性能指标. - -GitLab 在 Prometheus 服务器上扫描来自 Kubernetes 和 NGINX 等已知服务器的指标,并尝试识别各个环境. 要了解有关支持的指标和扫描过程的更多信息,请参阅[Prometheus Metrics Library 文档](../../user/project/integrations/prometheus_library/index.html) . - -要查看已[完成至少一个部署](#populate-your-metrics-dashboard)的环境的指标仪表板,请执行[以下操作](#populate-your-metrics-dashboard) : - -1. *如果指标仪表盘仅对项目成员可见,请以项目成员*身份登录到 GitLab. 了解有关[指标仪表板可见性的](#metrics-dashboard-visibility)更多[信息](#metrics-dashboard-visibility) . -2. 在您的项目中,导航到 **操作>指标** . - -GitLab 显示环境的默认指标仪表板,如以下示例所示: - -[![Example of metrics dashboard](img/b12f4326b7cccf6e82c375163842f58e.png)](img/example-dashboard_v13_1.png) - -仪表板的顶部包含一个导航栏. 从左到右,导航栏包含: - -* **仪表板** -项目可用的所有仪表板的下拉列表,其中加星标的仪表板排在最前面. -* **环境** -所有[环境的](../index.html)下拉列表,可在您键入时搜索所有环境. -* **范围** -要显示的数据的时间段. -* **刷新仪表板** -用当前数据重新加载仪表板. -* **设置刷新率** - Set a time frame for refreshing the data displayed. -* **明星仪表板** -单击以将仪表板标记为收藏夹. 已加星标的信息中心显示实心星 按钮,然后在" **仪表板"**下拉列表中首先显示. (在 GitLab 13.0 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/214582) .) -* **创建仪表板** - [为您的项目](dashboards/index.html#adding-a-new-dashboard-to-your-project)创建一个[新的自定义仪表板](dashboards/index.html#adding-a-new-dashboard-to-your-project) . -* **指标设置** -配置[此仪表板](dashboards/index.html#manage-the-metrics-dashboard-settings)的[设置](dashboards/index.html#manage-the-metrics-dashboard-settings) . - -## Populate your metrics dashboard[](#populate-your-metrics-dashboard "Permalink") - -在[为群集配置 Prometheus](../../user/project/integrations/prometheus.html)之后,您还必须为 **操作>指标**页面以包含数据. 设置[Auto DevOps](../../topics/autodevops/index.html)有助于快速创建部署: - -1. 导航到您项目的 **操作> Kubernetes**页面. -2. 确保除了 Prometheus 外,还安装了 Runner 和 Ingress. -3. 安装 Ingress 后,复制其端点. -4. Navigate to your project’s **设置> CI / CD** page. In the **自动 DevOps** section, select a deployment strategy and save your changes. -5. 在同一页上的" **变量"**部分中,添加一个名为`KUBE_INGRESS_BASE_DOMAIN`的变量, `KUBE_INGRESS_BASE_DOMAIN`包含您先前复制的 Ingress 端点的值. 将类型保留为**Variable** . -6. 导航到您项目的 **CI / CD>管道**页面,然后在任何分支上运行管道. -7. 管道成功运行后,图表将在 **操作>指标**页面. - -[![Monitoring Dashboard](img/1bce7244cd585ee6d059a7aa1903f194.png)](../../user/project/integrations/img/prometheus_monitoring_dashboard_v13_1.png) - -## Customize your metrics dashboard[](#customize-your-metrics-dashboard "Permalink") - -创建仪表板后,您可以对其进行自定义以满足您的需求: - -* **添加自定义指标** :除了 GitLab 默认指标之外,您还可以[创建自定义指标](#adding-custom-metrics)并将其显示在指标仪表板上. -* **配置指标警报** :当环境性能超出您设置的范围时,为团队[配置自定义警报](alerts.html) . -* **通过警报触发操作** : [为您的团队打开新问题](alerts.html#trigger-actions-from-alerts-ultimate) 当环境性能超出您设置的范围时. - -## Metrics dashboard visibility[](#metrics-dashboard-visibility "Permalink") - -在 GitLab 13.0 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/201924) . - -您可以将指标仪表板的可见性设置为" **仅项目成员"**或" **具有访问权限的所有人"** . 当设置为" **具有访问权的所有人"时** ,指标仪表板对于已认证和未认证的用户都是可见的. - -## Adding custom metrics[](#adding-custom-metrics "Permalink") - -版本历史 - -* 在[GitLab Premium](https://about.gitlab.com/pricing/) 10.6 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/3799) . -* [移至](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28527) [GitLab Core](https://about.gitlab.com/pricing/) 12.10\. - -可以通过在监控仪表板页面上添加自定义指标来对其进行监控. 保存它们后,它们将显示在环境指标仪表板上,前提是: - -* 使用具有匹配[环境范围的](../../ci/environments/index.html#scoping-environments-with-specs) [连接的 Kubernetes 群集](../../user/project/clusters/add_remove_clusters.html) ,并将[Prometheus 安装在群集上](../../user/project/integrations/prometheus.html#enabling-prometheus-integration) . -* Prometheus 是[手动配置的](../../user/project/integrations/prometheus.html#manual-configuration-of-prometheus) . - -[![Add New Metric](img/ecb68ae545435c5eb9229937635a5aee.png)](../../user/project/integrations/img/prometheus_add_metric.png) - -必须填写几个字段: - -* **名称** :图表标题 -* **类型** :指标的类型. 相同类型的指标将一起显示. -* **查询** :有效的[PromQL 查询](https://s0prometheus0io.icopy.site/docs/prometheus/latest/querying/basics/) . -* **Y 轴标签** :Y 轴标题显示在仪表板上. -* **单位标签** :查询单位,例如`req / sec` . 值旁边显示. - -如果指标之间的**名称** , **类型**和**Y 轴标签**字段匹配,则可以在同一图表上显示多个指标. 例如,具有" **名称** `Requests Rate` ," `Business` **类型"**和**Y 轴标签** `rec / sec`度量标准将与另一个具有相同值的度量标准显示在同一图表上. 如果使用此功能,则建议使用**图例标签** . - -## Editing additional metrics from the dashboard[](#editing-additional-metrics-from-the-dashboard "Permalink") - -在 GitLab 12.9 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/208976) . - -您可以通过以下方式为信息中心编辑现有的其他自定义指标: **更多操作**下拉菜单,然后选择**编辑指标** . - -[![Edit metric](img/f0d4bcbd75dfae1dbbc867343090a4ca.png)](../../user/project/integrations/img/prometheus_dashboard_edit_metric_link_v_12_9.png) - -## Keyboard shortcuts for charts[](#keyboard-shortcuts-for-charts "Permalink") - -在 GitLab 13.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/202146) . - -您可以使用键盘快捷键与当前关注的图表面板更快地进行交互. 要激活键盘快捷键,请使用键盘标签突出显示 **"更多操作"**下拉菜单,或用鼠标悬停在下拉菜单上,然后按与所需操作对应的键: - -* **展开面板** - `e` -* **查看日志** `-l` (小写" L") -* **下载 CSV** - `d` -* **复制链接到图表** - `c` -* **Alerts** - `a` \ No newline at end of file diff --git a/docs/176.md b/docs/176.md deleted file mode 100644 index a8d188d..0000000 --- a/docs/176.md +++ /dev/null @@ -1,88 +0,0 @@ -# Set up alerts for Prometheus metrics - -> 原文:[https://docs.gitlab.com/ee/operations/metrics/alerts.html](https://docs.gitlab.com/ee/operations/metrics/alerts.html) - -* [Managed Prometheus instances](#managed-prometheus-instances) -* [External Prometheus instances](#external-prometheus-instances) -* [Trigger actions from alerts](#trigger-actions-from-alerts-ultimate) - -# Set up alerts for Prometheus metrics[](#set-up-alerts-for-prometheus-metrics "Permalink") - -在[为 CI / CD 环境配置指标](index.html)后,您可以根据实例的位置为 Prometheus 指标设置警报,并在环境性能超出您设置的范围时[触发警报操作](#trigger-actions-from-alerts-ultimate)以通知您的团队. - -## Managed Prometheus instances[](#managed-prometheus-instances "Permalink") - -在[GitLab Ultimate](https://about.gitlab.com/pricing/) 11.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6590)了[自定义指标](index.html#adding-custom-metrics) ,在 11.3 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6590)了[图书馆指标](../../user/project/integrations/prometheus_library/metrics.html) . - -对于使用自动配置的托管 Prometheus 实例,您可以直接在[指标仪表板中](index.html) [配置指标警报](index.html#adding-custom-metrics) . 设置警报: - -1. 在您的项目中,导航到 **操作>指标** , -2. 确定要为其创建警报的指标,然后单击**省略号** 指标右上角的图标. -3. Choose **Alerts**. -4. 设置阈值和运算符. -5. 单击**添加**以保存并激活警报. - -[![Adding an alert](img/659964d0e0d080d80881d6eb74aaaf7e.png)](../../user/project/integrations/img/prometheus_alert.png) - -要删除警报,请在警报图标上返回所需的指标,然后单击" **删除"** . - -## External Prometheus instances[](#external-prometheus-instances "Permalink") - -版本历史 - -* 在[GitLab Ultimate](https://about.gitlab.com/pricing/) 11.8 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/9258) . -* 在 12.10 中[移至](https://gitlab.com/gitlab-org/gitlab/-/issues/42640) [GitLab Core](https://about.gitlab.com/pricing/) . - -对于手动配置的 Prometheus 服务器,GitLab 提供了一个通知端点,用于 Prometheus Webhooks. 如果启用了手动配置,则会将" **警报"**部分添加到 **设置>集成> Prometheus** . 本部分包含您需要的**URL**和**授权密钥** . **重置密钥**按钮将使密钥无效并生成一个新密钥. - -[![Prometheus service configuration of Alerts](img/510cd4b11aa5f23be76d594a9ad782d6.png)](../../user/project/integrations/img/prometheus_service_alerts.png) - -要发送 GitLab 警报通知,请将**URL**和**授权密钥**复制到 Prometheus Alertmanager 配置的[`webhook_configs`](https://s0prometheus0io.icopy.site/docs/alerting/latest/configuration/)部分: - -``` -receivers: - name: gitlab - webhook_configs: - - http_config: - bearer_token: 9e1cbfcd546896a9ea8be557caf13a76 - send_resolved: true - url: http://192.168.178.31:3001/root/manual_prometheus/prometheus/alerts/notify.json - ... -``` - -为了使 GitLab 将警报与[环境](../../ci/environments/index.html)相关联,您必须在 Prometheus 中设置的警报上配置`gitlab_environment_name`标签. 此值应与您在 GitLab 中的环境名称匹配. - -**Note:** In GitLab versions 13.1 and greater, you can configure your manually configured Prometheus server to use the [Generic alerts integration](../../user/project/integrations/generic_alerts.html). - -## Trigger actions from alerts[](#trigger-actions-from-alerts-ultimate "Permalink") - -版本历史 - -* 在[GitLab Ultimate](https://about.gitlab.com/pricing/) 11.11 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/4925) . -* [从 GitLab Ultimate 12.5 起](https://gitlab.com/gitlab-org/gitlab/-/issues/13401) ,当 GitLab 收到恢复警报时,它将自动关闭相关问题. - -警报可用于触发操作,例如自动打开问题(自`13.1`默认禁用). 要配置操作: - -1. 导航到您项目的 **设置>操作>事件** . -2. 启用该选项以创建问题. -3. 选择要从中创建问题的[问题模板](../../user/project/description_templates.html) . -4. (可选)选择是否将电子邮件通知发送给项目的开发人员. -5. Click **保存更改**. - -启用后,当触发包含包含从[警报有效负载中](https://s0prometheus0io.icopy.site/docs/alerting/latest/configuration/)提取的值的警报时,GitLab 会自动打开一个问题: - -* 问题作者: `GitLab Alert Bot` -* 问题标题:从`annotations/title` , `annotations/summary`或`labels/alertname` -* 警报`Summary` :属性列表 - * `starts_at` :通过`startsAt`警报的开始时间 - * `full_query` :从`generatorURL`提取的警报查询 - * 从`annotations/*`提取的附加注释的可选列表 -* Alert [GFM](../../user/markdown.html) :来自`annotations/gitlab_incident_markdown` GitLab 风味`annotations/gitlab_incident_markdown` - -当 GitLab 收到**Recovery Alert 时** ,它将关闭相关问题. 该操作记录为关于该问题的系统消息,表明该操作已由 GitLab Alert 机器人自动关闭. - -要进一步自定义问题,您可以在所选问题模板中添加标签,提及或任何其他受支持的[快速操作](../../user/project/quick_actions.html) ,该操作适用于所有事件. 要将快速操作或其他信息限制为仅特定类型的警报,请使用`annotations/gitlab_incident_markdown`字段. - -从[版本 12.2 开始](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/63373) ,GitLab 会使用`incident`标签自动标记每个事件问题. 如果标签尚不存在,则会自动创建. - -如果度量标准超过警报阈值超过 5 分钟,则 GitLab 会向该项目的所有[维护者和所有者](../../user/permissions.html#project-members-permissions)发送电子邮件. \ No newline at end of file diff --git a/docs/177.md b/docs/177.md deleted file mode 100644 index 203fcaa..0000000 --- a/docs/177.md +++ /dev/null @@ -1,92 +0,0 @@ -# Embedding metric charts within GitLab-flavored Markdown - -> 原文:[https://docs.gitlab.com/ee/operations/metrics/embed.html](https://docs.gitlab.com/ee/operations/metrics/embed.html) - -* [Embedding GitLab-managed Kubernetes metrics](#embedding-gitlab-managed-kubernetes-metrics) -* [Embedding metrics in issue templates](#embedding-metrics-in-issue-templates) -* [Embedding metrics based on alerts in incident issues](#embedding-metrics-based-on-alerts-in-incident-issues) -* [Embedding cluster health charts](#embedding-cluster-health-charts) - -# Embedding metric charts within GitLab-flavored Markdown[](#embedding-metric-charts-within-gitlab-flavored-markdown "Permalink") - -您可以在[GitLab 风味降价](../../user/markdown.html#gitlab-flavored-markdown-gfm)字段中显示指标图表,例如发布或合并请求说明. GitLab 风味的 Markdown 字段中允许的最大嵌入图表数为 100.当与其他人共享应用程序事件或性能指标并且您想直接获得相关信息时,嵌入图表很有用. - -## Embedding GitLab-managed Kubernetes metrics[](#embedding-gitlab-managed-kubernetes-metrics "Permalink") - -在 GitLab 12.2 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/29691) . - -**Note:** Requires [Kubernetes](../../user/project/integrations/prometheus_library/kubernetes.html) metrics. - -要显示度量图表,请在支持 GitLab 风格的 Markdown 的字段中包含`https://<root_url>/<project>/-/environments/<environment_id>/metrics`形式的链接: - -[![Embedded Metrics Markdown](img/8f07bae8fce74cd6b8276b7dd9e59c2e.png)](../../user/project/integrations/img/embedded_metrics_markdown_v12_8.png) - -GitLab 将链接展开为嵌入式指标面板: - -[![Embedded Metrics Rendered](img/276614fbc4ef7b7b9f7a445dffbc5691.png)](../../user/project/integrations/img/embedded_metrics_rendered_v12_8.png) - -您还可以嵌入一个图表. 要获取图表链接,请点击 图表右上角的" **更多操作"**菜单,然后选择" **将链接复制到图表"** ,如本示例所示: - -[![Copy Link To Chart](img/6f52527c138db466f7fba27994ad67f8.png)](../../user/project/integrations/img/copy_link_to_chart_v12_10.png) - -指标必须满足以下要求: - -* `<environment_id>`必须与真实环境相对应. -* 普罗米修斯必须在监视环境. -* 必须将 GitLab 实例配置为从环境接收数据. -* 必须允许用户访问环境( [Reporter 或更高版本](../../user/permissions.html) )的监视仪表板. -* 仪表板必须在最近 8 小时内具有数据. - -如果以上所有条件均成立,则该指标将展开,如下所示: - -[![Embedded Metrics](img/0ff1ac0799b3b8867f4ebefa4e22d786.png)](../../user/project/integrations/img/view_embedded_metrics_v12_10.png) - -公制图表也可能被隐藏: - -[![Show Hide](img/cb4ff59b46134d4c61caedcf5a66a74f.png)](../../user/project/integrations/img/hide_embedded_metrics_v12_10.png) - -您可以直接在浏览器中打开链接[以获取数据](dashboards/index.html#expand-panel)的[详细视图](dashboards/index.html#expand-panel) . - -## Embedding metrics in issue templates[](#embedding-metrics-in-issue-templates "Permalink") - -您也可以在问题模板中嵌入默认仪表板指标或单个指标. 要使图表并排显示,请使用逗号或空格将指向整个指标仪表板或单个指标的单独链接分开. - -[![Embedded Metrics in issue templates](img/b51efc1bf28d2363ac0b4e95c4318fbe.png)](../../user/project/integrations/img/embed_metrics_issue_template.png) - -## Embedding metrics based on alerts in incident issues[](#embedding-metrics-based-on-alerts-in-incident-issues "Permalink") - -对于由[GitLab 管理的警报规则](alerts.html) ,问题包括与警报相对应的查询的嵌入式图表. 该图表显示了事件开始点前后一个小时(前后 30 分钟)的一小时数据. - -对于[手动配置的 Prometheus 实例](../../user/project/integrations/prometheus.html#manual-configuration-of-prometheus) ,如果满足以下要求,则可以包括与查询相对应的图表: - -* 该警报对应于通过 GitLab 管理的环境. -* 警报对应于[范围查询](https://s0prometheus0io.icopy.site/docs/prometheus/latest/querying/api/) . -* 警报包含下表中列出的必需属性. - -| Attributes | Required | Description | -| --- | --- | --- | -| `annotations/gitlab_environment_name` | Yes | 与警报对应的由 GitLab 管理的环境的名称 | -| `annotations/title` , `annotations/summary` , `labels/alertname` | Yes | 用作图表标题 | -| `annotations/gitlab_y_label` | No | 用作图表的 y 轴标签 | - -## Embedding cluster health charts[](#embedding-cluster-health-charts "Permalink") - -版本历史 - -* 在[GitLab Ultimate](https://about.gitlab.com/pricing/) 12.9 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/40997) . -* 在 13.2 中[移至](https://gitlab.com/gitlab-org/gitlab/-/issues/208224) GitLab 核心. - -[Cluster Health Metrics](../../user/project/clusters/index.html#visualizing-cluster-health)也可以嵌入到[GitLab 风格的 Markdown 中](../../user/markdown.html) . - -要嵌入度量标准图表,请在支持 GitLab 风格的 Markdown 的任何位置以`https://<root_url>/<project>/-/cluster/<cluster_id>?<query_params>`的形式包含指向该图表的链接. 要生成并复制到图表的链接,请遵循[Cluster Health Metric 文档中的说明](../../user/project/clusters/index.html#visualizing-cluster-health) . - -指标必须满足以下要求: - -* `<cluster_id>`必须与实际群集相对应. -* Prometheus 必须监视群集. -* 必须允许用户访问项目集群指标. -* 仪表板必须在" [集群运行状况"页面](../../user/project/clusters/index.html#visualizing-cluster-health)上报告数据 - -如果满足上述要求,则度量标准将展开,如下所示. - -[![Embedded Cluster Metric in issue descriptions](img/f8c421bf7dd271d1aeee39c15aab183d.png)](../../user/project/integrations/img/prometheus_cluster_health_embed_v12_9.png) \ No newline at end of file diff --git a/docs/178.md b/docs/178.md deleted file mode 100644 index 0e6fd47..0000000 --- a/docs/178.md +++ /dev/null @@ -1,63 +0,0 @@ -# Embedding Grafana charts - -> 原文:[https://docs.gitlab.com/ee/operations/metrics/embed_grafana.html](https://docs.gitlab.com/ee/operations/metrics/embed_grafana.html) - -* [Embedding charts via Grafana Rendered Images](#embedding-charts-via-grafana-rendered-images) -* [Embedding charts via integration with Grafana HTTP API](#embedding-charts-via-integration-with-grafana-http-api) -* [Setting up the Grafana integration](#setting-up-the-grafana-integration) -* [Generating a link to a chart](#generating-a-link-to-a-chart) - -# Embedding Grafana charts[](#embedding-grafana-charts "Permalink") - -Grafana 指标可以嵌入到[GitLab 风味 Markdown 中](../../user/markdown.html) . - -## Embedding charts via Grafana Rendered Images[](#embedding-charts-via-grafana-rendered-images "Permalink") - -可以在问题中嵌入实时[Grafana](https://docs.gitlab.com/omnibus/settings/grafana.html)图表,作为[直接链接的渲染图像](https://grafana.com/docs/grafana/latest/reference/share_panel/#direct-link-rendered-image) . - -Grafana 中的共享对话框提供了链接,如下所示. - -[![Grafana Direct Linked Rendered Image](img/f406b88682259abab36d343539b1664c.png)](../../user/project/integrations/img/grafana_live_embed.png) - -**注意:**为了使此嵌入正确显示,Grafana 实例必须可作为公共仪表板或在同一网络上供目标用户使用. - -复制链接并在 Markdown 中将图像标签添加为[内联 HTML](../../user/markdown.html#inline-html) . 您可以根据需要调整查询参数. 例如,删除`&from=`和`&to=`参数将为您提供实时图表. 这是来自 GitLab 公共仪表板的实时图表的示例标记: - -``` -<img src="https://dashboards.gitlab.com/d/RZmbBr7mk/gitlab-triage?orgId=1&refresh=30s&var-env=gprd&var-environment=gprd&var-prometheus=prometheus-01-inf-gprd&var-prometheus_app=prometheus-app-01-inf-gprd&var-backend=All&var-type=All&var-stage=main&from=1580444107655&to=1580465707655"/> -``` - -这将呈现为: - -[![Grafana dashboard embedded preview](img/b820c73810583190a0b1697c813fdda8.png)](../../user/project/integrations/img/grafana_embedded.png) - -## Embedding charts via integration with Grafana HTTP API[](#embedding-charts-via-integration-with-grafana-http-api "Permalink") - -在 GitLab 12.5 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/31376) . - -每个项目可以支持与一个 Grafana 实例的集成. 此配置允许用户将链接复制到 Grafana 中的面板,然后将其粘贴到 GitLab Markdown 字段中. 该图表将以 GitLab 图表格式呈现. - -从 Grafana 实例嵌入的先决条件: - -1. 数据源必须是 Prometheus 实例. -2. 数据源必须是可代理的,因此 HTTP 访问设置应设置为`Server` . - -[![HTTP Proxy Access](img/7896b9b275d92d4b9cb2001cc464e509.png)](../../user/project/integrations/img/http_proxy_access_v12_5.png) - -## Setting up the Grafana integration[](#setting-up-the-grafana-integration "Permalink") - -1. [Generate an Admin-level API Token in Grafana.](https://grafana.com/docs/grafana/latest/http_api/auth/#create-api-token) -2. 在您的 GitLab 项目中,导航至**设置>操作> Grafana 身份验证** . -3. 要启用集成,请选中"活动"复选框. -4. 对于" Grafana URL",输入 Grafana 实例的基本 URL. -5. 对于" API 令牌",输入您刚生成的 Admin API 令牌. -6. Click **保存更改**. - -## Generating a link to a chart[](#generating-a-link-to-a-chart "Permalink") - -1. 在 Grafana 中,导航到要嵌入面板的仪表板. [![Grafana 公制面板](img/eb191fa059117d5fb30958d7f6241704.png)](../../user/project/integrations/img/grafana_panel_v12_5.png) -2. 在页面的左上角,为图表中查询所需的每个变量选择一个特定值. [![选择查询变量](img/40834a63780a362f429e1902450a4a7a.png)](../../user/project/integrations/img/select_query_variables_v12_5.png) -3. 在 Grafana 中,单击面板的标题,然后单击" **共享"**以将面板的共享对话框打开到" **链接"**选项卡. 如果您单击*仪表板的*共享面板,则 GitLab 将尝试在仪表板上嵌入第一个受支持的面板(如果有). -4. 如果您的普罗米修斯查询使用 Grafana 的自定义模板变量,确保"模板变量"选项切换为**开** . 在 Grafana 全局模板变量中,目前仅支持`$__interval` , `$__from`和`$__to` . 切换**"**当前时间范围"选项来指定图表的时间范围. 否则,默认范围将是最近 8 小时. [![Grafana 共享对话框](img/ce9e5e0a216a3a51d412bcb3cb11f420.png)](../../user/project/integrations/img/grafana_sharing_dialog_v12_5.png) -5. 单击**复制**将 URL **复制**到剪贴板. -6. 在 GitLab 中,将该 URL 粘贴到 Markdown 字段中并保存. 该图表将需要一些时间来呈现. [![GitLab 渲染的 Grafana 面板](img/c67bf60334fcbd1f63dc0a6515d02eca.png)](../../user/project/integrations/img/rendered_grafana_embed_v12_5.png) \ No newline at end of file diff --git a/docs/179.md b/docs/179.md deleted file mode 100644 index 125d3db..0000000 --- a/docs/179.md +++ /dev/null @@ -1,216 +0,0 @@ -# Using the Metrics Dashboard - -> 原文:[https://docs.gitlab.com/ee/operations/metrics/dashboards/](https://docs.gitlab.com/ee/operations/metrics/dashboards/) - -* [Manage the metrics dashboard settings](#manage-the-metrics-dashboard-settings) -* [Chart Context Menu](#chart-context-menu) - * [View and edit the source file of a custom dashboard](#view-and-edit-the-source-file-of-a-custom-dashboard) - * [Expand panel](#expand-panel) - * [View Logs](#view-logs-ultimate) - * [Timeline zoom and URL sharing](#timeline-zoom-and-url-sharing) - * [Downloading data as CSV](#downloading-data-as-csv) -* [Dashboard Annotations](#dashboard-annotations) - * [Retention policy](#retention-policy) -* [Add related links to custom dashboards](#add-related-links-to-custom-dashboards) - * [Links Syntax](#links-syntax) -* [Defining custom dashboards per project](#defining-custom-dashboards-per-project) - * [Adding a new dashboard to your project](#adding-a-new-dashboard-to-your-project) - * [Navigating to a custom dashboard](#navigating-to-a-custom-dashboard) - * [Duplicating a GitLab-defined dashboard](#duplicating-a-gitlab-defined-dashboard) -* [Troubleshooting](#troubleshooting) - * [“No data found” error on Metrics dashboard page](#no-data-found-error-on-metrics-dashboard-page) - -# Using the Metrics Dashboard[](#using-the-metrics-dashboard "Permalink") - -## Manage the metrics dashboard settings[](#manage-the-metrics-dashboard-settings "Permalink") - -在 GitLab 13.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/223204) . - -要管理指标信息中心的设置,请执行以下操作: - -1. 以具有项目维护者或管理员[权限](../../../user/permissions.html#project-members-permissions)的用户身份登录. -2. 导航至以下位置的信息中心 **操作>指标** . -3. 在资讯主页的右上角,按一下 **指标设置** : - - [![Monitoring Dashboard actions menu with create new item](img/0df7602f630bb279bdd6d7dc6a5dcf2f.png)](../../../user/project/integrations/img/metrics_settings_button_v13_2.png) - -## Chart Context Menu[](#chart-context-menu "Permalink") - -在信息中心的每个面板上,您都可以通过以下方式访问上下文菜单: 面板右上角上方的" **更多操作"**下拉框可采取与图表数据相关的操作. - -[![Context Menu](img/1a3371a11e14e221f5c8e0e75e327d08.png)](../../../user/project/integrations/img/panel_context_menu_v13_0.png) - -选项包括: - -* [Expand panel](#expand-panel) -* [View logs](#view-logs-ultimate) -* [Download CSV](#downloading-data-as-csv) -* [Copy link to chart](../embed.html#embedding-gitlab-managed-kubernetes-metrics) -* [Alerts](../alerts.html) - -### View and edit the source file of a custom dashboard[](#view-and-edit-the-source-file-of-a-custom-dashboard "Permalink") - -在 GitLab 12.5 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/34779) . - -查看项目的自定义仪表板时,可以通过单击" **编辑仪表板"**按钮来查看原始的`.yml`文件. - -### Expand panel[](#expand-panel "Permalink") - -在 GitLab 13.0 中[引入](https://gitlab.com/groups/gitlab-org/-/epics/3100) . - -要查看较大的可视化版本,请点击 **更多操作**图标,然后选择**展开面板** . - -要返回指标仪表板,请单击浏览器中的" **后退"**按钮,或按`Esc`键. - -### View Logs[](#view-logs-ultimate "Permalink") - -在 GitLab 12.8 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/122013) . - -如果启用了[日志](../../../user/project/clusters/kubernetes_pod_logs.html) ,则可以通过单击右上角的上下文菜单从仪表板中的图表导航以查看日志. - -如果使用图表底部的**时间轴缩放**功能,日志将缩小到您选择的时间范围. - -### Timeline zoom and URL sharing[](#timeline-zoom-and-url-sharing "Permalink") - -在 GitLab 12.8 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/198910) . - -您可以使用图表底部的**时间轴缩放**功能来放大所选的日期和时间. 单击并拖动滑块以选择要显示的数据的其他开始或结束日期时,GitLab 会将所选的开始和结束时间添加到 URL,从而使您可以更轻松地共享特定的时间范围. - -### Downloading data as CSV[](#downloading-data-as-csv "Permalink") - -指标仪表板上 Prometheus 图表中的数据可以 CSV 格式下载. - -## Dashboard Annotations[](#dashboard-annotations "Permalink") - -版本历史 - -* 在 GitLab 12.10 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/211330) (由功能标志`metrics_dashboard_annotations`启用). -* 在 GitLab 13.0 中[删除](https://gitlab.com/gitlab-org/gitlab/-/issues/215224)了[功能标志](https://gitlab.com/gitlab-org/gitlab/-/issues/215224) . - -您可以使用" **指标仪表板注释"**通过在每个指标仪表板上添加注释来标记任何重要事件. 在查看仪表板时,分配给所选时间范围的注释条目将自动获取并显示在该仪表板内的每个图表上. 鼠标悬停时,每个注释都会显示其他详细信息,包括事件的确切时间及其描述. - -您可以通过向[Metrics 仪表板注释 API](../../../api/metrics_dashboard_annotations.html)发出请求来创建注释 - -[![Annotations UI](img/afe1906c0ba8e9c44277342a20a48db6.png)](../../../user/project/integrations/img/metrics_dashboard_annotations_ui_v13.0.png) - -### Retention policy[](#retention-policy "Permalink") - -在 GitLab 13.01 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/211433) . - -为了避免过时的注释浪费过多的存储空间,每天都会删除附加到超过两周时间段的记录. 此重复后台作业在本地服务器时间上午 1:00 运行. - -## Add related links to custom dashboards[](#add-related-links-to-custom-dashboards "Permalink") - -在 GitLab 13.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/216385) . - -You can embed links to other dashboards or external services in your custom dashboard by adding **相关链接** to your dashboard’s YAML file. Related links open in the same tab as the dashboard. Related links can be displayed in the following locations on your dashboard: - -* 在仪表板顶部,作为顶层[`links`仪表板属性](../../../operations/metrics/dashboards/yaml.html#dashboard-top-level-properties) . -* 在图表中,上下文菜单作为[面板](../../../operations/metrics/dashboards/yaml.html#panel-panels-properties)的[`links`属性](../../../operations/metrics/dashboards/yaml.html#panel-panels-properties) . - -相关链接可以包含以下属性: - -* `url` :链接的完整 URL. 需要. -* `title` :描述链接的短语. 可选的. 如果未设置此属性,则将完整的 URL 用于链接标题. -* `type` :一个声明链接类型的字符串. 可选的. 如果设置为`grafana` ,则仪表板的时间范围值将转换为 Grafana 的时间范围格式并附加到`url` . - -仪表板的时间范围作为 URL 参数附加到`url` . - -以下示例显示了添加到仪表板的两个相关链接( `GitLab.com`和`GitLab Documentation` ): - -[![Links UI](img/fe601ff47f99f0fd5220742f61007450.png)](../../../user/project/integrations/img/related_links_v13_1.png) - -### Links Syntax[](#links-syntax "Permalink") - -``` -links: - - title: GitLab.com - url: https://gitlab.com - - title: GitLab Documentation - url: https://docs.gitlab.com - - title: Public Grafana playground dashboard - url: https://play.grafana.org/d/000000012/grafana-play-home?orgId=1 - type: grafana -``` - -## Defining custom dashboards per project[](#defining-custom-dashboards-per-project "Permalink") - -在 GitLab 12.1 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/59974) . - -默认情况下,所有项目都包含一个由 GitLab 定义的 Prometheus 仪表板,其中包括一些关键指标,但是您也可以定义自己的自定义仪表板. - -您可以从头开始创建新文件,也可以复制 GitLab 定义的 Prometheus 仪表板. - -**注意:**与[自定义指标](../index.html#adding-custom-metrics)不同,以下[定义的指标](../index.html#adding-custom-metrics)不支持警报. - -### Adding a new dashboard to your project[](#adding-a-new-dashboard-to-your-project "Permalink") - -GitLab 13.2 中[引入的](https://gitlab.com/gitlab-org/gitlab/-/issues/223204) UI 选项. - -您可以通过将新的 YAML 文件添加到项目的`.gitlab/dashboards/`目录中来配置自定义仪表`.gitlab/dashboards/` . 为了将仪表板显示在项目的 **在"操作">"度量标准"**页面上,文件必须具有`.yml`扩展名,并且应存在于项目的**默认**分支中. - -要从 GitLab 用户界面创建新的仪表板,请执行以下操作: - -1. 以具有"维护者"或"所有者" [权限](../../../user/permissions.html#project-members-permissions)的用户身份登录到 GitLab. -2. 导航至以下位置的信息中心 **操作>指标** . -3. 在信息中心的右上角,点击 **在"操作"**菜单上,然后选择" **新建"** : [![使用创建新项目的](img/b24c623173b50fdf9cd2676f1f311580.png)](../../../user/project/integrations/img/actions_menu_create_new_dashboard_v13_2.png) -4. 在模式窗口中,单击**打开存储库** ,然后按照说明从命令行创建新的仪表板. - -要从命令行创建新的仪表板: - -1. 在存储库的根目录下创建`.gitlab/dashboards/prom_alerts.yml` . 每个 YAML 文件都应定义仪表板的布局以及用于填充数据的 Prometheus 查询. 此示例仪表板显示一个面积图: - - ``` - dashboard: 'Dashboard Title' - panel_groups: - - group: 'Group Title' - panels: - - type: area-chart - title: "Chart Title" - y_label: "Y-Axis" - y_axis: - format: number - precision: 0 - metrics: - - id: my_metric_id - query_range: 'http_requests_total' - label: "Instance: {{instance}}, method: {{method}}" - unit: "count" - ``` - -2. 保存文件,提交并推送到您的存储库. 该文件必须存在于您的**默认**分支中. -3. 导航到项目的" **操作">"指标",**然后从下拉列表中选择自定义仪表板. - -**注意:**不支持嵌套在`.gitlab/dashboards`子目录下的配置文件,并且在 UI 中将不可用. - -### Navigating to a custom dashboard[](#navigating-to-a-custom-dashboard "Permalink") - -自定义仪表板通过其文件名唯一标识. 为了快速查看自定义仪表板,只需通过以下方式在 URL 中使用仪表板文件名: `https://gitlab-instance.example.com/project/-/metrics/custom_dashboard_name.yml` : `https://gitlab-instance.example.com/project/-/metrics/custom_dashboard_name.yml` . - -### Duplicating a GitLab-defined dashboard[](#duplicating-a-gitlab-defined-dashboard "Permalink") - -版本历史 - -* 在 GitLab 12.7 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/37238) . -* 从[GitLab 12.8 开始](https://gitlab.com/gitlab-org/gitlab/-/issues/39505) ,自定义指标也将在您复制仪表板时被复制. - -您可以保存 GitLab 定义的仪表板的完整副本以及添加到其中的所有自定义指标. 可以对生成的`.yml`文件进行自定义并使其适合您的项目. 您可以决定将仪表板`.yml`文件保存在项目的**默认**分支或新分支中. - -1. 在仪表板下拉菜单或操作菜单中,单击**重复仪表**板. - - **注意:**您只能复制 GitLab 定义的仪表板. -2. 输入文件名和其他信息,例如新提交的消息,然后单击**Duplicate** . - -如果选择**默认**分支,新的仪表板将立即可用. 如果选择另一个分支,则应首先将此分支合并到**默认**分支. - -## Troubleshooting[](#troubleshooting "Permalink") - -对托管的 Prometheus 应用程序的问题进行故障排除时, [查看 Prometheus UI](../../../development/prometheus.html#access-the-ui-of-a-prometheus-managed-application-in-kubernetes)通常很有用. - -### “No data found” error on Metrics dashboard page[](#no-data-found-error-on-metrics-dashboard-page "Permalink") - -如果继续出现"找不到数据"屏幕,则可能是由于: - -* 此环境尚未成功部署. -* Prometheus 没有此环境的性能数据,或者指标未正确标记. 要对此进行测试,请连接到 Prometheus 服务器并[运行查询](../../../user/project/integrations/prometheus_library/kubernetes.html#metrics-supported) ,将`$CI_ENVIRONMENT_SLUG`替换`$CI_ENVIRONMENT_SLUG`您的环境名称. -* 您可能需要重新添加 GitLab 预定义的通用指标. 这可以通过运行[导入公用度量 Rake 任务来完成](../../../administration/raketasks/maintenance.html#import-common-metrics) . \ No newline at end of file diff --git a/docs/180.md b/docs/180.md deleted file mode 100644 index 1f9d948..0000000 --- a/docs/180.md +++ /dev/null @@ -1,173 +0,0 @@ -# Dashboard YAML properties - -> 原文:[https://docs.gitlab.com/ee/operations/metrics/dashboards/yaml.html](https://docs.gitlab.com/ee/operations/metrics/dashboards/yaml.html) - -* [**Dashboard (top-level) properties**](#dashboard-top-level-properties) -* [**Templating (`templating`) properties**](#templating-templating-properties) -* [**Links (`links`) properties**](#links-links-properties) -* [**Panel group (`panel_groups`) properties**](#panel-group-panel_groups-properties) -* [**Panel (`panels`) properties**](#panel-panels-properties) -* [**Axis (`panels[].y_axis`) properties**](#axis-panelsy_axis-properties) -* [**Metrics (`metrics`) properties**](#metrics-metrics-properties) -* [Dynamic labels](#dynamic-labels) -* [Dashboard YAML syntax validation](#dashboard-yaml-syntax-validation) - -# Dashboard YAML properties[](#dashboard-yaml-properties "Permalink") - -仪表板包含几个组件: - -* 模板变量. -* 面板组,由面板组成. -* 支持一个或多个指标的面板. - -下表概述了预期属性的详细信息. - -## **Dashboard (top-level) properties**[](#dashboard-top-level-properties "Permalink") - -| Property | Type | Required | Description | -| --- | --- | --- | --- | -| `dashboard` | string | yes | 前往仪表板. 每个文件只能定义一个仪表板. | -| `panel_groups` | array | yes | 应在仪表板上的面板组. | -| `templating` | hash | no | 可以在其下添加模板相关选项的顶级键. | -| `links` | array | no | 添加链接以显示在仪表板上. | - -## **Templating (`templating`) properties**[](#templating-templating-properties "Permalink") - -| Property | Type | Required | Description | -| --- | --- | --- | --- | -| `variables` | hash | yes | 可以在这里定义变量. | - -阅读有关[模板](templating_variables.html)的文档. - -## **Links (`links`) properties**[](#links-links-properties "Permalink") - -| Property | Type | Required | Description | -| --- | --- | --- | --- | -| `url` | string | yes | 链接的地址. | -| `title` | string | no | 显示链接的标题. | -| `type` | string | no | 链接的类型. 指定链接类型,可以是: `grafana` | - -阅读有关[链接](index.html#add-related-links-to-custom-dashboards)的文档. - -## **Panel group (`panel_groups`) properties**[](#panel-group-panel_groups-properties "Permalink") - -| Property | Type | Required | Description | -| --- | --- | --- | --- | -| `group` | string | required | 前往面板组. | -| `priority` | number | 可选,默认为按文件顺序 | 命令显示在仪表板上. 数字越高意味着优先级越高,该页面上的优先级越高. 数字不必是连续的. | -| `panels` | array | required | 应在面板组中的面板. | - -面板组中的面板排成一排,每行包含两个面板. 该规则的一个例外是一行上的单个面板:这些面板将采用其所在行的整个宽度. - -## **Panel (`panels`) properties**[](#panel-panels-properties "Permalink") - -| Property | Type | Required | Description | -| --- | --- | --- | --- | -| `type` | enum | 不,默认为`area-chart` | 指定要使用的面板类型,例如`area-chart` , `line-chart`或`anomaly-chart` . [查看所有面板类型的文档.](panel_types.html) | -| `title` | string | yes | 前往面板. | -| `y_label` | string | 不,但强烈鼓励 | 面板的 Y 轴标签. | -| `y_axis` | string | no | 面板的 Y 轴配置. | -| `max_value` | number | no | 分母值用于计算[基于百分位数的结果](panel_types.html#percentile-based-results) | -| `weight` | number | 否,默认为按文件顺序 | 顺序出现在分组中. 较低的数字表示较高的优先级,在页面上较高. 数字不必是连续的. | -| `metrics` | array | yes | 应在面板中显示的指标. 当`type`是`area-chart`或`line-chart` ,可以显示任意数量的度量标准,而当`type`是`anomaly-chart`时,只能显示 3 个度量标准. | -| `links` | array | no | 添加链接以显示在图表的[上下文菜单上](index.html#chart-context-menu) . | - -## **Axis (`panels[].y_axis`) properties**[](#axis-panelsy_axis-properties "Permalink") - -| Property | Type | Required | Description |   | -| --- | --- | --- | --- | --- | -| `name` | string | 不,但强烈鼓励 | 面板的 Y 轴标签. 如果设置,则替换`y_label` . |   | -| `format` | string | 否,默认为`engineering` | 使用的单位格式. 请参阅[单位](yaml_number_format.html)的[完整列表](yaml_number_format.html) . |   | -| `precision` | number | 否,默认为`2` | 要显示在数字中的小数位数. |   | - -## **Metrics (`metrics`) properties**[](#metrics-metrics-properties "Permalink") - -| Property | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | string | no | 用于将仪表板指标与数据库记录相关联. 在仪表板配置文件中必须唯一. [警报所](../alerts.html)必需(尚未启用支持,请参阅[相关问题](https://gitlab.com/gitlab-org/gitlab/-/issues/27980) ). | -| `unit` | string | yes | 定义查询的返回数据的单位. | -| `label` | string | 不,但强烈鼓励 | 定义查询的图例标签. 在面板指标内应唯一. 可以包含时间序列标签作为内插变量. | -| `query` | string | 是,如果没有定义`query_range` | 定义用于填充图表/面板的 Prometheus 查询. 如果定义,将使用[Prometheus API](https://s0prometheus0io.icopy.site/docs/prometheus/latest/querying/api/)的`query`端点. | -| `query_range` | string | 是,如果未定义`query` | 定义用于填充图表/面板的 Prometheus 查询. 如果定义,将使用[Prometheus API](https://s0prometheus0io.icopy.site/docs/prometheus/latest/querying/api/)的`query_range`端点. | -| `step` | number | 不,如果未定义,则计算值 | 定义查询解析步长(以秒为单位). 同一面板上的指标应使用相同的`step`值. | - -## Dynamic labels[](#dynamic-labels "Permalink") - -从 Prometheus 查询返回多个时间序列时,动态标签很有用. - -当使用静态标签并且查询返回多个时间序列时,所有图例项将被标记为相同,这使得识别每个时间序列变得困难: - -``` -metrics: - - id: my_metric_id - query_range: 'http_requests_total' - label: "Time Series" - unit: "count" -``` - -这可能会生成如下图例: - -[![repeated legend label chart](img/366832d79f753b4e66470fa923fa7acf.png)](../../../user/project/integrations/img/prometheus_dashboard_repeated_label.png) - -为了使标签更明确,使用反映时间序列标签的变量是一个好习惯. 渲染图例时,变量将被时间序列标签的值替换: - -``` -metrics: - - id: my_metric_id - query_range: 'http_requests_total' - label: "Instance: {{instance}}, method: {{method}}" - unit: "count" -``` - -生成的渲染图例将如下所示: - -[![legend with label variables](img/ef26fe9cbbfc0c1f060c6e7c578bd450.png)](../../../user/project/integrations/img/prometheus_dashboard_label_variables.png) - -动态仪表板标签还有一个简写值,该标签仅使用一个时间序列标签: - -``` -metrics: - - id: my_metric_id - query_range: 'http_requests_total' - label: "Method" - unit: "count" -``` - -这可以通过降低`label`的值来实现,如果还有更多的单词用空格分隔,请用下划线( `_` )替换这些空格. 然后根据 Prometheus 查询返回的时间序列的标签检查转换后的值. 如果找到与转换后的值相等的时间序列标签,则将使用标签值并将其呈现在图例中,如下所示: - -[![legend with label shorthand variable](img/def845e9e4d65228469b73dbc625c6cd.png)](../../../user/project/integrations/img/prometheus_dashboard_label_variable_shorthand.png) - -## Dashboard YAML syntax validation[](#dashboard-yaml-syntax-validation "Permalink") - -在 GitLab 13.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/33202) . - -要确认您的仪表板定义包含有效的 YAML 语法,请执行以下操作: - -1. 导航 **存储库>文件** . -2. 导航到存储库中的仪表板文件. -3. 查看文件内容上方显示的有关文件的信息窗格. - -具有有效语法的文件显示**Metrics 仪表板 YAML 定义有效** ,而具有无效语法的文件显示**Metrics Dashboard YAML 定义无效** . - -[![Metrics Dashboard_YAML_syntax_validation](img/5f3552f35a06cac8dfa02c21fd48c852.png)](../../../user/project/integrations/img/prometheus_dashboard_yaml_validation_v13_1.png) - -当" **指标仪表板" YAML 定义无效时** ,将至少显示以下消息之一: - -1. `dashboard: can't be blank` [learn more](../../../operations/metrics/dashboards/yaml.html#dashboard-top-level-properties) -2. `panel_groups: should be an array of panel_groups objects` [learn more](../../../operations/metrics/dashboards/yaml.html#dashboard-top-level-properties) -3. `group: can't be blank` [learn more](../../../operations/metrics/dashboards/yaml.html#panel-group-panel_groups-properties) -4. `panels: should be an array of panels objects` [learn more](../../../operations/metrics/dashboards/yaml.html#panel-group-panel_groups-properties) -5. `title: can't be blank` [learn more](../../../operations/metrics/dashboards/yaml.html#panel-panels-properties) -6. `metrics: should be an array of metrics objects` [learn more](../../../operations/metrics/dashboards/yaml.html#panel-panels-properties) -7. `query: can't be blank` [learn more](../../../operations/metrics/dashboards/yaml.html#metrics-metrics-properties) -8. `query_range: can't be blank` [learn more](../../../operations/metrics/dashboards/yaml.html#metrics-metrics-properties) -9. `unit: can't be blank` [learn more](../../../operations/metrics/dashboards/yaml.html#metrics-metrics-properties) -10. `YAML syntax: The parsed YAML is too big` - - 当 YAML 文件大于 1 MB 时显示. - -11. `YAML syntax: Invalid configuration format` - - 当 YAML 文件为空或不包含有效的 YAML 时显示. - -指标仪表板 YAML 定义验证信息也可以作为[GraphQL API 字段获得](../../../api/graphql/reference/index.html#metricsdashboard) \ No newline at end of file diff --git a/docs/181.md b/docs/181.md deleted file mode 100644 index d907509..0000000 --- a/docs/181.md +++ /dev/null @@ -1,44 +0,0 @@ -# Metrics dashboard settings - -> 原文:[https://docs.gitlab.com/ee/user/project/operations/dashboard_settings.html](https://docs.gitlab.com/ee/user/project/operations/dashboard_settings.html) - -* [Change the dashboard time zone](#change-the-dashboard-time-zone) -* [Link to an external dashboard](#link-to-an-external-dashboard) - -# Metrics dashboard settings[](#metrics-dashboard-settings "Permalink") - -您可以配置[监控仪表板](../integrations/prometheus.html)以显示您选择的时区以及您选择的链接. - -要配置这些设置,您必须具有"管理项目操作" [权限](../../permissions.html) . - -## Change the dashboard time zone[](#change-the-dashboard-time-zone "Permalink") - -在 GitLab 13.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/214370) . - -默认情况下,监视仪表板在本地时区中显示日期和时间,但是您可以 UTC 格式显示日期和时间. 更改时区: - -1. 以具有"管理项目操作" [权限](../../permissions.html)的用户身份登录. -2. 导航 **设置>操作** ,然后滚动到" **指标仪表板"** . -3. 在" **仪表板时区"**选择框中,选择" *用户的本地时区"*或" *UTC"* : - - [![Dashboard timezone setting](img/9079254cc7f9fbc13ee5005765608b59.png)](img/dashboard_local_timezone_v13_1.png) - -4. Click **保存更改**. - -## Link to an external dashboard[](#link-to-an-external-dashboard "Permalink") - -在 GitLab 12.0 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/57171) . - -您可以在监视仪表板上添加一个按钮,该按钮直接链接到现有的外部仪表板: - -1. 以具有"管理项目操作" [权限](../../permissions.html)的用户身份登录. -2. 导航 **设置>操作** ,然后滚动到" **指标仪表板"** . -3. 在**外部仪表板 URL 中** ,提供您的外部仪表板的 URL: - - [![External Dashboard Setting](img/3da5d65194b00f9dc3ffde2ac5f8473b.png)](img/dashboard_external_link_v13_1.png) - -4. Click **保存更改**. - -GitLab 在[监视仪表板的](../../../ci/environments/index.html#monitoring-environments)右上角显示一个" **查看完整的仪表板"**按钮,该按钮可打开您提供的 URL: - -[![External Dashboard Link](img/ddc1b7f5f622e5c8f6581738b42964cb.png)](img/external_dashboard_link.png) \ No newline at end of file diff --git a/docs/182.md b/docs/182.md deleted file mode 100644 index 3219ca5..0000000 --- a/docs/182.md +++ /dev/null @@ -1,268 +0,0 @@ -# Panel types for dashboards - -> 原文:[https://docs.gitlab.com/ee/operations/metrics/dashboards/panel_types.html](https://docs.gitlab.com/ee/operations/metrics/dashboards/panel_types.html) - -* [Area or Line Chart](#area-or-line-chart) -* [Anomaly chart](#anomaly-chart) -* [Bar chart](#bar-chart) -* [Column chart](#column-chart) -* [Stacked column](#stacked-column) -* [Single Stat](#single-stat) -* [Percentile based results](#percentile-based-results) -* [Heatmaps](#heatmaps) - -# Panel types for dashboards[](#panel-types-for-dashboards "Permalink") - -监视仪表板中支持以下面板类型. - -## Area or Line Chart[](#area-or-line-chart "Permalink") - -要将面积图面板类型添加到仪表盘,请查看以下样本仪表盘文件: - -``` -dashboard: 'Dashboard Title' -panel_groups: - - group: 'Group Title' - panels: - - type: area-chart # or line-chart - title: 'Area Chart Title' - y_label: "Y-Axis" - y_axis: - format: number - precision: 0 - metrics: - - id: area_http_requests_total - query_range: 'http_requests_total' - label: "Instance: {{instance}}, Method: {{method}}" - unit: "count" -``` - -请注意以下属性: - -| Property | Type | Required | Description | -| --- | --- | --- | --- | -| type | string | no | 要渲染的面板类型. 区域面板类型的可选 | -| query_range | string | required | 对于区域面板类型,必须使用[范围查询](https://s0prometheus0io.icopy.site/docs/prometheus/latest/querying/api/) | - -[![area panel chart](img/adf6de6d0c4125be4e7a25119c0193e1.png)](../../../user/project/integrations/img/prometheus_dashboard_area_panel_type_v12_8.png) - -从[版本 12.8](https://gitlab.com/gitlab-org/gitlab/-/issues/202696)开始,y 轴值将根据数据自动缩放. 以前,它总是从 0 开始. - -## Anomaly chart[](#anomaly-chart "Permalink") - -在 GitLab 12.5 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/16530) . - -要将异常图表面板类型添加到仪表盘,请添加*恰好具有* 3 个指标的面板. - -第一个指标代表当前状态,第二个和第三个指标分别代表上限和下限: - -``` -dashboard: 'Dashboard Title' -panel_groups: - - group: 'Group Title' - panels: - - type: anomaly-chart - title: "Chart Title" - y_label: "Y-Axis" - metrics: - - id: anomaly_requests_normal - query_range: 'http_requests_total' - label: "# of Requests" - unit: "count" - metrics: - - id: anomaly_requests_upper_limit - query_range: 10000 - label: "Max # of requests" - unit: "count" - metrics: - - id: anomaly_requests_lower_limit - query_range: 2000 - label: "Min # of requests" - unit: "count" -``` - -请注意以下属性: - -| Property | Type | Required | Description | -| --- | --- | --- | --- | -| type | string | required | 异常面板类型必须为`anomaly-chart` | -| query_range | yes | required | 对于异常面板类型,必须在每个指标中使用[范围查询](https://s0prometheus0io.icopy.site/docs/prometheus/latest/querying/api/) . | - -[![anomaly panel type](img/8a4af39c416005af074623092e32d782.png)](../../../user/project/integrations/img/prometheus_dashboard_anomaly_panel_type.png) - -## Bar chart[](#bar-chart "Permalink") - -要将条形图添加到仪表板,请查看以下样本仪表板文件: - -``` -dashboard: 'Dashboard Title' -panel_groups: - - group: 'Group title' - panels: - - type: bar - title: "Http Handlers" - x_label: 'Response Size' - y_axis: - name: "Handlers" - metrics: - - id: prometheus_http_response_size_bytes_bucket - query_range: "sum(increase(prometheus_http_response_size_bytes_bucket[1d])) by (handler)" - unit: 'Bytes' -``` - -请注意以下属性: - -| Property | Type | Required | Description | -| --- | --- | --- | --- | -| `type` | string | yes | 要渲染的面板类型. 对于条形图类型,设置为`bar` | -| `query_range` | yes | yes | 对于条形图,必须使用[范围查询](https://s0prometheus0io.icopy.site/docs/prometheus/latest/querying/api/) | - -[![bar chart panel type](img/c61ac95a0fe55d92ab3c711ea814a8c8.png)](../../../user/project/integrations/img/prometheus_dashboard_bar_chart_panel_type_v12.10.png) - -## Column chart[](#column-chart "Permalink") - -要将列面板类型添加到仪表板,请查看以下样本仪表板文件: - -``` -dashboard: 'Dashboard Title' -panel_groups: - - group: 'Group title' - panels: - - title: "Column" - type: "column" - metrics: - - id: 1024_memory - query: 'avg(sum(container_memory_usage_bytes{container_name!="POD",pod_name=~"^%{ci_environment_slug}-([^c].*|c([^a]|a([^n]|n([^a]|a([^r]|r[^y])))).*|)-(.*)",namespace="%{kube_namespace}"}) by (job)) without (job) / count(avg(container_memory_usage_bytes{container_name!="POD",pod_name=~"^%{ci_environment_slug}-([^c].*|c([^a]|a([^n]|n([^a]|a([^r]|r[^y])))).*|)-(.*)",namespace="%{kube_namespace}"}) without (job)) /1024/1024' - unit: MB - label: "Memory Usage" -``` - -请注意以下属性: - -| Property | Type | Required | Description | -| --- | --- | --- | --- | -| type | string | yes | 要渲染的面板类型. 对于列面板类型,设置为`column` | -| query_range | yes | yes | 对于列面板类型,必须使用[范围查询](https://s0prometheus0io.icopy.site/docs/prometheus/latest/querying/api/) | - -[![anomaly panel type](img/468eb44e935f615292705e2fc013ddb7.png)](../../../user/project/integrations/img/prometheus_dashboard_column_panel_type.png) - -## Stacked column[](#stacked-column "Permalink") - -在 GitLab 12.8 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/30583) . - -要将堆叠的列面板类型添加到仪表板,请查看以下样本仪表板文件: - -``` -dashboard: 'Dashboard title' -priority: 1 -panel_groups: - - group: 'Group Title' - priority: 5 - panels: - - type: 'stacked-column' - title: "Stacked column" - y_label: "y label" - x_label: 'x label' - metrics: - - id: memory_1 - query_range: 'memory_query' - label: "memory query 1" - unit: "count" - series_name: 'group 1' - - id: memory_2 - query_range: 'memory_query_2' - label: "memory query 2" - unit: "count" - series_name: 'group 2' -``` - -[![stacked column panel type](img/62313a9f27e05c60c700ec9625e27d02.png)](../../../user/project/integrations/img/prometheus_dashboard_stacked_column_panel_type_v12_8.png) - -| Property | Type | Required | Description | -| --- | --- | --- | --- | -| `type` | string | yes | 要渲染的面板类型. 对于堆叠式柱面板类型,设置为" `stacked-column` | -| `query_range` | yes | yes | 对于堆叠式列面板类型,必须使用[范围查询](https://s0prometheus0io.icopy.site/docs/prometheus/latest/querying/api/) | - -## Single Stat[](#single-stat "Permalink") - -要将单个状态面板类型添加到仪表板,请查看以下样本仪表板文件: - -``` -dashboard: 'Dashboard Title' -panel_groups: - - group: 'Group Title' - panels: - - title: "Single Stat" - type: "single-stat" - metrics: - - id: 10 - query: 'max(go_memstats_alloc_bytes{job="prometheus"})' - unit: MB - label: "Total" -``` - -请注意以下属性: - -| Property | Type | Required | Description | -| --- | --- | --- | --- | -| type | string | yes | 要渲染的面板类型. 对于单一统计信息面板类型,设置为`single-stat` | -| field | string | no | 面板显示指标的值. 要使面板显示标签的值,请在该键中放置标签的名称. | -| query | string | yes | For single stat panel types, you must use an [instant query](https://s0prometheus0io.icopy.site/docs/prometheus/latest/querying/api/) | - -[![single stat panel type](img/51902d01ed097ad499a4e6eb984d3e86.png)](../../../user/project/integrations/img/prometheus_dashboard_single_stat_panel_type.png) - -## Percentile based results[](#percentile-based-results "Permalink") - -在 GitLab 12.8 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/201946) . - -有时需要将查询结果表示为 100 中的百分比值.您可以在面板定义的根部使用`max_value`属性: - -``` -dashboard: 'Dashboard Title' -panel_groups: - - group: 'Group Title' - panels: - - title: "Single Stat" - type: "single-stat" - max_value: 100 - metrics: - - id: 10 - query: 'max(go_memstats_alloc_bytes{job="prometheus"})' - unit: '%' - label: "Total" -``` - -例如,如果查询值为`53.6` ,则将`%`添加为单位将得出`53.6%`的单个统计值,但是如果查询的最大期望值为`120` ,则该值为`44.6%` . 添加`max_value`会导致显示正确的百分比值. - -## Heatmaps[](#heatmaps "Permalink") - -在 GitLab 12.5 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/30581) . - -要将热图面板类型添加到仪表板,请查看以下样本仪表板文件: - -``` -dashboard: 'Dashboard Title' -panel_groups: - - group: 'Group Title' - panels: - - title: "Heatmap" - type: "heatmap" - metrics: - - id: 10 - query: 'sum(rate(nginx_upstream_responses_total{upstream=~"%{kube_namespace}-%{ci_environment_slug}-.*"}[60m])) by (status_code)' - unit: req/sec - label: "Status code" -``` - -请注意以下属性: - -| Property | Type | Required | Description | -| --- | --- | --- | --- | -| type | string | yes | 要渲染的面板类型. 对于热图面板类型,设置为`heatmap` | -| query_range | yes | yes | 对于区域面板类型,必须使用[范围查询](https://s0prometheus0io.icopy.site/docs/prometheus/latest/querying/api/) | - -[![heatmap panel type](img/10fd27d874d8e6ace6b74801909782ae.png)](../../../user/project/integrations/img/heatmap_panel_type.png) - -**警告:**当查询返回太多数据点时,热图数据桶的尺寸趋于向下至 0,从而使图表的数据不可见,如下图所示. 要解决此问题,请通过更改指标仪表板 UI 上的时间范围过滤器,或将**step**属性添加到仪表板的 YAML 文件中,来限制返回的数据量. - -[![heatmap chart_too_much_data](img/c89e56a24555efe89bb446cf31b5f764.png)](../../../user/project/integrations/img/heatmap_chart_too_much_data_v_13_2.png) \ No newline at end of file diff --git a/docs/183.md b/docs/183.md deleted file mode 100644 index b420a17..0000000 --- a/docs/183.md +++ /dev/null @@ -1,55 +0,0 @@ -# Using Variables - -> 原文:[https://docs.gitlab.com/ee/operations/metrics/dashboards/variables.html](https://docs.gitlab.com/ee/operations/metrics/dashboards/variables.html) - -* [Query Variables](#query-variables) -* [Predefined variables](#predefined-variables) - * [__range](#__range) -* [User-defined variables](#user-defined-variables) -* [Query Variables from URL](#query-variables-from-url) - -# Using Variables[](#using-variables "Permalink") - -## Query Variables[](#query-variables "Permalink") - -可以使用双花括号来指定变量,例如`"{{ci_environment_slug}}"` (在 GitLab 12.7 中已[添加](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/20793) ). - -在 GitLab 13.0 中[删除](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/31581)了对`"%{ci_environment_slug}"`格式的支持. 继续使用旧格式的查询将不会显示任何数据. - -## Predefined variables[](#predefined-variables "Permalink") - -GitLab 在 Prometheus 查询中支持一组有限的[CI 变量](../../../ci/variables/README.html) . 这对于标识特定环境(例如`ci_environment_slug` )特别有用. 支持的变量是: - -* `ci_environment_slug` -* `kube_namespace` -* `ci_project_name` -* `ci_project_namespace` -* `ci_project_path` -* `ci_environment_name` -* `__range` - -**注意:** Prometheus 查询的变量必须小写. - -### __range[](#__range "Permalink") - -`__range`变量在 Prometheus [范围向量选择器中](https://s0prometheus0io.icopy.site/docs/prometheus/latest/querying/basics/)很有用. 它的值是仪表板时间范围内的总秒数. 例如,如果仪表板时间范围设置为 8 小时,则`__range`值为`28800s` . - -## User-defined variables[](#user-defined-variables "Permalink") - -[可以](../../../operations/metrics/dashboards/yaml.html#templating-templating-properties)在自定义仪表板 YAML 文件中[定义变量](../../../operations/metrics/dashboards/yaml.html#templating-templating-properties) . - -## Query Variables from URL[](#query-variables-from-url "Permalink") - -在 GitLab 13.0 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/214500) . - -GitLab 支持通过 URL 参数设置自定义变量. 用双花括号( `{{example}}` )包围变量名称,以在查询中插入变量: - -``` -avg(sum(container_memory_usage_bytes{container_name!="{{pod}}"}) by (job)) without (job) /1024/1024/1024' -``` - -该查询的 URL 为: - -``` -http://gitlab.com/<user>/<project>/-/environments/<environment_id>/metrics?dashboard=.gitlab%2Fdashboards%2Fcustom.yml&pod=POD -``` \ No newline at end of file diff --git a/docs/184.md b/docs/184.md deleted file mode 100644 index 1f86ab4..0000000 --- a/docs/184.md +++ /dev/null @@ -1,112 +0,0 @@ -# Templating variables for metrics dashboards - -> 原文:[https://docs.gitlab.com/ee/operations/metrics/dashboards/templating_variables.html](https://docs.gitlab.com/ee/operations/metrics/dashboards/templating_variables.html) - -* [`text` variable type](#text-variable-type) - * [Simple syntax](#simple-syntax) - * [Full syntax](#full-syntax) -* [`custom` variable type](#custom-variable-type) - * [Simple syntax](#simple-syntax-1) - * [Full syntax](#full-syntax-1) -* [`metric_label_values` variable type](#metric_label_values-variable-type) - * [Full syntax](#full-syntax-2) - -# Templating variables for metrics dashboards[](#templating-variables-for-metrics-dashboards "Permalink") - -在 GitLab 13.0 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/214539) . - -模板变量可用于使指标仪表板更加通用. - -`templating`是[仪表板 YAML 中](yaml.html#dashboard-top-level-properties)的顶级键. 在`templating`下的`variables`键中定义变量. `variables`键的值应为哈希, `variables`下的每个键在仪表板上定义一个模板变量,并且可以包含字母数字和下划线字符. - -可以使用[使用变量中](variables.html)所述的语法在同一仪表板的 Prometheus 查询[中使用变量](variables.html) . - -## `text` variable type[](#text-variable-type "Permalink") - -**警告:**此变量类型是*alpha*功能,如有更改,恕不另行通知! - -对于仪表板 YAML 中定义的每个`text`变量,仪表板 UI 上都会有一个自由文本框,您可以为每个变量输入一个值. - -`text`变量类型支持简单和完整的语法. - -### Simple syntax[](#simple-syntax "Permalink") - -本示例创建一个名为`variable1` ,其默认值为`default value` : - -``` -templating: - variables: - variable1: 'default value' # `text` type variable with `default value` as its default. -``` - -### Full syntax[](#full-syntax "Permalink") - -本示例创建一个名为`variable1` ,其默认值为`default` . UI 上文本框的标签将为`label`键的值: - -``` -templating: - variables: - variable1: # The variable name that can be used in queries. - label: 'Variable 1' # (Optional) label that will appear in the UI for this text box. - type: text - options: - default_value: 'default' # (Optional) default value. -``` - -## `custom` variable type[](#custom-variable-type "Permalink") - -**警告:**此变量类型是*alpha*功能,如有更改,恕不另行通知! - -仪表板 YAML 中定义的每个`custom`变量都会在仪表板 UI 上创建一个下拉选择器,允许您为每个变量选择一个值. - -`custom`变量类型支持简单和完整的语法. - -### Simple syntax[](#simple-syntax-1 "Permalink") - -本示例创建一个名为`variable1` ,其默认值为`value1` . 仪表板界面将显示一个下拉列表,其中包含`value1` , `value2`和`value3`作为选择. - -``` -templating: - variables: - variable1: ['value1', 'value2', 'value3'] -``` - -### Full syntax[](#full-syntax-1 "Permalink") - -本示例创建一个名为`variable1` ,其默认值为`value_option_2` . UI 上文本框的标签将为`label`键的值. 仪表板界面将显示一个下拉列表,其中包含`Option 1`和`Option 2` . - -如果从下拉列表中选择`Option 1` ,则变量将被替换为`value option 1` . 同样,如果选择`Option 2` ,则变量将替换为`value_option_2` : - -``` -templating: - variables: - variable1: # The variable name that can be used in queries. - label: 'Variable 1' # (Optional) label that will appear in the UI for this dropdown. - type: custom - options: - values: - - value: 'value option 1' # The value that will replace the variable in queries. - text: 'Option 1' # (Optional) Text that will appear in the UI dropdown. - - value: 'value_option_2' - text: 'Option 2' - default: true # (Optional) This option should be the default value of this variable. -``` - -## `metric_label_values` variable type[](#metric_label_values-variable-type "Permalink") - -**警告:**此变量类型是*alpha*功能,如有更改,恕不另行通知! - -### Full syntax[](#full-syntax-2 "Permalink") - -本示例创建一个名为`variable2` . 下拉列表的值将是`up{env="production"}`描述的 Prometheus 系列中`backend`标签的所有不同值. - -``` -templating: - variables: - variable2: # The variable name that can be interpolated in queries. - label: 'Variable 2' # (Optional) label that will appear in the UI for this dropdown. - type: metric_label_values - options: - series_selector: 'up{env="production"}' - label: 'backend' -``` \ No newline at end of file diff --git a/docs/185.md b/docs/185.md deleted file mode 100644 index 794c044..0000000 --- a/docs/185.md +++ /dev/null @@ -1,31 +0,0 @@ -# Prometheus Metrics library - -> 原文:[https://docs.gitlab.com/ee/user/project/integrations/prometheus_library/](https://docs.gitlab.com/ee/user/project/integrations/prometheus_library/) - -* [Exporters](#exporters) -* [Identifying Environments](#identifying-environments) - -# Prometheus Metrics library[](#prometheus-metrics-library "Permalink") - -在 GitLab 9.0 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/8935) . - -GitLab 可自动检测某些[Prometheus 出口商](https://s0prometheus0io.icopy.site/docs/instrumenting/exporters/) . - -## Exporters[](#exporters "Permalink") - -当前支持的出口商是: - -* [Kubernetes](kubernetes.html) -* [NGINX](nginx.html) -* [NGINX Ingress Controller 0.9.0-0.15.x](nginx_ingress_vts.html) -* [NGINX Ingress Controller 0.16.0+](nginx_ingress.html) -* [HAProxy](haproxy.html) -* [Amazon Cloud Watch](cloudwatch.html) - -我们已尝试为每个出口商展示最重要的指标,并将在以后的版本中继续增加对其他出口商的支持. 如果您想增加对其他官方出口商的支持,欢迎捐款. - -## Identifying Environments[](#identifying-environments "Permalink") - -GitLab 从已配置的 Prometheus 服务器检索性能数据,并尝试识别已知指标的存在. 一旦确定,GitLab 然后需要能够将数据映射到特定环境. - -为了隔离并仅显示给定环境的相关指标,GitLab 需要一种方法来检测关联了哪些标签. 为此,GitLab 使用已定义的查询并填写特定于环境的变量. 通常,这涉及寻找[`$CI_ENVIRONMENT_SLUG`](../../../../ci/variables/README.html#predefined-environment-variables) ,但也可能包括其他信息,例如项目的 Kubernetes 命名空间. 每个搜索查询都在[导出器特定的文档中](#exporters)定义. \ No newline at end of file diff --git a/docs/186.md b/docs/186.md deleted file mode 100644 index b4e4bf9..0000000 --- a/docs/186.md +++ /dev/null @@ -1,38 +0,0 @@ -# Monitoring AWS Resources - -> 原文:[https://docs.gitlab.com/ee/user/project/integrations/prometheus_library/cloudwatch.html](https://docs.gitlab.com/ee/user/project/integrations/prometheus_library/cloudwatch.html) - -* [Requirements](#requirements) -* [Metrics supported](#metrics-supported) -* [Configuring Prometheus to monitor for Cloudwatch metrics](#configuring-prometheus-to-monitor-for-cloudwatch-metrics) -* [Specifying the Environment label](#specifying-the-environment-label) - -# Monitoring AWS Resources[](#monitoring-aws-resources "Permalink") - -在 GitLab 9.4 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/12621) - -GitLab 支持从[Elastic Load Balancer](https://aws.amazon.com/elasticloadbalancing/)开始自动检测和监视 AWS 资源. 这是通过利用官方[Cloudwatch 导出程序提供的](https://github.com/prometheus/cloudwatch_exporter) ,该程序将[Cloudwatch 指标](https://aws.amazon.com/cloudwatch/)转换为 Prometheus 可读形式. - -## Requirements[](#requirements "Permalink") - -必须启用[Prometheus 服务](../prometheus.html) . - -## Metrics supported[](#metrics-supported "Permalink") - -| Name | Query | -| --- | --- | -| 吞吐量(要求/秒) | `sum(aws_elb_request_count_sum{%{environment_filter}}) / 60` | -| 延迟(毫秒) | `avg(aws_elb_latency_average{%{environment_filter}}) * 1000` | -| HTTP 错误率(%) | `sum(aws_elb_httpcode_backend_5_xx_sum{%{environment_filter}}) / sum(aws_elb_request_count_sum{%{environment_filter}})` | - -## Configuring Prometheus to monitor for Cloudwatch metrics[](#configuring-prometheus-to-monitor-for-cloudwatch-metrics "Permalink") - -要开始使用 Cloudwatch 监控,您应该安装和配置[Cloudwatch 导出程序](https://github.com/prometheus/cloudwatch_exporter) ,该程序可检索和解析指定的 Cloudwatch 指标并将其转换为 Prometheus 监控端点. - -目前,唯一受支持的 AWS 资源是 Elastic Load Balancer,其 Cloudwatch 指标在[此处记录](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-cloudwatch-metrics.html) . - -样品的 CloudWatch 导出配置文件,配置用于基本 AWS ELB 监测,是[可供下载](../samples/cloudwatch.yml) . - -## Specifying the Environment label[](#specifying-the-environment-label "Permalink") - -为了隔离并仅显示给定环境的相关指标,GitLab 需要一种方法来检测关联了哪些标签. 为此,GitLab 将[查找`environment`标签](index.html#identifying-environments) . \ No newline at end of file diff --git a/docs/187.md b/docs/187.md deleted file mode 100644 index 9427da4..0000000 --- a/docs/187.md +++ /dev/null @@ -1,33 +0,0 @@ -# Monitoring HAProxy - -> 原文:[https://docs.gitlab.com/ee/user/project/integrations/prometheus_library/haproxy.html](https://docs.gitlab.com/ee/user/project/integrations/prometheus_library/haproxy.html) - -* [Requirements](#requirements) -* [Metrics supported](#metrics-supported) -* [Configuring Prometheus to monitor for HAProxy metrics](#configuring-prometheus-to-monitor-for-haproxy-metrics) -* [Specifying the Environment label](#specifying-the-environment-label) - -# Monitoring HAProxy[](#monitoring-haproxy "Permalink") - -在 GitLab 9.4 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/12621) - -GitLab 支持自动检测和监视 HAProxy. 这是通过利用[HAProxy Exporter](https://github.com/prometheus/haproxy_exporter)来提供的,后者将 HAProxy 统计信息转换为 Prometheus 可读形式. - -## Requirements[](#requirements "Permalink") - -必须启用[Prometheus 服务](../prometheus.html) . - -## Metrics supported[](#metrics-supported "Permalink") - -| Name | Query | -| --- | --- | -| 吞吐量(要求/秒) | `sum(rate(haproxy_frontend_http_requests_total{%{environment_filter}}[2m])) by (code)` | -| HTTP 错误率(%) | `sum(rate(haproxy_frontend_http_requests_total{code="5xx",%{environment_filter}}[2m])) / sum(rate(haproxy_frontend_http_requests_total{%{environment_filter}}[2m]))` | - -## Configuring Prometheus to monitor for HAProxy metrics[](#configuring-prometheus-to-monitor-for-haproxy-metrics "Permalink") - -要开始使用 NGINX 监视,您应该安装并配置[HAProxy 导出程序](https://github.com/prometheus/haproxy_exporter) ,该程序可以解析这些统计信息并将其转换为 Prometheus 监视端点. - -## Specifying the Environment label[](#specifying-the-environment-label "Permalink") - -为了隔离并仅显示给定环境的相关指标,GitLab 需要一种方法来检测关联了哪些标签. 为此,GitLab 将[查找`environment`标签](index.html#identifying-environments) . \ No newline at end of file diff --git a/docs/188.md b/docs/188.md deleted file mode 100644 index 5cfdd39..0000000 --- a/docs/188.md +++ /dev/null @@ -1,69 +0,0 @@ -# Monitoring Kubernetes - -> 原文:[https://docs.gitlab.com/ee/user/project/integrations/prometheus_library/kubernetes.html](https://docs.gitlab.com/ee/user/project/integrations/prometheus_library/kubernetes.html) - -* [Requirements](#requirements) -* [Metrics supported](#metrics-supported) -* [Configuring Prometheus to monitor for Kubernetes metrics](#configuring-prometheus-to-monitor-for-kubernetes-metrics) -* [Specifying the Environment](#specifying-the-environment) -* [Displaying Canary metrics](#displaying-canary-metrics-premium) - * [Canary metrics supported](#canary-metrics-supported) - -# Monitoring Kubernetes[](#monitoring-kubernetes "Permalink") - -在 GitLab 9.0 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/8935) . - -GitLab 支持自动检测和监视 Kubernetes 指标. - -## Requirements[](#requirements "Permalink") - -必须启用[Prometheus](../prometheus.html)和[Kubernetes](../kubernetes.html)集成服务. - -## Metrics supported[](#metrics-supported "Permalink") - -* 平均内存使用量(MB): - - ``` - avg(sum(container_memory_usage_bytes{container_name!="POD",pod_name=~"^%{ci_environment_slug}-([^c].*|c([^a]|a([^n]|n([^a]|a([^r]|r[^y])))).*|)-(.*)",namespace="%{kube_namespace}"}) by (job)) without (job) / count(avg(container_memory_usage_bytes{container_name!="POD",pod_name=~"^%{ci_environment_slug}-([^c].*|c([^a]|a([^n]|n([^a]|a([^r]|r[^y])))).*|)-(.*)",namespace="%{kube_namespace}"}) without (job)) /1024/1024 - ``` - -* 平均 CPU 使用率(%): - - ``` - avg(sum(rate(container_cpu_usage_seconds_total{container_name!="POD",pod_name=~"^%{ci_environment_slug}-([^c].*|c([^a]|a([^n]|n([^a]|a([^r]|r[^y])))).*|)-(.*)",namespace="%{kube_namespace}"}[15m])) by (job)) without (job) / count(sum(rate(container_cpu_usage_seconds_total{container_name!="POD",pod_name=~"^%{ci_environment_slug}-([^c].*|c([^a]|a([^n]|n([^a]|a([^r]|r[^y])))).*|)-(.*)",namespace="%{kube_namespace}"}[15m])) by (pod_name)) - ``` - -## Configuring Prometheus to monitor for Kubernetes metrics[](#configuring-prometheus-to-monitor-for-kubernetes-metrics "Permalink") - -为了收集 Kubernetes 指标,需要将 Prometheus 部署到集群中并进行正确配置. GitLab 支持两种方法: - -* GitLab [与 Kubernetes 集成](../../clusters/index.html) ,并且可以[将 Prometheus 部署到连接的集群中](../prometheus.html#managed-prometheus-on-kubernetes) . 它被自动配置为收集 Kubernetes 指标. -* 要配置自己的 Prometheus 服务器,可以遵循[Prometheus 文档](https://s0prometheus0io.icopy.site/docs/introduction/overview/) . - -## Specifying the Environment[](#specifying-the-environment "Permalink") - -为了隔离并仅显示给定环境的相关 CPU 和内存指标,GitLab 需要一种方法来检测其正在运行的容器. 由于这些指标是在容器级别跟踪的,因此传统的 Kubernetes 标签不可用. - -相反, [Deployment](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/)或[DaemonSet](https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/)名称应以[CI_ENVIRONMENT_SLUG 开头](../../../../ci/variables/README.html#predefined-environment-variables) . 如果需要,可以在其后跟一个`-`和其他内容. 例如, `review-homepage-5620p5`的部署名称将与`review/homepage`环境匹配. - -## Displaying Canary metrics[](#displaying-canary-metrics-premium "Permalink") - -在[GitLab 10.2 中](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/15201)引入. - -GitLab 还收集了针对[Canary 部署的](../../canary_deployments.html) Kubernetes 指标,从而可以轻松比较当前部署的版本和 Canary. - -这些度量标准期望[Deployment](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/)或[DaemonSet](https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/)名称以`$CI_ENVIRONMENT_SLUG-canary`开头,以隔离 canary 度量标准. - -### Canary metrics supported[](#canary-metrics-supported "Permalink") - -* 平均内存使用量(MB) - - ``` - avg(sum(container_memory_usage_bytes{container_name!="POD",pod_name=~"^%{ci_environment_slug}-canary-(.*)",namespace="%{kube_namespace}"}) by (job)) without (job) / count(avg(container_memory_usage_bytes{container_name!="POD",pod_name=~"^%{ci_environment_slug}-canary-(.*)",namespace="%{kube_namespace}"}) without (job)) /1024/1024 - ``` - -* 平均 CPU 使用率(%) - - ``` - avg(sum(rate(container_cpu_usage_seconds_total{container_name!="POD",pod_name=~"^%{ci_environment_slug}-canary-(.*)",namespace="%{kube_namespace}"}[15m])) by (job)) without (job) / count(sum(rate(container_cpu_usage_seconds_total{container_name!="POD",pod_name=~"^%{ci_environment_slug}-canary-(.*)",namespace="%{kube_namespace}"}[15m])) by (pod_name)) - ``` \ No newline at end of file diff --git a/docs/189.md b/docs/189.md deleted file mode 100644 index b79baaf..0000000 --- a/docs/189.md +++ /dev/null @@ -1,39 +0,0 @@ -# Monitoring NGINX - -> 原文:[https://docs.gitlab.com/ee/user/project/integrations/prometheus_library/nginx.html](https://docs.gitlab.com/ee/user/project/integrations/prometheus_library/nginx.html) - -* [Requirements](#requirements) -* [Metrics supported](#metrics-supported) -* [Configuring Prometheus to monitor for NGINX metrics](#configuring-prometheus-to-monitor-for-nginx-metrics) -* [Specifying the Environment label](#specifying-the-environment-label) - -# Monitoring NGINX[](#monitoring-nginx "Permalink") - -在 GitLab 9.4 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/12621) - -GitLab 支持自动检测和监视 NGINX. 这是通过利用[NGINX VTS 导出器提供的](https://github.com/hnlq715/nginx-vts-exporter) ,该[导出](https://github.com/hnlq715/nginx-vts-exporter)器将[VTS 统计信息](https://github.com/vozlt/nginx-module-vts)转换为 Prometheus 可读形式. - -## Requirements[](#requirements "Permalink") - -必须启用[Prometheus 服务](../prometheus.html) . - -## Metrics supported[](#metrics-supported "Permalink") - -检测到 NGINX 服务器指标,该指标跟踪 NGINX 直接提供的页面和内容. - -| Name | Query | -| --- | --- | -| 吞吐量(要求/秒) | `sum(rate(nginx_server_requests{server_zone!="*", server_zone!="_", %{environment_filter}}[2m])) by (code)` | -| 延迟(毫秒) | `avg(nginx_server_requestMsec{%{environment_filter}})` | -| HTTP 错误率(HTTP 错误/秒) | `sum(rate(nginx_server_requests{code="5xx", %{environment_filter}}[2m]))` | -| HTTP 错误(%) | `sum(rate(nginx_server_requests{code=~"5.*", host="*", %{environment_filter}}[2m])) / sum(rate(nginx_server_requests{code="total", host="*", %{environment_filter}}[2m])) * 100` | - -## Configuring Prometheus to monitor for NGINX metrics[](#configuring-prometheus-to-monitor-for-nginx-metrics "Permalink") - -要开始使用 NGINX 监视,您应该首先为 NGINX 服务器启用[VTS 统计](https://github.com/vozlt/nginx-module-vts)模块. 这将捕获并以 HTML 可读形式显示统计信息. 接下来,您应该安装并配置[NGINX VTS 导出器](https://github.com/hnlq715/nginx-vts-exporter) ,该[导出器](https://github.com/hnlq715/nginx-vts-exporter)将解析这些统计信息并将其转换为 Prometheus 监视端点. - -如果您将 NGINX 用作 Kubernetes 入口,GitLab 将在 0.9.0 及更高版本中启用后[自动检测](nginx_ingress.html)指标. - -## Specifying the Environment label[](#specifying-the-environment-label "Permalink") - -为了隔离并仅显示给定环境的相关指标,GitLab 需要一种方法来检测关联了哪些标签. 为此,GitLab 将[查找`environment`标签](index.html#identifying-environments) . \ No newline at end of file diff --git a/docs/190.md b/docs/190.md deleted file mode 100644 index 9a8391d..0000000 --- a/docs/190.md +++ /dev/null @@ -1,69 +0,0 @@ -# Monitoring NGINX Ingress Controller - -> 原文:[https://docs.gitlab.com/ee/user/project/integrations/prometheus_library/nginx_ingress.html](https://docs.gitlab.com/ee/user/project/integrations/prometheus_library/nginx_ingress.html) - -* [Requirements](#requirements) -* [Metrics supported](#metrics-supported) -* [Configuring NGINX Ingress monitoring](#configuring-nginx-ingress-monitoring) - * [About managed NGINX Ingress deployments](#about-managed-nginx-ingress-deployments) - * [Manually setting up NGINX Ingress for Prometheus monitoring](#manually-setting-up-nginx-ingress-for-prometheus-monitoring) -* [Specifying the Environment label](#specifying-the-environment-label) - -# Monitoring NGINX Ingress Controller[](#monitoring-nginx-ingress-controller "Permalink") - -在 GitLab 11.7 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/22133) . - -**注意:** 0.16.0 之前的 NGINX Ingress 版本提供了一个随附的[VTS Prometheus 指标导出器](nginx_ingress_vts.html) ,该导出器导出的指标与内置指标不同. - -GitLab 支持自动检测和监视 Kubernetes NGINX Ingress 控制器. 这是通过利用 Kubernetes NGINX Ingress 控制器[版本 0.16.0](https://github.com/kubernetes/ingress-nginx/blob/master/Changelog.md#0160)及更高[版本随附](https://github.com/kubernetes/ingress-nginx/blob/master/Changelog.md#0160)的内置 Prometheus 指标来提供的. - -## Requirements[](#requirements "Permalink") - -[Prometheus integration](../prometheus.html) must be active. - -## Metrics supported[](#metrics-supported "Permalink") - -| Name | Query | -| --- | --- | -| 吞吐量(要求/秒) | `sum(label_replace(rate(nginx_ingress_controller_requests{namespace="%{kube_namespace}",ingress=~".*%{ci_environment_slug}.*"}[2m]), "status_code", "${1}xx", "status", "(.)..")) by (status_code)` | -| 延迟(毫秒) | `sum(rate(nginx_ingress_controller_ingress_upstream_latency_seconds_sum{namespace="%{kube_namespace}",ingress=~".*%{ci_environment_slug}.*"}[2m])) / sum(rate(nginx_ingress_controller_ingress_upstream_latency_seconds_count{namespace="%{kube_namespace}",ingress=~".*%{ci_environment_slug}.*"}[2m])) * 1000` | -| HTTP 错误率(%) | `sum(rate(nginx_ingress_controller_requests{status=~"5.*",namespace="%{kube_namespace}",ingress=~".*%{ci_environment_slug}.*"}[2m])) / sum(rate(nginx_ingress_controller_requests{namespace="%{kube_namespace}",ingress=~".*%{ci_environment_slug}.*"}[2m])) * 100` | - -## Configuring NGINX Ingress monitoring[](#configuring-nginx-ingress-monitoring "Permalink") - -如果您已经使用 GitLab 的[Kubernetes 集群集成](../../clusters/index.html#installing-applications)部署了 NGINX Ingress,则 Prometheus 将[自动对其进行监视](#about-managed-nginx-ingress-deployments) . - -对于其他部署,需要根据您的安装进行[一些配置](#manually-setting-up-nginx-ingress-for-prometheus-monitoring) : - -* NGINX Ingress 的版本应为 0.16.0 或更高,并启用指标. -* NGINX Ingress 应该标注为 Prometheus 监视. -* Prometheus 应该配置为监视带注释的容器. - -### About managed NGINX Ingress deployments[](#about-managed-nginx-ingress-deployments "Permalink") - -使用[官方 Helm 图表将](https://github.com/helm/charts/tree/master/stable/nginx-ingress) NGINX Ingress 部署到`gitlab-managed-apps`命名空间中. NGINX Ingress 将[通过 Load Balancer 的 Endpoint](../../../clusters/applications.html#ingress)在[外部访问](../../../clusters/applications.html#ingress) . - -通过设置以下内容,将 NGINX 配置为进行 Prometheus 监视: - -* `enable-vts-status: "true"` ,以导出 Prometheus 指标. -* `prometheus.io/scrape: "true"` ,以启用自动发现. -* `prometheus.io/port: "10254"` ,以指定度量标准端口. - -与 GitLab 部署的 Prometheus 服务结合使用时,将自动收集响应指标. - -### Manually setting up NGINX Ingress for Prometheus monitoring[](#manually-setting-up-nginx-ingress-for-prometheus-monitoring "Permalink") - -[NGINX Ingress 的](https://github.com/kubernetes/ingress-nginx) 0.9.0 及更高版本具有对导出 Prometheus 指标的内置支持. 要启用,必须传递 ConfigMap 设置: `enable-vts-status: "true"` . 启用后,Prometheus 指标端点将开始在端口 10254 上运行. - -接下来,需要对 Ingress 进行注释,以进行 Prometheus 监视. 需要添加两个新的注释: - -* `prometheus.io/scrape: "true"` -* `prometheus.io/port: "10254"` - -管理这些设置取决于如何部署 NGINX Ingress. 如果您通过[官方 Helm 图表](https://github.com/helm/charts/tree/master/stable/nginx-ingress)进行了部署,则可以使用`controller.stats.enabled`以及所需的注释来启用指标. 另外,也可以直接在[Kubernetes 仪表板中](https://github.com/kubernetes/dashboard)编辑 NGINX Ingress YML. - -## Specifying the Environment label[](#specifying-the-environment-label "Permalink") - -为了隔离并仅显示给定环境的相关指标,GitLab 需要一种方法来检测关联了哪些标签. 为此,GitLab 将搜索带有适当标签的指标. 在这种情况下, `ingress`标签必须为`<CI_ENVIRONMENT_SLUG>` . - -如果您使用[自动部署](../../../../topics/autodevops/stages.html#auto-deploy)来部署您的应用程序,则将自动使用此格式,并且无需您执行任何操作即可检测到指标. \ No newline at end of file diff --git a/docs/191.md b/docs/191.md deleted file mode 100644 index 8b58916..0000000 --- a/docs/191.md +++ /dev/null @@ -1,69 +0,0 @@ -# Monitoring NGINX Ingress Controller with VTS metrics - -> 原文:[https://docs.gitlab.com/ee/user/project/integrations/prometheus_library/nginx_ingress_vts.html](https://docs.gitlab.com/ee/user/project/integrations/prometheus_library/nginx_ingress_vts.html) - -* [Requirements](#requirements) -* [Metrics supported](#metrics-supported) -* [Configuring NGINX Ingress monitoring](#configuring-nginx-ingress-monitoring) - * [About managed NGINX Ingress deployments](#about-managed-nginx-ingress-deployments) - * [Manually setting up NGINX Ingress for Prometheus monitoring](#manually-setting-up-nginx-ingress-for-prometheus-monitoring) -* [Specifying the Environment label](#specifying-the-environment-label) - -# Monitoring NGINX Ingress Controller with VTS metrics[](#monitoring-nginx-ingress-controller-with-vts-metrics "Permalink") - -在 GitLab 9.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13438) . - -**注意:** [NGINX Ingress 版本 0.16](nginx_ingress.html)及更高[版本](nginx_ingress.html)具有内置的 Prometheus 度量标准,该度量标准与基于 VTS 的度量标准不同. - -GitLab 支持自动检测和监视 Kubernetes NGINX Ingress 控制器. 这是通过利用[版本 0.9.0](https://github.com/kubernetes/ingress-nginx/blob/master/Changelog.md#09-beta1)至[0.15.x 中](https://github.com/kubernetes/ingress-nginx/blob/master/Changelog.md#0150)随附的 VTS Prometheus 度量标准导出程序来[提供的](https://github.com/kubernetes/ingress-nginx/blob/master/Changelog.md#0150) . - -## Requirements[](#requirements "Permalink") - -[Prometheus 集成](../prometheus.html)必须处于活动状态. - -## Metrics supported[](#metrics-supported "Permalink") - -| Name | Query | -| --- | --- | -| 吞吐量(要求/秒) | `sum(rate(nginx_upstream_responses_total{upstream=~"%{kube_namespace}-%{ci_environment_slug}-.*"}[2m])) by (status_code)` | -| 延迟(毫秒) | `avg(nginx_upstream_response_msecs_avg{upstream=~"%{kube_namespace}-%{ci_environment_slug}-.*"})` | -| HTTP 错误率(%) | `sum(rate(nginx_upstream_responses_total{status_code="5xx", upstream=~"%{kube_namespace}-%{ci_environment_slug}-.*"}[2m])) / sum(rate(nginx_upstream_responses_total{upstream=~"%{kube_namespace}-%{ci_environment_slug}-.*"}[2m])) * 100` | - -## Configuring NGINX Ingress monitoring[](#configuring-nginx-ingress-monitoring "Permalink") - -如果您已经使用 GitLab 的[Kubernetes 集群集成](../../clusters/index.html#installing-applications)部署了 NGINX Ingress,则 Prometheus 将[自动对其进行监视](#about-managed-nginx-ingress-deployments) . - -对于其他部署,需要根据您的安装进行[一些配置](#manually-setting-up-nginx-ingress-for-prometheus-monitoring) : - -* NGINX Ingress 的版本应为 0.9.0 或更高版本,并启用指标. -* NGINX Ingress 应该标注为 Prometheus 监视. -* Prometheus 应该配置为监视带注释的容器. - -### About managed NGINX Ingress deployments[](#about-managed-nginx-ingress-deployments "Permalink") - -NGINX Ingress is deployed into the `gitlab-managed-apps` namespace, using the [official Helm chart](https://github.com/helm/charts/tree/master/stable/nginx-ingress). NGINX Ingress will be [externally reachable via the Load Balancer’s Endpoint](../../../clusters/applications.html#ingress). - -通过设置以下内容,将 NGINX 配置为进行 Prometheus 监视: - -* `enable-vts-status: "true"` ,以导出 Prometheus 指标. -* `prometheus.io/scrape: "true"` ,以启用自动发现. -* `prometheus.io/port: "10254"` ,以指定度量标准端口. - -与 GitLab 部署的 Prometheus 服务结合使用时,将自动收集响应指标. - -### Manually setting up NGINX Ingress for Prometheus monitoring[](#manually-setting-up-nginx-ingress-for-prometheus-monitoring "Permalink") - -[NGINX Ingress 的](https://github.com/kubernetes/ingress-nginx) 0.9.0 及更高版本具有对导出 Prometheus 指标的内置支持. 要启用,必须传递 ConfigMap 设置: `enable-vts-status: "true"` . 启用后,Prometheus 指标端点将开始在端口 10254 上运行. - -接下来,需要对 Ingress 进行注释,以进行 Prometheus 监视. 需要添加两个新的注释: - -* `prometheus.io/scrape: "true"` -* `prometheus.io/port: "10254"` - -管理这些设置取决于如何部署 NGINX Ingress. 如果您通过[官方 Helm 图表](https://github.com/helm/charts/tree/master/stable/nginx-ingress)进行了部署,则可以使用`controller.stats.enabled`以及所需的注释来启用指标. 或者,也可以直接在[Kubernetes 仪表板中](https://github.com/kubernetes/dashboard)编辑 NGINX Ingress YAML. - -## Specifying the Environment label[](#specifying-the-environment-label "Permalink") - -为了隔离并仅显示给定环境的相关指标,GitLab 需要一种方法来检测关联了哪些标签. 为此,GitLab 将搜索带有适当标签的指标. 在这种情况下, `upstream`标签的格式必须为`<KUBE_NAMESPACE>-<CI_ENVIRONMENT_SLUG>-*` . - -如果您使用[自动部署](../../../../topics/autodevops/stages.html#auto-deploy)来部署您的应用程序,则将自动使用此格式,并且无需您执行任何操作即可检测到指标. \ No newline at end of file diff --git a/docs/192.md b/docs/192.md deleted file mode 100644 index 57d5d45..0000000 --- a/docs/192.md +++ /dev/null @@ -1,210 +0,0 @@ -# Alert Management - -> 原文:[https://docs.gitlab.com/ee/user/project/operations/alert_management.html](https://docs.gitlab.com/ee/user/project/operations/alert_management.html) - -* [Enable Alert Management](#enable-alert-management) - * [Enable a Generic Alerts endpoint](#enable-a-generic-alerts-endpoint) - * [Enable GitLab-managed Prometheus alerts](#enable-gitlab-managed-prometheus-alerts) - * [Enable external Prometheus alerts](#enable-external-prometheus-alerts) -* [Alert Management severity](#alert-management-severity) -* [Alert Management list](#alert-management-list) - * [Alert Management list sorting](#alert-management-list-sorting) - * [Searching alerts](#searching-alerts) - * [Alert Management statuses](#alert-management-statuses) -* [Alert Management details](#alert-management-details) - * [Update an Alert’s status](#update-an-alerts-status) - * [Create an Issue from an Alert](#create-an-issue-from-an-alert) - * [Update an Alert’s assignee](#update-an-alerts-assignee) - * [Alert system notes](#alert-system-notes) - * [View an Alert’s metrics data](#view-an-alerts-metrics-data) -* [Use cases for assigning alerts](#use-cases-for-assigning-alerts) - * [Slack Notifications](#slack-notifications) - -# Alert Management[](#alert-management "Permalink") - -在 GitLab 13.0 中[引入](https://gitlab.com/groups/gitlab-org/-/epics/2877) . - -警报管理使开发人员可以轻松发现和查看其应用程序生成的警报. 通过在开发代码的地方显示警报信息,可以提高效率和知名度. - -## Enable Alert Management[](#enable-alert-management "Permalink") - -**注意:**您至少需要维护者[权限](../../permissions.html)才能启用警报管理功能. - -如下所述,有几种方法可以将警报接受到您的 GitLab 项目中. 启用任何这些方法将允许显示警报列表. 配置警报后,访问 您可以在项目的边栏中[查看](#alert-management-list) **操作>警报** ,以[查看](#alert-management-list)警报[列表](#alert-management-list) . - -### Enable a Generic Alerts endpoint[](#enable-a-generic-alerts-endpoint "Permalink") - -GitLab 提供了通用警报端点,因此您可以接受来自第三方警报服务的警报. 请参阅有关[切换常规警报](../integrations/generic_alerts.html#setting-up-generic-alerts)的[说明](../integrations/generic_alerts.html#setting-up-generic-alerts)以添加此选项. 配置端点后,将启用" [警报"列表](#alert-management-list) . - -要用数据填充警报,请参阅为警报端点的请求[自定义有效负载](../integrations/generic_alerts.html#customizing-the-payload) . - -### Enable GitLab-managed Prometheus alerts[](#enable-gitlab-managed-prometheus-alerts "Permalink") - -您可以在 Kubernetes 集群上安装 GitLab 管理的 Prometheus 应用程序. 有关更多信息,请参见[Kubernetes 上的 Managed Prometheus](../integrations/prometheus.html#managed-prometheus-on-kubernetes) . 安装了由 GitLab 管理的 Prometheus 时,也会启用[警报列表](#alert-management-list) . - -要用数据填充警报,请参阅[GitLab 管理的 Prometheus 实例](../../../operations/metrics/index.html#managed-prometheus-instances) . - -### Enable external Prometheus alerts[](#enable-external-prometheus-alerts "Permalink") - -您可以配置外部管理的 Prometheus 实例,以将警报发送到 GitLab. 要设置此配置,请参阅[配置 Prometheus](../../../operations/metrics/index.html#external-prometheus-instances)文档. 激活外部 Prometheus 配置也会启用" [警报"列表](#alert-management-list) . - -要用数据填充警报,请参阅[外部 Prometheus 实例](../../../operations/metrics/index.html#external-prometheus-instances) . - -## Alert Management severity[](#alert-management-severity "Permalink") - -警报的每个级别均包含一个形状和颜色编码独特的图标,以帮助您确定特定警报的严重性. 这些严重性图标可帮助您立即确定应优先调查的警报: - -[![Alert Management Severity System](img/56eeecad0f9627fae21bc6b196391ba7.png)](img/alert_management_severity_v13_0.png) - -警报包含以下图标之一: - -| Severity | Icon | 颜色(十六进制) | -| --- | --- | --- | -| Critical | | `#8b2615` | -| High | | `#c0341d` | -| Medium | | `#fca429` | -| Low | | `#fdbc60` | -| Info | | `#418cd8` | -| Unknown | | `#bababa` | - -## Alert Management list[](#alert-management-list "Permalink") - -**注意:**您将至少需要具有开发人员[权限](../../permissions.html)才能查看警报管理列表. - -您可以在以下位置找到警报管理列表 项目侧边栏中的**操作>警报** . 每个警报包含以下指标: - -[![Alert Management List](img/c932281f198053757ebfaf5a9b99b335.png)](img/alert_list_v13_1.png) - -* **严重性** -警报的当前重要性及其应受到的关注. -* **开始时间** -警报触发前多久. 此字段使用`X time ago`的标准 GitLab 模式,但细化的日期/时间工具提示支持此字段,具体取决于用户的语言环境. -* **警报说明** - The description of the alert, which attempts to capture the most meaningful data. -* **事件计数** -警报触发的次数. -* **问题** -指向为警报创建的事件问题的链接. -* **状态** -警报的[当前状态](#alert-management-statuses) . - -### Alert Management list sorting[](#alert-management-list-sorting "Permalink") - -在 GitLab 13.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/217745) . - -警报管理列表显示按开始时间排序的警报,但是您可以通过单击警报管理列表中的标题来更改排序顺序. - -要查看列是否可排序,请将鼠标指向标题. 可排序的列在列名旁边显示一个箭头,如以下示例所示: - -[![Alert Management List Sorting](img/b46359f55df1f2affc4fe493965ebd0a.png)](img/alert_list_sort_v13_1.png) - -### Searching alerts[](#searching-alerts "Permalink") - -在 GitLab 13.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/213884) . - -警报列表支持简单的自由文本搜索. - -[![Alert List Search](img/cf0c5e15a3b44eb89d7513b961d6a274.png)](img/alert_list_search_v13_1.png) - -此搜索过滤以下字段: - -* Title -* Description -* 监控工具 -* Service - -### Alert Management statuses[](#alert-management-statuses "Permalink") - -每个警报都包含一个状态下拉列表,以指示需要调查的警报. 标准警报状态包括已`triggered` ,已`acknowledged`和已`resolved` : - -* **触发** :没有人开始调查. -* **致谢** :有人正在积极调查问题. -* **解决** :不需要进一步的工作. - -## Alert Management details[](#alert-management-details "Permalink") - -**注意:**您至少需要具有开发人员[权限](../../permissions.html)才能查看警报管理详细信息. - -通过访问[警报管理列表](#alert-management-list)并从列表中选择一个警报,导航到警报管理详细信息视图. - -[![Alert Management Detail Overview](img/fd15df8f9a5a46582845610e8b5881bb.png)](img/alert_detail_overview_v13_1.png) - -[![Alert Management Full Details](img/393dab24a6c8be1031a4cf469f3039e9.png)](img/alert_detail_full_v13_1.png) - -### Update an Alert’s status[](#update-an-alerts-status "Permalink") - -警报管理详细信息视图使您可以更新警报状态. 有关更多详细信息,请参见[警报管理状态](#alert-management-statuses) . - -### Create an Issue from an Alert[](#create-an-issue-from-an-alert "Permalink") - -在 GitLab 13.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/217745) . - -警报管理详细信息视图使您可以创建问题,并使用从警报自动填充的描述来创建问题. 要创建问题,请单击**创建问题**按钮. 然后,您可以通过单击**查看问题**按钮从警报中**查看问题** . - -关闭与警报相关的 GitLab 问题会将警报的状态更改为"已解决". 有关[状态](#alert-management-statuses)的更多详细信息,请参阅[警报管理](#alert-management-statuses)状态. - -### Update an Alert’s assignee[](#update-an-alerts-assignee "Permalink") - -在 GitLab 13.1 中[引入](https://gitlab.com/groups/gitlab-org/-/epics/3066) . - -警报管理详细信息视图允许用户更新警报受让人. - -在大型团队中,共享警报的所有权,可能很难跟踪谁在调查和处理警报. 警报管理详细信息视图使您可以更新警报受让人: - -**注意:** manbetx 客户端打不开目前仅支持每个警报一个受让人. - -1. 要显示当前警报列表,请单击 **操作>警报** : - - [![Alert Management List View Assignee(s)](img/2ae8145aa44498bcadafa3451ee343b1.png)](img/alert_list_assignees_v13_1.png) - -2. 选择所需的警报以显示其**警报管理详细信息视图** : - - [![Alert Management Details View Assignee(s)](img/e80fdda43c295fbc39611b3d918d4b75.png)](img/alert_details_assignees_v13_1.png) - -3. 如果右侧栏没有展开,请单击 **展开侧边栏**以展开它. -4. 在右侧栏中,找到**受让人** ,然后点击**编辑** . 从下拉菜单中,选择要分配给警报的每个用户. GitLab 为每个用户创建一个[待办事项列表项](../../todos.html) . - - [![Alert Management Details View Assignee(s)](img/f7ae6b6be5d2dd02010825234555fee6.png)](img/alert_todo_assignees_v13_1.png) - -要删除受让人,请单击" **受让人"**下拉菜单旁边的" **编辑"** ,然后从**受让人**列表中取消选择该用户,或单击" **未分配"** . - -### Alert system notes[](#alert-system-notes "Permalink") - -在 GitLab 13.1 中[引入](https://gitlab.com/groups/gitlab-org/-/epics/3066) . - -当您对警报采取措施时,它会记录为系统注释,在"警报详细信息"视图中可见. 这为您提供了警报调查和分配历史的线性时间表. - -以下操作将产生系统注释: - -* [Updating the status of an alert](#update-an-alerts-status) -* [Creating an issue based on an alert](#create-an-issue-from-an-alert) -* [Assignment of an alert to a user](#update-an-alerts-assignee) - -[![Alert Management Details View System Notes](img/b6f3d1302a444a29689905582d97eb84.png)](img/alert_detail_system_notes_v13_1.png) - -### View an Alert’s metrics data[](#view-an-alerts-metrics-data "Permalink") - -在 GitLab 13.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/217768) . - -要查看警报的指标,请执行以下操作: - -1. 以具有 Developer 或更高[权限](../../permissions.html)的用户身份登录. -2. 导航 **操作>警报** . -3. 单击您要查看的警报. -4. 在警报标题下,单击" **指标"**选项卡. - -[![Alert Management Metrics View](img/ca33b4a75b3a1bc207dd2eddae8c3949.png)](img/alert_detail_metrics_v13_2.png) - -For GitLab-managed Prometheus instances, metrics data is automatically available for the alert, making it easy to see surrounding behavior. See [Managed Prometheus instances](../../../operations/metrics/index.html#managed-prometheus-instances) for information on setting up alerts. - -对于外部管理的 Prometheus 实例,您可以配置警报规则以在警报中显示图表. 有关如何正确配置警报规则的信息,请参阅[基于警报在事件问题中嵌入指标](../../../operations/metrics/embed.html#embedding-metrics-based-on-alerts-in-incident-issues) . 有关为自己管理的 Prometheus 实例设置警报的信息,请参阅[外部](../../../operations/metrics/index.html#external-prometheus-instances) Prometheus 实例. - -## Use cases for assigning alerts[](#use-cases-for-assigning-alerts "Permalink") - -考虑一个由监视的不同部分组成的团队,在单个应用程序上进行协作. 警报浮出水面之后,将警报发送给可以处理和解决警报的团队成员非常重要. - -将警报分配给多个受让人可以简化协作和委派. 所有分配者都显示在团队的工作流程中,并且所有分配者都会收到通知,从而简化了警报的通信和所有权. - -完成调查或修复警报的部分后,用户可以在角色完成后从警报中取消分配帐户. 可以更新[警报状态](#alert-management-statuses)以反映警报是否已解决. - -### Slack Notifications[](#slack-notifications "Permalink") - -在 GitLab 13.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/216326) . - -当收到新的警报时,可以通过 Slack 消息向您发出警报. - -有关如何进行设置的信息,请参阅[Slack Notifications Service 文档](../integrations/slack.html) . \ No newline at end of file diff --git a/docs/193.md b/docs/193.md deleted file mode 100644 index 6e8e156..0000000 --- a/docs/193.md +++ /dev/null @@ -1,98 +0,0 @@ -# Error Tracking - -> 原文:[https://docs.gitlab.com/ee/user/project/operations/error_tracking.html](https://docs.gitlab.com/ee/user/project/operations/error_tracking.html) - -* [Sentry error tracking](#sentry-error-tracking) - * [Deploying Sentry](#deploying-sentry) - * [Enabling Sentry](#enabling-sentry) - * [Enabling GitLab issues links](#enabling-gitlab-issues-links) -* [Error Tracking List](#error-tracking-list) -* [Error Details](#error-details) -* [Taking Action on errors](#taking-action-on-errors) - * [Ignoring errors](#ignoring-errors) - * [Resolving errors](#resolving-errors) - -# Error Tracking[](#error-tracking "Permalink") - -在 GitLab 11.8 中[引入](https://gitlab.com/groups/gitlab-org/-/epics/169) . - -错误跟踪使开发人员可以轻松发现和查看其应用程序可能产生的错误. 通过在开发代码的地方显示错误信息,可以提高效率和知名度. - -## Sentry error tracking[](#sentry-error-tracking "Permalink") - -[Sentry](https://sentry.io/)是一个开源错误跟踪系统. GitLab 允许管理员将 Sentry 连接到 GitLab,以允许用户查看 GitLab 中的 Sentry 错误列表. - -### Deploying Sentry[](#deploying-sentry "Permalink") - -您可以注册到托管在[https://sentry.io](https://sentry.io)上的云,部署自己[的本地实例](https://docs.sentry.io/server/installation/)或使用 GitLab [将 Sentry 安装到 Kubernetes 集群](../../clusters/applications.html#install-sentry-using-gitlab-cicd) . - -### Enabling Sentry[](#enabling-sentry "Permalink") - -**注意:**您至少需要维护者[权限](../../permissions.html)才能启用 Sentry 集成. - -GitLab 提供了一种将 Sentry 连接到您的项目的简便方法: - -1. 注册到 Sentry.io 或[部署您自己的](#deploying-sentry) Sentry 实例. -2. [创建](https://docs.sentry.io/guides/integrate-frontend/create-new-project/)一个新的 Sentry 项目. 对于您要集成的每个 GitLab 项目,我们建议您创建一个新的 Sentry 项目. -3. [查找或生成](https://docs.sentry.io/api/auth/)您的 Sentry 项目的 Sentry 身份验证令牌. 确保至少给令牌以下范围: `event:read`和`project:read` . -4. 导航到项目的**"设置">"操作"** . -5. 确保设置了**活动**复选框. -6. 在**Sentry API URL**字段中,输入您的 Sentry 主机名. 例如,如果这是您的 Sentry 实例可用的地址,请输入`https://sentry.example.com` . 对于 Sena 的 SaaS 版本,主机名将为`https://sentry.io` . -7. 在" **验证令牌"**字段中,输入您先前生成的令牌. -8. 单击" **连接"**按钮以测试与 Sentry 的连接并填充" **项目"**下拉列表. -9. 从**项目**下拉菜单中,选择一个 Sentry 项目以链接到您的 GitLab 项目. -10. 单击**保存更改**以使更改生效. -11. 现在,您可以在项目的侧栏中访问" **操作">"错误跟踪"** ,以[查看](#error-tracking-list) Sentry 错误[的列表](#error-tracking-list) . - -### Enabling GitLab issues links[](#enabling-gitlab-issues-links "Permalink") - -您可能还需要按照[Sentry 文档中](https://docs.sentry.io/workflow/integrations/global-integrations/#gitlab)的步骤来启用 Sentry 的 GitLab 集成. - -## Error Tracking List[](#error-tracking-list "Permalink") - -**注意:**您将至少需要 Reporter [权限](../../permissions.html)才能查看"错误跟踪"列表. - -您可以在项目的边栏中的" **操作">"错误跟踪"**中找到"错误跟踪"列表. 在这里,您可以按标题或状态("已忽略","已解决"或"未解决"之一)过滤错误,并按"频率","首次看到"或"最后看到"的降序排列. 默认情况下,错误列表按"上次发现"排序,并过滤为"未解决的错误". - -[![Error Tracking list](img/8375b8805ee35febb22389954e463cb3.png)](img/error_tracking_list_v12_6.png) - -## Error Details[](#error-details "Permalink") - -从错误列表中,用户可以通过单击任何错误的标题导航到错误详细信息页面. - -该页面具有: - -* 哨兵问题的链接. -* 如果 Sentry Issue 的第一个发行[版](https://docs.sentry.io/workflow/releases/?platform=javascript#configure-sdk)的 Sentry [版本 ID /版本](https://docs.sentry.io/workflow/releases/?platform=javascript#configure-sdk)与您的 GitLab 托管项目中的提交 SHA 匹配,则指向 GitLab 提交的链接. -* 有关该问题的其他详细信息,包括完整的堆栈跟踪. -* 在[GitLab 12.7 及更高版本中](https://gitlab.com/gitlab-org/gitlab/-/issues/36246) ,显示语言和紧急度. - -默认情况下,显示**创建问题**按钮: - -[![Error Details without Issue Link](img/8d66587fae4dab1dca05f85389caa499.png)](img/error_details_v12_7.png) - -如果您从错误中创建了一个 GitLab 问题,则" **创建问题"**按钮将变为" **查看问题"**按钮,并且指向 GitLab 问题的链接将出现在"错误详细信息"部分中: - -[![Error Details with Issue Link](img/2fed535a429569e1ae792fb3960bcdd5.png)](img/error_details_with_issue_v12_8.png) - -## Taking Action on errors[](#taking-action-on-errors "Permalink") - -您可以从 GitLab UI 中对哨兵错误采取措施. - -### Ignoring errors[](#ignoring-errors "Permalink") - -在 GitLab 12.7 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/39665) . - -在" [错误详细信息"](#error-details)页面中,只需单击页面顶部附近的" **忽略"**按钮,就可以忽略 Sentry 错误. - -忽略错误将阻止它出现在" [错误跟踪列表"中](#error-tracking-list) ,并将使 Sentry 中设置的通知静音. - -### Resolving errors[](#resolving-errors "Permalink") - -在 GitLab 12.7 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/39825) . - -在" [错误详细信息"](#error-details)页面中,您可以通过单击页面顶部附近的" **解决"**按钮来解决 Sentry 错误. - -将错误标记为已解决表示错误已停止触发事件. 如果 GitLab 问题与错误相关联,则该问题将被关闭. - -如果发生另一个事件,该错误将恢复为未解决. \ No newline at end of file diff --git a/docs/194.md b/docs/194.md deleted file mode 100644 index 7f6bbcc..0000000 --- a/docs/194.md +++ /dev/null @@ -1,32 +0,0 @@ -# Tracing - -> 原文:[https://docs.gitlab.com/ee/operations/tracing.html](https://docs.gitlab.com/ee/operations/tracing.html) - -* [Jaeger tracing](#jaeger-tracing) - * [Deploying Jaeger](#deploying-jaeger) - * [Enabling Jaeger](#enabling-jaeger) - -# Tracing[](#tracing-ultimate "Permalink") - -在 GitLab Ultimate 11.5 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/7903) . - -跟踪提供对已部署应用程序的性能和运行状况的洞察力,跟踪处理给定请求的每个功能或微服务. - -不管您使用的是整体系统还是分布式系统,这都可以轻松理解请求的端到端流程. - -## Jaeger tracing[](#jaeger-tracing "Permalink") - -[Jaeger](https://www.jaegertracing.io/)是一个开源的,端到端的分布式跟踪系统,用于监视和调试基于微服务的分布式系统. - -### Deploying Jaeger[](#deploying-jaeger "Permalink") - -要了解有关部署 Jaeger 的更多信息,请阅读官方的《 [入门指南》文档](https://www.jaegertracing.io/docs/latest/getting-started/) . 有一个易于使用[的多合一 Docker 映像](https://www.jaegertracing.io/docs/latest/getting-started/#AllinoneDockerimage) ,以及[Kubernetes](https://github.com/jaegertracing/jaeger-kubernetes)和[OpenShift 的](https://github.com/jaegertracing/jaeger-openshift)部署选项. - -### Enabling Jaeger[](#enabling-jaeger "Permalink") - -GitLab 提供了一种从项目内部打开 Jaeger UI 的简便方法: - -1. 使用[客户端库](https://www.jaegertracing.io/docs/latest/client-libraries/)之一[设置 Jaeger](https://www.jaegertracing.io)并配置您的应用[程序](https://www.jaegertracing.io/docs/latest/client-libraries/) . -2. 导航到项目的**"设置">"操作",**然后提供 Jaeger URL. -3. 单击**保存更改**以使更改生效. -4. 现在,您可以在项目的侧边栏中访问" **操作">"跟踪"** ,GitLab 会将您重定向到已配置的 Jaeger URL. \ No newline at end of file diff --git a/docs/195.md b/docs/195.md deleted file mode 100644 index 95186af..0000000 --- a/docs/195.md +++ /dev/null @@ -1,104 +0,0 @@ -# Incident Management - -> 原文:[https://docs.gitlab.com/ee/user/incident_management/](https://docs.gitlab.com/ee/user/incident_management/) - -* [Configure incidents](#configure-incidents-ultimate) - * [Notify developers of alerts](#notify-developers-of-alerts) -* [Configure PagerDuty integration](#configure-pagerduty-integration) -* [Configure Prometheus alerts](#configure-prometheus-alerts) -* [Configure external generic alerts](#configure-external-generic-alerts) -* [Embed metrics in incidents and issues](#embed-metrics-in-incidents-and-issues) - * [Context menu](#context-menu) - * [View logs from metrics panel](#view-logs-from-metrics-panel) -* [Integrate incidents with Slack](#integrate-incidents-with-slack) -* [Integrate issues with Zoom](#integrate-issues-with-zoom) - -# Incident Management[](#incident-management "Permalink") - -GitLab 提供了用于处理应用程序和服务中的事件的解决方案,例如设置 Prometheus 警报,显示指标和发送通知. - -## Configure incidents[](#configure-incidents-ultimate "Permalink") - -在 GitLab Ultimate 11.11 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/4925) . - -您可以在 GitLab 用户界面中启用或禁用事件管理功能,以在触发警报时创建问题: - -1. 导航 **设置>操作>事件,**然后展开**事件** : - - [![Incident Management Settings](img/f652f5dac5bec0bb81edc08cbfd7a01b.png)](img/incident_management_settings.png) - -2. 对于 GitLab 11.11 及更高版本,您可以选中**创建问题**复选框以根据自己的[问题模板](../project/description_templates.html#creating-issue-templates)创建[问题](../project/description_templates.html#creating-issue-templates) . 有关更多信息,请参阅[从警报触发操作](../../operations/metrics/alerts.html#trigger-actions-from-alerts-ultimate) . -3. 要从警报中创建问题,请在" **问题模板"**选择框中选择**模板** . -4. 要向具有[开发者权限的](../permissions.html)用户发送[单独的电子邮件通知](#notify-developers-of-alerts) ,请选择" **向开发者发送单独的电子邮件通知"** . -5. Click **保存更改**. - -适当配置的警报包括与警报相对应的查询的[嵌入式图表](../../operations/metrics/embed.html#embedding-metrics-based-on-alerts-in-incident-issues) . 您还可以将 GitLab 配置为在收到警报已解决的通知时[关闭问题](../../operations/metrics/alerts.html#trigger-actions-from-alerts-ultimate) . - -### Notify developers of alerts[](#notify-developers-of-alerts "Permalink") - -GitLab 可以通过创建问题并通过电子邮件提醒开发人员来应对您的应用程序和服务触发的警报. 默认情况下,GitLab 将这些电子邮件发送给项目的[所有者和维护者](../permissions.html) . 这些电子邮件包含警报的详细信息以及更多信息的链接. - -要将单独的电子邮件通知发送给具有[开发者权限的](../permissions.html)用户,请参阅[配置事件](#configure-incidents-ultimate) . - -## Configure PagerDuty integration[](#configure-pagerduty-integration "Permalink") - -在 GitLab 13.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/119018) . - -您可以使用 PagerDuty 设置一个 Webhook,以便为每个 PagerDuty 事件自动创建一个 GitLab 问题. 此配置要求您同时更改 PagerDuty 和 GitLab: - -1. 以具有维护者[权限](../permissions.html)的用户身份登录. -2. 导航 **设置>操作>事件,**然后展开**事件** . -3. 选择**PagerDuty 集成**选项卡: - - [![PagerDuty incidents integration](img/370ac43323901b08b905644b04f6a802.png)](img/pagerduty_incidents_integration_13_2.png) - -4. 激活集成,并将更改保存在 GitLab 中. -5. 复制**Webhook URL**的值, **以**供以后使用. -6. 按照[PagerDuty 文档中](https://support.pagerduty.com/docs/webhooks)描述的步骤,将[Webhook](https://support.pagerduty.com/docs/webhooks) URL 添加到 PagerDuty Webhook 集成中. - -为了确认集成成功,从 PagerDuty 触发一个测试事件以确认是否从该事件中创建了一个 GitLab 问题. - -## Configure Prometheus alerts[](#configure-prometheus-alerts "Permalink") - -您可以在以下位置设置 Prometheus 警报: - -* [GitLab-managed Prometheus](../../operations/metrics/alerts.html) installations. -* [Self-managed Prometheus](../../operations/metrics/alerts.html#external-prometheus-instances) installations. - -Prometheus 警报由特殊的警报机器人用户创建. 您无法删除此用户,但不计入您的许可限制. - -## Configure external generic alerts[](#configure-external-generic-alerts "Permalink") - -GitLab 可以通过通用的 Webhook 接收器接受来自任何来源的警报. 在[配置通用警报集成时](../project/integrations/generic_alerts.html) ,GitLab 会创建一个唯一的端点,该端点接收 JSON 格式的可自定义负载. - -## Embed metrics in incidents and issues[](#embed-metrics-in-incidents-and-issues "Permalink") - -您可以在使用[GitLab Markdown 的](../markdown.html)任何地方嵌入指标,例如描述,问题评论和合并请求. 嵌入指标可帮助您在讨论事件或性能问题时共享它们. 通过[将链接复制并粘贴到指标仪表盘](../../operations/metrics/embed.html#embedding-gitlab-managed-kubernetes-metrics) ,您可以将仪表盘直接输出到 GitLab 中的任何问题,合并请求,史诗或其他 Markdown 文本字段中. - -您可以将[GitLab 托管的指标](../../operations/metrics/embed.html)和[Grafana 指标](../../operations/metrics/embed_grafana.html)都嵌入事件和问题模板中. - -### Context menu[](#context-menu "Permalink") - -您可以从上下文菜单中查看有关嵌入式指标面板的更多详细信息. 要访问上下文菜单,请单击 面板右上角上方的**更多操作**下拉框. 选项包括: - -* [View logs](#view-logs-from-metrics-panel). -* **下载 CSV-**嵌入式图表中的数据可以[CSV 格式下载](../../operations/metrics/dashboards/index.html#downloading-data-as-csv) . - -#### View logs from metrics panel[](#view-logs-from-metrics-panel "Permalink") - -版本历史 - -* 在 GitLab Ultimate 12.8 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/201846) . -* [移至](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/25455) [GitLab Core](https://about.gitlab.com/pricing/) 12.9\. - -如果您要对应用程序事件进行分类并需要[浏览](../../operations/metrics/dashboards/index.html#view-logs-ultimate)整个应用程序中的日志,则从指标面板查看日志可能会很有用. 这些日志可帮助您了解影响应用程序性能的因素并解决所有问题. - -## Integrate incidents with Slack[](#integrate-incidents-with-slack "Permalink") - -使用 Slack 斜杠命令,您可以控制 GitLab 并查看 GitLab 内容,而无需离开 Slack. - -了解如何[设置 Slack 斜杠命令](../project/integrations/slack_slash_commands.html)以及如何[使用可用的斜杠命令](../../integration/slash_commands.html) . - -## Integrate issues with Zoom[](#integrate-issues-with-zoom "Permalink") - -通过 GitLab,您可以[将 Zoom 会议与](../project/issues/associate_zoom_meeting.html)事件[相关联,](../project/issues/associate_zoom_meeting.html)以便在事件管理期间进行同步通信. 在启动事件的 Zoom 呼叫后,您可以将电话会议与问题关联. 您的团队成员无需请求链接即可加入 Zoom 通话. \ No newline at end of file diff --git a/docs/196.md b/docs/196.md deleted file mode 100644 index 2514473..0000000 --- a/docs/196.md +++ /dev/null @@ -1,125 +0,0 @@ -# GitLab Status Page - -> 原文:[https://docs.gitlab.com/ee/user/project/status_page/](https://docs.gitlab.com/ee/user/project/status_page/) - -* [How to set up](#how-to-set-up) - * [Cloud account set up](#cloud-account-set-up) - * [AWS Setup](#aws-setup) - * [Status Page project](#status-page-project) - * [Syncing incidents to the Status Page](#syncing-incidents-to-the-status-page) -* [Status Page UI](#status-page-ui) - * [Incident detail page](#incident-detail-page) -* [How it works](#how-it-works) - * [Publishing Incidents](#publishing-incidents) - * [Publishing updates](#publishing-updates) - * [Adding comments](#adding-comments) - * [Changing the Incident status](#changing-the-incident-status) -* [Attachment storage](#attachment-storage) - * [Limit](#limit) - -# GitLab Status Page[](#gitlab-status-page-ultimate "Permalink") - -[Introduced](https://gitlab.com/groups/gitlab-org/-/epics/2479) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.10. - -通过 GitLab 状态页面,您可以创建和部署静态网站,以便在事件发生时与用户进行有效沟通. - -## How to set up[](#how-to-set-up "Permalink") - -**注意:**仅支持将 AWS S3 作为部署目标.图 TB 子图 GitLab 实例问题(问题更新)-触发器->中间件(背景工作:JSON 生成)结束子图 Cloud Provider 中间件-保存数据-> c1(云桶存储 JSON 文件)结束子图状态页 d( CDN 上的静态站点)-获取数据-> C1 端 - -设置状态页面非常简单,但是您需要做一些事情. - -### Cloud account set up[](#cloud-account-set-up "Permalink") - -要使用 GitLab 状态页,您首先需要在操作设置页中为您的云提供商设置帐户详细信息. 今天,仅支持 AWS. - -#### AWS Setup[](#aws-setup "Permalink") - -1. 在您的 AWS acccout 中,创建两个新的 IAM 策略. - * [创建存储桶](https://gitlab.com/gitlab-org/status-page/-/blob/master/deploy/etc/s3_create_policy.json) . - * [更新存储桶内容](https://gitlab.com/gitlab-org/status-page/-/blob/master/deploy/etc/s3_update_bucket_policy.json) (请记住用您的存储桶名称替换`S3_BUCKET_NAME` ). -2. 使用第一步中创建的权限策略创建一个新的 AWS 访问密钥. - -### Status Page project[](#status-page-project "Permalink") - -要将状态页面部署到 AWS S3,您需要添加状态页面项目并配置必要的 CI 变量. - -1. 分叉[状态页](https://gitlab.com/gitlab-org/status-page)项目. 这也可以通过" [存储库镜像"](https://gitlab.com/gitlab-org/status-page#repository-mirroring)来完成,这将确保您获得最新的"状态页"功能. -2. 在**设置> CI / CD>变量中**添加以下**变量** . (要从 Amazon 获取这些变量,请使用您的 Amazon Console): - * `S3_BUCKET_NAME` -Amazon S3 存储桶的名称(如果不存在具有提供名称的存储桶,则第一个管道运行将创建一个并为[静态网站托管](https://docs.aws.amazon.com/AmazonS3/latest/dev/HostingWebsiteOnS3Setup.html)配置它) - * `AWS_DEFAULT_REGION` -AWS 区域 - * `AWS_ACCESS_KEY_ID` -AWS 访问密钥 ID - * `AWS_SECRET_ACCESS_KEY` -AWS 秘密 -3. 运行管道以将状态页部署到 S3. - -### Syncing incidents to the Status Page[](#syncing-incidents-to-the-status-page "Permalink") - -设置 CI / CD 变量后,您需要设置要用于事件问题的项目: - -1. 要查看" [操作设置"](../settings/#operations-settings)页面,请导航至 **设置>操作>状态页面** . -2. 填写您的云提供商的凭据,并确保已选中" **活动"**复选框. -3. Click **保存更改**. - -## Status Page UI[](#status-page-ui "Permalink") - -"状态页面"登录页面显示了最近事件的概述. 单击事件将带您到事件的详细信息页面. - -[![Status Page landing page](img/d4a6279fcd73fa0a1dc68761261f4854.png)](../img/status_page_incidents_v12_10.png) - -### Incident detail page[](#incident-detail-page "Permalink") - -事件详细信息页面显示有关特定事件的详细信息. 例如: - -* 事件的状态,包括事件的最新更新时间. -* 事件标题,包括所有表情符号. -* 事件描述,包括表情符号. -* 事件描述或注释中提供的带有有效图像扩展名的任何文件附件. 在 GitLab 13.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/205166) . -* 按时间顺序排列的事件更新列表. - -[![Status Page detail](img/8f8d204a16e9c896b01a62220529b921.png)](../img/status_page_detail_v12_10.png) - -## How it works[](#how-it-works "Permalink") - -### Publishing Incidents[](#publishing-incidents "Permalink") - -要发布事件,您首先需要在启用状态页设置的项目中创建一个问题. - -默认情况下,问题不会发布到状态页面. 在问题中使用`/publish` [快速操作](../quick_actions.html)来发布问题. 仅[项目或小组所有者](../../permissions.html)可以发布问题. - -使用快速操作后,后台工作人员将使用在安装过程中提供的凭据将问题发布到"状态页"上. - -由于所有事件都是公开发布的,因此用户和组提及将由`Incident Responder`匿名,并且非公共[GitLab 参考的](../../markdown.html#special-gitlab-references)标题也将被删除. - -When an Incident is published in the GitLab project, you can access the details page of the Incident by clicking the **在状态页上发布** button displayed under the Incident’s title. - -[![Status Page detail link](img/3c9cb466046f19c70255f0de753a307c.png)](../img/status_page_detail_link_v13_1.png) - -**注意:**机密性问题无法发布. 如果您将已发布的问题设为机密,则它将不会发布. - -### Publishing updates[](#publishing-updates "Permalink") - -要发布事件更新,请更新事件问题的描述. - -**小心:**更改引用的问题(例如标题,机密性)时,引用的事件不会自动更新. - -### Adding comments[](#adding-comments "Permalink") - -要将评论添加到状态页事件中,请对事件问题创建评论. - -准备发布评论时,请在评论中添加麦克风[奖表情符号](../../../user/award_emojis.html)反应( `:microphone` ). 这会将注释标记为应部署到状态页的注释. - -**警告:**有权查看问题的任何人都可以在评论中添加表情符号奖,因此您可能希望将问题仅限于团队成员. - -### Changing the Incident status[](#changing-the-incident-status "Permalink") - -要将事件状态从`open`更改为`closed` ,请在 GitLab 中关闭事件问题. 然后将在状态页面网站上对此进行更新. - -## Attachment storage[](#attachment-storage "Permalink") - -在 GitLab 13.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/205166) . - -从 GitLab 13.1 开始,作为[发布流程的](#how-it-works)一部分,附加到事件问题描述或注释的文件将被发布和未发布到状态页存储中. - -### Limit[](#limit "Permalink") - -每个问题仅 5000 个附件将被转移到状态页面. \ No newline at end of file diff --git a/docs/197.md b/docs/197.md deleted file mode 100644 index 9b247ba..0000000 --- a/docs/197.md +++ /dev/null @@ -1,290 +0,0 @@ -# Feature Flags - -> 原文:[https://docs.gitlab.com/ee/operations/feature_flags.html](https://docs.gitlab.com/ee/operations/feature_flags.html) - -* [How it works](#how-it-works) -* [Create a feature flag](#create-a-feature-flag) -* [Rollout strategy (legacy)](#rollout-strategy-legacy) -* [Feature flag strategies](#feature-flag-strategies) - * [All users](#all-users) - * [Percent of Users](#percent-of-users) - * [User IDs](#user-ids) - * [User List](#user-list) - * [Enable or disable feature flag strategies](#enable-or-disable-feature-flag-strategies) -* [Disable a feature flag for a specific environment](#disable-a-feature-flag-for-a-specific-environment) -* [Disable a feature flag for all environments](#disable-a-feature-flag-for-all-environments) -* [Integrate feature flags with your application](#integrate-feature-flags-with-your-application) - * [Get access credentials](#get-access-credentials) - * [Choose a client library](#choose-a-client-library) - * [Feature flags API information](#feature-flags-api-information) - * [Golang application example](#golang-application-example) - * [Ruby application example](#ruby-application-example) -* [Feature Flag Related Issues](#feature-flag-related-issues) - * [Enable or disable Feature Flag Related Issues](#enable-or-disable-feature-flag-related-issues-core-only) - -# Feature Flags[](#feature-flags-premium "Permalink") - -在 GitLab 11.4 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/7433) . - -借助功能标志,您可以将应用程序的新功能部署到较小的批量生产中. 您可以将功能打开或关闭到部分用户,以帮助您实现持续交付. 功能标记有助于降低风险,使您能够进行受控测试,并将功能交付与客户发布分开. - -有关实际使用的功能标志的示例,请参阅[用于部署的 GitLab,功能标志和错误跟踪](https://www.youtube.com/embed/5tw2p6lwXxo) . - -## How it works[](#how-it-works "Permalink") - -GitLab 使用功能切换服务[Unleash](https://github.com/Unleash/unleash) . - -通过在 GitLab 中启用或禁用标记,您的应用程序可以确定要启用或禁用的功能. - -您可以在 GitLab 中创建功能标记,并使用应用程序中的 API 来获取功能标记及其状态的列表. 必须将应用程序配置为与 GitLab 进行通信,因此,开发人员可以使用兼容的客户端库并将[功能标记集成到您的应用程序中](#integrate-feature-flags-with-your-application) . - -## Create a feature flag[](#create-a-feature-flag "Permalink") - -要创建并启用功能标志: - -1. 导航到项目的" **操作">"功能标志"** . -2. 单击**新功能标志**按钮. -3. 输入一个以字母开头的名称,该名称仅包含小写字母,数字,下划线( `_` )或破折号( `-` ),并且不以破折号( `-` )或下划线( `_` )结尾. -4. 输入描述(可选,最多 255 个字符). -5. Enter details about how the flag should be applied: - * 在 GitLab 13.0 和更早版本中,添加**Environment specs** . 对于每个环境,包括" **状态"** (默认启用)和" [**部署"策略**](#rollout-strategy-legacy) (默认为" **所有用户"** ). - * 在 GitLab 13.1 和更高版本中,添加 Feature Flag [**Strategies**](#feature-flag-strategies) . 对于每种策略,请包括" **类型"** (默认为" [**所有用户"**](#all-users) )和" **环境"** (默认为所有环境). -6. Click **创建功能标志**. - -您可以通过单击 列表中任何功能标志旁边的(编辑)按钮. - -## Rollout strategy (legacy)[](#rollout-strategy-legacy "Permalink") - -在 GitLab 12.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/8240) . - -在 GitLab 13.0 和更早版本中," **推出"策略**设置会影响哪些用户将启用该功能. 选择要启用该功能的用户百分比. 如果禁用环境规范,则推出策略将无效. - -可以设置为: - -* 全部用户 -* [Percent of users](#percent-of-users) - * (可选)您可以单击" **包括其他用户 ID"**复选框,并添加特定用户 ID 列表以启用该功能. -* [User IDs](#user-ids) - -## Feature flag strategies[](#feature-flag-strategies "Permalink") - -版本历史 - -* 在 GitLab 13.0 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/35555) . -* 它部署在功能标记后面,默认情况下处于禁用状态. -* 在 GitLab.com 上启用了它. -* 要在 GitLab 自管实例中使用它,请让 GitLab 管理员[启用它](#enable-or-disable-feature-flag-strategies) . - -您可以在多个环境中应用功能标记策略,而无需多次定义策略. - -GitLab 功能标志使用[Unleash](https://unleash.github.io)作为功​​能标志引擎. 在"释放"中,有用于粒度特征标志控件的[策略](https://unleash.github.io/docs/activation_strategy) . GitLab 功能标志可以有多种策略,支持的策略有: - -* [All users](#all-users) -* [Percent of Users](#percent-of-users) -* [User IDs](#user-ids) -* [User List](#user-list) - -可以在[创建](#create-a-feature-flag)功能部件标记时将策略添加到功能部件标记,也可以在[创建](#create-a-feature-flag)后通过导航到" **操作">"功能部件标记"**并单击以编辑现有功能部件标记 (编辑). - -### All users[](#all-users "Permalink") - -为所有用户启用该功能. 它使用[`default`](https://unleash.github.io/docs/activation_strategy#default)释放激活策略. - -### Percent of Users[](#percent-of-users "Permalink") - -为一定百分比的已认证用户启用该功能. 它使用[`gradualRolloutUserId`](https://unleash.github.io/docs/activation_strategy#gradualrolloutuserid)释放激活策略. - -例如,将值设置为 15%即可为 15%的经过身份验证的用户启用该功能. - -推出百分比可以从 0%到 100%. - -**注意:**对于已登录的用户,但对于匿名用户,保证了粘性(同一用户的一致应用程序行为).**警告:**如果选择此策略,则**必须**为 Unleash 客户端提供一个用户 ID,以启用该功能. 请参见下面的[Ruby 示例](#ruby-application-example) . - -### User IDs[](#user-ids "Permalink") - -在 GitLab 12.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/8240) . [更新](https://gitlab.com/gitlab-org/gitlab/-/issues/34363)为在 GitLab 12.6 中按环境定义. - -为目标用户列表启用该功能. 它是使用 Unleash [`userWithId`](https://unleash.github.io/docs/activation_strategy#userwithid)激活策略实现的. - -输入用户 ID 作为逗号分隔的值列表. 例如, `user@example.com, user2@example.com`或`username1,username2,username3`等. - -**注意:**用户 ID 是您的应用程序用户的标识符. 他们不必是 GitLab 用户.**注意:** **必须**为 Unleash 客户端提供用户 ID,才能为目标用户启用该功能. 请参见下面的[Ruby 示例](#ruby-application-example) . - -### User List[](#user-list "Permalink") - -在 GitLab 13.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/35930) . - -为使用[Feature Flag User List API](../api/feature_flag_user_lists.html)创建的[用户列表](../api/feature_flag_user_lists.html)启用功能. 与[用户 ID](#user-ids)相似,它使用 Unleash [`userWithId`](https://unleash.github.io/docs/activation_strategy#userwithid)激活策略. - -### Enable or disable feature flag strategies[](#enable-or-disable-feature-flag-strategies "Permalink") - -此功能正在开发中,但已准备好进行测试. 它部署在**默认情况下禁用**的功能标志的后面. [有权访问 GitLab Rails 控制台的 GitLab 管理员](../administration/feature_flags.html)可以为您的实例启用它. - -要启用它: - -``` -Feature.enable(:feature_flags_new_version) -``` - -禁用它: - -``` -Feature.disable(:feature_flags_new_version) -``` - -## Disable a feature flag for a specific environment[](#disable-a-feature-flag-for-a-specific-environment "Permalink") - -在[GitLab 13.0 和更早版本中](https://gitlab.com/gitlab-org/gitlab/-/issues/8621) ,要为特定环境禁用功能标志: - -1. 导航到项目的" **操作">"功能标志"** . -2. 对于要禁用的功能标志,请单击"铅笔"图标. -3. 禁用标志: - - * 在 GitLab 13.0 和更低版本中:滑动环境的"状态"切换. 或者,要删除环境规范,请单击右侧的" **删除(X)"**图标. - * 在 GitLab 13.1 及更高版本:对于每一个战略,它适用于在**环境** ,删除环境. -4. Click **保存更改**. - -## Disable a feature flag for all environments[](#disable-a-feature-flag-for-all-environments "Permalink") - -禁用所有环境的功能标志: - -1. 导航到项目的" **操作">"功能标志"** . -2. 对于要禁用的功能标志,请将状态切换滑动到**禁用** . - -功能标志显示在" **禁用"**选项卡上. - -## Integrate feature flags with your application[](#integrate-feature-flags-with-your-application "Permalink") - -要在应用程序中使用功能标志,请从 GitLab 获取访问凭据. 然后使用客户端库准备您的应用程序. - -### Get access credentials[](#get-access-credentials "Permalink") - -要获取您的应用程序需要与 GitLab 通信的访问凭据: - -1. 导航到项目的" **操作">"功能标志"** . -2. 单击**配置**按钮以查看以下内容: - * **API URL** :客户端(应用程序)连接以获取功能标志列表的 URL. - * **实例 ID** :授权检索功能标志的唯一令牌. - * **应用程序名称** :运行环境的名称. 例如,如果应用程序为生产服务器运行,则应用程序名称将为`production`或类似名称. 该值用于环境规格评估. - -**注意:**这些字段的含义可能会随着时间而改变. 例如,我们不确定**实例 ID**是分配给**Environment 的**是单个令牌还是多个令牌. 另外, **应用程序名称**可以描述应用程序的版本,而不是运行环境. - -### Choose a client library[](#choose-a-client-library "Permalink") - -GitLab 实现与 Unleash 客户端兼容的单个后端. - -使用 Unleash 客户端,开发人员可以在应用程序代码中定义标志的默认值. 如果提供的配置文件中不存在该标志,则每个功能标志评估都可以表达所需的结果. - -目前,Unleash [提供了许多用于各种语言和框架的 SDK](https://github.com/Unleash/unleash#client-implementations) . - -### Feature flags API information[](#feature-flags-api-information "Permalink") - -有关 API 的内容,请参见: - -* [Feature Flags API](../api/feature_flags.html) -* [功能标志规范 API](../api/feature_flag_specs.html) (已[在 GitLab 14.0 中](https://gitlab.com/gitlab-org/gitlab/-/issues/213369)弃用并[计划将其删除](https://gitlab.com/gitlab-org/gitlab/-/issues/213369) .) -* [Feature Flag User Lists API](../api/feature_flag_user_lists.html) -* [Legacy Feature Flags API](../api/feature_flags_legacy.html) - -### Golang application example[](#golang-application-example "Permalink") - -这是一个如何在 Golang 应用程序中集成特征标记的示例: - -``` -package main - -import ( - "io" - "log" - "net/http" - - "github.com/Unleash/unleash-client-go" -) - -type metricsInterface struct { -} - -func init() { - unleash.Initialize( - unleash.WithUrl("https://gitlab.com/api/v4/feature_flags/unleash/42"), - unleash.WithInstanceId("29QmjsW6KngPR5JNPMWx"), - unleash.WithAppName("production"), - unleash.WithListener(&metricsInterface{}), - ) -} - -func helloServer(w http.ResponseWriter, req *http.Request) { - if unleash.IsEnabled("my_feature_name") { - io.WriteString(w, "Feature enabled\n") - } else { - io.WriteString(w, "hello, world!\n") - } -} - -func main() { - http.HandleFunc("/", helloServer) - log.Fatal(http.ListenAndServe(":8080", nil)) -} -``` - -### Ruby application example[](#ruby-application-example "Permalink") - -这是一个如何在 Ruby 应用程序中集成功能标记的示例. - -为 Unleash 客户端提供了一个用户 ID,以与" **百分比"卷展栏(已登录用户)卷**展策略或" **目标用户"**列表一起使用. - -``` -#!/usr/bin/env ruby - -require 'unleash' -require 'unleash/context' - -unleash = Unleash::Client.new({ - url: 'http://gitlab.com/api/v4/feature_flags/unleash/42', - app_name: 'production', - instance_id: '29QmjsW6KngPR5JNPMWx' -}) - -unleash_context = Unleash::Context.new -# Replace "123" with the id of an authenticated user. -# Note that the context's user id must be a string: -# https://unleash.github.io/docs/unleash_context -unleash_context.user_id = "123" - -if unleash.is_enabled?("my_feature_name", unleash_context) - puts "Feature enabled" -else - puts "hello, world!" -end -``` - -## Feature Flag Related Issues[](#feature-flag-related-issues "Permalink") - -版本历史 - -* 在 GitLab 13.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/36617) . -* 它部署在默认情况下启用的功能标志后面. -* 在 GitLab.com 上启用了它. -* 不能根据项目启用或禁用它 -* 建议用于生产. -* 对于 GitLab 自我管理的实例,GitLab 管理员可以选择禁用它. - -您可以将相关问题链接到功能标志. 在" **链接的问题"**部分中,单击`+`按钮,然后输入问题参考编号或问题的完整 URL. - -此功能类似于[相关问题](../user/project/issues/related_issues.html)功能. - -### Enable or disable Feature Flag Related Issues[](#enable-or-disable-feature-flag-related-issues-core-only "Permalink") - -与功能标记相关​​的问题正在开发中,但已准备好用于生产. 它部署在**默认情况下启用**的功能标志的后面. [有权访问 GitLab Rails 控制台的 GitLab 管理员](../administration/feature_flags.html)可以选择为您的实例禁用它. - -禁用它: - -``` -Feature.disable(:feature_flags_issue_links) -``` - -To enable it: - -``` -Feature.enable(:feature_flags_issue_links) -``` \ No newline at end of file diff --git a/docs/198.md b/docs/198.md deleted file mode 100644 index 7c587b7..0000000 --- a/docs/198.md +++ /dev/null @@ -1,203 +0,0 @@ -# GitLab CI/CD - -> 原文:[https://docs.gitlab.com/ee/ci/README.html](https://docs.gitlab.com/ee/ci/README.html) - -* [Overview](#overview) -* [Getting started](#getting-started) -* [Concepts](#concepts) -* [Configuration](#configuration) -* [Feature set](#feature-set) -* [Examples](#examples) -* [Administration](#administration-core-only) -* [References](#references) - * [Why GitLab CI/CD?](#why-gitlab-cicd) - * [Breaking changes](#breaking-changes) - * [13.0](#130) - * [12.0](#120) - * [11.0](#110) - * [10.0](#100) - * [9.0](#90) - -# GitLab CI/CD[](#gitlab-cicd "Permalink") - -GitLab CI / CD 是 GitLab 内置的工具,用于通过[连续方法](introduction/index.html#introduction-to-cicd-methodologies)进行软件开发: - -* 持续集成(CI) -* 连续交付(CD) -* 持续部署(CD) - -**注意:**开箱即用的管理系统可以将维护工具链所花费的时间减少 10%或更多. 观看我们的["精通持续软件开发"](https://about.gitlab.com/webcast/mastering-ci-cd/)网络广播,以了解连续方法以及 GitLab 的内置 CI 如何帮助您简化和扩展软件开发. - -## Overview[](#overview "Permalink") - -持续集成的工作原理是将小的代码块推送到 Git 存储库中托管的应用程序代码库中,并且每次推送时,都要运行脚本管道来构建,测试和验证代码更改,然后再将其合并到主分支中. - -持续交付和部署包括进一步的 CI,可在每次推送到存储库默认分支时将应用程序部署到生产环境. - -这些方法使您可以在开发周期的早期发现错误和错误,从而确保部署到生产环境的所有代码均符合为应用程序建立的代码标准. - -有关这些方法和 GitLab CI / CD 的完整概述,请阅读 GitLab 的 CI / CD [简介](introduction/index.html) . - -GitLab CI / CD 的视频演示: [演示:](https://www.youtube.com/watch?v=1iXFbchozdY) GitLab 的 CI / CD. - -<figure class="video-container"><iframe src="https://www.youtube.com/embed/1iXFbchozdY" frameborder="0" allowfullscreen=""></iframe></figure> - -## Getting started[](#getting-started "Permalink") - -GitLab CI / CD 由位于存储库根目录的名为`.gitlab-ci.yml`的文件配置. 该文件创建[管道](pipelines/index.html) ,该[管道](pipelines/index.html)运行以更改存储库中的代码. 管道包含一个或多个顺序运行的阶段,每个阶段可以包含一个或多个并行运行的作业. 这些作业(或脚本)由[GitLab Runner](https://docs.gitlab.com/runner/)代理执行. - -要开始使用 GitLab CI / CD,我们建议您通读以下文档: - -* [How GitLab CI/CD works](introduction/index.html#how-gitlab-cicd-works). -* [Fundamental pipeline architectures](pipelines/pipeline_architectures.html). -* [GitLab CI/CD basic workflow](introduction/index.html#basic-cicd-workflow). -* [Step-by-step guide for writing `.gitlab-ci.yml` for the first time](../user/project/pages/getting_started/pages_from_scratch.html). - -如果您要从其他 CI / CD 工具迁移,请查看我们方便的参考资料: - -* [Migrating from CircleCI](migration/circleci.html) -* [Migrating from Jenkins](jenkins/index.html) - -您也可以使用 UI 中提供的[`.gitlab-ci.yml`模板](https://gitlab.com/gitlab-org/gitlab-foss/tree/master/lib/gitlab/ci/templates)之一来开始使用. 您可以通过创建新文件,选择适合您的应用程序的模板并根据需要进行调整来使用它们: - -[![Use a `.gitlab-ci.yml` template](img/e006fccde54b694d8c0f506a675942e0.png)](img/add_file_template_11_10.png) - -有关更广泛的概述,请参阅《 [CI / CD 入门](quick_start/README.html)指南》. - -熟悉 GitLab CI / CD 的工作原理后,请参阅[`.gitlab-ci.yml`完整参考,](yaml/README.html)以获取可以设置和使用的所有属性. - -**注意:** GitLab CI / CD 和[共享运行](runners/README.html#shared-runners)器在 GitLab.com 中启用,并且对所有用户可用,仅限于[用户的管道配额](../user/gitlab_com/index.html#shared-runners) . - -## Concepts[](#concepts "Permalink") - -GitLab CI / CD 使用许多概念来描述和运行您的构建和部署. - -| Concept | Description | -| --- | --- | -| [Pipelines](pipelines/index.html) | Structure your CI/CD process through pipelines. | -| [Environment variables](variables/README.html) | 根据变量/值键对重用值. | -| [Environments](environments/index.html) | 将您的应用程序部署到不同的环境(例如,登台,生产). | -| [Job artifacts](pipelines/job_artifacts.html) | 输出,使用和重用作业工件. | -| [Cache dependencies](caching/index.html) | 缓存您的依赖项以加快执行速度. | -| [GitLab Runner](https://docs.gitlab.com/runner/) | 配置自己的 GitLab 运行程序以执行脚本. | - -## Configuration[](#configuration "Permalink") - -GitLab CI / CD 支持多种配置选项: - -| Configuration | Description | -| --- | --- | -| [Schedule pipelines](pipelines/schedules.html) | 计划管道以根据需要运行. | -| [Custom path for `.gitlab-ci.yml`](pipelines/settings.html#custom-ci-configuration-path) | 为 CI / CD 配置文件定义自定义路径. | -| [Git submodules for CI/CD](git_submodules.html) | 配置作业以使用 Git 子模块. | -| [SSH keys for CI/CD](ssh_keys/README.html) | 在 CI 管道中使用 SSH 密钥. | -| [Pipeline triggers](triggers/README.html) | 通过 API 触发管道. | -| [Pipelines for Merge Requests](merge_request_pipelines/index.html) | 设计用于在合并请求中运行管道的管道结构. | -| [Integrate with Kubernetes clusters](../user/project/clusters/index.html) | 将您的项目连接到 Google Kubernetes Engine(GKE)或现有的 Kubernetes 集群. | -| [Optimize GitLab and Runner for large repositories](large_repositories/index.html) | 处理大型存储库的推荐策略. | -| [`.gitlab-ci.yml` full reference](yaml/README.html) | 您可以在 GitLab CI / CD 中使用的所有属性. | - -请注意,某些操作只能根据[用户](../user/permissions.html#gitlab-cicd-permissions)和[作业](../user/permissions.html#job-permissions)权限执行. - -## Feature set[](#feature-set "Permalink") - -使用庞大的 GitLab CI / CD 可以轻松地针对特定目的进行配置. 根据 DevOps 阶段,其功能集在下表中列出. - -| Feature | Description | -| --- | --- | -| **Configure** |   | -| [Auto DevOps](../topics/autodevops/index.html) | 设置应用的整个生命周期. | -| [ChatOps](chatops/README.html) | 从聊天中触发 CI 作业,并将结果发送回通道. | -| **Verify** |   | -| [Browser Performance Testing](../user/project/merge_requests/browser_performance_testing.html) | 快速确定即将发生的代码更改对浏览器性能的影响. | -| [Load Performance Testing](../user/project/merge_requests/load_performance_testing.html) | 快速确定未决代码更改对服务器性能的影响. | -| [CI services](services/README.html) | 将 Docker 容器与您的基本映像链接起来. | -| [Code Quality](../user/project/merge_requests/code_quality.html) | 分析您的源代码质量. | -| [GitLab CI/CD for external repositories](ci_cd_for_external_repos/index.html) | 结合使用 GitHub 和 Bitbucket Cloud 中的存储库,获得 GitLab CI / CD 的优势. | -| [Interactive Web Terminals](interactive_web_terminal/index.html) | 打开一个交互式 Web 终端以调试正在运行的作业. | -| [JUnit tests](junit_test_reports.html) | 直接在合并请求中识别脚本失败. | -| [Using Docker images](docker/using_docker_images.html) | 将 GitLab 和 GitLab Runner 与 Docker 结合使用来构建和测试应用程序. | -| **Release** |   | -| [Auto Deploy](../topics/autodevops/stages.html#auto-deploy) | 将您的应用程序部署到 Kubernetes 集群中的生产环境. | -| [Building Docker images](docker/using_docker_build.html) | 使用 GitLab CI / CD 维护基于 Docker 的项目. | -| [Canary Deployments](../user/project/canary_deployments.html) | 仅将功能部件运送到一部分吊舱中,并让一定比例的用户群访问临时部署的功能部件. | -| [Deploy Boards](../user/project/deploy_boards.html) | 检查 Kubernetes 上运行的每个 CI / CD 环境的当前运行状况和状态. | -| [Feature Flags](../operations/feature_flags.html) | 在功能标记后部署功能. | -| [GitLab Pages](../user/project/pages/index.html) | 部署静态网站. | -| [GitLab Releases](../user/project/releases/index.html) | 将发行说明添加到 Git 标签. | -| [Review Apps](review_apps/index.html) | 配置 GitLab CI / CD 预览代码更改. | -| [Cloud deployment](cloud_deployment/index.html) | 将您的应用程序部署到主要的云提供商. | -| **Secure** |   | -| [Container Scanning](../user/application_security/container_scanning/index.html) | 检查您的 Docker 容器是否存在已知漏洞. | -| [Dependency Scanning](../user/application_security/dependency_scanning/index.html) | 分析您的依赖项是否存在已知漏洞. | -| [License Compliance](../user/compliance/license_compliance/index.html) | 在项目依赖项中搜索其许可证. | -| [Security Test reports](../user/application_security/index.html) | 检查应用程序漏洞. | - -## Examples[](#examples "Permalink") - -在" [CI 实例"](examples/README.html)页面上查找示例项目代码和教程,以将 GitLab CI / CD 与各种应用程序框架,语言和平台结合使用. - -GitLab 还提供了[示例项目,这些项目已](https://gitlab.com/gitlab-examples)预先配置为使用 GitLab CI / CD. - -## Administration[](#administration-core-only "Permalink") - -作为 GitLab 管理员,您可以将 GitLab CI / CD 的默认行为更改为: - -* An [entire GitLab instance](../user/admin_area/settings/continuous_integration.html). -* 具体项目,使用[管道设置](pipelines/settings.html) . - -也可以看看: - -* [How to enable or disable GitLab CI/CD](enable_or_disable_ci.html). -* Other [CI administration settings](../administration/index.html#continuous-integration-settings). - -## References[](#references "Permalink") - -### Why GitLab CI/CD?[](#why-gitlab-cicd "Permalink") - -学习更多关于: - -* [Why you might chose GitLab CI/CD](https://about.gitlab.com/blog/2016/10/17/gitlab-ci-oohlala/). -* [Reasons you might migrate from another platform](https://about.gitlab.com/blog/2016/07/22/building-our-web-app-on-gitlab-ci/). -* [5 Teams that made the switch to GitLab CI/CD](https://about.gitlab.com/blog/2019/04/25/5-teams-that-made-the-switch-to-gitlab-ci-cd/) - -另请参阅[为什么选择 CI / CD?](https://docs.google.com/presentation/d/1OGgk2Tcxbpl7DJaIOzCX4Vqg3dlwfELC3u2jEeCBbDk) 介绍. - -### Breaking changes[](#breaking-changes "Permalink") - -随着 GitLab CI / CD 的发展,必须进行一些重大更改. 这些是: - -#### 13.0[](#130 "Permalink") - -* [Remove Backported `os.Expand`](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/4915) -* [Remove Fedora 29 package support](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/16158) -* [Remove macOS 32-bit support](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/25466) -* [Removed `debug/jobs/list?v=1` endpoint](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/6361) -* [Remove support for array of strings when defining services for Docker executor](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/4922) -* [Remove `--docker-services` flag on register command](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/6404) -* [Remove legacy build directory caching](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/4180) -* [Remove `FF_USE_LEGACY_VOLUMES_MOUNTING_ORDER` feature flag](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/6581) -* [Remove support for Windows Server 1803](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/6553) - -#### 12.0[](#120 "Permalink") - -* [Use refspec to clone/fetch Git repository](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/4069). -* [Old cache configuration](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/4070). -* [Old metrics server configuration](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/4072). -* [Remove `FF_K8S_USE_ENTRYPOINT_OVER_COMMAND`](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/4073). -* [Remove Linux distributions that reach EOL](https://gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/1130). -* [Update command line API for helper images](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/4013). -* [Remove old `git clean` flow](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/4175). - -#### 11.0[](#110 "Permalink") - -* 没有重大变化. - -#### 10.0[](#100 "Permalink") - -* 没有重大变化. - -#### 9.0[](#90 "Permalink") - -* [为 GitLab 9.0 重命名 CI 变量](variables/deprecated_variables.html#gitlab-90-renamed-variables) . 了解不建议使用的 CI 变量以及在 GitLab 9.0+中应使用的内容. -* [新的 CI 作业权限模型](../user/project/new_ci_build_permissions_model.html) . 查看 GitLab 8.12 中的更改及其对工作的影响. 有一种新方法可以访问作业中的 Git 子模块和 LFS 对象. \ No newline at end of file diff --git a/docs/199.md b/docs/199.md deleted file mode 100644 index aa74f9e..0000000 --- a/docs/199.md +++ /dev/null @@ -1,3929 +0,0 @@ -# GitLab CI/CD pipeline configuration reference - -> 原文:[https://docs.gitlab.com/ee/ci/yaml/README.html](https://docs.gitlab.com/ee/ci/yaml/README.html) - -* [Introduction](#introduction) - * [Validate the `.gitlab-ci.yml`](#validate-the-gitlab-ciyml) - * [Unavailable names for jobs](#unavailable-names-for-jobs) - * [Using reserved keywords](#using-reserved-keywords) -* [Configuration parameters](#configuration-parameters) -* [Global parameters](#global-parameters) - * [Global defaults](#global-defaults) - * [`inherit`](#inherit) - * [`stages`](#stages) - * [`workflow:rules`](#workflowrules) - * [`workflow:rules` templates](#workflowrules-templates) - * [`include`](#include) - * [`include:local`](#includelocal) - * [`include:file`](#includefile) - * [`include:remote`](#includeremote) - * [`include:template`](#includetemplate) - * [Nested includes](#nested-includes) - * [Additional `includes` examples](#additional-includes-examples) -* [Parameter details](#parameter-details) - * [`image`](#image) - * [`image:name`](#imagename) - * [`image:entrypoint`](#imageentrypoint) - * [`services`](#services) - * [`services:name`](#servicesname) - * [`services:alias`](#servicesalias) - * [`services:entrypoint`](#servicesentrypoint) - * [`services:command`](#servicescommand) - * [`script`](#script) - * [`before_script` and `after_script`](#before_script-and-after_script) - * [Coloring script output](#coloring-script-output) - * [Multiline commands](#multiline-commands) - * [`stage`](#stage) - * [Using your own Runners](#using-your-own-runners) - * [`.pre` and `.post`](#pre-and-post) - * [`extends`](#extends) - * [Merge details](#merge-details) - * [Using `extends` and `include` together](#using-extends-and-include-together) - * [`rules`](#rules) - * [Rules attributes](#rules-attributes) - * [Rules clauses](#rules-clauses) - * [Differences between `rules` and `only`/`except`](#differences-between-rules-and-onlyexcept) - * [`rules:if`](#rulesif) - * [`rules:changes`](#ruleschanges) - * [`rules:exists`](#rulesexists) - * [`rules:allow_failure`](#rulesallow_failure) - * [Complex rule clauses](#complex-rule-clauses) - * [`only`/`except` (basic)](#onlyexcept-basic) - * [Regular expressions](#regular-expressions) - * [Supported `only`/`except` regexp syntax](#supported-onlyexcept-regexp-syntax) - * [`only`/`except` (advanced)](#onlyexcept-advanced) - * [`only:refs`/`except:refs`](#onlyrefsexceptrefs) - * [`only:kubernetes`/`except:kubernetes`](#onlykubernetesexceptkubernetes) - * [`only:variables`/`except:variables`](#onlyvariablesexceptvariables) - * [`only:changes`/`except:changes`](#onlychangesexceptchanges) - * [Using `only:changes` with pipelines for merge requests](#using-onlychanges-with-pipelines-for-merge-requests) - * [Using `only:changes` without pipelines for merge requests](#using-onlychanges-without-pipelines-for-merge-requests) - * [Using `only:changes` with scheduled pipelines](#using-onlychanges-with-scheduled-pipelines) - * [`needs`](#needs) - * [Requirements and limitations](#requirements-and-limitations) - * [Changing the `needs:` job limit](#changing-the-needs-job-limit) - * [Artifact downloads with `needs`](#artifact-downloads-with-needs) - * [Cross project artifact downloads with `needs`](#cross-project-artifact-downloads-with-needs-premium) - * [Artifact downloads between pipelines in the same project](#artifact-downloads-between-pipelines-in-the-same-project) - * [`tags`](#tags) - * [`allow_failure`](#allow_failure) - * [`when`](#when) - * [`when:manual`](#whenmanual) - * [Protecting manual jobs](#protecting-manual-jobs-premium) - * [`when:delayed`](#whendelayed) - * [`environment`](#environment) - * [`environment:name`](#environmentname) - * [`environment:url`](#environmenturl) - * [`environment:on_stop`](#environmenton_stop) - * [`environment:action`](#environmentaction) - * [`environment:auto_stop_in`](#environmentauto_stop_in) - * [`environment:kubernetes`](#environmentkubernetes) - * [Dynamic environments](#dynamic-environments) - * [`cache`](#cache) - * [`cache:paths`](#cachepaths) - * [`cache:key`](#cachekey) - * [`cache:key:files`](#cachekeyfiles) - * [`cache:key:prefix`](#cachekeyprefix) - * [`cache:untracked`](#cacheuntracked) - * [`cache:policy`](#cachepolicy) - * [`artifacts`](#artifacts) - * [`artifacts:paths`](#artifactspaths) - * [`artifacts:exclude`](#artifactsexclude) - * [`artifacts:expose_as`](#artifactsexpose_as) - * [`artifacts:name`](#artifactsname) - * [`artifacts:untracked`](#artifactsuntracked) - * [`artifacts:when`](#artifactswhen) - * [`artifacts:expire_in`](#artifactsexpire_in) - * [`artifacts:reports`](#artifactsreports) - * [`dependencies`](#dependencies) - * [When a dependent job will fail](#when-a-dependent-job-will-fail) - * [`coverage`](#coverage) - * [`retry`](#retry) - * [`timeout`](#timeout) - * [`parallel`](#parallel) - * [`trigger`](#trigger) - * [Simple `trigger` syntax for multi-project pipelines](#simple-trigger-syntax-for-multi-project-pipelines) - * [Complex `trigger` syntax for multi-project pipelines](#complex-trigger-syntax-for-multi-project-pipelines) - * [`trigger` syntax for child pipeline](#trigger-syntax-for-child-pipeline) - * [Trigger child pipeline with generated configuration file](#trigger-child-pipeline-with-generated-configuration-file) - * [Linking pipelines with `trigger:strategy`](#linking-pipelines-with-triggerstrategy) - * [Trigger a pipeline by API call](#trigger-a-pipeline-by-api-call) - * [`interruptible`](#interruptible) - * [`resource_group`](#resource_group) - * [`release`](#release) - * [`release-cli` Docker image](#release-cli-docker-image) - * [Script](#script-1) - * [`release:tag_name`](#releasetag_name) - * [`release:name`](#releasename) - * [`release:description`](#releasedescription) - * [`release:ref`](#releaseref) - * [`release:milestones`](#releasemilestones) - * [`release:released_at`](#releasereleased_at) - * [Complete example for `release`](#complete-example-for-release) - * [`releaser-cli` command line](#releaser-cli-command-line) - * [`pages`](#pages) -* [`variables`](#variables) - * [Git strategy](#git-strategy) - * [Git submodule strategy](#git-submodule-strategy) - * [Git checkout](#git-checkout) - * [Git clean flags](#git-clean-flags) - * [Git fetch extra flags](#git-fetch-extra-flags) - * [Job stages attempts](#job-stages-attempts) - * [Shallow cloning](#shallow-cloning) - * [Custom build directories](#custom-build-directories) - * [Handling concurrency](#handling-concurrency) - * [Nested paths](#nested-paths) -* [Special YAML features](#special-yaml-features) - * [Anchors](#anchors) - * [YAML anchors for `before_script` and `after_script`](#yaml-anchors-for-before_script-and-after_script) - * [YAML anchors for `script`](#yaml-anchors-for-script) - * [YAML anchors for variables](#yaml-anchors-for-variables) - * [Hide jobs](#hide-jobs) -* [Skip Pipeline](#skip-pipeline) -* [Processing Git pushes](#processing-git-pushes) -* [Deprecated parameters](#deprecated-parameters) - * [Globally-defined `types`](#globally-defined-types) - * [Job-defined `type`](#job-defined-type) - * [Globally-defined `image`, `services`, `cache`, `before_script`, `after_script`](#globally-defined-image-services-cache-before_script-after_script) - -# GitLab CI/CD pipeline configuration reference[](#gitlab-cicd-pipeline-configuration-reference "Permalink") - -在每个项目中,使用名为`.gitlab-ci.yml`的 YAML 文件配置 GitLab CI / CD [管道](../pipelines/index.html) . - -`.gitlab-ci.yml`文件定义管道的结构和顺序,并确定: - -* 使用[GitLab Runner](https://docs.gitlab.com/runner/)执行什么. -* 遇到特定条件时要做出什么决定. 例如,当一个过程成功或失败时. - -本主题涵盖 CI / CD 管道配置. 有关其他 CI / CD 配置信息,请参阅: - -* [GitLab CI / CD 变量](../variables/README.html) ,用于配置运行管道的环境. -* [GitLab Runner 高级配置](https://docs.gitlab.com/runner/configuration/advanced-configuration.html) ,用于配置 GitLab Runner. - -我们有配置管道的完整示例: - -* 有关 GitLab CI / CD 的快速介绍,请遵循我们的[快速入门指南](../quick_start/README.html) . -* 有关示例集合,请参见[GitLab CI / CD 示例](../examples/README.html) . -* 要看到一个大`.gitlab-ci.yml`在企业使用的文件,看到[`.gitlab-ci.yml`文件`gitlab`](https://gitlab.com/gitlab-org/gitlab/blob/master/.gitlab-ci.yml) . - -> 有关 GitLab CI / CD 的其他信息: -> -> * 观看[CI / CD 轻松配置](https://www.youtube.com/embed/opdLqwz6tcE)视频. -> * [在组织的](https://about.gitlab.com/compare/github-actions-alternative/)网络广播中观看" [为 CI / CD](https://about.gitlab.com/compare/github-actions-alternative/)辩护",以了解 CI / CD 的好处以及如何衡量 CI / CD 自动化的结果. -> * 了解[Verizon](https://about.gitlab.com/blog/2019/02/14/verizon-customer-story/)如何使用 GitLab [将重建工作](https://about.gitlab.com/blog/2019/02/14/verizon-customer-story/)从 30 天[减少](https://about.gitlab.com/blog/2019/02/14/verizon-customer-story/)到 8 小时以下. - -**注意:**如果您有[从 GitLab 提取镜像的存储库](../../user/project/repository/repository_mirroring.html#pulling-from-a-remote-repository-starter) ,则可能需要在项目的**"设置">"存储库">"从远程存储库中提取">"触发管道更新镜像"中**启用管道触发. - -## Introduction[](#introduction "Permalink") - -管道配置从作业开始. 作业是`.gitlab-ci.yml`文件的最基本元素. - -工作是: - -* 定义了约束,指出应在什么条件下执行它们. -* 具有任意名称的顶级元素,并且必须至少包含[`script`](#script)子句. -* 不限制可以定义多少个. - -例如: - -``` -job1: - script: "execute-script-for-job1" - -job2: - script: "execute-script-for-job2" -``` - -上面的示例是具有两个单独作业的最简单的 CI / CD 配置,其中每个作业执行一个不同的命令. 当然,命令可以直接执行代码( `./configure;make;make install` )或在存储库中运行脚本( `test.sh` ). - -乔布斯被拾起[运动员](../runners/README.html)和跑步者的环境中执行. 重要的是,每个作业彼此独立运行. - -### Validate the `.gitlab-ci.yml`[](#validate-the-gitlab-ciyml "Permalink") - -GitLab CI / CD 的每个实例都有一个称为 Lint 的嵌入式调试工具,该工具可以验证`.gitlab-ci.yml`文件的内容. 您可以在项目名称空间的`ci/lint`页下找到 Lint. 例如, `https://gitlab.example.com/gitlab-org/project-123/-/ci/lint` . - -### Unavailable names for jobs[](#unavailable-names-for-jobs "Permalink") - -每个作业必须具有唯一的名称,但是有一些**保留的`keywords`不能用作作业名称** : - -* `image` -* `services` -* `stages` -* `types` -* `before_script` -* `after_script` -* `variables` -* `cache` -* `include` - -### Using reserved keywords[](#using-reserved-keywords "Permalink") - -如果在使用特定值(例如`true`或`false` )时收到验证错误,请尝试执行以下操作: - -* 引用他们. -* 将它们更改为其他形式. 例如, `/bin/true` . - -## Configuration parameters[](#configuration-parameters "Permalink") - -作业定义为定义作业行为的参数列表. - -下表列出了作业的可用参数: - -| Keyword | Description | -| --- | --- | -| [`script`](#script) | 由 Runner 执行的 Shell 脚本. | -| [`image`](#image) | 使用 Docker 映像 也可用: `image:name`和`image:entrypoint` . | -| [`services`](#services) | Use Docker services images. Also available: `services:name`, `services:alias`, `services:entrypoint`, and `services:command`. | -| [`before_script`](#before_script-and-after_script) | 覆盖作业之前执行的一组命令. | -| [`after_script`](#before_script-and-after_script) | 覆盖作业后执行的一组命令. | -| [`stage`](#stage) | 定义一个工作阶段(默认: `test` ). | -| [`only`](#onlyexcept-basic) | 限制创建作业的时间. 也可用: [`only:refs` , `only:kubernetes` , `only:variables`和`only:changes`](#onlyexcept-advanced) . | -| [`except`](#onlyexcept-basic) | 限制未创建作业的时间. 也可用: [`except:refs` , `except:kubernetes` , `except:variables`和`except:changes`](#onlyexcept-advanced) . | -| [`rules`](#rules) | 评估和确定作业的选定属性以及是否创建作业的条件列表. 不能`only`与/ `except`一起使用. | -| [`tags`](#tags) | 用于选择 Runner 的标签列表. | -| [`allow_failure`](#allow_failure) | 允许作业失败. 失败的作业不会影响提交状态. | -| [`when`](#when) | 什么时候开始工作. 也可用: `when:manual`和`when:delayed` . | -| [`environment`](#environment) | 作业部署到的环境的名称. 也可用: `environment:name` , `environment:url` , `environment:on_stop` , `environment:auto_stop_in`和`environment:action` . | -| [`cache`](#cache) | 在后续运行之间应缓存的文件列表. 也可用: `cache:paths` , `cache:key` , `cache:untracked`和`cache:policy` . | -| [`artifacts`](#artifacts) | 成功时附加到作业的文件和目录列表. 也可以使用: `artifacts:paths` , `artifacts:exclude` , `artifacts:expose_as` , `artifacts:name` , `artifacts:untracked` , `artifacts:when` , `artifacts:expire_in` , `artifacts:reports` , `artifacts:reports:junit` , `artifacts:reports:cobertura`和`artifacts:reports:terraform` . - -在 GitLab [企业版](https://about.gitlab.com/pricing/) ,这些都是可供选择: `artifacts:reports:codequality` , `artifacts:reports:sast` , `artifacts:reports:dependency_scanning` , `artifacts:reports:container_scanning` , `artifacts:reports:dast` , `artifacts:reports:license_scanning` , `artifacts:reports:license_management` (已在 GitLab 13.0 中删除), `artifacts:reports:performance`和`artifacts:reports:metrics` . | -| [`dependencies`](#dependencies) | 通过提供要从中获取工件的作业列表,限制将哪些工件传递给特定作业. | -| [`coverage`](#coverage) | 给定作业的代码覆盖率设置. | -| [`retry`](#retry) | 发生故障时可以自动重试作业的时间和次数. | -| [`timeout`](#timeout) | 定义优先于项目范围设置的自定义作业级别超时. | -| [`parallel`](#parallel) | 多少个作业实例应并行运行. | -| [`trigger`](#trigger) | 定义下游管道触发器. | -| [`include`](#include) | 允许此作业包括外部 YAML 文件. 也可用: `include:local` , `include:file` , `include:template`和`include:remote` . | -| [`extends`](#extends) | 该作业将要继承的配置条目. | -| [`pages`](#pages) | 上载作业结果以用于 GitLab 页面. | -| [`variables`](#variables) | 在作业级别上定义作业变量. | -| [`interruptible`](#interruptible) | 定义在通过新的运行使其冗余时是否可以取消作业. | -| [`resource_group`](#resource_group) | 限制作业并发. | -| [`release`](#release) | 指示 Runner 生成[Release](../../user/project/releases/index.html)对象. | - -**Note:** Parameters `types` and `type` are [deprecated](#deprecated-parameters). - -## Global parameters[](#global-parameters "Permalink") - -必须在全局级别定义一些参数,这会影响管道中的所有作业. - -### Global defaults[](#global-defaults "Permalink") - -可以使用`default:`关键字将某些参数全局设置为所有作业的`default:` . 然后可以通过特定于作业的配置覆盖默认参数. - -可以在`default:`块内定义以下作业参数: - -* [`image`](#image) -* [`services`](#services) -* [`before_script`](#before_script-and-after_script) -* [`after_script`](#before_script-and-after_script) -* [`tags`](#tags) -* [`cache`](#cache) -* [`artifacts`](#artifacts) -* [`retry`](#retry) -* [`timeout`](#timeout) -* [`interruptible`](#interruptible) - -在以下示例中,除了`rspec 2.6`作业(使用`ruby:2.6`图像)以外,所有作业的默认设置都是`ruby:2.5`图像: - -``` -default: - image: ruby:2.5 - -rspec: - script: bundle exec rspec - -rspec 2.6: - image: ruby:2.6 - script: bundle exec rspec -``` - -#### `inherit`[](#inherit "Permalink") - -在 GitLab 12.9 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/207484) . - -您可以使用`inherit:`参数禁用对全局定义的默认值和变量的`inherit:` . - -要启用或禁用所有`variables:`或`default:`参数的继承,请使用以下格式: - -* `default: true` or `default: false` -* `variables: true` or `variables: false` - -要仅继承`default:`参数或`variables:`的子集,请指定要继承的内容,未列出的任何内容均**不会**被继承. 使用以下格式之一: - -``` -inherit: - default: [parameter1, parameter2] - variables: [VARIABLE1, VARIABLE2] -``` - -Or: - -``` -inherit: - default: - - parameter1 - - parameter2 - variables: - - VARIABLE1 - - VARIABLE2 -``` - -在以下示例中: - -* `rubocop`: - * **会**继承:没有. -* `rspec`: - * **将**继承:默认`image`和`WEBHOOK_URL`变量. - * **不会**继承:默认的`before_script`和`DOMAIN`变量. -* `capybara`: - * **将**继承:默认的`before_script`和`image` . - * 将**不会**继承: `DOMAIN`和`WEBHOOK_URL`变量. -* `karma`: - * **将**继承:默认`image` , `before_script`和`DOMAIN`变量. - * will **not** inherit: `WEBHOOK_URL` variable. - -``` -default: - image: 'ruby:2.4' - before_script: - - echo Hello World - -variables: - DOMAIN: example.com - WEBHOOK_URL: https://my-webhook.example.com - -rubocop: - inherit: - default: false - variables: false - script: bundle exec rubocop - -rspec: - inherit: - default: [image] - variables: [WEBHOOK_URL] - script: bundle exec rspec - -capybara: - inherit: - variables: false - script: bundle exec capybara - -karma: - inherit: - default: true - variables: [DOMAIN] - script: karma -``` - -### `stages`[](#stages "Permalink") - -`stages`用于定义包含作业的阶段,并且为管道全局定义. - -的规范`stages`允许具有灵活的多阶段流水线. `stages`中元素的顺序定义了作业执行的顺序: - -1. 同一阶段的作业并行运行. -2. 前一阶段的作业成功完成后,将运行下一阶段的作业. - -让我们考虑以下示例,该示例定义了 3 个阶段: - -``` -stages: - - build - - test - - deploy -``` - -1. 首先,所有`build`作业均并行执行. -2. 如果所有`build`作业均成功,则`test`作业将并行执行. -3. 如果所有`test`作业均成功,则将并行执行`deploy`作业. -4. 如果所有`deploy`作业均成功,则将提交标记为`passed` . -5. 如果先前的任何作业失败,则将提交标记为`failed`并且不执行后续阶段的作业. - -还有两个边缘情况值得一提: - -1. 如果`.gitlab-ci.yml`中未定义任何`stages` ,则默认允许将`build` , `test`和`deploy`用作作业的阶段. -2. 如果作业未指定`stage` ,则为该作业分配`test`阶段. - -### `workflow:rules`[](#workflowrules "Permalink") - -在 GitLab 12.5 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/29654) - -顶级`workflow:`关键字适用于整个管道,并将确定是否创建管道. 当前,它接受一个`rules:`与[`rules:`](#rules)类似的键:在 job 中[定义](#rules) ,可动态配置管道. - -如果您不熟悉 GitLab CI / CD 和`workflow: rules` ,则可能会发现[`workflow:rules`模板](#workflowrules-templates)很有用. - -要定义自己的`workflow: rules` ,当前可用的配置选项为: - -* [`if`](#rulesif) :定义规则. -* [`when`](#when) :可以设置为`always`或`never` . 如果未提供,则默认值`always` . - -评估`if`规则的列表,直到匹配单个规则. 如果没有比赛,最后`when`会被使用: - -``` -workflow: - rules: - - if: $CI_COMMIT_REF_NAME =~ /-wip$/ - when: never - - if: $CI_COMMIT_TAG - when: never - - when: always -``` - -#### `workflow:rules` templates[](#workflowrules-templates "Permalink") - -在 GitLab 13.0 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/217732) . - -我们提供预制模板,供您用于设置`workflow: rules`管道使用`workflow: rules`常见方案的`workflow: rules` . 使用这些将使事情变得容易,并防止重复的管道运行. - -[`Branch-Pipelines`模板](https://gitlab.com/gitlab-org/gitlab/-/tree/master/lib/gitlab/ci/templates/Workflows/Branch-Pipelines.gitlab-ci.yml)使您的管道针对分支和标签运行. - -分支管道状态将显示在使用该分支作为源的合并请求中,但是此管道类型不支持" [合并请求管道"](../merge_request_pipelines/)提供的任何功能,例如["合并结果管道"](../merge_request_pipelines/#pipelines-for-merged-results-premium)或" [合并训练"](../merge_request_pipelines/pipelines_for_merged_results/merge_trains/) . 如果您有意避免使用这些功能,请使用此模板. - -它[包括](#include)以下内容: - -``` -include: - - template: 'Workflows/Branch-Pipelines.gitlab-ci.yml' -``` - -The [`MergeRequest-Pipelines` template](https://gitlab.com/gitlab-org/gitlab/-/tree/master/lib/gitlab/ci/templates/Workflows/MergeRequest-Pipelines.gitlab-ci.yml) makes your pipelines run for the default branch (usually `master`), tags, and all types of merge request pipelines. Use this template if you use any of the the [Pipelines for Merge Requests features](../merge_request_pipelines/), as mentioned above. - -它[包括](#include)以下内容: - -``` -include: - - template: 'Workflows/MergeRequest-Pipelines.gitlab-ci.yml' -``` - -### `include`[](#include "Permalink") - -版本历史 - -* 在[GitLab Premium](https://about.gitlab.com/pricing/) 10.5 中引入. -* 自 10.6 开始适用于 Starter,Premium 和 Ultimate. -* 在 11.4 中[移至](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/42861) GitLab Core. - -使用`include`关键字允许包含外部 YAML 文件. 这有助于将 CI / CD 配置分解为多个文件,并提高了长配置文件的可读性. 也可以将模板文件存储在中央存储库中,并且项目包括其配置文件. 这有助于避免重复配置,例如,所有项目的全局默认变量. - -`include`要求外部 YAML 文件具有扩展名`.yml`或`.yaml` ,否则将不包含外部文件. - -`include`支持以下包含方法: - -| Method | Description | -| --- | --- | -| [`local`](#includelocal) | 包括来自本地项目存储库的文件. | -| [`file`](#includefile) | 包括来自其他项目存储库的文件. | -| [`remote`](#includeremote) | 包括来自远程 URL 的文件. 必须公开可用. | -| [`template`](#includetemplate) | 包括由 GitLab 提供的模板. | - -`include`方法不支持[变量扩展](../variables/where_variables_can_be_used.html#variables-usage) . - -**注意:**所有方法包含的`.gitlab-ci.yml`配置在创建管道时进行评估. 该配置是及时的快照,并保留在数据库中. 在创建下一个管道之前,对引用的`.gitlab-ci.yml`配置的任何更改都不会反映在 GitLab 中. - -`include`定义的文件是: - -* 与`.gitlab-ci.yml`那些合并. -* 无论`include`关键字的位置如何,始终首先评估并与`.gitlab-ci.yml`的内容合并. - -**提示:**使用合并功能可以自定义和覆盖包含本地定义的 CI / CD 配置. `.gitlab-ci.yml`本地定义将覆盖包含的定义.**注意:**不支持在`include`来源的不同 YAML 文件中使用[YAML 锚](#anchors) . 您只能引用同一文件中的锚. 除了使用 YAML 定位符,您还可以使用[`extends`关键字](#extends) . - -#### `include:local`[](#includelocal "Permalink") - -`include:local`包含与`.gitlab-ci.yml`位于同一存储库中的文件. 使用相对于根目录( `/` )的完整路径进行引用. - -您只能在配置文件所在的同一分支上使用 Git 当前跟踪的文件. 换句话说,使用`include:local` ,请确保`.gitlab-ci.yml`和本地文件都在同一分支上. - -所有[嵌套的包含](#nested-includes)将在同一项目的范围内执行,因此可以使用本地,项目,远程或模板包含. - -**注意:**不支持通过 Git 子模块路径包含本地文件. - -Example: - -``` -include: - - local: '/templates/.gitlab-ci-template.yml' -``` - -**Tip:** Local includes can be used as a replacement for symbolic links which are not followed. - -可以将其定义为简短的本地包含: - -``` -include: '.gitlab-ci-production.yml' -``` - -#### `include:file`[](#includefile "Permalink") - -在 GitLab 11.7 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/53903) . - -要在同一 GitLab 实例下包含来自另一个私有项目的`include:file` ,请使用`include:file` . 使用相对于根目录( `/` )的完整路径引用该文件. 例如: - -``` -include: - - project: 'my-group/my-project' - file: '/templates/.gitlab-ci-template.yml' -``` - -您还可以指定`ref` ,默认值为项目的`HEAD` : - -``` -include: - - project: 'my-group/my-project' - ref: master - file: '/templates/.gitlab-ci-template.yml' - - - project: 'my-group/my-project' - ref: v1.0.0 - file: '/templates/.gitlab-ci-template.yml' - - - project: 'my-group/my-project' - ref: 787123b47f14b552955ca2786bc9542ae66fee5b # Git SHA - file: '/templates/.gitlab-ci-template.yml' -``` - -所有[嵌套的包含](#nested-includes)将在目标项目的范围内执行,因此可以使用本地(相对于目标项目),项目,远程或模板包含. - -#### `include:remote`[](#includeremote "Permalink") - -`include:remote`可用于通过 HTTP / HTTPS 包含来自其他位置的文件,并使用完整 URL 进行引用. 远程文件必须可以通过简单的 GET 请求公开访问,因为不支持远程 URL 中的身份验证模式. 例如: - -``` -include: - - remote: 'https://gitlab.com/awesome-project/raw/master/.gitlab-ci-template.yml' -``` - -所有[嵌套的 include](#nested-includes)将在没有上下文的情况下作为公共用户执行,因此仅允许另一个远程或公共项目或模板. - -#### `include:template`[](#includetemplate "Permalink") - -在 GitLab 11.7 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/53445) . - -`include:template`可用于包含[GitLab 随附的](https://gitlab.com/gitlab-org/gitlab/tree/master/lib/gitlab/ci/templates) `.gitlab-ci.yml`模板. - -例如: - -``` -# File sourced from GitLab's template collection -include: - - template: Auto-DevOps.gitlab-ci.yml -``` - -Multiple `include:template` files: - -``` -include: - - template: Android-Fastlane.gitlab-ci.yml - - template: Auto-DevOps.gitlab-ci.yml -``` - -所有[嵌套的包含](#nested-includes)将仅在用户许可下执行,因此可以使用项目,远程或模板包含. - -#### Nested includes[](#nested-includes "Permalink") - -在 GitLab 11.9 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/56836) . - -嵌套包含可让您组成一组包含. - -总共允许 100 个 include,但是重复的 include 被视为配置错误. - -从[GitLab 12.4 开始](https://gitlab.com/gitlab-org/gitlab/-/issues/28212) ,解析所有文件的时间限制为 30 秒. - -#### Additional `includes` examples[](#additional-includes-examples "Permalink") - -有可用的[其他`includes`示例](includes.html)列表. - -## Parameter details[](#parameter-details "Permalink") - -以下是用于配置 CI / CD 管道的参数的详细说明. - -### `image`[](#image "Permalink") - -用于指定要用于作业[的 Docker 映像](../docker/using_docker_images.html#what-is-an-image) . - -For: - -* Simple definition examples, see [Define `image` and `services` from `.gitlab-ci.yml`](../docker/using_docker_images.html#define-image-and-services-from-gitlab-ciyml). -* 详细的使用信息,请参阅[Docker 集成](../docker/README.html)文档. - -#### `image:name`[](#imagename "Permalink") - -An [extended Docker configuration option](../docker/using_docker_images.html#extended-docker-configuration-options). - -有关更多信息,请参阅[`image`可用设置](../docker/using_docker_images.html#available-settings-for-image) . - -#### `image:entrypoint`[](#imageentrypoint "Permalink") - -An [extended Docker configuration option](../docker/using_docker_images.html#extended-docker-configuration-options). - -有关更多信息,请参阅[`image`可用设置](../docker/using_docker_images.html#available-settings-for-image) . - -#### `services`[](#services "Permalink") - -用于指定[服务 Docker 映像](../docker/using_docker_images.html#what-is-a-service) ,该映像链接到 image 中指定的基本[`image`](#image) . - -For: - -* 简单的定义示例,请参阅[从`.gitlab-ci.yml`定义`image`和`services`](../docker/using_docker_images.html#define-image-and-services-from-gitlab-ciyml) . -* 详细的使用信息,请参阅[Docker 集成](../docker/README.html)文档. -* 有关示例服务,请参见[GitLab CI / CD 服务](../services/README.html) . - -##### `services:name`[](#servicesname "Permalink") - -An [extended Docker configuration option](../docker/using_docker_images.html#extended-docker-configuration-options). - -For more information, see [Available settings for `services`](../docker/using_docker_images.html#available-settings-for-services). - -##### `services:alias`[](#servicesalias "Permalink") - -An [extended Docker configuration option](../docker/using_docker_images.html#extended-docker-configuration-options). - -有关更多信息,请参阅[`services`可用设置](../docker/using_docker_images.html#available-settings-for-services) . - -##### `services:entrypoint`[](#servicesentrypoint "Permalink") - -An [extended Docker configuration option](../docker/using_docker_images.html#extended-docker-configuration-options). - -有关更多信息,请参阅[`services`可用设置](../docker/using_docker_images.html#available-settings-for-services) . - -##### `services:command`[](#servicescommand "Permalink") - -An [extended Docker configuration option](../docker/using_docker_images.html#extended-docker-configuration-options). - -有关更多信息,请参阅[`services`可用设置](../docker/using_docker_images.html#available-settings-for-services) . - -### `script`[](#script "Permalink") - -`script`是作业所需的唯一必需关键字. 这是一个由 Runner 执行的 shell 脚本. 例如: - -``` -job: - script: "bundle exec rspec" -``` - -[脚本的 YAML 锚](#yaml-anchors-for-script)可用. - -此参数还可以包含使用数组的多个命令: - -``` -job: - script: - - uname -a - - bundle exec rspec -``` - -**注意:**有时, `script`命令将需要用单引号或双引号引起来. 例如,包含冒号命令( `:` )需要加引号,以便被包裹的 YAML 解析器知道来解释整个事情作为一个字符串,而不是一个"键:值"对. 使用特殊字符时要小心: `:` , `{` , `}` , `[` , `]` , `,` , `&` , `*` , `#` , `?` , `|` , `-` , `<` , `>` , `=` `!` , `%` , `@` , ``` . - -如果任何脚本命令返回的退出代码都不为零,则该作业将失败,并且其他命令将不再执行. 通过将退出代码存储在变量中,可以避免此行为: - -``` -job: - script: - - false || exit_code=$? - - if [ $exit_code -ne 0 ]; then echo "Previous command failed"; fi; -``` - -#### `before_script` and `after_script`[](#before_script-and-after_script "Permalink") - -在 GitLab 8.7 中引入,需要 GitLab Runner v1.2. - -`before_script`用于定义一个命令,该命令应在每个作业(包括部署作业)之前,但在还原任何[工件之后运行](#artifacts) . 这必须是一个数组. - -`before_script`中指定的[`script`](#script)与主脚本中指定的任何脚本串联在一起,并在单个 shell 中一起执行. - -`after_script`用于定义将在每个作业(包括失败的作业)之后运行的命令. 这必须是一个数组. - -`after_script`中指定的脚本在新的 shell 中执行,与任何`before_script`或`script`脚本分开. 结果,他们: - -* 将当前工作目录设置回默认目录. -* 无法访问由`before_script`或`script`定义的脚本完成的更改,包括: - * `script`脚本中导出的命令别名和变量. - * 在工作树之外进行更改(取决于 Runner 执行程序),例如`before_script`或`script`脚本安装的软件. -* 有一个单独的超时,硬编码为 5 分钟. 有关详细信息,请参见[相关问题](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/2716) . -* 不要影响作业的退出代码. 如果`script`部分成功并且`after_script`超时或失败,则该作业将以代码`0` ( `Job Succeeded` )退出. - -如果按工作设置全局定义的`before_script`或`after_script`则有可能覆盖它: - -``` -default: - before_script: - - global before script - -job: - before_script: - - execute this instead of global before script - script: - - my command - after_script: - - execute this after my script -``` - -[YAML anchors for `before_script` and `after_script`](#yaml-anchors-for-before_script-and-after_script) are available. - -#### Coloring script output[](#coloring-script-output "Permalink") - -脚本输出可以使用[ANSI 转义码](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors)或运行输出 ANSI 转义码的命令或程序来着色. - -例如,使用[带有颜色代码的 Bash](https://misc.flogisoft.com/bash/tip_colors_and_formatting) : - -``` -job: - script: - - echo -e "\e[31mThis text is red,\e[0m but this text isn't\e[31m however this text is red again." -``` - -您可以在 Shell 变量甚至[自定义环境变量中](../variables/README.html#custom-environment-variables)定义颜色代码,这使命令更易于阅读和重用. - -例如,使用与上述相同的示例以及在`before_script`定义的变量: - -``` -job: - before_script: - - TXT_RED="\e[31m" && TXT_CLEAR="\e[0m" - script: - - echo -e "${TXT_RED}This text is red,${TXT_CLEAR} but this part isn't${TXT_RED} however this part is again." - - echo "This text is not colored" -``` - -或使用[PowerShell 颜色代码](https://superuser.com/a/1259916) : - -``` -job: - before_script: - - $esc="$([char]27)"; $TXT_RED="$esc[31m"; $TXT_CLEAR="$esc[0m" - script: - - Write-Host $TXT_RED"This text is red,"$TXT_CLEAR" but this text isn't"$TXT_RED" however this text is red again." - - Write-Host "This text is not colored" -``` - -#### Multiline commands[](#multiline-commands "Permalink") - -您可以使用[`|`](https://yaml-multiline.info/)将长命令分成多行命令以提高可读性[`|`](https://yaml-multiline.info/) [(文字)和`>` (折叠)YAML 多行块标量指标](https://yaml-multiline.info/) . - -**警告:**如果将多个命令组合到一个命令字符串中,则只会报告最后一个命令的失败或成功, [错误地忽略了由于 bug 导致的先前命令的失败](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/25394) . 如果作业的成功取决于这些命令的成功或失败,则可以将命令作为单独的`script:`项目运行,或在需要时将`exit 1`命令添加到适当的命令字符串中. - -您可以使用`|` (文字)YAML 多行块标量指示器,用于在作业描述的`script`部分中的多行上编写命令. 每行都被视为一个单独的命令. 在作业日志中仅重复第一个命令,但仍执行其他命令: - -``` -job: - script: - - | - echo "First command line." - echo "Second command line." - echo "Third command line." -``` - -上面的示例在作业日志中呈现为: - -``` -$ echo First command line # collapsed multi-line command -First command line -Second command line. -Third command line. -``` - -`>` (折叠的)YAML 多行块标量指示符将节之间的空行视为新命令的开始: - -``` -job: - script: - - > - echo "First command line - is split over two lines." - - echo "Second command line." -``` - -这与编写不带`>`或`|`多行命令的行为类似 块标量指标: - -``` -job: - script: - - echo "First command line - is split over two lines." - - echo "Second command line." -``` - -上面的两个示例在作业日志中均显示为: - -``` -$ echo First command line is split over two lines. # collapsed multi-line command -First command line is split over two lines. -Second command line. -``` - -当`>`或`|` 块标量指示符被省略,GitLab 将通过连接非空行来形成命令,因此请确保在连接时行可以运行. - -[此处的](https://en.wikipedia.org/wiki/Here_document) Shell [文件可](https://en.wikipedia.org/wiki/Here_document)与`|` 和`>`运算符. 下面的示例将小写字母音译为大写字母: - -``` -job: - script: - - | - tr a-z A-Z << END_TEXT - one two three - four five six - END_TEXT -``` - -结果是: - -``` -$ tr a-z A-Z << END_TEXT # collapsed multi-line command - ONE TWO THREE - FOUR FIVE SIX -``` - -### `stage`[](#stage "Permalink") - -`stage`是按职位定义的,并且依赖于全局定义的[`stages`](#stages) . 它允许将作业分为不同的阶段,并且同一`stage`作业可以并行执行(取决于[特定条件](#using-your-own-runners) ). 例如: - -``` -stages: - - build - - test - - deploy - -job 0: - stage: .pre - script: make something useful before build stage - -job 1: - stage: build - script: make build dependencies - -job 2: - stage: build - script: make build artifacts - -job 3: - stage: test - script: make test - -job 4: - stage: deploy - script: make deploy - -job 5: - stage: .post - script: make something useful at the end of pipeline -``` - -#### Using your own Runners[](#using-your-own-runners "Permalink") - -使用自己的 Runners 时,默认情况下,GitLab Runner 一次仅运行一个作业(有关更多信息,请参见[Runner 全局设置中](https://docs.gitlab.com/runner/configuration/advanced-configuration.html)的`concurrent`标志). - -仅在以下情况下,作业将在您自己的跑步者上并行运行: - -* Run on different Runners. -* 跑步者的`concurrent`设置已更改. - -#### `.pre` and `.post`[](#pre-and-post "Permalink") - -在 GitLab 12.4 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/31441) . - -每个管道均可使用以下阶段: - -* `.pre` ,它始终是管道中的第一阶段. -* `.post` ,它始终是管道中的最后一个阶段. - -用户定义的阶段在`.pre`之后和`.post`之前执行. - -即使`.gitlab-ci.yml`定义不正确, `.pre`和`.post`的顺序也无法更改. 例如,以下是等效配置: - -* 按顺序配置: - - ``` - stages: - - .pre - - a - - b - - .post - ``` - -* 配置乱序: - - ``` - stages: - - a - - .pre - - b - - .post - ``` - -* 未明确配置: - - ``` - stages: - - a - - b - ``` - -**Note:** A pipeline won’t be created if it only contains jobs in `.pre` or `.post` stages. - -### `extends`[](#extends "Permalink") - -在 GitLab 11.3 中引入. - -`extends`定义使用`extends`的作业将要继承的条目名称. - -它是使用[YAML 锚点](#anchors)的替代方法,并且更具灵活性和可读性: - -``` -.tests: - script: rake test - stage: test - only: - refs: - - branches - -rspec: - extends: .tests - script: rake rspec - only: - variables: - - $RSPEC -``` - -在上面的示例中, `rspec`作业继承自`.tests`模板作业. GitLab 将基于密钥执行反向深度合并. GitLab 将: - -* Merge the `rspec` contents into `.tests` recursively. -* 不合并键的值. - -这将导致以下`rspec`作业: - -``` -rspec: - script: rake rspec - stage: test - only: - refs: - - branches - variables: - - $RSPEC -``` - -**注意:**请注意, `script: rake test`已被`script: rake rspec`覆盖. - -如果您确实希望包含`rake test` ,请参见[`before_script`和`after_script`](#before_script-and-after_script) . - -在此示例中, `.tests`是[隐藏作业](#hide-jobs) ,但是也可以从常规作业继承. - -`extends`支持多级继承,但是不建议使用三个以上级别. 支持的最大嵌套级别为 10.以下示例具有两个继承级别: - -``` -.tests: - only: - - pushes - -.rspec: - extends: .tests - script: rake rspec - -rspec 1: - variables: - RSPEC_SUITE: '1' - extends: .rspec - -rspec 2: - variables: - RSPEC_SUITE: '2' - extends: .rspec - -spinach: - extends: .tests - script: rake spinach -``` - -在 GitLab 12.0 和更高版本中,还可以使用多个父对象进行`extends` . - -#### Merge details[](#merge-details "Permalink") - -`extends`可以合并哈希,但不能合并数组. 用于合并的算法是"最近的范围获胜",因此来自最后一个成员的键将始终覆盖在其他级别定义的任何内容. 例如: - -``` -.only-important: - variables: - URL: "http://my-url.internal" - IMPORTANT_VAR: "the details" - only: - - master - - stable - tags: - - production - script: - - echo "Hello world!" - -.in-docker: - variables: - URL: "http://docker-url.internal" - tags: - - docker - image: alpine - -rspec: - variables: - GITLAB: "is-awesome" - extends: - - .only-important - - .in-docker - script: - - rake rspec -``` - -这将导致以下`rspec`作业: - -``` -rspec: - variables: - URL: "http://docker-url.internal" - IMPORTANT_VAR: "the details" - GITLAB: "is-awesome" - only: - - master - - stable - tags: - - docker - image: alpine - script: - - rake rspec -``` - -请注意,在上面的示例中: - -* `variables`部分已合并,但`URL: "http://my-url.internal"`已被`URL: "http://docker-url.internal"`覆盖. -* `tags: ['production']`已被`tags: ['docker']`覆盖. -* `script`尚未合并,而是`script: ['echo "Hello world!"']`被`script: ['rake rspec']`覆盖. 可以使用[YAML 锚点](#anchors)合并数组. - -#### Using `extends` and `include` together[](#using-extends-and-include-together "Permalink") - -`extends`配置文件`extends`到`include`配置文件. - -例如,如果您有本地`included.yml`文件: - -``` -.template: - script: - - echo Hello! -``` - -然后,在`.gitlab-ci.yml`您可以像这样使用它: - -``` -include: included.yml - -useTemplate: - image: alpine - extends: .template -``` - -这将运行一个名为`useTemplate`的作业,该作业运行`echo Hello!` 如`.template`作业中所定义,并使用本地作业中所定义的`alpine` Docker 映像. - -### `rules`[](#rules "Permalink") - -在 GitLab 12.3 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/27863) . - -`rules`关键字是一种设置作业策略的方法,该策略确定是否将作业添加到管道. - -将按*顺序*评估单个规则子句的列表,直到一个匹配. 匹配后,根据配置将作业包括在管道中或从管道中排除. 如果包含,则作业还会添加[某些属性](#rules-attributes) . - -**注意:** `rules`不能[`only/except`](#onlyexcept-basic)与[`only/except`](#onlyexcept-basic)不能结合使用,因为它是该功能的替代品. 如果尝试执行此操作,则 linter 返回的`key may not be used with rules`错误`key may not be used with rules` . - -#### Rules attributes[](#rules-attributes "Permalink") - -`rules`允许的作业属性是: - -* [`when`](#when) :如果未定义,则默认为`when: on_success` . - * 如果用作`when: delayed` ,则还需要`start_in` . -* [`allow_failure`](#allow_failure) :如果未定义,则默认为`allow_failure: false` . - -如果一个规则的计算结果为 true,并且`when`具有除`never`以外的任何值`when` ,该作业将包括在管道中. - -例如: - -``` -docker build: - script: docker build -t my-image:$CI_COMMIT_REF_SLUG . - rules: - - if: '$CI_COMMIT_BRANCH == "master"' - when: delayed - start_in: '3 hours' - allow_failure: true -``` - -将来可能会将其他作业配置添加到规则中. 如果没有有用的东西,请[打开一个问题](https://gitlab.com/gitlab-org/gitlab/-/issues) . - -#### Rules clauses[](#rules-clauses "Permalink") - -可用的规则子句为: - -| Clause | Description | -| --- | --- | -| [`if`](#rulesif) | 通过评估`if`语句在管道中添加或排除作业. 与[`only:variables`](#onlyvariablesexceptvariables)类似. | -| [`changes`](#ruleschanges) | 根据更改的文件在管道中添加或排除作业. 与[`only:changes`](#onlychangesexceptchanges)相同. | -| [`exists`](#rulesexists) | 根据特定文件的存在在管道中添加或排除作业. | - -Rules are evaluated in order until a match is found. If a match is found, the attributes are checked to see if the job should be added to the pipeline. If no attributes are defined, the defaults are: - -* `when: on_success` -* `allow_failure: false` - -作业已添加到管道中: - -* 如果规则匹配并且具有以下条件`when: on_success` , `when: delayed` `when: on_success`或`when: always` . -* 如果没有规则匹配,但最后一个子句为`when: on_success` , `when: delayed` `when: on_success`或`when: always` (无规则). - -作业未添加到管道: - -* 如果没有规则匹配,并且在以下情况下没有独立的条件`when: on_success` , `when: delayed` `when: on_success`或`when: always` . -* 如果规则匹配,并且具有以下条件`when: never`作为属性. - -例如,使用`if`子句严格限制作业运行的时间: - -``` -job: - script: "echo Hello, Rules!" - rules: - - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' - when: manual - allow_failure: true - - if: '$CI_PIPELINE_SOURCE == "schedule"' -``` - -在此示例中: - -* 如果管道用于合并请求,则第一个规则匹配,并且作业将添加到[合并请求管道](../merge_request_pipelines/index.html) ,其属性为: - * `when: manual` (手动工作) - * `allow_failure: true` (即使未运行手动作业,也允许管道继续运行) -* 如果管道**不是**用于合并请求的,则第一条规则不匹配,并且第二条规则被评估. -* 如果管道是计划的管道,则第二条规则匹配,并将作业添加到计划的管道. 由于未定义任何属性,因此添加了: - * `when: on_success` (默认) - * `allow_failure: false` (默认) -* 在**所有其他情况下** ,没有规则匹配,因此该作业**不会**添加到任何其他管道. - -另外,您可以定义一组规则以在某些情况下排除作业,但在所有其他情况下运行它们: - -``` -job: - script: "echo Hello, Rules!" - rules: - - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' - when: never - - if: '$CI_PIPELINE_SOURCE == "schedule"' - when: never - - when: on_success -``` - -* 如果管道用于合并请求, **则不**会将作业添加到管道. -* 如果管道是计划的管道, **则不**会将作业添加到管道. -* 在**所有其他情况下** ,将使用以下时间将作业添加到管道中`when: on_success` . - -**注意**如果你使用`when: on_success` , `always` ,或`delayed`作为最终的规则,两个同时进行的管道可能会启动. 推送管道和合并请求管道都可以由同一事件触发(对于打开的合并请求,将其推送到源分支). 请参阅[`rules`之间](#differences-between-rules-and-onlyexcept)的[重要区别, `only` / `except`](#differences-between-rules-and-onlyexcept)以获取更多详细信息. - -#### Differences between `rules` and `only`/`except`[](#differences-between-rules-and-onlyexcept "Permalink") - -默认情况下, `only/except`定义的作业不会触发合并请求管道. 您必须`only: merge_requests`明确添加`only: merge_requests` . - -用`rules`定义的作业可以触发所有类型的管道. 您不必显式配置每种类型. - -例如: - -``` -job: - script: "echo This creates double pipelines!" - rules: - - if: '$CUSTOM_VARIABLE == "false"' - when: never - - when: always -``` - -This job does not run when `$CUSTOM_VARIABLE` is false, but it *does* run in **all** other pipelines, including **both** push (branch) and merge request pipelines. With this configuration, every push to an open merge request’s source branch causes duplicated pipelines. Explicitly allowing both push and merge request pipelines in the same job could have the same effect. - -我们建议使用[`workflow: rules`](#workflowrules)来限制允许的管道类型. 仅允许合并请求管道,或仅允许分支管道,可以消除重复的管道. 另外,您也可以使用最终避免重写规则更严格,或`when` ( `always` , `on_success`或`delayed` ). - -另外,我们不建议在同一管道中将`only/except`作业与`rules`作业混合使用. 它可能不会导致 YAML 错误,但是由于`only/except`和`rules`默认行为不同,因此调试确切的执行行为可能会很复杂. - -##### `rules:if`[](#rulesif "Permalink") - -`rules:if`子句通过评估简单的`if`语句来确定是否将作业添加到管道. 如果`if`语句为 true,则将作业包括在管道中或从管道中排除. 用简单的英语, `if`规则可以解释为之一: - -* "如果此规则评估为 true,则添加作业"(默认值). -* "如果该规则评估为 true,则不要添加作业"(通过添加`when: never` ). - -`rules:if`与`only:variables`略有不同,每个规则仅接受一个表达式字符串,而不是它们的数组. 可以使用`&&`或`||`将要求值的任何表达式集组合为一个表达式. ,并使用[变量匹配语法](../variables/README.html#syntax-of-environment-variable-expressions) . - -`if:` clauses are evaluated based on the values of [predefined environment variables](../variables/predefined_variables.html) or [custom environment variables](../variables/README.html#custom-environment-variables). - -例如: - -``` -job: - script: "echo Hello, Rules!" - rules: - - if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME =~ /^feature/ && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master"' - when: always - - if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME =~ /^feature/' - when: manual - allow_failure: true - - if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME' # Checking for the presence of a variable is possible -``` - -有关确定`when`上班的逻辑的一些详细信息: - -* 如果提供的规则都不匹配,则将作业设置为以下`when: never` ,并且不包含在管道中. -* 不带任何条件子句的规则,例如不带`if`或`changes`的`when`或`allow_failure`规则,始终匹配,并且在达到条件时始终使用. -* If a rule matches and has no `when` defined, the rule uses the `when` defined for the job, which defaults to `on_success` if not defined. -* 您可以定义`when`一次按规则,或在一次作业级别,它适用于所有规则. 你不能混用`when`在作业水平`when`的规则. - -对于类似于[`only` / `except`关键字的](#onlyexcept-basic)行为,可以检查`$CI_PIPELINE_SOURCE`变量的值. - -| Value | Description | -| --- | --- | -| `push` | 对于由`git push`事件触发的管道,包括分支和标签. | -| `web` | 对于使用 GitLab UI 中的**"运行管道"**按钮创建的**管道** ,请从项目的**CI / CD>"管道"**部分. | -| `trigger` | For pipelines created by using a trigger token. | -| `schedule` | For [scheduled pipelines](../pipelines/schedules.html). | -| `api` | 对于由[管道 API](../../api/pipelines.html#create-a-new-pipeline)触发的[管道](../../api/pipelines.html#create-a-new-pipeline) . | -| `external` | 使用除 GitLab 以外的 CI 服务时. | -| `pipelines` | 对于通过[将 API 与`CI_JOB_TOKEN`一起使用](../triggers/README.html#when-used-with-multi-project-pipelines)创建的多项目管道. | -| `chat` | 对于使用[GitLab ChatOps](../chatops/README.html)命令创建的管道. | -| `webide` | 对于使用[WebIDE](../../user/project/web_ide/index.html)创建的管道. | -| `merge_request_event` | 对于在创建或更新合并请求时创建的管道. 启用[合并请求管道](../merge_request_pipelines/index.html) , [合并结果管道](../merge_request_pipelines/pipelines_for_merged_results/index.html)和[合并序列所](../merge_request_pipelines/pipelines_for_merged_results/merge_trains/index.html)必需. | -| `external_pull_request_event` | 在 GitHub 上创建或更新外部拉取请求时. 有关[外部拉取请求,](../ci_cd_for_external_repos/index.html#pipelines-for-external-pull-requests)请参见[管道](../ci_cd_for_external_repos/index.html#pipelines-for-external-pull-requests) . | -| `parent_pipeline` | 对于由具有`rules`的[父/子](../parent_child_pipelines.html)管道触发的[管道](../parent_child_pipelines.html) ,请在子管道配置中使用它,以便可以由父管道触发. | - -例如: - -``` -job: - script: "echo Hello, Rules!" - rules: - - if: '$CI_PIPELINE_SOURCE == "schedule"' - when: manual - allow_failure: true - - if: '$CI_PIPELINE_SOURCE == "push"' -``` - -此示例在以下情况下在计划的管道或推送管道(到分支或标签)中将其作为手动作业运行`when: on_success` (默认). 不会将作业添加到任何其他管道类型. - -另一个例子: - -``` -job: - script: "echo Hello, Rules!" - rules: - - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' - - if: '$CI_PIPELINE_SOURCE == "schedule"' -``` - -本示例将作业作为以下`when: on_success`运行`when: on_success`在[合并请求管道](../merge_request_pipelines/index.html)和计划管道中的`when: on_success`作业. 它不能在任何其他管道类型中运行. - -`if`子句的其他常用变量: - -* `if: $CI_COMMIT_TAG` :是否为标签推送更改. -* `if: $CI_COMMIT_BRANCH` :是否将更改推送到任何分支. -* `if: '$CI_COMMIT_BRANCH == "master"'` :如果将更改推送到`master` . -* `if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'` :如果将更改推送到默认分支(通常是`master` ). 如果在可能具有不同默认分支的多个项目中重用同一配置,则很有用. -* `if: '$CI_COMMIT_BRANCH =~ /regex-expression/'` :如果 commit 分支与正则表达式匹配. -* `if: '$CUSTOM_VARIABLE !~ /regex-expression/'` :如果[自定义变量](../variables/README.html#custom-environment-variables) `CUSTOM_VARIABLE`与正则表达式**不**匹配. -* `if: '$CUSTOM_VARIABLE == "value1"'` :如果自定义变量`CUSTOM_VARIABLE`恰好是`value1` . - -##### `rules:changes`[](#ruleschanges "Permalink") - -要确定是否应将作业添加到管道,请使用`rules: changes`子句检查由 Git push 事件更改的文件. - -`rules: changes`工作方式与[`only: changes`和`except: changes`](#onlychangesexceptchanges) ,接受路径数组. 同样,如果没有 Git 推送事件,则始终返回 true. 它仅应用于分支管道或合并请求管道. - -例如: - -``` -workflow: - rules: - - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' - -docker build: - script: docker build -t my-image:$CI_COMMIT_REF_SLUG . - rules: - - changes: - - Dockerfile - when: manual - allow_failure: true -``` - -在此示例中: - -* [`workflow: rules`](#workflowrules)仅允许用于所有作业的合并请求的管道. -* 如果`Dockerfile`已更改,则将作业作为手动作业添加到管道中,并允许管道继续运行,即使未触发该作业( `allow_failure: true` ). -* 如果`Dockerfile`尚未更改,请不要将作业添加到任何管道(与`when: never`相同). - -##### `rules:exists`[](#rulesexists "Permalink") - -在 GitLab 12.4 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/24021) . - -`exists` accepts an array of paths and will match if any of these paths exist as files in the repository. - -例如: - -``` -job: - script: docker build -t my-image:$CI_COMMIT_REF_SLUG . - rules: - - exists: - - Dockerfile -``` - -您还可以使用全局模式来匹配存储库中任何目录中的多个文件. - -例如: - -``` -job: - script: bundle exec rspec - rules: - - exists: - - spec/**.rb -``` - -**注意:**出于性能原因,使用`exists`与模式限制为 10000 个检查. 第 10000 次检查后,带有图案化球形的规则将始终匹配. - -##### `rules:allow_failure`[](#rulesallow_failure "Permalink") - -在 GitLab 12.8 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/30235) . - -您可以在`rules:`使用[`allow_failure: true`](#allow_failure) `rules:`在不停止管道本身的情况下允许作业失败或手动作业等待操作. 所有使用`rules:`作业`rules:`默认为`allow_failure: false`如果`allow_failure:` , `allow_failure: false` . - -规则级`rules:allow_failure`选项将覆盖作业级[`allow_failure`](#allow_failure)选项,并且仅在特定规则触发作业时才应用. - -``` -job: - script: "echo Hello, Rules!" - rules: - - if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master"' - when: manual - allow_failure: true -``` - -在此示例中,如果第一个规则匹配,则作业将具有以下`when: manual`和`allow_failure: true` . - -#### Complex rule clauses[](#complex-rule-clauses "Permalink") - -要使`if` , `changes`和`exists`子句与 AND 结合在一起,请在同一规则中使用它们. - -在以下示例中: - -* 如果`Dockerfile`或`Dockerfile` `docker/scripts/`任何文件已更改并且`$VAR == "string value"`我们将手动运行作业. -* 否则,该作业将不会包含在管道中. - -``` -docker build: - script: docker build -t my-image:$CI_COMMIT_REF_SLUG . - rules: - - if: '$VAR == "string value"' - changes: # Will include the job and set to when:manual if any of the follow paths match a modified file. - - Dockerfile - - docker/scripts/* - when: manual - # - when: never would be redundant here, this is implied any time rules are listed. -``` - -当前`only`可用于/ `except`关键字(例如`branches`或`refs`在`rules`尚不可用,因为在这种情况下,它们的用法和行为被单独考虑. 我们将在[史诗](https://gitlab.com/groups/gitlab-org/-/epics/2783)中讨论未来的关键字改进, [以改进`rules`](https://gitlab.com/groups/gitlab-org/-/epics/2783) ,任何人都可以添加建议或请求. - -### `only`/`except` (basic)[](#onlyexcept-basic "Permalink") - -**注意:** [`rules`](#rules)语法是一种改进的功能更强大的解决方案,用于定义作业何时运行或不运行. 考虑使用`rules`而不是`only/except`来最大程度地利用管道. - -`only`和`except`是用于设置作业策略以限制创建作业时间的两个参数: - -1. `only` defines the names of branches and tags for which the job will run. -2. `except`定义将**不**运行作业的分支和标签的名称. - -有一些适用于作业策略的规则: - -* `only`且`except` . 如果作业规范中同时定义了`only`和`except` ,则 ref 将被`only`和`except`过滤. -* `only`且`except`允许使用正则表达式( [受支持的 regexp 语法](#supported-onlyexcept-regexp-syntax) ). -* `only`且`except`允许指定存储库路径以过滤派生作业. - -此外, `only`和`except`允许使用特殊关键字: - -| **Value** | **Description** | -| --- | --- | -| `branches` | 当管道的 Git 参考是分支时. | -| `tags` | 当管道的 Git 参考是标签时. | -| `api` | 对于由[管道 API](../../api/pipelines.html#create-a-new-pipeline)触发的[管道](../../api/pipelines.html#create-a-new-pipeline) . | -| `external` | 使用除 GitLab 以外的 CI 服务时. | -| `pipelines` | 对于通过将 API 与`CI_JOB_TOKEN`一起使用创建的多项目管道. | -| `pushes` | 对于由`git push`事件触发的管道,包括分支和标签. | -| `schedules` | For [scheduled pipelines](../pipelines/schedules.html). | -| `triggers` | 对于使用触发令牌创建的管道. | -| `web` | 对于使用 GitLab UI 中的**"运行管道"**按钮创建的**管道** ,请从项目的**CI / CD>"管道"**部分. | -| `merge_requests` | 对于在创建或更新合并请求时创建的管道. 启用[合并请求管道](../merge_request_pipelines/index.html) , [合并结果管道](../merge_request_pipelines/pipelines_for_merged_results/index.html)和[合并序列](../merge_request_pipelines/pipelines_for_merged_results/merge_trains/index.html) . | -| `external_pull_requests` | 在 GitHub 上创建或更新[外部拉取请求时](../ci_cd_for_external_repos/index.html#pipelines-for-external-pull-requests) (有关[外部拉取请求,](../ci_cd_for_external_repos/index.html#pipelines-for-external-pull-requests)请参见[管道](../ci_cd_for_external_repos/index.html#pipelines-for-external-pull-requests) ). | -| `chat` | 对于使用[GitLab ChatOps](../chatops/README.html)命令创建的管道. | - -在下面的例子中, `job`将只运行了与裁判开始`issue-` ,而所有分支机构将被忽略: - -``` -job: - # use regexp - only: - - /^issue-.*$/ - # use special keyword - except: - - branches -``` - -模式匹配默认情况下区分大小写. 使用`i`标志修饰符,例如`/pattern/i` ,使模式不区分大小写: - -``` -job: - # use regexp - only: - - /^issue-.*$/i - # use special keyword - except: - - branches -``` - -在此示例中, `job`仅对标记了标签的引用运行,或者如果通过 API 触发器或[管道时间表](../pipelines/schedules.html)明确请求构建,则`job`将运行: - -``` -job: - # use special keywords - only: - - tags - - triggers - - schedules -``` - -存储库路径可用于仅对父存储库执行作业,而不能用于派生: - -``` -job: - only: - - branches@gitlab-org/gitlab - except: - - master@gitlab-org/gitlab - - /^release/.*$/@gitlab-org/gitlab -``` - -上面的示例将为`gitlab-org/gitlab`上的所有分支运行`job` ,但`master`和名称以`release/` `gitlab-org/gitlab`分支除外. - -如果作业没有`only`规则,则默认情况下`only: ['branches', 'tags']` . 如果没有`except`规则,则为空. - -例如, - -``` -job: - script: echo 'test' -``` - -转换为: - -``` -job: - script: echo 'test' - only: ['branches', 'tags'] -``` - -#### Regular expressions[](#regular-expressions "Permalink") - -因为`@`用于表示 ref 的存储库路径的开头,所以匹配正则表达式中包含`@`字符的 ref 名称需要使用十六进制字符代码匹配`\x40` . - -正则表达式只能匹配标签或分支名称. 如果给定存储库路径,则始终在字面上匹配. - -如果必须使用正则表达式来匹配标记或分支名称,则模式的整个 ref 名称部分必须是正则表达式,并且必须用`/`括起来. (在结束符`/`之后附加正则表达式标志.)因此`issue-/.*/`不能匹配所有以`issue-`开头的标记名或分支名. - -**提示**使用定位符`^`和`$`避免正则表达式仅匹配标记名称或分支名称的子字符串. 例如, `/^issue-/` `/^issue-.*$/` `/^issue-/`等效于`/^issue-/` `/^issue-.*$/` `/^issue-/` ,而只是`/issue/`也会匹配一个名为`/^issue-.*$/` `severe-issues`的分支. - -#### Supported `only`/`except` regexp syntax[](#supported-onlyexcept-regexp-syntax "Permalink") - -**警告:**这是 GitLab 11.9.4 引入的重大更改. - -在 GitLab 11.9.4 中,GitLab 开始内部将`only`用于参数(参数`except` regexp 转换为[RE2](https://github.com/google/re2/wiki/Syntax) . - -这意味着仅支持[Ruby Regexp](https://ruby-doc.org/core/Regexp.html)提供的功能子集. 由于计算复杂性, [RE2](https://github.com/google/re2/wiki/Syntax)限制了所提供的功能集,这意味着某些功能在 GitLab 11.9.4 中变得不可用. 例如,负面的前瞻. - -For GitLab versions from 11.9.7 and up to GitLab 12.0, GitLab provides a feature flag that can be enabled by administrators that allows users to use unsafe regexp syntax. This brings compatibility with previously allowed syntax version and allows users to gracefully migrate to the new syntax. - -``` -Feature.enable(:allow_unsafe_ruby_regexp) -``` - -### `only`/`except` (advanced)[](#onlyexcept-advanced "Permalink") - -**警告:**这是*Alpha 版*功能,如有更改,恕不另行通知! - -GitLab 支持简单策略和复杂策略,因此可以使用数组和哈希配置方案. - -有四个键可用: - -* `refs` -* `variables` -* `changes` -* `kubernetes` - -如果`only`或`except`下使用多个键,则这些键将被视为单个联合表达式. 那是: - -* `only:`表示"如果所有条件都匹配,则包括此作业". -* `except:`表示"如果任何条件匹配,则排除此工作". - -使用`only` ,各个键在逻辑上由 AND 联接: - -> (任何参考)AND(任何变量)AND(任何变化)AND(如果 Kubernetes 是活动的) - -在下面的示例中, `only`在满足以下**所有条件** `only`创建`test`作业: - -* 该管道已被[调度](../../user/project/pipelines/schedules.html) **或**正在`master`管道运行. -* `variables`关键字匹配. -* `kubernetes`服务在项目上处于活动状态. - -``` -test: - script: npm run test - only: - refs: - - master - - schedules - variables: - - $CI_COMMIT_MESSAGE =~ /run-end-to-end-tests/ - kubernetes: active -``` - -`except`被实现为对此完整表达式的否定: - -> NOT((任何参考)AND(任何变量)AND(任何变化)AND(如果 Kubernetes 处于活动状态)) - -This means the keys are treated as if joined by an OR. This relationship could be described as: - -> (任何参考)或(任何变量)或(任何变化)或(如果 Kubernetes 处于活动状态) - -在以下示例中,如果满足以下**任一条件** ,则**不会**创建`test`作业: - -* 该管道的运行`master` . -* 存储库的根目录中的`README.md`文件进行了更改. - -``` -test: - script: npm run test - except: - refs: - - master - changes: - - "README.md" -``` - -#### `only:refs`/`except:refs`[](#onlyrefsexceptrefs "Permalink") - -GitLab 10.0 中引入的`refs`策略. - -`refs`策略可以采用与[简化的 only / except 配置](#onlyexcept-basic)相同的值. - -在下面的示例中,仅在`master`分支[计划](../pipelines/schedules.html)或运行管道时才创建`deploy`作业: - -``` -deploy: - only: - refs: - - master - - schedules -``` - -#### `only:kubernetes`/`except:kubernetes`[](#onlykubernetesexceptkubernetes "Permalink") - -GitLab 10.0 中引入的`kubernetes`策略. - -The `kubernetes` strategy accepts only the `active` keyword. - -在下面的示例中,仅当项目中的 Kubernetes 服务处于活动状态时,才将创建`deploy`作业: - -``` -deploy: - only: - kubernetes: active -``` - -#### `only:variables`/`except:variables`[](#onlyvariablesexceptvariables "Permalink") - -GitLab 10.7 中引入了`variables`策略. - -`variables`关键字用于定义变量表达式. 换句话说,您可以使用预定义变量/项目/组或环境范围的变量来定义 GitLab 将要评估的表达式,以决定是否应创建作业. - -使用变量表达式的示例: - -``` -deploy: - script: cap staging deploy - only: - refs: - - branches - variables: - - $RELEASE == "staging" - - $STAGING -``` - -另一个用例是根据提交消息排除作业: - -``` -end-to-end: - script: rake test:end-to-end - except: - variables: - - $CI_COMMIT_MESSAGE =~ /skip-end-to-end-tests/ -``` - -了解有关[变量表达式的](../variables/README.html#environment-variables-expressions)更多信息. - -#### `only:changes`/`except:changes`[](#onlychangesexceptchanges "Permalink") - -`changes` GitLab 11.4 中[引入的](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/19232)策略. - -利用`changes`与关键字`only`或`except`能够基于通过推送操作事件被修改的文件定义,如果一个工作应该被创建. - -这意味着`only:changes`策略对以下情况的管道很有用: - -* `$CI_PIPELINE_SOURCE == 'push'` -* `$CI_PIPELINE_SOURCE == 'merge_request_event'` -* `$CI_PIPELINE_SOURCE == 'external_pull_request_event'` - -如果没有 Git 推送事件(例如,对于具有[上述三个之外的源的](../variables/predefined_variables.html)管道),则`changes`无法确定给定文件是新文件还是旧文件,并且始终返回 true. - -`only: changes`使用的一个基本示例`only: changes` : - -``` -docker build: - script: docker build -t my-image:$CI_COMMIT_REF_SLUG . - only: - changes: - - Dockerfile - - docker/scripts/* - - dockerfiles/**/* - - more_scripts/*.{rb,py,sh} -``` - -在上述场景中,当将提交推送到 GitLab 中的现有分支时,它会创建并触发`docker build`作业,只要其中一个提交包含对以下任何一项的更改: - -* The `Dockerfile` file. -* `docker/scripts/`目录中的任何文件. -* `dockerfiles`目录中的任何文件和子目录. -* `more_scripts`目录中具有`rb` , `py` , `sh`扩展名的`more_scripts`文件. - -**警告:**如果`only:changes`使用`only:changes` [仅允许在管道成功的情况下合并合并请求,则](../../user/project/merge_requests/merge_when_pipeline_succeeds.html#only-allow-merge-requests-to-be-merged-if-the-pipeline-succeeds)如果不[同时使用`only:merge_requests`](#using-onlychanges-with-pipelines-for-merge-requests)则可能导致不良行为. - -您还可以使用 glob 模式来匹配存储库的根目录或存储库内*任何*目录中的多个文件,但是它们必须用双引号引起来,否则 GitLab 将无法解析`.gitlab-ci.yml` . 例如: - -``` -test: - script: npm run test - only: - changes: - - "*.json" - - "**/*.sql" -``` - -如果在存储库根目录中任何扩展名为`.md`文件中检测到更改,以下示例将跳过`build`作业: - -``` -build: - script: npm run build - except: - changes: - - "*.md" -``` - -**警告:**当[将此功能与*没有*合并请求管道的新分支或标记一起使用](#using-onlychanges-without-pipelines-for-merge-requests)时,需要注意一些要点.**警告:**在[计划的管道上使用此功能](#using-onlychanges-with-scheduled-pipelines)时,需要注意一些要点. - -##### Using `only:changes` with pipelines for merge requests[](#using-onlychanges-with-pipelines-for-merge-requests "Permalink") - -使用[用于合并请求的管道,](../merge_request_pipelines/index.html)可以根据在合并请求中修改的文件来定义要创建的作业. - -为了推断源分支的正确基础 SHA,建议`only: [merge_requests]`将此关键字与`only: [merge_requests]` . 这样,可以从任何进一步的提交中正确计算出文件差异,因此可以在管道中正确测试合并请求中的所有更改. - -例如: - -``` -docker build service one: - script: docker build -t my-service-one-image:$CI_COMMIT_REF_SLUG . - only: - refs: - - merge_requests - changes: - - Dockerfile - - service-one/**/* -``` - -在上述情况下,如果创建或更新了合并请求,从而更改了`service-one`目录中的文件或`Dockerfile` ,则 GitLab 将创建并触发`Dockerfile` `docker build service one`作业. - -Note that if [pipelines for merge requests](../merge_request_pipelines/index.html) is combined with `only: [change]`, but `only: [merge_requests]` is omitted, there could be unwanted behavior. - -例如: - -``` -docker build service one: - script: docker build -t my-service-one-image:$CI_COMMIT_REF_SLUG . - only: - changes: - - Dockerfile - - service-one/**/* -``` - -在上面的示例中,管道可能由于对`service-one/**/*`的文件的更改而失败. 然后可以推送更高版本的提交,该提交不包括对该文件的任何更改,但包括对`Dockerfile`更改,并且该管道可以通过,因为它仅测试对`Dockerfile`的更改. GitLab 会检查**最近** **通过的** **管道** ,并且将合并请求显示为可合并,尽管较早的管道失败是由于尚未更正的更改引起的. - -使用此配置时,必须注意检查最新的管道是否正确地纠正了先前管道的任何故障. - -##### Using `only:changes` without pipelines for merge requests[](#using-onlychanges-without-pipelines-for-merge-requests "Permalink") - -如果没有[用于合并请求的](../merge_request_pipelines/index.html)管道,则管道将在与合并请求没有明确关联的分支或标签上运行. 在这种情况下,将使用先前的 SHA 来计算 diff,这等效于`git diff HEAD~` . 这可能会导致某些意外行为,包括: - -* When pushing a new branch or a new tag to GitLab, the policy always evaluates to true. -* 推送新提交时,更改的文件将使用先前的提交作为基础 SHA 进行计算. - -##### Using `only:changes` with scheduled pipelines[](#using-onlychanges-with-scheduled-pipelines "Permalink") - -`only:changes`在[Scheduled 管道中](../pipelines/schedules.html)始终评估为" true". 当计划的管道运行时,所有文件都被视为"已更改". - -### `needs`[](#needs "Permalink") - -版本历史 - -* 在 GitLab 12.2 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/47063) . -* 在 GitLab 12.3 中, `needs`阵列中的最大作业数从 5 个增加到 50 个. -* 在 GitLab 12.8 中[引入的](https://gitlab.com/gitlab-org/gitlab/-/issues/30631) `needs: []`使作业立即开始. - -`needs:`关键字可无序执行作业,使您可以在`.gitlab-ci.yml`实现有[向无环图](../directed_acyclic_graph/index.html) . - -这样,您无需等待阶段顺序即可运行某些作业,而无需等待其他任务,因此您可以让多个阶段同时运行. - -让我们考虑以下示例: - -``` -linux:build: - stage: build - -mac:build: - stage: build - -lint: - stage: test - needs: [] - -linux:rspec: - stage: test - needs: ["linux:build"] - -linux:rubocop: - stage: test - needs: ["linux:build"] - -mac:rspec: - stage: test - needs: ["mac:build"] - -mac:rubocop: - stage: test - needs: ["mac:build"] - -production: - stage: deploy -``` - -本示例创建四个执行路径: - -* 棉短绒:在`lint`作业将立即运行,而无需等待`build`阶段完成,因为它没有需求( `needs: []` - -* Linux 路径: `linux:build`作业完成后,将立即运行`linux:rspec`和`linux:rubocop`作业,而无需等待`mac:build`完成. - -* macOS 路径: `mac:build`作业完成后,将立即运行`mac:rspec`和`mac:rubocop`作业,而无需等待`linux:build`完成. - -* `production`作业将在所有先前的作业完成后立即执行; 在这种情况下: `linux:build` , `linux:rspec` , `linux:rubocop` , `mac:build` , `mac:rspec` , `mac:rubocop` . - -#### Requirements and limitations[](#requirements-and-limitations "Permalink") - -* 如果`needs:`设置为指向`only/except`因`only/except`规则而未实例化的作业,或者不存在,则创建管道时会出现 YAML 错误. -* `needs:`数组中单个作业可能需要的最大作业数是有限的: - * 对于 GitLab.com,限制为十个. 有关更多信息,请参见[基础结构问题](https://gitlab.com/gitlab-com/gl-infra/infrastructure/-/issues/7541) . - * 对于自我管理的实例,限制为: - * 10,如果`ci_dag_limit_needs`功能标志已启用(默认). - * 50,如果`ci_dag_limit_needs`功能标记被禁用. -* 如果`needs:`是指标记为" `parallel:`的作业. 当前作业将取决于创建的所有并行作业. -* `needs:`类似于`dependencies:`它需要使用之前阶段的作业,这意味着不可能创建循环依赖关系. 在当前阶段也不可能依赖于工作,但是[已计划了](https://gitlab.com/gitlab-org/gitlab/-/issues/30632)支持. -* 与上述相关,必须为所有具有关键字`needs:`或由一个人引用的作业明确定义阶段. - -##### Changing the `needs:` job limit[](#changing-the-needs-job-limit "Permalink") - -可以在`needs:`定义的最大作业数`needs:`默认为 10,但可以通过功能标志更改为 50\. 要将限制更改为 50,请[启动 Rails 控制台会话](../../administration/troubleshooting/debug.html#starting-a-rails-console-session)并运行: - -``` -Feature::disable(:ci_dag_limit_needs) -``` - -要将其设置回 10,请运行相反的命令: - -``` -Feature::enable(:ci_dag_limit_needs) -``` - -#### Artifact downloads with `needs`[](#artifact-downloads-with-needs "Permalink") - -[介绍](https://gitlab.com/gitlab-org/gitlab/-/issues/14311)在 GitLab v12.6. - -在使用`needs` ,可通过`artifacts: true` (默认)或`artifacts: false`来控制工件下载. - -从 GitLab 12.6 开始,您不能将[`dependencies`](#dependencies)关键字与控制作业中工件下载的`needs`结合使用. `dependencies`在不使用`needs`作业中仍然有效. - -在以下示例中, `rspec`作业将下载`build_job`工件,而`rubocop`作业则不会: - -``` -build_job: - stage: build - artifacts: - paths: - - binaries/ - -rspec: - stage: test - needs: - - job: build_job - artifacts: true - -rubocop: - stage: test - needs: - - job: build_job - artifacts: false -``` - -另外,在下面的三个语法示例中, `rspec`作业将从所有三个`build_jobs`下载工件,因为`artifacts`对于`build_job_1`是 true,并且对于`build_job_2`和`build_job_3`都**默认**为 true. - -``` -rspec: - needs: - - job: build_job_1 - artifacts: true - - job: build_job_2 - - build_job_3 -``` - -#### Cross project artifact downloads with `needs`[](#cross-project-artifact-downloads-with-needs-premium "Permalink") - -[介绍](https://gitlab.com/gitlab-org/gitlab/-/issues/14311)在 GitLab v12.7. - -`needs`可用于从[同一项目中其他 ref](#artifact-downloads-between-pipelines-in-the-same-project)或不同项目中的管道上的多达五个作业的工件中下载工件: - -``` -build_job: - stage: build - script: - - ls -lhR - needs: - - project: group/project-name - job: build-1 - ref: master - artifacts: true -``` - -`build_job`将从`group/project-name`项目的`master`分支上的最新成功`build-1`作业中下载工件. - -##### Artifact downloads between pipelines in the same project[](#artifact-downloads-between-pipelines-in-the-same-project "Permalink") - -通过将`project`关键字设置为当前项目的名称,并指定引用,可以使用`needs`从当前项目的不同管道中下载工件. 在下面的示例中, `build_job`将使用`other-ref` ref 下载最新成功的`build-1`作业的工件: - -``` -build_job: - stage: build - script: - - ls -lhR - needs: - - project: group/same-project-name - job: build-1 - ref: other-ref - artifacts: true -``` - -**注意:**不支持从[`parallel:`](#parallel)运行的作业中下载工件[`parallel:`](#parallel) - -### `tags`[](#tags "Permalink") - -`tags`用于从允许运行该项目的所有 Runner 列表中选择特定的 Runner. - -在 Runner 的注册过程中,您可以指定 Runner 的标签,例如`ruby` , `postgres` , `development` . - -`tags`可让您为具有指定标签的跑步者运行作业: - -``` -job: - tags: - - ruby - - postgres -``` - -上面的规范将确保`job`由同时定义了`ruby`和`postgres`标签的 Runner 构建. - -标签也是在不同平台上运行不同作业的好方法,例如,给定带有`osx`标签的 OS X Runner 和带有`windows`标签的 Windows Runner,以下作业将在各自的平台上运行: - -``` -windows job: - stage: - - build - tags: - - windows - script: - - echo Hello, %USERNAME%! - -osx job: - stage: - - build - tags: - - osx - script: - - echo "Hello, $USER!" -``` - -### `allow_failure`[](#allow_failure "Permalink") - -`allow_failure`允许作业失败,而不会影响其余 CI 套件. 默认值是`false` ,除了使用`when: manual`语法的[手动](#whenmanual)作业之外,除非使用[`rules:`](#rules)语法,否则所有作业默认为 false, *包括* `when: manual`作业. - -启用后,如果作业失败,该作业将在用户界面中显示橙色警告. 但是,管道的逻辑流程将认为作业成功/通过,并且不会被阻塞. - -假设所有其他作业均成功,则该作业的阶段及其管道将显示相同的橙色警告. 但是,关联的提交将被标记为"通过",而不会发出警告. - -在下面的示例中, `job1`和`job2`将并行运行,但是如果`job1`失败,它不会停止下一阶段的运行,因为它标记有`allow_failure: true` : - -``` -job1: - stage: test - script: - - execute_script_that_will_fail - allow_failure: true - -job2: - stage: test - script: - - execute_script_that_will_succeed - -job3: - stage: deploy - script: - - deploy_to_staging -``` - -### `when`[](#when "Permalink") - -`when`用于实现在发生故障或发生故障时运行的作业. - -`when`可以被设置为以下值中的一个: - -1. `on_success`仅在先前阶段中的所有作业都成功(或因为标记为`allow_failure`而被视为成功)时才执行作业. 这是默认值. -2. `on_failure`仅在`on_failure`中的至少一项作业失败时才执行作业. -3. `always` -执行作业,而不管先前阶段的作业状态如何. -4. `manual` -手动执行作业(在 GitLab 8.10 中已添加). 在下面阅读有关[手动操作的信息](#whenmanual) . -5. `delayed` -一定时间后执行作业(在 GitLab 11.14 中已添加). 在下面阅读有关[延迟动作的信息](#whendelayed) . - -For example: - -``` -stages: - - build - - cleanup_build - - test - - deploy - - cleanup - -build_job: - stage: build - script: - - make build - -cleanup_build_job: - stage: cleanup_build - script: - - cleanup build when failed - when: on_failure - -test_job: - stage: test - script: - - make test - -deploy_job: - stage: deploy - script: - - make deploy - when: manual - -cleanup_job: - stage: cleanup - script: - - cleanup after jobs - when: always -``` - -上面的脚本将: - -1. 仅当`build_job`失败时才执行`cleanup_build_job` . -2. 无论成功与失败,始终执行`cleanup_job`作为管道的最后一步. -3. 允许您从 GitLab 的 UI 手动执行`deploy_job` . - -#### `when:manual`[](#whenmanual "Permalink") - -版本历史 - -* 在 GitLab 8.10 中引入. -* 在 GitLab 9.0 中引入了阻止手动操作. -* GitLab 9.2 中引入了受保护的操作. - -手动操作是一种特殊类型的作业,不会自动执行,需要用户明确启动. 手动操作的示例用法是部署到生产环境. 可以从管道,作业,环境和部署视图开始手动操作. 在[环境文档中](../environments/index.html#configuring-manual-deployments)阅读更多[内容](../environments/index.html#configuring-manual-deployments) . - -手动操作可以是可选的或阻止的. 阻止手动操作将在定义此操作的阶段阻止管道的执行.当有人通过单击*播放*按钮执行阻止手动操作时,可以恢复管道的执行. - -当管道被阻塞时,如果设置了"管道成功时合并",则不会被合并. 阻塞的管道也确实有一种特殊的状态,称为*手动* . 使用`when:manual`语法`when:manual` ,默认情况下手动操作是非阻塞的. 如果要进行手动操作阻止,则必须在`.gitlab-ci.yml`的作业定义中添加`allow_failure: false` . - -可选的手动操作具有`allow_failure: true`默认情况下设置为`allow_failure: true` ,并且它们的状态不影响总体管道状态. 因此,如果手动操作失败,则管道最终将成功. - -**注意:**使用[`rules:`](#rules) , `allow_failure`默认为`false` ,包括手动作业. - -手动操作被视为写操作,因此当用户想要触发操作时,将使用[受保护分支的](../../user/project/protected_branches.html)权限. 换句话说,为了触发分配给正在为其运行管道的分支的手动操作,用户需要具有合并到该分支的能力. 可以使用受保护的环境来更严格地[保护手动部署](#protecting-manual-jobs-premium) ,以防止未经授权的用户运行. - -**注意:同时**使用`when:manual`和`trigger`导致错误`jobs:#{job-name} when should be on_success, on_failure or always` ,因为`when:manual`阻止使用触发器. - -##### Protecting manual jobs[](#protecting-manual-jobs-premium "Permalink") - -可以使用[受保护的环境](../environments/protected_environments.html)来定义授权运行手动作业的用户的精确列表. 通过仅允许与受保护环境关联的用户触发手动作业,可以实现一些特殊用例,例如: - -* 更精确地限制可以部署到环境的人员. -* 使管道能够被阻塞,直到获得批准的用户"批准"为止. - -为此,您必须: - -1. 为作业添加`environment` . 例如: - - ``` - deploy_prod: - stage: deploy - script: - - echo "Deploy to production server" - environment: - name: production - url: https://example.com - when: manual - only: - - master - ``` - -2. 在" [受保护的环境"设置中](../environments/protected_environments.html#protecting-environments) ,选择环境(上面的示例中为`production` ),然后将被授权触发手动作业的用户,角色或组添加到" **允许部署"**列表中. 只有该列表中的人员以及始终能够使用受保护环境的 GitLab 管理员才能触发此手动作业. - -此外,如果通过添加`allow_failure: false`将手动作业定义为阻塞,则直到触发手动作业后,管道的下`allow_failure: false`才会运行. 这可以用作一种方法,使定义的用户列表可以通过触发阻止的手动作业来"批准"后续的管道阶段. - -#### `when:delayed`[](#whendelayed "Permalink") - -在 GitLab 11.4 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/51352) . - -延迟的作业用于在一定时间后执行脚本. 如果要避免作业立即进入`pending`状态,此功能很有用. - -您可以使用`start_in`键设置时间段. 除非提供了单位,否则`start_in`键的值是以秒为单位的经过时间. `start_in`键必须小于或等于一周. 有效值的示例包括: - -* `'5'` -* `10 seconds` -* `30 minutes` -* `1 day` -* `1 week` - -当阶段中有延迟的工作时,直到延迟的工作完成,管道才能继续进行. 这意味着该关键字也可以用于在不同阶段之间插入延迟. - -上一阶段完成后,延迟作业的计时器立即启动. 与其他类型的作业类似,延迟的作业计时器不会启动,除非前一个阶段通过. - -以下示例创建一个名为`timed rollout 10%`的作业,该作业在上一阶段完成后 30 分钟执行: - -``` -timed rollout 10%: - stage: deploy - script: echo 'Rolling out 10% ...' - when: delayed - start_in: 30 minutes -``` - -您可以通过单击"停止"来停止延迟作业的活动计时器. ( **计划外** )按钮. 除非您手动执行该作业,否则以后将永远不会执行该作业. - -您可以通过单击" **播放"**按钮立即开始延迟的作业. GitLab Runner 将很快开始您的工作并开始工作. - -### `environment`[](#environment "Permalink") - -版本历史 - -* 在 GitLab 8.9 中引入. -* 您可以阅读有关环境的更多信息,并在[有关环境](../environments/index.html)的[文档中](../environments/index.html)找到更多示例. - -`environment`用于定义作业部署到特定环境. 如果指定了`environment` ,但不存在该名称下的环境,则将自动创建一个新环境. - -以最简单的形式,可以将`environment`关键字定义为: - -``` -deploy to production: - stage: deploy - script: git push production HEAD:master - environment: production -``` - -在上面的示例中,将`deploy to production`作业标记为正在部署到`production`环境. - -#### `environment:name`[](#environmentname "Permalink") - -版本历史 - -* 在 GitLab 8.11 中引入. -* 在 GitLab 8.11 之前,环境的名称可以定义为类似于`environment: production`的字符串`environment: production` . 现在推荐的方法是在`name`关键字下定义它. -* `name`参数可以使用任何已定义的 CI 变量,包括预定义的安全变量和`.gitlab-ci.yml` [`variables`](#variables) . 但是,您不能使用`script`下定义的变量. - -`environment`名称可以包含: - -* letters -* digits -* spaces -* `-` -* `_` -* `/` -* `$` -* `{` -* `}` - -通用名称是`qa` , `staging`和`production` ,但是您可以使用与您的工作流程兼容的任何名称. - -除了在`environment`关键字之后直接定义环境名称之外,还可以将其定义为单独的值. 为此,请在`environment`下使用`name`关键字: - -``` -deploy to production: - stage: deploy - script: git push production HEAD:master - environment: - name: production -``` - -#### `environment:url`[](#environmenturl "Permalink") - -版本历史 - -* 在 GitLab 8.11 中引入. -* 在 GitLab 8.11 之前,只能在 GitLab 的 UI 中添加 URL. 现在推荐的方法是在`.gitlab-ci.yml`定义它. -* `url`参数可以使用任何已定义的 CI 变量,包括预定义的安全变量和`.gitlab-ci.yml` [`variables`](#variables) . 但是,您不能使用`script`下定义的变量. - -这是一个可选值,设置该值时,它将在 GitLab 中的不同位置显示按钮,单击这些按钮会将您带到定义的 URL. - -在下面的示例中,如果作业成功完成,它将在合并请求和环境/部署页面中创建按钮,这些页面将指向`https://prod.example.com` . - -``` -deploy to production: - stage: deploy - script: git push production HEAD:master - environment: - name: production - url: https://prod.example.com -``` - -#### `environment:on_stop`[](#environmenton_stop "Permalink") - -版本历史 - -* 在 GitLab 8.13 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/22191) . -* 从 GitLab 8.14 开始,当您具有定义了停止动作的环境时,当删除关联的分支时,GitLab 将自动触发停止动作. - -可以通过在`on_stop`下定义的`on_stop`关键字来实现关闭(停止) `environment` . 它声明运行另一个作业以关闭环境. - -请阅读`environment:action`部分以获取示例. - -#### `environment:action`[](#environmentaction "Permalink") - -在 GitLab 8.13 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/22191) . - -`action`关键字将与`on_stop`结合使用,并在调用关闭环境的作业中定义. - -举个例子: - -``` -review_app: - stage: deploy - script: make deploy-app - environment: - name: review/$CI_COMMIT_REF_NAME - url: https://$CI_ENVIRONMENT_SLUG.example.com - on_stop: stop_review_app - -stop_review_app: - stage: deploy - variables: - GIT_STRATEGY: none - script: make delete-app - when: manual - environment: - name: review/$CI_COMMIT_REF_NAME - action: stop -``` - -在上面的例子中,我们建立了`review_app`工作部署到`review`环境,我们还定义了一个新`stop_review_app`下工作`on_stop` . 一旦`review_app`作业成功完成,就会触发`stop_review_app`根据什么下定义的作业`when` . 在这种情况下,我们将其设置为`manual`因此需要通过 GitLab 的 Web 界面进行[手动操作](#whenmanual)才能运行. - -同样在该示例中, `GIT_STRATEGY`设置为`none`以便当[自动触发](../environments/index.html#automatically-stopping-an-environment) `stop_review_app`作业时,删除分支后,GitLab Runner 将不会尝试检出代码. - -**注意:**上面的示例覆盖了全局变量. 如果停止环境作业依赖于全局变量,则可以在设置`GIT_STRATEGY`时使用[锚变量](#yaml-anchors-for-variables)来更改它,而不覆盖全局变量. - -**需要** `stop_review_app`作业定义以下关键字: - -* `when` - [reference](#when) -* `environment:name` -* `environment:action` - -此外,两个作业都应具有匹配的[`rules`](../yaml/README.html#onlyexcept-basic)或[`only/except`](../yaml/README.html#onlyexcept-basic)配置[`only/except`](../yaml/README.html#onlyexcept-basic) . 在上面的示例中,如果配置不同,则`stop_review_app`作业可能未包含在所有包含`review_app`作业的管道中,并且将无法触发该`action: stop`以自动停止环境. - -#### `environment:auto_stop_in`[](#environmentauto_stop_in "Permalink") - -在 GitLab 12.8 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/20956) . - -`auto_stop_in`关键字用于指定环境的生命周期,当 GitLab 过期时,它将自动停止它们. - -例如, - -``` -review_app: - script: deploy-review-app - environment: - name: review/$CI_COMMIT_REF_NAME - auto_stop_in: 1 day -``` - -当执行`review_app`作业并创建评论应用程序时,环境的生命周期设置为`1 day` . - -有关更多信息,请参见[环境自动停止文档.](../environments/index.html#environments-auto-stop) - -#### `environment:kubernetes`[](#environmentkubernetes "Permalink") - -在 GitLab 12.6 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/27630) . - -`kubernetes`块用于将部署配置为与您的项目关联的[Kubernetes 集群](../../user/project/clusters/index.html) . - -例如: - -``` -deploy: - stage: deploy - script: make deploy-app - environment: - name: production - kubernetes: - namespace: production -``` - -这将使用`production` [Kubernetes 名称空间](https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/)设置`deploy`作业以部署到`production`环境. - -有关更多信息,请参阅[`kubernetes`可用设置](../environments/index.html#configuring-kubernetes-deployments) . - -**注意:** [由 GitLab 管理的](../../user/project/clusters/index.html#gitlab-managed-clusters) Kubernetes 集群不支持 Kubernetes 配置. 要跟踪对 GitLab 管理的集群的支持进度,请参阅[相关问题](https://gitlab.com/gitlab-org/gitlab/-/issues/38054) . - -#### Dynamic environments[](#dynamic-environments "Permalink") - -版本历史 - -* 在 GitLab 8.12 和 GitLab Runner 1.6 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/21971) . -* `$CI_ENVIRONMENT_SLUG`是在 GitLab 8.15 中[引入的](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/22864) . -* `name`和`url`参数可以使用任何已定义的 CI 变量,包括预定义的安全变量和`.gitlab-ci.yml` [`variables`](#variables) . 但是,您不能使用`script`下定义的变量. - -例如: - -``` -deploy as review app: - stage: deploy - script: make deploy - environment: - name: review/$CI_COMMIT_REF_NAME - url: https://$CI_ENVIRONMENT_SLUG.example.com/ -``` - -`deploy as review app`作业将被标记为部署,以动态创建`review/$CI_COMMIT_REF_NAME`环境,其中`$CI_COMMIT_REF_NAME`是 Runner 设置的[环境变量](../variables/README.html) . `$CI_ENVIRONMENT_SLUG`变量基于环境名称,但适合包含在 URL 中. 在这种情况下,如果" `deploy as review app`作业在名为`pow`的分支中运行,则可以使用`https://review-pow.example.com/`类的 URL 访问此环境. - -当然,这意味着托管应用程序的基础服务器已正确配置. - -常见的用例是为分支创建动态环境并将其用作 Review Apps. 您可以在[https://gitlab.com/gitlab-examples/review-apps-nginx/上](https://gitlab.com/gitlab-examples/review-apps-nginx/)查看使用 Review Apps 的简单示例. - -### `cache`[](#cache "Permalink") - -版本历史 - -* 在 GitLab Runner v0.7.0 中引入. -* `cache`可以全局设置,也可以按作业设置. -* 从 GitLab 9.0 起,默认情况下启用缓存并在管道和作业之间共享缓存. -* 从 GitLab 9.2 起,缓存将在[工件](#artifacts)之前恢复. - -**了解更多信息:**阅读缓存工作原理,并在[缓存依赖文档中](../caching/index.html)找到一些好的做法. - -`cache`用于指定应在作业之间缓存的文件和目录的列表. 您只能使用本地工作副本中的路径. - -如果在作业范围之外定义了`cache` ,则意味着已全局设置`cache` ,并且所有作业都将使用该定义. - -#### `cache:paths`[](#cachepaths "Permalink") - -使用`paths`指令选择要缓存的文件或目录. 路径是相对于项目目录( `$CI_PROJECT_DIR` )的,不能直接链接到其外部. 可以使用遵循[通配符](https://en.wikipedia.org/wiki/Glob_(programming))模式的[通配符,](https://en.wikipedia.org/wiki/Glob_(programming))并且: - -* 在[GitLab Runner 13.0](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/2620)和更高版本中,请选择[`doublestar.Glob`](https://pkg.go.dev/github.com/bmatcuk/doublestar@v1.2.2?tab=doc#Match) . -* 在 GitLab Runner 12.10 及更早版本中, [`filepath.Match`](https://pkg.go.dev/path/filepath/#Match) . - -将所有文件缓存在以`.apk`和`.config`文件结尾的`binaries`文件中: - -``` -rspec: - script: test - cache: - paths: - - binaries/*.apk - - .config -``` - -本地定义的缓存将覆盖全局定义的选项. 以下`rspec`作业将仅缓存`binaries/` : - -``` -cache: - paths: - - my/files - -rspec: - script: test - cache: - key: rspec - paths: - - binaries/ -``` - -请注意,由于缓存是在作业之间共享的,因此如果您为不同的作业使用不同的路径,则还应该设置不同的**cache:key,**否则缓存内容可能会被覆盖. - -#### `cache:key`[](#cachekey "Permalink") - -在 GitLab Runner v1.0.0 中引入. - -由于缓存是在作业之间共享的,因此如果您为不同的作业使用不同的路径,则还应该设置不同的`cache:key`否则缓存内容可能会被覆盖. - -`key`指令允许您定义作业之间的缓存相似性,从而允许为所有作业使用单个缓存,按作业缓存,按分支缓存或适合您工作流程的任何其他方式. 这样,您可以微调缓存,从而允许您在不同作业甚至不同分支之间缓存数据. - -`cache:key`变量可以使用任何[预定义的变量](../variables/README.html) ,并且默认键(如果未设置)只是文字`default` ,这意味着从 GitLab 9.0 开始,默认情况下所有内容都在管道和作业之间共享. - -**注意:** `cache:key`变量不能包含`/`字符或等效的 URI 编码的`/` ; 也禁止仅由点( `.` , `.` )组成的值. - -例如,要启用每分支缓存: - -``` -cache: - key: "$CI_COMMIT_REF_SLUG" - paths: - - binaries/ -``` - -如果使用**Windows Batch**运行 Shell 脚本,则需要将`$`替换`$` `%` : - -``` -cache: - key: "%CI_COMMIT_REF_SLUG%" - paths: - - binaries/ -``` - -##### `cache:key:files`[](#cachekeyfiles "Permalink") - -[介绍](https://gitlab.com/gitlab-org/gitlab/-/issues/18986)在 GitLab v12.5. - -The `cache:key:files` keyword extends the `cache:key` functionality by making it easier to reuse some caches, and rebuild them less often, which will speed up subsequent pipeline runs. - -当包含`cache:key:files` ,还必须列出将用于生成密钥的项目文件,最多两个文件. 缓存`key`将是根据更改给定文件的最新提交(最多两个,如果列出了两个文件)计算出的 SHA 校验和. 如果在任何提交中都没有更改文件,则后备密钥将为`default` . - -``` -cache: - key: - files: - - Gemfile.lock - - package.json - paths: - - vendor/ruby - - node_modules -``` - -在此示例中,我们将为 Ruby 和 Node.js 依赖关系创建一个缓存,该缓存与`Gemfile.lock`和`package.json`文件的当前版本相关`Gemfile.lock` . 只要这些文件之一发生更改,就会计算新的缓存键并创建新的缓存. 任何将来的作业都使用相同的`Gemfile.lock`和`package.json`和`cache:key:files`将使用新的缓存,而不是重建依赖关系. - -##### `cache:key:prefix`[](#cachekeyprefix "Permalink") - -[介绍](https://gitlab.com/gitlab-org/gitlab/-/issues/18986)在 GitLab v12.5. - -`prefix`参数通过允许密钥由给定的`prefix`与为`cache:key:files`计算的 SHA 组合而成,从而为`key:files`添加了额外的功能. 例如,添加`test`的`prefix`将导致键看起来像: `test-feef9576d21ee9b6a32e30c5c79d0a0ceb68d1e5` . 如果在任何提交中都未更改两个文件,则将前缀添加到`default` ,因此示例中的键将为`test-default` . - -像`cache:key`一样, `prefix`可以使用任何[预定义的变量](../variables/README.html) ,但是不允许以下操作: - -* `/`字符(或等效的 URI 编码的`/` ) -* 仅由组成的值`.` (或等效的 URI 编码的`.` ) - -``` -cache: - key: - files: - - Gemfile.lock - prefix: ${CI_JOB_NAME} - paths: - - vendor/ruby - -rspec: - script: - - bundle exec rspec -``` - -例如,添加`$CI_JOB_NAME` `prefix`将使密钥看起来像: `rspec-feef9576d21ee9b6a32e30c5c79d0a0ceb68d1e5` ,并且作业缓存在不同分支之间共享. 如果分支更改`Gemfile.lock` ,则该分支将为`cache:key:files`具有新的 SHA 校验和. 将生成一个新的缓存密钥,并为该密钥创建一个新的缓存. 如果未找到`Gemfile.lock` ,则将前缀添加到`default` ,因此示例中的键将为`rspec-default` . - -#### `cache:untracked`[](#cacheuntracked "Permalink") - -设置`untracked: true`以缓存 Git 存储库中所有未跟踪的文件: - -``` -rspec: - script: test - cache: - untracked: true -``` - -缓存所有 Git 未跟踪的文件和`binaries` : - -``` -rspec: - script: test - cache: - untracked: true - paths: - - binaries/ -``` - -#### `cache:policy`[](#cachepolicy "Permalink") - -在 GitLab 9.4 中引入. - -缓存作业的默认行为是在执行开始时下载文件,然后在结束时重新上传文件. 这样可以将作业所做的任何更改保留下来,以备将来运行,这被称为" `pull-push`缓存策略. - -如果您知道该作业不会更改缓存的文件,则可以通过设置`policy: pull`来跳过上载步骤`policy: pull`插入作业规范. 通常,这会在较早的阶段与普通的缓存作业结合在一起,以确保不时更新缓存: - -``` -stages: - - setup - - test - -prepare: - stage: setup - cache: - key: gems - paths: - - vendor/bundle - script: - - bundle install --deployment - -rspec: - stage: test - cache: - key: gems - paths: - - vendor/bundle - policy: pull - script: - - bundle exec rspec ... -``` - -这有助于加快作业执行速度并减少缓存服务器上的负载,尤其是当您有大量并行使用缓存的作业时. - -此外,如果您有一项作业无条件地重新创建了高速缓存而不参考其先前的内容,则可以使用`policy: push`该作业以跳过下载步骤. - -### `artifacts`[](#artifacts "Permalink") - -版本历史 - -* 在非 Windows 平台的 GitLab Runner v0.7.0 中引入. -* Windows 支持已在 GitLab Runner v.1.0.0 中添加. -* 从 GitLab 9.2 起,缓存将在工件之前恢复. -* 并非所有执行程序都[受支持](https://docs.gitlab.com/runner/executors/) . -* 默认情况下,仅为成功的作业收集作业工件. - -`artifacts`用于指定在[成功,失败或始终成功](#artifactswhen)时应附加到作业的文件和目录的列表. - -作业完成后,工件将被发送到 GitLab,并可在 GitLab UI 中下载. - -[Read more about artifacts](../pipelines/job_artifacts.html). - -#### `artifacts:paths`[](#artifactspaths "Permalink") - -路径是相对于项目目录( `$CI_PROJECT_DIR` )的,不能直接链接到其外部. 可以使用遵循[通配符](https://en.wikipedia.org/wiki/Glob_(programming))模式和[`filepath.Match`](https://s0golang0org.icopy.site/pkg/path/filepath/)的[通配符](https://en.wikipedia.org/wiki/Glob_(programming)) . - -要限制特定作业将从中获取工件的作业,请参阅[dependencies](#dependencies) . - -发送所有`binaries`和`.config`文件: - -``` -artifacts: - paths: - - binaries/ - - .config -``` - -要禁用工件传递,请使用空的[依赖项](#dependencies)定义作业: - -``` -job: - stage: build - script: make build - dependencies: [] -``` - -您可能只想为标记的发行版创建构件,以避免用临时构建构件填充构建服务器存储. - -仅为标签创建工件( `default-job`不会创建工件): - -``` -default-job: - script: - - mvn test -U - except: - - tags - -release-job: - script: - - mvn package -U - artifacts: - paths: - - target/*.war - only: - - tags -``` - -您也可以为目录使用通配符. 例如,如果要获取以`xyz`结尾的目录中的所有文件: - -``` -job: - artifacts: - paths: - - path/*xyz/* -``` - -#### `artifacts:exclude`[](#artifactsexclude "Permalink") - -版本历史 - -* 在 GitLab 13.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/15122) -* 需要 GitLab Runner 13.1 - -`exclude`可以防止将文件添加到工件存档中. - -类似于[`artifacts:paths`](#artifactspaths) , `exclude`路径相对于项目目录. 可以使用遵循[通配符](https://en.wikipedia.org/wiki/Glob_(programming))模式和[`filepath.Match`](https://s0golang0org.icopy.site/pkg/path/filepath/)的[通配符](https://en.wikipedia.org/wiki/Glob_(programming)) . - -例如,所有的文件存储在`binaries/` ,而不是`*.o`位于的子目录中的文件`binaries/` : - -``` -artifacts: - paths: - - binaries/ - exclude: - - binaries/**/*.o -``` - -与[`artifacts:untracked`](#artifactsuntracked)匹配的文件也可以使用`artifacts:exclude` . - -#### `artifacts:expose_as`[](#artifactsexpose_as "Permalink") - -在 GitLab 12.5 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/15018) . - -关键字`expose_as`可用于在[合并请求](../../user/project/merge_requests/index.html) UI 中公开[作业工件](../pipelines/job_artifacts.html) . - -例如,要匹配单个文件: - -``` -test: - script: [ "echo 'test' > file.txt" ] - artifacts: - expose_as: 'artifact 1' - paths: ['file.txt'] -``` - -使用此配置,GitLab 会将链接**工件 1**添加到指向`file1.txt`的相关合并请求中. - -匹配整个目录的示例: - -``` -test: - script: [ "mkdir test && echo 'test' > test/file.txt" ] - artifacts: - expose_as: 'artifact 1' - paths: ['test/'] -``` - -请注意以下几点: - -* 使用变量定义`artifacts:paths`时,工件不会显示在合并请求 UI 中. -* 每个合并请求最多可以公开 10 个作业工件. -* 不支持 glob 模式. -* 如果指定了目录,那么如果目录中有多个文件,则该链接将指向作业[工件浏览器](../pipelines/job_artifacts.html#browsing-artifacts) . -* 对于带有`.html` , `.htm` , `.txt` , `.json` , `.xml`和`.log`扩展名的暴露的单个文件工件,如果[GitLab Pages](../../administration/pages/index.html)为: - * 启用后,GitLab 将自动渲染工件. - * 未启用,您将在工件浏览器中看到该文件. - -#### `artifacts:name`[](#artifactsname "Permalink") - -在 GitLab 8.6 和 GitLab Runner v1.1.0 中引入. - -通过`name`指令,您可以定义所创建的工件存档的名称. 这样,您可以为每个档案使用一个唯一的名称,这在您要从 GitLab 下载档案时很有用. `artifacts:name`变量可以使用任何[预定义变量](../variables/README.html) . 默认名称是`artifacts` ,下载`artifacts`变为`artifacts.zip` . - -**注意:**如果您的分支名称包含正斜杠(例如`feature/my-feature` ),建议使用`$CI_COMMIT_REF_SLUG`而不是`$CI_COMMIT_REF_NAME`来正确命名工件. - -要使用当前作业的名称创建档案: - -``` -job: - artifacts: - name: "$CI_JOB_NAME" - paths: - - binaries/ -``` - -要使用当前分支或标记的名称(仅包括二进制文件目录)创建档案,请执行以下操作: - -``` -job: - artifacts: - name: "$CI_COMMIT_REF_NAME" - paths: - - binaries/ -``` - -要使用当前作业的名称和当前分支或标记(仅包括二进制文件目录)创建档案,请执行以下操作: - -``` -job: - artifacts: - name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME" - paths: - - binaries/ -``` - -要创建一个具有当前[阶段](#stages)名称和分支名称的档案: - -``` -job: - artifacts: - name: "$CI_JOB_STAGE-$CI_COMMIT_REF_NAME" - paths: - - binaries/ -``` - -* * * - -如果使用**Windows Batch**运行 Shell 脚本,则需要将`$`替换`$` `%` : - -``` -job: - artifacts: - name: "%CI_JOB_STAGE%-%CI_COMMIT_REF_NAME%" - paths: - - binaries/ -``` - -如果使用**Windows PowerShell**运行 Shell 脚本,则需要将`$`替换`$` `$env:` :: - -``` -job: - artifacts: - name: "$env:CI_JOB_STAGE-$env:CI_COMMIT_REF_NAME" - paths: - - binaries/ -``` - -#### `artifacts:untracked`[](#artifactsuntracked "Permalink") - -`artifacts:untracked`用于将所有 Git 未跟踪的文件添加为工件(以及`artifacts:paths`定义的`artifacts:paths` ). - -**Note:** `artifacts:untracked` ignores configuration in the repository’s `.gitignore` file. - -发送所有未跟踪的 Git 文件: - -``` -artifacts: - untracked: true -``` - -发送所有 Git 未跟踪的文件和`binaries` : - -``` -artifacts: - untracked: true - paths: - - binaries/ -``` - -发送所有未跟踪的文件,但[不包括](#artifactsexclude) `*.txt` : - -``` -artifacts: - untracked: true - exclude: - - *.txt -``` - -#### `artifacts:when`[](#artifactswhen "Permalink") - -在 GitLab 8.9 和 GitLab Runner v1.3.0 中引入. - -`artifacts:when`用于在作业失败时或尽管失败而上传工件. - -可以设置为以下值之一的`artifacts:when` : - -1. `on_success`仅在作业成功时才上传工件. 这是默认值. -2. `on_failure`仅在作业失败时上载工件. -3. `always` -上载工件,无论作业状态如何. - -要仅在作业失败时上传工件: - -``` -job: - artifacts: - when: on_failure -``` - -#### `artifacts:expire_in`[](#artifactsexpire_in "Permalink") - -在 GitLab 8.9 和 GitLab Runner v1.3.0 中引入. - -`expire_in` allows you to specify how long artifacts should live before they expire and are therefore deleted, counting from the time they are uploaded and stored on GitLab. If the expiry time is not defined, it defaults to the [instance wide setting](../../user/admin_area/settings/continuous_integration.html#default-artifacts-expiration-core-only) (30 days by default). - -您可以使用作业页面上的" **保留"**按钮来覆盖过期并永久保留工件. - -过期后,默认情况下每小时(通过 cron 作业)删除工件,并且不再可用. - -The value of `expire_in` is an elapsed time in seconds, unless a unit is provided. Examples of valid values: - -* `42` -* `3 mins 4 sec` -* `2 hrs 20 min` -* `2h20min` -* `6 mos 1 day` -* `47 yrs 6 mos and 4d` -* `3 weeks and 2 days` - -要在上传后 1 周内使工件过期: - -``` -job: - artifacts: - expire_in: 1 week -``` - -**注意:**对于在[GitLab 13.1](https://gitlab.com/gitlab-org/gitlab/-/issues/16267)和更高版本中创建的工件,无论有效时间如何,始终会保留引用的最新工件. - -#### `artifacts:reports`[](#artifactsreports "Permalink") - -[`artifacts:reports`关键字](../pipelines/job_artifacts.html#artifactsreports)用于从作业中收集测试报告,代码质量报告和安全性报告. 它还在 GitLab 的 UI 中显示这些报告(合并请求,管道视图和安全性仪表板). - -这些是可用的报告类型: - -| Parameter | Description | -| --- | --- | -| [`artifacts:reports:junit`](../pipelines/job_artifacts.html#artifactsreportsjunit) | `junit`报告收集 JUnit XML 文件. | -| [`artifacts:reports:dotenv`](../pipelines/job_artifacts.html#artifactsreportsdotenv) | `dotenv`报告收集一组环境变量. | -| [`artifacts:reports:cobertura`](../pipelines/job_artifacts.html#artifactsreportscobertura) | `cobertura`报告收集 Co​​bertura coverage XML 文件. | -| [`artifacts:reports:terraform`](../pipelines/job_artifacts.html#artifactsreportsterraform) | `terraform`报告收集 Terraform `tfplan.json`文件. | -| [`artifacts:reports:codequality`](../pipelines/job_artifacts.html#artifactsreportscodequality-starter) | `codequality`报告收集 Co​​deQuality 问题. | -| [`artifacts:reports:sast`](../pipelines/job_artifacts.html#artifactsreportssast-ultimate) | `sast`报告收集"静态应用程序安全性测试"漏洞. | -| [`artifacts:reports:dependency_scanning`](../pipelines/job_artifacts.html#artifactsreportsdependency_scanning-ultimate) | `dependency_scanning`报告收集"依赖关系扫描"漏洞. | -| [`artifacts:reports:container_scanning`](../pipelines/job_artifacts.html#artifactsreportscontainer_scanning-ultimate) | `container_scanning`报告收集容器扫描漏洞. | -| [`artifacts:reports:dast`](../pipelines/job_artifacts.html#artifactsreportsdast-ultimate) | `dast`报告收集动态应用程序安全测试漏洞. | -| [`artifacts:reports:license_management`](../pipelines/job_artifacts.html#artifactsreportslicense_management-ultimate) | `license_management`报告收集许可证( *已从 GitLab 13.0 中删除* ). | -| [`artifacts:reports:license_scanning`](../pipelines/job_artifacts.html#artifactsreportslicense_scanning-ultimate) | `license_scanning`报告收集许可证. | -| [`artifacts:reports:performance`](../pipelines/job_artifacts.html#artifactsreportsperformance-premium) | `performance`报告收集绩效指标. | -| [`artifacts:reports:metrics`](../pipelines/job_artifacts.html#artifactsreportsmetrics-premium) | `metrics`报告收集指标. | - -#### `dependencies`[](#dependencies "Permalink") - -在 GitLab 8.6 和 GitLab Runner v1.1.1 中引入. - -默认情况下,所有先前[阶段的](#stages)所有[`artifacts`](#artifacts)都被传递,但是您可以使用`dependencies`参数来定义要从中获取工件的有限的作业列表(或没有作业). - -要使用此功能,请在作业的上下文中定义`dependencies` ,并传递所有以前的工件应从中下载工件的列表. 您只能从当前阶段之前执行的阶段定义作业. 如果您从当前阶段或下一个阶段定义作业,将显示错误. 定义一个空数组将跳过下载该作业的任何工件. 在使用`dependencies` ,不会考虑先前作业的状态,因此,如果它失败或它是未运行的手动作业,则不会发生错误. - -在以下示例中,我们使用工件定义了两个作业`build:osx`和`build:linux` . 当执行`test:osx` ,将在`build:osx`上下文中下载并提取来自`build:osx`的工件. `test:linux`和`build:linux`工件也发生了同样的情况. - -由于[阶段](#stages)优先,作业`deploy`将下载所有先前作业的工件: - -``` -build:osx: - stage: build - script: make build:osx - artifacts: - paths: - - binaries/ - -build:linux: - stage: build - script: make build:linux - artifacts: - paths: - - binaries/ - -test:osx: - stage: test - script: make test:osx - dependencies: - - build:osx - -test:linux: - stage: test - script: make test:linux - dependencies: - - build:linux - -deploy: - stage: deploy - script: make deploy -``` - -##### When a dependent job will fail[](#when-a-dependent-job-will-fail "Permalink") - -在 GitLab 10.3 中引入. - -如果设置为依赖项的作业的工件已[过期](#artifactsexpire_in)或已[擦除](../pipelines/job_artifacts.html#erasing-artifacts) ,则依赖项作业将失败. - -**注意:**您可以要求管理员[翻转此开关](../../administration/job_artifacts.html#validation-for-dependencies)并恢复原来的行为. - -### `coverage`[](#coverage "Permalink") - -在 GitLab 8.17 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/20428) . - -`coverage`允许您配置如何从作业输出中提取代码 coverage. - -正则表达式是此处期望的唯一有效值. 因此,必须使用周围的`/` ,以便一致且显式表示正则表达式字符串. 如果要按字面意义匹配特殊字符,则必须转义它们. - -一个简单的例子: - -``` -job1: - script: rspec - coverage: '/Code coverage: \d+\.\d+/' -``` - -### `retry`[](#retry "Permalink") - -版本历史 - -* 在 GitLab 9.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/3442) . -* [行为](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/3515)在 GitLab 11.5 中进行了[扩展](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/3515) ,以控制重试哪些失败. - -`retry`允许您配置在失败的情况下重试作业的次数. - -当作业失败并配置了`retry` ,它将再次处理,直到`retry`关键字指定的时间. - -如果`retry`设置为 2,并且作业在第二次运行中成功(第一次重试),则不会再次重试. `retry`值必须是一个正整数,等于或大于 0,但小于或等于 2(最多两次重试,总共运行 3 次). - -在所有失败情况下重试的简单示例: - -``` -test: - script: rspec - retry: 2 -``` - -默认情况下,将在所有失败情况下重试作业. 为了更好地控制重`retry`哪些失败,重`retry`可以是具有以下键的哈希值: - -* `max` :最大重试次数. -* `when` :失败案例重试. - -要最多仅重试运行程序系统故障两次: - -``` -test: - script: rspec - retry: - max: 2 - when: runner_system_failure -``` - -如果有其他故障,而不是运行器系统故障,则不会重试该作业. - -重试对多个故障的情况下, `when`也可以是故障的数组: - -``` -test: - script: rspec - retry: - max: 2 - when: - - runner_system_failure - - stuck_or_timeout_failure -``` - -`when`可能值为: - -* `always` :发生任何故障时重试(默认). -* `unknown_failure` :当失败原因未知时重试. -* `script_failure` :脚本失败时重试. -* `api_failure` :API 失败重试. -* `stuck_or_timeout_failure` :作业卡住或超时时重试. -* `runner_system_failure` :如果运行系统发生故障(例如,作业设置失败),请重试. -* `missing_dependency_failure` :如果缺少依赖项,请重试. -* `runner_unsupported` :如果跑步者不受支持,请重试. -* `stale_schedule` :如果无法执行延迟的作业,请重试. -* `job_execution_timeout` :如果脚本超出了为作业设置的最大执行时间,则重试. -* `archived_failure` :如果作业已存档且无法运行,请重试. -* `unmet_prerequisites` :如果作业未能完成先决条件任务,请重试. -* `scheduler_failure` :如果调度程序未能将作业分配给运行`scheduler_failure`重试. -* `data_integrity_failure` :如果检测到结构完整性问题,请重试. - -您可以使用变量指定[作业执行某些阶段的重试次数](#job-stages-attempts) . - -### `timeout`[](#timeout "Permalink") - -在 GitLab 12.3 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/14887) . - -`timeout`允许您为特定作业配置超时. 例如: - -``` -build: - script: build.sh - timeout: 3 hours 30 minutes - -test: - script: rspec - timeout: 3h 30m -``` - -作业级超时可以超过[项目级超时,](../pipelines/settings.html#timeout)但不能超过 Runner 特定的超时. - -### `parallel`[](#parallel "Permalink") - -在 GitLab 11.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/21480) . - -`parallel`允许您配置要并行运行的作业实例数. 此值必须大于或等于两(2)并且小于或等于 50. - -这将创建 N 个并行运行的同一作业实例. 它们从`job_name 1/N`到`job_name N/N`依次命名. - -对于每个作业, `CI_NODE_INDEX`设置`CI_NODE_INDEX`和`CI_NODE_TOTAL` [环境变量](../variables/README.html#predefined-environment-variables) . - -标记要并行运行的作业需要将`parallel`添加到配置文件中. 例如: - -``` -test: - script: rspec - parallel: 5 -``` - -**提示:**跨并行作业并行测试套件. 不同的语言具有不同的工具来促进这一点. - -一个使用[信号量测试助推器](https://github.com/renderedtext/test-boosters)和 RSpec 来运行一些 Ruby 测试的简单示例: - -``` -# Gemfile -source 'https://rubygems.org' - -gem 'rspec' -gem 'semaphore_test_boosters' -``` - -``` -test: - parallel: 3 - script: - - bundle - - bundle exec rspec_booster --job $CI_NODE_INDEX/$CI_NODE_TOTAL -``` - -**警告:**请注意 semaphore_test_boosters 向作者报告使用情况统计信息. - -然后,您可以导航到新管道构建的" **作业"**选项卡,并查看 RSpec 作业分为三个单独的作业. - -### `trigger`[](#trigger "Permalink") - -版本历史 - -* 在[GitLab Premium](https://about.gitlab.com/pricing/) 11.8 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/8997) . -* 在 12.8 中[移至](https://gitlab.com/gitlab-org/gitlab/-/issues/199224) GitLab Core. - -`trigger`允许您定义下游管道触发器. 当 GitLab 从`trigger`定义创建的作业启动时,将创建一个下游管道. - -此关键字允许创建两种不同类型的下游管道: - -* [Multi-project pipelines](../multi_project_pipelines.html#creating-multi-project-pipelines-from-gitlab-ciyml) -* [Child pipelines](../parent_child_pipelines.html) - -**注意:**将`trigger`与`when:manual`一起使用会导致错误`jobs:#{job-name} when should be on_success, on_failure or always` ,因为`when:manual`阻止使用触发器. - -#### Simple `trigger` syntax for multi-project pipelines[](#simple-trigger-syntax-for-multi-project-pipelines "Permalink") - -配置下游触发器的最简单方法是使用带有指向下游项目的完整路径的`trigger`关键字: - -``` -rspec: - stage: test - script: bundle exec rspec - -staging: - stage: deploy - trigger: my/deployment -``` - -#### Complex `trigger` syntax for multi-project pipelines[](#complex-trigger-syntax-for-multi-project-pipelines "Permalink") - -可以配置分支名称,GitLab 将使用该分支名称来创建下游管道: - -``` -rspec: - stage: test - script: bundle exec rspec - -staging: - stage: deploy - trigger: - project: my/deployment - branch: stable -``` - -可以从触发的管道中镜像状态: - -``` -trigger_job: - trigger: - project: my/project - strategy: depend -``` - -可以从上游管道镜像状态: - -``` -upstream_bridge: - stage: test - needs: - pipeline: other/project -``` - -#### `trigger` syntax for child pipeline[](#trigger-syntax-for-child-pipeline "Permalink") - -在 GitLab 12.7 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/16094) . - -要创建[子管道](../parent_child_pipelines.html) ,请指定包含子管道的 CI 配置的 YAML 文件的路径: - -``` -trigger_job: - trigger: - include: path/to/child-pipeline.yml -``` - -类似于[多项目管道](../multi_project_pipelines.html#mirroring-status-from-triggered-pipeline) ,可以从触发的管道中镜像状态: - -``` -trigger_job: - trigger: - include: - - local: path/to/child-pipeline.yml - strategy: depend -``` - -##### Trigger child pipeline with generated configuration file[](#trigger-child-pipeline-with-generated-configuration-file "Permalink") - -在 GitLab 12.9 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/35632) . - -您还可以从[动态生成的配置文件](../parent_child_pipelines.html#dynamic-child-pipelines)触发子管道: - -``` -generate-config: - stage: build - script: generate-ci-config > generated-config.yml - artifacts: - paths: - - generated-config.yml - -child-pipeline: - stage: test - trigger: - include: - - artifact: generated-config.yml - job: generate-config -``` - -从工件中提取了`generated-config.yml` ,并用作触发子管道的配置. - -#### Linking pipelines with `trigger:strategy`[](#linking-pipelines-with-triggerstrategy "Permalink") - -默认情况下,一旦创建下游管道, `trigger`作业就会以`success`状态完成. - -要强制`trigger`作业等待下游(多项目或子项目)管道完成,请使用`strategy: depend` . 这将使触发作业以"运行"状态等待,直到触发的管道完成. 此时, `trigger`作业将完成并显示与下游作业相同的状态. - -``` -trigger_job: - trigger: - include: path/to/child-pipeline.yml - strategy: depend -``` - -这可以使您的管道执行保持线性. 在上面的示例中,后续阶段的作业将在启动之前等待触发的管道成功完成,但代价是并行化程度降低. - -#### Trigger a pipeline by API call[](#trigger-a-pipeline-by-api-call "Permalink") - -当使用触发器令牌创建管道时,触发器可以用于通过 API 调用强制重建特定的分支,标记或提交. - -不要与[`trigger`](#trigger)参数混淆. - -[Read more in the triggers documentation.](../triggers/README.html) - -### `interruptible`[](#interruptible "Permalink") - -在 GitLab 12.3 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/32022) . - -`interruptible`可用于指示如果作业因新的管道运行而变得多余,则应取消该作业. 默认为`false` . 仅当启用了[自动取消冗余管道功能](../pipelines/settings.html#auto-cancel-pending-pipelines)时,才使用此值. - -启用后,在以下情况下,将取消同一分支上的管道: - -* 它通过新的管道运行而变得多余. -* 将所有作业都设置为可中断,或者尚未开始任何不间断的作业. - -待处理的作业始终被视为可中断的. - -**Tip:** Set jobs as interruptible that can be safely canceled once started (for instance, a build job). - -这是一个简单的示例: - -``` -stages: - - stage1 - - stage2 - - stage3 - -step-1: - stage: stage1 - script: - - echo "Can be canceled." - interruptible: true - -step-2: - stage: stage2 - script: - - echo "Can not be canceled." - -step-3: - stage: stage3 - script: - - echo "Because step-2 can not be canceled, this step will never be canceled, even though set as interruptible." - interruptible: true -``` - -在上面的示例中,新的管道运行将导致现有的正在运行的管道为: - -* 如果仅`step-1`正在运行或挂起,则取消. -* 一旦`step-2`开始运行,则不会取消. - -**注意:**一旦运行了不间断的作业,无论最终作业的状态如何,管道将永远不会被取消. - -### `resource_group`[](#resource_group "Permalink") - -在 GitLab 12.7 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/15536) . - -有时在环境中同时运行多个作业或管道可能会导致在部署过程中出错. - -为了避免这些错误,可以使用`resource_group`属性来确保 Runner 不会同时运行某些作业. - -当在`.gitlab-ci.yml`为作业定义了`resource_group`键时,作业执行在同一项目的不同管道之间是互斥的. 如果属于同一资源组的多个作业同时进入队列,则 Runner 将仅选择一个作业,其他作业将等待,直到`resource_group`空闲为止. - -这是一个简单的示例: - -``` -deploy-to-production: - script: deploy - resource_group: production -``` - -在这种情况下,如果`deploy-to-production`作业在管道运行,并且新的`deploy-to-production`中不同的管道创建工作,它不会运行,直到当前运行的/未决`deploy-to-production`工作完成. 结果,您可以确保并发部署永远不会在生产环境中发生. - -每个环境可以定义多个`resource_group` . 一个很好的用例是在部署到物理设备时. 您可能具有多个物理设备,并且每个物理设备都可以部署到其中,但是在任何给定时间,每个设备只能有一个部署. - -**注:**此键只能包含字母,数字, `-` `_` , `/` , `$` , `{` , `}` , `.` 和空格. 它不能以`/`开头或结尾. - -有关更多信息,请参见[部署安全](../environments/deployment_safety.html) . - -### `release`[](#release "Permalink") - -在 GitLab 13.2 中[引入](https://gitlab.com/gitlab-org/gitlab/merge_requests/19298) . - -`release`表示作业创建一个[Release](../../user/project/releases/index.html) ,并且可以选择包含 Release 资产的 URL. - -支持以下方法: - -* [`tag_name`](#releasetag_name) -* [`name`](#releasename) (optional) -* [`description`](#releasedescription) (optional) -* [`ref`](#releaseref) (optional) -* [`milestones`](#releasemilestones) (optional) -* [`released_at`](#releasereleased_at) (optional) - -仅当作业处理没有错误时才创建发布. 如果 Rails API 在发布创建期间返回错误,则`release`作业将失败. - -#### `release-cli` Docker image[](#release-cli-docker-image "Permalink") - -必须使用以下指令指定用于`release-cli`的 Docker 映像: - -``` -image: registry.gitlab.com/gitlab-org/release-cli:latest -``` - -#### Script[](#script-1 "Permalink") - -所有作业至少需要一个`script`标签. `:release`作业可以使用`:script`标记的输出,但是如果没有必要,则可以使用占位符脚本,例如: - -``` -script: - - echo 'release job' -``` - -在即将发布的 GitLab 版本中存在删除此要求的[问题](https://gitlab.com/gitlab-org/gitlab/-/issues/223856) . - -管道可以具有多个`release`作业,例如: - -``` -ios-release: - script: - - echo 'iOS release job' - release: - tag_name: v1.0.0-ios - description: 'iOS release v1.0.0' - -android-release: - script: - - echo 'Android release job' - release: - tag_name: v1.0.0-android - description: 'Android release v1.0.0' -``` - -#### `release:tag_name`[](#releasetag_name "Permalink") - -必须指定`tag_name` . 它可以引用现有的 Git 标记,也可以由用户指定. - -当存储库中不存在指定的标签时,将从管道的关联 SHA 创建一个新标签. - -例如,从 Git 标签创建 Release 时: - -``` -job: - release: - tag_name: $CI_COMMIT_TAG - description: changelog.txt -``` - -也可以创建任何唯一标签, `only: tags`在这种情况下`only: tags`不是必需的. 语义版本控制示例: - -``` -job: - release: - tag_name: ${MAJOR}_${MINOR}_${REVISION} - description: changelog.txt -``` - -* 仅当作业的主脚本成功时才创建发布. -* 如果版本已经存在,则不会更新,并且带有`release`关键字的作业将失败. -* `release`部分在`script`标记之后和`after_script`之前`after_script` . - -#### `release:name`[](#releasename "Permalink") - -发布名称. 如果省略,则使用`release: tag_name`的值填充`release: tag_name` . - -#### `release:description`[](#releasedescription "Permalink") - -指定发布的详细描述. - -#### `release:ref`[](#releaseref "Permalink") - -如果`release: tag_name`尚不存在,则从`ref`创建版本. `ref`可以是提交 SHA,其他标记名称或分支名称. - -#### `release:milestones`[](#releasemilestones "Permalink") - -与发行版关联的每个里程碑的标题. - -#### `release:released_at`[](#releasereleased_at "Permalink") - -发布准备就绪的日期和时间. 如果未定义,则默认为当前日期和时间. 预期为 ISO 8601 格式(2019-03-15T08:00:00Z). - -#### Complete example for `release`[](#complete-example-for-release "Permalink") - -结合上面给出的`release`示例,将产生以下代码段. 有两种选择,具体取决于生成标记的方式. 这些选项不能一起使用,因此请选择以下一种: - -* 要在按下 Git 标签或在 UI 中通过添加**存储库>标签**来添加 Git 标签时创建发行版: - - ``` - release_job: - stage: release - image: registry.gitlab.com/gitlab-org/release-cli:latest - rules: - - if: $CI_COMMIT_TAG # Run this job when a tag is created manually - script: - - echo 'running release_job' - release: - name: 'Release $CI_COMMIT_TAG' - description: 'Created using the release-cli $EXTRA_DESCRIPTION' # $EXTRA_DESCRIPTION must be defined - tag_name: '$CI_COMMIT_TAG' # elsewhere in the pipeline. - ref: '$CI_COMMIT_TAG' - milestones: - - 'm1' - - 'm2' - - 'm3' - released_at: '2020-07-15T08:00:00Z' # Optional, will auto generate if not defined, - # or can use a variable. - ``` - -* 要使用更改定义的新 Git 标签,将更改推送到默认分支时自动创建发行版: - - ``` - release_job: - stage: release - image: registry.gitlab.com/gitlab-org/release-cli:latest - rules: - - if: $CI_COMMIT_TAG - when: never # Do not run this job when a tag is created manually - - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH # Run this job when the default branch changes - script: - - echo 'running release_job' - release: - name: 'Release $CI_COMMIT_SHA' - description: 'Created using the release-cli $EXTRA_DESCRIPTION' # $EXTRA_DESCRIPTION and the tag_name - tag_name: 'v${MAJOR}.${MINOR}.${REVISION}' # variables must be defined elsewhere - ref: '$CI_COMMIT_SHA' # in the pipeline. - milestones: - - 'm1' - - 'm2' - - 'm3' - released_at: '2020-07-15T08:00:00Z' # Optional, will auto generate if not defined, - # or can use a variable. - ``` - -#### `releaser-cli` command line[](#releaser-cli-command-line "Permalink") - -`:release`节点下的条目被转换为`bash`命令行,并发送到包含[release-cli](https://gitlab.com/gitlab-org/release-cli)的 Docker 容器. 您也可以直接从`script`条目调用`release-cli` . - -上面描述的 YAML 将被翻译成如下的 CLI 命令: - -``` -release-cli create --name "Release $CI_COMMIT_SHA" --description "Created using the release-cli $EXTRA_DESCRIPTION" --tag-name "v${MAJOR}.${MINOR}.${REVISION}" --ref "$CI_COMMIT_SHA" --released-at "2020-07-15T08:00:00Z" --milestone "m1" --milestone "m2" --milestone "m3" -``` - -### `pages`[](#pages "Permalink") - -`pages`是一项特殊的工作,用于将静态内容上传到 GitLab,可用于为您的网站提供服务. 它具有特殊的语法,因此必须满足以下两个要求: - -* 任何静态内容都必须放在`public/`目录下. -* 必须定义带有`public/`目录路径的`artifacts` . - -下面的示例只是将所有文件从项目的根目录移到`public/`目录. `.public`解决方法是,因此`cp`也不会在无限循环中将`public/`复制到自身: - -``` -pages: - stage: deploy - script: - - mkdir .public - - cp -r * .public - - mv .public public - artifacts: - paths: - - public - only: - - master -``` - -阅读有关[GitLab Pages 用户文档的](../../user/project/pages/index.html)更多[信息](../../user/project/pages/index.html) . - -## `variables`[](#variables "Permalink") - -在 GitLab Runner v0.5.0 中引入. - -**注意:**对于变量的名称和值,整数(以及字符串)都是合法的. 浮动广告不合法,不能使用. - -GitLab CI / CD 允许您在`.gitlab-ci.yml`中定义变量,然后在作业环境中传递这些变量. 它们可以全局设置,也可以按工作设置. 在作业级别上使用`variables`关键字时,它将覆盖全局 YAML 变量和相同名称的预定义变量. - -它们存储在 Git 存储库中,用于存储非敏感项目配置,例如: - -``` -variables: - DATABASE_URL: "postgres://postgres@postgres/my_database" -``` - -这些变量以后可以在所有执行的命令和脚本中使用. YAML 定义的变量也设置为所有创建的服务容器,从而允许对其进行微调. - -除了用户定义的变量外,还有[由 Runner 本身设置的](../variables/README.html#predefined-environment-variables)变量. 一个示例是`CI_COMMIT_REF_NAME` ,它具有为其构建项目的分支或标记名称的值. 除了可以在`.gitlab-ci.yml`设置的变量`.gitlab-ci.yml` ,还有可以在 GitLab 的 UI 中设置的所谓[变量](../variables/README.html#gitlab-cicd-environment-variables) . - -提供了[用于变量的 YAML 锚](#yaml-anchors-for-variables) . - -了解有关[变量及其优先级的](../variables/README.html)更多信息. - -### Git strategy[](#git-strategy "Permalink") - -版本历史 - -* 在 GitLab 8.9 中作为实验功能引入. -* `GIT_STRATEGY=none`要求 GitLab Runner `GIT_STRATEGY=none` +. - -**注意:**在将来的版本中可能会更改或完全删除. - -您可以在[`variables`](#variables)部分中全局或按作业设置用于获取最新应用程序代码的`GIT_STRATEGY` . 如果未指定,将使用项目设置中的默认设置. - -有三个可能的值: `clone` , `fetch`和`none` . - -`clone`是最慢的选择. 它为每个作业从头克隆存储库,以确保本地工作副本始终是原始的. - -``` -variables: - GIT_STRATEGY: clone -``` - -`fetch`速度更快,因为它可以重新使用本地工作副本(如果不存在则回退到`clone` ). `git clean`用于撤消上一个作业所做的任何更改,而`git fetch`用于检索自上一个作业运行以来进行的提交. - -``` -variables: - GIT_STRATEGY: fetch -``` - -`none`再使用本地工作副本,但是会跳过所有 Git 操作(包括 GitLab Runner 的预克隆脚本(如果存在)). 对于仅在工件上运行的作业(例如`deploy` ),它最有用. Git 存储库数据可能存在,但是肯定会过时,因此您应该仅依靠从缓存或工件导入本地工作副本的文件. - -``` -variables: - GIT_STRATEGY: none -``` - -**注意:** `GIT_STRATEGY`器不支持[GIT_STRATEGY](https://docs.gitlab.com/runner/executors/kubernetes.html) ,但将来可能会支持. 有关更新,请参阅[带有 Kubernetes 执行器功能建议](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/3847)的[支持 Git 策略](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/3847) . - -### Git submodule strategy[](#git-submodule-strategy "Permalink") - -> 需要 GitLab Runner v1.10 +. - -`GIT_SUBMODULE_STRATEGY`变量用于控制在构建之前获取代码时是否包含/如何包含 Git 子模块. 您可以在[`variables`](#variables)部分中全局或按作业设置它们. - -共有三个可能的值: `none` , `normal`和`recursive` : - -* `none`表示在获取项目代码时将不包含子模块. 这是默认设置,与 v1.10 之前的行为匹配. - -* `normal`意味着仅包括顶级子模块. 等效于: - - ``` - git submodule sync git submodule update --init - ``` - -* `recursive`意味着将包括所有子模块(包括子模块的子模块). 此功能需要 Git v1.8.1 及更高版本. 当将 GitLab Runner 与不基于 Docker 的执行器一起使用时,请确保 Git 版本符合该要求. 等效于: - - ``` - git submodule sync --recursive - git submodule update --init --recursive - ``` - -请注意,为使此功能正常工作,必须使用以下任一方式(在`.gitmodules` )配置子模块: - -* 可公开访问的存储库的 HTTP(S)URL,或者 -* 到同一 GitLab 服务器上另一个存储库的相对路径. 请参阅[Git 子模块](../git_submodules.html)文档. - -### Git checkout[](#git-checkout "Permalink") - -在 GitLab Runner 9.3 中引入. - -当`GIT_STRATEGY`设置为`clone`或`fetch`以指定是否应运行`git checkout`时,可以使用`GIT_CHECKOUT`变量. 如果未指定,则默认为 true. 您可以在[`variables`](#variables)部分中全局或按作业设置它们. - -如果设置为`false` ,则跑步者将: - -* 进行`fetch` -更新存​​储库,并将工作副本保留在当前版本中, -* 执行`clone` -克隆存储库,并将工作副本保留在默认分支上. - -将此设置设置为`true`意味着对于`clone`和`fetch`策略,Runner 将签出工作副本到与 CI 管道相关的修订版本: - -``` -variables: - GIT_STRATEGY: clone - GIT_CHECKOUT: "false" -script: - - git checkout -B master origin/master - - git merge $CI_COMMIT_SHA -``` - -### Git clean flags[](#git-clean-flags "Permalink") - -在 GitLab Runner 11.10 中引入 - -`GIT_CLEAN_FLAGS`变量用于在签出源代码后控制`git clean`的默认行为. 您可以在[`variables`](#variables)部分中全局设置或按作业设置. - -`GIT_CLEAN_FLAGS`接受[`git clean`](https://git-scm.com/docs/git-clean)命令的所有可能选项. - -如果指定了`GIT_CHECKOUT: "false"`则禁用`git clean` . - -If `GIT_CLEAN_FLAGS` is: - -* 未指定, `git clean`标志默认为`-ffdx` . -* 给定值`none` ,将不执行`git clean` . - -例如: - -``` -variables: - GIT_CLEAN_FLAGS: -ffdx -e cache/ -script: - - ls -al cache/ -``` - -### Git fetch extra flags[](#git-fetch-extra-flags "Permalink") - -在 GitLab Runner 13.1 中[引入](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/4142) . - -`GIT_FETCH_EXTRA_FLAGS`变量用于控制`git fetch`的行为. 您可以在[`variables`](#variables)部分中全局设置或按作业设置. - -`GIT_FETCH_EXTRA_FLAGS`接受[`git fetch`](https://git-scm.com/docs/git-fetch)命令的所有可能选项,但请注意, `GIT_FETCH_EXTRA_FLAGS`标志将附加在无法修改的默认标志之后. - -默认标志是: - -* [GIT_DEPTH](#shallow-cloning). -* [refspec](https://git-scm.com/book/en/v2/Git-Internals-The-Refspec)列表. -* 遥远的`origin` . - -If `GIT_FETCH_EXTRA_FLAGS` is: - -* 未指定, `git fetch`标志与默认标志一起默认为`--prune --quiet` . -* 给定值`none` ,仅使用默认标志执行`git fetch` . - -例如,默认标志是`--prune --quiet` ,因此您可以通过仅用`--prune`覆盖它来使`git fetch`更加详细: - -``` -variables: - GIT_FETCH_EXTRA_FLAGS: --prune -script: - - ls -al cache/ -``` - -上面的配置将导致以这种方式调用`git fetch` : - -``` -git fetch origin $REFSPECS --depth 50 --prune -``` - -其中`$REFSPECS`是 GitLab 内部提供给 Runner 的值. - -### Job stages attempts[](#job-stages-attempts "Permalink") - -在 GitLab 中引入,它需要 GitLab Runner v1.9 +. - -您可以设置正在运行的作业尝试执行以下每个阶段的尝试次数: - -| Variable | Description | -| --- | --- | -| **GET_SOURCES_ATTEMPTS** | 尝试获取运行作业的源的次数 | -| **ARTIFACT_DOWNLOAD_ATTEMPTS** | 尝试下载运行作业的工件的次数 | -| **RESTORE_CACHE_ATTEMPTS** | 还原运行作业的缓存的尝试次数 | -| **EXECUTOR_JOB_SECTION_ATTEMPTS** | [从 GitLab 12.10 开始](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/4450) ,出现[`No Such Container`](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/4450)错误(仅限[Docker 执行器](https://docs.gitlab.com/runner/executors/docker.html) )后,尝试在作业中运行部分的次数. | - -默认为一次尝试. - -Example: - -``` -variables: - GET_SOURCES_ATTEMPTS: 3 -``` - -您可以在[`variables`](#variables)部分中全局或按作业设置它们. - -### Shallow cloning[](#shallow-cloning "Permalink") - -在 GitLab 8.9 中作为实验功能引入. - -**注意** :从 GitLab 12.0 开始,新创建的项目将自动具有[默认的`git depth`值`50`](../pipelines/settings.html#git-shallow-clone) . - -您可以使用`GIT_DEPTH`指定获取和克隆的深度. 这允许对存储库进行浅层克隆,从而可以显着加快克隆具有大量提交或旧的大型二进制文件的存储库. 该值传递给`git fetch`和`git clone` . - -**注意:**如果使用 1 的深度,并且有作业队列或重试作业,则作业可能会失败. - -由于 Git 的获取和克隆基于引用(例如分支名称),因此 Runners 无法克隆特定的提交 SHA. 如果队列中有多个作业,或者您要重试旧的作业,则要测试的提交必须在克隆的 Git 历史记录内. 如果为`GIT_DEPTH`设置的值`GIT_DEPTH`则无法运行这些旧的提交. 您将在作业日志中看到`unresolved reference` . 然后,您应该重新考虑将`GIT_DEPTH`更改为更高的值. - -设置`GIT_DEPTH`时,依赖`git describe`作业可能无法正常工作,因为仅存在一部分 Git 历史记录. - -要仅获取或克隆最后 3 个提交,请执行以下操作: - -``` -variables: - GIT_DEPTH: "3" -``` - -您可以在[`variables`](#variables)部分中全局设置或按作业设置. - -### Custom build directories[](#custom-build-directories "Permalink") - -在 GitLab Runner 11.10 中[引入](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/2211) - -**注意:**仅当在[Runner 的配置中](https://docs.gitlab.com/runner/configuration/advanced-configuration.html)启用`custom_build_dir`时,才可以使用此`custom_build_dir` . 这是默认配置`docker`和`kubernetes`执行. - -默认情况下,GitLab Runner 将存储`$CI_BUILDS_DIR`到`$CI_BUILDS_DIR`目录的唯一子路径中. 但是,您的项目可能需要特定目录中的代码(例如,Go 项目). 在这种情况下,您可以指定`GIT_CLONE_PATH`变量,以告知 Runner 在哪个目录中克隆存储库: - -``` -variables: - GIT_CLONE_PATH: $CI_BUILDS_DIR/project-name - -test: - script: - - pwd -``` - -`GIT_CLONE_PATH`必须始终在`$CI_BUILDS_DIR` . `$CI_BUILDS_DIR`设置的目录取决于执行程序和[runners.builds_dir](https://docs.gitlab.com/runner/configuration/advanced-configuration.html)设置的配置. - -#### Handling concurrency[](#handling-concurrency "Permalink") - -使用并发性大于`1`的执行程序可能会导致失败,因为如果在作业之间共享`builds_dir`则多个作业可能在同一目录上工作. GitLab Runner 不会尝试防止这种情况. 管理员和开发人员必须遵守 Runner 配置的要求. - -为了避免这种情况,您可以在`$CI_BUILDS_DIR`内使用唯一路径,因为 Runner 公开了两个提供唯一并发`ID`的变量: - -* `$CI_CONCURRENT_ID` :给定执行程序中运行的所有作业的唯一 ID. -* `$CI_CONCURRENT_PROJECT_ID` :给定执行程序和项目中运行的所有作业的唯一 ID. - -在任何情况下以及在任何执行程序上都应能正常工作的最稳定的配置是在`$CI_CONCURRENT_ID`中使用`$CI_CONCURRENT_ID` `GIT_CLONE_PATH` . 例如: - -``` -variables: - GIT_CLONE_PATH: $CI_BUILDS_DIR/$CI_CONCURRENT_ID/project-name - -test: - script: - - pwd -``` - -在`$CI_CONCURRENT_PROJECT_ID`应结合使用`$CI_PROJECT_PATH`为`$CI_PROJECT_PATH`提供了一个存储库的路径. 即`group/subgroup/project` . 例如: - -``` -variables: - GIT_CLONE_PATH: $CI_BUILDS_DIR/$CI_CONCURRENT_ID/$CI_PROJECT_PATH - -test: - script: - - pwd -``` - -#### Nested paths[](#nested-paths "Permalink") - -`GIT_CLONE_PATH`的值被扩展一次,并且不支持其中的嵌套变量. - -例如,您在`.gitlab-ci.yml`文件中定义以下两个变量: - -``` -variables: - GOPATH: $CI_BUILDS_DIR/go - GIT_CLONE_PATH: $GOPATH/src/namespace/project -``` - -`GIT_CLONE_PATH`的值一次扩展到`$CI_BUILDS_DIR/go/src/namespace/project` ,并且由于`$CI_BUILDS_DIR`没有扩展而导致失败. - -## Special YAML features[](#special-yaml-features "Permalink") - -可以使用特殊的 YAML 功能,例如锚点( `&` ),别名( `*` )和地图合并( `<<` ),这将使您大大降低`.gitlab-ci.yml`的复杂性. - -阅读有关各种[YAML 功能的](https://learnxinyminutes.com/docs/yaml/)更多信息. - -在大多数情况下, [`extends`关键字](#extends)更加用户友好,应该在这些特殊的 YAML 功能上使用. 可能仍需要使用 YAML 锚来合并数组. - -### Anchors[](#anchors "Permalink") - -在 GitLab 8.6 和 GitLab Runner v1.1.1 中引入. - -YAML 具有称为"锚"的便捷功能,使您可以轻松地在整个文档中复制内容. 锚可用于复制/继承属性,并且是与[隐藏作业](#hide-jobs)一起使用以为您的作业提供模板的完美示例. 当有重复的密钥时,GitLab 将基于密钥执行反向深度合并. - -以下示例使用锚点和地图合并. 它将创建两个作业`test1`和`test2` ,它们将继承`.job_template`的参数,每个参数都定义了自己的自定义`script` : - -``` -.job_template: &job_definition # Hidden key that defines an anchor named 'job_definition' - image: ruby:2.6 - services: - - postgres - - redis - -test1: - <<: *job_definition # Merge the contents of the 'job_definition' alias - script: - - test1 project - -test2: - <<: *job_definition # Merge the contents of the 'job_definition' alias - script: - - test2 project -``` - -`&`设置锚点的名称( `job_definition` ), `<<`表示"将给定的哈希值合并到当前哈希中",并且`*`包括命名的锚点(再次为`job_definition` ). 扩展版本如下所示: - -``` -.job_template: - image: ruby:2.6 - services: - - postgres - - redis - -test1: - image: ruby:2.6 - services: - - postgres - - redis - script: - - test1 project - -test2: - image: ruby:2.6 - services: - - postgres - - redis - script: - - test2 project -``` - -让我们来看另一个例子. 这次,我们将使用锚来定义两组服务. 这将创建两个作业: `test:postgres`和`test:mysql` ,它们将共享`.job_template`定义的`script`指令以及`.postgres_services`和`.mysql_services`定义的`services`指令: - -``` -.job_template: &job_definition - script: - - test project - tags: - - dev - -.postgres_services: - services: &postgres_definition - - postgres - - ruby - -.mysql_services: - services: &mysql_definition - - mysql - - ruby - -test:postgres: - <<: *job_definition - services: *postgres_definition - tags: - - postgres - -test:mysql: - <<: *job_definition - services: *mysql_definition -``` - -扩展版本如下所示: - -``` -.job_template: - script: - - test project - tags: - - dev - -.postgres_services: - services: - - postgres - - ruby - -.mysql_services: - services: - - mysql - - ruby - -test:postgres: - script: - - test project - services: - - postgres - - ruby - tags: - - postgres - -test:mysql: - script: - - test project - services: - - mysql - - ruby - tags: - - dev -``` - -您可以看到隐藏的作业可以方便地用作模板. - -**Note:** Note that `tags: [dev]` has been overwritten by `tags: [postgres]`.**注意:**利用[`include`](#include)功能时,不能在多个文件中使用 YAML 锚. 锚仅在定义它们的文件内有效.您可以使用[`extends`关键字](#extends)来代替使用 YAML 锚. - -#### YAML anchors for `before_script` and `after_script`[](#yaml-anchors-for-before_script-and-after_script "Permalink") - -在 GitLab 12.5 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/23005) . - -您可以将[YAML 定位](#anchors) `after_script`与`before_script`和`after_script` ,从而可以在多个作业中包括预定义的命令列表. - -Example: - -``` -.something_before: &something_before - - echo 'something before' - -.something_after: &something_after - - echo 'something after' - - echo 'another thing after' - -job_name: - before_script: - - *something_before - script: - - echo 'this is the script' - after_script: - - *something_after -``` - -#### YAML anchors for `script`[](#yaml-anchors-for-script "Permalink") - -在 GitLab 12.5 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/23005) . - -您可以将[YAML 锚点](#anchors)与脚本一起使用,从而可以在多个作业中包括预定义的命令列表. - -例如: - -``` -.something: &something - - echo 'something' - -job_name: - script: - - *something - - echo 'this is the script' -``` - -#### YAML anchors for variables[](#yaml-anchors-for-variables "Permalink") - -[YAML 锚](#anchors)可以与`variables`一起使用,以轻松地在多个作业之间重复分配变量. 当作业需要特定的`variables`块(否则将覆盖全局变量)时,它还可以提供更大的灵活性. - -在下面的示例中,我们将覆盖`GIT_STRATEGY`变量,而不会影响`SAMPLE_VARIABLE`变量的使用: - -``` -# global variables -variables: &global-variables - SAMPLE_VARIABLE: sample_variable_value - ANOTHER_SAMPLE_VARIABLE: another_sample_variable_value - -# a job that needs to set the GIT_STRATEGY variable, yet depend on global variables -job_no_git_strategy: - stage: cleanup - variables: - <<: *global-variables - GIT_STRATEGY: none - script: echo $SAMPLE_VARIABLE -``` - -### Hide jobs[](#hide-jobs "Permalink") - -在 GitLab 8.6 和 GitLab Runner v1.1.1 中引入. - -如果要临时"禁用"作业,而不是注释掉定义作业的所有行: - -``` -#hidden_job: -# script: -# - run test -``` - -您可以改为以点号( `.` )开头,GitLab CI / CD 不会对其进行处理. 在以下示例中, `.hidden_job`将被忽略: - -``` -.hidden_job: - script: - - run test -``` - -使用此功能可忽略作业,或使用[特殊的 YAML 功能](#special-yaml-features)并将隐藏的作业转换为模板. - -## Skip Pipeline[](#skip-pipeline "Permalink") - -如果您的提交消息包含`[ci skip]`或`[skip ci]` ,则使用大写字母将创建提交,但是将跳过管道. - -或者,如果使用 Git 2.10 或更高版本,则可以传递`ci.skip` [Git 推送选项](../../user/project/push_options.html#push-options-for-gitlab-cicd) . - -## Processing Git pushes[](#processing-git-pushes "Permalink") - -当在单个`git push`调用中推送多个更改时,GitLab 将最多创建 4 条分支和标签管道. - -此限制不影响任何更新的合并请求管道. 使用[合并请求](../merge_request_pipelines/index.html)管道时,所有更新的合并请求都将创建一个管道. - -## Deprecated parameters[](#deprecated-parameters "Permalink") - -不推荐使用以下参数. - -### Globally-defined `types`[](#globally-defined-types "Permalink") - -**不**推荐**使用:** `types`不推荐使用,可以在以后的版本中删除. 使用[`stages`](#stages)代替. - -### Job-defined `type`[](#job-defined-type "Permalink") - -**不**推荐**使用:** `type`不推荐使用,可以在将来的发行版之一中将其删除. 使用[`stage`](#stage)代替. - -### Globally-defined `image`, `services`, `cache`, `before_script`, `after_script`[](#globally-defined-image-services-cache-before_script-after_script "Permalink") - -不`after_script`全局定义`image` , `services` , `cache` , `before_script`和`after_script` . 支持可以从将来的版本中删除. - -使用[`default:`](#global-defaults)代替. 例如: - -``` -default: - image: ruby:2.5 - services: - - docker:dind - cache: - paths: [vendor/] - before_script: - - bundle install --path vendor/ - after_script: - - rm -rf tmp/ -``` \ No newline at end of file diff --git a/docs/200.md b/docs/200.md deleted file mode 100644 index e7b98b4..0000000 --- a/docs/200.md +++ /dev/null @@ -1,206 +0,0 @@ -# GitLab CI/CD include examples - -> 原文:[https://docs.gitlab.com/ee/ci/yaml/includes.html](https://docs.gitlab.com/ee/ci/yaml/includes.html) - -* [Single string or array of multiple values](#single-string-or-array-of-multiple-values) -* [Re-using a `before_script` template](#re-using-a-before_script-template) -* [Overriding external template values](#overriding-external-template-values) -* [Using nested includes](#using-nested-includes) - -# GitLab CI/CD include examples[](#gitlab-cicd-include-examples "Permalink") - -除了[GitLab CI YAML 参考中](README.html)列出的[`includes`示例](README.html#include)之外,此页面还列出了`include`用法的更多变化. - -## Single string or array of multiple values[](#single-string-or-array-of-multiple-values "Permalink") - -您可以将额外的 YAML 文件作为单个字符串或多个值的数组包含在内. 以下示例均有效. - -`include:local`方法的单个字符串暗含: - -``` -include: '/templates/.after-script-template.yml' -``` - -Array with `include` method implied: - -``` -include: - - 'https://gitlab.com/awesome-project/raw/master/.before-script-template.yml' - - '/templates/.after-script-template.yml' -``` - -具有明确指定的`include`方法的单个字符串: - -``` -include: - remote: 'https://gitlab.com/awesome-project/raw/master/.before-script-template.yml' -``` - -`include:remote`为单个项目的数组: - -``` -include: - - remote: 'https://gitlab.com/awesome-project/raw/master/.before-script-template.yml' -``` - -具有多个显式指定的`include`方法的数组: - -``` -include: - - remote: 'https://gitlab.com/awesome-project/raw/master/.before-script-template.yml' - - local: '/templates/.after-script-template.yml' - - template: Auto-DevOps.gitlab-ci.yml -``` - -数组混合语法: - -``` -include: - - 'https://gitlab.com/awesome-project/raw/master/.before-script-template.yml' - - '/templates/.after-script-template.yml' - - template: Auto-DevOps.gitlab-ci.yml - - project: 'my-group/my-project' - ref: master - file: '/templates/.gitlab-ci-template.yml' -``` - -## Re-using a `before_script` template[](#re-using-a-before_script-template "Permalink") - -在以下示例中, `.before-script-template.yml`的内容将与`.gitlab-ci.yml`的内容一起自动获取和评估. - -`https://gitlab.com/awesome-project/raw/master/.before-script-template.yml`内容: - -``` -before_script: - - apt-get update -qq && apt-get install -y -qq sqlite3 libsqlite3-dev nodejs - - gem install bundler --no-document - - bundle install --jobs $(nproc) "${FLAGS[@]}" -``` - -`.gitlab-ci.yml`内容: - -``` -include: 'https://gitlab.com/awesome-project/raw/master/.before-script-template.yml' - -rspec: - script: - - bundle exec rspec -``` - -## Overriding external template values[](#overriding-external-template-values "Permalink") - -以下示例显示了特定的 YAML 定义的变量以及`.gitlab-ci.yml`自定义的包含文件中`production`作业的详细信息. - -`https://company.com/autodevops-template.yml`内容: - -``` -variables: - POSTGRES_USER: user - POSTGRES_PASSWORD: testing_password - POSTGRES_DB: $CI_ENVIRONMENT_SLUG - -production: - stage: production - script: - - install_dependencies - - deploy - environment: - name: production - url: https://$CI_PROJECT_PATH_SLUG.$KUBE_INGRESS_BASE_DOMAIN - only: - - master -``` - -`.gitlab-ci.yml`内容: - -``` -include: 'https://company.com/autodevops-template.yml' - -image: alpine:latest - -variables: - POSTGRES_USER: root - POSTGRES_PASSWORD: secure_password - -stages: - - build - - test - - production - -production: - environment: - url: https://domain.com -``` - -在这种情况下,变量`POSTGRES_USER`和`POSTGRES_PASSWORD`以及`autodevops-template.yml`定义的`production`作业的环境 URL 已被`.gitlab-ci.yml`定义的新值覆盖. - -合并使您可以扩展和覆盖字典映射,但是不能向包含的数组添加或修改项目. 例如,要将其他项目添加到生产作业脚本中,必须重复现有的脚本项目: - -`https://company.com/autodevops-template.yml`内容: - -``` -production: - stage: production - script: - - install_dependencies - - deploy -``` - -`.gitlab-ci.yml`内容: - -``` -include: 'https://company.com/autodevops-template.yml' - -stages: - - production - -production: - script: - - install_dependencies - - deploy - - notify_owner -``` - -在这种情况下,如果未在`.gitlab-ci.yml`重复`install_dependencies`和`deploy` ,则它们将不会成为组合 CI 配置中`production`作业脚本的一部分. - -## Using nested includes[](#using-nested-includes "Permalink") - -以下示例显示了如何使用不同方法的组合从不同来源嵌套包含对象. - -在此示例中, `.gitlab-ci.yml`本地包含文件`/.gitlab-ci/another-config.yml` : - -``` -include: - - local: /.gitlab-ci/another-config.yml -``` - -`/.gitlab-ci/another-config.yml`包含一个模板和另一个项目中的`/templates/docker-workflow.yml`文件: - -``` -include: - - template: Bash.gitlab-ci.yml - - project: group/my-project - file: /templates/docker-workflow.yml -``` - -该`/templates/docker-workflow.yml`出现在`group/my-project`包括的两个本地文件`group/my-project` : - -``` -include: - - local: /templates/docker-build.yml - - local: /templates/docker-testing.yml -``` - -我们在`group/my-project` `/templates/docker-build.yml`添加了一个`docker-build`作业: - -``` -docker-build: - script: docker build -t my-image . -``` - -我们在`group/my-project`出现的第二个`/templates/docker-test.yml`添加了一个`docker-test`作业: - -``` -docker-test: - script: docker run my-image /run/tests.sh -``` \ No newline at end of file diff --git a/docs/201.md b/docs/201.md deleted file mode 100644 index 5fca31e..0000000 --- a/docs/201.md +++ /dev/null @@ -1,156 +0,0 @@ -# Introduction to CI/CD with GitLab - -> 原文:[https://docs.gitlab.com/ee/ci/introduction/](https://docs.gitlab.com/ee/ci/introduction/) - -* [Introduction to CI/CD methodologies](#introduction-to-cicd-methodologies) - * [Continuous Integration](#continuous-integration) - * [Continuous Delivery](#continuous-delivery) - * [Continuous Deployment](#continuous-deployment) -* [Introduction to GitLab CI/CD](#introduction-to-gitlab-cicd) - * [How GitLab CI/CD works](#how-gitlab-cicd-works) - * [Basic CI/CD workflow](#basic-cicd-workflow) - * [A deeper look into the CI/CD basic workflow](#a-deeper-look-into-the-cicd-basic-workflow) - * [Setting up GitLab CI/CD for the first time](#setting-up-gitlab-cicd-for-the-first-time) - -# Introduction to CI/CD with GitLab[](#introduction-to-cicd-with-gitlab "Permalink") - -在本文档中,我们将概述持续集成,持续交付和持续部署的概念,并介绍 GitLab CI / CD. - -**开箱即用的管理系统可以将维护工具链所花费的时间减少 10%或更多.** 观看我们的["精通持续软件开发"](https://about.gitlab.com/webcast/mastering-ci-cd/)网络广播,以了解连续方法以及 GitLab 的内置 CI 如何帮助您简化和扩展软件开发. - -## Introduction to CI/CD methodologies[](#introduction-to-cicd-methodologies "Permalink") - -软件开发的连续方法基于自动执行脚本,以最大程度地减少在开发应用程序时引入错误的机会. 从开发新代码到部署新代码,他们几乎不需要人工干预,甚至根本不需要干预. - -它涉及到在每次小的迭代中就不断地构建,测试和部署代码更改,从而减少了基于错误或失败的先前版本开发新代码的机会. - -此方法有三种主要方法,每种方法都将根据最适合您的策略的方式进行应用. - -### Continuous Integration[](#continuous-integration "Permalink") - -考虑一个应用程序,其代码存储在 GitLab 的 Git 存储库中. 开发人员每天要多次推送代码更改. 对于每次向存储库的推送,您都可以创建一组脚本来自动构建和测试您的应用程序,从而减少了向应用程序引入错误的机会. - -这种做法被称为[持续整合](https://en.wikipedia.org/wiki/Continuous_integration) ; 对于提交给应用程序(甚至是开发分支)的每个更改,它都会自动连续地构建和测试,以确保所引入的更改通过您为应用程序建立的所有测试,准则和代码合规性标准. - -[GitLab 本身](https://gitlab.com/gitlab-org/gitlab-foss)就是使用持续集成作为软件开发方法的一个示例. 对于项目的每一次推送,都有一组检查脚本的脚本. - -### Continuous Delivery[](#continuous-delivery "Permalink") - -[持续交付](https://continuousdelivery.com/)是超越持续集成的一步. 您的应用程序不仅会在推送到代码库的每次代码更改时都进行构建和测试,而且作为附加步骤,尽管部署是手动触发的,但它仍会持续部署. - -此方法可确保自动检查代码,但需要人工干预才能从策略上手动触发更改的部署. - -### Continuous Deployment[](#continuous-deployment "Permalink") - -类似于持续交付, [持续部署](https://www.airpair.com/continuous-deployment/posts/continuous-deployment-for-practical-people)也是超越持续集成的又一步. 区别在于,您无需将其手动部署,而是将其设置为自动部署. 部署您的应用程序完全不需要人工干预. - -## Introduction to GitLab CI/CD[](#introduction-to-gitlab-cicd "Permalink") - -GitLab CI / CD 是内置在 GitLab 中的功能强大的工具,它使您可以将所有连续方法(连续集成,交付和部署)应用于软件,而无需第三方应用程序或集成. - -有关概述,请参阅最近的 GitLab 聚会中的[GitLab CI 简介](https://www.youtube.com/watch?v=l5705U8s_nQ&t=397) . - -### How GitLab CI/CD works[](#how-gitlab-cicd-works "Permalink") - -要使用 GitLab CI / CD,您需要做的是托管在 Git 存储库中的应用程序代码库,并在[`.gitlab-ci.yml`](../yaml/README.html)文件中指定生成,测试和部署脚本,该文件位于以下目录的根路径中:您的存储库. - -在此文件中,您可以定义要运行的脚本,定义包含和缓存依赖项,选择要按顺序运行的命令和要并行运行的命令,定义要在哪里部署应用程序,以及指定是否将要自动运行脚本或手动触发任何脚本. 熟悉 GitLab CI / CD 后,您可以在配置文件中添加更多高级步骤. - -要将脚本添加到该文件,您需要按照适合您的应用程序并符合您要执行的测试的顺序来组织它们. 为了可视化该过程,假设添加到配置文件中的所有脚本与在计算机的终端上运行的命令相同. - -将`.gitlab-ci.yml`配置文件添加到存储库后,GitLab 将检测到该文件并使用名为[GitLab Runner](https://docs.gitlab.com/runner/)的工具运行脚本,该工具的操作与终端类似. - -这些脚本被分组为**作业** ,它们共同组成了一个**管道** . `.gitlab-ci.yml`文件的一个简约示例可以包含: - -``` -before_script: - - apt-get install rubygems ruby-dev -y - -run-test: - script: - - ruby --version -``` - -`before_script`属性将在运行任何内容之前为您的应用程序安装依赖项,并且名为`run-test`的**作业**将打印当前系统的 Ruby 版本. 它们两者都构成了在每次推送到存储库的任何分支时触发的**管道** . - -GitLab CI / CD 不仅执行您已设置的作业,而且还向您显示执行期间发生的事情,就像您在终端中看到的那样: - -[![job running](img/b452a194fd7fbbdd22f73a1dda9b236a.png)](img/job_running.png) - -您为您的应用程序创建了策略,GitLab 根据您定义的内容为您运行管道. 您的管道状态也会由 GitLab 显示: - -[![pipeline status](img/be1eaf723e0603b081c01aa4310c304c.png)](img/pipeline_status.png) - -最后,如果出现任何问题,您可以轻松[回滚](../environments/index.html#retrying-and-rolling-back)所有更改: - -[![rollback button](img/ce2f28e687df2b322895dbfb6c48d389.png)](img/rollback.png) - -### Basic CI/CD workflow[](#basic-cicd-workflow "Permalink") - -考虑以下示例,以了解 GitLab CI / CD 如何适合通用开发工作流程. - -假设您已在一个问题中讨论了代码实现,并在本地进行了建议的更改. 将提交推送到 GitLab 中的远程存储库中的功能分支后,将触发项目的 CI / CD 管道集. 这样,GitLab CI / CD: - -* 运行自动化脚本(顺序或并行)以: - * 构建并测试您的应用. - * 就像在`localhost`看到的那样,使用 Review Apps 预览每个合并请求的更改. - -对实施感到满意后: - -* 让您的代码得到审查和批准. -* 将功能分支合并到默认分支. - * GitLab CI / CD 将您的更改自动部署到生产环境. -* 最后,如果出现问题,您和您的团队可以轻松地将其回滚. - -[![GitLab workflow example](img/4ab2d185d65e76a0d58ad6564dff777a.png)](img/gitlab_workflow_example_11_9.png) - -GitLab CI / CD 可以做更多的事情,但是此工作流程体现了 GitLab 跟踪整个过程的能力,而无需使用外部工具来交付软件. 而且,最有用的是,您可以通过 GitLab UI 可视化所有步骤. - -#### A deeper look into the CI/CD basic workflow[](#a-deeper-look-into-the-cicd-basic-workflow "Permalink") - -如果我们深入研究基本工作流程,则可以在 DevOps 生命周期的每个阶段看到 GitLab 中可用的功能,如下图所示. - -[![Deeper look into the basic CI/CD workflow](img/33c514aefa1ff87fe18907b27d473e03.png)](img/gitlab_workflow_example_extended_v12_3.png) - -如果您从左至右查看图像,则会根据每个阶段(验证,打包,发布)看到 GitLab 中的一些可用功能. - -1. **Verify**: - * 通过持续集成自动构建和测试您的应用程序. - * 使用[GitLab 代码质量](../../user/project/merge_requests/code_quality.html)分析您的源代码[质量](../../user/project/merge_requests/code_quality.html) . - * 使用[浏览器性能测试](../../user/project/merge_requests/browser_performance_testing.html)确定代码更改对性能的影响. - * 执行一系列测试,例如[容器扫描](../../user/application_security/container_scanning/index.html) , [依赖扫描](../../user/application_security/dependency_scanning/index.html) 和[JUnit 测试](../junit_test_reports.html) . - * 使用[Review Apps](../review_apps/index.html)部署更改,以预览每个分支上的应用程序更改. -2. **Package**: - * 使用[Container Registry](../../user/packages/container_registry/index.html)存储 Docker 映像. - * 使用[NPM Registry](../../user/packages/npm_registry/index.html)存储 NPM 软件包. - * 用[Maven 存储库](../../user/packages/maven_repository/index.html)存储 Maven 工件. - * 将 Conan 软件包存储在[Conan 仓库中](../../user/packages/conan_repository/index.html) . -3. **Release**: - * 持续部署,自动将您的应用程序部署到生产环境. - * 连续交付,手动单击以将您的应用程序部署到生产环境. - * 使用[GitLab Pages](../../user/project/pages/index.html)部署静态网站. - * 仅将功能部件运送到您的一部分吊舱中,并让一定比例的用户群通过[Canary Deployments](../../user/project/canary_deployments.html)访问临时部署的功能部件. - * 在[功能标记](../../operations/feature_flags.html)后面部署[功能](../../operations/feature_flags.html) . - * 使用[GitLab Releases](../../user/project/releases/index.html)向任何 Git 标签添加发行说明. - * View of the current health and status of each CI environment running on Kubernetes with [Deploy Boards](../../user/project/deploy_boards.html). - * 使用[Auto Deploy](../../topics/autodevops/stages.html#auto-deploy)将应用程序部署到 Kubernetes 集群中的生产环境. - -使用 GitLab CI / CD,您还可以: - -* 通过[Auto DevOps](../../topics/autodevops/index.html)轻松设置应用程序的整个生命周期. -* 将您的应用程序部署到不同的[环境](../environments/index.html) . -* 安装自己的[GitLab Runner](https://docs.gitlab.com/runner/) . -* [Schedule pipelines](../pipelines/schedules.html). -* 使用[安全测试报告](../../user/application_security/index.html)检查应用程序漏洞. - -要查看所有 CI / CD 功能,请导航回[CI / CD 索引](../README.html) . - -观看视频[GitLab CI Live 演示](https://youtu.be/l5705U8s_nQ?t=369) ,深入了解 GitLab CI / CD. - -### Setting up GitLab CI/CD for the first time[](#setting-up-gitlab-cicd-for-the-first-time "Permalink") - -要开始使用 GitLab CI / CD,您需要熟悉[`.gitlab-ci.yml`](../yaml/README.html)配置文件的语法及其属性. - -本文档[在 GitLab Pages 的范围内介绍了 GitLab CI / CD 的概念](../../user/project/pages/getting_started/pages_from_scratch.html) ,用于部署静态网站. 尽管它是为想要从头开始编写自己的 Pages 脚本的用户而设计的,但它也可以作为 GitLab CI / CD 设置过程的简介. 它涵盖了编写 CI / CD 配置文件的最初一般步骤,因此我们建议您通读它以了解 GitLab 的 CI / CD 逻辑,并学习如何为任何应用程序编写自己的脚本(或调整现有脚本). - -要深入了解 GitLab 的 CI / CD 配置选项,请查看[`.gitlab-ci.yml`完整参考](../yaml/README.html) . \ No newline at end of file diff --git a/docs/202.md b/docs/202.md deleted file mode 100644 index 4261388..0000000 --- a/docs/202.md +++ /dev/null @@ -1,172 +0,0 @@ -# Getting started with GitLab CI/CD - -> 原文:[https://docs.gitlab.com/ee/ci/quick_start/README.html](https://docs.gitlab.com/ee/ci/quick_start/README.html) - -* [Creating a `.gitlab-ci.yml` file](#creating-a-gitlab-ciyml-file) - * [What is `.gitlab-ci.yml`](#what-is-gitlab-ciyml) - * [Creating a simple `.gitlab-ci.yml` file](#creating-a-simple-gitlab-ciyml-file) - * [Push `.gitlab-ci.yml` to GitLab](#push-gitlab-ciyml-to-gitlab) -* [Configuring a Runner](#configuring-a-runner) - * [Shared Runners](#shared-runners) -* [Seeing the status of your pipeline and jobs](#seeing-the-status-of-your-pipeline-and-jobs) -* [Examples](#examples) - -# Getting started with GitLab CI/CD[](#getting-started-with-gitlab-cicd "Permalink") - -**注意:**从 8.0 版开始,GitLab [持续集成](https://about.gitlab.com/stages-devops-lifecycle/continuous-integration/) (CI)已完全集成到 GitLab 本身,并且默认情况下在所有项目上都[启用](../enable_or_disable_ci.html) .**注意:**请记住,只有项目维护者和管理员用户有权访问项目的设置.**注意:**要从 Jenkins 转到 GitLab 吗? 查阅我们的[参考](../jenkins/index.html) ,将您先前存在的管道转换为我们的格式.**注意:**您可以考虑在项目中使用几种不同的[基本管道体系结构](../pipelines/pipeline_architectures.html) . 您可能需要在开始之前熟悉这些内容. - -GitLab 提供[持续集成](https://about.gitlab.com/stages-devops-lifecycle/continuous-integration/)服务. 对于每次提交或推送以触发您的 CI [管道](../pipelines/index.html) ,您必须: - -* Add a [`.gitlab-ci.yml` file](#creating-a-gitlab-ciyml-file) to your repository’s root directory. -* 确保将项目配置为使用[Runner](#configuring-a-runner) . - -`.gitlab-ci.yml`文件告诉 GitLab Runner 做什么. 一个简单的管道通常包括三个[阶段](../yaml/README.html#stages) : - -* `build` -* `test` -* `deploy` - -您不需要使用所有三个阶段; 没有工作的阶段将被忽略. - -管道显示在项目的**CI / CD>管道**页面下. 如果一切运行正常(没有非零返回值),您将获得与提交关联的绿色复选标记. 这样就可以轻松查看提交是否导致任何测试失败,甚至无需查看作业(测试)日志. 许多项目使用 GitLab 的 CI 服务来运行测试套件,因此如果开发人员遇到问题,他们会立即获得反馈. - -通常,使用管道将经过测试的代码自动部署到登台和生产环境中. - -* * * - -本指南假定您具有: - -* 8.0+或正在使用[GitLab.com 的](https://gitlab.com)有效 GitLab 实例. -* 您要在其中使用 CI 的 GitLab 中的项目. -* 维护者或所有者对项目的访问 - -让我们将其分解为 GitLab CI / CD 难题. - -## Creating a `.gitlab-ci.yml` file[](#creating-a-gitlab-ciyml-file "Permalink") - -在创建`.gitlab-ci.yml`之前,让我们首先简要地解释这是怎么回事. - -### What is `.gitlab-ci.yml`[](#what-is-gitlab-ciyml "Permalink") - -您可以在`.gitlab-ci.yml`文件中配置 CI 对项目的作用. 它位于存储库的根目录中. - -在对存储库进行任何推送时,GitLab 都会查找`.gitlab-ci.yml`文件,并根据该文件的内容在*Runners*上启动作业,以进行提交. - -由于`.gitlab-ci.yml`在存储库中并且受版本控制,因此旧版本仍然可以成功构建,fork 可以轻松使用 CI,分支可以具有不同的管道和作业,并且您拥有 CI 的唯一真实来源. 您可以[在我们的博客中](https://about.gitlab.com/blog/2015/05/06/why-were-replacing-gitlab-ci-jobs-with-gitlab-ci-dot-yml/)阅读更多有关为什么使用`.gitlab-ci.yml`的原因. - -### Creating a simple `.gitlab-ci.yml` file[](#creating-a-simple-gitlab-ciyml-file "Permalink") - -> **注意:** `.gitlab-ci.yml`是一个[YAML](https://en.wikipedia.org/wiki/YAML)文件,因此您必须特别注意缩进. 始终使用空格,不要使用制表符. - -您需要在存储库的根目录中创建一个名为`.gitlab-ci.yml`的文件. 以下是 Ruby on Rails 项目的示例. - -``` -image: "ruby:2.5" - -before_script: - - apt-get update -qq && apt-get install -y -qq sqlite3 libsqlite3-dev nodejs - - ruby -v - - which ruby - - gem install bundler --no-document - - bundle install --jobs $(nproc) "${FLAGS[@]}" - -rspec: - script: - - bundle exec rspec - -rubocop: - script: - - bundle exec rubocop -``` - -This is the simplest possible configuration that will work for most Ruby applications: - -1. 用要执行的不同命令定义两个作业`rspec`和`rubocop` (名称是任意的). -2. 在执行每个作业之前,将执行`before_script`定义的命令. - -`.gitlab-ci.yml`文件定义了作业集,并限制了作业的运行方式和时间. 作业被定义为具有名称的顶级元素(在我们的示例中为`rspec`和`rubocop` ),并且始终必须包含`script`关键字. 乔布斯被用于创造就业机会,然后由挑选[运动员](../runners/README.html)和跑步者的环境中执行. - -重要的是每个作业都彼此独立运行. - -如果要检查项目的`.gitlab-ci.yml`是否有效,则项目名称空间的`/-/ci/lint`页下有一个 Lint 工具. 您也可以在项目的**CI / CD➔管道**和**管道➔作业**下找到" CI Lint"按钮以转到此页面. - -有关更多信息和完整的`.gitlab-ci.yml`语法,请阅读[`.gitlab-ci.yml`上的参考文档](../yaml/README.html) . - -### Push `.gitlab-ci.yml` to GitLab[](#push-gitlab-ciyml-to-gitlab "Permalink") - -创建`.gitlab-ci.yml` ,应将其添加到 Git 存储库中并将其推送到 GitLab. - -``` -git add .gitlab-ci.yml -git commit -m "Add .gitlab-ci.yml" -git push origin master -``` - -现在,如果您转到" **管道"**页面,您将看到管道处于挂起状态. - -**注意:**如果您有一个[从 GitLab 提取镜像的存储库](../../user/project/repository/repository_mirroring.html#pulling-from-a-remote-repository-starter) ,则可能需要在项目的**"设置">"存储库">"从远程存储库中提取">"触发管道以进行镜像更新"中**启用管道触发. - -您也可以转到" **提交"**页面,注意提交 SHA 旁边的小暂停图标. - -[![New commit pending](img/3b3e644f832753a09f245236299e74b2.png)](img/new_commit.png) - -单击它,您将被定向到该特定提交的作业页面. - -[![Single commit jobs page](img/f8cfebdbd362ba809375c8d9c38416ba.png)](img/single_commit_status_pending.png) - -注意,有一个待处理的作业以我们在`.gitlab-ci.yml`编写的`.gitlab-ci.yml` . "卡住"表示尚未为此作业配置任何运行器. - -下一步是配置运行器,以便它选择挂起的作业. - -## Configuring a Runner[](#configuring-a-runner "Permalink") - -在 GitLab 中,Runners 运行您在`.gitlab-ci.yml`定义的作业. Runner 可以是虚拟机,VPS,裸机,Docker 容器甚至是容器集群. GitLab 和 Runners 通过 API 进行通信,因此唯一的要求是 Runner 的计算机具有对 GitLab 服务器的网络访问权限. - -Runner 可以特定于某个项目,也可以在 GitLab 中服务多个项目. 如果它服务于所有项目,则称为*Shared Runner* . - -在" [跑步者"](../runners/README.html)文档中查找有关不同跑步者的更多信息. - -您可以通过转到**设置➔CI / CD**来查找是否将任何跑步者分配给您的项目. 设置 Runner 既简单又直接. GitLab 支持的官方 Runner 是用 Go 编写的,其文档可以在[https://docs.gitlab.com/runner/中](https://docs.gitlab.com/runner/)找到. - -为了拥有功能正常的 Runner,您需要执行以下两个步骤: - -1. [Install it](https://docs.gitlab.com/runner/install/) -2. [Configure it](https://docs.gitlab.com/runner/configuration/) - -请按照上面的链接设置您自己的 Runner 或使用下一节所述的 Shared Runner. - -设置 Runner 之后,您应该在**设置➔CI / CD**后面的项目的 Runners 页面上看到它. - -[![Activated runners](img/423e566cce1da11ef163c69219f870aa.png)](img/runners_activated.png) - -### Shared Runners[](#shared-runners "Permalink") - -如果使用[GitLab.com](https://gitlab.com/) ,则可以使用 GitLab Inc.提供的**共享运行程序** . - -这些是在 GitLab 基础架构上运行的特殊虚拟机,可以构建任何项目. - -要启用**共享运行程序,**您必须转到项目的**设置➔CI / CD** ,然后单击**启用共享运行程序** . - -[Read more on Shared Runners](../runners/README.html). - -## Seeing the status of your pipeline and jobs[](#seeing-the-status-of-your-pipeline-and-jobs "Permalink") - -成功配置 Runner 之后,您应该看到上一次提交的状态从" *未决"*更改为" *正在* *运行"* ," *成功"*或" *失败"* . - -您可以转到项目中的" **管道"**页面来查看所有管道. - -[![Commit status](img/0748208b938145b0cf688cc0a3cb7b09.png)](img/pipelines_status.png) - -或者,您可以转到" **管道➔作业"**页面查看所有作业. - -[![Commit status](img/c0fd76908cea66a75fbd88aeb1ccec31.png)](img/builds_status.png) - -通过单击作业的状态,您将能够看到该作业的日志. 这对于诊断工作为什么失败或行为与您预期的不同很重要. - -[![Build log](img/f5f57e5e3d074f574a5b26d23eb0b721.png)](img/build_log.png) - -您还可以在 GitLab 的各个页面中查看任何提交的状态,例如**提交**和**合并请求** . - -## Examples[](#examples "Permalink") - -请访问[示例自述文件](../examples/README.html)以查看使用各种语言的 GitLab CI 的示例列表. \ No newline at end of file diff --git a/docs/203.md b/docs/203.md deleted file mode 100644 index ea42af4..0000000 --- a/docs/203.md +++ /dev/null @@ -1,80 +0,0 @@ -# How to enable or disable GitLab CI/CD - -> 原文:[https://docs.gitlab.com/ee/ci/enable_or_disable_ci.html](https://docs.gitlab.com/ee/ci/enable_or_disable_ci.html) - -* [Per-project user setting](#per-project-user-setting) -* [Site-wide admin setting](#site-wide-admin-setting) - -# How to enable or disable GitLab CI/CD[](#how-to-enable-or-disable-gitlab-cicd "Permalink") - -为了有效使用 GitLab CI / CD,您需要: - -* 项目根目录中存在一个有效的[`.gitlab-ci.yml`](yaml/README.html)文件. -* [跑步者](runners/README.html)正确设置. - -您可以阅读我们的[快速入门指南](quick_start/README.html)以开始使用. - -如果您使用的是 Jenkins 或 Drone CI 之类的外部 CI / CD 服务器,建议禁用 GitLab CI / CD,以免与提交状态 API 发生冲突. - -GitLab CI/CD is exposed via the `/pipelines` and `/jobs` pages of a project. Disabling GitLab CI/CD in a project does not delete any previous jobs. In fact, the `/pipelines` and `/jobs` pages can still be accessed, although it’s hidden from the left sidebar menu. - -GitLab CI / CD 在新安装中默认情况下处于启用状态,并且可以被禁用: - -* 在每个项目的设置下单独进行. -* 通过修改分别用于源代码安装和 Omnibus 安装的`gitlab.yml`和`gitlab.rb`的设置在`gitlab.yml`站点范围内. - -**注意:**这仅适用于作为 GitLab CI / CD 的一部分运行的管道. 这将不会启用或禁用通过[外部集成](../user/project/integrations/overview.html#integrations-listing)运行的管道. - -## Per-project user setting[](#per-project-user-setting "Permalink") - -要在项目中启用或禁用 GitLab CI / CD 管道: - -1. 导航至**设置>常规>可见性,项目功能,权限** . -2. 展开**存储库**部分 -3. 根据需要启用或禁用" **管道"**切换. - -**项目可见性**还将影响管道可见性. 如果设置为: - -* **私有** :只有项目成员才能访问管道. -* **内部**或**公共** :可以通过下拉框将管道设置为" **仅项目成员"**或" **具有访问权限的所有人** ". - -按**保存更改**以使设置生效. - -## Site-wide admin setting[](#site-wide-admin-setting "Permalink") - -您可以在`gitlab.yml`站点上禁用 GitLab CI / CD,方法是修改`gitlab.yml`用于源代码安装的设置,以及`gitlab.rb`用于 Omnibus 安装的设置. - -有两件事要注意: - -* 禁用 GitLab CI / CD,将仅影响新创建的项目. 在此修改之前启用了此功能的项目将照常工作. -* 即使您禁用了 GitLab CI / CD,用户仍然可以在项目的设置中启用它. - -对于源安装, `gitlab.yml`使用编辑器打开`gitlab.yml`并将`builds`设置为`false` : - -``` -## Default project features settings -default_projects_features: - issues: true - merge_requests: true - wiki: true - snippets: false - builds: false -``` - -保存文件并重新启动 GitLab: - -``` -sudo service gitlab restart -``` - -对于 Omnibus 安装,请编辑`/etc/gitlab/gitlab.rb`并添加以下行: - -``` -gitlab_rails['gitlab_default_projects_features_builds'] = false -``` - -保存文件并重新配置 GitLab: - -``` -sudo gitlab-ctl reconfigure -``` \ No newline at end of file diff --git a/docs/204.md b/docs/204.md deleted file mode 100644 index ffe0a50..0000000 --- a/docs/204.md +++ /dev/null @@ -1,164 +0,0 @@ -# Using SSH keys with GitLab CI/CD - -> 原文:[https://docs.gitlab.com/ee/ci/ssh_keys/README.html](https://docs.gitlab.com/ee/ci/ssh_keys/README.html) - -* [How it works](#how-it-works) -* [SSH keys when using the Docker executor](#ssh-keys-when-using-the-docker-executor) -* [SSH keys when using the Shell executor](#ssh-keys-when-using-the-shell-executor) -* [Verifying the SSH host keys](#verifying-the-ssh-host-keys) -* [Example project](#example-project) - -# Using SSH keys with GitLab CI/CD[](#using-ssh-keys-with-gitlab-cicd "Permalink") - -GitLab 当前不支持在构建环境(运行 GitLab Runner 的环境)中管理 SSH 密钥的内置支持. - -SSH 密钥在以下情况下很有用: - -1. 您想签出内部子模块 -2. 您想使用包管理器(例如 Bundler)下载私有包 -3. 您想要将应用程序部署到自己的服务器上,例如 Heroku -4. 您要执行从构建环境到远程服务器的 SSH 命令 -5. 您想将文件从构建环境同步到远程服务器 - -如果上述任何事情都响了,那么您很可能需要 SSH 密钥. - -支持最广泛的方法是通过扩展`.gitlab-ci.yml`来将 SSH 密钥注入构建环境,该解决方案可与任何类型的[执行器](https://docs.gitlab.com/runner/executors/) (Docker,shell 等)一起使用. - -## How it works[](#how-it-works "Permalink") - -1. 使用[`ssh-keygen`](https://linux.die.net/man/1/ssh-keygen)在本地创建新的 SSH 密钥对 -2. 将私钥作为[变量](../variables/README.html)添加到您的项目中 -3. 在作业期间运行[`ssh-agent`](https://linux.die.net/man/1/ssh-agent)以加载私钥. -4. 将公用密钥复制到您要访问的服务器上(通常在`~/.ssh/authorized_keys` ),如果要访问私有的 GitLab 存储库,则将其添加为[部署密钥](../../ssh/README.html#deploy-keys) . - -**注意:**除非您启用[调试日志](../variables/README.html#debug-logging)记录,否则私钥将不会显示在作业日志中. 您可能还需要检查[管道](../pipelines/settings.html#visibility-of-pipelines)的[可见性](../pipelines/settings.html#visibility-of-pipelines) . - -## SSH keys when using the Docker executor[](#ssh-keys-when-using-the-docker-executor "Permalink") - -当您的 CI / CD 作业在 Docker 容器中运行(意味着包含环境)并且您想要在私有服务器中部署代码时,您需要一种访问它的方法. 这是 SSH 密钥对派上用场的地方. - -1. 您首先需要创建一个 SSH 密钥对. 有关更多信息,请按照说明[生成 SSH 密钥](../../ssh/README.html#generating-a-new-ssh-key-pair) . **不要**在 SSH 密钥中添加密码,否则`before_script`会提示您输入密码. - -2. 创建一个新[变量](../variables/README.html#gitlab-cicd-environment-variables) . 在" **密钥"中**输入名称`SSH_PRIVATE_KEY`然后在" **值"**字段中粘贴先前创建的*私钥*的内容. - -3. 使用`before_script`操作修改`.gitlab-ci.yml` . 在以下示例中,假定使用基于 Debian 的图像. 根据需要进行编辑: - - ``` - before_script: - ## - ## Install ssh-agent if not already installed, it is required by Docker. - ## (change apt-get to yum if you use an RPM-based image) - ## - - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - - ## - ## Run ssh-agent (inside the build environment) - ## - - eval $(ssh-agent -s) - - ## - ## Add the SSH key stored in SSH_PRIVATE_KEY variable to the agent store - ## We're using tr to fix line endings which makes ed25519 keys work - ## without extra base64 encoding. - ## https://gitlab.com/gitlab-examples/ssh-private-key/issues/1#note_48526556 - ## - - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - - - ## - ## Create the SSH directory and give it the right permissions - ## - - mkdir -p ~/.ssh - - chmod 700 ~/.ssh - - ## - ## Optionally, if you will be using any Git commands, set the user name and - ## and email. - ## - #- git config --global user.email "user@example.com" - #- git config --global user.name "User name" - ``` - - **注意:** [`before_script`](../yaml/README.html#before_script-and-after_script)可以全局设置或按作业设置. -4. 确保专用服务器的[SSH 主机密钥已验证](#verifying-the-ssh-host-keys) . - -5. 作为最后一步,从添加您在第一步,你想拥有从构建环境中的接入服务创建一个*公共*密钥. 如果要访问私有的 GitLab 存储库,则需要将其添加为[部署密钥](../../ssh/README.html#deploy-keys) . - -而已! 现在,您可以在构建环境中访问私有服务器或存储库. - -## SSH keys when using the Shell executor[](#ssh-keys-when-using-the-shell-executor "Permalink") - -如果您使用的是 Shell 执行程序而不是 Docker,则设置 SSH 密钥会更加容易. - -您可以从安装了 GitLab Runner 的计算机生成 SSH 密钥,并将该密钥用于在该计算机上运行的所有项目. - -1. 首先,登录到运行您的作业的服务器. - -2. 然后,从终端以`gitlab-runner`用户身份登录: - - ``` - sudo su - gitlab-runner - ``` - -3. 按照说明生成 SSH 密钥对,以[生成 SSH 密钥](../../ssh/README.html#generating-a-new-ssh-key-pair) . **不要**在 SSH 密钥中添加密码,否则`before_script`会提示您输入密码. - -4. 作为最后一步,加前面创建要具有从构建环境中的接入服务的一个*公共*密钥. 如果要访问私有的 GitLab 存储库,则需要将其添加为[部署密钥](../../ssh/README.html#deploy-keys) . - -完成后,尝试登录到远程服务器以接受指纹: - -``` -ssh example.com -``` - -要访问 GitLab.com 上的存储库,可以使用`git@gitlab.com` . - -## Verifying the SSH host keys[](#verifying-the-ssh-host-keys "Permalink") - -最好检查私有服务器自己的公用密钥,以确保您不会受到中间人攻击的攻击. 万一发生任何可疑事件,您将注意到它,因为作业将失败(如果公钥不匹配,则 SSH 连接将失败). - -要查找服务器的主机密钥,请从受信任的网络(最好是从私有服务器本身)运行`ssh-keyscan`命令: - -``` -## Use the domain name -ssh-keyscan example.com - -## Or use an IP -ssh-keyscan 1.2.3.4 -``` - -使用`SSH_KNOWN_HOSTS`作为"密钥"创建一个新[变量](../variables/README.html#gitlab-cicd-environment-variables) ,并作为"值"添加`ssh-keyscan`的输出. - -**注意:**如果需要连接到多个服务器,则所有服务器主机密钥都需要收集在变量的**Value**中,每行一个密钥.**提示:**通过在`.gitlab-ci.yml`直接使用变量而不是`ssh-keyscan` ,这样做的好处是,如果主机域名由于某种原因而更改,则不必更改`.gitlab-ci.yml` . 而且,这些值是由您预定义的,这意味着如果主机密钥突然更改,CI / CD 作业将失败,并且您将知道服务器或网络出了点问题. - -现在已经创建了`SSH_KNOWN_HOSTS`变量,除了上面[`.gitlab-ci.yml`](#ssh-keys-when-using-the-docker-executor)的[内容](#ssh-keys-when-using-the-docker-executor)之外,还需要添加以下内容: - -``` -before_script: - ## - ## Assuming you created the SSH_KNOWN_HOSTS variable, uncomment the - ## following two lines. - ## - - echo "$SSH_KNOWN_HOSTS" >> ~/.ssh/known_hosts - - chmod 644 ~/.ssh/known_hosts - - ## - ## Alternatively, use ssh-keyscan to scan the keys of your private server. - ## Replace example.com with your private server's domain name. Repeat that - ## command if you have more than one server to connect to. - ## - #- ssh-keyscan example.com >> ~/.ssh/known_hosts - #- chmod 644 ~/.ssh/known_hosts - - ## - ## You can optionally disable host key checking. Be aware that by adding that - ## you are susceptible to man-in-the-middle attacks. - ## WARNING: Use this only with the Docker executor, if you use it with shell - ## you will overwrite your user's SSH config. - ## - #- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" >> ~/.ssh/config' -``` - -## Example project[](#example-project "Permalink") - -为了方便起见,我们建立了一个[示例 SSH 项目](https://gitlab.com/gitlab-examples/ssh-private-key/) ,使用我们的公共[共享](../runners/README.html)运行程序在[GitLab.com](https://gitlab.com)上运行. - -想要破解吗? 只需对其进行分叉,提交并推送您的更改. 稍后,公共跑步者将选择更改并开始工作. \ No newline at end of file diff --git a/docs/205.md b/docs/205.md deleted file mode 100644 index f353027..0000000 --- a/docs/205.md +++ /dev/null @@ -1,342 +0,0 @@ -# Migrating from CircleCI - -> 原文:[https://docs.gitlab.com/ee/ci/migration/circleci.html](https://docs.gitlab.com/ee/ci/migration/circleci.html) - -* [`config.yml` vs `gitlab-ci.yml`](#configyml-vs-gitlab-ciyml) - * [Jobs](#jobs) - * [Docker image definition](#docker-image-definition) - * [Workflows](#workflows) - * [Parallel and sequential job execution](#parallel-and-sequential-job-execution) - * [Scheduled run](#scheduled-run) - * [Manual run](#manual-run) - * [Filter job by branch](#filter-job-by-branch) - * [Caching](#caching) -* [Contexts and variables](#contexts-and-variables) -* [Orbs](#orbs) -* [Build environments](#build-environments) - * [Machine and specific build environments](#machine-and-specific-build-environments) - -# Migrating from CircleCI[](#migrating-from-circleci "Permalink") - -如果您当前正在使用 CircleCI,则可以将 CI / CD 管道迁移到[GitLab CI / CD](../introduction/index.html) ,并开始使用其所有强大功能. 查看我们的[CircleCI 与 GitLab](https://about.gitlab.com/devops-tools/circle-ci-vs-gitlab.html)比较,以了解有什么不同. - -在开始迁移之前,我们已经收集了一些您可能会觉得有用的资源. - -[快速入门指南](../quick_start/README.html)很好地概述了 GitLab CI / CD 的工作方式. 您可能还对[Auto DevOps](../../topics/autodevops/index.html)感兴趣,可以将其用于构建,测试和部署应用程序,而几乎不需要或根本不需要进行任何配置. - -对于高级 CI / CD 团队, [自定义项目模板](../../user/admin_area/custom_project_templates.html)可以启用管道配置的重用. - -如果您有未在此处回答的问题, [GitLab 社区论坛](https://forum.gitlab.com/)将是一个很好的资源. - -## `config.yml` vs `gitlab-ci.yml`[](#configyml-vs-gitlab-ciyml "Permalink") - -CircleCI 的`config.yml`配置文件定义了脚本,作业和工作流程(在 GitLab 中称为"阶段"). 在 GitLab 中,对存储库根目录中的`.gitlab-ci.yml`文件使用类似的方法. - -### Jobs[](#jobs "Permalink") - -在 CircleCI 中,作业是执行特定任务的步骤的集合. 在 GitLab 中, [作业](../yaml/README.html#introduction)也是配置文件中的基本元素. 在 GitLab CI / CD 中,不需要`checkout`参数,因为系统会自动获取存储库. - -CircleCI 示例作业定义: - -``` -jobs: - job1: - steps: - - checkout - - run: "execute-script-for-job1" -``` - -GitLab CI / CD 中相同作业定义的示例: - -``` -job1: - script: "execute-script-for-job1" -``` - -### Docker image definition[](#docker-image-definition "Permalink") - -CircleCI 在作业级别定义图像,GitLab CI / CD 也支持该图像. 此外,GitLab CI / CD 支持全局设置此设置,以供所有未定义`image`作业使用. - -CircleCI 示例图像定义: - -``` -jobs: - job1: - docker: - - image: ruby:2.6 -``` - -Example of the same image definition in GitLab CI/CD: - -``` -job1: - image: ruby:2.6 -``` - -### Workflows[](#workflows "Permalink") - -CircleCI 确定具有`workflows`作业的运行顺序. 这也可用于确定并发,顺序,计划或手动运行. GitLab CI / CD 中的等效功能称为[stage](../yaml/README.html#stages) . 同一阶段的作业并行运行,并且仅在先前阶段完成后才运行. 默认情况下,当作业失败时,将跳过下一阶段的执行,但是即使[在](../yaml/README.html#allow_failure)作业失败之后,也可以继续执行下一阶段. - -有关可使用的不同类型的管道的指南,请参见["管道体系结构概述](../pipelines/pipeline_architectures.html) ". 可以定制管道来满足您的需求,例如大型复杂项目或具有独立定义组件的 monorepo. - -#### Parallel and sequential job execution[](#parallel-and-sequential-job-execution "Permalink") - -以下示例显示了作业如何并行或顺序运行: - -1. `job1`和`job2`并行运行(在 GitLab CI / CD 的`build`阶段). -2. 仅在`job1`和`job2`成功完成之后(在`test`阶段), `job1` `job3`运行. -3. 仅在`job3`成功完成之后(在`deploy`阶段), `job3` `job4`运行. - -CircleCI `workflows`示例: - -``` -version: 2 -jobs: - job1: - steps: - - checkout - - run: make build dependencies - job2: - steps: - - run: make build artifacts - job3: - steps: - - run: make test - job4: - steps: - - run: make deploy - -workflows: - version: 2 - jobs: - - job1 - - job2 - - job3: - requires: - - job1 - - job2 - - job4: - requires: - - job3 -``` - -与 GitLab CI / CD 中的`stages`相同的工作流程示例: - -``` -stages: - - build - - test - - deploy - -job 1: - stage: build - script: make build dependencies - -job 2: - stage: build - script: make build artifacts - -job3: - stage: test - script: make test - -job4: - stage: deploy - script: make deploy -``` - -#### Scheduled run[](#scheduled-run "Permalink") - -GitLab CI / CD 具有易于使用的 UI 来[调度管道](../pipelines/schedules.html) . 同样,可以使用[规则](../yaml/README.html#rules)来确定是否应将作业包括在计划的管道中或从计划的管道中排除. - -计划的工作流程的 CircleCI 示例: - -``` -commit-workflow: - jobs: - - build -scheduled-workflow: - triggers: - - schedule: - cron: "0 1 * * *" - filters: - branches: - only: try-schedule-workflow - jobs: - - build -``` - -使用 GitLab CI / CD 中的[`rules`](../yaml/README.html#rules)使用同一调度管道的示例: - -``` -job1: - script: - - make build - rules: - - if: '$CI_PIPELINE_SOURCE == "schedule" && $CI_COMMIT_REF_NAME == "try-schedule-workflow"' -``` - -保存管道配置后,您可以在[GitLab UI 中](../pipelines/schedules.html#configuring-pipeline-schedules)配置 cron 计划,并且还可以在 UI 中启用或禁用计划. - -#### Manual run[](#manual-run "Permalink") - -手动工作流程的 CircleCI 示例: - -``` -release-branch-workflow: - jobs: - - build - - testing: - requires: - - build - - deploy: - type: approval - requires: - - testing -``` - -使用[`when: manual`](../yaml/README.html#whenmanual) GitLab CI / CD 中的[`when: manual`](../yaml/README.html#whenmanual)的相同工作流程示例: - -``` -deploy_prod: - stage: deploy - script: - - echo "Deploy to production server" - when: manual -``` - -### Filter job by branch[](#filter-job-by-branch "Permalink") - -[规则](../yaml/README.html#rules)是一种机制,用于确定作业是否将针对特定分支运行. - -按分支过滤的作业的 CircleCI 示例: - -``` -jobs: - deploy: - branches: - only: - - master - - /rc-.*/ -``` - -在 GitLab CI / CD 中使用`rules`的相同工作流程示例: - -``` -deploy_prod: - stage: deploy - script: - - echo "Deploy to production server" - rules: - - if: '$CI_COMMIT_BRANCH == "master"' -``` - -### Caching[](#caching "Permalink") - -GitLab 提供了一种缓存机制,可通过重用以前下载的依赖项来加快作业的构建时间. 重要的是要了解[缓存和工件](../caching/index.html#cache-vs-artifacts)之间的区别,以充分利用这些功能. - -使用缓存的作业的 CircleCI 示例: - -``` -jobs: - job1: - steps: - - restore_cache: - key: source-v1-< .Revision > - - checkout - - run: npm install - - save_cache: - key: source-v1-< .Revision > - paths: - - "node_modules" -``` - -在 GitLab CI / CD 中使用`cache`的同一管道的示例: - -``` -image: node:latest - -# Cache modules in between jobs -cache: - key: $CI_COMMIT_REF_SLUG - paths: - - .npm/ - -before_script: - - npm ci --cache .npm --prefer-offline - -test_async: - script: - - node ./specs/start.js ./specs/async.spec.js -``` - -## Contexts and variables[](#contexts-and-variables "Permalink") - -CircleCI 提供了[上下文,](https://s0circleci0com.icopy.site/docs/2.0/contexts/)以跨项目管道安全地传递环境变量. 在 GitLab 中,可以创建一个[组](../../user/group/index.html)来将相关项目组装在一起. 在组级别, [变量](../variables/README.html#group-level-environment-variables)可以存储在各个项目之外,并安全地传递到跨多个项目的管道中. - -## Orbs[](#orbs "Permalink") - -有两个 GitLab 问题需要解决 CircleCI Orb,以及 GitLab 如何实现类似功能. - -* [https://gitlab.com/gitlab-com/Product/-/issues/1151](https://gitlab.com/gitlab-com/Product/-/issues/1151) -* [https://gitlab.com/gitlab-org/gitlab/-/issues/195173](https://gitlab.com/gitlab-org/gitlab/-/issues/195173) - -## Build environments[](#build-environments "Permalink") - -CircleCI 为`executors`提供`executors`特定工作的基础技术. 在 GitLab 中,这是由[Runners](https://docs.gitlab.com/runner/)完成的. - -支持以下环境: - -自我管理的跑步者: - -* Linux -* Windows -* macOS - -GitLab.com 共享跑步者: - -* Linux -* Windows -* [Planned: macOS](https://gitlab.com/gitlab-com/gl-infra/infrastructure/-/issues/5720) - -### Machine and specific build environments[](#machine-and-specific-build-environments "Permalink") - -通过告诉 GitLab 哪些 Runners 应该运行作业, [标签](../yaml/README.html#tags)可以用于在不同平台上运行作业. - -在特定环境中运行的作业的 CircleCI 示例: - -``` -jobs: - ubuntuJob: - machine: - image: ubuntu-1604:201903-01 - steps: - - checkout - - run: echo "Hello, $USER!" - osxJob: - macos: - xcode: 11.3.0 - steps: - - checkout - - run: echo "Hello, $USER!" -``` - -在 GitLab CI / CD 中使用`tags`进行同一作业的示例: - -``` -windows job: - stage: - - build - tags: - - windows - script: - - echo Hello, %USERNAME%! - -osx job: - stage: - - build - tags: - - osx - script: - - echo "Hello, $USER!" -``` \ No newline at end of file diff --git a/docs/206.md b/docs/206.md deleted file mode 100644 index 0957eba..0000000 --- a/docs/206.md +++ /dev/null @@ -1,266 +0,0 @@ -# Migrating from Jenkins - -> 原文:[https://docs.gitlab.com/ee/ci/jenkins/](https://docs.gitlab.com/ee/ci/jenkins/) - -* [Managing the organizational transition](#managing-the-organizational-transition) -* [JenkinsFile Wrapper](#jenkinsfile-wrapper) -* [Important product differences](#important-product-differences) -* [Agents vs. Runners](#agents-vs-runners) -* [Groovy vs. YAML](#groovy-vs-yaml) -* [Artifact publishing](#artifact-publishing) -* [Integrated features](#integrated-features) - * [Templates](#templates) -* [Converting a declarative Jenkinsfile](#converting-a-declarative-jenkinsfile) - * [Sections](#sections) - * [`agent`](#agent) - * [`post`](#post) - * [`stages`](#stages) - * [`steps`](#steps) - * [Directives](#directives) - * [`environment`](#environment) - * [`options`](#options) - * [`parameters`](#parameters) - * [`triggers` / `cron`](#triggers--cron) - * [`tools`](#tools) - * [`input`](#input) - * [`when`](#when) - -# Migrating from Jenkins[](#migrating-from-jenkins "Permalink") - -许多 GitLab 用户已经从 Jenkins 成功迁移到 GitLab CI / CD. 为了使您入门时更容易,我们在这里收集了一些您可能会在使用之前可能会发现有用的资源.请将此页面视为" Jenkins 用户的 GitLab CI / CD"指南. - -建议的步骤的以下列表是在观察能够快速完成此迁移的组织之后创建的: - -1. 首先阅读《 GitLab CI / CD [快速入门指南》](../quick_start/README.html)和[重要的产品差异](#important-product-differences) . -2. 了解[管理组织过渡](#managing-the-organizational-transition)的重要性. -3. [将 Runners 添加](../runners/README.html)到您的 GitLab 实例. -4. 教育开发人员并使他们能够在他们的项目中独立执行以下步骤: - 1. 查看《 [快速入门指南](../quick_start/README.html)和[管道配置参考》](../yaml/README.html) . - 2. 使用[Jenkins 包装器](#jenkinsfile-wrapper)暂时维护脆弱的 Jenkins 作业. - 3. 迁移构建和 CI 作业并将其配置为直接在合并请求中显示结果. 他们可以使用[Auto DevOps](../../topics/autodevops/index.html)作为起点,并[根据](../../topics/autodevops/customize.html)需要[自定义](../../topics/autodevops/customize.html)或[分解](../../topics/autodevops/customize.html#using-components-of-auto-devops)配置. - 4. 添加[评论应用](../review_apps/index.html) . - 5. 使用[云部署模板](../cloud_deployment/index.html) ,添加[环境](../environments/index.html)和[部署板](../..//user/project/deploy_boards.html)来迁移部署作业. - 6. 使用 Jenkins 包装器解开仍在运行的所有作业的包装. -5. 盘点所有常见的 CI / CD 作业定义,然后为其创建和共享[模板](#templates) . - -有关如何将 Jenkins 管道转换为 GitLab CI / CD 管道的示例,或如何使用 Auto DevOps 自动测试代码的示例,请观看[从 Jenkins 迁移到 GitLab 的](https://www.youtube.com/watch?v=RlEVGOpYF5Y)视频. - -否则,请继续阅读以获取重要信息,这些信息将帮助您取得成功. 欢迎来到 GitLab! - -如果您有未在此处回答的问题, [GitLab 社区论坛](https://forum.gitlab.com/)将是一个很好的资源. - -## Managing the organizational transition[](#managing-the-organizational-transition "Permalink") - -从詹金斯过渡到 GitLab 的一个重要部分是随之而来的文化和组织变革,并成功地对其进行了管理. 我们发现了一些有助于解决问题的方法: - -* 为您的迁移目标设定并传达清晰的愿景有助于您的用户理解为什么值得付出努力. 当工作完成时,该值将很明显,但是在进行过程中,人们也需要意识到. -* 有关领导团队的赞助和配合有助于上述观点. -* 花时间对用户进行不同的教育,与他们共享此文档等等,将有助于确保您成功. -* 寻找顺序或延迟部分迁移的方法可能会很有帮助,但是您不想让事物长时间处于未迁移(或部分迁移)状态. 要获得 GitLab 的所有好处,仅将现有的 Jenkins 设置转移到原样上(包括任何当前问题)是不够的. 您需要利用 GitLab 提供的改进,这最终需要(最终)更新您的实现. - -## JenkinsFile Wrapper[](#jenkinsfile-wrapper "Permalink") - -我们正在构建一个[JenkinsFile 包装器](https://gitlab.com/gitlab-org/jfr-container-builder/) ,它将允许您在 GitLab 作业(包括插件)中运行完整的 Jenkins 实例. 通过让您将不太紧急的管道的迁移延迟一段时间,可以帮助简化过渡过程. - -如果您有兴趣帮助 GitLab 测试包装器,请加入我们的[公共测试问题](https://gitlab.com/gitlab-org/gitlab/-/issues/215675)以获取说明并提供您的反馈. - -## Important product differences[](#important-product-differences "Permalink") - -值得一提的产品之间存在一些高级差异: - -* 使用 GitLab,您不需要根`pipeline`关键字即可包装所有内容. -* 管道触发和[触发其他管道的](../yaml/README.html#trigger)方式与詹金斯不同. 可以触发 GitLab 管道: - - * 在推 - * on [schedule](../pipelines/schedules.html) - * 从[GitLab UI](../pipelines/index.html#run-a-pipeline-manually) - * by [API call](../triggers/README.html) - * by [webhook](../triggers/README.html#triggering-a-pipeline-from-a-webhook) - * by [ChatOps](../chatops/README.html) -* 您可以使用[`rules`语法](../yaml/README.html#rules)来控制在哪种情况下运行哪些作业,具体取决于触发方式. -* GitLab [管道调度概念](../pipelines/schedules.html)也与 Jenkins 不同. -* 您可以使用[`include`关键字](../yaml/README.html#include)和[模板](#templates)重复使用管道配置. 您的模板可以保存在中央存储库中(具有不同的权限),然后任何项目都可以使用它们. 这个中央项目也可以包含脚本或其他可重用的代码. -* You can also use the [`extends` keyword](../yaml/README.html#extends) to reuse configuration within a single pipeline configuration. -* 单个阶段中的所有作业始终并行运行,并且所有阶段均按顺序运行. 我们计划通过我们的有[向无环图](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/47063)功能允许某些作业根据需要中断此排序. -* [`parallel`](../yaml/README.html#parallel)关键字可以自动并行化任务,例如支持并行化的测试. -* 通常,单个阶段中的所有作业并行运行,并且所有阶段按顺序运行. 有不同的[管道体系结构](../pipelines/pipeline_architectures.html)允许您更改此行为. -* 建议使用新[`rules`语法](../yaml/README.html#rules)控制何时运行不同作业. 它比`only/except`语法更强大. -* 一个重要的区别是,作业彼此独立运行,并且每个作业都具有全新的环境. 使用[`artifacts`](../yaml/README.html#artifacts)和[`dependencies`](../yaml/README.html#dependencies)关键字控制作业之间传递工件. 完成后,计划的[工作区](https://gitlab.com/gitlab-org/gitlab/-/issues/29265)功能将使您能够更轻松地在串行作业之间持久保留公共工作区. -* `.gitlab-ci.yml`文件已签入到存储库的根目录,非常类似于 Jenkinsfile,但采用 YAML 格式(请参阅[完整参考](../yaml/README.html) )而不是 Groovy DSL. 它与声明性 Jenkinsfile 格式最相似. -* 手动批准或登机口可以设置为以下[`when:manual`作业](../yaml/README.html#whenmanual) . 这些还可以利用[`protected environments`](../yaml/README.html#protecting-manual-jobs-premium)来控制谁可以批准它们. -* GitLab 带有[容器注册表](../../user/packages/container_registry/index.html) ,我们建议使用容器映像来设置您的构建环境. 例如,设置一个管道来构建您自己的构建环境,并将其发布到容器注册表. 然后,让您的管道使用此方法,而不是每个管道都使用它们自己的环境,这将变得更慢,并且一致性可能会降低. 我们有大量有关[如何使用 Container Registry 的](../../user/packages/container_registry/index.html)文档. -* 中央实用程序存储库是放置各种计划作业或其他功能类似于实用程序的手动作业的好地方. 詹金斯的装置中往往有一些. - -## Agents vs. Runners[](#agents-vs-runners "Permalink") - -Jenkins 代理和 GitLab Runners 都是运行作业的主机. 要转换 Jenkins 代理,只需将其卸载,然后[安装并注册 Runner](../runners/README.html) . 运行程序不需要太多的开销,因此您可以像使用的 Jenkins 代理一样调整它们的大小. - -与代理相比,Runners 的工作方式存在一些重要差异: - -* 跑步者可以设置为[在实例之间共享,也可以在组级别添加,也可以在项目级别设置](../runners/README.html#types-of-runners) . 他们将从您自动定义的范围中自动选择作业. -* 您还可以[使用标签](../runners/README.html#use-tags-to-limit-the-number-of-jobs-using-the-runner)进行更精细的控制,并将跑步者与特定工作相关联. 例如,您可以将标签用于需要专用,功能更强大或特定硬件的作业. -* GitLab 具有[针对](https://docs.gitlab.com/runner/configuration/autoscale.html) Runner 的[自动缩放功能](https://docs.gitlab.com/runner/configuration/autoscale.html) ,可让您将其配置为根据需要进行设置,并在不进行缩放时进行缩放. 这类似于詹金斯中的临时代理. - -如果您使用的是`gitlab.com` ,则可以利用我们[共享的 Runner](../../user/gitlab_com/index.html#shared-runners) `gitlab.com`来运行作业,而无需置备自己的 Runners. 我们正在研究使它们也[可用于自我管理实例](https://gitlab.com/groups/gitlab-org/-/epics/835) . - -## Groovy vs. YAML[](#groovy-vs-yaml "Permalink") - -Jenkins 管道基于[Groovy](https://s0groovy-lang0org.icopy.site/) ,因此管道规范以代码形式编写. GitLab 的工作方式略有不同,我们使用结构更高级的[YAML](https://yaml.org/)格式,该格式将脚本元素放置在`script:`内部`script:`块与管道规范本身分开. - -这是 GitLab 的优势,因为它有助于使学习曲线更简单地启动和运行,并且避免了一些不受限制的复杂性问题,这些问题会使您的 Jenkinsfile 难以理解和管理. - -就是说,我们当然仍然重视 DRY(不要重复自己)的原则,并希望确保您的工作行为可以被一次编码并根据需要进行应用. 您可以使用`extends:`语法[在您的作业中重用配置](../yaml/README.html#extends) , `include:`可用于在不同项目的管道中[重用管道配置](../yaml/README.html#include) : - -``` -.in-docker: - tags: - - docker - image: alpine - -rspec: - extends: - - .in-docker - script: - - rake rspec -``` - -## Artifact publishing[](#artifact-publishing "Permalink") - -工件的工作方式可能与您与詹金斯一起使用时有所不同. 在 GitLab 中,任何作业都可以使用`artifacts:`关键字定义一组要保存的`artifacts:` . 可以将其配置为指向一个文件或一组文件,然后可以在每个作业之间将其持久化. 阅读更多关于我们详细的[工件文档的信息](../pipelines/job_artifacts.html) : - -``` -pdf: - script: xelatex mycv.tex - artifacts: - paths: - - ./mycv.pdf - - ./output/ - expire_in: 1 week -``` - -此外,我们还具有包管理功能,例如可以利用的内置容器,NPM 和 Maven 注册表. 您可以在[我们的文档](../../README.html#package)的[包装部分中](../../README.html#package)查看打包功能的完整列表(包括指向文档的链接). - -## Integrated features[](#integrated-features "Permalink") - -在 Jenkins 中,您可能曾经使用插件来获得代码质量,单元测试,安全扫描等功能,但 GitLab 充分利用了我们连接的生态系统,将这些结果自动提取到您的合并请求,管道详细信息页面和其他位置. 您可能会发现实际上不需要配置任何内容即可显示这些内容. - -如果它们无法正常工作,或者您想查看可用的[功能](../README.html#feature-set) ,则我们的[CI 功能索引](../README.html#feature-set)将提供捆绑功能的完整列表,并提供每个功能的文档链接. - -### Templates[](#templates "Permalink") - -对于高级 CI / CD 团队,项目模板可以启用管道配置的重用,并鼓励内部采购. - -In self-managed GitLab instances, you can build an [Instance Template Repository](../../user/admin_area/settings/instance_template_repository.html). Development teams across the whole organization can select templates from a dropdown menu. A group administrator is able to set a group to use as the source for the [custom project templates](../../user/admin_area/custom_project_templates.html), which can be used by all projects in the group. An instance administrator can set a group as the source for [instance project templates](../../user/group/custom_project_templates.html), which can be used by projects in that instance. - -## Converting a declarative Jenkinsfile[](#converting-a-declarative-jenkinsfile "Permalink") - -声明性 Jenkinsfile 包含用于控制管道行为的" Sections"和" Directives". GitLab 中有所有这些的等效项,我们在下面对此进行了介绍. - -本节基于[Jenkinsfile 语法文档](https://www.jenkins.io/doc/book/pipeline/syntax/) ,旨在将其中的概念映射到 GitLab 中的概念. - -### Sections[](#sections "Permalink") - -#### `agent`[](#agent "Permalink") - -代理部分用于定义如何执行管道. 对于 GitLab,我们使用[GitLab Runner](../runners/README.html)来提供此功能. 您可以在 Kubernetes 或任何主机上配置自己的运行程序,也可以利用我们的共享运行程序队列(请注意,共享运行程序队列仅适用于 GitLab.com 用户.)以上链接将带您进入说明文档的文档如何快速起步和运行. 我们还支持使用[标签](../runners/README.html#use-tags-to-limit-the-number-of-jobs-using-the-runner)将不同的作业定向到不同的 Runner(执行代理). - -`agent`部分还允许您定义应使用哪些 Docker 映像执行,而我们使用[`image`](../yaml/README.html#image)关键字. 该`image`可以设置在单个作业或顶层,在这种情况下,它将应用于管道中的所有作业: - -``` -my_job: - image: alpine - ... -``` - -#### `post`[](#post "Permalink") - -`post`部分定义了应在管道末尾执行的操作. GitLab 也通过阶段的使用来支持这一点. 您可以按以下方式定义阶段,分配给`before_pipeline`或`after_pipeline`阶段的所有作业都将按预期运行. 您可以根据需要将这些阶段称为: - -``` -stages: - - before_pipeline - - build - - test - - deploy - - after_pipeline -``` - -可以通过[`before_script`和`after_script`关键字](../yaml/README.html#before_script-and-after_script)设置要在任何作业之前和之后执行的步骤: - -``` -default: - before_script: - - echo "I run before any jobs starts in the entire pipeline, and can be responsible for setting up the environment." -``` - -#### `stages`[](#stages "Permalink") - -GitLab CI / CD 也可以让您定义阶段,但是可以自由配置一些. GitLab [`stages`关键字](../yaml/README.html#stages)是一个顶级设置,它枚举了阶段列表,但是您不需要在" `stages`部分下嵌套单个作业. 通过使用[`stage:`关键字,](../yaml/README.html#stage)可以使`.gitlab-ci.yml`定义的任何作业成为任何阶段的一部分. - -请注意,除非另有说明,否则每个管道都以`build` , `test`和`deploy`阶段实例化,并按该顺序运行. 未定义`stage`作业默认情况下放置在`test`阶段. 当然,引用阶段的每个作业都必须引用管道配置中存在的阶段. - -``` -stages: - - build - - test - - deploy - -my_job: - stage: build - ... -``` - -#### `steps`[](#steps "Permalink") - -The `steps` section is equivalent to the [`script` section](../yaml/README.html#script) of an individual job. This is a simple YAML array with each line representing an individual command to be run: - -``` -my_job: - script: - - echo "hello! the current time is:" - - time - ... -``` - -### Directives[](#directives "Permalink") - -#### `environment`[](#environment "Permalink") - -在 GitLab 中,我们使用[`variables`关键字](../yaml/README.html#variables)在运行时定义不同的变量. 这些也可以通过 CI / CD 设置下的 GitLab UI 进行设置. 另请参阅我们[有关变量](../variables/README.html)的[一般文档](../variables/README.html) ,包括有关[受保护变量](../variables/README.html#protect-a-custom-variable)的部分,该部分可用于将对某些变量的访问限制为某些环境或运行程序: - -``` -variables: - POSTGRES_USER: user - POSTGRES_PASSWORD: testing_password -``` - -#### `options`[](#options "Permalink") - -这里,存在与所讨论的对象本身相关联的用于不同事物的选项. 例如,与作业相关的选项是相对于作业本身定义的. 如果您正在寻找某个选项,则应该可以通过搜索[完整的配置参考](../yaml/README.html)页面来找到它的位置. - -#### `parameters`[](#parameters "Permalink") - -GitLab 不需要您定义在开始手动作业时希望可用的变量. 用户可以提供他们喜欢的任何变量. - -#### `triggers` / `cron`[](#triggers--cron "Permalink") - -Because GitLab is integrated tightly with Git, SCM polling options for triggers are not needed. We support an easy to use [syntax for scheduling pipelines](../pipelines/schedules.html). - -#### `tools`[](#tools "Permalink") - -GitLab 不支持单独的`tools`指令. 我们的最佳实践建议是使用预构建的容器映像,该映像可以缓存,并且可以构建为包含管道所需的工具. 可以设置管道以根据需要自动构建这些映像,并将它们部署到[容器注册表中](../../user/packages/container_registry/index.html) . - -如果您没有在 Docker / Kubernetes 上使用容器映像,例如在 Mac 或 FreeBSD 上,则`shell`执行程序确实需要您预先设置环境或作为作业的一部分. 您可以创建一个`before_script`动作来为您处理. - -#### `input`[](#input "Permalink") - -与`parameters`关键字类似,这是不需要的,因为始终可以为运行时变量条目提供手动作业. - -#### `when`[](#when "Permalink") - -GitLab 确实支持[`when`关键字](../yaml/README.html#when) ,用于指示在(或尽管发生)故障的情况下应在何时运行作业,但是大多数用于控制管道的逻辑都可以在我们功能非常强大的[`only/except`规则系统中找到](../yaml/README.html#onlyexcept-basic) (另请参见[高级语法](../yaml/README.html#onlyexcept-basic) ): - -``` -my_job: - only: [branches] -``` \ No newline at end of file diff --git a/docs/207.md b/docs/207.md deleted file mode 100644 index c5403ae..0000000 --- a/docs/207.md +++ /dev/null @@ -1,302 +0,0 @@ -# Auto DevOps - -> 原文:[https://docs.gitlab.com/ee/topics/autodevops/](https://docs.gitlab.com/ee/topics/autodevops/) - -* [Overview](#overview) -* [Enabled by default](#enabled-by-default) -* [Quick start](#quick-start) -* [Comparison to application platforms and PaaS](#comparison-to-application-platforms-and-paas) -* [Features](#features) -* [Auto DevOps base domain](#auto-devops-base-domain) -* [Enabling/Disabling Auto DevOps](#enablingdisabling-auto-devops) - * [At the project level](#at-the-project-level) - * [At the group level](#at-the-group-level) - * [At the instance level (Administrators only)](#at-the-instance-level-administrators-only) - * [Deployment strategy](#deployment-strategy) -* [Using multiple Kubernetes clusters](#using-multiple-kubernetes-clusters-premium) -* [Limitations](#limitations) - * [Private registry support](#private-registry-support) - * [Installing Helm behind a proxy](#installing-helm-behind-a-proxy) -* [Troubleshooting](#troubleshooting) - * [Unable to select a buildpack](#unable-to-select-a-buildpack) - * [Pipeline that extends Auto DevOps with only / except fails](#pipeline-that-extends-auto-devops-with-only--except-fails) - * [Failure to create a Kubernetes namespace](#failure-to-create-a-kubernetes-namespace) - * [Detected an existing PostgreSQL database](#detected-an-existing-postgresql-database) -* [Development guides](#development-guides) - -# Auto DevOps[](#auto-devops "Permalink") - -版本历史 - -* 在 GitLab 10.0 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/37115) . -* 通常在 GitLab 11.0 上可用. - -Auto DevOps provides pre-defined CI/CD configuration allowing you to automatically detect, build, test, deploy, and monitor your applications. Leveraging CI/CD best practices and tools, Auto DevOps aims to simplify the setup and execution of a mature and modern software development lifecycle. - -## Overview[](#overview "Permalink") - -您可以花费大量精力来设置构建,部署和监视项目所需的工作流和流程. 当您的公司要维护数百个(甚至数千个)项目时,情况会变得更糟. 随着新项目的不断启动,整个软件开发过程变得难以管理. - -Auto DevOps 通过自动检测以最小的配置测试,构建,打包,部署和监视每个项目所需的所有依赖关系和语言技术,为您提供了无缝的软件开发过程. 自动化可确保项目之间的一致性,流程的无缝管理以及更快地创建新项目:推送代码,而 GitLab 则完成其余工作,从而提高了生产率和效率. - -有关 Auto DevOps 的介绍, [请在 GitLab 11.0 中](https://youtu.be/0Tc0YYBxqi4)观看[AutoDevOps](https://youtu.be/0Tc0YYBxqi4) . - -有关要求,请参阅[Auto DevOps 要求以](requirements.html)获取更多信息. - -## Enabled by default[](#enabled-by-default "Permalink") - -在 GitLab 11.3 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/41729) . - -默认情况下,所有项目都会启用 Auto DevOps,并尝试在每个项目的所有管道中运行. 实例管理员可以在[Auto DevOps 设置中](../../user/admin_area/settings/continuous_integration.html#auto-devops-core-only)启用或禁用此默认[设置](../../user/admin_area/settings/continuous_integration.html#auto-devops-core-only) . 如果尚未为项目显式启用,Auto DevOps 会在各个项目的第一个管道故障时自动将其禁用. - -从[GitLab 12.7 开始](https://gitlab.com/gitlab-org/gitlab/-/issues/26655) ,仅当存在[`Dockerfile`或匹配的 buildpack](stages.html#auto-build)时,Auto DevOps 才会在管道上自动运行. - -如果项目中存在[CI / CD 配置文件](../../ci/yaml/README.html) ,则无论是否启用了 Auto DevOps,它都将继续使用. - -## Quick start[](#quick-start "Permalink") - -如果您使用的是 GitLab.com,请参阅[快速入门指南](quick_start_guide.html) ,以使用 GitLab.com 和 Google Kubernetes Engine(GKE)上的 Kubernetes 集群设置 Auto DevOps. - -如果使用 GitLab 的自我管理实例,则必须先配置[Google OAuth2 OmniAuth Provider,](../../integration/google.html)然后才能在 GKE 上配置集群. 配置提供程序后,您可以按照[快速入门指南中](quick_start_guide.html)的步骤进行入门. - -In [GitLab 13.0](https://gitlab.com/gitlab-org/gitlab/-/issues/208132) and later, it is possible to leverage Auto DevOps to deploy to [AWS ECS](requirements.html#auto-devops-requirements-for-amazon-ecs). - -## Comparison to application platforms and PaaS[](#comparison-to-application-platforms-and-paas "Permalink") - -Auto DevOps provides features often included in an application platform or a Platform as a Service (PaaS). It takes inspiration from the innovative work done by [Heroku](https://www.heroku.com/) and goes beyond it in multiple ways: - -* Auto DevOps 可与任何 Kubernetes 集群一起使用; 您不仅限于在 GitLab 的基础架构上运行. (请注意,许多功能在没有 Kubernetes 的情况下也可以使用). -* 没有额外的费用(基础设施费用没有加价),您可以在任何公共云(例如[Google Kubernetes Engine](https://cloud.google.com/kubernetes-engine/) )上使用托管的 Kubernetes 群集或容器即服务. -* Auto DevOps 具有更多功能,包括安全测试,性能测试和代码质量测试. -* Auto DevOps 提供增量的毕业路径. 如果需要高级自定义,则可以开始修改模板,而无需在完全不同的平台上重新开始. 查看[定制](customize.html)文档以获取更多信息. - -## Features[](#features "Permalink") - -Auto DevOps 由一组[阶段组成](stages.html) ,以简单,自动的方式为您的项目带来了这些最佳实践: - -1. [Auto Build](stages.html#auto-build) -2. [Auto Test](stages.html#auto-test) -3. [Auto Code Quality](stages.html#auto-code-quality-starter) -4. [Auto SAST (Static Application Security Testing)](stages.html#auto-sast-ultimate) -5. [Auto Secret Detection](stages.html#auto-secret-detection-ultimate) -6. [Auto Dependency Scanning](stages.html#auto-dependency-scanning-ultimate) -7. [Auto License Compliance](stages.html#auto-license-compliance-ultimate) -8. [Auto Container Scanning](stages.html#auto-container-scanning-ultimate) -9. [Auto Review Apps](stages.html#auto-review-apps) -10. [Auto DAST (Dynamic Application Security Testing)](stages.html#auto-dast-ultimate) -11. [Auto Deploy](stages.html#auto-deploy) -12. [Auto Browser Performance Testing](stages.html#auto-browser-performance-testing-premium) -13. [Auto Monitoring](stages.html#auto-monitoring) - -由于 Auto DevOps 依赖于许多不同的组件,因此您应该具有以下基本知识: - -* [Kubernetes](https://kubernetes.io/docs/home/) -* [Helm](https://helm.sh/docs/) -* [Docker](https://s0docs0docker0com.icopy.site) -* [GitLab Runner](https://docs.gitlab.com/runner/) -* [Prometheus](https://s0prometheus0io.icopy.site/docs/introduction/overview/) - -Auto DevOps 为所有阶段提供了出色的默认设置. 但是,您可以[根据](customize.html)需要[自定义](customize.html)几乎所有内容. - -有关创建 Auto DevOps 的概述,请阅读[本博客文章中的](https://about.gitlab.com/blog/2017/06/29/whats-next-for-gitlab-ci/)更多[信息](https://about.gitlab.com/blog/2017/06/29/whats-next-for-gitlab-ci/) . - -**注意** Kubernetes 集群可以[在没有](../../user/project/clusters/index.html) Auto DevOps 的[情况下使用](../../user/project/clusters/index.html) . - -## Auto DevOps base domain[](#auto-devops-base-domain "Permalink") - -必须使用 Auto DevOps 基本域才能使用[Auto Review Apps](stages.html#auto-review-apps) , [Auto Deploy](stages.html#auto-deploy)和[Auto Monitoring](stages.html#auto-monitoring) . 您可以在以下任意位置定义基本域: - -* 在集群的设置下(对于实例, [项目](../../user/project/clusters/index.html#base-domain)还是[组)](../../user/group/clusters/index.html#base-domain) -* 或在项目级别作为变量: `KUBE_INGRESS_BASE_DOMAIN` -* 或在组级别作为变量: `KUBE_INGRESS_BASE_DOMAIN` -* 或作为实例范围的后备 **持续集成和交付**部分下的**管理区域>设置** - -基本域变量`KUBE_INGRESS_BASE_DOMAIN`与其他环境[变量](../../ci/variables/README.html#priority-of-environment-variables)遵循相同的优先级顺序. 如果未设置 CI / CD 变量,并且群集设置为空,则在设置实例范围的**Auto DevOps 域**设置时将使用该设置. - -**提示:**如果您将[GitLab 托管应用程序用于 Ingress](../../user/clusters/applications.html#ingress) ,则应自动为您配置 URL 端点. 您所要做的就是将其值用于`KUBE_INGRESS_BASE_DOMAIN`变量.**注:** `AUTO_DEVOPS_DOMAIN`被[弃用 GitLab 11.8](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/52363) ,取而代之的`KUBE_INGRESS_BASE_DOMAIN` ,并在除去[GitLab 12.0](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/56959) . - -Auto DevOps 需要与基础域匹配的通配符 DNS A 记录. 对于`example.com`的基本域,您需要一个 DNS 条目,例如: - -``` -*.example.com 3600 A 1.2.3.4 -``` - -在这种情况下,已部署的应用程序是从`example.com` ,而`1.2.3.4`是负载均衡器的 IP 地址. 通常为 NGINX( [请参阅要求](#requirements) ). 设置 DNS 记录不在本文档的讨论范围内. 请与您的 DNS 提供商联系以获取信息. - -另外,您可以使用免费的公共服务,例如[nip.io](https://nip.io) ,无需任何配置即可提供自动通配符 DNS. 对于[nip.io](https://nip.io) ,将 Auto DevOps 基本域设置为`1.2.3.4.nip.io` - -完成设置后,所有请求都将到达负载均衡器,该负载均衡器会将请求路由到运行您的应用程序的 Kubernetes Pod. - -## Enabling/Disabling Auto DevOps[](#enablingdisabling-auto-devops "Permalink") - -首次使用 Auto DevOps 时,请查看[要求,](#requirements)以确保可以充分利用 Auto DevOps 的所有必需组件. 初学者应遵循[快速入门指南](quick_start_guide.html) . - -GitLab.com 用户只能在项目级别启用或禁用 Auto DevOps. 自我管理的用户可以在项目,组或实例级别启用或禁用 Auto DevOps. - -### At the project level[](#at-the-project-level "Permalink") - -如果启用,请检查您的项目是否没有`.gitlab-ci.yml` ,或者如果存在,请将其删除. - -1. 转到项目的 **设置> CI / CD>自动 DevOps** . -2. 选中**默认为 Auto DevOps 管道**复选框以启用它. -3. (可选,但建议使用)启用后,您可以在 Auto DevOps 用于[部署应用程序](stages.html#auto-deploy)的[基本域中](#auto-devops-base-domain)添加,并选择[部署策略](#deployment-strategy) . -4. 单击**保存更改**以使更改生效. - -启用该功能后,将在默认分支上触发 Auto DevOps 管道. - -### At the group level[](#at-the-group-level "Permalink") - -在 GitLab 11.10 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/52447) . - -仅管理员和组所有者可以在组级别启用或禁用自动 DevOps. - -在组级别启用或禁用 Auto DevOps 时,除非在子组或项目上专门启用或禁用了 Auto DevOps,否则组配置将隐式用于该组内的子组和项目. - -要在组级别启用或禁用自动 DevOps: - -1. 前往您小组的 **设置> CI / CD>自动 DevOps**页面. -2. 选中**默认为 Auto DevOps 管道**复选框以启用它. -3. 单击**保存更改**以使更改生效. - -### At the instance level (Administrators only)[](#at-the-instance-level-administrators-only "Permalink") - -即使在实例级别被禁用,组所有者和项目维护者仍可以分别在组和项目级别启用 Auto DevOps. - -1. 去 **管理区域>设置>持续集成和部署** . -2. **为所有项目**选择" **默认为自动 DevOps 管道"**以启用它. -3. (可选)您可以设置 Auto DevOps [基本域](#auto-devops-base-domain) ,以供 Auto Deploy 和 Auto Review Apps 使用. -4. 单击**保存更改**以使更改生效. - -### Deployment strategy[](#deployment-strategy "Permalink") - -在 GitLab 11.0 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/38542) . - -您可以转到项目的目录,更改 Auto DevOps 使用的部署策略. **设置> CI / CD>自动 DevOps** . 提供以下选项: - -* **持续部署到生产中** :启用将`master`分支直接部署到生产中的[自动部署](stages.html#auto-deploy) . -* **使用定时增量部署连续部署到生产中** :将[`INCREMENTAL_ROLLOUT_MODE`](customize.html#timed-incremental-rollout-to-production-premium)变量设置为`timed` . 生产部署在每次部署增量之间有 5 分钟的延迟执行. -* **自动部署到登台,手动部署到生产** :将[`STAGING_ENABLED`](customize.html#deploy-policy-for-staging-and-production-environments)和[`INCREMENTAL_ROLLOUT_MODE`](customize.html#incremental-rollout-to-production-premium)变量设置为`1`并`manual` . 这表示: - - * `master`分支直接部署到登台. - * 提供了手动操作以逐步推广到生产中. - -**提示:**使用[蓝绿色部署](../../ci/environments/incremental_rollouts.html#blue-green-deployment)技术可最大程度地减少停机时间和风险. - -## Using multiple Kubernetes clusters[](#using-multiple-kubernetes-clusters-premium "Permalink") - -使用 Auto DevOps 时,由于[它们之间存在](../../user/project/clusters/index.html#multiple-kubernetes-clusters-premium) 1:1 连接,因此可以将不同的环境部署到不同的 Kubernetes 集群. - -Auto DevOps 使用的" [部署作业"模板](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Jobs/Deploy.gitlab-ci.yml)当前定义了 3 个环境名称: - -* `review/` (从`review/`开始的所有环境`review/` ) -* `staging` -* `production` - -这些环境使用[Auto Deploy](stages.html#auto-deploy)与作业绑定,因此,除了环境范围外,它们必须具有不同的部署域. 您必须[根据环境](../../ci/variables/README.html#limit-the-environment-scopes-of-environment-variables)为上述每个项定义一个单独的`KUBE_INGRESS_BASE_DOMAIN`变量. - -下表是如何配置三个不同群集的示例: - -| 集群名称 | 集群环境范围 | `KUBE_INGRESS_BASE_DOMAIN`变量值 | 可变环境范围 | Notes | -| --- | --- | --- | --- | --- | -| review | `review/*` | `review.example.com` | `review/*` | 运行所有[Review Apps](../../ci/review_apps/index.html)的评论集群. `*`是一个通配符,每个环境名称都以`review/`开头使用. | -| staging | `staging` | `staging.example.com` | `staging` | (可选)运行临时环境的部署的临时集群. 您必须先[启用它](customize.html#deploy-policy-for-staging-and-production-environments) . | -| production | `production` | `example.com` | `production` | 运行生产环境部署的生产集群. 您可以使用[增量卷展栏](customize.html#incremental-rollout-to-production-premium) . | - -为每个环境添加不同的集群: - -1. 导航到您项目的 **运营> Kubernetes** . -2. 如上表所述,使用各自的环境范围创建 Kubernetes 集群. -3. 创建集群后,导航至每个集群并安装 Helm Tiller 和 Ingress. 等待分配入口 IP 地址. -4. 确保已使用指定的 Auto DevOps 域[配置 DNS](#auto-devops-base-domain) . -5. 导航到每个集群的页面,方法是 **操作> Kubernetes** ,然后根据其入口 IP 地址添加域. - -完成配置后,您可以通过创建合并请求并验证您的应用程序是否已作为具有 Review `review/*`环境范围的 Kubernetes 集群中的 Review App 部署来测试设置. 同样,您可以检查其他环境. - -## Limitations[](#limitations "Permalink") - -以下限制适用. - -### Private registry support[](#private-registry-support "Permalink") - -没有记录的将私有容器注册表与 Auto DevOps 结合使用的方式. 我们强烈建议将 GitLab 容器注册表与 Auto DevOps 结合使用,以简化配置并防止任何不可预见的问题. - -### Installing Helm behind a proxy[](#installing-helm-behind-a-proxy "Permalink") - -当在代理后面时,GitLab 不支持将[Helm 作为 GitLab 管理的应用程序](../../user/clusters/applications.html#helm)安装. 想要这样做的用户必须在运行时将其代理设置注入到安装 Pod 中,例如使用[`PodPreset`](https://kubernetes.io/docs/concepts/workloads/pods/podpreset/) : - -``` -apiVersion: settings.k8s.io/v1alpha1 -kind: PodPreset -metadata: - name: gitlab-managed-apps-default-proxy - namespace: gitlab-managed-apps -spec: - env: - - name: http_proxy - value: "PUT_YOUR_HTTP_PROXY_HERE" - - name: https_proxy - value: "PUT_YOUR_HTTPS_PROXY_HERE" -``` - -## Troubleshooting[](#troubleshooting "Permalink") - -### Unable to select a buildpack[](#unable-to-select-a-buildpack "Permalink") - -自动构建和自动测试可能无法检测到您的语言或框架,并出现以下错误: - -``` -Step 5/11 : RUN /bin/herokuish buildpack build - ---> Running in eb468cd46085 - -----> Unable to select a buildpack -The command '/bin/sh -c /bin/herokuish buildpack build' returned a non-zero code: 1 -``` - -以下是可能的原因: - -* 您的应用程序可能缺少 buildpack 寻找的关键文件. Ruby 应用程序需要正确检测`Gemfile` ,即使编写不带`Gemfile`的 Ruby 应用程序也是`Gemfile` . -* 您的应用程序可能不存在 buildpack. 尝试指定[自定义 buildpack](customize.html#custom-buildpacks) . - -### Pipeline that extends Auto DevOps with only / except fails[](#pipeline-that-extends-auto-devops-with-only--except-fails "Permalink") - -如果您的管道失败并显示以下消息: - -``` -Found errors in your .gitlab-ci.yml: - - jobs:test config key may not be used with `rules`: only -``` - -当包含作业的规则配置已被`only`或`except`语法覆盖时,将出现此错误. 要解决此问题,您必须: - -* 将您的`only/except`语法转换为规则. -* (临时)将模板固定到[基于 GitLab 12.10 的模板](https://gitlab.com/gitlab-org/auto-devops-v12-10) . - -### Failure to create a Kubernetes namespace[](#failure-to-create-a-kubernetes-namespace "Permalink") - -如果 GitLab 无法为您的项目创建 Kubernetes 命名空间和服务帐户,则 Auto Deploy 将失败. 有关调试此问题的帮助,请参阅[对失败的部署作业进行故障排除](../../user/project/clusters/index.html#troubleshooting) . - -### Detected an existing PostgreSQL database[](#detected-an-existing-postgresql-database "Permalink") - -升级到 GitLab 13.0 后,使用 Auto DevOps 部署时可能会遇到以下消息: - -> 检测到已安装在不赞成使用的通道 1 上的现有 PostgreSQL 数据库,但当前通道设置为 2.在 GitLab 13.0 中,默认通道更改为 2\. […] - -默认情况下,Auto DevOps 会在应用程序旁边安装集群内 PostgreSQL 数据库. 在 GitLab 13.0 中更改了默认安装方法,并且升级现有数据库需要用户参与. 两种安装方法是: - -* **通道 1(不建议使用):**作为关联的 Helm 图表的依赖项拉入数据库. 只支持 Kubernetes 版本 1.15 之前的版本. -* **通道 2(当前):**将数据库安装为独立的 Helm 图表. 将集群内数据库功能与 Kubernetes 1.16 及更高版本一起使用时是必需的. - -如果收到此错误,则可以执行以下操作之一: - -* 通过将`AUTO_DEVOPS_POSTGRES_CHANNEL`设置为`1`并重新部署,可以*放心地*忽略该警告并继续使用通道 1 PostgreSQL 数据库. - -* 通过将`AUTO_DEVOPS_POSTGRES_DELETE_V1`设置为非空值并重新部署,可以删除通道 1 PostgreSQL 数据库并安装新的通道 2 数据库. - - **危险:**删除通道 1 PostgreSQL 数据库将永久删除现有的通道 1 数据库及其所有数据. 有关备份和升级数据库的更多信息,请参见[升级 PostgreSQL](upgrading_postgresql.html) . -* 如果不使用集群内数据库,则可以将`POSTGRES_ENABLED`设置为`false`并重新部署. 此选项与*没有图表内 PostgreSQL 依赖项*的*自定义图表的*用户特别相关. 数据库自动检测基于您的发行版的`postgresql.enabled` Helm 值. 该值是基于`POSTGRES_ENABLED` CI 变量设置的,并且由 Helm 保留,无论您的图表是否使用该变量. - -**危险:**将`POSTGRES_ENABLED`设置为`false`永久删除您环境中的任何现有通道 1 数据库. - -## Development guides[](#development-guides "Permalink") - -[Development guide for Auto DevOps](../../development/auto_devops.html) \ No newline at end of file diff --git a/docs/208.md b/docs/208.md deleted file mode 100644 index a9e705c..0000000 --- a/docs/208.md +++ /dev/null @@ -1,214 +0,0 @@ -# Getting started with Auto DevOps - -> 原文:[https://docs.gitlab.com/ee/topics/autodevops/quick_start_guide.html](https://docs.gitlab.com/ee/topics/autodevops/quick_start_guide.html) - -* [Configure your Google account](#configure-your-google-account) -* [Create a new project from a template](#create-a-new-project-from-a-template) -* [Create a Kubernetes cluster from within GitLab](#create-a-kubernetes-cluster-from-within-gitlab) -* [Install Ingress and Prometheus](#install-ingress-and-prometheus) -* [Enable Auto DevOps (optional)](#enable-auto-devops-optional) -* [Deploy the application](#deploy-the-application) - * [Monitor your project](#monitor-your-project) - * [Work with branches](#work-with-branches) -* [Conclusion](#conclusion) - -# Getting started with Auto DevOps[](#getting-started-with-auto-devops "Permalink") - -本分步指南将帮助您使用[Auto DevOps](index.html)将 GitLab.com 上托管的项目部署到 Google Kubernetes Engine. - -您将使用 GitLab 的本地 Kubernetes 集成,因此您无需使用 Google Cloud Platform 控制台手动创建 Kubernetes 集群. 您将创建并部署一个从 GitLab 模板创建的简单应用程序. - -这些说明也适用于自我管理的 GitLab 实例; 您只需要确保[配置了](../../ci/runners/README.html)自己的[Runners](../../ci/runners/README.html)并[启用了 Google OAuth](../../integration/google.html) . - -## Configure your Google account[](#configure-your-google-account "Permalink") - -在创建 Kubernetes 集群并将其连接到 GitLab 项目之前,您需要一个[Google Cloud Platform 帐户](https://console.cloud.google.com) . 使用现有的 Google 帐户登录,例如用于访问 Gmail 或 Google 云端硬盘的帐户,或创建一个新帐户. - -1. 请按照 Kubernetes Engine 文档的["开始之前"一节](https://cloud.google.com/kubernetes-engine/docs/quickstart#before-you-begin)中描述的步骤来启用所需的 API 和相关服务. -2. 确保您已使用 Google Cloud Platform 创建了一个[结算帐户](https://cloud.google.com/billing/docs/how-to/manage-billing-account) . - -**提示:**每个新的 Google Cloud Platform(GCP)帐户都会获得[$ 300 的信用额](https://console.cloud.google.com/freetrial) ,并且与 Google 合作,GitLab 能够为新的 GCP 帐户提供额外的$ 200,以开始使用 GitLab 的 Google Kubernetes Engine Integration. [点击此链接](https://cloud.google.com/partners/partnercredit/?pcn_code=0014M00001h35gDQAQ#contact-form)并申请信用. - -## Create a new project from a template[](#create-a-new-project-from-a-template "Permalink") - -我们将使用 GitLab 的项目模板之一来开始. 顾名思义,这些项目提供了基于某些知名框架的准系统应用程序. - -1. 在 GitLab 中,单击加号( ),然后选择**新建项目** . -2. 转到**从模板创建**选项卡,您可以在其中选择 Ruby on Rails,Spring 或 NodeJS Express 项目. 对于本教程,请使用 Ruby on Rails 模板. - - [![Select project template](img/db0b9c2164464a7b2e1772c54232681a.png)](img/guide_project_template_v12_3.png) - -3. 给您的项目起一个名字,或者选择一个描述,并将其公开,以便您可以利用[GitLab Gold 计划](https://about.gitlab.com/pricing/#gitlab-com)中的可用功能. - - [![Create project](img/0991c603daeaefcd2df14e098fa66ea4.png)](img/guide_create_project_v12_3.png) - -4. Click **建立专案**. - -现在,您已经创建了一个项目,接下来将创建 Kubernetes 集群以将该项目部署到该集群. - -## Create a Kubernetes cluster from within GitLab[](#create-a-kubernetes-cluster-from-within-gitlab "Permalink") - -1. 在项目的登录页面上,单击**添加 Kubernetes 集群** (请注意,当您导航到 **操作> Kubernetes** ). - - [![Project landing page](img/0bef311ef1713ebb246577aeaaa012c3.png)](img/guide_project_landing_page_v12_10.png) - -2. 在" **添加 Kubernetes 集群集成"**页面上,单击" **创建新集群"**选项卡,然后单击" **Google GKE"** . - -3. 与您的 Google 帐户关联,然后单击" **允许"**以允许访问您的 Google 帐户. (此授权请求仅在您第一次将 GitLab 与您的 Google 帐户连接时显示.) - - 授权访问后,将显示" **添加 Kubernetes 集群集成"**页面. - -4. 在**输入 Kubernetes 集群的详细信息**部分中,提供有关集群的详细信息: - - * **Kubernetes cluster name** - * **环境范围** -保留此字段不变. - * **Google Cloud Platform 项目** -选择一个项目. 在[配置 Google 帐户后](#configure-your-google-account) ,应该已经为您创建了一个项目. - * **区域** -要在其中创建群集的[区域/区域](https://cloud.google.com/compute/docs/regions-zones/) . - * **节点数** - * **机器类型** -有关[机器类型的](https://cloud.google.com/compute/docs/machine-types)更多信息,请参阅 Google 文档. - * **为 Anthos 启用 Cloud Run-**选中此复选框以对该集群使用[Cloud Run](../../user/project/clusters/add_gke_clusters.html#cloud-run-for-anthos) ,Istio 和 HTTP Load Balancing 加载项. - * **由 GitLab 管理的群集** -选中此复选框以[允许 GitLab 管理](../../user/project/clusters/index.html#gitlab-managed-clusters)该群集的[名称空间和服务帐户](../../user/project/clusters/index.html#gitlab-managed-clusters) . -5. Click **创建一个 Kubernetes 集群**. - -几分钟后,将创建集群. 您还可以在[GCP 仪表板上](https://console.cloud.google.com/kubernetes)查看其状态. - -接下来,您将在群集上安装一些需要充分利用 Auto DevOps 的应用程序. - -## Install Ingress and Prometheus[](#install-ingress-and-prometheus "Permalink") - -集群运行后,您可以安装第一个应用程序. 在本指南中,我们将安装 Ingress 和 Prometheus: - -* 入口-在后台使用 NGINX 提供负载平衡,SSL 终止和基于名称的虚拟主机. -* Prometheus-一种用于监视已部署应用程序的开源监视和警报系统. - -**注意:**我们不会在此快速入门指南中安装 GitLab Runner,因为该指南使用了 GitLab.com 提供的共享 Runners. - -要安装应用程序: - -* 单击**Ingress**的**安装**按钮. -* 显示**入口端点时** ,复制 IP 地址. -* 添加您的**基本域** . 对于本指南,我们将使用 GitLab 建议的域. -* Click **保存更改**. - -[![Cluster Base Domain](img/3b33bfa40900241891ce4c916e441a22.png)](img/guide_base_domain_v12_3.png) - -## Enable Auto DevOps (optional)[](#enable-auto-devops-optional "Permalink") - -默认情况下启用 Auto DevOps 时,可以在实例级别(对于自我管理的实例)和组级别禁用 Auto DevOps. 完成以下步骤以启用 Auto DevOps(如果已禁用): - -1. 导航 **设置> CI / CD>自动 DevOps** ,然后点击**扩展** . -2. 选择**默认为自动 DevOps 管道**以显示更多选项. -3. 在" **部署策略"中** ,选择所需的[连续部署策略](index.html#deployment-strategy) ,以在管道成功在`master`分支上运行之后将应用程序部署到生产中. -4. Click **保存更改**. - - [![Auto DevOps settings](img/80a62bce7846a67c7743ef7324a58757.png)](img/guide_enable_autodevops_v12_3.png) - -保存更改后,GitLab 将创建一个新管道. 要查看它,请转到 **CI / CD>管道** . - -在下一节中,我们将解释管道中每个作业的作用. - -## Deploy the application[](#deploy-the-application "Permalink") - -当管道运行时,它在做什么? - -要查看管道中的作业,请单击管道的状态标记. 的 图标在管道作业运行时显示,并在不刷新页面的情况下进行更新 (成功)或 (失败)作业完成时. - -作业分为以下几个阶段: - -[![Pipeline stages](img/bc03121106ba9696b67a617d6aeb3878.png)](img/guide_pipeline_stages_v13_0.png) - -* **构建** -应用程序将构建 Docker 映像并将其上传到项目的[Container Registry](../../user/packages/container_registry/index.html) ( [Auto Build](stages.html#auto-build) ). -* **测试** -GitLab 在应用程序上运行各种检查: - - * `test`作业通过检测语言和框架来运行单元测试和集成测试( [自动测试](stages.html#auto-test) ) - * `code_quality`作业检查代码质量,并允许失败( [自动代码质量](stages.html#auto-code-quality-starter) ) - * `container_scanning`作业检查 Docker 容器是否存在任何漏洞并被允许失败( [自动容器扫描](stages.html#auto-container-scanning-ultimate) ) - * `dependency_scanning`作业检查应用程序是否具有易受漏洞影响的任何依赖关系,并允许其失败( [自动依赖关系扫描](stages.html#auto-dependency-scanning-ultimate) ) - * 后缀为`-sast`作业在当前代码上运行静态分析,以检查潜在的安全问题,并允许其失败( [Auto SAST](stages.html#auto-sast-ultimate) ) - * `secret-detection`作业会检查泄漏的机密并允许其失败( [自动机密检测](stages.html#auto-secret-detection-ultimate) ) - * `license_management`作业搜索应用程序的依存关系,以确定其每个许可证并被允许失败( [自动许可证合规](stages.html#auto-license-compliance-ultimate) )**注意:**除`test`外,所有作业均允许在测试阶段失败. -* **回顾** -对输水管道`master`包括这个阶段有`dast_environment_deploy`工作. 要了解更多信息,请参阅[动态应用程序安全性测试(DAST)](../../user/application_security/dast/index.html) . - -* **生产** -测试和检查完成后,该应用程序将在 Kubernetes 中进行部署( [Auto Deploy](stages.html#auto-deploy) ). - -* **性能** -性能测试在已部署的应用程序上运行( [自动浏览器性能测试](stages.html#auto-browser-performance-testing-premium) ). - -* **清理** -对输水管道`master`包括这个阶段有`stop_dast_environment`工作. - -在运行管道之后,您应该查看已部署的网站并学习如何对其进行监视. - -### Monitor your project[](#monitor-your-project "Permalink") - -成功部署您的应用程序后,您可以通过导航到" **环境"**页面来查看其网站并检查其运行状况. **运营>环境** . 该页面显示有关已部署应用程序的详细信息,右侧列显示将您链接到常见环境任务的图标: - -[![Environments](img/c2b9039967ef1a229c8db9d7542591fb.png)](img/guide_environments_v12_3.png) - -* **开放的现场环境** ( )-打开生产环境中部署的应用程序的 URL -* **Monitoring** () - Opens the metrics page where Prometheus collects data about the Kubernetes cluster and how the application affects it in terms of memory usage, CPU usage, and latency -* **部署到** ( )-显示可以部署到的环境的列表 -* **终端** ( )-在运行应用程序的容器内打开[Web 终端](../../ci/environments/index.html#web-terminals)会话 -* **重新部署到环境** ( )-有关更多信息,请参阅[重试和回滚](../../ci/environments/index.html#retrying-and-rolling-back) -* **停止环境** ( )-有关更多信息,请参阅[停止环境](../../ci/environments/index.html#stopping-an-environment) - -GitLab 在环境信息下方显示[部署板](../../user/project/deploy_boards.html) ,并用正方形表示 Kubernetes 集群中的 Pod,并用颜色编码以显示其状态. 将鼠标悬停在部署板上的正方形上会显示部署的状态,单击该正方形会将您带到窗格的日志页面. - -**提示:**该示例目前仅显示一个托管应用程序的 Pod,但是您可以通过在以下[`REPLICAS`](customize.html#environment-variables)定义[`REPLICAS`变量](customize.html#environment-variables)来添加更多 Pod **设置> CI / CD>环境变量** . - -### Work with branches[](#work-with-branches "Permalink") - -按照[GitLab 流程](../gitlab_flow.html#working-with-feature-branches) ,您接下来应该创建一个功能分支以向您的应用程序添加内容: - -1. 在项目的存储库中,导航到以下文件: `app/views/welcome/index.html.erb` . 该文件应仅包含一个段落: `<p>You're on Rails!</p>` . -2. 打开 GitLab [Web IDE](../../user/project/web_ide/index.html)进行更改. -3. 编辑文件,使其包含: - - ``` - <p>You're on Rails! Powered by GitLab Auto DevOps.</p> - ``` - -4. 暂存文件. 添加提交消息,然后通过单击**Commit**创建一个新分支和一个合并请求. - - [![Web IDE commit](img/d8baae909b3683bffff327402580132f.png)](img/guide_ide_commit_v12_3.png) - -提交合并请求后,GitLab 运行你的管道,而在这一切的工作,如[前文所述](#deploy-the-application) ,除了仅在比其他分支多跑几个`master` . - -[![Merge request](img/161780e2fab1ff78247b22985553ba96.png)](img/guide_merge_request_v12_3.png) - -几分钟后,您会注意到测试失败,这意味着您的更改"破坏了"测试. 单击失败的`test`作业以查看有关它的更多信息: - -``` -Failure: -WelcomeControllerTest#test_should_get_index [/app/test/controllers/welcome_controller_test.rb:7]: -<You're on Rails!> expected but was -<You're on Rails! Powered by GitLab Auto DevOps.>.. -Expected 0 to be >= 1. - -bin/rails test test/controllers/welcome_controller_test.rb:4 -``` - -要修复损坏的测试: - -1. 返回到合并请求的" **概述"**页面,然后单击" **在 Web IDE 中打开"** . -2. 在文件的左侧目录中,找到`test/controllers/welcome_controller_test.rb`文件,然后单击将其打开. -3. 更改第 7 行,说" `You're on Rails! Powered by GitLab Auto DevOps.` `You're on Rails! Powered by GitLab Auto DevOps.` -4. Click **Commit**. -5. 在左侧列的"未**分段的更改"下** ,单击选中标记图标( )进行更改. -6. 编写提交消息,然后单击**提交** . - -返回到合并请求的" **概述"**页面,您不仅应该看到测试通过,而且应该看到部署为[审阅应用程序的应用程序](stages.html#auto-review-apps) . 您可以通过单击**查看应用程序**来访问它 按钮以查看已部署的更改. - -[![Review app](img/afdb4890858bdb916f8a393b22b8ef96.png)](img/guide_merge_request_review_app_v12_3.png) - -合并合并请求后,GitLab 在`master`分支上运行管道,然后将应用程序部署到生产环境. - -## Conclusion[](#conclusion "Permalink") - -实施该项目之后,您应该对 Auto DevOps 的基础有深入的了解. 您从构建和测试开始,到在 GitLab 中全部部署和监视应用程序. 尽管具有自动特性,但也可以配置和自定义 Auto DevOps 以适合您的工作流程. 以下是一些有用的资源,供您进一步阅读: - -1. [Auto DevOps](index.html) -2. [Multiple Kubernetes clusters](index.html#using-multiple-kubernetes-clusters) -3. [Incremental rollout to production](customize.html#incremental-rollout-to-production-premium) -4. [Disable jobs you don’t need with environment variables](customize.html#environment-variables) -5. [Use a static IP for your cluster](../../user/clusters/applications.html#using-a-static-ip) -6. [Use your own buildpacks to build your application](customize.html#custom-buildpacks) -7. [Prometheus monitoring](../../user/project/integrations/prometheus.html) \ No newline at end of file diff --git a/docs/209.md b/docs/209.md deleted file mode 100644 index 9897a69..0000000 --- a/docs/209.md +++ /dev/null @@ -1,73 +0,0 @@ -# Requirements for Auto DevOps - -> 原文:[https://docs.gitlab.com/ee/topics/autodevops/requirements.html](https://docs.gitlab.com/ee/topics/autodevops/requirements.html) - -* [Auto DevOps requirements for Kubernetes](#auto-devops-requirements-for-kubernetes) -* [Auto DevOps requirements for Amazon ECS](#auto-devops-requirements-for-amazon-ecs) - -# Requirements for Auto DevOps[](#requirements-for-auto-devops "Permalink") - -您可以为[Kubernetes](#auto-devops-requirements-for-kubernetes)或[Amazon Elastic Container Service(ECS)](#auto-devops-requirements-for-amazon-ecs)设置 Auto DevOps. 有关 Auto DevOps 的更多信息,请参见[Auto DevOps 主页](index.html)或[快速入门指南](quick_start_guide.html) . - -## Auto DevOps requirements for Kubernetes[](#auto-devops-requirements-for-kubernetes "Permalink") - -要充分利用 Auto DevOps 和 Kubernetes,您需要: - -* **Kubernetes** (用于[自动审阅应用程序](stages.html#auto-review-apps) , [自动部署](stages.html#auto-deploy)和[自动监视](stages.html#auto-monitoring) ) - - 要启用部署,您需要: - - 1. 您的项目的[Kubernetes 1.12+集群](../../user/project/clusters/index.html) . 最简单的方法是[使用 GitLab UI](../../user/project/clusters/add_remove_clusters.html#create-new-cluster)创建[新集群](../../user/project/clusters/add_remove_clusters.html#create-new-cluster) . 对于 Kubernetes 1.16+群集,您必须为[Auto Deploy for Kubernetes 1.16+](stages.html#kubernetes-116)执行附加配置. - 2. NGINX 入口. 在上一步中配置了 GitLab 的 Kubernetes 集成之后,可以通过安装[用于 Ingress](../../user/clusters/applications.html#ingress)的[GitLab 托管的应用程序,](../../user/clusters/applications.html#ingress)将其部署到 Kubernetes 集群中. - - 另外,您可以使用[`nginx-ingress`](https://github.com/helm/charts/tree/master/stable/nginx-ingress) Helm 图表手动安装 Ingress. - - **注意:**如果您使用自己的 Ingress 而不是 GitLab 托管应用程序提供的 Ingress,请确保您至少运行的是 NGINX Ingress 0.9.0 版,并[启用 Prometheus](https://github.com/helm/charts/tree/master/stable/nginx-ingress#prometheus-metrics)指标以显示响应指标. 您还必须使用`prometheus.io/scrape: "true"`和`prometheus.io/port: "10254"` [注释](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/)由 Prometheus 抓取的 NGINX Ingress 部署. -* **基本域** (用于[自动审阅应用程序](stages.html#auto-review-apps) , [自动部署](stages.html#auto-deploy)和[自动监视](stages.html#auto-monitoring) ) - - 您需要一个配置了通配符 DNS 的域,所有您的 Auto DevOps 应用程序都将使用该域. 如果您使用的是[GitLab 托管的 Ingress 应用程序](../../user/clusters/applications.html#ingress) ,则会自动为您配置 URL 端点. - - 您还必须[指定 Auto DevOps 基本域](index.html#auto-devops-base-domain) . - -* **GitLab Runner** (所有阶段) - - 必须将 Runner 配置为运行 Docker,通常使用[Docker](https://docs.gitlab.com/runner/executors/docker.html)或[Kubernetes](https://docs.gitlab.com/runner/executors/kubernetes.html)执行程序,并[启用特权模式](https://docs.gitlab.com/runner/executors/docker.html) . Runner 不需要安装在 Kubernetes 集群中,但是 Kubernetes 执行器易于使用,并且可以自动缩放. 您还可以使用[Docker Machine 将](https://docs.gitlab.com/runner/install/autoscaling.html)基于 Docker 的 Runner 配置为自动缩放. - - 如果您在第一步中配置了 GitLab 的 Kubernetes 集成,则可以通过[为 GitLab Runner](../../user/clusters/applications.html#gitlab-runner)安装由[GitLab 管理的应用程序](../../user/clusters/applications.html#gitlab-runner)将其部署到集群中. - - 运动员应注册为[共享亚军](../../ci/runners/README.html#shared-runners)整个 GitLab 实例或[特定的运动员](../../ci/runners/README.html#specific-runners)被分配到具体项目(默认值,如果你已经安装了 GitLab 亚军管理应用程序). - -* **Prometheus** (for [Auto Monitoring](stages.html#auto-monitoring)) - - 要启用自动监控,您需要在集群内部或外部安装 Prometheus,并配置为刮取 Kubernetes 集群. 如果已经配置了 GitLab 的 Kubernetes 集成,则可以通过安装[Prometheus](../../user/clusters/applications.html#prometheus)的[GitLab 托管的应用程序](../../user/clusters/applications.html#prometheus)将其部署到集群中. - - 必须为项目启用[Prometheus 服务](../../user/project/integrations/prometheus.html)集成,或者将其作为整个 GitLab 安装的[默认服务模板](../../user/project/integrations/services_templates.html)启用. - - 要获取响应指标(除了系统指标之外),您必须[配置 Prometheus 来监视 NGINX](../../user/project/integrations/prometheus_library/nginx_ingress.html#configuring-nginx-ingress-monitoring) . - -* **cert-manager** (可选,用于 TLS / HTTPS) - - 要为您的应用程序启用 HTTPS 端点,必须安装 cert-manager,这是一个本地 Kubernetes 证书管理控制器,可帮助颁发证书. 在您的群集上安装 cert-manager 会发出[Let's Encrypt](https://letsencrypt.org/)证书,并确保证书有效和最新. 如果已经配置了 GitLab 的 Kubernetes 集成,则可以通过安装[GitLab 托管的 cert-manager 应用程序](../../user/clusters/applications.html#cert-manager)将其部署到集群中. - -如果您没有安装 Kubernetes 或 Prometheus,则将跳过[Auto Review Apps](stages.html#auto-review-apps) , [Auto Deploy](stages.html#auto-deploy)和[Auto Monitoring](stages.html#auto-monitoring) . - -满足所有要求后,您可以[启用 Auto DevOps](index.html#enablingdisabling-auto-devops) . - -## Auto DevOps requirements for Amazon ECS[](#auto-devops-requirements-for-amazon-ecs "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/208132) in GitLab 13.0. - -您可以选择将[AWS ECS](../../ci/cloud_deployment/index.html)定位为部署平台,而不是使用 Kubernetes. - -要开始使用针对 AWS ECS 的 Auto DevOps,您必须添加特定的环境变量. 这样做,请按照下列步骤操作: - -1. 在您的项目中,转到**"设置">" CI / CD",**然后展开" **变量"**部分. - -2. 通过添加具有以下值之一的`AUTO_DEVOPS_PLATFORM_TARGET`变量,指定在 Auto DevOps 部署期间要定位的 AWS 平台: - - * `FARGATE`如果您的目标服务必须启动类型 FARGATE 的. - * `ECS`如果部署到 ECS,当你不执行任何启动类型检查. - -触发管道时,如果启用了 Auto DevOps 且已正确[输入 AWS 凭证作为环境变量](../../ci/cloud_deployment/index.html#deploy-your-application-to-the-aws-elastic-container-service-ecs) ,则您的应用程序将部署到 AWS ECS. - -**注意:**部署到 AWS ECS 时, [GitLab 托管应用程序](../../user/clusters/applications.html)不可用. 您必须在 AWS ECS 上手动配置应用程序(例如 Ingress 或 Help).**注意:**如果您同时具有有效的`AUTO_DEVOPS_PLATFORM_TARGET`变量和与项目绑定的 Kubernetes 集群,则仅运行 Kubernetes 的部署.**警告:**将`AUTO_DEVOPS_PLATFORM_TARGET`变量设置为`ECS`将触发[`Jobs/Deploy/ECS.gitlab-ci.yml`模板中](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Jobs/Deploy/ECS.gitlab-ci.yml)定义的[`Jobs/Deploy/ECS.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Jobs/Deploy/ECS.gitlab-ci.yml) . 但是,不建议单独[包含](../../ci/yaml/README.html#includetemplate)它. 该模板仅设计用于 Auto DevOps. 如果单独包含它,它可能会发生意外更改,从而导致您的管道失败. 同样,此模板中的作业名称也可能会更改. 不要在自己的管道中覆盖这些作业的名称,因为当名称更改时,覆盖将停止工作. \ No newline at end of file diff --git a/docs/210.md b/docs/210.md deleted file mode 100644 index 907af70..0000000 --- a/docs/210.md +++ /dev/null @@ -1,471 +0,0 @@ -# Customizing Auto DevOps - -> 原文:[https://docs.gitlab.com/ee/topics/autodevops/customize.html](https://docs.gitlab.com/ee/topics/autodevops/customize.html) - -* [Custom buildpacks](#custom-buildpacks) - * [Multiple buildpacks](#multiple-buildpacks) -* [Custom `Dockerfile`](#custom-dockerfile) -* [Passing arguments to `docker build`](#passing-arguments-to-docker-build) -* [Forward CI variables to the build environment](#forward-ci-variables-to-the-build-environment) -* [Custom Helm Chart](#custom-helm-chart) -* [Customize values for Helm Chart](#customize-values-for-helm-chart) -* [Custom Helm chart per environment](#custom-helm-chart-per-environment) -* [Customizing `.gitlab-ci.yml`](#customizing-gitlab-ciyml) -* [Customizing the Kubernetes namespace](#customizing-the-kubernetes-namespace) -* [Using components of Auto DevOps](#using-components-of-auto-devops) -* [PostgreSQL database support](#postgresql-database-support) - * [Upgrading PostgresSQL](#upgrading-postgressql) - * [Using external PostgreSQL database providers](#using-external-postgresql-database-providers) -* [Environment variables](#environment-variables) - * [Build and deployment](#build-and-deployment) - * [Database](#database) - * [Disable jobs](#disable-jobs) - * [Application secret variables](#application-secret-variables) - * [Advanced replica variables setup](#advanced-replica-variables-setup) - * [Deploy policy for staging and production environments](#deploy-policy-for-staging-and-production-environments) - * [Deploy policy for canary environments](#deploy-policy-for-canary-environments-premium) - * [Incremental rollout to production](#incremental-rollout-to-production-premium) - * [Timed incremental rollout to production](#timed-incremental-rollout-to-production-premium) -* [Auto DevOps banner](#auto-devops-banner) - -# Customizing Auto DevOps[](#customizing-auto-devops "Permalink") - -尽管[Auto DevOps](index.html)提供了很好的默认设置来帮助您入门,但是您可以自定义几乎所有内容以满足您的需求. Auto DevOps 提供了从自定义[buildpacks](#custom-buildpacks)到[Dockerfiles](#custom-dockerfile)和[Helm 图表的所有内容](#custom-helm-chart) . 您甚至可以将完整的[CI / CD 配置](#customizing-gitlab-ciyml)复制到您的项目中,以启用暂存和 Canary 部署等. - -## Custom buildpacks[](#custom-buildpacks "Permalink") - -如果您的项目无法自动检测到构建包,或者要使用自定义构建包,则可以在项目中使用项目变量或`.buildpacks`文件覆盖`.buildpacks` : - -* **项目变量** -使用要使用的 buildpack 的 URL 创建项目变量`BUILDPACK_URL` . -* **`.buildpacks`文件** -在项目的存储库中添加一个名为`.buildpacks`的文件,并添加要在文件中一行使用的 buildpack 的 URL. 如果要使用多个 buildpack,请每行输入一个 buildpack. - -buildpack URL 可以指向 Git 存储库 URL 或 tarball URL. 对于 Git 存储库,您可以通过将`#<ref>`附加到 Git 存储库 URL 来指向特定的 Git 引用(例如,提交 SHA,标记名称或分支名称). 例如: - -* 标签`v142` : `https://github.com/heroku/heroku-buildpack-ruby.git#v142` : `https://github.com/heroku/heroku-buildpack-ruby.git#v142` . -* 分支`mybranch` : `https://github.com/heroku/heroku-buildpack-ruby.git#mybranch` : `https://github.com/heroku/heroku-buildpack-ruby.git#mybranch` . -* 提交 SHA `f97d8a8ab49` : `https://github.com/heroku/heroku-buildpack-ruby.git#f97d8a8ab49` : `https://github.com/heroku/heroku-buildpack-ruby.git#f97d8a8ab49` . - -### Multiple buildpacks[](#multiple-buildpacks "Permalink") - -Auto DevOps 不完全支持使用多个 buildpack,因为在使用`.buildpacks`文件时,自动测试将不起作用. 在后端用于解析`.buildpacks`文件的 buildpack [heroku-buildpack-multi](https://github.com/heroku/heroku-buildpack-multi/)没有提供必要的命令`bin/test-compile`和`bin/test` . - -If your goal is to use only a single custom buildpack, you should provide the project variable `BUILDPACK_URL` instead. - -## Custom `Dockerfile`[](#custom-dockerfile "Permalink") - -> [在 GitLab 13.2](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35662)中[添加了](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35662)对`DOCKERFILE_PATH`支持 - -如果您的项目在项目存储库的根目录中有一个`Dockerfile` ,则 Auto DevOps 会基于 Dockerfile 而不是使用 buildpacks 构建 Docker 映像. 这样可以更快,并产生较小的映像,尤其是在您的 Dockerfile 基于[Alpine 的情况下](https://hub.docker.com/_/alpine/) . - -如果设置`DOCKERFILE_PATH` CI 变量,则"自动构建"将在其中查找 Dockerfile. - -## Passing arguments to `docker build`[](#passing-arguments-to-docker-build "Permalink") - -可以使用`AUTO_DEVOPS_BUILD_IMAGE_EXTRA_ARGS`项目变量将参数传递给`AUTO_DEVOPS_BUILD_IMAGE_EXTRA_ARGS` `docker build`命令. 例如,要基于`ruby:alpine`而不是默认的`ruby:latest`构建 Docker 映像: - -1. Set `AUTO_DEVOPS_BUILD_IMAGE_EXTRA_ARGS` to `--build-arg=RUBY_VERSION=alpine`. -2. 将以下内容添加到自定义`Dockerfile` : - - ``` - ARG RUBY_VERSION=latest - FROM ruby:$RUBY_VERSION - - # ... put your stuff here - ``` - -**注意:**如果需要传递复杂的值(例如换行符和空格), **请**使用 Base64 编码. 由于 Auto DevOps 如何使用自变量,此类未经编码的复杂值可能导致转义问题.**警告:**尽可能避免将秘密作为 Docker 构建参数传递,因为它们可能会保留在映像中. 有关详细信息,请参见[有关最佳实践的讨论](https://github.com/moby/moby/issues/13490) . - -## Forward CI variables to the build environment[](#forward-ci-variables-to-the-build-environment "Permalink") - -在 GitLab 12.3 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/25514) ,但在 11.9 及更高版本中可用. - -可以使用`AUTO_DEVOPS_BUILD_IMAGE_FORWARDED_CI_VARIABLES` CI 变量将 CI 变量转发到构建环境中. 转发的变量应在逗号分隔的列表中按名称指定. 例如,要转发变量`CI_COMMIT_SHA`和`CI_ENVIRONMENT_NAME` ,请将`AUTO_DEVOPS_BUILD_IMAGE_FORWARDED_CI_VARIABLES`设置为`CI_COMMIT_SHA,CI_ENVIRONMENT_NAME` . - -* 使用 Buildpacks 时,转发的变量将自动用作环境变量. -* 使用`Dockerfile` ,需要执行以下附加步骤: - - 1. 通过将以下代码添加到文件顶部来激活实验性`Dockerfile`语法: - - ``` - # syntax = docker/dockerfile:experimental - ``` - - 2. 要在任何可用的秘密`RUN $COMMAND`在`Dockerfile` ,秘密文件和源安装运行之前,它`$COMMAND` : - - ``` - RUN --mount=type=secret,id=auto-devops-build-secrets . /run/secrets/auto-devops-build-secrets && $COMMAND - ``` - -**注意:**设置`AUTO_DEVOPS_BUILD_IMAGE_FORWARDED_CI_VARIABLES` ,Auto DevOps 会启用实验性[Docker BuildKit](https://s0docs0docker0com.icopy.site/develop/develop-images/build_enhancements/)功能以使用`--secret`标志. - -## Custom Helm Chart[](#custom-helm-chart "Permalink") - -Auto DevOps 使用[Helm](https://helm.sh/)将您的应用程序部署到 Kubernetes. 您可以通过将图表捆绑到项目存储库中或通过指定项目变量来覆盖使用的 Helm 图表: - -* **捆绑图** -如果您的项目中有一个带有`Chart.yaml`文件的`./chart`目录,则 Auto DevOps 将检测到该图并使用它代替[默认图](https://gitlab.com/gitlab-org/charts/auto-deploy-app) ,从而使您能够精确地控制应用程序的部署方式. -* **项目变量** -创建一个[项目变量](../../ci/variables/README.html#gitlab-cicd-environment-variables) `AUTO_DEVOPS_CHART`有一个自定义图表的 URL 来使用,或创建两个项目变量: `AUTO_DEVOPS_CHART_REPOSITORY`有一个自定义图表库的 URL,并`AUTO_DEVOPS_CHART`与路径图. - -## Customize values for Helm Chart[](#customize-values-for-helm-chart "Permalink") - -[介绍](https://gitlab.com/gitlab-org/gitlab/-/issues/30628)在 GitLab 12.6, `.gitlab/auto-deploy-values.yaml`将默认为头盔升级使用. - -您可以通过以下任一方式覆盖[默认 Helm 图表中](https://gitlab.com/gitlab-org/charts/auto-deploy-app) `values.yaml`文件中的[默认值](https://gitlab.com/gitlab-org/charts/auto-deploy-app) : - -* 将名为`.gitlab/auto-deploy-values.yaml`的文件添加到您的存储库,如果找到,该文件将自动使用. -* 将具有不同名称或路径的文件添加到存储库,并使用路径和名称设置`HELM_UPGRADE_VALUES_FILE` [环境变量](#environment-variables) . - -**注:**对于 GitLab 12.5 和更早的版本,使用`HELM_UPGRADE_EXTRA_ARGS`环境变量设置以覆盖默认图表值`HELM_UPGRADE_EXTRA_ARGS`到`--values <my-values.yaml>` - -## Custom Helm chart per environment[](#custom-helm-chart-per-environment "Permalink") - -您可以通过将环境变量定义为所需环境来指定每个环境使用自定义 Helm 图表. 请参阅[限制变量的环境范围](../../ci/variables/README.html#limit-the-environment-scopes-of-environment-variables) . - -## Customizing `.gitlab-ci.yml`[](#customizing-gitlab-ciyml "Permalink") - -Auto DevOps 是完全可自定义的,因为[Auto DevOps 模板](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Auto-DevOps.gitlab-ci.yml)只是[`.gitlab-ci.yml`](../../ci/yaml/README.html)文件的实现,并且仅使用任何`.gitlab-ci.yml`实现的`.gitlab-ci.yml` . - -要修改 Auto DevOps 使用的 CI / CD 管道,请[`include`模板](../../ci/yaml/README.html#includetemplate) ,并根据需要通过向包含以下内容的存储库的根目录中添加`.gitlab-ci.yml`文件来自定义它: - -``` -include: - - template: Auto-DevOps.gitlab-ci.yml -``` - -添加您的更改,您的添加将使用[`include`](../../ci/yaml/README.html#include)所描述的行为与[Auto DevOps 模板](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Auto-DevOps.gitlab-ci.yml)合并. - -如果您需要专门删除文件的一部分,还可以将[Auto DevOps 模板](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Auto-DevOps.gitlab-ci.yml)的内容复制并粘贴到您的项目中,并根据需要进行编辑. - -## Customizing the Kubernetes namespace[](#customizing-the-kubernetes-namespace "Permalink") - -在 GitLab 12.6 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/27630) . - -对于不受 GitLab 管理的集群,可以通过指定[`environment:kubernetes:namespace`](../../ci/environments/index.html#configuring-kubernetes-deployments)来自定义`.gitlab-ci.yml`的[`environment:kubernetes:namespace`](../../ci/environments/index.html#configuring-kubernetes-deployments) . 例如,以下配置将覆盖用于`production`部署的名称空间: - -``` -include: - - template: Auto-DevOps.gitlab-ci.yml - -production: - environment: - kubernetes: - namespace: production -``` - -使用 Auto DevOps 部署到自定义名称空间时,群集随附的服务帐户至少需要名称空间内的`edit`角色. - -* 如果服务帐户可以创建名称空间,则可以按需创建名称空间. -* 否则,名称空间必须在部署之前存在. - -## Using components of Auto DevOps[](#using-components-of-auto-devops "Permalink") - -如果仅需要 Auto DevOps 提供的功能的子集,则可以将各个 Auto DevOps 作业包括在自己的`.gitlab-ci.yml` . 每个组件作业都依赖于一个阶段,该阶段应该在包含模板的`.gitlab-ci.yml`中定义. - -例如,要使用[自动构建](stages.html#auto-build) ,可以将以下内容添加到`.gitlab-ci.yml` : - -``` -stages: - - build - -include: - - template: Jobs/Build.gitlab-ci.yml -``` - -有关可用作业的信息,请参见[Auto DevOps 模板](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Auto-DevOps.gitlab-ci.yml) . - -**弃用:**从[GitLab 13.0](https://gitlab.com/gitlab-org/gitlab/-/issues/213336)开始,使用[`only`](../../ci/yaml/README.html#onlyexcept-basic)或[`except`](../../ci/yaml/README.html#onlyexcept-basic)语法的 Auto DevOps 模板将切换到[`rules`](../../ci/yaml/README.html#rules)语法. 如果您`.gitlab-ci.yml`扩展了这些汽车的 DevOps 模板和覆盖`only`或`except`关键字,您必须迁移模板使用[`rules`](../../ci/yaml/README.html#rules)语法的基本模板被迁移到使用后`rules`语法. 对于尚不能迁移的用户,您可以选择将模板固定到[基于 GitLab 12.10 的模板](https://gitlab.com/gitlab-org/auto-devops-v12-10) . - -## PostgreSQL database support[](#postgresql-database-support "Permalink") - -为了支持需要数据库的应用程序,默认情况下配置[PostgreSQL](https://s0www0postgresql0org.icopy.site/) . 访问数据库的凭据已预先配置,但可以通过设置关联[变量](#environment-variables)进行自定义. 您可以使用这些凭据来定义`DATABASE_URL` : - -``` -postgres://user:password@postgres-host:postgres-port/postgres-database -``` - -### Upgrading PostgresSQL[](#upgrading-postgressql "Permalink") - -**弃用:**用于控制默认`AUTO_DEVOPS_POSTGRES_CHANNEL`配置 PostgreSQL 的变量`AUTO_DEVOPS_POSTGRES_CHANNEL`在[GitLab 13.0 中](https://gitlab.com/gitlab-org/gitlab/-/issues/210499)已更改为`2` . 要继续使用旧的 PostgreSQL,请将`AUTO_DEVOPS_POSTGRES_CHANNEL`变量设置为`1` . - -用于配置 PostgreSQL 的图表的版本: - -* 在 GitLab 13.0 和更高版本中为 8.2.1,但如果需要可以将其设置回 0.7.1. -* 可以在 GitLab 12.9 和 12.10 中设置为 0.7.1 至 8.2.1. -* 在 GitLab 12.8 及更早版本中为 0.7.1. - -GitLab 鼓励用户[将其数据库迁移](upgrading_postgresql.html)到较新的 PostgreSQL. - -### Using external PostgreSQL database providers[](#using-external-postgresql-database-providers "Permalink") - -尽管 Auto DevOps 为生产环境提供了对 PostgreSQL 容器的开箱即用支持,但在某些情况下,它可能不够安全或没有弹性,您可能要使用外部托管提供程序(例如 AWS Relational Database)服务)(适用于 PostgreSQL). - -您必须在项目的 CI / CD 设置中为`POSTGRES_ENABLED`和`DATABASE_URL`定义环境范围的变量: - -1. 使用范围内的[环境变量](../../ci/environments/index.html#scoping-environments-with-specs)针对所需环境禁用内置 PostgreSQL 安装. 对于此用例,可能只需要将`production`添加到此列表中. 用于 Review Apps 和登台的内置 PostgreSQL 设置就足够了. - - [![Auto Metrics](img/f4a6d7020c73bd402fc6428d02a4e550.png)](img/disable_postgres.png) - -2. Define the `DATABASE_URL` CI variable as a scoped environment variable that will be available to your application. This should be a URL in the following format: - - ``` - postgres://user:password@postgres-host:postgres-port/postgres-database - ``` - -您必须确保您的 Kubernetes 集群可以访问托管 PostgreSQL 的任何地方的网络. - -## Environment variables[](#environment-variables "Permalink") - -以下变量可用于设置 Auto DevOps 域,提供自定义 Helm 图表或缩放应用程序. PostgreSQL 也可以自定义,您可以使用[自定义 buildpack](#custom-buildpacks) . - -### Build and deployment[](#build-and-deployment "Permalink") - -下表列出了与构建和部署应用程序有关的变量. - -| **Variable** | **Description** | -| --- | --- | -| `ADDITIONAL_HOSTS` | 指定为逗号分隔列表的标准域名,添加到 Ingress 主机中. | -| `<ENVIRONMENT>_ADDITIONAL_HOSTS` | 对于特定环境,将指定为逗号分隔列表的标准域名添加到 Ingress 主机. 这优先于`ADDITIONAL_HOSTS` . | -| `AUTO_DEVOPS_ATOMIC_RELEASE` | 从 GitLab 13.0 开始,默认情况下,Auto DevOps 使用[`--atomic`](https://v2.helm.sh/docs/helm/#options-43)进行 Helm 部署. 将此变量设置为`false`可禁用`--atomic` | -| `AUTO_DEVOPS_BUILD_IMAGE_CNB_ENABLED` | 当设置为非空值且不存在`Dockerfile` ,"自动构建"将使用 Cloud Native Buildpacks 而非 Herokuish 构建应用程序. [更多细节](stages.html#auto-build-using-cloud-native-buildpacks-beta) . | -| `AUTO_DEVOPS_BUILD_IMAGE_CNB_BUILDER` | 使用 Cloud Native Buildpacks 构建时使用的构建器. 默认的构建器是`heroku/buildpacks:18` . [更多细节](stages.html#auto-build-using-cloud-native-buildpacks-beta) . | -| `AUTO_DEVOPS_BUILD_IMAGE_EXTRA_ARGS` | 要传递给`docker build`命令的额外参数. 请注意,使用引号不会阻止单词拆分. [更多细节](#passing-arguments-to-docker-build) . | -| `AUTO_DEVOPS_BUILD_IMAGE_FORWARDED_CI_VARIABLES` | A [comma-separated list of CI variable names](#forward-ci-variables-to-the-build-environment) to be forwarded to the build environment (the buildpack builder or `docker build`). | -| `AUTO_DEVOPS_CHART` | Helm Chart 用于部署您的应用程序. 默认为[GitLab 提供的](https://gitlab.com/gitlab-org/charts/auto-deploy-app) . | -| `AUTO_DEVOPS_CHART_REPOSITORY` | Helm Chart 存储库用于搜索图表. 默认为`https://charts.gitlab.io` . | -| `AUTO_DEVOPS_CHART_REPOSITORY_NAME` | 从 GitLab 11.11 开始,用于设置 Helm 存储库的名称. 默认为`gitlab` . | -| `AUTO_DEVOPS_CHART_REPOSITORY_USERNAME` | 从 GitLab 11.11 开始,用于设置用户名以连接到 Helm 存储库. 默认为无凭据. 还要设置`AUTO_DEVOPS_CHART_REPOSITORY_PASSWORD` . | -| `AUTO_DEVOPS_CHART_REPOSITORY_PASSWORD` | 从 GitLab 11.11 开始,用于设置密码以连接到 Helm 存储库. 默认为无凭据. 还要设置`AUTO_DEVOPS_CHART_REPOSITORY_USERNAME` . | -| `AUTO_DEVOPS_DEPLOY_DEBUG` | 从 GitLab 13.1 开始,如果存在此变量,Helm 将输出调试日志. | -| `AUTO_DEVOPS_ALLOW_TO_FORCE_DEPLOY_V<N>` | 从[auto-deploy-image](https://gitlab.com/gitlab-org/cluster-integration/auto-deploy-image) v1.0.0 起,如果存在此变量,则将强制部署新的主要图表版本. [更多细节](upgrading_chart.html#ignore-warning-and-continue-deploying) | -| `AUTO_DEVOPS_MODSECURITY_SEC_RULE_ENGINE` | 从 GitLab 12.5 起,与[ModSecurity 功能标记](../../user/clusters/applications.html#web-application-firewall-modsecurity)结合使用可切换[ModSecurity 的`SecRuleEngine`](https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual-(v2.x)#SecRuleEngine)行为. 默认为`DetectionOnly` . | -| `BUILDPACK_URL` | Buildpack’s full URL. Can point to either [a Git repository URL or a tarball URL](#custom-buildpacks). | -| `CANARY_ENABLED` | 从 GitLab 11.0 开始,用于定义[Canary 环境](#deploy-policy-for-canary-environments-premium)的[部署策略](#deploy-policy-for-canary-environments-premium) . | -| `CANARY_PRODUCTION_REPLICAS` | 要在生产环境中为[Canary 部署](../../user/project/canary_deployments.html)进行部署的 Canary 副本数. 优先于`CANARY_REPLICAS` . 默认为 1. | -| `CANARY_REPLICAS` | 用于[Canary 部署](../../user/project/canary_deployments.html)的 Canary 副本数. 默认为 1. | -| `DOCKERFILE_PATH` | 从 GitLab 13.2 开始,允许[在构建阶段](#custom-dockerfile)覆盖[默认的 Dockerfile 路径](#custom-dockerfile) | -| `HELM_RELEASE_NAME` | 从 GitLab 12.1 起,可以覆盖`helm`发布名称. 将多个项目部署到单个名称空间时,可用于分配唯一的发行版名称. | -| `HELM_UPGRADE_VALUES_FILE` | 从 GitLab 12.6 起,可以覆盖`helm upgrade`值文件. 默认为`.gitlab/auto-deploy-values.yaml` . | -| `HELM_UPGRADE_EXTRA_ARGS` | 从 GitLab 11.11 开始,在部署应用程序时允许在`helm`命令中使用其他参数. 请注意,使用引号不会阻止单词拆分. | -| `INCREMENTAL_ROLLOUT_MODE` | 从 GitLab 11.4 起,如果存在的话,可用于为生产环境启用应用程序的[增量部署](#incremental-rollout-to-production-premium) . 对于手动部署作业,设置为" `manual` ;对于自动部署部署,则设置为" `timed` ,每个延迟 5 分钟. | -| `K8S_SECRET_*` | 从 GitLab 11.7 开始,Auto DevOps 会将任何前缀为[`K8S_SECRET_`](#application-secret-variables)变量作为环境变量提供给已部署的应用程序. | -| `KUBE_INGRESS_BASE_DOMAIN` | 从 GitLab 11.8 开始,可用于为每个群集设置一个域. 有关更多信息,请参见[群集域](../../user/project/clusters/index.html#base-domain) . | -| `PRODUCTION_REPLICAS` | 要在生产环境中部署的副本数. 优先于`REPLICAS` ,默认值为 1.对于零停机升级,设置为 2 或更大. | -| `REPLICAS` | 要部署的副本数. 默认为 1. | -| `ROLLOUT_RESOURCE_TYPE` | 从 GitLab 11.9 开始,允许使用自定义 Helm 图表指定正在部署的资源类型. 默认值为`deployment` . | -| `ROLLOUT_STATUS_DISABLED` | 从 GitLab 12.0 开始,用于禁用推出状态检查,因为它不支持所有资源类型,例如`cronjob` . | -| `STAGING_ENABLED` | 从 GitLab 10.8 开始,用于定义[登台和生产环境](#deploy-policy-for-staging-and-production-environments)的[部署策略](#deploy-policy-for-staging-and-production-environments) . | - -**提示:**使用[项目变量](../../ci/variables/README.html#gitlab-cicd-environment-variables)设置副本[变量后](../../ci/variables/README.html#gitlab-cicd-environment-variables) ,可以通过重新部署来缩放应用程序.**注意:**您*不*应该直接扩展使用 Kubernetes 您的应用程序. 这可能会导致 Helm 无法检测到更改而造成混乱,随后使用 Auto DevOps 进行的部署可能会撤消您的更改. - -### Database[](#database "Permalink") - -下表列出了与数据库有关的变量. - -| **Variable** | **Description** | -| --- | --- | -| `DB_INITIALIZE` | 从 GitLab 11.4 开始,用于指定运行以初始化应用程序的 PostgreSQL 数据库的命令. 在应用程序窗格中运行. | -| `DB_MIGRATE` | 从 GitLab 11.4 开始,用于指定运行以迁移应用程序的 PostgreSQL 数据库的命令. 在应用程序窗格中运行. | -| `POSTGRES_ENABLED` | 是否启用 PostgreSQL. 默认为`true` . 设置为`false`可禁用 PostgreSQL 的自动部署. | -| `POSTGRES_USER` | PostgreSQL 用户. 默认为`user` . 将其设置为使用自定义用户名. | -| `POSTGRES_PASSWORD` | PostgreSQL 密码. 默认为`testing-password` . 将其设置为使用自定义密码. | -| `POSTGRES_DB` | PostgreSQL 数据库名称. 默认为[`$CI_ENVIRONMENT_SLUG`](../../ci/variables/README.html#predefined-environment-variables)的值. 将其设置为使用自定义数据库名称. | -| `POSTGRES_VERSION` | 用于[`postgres` Docker 映像的](https://hub.docker.com/_/postgres)标签. 对于`9.6.16` GitLab 13.0 `9.6.16`的测试和部署,默认值为`9.6.16` (以前为`9.6.2` ). 如果`AUTO_DEVOPS_POSTGRES_CHANNEL`设置为`1` ,则部署将使用默认版本`9.6.2` . | - -### Disable jobs[](#disable-jobs "Permalink") - -下表列出了用于禁用作业的变量. - -| **Variable** | **Description** | -| --- | --- | -| `CODE_QUALITY_DISABLED` | 从 GitLab 11.0 起,用于禁用`codequality`作业. 如果存在变量,则不会创建作业. | -| `CONTAINER_SCANNING_DISABLED` | From GitLab 11.0, used to disable the `sast:container` job. If the variable is present, the job won’t be created. | -| `DAST_DISABLED` | 从 GitLab 11.0 起,用于禁用`dast`作业. 如果存在变量,则不会创建作业. | -| `DEPENDENCY_SCANNING_DISABLED` | 从 GitLab 11.0 起,用于禁用`dependency_scanning`作业. 如果存在变量,则不会创建作业. | -| `LICENSE_MANAGEMENT_DISABLED` | 从 GitLab 11.0 开始,用于禁用`license_management`作业. 如果存在变量,则不会创建作业. | -| `PERFORMANCE_DISABLED` | 从 GitLab 11.0 起,用于禁用浏览器`performance`作业. 如果存在变量,则不会创建作业. | -| `LOAD_PERFORMANCE_DISABLED` | 从 GitLab 13.2 开始,用于禁用`load_performance`作业. 如果存在变量,则不会创建作业. | -| `REVIEW_DISABLED` | 从 GitLab 11.0 开始,用于禁用`review`和手动`review:stop`作业. 如果存在该变量,则不会创建这些作业. | -| `SAST_DISABLED` | 从 GitLab 11.0 起,用于禁用`sast`作业. 如果存在变量,则不会创建作业. | -| `TEST_DISABLED` | 从 GitLab 11.0 起,用于禁用`test`作业. 如果存在变量,则不会创建作业. | - -### Application secret variables[](#application-secret-variables "Permalink") - -在 GitLab 11.7 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/49056) . - -某些应用程序需要定义可由部署的应用程序访问的秘密变量. Auto DevOps 会检测以`K8S_SECRET_`开头的变量,并将这些带前缀的变量作为环境变量提供给已部署的应用程序. - -要配置您的应用程序变量: - -1. Go to your project’s **设置> CI / CD**, then expand the **Variables** section. - -2. 创建一个 CI / CD 变量,确保密钥以`K8S_SECRET_`为前缀. 例如,您可以使用键`K8S_SECRET_RAILS_MASTER_KEY`创建一个变量. - -3. 通过手动创建新管道或将代码更改推送到 GitLab 来运行 Auto DevOps 管道. - -Auto DevOps 管道将使用您的应用程序秘密变量来填充 Kubernetes 秘密. 这个秘密在每个环境中都是唯一的. 部署应用程序时,机密将作为环境变量加载到运行应用程序的容器中. 在上面的示例之后,您可以在下面看到包含`RAILS_MASTER_KEY`变量的机密. - -``` -$ kubectl get secret production-secret -n minimal-ruby-app-54 -o yaml - -apiVersion: v1 -data: - RAILS_MASTER_KEY: MTIzNC10ZXN0 -kind: Secret -metadata: - creationTimestamp: 2018-12-20T01:48:26Z - name: production-secret - namespace: minimal-ruby-app-54 - resourceVersion: "429422" - selfLink: /api/v1/namespaces/minimal-ruby-app-54/secrets/production-secret - uid: 57ac2bfd-03f9-11e9-b812-42010a9400e4 -type: Opaque -``` - -通常认为环境变量在 Kubernetes 容器中是不可变的. 如果在不更改任何代码的情况下更新应用程序机密,然后手动创建新管道,则会发现任何正在运行的应用程序吊舱都不会具有更新后的机密. 要更新机密,请执行以下任一操作: - -* 将代码更新推送到 GitLab,以强制 Kubernetes 部署重新创建 Pod. -* 手动删除正在运行的 Pod,以使 Kubernetes 创建具有更新机密的新 Pod. - -**注意:**由于当前 Auto DevOps 脚本环境的限制,当前不支持具有多行值的变量. - -### Advanced replica variables setup[](#advanced-replica-variables-setup "Permalink") - -除了上面提到的两个与副本相关的生产变量之外,您还可以将其他变量用于不同的环境. - -Kubernetes 的标签名为`track` ,GitLab CI / CD 环境名称和副本环境变量被组合为`TRACK_ENV_REPLICAS`格式,使您能够定义自己的变量来扩展 Pod 的副本: - -* `TRACK` :Helm Chart 应用程序定义中`track` [Kubernetes 标签](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/)的大写值. 如果未设置,则不会考虑到变量名. -* `ENV` :部署作业的大写环境名称,在`.gitlab-ci.yml`设置. - -在下面的示例中,环境的名称为`qa` ,并且部署了轨道`foo` ,这将导致一个名为`FOO_QA_REPLICAS`的环境变量: - -``` -QA testing: - stage: deploy - environment: - name: qa - script: - - deploy foo -``` - -还必须在应用程序的 Helm 图表中定义被引用的`foo`轨道,例如: - -``` -replicaCount: 1 -image: - repository: gitlab.example.com/group/project - tag: stable - pullPolicy: Always - secrets: - - name: gitlab-registry -application: - track: foo - tier: web -service: - enabled: true - name: web - type: ClusterIP - url: http://my.host.com/ - externalPort: 5000 - internalPort: 5000 -``` - -### Deploy policy for staging and production environments[](#deploy-policy-for-staging-and-production-environments "Permalink") - -在 GitLab 10.8 中[引入](https://gitlab.com/gitlab-org/gitlab-ci-yml/-/merge_requests/160) . - -**提示:**您也可以在[项目的设置中进行设置](index.html#deployment-strategy) . - -Auto DevOps 的正常行为是使用连续部署,每次在默认分支上运行新管道时,都会自动推送到`production`环境. 但是,在某些情况下,您可能需要使用暂存环境并手动部署到生产环境. 对于这种情况,引入了`STAGING_ENABLED`环境变量. - -如果您定义`STAGING_ENABLED` ,例如将`STAGING_ENABLED`设置为`1`作为 CI / CD 变量,则 GitLab 会自动将应用程序部署到`staging`环境,并在准备好手动部署到生产环境时为您创建`production_manual`作业. - -### Deploy policy for canary environments[](#deploy-policy-for-canary-environments-premium "Permalink") - -在 GitLab 11.0 中[引入](https://gitlab.com/gitlab-org/gitlab-ci-yml/-/merge_requests/171) . - -在将任何更改部署到生产之前,可以使用[Canary 环境](../../user/project/canary_deployments.html) . - -如果您在项目中定义`CANARY_ENABLED` ,例如将`CANARY_ENABLED`设置为`1`作为 CI / CD 变量,则会创建两个手动作业: - -* `canary` -将应用程序部署到金丝雀环境. -* `production_manual`手动将应用程序部署到生产环境. - -### Incremental rollout to production[](#incremental-rollout-to-production-premium "Permalink") - -在 GitLab 10.8 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/5415) . - -**提示:**您也可以在[项目的设置中进行设置](index.html#deployment-strategy) . - -当您准备将新版本的应用程序部署到生产环境时,您可能希望使用增量部署将最新的代码替换为少数 Pod,以检查应用程序的行为,然后手动将部署率提高到 100% . - -如果在项目中将`INCREMENTAL_ROLLOUT_MODE`设置为`manual` ,则将创建 4 个不同的[手动](../../ci/pipelines/index.html#add-manual-interaction-to-your-pipeline)作业,而不是标准`production`作业: - -1. `rollout 10%` -2. `rollout 25%` -3. `rollout 50%` -4. `rollout 100%` - -该百分比基于`REPLICAS`变量,并定义了您要用于部署的 Pod 数量. 如果该值为`10` ,并且您运行`10%`部署作业,那么将有`1`新容器+ `9`个旧容器. - -要开始工作,请点击播放图标( )旁边的职位名称. 您不需要从`10%`增加到`100%` ,您可以跳到所需的任何工作. 您也可以在达到`100%`之前通过执行较低百分比的作业来缩小规模. 一旦达到`100%` ,您将无法缩小规模,并且必须通过使用环境页面中的" [回滚"按钮](../../ci/environments/index.html#retrying-and-rolling-back)重新部署旧版本来进行[回滚](../../ci/environments/index.html#retrying-and-rolling-back) . - -在下面,您可以看到如果定义了发布或登台变量,管道的外观. - -没有`INCREMENTAL_ROLLOUT_MODE`和`STAGING_ENABLED` : - -[![Staging and rollout disabled](img/4a3c28657f884da12667bc861ea60e0c.png)](img/rollout_staging_disabled.png) - -没有`INCREMENTAL_ROLLOUT_MODE`和`STAGING_ENABLED` : - -[![Staging enabled](img/c79ebe6e2611f151d42f879eaee753fe.png)](img/staging_enabled.png) - -在将`INCREMENTAL_ROLLOUT_MODE`设置为`manual`且没有`STAGING_ENABLED`情况`STAGING_ENABLED` : - -[![Rollout enabled](img/ceb135d0071e5591ba58f5d2820e8f4b.png)](img/rollout_enabled.png) - -将`INCREMENTAL_ROLLOUT_MODE`设置为`manual` ,并将`STAGING_ENABLED` - -[![Rollout and staging enabled](img/1780684b75826fc70c4f9d6a00cd9984.png)](img/rollout_staging_enabled.png) - -**注意:**在 GitLab 11.4 之前, `INCREMENTAL_ROLLOUT_ENABLED`环境变量的存在启用了此功能. 此配置已弃用,以后将被删除. - -### Timed incremental rollout to production[](#timed-incremental-rollout-to-production-premium "Permalink") - -在 GitLab 11.4 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/7545) . - -**提示:**您也可以在[项目的设置中进行设置](index.html#deployment-strategy) . - -此配置基于[向生产的增量部署](#incremental-rollout-to-production-premium) . - -除以下内容外,其他所有行为均相同: - -* 要启用它,请将`INCREMENTAL_ROLLOUT_MODE`变量设置为`timed` . -* Instead of the standard `production` job, the following jobs are created with a 5 minute delay between each: - - 1. `timed rollout 10%` - 2. `timed rollout 25%` - 3. `timed rollout 50%` - 4. `timed rollout 100%` - -## Auto DevOps banner[](#auto-devops-banner "Permalink") - -在未启用自动 DevOps 的情况下,对新项目具有维护者或更高权限的用户将显示以下 Auto DevOps 标语: - -[![Auto DevOps banner](img/5262199c26e59a11bfa467901c29122a.png)](img/autodevops_banner_v12_6.png) - -可以为以下内容禁用横幅: - -* 用户,当他们自己关闭它时. -* 通过显式[禁用 Auto DevOps 的项目](index.html#enablingdisabling-auto-devops) . -* 整个 GitLab 实例: - * 由管理员在 Rails 控制台中运行以下命令: - - ``` - Feature . enable ( :auto_devops_banner_disabled ) - ``` - - * 通过带有管理员访问令牌的 REST API: - - ``` - curl --data "value=true" --header "PRIVATE-TOKEN: <personal_access_token>" https://gitlab.example.com/api/v4/features/auto_devops_banner_disabled - ``` \ No newline at end of file diff --git a/docs/211.md b/docs/211.md deleted file mode 100644 index f50e879..0000000 --- a/docs/211.md +++ /dev/null @@ -1,442 +0,0 @@ -# Stages of Auto DevOps - -> 原文:[https://docs.gitlab.com/ee/topics/autodevops/stages.html](https://docs.gitlab.com/ee/topics/autodevops/stages.html) - -* [Auto Build](#auto-build) - * [Auto Build using a Dockerfile](#auto-build-using-a-dockerfile) - * [Auto Build using Heroku buildpacks](#auto-build-using-heroku-buildpacks) - * [Auto Build using Cloud Native Buildpacks (beta)](#auto-build-using-cloud-native-buildpacks-beta) -* [Auto Test](#auto-test) - * [Currently supported languages](#currently-supported-languages) -* [Auto Code Quality](#auto-code-quality-starter) -* [Auto SAST](#auto-sast-ultimate) -* [Auto Secret Detection](#auto-secret-detection-ultimate) -* [Auto Dependency Scanning](#auto-dependency-scanning-ultimate) -* [Auto License Compliance](#auto-license-compliance-ultimate) -* [Auto Container Scanning](#auto-container-scanning-ultimate) -* [Auto Review Apps](#auto-review-apps) -* [Auto DAST](#auto-dast-ultimate) - * [Overriding the DAST target](#overriding-the-dast-target) - * [Disabling Auto DAST](#disabling-auto-dast) -* [Auto Browser Performance Testing](#auto-browser-performance-testing-premium) -* [Auto Load Performance Testing](#auto-load-performance-testing-premium) -* [Auto Deploy](#auto-deploy) - * [GitLab deploy tokens](#gitlab-deploy-tokens) - * [Kubernetes 1.16+](#kubernetes-116) - * [Migrations](#migrations) - * [Workers](#workers) - * [Network Policy](#network-policy) - * [Web Application Firewall (ModSecurity) customization](#web-application-firewall-modsecurity-customization) - * [Running commands in the container](#running-commands-in-the-container) -* [Auto Monitoring](#auto-monitoring) - -# Stages of Auto DevOps[](#stages-of-auto-devops "Permalink") - -以下各节描述了[Auto DevOps](index.html)的阶段. 仔细阅读它们,以了解它们的工作原理. - -## Auto Build[](#auto-build "Permalink") - -自动构建使用现有的`Dockerfile`或 Heroku 构建包创建应用程序的构建. 生成的 Docker 映像被推送到[Container Registry](../../user/packages/container_registry/index.html) ,并用提交 SHA 或标记进行标记. - -### Auto Build using a Dockerfile[](#auto-build-using-a-dockerfile "Permalink") - -如果项目的存储库在其根目录中包含`Dockerfile` ,则"自动构建"将使用`Dockerfile` `docker build`来创建 Docker 映像. - -如果您还使用 Auto Review Apps 和 Auto Deploy,并且选择提供自己的`Dockerfile` ,那么您必须: - -* 将您的应用程序公开到端口`5000` ,因为[默认的 Helm 图表](https://gitlab.com/gitlab-org/charts/auto-deploy-app)假定此端口可用. -* 通过[自定义 Auto Deploy Helm 图表来](customize.html#custom-helm-chart)覆盖默认值. - -### Auto Build using Heroku buildpacks[](#auto-build-using-heroku-buildpacks "Permalink") - -自动构建使用项目的`Dockerfile`如果存在)构建应用程序. 如果不存在`Dockerfile` ,它将使用[Herokuish](https://github.com/gliderlabs/herokuish)和[Heroku buildpacks](https://devcenter.heroku.com/articles/buildpacks)检测应用程序并将其构建到 Docker 映像中. - -每个 buildpack 都需要您项目的存储库包含某些文件,以便 Auto Build 成功构建您的应用程序. 例如,您的应用程序的根目录必须包含与您的应用程序语言相对应的文件: - -* 对于 Python 项目,为`Pipfile`或`requirements.txt`文件. -* 对于 Ruby 项目,请使用`Gemfile`或`Gemfile.lock`文件. - -有关其他语言和框架的要求,请阅读[Heroku buildpacks 文档](https://devcenter.heroku.com/articles/buildpacks#officially-supported-buildpacks) . - -**提示:**如果尽管项目满足 buildpack 要求,但 Auto Build 失败,请设置项目变量`TRACE=true`启用详细日志记录,这可能有助于您进行故障排除. - -### Auto Build using Cloud Native Buildpacks (beta)[](#auto-build-using-cloud-native-buildpacks-beta "Permalink") - -在[GitLab 12.10 中](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28165)引入. - -自动构建支持通过[`pack`命令](https://github.com/buildpacks/pack)使用[Cloud Native Buildpacks](https://buildpacks.io)构建应用程序. 要使用 Cloud Native Buildpacks,请将 CI 变量`AUTO_DEVOPS_BUILD_IMAGE_CNB_ENABLED`设置为非空值. 默认的构建器是`heroku/buildpacks:18`但是可以使用 CI 变量`AUTO_DEVOPS_BUILD_IMAGE_CNB_BUILDER`选择其他构建器. - -Cloud Native Buildpacks(CNB)是 Heroku buildpack 的演进,最终将取代 Auto DevOps 中基于 Herokuish 的构建. 有关更多信息,请参见此[问题](https://gitlab.com/gitlab-org/gitlab/-/issues/212692) . - -使用 Cloud Native Buildpacks 的构建与使用 Heroku buildpacks 的构建支持相同的选项,但有以下警告: - -* 该构建包必须是 Cloud Native Buildpack. 可以使用 Heroku 的 cnb [`cnb-shim`](https://github.com/heroku/cnb-shim)将 Heroku 构建包转换为 Cloud Native 构建包. -* `BUILDPACK_URL`必须[采用`pack`支持](https://buildpacks.io/docs/app-developer-guide/specific-buildpacks/)的格式. -* `/bin/herokuish`命令不出现在结果图像中,并且不再需要(也不可能)使用`/bin/herokuish procfile exec`作为前缀命令. - -**Note:** Auto Test still uses Herokuish, as test suite detection is not yet part of the Cloud Native Buildpack specification. For more information, see [this issue](https://gitlab.com/gitlab-org/gitlab/-/issues/212689). - -## Auto Test[](#auto-test "Permalink") - -自动测试通过分析项目以检测语言和框架,使用[Herokuish](https://github.com/gliderlabs/herokuish)和[Heroku](https://devcenter.heroku.com/articles/buildpacks)构建[包](https://github.com/gliderlabs/herokuish)为您的应用程序运行适当的测试. 系统会自动检测到多种语言和框架,但是如果未检测到您的语言,则可以创建[自定义 buildpack](customize.html#custom-buildpacks) . 检查[当前支持的语言](#currently-supported-languages) . - -自动测试使用您的应用程序中已有的测试. 如果没有测试,则由您决定添加它们. - -### Currently supported languages[](#currently-supported-languages "Permalink") - -请注意,并不是所有的 buildpack 都支持自动测试,因为它是一个相对较新的增强功能. Heroku 的所有[官方支持的语言都](https://devcenter.heroku.com/articles/heroku-ci#supported-languages)支持自动测试. Heroku 的 Herokuish buildpack 支持的语言都支持自动测试,但值得注意的是 multi-buildpack 不支持. - -支持的构建包是: - -``` -- heroku-buildpack-multi -- heroku-buildpack-ruby -- heroku-buildpack-nodejs -- heroku-buildpack-clojure -- heroku-buildpack-python -- heroku-buildpack-java -- heroku-buildpack-gradle -- heroku-buildpack-scala -- heroku-buildpack-play -- heroku-buildpack-php -- heroku-buildpack-go -- buildpack-nginx -``` - -如果您的应用程序需要的构建包不在上面的列表中,则可能要使用[自定义的 buildpack](customize.html#custom-buildpacks) . - -## Auto Code Quality[](#auto-code-quality-starter "Permalink") - -自动代码质量使用[代码质量图像](https://gitlab.com/gitlab-org/ci-cd/codequality)对当前代码运行静态分析和其他代码检查. 创建报告后,报告将作为工件上传,您可以稍后下载并签出. 合并请求小部件还显示[源分支和目标分支之间的](../../user/project/merge_requests/code_quality.html)任何[差异](../../user/project/merge_requests/code_quality.html) . - -## Auto SAST[](#auto-sast-ultimate "Permalink") - -在[GitLab Ultimate](https://about.gitlab.com/pricing/) 10.3 中引入. - -Static Application Security Testing (SAST) uses the [SAST Docker image](https://gitlab.com/gitlab-org/security-products/sast) to run static analysis on the current code, and checks for potential security issues. The Auto SAST stage will be skipped on licenses other than [Ultimate](https://about.gitlab.com/pricing/), and requires [GitLab Runner](https://docs.gitlab.com/runner/) 11.5 or above. - -创建报告后,报告将作为工件上传,您可以稍后下载并签出. 合并请求小部件还显示任何安全警告. - -要了解有关[SAST 工作原理的](../../user/application_security/sast/index.html)更多信息,请参阅文档. - -## Auto Secret Detection[](#auto-secret-detection-ultimate "Permalink") - -在[GitLab Ultimate](https://about.gitlab.com/pricing/) 13.1 中引入. - -秘密检测使用[秘密检测 Docker 映像](https://gitlab.com/gitlab-org/security-products/analyzers/secrets)在当前代码上运行秘密检测,并检查泄漏的秘密. 自动秘密检测阶段仅在[Ultimate](https://about.gitlab.com/pricing/)层上运行,并且需要[GitLab Runner](https://docs.gitlab.com/runner/) 11.5 或更高版本. - -创建报告后,报告将作为工件上传,您可以稍后下载和评估. 合并请求小部件还显示任何安全警告. - -要了解更多信息,请参阅[秘密检测](../../user/application_security/secret_detection/index.html) . - -## Auto Dependency Scanning[](#auto-dependency-scanning-ultimate "Permalink") - -在[GitLab Ultimate](https://about.gitlab.com/pricing/) 10.7 中引入. - -Dependency Scanning 使用[Dependency Scanning Docker 映像](https://gitlab.com/gitlab-org/security-products/dependency-scanning)对项目依赖项进行分析,并检查潜在的安全问题. 在非[Ultimate](https://about.gitlab.com/pricing/)许可证上,将跳过"自动依赖项扫描"阶段,并且需要[GitLab Runner](https://docs.gitlab.com/runner/) 11.5 或更高版本. - -创建报告后,报告将作为工件上传,您可以稍后下载并签出. 合并请求小部件显示检测到的所有安全警告, - -要了解有关" [依赖关系扫描"的](../../user/application_security/dependency_scanning/index.html)更多信息,请参阅文档. - -## Auto License Compliance[](#auto-license-compliance-ultimate "Permalink") - -在[GitLab Ultimate](https://about.gitlab.com/pricing/) 11.0 中引入. - -许可证合规性使用[许可证合规性 Docker 映像](https://gitlab.com/gitlab-org/security-products/license-management)在项目依赖项中搜索其许可证. 除[Ultimate](https://about.gitlab.com/pricing/)以外的其他许可证将跳过"自动许可证合规性"阶段. - -创建报告后,报告将作为工件上传,您可以稍后下载并签出. 合并请求显示所有检测到的许可证. - -要了解有关[许可证合规性的](../../user/compliance/license_compliance/index.html)更多[信息](../../user/compliance/license_compliance/index.html) ,请参阅文档. - -## Auto Container Scanning[](#auto-container-scanning-ultimate "Permalink") - -在 GitLab 10.4 中引入. - -Vulnerability Static Analysis for containers uses [Clair](https://github.com/quay/clair) to check for potential security issues on Docker images. The Auto Container Scanning stage is skipped on licenses other than [Ultimate](https://about.gitlab.com/pricing/). - -创建报告后,报告将作为工件上传,您可以稍后下载并签出. 合并请求显示所有检测到的安全问题. - -To learn more about [Container Scanning](../../user/application_security/container_scanning/index.html), see the documentation. - -## Auto Review Apps[](#auto-review-apps "Permalink") - -这是一个可选步骤,因为许多项目没有可用的 Kubernetes 集群. 如果不满足[要求](requirements.html) ,则将跳过该作业. - -[Review App](../../ci/review_apps/index.html)是基于分支机构代码的临时应用程序环境,因此开发人员,设计人员,质量检查人员,产品经理和其他审阅者可以在审阅过程中实际查看代码更改并与之交互. 自动审核应用程序为每个分支创建一个审核应用程序. - -Auto Review Apps 仅将您的应用程序部署到 Kubernetes 集群. 如果没有可用的群集,则不会进行部署. - -Review App 具有基于项目 ID,分支或标签名称,唯一编号和 Auto DevOps 基本域(例如`13083-review-project-branch-123456.example.com`的组合的唯一 URL. 合并请求小部件显示指向 Review App 的链接,以便于发现. 当删除分支或标签时,例如在合并合并请求之后,Review App 也将被删除. - -可以使用带有 Helm 的[auto-deploy-app](https://gitlab.com/gitlab-org/charts/auto-deploy-app)图表来部署评论应用,您可以对其进行[自定义](customize.html#custom-helm-chart) . 该应用程序将部署到环境的[Kubernetes 命名空间](../../user/project/clusters/index.html#deployment-variables)中. - -从 GitLab 11.4 开始,使用[本地 Tiller](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/22036) . 早期版本的 GitLab 在项目名称空间中安装了一个 Tiller. - -**注意:**您的应用程序*不*应该(直接使用 Kubernetes)以外的操纵舵的. 这可能会导致 Helm 无法检测到更改而造成混乱,随后使用 Auto DevOps 进行的部署可能会撤消您的更改. 同样,如果您更改了某些内容并想通过再次部署来撤消它,Helm 可能不会在一开始就检测到任何更改,因此不会意识到它需要重新应用旧配置. - -## Auto DAST[](#auto-dast-ultimate "Permalink") - -在[GitLab Ultimate](https://about.gitlab.com/pricing/) 10.4 中引入. - -动态应用程序安全测试(DAST)使用流行的开源工具[OWASP ZAProxy](https://github.com/zaproxy/zaproxy)分析当前代码并检查潜在的安全问题. 除[Ultimate](https://about.gitlab.com/pricing/)以外的其他许可证将跳过 Auto DAST 阶段. - -* 在默认分支上,除非您[覆盖目标分支](#overriding-the-dast-target) ,否则 DAST 会扫描专门为此目的部署的应用程序. DAST 运行后,该应用将被删除. -* 在功能分支上,DAST 扫描[审阅应用程序](#auto-review-apps) . - -DAST 扫描完成后,所有安全警告都会显示在" [安全仪表板"](../../user/application_security/security_dashboard/index.html)和"合并请求"小部件上. - -To learn more about [Dynamic Application Security Testing](../../user/application_security/dast/index.html), see the documentation. - -### Overriding the DAST target[](#overriding-the-dast-target "Permalink") - -要使用自定义目标而不是自动部署的审阅应用程序,请将`DAST_WEBSITE`环境变量设置为 URL 以便 DAST 进行扫描. - -**危险:**如果启用了[DAST Full Scan](../../user/application_security/dast/index.html#full-scan) ,则 GitLab 强烈建议**不要**将`DAST_WEBSITE`设置为任何暂存或生产环境. DAST 全面扫描会主动攻击目标,这可能会破坏您的应用程序并导致数据丢失或损坏. - -### Disabling Auto DAST[](#disabling-auto-dast "Permalink") - -您可以禁用 DAST: - -* 通过将`DAST_DISABLED`环境变量设置为`"true"`在所有分支上. -* 通过将`DAST_DISABLED_FOR_DEFAULT_BRANCH`环境变量设置为`"true"`仅在默认分支上. -* 通过将环境变量`REVIEW_DISABLED`设置为`"true"`仅在要素分支上. 这也会禁用 Review App. - -## Auto Browser Performance Testing[](#auto-browser-performance-testing-premium "Permalink") - -在[GitLab Premium](https://about.gitlab.com/pricing/) 10.4 中引入. - -自动[浏览器性能测试](../../user/project/merge_requests/browser_performance_testing.html)使用[Sitespeed.io 容器](https://hub.docker.com/r/sitespeedio/sitespeed.io/)测量网页的浏览器性能,创建包括每个页面的整体性能得分的 JSON 报告,并将报告作为工件上传. 默认情况下,它将测试"审阅"和"生产"环境的根页面. 如果要测试其他 URL,请将路径添加到根目录中名为`.gitlab-urls.txt`的文件中,每行一个文件. 例如: - -``` -/ -/features -/direction -``` - -[合并请求小部件](../../user/project/merge_requests/browser_performance_testing.html)中还会[显示](../../user/project/merge_requests/browser_performance_testing.html)源分支与目标分支之间的任何浏览器性能差异. - -## Auto Load Performance Testing[](#auto-load-performance-testing-premium "Permalink") - -在[GitLab Premium](https://about.gitlab.com/pricing/) 13.2 中引入. - -自动[负载性能测试](../../user/project/merge_requests/load_performance_testing.html)使用[k6 容器](https://hub.docker.com/r/loadimpact/k6/)测量应用程序的服务器性能,创建包含多个关键结果指标的 JSON 报告,并将报告作为工件上传. - -需要一些初始设置. 需要编写针对您的特定应用的[k6](https://k6.io/)测试. 还需要配置测试,以便它可以通过环境变量获取环境的动态 URL. - -[合并请求小部件](../../user/project/merge_requests/load_performance_testing.html)中还会[显示](../../user/project/merge_requests/load_performance_testing.html)源分支与目标分支之间的任何负载性能测试结果差异. - -## Auto Deploy[](#auto-deploy "Permalink") - -这是一个可选步骤,因为许多项目没有可用的 Kubernetes 集群. 如果不满足[要求](requirements.html) ,则跳过该作业. - -将分支或合并请求合并到项目的默认分支(通常是`master` )后,Auto Deploy 会将应用程序部署到 Kubernetes 集群中的`production`环境中,该环境具有基于项目名称和唯一项目 ID 的命名空间,例如`project-4321` . - -默认情况下,"自动部署"不包括到暂存或 Canary 环境的部署,但是如果要启用这些任务,则" [Auto DevOps"模板](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Auto-DevOps.gitlab-ci.yml)包含这些任务的作业定义. - -您可以使用[环境变量](customize.html#environment-variables)来自动缩放 Pod 副本,并将自定义参数应用于 Auto DevOps `helm upgrade`命令. 这是[自定义 Auto Deploy Helm 图表](customize.html#custom-helm-chart)的简便方法. - -Helm 使用[auto-deploy-app](https://gitlab.com/gitlab-org/charts/auto-deploy-app)图表将应用程序部署到环境的[Kubernetes 命名空间](../../user/project/clusters/index.html#deployment-variables)中. - -从 GitLab 11.4 开始,将使用[本地 Tiller](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/22036) . 早期版本的 GitLab 在项目名称空间中安装了一个 Tiller. - -**注意:**您的应用程序*不*应该(直接使用 Kubernetes)以外的操纵舵的. 这可能会导致 Helm 无法检测到更改而造成混乱,随后使用 Auto DevOps 进行的部署可能会撤消您的更改. 同样,如果您更改了某些内容并想通过再次部署来撤消它,Helm 可能不会在一开始就检测到任何更改,因此不会意识到它需要重新应用旧配置. - -### GitLab deploy tokens[](#gitlab-deploy-tokens "Permalink") - -在 GitLab 11.0 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/19507) . - -启用 Auto DevOps 时,将为内部和私有项目创建[GitLab 部署令牌](../../user/project/deploy_tokens/index.html#gitlab-deploy-token) ,并保存 Auto DevOps 设置. 您可以使用部署令牌对注册表进行永久访问. 手动吊销 GitLab 部署令牌后,将不会自动创建它. - -如果找不到 GitLab 部署令牌,则使用`CI_REGISTRY_PASSWORD` . - -**Note:** `CI_REGISTRY_PASSWORD` is only valid during deployment. Kubernetes will be able to successfully pull the container image during deployment, but if the image must be pulled again, such as after pod eviction, Kubernetes will fail to do so as it attempts to fetch the image using `CI_REGISTRY_PASSWORD`. - -### Kubernetes 1.16+[](#kubernetes-116 "Permalink") - -版本历史 - -* 在 GitLab 12.8 中[引入](https://gitlab.com/gitlab-org/charts/auto-deploy-app/-/merge_requests/51) . -* 在 GitLab 12.9 中[引入](https://gitlab.com/gitlab-org/cluster-integration/auto-deploy-image/-/merge_requests/49)了对部署支持 Kubernetes 1.16+的 PostgreSQL 版本的支持. -* 自 GitLab 13.0 起为新部署提供开箱即用的支持. - -**弃用:**在[GitLab 13.0 中](https://gitlab.com/gitlab-org/charts/auto-deploy-app/-/issues/47) , `deploymentApiVersion`设置的默认值已从`extensions/v1beta`更改为`apps/v1` . - -在 Kubernetes 1.16 和更高版本中, [删除](https://kubernetes.io/blog/2019/07/18/api-deprecations-in-1-16/)了许多[API](https://kubernetes.io/blog/2019/07/18/api-deprecations-in-1-16/) ,包括在`extensions/v1beta1`版本中支持`Deployment` . - -要在 Kubernetes 1.16+群集上使用 Auto Deploy: - -1. 如果您是第一次在 GitLab 13.0 或更高版本上部署应用程序,则无需进行配置. - -2. 在 GitLab 12.10 或更旧版本上,在[`.gitlab/auto-deploy-values.yaml`文件中](customize.html#customize-values-for-helm-chart)设置以下内容: - - ``` - deploymentApiVersion: apps/v1 - ``` - -3. 如果您安装了集群内 PostgreSQL 数据库,并且`AUTO_DEVOPS_POSTGRES_CHANNEL`设置为`1` ,请按照[指南升级 PostgreSQL](upgrading_postgresql.html) . - -4. 如果您是第一次部署应用程序,并且使用的是 GitLab 12.9 或 12.10,请将`AUTO_DEVOPS_POSTGRES_CHANNEL`设置为`2` . - -**危险:**在 GitLab 12.9 和 12.10 上,选择使用`AUTO_DEVOPS_POSTGRES_CHANNEL`版本`2`会删除版本`1` PostgreSQL 数据库. 在选择版本`2`之前,请遵循[升级 PostgreSQL](upgrading_postgresql.html)的[指南来](upgrading_postgresql.html)备份和还原数据库(在 GitLab 13.0 上,需要附加变量来触发数据库删除). - -### Migrations[](#migrations "Permalink") - -在 GitLab 11.4 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/21955) - -您可以通过分别设置项目变量`DB_INITIALIZE`和`DB_MIGRATE`来配置 PostgreSQL 的数据库初始化和迁移,以使其在应用程序窗格中运行. - -如果存在, `DB_INITIALIZE`作为 Shell 命令作为 Helm 安装后挂钩在外壳中运行. 由于某些应用程序如果没有成功的数据库初始化步骤就无法运行,因此 GitLab 部署的第一个发行版没有应用程序部署,而只有数据库初始化步骤. 数据库初始化完成后,GitLab 部署第二个版本,并且应用程序部署正常. - -请注意,安装后挂钩意味着如果任何部署成功,则`DB_INITIALIZE`将不再处理`DB_INITIALIZE` . - -如果存在, `DB_MIGRATE`作为 Shell 命令作为 Helm 预升级挂钩在 Shell 中运行. - -例如,在用[Herokuish](https://github.com/gliderlabs/herokuish)构建的图像中的 Rails 应用程序中: - -* 可以将`DB_INITIALIZE`设置为`RAILS_ENV=production /bin/herokuish procfile exec bin/rails db:setup` -* 可以将`DB_MIGRATE`设置为`RAILS_ENV=production /bin/herokuish procfile exec bin/rails db:migrate` - -除非您的存储库包含`Dockerfile` ,否则映像是使用 Herokuish 构建的,并且必须在这些映像中运行的命令前加上`/bin/herokuish procfile exec`前缀,以复制将在其中运行应用程序的环境. - -### Workers[](#workers "Permalink") - -某些 Web 应用程序必须为"工作流程"运行额外的部署. 例如,Rails 应用程序通常使用单独的工作进程来运行后台任务,例如发送电子邮件. - -Auto Deploy 中使用的[默认 Helm 图表](https://gitlab.com/gitlab-org/charts/auto-deploy-app) [支持运行工作进程](https://gitlab.com/gitlab-org/charts/auto-deploy-app/-/merge_requests/9) . - -要运行工作程序,必须确保工作程序可以响应标准的运行状况检查,该检查将在端口`5000`上期望成功的 HTTP 响应. 对于[Sidekiq](https://github.com/mperham/sidekiq) ,可以使用[`sidekiq_alive` gem](https://rubygems.org/gems/sidekiq_alive) . - -要使用 Sidekiq,还必须确保您的部署可以访问 Redis 实例. Auto DevOps 不会为您部署此实例,因此您必须: - -* 维护您自己的 Redis 实例. -* 设置 CI 变量`K8S_SECRET_REDIS_URL` ,它是该实例的 URL,以确保将其传递到您的部署中. - -在将工作程序配置为对运行状况检查作出响应之后,为您的 Rails 应用程序运行 Sidekiq 工作程序. 您可以通过在[`.gitlab/auto-deploy-values.yaml`文件中](customize.html#customize-values-for-helm-chart)设置以下内容来启用工作[`.gitlab/auto-deploy-values.yaml`](customize.html#customize-values-for-helm-chart) : - -``` -workers: - sidekiq: - replicaCount: 1 - command: - - /bin/herokuish - - procfile - - exec - - sidekiq - preStopCommand: - - /bin/herokuish - - procfile - - exec - - sidekiqctl - - quiet - terminationGracePeriodSeconds: 60 -``` - -### Network Policy[](#network-policy "Permalink") - -在 GitLab 12.7 中[引入](https://gitlab.com/gitlab-org/charts/auto-deploy-app/-/merge_requests/30) . - -默认情况下,所有 Kubernetes 容器都是[非隔离的](https://kubernetes.io/docs/concepts/services-networking/network-policies/#isolated-and-non-isolated-pods) ,并且接受来自任何来源的流量. 您可以使用[NetworkPolicy](https://kubernetes.io/docs/concepts/services-networking/network-policies/)限制与选定 Pod,名称空间和 Internet 之间的连接. - -**注意:**您必须使用 Kubernetes 网络插件来实现对`NetworkPolicy`支持. Kubernetes( `kubenet` )的默认网络插件[未实现](https://kubernetes.io/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/#kubenet) `kubenet`支持. 可以将[Cilium](https://cilium.io/)网络插件安装为[群集应用程序,](../../user/clusters/applications.html#install-cilium-using-gitlab-cicd)以支持网络策略. - -您可以通过在`.gitlab/auto-deploy-values.yaml`文件中设置以下内容来启用网络策略`.gitlab/auto-deploy-values.yaml` : - -``` -networkPolicy: - enabled: true -``` - -Auto Deploy 管道部署的默认策略允许本地名称空间内以及`gitlab-managed-apps`名称空间的`gitlab-managed-apps` . 所有其他入站连接均被阻止. 出站流量(例如,到 Internet 的流量)不受默认策略的影响. - -您还可以在`.gitlab/auto-deploy-values.yaml`文件中提供自定义[策略规范](https://kubernetes.io/docs/concepts/services-networking/network-policies/) ,例如: - -``` -networkPolicy: - enabled: true - spec: - podSelector: - matchLabels: - app.gitlab.com/env: staging - ingress: - - from: - - podSelector: - matchLabels: {} - - namespaceSelector: - matchLabels: - app.gitlab.com/managed_by: gitlab -``` - -有关安装网络策略的更多信息,请参阅[使用 GitLab CI / CD 安装 Cilium](../../user/clusters/applications.html#install-cilium-using-gitlab-cicd) . - -### Web Application Firewall (ModSecurity) customization[](#web-application-firewall-modsecurity-customization "Permalink") - -在 GitLab 12.8 中[引入](https://gitlab.com/gitlab-org/charts/auto-deploy-app/-/merge_requests/44) . - -[安装](../../user/clusters/applications.html#web-application-firewall-modsecurity)了[ModSecurity 的](../../user/clusters/applications.html#web-application-firewall-modsecurity)群集可以在[Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/)或部署基础上进行自定义. - -要在 Auto Deploy 中启用 ModSecurity,必须在项目中使用以下属性创建`.gitlab/auto-deploy-values.yaml`文件. - -| Attribute | Description | Default | -| --- | --- | --- | -| `enabled` | 启用 ModSecurity 的自定义配置,默认为" [核心规则集"](https://coreruleset.org/) | `false` | -| `secRuleEngine` | 配置[规则引擎](https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual-(v2.x)#secruleengine) | `DetectionOnly` | -| `secRules` | 创建一个或多个其他[规则](https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual-(v2.x)#SecRule) | `nil` | - -在以下`auto-deploy-values.yaml`示例中,为 ModSecurity 启用了一些自定义设置. 其中包括将其引擎设置为处理规则,而不是仅记录规则,同时添加两个基于标头的特定规则: - -``` -ingress: - modSecurity: - enabled: true - secRuleEngine: "On" - secRules: - - variable: "REQUEST_HEADERS:User-Agent" - operator: "printer" - action: "log,deny,id:'2010',status:403,msg:'printer is an invalid agent'" - - variable: "REQUEST_HEADERS:Content-Type" - operator: "text/plain" - action: "log,deny,id:'2011',status:403,msg:'Text is not supported as content type'" -``` - -### Running commands in the container[](#running-commands-in-the-container "Permalink") - -除非您的存储库包含[自定义 Dockerfile](#auto-build-using-a-dockerfile) ,否则默认情况下使用 Herokuish 使用[Auto Build 构建的](#auto-build)应用程序可能要求将命令包装如下: - -``` -/bin/herokuish procfile exec $COMMAND -``` - -您可能需要包装命令的一些原因: - -* 使用`kubectl exec`附加. -* 使用 GitLab 的[Web 终端](../../ci/environments/index.html#web-terminals) . - -例如,要从应用程序根目录启动 Rails 控制台,请运行: - -``` -/bin/herokuish procfile exec bin/rails c -``` - -## Auto Monitoring[](#auto-monitoring "Permalink") - -部署应用程序后,"自动监视"可帮助您立即监视应用程序的服务器和响应指标. 自动监控使用[Prometheus](../../user/project/integrations/prometheus.html)直接从[Kubernetes](../../user/project/integrations/prometheus_library/kubernetes.html)检索系统指标,例如 CPU 和内存使用情况,以及从[NGINX 服务器](../../user/project/integrations/prometheus_library/nginx_ingress.html)检索响应指标,例如 HTTP 错误率,延迟和吞吐量. - -指标包括: - -* **响应指标:**延迟,吞吐量,错误率 -* **系统指标:** CPU 利用率,内存利用率 - -安装 Prometheus 之后,GitLab 会为您提供一些初始警报: - -* 入口状态码`500` > 0.1% -* NGINX 状态码`500` > 0.1% - -要使用自动监视: - -1. [Install and configure the Auto DevOps requirements](requirements.html). -2. 如果尚未[启用 Auto DevOps](index.html#enablingdisabling-auto-devops) ,请[启用它](index.html#enablingdisabling-auto-devops) . -3. 导航到您项目的 **CI / CD>管道** ,然后单击**运行管道** . -4. 管道成功完成后,打开已[部署环境](../../ci/environments/index.html#monitoring-environments)的[监视仪表板](../../ci/environments/index.html#monitoring-environments)以查看已部署应用程序的指标. 要查看整个 Kubernetes 集群的指标,请导航至 **操作>指标** . - -[![Auto Metrics](img/96aa3b50d60a091349e8d39c74877a5d.png)](img/auto_monitoring.png) \ No newline at end of file diff --git a/docs/212.md b/docs/212.md deleted file mode 100644 index ba474c1..0000000 --- a/docs/212.md +++ /dev/null @@ -1,207 +0,0 @@ -# Upgrading PostgreSQL for Auto DevOps - -> 原文:[https://docs.gitlab.com/ee/topics/autodevops/upgrading_postgresql.html](https://docs.gitlab.com/ee/topics/autodevops/upgrading_postgresql.html) - -* [Prerequisites](#prerequisites) -* [Take your application offline](#take-your-application-offline) -* [Backup](#backup) -* [Retain persistent volumes](#retain-persistent-volumes) -* [Install new PostgreSQL](#install-new-postgresql) -* [Restore](#restore) -* [Reinstate your application](#reinstate-your-application) - -# Upgrading PostgreSQL for Auto DevOps[](#upgrading-postgresql-for-auto-devops "Permalink") - -Auto DevOps 为您的应用程序提供[集群内 PostgreSQL 数据库](customize.html#postgresql-database-support) . - -用于配置 PostgreSQL 的图表的版本: - -* 在 GitLab 12.8 及更早版本中为 0.7.1. -* 在 GitLab 12.9 及更高版本中可以设置为 0.7.1 至 8.2.1. - -GitLab 鼓励用户将其数据库迁移到较新的 PostgreSQL 图表. - -本指南提供有关如何迁移 PostgreSQL 数据库的说明,其中包括: - -1. 对数据进行数据库转储. -2. 使用图表的较新版本 8.2.1 安装新的 PostgreSQL 数据库,并删除旧的 PostgreSQL 安装. -3. 将数据库转储还原到新的 PostgreSQL 中. - -## Prerequisites[](#prerequisites "Permalink") - -1. Install [`kubectl`](https://kubernetes.io/docs/tasks/tools/install-kubectl/). -2. 确保您可以使用`kubectl`访问 Kubernetes 集群. 这取决于 Kubernetes 提供者. -3. 准备停机. 下面的步骤包括使应用程序脱机,以便在创建数据库转储后不修改集群内数据库. -4. 确保尚未将`POSTGRES_ENABLED`设置为`false` ,因为此设置将删除任何现有的通道 1 数据库. 有关更多信息,请参见[检测到现有的 PostgreSQL 数据库](index.html#detected-an-existing-postgresql-database) . - -**提示:**如果已将 Auto DevOps 配置为具有暂存,请考虑先尝试暂存并还原备份和还原步骤,或者在审阅应用程序中尝试此步骤. - -## Take your application offline[](#take-your-application-offline "Permalink") - -如果需要,请使应用程序脱机,以防止在创建数据库转储后修改数据库. - -1. 获取环境的 Kubernetes 命名空间. 它通常看起来像`<project-name>-<project-id>-<environment>` . 在我们的示例中,名称空间称为`minimal-ruby-app-4349298-production` . - - ``` - $ kubectl get ns - - NAME STATUS AGE - minimal-ruby-app-4349298-production Active 7d14h - ``` - -2. 为了易于使用,请导出名称空间名称: - - ``` - export APP_NAMESPACE=minimal-ruby-app-4349298-production - ``` - -3. 使用以下命令获取应用程序的部署名称. 在我们的示例中,部署名称为`production` . - - ``` - $ kubectl get deployment --namespace "$APP_NAMESPACE" - NAME READY UP-TO-DATE AVAILABLE AGE - production 2/2 2 2 7d21h - production-postgres 1/1 1 1 7d21h - ``` - -4. 为了防止数据库被修改,请使用以下命令将副本的副本数设置为 0\. 我们使用上一步中的部署名称( `deployments/<DEPLOYMENT_NAME>` ). - - ``` - $ kubectl scale --replicas=0 deployments/production --namespace "$APP_NAMESPACE" - deployment.extensions/production scaled - ``` - -5. 如果有的话,还需要将 worker 的副本设置为零. - -## Backup[](#backup "Permalink") - -1. 获取 PostgreSQL 的服务名称. 服务的名称应以`-postgres` . 在我们的示例中,服务名称为`production-postgres` . - - ``` - $ kubectl get svc --namespace "$APP_NAMESPACE" - NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE - production-auto-deploy ClusterIP 10.30.13.90 <none> 5000/TCP 7d14h - production-postgres ClusterIP 10.30.4.57 <none> 5432/TCP 7d14h - ``` - -2. 使用以下命令获取 PostgreSQL 的 pod 名称. 在我们的示例中,吊舱名称为`production-postgres-5db86568d7-qxlxv` . - - ``` - $ kubectl get pod --namespace "$APP_NAMESPACE" -l app=production-postgres - NAME READY STATUS RESTARTS AGE - production-postgres-5db86568d7-qxlxv 1/1 Running 0 7d14h - ``` - -3. 通过以下方式连接到吊舱: - - ``` - kubectl exec -it production-postgres-5db86568d7-qxlxv --namespace "$APP_NAMESPACE" bash - ``` - -4. 连接后,使用以下命令创建转储文件. - - * `SERVICE_NAME`是在上一步中获得的服务名称. - * `USERNAME`是您为 PostgreSQL 配置的用户名. 默认值为`user` . - * `DATABASE_NAME`通常是环境名称. - - * 系统将要求您输入数据库密码,默认`testing-password`是`testing-password` . - - ``` - ## Format is: - # pg_dump -h SERVICE_NAME -U USERNAME DATABASE_NAME > /tmp/backup.sql - - pg_dump -h production-postgres -U user production > /tmp/backup.sql - ``` - -5. 备份转储完成后,使用`Control-D` `exit` Kubernetes exec 进程或`exit` . - -6. 使用以下命令下载转储文件: - - ``` - kubectl cp --namespace "$APP_NAMESPACE" production-postgres-5db86568d7-qxlxv:/tmp/backup.sql backup.sql - ``` - -## Retain persistent volumes[](#retain-persistent-volumes "Permalink") - -默认情况下,当`Delete`使用该卷的 Pod 和 Pod 声明时,用于存储 PostgreSQL 基础数据的[持久卷](https://kubernetes.io/docs/concepts/storage/persistent-volumes/)将标记为`Delete` . - -这很重要,因为当您选择使用较新的 8.2.1 PostgreSQL 时,会删除较旧的 0.7.1 PostgreSQL,从而导致永久卷也被删除. - -您可以使用以下命令进行验证: - -``` -$ kubectl get pv -NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE -pvc-0da80c08-5239-11ea-9c8d-42010a8e0096 8Gi RWO Delete Bound minimal-ruby-app-4349298-staging/staging-postgres standard 7d22h -pvc-9085e3d3-5239-11ea-9c8d-42010a8e0096 8Gi RWO Delete Bound minimal-ruby-app-4349298-production/production-postgres standard 7d22h -``` - -为了保留持久卷,即使删除了较旧的 0.7.1 PostgreSQL,我们也可以将保留策略更改为`Retain` . 在此示例中,我们通过查看声明名称来找到持久卷名称. 由于我们有兴趣保留用于`minimal-ruby-app-4349298`应用程序的阶段和生产的卷,因此此处的卷名称为`pvc-0da80c08-5239-11ea-9c8d-42010a8e0096`和`pvc-9085e3d3-5239-11ea-9c8d-42010a8e0096` : - -``` -$ kubectl patch pv pvc-0da80c08-5239-11ea-9c8d-42010a8e0096 -p '{"spec":{"persistentVolumeReclaimPolicy":"Retain"}}' -persistentvolume/pvc-0da80c08-5239-11ea-9c8d-42010a8e0096 patched -$ kubectl patch pv pvc-9085e3d3-5239-11ea-9c8d-42010a8e0096 -p '{"spec":{"persistentVolumeReclaimPolicy":"Retain"}}' -persistentvolume/pvc-9085e3d3-5239-11ea-9c8d-42010a8e0096 patched -$ kubectl get pv -NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE -pvc-0da80c08-5239-11ea-9c8d-42010a8e0096 8Gi RWO Retain Bound minimal-ruby-app-4349298-staging/staging-postgres standard 7d22h -pvc-9085e3d3-5239-11ea-9c8d-42010a8e0096 8Gi RWO Retain Bound minimal-ruby-app-4349298-production/production-postgres standard 7d22h -``` - -## Install new PostgreSQL[](#install-new-postgresql "Permalink") - -**注意:**使用较新版本的 PostgreSQL 将删除较旧的 0.7.1 PostgreSQL. 为了防止基础数据被删除,您可以选择保留[持久卷](#retain-persistent-volumes) .**提示:**您还可以将`AUTO_DEVOPS_POSTGRES_CHANNEL` , `AUTO_DEVOPS_POSTGRES_DELETE_V1`和`POSTGRES_VERSION`变量的[作用域](../../ci/environments/index.html#scoping-environments-with-specs)设置为特定环境,例如`staging` . - -1. 将`AUTO_DEVOPS_POSTGRES_CHANNEL`设置为`2` . 选择使用较新的基于 8.2.1 的 PostgreSQL,并删除较旧的基于 0.7.1 的 PostgreSQL. -2. 将`AUTO_DEVOPS_POSTGRES_DELETE_V1`设置为非空值. 此标志是防止意外删除数据库的保护措施. -3. 将`POSTGRES_VERSION`设置为`11.7` . 这是支持的最低 PostgreSQL 版本. -4. 将`PRODUCTION_REPLICAS`设置为`0` . 对于其他环境, `REPLICAS`在[环境范围内](../../ci/environments/index.html#scoping-environments-with-specs)使用`REPLICAS` . -5. 如果已设置`DB_INITIALIZE`或`DB_MIGRATE`变量,请删除变量,或将变量临时重命名为`XDB_INITIALIZE`或`XDB_MIGRATE`以有效地禁用它们. -6. Run a new CI pipeline for the branch. In this case, we run a new CI pipeline for `master`. -7. 一旦管道成功,您的应用程序现在将安装新的 PostgreSQL 进行升级. 复制品也将为零,这意味着将不为您的应用程序提供任何流量(以防止新数据进入). - -## Restore[](#restore "Permalink") - -1. 获取新 PostgreSQL 的容器名称,在我们的示例中,容器名称为`production-postgresql-0` : - - ``` - $ kubectl get pod --namespace "$APP_NAMESPACE" -l app=postgresql - NAME READY STATUS RESTARTS AGE - production-postgresql-0 1/1 Running 0 19m - ``` - -2. 将转储文件从备份步骤复制到 Pod: - - ``` - kubectl cp --namespace "$APP_NAMESPACE" backup.sql production-postgresql-0:/tmp/backup.sql - ``` - -3. 连接到吊舱: - - ``` - kubectl exec -it production-postgresql-0 --namespace "$APP_NAMESPACE" bash - ``` - -4. 连接到 Pod 后,运行以下命令来还原数据库. - - * 系统将要求您输入数据库密码,默认`testing-password`是`testing-password` . - * `USERNAME`是您为 PostgreSQL 配置的用户名. 默认值为`user` . - * `DATABASE_NAME`通常是环境名称. - - ``` - ## Format is: - # psql -U USERNAME -d DATABASE_NAME < /tmp/backup.sql - - psql -U user -d production < /tmp/backup.sql - ``` - -5. 现在,您可以检查还原完成后是否已正确还原数据. 您可以使用`psql`对数据进行抽查. - -## Reinstate your application[](#reinstate-your-application "Permalink") - -对数据库已还原感到满意后,请运行以下步骤来恢复您的应用程序: - -1. 如果先前已删除或禁用了`DB_INITIALIZE`和`DB_MIGRATE`变量,则将其还原. -2. 将`PRODUCTION_REPLICAS`或`REPLICAS`变量恢复为其原始值. -3. 为分支运行新的 CI 管道. 在这种情况下,我们为`master`运行新的 CI 管道. 管道成功后,您的应用程序应该像以前一样提供流量. \ No newline at end of file diff --git a/docs/213.md b/docs/213.md deleted file mode 100644 index e63a1b6..0000000 --- a/docs/213.md +++ /dev/null @@ -1,477 +0,0 @@ -# Cache dependencies in GitLab CI/CD - -> 原文:[https://docs.gitlab.com/ee/ci/caching/](https://docs.gitlab.com/ee/ci/caching/) - -* [Cache vs artifacts](#cache-vs-artifacts) -* [Good caching practices](#good-caching-practices) - * [Sharing caches across the same branch](#sharing-caches-across-the-same-branch) - * [Sharing caches across different branches](#sharing-caches-across-different-branches) - * [Disabling cache on specific jobs](#disabling-cache-on-specific-jobs) - * [Inherit global config, but override specific settings per job](#inherit-global-config-but-override-specific-settings-per-job) -* [Common use cases](#common-use-cases) - * [Caching Node.js dependencies](#caching-nodejs-dependencies) - * [Caching PHP dependencies](#caching-php-dependencies) - * [Caching Python dependencies](#caching-python-dependencies) - * [Caching Ruby dependencies](#caching-ruby-dependencies) - * [Caching Go dependencies](#caching-go-dependencies) -* [Availability of the cache](#availability-of-the-cache) - * [Where the caches are stored](#where-the-caches-are-stored) - * [How archiving and extracting works](#how-archiving-and-extracting-works) - * [Cache mismatch](#cache-mismatch) - * [Examples](#examples) -* [Clearing the cache](#clearing-the-cache) - * [Clearing the cache by changing `cache:key`](#clearing-the-cache-by-changing-cachekey) - * [Clearing the cache manually](#clearing-the-cache-manually) - -# Cache dependencies in GitLab CI/CD[](#cache-dependencies-in-gitlab-cicd "Permalink") - -GitLab CI / CD 提供了一种缓存机制,可用于在作业运行时节省时间. - -缓存是指通过重用先前作业的相同内容来加快执行作业的时间. 当您开发依赖于在构建期间通过 Internet 获取的其他库的软件时,此功能特别有用. - -如果启用了缓存,则默认情况下从 GitLab 9.0 开始,它在项目级别的管道和作业之间共享. 缓存不跨项目共享. - -确保您阅读了[`cache`参考](../yaml/README.html#cache)以了解`.gitlab-ci.yml`定义. - -## Cache vs artifacts[](#cache-vs-artifacts "Permalink") - -**注意:**如果您使用缓存和工件在作业中存储相同的路径时要小心,因为在覆盖**工件**和内容**之前** ,将**还原缓存** . - -不要使用缓存在阶段之间传递工件,因为缓存旨在存储编译项目所需的运行时依赖项: - -* `cache`: **用于存储项目依赖项** - - 缓存用于通过存储下载的依赖项来加快后续作业在给定**管道中的**运行速度,这样就不必再次从 Internet 上获取它们(例如 npm 软件包,Go 供应商软件包等).配置为在阶段之间传递中间构建结果,则应该使用工件来完成. - -* `artifacts`: **用于在阶段之间传递的阶段结果.** - - 工件是由作业生成的文件,可以存储并上载,然后可以在**同一管道的**后续阶段中由作业获取和使用. 换句话说, [您不能在阶段 1 的 job-A 中创建工件,然后在阶段 1 的 job-B 中使用此工件](https://gitlab.com/gitlab-org/gitlab/-/issues/25837) . 此数据在不同的管道中将不可用,但可以从 UI 下载. - -`artifacts`的名称听起来像是仅在工作之外有用,例如用于下载最终图像,但是人工制品也可以在管道的后期阶段使用. 因此,如果通过下载所有必需的模块来构建应用程序,则可能需要将它们声明为工件,以便后续阶段可以使用它们. 有一些优化措施,例如声明[到期时间,](../yaml/README.html#artifactsexpire_in)这样您就不会将工件保留太长时间,或者使用[依赖项](../yaml/README.html#dependencies)来控制哪些作业会获取工件. - -Caches: - -* 如果未全局定义或未按作业定义(使用`cache:` :),则禁用该功能. -* 如果全局启用,则可用于`.gitlab-ci.yml`所有作业. -* 可以由创建缓存的同一作业在后续管道中使用(如果未全局定义). -* 如果[启用了分布式缓存](https://docs.gitlab.com/runner/configuration/autoscale.html) ,则将它们存储在 Runner 安装的位置**并**上传到 S3. -* 如果按作业定义,则使用: - * 通过后续管道中的相同作业. - * 如果它们具有相同的依赖关系,则由同一管道中的后续作业组成. - -Artifacts: - -* 如果未按作业定义(使用`artifacts:` :),则将其禁用. -* 只能针对每个作业启用,不能全局启用. -* 在管道中创建,并且可以被当前活动管道的后续作业使用. -* 始终上传到 GitLab(称为协调器). -* 可以具有用于控制磁盘使用量的到期值(默认为 30 天). - -**注意:**工件和缓存均定义了相对于项目目录的路径,并且无法链接到其外部的文件. - -## Good caching practices[](#good-caching-practices "Permalink") - -We have the cache from the perspective of the developers (who consume a cache within the job) and the cache from the perspective of the Runner. Depending on which type of Runner you are using, cache can act differently. - -从开发人员的角度来看,要确保高速缓存的最大可用性,在作业中声明`cache` ,请使用以下一项或多项: - -* [为跑步者](../runners/README.html#use-tags-to-limit-the-number-of-jobs-using-the-runner)添加标签,并在共享其缓存的作业上使用标签. -* [使用](../runners/README.html#prevent-a-specific-runner-from-being-enabled-for-other-projects)仅适用于特定项目的[粘性运行器](../runners/README.html#prevent-a-specific-runner-from-being-enabled-for-other-projects) . -* [使用](../yaml/README.html#cachekey)适合您的工作流[的`key`](../yaml/README.html#cachekey) (例如,每个分支上的不同缓存). 为此,您可以利用[CI / CD 预定义变量](../variables/README.html#predefined-environment-variables) . - -**提示:**在管道中使用相同的 Runner 是在一个阶段或管道中缓存文件,并以有保证的方式将该缓存传递到后续阶段或管道的最简单,最有效的方法. - -从 Runner 的角度来看,为了使缓存有效运行,必须满足以下条件之一: - -* 为您的所有工作使用一个赛跑者. -* 使用多个使用[分布式缓存的](https://docs.gitlab.com/runner/configuration/autoscale.html) Runner(无论是否处于自动缩放模式),这些[缓存](https://docs.gitlab.com/runner/configuration/autoscale.html)将缓存存储在 S3 存储桶中(例如 GitLab.com 上的共享 Runner). -* 使用具有相同体系结构的多个运行程序(不在自动伸缩模式下)共享公共网络安装目录(使用 NFS 或类似方式),以存储缓存. - -**提示:**了解[缓存](#availability-of-the-cache)的[可用性,](#availability-of-the-cache)以了解有关内部的更多信息,并更好地了解缓存的工作方式. - -### Sharing caches across the same branch[](#sharing-caches-across-the-same-branch "Permalink") - -使用`key: ${CI_COMMIT_REF_SLUG}`定义一个缓存,以便每个分支的作业始终使用相同的缓存: - -``` -cache: - key: ${CI_COMMIT_REF_SLUG} -``` - -尽管这似乎可以防止意外覆盖缓存,但是这意味着合并请求的第一个流水线很慢,这可能会给开发人员带来糟糕的体验. 下次将新提交推送到分支时,将重新使用缓存. - -To enable per-job and per-branch caching: - -``` -cache: - key: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG" -``` - -要启用每个分支和每个阶段的缓存: - -``` -cache: - key: "$CI_JOB_STAGE-$CI_COMMIT_REF_SLUG" -``` - -### Sharing caches across different branches[](#sharing-caches-across-different-branches "Permalink") - -如果要缓存的文件需要在所有分支和所有作业之间共享,则可以对所有这些文件使用相同的密钥: - -``` -cache: - key: one-key-to-rule-them-all -``` - -要在分支之间共享相同的缓存,但按作业将它们分开: - -``` -cache: - key: ${CI_JOB_NAME} -``` - -### Disabling cache on specific jobs[](#disabling-cache-on-specific-jobs "Permalink") - -如果已全局定义了缓存,则意味着每个作业将使用相同的定义. 您可以按工作覆盖此行为,如果要完全禁用它,请使用空哈希: - -``` -job: - cache: {} -``` - -### Inherit global config, but override specific settings per job[](#inherit-global-config-but-override-specific-settings-per-job "Permalink") - -您可以使用[定位符](../yaml/README.html#anchors)覆盖缓存设置,而无需覆盖全局缓存. 例如,如果要覆盖一项作业的`policy` : - -``` -cache: &global_cache - key: ${CI_COMMIT_REF_SLUG} - paths: - - node_modules/ - - public/ - - vendor/ - policy: pull-push - -job: - cache: - # inherit all global cache settings - <<: *global_cache - # override the policy - policy: pull -``` - -要进行更精细的调整,还请阅读有关[`cache: policy`](../yaml/README.html#cachepolicy) . - -## Common use cases[](#common-use-cases "Permalink") - -缓存最常见的用例是在后续作业之间保留内容,以用于诸如依赖项和常用库(Node.js 包,PHP 包,rubygems,Python 库等)之类的东西,因此不必从公共互联网重新获取. - -**注意:**有关更多示例,请查看我们的[GitLab CI / CD 模板](https://gitlab.com/gitlab-org/gitlab/tree/master/lib/gitlab/ci/templates) . - -### Caching Node.js dependencies[](#caching-nodejs-dependencies "Permalink") - -假设您的项目正在使用[npm](https://s0www0npmjs0com.icopy.site/)安装 Node.js 依赖项,下面的示例将全局定义`cache` ,以便所有作业都继承它. 默认情况下,npm 将缓存数据存储在主文件夹`~/.npm`但是由于[您无法缓存项目目录之外的内容](../yaml/README.html#cachepaths) ,因此我们告诉 npm 使用`./.npm` ,它按分支缓存: - -``` -# -# https://gitlab.com/gitlab-org/gitlab/tree/master/lib/gitlab/ci/templates/Nodejs.gitlab-ci.yml -# -image: node:latest - -# Cache modules in between jobs -cache: - key: ${CI_COMMIT_REF_SLUG} - paths: - - .npm/ - -before_script: - - npm ci --cache .npm --prefer-offline - -test_async: - script: - - node ./specs/start.js ./specs/async.spec.js -``` - -### Caching PHP dependencies[](#caching-php-dependencies "Permalink") - -假设您的项目正在使用[Composer](https://s0getcomposer0org.icopy.site/)安装 PHP 依赖项,下面的示例将全局定义`cache` ,以便所有作业都继承它. PHP 库模块安装在`vendor/`并按分支缓存: - -``` -# -# https://gitlab.com/gitlab-org/gitlab/tree/master/lib/gitlab/ci/templates/PHP.gitlab-ci.yml -# -image: php:7.2 - -# Cache libraries in between jobs -cache: - key: ${CI_COMMIT_REF_SLUG} - paths: - - vendor/ - -before_script: - # Install and run Composer - - curl --show-error --silent https://getcomposer.org/installer | php - - php composer.phar install - -test: - script: - - vendor/bin/phpunit --configuration phpunit.xml --coverage-text --colors=never -``` - -### Caching Python dependencies[](#caching-python-dependencies "Permalink") - -假设您的项目正在使用[pip](https://pip.pypa.io/en/stable/)安装 Python 依赖项,以下示例将全局定义`cache` ,以便所有作业都继承它. Python 库安装在`venv/`下的虚拟环境中,pip 的缓存在`.cache/pip/`下定义,并且两者均按分支缓存: - -``` -# -# https://gitlab.com/gitlab-org/gitlab/tree/master/lib/gitlab/ci/templates/Python.gitlab-ci.yml -# -image: python:latest - -# Change pip's cache directory to be inside the project directory since we can -# only cache local items. -variables: - PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip" - -# Pip's cache doesn't store the python packages -# https://pip.pypa.io/en/stable/reference/pip_install/#caching -# -# If you want to also cache the installed packages, you have to install -# them in a virtualenv and cache it as well. -cache: - paths: - - .cache/pip - - venv/ - -before_script: - - python -V # Print out python version for debugging - - pip install virtualenv - - virtualenv venv - - source venv/bin/activate - -test: - script: - - python setup.py test - - pip install flake8 - - flake8 . -``` - -### Caching Ruby dependencies[](#caching-ruby-dependencies "Permalink") - -假设您的项目正在使用[Bundler](https://bundler.io)安装 gem 依赖项,以下示例将全局定义`cache` ,以便所有作业都继承它. 宝石安装在`vendor/ruby/`并按分支缓存: - -``` -# -# https://gitlab.com/gitlab-org/gitlab/tree/master/lib/gitlab/ci/templates/Ruby.gitlab-ci.yml -# -image: ruby:2.6 - -# Cache gems in between builds -cache: - key: ${CI_COMMIT_REF_SLUG} - paths: - - vendor/ruby - -before_script: - - ruby -v # Print out ruby version for debugging - - bundle install -j $(nproc) --path vendor/ruby # Install dependencies into ./vendor/ruby - -rspec: - script: - - rspec spec -``` - -### Caching Go dependencies[](#caching-go-dependencies "Permalink") - -假设您的项目正在使用[Go Modules](https://github.com/golang/go/wiki/Modules)安装 Go 依赖项,以下示例在`go-cache`模板中定义了`cache` ,任何作业都可以扩展. Go 模块安装在`${GOPATH}/pkg/mod/` ,并为所有`go`项目缓存: - -``` -.go-cache: - variables: - GOPATH: $CI_PROJECT_DIR/.go - before_script: - - mkdir -p .go - cache: - paths: - - .go/pkg/mod/ - -test: - image: golang:1.13 - extends: .go-cache - script: - - go test ./... -v -short -``` - -## Availability of the cache[](#availability-of-the-cache "Permalink") - -缓存是一种优化,但不能保证始终有效,因此您需要准备好在需要它们的每个作业中重新生成所有缓存的文件. - -假设您已根据工作流程[在`.gitlab-ci.yml`](../yaml/README.html#cache)正确[定义了`cache`](../yaml/README.html#cache) ,则缓存的可用性最终取决于 Runner 的配置方式(执行程序类型以及是否使用不同的 Runner 在作业之间传递缓存). - -### Where the caches are stored[](#where-the-caches-are-stored "Permalink") - -由于亚军是一个负责存储的缓存,这是必须要知道它的存储**位置** . 在`.gitlab-ci.yml`中的作业下定义的所有缓存路径都存储在单个`cache.zip`文件中,并存储在 Runner 的配置缓存位置中. 默认情况下,它们存储在本地安装了 Runner 的计算机中,具体取决于执行程序的类型. - -| GitLab Runner 执行器 | 缓存的默认路径 | -| --- | --- | -| [Shell](https://docs.gitlab.com/runner/executors/shell.html) | 在本地,存储在`gitlab-runner`用户的主目录下: `/home/gitlab-runner/cache/<user>/<project>/<cache-key>/cache.zip` home/ `gitlab-runner` user>/< `gitlab-runner` < `gitlab-runner` `/home/gitlab-runner/cache/<user>/<project>/<cache-key>/cache.zip` . | -| [Docker](https://docs.gitlab.com/runner/executors/docker.html) | 在本地存储在[Docker 卷下](https://docs.gitlab.com/runner/executors/docker.html) :/ `/var/lib/docker/volumes/<volume-id>/_data/<user>/<project>/<cache-key>/cache.zip` [docker / volumes / <卷](https://docs.gitlab.com/runner/executors/docker.html) `/var/lib/docker/volumes/<volume-id>/_data/<user>/<project>/<cache-key>/cache.zip` _ `/var/lib/docker/volumes/<volume-id>/_data/<user>/<project>/<cache-key>/cache.zip` . | -| [Docker 机器](https://docs.gitlab.com/runner/executors/docker_machine.html) (自动缩放赛跑者) | 行为与 Docker 执行器相同. | - -### How archiving and extracting works[](#how-archiving-and-extracting-works "Permalink") - -在最简单的情况下,请考虑仅使用一台安装了 Runner 的计算机,并且项目的所有作业都在同一主机上运行. - -让我们看下面两个属于两个连续阶段的作业的示例: - -``` -stages: - - build - - test - -before_script: - - echo "Hello" - -job A: - stage: build - script: - - mkdir vendor/ - - echo "build" > vendor/hello.txt - cache: - key: build-cache - paths: - - vendor/ - after_script: - - echo "World" - -job B: - stage: test - script: - - cat vendor/hello.txt - cache: - key: build-cache -``` - -这是幕后发生的事情: - -1. 管道开始. -2. `job A` runs. -3. 执行`before_script` . -4. `script`已执行. -5. `after_script`被执行. -6. `cache`运行,并且`vendor/`目录被压缩到`cache.zip` . 然后根据[Runner 的设置](#where-the-caches-are-stored)和`cache: key`将该文件保存在目录中. -7. `job B` runs. -8. 提取缓存(如果找到). -9. 执行`before_script` . -10. `script`已执行. -11. 管道完成. - -通过在单台计算机上使用单个 Runner,就不会出现`job B`可能在不同于`job A`的 Runner 上执行的问题,从而保证了各个阶段之间的缓存. 仅当构建在同一 Runner /机器上从阶段`build`到`test` ,此方法才有效,否则,您[可能没有可用的缓存](#cache-mismatch) . - -在缓存过程中,还需要考虑以下几点: - -* 如果具有其他缓存配置的某些其他作业已将其缓存保存在同一 zip 文件中,则它将被覆盖. 如果使用了基于 S3 的共享缓存,则还会根据缓存密钥将文件另外上传到 S3 到对象. 因此,路径不同但缓存键相同的两个作业将覆盖其缓存. -* 从`cache.zip`提取缓存时,zip 文件中的所有内容都提取到作业的工作目录(通常是下拉的存储库)中,并且 Runner 不在乎`job A`的存档是否覆盖了`job B` - -之所以以这种方式工作,是因为为一个 Runner 创建的缓存通常在由可以在**不同体系结构**上运行的缓存使用时才无效(例如,当缓存包含二进制文件时). 而且由于不同的步骤可能由运行在不同计算机上的运行程序执行,因此这是安全的默认设置. - -### Cache mismatch[](#cache-mismatch "Permalink") - -在下表中,您可以看到可能导致缓存不匹配的一些原因以及一些解决方法. - -| 缓存不匹配的原因 | 如何修复 | -| --- | --- | -| 您使用多个独立运行器(不在自动缩放模式下)附加到一个项目,而没有共享缓存 | 您的项目仅使用一个 Runner 或使用启用了分布式缓存的多个 Runner | -| 您在未启用分布式缓存的自动缩放模式下使用 Runners | 配置自动缩放运行器以使用分布式缓存 | -| 安装了 Runner 的计算机磁盘空间不足,或者,如果设置了分布式缓存,则存储缓存的 S3 存储桶空间不足 | 确保清除一些空间以允许存储新的缓存. 当前,没有自动的方法可以做到这一点. | -| 对于作业中缓存不同路径的作业,请使用相同的`key` . | Use different cache keys to that the cache archive is stored to a different location and doesn’t overwrite wrong caches. | - -让我们探索一些例子. - -#### Examples[](#examples "Permalink") - -假设您只为项目分配了一个 Runner,因此默认情况下缓存将存储在 Runner 的计算机中. 如果两个作业 A 和 B 具有相同的缓存密钥,但是它们缓存不同的路径,则即使它们的`paths`不匹配,缓存 B 也会覆盖缓存 A: - -当管道第二次运行时,我们希望`job A`和`job B`重用其缓存. - -``` -stages: - - build - - test - -job A: - stage: build - script: make build - cache: - key: same-key - paths: - - public/ - -job B: - stage: test - script: make test - cache: - key: same-key - paths: - - vendor/ -``` - -1. `job A` runs. -2. `public/`作为 cache.zip 缓存. -3. `job B` runs. -4. 先前的缓存(如果有)已解压缩. -5. `vendor/`作为 cache.zip 缓存,并覆盖前一个. -6. 下次`job A`运行时,它将使用`job B`的缓存,缓存不同,因此无效. - -要解决此问题,请为每个作业使用不同的`keys` . - -在另一种情况下,假设您为项目分配了多个运行器,但是未启用分布式缓存. 第二次运行管道时,我们希望`job A`和`job B`重用其缓存(在这种情况下将有所不同): - -``` -stages: - - build - - test - -job A: - stage: build - script: build - cache: - key: keyA - paths: - - vendor/ - -job B: - stage: test - script: test - cache: - key: keyB - paths: - - vendor/ -``` - -在这种情况下,即使`key`不同(不必担心覆盖),如果作业在后续管道中的不同运行器上运行,您也可能会在每个阶段之前"清理"缓存的文件. - -## Clearing the cache[](#clearing-the-cache "Permalink") - -GitLab Runners 使用[缓存](../yaml/README.html#cache)通过重用现有数据来加快作业的执行速度. 但是,这有时可能导致行为不一致. - -要从缓存的新副本开始,有两种方法可以做到这一点. - -### Clearing the cache by changing `cache:key`[](#clearing-the-cache-by-changing-cachekey "Permalink") - -您所需要做的就是设置一个新的`cache: key` `.gitlab-ci.yml` . 在下一个管道运行中,缓存将存储在其他位置. - -### Clearing the cache manually[](#clearing-the-cache-manually "Permalink") - -在 GitLab 10.4 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/41249) . - -如果要避免编辑`.gitlab-ci.yml` ,则可以通过 GitLab 的 UI 轻松清除缓存: - -1. 导航到项目的**CI / CD>管道**页面. -2. 单击" **清除流道缓存"**按钮以清理缓存. - - [![Clear Runners cache](img/97c7baeb5e993264f4619e443bdacebc.png)](img/clear_runners_cache.png) - -3. 在下一次推送时,您的 CI / CD 作业将使用新的缓存. - -在后台,这可以通过在数据库中增加一个计数器来实现,该计数器的值用于通过将整数附加到`-1` , `-2`等来为高速缓存创建密钥.密钥已生成,旧的缓存不再有效. \ No newline at end of file diff --git a/docs/214.md b/docs/214.md deleted file mode 100644 index d08c22d..0000000 --- a/docs/214.md +++ /dev/null @@ -1,80 +0,0 @@ -# GitLab ChatOps - -> 原文:[https://docs.gitlab.com/ee/ci/chatops/README.html](https://docs.gitlab.com/ee/ci/chatops/README.html) - -* [How GitLab ChatOps works](#how-gitlab-chatops-works) -* [Best practices for ChatOps CI jobs](#best-practices-for-chatops-ci-jobs) - * [Controlling the ChatOps reply](#controlling-the-chatops-reply) -* [GitLab ChatOps examples](#gitlab-chatops-examples) -* [GitLab ChatOps icon](#gitlab-chatops-icon) - -# GitLab ChatOps[](#gitlab-chatops "Permalink") - -版本历史 - -* 在[GitLab Ultimate](https://about.gitlab.com/pricing/) 10.6 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/4466) . -* 在 11.9 中[移至](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/24780) [GitLab Core](https://about.gitlab.com/pricing/) . - -GitLab ChatOps 提供了一种通过 Slack 等聊天服务与 CI / CD 作业进行交互的方法. 许多组织的讨论,协作和故障排除都是在聊天服务中进行的. 拥有一种方法来运行 CI / CD 作业并将输出回传到渠道,可以极大地增强团队的工作流程. - -## How GitLab ChatOps works[](#how-gitlab-chatops-works "Permalink") - -GitLab ChatOps 是基于[GitLab CI / CD](../README.html)和[Slack Slash Commands](../../user/project/integrations/slack_slash_commands.html)构建的. ChatOps 使用以下参数为[斜杠命令](../../integration/slash_commands.html)提供`run`操作: - -* 要执行的`<job name>` . -* The `<job arguments>`. - -ChatOps 将以下[CI / CD 变量](../variables/README.html#predefined-environment-variables)传递给作业: - -* `CHAT_INPUT`包含任何其他参数. -* `CHAT_CHANNEL`设置为触发该动作的通道的名称. - -当执行时,ChatOps 查找指定的作业名称,并尝试将其与[`.gitlab-ci.yml`](../yaml/README.html)的相应作业匹配. 如果在`master`上找到匹配的作业,则计划仅包含该作业的管道. 作业完成后: - -* 如果作业在*不到 30 分钟内完成* ,则 ChatOps 会将作业的输出发送到 Slack. -* 如果作业在*30 分钟内完成* ,则该作业必须使用[Slack API](https://api.slack.com/)将数据发送到通道. - -要使用`run`命令,您必须具有[Developer 访问权限或更高权限](../../user/permissions.html#project-members-permissions) . 如果不能从聊天中触发某项工作,则可以将其设置为下列`except: [chat]` . - -## Best practices for ChatOps CI jobs[](#best-practices-for-chatops-ci-jobs "Permalink") - -由于 ChatOps 是基于 GitLab CI / CD 构建的,因此该作业具有可用的所有相同功能. 创建 ChatOps 作业时,请考虑以下最佳做法: - -* GitLab 强烈建议您`only: [chat]`设置`only: [chat]`以便该作业不会作为标准 CI 管道的一部分运行. -* 如果作业设置为以下`when: manual` ,则 ChatOps 将创建管道,但是作业等待启动. -* ChatOps 为访问控制提供了有限的支持. 如果触发斜杠命令的用户在项目中具有" [开发人员"访问权限或更高权限](../../user/permissions.html#project-members-permissions) ,则作业将运行. 作业本身可以使用现有的[CI / CD 变量(](../variables/README.html#predefined-environment-variables)例如`GITLAB_USER_ID`来执行其他权限验证,但是可以[覆盖](../variables/README.html#priority-of-environment-variables)这些变量. - -### Controlling the ChatOps reply[](#controlling-the-chatops-reply "Permalink") - -单个命令的作业输出将作为答复发送到通道. 例如,以下任务的聊天回复是频道中的`Hello World` : - -``` -hello-world: - stage: chatops - only: [chat] - script: - - echo "Hello World" -``` - -包含多个命令(或`before_script` )的作业将在聊天回复中返回其他内容. 在这些情况下,命令和它们的输出都包括在内,并且命令以 ANSI 颜色代码包装. - -To selectively reply with the output of one command, its output must be bounded by the `chat_reply` section. For example, the following job lists the files in the current directory: - -``` -ls: - stage: chatops - only: [chat] - script: - - echo "This command will not be shown." - - echo -e "section_start:$( date +%s ):chat_reply\r\033[0K\n$( ls -la )\nsection_end:$( date +%s ):chat_reply\r\033[0K" -``` - -## GitLab ChatOps examples[](#gitlab-chatops-examples "Permalink") - -GitLab.com 团队创建了一个[常见 ChatOps 脚本](https://gitlab.com/gitlab-com/chatops)的存储库,它们用于与我们的 GitLab 生产实例进行交互. 其他 GitLab 实例的管理员可能会发现它们很有用. 它们可以作为您可以编写以与自己的应用程序进行交互的 ChatOps 脚本的灵感. - -## GitLab ChatOps icon[](#gitlab-chatops-icon "Permalink") - -[官方的 GitLab ChatOps 图标](img/gitlab-chatops-icon.png)可以下载. 您可以在此处找到并下载官方的 GitLab ChatOps 图标. - -[![GitLab ChatOps bot icon](img/b7658a174f8b110251a289f5276dc822.png)](img/gitlab-chatops-icon-small.png) \ No newline at end of file diff --git a/docs/215.md b/docs/215.md deleted file mode 100644 index 16926e3..0000000 --- a/docs/215.md +++ /dev/null @@ -1,122 +0,0 @@ -# Cloud deployment - -> 原文:[https://docs.gitlab.com/ee/ci/cloud_deployment/](https://docs.gitlab.com/ee/ci/cloud_deployment/) - -* [AWS](#aws) - * [Run AWS commands from GitLab CI/CD](#run-aws-commands-from-gitlab-cicd) - * [Use an AWS Elastic Container Registry (ECR) image in your CI/CD](#use-an-aws-elastic-container-registry-ecr-image-in-your-cicd) - * [Deploy your application to the AWS Elastic Container Service (ECS)](#deploy-your-application-to-the-aws-elastic-container-service-ecs) - -# Cloud deployment[](#cloud-deployment "Permalink") - -与主要的云提供商进行交互可能已成为交付过程中非常需要的任务. GitLab 通过提供预安装了所需库和工具的 Docker 映像,减轻了这一过程的麻烦. 通过在 CI / CD 管道中引用它们,您将能够更轻松地与所选的云提供商进行交互. - -## AWS[](#aws "Permalink") - -GitLab 提供了可用于[从 GitLab CI / CD 运行 AWS 命令的](#run-aws-commands-from-gitlab-cicd) Docker 映像,并提供了一个模板,以使其更易于[部署到 AWS](#deploy-your-application-to-the-aws-elastic-container-service-ecs) . - -### Run AWS commands from GitLab CI/CD[](#run-aws-commands-from-gitlab-cicd "Permalink") - -在 GitLab 12.6 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/31167) . - -GitLab 的 AWS Docker 映像提供了[AWS Command Line Interface](https://aws.amazon.com/cli/) ,可让您运行`aws`命令. 作为部署策略的一部分,您可以通过指定[GitLab 的 AWS Docker 映像](https://gitlab.com/gitlab-org/cloud-deploy)直接从`.gitlab-ci.yml`运行`aws`命令. - -需要一些凭据才能运行`aws`命令: - -1. 如果您还没有[一个 AWS 账户](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-set-up.html) ,请注册一个. -2. 登录到控制台并创建[一个新的 IAM 用户](https://console.aws.amazon.com/iam/home#/home) . -3. 选择您新创建的用户以访问其详细信息. 导航到**安全凭证>创建新的访问密钥** . - - **注意:**将生成新的**访问密钥 ID**和**秘密访问密钥**对. 请立即记录下来. -4. 在您的 GitLab 项目中,转到**"设置">" CI / CD"** . 将以下内容设置为[环境变量](../variables/README.html#gitlab-cicd-environment-variables) (请参见下表): - - * 访问密钥 ID. - * 秘密访问密钥. - * 地区代码. 您可以检查[AWS 区域终端节点列表](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints) . 您可能想要检查要使用的 AWS 服务[在所选区域中](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/)是否[可用](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/) . - - | 环保 变量名 | Value | - | --- | --- | - | `AWS_ACCESS_KEY_ID` | 您的访问密钥 ID | - | `AWS_SECRET_ACCESS_KEY` | 您的秘密访问密钥 | - | `AWS_DEFAULT_REGION` | 您的地区代码 | - -5. 现在,您可以在此项目的`.gitlab-ci.yml`文件中使用`aws`命令: - - ``` - deploy: - stage: deploy - image: registry.gitlab.com/gitlab-org/cloud-deploy/aws-base:latest # see the note below - script: - - aws s3 ... - - aws create-deployment ... - ``` - - **注意:**上例中使用的映像( `registry.gitlab.com/gitlab-org/cloud-deploy/aws-base:latest` )托管在[GitLab 容器注册表中](../../user/packages/container_registry/index.html) ,可以使用. 或者,将映像替换为 AWS ECR 上托管的映像. - -### Use an AWS Elastic Container Registry (ECR) image in your CI/CD[](#use-an-aws-elastic-container-registry-ecr-image-in-your-cicd "Permalink") - -除了引用托管在 GitLab 注册表上的映像外,您还可以引用托管在任何第三方注册表上的映像,例如[Amazon Elastic Container Registry(ECR)](https://aws.amazon.com/ecr/) . - -为此, [将映像推送到 ECR 存储库中](https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-push-ecr-image.html) . 然后在`.gitlab-ci.yml`文件中引用它,并替换`image`路径以指向您的 ECR 图像. - -### Deploy your application to the AWS Elastic Container Service (ECS)[](#deploy-your-application-to-the-aws-elastic-container-service-ecs "Permalink") - -在 GitLab 12.9 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/207962) . - -GitLab 提供了一系列[CI 模板,您可以将其包含在项目中](../yaml/README.html#include) . 要自动将应用程序部署到[Amazon Elastic Container Service](https://aws.amazon.com/ecs/) (AWS ECS)集群,您可以在`.gitlab-ci.yml`文件中`include` `Deploy-ECS.gitlab-ci.yml`模板. - -GitLab 还提供了可在您的`gitlab-ci.yml`文件中使用的[Docker 映像](https://gitlab.com/gitlab-org/cloud-deploy/-/tree/master/aws) ,以简化使用 AWS 的工作: - -* 使用`registry.gitlab.com/gitlab-org/cloud-deploy/aws-base:latest`以使用 AWS CLI 命令. -* 使用`registry.gitlab.com/gitlab-org/cloud-deploy/aws-ecs:latest`将您的应用程序部署到 AWS ECS. - -在开始此过程之前,您需要 AWS ECS 上的集群以及相关组件,例如 ECS 服务,ECS 任务定义,AWS RDS 上的数据库等. [了解有关 AWS ECS 的更多信息](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html) . - -在 AWS ECS 上完成所有设置后,请执行以下步骤: - -1. 确保将您的 AWS 凭证设置为项目的环境变量. 您可以按照[上述步骤](#run-aws-commands-from-gitlab-cicd)完成此设置. -2. Add these variables to your project’s `.gitlab-ci.yml` file: - - ``` - variables: - CI_AWS_ECS_CLUSTER: my-cluster - CI_AWS_ECS_SERVICE: my-service - CI_AWS_ECS_TASK_DEFINITION: my-task-definition - ``` - - Three variables are defined in this snippet: - - * `CI_AWS_ECS_CLUSTER` :您要为部署目标的 AWS ECS 集群的名称. - * `CI_AWS_ECS_SERVICE` :绑定到您的 AWS ECS 集群的目标服务的名称. - * `CI_AWS_ECS_TASK_DEFINITION` :与上述服务绑定的任务定义的名称. - - 您可以在[AWS ECS 仪表板上](https://console.aws.amazon.com/ecs/home)选择目标集群后找到这些名称: - - [![AWS ECS dashboard](img/7dc58177067caac48605788b7932d846.png)](../img/ecs_dashboard_v12_9.png) - -3. 将此模板包括在`.gitlab-ci.yml` : - - ``` - include: - - template: AWS/Deploy-ECS.gitlab-ci.yml - ``` - - `Deploy-ECS`模板随 GitLab 一起提供[,](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/AWS/Deploy-ECS.gitlab-ci.yml)可[在 GitLab.com 上获得](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/AWS/Deploy-ECS.gitlab-ci.yml) . - -4. 提交更新的`.gitlab-ci.yml`并将其推送到项目的存储库中,您就完成了! - - 您的应用程序 Docker 映像将被重建并推送到 GitLab 注册表中. 然后,目标任务定义将使用新 Docker 映像的位置进行更新,结果将在 ECS 中创建新的修订版. - - 最后,您的 AWS ECS 服务将使用任务定义的新修订版进行更新,从而使群集提取应用程序的最新版本. - -**警告:** [`Deploy-ECS.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/AWS/Deploy-ECS.gitlab-ci.yml)模板包括[`Jobs/Build.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Jobs/Build.gitlab-ci.yml)和[`Jobs/Deploy/ECS.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Jobs/Deploy/ECS.gitlab-ci.yml) "子模板". 不要单独包括这些"子模板",而仅包括主`Deploy-ECS.gitlab-ci.yml`模板. "子模板"旨在仅与主模板一起使用. 如果不包括主模板,它们可能会移动或发生意外更改,从而导致您的管道失败. 此外,这些模板中的作业名称可能会更改. 不要在您自己的管道中覆盖这些作业的名称,因为当名称更改时,覆盖将停止工作. - -另外,如果您不希望使用`Deploy-ECS.gitlab-ci.yml`模板部署到 AWS ECS,则始终可以使用基于`aws-base` Docker 映像[为 ECS](https://docs.aws.amazon.com/cli/latest/reference/ecs/index.html#cli-aws-ecs)运行您自己的[AWS CLI 命令](https://docs.aws.amazon.com/cli/latest/reference/ecs/index.html#cli-aws-ecs) . - -``` -deploy: - stage: deploy - image: registry.gitlab.com/gitlab-org/cloud-deploy/aws-base:latest - script: - - aws ecs register-task-definition ... -``` \ No newline at end of file diff --git a/docs/216.md b/docs/216.md deleted file mode 100644 index 0cf03ca..0000000 --- a/docs/216.md +++ /dev/null @@ -1,13 +0,0 @@ -# Docker integration - -> 原文:[https://docs.gitlab.com/ee/ci/docker/README.html](https://docs.gitlab.com/ee/ci/docker/README.html) - -# Docker integration[](#docker-integration "Permalink") - -GitLab CI / CD 可以与[Docker](https://www.docker.com)结合使用,以实现两者之间的集成. - -以下文档可用于将 GitLab CI / CD 与 Docker 结合使用: - -* [Using Docker images](using_docker_images.html). -* [Building Docker images with GitLab CI/CD](using_docker_build.html). -* [Building images with kaniko and GitLab CI/CD](using_kaniko.html). \ No newline at end of file diff --git a/docs/217.md b/docs/217.md deleted file mode 100644 index a9456d4..0000000 --- a/docs/217.md +++ /dev/null @@ -1,436 +0,0 @@ -# Building Docker images with GitLab CI/CD - -> 原文:[https://docs.gitlab.com/ee/ci/docker/using_docker_build.html](https://docs.gitlab.com/ee/ci/docker/using_docker_build.html) - -* [Runner Configuration](#runner-configuration) - * [Use shell executor](#use-shell-executor) - * [Use Docker-in-Docker workflow with Docker executor](#use-docker-in-docker-workflow-with-docker-executor) - * [TLS enabled](#tls-enabled) - * [TLS disabled](#tls-disabled) - * [Use Docker socket binding](#use-docker-socket-binding) -* [Making Docker-in-Docker builds faster with Docker layer caching](#making-docker-in-docker-builds-faster-with-docker-layer-caching) - * [How Docker caching works](#how-docker-caching-works) - * [Using Docker caching](#using-docker-caching) -* [Use the OverlayFS driver](#use-the-overlayfs-driver) - * [Requirements](#requirements) - * [Use the OverlayFS driver per project](#use-the-overlayfs-driver-per-project) - * [Use the OverlayFS driver for every project](#use-the-overlayfs-driver-for-every-project) -* [Using the GitLab Container Registry](#using-the-gitlab-container-registry) -* [Troubleshooting](#troubleshooting) - * [`docker: Cannot connect to the Docker daemon at tcp://docker:2375\. Is the docker daemon running?`](#docker-cannot-connect-to-the-docker-daemon-at-tcpdocker2375-is-the-docker-daemon-running) - -# Building Docker images with GitLab CI/CD[](#building-docker-images-with-gitlab-cicd "Permalink") - -GitLab CI / CD 允许您使用 Docker Engine 来构建和测试基于 Docker 的项目. - -持续集成/部署中的新趋势之一是: - -1. Create an application image. -2. 针对创建的图像运行测试. -3. 将映像推送到远程注册表. -4. 从推送的映像部署到服务器. - -当您的应用程序已经具有可用于创建和测试映像的`Dockerfile` ,它也很有用: - -``` -docker build -t my-image dockerfiles/ -docker run my-image /script/to/run/tests -docker tag my-image my-registry:5000/my-image -docker push my-registry:5000/my-image -``` - -这需要对 GitLab Runner 进行特殊配置才能在作业期间启用`docker`支持. - -## Runner Configuration[](#runner-configuration "Permalink") - -有三种方法可在作业期间启用`docker build`和`docker run`的使用: 每个都有自己的权衡. - -[使用 docker](using_kaniko.html) `docker build`的替代方法是[使用 kaniko](using_kaniko.html) . 这避免了必须在特权模式下执行 Runner. - -**提示:**要了解如何在 GitLab.com 上为共享的 Runner 配置 Docker 和 Runner,请参阅[GitLab.com 的共享的 Runners](../../user/gitlab_com/index.html#shared-runners) . - -### Use shell executor[](#use-shell-executor "Permalink") - -最简单的方法是在`shell`执行模式下安装 GitLab Runner. 然后,GitLab Runner 以`gitlab-runner`用户身份执行作业脚本. - -1. Install [GitLab Runner](https://gitlab.com/gitlab-org/gitlab-runner/#installation). - -2. 在 GitLab Runner 安装过程中,选择`shell`作为执行作业脚本的方法或使用命令: - - ``` - sudo gitlab-runner register -n \ - --url https://gitlab.com/ \ - --registration-token REGISTRATION_TOKEN \ - --executor shell \ - --description "My Runner" - ``` - -3. 在服务器上安装 Docker Engine. - - 有关如何在不同系统上安装 Docker Engine 的更多信息,请查看[支持的安装](https://s0docs0docker0com.icopy.site/engine/installation/) . - -4. Add `gitlab-runner` user to `docker` group: - - ``` - sudo usermod -aG docker gitlab-runner - ``` - -5. 确认`gitlab-runner`有权访问 Docker: - - ``` - sudo -u gitlab-runner -H docker info - ``` - - 现在,您可以通过将`.gitlab-ci.yml` `docker info`添加到`.gitlab-ci.yml`来验证一切正常: - - ``` - before_script: - - docker info - - build_image: - script: - - docker build -t my-docker-image . - - docker run my-docker-image /script/to/run/tests - ``` - -6. 您现在可以使用`docker`命令(并在需要时**安装** `docker-compose` ). - -**注:**通过添加`gitlab-runner`的`docker`您可以有效地授予组`gitlab-runner`完整的 root 权限. 有关更多信息,请阅读[关于 Docker 安全性: `docker` group 认为是有害的](https://www.andreas-jung.com/contents/on-docker-security-docker-group-considered-harmful) . - -### Use Docker-in-Docker workflow with Docker executor[](#use-docker-in-docker-workflow-with-docker-executor "Permalink") - -第二种方法是使用特殊泊坞窗功能于泊坞(DIND) [泊坞窗图像](https://hub.docker.com/_/docker/)安装(所有工具`docker` ),并在特权模式图像的上下文中运行作业脚本. - -**注意:** `docker-compose`不是 Docker-in-Docker(dind)的一部分. 要在 CI 构建中使用`docker-compose` ,请遵循`docker-compose` [安装说明](https://s0docs0docker0com.icopy.site/compose/install/) .**危险:**通过启用`--docker-privileged` ,可以有效地禁用容器的所有安全机制,并使主机暴露于特权升级之下,这可能导致容器突破. 有关更多信息,请查看有关[运行时特权和 Linux 功能](https://s0docs0docker0com.icopy.site/engine/reference/run/)的官方 Docker 文档. - -Docker-in-Docker 运作良好,是推荐的配置,但并非没有挑战: - -* When using Docker-in-Docker, each job is in a clean environment without the past history. Concurrent jobs work fine because every build gets its own instance of Docker engine so they won’t conflict with each other. But this also means that jobs can be slower because there’s no caching of layers. -* 默认情况下,Docker 17.09 及更高版本使用`--storage-driver overlay2` ,这是推荐的存储驱动程序. 有关详细信息,请参见[使用 overlayfs 驱动程序](#use-the-overlayfs-driver) . -* 由于`docker:19.03.12-dind`容器和 Runner 容器不共享其根文件系统,因此作业的工作目录可用作子容器的安装点. 例如,如果您有要与子容器共享的文件,则可以在`/builds/$CI_PROJECT_PATH`下创建一个子目录,并将其用作安装点(有关更详尽的解释,请[参见问题#41227](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/41227) ): - - ``` - variables: - MOUNT_POINT: /builds/$CI_PROJECT_PATH/mnt - - script: - - mkdir -p "$MOUNT_POINT" - - docker run -v "$MOUNT_POINT:/mnt" my-docker-image - ``` - -可在以下位置找到使用此方法的示例项目: [https](https://gitlab.com/gitlab-examples/docker) : [//gitlab.com/gitlab-examples/docker](https://gitlab.com/gitlab-examples/docker) . - -在以下示例中,我们使用 Docker images 标签指定特定版本,例如`docker:19.03.12` . 如果使用了诸如`docker:stable`类的标签,则您将无法控制要使用的版本,这可能导致无法预测的行为,尤其是在发布新版本时. - -#### TLS enabled[](#tls-enabled "Permalink") - -**注意:**需要 GitLab Runner 11.11 或更高版本,但是如果使用[Helm chart](https://docs.gitlab.com/runner/install/kubernetes.html)安装了 GitLab Runner,则不支持. 有关详细信息,请参见[相关问题](https://gitlab.com/gitlab-org/charts/gitlab-runner/-/issues/83) . - -Docker 守护程序支持通过 TLS 的连接,默认情况下,对于 Docker 19.03.12 或更高版本,它已完成. 这是使用 Docker-in-Docker 服务的**建议**方法, [GitLab.com 共享运行程序](../../user/gitlab_com/index.html#shared-runners)支持此方法. - -1. Install [GitLab Runner](https://docs.gitlab.com/runner/install/). - -2. 从命令行注册 GitLab Runner 以使用`docker`和`privileged`模式: - - ``` - sudo gitlab-runner register -n \ - --url https://gitlab.com/ \ - --registration-token REGISTRATION_TOKEN \ - --executor docker \ - --description "My Docker Runner" \ - --docker-image "docker:19.03.12" \ - --docker-privileged \ - --docker-volumes "/certs/client" - ``` - - 上面的命令将注册一个新的 Runner 以使用由 Docker 提供的特殊`docker:19.03.12`映像. **注意,它使用`privileged`模式来启动构建和服务容器.** 如果要使用[Docker-in-Docker](https://www.docker.com/blog/docker-can-now-run-within-docker/)模式,则始终必须在 Docker 容器中使用`privileged = true` . - - 这还将为服务安装`/certs/client`并构建容器,这是 Docker 客户端使用该目录内的证书所必需的. 有关更多信息,请参阅[https://hub.docker.com/_/docker/#tls](https://hub.docker.com/_/docker/#tls) . - - 上面的命令将创建一个类似于以下内容的`config.toml`条目: - - ``` - [[runners]] - url = "https://gitlab.com/" - token = TOKEN - executor = "docker" - [runners.docker] - tls_verify = false - image = "docker:19.03.12" - privileged = true - disable_cache = false - volumes = ["/certs/client", "/cache"] - [runners.cache] - [runners.cache.s3] - [runners.cache.gcs] - ``` - -3. 您现在可以使用`docker`在构建脚本(注意列入`docker:19.03.12-dind`服务): - - ``` - image: docker:19.03.12 - - variables: - # When using dind service, we need to instruct docker, to talk with - # the daemon started inside of the service. The daemon is available - # with a network connection instead of the default - # /var/run/docker.sock socket. Docker 19.03 does this automatically - # by setting the DOCKER_HOST in - # https://github.com/docker-library/docker/blob/d45051476babc297257df490d22cbd806f1b11e4/19.03/docker-entrypoint.sh#L23-L29 - # - # The 'docker' hostname is the alias of the service container as described at - # https://docs.gitlab.com/ee/ci/docker/using_docker_images.html#accessing-the-services. - # - # Note that if you're using GitLab Runner 12.7 or earlier with the Kubernetes executor and Kubernetes 1.6 or earlier, - # the variable must be set to tcp://localhost:2376 because of how the - # Kubernetes executor connects services to the job container - # DOCKER_HOST: tcp://localhost:2376 - # - # Specify to Docker where to create the certificates, Docker will - # create them automatically on boot, and will create - # `/certs/client` that will be shared between the service and job - # container, thanks to volume mount from config.toml - DOCKER_TLS_CERTDIR: "/certs" - - services: - - docker:19.03.12-dind - - before_script: - - docker info - - build: - stage: build - script: - - docker build -t my-docker-image . - - docker run my-docker-image /script/to/run/tests - ``` - -#### TLS disabled[](#tls-disabled "Permalink") - -有时出于某些合理原因,您可能想要禁用 TLS. 例如,您无法控制所使用的 GitLab Runner 配置. - -假设 Runner `config.toml`类似于: - -``` -[[runners]] - url = "https://gitlab.com/" - token = TOKEN - executor = "docker" - [runners.docker] - tls_verify = false - image = "docker:19.03.12" - privileged = true - disable_cache = false - volumes = ["/cache"] - [runners.cache] - [runners.cache.s3] - [runners.cache.gcs] -``` - -您现在可以使用`docker`在构建脚本(注意列入`docker:19.03.12-dind`服务): - -``` -image: docker:19.03.12 - -variables: - # When using dind service we need to instruct docker, to talk with the - # daemon started inside of the service. The daemon is available with - # a network connection instead of the default /var/run/docker.sock socket. - # - # The 'docker' hostname is the alias of the service container as described at - # https://docs.gitlab.com/ee/ci/docker/using_docker_images.html#accessing-the-services - # - # Note that if you're using GitLab Runner 12.7 or earlier with the Kubernetes executor and Kubernetes 1.6 or earlier, - # the variable must be set to tcp://localhost:2375 because of how the - # Kubernetes executor connects services to the job container - # DOCKER_HOST: tcp://localhost:2375 - # - DOCKER_HOST: tcp://docker:2375 - # - # This will instruct Docker not to start over TLS. - DOCKER_TLS_CERTDIR: "" - -services: - - docker:19.03.12-dind - -before_script: - - docker info - -build: - stage: build - script: - - docker build -t my-docker-image . - - docker run my-docker-image /script/to/run/tests -``` - -### Use Docker socket binding[](#use-docker-socket-binding "Permalink") - -第三种方法是将`/var/run/docker.sock`绑定安装到容器中,以便 Docker 在该映像的上下文中可用. - -**注意:**如果[在使用 GitLab Runner 11.11 或更高版本时](https://gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/1261)绑定 Docker 套接字,则不能再将`docker:19.03.12-dind`用作服务,因为对服务也进行了卷绑定,从而使它们不兼容. - -为此,请按照下列步骤操作: - -1. Install [GitLab Runner](https://docs.gitlab.com/runner/install/). - -2. 从命令行注册 GitLab Runner 以使用`docker`并共享`/var/run/docker.sock` : - - ``` - sudo gitlab-runner register -n \ - --url https://gitlab.com/ \ - --registration-token REGISTRATION_TOKEN \ - --executor docker \ - --description "My Docker Runner" \ - --docker-image "docker:19.03.12" \ - --docker-volumes /var/run/docker.sock:/var/run/docker.sock - ``` - - 上面的命令将注册一个新的 Runner 以使用由 Docker 提供的特殊`docker:19.03.12`映像. **请注意,它使用的是 Runner 本身的 Docker 守护进程,并且 Docker 命令产生的任何容器都将是 Runner 的兄弟,而不是 Runner 的子代.** 这可能会带来一些不适合您的工作流程的复杂性和局限性. - - 上面的命令将创建一个类似于以下内容的`config.toml`条目: - - ``` - [[runners]] - url = "https://gitlab.com/" - token = REGISTRATION_TOKEN - executor = "docker" - [runners.docker] - tls_verify = false - image = "docker:19.03.12" - privileged = false - disable_cache = false - volumes = ["/var/run/docker.sock:/var/run/docker.sock", "/cache"] - [runners.cache] - Insecure = false - ``` - -3. 您现在可以使用`docker`在构建脚本(请注意,您不需要包括`docker:19.03.12-dind`服务泊坞执行使用泊坞时): - - ``` - image: docker:19.03.12 - - before_script: - - docker info - - build: - stage: build - script: - - docker build -t my-docker-image . - - docker run my-docker-image /script/to/run/tests - ``` - -尽管上述方法避免在特权模式下使用 Docker,但您应注意以下含义: - -* 通过共享 Docker 守护程序,您可以有效地禁用容器的所有安全机制,并使主机暴露于特权升级之下,这可能导致容器突破. 例如,如果一个项目运行`docker rm -f $(docker ps -a -q)` ,它将删除 GitLab Runner 容器. -* 并发工作可能无法正常工作; 如果您的测试创建了具有特定名称的容器,则它们可能会相互冲突. -* 将源仓库中的文件和目录共享到容器中可能无法正常工作,因为卷安装是在主机而不是构建容器的上下文中完成的. 例如: - - ``` - docker run --rm -t -i -v $(pwd)/src:/home/app/src test-image:latest run_app_tests - ``` - -## Making Docker-in-Docker builds faster with Docker layer caching[](#making-docker-in-docker-builds-faster-with-docker-layer-caching "Permalink") - -在使用 Docker-in-Docker 时,每次创建构建时 Docker 都会下载映像的所有层. 最新版本的 Docker(Docker 1.13 及更高版本)可以在 Docker `docker build`步骤中使用预先存在的映像作为缓存,从而大大加快了构建过程. - -### How Docker caching works[](#how-docker-caching-works "Permalink") - -运行`Dockerfile` `docker build` , `Dockerfile`中的每个命令`Dockerfile`一个图层. 这些层保留为高速缓存,如果没有任何更改,可以重复使用. 一层中的更改将导致重新创建所有后续层. - -您可以使用`--cache-from`参数指定标记的图像用作`--cache-from` `docker build`命令的缓存源. 可以使用多个`--cache-from`参数将多个图像指定为缓存源. 请记住,与`--cache-from`参数一起使用的任何映像都必须先被拉出(使用`docker pull` ),然后才能用作缓存源. - -### Using Docker caching[](#using-docker-caching "Permalink") - -这是一个`.gitlab-ci.yml`文件,显示了如何使用 Docker 缓存: - -``` -image: docker:19.03.12 - -services: - - docker:19.03.12-dind - -variables: - # Use TLS https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#tls-enabled - DOCKER_HOST: tcp://docker:2376 - DOCKER_TLS_CERTDIR: "/certs" - -before_script: - - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - -build: - stage: build - script: - - docker pull $CI_REGISTRY_IMAGE:latest || true - - docker build --cache-from $CI_REGISTRY_IMAGE:latest --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA --tag $CI_REGISTRY_IMAGE:latest . - - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA - - docker push $CI_REGISTRY_IMAGE:latest -``` - -`build`阶段的`script`部分中的步骤可以总结为: - -1. 第一个命令尝试从注册表中提取映像,以便将其用作`docker build`命令的缓存. -2. 第二个命令使用拉取的映像作为缓存来构建 Docker 映像(请注意`--cache-from $CI_REGISTRY_IMAGE:latest`参数),并对其进行标记. -3. 最后两个命令将标记的 Docker 映像推送到容器注册表,以便它们也可用作后续构建的缓存. - -## Use the OverlayFS driver[](#use-the-overlayfs-driver "Permalink") - -**注意:**默认情况下,GitLab.com 上的共享 Runners 使用`overlay2`驱动程序. - -默认情况下,使用`docker:dind` ,Docker 使用`vfs`存储驱动程序,该驱动程序会在每次运行时复制文件系统. 这是磁盘密集型操作,如果使用其他驱动程序(例如`overlay2` ,则可以避免. - -### Requirements[](#requirements "Permalink") - -1. 确保使用最新内核,最好`>= 4.2` . -2. 检查是否已加载`overlay`模块: - - ``` - sudo lsmod | grep overlay - ``` - - 如果看不到任何结果,则说明未加载. 要加载它,请使用: - - ``` - sudo modprobe overlay - ``` - - 如果一切正常,则需要确保模块在重新启动时已加载. 在 Ubuntu 系统上,这是通过编辑`/etc/modules` . 只需将以下行添加到其中: - - ``` - overlay - ``` - -### Use the OverlayFS driver per project[](#use-the-overlayfs-driver-per-project "Permalink") - -您可以使用`.gitlab-ci.yml`的`DOCKER_DRIVER`环境[变量](../yaml/README.html#variables)分别为每个项目启用驱动程序: - -``` -variables: - DOCKER_DRIVER: overlay2 -``` - -### Use the OverlayFS driver for every project[](#use-the-overlayfs-driver-for-every-project "Permalink") - -如果使用自己的[GitLab Runners](https://docs.gitlab.com/runner/) ,则可以通过在[`config.toml`](https://docs.gitlab.com/runner/configuration/advanced-configuration.html)的[`[[runners]]`部分中](https://docs.gitlab.com/runner/configuration/advanced-configuration.html)设置`DOCKER_DRIVER`环境变量来为每个项目启用驱动程序: - -``` -environment = ["DOCKER_DRIVER=overlay2"] -``` - -如果您正在运行多个运行程序,则必须修改所有配置文件. - -**注意:**阅读有关[Runner 配置](https://docs.gitlab.com/runner/configuration/)和[使用 OverlayFS 存储驱动程序的更多信息](https://s0docs0docker0com.icopy.site/engine/userguide/storagedriver/overlayfs-driver/) . - -## Using the GitLab Container Registry[](#using-the-gitlab-container-registry "Permalink") - -构建 Docker 映像后,可以将其推送到内置的[GitLab Container Registry 中](../../user/packages/container_registry/index.html#build-and-push-images-using-gitlab-cicd) . - -## Troubleshooting[](#troubleshooting "Permalink") - -### `docker: Cannot connect to the Docker daemon at tcp://docker:2375\. Is the docker daemon running?`[](#docker-cannot-connect-to-the-docker-daemon-at-tcpdocker2375-is-the-docker-daemon-running "Permalink") - -[在 Docker](#use-docker-in-docker-workflow-with-docker-executor) v19.03 或更高版本中使用[Docker](#use-docker-in-docker-workflow-with-docker-executor)时,这是一个常见错误. - -发生这种情况是因为 Docker 自动在 TLS 上启动,因此您需要进行一些设置. 如果: - -* 这是第一次设置,请[在 Docker 工作流程中使用 Docker](#use-docker-in-docker-workflow-with-docker-executor)仔细阅读. -* 您要从 v18.09 或更早版本[升级](https://about.gitlab.com/releases/2019/07/31/docker-in-docker-with-docker-19-dot-03/) ,请阅读我们的[升级指南](https://about.gitlab.com/releases/2019/07/31/docker-in-docker-with-docker-19-dot-03/) . \ No newline at end of file diff --git a/docs/218.md b/docs/218.md deleted file mode 100644 index 1d2e085..0000000 --- a/docs/218.md +++ /dev/null @@ -1,687 +0,0 @@ -# Using Docker images - -> 原文:[https://docs.gitlab.com/ee/ci/docker/using_docker_images.html](https://docs.gitlab.com/ee/ci/docker/using_docker_images.html) - -* [Register Docker Runner](#register-docker-runner) -* [What is an image](#what-is-an-image) -* [What is a service](#what-is-a-service) - * [How services are linked to the job](#how-services-are-linked-to-the-job) - * [How the health check of services works](#how-the-health-check-of-services-works) - * [What services are not for](#what-services-are-not-for) - * [Accessing the services](#accessing-the-services) -* [Define `image` and `services` from `.gitlab-ci.yml`](#define-image-and-services-from-gitlab-ciyml) -* [Passing environment variables to services](#passing-environment-variables-to-services) -* [Extended Docker configuration options](#extended-docker-configuration-options) - * [Available settings for `image`](#available-settings-for-image) - * [Available settings for `services`](#available-settings-for-services) - * [Starting multiple services from the same image](#starting-multiple-services-from-the-same-image) - * [Setting a command for the service](#setting-a-command-for-the-service) - * [Overriding the entrypoint of an image](#overriding-the-entrypoint-of-an-image) -* [Define image and services in `config.toml`](#define-image-and-services-in-configtoml) -* [Define an image from a private Container Registry](#define-an-image-from-a-private-container-registry) - * [Requirements and limitations](#requirements-and-limitations) - * [Using statically-defined credentials](#using-statically-defined-credentials) - * [Determining your `DOCKER_AUTH_CONFIG` data](#determining-your-docker_auth_config-data) - * [Configuring a job](#configuring-a-job) - * [Configuring a Runner](#configuring-a-runner) - * [Using Credentials Store](#using-credentials-store) - * [Using Credential Helpers](#using-credential-helpers) -* [Configuring services](#configuring-services) - * [PostgreSQL service example](#postgresql-service-example) - * [MySQL service example](#mysql-service-example) -* [How Docker integration works](#how-docker-integration-works) -* [How to debug a job locally](#how-to-debug-a-job-locally) - -# Using Docker images[](#using-docker-images "Permalink") - -GitLab CI / CD 与[GitLab Runner](../runners/README.html)一起可以使用[Docker Engine](https://www.docker.com/)测试和构建任何应用程序. - -Docker 是一个开源项目,它允许您使用预定义的映像在单个 Linux 实例中运行的独立"容器"中运行应用程序. [Docker Hub](https://hub.docker.com/)具有丰富的预构建映像数据库,可用于测试和构建您的应用程序. - -与 GitLab CI / CD 一起使用时,Docker 使用[`.gitlab-ci.yml`](../yaml/README.html)设置的预定义映像在单独的隔离容器中运行每个作业. - -这使得拥有可以在您的工作站上运行的简单且可复制的构建环境更加容易. 额外的好处是您可以测试稍后将在您的 Shell 中探索的所有命令,而不必在专用的 CI 服务器上对其进行测试. - -## Register Docker Runner[](#register-docker-runner "Permalink") - -要将 GitLab Runner 与 Docker 一起使用,您需要[注册一个新的 Runner](https://docs.gitlab.com/runner/register/)以使用`docker` executor. - -An example can be seen below. First we set up a temporary template to supply the services: - -``` -cat > /tmp/test-config.template.toml << EOF [[runners]] -[runners.docker] -[[runners.docker.services]] -name = "postgres:latest" -[[runners.docker.services]] -name = "mysql:latest" EOF -``` - -然后,我们使用刚刚创建的模板注册跑步者: - -``` -sudo gitlab-runner register \ - --url "https://gitlab.example.com/" \ - --registration-token "PROJECT_REGISTRATION_TOKEN" \ - --description "docker-ruby:2.6" \ - --executor "docker" \ - --template-config /tmp/test-config.template.toml \ - --docker-image ruby:2.6 -``` - -注册的运行器将使用`ruby:2.6` Docker 映像,并将运行两个服务`postgres:latest`和`mysql:latest` ,在构建过程中均可访问这两个服务. - -## What is an image[](#what-is-an-image "Permalink") - -`image`关键字是 Docker 执行程序将运行以执行 CI 任务的 Docker 映像的名称. - -默认情况下,执行程序仅从[Docker Hub](https://hub.docker.com/)提取图像,但是可以通过设置[Docker 提取策略](https://docs.gitlab.com/runner/executors/docker.html)以允许使用本地映像在`gitlab-runner/config.toml`进行配置. - -有关映像和 Docker Hub 的更多信息,请阅读[Docker Fundamentals](https://s0docs0docker0com.icopy.site/engine/understanding-docker/)文档. - -## What is a service[](#what-is-a-service "Permalink") - -`services`关键字仅定义在您的工作期间运行的另一个 Docker 映像,并链接到`image`关键字定义的 Docker 映像. 这样,您就可以在构建期间访问服务映像. - -服务映像可以运行任何应用程序,但是最常见的用例是运行数据库容器,例如`mysql` . 与每次安装项目时都安装`mysql`相比,使用现有映像并将其作为附加容器运行更容易,更快捷. - -您不仅限于仅具有数据库服务. 您可以将所需的服务添加到`.gitlab-ci.yml`或手动修改`config.toml` . 在[Docker Hub](https://hub.docker.com/)或您的私有 Container Registry 中找到的任何映像都可以用作服务. - -服务继承与 CI 容器本身相同的 DNS 服务器,搜索域和其他主机. - -您可以在[CI 服务示例](../services/README.html)的相关文档中看到一些广泛使用的[服务示例](../services/README.html) . - -### How services are linked to the job[](#how-services-are-linked-to-the-job "Permalink") - -为了更好地了解容器链接的工作方式,请阅读[将容器链接在一起](https://s0docs0docker0com.icopy.site/engine/userguide/networking/default_network/dockerlinks/) . - -总而言之,如果将`mysql`作为服务添加到应用程序,则该映像将用于创建链接到作业容器的容器. - -The service container for MySQL will be accessible under the hostname `mysql`. So, in order to access your database service you have to connect to the host named `mysql` instead of a socket or `localhost`. Read more in [accessing the services](#accessing-the-services). - -### How the health check of services works[](#how-the-health-check-of-services-works "Permalink") - -服务旨在提供可通过**网络访问的**附加功能. 它可能是一个数据库,例如 MySQL 或 Redis,甚至是`docker:stable-dind` ,它允许您在 Docker 中使用 Docker. CI / CD 作业继续进行并可以通过网络进行访问几乎是任何事情. - -为确保此方法有效,跑步者: - -1. 检查默认情况下哪些端口从容器中暴露出来. -2. 启动一个特殊的容器,等待这些端口可访问. - -当检查的第二阶段失败时(由于服务中没有打开的端口,或者由于在超时之前服务未正确启动且端口没有响应),它会显示警告: `*** WARNING: Service XYZ probably didn't start properly` . - -在大多数情况下,它将影响作业,但是在某些情况下,即使打印了该警告,作业仍将成功. 例如: - -* 发出警告后不久,该服务已启动,并且该作业从一开始就没有使用链接的服务. 在那种情况下,当作业需要访问服务时,它可能已经在那里等待连接. -* 服务容器不提供任何网络服务,但是它正在使用作业的目录(所有服务都将作业目录作为卷挂载在`/builds` ). 在这种情况下,服务将完成其工作,并且由于该工作未尝试与其连接,因此它不会失败. - -### What services are not for[](#what-services-are-not-for "Permalink") - -如前所述,此功能旨在提供**网络可访问的**服务. 数据库是此类服务的最简单示例. - -**注意:**服务功能并非旨在且不会将已定义的`services`映像中的任何软件添加到作业的容器中. - -例如,如果您在作业中定义了以下`services` ,则脚本**无法**使用`php` , `node`或`go`命令,因此该作业将失败: - -``` -job: - services: - - php:7 - - node:latest - - golang:1.10 - image: alpine:3.7 - script: - - php -v - - node -v - - go version -``` - -如果你需要有`php` , `node`和`go`供你的脚本,你应该: - -* 选择一个包含所有必需工具的现有 Docker 映像. -* 创建您自己的 Docker 映像,它将包含所有必需的工具,并在您的工作中使用它. - -### Accessing the services[](#accessing-the-services "Permalink") - -假设您需要一个 Wordpress 实例来测试与应用程序的某些 API 集成. - -然后,您可以在`.gitlab-ci.yml`使用例如[tutum / wordpress](https://hub.docker.com/r/tutum/wordpress/)图像: - -``` -services: - - tutum/wordpress:latest -``` - -如果未[指定服务别名](#available-settings-for-services) ,则在运行作业时,将启动`tutum/wordpress` ,您将可以从构建容器中使用以下两个主机名访问它: - -* `tutum-wordpress` -* `tutum__wordpress` - -**注意:**带下划线的主机名是 RFC 无效的,可能会导致第三方应用程序出现问题. - -服务主机名的默认别名是根据以下规则从其映像名称创建的: - -* 冒号后一切( `:` )被剥离. -* 将斜杠( `/` )替换为双下划线( `__` ),并创建主别名. -* 斜杠( `/` )替换为单破折号( `-` ),并创建了辅助别名(需要 GitLab Runner v1.1.0 或更高版本). - -要覆盖默认行为,可以[指定服务别名](#available-settings-for-services) . - -## Define `image` and `services` from `.gitlab-ci.yml`[](#define-image-and-services-from-gitlab-ciyml "Permalink") - -您可以简单地定义将用于所有作业的映像以及要在构建期间使用的服务列表: - -``` -default: - image: ruby:2.6 - - services: - - postgres:11.7 - - before_script: - - bundle install - -test: - script: - - bundle exec rake spec -``` - -图像名称必须采用以下格式之一: - -* `image: <image-name>` (同使用`<image-name>`与`latest`标签) -* `image: <image-name>:<tag>` -* `image: <image-name>@<digest>` - -还可以为每个作业定义不同的图像和服务: - -``` -default: - before_script: - - bundle install - -test:2.6: - image: ruby:2.6 - services: - - postgres:11.7 - script: - - bundle exec rake spec - -test:2.7: - image: ruby:2.7 - services: - - postgres:12.2 - script: - - bundle exec rake spec -``` - -或者,您可以传递一些[扩展](#extended-docker-configuration-options)的`image`和`services` [配置选项](#extended-docker-configuration-options) : - -``` -default: - image: - name: ruby:2.6 - entrypoint: ["/bin/bash"] - - services: - - name: my-postgres:11.7 - alias: db-postgres - entrypoint: ["/usr/local/bin/db-postgres"] - command: ["start"] - - before_script: - - bundle install - -test: - script: - - bundle exec rake spec -``` - -## Passing environment variables to services[](#passing-environment-variables-to-services "Permalink") - -您还可以传递自定义环境[变量,](../variables/README.html)以直接在`.gitlab-ci.yml`文件中微调 Docker `images`和`services` . 有关更多信息,请参见[自定义环境变量.](../variables/README.html#gitlab-ciyml-defined-variables) - -``` -# The following variables will automatically be passed down to the Postgres container -# as well as the Ruby container and available within each. -variables: - HTTPS_PROXY: "https://10.1.1.1:8090" - HTTP_PROXY: "https://10.1.1.1:8090" - POSTGRES_DB: "my_custom_db" - POSTGRES_USER: "postgres" - POSTGRES_PASSWORD: "example" - PGDATA: "/var/lib/postgresql/data" - POSTGRES_INITDB_ARGS: "--encoding=UTF8 --data-checksums" - -services: - - name: postgres:11.7 - alias: db - entrypoint: ["docker-entrypoint.sh"] - command: ["postgres"] - -image: - name: ruby:2.6 - entrypoint: ["/bin/bash"] - -before_script: - - bundle install - -test: - script: - - bundle exec rake spec -``` - -## Extended Docker configuration options[](#extended-docker-configuration-options "Permalink") - -在 GitLab 和 GitLab Runner 9.4 中引入. - -配置`image`或`services`条目时,可以使用字符串或地图作为选项: - -* 使用字符串作为选项时,它必须是要使用的映像的全名(如果要从 Docker Hub 以外的注册表中下载映像,则应包括注册表部分) -* 使用地图作为选项时,它必须至少包含`name`选项,该名称与用于字符串设置的图像名称相同 - -例如,以下两个定义相等: - -1. 使用字符串作为`image`和`services`的选项: - - ``` - image: "registry.example.com/my/image:latest" - - services: - - postgresql:9.4 - - redis:latest - ``` - -2. 使用地图作为`image`和`services`的选项. 必须使用`image:name` : - - ``` - image: - name: "registry.example.com/my/image:latest" - - services: - - name: postgresql:9.4 - - name: redis:latest - ``` - -### Available settings for `image`[](#available-settings-for-image "Permalink") - -在 GitLab 和 GitLab Runner 9.4 中引入. - -| Setting | Required | GitLab 版本 | Description | -| --- | --- | --- | --- | -| `name` | 是的,当与任何其他选项一起使用时 | 9.4 | 应使用的图像的全名. 如果需要,它应包含注册表部分. | -| `entrypoint` | no | 9.4 | 应该作为容器的入口点执行的命令或脚本. 创建容器时,它将转换为 Docker 的`--entrypoint`选项. 语法类似于[`Dockerfile`的`ENTRYPOINT`](https://s0docs0docker0com.icopy.site/engine/reference/builder/)指令,其中每个 shell 令牌是数组中的单独字符串. | - -### Available settings for `services`[](#available-settings-for-services "Permalink") - -在 GitLab 和 GitLab Runner 9.4 中引入. - -| Setting | Required | GitLab 版本 | Description | -| --- | --- | --- | --- | -| `name` | 是的,当与任何其他选项一起使用时 | 9.4 | Full name of the image that should be used. It should contain the Registry part if needed. | -| `entrypoint` | no | 9.4 | 应该作为容器的入口点执行的命令或脚本. 创建容器时,它将转换为 Docker 的`--entrypoint`选项. 语法类似于[`Dockerfile`的`ENTRYPOINT`](https://s0docs0docker0com.icopy.site/engine/reference/builder/)指令,其中每个 shell 令牌是数组中的单独字符串. | -| `command` | no | 9.4 | 应该用作容器命令的命令或脚本. 它将转换为映像名称后传递给 Docker 的参数. 语法类似于[`Dockerfile`的`CMD`](https://s0docs0docker0com.icopy.site/engine/reference/builder/)指令,其中每个 shell 令牌是数组中的单独字符串. | -| `alias` | no | 9.4 | 可用于从作业的容器访问服务的其他别名. 请阅读[访问服务](#accessing-the-services)以获取更多信息. | - -**注意:** GitLab Runner 12.8 [引入](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/2229)了对 Kubernetes 执行器的别名支持,并且仅对 Kubernetes 1.7 或更高版本可用. - -### Starting multiple services from the same image[](#starting-multiple-services-from-the-same-image "Permalink") - -在 GitLab 和 GitLab Runner 9.4 中引入. 阅读有关[扩展配置选项的](#extended-docker-configuration-options)更多信息. - -在使用新的扩展 Docker 配置选项之前,以下配置将无法正常工作: - -``` -services: - - mysql:latest - - mysql:latest -``` - -The Runner would start two containers using the `mysql:latest` image, but both of them would be added to the job’s container with the `mysql` alias based on the [default hostname naming](#accessing-the-services). This would end with one of the services not being accessible. - -在新的扩展 Docker 配置选项之后,以上示例将如下所示: - -``` -services: - - name: mysql:latest - alias: mysql-1 - - name: mysql:latest - alias: mysql-2 -``` - -Runner 仍将使用`mysql:latest`映像启动两个容器,但是现在每个容器也可以使用`.gitlab-ci.yml`文件中配置的别名进行访问. - -### Setting a command for the service[](#setting-a-command-for-the-service "Permalink") - -在 GitLab 和 GitLab Runner 9.4 中引入. 阅读有关[扩展配置选项的](#extended-docker-configuration-options)更多信息. - -假设您有一个`super/sql:latest`映像,其中包含一些 SQL 数据库,并且想将其用作您的工作服务. 我们还假设该映像在启动容器时不会启动数据库进程,并且用户需要手动使用`/usr/bin/super-sql run`作为命令来启动数据库. - -在使用新的扩展 Docker 配置选项之前,您需要基于`super/sql:latest`映像创建自己的映像,添加默认命令,然后在作业的配置中使用它,例如: - -``` -# my-super-sql:latest image's Dockerfile - -FROM super/sql:latest -CMD ["/usr/bin/super-sql", "run"] -``` - -``` -# .gitlab-ci.yml - -services: - - my-super-sql:latest -``` - -在新的扩展 Docker 配置选项之后,您现在可以简单地在`.gitlab-ci.yml`设置`command` ,例如: - -``` -# .gitlab-ci.yml - -services: - - name: super/sql:latest - command: ["/usr/bin/super-sql", "run"] -``` - -如您所见, `command`的语法类似于[Dockerfile 的`CMD`](https://s0docs0docker0com.icopy.site/engine/reference/builder/) . - -### Overriding the entrypoint of an image[](#overriding-the-entrypoint-of-an-image "Permalink") - -在 GitLab 和 GitLab Runner 9.4 中引入. 阅读有关[扩展配置选项的](#extended-docker-configuration-options)更多信息. - -在显示可用的入口点覆盖方法之前,让我们简要介绍一下 Runner 如何启动以及如何将 Docker 映像用于 CI 作业中使用的容器: - -1. Runner 使用定义的入口点启动 Docker 容器( `Dockerfile`中的默认值,该文件可能会在`.gitlab-ci.yml`覆盖) -2. 跑步者将自己附加到正在运行的容器上. -3. 跑步者准备一个脚本( [`before_script`](../yaml/README.html#before_script-and-after_script) , [`script`](../yaml/README.html#script)和[`after_script`](../yaml/README.html#before_script-and-after_script)的组合). -4. 运行程序将脚本发送到容器的外壳 STDIN 并接收输出. - -要覆盖 Docker 映像的入口点,建议的解决方案是在`.gitlab-ci.yml`定义一个空`entrypoint` `.gitlab-ci.yml` ,以便 Runner 不会启动无用的 shell 层. 但是,这不适用于所有 Docker 版本,因此您应检查 Runner 使用的是哪个版本. 特别: - -* 如果使用 Docker 17.06 或更高版本,则`entrypoint`可以设置为空值. -* 如果使用 Docker 17.03 或更早版本,则`entrypoint`可以设置为`/bin/sh -c` , `/bin/bash -c`或映像中可用的等效 shell. - -`image:entrypoint`的语法类似于[Dockerfile 的`ENTRYPOINT`](https://s0docs0docker0com.icopy.site/engine/reference/builder/) . - -假设您有一个`super/sql:experimental`映像,其中包含一些 SQL 数据库,并且您想将其用作工作的基础映像,因为您想使用此数据库二进制文件执行一些测试. 我们还假设此映像是使用`/usr/bin/super-sql run`作为入口点配置的. 这意味着在启动没有其他选项的容器时,它将运行数据库的进程,而 Runner 希望映像没有入口点,或者入口点已准备好启动 Shell 命令. - -使用扩展的 Docker 配置选项,而不是基于`super/sql:experimental`创建自己的映像,将`ENTRYPOINT`设置为 shell,然后在 CI 作业中使用新映像,您现在只需在`.gitlab-ci.yml`定义一个`entrypoint` `.gitlab-ci.yml` . - -**对于 Docker 17.06+:** - -``` -image: - name: super/sql:experimental - entrypoint: [""] -``` - -**对于 Docker = <17.03:** - -``` -image: - name: super/sql:experimental - entrypoint: ["/bin/sh", "-c"] -``` - -## Define image and services in `config.toml`[](#define-image-and-services-in-configtoml "Permalink") - -查找`[runners.docker]`部分: - -``` -[runners.docker] - image = "ruby:latest" - services = ["mysql:latest", "postgres:latest"] -``` - -以这种方式定义的图像和服务将添加到该运行程序运行的所有作业中. - -## Define an image from a private Container Registry[](#define-an-image-from-a-private-container-registry "Permalink") - -要访问私有容器注册表,GitLab Runner 进程可以使用: - -* [静态定义的凭证](#using-statically-defined-credentials) . 也就是说,特定注册表的用户名和密码. -* [凭证存储](#using-credentials-store) . 有关更多信息,请参阅[相关的 Docker 文档](https://docs.docker.com/engine/reference/commandline/login/#credentials-store) . -* [凭证助手](#using-credential-helpers) . 有关更多信息,请参阅[相关的 Docker 文档](https://docs.docker.com/engine/reference/commandline/login/#credential-helpers) . - -为了定义应该使用哪个,GitLab Runner 进程按以下顺序读取配置: - -* `DOCKER_AUTH_CONFIG`变量提供为: - * `.gitlab-ci.yml` [变量](../variables/README.html#gitlab-cicd-environment-variables) . - * 项目的变量存储在项目的**"设置">" CI / CD"**页面上. -* Runner 的`config.toml`中提供了`DOCKER_AUTH_CONFIG`变量作为环境变量. -* `config.json`文件放置在运行 GitLab Runner 进程的用户的`$HOME/.docker`目录中. 如果提供了`--user`标志以非特权用户身份运行 GitLab Runner 子进程,则将使用 GitLab Runner 主进程用户的主目录. - -**注意:** GitLab Runner **仅从** `config.toml`读取此配置,并且如果它是作为环境变量提供的,则忽略它. 这是因为 GitLab Runner **仅**使用`config.toml`配置,并且不会在运行时内插**任何**环境变量. - -### Requirements and limitations[](#requirements-and-limitations "Permalink") - -* 此功能需要 GitLab Runner **1.8**或更高版本. -* 对于**> = 0.6,<1.8 的** GitLab Runner 版本**,**部分支持使用私有注册表,这要求在运行者的主机上手动配置凭据. 如果要使用私人注册表,建议将 Runner 至少升级到**1.8**版. -* 在 GitLab Runner 13.1 和更高版本中适用于[Kubernetes 执行器](https://docs.gitlab.com/runner/executors/kubernetes.html) . - -### Using statically-defined credentials[](#using-statically-defined-credentials "Permalink") - -您可以采用两种方法来访问私有注册表. 两者都需要使用适当的身份验证信息设置环境变量`DOCKER_AUTH_CONFIG` . - -1. 每个作业:要配置一个作业以访问专用注册表,请添加`DOCKER_AUTH_CONFIG`作为作业变量. -2. 每个运行者:要配置 Runner 以便其所有作业都可以访问私有注册表,请在 Runner 的配置中将`DOCKER_AUTH_CONFIG`添加到环境中. - -请参阅下面的示例. - -#### Determining your `DOCKER_AUTH_CONFIG` data[](#determining-your-docker_auth_config-data "Permalink") - -例如,假设您要使用`registry.example.com:5000/private/image:latest`映像,该映像是私有映像,需要您登录到私有容器注册表. - -我们还假设这些是登录凭据: - -| Key | Value | -| --- | --- | -| registry | `registry.example.com:5000` | -| username | `my_username` | -| password | `my_password` | - -有两种方法可以确定`DOCKER_AUTH_CONFIG`的值: - -* **第一种方法-**在本地计算机上进行`docker login` : - - ``` - docker login registry.example.com:5000 --username my_username --password my_password - ``` - - 然后复制`~/.docker/config.json` . - - 如果您不需要从计算机访问注册表,则可以执行`docker logout` : - - ``` - docker logout registry.example.com:5000 - ``` - -* **第二种方式-**在某些设置中,Docker 客户端可能会使用可用的系统密钥存储区来存储`docker login`的结果. 在这种情况下,无法读取`~/.docker/config.json` ,因此您将需要准备所需的`${username}:${password}` base64 编码版本,并手动创建 Docker 配置 JSON. 打开一个终端并执行以下命令: - - ``` - # Note the use of "-n" - it prevents encoding a newline in the password. - echo -n "my_username:my_password" | base64 - - # Example output to copy - bXlfdXNlcm5hbWU6bXlfcGFzc3dvcmQ= - ``` - - 创建 Docker JSON 配置内容,如下所示: - - ``` - { "auths": { "registry.example.com:5000": { "auth": "(Base64 content from above)" } } } - ``` - -#### Configuring a job[](#configuring-a-job "Permalink") - -要配置具有对`registry.example.com:5000`访问权限的单个作业,请按照下列步骤操作: - -1. 创建一个[变量](../variables/README.html#gitlab-cicd-environment-variables) `DOCKER_AUTH_CONFIG` ,并将 Docker 配置文件的内容作为值: - - ``` - { "auths": { "registry.example.com:5000": { "auth": "bXlfdXNlcm5hbWU6bXlfcGFzc3dvcmQ=" } } } - ``` - -2. 现在,您可以使用`.gitlab-ci.yml`文件中`image`和/或`services`中定义的`registry.example.com:5000`任何私有图像: - - ``` - image: registry.example.com:5000/namespace/image:tag - ``` - - 在上面的例子,GitLab 转轮会看`registry.example.com:5000`用于图像`namespace/image:tag` . - -您可以根据需要添加任意数量的注册表配置,如上所述,将更多注册表添加到`"auths"`哈希中. - -**注意:** Runner 到处都需要完整的`hostname:port`组合,以使其与`DOCKER_AUTH_CONFIG`相匹配. 例如,如果`registry.example.com:5000/namespace/image:tag`中指定`.gitlab-ci.yml` ,则`DOCKER_AUTH_CONFIG`还必须指定`registry.example.com:5000` . 仅指定`registry.example.com`将不起作用. - -### Configuring a Runner[](#configuring-a-runner "Permalink") - -如果您有许多访问同一注册表的管道,最好在运行程序级别设置注册表访问. 这使管道作者仅通过在适当的运行程序上运行作业即可访问私有注册表. 这也使注册表更改和凭据轮换更加简单. - -当然,这意味着该运行程序上的任何作业都可以使用相同的特权访问注册表,即使在整个项目中也是如此. 如果需要控制对注册表的访问,则需要确保控制对运行器的访问. - -要将`DOCKER_AUTH_CONFIG`添加到运行器: - -1. 修改 Runner 的`config.toml`文件,如下所示: - - ``` - [[runners]] - environment = ["DOCKER_AUTH_CONFIG={\"auths\":{\"registry.example.com:5000\":{\"auth\":\"bXlfdXNlcm5hbWU6bXlfcGFzc3dvcmQ=\"}}}"] - ``` - -2. 重新启动 Runner 服务. - -**注意:** `DOCKER_AUTH_CONFIG`数据中包含的双引号必须使用反斜杠转义. 这样可以防止将它们解释为 TOML.**注意:** `environment`选项是一个列表. 因此,您的跑步者可能已有条目,您应该将其添加到列表中,而不是替换它. - -### Using Credentials Store[](#using-credentials-store "Permalink") - -> 在 GitLab Runner 9.5 中添加了对使用凭据存储的支持. - -要配置凭据存储,请按照下列步骤操作: - -1. 要使用凭据存储,您需要一个外部帮助程序来与特定的钥匙串或外部存储进行交互. 确保 GitLab Runner `$PATH`有可用的帮助程序. - -2. 使 GitLab Runner 使用它. 有两种方法可以完成此操作. 要么: - - * 创建一个[变量](../variables/README.html#gitlab-cicd-environment-variables) `DOCKER_AUTH_CONFIG` ,并将 Docker 配置文件的内容作为值: - - ``` - { "credsStore": "osxkeychain" } - ``` - - * 或者,如果您正在运行自我管理的`${GITLAB_RUNNER_HOME}/.docker/config.json` ,请将上面的 JSON 添加到`${GITLAB_RUNNER_HOME}/.docker/config.json` . GitLab Runner 将读取此配置文件,并将使用此特定存储库所需的帮助程序. - -**注意:** `credsStore`用于访问所有注册表. 如果要同时使用私有注册表中的映像和 DockerHub 中的公共映像,则从 DockerHub 提取将失败,因为 Docker 守护程序将尝试对**所有**注册表使用相同的凭据. - -### Using Credential Helpers[](#using-credential-helpers "Permalink") - -> 在 GitLab Runner 12.0 中添加了对使用凭据助手的支持 - -作为示例,假设您要使用`aws_account_id.dkr.ecr.region.amazonaws.com/private/image:latest`映像,该映像是私有的,需要您登录到私有容器注册表. - -要配置`aws_account_id.dkr.ecr.region.amazonaws.com`访问`aws_account_id.dkr.ecr.region.amazonaws.com` ,请按照以下步骤操作: - -1. 确保`docker-credential-ecr-login`在 GitLab Runner 的`$PATH`可用. - -2. 具有以下任何[AWS 凭证设置](https://github.com/awslabs/amazon-ecr-credential-helper#aws-credentials) . 确保 GitLab Runner 可以访问凭据. - -3. 使 GitLab Runner 使用它. 有两种方法可以完成此操作. 要么: - - * 创建一个[变量](../variables/README.html#gitlab-cicd-environment-variables) `DOCKER_AUTH_CONFIG` ,并将 Docker 配置文件的内容作为值: - - ``` - { "credHelpers": { "aws_account_id.dkr.ecr.region.amazonaws.com": "ecr-login" } } - ``` - - 这会将 Docker 配置为对特定注册表使用凭据帮助器. - - or - - ``` - { "credsStore": "ecr-login" } - ``` - - 这会将 Docker 配置为对所有 Amazon ECR 注册表使用凭证帮助器. - - * 或者,如果您正在运行自我管理的`${GITLAB_RUNNER_HOME}/.docker/config.json` ,请将上面的 JSON 添加到`${GITLAB_RUNNER_HOME}/.docker/config.json` . GitLab Runner 将读取此配置文件,并将使用此特定存储库所需的帮助程序. - -4. 现在,您可以使用`.gitlab-ci.yml`文件中`image`和/或`services`中定义的`aws_account_id.dkr.ecr.region.amazonaws.com`任何私有图像: - - ``` - image: aws_account_id.dkr.ecr.region.amazonaws.com/private/image:latest - ``` - - 在上面的示例中,GitLab Runner 将查看`aws_account_id.dkr.ecr.region.amazonaws.com`中的图像`private/image:latest` . - -您可以根据需要添加`"credHelpers"`数量的注册表配置,如上所述,将更多注册表添加到`"credHelpers"`哈希中. - -## Configuring services[](#configuring-services "Permalink") - -许多服务接受环境变量,这些变量使您可以根据环境轻松更改数据库名称或设置帐户名称. - -GitLab Runner 0.5.0 及更高版本将所有 YAML 定义的变量传递到创建的服务容器. - -For all possible configuration variables check the documentation of each image provided in their corresponding Docker hub page. - -**注意:**所有变量都将传递到所有服务容器. 它并非旨在区分哪个变量应该放在哪里. - -### PostgreSQL service example[](#postgresql-service-example "Permalink") - -请参阅有关将[PostgreSQL 用作服务](../services/postgres.html)的特定文档. - -### MySQL service example[](#mysql-service-example "Permalink") - -请参阅有关将[MySQL 用作服务](../services/mysql.html)的特定文档. - -## How Docker integration works[](#how-docker-integration-works "Permalink") - -以下是 Docker 在作业期间执行的步骤的高级概述. - -1. 创建任何服务容器: `mysql` , `postgresql` , `mongodb` , `redis` . -2. 创建缓存容器以存储`config.toml`和构建映像的`Dockerfile`中定义的所有卷(如上例中的`ruby:2.6` ). -3. 创建构建容器并将任何服务容器链接到构建容器. -4. 启动构建容器并将作业脚本发送到该容器. -5. 运行作业脚本. -6. 检出代码: `/builds/group-name/project-name/` . -7. 运行`.gitlab-ci.yml`定义的任何步骤. -8. 检查构建脚本的退出状态. -9. 删除构建容器和所有创建的服务容器. - -## How to debug a job locally[](#how-to-debug-a-job-locally "Permalink") - -**注意:**以下命令在没有 root 特权的情况下运行. 您应该能够使用常规用户帐户运行 Docker. - -首先从创建一个名为`build_script`的文件`build_script` : - -``` -cat <<EOF > build_script -git clone https://gitlab.com/gitlab-org/gitlab-runner.git /builds/gitlab-org/gitlab-runner -cd /builds/gitlab-org/gitlab-runner -make EOF -``` - -在这里,我们以包含 Makefile 的 GitLab Runner 存储库为例,因此运行`make`将执行 Makefile 中定义的命令. 您的里程可能会有所不同,所以不是`make`你可以运行它是特定于项目的命令. - -然后创建一些服务容器: - -``` -docker run -d --name service-mysql mysql:latest -docker run -d --name service-postgres postgres:latest -``` - -这将创建两个服务容器,分别名为`service-mysql`和`service-postgres` ,它们分别使用最新的 MySQL 和 PostgreSQL 映像. 它们都将在后台( `-d` )运行. - -最后,通过执行我们之前创建的`build_script`文件来创建构建容器: - -``` -docker run --name build -i --link=service-mysql:mysql --link=service-postgres:postgres ruby:2.6 /bin/bash < build_script -``` - -上面的命令将创建一个名为`build`的容器,该容器是从`ruby:2.6`镜像派生的,并且有两个链接到它的服务. 使用 STDIN 将`build_script`通过管道传输到 bash 解释器,然后 bash 解释器将在`build`容器中执行`build_script` . - -完成测试后,不再需要这些容器时,可以使用以下方法删除它们: - -``` -docker rm -f -v build service-mysql service-postgres -``` - -这将强制( `-f` )删除`build`容器,两个服务容器以及随容器创建而创建的所有卷( `-v` ). \ No newline at end of file diff --git a/docs/219.md b/docs/219.md deleted file mode 100644 index f556d8c..0000000 --- a/docs/219.md +++ /dev/null @@ -1,88 +0,0 @@ -# Building images with kaniko and GitLab CI/CD - -> 原文:[https://docs.gitlab.com/ee/ci/docker/using_kaniko.html](https://docs.gitlab.com/ee/ci/docker/using_kaniko.html) - -* [Requirements](#requirements) -* [Building a Docker image with kaniko](#building-a-docker-image-with-kaniko) -* [Using a registry with a custom certificate](#using-a-registry-with-a-custom-certificate) -* [Video walkthrough of a working example](#video-walkthrough-of-a-working-example) - -# Building images with kaniko and GitLab CI/CD[](#building-images-with-kaniko-and-gitlab-cicd "Permalink") - -在 GitLab 11.2 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/45512) . 需要 GitLab Runner 11.2 及更高版本. - -[kaniko](https://github.com/GoogleContainerTools/kaniko)是从容器或 Kubernetes 集群内部的 Dockerfile 构建容器映像的工具. - -kaniko 使用[Docker-in-Docker 构建](using_docker_build.html#use-docker-in-docker-workflow-with-docker-executor)方法解决了两个问题: - -* Docker-in-Docker 需要[特权模式](https://s0docs0docker0com.icopy.site/engine/reference/run/)才能运行,这是一个重大的安全问题. -* Docker-in-Docker 通常会导致性能下降,并且可能会非常慢. - -## Requirements[](#requirements "Permalink") - -为了在 GitLab 中使用 kaniko,需要使用以下执行程序之一的[GitLab Runner](https://docs.gitlab.com/runner/) : - -* [Kubernetes](https://docs.gitlab.com/runner/executors/kubernetes.html). -* [Docker](https://docs.gitlab.com/runner/executors/docker.html). -* [Docker Machine](https://docs.gitlab.com/runner/executors/docker_machine.html). - -## Building a Docker image with kaniko[](#building-a-docker-image-with-kaniko "Permalink") - -使用 kaniko 和 GitLab CI / CD 构建映像时,应注意一些重要细节: - -* 推荐使用 kaniko 调试映像( `gcr.io/kaniko-project/executor:debug` ),因为它具有外壳,并且该映像与 GitLab CI / CD 一起使用时需要外壳. -* 入口点将需要被[覆盖](using_docker_images.html#overriding-the-entrypoint-of-an-image) ,否则构建脚本将无法运行. -* 需要使用所需容器注册表的身份验证信息创建一个 Docker `config.json`文件. - -In the following example, kaniko is used to: - -1. 构建一个 Docker 镜像 -2. 然后将其推送到[GitLab 容器注册表](../../user/packages/container_registry/index.html) . - -仅当按下标签时作业才会运行. 使用从 GitLab CI / CD 提供的[环境变量中](../variables/README.html#predefined-environment-variables)获取的所需 GitLab 容器注册表凭据在`/kaniko/.docker`下创建一个`config.json`文件. - -在最后一步中,kaniko 使用项目根目录下的`Dockerfile` ,构建 Docker 映像并将其推送到项目的 Container Registry,同时使用 Git 标签对其进行标记: - -``` -build: - stage: build - image: - name: gcr.io/kaniko-project/executor:debug - entrypoint: [""] - script: - - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json - - /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG - only: - - tags -``` - -## Using a registry with a custom certificate[](#using-a-registry-with-a-custom-certificate "Permalink") - -尝试推送到使用由自定义 CA 签名的证书的 Docker 注册表时,您可能会遇到以下错误: - -``` -$ /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --no-push -INFO[0000] Downloading base image registry.gitlab.example.com/group/docker-image -error building image: getting stage builder for stage 0: Get https://registry.gitlab.example.com/v2/: x509: certificate signed by unknown authority -``` - -可以通过将您的 CA 证书添加到 kaniko 证书存储区来解决: - -``` - before_script: - - mkdir -p /kaniko/.docker - - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json - - | - echo "-----BEGIN CERTIFICATE----- - ... - -----END CERTIFICATE-----" >> /kaniko/ssl/certs/additional-ca-cert-bundle.crt -``` - -## Video walkthrough of a working example[](#video-walkthrough-of-a-working-example "Permalink") - -[在 GitLab](https://www.youtube.com/watch?v=d96ybcELpFs)视频[上使用 Kaniko](https://www.youtube.com/watch?v=d96ybcELpFs)的[最低权限容器构建](https://www.youtube.com/watch?v=d96ybcELpFs)是对[Kaniko Docker Build](https://gitlab.com/guided-explorations/containers/kaniko-docker-build) Guided Exploration 项目管道的演练. 经过测试: - -* [GitLab.com Shared Runners](../../user/gitlab_com/index.html#shared-runners) -* [The Kubernetes Runner executor](https://docs.gitlab.com/runner/executors/kubernetes.html) - -可以将示例复制到您自己的组或实例中进行测试. 项目页面上提供了有关演示其他 GitLab CI 模式的更多详细信息. \ No newline at end of file diff --git a/docs/220.md b/docs/220.md deleted file mode 100644 index 713bd40..0000000 --- a/docs/220.md +++ /dev/null @@ -1,893 +0,0 @@ -# GitLab CI/CD environment variables - -> 原文:[https://docs.gitlab.com/ee/ci/variables/README.html](https://docs.gitlab.com/ee/ci/variables/README.html) - -* [Predefined environment variables](#predefined-environment-variables) - * [Use predefined environment variables](#use-predefined-environment-variables) -* [Custom environment variables](#custom-environment-variables) - * [Create a custom variable in `.gitlab-ci.yml`](#create-a-custom-variable-in-gitlab-ciyml) - * [Create a custom variable in the UI](#create-a-custom-variable-in-the-ui) - * [Custom environment variables of type Variable](#custom-environment-variables-of-type-variable) - * [Custom environment variables of type File](#custom-environment-variables-of-type-file) - * [Mask a custom variable](#mask-a-custom-variable) - * [Masked variable requirements](#masked-variable-requirements) - * [Protect a custom variable](#protect-a-custom-variable) - * [Custom variables validated by GitLab](#custom-variables-validated-by-gitlab) -* [Syntax of environment variables in job scripts](#syntax-of-environment-variables-in-job-scripts) - * [Bash](#bash) - * [PowerShell](#powershell) - * [Windows Batch](#windows-batch) - * [List all environment variables](#list-all-environment-variables) -* [`.gitlab-ci.yml` defined variables](#gitlab-ciyml-defined-variables) -* [Group-level environment variables](#group-level-environment-variables) -* [Instance-level CI/CD environment variables](#instance-level-cicd-environment-variables) - * [Enable or disable UI interface for instance-level CI/CD variables](#enable-or-disable-ui-interface-for-instance-level-cicd-variables) -* [Inherit environment variables](#inherit-environment-variables) -* [Priority of environment variables](#priority-of-environment-variables) -* [Unsupported variables](#unsupported-variables) -* [Where variables can be used](#where-variables-can-be-used) -* [Advanced use](#advanced-use) - * [Limit the environment scopes of environment variables](#limit-the-environment-scopes-of-environment-variables) - * [Deployment environment variables](#deployment-environment-variables) - * [Auto DevOps environment variables](#auto-devops-environment-variables) - * [Override a variable by manually running a pipeline](#override-a-variable-by-manually-running-a-pipeline) -* [Environment variables expressions](#environment-variables-expressions) - * [Syntax of environment variable expressions](#syntax-of-environment-variable-expressions) - * [Storing regular expressions in variables](#storing-regular-expressions-in-variables) -* [Debug logging](#debug-logging) -* [Video walkthrough of a working example](#video-walkthrough-of-a-working-example) - -# GitLab CI/CD environment variables[](#gitlab-cicd-environment-variables "Permalink") - -环境变量是一个动态命名的值,它可以影响正在运行的进程在操作系统上的行为方式. - -环境变量是进程在其中运行的环境的一部分. 例如,正在运行的进程可以查询`TEMP`环境变量的值以发现合适的位置来存储临时文件,或者为可以在不同脚本中重用的数据库定义`URL` . - -变量对于在 GitLab CI / CD 中自定义作业很有用. 使用变量时,不必对值进行硬编码. - -> 有关高级使用 GitLab CI / CD 的更多信息: -> -> * 由 GitLab 工程师共享的这[7 种高级 GitLab CI 工作流程黑客,](https://about.gitlab.com/webcast/7cicd-hacks/)可以更快地提高生产力. -> * 了解 Cloud Native Computing Foundation(CNCF)如何通过 GitLab CI / CD [消除](https://about.gitlab.com/customers/cncf/)许多云提供商之间管理项目[的复杂性](https://about.gitlab.com/customers/cncf/) . - -## Predefined environment variables[](#predefined-environment-variables "Permalink") - -GitLab CI / CD 具有一组[默认的预定义变量](predefined_variables.html) ,您可以使用它们而无需任何其他说明. 您可以呼叫问题编号,用户名,分支名称,管道和提交 ID 等. - -GitLab 为 Runner 的本地环境提供了预定义的环境变量. - -GitLab 读取`.gitlab-ci.yml`文件,并将信息发送到 Runner,在此处公开变量. 然后,运行程序运行脚本命令. - -### Use predefined environment variables[](#use-predefined-environment-variables "Permalink") - -您可以选择现有的预定义变量之一,以由 Runner 输出. - -本示例说明如何使用预定义变量`CI_JOB_STAGE`输出作业的阶段. - -在您的`.gitlab-ci.yml`文件中,从脚本中调用变量. 确保使用正确的[语法](#syntax-of-environment-variables-in-job-scripts) . - -``` -test_variable: - stage: test - script: - - echo $CI_JOB_STAGE -``` - -在这种情况下,跑步者输出工作`test_variable`的`stage` ,即`test` : - -[![Output `$CI_JOB_STAGE`](img/b6a9c5aa2e348263baf61cb961ac802f.png)](img/ci_job_stage_output_example.png) - -再举一个例子,假设您使用自己的 GitLab 实例,并且想知道 GitLab 页面在哪个域下提供服务. 您可以通过在脚本中使用预定义变量`$CI_PAGES_DOMAIN`来调用它: - -``` -pages: - script: - - ... - - echo $CI_PAGES_DOMAIN -``` - -对于 GitLab.com 用户,输出将为`gitlab.io` . 对于您的私有实例,输出将是您的系统管理员定义的任何内容. - -## Custom environment variables[](#custom-environment-variables "Permalink") - -当需要特定的自定义环境变量时,可以[在 UI](#create-a-custom-variable-in-the-ui)中[,API](../../api/project_level_variables.html)中或直接[在`.gitlab-ci.yml`文件中进行设置](#create-a-custom-variable-in-gitlab-ciyml) . - -每当管道运行时,Runner 就会使用这些变量. 您还[可以手动覆盖特定管道的变量值](../pipelines/index.html#specifying-variables-when-running-manual-jobs) . - -变量有两种类型: **Variable**和**File** . 您无法在`.gitlab-ci.yml`文件中设置类型,但可以在 UI 和 API 中进行设置. - -### Create a custom variable in `.gitlab-ci.yml`[](#create-a-custom-variable-in-gitlab-ciyml "Permalink") - -要创建自定义`env_var`在可变[`.gitlab-ci.yml`](../yaml/README.html#variables)文件中,定义下的变量/值对`variables` : - -``` -variables: - TEST: "HELLO WORLD" -``` - -然后,您可以在脚本中调用其值: - -``` - script: - - echo "$TEST" -``` - -有关更多详细信息,请参见[`.gitlab-ci.yml`定义的变量](#gitlab-ciyml-defined-variables) . - -### Create a custom variable in the UI[](#create-a-custom-variable-in-the-ui "Permalink") - -在用户界面中,您可以添加或更新自定义环境变量: - -1. 转到项目的**"设置">" CI / CD",**然后展开" **变量"**部分. -2. 单击**添加变量**按钮. 在" **添加变量**模式"中,填写详细信息: - - * **密钥** :必须是一行,没有空格,只能使用字母,数字或`_` . - * **价值** :无限制. - * **Type**: `File` or `Variable`. - * **环境范围** : `All`或特定环境. - * **保护变量** (可选):如果选中,则该变量将仅在在受保护的分支或标签上运行的管道中可用. - * **屏蔽变量** (可选):如果选中,则变量的**值**将在作业日志中被屏蔽. 如果该值不满足[屏蔽要求,](#masked-variable-requirements)则变量将无法保存. - -创建变量后,您可以通过点击 **编辑**按钮. - -设置变量后,请从`.gitlab-ci.yml`文件中调用它: - -``` -test_variable: - stage: test - script: - - echo $CI_JOB_STAGE # calls a predefined variable - - echo $TEST # calls a custom variable of type `env_var` - - echo $GREETING # calls a custom variable of type `file` that contains the path to the temp file - - cat $GREETING # the temp file itself contains the variable value -``` - -输出将是: - -[![Output custom variable](img/4401376aa4e3f3764851b2dbb25f6f2e.png)](img/custom_variables_output.png) - -### Custom environment variables of type Variable[](#custom-environment-variables-of-type-variable "Permalink") - -在 GitLab 11.11 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/46806) . - -对于类型为**Variable 的变量** ,Runner 会创建一个环境变量,该环境变量将键用作名称,并将值用作值. - -有[一些](#custom-variables-validated-by-gitlab)这种类型的[预定义变量](#custom-variables-validated-by-gitlab) ,可以进一步验证. 它们在您在 UI 中添加或更新变量时出现. - -### Custom environment variables of type File[](#custom-environment-variables-of-type-file "Permalink") - -在 GitLab 11.11 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/46806) . - -对于**File**类型的变量,Runner 创建一个环境变量,该环境变量使用键作为名称. 对于该值,Runner 将变量值写入临时文件并使用此路径. - -您可以使用诸如[AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html)和[`kubectl`](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/#the-kubeconfig-environment-variable)类[的](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html)工具通过使用**File** type 变量来自定义配置. - -过去,常见的模式是读取 CI 变量的值,将其保存在文件中,然后在脚本中使用新创建的文件: - -``` -# Read certificate stored in $KUBE_CA_PEM variable and save it in a new file -echo "$KUBE_CA_PEM" > "$(pwd)/kube.ca.pem" -# Pass the newly created file to kubectl -kubectl config set-cluster e2e --server="$KUBE_URL" --certificate-authority="$(pwd)/kube.ca.pem" -``` - -代替此,您可以使用**文件**类型变量. 例如,如果您具有以下变量: - -* 类型为**Variable** : `KUBE_URL` **变量** ,其值为`https://example.com` . -* 类型为**File** : `KUBE_CA_PEM`变量,其值为证书. - -您可以从`.gitlab-ci.yml`调用它们,如下所示: - -``` -kubectl config set-cluster e2e --server="$KUBE_URL" --certificate-authority="$KUBE_CA_PEM" -``` - -### Mask a custom variable[](#mask-a-custom-variable "Permalink") - -在 GitLab 11.10 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/13784) - -可以屏蔽变量,以便将变量的值隐藏在作业日志中. - -要屏蔽变量: - -1. 转到**设置> CI / CD** . -2. 展开**变量**部分. -3. 在您要保护的变量旁边,点击**编辑** . -4. 选择**掩码变量**复选框. -5. Click **更新变量**. - -#### Masked variable requirements[](#masked-variable-requirements "Permalink") - -变量的值必须: - -* 在一行中. -* 至少要包含 8 个字符. -* 不是预定义或自定义环境变量. -* 仅由 Base64 字母(RFC4648)中的字符组成. [在 GitLab 12.2](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/63043)和更高版本中, `@`和`:`也是有效值. - -您不能屏蔽不满足这些要求的变量. - -### Protect a custom variable[](#protect-a-custom-variable "Permalink") - -在 GitLab 9.3 中引入. - -变量可以被保护. 受保护的变量将安全地传递到仅在[受保护的分支](../../user/project/protected_branches.html)或[受保护的标签](../../user/project/protected_tags.html)上运行的管道. 其他管道不获取受保护的变量. - -要保护变量: - -1. 转到**设置> CI / CD** . -2. 展开**变量**部分. -3. 在您要保护的变量旁边,点击**编辑** . -4. 选择**保护变量**复选框. -5. Click **更新变量**. - -该变量可用于所有后续管道. 受保护的变量只能由拥有[维护者权限的](../../user/permissions.html#project-members-permissions)项目成员更新或查看. - -### Custom variables validated by GitLab[](#custom-variables-validated-by-gitlab "Permalink") - -UI 中列出了一些变量,因此您可以更快地选择它们. GitLab 会验证这些变量的值,以确保它们的格式正确. - -| Variable | 允许值 | 引入 | -| --- | --- | --- | -| `AWS_ACCESS_KEY_ID` | 20 个字符:字母,数字 | 12.10 | -| `AWS_DEFAULT_REGION` | Any | 12.10 | -| `AWS_SECRET_ACCESS_KEY` | 40 个字符:字母,数字,特殊字符 | 12.10 | - -**注意:**存储凭据时,会涉及安全性. 例如,如果您使用的是 AWS 密钥,请遵循其[最佳做法](https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html) . - -## Syntax of environment variables in job scripts[](#syntax-of-environment-variables-in-job-scripts "Permalink") - -所有变量都在构建环境中设置为环境变量,并且可以使用用于访问此类变量的常规方法来访问它们. 在大多数情况下, `bash`或`sh`用于执行作业脚本. - -要访问环境变量,请为 Runner's [shell](https://docs.gitlab.com/runner/executors/)使用语法. - -| Shell | Usage | -| --- | --- | -| bash/sh | `$variable` | -| PowerShell | `$env:variable` (主`$env:variable` )或`$variable` | -| Windows 批处理 | `%variable%` | - -### Bash[](#bash "Permalink") - -要在**bash 中**访问环境变量,请在变量名前加上( `$` ): - -``` -job_name: - script: - - echo $CI_JOB_ID -``` - -### PowerShell[](#powershell "Permalink") - -要访问**Windows PowerShell**环境中的环境变量,请在变量名前加上( `$env:` . 对于由 GitLab CI 设置的环境变量,包括由[`variables`](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/ci/yaml/README.md#variables)参数设置的环境[`variables`](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/ci/yaml/README.md#variables) ,还可以通过在[GitLab Runner 1.0.0 开始](https://gitlab.com/gitlab-org/gitlab-runner/-/commit/abc44bb158008cd3a49c0d8173717c38dadb29ae#47afd7e8f12afdb8f0246262488f24e6dd071a22) ,通过在变量名称前加上( `$` )来访问它们. 但是,必须使用( `$env:`访问系统设置的环境变量. - -``` -job_name: - script: - - echo $env:CI_JOB_ID - - echo $CI_JOB_ID - - echo $env:PATH -``` - -在[某些情况下,](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/4115#note_157692820)环境变量可能需要用引号引起来才能正确扩展: - -``` -job_name: - script: - - D:\\qislsf\\apache-ant-1.10.5\\bin\\ant.bat "-DsosposDailyUsr=$env:SOSPOS_DAILY_USR" portal_test -``` - -### Windows Batch[](#windows-batch "Permalink") - -要访问**Windows Batch 中的**环境变量,请用( `%` )包围变量: - -``` -job_name: - script: - - echo %CI_JOB_ID% -``` - -### List all environment variables[](#list-all-environment-variables "Permalink") - -您还可以使用 Bash 中的`export`命令或 PowerShell 中的`dir env:`命令列出所有环境变量. 请注意,这还将在作业日志中公开您设置的所有变量的值: - -``` -job_name: - script: - - export - # - 'dir env:' # use this for PowerShell -``` - -值示例: - -``` -export CI_JOB_ID="50" -export CI_COMMIT_SHA="1ecfd275763eff1d6b4844ea3168962458c9f27a" -export CI_COMMIT_SHORT_SHA="1ecfd275" -export CI_COMMIT_REF_NAME="master" -export CI_REPOSITORY_URL="https://gitlab-ci-token:abcde-1234ABCD5678ef@example.com/gitlab-org/gitlab-foss.git" -export CI_COMMIT_TAG="1.0.0" -export CI_JOB_NAME="spec:other" -export CI_JOB_STAGE="test" -export CI_JOB_MANUAL="true" -export CI_JOB_TRIGGERED="true" -export CI_JOB_TOKEN="abcde-1234ABCD5678ef" -export CI_PIPELINE_ID="1000" -export CI_PIPELINE_IID="10" -export CI_PAGES_DOMAIN="gitlab.io" -export CI_PAGES_URL="https://gitlab-org.gitlab.io/gitlab-foss" -export CI_PROJECT_ID="34" -export CI_PROJECT_DIR="/builds/gitlab-org/gitlab-foss" -export CI_PROJECT_NAME="gitlab-foss" -export CI_PROJECT_TITLE="GitLab FOSS" -export CI_PROJECT_NAMESPACE="gitlab-org" -export CI_PROJECT_ROOT_NAMESPACE="gitlab-org" -export CI_PROJECT_PATH="gitlab-org/gitlab-foss" -export CI_PROJECT_URL="https://example.com/gitlab-org/gitlab-foss" -export CI_REGISTRY="registry.example.com" -export CI_REGISTRY_IMAGE="registry.example.com/gitlab-org/gitlab-foss" -export CI_REGISTRY_USER="gitlab-ci-token" -export CI_REGISTRY_PASSWORD="longalfanumstring" -export CI_RUNNER_ID="10" -export CI_RUNNER_DESCRIPTION="my runner" -export CI_RUNNER_TAGS="docker, linux" -export CI_SERVER="yes" -export CI_SERVER_URL="https://example.com" -export CI_SERVER_HOST="example.com" -export CI_SERVER_PORT="443" -export CI_SERVER_PROTOCOL="https" -export CI_SERVER_NAME="GitLab" -export CI_SERVER_REVISION="70606bf" -export CI_SERVER_VERSION="8.9.0" -export CI_SERVER_VERSION_MAJOR="8" -export CI_SERVER_VERSION_MINOR="9" -export CI_SERVER_VERSION_PATCH="0" -export GITLAB_USER_EMAIL="user@example.com" -export GITLAB_USER_ID="42" -``` - -## `.gitlab-ci.yml` defined variables[](#gitlab-ciyml-defined-variables "Permalink") - -**注意:**此功能需要 GitLab Runner 0.5.0 或更高版本以及 GitLab 7.14 或更高版本. - -您可以将在构建环境中设置的变量添加到`.gitlab-ci.yml` . 这些变量保存在存储库中,它们旨在存储非敏感项目配置,例如`RAILS_ENV`或`DATABASE_URL` . - -例如,如果将变量全局设置为下方(而不是在作业内部),它将在所有已执行的命令和脚本中使用: - -``` -variables: - DATABASE_URL: "postgres://postgres@postgres/my_database" -``` - -还将 YAML 定义的变量设置为所有创建的[服务容器](../docker/using_docker_images.html) ,以便您可以对其进行微调. - -变量可以在全局级别定义,也可以在作业级别定义. 要在作业中关闭全局定义的变量,请定义一个空哈希: - -``` -job_name: - variables: {} -``` - -您可以在变量定义内使用其他变量(或使用`$$`对其进行转义): - -``` -variables: - LS_CMD: 'ls $FLAGS $$TMP_DIR' - FLAGS: '-al' -script: - - 'eval $LS_CMD' # will execute 'ls -al $TMP_DIR' -``` - -## Group-level environment variables[](#group-level-environment-variables "Permalink") - -Introduced in GitLab 9.4. - -您可以定义在管道环境中设置的每个项目或每个组的变量. 组级变量存储在存储库之外(不在`.gitlab-ci.yml` ),并安全地传递到 GitLab Runner,这使它们在管道运行期间可用. 对于**不**使用外部密钥存储或使用 GitLab [与 HashiCorp Vault 集成的](../examples/authenticating-with-hashicorp-vault/index.html)高级用户,我们建议使用组环境变量来存储密码,SSH 密钥和凭据之类的机密. - -组级变量可以通过以下方式添加: - -1. 导航到组的**"设置">" CI / CD"**页面. -2. 在" **变量"**部分中输入变量类型,键和值. [子组的](../../user/group/subgroups/index.html)任何变量将被递归继承. - -设置它们后,它们将可用于所有后续管道. 可以通过以下方式在项目中查看任何组级用户定义的变量: - -1. 导航到项目的**"设置">" CI / CD"**页面. -2. 展开**变量**部分. - -[![CI/CD settings - inherited variables](img/bcbedbd56c50879eb35c2fc2f534d693.png)](img/inherited_group_variables_v12_5.png) - -## Instance-level CI/CD environment variables[](#instance-level-cicd-environment-variables "Permalink") - -在 GitLab 13.0 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/14108) . - -实例变量非常有用,因为不再需要为所有项目重复手动输入相同的凭据. 实例级变量可用于实例上的所有项目和组. - -**注意:**实例级变量的最大数量[计划为 25](https://gitlab.com/gitlab-org/gitlab/-/issues/216097) . - -您可以通过 UI 或[API](../../api/instance_level_ci_variables.html)定义实例级变量. - -要添加实例级变量: - -1. 导航到管理区域的**"设置">" CI / CD",**然后展开" **变量"**部分. -2. 单击**添加变量**按钮,然后填写详细信息: - - * **密钥** :必须为一行,只能使用字母,数字或`_` (下划线),且不能有空格. - * **值** :允许 700 个字符. - * **Type**: `File` or `Variable`. - * **保护变量** (可选):如果选中,则该变量将仅在在受保护的分支或标签上运行的管道中可用. - * **屏蔽变量** (可选):如果选中,则变量的**值**将不会显示在作业日志中. 如果该值不满足[屏蔽要求,](#masked-variable-requirements)则不会保存该变量. - -创建变量后,您可以通过点击 **编辑**按钮. - -### Enable or disable UI interface for instance-level CI/CD variables[](#enable-or-disable-ui-interface-for-instance-level-cicd-variables "Permalink") - -实例级 CI / CD 变量的 UI 界面正在开发中,但可用于生产环境. 它部署在**默认情况下启用**的功能标志的后面. [有权访问 GitLab Rails 控制台的 GitLab 管理员](../../administration/feature_flags.html)可以选择为您的实例禁用它. - -禁用它: - -``` -Feature.disable(:instance_variables_ui) -``` - -要启用它: - -``` -Feature.enable(:instance_variables_ui) -``` - -## Inherit environment variables[](#inherit-environment-variables "Permalink") - -版本历史 - -* [介绍](https://gitlab.com/gitlab-org/gitlab/-/issues/22638)在 GitLab 13.0 后面的禁用[功能标志](../../administration/feature_flags.html) : `ci_dependency_variables` . -* 在 GitLab 13.1 中[已删除功能标记](https://gitlab.com/gitlab-org/gitlab/-/issues/217834) . - -您可以从相关作业中继承环境变量. - -该功能利用了[`artifacts:reports:dotenv`](../pipelines/job_artifacts.html#artifactsreportsdotenv)报告功能. - -带有[`dependencies`](../yaml/README.html#dependencies)关键字的示例. - -``` -build: - stage: build - script: - - echo "BUILD_VERSION=hello" >> build.env - artifacts: - reports: - dotenv: build.env - -deploy: - stage: deploy - script: - - echo $BUILD_VERSION # => hello - dependencies: - - build -``` - -带[`needs`](../yaml/README.html#artifact-downloads-with-needs)关键字的示例: - -``` -build: - stage: build - script: - - echo "BUILD_VERSION=hello" >> build.env - artifacts: - reports: - dotenv: build.env - -deploy: - stage: deploy - script: - - echo $BUILD_VERSION # => hello - needs: - - job: build - artifacts: true -``` - -## Priority of environment variables[](#priority-of-environment-variables "Permalink") - -不同类型的变量可以优先于其他变量,具体取决于它们的定义位置. - -变量的优先顺序为(从最高到最低): - -1. [触发器变量](../triggers/README.html#making-use-of-trigger-variables) , [计划的管道变量](../pipelines/schedules.html#using-variables)和[手动管道运行变量](#override-a-variable-by-manually-running-a-pipeline) . -2. Project-level [variables](#custom-environment-variables) or [protected variables](#protect-a-custom-variable). -3. Group-level [variables](#group-level-environment-variables) or [protected variables](#protect-a-custom-variable). -4. [Inherited environment variables](#inherit-environment-variables). -5. YAML-defined [job-level variables](../yaml/README.html#variables). -6. YAML-defined [global variables](../yaml/README.html#variables). -7. [Deployment variables](#deployment-environment-variables). -8. [Predefined environment variables](predefined_variables.html). - -例如,如果您定义: - -* `API_TOKEN=secure`作为项目变量. -* 您的`.gitlab-ci.yml` `API_TOKEN=yaml` . - -`API_TOKEN`将采用`secure`值,因为项目变量优先于`.gitlab-ci.yml`定义`.gitlab-ci.yml` . - -## Unsupported variables[](#unsupported-variables "Permalink") - -Variable names are limited by the underlying shell used to execute scripts (see [available shells](https://docs.gitlab.com/runner/shells/index.html). Each shell has its own unique set of reserved variable names. You will also want to keep in mind the [scope of environment variables](where_variables_can_be_used.html) to ensure a variable is defined in the scope in which you wish to use it. - -## Where variables can be used[](#where-variables-can-be-used "Permalink") - -单击[此处](where_variables_can_be_used.html)以获得描述在何处以及如何使用不同类型的变量的部分. - -## Advanced use[](#advanced-use "Permalink") - -### Limit the environment scopes of environment variables[](#limit-the-environment-scopes-of-environment-variables "Permalink") - -您可以通过[定义](../environments/index.html)变量可用于的环境来限制变量的环境范围. - -要了解有关范围界定环境的更多信息,请参阅[使用规范范围界定环境](../environments/index.html#scoping-environments-with-specs) . - -### Deployment environment variables[](#deployment-environment-variables "Permalink") - -在 GitLab 8.15 中引入. - -负责部署配置的[集成](../../user/project/integrations/overview.html)可以定义在构建环境中设置的自己的变量. 这些变量仅为[部署作业](../environments/index.html)定义. 请查阅所用集成的文档,以了解它们定义了哪些变量. - -定义部署变量的示例集成是[Kubernetes 集成](../../user/project/clusters/index.html#deployment-variables) . - -### Auto DevOps environment variables[](#auto-devops-environment-variables "Permalink") - -在 GitLab 11.7 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/49056) . - -您可以配置[Auto DevOps,](../../topics/autodevops/index.html)以将 CI 变量传递给正在运行的应用程序,方法是在变量的键之前添加`K8S_SECRET_` . - -然后,这些[前缀变量](../../topics/autodevops/customize.html#application-secret-variables)将在运行的应用程序容器上用作环境变量. - -**警告:**由于当前 Auto DevOps 脚本环境的限制,当前不支持具有多行值的变量. - -### Override a variable by manually running a pipeline[](#override-a-variable-by-manually-running-a-pipeline "Permalink") - -在 GitLab 10.8 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/44059) . - -您可以通过[手动运行管道](../pipelines/index.html#run-a-pipeline-manually)来覆盖当前变量的值. - -例如,假设您添加了一个名为`$TEST`的自定义变量,并且想在手动管道中覆盖它. - -导航到项目的**CI / CD>管道** ,然后单击**运行管道** . 选择要为其运行管道的分支,然后在 UI 中添加变量及其值: - -[![Override variable value](img/599297cd25b4f282b1340e8e61e2e087.png)](img/override_variable_manual_pipeline.png) - -运行器将覆盖先前设置的值,并将自定义值用于此特定管道. - -[![Manually overridden variable output](img/e392f78e991a2b0865f4a2fe825fd7fc.png)](img/override_value_via_manual_pipeline_output.png) - -## Environment variables expressions[](#environment-variables-expressions "Permalink") - -版本历史 - -* 在 GitLab 10.7 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/37397) [了`only`和`except` CI 关键字](../yaml/README.html#onlyexcept-advanced) -* 在 GitLab 12.3 中使用[`rules`关键字](../yaml/README.html#rules) [扩展](https://gitlab.com/gitlab-org/gitlab/-/issues/27863) - -使用变量表达式来限制将更改推送到 GitLab 之后在管道中创建的作业. - -在`.gitlab-ci.yml` ,变量表达式可同时用于以下两种情况: - -* [`rules`](../yaml/README.html#rules) ,这是推荐的方法,以及 -* [`only`和`except`](../yaml/README.html#onlyexcept-basic) ,它们是不推荐使用的候选对象. - -与变量和触发的管道变量结合使用时,这特别有用. - -``` -deploy: - script: cap staging deploy - environment: staging - only: - variables: - - $RELEASE == "staging" - - $STAGING -``` - -在创建管道之前,将对提供的每个表达式进行求值. - -如果`only`使用时`variables`任何条件评估为 true,则会创建一个新作业. 如果在使用`except`任何表达式的结果为 true,则不会创建作业. - -这遵循[`only` / `except`策略](../yaml/README.html#onlyexcept-advanced)的常规规则. - -### Syntax of environment variable expressions[](#syntax-of-environment-variable-expressions "Permalink") - -您可以在下面找到受支持的语法参考: - -1. 使用字符串进行相等匹配 - - Examples: - - * `$VARIABLE == "some value"` - * `$VARIABLE != "some value"` (在 GitLab 11.11 中引入) - - 您可以使用等于运算符`==`或`!=`将变量内容与字符串进行比较. 我们支持双引号和单引号来定义字符串值,因此同时支持`$VARIABLE == "some value"`和`$VARIABLE == 'some value'` . `"some value" == $VARIABLE`也正确. - -2. 检查未定义的值 - - Examples: - - * `$VARIABLE == null` - * `$VARIABLE != null` (在 GitLab 11.11 中引入) - - 有时,您可能想检查是否定义了变量. 为此,您可以将变量与`null`关键字进行比较,例如`$VARIABLE == null` . 如果在使用`==`时未定义变量,则该表达式的值为 true;如果使用`!=`则该表达式的值为 false. - -3. 检查空变量 - - Examples: - - * `$VARIABLE == ""` - * `$VARIABLE != ""` (introduced in GitLab 11.11) - - 如果要检查变量是否已定义但为空,则可以将其与空字符串(例如`$VAR == ''`或非空字符串`$VARIABLE != ""` . - -4. 比较两个变量 - - Examples: - - * `$VARIABLE_1 == $VARIABLE_2` - * `$VARIABLE_1 != $VARIABLE_2` (在 GitLab 11.11 中引入) - - 可以比较两个变量. 这将比较这些变量的值. - -5. 可变状态检查 - - Example: `$STAGING` - - 如果只想在存在某个变量时创建作业,这意味着它是已定义且非空的,则可以简单地使用变量名作为表达式,例如`$STAGING` . 如果`$STAGING`变量已定义且不为空,则表达式将求值为真. `$STAGING`值必须是长度大于零的字符串. 仅包含空格字符的变量不是空变量. - -6. 模式匹配(在 GitLab 11.0 中引入) - - Examples: - - * `=~` :如果模式匹配则为真. 例如: `$VARIABLE =~ /^content.*/` - * `!~` :如果模式不匹配,则为 true. 例如: `$VARIABLE_1 !~ /^content.*/` (在 GitLab 11.11 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/61900) ) - - 与正则表达式匹配的变量模式使用[RE2 正则表达式语法](https://github.com/google/re2/wiki/Syntax) . 如果满足以下条件,则表达式的计算结果为`true` : - - * 使用`=~`时找到匹配项. - * 当使用火柴都*没有*发现`!~` - - 模式匹配默认情况下区分大小写. 使用`i`标志修饰符,例如`/pattern/i` ,使模式不区分大小写. - -7. Conjunction / Disjunction ([introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/27925) in GitLab 12.0) - - Examples: - - * `$VARIABLE1 =~ /^content.*/ && $VARIABLE2 == "something"` - * `$VARIABLE1 =~ /^content.*/ && $VARIABLE2 =~ /thing$/ && $VARIABLE3` - * `$VARIABLE1 =~ /^content.*/ || $VARIABLE2 =~ /thing$/ && $VARIABLE3` - - 可以使用`&&`或`||`加入多个条件 . 任何在其他情况下受支持的语法都可以在合并或不合并语句中使用. 运算符的优先级遵循[Ruby 2.5 标准](https://ruby-doc.org/core-2.5.0/doc/syntax/precedence_rdoc.html) ,因此`&&`在`||`之前进行评估 . - -### Storing regular expressions in variables[](#storing-regular-expressions-in-variables "Permalink") - -可以将正则表达式存储在变量中,以用于模式匹配: - -``` -variables: - STAGINGRELS: '/staging0|staging1/' - -deploy_staging: - script: do.sh deploy staging - environment: staging - rules: - - if: '$RELEASE =~ $STAGINGRELS' -``` - -**注意:**可用的正则表达式语法受到限制. 有关更多详细信息,请参见[相关问题](https://gitlab.com/gitlab-org/gitlab/-/issues/35438) . - -如果需要,您可以使用测试管道来确定正则表达式是否可以在变量中工作. 下面的示例直接从变量内部测试`^mast.*`正则表达式: - -``` -variables: - MYSTRING: 'master' - MYREGEX: '/^mast.*/' - -testdirect: - script: /bin/true - rules: - - if: '$MYSTRING =~ /^mast.*/' - -testvariable: - script: /bin/true - rules: - - if: '$MYSTRING =~ $MYREGEX' -``` - -## Debug logging[](#debug-logging "Permalink") - -在 GitLab Runner 1.7 中引入. - -**警告:**启用调试跟踪可能会严重影响安全性. 输出**将**包含所有变量和其他任何秘密的内容! 输出**将**上传到 GitLab 服务器,并在作业日志中显示! - -默认情况下,GitLab Runner 隐藏处理作业时所执行操作的大多数细节. 此行为使作业日志简短,并防止机密信息泄露到日志中,除非您的脚本将其写入屏幕. - -如果一项工作没有按预期进行,则可能使问题难以调查. 在这种情况下,您可以在`.gitlab-ci.yml`启用调试跟踪. 在 GitLab Runner v1.7 +上可用,此功能启用外壳程序的执行日志,从而产生详细的作业日志,其中列出了所有已运行的命令,已设置的变量等. - -在启用此功能之前,您应确保作业[仅对团队成员](../../user/permissions.html#project-features)可见. 您还应该[清除](../pipelines/index.html#view-jobs-in-a-pipeline)所有生成的作业日志,然后才能再次显示它们. - -要启用调试日志(跟踪),请将`CI_DEBUG_TRACE`变量设置为`true` : - -``` -job_name: - variables: - CI_DEBUG_TRACE: "true" -``` - -将`CI_DEBUG_TRACE`设置为`true`示例截断输出: - -``` -... - -export CI_SERVER_TLS_CA_FILE="/builds/gitlab-examples/ci-debug-trace.tmp/CI_SERVER_TLS_CA_FILE" -if [[ -d "/builds/gitlab-examples/ci-debug-trace/.git" ]]; then echo $'\''\x1b[32;1mFetching changes...\x1b[0;m'\'' - $'\''cd'\'' "/builds/gitlab-examples/ci-debug-trace" - $'\''git'\'' "config" "fetch.recurseSubmodules" "false" - $'\''rm'\'' "-f" ".git/index.lock" - $'\''git'\'' "clean" "-ffdx" - $'\''git'\'' "reset" "--hard" - $'\''git'\'' "remote" "set-url" "origin" "https://gitlab-ci-token:xxxxxxxxxxxxxxxxxxxx@example.com/gitlab-examples/ci-debug-trace.git" - $'\''git'\'' "fetch" "origin" "--prune" "+refs/heads/*:refs/remotes/origin/*" "+refs/tags/*:refs/tags/lds" -++ CI_BUILDS_DIR=/builds -++ export CI_PROJECT_DIR=/builds/gitlab-examples/ci-debug-trace -++ CI_PROJECT_DIR=/builds/gitlab-examples/ci-debug-trace -++ export CI_CONCURRENT_ID=87 -++ CI_CONCURRENT_ID=87 -++ export CI_CONCURRENT_PROJECT_ID=0 -++ CI_CONCURRENT_PROJECT_ID=0 -++ export CI_SERVER=yes -++ CI_SERVER=yes -++ mkdir -p /builds/gitlab-examples/ci-debug-trace.tmp -++ echo -n '-----BEGIN CERTIFICATE----- ------END CERTIFICATE-----' -++ export CI_SERVER_TLS_CA_FILE=/builds/gitlab-examples/ci-debug-trace.tmp/CI_SERVER_TLS_CA_FILE -++ CI_SERVER_TLS_CA_FILE=/builds/gitlab-examples/ci-debug-trace.tmp/CI_SERVER_TLS_CA_FILE -++ export CI_PIPELINE_ID=52666 -++ CI_PIPELINE_ID=52666 -++ export CI_PIPELINE_URL=https://gitlab.com/gitlab-examples/ci-debug-trace/pipelines/52666 -++ CI_PIPELINE_URL=https://gitlab.com/gitlab-examples/ci-debug-trace/pipelines/52666 -++ export CI_JOB_ID=7046507 -++ CI_JOB_ID=7046507 -++ export CI_JOB_URL=https://gitlab.com/gitlab-examples/ci-debug-trace/-/jobs/379424655 -++ CI_JOB_URL=https://gitlab.com/gitlab-examples/ci-debug-trace/-/jobs/379424655 -++ export CI_JOB_TOKEN=[MASKED] -++ CI_JOB_TOKEN=[MASKED] -++ export CI_BUILD_ID=379424655 -++ CI_BUILD_ID=379424655 -++ export CI_BUILD_TOKEN=[MASKED] -++ CI_BUILD_TOKEN=[MASKED] -++ export CI_REGISTRY_USER=gitlab-ci-token -++ CI_REGISTRY_USER=gitlab-ci-token -++ export CI_REGISTRY_PASSWORD=[MASKED] -++ CI_REGISTRY_PASSWORD=[MASKED] -++ export CI_REPOSITORY_URL=https://gitlab-ci-token:[MASKED]@gitlab.com/gitlab-examples/ci-debug-trace.git -++ CI_REPOSITORY_URL=https://gitlab-ci-token:[MASKED]@gitlab.com/gitlab-examples/ci-debug-trace.git -++ export CI_JOB_NAME=debug_trace -++ CI_JOB_NAME=debug_trace -++ export CI_JOB_STAGE=test -++ CI_JOB_STAGE=test -++ export CI_NODE_TOTAL=1 -++ CI_NODE_TOTAL=1 -++ export CI_BUILD_NAME=debug_trace -++ CI_BUILD_NAME=debug_trace -++ export CI_BUILD_STAGE=test -++ CI_BUILD_STAGE=test -++ export CI=true -++ CI=true -++ export GITLAB_CI=true -++ GITLAB_CI=true -++ export CI_SERVER_URL=https://gitlab.com:3000 -++ CI_SERVER_URL=https://gitlab.com:3000 -++ export CI_SERVER_HOST=gitlab.com -++ CI_SERVER_HOST=gitlab.com -++ export CI_SERVER_PORT=3000 -++ CI_SERVER_PORT=3000 -++ export CI_SERVER_PROTOCOL=https -++ CI_SERVER_PROTOCOL=https -++ export CI_SERVER_NAME=GitLab -++ CI_SERVER_NAME=GitLab -++ export CI_SERVER_VERSION=12.6.0-pre -++ CI_SERVER_VERSION=12.6.0-pre -++ export CI_SERVER_VERSION_MAJOR=12 -++ CI_SERVER_VERSION_MAJOR=12 -++ export CI_SERVER_VERSION_MINOR=6 -++ CI_SERVER_VERSION_MINOR=6 -++ export CI_SERVER_VERSION_PATCH=0 -++ CI_SERVER_VERSION_PATCH=0 -++ export CI_SERVER_REVISION=f4cc00ae823 -++ CI_SERVER_REVISION=f4cc00ae823 -++ export GITLAB_FEATURES=audit_events,burndown_charts,code_owners,contribution_analytics,description_diffs,elastic_search,group_bulk_edit,group_burndown_charts,group_webhooks,issuable_default_templates,issue_weights,jenkins_integration,ldap_group_sync,member_lock,merge_request_approvers,multiple_issue_assignees,multiple_ldap_servers,multiple_merge_request_assignees,protected_refs_for_users,push_rules,related_issues,repository_mirrors,repository_size_limit,scoped_issue_board,usage_quotas,visual_review_app,wip_limits,adjourned_deletion_for_projects_and_groups,admin_audit_log,auditor_user,batch_comments,blocking_merge_requests,board_assignee_lists,board_milestone_lists,ci_cd_projects,cluster_deployments,code_analytics,code_owner_approval_required,commit_committer_check,cross_project_pipelines,custom_file_templates,custom_file_templates_for_namespace,custom_project_templates,custom_prometheus_metrics,cycle_analytics_for_groups,db_load_balancing,default_project_deletion_protection,dependency_proxy,deploy_board,design_management,email_additional_text,extended_audit_events,external_authorization_service_api_management,feature_flags,file_locks,geo,github_project_service_integration,group_allowed_email_domains,group_project_templates,group_saml,issues_analytics,jira_dev_panel_integration,ldap_group_sync_filter,merge_pipelines,merge_request_performance_metrics,merge_trains,metrics_reports,multiple_approval_rules,multiple_group_issue_boards,object_storage,operations_dashboard,packages,productivity_analytics,project_aliases,protected_environments,reject_unsigned_commits,required_ci_templates,scoped_labels,service_desk,smartcard_auth,group_timelogs,type_of_work_analytics,unprotection_restrictions,ci_project_subscriptions,container_scanning,dast,dependency_scanning,epics,group_ip_restriction,incident_management,insights,license_management,personal_access_token_expiration_policy,pod_logs,prometheus_alerts,pseudonymizer,report_approver_rules,sast,security_dashboard,tracing,web_ide_terminal -++ GITLAB_FEATURES=audit_events,burndown_charts,code_owners,contribution_analytics,description_diffs,elastic_search,group_bulk_edit,group_burndown_charts,group_webhooks,issuable_default_templates,issue_weights,jenkins_integration,ldap_group_sync,member_lock,merge_request_approvers,multiple_issue_assignees,multiple_ldap_servers,multiple_merge_request_assignees,protected_refs_for_users,push_rules,related_issues,repository_mirrors,repository_size_limit,scoped_issue_board,usage_quotas,visual_review_app,wip_limits,adjourned_deletion_for_projects_and_groups,admin_audit_log,auditor_user,batch_comments,blocking_merge_requests,board_assignee_lists,board_milestone_lists,ci_cd_projects,cluster_deployments,code_analytics,code_owner_approval_required,commit_committer_check,cross_project_pipelines,custom_file_templates,custom_file_templates_for_namespace,custom_project_templates,custom_prometheus_metrics,cycle_analytics_for_groups,db_load_balancing,default_project_deletion_protection,dependency_proxy,deploy_board,design_management,email_additional_text,extended_audit_events,external_authorization_service_api_management,feature_flags,file_locks,geo,github_project_service_integration,group_allowed_email_domains,group_project_templates,group_saml,issues_analytics,jira_dev_panel_integration,ldap_group_sync_filter,merge_pipelines,merge_request_performance_metrics,merge_trains,metrics_reports,multiple_approval_rules,multiple_group_issue_boards,object_storage,operations_dashboard,packages,productivity_analytics,project_aliases,protected_environments,reject_unsigned_commits,required_ci_templates,scoped_labels,service_desk,smartcard_auth,group_timelogs,type_of_work_analytics,unprotection_restrictions,ci_project_subscriptions,cluster_health,container_scanning,dast,dependency_scanning,epics,group_ip_restriction,incident_management,insights,license_management,personal_access_token_expiration_policy,pod_logs,prometheus_alerts,pseudonymizer,report_approver_rules,sast,security_dashboard,tracing,web_ide_terminal -++ export CI_PROJECT_ID=17893 -++ CI_PROJECT_ID=17893 -++ export CI_PROJECT_NAME=ci-debug-trace -++ CI_PROJECT_NAME=ci-debug-trace -++ export CI_PROJECT_TITLE='GitLab FOSS' -++ CI_PROJECT_TITLE='GitLab FOSS' -++ export CI_PROJECT_PATH=gitlab-examples/ci-debug-trace -++ CI_PROJECT_PATH=gitlab-examples/ci-debug-trace -++ export CI_PROJECT_PATH_SLUG=gitlab-examples-ci-debug-trace -++ CI_PROJECT_PATH_SLUG=gitlab-examples-ci-debug-trace -++ export CI_PROJECT_NAMESPACE=gitlab-examples -++ CI_PROJECT_NAMESPACE=gitlab-examples -++ export CI_PROJECT_ROOT_NAMESPACE=gitlab-examples -++ CI_PROJECT_ROOT_NAMESPACE=gitlab-examples -++ export CI_PROJECT_URL=https://gitlab.com/gitlab-examples/ci-debug-trace -++ CI_PROJECT_URL=https://gitlab.com/gitlab-examples/ci-debug-trace -++ export CI_PROJECT_VISIBILITY=public -++ CI_PROJECT_VISIBILITY=public -++ export CI_PROJECT_REPOSITORY_LANGUAGES= -++ CI_PROJECT_REPOSITORY_LANGUAGES= -++ export CI_DEFAULT_BRANCH=master -++ CI_DEFAULT_BRANCH=master -++ export CI_REGISTRY=registry.gitlab.com -++ CI_REGISTRY=registry.gitlab.com -++ export CI_API_V4_URL=https://gitlab.com/api/v4 -++ CI_API_V4_URL=https://gitlab.com/api/v4 -++ export CI_PIPELINE_IID=123 -++ CI_PIPELINE_IID=123 -++ export CI_PIPELINE_SOURCE=web -++ CI_PIPELINE_SOURCE=web -++ export CI_CONFIG_PATH=.gitlab-ci.yml -++ CI_CONFIG_PATH=.gitlab-ci.yml -++ export CI_COMMIT_SHA=dd648b2e48ce6518303b0bb580b2ee32fadaf045 -++ CI_COMMIT_SHA=dd648b2e48ce6518303b0bb580b2ee32fadaf045 -++ export CI_COMMIT_SHORT_SHA=dd648b2e -++ CI_COMMIT_SHORT_SHA=dd648b2e -++ export CI_COMMIT_BEFORE_SHA=0000000000000000000000000000000000000000 -++ CI_COMMIT_BEFORE_SHA=0000000000000000000000000000000000000000 -++ export CI_COMMIT_REF_NAME=master -++ CI_COMMIT_REF_NAME=master -++ export CI_COMMIT_REF_SLUG=master -++ CI_COMMIT_REF_SLUG=master -++ export CI_COMMIT_MESSAGE=s/CI/Runner -++ CI_COMMIT_MESSAGE=s/CI/Runner -++ export CI_COMMIT_TITLE=s/CI/Runner -++ CI_COMMIT_TITLE=s/CI/Runner -++ export CI_COMMIT_DESCRIPTION= -++ CI_COMMIT_DESCRIPTION= -++ export CI_COMMIT_REF_PROTECTED=true -++ CI_COMMIT_REF_PROTECTED=true -++ export CI_BUILD_REF=dd648b2e48ce6518303b0bb580b2ee32fadaf045 -++ CI_BUILD_REF=dd648b2e48ce6518303b0bb580b2ee32fadaf045 -++ export CI_BUILD_BEFORE_SHA=0000000000000000000000000000000000000000 -++ CI_BUILD_BEFORE_SHA=0000000000000000000000000000000000000000 -++ export CI_BUILD_REF_NAME=master -++ CI_BUILD_REF_NAME=master -++ export CI_BUILD_REF_SLUG=master -++ CI_BUILD_REF_SLUG=master -++ export CI_RUNNER_ID=1337 -++ CI_RUNNER_ID=1337 -++ export CI_RUNNER_DESCRIPTION=shared-runners-manager-4.gitlab.com -++ CI_RUNNER_DESCRIPTION=shared-runners-manager-4.gitlab.com -++ export 'CI_RUNNER_TAGS=gce, east-c, shared, docker, linux, ruby, mysql, postgres, mongo, git-annex' -++ CI_RUNNER_TAGS='gce, east-c, shared, docker, linux, ruby, mysql, postgres, mongo, git-annex' -++ export CI_DEBUG_TRACE=true -++ CI_DEBUG_TRACE=true -++ export GITLAB_USER_ID=42 -++ GITLAB_USER_ID=42 -++ export GITLAB_USER_EMAIL=user@example.com -++ GITLAB_USER_EMAIL=user@example.com -++ export GITLAB_USER_LOGIN=root -++ GITLAB_USER_LOGIN=root -++ export 'GITLAB_USER_NAME=User' -++ GITLAB_USER_NAME='User' -++ export CI_DISPOSABLE_ENVIRONMENT=true -++ CI_DISPOSABLE_ENVIRONMENT=true -++ export CI_RUNNER_VERSION=12.5.0 -++ CI_RUNNER_VERSION=12.5.0 -++ export CI_RUNNER_REVISION=577f813d -++ CI_RUNNER_REVISION=577f813d -++ export CI_RUNNER_EXECUTABLE_ARCH=linux/amd64 -++ CI_RUNNER_EXECUTABLE_ARCH=linux/amd64 -++ export VERY_SECURE_VARIABLE=imaverysecurevariable -++ VERY_SECURE_VARIABLE=imaverysecurevariable - -... -``` - -## Video walkthrough of a working example[](#video-walkthrough-of-a-working-example "Permalink") - -[使用 GitLab 管理复杂配置数据管理怪兽](https://www.youtube.com/watch?v=v4ZOJ96hAck)视频是[复杂配置数据 Monorepo](https://gitlab.com/guided-explorations/config-data-top-scope/config-data-subscope/config-data-monorepo)工作示例项目的演练. 它解释了如何将多个级别的组 CI / CD 变量与环境范围的项目变量组合在一起,以实现应用程序构建或部署的复杂配置. - -可以将示例复制到您自己的组或实例中进行测试. 项目页面上提供了有关演示其他 GitLab CI 模式的更多详细信息. \ No newline at end of file diff --git a/docs/221.md b/docs/221.md deleted file mode 100644 index 02caa08..0000000 --- a/docs/221.md +++ /dev/null @@ -1,128 +0,0 @@ -# Predefined environment variables reference - -> 原文:[https://docs.gitlab.com/ee/ci/variables/predefined_variables.html](https://docs.gitlab.com/ee/ci/variables/predefined_variables.html) - -# Predefined environment variables reference[](#predefined-environment-variables-reference "Permalink") - -有关此主题的介绍,请通读[环境变量入门](README.html)文档. - -仅当使用最低版本的[GitLab Runner 时,](https://docs.gitlab.com/runner/)某些预定义的环境变量才可用. 请查阅下表以查找所需的 Runner 版本. - -**注意:**从 GitLab 9.0 开始,我们已弃用了一些变量. 阅读[9.0 重命名](deprecated_variables.html#gitlab-90-renamed-variables)部分以查找其替换内容. **强烈建议您使用新变量,因为我们将在以后的 GitLab 版本中删除旧变量.** - -您可以在`.gitlab-ci.yml`文件中添加命令,以[输出可用于作业的所有变量的值](README.html#list-all-environment-variables) . - -Kubernetes 特定于环境的环境变量在[Kubernetes 部署变量](../../user/project/clusters/index.html#deployment-variables)部分中进行了详细介绍. - -| Variable | GitLab | Runner | Description | -| --- | --- | --- | --- | -| `CHAT_CHANNEL` | 10.6 | all | 触发[ChatOps](../chatops/README.html)命令的源聊天通道 | -| `CHAT_INPUT` | 10.6 | all | 在[ChatOps](../chatops/README.html)命令中传递的其他参数 | -| `CI` | all | 0.4 | 标记作业在 CI 环境中执行 | -| `CI_API_V4_URL` | 11.7 | all | GitLab API v4 根 URL | -| `CI_BUILDS_DIR` | all | 11.10 | 执行构建的顶级目录. | -| `CI_COMMIT_BEFORE_SHA` | 11.2 | all | 先前的最新提交存在于分支中. 合并请求的管道中始终为`0000000000000000000000000000000000000000` | -| `CI_COMMIT_DESCRIPTION` | 10.8 | all | 提交的描述:如果标题少于 100 个字符,则不带第一行的消息; 在其他情况下为完整消息. | -| `CI_COMMIT_MESSAGE` | 10.8 | all | 完整的提交消息. | -| `CI_COMMIT_REF_NAME` | 9.0 | all | 构建项目的分支或标记名称 | -| `CI_COMMIT_REF_PROTECTED` | 11.11 | all | 如果作业在受保护的引用上运行,则为`true`否则为`false` | -| `CI_COMMIT_REF_SLUG` | 9.0 | all | `$CI_COMMIT_REF_NAME`小写,缩短为 63 个字节,并且将`0-9`和`az`以外的所有内容替换为`-` . 没有前导/尾随`-` . 在 URL,主机名和域名中使用. | -| `CI_COMMIT_SHA` | 9.0 | all | 为其构建项目的提交修订 | -| `CI_COMMIT_SHORT_SHA` | 11.7 | all | `CI_COMMIT_SHA`的前八个字符 | -| `CI_COMMIT_BRANCH` | 12.6 | 0.5 | 提交分支名称. 仅在建立分支时显示. | -| `CI_COMMIT_TAG` | 9.0 | 0.5 | 提交标记名称. 仅在构建标签时显示. | -| `CI_COMMIT_TITLE` | 10.8 | all | 提交的标题-消息的第一行 | -| `CI_CONCURRENT_ID` | all | 11.10 | 单个执行程序中生成执行的唯一 ID. | -| `CI_CONCURRENT_PROJECT_ID` | all | 11.10 | 单个执行程序和项目中生成执行的唯一 ID. | -| `CI_CONFIG_PATH` | 9.4 | 0.5 | CI 配置文件的路径. 默认为`.gitlab-ci.yml` | -| `CI_DEBUG_TRACE` | all | 1.7 | 是否启用[调试日志记录(跟踪)](README.html#debug-logging) | -| `CI_DEFAULT_BRANCH` | 12.4 | all | 项目的默认分支的名称. | -| `CI_DEPLOY_PASSWORD` | 10.8 | all | [GitLab Deploy 令牌的](../../user/project/deploy_tokens/index.html#gitlab-deploy-token)身份验证密码,仅在项目具有相关性时才提供. | -| `CI_DEPLOY_USER` | 10.8 | all | [GitLab Deploy 令牌的](../../user/project/deploy_tokens/index.html#gitlab-deploy-token)身份验证用户名,仅在项目具有相关性时才存在. | -| `CI_DISPOSABLE_ENVIRONMENT` | all | 10.1 | 标记作业是在一次性环境中执行的(仅为该作业创建并在执行后处置/销毁的东西-除`shell`和`ssh`以外的所有执行程序). 如果环境是一次性的,则将其设置为 true,否则将完全未定义. | -| `CI_ENVIRONMENT_NAME` | 8.15 | all | 该作业的环境名称. 仅在设置了[`environment:name`](../yaml/README.html#environmentname)存在. | -| `CI_ENVIRONMENT_SLUG` | 8.15 | all | 环境名称的简化版本,适合包含在 DNS,URL,Kubernetes 标签等中.仅在设置了[`environment:name`](../yaml/README.html#environmentname)存在. | -| `CI_ENVIRONMENT_URL` | 9.3 | all | 该作业的环境的 URL. 仅当设置了[`environment:url`](../yaml/README.html#environmenturl)时才存在. | -| `CI_EXTERNAL_PULL_REQUEST_IID` | 12.3 | all | 如果[管道用于外部请求,](../ci_cd_for_external_repos/index.html#pipelines-for-external-pull-requests)则来自 GitHub 的请求请求 ID. 仅在以下情况`only: [external_pull_requests]`可用`only: [external_pull_requests]`或[`rules`](../yaml/README.html#rules)语法,并且拉取请求处于打开状态. | -| `CI_EXTERNAL_PULL_REQUEST_SOURCE_BRANCH_NAME` | 12.3 | all | 如果[管道用于外部](../ci_cd_for_external_repos/index.html#pipelines-for-external-pull-requests)请求,则请求请求的源分支名称. 仅在以下情况`only: [external_pull_requests]`可用`only: [external_pull_requests]`或[`rules`](../yaml/README.html#rules)语法,并且拉取请求处于打开状态. | -| `CI_EXTERNAL_PULL_REQUEST_SOURCE_BRANCH_SHA` | 12.3 | all | 如果[管道用于外部](../ci_cd_for_external_repos/index.html#pipelines-for-external-pull-requests)请求,则请求请求的源分支的 HEAD SHA. 仅在以下情况`only: [external_pull_requests]`可用`only: [external_pull_requests]`或[`rules`](../yaml/README.html#rules)语法,并且拉取请求处于打开状态. | -| `CI_EXTERNAL_PULL_REQUEST_TARGET_BRANCH_NAME` | 12.3 | all | 如果[管道用于外部](../ci_cd_for_external_repos/index.html#pipelines-for-external-pull-requests)请求,则请求请求的目标分支名称. 仅在以下情况`only: [external_pull_requests]`可用`only: [external_pull_requests]`或[`rules`](../yaml/README.html#rules)语法,并且拉取请求处于打开状态. | -| `CI_EXTERNAL_PULL_REQUEST_TARGET_BRANCH_SHA` | 12.3 | all | 如果[管道用于外部](../ci_cd_for_external_repos/index.html#pipelines-for-external-pull-requests)请求,则请求请求目标分支的 HEAD SHA. 仅在以下情况`only: [external_pull_requests]`可用`only: [external_pull_requests]`或[`rules`](../yaml/README.html#rules)语法,并且拉取请求处于打开状态. | -| `CI_HAS_OPEN_REQUIREMENTS` | 13.1 | all | 仅当管道的项目有任何开放[要求时,](../../user/project/requirements/index.html)才将值包括为`true` . 如果管道项目没有开放要求,则不包括在内. | -| `CI_JOB_ID` | 9.0 | all | GitLab CI / CD 在内部使用的当前作业的唯一 ID | -| `CI_JOB_IMAGE` | 12.9 | 12.9 | 运行 CI 作业的图像的名称 | -| `CI_JOB_MANUAL` | 8.12 | all | 指示作业已手动启动的标志 | -| `CI_JOB_NAME` | 9.0 | 0.5 | `.gitlab-ci.yml`定义的作业名称 | -| `CI_JOB_STAGE` | 9.0 | 0.5 | `.gitlab-ci.yml`定义的阶段名称 | -| `CI_JOB_TOKEN` | 9.0 | 1.2 | 用于通过[GitLab 容器注册表](../../user/packages/container_registry/index.html)进行身份验证,下载[从属存储库](../../user/project/new_ci_build_permissions_model.html#dependent-repositories)以及访问[GitLab 管理的 Terraform 状态的](../../user/infrastructure/index.html#gitlab-managed-terraform-state)令牌. | -| `CI_JOB_JWT` | 12.10 | all | RS256 JSON Web 令牌,可用于与支持 JWT 身份验证的第三方系统进行身份验证,例如[HashiCorp 的 Vault](../examples/authenticating-with-hashicorp-vault) . | -| `CI_JOB_URL` | 11.1 | 0.5 | 职位详情网址 | -| `CI_KUBERNETES_ACTIVE` | 13.0 | all | Included with the value `true` only if the pipeline has a Kubernetes cluster available for deployments. Not included if no cluster is available. Can be used as an alternative to [`only:kubernetes`/`except:kubernetes`](../yaml/README.html#onlykubernetesexceptkubernetes) with [`rules:if`](../yaml/README.html#rulesif) | -| `CI_MERGE_REQUEST_ASSIGNEES` | 11.9 | all | 如果[管道用于合并请求](../merge_request_pipelines/index.html) ,则该合并请求的受让人的用户名列表用逗号分隔. 仅在以下情况`only: [merge_requests]`可用:仅使用`only: [merge_requests]`或[`rules`](../yaml/README.html#rules)语法并创建合并请求. | -| `CI_MERGE_REQUEST_ID` | 11.6 | all | 合并请求的项目级别 ID. 仅当[管道用于合并请求](../merge_request_pipelines/index.html)并且创建[合并请求](../merge_request_pipelines/index.html)时才可用. | -| `CI_MERGE_REQUEST_IID` | 11.6 | all | 合并请求的实例级 IID. 仅[当管道用于合并请求](../merge_request_pipelines/index.html)并且创建[合并请求](../merge_request_pipelines/index.html)时才可用. | -| `CI_MERGE_REQUEST_LABELS` | 11.9 | all | 如果[管道用于合并请求](../merge_request_pipelines/index.html) ,则合并请求的逗号分隔标签名称. 仅在以下情况`only: [merge_requests]`可用:仅使用`only: [merge_requests]`或[`rules`](../yaml/README.html#rules)语法并创建合并请求. | -| `CI_MERGE_REQUEST_MILESTONE` | 11.9 | all | 如果[管道用于合并请求](../merge_request_pipelines/index.html) ,则合并请求的里程碑标题. 仅在以下情况`only: [merge_requests]`可用:仅使用`only: [merge_requests]`或[`rules`](../yaml/README.html#rules)语法并创建合并请求. | -| `CI_MERGE_REQUEST_PROJECT_ID` | 11.6 | all | 如果[管道用于合并请求](../merge_request_pipelines/index.html) ,则合并请求的项目的 ID. 仅在以下情况`only: [merge_requests]`可用:仅使用`only: [merge_requests]`或[`rules`](../yaml/README.html#rules)语法并创建合并请求. | -| `CI_MERGE_REQUEST_PROJECT_PATH` | 11.6 | all | 如果[管道用于合并请求](../merge_request_pipelines/index.html) ,则合并请求的项目路径(例如, `namespace/awesome-project` ). 仅在以下情况`only: [merge_requests]`可用:仅使用`only: [merge_requests]`或[`rules`](../yaml/README.html#rules)语法并创建合并请求. | -| `CI_MERGE_REQUEST_PROJECT_URL` | 11.6 | all | 如果[管道用于合并请求](../merge_request_pipelines/index.html) ,则合并请求的项目的 URL(例如`http://192.168.10.15:3000/namespace/awesome-project` ). 仅在以下情况`only: [merge_requests]`可用:仅使用`only: [merge_requests]`或[`rules`](../yaml/README.html#rules)语法并创建合并请求. | -| `CI_MERGE_REQUEST_REF_PATH` | 11.6 | all | 如果[管道用于合并请求](../merge_request_pipelines/index.html) ,则合并请求的 ref 路径. (例如`refs/merge-requests/1/head` ). 仅在以下情况`only: [merge_requests]`可用:仅使用`only: [merge_requests]`或[`rules`](../yaml/README.html#rules)语法并创建合并请求. | -| `CI_MERGE_REQUEST_SOURCE_BRANCH_NAME` | 11.6 | all | 如果[管道用于合并请求](../merge_request_pipelines/index.html) ,则合并请求的源分支名称. 仅在以下情况`only: [merge_requests]`可用:仅使用`only: [merge_requests]`或[`rules`](../yaml/README.html#rules)语法并创建合并请求. | -| `CI_MERGE_REQUEST_SOURCE_BRANCH_SHA` | 11.9 | all | 如果[管道用于合并请求](../merge_request_pipelines/index.html) ,则合并请求的源分支的 HEAD SHA. 仅在以下情况`only: [merge_requests]`可用:仅使用`only: [merge_requests]`或[`rules`](../yaml/README.html#rules)语法,创建合并请求,并且管道是[合并结果管道](../merge_request_pipelines/pipelines_for_merged_results/index.html) . | -| `CI_MERGE_REQUEST_SOURCE_PROJECT_ID` | 11.6 | all | 如果[管道用于合并请求](../merge_request_pipelines/index.html) ,则合并请求的源项目的 ID. 仅在以下情况`only: [merge_requests]`可用:仅使用`only: [merge_requests]`或[`rules`](../yaml/README.html#rules)语法并创建合并请求. | -| `CI_MERGE_REQUEST_SOURCE_PROJECT_PATH` | 11.6 | all | 如果[管道用于合并请求](../merge_request_pipelines/index.html) ,则合并请求的源项目的路径. 仅在以下情况`only: [merge_requests]`可用:仅使用`only: [merge_requests]`或[`rules`](../yaml/README.html#rules)语法并创建合并请求. | -| `CI_MERGE_REQUEST_SOURCE_PROJECT_URL` | 11.6 | all | 如果[管道用于合并请求](../merge_request_pipelines/index.html) ,则合并请求的源项目的 URL. 仅在以下情况`only: [merge_requests]`可用:仅使用`only: [merge_requests]`或[`rules`](../yaml/README.html#rules)语法并创建合并请求. | -| `CI_MERGE_REQUEST_TARGET_BRANCH_NAME` | 11.6 | all | 如果[管道用于合并请求](../merge_request_pipelines/index.html) ,则合并请求的目标分支名称. 仅在以下情况`only: [merge_requests]`可用:仅使用`only: [merge_requests]`或[`rules`](../yaml/README.html#rules)语法并创建合并请求. | -| `CI_MERGE_REQUEST_TARGET_BRANCH_SHA` | 11.9 | all | 如果[管道用于合并请求](../merge_request_pipelines/index.html) ,则合并请求的目标分支的 HEAD SHA. 仅在以下情况`only: [merge_requests]`可用:仅使用`only: [merge_requests]`或[`rules`](../yaml/README.html#rules)语法,创建合并请求,并且管道是[合并结果管道](../merge_request_pipelines/pipelines_for_merged_results/index.html) . | -| `CI_MERGE_REQUEST_TITLE` | 11.9 | all | 如果[管道用于合并请求](../merge_request_pipelines/index.html) ,则合并请求的标题. 仅在以下情况`only: [merge_requests]`可用:仅使用`only: [merge_requests]`或[`rules`](../yaml/README.html#rules)语法并创建合并请求. | -| `CI_MERGE_REQUEST_EVENT_TYPE` | 12.3 | all | 合并请求的事件类型(如果[管道用于合并请求)](../merge_request_pipelines/index.html) . 可以`detached` , `merged_result`或`merge_train` . | -| `CI_NODE_INDEX` | 11.5 | all | 作业在作业集中的索引. 如果作业未并行化,则不会设置此变量. | -| `CI_NODE_TOTAL` | 11.5 | all | Total number of instances of this job running in parallel. If the job is not parallelized, this variable is set to `1`. | -| `CI_PAGES_DOMAIN` | 11.8 | all | 托管 GitLab 页面的已配置域. | -| `CI_PAGES_URL` | 11.8 | all | GitLab 页面构建页面的 URL. 始终属于`CI_PAGES_DOMAIN`的子域. | -| `CI_PIPELINE_ID` | 8.10 | all | GitLab CI / CD 在内部使用的当前管道的唯一 ID | -| `CI_PIPELINE_IID` | 11.0 | all | 当前管道的唯一 ID 范围为项目 | -| `CI_PIPELINE_SOURCE` | 10.0 | all | 指示如何触发管道. 可能的选项是: `push` , `web` , `schedule` , `api` , `external` , `chat` , `webide` , `merge_request_event` , `external_pull_request_event` , `parent_pipeline` , [`trigger`或`pipeline`](../triggers/README.html#authentication-tokens) (自 13.0 起改名为`cross_project_pipeline` ). 对于在 GitLab 9.5 之前创建的管道,这将显示为`unknown` . | -| `CI_PIPELINE_TRIGGERED` | all | all | 指示已[触发](../triggers/README.html)作业的标志 | -| `CI_PIPELINE_URL` | 11.1 | 0.5 | 管道详细资料网址 | -| `CI_PROJECT_DIR` | all | all | 克隆存储库以及运行作业的完整路径. 如果设置了 GitLab Runner 的`builds_dir`参数,则相对于`builds_dir`的值设置此变量. 有关更多信息,请参见 GitLab Runner 的[高级配置](https://docs.gitlab.com/runner/configuration/advanced-configuration.html) . | -| `CI_PROJECT_ID` | all | all | GitLab CI / CD 在内部使用的当前项目的唯一 ID | -| `CI_PROJECT_NAME` | 8.10 | 0.5 | 当前正在构建的项目的目录名称. 例如,如果项目 URL 为`gitlab.example.com/group-name/project-1` ,则`CI_PROJECT_NAME`将为`project-1` . | -| `CI_PROJECT_NAMESPACE` | 8.10 | 0.5 | 当前正在构建的项目名称空间(用户名或组名) | -| `CI_PROJECT_ROOT_NAMESPACE` | 13.2 | 0.5 | 当前正在构建的**根**项目名称空间(用户名或组名). 例如,如果`CI_PROJECT_NAME`是`root-group/child-group/grandchild-group` ,则`CI_PROJECT_ROOT_NAMESPACE`将是`root-group` . | -| `CI_PROJECT_PATH` | 8.10 | 0.5 | 具有项目名称的名称空间 | -| `CI_PROJECT_PATH_SLUG` | 9.3 | all | `$CI_PROJECT_PATH`小写,除`0-9`和`az`以外的所有内容都用`-`代替. 在 URL 和域名中使用. | -| `CI_PROJECT_REPOSITORY_LANGUAGES` | 12.3 | all | 库中使用的语言的逗号分隔,小写列表(例如`ruby,javascript,html,css` ) | -| `CI_PROJECT_TITLE` | 12.4 | all | 可读的项目名称,显示在 GitLab Web 界面中. | -| `CI_PROJECT_URL` | 8.10 | 0.5 | The HTTP(S) address to access project | -| `CI_PROJECT_VISIBILITY` | 10.3 | all | 项目可见性(内部,私人,公共) | -| `CI_REGISTRY` | 8.10 | 0.5 | 如果启用了 Container Registry,它将返回 GitLab 的 Container Registry 的地址. 如果在注册表配置中指定了一个变量,则该变量将包含`:port`值. | -| `CI_REGISTRY_IMAGE` | 8.10 | 0.5 | 如果为项目启用了容器注册表,则它将返回绑定到特定项目的注册表地址 | -| `CI_REGISTRY_PASSWORD` | 9.0 | all | The password to use to push containers to the GitLab Container Registry, for the current project. | -| `CI_REGISTRY_USER` | 9.0 | all | 用于将容器推送到当前项目的 GitLab 容器注册表的用户名. | -| `CI_REPOSITORY_URL` | 9.0 | all | 克隆 Git 存储库的 URL | -| `CI_RUNNER_DESCRIPTION` | 8.10 | 0.5 | 保存在 GitLab 中的跑步者的描述 | -| `CI_RUNNER_EXECUTABLE_ARCH` | all | 10.6 | GitLab Runner 可执行文件的操作系统/体系结构(请注意,它不一定与执行程序的环境相同) | -| `CI_RUNNER_ID` | 8.10 | 0.5 | 正在使用的跑步者的唯一 ID | -| `CI_RUNNER_REVISION` | all | 10.6 | 正在执行当前作业的 GitLab Runner 版本 | -| `CI_RUNNER_SHORT_TOKEN` | all | 12.3 | GitLab Runner 令牌的前八个字符用于验证新的作业请求. 用作跑步者的唯一 ID | -| `CI_RUNNER_TAGS` | 8.10 | 0.5 | 定义的运行器标签 | -| `CI_RUNNER_VERSION` | all | 10.6 | 正在执行当前作业的 GitLab Runner 版本 | -| `CI_SERVER` | all | all | 标记作业在 CI 环境中执行 | -| `CI_SERVER_URL` | 12.7 | all | GitLab 实例的基本 URL,包括协议和端口(例如`https://gitlab.example.com:8080` ) | -| `CI_SERVER_HOST` | 12.1 | all | GitLab 实例 URL 的主机组件,不带协议和端口(例如`gitlab.example.com` ) | -| `CI_SERVER_PORT` | 12.8 | all | GitLab 实例 URL 的端口组件,不包含主机和协议(例如`3000` ) | -| `CI_SERVER_PROTOCOL` | 12.8 | all | GitLab 实例 URL 的协议组件,不带主机和端口(例如`https` ) | -| `CI_SERVER_NAME` | all | all | 用于协调作业的 CI 服务器的名称 | -| `CI_SERVER_REVISION` | all | all | 用于计划作业的 GitLab 修订版 | -| `CI_SERVER_VERSION` | all | all | 用于计划作业的 GitLab 版本 | -| `CI_SERVER_VERSION_MAJOR` | 11.4 | all | GitLab 版本主要组件 | -| `CI_SERVER_VERSION_MINOR` | 11.4 | all | GitLab 版本次要组件 | -| `CI_SERVER_VERSION_PATCH` | 11.4 | all | GitLab 版本补丁组件 | -| `CI_SHARED_ENVIRONMENT` | all | 10.1 | 标记作业是在共享环境中执行的(在诸如`shell`或`ssh`执行程序之类的 CI 调用之间持久存在的内容). 如果共享环境,则将其设置为 true,否则将完全未定义. | -| `GITLAB_CI` | all | all | 标记作业在 GitLab CI / CD 环境中执行 | -| `GITLAB_FEATURES` | 10.6 | all | 以逗号分隔的实例和计划可用的许可功能列表 | -| `GITLAB_USER_EMAIL` | 8.12 | all | 开始工作的用户的电子邮件 | -| `GITLAB_USER_ID` | 8.12 | all | 开始工作的用户的 ID | -| `GITLAB_USER_LOGIN` | 10.0 | all | 开始工作的用户的登录用户名 | -| `GITLAB_USER_NAME` | 10.0 | all | 开始工作的用户的真实姓名 | \ No newline at end of file diff --git a/docs/222.md b/docs/222.md deleted file mode 100644 index ec18696..0000000 --- a/docs/222.md +++ /dev/null @@ -1,148 +0,0 @@ -# Where variables can be used - -> 原文:[https://docs.gitlab.com/ee/ci/variables/where_variables_can_be_used.html](https://docs.gitlab.com/ee/ci/variables/where_variables_can_be_used.html) - -* [Variables usage](#variables-usage) - * [`.gitlab-ci.yml` file](#gitlab-ciyml-file) - * [`config.toml` file](#configtoml-file) -* [Expansion mechanisms](#expansion-mechanisms) - * [GitLab internal variable expansion mechanism](#gitlab-internal-variable-expansion-mechanism) - * [GitLab Runner internal variable expansion mechanism](#gitlab-runner-internal-variable-expansion-mechanism) - * [Execution shell environment](#execution-shell-environment) -* [Persisted variables](#persisted-variables) -* [Variables with an environment scope](#variables-with-an-environment-scope) - -# Where variables can be used[](#where-variables-can-be-used "Permalink") - -如[CI / CD 变量](README.html)文档中所述,您可以定义许多不同的变量. 其中一些可用于所有 GitLab CI / CD 功能,但其中某些功能或多或少受到限制. - -本文档描述了在何处以及如何使用不同类型的变量. - -## Variables usage[](#variables-usage "Permalink") - -有两个地方可以使用定义的变量. 在: - -1. GitLab 端,位于`.gitlab-ci.yml` . -2. 跑步者方面,位于`config.toml` . - -### `.gitlab-ci.yml` file[](#gitlab-ciyml-file "Permalink") - -| Definition | 可以扩大吗? | 扩展地点 | Description | -| --- | --- | --- | --- | -| `environment:url` | yes | GitLab | 变量扩展由 GitLab 的[内部变量扩展机制完成](#gitlab-internal-variable-expansion-mechanism) . - -支持为作业定义的所有变量(项目/组变量, `.gitlab-ci.yml`中的变量,触发器中的变量,管道计划中的变量). - -不支持在 Runner 的`config.toml`定义的变量和在 job 的`script`创建的变量. | -| `environment:name` | yes | GitLab | 与`environment:url`相似,但是变量扩展不支持以下内容: - --基于环境名称的变量( `CI_ENVIRONMENT_NAME` , `CI_ENVIRONMENT_SLUG` ). --与环境相关的任何其他变量(当前仅`CI_ENVIRONMENT_URL` ). -- [持久变量](#persisted-variables) . | -| `resource_group` | yes | GitLab | 与`environment:url`相似,但是变量扩展不支持以下内容: - --基于环境名称的变量( `CI_ENVIRONMENT_NAME` , `CI_ENVIRONMENT_SLUG` ). --与环境相关的任何其他变量(当前仅`CI_ENVIRONMENT_URL` ). -- [持久变量](#persisted-variables) . | -| `variables` | yes | Runner | 变量扩展由 GitLab Runner 的[内部变量扩展机制完成](#gitlab-runner-internal-variable-expansion-mechanism) | -| `image` | yes | Runner | 变量扩展由 GitLab Runner 的[内部变量扩展机制完成](#gitlab-runner-internal-variable-expansion-mechanism) | -| `services:[]` | yes | Runner | 变量扩展由 GitLab Runner 的[内部变量扩展机制完成](#gitlab-runner-internal-variable-expansion-mechanism) | -| `services:[]:name` | yes | Runner | 变量扩展由 GitLab Runner 的[内部变量扩展机制完成](#gitlab-runner-internal-variable-expansion-mechanism) | -| `cache:key` | yes | Runner | 变量扩展由 GitLab Runner 的[内部变量扩展机制完成](#gitlab-runner-internal-variable-expansion-mechanism) | -| `artifacts:name` | yes | Runner | 变量扩展由 GitLab Runner 的外壳环境完成 | -| `script`, `before_script`, `after_script` | yes | 脚本执行外壳 | 变量扩展由[执行外壳环境进行](#execution-shell-environment) | -| `only:variables:[]`, `except:variables:[]` | no | n/a | 变量必须采用`$variable`的形式. 以下不支持: - --基于环境名称的变量( `CI_ENVIRONMENT_NAME` , `CI_ENVIRONMENT_SLUG` ). --与环境相关的任何其他变量(当前仅`CI_ENVIRONMENT_URL` ). -- [持久变量](#persisted-variables) . | - -### `config.toml` file[](#configtoml-file "Permalink") - -**注意:**您可以在[Runner 的 docs 中](https://docs.gitlab.com/runner/configuration/advanced-configuration.html)阅读有关`config.toml`更多信息. - -| Definition | 可以扩大吗? | Description | -| --- | --- | --- | -| `runners.environment` | yes | 变量扩展由 Runner 的[内部变量扩展机制完成](#gitlab-runner-internal-variable-expansion-mechanism) | -| `runners.kubernetes.pod_labels` | yes | 变量扩展由 Runner 的[内部变量扩展机制完成](#gitlab-runner-internal-variable-expansion-mechanism) | -| `runners.kubernetes.pod_annotations` | yes | 变量扩展由 Runner 的[内部变量扩展机制完成](#gitlab-runner-internal-variable-expansion-mechanism) | - -## Expansion mechanisms[](#expansion-mechanisms "Permalink") - -共有三种扩展机制: - -* GitLab -* 亚搏体育 app Runner -* 执行外壳环境 - -### GitLab internal variable expansion mechanism[](#gitlab-internal-variable-expansion-mechanism "Permalink") - -扩展部分需要采用`$variable`或`${variable}`或`%variable%` . 每种格式都以相同的方式处理,无论最终由哪个 OS / shell 处理,因为扩展是在任何 Runner 获得该工作之前在 GitLab 中完成的. - -### GitLab Runner internal variable expansion mechanism[](#gitlab-runner-internal-variable-expansion-mechanism "Permalink") - -* 支持:项目/组变量, `.gitlab-ci.yml`变量, `config.toml`变量以及触发器,管道计划和手动管道中的变量. -* 不支持:在脚本内部定义的变量(例如, `export MY_VARIABLE="test"` ). - -跑步者使用 Go 的`os.Expand()`方法进行变量扩展. 这意味着它将仅处理定义为`$variable`和`${variable}` . 同样重要的是,扩展只能执行一次,因此嵌套变量可能会或可能不会起作用,这取决于变量定义的顺序. - -### Execution shell environment[](#execution-shell-environment "Permalink") - -这是`script`执行期间发生的扩展. 它的工作方式取决于所使用的 shell( `bash` , `sh` , `cmd` ,PowerShell). 例如,如果作业的`script`包含行`echo $MY_VARIABLE-${MY_VARIABLE_2}` ,则应由 bash / sh 正确处理(保留空字符串或某些值,具体取决于是否定义了变量),但不适用于 Windows 的`cmd`或 PowerShell,因为这些外壳使用不同的变量语法. - -Supported: - -* 该`script`可以使用外壳默认的所有可用变量(例如,应在所有 bash / sh 外壳中包含的`$PATH` )以及 GitLab CI / CD 定义的所有变量(项目/组变量, `.gitlab-ci.yml`变量, `config.toml`变量以及触发器和管道计划中的变量). -* 该`script`还可以使用前面各行中定义的所有变量. 因此,例如,如果您定义变量`export MY_VARIABLE="test"` : - * 在`before_script` ,这将在以下几行工作`before_script`和相关的所有行`script` . - * 在`script` ,它将在以下`script`行中工作. - * 在`after_script` ,它将在`after_script`以下行中`after_script` . - -对于`after_script`脚本,它们可以: - -* 仅在同一`after_script`部分中使用在脚本之前定义的变量. -* 不要使用在`before_script`和`script`定义的变量. - -这些限制是因为`after_script`脚本在[单独的 shell 上下文](../yaml/README.html#before_script-and-after_script)中执行. - -## Persisted variables[](#persisted-variables "Permalink") - -**注意:**一些持久变量包含令牌,由于安全原因,某些定义不能使用它们. - -以下变量称为"持久": - -* `CI_PIPELINE_ID` -* `CI_JOB_ID` -* `CI_JOB_TOKEN` -* `CI_BUILD_ID` -* `CI_BUILD_TOKEN` -* `CI_REGISTRY_USER` -* `CI_REGISTRY_PASSWORD` -* `CI_REPOSITORY_URL` -* `CI_DEPLOY_USER` -* `CI_DEPLOY_PASSWORD` - -他们是: - -* 支持["扩展位置"](#gitlab-ciyml-file)为的定义: - * 赛跑者. - * 脚本执行外壳. -* 不支持: - * 对于["扩展位置"](#gitlab-ciyml-file)是 GitLab 的定义. - * 在`only`和`except` [变量表达式中](README.html#environment-variables-expressions) . - -## Variables with an environment scope[](#variables-with-an-environment-scope "Permalink") - -支持使用环境范围定义的变量. 鉴于在`review/staging/*`范围内定义了一个变量`$STAGING_SECRET` ,将基于匹配的变量表达式创建以下使用动态环境的作业: - -``` -my-job: - stage: staging - environment: - name: review/$CI_JOB_STAGE/deploy - script: - - 'deploy staging' - only: - variables: - - $STAGING_SECRET == 'something' -``` \ No newline at end of file diff --git a/docs/223.md b/docs/223.md deleted file mode 100644 index 853b4c2..0000000 --- a/docs/223.md +++ /dev/null @@ -1,30 +0,0 @@ -# Deprecated GitLab CI/CD variables - -> 原文:[https://docs.gitlab.com/ee/ci/variables/deprecated_variables.html](https://docs.gitlab.com/ee/ci/variables/deprecated_variables.html) - -* [GitLab 9.0 renamed variables](#gitlab-90-renamed-variables) - -# Deprecated GitLab CI/CD variables[](#deprecated-gitlab-cicd-variables "Permalink") - -通读本文档以了解不赞成使用哪些预定义变量及其新引用. - -## GitLab 9.0 renamed variables[](#gitlab-90-renamed-variables "Permalink") - -为了在整个 GitLab 上遵循命名约定,并进一步远离`build`术语而转向`job` ,一些[CI / CD 环境变量](README.html#predefined-environment-variables)被重命名为 GitLab 9.0 版本. - -**注意:**从 GitLab 9.0 开始,我们已弃用`$CI_BUILD_*`变量. **强烈建议您使用新变量,因为我们将在以后的 GitLab 版本中删除旧变量.** - -| 8.x 名称 | 9.0+ name | -| --- | --- | -| `CI_BUILD_BEFORE_SHA` | `CI_COMMIT_BEFORE_SHA` | -| `CI_BUILD_ID` | `CI_JOB_ID` | -| `CI_BUILD_MANUAL` | `CI_JOB_MANUAL` | -| `CI_BUILD_NAME` | `CI_JOB_NAME` | -| `CI_BUILD_REF` | `CI_COMMIT_SHA` | -| `CI_BUILD_REF_NAME` | `CI_COMMIT_REF_NAME` | -| `CI_BUILD_REF_SLUG` | `CI_COMMIT_REF_SLUG` | -| `CI_BUILD_REPO` | `CI_REPOSITORY_URL` | -| `CI_BUILD_STAGE` | `CI_JOB_STAGE` | -| `CI_BUILD_TAG` | `CI_COMMIT_TAG` | -| `CI_BUILD_TOKEN` | `CI_JOB_TOKEN` | -| `CI_BUILD_TRIGGERED` | `CI_PIPELINE_TRIGGERED` | \ No newline at end of file diff --git a/docs/224.md b/docs/224.md deleted file mode 100644 index 76ec596..0000000 --- a/docs/224.md +++ /dev/null @@ -1,853 +0,0 @@ -# Environments and deployments - -> 原文:[https://docs.gitlab.com/ee/ci/environments/](https://docs.gitlab.com/ee/ci/environments/) - -* [Introduction](#introduction) -* [Configuring environments](#configuring-environments) - * [Defining environments](#defining-environments) - * [Environment variables and Runner](#environment-variables-and-runner) - * [Set dynamic environment URLs after a job finishes](#set-dynamic-environment-urls-after-a-job-finishes) - * [Example of setting dynamic environment URLs](#example-of-setting-dynamic-environment-urls) - * [Configuring manual deployments](#configuring-manual-deployments) - * [Configuring dynamic environments](#configuring-dynamic-environments) - * [Allowed variables](#allowed-variables) - * [Example configuration](#example-configuration) - * [Configuring Kubernetes deployments](#configuring-kubernetes-deployments) - * [Configuring incremental rollouts](#configuring-incremental-rollouts) - * [Deployment safety](#deployment-safety) - * [Complete example](#complete-example) - * [Protected environments](#protected-environments) -* [Working with environments](#working-with-environments) - * [Viewing environments and deployments](#viewing-environments-and-deployments) - * [Viewing deployment history](#viewing-deployment-history) - * [Retrying and rolling back](#retrying-and-rolling-back) - * [What to expect with a rollback](#what-to-expect-with-a-rollback) - * [Using the environment URL](#using-the-environment-url) - * [Going from source files to public pages](#going-from-source-files-to-public-pages) - * [Stopping an environment](#stopping-an-environment) - * [Automatically stopping an environment](#automatically-stopping-an-environment) - * [Environments auto-stop](#environments-auto-stop) - * [Auto-stop example](#auto-stop-example) - * [Delete a stopped environment](#delete-a-stopped-environment) - * [Delete environments through the UI](#delete-environments-through-the-ui) - * [Delete environments through the API](#delete-environments-through-the-api) - * [Prepare an environment](#prepare-an-environment) - * [Grouping similar environments](#grouping-similar-environments) - * [Monitoring environments](#monitoring-environments) - * [Embedding metrics in GitLab Flavored Markdown](#embedding-metrics-in-gitlab-flavored-markdown) - * [Web terminals](#web-terminals) - * [Check out deployments locally](#check-out-deployments-locally) - * [Scoping environments with specs](#scoping-environments-with-specs) - * [Environments Dashboard](#environments-dashboard-premium) -* [Limitations](#limitations) -* [Further reading](#further-reading) - -# Environments and deployments[](#environments-and-deployments "Permalink") - -在 GitLab 8.9 中引入. - -环境允许您在 GitLab 中控制软件的连续部署. - -## Introduction[](#introduction "Permalink") - -在准备将软件投入大众使用之前,软件开发过程需要许多阶段. - -例如: - -1. 开发代码. -2. 测试您的代码. -3. 在将代码发布给公众之前,请将其部署到测试或暂存环境中. - -This helps find bugs in your software, and also in the deployment process as well. - -GitLab CI / CD 不仅能够测试或构建您的项目,而且还可以在基础架构中部署它们,并具有给您提供一种跟踪部署的方式的额外好处. 换句话说,您将始终知道服务器上当前正在部署或已经部署了什么. - -重要的是要知道: - -* 环境就像您的 CI 作业的标签一样,描述了代码的部署位置. -* [作业](../yaml/README.html#introduction)是在[作业](../yaml/README.html#introduction)将代码版本部署到环境时创建的,因此每个环境可以有一个或多个部署. - -GitLab: - -* 提供每种环境的完整部署历史记录. -* 跟踪您的部署,因此您始终知道服务器上当前正在部署什么. - -如果您有与项目关联的部署服务(例如[Kubernetes)](../../user/project/clusters/index.html) ,则可以使用它来协助您的部署,甚至可以从 GitLab 中访问您环境的[Web 终端](#web-terminals) ! - -## Configuring environments[](#configuring-environments "Permalink") - -配置环境涉及: - -1. 了解[管道的](../pipelines/index.html)工作方式. -2. 在项目的[`.gitlab-ci.yml`](../yaml/README.html)文件中定义环境. -3. 创建配置为部署您的应用程序的作业. 例如,配置了[`environment`](../yaml/README.html#environment)的部署作业将您的应用程序部署到[Kubernetes 集群](../../user/project/clusters/index.html) . - -本节的其余部分说明了如何使用示例方案配置环境和部署. 假设您已经: - -* 在 GitLab 中创建了一个[项目](../../gitlab-basics/create-project.html) . -* 设置[亚军](../runners/README.html) . - -在方案中: - -* 我们正在开发一个应用程序. -* 我们想运行测试并在所有分支上构建我们的应用程序. -* 我们的默认分支是`master` . -* We deploy the app only when a pipeline on `master` branch is run. - -### Defining environments[](#defining-environments "Permalink") - -让我们考虑以下`.gitlab-ci.yml`示例: - -``` -stages: - - test - - build - - deploy - -test: - stage: test - script: echo "Running tests" - -build: - stage: build - script: echo "Building the app" - -deploy_staging: - stage: deploy - script: - - echo "Deploy to staging server" - environment: - name: staging - url: https://staging.example.com - only: - - master -``` - -我们定义了三个[阶段](../yaml/README.html#stages) : - -* `test` -* `build` -* `deploy` - -分配给这些阶段的作业将按此顺序运行. 如果任何作业失败,则管道将失败,分配给下一阶段的作业将不会运行. - -在我们的情况下: - -* `test`作业将首先运行. -* 然后是`build`作业. -* 最后, `deploy_staging`作业. - -使用此配置,我们: - -* 检查测试是否通过. -* 确保我们的应用程序能够成功构建. -* 最后,我们部署到登台服务器. - -**注意:** `environment`关键字定义了应用程序的部署位置. 环境`name`和`url`在 GitLab 中的各个位置公开. 每次指定环境的作业成功执行时,都会记录部署,Git SHA 和环境名称.**注意:**环境名称中不允许使用某些字符. 仅使用字母,数字,空格和`-` , `_` , `/` , `{` , `}`或`.` . 另外,它不得以`/`开头或结尾. - -总而言之,使用上述`.gitlab-ci.yml`我们已经实现了以下目标: - -* 所有分支机构将运行`test`并`build`作业. -* `deploy_staging`作业将[仅](../yaml/README.html#onlyexcept-basic)在`master`分支上运行,这意味着从分支创建的所有合并请求都不会部署到登台服务器. -* 合并请求合并后,所有作业将运行,并且`deploy_staging`作业会将我们的代码部署到登台服务器,而部署将记录在名为`staging`的环境中. - -#### Environment variables and Runner[](#environment-variables-and-runner "Permalink") - -从 GitLab 8.15 开始,环境名称以两种形式向 Runner 显示: - -* `$CI_ENVIRONMENT_NAME` . `.gitlab-ci.yml`给出的名称(扩展了所有变量). -* `$CI_ENVIRONMENT_SLUG` . 名称的"清理"版本,适用于 URL,DNS 等. - -如果更改现有环境的名称,则: - -* `$CI_ENVIRONMENT_NAME`变量将使用新的环境名称进行更新. -* `$CI_ENVIRONMENT_SLUG`变量将保持不变,以防止意外的副作用. - -从 GitLab 9.3 开始,环境 URL 通过`$CI_ENVIRONMENT_URL`向 Runner `$CI_ENVIRONMENT_URL` . URL 可以从以下任意一个展开: - -* `.gitlab-ci.yml`. -* 如果未在`.gitlab-ci.yml`定义,则来自环境的外部 URL. - -#### Set dynamic environment URLs after a job finishes[](#set-dynamic-environment-urls-after-a-job-finishes "Permalink") - -在 GitLab 12.9 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/17066) . - -在作业脚本中,您可以指定静态[环境 URL](#using-the-environment-url) . 但是,有时可能需要动态 URL. 例如,如果您将 Review App 部署到一个外部托管服务,该服务会为每个部署生成一个随机 URL,例如`https://94dd65b.amazonaws.com/qa-lambda-1234567` ,则在部署脚本之前您不会知道该 URL 完成. 如果要在 GitLab 中使用环境 URL,则必须手动更新. - -为了解决此问题,您可以配置部署作业以报告一组变量,包括由外部服务动态生成的 URL. GitLab 支持[dotenv( `.env` )](https://github.com/bkeepers/dotenv)文件格式,并使用`.env`文件中定义的变量扩展`environment:url`值. - -要使用此功能,请在`.gitlab-ci.yml`指定[`artifacts:reports:dotenv`](../pipelines/job_artifacts.html#artifactsreportsdotenv)关键字. - -有关概述,请参阅[在作业完成后设置动态 URL](https://youtu.be/70jDXtOf4Ig) . - -##### Example of setting dynamic environment URLs[](#example-of-setting-dynamic-environment-urls "Permalink") - -以下示例显示了一个 Review App,该 App 为每个合并请求创建一个新环境. 每次推送都会触发`review`作业,并创建或更新一个名为`review/your-branch-name` . 环境 URL 设置为`$DYNAMIC_ENVIRONMENT_URL` : - -``` -review: - script: - - DYNAMIC_ENVIRONMENT_URL=$(deploy-script) # In script, get the environment URL. - - echo "DYNAMIC_ENVIRONMENT_URL=$DYNAMIC_ENVIRONMENT_URL" >> deploy.env # Add the value to a dotenv file. - artifacts: - reports: - dotenv: deploy.env # Report back dotenv file to rails. - environment: - name: review/$CI_COMMIT_REF_SLUG - url: $DYNAMIC_ENVIRONMENT_URL # and set the variable produced in script to `environment:url` - on_stop: stop_review - -stop_review: - script: - - ./teardown-environment - when: manual - environment: - name: review/$CI_COMMIT_REF_SLUG - action: stop -``` - -`review`作业完成后,GitLab 会立即更新`review/your-branch-name`环境的 URL. 它解析`deploy.env`报告工件,将变量列表注册为在运行时创建的变量,并将其用于扩展`environment:url: $DYNAMIC_ENVIRONMENT_URL`并将其设置为环境 URL. 您还可以在`environment:url:`处指定 URL 的静态部分,例如`https://$DYNAMIC_ENVIRONMENT_URL` . 如果`DYNAMIC_ENVIRONMENT_URL`值为`example.com` ,则最终结果将为`https://example.com` . - -[在 UI 中可以看到](#using-the-environment-url)为`review/your-branch-name`环境分配的 URL. - -> **Notes:** -> -> * `stop_review`不会生成 dotenv 报告工件,因此不会识别`DYNAMIC_ENVIRONMENT_URL`变量. 因此,您不应在`stop_review`作业中设置`environment:url:` `stop_review` -> * 如果环境 URL 无效(例如,URL 格式错误),则系统不会更新环境 URL. - -### Configuring manual deployments[](#configuring-manual-deployments "Permalink") - -添加`when: manual`添加到自动执行的作业的配置会将其转换为需要手动操作的作业. - -为了扩展[前面的示例](#defining-environments) ,以下内容包括另一个作业,该作业将我们的应用程序部署到生产服务器,并由`production`环境进行跟踪. - -`.gitlab-ci.yml`文件如下: - -``` -stages: - - test - - build - - deploy - -test: - stage: test - script: echo "Running tests" - -build: - stage: build - script: echo "Building the app" - -deploy_staging: - stage: deploy - script: - - echo "Deploy to staging server" - environment: - name: staging - url: https://staging.example.com - only: - - master - -deploy_prod: - stage: deploy - script: - - echo "Deploy to production server" - environment: - name: production - url: https://example.com - when: manual - only: - - master -``` - -The `when: manual` action: - -* 在 GitLab 的用户界面中显示该作业的"播放"按钮. -* 意味着仅在单击"播放"按钮时才会触发`deploy_prod`作业. - -您可以在管道,环境,部署和作业视图中找到"播放"按钮. - -| View | Screenshot | -| --- | --- | -| Pipelines | [![Pipelines manual action](img/379bd77b46dd7f0617bc273a203c9a29.png)](../img/environments_manual_action_pipelines.png) | -| 单管道 | [![Pipelines manual action](img/e2e1d44121ea24d32b388b9b84bd7ea5.png)](../img/environments_manual_action_single_pipeline.png) | -| Environments | [![Environments manual action](img/14b1dcd13ed2d776e5cab726504e2df9.png)](../img/environments_manual_action_environments.png) | -| Deployments | [![Deployments manual action](img/85b07bb9804f9dd3c4e3edfc1e562f31.png)](../img/environments_manual_action_deployments.png) | -| Jobs | [![Builds manual action](img/ef8ff296b4a28ddcd52a6c4fd3ded454.png)](../img/environments_manual_action_jobs.png) | - -在任何视图中单击播放按钮都将触发`deploy_prod`作业,并且部署将记录为名为`production`的新环境. - -**注意:**如果您环境的名称是`production` (全部为小写),它将记录在[Value Stream Analytics 中](../../user/project/cycle_analytics.html) . - -### Configuring dynamic environments[](#configuring-dynamic-environments "Permalink") - -当部署到"稳定"的环境(例如分阶段或生产)时,常规环境会很好. - -但是,对于`master`以外的分支环境,可以使用动态环境. 动态环境可以通过在`.gitlab-ci.yml`动态声明其名称来动态创建环境. - -动态环境是[Review 应用程序](../review_apps/index.html)的基本组成部分. - -#### Allowed variables[](#allowed-variables "Permalink") - -动态环境的`name`和`url`参数可以使用大多数可用的 CI / CD 变量,包括: - -* [Predefined environment variables](../variables/README.html#predefined-environment-variables) -* [Project and group variables](../variables/README.html#gitlab-cicd-environment-variables) -* [`.gitlab-ci.yml` variables](../yaml/README.html#variables) - -但是,不能使用定义的变量: - -* Under `script`. -* 在跑步者方面. - -在`environment:name`上下文中还不支持其他变量. 有关更多信息,请参见[在哪里可以使用变量](../variables/where_variables_can_be_used.html) . - -#### Example configuration[](#example-configuration "Permalink") - -GitLab Runner 在作业运行时会公开各种[环境变量](../variables/README.html) ,因此您可以将它们用作环境名称. - -在以下示例中,作业将部署到`master`以外的所有分支: - -``` -deploy_review: - stage: deploy - script: - - echo "Deploy a review app" - environment: - name: review/$CI_COMMIT_REF_NAME - url: https://$CI_ENVIRONMENT_SLUG.example.com - only: - - branches - except: - - master -``` - -在此示例中: - -* 作业的名称为`deploy_review` ,它在`deploy`阶段运行. -* 我们将`environment`设置为`environment` `environment:name`作为`review/$CI_COMMIT_REF_NAME` . 由于[环境名称](../yaml/README.html#environmentname)可以包含斜杠( `/` ),因此我们可以使用此模式来区分动态环境和常规环境. -* We tell the job to run [`only`](../yaml/README.html#onlyexcept-basic) on branches, [`except`](../yaml/README.html#onlyexcept-basic) `master`. - -对于以下值: - -* `environment:name` ,第一部分是`review` ,后跟一个`/` ,然后是`$CI_COMMIT_REF_NAME` ,它接收分支名称的值. -* `environment:url` ,我们希望每个分支都有一个特定且不同的 URL. `$CI_COMMIT_REF_NAME`可能包含`/`或其他在域名或 URL 中无效的字符,因此我们使用`$CI_ENVIRONMENT_SLUG`来确保获得有效的 URL. - - 例如,给定`$CI_COMMIT_REF_NAME`为`100-Do-The-Thing` ,URL 将类似于`https://100-do-the-4f99a2.example.com` . 同样,设置 Web 服务器来满足这些请求的方式取决于您的设置. - - 我们在这里使用了`$CI_ENVIRONMENT_SLUG` ,因为它保证是唯一的. 如果您使用的是[GitLab Flow 之](../../topics/gitlab_flow.html)类的工作[流程](../../topics/gitlab_flow.html) ,则冲突不太可能发生,并且您可能更希望环境名称与分支名称更紧密地[关联](../../topics/gitlab_flow.html) . 在这种情况下,您可以在上面的示例中的`environment:url`中使用`$CI_COMMIT_REF_NAME` : `https://$CI_COMMIT_REF_NAME.example.com` ,其 URL 为`https://100-do-the-thing.example.com` . - -**注意:**您不需要在动态环境的名称中使用相同的前缀或仅使用斜杠( `/` ). 但是,使用此格式将启用[类似环境分组](#grouping-similar-environments)功能. - -### Configuring Kubernetes deployments[](#configuring-kubernetes-deployments "Permalink") - -在 GitLab 12.6 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/27630) . - -如果要部署到与项目关联的[Kubernetes 集群](../../user/project/clusters/index.html) ,则可以从`gitlab-ci.yml`文件配置这些部署. - -支持以下配置选项: - -* [`namespace`](https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/) - -在以下示例中,作业会将您的应用程序部署到`production` Kubernetes 命名空间. - -``` -deploy: - stage: deploy - script: - - echo "Deploy to production server" - environment: - name: production - url: https://example.com - kubernetes: - namespace: production - only: - - master -``` - -使用 GitLab 的 Kubernetes 集成部署到 Kubernetes 集群时,有关集群和名称空间的信息将显示在部署作业页面上的作业跟踪上方: - -[![Deployment cluster information](img/5e3cf2019e5c2c58b6dd5868fffb9e81.png)](../img/environments_deployment_cluster_v12_8.png) - -**注意:** [由 GitLab 管理的](../../user/project/clusters/index.html#gitlab-managed-clusters) Kubernetes 集群不支持 Kubernetes 配置. 要跟踪对 GitLab 管理的集群的支持进度,请参阅[相关问题](https://gitlab.com/gitlab-org/gitlab/-/issues/38054) . - -#### Configuring incremental rollouts[](#configuring-incremental-rollouts "Permalink") - -了解如何通过[增量部署](../environments/incremental_rollouts.html)仅对 Kubernetes Pod 的一部分发布生产更改. - -### Deployment safety[](#deployment-safety "Permalink") - -部署作业可能比管道中的其他作业更敏感,并且可能需要格外小心. GitLab 中有多个功能可帮助维护部署安全性和稳定性. - -* [Restrict write-access to a critical environment](deployment_safety.html#restrict-write-access-to-a-critical-environment) -* [Limit the job-concurrency for deployment jobs](deployment_safety.html#ensure-only-one-deployment-job-runs-at-a-time) -* [Skip outdated deployment jobs](deployment_safety.html#skip-outdated-deployment-jobs) -* [Prevent deployments during deploy freeze windows](deployment_safety.html#prevent-deployments-during-deploy-freeze-windows) - -### Complete example[](#complete-example "Permalink") - -本节中的配置提供了完整的开发工作流程,其中您的应用程序是: - -* Tested. -* Built. -* 部署为 Review App. -* 合并请求合并后,部署到登台服务器. -* 最后,能够手动部署到生产服务器. - -以下内容结合了之前的配置示例,包括: - -* Defining [simple environments](#defining-environments) for testing, building, and deployment to staging. -* 添加[手动操作](#configuring-manual-deployments)以部署到生产中. -* 为部署创建[动态环境](#configuring-dynamic-environments)以供查看. - -``` -stages: - - test - - build - - deploy - -test: - stage: test - script: echo "Running tests" - -build: - stage: build - script: echo "Building the app" - -deploy_review: - stage: deploy - script: - - echo "Deploy a review app" - environment: - name: review/$CI_COMMIT_REF_NAME - url: https://$CI_ENVIRONMENT_SLUG.example.com - only: - - branches - except: - - master - -deploy_staging: - stage: deploy - script: - - echo "Deploy to staging server" - environment: - name: staging - url: https://staging.example.com - only: - - master - -deploy_prod: - stage: deploy - script: - - echo "Deploy to production server" - environment: - name: production - url: https://example.com - when: manual - only: - - master -``` - -一个更现实的示例还包括将文件复制到 Web 服务器(例如 NGINX)可以访问并为其提供服务的位置. - -下面的示例将`public`目录复制到`/srv/nginx/$CI_COMMIT_REF_SLUG/public` : - -``` -review_app: - stage: deploy - script: - - rsync -av --delete public /srv/nginx/$CI_COMMIT_REF_SLUG - environment: - name: review/$CI_COMMIT_REF_NAME - url: https://$CI_COMMIT_REF_SLUG.example.com -``` - -此示例要求在要运行此作业的服务器上设置 NGINX 和 GitLab Runner. - -**注意:**有关分支机构和 Review Apps 命名的一些极端情况,请参阅" [限制"](#limitations)部分. - -完整的示例为开发人员提供了以下工作流程: - -* 在本地创建分支. -* 进行更改并提交. -* 将分支推送到 GitLab. -* 创建一个合并请求. - -在后台,GitLab Runner 将: - -* 拾取更改并开始运行作业. -* 按`stages`定义顺序运行作业: - * 首先,运行测试. - * 如果测试成功,请构建应用程序. - * 如果构建成功,则将应用程序部署到具有特定于分支机构名称的环境. - -所以现在,每个分支: - -* 获取自己的环境. -* 已部署到其自己的唯一位置,具有以下优点: - * 有[部署历史](#viewing-deployment-history) . - * 如果需要,能够[回滚更改](#retrying-and-rolling-back) . - -有关更多信息,请参见[使用环境 URL](#using-the-environment-url) . - -### Protected environments[](#protected-environments "Permalink") - -可以对环境进行"保护",限制对它们的访问. - -有关更多信息,请参阅[受保护的环境](protected_environments.html) . - -## Working with environments[](#working-with-environments "Permalink") - -配置环境后,GitLab 将提供许多用于处理环境的功能,如下所述. - -### Viewing environments and deployments[](#viewing-environments-and-deployments "Permalink") - -每个项目的" **操作">"环境"**页面上都提供了环境和部署状态的列表. - -例如: - -[![Environment view](img/9121e1772146daa5a3259be82cde8902.png)](../img/environments_available.png) - -此示例显示: - -* 环境名称以及指向其部署的链接. -* 最后的部署 ID 号以及执行者. -* 上次部署的作业 ID 及其各自的作业名称. -* 上次部署的提交信息,例如谁提交了它,到哪个分支以及提交的 Git SHA. -* 上次部署的确切时间. -* 该按钮`.gitlab-ci.yml`您带到您在`.gitlab-ci.yml`的`environment`关键字下定义的 URL. -* 重新部署最新部署的按钮,这意味着它将运行由环境名称定义的特定提交的作业. - -" **环境"**页面中显示的信息仅限于最新的部署,但是一个环境可以具有多个部署. - -> **Notes:** -> -> * 虽然您可以在 Web 界面中手动创建环境,但建议您首先在`.gitlab-ci.yml`定义环境. 首次部署后,将自动为您创建它们. -> * 只有具有[Reporter 权限](../../user/permissions.html#project-members-permissions)及以上[权限](../../user/permissions.html#project-members-permissions)的用户才能查看环境页面. 有关权限的更多信息,请参阅[权限文档](../../user/permissions.html) . -> * 只有在正确配置`.gitlab-ci.yml`之后发生的部署才会显示在" **环境"**和" **最后部署"**列表中. - -### Viewing deployment history[](#viewing-deployment-history "Permalink") - -GitLab keeps track of your deployments, so you: - -* 始终知道服务器上当前正在部署什么. -* 可以具有每种环境的完整部署历史记录. - -单击环境可显示其部署的历史记录. 这是具有多个部署的**环境**示例页面: - -[![Deployments](img/e3feca46add6d42b1afc92fcf120dbfb.png)](../img/deployments_view.png) - -该视图类似于" **环境"**页面,但是显示了所有部署. 在此视图中,还有一个" **回滚"**按钮. 有关更多信息,请参阅[重试和回滚](#retrying-and-rolling-back) . - -### Retrying and rolling back[](#retrying-and-rolling-back "Permalink") - -如果部署存在问题,则可以重试或回滚. - -要重试或回滚部署: - -1. 导航到" **操作">"环境"** . -2. 单击环境. -3. 在环境的部署历史记录列表中,单击: - * 最后部署旁边的" **重试"**按钮,以重试该部署. - * 先前成功部署旁边的" **回滚"**按钮,以回滚到该部署. - -#### What to expect with a rollback[](#what-to-expect-with-a-rollback "Permalink") - -在特定提交上按**回滚**按钮将触发具有其自己的唯一作业 ID 的*新*部署. - -这意味着您将看到一个新的部署,该部署指向您要回滚的提交. - -**注意:**作业`script`定义的部署过程确定回滚是否成功. - -### Using the environment URL[](#using-the-environment-url "Permalink") - -[环境 URL](../yaml/README.html#environmenturl)在 GitLab 中的几个位置公开: - -* 在合并请求小部件中作为链接: [![合并请求中的环境 URL](img/3d8b21038a5aa14baa75dc65de55d728.png)](../img/environments_mr_review_app.png) -* 在"环境"视图中作为按钮: [![环境中的环境 URL](img/9121e1772146daa5a3259be82cde8902.png)](../img/environments_available.png) -* 在"部署"视图中作为按钮: [![部署中的环境 URL](img/e3feca46add6d42b1afc92fcf120dbfb.png)](../img/deployments_view.png) - -在以下情况下,您可以在合并请求本身中看到此信息: - -* 合并请求最终合并到默认分支(通常是`master` ). -* 该分支还部署到环境(例如, `staging`或`production` ). - -例如: - -[![Environment URLs in merge request](img/061d5d0d60fdf019ad696860942563af.png)](../img/environments_link_url_mr.png) - -#### Going from source files to public pages[](#going-from-source-files-to-public-pages "Permalink") - -使用 GitLab 的[路线图,](../review_apps/index.html#route-maps)您可以在为 Review Apps 设置的环境中直接从源文件转到公共页面. - -### Stopping an environment[](#stopping-an-environment "Permalink") - -停止环境: - -* 将其从" **可用"**环境列表移至" [**环境"**页面](#viewing-environments-and-deployments)上的"已**停止"**环境列表. -* 执行[`on_stop`操作](../yaml/README.html#environmenton_stop) (如果已定义). - -当多个开发人员同时在一个项目上工作时,通常会使用此方法,每个开发人员都将推入自己的分支,从而创建了许多动态环境. - -**注意:**从 GitLab 8.14 开始,删除动态环境的关联分支后,它们会自动停止. - -#### Automatically stopping an environment[](#automatically-stopping-an-environment "Permalink") - -可以使用特殊配置自动停止环境. - -考虑以下示例,其中`deploy_review`作业调用`stop_review`清理并停止环境: - -``` -deploy_review: - stage: deploy - script: - - echo "Deploy a review app" - environment: - name: review/$CI_COMMIT_REF_NAME - url: https://$CI_ENVIRONMENT_SLUG.example.com - on_stop: stop_review - only: - - branches - except: - - master - -stop_review: - stage: deploy - variables: - GIT_STRATEGY: none - script: - - echo "Remove review app" - when: manual - environment: - name: review/$CI_COMMIT_REF_NAME - action: stop -``` - -设置[`GIT_STRATEGY`](../yaml/README.html#git-strategy)到`none`是必要的`stop_review`使各项工作[GitLab 亚军](https://docs.gitlab.com/runner/)不会尝试分支被删除后退房的代码. - -当您的环境中定义了停止动作时(通常在该环境描述了 Review App 时),当关联的分支被删除时,GitLab 将自动触发停止动作. `stop_review`作业必须与`deploy_review`作业处于同一`stage` ,以便环境自动停止. - -此外,两个作业都应具有匹配的[`rules`](../yaml/README.html#onlyexcept-basic)或[`only/except`](../yaml/README.html#onlyexcept-basic)配置[`only/except`](../yaml/README.html#onlyexcept-basic) . 在上面的示例中,如果配置不同,则`stop_review`作业可能不会包含在所有包含`deploy_review`作业的管道中,并且将无法触发该`action: stop`会自动停止环境. - -您可以在[`.gitlab-ci.yml`参考中](../yaml/README.html#environmenton_stop)阅读更多[`.gitlab-ci.yml`](../yaml/README.html#environmenton_stop) . - -#### Environments auto-stop[](#environments-auto-stop "Permalink") - -在 GitLab 12.8 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/20956) . - -您可以设置环境的到期时间,并在一定时间后自动将其停止. - -例如,考虑在 Review Apps 环境中使用此功能. 设置 Review Apps 时,有时它们会长时间运行,因为某些合并请求处于打开状态. 这种情况的一个示例是,由于优先级更改或决定采用其他方法而导致合并请求的作者未积极处理合并请求,而合并请求却被遗忘了. 空闲环境会浪费资源,因此应尽快终止它们. - -要解决此问题,您可以为 Review Apps 环境指定一个可选的到期日期. 当达到到期时间时,GitLab 将自动触发作业以停止环境,而无需手动执行此操作. 万一更新了环境,则到期将得到更新,以确保只有活动的合并请求才能继续运行 Review Apps. - -要启用此功能,您需要在`.gitlab-ci.yml`指定[`environment:auto_stop_in`](../yaml/README.html#environmentauto_stop_in)关键字. 您可以指定一个对人类友好的日期作为值,例如`1 hour and 30 minutes`或`1 day` . `auto_stop_in`使用相同的[`artifacts:expire_in`](../yaml/README.html#artifactsexpire_in)格式[`artifacts:expire_in` docs](../yaml/README.html#artifactsexpire_in) . - -**注意:**由于资源限制,用于停止环境的后台工作器每小时仅运行一次. 这意味着不会按指定的确切时间在特定的时间戳记下停止环境,而是在每小时的 cron 工作者检测到过期的环境时将其停止. - -##### Auto-stop example[](#auto-stop-example "Permalink") - -在以下示例中,有一个基本的审阅应用程序设置,可为每个合并请求创建一个新环境. 每次推送都会触发`review_app`作业,并创建或更新一个名为`review/your-branch-name` . 环境一直运行,直到执行`stop_review_app` : - -``` -review_app: - script: deploy-review-app - environment: - name: review/$CI_COMMIT_REF_NAME - on_stop: stop_review_app - auto_stop_in: 1 week - -stop_review_app: - script: stop-review-app - environment: - name: review/$CI_COMMIT_REF_NAME - action: stop - when: manual -``` - -只要合并请求处于活动状态并不断获得新的提交,审阅应用程序就不会停止,因此开发人员无需担心重新启动审阅应用程序. - -另一方面,由于将`stop_review_app`设置为`auto_stop_in: 1 week` ,如果合并请求变得不活动超过一个星期,则 G​​itLab 会自动触发`stop_review_app`作业以停止环境. - -您还可以通过 GitLab UI 检查环境的到期日期. 为此,请转到**操作>环境>环境** . 您可以在左上部分看到自动停止时间,并在右上部分看到一个记号按钮. 此固定标记按钮可用于防止环境自动停止. 单击此按钮,将`auto_stop_in`设置,并且环境将处于活动状态,直到手动将其停止为止. - -[![Environment auto stop](img/c67faf1fb34407861ed68b426e46da72.png)](../img/environment_auto_stop_v12_8.png) - -#### Delete a stopped environment[](#delete-a-stopped-environment "Permalink") - -在 GitLab 12.10 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/20620) . - -您可以通过以下两种方式之一删除已[停止的环境](#stopping-an-environment) :通过 GitLab UI 或通过 API. - -##### Delete environments through the UI[](#delete-environments-through-the-ui "Permalink") - -要查看已**停止**环境的列表,请导航至" **操作">"环境"** ,然后单击"已**停止"**选项卡. - -在此处,您可以直接单击" **删除"**按钮,也可以单击环境名称以查看其详细信息,然后从此处**删除**它. - -您还可以通过查看已停止环境的详细信息来删除环境: - -1. 导航到" **操作">"环境"** . -2. 在"已**停止的**环境"列表中单击环境的名称. -3. 单击显示在所有已停止环境顶部的" **删除"**按钮. -4. 最后,在似乎要删除它的模式中确认您选择的环境. - -##### Delete environments through the API[](#delete-environments-through-the-api "Permalink") - -也可以使用[Environments API](../../api/environments.html#delete-an-environment)删除[环境](../../api/environments.html#delete-an-environment) . - -### Prepare an environment[](#prepare-an-environment "Permalink") - -在 GitLab 13.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/208655) . - -默认情况下,每次运行具有指定环境的构建时,GitLab 都会创建一个[部署](#viewing-deployment-history) . 较新的部署也可以[取消较旧的](deployment_safety.html#skip-outdated-deployment-jobs)部署. - -您可能需要指定一个环境关键字来[保护构建免受未经授权的访问](protected_environments.html) ,或获得对[范围变量的](#scoping-environments-with-specs)访问. 在这些情况下,可以使用以下`action: prepare`关键字以确保不会创建部署,并且不会取消任何构建: - -``` -build: - stage: build - script: - - echo "Building the app" - environment: - name: staging - action: prepare - url: https://staging.example.com -``` - -### Grouping similar environments[](#grouping-similar-environments "Permalink") - -在 GitLab 8.14 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/7015) . - -如[配置动态环境中所述](#configuring-dynamic-environments) ,您可以在环境名称前添加一个单词,后跟一个`/` ,最后是分支名称,该分支名称由`CI_COMMIT_REF_NAME`变量自动定义. - -简而言之,所有名为`type/foo`的环境都在同一个名为`type`组下显示. - -在[最小的示例中](#example-configuration) ,我们将环境命名为`review/$CI_COMMIT_REF_NAME` ,其中`$CI_COMMIT_REF_NAME`是分支名称. 这是示例的片段: - -``` -deploy_review: - stage: deploy - script: - - echo "Deploy a review app" - environment: - name: review/$CI_COMMIT_REF_NAME -``` - -在这种情况下,如果您访问" **环境"**页面并且分支存在,则应该看到类似以下内容的内容: - -[![Environment groups](img/60958029f56e4c49c6a21082ea151191.png)](../img/environments_dynamic_groups.png) - -### Monitoring environments[](#monitoring-environments "Permalink") - -如果已启用[Prometheus 来监视系统和响应指标](../../user/project/integrations/prometheus.html) ,则可以监视在每个环境中运行的应用程序的行为. 为了显示监视仪表板,您需要配置 Prometheus 来收集至少一个[支持的指标](../../user/project/integrations/prometheus_library/index.html) . - -**注意:**从 GitLab 9.2 开始,到环境的所有部署都直接显示在监视仪表板上. - -配置完成后,GitLab 将尝试为成功部署的任何环境检索[支持的性能指标](../../user/project/integrations/prometheus_library/index.html) . 如果成功检索到监视数据,则将为每个环境显示一个" **监视"**按钮. - -[![Environment Detail with Metrics](img/e3feca46add6d42b1afc92fcf120dbfb.png)](../img/deployments_view.png) - -单击" **监视"**按钮将显示一个新页面,该页面最多显示最近 8 个小时的性能数据. 初始部署后,可能需要一两分钟的时间才能显示数据. - -环境的所有部署都直接显示在监视仪表板上,这使性能的任何变化与应用程序的新版本之间都可以轻松关联,而无需离开 GitLab. - -[![Monitoring dashboard](img/8c80632a58ede646cb8f2046924a504a.png)](../img/environments_monitoring.png) - -#### Embedding metrics in GitLab Flavored Markdown[](#embedding-metrics-in-gitlab-flavored-markdown "Permalink") - -公制图表可以嵌入到 GitLab Flavored Markdown 中. 有关更多详细信息,请参见[在 GitLab 风味 Markdown 中嵌入指标](../../operations/metrics/embed.html) . - -### Web terminals[](#web-terminals "Permalink") - -> Web 终端已在 GitLab 8.15 中添加,仅对项目维护者和所有者可用. - -If you deploy to your environments with the help of a deployment service (for example, the [Kubernetes integration](../../user/project/clusters/index.html)), GitLab can open a terminal session to your environment. - -这是一项功能强大的功能,可让您调试问题而不会离开 Web 浏览器. 要启用它,只需按照服务集成文档中给出的说明进行操作. - -启用后,您的环境将获得一个"终端"按钮: - -[![Terminal button on environment index](img/47c6e09feffe93d1d9f758d50837b31b.png)](../img/environments_terminal_button_on_index.png) - -您还可以从页面访问特定环境的终端按钮: - -[![Terminal button for an environment](img/b6d33f6e98bcf842659df9a637bbaeb9.png)](../img/environments_terminal_button_on_show.png) - -无论在哪里找到它,单击按钮都会带您到单独的页面来建立终端会话: - -[![Terminal page](img/92601175945fcac1aee644fd449e9adf.png)](../img/environments_terminal_page.png) - -就像其他终端一样工作. 您将处于部署创建的容器中,因此您可以: - -* 运行 shell 命令并实时获取响应. -* 检查日志. -* 试用配置或代码调整等. - -您可以在同一环境中打开多个终端,它们每个都有自己的 shell 会话,甚至可以是`screen`或`tmux`的多路复用器. - -**注意:**基于容器的部署通常缺少基本工具(例如编辑器),并且可以随时停止或重新启动. 如果发生这种情况,您将丢失所有更改. 将此视为调试工具,而不是全面的在线 IDE. - -### Check out deployments locally[](#check-out-deployments-locally "Permalink") - -从 GitLab 8.13 开始,每次部署都会在 Git 存储库中保存一个引用,因此仅需`git fetch`知道当前环境的状态. - -In your Git configuration, append the `[remote "<your-remote>"]` block with an extra fetch line: - -``` -fetch = +refs/environments/*:refs/remotes/origin/environments/* -``` - -### Scoping environments with specs[](#scoping-environments-with-specs "Permalink") - -版本历史 - -* 在[GitLab Premium](https://about.gitlab.com/pricing/) 9.4 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/2112) . -* 在 GitLab 12.2 中将[环境变量的作用域移至 Core](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/30779) . - -您可以通过定义变量可用于的环境来限制变量的环境范围. - -可以使用通配符,默认环境范围是`*` ,这意味着任何作业都将具有此变量,与是否定义环境无关. - -例如,如果环境范围是`production` ,那么只有定义了环境`production`的作业才具有此特定变量. 通配符( `*` )可以与环境名称一起使用,因此,如果环境范围是`review/*`那么任何以环境名称以`review/`开头的作业都将具有该特定变量. - -对于每个环境,某些 GitLab 功能可能会有不同的行为. 例如,您可以[创建一个秘密变量,仅将其注入生产环境](../variables/README.html#limit-the-environment-scopes-of-environment-variables) . - -在大多数情况下,这些功能使用*环境规范*机制,该机制提供了一种在每个环境组内实现作用域的有效方法. - -假设有四种环境: - -* `production` -* `staging` -* `review/feature-1` -* `review/feature-2` - -Each environment can be matched with the following environment spec: - -| 环境规格 | `production` | `staging` | `review/feature-1` | `review/feature-2` | -| --- | --- | --- | --- | --- | -| * | Matched | Matched | Matched | Matched | -| production | Matched |   |   |   | -| staging |   | Matched |   |   | -| review/* |   |   | Matched | Matched | -| review/feature-1 |   |   | Matched |   | - -如您所见,您可以使用特定的匹配来选择特定的环境,也可以使用通配符匹配( `*` )来选择特定的环境组,例如[Review Apps](../review_apps/index.html) ( `review/*` ). - -**注意:**最*具体的*规范优先于其他通配符匹配. 在这种情况下, `review/feature-1`规范优先于`review/*`和`*`规范. - -### Environments Dashboard[](#environments-dashboard-premium "Permalink") - -有关每个环境的运行状况的摘要,请参见[环境仪表板](../environments/environments_dashboard.html) . - -## Limitations[](#limitations "Permalink") - -在`environment: name` ,您仅限于[预定义的环境变量](../variables/predefined_variables.html) . 重用`script`内部定义为环境名称一部分的变量将不起作用. - -## Further reading[](#further-reading "Permalink") - -以下是一些您可能会发现有趣的链接: - -* [The `.gitlab-ci.yml` definition of environments](../yaml/README.html#environment) -* [A blog post on Deployments & Environments](https://about.gitlab.com/blog/2016/08/26/ci-deployment-and-environments/) -* [Review Apps - Use dynamic environments to deploy your code for every branch](../review_apps/index.html) -* [Deploy Boards for your applications running on Kubernetes](../../user/project/deploy_boards.html) \ No newline at end of file diff --git a/docs/225.md b/docs/225.md deleted file mode 100644 index 9bb6b86..0000000 --- a/docs/225.md +++ /dev/null @@ -1,52 +0,0 @@ -# Protected Environments - -> 原文:[https://docs.gitlab.com/ee/ci/environments/protected_environments.html](https://docs.gitlab.com/ee/ci/environments/protected_environments.html) - -* [Overview](#overview) -* [Protecting environments](#protecting-environments) -* [Modifying and unprotecting environments](#modifying-and-unprotecting-environments) - -# Protected Environments[](#protected-environments-premium "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6303) in [GitLab Premium](https://about.gitlab.com/pricing/) 11.3. - -## Overview[](#overview "Permalink") - -可以出于多种原因使用[环境](../environments/index.html) : - -* 其中一些仅用于测试. -* 其他用于生产. - -由于部署工作可以由具有不同角色的不同用户来提出,因此对"特定"环境进行"保护"以防止未经授权的人员影响他们很重要. - -默认情况下,受保护的环境会做一件事:它确保只有具有适当特权的人才能部署到该环境,从而确保其安全. - -**注意:**始终允许 GitLab 管理员使用环境,即使环境受到保护也是如此. - -要保护,更新或取消保护环境,您至少需要具有[维护者权限](../../user/permissions.html) . - -## Protecting environments[](#protecting-environments "Permalink") - -为了保护环境: - -1. 导航到项目的**"设置">" CI / CD"** . -2. 展开" **保护环境"**部分. -3. 从" **环境"**下拉菜单中,选择要保护的环境. -4. 在" **允许部署"**下拉菜单中,选择要授予其部署访问权限的角色,用户或组. 请记住: - * 有两种角色可供选择: - * **维护者** :将允许访问项目中的所有维护者. - * **开发人员** :将允许访问该项目中的所有维护人员和所有开发人员. - * 您只能选择已经与项目关联的组. - * 只有具有至少开发人员权限级别的用户才会显示在" **允许部署"**下拉菜单中. -5. 单击**保护**按钮. - -现在,受保护的环境将出现在受保护环境的列表中. - -## Modifying and unprotecting environments[](#modifying-and-unprotecting-environments "Permalink") - -维护者可以: - -* 通过在" **允许部署"**下拉菜单中更改访问权限,可以随时更新现有的受保护环境. -* 通过单击该环境的" **取消保护"**按钮来**取消保护**该环境. - -有关更多信息,请参阅[部署安全](deployment_safety.html) . \ No newline at end of file diff --git a/docs/226.md b/docs/226.md deleted file mode 100644 index 0a50873..0000000 --- a/docs/226.md +++ /dev/null @@ -1,174 +0,0 @@ -# GitLab CI/CD Examples - -> 原文:[https://docs.gitlab.com/ee/ci/examples/README.html](https://docs.gitlab.com/ee/ci/examples/README.html) - -* [CI/CD examples](#cicd-examples) - * [Contributing examples](#contributing-examples) -* [CI/CD templates](#cicd-templates) - * [Adding templates to your GitLab installation](#adding-templates-to-your-gitlab-installation-premium-only) -* [Other resources](#other-resources) - * [CI/CD in the cloud](#cicd-in-the-cloud) - * [Customer stories](#customer-stories) - * [Getting started](#getting-started) - * [Implementing GitLab CI/CD](#implementing-gitlab-cicd) - * [Migrating to GitLab from third-party CI tools](#migrating-to-gitlab-from-third-party-ci-tools) - * [Integrating GitLab CI/CD with other systems](#integrating-gitlab-cicd-with-other-systems) - * [Mobile development](#mobile-development) - -# GitLab CI/CD Examples[](#gitlab-cicd-examples "Permalink") - -该页面包含指向各种示例的链接,这些示例可以帮助您了解如何针对特定用例实现[GitLab CI / CD](../README.html) . - -示例有几种形式. 作为以下内容的集合: - -* 在 GitLab 中维护的`.gitlab-ci.yml` [模板文件](#cicd-templates) ,用于许多常见的框架和编程语言. -* 具有各种语言[示例项目的](https://gitlab.com/gitlab-examples)存储库. 您可以分叉并根据自己的需要进行调整. 项目包括[多项目管道的](https://gitlab.com/gitlab-examples/multi-project-pipelines)演示以及[在 NGINX 服务的静态站点上](https://gitlab.com/gitlab-examples/review-apps-nginx/)使用[Review Apps](https://gitlab.com/gitlab-examples/review-apps-nginx/) . -* 下面列出了示例和[其他资源](#other-resources) . - -## CI/CD examples[](#cicd-examples "Permalink") - -下表列出了本节中包含分步教程的示例. - -| 用例 | Resource | -| --- | --- | -| 浏览器性能测试 | [Browser Performance Testing with the Sitespeed.io container](../../user/project/merge_requests/browser_performance_testing.html). | -| 负载性能测试 | [Load Performance Testing with the k6 container](../../user/project/merge_requests/load_performance_testing.html). | -| Clojure | [Test a Clojure application with GitLab CI/CD](test-clojure-application.html). | -| 使用 Dpl 进行部署 | [Using `dpl` as deployment tool](deployment/README.html). | -| Elixir | [Testing a Phoenix application with GitLab CI/CD](test_phoenix_app_with_gitlab_ci_cd/index.html). | -| 端到端测试 | [End-to-end testing with GitLab CI/CD and WebdriverIO](end_to_end_testing_webdriverio/index.html). | -| Game development | [DevOps and Game Dev with GitLab CI/CD](devops_and_game_dev_with_gitlab_ci_cd/index.html). | -| GitLab 页面 | 有关部署静态站点的完整示例,请参见[GitLab Pages](../../user/project/pages/index.html)文档. | -| 带有 Spring Boot 的 Java | [Deploy a Spring Boot application to Cloud Foundry with GitLab CI/CD](deploy_spring_boot_to_cloud_foundry/index.html). | -| Java 与 Maven | [How to deploy Maven projects to Artifactory with GitLab CI/CD](artifactory_and_gitlab/index.html). | -| PHP 与 PHPunit,Atoum | [Testing PHP projects](php.html). | -| PHP 与 NPM,SCP | [Running Composer and NPM scripts with deployment via SCP in GitLab CI/CD](deployment/composer-npm-deploy.html). | -| PHP 与 Laravel,Envoy | [Test and deploy Laravel applications with GitLab CI/CD and Envoy](laravel_with_gitlab_and_envoy/index.html). | -| Heroku 上的 Python | [Test and deploy a Python application with GitLab CI/CD](test-and-deploy-python-application-to-heroku.html). | -| 红宝石在 Heroku 上 | [Test and deploy a Ruby application with GitLab CI/CD](test-and-deploy-ruby-application-to-heroku.html). | -| Heroku 上的 Scala | [Test and deploy a Scala application to Heroku](test-scala-application.html). | -| 并行测试 Ruby 和 JS | [GitLab CI/CD parallel jobs testing for Ruby & JavaScript projects](https://docs.knapsackpro.com/2019/how-to-run-parallel-jobs-for-rspec-tests-on-gitlab-ci-pipeline-and-speed-up-ruby-javascript-testing). | -| Vault 的秘密管理 | [Authenticating and Reading Secrets With Hashicorp Vault](authenticating-with-hashicorp-vault/index.html). | - -### Contributing examples[](#contributing-examples "Permalink") - -欢迎捐款! 您可以通过发送合并请求和该语言的指南来帮助您最喜欢的编程语言用户和 GitLab. - -## CI/CD templates[](#cicd-templates "Permalink") - -使用`.gitlab-ci.yml` [模板](https://gitlab.com/gitlab-org/gitlab/tree/master/lib/gitlab/ci/templates)开始使用 GitLab CI / CD 和您喜欢的编程语言或框架. - -在用户界面中创建`gitlab-ci.yml`文件时,可以选择以下模板之一: - -* [Android (`Android.gitlab-ci.yml`)](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Android.gitlab-ci.yml) -* [Android with fastlane (`Android-Fastlane.gitlab-ci.yml`)](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Android-Fastlane.gitlab-ci.yml) -* [Bash (`Bash.gitlab-ci.yml`)](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Bash.gitlab-ci.yml) -* [C++ (`C++.gitlab-ci.yml`)](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/C++.gitlab-ci.yml) -* [Chef (`Chef.gitlab-ci.yml`)](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Chef.gitlab-ci.yml) -* [Clojure (`Clojure.gitlab-ci.yml`)](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Clojure.gitlab-ci.yml) -* [Composer `Composer.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Composer.gitlab-ci.yml) -* [Crystal (`Crystal.gitlab-ci.yml`)](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Crystal.gitlab-ci.yml) -* [Django (`Django.gitlab-ci.yml`)](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Django.gitlab-ci.yml) -* [Docker (`Docker.gitlab-ci.yml`)](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Docker.gitlab-ci.yml) -* [dotNET (`dotNET.gitlab-ci.yml`)](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/dotNET.gitlab-ci.yml) -* [dotNET Core (`dotNET-Core.yml`)](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/dotNET-Core.yml) -* [Elixir (`Elixir.gitlab-ci.yml`)](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Elixir.gitlab-ci.yml) -* [goLang (`Go.gitlab-ci.yml`)](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Go.gitlab-ci.yml) -* [Gradle (`Gradle.gitlab-ci.yml`)](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Gradle.gitlab-ci.yml) -* [Grails (`Grails.gitlab-ci.yml`)](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Grails.gitlab-ci.yml) -* [iOS with fastlane (`iOS-Fastlane.gitlab-ci.yml`)](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/iOS-Fastlane.gitlab-ci.yml) -* [Julia (`Julia.gitlab-ci.yml`)](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Julia.gitlab-ci.yml) -* [Laravel (`Laravel.gitlab-ci.yml`)](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Laravel.gitlab-ci.yml) -* [LaTeX (`LaTeX.gitlab-ci.yml`)](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/LaTeX.gitlab-ci.yml) -* [Maven (`Maven.gitlab-ci.yml`)](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Maven.gitlab-ci.yml) -* [Mono (`Mono.gitlab-ci.yml`)](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Mono.gitlab-ci.yml) -* [NPM (`npm.gitlab-ci.yml`)](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/npm.gitlab-ci.yml) -* [Node.js (`Nodejs.gitlab-ci.yml`)](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Nodejs.gitlab-ci.yml) -* [OpenShift (`OpenShift.gitlab-ci.yml`)](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/OpenShift.gitlab-ci.yml) -* [Packer (`Packer.gitlab-ci.yml`)](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Packer.gitlab-ci.yml) -* [PHP (`PHP.gitlab-ci.yml`)](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/PHP.gitlab-ci.yml) -* [Python (`Python.gitlab-ci.yml`)](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Python.gitlab-ci.yml) -* [Ruby (`Ruby.gitlab-ci.yml`)](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Ruby.gitlab-ci.yml) -* [Rust (`Rust.gitlab-ci.yml`)](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Rust.gitlab-ci.yml) -* [Scala (`Scala.gitlab-ci.yml`)](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Scala.gitlab-ci.yml) -* [Swift (`Swift.gitlab-ci.yml`)](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Swift.gitlab-ci.yml) -* [Terraform (`Terraform.gitlab-ci.yml`)](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Terraform.gitlab-ci.yml) - -如果编程语言或框架模板不在此列表中,则可以提供一种. 要创建模板,请向[https://gitlab.com/gitlab-org/gitlab/tree/master/lib/gitlab/ci/templates](https://gitlab.com/gitlab-org/gitlab/tree/master/lib/gitlab/ci/templates)提交合并请求. - -### Adding templates to your GitLab installation[](#adding-templates-to-your-gitlab-installation-premium-only "Permalink") - -您可以将自定义示例和模板添加到自我管理的 GitLab 实例. 您的 GitLab 管理员可以[指定一个实例模板存储库](../../user/admin_area/settings/instance_template_repository.html) ,其中包含特定于您组织的示例和模板. - -## Other resources[](#other-resources "Permalink") - -本节提供更多资源,以帮助您熟悉 GitLab CI / CD 的各种用法. 请注意,较早的文章和视频可能无法反映最新的 GitLab 版本的状态. - -### CI/CD in the cloud[](#cicd-in-the-cloud "Permalink") - -有关为基于云的环境设置 GitLab CI / CD 的示例,请参见: - -* [How to set up multi-account AWS SAM deployments with GitLab CI](https://about.gitlab.com/blog/2019/02/04/multi-account-aws-sam-deployments-with-gitlab-ci/) -* [Automating Kubernetes Deployments with GitLab CI/CD](https://www.youtube.com/watch?v=wEDRfAz6_Uw) -* [How to autoscale continuous deployment with GitLab Runner on DigitalOcean](https://about.gitlab.com/blog/2018/06/19/autoscale-continuous-deployment-gitlab-runner-digital-ocean/) -* [How to create a CI/CD pipeline with Auto Deploy to Kubernetes using GitLab and Helm](https://about.gitlab.com/blog/2017/09/21/how-to-create-ci-cd-pipeline-with-autodeploy-to-kubernetes-using-gitlab-and-helm/) -* [Demo - Deploying from GitLab to OpenShift Container Cluster](https://youtu.be/EwbhA53Jpp4) - -另请参阅以下视频概述: - -* [Kubernetes, GitLab, and Cloud Native](https://www.youtube.com/watch?v=d-9awBxEbvQ). -* [Deploying to IBM Cloud with GitLab CI/CD](https://www.youtube.com/watch?v=6ZF4vgKMd-g). - -### Customer stories[](#customer-stories "Permalink") - -有关使用 GitLab CI / CD 的一些客户体验,请参阅: - -* [How Verizon Connect reduced datacenter deploys from 30 days to under 8 hours with GitLab](https://about.gitlab.com/blog/2019/02/14/verizon-customer-story/) -* [How Wag! cut their release process from 40 minutes to just 6](https://about.gitlab.com/blog/2019/01/16/wag-labs-blog-post/) -* [How Jaguar Land Rover embraced CI to speed up their software lifecycle](https://about.gitlab.com/blog/2018/07/23/chris-hill-devops-enterprise-summit-talk/) - -### Getting started[](#getting-started "Permalink") - -有关帮助您入门的一些示例,请参阅: - -* [GitLab CI/CD’s 2018 highlights](https://about.gitlab.com/blog/2019/01/21/gitlab-ci-cd-features-improvements/) -* [A beginner’s guide to continuous integration](https://about.gitlab.com/blog/2018/01/22/a-beginners-guide-to-continuous-integration/) - -### Implementing GitLab CI/CD[](#implementing-gitlab-cicd "Permalink") - -有关其他已实施 GitLab CI / CD 的示例,请参见: - -* [How to streamline interactions between multiple repositories with multi-project pipelines](https://about.gitlab.com/blog/2018/10/31/use-multiproject-pipelines-with-gitlab-cicd/) -* [How we used GitLab CI to build GitLab faster](https://about.gitlab.com/blog/2018/05/02/using-gitlab-ci-to-build-gitlab-faster/) -* [Test all the things in GitLab CI with Docker by example](https://about.gitlab.com/blog/2018/02/05/test-all-the-things-gitlab-ci-docker-examples/) -* [A Craftsman looks at continuous integration](https://about.gitlab.com/blog/2018/01/17/craftsman-looks-at-continuous-integration/) -* [Go tools and GitLab: How to do continuous integration like a boss](https://about.gitlab.com/blog/2017/11/27/go-tools-and-gitlab-how-to-do-continuous-integration-like-a-boss/) -* [GitBot – automating boring Git operations with CI](https://about.gitlab.com/blog/2017/11/02/automating-boring-git-operations-gitlab-ci/) -* [How to use GitLab CI for Vue.js](https://about.gitlab.com/blog/2017/09/12/vuejs-app-gitlab/) -* Video: [GitLab CI/CD Deep Dive](https://youtu.be/pBe4t1CD8Fc?t=195) -* [Dockerizing GitLab Review Apps](https://about.gitlab.com/blog/2017/07/11/dockerizing-review-apps/) -* [Fast and natural continuous integration with GitLab CI](https://about.gitlab.com/blog/2017/05/22/fast-and-natural-continuous-integration-with-gitlab-ci/) -* [Demo: CI/CD with GitLab in action](https://about.gitlab.com/blog/2017/03/13/ci-cd-demo/) - -### Migrating to GitLab from third-party CI tools[](#migrating-to-gitlab-from-third-party-ci-tools "Permalink") - -* [Migrating from Jenkins to GitLab](https://youtu.be/RlEVGOpYF5Y) - -### Integrating GitLab CI/CD with other systems[](#integrating-gitlab-cicd-with-other-systems "Permalink") - -要查看如何将 GitLab CI / CD 与第三方系统集成,请参阅: - -* [Streamline and shorten error remediation with Sentry’s new GitLab integration](https://about.gitlab.com/blog/2019/01/25/sentry-integration-blog-post/) -* [How to simplify your smart home configuration with GitLab CI/CD](https://about.gitlab.com/blog/2018/08/02/using-the-gitlab-ci-slash-cd-for-smart-home-configuration-management/) -* [Demo: GitLab + Jira + Jenkins](https://about.gitlab.com/blog/2018/07/30/gitlab-workflow-with-jira-jenkins/) -* [Introducing Auto Breakfast from GitLab (sort of)](https://about.gitlab.com/blog/2018/06/29/introducing-auto-breakfast-from-gitlab/) - -### Mobile development[](#mobile-development "Permalink") - -有关使用 GitLab CI / CD 进行移动应用程序开发的帮助,请参阅: - -* [How to publish Android apps to the Google Play Store with GitLab and fastlane](https://about.gitlab.com/blog/2019/01/28/android-publishing-with-gitlab-and-fastlane/) -* [Setting up GitLab CI for Android projects](https://about.gitlab.com/blog/2018/10/24/setting-up-gitlab-ci-for-android-projects/) -* [Working with YAML in GitLab CI from the Android perspective](https://about.gitlab.com/blog/2017/11/20/working-with-yaml-gitlab-ci-android/) -* [How to use GitLab CI and MacStadium to build your macOS or iOS projects](https://about.gitlab.com/blog/2017/05/15/how-to-use-macstadium-and-gitlab-ci-to-build-your-macos-or-ios-projects/) -* [Setting up GitLab CI for iOS projects](https://about.gitlab.com/blog/2016/03/10/setting-up-gitlab-ci-for-ios-projects/) \ No newline at end of file diff --git a/docs/227.md b/docs/227.md deleted file mode 100644 index be771ba..0000000 --- a/docs/227.md +++ /dev/null @@ -1 +0,0 @@ -> 原文:[https://docs.gitlab.com/ee/ci/examples/browser_performance.html](https://docs.gitlab.com/ee/ci/examples/browser_performance.html) \ No newline at end of file diff --git a/docs/228.md b/docs/228.md deleted file mode 100644 index 04e39d5..0000000 --- a/docs/228.md +++ /dev/null @@ -1,43 +0,0 @@ -# Test a Clojure application with GitLab CI/CD - -> 原文:[https://docs.gitlab.com/ee/ci/examples/test-clojure-application.html](https://docs.gitlab.com/ee/ci/examples/test-clojure-application.html) - -* [Configure the project](#configure-the-project) - -**注意:**本文档最近未更新,可能已过期. 有关最新文档,请参见[GitLab CI / CD](../README.html)页面和《 [GitLab CI / CD 管道配置参考》](../yaml/README.html) . - -# Test a Clojure application with GitLab CI/CD[](#test-a-clojure-application-with-gitlab-cicd "Permalink") - -本示例将指导您如何在 Clojure 应用程序上运行测试. - -您可以查看或派生[示例源,](https://gitlab.com/dzaporozhets/clojure-web-application)并查看其过去的[CI 作业](https://gitlab.com/dzaporozhets/clojure-web-application/builds?scope=finished)的日志. - -## Configure the project[](#configure-the-project "Permalink") - -这是此项目的`.gitlab-ci.yml`文件的外观: - -``` -variables: - POSTGRES_DB: sample-test - DATABASE_URL: "postgresql://postgres@postgres:5432/sample-test" - -before_script: - - apt-get update -y - - apt-get install default-jre postgresql-client -y - - wget https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein - - chmod a+x lein - - export LEIN_ROOT=1 - - PATH=$PATH:. - - lein deps - - lein migratus migrate - -test: - script: - - lein test -``` - -在`before_script` ,我们安装了 JRE 和[Leiningen](https://leiningen.org/) . - -该示例项目使用[migratus](https://github.com/yogthos/migratus)库管理数据库迁移,并且在`before_script`的最后一步中添加了数据库迁移. - -您可以使用`gitlab.com`可用的公共`gitlab.com`程序来使用此配置测试您的应用程序. \ No newline at end of file diff --git a/docs/229.md b/docs/229.md deleted file mode 100644 index 10f1daf..0000000 --- a/docs/229.md +++ /dev/null @@ -1,115 +0,0 @@ -# Using Dpl as deployment tool - -> 原文:[https://docs.gitlab.com/ee/ci/examples/deployment/README.html](https://docs.gitlab.com/ee/ci/examples/deployment/README.html) - -* [Requirements](#requirements) -* [Basic usage](#basic-usage) -* [Using Dpl with Docker](#using-dpl-with-docker) -* [Usage in staging and production](#usage-in-staging-and-production) -* [Storing API keys](#storing-api-keys) - -# Using Dpl as deployment tool[](#using-dpl-as-deployment-tool "Permalink") - -[Dpl](https://github.com/travis-ci/dpl) (发音为 DPL)是由 Travis CI 开发和使用的,用于连续部署的部署工具,但也可以与 GitLab CI / CD 一起使用. - -Dpl 可用于部署到任何[受支持的提供程序](https://github.com/travis-ci/dpl#supported-providers) . - -## Requirements[](#requirements "Permalink") - -要使用 Dpl,您至少需要具备安装 gem 的 Ruby 1.9.3. - -## Basic usage[](#basic-usage "Permalink") - -可以将 Dpl 安装在具有以下条件的任何计算机上: - -``` -gem install dpl -``` - -这使您可以从本地终端测试所有命令,而不必在 CI 服务器上进行测试. - -如果您没有安装 Ruby,则可以在兼容 Debian 的 Linux 上执行以下操作: - -``` -apt-get update -apt-get install ruby-dev -``` - -Dpl 为大量服务提供支持,包括:Heroku,Cloud Foundry,AWS / S3 等. 要使用它,只需定义提供者和提供者所需的任何其他参数. - -例如,如果要使用它将应用程序部署到 Heroku,则需要将`heroku`指定为提供者,并指定`api-key`和`app` . 所有可能的参数都可以在这里找到: [https](https://github.com/travis-ci/dpl#heroku-api) : [//github.com/travis-ci/dpl#heroku-api](https://github.com/travis-ci/dpl#heroku-api) . - -``` -staging: - stage: deploy - script: - - gem install dpl - - dpl --provider=heroku --app=my-app-staging --api-key=$HEROKU_STAGING_API_KEY -``` - -在上面的示例中,我们使用 Dpl 通过存储在`HEROKU_STAGING_API_KEY`安全变量中的 API 密钥将`my-app-staging`部署到 Heroku 服务器. - -要使用其他提供程序,请查看一整列[受支持的提供程序](https://github.com/travis-ci/dpl#supported-providers) . - -## Using Dpl with Docker[](#using-dpl-with-docker "Permalink") - -在大多数情况下,您将配置[GitLab Runner](https://docs.gitlab.com/runner/)以使用服务器的 Shell 命令. 这意味着所有命令都在本地用户的上下文中运行(例如`gitlab_runner`或`gitlab_ci_multi_runner` ). 这也意味着最有可能在 Docker 容器中没有安装 Ruby 运行时. 您将必须安装它: - -``` -staging: - stage: deploy - script: - - apt-get update -yq - - apt-get install -y ruby-dev - - gem install dpl - - dpl --provider=heroku --app=my-app-staging --api-key=$HEROKU_STAGING_API_KEY - only: - - master -``` - -第一行`apt-get update -yq`更新可用软件包的列表,第二行`apt-get install -y ruby-dev`在系统上安装 Ruby 运行时. 上面的示例对所有与 Debian 兼容的系统均有效. - -## Usage in staging and production[](#usage-in-staging-and-production "Permalink") - -在开发工作流程中具有暂存(开发)和生产环境是很常见的 - -让我们考虑以下示例:我们希望将`master`分支部署到`staging`并将所有标签部署到`production`环境. 该设置的最终`.gitlab-ci.yml`如下所示: - -``` -staging: - stage: deploy - script: - - gem install dpl - - dpl --provider=heroku --app=my-app-staging --api-key=$HEROKU_STAGING_API_KEY - only: - - master - -production: - stage: deploy - script: - - gem install dpl - - dpl --provider=heroku --app=my-app-production --api-key=$HEROKU_PRODUCTION_API_KEY - only: - - tags -``` - -我们创建了两个在不同事件上执行的部署作业: - -1. `staging` is executed for all commits that were pushed to `master` branch, -2. 对所有推送的标签执行`production` . - -我们还使用两个安全变量: - -1. `HEROKU_STAGING_API_KEY` -Heroku API 密钥,用于部署登台应用程序, -2. `HEROKU_PRODUCTION_API_KEY` -Heroku API 密钥,用于部署生产应用程序. - -## Storing API keys[](#storing-api-keys "Permalink") - -可以通过在项目的**设置➔CI / CD➔变量中**添加安全**变量** . 项目设置中定义的变量与构建脚本一起发送到 Runner. 安全变量存储在存储库之外. 切勿将机密存储在项目的`.gitlab-ci.yml` . 将秘密的值隐藏在作业日志中也很重要. - -您可以通过使用`$` (在非 Windows 运行程序上)或`%` (对于 Windows 批处理运行程序)前缀名称来访问添加的变量: - -1. `$VARIABLE`用于非 Windows 运行器 -2. `%VARIABLE%` -用于 Windows 批处理运行器 - -阅读有关[CI 变量的](../../variables/README.html)更多信息. \ No newline at end of file diff --git a/docs/230.md b/docs/230.md deleted file mode 100644 index c89200a..0000000 --- a/docs/230.md +++ /dev/null @@ -1,326 +0,0 @@ -# Testing a Phoenix application with GitLab CI/CD - -> 原文:[https://docs.gitlab.com/ee/ci/examples/test_phoenix_app_with_gitlab_ci_cd/](https://docs.gitlab.com/ee/ci/examples/test_phoenix_app_with_gitlab_ci_cd/) - -* [Introduction](#introduction) - * [What is Phoenix?](#what-is-phoenix) - * [What is Elixir?](#what-is-elixir) -* [Requirements](#requirements) - * [Create a new Phoenix project](#create-a-new-phoenix-project) - * [Initialize the PostgreSQL database](#initialize-the-postgresql-database) - * [Start Phoenix server](#start-phoenix-server) -* [Introducing GitLab CI/CD](#introducing-gitlab-cicd) -* [Adjusting Phoenix configuration](#adjusting-phoenix-configuration) -* [Testing](#testing) -* [Configuring CI/CD Pipeline](#configuring-cicd-pipeline) -* [Watching the build](#watching-the-build) -* [Conclusion](#conclusion) -* [References](#references) - -# Testing a Phoenix application with GitLab CI/CD[](#testing-a-phoenix-application-with-gitlab-cicd "Permalink") - -[Phoenix](https://www.phoenixframework.org/)是用[Elixir](https://s0elixir-lang0org.icopy.site)编写的 Web 开发框架, [Elixir](https://s0elixir-lang0org.icopy.site)是在[Erlang VM](https://www.erlang.org)上运行的旨在提高生产力和可维护性的功能性语言. Erlang VM 确实非常快,并且可以处理大量同时用户. - -这就是为什么我们今天听到太多有关 Phoenix 的原因. - -在本教程中,我们将教您如何设置[GitLab CI / CD](../../README.html)来构建和测试 Phoenix 应用程序. - -本教程假定您知道如何创建 Phoenix 应用程序,在本地运行测试以及如何使用 Git 和 GitLab UI. - -## Introduction[](#introduction "Permalink") - -### What is Phoenix?[](#what-is-phoenix "Permalink") - -[Phoenix](https://www.phoenixframework.org/) is a web development framework written in [Elixir](https://s0elixir-lang0org.icopy.site). It’s useful for building fast, reliable, and high-performance applications, as it uses [Erlang VM](https://www.erlang.org). - -许多组件和概念类似于 Ruby on Rails 或 Python 的 Django. 高开发人员生产率和高应用程序性能只是学习如何使用它的几个优点. 使用 MVC 模式,它被设计为模块化和灵活的. 易于维护不断增长的应用程序是一个加号. - -Phoenix 可以在任何支持 Erlang 的操作系统上运行: - -* Ubuntu -* CentOS -* Mac OS X -* Debian -* Windows -* Fedora -* Raspberry Pi 操作系统 - -查看[Phoenix 学习指南](https://s0hexdocs0pm.icopy.site/phoenix/overview.html)以获取更多信息. - -### What is Elixir?[](#what-is-elixir "Permalink") - -[Elixir](https://s0elixir-lang0org.icopy.site)是一种动态的,功能性的语言,旨在轻松地使用当今所有成熟的 Erlang(已有 30 年的历史!). 它与 Ruby 有相似之处,特别是在语法上,因此 Ruby 开发人员对 Elixir 的快速增长感到非常兴奋. 一个全栈的 Ruby 开发人员可以在短短几周内学会如何使用 Elixir 和 Phoenix. - -在药剂我们有一个叫做命令`mix` ,这是一个帮助创建项目,测试,运行迁移和[更多](https://s0elixir-lang0org.icopy.site/getting-started/mix-otp/introduction-to-mix) . 我们将在本教程的后面部分中使用它. - -查看[Elixir 文档](https://s0elixir-lang0org.icopy.site/getting-started/introduction)以获取更多信息. - -## Requirements[](#requirements "Permalink") - -要遵循本教程,您需要先安装: - -* Elixir [installation instructions](https://s0elixir-lang0org.icopy.site/install) -* Phoenix Framework [安装说明](https://s0hexdocs0pm.icopy.site/phoenix/installation.html) -* PostgreSQL(如果需要使用 MySQL 服务器,请查看[Phoenix 说明](https://s0hexdocs0pm.icopy.site/phoenix/ecto.html) ) - -### Create a new Phoenix project[](#create-a-new-phoenix-project "Permalink") - -打开终端,然后转到要创建项目的目录. 您无需为项目的文件创建一个空目录,因为`mix`命令将为我们完成此操作. - -当我们调用`mix`命令时,我们将传递两个参数: - -* 我们希望它运行的任务: `phoenix.new` -* 参数`phoenix.new`需要,这是新项目的名称. 在这种情况下,我们称其为`hello_gitlab_ci` ,但您可以自由设置自己的名称: - -``` -mix phoenix.new hello_gitlab_ci -``` - -当询问时,请回答`Y`以获取并安装依赖项. - -如果一切顺利,您将获得如下输出: - -[![mix phoenix.new](img/28300ad671ab6b5aec8525cb2a7af157.png)](img/mix-phoenix-new.png) - -现在,我们的项目位于目录中,该目录与传递给`mix`命令的名称相同,例如`~/GitLab/hello_gitlab_ci` . 如果查看目录,我们将看到 Phoenix 文件和运行所需的依赖项. - -### Initialize the PostgreSQL database[](#initialize-the-postgresql-database "Permalink") - -By default, Phoenix requires a PostgreSQL database to store whatever we need to store in our app. In this case, we’ll only create an empty database. - -首先,我们需要导航到我们最近创建的项目的目录,然后再次执行`mix` . 这次, `mix`将收到参数`ecto.create` ,这是创建新数据库的任务. [Ecto](https://s0hexdocs0pm.icopy.site/ecto/Ecto.html)是 Elixir 的数据库包装器. - -创建项目后第一次运行`mix`时,它将把我们的文件编译为字节码,然后由 Erlang VM 解释. 在接下来的时间里,它只会编译我们的更改. - -运行以下命令以创建我们的空数据库: - -``` -cd hello_gitlab_ci -mix ecto.create -``` - -我们希望在命令末尾看到以下输出: - -``` -Generated hello_gitlab_ci app -The database for HelloGitlabCi.Repo has been created -``` - -> **注意:** Phoenix 假设我们的 PostgreSQL 数据库将具有一个具有正确权限的`postgres`用户帐户和一个`postgres`密码. 如果不是您的情况,请查看[Ecto 的说明](https://s0hexdocs0pm.icopy.site/ecto/Ecto.html) . - -### Start Phoenix server[](#start-phoenix-server "Permalink") - -现在,该看看我们到目前为止所做的一切是否进展顺利. 我们将再次使用`phoenix.server`参数调用`mix` ,它将启动 Phoenix 的 HTTP Server. - -``` -mix phoenix.server -``` - -这将是此命令的输出: - -``` -[info] Running HelloGitlabCi.Endpoint with Cowboy using http://localhost:4000 -23 May 11:44:35 - info: compiling -23 May 11:44:37 - info: compiled 6 files into 2 files, copied 3 in 9.8 sec -``` - -现在,我们的应用程序在本地运行. 我们可以直接在浏览器中预览它. 让我们打开[`localhost:4000`](http://localhost:4000)来查看我们的 Phoenix Framework 欢迎页面. 如果链接不起作用,请改为打开[`127.0.0.1:4000`](http://127.0.0.1:4000) ,然后[`127.0.0.1:4000`](http://127.0.0.1:4000)操作系统配置为将`localhost`指向`127.0.0.1` . - -[![mix phoenix.server](img/13c910771ce7fad76e82ba7b8bdd440b.png)](img/mix-phoenix-server.png) - -太好了,现在我们有一个本地 Phoenix Server 运行我们的应用程序. - -在本地,我们的应用程序在[`iex`](https://s0elixir-lang0org.icopy.site/getting-started/introduction.html)会话中运行,该会话代表 Interactive Elixir. 在这种交互模式下,我们可以键入任何 Elixir 表达式并获取其结果. 要退出`iex` ,我们需要按两次`Ctrl+C` 因此,当我们需要停止 Phoenix 服务器时,我们必须`Ctrl+C`两次`Ctrl+C` - -## Introducing GitLab CI/CD[](#introducing-gitlab-cicd "Permalink") - -借助 GitLab,我们可以在一个平台上管理开发工作流程,提高生产力,跟踪问题,执行代码审查等. 使用 GitLab CI / CD,我们可以提高工作效率,因为每次我们或我们的同事发布任何代码时,GitLab CI / CD 都会构建并测试更改,并实时告诉我们是否有任何问题. - -当然,当我们的应用程序开始增长时,我们将需要更多的开发人员在同一个项目上工作,并且这种构建和测试过程很容易在没有适当管理的情况下变得一团糟. 这也是为什么 GitLab CI / CD 对我们的应用如此重要的原因. 每当有人将其代码推送到 GitLab 时,我们都会很快知道他们的更改是否破坏了某些内容. 我们不需要停止所做的一切工作,就可以手动进行测试,而无需在团队中进行任何更改. - -让我们在实践中看一下. - -## Adjusting Phoenix configuration[](#adjusting-phoenix-configuration "Permalink") - -现在,我们需要在配置 GitLab CI / CD 之前调整 Phoenix 配置. Phoenix 项目中有一个目录( `config` ),其中包含可以运行的每个环境的配置文件. 由于我们将在单个环境中工作,因此我们将仅编辑测试配置文件( `test.exs` ). - -但是,为什么我们需要调整配置? 好吧,GitLab CI / CD 使用 Docker 技术在一个称为[Runner 的](../../runners/README.html)隔离虚拟机中构建和测试我们的代码. 在此 Runner 中,GitLab CI / CD 可以访问 Phoenix 应用程序需要运行的所有内容,就像在`localhost` ,但是我们必须告诉 GitLab CI / CD 使用系统变量在哪里创建和找到该数据库. 这样,GitLab CI / CD 将在 Runner 内部创建测试数据库,就像在`localhost`运行 Phoenix 时一样. - -* 在您喜欢的代码编辑器上打开`hello_gitlab_ci/config/test.exs` -* 转到" **配置数据库**会话"并编辑该块以包含`System.get_env` : - - ``` - # Configure your database - config :hello_gitlab_ci, HelloGitlabCi.Repo, - adapter: Ecto.Adapters.Postgres, - username: System.get_env("POSTGRES_USER") || "postgres", - password: System.get_env("POSTGRES_PASSWORD") || "postgres", - database: System.get_env("POSTGRES_DB") || "hello_gitlab_ci_test", - hostname: System.get_env("POSTGRES_HOST") || "localhost", - pool: Ecto.Adapters.SQL.Sandbox - ``` - - 稍后我们将需要这些系统变量. - -* 在`hello_gitlab_ci/priv/repo/migrations`创建一个名为`.gitkeep`的空文件 - - 由于我们的项目仍然很新鲜,因此我们的数据库上没有任何数据,因此`migrations`目录将为空. 如果没有`.gitkeep` ,Git 将不会上传该空目录,并且在 GitLab 上运行测试时会出现错误. - - > **注意:**如果我们通过 GitLab UI 添加文件夹,则 GitLab 本身会将`.gitkeep`添加到该新目录中. - -现在,让我们运行一个本地测试,看看我们所做的一切是否都没有破坏任何东西. - -## Testing[](#testing "Permalink") - -之前,当我们创建项目时,我们运行了`mix phoenix.new` . 该任务创建了 Phoenix 应用程序所需的所有内容,包括一些进入`hello_gitlab_ci/test`目录的单元测试. - -让我们运行带有`mix`的新任务来为我们运行这些测试. 这次,预期的参数是`test` . 我们可以添加`--trace`参数以进行调试. - -在您的终端中,导航到目录`hello_gitlab_ci`并运行: - -``` -mix test -``` - -我们的预期结果是: - -``` -.... - -Finished in 0.7 seconds -4 tests, 0 failures - -Randomized with seed 610000 -``` - -我们的测试成功了. 是时候将我们的文件推送到 GitLab 了. - -## Configuring CI/CD Pipeline[](#configuring-cicd-pipeline "Permalink") - -第一步是在我们项目的`hello_gitlab_ci`目录中创建一个名为`.gitlab-ci.yml`的新文件. - -* 最简单的方法是单击项目主页上的" **设置 CI / CD** ": - - [![Set up CI](img/8a05f3552d23f56607411f613a5ceb05.png)](img/set_up_ci_v12_6.png) - -* 在下一个屏幕上,我们可以使用已包含 Elixir 测试的模板. 单击" **应用模板",**然后选择**Elixir** : - - [![Select template](img/b96e754d4dd8ba06065aac231327e160.png)](img/select_template_v12_6.png) - - 该模板文件告诉 GitLab CI / CD 每次新的提交时我们希望做什么. 但是,我们必须对其稍作调整才能运行 Phoenix 应用程序. - -* The first line tells GitLab what Docker image will be used. - - 还记得我们了解 Runners 时,GitLab CI / CD 在其中构建和测试我们的应用程序的隔离虚拟机吗? 该虚拟机必须具有所有依赖关系才能运行我们的应用程序. 这是需要 Docker 映像的地方. 正确的图像将为我们提供整个系统. - - 当我们专注于测试(而不是部署)时,可以使用[elixir:latest](https://hub.docker.com/_/elixir) Docker 映像,该映像已经具有用于运行 Phoenix 测试的依赖项,例如 Elixir 和 Erlang: - - ``` - image: elixir:latest - ``` - -* 我们将仅使用`postgres` ,因此我们可以从`services`部分删除`mysql`和`redis`行: - - ``` - services: - - postgres:latest - ``` - -* 现在,我们将在`before_script`部分之前创建一个名为`variables`的新部分: - - ``` - variables: - POSTGRES_DB: hello_gitlab_ci_test - POSTGRES_HOST: postgres - POSTGRES_USER: postgres - POSTGRES_PASSWORD: "postgres" - MIX_ENV: "test" - ``` - - 上面,我们设置了 GitLab CI / CD 的值以验证到 PostgreSQL,就像我们之前在`config/test.exs`那样. `postgres`服务使用`POSTGRES_USER`和`POSTGRES_PASSWORD`值来创建具有这些凭据的用户. - -* 在`before_script`部分中,我们将添加一些命令来为测试做准备: - - ``` - before_script: - - mix local.rebar --force - - mix local.hex --force - - mix deps.get --only test - - mix ecto.create - - mix ecto.migrate - ``` - - 这样可以确保在尝试获取运行测试所需的依赖项之前,都同时安装了[rebar3](https://www.rebar3.org)和[hex](https://s0hex0pm.icopy.site) . 接下来,使用`ecto`创建并迁移`postgres` db,以确保它是最新的. - -* 最后,我们将`mix`部分保持不变. - -让我们看一下更改后的更新文件: - -``` -image: elixir:latest - -services: - - postgres:latest - -variables: - POSTGRES_DB: hello_gitlab_ci_test - POSTGRES_HOST: postgres - POSTGRES_USER: postgres - POSTGRES_PASSWORD: "postgres" - MIX_ENV: "test" - -before_script: - - mix local.rebar --force - - mix local.hex --force - - mix deps.get --only test - - mix ecto.create - - mix ecto.migrate - -mix: - script: - - mix test -``` - -为了安全起见,在将此文件提交到 GitLab 之前,我们可以检查是否有语法错误. 复制`.gitlab-ci.yml`的内容并将其粘贴到[GitLab CI / CD Lint 工具上](https://gitlab.com/ci/lint) . 请注意,此链接仅对登录用户有效. - -## Watching the build[](#watching-the-build "Permalink") - -我不了解您,但是我喜欢看黑屏上充满了编译输出. 这样,我可以感觉到我所做的正确工作带来的快乐. 在`localhost` ,很容易观看我们的构建,但是在 GitLab 上,这可能吗? 是! - -让我们去**管道** ,看看 GitLab 做这项工作. 只需单击**管道**以查找实际正在运行的构建作业. - -[![Pipelines](img/d7b0c4003d725d7125fdfb9c24aae17e.png)](img/pipelines.png) - -单击内部版本的 ID 观看整个过程. 如果一切都按预期进行,我们可以等待**构建成功**完成! :) - -``` -$ mix test -.... - -Finished in 0.3 seconds -4 tests, 0 failures - -Randomized with seed 206909 -Build succeeded -``` - -如果我们在 GitLab UI 上查看项目的主页,我们可以看到 GitLab CI / CD 进行的最后构建的状态. - -是时候向世界展示我们的绿色建筑徽章! 导航到项目的**"设置">" CI / CD",**然后展开" **常规管道设置"** . 向下滚动到**管道状态,**并复制您的徽章的降价代码. 将其粘贴到`README.md`文件的顶部,以使项目外的人员可以看到我们的最新代码是否正在正确运行. - -完成此版本后,GitLab 将启动另一个构建并显示一个**运行**徽标. 可以预期的是,毕竟我们只是配置了 GitLab CI / CD 来完成每次推送! 但是您可能会想"为什么要针对诸如 README.md 之类的简单操作运行构建和测试?" 这是一个很好的问题. 对于不影响您的应用程序的更改,您可以添加关键字[`[ci skip]`](../../yaml/README.html#skip-pipeline)来提交消息,并且与该提交相关的内部版本将被跳过. - -最后,我们终于获得了绿色环保的成功徽章! 通过将结果输出到 README 文件中,它可以向登录项目页面的任何人显示您的代码是最新的并且可以正常工作. - -## Conclusion[](#conclusion "Permalink") - -当我们的应用程序不断增长且有许多开发人员在处理该应用程序时,或者当社区正在监视和贡献一个开源项目时,使我们的代码永久运行非常重要. GitLab CI / CD 是节省时间的强大工具,可帮助我们维护代码的组织和工作. - -正如我们在这篇文章中所看到的,GitLab CI / CD 确实很容易配置和使用. 我们还有[许多其他理由](https://about.gitlab.com/blog/2015/02/03/7-reasons-why-you-should-be-using-ci/)继续使用 GitLab CI / CD. 给我们团队带来的好处是巨大的! - -## References[](#references "Permalink") - -* [GitLab CI/CD introductory guide](https://about.gitlab.com/blog/2015/12/14/getting-started-with-gitlab-and-gitlab-ci/) -* [GitLab CI/CD full Documentation](../../README.html) -* [GitLab Runners documentation](../../runners/README.html) -* [Using Docker images documentation](../../docker/using_docker_images.html) \ No newline at end of file diff --git a/docs/231.md b/docs/231.md deleted file mode 100644 index 6787ab5..0000000 --- a/docs/231.md +++ /dev/null @@ -1,168 +0,0 @@ -# End-to-end testing with GitLab CI/CD and WebdriverIO - -> 原文:[https://docs.gitlab.com/ee/ci/examples/end_to_end_testing_webdriverio/](https://docs.gitlab.com/ee/ci/examples/end_to_end_testing_webdriverio/) - -* [What to test](#what-to-test) -* [Selenium and WebdriverIO](#selenium-and-webdriverio) -* [Writing tests](#writing-tests) -* [Running locally](#running-locally) -* [Configuring GitLab CI/CD](#configuring-gitlab-cicd) -* [What’s next](#whats-next) - -# End-to-end testing with GitLab CI/CD and WebdriverIO[](#end-to-end-testing-with-gitlab-cicd-and-webdriverio "Permalink") - -[Review App](../../review_apps/index.html)很棒:对于每个合并请求(或分支),都可以将新代码复制并部署到新的类似于生产的实时环境中,从而非常省力地评估更改的影响. 因此,当我们使用像[Dependencies.io](https://www.dependencies.io/)这样的依赖项管理器时,它可以提交具有更新的依赖项的合并请求,并且很明显,仍然可以正确地构建和部署应用程序. 毕竟,您可以*看到*它正在运行! - -![dependencies.io](img/423fb353db83bd90502f2f029c398e43.png) - -但是,查看新部署的代码以检查其外观和行为是否仍符合预期是重复的手动工作,这意味着它是自动化的主要候选对象. 这就是自动[端到端测试的目的](https://martinfowler.com/bliki/BroadStackTest.html) :让计算机在几种简单的场景下运行,这些场景要求您的应用程序的所有层(从前[端到数据库)](https://martinfowler.com/bliki/BroadStackTest.html)都具有适当的功能. - -在本文中,我们将讨论如何编写这样的端到端测试,以及如何设置 GitLab CI / CD 以逐分支的基础针对新代码自动运行这些测试. 在本文的范围内,我们将引导您完成设置 GitLab CI / CD 的过程,以使用 WebdriverIO 端对端测试基于 JavaScript 的应用程序,但是一般策略应延续到其他语言. 我们假设您熟悉 GitLab, [GitLab CI / CD](../../README.html) , [Review Apps](../../review_apps/index.html) ,并在本地运行您的应用程序,例如,在`localhost:8000` . - -## What to test[](#what-to-test "Permalink") - -在广泛使用的[测试金字塔策略中](https://martinfowler.com/bliki/TestPyramid.html) ,端到端测试的行为更像是一种保护措施: [大多数代码应包含在单元测试中](https://vincenttunru.com/100-percent-coverage/) ,以使您可以轻松地确定问题的根源. 相反,您可能希望将[端到端测试的数量限制](https://testing.googleblog.com/2015/04/just-say-no-to-more-end-to-end-tests.html)为刚好足以使您确信部署按预期进行,基础结构已启动并正在运行以及代码单元可以很好地协同工作. - -## Selenium and WebdriverIO[](#selenium-and-webdriverio "Permalink") - -[Selenium](https://s0www0selenium0dev.icopy.site/)是一款可以控制 Web 浏览器的软件,例如,使它们能够访问特定的 URL 或与页面上的元素进行交互. 它可以通过多种编程语言进行编程控制. 在本文中,我们将使用[WebdriverIO](https://webdriver.io/) JavaScript 绑定,但是一般概念应该可以很好地延续到[Selenium 支持的其他编程语言中](https://s0www0selenium0dev.icopy.site/documentation/en/legacy_docs/selenium_rc/) . - -## Writing tests[](#writing-tests "Permalink") - -您可以使用[WebdriverIO 支持的多个测试框架](https://webdriver.io/guide/testrunner/frameworks.html)编写测试. 我们将在这里使用[茉莉花](https://jasmine.github.io/) : - -``` -describe('A visitor without account', function(){ - it('should be able to navigate to the homepage from the 404 page', function(){ - browser.url('/page-that-does-not-exist'); - - expect(browser.getUrl()).toMatch('page-that-does-not-exist'); - - browser.element('.content a[href="/"]').click(); - - expect(browser.getUrl()).not.toMatch('page-that-does-not-exist'); - }); -}); -``` - -WebdriverIO 提供了`describe` , `it`和`browser`的功能. 让我们一一分解. - -函数`describe`允许您对相关测试进行分组. 例如,如果您想对多个测试运行相同的初始化命令(使用[`beforeEach`](https://jasmine.github.io/api/2.9/global.html#beforeEach) ),例如确保您已登录,则这将很有用. - -`it`定义了单个测试的功能. - -[`browser`对象](https://webdriver.io/guide/testrunner/browserobject.html)是 WebdriverIO 的特长. 它提供了大多数[WebdriverIO API 方法](https://webdriver.io/api.html) ,这些[方法](https://webdriver.io/api.html)是引导浏览器的关键. 在这种情况下,我们可以使用[`browser.url`](https://webdriver.io/api/protocol/url.html)来访问`/page-that-does-not-exist`以访问 404 页面. 然后,我们可以使用[`browser.getUrl`](https://webdriver.io/api/property/getUrl.html)验证当前页面确实在我们指定的位置. 要与页面进行交互,我们只需将 CSS 选择器传递给[`browser.element`](https://webdriver.io/api/protocol/element.html)即可访问页面上的元素并与其进行交互-例如,单击返回首页的链接. - -上面显示的简单测试如果通过则可以给我们很大的信心:我们知道我们的部署成功了,这些元素在页面上可见,并且实际的浏览器可以与它交互,并且路由按预期工作. 所有这些仅用免费的空格就可以在 10 行中完成! 加上后续的单元测试和成功完成的管道,您可以完全确信,依赖项升级不会破坏任何内容,甚至无需查看您的网站. - -## Running locally[](#running-locally "Permalink") - -稍后我们将在 CI / CD 中运行上述测试. 但是,在编写测试时,如果您不必等待管道成功以检查它们是否按照您期望的方式工作,那么它会有所帮助. 换句话说,让它在本地运行. - -确保您的应用程序在本地运行. 如果使用 Webpack,则可以使用[Webpack Dev Server WebdriverIO 插件](https://s0www0npmjs0com.icopy.site/package/wdio-webpack-dev-server-service)在执行测试之前自动启动开发服务器. - -The WebdriverIO documentation has [an overview of all configuration options](https://webdriver.io/guide/getstarted/configuration.html), but the easiest way to get started is to start with [WebdriverIO’s default configuration](https://webdriver.io/guide/testrunner/configurationfile.html), which provides an overview of all available options. The two options that are going to be most relevant now are the `specs` option, which is an array of paths to your tests, and the `baseUrl` option, which points to where your app is running. And finally, we will need to tell WebdriverIO in which browsers we would like to run our tests. This can be configured through the `capabilities` option, which is an array of browser names (e.g. `firefox` or `chrome`). It is recommended to install [selenium-assistant](https://googlechromelabs.github.io/selenium-assistant/) to detect all installed browsers: - -``` - const seleniumAssistant = require('selenium-assistant'); - const browsers = seleniumAssistant.getLocalBrowsers(); - config.capabilities = browsers.map(browser => ({ browserName: browser.getId() })); -``` - -但是,当然,简单的配置`config.capabilities = ['firefox']`也可以. - -如果已将 WebdriverIO 安装为依赖项( `npm install --save-dev webdriverio` ),则可以在`package.json`中的`scripts`属性中添加一行,该行运行`wdio`并将配置文件的路径作为值,例如: - -``` - "confidence-check": "wdio wdio.conf.js", -``` - -然后,您可以使用`npm run confidence-check`执行测试,之后您实际上会看到一个新的浏览器窗口,与您指定的应用交互. - -## Configuring GitLab CI/CD[](#configuring-gitlab-cicd "Permalink") - -这使我们进入了令人兴奋的部分:我们如何在 GitLab CI / CD 中运行它? 为此,我们需要做两件事: - -1. 设置实际上具有浏览器的[CI / CD 作业](../../yaml/README.html#introduction) . -2. 更新我们的 WebdriverIO 配置以使用那些浏览器来访问评论应用程序. - -对于本文的范围,我们定义了一个附加的[CI / CD 阶段](../../yaml/README.html#stages) `confidence-check` ,该`confidence-check` *在*部署审阅应用程序的阶段*之后*执行. 它使用`node:latest` [Docker image](../../docker/using_docker_images.html) . 但是,WebdriverIO 会启动实际的浏览器来与您的应用程序进行交互,因此我们需要安装并运行它们. 此外,WebdriverIO 使用 Selenium 作为控制不同浏览器的通用接口,因此我们也需要安装和运行 Selenium. 幸运的是,Selenium 项目提供了分别为 Firefox 和 Chrome 提供的 Docker 映像[standalone-firefox](https://hub.docker.com/r/selenium/standalone-firefox/)和[standalone-chrome](https://hub.docker.com/r/selenium/standalone-chrome/) . (由于 Safari 和 Internet Explorer / Edge 不是开源的,并且不适用于 Linux,因此很遗憾,我们无法在 GitLab CI / CD 中使用它们.) - -GitLab CI / CD 使用`service`属性将这些图像链接到我们的`confidence-check`作业变得轻而易举,这使得 Selenium 服务器可以在基于图像名称的主机名下使用. 我们的工作配置如下所示: - -``` -e2e:firefox: - stage: confidence-check - services: - - selenium/standalone-firefox - script: - - npm run confidence-check --host=selenium__standalone-firefox -``` - -对于 Chrome 同样如此: - -``` -e2e:chrome: - stage: confidence-check - services: - - selenium/standalone-chrome - script: - - npm run confidence-check --host=selenium__standalone-chrome -``` - -现在我们有一项工作可以运行端到端测试,我们需要告诉 WebdriverIO 如何连接到与其并排运行的 Selenium 服务器. 通过将[`host`](https://webdriver.io/guide/getstarted/configuration.html#host)选项的值作为参数传递给`npm run confidence-check`命令在命令行上`npm run confidence-check` ,我们已经作弊了. 但是,我们仍然需要告诉 WebdriverIO 使用哪个浏览器. - -[GitLab CI / CD 提供了许多](../../variables/README.html#predefined-environment-variables)有关当前 CI 作业的信息[的变量](../../variables/README.html#predefined-environment-variables) . 我们可以使用此信息根据正在运行的作业动态设置 WebdriverIO 配置. 更具体地说,我们可以根据当前正在运行的作业的名称,告诉 WebdriverIO 使用哪个浏览器执行测试. 我们可以在 WebdriverIO 的配置文件中执行此操作,在上面将其命名为`wdio.conf.js` : - -``` -if(process.env.CI_JOB_NAME) { - dynamicConfig.capabilities = [ - { browserName: process.env.CI_JOB_NAME === 'e2e:chrome' ? 'chrome' : 'firefox' }, - ]; -} -``` - -同样,我们可以告诉 WebdriverIO 审阅应用程序在哪里运行-在本示例中,它位于`<branch name>.flockademic.com` : - -``` -if(process.env.CI_COMMIT_REF_SLUG) { - dynamicConfig.baseUrl = `https://${process.env.CI_COMMIT_REF_SLUG}.flockademic.com`; -} -``` - -并且我们可以确保仅当*不*使用`if (!process.env.CI)`在 CI 中运行时,才使用本地特定的配置. 基本上,这是在 GitLab CI / CD 上进行端到端测试所需的全部成分! - -回顾一下,我们的`.gitlab-ci.yml`配置文件如下所示: - -``` -image: node:8.10 -stages: - - deploy - - confidence-check -deploy_terraform: - stage: deploy - script: - # Your Review App deployment scripts - for a working example please check https://gitlab.com/Flockademic/Flockademic/blob/5a45f1c2412e93810fab50e2dab8949e2d0633c7/.gitlab-ci.yml#L315 -e2e:firefox: - stage: confidence-check - services: - - selenium/standalone-firefox - script: - - npm run confidence-check --host=selenium__standalone-firefox -e2e:chrome: - stage: confidence-check - services: - - selenium/standalone-chrome - script: - - npm run confidence-check --host=selenium__standalone-chrome -``` - -## What’s next[](#whats-next "Permalink") - -如果您要自己进行设置并希望了解生产项目的工作配置,请参阅: - -* [Flockademic’s `wdio.conf.js`](https://gitlab.com/Flockademic/Flockademic/blob/dev/wdio.conf.js) -* [Flockademic’s `.gitlab-ci.yml`](https://gitlab.com/Flockademic/Flockademic/blob/dev/.gitlab-ci.yml) -* [Flockademic’s tests](https://gitlab.com/Flockademic/Flockademic/tree/dev/__e2e__) - -WebdriverIO 还可以做更多的事情. 例如,您可以配置一个[`screenshotPath`](https://webdriver.io/guide/getstarted/configuration.html#screenshotPath)以告诉 WebdriverIO 在测试失败时进行截图. 然后告诉 GitLab CI / CD 存储这些[工件](../../yaml/README.html#artifacts) ,您将能够看到 GitLab 中出了什么问题. \ No newline at end of file diff --git a/docs/232.md b/docs/232.md deleted file mode 100644 index bc5bcc6..0000000 --- a/docs/232.md +++ /dev/null @@ -1,460 +0,0 @@ -# DevOps and Game Dev with GitLab CI/CD - -> 原文:[https://docs.gitlab.com/ee/ci/examples/devops_and_game_dev_with_gitlab_ci_cd/](https://docs.gitlab.com/ee/ci/examples/devops_and_game_dev_with_gitlab_ci_cd/) - -* [The game](#the-game) -* [Requirements and setup](#requirements-and-setup) -* [Continuous Integration](#continuous-integration) - * [Build your game with GitLab CI/CD](#build-your-game-with-gitlab-cicd) - * [Test your game with GitLab CI/CD](#test-your-game-with-gitlab-cicd) - * [Run your CI/CD pipeline](#run-your-cicd-pipeline) -* [Continuous Deployment](#continuous-deployment) - * [Set up S3 Bucket](#set-up-s3-bucket) - * [Set up AWS Secrets](#set-up-aws-secrets) - * [Deploy your game with GitLab CI/CD](#deploy-your-game-with-gitlab-cicd) -* [Conclusion](#conclusion) -* [Further settings](#further-settings) - -# DevOps and Game Dev with GitLab CI/CD[](#devops-and-game-dev-with-gitlab-cicd "Permalink") - -随着 WebGL 和 WebSockets 的进步,浏览器作为游戏开发平台非常可行,而无需使用 Adobe Flash 之类的插件. 此外,通过使用 GitLab 和[AWS](https://aws.amazon.com/) ,单个游戏开发人员以及游戏开发团队可以轻松地在线托管基于浏览器的游戏. - -在本教程中,我们将专注于 DevOps,以及使用[GitLab CI / CD](../../README.html)使用持续集成/部署方法测试和托管游戏. 我们假设您熟悉 GitLab,JavaScript 和游戏开发的基础知识. - -## The game[](#the-game "Permalink") - -我们的[演示游戏](http://gitlab-game-demo.s3-website-us-east-1.amazonaws.com/)由一个简单的太空飞船组成,该太空飞船通过在给定方向上单击鼠标进行射击. - -在开发另一款游戏[Dark Nova](https://www.darknova.io)的开始时,创建强大的 CI / CD 流水线对于团队工作的快速节奏至关重要. 本教程将以我[之前的介绍性文章为基础,](https://ryanhallcs.wordpress.com/2017/03/15/devops-and-game-dev/)并执行以下步骤: - -1. 使用上一篇文章中的代码开始由 gulp 文件构建的准[相位](https://phaser.io)游戏 -2. 添加和运行单元测试 -3. 创建可以触发以给定方向生成`Bullet`的`Weapon`类 -4. 添加使用此武器并在屏幕上四处移动的`Player`类 -5. 添加我们将用于`Player`和`Weapon`的精灵 -6. 使用持续集成和持续部署方法进行测试和部署 - -到最后,我们将拥有一个[可玩游戏](http://gitlab-game-demo.s3-website-us-east-1.amazonaws.com/)的核心,该[游戏](http://gitlab-game-demo.s3-website-us-east-1.amazonaws.com/)在每次推送到[代码库](https://gitlab.com/blitzgren/gitlab-game-demo) `master`分支时都经过测试和部署. 这还将提供样板代码,用于启动具有以下组件的基于浏览器的游戏: - -* 用[TypeScript](https://s0www0typescriptlang0org.icopy.site/)和[PhaserJs 编写](https://phaser.io) -* 使用[Gulp](https://gulpjs.com)构建,运行和测试 -* [Chai](https://www.chaijs.com)和[Mocha 的](https://s0mochajs0org.icopy.site/)单元测试 -* 使用 GitLab 进行 CI / CD -* 在 GitLab.com 上托管代码库 -* 在 AWS 上托管游戏 -* 部署到 AWS - -## Requirements and setup[](#requirements-and-setup "Permalink") - -请参考我以前的文章[DevOps 和 Game Dev,](https://ryanhallcs.wordpress.com/2017/03/15/devops-and-game-dev/)以学习基础开发工具,运行类似于 Hello World 的游戏,以及从每次新推手到使用 GitLab CI / CD 来构建此游戏. 此游戏[存储库](https://gitlab.com/blitzgren/gitlab-game-demo)的`master`分支包含具有所有配置的完整版本. 如果您想继续阅读本文,可以从`devops-article`分支进行克隆并进行工作: - -``` -git clone git@gitlab.com:blitzgren/gitlab-game-demo.git -git checkout devops-article -``` - -接下来,我们将创建一小部分测试,以举例说明我希望该`Weapon`类经历的大多数状态. 首先,创建一个名为`lib/tests`的文件夹,并将以下代码添加到一个新文件`weaponTests.ts` : - -``` -import { expect } from 'chai'; -import { Weapon, BulletFactory } from '../lib/weapon'; - -describe('Weapon', () => { - var subject: Weapon; - var shotsFired: number = 0; - // Mocked bullet factory - var bulletFactory: BulletFactory = <BulletFactory>{ - generate: function(px, py, vx, vy, rot) { - shotsFired++; - } - }; - var parent: any = { x: 0, y: 0 }; - - beforeEach(() => { - shotsFired = 0; - subject = new Weapon(bulletFactory, parent, 0.25, 1); - }); - - it('should shoot if not in cooldown', () => { - subject.trigger(true); - subject.update(0.1); - expect(shotsFired).to.equal(1); - }); - - it('should not shoot during cooldown', () => { - subject.trigger(true); - subject.update(0.1); - subject.update(0.1); - expect(shotsFired).to.equal(1); - }); - - it('should shoot after cooldown ends', () => { - subject.trigger(true); - subject.update(0.1); - subject.update(0.3); // longer than timeout - expect(shotsFired).to.equal(2); - }); - - it('should not shoot if not triggered', () => { - subject.update(0.1); - subject.update(0.1); - expect(shotsFired).to.equal(0); - }); -}); -``` - -为了使用`gulpfile.js`构建和运行这些测试,我们还要将以下`gulpfile.js`函数添加到现有的`gulpfile.js`文件中: - -``` -gulp.task('build-test', function () { - return gulp.src('src/tests/**/*.ts', { read: false }) - .pipe(tap(function (file) { - // replace file contents with browserify's bundle stream - file.contents = browserify(file.path, { debug: true }) - .plugin(tsify, { project: "./tsconfig.test.json" }) - .bundle(); - })) - .pipe(buffer()) - .pipe(sourcemaps.init({loadMaps: true}) ) - .pipe(gulp.dest('built/tests')); -}); - -gulp.task('run-test', function() { - gulp.src(['./built/tests/**/*.ts']).pipe(mocha()); -}); -``` - -我们将开始实施游戏的第一部分,并通过这些`Weapon`测试. `Weapon`类将公开一种方法,以给定的方向和速度触发子弹的生成. 稍后,我们将实现一个`Player`类,将用户输入绑定在一起以触发武器. 在`src/lib`文件夹中,创建一个`weapon.ts`文件. 我们将添加两个类: `Weapon`和`BulletFactory` ,它们将封装 Phaser 的**sprite**和**group**对象,以及游戏特定的逻辑. - -``` -export class Weapon { - private isTriggered: boolean = false; - private currentTimer: number = 0; - - constructor(private bulletFactory: BulletFactory, private parent: Phaser.Sprite, private cooldown: number, private bulletSpeed: number) { - } - - public trigger(on: boolean): void { - this.isTriggered = on; - } - - public update(delta: number): void { - this.currentTimer -= delta; - - if (this.isTriggered && this.currentTimer <= 0) { - this.shoot(); - } - } - - private shoot(): void { - // Reset timer - this.currentTimer = this.cooldown; - - // Get velocity direction from player rotation - var parentRotation = this.parent.rotation + Math.PI / 2; - var velx = Math.cos(parentRotation); - var vely = Math.sin(parentRotation); - - // Apply a small forward offset so bullet shoots from head of ship instead of the middle - var posx = this.parent.x - velx * 10 - var posy = this.parent.y - vely * 10; - - this.bulletFactory.generate(posx, posy, -velx * this.bulletSpeed, -vely * this.bulletSpeed, this.parent.rotation); - } -} - -export class BulletFactory { - - constructor(private bullets: Phaser.Group, private poolSize: number) { - // Set all the defaults for this BulletFactory's bullet object - this.bullets.enableBody = true; - this.bullets.physicsBodyType = Phaser.Physics.ARCADE; - this.bullets.createMultiple(30, 'bullet'); - this.bullets.setAll('anchor.x', 0.5); - this.bullets.setAll('anchor.y', 0.5); - this.bullets.setAll('outOfBoundsKill', true); - this.bullets.setAll('checkWorldBounds', true); - } - - public generate(posx: number, posy: number, velx: number, vely: number, rot: number): Phaser.Sprite { - // Pull a bullet from Phaser's Group pool - var bullet = this.bullets.getFirstExists(false); - - // Set the few unique properties about this bullet: rotation, position, and velocity - if (bullet) { - bullet.reset(posx, posy); - bullet.rotation = rot; - bullet.body.velocity.x = velx; - bullet.body.velocity.y = vely; - } - - return bullet; - } -} -``` - -最后,我们将重做我们的入口点`game.ts` ,将`Player`和`Weapon`对象绑定在一起,并将它们添加到更新循环中. 这是更新的`game.ts`文件的外观: - -``` -import { Player } from "./player"; -import { Weapon, BulletFactory } from "./weapon"; - -window.onload = function() { - var game = new Phaser.Game(800, 600, Phaser.AUTO, 'gameCanvas', { preload: preload, create: create, update: update }); - var player: Player; - var weapon: Weapon; - - // Import all assets prior to loading the game - function preload () { - game.load.image('player', 'assets/player.png'); - game.load.image('bullet', 'assets/bullet.png'); - } - - // Create all entities in the game, after Phaser loads - function create () { - // Create and position the player - var playerSprite = game.add.sprite(400, 550, 'player'); - playerSprite.anchor.setTo(0.5); - player = new Player(game.input, playerSprite, 150); - - var bulletFactory = new BulletFactory(game.add.group(), 30); - weapon = new Weapon(bulletFactory, player.sprite, 0.25, 1000); - - player.loadWeapon(weapon); - } - - // This function is called once every tick, default is 60fps - function update() { - var deltaSeconds = game.time.elapsedMS / 1000; // convert to seconds - player.update(deltaSeconds); - weapon.update(deltaSeconds); - } -} -``` - -运行`gulp serve` ,您可以四处奔跑射击. 精彩! 让我们更新 CI 管道,使其包括运行测试以及现有的构建作业. - -## Continuous Integration[](#continuous-integration "Permalink") - -为了确保我们的更改不会破坏构建并且所有测试仍然通过,我们利用持续集成(CI)来为每次推送自动运行这些检查. 通读本文以了解[持续集成,持续交付和持续部署](https://about.gitlab.com/blog/2016/08/05/continuous-integration-delivery-and-deployment-with-gitlab/) ,以及 GitLab 如何利用这些方法. 在上[一教程中,](https://ryanhallcs.wordpress.com/2017/03/15/devops-and-game-dev/)我们已经设置了一个`.gitlab-ci.yml`文件,用于从每次推送开始构建我们的应用程序. 我们需要设置一个新的 CI 作业进行测试,GitLab CI / CD 将使用我们从 gulp 生成的工件在构建作业后运行. - -请通读[CI / CD 配置](../../../ci/yaml/README.html)文件[上](../../../ci/yaml/README.html)的[文档,](../../../ci/yaml/README.html)以探索其内容并根据需要进行调整. - -### Build your game with GitLab CI/CD[](#build-your-game-with-gitlab-cicd "Permalink") - -我们需要更新构建作业以确保测试也能运行. 将`gulp build-test`添加到现有`build`作业的`script`数组的末尾. 一旦这些命令运行,我们就知道需要访问 GitLab CI / CD `artifacts`提供的`built`文件夹中的所有内容. 我们还将缓存`node_modules`以避免不得不完全重新拉动那些依赖项:只需将它们打包在缓存中即可. 这是完整的`build`工作: - -``` -build: - stage: build - script: - - npm i gulp -g - - npm i - - gulp - - gulp build-test - cache: - policy: push - paths: - - node_modules - artifacts: - paths: - - built -``` - -### Test your game with GitLab CI/CD[](#test-your-game-with-gitlab-cicd "Permalink") - -对于本地测试,我们只需要运行`gulp run-tests` ,这需要像`build`作业一样在全球范围内安装 gulp. 我们从缓存中拉出`node_modules` ,因此`npm i`命令不必做太多事情. 在准备部署时,我们知道我们仍然需要工件中的`built`文件夹,该文件夹将作为上一个作业的默认行为被带入. 最后,按照惯例,我们通过给 GitLab CI / CD 一个`test` [阶段](../../../ci/yaml/README.html#stages)来告知需要在`build`工作之后运行它. 按照 YAML 结构, `test`作业应如下所示: - -``` -test: - stage: test - script: - - npm i gulp -g - - npm i - - gulp run-test - cache: - policy: push - paths: - - node_modules/ - artifacts: - paths: - - built/ -``` - -我们为以指定间隔射击的`Weapon`类添加了单元测试. `Player`类实现了`Weapon`以及四处移动和射击的能力. 此外,我们还使用`.gitlab-ci.yml`在 GitLab CI / CD 管道中添加了测试工件和测试阶段,从而使我们能够在每次推送时运行测试. 现在,我们整个`.gitlab-ci.yml`文件应如下所示: - -``` -image: node:10 - -build: - stage: build - script: - - npm i gulp -g - - npm i - - gulp - - gulp build-test - cache: - policy: push - paths: - - node_modules/ - artifacts: - paths: - - built/ - -test: - stage: test - script: - - npm i gulp -g - - npm i - - gulp run-test - cache: - policy: pull - paths: - - node_modules/ - artifacts: - paths: - - built/ -``` - -### Run your CI/CD pipeline[](#run-your-cicd-pipeline "Permalink") - -而已! 添加所有新文件,提交并推送. 有关此时存储库外观的参考,请参考[示例存储库中与本文相关](https://gitlab.com/blitzgren/gitlab-game-demo/commit/8b36ef0ecebcf569aeb251be4ee13743337fcfe2)的[最终提交](https://gitlab.com/blitzgren/gitlab-game-demo/commit/8b36ef0ecebcf569aeb251be4ee13743337fcfe2) . 通过同时应用构建和测试阶段,GitLab 将在每次推送到我们的存储库时按顺序运行它们. 如果一切顺利,您将在管道的每个作业上得到一个绿色的复选标记: - -[![Passing Pipeline](img/1d8faac0ce4cf1206b5c2745df725ca6.png)](img/test_pipeline_pass.png) - -您可以通过单击`test`作业以输入完整的构建日志来确认测试通过. 滚动到底部,观察所有过去的荣耀: - -``` -$ gulp run-test -[18:37:24] Using gulpfile /builds/blitzgren/gitlab-game-demo/gulpfile.js -[18:37:24] Starting 'run-test'... -[18:37:24] Finished 'run-test' after 21 ms - - Weapon - ✓ should shoot if not in cooldown - ✓ should not shoot during cooldown - ✓ should shoot after cooldown ends - ✓ should not shoot if not triggered - - 4 passing (18ms) - -Uploading artifacts... -built/: found 17 matching files -Uploading artifacts to coordinator... ok id=17095874 responseStatus=201 Created token=aaaaaaaa Job succeeded -``` - -## Continuous Deployment[](#continuous-deployment "Permalink") - -我们在每次推送时都构建并测试了代码库. 为了完成持续部署的全部流程,让我们[使用 AWS S3](https://aws.amazon.com/free/)设置[免费的 Web 托管,](https://aws.amazon.com/free/)并通过一项工作来部署构建工件. GitLab 还提供了免费的静态站点托管服务[GitLab Pages](https://about.gitlab.com/stages-devops-lifecycle/pages/) ,但是 Dark Nova 特别使用需要使用`AWS S3`其他 AWS 工具. 通读本文,该文章描述了[如何同时部署到 S3 和 GitLab 页面,](https://about.gitlab.com/blog/2016/08/26/ci-deployment-and-environments/)并且比本文讨论的内容更深入地研究 GitLab CI / CD 的原理. - -### Set up S3 Bucket[](#set-up-s3-bucket "Permalink") - -1. 登录您的 AWS 账户并转到[S3](https://console.aws.amazon.com/s3/home) -2. 点击顶部的**创建存储桶**链接 -3. 输入您选择的名称,然后单击下一步 -4. 保留默认**属性** ,然后单击下一步 -5. 单击" **管理组"权限** ,然后为" **所有人"**组允许" **读取** ",单击"下一步". -6. 创建存储桶,然后在您的 S3 存储桶列表中选择它 -7. 在右侧,单击" **属性"**并启用" **静态网站托管"**类别 -8. Update the radio button to the **使用此存储桶托管网站** selection. Fill in `index.html` and `error.html` respectively - -### Set up AWS Secrets[](#set-up-aws-secrets "Permalink") - -我们需要能够使用我们的 AWS 账户凭证部署到 AWS,但是我们当然不希望在源代码中添加机密信息. 幸运的是,GitLab 通过[Variables](../../../ci/variables/README.html)提供了解决方案. 由于[IAM](https://aws.amazon.com/iam/)管理,这可能会变得复杂. 作为最佳实践,您不应使用根安全凭证. 正确的 IAM 凭据管理不在本文讨论范围之内,但是 AWS 会提醒您,不建议使用 root 凭据,并且应该违反其最佳做法. 随意遵循最佳实践并使用自定义 IAM 用户的凭据,这将是两个相同的凭据(密钥 ID 和密钥). 充分了解[AWS 中的 IAM 最佳做法](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)是一个好主意. 我们需要将以下凭据添加到 GitLab: - -1. 登录您的 AWS 账户并转到[安全凭证页面](https://console.aws.amazon.com/iam/home#/security_credential) -2. 单击**访问密钥**部分,然后**创建新的访问密钥** . 创建密钥并保留 ID 和秘密,以后需要它们 - - [![AWS Access Key Configuration](img/6b5837eb8878551d4881e94247d957e9.png)](img/aws_config_window.png) - -3. 转到您的 GitLab 项目,单击左侧栏中的**设置> CI / CD** . -4. 展开**变量**部分 - - [![GitLab Secret Config](img/7ac2e224cec000f3932b1186bc1d643f.png)](img/gitlab_config.png) - -5. 添加一个名为`AWS_KEY_ID`的密钥,并将步骤 2 中的密钥 ID 复制到" **值"**字段中 -6. 添加一个名为`AWS_KEY_SECRET`的密钥,并将步骤 2 中的密钥机密复制到" **值"**字段中 - -### Deploy your game with GitLab CI/CD[](#deploy-your-game-with-gitlab-cicd "Permalink") - -要部署构建工件,我们需要在 Shared Runner 上安装[AWS CLI](https://aws.amazon.com/cli/) . Shared Runner 还需要能够通过您的 AWS 账户进行身份验证以部署工件. 按照约定,AWS CLI 将寻找`AWS_ACCESS_KEY_ID`和`AWS_SECRET_ACCESS_KEY` . GitLab 的 CI 为我们提供了一种使用`deploy`作业的`variables`部分传递在上一节中设置的`variables`的方法. 最后,我们添加指令以确保`only`在推送到`master`时进行部署. 这样,每个分支仍然通过 CI 运行,并且只有合并(或直接提交)到 master 才会触发管道的`deploy`工作. 将它们放在一起可获得以下内容: - -``` -deploy: - stage: deploy - variables: - AWS_ACCESS_KEY_ID: "$AWS_KEY_ID" - AWS_SECRET_ACCESS_KEY: "$AWS_KEY_SECRET" - script: - - apt-get update - - apt-get install -y python3-dev python3-pip - - easy_install3 -U pip - - pip3 install --upgrade awscli - - aws s3 sync ./built s3://gitlab-game-demo --region "us-east-1" --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers --cache-control "no-cache, no-store, must-revalidate" --delete - only: - - master -``` - -确保在最后一个脚本命令中更新区域和 S3 URL 以适合您的设置. 我们的最终配置文件`.gitlab-ci.yml`看起来像: - -``` -image: node:10 - -build: - stage: build - script: - - npm i gulp -g - - npm i - - gulp - - gulp build-test - cache: - policy: push - paths: - - node_modules/ - artifacts: - paths: - - built/ - -test: - stage: test - script: - - npm i gulp -g - - gulp run-test - cache: - policy: pull - paths: - - node_modules/ - artifacts: - paths: - - built/ - -deploy: - stage: deploy - variables: - AWS_ACCESS_KEY_ID: "$AWS_KEY_ID" - AWS_SECRET_ACCESS_KEY: "$AWS_KEY_SECRET" - script: - - apt-get update - - apt-get install -y python3-dev python3-pip - - easy_install3 -U pip - - pip3 install --upgrade awscli - - aws s3 sync ./built s3://gitlab-game-demo --region "us-east-1" --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers --cache-control "no-cache, no-store, must-revalidate" --delete - only: - - master -``` - -## Conclusion[](#conclusion "Permalink") - -在[演示存储库中,](https://gitlab.com/blitzgren/gitlab-game-demo)您还可以找到一些样板代码来使[TypeScript](https://s0www0typescriptlang0org.icopy.site/) , [Mocha](https://s0mochajs0org.icopy.site/) , [Gulp](https://gulpjs.com/)和[Phaser](https://phaser.io)与 GitLab CI / CD 完美地结合在一起,这是在制作[Dark Nova 时](https://www.darknova.io)汲取的教训的结果. 使用免费和开源软件的组合,我们拥有完整的 CI / CD 流水线,游戏基础和单元测试,所有这些操作和部署都可以在每次熟练掌握的情况下完成-只需很少的代码. 可以通过 GitLab 的构建日志轻松调试错误,并且在成功提交后的几分钟内,您就可以在游戏中实时看到更改. - -借助 Dark Nova 从一开始就设置持续集成和持续部署可实现快速而稳定的开发. 我们可以轻松地在单独的[环境中](../../environments/index.html)测试更改,如果需要,可以在多个环境中测试更改. 平衡和更新多人游戏可能会持续且乏味,但是相信使用 GitLab CI / CD 进行稳定部署会在快速获得玩家更改方面有很大的喘息空间. - -## Further settings[](#further-settings "Permalink") - -以下是一些可以进一步研究的想法,可以加快或改善您的流程: - -* [纱线](https://yarnpkg.com)代替 npm -* 设置可以预加载依赖项和工具(如 AWS CLI)的自定义[Docker](../../../ci/docker/using_docker_images.html#define-image-and-services-from-gitlab-ciyml)映像 -* 将[自定义域](https://docs.aws.amazon.com/AmazonS3/latest/dev/website-hosting-custom-domain-walkthrough.html)转发到游戏的 S3 静态网站 -* 如果您发现小型项目不必要,请合并工作 -* 避免排队,并设置自己的[自定义 GitLab CI / CD 运行器](https://about.gitlab.com/blog/2016/03/01/gitlab-runner-with-docker/) \ No newline at end of file diff --git a/docs/233.md b/docs/233.md deleted file mode 100644 index e49839b..0000000 --- a/docs/233.md +++ /dev/null @@ -1,107 +0,0 @@ -# Deploy a Spring Boot application to Cloud Foundry with GitLab CI/CD - -> 原文:[https://docs.gitlab.com/ee/ci/examples/deploy_spring_boot_to_cloud_foundry/](https://docs.gitlab.com/ee/ci/examples/deploy_spring_boot_to_cloud_foundry/) - -* [Introduction](#introduction) -* [Requirements](#requirements) -* [Create your project](#create-your-project) -* [Configure the deployment to Cloud Foundry](#configure-the-deployment-to-cloud-foundry) -* [Configure GitLab CI/CD to deploy your application](#configure-gitlab-cicd-to-deploy-your-application) - -# Deploy a Spring Boot application to Cloud Foundry with GitLab CI/CD[](#deploy-a-spring-boot-application-to-cloud-foundry-with-gitlab-cicd "Permalink") - -## Introduction[](#introduction "Permalink") - -在本文中,我们将演示如何使用[连续部署](https://about.gitlab.com/blog/2016/08/05/continuous-integration-delivery-and-deployment-with-gitlab/#continuous-deployment)方法通过 GitLab CI / CD 将[Spring Boot](https://projects.spring.io/spring-boot/)应用程序部署到[Cloud Foundry(CF)](https://www.cloudfoundry.org/) . - -该项目的所有代码都可以在该[GitLab 存储库中](https://gitlab.com/gitlab-examples/spring-gitlab-cf-deploy-demo)找到. - -如果您有兴趣使用 GitLab CI / CD 将 Spring Boot 应用程序部署到 Kubernetes,请通读博客文章[GitLab CI 和 Kubernetes 持续交付 Spring Boot 应用程序](https://about.gitlab.com/blog/2016/12/14/continuous-delivery-of-a-spring-boot-application-with-gitlab-ci-and-kubernetes/) . - -## Requirements[](#requirements "Permalink") - -本教程假定您熟悉 Java,GitLab,Cloud Foundry 和 GitLab CI / CD. - -要继续进行,您将需要: - -* [Pivotal Web 服务(PWS)](https://run.pivotal.io/)或任何其他 Cloud Foundry(CF)实例上的帐户. -* 在 GitLab 上的帐户. - -**注意:**如果您没有部署到 PWS,则需要将以下所有命令中的`api.run.pivotal.io` URL 替换为 CF 实例的[API URL](https://docs.cloudfoundry.org/running/cf-api-endpoint.html) . - -## Create your project[](#create-your-project "Permalink") - -要创建您的 Spring Boot 应用程序,可以在创建新项目时在 GitLab 中使用 Spring 模板: - -[![New Project From Template](img/b64907bafa7c740c069ec7395a5c5471.png)](img/create_from_template.png) - -## Configure the deployment to Cloud Foundry[](#configure-the-deployment-to-cloud-foundry "Permalink") - -要部署到 Cloud Foundry,我们需要添加`manifest.yml`文件. 这是我们将用于部署应用程序的 CF CLI 的配置. 我们将在项目的根目录中创建以下内容: - -``` ---- -applications: - - name: gitlab-hello-world - random-route: true - memory: 1G - path: target/demo-0.0.1-SNAPSHOT.jar -``` - -## Configure GitLab CI/CD to deploy your application[](#configure-gitlab-cicd-to-deploy-your-application "Permalink") - -现在,我们需要将 GitLab CI / CD 配置文件( [`.gitlab-ci.yml`](../../yaml/README.html) )添加到项目的根目录. 这就是 GitLab 找出每当将代码推送到我们的存储库时需要运行哪些命令的方式. 我们将以下`.gitlab-ci.yml`文件添加到存储库的根目录中,GitLab 将自动检测该文件,并在推送代码后运行定义的步骤: - -``` -image: java:8 - -stages: - - build - - deploy - -before_script: - - chmod +x mvnw - -build: - stage: build - script: ./mvnw package - artifacts: - paths: - - target/demo-0.0.1-SNAPSHOT.jar - -production: - stage: deploy - script: - - curl --location "https://cli.run.pivotal.io/stable?release=linux64-binary&source=github" | tar zx - - ./cf login -u $CF_USERNAME -p $CF_PASSWORD -a api.run.pivotal.io - - ./cf push - only: - - master -``` - -我们使用了`java:8` [Docker 映像](../../docker/using_docker_images.html)来构建我们的应用程序,因为它在[Docker Hub](https://hub.docker.com/)上提供了最新的 Java 8 JDK. 我们还添加了[`only`子句,](../../yaml/README.html#onlyexcept-basic)以确保仅当我们推送到 master 分支[`only`](../../yaml/README.html#onlyexcept-basic)进行部署. - -现在,由于`.gitlab-ci.yml`定义的步骤需要凭据才能登录到 CF,因此您需要将 CF 凭据作为[环境变量添加](../../variables/README.html#predefined-environment-variables)到 GitLab CI / CD 上. 要设置环境变量,请导航至项目的**"设置">" CI / CD",**然后展开" **变量"** . 将变量命名为`CF_USERNAME`和`CF_PASSWORD`并将其设置为正确的值. - -[![Variable Settings in GitLab](img/75ff7ad133721fa954b7960ba4edc025.png)](img/cloud_foundry_variables.png) - -设置完成后,每次推送到存储库默认分支时,GitLab CI / CD 都会将您的应用程序部署到 CF. 要查看构建日志或观看构建的实时运行,请导航至**CI / CD> Pipelines** . - -**注意:**为安全性的最佳做法是为应用程序创建一个单独的部署用户,并将其凭据添加到 GitLab,而不使用开发人员的凭据. - -要在 GitLab 中开始手动部署,请转到**CI / CD>管道,**然后单击**运行管道** . 应用程序完成部署后,它将在`production`作业的日志中显示应用程序的 URL,例如: - -``` -requested state: started -instances: 1/1 -usage: 1G x 1 instances -urls: gitlab-hello-world-undissembling-hotchpot.cfapps.io -last uploaded: Mon Nov 6 10:02:25 UTC 2017 -stack: cflinuxfs2 -buildpack: client-certificate-mapper=1.2.0_RELEASE container-security-provider=1.8.0_RELEASE java-buildpack=v4.5-offline-https://github.com/cloudfoundry/java-buildpack.git#ffeefb9 java-main java-opts jvmkill-agent=1.10.0_RELEASE open-jdk-like-jre=1.8.0_1... - - state since cpu memory disk details -#0 running 2017-11-06 09:03:22 PM 120.4% 291.9M of 1G 137.6M of 1G -``` - -然后,您可以访问已部署的应用程序(对于本示例,为`https://gitlab-hello-world-undissembling-hotchpot.cfapps.io/` ),您应该看到"春天在这里!" 信息. \ No newline at end of file diff --git a/docs/234.md b/docs/234.md deleted file mode 100644 index dd7a459..0000000 --- a/docs/234.md +++ /dev/null @@ -1,263 +0,0 @@ -# How to deploy Maven projects to Artifactory with GitLab CI/CD - -> 原文:[https://docs.gitlab.com/ee/ci/examples/artifactory_and_gitlab/](https://docs.gitlab.com/ee/ci/examples/artifactory_and_gitlab/) - -* [Introduction](#introduction) -* [Create the simple Maven dependency](#create-the-simple-maven-dependency) - * [Prepare the dependency application](#prepare-the-dependency-application) - * [Configure the Artifactory deployment](#configure-the-artifactory-deployment) - * [Configure GitLab CI/CD for `simple-maven-dep`](#configure-gitlab-cicd-for-simple-maven-dep) -* [Create the main Maven application](#create-the-main-maven-application) - * [Prepare the main application](#prepare-the-main-application) - * [Configure the Artifactory repository location](#configure-the-artifactory-repository-location) - * [Configure GitLab CI/CD for `simple-maven-app`](#configure-gitlab-cicd-for-simple-maven-app) -* [Conclusion](#conclusion) - -# How to deploy Maven projects to Artifactory with GitLab CI/CD[](#how-to-deploy-maven-projects-to-artifactory-with-gitlab-cicd "Permalink") - -## Introduction[](#introduction "Permalink") - -在本文中,我们展示了如何利用[GitLab CI / CD 的功能](https://about.gitlab.com/stages-devops-lifecycle/continuous-integration/)来构建[Maven](https://maven.apache.org/)项目,将其部署到[Artifactory](https://jfrog.com/artifactory/) ,然后从另一个 Maven 应用程序中将其用作依赖项. - -您将创建两个不同的项目: - -* `simple-maven-dep` :构建并部署到 Artifactory 的应用程序(请参阅[simple-maven-dep](https://gitlab.com/gitlab-examples/maven/simple-maven-dep)示例项目) -* `simple-maven-app` :使用前一个作为依赖[项的应用程序](https://gitlab.com/gitlab-examples/maven/simple-maven-app) (请参见[simple-maven-app](https://gitlab.com/gitlab-examples/maven/simple-maven-app)示例项目) - -我们假设您已经在[GitLab.com](https://gitlab.com/)上拥有一个 GitLab 帐户,并且您知道 Git 和[GitLab CI / CD](https://about.gitlab.com/stages-devops-lifecycle/continuous-integration/)的基本用法. 我们还假定 Artifactory 实例在 Internet 上可用且可访问,并且您具有在其上部署的有效凭据. - -## Create the simple Maven dependency[](#create-the-simple-maven-dependency "Permalink") - -First of all, you need an application to work with: in this specific case we will use a simple one, but it could be any Maven application. This will be the dependency you want to package and deploy to Artifactory, in order to be available to other projects. - -### Prepare the dependency application[](#prepare-the-dependency-application "Permalink") - -对于本文,您将使用可以从示例项目中克隆的 Maven 应用程序: - -1. 登录到您的 GitLab 帐户 -2. 通过选择**URL 通过 URL 回购导入项目来**创建新项目 -3. 添加以下 URL: - - ``` - https://gitlab.com/gitlab-examples/maven/simple-maven-dep.git - ``` - -4. Click **建立专案** - -该应用程序不过是带有基于 JUnit 的测试套件的存根的基本类. 它公开了一种名为`hello`的方法,该方法接受字符串作为输入,并在屏幕上显示 hello 消息. - -该项目的结构非常简单,您应该考虑以下两个资源: - -* `pom.xml` :项目对象模型(POM)配置文件 -* `src/main/java/com/example/dep/Dep.java` :我们应用程序的源代码 - -### Configure the Artifactory deployment[](#configure-the-artifactory-deployment "Permalink") - -该应用程序已准备就绪,可以使用,但是您需要一些其他步骤才能将其部署到 Artifactory: - -1. 使用您的用户凭据登录到 Artifactory. -2. 在主屏幕上,单击" **设置我"**面板中的`libs-release-local`项目. -3. 将" **部署"**段落下的配置片段复制到剪贴板. -4. 更改`url`值,以使其可通过变量进行配置. -5. 在`dependencies`部分之后,将片段复制到项目的`pom.xml`文件中. 该代码段应如下所示: - - ``` - <distributionManagement> - <repository> - <id>central</id> - <name>83d43b5afeb5-releases</name> - <url>${env.MAVEN_REPO_URL}/libs-release-local</url> - </repository> - </distributionManagement> - ``` - -将依赖项部署到 Artifactory 之前,您需要做的另一步骤是配置身份验证数据. 这是一个简单的任务,但是 Maven 要求它保留在一个名为`settings.xml`的文件中,该文件必须位于用户 homedir 的`.m2`子目录中. - -由于要使用 GitLab Runner 自动部署应用程序,因此应在项目的主目录中创建文件,并在`.gitlab-ci.yml`设置命令行参数以使用自定义位置,而不是默认位置: - -1. 在存储库的根目录中创建一个名为`.m2`的文件夹 -2. 在`.m2`文件夹中创建一个名为`settings.xml`的文件 -3. 将以下内容复制到`settings.xml`文件中: - - ``` - <settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd" - xmlns="http://maven.apache.org/SETTINGS/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <servers> - <server> - <id>central</id> - <username>${env.MAVEN_REPO_USER}</username> - <password>${env.MAVEN_REPO_PASS}</password> - </server> - </servers> - </settings> - ``` - - 用户名和密码将使用变量替换为正确的值. - -### Configure GitLab CI/CD for `simple-maven-dep`[](#configure-gitlab-cicd-for-simple-maven-dep "Permalink") - -现在是时候设置[GitLab CI / CD](https://about.gitlab.com/stages-devops-lifecycle/continuous-integration/)来自动构建,测试和部署依赖项了! - -GitLab CI / CD 使用存储库根目录中的一个名为`.gitlab-ci.yml`来读取将由已配置的 GitLab Runners 执行的作业的定义. 您可以在[GitLab 文档中](../../yaml/README.html)阅读有关此文件的更多信息. - -首先,请记住为您的部署设置变量. 导航到项目的**"设置">" CI / CD">"环境变量"**页面,并添加以下内容(当然,将它们替换为当前值): - -* **MAVEN_REPO_URL** : `http://artifactory.example.com:8081/artifactory` : **//artifactory.example.com** : **8081/artifactory** (您的 Artifactory URL) -* **MAVEN_REPO_USER** : `gitlab` (您的 Artifactory 用户名) -* **MAVEN_REPO_PASS** : `AKCp2WXr3G61Xjz1PLmYa3arm3yfBozPxSta4taP3SeNu2HPXYa7FhNYosnndFNNgoEds8BCS` (您的 Artifactory 加密密码) - -现在是时候在`.gitlab-ci.yml`定义作业并将其推送到存储库了: - -``` -image: maven:latest - -variables: - MAVEN_CLI_OPTS: "-s .m2/settings.xml --batch-mode" - MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository" - -cache: - paths: - - .m2/repository/ - - target/ - -build: - stage: build - script: - - mvn $MAVEN_CLI_OPTS compile - -test: - stage: test - script: - - mvn $MAVEN_CLI_OPTS test - -deploy: - stage: deploy - script: - - mvn $MAVEN_CLI_OPTS deploy - only: - - master -``` - -GitLab Runner 将使用最新的[Maven Docker 映像](https://hub.docker.com/_/maven/) ,该[映像](https://hub.docker.com/_/maven/)已经包含了管理项目以运行作业所需的所有工具和依赖项. - -设置环境变量以指示 Maven 在搜索配置和依赖项时使用存储库的`homedir`而不是用户的`homedir` . - -缓存`.m2/repository folder` ( `.m2/repository folder`所有 Maven 文件的位置)和`target`文件夹(将创建我们的应用程序的位置),对于按顺序运行所有 Maven 阶段来加快过程非常有用,因此,执行`mvn test`会在必要时自动运行`mvn compile` . - -`build`作业和`test`作业均利用`mvn`命令来编译应用程序,并按照应用程序一部分的测试套件中的定义对其进行测试. - -部署到 Artifactory 的过程已由我们刚刚设置的变量定义. 仅当我们推送或合并到`master`分支时才进行部署,以便开发版本经过测试但未发布. - -做完了! 现在,您已在 GitLab 存储库中进行了所有更改,并且已经为此提交启动了管道. 在" **管道"**选项卡中,您可以查看正在发生的事情. 如果部署成功,则部署作业日志将输出: - -``` -[INFO] ------------------------------------------------------------------------ -[INFO] BUILD SUCCESS -[INFO] ------------------------------------------------------------------------ -[INFO] Total time: 1.983 s -``` - -> **注意** : `mvn`命令从 Internet 下载大量文件,因此,首次运行日志时,您会在日志中看到很多额外的活动. - -好极了! 你做到了! 检入 Artifactory 将确认`libs-release-local`存储库中有可用的新工件. - -## Create the main Maven application[](#create-the-main-maven-application "Permalink") - -现在您已经有了 Artifactory 上的依赖项,是时候使用它了! 让我们看看如何将其作为对主应用程序的依赖. - -### Prepare the main application[](#prepare-the-main-application "Permalink") - -我们将再次使用可以从示例项目中克隆的 Maven 应用程序: - -1. 通过选择**URL 通过 URL 回购导入项目来**创建新项目 -2. 添加以下 URL: - - ``` - https://gitlab.com/gitlab-examples/maven/simple-maven-app.git - ``` - -3. Click **建立专案** - -This one is a simple app as well. If you look at the `src/main/java/com/example/app/App.java` file you can see that it imports the `com.example.dep.Dep` class and calls the `hello` method passing `GitLab` as a parameter. - -由于 Maven 不知道如何解决依赖关系,因此您需要修改配置: - -1. 回到 Artifactory -2. 浏览`libs-release-local`存储库 -3. 选择`simple-maven-dep-1.0.jar`文件 -4. 从主面板的**Dependency Declaration**部分中找到配置片段 -5. 将代码段复制到`pom.xml`文件的`dependencies`部分中. 该代码段应如下所示: - - ``` - <dependency> - <groupId>com.example.dep</groupId> - <artifactId>simple-maven-dep</artifactId> - <version>1.0</version> - </dependency> - ``` - -### Configure the Artifactory repository location[](#configure-the-artifactory-repository-location "Permalink") - -至此,您已经定义了应用程序的依赖关系,但是仍然错过了可以找到所需文件的位置. 您需要像创建依赖项项目一样创建一个`.m2/settings.xml`文件,并使用环境变量让 Maven 知道位置. - -这是直接从 Artifactory 获取文件内容的方法: - -1. 在主屏幕上,单击" **设置我"**面板中的`libs-release-local`项目 -2. 单击**生成 Maven 设置** -3. 点击**生成设置** -4. 将配置文件复制到剪贴板 -5. 在存储库中将文件另存为`.m2/settings.xml` - -现在您可以使用 Artifactory 存储库来解决依赖关系,并在主应用程序中使用`simple-maven-dep` ! - -### Configure GitLab CI/CD for `simple-maven-app`[](#configure-gitlab-cicd-for-simple-maven-app "Permalink") - -您需要完成所有步骤:为该项目配置`.gitlab-ci.yml`文件,就像对`simple-maven-dep`所做的那样. - -您想利用[GitLab CI / CD](https://about.gitlab.com/stages-devops-lifecycle/continuous-integration/)自动构建,测试和运行您的超赞应用程序,并查看是否可以按预期方式获得欢迎! - -您需要做的就是将以下`.gitlab-ci.yml`添加到存储库中: - -``` -image: maven:latest - -stages: - - build - - test - - run - -variables: - MAVEN_CLI_OPTS: "-s .m2/settings.xml --batch-mode" - MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository" - -cache: - paths: - - .m2/repository/ - - target/ - -build: - stage: build - script: - - mvn $MAVEN_CLI_OPTS compile - -test: - stage: test - script: - - mvn $MAVEN_CLI_OPTS test - -run: - stage: run - script: - - mvn $MAVEN_CLI_OPTS package - - mvn $MAVEN_CLI_OPTS exec:java -Dexec.mainClass="com.example.app.App" -``` - -它与用于`simple-maven-dep`的配置非常相似,但是有一个`run`作业代替了`deploy`作业. 可能是您不想在实际项目中使用的东西,但是在这里查看自动执行的应用程序很有用. - -就是这样! 在`run`作业输出日志中,您会找到与 GitLab 的友好问好! - -## Conclusion[](#conclusion "Permalink") - -在本文中,我们介绍了使用 Artifactory Maven 存储库自动发布和使用工件的基本步骤. - -可以使用类似的方法与任何其他 Maven 兼容的 Binary Repository Manager 进行交互. 显然,您可以改进这些示例,优化`.gitlab-ci.yml`文件以更好地满足您的需求,并适应您的工作流程. \ No newline at end of file diff --git a/docs/235.md b/docs/235.md deleted file mode 100644 index 1445963..0000000 --- a/docs/235.md +++ /dev/null @@ -1,255 +0,0 @@ -# Testing PHP projects - -> 原文:[https://docs.gitlab.com/ee/ci/examples/php.html](https://docs.gitlab.com/ee/ci/examples/php.html) - -* [Test PHP projects using the Docker executor](#test-php-projects-using-the-docker-executor) - * [Test against different PHP versions in Docker builds](#test-against-different-php-versions-in-docker-builds) - * [Custom PHP configuration in Docker builds](#custom-php-configuration-in-docker-builds) -* [Test PHP projects using the Shell executor](#test-php-projects-using-the-shell-executor) - * [Test against different PHP versions in Shell builds](#test-against-different-php-versions-in-shell-builds) - * [Install custom extensions](#install-custom-extensions) -* [Extend your tests](#extend-your-tests) - * [Using atoum](#using-atoum) - * [Using Composer](#using-composer) -* [Access private packages or dependencies](#access-private-packages-or-dependencies) -* [Use databases or other services](#use-databases-or-other-services) -* [Testing things locally](#testing-things-locally) -* [Example project](#example-project) - -# Testing PHP projects[](#testing-php-projects "Permalink") - -本指南涵盖了 PHP 项目的基本构建说明. - -涵盖了两种测试方案:使用 Docker 执行程序和使用 Shell 执行程序. - -## Test PHP projects using the Docker executor[](#test-php-projects-using-the-docker-executor "Permalink") - -尽管可以在任何系统上测试 PHP 应用程序,但这都需要开发人员进行手动配置. 为了克服这个问题,我们将使用可在 Docker Hub 中找到的官方[PHP Docker 映像](https://hub.docker.com/_/php) . - -这将使我们能够针对不同版本的 PHP 测试 PHP 项目. 但是,并非所有事情都是即插即用的,您仍然需要手动配置一些东西. - -与每项工作一样,您需要创建一个描述构建环境的有效`.gitlab-ci.yml` . - -首先,让我们指定将用于作业过程的 PHP 映像(您可以在 Runner 的术语中阅读有关[使用 Docker 映像的](../docker/using_docker_images.html#what-is-an-image)更多信息,以了解映像的含义). - -首先将图像添加到您的`.gitlab-ci.yml` : - -``` -image: php:5.6 -``` - -官方图片很棒,但是缺少一些有用的测试工具. 我们需要首先准备构建环境. 解决此问题的一种方法是创建一个脚本,该脚本在完成实际测试之前会安装所有必备组件. - -Let’s create a `ci/docker_install.sh` file in the root directory of our repository with the following content: - -``` -#!/bin/bash - -# We need to install dependencies only for Docker -[[ ! -e /.dockerenv ]] && exit 0 - -set -xe - -# Install git (the php image doesn't have it) which is required by composer -apt-get update -yqq -apt-get install git -yqq - -# Install phpunit, the tool that we will use for testing -curl --location --output /usr/local/bin/phpunit https://phar.phpunit.de/phpunit.phar -chmod +x /usr/local/bin/phpunit - -# Install mysql driver -# Here you can install any other extension that you need -docker-php-ext-install pdo_mysql -``` - -您可能想知道`docker-php-ext-install`是什么. 简而言之,它是官方 PHP Docker 映像提供的脚本,可用于轻松安装扩展. 有关更多信息,请参阅[https://hub.docker.com/_/php 上](https://hub.docker.com/_/php)的文档. - -现在,我们创建了包含构建环境的所有先决条件的脚本,让我们将其添加到`.gitlab-ci.yml` : - -``` -... - -before_script: - - bash ci/docker_install.sh > /dev/null - -... -``` - -最后一步,使用`phpunit`运行实际测试: - -``` -... - -test:app: - script: - - phpunit --configuration phpunit_myapp.xml - -... -``` - -最后,提交文件并将其推送到 GitLab,以查看构建成功(或失败). - -最终的`.gitlab-ci.yml`应该类似于以下内容: - -``` -# Select image from https://hub.docker.com/_/php -image: php:5.6 - -before_script: -# Install dependencies - - bash ci/docker_install.sh > /dev/null - -test:app: - script: - - phpunit --configuration phpunit_myapp.xml -``` - -### Test against different PHP versions in Docker builds[](#test-against-different-php-versions-in-docker-builds "Permalink") - -针对多个版本的 PHP 进行测试非常容易. 只需添加另一个具有不同 Docker 映像版本的作业,即可由跑步者完成其余工作: - -``` -before_script: -# Install dependencies - - bash ci/docker_install.sh > /dev/null - -# We test PHP5.6 -test:5.6: - image: php:5.6 - script: - - phpunit --configuration phpunit_myapp.xml - -# We test PHP7.0 (good luck with that) -test:7.0: - image: php:7.0 - script: - - phpunit --configuration phpunit_myapp.xml -``` - -### Custom PHP configuration in Docker builds[](#custom-php-configuration-in-docker-builds "Permalink") - -有时,您需要通过将`.ini`文件放入`/usr/local/etc/php/conf.d/`来自定义 PHP 环境. 为此,添加一个`before_script`动作: - -``` -before_script: - - cp my_php.ini /usr/local/etc/php/conf.d/test.ini -``` - -当然, `my_php.ini`必须存在于存储库的根目录中. - -## Test PHP projects using the Shell executor[](#test-php-projects-using-the-shell-executor "Permalink") - -Shell 执行程序在服务器上的终端会话中运行您的作业. 因此,为了测试您的项目,您首先需要确保已安装所有依赖项. - -例如,在运行 Debian 8 的 VM 中,我们首先更新缓存,然后安装`phpunit`和`php5-mysql` : - -``` -sudo apt-get update -y -sudo apt-get install -y phpunit php5-mysql -``` - -接下来,将以下代码段添加到`.gitlab-ci.yml` : - -``` -test:app: - script: - - phpunit --configuration phpunit_myapp.xml -``` - -最后,推送到 GitLab 并开始测试! - -### Test against different PHP versions in Shell builds[](#test-against-different-php-versions-in-shell-builds "Permalink") - -[phpenv](https://github.com/phpenv/phpenv)项目使您可以轻松管理不同版本的 PHP,每个版本都有自己的配置. 当使用 Shell 执行程序测试 PHP 项目时,这特别有用. - -您必须按照[上游安装指南](https://github.com/phpenv/phpenv#installation)在`gitlab-runner`用户下将其安装在构建计算机[上](https://github.com/phpenv/phpenv#installation) . - -使用 phpenv 还可以通过以下方式轻松配置 PHP 环境: - -``` -phpenv config-add my_config.ini -``` - -***重要说明:**似乎`phpenv/phpenv` [被放弃了](https://github.com/phpenv/phpenv/issues/57) . [madumlao / phpenv](https://github.com/madumlao/phpenv)上有一个分叉,试图使该项目[复活](https://github.com/madumlao/phpenv) . [CHH / phpenv](https://github.com/CHH/phpenv)似乎也是一个不错的选择. 选择任何提到的工具将与基本 phpenv 命令一起使用. 指导您选择正确的 phpenv 不在本教程的范围内.* - -### Install custom extensions[](#install-custom-extensions "Permalink") - -由于这是 PHP 环境的裸机安装,因此您可能需要一些构建机器上当前不存在的扩展. - -要安装其他扩展,只需执行以下命令: - -``` -pecl install <extension> -``` - -不建议将其添加到`.gitlab-ci.yml` . 您应该只执行一次此命令,仅用于设置构建环境. - -## Extend your tests[](#extend-your-tests "Permalink") - -### Using atoum[](#using-atoum "Permalink") - -除了 PHPUnit,您可以使用任何其他工具来运行单元测试. 例如,您可以使用[atoum](https://github.com/atoum/atoum) : - -``` -before_script: - - wget http://downloads.atoum.org/nightly/mageekguy.atoum.phar - -test:atoum: - script: - - php mageekguy.atoum.phar -``` - -### Using Composer[](#using-composer "Permalink") - -大多数 PHP 项目使用 Composer 来管理其 PHP 软件包. 为了在运行测试之前执行 Composer,只需在`.gitlab-ci.yml`添加以下`.gitlab-ci.yml` : - -``` -... - -# Composer stores all downloaded packages in the vendor/ directory. -# Do not use the following if the vendor/ directory is committed to -# your git repository. -cache: - paths: - - vendor/ - -before_script: -# Install composer dependencies - - wget https://composer.github.io/installer.sig -O - -q | tr -d '\n' > installer.sig - - php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" - - php -r "if (hash_file('SHA384', 'composer-setup.php') === file_get_contents('installer.sig')) { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" - - php composer-setup.php - - php -r "unlink('composer-setup.php'); unlink('installer.sig');" - - php composer.phar install - -... -``` - -## Access private packages or dependencies[](#access-private-packages-or-dependencies "Permalink") - -如果您的测试套件需要访问私有存储库,则需要配置[SSH 密钥](../ssh_keys/README.html)才能克隆它. - -## Use databases or other services[](#use-databases-or-other-services "Permalink") - -大多数时候,您将需要一个正在运行的数据库才能运行测试. 如果您使用的是 Docker 执行器,则可以利用 Docker 链接到其他容器的功能. 使用 GitLab Runner,可以通过定义`service`来实现. - -[CI 服务](../services/README.html)文档中涵盖了此功能. - -## Testing things locally[](#testing-things-locally "Permalink") - -使用 GitLab Runner 1.0,您还可以在本地测试所有更改. 从您的终端执行: - -``` -# Check using docker executor -gitlab-runner exec docker test:app - -# Check using shell executor -gitlab-runner exec shell test:app -``` - -## Example project[](#example-project "Permalink") - -为了方便起见,我们建立了一个[示例 PHP 项目](https://gitlab.com/gitlab-examples/php) ,该[项目](https://gitlab.com/gitlab-examples/php)使用我们的公共[共享](../runners/README.html)运行器在[GitLab.com](https://gitlab.com)上运行. - -想要破解吗? 只需对其进行分叉,提交并推送您的更改. 稍后,公共跑步者将选择更改并开始工作. \ No newline at end of file diff --git a/docs/236.md b/docs/236.md deleted file mode 100644 index eefebd3..0000000 --- a/docs/236.md +++ /dev/null @@ -1,165 +0,0 @@ -# Running Composer and NPM scripts with deployment via SCP in GitLab CI/CD - -> 原文:[https://docs.gitlab.com/ee/ci/examples/deployment/composer-npm-deploy.html](https://docs.gitlab.com/ee/ci/examples/deployment/composer-npm-deploy.html) - -* [How to transfer files to a live server](#how-to-transfer-files-to-a-live-server) - * [Security tip](#security-tip) -* [How to deploy](#how-to-deploy) - * [Why we do it this way](#why-we-do-it-this-way) -* [Where to go next](#where-to-go-next) - -# Running Composer and NPM scripts with deployment via SCP in GitLab CI/CD[](#running-composer-and-npm-scripts-with-deployment-via-scp-in-gitlab-cicd "Permalink") - -本指南涵盖了在使用[GitLab CI / CD](../../README.html)通过 NPM 脚本编译资产时,如何构建 PHP 项目的依赖项. - -虽然可以使用自定义的 PHP 和 Node.js 版本创建自己的映像,但为了简便起见,我们将使用既包含 PHP 又安装 Node.js 的现有[Docker 映像](https://hub.docker.com/r/tetraweb/php/) . - -``` -image: tetraweb/php -``` - -下一步是安装 zip / unzip 软件包并使 composer 可用. 我们将它们放在`before_script`部分中: - -``` -before_script: - - apt-get update - - apt-get install zip unzip - - php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" - - php composer-setup.php - - php -r "unlink('composer-setup.php');" -``` - -这将确保我们已准备好所有要求. 接下来,我们要运行`composer install`来获取所有 PHP 依赖项,然后运行`npm install`来加载 Node.js 包,然后运行`npm`脚本. 我们需要将它们附加到`before_script`部分: - -``` -before_script: - # ... - - php composer.phar install - - npm install - - npm run deploy -``` - -在此特定情况下, `npm deploy`脚本是执行以下操作的 Gulp 脚本: - -1. 编译 CSS 和 JS -2. Create sprites -3. 复制各种资产(图像,字体) -4. 替换一些字符串 - -所有这些操作会将所有文件放入一个`build`文件夹,该文件夹准备好部署到实时服务器中. - -## How to transfer files to a live server[](#how-to-transfer-files-to-a-live-server "Permalink") - -您有多种选择:rsync,SCP,SFTP 等. 现在,我们将使用 SCP. - -为此,您需要添加一个 GitLab CI / CD 变量(可在`gitlab.example/your-project-name/variables` ). 该变量将称为`STAGING_PRIVATE_KEY` ,它是服务器的**私密** SSH 密钥. - -### Security tip[](#security-tip "Permalink") - -创建一个**仅**可以访问需要更新的文件夹的用户. - -创建该变量后,需要确保在运行时将密钥添加到 Docker 容器中: - -``` -before_script: - # - .... - - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - - mkdir -p ~/.ssh - - eval $(ssh-agent -s) - - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config' -``` - -按顺序,这意味着: - -1. 我们检查`ssh-agent`是否可用,如果没有,则安装它. -2. 我们创建`~/.ssh`文件夹. -3. 我们确保正在运行 bash. -4. 我们禁用主机检查(当我们首次连接到服务器时,我们不要求用户接受,并且由于每个作业都将等同于首次连接,因此我们有点需要这样做). - -这基本上是您在`before_script`部分中所需要的. - -## How to deploy[](#how-to-deploy "Permalink") - -如上所述,我们需要将 Docker 镜像中的`build`文件夹部署到我们的服务器. 为此,我们创建了一个新作业: - -``` -stage_deploy: - artifacts: - paths: - - build/ - only: - - dev - script: - - ssh-add <(echo "$STAGING_PRIVATE_KEY") - - ssh -p22 server_user@server_host "mkdir htdocs/wp-content/themes/_tmp" - - scp -P22 -r build/* server_user@server_host:htdocs/wp-content/themes/_tmp - - ssh -p22 server_user@server_host "mv htdocs/wp-content/themes/live htdocs/wp-content/themes/_old && mv htdocs/wp-content/themes/_tmp htdocs/wp-content/themes/live" - - ssh -p22 server_user@server_host "rm -rf htdocs/wp-content/themes/_old" -``` - -这是细分: - -1. `only:dev`表示仅当将某些内容推送到`dev`分支时,此构建才会运行. 您可以完全删除此块,并在每次推送时都运行所有内容(但是这可能是您不想要的) -2. `ssh-add ...`我们会将您在 Web UI 上添加的私钥添加到 Docker 容器中 -3. 我们将通过`ssh`连接并创建一个新的`_tmp`文件夹 -4. 我们将通过`scp`连接并将`build`文件夹(由`npm`脚本生成)上传到我们先前创建的`_tmp`文件夹中 -5. 我们将再次通过`ssh`连接,然后将`live`文件夹移至`_old`文件夹,然后将`_tmp`移至`live` . -6. 我们连接到 SSH 并删除`_old`文件夹 - -这些文物怎么处理? 我们只是告诉 GitLab CI / CD 保留`build`目录(以后,您可以根据需要下载该目录). - -### Why we do it this way[](#why-we-do-it-this-way "Permalink") - -如果仅将其用于舞台服务器,则可以分两个步骤进行操作: - -``` -- ssh -p22 server_user@server_host "rm -rf htdocs/wp-content/themes/live/*" -- scp -P22 -r build/* server_user@server_host:htdocs/wp-content/themes/live -``` - -问题在于,服务器将在短时间内没有该应用程序. - -因此,对于生产环境,我们使用其他步骤来确保在任何给定时间都可以使用功能正常的应用程序. - -## Where to go next[](#where-to-go-next "Permalink") - -由于这是一个 WordPress 项目,因此我给出了真实的代码片段. 您可以追求一些进一步的想法: - -* `master`分支的脚本稍有不同,将使您可以从该分支部署到生产服务器,并从任何其他分支部署到阶段服务器. -* 除了将其实时发布之外,您还可以将其推送到 WordPress 官方存储库(创建 SVN 提交等). -* 您可以动态生成 i18n 文本域. - -* * * - -我们最终的`.gitlab-ci.yml`将如下所示: - -``` -image: tetraweb/php - -before_script: - - apt-get update - - apt-get install zip unzip - - php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" - - php composer-setup.php - - php -r "unlink('composer-setup.php');" - - php composer.phar install - - npm install - - npm run deploy - - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - - mkdir -p ~/.ssh - - eval $(ssh-agent -s) - - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config' - -stage_deploy: - artifacts: - paths: - - build/ - only: - - dev - script: - - ssh-add <(echo "$STAGING_PRIVATE_KEY") - - ssh -p22 server_user@server_host "mkdir htdocs/wp-content/themes/_tmp" - - scp -P22 -r build/* server_user@server_host:htdocs/wp-content/themes/_tmp - - ssh -p22 server_user@server_host "mv htdocs/wp-content/themes/live htdocs/wp-content/themes/_old && mv htdocs/wp-content/themes/_tmp htdocs/wp-content/themes/live" - - ssh -p22 server_user@server_host "rm -rf htdocs/wp-content/themes/_old" -``` \ No newline at end of file diff --git a/docs/237.md b/docs/237.md deleted file mode 100644 index 0bd7654..0000000 --- a/docs/237.md +++ /dev/null @@ -1,644 +0,0 @@ -# Test and deploy Laravel applications with GitLab CI/CD and Envoy - -> 原文:[https://docs.gitlab.com/ee/ci/examples/laravel_with_gitlab_and_envoy/](https://docs.gitlab.com/ee/ci/examples/laravel_with_gitlab_and_envoy/) - -* [Introduction](#introduction) -* [Initialize our Laravel app on GitLab](#initialize-our-laravel-app-on-gitlab) - * [Unit Test](#unit-test) - * [Push to GitLab](#push-to-gitlab) -* [Configure the production server](#configure-the-production-server) - * [Create a new user](#create-a-new-user) - * [Add SSH key](#add-ssh-key) - * [Configuring NGINX](#configuring-nginx) -* [Setting up Envoy](#setting-up-envoy) - * [How Envoy works](#how-envoy-works) - * [Zero downtime deployment](#zero-downtime-deployment) - * [@setup directive](#setup-directive) - * [@story directive](#story-directive) - * [Clone the repository](#clone-the-repository) - * [Installing dependencies with Composer](#installing-dependencies-with-composer) - * [Activate new release](#activate-new-release) - * [Full script](#full-script) -* [Continuous Integration with GitLab](#continuous-integration-with-gitlab) - * [Create a Container Image](#create-a-container-image) - * [Setting Up GitLab Container Registry](#setting-up-gitlab-container-registry) - * [Setting up GitLab CI/CD](#setting-up-gitlab-cicd) - * [Image and Services](#image-and-services) - * [Variables](#variables) - * [Unit Test as the first job](#unit-test-as-the-first-job) - * [Deploy to production](#deploy-to-production) - * [Turn on GitLab CI/CD](#turn-on-gitlab-cicd) -* [Conclusion](#conclusion) - -# Test and deploy Laravel applications with GitLab CI/CD and Envoy[](#test-and-deploy-laravel-applications-with-gitlab-cicd-and-envoy "Permalink") - -## Introduction[](#introduction "Permalink") - -GitLab 通过持续集成为我们的应用程序提供功能,并且可以随时将新的代码更改轻松部署到生产服务器. - -在本教程中,我们将向您展示如何初始化[Laravel](https://s0laravel0com.icopy.site)应用程序并设置[Envoy](https://s0laravel0com.icopy.site/docs/master/envoy)任务,然后我们将跳入如何使用[GitLab CI / CD](../README.html)通过[Continuous Delivery](https://about.gitlab.com/blog/2016/08/05/continuous-integration-delivery-and-deployment-with-gitlab/)测试和部署它的方法. - -我们假设您具有 Laravel 和 Linux 服务器的基本经验,并且知道如何使用 GitLab. - -Laravel 是一个用 PHP 编写的高质量 Web 框架. 它有一个很棒的社区,提供了[很棒的文档](https://s0laravel0com.icopy.site/docs) . 除了常规的路由,控制器,请求,响应,视图和(刀片)模板外,Laravel 还提供了许多其他服务,例如缓存,事件,本地化,身份验证以及许多其他服务. - -我们将使用[Envoy](https://s0laravel0com.icopy.site/docs/master/envoy)作为基于 PHP 的 SSH 任务运行程序. 它使用简洁的[Blade 语法](https://s0laravel0com.icopy.site/docs/master/blade)来设置可以在远程服务器上运行的任务,例如,从存储库克隆项目,安装 Composer 依赖项以及运行[Artisan 命令](https://s0laravel0com.icopy.site/docs/master/artisan) . - -## Initialize our Laravel app on GitLab[](#initialize-our-laravel-app-on-gitlab "Permalink") - -我们假设[您已经安装了一个新的 Laravel 项目](https://s0laravel0com.icopy.site/docs/master/installation) ,所以让我们从单元测试开始,并为该项目初始化 Git. - -### Unit Test[](#unit-test "Permalink") - -Laravel 的每个新安装(当前为 5.4)都在测试目录中放置了两种类型的测试:"功能"和"单元". 这是来自`test/Unit/ExampleTest.php`的单元测试: - -``` -<?php - -namespace Tests\Unit; - -... - -class ExampleTest extends TestCase -{ - public function testBasicTest() - { - $this->assertTrue(true); - } -} -``` - -该测试就像断言给定值是 true 一样简单. - -Laravel 默认使用`PHPUnit`进行测试. 如果运行`vendor/bin/phpunit`我们应该看到绿色输出: - -``` -vendor/bin/phpunit -OK (1 test, 1 assertions) -``` - -该测试将在以后用于通过 GitLab CI / CD 持续测试我们的应用程序. - -### Push to GitLab[](#push-to-gitlab "Permalink") - -由于我们已经在本地启动并运行了应用程序,因此现在是将代码库推送到我们的远程存储库的时候了. 让我们在 GitLab 中创建[一个](../../../gitlab-basics/create-project.html)名为`laravel-sample` [的新项目](../../../gitlab-basics/create-project.html) . 之后,按照项目主页上显示的命令行说明在我们的计算机上启动存储库并推送第一个提交. - -``` -cd laravel-sample -git init -git remote add origin git@gitlab.example.com:<USERNAME>/laravel-sample.git -git add . -git commit -m 'Initial Commit' -git push -u origin master -``` - -## Configure the production server[](#configure-the-production-server "Permalink") - -在开始设置 Envoy 和 GitLab CI / CD 之前,让我们快速确保生产服务器已准备好进行部署. 我们已经在 Ubuntu 16.04 上安装了 LEMP 堆栈,该堆栈代表 Linux,NGINX,MySQL 和 PHP. - -### Create a new user[](#create-a-new-user "Permalink") - -现在,让我们创建一个新用户,该用户将用于部署我们的网站并使用[Linux ACL](https://serversforhackers.com/c/linux-acls)为其授予所需的权限: - -``` -# Create user deployer -sudo adduser deployer -# Give the read-write-execute permissions to deployer user for directory /var/www -sudo setfacl -R -m u:deployer:rwx /var/www -``` - -如果您的 Ubuntu 服务器上未安装 ACL,请使用以下命令进行安装: - -``` -sudo apt install acl -``` - -### Add SSH key[](#add-ssh-key "Permalink") - -假设我们要从 GitLab 上的私有存储库将应用程序部署到生产服务器. 首先,我们需要为部署者用户[生成一个**没有密码短语**的新 SSH 密钥对](../../../ssh/README.html) . - -之后,我们需要复制私钥,以使用 SSH 作为部署者用户将其用于连接到我们的服务器,以便能够自动化部署过程: - -``` -# As the deployer user on server -# -# Copy the content of public key to authorized_keys -cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys -# Copy the private key text block -cat ~/.ssh/id_rsa -``` - -现在,让我们将其作为[变量](../../variables/README.html#gitlab-cicd-environment-variables)添加到您的 GitLab 项目中. 变量是用户定义的变量,出于安全目的,它们存储在`.gitlab-ci.yml` . 可以通过导航到项目的**设置** > **CI / CD**来为每个项目添加它们. - -在**KEY**字段中,添加名称`SSH_PRIVATE_KEY` ,然后在**VALUE**字段中,粘贴您先前复制的私钥. 稍后,我们将在`.gitlab-ci.yml`使用此变量,以轻松地以部署者用户身份连接到我们的远程服务器,而无需输入其密码. - -[![variables page](img/a51fbcc597a6bc32e35c13c31799e36c.png)](img/variables_page.png) - -我们还需要将公共密钥作为[部署密钥](../../../ssh/README.html#deploy-keys)添加到" **项目"** > **"设置"** >" **存储库"** ,这使我们能够通过[SSH 协议](../../../gitlab-basics/command-line-commands.html#start-working-on-your-project)从服务器访问存储库. - -``` -# As the deployer user on the server -# -# Copy the public key -cat ~/.ssh/id_rsa.pub -``` - -在" **标题** "字段中,添加所需的任何名称,然后将公共密钥粘贴到" **密钥"**字段中. - -[![deploy keys page](img/9443fbb9f077bc7be6beb1486c392c96.png)](img/deploy_keys_page.png) - -现在,让我们在服务器上克隆存储库,以确保`deployer`用户可以访问该存储库. - -``` -# As the deployer user on server -# -git clone git@gitlab.example.com:<USERNAME>/laravel-sample.git -``` - -> **注意:**如果询问, **请**回答**是.** `Are you sure you want to continue connecting (yes/no)?` . 它将 GitLab.com 添加到已知主机. - -### Configuring NGINX[](#configuring-nginx "Permalink") - -现在,让我们确保我们的 Web 服务器配置指向`current/public`而不是`public` . - -通过键入以下内容来打开默认的 NGINX 服务器块配置文件: - -``` -sudo nano /etc/nginx/sites-available/default -``` - -配置应该是这样的. - -``` -server { - root /var/www/app/current/public; - server_name example.com; - # Rest of the configuration -} -``` - -> **注意:**您可以将`/var/www/app/current/public`的应用程序名称替换为应用程序的文件夹名称. - -## Setting up Envoy[](#setting-up-envoy "Permalink") - -因此,我们已经准备好生产 Laravel 应用. 接下来是使用 Envoy 执行部署. - -要使用 Envoy,我们应该首先[按照 Laravel 给出的说明](https://s0laravel0com.icopy.site/docs/master/envoy/)将其安装在本地计算机上. - -### How Envoy works[](#how-envoy-works "Permalink") - -Envoy 的优点是它不需要 Blade 引擎,只使用 Blade 语法定义任务. 首先,我们在应用程序的根目录中创建一个`Envoy.blade.php` ,其中包含一个简单的测试 Envoy 的任务. - -``` -@servers(['web' => 'remote_username@remote_host']) - -@task('list', ['on' => 'web']) - ls -l -@endtask -``` - -如您所料,我们在文件顶部的`@servers`指令中有一个数组,其中包含一个名为`web`的键,其值为服务器地址的值(例如, `deployer@192.168.1.1` 192.168.1.1). 然后,在我们的`@task`指令中,定义执行任务时应在服务器上运行的 bash 命令. - -在本地计算机上,使用`run`命令运行 Envoy 任务. - -``` -envoy run list -``` - -它应该执行我们之前定义的`list`任务,该任务连接到服务器并列出目录内容. - -Envoy 不是 Laravel 的依赖项,因此您可以将其用于任何 PHP 应用程序. - -### Zero downtime deployment[](#zero-downtime-deployment "Permalink") - -每次我们部署到生产服务器时,Envoy 都会从 GitLab 存储库下载我们应用程序的最新版本,并将其替换为预览版本. Envoy 做到了这一点,没有任何[停机时间](https://en.wikipedia.org/wiki/Downtime) ,因此我们在部署过程中不必担心有人在审查站点. 我们的部署计划是从 GitLab 存储库克隆最新版本,安装 Composer 依赖项,最后激活新版本. - -#### [@setup](https://gitlab.com/setup) directive[](#setup-directive "Permalink") - -我们部署过程的第一步是在内部定义一组变量 [](https://s0laravel0com.icopy.site/docs/master/envoy/)[@setup](https://gitlab.com/setup)指令. 您可以将`app`更改为您的应用名称: - -``` -... - -@setup - $repository = 'git@gitlab.example.com:<USERNAME>/laravel-sample.git'; - $releases_dir = '/var/www/app/releases'; - $app_dir = '/var/www/app'; - $release = date('YmdHis'); - $new_release_dir = $releases_dir .'/'. $release; -@endsetup - -... -``` - -* `$repository`是我们存储库的地址 -* `$releases_dir`目录是我们部署应用程序的位置 -* `$app_dir`是服务器上实时存在的应用程序的实际位置 -* `$release` contains a date, so every time that we deploy a new release of our app, we get a new folder with the current date as name -* `$new_release_dir`是新版本的完整路径,仅用于使任务更整洁 - -#### [@story](https://gitlab.com/story) directive[](#story-directive "Permalink") - -的 [](https://s0laravel0com.icopy.site/docs/master/envoy/)[@story](https://gitlab.com/story)指令允许我们定义可以作为单个任务运行的任务列表. 在这里,我们有三个任务,称为`clone_repository` , `run_composer`和`update_symlinks` . 这些变量可用于使我们的任务代码更清晰: - -``` -... - -@story('deploy') - clone_repository - run_composer - update_symlinks -@endstory - -... -``` - -让我们一一创建这三个任务. - -#### Clone the repository[](#clone-the-repository "Permalink") - -第一个任务将创建`releases`目录(如果不存在),然后将存储库的`master`分支(默认情况下)克隆到由`$new_release_dir`变量指定的新 release 目录中. `releases`目录将包含我们所有的部署: - -``` -... - -@task('clone_repository') - echo 'Cloning repository' - [ -d {{ $releases_dir }} ] || mkdir {{ $releases_dir }} - git clone --depth 1 {{ $repository }} {{ $new_release_dir }} - cd {{ $new_release_dir }} - git reset --hard {{ $commit }} -@endtask - -... -``` - -随着我们项目的发展,它的 Git 历史将随着时间的流逝而持续很长时间. 由于我们为每个版本创建一个目录,因此不必为每个版本下载项目的历史记录. `--depth 1`选项是一个很好的解决方案, `--depth 1`可以节省系统时间和磁盘空间. - -#### Installing dependencies with Composer[](#installing-dependencies-with-composer "Permalink") - -您可能知道,此任务只是导航到新的发行目录并运行 Composer 来安装应用程序依赖项: - -``` -... - -@task('run_composer') - echo "Starting deployment ({{ $release }})" - cd {{ $new_release_dir }} - composer install --prefer-dist --no-scripts -q -o -@endtask - -... -``` - -#### Activate new release[](#activate-new-release "Permalink") - -在准备好新版本的要求之后,接下来要做的就是从其中删除存储目录,并创建两个符号链接,以将应用程序的`storage`目录和`.env`文件指向新版本. 然后,我们需要创建另一个符号链接到新版本用的名称`current`放置在 app 目录. `current`符号链接始终指向我们应用程序的最新版本: - -``` -... - -@task('update_symlinks') - echo "Linking storage directory" - rm -rf {{ $new_release_dir }}/storage - ln -nfs {{ $app_dir }}/storage {{ $new_release_dir }}/storage - - echo 'Linking .env file' - ln -nfs {{ $app_dir }}/.env {{ $new_release_dir }}/.env - - echo 'Linking current release' - ln -nfs {{ $new_release_dir }} {{ $app_dir }}/current -@endtask -``` - -如您所见,我们使用`-nfs`作为`ln`命令的选项,它表示`storage` , `.env`和`current`不再指向预览的发行版, `-nfs`通过强制将它们指向新发行版( `-nfs` `f`表示强制) ,这是我们进行多个部署的情况. - -### Full script[](#full-script "Permalink") - -脚本已准备就绪,但请确保将`deployer@192.168.1.1`更改为服务器,并使用要部署应用程序的目录更改`/var/www/app` app. - -最后,我们的`Envoy.blade.php`文件将如下所示: - -``` -@servers(['web' => 'deployer@192.168.1.1']) - -@setup - $repository = 'git@gitlab.example.com:<USERNAME>/laravel-sample.git'; - $releases_dir = '/var/www/app/releases'; - $app_dir = '/var/www/app'; - $release = date('YmdHis'); - $new_release_dir = $releases_dir .'/'. $release; -@endsetup - -@story('deploy') - clone_repository - run_composer - update_symlinks -@endstory - -@task('clone_repository') - echo 'Cloning repository' - [ -d {{ $releases_dir }} ] || mkdir {{ $releases_dir }} - git clone --depth 1 {{ $repository }} {{ $new_release_dir }} - cd {{ $new_release_dir }} - git reset --hard {{ $commit }} -@endtask - -@task('run_composer') - echo "Starting deployment ({{ $release }})" - cd {{ $new_release_dir }} - composer install --prefer-dist --no-scripts -q -o -@endtask - -@task('update_symlinks') - echo "Linking storage directory" - rm -rf {{ $new_release_dir }}/storage - ln -nfs {{ $app_dir }}/storage {{ $new_release_dir }}/storage - - echo 'Linking .env file' - ln -nfs {{ $app_dir }}/.env {{ $new_release_dir }}/.env - - echo 'Linking current release' - ln -nfs {{ $new_release_dir }} {{ $app_dir }}/current -@endtask -``` - -在进行任何部署之前,我们应该做的另一件事是第一次将我们的应用程序`storage`文件夹手动复制到服务器上的`/var/www/app`目录. 您可能想要创建另一个 Envoy 任务来为您完成此任务. 我们还在同一路径中创建`.env`文件, `.env`设置生产环境变量. 这些是永久性数据,将与每个新版本共享. - -现在,我们需要通过运行`envoy run deploy`来部署我们的应用程序,但这不是必需的,因为 GitLab 可以在 CI 的[环境下](../../environments/index.html)为我们处理此事,这将在本教程的[后面部分](#setting-up-gitlab-cicd)进行介绍. - -现在是时候提交[Envoy.blade.php](https://gitlab.com/mehranrasulian/laravel-sample/blob/master/Envoy.blade.php)并将其推送到`master`分支了. 为了简化起见,我们直接致力于`master` ,而无需使用[功能分支,](../../../topics/gitlab_flow.html#github-flow-as-a-simpler-alternative)因为协作不在本教程的讨论范围之内. 在现实世界的项目中,团队可以使用[问题跟踪程序](../../../user/project/issues/index.html)和[合并请求](../../../user/project/merge_requests/index.html)在分支之间移动代码: - -``` -git add Envoy.blade.php -git commit -m 'Add Envoy' -git push origin master -``` - -## Continuous Integration with GitLab[](#continuous-integration-with-gitlab "Permalink") - -我们已经在 GitLab 上准备好了我们的应用程序,我们也可以手动部署它. 但是,让我们向前迈出一步,使用" [持续交付"](https://about.gitlab.com/blog/2016/08/05/continuous-integration-delivery-and-deployment-with-gitlab/#continuous-delivery)方法自动完成此操作. 我们需要使用一组自动化测试来检查每个提交,以尽早发现问题,然后,如果我们对测试结果感到满意,则可以将其部署到目标环境. - -[GitLab CI / CD](../../README.html)允许我们使用[Docker](https://www.docker.com)引擎来处理测试和部署应用程序的过程. 如果您不熟悉 Docker,请参阅[如何自动化 Docker 部署](http://paislee.io/how-to-automate-docker-deployments/) . - -为了能够使用 GitLab CI / CD 构建,测试和部署我们的应用程序,我们需要准备工作环境. 为此,我们将使用具有 Laravel 应用程序运行最低要求的 Docker 映像. [也有其他方法](../php.html#test-php-projects-using-the-docker-executor)可以执行此操作,但是它们可能会使我们的构建运行缓慢,而在使用更快的选项时,这不是我们想要的. - -有了 Docker 映像,我们的构建运行得异常快! - -### Create a Container Image[](#create-a-container-image "Permalink") - -让我们在应用程序的根目录中创建一个[包含](https://gitlab.com/mehranrasulian/laravel-sample/blob/master/Dockerfile)以下内容的[Dockerfile](https://gitlab.com/mehranrasulian/laravel-sample/blob/master/Dockerfile) : - -``` -# Set the base image for subsequent instructions -FROM php:7.1 - -# Update packages -RUN apt-get update - -# Install PHP and composer dependencies -RUN apt-get install -qq git curl libmcrypt-dev libjpeg-dev libpng-dev libfreetype6-dev libbz2-dev - -# Clear out the local repository of retrieved package files -RUN apt-get clean - -# Install needed extensions -# Here you can install any other extension that you need during the test and deployment process -RUN docker-php-ext-install mcrypt pdo_mysql zip - -# Install Composer -RUN curl --silent --show-error https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer - -# Install Laravel Envoy -RUN composer global require "laravel/envoy=~1.0" -``` - -我们添加了[官方的 PHP 7.1 Docker 映像](https://hub.docker.com/_/php) ,该[映像](https://hub.docker.com/_/php)由 Debian Jessie 的最低安装和预安装的 PHP 组成,并且非常适合我们的用例. - -我们使用了`docker-php-ext-install` (由官方 PHP Docker 映像提供)来安装所需的 PHP 扩展. - -#### Setting Up GitLab Container Registry[](#setting-up-gitlab-container-registry "Permalink") - -现在我们有了`Dockerfile`让我们构建并将其推送到[GitLab 容器注册表](../../../user/packages/container_registry/index.html) . - -> 注册表是存储和标记图像以供以后使用的地方. 开发人员可能希望维护自己的注册表,以用于私人,公司映像或仅用于测试的一次性映像. 使用 GitLab 容器注册表意味着您无需设置和管理另一项服务或使用公共注册表. - -在您的 GitLab 项目存储库上,导航到" **注册表"**选项卡. - -[![container registry page empty image](img/31d242e54217fe005ee1481fbb81c786.png)](img/container_registry_page_empty_image.png) - -您可能需要对项目[启用 Container Registry](../../../user/packages/container_registry/index.html#enable-the-container-registry-for-your-project)才能看到此选项卡. 您可以在项目的**设置>常规>可见性,项目功能,权限**下找到它. - -要在我们的机器上开始使用 Container Registry,我们首先需要使用我们的 GitLab 用户名和密码登录到 GitLab 注册表: - -``` -docker login registry.gitlab.com -``` - -然后,我们可以构建图像并将其推送到 GitLab: - -``` -docker build -t registry.gitlab.com/<USERNAME>/laravel-sample . - -docker push registry.gitlab.com/<USERNAME>/laravel-sample -``` - -> **注意:**要运行上述命令,我们首先需要在计算机上安装[Docker](https://s0docs0docker0com.icopy.site/engine/installation/) . - -恭喜你! 您刚刚将第一个 Docker 映像推送到了 GitLab 注册表,如果刷新页面,您应该可以看到它: - -[![container registry page with image](img/771e5d2c3cbeba5811f78938b976dfdf.png)](img/container_registry_page_with_image.jpg) - -> **注意:**您也可以[使用 GitLab CI / CD](https://about.gitlab.com/blog/2016/05/23/gitlab-container-registry/#use-with-gitlab-ci)来构建和推送 Docker 映像,而不是在计算机上执行. - -我们将在`.gitlab-ci.yml`配置文件中进一步使用此图像,以处理测试和部署我们的应用程序的过程. - -让我们提交`Dockerfile`文件. - -``` -git add Dockerfile -git commit -m 'Add Dockerfile' -git push origin master -``` - -### Setting up GitLab CI/CD[](#setting-up-gitlab-cicd "Permalink") - -为了使用 GitLab CI / CD 构建和测试我们的应用程序,我们需要在存储库的根目录中有一个名为`.gitlab-ci.yml`的文件. 它类似于 Circle CI 和 Travis CI,但内置 GitLab. - -我们的`.gitlab-ci.yml`文件将如下所示: - -``` -image: registry.gitlab.com/<USERNAME>/laravel-sample:latest - -services: - - mysql:5.7 - -variables: - MYSQL_DATABASE: homestead - MYSQL_ROOT_PASSWORD: secret - DB_HOST: mysql - DB_USERNAME: root - -stages: - - test - - deploy - -unit_test: - stage: test - script: - - cp .env.example .env - - composer install - - php artisan key:generate - - php artisan migrate - - vendor/bin/phpunit - -deploy_production: - stage: deploy - script: - - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - - eval $(ssh-agent -s) - - ssh-add <(echo "$SSH_PRIVATE_KEY") - - mkdir -p ~/.ssh - - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config' - - - ~/.composer/vendor/bin/envoy run deploy --commit="$CI_COMMIT_SHA" - environment: - name: production - url: http://192.168.1.1 - when: manual - only: - - master -``` - -需要很多东西,不是吗? 让我们逐步进行操作. - -#### Image and Services[](#image-and-services "Permalink") - -[GitLab Runners](../../runners/README.html)运行`.gitlab-ci.yml`定义的脚本. `image`关键字告诉跑步者要使用哪个图像. `services`关键字定义[链接到主图像的其他图像](../../docker/using_docker_images.html#what-is-a-service) . 在这里,我们将之前创建的容器映像用作主映像,还将 MySQL 5.7 用作服务. - -``` -image: registry.gitlab.com/<USERNAME>/laravel-sample:latest - -services: - - mysql:5.7 - -... -``` - -> **注意:**如果要使用不同的 PHP 版本和[数据库管理系统](../../services/README.html)测试应用程序,则可以为每个测试作业定义不同的`image`和`services`关键字. - -#### Variables[](#variables "Permalink") - -GitLab CI / CD 允许我们在工作中使用[环境变量](../../yaml/README.html#variables) . 我们将 MySQL 定义为数据库管理系统,它带有默认创建的超级用户根. - -因此,我们应该通过将`MYSQL_DATABASE`变量定义为数据库名称并将`MYSQL_ROOT_PASSWORD`变量定义为`root`的密码来调整 MySQL 实例的配置. 在[官方的 MySQL Docker Image 中](https://hub.docker.com/_/mysql)找到有关 MySQL 变量的更多信息. - -还要将变量`DB_HOST`设置为`mysql` ,将`DB_USERNAME`为`root` ,这是 Laravel 特定的变量. 我们将`DB_HOST`定义为`mysql`而不是`127.0.0.1` ,因为我们将 MySQL Docker 映像用作[与主 Docker 映像链接](../../docker/using_docker_images.html#how-services-are-linked-to-the-job)的服务. - -``` -... - -variables: - MYSQL_DATABASE: homestead - MYSQL_ROOT_PASSWORD: secret - DB_HOST: mysql - DB_USERNAME: root - -... -``` - -#### Unit Test as the first job[](#unit-test-as-the-first-job "Permalink") - -我们将所需的外壳程序脚本定义为运行`unit_test`作业时要执行的[脚本](../../yaml/README.html#script)变量的数组. - -These scripts are some Artisan commands to prepare the Laravel, and, at the end of the script, we’ll run the tests by `PHPUnit`. - -``` -... - -unit_test: - script: - # Install app dependencies - - composer install - # Set up .env - - cp .env.example .env - # Generate an environment key - - php artisan key:generate - # Run migrations - - php artisan migrate - # Run tests - - vendor/bin/phpunit - -... -``` - -#### Deploy to production[](#deploy-to-production "Permalink") - -`deploy_production`作业会将应用程序部署到生产服务器. 要使用 Envoy 部署我们的应用程序,我们必须将`$SSH_PRIVATE_KEY`变量设置为[SSH 私钥](../../ssh_keys/README.html#ssh-keys-when-using-the-docker-executor) . 如果 SSH 密钥已成功添加,我们可以运行 Envoy. - -如前所述,GitLab 也支持[持续交付](https://about.gitlab.com/blog/2016/08/05/continuous-integration-delivery-and-deployment-with-gitlab/#continuous-delivery)方法. [环境](../../yaml/README.html#environment)关键字告诉 GitLab 该作业已部署到`production`环境. `url`关键字用于在 GitLab 环境页面上生成指向我们应用程序的链接. `only`关键字告诉 GitLab CI / CD 只有在管道正在构建`master`分支时才应执行作业. 最后, `when: manual`用于将作业从自动运行转变为手动操作. - -``` -... - -deploy_production: - script: - # Add the private SSH key to the build environment - - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - - eval $(ssh-agent -s) - - ssh-add <(echo "$SSH_PRIVATE_KEY") - - mkdir -p ~/.ssh - - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config' - - # Run Envoy - - ~/.composer/vendor/bin/envoy run deploy - - environment: - name: production - url: http://192.168.1.1 - when: manual - only: - - master -``` - -您可能还需要为[登台环境](https://about.gitlab.com/blog/2016/08/26/ci-deployment-and-environments/)添加另一个作业,以便在部署到生产[环境](https://about.gitlab.com/blog/2016/08/26/ci-deployment-and-environments/)之前对应用程序进行最终测试. - -### Turn on GitLab CI/CD[](#turn-on-gitlab-cicd "Permalink") - -我们已经准备好使用 GitLab CI / CD 测试和部署应用程序所需的一切. 为此,请提交`.gitlab-ci.yml`并将其推入`master`分支. 它将触发管道,您可以在项目的**Pipelines**下实时观看. - -[![pipelines page](img/3ca3bc9234ff248b19d9555bb5f1cff4.png)](img/pipelines_page.png) - -Here we see our **Test** and **Deploy** stages. The **Test** stage has the `unit_test` build running. click on it to see the Runner’s output. - -[![pipeline page](img/55c6a94e74c9a00da3a400ae60e3bf41.png)](img/pipeline_page.png) - -代码成功通过管道后,我们可以通过单击右侧的**播放**按钮将其部署到生产服务器. - -[![pipelines page deploy button](img/52c8f25cfabbe64b4ed7e579d9a27e4a.png)](img/pipelines_page_deploy_button.png) - -部署管道成功通过后,导航至" **管道">"环境"** . - -[![environments page](img/d0e9aaf43b9e19912342dddfb4b6be13.png)](img/environments_page.png) - -如果某些操作无法正常工作,则可以回滚到应用程序的最新工作版本. - -[![environment page](img/bd8c2bfd77b1834503e87e4dc5b58420.png)](img/environment_page.png) - -通过单击右侧指定的外部链接图标,GitLab 将打开生产网站. 我们的部署成功完成,我们可以看到该应用程序正在运行. - -[![Laravel welcome page](img/c6a214b87abe3ccc6a5287ea1d256834.png)](img/laravel_welcome_page.png) - -如果您想了解部署后生产服务器上的应用程序目录结构如何,这里有三个目录,分别名为`current` , `releases`和`storage` . 如您所知, `current`目录是指向最新版本的符号链接. `.env`文件包含我们的 Laravel 环境变量. - -[![production server app directory](img/262e648fe4e99ca02b386ebade539097.png)](img/production_server_app_directory.png) - -如果导航到`current`目录,则应该看到应用程序的内容. 如您所见, `.env`指向`/var/www/app/.env`文件, `storage`也指向`/var/www/app/storage/`目录. - -[![production server current directory](img/6ad15d363481e18f443e6709fc8d1368.png)](img/production_server_current_directory.png) - -## Conclusion[](#conclusion "Permalink") - -我们将 GitLab CI / CD 配置为执行自动化测试,并使用" [持续交付](https://continuousdelivery.com/) "方法直接从代码库部署到带有 Envoy 的 Laravel 应用程序. - -Envoy 也非常适合帮助我们在不编写自定义 bash 脚本和进行 Linux 魔术的情况下部署应用程序. \ No newline at end of file diff --git a/docs/238.md b/docs/238.md deleted file mode 100644 index 53ddd23..0000000 --- a/docs/238.md +++ /dev/null @@ -1,97 +0,0 @@ -# Test and deploy a Python application with GitLab CI/CD - -> 原文:[https://docs.gitlab.com/ee/ci/examples/test-and-deploy-python-application-to-heroku.html](https://docs.gitlab.com/ee/ci/examples/test-and-deploy-python-application-to-heroku.html) - -* [Configure project](#configure-project) -* [Store API keys](#store-api-keys) -* [Create Heroku application](#create-heroku-application) -* [Create Runner](#create-runner) - -# Test and deploy a Python application with GitLab CI/CD[](#test-and-deploy-a-python-application-with-gitlab-cicd "Permalink") - -本示例将指导您如何在 Python 应用程序中运行测试,以及如何将其自动部署为 Heroku 应用程序. - -您也可以查看或生成完整的[示例源](https://gitlab.com/ayufan/python-getting-started) . - -## Configure project[](#configure-project "Permalink") - -这是此项目的`.gitlab-ci.yml`文件的外观: - -``` -stages: - - test - - deploy - -test: - stage: test - script: - # this configures Django application to use attached postgres database that is run on `postgres` host - - export DATABASE_URL=postgres://postgres:@postgres:5432/python-test-app - - apt-get update -qy - - apt-get install -y python-dev python-pip - - pip install -r requirements.txt - - python manage.py test - -staging: - stage: deploy - script: - - apt-get update -qy - - apt-get install -y ruby-dev - - gem install dpl - - dpl --provider=heroku --app=gitlab-ci-python-test-staging --api-key=$HEROKU_STAGING_API_KEY - only: - - master - -production: - stage: deploy - script: - - apt-get update -qy - - apt-get install -y ruby-dev - - gem install dpl - - dpl --provider=heroku --app=gitlab-ci-python-test-prod --api-key=$HEROKU_PRODUCTION_API_KEY - only: - - tags -``` - -这个项目有三个工作: - -* `test` -用于测试 Django 应用程序. -* `staging` -用于每次推送到`master`分支时自动部署登台环境. -* `production` -用于为每个创建的标签自动部署生产环境. - -## Store API keys[](#store-api-keys "Permalink") - -您需要在 GitLab 项目的**"设置">" CI / CD">"环境变量"**中创建两个变量: - -* `HEROKU_STAGING_API_KEY` -Heroku API 密钥,用于部署登台应用程序. -* `HEROKU_PRODUCTION_API_KEY` -Heroku API 密钥,用于部署生产应用程序. - -在" [管理帐户"中](https://dashboard.heroku.com/account)找到您的 Heroku API 密钥. - -## Create Heroku application[](#create-heroku-application "Permalink") - -对于每个环境,您都需要创建一个新的 Heroku 应用程序. 您可以通过[仪表板](https://dashboard.heroku.com/)执行此操作. - -## Create Runner[](#create-runner "Permalink") - -首先安装[Docker Engine](https://s0docs0docker0com.icopy.site/installation/) . - -要构建此项目,您还需要安装[GitLab Runner](https://docs.gitlab.com/runner/index.html) . 您可以使用`gitlab.com`上的公共跑步者,也可以注册自己的跑步者: - -``` -cat > /tmp/test-config.template.toml << EOF [[runners]] -[runners.docker] -[[runners.docker.services]] -name = "postgres:latest" EOF gitlab-runner register \ - --non-interactive \ - --url "https://gitlab.com/" \ - --registration-token "PROJECT_REGISTRATION_TOKEN" \ - --description "python-3.5" \ - --executor "docker" \ - --template-config /tmp/test-config.template.toml \ - --docker-image python:3.5 -``` - -使用上面的命令,您将创建一个使用[`python:3.5`](https://hub.docker.com/_/python)图像并使用[PostgreSQL](https://hub.docker.com/_/postgres)数据库的运行器. - -要访问 PostgreSQL 数据库,请以没有密码的用户`postgres`身份连接到`host: postgres` . \ No newline at end of file diff --git a/docs/239.md b/docs/239.md deleted file mode 100644 index 9d9a7b7..0000000 --- a/docs/239.md +++ /dev/null @@ -1,94 +0,0 @@ -# Test and deploy a Ruby application with GitLab CI/CD - -> 原文:[https://docs.gitlab.com/ee/ci/examples/test-and-deploy-ruby-application-to-heroku.html](https://docs.gitlab.com/ee/ci/examples/test-and-deploy-ruby-application-to-heroku.html) - -* [Configure the project](#configure-the-project) -* [Store API keys](#store-api-keys) -* [Create Heroku application](#create-heroku-application) -* [Create Runner](#create-runner) - -# Test and deploy a Ruby application with GitLab CI/CD[](#test-and-deploy-a-ruby-application-with-gitlab-cicd "Permalink") - -该示例将指导您如何在 Ruby on Rails 应用程序中运行测试,以及如何将其自动部署为 Heroku 应用程序. - -您还可以查看或派生完整的[示例源,](https://gitlab.com/ayufan/ruby-getting-started)并查看其过去[CI 作业](https://gitlab.com/ayufan/ruby-getting-started/-/jobs?scope=finished)的日志. - -## Configure the project[](#configure-the-project "Permalink") - -这是此项目的`.gitlab-ci.yml`文件的外观: - -``` -test: - stage: test - script: - - apt-get update -qy - - apt-get install -y nodejs - - bundle install --path /cache - - bundle exec rake db:create RAILS_ENV=test - - bundle exec rake test - -staging: - stage: deploy - script: - - gem install dpl - - dpl --provider=heroku --app=gitlab-ci-ruby-test-staging --api-key=$HEROKU_STAGING_API_KEY - only: - - master - -production: - stage: deploy - script: - - gem install dpl - - dpl --provider=heroku --app=gitlab-ci-ruby-test-prod --api-key=$HEROKU_PRODUCTION_API_KEY - only: - - tags -``` - -这个项目有三个工作: - -* `test` -用于测试 Rails 应用程序. -* `staging` -用于每次推送到`master`分支时自动部署登台环境. -* `production` -用于为每个创建的标签自动部署生产环境. - -## Store API keys[](#store-api-keys "Permalink") - -您需要在项目的**设置> CI / CD>环境变量中**创建两个**变量** : - -* `HEROKU_STAGING_API_KEY` -Heroku API 密钥,用于部署登台应用程序. -* `HEROKU_PRODUCTION_API_KEY` -Heroku API 密钥,用于部署生产应用程序. - -Find your Heroku API key in [Manage Account](https://dashboard.heroku.com/account). - -## Create Heroku application[](#create-heroku-application "Permalink") - -对于每个环境,您都需要创建一个新的 Heroku 应用程序. 您可以通过[Heroku 仪表板](https://dashboard.heroku.com/)执行此操作. - -## Create Runner[](#create-runner "Permalink") - -首先安装[Docker Engine](https://s0docs0docker0com.icopy.site/installation/) . - -要构建此项目,您还需要安装[GitLab Runner](https://docs.gitlab.com/runner/) . 您可以使用`gitlab.com`上的公共跑步者或注册自己的跑步者. 首先创建模板配置文件以通过复杂的配置: - -``` -cat > /tmp/test-config.template.toml << EOF [[runners]] -[runners.docker] -[[runners.docker.services]] -name = "postgres:latest" EOF -``` - -最后,注册运行器,并传递新创建的模板配置文件: - -``` -gitlab-runner register \ - --non-interactive \ - --url "https://gitlab.com/" \ - --registration-token "PROJECT_REGISTRATION_TOKEN" \ - --description "ruby:2.6" \ - --executor "docker" \ - --template-config /tmp/test-config.template.toml \ - --docker-image ruby:2.6 -``` - -使用上面的命令,您将创建一个使用[`ruby:2.6`](https://hub.docker.com/_/ruby)图像并使用[PostgreSQL](https://hub.docker.com/_/postgres)数据库的 Runner. - -要访问 PostgreSQL 数据库,请以没有密码的用户`postgres`身份连接到`host: postgres` . \ No newline at end of file diff --git a/docs/240.md b/docs/240.md deleted file mode 100644 index c4cc086..0000000 --- a/docs/240.md +++ /dev/null @@ -1,70 +0,0 @@ -# Test and deploy a Scala application to Heroku - -> 原文:[https://docs.gitlab.com/ee/ci/examples/test-scala-application.html](https://docs.gitlab.com/ee/ci/examples/test-scala-application.html) - -* [Add `.gitlab-ci.yml` file to project](#add-gitlab-ciyml-file-to-project) -* [Display test coverage in job](#display-test-coverage-in-job) -* [Heroku application](#heroku-application) -* [Heroku API key](#heroku-api-key) - -# Test and deploy a Scala application to Heroku[](#test-and-deploy-a-scala-application-to-heroku "Permalink") - -该示例演示了使用 SBT 将 GitLab CI / CD 与 Scala 应用程序集成. 您可以查看或创建[示例项目,](https://gitlab.com/gitlab-examples/scala-sbt)并查看其过去的[CI 作业](https://gitlab.com/gitlab-examples/scala-sbt/-/jobs?scope=finished)的日志. - -## Add `.gitlab-ci.yml` file to project[](#add-gitlab-ciyml-file-to-project "Permalink") - -以下`.gitlab-ci.yml`应该添加到存储库的根目录中以触发 CI: - -``` -image: openjdk:8 - -stages: - - test - - deploy - -before_script: - - apt-get update -y - - apt-get install apt-transport-https -y - ## Install SBT - - echo "deb http://dl.bintray.com/sbt/debian /" | tee -a /etc/apt/sources.list.d/sbt.list - - apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 642AC823 - - apt-get update -y - - apt-get install sbt -y - - sbt sbtVersion - -test: - stage: test - script: - - sbt clean coverage test coverageReport - -deploy: - stage: deploy - script: - - apt-get update -yq - - apt-get install rubygems ruby-dev -y - - gem install dpl - - dpl --provider=heroku --app=gitlab-play-sample-app --api-key=$HEROKU_API_KEY -``` - -在以上配置中: - -* `before_script`将安装[SBT](https://www.scala-sbt.org/)并显示正在使用的版本. -* `test`阶段执行 SBT 来编译和测试项目. - * [sbt-scoverage](https://github.com/scoverage/sbt-scoverage)用作 SBT 插件来测量测试覆盖率. -* `deploy`阶段使用 dpl 将项目自动部署到 Heroku. - -您可以通过在`build.sbt`定义其他版本的 Scala 和 SBT 来使用它们. - -## Display test coverage in job[](#display-test-coverage-in-job "Permalink") - -在**设置➔管道➔覆盖率报告**项目设置中,将`Coverage was \[\d+.\d+\%\]`添加`Coverage was \[\d+.\d+\%\]`正则表达式,以从构建跟踪中检索[测试覆盖率](../pipelines/settings.html#test-coverage-report-badge)并将其与作业一起显示. - -必须启用**管道**才能显示此选项. - -## Heroku application[](#heroku-application "Permalink") - -需要 Heroku 应用程序. 您可以通过[仪表板](https://dashboard.heroku.com/)创建一个. 用您的应用程序名称`.gitlab-ci.yml`文件中的`gitlab-play-sample-app` . - -## Heroku API key[](#heroku-api-key "Permalink") - -您可以在[帐户中](https://dashboard.heroku.com/account)查找 Heroku API 密钥. 使用键`HEROKU_API_KEY`在**项目➔变量中**添加具有此值的[受保护变量](../variables/README.html#protect-a-custom-variable) . \ No newline at end of file diff --git a/docs/241.md b/docs/241.md deleted file mode 100644 index 3c238ff..0000000 --- a/docs/241.md +++ /dev/null @@ -1,81 +0,0 @@ -# GitLab CI/CD for external repositories - -> 原文:[https://docs.gitlab.com/ee/ci/ci_cd_for_external_repos/](https://docs.gitlab.com/ee/ci/ci_cd_for_external_repos/) - -* [Pipelines for external pull requests](#pipelines-for-external-pull-requests) - * [How it works](#how-it-works) - * [Additional predefined variables](#additional-predefined-variables) - * [Limitations](#limitations) - -# GitLab CI/CD for external repositories[](#gitlab-cicd-for-external-repositories-premium "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/4642) in [GitLab Premium](https://about.gitlab.com/pricing/) 10.6. - -GitLab CI / CD 可用于: - -* [GitHub](github_integration.html). -* [Bitbucket Cloud](bitbucket_integration.html). -* 任何其他 Git 服务器. - -无需将整个项目移至 GitLab,您可以连接外部存储库以获得 GitLab CI / CD 的好处. - -连接外部存储库将建立[存储库镜像](../../user/project/repository/repository_mirroring.html)并创建一个轻型项目,其中禁用了问题,合并请求,Wiki 和代码片段. 这些功能[可以稍后重新启用](../../user/project/settings/index.html#sharing-and-permissions) . - -要连接到外部存储库: - -1. 在您的 GitLab 仪表板上,点击**新建项目** . -2. 切换到**CI / CD 的外部回购**标签. -3. Choose **GitHub** or **通过 URL 回购**. -4. 后续步骤类似于[导入流程](../../user/project/import/index.html) . - -[![CI/CD for external repository project creation](img/8855ae33dbb80420649c523afdf3fe8b.png)](img/ci_cd_for_external_repo.png) - -## Pipelines for external pull requests[](#pipelines-for-external-pull-requests "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/65139) in GitLab Premium 12.3. - -当将 GitLab CI / CD 与[GitHub 上](github_integration.html)的[外部存储库一起使用时](github_integration.html) ,可以在 Pull Request 上下文中运行管道. - -当您将更改推送到 GitHub 中的远程分支时,GitLab CI / CD 可以为该分支运行管道. 但是,当您打开或更新该分支的"拉取请求"时,您可能需要: - -* 运行额外的工作. -* 不运行特定作业. - -例如: - -``` -always-run: - script: echo 'this should always run' - -on-pull-requests: - script: echo 'this should run on pull requests' - only: - - external_pull_requests - -except-pull-requests: - script: echo 'this should not run on pull requests' - except: - - external_pull_requests -``` - -### How it works[](#how-it-works "Permalink") - -从 GitHub 导入存储库时,GitLab 会订阅 webhooks 的`push`和`pull_request`事件. 收到`pull_request`事件后,将存储请求请求数据并将其保留为参考. 如果刚刚创建了 Pull Request,则 GitLab 会立即为外部 Pull Request 创建管道. - -如果将更改推送到"拉取请求"所引用的分支,并且"拉取请求"仍处于打开状态,则会创建用于外部拉取请求的管道. - -**注意:**在这种情况下,GitLab CI / CD 将创建 2 条管道. 一种用于分支推送,另一种用于外部拉取请求. - -关闭"拉取请求"后,即使将新的更改推送到同一分支,也不会为外部拉取请求创建任何管道. - -### Additional predefined variables[](#additional-predefined-variables "Permalink") - -通过将管道用于外部拉取请求,GitLab 将其他[预定义变量](../variables/predefined_variables.html)公开给管道作业. - -变量名称以`CI_EXTERNAL_PULL_REQUEST_`为前缀. - -### Limitations[](#limitations "Permalink") - -此功能当前不支持来自派生存储库的拉取请求. 来自 fork 存储库的任何 Pull Requests 将被忽略. [阅读更多](https://gitlab.com/gitlab-org/gitlab/-/issues/5667) . - -鉴于 GitLab 将创建 2 条管道,如果将更改推送到引用了打开的 Pull Request 的远程分支,则两者都将通过 GitHub 集成促进 Pull Request 的状态. 如果要只在外部请求请求上而不是在分支上运行管道,则可以添加以下内容, `except: [branches]`到作业规范. [阅读更多](https://gitlab.com/gitlab-org/gitlab/-/issues/24089#workaround) . \ No newline at end of file diff --git a/docs/242.md b/docs/242.md deleted file mode 100644 index 78c54e2..0000000 --- a/docs/242.md +++ /dev/null @@ -1,130 +0,0 @@ -# Using GitLab CI/CD with a Bitbucket Cloud repository - -> 原文:[https://docs.gitlab.com/ee/ci/ci_cd_for_external_repos/bitbucket_integration.html](https://docs.gitlab.com/ee/ci/ci_cd_for_external_repos/bitbucket_integration.html) - -# Using GitLab CI/CD with a Bitbucket Cloud repository[](#using-gitlab-cicd-with-a-bitbucket-cloud-repository-premium "Permalink") - -GitLab CI / CD 可以通过以下方式与 Bitbucket Cloud 一起使用: - -1. 创建一个[CI / CD 项目](../../user/project/ci_cd_for_external_repo.html) . -2. 通过 URL 连接您的 Git 存储库. - -要将 GitLab CI / CD 与 Bitbucket Cloud 存储库一起使用: - -1. 在 GitLab 中**为外部** **仓库**创建一个**CI / CD** ,选择" **按 URL 进行仓库"**并创建项目. - - [![Create project](img/d4fcdfd2497a9936b17469dbafbd320e.png)](img/external_repository.png) - - GitLab 将导入存储库并启用[Pull Mirroring](../../user/project/repository/repository_mirroring.html#pulling-from-a-remote-repository-starter) . - -2. 在 GitLab 中,创建具有`api`作用域的[个人访问令牌](../../user/profile/personal_access_tokens.html) . 这将用于验证来自 Web 钩子的请求,该请求将在 Bitbucket 中创建,以将新提交通知 GitLab. - -3. 在 Bitbucket 中,从**"设置">" Webhooks"**中创建一个新的 Web 挂钩,以将新的提交通知 GitLab. - - 应该使用我们刚刚生成的用于身份验证的个人访问令牌,将 Web 挂钩 URL 设置为 GitLab API 来触发拉镜像. - - ``` - https://gitlab.com/api/v4/projects/<PROJECT_ID>/mirror/pull?private_token=<PERSONAL_ACCESS_TOKEN> - ``` - - 网络挂钩触发器应设置为" Repository Push". - - [![Bitbucket Cloud webhook](img/3a328cbf9c83e567fa5921d3580a84cb.png)](img/bitbucket_webhook.png) - - 保存后,通过将更改推送到您的 Bitbucket 存储库来测试 Web 挂钩. - -4. 在 Bitbucket 中,从" **Bitbucket 设置">"应用程序密码"中**创建一个**应用** **程序密码,**以验证构建状态脚本设置来提交 Bitbucket 中的构建状态. 存储库写权限是必需的. - - [![Bitbucket Cloud webhook](img/0d3f7491de96f0f5d1d30a594ec42739.png)](img/bitbucket_app_password.png) - -5. 在 GitLab 中,从**设置> CI / CD>环境变量中** ,添加变量以允许通过 Bitbucket API 与 Bitbucket 通信: - - `BITBUCKET_ACCESS_TOKEN` :上面创建的 Bitbucket 应用密码. - - `BITBUCKET_USERNAME` :Bitbucket 帐户的用户名. - - `BITBUCKET_NAMESPACE` :如果您的 GitLab 和 Bitbucket 命名空间不同,请设置此项. - - `BITBUCKET_REPOSITORY` :如果您的 GitLab 和 Bitbucket 项目名称不同,请设置此项. - -6. 在 Bitbucket 中,添加脚本以将管道状态推送到 Bitbucket. - - > 注意:在 GitLab 中所做的更改将被 Bitbucket 在上游进行的任何更改所覆盖. - - 创建一个文件`build_status`并在下面插入脚本,然后在终端中运行`chmod +x build_status`以使脚本可执行. - - ``` - #!/usr/bin/env bash - - # Push GitLab CI/CD build status to Bitbucket Cloud - - if [ -z "$BITBUCKET_ACCESS_TOKEN" ]; then echo "ERROR: BITBUCKET_ACCESS_TOKEN is not set" - exit 1 - fi - if [ -z "$BITBUCKET_USERNAME" ]; then echo "ERROR: BITBUCKET_USERNAME is not set" - exit 1 - fi - if [ -z "$BITBUCKET_NAMESPACE" ]; then echo "Setting BITBUCKET_NAMESPACE to $CI_PROJECT_NAMESPACE" - BITBUCKET_NAMESPACE=$CI_PROJECT_NAMESPACE - fi - if [ -z "$BITBUCKET_REPOSITORY" ]; then echo "Setting BITBUCKET_REPOSITORY to $CI_PROJECT_NAME" - BITBUCKET_REPOSITORY=$CI_PROJECT_NAME - fi BITBUCKET_API_ROOT="https://api.bitbucket.org/2.0" - BITBUCKET_STATUS_API="$BITBUCKET_API_ROOT/repositories/$BITBUCKET_NAMESPACE/$BITBUCKET_REPOSITORY/commit/$CI_COMMIT_SHA/statuses/build" - BITBUCKET_KEY="ci/gitlab-ci/$CI_JOB_NAME" - - case "$BUILD_STATUS" in running) - BITBUCKET_STATE="INPROGRESS" - BITBUCKET_DESCRIPTION="The build is running!" - ;; - passed) - BITBUCKET_STATE="SUCCESSFUL" - BITBUCKET_DESCRIPTION="The build passed!" - ;; - failed) - BITBUCKET_STATE="FAILED" - BITBUCKET_DESCRIPTION="The build failed." - ;; - esac - - echo "Pushing status to $BITBUCKET_STATUS_API..." - curl --request POST $BITBUCKET_STATUS_API \ - --user $BITBUCKET_USERNAME:$BITBUCKET_ACCESS_TOKEN \ - --header "Content-Type:application/json" \ - --silent \ - --data "{ \"state\": \"$BITBUCKET_STATE\", \"key\": \"$BITBUCKET_KEY\", \"description\": \"$BITBUCKET_DESCRIPTION\",\"url\": \"$CI_PROJECT_URL/-/jobs/$CI_JOB_ID\" }" - ``` - -7. 仍在 Bitbucket 中,创建一个`.gitlab-ci.yml`文件以使用该脚本将管道成功与失败推送到 Bitbucket. - - ``` - stages: - - test - - ci_status - - unit-tests: - script: - - echo "Success. Add your tests!" - - success: - stage: ci_status - before_script: - - "" - after_script: - - "" - script: - - BUILD_STATUS=passed BUILD_KEY=push ./build_status - when: on_success - - failure: - stage: ci_status - before_script: - - "" - after_script: - - "" - script: - - BUILD_STATUS=failed BUILD_KEY=push ./build_status - when: on_failure - ``` - -现在已将 GitLab 配置为从 Bitbucket 镜像更改,运行在`.gitlab-ci.yml`配置的 CI / CD 管道,并将状态推送到 Bitbucket. \ No newline at end of file diff --git a/docs/243.md b/docs/243.md deleted file mode 100644 index ac3d52d..0000000 --- a/docs/243.md +++ /dev/null @@ -1,71 +0,0 @@ -# Using GitLab CI/CD with a GitHub repository - -> 原文:[https://docs.gitlab.com/ee/ci/ci_cd_for_external_repos/github_integration.html](https://docs.gitlab.com/ee/ci/ci_cd_for_external_repos/github_integration.html) - -* [Connect with Personal Access Token](#connect-with-personal-access-token) -* [Connect manually](#connect-manually) - -# Using GitLab CI/CD with a GitHub repository[](#using-gitlab-cicd-with-a-github-repository-premium "Permalink") - -通过创建[CI / CD 项目](index.html)将 GitHub 存储库连接到 GitLab,GitLab CI / CD 可与**GitHub.com**和**GitHub Enterprise**一起使用. - -观看有关在[GitHub 存储库中使用 GitLab CI / CD 管道](https://www.youtube.com/watch?v=qgl3F2j-1cI)的视频. - -**注意:**由于[GitHub 的限制](https://gitlab.com/gitlab-org/gitlab/-/issues/9147) ,不能将[GitHub OAuth](../../integration/github.html#enabling-github-oauth)用于作为外部 CI / CD 存储库的 GitHub 进行身份验证. - -## Connect with Personal Access Token[](#connect-with-personal-access-token "Permalink") - -**注意:**个人访问令牌只能用于将 GitHub.com 存储库连接到 GitLab,并且 GitHub 用户必须具有[owner 角色](https://help.github.com/en/github/getting-started-with-github/access-permissions-on-github) . - -要通过 GitHub 一次性授权以授予 GitLab 访问您的存储库的权限,请执行以下操作: - -1. 打开[https://github.com/settings/tokens/new](https://github.com/settings/tokens/new)来创建**个人访问令牌** . 该令牌将用于访问您的存储库并将提交状态推送到 GitHub. - - 应该启用`repo`和`admin:repo_hook`以允许 GitLab 访问您的项目,更新提交状态并创建 Web 挂钩以将新提交通知 GitLab. - -2. 在 GitLab 中,转到[新项目页面](../../gitlab-basics/create-project.html#create-a-project-in-gitlab) ,选择**CI / CD 作为外部仓库**选项卡,然后单击**GitHub** . - -3. 将令牌粘贴到" **个人访问令牌"**字段中,然后单击" **列出存储库"** . 单击" **连接"**以选择存储库. - -4. 在 GitHub 中,添加`.gitlab-ci.yml`以[配置 GitLab CI / CD](../quick_start/README.html) . - -GitLab 将: - -1. 导入项目. -2. Enable [Pull Mirroring](../../user/project/repository/repository_mirroring.html#pulling-from-a-remote-repository-starter) -3. Enable [GitHub project integration](../../user/project/integrations/github.html) -4. 在 GitHub 上创建一个 Web 挂钩,以通知 GitLab 新提交. - -## Connect manually[](#connect-manually "Permalink") - -**注意:**要将**GitHub Enterprise**与**GitLab.com 一起**使用,请使用此方法. - -要为您的存储库手动启用 GitLab CI / CD: - -1. 在 GitHub 中打开[https://github.com/settings/tokens/new](https://github.com/settings/tokens/new)创建**个人访问令牌.** GitLab 将使用此令牌访问您的存储库并推送提交状态. - - 输入**令牌描述**并更新范围以允许: - - `repo`以便 GitLab 可以访问您的项目并更新提交状态 - -2. 在 GitLab 中,使用 Git URL 选项和 GitHub 存储库的 HTTPS URL 创建一个**CI / CD 项目** . 如果您的项目是私人项目,请使用您刚创建的个人访问令牌进行身份验证. - - GitLab 将自动配置基于轮询的拉镜像. - -3. 仍在 GitLab 中,从**"设置">"集成"**启用[GitHub 项目](../../user/project/integrations/github.html) **集成.** - - 选中" **活动"**复选框以启用集成,将您的个人访问令牌和 HTTPS 存储库 URL 粘贴到表单中,然后**保存.** - -4. 仍在 GitLab 中,创建具有`API`范围的**个人访问令牌** ,以验证 GitHub Web 挂钩,以通知 GitLab 新提交. - -5. 在 GitHub 中的**"设置">" Webhooks"中**创建一个 Web 挂钩,以通知 GitLab 新提交. - - 应使用我们刚刚创建的 GitLab 个人访问令牌,将 Web 挂钩 URL 设置为 GitLab API 来[触发拉镜像](../../api/projects.html#start-the-pull-mirroring-process-for-a-project-starter) : - - ``` - https://gitlab.com/api/v4/projects/<NAMESPACE>%2F<PROJECT>/mirror/pull?private_token=<PERSONAL_ACCESS_TOKEN> - ``` - - 选择" **让我选择单个事件"**选项,然后选中" **拉**取**请求**和**推送"**复选框. [对于外部拉取请求的管道,](index.html#pipelines-for-external-pull-requests)需要这些设置. - -6. 在 GitHub 中添加`.gitlab-ci.yml`以配置 GitLab CI / CD. \ No newline at end of file diff --git a/docs/244.md b/docs/244.md deleted file mode 100644 index 170ce5f..0000000 --- a/docs/244.md +++ /dev/null @@ -1,101 +0,0 @@ -# GitLab Pages - -> 原文:[https://docs.gitlab.com/ee/user/project/pages/](https://docs.gitlab.com/ee/user/project/pages/) - -* [Getting started](#getting-started) -* [How it works](#how-it-works) -* [Access to your Pages site](#access-to-your-pages-site) -* [Pages examples](#pages-examples) -* [Administer GitLab Pages for self-managed instances](#administer-gitlab-pages-for-self-managed-instances) - -# GitLab Pages[](#gitlab-pages "Permalink") - -版本历史 - -* 在 GitLab 企业版 8.3 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/80) . -* GitLab 企业版 8.5 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/173)了具有 TLS 支持的自定义 CNAME. -* [移植](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/14605)到 GitLab 8.17 中的 GitLab 社区版. -* 在 GitLab 11.8 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/30548)了对子组项目网站的支持. -* 捆绑的项目模板在 GitLab 11.8 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/47857) . - -借助 GitLab 页面,您可以直接从 GitLab 中的存储库发布静态网站. - -* 用于任何个人或企业网站. -* 使用任何静态站点生成器(SSG)或纯 HTML. -* 为您的项目,组或用户帐户创建网站. -* 免费在自己的 GitLab 实例或 GitLab.com 上托管您的网站. -* 连接您的自定义域和 TLS 证书. -* 将任何许可归于您的内容. - -![Examples of SSGs supported by Pages](img/50ffc4ae0babeef44a73e82cfe49bb30.png) - -要发布包含 Pages 的网站,您可以使用任何 SSG,例如 Gatsby,Jekyll,Hugo,Middleman,Harp,Hexo 和 Brunch 等. 您还可以发布直接用纯 HTML,CSS 和 JavaScript 编写的任何网站. - -网页**不**支持动态服务器端的处理,例如,作为`.php`和`.asp`需要. 了解更多有关[静态网站和动态网站的信息](https://about.gitlab.com/blog/2016/06/03/ssg-overview-gitlab-pages-part-1-dynamic-x-static/) . - -## Getting started[](#getting-started "Permalink") - -要创建一个 GitLab Pages 网站: - -| Document | Description | -| --- | --- | -| [Fork a sample project](getting_started/pages_forked_sample_project.html) | 通过分叉示例项目,使用已配置的 Pages 创建一个新项目. | -| [Use a new project template](getting_started/pages_new_project_template.html) | 使用已经使用新项目模板配置的 Pages 创建一个新项目. | -| [Use a `.gitlab-ci.yml` template](getting_started/pages_ci_cd_template.html) | 将 Pages 网站添加到现有项目. 使用预填充的 CI 模板文件. | -| [Create a `gitlab-ci.yml` file from scratch](getting_started/pages_from_scratch.html) | 将 Pages 网站添加到现有项目. 了解如何创建和配置自己的 CI 文件. | - -要更新 GitLab Pages 网站: - -| Document | Description | -| --- | --- | -| [GitLab Pages domain names, URLs, and base URLs](getting_started_part_one.html) | 了解有关 GitLab Pages 默认域的信息. | -| [Explore GitLab Pages](introduction.html) | 要求,技术方面,特定的 GitLab CI / CD 配置选项,访问控制,自定义 404 页面,限制,常见问题解答. | -| [Custom domains and SSL/TLS Certificates](custom_domains_ssl_tls_certification/index.html) | 自定义域和子域,DNS 记录和 SSL / TLS 证书. | -| [Let’s Encrypt integration](custom_domains_ssl_tls_certification/lets_encrypt_integration.html) | 使用 Let's Encrypt 证书保护您的 Pages 网站,该证书由 GitLab 自动获取并更新. | -| [CloudFlare certificates](https://about.gitlab.com/blog/2017/02/07/setting-up-gitlab-pages-with-cloudflare-certificates/) | 使用 CloudFlare 证书保护您的 Pages 网站. | - -了解更多信息并查看示例: - -| Document | Description | -| --- | --- | -| [Static vs dynamic websites](https://about.gitlab.com/blog/2016/06/03/ssg-overview-gitlab-pages-part-1-dynamic-x-static/) | 静态与动态网站概述. | -| [Modern static site generators](https://about.gitlab.com/blog/2016/06/10/ssg-overview-gitlab-pages-part-2/) | SSG 概述. | -| [Build any SSG site with GitLab Pages](https://about.gitlab.com/blog/2016/06/17/ssg-overview-gitlab-pages-part-3-examples-ci/) | 对 GitLab 页面使用 SSG. | - -## How it works[](#how-it-works "Permalink") - -要使用 GitLab 页面,您必须在 GitLab 中创建一个项目以将您网站的文件上传到该项目. 这些项目可以是公共的,内部的或私人的. - -GitLab 始终从资源库中一个非常特定的文件夹`public`部署您的网站. 在 GitLab 中创建新项目时, [存储库](../repository/index.html)将自动可用. - -为了部署您的站点,GitLab 使用其内置工具[GitLab CI / CD](../../../ci/README.html)来构建您的站点并将其发布到 GitLab Pages 服务器. GitLab CI / CD 运行以完成此任务的脚本序列是从名为`.gitlab-ci.yml`的文件中[创建的](getting_started/pages_from_scratch.html) ,您可以随意[创建和修改](getting_started/pages_from_scratch.html) . 配置文件中称为`pages`的特定`job`会使 GitLab 知道您正在部署 GitLab Pages 网站. - -您可以将 GitLab 的[默认域用于](getting_started_part_one.html#gitlab-pages-default-domain-names) `*.gitlab.io` [GitLab Pages 网站](getting_started_part_one.html#gitlab-pages-default-domain-names) `*.gitlab.io` ,也可以使用自己的域( `example.com` ). 在这种情况下,您需要对您域的注册商(或控制面板)具有管理员权限,才能使用 Pages 对其进行设置. - -下图显示了开始使用 Pages 可能需要遵循的工作流程. - -![New projects for GitLab Pages](img/8db9ef3ba0d1153ab46b990e98372677.png) - -## Access to your Pages site[](#access-to-your-pages-site "Permalink") - -如果您使用的是 GitLab Pages 默认域( `.gitlab.io` ),则您的网站将自动安全并在 HTTPS 下可用. 如果您使用自己的自定义域,则可以选择使用 SSL / TLS 证书对其进行保护. - -If you’re using GitLab.com, your website will be publicly available to the internet. To restrict access to your website, enable [GitLab Pages Access Control](pages_access_control.html). - -如果您使用的是自我管理的实例(Core,Starter,Premium 或 Ultimate),则根据 sysadmin 选择的[Pages admin 设置](../../../administration/pages/index.html) ,您的网站将发布在您自己的服务器上,管理员可以将其设置为公开或内部. - -## Pages examples[](#pages-examples "Permalink") - -有一些因特定原因而建立的 GitLab Pages 网站的出色示例. 这些示例可以教您使用高级技术并适应您自己的需求: - -* [Posting to your GitLab Pages blog from iOS](https://about.gitlab.com/blog/2016/08/19/posting-to-your-gitlab-pages-blog-from-ios/). -* [GitLab CI: Run jobs sequentially, in parallel, or build a custom pipeline](https://about.gitlab.com/blog/2016/07/29/the-basics-of-gitlab-ci/). -* [GitLab CI: Deployment & environments](https://about.gitlab.com/blog/2016/08/26/ci-deployment-and-environments/). -* [Building a new GitLab docs site with Nanoc, GitLab CI, and GitLab Pages](https://about.gitlab.com/blog/2016/12/07/building-a-new-gitlab-docs-site-with-nanoc-gitlab-ci-and-gitlab-pages/). -* [Publish code coverage reports with GitLab Pages](https://about.gitlab.com/blog/2016/11/03/publish-code-coverage-report-with-gitlab-pages/). - -## Administer GitLab Pages for self-managed instances[](#administer-gitlab-pages-for-self-managed-instances "Permalink") - -如果您正在运行 GitLab 的自我管理实例(GitLab 社区版和企业版),请[按照管理步骤](../../../administration/pages/index.html)来配置页面. - -观看有关如何开始使用 GitLab 页面管理的[视频教程](https://www.youtube.com/watch?v=dD8c7WNcc6s) . \ No newline at end of file diff --git a/docs/245.md b/docs/245.md deleted file mode 100644 index 23d4710..0000000 --- a/docs/245.md +++ /dev/null @@ -1,101 +0,0 @@ -# GitLab Pages - -> 原文:[https://docs.gitlab.com/ee/user/project/pages/#getting-started](https://docs.gitlab.com/ee/user/project/pages/#getting-started) - -* [Getting started](#getting-started) -* [How it works](#how-it-works) -* [Access to your Pages site](#access-to-your-pages-site) -* [Pages examples](#pages-examples) -* [Administer GitLab Pages for self-managed instances](#administer-gitlab-pages-for-self-managed-instances) - -# GitLab Pages[](#gitlab-pages "Permalink") - -版本历史 - -* 在 GitLab 企业版 8.3 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/80) . -* GitLab 企业版 8.5 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/173)了具有 TLS 支持的自定义 CNAME. -* [移植](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/14605)到 GitLab 8.17 中的 GitLab 社区版. -* 在 GitLab 11.8 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/30548)了对子组项目网站的支持. -* 捆绑的项目模板在 GitLab 11.8 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/47857) . - -借助 GitLab 页面,您可以直接从 GitLab 中的存储库发布静态网站. - -* 用于任何个人或企业网站. -* 使用任何静态站点生成器(SSG)或纯 HTML. -* 为您的项目,组或用户帐户创建网站. -* 免费在自己的 GitLab 实例或 GitLab.com 上托管您的网站. -* 连接您的自定义域和 TLS 证书. -* 将任何许可归于您的内容. - -![Examples of SSGs supported by Pages](img/50ffc4ae0babeef44a73e82cfe49bb30.png) - -要发布包含 Pages 的网站,您可以使用任何 SSG,例如 Gatsby,Jekyll,Hugo,Middleman,Harp,Hexo 和 Brunch 等. 您还可以发布直接用纯 HTML,CSS 和 JavaScript 编写的任何网站. - -网页**不**支持动态服务器端的处理,例如,作为`.php`和`.asp`需要. 了解更多有关[静态网站和动态网站的信息](https://about.gitlab.com/blog/2016/06/03/ssg-overview-gitlab-pages-part-1-dynamic-x-static/) . - -## Getting started[](#getting-started "Permalink") - -要创建一个 GitLab Pages 网站: - -| Document | Description | -| --- | --- | -| [Fork a sample project](getting_started/pages_forked_sample_project.html) | 通过分叉示例项目,使用已配置的 Pages 创建一个新项目. | -| [Use a new project template](getting_started/pages_new_project_template.html) | 使用已经使用新项目模板配置的 Pages 创建一个新项目. | -| [Use a `.gitlab-ci.yml` template](getting_started/pages_ci_cd_template.html) | 将 Pages 网站添加到现有项目. 使用预填充的 CI 模板文件. | -| [Create a `gitlab-ci.yml` file from scratch](getting_started/pages_from_scratch.html) | 将 Pages 网站添加到现有项目. 了解如何创建和配置自己的 CI 文件. | - -要更新 GitLab Pages 网站: - -| Document | Description | -| --- | --- | -| [GitLab Pages domain names, URLs, and base URLs](getting_started_part_one.html) | 了解有关 GitLab Pages 默认域的信息. | -| [Explore GitLab Pages](introduction.html) | 要求,技术方面,特定的 GitLab CI / CD 配置选项,访问控制,自定义 404 页面,限制,常见问题解答. | -| [Custom domains and SSL/TLS Certificates](custom_domains_ssl_tls_certification/index.html) | 自定义域和子域,DNS 记录和 SSL / TLS 证书. | -| [Let’s Encrypt integration](custom_domains_ssl_tls_certification/lets_encrypt_integration.html) | 使用 Let's Encrypt 证书保护您的 Pages 网站,该证书由 GitLab 自动获取并更新. | -| [CloudFlare certificates](https://about.gitlab.com/blog/2017/02/07/setting-up-gitlab-pages-with-cloudflare-certificates/) | 使用 CloudFlare 证书保护您的 Pages 网站. | - -了解更多信息并查看示例: - -| Document | Description | -| --- | --- | -| [Static vs dynamic websites](https://about.gitlab.com/blog/2016/06/03/ssg-overview-gitlab-pages-part-1-dynamic-x-static/) | 静态与动态网站概述. | -| [Modern static site generators](https://about.gitlab.com/blog/2016/06/10/ssg-overview-gitlab-pages-part-2/) | SSG 概述. | -| [Build any SSG site with GitLab Pages](https://about.gitlab.com/blog/2016/06/17/ssg-overview-gitlab-pages-part-3-examples-ci/) | 对 GitLab 页面使用 SSG. | - -## How it works[](#how-it-works "Permalink") - -要使用 GitLab 页面,您必须在 GitLab 中创建一个项目以将您网站的文件上传到该项目. 这些项目可以是公共的,内部的或私人的. - -GitLab 始终从资源库中一个非常特定的文件夹`public`部署您的网站. 在 GitLab 中创建新项目时, [存储库](../repository/index.html)将自动可用. - -为了部署您的站点,GitLab 使用其内置工具[GitLab CI / CD](../../../ci/README.html)来构建您的站点并将其发布到 GitLab Pages 服务器. GitLab CI / CD 运行以完成此任务的脚本序列是从名为`.gitlab-ci.yml`的文件中[创建的](getting_started/pages_from_scratch.html) ,您可以随意[创建和修改](getting_started/pages_from_scratch.html) . 配置文件中称为`pages`的特定`job`会使 GitLab 知道您正在部署 GitLab Pages 网站. - -您可以将 GitLab 的[默认域用于](getting_started_part_one.html#gitlab-pages-default-domain-names) `*.gitlab.io` [GitLab Pages 网站](getting_started_part_one.html#gitlab-pages-default-domain-names) `*.gitlab.io` ,也可以使用自己的域( `example.com` ). 在这种情况下,您需要对您域的注册商(或控制面板)具有管理员权限,才能使用 Pages 对其进行设置. - -下图显示了开始使用 Pages 可能需要遵循的工作流程. - -![New projects for GitLab Pages](img/8db9ef3ba0d1153ab46b990e98372677.png) - -## Access to your Pages site[](#access-to-your-pages-site "Permalink") - -如果您使用的是 GitLab Pages 默认域( `.gitlab.io` ),则您的网站将自动安全并在 HTTPS 下可用. 如果您使用自己的自定义域,则可以选择使用 SSL / TLS 证书对其进行保护. - -If you’re using GitLab.com, your website will be publicly available to the internet. To restrict access to your website, enable [GitLab Pages Access Control](pages_access_control.html). - -如果您使用的是自我管理的实例(Core,Starter,Premium 或 Ultimate),则根据 sysadmin 选择的[Pages admin 设置](../../../administration/pages/index.html) ,您的网站将发布在您自己的服务器上,管理员可以将其设置为公开或内部. - -## Pages examples[](#pages-examples "Permalink") - -有一些因特定原因而建立的 GitLab Pages 网站的出色示例. 这些示例可以教您使用高级技术并适应您自己的需求: - -* [Posting to your GitLab Pages blog from iOS](https://about.gitlab.com/blog/2016/08/19/posting-to-your-gitlab-pages-blog-from-ios/). -* [GitLab CI: Run jobs sequentially, in parallel, or build a custom pipeline](https://about.gitlab.com/blog/2016/07/29/the-basics-of-gitlab-ci/). -* [GitLab CI: Deployment & environments](https://about.gitlab.com/blog/2016/08/26/ci-deployment-and-environments/). -* [Building a new GitLab docs site with Nanoc, GitLab CI, and GitLab Pages](https://about.gitlab.com/blog/2016/12/07/building-a-new-gitlab-docs-site-with-nanoc-gitlab-ci-and-gitlab-pages/). -* [Publish code coverage reports with GitLab Pages](https://about.gitlab.com/blog/2016/11/03/publish-code-coverage-report-with-gitlab-pages/). - -## Administer GitLab Pages for self-managed instances[](#administer-gitlab-pages-for-self-managed-instances "Permalink") - -如果您正在运行 GitLab 的自我管理实例(GitLab 社区版和企业版),请[按照管理步骤](../../../administration/pages/index.html)来配置页面. - -观看有关如何开始使用 GitLab 页面管理的[视频教程](https://www.youtube.com/watch?v=dD8c7WNcc6s) . \ No newline at end of file diff --git a/docs/246.md b/docs/246.md deleted file mode 100644 index 413c705..0000000 --- a/docs/246.md +++ /dev/null @@ -1,68 +0,0 @@ -# GitLab Pages domain names, URLs, and baseurls - -> 原文:[https://docs.gitlab.com/ee/user/project/pages/getting_started_part_one.html](https://docs.gitlab.com/ee/user/project/pages/getting_started_part_one.html) - -* [GitLab Pages default domain names](#gitlab-pages-default-domain-names) - * [Project website examples](#project-website-examples) - * [User and Group website examples](#user-and-group-website-examples) -* [URLs and baseurls](#urls-and-baseurls) -* [Custom domains](#custom-domains) - -# GitLab Pages domain names, URLs, and baseurls[](#gitlab-pages-domain-names-urls-and-baseurls "Permalink") - -在本文档中,了解如何根据所需网站的 URL 为 GitLab Pages 命名项目. - -## GitLab Pages default domain names[](#gitlab-pages-default-domain-names "Permalink") - -> **注意:**如果您使用自己的 GitLab 实例通过 GitLab Pages 部署站点,请与 sysadmin 一起检查什么是 Pages 通配符域. 本指南适用于任何 GitLab 实例,您只需要用自己的实例替换 GitLab.com( `*.gitlab.io` )上的 Pages 通配符域. - -如果您在 GitLab 上设置了 GitLab Pages 项目,则可以在`namespace.example.io`的子域下自动访问它. [`namespace`](../../group/index.html#namespaces)由您在 GitLab.com 上的用户名或在其下创建此项目的组名定义. 对于 GitLab 自我管理的实例,将`example.io`替换为实例的 Pages 域. 对于 GitLab.com,页面域为`*.gitlab.io` . - -| GitLab 页面的类型 | The name of the project created in GitLab | 网址 | -| --- | --- | --- | -| 用户页面 | `username.example.io` | `http(s)://username.example.io` | -| 组页面 | `groupname.example.io` | `http(s)://groupname.example.io` | -| 用户拥有的项目页面 | `projectname` | `http(s)://username.example.io/projectname` | -| 小组拥有的项目页面 | `projectname` | `http(s)://groupname.example.io/projectname` | -| 子组拥有的项目页面 | `subgroup/projectname` | `http(s)://groupname.example.io/subgroup/projectname` | - -**警告:**关于在通用域名和 HTTPS 下提供的名称空间存在一些已知[限制](introduction.html#limitations) . 确保阅读该部分. - -要清楚地了解 Pages 域,请阅读以下示例. - -### Project website examples[](#project-website-examples "Permalink") - -* 您在用户名`john`下创建了一个名为`blog`的项目,因此您的项目 URL 为`https://gitlab.com/john/blog/` . 为该项目启用 GitLab Pages 并构建您的网站后,即可在`https://john.gitlab.io/blog/`下找到该网站. -* 您为所有网站创建了一个组,称为`websites` ,该组中的一个项目称为`blog` . 您的项目 URL 为`https://gitlab.com/websites/blog/` . 为该项目启用 GitLab 页面后,该站点将位于`https://websites.gitlab.io/blog/`下. -* 您为工程部门创建了一个名为`engineering`的组,为所有文档网站创建了一个名为`docs`的子组,该子组中的一个项目称为`workflows` . 您的项目网址为`https://gitlab.com/engineering/docs/workflows/` . 为该项目启用 GitLab 页面后,该站点将位于`https://engineering.gitlab.io/docs/workflows`下. - -### User and Group website examples[](#user-and-group-website-examples "Permalink") - -* 在您的用户名`john` ,您创建了一个名为`john.gitlab.io`的项目. 您的项目 URL 将为`https://gitlab.com/john/john.gitlab.io` . 为项目启用 GitLab Pages 后,您的网站将发布在`https://john.gitlab.io`下. -* 在小组`websites` ,您创建了一个名为`websites.gitlab.io`的项目. 您项目的 URL 将为`https://gitlab.com/websites/websites.gitlab.io` . 为项目启用 GitLab Pages 后,您的网站将发布在`https://websites.gitlab.io`下. - -**一般示例:** - -* 在 GitLab.com 上,项目站点将始终在`https://namespace.gitlab.io/project-name`下可用 -* 在 GitLab.com 上,将在`https://namespace.gitlab.io/`下提供用户或组网站. -* 在您的 GitLab 实例上,将上述`gitlab.io`替换为 Pages 服务器域. 向您的系统管理员询问此信息. - -## URLs and baseurls[](#urls-and-baseurls "Permalink") - -每个静态网站发生器(SSG)的默认配置期望找到您的网站下一个(子)域( `example.com` ),而不是在该领域(的子目录`example.com/subdir` ). 因此,每当发布项目网站( `namespace.gitlab.io/project-name` )时,都必须在 SSG 文档中查找此配置(基本 URL)并进行设置以反映此模式. - -例如,对于 Jekyll 站点, `baseurl`是在 Jekyll 配置文件`_config.yml`定义的. 如果您的网站 URL 是`https://john.gitlab.io/blog/` ,则需要将此行添加到`_config.yml` : - -``` -baseurl: "/blog" -``` - -相反,如果您在派生我们的[默认示例](https://gitlab.com/pages)之一后部署网站,则已经以这种方式配置了 baseurl,因为所有示例都包含项目网站. 如果您决定将自己的网站设为用户或网上论坛,则必须从项目中删除此配置. 对于我们刚刚提到的 Jekyll 示例,您必须将 Jekyll 的`_config.yml`更改为: - -``` -baseurl: "" -``` - -## Custom domains[](#custom-domains "Permalink") - -GitLab 页面支持通过 HTTP 或 HTTPS 提供服务的自定义域和子域. 有关更多信息,请参见[GitLab Pages 自定义域和 SSL / TLS 证书](custom_domains_ssl_tls_certification/index.html) . \ No newline at end of file diff --git a/docs/247.md b/docs/247.md deleted file mode 100644 index 7573876..0000000 --- a/docs/247.md +++ /dev/null @@ -1,362 +0,0 @@ -# Create a GitLab Pages website from scratch - -> 原文:[https://docs.gitlab.com/ee/user/project/pages/getting_started/pages_from_scratch.html](https://docs.gitlab.com/ee/user/project/pages/getting_started/pages_from_scratch.html) - -* [Prerequisites](#prerequisites) -* [Choose a Docker image](#choose-a-docker-image) -* [Install Jekyll](#install-jekyll) -* [Specify the `public` directory for output](#specify-the-public-directory-for-output) -* [Specify the `public` directory for artifacts](#specify-the-public-directory-for-artifacts) -* [Deploy specific branches to a Pages site](#deploy-specific-branches-to-a-pages-site) -* [Specify a stage to deploy](#specify-a-stage-to-deploy) -* [Remove duplicate commands](#remove-duplicate-commands) -* [Build faster with cached dependencies](#build-faster-with-cached-dependencies) -* [Related topics](#related-topics) - -# Create a GitLab Pages website from scratch[](#create-a-gitlab-pages-website-from-scratch "Permalink") - -本教程向您展示如何从头开始创建 Pages 站点. 您将从一个空白项目开始,并创建自己的 CI 文件,该文件向[GitLab Runner](https://docs.gitlab.com/runner/)提供指导. 当您的 CI / CD [管道](../../../../ci/pipelines/index.html)运行时,将创建 Pages 站点. - -本示例使用[Jekyll](https://jekyllrb.com/)静态站点生成器(SSG). 其他 SSG 遵循类似的步骤. 您无需熟悉 Jekyll 或 SSG 即可完成本教程. - -## Prerequisites[](#prerequisites "Permalink") - -要继续执行本示例,请从 GitLab 中的空白项目开始. 在根(顶级)目录中创建三个文件. - -* `.gitlab-ci.yml`一个 YAML 文件,其中包含要运行的命令. 现在,将文件内容保留为空白. - -* `index.html`您可以使用所需的 HTML 内容填充 HTML 文件,例如: - - ``` - <html> - <head> - <title>Home - - -

Hello World!

- - - ``` - -* [`Gemfile`](https://bundler.io/gemfile.html)一个描述 Ruby 程序依赖性的文件. 用以下内容填充它: - - ``` - source "https://rubygems.org" - - gem "jekyll" - ``` - -## Choose a Docker image[](#choose-a-docker-image "Permalink") - -In this example, the Runner uses a [Docker image](../../../../ci/docker/using_docker_images.html) to run scripts and deploy the site. - -这个特定的 Ruby 映像在[DockerHub](https://hub.docker.com/_/ruby)上[维护](https://hub.docker.com/_/ruby) . - -编辑您的`.gitlab-ci.yml`并将此文本添加为​​第一行. - -``` -image: ruby:2.7 -``` - -如果您的 SSG 需要构建[NodeJS](https://s0nodejs0org.icopy.site/) ,则必须指定一个包含 NodeJS 的映像作为其文件系统的一部分. 例如,对于[Hexo](https://gitlab.com/pages/hexo)网站,可以使用`image: node:12.17.0` . - -## Install Jekyll[](#install-jekyll "Permalink") - -要在本地运行[Jekyll](https://jekyllrb.com/) ,您需要打开终端并执行以下操作: - -* 通过运行`gem install bundler`安装[Bundler](https://bundler.io/) . -* 通过运行`bundle install`创建`Gemfile.lock` . -* 通过运行`bundle exec jekyll build`安装 Jekyll. - -在`.gitlab-ci.yml`文件中,其写为​​: - -``` -script: - - gem install bundler - - bundle install - - bundle exec jekyll build -``` - -此外,在`.gitlab-ci.yml`文件中,每个`script`均由`job`组织. `job`包括您要应用于该特定任务的脚本和设置. - -``` -job: - script: - - gem install bundler - - bundle install - - bundle exec jekyll build -``` - -对于 GitLab Pages,此`job`有一个特定的名称,称为`pages` . 此设置告诉 Runner 您希望工作通过 GitLab Pages 部署您的网站: - -``` -pages: - script: - - gem install bundler - - bundle install - - bundle exec jekyll build -``` - -## Specify the `public` directory for output[](#specify-the-public-directory-for-output "Permalink") - -Jekyll 需要知道在何处生成其输出. GitLab Pages 仅考虑名为`public`的目录中的文件. - -Jekyll 使用目标( `-d` )为构建的网站指定输出目录: - -``` -pages: - script: - - gem install bundler - - bundle install - - bundle exec jekyll build -d public -``` - -## Specify the `public` directory for artifacts[](#specify-the-public-directory-for-artifacts "Permalink") - -既然 Jekyll 已将文件输出到`public`目录,则 Runner 需要知道从何处获取文件. 工件存储在`public`目录中: - -``` -pages: - script: - - gem install bundler - - bundle install - - bundle exec jekyll build -d public - artifacts: - paths: - - public -``` - -将其粘贴到`.gitlab-ci.yml`文件中,因此现在看起来像这样: - -``` -image: ruby:2.7 - -pages: - script: - - gem install bundler - - bundle install - - bundle exec jekyll build -d public - artifacts: - paths: - - public -``` - -现在保存并提交`.gitlab-ci.yml`文件. 您可以转到**CI / CD>管道**来观看管道运行. - -成功后,请转到**"设置">"页面"**以查看您的网站现在可用的 URL. - -如果您想执行更多高级任务,则可以使用[任何可用设置](../../../../ci/yaml/README.html)更新`.gitlab-ci.yml`文件. 您可以使用[GitLab CI / CD Lint Tool](../../../../ci/yaml/README.html#validate-the-gitlab-ciyml)来检查 CI 语法. - -以下主题显示了可以添加到 CI / CD 文件中的其他选项的其他示例. - -## Deploy specific branches to a Pages site[](#deploy-specific-branches-to-a-pages-site "Permalink") - -您可能只想从特定分支部署到 Pages 站点. - -首先,添加`workflow`部分以强制管道仅在将更改推送到分支时才运行: - -``` -image: ruby:2.7 - -workflow: - rules: - - if: '$CI_COMMIT_BRANCH' - -pages: - script: - - gem install bundler - - bundle install - - bundle exec jekyll build -d public - artifacts: - paths: - - public -``` - -然后将管道配置为仅运行 master 分支的作业. - -``` -image: ruby:2.7 - -workflow: - rules: - - if: '$CI_COMMIT_BRANCH' - -pages: - script: - - gem install bundler - - bundle install - - bundle exec jekyll build -d public - artifacts: - paths: - - public - rules: - - if: '$CI_COMMIT_BRANCH == "master"' -``` - -## Specify a stage to deploy[](#specify-a-stage-to-deploy "Permalink") - -GitLab CI / CD 有三个默认阶段:构建,测试和部署. - -如果要测试脚本并在部署到生产环境之前检查构建的站点,则可以完全按按`master`来运行测试. - -要为您的作业指定一个阶段,请在您的 CI 文件中添加一个`stage`行: - -``` -image: ruby:2.7 - -workflow: - rules: - - if: '$CI_COMMIT_BRANCH' - -pages: - stage: deploy - script: - - gem install bundler - - bundle install - - bundle exec jekyll build -d public - artifacts: - paths: - - public - rules: - - if: '$CI_COMMIT_BRANCH == "master"' -``` - -现在,将另一个作业添加到 CI 文件,告诉它测试**除** `master`分支**以外**的每个分支上的每次推送: - -``` -image: ruby:2.7 - -workflow: - rules: - - if: '$CI_COMMIT_BRANCH' - -pages: - stage: deploy - script: - - gem install bundler - - bundle install - - bundle exec jekyll build -d public - artifacts: - paths: - - public - rules: - - if: '$CI_COMMIT_BRANCH == "master"' - -test: - stage: test - script: - - gem install bundler - - bundle install - - bundle exec jekyll build -d test - artifacts: - paths: - - test - rules: - - if: '$CI_COMMIT_BRANCH != "master"' -``` - -当`test`作业在`test`阶段运行时,Jekyll 在名为`test`的目录中构建站点. 该工作影响除`master`之外的所有分支. - -将阶段应用于不同的作业时,同一阶段中的每个作业都是并行构建的. 如果您的 Web 应用程序在部署之前需要多个测试,则可以同时运行所有测试. - -## Remove duplicate commands[](#remove-duplicate-commands "Permalink") - -为了避免在每个作业中重复相同的脚本,可以将它们添加到`before_script`部分. - -在示例中, `gem install bundler`和`bundle install`对于作业, `pages`和`test`都在运行. - -将这些命令移至`before_script`部分: - -``` -image: ruby:2.7 - -workflow: - rules: - - if: '$CI_COMMIT_BRANCH' - -before_script: - - gem install bundler - - bundle install - -pages: - stage: deploy - script: - - bundle exec jekyll build -d public - artifacts: - paths: - - public - rules: - - if: '$CI_COMMIT_BRANCH == "master"' - -test: - stage: test - script: - - bundle exec jekyll build -d test - artifacts: - paths: - - test - rules: - - if: '$CI_COMMIT_BRANCH != "master"' -``` - -## Build faster with cached dependencies[](#build-faster-with-cached-dependencies "Permalink") - -为了加快构建速度,您可以使用`cache`参数为项目的依赖项缓存安装文件. - -此示例在运行`bundle install`时将 Jekyll 依赖项缓存在`vendor`目录中: - -``` -image: ruby:2.7 - -workflow: - rules: - - if: '$CI_COMMIT_BRANCH' - -cache: - paths: - - vendor/ - -before_script: - - gem install bundler - - bundle install --path vendor - -pages: - stage: deploy - script: - - bundle exec jekyll build -d public - artifacts: - paths: - - public - rules: - - if: '$CI_COMMIT_BRANCH == "master"' - -test: - stage: test - script: - - bundle exec jekyll build -d test - artifacts: - paths: - - test - rules: - - if: '$CI_COMMIT_BRANCH != "master"' -``` - -在这种情况下,您需要从 Jekyll 构建的文件夹列表中排除`/vendor`目录. 否则,Jekyll 将尝试与站点一起构建目录内容. - -在根目录中,创建一个名为`_config.yml`的文件并添加以下内容: - -``` -exclude: - - vendor -``` - -现在,GitLab CI / CD 不仅可以构建网站,还可以通过对功能分支的**连续测试**进行推送, **缓存**与 Bundler 一起安装的依赖项,并将每次推送**持续部署**到`master`分支. - -## Related topics[](#related-topics "Permalink") - -有关更多信息,请参见以下博客文章. - -* [Use GitLab CI/CD `environments` to deploy your web app to staging and production](https://about.gitlab.com/blog/2016/08/26/ci-deployment-and-environments/). -* Learn [how to run jobs sequentially, in parallel, or build a custom pipeline](https://about.gitlab.com/blog/2016/07/29/the-basics-of-gitlab-ci/). -* 了解[如何从不同项目中提取特定目录](https://about.gitlab.com/blog/2016/12/07/building-a-new-gitlab-docs-site-with-nanoc-gitlab-ci-and-gitlab-pages/)以部署此网站[https://docs.gitlab.com](https://s0docs0gitlab0com.icopy.site) . -* Learn [how to use GitLab Pages to produce a code coverage report](https://about.gitlab.com/blog/2016/11/03/publish-code-coverage-report-with-gitlab-pages/). \ No newline at end of file diff --git a/docs/248.md b/docs/248.md deleted file mode 100644 index a4a095d..0000000 --- a/docs/248.md +++ /dev/null @@ -1,236 +0,0 @@ -# Custom domains and SSL/TLS Certificates - -> 原文:[https://docs.gitlab.com/ee/user/project/pages/custom_domains_ssl_tls_certification/](https://docs.gitlab.com/ee/user/project/pages/custom_domains_ssl_tls_certification/) - -* [Set up Pages with a custom domain](#set-up-pages-with-a-custom-domain) - * [Requirements](#requirements) - * [Steps](#steps) - * [1\. Add a custom domain to Pages](#1-add-a-custom-domain-to-pages) - * [2\. Get the verification code](#2-get-the-verification-code) - * [3\. Set up DNS records for Pages](#3-set-up-dns-records-for-pages) - * [For root domains](#for-root-domains) - * [For subdomains](#for-subdomains) - * [For both root and subdomains](#for-both-root-and-subdomains) - * [4\. Verify the domain’s ownership](#4-verify-the-domains-ownership) - * [Troubleshooting Pages domain verification](#troubleshooting-pages-domain-verification) - * [Adding more domain aliases](#adding-more-domain-aliases) - * [Redirecting `www.domain.com` to `domain.com` with Cloudflare](#redirecting-wwwdomaincom-to-domaincom-with-cloudflare) -* [Adding an SSL/TLS certificate to Pages](#adding-an-ssltls-certificate-to-pages) - * [Requirements](#requirements-1) - * [Steps](#steps-1) -* [Force HTTPS for GitLab Pages websites](#force-https-for-gitlab-pages-websites) - -# Custom domains and SSL/TLS Certificates[](#custom-domains-and-ssltls-certificates "Permalink") - -使用自定义域设置 GitLab 页面,并向其中添加 SSL / TLS 证书,是 GitLab 页面的可选功能. - -要将一个或多个自定义域名用于您的 Pages 网站,您可以: - -* 添加[自定义**根域**或**子域**](#set-up-pages-with-a-custom-domain) . -* Add [SSL/TLS certification](#adding-an-ssltls-certificate-to-pages). - -## Set up Pages with a custom domain[](#set-up-pages-with-a-custom-domain "Permalink") - -要使用自定义域名设置页面,请阅读以下要求和步骤. - -### Requirements[](#requirements "Permalink") - -* 在默认的 Pages 域( `*.gitlab.io` ,对于 GitLab.com)下运行的 GitLab Pages 网站已启动并正在运行. -* 自定义域名`example.com`或子`subdomain.example.com` . -* 访问您域的服务器控制面板以设置 DNS 记录: - * 将您的域指向 GitLab Pages 服务器的 DNS A 或 CNAME 记录. - * DNS TXT 记录以验证您的域的所有权. - -### Steps[](#steps "Permalink") - -请按照以下步骤将您的自定义域添加到 Pages. 另请参阅本文档,以获取[有关 DNS 记录](dns_concepts.html)的[概述](dns_concepts.html) . - -#### 1\. Add a custom domain to Pages[](#1-add-a-custom-domain-to-pages "Permalink") - -导航到项目的" **设置">"页面"** ,然后单击" **+新域"**将自定义域添加到 GitLab 页面. 您可以选择是否: - -* Add an [SSL/TLS certificate](#adding-an-ssltls-certificate-to-pages). -* 保留为空白(以后可以添加). - -Click **建立新网域**. - -[![Add new domain](img/78801b2f265bdecdb7a5ff7e8be47802.png)](img/add_certificate_to_pages.png) - -#### 2\. Get the verification code[](#2-get-the-verification-code "Permalink") - -将新域添加到 Pages 后,系统将提示您输入验证码. 从 GitLab 复制值,并将其作为下一步的 TXT 记录粘贴到您域的控制面板中. - -[![Get the verification code](img/137ac74ffc45b0c50cf354baa972ca89.png)](img/get_domain_verification_code_v12_0.png) - -#### 3\. Set up DNS records for Pages[](#3-set-up-dns-records-for-pages "Permalink") - -阅读本文档以[获取 Pages 的 DNS 记录概述](dns_concepts.html) . 如果您熟悉此主题,请根据您要与 Pages 网站一起使用的域类型,按照以下说明进行操作: - -* [For root domains](#for-root-domains), `example.com`. -* [For subdomains](#for-subdomains), `subdomain.example.com`. -* [For both](#for-both-root-and-subdomains). - -**注意:**您可以[在自管实例上配置 IPv6](../../../../administration/pages/index.html#advanced-configuration) ,但是 GitLab.com 上的 Pages 当前未配置 IPv6\. 有关详细信息,请关注[此问题](https://gitlab.com/gitlab-org/gitlab/-/issues/214718) . - -##### For root domains[](#for-root-domains "Permalink") - -根域( `example.com` )要求: - -* 指向您的域指向 Pages 服务器的[DNS A 记录](dns_concepts.html#a-record) . -* [TXT 记录](dns_concepts.html#txt-record)以验证您的域的所有权. - -| From | DNS 记录 | To | -| --- | --- | --- | -| `example.com` | A | `35.185.44.232` | -| `_gitlab-pages-verification-code.example.com` | TXT | `gitlab-pages-verification-code=00112233445566778899aabbccddeeff` | - -对于 GitLab.com 上的项目,此 IP 为`35.185.44.232` . 对于位于其他 GitLab 实例(CE 或 EE)中的项目,请联系您的系统管理员以询问此信息(该 IP 地址是实例上运行的 Pages 服务器). - -[![DNS A record pointing to GitLab.com Pages server](img/2b38faa6a2c817e4d1b8b32f803db372.png)](img/dns_add_new_a_record_example_updated_2018.png) - -**注意:**请注意,如果**仅**将根域用于 GitLab Pages 网站,并且域注册商支持此功能,则可以添加 DNS 顶点`CNAME`记录而不是`A`记录. 这样做的主要优点是,当 GitLab.com 上的 GitLab Pages IP 出于任何原因更改时,您无需更新`A`记录. 可能会有一些例外,但是**不建议使用此方法,**因为如果您为根域设置[`MX`记录](dns_concepts.html#mx-record) ,则**该方法**很可能不起作用. - -##### For subdomains[](#for-subdomains "Permalink") - -子域( `subdomain.example.com` )要求: - -* 将您的子域指向 Pages 服务器的 DNS [CNAME 记录](dns_concepts.html#cname-record)记录. -* DNS [TXT 记录](dns_concepts.html#txt-record)以验证您的域的所有权. - -| From | DNS 记录 | To | -| --- | --- | --- | -| `subdomain.example.com` | CNAME | `namespace.gitlab.io` | -| `_gitlab-pages-verification-code.subdomain.example.com` | TXT | `gitlab-pages-verification-code=00112233445566778899aabbccddeeff` | - -请注意,无论是用户网站还是项目网站, `CNAME`都应指向您的 Pages 域( `namespace.gitlab.io` ),而不包含任何`/project-name` . - -[![DNS CNAME record pointing to GitLab.com project](img/00cb101eb824b3ede4fa4a3914f95c09.png)](img/dns_cname_record_example.png) - -##### For both root and subdomains[](#for-both-root-and-subdomains "Permalink") - -在某些情况下,您需要将子域和根域都指向同一个网站,例如`example.com`和`www.example.com` . - -他们要求: - -* 域的 DNS A 记录. -* 子域的 DNS CNAME 记录. -* 每个 DNS TXT 记录. - -| From | DNS 记录 | To | -| --- | --- | --- | -| `example.com` | A | `35.185.44.232` | -| `_gitlab-pages-verification-code.example.com` | TXT | `gitlab-pages-verification-code=00112233445566778899aabbccddeeff` | -| `www.example.com` | CNAME | `namespace.gitlab.io` | -| `_gitlab-pages-verification-code.www.example.com` | TXT | `gitlab-pages-verification-code=00112233445566778899aabbccddeeff` | - -如果您使用的是 CloudFlare,请选中[使用 Cloudflare 将`www.domain.com`重定向到`domain.com`](#redirecting-wwwdomaincom-to-domaincom-with-cloudflare) . - -> **Notes**: -> -> * 如果要将`domain.com`指向 GitLab Pages 网站,请**不要**使用 CNAME 记录. 请改用`A`记录. -> * **不要**在默认的 Pages 域之后添加任何特殊字符. 例如,不要将`subdomain.domain.com`指向或`namespace.gitlab.io/` . 但是,某些域托管服务提供商可能会请求结尾点( `namespace.gitlab.io.` ). -> * GitLab.com 上的 GitLab Pages IP 在 2017 年[进行了更改](https://about.gitlab.com/releases/2017/03/06/we-are-changing-the-ip-of-gitlab-pages-on-gitlab-com/) . -> * GitLab.com [上的](https://about.gitlab.com/blog/2018/07/19/gcp-move-update/#gitlab-pages-and-custom-domains) GitLab Pages IP `35.185.44.232` 2018 年的 52.167.214.135 [更改](https://about.gitlab.com/blog/2018/07/19/gcp-move-update/#gitlab-pages-and-custom-domains)为`52.167.214.135` . - -#### 4\. Verify the domain’s ownership[](#4-verify-the-domains-ownership "Permalink") - -添加所有 DNS 记录后: - -1. 返回项目的**设置>页面** . -2. 找到您的域名,然后单击" **详细信息"** . -3. 点击**重试验证**按钮以激活您的新域. - -[![Verify your domain](img/62b879dea0345cb8767d9cd4fb041f97.png)](img/retry_domain_verification_v12_0.png) - -一旦您的域名启用,您的网站就会通过您的域名可用. - -**注意:**考虑到启用了域验证的 GitLab 实例,如果该域不能在 7 天之内得到验证,它将被从 GitLab 项目中删除. - -> **Notes:** -> -> * **GitLab.com 用户必须进行**域验证; 对于 GitLab 自管实例,您的 GitLab 管理员可以选择[禁用自定义域验证](../../../../administration/pages/index.html#custom-domain-verification) . -> * [DNS 传播可能需要一些时间(最多 24 小时)](https://www.inmotionhosting.com/support/domain-names/dns-nameserver-changes/domain-names-dns-changes/) ,尽管通常只需几分钟即可完成. 否则,验证将失败,并且尝试访问您的域的尝试将以 404 响应. -> * 验证您的域后,请保留验证记录:您的域将定期重新验证,如果删除该记录,则可能会被禁用. - -##### Troubleshooting Pages domain verification[](#troubleshooting-pages-domain-verification "Permalink") - -要手动验证您已正确配置了域验证`TXT` DNS 条目,可以在终端中运行以下命令: - -``` -dig _gitlab-pages-verification-code. TXT -``` - -期望输出: - -``` -;; ANSWER SECTION: -_gitlab-pages-verification-code.. 300 IN TXT "gitlab-pages-verification-code=" -``` - -### Adding more domain aliases[](#adding-more-domain-aliases "Permalink") - -You can add more than one alias (custom domains and subdomains) to the same project. An alias can be understood as having many doors leading to the same room. - -您为网站设置的所有别名都将在" **设置">"页面"**上列出. 在该页面上,您可以查看,添加和删除它们. - -### Redirecting `www.domain.com` to `domain.com` with Cloudflare[](#redirecting-wwwdomaincom-to-domaincom-with-cloudflare "Permalink") - -如果您使用 Cloudflare,则可以将`www`重定向到`domain.com`而无需同时将`www.domain.com`和`domain.com`添加到 GitLab. - -为此,您可以使用与 CNAME 记录关联的 Cloudflare 的页面规则将`www.domain.com`重定向到`domain.com` . 您可以使用以下设置: - -1. 在 Cloudflare 中,创建一个 DNS `A`记录,将`domain.com`指向`35.185.44.232` . -2. 在 GitLab 中,将域添加到 GitLab 页面中并获取验证码. -3. 在 Cloudflare 中,创建 DNS `TXT`记录以验证您的域. -4. 在 GitLab 中,验证您的域. -5. 在 Cloudflare 中,创建将`www`指向`domain.com`的 DNS `CNAME`记录. -6. 在 Cloudflare 中,添加将`www.domain.com`指向`domain.com`的页面规则: - * 导航到您域的信息中心,然后点击顶部导航栏中的**页面规则** . - * 单击**创建页面规则** . - * 输入域名`www.domain.com` ,然后点击**+添加设置** . - * 从下拉菜单中,选择**转发 URL** ,然后选择状态代码**301-永久重定向** . - * 输入目标网址`https://domain.com` . - -## Adding an SSL/TLS certificate to Pages[](#adding-an-ssltls-certificate-to-pages "Permalink") - -阅读本文档以获取[有关 SSL / TLS 认证](ssl_tls_concepts.html)的[概述](ssl_tls_concepts.html) . - -要使用 GitLab 页面保护您的自定义域,您可以选择: - -* 使用[Let's Encrypt 与 GitLab Pages 的集成](lets_encrypt_integration.html) ,该[集成](lets_encrypt_integration.html)会自动获取和续订您 Pages 域的 SSL 证书. -* 遵循以下步骤,将 SSL / TLS 证书手动添加到 GitLab Pages 网站. - -### Requirements[](#requirements-1 "Permalink") - -* 可通过自定义域访问 GitLab Pages 网站并正在运行. -* **PEM 证书** :它是由 CA 生成的证书,需要将其添加到字段**Certificate(PEM)中** . -* **[中间证书](https://en.wikipedia.org/wiki/Intermediate_certificate_authority)** :(也称为"根证书"),它是标识 CA 的加密密钥链的一部分. 通常,它与 PEM 证书结合在一起,但是在某些情况下,您需要手动添加它们. [CloudFlare 证书](https://about.gitlab.com/blog/2017/02/07/setting-up-gitlab-pages-with-cloudflare-certificates/)就是其中一种. -* **私钥** ,这是一个加密密钥,可根据您的域验证您的 PEM. - -### Steps[](#steps-1 "Permalink") - -* 要在添加新域时添加证书,请转至项目的**"设置">"页面">"新域"** ,添加域名和证书. -* 要将证书添加到先前添加的域中,请转到项目的**"设置">"页面"** ,找到您的域名,单击" **详细信息"**和" **编辑"**以添加证书. - -[![Pages project - adding certificates](img/78801b2f265bdecdb7a5ff7e8be47802.png)](img/add_certificate_to_pages.png) - -1. 将 PEM 证书添加到其相应的字段. -2. 如果您的证书缺少中间证书,请复制并粘贴根证书(通常可从您的 CA 网站获得),然后将其粘贴到[与 PEM 证书相同的字段中](https://about.gitlab.com/blog/2017/02/07/setting-up-gitlab-pages-with-cloudflare-certificates/) ,只需在它们之间跳过一行即可. -3. 复制您的私钥并将其粘贴到最后一个字段中. - -**注意:** **请勿**在常规文本编辑器中打开证书或加密密钥. 始终使用代码编辑器(例如 Sublime Text,Atom,Dreamweaver,括号等). - -## Force HTTPS for GitLab Pages websites[](#force-https-for-gitlab-pages-websites "Permalink") - -在 GitLab 10.7 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/28857) . - -为了使您的网站访问者更加安全,您可以选择对 GitLab 页面强制使用 HTTPS. 这样,所有通过 HTTP 访问您的网站的尝试都会通过 301 自动重定向到 HTTPS. - -它既可以与 GitLab 的默认域一起使用,也可以与您的自定义域一起使用(只要您为其设置了有效的证书). - -要启用此设置: - -1. 导航到项目的**"设置">"页面"** . -2. 选中" **强制 HTTPS** "复选框**(需要有效的证书)** . - -**注意:**如果在 GitLab 页面前面使用 CloudFlare CDN,请确保将 SSL 连接设置设置为`full`而不是`flexible` . 有关更多详细信息,请参阅[CloudFlare CDN 指导](https://support.cloudflare.com/hc/en-us/articles/200170416-End-to-end-HTTPS-with-Cloudflare-Part-3-SSL-options#h_4e0d1a7c-eb71-4204-9e22-9d3ef9ef7fef) . \ No newline at end of file diff --git a/docs/249.md b/docs/249.md deleted file mode 100644 index d582de0..0000000 --- a/docs/249.md +++ /dev/null @@ -1,82 +0,0 @@ -# GitLab Pages integration with Let's Encrypt - -> 原文:[https://docs.gitlab.com/ee/user/project/pages/custom_domains_ssl_tls_certification/lets_encrypt_integration.html](https://docs.gitlab.com/ee/user/project/pages/custom_domains_ssl_tls_certification/lets_encrypt_integration.html) - -* [Requirements](#requirements) -* [Enabling Let’s Encrypt integration for your custom domain](#enabling-lets-encrypt-integration-for-your-custom-domain) -* [Troubleshooting](#troubleshooting) - * [Error “Something went wrong while obtaining the Let’s Encrypt certificate”](#error-something-went-wrong-while-obtaining-the-lets-encrypt-certificate) - * [Message “GitLab is obtaining a Let’s Encrypt SSL certificate for this domain. This process can take some time. Please try again later.” hangs for more than an hour](#message-gitlab-is-obtaining-a-lets-encrypt-ssl-certificate-for-this-domain-this-process-can-take-some-time-please-try-again-later-hangs-for-more-than-an-hour) - -# GitLab Pages integration with Let’s Encrypt[](#gitlab-pages-integration-with-lets-encrypt "Permalink") - -在 GitLab 12.1 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/28996) . 对于 GitLab 12.1 之前的版本,请参见[手册"让我们加密"说明](../lets_encrypt_for_gitlab_pages.html) . - -GitLab Pages 与 Let's Encrypt(LE)的集成使您可以将 LE 证书用于具有自定义域的 Pages 网站,而不必麻烦自己发行和更新它们. GitLab 现成的为您服务. - -[Let's Encrypt](https://letsencrypt.org)是一个免费,自动化和开源的证书颁发机构. - -**警告:**此功能仅涵盖**自定义域的**证书,而不包含运行[Pages 守护程序](../../../../administration/pages/index.html)所需的通配符证书 . 在[此问题中](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/3342)跟踪通配符证书的生成. - -## Requirements[](#requirements "Permalink") - -在为您的域启用自动配置 SSL 证书之前,请确保您具有: - -* 创建一个[项目](../getting_started_part_two.html)在 GitLab 包含您的网站的源代码. -* 获取域( `example.com` )并添加一个[DNS 条目,](index.html)将其指向您的 Pages 网站. -* [将您的域添加到您的 Pages 项目](index.html#1-add-a-custom-domain-to-pages)并验证您的所有权. -* 确认您的网站已启动并且正在运行,可以通过您的自定义域进行访问. - -**注意:** GitLab 的"让我们加密"集成已启用,并在 GitLab.com 上可用. 对于**自我管理的** GitLab 实例,请确保您的管理员已[启用它](../../../../administration/pages/index.html#lets-encrypt-integration) . - -## Enabling Let’s Encrypt integration for your custom domain[](#enabling-lets-encrypt-integration-for-your-custom-domain "Permalink") - -满足要求后,启用"让我们加密"集成: - -1. 导航到项目的**"设置">"页面"** . -2. 找到您的域,然后单击**详细信息** . -3. 点击右上角的**编辑** . -4. 通过**使用 Let's Encrypt**切换**自动证书管理来**启用 Let's Encrypt 集成: - - [![Enable Let's Encrypt](img/b2499f834ff0e8252829dd96bad93d97.png)](img/lets_encrypt_integration_v12_1.png) - -5. Click **保存更改**. - -启用后,GitLab 将获得 LE 证书并将其添加到关联的 Pages 域中. 它也会由 GitLab 自动更新. - -> **Notes:** -> -> * 颁发证书和更新 Pages 配置**可能需要一个小时** . -> * 如果您在域设置中已经具有 SSL 证书,它将继续工作,直到被 Let's Encrypt 的证书替换为止. - -## Troubleshooting[](#troubleshooting "Permalink") - -### Error “Something went wrong while obtaining the Let’s Encrypt certificate”[](#error-something-went-wrong-while-obtaining-the-lets-encrypt-certificate "Permalink") - -在 GitLab 13.0 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/30146) . - -如果您遇到错误, **则在获取 Let's Encrypt 证书时出了点问题** ,您可以尝试按照以下步骤再次获取证书: - -1. 转到项目的**设置>页面** . -2. 在您的域上单击" **编辑** ". -3. Click **Retry**. -4. 如果您仍然看到相同的错误: - 1. 请确保您已正确设置只有一个`CNAME`或`A` DNS 记录为您的域. - 2. 确保您的域**没有** `AAAA` DNS 记录. - 3. 如果您的域或任何更高级别的域都有`CAA` DNS 记录,请确保[其中包含`letsencrypt.org`](https://letsencrypt.org/docs/caa/) . - 4. 确保[您的域已验证](index.html#1-add-a-custom-domain-to-pages) . - 5. 转到步骤 1\. - -### Message “GitLab is obtaining a Let’s Encrypt SSL certificate for this domain. This process can take some time. Please try again later.” hangs for more than an hour[](#message-gitlab-is-obtaining-a-lets-encrypt-ssl-certificate-for-this-domain-this-process-can-take-some-time-please-try-again-later-hangs-for-more-than-an-hour "Permalink") - -如果您启用了 Let's Encrypt 集成,但是一个小时后缺少证书,则会看到以下消息:" GitLab 正在为此域获取 Let's Encrypt SSL 证书. 此过程可能需要一些时间. 请稍后再试.",请按照以下步骤尝试删除并再次为 GitLab 页面添加域: - -1. 转到项目的**设置>页面** . -2. 在您的域上单击**删除** . -3. [Add the domain again and verify it](index.html#1-add-a-custom-domain-to-pages). -4. [Enable Let’s Encrypt integration for your domain](#enabling-lets-encrypt-integration-for-your-custom-domain). -5. 如果一段时间后仍然看到相同的消息: - 1. 请确保您已正确设置只有一个`CNAME`或`A` DNS 记录为您的域. - 2. 确保您的域**没有** `AAAA` DNS 记录. - 3. 如果您的域或任何更高级别的域都有`CAA` DNS 记录,请确保[其中包含`letsencrypt.org`](https://letsencrypt.org/docs/caa/) . - 4. 转到步骤 1\. \ No newline at end of file diff --git a/docs/250.md b/docs/250.md deleted file mode 100644 index d36ab73..0000000 --- a/docs/250.md +++ /dev/null @@ -1,44 +0,0 @@ -# GitLab Pages Access Control - -> 原文:[https://docs.gitlab.com/ee/user/project/pages/pages_access_control.html](https://docs.gitlab.com/ee/user/project/pages/pages_access_control.html) - -* [Terminating a Pages session](#terminating-a-pages-session) - -# GitLab Pages Access Control[](#gitlab-pages-access-control "Permalink") - -版本历史 - -* 在 GitLab 11.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/33422) . -* 在 GitLab 12.4 的 GitLab.com 上可用. - -您可以在项目上启用 Pages 访问控制,以便只有[项目成员](../../permissions.html#project-members-permissions) (至少是 Guest)才能访问您的网站: - -有关演示,请参阅[页面访问控制](https://www.youtube.com/watch?v=tSPAr5mQYc8) . - -1. 导航到项目的**"设置">"常规",**然后展开" **可见性","项目功能,权限"** . -2. 切换**页面**按钮以启用访问控制. - - **注意:**如果看不到切换按钮,则表示该按钮未启用. 请您的管理员[启用它](../../../administration/pages/index.html#access-control) . -3. 页面访问控制下拉菜单允许您设置谁可以查看 GitLab 页面托管的页面,具体取决于项目的可见性: - - * 如果您的项目是私人的: - * **只有项目成员** :只有项目成员才能浏览网站. - * **所有人** :无论登录或退出 GitLab 的**每个**人,无论其项目成员身份如何,都可以浏览该网站. - * 如果您的项目是内部项目: - * **只有项目成员** :只有项目成员才能浏览网站. - * **具有访问权限的**每个人:登录到 GitLab 的每个人都可以浏览该网站,无论其项目成员身份如何. - * **所有人** :无论登录或退出 GitLab 的**每个**人,无论其项目成员身份如何,都可以浏览该网站. - * 如果您的项目是公开的: - * **只有项目成员** :只有项目成员才能浏览网站. - * **具有访问权限的**所有人:无论登录或退出 GitLab 的每个人,无论其项目成员身份如何,都可以浏览该网站. -4. Click **保存更改**. - -下次有人尝试访问您的网站并启用访问控制时,将向他们显示一个页面,以登录 GitLab 并验证他们可以访问该网站. - -## Terminating a Pages session[](#terminating-a-pages-session "Permalink") - -如果要从 Pages 网站注销,可以通过撤销 GitLab Pages 的应用程序访问令牌来注销: - -1. 浏览至个人资料的**"设置">"应用程序"** . -2. 在页面底部找到**授权的应用程序** . -3. 查找**GitLab 页面** ,然后按**撤消**按钮. \ No newline at end of file diff --git a/docs/251.md b/docs/251.md deleted file mode 100644 index 28a2dec..0000000 --- a/docs/251.md +++ /dev/null @@ -1,249 +0,0 @@ -# Exploring GitLab Pages - -> 原文:[https://docs.gitlab.com/ee/user/project/pages/introduction.html](https://docs.gitlab.com/ee/user/project/pages/introduction.html) - -* [GitLab Pages requirements](#gitlab-pages-requirements) -* [GitLab Pages on GitLab.com](#gitlab-pages-on-gitlabcom) -* [Example projects](#example-projects) -* [Custom error codes Pages](#custom-error-codes-pages) -* [Redirects in GitLab Pages](#redirects-in-gitlab-pages) -* [GitLab Pages Access Control](#gitlab-pages-access-control-core) -* [Unpublishing your Pages](#unpublishing-your-pages) -* [Limitations](#limitations) -* [Specific configuration options for Pages](#specific-configuration-options-for-pages) - * [`.gitlab-ci.yml` for plain HTML websites](#gitlab-ciyml-for-plain-html-websites) - * [`.gitlab-ci.yml` for a static site generator](#gitlab-ciyml-for-a-static-site-generator) - * [`.gitlab-ci.yml` for a repository where there’s also actual code](#gitlab-ciyml-for-a-repository-where-theres-also-actual-code) - * [Serving compressed assets](#serving-compressed-assets) - * [Resolving ambiguous URLs](#resolving-ambiguous-urls) -* [Frequently Asked Questions](#frequently-asked-questions) - * [Can I download my generated pages?](#can-i-download-my-generated-pages) - * [Can I use GitLab Pages if my project is private?](#can-i-use-gitlab-pages-if-my-project-is-private) - * [Do I need to create a user/group website before creating a project website?](#do-i-need-to-create-a-usergroup-website-before-creating-a-project-website) -* [Known issues](#known-issues) - -# Exploring GitLab Pages[](#exploring-gitlab-pages "Permalink") - -本文档是用户指南,用于探索 GitLab Pages 提供的选项和设置. - -首先要熟悉 GitLab 页面: - -* 阅读[有关 GitLab Pages](index.html#overview)的[介绍](index.html#overview) . -* Learn [how to get started with Pages](index.html#getting-started). -* 在[管理员文档中](../../../administration/pages/index.html)了解如何在整个 GitLab 实例上启用 GitLab 页面. - -## GitLab Pages requirements[](#gitlab-pages-requirements "Permalink") - -简而言之,这是您需要在 GitLab 页面中上传网站的内容: - -1. 实例的域:用于 GitLab 页面的域名(询问管理员). -2. GitLab CI / CD:一个`.gitlab-ci.yml`文件,在存储库的根目录中有一个名为[`pages`](../../../ci/yaml/README.html#pages)的特定作业. -3. 您网站存储库中一个名为`public`的目录,其中包含要发布的内容. -4. 为项目启用了 GitLab Runner. - -## GitLab Pages on GitLab.com[](#gitlab-pages-on-gitlabcom "Permalink") - -如果您使用[GitLab.com](#gitlab-pages-on-gitlabcom)上的[GitLab 页面](#gitlab-pages-on-gitlabcom)来托管您的网站,则: - -* The domain name for GitLab Pages on GitLab.com is `gitlab.io`. -* 自定义域和 TLS 支持已启用. -* 共享运行器默认情况下处于启用状态,免费提供,可用于构建您的网站. 如果您愿意,仍然可以携带自己的跑步者. - -## Example projects[](#example-projects "Permalink") - -访问[GitLab 页面组](https://gitlab.com/groups/pages)以获得示例项目的完整列表. 欢迎捐款. - -## Custom error codes Pages[](#custom-error-codes-pages "Permalink") - -您可以通过在将包含在工件中的`public/`目录的根目录中分别创建`403.html`和`404.html`文件来提供自己的 403 和 404 错误页面. 通常,这是项目的根目录,但是根据您的静态生成器配置,它可能有所不同. - -如果是`404.html` ,则有不同的方案. 例如: - -* 如果您使用项目 Pages(在`/projectname/` )并尝试访问`/projectname/non/existing_file` ,则 GitLab Pages 将尝试首先提供`/projectname/404.html` ,然后提供`/404.html` . -* 如果您使用用户/组页面(在`/`下提供)并尝试访问`/non/existing_file` GitLab Pages 将尝试提供`/404.html` . -* 如果您使用自定义域并尝试访问`/non/existing_file` ,则 GitLab Pages 将尝试仅提供`/404.html` . - -## Redirects in GitLab Pages[](#redirects-in-gitlab-pages "Permalink") - -由于您不能使用任何自定义服务器配置文件(例如`.htaccess`或任何`.conf`文件),因此,如果要将页面重定向到其他位置,可以使用[HTTP meta refresh 标签](https://en.wikipedia.org/wiki/Meta_refresh) . - -一些静态网站生成器提供了该功能的插件,因此您不必手动创建和编辑 HTML 文件. 例如,Jekyll 具有[redirect-from 插件](https://github.com/jekyll/jekyll-redirect-from) . - -## GitLab Pages Access Control[](#gitlab-pages-access-control-core "Permalink") - -要限制对您网站的访问,请启用[GitLab 页面访问控制](pages_access_control.html) . - -## Unpublishing your Pages[](#unpublishing-your-pages "Permalink") - -如果您需要清除 Pages 内容,可以通过右上角的齿轮图标进入项目设置,然后导航至**Pages** . 点击**删除页面**按钮,您的页面网站将被删除. - -[![Remove pages](img/987208c515a3f2627904cc38b355dc15.png)](img/remove_pages.png) - -## Limitations[](#limitations "Permalink") - -在 GitLab 实例的常规域( `*.example.io` )下使用 Pages 时, *不能*将 HTTPS 与子子域一起使用. 这意味着,如果你的用户名或组名称中包含一个圆点,例如`foo.bar` ,域`https://foo.bar.example.io`将*无法*正常工作. 这是[HTTP Over TLS 协议](https://tools.ietf.org/html/rfc2818#section-3.1)的限制. 如果您不将 HTTP 重定向到 HTTPS,HTTP 页面将继续工作. - -GitLab 网页[**不**支持组为网站分组](../../group/subgroups/index.html#limitations) . 您只能创建最高级别的群组网站. - -## Specific configuration options for Pages[](#specific-configuration-options-for-pages "Permalink") - -了解如何针对特定用例设置 GitLab CI / CD. - -### `.gitlab-ci.yml` for plain HTML websites[](#gitlab-ciyml-for-plain-html-websites "Permalink") - -假设您的存储库包含以下文件: - -``` -├── index.html -├── css -│ └── main.css -└── js - └── main.js -``` - -然后,下面的`.gitlab-ci.yml`示例仅将所有文件从项目的根目录移至`public/`目录. `.public`解决方法是, `cp`不会在无限循环中将`public/`复制到自身: - -``` -pages: - script: - - mkdir .public - - cp -r * .public - - mv .public public - artifacts: - paths: - - public - only: - - master -``` - -### `.gitlab-ci.yml` for a static site generator[](#gitlab-ciyml-for-a-static-site-generator "Permalink") - -请参阅本文档,以获取[分步指南](getting_started/pages_from_scratch.html) . - -### `.gitlab-ci.yml` for a repository where there’s also actual code[](#gitlab-ciyml-for-a-repository-where-theres-also-actual-code "Permalink") - -请记住,默认情况下,GitLab 页面是分支/标签不可知的,它们的部署仅取决于您在`.gitlab-ci.yml`指定`.gitlab-ci.yml` . 每当将新的提交推送到专门用于页面的分支时,就可以使用[`only`参数](../../../ci/yaml/README.html#onlyexcept-basic)限制`pages`作业. - -这样,您可以将项目的代码保存在`master`分支中,并使用一个孤儿分支(将其命名为`pages` )来托管您的静态生成器站点. - -您可以这样创建一个新的空分支: - -``` -git checkout --orphan pages -``` - -在这个新分支上进行的第一次提交将没有父母,这将是与所有其他分支和提交完全脱节的新历史的根源. 在`pages`分支中推送静态生成器的源文件. - -以下是`.gitlab-ci.yml`的副本,其中最重要的一行是最后一行,指定要执行`pages`分支中的所有`pages` : - -``` -image: ruby:2.6 - -pages: - script: - - gem install jekyll - - jekyll build -d public/ - artifacts: - paths: - - public - only: - - pages -``` - -请参见一个示例,该示例在[`master`分支](https://gitlab.com/pages/jekyll-branched/tree/master)中具有不同的文件,而 Jekyll 的源文件在[`pages`分支中](https://gitlab.com/pages/jekyll-branched/tree/pages) ,该[分支](https://gitlab.com/pages/jekyll-branched/tree/pages)还包含`.gitlab-ci.yml` . - -### Serving compressed assets[](#serving-compressed-assets "Permalink") - -大多数现代的浏览器都支持下载压缩格式的文件. 通过减小文件大小,可以加快下载速度. - -Pages 将提供未压缩的文件之前,将检查是否存在扩展名为`.gz`的相同文件. 如果支持,并且浏览器支持接收压缩文件,它将使用该版本而不是未压缩版本. - -要利用此功能,您上传到页面的工件应具有以下结构: - -``` -public/ -├─┬ index.html -│ └ index.html.gz -│ -├── css/ -│ └─┬ main.css -│ └ main.css.gz -│ -└── js/ - └─┬ main.js - └ main.js.gz -``` - -这可以通过在`.gitlab-ci.yml`页面作业中包含以下`script:`来实现: - -``` -pages: - # Other directives - script: - # Build the public/ directory first - - find public -type f -regex '.*\.\(htm\|html\|txt\|text\|js\|css\)$' -exec gzip -f -k {} \; -``` - -通过预压缩文件并在工件中包括两个版本,Pages 可以处理对压缩和未压缩内容的请求,而无需按需压缩文件. - -### Resolving ambiguous URLs[](#resolving-ambiguous-urls "Permalink") - -在 GitLab 11.8 中[引入](https://gitlab.com/gitlab-org/gitlab-pages/-/issues/95) - -当接收到不包含扩展名的 URL 的请求时,GitLab Pages 会假设要提供哪些文件. - -考虑使用以下文件部署的 Pages 站点: - -``` -public/ -├─┬ index.html -│ ├ data.html -│ └ info.html -│ -├── data/ -│ └── index.html -├── info/ -│ └── details.html -└── other/ - └── index.html -``` - -页面支持通过几个不同的 URL 来访问每个文件. 特别是,如果 URL 仅指定目录,它将始终寻找`index.html`文件. 如果该 URL 引用了一个不存在的文件,但是将`.html`添加到该 URL 中会导致该文件*确实*存在,将改为提供该文件. 以下是在上述 Pages 网站上发生的情况的一些示例: - -| URL path | HTTP 响应 | 文件送达 | -| --- | --- | --- | -| `/` | `200 OK` | `public/index.html` | -| `/index.html` | `200 OK` | `public/index.html` | -| `/index` | `200 OK` | `public/index.html` | -| `/data` | `200 OK` | `public/data/index.html` | -| `/data/` | `200 OK` | `public/data/index.html` | -| `/data.html` | `200 OK` | `public/data.html` | -| `/info` | `200 OK` | `public/info.html` | -| `/info/` | `200 OK` | `public/info.html` | -| `/info.html` | `200 OK` | `public/info.html` | -| `/info/details` | `200 OK` | `public/info/details.html` | -| `/info/details.html` | `200 OK` | `public/info/details.html` | -| `/other` | `302 Found` | `public/other/index.html` | -| `/other/` | `200 OK` | `public/other/index.html` | -| `/other/index` | `200 OK` | `public/other/index.html` | -| `/other/index.html` | `200 OK` | `public/other/index.html` | - -**注意:**当存在`public/data/index.html`时,对于`/data`和`/data/` URL 路径,其优先于`public/data.html`文件. - -## Frequently Asked Questions[](#frequently-asked-questions "Permalink") - -### Can I download my generated pages?[](#can-i-download-my-generated-pages "Permalink") - -当然. 您需要做的就是从作业页面下载工件存档. - -### Can I use GitLab Pages if my project is private?[](#can-i-use-gitlab-pages-if-my-project-is-private "Permalink") - -是. GitLab Pages 不在乎将项目的可见性级别设置为私有,内部还是公共. - -### Do I need to create a user/group website before creating a project website?[](#do-i-need-to-create-a-usergroup-website-before-creating-a-project-website "Permalink") - -不,你没有. 您可以先创建您的项目,然后将在`http(s)://namespace.example.io/projectname`下对其进行访问. - -## Known issues[](#known-issues "Permalink") - -有关已知问题的列表,请访问 GitLab 的[公共问题跟踪器](https://gitlab.com/gitlab-org/gitlab/-/issues?label_name[]=Category:Pages) . \ No newline at end of file diff --git a/docs/252.md b/docs/252.md deleted file mode 100644 index 5f410fd..0000000 --- a/docs/252.md +++ /dev/null @@ -1,104 +0,0 @@ -# Incremental Rollouts with GitLab CI/CD - -> 原文:[https://docs.gitlab.com/ee/ci/environments/incremental_rollouts.html](https://docs.gitlab.com/ee/ci/environments/incremental_rollouts.html) - -* [Manual Rollouts](#manual-rollouts) -* [Timed Rollouts](#timed-rollouts) -* [Blue-Green Deployment](#blue-green-deployment) - -# Incremental Rollouts with GitLab CI/CD[](#incremental-rollouts-with-gitlab-cicd "Permalink") - -在对应用程序进行更改时,可以将生产更改仅发布到 Kubernetes 吊舱的一部分,作为降低风险的策略. 通过逐步发布生产更改,可以监视错误率或性能下降,并且如果没有问题,则可以更新所有吊舱. - -manbetx 客户端打不开支持使用增量卷展到 Kubernetes 生产系统的手动触发和定时卷展. 使用"手动卷展"时,将手动触发每个吊舱的释放,而在"定时卷展"中,默认的暂停时间为 5 分钟,然后按批次进行释放. 也可以在暂停时间到期之前手动触发定时启动. - -手动和定时卷展栏自动包含在由[AutoDevOps](../../topics/autodevops/index.html)控制的项目中,但也可以通过 GitLab CI / CD 在`.gitlab-ci.yml`配置文件中`.gitlab-ci.yml`配置. - -可以使用" [持续交付"](../introduction/index.html#continuous-delivery)方法来实现手动触发的部署,而定时部署不需要干预,并且可以作为" [持续部署"](../introduction/index.html#continuous-deployment)策略的一部分. 您还可以通过自动部署应用程序的方式将两者结合在一起,除非最终在必要时进行手动干预. - -我们创建了示例应用程序来演示这三个选项,您可以将其用作构建自己的示例: - -* [Manual incremental rollouts](https://gitlab.com/gl-release/incremental-rollout-example/blob/master/.gitlab-ci.yml) -* [Timed incremental rollouts](https://gitlab.com/gl-release/timed-rollout-example/blob/master/.gitlab-ci.yml) -* [Both manual and timed rollouts](https://gitlab.com/gl-release/incremental-timed-rollout-example/blob/master/.gitlab-ci.yml) - -## Manual Rollouts[](#manual-rollouts "Permalink") - -在 GitLab 10.8 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/5415) . - -可以将 GitLab 配置为通过`.gitlab-ci.yml`手动进行增量部署. 手动配置允许对该功能进行更多控制. 增量部署的步骤取决于为部署定义的 Pod 数量,这些 Pod 是在创建 Kubernetes 集群时配置的. - -例如,如果您的应用程序有 10 个容器,并且运行了 10%的部署作业,则该应用程序的新实例将被部署到单个容器中,而其余 9 个将显示前一个实例. - -首先,我们[将模板定义为手动](https://gitlab.com/gl-release/incremental-rollout-example/blob/master/.gitlab-ci.yml#L100-103) : - -``` -.manual_rollout_template: &manual_rollout_template - <<: *rollout_template - stage: production - when: manual -``` - -然后,我们[定义每个步骤的推出量](https://gitlab.com/gl-release/incremental-rollout-example/blob/master/.gitlab-ci.yml#L152-155) : - -``` -rollout 10%: - <<: *manual_rollout_template - variables: - ROLLOUT_PERCENTAGE: 10 -``` - -When the jobs are built, a **play** button will appear next to the job’s name. Click the **play** button to release each stage of pods. You can also rollback by running a lower percentage job. Once 100% is reached, you cannot roll back using this method. It is still possible to roll back by redeploying the old version using the **Rollback** button on the environment page. - -[![Play button](img/184e7323733c8aa9331e3fbef102e17c.png)](img/incremental_rollouts_play_v12_7.png) - -一个[可部署的应用程序](https://gitlab.com/gl-release/incremental-rollout-example)可用,演示了手动触发的增量部署. - -## Timed Rollouts[](#timed-rollouts "Permalink") - -在 GitLab 11.4 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/7545) . - -定时部署的行为与手动部署的行为相同,不同之处在于,每个作业在部署前都会延迟几分钟. 单击作业将显示倒计时. - -[![Timed rollout](img/261e6c6422bccbb978c24c0728f3a593.png)](img/timed_rollout_v12_7.png) - -可以将此功能与手动增量部署相结合,以便作业倒计时然后部署. - -首先,我们[将模板定义为 timed](https://gitlab.com/gl-release/timed-rollout-example/blob/master/.gitlab-ci.yml#L86-89) : - -``` -.timed_rollout_template: &timed_rollout_template - <<: *rollout_template - when: delayed - start_in: 1 minutes -``` - -我们可以使用`start_in`键定义延迟时间: - -``` -start_in: 1 minutes -``` - -然后,我们[定义每个步骤的推出量](https://gitlab.com/gl-release/timed-rollout-example/blob/master/.gitlab-ci.yml#L97-101) : - -``` -timed rollout 30%: - <<: *timed_rollout_template - stage: timed rollout 30% - variables: - ROLLOUT_PERCENTAGE: 30 -``` - -一个[可部署的应用程序](https://gitlab.com/gl-release/timed-rollout-example)可用, [演示了定时部署的配置](https://gitlab.com/gl-release/timed-rollout-example/blob/master/.gitlab-ci.yml#L86-95) . - -## Blue-Green Deployment[](#blue-green-deployment "Permalink") - -有时也称为 A / B 部署或红黑色部署,此技术用于减少部署期间的停机时间和风险. 当与增量推出结合使用时,您可以最大程度地减少导致问题的部署的影响. - -使用这种技术,有两种部署方式("蓝色"和"绿色",但是可以使用任何命名). 在任何给定时间,这些部署中只有一个处于活动状态,除非在增量部署期间. - -例如,您的蓝色部署当前可以在生产中处于活动状态,而绿色部署"处于活动状态"可以进行测试,但不能部署到生产中. 如果发现问题,则可以在不影响生产部署的情况下更新绿色部署(当前为蓝色). 如果测试没有问题,则将生产切换到绿色部署,并且蓝色现在可用于测试下一个版本. - -此过程减少了停机时间,因为无需停止生产部署即可切换到其他部署. 两种部署都并行运行,并且可以随时切换到. - -提供了一个[示例可部署应用程序](https://gitlab.com/gl-release/blue-green-example) ,带有一个[`gitlab-ci.yml` CI / CD 配置文件](https://gitlab.com/gl-release/blue-green-example/blob/master/.gitlab-ci.yml) ,该[文件](https://gitlab.com/gl-release/blue-green-example/blob/master/.gitlab-ci.yml)演示了蓝绿色的部署. \ No newline at end of file diff --git a/docs/253.md b/docs/253.md deleted file mode 100644 index 7d9bfa0..0000000 --- a/docs/253.md +++ /dev/null @@ -1,45 +0,0 @@ -# Interactive Web Terminals - -> 原文:[https://docs.gitlab.com/ee/ci/interactive_web_terminal/](https://docs.gitlab.com/ee/ci/interactive_web_terminal/) - -* [Configuration](#configuration) -* [Debugging a running job](#debugging-a-running-job) -* [Interactive Web Terminals for the Web IDE](#interactive-web-terminals-for-the-web-ide) - -# Interactive Web Terminals[](#interactive-web-terminals "Permalink") - -在 GitLab 11.3 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/50144) . - -交互式 Web 终端使用户可以访问 GitLab 中的终端,以为其 CI 管道运行一次性命令. 由于这使用户可以通过外壳访问[GitLab Runner](https://docs.gitlab.com/runner/)部署环境,因此采取了一些[安全预防](../../administration/integration/terminal.html#security)措施来保护用户. - -**注意:** [GitLab.com 上的共享跑步者](../quick_start/README.html#shared-runners)不提供交互式 Web 终端. 请遵循[此问题](https://gitlab.com/gitlab-org/gitlab/-/issues/24674)以获取增加支持方面的进展. 对于在 GitLab.com 上托管的组和项目,使用自己的组或项目运行器时可以使用交互式 Web 终端. - -## Configuration[](#configuration "Permalink") - -为了使交互式 Web 终端正常工作,需要配置两件事: - -* 跑步者需要[正确配置`[session_server]`](https://docs.gitlab.com/runner/configuration/advanced-configuration.html) -* 如果您在 GitLab 实例上使用反向代理,则需要[启用](../../administration/integration/terminal.html#enabling-and-disabling-terminal-support) Web 终端 - -**注意:** [`gitlab-runner` Helm chart](https://docs.gitlab.com/charts/charts/gitlab/gitlab-runner/index.html)尚不支持交互式 Web 终端,但[已计划](https://gitlab.com/gitlab-org/charts/gitlab-runner/-/issues/79)支持. - -## Debugging a running job[](#debugging-a-running-job "Permalink") - -**注意:**并非所有执行程序都[受支持](https://docs.gitlab.com/runner/executors/) .**注意:**构建脚本完成后, `docker` executor 不会继续运行. 届时,终端将自动断开连接,并且不会等待用户完成操作. 请关注[此问题,](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/3605)以获取有关改进此行为的更新. - -有时,当一项作业正在运行时,事情并没有按您期望的那样进行,如果可以有一个外壳来帮助调试,这将很有帮助. 运行作业时,在右侧面板上可以看到一个`debug`按钮,它将打开当前作业的终端. - -[![Example of job running with terminal -available](img/206da14c2b9fd76390be58e7103b69c7.png)](img/interactive_web_terminal_running_job.png) - -单击后,新选项卡将打开到终端页面,您可以在其中访问终端并键入命令,如普通的 shell. - -[![terminal of the job](img/86b62f200c6aa129ed945d20ec0fbfa2.png)](img/interactive_web_terminal_page.png) - -如果您打开终端并且作业已完成其任务,则终端将在[`[session_server].session_timeout`](https://docs.gitlab.com/runner/configuration/advanced-configuration.html)配置的持续时间内阻止作业完成,直到关闭终端窗口. - -[![finished job with terminal open](img/2823aaef9502e47fb72734606099a98a.png)](img/finished_job_with_terminal_open.png) - -## Interactive Web Terminals for the Web IDE[](#interactive-web-terminals-for-the-web-ide "Permalink") - -阅读 Web IDE 文档,以了解如何[通过 Web IDE](../../user/project/web_ide/index.html#interactive-web-terminals-for-the-web-ide)运行[交互式终端](../../user/project/web_ide/index.html#interactive-web-terminals-for-the-web-ide) . \ No newline at end of file diff --git a/docs/254.md b/docs/254.md deleted file mode 100644 index 6e84d27..0000000 --- a/docs/254.md +++ /dev/null @@ -1,206 +0,0 @@ -# Optimizing GitLab for large repositories - -> 原文:[https://docs.gitlab.com/ee/ci/large_repositories/](https://docs.gitlab.com/ee/ci/large_repositories/) - -* [Shallow cloning](#shallow-cloning) -* [Git strategy](#git-strategy) -* [Git clone path](#git-clone-path) -* [Git clean flags](#git-clean-flags) -* [Git fetch extra flags](#git-fetch-extra-flags) -* [Fork-based workflow](#fork-based-workflow) - * [`shell` executor example](#shell-executor-example) - * [`docker` executor example](#docker-executor-example) - * [Our `.gitlab-ci.yml`](#our-gitlab-ciyml) - * [Store custom clone options in `config.toml`](#store-custom-clone-options-in-configtoml) - -# Optimizing GitLab for large repositories[](#optimizing-gitlab-for-large-repositories "Permalink") - -通常,由于克隆和签出所需的时间,在工作树中包含超过 5 万个文件的大型存储库通常需要特别考虑. - -GitLab 和 GitLab Runner 可以很好地处理这种情况,但是需要优化的配置才能有效地执行其操作. - -处理大型存储库的一般准则很简单. 以下各节将更详细地描述每个准则: - -* 始终以增量方式获取. 请勿以导致重新创建所有工作树的方式进行克隆. -* 始终使用浅克隆来减少数据传输. 请注意,由于 CPU 影响更大,这给 GitLab 实例带来了更多负担. -* 如果您大量使用基于 fork 的工作流,请控制克隆目录. -* 优化`git clean`标志,以确保删除或保留可能影响或加快构建速度的数据. - -## Shallow cloning[](#shallow-cloning "Permalink") - -在 GitLab Runner 8.9 中引入. - -默认情况下,GitLab 和 GitLab Runner 始终执行完整克隆. 虽然这意味着已收到来自 GitLab 的所有更改,但通常会导致接收额外的提交日志. - -理想情况下,您应始终使用`GIT_DEPTH` ,该数字应较小,例如 10.这将指示 GitLab Runner 执行浅表克隆. 浅克隆使 Git 仅请求给定分支的最新一组更改,最多达到`GIT_DEPTH`变量定义的所需提交`GIT_DEPTH` . - -这极大地加快了从 Git 存储库获取更改的速度,特别是如果存储库积压的事务由很多个大文件组成的积压很长时,因为我们有效地减少了数据传输量. - -以下示例使 GitLab Runner 浅表克隆仅获取给定的分支; 它不会获取任何其他分支或标签. - -``` -variables: - GIT_DEPTH: 10 - -test: - script: - - ls -al -``` - -## Git strategy[](#git-strategy "Permalink") - -在 GitLab Runner 8.9 中引入. - -默认情况下,GitLab 配置为始终首选`GIT_STRATEGY: fetch`策略. 如果在磁盘上找到`GIT_STRATEGY: fetch`策略,则会重新使用现有的工作树. 这与`GIT_STRATEGY: clone`策略不同, `GIT_STRATEGY: clone`一样,如果找到了工作树,则会在克隆之前将其删除. - -首选使用`fetch` ,因为它会减少要传输的数据量,并且不会真正影响您可能会从 CI 对存储库执行的操作. - -但是, `fetch`确实需要访问以前的工作树. 使用时,这种运作良好, `shell`或`docker`执行,因为这些努力保持 worktrees,默认情况下尽量重复使用它们. - -目前不适用于`kubernetes`执行器,并且在使用`kubernetes` `docker+machine`时有限制. `kubernetes`执行器总是克隆到临时目录中. - -GitLab 还提供了`GIT_STRATEGY: none`策略. 这会禁用任何由 GitLab 完成的`fetch`和`checkout`命令,要求您执行这些操作. - -## Git clone path[](#git-clone-path "Permalink") - -在 GitLab Runner 11.10 中引入. - -[`GIT_CLONE_PATH`](../yaml/README.html#custom-build-directories)允许您控制在何处克隆源. 如果您在 fork 工作流中大量使用大型存储库,则可能会产生影响. - -从 GitLab Runner 的角度来看,前叉工作流存储为具有单独工作树的单独存储库. 这意味着 GitLab Runner 无法优化工作树的使用,您可能必须指示 GitLab Runner 使用它. - -在这种情况下,理想情况下,您希望使 GitLab Runner 执行程序仅用于给定项目,而不是在不同项目之间共享,以使此过程更高效. - -[`GIT_CLONE_PATH`](../yaml/README.html#custom-build-directories)必须在`$CI_BUILDS_DIR` . 当前,不可能从磁盘选择任何路径. - -## Git clean flags[](#git-clean-flags "Permalink") - -在 GitLab Runner 11.10 中引入. - -[`GIT_CLEAN_FLAGS`](../yaml/README.html#git-clean-flags)允许您控制是否要求对每个 CI 作业执行`git clean`命令. 默认情况下,GitLab 确保您的工作树在给定的 SHA 上,并且您的存储库是干净的. - -设置为`none`时,将禁用[`GIT_CLEAN_FLAGS`](../yaml/README.html#git-clean-flags) . 在非常大的存储库上,这可能是理想的,因为`git clean`是磁盘 I / O 密集型的. 使用`GIT_CLEAN_FLAGS: -ffdx -e .build/`控制`GIT_CLEAN_FLAGS: -ffdx -e .build/` (例如)使您可以控制和禁用后续运行之间工作树中某些目录的删除,这可以加快增量生成的速度. 如果您重复使用现有计算机并拥有可用于构建的现有工作树,则效果最大. - -有关[`GIT_CLEAN_FLAGS`](../yaml/README.html#git-clean-flags)接受的确切参数,请参见[`git clean`](https://git-scm.com/docs/git-clean)的文档. 可用参数取决于 Git 版本. - -## Git fetch extra flags[](#git-fetch-extra-flags "Permalink") - -在 GitLab Runner 13.1 中[引入](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/4142) . - -[`GIT_FETCH_EXTRA_FLAGS`](../yaml/README.html#git-fetch-extra-flags) allows you to modify `git fetch` behavior by passing extra flags. - -有关更多信息,请参见[`GIT_FETCH_EXTRA_FLAGS`文档](../yaml/README.html#git-fetch-extra-flags) . - -## Fork-based workflow[](#fork-based-workflow "Permalink") - -在 GitLab Runner 11.10 中引入. - -遵循以上准则,让我们假设我们想要: - -* 针对大型项目进行优化(目录中有超过 5 万个文件). -* 使用基于分叉的工作流进行贡献. -* 重用现有的工作树. 预先配置了存储库的预配置运行器. -* 赛跑者仅分配给项目和所有分叉. - -让我们考虑以下两个示例,一个使用`shell` executor,另一个使用`docker` executor. - -### `shell` executor example[](#shell-executor-example "Permalink") - -假设您具有以下[`config.toml`](https://docs.gitlab.com/runner/configuration/advanced-configuration.html) . - -``` -concurrent = 4 - -[[runners]] - url = "GITLAB_URL" - token = "TOKEN" - executor = "shell" - builds_dir = "/builds" - cache_dir = "/cache" - - [runners.custom_build_dir] - enabled = true -``` - -This `config.toml`: - -* 使用`shell`执行器, -* 指定一个自定义`/builds`目录,其中将存储所有克隆. -* 启用指定`GIT_CLONE_PATH` , -* 一次最多运行 4 个作业. - -### `docker` executor example[](#docker-executor-example "Permalink") - -假设您具有以下[`config.toml`](https://docs.gitlab.com/runner/configuration/advanced-configuration.html) . - -``` -concurrent = 4 - -[[runners]] - url = "GITLAB_URL" - token = "TOKEN" - executor = "docker" - builds_dir = "/builds" - cache_dir = "/cache" - - [runners.docker] - volumes = ["/builds:/builds", "/cache:/cache"] -``` - -This `config.toml`: - -* 使用`docker` executor, -* 在磁盘上指定将存储所有克隆的自定义`/builds`目录. 我们在主机上挂载`/builds`目录,以使其在后续运行之间可重复使用,并允许其覆盖克隆策略. -* 默认情况下已启用,因此未启用指定`GIT_CLONE_PATH`功能. -* 一次最多运行 4 个作业. - -### Our `.gitlab-ci.yml`[](#our-gitlab-ciyml "Permalink") - -一旦配置了执行程序,就需要微调`.gitlab-ci.yml` . - -Our pipeline will be most performant if we use the following `.gitlab-ci.yml`: - -``` -variables: - GIT_DEPTH: 10 - GIT_CLONE_PATH: $CI_BUILDS_DIR/$CI_CONCURRENT_ID/$CI_PROJECT_NAME - -build: - script: ls -al -``` - -上面配置了: - -* 浅克隆 10,以加快后续`git fetch`命令的速度. -* 自定义克隆路径,使我们可以在父项目和所有分支之间重用工作树,因为我们对所有分支使用相同的克隆路径. - -为什么要使用`$CI_CONCURRENT_ID` ? 主要原因是要确保使用的工作树在项目之间不冲突. `$CI_CONCURRENT_ID`表示给定执行器中的唯一标识符,因此只要我们使用它来构造路径,就可以确保该目录不会与其他正在运行的并发作业冲突. - -### Store custom clone options in `config.toml`[](#store-custom-clone-options-in-configtoml "Permalink") - -理想情况下,所有与作业相关的配置都应存储在`.gitlab-ci.yml` . 但是,有时希望使这些方案成为 Runner 配置的一部分. - -在以上 Forks 的示例中,使此配置对于用户可发现可能是首选,但这会带来管理开销,因为需要为每个分支更新`.gitlab-ci.yml` . 在这种情况下,可能希望保持`.gitlab-ci.yml`克隆路径不可知,但是将其配置为 Runner. - -我们可以使用以下规范扩展[`config.toml`](https://docs.gitlab.com/runner/configuration/advanced-configuration.html) ,如果`.gitlab-ci.yml`不覆盖它,它将由 Runner 使用: - -``` -concurrent = 4 - -[[runners]] - url = "GITLAB_URL" - token = "TOKEN" - executor = "docker" - builds_dir = "/builds" - cache_dir = "/cache" - - environment = [ - "GIT_DEPTH=10", - "GIT_CLONE_PATH=$CI_BUILDS_DIR/$CI_CONCURRENT_ID/$CI_PROJECT_NAME" - ] - - [runners.docker] - volumes = ["/builds:/builds", "/cache:/cache"] -``` - -这使得克隆配置成为给定 Runner 的一部分,并且不需要我们更新每个`.gitlab-ci.yml` . \ No newline at end of file diff --git a/docs/255.md b/docs/255.md deleted file mode 100644 index e64cc6b..0000000 --- a/docs/255.md +++ /dev/null @@ -1,60 +0,0 @@ -# Metrics Reports - -> 原文:[https://docs.gitlab.com/ee/ci/metrics_reports.html](https://docs.gitlab.com/ee/ci/metrics_reports.html) - -* [Overview](#overview) -* [Use cases](#use-cases) -* [How it works](#how-it-works) -* [How to set it up](#how-to-set-it-up) -* [Advanced Example](#advanced-example) - -# Metrics Reports[](#metrics-reports-premium "Permalink") - -在[GitLab Premium](https://about.gitlab.com/pricing/) 11.10 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/9788) . 需要 GitLab Runner 11.10 及更高版本. - -## Overview[](#overview "Permalink") - -GitLab 提供了许多用于[合并请求](../user/project/merge_requests/index.html)的出色报告工具[-JUnit 报告](junit_test_reports.html) , [代码质量](../user/project/merge_requests/code_quality.html) ,性能测试等.尽管 JUnit 是用于"通过"或"失败"的测试的出色开放框架,但查看其他类型的测试也很重要.给定更改的指标. - -您可以将作业配置为使用自定义指标报告,并且 GitLab 会在合并请求上显示报告,以便更轻松,更快速地识别更改而无需检查整个日志. - -[![Metrics Reports](img/a6d06d0c4a54ff34856e0fbc07a50a60.png)](img/metrics_reports_v13_0.png) - -## Use cases[](#use-cases "Permalink") - -考虑以下可以利用指标报告的数据示例: - -1. 内存使用情况 -2. 负载测试结果 -3. 代码复杂度 -4. 代码覆盖率统计 - -## How it works[](#how-it-works "Permalink") - -从指标报告中读取指标(默认值: `metrics.txt` ). 它们被解析并显示在 MR 小部件中. - -所有值都视为字符串,并且使用字符串比较来查找来自以下各项的最新可用`metrics`工件之间的差异: - -* `master` -* 功能分支 - -## How to set it up[](#how-to-set-it-up "Permalink") - -添加一个创建[指标报告](pipelines/job_artifacts.html#artifactsreportsmetrics-premium)的作业(默认文件名: `metrics.txt` ). 该文件应符合[OpenMetrics](https://openmetrics.io/)格式. - -例如: - -``` -metrics: - script: - - echo 'metric_name metric_value' > metrics.txt - artifacts: - reports: - metrics: metrics.txt -``` - -## Advanced Example[](#advanced-example "Permalink") - -OpenMetrics 文本文件的高级示例(来自[Prometheus 文档](https://github.com/prometheus/docs/blob/master/content/docs/instrumenting/exposition_formats.md#text-format-example) )在合并请求小部件中呈现为: - -[![Metrics Reports Advanced](img/1ab2181cd0be5aa7d8e96f16a1348ef9.png)](img/metrics_reports_advanced_v13_0.png) \ No newline at end of file diff --git a/docs/256.md b/docs/256.md deleted file mode 100644 index 66dd12c..0000000 --- a/docs/256.md +++ /dev/null @@ -1,498 +0,0 @@ -# CI/CD pipelines - -> 原文:[https://docs.gitlab.com/ee/ci/pipelines/](https://docs.gitlab.com/ee/ci/pipelines/) - -* [Types of pipelines](#types-of-pipelines) -* [Configure a pipeline](#configure-a-pipeline) - * [View pipelines](#view-pipelines) - * [Run a pipeline manually](#run-a-pipeline-manually) - * [Run a pipeline by using a URL query string](#run-a-pipeline-by-using-a-url-query-string) - * [Add manual interaction to your pipeline](#add-manual-interaction-to-your-pipeline) - * [Start multiple manual actions in a stage](#start-multiple-manual-actions-in-a-stage) - * [Delete a pipeline](#delete-a-pipeline) - * [Pipeline quotas](#pipeline-quotas) - * [How pipeline duration is calculated](#how-pipeline-duration-is-calculated) - * [Pipeline security on protected branches](#pipeline-security-on-protected-branches) -* [View jobs in a pipeline](#view-jobs-in-a-pipeline) - * [See why a job failed](#see-why-a-job-failed) - * [The order of jobs in a pipeline](#the-order-of-jobs-in-a-pipeline) - * [Group jobs in a pipeline](#group-jobs-in-a-pipeline) - * [Specifying variables when running manual jobs](#specifying-variables-when-running-manual-jobs) - * [Delay a job](#delay-a-job) - * [Expand and collapse job log sections](#expand-and-collapse-job-log-sections) - * [Custom collapsible sections](#custom-collapsible-sections) -* [Visualize pipelines](#visualize-pipelines) - * [Regular pipeline graphs](#regular-pipeline-graphs) - * [Pipeline mini graphs](#pipeline-mini-graphs) - * [Pipeline success and duration charts](#pipeline-success-and-duration-charts) - * [Pipeline badges](#pipeline-badges) -* [Pipelines API](#pipelines-api) -* [Troubleshooting `fatal: reference is not a tree:`](#troubleshooting-fatal-reference-is-not-a-tree) - -# CI/CD pipelines[](#cicd-pipelines "Permalink") - -在 GitLab 8.8 中引入. - -**提示:**观看["精通持续软件开发"](https://about.gitlab.com/webcast/mastering-ci-cd/)网络广播,以观看 GitLab CI / CD 管道的全面演示. - -管道是持续集成,交付和部署的顶级组件. - -Pipelines comprise: - -* 作业,定义*要做*什么. 例如,编译或测试代码的作业. -* 阶段,定义*何时*运行作业. 例如,在编译代码的阶段之后运行测试的阶段. - -作业由[Runners](../runners/README.html)执行. 如果有足够的并发运行程序,则可以并行执行同一阶段中的多个作业. - -如果一个阶段中的*所有*作业*都*成功,则管道将继续进行下一个阶段. - -If *any* job in a stage fails, the next stage is not (usually) executed and the pipeline ends early. - -通常,管道是自动执行的,创建后就无需干预. 但是,有时您还可以手动与管道进行交互. - -典型的管道可能包含四个阶段,按以下顺序执行: - -* 一个`build`阶段,其工作称为`compile` . -* 一个`test`阶段,具有两个作业,分别称为`test1`和`test2` . -* `staging`阶段,其工作称为`deploy-to-stage` . -* `production`阶段,其工作称为`deploy-to-prod` . - -**注意:**如果您有[从 GitLab 提取镜像的存储库,则](../../user/project/repository/repository_mirroring.html#pulling-from-a-remote-repository-starter)可能需要在项目的**"设置">"存储库">"从远程存储库中提取">"触发管道更新镜像"中**启用管道触发. - -## Types of pipelines[](#types-of-pipelines "Permalink") - -管道可以通过许多不同的方式进行配置: - -* [基本管道](pipeline_architectures.html#basic-pipelines)在每个阶段同时运行所有内容,随后是下一阶段. -* [定向非循环图管线(DAG)管线](../directed_acyclic_graph/index.html)基于作业之间的关系,并且比基本管线运行得更快. -* [多项目管道](../multi_project_pipelines.html)将不同项目的[管道](../multi_project_pipelines.html)组合在一起. -* [父子管道](../parent_child_pipelines.html)将复杂的管道分解为一个父管道,该管道可以触发多个子管道,这些子管道都在同一项目中并以相同的 SHA 运行. -* [合并请求的管道仅针对合并请求](../merge_request_pipelines/index.html)运行(而不是针对每次提交). -* [合并结果管道](../merge_request_pipelines/pipelines_for_merged_results/index.html)是合并请求管道,其作用就像源分支的更改已被合并到目标分支一样. -* [合并列车](../merge_request_pipelines/pipelines_for_merged_results/merge_trains/index.html)使用管道获取合并结果,以使合并一个接一个地排队. - -## Configure a pipeline[](#configure-a-pipeline "Permalink") - -在 CI / CD 管道配置文件中为每个项目定义了管道及其组件作业和阶段. - -* 作业是[基本的配置](../yaml/README.html#introduction)组件. -* 阶段是通过使用[`stages`](../yaml/README.html#stages)关键字定义的. - -有关 CI 管道文件中配置选项的列表,请参见《 [GitLab CI / CD 管道配置参考》](../yaml/README.html) . - -您还可以通过 GitLab UI 配置管道的特定方面. 例如: - -* 每个项目的[管道设置](settings.html) . -* [Pipeline schedules](schedules.html). -* [Custom CI/CD variables](../variables/README.html#custom-environment-variables). - -### View pipelines[](#view-pipelines "Permalink") - -您可以在项目的**CI / CD>管道**页面下找到当前和历史管道运行. 您还可以通过导航到" **管道"**选项卡来访问合并请求的**管道** . - -[![Pipelines index page](img/44be1cce97f886ea1f1c93950d764041.png)](img/pipelines_index_v13_0.png) - -单击管道将带您进入" **管道详细信息"**页面,并显示为该管道运行的作业. 在这里,您可以取消正在运行的管道,在发生故障的管道上重试作业或[删除管道](#delete-a-pipeline) . - -[从 GitLab 12.3 开始,](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/50499)可以在`/project/pipelines/[branch]/latest`找到指向给定分支的最后提交的最新管道的链接. 另外, `/project/pipelines/latest`会将您重定向到项目默认分支上最后一次提交的最新管道. - -[从 GitLab 13.0 开始](https://gitlab.com/gitlab-org/gitlab/-/issues/215367) ,您可以通过以下方式过滤管道列表: - -* 触发作者 -* 分店名称 -* 状态( [自 GitLab 13.1 起](https://gitlab.com/gitlab-org/gitlab/-/issues/217617) ) -* 标签( [自 GitLab 13.1 起](https://gitlab.com/gitlab-org/gitlab/-/issues/217617) ) - -### Run a pipeline manually[](#run-a-pipeline-manually "Permalink") - -可以使用预定义或手动指定的[变量](../variables/README.html)手动执行管道. - -如果在管道的正常操作之外需要管道的结果(例如,代码生成),则可以执行此操作. - -要手动执行管道: - -1. 导航到项目的**CI / CD>管道** . -2. 单击**运行管道**按钮. -3. 在" **运行管道"**页面上: - 1. 在" **创建位置"**字段中选择要为其运行管道的分支. - 2. 输入管道运行所需的任何[环境变量](../variables/README.html) . - 3. 单击**创建管道**按钮. - -管道将按照配置执行作业. - -### Run a pipeline by using a URL query string[](#run-a-pipeline-by-using-a-url-query-string "Permalink") - -在 GitLab 12.5 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/24146) . - -您可以使用查询字符串来预填充" **运行管道"**页面. 例如,查询字符串`.../pipelines/new?ref=my_branch&var[foo]=bar&file_var[file_foo]=file_bar`将使用以下内容预填充" **运行管道"**页面: - -* **竞选** field: `my_branch`. -* **Variables** section: - * Variable: - * Key: `foo` - * Value: `bar` - * File: - * Key: `file_foo` - * Value: `file_bar` - -`pipelines/new` URL 的格式为: - -``` -.../pipelines/new?ref=&var[]=&file_var[]= -``` - -支持以下参数: - -* `ref` :指定用于填充" **运行为"**字段的分支. -* `var` :指定一个`Variable`变量. -* `file_var` :指定一个`File`变量. - -对于每个`var`或`file_var` ,都需要一个键和一个值. - -### Add manual interaction to your pipeline[](#add-manual-interaction-to-your-pipeline "Permalink") - -在 GitLab 8.15 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/7931) . - -使用[`when:manual`](../yaml/README.html#whenmanual)参数配置的手动操作使您可以要求手动交互,然后才能在管道中继续前进. - -您可以直接从管道图执行此操作. 只需单击播放按钮即可执行该特定作业. - -例如,您的管道可能会自动启动,但是需要手动操作才能[部署到生产中](../environments/index.html#configuring-manual-deployments) . 在下面的示例中, `production`阶段有一个需要手动操作的工作. - -[![Pipelines example](img/d2f0725099f8a66ed235d537ea6592a4.png)](img/pipelines.png) - -#### Start multiple manual actions in a stage[](#start-multiple-manual-actions-in-a-stage "Permalink") - -在 GitLab 11.11 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/27188) . - -可以使用"全部播放手动"按钮同时启动一个阶段中的多个手动动作. 用户单击此按钮后,将触发每个单独的手动操作并将其刷新为更新状态. - -此功能仅可用: - -* 至少具有开发者访问权限的用户. -* 如果阶段包含[手动操作](#add-manual-interaction-to-your-pipeline) . - -### Delete a pipeline[](#delete-a-pipeline "Permalink") - -在 GitLab 12.7 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/24851) . - -在项目中具有[所有者权限的](../../user/permissions.html)用户可以通过以下方式删除管道:单击**CI / CD>管道中的管道**以转到" **管道详细信息"**页面,然后使用" **删除"**按钮. - -[![Pipeline Delete Button](img/86614ecfb76f8a91344d98d3effa7d2a.png)](img/pipeline-delete.png) - -**警告:**删除管道将使所有管道缓存失效,并删除所有相关对象,例如构建,日志,工件和触发器. **此操作无法撤消.** - -### Pipeline quotas[](#pipeline-quotas "Permalink") - -每个用户都有一个个人管道配额,该配额跟踪所有个人项目中共享运行者的使用情况. 每个组都有一个[使用配额](../../subscriptions/index.html#ci-pipeline-minutes) ,该[配额](../../subscriptions/index.html#ci-pipeline-minutes)跟踪该组内创建的所有项目的共享运行器的使用. - -触发管道时,无论是谁触发的,都会使用项目所有者的[名称空间](../../user/group/index.html#namespaces)的管道配额. 在这种情况下,名称空间可以是拥有项目的用户或组. - -#### How pipeline duration is calculated[](#how-pipeline-duration-is-calculated "Permalink") - -给定管道的总运行时间不包括重试和挂起(排队)时间. - -每个作业都表示为一个`Period` ,它包括: - -* `Period#first` (作业开始时). -* `Period#last` (作业完成时). - -一个简单的例子是: - -* A(1、3) -* B(2,4) -* C(6、7) - -在示例中: - -* A 从 1 开始到 3 结束. -* B 从 2 开始到 4 结束. -* C 从 6 开始到 7 结束. - -在视觉上,它可以被视为: - -``` -0 1 2 3 4 5 6 7 - AAAAAAA - BBBBBBB - CCCC -``` - -A,B 和 C 的并集是(1、4)和(6、7). 因此,总运行时间为: - -``` -(4 - 1) + (7 - 6) => 4 -``` - -### Pipeline security on protected branches[](#pipeline-security-on-protected-branches "Permalink") - -在[受保护的分支](../../user/project/protected_branches.html)上执行管道时,将强制执行严格的安全模型. - -仅当[允许](../../user/project/protected_branches.html#using-the-allowed-to-merge-and-allowed-to-push-settings)用户[合并或推送到](../../user/project/protected_branches.html#using-the-allowed-to-merge-and-allowed-to-push-settings)该特定分支时,才可以在受保护的分支上执行以下操作: - -* 运行手动管道(使用[Web UI](#run-a-pipeline-manually)或[管道 API](#pipelines-api) ). -* 运行预定的管道. -* 使用触发器运行管道. -* 在现有管道上触发手动操作. -* 重试或取消现有作业(使用 Web UI 或管道 API). - -标记为**受保护的** **变量**只能由在受保护的分支上运行的作业访问,从而防止不受信任的用户意外访问敏感信息,如部署凭据和令牌. - -**运动员**标记为**保护**只能保护分支机构运行的作业,防止不可信代码在受保护亚军执行和不小心被访问保护部署密钥和其它凭证. 为了确保打算在受保护的运行程序上执行的作业不会使用常规运行程序,必须对它们进行相应标记. - -## View jobs in a pipeline[](#view-jobs-in-a-pipeline "Permalink") - -访问管道时,可以看到该管道的相关作业. - -单击单个作业将向您显示其作业日志,并允许您: - -* 取消作业. -* 重试该作业. -* 删除作业日志. - -### See why a job failed[](#see-why-a-job-failed "Permalink") - -在 GitLab 10.7 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17782) . - -当管道发生故障或被允许失败时,可以在几个地方找到原因: - -* 在[管道图中](#visualize-pipelines) ,在管道详细信息视图上. -* 在管道小部件中,在合并请求和提交页面中. -* 在工作视图中,在工作的全局视图和详细视图中. - -在每个地方,如果将鼠标悬停在失败的作业上,都可以看到失败的原因. - -[![Pipeline detail](img/b6069220bf06467d1d434d3652c5d82a.png)](img/job_failure_reason.png) - -在[GitLab 10.8](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17814)及更高版本中,您还可以在"作业详细信息"页面上查看其失败的原因. - -### The order of jobs in a pipeline[](#the-order-of-jobs-in-a-pipeline "Permalink") - -管道中作业的顺序取决于管道图的类型. - -* 对于[常规管道图](#regular-pipeline-graphs) ,按名称对作业进行排序. -* 对于[管道微型图](#pipeline-mini-graphs) ,将按严重性然后按名称对作业进行排序. - -严重性顺序为: - -* failed -* warning -* pending -* running -* manual -* scheduled -* canceled -* success -* skipped -* created - -例如: - -[![Pipeline mini graph sorting](img/9abb23a34d42854b307382ef64d9a013.png)](img/pipelines_mini_graph_sorting.png) - -### Group jobs in a pipeline[](#group-jobs-in-a-pipeline "Permalink") - -在 GitLab 8.12 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/6242) . - -如果您有许多类似的工作,则[管道图](#visualize-pipelines)将变得很长且难以阅读. - -您可以自动将相似的作业分组在一起. 如果以某种方式格式化作业名称,它们将在常规管道图(而不是迷你图)中折叠为一组. - -如果看不到管道中的重试或取消按钮,您将知道管道何时将其分组. 将鼠标悬停在它们上面将显示分组的作业数. 单击以展开它们. - -[![Grouped pipelines](img/0d6a90afbcbb1f9414d4a9a8437e49f8.png)](img/pipelines_grouped.png) - -要创建一组作业,请在[CI / CD 管道配置文件中](../yaml/README.html) ,用数字和以下其中一个分隔每个作业名称: - -* 斜线( `/` ),例如`test 1/3` , `test 2/3` , `test 3/3` . -* 冒号( `:` )中,例如, `test 1:3` , `test 2:3` , `test 3:3` . -* 一个空格,例如`test 0 3` , `test 1 3` , `test 2 3` . - -您可以互换使用这些符号. - -例如,这三个作业将在一个名为`build ruby`的组中: - -``` -build ruby 1/3: - stage: build - script: - - echo "ruby1" - -build ruby 2/3: - stage: build - script: - - echo "ruby2" - -build ruby 3/3: - stage: build - script: - - echo "ruby3" -``` - -在管道中,结果是一个名为`build ruby`的组,具有三个作业: - -[![Job group](img/7bcf8d15daa1fb25935d7638acd8eb43.png)](img/job_group_v12_10.png) - -作业将通过从左到右比较数字进行排序. 通常,您希望第一个数字为索引,第二个数字为总数. - -[此正则表达式](https://gitlab.com/gitlab-org/gitlab/blob/2f3dc314f42dbd79813e6251792853bc231e69dd/app/models/commit_status.rb#L99)计算作业名称: `\d+[\s:\/\\]+\d+\s*` . - -### Specifying variables when running manual jobs[](#specifying-variables-when-running-manual-jobs "Permalink") - -在 GitLab 12.2 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/30485) . - -运行手动作业时,您可以提供其他特定于作业的变量. - -您可以从要运行其他变量的手动作业的作业页面执行此操作. 要访问此页面,请在管道视图中单击手动作业的**名称** , *而不是*播放( )按钮. - -当您想要更改使用[自定义环境变量](../variables/README.html#custom-environment-variables)的作业的执行时,这很有用. 在此处添加变量名称(键)和值将覆盖[UI 或`.gitlab-ci.yml`](../variables/README.html#custom-environment-variables)定义的值,以供手动运行一次. - -[![Manual job variables](img/185cfb126a59b17e7d802717876f8725.png)](img/manual_job_variables.png) - -### Delay a job[](#delay-a-job "Permalink") - -在 GitLab 11.4 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/21767) . - -当您不想立即运行作业时,可以使用[`when:delayed`](../yaml/README.html#whendelayed)参数将作业的执行延迟一定时间. - -这对于定时增量式部署特别有用,在这种情况下,新代码将逐步推出. - -例如,如果您开始推出新代码并执行以下操作: - -* 用户不会遇到麻烦,GitLab 可以从 0%到 100%自动完成部署. -* 用户在使用新代码时会遇到麻烦,您可以通过取消管道并[回滚](../environments/index.html#retrying-and-rolling-back)到最后一个稳定版本来停止定时增量推出. - -[![Pipelines example](img/3444bd33319e0b2d996233cf9e1103c5.png)](img/pipeline_incremental_rollout.png) - -### Expand and collapse job log sections[](#expand-and-collapse-job-log-sections "Permalink") - -在 GitLab 12.0 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/14664) . - -作业日志分为可折叠或扩展的部分. 每个部分将显示持续时间. - -在以下示例中: - -* 两个部分已折叠并且可以展开. -* 三个部分被展开并且可以折叠. - -[![Collapsible sections](img/53dc09446080b42329a76d4ecbb64aa3.png)](img/collapsible_log_v12_6.png) - -#### Custom collapsible sections[](#custom-collapsible-sections "Permalink") - -您可以通过手动输出特殊代码来在作业日志中创建可折叠部分,GitLab 将使用这些特殊代码来确定要折叠的部分: - -* 节开始标记: `section_start:UNIX_TIMESTAMP:SECTION_NAME\r\e[0K` + `TEXT_OF_SECTION_HEADER` -* 节结束标记: `section_end:UNIX_TIMESTAMP:SECTION_NAME\r\e[0K` - -您必须将这些代码添加到 CI 配置的脚本部分. 例如,使用`echo` : - -``` -job1: - script: - - echo -e "section_start:`date +%s`:my_first_section\r\e[0KHeader of the 1st collapsible section" - - echo 'this line should be hidden when collapsed' - - echo -e "section_end:`date +%s`:my_first_section\r\e[0K" -``` - -在上面的示例中: - -* `date +%s` :Unix 时间戳(例如`1560896352` ). -* `my_first_section` :为节指定的名称. -* `\r\e[0K` :阻止区域标记显示在渲染的(彩色)作业日志中,但它们显示在原始作业日志中. 要查看它们,请在作业日志的右上方,单击 ( **显示完整的原始文件** ). - * `\r` :回车. - * `\e[0K` :清除 ANSI 转义代码. - -原始作业日志样本: - -``` -section_start:1560896352:my_first_section\r\e[0KHeader of the 1st collapsible section -this line should be hidden when collapsed -section_end:1560896353:my_first_section\r\e[0K -``` - -## Visualize pipelines[](#visualize-pipelines "Permalink") - -在 GitLab 8.11 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/5742) . - -管道可以是具有许多顺序和并行作业的复杂结构. - -为了更容易理解管道的流程,GitLab 提供了管道图来查看管道及其状态. - -管道图可以两种不同的方式显示,具体取决于您从中访问该图的页面. - -**注意:** GitLab 在管线图中将各阶段的名称大写. - -### Regular pipeline graphs[](#regular-pipeline-graphs "Permalink") - -常规管道图显示每个阶段的作业名称. 当您在[单个管道页面](#view-pipelines)上时,可以找到常规管道图. 例如: - -[![Pipelines example](img/d2f0725099f8a66ed235d537ea6592a4.png)](img/pipelines.png) - -[多项目管道图可](../multi_project_pipelines.html#multi-project-pipeline-visualization-premium)帮助您可视化整个管道,包括所有跨项目的相互依存关系. - -### Pipeline mini graphs[](#pipeline-mini-graphs "Permalink") - -管道微型图占用的空间更少,并且可以一眼告诉您所有作业都通过还是失败. 当您导航到以下位置时,可以找到管道迷你图: - -* 管道索引页面. -* 单个提交页面. -* 合并请求页面. - -管道微型图使您可以查看一次提交的所有相关作业以及管道每个阶段的最终结果. 这使您可以快速查看失败的原因并进行修复. - -管道微型图中的阶段是可折叠的. 将鼠标悬停在他们上方,然后单击以展开他们的工作. - -| 迷你图 | 迷你图展开 | -| --- | --- | -| [![Pipelines mini graph](img/12e557e74666b1c90827cdd5bfe4d87a.png)](img/pipelines_mini_graph_simple.png) | [![Pipelines mini graph extended](img/28ba73ced40f830058c21c46c8291bfe.png)](img/pipelines_mini_graph.png) | - -### Pipeline success and duration charts[](#pipeline-success-and-duration-charts "Permalink") - -版本历史 - -* 在 GitLab 3.1.1 中作为"提交统计信息"引入,后来更名为"管线图". -* 在 GitLab 12.8 中[重命名](https://gitlab.com/gitlab-org/gitlab/-/issues/38318)为 CI / CD Analytics. - -GitLab 跟踪您的管道成功与失败的历史记录,以及每个管道的运行时间. 要查看此信息,请转到**分析> CI / CD 分析** . - -查看成功的管道: - -[![Successful pipelines](img/a88692f85b1b05ca94199204a3cc1f00.png)](img/pipelines_success_chart.png) - -查看管道持续时间历史记录: - -[![Pipeline duration](img/6867e53bf251ef0cb0e190c2e702d188.png)](img/pipelines_duration_chart.png) - -### Pipeline badges[](#pipeline-badges "Permalink") - -管道状态和测试覆盖率报告标记可用于每个项目,并可对其进行配置. 有关将管道标记添加到项目的信息,请参见[管道标记](settings.html#pipeline-badges) . - -## Pipelines API[](#pipelines-api "Permalink") - -GitLab 提供 API 端点以: - -* 执行基本功能. 有关更多信息,请参见[Pipelines API](../../api/pipelines.html) . -* 维护管道时间表. 有关更多信息,请参见[管道时间表 API](../../api/pipeline_schedules.html) . -* 触发管道运行. 有关更多信息,请参见: - * [通过 API 触发管道](../triggers/README.html) . - * [管道触发器 API](../../api/pipeline_triggers.html) . - -## Troubleshooting `fatal: reference is not a tree:`[](#troubleshooting-fatal-reference-is-not-a-tree "Permalink") - -在 GitLab 12.4 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/17043) . - -以前,当您强制将分支推入其远程存储库时,会遇到意外的管道故障. 为了说明问题,假设您已经拥有当前的工作流程: - -1. 用户创建一个名为`example`的功能分支并将其推送到远程存储库. -2. 新的管道开始在`example`分支上运行. -3. 用户将`example`分支基于最新的`master`分支,然后将其强制推送到其远程存储库. -4. 新的管道再次在`example`分支上运行,但是,先前的管道(2)由于`fatal: reference is not a tree:`错误`fatal: reference is not a tree:`失败. - -这是因为先前的管道无法从`example`分支中找到校验历史 SHA(与管道记录相关联),该历史历史已被强制推送覆盖. 同样,由于[相同的原因](../merge_request_pipelines/pipelines_for_merged_results/index.html#intermittently-pipelines-fail-by-fatal-reference-is-not-a-tree-error) [,合并结果的管道](../merge_request_pipelines/pipelines_for_merged_results/index.html)可能会间歇性地失败. - -从 GitLab 12.4 开始,我们通过专门保留管道引用来改善了这种行为. 为了说明其生命周期: - -1. 在名为`example`的功能分支上创建了管道. -2. 在`refs/pipelines/`创建一个持久的管道 ref,该`refs/pipelines/`保留相关管道记录的 checkout-SHA. 即使在`example`分支的提交历史记录已被强制推送覆盖的情况下,该持久引用在管道执行期间也保持不变. -3. GitLab Runner fetches the persistent pipeline ref and gets source code from the checkout-SHA. -4. 管道完成后,将在后台进程中清除其持久引用. \ No newline at end of file diff --git a/docs/257.md b/docs/257.md deleted file mode 100644 index afba6d3..0000000 --- a/docs/257.md +++ /dev/null @@ -1,217 +0,0 @@ -# Pipeline Architecture - -> 原文:[https://docs.gitlab.com/ee/ci/pipelines/pipeline_architectures.html](https://docs.gitlab.com/ee/ci/pipelines/pipeline_architectures.html) - -* [Basic Pipelines](#basic-pipelines) -* [Directed Acyclic Graph Pipelines](#directed-acyclic-graph-pipelines) -* [Child / Parent Pipelines](#child--parent-pipelines) - -# Pipeline Architecture[](#pipeline-architecture "Permalink") - -管道是 GitLab 中 CI / CD 的基本构建块. 本页记录了一些与它们有关的重要概念. - -构造管道的主要方法有三种,每种都有自己的优势. 如果需要,可以混合使用以下方法: - -* [基本](#basic-pipelines) :适用于简单的项目,其中所有配置都在一个易于查找的位置. -* [有向无环图](#directed-acyclic-graph-pipelines) :适用于需要有效执行的大型,复杂项目. -* [子级/父级管道](#child--parent-pipelines) :适用于具有大量独立定义组件的 monorepos 和项目. - -有关下面使用的任何关键字的更多详细信息,请查看我们的[CI YAML 参考](../yaml/README.html)以获取详细信息. - -## Basic Pipelines[](#basic-pipelines "Permalink") - -这是 GitLab 中最简单的管道. 它会在构建阶段同时运行所有内容,一旦所有这些操作完成,它将以相同的方式在测试阶段运行所有内容,依此类推. 它不是最有效的,并且如果您有很多步骤,它可能会变得非常复杂,但更易于维护: - -图 LR 子图部署阶段部署-> deploy_a 部署-> deploy_b 结束子图测试阶段测试-> test_a 测试-> test_b 结束子图构建阶段构建-> build_a 构建-> build_b 结束 build_a -.->测试 build_b -.->测试 test_a -.->部署 test_b -.->部署 - -匹配该图的示例基本`/.gitlab-ci.yml`管道配置: - -``` -stages: - - build - - test - - deploy - -image: alpine - -build_a: - stage: build - script: - - echo "This job builds something." - -build_b: - stage: build - script: - - echo "This job builds something else." - -test_a: - stage: test - script: - - echo "This job tests something. It will only run when all jobs in the" - - echo "build stage are complete." - -test_b: - stage: test - script: - - echo "This job tests something else. It will only run when all jobs in the" - - echo "build stage are complete too. It will start at about the same time as test_a." - -deploy_a: - stage: deploy - script: - - echo "This job deploys something. It will only run when all jobs in the" - - echo "test stage complete." - -deploy_b: - stage: deploy - script: - - echo "This job deploys something else. It will only run when all jobs in the" - - echo "test stage complete. It will start at about the same time as deploy_a." -``` - -## Directed Acyclic Graph Pipelines[](#directed-acyclic-graph-pipelines "Permalink") - -如果效率对您很重要,并且您希望所有内容尽快运行,则可以使用有向无[环图(DAG)](../directed_acyclic_graph/index.html) . 使用[`needs`关键字](../yaml/README.html#needs)定义作业之间的依赖关系. 当 GitLab 知道您的工作之间的关系时,它可以尽快运行所有内容,甚至在可能的情况下跳入后续阶段. - -在下面的示例中,如果`build_a`和`test_a`的速度比`build_b`和`test_b` ,则即使`build_b`仍在运行,GitLab 也会启动`deploy_a` . - -使用 DAG build_a-> test_a-> deploy_a build_b-> test_b-> deploy_b 结束的图 LR 子图管道 - -匹配该图的示例 DAG `/.gitlab-ci.yml`配置: - -``` -stages: - - build - - test - - deploy - -image: alpine - -build_a: - stage: build - script: - - echo "This job builds something quickly." - -build_b: - stage: build - script: - - echo "This job builds something else slowly." - -test_a: - stage: test - needs: [build_a] - script: - - echo "This test job will start as soon as build_a finishes." - - echo "It will not wait for build_b, or other jobs in the build stage, to finish." - -test_b: - stage: test - needs: [build_b] - script: - - echo "This test job will start as soon as build_b finishes." - - echo "It will not wait for other jobs in the build stage to finish." - -deploy_a: - stage: deploy - needs: [test_a] - script: - - echo "Since build_a and test_a run quickly, this deploy job can run much earlier." - - echo "It does not need to wait for build_b or test_b." - -deploy_b: - stage: deploy - needs: [test_b] - script: - - echo "Since build_b and test_b run slowly, this deploy job will run much later." -``` - -## Child / Parent Pipelines[](#child--parent-pipelines "Permalink") - -在上面的示例中,很明显,我们可以独立构建两种类型的东西. 这是通过[`trigger`关键字](../yaml/README.html#trigger)使用" [子/父管道"](../parent_child_pipelines.html)的理想情况. 它将配置分成多个文件,使事情变得非常简单. 您还可以将其与: - -* [`rules`关键字](../yaml/README.html#rules) :例如,仅在对该区域进行更改时才触发子管道. -* [`include`关键字](../yaml/README.html#include) :引入常见行为,确保您不会重复自己. -* 子[管道](#directed-acyclic-graph-pipelines)内部的[DAG 管道](#directed-acyclic-graph-pipelines) ,实现了两者的好处. - -graph LR subgraph Parent pipeline trigger_a -.-> build_a trigger_b -.-> build_b subgraph child pipeline B build_b --> test_b --> deploy_b end subgraph child pipeline A build_a --> test_a --> deploy_a end end - -匹配该图的父管道的示例`/.gitlab-ci.yml`配置: - -``` -stages: - - triggers - -trigger_a: - stage: triggers - trigger: - include: a/.gitlab-ci.yml - rules: - - changes: - - a/* - -trigger_b: - stage: triggers - trigger: - include: b/.gitlab-ci.yml - rules: - - changes: - - b/* -``` - -例如孩子`a`管道配置,位于`/a/.gitlab-ci.yml` ,利用的 DAG `needs:`关键字: - -``` -stages: - - build - - test - - deploy - -image: alpine - -build_a: - stage: build - script: - - echo "This job builds something." - -test_a: - stage: test - needs: [build_a] - script: - - echo "This job tests something." - -deploy_a: - stage: deploy - needs: [test_a] - script: - - echo "This job deploys something." -``` - -子`b`管道配置示例位于`/b/.gitlab-ci.yml` ,利用 DAG `needs:`关键字: - -``` -stages: - - build - - test - - deploy - -image: alpine - -build_b: - stage: build - script: - - echo "This job builds something else." - -test_b: - stage: test - needs: [build_b] - script: - - echo "This job tests something else." - -deploy_b: - stage: deploy - needs: [test_b] - script: - - echo "This job deploys something else." -``` - -也可以将作业设置为在触发子管道之前或之后运行,例如,如果您具有通用的设置步骤或最后进行统一部署. \ No newline at end of file diff --git a/docs/258.md b/docs/258.md deleted file mode 100644 index a47dbd0..0000000 --- a/docs/258.md +++ /dev/null @@ -1,92 +0,0 @@ -# Directed Acyclic Graph - -> 原文:[https://docs.gitlab.com/ee/ci/directed_acyclic_graph/](https://docs.gitlab.com/ee/ci/directed_acyclic_graph/) - -* [Use cases](#use-cases) -* [Usage](#usage) -* [Limitations](#limitations) -* [DAG Visualization](#dag-visualization) - * [Enable or disable DAG Visualization](#enable-or-disable-dag-visualization-core-only) - -# Directed Acyclic Graph[](#directed-acyclic-graph "Permalink") - -版本历史 - -* 在 GitLab 12.2 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/47063) . -* 在 GitLab 12.10 中[已删除功能标记](https://gitlab.com/gitlab-org/gitlab/-/issues/206902) . - -可以在 CI / CD 管道的上下文中使用有[向无环图,](https://www.techopedia.com/definition/5739/directed-acyclic-graph-dag)以建立作业之间的关系,从而以最快的方式执行,而不管如何设置阶段. - -例如,您可能拥有特定的工具或单独的网站,这些网站是作为主项目的一部分而构建的. 使用 DAG,您可以指定这些作业之间的关系,然后 GitLab 将尽快执行作业,而不是等待每个阶段完成. - -与其他针对 CI / CD 的 DAG 解决方案不同,GitLab 不需要您选择其中一个. 您可以在单个管道中实现 DAG 和传统的基于阶段的操作的混合组合. 配置非常简单,只需一个关键字即可为任何作业启用该功能. - -考虑如下的 monorepo: - -``` -./service_a -./service_b -./service_c -./service_d -``` - -它具有如下所示的管道: - -| build | test | deploy | -| --- | --- | --- | -| build_a | test_a | deploy_a | -| build_b | test_b | deploy_b | -| build_c | test_c | deploy_c | -| build_d | test_d | deploy_d | - -使用 DAG,您可以将`_a`作业与`_b`作业彼此关联,即使服务`a`构建时间很长,服务`b`也不会等待它,并且会尽快完成. 在这个非常相同的管道中, `_c`和`_d`可以单独放置,并且可以像任何普通的 GitLab 管道一样以分段的顺序一起运行. - -## Use cases[](#use-cases "Permalink") - -DAG 可以帮助解决 CI / CD 管道中作业之间的几种不同类型的关系. 最典型的情况是,当作业需要展开或展开和/或合并回去时(钻石相关性),这可以解决. 当您处理多平台构建或复杂的依赖关系网时,例如在操作系统构建或可独立部署但相关的微服务的复杂部署图中,可能会发生这种情况. - -此外,DAG 可以帮助提高管道的总体速度,并有助于提供快速反馈. 通过创建不会相互阻塞的依赖关系,您的管道将尽可能快地运行,而不管管道的阶段如何,从而确保开发人员可以尽快获得输出(包括错误). - -## Usage[](#usage "Permalink") - -使用[`needs:`关键字](../yaml/README.html#needs)定义作业之间的关系. - -请注意, `needs:`也可与[parallel](../yaml/README.html#parallel)关键字一起使用,从而为管道内的[并行化](../yaml/README.html#parallel)提供了强大的选项. - -## Limitations[](#limitations "Permalink") - -有向无环图是一个复杂的功能,从最初的 MVC 开始,您可能需要解决某些用例. 想要查询更多的信息: - -* [`needs` requirements and limitations](../yaml/README.html#requirements-and-limitations). -* 相关的史诗[跟踪计划的改进](https://gitlab.com/groups/gitlab-org/-/epics/1716) . - -## DAG Visualization[](#dag-visualization "Permalink") - -版本历史 - -* 在 GitLab 13.1 中作为[Beta 功能](https://about.gitlab.com/handbook/product/#beta) [引入](https://gitlab.com/gitlab-org/gitlab/-/issues/215517) . -* 它部署在功能标记后面,默认情况下处于禁用状态. -* [默认情况下](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/36802)在 13.2 中[启用](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/36802) . -* 在 GitLab.com 上启用了它. -* 对于 GitLab 自我管理的实例,GitLab 管理员可以选择[禁用它](#enable-or-disable-dag-visualization-core-only) . - -通过 DAG 可视化,可以更轻松地可视化 DAG 中依赖作业之间的关系. 此图将显示管道中需要或其他作业需要的所有作业. 没有关系的作业不会显示在该视图中. - -[![DAG visualization example](img/33ae5f16a8ad7c683e894a2a3032cfa9.png)](img/dag_graph_example_v13_1.png) - -单击节点将突出显示其依赖的所有作业路径. - -[![DAG visualization with path highlight](img/61dd95f1efb048c48f6ab843e79120d0.png)](img/dag_graph_example_clicked_v13_1.png) - -### Enable or disable DAG Visualization[](#enable-or-disable-dag-visualization-core-only "Permalink") - -DAG 可视化正在开发中,但已作为 Beta 功能提供,因此用户可以检查其限制和用途. - -它部署在**默认情况下启用**的功能标志的后面. [有权访问 GitLab Rails 控制台的 GitLab 管理员](../../administration/feature_flags.html)可以选择为您的实例禁用它: - -``` -# Instance-wide -Feature.disable(:dag_pipeline_tab) -# or by project -Feature.disable(:dag_pipeline_tab, Project.find()) -``` \ No newline at end of file diff --git a/docs/259.md b/docs/259.md deleted file mode 100644 index c8ce118..0000000 --- a/docs/259.md +++ /dev/null @@ -1,219 +0,0 @@ -# Multi-project pipelines - -> 原文:[https://docs.gitlab.com/ee/ci/multi_project_pipelines.html](https://docs.gitlab.com/ee/ci/multi_project_pipelines.html) - -* [Use cases](#use-cases) -* [Multi-project pipeline visualization](#multi-project-pipeline-visualization-premium) -* [Triggering multi-project pipelines through API](#triggering-multi-project-pipelines-through-api) -* [Creating multi-project pipelines from `.gitlab-ci.yml`](#creating-multi-project-pipelines-from-gitlab-ciyml) - * [Triggering a downstream pipeline using a bridge job](#triggering-a-downstream-pipeline-using-a-bridge-job) - * [Specifying a downstream pipeline branch](#specifying-a-downstream-pipeline-branch) - * [Passing variables to a downstream pipeline](#passing-variables-to-a-downstream-pipeline) - * [Mirroring status from triggered pipeline](#mirroring-status-from-triggered-pipeline) - * [Mirroring status from upstream pipeline](#mirroring-status-from-upstream-pipeline) - * [Limitations](#limitations) -* [Trigger a pipeline when an upstream project is rebuilt](#trigger-a-pipeline-when-an-upstream-project-is-rebuilt) - -# Multi-project pipelines[](#multi-project-pipelines "Permalink") - -版本历史 - -* 在 GitLab 7.14 中作为构建触发器[引入](https://about.gitlab.com/releases/2015/08/22/gitlab-7-14-released/#build-triggers-api-gitlab-ci) . -* 在 GitLab 12.8 中的所有层中[均可](https://gitlab.com/gitlab-org/gitlab/-/issues/199224)用. - -您可以跨多个项目设置[GitLab CI / CD](README.html) ,以便一个项目中的管道可以触发另一个项目中的管道. - -GitLab CI / CD 是一个功能强大的持续集成工具,不仅适用于每个项目,而且适用于具有多项目管道的项目. - -多项目管道对于需要跨项目相互依赖的较大产品很有用,例如采用[微服务架构的产品](https://about.gitlab.com/blog/2016/08/16/trends-in-version-control-land-microservices/) . - -有关跨功能开发团队如何使用跨管道触发来为不同的微服务项目触发多个管道的演示,请参阅[跨项目管道触发和可视化](https://about.gitlab.com/handbook/marketing/product-marketing/demo/#cross-project-pipeline-triggering-and-visualization-may-2019---1110) . - -此外,还可以可视化整个管道,包括所有跨项目的相互依存关系. - -## Use cases[](#use-cases "Permalink") - -Let’s assume you deploy your web app from different projects in GitLab: - -* 一个免费版本,它有自己的管道来构建和测试您的应用 -* 一个用于付费版本的附加组件,还可以通过构建和测试 -* 一个用于文档的文档,该文档还使用 SSG 进行构建,测试和部署 - -使用多项目管道,您可以可视化整个管道,包括三个项目的所有构建和测试阶段. - -## Multi-project pipeline visualization[](#multi-project-pipeline-visualization-premium "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/2121) in [GitLab Premium 9.3](https://about.gitlab.com/releases/2017/06/22/gitlab-9-3-released/#multi-project-pipeline-graphs). - -为项目配置 GitLab CI / CD 时,可以在[管道图](pipelines/index.html#visualize-pipelines)上可视化[作业](pipelines/index.html#configure-a-pipeline)的阶段. - -[![Multi-project pipeline graph](img/8013884e699eb543397343ba53b7f107.png)](img/multi_project_pipeline_graph.png) - -在"合并请求"小组件中,将显示多项目管道微型图,并且当悬停或轻击(在触摸屏设备上)时,它们将展开并显示为彼此相邻. - -[![Multi-project mini graph](img/c4c2d27f307636160d5773556cb14345.png)](img/multi_pipeline_mini_graph.gif) - -## Triggering multi-project pipelines through API[](#triggering-multi-project-pipelines-through-api "Permalink") - -版本历史 - -* 在[GitLab Premium](https://about.gitlab.com/pricing/) 9.3 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/2017)了`CI_JOB_TOKEN`在多项目管道中的使用. -* 在 GitLab 12.4 的所有层中都[可以](https://gitlab.com/gitlab-org/gitlab/-/issues/31573)将`CI_JOB_TOKEN`用于多项目管道. - -当您使用[`CI_JOB_TOKEN`触发管道时](triggers/README.html#ci-job-token) ,GitLab 会识别作业令牌的来源,因此在内部将这些管道[`CI_JOB_TOKEN`](triggers/README.html#ci-job-token)在一起,从而可以在管道图上可视化它们的关系. - -通过显示上游和下游管道依存关系的入站和出站连接,可以在管道图中显示这些关系. - -## Creating multi-project pipelines from `.gitlab-ci.yml`[](#creating-multi-project-pipelines-from-gitlab-ciyml "Permalink") - -版本历史 - -* 在[GitLab Premium](https://about.gitlab.com/pricing/) 11.8 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/8997) . -* 在 12.8 中[可](https://gitlab.com/gitlab-org/gitlab/-/issues/199224)用于所有层. - -### Triggering a downstream pipeline using a bridge job[](#triggering-a-downstream-pipeline-using-a-bridge-job "Permalink") - -在 GitLab 11.8 之前,有必要实现一个管道作业,该作业负责发出 API 请求[以触​​发](#triggering-multi-project-pipelines-through-api)另一个项目中[的管道](#triggering-multi-project-pipelines-through-api) . - -在 GitLab 11.8 中,GitLab 提供了新的 CI / CD 配置语法,使此任务更容易,并且避免需要 GitLab Runner 来触发跨项目管道. 下图说明了配置桥接作业: - -``` -rspec: - stage: test - script: bundle exec rspec - -staging: - variables: - ENVIRONMENT: staging - stage: deploy - trigger: my/deployment -``` - -在上面的示例中,一旦`rspec`作业在`test`阶段成功完成,则将启动`staging`桥作业. 该作业的初始状态将`pending` . manbetx 客户端打不开将在`my/deployment`项目中创建一个下游管道,并且,一旦创建管道, `staging`作业将成功. `my/deployment`是该项目的完整路径. - -创建上游管道的用户需要具有对下游项目的访问权限(在本例中为`my/deployment` ). 如果找不到下游项目,或者用户没有访问权限以在其中创建管道,则`staging`作业将被标记为*failed* . - -**警告:**在该示例中,一旦创建了下游管道,该`staging`将被标记为成功. 如果要显示下游管道的状态,请参阅[从触发的管道镜像状态](#mirroring-status-from-triggered-pipeline) .**注意:**对于常规作业,网桥作业不支持用户可以使用的每个配置条目. Runner 不会选择 Bridge 作业,因此添加对`script`支持毫无意义. 如果用户尝试使用不受支持的配置语法,则在创建管道时,YAML 验证将失败. - -### Specifying a downstream pipeline branch[](#specifying-a-downstream-pipeline-branch "Permalink") - -可以指定下游管道将使用的分支名称: - -``` -rspec: - stage: test - script: bundle exec rspec - -staging: - stage: deploy - trigger: - project: my/deployment - branch: stable-11-2 -``` - -Use: - -* `project`关键字,用于指定下游项目的完整路径. -* 该`branch`关键字指定由指定的项目分支的名称`project` . [从 GitLab 12.4 开始](https://gitlab.com/gitlab-org/gitlab/-/issues/10126) ,支持变量扩展. - -在创建下游管道时,GitLab 将使用当前在分支的 HEAD 上的提交. - -### Passing variables to a downstream pipeline[](#passing-variables-to-a-downstream-pipeline "Permalink") - -有时您可能想将变量传递到下游管道. 您可以使用`variables`关键字来执行此操作,就像定义常规作业时一样. - -``` -rspec: - stage: test - script: bundle exec rspec - -staging: - variables: - ENVIRONMENT: staging - stage: deploy - trigger: my/deployment -``` - -`ENVIRONMENT`变量将传递到下游管道中定义的每个作业. 当 GitLab Runner 选择工作时,它将作为环境变量使用. - -在以下配置中, `MY_VARIABLE`变量将传递到在`trigger-downstream`作业排队时创建的下游管道. 这是因为`trigger-downstream`作业继承了在全局变量块中声明的变量,然后将这些变量传递到下游管道. - -``` -variables: - MY_VARIABLE: my-value - -trigger-downstream: - variables: - ENVIRONMENT: something - trigger: my/project -``` - -您可能想使用例如预定义的变量传递有关上游管道的一些信息. 为此,您可以使用插值传递任何变量. 例如: - -``` -downstream-job: - variables: - UPSTREAM_BRANCH: $CI_COMMIT_REF_NAME - trigger: my/project -``` - -在这种情况下,具有与上游管道相关的值的`UPSTREAM_BRANCH`变量将传递到`downstream-job`作业,并在所有下游构建的上下文中可用. - -**提示:**上游管道优先于下游管道. 如果在上游和下游项目中定义了两个具有相同名称的变量,则在上游项目中定义的变量将优先. - -### Mirroring status from triggered pipeline[](#mirroring-status-from-triggered-pipeline "Permalink") - -版本历史 - -* 在[GitLab Premium](https://about.gitlab.com/pricing/) 12.3 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/11238) . -* 在 12.8 中[移至](https://gitlab.com/gitlab-org/gitlab/-/issues/199224) GitLab Core. - -您可以使用`strategy: depend`将镜像状态从触发的管道镜像到源网桥作业. 例如: - -``` -trigger_job: - trigger: - project: my/project - strategy: depend -``` - -### Mirroring status from upstream pipeline[](#mirroring-status-from-upstream-pipeline "Permalink") - -您可以使用`needs:pipeline`关键字将管道状态从上游管道镜像到桥作业. 来自主服务器的最新管道状态将复制到桥接作业. - -Example: - -``` -upstream_bridge: - stage: test - needs: - pipeline: other/project -``` - -### Limitations[](#limitations "Permalink") - -由于网桥作业与常规作业略有不同,因此此处无法使用完全相同的配置语法,就像在定义要由跑步者选择的常规作业时通常使用的配置语法一样. - -某些功能尚未实现. 例如,对环境的支持. - -可用于网桥作业的[配置关键字](yaml/README.html)是: - -* `trigger` (定义下游管道触发器) -* `stage` -* `allow_failure` -* [`rules`](yaml/README.html#rules) -* `only` and `except` -* `when` (仅适用于`on_success` , `on_failure`和`always`值为) -* `extends` - -## Trigger a pipeline when an upstream project is rebuilt[](#trigger-a-pipeline-when-an-upstream-project-is-rebuilt "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/9045) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.8. - -You can trigger a pipeline in your project whenever a pipeline finishes for a new tag in a different project: - -1. 转到项目的**"设置">" CI / CD"**页面,然后展开" **管道订阅"**部分. -2. 输入您要订阅的项目的路径. -3. 单击订阅. - -现在,成功完成已订阅项目中新标签的任何管道都将在当前项目的默认分支上触发管道. 对于上游和下游项目,上游管道订阅的最大数量为 2. \ No newline at end of file diff --git a/docs/260.md b/docs/260.md deleted file mode 100644 index f817a4a..0000000 --- a/docs/260.md +++ /dev/null @@ -1,133 +0,0 @@ -# Parent-child pipelines - -> 原文:[https://docs.gitlab.com/ee/ci/parent_child_pipelines.html](https://docs.gitlab.com/ee/ci/parent_child_pipelines.html) - -* [Examples](#examples) -* [Merge Request child pipelines](#merge-request-child-pipelines) -* [Dynamic child pipelines](#dynamic-child-pipelines) -* [Limitations](#limitations) - -# Parent-child pipelines[](#parent-child-pipelines "Permalink") - -在 GitLab 12.7 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/16094) . - -随着管道变得越来越复杂,一些相关的问题开始出现: - -* 分阶段的结构(其中一个阶段的所有步骤必须在下一阶段的第一个作业开始之前完成)会导致任意等待,从而使事情变慢. -* 单个全局管道的配置变得非常漫长和复杂,使其难以管理. -* 使用[`include`](yaml/README.html#include)导入会增加配置的复杂性,并可能在无意间复制作业的情况下发生名称空间冲突. -* 如此多的工作和阶段可以使流水线用户体验变得笨拙. - -此外,有时管道的行为需要更动态. 选择启动(或不启动)子管道的功能是一项强大的功能,尤其是在动态生成 YAML 的情况下. - -[![Parent pipeline graph expanded](img/c5d0cec2b61194796c06f7c2c5294294.png)](img/parent_pipeline_graph_expanded_v12_6.png) - -与[多项目管道](multi_project_pipelines.html)类似,管道可以触发一组同时运行的子管道,但是在同一项目中: - -* 子管道仍按阶段顺序执行其每个作业,但可以自由地继续执行各个阶段,而不必等待父管道中无关的作业完成. -* 该配置分为较小的子管道配置,这些子管道配置更易于理解. 这减少了理解整体配置的认知负担. -* 导入在子管道级别进行,从而减少了发生冲突的可能性. -* 每个管道只有相关的步骤,因此更容易理解正在发生的事情. - -子管道可与其他 GitLab CI / CD 功能配合使用: - -* [`only: changes`](yaml/README.html#onlychangesexceptchanges)仅在某些文件更改时才触发管道. 例如,这对于 monorepos 很有用. -* 由于`.gitlab-ci.yml`的父管道和子管道都像普通管道一样运行,因此它们可以具有自己的行为和与触发器相关的顺序. - -所有这些都将与[`include:`](yaml/README.html#include)功能一起使用,因此您可以组成子管道配置. - -有关概述,请参见[父子管道功能演示](https://youtu.be/n8KpBSqZNbk) . - -## Examples[](#examples "Permalink") - -最简单的情况是使用本地 YAML 文件定义管道配置来[触发子管道](yaml/README.html#trigger) . 在这种情况下,父管道将触发子管道,并继续运行而无需等待: - -``` -microservice_a: - trigger: - include: path/to/microservice_a.yml -``` - -组成子管道时可以包含多个文件: - -``` -microservice_a: - trigger: - include: - - local: path/to/microservice_a.yml - - template: SAST.gitlab-ci.yml -``` - -**注意:** `trigger:include:`可接受的最大条目数为三. - -类似于[多项目管道](multi_project_pipelines.html#mirroring-status-from-triggered-pipeline) ,我们可以在完成时将父管道设置为依赖于子管道的状​​态: - -``` -microservice_a: - trigger: - include: - - local: path/to/microservice_a.yml - - template: SAST.gitlab-ci.yml - strategy: depend -``` - -## Merge Request child pipelines[](#merge-request-child-pipelines "Permalink") - -要将子管道触发为[合并请求管道,](merge_request_pipelines/index.html)我们需要: - -* 将触发器作业设置为在合并请求上运行: - -``` -# parent .gitlab-ci.yml -microservice_a: - trigger: - include: path/to/microservice_a.yml - rules: - - if: $CI_MERGE_REQUEST_ID -``` - -* 通过以下任一方式配置子管道: - - * 设置子管道中的所有作业以在合并请求的上下文中进行评估: - - ``` - # child path/to/microservice_a.yml - workflow: - rules: - - if: $CI_MERGE_REQUEST_ID - - job1: - script: ... - - job2: - script: ... - ``` - - * Alternatively, setting the rule per job. For example, to create only `job1` in the context of merge request pipelines: - - ``` - # child path/to/microservice_a.yml - job1: - script: ... - rules: - - if: $CI_MERGE_REQUEST_ID - - job2: - script: ... - ``` - -## Dynamic child pipelines[](#dynamic-child-pipelines "Permalink") - -在 GitLab 12.9 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/35632) . - -您可以定义一个作业,该作业运行您自己的脚本来生成 YAML 文件,而不是从静态 YAML 文件运行子管道,然后将其[用于触发子管道](yaml/README.html#trigger-child-pipeline-with-generated-configuration-file) . - -该技术在生成针对更改内容的流水线或构建目标和体系结构矩阵方面可能非常强大. - -有关概述,请参阅[使用动态生成的配置创建子管道](https://youtu.be/nMdfus2JWHM) . - -在 GitLab 12.9 中,在某些情况下可能无法创建子管道,从而导致父管道失败. 这[在 GitLab 12.10 中](https://gitlab.com/gitlab-org/gitlab/-/issues/209070)已[解决](https://gitlab.com/gitlab-org/gitlab/-/issues/209070) . - -## Limitations[](#limitations "Permalink") - -父管道可以触发许多子管道,但是子管道不能触发其他子管道. 请参阅[相关问题,](https://gitlab.com/gitlab-org/gitlab/-/issues/29651)以获取有关未来可能改进的讨论. \ No newline at end of file diff --git a/docs/261.md b/docs/261.md deleted file mode 100644 index fac49c3..0000000 --- a/docs/261.md +++ /dev/null @@ -1,186 +0,0 @@ -# Pipelines for Merge Requests - -> 原文:[https://docs.gitlab.com/ee/ci/merge_request_pipelines/](https://docs.gitlab.com/ee/ci/merge_request_pipelines/) - -* [Prerequisites](#prerequisites) -* [Configuring pipelines for merge requests](#configuring-pipelines-for-merge-requests) - * [Use `rules` to run pipelines for merge requests](#use-rules-to-run-pipelines-for-merge-requests) - * [Use `only` or `except` to run pipelines for merge requests](#use-only-or-except-to-run-pipelines-for-merge-requests) - * [Excluding certain jobs](#excluding-certain-jobs) - * [Excluding certain branches](#excluding-certain-branches) -* [Pipelines for Merged Results](#pipelines-for-merged-results-premium) - * [Merge Trains](#merge-trains-premium) -* [Important notes about merge requests from forked projects](#important-notes-about-merge-requests-from-forked-projects) -* [Additional predefined variables](#additional-predefined-variables) -* [Troubleshooting](#troubleshooting) - * [Two pipelines created when pushing to a merge request](#two-pipelines-created-when-pushing-to-a-merge-request) - * [Two pipelines created when pushing an invalid CI configuration file](#two-pipelines-created-when-pushing-an-invalid-ci-configuration-file) - -# Pipelines for Merge Requests[](#pipelines-for-merge-requests "Permalink") - -在 GitLab 11.6 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/15310) . - -在[基本配置中](../pipelines/pipeline_architectures.html#basic-pipelines) ,每次更改被推送到分支时,GitLab 都会运行管道. - -如果希望管道**仅**在创建或更新合并请求时运行作业,则可以将*管道用于合并请求* . - -在用户界面中,这些管道被标记为`detached` . 否则,这些管道看起来与其他管道相同. - -具有开发者[权限的](../../user/permissions.html)任何用户都可以为合并请求运行管道. - -[![Merge request page](img/d5a5a91fe5e2b490b9388b43801b6a39.png)](img/merge_request.png) - -**Note:** If you use this feature with [merge when pipeline succeeds](../../user/project/merge_requests/merge_when_pipeline_succeeds.html), pipelines for merge requests take precedence over the other regular pipelines. - -## Prerequisites[](#prerequisites "Permalink") - -要为合并请求启用管道: - -* 您的存储库必须是 GitLab 存储库,而不是[外部存储库](../ci_cd_for_external_repos/index.html) . -* [在 GitLab 11.10 和更高版本中](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/25504) ,您必须使用 GitLab Runner 11.9. - -## Configuring pipelines for merge requests[](#configuring-pipelines-for-merge-requests "Permalink") - -要为合并请求配置管道,您需要配置[CI / CD 配置文件](../yaml/README.html) . 有几种不同的方法可以做到这一点: - -### Use `rules` to run pipelines for merge requests[](#use-rules-to-run-pipelines-for-merge-requests "Permalink") - -当使用`rules` ,这是首选方法,我们建议从[`workflow:rules`模板开始,](../yaml/README.html#workflowrules-templates)以确保基本配置正确. 该链接提供了有关如何执行此操作以及如何进行自定义的说明. - -### Use `only` or `except` to run pipelines for merge requests[](#use-only-or-except-to-run-pipelines-for-merge-requests "Permalink") - -If you want to continue using `only/except`, this is possible but please review the drawbacks below. - -使用此方法时,只需指定`only: - merge_requests`每个作业的`only: - merge_requests` . 在此示例中,管道包含配置为在合并请求上运行的`test`作业. - -`build`和`deploy`作业没有`only: - merge_requests`参数,因此它们将不会在合并请求上运行. - -``` -build: - stage: build - script: ./build - only: - - master - -test: - stage: test - script: ./test - only: - - merge_requests - -deploy: - stage: deploy - script: ./deploy - only: - - master -``` - -#### Excluding certain jobs[](#excluding-certain-jobs "Permalink") - -`only: [merge_requests]`参数的行为是, *只有*具有该参数的作业*才*在合并请求的上下文中运行; 没有其他作业将运行. - -但是,您可以反转此行为,并运行*除*一两个*之外的*所有作业. - -考虑下面的管道,作业`A` , `B`和`C` 假设您要: - -* 所有管道始终运行`A`和`B` -* `C`仅针对合并请求运行. - -为此,可以如下配置`.gitlab-ci.yml`文件: - -``` -.only-default: &only-default - only: - - master - - merge_requests - - tags - -A: - <<: *only-default - script: - - ... - -B: - <<: *only-default - script: - - ... - -C: - script: - - ... - only: - - merge_requests -``` - -Therefore: - -* 由于`A`和`B`在所有情况下都具有`only:`执行规则,因此它们将始终运行. -* 由于`C`指定仅针对合并请求运行,因此它将不会针对除合并请求管道之外的任何管道运行. - -这可以帮助您避免为所有作业添加`only:`规则,以使其始终运行. 您可以使用这种格式来设置评论应用,以帮助节省资源. - -#### Excluding certain branches[](#excluding-certain-branches "Permalink") - -[`only`](../yaml/README.html#onlyexcept-basic)使用[/ `except`](../yaml/README.html#onlyexcept-basic)时,合并请求的管道需要特殊处理. 与普通的分支引用(例如`refs/heads/my-feature-branch` )不同,合并请求引用使用特殊的 Git 引用,看起来像`refs/merge-requests/:iid/head` . 因此,以下配置将**无法**正常工作: - -``` -# Does not exclude a branch named "docs-my-fix"! -test: - only: [merge_requests] - except: [/^docs-/] -``` - -相反,可以将[`$CI_COMMIT_REF_NAME`预定义环境变量](../variables/predefined_variables.html)与[`only:variables`](../yaml/README.html#onlyvariablesexceptvariables)结合使用以完成此行为: - -``` -test: - only: [merge_requests] - except: - variables: - - $CI_COMMIT_REF_NAME =~ /^docs-/ -``` - -## Pipelines for Merged Results[](#pipelines-for-merged-results-premium "Permalink") - -阅读[有关合并结果的管道](pipelines_for_merged_results/index.html)的[文档](pipelines_for_merged_results/index.html) . - -### Merge Trains[](#merge-trains-premium "Permalink") - -阅读[有关合并火车](pipelines_for_merged_results/merge_trains/index.html)的[文档](pipelines_for_merged_results/merge_trains/index.html) . - -## Important notes about merge requests from forked projects[](#important-notes-about-merge-requests-from-forked-projects "Permalink") - -请注意,当前行为可能会更改. 在通常的贡献流程中,外部贡献者遵循以下步骤: - -1. 分叉一个父项目. -2. 从分支项目中创建一个以父项目中的`master`分支为目标的合并请求. -3. 管道在合并请求上运行. -4. 父项目的维护者检查管道结果,如果最新的管道通过,则合并到目标分支. - -当前,这些管道是在**派生**项目中创建的,而不是在父项目中创建的. 这意味着您不能完全信任管道结果,因为从技术上讲,外部贡献者可以通过在派生项目中调整其 GitLab Runner 来掩盖其管道结果. - -GitLab 不允许在父项目中创建这些管道有多种原因,但是最大的原因之一是安全性问题. 外部用户可以通过修改`.gitlab-ci.yml` (可能是某种凭据)从父项目中窃取秘密变量. 这不应该发生. - -我们正在讨论一种安全的解决方案,该解决方案针对从分支项目提交的合并请求运行管道,请参阅[有关权限扩展的问题](https://gitlab.com/gitlab-org/gitlab/-/issues/11934) . - -## Additional predefined variables[](#additional-predefined-variables "Permalink") - -通过将管道用于合并请求,GitLab 将其他预定义变量公开给管道作业. 这些变量包含关联的合并请求的信息,因此将您的作业与[GitLab 合并请求 API](../../api/merge_requests.html)集成非常有用. - -您可以在[参考表中](../variables/predefined_variables.html)找到可用变量的列表. 变量名称以`CI_MERGE_REQUEST_`前缀开头. - -## Troubleshooting[](#troubleshooting "Permalink") - -### Two pipelines created when pushing to a merge request[](#two-pipelines-created-when-pushing-to-a-merge-request "Permalink") - -如果使用`rules`时遇到重复的管道,请查看[`rules`和`only` / `except`之间](../yaml/README.html#differences-between-rules-and-onlyexcept)的[重要区别](../yaml/README.html#differences-between-rules-and-onlyexcept) ,这将帮助您正确设置起始配置. - -如果您在使用`only/except`时看到两个管道,请参见上述与`only/except`一起使用的注意事项(或者,考虑使用`rules` ). - -### Two pipelines created when pushing an invalid CI configuration file[](#two-pipelines-created-when-pushing-an-invalid-ci-configuration-file "Permalink") - -推送到具有无效 CI 配置文件的分支会触发两种类型的失败管道的创建. 一个管道是失败的合并请求管道,另一个管道是失败的分支管道,但两者都是由相同的无效配置引起的. - -在极少数情况下,会创建重复的管道. - -有关详细信息,请参[见此问题](https://gitlab.com/gitlab-org/gitlab/-/issues/201845) . \ No newline at end of file diff --git a/docs/262.md b/docs/262.md deleted file mode 100644 index e6f3796..0000000 --- a/docs/262.md +++ /dev/null @@ -1,102 +0,0 @@ -# Pipelines for Merged Results - -> 原文:[https://docs.gitlab.com/ee/ci/merge_request_pipelines/pipelines_for_merged_results/](https://docs.gitlab.com/ee/ci/merge_request_pipelines/pipelines_for_merged_results/) - -* [Prerequisites](#prerequisites) -* [Enable pipelines for merged results](#enable-pipelines-for-merged-results) -* [Using Merge Trains](#using-merge-trains) -* [Automatic pipeline cancellation](#automatic-pipeline-cancellation) -* [Troubleshooting](#troubleshooting) - * [Pipelines for merged results not created even with new change pushed to merge request](#pipelines-for-merged-results-not-created-even-with-new-change-pushed-to-merge-request) - * [Intermittently pipelines fail by `fatal: reference is not a tree:` error](#intermittently-pipelines-fail-by-fatal-reference-is-not-a-tree-error) - -# Pipelines for Merged Results[](#pipelines-for-merged-results-premium "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/7380) in [GitLab Premium](https://about.gitlab.com/pricing/) 11.10. - -提交合并请求时,您正在请求将更改从源分支合并到目标分支. 默认情况下,CI 管道针对源分支运行作业. - -使用*用于合并结果*的管道,管道可以像源分支中的更改已被合并到目标分支中一样运行. - -如果管道由于目标分支中的问题而失败,则可以等到目标修复后再重新运行管道. 这个新管道将像源与已更新的目标合并一样运行,并且您无需重新设置基准. - -目标分支更改时,管道不会自动运行. 仅对源分支的更改会触发新的管道. 如果自上一个成功的管道以来已经过去了很长时间,则您可能需要在合并之前重新运行它,以确保源更改仍然可以成功合并到目标中. - -当合并请求无法合并时,管道仅针对源分支运行. 例如,当: - -* 目标分支的更改与源分支的更改冲突. -* 合并请求是[**草稿**合并请求](../../../user/project/merge_requests/work_in_progress_merge_requests.html) . - -在这些情况下,管道将作为[合并请求](../index.html)的管道运行,并标记为`detached` . 如果这些情况不再存在,则新管道将再次针对合并结果运行. - -具有开发者[权限的](../../../user/permissions.html)任何用户都可以运行管道以合并结果. - -## Prerequisites[](#prerequisites "Permalink") - -要启用管道以合并结果: - -* 您必须具有维护者[权限](../../../user/permissions.html) . -* 您必须使用[GitLab Runner](https://gitlab.com/gitlab-org/gitlab-runner) 11.9 或更高版本. -* 您一定不要分叉或使用跨仓库工作流. 要跟踪进度,请参阅[#11934](https://gitlab.com/gitlab-org/gitlab/-/issues/11934) . -* 您一定不能使用[快速前进合并](../../../user/project/merge_requests/fast_forward_merge.html) . 要跟踪进度,请参阅[#58226](https://gitlab.com/gitlab-org/gitlab/-/issues/26996) . - -## Enable pipelines for merged results[](#enable-pipelines-for-merged-results "Permalink") - -要为项目的合并结果启用管道: - -1. [配置您的 CI / CD 配置文件,](../index.html#configuring-pipelines-for-merge-requests)以便为合并请求运行管道或单个作业. -2. 访问项目的**设置>常规,**然后展开**合并请求** . -3. Check **为合并结果启用合并训练和管道**. -4. Click **保存更改**. - -**警告:**如果选中该复选框,但未将 CI / CD 配置为使用管道处理合并请求,则合并请求可能会停留在未解决的状态,或者管道可能会被丢弃. - -## Using Merge Trains[](#using-merge-trains "Permalink") - -[为合并结果](#pipelines-for-merged-results-premium)启用[管道时](#pipelines-for-merged-results-premium) ,GitLab 会[自动显示"](merge_trains/index.html#add-a-merge-request-to-a-merge-train) **开始/添加合并训练"按钮** . - -通常,这是比立即合并合并请求更安全的选择,因为在实际合并发生之前,将使用预期的合并后结果评估合并请求. - -有关更多信息,请阅读[合并火车上](merge_trains/index.html)的[文档](merge_trains/index.html) . - -## Automatic pipeline cancellation[](#automatic-pipeline-cancellation "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/12996) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.3. - -GitLab CI / CD 可以检测到冗余管道的存在,并会自动取消它们以节省 CI 资源. - -当用户在进行中的合并列车中立即合并请求时,将重新构建该列车,因为它将重新创建预期的合并后提交和管道. 在这种情况下,合并序列可能已经具有针对先前预期的合并后提交运行的管道. 这些管道被认为是多余的,将被自动取消. - -## Troubleshooting[](#troubleshooting "Permalink") - -### Pipelines for merged results not created even with new change pushed to merge request[](#pipelines-for-merged-results-not-created-even-with-new-change-pushed-to-merge-request "Permalink") - -可能是由于某些禁用的功能标志引起的. 请确保在您的 GitLab 实例上启用了以下功能标志: - -* `:merge_ref_auto_sync` - -要检查和设置这些功能标志值,请要求管理员: - -1. 登录到 GitLab 实例的 Rails 控制台: - - ``` - sudo gitlab-rails console - ``` - -2. 检查标志是否启用: - - ``` - Feature.enabled?(:merge_ref_auto_sync) - ``` - -3. 如果需要,启用功能标志: - - ``` - Feature.enable(:merge_ref_auto_sync) - ``` - -### Intermittently pipelines fail by `fatal: reference is not a tree:` error[](#intermittently-pipelines-fail-by-fatal-reference-is-not-a-tree-error "Permalink") - -由于用于合并结果的管道是在合并请求( `refs/merge-requests//merge` )的合并 ref 上运行的,因此 Git 引用可能会在意外的时间被覆盖. 例如,当源分支或目标分支是高级时. 在这种情况下,流水线由于`fatal: reference is not a tree:`错误而失败,这表明在合并引用中未找到 checkout-SHA. - -在 GitLab 12.4 上,通过引入[Persistent pipe refs](../../pipelines/index.html#troubleshooting-fatal-reference-is-not-a-tree)改进了此行为. 您应该能够在任何时候创建管道,而不必考虑错误. \ No newline at end of file diff --git a/docs/263.md b/docs/263.md deleted file mode 100644 index a9c83f6..0000000 --- a/docs/263.md +++ /dev/null @@ -1,179 +0,0 @@ -# Merge Trains - -> 原文:[https://docs.gitlab.com/ee/ci/merge_request_pipelines/pipelines_for_merged_results/merge_trains/](https://docs.gitlab.com/ee/ci/merge_request_pipelines/pipelines_for_merged_results/merge_trains/) - -* [Merge train example](#merge-train-example) -* [Prerequisites](#prerequisites) -* [Enable merge trains](#enable-merge-trains) -* [Start a merge train](#start-a-merge-train) -* [Add a merge request to a merge train](#add-a-merge-request-to-a-merge-train) -* [Remove a merge request from a merge train](#remove-a-merge-request-from-a-merge-train) -* [View a merge request’s current position on the merge train](#view-a-merge-requests-current-position-on-the-merge-train) -* [Immediately merge a merge request with a merge train](#immediately-merge-a-merge-request-with-a-merge-train) -* [Troubleshooting](#troubleshooting) - * [Merge request dropped from the merge train immediately](#merge-request-dropped-from-the-merge-train-immediately) - * [Merge When Pipeline Succeeds cannot be chosen](#merge-when-pipeline-succeeds-cannot-be-chosen) - * [Merge Train Pipeline cannot be retried](#merge-train-pipeline-cannot-be-retried) - * [Unable to add to merge train with message “The pipeline for this merge request failed.”](#unable-to-add-to-merge-train-with-message-the-pipeline-for-this-merge-request-failed) - * [Merge Trains feature flag](#merge-trains-feature-flag-premium-only) - -# Merge Trains[](#merge-trains-premium "Permalink") - -版本历史 - -* 在[GitLab Premium](https://about.gitlab.com/pricing/) 12.0 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/9186) . -* [GitLab Premium](https://about.gitlab.com/pricing/) 12.6 中[引入了压](https://gitlab.com/gitlab-org/gitlab/-/issues/13001)入[和合并](../../../../user/project/merge_requests/squash_and_merge.html)支持. - -启用[用于合并结果](../index.html#pipelines-for-merged-results-premium)的管道时,管道作业将运行,就好像源分支中的更改已被合并到目标分支中一样. - -但是,目标分支可能正在快速变化. 准备合并时,如果有一段时间没有运行管道,则目标分支可能已更改. 现在合并可能会带来重大变化. - -*合并列车*可以防止这种情况的发生. 合并列是合并请求的排队列表,每个请求都等待合并到目标分支中. - -可以将许多合并请求添加到火车. 每个合并请求都运行其自己的合并结果管道,该管道包括列车上位于其*前面*的所有其他合并请求的更改. 所有管道并行运行,以节省时间. - -如果合并请求的管道失败,则不会合并重大更改,并且目标分支不受影响. 合并请求已从火车中删除,并且其后面的所有管道都重新启动. - -如果火车前部用于合并请求的管道成功完成,则更改将合并到目标分支中,其他管道将继续运行. - -要将合并请求添加到合并系列,您需要具有[权限](../../../../user/permissions.html)才能推送到目标分支. - -**注意:**每个合并列车最多可以并行运行**20 条**管道. 如果将超过二十个合并请求添加到合并列,则合并请求将排队,直到合并列中的插槽可用为止. 可以排队的合并请求数量没有限制. - -## Merge train example[](#merge-train-example "Permalink") - -将三个合并请求( `A` , `B`和`C` )依次添加到合并序列中,这将创建三个并行运行的合并结果管道: - -1. 第一条管道基于`A`与目标分支组合的更改运行. -2. 第二个管道基于`A`和`B`的更改以及目标分支运行. -3. 第三条流水线基于`A` , `B`和`C`的更改以及目标分支. - -如果`B`的管道发生故障,则将其从火车上移除. `C`的管道将在`A`和`C`更改的情况下重新启动,但`B`不会更改. - -如果`A`然后成功完成,它将合并到目标分支中,并且`C`继续运行. 如果将更多合并请求添加到火车,它们现在将包括目标分支中包含的`A`更改,以及来自火车中已经存在的合并请求的`C`更改. - -阅读有关[合并火车如何使您的主人保持绿色的](https://about.gitlab.com/blog/2020/01/30/all-aboard-merge-trains/)更多信息. - -观看此视频,以获取有关[并行执行合并训练如何防止提交破坏默认分支](https://www.youtube.com/watch?v=D4qCqXgZkHQ)的演示. - -## Prerequisites[](#prerequisites "Permalink") - -要启用合并火车: - -* 您必须具有维护者[权限](../../../../user/permissions.html) . -* 您必须使用[GitLab Runner](https://gitlab.com/gitlab-org/gitlab-runner) 11.9 或更高版本. -* 在 GitLab 12.0 和更高版本中,您需要[Redis](https://s0redis0io.icopy.site/) 3.2 或更高版本. - -## Enable merge trains[](#enable-merge-trains "Permalink") - -为您的项目启用合并火车: - -1. 如果您使用的是自我管理的 GitLab 实例,请确保正确设置了[功能标志](#merge-trains-feature-flag-premium-only) . -2. [配置您的 CI / CD 配置文件,](../../index.html#configuring-pipelines-for-merge-requests)以便为合并请求运行管道或单个作业. -3. 访问项目的**设置>常规,**然后展开**合并请求** . -4. Check **为合并结果启用合并训练和管道**. -5. Click **保存更改**. - -**警告:**如果选中该复选框,但未将 CI / CD 配置为使用管道处理合并请求,则合并请求可能会停留在未解决的状态,或者管道可能会被丢弃. - -## Start a merge train[](#start-a-merge-train "Permalink") - -要开始合并火车: - -1. 访问合并请求. -2. Click the **开始合并火车** button. - -[![Start merge train](img/7775f0c2ba5f85e61aae351b9939cdf2.png)](img/merge_train_start_v12_0.png) - -现在可以将其他合并请求添加到列车中. - -## Add a merge request to a merge train[](#add-a-merge-request-to-a-merge-train "Permalink") - -要将合并请求添加到合并火车: - -1. 访问合并请求. -2. 单击**添加以合并火车**按钮. - -如果用于合并请求的管道已经在运行,则无法将合并请求添加到列车. 相反,您可以计划**在最新管道成功时将**合并请求添加到合并**序列中** . - -[![Add to merge train when pipeline succeeds](img/1c78b1078232f166ee3d03d64f2b3907.png)](img/merge_train_start_when_pipeline_succeeds_v12_0.png) - -## Remove a merge request from a merge train[](#remove-a-merge-request-from-a-merge-train "Permalink") - -1. 访问合并请求. -2. 单击**从合并火车中删除**按钮. - -[![Cancel merge train](img/1a5840885de676ed33d7cdb688b26a12.png)](img/merge_train_cancel_v12_0.png) - -如果您想稍后再将合并请求添加到合并训练中,则可以. - -## View a merge request’s current position on the merge train[](#view-a-merge-requests-current-position-on-the-merge-train "Permalink") - -将合并请求添加到合并列之后,合并请求的当前位置显示在管道小部件下: - -[![Merge train position indicator](img/c3c7ade0ae9c901a64dedf780f4efdaf.png)](img/merge_train_position_v12_0.png) - -## Immediately merge a merge request with a merge train[](#immediately-merge-a-merge-request-with-a-merge-train "Permalink") - -如果您有必须紧急合并的高优先级合并请求(例如,重要补丁程序),则可以使用" **立即合并"**选项绕过合并程序. 这是将更改合并到目标分支的最快选项. - -[![Merge Immediately](img/5844f1567aec337f6ba990bc855c348a.png)](img/merge_train_immediate_merge_v12_6.png) - -**警告:**每次您立即合并一个合并请求时,都会重新创建当前的合并序列,并重新启动所有管道. - -## Troubleshooting[](#troubleshooting "Permalink") - -### Merge request dropped from the merge train immediately[](#merge-request-dropped-from-the-merge-train-immediately "Permalink") - -如果合并请求不可合并(例如,在制品,存在合并冲突等),则您的合并请求将自动从合并列中删除. - -在这些情况下,删除合并请求的原因在**系统注释中** . - -检查原因: - -1. 打开从合并序列中删除的合并请求. -2. 打开**讨论**选项卡. -3. 查找包含以下任一内容的系统注释: - * 文本**…从合并列表中删除了此合并请求,因为…** - * **…中止了来自合并序列的合并请求,因为…**原因在" **…"**短语之后的文本中给出. - -[![Merge Train Failure](img/cdce9b0515678bb30cdd0e1173a30749.png)](img/merge_train_failure.png) - -### Merge When Pipeline Succeeds cannot be chosen[](#merge-when-pipeline-succeeds-cannot-be-chosen "Permalink") - -启用合并训练后,当前无法[在管道成功](../../../../user/project/merge_requests/merge_when_pipeline_succeeds.html)时合并. - -有关更多信息,请参见[相关问题](https://gitlab.com/gitlab-org/gitlab/-/issues/12267) . - -### Merge Train Pipeline cannot be retried[](#merge-train-pipeline-cannot-be-retried "Permalink") - -合并火车管道无法重试,因为合并请求在失败后会从合并火车中删除. 因此,重试按钮不会出现在管道图标旁边. - -如果管道发生故障,则应将合并请求[重新排队](#add-a-merge-request-to-a-merge-train)到合并[序列中](#add-a-merge-request-to-a-merge-train) ,然后合并[序列](#add-a-merge-request-to-a-merge-train)将启动新的管道. - -### Unable to add to merge train with message “The pipeline for this merge request failed.”[](#unable-to-add-to-merge-train-with-message-the-pipeline-for-this-merge-request-failed "Permalink") - -有时" **开始/添加到合并训练"**按钮不可用,合并请求显示"此合并请求的管道失败. 请重试该作业或推送新的提交以修复故障." - -在**"设置">"常规">"合并请求"中**启用**"** [**管道必须成功"**](../../../../user/project/merge_requests/merge_when_pipeline_succeeds.html#only-allow-merge-requests-to-be-merged-if-the-pipeline-succeeds)时,会发生此问题. 此选项要求您运行新的成功管道,然后才能将合并请求重新添加到合并系列. - -合并训练可确保在合并发生之前每个管道都已成功完成,因此您可以清除" **管道必须成功"**复选框,并保持**启用"启用合并训练和合并结果的管道** (合并训练)". - -如果要与合并训练一起保持启用" **管道必须成功"**选项,可以在发生此错误时为合并结果创建新管道,方法是转到" **管道"**选项卡,然后单击**"运行管道"** . 然后**在管道成功时**单击" **开始/添加"以合并火车** . - -有关更多信息,请参见[相关问题](https://gitlab.com/gitlab-org/gitlab/-/issues/35135) . - -### Merge Trains feature flag[](#merge-trains-feature-flag-premium-only "Permalink") - -要启用和禁用合并训练功能,请使用`:disable_merge_trains`功能标志. - -要检查您的 GitLab 实例上是否启用了功能标志,请要求管理员执行以下命令: - -``` -> sudo gitlab-rails console # Login to Rails console of GitLab instance. -> Feature.enabled?(:disable_merge_trains) # Check if it's disabled or not. -> Feature.enable(:disable_merge_trains) # Disable Merge Trains. -> Feature.disable(:disable_merge_trains) # Enable Merge Trains. -``` - -禁用此功能后,所有现有的合并训练都将被取消,并且" **开始/添加到合并训练"**按钮不再出现在合并请求中. \ No newline at end of file diff --git a/docs/264.md b/docs/264.md deleted file mode 100644 index 1d50e07..0000000 --- a/docs/264.md +++ /dev/null @@ -1,393 +0,0 @@ -# Job artifacts - -> 原文:[https://docs.gitlab.com/ee/ci/pipelines/job_artifacts.html](https://docs.gitlab.com/ee/ci/pipelines/job_artifacts.html) - -* [Defining artifacts in `.gitlab-ci.yml`](#defining-artifacts-in-gitlab-ciyml) - * [`artifacts:reports`](#artifactsreports) - * [`artifacts:reports:junit`](#artifactsreportsjunit) - * [`artifacts:reports:dotenv`](#artifactsreportsdotenv) - * [`artifacts:reports:cobertura`](#artifactsreportscobertura) - * [`artifacts:reports:terraform`](#artifactsreportsterraform) - * [`artifacts:reports:codequality`](#artifactsreportscodequality-starter) - * [`artifacts:reports:sast`](#artifactsreportssast-ultimate) - * [`artifacts:reports:secret_detection`](#artifactsreportssecret_detection-ultimate) - * [`artifacts:reports:dependency_scanning`](#artifactsreportsdependency_scanning-ultimate) - * [`artifacts:reports:container_scanning`](#artifactsreportscontainer_scanning-ultimate) - * [`artifacts:reports:dast`](#artifactsreportsdast-ultimate) - * [`artifacts:reports:license_management`](#artifactsreportslicense_management-ultimate) - * [`artifacts:reports:license_scanning`](#artifactsreportslicense_scanning-ultimate) - * [`artifacts:reports:performance`](#artifactsreportsperformance-premium) - * [`artifacts:reports:load_performance`](#artifactsreportsload_performance-premium) - * [`artifacts:reports:metrics`](#artifactsreportsmetrics-premium) - * [`artifacts:reports:requirements`](#artifactsreportsrequirements-ultimate) -* [Browsing artifacts](#browsing-artifacts) -* [Downloading artifacts](#downloading-artifacts) -* [Downloading the latest artifacts](#downloading-the-latest-artifacts) -* [Erasing artifacts](#erasing-artifacts) -* [Retrieve artifacts of private projects when using GitLab CI](#retrieve-artifacts-of-private-projects-when-using-gitlab-ci) - -# Job artifacts[](#job-artifacts "Permalink") - -版本历史 - -* 在 GitLab 8.2 和 GitLab Runner 0.7.0 中引入. -* 从 GitLab 8.4 和 GitLab Runner 1.0 开始,工件存档格式已更改为`ZIP` ,现在可以浏览其内容,并具有分别下载文件的功能. -* 在 GitLab 8.17 中,将构建重命名为 job. -* 工件浏览器仅适用于使用 GitLab Runner 1.0 及更高版本发送到 GitLab 的新工件. 无法浏览已经上传到 GitLab 的旧工件. - -作业工件是作业完成后创建的文件和目录的列表. [默认情况下](../../administration/job_artifacts.html) ,所有 GitLab 安装中均[启用](../../administration/job_artifacts.html)此功能. - -由 GitLab Runner 创建的作业工件被上传到 GitLab,并可以使用 GitLab UI 或[GitLab API](../../api/jobs.html#get-job-artifacts)作为单个存档下载. - -有关概述,请观看视频[GitLab CI 管道,工件和环境](https://www.youtube.com/watch?v=PCKDICEe10s) . 也请观看[面向初学者的 GitLab CI 管道教程](https://www.youtube.com/watch?v=Jav4vbUrqII) . - -## Defining artifacts in `.gitlab-ci.yml`[](#defining-artifacts-in-gitlab-ciyml "Permalink") - -在`.gitlab-ci.yml`中使用工件定义的一个简单示例如下: - -``` -pdf: - script: xelatex mycv.tex - artifacts: - paths: - - mycv.pdf - expire_in: 1 week -``` - -名为`pdf`的作业会调用`xelatex`命令,以便从乳胶源文件`mycv.tex`生成 PDF 文件. 然后,我们定义`artifacts`路径,这些路径又用`paths`关键字定义. 文件和目录的所有路径都相对于在构建过程中克隆的存储库. - -默认情况下,当作业成功时将上传工件,但是可以将其设置为在作业失败时上传,或者如果使用[`artifacts:when`](../yaml/README.html#artifactswhen)参数,则始终设置为上传. 根据`expire_in`定义,这些上传的工件将在 GitLab 中保存 1 周. 您可以通过[Web 界面](#browsing-artifacts)防止工件过期. 如果未定义到期时间,则默认为[实例范围设置](../../user/admin_area/settings/continuous_integration.html#default-artifacts-expiration-core-only) . - -有关工件的更多示例,请遵循[`.gitlab-ci.yml`](../yaml/README.html#artifacts)的[工件参考](../yaml/README.html#artifacts) . - -### `artifacts:reports`[](#artifactsreports "Permalink") - -版本历史 - -* 在 GitLab 11.2 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/20390) . -* 需要 GitLab Runner 11.2 及更高版本. - -`artifacts:reports`关键字用于从作业中收集测试报告,代码质量报告和安全性报告. 它还在 GitLab 的 UI 中显示这些报告(合并请求,管道视图和安全性仪表板). - -**注意:**无论作业结果(成功或失败),都将收集测试报告. 您可以使用[`artifacts:expire_in`](../yaml/README.html#artifactsexpire_in)设置其工件的到期日期.**注:**如果您还希望能够浏览报告输出文件,请包括[`artifacts:paths`](../yaml/README.html#artifactspaths)关键字. - -#### `artifacts:reports:junit`[](#artifactsreportsjunit "Permalink") - -版本历史 - -* 在 GitLab 11.2 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/20390) . -* 需要 GitLab Runner 11.2 及更高版本. - -`junit`报告将[JUnit XML 文件](https://www.ibm.com/support/knowledgecenter/en/SSQ2R2_14.1.0/com.ibm.rsar.analysis.codereview.cobol.doc/topics/cac_useresults_junit.html)收集为工件. 尽管 JUnit 最初是用 Java 开发的,但是还有许多其他[端口可以](https://en.wikipedia.org/wiki/JUnit#Ports)用于其他语言,例如 JavaScript,Python,Ruby 等. - -有关更多详细信息和示例,请参见[JUnit 测试报告](../junit_test_reports.html) . 下面是从 Ruby 的 RSpec 测试工具收集 JUnit XML 文件的示例: - -``` -rspec: - stage: test - script: - - bundle install - - rspec --format RspecJunitFormatter --out rspec.xml - artifacts: - reports: - junit: rspec.xml -``` - -收集的 JUnit 报告将作为工件上传到 GitLab,并将自动显示在合并请求中. - -**注意:**如果您使用的 JUnit 工具导出到多个 XML 文件,则可以在一个作业中指定多个测试报告路径,它们将被自动串联到一个文件中. 使用文件名模式( `junit: rspec-*.xml` ),文件名数组( `junit: [rspec-1.xml, rspec-2.xml, rspec-3.xml]` )或其组合( `junit: [rspec.xml, test-results/TEST-*.xml]` ). - -#### `artifacts:reports:dotenv`[](#artifactsreportsdotenv "Permalink") - -版本历史 - -* 在 GitLab 12.9 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/17066) . -* 需要 GitLab Runner 11.5 及更高版本. - -`dotenv`报告收集一组环境变量作为工件. - -收集的变量注册为作业的运行时创建的变量,这对于[在作业完成后设置动态环境 URL](../environments/index.html#set-dynamic-environment-urls-after-a-job-finishes)很有用. - -[原始 dotenv 规则](https://github.com/motdotla/dotenv#rules)有两个例外: - -* 可变键只能包含字母,数字和下划线( `_` ). -* `.env`文件的最大大小为 5 KB. -* 变量的最大数量为 10. -* 不支持`.env`文件中的变量替换. -* `.env`文件不能包含空行或注释(以`#`开头). -* `env`文件中的键值不能包含空格或换行符( `\n` ),包括使用单引号或双引号时. -* 不支持在解析过程中使用引号转义( `key = 'value'` -> `{key: "value"}` ). - -#### `artifacts:reports:cobertura`[](#artifactsreportscobertura "Permalink") - -版本历史 - -* 在 GitLab 12.9 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/3708) . -* 需要[GitLab Runner](https://docs.gitlab.com/runner/) 11.5 及更高版本. - -The `cobertura` report collects [Cobertura coverage XML files](../../user/project/merge_requests/test_coverage_visualization.html). The collected Cobertura coverage reports will be uploaded to GitLab as an artifact and will be automatically shown in merge requests. - -Cobertura 最初是为 Java 开发的,但是有许多第三方端口可用于其他语言,例如 JavaScript,Python,Ruby 等. - -#### `artifacts:reports:terraform`[](#artifactsreportsterraform "Permalink") - -版本历史 - -* 在 GitLab 13.0 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/207528) . -* 需要[GitLab Runner](https://docs.gitlab.com/runner/) 11.5 及更高版本. - -`terraform`报告获取 Terraform `tfplan.json`文件. [需要进行 JQ 处理才能删除凭据](../../user/infrastructure/index.html#output-terraform-plan-information-into-a-merge-request) . 收集的 Terraform 计划报告将作为工件上传到 GitLab,并将在合并请求中自动显示. 有关更多信息,请参见将[`terraform plan`信息输出到合并请求中](../../user/infrastructure/index.html#output-terraform-plan-information-into-a-merge-request) . - -#### `artifacts:reports:codequality`[](#artifactsreportscodequality-starter "Permalink") - -版本历史 - -* 在 GitLab 11.5 中引入. -* 需要 GitLab Runner 11.5 及更高版本. - -`codequality`报告将[CodeQuality 问题](../../user/project/merge_requests/code_quality.html)收集为工件. - -收集的代码质量报告将作为工件上传到 GitLab,并在合并请求中进行汇总. - -#### `artifacts:reports:sast`[](#artifactsreportssast-ultimate "Permalink") - -版本历史 - -* 在 GitLab 11.5 中引入. -* 需要 GitLab Runner 11.5 及更高版本. - -`sast`报告将[SAST 漏洞](../../user/application_security/sast/index.html)收集为工件. - -收集的 SAST 报告将作为工件上传到 GitLab,并将在合并请求和管道视图中进行汇总. 它还用于为安全仪表板提供数据. - -#### `artifacts:reports:secret_detection`[](#artifactsreportssecret_detection-ultimate "Permalink") - -版本历史 - -* 在 GitLab 13.1 中引入. -* 需要 GitLab Runner 11.5 及更高版本. - -`secret-detection`报告将[检测到的机密](../../user/application_security/secret_detection/index.html)收集为伪像. - -收集的 Secret Detection 报告作为工件上传到 GitLab,并在合并请求和管道视图中进行汇总. 它还用于为安全仪表板提供数据. - -#### `artifacts:reports:dependency_scanning`[](#artifactsreportsdependency_scanning-ultimate "Permalink") - -版本历史 - -* 在 GitLab 11.5 中引入. -* 需要 GitLab Runner 11.5 及更高版本. - -`dependency_scanning`报告将" [依赖关系扫描"漏洞](../../user/application_security/dependency_scanning/index.html)收集为工件. - -收集的"依赖关系扫描"报告将作为工件上传到 GitLab,并将在合并请求和管道视图中进行汇总. 它还用于为安全仪表板提供数据. - -#### `artifacts:reports:container_scanning`[](#artifactsreportscontainer_scanning-ultimate "Permalink") - -版本历史 - -* 在 GitLab 11.5 中引入. -* 需要 GitLab Runner 11.5 及更高版本. - -`container_scanning`报告收集[容器扫描漏洞](../../user/application_security/container_scanning/index.html)作为工件. - -收集的"容器扫描"报告将作为工件上传到 GitLab,并将在合并请求和管道视图中进行汇总. 它还用于为安全仪表板提供数据. - -#### `artifacts:reports:dast`[](#artifactsreportsdast-ultimate "Permalink") - -版本历史 - -* 在 GitLab 11.5 中引入. -* 需要 GitLab Runner 11.5 及更高版本. - -`dast`报告将[DAST 漏洞](../../user/application_security/dast/index.html)收集为工件. - -收集的 DAST 报告将作为工件上传到 GitLab,并将在合并请求和管道视图中进行汇总. 它还用于为安全仪表板提供数据. - -#### `artifacts:reports:license_management`[](#artifactsreportslicense_management-ultimate "Permalink") - -版本历史 - -* 在 GitLab 11.5 中引入. -* 需要 GitLab Runner 11.5 及更高版本. - -**警告:**此工件仍然有效,但**不推荐使用** ,而**推荐使用** GitLab 12.8 中引入的[artifacts:reports:license_scanning](../pipelines/job_artifacts.html#artifactsreportslicense_scanning-ultimate) . - -`license_management`报告收集[许可证](../../user/compliance/license_compliance/index.html)作为工件. - -The collected License Compliance report will be uploaded to GitLab as an artifact and will be summarized in the merge requests and pipeline view. It’s also used to provide data for security dashboards. - -#### `artifacts:reports:license_scanning`[](#artifactsreportslicense_scanning-ultimate "Permalink") - -版本历史 - -* 在 GitLab 12.8 中引入. -* 需要 GitLab Runner 11.5 及更高版本. - -`license_scanning`报告收集[许可证](../../user/compliance/license_compliance/index.html)作为工件. - -许可证合规性报告将作为工件上传到 GitLab,并将自动显示在合并请求,管道视图中,并为安全仪表板提供数据. - -#### `artifacts:reports:performance`[](#artifactsreportsperformance-premium "Permalink") - -版本历史 - -* 在 GitLab 11.5 中引入. -* 需要 GitLab Runner 11.5 及更高版本. - -`performance`报告收集[浏览器性能测试指标](../../user/project/merge_requests/browser_performance_testing.html)作为工件. - -收集的浏览器性能报告将作为工件上传到 GitLab,并将自动显示在合并请求中. - -#### `artifacts:reports:load_performance`[](#artifactsreportsload_performance-premium "Permalink") - -版本历史 - -* 介绍了[GitLab 13.2](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35260)在[GitLab 溢价](https://about.gitlab.com/pricing/) 13.2\. -* 需要 GitLab Runner 11.5 及更高版本. - -`load_performance`报告收集工件的[负载性能测试指标](../../user/project/merge_requests/load_performance_testing.html) . - -该报告作为工件被上传到 GitLab,并自动显示在合并请求中. - -#### `artifacts:reports:metrics`[](#artifactsreportsmetrics-premium "Permalink") - -在 GitLab 11.10 中引入. - -`metrics`报告收集[指标](../metrics_reports.html)作为工件. - -收集的指标报告将作为工件上传到 GitLab,并将自动显示在合并请求中. - -#### `artifacts:reports:requirements`[](#artifactsreportsrequirements-ultimate "Permalink") - -版本历史 - -* 在 GitLab 13.1 中[引入](https://gitlab.com/groups/gitlab-org/-/epics/2859) . -* 需要 GitLab Runner 11.5 及更高版本. - -`requirements`报告收集工件的`requirements.json`文件. - -收集的需求报告将作为工件上传到 GitLab,现有[需求](../../user/project/requirements/index.html)将标记为"满意". - -## Browsing artifacts[](#browsing-artifacts "Permalink") - -版本历史 - -* 从 GitLab 9.2,可以直接在工作工件浏览器中预览 PDF,图像,视频和其他格式,而无需下载它们. -* 在[GitLab 10.1 中](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/14399)引入的公共项目中的 HTML 文件可以在新选项卡中直接预览,而在启用[GitLab Pages](../../administration/pages/index.html)时无需下载它们. 文本格式也是如此(当前支持的扩展名: `.txt` , `.json`和`.log` ). -* 在[GitLab 12.4 中](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/16675)引入后,启用[GitLab 页面访问控制后,便](../../administration/pages/index.html#access-control)可以预览私有项目中的工件. - -作业完成后,如果您访问作业的特定页面,则有三个按钮. 您可以下载工件归档文件或浏览其内容,而" **保留"**按钮仅在您为工件设置了[有效日期](../yaml/README.html#artifactsexpire_in)的情况下出现,以防万一您改变主意并希望保留它们. - -[![Job artifacts browser button](img/ae307552914d8ff018365bbde4d23479.png)](img/job_artifacts_browser_button.png) - -存档浏览器显示存档中每个文件的名称和实际文件大小. 如果您的工件包含目录,那么您也可以在其中进行浏览. - -您可以在下面看到浏览的样子. 在这种情况下,我们浏览了档案内部,此时有一个目录,几个文件和一个 HTML 文件,启用[GitLab 页面](../../administration/pages/index.html) (在新选项卡中打开)后,您可以直接在线查看. - -[![Job artifacts browser](img/212946086e16f591c716728308d49ca3.png)](img/job_artifacts_browser.png) - -## Downloading artifacts[](#downloading-artifacts "Permalink") - -如果您需要下载工件或整个档案,请在 GitLab UI 的不同位置进行操作: - -1. 在管道页面上,您可以在右上角看到每个作业的工件和存档的下载图标: - - [![Job artifacts in Pipelines page](img/b22d9654d7ad1868d2368d7e3f82e9a3.png)](img/job_artifacts_pipelines_page.png) - -2. 在" **作业"**页面上,您可以在右上角看到每个作业的工件和存档的下载图标: - - [![Job artifacts in Builds page](img/82c2caa32c2aff60b744c3ede8725ac9.png)](img/job_artifacts_builds_page.png) - -3. While inside a specific job, you’re presented with a download button along with the one that browses the archive: - - [![Job artifacts browser button](img/ae307552914d8ff018365bbde4d23479.png)](img/job_artifacts_browser_button.png) - -4. 最后,在浏览档案时,您可以在右上角看到下载按钮: - - [![Job artifacts browser](img/212946086e16f591c716728308d49ca3.png)](img/job_artifacts_browser.png) - -## Downloading the latest artifacts[](#downloading-the-latest-artifacts "Permalink") - -可以通过众所周知的 URL 下载作业的最新工件,以便将其用于脚本目的. - -**注意:**最新工件是由作业在特定引用的**最新**成功管道中创建的. 如果您为相同的参考运行两种类型的管道,则最新的工件将通过计时来确定. 例如,如果通过合并合并请求创建的分支管道与计划的管道同时运行,则最新的工件将来自最近完成的管道. - -可以直接访问其他管道的工件. - -用于下载整个工件存档的 URL 的结构如下: - -``` -https://example.com///-/jobs/artifacts//download?job= -``` - -To download a single file from the artifacts use the following URL: - -``` -https://example.com///-/jobs/artifacts//raw/?job= -``` - -例如,要下载名为`gitlab`项目的`master`分支(属于`gitlab-org`命名空间)的`coverage`的作业的最新工件,URL 为: - -``` -https://gitlab.com/gitlab-org/gitlab/-/jobs/artifacts/master/download?job=coverage -``` - -要从相同的工件下载文件`coverage/index.html` ,请使用以下 URL: - -``` -https://gitlab.com/gitlab-org/gitlab/-/jobs/artifacts/master/raw/coverage/index.html?job=coverage -``` - -还有一个 URL 可浏览最新的作业工件: - -``` -https://example.com///-/jobs/artifacts//browse?job= -``` - -例如: - -``` -https://gitlab.com/gitlab-org/gitlab/-/jobs/artifacts/master/browse?job=coverage -``` - -还有一个指向特定文件的 URL,包括在[GitLab 页面](../../administration/pages/index.html)中显示的 HTML 文件: - -``` -https://example.com///-/jobs/artifacts//file/?job= -``` - -例如,当一个作业`coverage`创建神器`htmlcov/index.html` ,你可以访问它: - -``` -https://gitlab.com/gitlab-org/gitlab/-/jobs/artifacts/master/file/htmlcov/index.html?job=coverage -``` - -UI 的不同位置也公开了最新版本. 具体来说,请在以下位置查找下载按钮: - -* 主项目页面 -* 分支机构页面 -* 标签页面 - -如果最新作业未能上传工件,则可以在 UI 中看到该信息. - -[![Latest artifacts button](img/a3acce71246e984986cedc7a1cece8f9.png)](img/job_latest_artifacts_browser.png) - -## Erasing artifacts[](#erasing-artifacts "Permalink") - -**警告:**这是一种破坏性行为,会导致数据丢失. 请谨慎使用. - -您可以通过 UI 删除单个作业,如果您是以下情况,则它也将删除作业的工件和跟踪: - -* 工作的所有者. -* 项目的[维护者](../../user/permissions.html#gitlab-cicd-permissions) . - -删除作业: - -1. 导航到工作页面. -2. 单击作业跟踪右上方的垃圾桶图标. -3. 确认删除. - -## Retrieve artifacts of private projects when using GitLab CI[](#retrieve-artifacts-of-private-projects-when-using-gitlab-ci "Permalink") - -为了检索不同项目的作业工件,您可能需要使用专用令牌来[认证和下载](../../api/jobs.html#get-job-artifacts)工件. \ No newline at end of file diff --git a/docs/265.md b/docs/265.md deleted file mode 100644 index 30a25e4..0000000 --- a/docs/265.md +++ /dev/null @@ -1,133 +0,0 @@ -# Pipeline schedules - -> 原文:[https://docs.gitlab.com/ee/ci/pipelines/schedules.html](https://docs.gitlab.com/ee/ci/pipelines/schedules.html) - -* [Prerequisites](#prerequisites) -* [Configuring pipeline schedules](#configuring-pipeline-schedules) - * [Using variables](#using-variables) - * [Using only and except](#using-only-and-except) - * [Advanced configuration](#advanced-configuration) -* [Working with scheduled pipelines](#working-with-scheduled-pipelines) - * [Running manually](#running-manually) - * [Taking ownership](#taking-ownership) - -# Pipeline schedules[](#pipeline-schedules "Permalink") - -版本历史 - -* 在 GitLab 9.1 中作为[触发计划](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/10533)引入. -* 在 GitLab 9.2 中[重命名为 Pipeline Schedule](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/10853) . - -**注意:** Cron 表示法由[Fugit](https://github.com/floraison/fugit)解析. - -管道通常是在满足某些条件的情况下运行的. 例如,将分支推送到存储库时. - -管道计划可以用于以特定间隔运行[管道](index.html) . 例如: - -* 每个月的 22 号都有特定的分支机构. -* 每天一次. - -除了使用 GitLab UI 外,还可以使用[Pipeline schedules API](../../api/pipeline_schedules.html)维护[管道时间表](../../api/pipeline_schedules.html) . - -## Prerequisites[](#prerequisites "Permalink") - -为了成功创建计划的管道: - -* 计划所有者必须具有合并到目标分支的[权限](../../user/permissions.html) . -* 管道配置必须有效. - -否则,不会创建管道. - -## Configuring pipeline schedules[](#configuring-pipeline-schedules "Permalink") - -计划项目的管道: - -1. 导航到项目的**CI / CD>计划**页面. -2. 单击**新建计划**按钮. -3. 填写**计划表中的新管道**表单. -4. 单击**保存管道计划**按钮. - -[![New Schedule Form](img/b379b1821f4b3d10ab0be61a59bcd491.png)](img/pipeline_schedules_new_form.png) - -**注意:**管道执行[时间取决于](#advanced-configuration) Sidekiq 自己的时间表. - -在" **计划**索引"页面中,您可以看到计划运行的管道的列表. 下次运行由安装了 GitLab 的服务器自动计算. - -[![Schedules list](img/de408a3a079dceb2e72d044abac21ac3.png)](img/pipeline_schedules_list.png) - -### Using variables[](#using-variables "Permalink") - -在 GitLab 9.4 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/12328) . - -您可以传递任意数量的任意变量,它们将在 GitLab CI / CD 中可用,以便可以在您的[`.gitlab-ci.yml`文件中使用](../../ci/yaml/README.html) . - -[![Scheduled pipeline variables](img/2e1001a11cd343049b87ebf60a315e9f.png)](img/pipeline_schedule_variables.png) - -### Using only and except[](#using-only-and-except "Permalink") - -要配置仅在计划了管道(或相反)时才可以执行作业,您只能使用[且](../yaml/README.html#onlyexcept-basic)不能使用配置关键字. - -For example: - -``` -job:on-schedule: - only: - - schedules - script: - - make world - -job: - except: - - schedules - script: - - make build -``` - -### Advanced configuration[](#advanced-configuration "Permalink") - -管道不会完全按计划执行,因为计划由 Sidekiq 处理,Sidekiq 根据其间隔运行. - -例如,如果满足以下条件,则每天只会创建两个管道: - -* 您设置时间表以每分钟( `* * * * *` )创建一条管道. -* Sidekiq 工作者每天在 00:00 和 12:00( `0 */12 * * *` )运行. - -更改 Sidekiq 工作人员的频率: - -1. 在实例的`gitlab.rb`文件中编辑`gitlab_rails['pipeline_schedule_worker_cron']`值. -2. [重新配置 GitLab,](../../administration/restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -对于 GitLab.com,请参阅[专用设置页面](../../user/gitlab_com/index.html#gitlab-cicd) . - -## Working with scheduled pipelines[](#working-with-scheduled-pipelines "Permalink") - -配置完成后,GitLab 将支持许多用于计划管道的功能. - -### Running manually[](#running-manually "Permalink") - -在 GitLab 10.4 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/15700) . - -要手动触发管道计划,请单击"播放"按钮: - -[![Play Pipeline Schedule](img/4ffe26c8f949643669a5c295958616cf.png)](img/pipeline_schedule_play.png) - -这将安排一个后台作业来运行管道计划. 一条简短消息将提供指向 CI / CD 管道索引页面的链接. - -**注意:**为避免滥用,限制了用户每分钟触发一次管道的速率. - -### Taking ownership[](#taking-ownership "Permalink") - -管道以拥有日程表的用户身份执行. 这影响管道可以访问哪些项目和其他资源. - -如果用户不拥有管道,则可以通过单击" **获取所有权"**按钮**获取所有权** . 下次计划管道时,将使用您的凭据. - -[![Schedules list](img/94b9b90ebfb15979835f3e48d710cb45.png)](img/pipeline_schedules_ownership.png) - -如果管道计划的所有者没有能力在目标分支上创建管道,则该计划将停止创建新管道. - -例如,如果发生这种情况: - -* 所有者被阻止或从项目中删除. -* 目标分支或标签受保护. - -在这种情况下,具有足够特权的人必须拥有日程表的所有权. \ No newline at end of file diff --git a/docs/266.md b/docs/266.md deleted file mode 100644 index f696af8..0000000 --- a/docs/266.md +++ /dev/null @@ -1,291 +0,0 @@ -# Pipeline settings - -> 原文:[https://docs.gitlab.com/ee/ci/pipelines/settings.html](https://docs.gitlab.com/ee/ci/pipelines/settings.html) - -* [Git strategy](#git-strategy) -* [Git shallow clone](#git-shallow-clone) -* [Timeout](#timeout) - * [Timeout overriding on Runner level](#timeout-overriding-on-runner-level) -* [Maximum artifacts size](#maximum-artifacts-size-core-only) -* [Custom CI configuration path](#custom-ci-configuration-path) -* [Test coverage parsing](#test-coverage-parsing) - * [Code Coverage history](#code-coverage-history) - * [Removing color codes](#removing-color-codes) -* [Visibility of pipelines](#visibility-of-pipelines) -* [Auto-cancel pending pipelines](#auto-cancel-pending-pipelines) -* [Skip outdated deployment jobs](#skip-outdated-deployment-jobs) -* [Pipeline Badges](#pipeline-badges) - * [Pipeline status badge](#pipeline-status-badge) - * [Test coverage report badge](#test-coverage-report-badge) - * [Badge styles](#badge-styles) - * [Flat (default)](#flat-default) - * [Flat square](#flat-square) - * [Custom badge text](#custom-badge-text) -* [Environment Variables](#environment-variables) - -# Pipeline settings[](#pipeline-settings "Permalink") - -要达到管道设置,请导航至项目的**"设置">" CI / CD"** . - -可以为每个项目配置以下设置. - -有关概述,请观看视频[GitLab CI 管道,工件和环境](https://www.youtube.com/watch?v=PCKDICEe10s) . 也请观看[面向初学者的 GitLab CI 管道教程](https://www.youtube.com/watch?v=Jav4vbUrqII) . - -## Git strategy[](#git-strategy "Permalink") - -使用 Git 策略,您可以选择从作业中的 GitLab 提取存储库的默认方式. - -有两种选择. 使用: - -* `git clone` ,速度较慢,因为它会为每个作业从头开始克隆存储库,以确保本地工作副本始终是原始的. -* `git fetch` ,它更快地重新使用本地工作副本(如果不存在,则回退为克隆). - -默认的 Git 策略可以由`.gitlab-ci.yml`的[GIT_STRATEGY 变量](../yaml/README.html#git-strategy)覆盖. - -## Git shallow clone[](#git-shallow-clone "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/28919) in GitLab 12.0. - -**注意:**从 GitLab 12.0 开始,新创建的项目将自动具有默认的`git depth`值`50` . - -克隆存储库时,可以限制 GitLab CI / CD 获取的更改数量. 设置`git depth`的限制可以加快管道的执行速度. 最大允许值为`1000` . - -要禁用浅表克隆并使 GitLab CI / CD 每次获取所有分支和标签,请将值保留为空或设置为`0` . - -`.gitlab-ci.yml`文件中的[`GIT_DEPTH`](../large_repositories/index.html#shallow-cloning)变量也可以[覆盖](../large_repositories/index.html#shallow-cloning)此值. - -## Timeout[](#timeout "Permalink") - -超时定义了作业可以运行的最长时间(以分钟为单位). 这可以在项目的**设置> CI / CD>常规管道设置下进行配置** . 默认值为 60 分钟. 如果要对作业的运行时间施加硬性限制,则减少时间限制,否则增加该限制. 无论如何,如果作业超过阈值,则将其标记为失败. - -### Timeout overriding on Runner level[](#timeout-overriding-on-runner-level "Permalink") - -在 GitLab 10.7 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17221) . - -项目定义的超时(用户设置的特定超时或默认的 60 分钟超时)可以[在 Runner 级别](../runners/README.html#set-maximum-job-timeout-for-a-runner)上[覆盖](../runners/README.html#set-maximum-job-timeout-for-a-runner) . - -## Maximum artifacts size[](#maximum-artifacts-size-core-only "Permalink") - -有关为项目设置最大工件大小的信息,请参见[最大工件大小](../../user/admin_area/settings/continuous_integration.html#maximum-artifacts-size-core-only) . - -## Custom CI configuration path[](#custom-ci-configuration-path "Permalink") - -版本历史 - -* 在 GitLab 9.4 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/12509) . -* [支持](https://gitlab.com/gitlab-org/gitlab/-/issues/14376)在 GitLab 12.6 中引入的[外部`.gitlab-ci.yml`位置](https://gitlab.com/gitlab-org/gitlab/-/issues/14376) . - -默认情况下,我们在项目的根目录中查找`.gitlab-ci.yml`文件. 如果需要,您可以指定备用路径和文件名,包括项目外部的位置. - -要自定义路径: - -1. 转到项目的**设置> CI / CD** . -2. 展开**常规管道**部分. -3. 在" **定制 CI 配置路径"**字段中提供一个值. -4. Click **保存更改**. - -如果 CI 配置在非默认位置存储在资源库中,则该路径必须相对于根目录. 有效路径和文件名的示例包括: - -* `.gitlab-ci.yml` (default) -* `.my-custom-file.yml` -* `my/path/.gitlab-ci.yml` -* `my/path/.my-custom-file.yml` - -如果 CI 配置将托管在外部站点上,则 URL 链接必须以`.yml` : - -* `http://example.com/generate/ci/config.yml` - -如果 CI 配置将托管在 GitLab 中的其他项目中,则该路径必须相对于另一个项目中的根目录,并在最后添加组和项目名称: - -* `.gitlab-ci.yml@mygroup/another-project` -* `my/path/.my-custom-file.yml@mygroup/another-project` - -将配置文件托管在单独的项目中,可以更严格地控​​制配置文件. 例如: - -* 创建一个公共项目来承载配置文件. -* 仅向被允许编辑文件的用户授予对项目的写权限. - -其他用户和项目将能够访问配置文件而无需对其进行编辑. - -## Test coverage parsing[](#test-coverage-parsing "Permalink") - -如果您在代码中使用测试覆盖率,则 GitLab 可以使用正则表达式将其输出捕获到作业日志中. 在管道设置中,搜索"测试 coverage 解析"部分. - -[![Pipelines settings test coverage](img/1c1c9ba40bbb3c1ab789e70a4c4d42e6.png)](img/pipelines_settings_test_coverage.png) - -如果要禁用它或输入 Ruby 正则表达式,请保留空白. 您可以使用[https://rubular.com](https://rubular.com)来测试您的正则表达式. 正则表达式返回在输出中找到的**最后一个**匹配项. - -如果管道成功,则覆盖范围将显示在合并请求窗口小部件和作业表中. - -[![MR widget coverage](img/afec6ffec0973dba40a3e3bc2c244bad.png)](img/pipelines_test_coverage_mr_widget.png) - -[![Build status coverage](img/f81ccf2ef168880473496ad46b2d991f.png)](img/pipelines_test_coverage_build.png) - -可以在管道设置页面中找到一些针对多种语言的已知覆盖工具的示例. - -### Code Coverage history[](#code-coverage-history "Permalink") - -Version history - -* [引入](https://gitlab.com/gitlab-org/gitlab/-/issues/209121)了在 GitLab 12.10 中下载`.csv` . -* GitLab 13.1 中[引入的图](https://gitlab.com/gitlab-org/gitlab/-/issues/33743) . - -如果您想查看项目代码覆盖率随时间的变化,则可以查看图形或下载包含此数据的 CSV 文件. 从您的项目中: - -1. 去 **单击项目分析>存储库,**以查看图表上方下拉列表中列出的每个作业的历史数据. -2. 如果您想要该数据的 CSV 文件,请点击**下载原始数据(.csv)** - -[![Code coverage graph of a project over time](img/45c66aeb387e650cfe717047d1b78263.png)](img/code_coverage_graph_v13_1.png) - -### Removing color codes[](#removing-color-codes "Permalink") - -某些使用 ANSI 颜色代码输出的测试 coverage 工具无法通过正则表达式正确解析,并且会导致 coverage 解析失败. - -如果 Coverage 工具没有提供禁用输出中颜色代码的选项,则可以通过一个小的单行脚本通过管道传递 Coverage 工具的输出,该脚本将去除颜色代码. - -例如: - -``` -lein cloverage | perl -pe 's/\e\[?.*?[\@-~]//g' -``` - -## Visibility of pipelines[](#visibility-of-pipelines "Permalink") - -Pipeline visibility is determined by: - -* 您当前的[用户访问级别](../../user/permissions.html) . -* 项目**设置> CI / CD>常规管道**下的**公共管道**项目设置. - -**注意:**如果项目可见性设置为" **私有"** ,则" [**公共管道"**设置将无效](../enable_or_disable_ci.html#per-project-user-setting) . - -这也决定了这些相关功能的可见性: - -* 作业输出日志 -* 工作文物 -* The [pipeline security dashboard](../../user/application_security/security_dashboard/index.html#pipeline-security) - -**注意:**当前, [访客用户和非项目成员尚看不到](https://gitlab.com/gitlab-org/gitlab/-/issues/25649)作业日志和工件. - -如果启用了**公共管道** (默认): - -* 对于**公共**项目,任何人都可以查看管道和相关功能. -* 对于**内部**项目,任何登录的用户都可以查看管道和相关功能. -* 对于**私有**项目,任何项目成员(访客或更高级别)都可以查看管道和相关功能. - -如果禁用**公共管道** : - -* 对于**公共**项目,任何人都可以查看管道,但是只有成员(报告者或更高级别)可以访问相关功能. -* 对于**内部**项目,任何登录的用户都可以查看管道. 但是,只有成员(记者或更高级别)可以访问与工作相关的功能. -* 对于**私有**项目,只有项目成员(报告者或更高版本)才能查看管道或访问相关功能. - -## Auto-cancel pending pipelines[](#auto-cancel-pending-pipelines "Permalink") - -在 GitLab 9.1 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/9362) . - -如果您希望每次创建新管道时(例如在 Git 推送之后或从 UI 手动创建)每次自动取消分支上所有未决的非 HEAD 管道,都可以在项目设置中启用此功能: - -1. 去 **设置> CI / CD** . -2. Expand **通用管道**. -3. 选中**自动取消冗余的未决管道**复选框. -4. Click **保存更改**. - -请注意,只有可[中断](../yaml/README.html#interruptible)设置为`true`作业才会被取消. - -## Skip outdated deployment jobs[](#skip-outdated-deployment-jobs "Permalink") - -在 GitLab 12.9 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/25276) . - -您的项目可能有多个并发部署作业,这些作业计划在同一时间范围内运行. - -这可能导致旧的部署作业在新的作业之后运行,而这可能不是您想要的. - -为了避免这种情况: - -1. 去 **设置> CI / CD** . -2. Expand **通用管道**. -3. 选中**跳过过期的部署作业**复选框. -4. Click **保存更改**. - -挂起的部署作业将被跳过. - -有关更多信息,请参阅[部署安全](../environments/deployment_safety.html) . - -## Pipeline Badges[](#pipeline-badges "Permalink") - -在管道设置页面中,您可以找到项目的管道状态和测试覆盖率标志. 最新成功的管道将用于读取管道状态和测试覆盖率值. - -访问项目中的管道设置页面,以查看指向徽章的确切链接,以及将徽章图像嵌入 HTML 或 Markdown 页面的方法. - -[![Pipelines badges](img/9fd7b49e564d04c79644e7fb8c7d7d5d.png)](img/pipelines_settings_badges.png) - -### Pipeline status badge[](#pipeline-status-badge "Permalink") - -根据您的工作状态,徽章可以具有以下值: - -* pending -* running -* passed -* failed -* skipped -* canceled -* unknown - -您可以使用以下链接访问管道状态标志图像: - -``` -https://example.gitlab.com///badges//pipeline.svg -``` - -### Test coverage report badge[](#test-coverage-report-badge "Permalink") - -GitLab 使定义[覆盖率报告](#test-coverage-parsing)的正则表达式成为可能,每个作业日志都将与之匹配. 这意味着管道中的每个作业都可以定义测试覆盖率百分比值. - -可以使用以下链接访问测试覆盖率徽章: - -``` -https://example.gitlab.com///badges//coverage.svg -``` - -如果要从特定作业获取覆盖率报告,可以将`job=coverage_job_name`参数添加到 URL. 例如,以下 Markdown 代码会将`coverage`作业的测试覆盖率报告标志嵌入到`README.md` : - -``` -![coverage](https://gitlab.com/gitlab-org/gitlab/badges/master/coverage.svg?job=coverage) -``` - -### Badge styles[](#badge-styles "Permalink") - -通过向 URL 添加`style=style_name`参数,可以以不同的样式呈现管道标志. 当前有两种样式: - -#### Flat (default)[](#flat-default "Permalink") - -``` -https://example.gitlab.com///badges//coverage.svg?style=flat -``` - -[![Badge flat style](img/69a8b09a09599e563d1796eac13f945e.png)](https://gitlab.com/gitlab-org/gitlab/badges/master/coverage.svg?job=coverage&style=flat) - -#### Flat square[](#flat-square "Permalink") - -在 GitLab 11.8 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/30120) . - -``` -https://example.gitlab.com///badges//coverage.svg?style=flat-square -``` - -[![Badge flat square style](img/c7918abdac813cb6d0b57bb682269b93.png)](https://gitlab.com/gitlab-org/gitlab/badges/master/coverage.svg?job=coverage&style=flat-square) - -### Custom badge text[](#custom-badge-text "Permalink") - -在 GitLab 13.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/17555) . - -徽章的文本可以自定义. 这有助于区分在同一管道中运行的多个 Coverage 作业. 通过将`key_text=custom_text`和`key_width=custom_key_width`参数添加到 URL 来定制徽章文本和宽度: - -``` -https://gitlab.com/gitlab-org/gitlab/badges/master/coverage.svg?job=karma&key_text=Frontend+Coverage&key_width=100 -``` - -[![Badge with custom text and width](img/8e5585152d153d9f1f4073f0cddba269.png)](https://gitlab.com/gitlab-org/gitlab/badges/master/coverage.svg?job=karma&key_text=Frontend+Coverage&key_width=100) - -## Environment Variables[](#environment-variables "Permalink") - -可以在环境中设置[环境变量](../variables/README.html#gitlab-cicd-environment-variables)以供跑步者使用. \ No newline at end of file diff --git a/docs/267.md b/docs/267.md deleted file mode 100644 index 78d7b9f..0000000 --- a/docs/267.md +++ /dev/null @@ -1,251 +0,0 @@ -# Triggering pipelines through the API - -> 原文:[https://docs.gitlab.com/ee/ci/triggers/README.html](https://docs.gitlab.com/ee/ci/triggers/README.html) - -* [Authentication tokens](#authentication-tokens) - * [Trigger token](#trigger-token) - * [CI job token](#ci-job-token) - * [When used with multi-project pipelines](#when-used-with-multi-project-pipelines) - * [When a pipeline depends on the artifacts of another pipeline](#when-a-pipeline-depends-on-the-artifacts-of-another-pipeline-premium) -* [Adding a new trigger](#adding-a-new-trigger) -* [Revoking a trigger](#revoking-a-trigger) -* [Triggering a pipeline](#triggering-a-pipeline) -* [Triggering a pipeline from a webhook](#triggering-a-pipeline-from-a-webhook) -* [Making use of trigger variables](#making-use-of-trigger-variables) -* [Using cron to trigger nightly pipelines](#using-cron-to-trigger-nightly-pipelines) -* [Legacy triggers](#legacy-triggers) - -# Triggering pipelines through the API[](#triggering-pipelines-through-the-api "Permalink") - -版本历史 - -**注意事项** : - -* 在 GitLab 7.14 中[引入](https://about.gitlab.com/releases/2015/08/22/gitlab-7-14-released/) . -* GitLab 8.12 具有完全重新设计的工作权限系统. 阅读有关[新模型及其含义的](../../user/project/new_ci_build_permissions_model.html#pipeline-triggers)所有信息. - -触发器可用于通过 API 调用强制重新运行特定`ref` (分支或标签)的管道. - -## Authentication tokens[](#authentication-tokens "Permalink") - -支持以下身份验证方法: - -* [Trigger token](#trigger-token) -* [CI job token](#ci-job-token) - -如果使用`$CI_PIPELINE_SOURCE` [预定义环境变量](../variables/predefined_variables.html)来限制在管道中运行的作业,则值可以是`pipeline`或`trigger` ,具体取决于所使用的触发器方法. - -| `$CI_PIPELINE_SOURCE` value | 触发方式 | -| --- | --- | -| `pipeline` | 使用 CI / CD 配置文件中的`trigger:`关键字,或将触发器 API 与`$CI_JOB_TOKEN` . | -| `trigger` | 使用生成的触发令牌使用触发 API | - -当使用`pipelines`或使用[`only/except`](../yaml/README.html#onlyexcept-basic)传统[`only/except`基本语法`only/except`](../yaml/README.html#onlyexcept-basic) `triggers`关键字时,这也适用. - -### Trigger token[](#trigger-token "Permalink") - -A unique trigger token can be obtained when [adding a new trigger](#adding-a-new-trigger). - -**危险:**在公共项目中传递纯文本令牌是一个安全问题. 潜在的攻击者可以在`.gitlab-ci.yml`文件中假冒公开暴露其触发令牌的用户. 使用[变量](../variables/README.html#gitlab-cicd-environment-variables)来保护触发令牌. - -### CI job token[](#ci-job-token "Permalink") - -You can use the `CI_JOB_TOKEN` [variable](../variables/README.html#predefined-environment-variables) (used to authenticate with the [GitLab Container Registry](../../user/packages/container_registry/index.html)) in the following cases. - -#### When used with multi-project pipelines[](#when-used-with-multi-project-pipelines "Permalink") - -版本历史 - -* 在[GitLab Premium](https://about.gitlab.com/pricing/) 9.3 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/2017)了`CI_JOB_TOKEN`在多项目管道中的使用. -* 在 GitLab 12.4 的所有层中都[可以](https://gitlab.com/gitlab-org/gitlab/-/issues/31573)将`CI_JOB_TOKEN`用于多项目管道. - -这种触发方式只能在`.gitlab-ci.yml`内部调用时使用,并且会在[管道图](../multi_project_pipelines.html#overview)上创建可见的依赖管道关系. 例如: - -``` -build_docs: - stage: deploy - script: - - curl --request POST --form "token=$CI_JOB_TOKEN" --form ref=master https://gitlab.example.com/api/v4/projects/9/trigger/pipeline - only: - - tags -``` - -以这种方式触发的管道还公开了一个特殊变量: `CI_PIPELINE_SOURCE=pipeline` . - -阅读有关[管道触发器 API 的](../../api/pipeline_triggers.html)更多信息. - -#### When a pipeline depends on the artifacts of another pipeline[](#when-a-pipeline-depends-on-the-artifacts-of-another-pipeline-premium "Permalink") - -在[GitLab Premium](https://about.gitlab.com/pricing/) 9.5 中[引入了](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/2346)在工件下载 API 中使用`CI_JOB_TOKEN` . - -随着不同项目之间的依赖关系的引入,其中一个项目可能需要访问由前一个项目创建的工件. 必须为授权访问授予此过程,并且可以使用标识特定作业的`CI_JOB_TOKEN`变量完成此过程. 例如: - -``` -build_submodule: - image: debian - stage: test - script: - - apt update && apt install -y unzip - - curl --location --output artifacts.zip "https://gitlab.example.com/api/v4/projects/1/jobs/artifacts/master/download?job=test&job_token=$CI_JOB_TOKEN" - - unzip artifacts.zip - only: - - tags -``` - -这使您可以将其用于多项目管道,并从您有权访问的任何项目下载工件,因为这遵循与[权限模型](../../user/permissions.html#job-permissions)相同的原则. - -了解有关[Jobs API 的](../../api/jobs.html#download-the-artifacts-archive)更多信息. - -## Adding a new trigger[](#adding-a-new-trigger "Permalink") - -您可以通过在"触发器"下转到项目的**"设置"➔CI / CD**来添加新**触发器** . **添加触发器**按钮将创建一个新令牌,然后您可以使用该令牌来触发此特定项目管道的重新运行. - -您创建的每个新触发器都会被分配一个不同的令牌,然后您可以在脚本或`.gitlab-ci.yml`使用该令牌. 您还可以很好地了解上一次使用触发器的时间. - -[![Triggers page overview](img/d25fe780083ad8adbc24cf5fcc4feaf8.png)](img/triggers_page.png) - -## Revoking a trigger[](#revoking-a-trigger "Permalink") - -您可以随时通过单击" **触发器"**下项目的**"设置"➔CI / CD**并单击" **撤消"**按钮来**撤消** **触发器** . 动作是不可逆的. - -## Triggering a pipeline[](#triggering-a-pipeline "Permalink") - -> **Notes**: -> -> * 有效的引用只是分支和标签. 如果通过提交 SHA 作为参考,它将不会触发作业. - -要触发作业,您需要向 gitLab 的 API 端点发送`POST`请求: - -``` -POST /projects/:id/trigger/pipeline -``` - -必需的参数是[触发器的`token`](#authentication-tokens)和将在其上执行触发器的 Git `ref` . 有效的引用是分支和标签. 可以通过[查询 API](../../api/projects.html)或访问**CI / CD**设置页面(提供不言自明的示例)来找到项目的`:id` . - -触发管道的重新运行时,该信息会在 GitLab 的 UI 中显示在**Jobs**页面下,并且作业被标记为"由 API 触发". - -[![Marked rebuilds as on jobs page](img/a68a3a59d914e3b3ef4b3cd56a67c1e1.png)](img/builds_page.png) - -* * * - -您可以通过访问单个作业页面查看是哪个触发器导致了重建. 从下图中可以看到,触发器的令牌的一部分显示在 UI 中. - -[![Marked rebuilds as triggered on a single job page](img/74017afb9b6459aed36b4c4a53df62e9.png)](img/trigger_single_build.png) - -* * * - -通过使用 cURL,您可以以最小的努力触发管道重新运行,例如: - -``` -curl --request POST \ - --form token=TOKEN \ - --form ref=master \ - https://gitlab.example.com/api/v4/projects/9/trigger/pipeline -``` - -在这种情况下,ID `9`的项目将在`master`分支上重建. - -或者,您可以在查询字符串中传递`token`和`ref`参数: - -``` -curl --request POST \ - "https://gitlab.example.com/api/v4/projects/9/trigger/pipeline?token=TOKEN&ref=master" -``` - -您还可以在`.gitlab-ci.yml`使用触发器来`.gitlab-ci.yml` . 假设您有两个项目 A 和 B,并且每当在项目 A 上创建标签时,您都希望在项目 B 的`master`分支上触发重建. 这是您需要在项目 A 的`.gitlab-ci.yml`添加的工作: - -``` -build_docs: - stage: deploy - script: - - "curl --request POST --form token=TOKEN --form ref=master https://gitlab.example.com/api/v4/projects/9/trigger/pipeline" - only: - - tags -``` - -这意味着每当在项目 A 上添加新标签时,该作业就会运行,并且`build_docs`作业将被执行,从而触发项目 B 的重建`build_docs` `stage: deploy`确保该作业仅在所有带有`stage: test`作业之后运行成功完成. - -## Triggering a pipeline from a webhook[](#triggering-a-pipeline-from-a-webhook "Permalink") - -版本历史 - -**注意事项** : - -* 在 GitLab 8.14 中引入. -* `ref`应该作为 URL 的一部分传递,以便优先于来自 Webhook 主体的`ref` ,该 Webhook 主体指定了触发源存储库中的触发器的分支 ref. -* `ref`包含斜杠,则应进行 URL 编码. - -要从另一个项目的 Webhook 触发作业,您需要为 Push 和 Tag 事件添加以下 Webhook URL(更改项目 ID,ref 和 token): - -``` -https://gitlab.example.com/api/v4/projects/9/ref/master/trigger/pipeline?token=TOKEN -``` - -## Making use of trigger variables[](#making-use-of-trigger-variables "Permalink") - -您可以在触发器 API 调用中传递任意数量的任意变量,这些变量将在 GitLab CI / CD 中可用,以便可以在您的`.gitlab-ci.yml`文件中使用. 参数的形式为: - -``` -variables[key]=value -``` - -此信息也显示在 UI 中. 请注意,只有所有者和维护者才能看到这些*值* . - -[![Job variables in UI](img/8a6c0fc733a099005b7f7f9bcfbfe2ff.png)](img/trigger_variables.png) - -出于多种原因,使用触发器变量可能被证明是有用的: - -* 可识别的工作. 由于该变量在 UI 中公开,因此您可以通过传递解释目的的变量来知道为什么触发了重建. -* 有条件的作业处理. 您可以让有条件的作业在存在某个变量时运行. - -考虑以下`.gitlab-ci.yml` ,我们在其中设置了三个[阶段](../yaml/README.html#stages) ,仅当测试和构建阶段中的所有作业都通过时, `upload_package`作业才运行. 当`UPLOAD_TO_S3`变量不为零时,运行`make upload` . - -``` -stages: - - test - - build - - package - -run_tests: - stage: test - script: - - make test - -build_package: - stage: build - script: - - make build - -upload_package: - stage: package - script: - - if [ -n "${UPLOAD_TO_S3}" ]; then make upload; fi -``` - -然后,您可以在传递`UPLOAD_TO_S3`变量时触发重建,并且`upload_package`作业的脚本将运行: - -``` -curl --request POST \ - --form token=TOKEN \ - --form ref=master \ - --form "variables[UPLOAD_TO_S3]=true" \ - https://gitlab.example.com/api/v4/projects/9/trigger/pipeline -``` - -触发变量在所有类型的变量中具有[最高优先级](../variables/README.html#priority-of-environment-variables) . - -## Using cron to trigger nightly pipelines[](#using-cron-to-trigger-nightly-pipelines "Permalink") - -> **注意:**以下行为也可以通过 GitLab 的 UI 与[管道计划一起实现](../pipelines/schedules.html) . - -无论您编写脚本还是直接运行 cURL,都可以与 cron 一起触发作业. 以下示例每晚`00:30`在 ID 为`9`的项目的`master`分支上触发一个作业: - -``` -30 0 * * * curl --request POST --form token=TOKEN --form ref=master https://gitlab.example.com/api/v4/projects/9/trigger/pipeline -``` - -## Legacy triggers[](#legacy-triggers "Permalink") - -在 GitLab 9.0 之前创建的旧触发器将被标记为旧触发器. - -具有旧标签的触发器没有关联的用户,只能访问当前项目. 它们被认为已弃用,并将在将来的 GitLab 版本中删除. \ No newline at end of file diff --git a/docs/268.md b/docs/268.md deleted file mode 100644 index fc0ccfc..0000000 --- a/docs/268.md +++ /dev/null @@ -1,261 +0,0 @@ -# Review Apps - -> 原文:[https://docs.gitlab.com/ee/ci/review_apps/](https://docs.gitlab.com/ee/ci/review_apps/) - -* [Introduction](#introduction) -* [How Review Apps work](#how-review-apps-work) -* [Configuring Review Apps](#configuring-review-apps) - * [Enable Review Apps button](#enable-review-apps-button) -* [Review Apps auto-stop](#review-apps-auto-stop) -* [Review Apps examples](#review-apps-examples) -* [Route Maps](#route-maps) - * [Route Maps example](#route-maps-example) -* [Visual Reviews](#visual-reviews-starter) - * [Configuring Visual Reviews](#configuring-visual-reviews) - * [Determining merge request ID](#determining-merge-request-id) - * [Visual Reviews in private or internal projects](#visual-reviews-in-private-or-internal-projects) - * [Using Visual Reviews](#using-visual-reviews) -* [Limitations](#limitations) - -# Review Apps[](#review-apps "Permalink") - -版本历史 - -* 在 GitLab 8.12 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/21971) . 在 GitLab 8.13 和 8.14 中进行了进一步添加. -* 受到[Heroku 的 Review Apps 的](https://devcenter.heroku.com/articles/github-integration-review-apps)启发,该[应用程序](https://devcenter.heroku.com/articles/github-integration-review-apps)本身也受到[Fourchette 的](https://github.com/rainforestapp/fourchette)启发. - -Review Apps 是一种协作工具,可消除提供展示产品更改环境的艰苦工作. - -## Introduction[](#introduction "Permalink") - -查看应用程序: - -* 通过为合并请求扩展动态环境,提供功能分支中所做更改的自动实时预览. -* 允许设计人员和产品经理查看您的更改,而无需检出分支机构并在沙盒环境中运行您的更改. -* 与[GitLab DevOps LifeCycle](../../README.html#the-entire-devops-lifecycle)完全集成. -* 允许您将更改部署到任何地方. - -[![Review Apps Workflow](img/45586bacf83042f9bfcdb01d5576fe3c.png)](img/continuous-delivery-review-apps.svg) - -在上面的示例中: - -* 每次将提交推送到`topic branch`时,都会构建一个 Review App. -* 审阅者在通过第三次审阅之前未通过两次审阅. -* 审核通过后, `topic branch`将合并到`master` `topic branch`中,并在该`topic branch`中进行部署. -* 在阶段中获得批准后,已合并到`master`中的更改将部署到生产中. - -## How Review Apps work[](#how-review-apps-work "Permalink") - -Review App 是分支与[环境](../environments/index.html)的映射. 通过与分支相关的[合并请求](../../user/project/merge_requests.html)上的链接,可以访问 Review App. - -以下是动态设置环境的合并请求的示例. - -[![Review App in merge request](img/a19f68ae0d29248e1f28009bfb10a89a.png)](img/review_apps_preview_in_mr.png) - -在此示例中,分支为: - -* 成功建立. -* 通过单击" **查看应用程序"**按钮可以到达的动态环境中进行部署. - -将 Review Apps 添加到您的工作流后,您将遵循分支的 Git 流. 那是: - -1. 推送一个分支,让 Runner 根据动态环境作业的`script`定义部署 Review App. -2. 等待 Runner 构建和部署您的 Web 应用程序. -3. 单击合并请求中与分支相关的链接,以实时查看更改. - -## Configuring Review Apps[](#configuring-review-apps "Permalink") - -Review Apps 建立在[动态环境上](../environments/index.html#configuring-dynamic-environments) ,可让您为每个分支动态创建一个新环境. - -配置 Review Apps 的过程如下: - -1. 设置基础结构以托管和部署 Review Apps(请查看下面的[示例](#review-apps-examples) ). -2. [安装](https://docs.gitlab.com/runner/install/)并[配置](https://docs.gitlab.com/runner/commands/) Runner 以进行部署. -3. 在`.gitlab-ci.yml`中设置一个作业,该作业使用[预定义的 CI 环境变量](../variables/README.html) `${CI_COMMIT_REF_NAME}`创建动态环境并将其限制为仅在分支上运行. 或者,您可以通过为项目[启用审阅应用程序](#enable-review-apps-button)来获得此工作的 YML 模板. -4. (可选)设置一个作业,以[手动停止](../environments/index.html#stopping-an-environment) Review Apps. - -### Enable Review Apps button[](#enable-review-apps-button "Permalink") - -在 GitLab 12.8 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/118844) . - -为项目配置 Review Apps 时,如上所述,您需要向`.gitlab-ci.yml`添加新作业. 为此,如果您正在使用 Kubernetes,则可以单击**Enable Review Apps**按钮,GitLab 会提示您一个模板代码块,您可以将该模板代码块复制并粘贴到`.gitlab-ci.yml`作为起点. 为此: - -1. 转到要为其创建 Review App 作业的项目. -2. 从左侧导航栏中,转到**运营** > **环境** . -3. 单击**启用审阅应用程序**按钮. 如果您对该项目具有开发人员或更高[权限,则](../../user/permissions.html)可以使用它. -4. 复制提供的代码段并将其粘贴到您的`.gitlab-ci.yml`文件中: - - [![Enable Review Apps modal](img/ced764ccc10657c7f37a1ffe8a7e338a.png)](img/enable_review_app_v12_8.png) - -5. 可以根据自己的需要随意调整此模板. - -## Review Apps auto-stop[](#review-apps-auto-stop "Permalink") - -了解如何在给定的时间段后将[Review Apps 环境配置为过期并自动停止](../environments/index.html#environments-auto-stop) . - -## Review Apps examples[](#review-apps-examples "Permalink") - -以下是演示 Review App 配置的示例项目: - -* [NGINX](https://gitlab.com/gitlab-examples/review-apps-nginx). -* [OpenShift](https://gitlab.com/gitlab-examples/review-apps-openshift). - -评论应用的其他示例: - -* [Cloud Native Development with GitLab](https://www.youtube.com/watch?v=jfIyQEwrocw). -* [Review Apps for Android](https://about.gitlab.com/blog/2020/05/06/how-to-create-review-apps-for-android-with-gitlab-fastlane-and-appetize-dot-io/). - -## Route Maps[](#route-maps "Permalink") - -Introduced in GitLab 8.17\. In GitLab 11.5, the file links are available in the merge request widget. - -借助路线图,您可以直接从源文件进入为 Review Apps 定义的[环境中的](../environments/index.html)公共页面. - -设置完成后,合并请求小部件中的审阅应用程序链接可以直接将您带到更改的页面,从而使预览建议的修改变得更加轻松快捷. - -配置路由图涉及到告诉 GitLab 使用路由图如何将存储库中文件的路径映射到网站上的页面路径. 设置后,GitLab 将**在" ..."**按钮**上**显示" **视图"** ,这将带您进入直接从合并请求更改的页面. - -要设置路线图,请在资源库中的`.gitlab/route-map.yml`添加一个文件,其中包含一个 YAML 数组,该数组将`source`路径(资源库中)映射到`public`路径(网站上). - -### Route Maps example[](#route-maps-example "Permalink") - -以下是[Middleman](https://middlemanapp.com)路线图的示例, [Middleman](https://middlemanapp.com)是用于构建[GitLab 网站](https://about.gitlab.com)的静态站点生成器(SSG),是从其[在 GitLab.com 上的项目](https://gitlab.com/gitlab-com/www-gitlab-com)部署的: - -``` -# Team data -- source: 'data/team.yml' # data/team.yml - public: 'team/' # team/ - -# Blogposts -- source: /source\/posts\/([0-9]{4})-([0-9]{2})-([0-9]{2})-(.+?)\..*/ # source/posts/2017-01-30-around-the-world-in-6-releases.html.md.erb - public: '\1/\2/\3/\4/' # 2017/01/30/around-the-world-in-6-releases/ - -# HTML files -- source: /source\/(.+?\.html).*/ # source/index.html.haml - public: '\1' # index.html - -# Other files -- source: /source\/(.*)/ # source/images/blogimages/around-the-world-in-6-releases-cover.png - public: '\1' # images/blogimages/around-the-world-in-6-releases-cover.png -``` - -映射定义为根 YAML 数组中的条目,并以`-`前缀标识. 在一个条目中,有一个带有两个键的哈希映射: - -* `source` - * 完全匹配的字符串,以`'`开头和结尾. - * 正则表达式,以`/`开头和结尾,用于模式匹配: - * 正则表达式需要匹配整个源路径-隐含`^`和`$`锚. - * 可以包括由`()`表示的捕获组,这些捕获组可以在`public`路径中引用. - * 斜杠( `/` )可以但不必转为`\/` . - * 文字句号( `.` )应转为`\.` . -* `public` ,一个以`'`开头和结尾的字符串. - * 可以包含`\N`表达式,从`source`正则表达式开始,以其出现的顺序引用捕获组,从`\1`开始. - -通过找到与之匹配的第一个`source`表达式,然后返回相应的`public`路径,并用`()`捕获组的值替换`\N`表达式,来确定源路径的`public`路径. - -在上面的示例中,按照定义顺序对映射进行求值的事实用于确保`source/index.html.haml`将匹配`/source\/(.+?\.html).*/`而不是`/source\/(.*)/` ,并将导致`index.html`的公共路径,而不是`index.html.haml` . - -设置路由映射后,它将在以下位置生效: - -* 在合并请求小部件中. 该: - * **"查看应用程序"**按钮将带您进入`.gitlab-ci.yml`设置的环境 URL. - * 下拉菜单将列出路线图中的前 5 个匹配项,但如果有 5 个以上可用项,则可以对其进行过滤. - - [![在合并请求小部件中查看应用程序文件列表](img/738413ec37e13f47706eeda5de3b9dfb.png)](img/view_on_mr_widget.png) - -* 在差异中进行合并请求,比较或提交. - - [!["View on env" button in merge request diff](img/ed8e7e034537074afe857aa208bd315c.png)](img/view_on_env_mr.png) - -* 在 Blob 文件视图中. - - [!["View on env" button in file view](img/1bb73cd8d699dd8fa617c328abafb76b.png)](img/view_on_env_blob.png) - -## Visual Reviews[](#visual-reviews-starter "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/10761) in GitLab Starter 12.0. - -使用视觉评论,您可以向您的评论应用程序提供反馈表单,以便评论者可以将评论直接从应用程序发布回产生评论应用程序的合并请求. - -### Configuring Visual Reviews[](#configuring-visual-reviews "Permalink") - -确保启用了`anonymous_visual_review_feedback`功能标志. 管理员可以使用 Rails 控制台启用,如下所示: - -``` -Feature.enable(:anonymous_visual_review_feedback) -``` - -反馈表单是通过您添加到 Review App 中页面的脚本提供的. 如果您拥有该项目的[开发人员权限](../../user/permissions.html) ,则可以通过单击合并请求的" **管道"**部分中的" **查看"**按钮来访问它. 如果在项目中配置了[路线图,](#route-maps)则表格模式还将显示更改页面的下拉列表. - -[![review button](img/4feb8b1885ea3a6c0945d7d32d15e8ff.png)](img/review_button.png) - -提供的脚本应添加到应用程序的``中,并由一些项目和合并请求特定的值组成. 看起来是这样的: - -``` - -``` - -理想情况下,创建每个审阅应用程序时,应在运行时使用[环境变量](../variables/predefined_variables.html)替换这些值: - -* `data-project-id`是项目 ID,可通过`CI_PROJECT_ID`变量找到. -* `data-merge-request-id`是合并请求 ID,可以通过`CI_MERGE_REQUEST_IID`变量找到它. `CI_MERGE_REQUEST_IID`仅当[`only: [merge_requests]`](../merge_request_pipelines/index.html)被使用并且在创建合并请求. -* `data-mr-url`是 GitLab 实例的 URL,并且对于所有评论应用程序都是相同的. -* `data-project-path`是项目的路径,可以通过`CI_PROJECT_PATH`找到. -* `data-require-auth`对于公共项目是可选的,但对于[私有和内部](#visual-reviews-in-private-or-internal-projects)项目则是必需[的](#visual-reviews-in-private-or-internal-projects) . 如果将其设置为`true` ,则将要求用户输入其[个人访问令牌,](../../user/profile/personal_access_tokens.html)而不是其名称和电子邮件. -* `id`始终是`review-app-toolbar-script` ,您无需更改它. -* `src`是审阅工具栏脚本的源代码,该脚本位于相应的 GitLab 实例中,并且对于所有审阅应用程序都是相同的. - -例如,在 Ruby 应用程序中,您需要具有以下脚本: - -``` - -``` - -然后,当通过 GitLab CI / CD 部署您的应用程序时,这些变量应替换为其实际值. - -### Determining merge request ID[](#determining-merge-request-id "Permalink") - -视觉审核工具从`script` HTML 标签中包含的`data-merge-request-id`数据属性中检索合并请求 ID,该`script` HTML 标签用于将视觉审核工具添加到您的审核应用中. - -确定合并请求以链接到可视评论应用程序的 ID 后,您可以通过以下任一方式提供 ID: - -* 通过应用程序的数据属性`data-merge-request-id`在 script 标签中对其进行硬编码. -* 在应用程序的构建过程中动态添加`data-merge-request-id`值. -* 通过应用中的视觉查看表单手动提供. - -### Visual Reviews in private or internal projects[](#visual-reviews-in-private-or-internal-projects "Permalink") - -在 GitLab 12.10 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/42750#note_317271120) . - -要对私有项目和内部项目启用可视化审阅,请将[`data-require-auth`变量设置](#configuring-visual-reviews)为`true` . 启用后,用户必须输入具有`api`范围的[个人访问令牌](../../user/profile/personal_access_tokens.html) ,然后才能提交反馈. - -### Using Visual Reviews[](#using-visual-reviews "Permalink") - -在为"评论"应用程序[启用](#configuring-visual-reviews) "视觉评论"后,"视觉评论"反馈表单将覆盖在应用程序页面的右下角. - -[![Visual review feedback form](img/482b8e23d226428516ae20fae41ca7cf.png)](img/toolbar_feeback_form.png) - -要使用反馈表: - -1. 对视觉评论发表评论. 您可以使用合并请求注释中所有可用的[Markdown 注释](../../user/markdown.html) . -2. 如果`data-require-auth`为`true` ,则必须输入[个人访问令牌](../../user/profile/personal_access_tokens.html) . 否则,您必须输入您的姓名,以及可选的电子邮件地址. -3. 最后,点击**发送反馈** . - -在视觉检查框中做出评论并提交评论后,评论将自动出现在相应的合并请求中. - -## Limitations[](#limitations "Permalink") - -Review App 限制与[环境限制](../environments/index.html#limitations)相同. \ No newline at end of file diff --git a/docs/269.md b/docs/269.md deleted file mode 100644 index 40fb962..0000000 --- a/docs/269.md +++ /dev/null @@ -1,401 +0,0 @@ -# Configuring GitLab Runners - -> 原文:[https://docs.gitlab.com/ee/ci/runners/README.html](https://docs.gitlab.com/ee/ci/runners/README.html) - -* [Types of Runners](#types-of-runners) - * [Shared Runners](#shared-runners) - * [How shared Runners pick jobs](#how-shared-runners-pick-jobs) - * [Enable shared Runners](#enable-shared-runners) - * [Disable shared Runners](#disable-shared-runners) - * [Group Runners](#group-runners) - * [Create a group Runner](#create-a-group-runner) - * [View and manage group Runners](#view-and-manage-group-runners) - * [Pause or remove a group Runner](#pause-or-remove-a-group-runner) - * [Specific Runners](#specific-runners) - * [Create a specific Runner](#create-a-specific-runner) - * [Enable a specific Runner for a specific project](#enable-a-specific-runner-for-a-specific-project) - * [Prevent a specific Runner from being enabled for other projects](#prevent-a-specific-runner-from-being-enabled-for-other-projects) -* [Manually clear the Runner cache](#manually-clear-the-runner-cache) -* [Set maximum job timeout for a Runner](#set-maximum-job-timeout-for-a-runner) -* [Be careful with sensitive information](#be-careful-with-sensitive-information) - * [Prevent Runners from revealing sensitive information](#prevent-runners-from-revealing-sensitive-information) - * [Forks](#forks) - * [Attack vectors in Runners](#attack-vectors-in-runners) - * [Reset the Runner registration token for a project](#reset-the-runner-registration-token-for-a-project) -* [Determine the IP address of a Runner](#determine-the-ip-address-of-a-runner) - * [Determine the IP address of a shared Runner](#determine-the-ip-address-of-a-shared-runner) - * [Determine the IP address of a specific Runner](#determine-the-ip-address-of-a-specific-runner) -* [Use tags to limit the number of jobs using the Runner](#use-tags-to-limit-the-number-of-jobs-using-the-runner) - * [Runner runs only tagged jobs](#runner-runs-only-tagged-jobs) - * [Runner is allowed to run untagged jobs](#runner-is-allowed-to-run-untagged-jobs) - -# Configuring GitLab Runners[](#configuring-gitlab-runners "Permalink") - -在 GitLab CI / CD 中,运行程序运行[`.gitlab-ci.yml`](../yaml/README.html)定义的代码. GitLab Runner 是一种轻量级,高度可扩展的代理,它通过 GitLab CI / CD 的协调器 API 提取 CI 作业,运行该作业,并将结果发送回 GitLab 实例. - -运行程序由管理员创建,并在 GitLab UI 中可见. 运行者可以特定于某些项目,也可以适用于所有项目. - -## Types of Runners[](#types-of-runners "Permalink") - -跑步者共有三种类型: - -* [共享](#shared-runners) (对于所有项目) -* [组](#group-runners) (对于[组](#group-runners)中的所有项目) -* [具体](#specific-runners) (针对特定项目) - -如果您正在运行自我管理的 GitLab,则可以创建自己的 Runners. - -如果使用的是 GitLab.com,则可以使用 GitLab 提供的共享运行程序,也可以创建自己的组或特定运行程序. - -### Shared Runners[](#shared-runners "Permalink") - -GitLab 实例中的每个项目都可以使用*共享运行器* . - -当您有多个要求相似的作业时,请使用共享的运行器. 您可以让几个处理多个项目的 Runner 而不是让多个 Runner 空闲多个项目. - -如果您使用的是 GitLab 的自我管理实例: - -* 您的管理员可以通过查看[此处](https://docs.gitlab.com/runner/install/index.html)的说明来安装和注册共享运行程序. -* 管理员还可[以为每个组](../../user/admin_area/settings/continuous_integration.html#shared-runners-pipeline-minutes-quota-starter-only)配置最大的共享 Runner [管道分钟数](../../user/admin_area/settings/continuous_integration.html#shared-runners-pipeline-minutes-quota-starter-only) . - -如果您使用的是 GitLab.com: - -* 您可以从[GitLab 维护](../../user/gitlab_com/index.html#shared-runners)的[共享运行程序](../../user/gitlab_com/index.html#shared-runners)列表中进行选择. -* 共享的跑步者会消耗您帐户中包含的[管道分钟](../../subscriptions/index.html#ci-pipeline-minutes) . - -#### How shared Runners pick jobs[](#how-shared-runners-pick-jobs "Permalink") - -共享运行者通过使用合理使用队列来处理作业. 此队列可防止项目创建数百个作业并使用所有可用的共享 Runner 资源. - -合理使用队列算法根据已在共享 Runner 上运行的作业数量最少的项目分配作业. - -**Example 1** - -如果这些作业在队列中: - -* 项目 1 的工作 1 -* 项目 1 的工作 2 -* 项目 1 的工作 3 -* 项目 2 的工作 4 -* 项目 2 的工作 5 -* 项目 3 的工作 6 - -合理使用算法按以下顺序分配作业: - -1. 首先选择作业 1,因为它在没有正在运行的作业的项目(即所有项目)中具有最低的作业编号. -2. 接下来是作业 4,因为现在 4 是来自没有正在运行的作业的项目中最低的作业编号(项目 1 有正在运行的作业). -3. 接下来是作业 6,因为 6 现在是没有正在运行的作业的项目中最低的作业编号(项目 1 和 2 有正在运行的作业). -4. 接下来是作业 2,因为在运行的作业数量最少的项目(每个都有 1)中,它是最低的作业数量. -5. 接下来是作业 5,因为项目 1 现在有 2 个正在运行的作业,而作业 5 是项目 2 和项目 3 之间剩余的最低编号. -6. 最后是工作 3…,因为这是剩下的唯一工作. - -* * * - -**例子 2** - -如果这些作业在队列中: - -* 项目 1 的工作 1 -* 项目 1 的工作 2 -* 项目 1 的工作 3 -* 项目 2 的工作 4 -* 项目 2 的工作 5 -* 项目 3 的工作 6 - -合理使用算法按以下顺序分配作业: - -1. 首先选择作业 1,因为它在没有正在运行的作业的项目(即所有项目)中具有最低的作业编号. -2. 我们完成工作 1. -3. 接下来是作业 2,因为完成作业 1 后,所有项目都再次运行 0 个作业,而 2 是最低的可用作业号. -4. 接下来是作业 4,因为在项目 1 运行作业的情况下,项目 4 在没有运行作业的项目(项目 2 和 3)中是最低的. -5. 我们完成工作 4. -6. 接下来是作业 5,因为完成了作业 4,所以项目 2 没有再次运行的作业. -7. 接下来是作业 6,因为项目 3 是唯一没有运行作业的项目. -8. 最后,我们选择作业 3…,因为它再次是唯一剩下的作业. - -#### Enable shared Runners[](#enable-shared-runners "Permalink") - -在 GitLab.com 上,默认情况下在所有项目中启用[共享运行器](#shared-runners) . - -On self-managed instances of GitLab, an administrator must [install](https://docs.gitlab.com/runner/install/index.html) and [register](https://docs.gitlab.com/runner/register/index.html) them. - -您还可以为单个项目启用共享运行器. - -要启用共享跑步者: - -1. 转到项目的 **设置> CI / CD,**然后展开" **跑步者"**部分. -2. Click **允许共享跑步者**. - -#### Disable shared Runners[](#disable-shared-runners "Permalink") - -您可以为单个项目禁用共享运行器. 您必须具有项目的所有者权限. - -要为项目禁用共享运行器: - -1. 转到项目的 **设置> CI / CD,**然后展开" **跑步者"**部分. -2. 在" **共享运行程序"**区域中,单击" **禁用共享运行程序"** . - -### Group Runners[](#group-runners "Permalink") - -当您希望组中的所有项目都可以访问一组运行器时,请使用" *组运行器"* . - -Group Runners process jobs by using a first in, first out ([FIFO](https://en.wikipedia.org/wiki/FIFO_(computing_and_electronics))) queue. - -#### Create a group Runner[](#create-a-group-runner "Permalink") - -您可以为自己管理的 GitLab 实例或 GitLab.com 创建一个组 Runner. 您必须具有该组的[所有者权限](../../user/permissions.html#group-members-permissions) . - -创建组跑步者: - -1. [Install Runner](https://docs.gitlab.com/runner/install/). -2. 转到您要使 Runner 运行的组. -3. 去 **设置> CI / CD,**然后展开" **跑步者"**部分. -4. 注意 URL 和令牌. -5. [Register the Runner](https://docs.gitlab.com/runner/register/). - -#### View and manage group Runners[](#view-and-manage-group-runners "Permalink") - -在 GitLab 13.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/37366/) . - -您可以查看和管理组,其子组和项目的所有运行器. 您可以为自己管理的 GitLab 实例或 GitLab.com 执行此操作. 您必须具有该组的[所有者权限](../../user/permissions.html#group-members-permissions) . - -1. 转到要查看跑步者的组. -2. 去 **设置> CI / CD,**然后展开" **跑步者"**部分. -3. 显示以下字段. - - | Attribute | Description | - | --- | --- | - | Type | 以下一种或多种状态:共享,组,特定,锁定或暂停 | - | 赛跑者令牌 | 令牌用于标识 Runner,并且 Runner 用于与 GitLab 实例进行通信 | - | Description | 创建跑步者时的描述 | - | Version | GitLab Runner 版本 | - | IP 地址 | 注册了运行程序的主机的 IP 地址 | - | Projects | Runner 分配到的项目数 | - | Jobs | 跑步者所从事的工作总数 | - | Tags | 与跑步者相关的标签 | - | 最后联络人 | 指示 GitLab 实例最后一次与 Runner 联系的时间戳 | - -在此页面上,您可以编辑,暂停和从组,其子组和项目中删除"跑步者". - -#### Pause or remove a group Runner[](#pause-or-remove-a-group-runner "Permalink") - -您可以为自己管理的 GitLab 实例或 GitLab.com 暂停或删除组运行器. 您必须具有该组的[所有者权限](../../user/permissions.html#group-members-permissions) . - -1. 转到您要删除或暂停 Runner 的组. -2. 去 **设置> CI / CD,**然后展开" **跑步者"**部分. -3. Click **Pause** or **删除亚军**. - * 如果您暂停由多个项目使用的组 Runner,则 Runner 会暂停所有项目. - * 从组视图中,您无法删除分配给多个项目的运行器. 您必须先从每个项目中将其删除. -4. 在确认对话框中,单击**确定** . - -### Specific Runners[](#specific-runners "Permalink") - -当你想使用运动员的具体项目使用*特定的运动员* . 例如,当您拥有: - -* 有特定要求的作业,例如需要凭据的部署作业. -* CI 活动很多的项目可以从与其他运行者分离中受益. - -您可以设置一个特定的 Runner,以供多个项目使用. 必须为每个项目明确启用特定的运行器. - -特定运行程序通过使用[先进先出](https://en.wikipedia.org/wiki/FIFO_(computing_and_electronics)) ( [FIFO](https://en.wikipedia.org/wiki/FIFO_(computing_and_electronics)) )队列来处理作业. - -**注意:**特定运行器不会自动与分支项目共享. 分支*确实会*复制克隆存储库的 CI / CD 设置. - -#### Create a specific Runner[](#create-a-specific-runner "Permalink") - -您可以为自己管理的 GitLab 实例或 GitLab.com 创建特定的 Runner. 您必须具有项目的[所有者权限](../../user/permissions.html#project-members-permissions) . - -要创建特定的运行器: - -1. [Install Runner](https://docs.gitlab.com/runner/install/). -2. 转到项目的 **设置> CI / CD,**然后展开" **跑步者"**部分. -3. 注意 URL 和令牌. -4. [Register the Runner](https://docs.gitlab.com/runner/register/). - -#### Enable a specific Runner for a specific project[](#enable-a-specific-runner-for-a-specific-project "Permalink") - -在为其创建的项目中提供了特定的 Runner. 管理员可以使特定的 Runner 应用于其他项目. - -* 您必须具有项目的所有者权限. -* 特定的跑步者一定不能被[锁定](#prevent-a-specific-runner-from-being-enabled-for-other-projects) . - -要为项目启用或禁用特定的运行器: - -1. 转到项目的 **设置> CI / CD,**然后展开" **跑步者"**部分. -2. Click **为此项目启用** or **为此项目禁用**. - -#### Prevent a specific Runner from being enabled for other projects[](#prevent-a-specific-runner-from-being-enabled-for-other-projects "Permalink") - -您可以配置一个特定的运行器,使其"锁定"并且不能为其他项目启用. 首次[注册 Runner](https://docs.gitlab.com/runner/register/)时可以启用此设置,但以后也可以更改. - -锁定或解锁跑步者: - -1. 转到项目的 **设置> CI / CD,**然后展开" **跑步者"**部分. -2. 找到您想要锁定或解锁的亚军. 确保已启用. -3. 单击铅笔按钮. -4. 选中" **锁定到当前项目"**选项. -5. Click **保存更改**. - -## Manually clear the Runner cache[](#manually-clear-the-runner-cache "Permalink") - -Read [clearing the cache](../caching/index.html#clearing-the-cache). - -## Set maximum job timeout for a Runner[](#set-maximum-job-timeout-for-a-runner "Permalink") - -对于每个跑步者,您可以指定*最大作业超时时间* . 如果此超时时间小于[项目定义的超时时间](../pipelines/settings.html#timeout) ,则优先. - -此功能可用于防止共享的 Runner 被具有较长超时(例如,一个星期)的工作的项目淹没. - -未配置时,Runner 将不会覆盖项目超时. - -此功能的工作原理: - -**示例 1-运行程序超时大于项目超时** - -1. 您将跑步者的*最大作业超时*设置为 24 小时 -2. 您将项目的*CI / CD 超时*设置为**2 小时** -3. 你开始工作 -4. 如果工作时间更长,则**2 小时**后将超时 - -**示例 2-未配置运行程序超时** - -1. 您从运行器中删除*最大作业超时*配置 -2. 您将项目的*CI / CD 超时*设置为**2 小时** -3. 你开始工作 -4. 如果工作时间更长,则**2 小时**后将超时 - -**示例 3-运行程序超时小于项目超时** - -1. 您将跑步者的*最大作业超时*设置为**30 分钟** -2. 您将项目的*CI / CD 超时*设置为 2 小时 -3. 你开始工作 -4. 如果作业时间更长,则**30 分钟**后将超时 - -## Be careful with sensitive information[](#be-careful-with-sensitive-information "Permalink") - -使用某些[Runner Executors](https://docs.gitlab.com/runner/executors/README.html) ,如果可以在 Runner 上运行作业,则可以完全访问文件系统,从而可以运行该文件的任何代码以及 Runner 的令牌. 使用共享的运行程序,这意味着在运行程序上运行作业的任何人都可以访问在运行程序上运行的任何其他人的代码. - -另外,由于您可以访问 Runner 令牌,因此可以创建 Runner 的克隆并提交错误的作业. - -通过限制在大型公共 GitLab 实例上共享[Runner 的](https://docs.gitlab.com/runner/executors/README.html)使用,控制对 GitLab 实例的访问以及使用更安全的[Runner Executor](https://docs.gitlab.com/runner/executors/README.html) ,可以轻松避免上述情况. - -### Prevent Runners from revealing sensitive information[](#prevent-runners-from-revealing-sensitive-information "Permalink") - -在 GitLab 10.0 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13194) . - -您可以保护赛跑者,使他们不会泄露敏感信息. 当运行器受到保护时,运行器仅选择在[受保护分支](../../user/project/protected_branches.html)或[受保护标签](../../user/project/protected_tags.html)上创建的作业,而忽略其他作业. - -保护或取消保护跑步者: - -1. 转到项目的 **设置> CI / CD,**然后展开" **跑步者"**部分. -2. 找到您要保护或取消保护的跑步者. 确保已启用. -3. 单击铅笔按钮. -4. 检查**受保护的**选项. -5. Click **保存更改**. - -[![specific Runners edit icon](img/91abd5be225ec3a5c131075cce857fb8.png)](img/protected_runners_check_box.png) - -### Forks[](#forks "Permalink") - -每当分支一个项目时,它都会复制与其相关的作业的设置. 这意味着,如果您已经为项目设置了共享的 Runners,并且有人分叉了该项目,则共享的 Runners 也将为该项目的工作提供服务. - -### Attack vectors in Runners[](#attack-vectors-in-runners "Permalink") - -前面已经简要提到过,但是可以利用 Runners 的以下功能. 我们一直在寻找可以减轻这些[安全注意事项的因素](https://docs.gitlab.com/runner/security/) . - -### Reset the Runner registration token for a project[](#reset-the-runner-registration-token-for-a-project "Permalink") - -如果您认为某个项目的注册令牌已公开,则应将其重置. 令牌可用于为该项目注册另一个 Runner. 然后可以使用该新 Runner 来获取秘密变量的值或克隆项目代码. - -重置令牌: - -1. 转到项目的 **设置> CI / CD** . -2. 展开**常规管道设置**部分. -3. 找到" **跑步者令牌"**表单字段,然后单击" **显示值"**按钮. -4. 删除值并保存表单. -5. 刷新页面后,展开" **跑步者设置"**部分并检查注册令牌-应该更改它. - -从现在开始,旧令牌将不再有效,并且不会在项目中注册任何新的运行者. 如果您使用任何工具来供应和注册新的运行器,则应更新这些工具中使用的令牌以反映新令牌的价值. - -## Determine the IP address of a Runner[](#determine-the-ip-address-of-a-runner "Permalink") - -在 GitLab 10.6 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17286) . - -知道 Runner 的 IP 地址可能很有用,以便您可以解决该 Runner 的问题. GitLab 通过在轮询作业时查看向 GitLab 发出的 HTTP 请求的源来存储和显示 IP 地址. IP 地址始终保持最新,因此,如果 Runner IP 更改,它将在 GitLab 中自动更新. - -共享运行程序和特定运行程序的 IP 地址可以在不同位置找到. - -### Determine the IP address of a shared Runner[](#determine-the-ip-address-of-a-shared-runner "Permalink") - -要查看共享运行器的 IP 地址,您必须具有对 GitLab 实例的管理员访问权限. 要确定这一点: - -1. Visit **管理区域>概述>跑步者**. -2. 在表中查找 Runner,您应该看到**IP Address**列. - -[![shared Runner IP address](img/d0b0b1ad83988d76ef9c42281782f961.png)](img/shared_runner_ip_address.png) - -### Determine the IP address of a specific Runner[](#determine-the-ip-address-of-a-specific-runner "Permalink") - -若要查找特定项目的运行程序的 IP 地址,您必须具有该项目的所有者[权限](../../user/permissions.html#project-members-permissions) . - -1. 转到项目的 **设置> CI / CD,**然后展开" **跑步者"**部分. -2. 在详细信息页面上,您应该看到**IP 地址**行. - -[![specific Runner IP address](img/b6c59d6785a7941658315a7e8e148751.png)](img/specific_runner_ip_address.png) - -## Use tags to limit the number of jobs using the Runner[](#use-tags-to-limit-the-number-of-jobs-using-the-runner "Permalink") - -您必须设置一个 Runner 才能运行它在共享项目上可能遇到的所有不同类型的作业. 如果不是标签,这对于大量项目将是有问题的. - -通过将 Runner 标记为它可以处理的作业类型,可以确保共享的 Runners [仅运行其能够运行的作业](../yaml/README.html#tags) . - -例如,在 GitLab 上,如果 Runners 包含运行 Rails 测试套件的适当依赖项,我们会将它们标记为`rails` . - -[注册 Runner 时](https://docs.gitlab.com/runner/register/) ,其默认行为是**仅选择带** [标签的作业](../yaml/README.html#tags) . 要更改此设置,您必须具有项目的所有者[权限](../../user/permissions.html#project-members-permissions) . - -要使跑步者选择无标签的工作,请执行以下操作: - -1. 转到项目的 **设置> CI / CD,**然后展开" **跑步者"**部分. -2. 找到您要选择未加标签的作业的 Runner,并确保已启用它. -3. 单击铅笔按钮. -4. 选中**运行未加标签的作业**选项. -5. 单击**保存更改**按钮以使更改生效. - -**注意:**不允许选择未标记的作业时,"运行者标签"列表不能为空. - -以下是一些不同变化的示例场景. - -### Runner runs only tagged jobs[](#runner-runs-only-tagged-jobs "Permalink") - -以下示例说明了将 Runner 设置为仅运行带标签的作业的潜在影响. - -范例 1: - -1. Runner 配置为仅运行带标签的作业,并具有`docker`标签. -2. 具有`hello`标签的作业将被执行并卡住. - -Example 2: - -1. Runner 配置为仅运行带标签的作业,并具有`docker`标签. -2. 具有`docker`标签的作业将被执行并运行. - -范例 3: - -1. Runner 配置为仅运行带标签的作业,并具有`docker`标签. -2. 没有定义标签的作业将被执行并卡住. - -### Runner is allowed to run untagged jobs[](#runner-is-allowed-to-run-untagged-jobs "Permalink") - -以下示例说明了将 Runner 设置为运行带标签和未带标签的作业的潜在影响. - -范例 1: - -1. Runner 配置为运行未加标签的作业,并具有`docker`标签. -2. 没有定义标签的作业将被执行并运行. -3. 执行并运行定义了`docker`标签的第二项作业. - -范例 2: - -1. Runner 配置为运行未加标签的作业,并且未定义标签. -2. 没有定义标签的作业将被执行并运行. -3. 卡有定义了`docker`标签的第二项工作. \ No newline at end of file diff --git a/docs/270.md b/docs/270.md deleted file mode 100644 index 60d7553..0000000 --- a/docs/270.md +++ /dev/null @@ -1,13 +0,0 @@ -# GitLab CI services examples - -> 原文:[https://docs.gitlab.com/ee/ci/services/README.html](https://docs.gitlab.com/ee/ci/services/README.html) - -# GitLab CI services examples[](#gitlab-ci-services-examples "Permalink") - -[`services`](../docker/using_docker_images.html#what-is-a-service)关键字定义了一个 Docker 映像,该映像在与 image 关键字定义的 Docker 映像链接的`job`中运行. 这样,您就可以在构建期间访问服务映像. - -服务映像可以运行任何应用程序,但是最常见的用例是运行数据库容器,例如: - -* [Using MySQL](mysql.html) -* [Using PostgreSQL](postgres.html) -* [Using Redis](redis.html) \ No newline at end of file diff --git a/docs/271.md b/docs/271.md deleted file mode 100644 index 0283112..0000000 --- a/docs/271.md +++ /dev/null @@ -1,111 +0,0 @@ -# Using MySQL - -> 原文:[https://docs.gitlab.com/ee/ci/services/mysql.html](https://docs.gitlab.com/ee/ci/services/mysql.html) - -* [Use MySQL with the Docker executor](#use-mysql-with-the-docker-executor) -* [Use MySQL with the Shell executor](#use-mysql-with-the-shell-executor) -* [Example project](#example-project) - -# Using MySQL[](#using-mysql "Permalink") - -由于许多应用程序都依赖 MySQL 作为其数据库,因此最终需要它才能运行测试. 下面将指导您如何使用 GitLab Runner 的 Docker 和 Shell 执行程序执行此操作. - -## Use MySQL with the Docker executor[](#use-mysql-with-the-docker-executor "Permalink") - -如果您将[GitLab Runner](../runners/README.html)与 Docker 执行程序一起使用,则基本上已经完成了所有设置. - -First, in your `.gitlab-ci.yml` add: - -``` -services: - - mysql:latest - -variables: - # Configure mysql environment variables (https://hub.docker.com/_/mysql/) - MYSQL_DATABASE: "" - MYSQL_ROOT_PASSWORD: "" -``` - -**注意:**无法在 GitLab UI 中设置`MYSQL_DATABASE`和`MYSQL_ROOT_PASSWORD`变量. 要设置它们,请将它们分配给[UI 中](../variables/README.html#create-a-custom-variable-in-the-ui)的变量,然后将该变量分配给`.gitlab-ci.yml`的`MYSQL_DATABASE`和`MYSQL_ROOT_PASSWORD`变量. - -然后将您的应用程序配置为使用数据库,例如: - -``` -Host: mysql -User: root -Password: -Database: -``` - -如果您想知道为什么我们对`Host`使用`mysql` ,请阅读[如何将服务链接到作业的更多信息](../docker/using_docker_images.html#how-services-are-linked-to-the-job) . - -您还可以使用[Docker Hub](https://hub.docker.com/_/mysql/)上可用的任何其他 Docker 映像. 例如,要使用 MySQL 5.5,服务将变为`mysql:5.5` . - -`mysql`映像可以接受一些环境变量. 有关更多详细信息,请参阅[Docker Hub](https://hub.docker.com/_/mysql/)上的文档. - -## Use MySQL with the Shell executor[](#use-mysql-with-the-shell-executor "Permalink") - -您还可以在手动配置的服务器上使用 MySQL,该服务器通过 Shell 执行程序使用 GitLab Runner. - -首先安装 MySQL 服务器: - -``` -sudo apt-get install -y mysql-server mysql-client libmysqlclient-dev -``` - -选择一个 MySQL 根密码(可以是任何密码),并在询问时键入两次. - -*注意:作为一项安全措施,您可以运行`mysql_secure_installation`删除匿名用户,删除测试数据库并以 root 用户禁用远程登录.* - -下一步是创建用户,因此以 root 用户身份登录 MySQL: - -``` -mysql -u root -p -``` - -然后创建一个将由您的应用程序使用的用户(在我们的示例中为`runner` ). 将以下命令中的`$password`更改`$password`真实的强密码. - -*注意:请勿键入`mysql>` ,这是 MySQL 提示符的一部分.* - -``` -mysql> CREATE USER 'runner'@'localhost' IDENTIFIED BY '$password'; -``` - -创建数据库: - -``` -mysql> CREATE DATABASE IF NOT EXISTS `` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`; -``` - -授予对数据库的必要权限: - -``` -mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, CREATE TEMPORARY TABLES, DROP, INDEX, ALTER, LOCK TABLES ON ``.* TO 'runner'@'localhost'; -``` - -如果一切顺利,您现在可以退出数据库会话: - -``` -mysql> \q -``` - -现在,尝试连接到新创建的数据库以检查一切是否就绪: - -``` -mysql -u runner -p -D -``` - -最后,配置您的应用程序以使用数据库,例如: - -``` -Host: localhost -User: runner -Password: $password -Database: -``` - -## Example project[](#example-project "Permalink") - -为了方便起见,我们使用公共可[共享的](../runners/README.html)运行程序在[GitLab.com](https://gitlab.com)上运行了一个[MySQL 示例项目](https://gitlab.com/gitlab-examples/mysql) . - -想要破解吗? 只需对其进行分叉,提交并推送您的更改. 稍后,公共跑步者将选择更改并开始工作. \ No newline at end of file diff --git a/docs/272.md b/docs/272.md deleted file mode 100644 index 9e1748a..0000000 --- a/docs/272.md +++ /dev/null @@ -1,106 +0,0 @@ -# Using PostgreSQL - -> 原文:[https://docs.gitlab.com/ee/ci/services/postgres.html](https://docs.gitlab.com/ee/ci/services/postgres.html) - -* [Use PostgreSQL with the Docker executor](#use-postgresql-with-the-docker-executor) -* [Use PostgreSQL with the Shell executor](#use-postgresql-with-the-shell-executor) -* [Example project](#example-project) - -# Using PostgreSQL[](#using-postgresql "Permalink") - -由于许多应用程序都依赖 PostgreSQL 作为其数据库,因此最终需要它才能运行测试. 下面将指导您如何使用 GitLab Runner 的 Docker 和 Shell 执行程序执行此操作. - -## Use PostgreSQL with the Docker executor[](#use-postgresql-with-the-docker-executor "Permalink") - -如果您将[GitLab Runner](../runners/README.html)与 Docker 执行程序一起使用,则基本上已经完成了所有设置. - -首先,在您的`.gitlab-ci.yml`添加: - -``` -services: - - postgres:12.2-alpine - -variables: - POSTGRES_DB: nice_marmot - POSTGRES_USER: runner - POSTGRES_PASSWORD: "" - POSTGRES_HOST_AUTH_METHOD: trust -``` - -**注意:**不能在 GitLab UI 中设置`POSTGRES_DB` , `POSTGRES_USER` , `POSTGRES_PASSWORD`和`POSTGRES_HOST_AUTH_METHOD`变量. 要设置它们,请将它们分配给[UI 中](../variables/README.html#create-a-custom-variable-in-the-ui)的变量,然后将该变量分配给`.gitlab-ci.yml`的`POSTGRES_DB` , `POSTGRES_USER` , `POSTGRES_PASSWORD`和`POSTGRES_HOST_AUTH_METHOD`变量. - -然后将您的应用程序配置为使用数据库,例如: - -``` -Host: postgres -User: runner -Password: '' -Database: nice_marmot -``` - -如果您想知道为什么我们对`Host`使用`postgres` ,请阅读[如何将服务链接到作业的更多信息](../docker/using_docker_images.html#how-services-are-linked-to-the-job) . - -您还可以使用[Docker Hub](https://hub.docker.com/_/postgres)上可用的任何其他 Docker 映像. 例如,要使用 PostgreSQL 9.3,服务将变为`postgres:9.3` . - -`postgres`图像可以接受一些环境变量. 有关更多详细信息,请参阅[Docker Hub](https://hub.docker.com/_/postgres)上的文档. - -## Use PostgreSQL with the Shell executor[](#use-postgresql-with-the-shell-executor "Permalink") - -您还可以在手动配置的服务器上使用 PostgreSQL,这些服务器将 GitLab Runner 与 Shell 执行程序一起使用. - -首先安装 PostgreSQL 服务器: - -``` -sudo apt-get install -y postgresql postgresql-client libpq-dev -``` - -下一步是创建用户,因此登录 PostgreSQL: - -``` -sudo -u postgres psql -d template1 -``` - -然后创建一个将由您的应用程序使用的用户(在我们的示例中为`runner` ). 将以下命令中的`$password`更改`$password`真实的强密码. - -***注意:**不要输入`template1=#` ,这是 PostgreSQL 提示的一部分.* - -``` -template1=# CREATE USER runner WITH PASSWORD '$password' CREATEDB; -``` - -***注意:**请注意,我们创建的用户具有创建数据库的特权( `CREATEDB` ). 在以下步骤中,我们将为该用户显式创建一个数据库,但是如果在您的测试框架中有删除和创建数据库的工具,则具有该特权将很有用.* - -创建数据库,并授予其上的所有特权用户`runner` : - -``` -template1=# CREATE DATABASE nice_marmot OWNER runner; -``` - -如果一切顺利,您现在可以退出数据库会话: - -``` -template1=# \q -``` - -现在,尝试连接到与用户新创建的数据库`runner`检查一切就绪. - -``` -psql -U runner -h localhost -d nice_marmot -W -``` - -***注意:**我们明确告诉`psql`连接到 localhost 以便使用 md5 身份验证. 如果您省略此步骤,则将被拒绝访问.* - -最后,将您的应用程序配置为使用数据库,例如: - -``` -Host: localhost -User: runner -Password: $password -Database: nice_marmot -``` - -## Example project[](#example-project "Permalink") - -为了方便起见,我们使用公共可[共享的](../runners/README.html)运行程序在[GitLab.com](https://gitlab.com)上运行了一个[示例 PostgreSQL 项目](https://gitlab.com/gitlab-examples/postgres) . - -想要破解吗? 只需对其进行分叉,提交并推送您的更改. 稍后,公共跑步者将选择更改并开始工作. \ No newline at end of file diff --git a/docs/273.md b/docs/273.md deleted file mode 100644 index 618b9ef..0000000 --- a/docs/273.md +++ /dev/null @@ -1,64 +0,0 @@ -# Using Redis - -> 原文:[https://docs.gitlab.com/ee/ci/services/redis.html](https://docs.gitlab.com/ee/ci/services/redis.html) - -* [Use Redis with the Docker executor](#use-redis-with-the-docker-executor) -* [Use Redis with the Shell executor](#use-redis-with-the-shell-executor) -* [Example project](#example-project) - -# Using Redis[](#using-redis "Permalink") - -由于许多应用程序都将 Redis 用作键值存储,因此最终需要它才能运行测试. 下面将指导您如何使用 GitLab Runner 的 Docker 和 Shell 执行程序执行此操作. - -## Use Redis with the Docker executor[](#use-redis-with-the-docker-executor "Permalink") - -如果您将[GitLab Runner](../runners/README.html)与 Docker 执行程序一起使用,则基本上已经完成了所有设置. - -首先,在您的`.gitlab-ci.yml`添加: - -``` -services: - - redis:latest -``` - -然后,您需要配置您的应用程序以使用 Redis 数据库,例如: - -``` -Host: redis -``` - -就是这样. 现在可以在您的测试框架中使用 Redis. - -您还可以使用[Docker Hub](https://hub.docker.com/_/redis)上可用的任何其他 Docker 映像. 例如,要使用 Redis 2.8,服务将变为`redis:2.8` . - -## Use Redis with the Shell executor[](#use-redis-with-the-shell-executor "Permalink") - -Redis 也可以在手动配置的服务器上使用,该服务器与 Shell 执行程序一起使用 GitLab Runner. - -在您的构建机器中安装 Redis 服务器: - -``` -sudo apt-get install redis-server -``` - -验证您可以使用`gitlab-runner`用户连接到服务器: - -``` -# Try connecting the Redis server -sudo -u gitlab-runner -H redis-cli - -# Quit the session -127.0.0.1:6379> quit -``` - -最后,将您的应用程序配置为使用数据库,例如: - -``` -Host: localhost -``` - -## Example project[](#example-project "Permalink") - -为了方便起见,我们使用公共可[共享的](../runners/README.html)运行程序在[GitLab.com](https://gitlab.com)上运行了[示例 Redis 项目](https://gitlab.com/gitlab-examples/redis) . - -想要破解吗? 只需对其进行分叉,提交并推送您的更改. 稍后,公共跑步者将选择更改并开始工作. \ No newline at end of file diff --git a/docs/274.md b/docs/274.md deleted file mode 100644 index 4fd99cd..0000000 --- a/docs/274.md +++ /dev/null @@ -1,40 +0,0 @@ -# Troubleshooting CI/CD - -> 原文:[https://docs.gitlab.com/ee/ci/troubleshooting.html](https://docs.gitlab.com/ee/ci/troubleshooting.html) - -* [Merge request pipeline widget](#merge-request-pipeline-widget) - * [“Checking pipeline status”](#checking-pipeline-status) -* [Merge request ability to merge widget](#merge-request-ability-to-merge-widget) - * [“A CI/CD pipeline must run and be successful before merge”](#a-cicd-pipeline-must-run-and-be-successful-before-merge) - -# Troubleshooting CI/CD[](#troubleshooting-cicd "Permalink") - -## Merge request pipeline widget[](#merge-request-pipeline-widget "Permalink") - -合并请求管道小部件在"合并请求"中显示有关管道状态的信息. [在合并小部件](#merge-request-ability-to-merge-widget)的[合并请求功能](#merge-request-ability-to-merge-widget)上方显示. - -根据管道的状态,可以显示几条消息. - -### “Checking pipeline status”[](#checking-pipeline-status "Permalink") - -This message is shown when the merge request has no pipeline associated with the latest commit yet and [Pipelines must succeed](../user/project/merge_requests/merge_when_pipeline_succeeds.html#only-allow-merge-requests-to-be-merged-if-the-pipeline-succeeds) is turned on. This might be because: - -* GitLab 尚未完成创建管道. -* 您正在使用外部 CI 服务,但 GitLab 尚未收到该服务的回音. -* 您没有在项目中使用 CI / CD 管道. - -创建管道后,该消息将更新为管道状态. - -注意:当前,如果您删除合并请求的最新管道,则将显示此消息,而不是有意义的错误消息. 这是一个已知问题,应尽快解决. - -## Merge request ability to merge widget[](#merge-request-ability-to-merge-widget "Permalink") - -合并请求状态窗口小部件显示" **合并"**按钮以及合并请求是否准备就绪. 如果合并请求无法合并,则会显示原因. - -如果管道仍在运行,则将" **合并"**按钮替换为" **管道成功后合并"**按钮. - -如果[**合并火车**](merge_request_pipelines/pipelines_for_merged_results/merge_trains/index.html)被启用,按钮要么**加入到合并列车**或**添加到合并火车时管道成功** . - -### “A CI/CD pipeline must run and be successful before merge”[](#a-cicd-pipeline-must-run-and-be-successful-before-merge "Permalink") - -如果在项目中启用了" [管道必须成功"](../user/project/merge_requests/merge_when_pipeline_succeeds.html#only-allow-merge-requests-to-be-merged-if-the-pipeline-succeeds)设置,并且管道尚未成功运行,则会显示此消息. 如果尚未创建管道,或者正在等待外部 CI 服务,则这也适用. 如果您的项目不使用管道,则应禁用**管道必须成功**才能接受合并请求. \ No newline at end of file diff --git a/docs/275.md b/docs/275.md deleted file mode 100644 index ca98781..0000000 --- a/docs/275.md +++ /dev/null @@ -1,120 +0,0 @@ -# GitLab Package Registry - -> 原文:[https://docs.gitlab.com/ee/user/packages/](https://docs.gitlab.com/ee/user/packages/) - -* [View packages](#view-packages) -* [Use GitLab CI/CD to build packages](#use-gitlab-cicd-to-build-packages) -* [Download a package](#download-a-package) -* [Delete a package](#delete-a-package) -* [Disable the Package Registry](#disable-the-package-registry) -* [Package workflows](#package-workflows) -* [Suggested contributions](#suggested-contributions) - -# GitLab Package Registry[](#gitlab-package-registry "Permalink") - -借助 GitLab 软件包注册表,您可以将 GitLab 用作各种常见软件包管理器的私有或公共存储库. 您可以构建和发布程序包,这些程序包可以很容易地作为下游项目中的依赖项使用. - -GitLab 充当以下内容的存储库: - -| 软件库 | Description | 在 GitLab 版本中可用 | -| --- | --- | --- | -| [Container Registry](container_registry/index.html) | GitLab 容器注册表使 GitLab 中的每个项目都有自己的空间来存储[Docker](https://www.docker.com/)映像. | 8.8+ | -| [Dependency Proxy](dependency_proxy/index.html) | GitLab 依赖代理为经常使用的上游映像/软件包设置了本地代理. | 11.11+ | -| [Conan Repository](conan_repository/index.html) | GitLab 柯南存储库使 GitLab 中的每个项目都有自己的空间来存储[柯南](https://conan.io/)软件包. | 12.6+ | -| [Maven Repository](maven_repository/index.html) | GitLab Maven 存储库使 GitLab 中的每个项目都有自己的空间来存储[Maven](https://maven.apache.org/)软件包. | 11.3+ | -| [NPM Registry](npm_registry/index.html) | GitLab NPM 注册表使 GitLab 中的每个项目都有自己的空间来存储[NPM](https://s0www0npmjs0com.icopy.site/)软件包. | 11.7+ | -| [NuGet Repository](nuget_repository/index.html) | GitLab NuGet 存储库将使 GitLab 中的每个项目都有自己的空间来存储[NuGet](https://www.nuget.org/)软件包. | 12.8+ | -| [PyPi Repository](pypi_repository/index.html) | GitLab PyPi 存储库将使 GitLab 中的每个项目都有自己的空间来存储[PyPi](https://s0pypi0org.icopy.site/)软件包. | 12.10+ | -| [Go Proxy](go_proxy/index.html) | GitLab 的 Go 代理使 GitLab 中的每个项目都可以通过[Go 代理协议](https://proxy.golang.org/)获取. | 13.1+ | -| [Composer Repository](composer_repository/index.html) | GitLab Composer 存储库将使 GitLab 中的每个项目都有自己的空间来存储[Composer](https://s0getcomposer0org.icopy.site/)软件包. | 13.2+ | - -## View packages[](#view-packages "Permalink") - -您可以查看项目或组的软件包. - -1. 转到项目或组. -2. 去 **程序包和注册表>程序包注册表** . - -您可以在此页面上搜索,排序和过滤软件包. - -有关如何创建和上传软件包的信息,请查看您的软件包类型的 GitLab 文档. - -## Use GitLab CI/CD to build packages[](#use-gitlab-cicd-to-build-packages "Permalink") - -您可以使用[GitLab CI / CD](./../../ci/README.html)来构建软件包. 对于 Maven 和 NPM 软件包以及 Composer 依赖项,可以使用`CI_JOB_TOKEN`向 GitLab 进行身份验证. - -CI / CD 模板,你可以用它来上手,在[此回购](https://gitlab.com/gitlab-org/gitlab/-/tree/master/lib/gitlab/ci/templates) . - -了解有关[使用 CI / CD 构建 Maven 软件包](maven_repository/index.html#creating-maven-packages-with-gitlab-cicd)和[NPM 软件包的更多信息](npm_registry/index.html#publishing-a-package-with-cicd) . - -如果使用 CI / CD 构建软件包,则在查看软件包详细信息时会显示扩展的活动信息: - -[![Package CI/CD activity](img/5d1d35707b32fd37e1e218e8b1df1771.png)](img/package_activity_v12_10.png) - -您可以查看哪个管道发布了程序包,以及触发该程序包的提交和用户. - -## Download a package[](#download-a-package "Permalink") - -要下载软件包: - -1. 去 **程序包和注册表>程序包注册表** . -2. 单击您要下载的软件包的名称. -3. 在" **活动"**部分中,单击要下载的程序包的名称. - -## Delete a package[](#delete-a-package "Permalink") - -在程序包注册表中发布程序包后,您将无法对其进行编辑. 相反,您必须删除并重新创建它. - -* 您无法从组视图中删除软件包. 您必须改为从项目视图中删除它们. 有关详细信息,请参[见此问题](https://gitlab.com/gitlab-org/gitlab/-/issues/227714) . -* 您必须具有适当的[权限](../permissions.html) . - -您可以使用[API](../../api/packages.html#delete-a-project-package)或 UI 删除软件包. - -要在用户界面中删除程序包: - -1. 去 **程序包和注册表>程序包注册表** . -2. 查找您要删除的程序包的名称. -3. Click **Delete**. - -该软件包将被永久删除. - -## Disable the Package Registry[](#disable-the-package-registry "Permalink") - -程序包注册表自动启用. - -如果您使用的是 GitLab 的自我管理实例,则管理员可以删除菜单项, **软件包和注册表** ,位于 GitLab 侧边栏. 有关更多信息,请参阅[管理文档](../../administration/packages/index.html) . - -您还可以专门删除项目的 Package Registry: - -1. 在您的项目中,转到 **设置>常规** . -2. 展开" **可见性","项目功能","权限"**部分,并禁用" **软件包"**功能. -3. Click **Save changes**. - -的 **Packages&Registries> Package Registry**条目已从侧栏中删除. - -## Package workflows[](#package-workflows "Permalink") - -了解如何使用 GitLab 软件包注册表来构建自己的自定义软件包工作流程. - -* [使用项目作为程序包注册表](./workflows/project_registry.html)将所有[程序包](./workflows/project_registry.html)发布到一个项目. -* 从一个[monorepo 项目](./workflows/monorepo.html)发布多个不同的软件包. - -## Suggested contributions[](#suggested-contributions "Permalink") - -考虑为 GitLab 做贡献. 此[开发文档](../../development/packages.html)将指导您完成该过程. 或者查看社区的其他成员如何添加对[PHP](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/17417)或[Terraform 的](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/18834)支持. - -| Format | 用例 | -| --- | --- | -| [Cargo](https://gitlab.com/gitlab-org/gitlab/-/issues/33060) | Cargo 是 Rust 的包裹经理. 构建,发布和共享 Rust 包 | -| [Chef](https://gitlab.com/gitlab-org/gitlab/-/issues/36889) | 使用 Chef 的配置管理,利用存储库管理器的所有优点. | -| [CocoaPods](https://gitlab.com/gitlab-org/gitlab/-/issues/36890) | 使用 Xcode 和 CocoaPods 加快开发速度. | -| [Conda](https://gitlab.com/gitlab-org/gitlab/-/issues/36891) | 安全和私有的本地 Conda 存储库. | -| [CRAN](https://gitlab.com/gitlab-org/gitlab/-/issues/36892) | 部署和解析 R 语言的 CRAN 软件包. | -| [Debian](https://gitlab.com/gitlab-org/gitlab/-/issues/5835) | 托管和设置 Debian 软件包. | -| [Opkg](https://gitlab.com/gitlab-org/gitlab/-/issues/36894) | 使用 Opkg 存储库优化 OpenWrt 的工作. | -| [P2](https://gitlab.com/gitlab-org/gitlab/-/issues/36895) | 将所有 Eclipse 插件托管在自己的 GitLab P2 存储库中. | -| [Puppet](https://gitlab.com/gitlab-org/gitlab/-/issues/36897) | 配置管理通过 Puppet 存储库满足存储库管理. | -| [RPM](https://gitlab.com/gitlab-org/gitlab/-/issues/5932) | 直接从 GitLab 分发 RPM. | -| [RubyGems](https://gitlab.com/gitlab-org/gitlab/-/issues/803) | 使用 GitLab 托管您自己的宝石. | -| [SBT](https://gitlab.com/gitlab-org/gitlab/-/issues/36898) | 运行 SBT 构建时,解析来自 SBT 存储库的依赖性并将构建输出部署到 SBT 存储库. | -| [Vagrant](https://gitlab.com/gitlab-org/gitlab/-/issues/36899) | 将您的 Vagrant 盒子安全地托管在本地存储库中. | \ No newline at end of file diff --git a/docs/276.md b/docs/276.md deleted file mode 100644 index ba7f9fd..0000000 --- a/docs/276.md +++ /dev/null @@ -1,580 +0,0 @@ -# GitLab Container Registry - -> 原文:[https://docs.gitlab.com/ee/user/packages/container_registry/](https://docs.gitlab.com/ee/user/packages/container_registry/) - -* [Enable the Container Registry for your project](#enable-the-container-registry-for-your-project) -* [Control Container Registry from within GitLab](#control-container-registry-from-within-gitlab) - * [Control Container Registry for your project](#control-container-registry-for-your-project) - * [Control Container Registry for your group](#control-container-registry-for-your-group) - * [Image Repository details page](#image-repository-details-page) -* [Use images from GitLab Container Registry](#use-images-from-gitlab-container-registry) -* [Authenticating to the GitLab Container Registry](#authenticating-to-the-gitlab-container-registry) -* [Build and push images from your local machine](#build-and-push-images-from-your-local-machine) -* [Build and push images using GitLab CI/CD](#build-and-push-images-using-gitlab-cicd) - * [Authenticating to the Container Registry with GitLab CI/CD](#authenticating-to-the-container-registry-with-gitlab-cicd) - * [Container Registry examples with GitLab CI/CD](#container-registry-examples-with-gitlab-cicd) - * [Using a Docker-in-Docker image from your Container Registry](#using-a-docker-in-docker-image-from-your-container-registry) -* [Delete images](#delete-images) - * [Delete images from within GitLab](#delete-images-from-within-gitlab) - * [Delete images using the API](#delete-images-using-the-api) - * [Delete images using GitLab CI/CD](#delete-images-using-gitlab-cicd) - * [Delete images by using a cleanup policy](#delete-images-by-using-a-cleanup-policy) -* [Cleanup policy](#cleanup-policy) - * [Managing project cleanup policy through the UI](#managing-project-cleanup-policy-through-the-ui) - * [Troubleshooting cleanup policies](#troubleshooting-cleanup-policies) - * [Managing project cleanup policy through the API](#managing-project-cleanup-policy-through-the-api) - * [Use with external container registries](#use-with-external-container-registries) - * [Regex pattern examples](#regex-pattern-examples) -* [Use the Container Registry to store Helm Charts](#use-the-container-registry-to-store-helm-charts) -* [Limitations](#limitations) -* [Troubleshooting the GitLab Container Registry](#troubleshooting-the-gitlab-container-registry) - * [Docker connection error](#docker-connection-error) - * [Troubleshoot as a GitLab server admin](#troubleshoot-as-a-gitlab-server-admin) - * [Unable to change path or transfer a project](#unable-to-change-path-or-transfer-a-project) - -# GitLab Container Registry[](#gitlab-container-registry "Permalink") - -版本历史 - -* 在 GitLab 8.8 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/4040) . -* 在 GitLab 8.9 中添加了 Docker Registry manifest `v1`支持,以支持 1.10 之前的 Docker 版本. -* 从 GitLab 8.12 开始,如果您的帐户中启用了 2FA,则需要传递[个人访问令牌(](../../profile/personal_access_tokens.html)而不是密码)才能登录到 GitLab 的 Container Registry. -* 在 GitLab 9.1 中添加了多级图像名称支持. -* 组级容器注册表是在 GitLab 12.10 中[引入的](https://gitlab.com/gitlab-org/gitlab/-/issues/23315) . -* 在 GitLab 13.0 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/31322)了按图像存储库名称搜索. - -**注意:**本文档是用户指南. 要了解如何在整个 GitLab 实例上启用 GitLab 容器注册表,请访问[管理员文档](../../../administration/packages/container_registry.html) . - -通过将 Docker 容器注册表集成到 GitLab 中,每个项目都可以拥有自己的空间来存储其 Docker 映像. - -您可以在[https://docs.docker.com/registry/introduction/上](https://s0docs0docker0com.icopy.site/registry/introduction/)了解有关 Docker Registry 的更多信息. - -[![Container Registry repositories](img/62073039b38c0dfa370251cfe07ca5e5.png)](img/container_registry_repositories_v13_1.png) - -## Enable the Container Registry for your project[](#enable-the-container-registry-for-your-project "Permalink") - -**警告:**容器注册表遵循项目的可见性设置. 如果项目是公开的,则容器注册表也是如此. - -If you cannot find the **包和注册表>容器注册表** entry under your project’s sidebar, it is not enabled in your GitLab instance. Ask your administrator to enable GitLab Container Registry following the [administration documentation](../../../administration/packages/container_registry.html). - -如果您使用的是 GitLab.com,则默认情况下启用此功能,因此您可以立即开始使用注册表. 当前,作为[存储库大小限制的](../../project/repository/index.html)一部分,GitLab.com 上的 Registry 有一个软的(10GB)大小限制. - -为您的 GitLab 实例启用后,要为您的项目启用 Container Registry: - -1. 转到项目的**"设置">"常规"**页面. -2. 展开" **可见性","项目功能","权限"**部分,并在项目上启用" **容器注册表"**功能. 对于新项目,默认情况下可以启用. 对于现有项目(GitLab 8.8 之前的版本),您必须显式启用它. -3. 按**保存更改**以使更改生效. 现在,您应该能够在侧栏中看到**Packages&Registries> Container Registry**链接. - -## Control Container Registry from within GitLab[](#control-container-registry-from-within-gitlab "Permalink") - -GitLab 提供了一个简单的 Container Registry 管理面板. 该管理面板可用于项目和组. - -### Control Container Registry for your project[](#control-container-registry-for-your-project "Permalink") - -导航到您项目的 **包裹和注册>集装箱注册** . - -[![Container Registry project repositories](img/8a2c3991978374372fe0370f27f4fad4.png)](img/container_registry_repositories_with_quickstart_v13_1.png) - -该视图将: - -* 显示属于该项目的所有图像存储库. -* 允许您按图像存储库的名称过滤. -* 允许您[删除](#delete-images-from-within-gitlab)一个或多个图像存储库. -* 允许您导航到图像存储库详细信息页面. -* 显示具有最常用命令的**快速入门**下拉列表,以登录,构建和推送 -* (可选)如果为该项目启用了[清理策略](#cleanup-policy) ,则将显示横幅. - -### Control Container Registry for your group[](#control-container-registry-for-your-group "Permalink") - -导航到您小组的 **包裹和注册>集装箱注册** . - -[![Container Registry group repositories](img/71c2f22b2aef83c58870637723d6f7ef.png)](img/container_registry_group_repositories_v13_1.png) - -该视图将: - -* Show all the image repositories of the projects that belong to this group. -* 允许[删除](#delete-images-from-within-gitlab)一个或多个图像存储库. -* 允许导航到特定的图像存储库详细信息页面. - -### Image Repository details page[](#image-repository-details-page "Permalink") - -单击任何图像存储库的名称将导航到详细信息. - -[![Container Registry project repository details](img/c3f7298c5f6d1b4dbd0a120ce98b9d06.png)](img/container_registry_repository_details_v13.0.png) - -**注意:**下一页在**组级别容器注册表**和**项目级别容器注册表中**具有相同的功能. - -此视图: - -* 显示所有图像存储库详细信息. -* 显示图像存储库的所有标记. -* 允许您快速复制标签路径(通过单击标签名称附近的剪贴板按钮). -* 允许您[删除一个或多个标签](#delete-images-from-within-gitlab) . - -## Use images from GitLab Container Registry[](#use-images-from-gitlab-container-registry "Permalink") - -要从 GitLab 容器注册表中托管的映像下载并运行容器,请使用`docker run` : - -``` -docker run [options] registry.example.com/group/project/image [arguments] -``` - -有关运行 Docker 容器的更多信息,请访问[Docker 文档](https://s0docs0docker0com.icopy.site/engine/userguide/intro/) . - -## Authenticating to the GitLab Container Registry[](#authenticating-to-the-gitlab-container-registry "Permalink") - -如果访问项目菜单下的**Packages&Registries> Container Registry**链接,则可以看到使用 GitLab 凭据登录到 Container Registry 的明确说明. - -例如,如果注册表的 URL 是`registry.example.com` ,那么您应该能够使用以下命令登录: - -``` -docker login registry.example.com -``` - -**注意:**如果您的帐户中启用了[2 因子身份验证](../../profile/account/two_factor_authentication.html) ,则需要传递[个人访问令牌(](../../profile/personal_access_tokens.html)而不是密码)才能登录到 GitLab 的 Container Registry. - -如果项目是私有项目,则需要提供凭据进行授权. 有两种方法可以做到这一点: - -* 通过使用[个人访问令牌](../../profile/personal_access_tokens.html) . -* 通过使用[部署令牌](../../project/deploy_tokens/index.html) . - -两者所需的最小范围是`read_registry` . - -使用令牌的示例: - -``` -docker login registry.example.com -u -p -``` - -## Build and push images from your local machine[](#build-and-push-images-from-your-local-machine "Permalink") - -建立和发布图像应该是一个简单的过程. 只需确保您将注册表 URL 与 GitLab 上托管的名称空间和项目名称一起使用即可: - -``` -docker build -t registry.example.com/group/project/image . -docker push registry.example.com/group/project/image -``` - -您的图片将按照以下方案命名: - -``` -/// -``` - -GitLab 最多支持三个级别的图像存储库名称. 以下图像标签示例有效: - -``` -registry.example.com/group/project:some-tag -registry.example.com/group/project/image:latest -registry.example.com/group/project/my/image:rc1 -``` - -## Build and push images using GitLab CI/CD[](#build-and-push-images-using-gitlab-cicd "Permalink") - -While you can build and push your images from your local machine, the true power of the Container Registry comes when you combine it with GitLab CI/CD. You can then create workflows and automate any processes that involve testing, building, and eventually deploying your project from the Docker image you created. - -在深入研究细节之前,您应该注意一些事项: - -* 运行任何命令之前,必须[先向容器注册表](#authenticating-to-the-container-registry-with-gitlab-cicd)进行[身份验证](#authenticating-to-the-container-registry-with-gitlab-cicd) . 如果有多个作业依赖于它,则可以在`before_script`执行此操作. -* 使用`docker build --pull`在构建之前获取对基础映像的所有更改,以防缓存过时. 它花费的时间稍长一些,但这意味着如果没有基础映像的安全补丁,您将不会陷入困境. -* 在每次`docker run` docker 之前进行显式`docker pull`都会获取刚刚构建的最新映像. 如果您正在使用多个在本地缓存图像的运行程序,则这一点尤其重要. 在图像标签中使用 Git SHA 使得此操作变得不必要,因为每个作业都是唯一的,并且您永远都不会过时的图像. 但是,如果在依赖项发生更改后重新构建给定的提交,则仍然可能会有陈旧的映像. -* 如果有多个作业同时发生,则您不想直接构建到`latest`标记. - -### Authenticating to the Container Registry with GitLab CI/CD[](#authenticating-to-the-container-registry-with-gitlab-cicd "Permalink") - -通过[GitLab CI / CD](../../../ci/yaml/README.html)向容器注册表进行身份验证的三种方法取决于您项目的可见性. - -适用于所有项目,但更适合公共项目: - -* **使用特殊的`CI_REGISTRY_USER`变量** :为您创建此变量指定的用户,以便推送到连接到您的项目的注册表. 它的密码是使用`CI_REGISTRY_PASSWORD`变量自动设置的. 这使您可以自动构建和部署 Docker 映像,并具有对注册表的读/写访问权限. 这是短暂的,因此仅适用于一项工作. 您可以按原样使用以下示例: - - ``` - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - ``` - -对于私人和内部项目: - -* **使用个人访问令牌** :如果您的项目是私有的,则可以创建和使用[个人访问令牌](../../profile/personal_access_tokens.html) : - - * 对于读取(拉)访问,范围应为`read_registry` . - * 要进行读/写(拉/推)访问,请使用`api` . - - Replace the `` and `` in the following example: - - ``` - docker login -u -p $CI_REGISTRY - ``` - -* **使用 GitLab 部署令牌** :您可以在私有项目中创建和使用[特殊的部署令牌](../../project/deploy_tokens/index.html#gitlab-deploy-token) . 它提供对注册表的只读(拉)访问. 创建后,您可以使用特殊的环境变量,GitLab CI / CD 将为您填充它们. 您可以按原样使用以下示例: - - ``` - docker login -u $CI_DEPLOY_USER -p $CI_DEPLOY_PASSWORD $CI_REGISTRY - ``` - -### Container Registry examples with GitLab CI/CD[](#container-registry-examples-with-gitlab-cicd "Permalink") - -如果您在 Runners 上使用 Docker-in-Docker,则`.gitlab-ci.yml`外观应与此类似: - -``` -build: - image: docker:19.03.12 - stage: build - services: - - docker:19.03.12-dind - script: - - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - - docker build -t $CI_REGISTRY/group/project/image:latest . - - docker push $CI_REGISTRY/group/project/image:latest -``` - -您还可以利用[其他变量](../../../ci/variables/README.html)来避免硬编码: - -``` -build: - image: docker:19.03.12 - stage: build - services: - - docker:19.03.12-dind - variables: - IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG - script: - - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - - docker build -t $IMAGE_TAG . - - docker push $IMAGE_TAG -``` - -在这里, `$CI_REGISTRY_IMAGE`将解析为与此项目`$CI_REGISTRY_IMAGE`的注册表的地址. 由于`$CI_COMMIT_REF_NAME`解析为分支名称或标记名称,并且您的分支名称可以包含正斜杠(例如,feature / my-feature),因此将`$CI_COMMIT_REF_SLUG`用作图像标记`$CI_COMMIT_REF_SLUG`安全. 这是因为图像标记不能包含正斜杠. 我们还声明了自己的变量`$IMAGE_TAG` ,将两者结合起来可以节省一些在`script`部分键入的内容. - -这是一个更详细的示例,将任务分为 4 个管道阶段,包括两个并行运行的测试. 内部`build`存储在容器注册表中,供后续阶段使用,并在需要时下载映像. 对`master`所做的更改也将被标记为`latest`并使用特定于应用程序的部署脚本进行部署: - -``` -image: docker:19.03.12 -services: - - docker:19.03.12-dind - -stages: - - build - - test - - release - - deploy - -variables: - # Use TLS https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#tls-enabled - DOCKER_HOST: tcp://docker:2376 - DOCKER_TLS_CERTDIR: "/certs" - CONTAINER_TEST_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG - CONTAINER_RELEASE_IMAGE: $CI_REGISTRY_IMAGE:latest - -before_script: - - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - -build: - stage: build - script: - - docker build --pull -t $CONTAINER_TEST_IMAGE . - - docker push $CONTAINER_TEST_IMAGE - -test1: - stage: test - script: - - docker pull $CONTAINER_TEST_IMAGE - - docker run $CONTAINER_TEST_IMAGE /script/to/run/tests - -test2: - stage: test - script: - - docker pull $CONTAINER_TEST_IMAGE - - docker run $CONTAINER_TEST_IMAGE /script/to/run/another/test - -release-image: - stage: release - script: - - docker pull $CONTAINER_TEST_IMAGE - - docker tag $CONTAINER_TEST_IMAGE $CONTAINER_RELEASE_IMAGE - - docker push $CONTAINER_RELEASE_IMAGE - only: - - master - -deploy: - stage: deploy - script: - - ./deploy.sh - only: - - master -``` - -**注意:**此示例显式调用`docker pull` . 如果您希望使用`image:`隐式拉出构建的映像,并使用[Docker](https://docs.gitlab.com/runner/executors/docker.html)或[Kubernetes](https://docs.gitlab.com/runner/executors/kubernetes.html)执行程序,请确保[`pull_policy`](https://docs.gitlab.com/runner/executors/docker.html)设置为`always` . - -### Using a Docker-in-Docker image from your Container Registry[](#using-a-docker-in-docker-image-from-your-container-registry "Permalink") - -如果要为 Docker-in-Docker 使用自己的 Docker 映像,除了[Docker-in-Docker](../../../ci/docker/using_docker_build.html#use-docker-in-docker-workflow-with-docker-executor)部分中的步骤外,还需要做一些其他事情: - -1. 更新`image`和`service`以指向您的注册表. -2. 添加服务[别名](../../../ci/yaml/README.html#servicesalias) . - -以下是您的`.gitlab-ci.yml`外观示例: - -``` - build: - image: $CI_REGISTRY/group/project/docker:19.03.12 - services: - - name: $CI_REGISTRY/group/project/docker:19.03.12-dind - alias: docker - stage: build - script: - - docker build -t my-docker-image . - - docker run my-docker-image /script/to/run/tests -``` - -如果您忘记设置服务别名,则`docker:19.03.12`映像将找不到`dind`服务,并且将引发类似以下的错误: - -``` -error during connect: Get http://docker:2376/v1.39/info: dial tcp: lookup docker on 192.168.0.1:53: no such host -``` - -## Delete images[](#delete-images "Permalink") - -您可以通过多种方式从 Container Registry 中删除图像. - -**警告:**删除图像是一种破坏性行为,无法撤消. 要还原已删除的图像,必须重建并重新上传它.**注意:**管理员应查看如何[垃圾收集](../../../administration/packages/container_registry.html#container-registry-garbage-collection)删除的图像. - -### Delete images from within GitLab[](#delete-images-from-within-gitlab "Permalink") - -要从 GitLab 中删除图像: - -1. Navigate to your project’s or group’s **包和注册表>容器注册表**. -2. 在" **容器注册表"**页面上,可以通过以下任一方法选择要删除的内容: - - * 通过单击红色删除整个存储库及其包含的所有标签 **垃圾桶**图标. - * 导航到存储库,然后通过单击红色单独或批量删除标签 您要删除的标签旁边的**垃圾桶**图标. -3. 在对话框中,点击**删除标签** . - - [![Container Registry tags](img/c3f7298c5f6d1b4dbd0a120ce98b9d06.png)](img/container_registry_repository_details_v13.0.png) - -### Delete images using the API[](#delete-images-using-the-api "Permalink") - -如果要自动执行删除图像的过程,GitLab 提供了一个 API. 有关更多信息,请参见以下端点: - -* [Delete a Registry repository](../../../api/container_registry.html#delete-registry-repository) -* [Delete an individual Registry repository tag](../../../api/container_registry.html#delete-a-registry-repository-tag) -* [Delete Registry repository tags in bulk](../../../api/container_registry.html#delete-registry-repository-tags-in-bulk) - -### Delete images using GitLab CI/CD[](#delete-images-using-gitlab-cicd "Permalink") - -**警告:** GitLab CI / CD 没有提供删除图像的内置方法,但是本示例使用了名为[reg](https://github.com/genuinetools/reg)的第三方工具,该工具与 GitLab Registry API 进行通信. 您应对自己的行为负责. 有关此工具的帮助,请参见[reg 的发行队列](https://github.com/genuinetools/reg/issues) . - -以下示例定义了两个阶段: `build`和`clean` . `build_image`作业将为分支构建 Docker 映像,而`delete_image`作业将其删除. `reg`可执行文件已下载并用于删除与`$CI_PROJECT_PATH:$CI_COMMIT_REF_SLUG` [环境变量](../../../ci/variables/predefined_variables.html)匹配的映像. - -要使用此示例,请更改`IMAGE_TAG`变量以符合您的需求: - -``` -stages: - - build - - clean - -build_image: - image: docker:19.03.12 - stage: build - services: - - docker:19.03.12-dind - variables: - IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG - script: - - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - - docker build -t $IMAGE_TAG . - - docker push $IMAGE_TAG - only: - - branches - except: - - master - -delete_image: - image: docker:19.03.12 - stage: clean - services: - - docker:19.03.12-dind - variables: - IMAGE_TAG: $CI_PROJECT_PATH:$CI_COMMIT_REF_SLUG - REG_SHA256: ade837fc5224acd8c34732bf54a94f579b47851cc6a7fd5899a98386b782e228 - REG_VERSION: 0.16.1 - before_script: - - apk add --no-cache curl - - curl --fail --show-error --location "https://github.com/genuinetools/reg/releases/download/v$REG_VERSION/reg-linux-amd64" --output /usr/local/bin/reg - - echo "$REG_SHA256 /usr/local/bin/reg" | sha256sum -c - - - chmod a+x /usr/local/bin/reg - script: - - /usr/local/bin/reg rm -d --auth-url $CI_REGISTRY -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $IMAGE_TAG - only: - - branches - except: - - master -``` - -**提示:**您可以从[发布页面](https://github.com/genuinetools/reg/releases)下载最新的`reg`版本,然后通过更改`delete_image`作业中定义的`REG_SHA256`和`REG_VERSION`变量来更新代码示例. - -### Delete images by using a cleanup policy[](#delete-images-by-using-a-cleanup-policy "Permalink") - -您可以创建每个项目的[清理策略,](#cleanup-policy)以确保定期从 Container Registry 中删除较旧的标记和图像. - -## Cleanup policy[](#cleanup-policy "Permalink") - -版本历史 - -* 在 GitLab 12.8 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/15398) . -* 在 GitLab 13.2 中从"过期策略" [重命名](https://gitlab.com/gitlab-org/gitlab/-/issues/218737)为"清理策略". - -对于特定项目,如果要删除不再需要的标签,则可以创建清除策略. 应用该策略时,将删除与正则表达式模式匹配的标记. 底层和图像仍然保留. - -要删除不再与任何标签关联的基础层和图像,实例管理员可以通过`-m`开关使用[垃圾回收](../../../administration/packages/container_registry.html#removing-unused-layers-not-referenced-by-manifests) . - -**注意:**对于 GitLab.com,清理策略不适用于将该功能部署到生产之前(2020 年 2 月)创建的项目. 计划在 GitLab.com 上[为](https://gitlab.com/gitlab-org/gitlab/-/issues/196124)现有项目提供支持. 对于自我管理的实例,管理员可以在[GitLab 应用程序设置中](../../../api/settings.html#change-application-settings)通过将`container_expiration_policies_enable_historic_entries`设置为 true 来启用清除策略. 注意[涉及](./index.html#use-with-external-container-registries)的固有[风险](./index.html#use-with-external-container-registries) . - -清理策略算法首先从列表中收集给定存储库的所有标记,然后进行从标记中排除标记的过程,直到仅保留要删除的标记为止: - -1. 在列表中收集给定存储库的所有标记. -2. 排除名为标签`latest`从列表中. -3. 评估`name_regex` ,从列表中排除不匹配的名称. -4. 排除所有没有清单的标签(不是选项的一部分). -5. 按`created_date`其余标签. -6. 从列表中排除基于`keep_n`值的 N 个标签(要保留的标签数). -7. 从列表中排除比`older_than`值(清除间隔)更新的标签. -8. 从列表中排除与`name_regex_keep`值匹配的所有标签(要保留的图像). -9. 最后,列表中的其余标签将从 Container Registry 中删除. - -### Managing project cleanup policy through the UI[](#managing-project-cleanup-policy-through-the-ui "Permalink") - -要管理项目清理策略,请导航至 **设置> CI / CD>容器注册表标记清除策略** . - -用户界面允许您配置以下内容: - -* **清理策略:**启用或禁用清理策略. -* **清除间隔:**标签可以删除多长时间. -* **清理计划:**检查标签的 cron 作业应运行的频率. -* **要保留的标签数量:**每个图像*始终*保留多少个标签. -* **名称与该正则表达式模式匹配的 Docker 标签将过期:**用于确定应清除哪些标签的正则表达式. 要使所有标签都合格,请使用默认值`.*` . -* **名称与该正则表达式模式匹配的 Docker 标签将被保留:**用于确定应保留哪些标签的正则表达式. 要保留所有标签,请使用默认值`.*` . - -#### Troubleshooting cleanup policies[](#troubleshooting-cleanup-policies "Permalink") - -如果看到以下消息: - -"更新清理策略时出了点问题." - -检查正则表达式模式以确保它们有效. - -您可以使用[Rubular](https://rubular.com/)检查您的正则表达式. 查看一些常见的[regex 模式示例](#regex-pattern-examples) . - -### Managing project cleanup policy through the API[](#managing-project-cleanup-policy-through-the-api "Permalink") - -您可以使用 GitLab API 设置,更新和禁用清理策略. - -Examples: - -* 选择所有标签,每个图像至少保留 1 个标签,清理超过 14 天的所有标签,每月运行一次,使用名称`master`保留所有图像并启用该策略: - - ``` - curl --request PUT --header 'Content-Type: application/json;charset=UTF-8' --header "PRIVATE-TOKEN: " --data-binary '{"container_expiration_policy_attributes":{"cadence":"1month","enabled":true,"keep_n":1,"older_than":"14d","name_regex":"","name_regex_delete":".*","name_regex_keep":".*-master"}}' 'https://gitlab.example.com/api/v4/projects/2' - ``` - -有关更多详细信息,请参见 API 文档: [编辑项目](../../../api/projects.html#edit-project) . - -### Use with external container registries[](#use-with-external-container-registries "Permalink") - -使用[外部容器注册表时](./../../../administration/packages/container_registry.html#use-an-external-container-registry-with-gitlab-as-an-auth-endpoint) ,在项目上运行清除策略可能会带来性能风险. 如果项目要运行的策略将删除大量标签(成千上万个),则运行该策略的 GitLab 后台作业可能会备份或完全失败. 如果您确信要清除的标签数量很少,建议仅对在 GitLab 12.8 之前创建的项目启用容器清理策略. - -### Regex pattern examples[](#regex-pattern-examples "Permalink") - -清理策略使用正则表达式模式来确定应在 UI 和 API 中保留或删除哪些标签. - -以下是您可能要使用的正则表达式模式的示例: - -* 匹配所有标签: - - ``` - .* - ``` - -* 匹配以`v`开头的标签: - - ``` - v.+ - ``` - -* 匹配包含`master`标签: - - ``` - master - ``` - -* 匹配以`v`开头,包含`master`或包含`release`标签: - - ``` - (?:v.+|master|release) - ``` - -## Use the Container Registry to store Helm Charts[](#use-the-container-registry-to-store-helm-charts "Permalink") - -随着[Helm v3](https://helm.sh/docs/topics/registries/)的发布,您可以使用 Container Registry 存储 Helm Charts. 但是,由于 Docker 传递和存储元数据的方式,GitLab 无法解析此数据并达到性能标准. [本史诗](https://gitlab.com/groups/gitlab-org/-/epics/2313)更新了 Container Registry 的体系结构以支持 Helm Charts. - -您可以[在此处](https://gitlab.com/gitlab-org/gitlab/-/issues/38047#note_298842890)阅读有关上述挑战的更多信息. - -## Limitations[](#limitations "Permalink") - -* 推送图像后,不支持移动或重命名现有 Container Registry 存储库,因为图像已签名,并且签名包含存储库名称. 要使用 Container Registry 移动或重命名存储库,必须删除所有现有映像. -* 在 GitLab 12.10 之前,清理策略不会删除使用与`latest`标签相同的图像 ID 的任何标签. - -## Troubleshooting the GitLab Container Registry[](#troubleshooting-the-gitlab-container-registry "Permalink") - -### Docker connection error[](#docker-connection-error "Permalink") - -当组,项目或分支名​​称中包含特殊字符时,可能会发生 Docker 连接错误. 特殊字符可以包括: - -* 领先的下划线 -* 尾随连字符/破折号 - -为了解决这个问题,您可以[更改组路径](../../group/index.html#changing-a-groups-path) , [更改项目路径](../../project/settings/index.html#renaming-a-repository)或更改分支名称. - -### Troubleshoot as a GitLab server admin[](#troubleshoot-as-a-gitlab-server-admin "Permalink") - -大多数情况下,对 GitLab 容器注册表进行故障排除需要管理员对 GitLab 服务器的访问. - -[Read how to troubleshoot the Container Registry](../../../administration/packages/container_registry.html#troubleshooting). - -### Unable to change path or transfer a project[](#unable-to-change-path-or-transfer-a-project "Permalink") - -如果您尝试更改项目的路径或将项目转移到新的名称空间,则可能会收到以下错误之一: - -* "由于容器的注册表中存在标签,因此无法传输项目." -* "无法移动名称空间,因为至少一个项目在容器注册表中具有标签." - -当项目在容器注册表中有图像时,会发生此问题. 必须先删除或移动这些图像,然后才能更改路径或传输项目. - -以下过程使用这些样本项目名称: - -* 对于当前项目: `example.gitlab.com/org/build/sample_project/cr:v2.9.1` : `example.gitlab.com/org/build/sample_project/cr:v2.9.1` -* 对于新项目: `example.gitlab.com/new_org/build/new_sample_project/cr:v2.9.1` : `example.gitlab.com/new_org/build/new_sample_project/cr:v2.9.1` - -使用您自己的 URL 完成以下步骤: - -1. 将 Docker 映像下载到您的计算机上: - - ``` - docker login example.gitlab.com - docker pull example.gitlab.com/org/build/sample_project/cr:v2.9.1 - ``` - -2. 重命名图像以匹配新的项目名称: - - ``` - docker tag example.gitlab.com/org/build/sample_project/cr:v2.9.1 example.gitlab.com/new_org/build/new_sample_project/cr:v2.9.1 - ``` - -3. 使用[UI](#delete-images)或[API](../../../api/packages.html#delete-a-project-package)删除两个项目中的图像. 图像排队和删除时可能会有延迟. -4. 通过转到**"设置">"常规"**并展开" **高级"**来更改路径或传输项目. -5. 恢复图像: - - ``` - docker push example.gitlab.com/new_org/build/new_sample_project/cr:v2.9.1 - ``` - -有关详细信息,请关注[此问题](https://gitlab.com/gitlab-org/gitlab/-/issues/18383) . \ No newline at end of file diff --git a/docs/277.md b/docs/277.md deleted file mode 100644 index b5ae883..0000000 --- a/docs/277.md +++ /dev/null @@ -1,71 +0,0 @@ -# Dependency Proxy - -> 原文:[https://docs.gitlab.com/ee/user/packages/dependency_proxy/](https://docs.gitlab.com/ee/user/packages/dependency_proxy/) - -* [Supported dependency proxies](#supported-dependency-proxies) -* [Using the Docker dependency proxy](#using-the-docker-dependency-proxy) -* [Clearing the cache](#clearing-the-cache) -* [Limitations](#limitations) - -# Dependency Proxy[](#dependency-proxy-premium-only "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/7934) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 11.11. - -**注意:**这是用户指南. 为了使用依赖代理,管理员必须首先对其进行[配置](../../../administration/packages/dependency_proxy.html) . - -对于许多组织而言,希望为经常使用的上游映像/程序包提供本地代理. 在 CI / CD 的情况下,代理负责接收请求并从注册表中返回上游映像,并充当下拉缓存. - -依赖项代理在组级别可用. 要访问它,请导航到组的**Packages&Registries> Dependency Proxy** . - -[![Dependency Proxy group page](img/64d10619e1633359be63480f18d60b90.png)](img/group_dependency_proxy.png) - -## Supported dependency proxies[](#supported-dependency-proxies "Permalink") - -***注意:**有关代理即将添加的列表,请访问[指导页面](https://about.gitlab.com/direction/package/dependency_proxy/#top-vision-items) .* - -支持以下依赖代理. - -| 依赖代理 | GitLab 版本 | -| --- | --- | -| Docker | 11.11+ | - -## Using the Docker dependency proxy[](#using-the-docker-dependency-proxy "Permalink") - -借助 Docker 依赖项代理,您可以将 GitLab 用作 Docker 映像的源. 要将 Docker 映像放入依赖代理中: - -1. 在" **软件包和** `gitlab.com/groupname/dependency_proxy/containers` **>"依赖代理"**下的组页面上找到代理 URL,例如`gitlab.com/groupname/dependency_proxy/containers` . -2. 触发 GitLab 提取所需的 Docker 映像(例如`alpine:latest`或`linuxserver/nextcloud:latest` ),然后使用以下方法之一将其存储在代理存储中: - - * 手动拉 Docker 镜像: - - ``` - docker pull gitlab.com/groupname/dependency_proxy/containers/alpine:latest - ``` - - * 从`Dockerfile` : - - ``` - FROM gitlab.com/groupname/dependency_proxy/containers/alpine:latest - ``` - - * In [`.gitlab-ci.yml`](../../../ci/yaml/README.html#image): - - ``` - image: gitlab.com/groupname/dependency_proxy/containers/alpine:latest - ``` - -然后,GitLab 将从 Docker Hub 中提取 Docker 映像,并将 blob 缓存在 GitLab 服务器上. 下次您提取同一映像时,它将从 Docker Hub 获取有关该映像的最新信息,但将为 GitLab 提供的现有 Blob 服务. - -斑点被永久保存,并且可以存储多少数据没有硬性限制. - -## Clearing the cache[](#clearing-the-cache "Permalink") - -可以使用 GitLab API 清除给定组的依赖项代理缓存,以获取可能不再需要的图像 Blob 占用的磁盘空间. 有关更多详细信息,请参见[依赖项代理 API 文档](../../../api/dependency_proxy.html) . - -## Limitations[](#limitations "Permalink") - -适用以下限制: - -* 仅支持公共组(尚不支持身份验证). -* 仅支持 Docker Hub. -* 此功能需要 Docker Hub 可用. \ No newline at end of file diff --git a/docs/278.md b/docs/278.md deleted file mode 100644 index 1502d9f..0000000 --- a/docs/278.md +++ /dev/null @@ -1,126 +0,0 @@ -# GitLab Composer Repository - -> 原文:[https://docs.gitlab.com/ee/user/packages/composer_repository/](https://docs.gitlab.com/ee/user/packages/composer_repository/) - -* [Enabling the Composer Repository](#enabling-the-composer-repository) -* [Getting started](#getting-started) - * [Creating a package project](#creating-a-package-project) - * [Publishing the package](#publishing-the-package) - * [Installing a package](#installing-a-package) - -# GitLab Composer Repository[](#gitlab-composer-repository-premium "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/15886) in [GitLab Premium](https://about.gitlab.com/pricing/) 13.2. - -使用 GitLab Composer 信息库,每个项目都可以有自己的空间来存储[Composer](https://s0getcomposer0org.icopy.site/)软件包. - -## Enabling the Composer Repository[](#enabling-the-composer-repository "Permalink") - -**注意:**仅当您的 GitLab 管理员[启用了对 Package Registry 的支持时,](../../../administration/packages/index.html)此选项才可用. - -启用 Composer 信息库后,默认情况下它将可用于所有新项目. 要为现有项目启用它,或者要禁用它: - -1. 导航到项目的**"设置">"常规">"可见性,项目功能,权限"** . -2. 找到"软件包"功能并启用或禁用它. -3. 单击**保存更改**以使更改生效. - -然后,您应该能够在左侧栏中看到" **程序包和注册表"**部分. - -## Getting started[](#getting-started "Permalink") - -本节将介绍如何创建一个新的示例 Composer 软件包进行发布. 这是测试**GitLab Composer 注册表**的快速入门. - -您将需要最新版本的[Composer](https://s0getcomposer0org.icopy.site/) . - -### Creating a package project[](#creating-a-package-project "Permalink") - -了解如何创建完整的 Composer 项目不在本指南的范围内,但是您可以创建一个小程序包来测试注册表. 首先创建一个名为`my-composer-package`的新目录: - -``` -mkdir my-composer-package && cd my-composer-package -``` - -在此目录中创建一个新的`composer.json`文件以设置基本项目: - -``` -touch composer.json -``` - -在`composer.json`内部,添加以下代码: - -``` -{ "name": "/composer-test", "type": "library", "license": "GPL-3.0-only", "version": "1.0.0" } -``` - -将``替换为唯一的命名空间,例如您的 GitLab 用户名或组名. - -在创建了基本的包结构之后,我们需要在 Git 中对其进行标记并将其推送到存储库中. - -``` -git init -git add composer.json -git commit -m 'Composer package test' -git tag v1.0.0 -git add origin git@gitlab.com:/.git -git push origin v1.0.0 -``` - -### Publishing the package[](#publishing-the-package "Permalink") - -现在,我们的项目基础已经完成,我们可以发布该软件包了. 为此,您将需要以下内容: - -* 个人访问令牌. 您可以生成范围设置为`api`的[个人访问令牌](../../../user/profile/personal_access_tokens.html) ,以进行存储库身份验证. -* 您的项目 ID,可以在项目的主页上找到. - -要发布托管在 GitLab 上的软件包,我们需要使用`curl`这样的工具对 GitLab 软件包 API 进行`POST` : - -``` -curl --data tag= 'https://__token__:@gitlab.com/api/v4/projects//packages/composer' -``` - -Where: - -* ``是您的个人访问令牌. -* ``是您的项目 ID. -* ``是您要发布的版本的 Git 标记名称. 在此示例中,它应为`v1.0.0` . 请注意,除了使用`tag=`您还可以使用`branch=`来发布分支. - -如果上面的命令成功执行,您现在应该可以在项目页面的" **程序包和注册表"**部分下看到该程序包. - -### Installing a package[](#installing-a-package "Permalink") - -要安装您的软件包,您需要: - -* 个人访问令牌. 您可以生成范围设置为`api`的[个人访问令牌](../../../user/profile/personal_access_tokens.html) ,以进行存储库身份验证. -* 您的组 ID,可在项目组的主页上找到. - -将 GitLab Composer 软件包存储库以及要安装的软件包名称和版本添加到现有项目的`composer.json`文件中,如下所示: - -``` -{ ... "repositories": [ { "type": "composer", "url": "https://gitlab.com/api/v4/group//-/packages/composer/packages.json" } ], "require": { ... "": "" }, ... } -``` - -Where: - -* ``是在项目的"组"页面下找到的组 ID. -* ``是软件包的`composer.json`文件中定义的软件包名称. -* ``是您的软件包版本(在此示例中为`1.0.0` ). - -您还需要使用 GitLab 凭据创建一个`auth.json`文件: - -``` -{ "http-basic": { "gitlab.com": { "username": "___token___", "password": "" } } } -``` - -Where: - -* ``是您的个人访问令牌. - -配置了`composer.json`和`auth.json`文件后,您可以通过运行`composer`安装软件包: - -``` -composer update -``` - -如果成功,您应该能够看到指示软件包已成功安装的输出. - -**重要提示:**请确保不要将`auth.json`文件提交到您的存储库. 要从 CI 作业安装软件包,请考虑将[`composer config`](https://s0getcomposer0org.icopy.site/doc/articles/handling-private-packages-with-satis.md)工具与您的个人访问令牌一起使用,并将其存储在[GitLab CI / CD 环境变量](../../../ci/variables/README.html)或[Hashicorp Vault 中](../../../ci/examples/authenticating-with-hashicorp-vault/index.html) . \ No newline at end of file diff --git a/docs/279.md b/docs/279.md deleted file mode 100644 index d776d6b..0000000 --- a/docs/279.md +++ /dev/null @@ -1,290 +0,0 @@ -# GitLab Conan Repository - -> 原文:[https://docs.gitlab.com/ee/user/packages/conan_repository/](https://docs.gitlab.com/ee/user/packages/conan_repository/) - -* [Enabling the Conan Repository](#enabling-the-conan-repository) -* [Getting started](#getting-started) - * [Installing Conan](#installing-conan) - * [Installing CMake](#installing-cmake) - * [Creating a project](#creating-a-project) - * [Building a package](#building-a-package) -* [Adding the GitLab Package Registry as a Conan remote](#adding-the-gitlab-package-registry-as-a-conan-remote) -* [Authenticating to the GitLab Conan Repository](#authenticating-to-the-gitlab-conan-repository) - * [Adding a Conan user to the GitLab remote](#adding-a-conan-user-to-the-gitlab-remote) - * [Setting a default remote to your project (optional)](#setting-a-default-remote-to-your-project-optional) -* [Uploading a package](#uploading-a-package) - * [Package recipe naming convention](#package-recipe-naming-convention) -* [Installing a package](#installing-a-package) -* [Removing a package](#removing-a-package) -* [Searching the GitLab Package Registry for Conan packages](#searching-the-gitlab-package-registry-for-conan-packages) -* [Fetching Conan package information from the GitLab Package Registry](#fetching-conan-package-information-from-the-gitlab-package-registry) -* [List of supported CLI commands](#list-of-supported-cli-commands) -* [Using GitLab CI with Conan packages](#using-gitlab-ci-with-conan-packages) - -# GitLab Conan Repository[](#gitlab-conan-repository-premium "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/8248) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.6. - -有了 GitLab 柯南存储库,每个项目都可以有自己的空间来存储柯南软件包. - -[![GitLab Conan Repository](img/5bf127e31dfc7f61e3134780f75114ff.png)](img/conan_package_view.png) - -## Enabling the Conan Repository[](#enabling-the-conan-repository "Permalink") - -**注意:**仅当您的 GitLab 管理员[启用了对 Conan Repository 的支持时,](../../../administration/packages/index.html)此选项才可用. - -启用柯南存储库后,默认情况下它将可用于所有新项目. 要为现有项目启用它,或者要禁用它: - -1. 导航到项目的**"设置">"常规">"可见性,项目功能,权限"** . -2. 找到"软件包"功能并启用或禁用它. -3. 单击**保存更改**以使更改生效. - -然后,您应该能够在左侧栏中看到" **程序包和注册表"**部分. - -## Getting started[](#getting-started "Permalink") - -本节将介绍如何安装 Conan 以及为 C / C ++项目构建软件包. 如果您不熟悉柯南,这是一个快速入门. 如果您已经在使用 Conan 并且了解如何构建自己的软件包,请继续[下一节](#adding-the-gitlab-package-registry-as-a-conan-remote) . - -### Installing Conan[](#installing-conan "Permalink") - -按照[conan.io](https://conan.io/downloads.html)上的说明将 Conan 软件包管理器下载到本地开发环境. - -安装完成后,通过运行以下命令验证您可以在终端中使用 Conan - -``` -conan --version -``` - -您应该在输出中看到柯南版本: - -``` -Conan version 1.20.5 -``` - -### Installing CMake[](#installing-cmake "Permalink") - -使用 C ++和 Conan 进行开发时,编译器有多种选择. 本教程将逐步介绍如何使用 cmake 编译器. 在您的终端中,运行命令 - -``` -cmake --version -``` - -您应该会在输出中看到 cmake 版本. 如果看到其他内容,则可能必须安装 cmake. - -在 Mac 上,您可以通过运行`brew install cmake`来使用[自制软件](https://brew.sh/) `brew install cmake` . 否则,请按照[cmake.org 中](https://cmake.org/install/)针对您的操作系统的说明进行操作. - -### Creating a project[](#creating-a-project "Permalink") - -了解创建有效且可编译的 C ++项目所需的内容不在本指南的范围之内,但是,如果您是 C ++的新手,并且想尝试 GitLab 软件包注册表,那么 Conan.io 会提供一个很棒的[Hello World 入门项目](https://github.com/conan-io/hello)可以克隆以开始使用. - -如果您没有自己的 C ++项目,请克隆该存储库,并将其用于本教程的其余部分. - -### Building a package[](#building-a-package "Permalink") - -在终端中,导航到项目的根文件夹. 通过运行`conan new`并为其提供程序包名称和版本来生成新配方: - -``` -conan new Hello/0.1 -t -``` - -接下来,您将通过运行提供 Conan 用户和频道的`conan create`来为该配方创建一个程序包: - -``` -conan create . my-org+my-group+my-project/beta -``` - -**注意:**当前的[命名限制](#package-recipe-naming-convention)要求您将`user`值[命名](#package-recipe-naming-convention)为项目在 GitLab 上的`+`分隔路径. - -上面的示例将创建一个属于该项目的软件包: `https://gitlab.com/my-org/my-group/my-project` : `https://gitlab.com/my-org/my-group/my-project` ,其通道为`beta` . - -这两个示例命令将使用配方`Hello/0.1@my-org+my-group+my-project/beta`生成最终软件包. - -有关创建和管理软件包的更多高级详细信息,请参阅[Conan docs](https://docs.conan.io/en/latest/creating_packages.html) . - -现在,您可以将软件包上传到 GitLab 注册表了. 首先,您需要将 GitLab 设置为远程,然后需要为该远程添加一个 Conan 用户以验证您的请求. - -## Adding the GitLab Package Registry as a Conan remote[](#adding-the-gitlab-package-registry-as-a-conan-remote "Permalink") - -Add a new remote to your Conan configuration: - -``` -conan remote add gitlab https://gitlab.example.com/api/v4/packages/conan -``` - -一旦设置了遥控器,您就可以在运行 Conan 命令时使用遥控器,方法是在命令末尾添加`--remote=gitlab` . - -例如: - -``` -conan search Hello* --all --remote=gitlab -``` - -## Authenticating to the GitLab Conan Repository[](#authenticating-to-the-gitlab-conan-repository "Permalink") - -您将需要一个个人访问令牌或部署令牌. - -对于存储库身份验证: - -* 您可以将范围设置为`api`来生成[个人访问令牌](../../../user/profile/personal_access_tokens.html) . -* 您可以生成[令牌部署](./../../project/deploy_tokens/index.html)与范围设置为`read_package_registry` , `write_package_registry` ,或两者兼而有之. - -### Adding a Conan user to the GitLab remote[](#adding-a-conan-user-to-the-gitlab-remote "Permalink") - -一旦有了个人访问令牌并[设置了 Conan remote](#adding-the-gitlab-package-registry-as-a-conan-remote) ,就可以将令牌与远程关联,因此您不必将它们显式添加到您运行的每个 Conan 命令中: - -``` -conan user -r gitlab -p -``` - -**注意:**如果您使用`gitlab`以外的名称来命名远程,则应在此命令中使用您的远程名称,而不是`gitlab` . - -从现在开始,当您使用`--remote=gitlab`运行命令时,您的用户名和密码将自动包含在请求中. - -**注意:**个人访问令牌不会随时存储在本地. Conan 使用 JWT,因此当您运行此命令时,Conan 将使用您的令牌从 GitLab 请求一个过期的令牌. JWT 确实会定期失效,因此您需要在这种情况下重新输入个人访问令牌. - -或者,您可以在任何给定命令中显式包括您的凭据. 例如: - -``` -CONAN_LOGIN_USERNAME= CONAN_PASSWORD= conan upload Hello/0.1@my-group+my-project/beta --all --remote=gitlab -``` - -### Setting a default remote to your project (optional)[](#setting-a-default-remote-to-your-project-optional "Permalink") - -如果您希望柯南始终使用 GitLab 作为软件包的注册表,则可以告诉柯南始终为给定的软件包配方引用 GitLab 远程: - -``` -conan remote add_ref Hello/0.1@my-group+my-project/beta gitlab -``` - -**注意:**软件包配方中确实包含该版本,因此为`Hello/0.1@user/channel`设置默认远程将不适用于`Hello/0.2@user/channel` . 此功能最适合需要从 GitLab 注册表使用或安装软件包而无需指定远程服务器的情况. - -本文档中其余的示例命令假定您已将具有凭据的 Conan 用户添加到`gitlab`远程,并且不包括显式凭据或远程选项,但是请注意,可以在不添加任何命令的情况下运行任何命令.用户或默认遥控器: - -``` -`CONAN_LOGIN_USERNAME= CONAN_PASSWORD= --remote=gitlab -``` - -## Uploading a package[](#uploading-a-package "Permalink") - -首先,您需要在[本地创建 Conan 软件包](https://docs.conan.io/en/latest/creating_packages/getting_started.html) . 为了使用 GitLab 软件包注册表,必须遵循特定的[命名约定](#package-recipe-naming-convention) . - -通过选择`api` [范围,](../../../user/profile/personal_access_tokens.html#limiting-scopes-of-a-personal-access-token)确保在 GitLab 上创建了一个项目,并且所使用的个人访问令牌具有对容器注册表进行写访问的正确权限. - -您可以使用`conan upload`命令将软件包上传到 GitLab 软件包注册表: - -``` -conan upload Hello/0.1@my-group+my-project/beta --all -``` - -### Package recipe naming convention[](#package-recipe-naming-convention "Permalink") - -标准柯南食谱约定看起来像`package_name/version@user/channel` . - -**配方用户必须是`+`分隔的项目路径** . 程序包名称可以是任何名称,但最好使用项目名称,除非由于命名冲突而无法使用. 例如: - -| Project | Package | Supported | -| --- | --- | --- | -| `foo/bar` | `my-package/1.0.0@foo+bar/stable` | Yes | -| `foo/bar-baz/buz` | `my-package/1.0.0@foo+bar-baz+buz/stable` | Yes | -| `gitlab-org/gitlab-ce` | `my-package/1.0.0@gitlab-org+gitlab-ce/stable` | Yes | -| `gitlab-org/gitlab-ce` | `my-package/1.0.0@foo/stable` | No | - -**注意:**将来的迭代将扩展对[项目和组级别](https://gitlab.com/gitlab-org/gitlab/-/issues/11679)远程服务器的支持,这将允许更灵活的命名约定. - -## Installing a package[](#installing-a-package "Permalink") - -通常使用`conanfile.txt`文件将 Conan 软件包作为依赖项安装. - -在要作为依赖项安装 Conan 软件包的项目中,打开`conanfile.txt`或在项目的根目录中创建一个名为`conanfile.txt`的空文件. - -将柯南食谱添加到文件的`[requires]`部分: - -``` - [requires] - Hello/0.1@my-group+my-project/beta - - [generators] - cmake -``` - -接下来,从您的项目的根目录创建一个构建目录并导航到它: - -``` -mkdir build && cd build -``` - -现在,您可以安装`conanfile.txt`列出的依赖`conanfile.txt` : - -``` -conan install .. -``` - -**注意:**如果您要安装在本教程中刚刚创建的软件包,则不会发生太多事情,因为该软件包已在本地计算机上存在. - -## Removing a package[](#removing-a-package "Permalink") - -有两种方法可以从 GitLab 软件包注册表中删除 Conan 软件包. - -* **在命令行中使用 Conan 客户端:** - - ``` - conan remove Hello/0.2@user/channel --remote=gitlab - ``` - - 您需要在此命令中明确包含遥控器,否则该程序包将仅从本地系统缓存中删除. - - **注意:**此命令将从软件包注册表中删除所有配方和二进制软件包文件. -* **GitLab 项目界面** :在项目页面的软件包视图中,您可以通过单击红色垃圾图标来删除软件包. - -## Searching the GitLab Package Registry for Conan packages[](#searching-the-gitlab-package-registry-for-conan-packages "Permalink") - -`conan search`命令可以按完整或部分软件包名称或精确配方进行搜索. - -要使用部分名称进行搜索,请使用通配符`*` ,该通配符应放在搜索的末尾(例如, `my-packa*` ): - -``` -conan search Hello --all --remote=gitlab -conan search He* --all --remote=gitlab -conan search Hello/0.1@my-group+my-project/beta --all --remote=gitlab -``` - -搜索范围将包括您有权访问的所有项目,包括私人项目以及所有公共项目. - -## Fetching Conan package information from the GitLab Package Registry[](#fetching-conan-package-information-from-the-gitlab-package-registry "Permalink") - -`conan info`命令将返回有关给定软件包的信息: - -``` -conan info Hello/0.1@my-group+my-project/beta -``` - -## List of supported CLI commands[](#list-of-supported-cli-commands "Permalink") - -GitLab Conan 存储库支持以下 Conan CLI 命令: - -* `conan upload` :将您的配方和包文件上载到 GitLab 包注册表. -* `conan install` :从 GitLab 软件包注册表中安装`conanfile.txt`软件包,包括使用`conanfile.txt`文件. -* `conan search`: Search the GitLab Package Registry for public packages, and private packages you have permission to view. -* `conan info` :从 GitLab 软件包注册表中查看有关给定软件包的信息. -* `conan remove` :从 GitLab 软件包注册表中删除该软件包. - -## Using GitLab CI with Conan packages[](#using-gitlab-ci-with-conan-packages "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/11678) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.7. - -要在[GitLab CI / CD 中](./../../../ci/README.html)使用柯南命令,可以在命令中使用`CI_JOB_TOKEN`代替个人访问令牌. - -在`.gitlab-ci.yml`文件中为每个柯南命令提供`CONAN_LOGIN_USERNAME`和`CONAN_PASSWORD`是最简单的: - -``` -image: conanio/gcc7 - -create_package: - stage: deploy - script: - - conan remote add gitlab https://gitlab.example.com/api/v4/packages/conan - - conan create . my-group+my-project/beta - - CONAN_LOGIN_USERNAME=ci_user CONAN_PASSWORD=${CI_JOB_TOKEN} conan upload Hello/0.1@root+ci-conan/beta1 --all --remote=gitlab -``` - -您可以在[Conan 文档中](https://docs.conan.io/en/latest/howtos/run_conan_in_docker.html#available-docker-images)找到其他柯南图像用作 CI 文件的基础. \ No newline at end of file diff --git a/docs/280.md b/docs/280.md deleted file mode 100644 index 2fbb9a6..0000000 --- a/docs/280.md +++ /dev/null @@ -1,784 +0,0 @@ -# GitLab Maven Repository - -> 原文:[https://docs.gitlab.com/ee/user/packages/maven_repository/](https://docs.gitlab.com/ee/user/packages/maven_repository/) - -* [Enabling the Maven Repository](#enabling-the-maven-repository) -* [Getting Started with Maven](#getting-started-with-maven) - * [Installing Maven](#installing-maven) - * [Creating a project](#creating-a-project) -* [Getting started with Gradle](#getting-started-with-gradle) - * [Installing Gradle](#installing-gradle) - * [Creating a project in Gradle](#creating-a-project-in-gradle) -* [Adding the GitLab Package Registry as a Maven remote](#adding-the-gitlab-package-registry-as-a-maven-remote) - * [Authenticating with a personal access token](#authenticating-with-a-personal-access-token) - * [Authenticating with a personal access token in Maven](#authenticating-with-a-personal-access-token-in-maven) - * [Authenticating with a personal access token in Gradle](#authenticating-with-a-personal-access-token-in-gradle) - * [Authenticating with a CI job token](#authenticating-with-a-ci-job-token) - * [Authenticating with a CI job token in Maven](#authenticating-with-a-ci-job-token-in-maven) - * [Authenticating with a CI job token in Gradle](#authenticating-with-a-ci-job-token-in-gradle) - * [Authenticating with a deploy token](#authenticating-with-a-deploy-token) - * [Authenticating with a deploy token in Maven](#authenticating-with-a-deploy-token-in-maven) - * [Authenticating with a deploy token in Gradle](#authenticating-with-a-deploy-token-in-gradle) -* [Configuring your project to use the GitLab Maven repository URL](#configuring-your-project-to-use-the-gitlab-maven-repository-url) - * [Project level Maven endpoint](#project-level-maven-endpoint) - * [Group level Maven endpoint](#group-level-maven-endpoint) - * [Instance level Maven endpoint](#instance-level-maven-endpoint) -* [Uploading packages](#uploading-packages) - * [Upload using Maven](#upload-using-maven) - * [Upload using Gradle](#upload-using-gradle) -* [Installing a package](#installing-a-package) - * [Install using Maven with `mvn install`](#install-using-maven-with-mvn-install) - * [Install with `mvn dependency:get`](#install-with-mvn-dependencyget) - * [Install using Gradle](#install-using-gradle) -* [Removing a package](#removing-a-package) -* [Creating Maven packages with GitLab CI/CD](#creating-maven-packages-with-gitlab-cicd) - * [Creating Maven packages with GitLab CI/CD using Maven](#creating-maven-packages-with-gitlab-cicd-using-maven) - * [Creating Maven packages with GitLab CI/CD using Gradle](#creating-maven-packages-with-gitlab-cicd-using-gradle) - * [Version validation](#version-validation) -* [Troubleshooting](#troubleshooting) - * [Useful Maven command line options](#useful-maven-command-line-options) - * [Verifying your Maven settings](#verifying-your-maven-settings) - -# GitLab Maven Repository[](#gitlab-maven-repository-premium "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/5811) in [GitLab Premium](https://about.gitlab.com/pricing/) 11.3. - -使用 GitLab [Maven](https://maven.apache.org)存储库,每个项目都可以有自己的空间来存储其 Maven 工件. - -[![GitLab Maven Repository](img/243c1a9fc7dab75d6576c27470e73bf0.png)](img/maven_package_view_v12_6.png) - -## Enabling the Maven Repository[](#enabling-the-maven-repository "Permalink") - -**注意:**仅当您的 GitLab 管理员[启用了对 Maven 存储库的支持时,](../../../administration/packages/index.html)此选项才可用. - -启用"软件包"功能后,默认情况下,Maven 存储库将可用于所有新项目. 要为现有项目启用它,或者要禁用它: - -1. 导航到项目的**"设置">"常规">"可见性,项目功能,权限"** . -2. 找到"软件包"功能并启用或禁用它. -3. 单击**保存更改**以使更改生效. - -然后,您应该能够在左侧栏中看到" **程序包和注册表"**部分. 接下来,您必须配置您的项目以使用 GitLab Maven 存储库进行授权. - -## Getting Started with Maven[](#getting-started-with-maven "Permalink") - -本节将介绍安装 Maven 和构建软件包. 如果您不熟悉构建 Maven 软件包,这是一个快速入门. 如果您已经在使用 Maven 并且了解如何构建自己的软件包,请转到[下一节](#adding-the-gitlab-package-registry-as-a-maven-remote) . - -Maven 仓库也可以与 Gradle 一起很好地工作. 如果要设置 Gradle 项目,请继续[使用 Gradle 入门](#getting-started-with-gradle) . - -### Installing Maven[](#installing-maven "Permalink") - -所需的最低版本为: - -* Java 11.0.5 以上 -* Maven 3.6+ - -按照[maven.apache.org](https://maven.apache.org/install.html)上的说明下载并安装适用于您本地开发环境的 Maven. 安装完成后,通过运行以下命令验证您可以在终端中使用 Maven: - -``` -mvn --version -``` - -您应该在输出中看到类似于以下内容的内容: - -``` -Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-04T20:00:29+01:00) -Maven home: /Users//apache-maven-3.6.1 -Java version: 12.0.2, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk-12.0.2.jdk/Contents/Home -Default locale: en_GB, platform encoding: UTF-8 -OS name: "mac os x", version: "10.15.2", arch: "x86_64", family: "mac" -``` - -### Creating a project[](#creating-a-project "Permalink") - -了解如何创建完整的 Java 项目不在本指南的范围内,但是您可以按照以下步骤创建一个新项目,该项目可以发布到 GitLab Package Registry. - -首先打开终端并创建一个目录,您要将目录存储在环境中. 从目录内部,您可以运行以下 Maven 命令来初始化新程序包: - -``` -mvn archetype:generate -DgroupId=com.mycompany.mydepartment -DartifactId=my-project -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false -``` - -参数如下: - -* `DgroupId` :标识您的包裹的唯一字符串. 您应该遵循[Maven 命名约定](https://maven.apache.org/guides/mini/guide-naming-conventions.html) . -* `DartifactId` :JAR 的名称,附加在`DgroupId`的末尾. -* `DarchetypeArtifactId` :用于创建项目初始结构的原型. -* `DinteractiveMode` :使用批处理模式(可选)创建项目. - -运行该命令后,您应该看到以下消息,表明您的项目已成功设置: - -``` -... -[INFO] ------------------------------------------------------------------------ -[INFO] BUILD SUCCESS -[INFO] ------------------------------------------------------------------------ -[INFO] Total time: 3.429 s -[INFO] Finished at: 2020-01-28T11:47:04Z -[INFO] ------------------------------------------------------------------------ -``` - -您应该看到一个新目录,在该目录中运行与`DartifactId`参数匹配的命令(在这种情况下,它应该是`my-project` ). - -## Getting started with Gradle[](#getting-started-with-gradle "Permalink") - -本节将介绍如何安装 Gradle 和初始化 Java 项目. 如果您不熟悉 Gradle,这是一个快速入门. 如果您已经在使用 Gradle 并且了解如何构建自己的软件包,请转到[下一部分](#adding-the-gitlab-package-registry-as-a-maven-remote) . - -### Installing Gradle[](#installing-gradle "Permalink") - -仅当您要创建新的 Gradle 项目时才需要安装. 按照[gradle.org](https://s0gradle0org.icopy.site/install/)上的说明为您的本地开发环境下载并安装 Gradle. - -通过运行以下命令验证您可以在终端中使用 Gradle: - -``` -gradle -version -``` - -如果要使用现有的 Gradle 项目,则不需要安装. 只需在项目目录中执行`gradlew` (在 Linux 上)或`gradlew.bat` (在 Windows 上)即可. - -You should see something imilar to the below printed in the output: - -``` ------------------------------------------------------------- -Gradle 6.0.1 ------------------------------------------------------------- - -Build time: 2019-11-18 20:25:01 UTC -Revision: fad121066a68c4701acd362daf4287a7c309a0f5 - -Kotlin: 1.3.50 -Groovy: 2.5.8 -Ant: Apache Ant(TM) version 1.10.7 compiled on September 1 2019 -JVM: 11.0.5 (Oracle Corporation 11.0.5+10) -OS: Windows 10 10.0 amd64 -``` - -### Creating a project in Gradle[](#creating-a-project-in-gradle "Permalink") - -了解如何在 Gradle 中创建完整的 Java 项目不在本指南的范围内,但是您可以按照以下步骤创建一个可以发布到 GitLab Package Registry 的新项目. - -首先打开终端并创建一个目录,您要将目录存储在环境中. 从目录内部,您可以运行以下 Maven 命令来初始化新程序包: - -``` -gradle init -``` - -输出应为 - -``` -Select type of project to generate: - 1: basic - 2: application - 3: library - 4: Gradle plugin -Enter selection (default: basic) [1..4] -``` - -输入`3`创建一个新的 Library 项目. 输出应为: - -``` -Select implementation language: - 1: C++ - 2: Groovy - 3: Java - 4: Kotlin - 5: Scala - 6: Swift -``` - -输入`3`创建一个新的 Java 库项目. 输出应为: - -``` -Select build script DSL: - 1: Groovy - 2: Kotlin -Enter selection (default: Groovy) [1..2] -``` - -选择`1`创建一个新的 Java 库项目,该项目将在 Groovy DSL 中进行描述. 输出应为: - -``` -Select test framework: - 1: JUnit 4 - 2: TestNG - 3: Spock - 4: JUnit Jupiter -``` - -选择`1`以使用 JUnit 4 测试库初始化项目. 输出应为: - -``` -Project name (default: test): -``` - -输入项目名称或按 Enter 键以使用目录名称作为项目名称. - -## Adding the GitLab Package Registry as a Maven remote[](#adding-the-gitlab-package-registry-as-a-maven-remote "Permalink") - -下一步是将 GitLab 软件包注册表添加为 Maven 遥控器. 如果项目是私有的,或者您想将 Maven 工件上传到 GitLab,则也需要提供凭据进行授权. 仅对[个人访问令牌](#authenticating-with-a-personal-access-token) , [CI 作业令牌](#authenticating-with-a-ci-job-token)和[部署令牌提供支持](../../project/deploy_tokens/index.html) . 常规的用户名/密码凭据不起作用. - -### Authenticating with a personal access token[](#authenticating-with-a-personal-access-token "Permalink") - -要使用[个人访问令牌进行](../../profile/personal_access_tokens.html)身份验证,请在创建[令牌](../../profile/personal_access_tokens.html)时将范围设置为`api` ,并将其添加到您的 Maven 或 Gradle 配置文件中. - -#### Authenticating with a personal access token in Maven[](#authenticating-with-a-personal-access-token-in-maven "Permalink") - -将相应的部分添加到[`settings.xml`](https://maven.apache.org/settings.html)文件中: - -``` - - - - gitlab-maven - - - - Private-Token - REPLACE_WITH_YOUR_PERSONAL_ACCESS_TOKEN - - - - - - -``` - -#### Authenticating with a personal access token in Gradle[](#authenticating-with-a-personal-access-token-in-gradle "Permalink") - -创建具有以下内容的文件`~/.gradle/gradle.properties` : - -``` -gitLabPrivateToken=REPLACE_WITH_YOUR_PERSONAL_ACCESS_TOKEN -``` - -在您的[`build.gradle`](https://s0docs0gradle0org.icopy.site/current/userguide/tutorial_using_tasks.html)文件中添加一个存储库部分: - -``` -repositories { - maven { - url "https:///api/v4/groups//-/packages/maven" - name "GitLab" - credentials(HttpHeaderCredentials) { - name = 'Private-Token' - value = gitLabPrivateToken - } - authentication { - header(HttpHeaderAuthentication) - } - } -} -``` - -You should now be able to upload Maven artifacts to your project. - -### Authenticating with a CI job token[](#authenticating-with-a-ci-job-token "Permalink") - -如果您使用的是 GitLab CI / CD,则可以使用 CI 作业令牌代替个人访问令牌. - -#### Authenticating with a CI job token in Maven[](#authenticating-with-a-ci-job-token-in-maven "Permalink") - -要使用 CI 作业令牌进行身份验证,请将相应部分添加到[`settings.xml`](https://maven.apache.org/settings.html)文件中: - -``` - - - - gitlab-maven - - - - Job-Token - ${env.CI_JOB_TOKEN} - - - - - - -``` - -您可以阅读有关[如何使用 GitLab CI / CD 创建 Maven 软件包的](#creating-maven-packages-with-gitlab-cicd)更多信息. - -#### Authenticating with a CI job token in Gradle[](#authenticating-with-a-ci-job-token-in-gradle "Permalink") - -要使用 CI 作业令牌进行身份验证,请在[`build.gradle`](https://s0docs0gradle0org.icopy.site/current/userguide/tutorial_using_tasks.html)文件中添加一个存储库部分: - -``` -repositories { - maven { - url "https:///api/v4/groups//-/packages/maven" - name "GitLab" - credentials(HttpHeaderCredentials) { - name = 'Job-Token' - value = '${CI_JOB_TOKEN}' - } - authentication { - header(HttpHeaderAuthentication) - } - } -} -``` - -### Authenticating with a deploy token[](#authenticating-with-a-deploy-token "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/213566) in [GitLab Premium](https://about.gitlab.com/pricing/) 13.0. - -要使用[部署令牌进行](./../../project/deploy_tokens/index.html)身份验证,请在创建[令牌](./../../project/deploy_tokens/index.html)时将范围设置为`api` ,然后将其添加到您的 Maven 或 Gradle 配置文件中. - -#### Authenticating with a deploy token in Maven[](#authenticating-with-a-deploy-token-in-maven "Permalink") - -将相应的部分添加到[`settings.xml`](https://maven.apache.org/settings.html)文件中: - -``` - - - - gitlab-maven - - - - Deploy-Token - REPLACE_WITH_YOUR_DEPLOY_TOKEN - - - - - - -``` - -#### Authenticating with a deploy token in Gradle[](#authenticating-with-a-deploy-token-in-gradle "Permalink") - -要使用部署令牌进行身份验证,请将存储库部分添加到[`build.gradle`](https://s0docs0gradle0org.icopy.site/current/userguide/tutorial_using_tasks.html)文件中: - -``` -repositories { - maven { - url "https:///api/v4/groups//-/packages/maven" - name "GitLab" - credentials(HttpHeaderCredentials) { - name = 'Deploy-Token' - value = '' - } - authentication { - header(HttpHeaderAuthentication) - } - } -} -``` - -## Configuring your project to use the GitLab Maven repository URL[](#configuring-your-project-to-use-the-gitlab-maven-repository-url "Permalink") - -要从 GitLab 下载和上传软件包,您需要在`pom.xml`文件中的" `repository` and `distributionManagement`部分. 如果您按照上面的步骤操作,则需要将以下信息添加到`my-project/pom.xml`文件中. - -根据您的工作流程和所拥有的 Maven 软件包的数量,可以通过 3 种方式配置项目以将 GitLab 端点用于 Maven 软件包: - -* **项目级别** :当您有几个不在同一 GitLab 组中的 Maven 软件包时,此选项很有用. -* **组级别** :当您在同一个 GitLab 组中有多个 Maven 软件包时,此选项很有用. -* **实例级别** :当您在不同的 GitLab 组下或它们自己的名称空间上有许多 Maven 软件包时很有用. - -**注意:**在所有情况下,都需要一个项目特定的 URL 才能在`distributionManagement`部分中上载软件包. - -### Project level Maven endpoint[](#project-level-maven-endpoint "Permalink") - -下面的示例显示了`pom.xml`的相关`repository`部分在 Maven 中的样子: - -``` - - - gitlab-maven - https://gitlab.com/api/v4/projects/PROJECT_ID/packages/maven - - - - - gitlab-maven - https://gitlab.com/api/v4/projects/PROJECT_ID/packages/maven - - - gitlab-maven - https://gitlab.com/api/v4/projects/PROJECT_ID/packages/maven - - -``` - -Gradle 中的相应部分如下所示: - -``` -repositories { - maven { - url "https://gitlab.com/api/v4/projects/PROJECT_ID/packages/maven" - name "GitLab" - } -} -``` - -该`id`必须与您[在`settings.xml`定义](#adding-the-gitlab-package-registry-as-a-maven-remote)的`id`相同. - -将`PROJECT_ID`替换为可以在项目主页上找到的项目 ID. - -如果您具有自行管理的 GitLab 安装, `gitlab.com`使用您的域名替换`gitlab.com` . - -**注意:**要检索工件,可以使用项目的[URL 编码](../../../api/README.html#namespaced-path-encoding)路径(例如`group/project` )或项目的 ID(例如`42` ). 但是,只能使用项目的 ID 进行上传. - -### Group level Maven endpoint[](#group-level-maven-endpoint "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/8798) in [GitLab Premium](https://about.gitlab.com/pricing/) 11.7. - -如果您依赖于许多软件包,则在`repository`部分中为每个软件包添加唯一的 URL 可能效率不高. 相反,您可以将组级别端点用于存储在一个 GitLab 组中的所有 Maven 软件包. 只有您有权访问的软件包才可以下载. - -组级别端点可与任何程序包名称一起使用,这意味着与[实例级别端点](#instance-level-maven-endpoint)相比,您具有更大的命名灵活性. 但是,GitLab 不能保证软件包名称在组中的唯一性. 您可以有两个具有相同软件包名称和软件包版本的项目. 因此,GitLab 将服务于较新的那个. - -下面的示例显示`pom.xml`的相关`repository`部分的外观. 您仍需要一个特定于项目的 URL 来在`distributionManagement`部分中上传软件包: - -``` - - - gitlab-maven - https://gitlab.com/api/v4/groups/GROUP_ID/-/packages/maven - - - - - gitlab-maven - https://gitlab.com/api/v4/projects/PROJECT_ID/packages/maven - - - gitlab-maven - https://gitlab.com/api/v4/projects/PROJECT_ID/packages/maven - - -``` - -对于 Gradle,相应的存储库部分如下所示: - -``` -repositories { - maven { - url "https://gitlab.com/api/v4/groups/GROUP_ID/-/packages/maven" - name "GitLab" - } -} -``` - -该`id`必须与您[在`settings.xml`定义](#adding-the-gitlab-package-registry-as-a-maven-remote)的`id`相同. - -在您的项目主页上可以找到您的组名,将`my-group`替换为您的组名,将`PROJECT_ID`替换为您的项目 ID. - -如果您具有自行管理的 GitLab 安装, `gitlab.com`使用您的域名替换`gitlab.com` . - -**注意:**对于检索工件,您可以使用组的[URL 编码](../../../api/README.html#namespaced-path-encoding)路径(例如`group/subgroup` )或组的 ID(例如`12` ). - -### Instance level Maven endpoint[](#instance-level-maven-endpoint "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/8274) in [GitLab Premium](https://about.gitlab.com/pricing/) 11.7. - -如果您依赖于许多软件包,则在`repository`部分中为每个软件包添加唯一的 URL 可能效率不高. 相反,您可以对存储在 GitLab 中的所有 maven 程序包使用实例级别端点,并且可以访问您有权访问的程序包. - -请注意, **只有与项目路径相同的软件包才**通过实例级别端点公开. - -| Project | Package | 实例级别端点可用 | -| --- | --- | --- | -| `foo/bar` | `foo/bar/1.0-SNAPSHOT` | Yes | -| `gitlab-org/gitlab` | `foo/bar/1.0-SNAPSHOT` | No | -| `gitlab-org/gitlab` | `gitlab-org/gitlab/1.0-SNAPSHOT` | Yes | - -下面的示例显示`pom.xml`的相关`repository`部分的外观. 您仍需要一个特定于项目的 URL 来在`distributionManagement`部分中上传软件包: - -``` - - - gitlab-maven - https://gitlab.com/api/v4/packages/maven - - - - - gitlab-maven - https://gitlab.com/api/v4/projects/PROJECT_ID/packages/maven - - - gitlab-maven - https://gitlab.com/api/v4/projects/PROJECT_ID/packages/maven - - -``` - -Gradle 中相应的存储库部分如下所示: - -``` -repositories { - maven { - url "https://gitlab.com/api/v4/packages/maven" - name "GitLab" - } -} -``` - -该`id`必须与您[在`settings.xml`定义](#adding-the-gitlab-package-registry-as-a-maven-remote)的`id`相同. - -将`PROJECT_ID`替换为可以在项目主页上找到的项目 ID. - -如果您具有自行管理的 GitLab 安装, `gitlab.com`使用您的域名替换`gitlab.com` . - -**Note:** For retrieving artifacts, you can use either the [URL encoded](../../../api/README.html#namespaced-path-encoding) path of the project (e.g., `group%2Fproject`) or the project’s ID (e.g., `42`). However, only the project’s ID can be used for uploading. - -## Uploading packages[](#uploading-packages "Permalink") - -一旦设置了[远程和身份验证](#adding-the-gitlab-package-registry-as-a-maven-remote)并[配置了项目](#configuring-your-project-to-use-the-gitlab-maven-repository-url) ,请测试以从[您的项目](#configuring-your-project-to-use-the-gitlab-maven-repository-url)中上传 Maven 工件. - -### Upload using Maven[](#upload-using-maven "Permalink") - -``` -mvn deploy -``` - -如果部署成功,您应该再次看到构建成功消息: - -``` -... -[INFO] BUILD SUCCESS -... -``` - -您还应该看到上传已上传到正确的注册表: - -``` -Uploading to gitlab-maven: https://gitlab.com/api/v4/projects/PROJECT_ID/packages/maven/com/mycompany/mydepartment/my-project/1.0-SNAPSHOT/my-project-1.0-20200128.120857-1.jar -``` - -### Upload using Gradle[](#upload-using-gradle "Permalink") - -将 Gradle 插件[`maven-publish`](https://s0docs0gradle0org.icopy.site/current/userguide/publishing_maven.html)添加到插件部分: - -``` -plugins { - id 'java' - id 'maven-publish' -} -``` - -添加`publishing`部分: - -``` -publishing { - publications { - library(MavenPublication) { - from components.java - } - } - repositories { - maven { - url "https://gitlab.com/api/v4/projects//packages/maven" - credentials(HttpHeaderCredentials) { - name = "Private-Token" - value = gitLabPrivateToken // the variable resides in ~/.gradle/gradle.properties - } - authentication { - header(HttpHeaderAuthentication) - } - } - } -} -``` - -将`PROJECT_ID`替换为可以在项目主页上找到的项目 ID. - -运行发布任务: - -``` -gradle publish -``` - -然后,您可以导航到项目的**Packages&Registries**页面,并查看上载的工件,甚至删除它们. - -## Installing a package[](#installing-a-package "Permalink") - -从 GitLab 程序包注册表安装程序包要求您如上所述设置[远程和身份验证](#adding-the-gitlab-package-registry-as-a-maven-remote) . 一旦完成,就有两种安装软件包的方法. - -### Install using Maven with `mvn install`[](#install-using-maven-with-mvn-install "Permalink") - -手动将依赖项添加到您的项目`pom.xml`文件中. 要添加上面创建的示例,XML 如下所示: - -``` - - com.mycompany.mydepartment - my-project - 1.0-SNAPSHOT - -``` - -然后,在您的项目中,运行以下命令: - -``` -mvn install -``` - -如果一切设置正确,您应该会看到从 GitLab 软件包注册表下载的依赖项: - -``` -Downloading from gitlab-maven: http://gitlab.com/api/v4/projects/PROJECT_ID/packages/maven/com/mycompany/mydepartment/my-project/1.0-SNAPSHOT/my-project-1.0-20200128.120857-1.pom -``` - -#### Install with `mvn dependency:get`[](#install-with-mvn-dependencyget "Permalink") - -安装软件包的第二种方法是直接使用 Maven 命令. 在您的项目目录中,运行: - -``` -mvn dependency:get -Dartifact=com.nickkipling.app:nick-test-app:1.1-SNAPSHOT -``` - -您应该看到相同的下载消息,确认从 GitLab 软件包注册表中检索了该项目. - -**提示:** XML 块和 Maven 命令都可以从"软件包详细信息"页面中方便地复制和粘贴,从而可以快速简便地进行安装. - -### Install using Gradle[](#install-using-gradle "Permalink") - -添加[依赖](https://s0docs0gradle0org.icopy.site/current/userguide/declaring_dependencies.html)于依赖部分的 build.gradle: - -``` -dependencies { - implementation 'com.mycompany.mydepartment:my-project:1.0-SNAPSHOT' -} -``` - -## Removing a package[](#removing-a-package "Permalink") - -在项目页面的软件包视图中,您可以通过单击红色垃圾图标或单击软件包详细信息页面上的**删除**按钮来**删除**软件包. - -## Creating Maven packages with GitLab CI/CD[](#creating-maven-packages-with-gitlab-cicd "Permalink") - -一旦您的存储库配置为使用 GitLab Maven 存储库,就可以配置 GitLab CI / CD 来自动构建新软件包. - -### Creating Maven packages with GitLab CI/CD using Maven[](#creating-maven-packages-with-gitlab-cicd-using-maven "Permalink") - -下面的示例显示了每次更新`master`分支时如何创建新程序包: - -1. 创建一个`ci_settings.xml`文件,它将用作 Maven 的`settings.xml`文件. 添加与您在`pom.xml`文件中定义的 ID 相同的服务器部分. 例如,在我们的例子中是`gitlab-maven` : - - ``` - - - - gitlab-maven - - - - Job-Token - ${env.CI_JOB_TOKEN} - - - - - - - ``` - -2. 确保您的`pom.xml`文件包含以下内容: - - ``` - - - gitlab-maven - https://gitlab.com/api/v4/projects/${env.CI_PROJECT_ID}/packages/maven - - - - - gitlab-maven - https://gitlab.com/api/v4/projects/${env.CI_PROJECT_ID}/packages/maven - - - gitlab-maven - https://gitlab.com/api/v4/projects/${env.CI_PROJECT_ID}/packages/maven - - - ``` - - **提示:**您可以让 Maven 利用 CI 环境变量,也可以硬编码项目的 ID. -3. 将`deploy`作业添加到您的`.gitlab-ci.yml`文件中: - - ``` - deploy: - image: maven:3.3.9-jdk-8 - script: - - 'mvn deploy -s ci_settings.xml' - only: - - master - ``` - -4. 将这些文件推送到您的存储库. - -下次运行`deploy`作业时,它将`ci_settings.xml`复制到用户的本地位置(在这种情况下,用户是`root`用户,因为它在 Docker 容器中运行),并且 Maven 将利用配置的 CI [环境变量](../../../ci/variables/README.html#predefined-environment-variables) . - -### Creating Maven packages with GitLab CI/CD using Gradle[](#creating-maven-packages-with-gitlab-cicd-using-gradle "Permalink") - -下面的示例显示了每次更新`master`分支时如何创建新程序包: - -1. 确保按照["使用 Gradle 中的 CI 作业令牌进行身份](#authenticating-with-a-ci-job-token-in-gradle)验证"中所述使用 Job-Token 身份[验证](#authenticating-with-a-ci-job-token-in-gradle) . - -2. 将`deploy`作业添加到您的`.gitlab-ci.yml`文件中: - - ``` - deploy: - image: gradle:latest - script: - - 'gradle publish' - only: - - master - ``` - -3. 将这些文件推送到您的存储库. - -下次运行`deploy`作业时,它将`ci_settings.xml`复制到用户的本地位置(在这种情况下,用户是`root`用户,因为它在 Docker 容器中运行),并且 Maven 将使用配置的 CI [环境变量](../../../ci/variables/README.html#predefined-environment-variables) . - -### Version validation[](#version-validation "Permalink") - -使用以下正则表达式验证版本字符串. - -``` -\A(\.?[\w\+-]+\.?)+\z -``` - -您可以使用正则表达式,并在[此正则表达式编辑器](https://rubular.com/r/rrLQqUXjfKEoL6)上尝试使用版本字符串. - -## Troubleshooting[](#troubleshooting "Permalink") - -### Useful Maven command line options[](#useful-maven-command-line-options "Permalink") - -有一些[Maven 命令行选项](https://maven.apache.org/ref/current/maven-embedder/cli.html)在使用 GitLab CI / CD 执行任务时可能有用. - -* 文件传输进度会使 CI 日志难以阅读. 选项`-ntp,--no-transfer-progress`已在[3.6.1](https://maven.apache.org/docs/3.6.1/release-notes.html#User_visible_Changes)中添加. 或者,查看`-B,--batch-mode` [或较低级别的日志记录更改.](https://stackoverflow.com/questions/21638697/disable-maven-download-progress-indication) - -* 指定在哪里可以找到 POM 文件( `-f,--file` ): - - ``` - package: - script: - - 'mvn --no-transfer-progress -f helloworld/pom.xml package' - ``` - -* 指定在哪里可以找到用户设置( `-s,--settings` ),而不是[默认位置](https://maven.apache.org/settings.html) . 还有一个`-gs,--global-settings`选项: - - ``` - package: - script: - - 'mvn -s settings/ci.xml package' - ``` - -### Verifying your Maven settings[](#verifying-your-maven-settings "Permalink") - -如果您在 CI 中遇到与`settings.xml`文件有关的问题,则添加其他脚本任务或作业以[验证有效设置](https://maven.apache.org/plugins/maven-help-plugin/effective-settings-mojo.html)可能会很有用. - -帮助插件还可以提供[系统属性](https://maven.apache.org/plugins/maven-help-plugin/system-mojo.html) ,包括环境变量: - -``` -mvn-settings: - script: - - 'mvn help:effective-settings' - -package: - script: - - 'mvn help:system' - - 'mvn package' -``` \ No newline at end of file diff --git a/docs/281.md b/docs/281.md deleted file mode 100644 index a84123d..0000000 --- a/docs/281.md +++ /dev/null @@ -1,367 +0,0 @@ -# GitLab NPM Registry - -> 原文:[https://docs.gitlab.com/ee/user/packages/npm_registry/](https://docs.gitlab.com/ee/user/packages/npm_registry/) - -* [Enabling the NPM Registry](#enabling-the-npm-registry) -* [Getting started](#getting-started) - * [Installing NPM](#installing-npm) - * [Installing Yarn](#installing-yarn) - * [Creating a project](#creating-a-project) -* [Authenticating to the GitLab NPM Registry](#authenticating-to-the-gitlab-npm-registry) - * [Authenticating with a personal access token or deploy token](#authenticating-with-a-personal-access-token-or-deploy-token) - * [Using variables to avoid hard-coding auth token values](#using-variables-to-avoid-hard-coding-auth-token-values) - * [Authenticating with a CI job token](#authenticating-with-a-ci-job-token) -* [Uploading packages](#uploading-packages) -* [Uploading a package with the same version twice](#uploading-a-package-with-the-same-version-twice) -* [Package naming convention](#package-naming-convention) -* [Installing a package](#installing-a-package) - * [Forwarding requests to npmjs.org](#forwarding-requests-to-npmjsorg) -* [Removing a package](#removing-a-package) -* [Publishing a package with CI/CD](#publishing-a-package-with-cicd) -* [Troubleshooting](#troubleshooting) - * [Error running yarn with NPM registry](#error-running-yarn-with-npm-registry) - * [`npm publish` targets default NPM registry (`registry.npmjs.org`)](#npm-publish-targets-default-npm-registry-registrynpmjsorg) - * [`npm install` returns `Error: Failed to replace env in config: ${NPM_TOKEN}`](#npm-install-returns-error-failed-to-replace-env-in-config-npm_token) - * [`npm install` returns `npm ERR! 403 Forbidden`](#npm-install-returns-npm-err-403-forbidden) -* [NPM dependencies metadata](#npm-dependencies-metadata) -* [NPM distribution tags](#npm-distribution-tags) - -# GitLab NPM Registry[](#gitlab-npm-registry-premium "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/5934) in [GitLab Premium](https://about.gitlab.com/pricing/) 11.7. - -使用 GitLab NPM 注册表,每个项目都可以拥有自己的空间来存储 NPM 软件包. - -[![GitLab NPM Registry](img/72befe6a3da1a58465dbf55200aefd26.png)](img/npm_package_view_v12_5.png) - -**注意:**仅支持[作用域的](https://s0docs0npmjs0com.icopy.site/misc/scope)程序包. - -## Enabling the NPM Registry[](#enabling-the-npm-registry "Permalink") - -**注意:**仅当您的 GitLab 管理员[启用了对 NPM 注册表的支持时,](../../../administration/packages/index.html)此选项才可用. - -启用 NPM 注册表后,默认情况下它将可用于所有新项目. 要为现有项目启用它,或者要禁用它: - -1. 导航到项目的**"设置">"常规">"可见性,项目功能,权限"** . -2. 找到"软件包"功能并启用或禁用它. -3. 单击**保存更改**以使更改生效. - -然后,您应该能够在左侧栏中看到" **程序包和注册表"**部分. - -在继续使用 GitLab NPM 注册表进行身份验证之前,您应该熟悉软件包的命名约定. - -## Getting started[](#getting-started "Permalink") - -本节将介绍安装 NPM(或 Yarn)并为您的 JavaScript 项目构建软件包. 如果您不熟悉 NPM 软件包,这是一个快速入门. 如果您已经在使用 NPM 并了解如何构建自己的软件包,请继续[下一节](#authenticating-to-the-gitlab-npm-registry) . - -### Installing NPM[](#installing-npm "Permalink") - -按照[npmjs.com](https://s0docs0npmjs0com.icopy.site/downloading-and-installing-node-js-and-npm)上的说明下载 Node.js 和 NPM 并将其安装到本地开发环境. - -安装完成后,通过运行以下命令验证您可以在终端中使用 NPM: - -``` -npm --version -``` - -您应该会在输出中看到 NPM 版本: - -``` -6.10.3 -``` - -### Installing Yarn[](#installing-yarn "Permalink") - -您可能需要安装并使用 Yarn 替代 NPM. 请按照[yarnpkg.com](https://classic.yarnpkg.com/en/docs/install)上的说明在您的开发环境上进行安装. - -Once installed, you can verify that Yarn is available with the following command: - -``` -yarn --version -``` - -You should see the version printed like so: - -``` -1.19.1 -``` - -### Creating a project[](#creating-a-project "Permalink") - -了解如何创建完整的 JavaScript 项目不在本指南的范围内,但是您可以通过创建并导航到空目录并使用以下命令来初始化新的空包: - -``` -npm init -``` - -或者,如果您使用的是 Yarn: - -``` -yarn init -``` - -这将带您解决一系列问题,以产生`package.json`文件,这是所有 NPM 软件包所必需的. 最重要的问题是软件包名称. NPM 软件包必须[遵循命名约定,](#package-naming-convention)并且范围应限于注册表所在的项目或组. - -完成设置后,现在就可以将软件包上传到 GitLab 注册表了. 首先,您需要设置身份验证,然后将 GitLab 配置为远程注册表. - -## Authenticating to the GitLab NPM Registry[](#authenticating-to-the-gitlab-npm-registry "Permalink") - -如果项目是私有项目,或者您要将 NPM 软件包上传到 GitLab,则需要提供凭据进行身份验证. 首选[个人访问令牌](../../profile/personal_access_tokens.html)和[部署令牌](../../project/deploy_tokens/index.html) ,但支持[OAuth 令牌](../../../api/oauth2.html#resource-owner-password-credentials-flow) . - -**双因素认证(2FA)仅支持个人访问令牌:**如果你有 2FA 启用,你需要使用一个[令牌个人访问](../../profile/personal_access_tokens.html)使用 OAuth 标题与范围设置为`api`或[令牌部署](../../project/deploy_tokens/index.html)与`read_package_registry`或`write_package_registry`范围. 标准 OAuth 令牌将无法向 GitLab NPM 注册表进行身份验证. - -### Authenticating with a personal access token or deploy token[](#authenticating-with-a-personal-access-token-or-deploy-token "Permalink") - -要使用[个人访问令牌](../../profile/personal_access_tokens.html)或[部署令牌进行](../../project/deploy_tokens/index.html)身份验证,请设置 NPM 配置: - -``` -# Set URL for your scoped packages. -# For example package with name `@foo/bar` will use this URL for download -npm config set @foo:registry https://gitlab.com/api/v4/packages/npm/ - -# Add the token for the scoped packages URL. This will allow you to download -# `@foo/` packages from private projects. -npm config set '//gitlab.com/api/v4/packages/npm/:_authToken' "" - -# Add token for uploading to the registry. Replace -# with the project you want your package to be uploaded to. -npm config set '//gitlab.com/api/v4/projects//packages/npm/:_authToken' "" -``` - -将``替换为可以在项目主页上找到的项目 ID,并将``替换为个人访问令牌或部署令牌. - -如果您具有自行管理的 GitLab 安装, `gitlab.com`使用您的域名替换`gitlab.com` . - -现在,您应该能够将 NPM 软件包下载并上传到您的项目. - -**注意:**如果遇到有关[Yarn](https://classic.yarnpkg.com/en/)的错误消息,请参阅[故障排除部分](#troubleshooting) . - -### Using variables to avoid hard-coding auth token values[](#using-variables-to-avoid-hard-coding-auth-token-values "Permalink") - -为了避免对`authToken`值进行硬编码,可以在其位置使用变量: - -``` -npm config set '//gitlab.com/api/v4/projects//packages/npm/:_authToken' "${NPM_TOKEN}" -npm config set '//gitlab.com/api/v4/packages/npm/:_authToken' "${NPM_TOKEN}" -``` - -然后,您可以在本地或通过 GitLab CI / CD 运行`npm publish` : - -* **本地:**发布前导出`NPM_TOKEN` : - - ``` - NPM_TOKEN= npm publish - ``` - -* **GitLab CI / CD:**设置`NPM_TOKEN` [变量](../../../ci/variables/README.html)下,项目的**设置> CI / CD>变量** . - -### Authenticating with a CI job token[](#authenticating-with-a-ci-job-token "Permalink") - -在 GitLab Premium 12.5 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/9104) . - -如果您将 NPM 与 GitLab CI / CD 一起使用,则可以使用 CI 作业令牌代替个人访问令牌或部署令牌. 令牌将继承生成管道的用户的权限. - -将相应的部分添加到您的`.npmrc`文件中: - -``` -@foo:registry=https://gitlab.com/api/v4/packages/npm/ -//gitlab.com/api/v4/packages/npm/:_authToken=${CI_JOB_TOKEN} -//gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN} -``` - -## Uploading packages[](#uploading-packages "Permalink") - -在能够上载软件包之前,您需要为 NPM 指定注册表. 为此,将以下部分添加到`package.json`的底部: - -``` -"publishConfig": { "@foo:registry":"https://gitlab.com/api/v4/projects//packages/npm/" } -``` - -将``替换为您的项目 ID(可在项目的主页上找到),然后将`@foo`替换为您自己的作用域. - -如果您具有自行管理的 GitLab 安装, `gitlab.com`使用您的域名替换`gitlab.com` . - -启用它并设置[身份验证后](#authenticating-to-the-gitlab-npm-registry) ,您可以将 NPM 包上传到您的项目中: - -``` -npm publish -``` - -然后,您可以导航到项目的" **程序包和注册表"**页面,查看上载的程序包,甚至删除它们. - -如果尝试使用给定范围内已经存在的名称发布程序包,则会收到`403 Forbidden!` 错误. - -## Uploading a package with the same version twice[](#uploading-a-package-with-the-same-version-twice "Permalink") - -您不能两次上传相同名称和版本的软件包,除非先删除现有软件包. 这与 npmjs.org 的行为保持一致,但 npmjs.org 不允许用户多次发布同一版本,即使该版本已被删除也是如此. - -## Package naming convention[](#package-naming-convention "Permalink") - -**程序包的作用域必须在项目的根名称空间中** . 程序包名称可以是任何名称,但最好使用项目名称,除非由于命名冲突而无法使用. 例如: - -| Project | Package | Supported | -| --- | --- | --- | -| `foo/bar` | `@foo/bar` | Yes | -| `foo/bar/baz` | `@foo/baz` | Yes | -| `foo/bar/buz` | `@foo/anything` | Yes | -| `gitlab-org/gitlab` | `@gitlab-org/gitlab` | Yes | -| `gitlab-org/gitlab` | `@foo/bar` | No | - -用于命名的正则表达式正在验证来自所有程序包管理器的所有程序包名称: - -``` -/\A\@?(([\w\-\.\+]*)\/)*([\w\-\.]+)@?(([\w\-\.\+]*)\/)*([\w\-\.]*)\z/ -``` - -它允许使用大写字母,而 NPM 不允许,并且几乎允许 NPM 允许的所有字符,但有少数例外(不允许`~` ). - -**注意:**需要大写字母,因为要求范围必须与项目的顶级名称空间相同. 因此,例如,如果您的项目路径为`My-Group/project-foo` ,则您的程序包必须命名为`@My-Group/any-package-name` . `@my-group/any-package-name`不起作用.**在更新用户/组的路径或传输(子)组/项目时:**如果使用 NPM 包更新**项目**的根名称空间,则更改将被拒绝. 为此,请确保先删除所有 NPM 软件包. 不要忘记更新`.npmrc`文件以遵循上述命名约定,并在必要时运行`npm publish` . - -现在,您可以配置项目以通过 GitLab NPM 注册表进行身份验证. - -## Installing a package[](#installing-a-package "Permalink") - -NPM 软件包通常使用 JavaScript 项目中的`npm`或`yarn`命令安装. 如果尚未安装,则需要设置作用域软件包的 URL. 您可以使用以下命令执行此操作: - -``` -npm config set @foo:registry https://gitlab.com/api/v4/packages/npm/ -``` - -您将需要用您的作用域替换`@foo` . - -接下来,您需要确保已设置[身份验证](#authenticating-to-the-gitlab-npm-registry) ,以便成功安装软件包. 完成此操作后,您可以在项目中运行以下命令来安装软件包: - -``` -npm install @my-project-scope/my-package -``` - -或者,如果您使用的是 Yarn: - -``` -yarn add @my-project-scope/my-package -``` - -### Forwarding requests to npmjs.org[](#forwarding-requests-to-npmjsorg "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/55344) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.9. - -默认情况下,当在 GitLab NPM 注册表中找不到 NPM 软件包时,该请求将转发到[npmjs.com](https://s0www0npmjs0com.icopy.site/) . - -管理员可以在" [持续集成"设置中](../../admin_area/settings/continuous_integration.html)禁用此行为. - -## Removing a package[](#removing-a-package "Permalink") - -在项目页面的软件包视图中,您可以通过单击红色垃圾图标或单击软件包详细信息页面上的**删除**按钮来**删除**软件包. - -## Publishing a package with CI/CD[](#publishing-a-package-with-cicd "Permalink") - -要在[GitLab CI / CD 中](./../../../ci/README.html)使用 NPM 命令,可以使用`CI_JOB_TOKEN`代替个人访问令牌或在命令中部署令牌. - -一个简单的`.gitlab-ci.yml`文件示例,用于发布 NPM 软件包: - -``` -image: node:latest - -stages: - - deploy - -deploy: - stage: deploy - script: - - echo '//gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}'>.npmrc - - npm publish -``` - -了解有关[使用`CI_JOB_TOKEN`验证 GitLab NPM 注册表的更多信息](#authenticating-with-a-ci-job-token) . - -## Troubleshooting[](#troubleshooting "Permalink") - -### Error running yarn with NPM registry[](#error-running-yarn-with-npm-registry "Permalink") - -如果您在 NPM 注册表中使用[yarn](https://classic.yarnpkg.com/en/) ,则可能会收到以下错误消息: - -``` -yarn install v1.15.2 -warning package.json: No license field -info No lockfile found. -warning XXX: No license field -[1/4] 🔍 Resolving packages... -[2/4] 🚚 Fetching packages... -error An unexpected error occurred: "https://gitlab.com/api/v4/projects/XXX/packages/npm/XXX/XXX/-/XXX/XXX-X.X.X.tgz: Request failed \"404 Not Found\"". -info If you think this is a bug, please open a bug report with the information provided in "/Users/XXX/gitlab-migration/module-util/yarn-error.log". -info Visit https://classic.yarnpkg.com/en/docs/cli/install for documentation about this command -``` - -在这种情况下,请尝试将其添加到您的`.npmrc`文件中(并将``替换为您的个人访问令牌或部署令牌): - -``` -//gitlab.com/api/v4/projects/:_authToken= -``` - -### `npm publish` targets default NPM registry (`registry.npmjs.org`)[](#npm-publish-targets-default-npm-registry-registrynpmjsorg "Permalink") - -确保在`package.json`和`.npmrc`文件中一致设置了包作用域. - -例如,如果您在 GitLab 中的项目名称为`foo/my-package` ,则`package.json`文件应如下所示: - -``` -{ "name": "@foo/my-package", "version": "1.0.0", "description": "Example package for GitLab NPM registry", "publishConfig": { "@foo:registry":"https://gitlab.com/api/v4/projects//packages/npm/" } } -``` - -`.npmrc`文件应如下所示: - -``` -//gitlab.com/api/v4/projects//packages/npm/:_authToken= -//gitlab.com/api/v4/packages/npm/:_authToken= -@foo:registry=https://gitlab.com/api/v4/packages/npm/ -``` - -### `npm install` returns `Error: Failed to replace env in config: ${NPM_TOKEN}`[](#npm-install-returns-error-failed-to-replace-env-in-config-npm_token "Permalink") - -除非您的项目是私有的,否则您不需要令牌即可运行`npm install` (仅要求发布令牌). 如果`.npmrc`文件是以`$NPM_TOKEN`的引用签`$NPM_TOKEN` ,则可以将其删除. 如果您希望保留参考,则需要在运行`npm install`之前设置一个值,或者使用[GitLab 环境变量](./../../../ci/variables/README.html)来设置该值: - -``` -NPM_TOKEN= npm install -``` - -### `npm install` returns `npm ERR! 403 Forbidden`[](#npm-install-returns-npm-err-403-forbidden "Permalink") - -* 检查您的令牌是否已过期并具有适当的权限. -* 检查您是否尝试发布名称在给定范围内已经存在的软件包. -* 确保作用域的软件包 URL 包含斜杠: - * 正确: `//gitlab.com/api/v4/packages/npm/` - * 错误的: `//gitlab.com/api/v4/packages/npm` - -## NPM dependencies metadata[](#npm-dependencies-metadata "Permalink") - -在 GitLab Premium 12.6 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/11867) . - -从 GitLab 12.6 开始,发布到 GitLab NPM 注册表的新软件包向 NPM 客户端公开了以下属性: - -* name -* version -* dist-tags -* dependencies - * dependencies - * devDependencies - * bundleDependencies - * peerDependencies - * deprecated - -## NPM distribution tags[](#npm-distribution-tags "Permalink") - -在 GitLab Premium 12.8 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/9425) . - -您可以为新发布的软件包添加[分发标签](https://s0docs0npmjs0com.icopy.site/cli/dist-tag) . 它们遵循 NPM 的约定,在这些约定中它们是可选的,并且每个标签一次只能分配给一个软件包. 当发布没有标签的软件包时,默认情况下会添加`latest`标签. 在未指定标签或版本的情况下安装软件包也是如此. - -支持的`dist-tag`命令和通常使用标签的示例: - -``` -npm publish @scope/package --tag # Publish new package with new tag -npm dist-tag add @scope/package@version my-tag # Add a tag to an existing package -npm dist-tag ls @scope/package # List all tags under the package -npm dist-tag rm @scope/package@version my-tag # Delete a tag from the package -npm install @scope/package@my-tag # Install a specific tag -``` - -**警告:**由于 NPM 6.9.0 中的错误,删除 dist 标签失败. 确保您的 NPM 版本大于 6.9.1. \ No newline at end of file diff --git a/docs/282.md b/docs/282.md deleted file mode 100644 index 97a3e60..0000000 --- a/docs/282.md +++ /dev/null @@ -1,227 +0,0 @@ -# GitLab NuGet Repository - -> 原文:[https://docs.gitlab.com/ee/user/packages/nuget_repository/](https://docs.gitlab.com/ee/user/packages/nuget_repository/) - -* [Setting up your development environment](#setting-up-your-development-environment) - * [macOS support](#macos-support) -* [Enabling the NuGet Repository](#enabling-the-nuget-repository) -* [Adding the GitLab NuGet Repository as a source to NuGet](#adding-the-gitlab-nuget-repository-as-a-source-to-nuget) - * [Add NuGet Repository source with NuGet CLI](#add-nuget-repository-source-with-nuget-cli) - * [Add NuGet Repository source with Visual Studio](#add-nuget-repository-source-with-visual-studio) - * [Add NuGet Repository source with .NET CLI](#add-nuget-repository-source-with-net-cli) -* [Uploading packages](#uploading-packages) - * [Upload packages with NuGet CLI](#upload-packages-with-nuget-cli) - * [Upload packages with .NET CLI](#upload-packages-with-net-cli) -* [Install packages](#install-packages) - * [Install a package with NuGet CLI](#install-a-package-with-nuget-cli) - * [Install a package with .NET CLI](#install-a-package-with-net-cli) - -# GitLab NuGet Repository[](#gitlab-nuget-repository-premium "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/20050) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.8. - -使用 GitLab NuGet 存储库,每个项目都可以拥有自己的空间来存储 NuGet 软件包. - -GitLab NuGet 存储库可用于: - -* [NuGet CLI](https://docs.microsoft.com/en-us/nuget/reference/nuget-exe-cli-reference) -* [.NET Core CLI](https://docs.microsoft.com/en-us/dotnet/core/tools/) -* [Visual Studio](https://visualstudio.microsoft.com/vs/) - -## Setting up your development environment[](#setting-up-your-development-environment "Permalink") - -您将需要[NuGet CLI 5.2 或更高版本](https://www.nuget.org/downloads) . 早期版本尚未针对 GitLab NuGet 存储库进行测试,因此可能无法正常工作. 如果您具有[Visual Studio](https://visualstudio.microsoft.com/vs/) ,则可能已经安装了 NuGet CLI. - -或者,您可以使用[.NET SDK 3.0 或更高版本](https://dotnet.microsoft.com/download/dotnet-core/3.0) ,该版本将安装 NuGet CLI. - -您可以通过以下方法确认已正确安装[NuGet CLI](https://www.nuget.org/) : - -``` -nuget help -``` - -您应该看到类似以下内容: - -``` -NuGet Version: 5.2.0.6090 -usage: NuGet [args] [options] -Type 'NuGet help ' for help on a specific command. - -Available commands: - -[output truncated] -``` - -### macOS support[](#macos-support "Permalink") - -对于 macOS,您还可以使用[Mono](https://www.mono-project.com/)运行 NuGet CLI. 对于 Homebrew 用户,请运行`brew install mono`来安装 Mono. 然后,您应该能够从[NuGet CLI 页面](https://www.nuget.org/downloads)下载 Windows C#二进制文件`nuget.exe`并运行: - -``` -mono nuget.exe -``` - -## Enabling the NuGet Repository[](#enabling-the-nuget-repository "Permalink") - -**注意:**仅当您的 GitLab 管理员[启用了对 Package Registry 的支持时,](../../../administration/packages/index.html)此选项才可用. - -启用 NuGet 存储库后,默认情况下它将可用于所有新项目. 要为现有项目启用它,或者要禁用它: - -1. 导航到项目的**"设置">"常规">"可见性,项目功能,权限"** . -2. 找到"软件包"功能并启用或禁用它. -3. 单击**保存更改**以使更改生效. - -然后,您应该能够在左侧栏中看到" **程序包和注册表"**部分. - -## Adding the GitLab NuGet Repository as a source to NuGet[](#adding-the-gitlab-nuget-repository-as-a-source-to-nuget "Permalink") - -您将需要以下内容: - -* 您的 GitLab 用户名. -* 个人访问令牌或部署令牌. 对于存储库身份验证: - * 您可以将范围设置为`api`来生成[个人访问令牌](../../../user/profile/personal_access_tokens.html) . - * 您可以生成[令牌部署](./../../project/deploy_tokens/index.html)与范围设置为`read_package_registry` , `write_package_registry` ,或两者兼而有之. -* 您的来源的合适名称. -* 您的项目 ID,可以在项目的主页上找到. - -您现在可以使用以下方法向 NuGet 添加新的源: - -* [NuGet CLI](#add-nuget-repository-source-with-nuget-cli) -* [Visual Studio](#add-nuget-repository-source-with-visual-studio). -* [.NET CLI](#add-nuget-repository-source-with-net-cli) - -### Add NuGet Repository source with NuGet CLI[](#add-nuget-repository-source-with-nuget-cli "Permalink") - -要将 GitLab NuGet 存储库添加为带有`nuget`的源: - -``` -nuget source Add -Name -Source "https://gitlab-instance.example.com/api/v4/projects//packages/nuget/index.json" -UserName -Password -``` - -Where: - -* ``是所需的源名称. - -例如: - -``` -nuget source Add -Name "GitLab" -Source "https://gitlab.example/api/v4/projects/10/packages/nuget/index.json" -UserName carol -Password 12345678asdf -``` - -### Add NuGet Repository source with Visual Studio[](#add-nuget-repository-source-with-visual-studio "Permalink") - -1. Open [Visual Studio](https://visualstudio.microsoft.com/vs/). -2. 打开" **文件">"选项"** (Windows)或" **Visual Studio">"首选项"** (Mac OS). -3. 在**NuGet**部分中,打开**Sources** . 您将看到所有 NuGet 来源的列表. -4. Click **Add**. -5. 填写以下字段: - * **名称** :源的期望名称 - * **位置** : `https://gitlab.com/api/v4/projects//packages/nuget/index.json` : `https://gitlab.com/api/v4/projects//packages/nuget/index.json` - * 将``替换为您的项目 ID. - * 如果您具有自行管理的 GitLab 安装, `gitlab.com`使用您的域名替换`gitlab.com` . - * **用户**名:您的 GitLab 用户名或部署令牌用户名 - * **密码** :您的个人访问令牌或部署令牌 - - [![Visual Studio 添加 NuGet 源](img/a792de1a5441a31253d7a939dfd2de54.png)](img/visual_studio_adding_nuget_source.png) - -6. Click **Save**. - - [![Visual Studio NuGet source added](img/f6b1fbcae610d7e8b04ec117e32573f3.png)](img/visual_studio_nuget_source_added.png) - -如有任何警告,请确保**Location** , **Username**和**Password**正确. - -### Add NuGet Repository source with .NET CLI[](#add-nuget-repository-source-with-net-cli "Permalink") - -要将 GitLab NuGet 存储库添加为.NET 的源, `nuget.config`在项目的根目录中创建一个名为`nuget.config`的文件,其内容如下: - -``` - - - - - - - - - - - - - -``` - -## Uploading packages[](#uploading-packages "Permalink") - -上载套件时,请注意: - -* 允许的最大大小为 50 MB. -* 如果您多次上传具有相同版本的相同程序包,则每次连续上传都将保存为单独的文件. 安装软件包时,GitLab 将提供最新文件. -* 将软件包上传到 GitLab 时,它们不会立即显示在项目的软件包 UI 中. 处理包裹最多可能需要 10 分钟. - -### Upload packages with NuGet CLI[](#upload-packages-with-nuget-cli "Permalink") - -本部分假定您的项目已正确构建,并且已经[使用 NuGet CLI 创建了 NuGet 软件包](https://docs.microsoft.com/en-us/nuget/create-packages/creating-a-package) . 使用以下命令上传软件包: - -``` -nuget push -Source -``` - -Where: - -* ``是您的软件包文件名,以`.nupkg`结尾. -* ``是[安装过程中使用](#adding-the-gitlab-nuget-repository-as-a-source-to-nuget)的[源名称](#adding-the-gitlab-nuget-repository-as-a-source-to-nuget) . - -### Upload packages with .NET CLI[](#upload-packages-with-net-cli "Permalink") - -本节假定您的项目已正确构建,并且已经[使用.NET CLI 创建了 NuGet 软件包](https://docs.microsoft.com/en-us/nuget/create-packages/creating-a-package-dotnet-cli) . 使用以下命令上传软件包: - -``` -dotnet nuget push --source -``` - -Where: - -* ``是您的软件包文件名,以`.nupkg`结尾. -* ``是[安装过程中使用](#adding-the-gitlab-nuget-repository-as-a-source-to-nuget)的[源名称](#adding-the-gitlab-nuget-repository-as-a-source-to-nuget) . - -例如: - -``` -dotnet nuget push MyPackage.1.0.0.nupkg --source gitlab -``` - -## Install packages[](#install-packages "Permalink") - -### Install a package with NuGet CLI[](#install-a-package-with-nuget-cli "Permalink") - -**警告:**默认情况下, `nuget`检查的官方消息`nuget.org`第一. 如果您在 GitLab NuGet 存储库中拥有与`nuget.org`的软件包同名的软件包, `nuget.org`必须指定源名称,否则将安装错误的软件包. - -使用以下命令安装最新版本的软件包: - -``` -nuget install -OutputDirectory \ - -Version \ - -Source -``` - -Where: - -* ``是软件包 ID. -* ``是将在其中安装软件包的输出目录. -* `` (可选)是软件包版本. -* `` (可选)是源名称. - -### Install a package with .NET CLI[](#install-a-package-with-net-cli "Permalink") - -**Warning:** If you have a package in the GitLab NuGet Repository with the same name as a package at a different source, you should verify the order in which `dotnet` checks sources during install. This is defined in the `nuget.config` file. - -使用以下命令安装最新版本的软件包: - -``` -dotnet add package \ - -v -``` - -Where: - -* ``是软件包 ID. -* `` (可选)是软件包版本. \ No newline at end of file diff --git a/docs/283.md b/docs/283.md deleted file mode 100644 index 7139265..0000000 --- a/docs/283.md +++ /dev/null @@ -1,264 +0,0 @@ -# GitLab PyPi Repository - -> 原文:[https://docs.gitlab.com/ee/user/packages/pypi_repository/](https://docs.gitlab.com/ee/user/packages/pypi_repository/) - -* [Setting up your development environment](#setting-up-your-development-environment) -* [Enabling the PyPi Repository](#enabling-the-pypi-repository) -* [Getting started](#getting-started) - * [Create a project](#create-a-project) - * [Create a package](#create-a-package) -* [Adding the GitLab PyPi Repository as a source](#adding-the-gitlab-pypi-repository-as-a-source) - * [Authenticating with a personal access token](#authenticating-with-a-personal-access-token) - * [Authenticating with a deploy token](#authenticating-with-a-deploy-token) -* [Uploading packages](#uploading-packages) - * [Upload packages with Twine](#upload-packages-with-twine) -* [Install packages](#install-packages) - -# GitLab PyPi Repository[](#gitlab-pypi-repository-premium "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/208747) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.10. - -使用 GitLab PyPi 信息库,每个项目都可以有自己的空间来存储 PyPi 软件包. - -GitLab PyPi 存储库可用于: - -* [pip](https://s0pypi0org.icopy.site/project/pip/) -* [twine](https://s0pypi0org.icopy.site/project/twine/) - -## Setting up your development environment[](#setting-up-your-development-environment "Permalink") - -您将需要最新版本的[pip](https://s0pypi0org.icopy.site/project/pip/)和[twine](https://s0pypi0org.icopy.site/project/twine/) . - -## Enabling the PyPi Repository[](#enabling-the-pypi-repository "Permalink") - -**注意:**仅当您的 GitLab 管理员[启用了对 Package Registry 的支持时,](../../../administration/packages/index.html)此选项才可用. - -启用 PyPi 储存库后,默认情况下它将可用于所有新项目. 要为现有项目启用它,或者要禁用它: - -1. 导航到项目的**"设置">"常规">"可见性,项目功能,权限"** . -2. 找到"软件包"功能并启用或禁用它. -3. 单击**保存更改**以使更改生效. - -然后,您应该能够在左侧栏中看到" **程序包和注册表"**部分. - -## Getting started[](#getting-started "Permalink") - -本节将介绍如何创建一个新的示例 PyPi 包进行上传. 这是测试**GitLab PyPi Registry**的快速入门. 如果您已经了解如何构建和发布自己的软件包,请继续[下一节](#adding-the-gitlab-pypi-repository-as-a-source) . - -### Create a project[](#create-a-project "Permalink") - -了解如何创建完整的 Python 项目不在本指南的范围内,但是您可以创建一个小包来测试注册表. 首先创建一个名为`MyPyPiPackage`的新目录: - -``` -mkdir MyPyPiPackage && cd MyPyPiPackage -``` - -创建此目录后,在其中创建另一个目录: - -``` -mkdir mypypipackage && cd mypypipackage -``` - -在此目录中创建两个新文件以设置基本项目: - -``` -touch __init__.py -touch greet.py -``` - -在`greet.py` ,添加以下代码: - -``` -def SayHello(): - print("Hello from MyPyPiPackage") - return -``` - -在`__init__.py`文件中,添加以下内容: - -``` -from .greet import SayHello -``` - -现在,我们的项目基础已经完成,我们可以测试代码是否运行. 在顶部`MyPyPiPackage`目录中启动 Python 提示符. 然后运行: - -``` ->>> from mypypipackage import SayHello ->>> SayHello() -``` - -您应该看到类似于以下内容的输出: - -``` -Python 3.8.2 (v3.8.2:7b3ab5921f, Feb 24 2020, 17:52:18) -[Clang 6.0 (clang-600.0.57)] on darwin -Type "help", "copyright", "credits" or "license" for more information. ->>> from mypypipackage import SayHello ->>> SayHello() -Hello from MyPyPiPackage -``` - -验证示例项目是否按上述要求工作后,接下来就可以创建包了. - -### Create a package[](#create-a-package "Permalink") - -在您的`MyPyPiPackage`目录中,我们需要创建一个`setup.py`文件. 运行以下命令: - -``` -touch setup.py -``` - -该文件包含有关我们软件包的所有信息. 有关此文件的更多信息,请参见[创建 setup.py](https://packaging.python.org/tutorials/packaging-projects/#creating-setup-py) . 对于本指南,我们不需要大量填写此文件,只需将以下内容添加到您的`setup.py` : - -``` -import setuptools - -setuptools.setup( - name="mypypipackage", - version="0.0.1", - author="Example Author", - author_email="author@example.com", - description="A small example package", - packages=setuptools.find_packages(), - classifiers=[ - "Programming Language :: Python :: 3", - "License :: OSI Approved :: MIT License", - "Operating System :: OS Independent", - ], - python_requires='>=3.6', -) -``` - -保存文件,然后执行如下设置: - -``` -python3 setup.py sdist bdist_wheel -``` - -如果成功,您应该能够在新创建的`dist`文件夹中看到输出. 跑: - -``` -ls dist -``` - -并确认您的输出与以下内容匹配: - -``` -mypypipackage-0.0.1-py3-none-any.whl mypypipackage-0.0.1.tar.gz -``` - -现在,我们的软件包已全部设置好,可以上传到**GitLab PyPi 软件包注册中心** . 在此之前,我们接下来需要设置身份验证. - -## Adding the GitLab PyPi Repository as a source[](#adding-the-gitlab-pypi-repository-as-a-source "Permalink") - -### Authenticating with a personal access token[](#authenticating-with-a-personal-access-token "Permalink") - -您将需要以下内容: - -* 个人访问令牌. 您可以生成范围设置为`api`的[个人访问令牌](../../../user/profile/personal_access_tokens.html) ,以进行存储库身份验证. -* 您的来源的合适名称. -* 您的项目 ID,可以在项目的主页上找到. - -编辑`~/.pypirc`文件并添加以下内容: - -``` -[distutils] -index-servers = - gitlab - -[gitlab] -repository = https://gitlab.com/api/v4/projects//packages/pypi -username = __token__ -password = -``` - -### Authenticating with a deploy token[](#authenticating-with-a-deploy-token "Permalink") - -您将需要以下内容: - -* 部署令牌. 您可以生成[令牌部署](./../../project/deploy_tokens/index.html)与`read_package_registry`和/或`write_package_registry`范围为存储库认证. -* 您的来源的合适名称. -* 您的项目 ID,可以在项目的主页上找到. - -编辑`~/.pypirc`文件并添加以下内容: - -``` -[distutils] -index-servers = - gitlab - -[gitlab] -repository = https://gitlab.com/api/v4/projects//packages/pypi -username = -password = -``` - -## Uploading packages[](#uploading-packages "Permalink") - -上载套件时,请注意: - -* 允许的最大大小为 50 MB. -* 如果您多次上传具有相同版本的相同程序包,则每次连续上传都将保存为单独的文件. 安装软件包时,GitLab 将提供最新文件. - -### Upload packages with Twine[](#upload-packages-with-twine "Permalink") - -如果您按照上面的指南进行操作,则`MyPyPiPackage`软件包应已准备好上载. 运行以下命令: - -``` -python3 -m twine upload --repository gitlab dist/* -``` - -如果成功,您应该看到以下内容: - -``` -Uploading distributions to https://gitlab.com/api/v4/projects//packages/pypi -Uploading mypypipackage-0.0.1-py3-none-any.whl -100%|███████████████████████████████████████████████████████████████████████████████████████████| 4.58k/4.58k [00:00<00:00, 10.9kB/s] -Uploading mypypipackage-0.0.1.tar.gz -100%|███████████████████████████████████████████████████████████████████████████████████████████| 4.24k/4.24k [00:00<00:00, 11.0kB/s] -``` - -这表明该软件包已成功上传. 然后,您可以导航到项目的" **程序包和注册表"**页面,并查看上载的程序包. - -如果您没有遵循上述指南,则需要确保已正确构建[软件包,并使用 setuptools 创建了 PyPi 软件包](https://packaging.python.org/tutorials/packaging-projects/) . - -然后,您可以使用以下命令上传软件包: - -``` -python -m twine upload --repository dist/ -``` - -Where: - -* `` is your package filename, ending in `.tar.gz` or `.whl`. -* ``是[安装过程中使用](#adding-the-gitlab-pypi-repository-as-a-source)的[源名称](#adding-the-gitlab-pypi-repository-as-a-source) . - -## Install packages[](#install-packages "Permalink") - -使用以下命令安装最新版本的软件包: - -``` -pip install --index-url https://__token__:@gitlab.com/api/v4/projects//packages/pypi/simple --no-deps -``` - -Where: - -* ``是软件包名称. -* ``是具有`read_api`范围的个人访问令牌. -* ``是项目 ID. - -如果您遵循上面的指南,并且想测试安装`MyPyPiPackage`软件包,则可以运行以下命令: - -``` -pip install mypypipackage --no-deps --index-url https://__token__:@gitlab.com/api/v4/projects//packages/pypi/simple -``` - -这将导致以下结果: - -``` -Looking in indexes: https://__token__:****@gitlab.com/api/v4/projects//packages/pypi/simple -Collecting mypypipackage - Downloading https://gitlab.com/api/v4/projects//packages/pypi/files/d53334205552a355fee8ca35a164512ef7334f33d309e60240d57073ee4386e6/mypypipackage-0.0.1-py3-none-any.whl (1.6 kB) -Installing collected packages: mypypipackage -Successfully installed mypypipackage-0.0.1 -``` \ No newline at end of file diff --git a/docs/284.md b/docs/284.md deleted file mode 100644 index 6efa8bd..0000000 --- a/docs/284.md +++ /dev/null @@ -1,595 +0,0 @@ -# API Docs - -> 原文:[https://docs.gitlab.com/ee/api/README.html](https://docs.gitlab.com/ee/api/README.html) - -* [Available API resources](#available-api-resources) -* [SCIM](#scim-silver-only) -* [Road to GraphQL](#road-to-graphql) -* [Compatibility guidelines](#compatibility-guidelines) - * [Current status](#current-status) -* [Basic usage](#basic-usage) -* [Authentication](#authentication) - * [OAuth2 tokens](#oauth2-tokens) - * [Personal/project access tokens](#personalproject-access-tokens) - * [Session cookie](#session-cookie) - * [GitLab CI job token](#gitlab-ci-job-token) - * [Impersonation tokens](#impersonation-tokens) - * [Disable impersonation](#disable-impersonation) - * [Sudo](#sudo) -* [Status codes](#status-codes) -* [Pagination](#pagination) - * [Offset-based pagination](#offset-based-pagination) - * [Pagination Link header](#pagination-link-header) - * [Other pagination headers](#other-pagination-headers) - * [Keyset-based pagination](#keyset-based-pagination) -* [Path parameters](#path-parameters) -* [Namespaced path encoding](#namespaced-path-encoding) -* [File path, branches, and tags name encoding](#file-path-branches-and-tags-name-encoding) -* [Request Payload](#request-payload) -* [Encoding API parameters of `array` and `hash` types](#encoding-api-parameters-of-array-and-hash-types) - * [`array`](#array) - * [`hash`](#hash) - * [Array of hashes](#array-of-hashes) -* [`id` vs `iid`](#id-vs-iid) -* [Data validation and error reporting](#data-validation-and-error-reporting) -* [Unknown route](#unknown-route) -* [Encoding `+` in ISO 8601 dates](#encoding--in-iso-8601-dates) -* [Clients](#clients) -* [Rate limits](#rate-limits) - -# API Docs[](#api-docs "Permalink") - -通过简单而强大的 API 自动化 GitLab. - -主要的 GitLab API 是[REST](https://en.wikipedia.org/wiki/Representational_state_transfer) API. 因此,本节中的文档假定您具有 REST 概念的知识. - -## Available API resources[](#available-api-resources "Permalink") - -有关可用资源及其端点的列表,请参阅[API 资源](api_resources.html) . - -## SCIM[](#scim-silver-only "Permalink") - -[GitLab.com Silver 和更高版本](https://about.gitlab.com/pricing/)提供了[SCIM API](scim.html) , [该](https://tools.ietf.org/html/rfc7644) [API](scim.html)实现[RFC7644 协议](https://tools.ietf.org/html/rfc7644)并提供`/Users`端点. 基本网址为: `/api/scim/v2/groups/:group_path/Users/` . - -## Road to GraphQL[](#road-to-graphql "Permalink") - -[GitLab](graphql/index.html)中提供了[GraphQL](graphql/index.html) ,它将允许弃用控制器特定的端点. - -GraphQL 具有许多优点: - -1. 我们避免维护两个不同的 API. -2. API 的调用者只能请求他们需要的东西. -3. 默认情况下为版本. - -它将与当前的 v4 REST API 共存. 如果我们有 v5 API,则这应该是 GraphQL 之上的兼容性层. - -尽管 GraphQL 存在一些专利和许可问题,但通过 MIT 下的参考实现的重新许可以及 GraphQL 规范使用 OWF 许可证,这些问题已得到我们的满意解决. - -## Compatibility guidelines[](#compatibility-guidelines "Permalink") - -HTTP API 使用单个数字进行版本控制,当前数字为 4.此数字与[SemVer](https://semver.org/)描述的主要版本号[相同](https://semver.org/) . 这意味着向后不兼容的更改将需要更改此版本号. 但是,次要版本不明确. 这可以实现稳定的 API 端点,但也意味着可以将新功能以相同的版本号添加到 API. - -新功能和错误修复与新的 GitLab 一起发布,除附带的修补程序和安全版本外,还于每月 22 日发布. 向后不兼容的更改(例如,端点删除,参数删除等)以及整个 API 版本的删除与 GitLab 本身的主要版本一起进行. 两个版本之间的所有弃用和更改都应在文档中列出. 对于 v3 和 v4 之间的更改; 请阅读[v3 至 v4 文档](v3_to_v4.html) - -### Current status[](#current-status "Permalink") - -当前仅提供 API 版本 v4\. v3 版本已在[GitLab 11.0](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/36819)中删除. - -## Basic usage[](#basic-usage "Permalink") - -API 请求应以`api`和 API 版本为前缀. API 版本在[`lib/api.rb`](https://gitlab.com/gitlab-org/gitlab/tree/master/lib/api/api.rb)定义. 例如,v4 API 的根位于`/api/v4` . - -使用 cURL 的有效 API 请求的示例: - -``` -curl "https://gitlab.example.com/api/v4/projects" -``` - -该 API 使用 JSON 序列化数据. 您无需在 API URL 的末尾指定`.json` . - -## Authentication[](#authentication "Permalink") - -大多数 API 请求都需要身份验证,或者仅在不提供身份验证时才返回公共数据. 对于不需要的情况,将在文档中针对每个端点进行提及. 例如, [`/projects/:id`端点](projects.html#get-single-project) . - -使用 GitLab API 进行身份验证的方法有几种: - -1. [OAuth2 tokens](#oauth2-tokens) -2. [Personal access tokens](../user/profile/personal_access_tokens.html) -3. [Project access tokens](../user/project/settings/project_access_tokens.html) -4. [Session cookie](#session-cookie) -5. [GitLab CI/CD job token](#gitlab-ci-job-token) **(仅特定端点)** - -对于想要以特定用户身份向 API 进行身份验证的管理员,或者想要构建执行此操作的应用程序或脚本的管理员,可以使用以下两种方法: - -1. [Impersonation tokens](#impersonation-tokens) -2. [Sudo](#sudo) - -如果身份验证信息无效或被忽略,将返回一条错误消息,状态码为`401` : - -``` -{ "message": "401 Unauthorized" } -``` - -### OAuth2 tokens[](#oauth2-tokens "Permalink") - -您可以通过在`access_token`参数或`Authorization`标头中传递[OAuth2 令牌](oauth2.html)来对 API 进行身份验证. - -在参数中使用 OAuth2 令牌的示例: - -``` -curl "https://gitlab.example.com/api/v4/projects?access_token=OAUTH-TOKEN" -``` - -在标头中使用 OAuth2 令牌的示例: - -``` -curl --header "Authorization: Bearer OAUTH-TOKEN" "https://gitlab.example.com/api/v4/projects" -``` - -阅读有关[GitLab 作为 OAuth2 提供程序的](oauth2.html)更多信息. - -### Personal/project access tokens[](#personalproject-access-tokens "Permalink") - -Access tokens can be used to authenticate with the API by passing it in either the `private_token` parameter or the `Private-Token` header. - -在参数中使用个人/项目访问令牌的示例: - -``` -curl "https://gitlab.example.com/api/v4/projects?private_token=" -``` - -在标头中使用个人/项目访问令牌的示例: - -``` -curl --header "Private-Token: " "https://gitlab.example.com/api/v4/projects" -``` - -您还可以将个人/项目访问令牌与 OAuth 兼容标头一起使用: - -``` -curl --header "Authorization: Bearer " "https://gitlab.example.com/api/v4/projects" -``` - -### Session cookie[](#session-cookie "Permalink") - -登录主 GitLab 应用程序时,将设置`_gitlab_session` cookie. 如果存在,API 将使用此 cookie 进行身份验证,但是当前不支持使用 API​​生成新的会话 cookie. - -这种身份验证方法的主要用户是 GitLab 本身的 Web 前端,它可以将 API 用作经过身份验证的用户来获取其项目列表,例如,而无需显式传递访问令牌. - -### GitLab CI job token[](#gitlab-ci-job-token "Permalink") - -通过一些 API 端点,您可以使用[GitLab CI / CD 作业令牌](../user/project/new_ci_build_permissions_model.html#job-token)来对该 API 进行身份验证: - -* [Get job artifacts](jobs.html#get-job-artifacts) -* [Pipeline triggers](pipeline_triggers.html) -* [Release creation](releases/index.html#create-a-release) - -### Impersonation tokens[](#impersonation-tokens "Permalink") - -在 GitLab 9.0 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/9099) . 需要管理员权限. - -模拟令牌是一种[个人访问令牌](../user/profile/personal_access_tokens.html) ,只能由管理员为特定用户创建. 如果您要构建以特定用户身份通过​​API 进行身份验证的应用程序或脚本,则它们非常适合. - -它们是直接使用用户密码或他们的个人访问令牌之一以及使用[Sudo](#sudo)功能的替代方法,因为用户(或管理员,对于 Sudo 而言)的密码/令牌可能是未知的,或者可能随时间变化. - -有关更多信息,请参考[用户 API](users.html#create-an-impersonation-token)文档. - -模拟令牌的使用与常规个人访问令牌完全一样,并且可以在`private_token`参数或`Private-Token`标头中传递. - -#### Disable impersonation[](#disable-impersonation "Permalink") - -在 GitLab 11.6 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/40385) . - -默认情况下,模拟是启用的. 禁用模拟: - -**对于所有安装** - -1. Edit `/etc/gitlab/gitlab.rb`: - - ``` - gitlab_rails['impersonation_enabled'] = false - ``` - -2. 保存文件并[重新配置](../administration/restart_gitlab.html#omnibus-gitlab-reconfigure) GitLab,以使更改生效. - -要重新启用模拟,请删除此配置并重新配置 GitLab. - -**对于源安装** - -1. Edit `config/gitlab.yml`: - - ``` - gitlab: - impersonation_enabled: false - ``` - -2. 保存文件并[重新启动](../administration/restart_gitlab.html#installations-from-source) GitLab,以使更改生效. - -要重新启用模拟,请删除此配置并重新启动 GitLab. - -### Sudo[](#sudo "Permalink") - -**注意:**仅对[管理员](../user/permissions.html)可用. - -如果已通过具有`sudo`范围的 OAuth 或 Personal Access Token 作为管理员进行身份验证,则所有 API 请求都支持执行 API 调用,就好像您是另一个用户一样. - -您需要通过查询字符串或带有您要执行操作的用户的 ID /用户名的标头传递`sudo`参数. 如果作为标题传递,则标题名称必须为`Sudo` . - -**注意:**用户名不区分大小写. - -如果提供了非管理访问令牌,将返回错误消息,状态码为`403` : - -``` -{ "message": "403 Forbidden - Must be admin to use sudo" } -``` - -如果提供了没有`sudo`范围的访问令牌,则将返回错误消息,状态码为`403` : - -``` -{ "error": "insufficient_scope", "error_description": "The request requires higher privileges than provided by the access token.", "scope": "sudo" } -``` - -如果找不到 sudo 用户 ID 或用户名,将返回错误消息,状态码为`404` : - -``` -{ "message": "404 User with ID or username '123' Not Found" } -``` - -有效的 API 调用和使用 cURL 和 sudo request(提供用户名)的请求的示例: - -``` -GET /projects?private_token=&sudo=username -``` - -``` -curl --header "Private-Token: " --header "Sudo: username" "https://gitlab.example.com/api/v4/projects" -``` - -提供 ID 的有效 API 调用和使用 cURL 和 sudo request 的请求的示例: - -``` -GET /projects?private_token=&sudo=23 -``` - -``` -curl --header "Private-Token: " --header "Sudo: 23" "https://gitlab.example.com/api/v4/projects" -``` - -## Status codes[](#status-codes "Permalink") - -该 API 旨在根据上下文和操作返回不同的状态代码. 这样,如果请求导致错误,则调用者可以洞悉出了什么问题. - -下表概述了 API 函数的一般行为. - -| 请求类型 | Description | -| --- | --- | -| `GET` | 访问一个或多个资源,并将结果作为 JSON 返回. | -| `POST` | 如果成功创建资源,则返回`201 Created` ,然后将新创建的资源作为 JSON 返回. | -| `GET` / `PUT` | 如果成功访问或修改了资源,则返回`200 OK` . (修改后的)结果作为 JSON 返回. | -| `DELETE` | 如果资源已成功删除,则返回`204 No Content` . | - -下表显示了 API 请求的可能返回码. - -| 返回值 | Description | -| --- | --- | -| `200 OK` | `GET` , `PUT`或`DELETE`请求成功,资源本身作为 JSON 返回. | -| `204 No Content` | 服务器已成功满足请求,并且响应有效载荷主体中没有其他要发送的内容. | -| `201 Created` | `POST`请求成功,资源作为 JSON 返回. | -| `304 Not Modified` | 指示自上次请求以来尚未修改资源. | -| `400 Bad Request` | API 请求的必需属性丢失,例如,未提供问题标题. | -| `401 Unauthorized` | 用户未通过身份验证,有效的[用户令牌](#authentication)是必需的. | -| `403 Forbidden` | 不允许该请求,例如,不允许用户删除项目. | -| `404 Not Found` | 无法访问资源,例如,找不到资源的 ID. | -| `405 Method Not Allowed` | The request is not supported. | -| `409 Conflict` | 已经存在冲突的资源,例如,使用已经存在的名称创建项目. | -| `412` | 表示请求被拒绝. `If-Unmodified-Since`尝试删除资源时提供了`If-Unmodified-Since`标头,则可能会发生这种情况. | -| `422 Unprocessable` | 无法处理该实体. | -| `500 Server Error` | 在处理请求时,服务器端出了点问题. | - -## Pagination[](#pagination "Permalink") - -我们支持两种分页方法: - -* 基于偏移的分页. 这是默认方法,并且在所有端点上都可用. -* 基于键集的分页. 已添加到选定的端点,但会[逐步推出](https://gitlab.com/groups/gitlab-org/-/epics/2039) . - -对于大型集合,出于性能原因,我们建议键集分页(如果有)而不是偏移分页. - -### Offset-based pagination[](#offset-based-pagination "Permalink") - -有时,返回的结果将跨越许多页面. 列出资源时,可以传递以下参数: - -| Parameter | Description | -| --- | --- | -| `page` | 页码(默认: `1` ) | -| `per_page` | 每页要列出的项目数(默认: `20` ,最大: `100` ) | - -在下面的示例中,我们每页列出 50 个[名称空间](namespaces.html) . - -``` -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/namespaces?per_page=50" -``` - -#### Pagination Link header[](#pagination-link-header "Permalink") - -[链接头](https://www.w3.org/wiki/LinkHeader)随每个响应一起发送回去. 它们的`rel`设置为 prev / next / first / last 并包含相关的 URL. 请使用这些链接,而不是生成自己的 URL. - -在下面的卷曲的例子,我们限制输出到每页 3 项( `per_page=3` ),我们要求的第二页( `page=2`的) [评论](notes.html)与 ID 问题的`8`属于与 ID 项目`8` : - -``` -curl --head --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/8/issues/8/notes?per_page=3&page=2" -``` - -响应将是: - -``` -HTTP/1.1 200 OK -Cache-Control: no-cache -Content-Length: 1103 -Content-Type: application/json -Date: Mon, 18 Jan 2016 09:43:18 GMT -Link: ; rel="prev", ; rel="next", ; rel="first", ; rel="last" -Status: 200 OK -Vary: Origin -X-Next-Page: 3 -X-Page: 2 -X-Per-Page: 3 -X-Prev-Page: 1 -X-Request-Id: 732ad4ee-9870-4866-a199-a9db0cde3c86 -X-Runtime: 0.108688 -X-Total: 8 -X-Total-Pages: 3 -``` - -#### Other pagination headers[](#other-pagination-headers "Permalink") - -其他分页标题也会发送回. - -| Header | Description | -| --- | --- | -| `X-Total` | 项目总数 | -| `X-Total-Pages` | 总页数 | -| `X-Per-Page` | 每页的项目数 | -| `X-Page` | 当前页面的索引(从 1 开始) | -| `X-Next-Page` | 下一页的索引 | -| `X-Prev-Page` | 前一页的索引 | - -**注意:**由于性能原因,自[GitLab 11.8 起](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/23931)并**在`api_kaminari_count_with_limit` [功能标志](../development/feature_flags/index.html)后面** ,如果资源数量大于 10,000,则`X-Total`和`X-Total-Pages`标头以及`rel="last"` `Link`将不存在响应头. - -### Keyset-based pagination[](#keyset-based-pagination "Permalink") - -键集分页可以更有效地检索页面,并且与基于偏移的分页相比,运行时与集合的大小无关. - -此方法由以下参数控制: - -| Parameter | Description | -| --- | --- | -| `pagination` | `keyset` (启用键集分页) | -| `per_page` | 每页要列出的项目数(默认: `20` ,最大: `100` ) | - -在下面的示例中,我们每页列出 50 [个项目](projects.html) ,并按`id`升序排列. - -``` -curl --request GET --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects?pagination=keyset&per_page=50&order_by=id&sort=asc" -``` - -响应头包括指向下一页的链接. 例如: - -``` -HTTP/1.1 200 OK -... -Links: ; rel="next" -Link: ; rel="next" -Status: 200 OK -... -``` - -**弃用:** `Links`标题将在 GitLab 14.0 中删除,以符合[W3C `Link`规范](https://www.w3.org/wiki/LinkHeader) - -指向下一页的链接包含一个附加过滤器`id_after=42` ,该过滤器不包括我们已经检索到的记录. 请注意,过滤器的类型取决于所使用的`order_by`选项,我们可能有多个过滤器. - -当到达集合的末尾并且没有其他要检索的记录时,将没有`Links`头,并且结果数组为空. - -我们建议仅使用给定的链接来检索下一页,而不要构建自己的 URL. 除了显示的标题外,我们不公开其他分页标题. - -仅针对所选资源和订购选项支持基于键集的分页: - -| Resource | Order | -| --- | --- | -| [Projects](projects.html) | `order_by=id` only | - -## Path parameters[](#path-parameters "Permalink") - -如果端点具有路径参数,则文档将在它们前面加上冒号. - -例如: - -``` -DELETE /projects/:id/share/:group_id -``` - -`:id`路径参数需要替换为项目 ID,而`:group_id`需要替换为组的 ID. 冒号`:`不应包含在内. - -因此,对 ID 为`5` ,组 ID 为`17`的项目的 cURL 调用为: - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/share/17" -``` - -**注意:**必须遵循要求进行 URL 编码的路径参数. 如果不是,它将与 API 端点不匹配并以 404 进行响应.如果 API 前面有某些内容(例如 Apache),请确保它不会对 URL 编码的路径参数进行解码. - -## Namespaced path encoding[](#namespaced-path-encoding "Permalink") - -如果使用命名空间的 API 调用,请确保`NAMESPACE/PROJECT_PATH`是 URL 编码的. - -例如, `/`由`/`表示: - -``` -GET /api/v4/projects/diaspora%2Fdiaspora -``` - -**注意:**项目的**路径**不必与**名称**相同. 可以在项目的 URL 或项目设置中的**常规>高级>更改路径**下找到项目的**路径** . - -## File path, branches, and tags name encoding[](#file-path-branches-and-tags-name-encoding "Permalink") - -如果文件路径,分支或标记包含`/` ,请确保其经过 URL 编码. - -例如, `/`由`/`表示: - -``` -GET /api/v4/projects/1/repository/files/src%2FREADME.md?ref=master -GET /api/v4/projects/1/branches/my%2Fbranch/commits -GET /api/v4/projects/1/repository/tags/my%2Ftag -``` - -## Request Payload[](#request-payload "Permalink") - -API 请求可以使用作为[查询字符串](https://en.wikipedia.org/wiki/Query_string)或[有效载荷主体](https://tools.ietf.org/html/draft-ietf-httpbis-p3-payload-14#section-3.2)发送的参数. GET 请求通常发送查询字符串,而 PUT / POST 请求通常发送有效内容正文: - -* 请求参数: - - ``` - curl --request POST "https://gitlab/api/v4/projects?name=&description=" - ``` - -* 请求有效载荷(JSON): - - ``` - curl --request POST --header "Content-Type: application/json" --data '{"name":"", "description":"" \ --d "import_sources[]=github" \ --d "import_sources[]=bitbucket" \ -https://gitlab.example.com/api/v4/some_endpoint -``` - -### `hash`[](#hash "Permalink") - -`override_params`是`hash`类型的参数: - -``` -curl --request POST --header "PRIVATE-TOKEN: " \ ---form "namespace=email" \ ---form "path=impapi" \ ---form "file=@/path/to/somefile.txt" ---form "override_params[visibility]=private" \ ---form "override_params[some_other_param]=some_value" \ -https://gitlab.example.com/api/v4/projects/import -``` - -### Array of hashes[](#array-of-hashes "Permalink") - -`variables`是包含哈希键/值对`[{ 'key' => 'UPLOAD_TO_S3', 'value' => 'true' }]` `array`类型的参数: - -``` -curl --globoff --request POST --header "PRIVATE-TOKEN: " \ -"https://gitlab.example.com/api/v4/projects/169/pipeline?ref=master&variables[][key]=VAR1&variables[][value]=hello&variables[][key]=VAR2&variables[][value]=world" - -curl --request POST --header "PRIVATE-TOKEN: " \ ---header "Content-Type: application/json" \ ---data '{ "ref": "master", "variables": [ {"key": "VAR1", "value": "hello"}, {"key": "VAR2", "value": "world"} ] }' \ -"https://gitlab.example.com/api/v4/projects/169/pipeline" -``` - -## `id` vs `iid`[](#id-vs-iid "Permalink") - -Some resources have two similarly-named fields. For example, [issues](issues.html), [merge requests](merge_requests.html), and [project milestones](merge_requests.html). The fields are: - -* `id` :在所有项目中唯一的 ID. -* `iid` :在单个项目范围内唯一的附加内部 ID. - -**注意:** `iid`显示在 Web UI 中. - -如果资源具有`iid`字段和`id`字段,则通常使用`iid`字段代替`id`来获取资源. - -例如,假设一个`id: 42`的项目有一个`id: 46`和`iid: 5` . 在这种情况下: - -* 检索问题的有效 API 调用是`GET /projects/42/issues/5` -* 检索问题的无效 API 调用是`GET /projects/42/issues/46` . - -**注意:**并非所有具有`iid`字段的资源都由`iid`获取. 有关使用哪个字段的指导,请参阅特定资源的文档. - -## Data validation and error reporting[](#data-validation-and-error-reporting "Permalink") - -使用 API​​时,您可能会遇到验证错误,在这种情况下,API 会以 HTTP `400`状态进行回答. - -这种错误在两种情况下出现: - -* API 请求的必需属性丢失,例如,未给出问题标题 -* 属性未通过验证,例如,用户简历太长 - -当缺少属性时,您将获得类似以下内容的信息: - -``` -HTTP/1.1 400 Bad Request -Content-Type: application/json -{ - "message":"400 (Bad request) \"title\" not given" -} -``` - -发生验证错误时,错误消息将有所不同. 它们将包含验证错误的所有详细信息: - -``` -HTTP/1.1 400 Bad Request -Content-Type: application/json -{ - "message": { - "bio": [ - "is too long (maximum is 255 characters)" - ] - } -} -``` - -这使错误消息更加机器可读. 格式可以描述如下: - -``` -{ "message": { "": [ "", "", ... ], "": { "": [ "", "", ... ], } } } -``` - -## Unknown route[](#unknown-route "Permalink") - -当您尝试访问不存在的 API URL 时,您将收到 404 Not Found. - -``` -HTTP/1.1 404 Not Found -Content-Type: application/json -{ - "error": "404 Not Found" -} -``` - -## Encoding `+` in ISO 8601 dates[](#encoding--in-iso-8601-dates "Permalink") - -如果需要在查询参数中包含`+` ,则由于[W3 建议](http://www.w3.org/Addressing/URL/4_URI_Recommentations.html)会将`+`解释为空格,因此可能需要使用`+`来代替. 例如,在一个 ISO 8601 日期中,您可能希望以"山区标准时间"传递时间,例如: - -``` -2017-10-17T23:11:13.000+05:30 -``` - -The correct encoding for the query parameter would be: - -``` -2017-10-17T23:11:13.000%2B05:30 -``` - -## Clients[](#clients "Permalink") - -大多数流行的编程语言都有许多非官方的 GitLab API 客户端. 访问[GitLab 网站](https://about.gitlab.com/partners/#api-clients)以获取完整列表. - -## Rate limits[](#rate-limits "Permalink") - -有关速率限制设置的管理员文档,请参阅[速率限制](../security/rate_limits.html) . 要查找 GitLab.com 专门使用的设置,请参阅[GitLab.com 特定的速率限制](../user/gitlab_com/index.html#gitlabcom-specific-rate-limits) . \ No newline at end of file diff --git a/docs/285.md b/docs/285.md deleted file mode 100644 index b94d287..0000000 --- a/docs/285.md +++ /dev/null @@ -1,173 +0,0 @@ -# API resources - -> 原文:[https://docs.gitlab.com/ee/api/api_resources.html](https://docs.gitlab.com/ee/api/api_resources.html) - -* [Project resources](#project-resources) -* [Group resources](#group-resources) -* [Standalone resources](#standalone-resources) -* [Templates API resources](#templates-api-resources) - -# API resources[](#api-resources "Permalink") - -可在以下上下文中对[GitLab API 的](README.html)可用资源进行分组: - -* [Projects](#project-resources). -* [Groups](#group-resources). -* [Standalone](#standalone-resources). - -也可以看看: - -* [V3 to V4](v3_to_v4.html). -* Adding [deploy keys for multiple projects](deploy_key_multiple_projects.html). -* [API Resources for various templates](#templates-api-resources). - -## Project resources[](#project-resources "Permalink") - -在项目上下文中可以使用以下 API 资源: - -| Resource | 可用端点 | -| --- | --- | -| [Access requests](access_requests.html) | `/projects/:id/access_requests` (也可用于组) | -| [Award emoji](award_emoji.html) | `/projects/:id/issues/.../award_emoji`, `/projects/:id/merge_requests/.../award_emoji`, `/projects/:id/snippets/.../award_emoji` | -| [Branches](branches.html) | `/projects/:id/repository/branches/`, `/projects/:id/repository/merged_branches` | -| [Commits](commits.html) | `/projects/:id/repository/commits`, `/projects/:id/statuses` | -| [Container Registry](container_registry.html) | `/projects/:id/registry/repositories` | -| [Custom attributes](custom_attributes.html) | `/projects/:id/custom_attributes` (也适用于组和用户) | -| [Dependencies](dependencies.html) | `/projects/:id/dependencies` | -| [Deploy keys](deploy_keys.html) | `/projects/:id/deploy_keys` (也可以独立使用) | -| [Freeze Periods](freeze_periods.html) | `/projects/:id/freeze_periods` | -| [Deployments](deployments.html) | `/projects/:id/deployments` | -| [讨论](discussions.html) (主题注释) | `/projects/:id/issues/.../discussions` , `/projects/:id/snippets/.../discussions` , `/projects/:id/merge_requests/.../discussions` , `/projects/:id/commits/.../discussions` (也适用于团体) | -| [Environments](environments.html) | `/projects/:id/environments` | -| [Error Tracking](error_tracking.html) | `/projects/:id/error_tracking/settings` | -| [Events](events.html) | `/projects/:id/events` (也可用于用户和独立用户) | -| [Feature Flags](feature_flags.html) | `/projects/:id/feature_flags` | -| [Feature Flag User Lists](feature_flag_user_lists.html) | `/projects/:id/feature_flags_user_lists` | -| [Issues](issues.html) | `/projects/:id/issues` (也可用于团体和独立团体) | -| [Issues Statistics](issues_statistics.html) | `/projects/:id/issues_statistics` (也适用于组和独立用户) | -| [Issue boards](boards.html) | `/projects/:id/boards` | -| [Issue links](issue_links.html) | `/projects/:id/issues/.../links` | -| [Jobs](jobs.html) | `/projects/:id/jobs`, `/projects/:id/pipelines/.../jobs` | -| [Labels](labels.html) | `/projects/:id/labels` | -| [Managed licenses](managed_licenses.html) | `/projects/:id/managed_licenses` | -| [Members](members.html) | `/projects/:id/members` (也可用于组) | -| [Merge request approvals](merge_request_approvals.html) | `/projects/:id/approvals`, `/projects/:id/merge_requests/.../approvals` | -| [Merge requests](merge_requests.html) | `/projects/:id/merge_requests` (也可用于组和独立) | -| [Notes](notes.html) (comments) | `/projects/:id/issues/.../notes` : `/projects/:id/snippets/.../notes` / `/projects/:id/merge_requests/.../notes` `/projects/:id/issues/.../notes` ,/ `/projects/:id/snippets/.../notes` : `/projects/:id/merge_requests/.../notes` `/projects/:id/issues/.../notes` ,/ `/projects/:id/snippets/.../notes` : `/projects/:id/merge_requests/.../notes` (也可用于团体) | -| [Notification settings](notification_settings.html) | `/projects/:id/notification_settings` (也可用于组和独立) | -| [Packages](packages.html) | `/projects/:id/packages` | -| [Pages domains](pages_domains.html) | `/projects/:id/pages` (也可以独立使用) | -| [Pipelines](pipelines.html) | `/projects/:id/pipelines` | -| [Pipeline schedules](pipeline_schedules.html) | `/projects/:id/pipeline_schedules` | -| [Pipeline triggers](pipeline_triggers.html) | `/projects/:id/triggers` | -| [项目](projects.html)包括设置 Webhooks | `/projects` , `/projects/:id/hooks` (也可供用户使用) | -| [Project badges](project_badges.html) | `/projects/:id/badges` | -| [Project clusters](project_clusters.html) | `/projects/:id/clusters` | -| [Project-level variables](project_level_variables.html) | `/projects/:id/variables` | -| [Project import/export](project_import_export.html) | `/projects/:id/export`, `/projects/import`, `/projects/:id/import` | -| [Project milestones](milestones.html) | `/projects/:id/milestones` | -| [Project snippets](project_snippets.html) | `/projects/:id/snippets` | -| [Project templates](project_templates.html) | `/projects/:id/templates` | -| [Protected environments](protected_environments.html) | `/projects/:id/protected_environments` | -| [Protected branches](protected_branches.html) | `/projects/:id/protected_branches` | -| [Protected tags](protected_tags.html) | `/projects/:id/protected_tags` | -| [Releases](releases/index.html) | `/projects/:id/releases` | -| [Release links](releases/links.html) | `/projects/:id/releases/.../assets/links` | -| [Remote mirrors](remote_mirrors.html) | `/projects/:id/remote_mirrors` | -| [Repositories](repositories.html) | `/projects/:id/repository` | -| [Repository files](repository_files.html) | `/projects/:id/repository/files` | -| [Repository submodules](repository_submodules.html) | `/projects/:id/repository/submodules` | -| [Resource label events](resource_label_events.html) | `/projects/:id/issues/.../resource_label_events` : `/projects/:id/merge_requests/.../resource_label_events` `/projects/:id/issues/.../resource_label_events` ,/ `/projects/:id/merge_requests/.../resource_label_events` : `/projects/:id/issues/.../resource_label_events` / `/projects/:id/merge_requests/.../resource_label_events` (也可用于团体) | -| [Runners](runners.html) | `/projects/:id/runners` (也可以独立使用) | -| [Search](search.html) | `/projects/:id/search` (also available for groups and standalone) | -| [Services](services.html) | `/projects/:id/services` | -| [Tags](tags.html) | `/projects/:id/repository/tags` | -| [User-starred metrics dashboards](metrics_user_starred_dashboards.html) | `/projects/:id/metrics/user_starred_dashboards` | -| [Visual Review discussions](visual_review_discussions.html) | `/projects/:id/merge_requests/:merge_request_id/visual_review_discussions` | -| [Vulnerabilities](vulnerabilities.html) | `/vulnerabilities/:id` | -| [Vulnerability exports](vulnerability_exports.html) | `/projects/:id/vulnerability_exports` | -| [Project vulnerabilities](project_vulnerabilities.html) | `/projects/:id/vulnerabilities` | -| [Vulnerability findings](vulnerability_findings.html) | `/projects/:id/vulnerability_findings` | -| [Wikis](wikis.html) | `/projects/:id/wikis` | - -## Group resources[](#group-resources "Permalink") - -组上下文中提供了以下 API 资源: - -| Resource | 可用端点 | -| --- | --- | -| [Access requests](access_requests.html) | `/groups/:id/access_requests/` (也可用于项目) | -| [Custom attributes](custom_attributes.html) | `/groups/:id/custom_attributes` (也适用于项目和用户) | -| [讨论](discussions.html) (主题注释) | `/groups/:id/epics/.../discussions` (也可用于项目) | -| [Epic issues](epic_issues.html) | `/groups/:id/epics/.../issues` | -| [Epic links](epic_links.html) | `/groups/:id/epics/.../epics` | -| [Epics](epics.html) | `/groups/:id/epics` | -| [Groups](groups.html) | `/groups`, `/groups/.../subgroups` | -| [Group badges](group_badges.html) | `/groups/:id/badges` | -| [Group issue boards](group_boards.html) | `/groups/:id/boards` | -| [Group labels](group_labels.html) | `/groups/:id/labels` | -| [Group-level variables](group_level_variables.html) | `/groups/:id/variables` | -| [Group milestones](group_milestones.html) | `/groups/:id/milestones` | -| [Issues](issues.html) | `/groups/:id/issues` (也可用于项目和独立版本) | -| [Issues Statistics](issues_statistics.html) | `/groups/:id/issues_statistics` (也可用于项目和独立版本) | -| [Members](members.html) | `/groups/:id/members` (也可用于项目) | -| [Merge requests](merge_requests.html) | `/groups/:id/merge_requests` (也可用于项目和独立版本) | -| [Notes](notes.html) (comments) | `/groups/:id/epics/.../notes` (也适用于项目) | -| [Notification settings](notification_settings.html) | `/groups/:id/notification_settings` (也可用于项目和独立版本) | -| [Resource label events](resource_label_events.html) | `/groups/:id/epics/.../resource_label_events` (也可用于项目) | -| [Search](search.html) | `/groups/:id/search` (也可用于项目和独立版本) | - -## Standalone resources[](#standalone-resources "Permalink") - -在项目和组上下文(包括`/users` )之外可以使用以下 API 资源: - -| Resource | 可用端点 | -| --- | --- | -| [Instance-level CI/CD variables](instance_level_ci_variables.html) | `/admin/ci/variables` | -| [Admin Sidekiq queues](admin_sidekiq_queues.html) | `/admin/sidekiq/queues/:queue_name` | -| [Appearance](appearance.html) | `/application/appearance` | -| [Applications](applications.html) | `/applications` | -| [Audit Events](audit_events.html) | `/audit_events` | -| [Avatar](avatar.html) | `/avatar` | -| [Broadcast messages](broadcast_messages.html) | `/broadcast_messages` | -| [Code snippets](snippets.html) | `/snippets` | -| [Custom attributes](custom_attributes.html) | `/users/:id/custom_attributes` (也可用于组和项目) | -| [Deploy keys](deploy_keys.html) | `/deploy_keys` (也可用于项目) | -| [Events](events.html) | `/events` , `/users/:id/events` (也可用于项目) | -| [Feature flags](features.html) | `/features` | -| [Geo Nodes](geo_nodes.html) | `/geo_nodes` | -| [Group Activity Analytics](group_activity_analytics.html) | `/analytics/group_activity/{issues_count | merge_requests_count | new_members_count }` | -| [Import repository from GitHub](import.html) | `/import/github` | -| [Instance clusters](instance_clusters.html) | `/admin/clusters` | -| [Issues](issues.html) | `/issues` (也可用于小组和项目) | -| [Issues Statistics](issues_statistics.html) | `/issues_statistics` (也适用于小组和项目) | -| [Keys](keys.html) | `/keys` | -| [License](license.html) | `/license` | -| [Markdown](markdown.html) | `/markdown` | -| [Merge requests](merge_requests.html) | `/merge_requests` (也适用于小组和项目) | -| [Metrics dashboard annotations](metrics_dashboard_annotations.html) | `/environments/:id/metrics_dashboard/annotations`, `/clusters/:id/metrics_dashboard/annotations` | -| [Namespaces](namespaces.html) | `/namespaces` | -| [Notification settings](notification_settings.html) | `/notification_settings` (也适用于小组和项目) | -| [Pages domains](pages_domains.html) | `/pages/domains` (也可用于项目) | -| [Projects](projects.html) | `/users/:id/projects` (也可用于项目) | -| [Project repository storage moves](project_repository_storage_moves.html) | `/project_repository_storage_moves` | -| [Runners](runners.html) | `/runners` (也可用于项目) | -| [Search](search.html) | `/search` (也可用于小组和项目) | -| [Settings](settings.html) | `/application/settings` | -| [Statistics](statistics.html) | `/application/statistics` | -| [Sidekiq metrics](sidekiq_metrics.html) | `/sidekiq` | -| [Suggestions](suggestions.html) | `/suggestions` | -| [System hooks](system_hooks.html) | `/hooks` | -| [Todos](todos.html) | `/todos` | -| [Users](users.html) | `/users` | -| [Validate `.gitlab-ci.yml` file](lint.html) | `/lint` | -| [Version](version.html) | `/version` | - -## Templates API resources[](#templates-api-resources "Permalink") - -端点可用于: - -* [Dockerfile templates](templates/dockerfiles.html). -* [`.gitignore` templates](templates/gitignores.html). -* [GitLab CI/CD YAML templates](templates/gitlab_ci_ymls.html). -* [Open source license templates](templates/licenses.html). \ No newline at end of file diff --git a/docs/286.md b/docs/286.md deleted file mode 100644 index 8531818..0000000 --- a/docs/286.md +++ /dev/null @@ -1,54 +0,0 @@ -# `.gitignore` API - -> 原文:[https://docs.gitlab.com/ee/api/templates/gitignores.html](https://docs.gitlab.com/ee/api/templates/gitignores.html) - -* [List `.gitignore` templates](#list-gitignore-templates) -* [Single `.gitignore` template](#single-gitignore-template) - -# `.gitignore` API[](#gitignore-api "Permalink") - -在 GitLab 中,有一个`.gitignore`可用的 API 端点. 有关`gitignore`更多信息,请参见[Git 文档](https://git-scm.com/docs/gitignore) . - -## List `.gitignore` templates[](#list-gitignore-templates "Permalink") - -获取所有`.gitignore`模板. - -``` -GET /templates/gitignores -``` - -请求示例: - -``` -curl https://gitlab.example.com/api/v4/templates/gitignores -``` - -响应示例: - -``` -[ { "key": "Actionscript", "name": "Actionscript" }, { "key": "Ada", "name": "Ada" }, { "key": "Agda", "name": "Agda" }, { "key": "Android", "name": "Android" }, { "key": "AppEngine", "name": "AppEngine" }, { "key": "AppceleratorTitanium", "name": "AppceleratorTitanium" }, { "key": "ArchLinuxPackages", "name": "ArchLinuxPackages" }, { "key": "Autotools", "name": "Autotools" }, { "key": "C", "name": "C" }, { "key": "C++", "name": "C++" }, { "key": "CFWheels", "name": "CFWheels" }, { "key": "CMake", "name": "CMake" }, { "key": "CUDA", "name": "CUDA" }, { "key": "CakePHP", "name": "CakePHP" }, { "key": "ChefCookbook", "name": "ChefCookbook" }, { "key": "Clojure", "name": "Clojure" }, { "key": "CodeIgniter", "name": "CodeIgniter" }, { "key": "CommonLisp", "name": "CommonLisp" }, { "key": "Composer", "name": "Composer" }, { "key": "Concrete5", "name": "Concrete5" } ] -``` - -## Single `.gitignore` template[](#single-gitignore-template "Permalink") - -获取单个`.gitignore`模板. - -``` -GET /templates/gitignores/:key -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `key` | string | yes | `.gitignore`模板的键 | - -请求示例: - -``` -curl https://gitlab.example.com/api/v4/templates/gitignores/Ruby -``` - -响应示例: - -``` -{ "name": "Ruby", "content": "*.gem\n*.rbc\n/.config\n/coverage/\n/InstalledFiles\n/pkg/\n/spec/reports/\n/spec/examples.txt\n/test/tmp/\n/test/version_tmp/\n/tmp/\n\n# Used by dotenv library to load environment variables.\n# .env\n\n## Specific to RubyMotion:\n.dat*\n.repl_history\nbuild/\n*.bridgesupport\nbuild-iPhoneOS/\nbuild-iPhoneSimulator/\n\n## Specific to RubyMotion (use of CocoaPods):\n#\n# We recommend against adding the Pods directory to your .gitignore. However\n# you should judge for yourself, the pros and cons are mentioned at:\n# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control\n#\n# vendor/Pods/\n\n## Documentation cache and generated files:\n/.yardoc/\n/_yardoc/\n/doc/\n/rdoc/\n\n## Environment normalization:\n/.bundle/\n/vendor/bundle\n/lib/bundler/man/\n\n# for a library or gem, you might want to ignore these files since the code is\n# intended to run in multiple environments; otherwise, check them in:\n# Gemfile.lock\n# .ruby-version\n# .ruby-gemset\n\n# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:\n.rvmrc\n" } -``` \ No newline at end of file diff --git a/docs/287.md b/docs/287.md deleted file mode 100644 index 439b7d8..0000000 --- a/docs/287.md +++ /dev/null @@ -1,54 +0,0 @@ -# GitLab CI YMLs API - -> 原文:[https://docs.gitlab.com/ee/api/templates/gitlab_ci_ymls.html](https://docs.gitlab.com/ee/api/templates/gitlab_ci_ymls.html) - -* [List GitLab CI YML templates](#list-gitlab-ci-yml-templates) -* [Single GitLab CI YML template](#single-gitlab-ci-yml-template) - -# GitLab CI YMLs API[](#gitlab-ci-ymls-api "Permalink") - -在 GitLab 中,有一个 API 端点可用于 GitLab CI / CD YML. 有关 GitLab 中 CI / CD 管道配置的更多信息,请参阅[配置参考文档](../../ci/yaml/README.html) . - -## List GitLab CI YML templates[](#list-gitlab-ci-yml-templates "Permalink") - -获取所有的 GitLab CI / CD YML 模板. - -``` -GET /templates/gitlab_ci_ymls -``` - -请求示例: - -``` -curl https://gitlab.example.com/api/v4/templates/gitlab_ci_ymls -``` - -响应示例: - -``` -[ { "key": "Android", "name": "Android" }, { "key": "Android-Fastlane", "name": "Android-Fastlane" }, { "key": "Auto-DevOps", "name": "Auto-DevOps" }, { "key": "Bash", "name": "Bash" }, { "key": "C++", "name": "C++" }, { "key": "Chef", "name": "Chef" }, { "key": "Clojure", "name": "Clojure" }, { "key": "Code-Quality", "name": "Code-Quality" }, { "key": "Crystal", "name": "Crystal" }, { "key": "Django", "name": "Django" }, { "key": "Docker", "name": "Docker" }, { "key": "Elixir", "name": "Elixir" }, { "key": "Go", "name": "Go" }, { "key": "Gradle", "name": "Gradle" }, { "key": "Grails", "name": "Grails" }, { "key": "Julia", "name": "Julia" }, { "key": "LaTeX", "name": "LaTeX" }, { "key": "Laravel", "name": "Laravel" }, { "key": "Maven", "name": "Maven" }, { "key": "Mono", "name": "Mono" } ] -``` - -## Single GitLab CI YML template[](#single-gitlab-ci-yml-template "Permalink") - -获取单个 GitLab CI / CD YML 模板. - -``` -GET /templates/gitlab_ci_ymls/:key -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `key` | string | yes | GitLab CI / CD YML 模板的密钥 | - -请求示例: - -``` -curl https://gitlab.example.com/api/v4/templates/gitlab_ci_ymls/Ruby -``` - -响应示例: - -``` -{ "name": "Ruby", "content": "# This file is a template, and might need editing before it works on your project.\n# Official language image. Look for the different tagged releases at:\n# https://hub.docker.com/r/library/ruby/tags/\nimage: \"ruby:2.5\"\n\n# Pick zero or more services to be used on all builds.\n# Only needed when using a docker container to run your tests in.\n# Check out: http://docs.gitlab.com/ce/ci/docker/using_docker_images.html#what-is-a-service\nservices:\n - mysql:latest\n - redis:latest\n - postgres:latest\n\nvariables:\n POSTGRES_DB: database_name\n\n# Cache gems in between builds\ncache:\n paths:\n - vendor/ruby\n\n# This is a basic example for a gem or script which doesn't use\n# services such as redis or postgres\nbefore_script:\n - ruby -v # Print out ruby version for debugging\n # Uncomment next line if your rails app needs a JS runtime:\n # - apt-get update -q && apt-get install nodejs -yqq\n - bundle install -j $(nproc) --path vendor # Install dependencies into ./vendor/ruby\n\n# Optional - Delete if not using `rubocop`\nrubocop:\n script:\n - rubocop\n\nrspec:\n script:\n - rspec spec\n\nrails:\n variables:\n DATABASE_URL: \"postgresql://postgres:postgres@postgres:5432/$POSTGRES_DB\"\n script:\n - rails db:migrate\n - rails db:seed\n - rails test\n\n# This deploy job uses a simple deploy flow to Heroku, other providers, e.g. AWS Elastic Beanstalk\n# are supported too: https://github.com/travis-ci/dpl\ndeploy:\n type: deploy\n environment: production\n script:\n - gem install dpl\n - dpl --provider=heroku --app=$HEROKU_APP_NAME --api-key=$HEROKU_PRODUCTION_KEY\n" } -``` \ No newline at end of file diff --git a/docs/288.md b/docs/288.md deleted file mode 100644 index 95389b2..0000000 --- a/docs/288.md +++ /dev/null @@ -1,125 +0,0 @@ -# Group and project access requests API - -> 原文:[https://docs.gitlab.com/ee/api/access_requests.html](https://docs.gitlab.com/ee/api/access_requests.html) - -* [Valid access levels](#valid-access-levels) -* [List access requests for a group or project](#list-access-requests-for-a-group-or-project) -* [Request access to a group or project](#request-access-to-a-group-or-project) -* [Approve an access request](#approve-an-access-request) -* [Deny an access request](#deny-an-access-request) - -# Group and project access requests API[](#group-and-project-access-requests-api "Permalink") - -**注意:**此功能是在 GitLab 8.11 中引入的 - -## Valid access levels[](#valid-access-levels "Permalink") - -访问级别在`Gitlab::Access`模块中定义. 当前,这些级别被认可: - -* 无法访问( `0` ) -* 宾客( `10` ) -* 记者( `20` ) -* 显影剂( `30` ) -* 养护者( `40` ) -* 所有者( `50` )-仅对组有效 - -## List access requests for a group or project[](#list-access-requests-for-a-group-or-project "Permalink") - -获取认证用户可见的访问请求列表. - -``` -GET /groups/:id/access_requests -GET /projects/:id/access_requests -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/:id/access_requests" -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/:id/access_requests" -``` - -响应示例: - -``` -[ { "id": 1, "username": "raymond_smith", "name": "Raymond Smith", "state": "active", "created_at": "2012-10-22T14:13:35Z", "requested_at": "2012-10-22T14:13:35Z" }, { "id": 2, "username": "john_doe", "name": "John Doe", "state": "active", "created_at": "2012-10-22T14:13:35Z", "requested_at": "2012-10-22T14:13:35Z" } ] -``` - -## Request access to a group or project[](#request-access-to-a-group-or-project "Permalink") - -请求已验证用户访问组或项目. - -``` -POST /groups/:id/access_requests -POST /projects/:id/access_requests -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | - -请求示例: - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/:id/access_requests" -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/:id/access_requests" -``` - -响应示例: - -``` -{ "id": 1, "username": "raymond_smith", "name": "Raymond Smith", "state": "active", "created_at": "2012-10-22T14:13:35Z", "requested_at": "2012-10-22T14:13:35Z" } -``` - -## Approve an access request[](#approve-an-access-request "Permalink") - -批准给定用户的访问请求. - -``` -PUT /groups/:id/access_requests/:user_id/approve -PUT /projects/:id/access_requests/:user_id/approve -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `user_id` | integer | yes | 访问请求者的用户标识 | -| `access_level` | integer | no | 有效的访问级别(默认值: `30` ,开发人员访问级别) | - -请求示例: - -``` -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/:id/access_requests/:user_id/approve?access_level=20" -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/:id/access_requests/:user_id/approve?access_level=20" -``` - -响应示例: - -``` -{ "id": 1, "username": "raymond_smith", "name": "Raymond Smith", "state": "active", "created_at": "2012-10-22T14:13:35Z", "access_level": 20 } -``` - -## Deny an access request[](#deny-an-access-request "Permalink") - -拒绝给定用户的访问请求. - -``` -DELETE /groups/:id/access_requests/:user_id -DELETE /projects/:id/access_requests/:user_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `user_id` | integer | yes | 访问请求者的用户标识 | - -请求示例: - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/:id/access_requests/:user_id" -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/:id/access_requests/:user_id" -``` \ No newline at end of file diff --git a/docs/289.md b/docs/289.md deleted file mode 100644 index 4376522..0000000 --- a/docs/289.md +++ /dev/null @@ -1,63 +0,0 @@ -# Appearance API - -> 原文:[https://docs.gitlab.com/ee/api/appearance.html](https://docs.gitlab.com/ee/api/appearance.html) - -* [Get current appearance configuration](#get-current-appearance-configuration) -* [Change appearance configuration](#change-appearance-configuration) - -# Appearance API[](#appearance-api-core-only "Permalink") - -在 GitLab 12.7 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/16647) . - -Appearance API 使您可以像在`/admin/appearance`使用 GitLab UI 一样维护 GitLab 的`/admin/appearance` . 该 API 需要管理员权限. - -## Get current appearance configuration[](#get-current-appearance-configuration "Permalink") - -列出 GitLab 实例的当前外观配置. - -``` -GET /application/appearance -``` - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/application/appearance" -``` - -响应示例: - -``` -{ "title": "GitLab Test Instance", "description": "gitlab-test.example.com", "logo": "/uploads/-/system/appearance/logo/1/logo.png", "header_logo": "/uploads/-/system/appearance/header_logo/1/header.png", "favicon": "/uploads/-/system/appearance/favicon/1/favicon.png", "new_project_guidelines": "Please read the FAQs for help.", "profile_image_guidelines": "Custom profile image guidelines", "header_message": "", "footer_message": "", "message_background_color": "#e75e40", "message_font_color": "#ffffff", "email_header_and_footer_enabled": false } -``` - -## Change appearance configuration[](#change-appearance-configuration "Permalink") - -使用 API​​调用来修改 GitLab 实例外观配置. - -``` -PUT /application/appearance -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `title` | string | no | 登录/注册页面上的实例标题 | -| `description` | string | no | 降价文字显示在登录/注册页面上 | -| `logo` | mixed | no | 登录/注册页面上使用的实例图像 | -| `header_logo` | mixed | no | 用于主导航栏的实例图像 | -| `favicon` | mixed | no | `.ico`或`.png`格式的实例图标 | -| `new_project_guidelines` | string | no | 新项目页面上显示的降价文字 | -| `profile_image_guidelines` | string | no | 降价文字显示在个人头像下方的个人资料页面上 | -| `header_message` | string | no | 系统标题栏中的消息 | -| `footer_message` | string | no | 系统页脚栏中的消息 | -| `message_background_color` | string | no | 系统页眉/页脚栏的背景颜色 | -| `message_font_color` | string | no | 系统页眉/页脚栏的字体颜色 | -| `email_header_and_footer_enabled` | boolean | no | 如果启用,则在所有外发电子邮件中添加页眉和页脚 | - -``` -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/application/appearance?email_header_and_footer_enabled=true&header_message=test" -``` - -响应示例: - -``` -{ "title": "GitLab Test Instance", "description": "gitlab-test.example.com", "logo": "/uploads/-/system/appearance/logo/1/logo.png", "header_logo": "/uploads/-/system/appearance/header_logo/1/header.png", "favicon": "/uploads/-/system/appearance/favicon/1/favicon.png", "new_project_guidelines": "Please read the FAQs for help.", "profile_image_guidelines": "Custom profile image guidelines", "header_message": "test", "footer_message": "", "message_background_color": "#e75e40", "message_font_color": "#ffffff", "email_header_and_footer_enabled": true } -``` \ No newline at end of file diff --git a/docs/290.md b/docs/290.md deleted file mode 100644 index 2c7066b..0000000 --- a/docs/290.md +++ /dev/null @@ -1,93 +0,0 @@ -# Applications API - -> 原文:[https://docs.gitlab.com/ee/api/applications.html](https://docs.gitlab.com/ee/api/applications.html) - -* [Create an application](#create-an-application) -* [List all applications](#list-all-applications) -* [Delete an application](#delete-an-application) - -# Applications API[](#applications-api "Permalink") - -在 GitLab 10.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/8160) . - -应用程序 API 在以下 OAuth 应用程序上运行: - -* [Using GitLab as an authentication provider](../integration/oauth_provider.html). -* [Allowing access to GitLab resources on a user’s behalf](oauth2.html). - -**注意:**只有管​​理员用户才能使用 Applications API. - -## Create an application[](#create-an-application "Permalink") - -通过发布 JSON 有效负载来创建应用程序. - -如果请求成功,则返回`200` . - -``` -POST /applications -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `name` | string | yes | 应用程序的名称. | -| `redirect_uri` | string | yes | 重定向应用程序的 URI. | -| `scopes` | string | yes | 应用范围. | -| `confidential` | boolean | no | 该应用程序将在可以对客户机密保密的地方使用. 本机移动应用程序和单页应用程序被认为是非机密的. 如果未提供,则默认为`true` | - -请求示例: - -``` -curl --request POST --header "PRIVATE-TOKEN: " --data "name=MyApplication&redirect_uri=http://redirect.uri&scopes=" "https://gitlab.example.com/api/v4/applications" -``` - -响应示例: - -``` -{ "id":1, "application_id": "5832fc6e14300a0d962240a8144466eef4ee93ef0d218477e55f11cf12fc3737", "application_name": "MyApplication", "secret": "ee1dd64b6adc89cf7e2c23099301ccc2c61b441064e9324d963c46902a85ec34", "callback_url": "http://redirect.uri", "confidential": true } -``` - -## List all applications[](#list-all-applications "Permalink") - -列出所有注册的应用程序. - -``` -GET /applications -``` - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/applications" -``` - -响应示例: - -``` -[ { "id":1, "application_id": "5832fc6e14300a0d962240a8144466eef4ee93ef0d218477e55f11cf12fc3737", "application_name": "MyApplication", "callback_url": "http://redirect.uri", "confidential": true } ] -``` - -**注意:**此 API 不会公开`secret`值. - -## Delete an application[](#delete-an-application "Permalink") - -删除特定的应用程序. - -如果请求成功,则返回`204` . - -``` -DELETE /applications/:id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 应用程序的 ID(不是 application_id). | - -请求示例: - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/applications/:id" -``` \ No newline at end of file diff --git a/docs/291.md b/docs/291.md deleted file mode 100644 index faa74b5..0000000 --- a/docs/291.md +++ /dev/null @@ -1,182 +0,0 @@ -# Audit Events API - -> 原文:[https://docs.gitlab.com/ee/api/audit_events.html](https://docs.gitlab.com/ee/api/audit_events.html) - -* [Instance Audit Events](#instance-audit-events-premium-only) - * [Retrieve all instance audit events](#retrieve-all-instance-audit-events) - * [Retrieve single instance audit event](#retrieve-single-instance-audit-event) -* [Group Audit Events](#group-audit-events-starter) - * [Retrieve all group audit events](#retrieve-all-group-audit-events) - * [Retrieve a specific group audit event](#retrieve-a-specific-group-audit-event) -* [Project Audit Events](#project-audit-events-starter) - * [Retrieve all project audit events](#retrieve-all-project-audit-events) - * [Retrieve a specific project audit event](#retrieve-a-specific-project-audit-event) - -# Audit Events API[](#audit-events-api "Permalink") - -## Instance Audit Events[](#instance-audit-events-premium-only "Permalink") - -Audit Events API 使您可以检索[实例审核事件](../administration/audit_events.html#instance-events-premium-only) . - -要使用 API​​检索审核事件,您必须以管理员[身份进行身份验证](README.html#authentication) . - -### Retrieve all instance audit events[](#retrieve-all-instance-audit-events "Permalink") - -``` -GET /audit_events -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `created_after` | string | no | 返回在给定时间或之后创建的审核事件. 格式:ISO 8601 YYYY-MM-DDTHH:MM:SSZ | -| `created_before` | string | no | 返回在给定时间或之前创建的审核事件. 格式:ISO 8601 YYYY-MM-DDTHH:MM:SSZ | -| `entity_type` | string | no | 返回给定实体类型的审核事件. 有效值为: `User` , `Group`或`Project` . | -| `entity_id` | integer | no | 返回给定实体 ID 的审核事件. 需要`entity_type`属性存在. | - -默认情况下,因为 API 结果是分页的,所以`GET`请求一次返回 20 个结果. - -阅读有关[分页的](README.html#pagination)更多信息. - -``` -curl --header "PRIVATE-TOKEN: " "https://primary.example.com/api/v4/audit_events" -``` - -响应示例: - -``` -[ { "id": 1, "author_id": 1, "entity_id": 6, "entity_type": "Project", "details": { "custom_message": "Project archived", "author_name": "Administrator", "target_id": "flightjs/flight", "target_type": "Project", "target_details": "flightjs/flight", "ip_address": "127.0.0.1", "entity_path": "flightjs/flight" }, "created_at": "2019-08-30T07:00:41.885Z" }, { "id": 2, "author_id": 1, "entity_id": 60, "entity_type": "Group", "details": { "add": "group", "author_name": "Administrator", "target_id": "flightjs", "target_type": "Group", "target_details": "flightjs", "ip_address": "127.0.0.1", "entity_path": "flightjs" }, "created_at": "2019-08-27T18:36:44.162Z" }, { "id": 3, "author_id": 51, "entity_id": 51, "entity_type": "User", "details": { "change": "email address", "from": "hello@flightjs.com", "to": "maintainer@flightjs.com", "author_name": "Andreas", "target_id": 51, "target_type": "User", "target_details": "Andreas", "ip_address": null, "entity_path": "Andreas" }, "created_at": "2019-08-22T16:34:25.639Z" } ] -``` - -### Retrieve single instance audit event[](#retrieve-single-instance-audit-event "Permalink") - -``` -GET /audit_events/:id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 审核事件的 ID | - -``` -curl --header "PRIVATE-TOKEN: " "https://primary.example.com/api/v4/audit_events/1" -``` - -响应示例: - -``` -{ "id": 1, "author_id": 1, "entity_id": 6, "entity_type": "Project", "details": { "custom_message": "Project archived", "author_name": "Administrator", "target_id": "flightjs/flight", "target_type": "Project", "target_details": "flightjs/flight", "ip_address": "127.0.0.1", "entity_path": "flightjs/flight" }, "created_at": "2019-08-30T07:00:41.885Z" } -``` - -## Group Audit Events[](#group-audit-events-starter "Permalink") - -在 GitLab 12.5 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/34078) . - -组审核事件 API 使您可以检索[组审核事件](../administration/audit_events.html#group-events-starter) . - -要使用 API​​检索组审核事件,您必须通过管理员[身份](README.html#authentication)或组所有者[身份进行身份验证](README.html#authentication) . - -### Retrieve all group audit events[](#retrieve-all-group-audit-events "Permalink") - -``` -GET /groups/:id/audit_events -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `created_after` | string | no | 在给定时间或之后创建的返回组审核事件. 格式:ISO 8601 YYYY-MM-DDTHH:MM:SSZ | -| `created_before` | string | no | 返回在给定时间或之前创建的组审核事件. 格式:ISO 8601 YYYY-MM-DDTHH:MM:SSZ | - -默认情况下,因为 API 结果是分页的,所以`GET`请求一次返回 20 个结果. - -阅读有关[分页的](README.html#pagination)更多信息. - -``` -curl --header "PRIVATE-TOKEN: " "https://primary.example.com/api/v4/groups/60/audit_events" -``` - -响应示例: - -``` -[ { "id": 2, "author_id": 1, "entity_id": 60, "entity_type": "Group", "details": { "custom_message": "Group marked for deletion", "author_name": "Administrator", "target_id": "flightjs", "target_type": "Group", "target_details": "flightjs", "ip_address": "127.0.0.1", "entity_path": "flightjs" }, "created_at": "2019-08-28T19:36:44.162Z" }, { "id": 1, "author_id": 1, "entity_id": 60, "entity_type": "Group", "details": { "add": "group", "author_name": "Administrator", "target_id": "flightjs", "target_type": "Group", "target_details": "flightjs", "ip_address": "127.0.0.1", "entity_path": "flightjs" }, "created_at": "2019-08-27T18:36:44.162Z" } ] -``` - -### Retrieve a specific group audit event[](#retrieve-a-specific-group-audit-event "Permalink") - -仅对组所有者和管理员可用. - -``` -GET /groups/:id/audit_events/:audit_event_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `audit_event_id` | integer | yes | 审核事件的 ID | - -``` -curl --header "PRIVATE-TOKEN: " "https://primary.example.com/api/v4/groups/60/audit_events/2" -``` - -响应示例: - -``` -{ "id": 2, "author_id": 1, "entity_id": 60, "entity_type": "Group", "details": { "custom_message": "Group marked for deletion", "author_name": "Administrator", "target_id": "flightjs", "target_type": "Group", "target_details": "flightjs", "ip_address": "127.0.0.1", "entity_path": "flightjs" }, "created_at": "2019-08-28T19:36:44.162Z" } -``` - -## Project Audit Events[](#project-audit-events-starter "Permalink") - -在 GitLab 13.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/219238) . - -通过 Project Audit Events API,您可以检索[项目审核事件](../administration/audit_events.html#project-events-starter) . - -To retrieve project audit events using the API, you must [authenticate yourself](README.html#authentication) as a Maintainer or an Owner of the project. - -### Retrieve all project audit events[](#retrieve-all-project-audit-events "Permalink") - -``` -GET /projects/:id/audit_events -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `created_after` | string | no | 返回在给定时间或之后创建的项目审核事件. 格式:ISO 8601 YYYY-MM-DDTHH:MM:SSZ | -| `created_before` | string | no | 返回在给定时间或之前创建的项目审核事件. 格式:ISO 8601 YYYY-MM-DDTHH:MM:SSZ | - -默认情况下,因为 API 结果是分页的,所以`GET`请求一次返回 20 个结果. - -阅读有关[分页的](README.html#pagination)更多信息. - -``` -curl --header "PRIVATE-TOKEN: " https://primary.example.com/api/v4/projects/7/audit_events -``` - -响应示例: - -``` -[ { "id": 5, "author_id": 1, "entity_id": 7, "entity_type": "Project", "details": { "change": "prevent merge request approval from reviewers", "from": "", "to": "true", "author_name": "Administrator", "target_id": 7, "target_type": "Project", "target_details": "twitter/typeahead-js", "ip_address": "127.0.0.1", "entity_path": "twitter/typeahead-js" }, "created_at": "2020-05-26T22:55:04.230Z" }, { "id": 4, "author_id": 1, "entity_id": 7, "entity_type": "Project", "details": { "change": "prevent merge request approval from authors", "from": "false", "to": "true", "author_name": "Administrator", "target_id": 7, "target_type": "Project", "target_details": "twitter/typeahead-js", "ip_address": "127.0.0.1", "entity_path": "twitter/typeahead-js" }, "created_at": "2020-05-26T22:55:04.218Z" } ] -``` - -### Retrieve a specific project audit event[](#retrieve-a-specific-project-audit-event "Permalink") - -仅适用于项目维护者或所有者. - -``` -GET /projects/:id/audit_events/:audit_event_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `audit_event_id` | integer | yes | 审核事件的 ID | - -``` -curl --header "PRIVATE-TOKEN: " https://primary.example.com/api/v4/projects/7/audit_events/5 -``` - -响应示例: - -``` -{ "id": 5, "author_id": 1, "entity_id": 7, "entity_type": "Project", "details": { "change": "prevent merge request approval from reviewers", "from": "", "to": "true", "author_name": "Administrator", "target_id": 7, "target_type": "Project", "target_details": "twitter/typeahead-js", "ip_address": "127.0.0.1", "entity_path": "twitter/typeahead-js" }, "created_at": "2020-05-26T22:55:04.230Z" } -``` \ No newline at end of file diff --git a/docs/292.md b/docs/292.md deleted file mode 100644 index 101b6cb..0000000 --- a/docs/292.md +++ /dev/null @@ -1,43 +0,0 @@ -# Avatar API - -> 原文:[https://docs.gitlab.com/ee/api/avatar.html](https://docs.gitlab.com/ee/api/avatar.html) - -* [Get a single avatar URL](#get-a-single-avatar-url) - -# Avatar API[](#avatar-api "Permalink") - -在 GitLab 11.0 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/19121) . - -## Get a single avatar URL[](#get-a-single-avatar-url "Permalink") - -使用给定的电子邮件地址为用户获取一个[头像](../user/profile/index.html#profile-settings) URL. - -If: - -* 找不到具有给定公共电子邮件地址的用户,返回来自外部化身服务的结果. -* 公开可见性受到限制,未经身份验证时,响应将为`403 Forbidden` . - -**注意:**无需身份验证即可访问此端点. - -``` -GET /avatar?email=admin@example.com -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `email` | string | yes | 用户的公共电子邮件地址. | -| `size` | integer | no | 单像素尺寸(因为图像是正方形). 仅用于在`Gravatar`或已配置的`Libravatar`服务器上的头像查找. | - -请求示例: - -``` -curl "https://gitlab.example.com/api/v4/avatar?email=admin@example.com&size=32" -``` - -响应示例: - -``` -{ "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=64&d=identicon" } -``` \ No newline at end of file diff --git a/docs/293.md b/docs/293.md deleted file mode 100644 index 570b37b..0000000 --- a/docs/293.md +++ /dev/null @@ -1,260 +0,0 @@ -# Award Emoji API - -> 原文:[https://docs.gitlab.com/ee/api/award_emoji.html](https://docs.gitlab.com/ee/api/award_emoji.html) - -* [Issues, merge requests, and snippets](#issues-merge-requests-and-snippets) - * [List an awardable’s award emoji](#list-an-awardables-award-emoji) - * [Get single award emoji](#get-single-award-emoji) - * [Award a new emoji](#award-a-new-emoji) - * [Delete an award emoji](#delete-an-award-emoji) -* [Award Emoji on Comments](#award-emoji-on-comments) - * [List a comment’s award emoji](#list-a-comments-award-emoji) - * [Get an award emoji for a comment](#get-an-award-emoji-for-a-comment) - * [Award a new emoji on a comment](#award-a-new-emoji-on-a-comment) - * [Delete an award emoji from a comment](#delete-an-award-emoji-from-a-comment) - -# Award Emoji API[](#award-emoji-api "Permalink") - -在 GitLab 8.9 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/4575) . 在 8.12 中添加了代码段支持. - -[获奖的表情符号](../user/award_emojis.html)讲出一千个单词. - -可以通过以下方式授予表情符号(称为"奖项"): - -* [Issues](../user/project/issues/index.html) ([API](issues.html)). -* [Merge requests](../user/project/merge_requests/index.html) ([API](merge_requests.html)). -* [Snippets](../user/snippets.html) ([API](snippets.html)). - -Emoji can also [be awarded](../user/award_emojis.html#award-emoji-for-comments) on comments (also known as notes). See also [Notes API](notes.html). - -## Issues, merge requests, and snippets[](#issues-merge-requests-and-snippets "Permalink") - -有关将这些端点与注释一起使用的信息,请参见[在注释](#award-emoji-on-comments)上[授予 Emoji 表情](#award-emoji-on-comments) . - -### List an awardable’s award emoji[](#list-an-awardables-award-emoji "Permalink") - -获取指定奖励的所有奖励表情符号的列表. - -``` -GET /projects/:id/issues/:issue_iid/award_emoji -GET /projects/:id/merge_requests/:merge_request_iid/award_emoji -GET /projects/:id/snippets/:snippet_id/award_emoji -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `issue_iid`/`merge_request_iid`/`snippet_id` | integer | yes | `iid` ID(合并请求/问题的`id` ,摘要的`id` ). | - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/issues/80/award_emoji" -``` - -响应示例: - -``` -[ { "id": 4, "name": "1234", "user": { "name": "Administrator", "username": "root", "id": 1, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://gitlab.example.com/root" }, "created_at": "2016-06-15T10:09:34.206Z", "updated_at": "2016-06-15T10:09:34.206Z", "awardable_id": 80, "awardable_type": "Issue" }, { "id": 1, "name": "microphone", "user": { "name": "User 4", "username": "user4", "id": 26, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/7e65550957227bd38fe2d7fbc6fd2f7b?s=80&d=identicon", "web_url": "http://gitlab.example.com/user4" }, "created_at": "2016-06-15T10:09:34.177Z", "updated_at": "2016-06-15T10:09:34.177Z", "awardable_id": 80, "awardable_type": "Issue" } ] -``` - -### Get single award emoji[](#get-single-award-emoji "Permalink") - -从问题,摘要或合并请求中获取单个奖励表情符号. - -``` -GET /projects/:id/issues/:issue_iid/award_emoji/:award_id -GET /projects/:id/merge_requests/:merge_request_iid/award_emoji/:award_id -GET /projects/:id/snippets/:snippet_id/award_emoji/:award_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `issue_iid`/`merge_request_iid`/`snippet_id` | integer | yes | `iid` ID(合并请求/问题的`id` ,摘要的`id` ). | -| `award_id` | integer | yes | 奖励表情符号的 ID. | - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/issues/80/award_emoji/1" -``` - -响应示例: - -``` -{ "id": 1, "name": "microphone", "user": { "name": "User 4", "username": "user4", "id": 26, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/7e65550957227bd38fe2d7fbc6fd2f7b?s=80&d=identicon", "web_url": "http://gitlab.example.com/user4" }, "created_at": "2016-06-15T10:09:34.177Z", "updated_at": "2016-06-15T10:09:34.177Z", "awardable_id": 80, "awardable_type": "Issue" } -``` - -### Award a new emoji[](#award-a-new-emoji "Permalink") - -在指定的奖励对象上创建奖励表情符号. - -``` -POST /projects/:id/issues/:issue_iid/award_emoji -POST /projects/:id/merge_requests/:merge_request_iid/award_emoji -POST /projects/:id/snippets/:snippet_id/award_emoji -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `issue_iid`/`merge_request_iid`/`snippet_id` | integer | yes | `iid` ID(合并请求/问题的`id` ,摘要的`id` ). | -| `name` | string | yes | 不含冒号的表情符号名称. | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/issues/80/award_emoji?name=blowfish" -``` - -示例响应: - -``` -{ "id": 344, "name": "blowfish", "user": { "name": "Administrator", "username": "root", "id": 1, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://gitlab.example.com/root" }, "created_at": "2016-06-17T17:47:29.266Z", "updated_at": "2016-06-17T17:47:29.266Z", "awardable_id": 80, "awardable_type": "Issue" } -``` - -### Delete an award emoji[](#delete-an-award-emoji "Permalink") - -有时候,这并不是必须的,您必须取消该奖项. - -**注意:**仅适用于管理员或奖项的作者. - -``` -DELETE /projects/:id/issues/:issue_iid/award_emoji/:award_id -DELETE /projects/:id/merge_requests/:merge_request_iid/award_emoji/:award_id -DELETE /projects/:id/snippets/:snippet_id/award_emoji/:award_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `issue_iid`/`merge_request_iid`/`snippet_id` | integer | yes | `iid` ID(合并请求/问题的`id` ,摘要的`id` ). | -| `award_id` | integer | yes | 奖励表情符号的 ID. | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/issues/80/award_emoji/344" -``` - -## Award Emoji on Comments[](#award-emoji-on-comments "Permalink") - -注释(也称为注释)是问题,合并请求和摘要的子资源. - -**注意:**以下示例描述了如何使用奖励表情符号处理问题的注释,但可以轻松地将其用于合并请求或摘要中的注释. 因此,您必须用`merge_request_iid`或`snippet_id`替换`issue_iid` . - -### List a comment’s award emoji[](#list-a-comments-award-emoji "Permalink") - -获取所有奖励表情符号的评论(注释). - -``` -GET /projects/:id/issues/:issue_iid/notes/:note_id/award_emoji -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `issue_iid` | integer | yes | 问题的内部 ID. | -| `note_id` | integer | yes | 注释(注释)的 ID. | - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/issues/80/notes/1/award_emoji" -``` - -响应示例: - -``` -[ { "id": 2, "name": "mood_bubble_lightning", "user": { "name": "User 4", "username": "user4", "id": 26, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/7e65550957227bd38fe2d7fbc6fd2f7b?s=80&d=identicon", "web_url": "http://gitlab.example.com/user4" }, "created_at": "2016-06-15T10:09:34.197Z", "updated_at": "2016-06-15T10:09:34.197Z", "awardable_id": 1, "awardable_type": "Note" } ] -``` - -### Get an award emoji for a comment[](#get-an-award-emoji-for-a-comment "Permalink") - -获得单个奖励表情符号作为注释(注释). - -``` -GET /projects/:id/issues/:issue_iid/notes/:note_id/award_emoji/:award_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `issue_iid` | integer | yes | 问题的内部 ID. | -| `note_id` | integer | yes | 注释(注释)的 ID. | -| `award_id` | integer | yes | 奖励表情符号的 ID. | - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/issues/80/notes/1/award_emoji/2" -``` - -响应示例: - -``` -{ "id": 2, "name": "mood_bubble_lightning", "user": { "name": "User 4", "username": "user4", "id": 26, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/7e65550957227bd38fe2d7fbc6fd2f7b?s=80&d=identicon", "web_url": "http://gitlab.example.com/user4" }, "created_at": "2016-06-15T10:09:34.197Z", "updated_at": "2016-06-15T10:09:34.197Z", "awardable_id": 1, "awardable_type": "Note" } -``` - -### Award a new emoji on a comment[](#award-a-new-emoji-on-a-comment "Permalink") - -在指定的注释(注释)上创建一个奖励表情符号. - -``` -POST /projects/:id/issues/:issue_iid/notes/:note_id/award_emoji -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `issue_iid` | integer | yes | 问题的内部 ID. | -| `note_id` | integer | yes | 注释(注释)的 ID. | -| `name` | string | yes | 不含冒号的表情符号名称. | - -请求示例: - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/issues/80/notes/1/award_emoji?name=rocket" -``` - -响应示例: - -``` -{ "id": 345, "name": "rocket", "user": { "name": "Administrator", "username": "root", "id": 1, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://gitlab.example.com/root" }, "created_at": "2016-06-17T19:59:55.888Z", "updated_at": "2016-06-17T19:59:55.888Z", "awardable_id": 1, "awardable_type": "Note" } -``` - -### Delete an award emoji from a comment[](#delete-an-award-emoji-from-a-comment "Permalink") - -有时候,这并不是必须的,您必须取消该奖项. - -**注意:**仅适用于管理员或奖项的作者. - -``` -DELETE /projects/:id/issues/:issue_iid/notes/:note_id/award_emoji/:award_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `issue_iid` | integer | yes | 问题的内部 ID. | -| `note_id` | integer | yes | 注释(注释)的 ID. | -| `award_id` | integer | yes | award_emoji 的 ID. | - -请求示例: - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/issues/80/award_emoji/345" -``` \ No newline at end of file diff --git a/docs/294.md b/docs/294.md deleted file mode 100644 index 90201af..0000000 --- a/docs/294.md +++ /dev/null @@ -1,160 +0,0 @@ -# Project badges API - -> 原文:[https://docs.gitlab.com/ee/api/project_badges.html](https://docs.gitlab.com/ee/api/project_badges.html) - -* [Placeholder tokens](#placeholder-tokens) -* [List all badges of a project](#list-all-badges-of-a-project) -* [Get a badge of a project](#get-a-badge-of-a-project) -* [Add a badge to a project](#add-a-badge-to-a-project) -* [Edit a badge of a project](#edit-a-badge-of-a-project) -* [Remove a badge from a project](#remove-a-badge-from-a-project) -* [Preview a badge from a project](#preview-a-badge-from-a-project) - -# Project badges API[](#project-badges-api "Permalink") - -在 GitLab 10.6 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17082) . - -## Placeholder tokens[](#placeholder-tokens "Permalink") - -徽章支持占位符,这些占位符将在链接和图像 URL 中被实时替换. 允许的占位符为: - -* **%{project_path}** :将被项目路径替换. -* **%{project_id}** :将被项目 ID 取代. -* **%{default_branch}** :将被项目默认分支替换. -* **%{commit_sha}** :将被上一个项目的提交 sha 取代. - -## List all badges of a project[](#list-all-badges-of-a-project "Permalink") - -获取项目徽章及其组徽章的列表. - -``` -GET /projects/:id/badges -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `name` | string | no | 要返回的徽章名称(区分大小写). | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/:id/badges" -``` - -响应示例: - -``` -[ { "name": "Coverage", "id": 1, "link_url": "http://example.com/ci_status.svg?project=%{project_path}&ref=%{default_branch}", "image_url": "https://shields.io/my/badge", "rendered_link_url": "http://example.com/ci_status.svg?project=example-org/example-project&ref=master", "rendered_image_url": "https://shields.io/my/badge", "kind": "project" }, { "name": "Pipeline", "id": 2, "link_url": "http://example.com/ci_status.svg?project=%{project_path}&ref=%{default_branch}", "image_url": "https://shields.io/my/badge", "rendered_link_url": "http://example.com/ci_status.svg?project=example-org/example-project&ref=master", "rendered_image_url": "https://shields.io/my/badge", "kind": "group" }, ] -``` - -## Get a badge of a project[](#get-a-badge-of-a-project "Permalink") - -获取项目的徽章. - -``` -GET /projects/:id/badges/:badge_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `badge_id` | integer | yes | 徽章 ID | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/:id/badges/:badge_id" -``` - -响应示例: - -``` -{ "id": 1, "link_url": "http://example.com/ci_status.svg?project=%{project_path}&ref=%{default_branch}", "image_url": "https://shields.io/my/badge", "rendered_link_url": "http://example.com/ci_status.svg?project=example-org/example-project&ref=master", "rendered_image_url": "https://shields.io/my/badge", "kind": "project" } -``` - -## Add a badge to a project[](#add-a-badge-to-a-project "Permalink") - -将徽章添加到项目. - -``` -POST /projects/:id/badges -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `link_url` | string | yes | 徽章链接的 URL | -| `image_url` | string | yes | 徽章图片的网址 | - -``` -curl --request POST --header "PRIVATE-TOKEN: " --data "link_url=https://gitlab.com/gitlab-org/gitlab-foss/commits/master&image_url=https://shields.io/my/badge1&position=0" "https://gitlab.example.com/api/v4/projects/:id/badges" -``` - -响应示例: - -``` -{ "id": 1, "link_url": "https://gitlab.com/gitlab-org/gitlab-foss/commits/master", "image_url": "https://shields.io/my/badge1", "rendered_link_url": "https://gitlab.com/gitlab-org/gitlab-foss/commits/master", "rendered_image_url": "https://shields.io/my/badge1", "kind": "project" } -``` - -## Edit a badge of a project[](#edit-a-badge-of-a-project "Permalink") - -更新项目的徽章. - -``` -PUT /projects/:id/badges/:badge_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `badge_id` | integer | yes | 徽章 ID | -| `link_url` | string | no | 徽章链接的 URL | -| `image_url` | string | no | 徽章图片的网址 | - -``` -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/:id/badges/:badge_id" -``` - -响应示例: - -``` -{ "id": 1, "link_url": "https://gitlab.com/gitlab-org/gitlab-foss/commits/master", "image_url": "https://shields.io/my/badge", "rendered_link_url": "https://gitlab.com/gitlab-org/gitlab-foss/commits/master", "rendered_image_url": "https://shields.io/my/badge", "kind": "project" } -``` - -## Remove a badge from a project[](#remove-a-badge-from-a-project "Permalink") - -从项目中删除徽章. 使用此端点将仅删除项目的标志. - -``` -DELETE /projects/:id/badges/:badge_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `badge_id` | integer | yes | 徽章 ID | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/:id/badges/:badge_id" -``` - -## Preview a badge from a project[](#preview-a-badge-from-a-project "Permalink") - -返回解析占位符插值后的`link_url`和`image_url`最终 URL. - -``` -GET /projects/:id/badges/render -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `link_url` | string | yes | 徽章链接的 URL | -| `image_url` | string | yes | 徽章图片的网址 | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/:id/badges/render?link_url=http%3A%2F%2Fexample.com%2Fci_status.svg%3Fproject%3D%25%7Bproject_path%7D%26ref%3D%25%7Bdefault_branch%7D&image_url=https%3A%2F%2Fshields.io%2Fmy%2Fbadge" -``` - -响应示例: - -``` -{ "link_url": "http://example.com/ci_status.svg?project=%{project_path}&ref=%{default_branch}", "image_url": "https://shields.io/my/badge", "rendered_link_url": "http://example.com/ci_status.svg?project=example-org/example-project&ref=master", "rendered_image_url": "https://shields.io/my/badge", } -``` \ No newline at end of file diff --git a/docs/295.md b/docs/295.md deleted file mode 100644 index b4f207a..0000000 --- a/docs/295.md +++ /dev/null @@ -1,162 +0,0 @@ -# Group badges API - -> 原文:[https://docs.gitlab.com/ee/api/group_badges.html](https://docs.gitlab.com/ee/api/group_badges.html) - -* [Placeholder tokens](#placeholder-tokens) -* [List all badges of a group](#list-all-badges-of-a-group) -* [Get a badge of a group](#get-a-badge-of-a-group) -* [Add a badge to a group](#add-a-badge-to-a-group) -* [Edit a badge of a group](#edit-a-badge-of-a-group) -* [Remove a badge from a group](#remove-a-badge-from-a-group) -* [Preview a badge from a group](#preview-a-badge-from-a-group) - -# Group badges API[](#group-badges-api "Permalink") - -在 GitLab 10.6 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17082) . - -## Placeholder tokens[](#placeholder-tokens "Permalink") - -徽章支持占位符,这些占位符将在链接和图像 URL 中被实时替换. 允许的占位符为: - -* **%{project_path}** :将被项目路径替换. -* **%{project_id}** :将被项目 ID 取代. -* **%{default_branch}** :将被项目默认分支替换. -* **%{commit_sha}** :将由上一个项目的提交 SHA 替换. - -由于这些端点不在项目上下文中,因此用于替换占位符的信息将在创建日期之前来自第一组项目. 如果该组没有任何项目,则将返回带有占位符的原始 URL. - -## List all badges of a group[](#list-all-badges-of-a-group "Permalink") - -获取小组徽章的列表. - -``` -GET /groups/:id/badges -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `name` | string | no | 要返回的徽章名称(区分大小写). | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/:id/badges?name=Coverage" -``` - -响应示例: - -``` -[ { "name": "Coverage", "id": 1, "link_url": "http://example.com/ci_status.svg?project=%{project_path}&ref=%{default_branch}", "image_url": "https://shields.io/my/badge", "rendered_link_url": "http://example.com/ci_status.svg?project=example-org/example-project&ref=master", "rendered_image_url": "https://shields.io/my/badge", "kind": "group" } ] -``` - -## Get a badge of a group[](#get-a-badge-of-a-group "Permalink") - -获取组的徽章. - -``` -GET /groups/:id/badges/:badge_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `badge_id` | integer | yes | 徽章 ID | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/:id/badges/:badge_id" -``` - -响应示例: - -``` -{ "id": 1, "link_url": "http://example.com/ci_status.svg?project=%{project_path}&ref=%{default_branch}", "image_url": "https://shields.io/my/badge", "rendered_link_url": "http://example.com/ci_status.svg?project=example-org/example-project&ref=master", "rendered_image_url": "https://shields.io/my/badge", "kind": "group" } -``` - -## Add a badge to a group[](#add-a-badge-to-a-group "Permalink") - -将徽章添加到组. - -``` -POST /groups/:id/badges -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `link_url` | string | yes | 徽章链接的 URL | -| `image_url` | string | yes | 徽章图片的网址 | - -``` -curl --request POST --header "PRIVATE-TOKEN: " --data "link_url=https://gitlab.com/gitlab-org/gitlab-foss/commits/master&image_url=https://shields.io/my/badge1&position=0" "https://gitlab.example.com/api/v4/groups/:id/badges" -``` - -响应示例: - -``` -{ "id": 1, "link_url": "https://gitlab.com/gitlab-org/gitlab-foss/commits/master", "image_url": "https://shields.io/my/badge1", "rendered_link_url": "https://gitlab.com/gitlab-org/gitlab-foss/commits/master", "rendered_image_url": "https://shields.io/my/badge1", "kind": "group" } -``` - -## Edit a badge of a group[](#edit-a-badge-of-a-group "Permalink") - -Updates a badge of a group. - -``` -PUT /groups/:id/badges/:badge_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `badge_id` | integer | yes | 徽章 ID | -| `link_url` | string | no | 徽章链接的 URL | -| `image_url` | string | no | 徽章图片的网址 | - -``` -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/:id/badges/:badge_id" -``` - -响应示例: - -``` -{ "id": 1, "link_url": "https://gitlab.com/gitlab-org/gitlab-foss/commits/master", "image_url": "https://shields.io/my/badge", "rendered_link_url": "https://gitlab.com/gitlab-org/gitlab-foss/commits/master", "rendered_image_url": "https://shields.io/my/badge", "kind": "group" } -``` - -## Remove a badge from a group[](#remove-a-badge-from-a-group "Permalink") - -从组中删除徽章. - -``` -DELETE /groups/:id/badges/:badge_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `badge_id` | integer | yes | 徽章 ID | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/:id/badges/:badge_id" -``` - -## Preview a badge from a group[](#preview-a-badge-from-a-group "Permalink") - -返回解析占位符插值后的`link_url`和`image_url`最终 URL. - -``` -GET /groups/:id/badges/render -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `link_url` | string | yes | 徽章链接的 URL | -| `image_url` | string | yes | 徽章图片的网址 | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/:id/badges/render?link_url=http%3A%2F%2Fexample.com%2Fci_status.svg%3Fproject%3D%25%7Bproject_path%7D%26ref%3D%25%7Bdefault_branch%7D&image_url=https%3A%2F%2Fshields.io%2Fmy%2Fbadge" -``` - -响应示例: - -``` -{ "link_url": "http://example.com/ci_status.svg?project=%{project_path}&ref=%{default_branch}", "image_url": "https://shields.io/my/badge", "rendered_link_url": "http://example.com/ci_status.svg?project=example-org/example-project&ref=master", "rendered_image_url": "https://shields.io/my/badge", } -``` \ No newline at end of file diff --git a/docs/296.md b/docs/296.md deleted file mode 100644 index 7ed9166..0000000 --- a/docs/296.md +++ /dev/null @@ -1,156 +0,0 @@ -# Branches API - -> 原文:[https://docs.gitlab.com/ee/api/branches.html](https://docs.gitlab.com/ee/api/branches.html) - -* [List repository branches](#list-repository-branches) -* [Get single repository branch](#get-single-repository-branch) -* [Protect repository branch](#protect-repository-branch) -* [Unprotect repository branch](#unprotect-repository-branch) -* [Create repository branch](#create-repository-branch) -* [Delete repository branch](#delete-repository-branch) -* [Delete merged branches](#delete-merged-branches) - -# Branches API[](#branches-api "Permalink") - -该 API 在[存储库分支上运行](../user/project/repository/branches/index.html) . - -**提示:**另请参阅[受保护的分支机构 API](protected_branches.html) . - -## List repository branches[](#list-repository-branches "Permalink") - -从项目中获取存储库分支的列表,按名称的字母顺序排序. - -**注意:**如果可公开访问该存储库,则无需身份验证即可访问此端点. - -``` -GET /projects/:id/repository/branches -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 身份验证用户拥有[的项目的](README.html#namespaced-path-encoding) ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `search` | string | no | 返回包含搜索字符串的分支列表. 您可以使用`^term`和`term$`查找分别以`term`开头和结尾的分支. | - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/repository/branches" -``` - -响应示例: - -``` -[ { "name": "master", "merged": false, "protected": true, "default": true, "developers_can_push": false, "developers_can_merge": false, "can_push": true, "web_url": "http://gitlab.example.com/my-group/my-project/-/tree/master", "commit": { "author_email": "john@example.com", "author_name": "John Smith", "authored_date": "2012-06-27T05:51:39-07:00", "committed_date": "2012-06-28T03:44:20-07:00", "committer_email": "john@example.com", "committer_name": "John Smith", "id": "7b5c3cc8be40ee161ae89a06bba6229da1032a0c", "short_id": "7b5c3cc", "title": "add projects API", "message": "add projects API", "parent_ids": [ "4ad91d3c1144c406e50c7b33bae684bd6837faf8" ] } }, ... ] -``` - -## Get single repository branch[](#get-single-repository-branch "Permalink") - -获取单个项目存储库分支. - -**注意:**如果可公开访问该存储库,则无需身份验证即可访问此端点. - -``` -GET /projects/:id/repository/branches/:branch -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 身份验证用户拥有[的项目的](README.html#namespaced-path-encoding) ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `branch` | string | yes | 分支名称. | - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/repository/branches/master" -``` - -响应示例: - -``` -{ "name": "master", "merged": false, "protected": true, "default": true, "developers_can_push": false, "developers_can_merge": false, "can_push": true, "web_url": "http://gitlab.example.com/my-group/my-project/-/tree/master", "commit": { "author_email": "john@example.com", "author_name": "John Smith", "authored_date": "2012-06-27T05:51:39-07:00", "committed_date": "2012-06-28T03:44:20-07:00", "committer_email": "john@example.com", "committer_name": "John Smith", "id": "7b5c3cc8be40ee161ae89a06bba6229da1032a0c", "short_id": "7b5c3cc", "title": "add projects API", "message": "add projects API", "parent_ids": [ "4ad91d3c1144c406e50c7b33bae684bd6837faf8" ] } } -``` - -## Protect repository branch[](#protect-repository-branch "Permalink") - -有关保护存储库分支的信息,请参见[`POST /projects/:id/protected_branches`](protected_branches.html#protect-repository-branches) . - -## Unprotect repository branch[](#unprotect-repository-branch "Permalink") - -有关取消保护存储库分支的信息,请参见[`DELETE /projects/:id/protected_branches/:name`](protected_branches.html#unprotect-repository-branches) . - -## Create repository branch[](#create-repository-branch "Permalink") - -在存储库中创建一个新分支. - -``` -POST /projects/:id/repository/branches -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 身份验证用户拥有[的项目的](README.html#namespaced-path-encoding) ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `branch` | string | yes | 分支名称. | -| `ref` | string | yes | 分支名称或提交 SHA 以从中创建分支. | - -请求示例: - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/repository/branches?branch=newbranch&ref=master" -``` - -响应示例: - -``` -{ "commit": { "author_email": "john@example.com", "author_name": "John Smith", "authored_date": "2012-06-27T05:51:39-07:00", "committed_date": "2012-06-28T03:44:20-07:00", "committer_email": "john@example.com", "committer_name": "John Smith", "id": "7b5c3cc8be40ee161ae89a06bba6229da1032a0c", "short_id": "7b5c3cc", "title": "add projects API", "message": "add projects API", "parent_ids": [ "4ad91d3c1144c406e50c7b33bae684bd6837faf8" ] }, "name": "newbranch", "merged": false, "protected": false, "default": false, "developers_can_push": false, "developers_can_merge": false, "can_push": true, "web_url": "http://gitlab.example.com/my-group/my-project/-/tree/newbranch" } -``` - -## Delete repository branch[](#delete-repository-branch "Permalink") - -从存储库中删除一个分支. - -**注意:**如果发生错误,将提供说明消息. - -``` -DELETE /projects/:id/repository/branches/:branch -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 身份验证用户拥有[的项目的](README.html#namespaced-path-encoding) ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `branch` | string | yes | 分支名称. | - -请求示例: - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/repository/branches/newbranch" -``` - -## Delete merged branches[](#delete-merged-branches "Permalink") - -Will delete all branches that are merged into the project’s default branch. - -**注意:**此操作不会删除[受保护的分支](../user/project/protected_branches.html) . - -``` -DELETE /projects/:id/repository/merged_branches -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 身份验证用户拥有[的项目的](README.html#namespaced-path-encoding) ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | - -请求示例: - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/repository/merged_branches" -``` \ No newline at end of file diff --git a/docs/297.md b/docs/297.md deleted file mode 100644 index b2d4274..0000000 --- a/docs/297.md +++ /dev/null @@ -1,153 +0,0 @@ -# Broadcast Messages API - -> 原文:[https://docs.gitlab.com/ee/api/broadcast_messages.html](https://docs.gitlab.com/ee/api/broadcast_messages.html) - -* [Get all broadcast messages](#get-all-broadcast-messages) -* [Get a specific broadcast message](#get-a-specific-broadcast-message) -* [Create a broadcast message](#create-a-broadcast-message) -* [Update a broadcast message](#update-a-broadcast-message) -* [Delete a broadcast message](#delete-a-broadcast-message) - -# Broadcast Messages API[](#broadcast-messages-api "Permalink") - -在 GitLab 8.12 中引入. - -广播消息 API 对[广播消息进行操作](../user/admin_area/broadcast_messages.html) . - -从 GitLab 12.8 开始,GET 请求不需要身份验证. 所有其他广播消息 API 终结点只能由管理员访问. 非 GET 请求者: - -* 来宾将导致`401 Unauthorized` . -* 普通用户将导致`403 Forbidden` . - -## Get all broadcast messages[](#get-all-broadcast-messages "Permalink") - -列出所有广播消息. - -``` -GET /broadcast_messages -``` - -请求示例: - -``` -curl "https://gitlab.example.com/api/v4/broadcast_messages" -``` - -响应示例: - -``` -[ { "message":"Example broadcast message", "starts_at":"2016-08-24T23:21:16.078Z", "ends_at":"2016-08-26T23:21:16.080Z", "color":"#E75E40", "font":"#FFFFFF", "id":1, "active": false, "target_path": "*/welcome", "broadcast_type": "banner", "dismissable": false } ] -``` - -## Get a specific broadcast message[](#get-a-specific-broadcast-message "Permalink") - -获取特定的广播消息. - -``` -GET /broadcast_messages/:id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 要检索的广播消息的 ID. | - -请求示例: - -``` -curl "https://gitlab.example.com/api/v4/broadcast_messages/1" -``` - -响应示例: - -``` -{ "message":"Deploy in progress", "starts_at":"2016-08-24T23:21:16.078Z", "ends_at":"2016-08-26T23:21:16.080Z", "color":"#cecece", "font":"#FFFFFF", "id":1, "active":false, "target_path": "*/welcome", "broadcast_type": "banner", "dismissable": false } -``` - -## Create a broadcast message[](#create-a-broadcast-message "Permalink") - -创建一个新的广播消息. - -``` -POST /broadcast_messages -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `message` | string | yes | 显示的消息. | -| `starts_at` | datetime | no | 开始时间(默认为当前时间). | -| `ends_at` | datetime | no | 结束时间(默认为当前时间的一小时). | -| `color` | string | no | 背景色十六进制代码. | -| `font` | string | no | 前景颜色十六进制代码. | -| `target_path` | string | no | 广播消息的目标路径. | -| `broadcast_type` | string | no | 外观类型(默认为横幅) | -| `dismissable` | boolean | no | 用户可以关闭该消息吗? | - -请求示例: - -``` -curl --data "message=Deploy in progress&color=#cecece" --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/broadcast_messages" -``` - -响应示例: - -``` -{ "message":"Deploy in progress", "starts_at":"2016-08-26T00:41:35.060Z", "ends_at":"2016-08-26T01:41:35.060Z", "color":"#cecece", "font":"#FFFFFF", "id":1, "active": true, "target_path": "*/welcome", "broadcast_type": "notification", "dismissable": false } -``` - -## Update a broadcast message[](#update-a-broadcast-message "Permalink") - -更新现有的广播消息. - -``` -PUT /broadcast_messages/:id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 要更新的广播消息的 ID. | -| `message` | string | no | 显示的消息. | -| `starts_at` | datetime | no | 起始时间. | -| `ends_at` | datetime | no | 结束时间. | -| `color` | string | no | 背景色十六进制代码. | -| `font` | string | no | 前景颜色十六进制代码. | -| `target_path` | string | no | 广播消息的目标路径. | -| `broadcast_type` | string | no | 外观类型(默认为横幅) | -| `dismissable` | boolean | no | 用户可以关闭该消息吗? | - -请求示例: - -``` -curl --request PUT --data "message=Update message&color=#000" --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/broadcast_messages/1" -``` - -响应示例: - -``` -{ "message":"Update message", "starts_at":"2016-08-26T00:41:35.060Z", "ends_at":"2016-08-26T01:41:35.060Z", "color":"#000", "font":"#FFFFFF", "id":1, "active": true, "target_path": "*/welcome", "broadcast_type": "notification", "dismissable": false } -``` - -## Delete a broadcast message[](#delete-a-broadcast-message "Permalink") - -删除广播消息. - -``` -DELETE /broadcast_messages/:id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 要删除的广播消息的 ID. | - -请求示例: - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/broadcast_messages/1" -``` \ No newline at end of file diff --git a/docs/298.md b/docs/298.md deleted file mode 100644 index 13889a3..0000000 --- a/docs/298.md +++ /dev/null @@ -1,168 +0,0 @@ -# Project clusters API - -> 原文:[https://docs.gitlab.com/ee/api/project_clusters.html](https://docs.gitlab.com/ee/api/project_clusters.html) - -* [List project clusters](#list-project-clusters) -* [Get a single project cluster](#get-a-single-project-cluster) -* [Add existing cluster to project](#add-existing-cluster-to-project) -* [Edit project cluster](#edit-project-cluster) -* [Delete project cluster](#delete-project-cluster) - -# Project clusters API[](#project-clusters-api "Permalink") - -在 GitLab 11.7 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/23922) . - -**注意:**用户将至少需要维护者访问权限才能使用这些端点. - -## List project clusters[](#list-project-clusters "Permalink") - -返回项目集群的列表. - -``` -GET /projects/:id/clusters -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 认证用户拥有的项目的 ID | - -请求示例: - -``` -curl --header "Private-Token: " "https://gitlab.example.com/api/v4/projects/26/clusters" -``` - -响应示例: - -``` -[ { "id":18, "name":"cluster-1", "domain":"example.com", "created_at":"2019-01-02T20:18:12.563Z", "provider_type":"user", "platform_type":"kubernetes", "environment_scope":"*", "cluster_type":"project_type", "user": { "id":1, "name":"Administrator", "username":"root", "state":"active", "avatar_url":"https://www.gravatar.com/avatar/4249f4df72b..", "web_url":"https://gitlab.example.com/root" }, "platform_kubernetes": { "api_url":"https://104.197.68.152", "namespace":"cluster-1-namespace", "authorization_type":"rbac", "ca_cert":"-----BEGIN CERTIFICATE-----\r\nhFiK1L61owwDQYJKoZIhvcNAQELBQAw\r\nLzEtMCsGA1UEAxMkZDA1YzQ1YjctNzdiMS00NDY0LThjNmEtMTQ0ZDJkZjM4ZDBj\r\nMB4XDTE4MTIyNzIwMDM1MVoXDTIzMTIyNjIxMDM1MVowLzEtMCsGA1UEAxMkZDA1\r\nYzQ1YjctNzdiMS00NDY0LThjNmEtMTQ0ZDJkZjM.......-----END CERTIFICATE-----" }, "management_project": { "id":2, "description":null, "name":"project2", "name_with_namespace":"John Doe8 / project2", "path":"project2", "path_with_namespace":"namespace2/project2", "created_at":"2019-10-11T02:55:54.138Z" } }, { "id":19, "name":"cluster-2", ... } ] -``` - -## Get a single project cluster[](#get-a-single-project-cluster "Permalink") - -获取单个项目集群. - -``` -GET /projects/:id/clusters/:cluster_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 认证用户拥有的项目的 ID | -| `cluster_id` | integer | yes | 集群的 ID | - -请求示例: - -``` -curl --header "Private-Token: " "https://gitlab.example.com/api/v4/projects/26/clusters/18" -``` - -响应示例: - -``` -{ "id":18, "name":"cluster-1", "domain":"example.com", "created_at":"2019-01-02T20:18:12.563Z", "provider_type":"user", "platform_type":"kubernetes", "environment_scope":"*", "cluster_type":"project_type", "user": { "id":1, "name":"Administrator", "username":"root", "state":"active", "avatar_url":"https://www.gravatar.com/avatar/4249f4df72b..", "web_url":"https://gitlab.example.com/root" }, "platform_kubernetes": { "api_url":"https://104.197.68.152", "namespace":"cluster-1-namespace", "authorization_type":"rbac", "ca_cert":"-----BEGIN CERTIFICATE-----\r\nhFiK1L61owwDQYJKoZIhvcNAQELBQAw\r\nLzEtMCsGA1UEAxMkZDA1YzQ1YjctNzdiMS00NDY0LThjNmEtMTQ0ZDJkZjM4ZDBj\r\nMB4XDTE4MTIyNzIwMDM1MVoXDTIzMTIyNjIxMDM1MVowLzEtMCsGA1UEAxMkZDA1\r\nYzQ1YjctNzdiMS00NDY0LThjNmEtMTQ0ZDJkZjM.......-----END CERTIFICATE-----" }, "management_project": { "id":2, "description":null, "name":"project2", "name_with_namespace":"John Doe8 / project2", "path":"project2", "path_with_namespace":"namespace2/project2", "created_at":"2019-10-11T02:55:54.138Z" }, "project": { "id":26, "description":"", "name":"project-with-clusters-api", "name_with_namespace":"Administrator / project-with-clusters-api", "path":"project-with-clusters-api", "path_with_namespace":"root/project-with-clusters-api", "created_at":"2019-01-02T20:13:32.600Z", "default_branch":null, "tag_list":[], "ssh_url_to_repo":"ssh://gitlab.example.com/root/project-with-clusters-api.git", "http_url_to_repo":"https://gitlab.example.com/root/project-with-clusters-api.git", "web_url":"https://gitlab.example.com/root/project-with-clusters-api", "readme_url":null, "avatar_url":null, "star_count":0, "forks_count":0, "last_activity_at":"2019-01-02T20:13:32.600Z", "namespace": { "id":1, "name":"root", "path":"root", "kind":"user", "full_path":"root", "parent_id":null } } } -``` - -## Add existing cluster to project[](#add-existing-cluster-to-project "Permalink") - -将现有的 Kubernetes 集群添加到项目中. - -``` -POST /projects/:id/clusters/user -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 认证用户拥有的项目的 ID | -| `name` | string | yes | 集群名称 | -| `domain` | string | no | 集群的[基础域](../user/project/clusters/index.html#base-domain) | -| `management_project_id` | integer | no | 集群[管理项目](../user/clusters/management_project.html)的 ID | -| `enabled` | boolean | no | 确定集群是否处于活动状态,默认为 true | -| `managed` | boolean | no | Determines if GitLab will manage namespaces and service accounts for this cluster, defaults to true | -| `platform_kubernetes_attributes[api_url]` | string | yes | 访问 Kubernetes API 的 URL | -| `platform_kubernetes_attributes[token]` | string | yes | 针对 Kubernetes 进行身份验证的令牌 | -| `platform_kubernetes_attributes[ca_cert]` | string | no | TLS 证书. 如果 API 使用自签名 TLS 证书,则为必填. | -| `platform_kubernetes_attributes[namespace]` | string | no | 与项目相关的唯一名称空间 | -| `platform_kubernetes_attributes[authorization_type]` | string | no | 集群授权类型: `rbac` , `abac`或`unknown_authorization` . 默认为`rbac` . | -| `environment_scope` | string | no | 集群的关联环境. 默认为`*` | - -请求示例: - -``` -curl --header "Private-Token: " "https://gitlab.example.com/api/v4/projects/26/clusters/user" \ --H "Accept: application/json" \ --H "Content-Type:application/json" \ --X POST --data '{"name":"cluster-5", "platform_kubernetes_attributes":{"api_url":"https://35.111.51.20","token":"12345","namespace":"cluster-5-namespace","ca_cert":"-----BEGIN CERTIFICATE-----\r\nhFiK1L61owwDQYJKoZIhvcNAQELBQAw\r\nLzEtMCsGA1UEAxMkZDA1YzQ1YjctNzdiMS00NDY0LThjNmEtMTQ0ZDJkZjM4ZDBj\r\nMB4XDTE4MTIyNzIwMDM1MVoXDTIzMTIyNjIxMDM1MVowLzEtMCsGA1UEAxMkZDA1\r\nYzQ1YjctNzdiMS00NDY0LThjNmEtMTQ0ZDJkZjM.......-----END CERTIFICATE-----"}}' -``` - -响应示例: - -``` -{ "id":24, "name":"cluster-5", "created_at":"2019-01-03T21:53:40.610Z", "provider_type":"user", "platform_type":"kubernetes", "environment_scope":"*", "cluster_type":"project_type", "user": { "id":1, "name":"Administrator", "username":"root", "state":"active", "avatar_url":"https://www.gravatar.com/avatar/4249f4df72b..", "web_url":"https://gitlab.example.com/root" }, "platform_kubernetes": { "api_url":"https://35.111.51.20", "namespace":"cluster-5-namespace", "authorization_type":"rbac", "ca_cert":"-----BEGIN CERTIFICATE-----\r\nhFiK1L61owwDQYJKoZIhvcNAQELBQAw\r\nLzEtMCsGA1UEAxMkZDA1YzQ1YjctNzdiMS00NDY0LThjNmEtMTQ0ZDJkZjM4ZDBj\r\nMB4XDTE4MTIyNzIwMDM1MVoXDTIzMTIyNjIxMDM1MVowLzEtMCsGA1UEAxMkZDA1\r\nYzQ1YjctNzdiMS00NDY0LThjNmEtMTQ0ZDJkZjM.......-----END CERTIFICATE-----" }, "management_project":null, "project": { "id":26, "description":"", "name":"project-with-clusters-api", "name_with_namespace":"Administrator / project-with-clusters-api", "path":"project-with-clusters-api", "path_with_namespace":"root/project-with-clusters-api", "created_at":"2019-01-02T20:13:32.600Z", "default_branch":null, "tag_list":[], "ssh_url_to_repo":"ssh:://gitlab.example.com/root/project-with-clusters-api.git", "http_url_to_repo":"https://gitlab.example.com/root/project-with-clusters-api.git", "web_url":"https://gitlab.example.com/root/project-with-clusters-api", "readme_url":null, "avatar_url":null, "star_count":0, "forks_count":0, "last_activity_at":"2019-01-02T20:13:32.600Z", "namespace": { "id":1, "name":"root", "path":"root", "kind":"user", "full_path":"root", "parent_id":null } } } -``` - -## Edit project cluster[](#edit-project-cluster "Permalink") - -更新现有项目集群. - -``` -PUT /projects/:id/clusters/:cluster_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 认证用户拥有的项目的 ID | -| `cluster_id` | integer | yes | 集群的 ID | -| `name` | string | no | 集群名称 | -| `domain` | string | no | 集群的[基础域](../user/project/clusters/index.html#base-domain) | -| `management_project_id` | integer | no | 集群[管理项目](../user/clusters/management_project.html)的 ID | -| `platform_kubernetes_attributes[api_url]` | string | no | 访问 Kubernetes API 的 URL | -| `platform_kubernetes_attributes[token]` | string | no | 针对 Kubernetes 进行身份验证的令牌 | -| `platform_kubernetes_attributes[ca_cert]` | string | no | TLS 证书. 如果 API 使用自签名 TLS 证书,则为必填. | -| `platform_kubernetes_attributes[namespace]` | string | no | 与项目相关的唯一名称空间 | -| `environment_scope` | string | no | 集群的关联环境 | - -**注意:**仅通过["添加现有 Kubernetes 群集"](../user/project/clusters/add_remove_clusters.html#add-existing-cluster)选项或通过["将现有群集添加到项目"](#add-existing-cluster-to-project)端点[添加群集时,](#add-existing-cluster-to-project)才能更新`name` , `api_url` , `ca_cert`和`token` . - -请求示例: - -``` -curl --header "Private-Token: " "https://gitlab.example.com/api/v4/projects/26/clusters/24" \ --H "Content-Type:application/json" \ --X PUT --data '{"name":"new-cluster-name","domain":"new-domain.com","api_url":"https://new-api-url.com"}' -``` - -响应示例: - -``` -{ "id":24, "name":"new-cluster-name", "domain":"new-domain.com", "created_at":"2019-01-03T21:53:40.610Z", "provider_type":"user", "platform_type":"kubernetes", "environment_scope":"*", "cluster_type":"project_type", "user": { "id":1, "name":"Administrator", "username":"root", "state":"active", "avatar_url":"https://www.gravatar.com/avatar/4249f4df72b..", "web_url":"https://gitlab.example.com/root" }, "platform_kubernetes": { "api_url":"https://new-api-url.com", "namespace":"cluster-5-namespace", "authorization_type":"rbac", "ca_cert":null }, "management_project": { "id":2, "description":null, "name":"project2", "name_with_namespace":"John Doe8 / project2", "path":"project2", "path_with_namespace":"namespace2/project2", "created_at":"2019-10-11T02:55:54.138Z" }, "project": { "id":26, "description":"", "name":"project-with-clusters-api", "name_with_namespace":"Administrator / project-with-clusters-api", "path":"project-with-clusters-api", "path_with_namespace":"root/project-with-clusters-api", "created_at":"2019-01-02T20:13:32.600Z", "default_branch":null, "tag_list":[], "ssh_url_to_repo":"ssh:://gitlab.example.com/root/project-with-clusters-api.git", "http_url_to_repo":"https://gitlab.example.com/root/project-with-clusters-api.git", "web_url":"https://gitlab.example.com/root/project-with-clusters-api", "readme_url":null, "avatar_url":null, "star_count":0, "forks_count":0, "last_activity_at":"2019-01-02T20:13:32.600Z", "namespace": { "id":1, "name":"root", "path":"root", "kind":"user", "full_path":"root", "parent_id":null } } } -``` - -## Delete project cluster[](#delete-project-cluster "Permalink") - -删除现有项目集群. - -``` -DELETE /projects/:id/clusters/:cluster_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 认证用户拥有的项目的 ID | -| `cluster_id` | integer | yes | 集群的 ID | - -请求示例: - -``` -curl --request DELETE --header "Private-Token: " "https://gitlab.example.com/api/v4/projects/26/clusters/23" -``` \ No newline at end of file diff --git a/docs/299.md b/docs/299.md deleted file mode 100644 index 21aba41..0000000 --- a/docs/299.md +++ /dev/null @@ -1,166 +0,0 @@ -# Group clusters API - -> 原文:[https://docs.gitlab.com/ee/api/group_clusters.html](https://docs.gitlab.com/ee/api/group_clusters.html) - -* [List group clusters](#list-group-clusters) -* [Get a single group cluster](#get-a-single-group-cluster) -* [Add existing cluster to group](#add-existing-cluster-to-group) -* [Edit group cluster](#edit-group-cluster) -* [Delete group cluster](#delete-group-cluster) - -# Group clusters API[](#group-clusters-api "Permalink") - -在 GitLab 12.1 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/30213) . - -**注意:组**将至少需要用户具有维护者访问权限才能使用这些端点. - -## List group clusters[](#list-group-clusters "Permalink") - -返回组集群的列表. - -``` -GET /groups/:id/clusters -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | - -请求示例: - -``` -curl --header "Private-Token: " "https://gitlab.example.com/api/v4/groups/26/clusters" -``` - -响应示例: - -``` -[ { "id":18, "name":"cluster-1", "domain":"example.com", "created_at":"2019-01-02T20:18:12.563Z", "provider_type":"user", "platform_type":"kubernetes", "environment_scope":"*", "cluster_type":"group_type", "user": { "id":1, "name":"Administrator", "username":"root", "state":"active", "avatar_url":"https://www.gravatar.com/avatar/4249f4df72b..", "web_url":"https://gitlab.example.com/root" }, "platform_kubernetes": { "api_url":"https://104.197.68.152", "authorization_type":"rbac", "ca_cert":"-----BEGIN CERTIFICATE-----\r\nhFiK1L61owwDQYJKoZIhvcNAQELBQAw\r\nLzEtMCsGA1UEAxMkZDA1YzQ1YjctNzdiMS00NDY0LThjNmEtMTQ0ZDJkZjM4ZDBj\r\nMB4XDTE4MTIyNzIwMDM1MVoXDTIzMTIyNjIxMDM1MVowLzEtMCsGA1UEAxMkZDA1\r\nYzQ1YjctNzdiMS00NDY0LThjNmEtMTQ0ZDJkZjM.......-----END CERTIFICATE-----" }, "management_project": { "id":2, "description":null, "name":"project2", "name_with_namespace":"John Doe8 / project2", "path":"project2", "path_with_namespace":"namespace2/project2", "created_at":"2019-10-11T02:55:54.138Z" } }, { "id":19, "name":"cluster-2", ... } ] -``` - -## Get a single group cluster[](#get-a-single-group-cluster "Permalink") - -获取单个组集群. - -``` -GET /groups/:id/clusters/:cluster_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `cluster_id` | integer | yes | 集群的 ID | - -请求示例: - -``` -curl --header "Private-Token: " "https://gitlab.example.com/api/v4/groups/26/clusters/18" -``` - -响应示例: - -``` -{ "id":18, "name":"cluster-1", "domain":"example.com", "created_at":"2019-01-02T20:18:12.563Z", "provider_type":"user", "platform_type":"kubernetes", "environment_scope":"*", "cluster_type":"group_type", "user": { "id":1, "name":"Administrator", "username":"root", "state":"active", "avatar_url":"https://www.gravatar.com/avatar/4249f4df72b..", "web_url":"https://gitlab.example.com/root" }, "platform_kubernetes": { "api_url":"https://104.197.68.152", "authorization_type":"rbac", "ca_cert":"-----BEGIN CERTIFICATE-----\r\nhFiK1L61owwDQYJKoZIhvcNAQELBQAw\r\nLzEtMCsGA1UEAxMkZDA1YzQ1YjctNzdiMS00NDY0LThjNmEtMTQ0ZDJkZjM4ZDBj\r\nMB4XDTE4MTIyNzIwMDM1MVoXDTIzMTIyNjIxMDM1MVowLzEtMCsGA1UEAxMkZDA1\r\nYzQ1YjctNzdiMS00NDY0LThjNmEtMTQ0ZDJkZjM.......-----END CERTIFICATE-----" }, "management_project": { "id":2, "description":null, "name":"project2", "name_with_namespace":"John Doe8 / project2", "path":"project2", "path_with_namespace":"namespace2/project2", "created_at":"2019-10-11T02:55:54.138Z" }, "group": { "id":26, "name":"group-with-clusters-api", "web_url":"https://gitlab.example.com/group-with-clusters-api" } } -``` - -## Add existing cluster to group[](#add-existing-cluster-to-group "Permalink") - -将现有的 Kubernetes 集群添加到组中. - -``` -POST /groups/:id/clusters/user -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `name` | string | yes | 集群名称 | -| `domain` | string | no | 集群的[基础域](../user/group/clusters/index.html#base-domain) | -| `management_project_id` | integer | no | 集群[管理项目](../user/clusters/management_project.html)的 ID | -| `enabled` | boolean | no | 确定集群是否处于活动状态,默认为 true | -| `managed` | boolean | no | 确定 GitLab 是否将管理该集群的名称空间和服务帐户,默认为 true | -| `platform_kubernetes_attributes[api_url]` | string | yes | 访问 Kubernetes API 的 URL | -| `platform_kubernetes_attributes[token]` | string | yes | 针对 Kubernetes 进行身份验证的令牌 | -| `platform_kubernetes_attributes[ca_cert]` | string | no | TLS 证书. 如果 API 使用自签名 TLS 证书,则为必填. | -| `platform_kubernetes_attributes[authorization_type]` | string | no | 集群授权类型: `rbac` , `abac`或`unknown_authorization` . 默认为`rbac` . | -| `environment_scope` | string | no | 集群的关联环境. 默认为`*` | - -请求示例: - -``` -curl --header "Private-Token: " "https://gitlab.example.com/api/v4/groups/26/clusters/user" \ --H "Accept: application/json" \ --H "Content-Type:application/json" \ ---request POST --data '{"name":"cluster-5", "platform_kubernetes_attributes":{"api_url":"https://35.111.51.20","token":"12345","ca_cert":"-----BEGIN CERTIFICATE-----\r\nhFiK1L61owwDQYJKoZIhvcNAQELBQAw\r\nLzEtMCsGA1UEAxMkZDA1YzQ1YjctNzdiMS00NDY0LThjNmEtMTQ0ZDJkZjM4ZDBj\r\nMB4XDTE4MTIyNzIwMDM1MVoXDTIzMTIyNjIxMDM1MVowLzEtMCsGA1UEAxMkZDA1\r\nYzQ1YjctNzdiMS00NDY0LThjNmEtMTQ0ZDJkZjM.......-----END CERTIFICATE-----"}}' -``` - -响应示例: - -``` -{ "id":24, "name":"cluster-5", "created_at":"2019-01-03T21:53:40.610Z", "provider_type":"user", "platform_type":"kubernetes", "environment_scope":"*", "cluster_type":"group_type", "user": { "id":1, "name":"Administrator", "username":"root", "state":"active", "avatar_url":"https://www.gravatar.com/avatar/4249f4df72b..", "web_url":"https://gitlab.example.com/root" }, "platform_kubernetes": { "api_url":"https://35.111.51.20", "authorization_type":"rbac", "ca_cert":"-----BEGIN CERTIFICATE-----\r\nhFiK1L61owwDQYJKoZIhvcNAQELBQAw\r\nLzEtMCsGA1UEAxMkZDA1YzQ1YjctNzdiMS00NDY0LThjNmEtMTQ0ZDJkZjM4ZDBj\r\nMB4XDTE4MTIyNzIwMDM1MVoXDTIzMTIyNjIxMDM1MVowLzEtMCsGA1UEAxMkZDA1\r\nYzQ1YjctNzdiMS00NDY0LThjNmEtMTQ0ZDJkZjM.......-----END CERTIFICATE-----" }, "management_project":null, "group": { "id":26, "name":"group-with-clusters-api", "web_url":"https://gitlab.example.com/root/group-with-clusters-api" } } -``` - -## Edit group cluster[](#edit-group-cluster "Permalink") - -更新现有的组群集. - -``` -PUT /groups/:id/clusters/:cluster_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `cluster_id` | integer | yes | 集群的 ID | -| `name` | string | no | 集群名称 | -| `domain` | string | no | 集群的[基础域](../user/group/clusters/index.html#base-domain) | -| `management_project_id` | integer | no | 集群[管理项目](../user/clusters/management_project.html)的 ID | -| `platform_kubernetes_attributes[api_url]` | string | no | 访问 Kubernetes API 的 URL | -| `platform_kubernetes_attributes[token]` | string | no | 针对 Kubernetes 进行身份验证的令牌 | -| `platform_kubernetes_attributes[ca_cert]` | string | no | TLS 证书. 如果 API 使用自签名 TLS 证书,则为必填. | -| `environment_scope` | string | no | 集群的关联环境 | - -**注意:**仅通过["添加现有 Kubernetes 群集"](../user/project/clusters/add_remove_clusters.html#add-existing-cluster)选项或通过["将现有群集添加到组"](#add-existing-cluster-to-group)端点[添加群集时,](#add-existing-cluster-to-group)才能更新`name` , `api_url` , `ca_cert`和`token` . - -请求示例: - -``` -curl --header "Private-Token: " "https://gitlab.example.com/api/v4/groups/26/clusters/24" \ --H "Content-Type:application/json" \ ---request PUT --data '{"name":"new-cluster-name","domain":"new-domain.com","api_url":"https://new-api-url.com"}' -``` - -响应示例: - -``` -{ "id":24, "name":"new-cluster-name", "domain":"new-domain.com", "created_at":"2019-01-03T21:53:40.610Z", "provider_type":"user", "platform_type":"kubernetes", "environment_scope":"*", "cluster_type":"group_type", "user": { "id":1, "name":"Administrator", "username":"root", "state":"active", "avatar_url":"https://www.gravatar.com/avatar/4249f4df72b..", "web_url":"https://gitlab.example.com/root" }, "platform_kubernetes": { "api_url":"https://new-api-url.com", "authorization_type":"rbac", "ca_cert":null }, "management_project": { "id":2, "description":null, "name":"project2", "name_with_namespace":"John Doe8 / project2", "path":"project2", "path_with_namespace":"namespace2/project2", "created_at":"2019-10-11T02:55:54.138Z" }, "group": { "id":26, "name":"group-with-clusters-api", "web_url":"https://gitlab.example.com/group-with-clusters-api" } } -``` - -## Delete group cluster[](#delete-group-cluster "Permalink") - -删除现有的组群集. - -``` -DELETE /groups/:id/clusters/:cluster_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `cluster_id` | integer | yes | 集群的 ID | - -请求示例: - -``` -curl --request DELETE --header "Private-Token: " "https://gitlab.example.com/api/v4/groups/26/clusters/23" -``` \ No newline at end of file diff --git a/docs/300.md b/docs/300.md deleted file mode 100644 index 03badc2..0000000 --- a/docs/300.md +++ /dev/null @@ -1,161 +0,0 @@ -# Instance clusters API - -> 原文:[https://docs.gitlab.com/ee/api/instance_clusters.html](https://docs.gitlab.com/ee/api/instance_clusters.html) - -* [List instance clusters](#list-instance-clusters) -* [Get a single instance cluster](#get-a-single-instance-cluster) -* [Add existing instance cluster](#add-existing-instance-cluster) -* [Edit instance cluster](#edit-instance-cluster) -* [Delete instance cluster](#delete-instance-cluster) - -# Instance clusters API[](#instance-clusters-api "Permalink") - -在 GitLab 13.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/36001) . - -**注意:**用户将需要管理员权限才能使用这些端点. - -将这些 API 端点与实例集群一起使用,使您可以在多个项目中使用同一集群. [更多信息](../user/instance/clusters/index.html) - -## List instance clusters[](#list-instance-clusters "Permalink") - -返回实例集群的列表. - -``` -GET /admin/clusters -``` - -请求示例: - -``` -curl --header "Private-Token: " "https://gitlab.example.com/api/v4/admin/clusters" -``` - -响应示例: - -``` -[ { "id": 9, "name": "cluster-1", "created_at": "2020-07-14T18:36:10.440Z", "domain": null, "provider_type": "user", "platform_type": "kubernetes", "environment_scope": "*", "cluster_type": "instance_type", "user": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "https://gitlab.example.com/root" }, "platform_kubernetes": { "api_url": "https://example.com", "namespace": null, "authorization_type": "rbac", "ca_cert":"-----BEGIN CERTIFICATE-----IxMDM1MV0ZDJkZjM...-----END CERTIFICATE-----" }, "provider_gcp": null, "management_project": null }, { "id": 10, "name": "cluster-2", "created_at": "2020-07-14T18:39:05.383Z", "domain": null, "provider_type": "user", "platform_type": "kubernetes", "environment_scope": "staging", "cluster_type": "instance_type", "user": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "https://gitlab.example.com/root" }, "platform_kubernetes": { "api_url": "https://example.com", "namespace": null, "authorization_type": "rbac", "ca_cert":"-----BEGIN CERTIFICATE-----LzEtMCadtaLGxcsGAZjM...-----END CERTIFICATE-----" }, "provider_gcp": null, "management_project": null } { "id": 11, "name": "cluster-3", ... } ] -``` - -## Get a single instance cluster[](#get-a-single-instance-cluster "Permalink") - -返回单个实例集群. - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `cluster_id` | integer | yes | 集群的 ID | - -``` -GET /admin/clusters/:cluster_id -``` - -请求示例: - -``` -curl --header "Private-Token: " "https://gitlab.example.com/api/v4/admin/clusters/9" -``` - -响应示例: - -``` -{ "id": 9, "name": "cluster-1", "created_at": "2020-07-14T18:36:10.440Z", "domain": null, "provider_type": "user", "platform_type": "kubernetes", "environment_scope": "*", "cluster_type": "instance_type", "user": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "https://gitlab.example.com/root" }, "platform_kubernetes": { "api_url": "https://example.com", "namespace": null, "authorization_type": "rbac", "ca_cert":"-----BEGIN CERTIFICATE-----IxMDM1MV0ZDJkZjM...-----END CERTIFICATE-----" }, "provider_gcp": null, "management_project": null } -``` - -## Add existing instance cluster[](#add-existing-instance-cluster "Permalink") - -添加现有的 Kubernetes 实例集群. - -``` -POST /admin/clusters/add -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `name` | string | yes | 集群名称 | -| `domain` | string | no | 集群的[基础域](../user/project/clusters/index.html#base-domain) | -| `environment_scope` | string | no | 集群的关联环境. 默认为`*` | -| `management_project_id` | integer | no | The ID of the [management project](../user/clusters/management_project.html) for the cluster | -| `enabled` | boolean | no | 确定集群是否处于活动状态,默认为 true | -| `managed` | boolean | no | 确定 GitLab 是否将管理该集群的名称空间和服务帐户,默认为 true | -| `platform_kubernetes_attributes[api_url]` | string | yes | 访问 Kubernetes API 的 URL | -| `platform_kubernetes_attributes[token]` | string | yes | 针对 Kubernetes 进行身份验证的令牌 | -| `platform_kubernetes_attributes[ca_cert]` | string | no | TLS 证书. 如果 API 使用自签名 TLS 证书,则为必填. | -| `platform_kubernetes_attributes[namespace]` | string | no | 与项目相关的唯一名称空间 | -| `platform_kubernetes_attributes[authorization_type]` | string | no | 集群授权类型: `rbac` , `abac`或`unknown_authorization` . 默认为`rbac` . | - -请求示例: - -``` -curl --header "Private-Token:" "http://gitlab.example.com/api/v4/admin/clusters/add" \ --H "Accept:application/json" \ --H "Content-Type:application/json" \ --X POST --data '{"name":"cluster-3", "environment_scope":"production", "platform_kubernetes_attributes":{"api_url":"https://example.com", "token":"12345", "ca_cert":"-----BEGIN CERTIFICATE-----qpoeiXXZafCM0ZDJkZjM...-----END CERTIFICATE-----"}}' -``` - -响应示例: - -``` -{ "id": 11, "name": "cluster-3", "created_at": "2020-07-14T18:42:50.805Z", "domain": null, "provider_type": "user", "platform_type": "kubernetes", "environment_scope": "production", "cluster_type": "instance_type", "user": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://gitlab.example.com:3000/root" }, "platform_kubernetes": { "api_url": "https://example.com", "namespace": null, "authorization_type": "rbac", "ca_cert":"-----BEGIN CERTIFICATE-----qpoeiXXZafCM0ZDJkZjM...-----END CERTIFICATE-----" }, "provider_gcp": null, "management_project": null } -``` - -## Edit instance cluster[](#edit-instance-cluster "Permalink") - -更新现有的实例集群. - -``` -PUT /admin/clusters/:cluster_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `cluster_id` | integer | yes | 集群的 ID | -| `name` | string | no | 集群名称 | -| `domain` | string | no | 集群的[基础域](../user/project/clusters/index.html#base-domain) | -| `environment_scope` | string | no | 集群的关联环境 | -| `management_project_id` | integer | no | 集群[管理项目](../user/clusters/management_project.html)的 ID | -| `enabled` | boolean | no | 确定集群是否处于活动状态,默认为 true | -| `platform_kubernetes_attributes[api_url]` | string | no | 访问 Kubernetes API 的 URL | -| `platform_kubernetes_attributes[token]` | string | no | 针对 Kubernetes 进行身份验证的令牌 | -| `platform_kubernetes_attributes[ca_cert]` | string | no | TLS 证书. 如果 API 使用自签名 TLS 证书,则为必填. | -| `platform_kubernetes_attributes[namespace]` | string | no | 与项目相关的唯一名称空间 | - -**注意:**仅通过通过[添加现有 Kubernetes 集群](../user/project/clusters/add_remove_clusters.html#add-existing-cluster)选项或通过[添加现有实例集群](#add-existing-instance-cluster)端点[添加](#add-existing-instance-cluster)集群时,才能更新`name` , `api_url` , `ca_cert`和`token` . - -请求示例: - -``` -curl --header "Private-Token: " "http://gitlab.example.com/api/v4/admin/clusters/9" \ --H "Content-Type:application/json" \ --X PUT --data '{"name":"update-cluster-name", "platform_kubernetes_attributes":{"api_url":"https://new-example.com","token":"new-token"}}' -``` - -响应示例: - -``` -{ "id": 9, "name": "update-cluster-name", "created_at": "2020-07-14T18:36:10.440Z", "domain": null, "provider_type": "user", "platform_type": "kubernetes", "environment_scope": "*", "cluster_type": "instance_type", "user": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "https://gitlab.example.com/root" }, "platform_kubernetes": { "api_url": "https://new-example.com", "namespace": null, "authorization_type": "rbac", "ca_cert":"-----BEGIN CERTIFICATE-----IxMDM1MV0ZDJkZjM...-----END CERTIFICATE-----" }, "provider_gcp": null, "management_project": null, "project": null } -``` - -## Delete instance cluster[](#delete-instance-cluster "Permalink") - -删除现有的实例集群. - -``` -DELETE /admin/clusters/:cluster_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `cluster_id` | integer | yes | 集群的 ID | - -请求示例: - -``` -curl --request DELETE --header "Private-Token: " "https://gitlab.example.com/api/v4/admin/clusters/11" -``` \ No newline at end of file diff --git a/docs/301.md b/docs/301.md deleted file mode 100644 index ef16eb6..0000000 --- a/docs/301.md +++ /dev/null @@ -1,514 +0,0 @@ -# Commits API - -> 原文:[https://docs.gitlab.com/ee/api/commits.html](https://docs.gitlab.com/ee/api/commits.html) - -* [List repository commits](#list-repository-commits) -* [Create a commit with multiple files and actions](#create-a-commit-with-multiple-files-and-actions) -* [Get a single commit](#get-a-single-commit) -* [Get references a commit is pushed to](#get-references-a-commit-is-pushed-to) -* [Cherry pick a commit](#cherry-pick-a-commit) -* [Revert a commit](#revert-a-commit) -* [Get the diff of a commit](#get-the-diff-of-a-commit) -* [Get the comments of a commit](#get-the-comments-of-a-commit) -* [Post comment to commit](#post-comment-to-commit) -* [Get the discussions of a commit](#get-the-discussions-of-a-commit) -* [Commit status](#commit-status) - * [List the statuses of a commit](#list-the-statuses-of-a-commit) - * [Post the build status to a commit](#post-the-build-status-to-a-commit) -* [List Merge Requests associated with a commit](#list-merge-requests-associated-with-a-commit) -* [Get GPG signature of a commit](#get-gpg-signature-of-a-commit) - -# Commits API[](#commits-api "Permalink") - -## List repository commits[](#list-repository-commits "Permalink") - -获取项目中存储库提交的列表. - -``` -GET /projects/:id/repository/commits -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `ref_name` | string | no | 存储库分支的名称,标签或修订范围,或者如果未提供默认分支 | -| `since` | string | no | 仅此日期之后的提交将以 ISO 8601 格式返回 YYYY-MM-DDTHH:MM:SSZ | -| `until` | string | no | 仅在此日期之前或当天的提交将以 ISO 8601 格式返回 YYYY-MM-DDTHH:MM:SSZ | -| `path` | string | no | 文件路径 | -| `all` | boolean | no | 从存储库中检索每个提交 | -| `with_stats` | boolean | no | 有关每次提交的统计信息将添加到响应中 | -| `first_parent` | boolean | no | 看到合并提交后,仅关注第一个父提交 | -| `order` | string | no | 按顺序列出提交. 可能的值: `default` , [`topo`](https://git-scm.com/docs/git-log#Documentation/git-log.txt---topo-order) . 默认设置为`default` ,提交按时间倒序显示. | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/repository/commits" -``` - -响应示例: - -``` -[ { "id": "ed899a2f4b50b4370feeea94676502b42383c746", "short_id": "ed899a2f4b5", "title": "Replace sanitize with escape once", "author_name": "Example User", "author_email": "user@example.com", "authored_date": "2012-09-20T11:50:22+03:00", "committer_name": "Administrator", "committer_email": "admin@example.com", "committed_date": "2012-09-20T11:50:22+03:00", "created_at": "2012-09-20T11:50:22+03:00", "message": "Replace sanitize with escape once", "parent_ids": [ "6104942438c14ec7bd21c6cd5bd995272b3faff6" ], "web_url": "https://gitlab.example.com/thedude/gitlab-foss/-/commit/ed899a2f4b50b4370feeea94676502b42383c746" }, { "id": "6104942438c14ec7bd21c6cd5bd995272b3faff6", "short_id": "6104942438c", "title": "Sanitize for network graph", "author_name": "randx", "author_email": "user@example.com", "committer_name": "ExampleName", "committer_email": "user@example.com", "created_at": "2012-09-20T09:06:12+03:00", "message": "Sanitize for network graph", "parent_ids": [ "ae1d9fb46aa2b07ee9836d49862ec4e2c46fbbba" ], "web_url": "https://gitlab.example.com/thedude/gitlab-foss/-/commit/ed899a2f4b50b4370feeea94676502b42383c746" } ] -``` - -## Create a commit with multiple files and actions[](#create-a-commit-with-multiple-files-and-actions "Permalink") - -在 GitLab 8.13 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/6096) . - -通过发布 JSON 有效负载来创建提交 - -``` -POST /projects/:id/repository/commits -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `branch` | string | yes | 要提交的分支名称. 要创建一个新分支,还提供`start_branch`或`start_sha` ,还可以提供`start_project` . | -| `commit_message` | string | yes | 提交讯息 | -| `start_branch` | string | no | 从中开始新分支的分支名称 | -| `start_sha` | string | no | 从以下位置启动新分支的提交的 SHA | -| `start_project` | integer/string | no | 从中开始新分支的项目 ID 或项目的[URL 编码路径](README.html#namespaced-path-encoding) . 默认为`id`的值. | -| `actions[]` | array | yes | 动作哈希数组要批量提交. 请参阅下表以了解它可以采用的属性. | -| `author_email` | string | no | 指定提交作者的电子邮件地址 | -| `author_name` | string | no | 指定提交作者的姓名 | -| `stats` | boolean | no | 包括提交统计信息. 默认为 true | -| `force` | boolean | no | 如果为`true`则基于`start_branch`或`start_sha`的新提交覆盖目标分支 | - -| `actions[]` Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `action` | string | yes | 执行, `create` , `delete` , `move` , `update` , `chmod` | -| `file_path` | string | yes | 文件的完整路径. 例如 `lib/class.rb` | -| `previous_path` | string | no | 要移动文件的原始完整路径. 例如 `lib/class1.rb` . 仅考虑`move`动作. | -| `content` | string | no | 除`delete` , `chmod`和`move`以外的所有文件所必需的文件内容. 未指定`content`移动动作将保留现有文件内容,而任何其他`content`值都将覆盖文件内容. | -| `encoding` | string | no | `text`或`base64` . `text`是默认值. | -| `last_commit_id` | string | no | 上次已知的文件提交 ID. 仅在更新,移动和删除操作中考虑. | -| `execute_filemode` | boolean | no | 当为`true/false`启用/禁用文件上的 execute 标志. 仅考虑用于`chmod`操作. | - -``` -PAYLOAD=$(cat << 'JSON' -{ - "branch": "master", - "commit_message": "some commit message", - "actions": [ - { - "action": "create", - "file_path": "foo/bar", - "content": "some content" - }, - { - "action": "delete", - "file_path": "foo/bar2" - }, - { - "action": "move", - "file_path": "foo/bar3", - "previous_path": "foo/bar4", - "content": "some content" - }, - { - "action": "update", - "file_path": "foo/bar5", - "content": "new content" - }, - { - "action": "chmod", - "file_path": "foo/bar5", - "execute_filemode": true - } - ] -} JSON ) -curl --request POST --header "PRIVATE-TOKEN: " --header "Content-Type: application/json" --data "$PAYLOAD" "https://gitlab.example.com/api/v4/projects/1/repository/commits" -``` - -响应示例: - -``` -{ "id": "ed899a2f4b50b4370feeea94676502b42383c746", "short_id": "ed899a2f4b5", "title": "some commit message", "author_name": "Example User", "author_email": "user@example.com", "committer_name": "Example User", "committer_email": "user@example.com", "created_at": "2016-09-20T09:26:24.000-07:00", "message": "some commit message", "parent_ids": [ "ae1d9fb46aa2b07ee9836d49862ec4e2c46fbbba" ], "committed_date": "2016-09-20T09:26:24.000-07:00", "authored_date": "2016-09-20T09:26:24.000-07:00", "stats": { "additions": 2, "deletions": 2, "total": 4 }, "status": null, "web_url": "https://gitlab.example.com/thedude/gitlab-foss/-/commit/ed899a2f4b50b4370feeea94676502b42383c746" } -``` - -GitLab 支持[表单编码](README.html#encoding-api-parameters-of-array-and-hash-types) . 以下是使用 Commit API 和表单编码的示例: - -``` -curl --request POST \ - --form "branch=master" \ - --form "commit_message=some commit message" \ - --form "start_branch=master" \ - --form "actions[][action]=create" \ - --form "actions[][file_path]=foo/bar" \ - --form "actions[][content]=" \ - "https://gitlab.example.com/api/v4/projects/1/repository/commits" -``` - -## Get a single commit[](#get-a-single-commit "Permalink") - -获取由提交哈希或分支或标记的名称标识的特定提交. - -``` -GET /projects/:id/repository/commits/:sha -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `sha` | string | yes | 提交哈希或存储库分支或标记的名称 | -| `stats` | boolean | no | 包括提交统计信息. 默认为 true | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/repository/commits/master" -``` - -响应示例: - -``` -{ "id": "6104942438c14ec7bd21c6cd5bd995272b3faff6", "short_id": "6104942438c", "title": "Sanitize for network graph", "author_name": "randx", "author_email": "user@example.com", "committer_name": "Dmitriy", "committer_email": "user@example.com", "created_at": "2012-09-20T09:06:12+03:00", "message": "Sanitize for network graph", "committed_date": "2012-09-20T09:06:12+03:00", "authored_date": "2012-09-20T09:06:12+03:00", "parent_ids": [ "ae1d9fb46aa2b07ee9836d49862ec4e2c46fbbba" ], "last_pipeline" : { "id": 8, "ref": "master", "sha": "2dc6aa325a317eda67812f05600bdf0fcdc70ab0", "status": "created" }, "stats": { "additions": 15, "deletions": 10, "total": 25 }, "status": "running", "web_url": "https://gitlab.example.com/thedude/gitlab-foss/-/commit/6104942438c14ec7bd21c6cd5bd995272b3faff6" } -``` - -## Get references a commit is pushed to[](#get-references-a-commit-is-pushed-to "Permalink") - -在 GitLab 10.6 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/15026) - -获取提交已提交的所有引用(从分支或标签). 分页参数`page`和`per_page`可用于限制引用列表. - -``` -GET /projects/:id/repository/commits/:sha/refs -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `sha` | string | yes | 提交哈希 | -| `type` | string | no | 提交范围. 可能的值是`branch` , `tag` , `all` . 默认为`all` . | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/repository/commits/5937ac0a7beb003549fc5fd26fc247adbce4a52e/refs?type=all" -``` - -Example response: - -``` -[ {"type": "branch", "name": "'test'"}, {"type": "branch", "name": "add-balsamiq-file"}, {"type": "branch", "name": "wip"}, {"type": "tag", "name": "v1.1.0"} ] -``` - -## Cherry pick a commit[](#cherry-pick-a-commit "Permalink") - -在 GitLab 8.15 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/8047) . - -Cherry 选择了对给定分支的提交. - -``` -POST /projects/:id/repository/commits/:sha/cherry_pick -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `sha` | string | yes | 提交哈希 | -| `branch` | string | yes | 分支名称 | - -``` -curl --request POST --header "PRIVATE-TOKEN: " --form "branch=master" "https://gitlab.example.com/api/v4/projects/5/repository/commits/master/cherry_pick" -``` - -响应示例: - -``` -{ "id": "8b090c1b79a14f2bd9e8a738f717824ff53aebad", "short_id": "8b090c1b", "title": "Feature added", "author_name": "Example User", "author_email": "user@example.com", "authored_date": "2016-12-12T20:10:39.000+01:00", "created_at": "2016-12-12T20:10:39.000+01:00", "committer_name": "Administrator", "committer_email": "admin@example.com", "committed_date": "2016-12-12T20:10:39.000+01:00", "title": "Feature added", "message": "Feature added\n\nSigned-off-by: Example User \n", "parent_ids": [ "a738f717824ff53aebad8b090c1b79a14f2bd9e8" ], "web_url": "https://gitlab.example.com/thedude/gitlab-foss/-/commit/8b090c1b79a14f2bd9e8a738f717824ff53aebad" } -``` - -如果选择失败,响应将提供有关以下原因的上下文: - -``` -{ "message": "Sorry, we cannot cherry-pick this commit automatically. This commit may already have been cherry-picked, or a more recent commit may have updated some of its content.", "error_code": "empty" } -``` - -在这种情况下,cherry-pick 失败,因为变更集为空,并且很可能表明提交已存在于目标分支中. 另一个可能的错误代码是`conflict` ,表示存在合并冲突. - -## Revert a commit[](#revert-a-commit "Permalink") - -在 GitLab 11.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/22919) . - -恢复给定分支中的提交. - -``` -POST /projects/:id/repository/commits/:sha/revert -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `sha` | string | yes | 提交 SHA 还原 | -| `branch` | string | yes | 目标分支名称 | - -``` -curl --request POST --header "PRIVATE-TOKEN: " --form "branch=master" "https://gitlab.example.com/api/v4/projects/5/repository/commits/a738f717824ff53aebad8b090c1b79a14f2bd9e8/revert" -``` - -响应示例: - -``` -{ "id":"8b090c1b79a14f2bd9e8a738f717824ff53aebad", "short_id": "8b090c1b", "title":"Revert \"Feature added\"", "created_at":"2018-11-08T15:55:26.000Z", "parent_ids":["a738f717824ff53aebad8b090c1b79a14f2bd9e8"], "message":"Revert \"Feature added\"\n\nThis reverts commit a738f717824ff53aebad8b090c1b79a14f2bd9e8", "author_name":"Administrator", "author_email":"admin@example.com", "authored_date":"2018-11-08T15:55:26.000Z", "committer_name":"Administrator", "committer_email":"admin@example.com", "committed_date":"2018-11-08T15:55:26.000Z", "web_url": "https://gitlab.example.com/thedude/gitlab-foss/-/commit/8b090c1b79a14f2bd9e8a738f717824ff53aebad" } -``` - -如果还原失败,则响应将提供有关以下原因的上下文: - -``` -{ "message": "Sorry, we cannot revert this commit automatically. This commit may already have been reverted, or a more recent commit may have updated some of its content.", "error_code": "conflict" } -``` - -在这种情况下,还原失败,因为尝试的还原产生了合并冲突. 另一个可能的错误代码为`empty` ,表明变更集为空,这可能是由于变更已被还原. - -## Get the diff of a commit[](#get-the-diff-of-a-commit "Permalink") - -获取项目中提交的差异. - -``` -GET /projects/:id/repository/commits/:sha/diff -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `sha` | string | yes | 提交哈希或存储库分支或标记的名称 | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/repository/commits/master/diff" -``` - -响应示例: - -``` -[ { "diff": "--- a/doc/update/5.4-to-6.0.md\n+++ b/doc/update/5.4-to-6.0.md\n@@ -71,6 +71,8 @@\n sudo -u git -H bundle exec rake migrate_keys RAILS_ENV=production\n sudo -u git -H bundle exec rake migrate_inline_notes RAILS_ENV=production\n \n+sudo -u git -H bundle exec rake gitlab:assets:compile RAILS_ENV=production\n+\n ```\n \n ### 6\. Update config files", "new_path": "doc/update/5.4-to-6.0.md", "old_path": "doc/update/5.4-to-6.0.md", "a_mode": null, "b_mode": "100644", "new_file": false, "renamed_file": false, "deleted_file": false } ] -``` - -## Get the comments of a commit[](#get-the-comments-of-a-commit "Permalink") - -获取项目中提交的注释. - -``` -GET /projects/:id/repository/commits/:sha/comments -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `sha` | string | yes | 提交哈希或存储库分支或标记的名称 | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/repository/commits/master/comments" -``` - -响应示例: - -``` -[ { "note": "this code is really nice", "author": { "id": 11, "username": "admin", "email": "admin@local.host", "name": "Administrator", "state": "active", "created_at": "2014-03-06T08:17:35.000Z" } } ] -``` - -## Post comment to commit[](#post-comment-to-commit "Permalink") - -在提交中添加评论. - -为了在特定文件的特定行中发布评论,您必须指定完整的提交 SHA, `path` , `line`和`line_type`应该是`new` . - -如果以下至少一种情况有效,则注释将在最后一次提交的末尾添加: - -* 相反, `sha`是分支或标签,并且`line`或`path`无效 -* `line`号无效(不存在) -* `path`无效(不存在) - -在上述任何情况下, `line` , `line_type`和`path`的响应都设置为`null` . - -``` -POST /projects/:id/repository/commits/:sha/comments -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `sha` | string | yes | 提交 SHA 或存储库分支或标记的名称 | -| `note` | string | yes | 评论文字 | -| `path` | string | no | 相对于存储库的文件路径 | -| `line` | integer | no | 放置评论的行号 | -| `line_type` | string | no | 线型. 采用`new`或`old`的争论 | - -``` -curl --request POST --header "PRIVATE-TOKEN: " --form "note=Nice picture man\!" --form "path=dudeism.md" --form "line=11" --form "line_type=new" "https://gitlab.example.com/api/v4/projects/17/repository/commits/18f3e63d05582537db6d183d9d557be09e1f90c8/comments" -``` - -响应示例: - -``` -{ "author" : { "web_url" : "https://gitlab.example.com/thedude", "avatar_url" : "https://gitlab.example.com/uploads/user/avatar/28/The-Big-Lebowski-400-400.png", "username" : "thedude", "state" : "active", "name" : "Jeff Lebowski", "id" : 28 }, "created_at" : "2016-01-19T09:44:55.600Z", "line_type" : "new", "path" : "dudeism.md", "line" : 11, "note" : "Nice picture man!" } -``` - -## Get the discussions of a commit[](#get-the-discussions-of-a-commit "Permalink") - -获取项目中提交的讨论. - -``` -GET /projects/:id/repository/commits/:sha/discussions -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `sha` | string | yes | 提交哈希或存储库分支或标记的名称 | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/repository/commits/4604744a1c64de00ff62e1e8a6766919923d2b41/discussions" -``` - -响应示例: - -``` -[ { "id": "4604744a1c64de00ff62e1e8a6766919923d2b41", "individual_note": true, "notes": [ { "id": 334686748, "type": null, "body": "I'm the Dude, so that's what you call me.", "attachment": null, "author" : { "id" : 28, "name" : "Jeff Lebowski", "username" : "thedude", "web_url" : "https://gitlab.example.com/thedude", "state" : "active", "avatar_url" : "https://gitlab.example.com/uploads/user/avatar/28/The-Big-Lebowski-400-400.png" }, "created_at": "2020-04-30T18:48:11.432Z", "updated_at": "2020-04-30T18:48:11.432Z", "system": false, "noteable_id": null, "noteable_type": "Commit", "resolvable": false, "confidential": null, "noteable_iid": null, "commands_changes": {} } ] } ] -``` - -## Commit status[](#commit-status "Permalink") - -从 GitLab 8.1 开始,这是新的提交状态 API. - -### List the statuses of a commit[](#list-the-statuses-of-a-commit "Permalink") - -列出项目中提交的状态. 分页参数`page`和`per_page`可用于限制引用列表. - -``` -GET /projects/:id/repository/commits/:sha/statuses -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `sha` | string | yes | 提交 SHA | -| `ref` | string | no | The name of a repository branch or tag or, if not given, the default branch | -| `stage` | string | no | 按[构建阶段](../ci/yaml/README.html#stages)过滤,例如`test` | -| `name` | string | no | 按[工作名称](../ci/yaml/README.html#introduction)过滤,例如`bundler:audit` | -| `all` | boolean | no | 返回所有状态,不仅是最新状态 | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/17/repository/commits/18f3e63d05582537db6d183d9d557be09e1f90c8/statuses -``` - -响应示例: - -``` -[ ... { "status" : "pending", "created_at" : "2016-01-19T08:40:25.934Z", "started_at" : null, "name" : "bundler:audit", "allow_failure" : true, "author" : { "username" : "thedude", "state" : "active", "web_url" : "https://gitlab.example.com/thedude", "avatar_url" : "https://gitlab.example.com/uploads/user/avatar/28/The-Big-Lebowski-400-400.png", "id" : 28, "name" : "Jeff Lebowski" }, "description" : null, "sha" : "18f3e63d05582537db6d183d9d557be09e1f90c8", "target_url" : "https://gitlab.example.com/thedude/gitlab-foss/builds/91", "finished_at" : null, "id" : 91, "ref" : "master" }, { "started_at" : null, "name" : "test", "allow_failure" : false, "status" : "pending", "created_at" : "2016-01-19T08:40:25.832Z", "target_url" : "https://gitlab.example.com/thedude/gitlab-foss/builds/90", "id" : 90, "finished_at" : null, "ref" : "master", "sha" : "18f3e63d05582537db6d183d9d557be09e1f90c8", "author" : { "id" : 28, "name" : "Jeff Lebowski", "username" : "thedude", "web_url" : "https://gitlab.example.com/thedude", "state" : "active", "avatar_url" : "https://gitlab.example.com/uploads/user/avatar/28/The-Big-Lebowski-400-400.png" }, "description" : null }, ... ] -``` - -### Post the build status to a commit[](#post-the-build-status-to-a-commit "Permalink") - -添加或更新提交的构建状态. - -``` -POST /projects/:id/statuses/:sha -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `sha` | string | yes | 提交 SHA | -| `state` | string | yes | 状态的状态. 可以是以下之一: `pending` , `running` , `success` , `failed` , `canceled` | -| `ref` | string | no | 状态所`ref` (分支或标签) | -| `name` or `context` | string | no | 区分此状态和其他系统状态的标签. 默认值是`default` | -| `target_url` | string | no | 与该状态关联的目标 URL | -| `description` | string | no | 状态的简短描述 | -| `coverage` | float | no | 总代码覆盖率 | -| `pipeline_id` | integer | no | 要设置状态的管道的 ID. 在同一 SHA 上有多个管道的情况下使用. | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/17/statuses/18f3e63d05582537db6d183d9d557be09e1f90c8?state=success" -``` - -响应示例: - -``` -{ "author" : { "web_url" : "https://gitlab.example.com/thedude", "name" : "Jeff Lebowski", "avatar_url" : "https://gitlab.example.com/uploads/user/avatar/28/The-Big-Lebowski-400-400.png", "username" : "thedude", "state" : "active", "id" : 28 }, "name" : "default", "sha" : "18f3e63d05582537db6d183d9d557be09e1f90c8", "status" : "success", "coverage": 100.0, "description" : null, "id" : 93, "target_url" : null, "ref" : null, "started_at" : null, "created_at" : "2016-01-19T09:05:50.355Z", "allow_failure" : false, "finished_at" : "2016-01-19T09:05:50.365Z" } -``` - -## List Merge Requests associated with a commit[](#list-merge-requests-associated-with-a-commit "Permalink") - -在 GitLab 10.7 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/18004) . - -获取与指定提交相关的合并请求列表. - -``` -GET /projects/:id/repository/commits/:sha/merge_requests -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `sha` | string | yes | 提交 SHA | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/repository/commits/af5b13261899fb2c0db30abdd0af8b07cb44fdc5/merge_requests" -``` - -响应示例: - -``` -[ { "id":45, "iid":1, "project_id":35, "title":"Add new file", "description":"", "state":"opened", "created_at":"2018-03-26T17:26:30.916Z", "updated_at":"2018-03-26T17:26:30.916Z", "target_branch":"master", "source_branch":"test-branch", "upvotes":0, "downvotes":0, "author" : { "web_url" : "https://gitlab.example.com/thedude", "name" : "Jeff Lebowski", "avatar_url" : "https://gitlab.example.com/uploads/user/avatar/28/The-Big-Lebowski-400-400.png", "username" : "thedude", "state" : "active", "id" : 28 }, "assignee":null, "source_project_id":35, "target_project_id":35, "labels":[ ], "work_in_progress":false, "milestone":null, "merge_when_pipeline_succeeds":false, "merge_status":"can_be_merged", "sha":"af5b13261899fb2c0db30abdd0af8b07cb44fdc5", "merge_commit_sha":null, "squash_commit_sha":null, "user_notes_count":0, "discussion_locked":null, "should_remove_source_branch":null, "force_remove_source_branch":false, "web_url":"http://https://gitlab.example.com/root/test-project/merge_requests/1", "time_stats":{ "time_estimate":0, "total_time_spent":0, "human_time_estimate":null, "human_total_time_spent":null } } ] -``` - -## Get GPG signature of a commit[](#get-gpg-signature-of-a-commit "Permalink") - -[从提交](../user/project/repository/gpg_signed_commits/index.html)获取[GPG 签名](../user/project/repository/gpg_signed_commits/index.html) (如果已签名). 对于未签名的提交,将导致 404 响应. - -``` -GET /projects/:id/repository/commits/:sha/signature -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `sha` | string | yes | 提交哈希或存储库分支或标记的名称 | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/repository/commits/da738facbc19eb2fc2cef57c49be0e6038570352/signature" -``` - -如果提交是由 GPG 签名的,则示例响应: - -``` -{ "signature_type": "PGP", "verification_status": "verified", "gpg_key_id": 1, "gpg_key_primary_keyid": "8254AAB3FBD54AC9", "gpg_key_user_name": "John Doe", "gpg_key_user_email": "johndoe@example.com", "gpg_key_subkey_id": null } -``` - -如果提交是 X.509 签名的示例响应: - -``` -{ "signature_type": "X509", "verification_status": "unverified", "x509_certificate": { "id": 1, "subject": "CN=gitlab@example.org,OU=Example,O=World", "subject_key_identifier": "BC:BC:BC:BC:BC:BC:BC:BC:BC:BC:BC:BC:BC:BC:BC:BC:BC:BC:BC:BC", "email": "gitlab@example.org", "serial_number": 278969561018901340486471282831158785578, "certificate_status": "good", "x509_issuer": { "id": 1, "subject": "CN=PKI,OU=Example,O=World", "subject_key_identifier": "AB:AB:AB:AB:AB:AB:AB:AB:AB:AB:AB:AB:AB:AB:AB:AB:AB:AB:AB:AB", "crl_url": "http://example.com/pki.crl" } } } -``` - -如果提交是未签名的,示例响应: - -``` -{ "message": "404 GPG Signature Not Found" } -``` \ No newline at end of file diff --git a/docs/302.md b/docs/302.md deleted file mode 100644 index 8081312..0000000 --- a/docs/302.md +++ /dev/null @@ -1,218 +0,0 @@ -# Container Registry API - -> 原文:[https://docs.gitlab.com/ee/api/container_registry.html](https://docs.gitlab.com/ee/api/container_registry.html) - -* [List registry repositories](#list-registry-repositories) - * [Within a project](#within-a-project) - * [Within a group](#within-a-group) -* [Delete registry repository](#delete-registry-repository) -* [List registry repository tags](#list-registry-repository-tags) - * [Within a project](#within-a-project-1) -* [Get details of a registry repository tag](#get-details-of-a-registry-repository-tag) -* [Delete a registry repository tag](#delete-a-registry-repository-tag) -* [Delete registry repository tags in bulk](#delete-registry-repository-tags-in-bulk) - -# Container Registry API[](#container-registry-api "Permalink") - -在 GitLab 11.8 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/55978) . - -这是[GitLab 容器注册表](../user/packages/container_registry/index.html)的 API 文档. - -## List registry repositories[](#list-registry-repositories "Permalink") - -### Within a project[](#within-a-project "Permalink") - -获取项目中的注册表存储库列表. - -``` -GET /projects/:id/registry/repositories -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户可以访问[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `tags` | boolean | no | 如果参数包含为 true,则每个存储库在响应中都将包含一个`"tags"`数组. | -| `name` | string | no | 返回名称与值匹配的存储库列表. (在 GitLab 13.0 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/29763) ). | -| `tags_count` | boolean | no | 如果参数包含为 true,则每个存储库的响应中都将包含`"tags_count"` (在 GitLab 13.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/32141) ). | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/registry/repositories" -``` - -响应示例: - -``` -[ { "id": 1, "name": "", "path": "group/project", "project_id": 9, "location": "gitlab.example.com:5000/group/project", "created_at": "2019-01-10T13:38:57.391Z" }, { "id": 2, "name": "releases", "path": "group/project/releases", "project_id": 9, "location": "gitlab.example.com:5000/group/project/releases", "created_at": "2019-01-10T13:39:08.229Z" } ] -``` - -### Within a group[](#within-a-group "Permalink") - -获取组中的注册表存储库列表. - -``` -GET /groups/:id/registry/repositories -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户可以访问[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `tags` | boolean | no | 如果参数包含为 true,则每个存储库在响应中都将包含一个`"tags"`数组. | -| `name` | string | no | 返回名称与值匹配的存储库列表. (在 GitLab 13.0 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/29763) ). | -| `tags_count` | boolean | no | 如果参数包含为 true,则每个存储库的响应中都将包含`"tags_count"` (在 GitLab 13.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/32141) ). | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/2/registry/repositories?tags=1&tags_count=true" -``` - -响应示例: - -``` -[ { "id": 1, "name": "", "path": "group/project", "project_id": 9, "location": "gitlab.example.com:5000/group/project", "created_at": "2019-01-10T13:38:57.391Z", "tags_count": 1, "tags": [ { "name": "0.0.1", "path": "group/project:0.0.1", "location": "gitlab.example.com:5000/group/project:0.0.1" } ] }, { "id": 2, "name": "", "path": "group/other_project", "project_id": 11, "location": "gitlab.example.com:5000/group/other_project", "created_at": "2019-01-10T13:39:08.229Z", "tags_count": 3, "tags": [ { "name": "0.0.1", "path": "group/other_project:0.0.1", "location": "gitlab.example.com:5000/group/other_project:0.0.1" }, { "name": "0.0.2", "path": "group/other_project:0.0.2", "location": "gitlab.example.com:5000/group/other_project:0.0.2" }, { "name": "latest", "path": "group/other_project:latest", "location": "gitlab.example.com:5000/group/other_project:latest" } ] } ] -``` - -## Delete registry repository[](#delete-registry-repository "Permalink") - -删除注册表中的存储库. - -该操作是异步执行的,可能要花一些时间才能执行. - -``` -DELETE /projects/:id/registry/repositories/:repository_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.html#namespaced-path-encoding) owned by the authenticated user. | -| `repository_id` | integer | yes | 注册表存储库的标识. | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/registry/repositories/2" -``` - -## List registry repository tags[](#list-registry-repository-tags "Permalink") - -### Within a project[](#within-a-project-1 "Permalink") - -获取给定注册表存储库的标签列表. - -``` -GET /projects/:id/registry/repositories/:repository_id/tags -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户可以访问[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `repository_id` | integer | yes | 注册表存储库的标识. | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/registry/repositories/2/tags" -``` - -响应示例: - -``` -[ { "name": "A", "path": "group/project:A", "location": "gitlab.example.com:5000/group/project:A" }, { "name": "latest", "path": "group/project:latest", "location": "gitlab.example.com:5000/group/project:latest" } ] -``` - -## Get details of a registry repository tag[](#get-details-of-a-registry-repository-tag "Permalink") - -获取注册表存储库标签的详细信息. - -``` -GET /projects/:id/registry/repositories/:repository_id/tags/:tag_name -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户可以访问[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `repository_id` | integer | yes | 注册表存储库的标识. | -| `tag_name` | string | yes | 标签名称. | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/registry/repositories/2/tags/v10.0.0" -``` - -响应示例: - -``` -{ "name": "v10.0.0", "path": "group/project:latest", "location": "gitlab.example.com:5000/group/project:latest", "revision": "e9ed9d87c881d8c2fd3a31b41904d01ba0b836e7fd15240d774d811a1c248181", "short_revision": "e9ed9d87c", "digest": "sha256:c3490dcf10ffb6530c1303522a1405dfaf7daecd8f38d3e6a1ba19ea1f8a1751", "created_at": "2019-01-06T16:49:51.272+00:00", "total_size": 350224384 } -``` - -## Delete a registry repository tag[](#delete-a-registry-repository-tag "Permalink") - -删除注册表存储库标记. - -``` -DELETE /projects/:id/registry/repositories/:repository_id/tags/:tag_name -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `repository_id` | integer | yes | 注册表存储库的标识. | -| `tag_name` | string | yes | 标签名称. | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/registry/repositories/2/tags/v10.0.0" -``` - -此操作不会删除 Blob. 为了删除它们并回收磁盘空间,请[运行垃圾回收](https://docs.gitlab.com/omnibus/maintenance/README.html) . - -## Delete registry repository tags in bulk[](#delete-registry-repository-tags-in-bulk "Permalink") - -根据给定的标准批量删除注册表存储库标签. - -有关概述,请参阅[利用 Container Registry API 删除除*之外的所有标签](https://youtu.be/Hi19bKe_xsg) . - -``` -DELETE /projects/:id/registry/repositories/:repository_id/tags -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `repository_id` | integer | yes | 注册表存储库的标识. | -| `name_regex` | string | no | 要删除的名称的[re2](https://github.com/google/re2/wiki/Syntax)正则表达式. 要删除所有标签,请指定`.*` . **注意:**不建议使用`name_regex`而建议使用`name_regex_delete` . 此字段已验证. | -| `name_regex_delete` | string | yes | 要删除的名称的[re2](https://github.com/google/re2/wiki/Syntax)正则表达式. 要删除所有标签,请指定`.*` . 此字段已验证. | -| `name_regex_keep` | string | no | 要保留名称的[re2](https://github.com/google/re2/wiki/Syntax)正则表达式. 此值将覆盖`name_regex_delete`所有匹配`name_regex_delete` . 此字段已验证. 注意:设置为`.*`将导致无操作. | -| `keep_n` | integer | no | 要保留的给定名称的最新标签的数量. | -| `older_than` | string | no | 早于给定时间的要删除的标签,以人类可读的格式`1h` , `1d` , `1month`编写. | - -此 API 调用执行以下操作: - -1. 它按创建日期排序所有标签. 创建日期是清单创建的时间,而不是标签推送的时间. -2. 它仅删除与给定`name_regex_delete` (或不`name_regex`使用的`name_regex` )匹配的标签,并保留所有与`name_regex_keep`匹配的`name_regex_keep` . -3. 它绝不会取消对标签命名`latest` . -4. 它保留 N 个最新的匹配标签(如果指定了`keep_n` ). -5. 它仅删除时间超过 X 时间的标签(如果指定了`older_than` ). -6. 它安排异步作业在后台执行. - -这些操作是异步执行的,可能要花一些时间才能执行. 对于给定的容器存储库,您最多可以每小时运行一次. 此操作不会删除 Blob. 为了删除它们并回收磁盘空间,请[运行垃圾回收](https://docs.gitlab.com/omnibus/maintenance/README.html) . - -**注意:**从 GitLab 12.4 开始,将删除各个标签. 有关更多详细信息,请参见[讨论](https://gitlab.com/gitlab-org/gitlab/-/issues/15737) . - -Examples: - -1. 删除与正则表达式(Git SHA)匹配的标记名,始终至少保留 5 个,并删除 2 天以上的标记名: - - ``` - curl --request DELETE --data 'name_regex_delete=[0-9a-z]{40}' --data 'keep_n=5' --data 'older_than=2d' --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/registry/repositories/2/tags" - ``` - -2. 删除所有标签,但始终保留最新的 5 个标签: - - ``` - curl --request DELETE --data 'name_regex_delete=.*' --data 'keep_n=5' --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/registry/repositories/2/tags" - ``` - -3. 删除所有标签,但始终保留以`stable`开头的标签: - - ``` - curl --request DELETE --data 'name_regex_delete=.*' --data 'name_regex_keep=stable.*' --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/registry/repositories/2/tags" - ``` - -4. 删除所有超过 1 个月的标签: - - ``` - curl --request DELETE --data 'name_regex_delete=.*' --data 'older_than=1month' --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/registry/repositories/2/tags" - ``` \ No newline at end of file diff --git a/docs/303.md b/docs/303.md deleted file mode 100644 index 58fb56a..0000000 --- a/docs/303.md +++ /dev/null @@ -1,108 +0,0 @@ -# Custom Attributes API - -> 原文:[https://docs.gitlab.com/ee/api/custom_attributes.html](https://docs.gitlab.com/ee/api/custom_attributes.html) - -* [List custom attributes](#list-custom-attributes) -* [Single custom attribute](#single-custom-attribute) -* [Set custom attribute](#set-custom-attribute) -* [Delete custom attribute](#delete-custom-attribute) - -# Custom Attributes API[](#custom-attributes-api "Permalink") - -每个对自定义属性的 API 调用都必须经过管理员身份验证. - -自定义属性当前可用于用户,组和项目,在本文档中将其称为"资源". - -## List custom attributes[](#list-custom-attributes "Permalink") - -获取资源上的所有自定义属性. - -``` -GET /users/:id/custom_attributes -GET /groups/:id/custom_attributes -GET /projects/:id/custom_attributes -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 资源的 ID | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/users/42/custom_attributes" -``` - -响应示例: - -``` -[ { "key": "location", "value": "Antarctica" }, { "key": "role", "value": "Developer" } ] -``` - -## Single custom attribute[](#single-custom-attribute "Permalink") - -在资源上获取单个自定义属性. - -``` -GET /users/:id/custom_attributes/:key -GET /groups/:id/custom_attributes/:key -GET /projects/:id/custom_attributes/:key -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 资源的 ID | -| `key` | string | yes | 自定义属性的键 | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/users/42/custom_attributes/location" -``` - -响应示例: - -``` -{ "key": "location", "value": "Antarctica" } -``` - -## Set custom attribute[](#set-custom-attribute "Permalink") - -在资源上设置自定义属性. 如果该属性已经存在,则将对其进行更新;否则,将重新创建该属性. - -``` -PUT /users/:id/custom_attributes/:key -PUT /groups/:id/custom_attributes/:key -PUT /projects/:id/custom_attributes/:key -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 资源的 ID | -| `key` | string | yes | 自定义属性的键 | -| `value` | string | yes | 自定义属性的值 | - -``` -curl --request PUT --header "PRIVATE-TOKEN: " --data "value=Greenland" "https://gitlab.example.com/api/v4/users/42/custom_attributes/location" -``` - -响应示例: - -``` -{ "key": "location", "value": "Greenland" } -``` - -## Delete custom attribute[](#delete-custom-attribute "Permalink") - -删除资源上的自定义属性. - -``` -DELETE /users/:id/custom_attributes/:key -DELETE /groups/:id/custom_attributes/:key -DELETE /projects/:id/custom_attributes/:key -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 资源的 ID | -| `key` | string | yes | 自定义属性的键 | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/users/42/custom_attributes/location" -``` \ No newline at end of file diff --git a/docs/304.md b/docs/304.md deleted file mode 100644 index 2c36d32..0000000 --- a/docs/304.md +++ /dev/null @@ -1,44 +0,0 @@ -# Dashboard annotations API - -> 原文:[https://docs.gitlab.com/ee/api/metrics_dashboard_annotations.html](https://docs.gitlab.com/ee/api/metrics_dashboard_annotations.html) - -* [Create a new annotation](#create-a-new-annotation) - -# Dashboard annotations API[](#dashboard-annotations-api "Permalink") - -版本历史 - -* 在 GitLab 12.10 中在禁用的功能标志后面[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/29089) . - -指标仪表板注释使您可以在单个时间点或整个时间段内指示图形上的事件. - -## Create a new annotation[](#create-a-new-annotation "Permalink") - -``` -POST /environments/:id/metrics_dashboard/annotations/ -POST /clusters/:id/metrics_dashboard/annotations/ -``` - -**注意:** `dashboard_path`的值将被视为 CGI 转义的路径,并自动取消转义. - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `dashboard_path` | string | yes | 需要注释的仪表盘的 ID. | -| `starting_at` | string | yes | 日期时间字符串,ISO 8601 格式,例如`2016-03-11T03:45:40Z` . 注释的时间戳标记起点. | -| `ending_at` | string | no | 日期时间字符串,ISO 8601 格式,例如`2016-03-11T03:45:40Z` . 注释的时间戳标记终点. 如果未提供,注释将在起点显示为单个事件. | -| `description` | string | yes | 注释的描述. | - -``` -curl --header "Private-Token: " "https://gitlab.example.com/api/v4/environments/1/metrics_dashboard/annotations" \ - --data-urlencode "dashboard_path=.gitlab/dashboards/custom_metrics.yml" \ - --data-urlencode "starting_at=2016-03-11T03:45:40Z" \ - --data-urlencode "description=annotation description" -``` - -示例响应: - -``` -{ "id": 4, "starting_at": "2016-04-08T03:45:40.000Z", "ending_at": null, "dashboard_path": ".gitlab/dashboards/custom_metrics.yml", "description": "annotation description", "environment_id": 1, "cluster_id": null } -``` \ No newline at end of file diff --git a/docs/305.md b/docs/305.md deleted file mode 100644 index 370727f..0000000 --- a/docs/305.md +++ /dev/null @@ -1,36 +0,0 @@ -# Dependencies API - -> 原文:[https://docs.gitlab.com/ee/api/dependencies.html](https://docs.gitlab.com/ee/api/dependencies.html) - -* [List project dependencies](#list-project-dependencies) - -# Dependencies API[](#dependencies-api-ultimate "Permalink") - -**警告:**此 API 处于 alpha 阶段,被认为是不稳定的. 响应有效载荷可能会在 GitLab 版本之间发生更改或损坏. - -对此端点的每次调用都需要身份验证. 要执行此调用,应授权用户读取存储库. 要查看响应中的漏洞,应授权用户阅读[Project Security Dashboard](../user/application_security/security_dashboard/index.html#project-security-dashboard) . - -## List project dependencies[](#list-project-dependencies "Permalink") - -获取项目依赖项列表. 该 API 部分镜像了[依赖项列表](../user/application_security/dependency_list/index.html)功能. 只能为 Gemnasium 支持的[语言和程序包管理器](../user/application_security/dependency_scanning/index.html#supported-languages-and-package-managers)生成此列表. - -``` -GET /projects/:id/dependencies -GET /projects/:id/dependencies?package_manager=maven -GET /projects/:id/dependencies?package_manager=yarn,bundler -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) . | -| `package_manager` | 字符串数组 | no | 返回属于指定程序包管理器的依赖项. 有效值: `bundler` , `composer` , `maven` , `npm` , `pip`或`yarn` . | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/4/dependencies" -``` - -响应示例: - -``` -[ { "name": "rails", "version": "5.0.1", "package_manager": "bundler", "dependency_file_path": "Gemfile.lock", "vulnerabilities": [{ "name": "DDoS", "severity": "unknown" }] }, { "name": "hanami", "version": "1.3.1", "package_manager": "bundler", "dependency_file_path": "Gemfile.lock", "vulnerabilities": [] } ] -``` \ No newline at end of file diff --git a/docs/306.md b/docs/306.md deleted file mode 100644 index 6c223fc..0000000 --- a/docs/306.md +++ /dev/null @@ -1,196 +0,0 @@ -# Deploy Keys API - -> 原文:[https://docs.gitlab.com/ee/api/deploy_keys.html](https://docs.gitlab.com/ee/api/deploy_keys.html) - -* [List all deploy keys](#list-all-deploy-keys) -* [List project deploy keys](#list-project-deploy-keys) -* [Single deploy key](#single-deploy-key) -* [Add deploy key](#add-deploy-key) -* [Update deploy key](#update-deploy-key) -* [Delete deploy key](#delete-deploy-key) -* [Enable a deploy key](#enable-a-deploy-key) -* [Adding deploy keys to multiple projects](#adding-deploy-keys-to-multiple-projects) - -# Deploy Keys API[](#deploy-keys-api "Permalink") - -## List all deploy keys[](#list-all-deploy-keys "Permalink") - -获取 GitLab 实例的所有项目中所有部署密钥的列表. 该端点需要管理员访问权限,并且在 GitLab.com 上不可用. - -``` -GET /deploy_keys -``` - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/deploy_keys" -``` - -响应示例: - -``` -[ { "id": 1, "title": "Public key", "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=", "created_at": "2013-10-02T10:12:29Z" }, { "id": 3, "title": "Another Public key", "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=", "created_at": "2013-10-02T11:12:29Z" } ] -``` - -## List project deploy keys[](#list-project-deploy-keys "Permalink") - -获取项目的部署密钥的列表. - -``` -GET /projects/:id/deploy_keys -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/deploy_keys" -``` - -响应示例: - -``` -[ { "id": 1, "title": "Public key", "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=", "created_at": "2013-10-02T10:12:29Z", "can_push": false }, { "id": 3, "title": "Another Public key", "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=", "created_at": "2013-10-02T11:12:29Z", "can_push": false } ] -``` - -## Single deploy key[](#single-deploy-key "Permalink") - -Get a single key. - -``` -GET /projects/:id/deploy_keys/:key_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `key_id` | integer | yes | 部署密钥的 ID | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/deploy_keys/11" -``` - -响应示例: - -``` -{ "id": 1, "title": "Public key", "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=", "created_at": "2013-10-02T10:12:29Z", "can_push": false } -``` - -## Add deploy key[](#add-deploy-key "Permalink") - -为项目创建一个新的部署密钥. - -如果部署密钥已经存在于另一个项目中,则只有在同一用户可以访问原始密钥的情况下,它才会加入到当前项目中. - -``` -POST /projects/:id/deploy_keys -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `title` | string | yes | 新部署密钥的标题 | -| `key` | string | yes | 新的部署密钥 | -| `can_push` | boolean | no | 可以将按键推送部署到项目的存储库 | - -``` -curl --request POST --header "PRIVATE-TOKEN: " --header "Content-Type: application/json" --data '{"title": "My deploy key", "key": "ssh-rsa AAAA...", "can_push": "true"}' "https://gitlab.example.com/api/v4/projects/5/deploy_keys/" -``` - -响应示例: - -``` -{ "key" : "ssh-rsa AAAA...", "id" : 12, "title" : "My deploy key", "can_push": true, "created_at" : "2015-08-29T12:44:31.550Z" } -``` - -## Update deploy key[](#update-deploy-key "Permalink") - -更新项目的部署密钥. - -``` -PUT /projects/:id/deploy_keys/:key_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `title` | string | no | 新部署密钥的标题 | -| `can_push` | boolean | no | 可以将按键推送部署到项目的存储库 | - -``` -curl --request PUT --header "PRIVATE-TOKEN: " --header "Content-Type: application/json" --data '{"title": "New deploy key", "can_push": true}' "https://gitlab.example.com/api/v4/projects/5/deploy_keys/11" -``` - -响应示例: - -``` -{ "id": 11, "title": "New deploy key", "key": "ssh-rsa AAAA...", "created_at": "2015-08-29T12:44:31.550Z", "can_push": true } -``` - -## Delete deploy key[](#delete-deploy-key "Permalink") - -从项目中删除部署密钥. 如果部署密钥仅用于该项目,则它将从系统中删除. - -``` -DELETE /projects/:id/deploy_keys/:key_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `key_id` | integer | yes | 部署密钥的 ID | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/deploy_keys/13" -``` - -## Enable a deploy key[](#enable-a-deploy-key "Permalink") - -为项目启用部署密钥,以便可以使用它. 返回成功的密钥,成功时返回状态码 201. - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/deploy_keys/13/enable" -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `key_id` | integer | yes | 部署密钥的 ID | - -响应示例: - -``` -{ "key" : "ssh-rsa AAAA...", "id" : 12, "title" : "My deploy key", "created_at" : "2015-08-29T12:44:31.550Z" } -``` - -## Adding deploy keys to multiple projects[](#adding-deploy-keys-to-multiple-projects "Permalink") - -如果您想轻松地将相同的部署密钥添加到同一组中的多个项目中,则可以使用 API​​轻松实现. - -首先,通过列出所有项目来找到您感兴趣的项目的 ID: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects" -``` - -或查找组的 ID: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups" -``` - -然后列出该组中的所有项目(例如,组 1234): - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/1234" -``` - -使用这些 ID,将相同的部署密钥添加到所有: - -``` -for project_id in 321 456 987; do curl --request POST --header "PRIVATE-TOKEN: " --header "Content-Type: application/json" \ - --data '{"title": "my key", "key": "ssh-rsa AAAA..."}' "https://gitlab.example.com/api/v4/projects/${project_id}/deploy_keys" -done -``` \ No newline at end of file diff --git a/docs/307.md b/docs/307.md deleted file mode 100644 index 905bc23..0000000 --- a/docs/307.md +++ /dev/null @@ -1,139 +0,0 @@ -# Deployments API - -> 原文:[https://docs.gitlab.com/ee/api/deployments.html](https://docs.gitlab.com/ee/api/deployments.html) - -* [List project deployments](#list-project-deployments) -* [Get a specific deployment](#get-a-specific-deployment) -* [Create a deployment](#create-a-deployment) -* [Updating a deployment](#updating-a-deployment) -* [List of merge requests associated with a deployment](#list-of-merge-requests-associated-with-a-deployment) - -# Deployments API[](#deployments-api "Permalink") - -## List project deployments[](#list-project-deployments "Permalink") - -获取项目中的部署列表. - -``` -GET /projects/:id/deployments -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `order_by` | string | no | 返回按`id`或`iid`或`created_at`或`updated_at`或`ref`字段排序的部署. 默认为`id` | -| `sort` | string | no | 返回按`asc`或`desc`排列的部署. 默认为`asc` | -| `updated_after` | datetime | no | 返回指定日期之后更新的部署 | -| `updated_before` | datetime | no | 返回在指定日期之前更新的部署 | -| `environment` | string | no | 用于过滤部署的环境名称 | -| `status` | string | no | 用来过滤部署的状态 | - -status 属性可以是以下值之一: - -* created -* running -* success -* failed -* canceled - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/deployments" -``` - -回应范例 - -``` -[ { "created_at": "2016-08-11T07:36:40.222Z", "updated_at": "2016-08-11T07:38:12.414Z", "status": "created", "deployable": { "commit": { "author_email": "admin@example.com", "author_name": "Administrator", "created_at": "2016-08-11T09:36:01.000+02:00", "id": "99d03678b90d914dbb1b109132516d71a4a03ea8", "message": "Merge branch 'new-title' into 'master'\r\n\r\nUpdate README\r\n\r\n\r\n\r\nSee merge request !1", "short_id": "99d03678", "title": "Merge branch 'new-title' into 'master'\r" }, "coverage": null, "created_at": "2016-08-11T07:36:27.357Z", "finished_at": "2016-08-11T07:36:39.851Z", "id": 657, "name": "deploy", "ref": "master", "runner": null, "stage": "deploy", "started_at": null, "status": "success", "tag": false, "user": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://gitlab.dev/root", "created_at": "2015-12-21T13:14:24.077Z", "bio": null, "location": null, "public_email": "", "skype": "", "linkedin": "", "twitter": "", "website_url": "", "organization": "" }, "pipeline": { "created_at": "2016-08-11T02:12:10.222Z", "id": 36, "ref": "master", "sha": "99d03678b90d914dbb1b109132516d71a4a03ea8", "status": "success", "updated_at": "2016-08-11T02:12:10.222Z", "web_url": "http://gitlab.dev/root/project/pipelines/12" } }, "environment": { "external_url": "https://about.gitlab.com", "id": 9, "name": "production" }, "id": 41, "iid": 1, "ref": "master", "sha": "99d03678b90d914dbb1b109132516d71a4a03ea8", "user": { "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "id": 1, "name": "Administrator", "state": "active", "username": "root", "web_url": "http://localhost:3000/root" } }, { "created_at": "2016-08-11T11:32:35.444Z", "updated_at": "2016-08-11T11:34:01.123Z", "status": "created", "deployable": { "commit": { "author_email": "admin@example.com", "author_name": "Administrator", "created_at": "2016-08-11T13:28:26.000+02:00", "id": "a91957a858320c0e17f3a0eca7cfacbff50ea29a", "message": "Merge branch 'rename-readme' into 'master'\r\n\r\nRename README\r\n\r\n\r\n\r\nSee merge request !2", "short_id": "a91957a8", "title": "Merge branch 'rename-readme' into 'master'\r" }, "coverage": null, "created_at": "2016-08-11T11:32:24.456Z", "finished_at": "2016-08-11T11:32:35.145Z", "id": 664, "name": "deploy", "ref": "master", "runner": null, "stage": "deploy", "started_at": null, "status": "success", "tag": false, "user": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://gitlab.dev/root", "created_at": "2015-12-21T13:14:24.077Z", "bio": null, "location": null, "public_email": "", "skype": "", "linkedin": "", "twitter": "", "website_url": "", "organization": "" }, "pipeline": { "created_at": "2016-08-11T07:43:52.143Z", "id": 37, "ref": "master", "sha": "a91957a858320c0e17f3a0eca7cfacbff50ea29a", "status": "success", "updated_at": "2016-08-11T07:43:52.143Z", "web_url": "http://gitlab.dev/root/project/pipelines/13" } }, "environment": { "external_url": "https://about.gitlab.com", "id": 9, "name": "production" }, "id": 42, "iid": 2, "ref": "master", "sha": "a91957a858320c0e17f3a0eca7cfacbff50ea29a", "user": { "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "id": 1, "name": "Administrator", "state": "active", "username": "root", "web_url": "http://localhost:3000/root" } } ] -``` - -## Get a specific deployment[](#get-a-specific-deployment "Permalink") - -``` -GET /projects/:id/deployments/:deployment_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `deployment_id` | integer | yes | 部署的 ID | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/deployments/1" -``` - -回应范例 - -``` -{ "id": 42, "iid": 2, "ref": "master", "sha": "a91957a858320c0e17f3a0eca7cfacbff50ea29a", "created_at": "2016-08-11T11:32:35.444Z", "updated_at": "2016-08-11T11:34:01.123Z", "user": { "name": "Administrator", "username": "root", "id": 1, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://localhost:3000/root" }, "environment": { "id": 9, "name": "production", "external_url": "https://about.gitlab.com" }, "deployable": { "id": 664, "status": "success", "stage": "deploy", "name": "deploy", "ref": "master", "tag": false, "coverage": null, "created_at": "2016-08-11T11:32:24.456Z", "started_at": null, "finished_at": "2016-08-11T11:32:35.145Z", "user": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://gitlab.dev/root", "created_at": "2015-12-21T13:14:24.077Z", "bio": null, "location": null, "skype": "", "linkedin": "", "twitter": "", "website_url": "", "organization": "" }, "commit": { "id": "a91957a858320c0e17f3a0eca7cfacbff50ea29a", "short_id": "a91957a8", "title": "Merge branch 'rename-readme' into 'master'\r", "author_name": "Administrator", "author_email": "admin@example.com", "created_at": "2016-08-11T13:28:26.000+02:00", "message": "Merge branch 'rename-readme' into 'master'\r\n\r\nRename README\r\n\r\n\r\n\r\nSee merge request !2" }, "pipeline": { "created_at": "2016-08-11T07:43:52.143Z", "id": 42, "ref": "master", "sha": "a91957a858320c0e17f3a0eca7cfacbff50ea29a", "status": "success", "updated_at": "2016-08-11T07:43:52.143Z", "web_url": "http://gitlab.dev/root/project/pipelines/5" } "runner": null } } -``` - -## Create a deployment[](#create-a-deployment "Permalink") - -``` -POST /projects/:id/deployments -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `environment` | string | yes | 要为其创建部署的环境的名称 | -| `sha` | string | yes | 部署的提交的 SHA | -| `ref` | string | yes | 部署的分支或标记的名称 | -| `tag` | boolean | yes | A boolean that indicates if the deployed ref is a tag (true) or not (false) | -| `status` | string | yes | 部署状态 | - -状态可以是以下值之一: - -* created -* running -* success -* failed -* canceled - -``` -curl --data "environment=production&sha=a91957a858320c0e17f3a0eca7cfacbff50ea29a&ref=master&tag=false&status=success" --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/deployments" -``` - -响应示例: - -``` -{ "id": 42, "iid": 2, "ref": "master", "sha": "a91957a858320c0e17f3a0eca7cfacbff50ea29a", "created_at": "2016-08-11T11:32:35.444Z", "status": "success", "user": { "name": "Administrator", "username": "root", "id": 1, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://localhost:3000/root" }, "environment": { "id": 9, "name": "production", "external_url": "https://about.gitlab.com" }, "deployable": null } -``` - -## Updating a deployment[](#updating-a-deployment "Permalink") - -``` -PUT /projects/:id/deployments/:deployment_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `deployment_id` | integer | yes | 要更新的部署的 ID | -| `status` | string | yes | 部署的新状态 | - -``` -curl --request PUT --data "status=success" --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/deployments/42" -``` - -响应示例: - -``` -{ "id": 42, "iid": 2, "ref": "master", "sha": "a91957a858320c0e17f3a0eca7cfacbff50ea29a", "created_at": "2016-08-11T11:32:35.444Z", "status": "success", "user": { "name": "Administrator", "username": "root", "id": 1, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://localhost:3000/root" }, "environment": { "id": 9, "name": "production", "external_url": "https://about.gitlab.com" }, "deployable": null } -``` - -## List of merge requests associated with a deployment[](#list-of-merge-requests-associated-with-a-deployment "Permalink") - -在 GitLab 12.7 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/35739) . - -此 API 检索给定部署附带的合并请求列表: - -``` -GET /projects/:id/deployments/:deployment_id/merge_requests -``` - -它支持与[Merge Requests API](./merge_requests.html#list-merge-requests)相同的参数,并将以相同的格式返回响应: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/deployments/42" -``` \ No newline at end of file diff --git a/docs/308.md b/docs/308.md deleted file mode 100644 index bd54101..0000000 --- a/docs/308.md +++ /dev/null @@ -1,790 +0,0 @@ -# Discussions API - -> 原文:[https://docs.gitlab.com/ee/api/discussions.html](https://docs.gitlab.com/ee/api/discussions.html) - -* [Discussions pagination](#discussions-pagination) -* [Issues](#issues) - * [List project issue discussion items](#list-project-issue-discussion-items) - * [Get single issue discussion item](#get-single-issue-discussion-item) - * [Create new issue thread](#create-new-issue-thread) - * [Add note to existing issue thread](#add-note-to-existing-issue-thread) - * [Modify existing issue thread note](#modify-existing-issue-thread-note) - * [Delete an issue thread note](#delete-an-issue-thread-note) -* [Snippets](#snippets) - * [List project snippet discussion items](#list-project-snippet-discussion-items) - * [Get single snippet discussion item](#get-single-snippet-discussion-item) - * [Create new snippet thread](#create-new-snippet-thread) - * [Add note to existing snippet thread](#add-note-to-existing-snippet-thread) - * [Modify existing snippet thread note](#modify-existing-snippet-thread-note) - * [Delete a snippet thread note](#delete-a-snippet-thread-note) -* [Epics](#epics-ultimate) - * [List group epic discussion items](#list-group-epic-discussion-items) - * [Get single epic discussion item](#get-single-epic-discussion-item) - * [Create new epic thread](#create-new-epic-thread) - * [Add note to existing epic thread](#add-note-to-existing-epic-thread) - * [Modify existing epic thread note](#modify-existing-epic-thread-note) - * [Delete an epic thread note](#delete-an-epic-thread-note) -* [Merge requests](#merge-requests) - * [List project merge request discussion items](#list-project-merge-request-discussion-items) - * [Get single merge request discussion item](#get-single-merge-request-discussion-item) - * [Create new merge request thread](#create-new-merge-request-thread) - * [Resolve a merge request thread](#resolve-a-merge-request-thread) - * [Add note to existing merge request thread](#add-note-to-existing-merge-request-thread) - * [Modify an existing merge request thread note](#modify-an-existing-merge-request-thread-note) - * [Delete a merge request thread note](#delete-a-merge-request-thread-note) -* [Commits](#commits) - * [List project commit discussion items](#list-project-commit-discussion-items) - * [Get single commit discussion item](#get-single-commit-discussion-item) - * [Create new commit thread](#create-new-commit-thread) - * [Add note to existing commit thread](#add-note-to-existing-commit-thread) - * [Modify an existing commit thread note](#modify-an-existing-commit-thread-note) - * [Delete a commit thread note](#delete-a-commit-thread-note) - -# Discussions API[](#discussions-api "Permalink") - -讨论是关于以下方面的一组相关注释: - -* Snippets -* Issues -* Epics -* 合并要求 -* Commits - -这包括系统注释,这些注释是有关对象更改的注释(例如,当里程碑更改时,将有相应的系统注释). 标签注释不是此 API 的一部分,而是在[资源标签事件中](resource_label_events.html)记录为单独的[事件](resource_label_events.html) . - -## Discussions pagination[](#discussions-pagination "Permalink") - -默认情况下,因为 API 结果是分页的,所以`GET`请求一次返回 20 个结果. - -阅读有关[分页的](README.html#pagination)更多信息. - -## Issues[](#issues "Permalink") - -### List project issue discussion items[](#list-project-issue-discussion-items "Permalink") - -获取单个问题的所有讨论项目的列表. - -``` -GET /projects/:id/issues/:issue_iid/discussions -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `issue_iid` | integer | yes | 问题的 IID | - -``` -[ { "id": "6a9c1750b37d513a43987b574953fceb50b03ce7", "individual_note": false, "notes": [ { "id": 1126, "type": "DiscussionNote", "body": "discussion text", "attachment": null, "author": { "id": 1, "name": "root", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/00afb8fb6ab07c3ee3e9c1f38777e2f4?s=80&d=identicon", "web_url": "http://localhost:3000/root" }, "created_at": "2018-03-03T21:54:39.668Z", "updated_at": "2018-03-03T21:54:39.668Z", "system": false, "noteable_id": 3, "noteable_type": "Issue", "noteable_iid": null }, { "id": 1129, "type": "DiscussionNote", "body": "reply to the discussion", "attachment": null, "author": { "id": 1, "name": "root", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/00afb8fb6ab07c3ee3e9c1f38777e2f4?s=80&d=identicon", "web_url": "http://localhost:3000/root" }, "created_at": "2018-03-04T13:38:02.127Z", "updated_at": "2018-03-04T13:38:02.127Z", "system": false, "noteable_id": 3, "noteable_type": "Issue", "noteable_iid": null, "resolvable": false } ] }, { "id": "87805b7c09016a7058e91bdbe7b29d1f284a39e6", "individual_note": true, "notes": [ { "id": 1128, "type": null, "body": "a single comment", "attachment": null, "author": { "id": 1, "name": "root", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/00afb8fb6ab07c3ee3e9c1f38777e2f4?s=80&d=identicon", "web_url": "http://localhost:3000/root" }, "created_at": "2018-03-04T09:17:22.520Z", "updated_at": "2018-03-04T09:17:22.520Z", "system": false, "noteable_id": 3, "noteable_type": "Issue", "noteable_iid": null, "resolvable": false } ] } ] -``` - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/issues/11/discussions" -``` - -### Get single issue discussion item[](#get-single-issue-discussion-item "Permalink") - -返回特定项目问题的单个讨论项 - -``` -GET /projects/:id/issues/:issue_iid/discussions/:discussion_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `issue_iid` | integer | yes | 问题的 IID | -| `discussion_id` | integer | yes | 讨论项目的 ID | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/issues/11/discussions/6a9c1750b37d513a43987b574953fceb50b03ce7" -``` - -### Create new issue thread[](#create-new-issue-thread "Permalink") - -为单个项目问题创建一个新线程. 这类似于创建便笺,但其他注释(回复)可以在以后添加. - -``` -POST /projects/:id/issues/:issue_iid/discussions -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `issue_iid` | integer | yes | 问题的 IID | -| `body` | string | yes | 线程的内容 | -| `created_at` | string | no | 日期时间字符串,ISO 8601 格式,例如 2016-03-11T03:45:40Z(需要管理员或项目/组所有者权限) | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/issues/11/discussions?body=comment" -``` - -### Add note to existing issue thread[](#add-note-to-existing-issue-thread "Permalink") - -向该线程添加新注释. 这也可以[从单个注释创建线程](../user/discussions/#start-a-thread-by-replying-to-a-standard-comment) . - -**警告**注释可以添加到注释(系统注释等)之外的其他项目中,从而使其成为主题. - -``` -POST /projects/:id/issues/:issue_iid/discussions/:discussion_id/notes -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `issue_iid` | integer | yes | 问题的 IID | -| `discussion_id` | integer | yes | 线程的 ID | -| `note_id` | integer | yes | 线程注释的 ID | -| `body` | string | yes | 备注/回复的内容 | -| `created_at` | string | no | 日期时间字符串,ISO 8601 格式,例如 2016-03-11T03:45:40Z(需要管理员或项目/组所有者权限) | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/issues/11/discussions/6a9c1750b37d513a43987b574953fceb50b03ce7/notes?body=comment" -``` - -### Modify existing issue thread note[](#modify-existing-issue-thread-note "Permalink") - -修改问题的现有线程注释. - -``` -PUT /projects/:id/issues/:issue_iid/discussions/:discussion_id/notes/:note_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `issue_iid` | integer | yes | 问题的 IID | -| `discussion_id` | integer | yes | 线程的 ID | -| `note_id` | integer | yes | 线程注释的 ID | -| `body` | string | yes | 备注/回复的内容 | - -``` -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/issues/11/discussions/6a9c1750b37d513a43987b574953fceb50b03ce7/notes/1108?body=comment" -``` - -### Delete an issue thread note[](#delete-an-issue-thread-note "Permalink") - -删除问题的现有主题注释. - -``` -DELETE /projects/:id/issues/:issue_iid/discussions/:discussion_id/notes/:note_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `issue_iid` | integer | yes | 问题的 IID | -| `discussion_id` | integer | yes | 讨论的 ID | -| `note_id` | integer | yes | 讨论记录的 ID | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/issues/11/discussions/636" -``` - -## Snippets[](#snippets "Permalink") - -### List project snippet discussion items[](#list-project-snippet-discussion-items "Permalink") - -获取单个代码段的所有讨论项的列表. - -``` -GET /projects/:id/snippets/:snippet_id/discussions -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `snippet_id` | integer | yes | 片段的 ID | - -``` -[ { "id": "6a9c1750b37d513a43987b574953fceb50b03ce7", "individual_note": false, "notes": [ { "id": 1126, "type": "DiscussionNote", "body": "discussion text", "attachment": null, "author": { "id": 1, "name": "root", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/00afb8fb6ab07c3ee3e9c1f38777e2f4?s=80&d=identicon", "web_url": "http://localhost:3000/root" }, "created_at": "2018-03-03T21:54:39.668Z", "updated_at": "2018-03-03T21:54:39.668Z", "system": false, "noteable_id": 3, "noteable_type": "Snippet", "noteable_id": null }, { "id": 1129, "type": "DiscussionNote", "body": "reply to the discussion", "attachment": null, "author": { "id": 1, "name": "root", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/00afb8fb6ab07c3ee3e9c1f38777e2f4?s=80&d=identicon", "web_url": "http://localhost:3000/root" }, "created_at": "2018-03-04T13:38:02.127Z", "updated_at": "2018-03-04T13:38:02.127Z", "system": false, "noteable_id": 3, "noteable_type": "Snippet", "noteable_id": null, "resolvable": false } ] }, { "id": "87805b7c09016a7058e91bdbe7b29d1f284a39e6", "individual_note": true, "notes": [ { "id": 1128, "type": null, "body": "a single comment", "attachment": null, "author": { "id": 1, "name": "root", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/00afb8fb6ab07c3ee3e9c1f38777e2f4?s=80&d=identicon", "web_url": "http://localhost:3000/root" }, "created_at": "2018-03-04T09:17:22.520Z", "updated_at": "2018-03-04T09:17:22.520Z", "system": false, "noteable_id": 3, "noteable_type": "Snippet", "noteable_id": null, "resolvable": false } ] } ] -``` - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/snippets/11/discussions" -``` - -### Get single snippet discussion item[](#get-single-snippet-discussion-item "Permalink") - -返回特定项目片段的单个讨论项 - -``` -GET /projects/:id/snippets/:snippet_id/discussions/:discussion_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `snippet_id` | integer | yes | 片段的 ID | -| `discussion_id` | integer | yes | 讨论项目的 ID | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/snippets/11/discussions/6a9c1750b37d513a43987b574953fceb50b03ce7" -``` - -### Create new snippet thread[](#create-new-snippet-thread "Permalink") - -Creates a new thread to a single project snippet. This is similar to creating a note but other comments (replies) can be added to it later. - -``` -POST /projects/:id/snippets/:snippet_id/discussions -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `snippet_id` | integer | yes | 片段的 ID | -| `body` | string | yes | 讨论内容 | -| `created_at` | string | no | 日期时间字符串,ISO 8601 格式,例如 2016-03-11T03:45:40Z(需要管理员或项目/组所有者权限) | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/snippets/11/discussions?body=comment" -``` - -### Add note to existing snippet thread[](#add-note-to-existing-snippet-thread "Permalink") - -向该线程添加新注释. - -``` -POST /projects/:id/snippets/:snippet_id/discussions/:discussion_id/notes -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `snippet_id` | integer | yes | 片段的 ID | -| `discussion_id` | integer | yes | 线程的 ID | -| `note_id` | integer | yes | 线程注释的 ID | -| `body` | string | yes | 备注/回复的内容 | -| `created_at` | string | no | 日期时间字符串,ISO 8601 格式,例如 2016-03-11T03:45:40Z(需要管理员或项目/组所有者权限) | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/snippets/11/discussions/6a9c1750b37d513a43987b574953fceb50b03ce7/notes?body=comment" -``` - -### Modify existing snippet thread note[](#modify-existing-snippet-thread-note "Permalink") - -修改代码段的现有线程注释. - -``` -PUT /projects/:id/snippets/:snippet_id/discussions/:discussion_id/notes/:note_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `snippet_id` | integer | yes | 片段的 ID | -| `discussion_id` | integer | yes | 线程的 ID | -| `note_id` | integer | yes | 线程注释的 ID | -| `body` | string | yes | 备注/回复的内容 | - -``` -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/snippets/11/discussions/6a9c1750b37d513a43987b574953fceb50b03ce7/notes/1108?body=comment" -``` - -### Delete a snippet thread note[](#delete-a-snippet-thread-note "Permalink") - -删除代码段的现有线程注释. - -``` -DELETE /projects/:id/snippets/:snippet_id/discussions/:discussion_id/notes/:note_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `snippet_id` | integer | yes | 片段的 ID | -| `discussion_id` | integer | yes | 讨论的 ID | -| `note_id` | integer | yes | 讨论记录的 ID | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/snippets/11/discussions/636" -``` - -## Epics[](#epics-ultimate "Permalink") - -### List group epic discussion items[](#list-group-epic-discussion-items "Permalink") - -获取单个史诗的所有讨论项的列表. - -``` -GET /groups/:id/epics/:epic_id/discussions -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `epic_id` | integer | yes | 史诗的 ID | - -``` -[ { "id": "6a9c1750b37d513a43987b574953fceb50b03ce7", "individual_note": false, "notes": [ { "id": 1126, "type": "DiscussionNote", "body": "discussion text", "attachment": null, "author": { "id": 1, "name": "root", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/00afb8fb6ab07c3ee3e9c1f38777e2f4?s=80&d=identicon", "web_url": "http://localhost:3000/root" }, "created_at": "2018-03-03T21:54:39.668Z", "updated_at": "2018-03-03T21:54:39.668Z", "system": false, "noteable_id": 3, "noteable_type": "Epic", "noteable_id": null, "resolvable": false }, { "id": 1129, "type": "DiscussionNote", "body": "reply to the discussion", "attachment": null, "author": { "id": 1, "name": "root", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/00afb8fb6ab07c3ee3e9c1f38777e2f4?s=80&d=identicon", "web_url": "http://localhost:3000/root" }, "created_at": "2018-03-04T13:38:02.127Z", "updated_at": "2018-03-04T13:38:02.127Z", "system": false, "noteable_id": 3, "noteable_type": "Epic", "noteable_id": null, "resolvable": false } ] }, { "id": "87805b7c09016a7058e91bdbe7b29d1f284a39e6", "individual_note": true, "notes": [ { "id": 1128, "type": null, "body": "a single comment", "attachment": null, "author": { "id": 1, "name": "root", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/00afb8fb6ab07c3ee3e9c1f38777e2f4?s=80&d=identicon", "web_url": "http://localhost:3000/root" }, "created_at": "2018-03-04T09:17:22.520Z", "updated_at": "2018-03-04T09:17:22.520Z", "system": false, "noteable_id": 3, "noteable_type": "Epic", "noteable_id": null, "resolvable": false } ] } ] -``` - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/5/epics/11/discussions" -``` - -### Get single epic discussion item[](#get-single-epic-discussion-item "Permalink") - -返回特定小组史诗的单个讨论项 - -``` -GET /groups/:id/epics/:epic_id/discussions/:discussion_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `epic_id` | integer | yes | 史诗的 ID | -| `discussion_id` | integer | yes | 讨论项目的 ID | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/5/epics/11/discussions/6a9c1750b37d513a43987b574953fceb50b03ce7" -``` - -### Create new epic thread[](#create-new-epic-thread "Permalink") - -Creates a new thread to a single group epic. This is similar to creating a note but other comments (replies) can be added to it later. - -``` -POST /groups/:id/epics/:epic_id/discussions -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `epic_id` | integer | yes | 史诗的 ID | -| `body` | string | yes | 线程的内容 | -| `created_at` | string | no | 日期时间字符串,ISO 8601 格式,例如 2016-03-11T03:45:40Z(需要管理员或项目/组所有者权限) | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/5/epics/11/discussions?body=comment" -``` - -### Add note to existing epic thread[](#add-note-to-existing-epic-thread "Permalink") - -向该线程添加新注释. 这也可以[从单个注释创建线程](../user/discussions/#start-a-thread-by-replying-to-a-standard-comment) . - -``` -POST /groups/:id/epics/:epic_id/discussions/:discussion_id/notes -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `epic_id` | integer | yes | 史诗的 ID | -| `discussion_id` | integer | yes | 线程的 ID | -| `note_id` | integer | yes | 线程注释的 ID | -| `body` | string | yes | 备注/回复的内容 | -| `created_at` | string | no | 日期时间字符串,ISO 8601 格式,例如 2016-03-11T03:45:40Z(需要管理员或项目/组所有者权限) | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/5/epics/11/discussions/6a9c1750b37d513a43987b574953fceb50b03ce7/notes?body=comment" -``` - -### Modify existing epic thread note[](#modify-existing-epic-thread-note "Permalink") - -修改史诗的现有线程注释. - -``` -PUT /groups/:id/epics/:epic_id/discussions/:discussion_id/notes/:note_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `epic_id` | integer | yes | 史诗的 ID | -| `discussion_id` | integer | yes | 线程的 ID | -| `note_id` | integer | yes | 线程注释的 ID | -| `body` | string | yes | 备注/回复的内容 | - -``` -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/5/epics/11/discussions/6a9c1750b37d513a43987b574953fceb50b03ce7/notes/1108?body=comment" -``` - -### Delete an epic thread note[](#delete-an-epic-thread-note "Permalink") - -删除史诗的现有主题注释. - -``` -DELETE /groups/:id/epics/:epic_id/discussions/:discussion_id/notes/:note_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `epic_id` | integer | yes | 史诗的 ID | -| `discussion_id` | integer | yes | 线程的 ID | -| `note_id` | integer | yes | 线程注释的 ID | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/5/epics/11/discussions/636" -``` - -## Merge requests[](#merge-requests "Permalink") - -### List project merge request discussion items[](#list-project-merge-request-discussion-items "Permalink") - -获取单个合并请求的所有讨论项的列表. - -``` -GET /projects/:id/merge_requests/:merge_request_iid/discussions -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `merge_request_iid` | integer | yes | 合并请求的 IID | - -``` -[ { "id": "6a9c1750b37d513a43987b574953fceb50b03ce7", "individual_note": false, "notes": [ { "id": 1126, "type": "DiscussionNote", "body": "discussion text", "attachment": null, "author": { "id": 1, "name": "root", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/00afb8fb6ab07c3ee3e9c1f38777e2f4?s=80&d=identicon", "web_url": "http://localhost:3000/root" }, "created_at": "2018-03-03T21:54:39.668Z", "updated_at": "2018-03-03T21:54:39.668Z", "system": false, "noteable_id": 3, "noteable_type": "Merge request", "noteable_iid": null, "resolved": false, "resolvable": true, "resolved_by": null }, { "id": 1129, "type": "DiscussionNote", "body": "reply to the discussion", "attachment": null, "author": { "id": 1, "name": "root", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/00afb8fb6ab07c3ee3e9c1f38777e2f4?s=80&d=identicon", "web_url": "http://localhost:3000/root" }, "created_at": "2018-03-04T13:38:02.127Z", "updated_at": "2018-03-04T13:38:02.127Z", "system": false, "noteable_id": 3, "noteable_type": "Merge request", "noteable_iid": null, "resolved": false, "resolvable": true, "resolved_by": null } ] }, { "id": "87805b7c09016a7058e91bdbe7b29d1f284a39e6", "individual_note": true, "notes": [ { "id": 1128, "type": null, "body": "a single comment", "attachment": null, "author": { "id": 1, "name": "root", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/00afb8fb6ab07c3ee3e9c1f38777e2f4?s=80&d=identicon", "web_url": "http://localhost:3000/root" }, "created_at": "2018-03-04T09:17:22.520Z", "updated_at": "2018-03-04T09:17:22.520Z", "system": false, "noteable_id": 3, "noteable_type": "Merge request", "noteable_iid": null, "resolved": false, "resolvable": true, "resolved_by": null } ] } ] -``` - -差异评论还包含以下位置: - -``` -[ { "id": "87805b7c09016a7058e91bdbe7b29d1f284a39e6", "individual_note": false, "notes": [ { "id": 1128, "type": DiffNote, "body": "diff comment", "attachment": null, "author": { "id": 1, "name": "root", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/00afb8fb6ab07c3ee3e9c1f38777e2f4?s=80&d=identicon", "web_url": "http://localhost:3000/root" }, "created_at": "2018-03-04T09:17:22.520Z", "updated_at": "2018-03-04T09:17:22.520Z", "system": false, "noteable_id": 3, "noteable_type": "Merge request", "noteable_iid": null, "position": { "base_sha": "b5d6e7b1613fca24d250fa8e5bc7bcc3dd6002ef", "start_sha": "7c9c2ead8a320fb7ba0b4e234bd9529a2614e306", "head_sha": "4803c71e6b1833ca72b8b26ef2ecd5adc8a38031", "old_path": "package.json", "new_path": "package.json", "position_type": "text", "old_line": 27, "new_line": 27, "line_range": { "start": { "line_code": "588440f66559714280628a4f9799f0c4eb880a4a_10_10", "type": "new", }, "end": { "line_code": "588440f66559714280628a4f9799f0c4eb880a4a_11_11", "type": "old" }, } }, "resolved": false, "resolvable": true, "resolved_by": null } ] } ] -``` - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/merge_requests/11/discussions" -``` - -### Get single merge request discussion item[](#get-single-merge-request-discussion-item "Permalink") - -返回特定项目合并请求的单个讨论项 - -``` -GET /projects/:id/merge_requests/:merge_request_iid/discussions/:discussion_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `merge_request_iid` | integer | yes | 合并请求的 IID | -| `discussion_id` | integer | yes | 讨论项目的 ID | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/merge_requests/11/discussions/6a9c1750b37d513a43987b574953fceb50b03ce7 -``` - -### Create new merge request thread[](#create-new-merge-request-thread "Permalink") - -为单个项目合并请求创建一个新线程. 这类似于创建便笺,但其他注释(回复)可以在以后添加. - -``` -POST /projects/:id/merge_requests/:merge_request_iid/discussions -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `merge_request_iid` | integer | yes | 合并请求的 IID | -| `body` | string | yes | 线程的内容 | -| `created_at` | string | no | 日期时间字符串,ISO 8601 格式,例如 2016-03-11T03:45:40Z(需要管理员或项目/组所有者权限) | -| `position` | hash | no | 创建差异注释时的位置 | -| `position[base_sha]` | string | yes | 源分支中的基本提交 SHA | -| `position[start_sha]` | string | yes | SHA 引用目标分支中的提交 | -| `position[head_sha]` | string | yes | SHA 引用此合并请求的 HEAD | -| `position[position_type]` | string | yes | 位置参考的类型",允许的值:"文本"或"图像" | -| `position[new_path]` | string | no | 更改后的文件路径 | -| `position[new_line]` | integer | no | 更改后的行号(用于"文本"差异注释) | -| `position[old_path]` | string | no | 更改前的文件路径 | -| `position[old_line]` | integer | no | 更改前的行号(用于"文本"差异注释) | -| `position[line_range]` | hash | no | 多行差异注释的行范围 | -| `position[line_range][start]` | hash | no | 多行音符起始行 | -| `position[line_range][start][line_code]` | string | yes | 起始行的行代码 | -| `position[line_range][start][type]` | string | yes | 起始线的线型 | -| `position[line_range][end]` | hash | no | 多行注释结束行 | -| `position[line_range][end][line_code]` | string | yes | 结束行的行代码 | -| `position[line_range][end][type]` | string | yes | 终点线的线型 | -| `position[width]` | integer | no | 图片宽度(用于"图片"差异注释) | -| `position[height]` | integer | no | 图片的高度(用于"图片"差异注释) | -| `position[x]` | integer | no | X 坐标(用于"图像"差异注释) | -| `position[y]` | integer | no | Y 坐标(用于"图像"差异注释) | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/merge_requests/11/discussions?body=comment" -``` - -### Resolve a merge request thread[](#resolve-a-merge-request-thread "Permalink") - -解决/取消解决合并请求的整个线程. - -``` -PUT /projects/:id/merge_requests/:merge_request_iid/discussions/:discussion_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `merge_request_iid` | integer | yes | 合并请求的 IID | -| `discussion_id` | integer | yes | 线程的 ID | -| `resolved` | boolean | yes | 解决/取消讨论 | - -``` -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/merge_requests/11/discussions/6a9c1750b37d513a43987b574953fceb50b03ce7?resolved=true" -``` - -### Add note to existing merge request thread[](#add-note-to-existing-merge-request-thread "Permalink") - -向该线程添加新注释. 这也可以[从单个注释创建线程](../user/discussions/#start-a-thread-by-replying-to-a-standard-comment) . - -``` -POST /projects/:id/merge_requests/:merge_request_iid/discussions/:discussion_id/notes -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `merge_request_iid` | integer | yes | 合并请求的 IID | -| `discussion_id` | integer | yes | 线程的 ID | -| `note_id` | integer | yes | 线程注释的 ID | -| `body` | string | yes | 备注/回复的内容 | -| `created_at` | string | no | 日期时间字符串,ISO 8601 格式,例如 2016-03-11T03:45:40Z(需要管理员或项目/组所有者权限) | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/merge_requests/11/discussions/6a9c1750b37d513a43987b574953fceb50b03ce7/notes?body=comment" -``` - -### Modify an existing merge request thread note[](#modify-an-existing-merge-request-thread-note "Permalink") - -修改或解决合并请求的现有线程注释. - -``` -PUT /projects/:id/merge_requests/:merge_request_iid/discussions/:discussion_id/notes/:note_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `merge_request_iid` | integer | yes | 合并请求的 IID | -| `discussion_id` | integer | yes | 线程的 ID | -| `note_id` | integer | yes | 线程注释的 ID | -| `body` | string | no | 备注/回复的内容(必须是`body`或已`resolved`的内容之一) | -| `resolved` | boolean | no | 解析/取消解析音符(必须设置为刚好为`body`或已`resolved` | - -``` -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/merge_requests/11/discussions/6a9c1750b37d513a43987b574953fceb50b03ce7/notes/1108?body=comment" -``` - -解决注释: - -``` -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/merge_requests/11/discussions/6a9c1750b37d513a43987b574953fceb50b03ce7/notes/1108?resolved=true" -``` - -### Delete a merge request thread note[](#delete-a-merge-request-thread-note "Permalink") - -删除合并请求的现有线程注释. - -``` -DELETE /projects/:id/merge_requests/:merge_request_iid/discussions/:discussion_id/notes/:note_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `merge_request_iid` | integer | yes | 合并请求的 IID | -| `discussion_id` | integer | yes | 线程的 ID | -| `note_id` | integer | yes | 线程注释的 ID | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/merge_requests/11/discussions/636" -``` - -## Commits[](#commits "Permalink") - -### List project commit discussion items[](#list-project-commit-discussion-items "Permalink") - -获取单个提交的所有讨论项的列表. - -``` -GET /projects/:id/commits/:commit_id/discussions -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `commit_id` | integer | yes | 提交的 ID | - -``` -[ { "id": "6a9c1750b37d513a43987b574953fceb50b03ce7", "individual_note": false, "notes": [ { "id": 1126, "type": "DiscussionNote", "body": "discussion text", "attachment": null, "author": { "id": 1, "name": "root", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/00afb8fb6ab07c3ee3e9c1f38777e2f4?s=80&d=identicon", "web_url": "http://localhost:3000/root" }, "created_at": "2018-03-03T21:54:39.668Z", "updated_at": "2018-03-03T21:54:39.668Z", "system": false, "noteable_id": 3, "noteable_type": "Commit", "noteable_iid": null, "resolvable": false }, { "id": 1129, "type": "DiscussionNote", "body": "reply to the discussion", "attachment": null, "author": { "id": 1, "name": "root", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/00afb8fb6ab07c3ee3e9c1f38777e2f4?s=80&d=identicon", "web_url": "http://localhost:3000/root" }, "created_at": "2018-03-04T13:38:02.127Z", "updated_at": "2018-03-04T13:38:02.127Z", "system": false, "noteable_id": 3, "noteable_type": "Commit", "noteable_iid": null, "resolvable": false } ] }, { "id": "87805b7c09016a7058e91bdbe7b29d1f284a39e6", "individual_note": true, "notes": [ { "id": 1128, "type": null, "body": "a single comment", "attachment": null, "author": { "id": 1, "name": "root", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/00afb8fb6ab07c3ee3e9c1f38777e2f4?s=80&d=identicon", "web_url": "http://localhost:3000/root" }, "created_at": "2018-03-04T09:17:22.520Z", "updated_at": "2018-03-04T09:17:22.520Z", "system": false, "noteable_id": 3, "noteable_type": "Commit", "noteable_iid": null, "resolvable": false } ] } ] -``` - -差异评论还包含以下位置: - -``` -[ { "id": "87805b7c09016a7058e91bdbe7b29d1f284a39e6", "individual_note": false, "notes": [ { "id": 1128, "type": DiffNote, "body": "diff comment", "attachment": null, "author": { "id": 1, "name": "root", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/00afb8fb6ab07c3ee3e9c1f38777e2f4?s=80&d=identicon", "web_url": "http://localhost:3000/root" }, "created_at": "2018-03-04T09:17:22.520Z", "updated_at": "2018-03-04T09:17:22.520Z", "system": false, "noteable_id": 3, "noteable_type": "Commit", "noteable_iid": null, "position": { "base_sha": "b5d6e7b1613fca24d250fa8e5bc7bcc3dd6002ef", "start_sha": "7c9c2ead8a320fb7ba0b4e234bd9529a2614e306", "head_sha": "4803c71e6b1833ca72b8b26ef2ecd5adc8a38031", "old_path": "package.json", "new_path": "package.json", "position_type": "text", "old_line": 27, "new_line": 27 }, "resolvable": false } ] } ] -``` - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/commits/11/discussions" -``` - -### Get single commit discussion item[](#get-single-commit-discussion-item "Permalink") - -返回特定项目提交的单个讨论项 - -``` -GET /projects/:id/commits/:commit_id/discussions/:discussion_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `commit_id` | integer | yes | 提交的 ID | -| `discussion_id` | integer | yes | 讨论项目的 ID | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/commits/11/discussions/6a9c1750b37d513a43987b574953fceb50b03ce7" -``` - -### Create new commit thread[](#create-new-commit-thread "Permalink") - -为单个项目提交创建一个新线程. 这类似于创建便笺,但其他注释(回复)可以在以后添加. - -``` -POST /projects/:id/commits/:commit_id/discussions -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `commit_id` | integer | yes | 提交的 ID | -| `body` | string | yes | 线程的内容 | -| `created_at` | string | no | 日期时间字符串,ISO 8601 格式,例如 2016-03-11T03:45:40Z(需要管理员或项目/组所有者权限) | -| `position` | hash | no | 创建差异注释时的位置 | -| `position[base_sha]` | string | yes | 源分支中的基本提交 SHA | -| `position[start_sha]` | string | yes | SHA 引用目标分支中的提交 | -| `position[head_sha]` | string | yes | SHA 引用此提交的 HEAD | -| `position[position_type]` | string | yes | 位置参考的类型",允许的值:"文本"或"图像" | -| `position[new_path]` | string | no | 更改后的文件路径 | -| `position[new_line]` | integer | no | 变更后的行号 | -| `position[old_path]` | string | no | 更改前的文件路径 | -| `position[old_line]` | integer | no | 更改前的行号 | -| `position[width]` | integer | no | 图片宽度(用于"图片"差异注释) | -| `position[height]` | integer | no | 图片的高度(用于"图片"差异注释) | -| `position[x]` | integer | no | X 坐标(用于"图像"差异注释) | -| `position[y]` | integer | no | Y 坐标(用于"图像"差异注释) | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/commits/11/discussions?body=comment" -``` - -### Add note to existing commit thread[](#add-note-to-existing-commit-thread "Permalink") - -向该线程添加新注释. - -``` -POST /projects/:id/commits/:commit_id/discussions/:discussion_id/notes -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `commit_id` | integer | yes | 提交的 ID | -| `discussion_id` | integer | yes | 线程的 ID | -| `note_id` | integer | yes | 线程注释的 ID | -| `body` | string | yes | 备注/回复的内容 | -| `created_at` | string | no | 日期时间字符串,ISO 8601 格式,例如 2016-03-11T03:45:40Z(需要管理员或项目/组所有者权限) | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/commits/11/discussions/6a9c1750b37d513a43987b574953fceb50b03ce7/notes?body=comment -``` - -### Modify an existing commit thread note[](#modify-an-existing-commit-thread-note "Permalink") - -修改或解决提交的现有线程注释. - -``` -PUT /projects/:id/commits/:commit_id/discussions/:discussion_id/notes/:note_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `commit_id` | integer | yes | 提交的 ID | -| `discussion_id` | integer | yes | 线程的 ID | -| `note_id` | integer | yes | 线程注释的 ID | -| `body` | string | no | 笔记内容 | - -``` -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/commits/11/discussions/6a9c1750b37d513a43987b574953fceb50b03ce7/notes/1108?body=comment" -``` - -解决注释: - -``` -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/commits/11/discussions/6a9c1750b37d513a43987b574953fceb50b03ce7/notes/1108?resolved=true" -``` - -### Delete a commit thread note[](#delete-a-commit-thread-note "Permalink") - -删除提交的现有线程注释. - -``` -DELETE /projects/:id/commits/:commit_id/discussions/:discussion_id/notes/:note_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `commit_id` | integer | yes | 提交的 ID | -| `discussion_id` | integer | yes | 线程的 ID | -| `note_id` | integer | yes | 线程注释的 ID | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/commits/11/discussions/636" -``` \ No newline at end of file diff --git a/docs/309.md b/docs/309.md deleted file mode 100644 index 78b448e..0000000 --- a/docs/309.md +++ /dev/null @@ -1,50 +0,0 @@ -# Dockerfiles API - -> 原文:[https://docs.gitlab.com/ee/api/templates/dockerfiles.html](https://docs.gitlab.com/ee/api/templates/dockerfiles.html) - -* [List Dockerfile templates](#list-dockerfile-templates) -* [Single Dockerfile template](#single-dockerfile-template) - -# Dockerfiles API[](#dockerfiles-api "Permalink") - -在 GitLab 中,有一个可用于 Dockerfile 的 API 端点. 有关 Dockerfile 的更多信息,请参阅[Docker 文档](https://s0docs0docker0com.icopy.site/engine/reference/builder/) . - -## List Dockerfile templates[](#list-dockerfile-templates "Permalink") - -获取所有 Dockerfile 模板. - -``` -GET /templates/dockerfiles -``` - -``` -curl https://gitlab.example.com/api/v4/templates/dockerfiles -``` - -响应示例: - -``` -[ { "key": "Binary", "name": "Binary" }, { "key": "Binary-alpine", "name": "Binary-alpine" }, { "key": "Binary-scratch", "name": "Binary-scratch" }, { "key": "Golang", "name": "Golang" }, { "key": "Golang-alpine", "name": "Golang-alpine" }, { "key": "Golang-scratch", "name": "Golang-scratch" }, { "key": "HTTPd", "name": "HTTPd" }, { "key": "Node", "name": "Node" }, { "key": "Node-alpine", "name": "Node-alpine" }, { "key": "OpenJDK", "name": "OpenJDK" }, { "key": "OpenJDK-alpine", "name": "OpenJDK-alpine" }, { "key": "PHP", "name": "PHP" }, { "key": "Python", "name": "Python" }, { "key": "Python-alpine", "name": "Python-alpine" }, { "key": "Python2", "name": "Python2" }, { "key": "Ruby", "name": "Ruby" }, { "key": "Ruby-alpine", "name": "Ruby-alpine" }, { "key": "Swift", "name": "Swift" } ] -``` - -## Single Dockerfile template[](#single-dockerfile-template "Permalink") - -获取单个 Dockerfile 模板. - -``` -GET /templates/dockerfiles/:key -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `key` | string | yes | Dockerfile 模板的关键 | - -``` -curl https://gitlab.example.com/api/v4/templates/dockerfiles/Binary -``` - -响应示例: - -``` -{ "name": "Binary", "content": "# This file is a template, and might need editing before it works on your project.\n# This Dockerfile installs a compiled binary into a bare system.\n# You must either commit your compiled binary into source control (not recommended)\n# or build the binary first as part of a CI/CD pipeline.\n\nFROM buildpack-deps:jessie\n\nWORKDIR /usr/local/bin\n\n# Change `app` to whatever your binary is called\nAdd app .\nCMD [\"./app\"]\n" } -``` \ No newline at end of file diff --git a/docs/310.md b/docs/310.md deleted file mode 100644 index 5ef44bb..0000000 --- a/docs/310.md +++ /dev/null @@ -1,151 +0,0 @@ -# Environments API - -> 原文:[https://docs.gitlab.com/ee/api/environments.html](https://docs.gitlab.com/ee/api/environments.html) - -* [List environments](#list-environments) -* [Get a specific environment](#get-a-specific-environment) -* [Create a new environment](#create-a-new-environment) -* [Edit an existing environment](#edit-an-existing-environment) -* [Delete an environment](#delete-an-environment) -* [Stop an environment](#stop-an-environment) - -# Environments API[](#environments-api "Permalink") - -## List environments[](#list-environments "Permalink") - -获取给定项目的所有环境. - -``` -GET /projects/:id/environments -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `name` | string | no | 使用此名称返回环境. 与`search`互斥 | -| `search` | string | no | 返回符合搜索条件的环境列表. 与`name`互斥 | -| `states` | string | no | 列出与特定状态匹配的所有环境. 接受的值: `available`或已`stopped` . 如果没有给出状态值,则返回所有环境. | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/environments?name=review%2Ffix-foo" -``` - -响应示例: - -``` -[ { "id": 1, "name": "review/fix-foo", "slug": "review-fix-foo-dfjre3", "external_url": "https://review-fix-foo-dfjre3.example.gitlab.com", "state": "available" } ] -``` - -## Get a specific environment[](#get-a-specific-environment "Permalink") - -``` -GET /projects/:id/environments/:environment_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `environment_id` | integer | yes | 环境的 ID | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/environments/1" -``` - -回应范例 - -``` -{ "id": 1, "name": "review/fix-foo", "slug": "review-fix-foo-dfjre3", "external_url": "https://review-fix-foo-dfjre3.example.gitlab.com" "state": "available", "last_deployment": { "id": 100, "iid": 34, "ref": "fdroid", "sha": "416d8ea11849050d3d1f5104cf8cf51053e790ab", "created_at": "2019-03-25T18:55:13.252Z", "status": "success", "user": { "id": 1, "name": "Administrator", "state": "active", "username": "root", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://localhost:3000/root" } "deployable": { "id": 710, "status": "success", "stage": "deploy", "name": "staging", "ref": "fdroid", "tag": false, "coverage": null, "created_at": "2019-03-25T18:55:13.215Z", "started_at": "2019-03-25T12:54:50.082Z", "finished_at": "2019-03-25T18:55:13.216Z", "duration": 21623.13423, "user": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://gitlab.dev/root", "created_at": "2015-12-21T13:14:24.077Z", "bio": null, "location": null, "public_email": "", "skype": "", "linkedin": "", "twitter": "", "website_url": "", "organization": null } "commit": { "id": "416d8ea11849050d3d1f5104cf8cf51053e790ab", "short_id": "416d8ea1", "created_at": "2016-01-02T15:39:18.000Z", "parent_ids": [ "e9a4449c95c64358840902508fc827f1a2eab7df" ], "title": "Removed fabric to fix #40", "message": "Removed fabric to fix #40\n", "author_name": "Administrator", "author_email": "admin@example.com", "authored_date": "2016-01-02T15:39:18.000Z", "committer_name": "Administrator", "committer_email": "admin@example.com", "committed_date": "2016-01-02T15:39:18.000Z" }, "pipeline": { "id": 34, "sha": "416d8ea11849050d3d1f5104cf8cf51053e790ab", "ref": "fdroid", "status": "success", "web_url": "http://localhost:3000/Commit451/lab-coat/pipelines/34" }, "web_url": "http://localhost:3000/Commit451/lab-coat/-/jobs/710", "artifacts": [ { "file_type": "trace", "size": 1305, "filename": "job.log", "file_format": null } ], "runner": null, "artifacts_expire_at": null } } } -``` - -## Create a new environment[](#create-a-new-environment "Permalink") - -使用给定名称和`external_url`创建一个新环境. - -如果成功创建了环境,则返回`201`否则返回`400` . - -``` -POST /projects/:id/environments -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `name` | string | yes | 环境名称 | -| `external_url` | string | no | Place to link to for this environment | - -``` -curl --data "name=deploy&external_url=https://deploy.example.gitlab.com" --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/environments" -``` - -响应示例: - -``` -{ "id": 1, "name": "deploy", "slug": "deploy", "external_url": "https://deploy.example.gitlab.com", "state": "available" } -``` - -## Edit an existing environment[](#edit-an-existing-environment "Permalink") - -更新现有环境的名称和/或`external_url` . - -如果成功更新了环境,它将返回`200` . 如果出现错误,则返回状态码`400` . - -``` -PUT /projects/:id/environments/:environments_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `environment_id` | integer | yes | 环境的 ID | -| `name` | string | no | 环境的新名称 | -| `external_url` | string | no | 新的`external_url` | - -``` -curl --request PUT --data "name=staging&external_url=https://staging.example.gitlab.com" --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/environments/1" -``` - -响应示例: - -``` -{ "id": 1, "name": "staging", "slug": "staging", "external_url": "https://staging.example.gitlab.com", "state": "available" } -``` - -## Delete an environment[](#delete-an-environment "Permalink") - -如果成功删除了环境,则返回`204`如果环境不存在,则返回`404` . - -``` -DELETE /projects/:id/environments/:environment_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `environment_id` | integer | yes | 环境的 ID | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/environments/1" -``` - -## Stop an environment[](#stop-an-environment "Permalink") - -如果成功停止了环境,则返回`200`如果环境不存在,则返回`404` . - -``` -POST /projects/:id/environments/:environment_id/stop -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `environment_id` | integer | yes | 环境的 ID | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/environments/1/stop" -``` - -响应示例: - -``` -{ "id": 1, "name": "deploy", "slug": "deploy", "external_url": "https://deploy.example.gitlab.com", "state": "stopped" } -``` \ No newline at end of file diff --git a/docs/311.md b/docs/311.md deleted file mode 100644 index 955fc44..0000000 --- a/docs/311.md +++ /dev/null @@ -1,217 +0,0 @@ -# Epics API - -> 原文:[https://docs.gitlab.com/ee/api/epics.html](https://docs.gitlab.com/ee/api/epics.html) - -* [Epic issues API](#epic-issues-api) -* [Milestone dates integration](#milestone-dates-integration) -* [Epics pagination](#epics-pagination) -* [List epics for a group](#list-epics-for-a-group) -* [Single epic](#single-epic) -* [New epic](#new-epic) -* [Update epic](#update-epic) -* [Delete epic](#delete-epic) -* [Create a todo](#create-a-todo) - -# Epics API[](#epics-api-premium "Permalink") - -版本历史 - -* 在[GitLab Ultimate](https://about.gitlab.com/pricing/) 10.2 中引入. -* 单级史诗在 12.8 [中移至](https://gitlab.com/gitlab-org/gitlab/-/issues/37081) [GitLab Premium](https://about.gitlab.com/pricing/) . - -对史诗的每个 API 调用都必须经过身份验证. - -如果用户不是组的成员,并且该组是私有的,则对该组的`GET`请求将导致`404`状态代码. - -如果没有史诗功能,将返回`403`状态代码. - -## Epic issues API[](#epic-issues-api "Permalink") - -[史诗问题 API](epic_issues.html)使您可以与[史诗相关的问题](epic_issues.html)进行交互. - -## Milestone dates integration[](#milestone-dates-integration "Permalink") - -在 GitLab 11.3 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6448) . - -由于可以从相关的发行里程碑动态地获取开始日期和截止日期,因此当用户具有编辑权限时,将显示其他字段. 其中包括两个布尔字段`start_date_is_fixed`和`due_date_is_fixed` ,以及四个日期字段`start_date_fixed` , `start_date_from_inherited_source` , `due_date_fixed`和`due_date_from_inherited_source` . - -* 不建议使用`end_date` ,而应使用`due_date` . -* 不赞成使用`start_date_from_milestones` ,而建议使用`start_date_from_inherited_source` -* 不建议使用`due_date_from_milestones` ,而应使用`due_date_from_inherited_source` - -## Epics pagination[](#epics-pagination "Permalink") - -默认情况下,因为 API 结果是分页的,所以`GET`请求一次返回 20 个结果. - -阅读有关[分页的](README.html#pagination)更多信息. - -**弃用:不建议使用**响应中的`reference`属性,而推荐使用`references` . >推出了[GitLab 12.6](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/20354)**注意:** > `references.relative`相对于正在请求史诗的组. 从史诗组的原始组中提取史诗时, `relative`格式将与`short`格式相同,而在请求的交叉组中, `relative`格式应与`full`格式相同. - -## List epics for a group[](#list-epics-for-a-group "Permalink") - -获取请求的组及其子组的所有史诗. - -``` -GET /groups/:id/epics -GET /groups/:id/epics?author_id=5 -GET /groups/:id/epics?labels=bug,reproduced -GET /groups/:id/epics?state=opened -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | The ID or [URL-encoded path of the group](README.html#namespaced-path-encoding) owned by the authenticated user | -| `author_id` | integer | no | 返回由给定用户`id`创建的史诗 | -| `labels` | string | no | 返回与以逗号分隔的标签名称列表匹配的史诗. 可以使用史诗组或父组的标签名称 | -| `with_labels_details` | boolean | no | 如果为`true` ,则响应将为标签字段中的每个标签返回更多详细信息`:name` , `:color` , `:description` , `:description_html` , `:text_color` . 默认值为`false` . 在[GitLab 12.7 中](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/21413)引入 | -| `order_by` | string | no | 返回按`created_at`或`updated_at`字段排序的史诗. 默认为`created_at` | -| `sort` | string | no | 返回按`asc`或`desc`排列的史诗. 默认为`desc` | -| `search` | string | no | 根据`title`和`description`搜索史诗 | -| `state` | string | no | 根据`state`搜索史诗,可能的过滤条件: `opened` , `closed`和`all` ,默认值: `all` | -| `created_after` | datetime | no | 返回在给定时间或之后创建的史诗 | -| `created_before` | datetime | no | 返回在给定时间或之前创建的史诗 | -| `updated_after` | datetime | no | 返回在给定时间或之后更新的史诗 | -| `updated_before` | datetime | no | 返回在给定时间或之前更新的史诗 | -| `include_ancestor_groups` | boolean | no | 包括请求组祖先的史诗. 默认为`false` | -| `include_descendant_groups` | boolean | no | 包括请求组后代的史诗. 默认为`true` | -| `my_reaction_emoji` | string | no | 返回给定表情符号由已认证用户做出反应的史诗. `None`返回没有反应的史诗. 给定至少一个反应, `Any`回报史诗. 在[GitLab 13.0 中](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/31479)引入 | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/1/epics" -``` - -响应示例: - -``` -[ { "id": 29, "iid": 4, "group_id": 7, "parent_id": 23, "title": "Accusamus iste et ullam ratione voluptatem omnis debitis dolor est.", "description": "Molestias dolorem eos vitae expedita impedit necessitatibus quo voluptatum.", "state": "opened", "confidential": "false", "web_url": "http://localhost:3001/groups/test/-/epics/4", "reference": "&4", "references": { "short": "&4", "relative": "&4", "full": "test&4" }, "author": { "id": 10, "name": "Lu Mayer", "username": "kam", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/018729e129a6f31c80a6327a30196823?s=80&d=identicon", "web_url": "http://localhost:3001/kam" }, "start_date": null, "start_date_is_fixed": false, "start_date_fixed": null, "start_date_from_milestones": null, //deprecated in favor of start_date_from_inherited_source "start_date_from_inherited_source": null, "end_date": "2018-07-31", //deprecated in favor of due_date "due_date": "2018-07-31", "due_date_is_fixed": false, "due_date_fixed": null, "due_date_from_milestones": "2018-07-31", //deprecated in favor of start_date_from_inherited_source "due_date_from_inherited_source": "2018-07-31", "created_at": "2018-07-17T13:36:22.770Z", "updated_at": "2018-07-18T12:22:05.239Z", "closed_at": "2018-08-18T12:22:05.239Z", "labels": [], "upvotes": 4, "downvotes": 0 }, { "id": 50, "iid": 35, "group_id": 17, "parent_id": 19, "title": "Accusamus iste et ullam ratione voluptatem omnis debitis dolor est.", "description": "Molestias dolorem eos vitae expedita impedit necessitatibus quo voluptatum.", "state": "opened", "web_url": "http://localhost:3001/groups/test/sample/-/epics/4", "reference": "&4", "references": { "short": "&4", "relative": "sample&4", "full": "test/sample&4" }, "author": { "id": 10, "name": "Lu Mayer", "username": "kam", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/018729e129a6f31c80a6327a30196823?s=80&d=identicon", "web_url": "http://localhost:3001/kam" }, "start_date": null, "start_date_is_fixed": false, "start_date_fixed": null, "start_date_from_milestones": null, //deprecated in favor of start_date_from_inherited_source "start_date_from_inherited_source": null, "end_date": "2018-07-31", //deprecated in favor of due_date "due_date": "2018-07-31", "due_date_is_fixed": false, "due_date_fixed": null, "due_date_from_milestones": "2018-07-31", //deprecated in favor of start_date_from_inherited_source "due_date_from_inherited_source": "2018-07-31", "created_at": "2018-07-17T13:36:22.770Z", "updated_at": "2018-07-18T12:22:05.239Z", "closed_at": "2018-08-18T12:22:05.239Z", "labels": [], "upvotes": 4, "downvotes": 0 } ] -``` - -## Single epic[](#single-epic "Permalink") - -取得史诗 - -``` -GET /groups/:id/epics/:epic_iid -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `epic_iid` | integer/string | yes | 史诗的内部 ID. | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/1/epics/5" -``` - -响应示例: - -``` -{ "id": 30, "iid": 5, "group_id": 7, "title": "Ea cupiditate dolores ut vero consequatur quasi veniam voluptatem et non.", "description": "Molestias dolorem eos vitae expedita impedit necessitatibus quo voluptatum.", "state": "opened", "web_url": "http://localhost:3001/groups/test/-/epics/5", "reference": "&5", "references": { "short": "&5", "relative": "&5", "full": "test&5" }, "author":{ "id": 7, "name": "Pamella Huel", "username": "arnita", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/a2f5c6fcef64c9c69cb8779cb292be1b?s=80&d=identicon", "web_url": "http://localhost:3001/arnita" }, "start_date": null, "start_date_is_fixed": false, "start_date_fixed": null, "start_date_from_milestones": null, //deprecated in favor of start_date_from_inherited_source "start_date_from_inherited_source": null, "end_date": "2018-07-31", //deprecated in favor of due_date "due_date": "2018-07-31", "due_date_is_fixed": false, "due_date_fixed": null, "due_date_from_milestones": "2018-07-31", //deprecated in favor of start_date_from_inherited_source "due_date_from_inherited_source": "2018-07-31", "created_at": "2018-07-17T13:36:22.770Z", "updated_at": "2018-07-18T12:22:05.239Z", "closed_at": "2018-08-18T12:22:05.239Z", "labels": [], "upvotes": 4, "downvotes": 0, "subscribed": true } -``` - -## New epic[](#new-epic "Permalink") - -创建一个新的史诗. - -**注意:**从 GitLab [11.3](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6448)开始,不应再直接分配`start_date`和`end_date` ,因为它们现在表示复合值. 您可以改为通过`*_is_fixed`和`*_fixed`字段进行配置. - -``` -POST /groups/:id/epics -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `title` | string | yes | 史诗的标题 | -| `labels` | string | no | 以逗号分隔的标签列表 | -| `description` | string | no | 史诗般的描述. 限制为 1,048,576 个字符. | -| `confidential` | boolean | no | 史诗是否应该保密. 如果禁用`confidential_epics`功能标志,将被忽略. | -| `start_date_is_fixed` | boolean | no | 开始日期是从`start_date_fixed`还是从里程碑(自 11.3 开始) | -| `start_date_fixed` | string | no | 史诗的固定开始日期(自 11.3 开始) | -| `due_date_is_fixed` | boolean | no | 是否应从`due_date_fixed`或里程碑(从 11.3 开始)中`due_date_fixed`到期日期 | -| `due_date_fixed` | string | no | 史诗的固定到期日(自 11.3 开始) | -| `parent_id` | integer/string | no | 父级史诗的 ID(自 11.11 起) | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/1/epics?title=Epic&description=Epic%20description" -``` - -响应示例: - -``` -{ "id": 33, "iid": 6, "group_id": 7, "title": "Epic", "description": "Epic description", "state": "opened", "confidential": "false", "web_url": "http://localhost:3001/groups/test/-/epics/6", "reference": "&6", "references": { "short": "&6", "relative": "&6", "full": "test&6" }, "author": { "name" : "Alexandra Bashirian", "avatar_url" : null, "state" : "active", "web_url" : "https://gitlab.example.com/eileen.lowe", "id" : 18, "username" : "eileen.lowe" }, "start_date": null, "start_date_is_fixed": false, "start_date_fixed": null, "start_date_from_milestones": null, //deprecated in favor of start_date_from_inherited_source "start_date_from_inherited_source": null, "end_date": "2018-07-31", //deprecated in favor of due_date "due_date": "2018-07-31", "due_date_is_fixed": false, "due_date_fixed": null, "due_date_from_milestones": "2018-07-31", //deprecated in favor of start_date_from_inherited_source "due_date_from_inherited_source": "2018-07-31", "created_at": "2018-07-17T13:36:22.770Z", "updated_at": "2018-07-18T12:22:05.239Z", "closed_at": "2018-08-18T12:22:05.239Z", "labels": [], "upvotes": 4, "downvotes": 0 } -``` - -## Update epic[](#update-epic "Permalink") - -更新史诗. - -**注意:**从 GitLab [11.3](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6448)开始,不应再直接分配`start_date`和`end_date` ,因为它们现在表示复合值. 您可以改为通过`*_is_fixed`和`*_fixed`字段进行配置. - -``` -PUT /groups/:id/epics/:epic_iid -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `epic_iid` | integer/string | yes | 史诗的内部 ID | -| `title` | string | no | 史诗的标题 | -| `description` | string | no | 史诗的描述. 限制为 1,048,576 个字符. | -| `confidential` | boolean | no | 史诗是否应该保密. 如果禁用`confidential_epics`功能标志,将被忽略. | -| `labels` | string | no | 以逗号分隔的标签列表 | -| `start_date_is_fixed` | boolean | no | 开始日期是从`start_date_fixed`还是从里程碑(自 11.3 开始) | -| `start_date_fixed` | string | no | 史诗的固定开始日期(自 11.3 开始) | -| `due_date_is_fixed` | boolean | no | 是否应从`due_date_fixed`或里程碑(从 11.3 开始)中`due_date_fixed`到期日期 | -| `due_date_fixed` | string | no | 史诗的固定到期日(自 11.3 开始) | -| `state_event` | string | no | 史诗般的状态事件. 设置为`close`以关闭史诗,然后`reopen`以重新打开(自 11.4 开始) | - -``` -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/1/epics/5?title=New%20Title" -``` - -响应示例: - -``` -{ "id": 33, "iid": 6, "group_id": 7, "title": "New Title", "description": "Epic description", "state": "opened", "confidential": "false", "web_url": "http://localhost:3001/groups/test/-/epics/6", "reference": "&6", "references": { "short": "&6", "relative": "&6", "full": "test&6" }, "author": { "name" : "Alexandra Bashirian", "avatar_url" : null, "state" : "active", "web_url" : "https://gitlab.example.com/eileen.lowe", "id" : 18, "username" : "eileen.lowe" }, "start_date": null, "start_date_is_fixed": false, "start_date_fixed": null, "start_date_from_milestones": null, //deprecated in favor of start_date_from_inherited_source "start_date_from_inherited_source": null, "end_date": "2018-07-31", //deprecated in favor of due_date "due_date": "2018-07-31", "due_date_is_fixed": false, "due_date_fixed": null, "due_date_from_milestones": "2018-07-31", //deprecated in favor of start_date_from_inherited_source "due_date_from_inherited_source": "2018-07-31", "created_at": "2018-07-17T13:36:22.770Z", "updated_at": "2018-07-18T12:22:05.239Z", "closed_at": "2018-08-18T12:22:05.239Z", "labels": [], "upvotes": 4, "downvotes": 0 } -``` - -## Delete epic[](#delete-epic "Permalink") - -删除史诗 - -``` -DELETE /groups/:id/epics/:epic_iid -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `epic_iid` | integer/string | yes | 史诗的内部 ID. | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/1/epics/5" -``` - -## Create a todo[](#create-a-todo "Permalink") - -在史诗上为当前用户手动创建待办事项. 如果该史诗上已经存在用户的待办事项,则返回状态码`304` . - -``` -POST /groups/:id/epics/:epic_iid/todo -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `epic_iid` | integer | yes | 群组史诗的内部 ID | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/1/epics/5/todo" -``` - -响应示例: - -``` -{ "id": 112, "group": { "id": 1, "name": "Gitlab", "path": "gitlab", "kind": "group", "full_path": "base/gitlab", "parent_id": null }, "author": { "name": "Administrator", "username": "root", "id": 1, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "https://gitlab.example.com/root" }, "action_name": "marked", "target_type": "epic", "target": { "id": 30, "iid": 5, "group_id": 1, "title": "Ea cupiditate dolores ut vero consequatur quasi veniam voluptatem et non.", "description": "Molestias dolorem eos vitae expedita impedit necessitatibus quo voluptatum.", "author":{ "id": 7, "name": "Pamella Huel", "username": "arnita", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/a2f5c6fcef64c9c69cb8779cb292be1b?s=80&d=identicon", "web_url": "http://localhost:3001/arnita" }, "web_url": "http://localhost:3001/groups/test/-/epics/5", "reference": "&5", "references": { "short": "&5", "relative": "&5", "full": "test&5" }, "start_date": null, "end_date": null, "created_at": "2018-01-21T06:21:13.165Z", "updated_at": "2018-01-22T12:41:41.166Z", "closed_at": "2018-08-18T12:22:05.239Z" }, "target_url": "https://gitlab.example.com/groups/epics/5", "body": "Vel voluptas atque dicta mollitia adipisci qui at.", "state": "pending", "created_at": "2016-07-01T11:09:13.992Z" } -``` \ No newline at end of file diff --git a/docs/312.md b/docs/312.md deleted file mode 100644 index ab92571..0000000 --- a/docs/312.md +++ /dev/null @@ -1,157 +0,0 @@ -# Events - -> 原文:[https://docs.gitlab.com/ee/api/events.html](https://docs.gitlab.com/ee/api/events.html) - -* [Filter parameters](#filter-parameters) - * [Action Types](#action-types) - * [Target Types](#target-types) - * [Date formatting](#date-formatting) - * [Event Time Period Limit](#event-time-period-limit) -* [List currently authenticated user’s events](#list-currently-authenticated-users-events) - * [Get user contribution events](#get-user-contribution-events) -* [List a Project’s visible events](#list-a-projects-visible-events) - -# Events[](#events "Permalink") - -## Filter parameters[](#filter-parameters "Permalink") - -### Action Types[](#action-types "Permalink") - -`action`参数的可用操作类型为: - -* `created` -* `updated` -* `closed` -* `reopened` -* `pushed` -* `commented` -* `merged` -* `joined` -* `left` -* `destroyed` -* `expired` - -请注意,这些选项是小写的. - -### Target Types[](#target-types "Permalink") - -`target_type`参数的可用目标类型为: - -* `issue` -* `milestone` -* `merge_request` -* `note` -* `project` -* `snippet` -* `user` - -请注意,这些选项是小写的. - -### Date formatting[](#date-formatting "Permalink") - -`before`和`after`参数的日期应以以下格式提供: - -``` -YYYY-MM-DD -``` - -### Event Time Period Limit[](#event-time-period-limit "Permalink") - -GitLab removes events older than 2 years from the events table for performance reasons. - -## List currently authenticated user’s events[](#list-currently-authenticated-users-events "Permalink") - -**注意:**该端点是在 GitLab 9.3 中引入的. 在 GitLab 11.3 中引入了`read_user`访问. - -获取经过身份验证的用户的事件列表. 范围`read_user`或`api`是必需的. - -``` -GET /events -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `action` | string | no | 仅包括特定[动作类型的](#action-types)事件 | -| `target_type` | string | no | 仅包括特定[目标类型的](#target-types)事件 | -| `before` | date | no | 仅包括在特定日期之前创建的事件. 请[在此处查看受支持的格式](#date-formatting) | -| `after` | date | no | 仅包括在特定日期之后创建的事件. 请[在此处查看受支持的格式](#date-formatting) | -| `scope` | string | no | 包括用户项目中的所有事件. | -| `sort` | string | no | 按`created_at`对事件进行`asc`或`desc`排序. 默认为`desc` | - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/events?target_type=issue&action=created&after=2017-01-31&before=2017-03-01&scope=all" -``` - -响应示例: - -``` -[ { "title":null, "project_id":1, "action_name":"opened", "target_id":160, "target_type":"Issue", "author_id":25, "target_title":"Qui natus eos odio tempore et quaerat consequuntur ducimus cupiditate quis.", "created_at":"2017-02-09T10:43:19.667Z", "author":{ "name":"User 3", "username":"user3", "id":25, "state":"active", "avatar_url":"http://www.gravatar.com/avatar/97d6d9441ff85fdc730e02a6068d267b?s=80\u0026d=identicon", "web_url":"https://gitlab.example.com/user3" }, "author_username":"user3" }, { "title":null, "project_id":1, "action_name":"opened", "target_id":159, "target_type":"Issue", "author_id":21, "target_title":"Nostrum enim non et sed optio illo deleniti non.", "created_at":"2017-02-09T10:43:19.426Z", "author":{ "name":"Test User", "username":"ted", "id":21, "state":"active", "avatar_url":"http://www.gravatar.com/avatar/80fb888c9a48b9a3f87477214acaa63f?s=80\u0026d=identicon", "web_url":"https://gitlab.example.com/ted" }, "author_username":"ted" } ] -``` - -### Get user contribution events[](#get-user-contribution-events "Permalink") - -**注意:**文档以前位于" [用户 API"页面中](users.html) . 在 GitLab 11.3 中引入了`read_user`访问. - -获取指定用户的贡献事件,从最新到最旧排序. 范围`read_user`或`api`是必需的. - -``` -GET /users/:id/events -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 用户的 ID 或用户名 | -| `action` | string | no | 仅包括特定[动作类型的](#action-types)事件 | -| `target_type` | string | no | 仅包括特定[目标类型的](#target-types)事件 | -| `before` | date | no | 仅包括在特定日期之前创建的事件. 请[在此处查看受支持的格式](#date-formatting) | -| `after` | date | no | 仅包括在特定日期之后创建的事件. 请[在此处查看受支持的格式](#date-formatting) | -| `sort` | string | no | 按`created_at`对事件进行`asc`或`desc`排序. 默认为`desc` | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/users/:id/events" -``` - -响应示例: - -``` -[ { "title": null, "project_id": 15, "action_name": "closed", "target_id": 830, "target_type": "Issue", "author_id": 1, "target_title": "Public project search field", "author": { "name": "Dmitriy Zaporozhets", "username": "root", "id": 1, "state": "active", "avatar_url": "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png", "web_url": "http://localhost:3000/root" }, "author_username": "root" }, { "title": null, "project_id": 15, "action_name": "pushed", "target_id": null, "target_type": null, "author_id": 1, "author": { "name": "Dmitriy Zaporozhets", "username": "root", "id": 1, "state": "active", "avatar_url": "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png", "web_url": "http://localhost:3000/root" }, "author_username": "john", "push_data": { "commit_count": 1, "action": "pushed", "ref_type": "branch", "commit_from": "50d4420237a9de7be1304607147aec22e4a14af7", "commit_to": "c5feabde2d8cd023215af4d2ceeb7a64839fc428", "ref": "master", "commit_title": "Add simple search to projects in public area" }, "target_title": null }, { "title": null, "project_id": 15, "action_name": "closed", "target_id": 840, "target_type": "Issue", "author_id": 1, "target_title": "Finish & merge Code search PR", "author": { "name": "Dmitriy Zaporozhets", "username": "root", "id": 1, "state": "active", "avatar_url": "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png", "web_url": "http://localhost:3000/root" }, "author_username": "root" }, { "title": null, "project_id": 15, "action_name": "commented on", "target_id": 1312, "target_type": "Note", "author_id": 1, "target_title": null, "created_at": "2015-12-04T10:33:58.089Z", "note": { "id": 1312, "body": "What an awesome day!", "attachment": null, "author": { "name": "Dmitriy Zaporozhets", "username": "root", "id": 1, "state": "active", "avatar_url": "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png", "web_url": "http://localhost:3000/root" }, "created_at": "2015-12-04T10:33:56.698Z", "system": false, "noteable_id": 377, "noteable_type": "Issue" }, "author": { "name": "Dmitriy Zaporozhets", "username": "root", "id": 1, "state": "active", "avatar_url": "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png", "web_url": "http://localhost:3000/root" }, "author_username": "root" } ] -``` - -## List a Project’s visible events[](#list-a-projects-visible-events "Permalink") - -> **注意:**此端点的时间比其他端点长. 文档以前位于[Projects API 页面中](projects.html) . - -获取特定项目的可见事件列表. - -``` -GET /projects/:project_id/events -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `project_id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `action` | string | no | 仅包括特定[动作类型的](#action-types)事件 | -| `target_type` | string | no | 仅包括特定[目标类型的](#target-types)事件 | -| `before` | date | no | 仅包括在特定日期之前创建的事件. 请[在此处查看受支持的格式](#date-formatting) | -| `after` | date | no | 仅包括在特定日期之后创建的事件. 请[在此处查看受支持的格式](#date-formatting) | -| `sort` | string | no | 按`created_at`对事件进行`asc`或`desc`排序. 默认为`desc` | - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/:project_id/events?target_type=issue&action=created&after=2017-01-31&before=2017-03-01" -``` - -响应示例: - -``` -[ { "title":null, "project_id":1, "action_name":"opened", "target_id":160, "target_iid":160, "target_type":"Issue", "author_id":25, "target_title":"Qui natus eos odio tempore et quaerat consequuntur ducimus cupiditate quis.", "created_at":"2017-02-09T10:43:19.667Z", "author":{ "name":"User 3", "username":"user3", "id":25, "state":"active", "avatar_url":"http://www.gravatar.com/avatar/97d6d9441ff85fdc730e02a6068d267b?s=80\u0026d=identicon", "web_url":"https://gitlab.example.com/user3" }, "author_username":"user3" }, { "title":null, "project_id":1, "action_name":"opened", "target_id":159, "target_iid":159, "target_type":"Issue", "author_id":21, "target_title":"Nostrum enim non et sed optio illo deleniti non.", "created_at":"2017-02-09T10:43:19.426Z", "author":{ "name":"Test User", "username":"ted", "id":21, "state":"active", "avatar_url":"http://www.gravatar.com/avatar/80fb888c9a48b9a3f87477214acaa63f?s=80\u0026d=identicon", "web_url":"https://gitlab.example.com/ted" }, "author_username":"ted" }, { "title": null, "project_id": 1, "action_name": "commented on", "target_id": 1312, "target_iid": 1312, "target_type": "Note", "author_id": 1, "data": null, "target_title": null, "created_at": "2015-12-04T10:33:58.089Z", "note": { "id": 1312, "body": "What an awesome day!", "attachment": null, "author": { "name": "Dmitriy Zaporozhets", "username": "root", "id": 1, "state": "active", "avatar_url": "https://gitlab.example.com/uploads/user/avatar/1/fox_avatar.png", "web_url": "https://gitlab.example.com/root" }, "created_at": "2015-12-04T10:33:56.698Z", "system": false, "noteable_id": 377, "noteable_type": "Issue", "noteable_iid": 377 }, "author": { "name": "Dmitriy Zaporozhets", "username": "root", "id": 1, "state": "active", "avatar_url": "https://gitlab.example.com/uploads/user/avatar/1/fox_avatar.png", "web_url": "https://gitlab.example.com/root" }, "author_username": "root" } ] -``` \ No newline at end of file diff --git a/docs/313.md b/docs/313.md deleted file mode 100644 index a62c22d..0000000 --- a/docs/313.md +++ /dev/null @@ -1,160 +0,0 @@ -# Feature Flags API - -> 原文:[https://docs.gitlab.com/ee/api/feature_flags.html](https://docs.gitlab.com/ee/api/feature_flags.html) - -* [Feature Flags pagination](#feature-flags-pagination) -* [List feature flags for a project](#list-feature-flags-for-a-project) -* [Get a single feature flag](#get-a-single-feature-flag) -* [Create a feature flag](#create-a-feature-flag) -* [Update a feature flag](#update-a-feature-flag) -* [Delete a feature flag](#delete-a-feature-flag) - -# Feature Flags API[](#feature-flags-api-premium "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/9566) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.5. - -**注意:**此 API 位于[功能标志的](../operations/feature_flags.html#enable-or-disable-feature-flag-strategies)后面. 如果您的环境中未启用此标志,则可以使用[旧功能标志 API](feature_flags_legacy.html) . - -用于访问[GitLab 功能标记](../operations/feature_flags.html)资源的 API. - -具有开发者或更高[权限的用户](../user/permissions.html)可以访问功能标记 API. - -## Feature Flags pagination[](#feature-flags-pagination "Permalink") - -默认情况下,因为 API 结果是[分页的](README.html#pagination) ,所以`GET`请求一次返回 20 个结果. - -## List feature flags for a project[](#list-feature-flags-for-a-project "Permalink") - -获取所请求项目的所有功能标志. - -``` -GET /projects/:id/feature_flags -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) . | -| `scope` | string | no | 功能标志的条件,其中之一: `enabled` , `disabled` . | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/feature_flags" -``` - -响应示例: - -``` -[ { "name":"merge_train", "description":"This feature is about merge train", "version": "new_version_flag", "created_at":"2019-11-04T08:13:51.423Z", "updated_at":"2019-11-04T08:13:51.423Z", "scopes":[], "strategies": [ { "id": 1, "name": "userWithId", "parameters": { "userIds": "user1" }, "scopes": [ { "id": 1, "environment_scope": "production" } ] } ] }, { "name":"new_live_trace", "description":"This is a new live trace feature", "version": "new_version_flag", "created_at":"2019-11-04T08:13:10.507Z", "updated_at":"2019-11-04T08:13:10.507Z", "scopes":[] "strategies": [ { "id": 2, "name": "default", "parameters": {}, "scopes": [ { "id": 2, "environment_scope": "staging" } ] } ] } ] -``` - -## Get a single feature flag[](#get-a-single-feature-flag "Permalink") - -获取单个功能标志. - -``` -GET /projects/:id/feature_flags/:name -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) . | -| `name` | string | yes | The name of the feature flag. | - -``` -curl --header "PRIVATE-TOKEN: " https://gitlab.example.com/api/v4/projects/1/feature_flags/awesome_feature -``` - -响应示例: - -``` -{ "name": "awesome_feature", "description": null, "version": "new_version_flag", "created_at": "2020-05-13T19:56:33.119Z", "updated_at": "2020-05-13T19:56:33.119Z", "scopes": [], "strategies": [ { "id": 36, "name": "default", "parameters": {}, "scopes": [ { "id": 37, "environment_scope": "production" } ] } ] } -``` - -## Create a feature flag[](#create-a-feature-flag "Permalink") - -创建一个新的功能标志. - -``` -POST /projects/:id/feature_flags -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) . | -| `name` | string | yes | 功能标志的名称. | -| `version` | string | yes | 功能标志的版本. 必须是`new_version_flag` . 省略或设置为`legacy_flag`即可创建[旧版功能标志](feature_flags_legacy.html) . | -| `description` | string | no | 功能标志的描述. | -| `strategies` | JSON | no | 特征标志[策略](../operations/feature_flags.html#feature-flag-strategies) . | -| `strategies:name` | JSON | no | 策略名称. | -| `strategies:parameters` | JSON | no | 策略参数. | -| `strategies:scopes` | JSON | no | 策略的范围. | -| `strategies:scopes:environment_scope` | string | no | 范围的环境规格. | - -``` -curl "https://gitlab.example.com/api/v4/projects/1/feature_flags" \ - --header "PRIVATE-TOKEN: " \ - --header "Content-type: application/json" \ - --data @- << EOF { - "name": "awesome_feature", - "version": "new_version_flag", - "strategies": [{ "name": "default", "parameters": {}, "scopes": [{ "environment_scope": "production" }] }] -} EOF -``` - -响应示例: - -``` -{ "name": "awesome_feature", "description": null, "version": "new_version_flag", "created_at": "2020-05-13T19:56:33.119Z", "updated_at": "2020-05-13T19:56:33.119Z", "scopes": [], "strategies": [ { "id": 36, "name": "default", "parameters": {}, "scopes": [ { "id": 37, "environment_scope": "production" } ] } ] } -``` - -## Update a feature flag[](#update-a-feature-flag "Permalink") - -更新功能标志. - -``` -PUT /projects/:id/feature_flags/:name -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) . | -| `name` | string | yes | 功能标志的名称. | -| `description` | string | no | 功能标志的描述. | -| `strategies` | JSON | no | 特征标志[策略](../operations/feature_flags.html#feature-flag-strategies) . | -| `strategies:id` | JSON | no | 功能标记策略 ID. | -| `strategies:name` | JSON | no | 策略名称. | -| `strategies:parameters` | JSON | no | 策略参数. | -| `strategies:scopes` | JSON | no | 策略的范围. | -| `strategies:scopes:id` | JSON | no | 范围 ID. | -| `strategies:scopes:environment_scope` | string | no | 范围的环境规格. | - -``` -curl "https://gitlab.example.com/api/v4/projects/1/feature_flags/awesome_feature" \ - --header "PRIVATE-TOKEN: " \ - --header "Content-type: application/json" \ - --data @- << EOF { - "strategies": [{ "name": "gradualRolloutUserId", "parameters": { "groupId": "default", "percentage": "25" }, "scopes": [{ "environment_scope": "staging" }] }] -} EOF -``` - -响应示例: - -``` -{ "name": "awesome_feature", "description": null, "version": "new_version_flag", "created_at": "2020-05-13T20:10:32.891Z", "updated_at": "2020-05-13T20:10:32.891Z", "scopes": [], "strategies": [ { "id": 38, "name": "gradualRolloutUserId", "parameters": { "groupId": "default", "percentage": "25" }, "scopes": [ { "id": 40, "environment_scope": "staging" } ] }, { "id": 37, "name": "default", "parameters": {}, "scopes": [ { "id": 39, "environment_scope": "production" } ] } ] } -``` - -## Delete a feature flag[](#delete-a-feature-flag "Permalink") - -删除功能标志. - -``` -DELETE /projects/:id/feature_flags/:name -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) . | -| `name` | string | yes | 功能标志的名称. | - -``` -curl --header "PRIVATE-TOKEN: " --request DELETE "https://gitlab.example.com/api/v4/projects/1/feature_flags/awesome_feature" -``` \ No newline at end of file diff --git a/docs/314.md b/docs/314.md deleted file mode 100644 index 5127fc0..0000000 --- a/docs/314.md +++ /dev/null @@ -1,142 +0,0 @@ -# Feature flag user lists API - -> 原文:[https://docs.gitlab.com/ee/api/feature_flag_user_lists.html](https://docs.gitlab.com/ee/api/feature_flag_user_lists.html) - -* [List all feature flag user lists for a project](#list-all-feature-flag-user-lists-for-a-project) -* [Create a feature flag user list](#create-a-feature-flag-user-list) -* [Get a feature flag user list](#get-a-feature-flag-user-list) -* [Update a feature flag user list](#update-a-feature-flag-user-list) -* [Delete feature flag user list](#delete-feature-flag-user-list) - -# Feature flag user lists API[](#feature-flag-user-lists-api-premium "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/205409) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.10. - -用于访问 GitLab 功能标志用户列表的 API. - -具有开发者或更高[权限的用户](../user/permissions.html)可以访问功能标志用户列表 API. - -**注意:** `GET`请求一次返回 20 个结果,因为 API 结果是[分页的](README.html#pagination) . 您可以更改此值. - -## List all feature flag user lists for a project[](#list-all-feature-flag-user-lists-for-a-project "Permalink") - -获取所请求项目的所有功能标志用户列表. - -``` -GET /projects/:id/feature_flags_user_lists -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) . | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/feature_flags_user_lists" -``` - -响应示例: - -``` -[ { "name": "user_list", "user_xids": "user1,user2", "id": 1, "iid": 1, "project_id": 1, "created_at": "2020-02-04T08:13:51.423Z", "updated_at": "2020-02-04T08:13:51.423Z" }, { "name": "test_users", "user_xids": "user3,user4,user5", "id": 2, "iid": 2, "project_id": 1, "created_at": "2020-02-04T08:13:10.507Z", "updated_at": "2020-02-04T08:13:10.507Z" } ] -``` - -## Create a feature flag user list[](#create-a-feature-flag-user-list "Permalink") - -创建功能标记用户列表. - -``` -POST /projects/:id/feature_flags_user_lists -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) . | -| `name` | string | yes | 功能标志的名称. | -| `user_xids` | string | yes | 以逗号分隔的用户 ID 列表. | - -``` -curl "https://gitlab.example.com/api/v4/projects/1/feature_flags_user_lists" \ - --header "PRIVATE-TOKEN: " \ - --header "Content-type: application/json" \ - --data @- << EOF { - "name": "my_user_list", - "user_xids": "user1,user2,user3" -} EOF -``` - -响应示例: - -``` -{ "name": "my_user_list", "user_xids": "user1,user2,user3", "id": 1, "iid": 1, "project_id": 1, "created_at": "2020-02-04T08:32:27.288Z", "updated_at": "2020-02-04T08:32:27.288Z" } -``` - -## Get a feature flag user list[](#get-a-feature-flag-user-list "Permalink") - -获取功能标志用户列表. - -``` -GET /projects/:id/feature_flags_user_lists/:iid -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) . | -| `iid` | integer/string | yes | 项目的功能标志用户列表的内部 ID. | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/feature_flags_user_lists/1" -``` - -响应示例: - -``` -{ "name": "my_user_list", "user_xids": "123,456", "id": 1, "iid": 1, "project_id": 1, "created_at": "2020-02-04T08:13:10.507Z", "updated_at": "2020-02-04T08:13:10.507Z", } -``` - -## Update a feature flag user list[](#update-a-feature-flag-user-list "Permalink") - -更新功能标志用户列表. - -``` -PUT /projects/:id/feature_flags_user_lists/:iid -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) . | -| `iid` | integer/string | yes | 项目的功能标志用户列表的内部 ID. | -| `name` | string | no | 功能标志的名称. | -| `user_xids` | string | no | 以逗号分隔的用户 ID 列表. | - -``` -curl "https://gitlab.example.com/api/v4/projects/1/feature_flags_user_lists/1" \ - --header "PRIVATE-TOKEN: " \ - --header "Content-type: application/json" \ - --request PUT \ - --data @- << EOF { - "user_xids": "user2,user3,user4" -} EOF -``` - -响应示例: - -``` -{ "name": "my_user_list", "user_xids": "user2,user3,user4", "id": 1, "iid": 1, "project_id": 1, "created_at": "2020-02-04T08:32:27.288Z", "updated_at": "2020-02-05T09:33:17.179Z" } -``` - -## Delete feature flag user list[](#delete-feature-flag-user-list "Permalink") - -删除功能标志用户列表. - -``` -DELETE /projects/:id/feature_flags_user_lists/:iid -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) . | -| `iid` | integer/string | yes | 项目的功能标志用户列表的内部 ID | - -``` -curl --header "PRIVATE-TOKEN: " --request DELETE "https://gitlab.example.com/api/v4/projects/1/feature_flags_user_lists/1" -``` \ No newline at end of file diff --git a/docs/315.md b/docs/315.md deleted file mode 100644 index 25cd7e9..0000000 --- a/docs/315.md +++ /dev/null @@ -1,147 +0,0 @@ -# Freeze Periods API - -> 原文:[https://docs.gitlab.com/ee/api/freeze_periods.html](https://docs.gitlab.com/ee/api/freeze_periods.html) - -* [Permissions and security](#permissions-and-security) -* [List Freeze Periods](#list-freeze-periods) -* [Get a Freeze Period by a `freeze_period_id`](#get-a-freeze-period-by-a-freeze_period_id) -* [Create a Freeze Period](#create-a-freeze-period) -* [Update a Freeze Period](#update-a-freeze-period) -* [Delete a Freeze Period](#delete-a-freeze-period) - -# Freeze Periods API[](#freeze-periods-api "Permalink") - -在 GitLab 13.0 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/29382) . - -您可以使用 Freeze Periods API 来操纵 GitLab 的[Freeze Period](../user/project/releases/index.html#prevent-unintentional-releases-by-setting-a-deploy-freeze)条目. - -## Permissions and security[](#permissions-and-security "Permalink") - -只有具有维护者[权限的](../user/permissions.html)用户才能与 Freeze Period API 端点进行交互. - -## List Freeze Periods[](#list-freeze-periods "Permalink") - -冻结期间的分页列表,按`created_at`升序排序. - -``` -GET /projects/:id/freeze_periods -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) . | - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: gVWYVHDRzXiRpN1rUC8T" "https://gitlab.example.com/api/v4/projects/19/freeze_periods" -``` - -响应示例: - -``` -[ { "id":1, "freeze_start":"0 23 * * 5", "freeze_end":"0 8 * * 1", "cron_timezone":"UTC", "created_at":"2020-05-15T17:03:35.702Z", "updated_at":"2020-05-15T17:06:41.566Z" } ] -``` - -## Get a Freeze Period by a `freeze_period_id`[](#get-a-freeze-period-by-a-freeze_period_id "Permalink") - -获取给定的`freeze_period_id`的冻结期. - -``` -GET /projects/:id/freeze_periods/:freeze_period_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | 整数或字符串 | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) . | -| `freeze_period_id` | string | yes | 冻结期的数据库 ID. | - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: gVWYVHDRzXiRpN1rUC8T" "https://gitlab.example.com/api/v4/projects/19/freeze_periods/1" -``` - -响应示例: - -``` -{ "id":1, "freeze_start":"0 23 * * 5", "freeze_end":"0 8 * * 1", "cron_timezone":"UTC", "created_at":"2020-05-15T17:03:35.702Z", "updated_at":"2020-05-15T17:06:41.566Z" } -``` - -## Create a Freeze Period[](#create-a-freeze-period "Permalink") - -创建冻结期. - -``` -POST /projects/:id/freeze_periods -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | 整数或字符串 | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) . | -| `freeze_start` | string | yes | [Cron](https://crontab.guru/)格式的冻结期开始. | -| `freeze_end` | string | yes | [Cron](https://crontab.guru/)格式的冻结期结束. | -| `cron_timezone` | string | no | cron 字段的时区,如果未提供,则默认为 UTC. | - -请求示例: - -``` -curl --header 'Content-Type: application/json' --header "PRIVATE-TOKEN: gVWYVHDRzXiRpN1rUC8T" \ - --data '{ "freeze_start": "0 23 * * 5", "freeze_end": "0 7 * * 1", "cron_timezone": "UTC" }' \ - --request POST https://gitlab.example.com/api/v4/projects/19/freeze_periods -``` - -响应示例: - -``` -{ "id":1, "freeze_start":"0 23 * * 5", "freeze_end":"0 7 * * 1", "cron_timezone":"UTC", "created_at":"2020-05-15T17:03:35.702Z", "updated_at":"2020-05-15T17:03:35.702Z" } -``` - -## Update a Freeze Period[](#update-a-freeze-period "Permalink") - -为给定的`freeze_period_id`更新冻结期. - -``` -PUT /projects/:id/freeze_periods/:tag_name -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | 整数或字符串 | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) . | -| `freeze_period_id` | 整数或字符串 | yes | 冻结期的数据库 ID. | -| `freeze_start` | string | no | [Cron](https://crontab.guru/)格式的冻结期开始. | -| `freeze_end` | string | no | [Cron](https://crontab.guru/)格式的冻结期结束. | -| `cron_timezone` | string | no | cron 字段的时区. | - -请求示例: - -``` -curl --header 'Content-Type: application/json' --header "PRIVATE-TOKEN: gVWYVHDRzXiRpN1rUC8T" \ - --data '{ "freeze_end": "0 8 * * 1" }' \ - --request PUT https://gitlab.example.com/api/v4/projects/19/freeze_periods/1 -``` - -响应示例: - -``` -{ "id":1, "freeze_start":"0 23 * * 5", "freeze_end":"0 8 * * 1", "cron_timezone":"UTC", "created_at":"2020-05-15T17:03:35.702Z", "updated_at":"2020-05-15T17:06:41.566Z" } -``` - -## Delete a Freeze Period[](#delete-a-freeze-period "Permalink") - -删除给定的`freeze_period_id`的冻结期. - -``` -DELETE /projects/:id/freeze_periods/:freeze_period_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | 整数或字符串 | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) . | -| `freeze_period_id` | string | yes | 冻结期的数据库 ID. | - -请求示例: - -``` -curl --request DELETE --header "PRIVATE-TOKEN: gVWYVHDRzXiRpN1rUC8T" "https://gitlab.example.com/api/v4/projects/19/freeze_periods/1" -``` \ No newline at end of file diff --git a/docs/316.md b/docs/316.md deleted file mode 100644 index 1930d6c..0000000 --- a/docs/316.md +++ /dev/null @@ -1,213 +0,0 @@ -# Geo Nodes API - -> 原文:[https://docs.gitlab.com/ee/api/geo_nodes.html](https://docs.gitlab.com/ee/api/geo_nodes.html) - -* [Create a new Geo node](#create-a-new-geo-node) -* [Retrieve configuration about all Geo nodes](#retrieve-configuration-about-all-geo-nodes) -* [Retrieve configuration about a specific Geo node](#retrieve-configuration-about-a-specific-geo-node) -* [Edit a Geo node](#edit-a-geo-node) -* [Delete a Geo node](#delete-a-geo-node) -* [Repair a Geo node](#repair-a-geo-node) -* [Retrieve status about all Geo nodes](#retrieve-status-about-all-geo-nodes) -* [Retrieve status about a specific Geo node](#retrieve-status-about-a-specific-geo-node) -* [Retrieve project sync or verification failures that occurred on the current node](#retrieve-project-sync-or-verification-failures-that-occurred-on-the-current-node) - -# Geo Nodes API[](#geo-nodes-api-premium-only "Permalink") - -为了与地理节点端点进行交互,您需要以管理员身份进行身份验证. - -## Create a new Geo node[](#create-a-new-geo-node "Permalink") - -创建一个新的地理节点. - -``` -POST /geo_nodes -``` - -``` -curl --header "PRIVATE-TOKEN: " "https://primary.example.com/api/v4/geo_nodes" \ - --request POST \ - -d "name=himynameissomething" \ - -d "url=https://another-node.example.com/" -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `primary` | boolean | no | 指定此节点是否为主节点. 默认为 false. | -| `enabled` | boolean | no | 指示是否启用地理节点的标志. 默认为 true. | -| `name` | string | yes | 地理节点的唯一标识符. 必须匹配`geo_node_name`如果在设定`gitlab.rb` ,否则必须匹配`external_url` | -| `url` | string | yes | Geo 节点的面向用户的 URL. | -| `internal_url` | string | no | 在主节点上定义的 URL,辅助节点应使用该 URL 与之联系. 如果未设置,则返回`url` . | -| `files_max_capacity` | integer | no | 控制此辅助节点的 LFS /附件回填的最大并发性. 默认为 10 | -| `repos_max_capacity` | integer | no | 控制此辅助节点的存储库回填的最大并发性. 默认为 25. | -| `verification_max_capacity` | integer | no | 控制此节点的存储库验证的最大并发性. 默认为 100. | -| `container_repositories_max_capacity` | integer | no | 控制此节点的容器存储库同步的最大并发性. 默认为 10 | -| `sync_object_storage` | boolean | no | 指示辅助 Geo 节点是否将复制对象存储中的 Blob 的标志. 默认为 false. | -| `selective_sync_type` | string | no | Limit syncing to only specific groups or shards. Valid values: `"namespaces"`, `"shards"`, or `null`. | -| `selective_sync_shards` | array | no | 如果`selective_sync_type` == `shards` ,则同步项目的存储库存储. | -| `selective_sync_namespace_ids` | array | no | 如果`selective_sync_type` == `namespaces` ,则应同步的组的 ID. | -| `minimum_reverification_interval` | integer | no | 存储库验证有效的时间间隔(以天为单位). 一旦过期,它将被重新验证. 在辅助节点上进行设置时,这无效. | - -响应示例: - -``` -{ "id": 3, "name": "Test Node 1", "url": "https://secondary.example.com/", "internal_url": "https://secondary.example.com/", "primary": false, "enabled": true, "current": false, "files_max_capacity": 10, "repos_max_capacity": 25, "verification_max_capacity": 100, "selective_sync_type": "namespaces", "selective_sync_shards": [], "selective_sync_namespace_ids": [1, 25], "minimum_reverification_interval": 7, "container_repositories_max_capacity": 10, "sync_object_storage": false, "clone_protocol": "http", "web_edit_url": "https://primary.example.com/admin/geo/nodes/3/edit", "web_geo_projects_url": "http://secondary.example.com/admin/geo/projects", "_links": { "self": "https://primary.example.com/api/v4/geo_nodes/3", "status": "https://primary.example.com/api/v4/geo_nodes/3/status", "repair": "https://primary.example.com/api/v4/geo_nodes/3/repair" } } -``` - -## Retrieve configuration about all Geo nodes[](#retrieve-configuration-about-all-geo-nodes "Permalink") - -``` -GET /geo_nodes -``` - -``` -curl --header "PRIVATE-TOKEN: " "https://primary.example.com/api/v4/geo_nodes" -``` - -响应示例: - -``` -[ { "id": 1, "name": "us-node", "url": "https://primary.example.com/", "internal_url": "https://internal.example.com/", "primary": true, "enabled": true, "current": true, "files_max_capacity": 10, "repos_max_capacity": 25, "container_repositories_max_capacity": 10, "verification_max_capacity": 100, "selective_sync_type": "namespaces", "selective_sync_shards": [], "selective_sync_namespace_ids": [1, 25], "minimum_reverification_interval": 7, "clone_protocol": "http", "web_edit_url": "https://primary.example.com/admin/geo/nodes/1/edit", "_links": { "self": "https://primary.example.com/api/v4/geo_nodes/1", "status":"https://primary.example.com/api/v4/geo_nodes/1/status", "repair":"https://primary.example.com/api/v4/geo_nodes/1/repair" } }, { "id": 2, "name": "cn-node", "url": "https://secondary.example.com/", "internal_url": "https://secondary.example.com/", "primary": false, "enabled": true, "current": false, "files_max_capacity": 10, "repos_max_capacity": 25, "container_repositories_max_capacity": 10, "verification_max_capacity": 100, "selective_sync_type": "namespaces", "selective_sync_shards": [], "selective_sync_namespace_ids": [1, 25], "minimum_reverification_interval": 7, "sync_object_storage": true, "clone_protocol": "http", "web_edit_url": "https://primary.example.com/admin/geo/nodes/2/edit", "web_geo_projects_url": "https://secondary.example.com/admin/geo/projects", "_links": { "self":"https://primary.example.com/api/v4/geo_nodes/2", "status":"https://primary.example.com/api/v4/geo_nodes/2/status", "repair":"https://primary.example.com/api/v4/geo_nodes/2/repair" } } ] -``` - -## Retrieve configuration about a specific Geo node[](#retrieve-configuration-about-a-specific-geo-node "Permalink") - -``` -GET /geo_nodes/:id -``` - -``` -curl --header "PRIVATE-TOKEN: " "https://primary.example.com/api/v4/geo_nodes/1" -``` - -响应示例: - -``` -{ "id": 1, "name": "us-node", "url": "https://primary.example.com/", "internal_url": "https://primary.example.com/", "primary": true, "enabled": true, "current": true, "files_max_capacity": 10, "repos_max_capacity": 25, "container_repositories_max_capacity": 10, "verification_max_capacity": 100, "selective_sync_type": "namespaces", "selective_sync_shards": [], "selective_sync_namespace_ids": [1, 25], "minimum_reverification_interval": 7, "clone_protocol": "http", "web_edit_url": "https://primary.example.com/admin/geo/nodes/1/edit", "_links": { "self": "https://primary.example.com/api/v4/geo_nodes/1", "status":"https://primary.example.com/api/v4/geo_nodes/1/status", "repair":"https://primary.example.com/api/v4/geo_nodes/1/repair" } } -``` - -## Edit a Geo node[](#edit-a-geo-node "Permalink") - -更新现有地理节点的设置. - -*这只能在主要的地理节点上运行.* - -``` -PUT /geo_nodes/:id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 地理位置节点的 ID. | -| `enabled` | boolean | no | 指示是否启用地理节点的标志. | -| `name` | string | yes | 地理节点的唯一标识符. 必须匹配`geo_node_name`如果在设定`gitlab.rb` ,否则必须匹配`external_url` . | -| `url` | string | yes | Geo 节点的面向用户的 URL. | -| `internal_url` | string | no | 在主节点上定义的 URL,辅助节点应使用该 URL 与之联系. 如果未设置,则返回`url` . | -| `files_max_capacity` | integer | no | 控制此辅助节点的 LFS /附件回填的最大并发性. | -| `repos_max_capacity` | integer | no | 控制此辅助节点的存储库回填的最大并发性. | -| `verification_max_capacity` | integer | no | 控制此节点的最大并发验证. | -| `container_repositories_max_capacity` | integer | no | 控制此节点的容器存储库同步的最大并发性. | -| `sync_object_storage` | boolean | no | 指示辅助 Geo 节点是否将复制对象存储中的 Blob 的标志. | -| `selective_sync_type` | string | no | 将同步限制为仅特定的组或碎片. 有效值: `"namespaces"` , `"shards"`或`null` . | -| `selective_sync_shards` | array | no | 如果`selective_sync_type` == `shards` ,则同步项目的存储库存储. | -| `selective_sync_namespace_ids` | array | no | 如果`selective_sync_type` == `namespaces` ,则应同步的组的 ID. | -| `minimum_reverification_interval` | integer | no | 存储库验证有效的时间间隔(以天为单位). 一旦过期,它将被重新验证. 在辅助节点上进行设置时,这无效. | - -响应示例: - -``` -{ "id": 1, "name": "cn-node", "url": "https://secondary.example.com/", "internal_url": "https://secondary.example.com/", "primary": false, "enabled": true, "current": true, "files_max_capacity": 10, "repos_max_capacity": 25, "container_repositories_max_capacity": 10, "verification_max_capacity": 100, "selective_sync_type": "namespaces", "selective_sync_shards": [], "selective_sync_namespace_ids": [1, 25], "minimum_reverification_interval": 7, "sync_object_storage": true, "clone_protocol": "http", "web_edit_url": "https://primary.example.com/admin/geo/nodes/2/edit", "web_geo_projects_url": "https://secondary.example.com/admin/geo/projects", "_links": { "self":"https://primary.example.com/api/v4/geo_nodes/2", "status":"https://primary.example.com/api/v4/geo_nodes/2/status", "repair":"https://primary.example.com/api/v4/geo_nodes/2/repair" } } -``` - -## Delete a Geo node[](#delete-a-geo-node "Permalink") - -删除地理节点. - -**注意:**只有 Geo 主节点将接受此请求. - -``` -DELETE /geo_nodes/:id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 地理位置节点的 ID. | - -## Repair a Geo node[](#repair-a-geo-node "Permalink") - -修复地理节点的 OAuth 身份验证. - -*这只能在主要的地理节点上运行.* - -``` -POST /geo_nodes/:id/repair -``` - -响应示例: - -``` -{ "id": 1, "name": "us-node", "url": "https://primary.example.com/", "internal_url": "https://primary.example.com/", "primary": true, "enabled": true, "current": true, "files_max_capacity": 10, "repos_max_capacity": 25, "container_repositories_max_capacity": 10, "verification_max_capacity": 100, "clone_protocol": "http", "web_edit_url": "https://primary.example.com/admin/geo/nodes/1/edit", "_links": { "self": "https://primary.example.com/api/v4/geo_nodes/1", "status":"https://primary.example.com/api/v4/geo_nodes/1/status", "repair":"https://primary.example.com/api/v4/geo_nodes/1/repair" } } -``` - -## Retrieve status about all Geo nodes[](#retrieve-status-about-all-geo-nodes "Permalink") - -``` -GET /geo_nodes/status -``` - -``` -curl --header "PRIVATE-TOKEN: " "https://primary.example.com/api/v4/geo_nodes/status" -``` - -响应示例: - -``` -[ { "geo_node_id": 1, "healthy": true, "health": "Healthy", "health_status": "Healthy", "missing_oauth_application": false, "attachments_count": 1, "attachments_synced_count": nil, "attachments_failed_count": nil, "attachments_synced_missing_on_primary_count": 0, "attachments_synced_in_percentage": "0.00%", "db_replication_lag_seconds": nil, "lfs_objects_count": 0, "lfs_objects_synced_count": nil, "lfs_objects_failed_count": nil, "lfs_objects_synced_missing_on_primary_count": 0, "lfs_objects_synced_in_percentage": "0.00%", "job_artifacts_count": 2, "job_artifacts_synced_count": nil, "job_artifacts_failed_count": nil, "job_artifacts_synced_missing_on_primary_count": 0, "job_artifacts_synced_in_percentage": "0.00%", "container_repositories_count": 3, "container_repositories_synced_count": nil, "container_repositories_failed_count": nil, "container_repositories_synced_in_percentage": "0.00%", "design_repositories_count": 3, "design_repositories_synced_count": nil, "design_repositories_failed_count": nil, "design_repositories_synced_in_percentage": "0.00%", "projects_count": 41, "repositories_failed_count": nil, "repositories_synced_count": nil, "repositories_synced_in_percentage": "0.00%", "wikis_failed_count": nil, "wikis_synced_count": nil, "wikis_synced_in_percentage": "0.00%", "replication_slots_count": 1, "replication_slots_used_count": 1, "replication_slots_used_in_percentage": "100.00%", "replication_slots_max_retained_wal_bytes": 0, "repositories_checked_count": 20, "repositories_checked_failed_count": 20, "repositories_checked_in_percentage": "100.00%", "repositories_checksummed_count": 20, "repositories_checksum_failed_count": 5, "repositories_checksummed_in_percentage": "48.78%", "wikis_checksummed_count": 10, "wikis_checksum_failed_count": 3, "wikis_checksummed_in_percentage": "24.39%", "repositories_verified_count": 20, "repositories_verification_failed_count": 5, "repositories_verified_in_percentage": "48.78%", "repositories_checksum_mismatch_count": 3, "wikis_verified_count": 10, "wikis_verification_failed_count": 3, "wikis_verified_in_percentage": "24.39%", "wikis_checksum_mismatch_count": 1, "repositories_retrying_verification_count": 1, "wikis_retrying_verification_count": 3, "repositories_checked_count": 7, "repositories_checked_failed_count": 2, "repositories_checked_in_percentage": "17.07%", "last_event_id": 23, "last_event_timestamp": 1509681166, "cursor_last_event_id": nil, "cursor_last_event_timestamp": 0, "last_successful_status_check_timestamp": 1510125024, "version": "10.3.0", "revision": "33d33a096a", "package_files_count": 10, "package_files_checksummed_count": 10, "package_files_checksum_failed_count": 0, "package_files_registry_count": 10, "package_files_synced_count": 6, "package_files_failed_count": 3 }, { "geo_node_id": 2, "healthy": true, "health": "Healthy", "health_status": "Healthy", "missing_oauth_application": false, "attachments_count": 1, "attachments_synced_count": 1, "attachments_failed_count": 0, "attachments_synced_missing_on_primary_count": 0, "attachments_synced_in_percentage": "100.00%", "db_replication_lag_seconds": 0, "lfs_objects_count": 0, "lfs_objects_synced_count": 0, "lfs_objects_failed_count": 0, "lfs_objects_synced_missing_on_primary_count": 0, "lfs_objects_synced_in_percentage": "0.00%", "job_artifacts_count": 2, "job_artifacts_synced_count": 1, "job_artifacts_failed_count": 1, "job_artifacts_synced_missing_on_primary_count": 0, "job_artifacts_synced_in_percentage": "50.00%", "container_repositories_count": 3, "container_repositories_synced_count": nil, "container_repositories_failed_count": nil, "container_repositories_synced_in_percentage": "0.00%", "design_repositories_count": 3, "design_repositories_synced_count": nil, "design_repositories_failed_count": nil, "design_repositories_synced_in_percentage": "0.00%", "projects_count": 41, "repositories_failed_count": 1, "repositories_synced_count": 40, "repositories_synced_in_percentage": "97.56%", "wikis_failed_count": 0, "wikis_synced_count": 41, "wikis_synced_in_percentage": "100.00%", "replication_slots_count": nil, "replication_slots_used_count": nil, "replication_slots_used_in_percentage": "0.00%", "replication_slots_max_retained_wal_bytes": nil, "repositories_checksummed_count": 20, "repositories_checksum_failed_count": 5, "repositories_checksummed_in_percentage": "48.78%", "wikis_checksummed_count": 10, "wikis_checksum_failed_count": 3, "wikis_checksummed_in_percentage": "24.39%", "repositories_verified_count": 20, "repositories_verification_failed_count": 5, "repositories_verified_in_percentage": "48.78%", "repositories_checksum_mismatch_count": 3, "wikis_verified_count": 10, "wikis_verification_failed_count": 3, "wikis_verified_in_percentage": "24.39%", "wikis_checksum_mismatch_count": 1, "repositories_retrying_verification_count": 4, "wikis_retrying_verification_count": 2, "repositories_checked_count": 5, "repositories_checked_failed_count": 1, "repositories_checked_in_percentage": "12.20%", "last_event_id": 23, "last_event_timestamp": 1509681166, "cursor_last_event_id": 23, "cursor_last_event_timestamp": 1509681166, "last_successful_status_check_timestamp": 1510125024, "version": "10.3.0", "revision": "33d33a096a", "package_files_count": 10, "package_files_checksummed_count": 10, "package_files_checksum_failed_count": 0, "package_files_registry_count": 10, "package_files_synced_count": 6, "package_files_failed_count": 3 } ] -``` - -**注意:**在 GitLab 12.0 中,已弃用的字段`wikis_count`和`repositories_count`被删除. 请改用`projects_count` . - -## Retrieve status about a specific Geo node[](#retrieve-status-about-a-specific-geo-node "Permalink") - -``` -GET /geo_nodes/:id/status -``` - -``` -curl --header "PRIVATE-TOKEN: " "https://primary.example.com/api/v4/geo_nodes/2/status" -``` - -响应示例: - -``` -{ "geo_node_id": 2, "healthy": true, "health": "Healthy", "health_status": "Healthy", "missing_oauth_application": false, "attachments_count": 1, "attachments_synced_count": 1, "attachments_failed_count": 0, "attachments_synced_missing_on_primary_count": 0, "attachments_synced_in_percentage": "100.00%", "db_replication_lag_seconds": 0, "lfs_objects_count": 0, "lfs_objects_synced_count": 0, "lfs_objects_failed_count": 0, "lfs_objects_synced_missing_on_primary_count": 0, "lfs_objects_synced_in_percentage": "0.00%", "job_artifacts_count": 2, "job_artifacts_synced_count": 1, "job_artifacts_failed_count": 1, "job_artifacts_synced_missing_on_primary_count": 0, "job_artifacts_synced_in_percentage": "50.00%", "container_repositories_count": 3, "container_repositories_synced_count": nil, "container_repositories_failed_count": nil, "container_repositories_synced_in_percentage": "0.00%", "design_repositories_count": 3, "design_repositories_synced_count": nil, "design_repositories_failed_count": nil, "design_repositories_synced_in_percentage": "0.00%", "projects_count": 41, "repositories_failed_count": 1, "repositories_synced_count": 40, "repositories_synced_in_percentage": "97.56%", "wikis_failed_count": 0, "wikis_synced_count": 41, "wikis_synced_in_percentage": "100.00%", "replication_slots_count": nil, "replication_slots_used_count": nil, "replication_slots_used_in_percentage": "0.00%", "replication_slots_max_retained_wal_bytes": nil, "last_event_id": 23, "last_event_timestamp": 1509681166, "cursor_last_event_id": 23, "cursor_last_event_timestamp": 1509681166, "last_successful_status_check_timestamp": 1510125268, "version": "10.3.0", "revision": "33d33a096a" } -``` - -注意: `health_status`参数只能处于"健康"或"不健康"状态,而`health`参数可以为空,"健康"或包含实际错误消息. - -**注意:**在 GitLab 12.0 中,已弃用的字段`wikis_count`和`repositories_count`被删除. 请改用`projects_count` . - -## Retrieve project sync or verification failures that occurred on the current node[](#retrieve-project-sync-or-verification-failures-that-occurred-on-the-current-node "Permalink") - -这仅适用于辅助节点. - -``` -GET /geo_nodes/current/failures -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `type` | string | no | 失败对象的类型( `repository` / `wiki` ) | -| `failure_type` | string | no | 故障类型( `sync` / `checksum_mismatch` / `verification` ) | - -该端点使用[分页](README.html#pagination) . - -``` -curl --header "PRIVATE-TOKEN: " "https://primary.example.com/api/v4/geo_nodes/current/failures" -``` - -响应示例: - -``` -[ { "project_id": 3, "last_repository_synced_at": "2017-10-31 14:25:55 UTC", "last_repository_successful_sync_at": "2017-10-31 14:26:04 UTC", "last_wiki_synced_at": "2017-10-31 14:26:04 UTC", "last_wiki_successful_sync_at": "2017-10-31 14:26:11 UTC", "repository_retry_count": null, "wiki_retry_count": 1, "last_repository_sync_failure": null, "last_wiki_sync_failure": "Error syncing Wiki repository", "last_repository_verification_failure": "", "last_wiki_verification_failure": "", "repository_verification_checksum_sha": "da39a3ee5e6b4b0d32e5bfef9a601890afd80709", "wiki_verification_checksum_sha": "da39a3ee5e6b4b0d3255bfef9ef0189aafd80709", "repository_checksum_mismatch": false, "wiki_checksum_mismatch": false } ] -``` \ No newline at end of file diff --git a/docs/317.md b/docs/317.md deleted file mode 100644 index 71de959..0000000 --- a/docs/317.md +++ /dev/null @@ -1,83 +0,0 @@ -# Group Activity Analytics API - -> 原文:[https://docs.gitlab.com/ee/api/group_activity_analytics.html](https://docs.gitlab.com/ee/api/group_activity_analytics.html) - -* [Get count of recently created issues for group](#get-count-of-recently-created-issues-for-group) -* [Get count of recently created merge requests for group](#get-count-of-recently-created-merge-requests-for-group) -* [Get count of members recently added to group](#get-count-of-members-recently-added-to-group) - -# Group Activity Analytics API[](#group-activity-analytics-api "Permalink") - -**注意:**此功能是在 GitLab 12.9 中[引入的](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/26460) . - -## Get count of recently created issues for group[](#get-count-of-recently-created-issues-for-group "Permalink") - -``` -GET /analytics/group_activity/issues_count -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `group_path` | string | yes | 组路径 | - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/analytics/group_activity/issues_count?group_path=gitlab-org" -``` - -响应示例: - -``` -{ "issues_count": 10 } -``` - -## Get count of recently created merge requests for group[](#get-count-of-recently-created-merge-requests-for-group "Permalink") - -``` -GET /analytics/group_activity/merge_requests_count -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `group_path` | string | yes | 组路径 | - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/analytics/group_activity/merge_requests_count?group_path=gitlab-org" -``` - -响应示例: - -``` -{ "merge_requests_count": 10 } -``` - -## Get count of members recently added to group[](#get-count-of-members-recently-added-to-group "Permalink") - -``` -GET /analytics/group_activity/new_members_count -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `group_path` | string | yes | 组路径 | - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/analytics/group_activity/new_members_count?group_path=gitlab-org" -``` - -响应示例: - -``` -{ "new_members_count": 10 } -``` \ No newline at end of file diff --git a/docs/318.md b/docs/318.md deleted file mode 100644 index f801dc8..0000000 --- a/docs/318.md +++ /dev/null @@ -1,697 +0,0 @@ -# Groups API - -> 原文:[https://docs.gitlab.com/ee/api/groups.html](https://docs.gitlab.com/ee/api/groups.html) - -* [List groups](#list-groups) -* [List a group’s subgroups](#list-a-groups-subgroups) -* [List a group’s projects](#list-a-groups-projects) -* [List a group’s shared projects](#list-a-groups-shared-projects) -* [Details of a group](#details-of-a-group) - * [Disabling the results limit](#disabling-the-results-limit) -* [New group](#new-group) - * [Options for `default_branch_protection`](#options-for-default_branch_protection) -* [New Subgroup](#new-subgroup) -* [Transfer project to group](#transfer-project-to-group) -* [Update group](#update-group) - * [Disabling the results limit](#disabling-the-results-limit-1) -* [Remove group](#remove-group) -* [Restore group marked for deletion](#restore-group-marked-for-deletion-premium) -* [Search for group](#search-for-group) -* [Hooks](#hooks) - * [List group hooks](#list-group-hooks) - * [Get group hook](#get-group-hook) - * [Add group hook](#add-group-hook) - * [Edit group hook](#edit-group-hook) - * [Delete group hook](#delete-group-hook) -* [Group Audit Events](#group-audit-events-starter) -* [Sync group with LDAP](#sync-group-with-ldap-starter) -* [Group members](#group-members) -* [LDAP Group Links](#ldap-group-links) - * [List LDAP group links](#list-ldap-group-links-starter) - * [Add LDAP group link with CN or filter](#add-ldap-group-link-with-cn-or-filter-starter) - * [Delete LDAP group link](#delete-ldap-group-link-starter) - * [Delete LDAP group link with CN or filter](#delete-ldap-group-link-with-cn-or-filter-starter) -* [Namespaces in groups](#namespaces-in-groups) -* [Group badges](#group-badges) -* [Group Import/Export](#group-importexport) -* [Share Groups with Groups](#share-groups-with-groups) - * [Create a link to share a group with another group](#create-a-link-to-share-a-group-with-another-group) - * [Delete link sharing group with another group](#delete-link-sharing-group-with-another-group) - -# Groups API[](#groups-api "Permalink") - -## List groups[](#list-groups "Permalink") - -获取已认证用户的可见组列表. 在未经身份验证的情况下访问时,仅返回公共组. - -默认情况下,此请求一次返回 20 个结果,因为 API 结果[是分页的](README.html#pagination) . - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `skip_groups` | 整数数组 | no | 跳过传递的组 ID | -| `all_available` | boolean | no | 显示您有权访问的所有组(对于经过身份验证的用户,默认值为`false` ;对于管理员,默认`false` `true` ); `owned`属性和`min_access_level`具有优先权 | -| `search` | string | no | 返回符合搜索条件的授权组列表 | -| `order_by` | string | no | 按`name` , `path`或`id` . 默认`name` | -| `sort` | string | no | 按`asc`或`desc`顺序排列组. 默认为`asc` | -| `statistics` | boolean | no | 包括组统计信息(仅管理员) | -| `with_custom_attributes` | boolean | no | 在响应中包括[自定义属性](custom_attributes.html) (仅管理员) | -| `owned` | boolean | no | 限制为当前用户明确拥有的组 | -| `min_access_level` | integer | no | 限制为当前用户至少具有此[访问级别的组](members.html#valid-access-levels) | -| `top_level_only` | boolean | no | 限于顶级组,不包括所有子组 | - -``` -GET /groups -``` - -``` -[ { "id": 1, "name": "Foobar Group", "path": "foo-bar", "description": "An interesting group", "visibility": "public", "share_with_group_lock": false, "require_two_factor_authentication": false, "two_factor_grace_period": 48, "project_creation_level": "developer", "auto_devops_enabled": null, "subgroup_creation_level": "owner", "emails_disabled": null, "mentions_disabled": null, "lfs_enabled": true, "default_branch_protection": 2, "avatar_url": "http://localhost:3000/uploads/group/avatar/1/foo.jpg", "web_url": "http://localhost:3000/groups/foo-bar", "request_access_enabled": false, "full_name": "Foobar Group", "full_path": "foo-bar", "file_template_project_id": 1, "parent_id": null, "created_at": "2020-01-15T12:36:29.590Z" } ] -``` - -当添加参数`statistics=true`且经过身份验证的用户是管理员时,将返回其他组统计信息. - -``` -GET /groups?statistics=true -``` - -``` -[ { "id": 1, "name": "Foobar Group", "path": "foo-bar", "description": "An interesting group", "visibility": "public", "share_with_group_lock": false, "require_two_factor_authentication": false, "two_factor_grace_period": 48, "project_creation_level": "developer", "auto_devops_enabled": null, "subgroup_creation_level": "owner", "emails_disabled": null, "mentions_disabled": null, "lfs_enabled": true, "default_branch_protection": 2, "avatar_url": "http://localhost:3000/uploads/group/avatar/1/foo.jpg", "web_url": "http://localhost:3000/groups/foo-bar", "request_access_enabled": false, "full_name": "Foobar Group", "full_path": "foo-bar", "file_template_project_id": 1, "parent_id": null, "created_at": "2020-01-15T12:36:29.590Z", "statistics": { "storage_size" : 212, "repository_size" : 33, "wiki_size" : 100, "lfs_objects_size" : 123, "job_artifacts_size" : 57, "packages_size": 0, "snippets_size" : 50, } } ] -``` - -您可以按名称或路径搜索组,请参见下文. - -您可以使用以下[自定义属性](custom_attributes.html)进行过滤: - -``` -GET /groups?custom_attributes[key]=value&custom_attributes[other_key]=other_value -``` - -## List a group’s subgroups[](#list-a-groups-subgroups "Permalink") - -在 GitLab 10.3 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/15142) . - -获取此组中可见的直接子组的列表. 在未经身份验证的情况下访问时,仅返回公共组. - -默认情况下,此请求一次返回 20 个结果,因为 API 结果[是分页的](README.html#pagination) . - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 直接父组[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `skip_groups` | 整数数组 | no | 跳过传递的组 ID | -| `all_available` | boolean | no | 显示您有权访问的所有组(对于经过身份验证的用户,默认值为`false` ;对于管理员,默认`false` `true` ); `owned`属性和`min_access_level`具有优先权 | -| `search` | string | no | 返回符合搜索条件的授权组列表 | -| `order_by` | string | no | 按`name` , `path`或`id` . 默认`name` | -| `sort` | string | no | 按`asc`或`desc`顺序排列组. 默认为`asc` | -| `statistics` | boolean | no | 包括组统计信息(仅管理员) | -| `with_custom_attributes` | boolean | no | 在响应中包括[自定义属性](custom_attributes.html) (仅管理员) | -| `owned` | boolean | no | 限制为当前用户明确拥有的组 | -| `min_access_level` | integer | no | 限制为当前用户至少具有此[访问级别的组](members.html#valid-access-levels) | - -``` -GET /groups/:id/subgroups -``` - -``` -[ { "id": 1, "name": "Foobar Group", "path": "foo-bar", "description": "An interesting group", "visibility": "public", "share_with_group_lock": false, "require_two_factor_authentication": false, "two_factor_grace_period": 48, "project_creation_level": "developer", "auto_devops_enabled": null, "subgroup_creation_level": "owner", "emails_disabled": null, "mentions_disabled": null, "lfs_enabled": true, "default_branch_protection": 2, "avatar_url": "http://gitlab.example.com/uploads/group/avatar/1/foo.jpg", "web_url": "http://gitlab.example.com/groups/foo-bar", "request_access_enabled": false, "full_name": "Foobar Group", "full_path": "foo-bar", "file_template_project_id": 1, "parent_id": 123, "created_at": "2020-01-15T12:36:29.590Z" } ] -``` - -## List a group’s projects[](#list-a-groups-projects "Permalink") - -获取此组中的项目列表. 在未经身份验证的情况下访问时,仅返回公共项目. - -默认情况下,此请求一次返回 20 个结果,因为 API 结果[是分页的](README.html#pagination) . - -``` -GET /groups/:id/projects -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `archived` | boolean | no | 受存档状态限制 | -| `visibility` | string | no | 受`public` , `internal`或`private`可见性限制 | -| `order_by` | string | no | 返回按`id` , `name` , `path` , `created_at` , `updated_at`或`last_activity_at`字段排序的项目. 默认为`created_at` | -| `sort` | string | no | 返回按`asc`或`desc`顺序排序的项目. 默认为`desc` | -| `search` | string | no | 返回符合搜索条件的授权项目列表 | -| `simple` | boolean | no | 仅返回每个项目的 ID,URL,名称和路径 | -| `owned` | boolean | no | 受当前用户拥有的项目限制 | -| `starred` | boolean | no | 受当前用户加注星标的项目限制 | -| `with_issues_enabled` | boolean | no | 受具有问题功能的项目限制. 默认为`false` | -| `with_merge_requests_enabled` | boolean | no | 受启用合并请求功能的项目限制. 默认为`false` | -| `with_shared` | boolean | no | 包括共享给该组的项目. 默认为`true` | -| `include_subgroups` | boolean | no | 将项目包括在该组的子组中. 默认为`false` | -| `min_access_level` | integer | no | 限于当前用户至少具有此[访问级别的项目](members.html#valid-access-levels) | -| `with_custom_attributes` | boolean | no | Include [custom attributes](custom_attributes.html) in response (admins only) | -| `with_security_reports` | boolean | no | 仅返回在任何版本中都存在安全报告工件的项目. 这意味着"启用了安全报告的项目". 默认为`false` | - -响应示例: - -``` -[ { "id": 9, "description": "foo", "default_branch": "master", "tag_list": [], "archived": false, "visibility": "internal", "ssh_url_to_repo": "git@gitlab.example.com/html5-boilerplate.git", "http_url_to_repo": "http://gitlab.example.com/h5bp/html5-boilerplate.git", "web_url": "http://gitlab.example.com/h5bp/html5-boilerplate", "name": "Html5 Boilerplate", "name_with_namespace": "Experimental / Html5 Boilerplate", "path": "html5-boilerplate", "path_with_namespace": "h5bp/html5-boilerplate", "issues_enabled": true, "merge_requests_enabled": true, "wiki_enabled": true, "jobs_enabled": true, "snippets_enabled": true, "created_at": "2016-04-05T21:40:50.169Z", "last_activity_at": "2016-04-06T16:52:08.432Z", "shared_runners_enabled": true, "creator_id": 1, "namespace": { "id": 5, "name": "Experimental", "path": "h5bp", "kind": "group" }, "avatar_url": null, "star_count": 1, "forks_count": 0, "open_issues_count": 3, "public_jobs": true, "shared_with_groups": [], "request_access_enabled": false } ] -``` - -**注意:**为了区分组中的项目和共享给组的项目,可以使用`namespace`属性. 将项目共享给组后,其`namespace`将与请求的组不同. - -## List a group’s shared projects[](#list-a-groups-shared-projects "Permalink") - -获取共享给该组的项目的列表. 未经身份验证访问时,仅返回公共共享项目. - -默认情况下,此请求一次返回 20 个结果,因为 API 结果[是分页的](README.html#pagination) . - -``` -GET /groups/:id/projects/shared -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `archived` | boolean | no | 受存档状态限制 | -| `visibility` | string | no | 受`public` , `internal`或`private`可见性限制 | -| `order_by` | string | no | 返回按`id` , `name` , `path` , `created_at` , `updated_at`或`last_activity_at`字段排序的项目. 默认为`created_at` | -| `sort` | string | no | 返回按`asc`或`desc`顺序排序的项目. 默认为`desc` | -| `search` | string | no | 返回符合搜索条件的授权项目列表 | -| `simple` | boolean | no | 仅返回每个项目的 ID,URL,名称和路径 | -| `starred` | boolean | no | 受当前用户加注星标的项目限制 | -| `with_issues_enabled` | boolean | no | 受具有问题功能的项目限制. 默认为`false` | -| `with_merge_requests_enabled` | boolean | no | 受启用合并请求功能的项目限制. 默认为`false` | -| `min_access_level` | integer | no | 限于当前用户至少具有此[访问级别的项目](members.html#valid-access-levels) | -| `with_custom_attributes` | boolean | no | 在响应中包括[自定义属性](custom_attributes.html) (仅管理员) | - -响应示例: - -``` -[ { "id":8, "description":"Shared project for Html5 Boilerplate", "name":"Html5 Boilerplate", "name_with_namespace":"H5bp / Html5 Boilerplate", "path":"html5-boilerplate", "path_with_namespace":"h5bp/html5-boilerplate", "created_at":"2020-04-27T06:13:22.642Z", "default_branch":"master", "tag_list":[ ], "ssh_url_to_repo":"ssh://git@gitlab.com/h5bp/html5-boilerplate.git", "http_url_to_repo":"http://gitlab.com/h5bp/html5-boilerplate.git", "web_url":"http://gitlab.com/h5bp/html5-boilerplate", "readme_url":"http://gitlab.com/h5bp/html5-boilerplate/-/blob/master/README.md", "avatar_url":null, "star_count":0, "forks_count":4, "last_activity_at":"2020-04-27T06:13:22.642Z", "namespace":{ "id":28, "name":"H5bp", "path":"h5bp", "kind":"group", "full_path":"h5bp", "parent_id":null, "avatar_url":null, "web_url":"http://gitlab.com/groups/h5bp" }, "_links":{ "self":"http://gitlab.com/api/v4/projects/8", "issues":"http://gitlab.com/api/v4/projects/8/issues", "merge_requests":"http://gitlab.com/api/v4/projects/8/merge_requests", "repo_branches":"http://gitlab.com/api/v4/projects/8/repository/branches", "labels":"http://gitlab.com/api/v4/projects/8/labels", "events":"http://gitlab.com/api/v4/projects/8/events", "members":"http://gitlab.com/api/v4/projects/8/members" }, "empty_repo":false, "archived":false, "visibility":"public", "resolve_outdated_diff_discussions":false, "container_registry_enabled":true, "container_expiration_policy":{ "cadence":"7d", "enabled":true, "keep_n":null, "older_than":null, "name_regex":null, "name_regex_keep":null, "next_run_at":"2020-05-04T06:13:22.654Z" }, "issues_enabled":true, "merge_requests_enabled":true, "wiki_enabled":true, "jobs_enabled":true, "snippets_enabled":true, "can_create_merge_request_in":true, "issues_access_level":"enabled", "repository_access_level":"enabled", "merge_requests_access_level":"enabled", "forking_access_level":"enabled", "wiki_access_level":"enabled", "builds_access_level":"enabled", "snippets_access_level":"enabled", "pages_access_level":"enabled", "emails_disabled":null, "shared_runners_enabled":true, "lfs_enabled":true, "creator_id":1, "import_status":"failed", "open_issues_count":10, "ci_default_git_depth":50, "public_jobs":true, "build_timeout":3600, "auto_cancel_pending_pipelines":"enabled", "build_coverage_regex":null, "ci_config_path":null, "shared_with_groups":[ { "group_id":24, "group_name":"Commit451", "group_full_path":"Commit451", "group_access_level":30, "expires_at":null } ], "only_allow_merge_if_pipeline_succeeds":false, "request_access_enabled":true, "only_allow_merge_if_all_discussions_are_resolved":false, "remove_source_branch_after_merge":true, "printing_merge_request_link_enabled":true, "merge_method":"merge", "suggestion_commit_message":null, "auto_devops_enabled":true, "auto_devops_deploy_strategy":"continuous", "autoclose_referenced_issues":true, "repository_storage":"default" } ] -``` - -## Details of a group[](#details-of-a-group "Permalink") - -获取组的所有详细信息. 如果可以公开访问该组,则无需身份验证即可访问该端点. 如果请求的用户是该组的管理员,它将也返回该组的`runners_token` . - -``` -GET /groups/:id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `with_custom_attributes` | boolean | no | 在响应中包括[自定义属性](custom_attributes.html) (仅管理员). | -| `with_projects` | boolean | no | 包括属于指定组的项目的详细信息(默认为`true` ). (已弃用, [将在 API v5 中删除](https://gitlab.com/gitlab-org/gitlab/-/issues/213797) .要获取组中所有项目的详细信息,请使用[列出组的项目终结点](#list-a-groups-projects) .) | - -**注意:**响应中的`projects`和`shared_projects`属性已弃用,并将[在 API v5 中删除](https://gitlab.com/gitlab-org/gitlab/-/issues/213797) . 要获取组内所有项目的详细信息,请使用[列出组的项目](#list-a-groups-projects)或[列出组的共享项目](#list-a-groups-shared-projects)端点. - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/4" -``` - -该端点返回: - -* GitLab 12.5 和更早版本中的所有项目和共享项目. -* [GitLab 12.6](https://gitlab.com/gitlab-org/gitlab/-/issues/31031)及更高版本中最多有 100 个项目和共享项目. 要获取组中所有项目的详细信息,请使用[列出组的项目端点](#list-a-groups-projects)的[列表](#list-a-groups-projects) . - -响应示例: - -``` -{ "id": 4, "name": "Twitter", "path": "twitter", "description": "Aliquid qui quis dignissimos distinctio ut commodi voluptas est.", "visibility": "public", "avatar_url": null, "web_url": "https://gitlab.example.com/groups/twitter", "request_access_enabled": false, "full_name": "Twitter", "full_path": "twitter", "runners_token": "ba324ca7b1c77fc20bb9", "file_template_project_id": 1, "parent_id": null, "created_at": "2020-01-15T12:36:29.590Z", "shared_with_groups": [ { "group_id": 28, "group_name": "H5bp", "group_full_path": "h5bp", "group_access_level": 20, "expires_at": null } ], "projects": [ // Deprecated and will be removed in API v5 { "id": 7, "description": "Voluptas veniam qui et beatae voluptas doloremque explicabo facilis.", "default_branch": "master", "tag_list": [], "archived": false, "visibility": "public", "ssh_url_to_repo": "git@gitlab.example.com:twitter/typeahead-js.git", "http_url_to_repo": "https://gitlab.example.com/twitter/typeahead-js.git", "web_url": "https://gitlab.example.com/twitter/typeahead-js", "name": "Typeahead.Js", "name_with_namespace": "Twitter / Typeahead.Js", "path": "typeahead-js", "path_with_namespace": "twitter/typeahead-js", "issues_enabled": true, "merge_requests_enabled": true, "wiki_enabled": true, "jobs_enabled": true, "snippets_enabled": false, "container_registry_enabled": true, "created_at": "2016-06-17T07:47:25.578Z", "last_activity_at": "2016-06-17T07:47:25.881Z", "shared_runners_enabled": true, "creator_id": 1, "namespace": { "id": 4, "name": "Twitter", "path": "twitter", "kind": "group" }, "avatar_url": null, "star_count": 0, "forks_count": 0, "open_issues_count": 3, "public_jobs": true, "shared_with_groups": [], "request_access_enabled": false }, { "id": 6, "description": "Aspernatur omnis repudiandae qui voluptatibus eaque.", "default_branch": "master", "tag_list": [], "archived": false, "visibility": "internal", "ssh_url_to_repo": "git@gitlab.example.com:twitter/flight.git", "http_url_to_repo": "https://gitlab.example.com/twitter/flight.git", "web_url": "https://gitlab.example.com/twitter/flight", "name": "Flight", "name_with_namespace": "Twitter / Flight", "path": "flight", "path_with_namespace": "twitter/flight", "issues_enabled": true, "merge_requests_enabled": true, "wiki_enabled": true, "jobs_enabled": true, "snippets_enabled": false, "container_registry_enabled": true, "created_at": "2016-06-17T07:47:24.661Z", "last_activity_at": "2016-06-17T07:47:24.838Z", "shared_runners_enabled": true, "creator_id": 1, "namespace": { "id": 4, "name": "Twitter", "path": "twitter", "kind": "group" }, "avatar_url": null, "star_count": 0, "forks_count": 0, "open_issues_count": 8, "public_jobs": true, "shared_with_groups": [], "request_access_enabled": false } ], "shared_projects": [ // Deprecated and will be removed in API v5 { "id": 8, "description": "Velit eveniet provident fugiat saepe eligendi autem.", "default_branch": "master", "tag_list": [], "archived": false, "visibility": "private", "ssh_url_to_repo": "git@gitlab.example.com:h5bp/html5-boilerplate.git", "http_url_to_repo": "https://gitlab.example.com/h5bp/html5-boilerplate.git", "web_url": "https://gitlab.example.com/h5bp/html5-boilerplate", "name": "Html5 Boilerplate", "name_with_namespace": "H5bp / Html5 Boilerplate", "path": "html5-boilerplate", "path_with_namespace": "h5bp/html5-boilerplate", "issues_enabled": true, "merge_requests_enabled": true, "wiki_enabled": true, "jobs_enabled": true, "snippets_enabled": false, "container_registry_enabled": true, "created_at": "2016-06-17T07:47:27.089Z", "last_activity_at": "2016-06-17T07:47:27.310Z", "shared_runners_enabled": true, "creator_id": 1, "namespace": { "id": 5, "name": "H5bp", "path": "h5bp", "kind": "group" }, "avatar_url": null, "star_count": 0, "forks_count": 0, "open_issues_count": 4, "public_jobs": true, "shared_with_groups": [ { "group_id": 4, "group_name": "Twitter", "group_full_path": "twitter", "group_access_level": 30, "expires_at": null }, { "group_id": 3, "group_name": "Gitlab Org", "group_full_path": "gitlab-org", "group_access_level": 10, "expires_at": "2018-08-14" } ] } ] } -``` - -使用 GitLab [Starter,Bronze 或更高版本的用户](https://about.gitlab.com/pricing/)还将看到`shared_runners_minutes_limit`和`extra_shared_runners_minutes_limit`参数: - -其他响应参数: - -``` -{ "id": 4, "description": "Aliquid qui quis dignissimos distinctio ut commodi voluptas est.", "shared_runners_minutes_limit": 133, "extra_shared_runners_minutes_limit": 133, ... } -``` - -Users on GitLab [Silver, Premium, or higher](https://about.gitlab.com/pricing/) will also see the `marked_for_deletion_on` attribute: - -``` -{ "id": 4, "description": "Aliquid qui quis dignissimos distinctio ut commodi voluptas est.", "marked_for_deletion_on": "2020-04-03", ... } -``` - -当添加参数`with_projects=false` ,将不返回项目. - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/4?with_projects=false" -``` - -响应示例: - -``` -{ "id": 4, "name": "Twitter", "path": "twitter", "description": "Aliquid qui quis dignissimos distinctio ut commodi voluptas est.", "visibility": "public", "avatar_url": null, "web_url": "https://gitlab.example.com/groups/twitter", "request_access_enabled": false, "full_name": "Twitter", "full_path": "twitter", "file_template_project_id": 1, "parent_id": null } -``` - -### Disabling the results limit[](#disabling-the-results-limit "Permalink") - -如果它破坏了使用 GitLab 12.4 和更早版本开发的集成,则可以禁用 100 个结果限制. - -要在迁移到使用[列表的组项目](#list-a-groups-projects)终结点时禁用限制,请要求具有 Rails 控制台访问权限的 GitLab 管理员运行以下命令: - -``` -Feature.disable(:limit_projects_in_groups_api) -``` - -## New group[](#new-group "Permalink") - -创建一个新的项目组. 仅适用于可以创建组的用户. - -``` -POST /groups -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `name` | string | yes | 组的名称. | -| `path` | string | yes | 组的路径. | -| `description` | string | no | 组的描述. | -| `membership_lock` | boolean | no | 阻止将新成员添加到该组中的项目成员中. | -| `visibility` | string | no | 小组的知名度. 可以是`private` , `internal`或`public` . | -| `share_with_group_lock` | boolean | no | 防止与该组中的另一个组共享项目. | -| `require_two_factor_authentication` | boolean | no | 要求该组中的所有用户设置双重身份验证. | -| `two_factor_grace_period` | integer | no | 实施两因素身份验证之前的时间(以小时为单位). | -| `project_creation_level` | string | no | 确定开发人员是否可以在组中创建项目. 可`noone` (没有之一), `maintainer` (维护者),或`developer` (开发+维护者). | -| `auto_devops_enabled` | boolean | no | 对于该组中的所有项目,默认为 Auto DevOps 管道. | -| `subgroup_creation_level` | string | no | 允许创建子组. 可以是`owner` (所有者)或`maintainer` (维护者). | -| `emails_disabled` | boolean | no | 禁用电子邮件通知 | -| `avatar` | mixed | no | 该组头像的图像文件. [在 GitLab 12.9 中引入](https://gitlab.com/gitlab-org/gitlab/-/issues/36681) | -| `mentions_disabled` | boolean | no | 禁止一个人被提及 | -| `lfs_enabled` | boolean | no | 为该组中的项目启用/禁用大文件存储(LFS). | -| `request_access_enabled` | boolean | no | 允许用户请求成员访问权限. | -| `parent_id` | integer | no | 用于创建嵌套组的父组 ID. | -| `default_branch_protection` | integer | no | 请参阅[`default_branch_protection`选项](#options-for-default_branch_protection) . 默认为全局级别的默认分支保护设置. | -| `shared_runners_minutes_limit` | integer | no | 该组的管道分钟配额(包括在计划中). 可以为`nil` (默认值;继承系统默认值), `0` (无限制)或`> 0` | -| `extra_shared_runners_minutes_limit` | integer | no | 该组的额外管道分钟配额(在计划中包括的分钟之外购买). | - -### Options for `default_branch_protection`[](#options-for-default_branch_protection "Permalink") - -`default_branch_protection`属性确定开发人员和维护人员是否可以推送到适用的 master 分支,如下表所示: - -| Value | Description | -| --- | --- | -| `0` | 没有保护. 开发人员和维护人员可以: --推送新的提交 --强制推送更改 --删除分支 | -| `1` | 部分保护. 开发人员和维护人员可以: --推送新的提交 | -| `2` | 全面保护. 只有维护者可以: --推送新的提交 | - -## New Subgroup[](#new-subgroup "Permalink") - -这类似于创建" [新建"组](#new-group) . 您将需要" [列表"组](#list-groups)调用中的`parent_id` . 然后,您可以输入所需的内容: - -* `subgroup_path` -* `subgroup_name` - -``` -curl --request POST --header "PRIVATE-TOKEN: " --header "Content-Type: application/json" \ - --data '{"path": "", "name": "", "parent_id": } \ - "https://gitlab.example.com/api/v4/groups/" -``` - -## Transfer project to group[](#transfer-project-to-group "Permalink") - -将项目传输到组名称空间. 尽管不需要实例管理员访问权限的[替代 API 端点](projects.html#transfer-a-project-to-a-new-namespace)可用,但仅对实例管理员可用. 当项目存储库中存在标记的程序包时,传输项目可能会失败. - -``` -POST /groups/:id/projects/:project_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | The ID or [URL-encoded path of the target group](README.html#namespaced-path-encoding) | -| `project_id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/4/projects/56" -``` - -## Update group[](#update-group "Permalink") - -更新项目组. 仅对组所有者和管理员可用. - -``` -PUT /groups/:id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 组的 ID. | -| `name` | string | no | 组的名称. | -| `path` | string | no | 组的路径. | -| `description` | string | no | 组的描述. | -| `membership_lock` | boolean | no | 阻止将新成员添加到该组中的项目成员中. | -| `share_with_group_lock` | boolean | no | 防止与该组中的另一个组共享项目. | -| `visibility` | string | no | 组的可见性级别. 可以是`private` , `internal`或`public` . | -| `require_two_factor_authentication` | boolean | no | 要求该组中的所有用户设置双重身份验证. | -| `two_factor_grace_period` | integer | no | 实施两因素身份验证之前的时间(以小时为单位). | -| `project_creation_level` | string | no | 确定开发人员是否可以在组中创建项目. 可`noone` (没有之一), `maintainer` (维护者),或`developer` (开发+维护者). | -| `auto_devops_enabled` | boolean | no | 对于该组中的所有项目,默认为 Auto DevOps 管道. | -| `subgroup_creation_level` | string | no | 允许创建子组. 可以是`owner` (所有者)或`maintainer` (维护者). | -| `emails_disabled` | boolean | no | 禁用电子邮件通知 | -| `avatar` | mixed | no | 该组头像的图像文件. [在 GitLab 12.9 中引入](https://gitlab.com/gitlab-org/gitlab/-/issues/36681) | -| `mentions_disabled` | boolean | no | 禁止一个人被提及 | -| `lfs_enabled` (optional) | boolean | no | 为该组中的项目启用/禁用大文件存储(LFS). | -| `request_access_enabled` | boolean | no | 允许用户请求成员访问权限. | -| `default_branch_protection` | integer | no | See [Options for `default_branch_protection`](#options-for-default_branch_protection). | -| `file_template_project_id` | integer | no | 从中加载自定义文件模板的项目的 ID. | -| `shared_runners_minutes_limit` | integer | no | 该组的管道分钟配额(包括在计划中). 可以为`nil` (默认值;继承系统默认值), `0` (无限制)或`> 0` | -| `extra_shared_runners_minutes_limit` | integer | no | 该组的额外管道分钟配额(在计划中包括的分钟之外购买). | - -**注意:**响应中的`projects`和`shared_projects`属性已弃用,并将[在 API v5 中删除](https://gitlab.com/gitlab-org/gitlab/-/issues/213797) . 要获取组内所有项目的详细信息,请使用[列出组的项目](#list-a-groups-projects)或[列出组的共享项目](#list-a-groups-shared-projects)端点. - -``` -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/5?name=Experimental" -``` - -该端点返回: - -* GitLab 12.5 和更早版本中的所有项目和共享项目. -* [GitLab 12.6](https://gitlab.com/gitlab-org/gitlab/-/issues/31031)及更高版本中最多有 100 个项目和共享项目. 要获取组中所有项目的详细信息,请使用[列出组的项目端点](#list-a-groups-projects)的[列表](#list-a-groups-projects) . - -响应示例: - -``` -{ "id": 5, "name": "Experimental", "path": "h5bp", "description": "foo", "visibility": "internal", "avatar_url": null, "web_url": "http://gitlab.example.com/groups/h5bp", "request_access_enabled": false, "full_name": "Foobar Group", "full_path": "foo-bar", "file_template_project_id": 1, "parent_id": null, "created_at": "2020-01-15T12:36:29.590Z", "projects": [ // Deprecated and will be removed in API v5 { "id": 9, "description": "foo", "default_branch": "master", "tag_list": [], "public": false, "archived": false, "visibility": "internal", "ssh_url_to_repo": "git@gitlab.example.com/html5-boilerplate.git", "http_url_to_repo": "http://gitlab.example.com/h5bp/html5-boilerplate.git", "web_url": "http://gitlab.example.com/h5bp/html5-boilerplate", "name": "Html5 Boilerplate", "name_with_namespace": "Experimental / Html5 Boilerplate", "path": "html5-boilerplate", "path_with_namespace": "h5bp/html5-boilerplate", "issues_enabled": true, "merge_requests_enabled": true, "wiki_enabled": true, "jobs_enabled": true, "snippets_enabled": true, "created_at": "2016-04-05T21:40:50.169Z", "last_activity_at": "2016-04-06T16:52:08.432Z", "shared_runners_enabled": true, "creator_id": 1, "namespace": { "id": 5, "name": "Experimental", "path": "h5bp", "kind": "group" }, "avatar_url": null, "star_count": 1, "forks_count": 0, "open_issues_count": 3, "public_jobs": true, "shared_with_groups": [], "request_access_enabled": false } ] } -``` - -### Disabling the results limit[](#disabling-the-results-limit-1 "Permalink") - -The 100 results limit can be disabled if it breaks integrations developed using GitLab 12.4 and earlier. - -要在迁移到使用[列表的组项目](#list-a-groups-projects)终结点时禁用限制,请要求具有 Rails 控制台访问权限的 GitLab 管理员运行以下命令: - -``` -Feature.disable(:limit_projects_in_groups_api) -``` - -## Remove group[](#remove-group "Permalink") - -仅对组所有者和管理员可用. - -该端点: - -* 删除组,并在后台作业中排队以删除该组中的所有项目. -* 从[GitLab 12.8 开始](https://gitlab.com/gitlab-org/gitlab/-/issues/33257) ,在[Premium 或 Silver](https://about.gitlab.com/pricing/)或更高级别上,将一个组标记为删除. 默认情况下,删除将在 7 天后进行,但是可以在[实例设置中](../user/admin_area/settings/visibility_and_access_controls.html#default-deletion-adjourned-period-premium-only)进行更改. - -``` -DELETE /groups/:id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | - -如果用户具有授权,则响应将为`202 Accepted` . - -## Restore group marked for deletion[](#restore-group-marked-for-deletion-premium "Permalink") - -在 GitLab 12.8 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/33257) . - -恢复标记为删除的组. - -``` -POST /groups/:id/restore -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | - -## Search for group[](#search-for-group "Permalink") - -获取名称或路径中与您的字符串匹配的所有组. - -``` -GET /groups?search=foobar -``` - -``` -[ { "id": 1, "name": "Foobar Group", "path": "foo-bar", "description": "An interesting group" } ] -``` - -## Hooks[](#hooks "Permalink") - -也称为群组挂钩和 Webhooks. 这些不同于系统范围的[系统挂钩](system_hooks.html)和限于一个项目的[项目挂钩](projects.html#hooks) . - -### List group hooks[](#list-group-hooks "Permalink") - -获取组挂钩列表 - -``` -GET /groups/:id/hooks -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | - -### Get group hook[](#get-group-hook "Permalink") - -获取组的特定挂钩. - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `hook_id` | integer | yes | 组挂钩的 ID | - -``` -GET /groups/:id/hooks/:hook_id -``` - -``` -{ "id": 1, "url": "http://example.com/hook", "group_id": 3, "push_events": true, "issues_events": true, "confidential_issues_events": true, "merge_requests_events": true, "tag_push_events": true, "note_events": true, "confidential_note_events": true, "job_events": true, "pipeline_events": true, "wiki_page_events": true, "enable_ssl_verification": true, "created_at": "2012-10-12T17:04:47Z" } -``` - -### Add group hook[](#add-group-hook "Permalink") - -将钩子添加到指定的组. - -``` -POST /groups/:id/hooks -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `url` | string | yes | 挂钩网址 | -| `push_events` | boolean | no | 在推送事件上触发钩子 | -| `issues_events` | boolean | no | 触发问题事件挂钩 | -| `confidential_issues_events` | boolean | no | 触发机密问题事件的钩子 | -| `merge_requests_events` | boolean | no | 触发合并请求事件的钩子 | -| `tag_push_events` | boolean | no | 触发标签推送事件的钩子 | -| `note_events` | boolean | no | 在音符事件上触发钩子 | -| `confidential_note_events` | boolean | no | 触发机密笔记事件的钩子 | -| `job_events` | boolean | no | 触发工作事件挂钩 | -| `pipeline_events` | boolean | no | 触发管道事件钩子 | -| `wiki_page_events` | boolean | no | 触发 Wiki 事件的钩子 | -| `enable_ssl_verification` | boolean | no | 触发挂钩时执行 SSL 验证 | -| `token` | string | no | 用于验证收到的有效载荷的秘密令牌; 这将不会在响应中返回 | - -### Edit group hook[](#edit-group-hook "Permalink") - -编辑指定组的挂钩. - -``` -PUT /groups/:id/hooks/:hook_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `hook_id` | integer | yes | 组挂钩的 ID | -| `url` | string | yes | 挂钩网址 | -| `push_events` | boolean | no | 在推送事件上触发钩子 | -| `issues_events` | boolean | no | 触发问题事件挂钩 | -| `confidential_issues_events` | boolean | no | 触发机密问题事件的钩子 | -| `merge_requests_events` | boolean | no | 触发合并请求事件的钩子 | -| `tag_push_events` | boolean | no | 触发标签推送事件的钩子 | -| `note_events` | boolean | no | 在音符事件上触发钩子 | -| `confidential_note_events` | boolean | no | 触发机密笔记事件的钩子 | -| `job_events` | boolean | no | 触发工作事件挂钩 | -| `pipeline_events` | boolean | no | 触发管道事件钩子 | -| `wiki_events` | boolean | no | 触发 Wiki 事件的钩子 | -| `enable_ssl_verification` | boolean | no | 触发挂钩时执行 SSL 验证 | -| `token` | string | no | 用于验证收到的有效载荷的秘密令牌; 这将不会在响应中返回 | - -### Delete group hook[](#delete-group-hook "Permalink") - -从组中删除钩子. 这是幂等方法,可以多次调用. 挂钩是否可用. - -``` -DELETE /groups/:id/hooks/:hook_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `hook_id` | integer | yes | 组挂钩的 ID. | - -## Group Audit Events[](#group-audit-events-starter "Permalink") - -可以通过" [组审核事件" API](audit_events.html#group-audit-events-starter)访问[组审核事件](audit_events.html#group-audit-events-starter) - -## Sync group with LDAP[](#sync-group-with-ldap-starter "Permalink") - -将组与其链接的 LDAP 组同步. 仅对组所有者和管理员可用. - -``` -POST /groups/:id/ldap_sync -``` - -Parameters: - -* `id` (必填)-用户组的 ID 或路径 - -## Group members[](#group-members "Permalink") - -请查阅[小组成员](members.html)文档. - -## LDAP Group Links[](#ldap-group-links "Permalink") - -列出,添加和删除 LDAP 组链接. - -### List LDAP group links[](#list-ldap-group-links-starter "Permalink") - -列出 LDAP 组链接. - -``` -GET /groups/:id/ldap_group_links -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | - -### Add LDAP group link with CN or filter[](#add-ldap-group-link-with-cn-or-filter-starter "Permalink") - -使用 CN 或过滤器添加 LDAP 组链接. 仅在高级级别和更高级别中,才支持通过过滤器添加组链接. - -``` -POST /groups/:id/ldap_group_links -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `cn` | string | no | LDAP 组的 CN | -| `filter` | string | no | 组的 LDAP 过滤器 | -| `group_access` | integer | yes | LDAP 组成员的最低[访问级别](members.html#valid-access-levels) | -| `provider` | string | yes | LDAP 组链接的 LDAP 提供程序 | - -**注意:**要定义 LDAP 组链接,请提供`cn`或`filter` ,但不能同时提供两者. - -### Delete LDAP group link[](#delete-ldap-group-link-starter "Permalink") - -删除 LDAP 组链接. 不推荐使用. 在将来的版本中将被删除. - -``` -DELETE /groups/:id/ldap_group_links/:cn -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `cn` | string | yes | LDAP 组的 CN | - -删除特定 LDAP 提供程序的 LDAP 组链接. 不推荐使用. 在将来的版本中将被删除. - -``` -DELETE /groups/:id/ldap_group_links/:provider/:cn -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `cn` | string | yes | LDAP 组的 CN | -| `provider` | string | yes | LDAP 组链接的 LDAP 提供程序 | - -### Delete LDAP group link with CN or filter[](#delete-ldap-group-link-with-cn-or-filter-starter "Permalink") - -使用 CN 或过滤器删除 LDAP 组链接. 仅高级级别和更高级别支持按过滤器删除. - -``` -DELETE /groups/:id/ldap_group_links -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `cn` | string | no | LDAP 组的 CN | -| `filter` | string | no | 组的 LDAP 过滤器 | -| `provider` | string | yes | LDAP 组链接的 LDAP 提供程序 | - -**注意:**要删除 LDAP 组链接,请提供`cn`或`filter` ,但不能同时提供两者. - -## Namespaces in groups[](#namespaces-in-groups "Permalink") - -默认情况下,由于 API 结果是分页的,因此组一次只能获得 20 个名称空间. - -要获得更多(最多 100 个),请将以下内容作为参数传递给 API 调用: - -``` -/groups?per_page=100 -``` - -并切换页面添加: - -``` -/groups?per_page=100&page=2 -``` - -## Group badges[](#group-badges "Permalink") - -在[组徽章](group_badges.html)文档中了解更多信息. - -## Group Import/Export[](#group-importexport "Permalink") - -在[组导入/导出](group_import_export.html)文档中了解更多信息. - -## Share Groups with Groups[](#share-groups-with-groups "Permalink") - -这些端点创建和删除用于与另一个组共享一个组的链接. 有关更多信息,请参见[GitLab 组](../user/group/index.html#sharing-a-group-with-another-group)页面中的相关讨论. - -### Create a link to share a group with another group[](#create-a-link-to-share-a-group-with-another-group "Permalink") - -与另一个群组共享群组. 返回`200`和成功的[组详细信息](#details-of-a-group) . - -``` -POST /groups/:id/share -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `group_id` | integer | yes | 与之共享的组的 ID | -| `group_access` | integer | yes | 授予组的[访问级别](members.html#valid-access-levels) | -| `expires_at` | string | no | ISO 8601 格式的股份到期日:2016-09-26 | - -### Delete link sharing group with another group[](#delete-link-sharing-group-with-another-group "Permalink") - -取消与其他群组共享该群组. 返回`204` ,成功则不返回任何内容. - -``` -DELETE /groups/:id/share/:group_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `group_id` | integer | yes | 与之共享的组的 ID | \ No newline at end of file diff --git a/docs/319.md b/docs/319.md deleted file mode 100644 index 39220f8..0000000 --- a/docs/319.md +++ /dev/null @@ -1,67 +0,0 @@ -# Import API - -> 原文:[https://docs.gitlab.com/ee/api/import.html](https://docs.gitlab.com/ee/api/import.html) - -* [Import repository from GitHub](#import-repository-from-github) -* [Import repository from Bitbucket Server](#import-repository-from-bitbucket-server) - -# Import API[](#import-api "Permalink") - -## Import repository from GitHub[](#import-repository-from-github "Permalink") - -通过 API 将项目从 GitHub 导入到 GitLab. - -``` -POST /import/github -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `personal_access_token` | string | yes | GitHub 个人访问令牌 | -| `repo_id` | integer | yes | GitHub 存储库 ID | -| `new_name` | string | no | 新存储库名称 | -| `target_namespace` | string | yes | 要将存储库导入的命名空间 | - -``` -curl --request POST --header "PRIVATE-TOKEN: " --data "personal_access_token=abc123&repo_id=12345&target_namespace=root" "https://gitlab.example.com/api/v4/import/github" -``` - -响应示例: - -``` -{ "id": 27, "name": "my-repo", "full_path": "/root/my-repo", "full_name": "Administrator / my-repo" } -``` - -## Import repository from Bitbucket Server[](#import-repository-from-bitbucket-server "Permalink") - -通过 API 将项目从 Bitbucket Server 导入到 GitLab. - -**注意:** Bitbucket 项目密钥仅用于在 Bitbucket 中查找存储库. 如果要将存储库导入到 GitLab 组,则必须指定`target_namespace` . 如果您未指定`target_namespace` ,则项目将导入您的个人用户名称空间. - -``` -POST /import/bitbucket_server -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `bitbucket_server_url` | string | yes | Bitbucket 服务器网址 | -| `bitbucket_server_username` | string | yes | Bitbucket 服务器用户名 | -| `personal_access_token` | string | yes | Bitbucket 服务器个人访问令牌/密码 | -| `bitbucket_server_project` | string | yes | Bitbucket 项目密钥 | -| `bitbucket_server_repo` | string | yes | Bitbucket 存储库名称 | -| `new_name` | string | no | 新的回购名称 | -| `target_namespace` | string | no | 导入仓库的命名空间 | - -``` -curl --request POST \ - --url https://gitlab.example.com/api/v4/import/bitbucket_server \ - --header "content-type: application/json" \ - --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" \ - --data '{ - "bitbucket_server_url": "http://bitbucket.example.com", - "bitbucket_server_username": "root", - "personal_access_token": "Nzk4MDcxODY4MDAyOiP8y410zF3tGAyLnHRv/E0+3xYs", - "bitbucket_server_project": "NEW", - "bitbucket_server_repo": "my-repo" -}' -``` \ No newline at end of file diff --git a/docs/320.md b/docs/320.md deleted file mode 100644 index 8f0bbde..0000000 --- a/docs/320.md +++ /dev/null @@ -1,253 +0,0 @@ -# Issue Boards API - -> 原文:[https://docs.gitlab.com/ee/api/boards.html](https://docs.gitlab.com/ee/api/boards.html) - -* [Project Board](#project-board) -* [Single board](#single-board) -* [Create a board](#create-a-board-starter) -* [Update a board](#update-a-board-starter) -* [Delete a board](#delete-a-board-starter) -* [List board lists](#list-board-lists) -* [Single board list](#single-board-list) -* [New board list](#new-board-list) -* [Edit board list](#edit-board-list) -* [Delete a board list](#delete-a-board-list) - -# Issue Boards API[](#issue-boards-api "Permalink") - -对板的每个 API 调用都必须经过验证. - -如果用户不是项目成员,并且该项目是私有项目,则对该项目的`GET`请求将导致`404`状态代码. - -## Project Board[](#project-board "Permalink") - -列出给定项目中的发行板. - -``` -GET /projects/:id/boards -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/boards" -``` - -响应示例: - -``` -[ { "id" : 1, "project": { "id": 5, "name": "Diaspora Project Site", "name_with_namespace": "Diaspora / Diaspora Project Site", "path": "diaspora-project-site", "path_with_namespace": "diaspora/diaspora-project-site", "http_url_to_repo": "http://example.com/diaspora/diaspora-project-site.git", "web_url": "http://example.com/diaspora/diaspora-project-site" }, "milestone": { "id": 12, "title": "10.0" }, "lists" : [ { "id" : 1, "label" : { "name" : "Testing", "color" : "#F0AD4E", "description" : null }, "position" : 1, "max_issue_count": 0, "max_issue_weight": 0, "limit_metric": null }, { "id" : 2, "label" : { "name" : "Ready", "color" : "#FF0000", "description" : null }, "position" : 2, "max_issue_count": 0, "max_issue_weight": 0, "limit_metric": null }, { "id" : 3, "label" : { "name" : "Production", "color" : "#FF5F00", "description" : null }, "position" : 3, "max_issue_count": 0, "max_issue_weight": 0, "limit_metric": null } ] } ] -``` - -## Single board[](#single-board "Permalink") - -拿一块板. - -``` -GET /projects/:id/boards/:board_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `board_id` | integer | yes | 单板编号 | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/boards/1" -``` - -响应示例: - -``` - { "id": 1, "name": "project issue board", "project": { "id": 5, "name": "Diaspora Project Site", "name_with_namespace": "Diaspora / Diaspora Project Site", "path": "diaspora-project-site", "path_with_namespace": "diaspora/diaspora-project-site", "http_url_to_repo": "http://example.com/diaspora/diaspora-project-site.git", "web_url": "http://example.com/diaspora/diaspora-project-site" }, "milestone": { "id": 12, "title": "10.0" }, "lists" : [ { "id" : 1, "label" : { "name" : "Testing", "color" : "#F0AD4E", "description" : null }, "position" : 1, "max_issue_count": 0, "max_issue_weight": 0, "limit_metric": null }, { "id" : 2, "label" : { "name" : "Ready", "color" : "#FF0000", "description" : null }, "position" : 2, "max_issue_count": 0, "max_issue_weight": 0, "limit_metric": null }, { "id" : 3, "label" : { "name" : "Production", "color" : "#FF5F00", "description" : null }, "position" : 3, "max_issue_count": 0, "max_issue_weight": 0, "limit_metric": null } ] } -``` - -## Create a board[](#create-a-board-starter "Permalink") - -创建一个木板. - -``` -POST /projects/:id/boards -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `name` | string | yes | 新板的名称 | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/boards?name=newboard" -``` - -响应示例: - -``` - { "id": 1, "project": { "id": 5, "name": "Diaspora Project Site", "name_with_namespace": "Diaspora / Diaspora Project Site", "path": "diaspora-project-site", "path_with_namespace": "diaspora/diaspora-project-site", "http_url_to_repo": "http://example.com/diaspora/diaspora-project-site.git", "web_url": "http://example.com/diaspora/diaspora-project-site" }, "name": "newboard", "milestone": { "id": 12 "title": "10.0" }, "lists" : [ { "id" : 1, "label" : { "name" : "Testing", "color" : "#F0AD4E", "description" : null }, "position" : 1, "max_issue_count": 0, "max_issue_weight": 0, "limit_metric": null }, { "id" : 2, "label" : { "name" : "Ready", "color" : "#FF0000", "description" : null }, "position" : 2, "max_issue_count": 0, "max_issue_weight": 0, "limit_metric": null }, { "id" : 3, "label" : { "name" : "Production", "color" : "#FF5F00", "description" : null }, "position" : 3, "max_issue_count": 0, "max_issue_weight": 0, "limit_metric": null } ] } -``` - -## Update a board[](#update-a-board-starter "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/5954) in [GitLab Starter](https://about.gitlab.com/pricing/) 11.1. - -更新板. - -``` -PUT /projects/:id/boards/:board_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `board_id` | integer | yes | 单板编号 | -| `name` | string | no | 董事会的新名称 | -| `assignee_id` | integer | no | 董事会受让人的范围应为 | -| `milestone_id` | integer | no | 董事会应达到的里程碑 | -| `labels` | string | no | 以逗号分隔的标签名称列表,该范围应适用于板 | -| `weight` | integer | no | 重量范围从 0 到 9,该板的范围应为 | - -``` -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/boards/1?name=new_name&milestone_id=43&assignee_id=1&labels=Doing&weight=4" -``` - -响应示例: - -``` - { "id": 1, "project": { "id": 5, "name": "Diaspora Project Site", "name_with_namespace": "Diaspora / Diaspora Project Site", "path": "diaspora-project-site", "path_with_namespace": "diaspora/diaspora-project-site", "created_at": "2018-07-03T05:48:49.982Z", "default_branch": null, "tag_list": [], "ssh_url_to_repo": "ssh://user@example.com/diaspora/diaspora-project-site.git", "http_url_to_repo": "http://example.com/diaspora/diaspora-project-site.git", "web_url": "http://example.com/diaspora/diaspora-project-site", "readme_url": null, "avatar_url": null, "star_count": 0, "forks_count": 0, "last_activity_at": "2018-07-03T05:48:49.982Z" }, "lists": [], "name": "new_name", "group": null, "milestone": { "id": 43, "iid": 1, "project_id": 15, "title": "Milestone 1", "description": "Milestone 1 desc", "state": "active", "created_at": "2018-07-03T06:36:42.618Z", "updated_at": "2018-07-03T06:36:42.618Z", "due_date": null, "start_date": null, "web_url": "http://example.com/root/board1/milestones/1" }, "assignee": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://example.com/root" }, "labels": [{ "id": 10, "name": "Doing", "color": "#5CB85C", "description": null }], "weight": 4 } -``` - -## Delete a board[](#delete-a-board-starter "Permalink") - -删除板. - -``` -DELETE /projects/:id/boards/:board_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `board_id` | integer | yes | 单板编号 | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/boards/1" -``` - -## List board lists[](#list-board-lists "Permalink") - -获取董事会名单的清单. 不包括`open`和`closed`列表 - -``` -GET /projects/:id/boards/:board_id/lists -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `board_id` | integer | yes | 单板编号 | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/boards/1/lists" -``` - -响应示例: - -``` -[ { "id" : 1, "label" : { "name" : "Testing", "color" : "#F0AD4E", "description" : null }, "position" : 1, "max_issue_count": 0, "max_issue_weight": 0, "limit_metric": null }, { "id" : 2, "label" : { "name" : "Ready", "color" : "#FF0000", "description" : null }, "position" : 2, "max_issue_count": 0, "max_issue_weight": 0, "limit_metric": null }, { "id" : 3, "label" : { "name" : "Production", "color" : "#FF5F00", "description" : null }, "position" : 3, "max_issue_count": 0, "max_issue_weight": 0, "limit_metric": null } ] -``` - -## Single board list[](#single-board-list "Permalink") - -获取单板列表. - -``` -GET /projects/:id/boards/:board_id/lists/:list_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `board_id` | integer | yes | 单板编号 | -| `list_id` | integer | yes | 单板编号 | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/boards/1/lists/1" -``` - -响应示例: - -``` -{ "id" : 1, "label" : { "name" : "Testing", "color" : "#F0AD4E", "description" : null }, "position" : 1, "max_issue_count": 0, "max_issue_weight": 0, "limit_metric": null } -``` - -## New board list[](#new-board-list "Permalink") - -创建一个新的发行委员会列表. - -``` -POST /projects/:id/boards/:board_id/lists -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `board_id` | integer | yes | 单板编号 | -| `label_id` | integer | no | 标签的 ID | -| `assignee_id` | integer | no | 用户的 ID | -| `milestone_id` | integer | no | 里程碑的 ID | - -**注意:**标签,受让人和里程碑参数是互斥的,也就是说,请求中仅接受其中一个. 查看[发行委员会文档](../user/project/issue_board.html#summary-of-features-per-tier) ,以获取有关每种列表类型所需许可证的更多信息. - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/boards/1/lists?label_id=5" -``` - -响应示例: - -``` -{ "id" : 1, "label" : { "name" : "Testing", "color" : "#F0AD4E", "description" : null }, "position" : 1, "max_issue_count": 0, "max_issue_weight": 0, "limit_metric": null } -``` - -## Edit board list[](#edit-board-list "Permalink") - -更新现有的发行委员会列表. 此调用用于更改列表位置. - -``` -PUT /projects/:id/boards/:board_id/lists/:list_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `board_id` | integer | yes | 单板编号 | -| `list_id` | integer | yes | 单板编号 | -| `position` | integer | yes | The position of the list | - -``` -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/boards/1/lists/1?position=2" -``` - -响应示例: - -``` -{ "id" : 1, "label" : { "name" : "Testing", "color" : "#F0AD4E", "description" : null }, "position" : 1, "max_issue_count": 0, "max_issue_weight": 0, "limit_metric": null } -``` - -## Delete a board list[](#delete-a-board-list "Permalink") - -仅适用于管理员和项目所有者. 删除相关的单板列表. - -``` -DELETE /projects/:id/boards/:board_id/lists/:list_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `board_id` | integer | yes | 单板编号 | -| `list_id` | integer | yes | 单板编号 | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/boards/1/lists/1" -``` \ No newline at end of file diff --git a/docs/321.md b/docs/321.md deleted file mode 100644 index 1654bad..0000000 --- a/docs/321.md +++ /dev/null @@ -1,265 +0,0 @@ -# Group Issue Boards API - -> 原文:[https://docs.gitlab.com/ee/api/group_boards.html](https://docs.gitlab.com/ee/api/group_boards.html) - -* [List all group issue boards in a group](#list-all-group-issue-boards-in-a-group) -* [Single group issue board](#single-group-issue-board) -* [Create a group issue board](#create-a-group-issue-board-premium) -* [Update a group issue board](#update-a-group-issue-board-premium) -* [Delete a group issue board](#delete-a-group-issue-board-premium) -* [List group issue board lists](#list-group-issue-board-lists) -* [Single group issue board list](#single-group-issue-board-list) -* [New group issue board list](#new-group-issue-board-list) -* [Edit group issue board list](#edit-group-issue-board-list) -* [Delete a group issue board list](#delete-a-group-issue-board-list) - -# Group Issue Boards API[](#group-issue-boards-api "Permalink") - -对组板的每个 API 调用都必须经过身份验证. - -If a user is not a member of a group and the group is private, a `GET` request will result in `404` status code. - -## List all group issue boards in a group[](#list-all-group-issue-boards-in-a-group "Permalink") - -列出给定组中的发行板. - -``` -GET /groups/:id/boards -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/5/boards" -``` - -响应示例: - -``` -[ { "id": 1, "name:": "group issue board", "group": { "id": 5, "name": "Documentcloud", "web_url": "http://example.com/groups/documentcloud" }, "milestone": { "id": 12 "title": "10.0" }, "lists" : [ { "id" : 1, "label" : { "name" : "Testing", "color" : "#F0AD4E", "description" : null }, "position" : 1 }, { "id" : 2, "label" : { "name" : "Ready", "color" : "#FF0000", "description" : null }, "position" : 2 }, { "id" : 3, "label" : { "name" : "Production", "color" : "#FF5F00", "description" : null }, "position" : 3 } ] } ] -``` - -由于具有多个组板的能力,使用 GitLab [Premium,Silver 或更高版本的用户](https://about.gitlab.com/pricing/)将看到不同的参数. - -响应示例: - -``` -[ { "id": 1, "name:": "group issue board", "group": { "id": 5, "name": "Documentcloud", "web_url": "http://example.com/groups/documentcloud" }, "milestone": { "id": 12 "title": "10.0" }, "lists" : [ { "id" : 1, "label" : { "name" : "Testing", "color" : "#F0AD4E", "description" : null }, "position" : 1 }, { "id" : 2, "label" : { "name" : "Ready", "color" : "#FF0000", "description" : null }, "position" : 2 }, { "id" : 3, "label" : { "name" : "Production", "color" : "#FF5F00", "description" : null }, "position" : 3 } ] } ] -``` - -## Single group issue board[](#single-group-issue-board "Permalink") - -获取单个小组问题委员会. - -``` -GET /groups/:id/boards/:board_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `board_id` | integer | yes | 单板编号 | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/5/boards/1" -``` - -响应示例: - -``` - { "id": 1, "name:": "group issue board", "group": { "id": 5, "name": "Documentcloud", "web_url": "http://example.com/groups/documentcloud" }, "milestone": { "id": 12 "title": "10.0" }, "lists" : [ { "id" : 1, "label" : { "name" : "Testing", "color" : "#F0AD4E", "description" : null }, "position" : 1 }, { "id" : 2, "label" : { "name" : "Ready", "color" : "#FF0000", "description" : null }, "position" : 2 }, { "id" : 3, "label" : { "name" : "Production", "color" : "#FF5F00", "description" : null }, "position" : 3 } ] } -``` - -GitLab [Premium,Silver 或更高版本的用户](https://about.gitlab.com/pricing/)将看到不同的参数,这是因为它具有多个组发行板的功能. - -响应示例: - -``` - { "id": 1, "name:": "group issue board", "group": { "id": 5, "name": "Documentcloud", "web_url": "http://example.com/groups/documentcloud" }, "milestone": { "id": 12 "title": "10.0" }, "lists" : [ { "id" : 1, "label" : { "name" : "Testing", "color" : "#F0AD4E", "description" : null }, "position" : 1 }, { "id" : 2, "label" : { "name" : "Ready", "color" : "#FF0000", "description" : null }, "position" : 2 }, { "id" : 3, "label" : { "name" : "Production", "color" : "#FF5F00", "description" : null }, "position" : 3 } ] } -``` - -## Create a group issue board[](#create-a-group-issue-board-premium "Permalink") - -创建一个小组发行委员会. - -``` -POST /groups/:id/boards -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `name` | string | yes | 新板的名称 | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/5/boards?name=newboard" -``` - -响应示例: - -``` - { "id": 1, "name": "newboard", "group": { "id": 5, "name": "Documentcloud", "web_url": "http://example.com/groups/documentcloud" }, "milestone": { "id": 12 "title": "10.0" }, "lists" : [ { "id" : 1, "label" : { "name" : "Testing", "color" : "#F0AD4E", "description" : null }, "position" : 1 }, { "id" : 2, "label" : { "name" : "Ready", "color" : "#FF0000", "description" : null }, "position" : 2 }, { "id" : 3, "label" : { "name" : "Production", "color" : "#FF5F00", "description" : null }, "position" : 3 } ] } -``` - -## Update a group issue board[](#update-a-group-issue-board-premium "Permalink") - -在 GitLab 11.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/5954) . - -更新组发行板. - -``` -PUT /groups/:id/boards/:board_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `board_id` | integer | yes | 单板编号 | -| `name` | string | no | 董事会的新名称 | -| `assignee_id` | integer | no | 董事会受让人的范围应为 | -| `milestone_id` | integer | no | 董事会应达到的里程碑 | -| `labels` | string | no | 以逗号分隔的标签名称列表,该范围应适用于板 | -| `weight` | integer | no | 重量范围从 0 到 9,该板的范围应为 | - -``` -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/5/boards/1?name=new_name&milestone_id=44&assignee_id=1&labels=GroupLabel&weight=4" -``` - -响应示例: - -``` - { "id": 1, "project": null, "lists": [], "name": "new_name", "group": { "id": 5, "name": "Documentcloud", "web_url": "http://example.com/groups/documentcloud" }, "milestone": { "id": 44, "iid": 1, "group_id": 5, "title": "Group Milestone", "description": "Group Milestone Desc", "state": "active", "created_at": "2018-07-03T07:15:19.271Z", "updated_at": "2018-07-03T07:15:19.271Z", "due_date": null, "start_date": null, "web_url": "http://example.com/groups/documentcloud/-/milestones/1" }, "assignee": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://example.com/root" }, "labels": [{ "id": 11, "name": "GroupLabel", "color": "#428BCA", "description": "" }], "weight": 4 } -``` - -## Delete a group issue board[](#delete-a-group-issue-board-premium "Permalink") - -删除组发行板. - -``` -DELETE /groups/:id/boards/:board_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `board_id` | integer | yes | 单板编号 | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/5/boards/1" -``` - -## List group issue board lists[](#list-group-issue-board-lists "Permalink") - -获取董事会名单的清单. 不包括`open`和`closed`列表 - -``` -GET /groups/:id/boards/:board_id/lists -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `board_id` | integer | yes | 单板编号 | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/5/boards/1/lists" -``` - -响应示例: - -``` -[ { "id" : 1, "label" : { "name" : "Testing", "color" : "#F0AD4E", "description" : null }, "position" : 1 }, { "id" : 2, "label" : { "name" : "Ready", "color" : "#FF0000", "description" : null }, "position" : 2 }, { "id" : 3, "label" : { "name" : "Production", "color" : "#FF5F00", "description" : null }, "position" : 3 } ] -``` - -## Single group issue board list[](#single-group-issue-board-list "Permalink") - -获取单板列表. - -``` -GET /groups/:id/boards/:board_id/lists/:list_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `board_id` | integer | yes | 单板编号 | -| `list_id` | integer | yes | 单板编号 | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/5/boards/1/lists/1" -``` - -响应示例: - -``` -{ "id" : 1, "label" : { "name" : "Testing", "color" : "#F0AD4E", "description" : null }, "position" : 1 } -``` - -## New group issue board list[](#new-group-issue-board-list "Permalink") - -创建一个新的发行委员会列表. - -``` -POST /groups/:id/boards/:board_id/lists -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `board_id` | integer | yes | 单板编号 | -| `label_id` | integer | yes | 标签的 ID | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/4/boards/12/lists?milestone_id=7" -``` - -响应示例: - -``` -{ "id": 9, "label": null, "position": 0, "milestone": { "id": 7, "iid": 3, "group_id": 12, "title": "Milestone with due date", "description": "", "state": "active", "created_at": "2017-09-03T07:16:28.596Z", "updated_at": "2017-09-03T07:16:49.521Z", "due_date": null, "start_date": null, "web_url": "https://gitlab.example.com/groups/issue-reproduce/-/milestones/3" } } -``` - -## Edit group issue board list[](#edit-group-issue-board-list "Permalink") - -更新现有的发行委员会列表. 此调用用于更改列表位置. - -``` -PUT /groups/:id/boards/:board_id/lists/:list_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `board_id` | integer | yes | 单板编号 | -| `list_id` | integer | yes | 单板编号 | -| `position` | integer | yes | 清单的位置 | - -``` -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/group/5/boards/1/lists/1?position=2" -``` - -响应示例: - -``` -{ "id" : 1, "label" : { "name" : "Testing", "color" : "#F0AD4E", "description" : null }, "position" : 1 } -``` - -## Delete a group issue board list[](#delete-a-group-issue-board-list "Permalink") - -仅适用于管理员和群组所有者. 删除相关的单板列表. - -``` -DELETE /groups/:id/boards/:board_id/lists/:list_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `board_id` | integer | yes | 单板编号 | -| `list_id` | integer | yes | 单板编号 | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/5/boards/1/lists/1" -``` \ No newline at end of file diff --git a/docs/322.md b/docs/322.md deleted file mode 100644 index a612126..0000000 --- a/docs/322.md +++ /dev/null @@ -1,779 +0,0 @@ -# Issues API - -> 原文:[https://docs.gitlab.com/ee/api/issues.html](https://docs.gitlab.com/ee/api/issues.html) - -* [Issues pagination](#issues-pagination) -* [List issues](#list-issues) -* [List group issues](#list-group-issues) -* [List project issues](#list-project-issues) -* [Single issue](#single-issue) -* [New issue](#new-issue) -* [Rate limits](#rate-limits) -* [Edit issue](#edit-issue) -* [Delete an issue](#delete-an-issue) -* [Reorder an issue](#reorder-an-issue) -* [Move an issue](#move-an-issue) -* [Subscribe to an issue](#subscribe-to-an-issue) -* [Unsubscribe from an issue](#unsubscribe-from-an-issue) -* [Create a todo](#create-a-todo) -* [Set a time estimate for an issue](#set-a-time-estimate-for-an-issue) -* [Reset the time estimate for an issue](#reset-the-time-estimate-for-an-issue) -* [Add spent time for an issue](#add-spent-time-for-an-issue) -* [Reset spent time for an issue](#reset-spent-time-for-an-issue) -* [Get time tracking stats](#get-time-tracking-stats) -* [List merge requests related to issue](#list-merge-requests-related-to-issue) -* [List merge requests that will close issue on merge](#list-merge-requests-that-will-close-issue-on-merge) -* [Participants on issues](#participants-on-issues) -* [Comments on issues](#comments-on-issues) -* [Get user agent details](#get-user-agent-details) - -# Issues API[](#issues-api "Permalink") - -如果用户不是项目成员,并且该项目是私有项目,则对该项目的`GET`请求将产生`404`状态代码. - -## Issues pagination[](#issues-pagination "Permalink") - -默认情况下,因为 API 结果是分页的,所以`GET`请求一次返回 20 个结果. - -阅读有关[分页的](README.html#pagination)更多信息. - -**弃用:不建议使用**响应中的`reference`属性,而推荐使用`references` . >推出了[GitLab 12.6](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/20354)**注意:** > `references.relative`相对于正在请求问题的组/项目. 从其项目中获取问题时> `relative`格式将与`short`格式相同,并且在跨组/项目进行请求时, `relative`格式将与`full`格式相同. - -## List issues[](#list-issues "Permalink") - -获取经过身份验证的用户有权访问的所有问题. 默认情况下,它仅返回当前用户创建的问题. 要获取所有问题,请使用参数`scope=all` . - -``` -GET /issues -GET /issues?state=opened -GET /issues?state=closed -GET /issues?labels=foo -GET /issues?labels=foo,bar -GET /issues?labels=foo,bar&state=opened -GET /issues?milestone=1.0.0 -GET /issues?milestone=1.0.0&state=opened -GET /issues?iids[]=42&iids[]=43 -GET /issues?author_id=5 -GET /issues?assignee_id=5 -GET /issues?my_reaction_emoji=star -GET /issues?search=foo&in=title -GET /issues?confidential=true -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `state` | string | no | 返回`all`问题,或者仅返回已`opened`或`closed` | -| `labels` | string | no | Comma-separated list of label names, issues must have all labels to be returned. `None` lists all issues with no labels. `Any` lists all issues with at least one label. `No+Label` (Deprecated) lists all issues with no labels. Predefined names are case-insensitive. | -| `with_labels_details` | boolean | no | 如果为`true` ,则响应将为标签字段中的每个标签返回更多详细信息`:name` , `:color` , `:description` , `:description_html` , `:text_color` . 默认值为`false` . [GitLab 12.7](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/21413)中引入了`description_html`属性 | -| `milestone` | string | no | 里程碑标题. `None`列出没有里程碑的所有问题. `Any`列出具有指定里程碑的所有问题. | -| `scope` | string | no | 回到问题在给定范围: `created_by_me` , `assigned_to_me`或`all` . 默认为`created_by_me` -对于 11.0 之前的版本,请改用现在不建议使用`created-by-me`范围或`created-by-me` `assigned-to-me`范围. -*(在 GitLab 9.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13004) .在 GitLab 11.0 中[更改为 snake_case](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/18935) )* | -| `author_id` | integer | no | 返回由给定用户`id`创建的问题. 与`author_username` . 与`scope=all`或`scope=assigned_to_me`结合使用. *(在 GitLab 9.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13004) )* | -| `author_username` | string | no | 返回由给定`username`创建的问题. 类似于`author_id`并且与`author_id` . | -| `assignee_id` | integer | no | 返回分配给给定用户`id` . 互斥与`assignee_username` . `None`返回未分配的问题. 受让人有`Any`退货问题. *(在 GitLab 9.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13004) )* | -| `assignee_username` | 字符串数组 | no | 返回分配给给定`username` . 类似于`assignee_id`并且与`assignee_id`互斥. 在 GitLab CE 中, `assignee_username`数组应仅包含单个值,否则将返回无效的参数错误. | -| `my_reaction_emoji` | string | no | 返回的问题由已验证的用户通过给定的`emoji`响应. `None`返回没有响应的问题. 至少有一个反应, `Any`回报问题. *(在 GitLab 10.0 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/14016) )* | -| `weight` | integer | no | 以指定的`weight`返回问题. `None`返回没有分配权重的问题. 分配了权重的`Any`退货问题. | -| `iids[]` | 整数数组 | no | 仅返回具有给定`iid`的问题 | -| `order_by` | string | no | 回到问题下令`created_at` , `updated_at` , `priority` , `due_date` , `relative_position` , `label_priority` , `milestone_due` , `popularity` , `weight`领域. 默认为`created_at` | -| `sort` | string | no | 返回按`asc`或`desc`排列的问题. 默认为`desc` | -| `search` | string | no | 根据`title`和`description`搜索问题 | -| `in` | string | no | 修改`search`属性的范围. `title` , `description`或以逗号将它们连接在一起的字符串. 默认为`title,description` | -| `created_after` | datetime | no | 返回在给定时间或之后创建的问题 | -| `created_before` | datetime | no | 返回在给定时间或之前创建的问题 | -| `updated_after` | datetime | no | 返回在给定时间或之后更新的问题 | -| `updated_before` | datetime | no | 返回在给定时间或之前更新的问题 | -| `confidential` | boolean | no | 过滤机密或公共问题. | -| `not` | Hash | no | 返回与提供的参数不匹配的问题. 接受: `labels` , `milestone` , `author_id` , `author_username` , `assignee_id` , `assignee_username` , `my_reaction_emoji` | -| `non_archived` | boolean | no | 仅从未归档的项目返回问题. 如果为`false` ,则响应将返回已归档和未归档项目中的问题. 默认值为`true` . *(在[GitLab 13.0 中](https://gitlab.com/gitlab-org/gitlab/-/issues/197170)引入)* | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/issues" -``` - -响应示例: - -``` -[ { "state" : "opened", "description" : "Ratione dolores corrupti mollitia soluta quia.", "author" : { "state" : "active", "id" : 18, "web_url" : "https://gitlab.example.com/eileen.lowe", "name" : "Alexandra Bashirian", "avatar_url" : null, "username" : "eileen.lowe" }, "milestone" : { "project_id" : 1, "description" : "Ducimus nam enim ex consequatur cumque ratione.", "state" : "closed", "due_date" : null, "iid" : 2, "created_at" : "2016-01-04T15:31:39.996Z", "title" : "v4.0", "id" : 17, "updated_at" : "2016-01-04T15:31:39.996Z" }, "project_id" : 1, "assignees" : [{ "state" : "active", "id" : 1, "name" : "Administrator", "web_url" : "https://gitlab.example.com/root", "avatar_url" : null, "username" : "root" }], "assignee" : { "state" : "active", "id" : 1, "name" : "Administrator", "web_url" : "https://gitlab.example.com/root", "avatar_url" : null, "username" : "root" }, "updated_at" : "2016-01-04T15:31:51.081Z", "closed_at" : null, "closed_by" : null, "id" : 76, "title" : "Consequatur vero maxime deserunt laboriosam est voluptas dolorem.", "created_at" : "2016-01-04T15:31:51.081Z", "moved_to_id" : null, "iid" : 6, "labels" : ["foo", "bar"], "upvotes": 4, "downvotes": 0, "merge_requests_count": 0, "user_notes_count": 1, "due_date": "2016-07-22", "web_url": "http://example.com/my-group/my-project/issues/6", "references": { "short": "#6", "relative": "my-group/my-project#6", "full": "my-group/my-project#6" }, "time_stats": { "time_estimate": 0, "total_time_spent": 0, "human_time_estimate": null, "human_total_time_spent": null }, "has_tasks": true, "task_status": "10 of 15 tasks completed", "confidential": false, "discussion_locked": false, "_links":{ "self":"http://example.com/api/v4/projects/1/issues/76", "notes":"`http://example.com/`api/v4/projects/1/issues/76/notes", "award_emoji":"http://example.com/api/v4/projects/1/issues/76/award_emoji", "project":"http://example.com/api/v4/projects/1" }, "task_completion_status":{ "count":0, "completed_count":0 } } ] -``` - -使用 GitLab [Starter,Bronze 或更高版本的用户](https://about.gitlab.com/pricing/)还将看到`weight`参数: - -``` -[ { "state" : "opened", "description" : "Ratione dolores corrupti mollitia soluta quia.", "weight": null, ... } ] -``` - -**注意** :不建议使用`assignee`列,现在我们将其显示为符合 GitLab EE API 的单一大小的数组`assignees` . - -**注意** : [GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042)中[引入了](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042) `closed_by`属性. 只有在 GitLab 10.6 之后关闭的问题以及关闭问题的用户帐户仍然存在时,才会显示此值. - -## List group issues[](#list-group-issues "Permalink") - -获取小组问题的列表. - -如果该组是私有的,则需要提供凭据进行授权. 首选的方法是使用[个人访问令牌](../user/profile/personal_access_tokens.html) . - -``` -GET /groups/:id/issues -GET /groups/:id/issues?state=opened -GET /groups/:id/issues?state=closed -GET /groups/:id/issues?labels=foo -GET /groups/:id/issues?labels=foo,bar -GET /groups/:id/issues?labels=foo,bar&state=opened -GET /groups/:id/issues?milestone=1.0.0 -GET /groups/:id/issues?milestone=1.0.0&state=opened -GET /groups/:id/issues?iids[]=42&iids[]=43 -GET /groups/:id/issues?search=issue+title+or+description -GET /groups/:id/issues?author_id=5 -GET /groups/:id/issues?assignee_id=5 -GET /groups/:id/issues?my_reaction_emoji=star -GET /groups/:id/issues?confidential=true -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `state` | string | no | 返回所有问题,或者仅返回已`opened`或`closed` | -| `labels` | string | no | 标签名称的逗号分隔列表,必须具有要返回的所有标签的问题. `None`列出所有没有标签的问题. `Any`列出至少带有一个标签的所有问题. `No+Label` (不推荐使用)列出所有问题且不带标签. 预定义名称不区分大小写. | -| `with_labels_details` | boolean | no | 如果为`true` ,则响应将为标签字段中的每个标签返回更多详细信息`:name` , `:color` , `:description` , `:description_html` , `:text_color` . 默认值为`false` . [GitLab 12.7](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/21413)中引入了`description_html`属性 | -| `iids[]` | 整数数组 | no | 仅返回具有给定`iid`的问题 | -| `milestone` | string | no | 里程碑标题. `None`列出没有里程碑的所有问题. `Any`列出具有指定里程碑的所有问题. | -| `scope` | string | no | 回到问题在给定范围: `created_by_me` , `assigned_to_me`或`all` . -对于 11.0 之前的版本,请改用现在不建议使用`created-by-me`范围或`created-by-me` `assigned-to-me`范围. -*(在 GitLab 9.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13004) .在 GitLab 11.0 中[更改为 snake_case](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/18935) )* | -| `author_id` | integer | no | 返回由给定用户`id`创建的问题. 与`author_username` . 与`scope=all`或`scope=assigned_to_me`结合使用. *(在 GitLab 9.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13004) )* | -| `author_username` | string | no | 返回由给定`username`创建的问题. 类似于`author_id`并且与`author_id` . | -| `assignee_id` | integer | no | 返回分配给给定用户`id` . 互斥与`assignee_username` . `None`返回未分配的问题. 受让人有`Any`退货问题. *(在 GitLab 9.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13004) )* | -| `assignee_username` | 字符串数组 | no | 返回分配给给定`username` . 类似于`assignee_id`并且与`assignee_id`互斥. 在 GitLab CE 中, `assignee_username`数组应仅包含单个值,否则将返回无效的参数错误. | -| `my_reaction_emoji` | string | no | 返回的问题由已验证的用户通过给定的`emoji`响应. `None`返回没有响应的问题. 至少有一个反应, `Any`回报问题. *(在 GitLab 10.0 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/14016) )* | -| `weight` | integer | no | 以指定的`weight`返回问题. `None`返回没有分配权重的问题. 分配了权重的`Any`退货问题. | -| `order_by` | string | no | 回到问题下令`created_at` , `updated_at` , `priority` , `due_date` , `relative_position` , `label_priority` , `milestone_due` , `popularity` , `weight`领域. 默认为`created_at` | -| `sort` | string | no | 返回按`asc`或`desc`排列的问题. 默认为`desc` | -| `search` | string | no | 搜索组问题的`title`和`description` | -| `created_after` | datetime | no | 返回在给定时间或之后创建的问题 | -| `created_before` | datetime | no | 返回在给定时间或之前创建的问题 | -| `updated_after` | datetime | no | 返回在给定时间或之后更新的问题 | -| `updated_before` | datetime | no | 返回在给定时间或之前更新的问题 | -| `confidential` | boolean | no | 过滤机密或公共问题. | -| `not` | Hash | no | 返回与提供的参数不匹配的问题. 接受: `labels` , `milestone` , `author_id` , `author_username` , `assignee_id` , `assignee_username` , `my_reaction_emoji` , `search` , `in` | -| `non_archived` | boolean | no | 从未归档的项目返回问题. 默认为 true. *(在[GitLab 12.8 中](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/23785)引入)* | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/4/issues" -``` - -响应示例: - -``` -[ { "project_id" : 4, "milestone" : { "due_date" : null, "project_id" : 4, "state" : "closed", "description" : "Rerum est voluptatem provident consequuntur molestias similique ipsum dolor.", "iid" : 3, "id" : 11, "title" : "v3.0", "created_at" : "2016-01-04T15:31:39.788Z", "updated_at" : "2016-01-04T15:31:39.788Z" }, "author" : { "state" : "active", "web_url" : "https://gitlab.example.com/root", "avatar_url" : null, "username" : "root", "id" : 1, "name" : "Administrator" }, "description" : "Omnis vero earum sunt corporis dolor et placeat.", "state" : "closed", "iid" : 1, "assignees" : [{ "avatar_url" : null, "web_url" : "https://gitlab.example.com/lennie", "state" : "active", "username" : "lennie", "id" : 9, "name" : "Dr. Luella Kovacek" }], "assignee" : { "avatar_url" : null, "web_url" : "https://gitlab.example.com/lennie", "state" : "active", "username" : "lennie", "id" : 9, "name" : "Dr. Luella Kovacek" }, "labels" : ["foo", "bar"], "upvotes": 4, "downvotes": 0, "merge_requests_count": 0, "id" : 41, "title" : "Ut commodi ullam eos dolores perferendis nihil sunt.", "updated_at" : "2016-01-04T15:31:46.176Z", "created_at" : "2016-01-04T15:31:46.176Z", "closed_at" : null, "closed_by" : null, "user_notes_count": 1, "due_date": null, "web_url": "http://example.com/my-group/my-project/issues/1", "references": { "short": "#1", "relative": "my-project#1", "full": "my-group/my-project#1" }, "time_stats": { "time_estimate": 0, "total_time_spent": 0, "human_time_estimate": null, "human_total_time_spent": null }, "has_tasks": true, "task_status": "10 of 15 tasks completed", "confidential": false, "discussion_locked": false, "_links":{ "self":"http://example.com/api/v4/projects/4/issues/41", "notes":"`http://example.com/`api/v4/projects/4/issues/41/notes", "award_emoji":"http://example.com/api/v4/projects/4/issues/41/award_emoji", "project":"http://example.com/api/v4/projects/4" }, "task_completion_status":{ "count":0, "completed_count":0 } } ] -``` - -Users on GitLab [Starter, Bronze, or higher](https://about.gitlab.com/pricing/) will also see the `weight` parameter: - -``` -[ { "project_id" : 4, "description" : "Omnis vero earum sunt corporis dolor et placeat.", "weight": null, ... } ] -``` - -**注意** :不建议使用`assignee`列,现在我们将其显示为符合 GitLab EE API 的单一大小的数组`assignees` . - -**注意** : [GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042)中[引入了](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042) `closed_by`属性. 只有在 GitLab 10.6 之后关闭的问题以及关闭问题的用户帐户仍然存在时,才会显示此值. - -## List project issues[](#list-project-issues "Permalink") - -Get a list of a project’s issues. - -如果项目为私人项目,则需要提供凭据进行授权. 首选的方法是使用[个人访问令牌](../user/profile/personal_access_tokens.html) . - -``` -GET /projects/:id/issues -GET /projects/:id/issues?state=opened -GET /projects/:id/issues?state=closed -GET /projects/:id/issues?labels=foo -GET /projects/:id/issues?labels=foo,bar -GET /projects/:id/issues?labels=foo,bar&state=opened -GET /projects/:id/issues?milestone=1.0.0 -GET /projects/:id/issues?milestone=1.0.0&state=opened -GET /projects/:id/issues?iids[]=42&iids[]=43 -GET /projects/:id/issues?search=issue+title+or+description -GET /projects/:id/issues?author_id=5 -GET /projects/:id/issues?assignee_id=5 -GET /projects/:id/issues?my_reaction_emoji=star -GET /projects/:id/issues?confidential=true -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `iids[]` | 整数数组 | no | 仅返回具有给定`iid`的问题 | -| `state` | string | no | 返回所有问题,或者仅返回已`opened`或`closed` | -| `labels` | string | no | 标签名称的逗号分隔列表,必须具有要返回的所有标签的问题. `None`列出所有没有标签的问题. `Any`列出至少带有一个标签的所有问题. `No+Label` (不推荐使用)列出所有问题且不带标签. 预定义名称不区分大小写. | -| `with_labels_details` | boolean | no | 如果为`true` ,则响应将为标签字段中的每个标签返回更多详细信息`:name` , `:color` , `:description` , `:description_html` , `:text_color` . 默认值为`false` . `description_html`在[GitLab 12.7 中](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/21413)引入 | -| `milestone` | string | no | 里程碑标题. `None`列出没有里程碑的所有问题. `Any`列出具有指定里程碑的所有问题. | -| `scope` | string | no | 回到问题在给定范围: `created_by_me` , `assigned_to_me`或`all` . -对于 11.0 之前的版本,请改用现在不建议使用`created-by-me`范围或`created-by-me` `assigned-to-me`范围. -*(在 GitLab 9.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13004) .在 GitLab 11.0 中[更改为 snake_case](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/18935) )* | -| `author_id` | integer | no | 返回由给定用户`id`创建的问题. 与`author_username` . 与`scope=all`或`scope=assigned_to_me`结合使用. *(在 GitLab 9.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13004) )* | -| `author_username` | string | no | 返回由给定`username`创建的问题. 类似于`author_id`并且与`author_id` . | -| `assignee_id` | integer | no | 返回分配给给定用户`id` . 互斥与`assignee_username` . `None`返回未分配的问题. 受让人有`Any`退货问题. *(在 GitLab 9.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13004) )* | -| `assignee_username` | 字符串数组 | no | 返回分配给给定`username` . 类似于`assignee_id`并且与`assignee_id`互斥. 在 GitLab CE 中, `assignee_username`数组应仅包含单个值,否则将返回无效的参数错误. | -| `my_reaction_emoji` | string | no | 返回的问题由已验证的用户通过给定的`emoji`响应. `None`返回没有响应的问题. 至少有一个反应, `Any`回报问题. *(在 GitLab 10.0 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/14016) )* | -| `weight` | integer | no | 以指定的`weight`返回问题. `None`返回没有分配权重的问题. 分配了权重的`Any`退货问题. | -| `order_by` | string | no | 回到问题下令`created_at` , `updated_at` , `priority` , `due_date` , `relative_position` , `label_priority` , `milestone_due` , `popularity` , `weight`领域. 默认为`created_at` | -| `sort` | string | no | 返回按`asc`或`desc`排列的问题. 默认为`desc` | -| `search` | string | no | 根据`title`和`description`搜索项目问题 | -| `created_after` | datetime | no | 返回在给定时间或之后创建的问题 | -| `created_before` | datetime | no | 返回在给定时间或之前创建的问题 | -| `updated_after` | datetime | no | 返回在给定时间或之后更新的问题 | -| `updated_before` | datetime | no | 返回在给定时间或之前更新的问题 | -| `confidential` | boolean | no | 过滤机密或公共问题. | -| `not` | Hash | no | 返回与提供的参数不匹配的问题. 接受: `labels` , `milestone` , `author_id` , `author_username` , `assignee_id` , `assignee_username` , `my_reaction_emoji` , `search` , `in` | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/4/issues" -``` - -响应示例: - -``` -[ { "project_id" : 4, "milestone" : { "due_date" : null, "project_id" : 4, "state" : "closed", "description" : "Rerum est voluptatem provident consequuntur molestias similique ipsum dolor.", "iid" : 3, "id" : 11, "title" : "v3.0", "created_at" : "2016-01-04T15:31:39.788Z", "updated_at" : "2016-01-04T15:31:39.788Z" }, "author" : { "state" : "active", "web_url" : "https://gitlab.example.com/root", "avatar_url" : null, "username" : "root", "id" : 1, "name" : "Administrator" }, "description" : "Omnis vero earum sunt corporis dolor et placeat.", "state" : "closed", "iid" : 1, "assignees" : [{ "avatar_url" : null, "web_url" : "https://gitlab.example.com/lennie", "state" : "active", "username" : "lennie", "id" : 9, "name" : "Dr. Luella Kovacek" }], "assignee" : { "avatar_url" : null, "web_url" : "https://gitlab.example.com/lennie", "state" : "active", "username" : "lennie", "id" : 9, "name" : "Dr. Luella Kovacek" }, "labels" : ["foo", "bar"], "upvotes": 4, "downvotes": 0, "merge_requests_count": 0, "id" : 41, "title" : "Ut commodi ullam eos dolores perferendis nihil sunt.", "updated_at" : "2016-01-04T15:31:46.176Z", "created_at" : "2016-01-04T15:31:46.176Z", "closed_at" : "2016-01-05T15:31:46.176Z", "closed_by" : { "state" : "active", "web_url" : "https://gitlab.example.com/root", "avatar_url" : null, "username" : "root", "id" : 1, "name" : "Administrator" }, "user_notes_count": 1, "due_date": "2016-07-22", "web_url": "http://example.com/my-group/my-project/issues/1", "references": { "short": "#1", "relative": "#1", "full": "my-group/my-project#1" }, "time_stats": { "time_estimate": 0, "total_time_spent": 0, "human_time_estimate": null, "human_total_time_spent": null }, "has_tasks": true, "task_status": "10 of 15 tasks completed", "confidential": false, "discussion_locked": false, "_links":{ "self":"http://example.com/api/v4/projects/4/issues/41", "notes":"`http://example.com/`api/v4/projects/4/issues/41/notes", "award_emoji":"http://example.com/api/v4/projects/4/issues/41/award_emoji", "project":"http://example.com/api/v4/projects/4" }, "task_completion_status":{ "count":0, "completed_count":0 } } ] -``` - -使用 GitLab [Starter,Bronze 或更高版本的用户](https://about.gitlab.com/pricing/)还将看到`weight`参数: - -``` -[ { "project_id" : 4, "description" : "Omnis vero earum sunt corporis dolor et placeat.", "weight": null, ... } ] -``` - -**注意** :不建议使用`assignee`列,现在我们将其显示为符合 GitLab EE API 的单一大小的数组`assignees` . - -**注意** : [GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042)中[引入了](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042) `closed_by`属性. 只有在 GitLab 10.6 之后关闭的问题以及关闭问题的用户帐户仍然存在时,才会显示此值. - -## Single issue[](#single-issue "Permalink") - -获得单个项目问题. - -如果项目为私人项目或问题为机密,则需要提供凭据进行授权. 首选的方法是使用[个人访问令牌](../user/profile/personal_access_tokens.html) . - -``` -GET /projects/:id/issues/:issue_iid -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `issue_iid` | integer | yes | The internal ID of a project’s issue | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/4/issues/41" -``` - -响应示例: - -``` -{ "project_id" : 4, "milestone" : { "due_date" : null, "project_id" : 4, "state" : "closed", "description" : "Rerum est voluptatem provident consequuntur molestias similique ipsum dolor.", "iid" : 3, "id" : 11, "title" : "v3.0", "created_at" : "2016-01-04T15:31:39.788Z", "updated_at" : "2016-01-04T15:31:39.788Z", "closed_at" : "2016-01-05T15:31:46.176Z" }, "author" : { "state" : "active", "web_url" : "https://gitlab.example.com/root", "avatar_url" : null, "username" : "root", "id" : 1, "name" : "Administrator" }, "description" : "Omnis vero earum sunt corporis dolor et placeat.", "state" : "closed", "iid" : 1, "assignees" : [{ "avatar_url" : null, "web_url" : "https://gitlab.example.com/lennie", "state" : "active", "username" : "lennie", "id" : 9, "name" : "Dr. Luella Kovacek" }], "assignee" : { "avatar_url" : null, "web_url" : "https://gitlab.example.com/lennie", "state" : "active", "username" : "lennie", "id" : 9, "name" : "Dr. Luella Kovacek" }, "labels" : [], "upvotes": 4, "downvotes": 0, "merge_requests_count": 0, "id" : 41, "title" : "Ut commodi ullam eos dolores perferendis nihil sunt.", "updated_at" : "2016-01-04T15:31:46.176Z", "created_at" : "2016-01-04T15:31:46.176Z", "closed_at" : null, "closed_by" : null, "subscribed": false, "user_notes_count": 1, "due_date": null, "web_url": "http://example.com/my-group/my-project/issues/1", "references": { "short": "#1", "relative": "#1", "full": "my-group/my-project#1" }, "time_stats": { "time_estimate": 0, "total_time_spent": 0, "human_time_estimate": null, "human_total_time_spent": null }, "confidential": false, "discussion_locked": false, "_links": { "self": "http://example.com/api/v4/projects/1/issues/2", "notes": "http://example.com/api/v4/projects/1/issues/2/notes", "award_emoji": "http://example.com/api/v4/projects/1/issues/2/award_emoji", "project": "http://example.com/api/v4/projects/1" }, "task_completion_status":{ "count":0, "completed_count":0 } } -``` - -使用 GitLab [Starter,Bronze 或更高版本的用户](https://about.gitlab.com/pricing/)还将看到`weight`参数: - -``` -{ "project_id" : 4, "description" : "Omnis vero earum sunt corporis dolor et placeat.", "weight": null, ... } -``` - -使用 GitLab [Premium 的](https://about.gitlab.com/pricing/)用户还将看到`epic`属性: - -``` -{ - "project_id" : 4, - "description" : "Omnis vero earum sunt corporis dolor et placeat.", - "epic_iid" : 5, //deprecated, use `iid` of the `epic` attribute - "epic": { - "id" : 42, - "iid" : 5, - "title": "My epic epic", - "url" : "/groups/h5bp/-/epics/5", - "group_id": 8 - }, - // ... -} -``` - -**注意** :不建议使用`assignee`列,现在我们将其显示为符合 GitLab EE API 的单一大小的数组`assignees` . - -**注意** : [GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042)中[引入了](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042) `closed_by`属性. 只有在 GitLab 10.6 之后关闭的问题以及关闭问题的用户帐户仍然存在时,才会显示此值. - -**注意** : `epic_iid`属性已过时, [将在版本 5 中删除](https://gitlab.com/gitlab-org/gitlab/-/issues/35157) . 请改用`epic`属性的`iid` . - -## New issue[](#new-issue "Permalink") - -创建一个新的项目问题. - -``` -POST /projects/:id/issues -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `iid` | integer/string | no | 项目问题的内部 ID(需要管理员或项目所有者权限) | -| `title` | string | yes | 问题标题 | -| `description` | string | no | 问题的描述. 限制为 1,048,576 个字符. | -| `confidential` | boolean | no | 将问题设置为机密. 默认值为`false` . | -| `assignee_ids` | 整数数组 | no | 要分配问题的用户的 ID | -| `milestone_id` | integer | no | 分配问题的里程碑的全局 ID | -| `labels` | string | no | 问题的逗号分隔标签名称 | -| `created_at` | string | no | 日期时间字符串,ISO 8601 格式,例如`2016-03-11T03:45:40Z` (需要管理员或项目/组所有者权限) | -| `due_date` | string | no | 日期时间字符串,格式为 YEAR-MONTH-DAY,例如`2016-03-11` | -| `merge_request_to_resolve_discussions_of` | integer | no | 解决所有问题的合并请求的 IID. 这将使用默认描述填充问题,并将所有讨论标记为已解决. 传递描述或标题时,这些值将优先于默认值. | -| `discussion_to_resolve` | string | no | 要解决的讨论的​​ID. 这将使用默认描述填充问题,并将讨论标记为已解决. 与`merge_request_to_resolve_discussions_of`结合使用. | -| `weight` | integer | no | 问题的分量. 有效值大于或等于 0. | -| `epic_id` | integer | no | 要添加问题的史诗的 ID. 有效值大于或等于 0. | -| `epic_iid` | integer | no | 要添加问题的史诗的 IID. 有效值大于或等于 0.(不建议使用, [将在版本 5 中将其删除](https://gitlab.com/gitlab-org/gitlab/-/issues/35157) ) | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/4/issues?title=Issues%20with%20auth&labels=bug" -``` - -响应示例: - -``` -{ "project_id" : 4, "id" : 84, "created_at" : "2016-01-07T12:44:33.959Z", "iid" : 14, "title" : "Issues with auth", "state" : "opened", "assignees" : [], "assignee" : null, "labels" : [ "bug" ], "upvotes": 4, "downvotes": 0, "merge_requests_count": 0, "author" : { "name" : "Alexandra Bashirian", "avatar_url" : null, "state" : "active", "web_url" : "https://gitlab.example.com/eileen.lowe", "id" : 18, "username" : "eileen.lowe" }, "description" : null, "updated_at" : "2016-01-07T12:44:33.959Z", "closed_at" : null, "closed_by" : null, "milestone" : null, "subscribed" : true, "user_notes_count": 0, "due_date": null, "web_url": "http://example.com/my-group/my-project/issues/14", "references": { "short": "#14", "relative": "#14", "full": "my-group/my-project#14" }, "time_stats": { "time_estimate": 0, "total_time_spent": 0, "human_time_estimate": null, "human_total_time_spent": null }, "confidential": false, "discussion_locked": false, "_links": { "self": "http://example.com/api/v4/projects/1/issues/2", "notes": "http://example.com/api/v4/projects/1/issues/2/notes", "award_emoji": "http://example.com/api/v4/projects/1/issues/2/award_emoji", "project": "http://example.com/api/v4/projects/1" }, "task_completion_status":{ "count":0, "completed_count":0 } } -``` - -使用 GitLab [Starter,Bronze 或更高版本的用户](https://about.gitlab.com/pricing/)还将看到`weight`参数: - -``` -{ "project_id" : 4, "description" : null, "weight": null, ... } -``` - -**注意** :不建议使用`assignee`列,现在我们将其显示为符合 GitLab EE API 的单一大小的数组`assignees` . - -**注意** : [GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042)中[引入了](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042) `closed_by`属性. 只有在 GitLab 10.6 之后关闭的问题以及关闭问题的用户帐户仍然存在时,才会显示此值. - -## Rate limits[](#rate-limits "Permalink") - -为了避免滥用,用户仅限于: - -| 请求类型 | Limit | -| --- | --- | -| Create | 每分钟 300 期 | - -## Edit issue[](#edit-issue "Permalink") - -更新现有项目问题. 此调用还用于将问题标记为已结束. - -``` -PUT /projects/:id/issues/:issue_iid -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `issue_iid` | integer | yes | 项目问题的内部 ID | -| `title` | string | no | 问题标题 | -| `description` | string | no | 问题的描述. 限制为 1,048,576 个字符. | -| `confidential` | boolean | no | 将问题更新为机密 | -| `assignee_ids` | 整数数组 | no | 要分配问题的用户的 ID. 设置为`0`或提供一个空值以取消分配所有受让人. | -| `milestone_id` | integer | no | 要分配问题的里程碑的全局 ID. 设置为`0`或提供一个空值以取消分配里程碑. | -| `labels` | string | no | 问题的标签名称,以逗号分隔. 设置为空字符串以取消分配所有标签. | -| `add_labels` | string | no | 以逗号分隔的标签名称添加到问题中. | -| `remove_labels` | string | no | 逗号分隔的标签名称可从问题中删除. | -| `state_event` | string | no | 问题的状态事件. 设为`close`以关闭问题,然后`reopen`以重新打开它 | -| `updated_at` | string | no | 日期时间字符串,ISO 8601 格式,例如`2016-03-11T03:45:40Z` (需要管理员或项目所有者权限). 不接受空字符串或空值. | -| `due_date` | string | no | 日期时间字符串,格式为 YEAR-MONTH-DAY,例如`2016-03-11` | -| `weight` | integer | no | 问题的分量. 有效值大于或等于 0.0 | -| `discussion_locked` | boolean | no | 指示问题的讨论是否被锁定的标志. 如果讨论被锁定,则只有项目成员可以添加或编辑评论. | -| `epic_id` | integer | no | 要添加问题的史诗的 ID. 有效值大于或等于 0. | -| `epic_iid` | integer | no | 要添加问题的史诗的 IID. 有效值大于或等于 0.(不建议使用, [将在版本 5 中将其删除](https://gitlab.com/gitlab-org/gitlab/-/issues/35157) ) | - -``` -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/4/issues/85?state_event=close" -``` - -响应示例: - -``` -{ "created_at" : "2016-01-07T12:46:01.410Z", "author" : { "name" : "Alexandra Bashirian", "avatar_url" : null, "username" : "eileen.lowe", "id" : 18, "state" : "active", "web_url" : "https://gitlab.example.com/eileen.lowe" }, "state" : "closed", "title" : "Issues with auth", "project_id" : 4, "description" : null, "updated_at" : "2016-01-07T12:55:16.213Z", "closed_at" : "2016-01-08T12:55:16.213Z", "closed_by" : { "state" : "active", "web_url" : "https://gitlab.example.com/root", "avatar_url" : null, "username" : "root", "id" : 1, "name" : "Administrator" }, "iid" : 15, "labels" : [ "bug" ], "upvotes": 4, "downvotes": 0, "merge_requests_count": 0, "id" : 85, "assignees" : [], "assignee" : null, "milestone" : null, "subscribed" : true, "user_notes_count": 0, "due_date": "2016-07-22", "web_url": "http://example.com/my-group/my-project/issues/15", "references": { "short": "#15", "relative": "#15", "full": "my-group/my-project#15" }, "time_stats": { "time_estimate": 0, "total_time_spent": 0, "human_time_estimate": null, "human_total_time_spent": null }, "confidential": false, "discussion_locked": false, "_links": { "self": "http://example.com/api/v4/projects/1/issues/2", "notes": "http://example.com/api/v4/projects/1/issues/2/notes", "award_emoji": "http://example.com/api/v4/projects/1/issues/2/award_emoji", "project": "http://example.com/api/v4/projects/1" }, "task_completion_status":{ "count":0, "completed_count":0 } } -``` - -使用 GitLab [Starter,Bronze 或更高版本的用户](https://about.gitlab.com/pricing/)还将看到`weight`参数: - -``` -{ "project_id" : 4, "description" : null, "weight": null, ... } -``` - -**注:**至少以下参数之一是需要传递的请求是成功的: `:assignee_id` , `:assignee_ids` , `:confidential` , `:created_at` , `:description` , `:discussion_locked` , `:due_date` , `:labels` , `:milestone_id` , `:state_event` ,或`:title` .**注意:**不建议使用`assignee`列. 现在,我们将其显示为符合 GitLab EE API 的单个大小的数组`assignees` .**注意:** `closed_by`属性是[在 GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042)中[引入的](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042) . 只有在 GitLab 10.6 之后关闭的问题以及关闭问题的用户帐户仍然存在时,才会显示此值. - -## Delete an issue[](#delete-an-issue "Permalink") - -仅适用于管理员和项目所有者. 删除相关问题. - -``` -DELETE /projects/:id/issues/:issue_iid -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `issue_iid` | integer | yes | 项目问题的内部 ID | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/4/issues/85" -``` - -## Reorder an issue[](#reorder-an-issue "Permalink") - -> 作为[社区贡献](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35349) [引入](https://gitlab.com/gitlab-org/gitlab/-/issues/211864)到 GitLab 13.2 中. - -重新排序问题,手动排序问题时可以看到结果 - -``` -PUT /projects/:id/issues/:issue_iid/reorder -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `issue_iid` | integer | yes | 项目问题的内部 ID | -| `move_after_id` | integer | no | 一个项目的 ID,以便在以后移动此问题 | -| `move_before_id` | integer | no | 一个项目的 ID,以便在此之前移此问题 | - -``` -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/4/issues/85/reorder?move_after_id=51&move_before_id=92" -``` - -## Move an issue[](#move-an-issue "Permalink") - -将问题移到其他项目. 如果目标项目等于源项目,或者用户没有足够的权限来移动问题,则返回错误`400`和解释性错误消息. - -If a given label and/or milestone with the same name also exists in the target project, it will then be assigned to the issue that is being moved. - -``` -POST /projects/:id/issues/:issue_iid/move -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `issue_iid` | integer | yes | 项目问题的内部 ID | -| `to_project_id` | integer | yes | 新项目的 ID | - -``` -curl --header "PRIVATE-TOKEN: " --form to_project_id=5 "https://gitlab.example.com/api/v4/projects/4/issues/85/move" -``` - -Example response: - -``` -{ "id": 92, "iid": 11, "project_id": 5, "title": "Sit voluptas tempora quisquam aut doloribus et.", "description": "Repellat voluptas quibusdam voluptatem exercitationem.", "state": "opened", "created_at": "2016-04-05T21:41:45.652Z", "updated_at": "2016-04-07T12:20:17.596Z", "closed_at": null, "closed_by": null, "labels": [], "upvotes": 4, "downvotes": 0, "merge_requests_count": 0, "milestone": null, "assignees": [{ "name": "Miss Monserrate Beier", "username": "axel.block", "id": 12, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/46f6f7dc858ada7be1853f7fb96e81da?s=80&d=identicon", "web_url": "https://gitlab.example.com/axel.block" }], "assignee": { "name": "Miss Monserrate Beier", "username": "axel.block", "id": 12, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/46f6f7dc858ada7be1853f7fb96e81da?s=80&d=identicon", "web_url": "https://gitlab.example.com/axel.block" }, "author": { "name": "Kris Steuber", "username": "solon.cremin", "id": 10, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/7a190fecbaa68212a4b68aeb6e3acd10?s=80&d=identicon", "web_url": "https://gitlab.example.com/solon.cremin" }, "due_date": null, "web_url": "http://example.com/my-group/my-project/issues/11", "references": { "short": "#11", "relative": "#11", "full": "my-group/my-project#11" }, "time_stats": { "time_estimate": 0, "total_time_spent": 0, "human_time_estimate": null, "human_total_time_spent": null }, "confidential": false, "discussion_locked": false, "_links": { "self": "http://example.com/api/v4/projects/1/issues/2", "notes": "http://example.com/api/v4/projects/1/issues/2/notes", "award_emoji": "http://example.com/api/v4/projects/1/issues/2/award_emoji", "project": "http://example.com/api/v4/projects/1" }, "task_completion_status":{ "count":0, "completed_count":0 } } -``` - -使用 GitLab [Starter,Bronze 或更高版本的用户](https://about.gitlab.com/pricing/)还将看到`weight`参数: - -``` -{ "project_id": 5, "description": "Repellat voluptas quibusdam voluptatem exercitationem.", "weight": null, ... } -``` - -**注意** :不建议使用`assignee`列,现在我们将其显示为符合 GitLab EE API 的单一大小的数组`assignees` . - -**注意** : [GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042)中[引入了](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042) `closed_by`属性. 只有在 GitLab 10.6 之后关闭的问题以及关闭问题的用户帐户仍然存在时,才会显示此值. - -## Subscribe to an issue[](#subscribe-to-an-issue "Permalink") - -为经过身份验证的用户订阅问题以接收通知. 如果用户已经订阅了该问题,则返回状态码`304` . - -``` -POST /projects/:id/issues/:issue_iid/subscribe -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `issue_iid` | integer | yes | 项目问题的内部 ID | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/issues/93/subscribe" -``` - -响应示例: - -``` -{ "id": 92, "iid": 11, "project_id": 5, "title": "Sit voluptas tempora quisquam aut doloribus et.", "description": "Repellat voluptas quibusdam voluptatem exercitationem.", "state": "opened", "created_at": "2016-04-05T21:41:45.652Z", "updated_at": "2016-04-07T12:20:17.596Z", "closed_at": null, "closed_by": null, "labels": [], "upvotes": 4, "downvotes": 0, "merge_requests_count": 0, "milestone": null, "assignees": [{ "name": "Miss Monserrate Beier", "username": "axel.block", "id": 12, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/46f6f7dc858ada7be1853f7fb96e81da?s=80&d=identicon", "web_url": "https://gitlab.example.com/axel.block" }], "assignee": { "name": "Miss Monserrate Beier", "username": "axel.block", "id": 12, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/46f6f7dc858ada7be1853f7fb96e81da?s=80&d=identicon", "web_url": "https://gitlab.example.com/axel.block" }, "author": { "name": "Kris Steuber", "username": "solon.cremin", "id": 10, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/7a190fecbaa68212a4b68aeb6e3acd10?s=80&d=identicon", "web_url": "https://gitlab.example.com/solon.cremin" }, "due_date": null, "web_url": "http://example.com/my-group/my-project/issues/11", "references": { "short": "#11", "relative": "#11", "full": "my-group/my-project#11" }, "time_stats": { "time_estimate": 0, "total_time_spent": 0, "human_time_estimate": null, "human_total_time_spent": null }, "confidential": false, "discussion_locked": false, "_links": { "self": "http://example.com/api/v4/projects/1/issues/2", "notes": "http://example.com/api/v4/projects/1/issues/2/notes", "award_emoji": "http://example.com/api/v4/projects/1/issues/2/award_emoji", "project": "http://example.com/api/v4/projects/1" }, "task_completion_status":{ "count":0, "completed_count":0 } } -``` - -使用 GitLab [Starter,Bronze 或更高版本的用户](https://about.gitlab.com/pricing/)还将看到`weight`参数: - -``` -{ "project_id": 5, "description": "Repellat voluptas quibusdam voluptatem exercitationem.", "weight": null, ... } -``` - -**注意** :不建议使用`assignee`列,现在我们将其显示为符合 GitLab EE API 的单一大小的数组`assignees` . - -**注意** : [GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042)中[引入了](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042) `closed_by`属性. 只有在 GitLab 10.6 之后关闭的问题以及关闭问题的用户帐户仍然存在时,才会显示此值. - -## Unsubscribe from an issue[](#unsubscribe-from-an-issue "Permalink") - -从问题中退订已认证的用户,以不接收来自该问题的通知. 如果用户未订阅该问题,则返回状态码`304` . - -``` -POST /projects/:id/issues/:issue_iid/unsubscribe -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `issue_iid` | integer | yes | 项目问题的内部 ID | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/issues/93/unsubscribe" -``` - -响应示例: - -``` -{ "id": 93, "iid": 12, "project_id": 5, "title": "Incidunt et rerum ea expedita iure quibusdam.", "description": "Et cumque architecto sed aut ipsam.", "state": "opened", "created_at": "2016-04-05T21:41:45.217Z", "updated_at": "2016-04-07T13:02:37.905Z", "labels": [], "upvotes": 4, "downvotes": 0, "merge_requests_count": 0, "milestone": null, "assignee": { "name": "Edwardo Grady", "username": "keyon", "id": 21, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/3e6f06a86cf27fa8b56f3f74f7615987?s=80&d=identicon", "web_url": "https://gitlab.example.com/keyon" }, "closed_at": null, "closed_by": null, "author": { "name": "Vivian Hermann", "username": "orville", "id": 11, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/5224fd70153710e92fb8bcf79ac29d67?s=80&d=identicon", "web_url": "https://gitlab.example.com/orville" }, "subscribed": false, "due_date": null, "web_url": "http://example.com/my-group/my-project/issues/12", "references": { "short": "#12", "relative": "#12", "full": "my-group/my-project#12" }, "confidential": false, "discussion_locked": false, "task_completion_status":{ "count":0, "completed_count":0 } } -``` - -## Create a todo[](#create-a-todo "Permalink") - -在问题上为当前用户手动创建待办事项. 如果在该问题上已经存在用户的待办事项,则返回状态码`304` . - -``` -POST /projects/:id/issues/:issue_iid/todo -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `issue_iid` | integer | yes | 项目问题的内部 ID | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/issues/93/todo" -``` - -响应示例: - -``` -{ "id": 112, "project": { "id": 5, "name": "GitLab CI/CD", "name_with_namespace": "GitLab Org / GitLab CI/CD", "path": "gitlab-ci", "path_with_namespace": "gitlab-org/gitlab-ci" }, "author": { "name": "Administrator", "username": "root", "id": 1, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "https://gitlab.example.com/root" }, "action_name": "marked", "target_type": "Issue", "target": { "id": 93, "iid": 10, "project_id": 5, "title": "Vel voluptas atque dicta mollitia adipisci qui at.", "description": "Tempora laboriosam sint magni sed voluptas similique.", "state": "closed", "created_at": "2016-06-17T07:47:39.486Z", "updated_at": "2016-07-01T11:09:13.998Z", "labels": [], "milestone": { "id": 26, "iid": 1, "project_id": 5, "title": "v0.0", "description": "Accusantium nostrum rerum quae quia quis nesciunt suscipit id.", "state": "closed", "created_at": "2016-06-17T07:47:33.832Z", "updated_at": "2016-06-17T07:47:33.832Z", "due_date": null }, "assignees": [{ "name": "Jarret O'Keefe", "username": "francisca", "id": 14, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/a7fa515d53450023c83d62986d0658a8?s=80&d=identicon", "web_url": "https://gitlab.example.com/francisca" }], "assignee": { "name": "Jarret O'Keefe", "username": "francisca", "id": 14, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/a7fa515d53450023c83d62986d0658a8?s=80&d=identicon", "web_url": "https://gitlab.example.com/francisca" }, "author": { "name": "Maxie Medhurst", "username": "craig_rutherford", "id": 12, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/a0d477b3ea21970ce6ffcbb817b0b435?s=80&d=identicon", "web_url": "https://gitlab.example.com/craig_rutherford" }, "subscribed": true, "user_notes_count": 7, "upvotes": 0, "downvotes": 0, "merge_requests_count": 0, "due_date": null, "web_url": "http://example.com/my-group/my-project/issues/10", "references": { "short": "#10", "relative": "#10", "full": "my-group/my-project#10" }, "confidential": false, "discussion_locked": false, "task_completion_status":{ "count":0, "completed_count":0 } }, "target_url": "https://gitlab.example.com/gitlab-org/gitlab-ci/issues/10", "body": "Vel voluptas atque dicta mollitia adipisci qui at.", "state": "pending", "created_at": "2016-07-01T11:09:13.992Z" } -``` - -**注意** :不建议使用`assignee`列,现在我们将其显示为符合 GitLab EE API 的单一大小的数组`assignees` . - -**注意** : [GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042)中[引入了](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042) `closed_by`属性. 只有在 GitLab 10.6 之后关闭的问题以及关闭问题的用户帐户仍然存在时,才会显示此值. - -## Set a time estimate for an issue[](#set-a-time-estimate-for-an-issue "Permalink") - -设置此问题的估计工作时间. - -``` -POST /projects/:id/issues/:issue_iid/time_estimate -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `issue_iid` | integer | yes | 项目问题的内部 ID | -| `duration` | string | yes | 以人类格式表示的持续时间. 例如:3h30m | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/issues/93/time_estimate?duration=3h30m" -``` - -响应示例: - -``` -{ "human_time_estimate": "3h 30m", "human_total_time_spent": null, "time_estimate": 12600, "total_time_spent": 0 } -``` - -## Reset the time estimate for an issue[](#reset-the-time-estimate-for-an-issue "Permalink") - -将此问题的估计时间重置为 0 秒. - -``` -POST /projects/:id/issues/:issue_iid/reset_time_estimate -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `issue_iid` | integer | yes | 项目问题的内部 ID | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/issues/93/reset_time_estimate" -``` - -响应示例: - -``` -{ "human_time_estimate": null, "human_total_time_spent": null, "time_estimate": 0, "total_time_spent": 0 } -``` - -## Add spent time for an issue[](#add-spent-time-for-an-issue "Permalink") - -增加了解决此问题的时间 - -``` -POST /projects/:id/issues/:issue_iid/add_spent_time -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `issue_iid` | integer | yes | 项目问题的内部 ID | -| `duration` | string | yes | 以人类格式表示的持续时间. 例如:3h30m | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/issues/93/add_spent_time?duration=1h" -``` - -Example response: - -``` -{ "human_time_estimate": null, "human_total_time_spent": "1h", "time_estimate": 0, "total_time_spent": 3600 } -``` - -## Reset spent time for an issue[](#reset-spent-time-for-an-issue "Permalink") - -将此问题的总花费时间重置为 0 秒. - -``` -POST /projects/:id/issues/:issue_iid/reset_spent_time -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `issue_iid` | integer | yes | 项目问题的内部 ID | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/issues/93/reset_spent_time" -``` - -响应示例: - -``` -{ "human_time_estimate": null, "human_total_time_spent": null, "time_estimate": 0, "total_time_spent": 0 } -``` - -## Get time tracking stats[](#get-time-tracking-stats "Permalink") - -如果项目为私人项目或问题为机密,则需要提供凭据进行授权. 首选的方法是使用[个人访问令牌](../user/profile/personal_access_tokens.html) . - -``` -GET /projects/:id/issues/:issue_iid/time_stats -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `issue_iid` | integer | yes | 项目问题的内部 ID | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/issues/93/time_stats" -``` - -响应示例: - -``` -{ "human_time_estimate": "2h", "human_total_time_spent": "1h", "time_estimate": 7200, "total_time_spent": 3600 } -``` - -## List merge requests related to issue[](#list-merge-requests-related-to-issue "Permalink") - -获取与该问题相关的所有合并请求. - -如果项目为私人项目或问题为机密,则需要提供凭据进行授权. 首选的方法是使用[个人访问令牌](../user/profile/personal_access_tokens.html) . - -``` -GET /projects/:id/issues/:issue_id/related_merge_requests -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `issue_iid` | integer | yes | 项目问题的内部 ID | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/issues/11/related_merge_requests" -``` - -响应示例: - -``` -[ { "id": 29, "iid": 11, "project_id": 1, "title": "Provident eius eos blanditiis consequatur neque odit.", "description": "Ut consequatur ipsa aspernatur quisquam voluptatum fugit. Qui harum corporis quo fuga ut incidunt veritatis. Autem necessitatibus et harum occaecati nihil ea.\r\n\r\ntwitter/flight#8", "state": "opened", "created_at": "2018-09-18T14:36:15.510Z", "updated_at": "2018-09-19T07:45:13.089Z", "closed_by": null, "closed_at": null, "target_branch": "v2.x", "source_branch": "so_long_jquery", "user_notes_count": 9, "upvotes": 0, "downvotes": 0, "author": { "id": 14, "name": "Verna Hills", "username": "lawanda_reinger", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/de68a91aeab1cff563795fb98a0c2cc0?s=80&d=identicon", "web_url": "https://gitlab.example.com/lawanda_reinger" }, "assignee": { "id": 19, "name": "Jody Baumbach", "username": "felipa.kuvalis", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/6541fc75fc4e87e203529bd275fafd07?s=80&d=identicon", "web_url": "https://gitlab.example.com/felipa.kuvalis" }, "source_project_id": 1, "target_project_id": 1, "labels": [], "work_in_progress": false, "milestone": { "id": 27, "iid": 2, "project_id": 1, "title": "v1.0", "description": "Et tenetur voluptatem minima doloribus vero dignissimos vitae.", "state": "active", "created_at": "2018-09-18T14:35:44.353Z", "updated_at": "2018-09-18T14:35:44.353Z", "due_date": null, "start_date": null, "web_url": "https://gitlab.example.com/twitter/flight/milestones/2" }, "merge_when_pipeline_succeeds": false, "merge_status": "cannot_be_merged", "sha": "3b7b528e9353295c1c125dad281ac5b5deae5f12", "merge_commit_sha": null, "squash_commit_sha": null, "discussion_locked": null, "should_remove_source_branch": null, "force_remove_source_branch": false, "reference": "!11", "web_url": "https://gitlab.example.com/twitter/flight/merge_requests/4", "references": { "short": "!4", "relative": "!4", "full": "twitter/flight!4" }, "time_stats": { "time_estimate": 0, "total_time_spent": 0, "human_time_estimate": null, "human_total_time_spent": null }, "squash": false, "task_completion_status": { "count": 0, "completed_count": 0 }, "changes_count": "10", "latest_build_started_at": "2018-12-05T01:16:41.723Z", "latest_build_finished_at": "2018-12-05T02:35:54.046Z", "first_deployed_to_production_at": null, "pipeline": { "id": 38980952, "sha": "81c6a84c7aebd45a1ac2c654aa87f11e32338e0a", "ref": "test-branch", "status": "success", "web_url": "https://gitlab.com/gitlab-org/gitlab/pipelines/38980952" }, "head_pipeline": { "id": 38980952, "sha": "81c6a84c7aebd45a1ac2c654aa87f11e32338e0a", "ref": "test-branch", "status": "success", "web_url": "https://gitlab.example.com/twitter/flight/pipelines/38980952", "before_sha": "3c738a37eb23cf4c0ed0d45d6ddde8aad4a8da51", "tag": false, "yaml_errors": null, "user": { "id": 19, "name": "Jody Baumbach", "username": "felipa.kuvalis", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/6541fc75fc4e87e203529bd275fafd07?s=80&d=identicon", "web_url": "https://gitlab.example.com/felipa.kuvalis" }, "created_at": "2018-12-05T01:16:13.342Z", "updated_at": "2018-12-05T02:35:54.086Z", "started_at": "2018-12-05T01:16:41.723Z", "finished_at": "2018-12-05T02:35:54.046Z", "committed_at": null, "duration": 4436, "coverage": "46.68", "detailed_status": { "icon": "status_warning", "text": "passed", "label": "passed with warnings", "group": "success-with-warnings", "tooltip": "passed", "has_details": true, "details_path": "/twitter/flight/pipelines/38", "illustration": null, "favicon": "https://gitlab.example.com/assets/ci_favicons/favicon_status_success-8451333011eee8ce9f2ab25dc487fe24a8758c694827a582f17f42b0a90446a2.png" } }, "diff_refs": { "base_sha": "d052d768f0126e8cddf80afd8b1eb07f406a3fcb", "head_sha": "81c6a84c7aebd45a1ac2c654aa87f11e32338e0a", "start_sha": "d052d768f0126e8cddf80afd8b1eb07f406a3fcb" }, "merge_error": null, "user": { "can_merge": true } } ] -``` - -## List merge requests that will close issue on merge[](#list-merge-requests-that-will-close-issue-on-merge "Permalink") - -获取所有合并请求,这些合并请求将在合并时关闭问题. - -如果项目为私人项目或问题为机密,则需要提供凭据进行授权. 首选的方法是使用[个人访问令牌](../user/profile/personal_access_tokens.html) . - -``` -GET /projects/:id/issues/:issue_iid/closed_by -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 项目 ID | -| `issue_iid` | integer | yes | 项目问题的内部 ID | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/issues/11/closed_by" -``` - -响应示例: - -``` -[ { "id": 6471, "iid": 6432, "project_id": 1, "title": "add a test for cgi lexer options", "description": "closes #11", "state": "opened", "created_at": "2017-04-06T18:33:34.168Z", "updated_at": "2017-04-09T20:10:24.983Z", "target_branch": "master", "source_branch": "feature.custom-highlighting", "upvotes": 0, "downvotes": 0, "author": { "name": "Administrator", "username": "root", "id": 1, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "https://gitlab.example.com/root" }, "assignee": null, "source_project_id": 1, "target_project_id": 1, "closed_at": null, "closed_by": null, "labels": [], "work_in_progress": false, "milestone": null, "merge_when_pipeline_succeeds": false, "merge_status": "unchecked", "sha": "5a62481d563af92b8e32d735f2fa63b94e806835", "merge_commit_sha": null, "squash_commit_sha": null, "user_notes_count": 1, "should_remove_source_branch": null, "force_remove_source_branch": false, "web_url": "https://gitlab.example.com/gitlab-org/gitlab-test/merge_requests/6432", "reference": "!6432", "references": { "short": "!6432", "relative": "!6432", "full": "gitlab-org/gitlab-test!6432" }, "time_stats": { "time_estimate": 0, "total_time_spent": 0, "human_time_estimate": null, "human_total_time_spent": null } } ] -``` - -## Participants on issues[](#participants-on-issues "Permalink") - -如果项目为私人项目或问题为机密,则需要提供凭据进行授权. 首选的方法是使用[个人访问令牌](../user/profile/personal_access_tokens.html) . - -``` -GET /projects/:id/issues/:issue_iid/participants -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `issue_iid` | integer | yes | 项目问题的内部 ID | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/issues/93/participants" -``` - -响应示例: - -``` -[ { "id": 1, "name": "John Doe1", "username": "user1", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/c922747a93b40d1ea88262bf1aebee62?s=80&d=identicon", "web_url": "http://localhost/user1" }, { "id": 5, "name": "John Doe5", "username": "user5", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/4aea8cf834ed91844a2da4ff7ae6b491?s=80&d=identicon", "web_url": "http://localhost/user5" } ] -``` - -## Comments on issues[](#comments-on-issues "Permalink") - -注释是通过[notes](notes.html)资源完成的. - -## Get user agent details[](#get-user-agent-details "Permalink") - -仅适用于管理员. - -``` -GET /projects/:id/issues/:issue_iid/user_agent_detail -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `issue_iid` | integer | yes | The internal ID of a project’s issue | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/issues/93/user_agent_detail" -``` - -响应示例: - -``` -{ "user_agent": "AppleWebKit/537.36", "ip_address": "127.0.0.1", "akismet_submitted": false } -``` \ No newline at end of file diff --git a/docs/323.md b/docs/323.md deleted file mode 100644 index e816f67..0000000 --- a/docs/323.md +++ /dev/null @@ -1,119 +0,0 @@ -# Epic Issues API - -> 原文:[https://docs.gitlab.com/ee/api/epic_issues.html](https://docs.gitlab.com/ee/api/epic_issues.html) - -* [List issues for an epic](#list-issues-for-an-epic) -* [Assign an issue to the epic](#assign-an-issue-to-the-epic) -* [Remove an issue from the epic](#remove-an-issue-from-the-epic) -* [Update epic - issue association](#update-epic---issue-association) - -# Epic Issues API[](#epic-issues-api-premium "Permalink") - -每个对 epic_issues 的 API 调用都必须经过验证. - -如果用户不是组的成员,并且该组是私有的,则对该组的`GET`请求将产生`404`状态代码. - -Epics 仅在 GitLab [Premium 和更高版本](https://about.gitlab.com/pricing/)中可用. 如果 Epics 功能不可用,将返回`403`状态代码. - -## List issues for an epic[](#list-issues-for-an-epic "Permalink") - -获取分配给史诗且经过身份验证的用户有权访问的所有问题. - -``` -GET /groups/:id/epics/:epic_iid/issues -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `epic_iid` | integer/string | yes | 史诗的内部 ID. | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/1/epics/5/issues/" -``` - -响应示例: - -``` -[ { "id": 76, "iid": 6, "project_id": 8, "title" : "Consequatur vero maxime deserunt laboriosam est voluptas dolorem.", "description" : "Ratione dolores corrupti mollitia soluta quia.", "state": "opened", "created_at": "2017-11-15T13:39:24.670Z", "updated_at": "2018-01-04T10:49:19.506Z", "closed_at": null, "labels": [], "milestone": { "id": 38, "iid": 3, "project_id": 8, "title": "v2.0", "description": "In tempore culpa inventore quo accusantium.", "state": "closed", "created_at": "2017-11-15T13:39:13.825Z", "updated_at": "2017-11-15T13:39:13.825Z", "due_date": null, "start_date": null }, "assignees": [{ "id": 7, "name": "Pamella Huel", "username": "arnita", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/a2f5c6fcef64c9c69cb8779cb292be1b?s=80&d=identicon", "web_url": "http://localhost:3001/arnita" }], "assignee": { "id": 7, "name": "Pamella Huel", "username": "arnita", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/a2f5c6fcef64c9c69cb8779cb292be1b?s=80&d=identicon", "web_url": "http://localhost:3001/arnita" }, "author": { "id": 13, "name": "Michell Johns", "username": "chris_hahn", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/30e3b2122ccd6b8e45e8e14a3ffb58fc?s=80&d=identicon", "web_url": "http://localhost:3001/chris_hahn" }, "user_notes_count": 8, "upvotes": 0, "downvotes": 0, "due_date": null, "confidential": false, "weight": null, "discussion_locked": null, "web_url": "http://localhost:3001/h5bp/html5-boilerplate/issues/6", "time_stats": { "time_estimate": 0, "total_time_spent": 0, "human_time_estimate": null, "human_total_time_spent": null }, "_links":{ "self": "http://localhost:3001/api/v4/projects/8/issues/6", "notes": "http://localhost:3001/api/v4/projects/8/issues/6/notes", "award_emoji": "http://localhost:3001/api/v4/projects/8/issues/6/award_emoji", "project": "http://localhost:3001/api/v4/projects/8" }, "subscribed": true, "epic_issue_id": 2 } ] -``` - -**注意** :不建议使用`assignee`列,现在我们将其显示为符合 GitLab EE API 的单一大小的数组`assignees` . - -## Assign an issue to the epic[](#assign-an-issue-to-the-epic "Permalink") - -创建史诗-事件关联. 如果所讨论的问题属于另一个史诗,则不会从该史诗中分配该问题. - -``` -POST /groups/:id/epics/:epic_iid/issues/:issue_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `epic_iid` | integer/string | yes | 史诗的内部 ID. | -| `issue_id` | integer/string | yes | 问题的 ID. | - -``` -curl --header POST "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/1/epics/5/issues/55" -``` - -响应示例: - -``` -{ "id": 11, "epic": { "id": 30, "iid": 5, "title": "Ea cupiditate dolores ut vero consequatur quasi veniam voluptatem et non.", "description": "Molestias dolorem eos vitae expedita impedit necessitatibus quo voluptatum.", "author": { "id": 7, "name": "Pamella Huel", "username": "arnita", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/a2f5c6fcef64c9c69cb8779cb292be1b?s=80&d=identicon", "web_url": "http://localhost:3001/arnita" }, "start_date": null, "end_date": null }, "issue": { "id": 55, "iid": 13, "project_id": 8, "title": "Beatae laborum voluptatem voluptate eligendi ex accusamus.", "description": "Quam veritatis debitis omnis aliquam sit.", "state": "opened", "created_at": "2017-11-05T13:59:12.782Z", "updated_at": "2018-01-05T10:33:03.900Z", "closed_at": null, "labels": [], "milestone": { "id": 48, "iid": 6, "project_id": 8, "title": "Sprint - Sed sed maxime temporibus ipsa ullam qui sit.", "description": "Quos veritatis qui expedita sunt deleniti accusamus.", "state": "active", "created_at": "2017-11-05T13:59:12.445Z", "updated_at": "2017-11-05T13:59:12.445Z", "due_date": "2017-11-13", "start_date": "2017-11-05" }, "assignees": [{ "id": 10, "name": "Lu Mayer", "username": "kam", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/018729e129a6f31c80a6327a30196823?s=80&d=identicon", "web_url": "http://localhost:3001/kam" }], "assignee": { "id": 10, "name": "Lu Mayer", "username": "kam", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/018729e129a6f31c80a6327a30196823?s=80&d=identicon", "web_url": "http://localhost:3001/kam" }, "author": { "id": 25, "name": "User 3", "username": "user3", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/97d6d9441ff85fdc730e02a6068d267b?s=80&d=identicon", "web_url": "http://localhost:3001/user3" }, "user_notes_count": 0, "upvotes": 0, "downvotes": 0, "due_date": null, "confidential": false, "weight": null, "discussion_locked": null, "web_url": "http://localhost:3001/h5bp/html5-boilerplate/issues/13", "time_stats": { "time_estimate": 0, "total_time_spent": 0, "human_time_estimate": null, "human_total_time_spent": null } } } -``` - -**注意** :不建议使用`assignee`列,现在我们将其显示为符合 GitLab EE API 的单一大小的数组`assignees` . - -## Remove an issue from the epic[](#remove-an-issue-from-the-epic "Permalink") - -删除史诗-问题关联. - -``` -DELETE /groups/:id/epics/:epic_iid/issues/:epic_issue_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `epic_iid` | integer/string | yes | 史诗的内部 ID. | -| `epic_issue_id` | integer/string | yes | 问题的 ID-史诗般的协会. | - -``` -curl --header DELETE "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/1/epics/5/issues/11" -``` - -响应示例: - -``` -{ "id": 11, "epic": { "id": 30, "iid": 5, "title": "Ea cupiditate dolores ut vero consequatur quasi veniam voluptatem et non.", "description": "Molestias dolorem eos vitae expedita impedit necessitatibus quo voluptatum.", "author": { "id": 7, "name": "Pamella Huel", "username": "arnita", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/a2f5c6fcef64c9c69cb8779cb292be1b?s=80&d=identicon", "web_url": "http://localhost:3001/arnita" }, "start_date": null, "end_date": null }, "issue": { "id": 223, "iid": 13, "project_id": 8, "title": "Beatae laborum voluptatem voluptate eligendi ex accusamus.", "description": "Quam veritatis debitis omnis aliquam sit.", "state": "opened", "created_at": "2017-11-05T13:59:12.782Z", "updated_at": "2018-01-05T10:33:03.900Z", "closed_at": null, "labels": [], "milestone": { "id": 48, "iid": 6, "project_id": 8, "title": "Sprint - Sed sed maxime temporibus ipsa ullam qui sit.", "description": "Quos veritatis qui expedita sunt deleniti accusamus.", "state": "active", "created_at": "2017-11-05T13:59:12.445Z", "updated_at": "2017-11-05T13:59:12.445Z", "due_date": "2017-11-13", "start_date": "2017-11-05" }, "assignees": [{ "id": 10, "name": "Lu Mayer", "username": "kam", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/018729e129a6f31c80a6327a30196823?s=80&d=identicon", "web_url": "http://localhost:3001/kam" }], "assignee": { "id": 10, "name": "Lu Mayer", "username": "kam", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/018729e129a6f31c80a6327a30196823?s=80&d=identicon", "web_url": "http://localhost:3001/kam" }, "author": { "id": 25, "name": "User 3", "username": "user3", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/97d6d9441ff85fdc730e02a6068d267b?s=80&d=identicon", "web_url": "http://localhost:3001/user3" }, "user_notes_count": 0, "upvotes": 0, "downvotes": 0, "due_date": null, "confidential": false, "weight": null, "discussion_locked": null, "web_url": "http://localhost:3001/h5bp/html5-boilerplate/issues/13", "time_stats": { "time_estimate": 0, "total_time_spent": 0, "human_time_estimate": null, "human_total_time_spent": null } } } -``` - -**Note**: `assignee` column is deprecated, now we show it as a single-sized array `assignees` to conform to the GitLab EE API. - -## Update epic - issue association[](#update-epic---issue-association "Permalink") - -更新史诗-问题关联. - -``` -PUT /groups/:id/epics/:epic_iid/issues/:epic_issue_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `epic_iid` | integer/string | yes | 史诗的内部 ID. | -| `epic_issue_id` | integer/string | yes | 问题的 ID-史诗般的协会. | -| `move_before_id` | integer/string | no | 问题的 ID-史诗般的关联,应放在问题中的链接之前. | -| `move_after_id` | integer/string | no | 问题的 ID-史诗般的关联,应该放在问题中的链接之后. | - -``` -curl --header PUT "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/1/epics/5/issues/11?move_before_id=20" -``` - -响应示例: - -``` -[ { "id": 30, "iid": 6, "project_id": 8, "title" : "Consequatur vero maxime deserunt laboriosam est voluptas dolorem.", "description" : "Ratione dolores corrupti mollitia soluta quia.", "state": "opened", "created_at": "2017-11-15T13:39:24.670Z", "updated_at": "2018-01-04T10:49:19.506Z", "closed_at": null, "labels": [], "milestone": { "id": 38, "iid": 3, "project_id": 8, "title": "v2.0", "description": "In tempore culpa inventore quo accusantium.", "state": "closed", "created_at": "2017-11-15T13:39:13.825Z", "updated_at": "2017-11-15T13:39:13.825Z", "due_date": null, "start_date": null }, "assignees": [{ "id": 7, "name": "Pamella Huel", "username": "arnita", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/a2f5c6fcef64c9c69cb8779cb292be1b?s=80&d=identicon", "web_url": "http://localhost:3001/arnita" }], "assignee": { "id": 7, "name": "Pamella Huel", "username": "arnita", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/a2f5c6fcef64c9c69cb8779cb292be1b?s=80&d=identicon", "web_url": "http://localhost:3001/arnita" }, "author": { "id": 13, "name": "Michell Johns", "username": "chris_hahn", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/30e3b2122ccd6b8e45e8e14a3ffb58fc?s=80&d=identicon", "web_url": "http://localhost:3001/chris_hahn" }, "user_notes_count": 8, "upvotes": 0, "downvotes": 0, "due_date": null, "confidential": false, "weight": null, "discussion_locked": null, "web_url": "http://localhost:3001/h5bp/html5-boilerplate/issues/6", "time_stats": { "time_estimate": 0, "total_time_spent": 0, "human_time_estimate": null, "human_total_time_spent": null }, "_links":{ "self": "http://localhost:3001/api/v4/projects/8/issues/6", "notes": "http://localhost:3001/api/v4/projects/8/issues/6/notes", "award_emoji": "http://localhost:3001/api/v4/projects/8/issues/6/award_emoji", "project": "http://localhost:3001/api/v4/projects/8" }, "subscribed": true, "epic_issue_id": 11, "relative_position": 55 } ] -``` \ No newline at end of file diff --git a/docs/324.md b/docs/324.md deleted file mode 100644 index 2daad0b..0000000 --- a/docs/324.md +++ /dev/null @@ -1,157 +0,0 @@ -# Issues Statistics API - -> 原文:[https://docs.gitlab.com/ee/api/issues_statistics.html](https://docs.gitlab.com/ee/api/issues_statistics.html) - -* [Get issues statistics](#get-issues-statistics) -* [Get group issues statistics](#get-group-issues-statistics) -* [Get project issues statistics](#get-project-issues-statistics) - -# Issues Statistics API[](#issues-statistics-api "Permalink") - -每个对 issue_statistics 的 API 调用都必须经过身份验证. - -如果用户不是项目成员,并且该项目是私有项目,则对该项目的`GET`请求将导致`404`状态代码. - -## Get issues statistics[](#get-issues-statistics "Permalink") - -获取有关经过身份验证的用户有权访问的所有问题的问题计数统计信息. 默认情况下,它仅返回当前用户创建的问题. 要获取所有问题,请使用参数`scope=all` . - -``` -GET /issues_statistics -GET /issues_statistics?labels=foo -GET /issues_statistics?labels=foo,bar -GET /issues_statistics?labels=foo,bar&state=opened -GET /issues_statistics?milestone=1.0.0 -GET /issues_statistics?milestone=1.0.0&state=opened -GET /issues_statistics?iids[]=42&iids[]=43 -GET /issues_statistics?author_id=5 -GET /issues_statistics?assignee_id=5 -GET /issues_statistics?my_reaction_emoji=star -GET /issues_statistics?search=foo&in=title -GET /issues_statistics?confidential=true -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `labels` | string | no | 标签名称的逗号分隔列表,必须具有要返回的所有标签的问题. `None`列出所有没有标签的问题. `Any`列出至少带有一个标签的所有问题. | -| `milestone` | string | no | 里程碑标题. `None`列出没有里程碑的所有问题. `Any`列出具有指定里程碑的所有问题. | -| `scope` | string | no | 回到问题在给定范围: `created_by_me` , `assigned_to_me`或`all` . 默认为`created_by_me` | -| `author_id` | integer | no | 返回由给定用户`id`创建的问题. 与`author_username` . 与`scope=all`或`scope=assigned_to_me`结合使用. | -| `author_username` | string | no | 返回由给定`username`创建的问题. 类似于`author_id`并且与`author_id` . | -| `assignee_id` | integer | no | Return issues assigned to the given user `id`. Mutually exclusive with `assignee_username`. `None` returns unassigned issues. `Any` returns issues with an assignee. | -| `assignee_username` | 字符串数组 | no | 返回分配给给定`username` . 类似于`assignee_id`并且与`assignee_id`互斥. 在 GitLab CE 中, `assignee_username`数组应仅包含单个值,否则将返回无效的参数错误. | -| `my_reaction_emoji` | string | no | 返回的问题由已验证的用户通过给定的`emoji`响应. `None`返回没有响应的问题. 至少有一个反应, `Any`回报问题. | -| `iids[]` | 整数数组 | no | 仅返回具有给定`iid`的问题 | -| `search` | string | no | 根据`title`和`description`搜索问题 | -| `in` | string | no | 修改`search`属性的范围. `title` , `description`或以逗号将它们连接在一起的字符串. 默认为`title,description` | -| `created_after` | datetime | no | 返回在给定时间或之后创建的问题 | -| `created_before` | datetime | no | 返回在给定时间或之前创建的问题 | -| `updated_after` | datetime | no | 返回在给定时间或之后更新的问题 | -| `updated_before` | datetime | no | 返回在给定时间或之前更新的问题 | -| `confidential` | boolean | no | 过滤机密或公共问题. | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/issues_statistics" -``` - -响应示例: - -``` -{ "statistics": { "counts": { "all": 20, "closed": 5, "opened": 15 } } } -``` - -## Get group issues statistics[](#get-group-issues-statistics "Permalink") - -获取给定组的问题计数统计信息. - -``` -GET /groups/:id/issues_statistics -GET /groups/:id/issues_statistics?labels=foo -GET /groups/:id/issues_statistics?labels=foo,bar -GET /groups/:id/issues_statistics?labels=foo,bar&state=opened -GET /groups/:id/issues_statistics?milestone=1.0.0 -GET /groups/:id/issues_statistics?milestone=1.0.0&state=opened -GET /groups/:id/issues_statistics?iids[]=42&iids[]=43 -GET /groups/:id/issues_statistics?search=issue+title+or+description -GET /groups/:id/issues_statistics?author_id=5 -GET /groups/:id/issues_statistics?assignee_id=5 -GET /groups/:id/issues_statistics?my_reaction_emoji=star -GET /groups/:id/issues_statistics?confidential=true -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `labels` | string | no | 标签名称的逗号分隔列表,必须具有要返回的所有标签的问题. `None`列出所有没有标签的问题. `Any`列出至少带有一个标签的所有问题. | -| `iids[]` | 整数数组 | no | 仅返回具有给定`iid`的问题 | -| `milestone` | string | no | 里程碑标题. `None`列出没有里程碑的所有问题. `Any`列出具有指定里程碑的所有问题. | -| `scope` | string | no | 回到问题在给定范围: `created_by_me` , `assigned_to_me`或`all` . | -| `author_id` | integer | no | 返回由给定用户`id`创建的问题. 与`author_username` . 与`scope=all`或`scope=assigned_to_me`结合使用. | -| `author_username` | string | no | 返回由给定`username`创建的问题. 类似于`author_id`并且与`author_id` . | -| `assignee_id` | integer | no | 返回分配给给定用户`id` . 互斥与`assignee_username` . `None`返回未分配的问题. 受让人有`Any`退货问题. | -| `assignee_username` | 字符串数组 | no | 返回分配给给定`username` . 类似于`assignee_id`并且与`assignee_id`互斥. 在 GitLab CE 中, `assignee_username`数组应仅包含单个值,否则将返回无效的参数错误. | -| `my_reaction_emoji` | string | no | 返回的问题由已验证的用户通过给定的`emoji`响应. `None`返回没有响应的问题. 至少有一个反应, `Any`回报问题. | -| `search` | string | no | 搜索组问题的`title`和`description` | -| `created_after` | datetime | no | 返回在给定时间或之后创建的问题 | -| `created_before` | datetime | no | 返回在给定时间或之前创建的问题 | -| `updated_after` | datetime | no | 返回在给定时间或之后更新的问题 | -| `updated_before` | datetime | no | 返回在给定时间或之前更新的问题 | -| `confidential` | boolean | no | 过滤机密或公共问题. | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/4/issues_statistics" -``` - -响应示例: - -``` -{ "statistics": { "counts": { "all": 20, "closed": 5, "opened": 15 } } } -``` - -## Get project issues statistics[](#get-project-issues-statistics "Permalink") - -获取给定项目的问题计数统计信息. - -``` -GET /projects/:id/issues_statistics -GET /projects/:id/issues_statistics?labels=foo -GET /projects/:id/issues_statistics?labels=foo,bar -GET /projects/:id/issues_statistics?labels=foo,bar&state=opened -GET /projects/:id/issues_statistics?milestone=1.0.0 -GET /projects/:id/issues_statistics?milestone=1.0.0&state=opened -GET /projects/:id/issues_statistics?iids[]=42&iids[]=43 -GET /projects/:id/issues_statistics?search=issue+title+or+description -GET /projects/:id/issues_statistics?author_id=5 -GET /projects/:id/issues_statistics?assignee_id=5 -GET /projects/:id/issues_statistics?my_reaction_emoji=star -GET /projects/:id/issues_statistics?confidential=true -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `iids[]` | 整数数组 | no | 仅返回具有给定`iid`的里程碑 | -| `labels` | string | no | 标签名称的逗号分隔列表,必须具有要返回的所有标签的问题. `None`列出所有没有标签的问题. `Any`列出至少带有一个标签的所有问题. | -| `milestone` | string | no | 里程碑标题. `None`列出没有里程碑的所有问题. `Any`列出具有指定里程碑的所有问题. | -| `scope` | string | no | 回到问题在给定范围: `created_by_me` , `assigned_to_me`或`all` . | -| `author_id` | integer | no | 返回由给定用户`id`创建的问题. 与`author_username` . 与`scope=all`或`scope=assigned_to_me`结合使用. | -| `author_username` | string | no | 返回由给定`username`创建的问题. 类似于`author_id`并且与`author_id` . | -| `assignee_id` | integer | no | 返回分配给给定用户`id` . 互斥与`assignee_username` . `None`返回未分配的问题. 受让人有`Any`退货问题. | -| `assignee_username` | 字符串数组 | no | 返回分配给给定`username` . 类似于`assignee_id`并且与`assignee_id`互斥. 在 GitLab CE 中, `assignee_username`数组应仅包含单个值,否则将返回无效的参数错误. | -| `my_reaction_emoji` | string | no | 返回的问题由已验证的用户通过给定的`emoji`响应. `None`返回没有响应的问题. 至少有一个反应, `Any`回报问题. | -| `search` | string | no | 根据`title`和`description`搜索项目问题 | -| `created_after` | datetime | no | Return issues created on or after the given time | -| `created_before` | datetime | no | 返回在给定时间或之前创建的问题 | -| `updated_after` | datetime | no | 返回在给定时间或之后更新的问题 | -| `updated_before` | datetime | no | 返回在给定时间或之前更新的问题 | -| `confidential` | boolean | no | 过滤机密或公共问题. | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/4/issues_statistics" -``` - -响应示例: - -``` -{ "statistics": { "counts": { "all": 20, "closed": 5, "opened": 15 } } } -``` \ No newline at end of file diff --git a/docs/325.md b/docs/325.md deleted file mode 100644 index 5b3b373..0000000 --- a/docs/325.md +++ /dev/null @@ -1,465 +0,0 @@ -# Jobs API - -> 原文:[https://docs.gitlab.com/ee/api/jobs.html](https://docs.gitlab.com/ee/api/jobs.html) - -* [List project jobs](#list-project-jobs) -* [List pipeline jobs](#list-pipeline-jobs) -* [List pipeline bridges](#list-pipeline-bridges) -* [Get a single job](#get-a-single-job) -* [Get job artifacts](#get-job-artifacts) -* [Download the artifacts archive](#download-the-artifacts-archive) -* [Download a single artifact file by job ID](#download-a-single-artifact-file-by-job-id) -* [Download a single artifact file from specific tag or branch](#download-a-single-artifact-file-from-specific-tag-or-branch) -* [Get a log file](#get-a-log-file) -* [Cancel a job](#cancel-a-job) -* [Retry a job](#retry-a-job) -* [Erase a job](#erase-a-job) -* [Keep artifacts](#keep-artifacts) -* [Delete artifacts](#delete-artifacts) -* [Play a job](#play-a-job) - -# Jobs API[](#jobs-api "Permalink") - -## List project jobs[](#list-project-jobs "Permalink") - -获取项目中的作业列表. 作业按 ID 的降序排列. - -``` -GET /projects/:id/jobs -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 身份验证用户拥有[的项目的](README.html#namespaced-path-encoding) ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `scope` | 字符串**或**字符串数组 | no | 要显示的工作范围. 以下一项或多项: `created` , `pending` , `running` , `failed` , `success` , `canceled` , `skipped`或`manual` . 如果未提供`scope`则返回所有作业. | - -``` -curl --globoff --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/jobs?scope[]=pending&scope[]=running" -``` - -回应范例 - -``` -[ { "commit": { "author_email": "admin@example.com", "author_name": "Administrator", "created_at": "2015-12-24T16:51:14.000+01:00", "id": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd", "message": "Test the CI integration.", "short_id": "0ff3ae19", "title": "Test the CI integration." }, "coverage": null, "allow_failure": false, "created_at": "2015-12-24T15:51:21.802Z", "started_at": "2015-12-24T17:54:27.722Z", "finished_at": "2015-12-24T17:54:27.895Z", "duration": 0.173, "artifacts_file": { "filename": "artifacts.zip", "size": 1000 }, "artifacts": [ {"file_type": "archive", "size": 1000, "filename": "artifacts.zip", "file_format": "zip"}, {"file_type": "metadata", "size": 186, "filename": "metadata.gz", "file_format": "gzip"}, {"file_type": "trace", "size": 1500, "filename": "job.log", "file_format": "raw"}, {"file_type": "junit", "size": 750, "filename": "junit.xml.gz", "file_format": "gzip"} ], "artifacts_expire_at": "2016-01-23T17:54:27.895Z", "id": 7, "name": "teaspoon", "pipeline": { "id": 6, "ref": "master", "sha": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd", "status": "pending" }, "ref": "master", "artifacts": [], "runner": null, "stage": "test", "status": "failed", "tag": false, "web_url": "https://example.com/foo/bar/-/jobs/7", "user": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://gitlab.dev/root", "created_at": "2015-12-21T13:14:24.077Z", "bio": null, "location": null, "public_email": "", "skype": "", "linkedin": "", "twitter": "", "website_url": "", "organization": "" } }, { "commit": { "author_email": "admin@example.com", "author_name": "Administrator", "created_at": "2015-12-24T16:51:14.000+01:00", "id": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd", "message": "Test the CI integration.", "short_id": "0ff3ae19", "title": "Test the CI integration." }, "coverage": null, "allow_failure": false, "created_at": "2015-12-24T15:51:21.727Z", "started_at": "2015-12-24T17:54:24.729Z", "finished_at": "2015-12-24T17:54:24.921Z", "duration": 0.192, "artifacts_expire_at": "2016-01-23T17:54:24.921Z", "id": 6, "name": "rspec:other", "pipeline": { "id": 6, "ref": "master", "sha": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd", "status": "pending" }, "ref": "master", "artifacts": [], "runner": null, "stage": "test", "status": "failed", "tag": false, "web_url": "https://example.com/foo/bar/-/jobs/6", "user": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://gitlab.dev/root", "created_at": "2015-12-21T13:14:24.077Z", "bio": null, "location": null, "public_email": "", "skype": "", "linkedin": "", "twitter": "", "website_url": "", "organization": "" } } ] -``` - -## List pipeline jobs[](#list-pipeline-jobs "Permalink") - -获取管道的作业列表. - -``` -GET /projects/:id/pipelines/:pipeline_id/jobs -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 身份验证用户拥有[的项目的](README.html#namespaced-path-encoding) ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `pipeline_id` | integer | yes | 管道的 ID. | -| `scope` | 字符串**或**字符串数组 | no | 要显示的工作范围. 以下一项或多项: `created` , `pending` , `running` , `failed` , `success` , `canceled` , `skipped`或`manual` . 如果未提供`scope`则返回所有作业. | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/pipelines/6/jobs?scope[]=pending&scope[]=running" -``` - -回应范例 - -``` -[ { "commit": { "author_email": "admin@example.com", "author_name": "Administrator", "created_at": "2015-12-24T16:51:14.000+01:00", "id": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd", "message": "Test the CI integration.", "short_id": "0ff3ae19", "title": "Test the CI integration." }, "coverage": null, "allow_failure": false, "created_at": "2015-12-24T15:51:21.727Z", "started_at": "2015-12-24T17:54:24.729Z", "finished_at": "2015-12-24T17:54:24.921Z", "duration": 0.192, "artifacts_expire_at": "2016-01-23T17:54:24.921Z", "id": 6, "name": "rspec:other", "pipeline": { "id": 6, "ref": "master", "sha": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd", "status": "pending" }, "ref": "master", "artifacts": [], "runner": null, "stage": "test", "status": "failed", "tag": false, "web_url": "https://example.com/foo/bar/-/jobs/6", "user": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://gitlab.dev/root", "created_at": "2015-12-21T13:14:24.077Z", "bio": null, "location": null, "public_email": "", "skype": "", "linkedin": "", "twitter": "", "website_url": "", "organization": "" } }, { "commit": { "author_email": "admin@example.com", "author_name": "Administrator", "created_at": "2015-12-24T16:51:14.000+01:00", "id": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd", "message": "Test the CI integration.", "short_id": "0ff3ae19", "title": "Test the CI integration." }, "coverage": null, "allow_failure": false, "created_at": "2015-12-24T15:51:21.802Z", "started_at": "2015-12-24T17:54:27.722Z", "finished_at": "2015-12-24T17:54:27.895Z", "duration": 0.173, "artifacts_file": { "filename": "artifacts.zip", "size": 1000 }, "artifacts": [ {"file_type": "archive", "size": 1000, "filename": "artifacts.zip", "file_format": "zip"}, {"file_type": "metadata", "size": 186, "filename": "metadata.gz", "file_format": "gzip"}, {"file_type": "trace", "size": 1500, "filename": "job.log", "file_format": "raw"}, {"file_type": "junit", "size": 750, "filename": "junit.xml.gz", "file_format": "gzip"} ], "artifacts_expire_at": "2016-01-23T17:54:27.895Z", "id": 7, "name": "teaspoon", "pipeline": { "id": 6, "ref": "master", "sha": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd", "status": "pending" }, "ref": "master", "artifacts": [], "runner": null, "stage": "test", "status": "failed", "tag": false, "web_url": "https://example.com/foo/bar/-/jobs/7", "user": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://gitlab.dev/root", "created_at": "2015-12-21T13:14:24.077Z", "bio": null, "location": null, "public_email": "", "skype": "", "linkedin": "", "twitter": "", "website_url": "", "organization": "" } } ] -``` - -从 GitLab 13.2 开始,此端点[将返回任何管道(](pipelines.html#single-pipeline-requests)包括[子管道)的数据](../ci/parent_child_pipelines.html) . - -## List pipeline bridges[](#list-pipeline-bridges "Permalink") - -获取管道的桥作业列表. - -``` -GET /projects/:id/pipelines/:pipeline_id/bridges -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 身份验证用户拥有[的项目的](README.html#namespaced-path-encoding) ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `pipeline_id` | integer | yes | 管道的 ID. | -| `scope` | 字符串**或**字符串数组 | no | 要显示的工作范围. 以下一项或多项: `created` , `pending` , `running` , `failed` , `success` , `canceled` , `skipped`或`manual` . 如果未提供`scope`则返回所有作业. | - -``` -curl --header "PRIVATE-TOKEN: " 'https://gitlab.example.com/api/v4/projects/1/pipelines/6/bridges?scope[]=pending&scope[]=running' -``` - -回应范例 - -``` -[ { "commit": { "author_email": "admin@example.com", "author_name": "Administrator", "created_at": "2015-12-24T16:51:14.000+01:00", "id": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd", "message": "Test the CI integration.", "short_id": "0ff3ae19", "title": "Test the CI integration." }, "coverage": null, "allow_failure": false, "created_at": "2015-12-24T15:51:21.802Z", "started_at": "2015-12-24T17:54:27.722Z", "finished_at": "2015-12-24T17:58:27.895Z", "duration": 240, "id": 7, "name": "teaspoon", "pipeline": { "id": 6, "ref": "master", "sha": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd", "status": "pending", "created_at": "2015-12-24T15:50:16.123Z", "updated_at": "2015-12-24T18:00:44.432Z", "web_url": "https://example.com/foo/bar/pipelines/6" }, "ref": "master", "stage": "test", "status": "pending", "tag": false, "web_url": "https://example.com/foo/bar/-/jobs/7", "user": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://gitlab.dev/root", "created_at": "2015-12-21T13:14:24.077Z", "bio": null, "location": null, "public_email": "", "skype": "", "linkedin": "", "twitter": "", "website_url": "", "organization": "" }, "downstream_pipeline": { "id": 5, "sha": "f62a4b2fb89754372a346f24659212eb8da13601", "ref": "master", "status": "pending", "created_at": "2015-12-24T17:54:27.722Z", "updated_at": "2015-12-24T17:58:27.896Z", "web_url": "https://example.com/diaspora/diaspora-client/pipelines/5" } } ] -``` - -## Get a single job[](#get-a-single-job "Permalink") - -获得项目的一份工作 - -``` -GET /projects/:id/jobs/:job_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 身份验证用户拥有[的项目的](README.html#namespaced-path-encoding) ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `job_id` | integer | yes | 工作 ID. | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/jobs/8" -``` - -回应范例 - -``` -{ "commit": { "author_email": "admin@example.com", "author_name": "Administrator", "created_at": "2015-12-24T16:51:14.000+01:00", "id": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd", "message": "Test the CI integration.", "short_id": "0ff3ae19", "title": "Test the CI integration." }, "coverage": null, "allow_failure": false, "created_at": "2015-12-24T15:51:21.880Z", "started_at": "2015-12-24T17:54:30.733Z", "finished_at": "2015-12-24T17:54:31.198Z", "duration": 0.465, "artifacts_expire_at": "2016-01-23T17:54:31.198Z", "id": 8, "name": "rubocop", "pipeline": { "id": 6, "ref": "master", "sha": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd", "status": "pending" }, "ref": "master", "artifacts": [], "runner": null, "stage": "test", "status": "failed", "tag": false, "web_url": "https://example.com/foo/bar/-/jobs/8", "user": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://gitlab.dev/root", "created_at": "2015-12-21T13:14:24.077Z", "bio": null, "location": null, "public_email": "", "skype": "", "linkedin": "", "twitter": "", "website_url": "", "organization": "" } } -``` - -## Get job artifacts[](#get-job-artifacts "Permalink") - -版本历史 - -**注意事项** : - -* 在 GitLab 8.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/2893) . -* 在[GitLab Premium](https://about.gitlab.com/pricing/) 9.5 中[引入了](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/2346)在工件下载 API 中使用`CI_JOB_TOKEN` . - -获取项目的工件压缩文件存档. - -``` -GET /projects/:id/jobs/:job_id/artifacts -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 身份验证用户拥有[的项目的](README.html#namespaced-path-encoding) ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `job_id` | integer | yes | 工作 ID. | -| `job_token` | string | no | 与多项目管道的[触发器](../ci/triggers/README.html#when-a-pipeline-depends-on-the-artifacts-of-another-pipeline-premium)一起使用. 它只能在`.gitlab-ci.yml`内部调用. 其值始终`$CI_JOB_TOKEN` . | - -使用`PRIVATE-TOKEN`标头的示例请求: - -``` -curl --output artifacts.zip --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/jobs/42/artifacts" -``` - -要在`.gitlab-ci.yml`中的[`script`定义中](../ci/yaml/README.html#script)使用它 ,您可以使用以下任一方法: - -* GitLab 提供的`CI_JOB_TOKEN`变量的`JOB-TOKEN`标头. 例如,以下作业将下载 ID 为`42`的作业工件. 注意,该命令被缠绕成单引号,因为它含有一个冒号( `:` ): - - ``` - artifact_download: - stage: test - script: - - 'curl --location --output artifacts.zip --header "JOB-TOKEN: $CI_JOB_TOKEN" "https://gitlab.example.com/api/v4/projects/1/jobs/42/artifacts"' - ``` - -* 或带有 GitLab 提供的`CI_JOB_TOKEN`变量的`job_token`属性. 例如,以下作业将下载 ID 为`42`的作业的工件: - - ``` - artifact_download: - stage: test - script: - - 'curl --location --output artifacts.zip "https://gitlab.example.com/api/v4/projects/1/jobs/42/artifacts?job_token=$CI_JOB_TOKEN"' - ``` - -可能的响应状态代码: - -| Status | Description | -| --- | --- | -| 200 | Serves the artifacts file. | -| 404 | 找不到构建或没有工件. | - -## Download the artifacts archive[](#download-the-artifacts-archive "Permalink") - -版本历史 - -**注意事项** : - -* 在 GitLab 8.10 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/5347) . -* 在[GitLab Premium](https://about.gitlab.com/pricing/) 9.5 中[引入了](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/2346)在工件下载 API 中使用`CI_JOB_TOKEN` . - -如果作业成功完成,请从最新成功的管道中下载给定参考名称和作业的工件压缩存档. 这与[获取作业的工件相同](#get-job-artifacts) ,但是通过定义作业的名称而不是其 ID. - -``` -GET /projects/:id/jobs/artifacts/:ref_name/download?job=name -``` - -Parameters - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 身份验证用户拥有[的项目的](README.html#namespaced-path-encoding) ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `ref_name` | string | yes | 存储库中的分支或标记名称. 不支持 HEAD 或 SHA 引用. | -| `job` | string | yes | 工作名称. | -| `job_token` | string | no | 与多项目管道的[触发器](../ci/triggers/README.html#when-a-pipeline-depends-on-the-artifacts-of-another-pipeline-premium)一起使用. 它只能在`.gitlab-ci.yml`内部调用. 其值始终`$CI_JOB_TOKEN` . | - -使用`PRIVATE-TOKEN`标头的示例请求: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/jobs/artifacts/master/download?job=test" -``` - -要在`.gitlab-ci.yml`中的[`script`定义中](../ci/yaml/README.html#script)使用它 ,您可以使用以下任一方法: - -* GitLab 提供的`CI_JOB_TOKEN`变量的`JOB-TOKEN`标头. 例如,以下作业将下载`master`分支的`test`作业的工件. 注意,该命令被缠绕成单引号,因为它含有一个冒号( `:` ): - - ``` - artifact_download: - stage: test - script: - - 'curl --location --output artifacts.zip --header "JOB-TOKEN: $CI_JOB_TOKEN" "https://gitlab.example.com/api/v4/projects/$CI_PROJECT_ID/jobs/artifacts/master/download?job=test"' - ``` - -* 或带有 GitLab 提供的`CI_JOB_TOKEN`变量的`job_token`属性. 例如,以下作业将下载`master`分支的`test`作业的工件: - - ``` - artifact_download: - stage: test - script: - - 'curl --location --output artifacts.zip "https://gitlab.example.com/api/v4/projects/$CI_PROJECT_ID/jobs/artifacts/master/download?job=test&job_token=$CI_JOB_TOKEN"' - ``` - -可能的响应状态代码: - -| Status | Description | -| --- | --- | -| 200 | 服务工件文件. | -| 404 | 找不到构建或没有工件. | - -## Download a single artifact file by job ID[](#download-a-single-artifact-file-by-job-id "Permalink") - -在 GitLab 10.0 中引入 - -从作业的工件压缩文件中以指定的 ID 下载作业中的单个工件文件. 从存档中提取文件,并将其流式传输到客户端. - -``` -GET /projects/:id/jobs/:job_id/artifacts/*artifact_path -``` - -Parameters - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 身份验证用户拥有[的项目的](README.html#namespaced-path-encoding) ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `job_id` | integer | yes | 唯一的作业标识符. | -| `artifact_path` | string | yes | 工件存档内文件的路径. | - -请求示例: - -``` -curl --location --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/jobs/5/artifacts/some/release/file.pdf" -``` - -可能的响应状态代码: - -| Status | Description | -| --- | --- | -| 200 | 发送单个工件文件 | -| 400 | 提供的路径无效 | -| 404 | 找不到版本或没有文件/工件 | - -## Download a single artifact file from specific tag or branch[](#download-a-single-artifact-file-from-specific-tag-or-branch "Permalink") - -在 GitLab 11.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/23538) . - -从作业的工件存档中为给定的参考名称下载最新成功管道的特定作业的单个工件文件. 从存档中提取文件,并将其流式传输到客户端. - -``` -GET /projects/:id/jobs/artifacts/:ref_name/raw/*artifact_path?job=name -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 身份验证用户拥有[的项目的](README.html#namespaced-path-encoding) ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `ref_name` | string | yes | 存储库中的分支或标记名称. 不支持 HEAD 或 SHA 引用. | -| `artifact_path` | string | yes | 工件存档内文件的路径. | -| `job` | string | yes | 工作名称. | - -请求示例: - -``` -curl --location --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/jobs/artifacts/master/raw/some/release/file.pdf?job=pdf" -``` - -可能的响应状态代码: - -| Status | Description | -| --- | --- | -| 200 | 发送单个工件文件 | -| 400 | 提供的路径无效 | -| 404 | 找不到版本或没有文件/工件 | - -## Get a log file[](#get-a-log-file "Permalink") - -获取项目的特定作业的日志(跟踪): - -``` -GET /projects/:id/jobs/:job_id/trace -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 身份验证用户拥有[的项目的](README.html#namespaced-path-encoding) ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `job_id` | integer | yes | 工作 ID. | - -``` -curl --location --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/jobs/8/trace" -``` - -可能的响应状态代码: - -| Status | Description | -| --- | --- | -| 200 | 服务日志文件 | -| 404 | 找不到作业或没有日志文件 | - -## Cancel a job[](#cancel-a-job "Permalink") - -取消项目的一项工作 - -``` -POST /projects/:id/jobs/:job_id/cancel -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 身份验证用户拥有[的项目的](README.html#namespaced-path-encoding) ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `job_id` | integer | yes | 工作 ID. | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/jobs/1/cancel" -``` - -回应范例 - -``` -{ "commit": { "author_email": "admin@example.com", "author_name": "Administrator", "created_at": "2015-12-24T16:51:14.000+01:00", "id": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd", "message": "Test the CI integration.", "short_id": "0ff3ae19", "title": "Test the CI integration." }, "coverage": null, "allow_failure": false, "created_at": "2016-01-11T10:13:33.506Z", "started_at": "2016-01-11T10:14:09.526Z", "finished_at": null, "duration": 8, "id": 42, "name": "rubocop", "ref": "master", "artifacts": [], "runner": null, "stage": "test", "status": "canceled", "tag": false, "web_url": "https://example.com/foo/bar/-/jobs/42", "user": null } -``` - -## Retry a job[](#retry-a-job "Permalink") - -重试项目的一项工作 - -``` -POST /projects/:id/jobs/:job_id/retry -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 身份验证用户拥有[的项目的](README.html#namespaced-path-encoding) ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `job_id` | integer | yes | 工作 ID. | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/jobs/1/retry" -``` - -回应范例 - -``` -{ "commit": { "author_email": "admin@example.com", "author_name": "Administrator", "created_at": "2015-12-24T16:51:14.000+01:00", "id": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd", "message": "Test the CI integration.", "short_id": "0ff3ae19", "title": "Test the CI integration." }, "coverage": null, "allow_failure": false, "created_at": "2016-01-11T10:13:33.506Z", "started_at": null, "finished_at": null, "duration": null, "id": 42, "name": "rubocop", "ref": "master", "artifacts": [], "runner": null, "stage": "test", "status": "pending", "tag": false, "web_url": "https://example.com/foo/bar/-/jobs/42", "user": null } -``` - -## Erase a job[](#erase-a-job "Permalink") - -擦除项目的单个作业(删除作业工件和作业日志) - -``` -POST /projects/:id/jobs/:job_id/erase -``` - -Parameters - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 身份验证用户拥有[的项目的](README.html#namespaced-path-encoding) ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `job_id` | integer | yes | 工作 ID. | - -Example of request - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/jobs/1/erase" -``` - -回应范例 - -``` -{ "commit": { "author_email": "admin@example.com", "author_name": "Administrator", "created_at": "2015-12-24T16:51:14.000+01:00", "id": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd", "message": "Test the CI integration.", "short_id": "0ff3ae19", "title": "Test the CI integration." }, "coverage": null, "allow_failure": false, "download_url": null, "id": 42, "name": "rubocop", "ref": "master", "artifacts": [], "runner": null, "stage": "test", "created_at": "2016-01-11T10:13:33.506Z", "started_at": "2016-01-11T10:13:33.506Z", "finished_at": "2016-01-11T10:15:10.506Z", "duration": 97.0, "status": "failed", "tag": false, "web_url": "https://example.com/foo/bar/-/jobs/42", "user": null } -``` - -## Keep artifacts[](#keep-artifacts "Permalink") - -设置过期时,防止删除工件. - -``` -POST /projects/:id/jobs/:job_id/artifacts/keep -``` - -Parameters - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 身份验证用户拥有[的项目的](README.html#namespaced-path-encoding) ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `job_id` | integer | yes | 工作 ID. | - -请求示例: - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/jobs/1/artifacts/keep" -``` - -响应示例: - -``` -{ "commit": { "author_email": "admin@example.com", "author_name": "Administrator", "created_at": "2015-12-24T16:51:14.000+01:00", "id": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd", "message": "Test the CI integration.", "short_id": "0ff3ae19", "title": "Test the CI integration." }, "coverage": null, "allow_failure": false, "download_url": null, "id": 42, "name": "rubocop", "ref": "master", "artifacts": [], "runner": null, "stage": "test", "created_at": "2016-01-11T10:13:33.506Z", "started_at": "2016-01-11T10:13:33.506Z", "finished_at": "2016-01-11T10:15:10.506Z", "duration": 97.0, "status": "failed", "tag": false, "web_url": "https://example.com/foo/bar/-/jobs/42", "user": null } -``` - -## Delete artifacts[](#delete-artifacts "Permalink") - -在 GitLab 11.9 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/25522) . - -删除作业的工件. - -``` -DELETE /projects/:id/jobs/:job_id/artifacts -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `job_id` | integer | yes | 工作 ID. | - -请求示例: - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/jobs/1/artifacts" -``` - -**注意:**至少需要具有维护者角色才能删除工件. - -如果工件被成功删除,则返回状态为`204 No Content`的响应. - -## Play a job[](#play-a-job "Permalink") - -触发手动操作以开始作业. - -``` -POST /projects/:id/jobs/:job_id/play -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 身份验证用户拥有[的项目的](README.html#namespaced-path-encoding) ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `job_id` | integer | yes | 工作 ID. | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/jobs/1/play" -``` - -回应范例 - -``` -{ "commit": { "author_email": "admin@example.com", "author_name": "Administrator", "created_at": "2015-12-24T16:51:14.000+01:00", "id": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd", "message": "Test the CI integration.", "short_id": "0ff3ae19", "title": "Test the CI integration." }, "coverage": null, "allow_failure": false, "created_at": "2016-01-11T10:13:33.506Z", "started_at": null, "finished_at": null, "duration": null, "id": 42, "name": "rubocop", "ref": "master", "artifacts": [], "runner": null, "stage": "test", "status": "started", "tag": false, "web_url": "https://example.com/foo/bar/-/jobs/42", "user": null } -``` \ No newline at end of file diff --git a/docs/326.md b/docs/326.md deleted file mode 100644 index b10f6cb..0000000 --- a/docs/326.md +++ /dev/null @@ -1,81 +0,0 @@ -# Keys API - -> 原文:[https://docs.gitlab.com/ee/api/keys.html](https://docs.gitlab.com/ee/api/keys.html) - -* [Get SSH key with user by ID of an SSH key](#get-ssh-key-with-user-by-id-of-an-ssh-key) -* [Get user by fingerprint of SSH key](#get-user-by-fingerprint-of-ssh-key) -* [Get user by deploy key fingerprint](#get-user-by-deploy-key-fingerprint) - -# Keys API[](#keys-api "Permalink") - -## Get SSH key with user by ID of an SSH key[](#get-ssh-key-with-user-by-id-of-an-ssh-key "Permalink") - -通过 SSH 密钥的 ID 获取具有用户的 SSH 密钥. 请注意,只有管理员才能通过 SSH 密钥 ID 用用户查找 SSH 密钥. - -``` -GET /keys/:id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | SSH 密钥的 ID | - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/keys/1" -``` - -``` -{ "id": 1, "title": "Sample key 25", "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt1256k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=", "created_at": "2015-09-03T07:24:44.627Z", "expires_at": "2020-05-05T00:00:00.000Z" "user": { "name": "John Smith", "username": "john_smith", "id": 25, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/cfa35b8cd2ec278026357769582fa563?s=40\u0026d=identicon", "web_url": "http://localhost:3000/john_smith", "created_at": "2015-09-03T07:24:01.670Z", "bio": null, "location": null, "public_email": "john@example.com", "skype": "", "linkedin": "", "twitter": "", "website_url": "", "organization": null, "last_sign_in_at": "2015-09-03T07:24:01.670Z", "confirmed_at": "2015-09-03T07:24:01.670Z", "last_activity_on": "2015-09-03", "email": "john@example.com", "theme_id": 2, "color_scheme_id": 1, "projects_limit": 10, "current_sign_in_at": null, "identities": [], "can_create_group": true, "can_create_project": true, "two_factor_enabled": false "external": false, "private_profile": null } } -``` - -## Get user by fingerprint of SSH key[](#get-user-by-fingerprint-of-ssh-key "Permalink") - -您可以搜索拥有特定 SSH 密钥的用户. 请注意,只有管理员才能使用 SSH 密钥的指纹查找 SSH 密钥. - -``` -GET /keys -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `fingerprint` | string | yes | SSH 密钥的指纹 | - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/keys?fingerprint=ba:81:59:68:d7:6c:cd:02:02:bf:6a:9b:55:4e:af:d1" -``` - -如果使用 sha256 指纹 API 调用,请确保指纹经过 URL 编码. - -例如, `/`由`/`表示,而`:`由`:`表示: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/keys?fingerprint=SHA256%3AnUhzNyftwADy8AH3wFY31tAKs7HufskYTte2aXo%2FlCg" -``` - -响应示例: - -``` -{ "id": 1, "title": "Sample key 1", "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt1016k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=", "created_at": "2019-11-14T15:11:13.222Z", "expires_at": "2020-05-05T00:00:00.000Z" "user": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://0.0.0.0:3000/root", "created_at": "2019-11-14T15:09:34.831Z", "bio": null, "location": null, "public_email": "", "skype": "", "linkedin": "", "twitter": "", "website_url": "", "organization": null, "last_sign_in_at": "2019-11-16T22:41:26.663Z", "confirmed_at": "2019-11-14T15:09:34.575Z", "last_activity_on": "2019-11-20", "email": "admin@example.com", "theme_id": 1, "color_scheme_id": 1, "projects_limit": 100000, "current_sign_in_at": "2019-11-19T14:42:18.078Z", "identities": [ ], "can_create_group": true, "can_create_project": true, "two_factor_enabled": false, "external": false, "private_profile": false, "shared_runners_minutes_limit": null, "extra_shared_runners_minutes_limit": null } } -``` - -## Get user by deploy key fingerprint[](#get-user-by-deploy-key-fingerprint "Permalink") - -在 GitLab 12.7 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/119209) . - -部署密钥绑定到创建用户,因此,如果使用部署密钥指纹进行查询,则将获得有关使用该密钥的项目的其他信息. - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/keys?fingerprint=SHA256%3AnUhzNyftwADy8AH3wFY31tAKs7HufskYTte2aXo%2FlCg" -``` - -响应示例: - -``` -{ "id": 1, "title": "Sample key 1", "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt1016k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=", "created_at": "2019-11-14T15:11:13.222Z", "user": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://0.0.0.0:3000/root", "created_at": "2019-11-14T15:09:34.831Z", "bio": null, "location": null, "public_email": "", "skype": "", "linkedin": "", "twitter": "", "website_url": "", "organization": null, "last_sign_in_at": "2019-11-16T22:41:26.663Z", "confirmed_at": "2019-11-14T15:09:34.575Z", "last_activity_on": "2019-11-20", "email": "admin@example.com", "theme_id": 1, "color_scheme_id": 1, "projects_limit": 100000, "current_sign_in_at": "2019-11-19T14:42:18.078Z", "identities": [ ], "can_create_group": true, "can_create_project": true, "two_factor_enabled": false, "external": false, "private_profile": false, "shared_runners_minutes_limit": null, "extra_shared_runners_minutes_limit": null }, "deploy_keys_projects": [ { "id": 1, "deploy_key_id": 1, "project_id": 1, "created_at": "2020-01-09T07:32:52.453Z", "updated_at": "2020-01-09T07:32:52.453Z", "can_push": false } ] } -``` \ No newline at end of file diff --git a/docs/327.md b/docs/327.md deleted file mode 100644 index dd535dc..0000000 --- a/docs/327.md +++ /dev/null @@ -1,207 +0,0 @@ -# Labels API - -> 原文:[https://docs.gitlab.com/ee/api/labels.html](https://docs.gitlab.com/ee/api/labels.html) - -* [List labels](#list-labels) -* [Get a single project label](#get-a-single-project-label) -* [Create a new label](#create-a-new-label) -* [Delete a label](#delete-a-label) -* [Edit an existing label](#edit-an-existing-label) -* [Promote a project label to a group label](#promote-a-project-label-to-a-group-label) -* [Subscribe to a label](#subscribe-to-a-label) -* [Unsubscribe from a label](#unsubscribe-from-a-label) - -# Labels API[](#labels-api "Permalink") - -**注意:** `description_html`已添加到[GitLab 12.7 中的](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/21413)响应 JSON. - -## List labels[](#list-labels "Permalink") - -获取给定项目的所有标签. - -默认情况下,此请求一次返回 20 个结果,因为 API 结果[是分页的](README.html#pagination) . - -``` -GET /projects/:id/labels -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `with_counts` | boolean | no | 是否包括发布和合并请求计数. 默认为`false` . *( [在 GitLab 12.2 中引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/31543) )* | -| `include_ancestor_groups` | boolean | no | 包括祖先组. 默认为`true` . | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/labels?with_counts=true" -``` - -响应示例: - -``` -[ { "id" : 1, "name" : "bug", "color" : "#d9534f", "text_color" : "#FFFFFF", "description": "Bug reported by user", "description_html": "Bug reported by user", "open_issues_count": 1, "closed_issues_count": 0, "open_merge_requests_count": 1, "subscribed": false, "priority": 10, "is_project_label": true }, { "id" : 4, "color" : "#d9534f", "text_color" : "#FFFFFF", "name" : "confirmed", "description": "Confirmed issue", "description_html": "Confirmed issue", "open_issues_count": 2, "closed_issues_count": 5, "open_merge_requests_count": 0, "subscribed": false, "priority": null, "is_project_label": true }, { "id" : 7, "name" : "critical", "color" : "#d9534f", "text_color" : "#FFFFFF", "description": "Critical issue. Need fix ASAP", "description_html": "Critical issue. Need fix ASAP", "open_issues_count": 1, "closed_issues_count": 3, "open_merge_requests_count": 1, "subscribed": false, "priority": null, "is_project_label": true }, { "id" : 8, "name" : "documentation", "color" : "#f0ad4e", "text_color" : "#FFFFFF", "description": "Issue about documentation", "description_html": "Issue about documentation", "open_issues_count": 1, "closed_issues_count": 0, "open_merge_requests_count": 2, "subscribed": false, "priority": null, "is_project_label": false }, { "id" : 9, "color" : "#5cb85c", "text_color" : "#FFFFFF", "name" : "enhancement", "description": "Enhancement proposal", "description_html": "Enhancement proposal", "open_issues_count": 1, "closed_issues_count": 0, "open_merge_requests_count": 1, "subscribed": true, "priority": null, "is_project_label": true } ] -``` - -## Get a single project label[](#get-a-single-project-label "Permalink") - -获取给定项目的单个标签. - -``` -GET /projects/:id/labels/:label_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `label_id` | 整数或字符串 | yes | 项目标签的 ID 或标题. | -| `include_ancestor_groups` | boolean | no | 包括祖先组. 默认为`true` . | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/labels/bug" -``` - -响应示例: - -``` -{ "id" : 1, "name" : "bug", "color" : "#d9534f", "text_color" : "#FFFFFF", "description": "Bug reported by user", "description_html": "Bug reported by user", "open_issues_count": 1, "closed_issues_count": 0, "open_merge_requests_count": 1, "subscribed": false, "priority": 10, "is_project_label": true } -``` - -## Create a new label[](#create-a-new-label "Permalink") - -使用给定的名称和颜色为给定的存储库创建一个新标签. - -``` -POST /projects/:id/labels -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `name` | string | yes | 标签名称 | -| `color` | string | yes | 标签的颜色以 6 位十六进制表示法加上前导"#"符号(例如#FFAABB)或[CSS 颜色名称之一给出](https://s0developer0mozilla0org.icopy.site/en-US/docs/Web/CSS/color_value) | -| `description` | string | no | 标签说明 | -| `priority` | integer | no | 标签的优先级. 必须大于或等于零或为`null`才能删除优先级. | - -``` -curl --data "name=feature&color=#5843AD" --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/labels" -``` - -响应示例: - -``` -{ "id" : 10, "name" : "feature", "color" : "#5843AD", "text_color" : "#FFFFFF", "description":null, "description_html":null, "open_issues_count": 0, "closed_issues_count": 0, "open_merge_requests_count": 0, "subscribed": false, "priority": null, "is_project_label": true } -``` - -## Delete a label[](#delete-a-label "Permalink") - -删除具有给定名称的标签. - -``` -DELETE /projects/:id/labels/:label_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `label_id` | 整数或字符串 | yes | 群组标签的 ID 或标题. | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/labels/bug" -``` - -**注意:**参数中带有`name`的较旧的端点`DELETE /projects/:id/labels`仍然可用,但已弃用. - -## Edit an existing label[](#edit-an-existing-label "Permalink") - -用新名称或新颜色更新现有标签. 至少需要一个参数来更新标签. - -``` -PUT /projects/:id/labels/:label_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `label_id` | 整数或字符串 | yes | 群组标签的 ID 或标题. | -| `new_name` | string | 是,如果未提供`color` | 标签的新名称 | -| `color` | string | 是,如果未提供`new_name` | 标签的颜色以 6 位十六进制表示法加上前导"#"符号(例如#FFAABB)或[CSS 颜色名称之一给出](https://s0developer0mozilla0org.icopy.site/en-US/docs/Web/CSS/color_value) | -| `description` | string | no | 标签的新说明 | -| `priority` | integer | no | 标签的新优先级. 必须大于或等于零或为`null`才能删除优先级. | - -``` -curl --request PUT --data "new_name=docs&color=#8E44AD&description=Documentation" --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/labels/documentation" -``` - -响应示例: - -``` -{ "id" : 8, "name" : "docs", "color" : "#8E44AD", "text_color" : "#FFFFFF", "description": "Documentation", "description_html": "Documentation", "open_issues_count": 1, "closed_issues_count": 0, "open_merge_requests_count": 2, "subscribed": false, "priority": null, "is_project_label": true } -``` - -**注意:**参数中带有`name`或`label_id`的较早的端点`PUT /projects/:id/labels`仍然可用,但已弃用. - -## Promote a project label to a group label[](#promote-a-project-label-to-a-group-label "Permalink") - -在 GitLab 12.3 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/25218) . - -将项目标签提升为组标签. - -``` -PUT /projects/:id/labels/:label_id/promote -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `label_id` | 整数或字符串 | yes | 群组标签的 ID 或标题. | - -``` -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/labels/documentation/promote" -``` - -响应示例: - -``` -{ "id" : 8, "name" : "documentation", "color" : "#8E44AD", "description": "Documentation", "description_html": "Documentation", "open_issues_count": 1, "closed_issues_count": 0, "open_merge_requests_count": 2, "subscribed": false } -``` - -**注意:**在参数中带有`name`的较早的端点`PUT /projects/:id/labels/promote`仍然可用,但已弃用. - -## Subscribe to a label[](#subscribe-to-a-label "Permalink") - -将经过身份验证的用户订阅标签以接收通知. 如果用户已经订阅了标签,则返回状态码`304` . - -``` -POST /projects/:id/labels/:label_id/subscribe -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `label_id` | 整数或字符串 | yes | 项目标签的 ID 或标题 | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/labels/1/subscribe" -``` - -响应示例: - -``` -{ "id" : 1, "name" : "bug", "color" : "#d9534f", "text_color" : "#FFFFFF", "description": "Bug reported by user", "description_html": "Bug reported by user", "open_issues_count": 1, "closed_issues_count": 0, "open_merge_requests_count": 1, "subscribed": true, "priority": null, "is_project_label": true } -``` - -## Unsubscribe from a label[](#unsubscribe-from-a-label "Permalink") - -Unsubscribes the authenticated user from a label to not receive notifications from it. If the user is not subscribed to the label, the status code `304` is returned. - -``` -POST /projects/:id/labels/:label_id/unsubscribe -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `label_id` | 整数或字符串 | yes | 项目标签的 ID 或标题 | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/labels/1/unsubscribe" -``` \ No newline at end of file diff --git a/docs/328.md b/docs/328.md deleted file mode 100644 index a562127..0000000 --- a/docs/328.md +++ /dev/null @@ -1,185 +0,0 @@ -# Group Labels API - -> 原文:[https://docs.gitlab.com/ee/api/group_labels.html](https://docs.gitlab.com/ee/api/group_labels.html) - -* [List group labels](#list-group-labels) -* [Get a single group label](#get-a-single-group-label) -* [Create a new group label](#create-a-new-group-label) -* [Update a group label](#update-a-group-label) -* [Delete a group label](#delete-a-group-label) -* [Subscribe to a group label](#subscribe-to-a-group-label) -* [Unsubscribe from a group label](#unsubscribe-from-a-group-label) - -# Group Labels API[](#group-labels-api "Permalink") - -在 GitLab 11.8 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/21368) . - -该 API 支持[组标签的](../user/project/labels.html#project-labels-and-group-labels)管理. 它允许列出,创建,更新和删除组标签. 此外,用户可以订阅和取消订阅组标签. - -**注意:** `description_html`已添加到[GitLab 12.7 中的](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/21413)响应 JSON. - -## List group labels[](#list-group-labels "Permalink") - -获取给定组的所有标签. - -``` -GET /groups/:id/labels -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `with_counts` | boolean | no | 是否包括发布和合并请求计数. 默认为`false` . *( [在 GitLab 12.2 中引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/31543) )* | -| `include_ancestor_groups` | boolean | no | 包括祖先组. 默认为`true` . | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/5/labels?with_counts=true" -``` - -响应示例: - -``` -[ { "id": 7, "name": "bug", "color": "#FF0000", "text_color" : "#FFFFFF", "description": null, "description_html": null, "open_issues_count": 0, "closed_issues_count": 0, "open_merge_requests_count": 0, "subscribed": false }, { "id": 4, "name": "feature", "color": "#228B22", "text_color" : "#FFFFFF", "description": null, "description_html": null, "open_issues_count": 0, "closed_issues_count": 0, "open_merge_requests_count": 0, "subscribed": false } ] -``` - -## Get a single group label[](#get-a-single-group-label "Permalink") - -获取给定组的单个标签. - -``` -GET /groups/:id/labels/:label_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `label_id` | 整数或字符串 | yes | 群组标签的 ID 或标题. | -| `include_ancestor_groups` | boolean | no | 包括祖先组. 默认为`true` . | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/5/labels/bug" -``` - -Example response: - -``` -{ "id": 7, "name": "bug", "color": "#FF0000", "text_color" : "#FFFFFF", "description": null, "description_html": null, "open_issues_count": 0, "closed_issues_count": 0, "open_merge_requests_count": 0, "subscribed": false } -``` - -## Create a new group label[](#create-a-new-group-label "Permalink") - -为给定的组创建一个新的组标签. - -``` -POST /groups/:id/labels -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `name` | string | yes | 标签名称 | -| `color` | string | yes | 标签的颜色以 6 位十六进制表示法加上前导"#"符号(例如#FFAABB)或[CSS 颜色名称之一给出](https://s0developer0mozilla0org.icopy.site/en-US/docs/Web/CSS/color_value) | -| `description` | string | no | 标签的说明, | - -``` -curl --request POST --header "PRIVATE-TOKEN: " --header "Content-Type: application/json" --data '{"name": "Feature Proposal", "color": "#FFA500", "description": "Describes new ideas" }' "https://gitlab.example.com/api/v4/groups/5/labels" -``` - -响应示例: - -``` -{ "id": 9, "name": "Feature Proposal", "color": "#FFA500", "text_color" : "#FFFFFF", "description": "Describes new ideas", "description_html": "Describes new ideas", "open_issues_count": 0, "closed_issues_count": 0, "open_merge_requests_count": 0, "subscribed": false } -``` - -## Update a group label[](#update-a-group-label "Permalink") - -更新现有的组标签. 至少需要一个参数来更新组标签. - -``` -PUT /groups/:id/labels/:label_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `label_id` | 整数或字符串 | yes | 群组标签的 ID 或标题. | -| `new_name` | string | no | 标签的新名称 | -| `color` | string | no | 标签的颜色以 6 位十六进制表示法加上前导"#"符号(例如#FFAABB)或[CSS 颜色名称之一给出](https://s0developer0mozilla0org.icopy.site/en-US/docs/Web/CSS/color_value) | -| `description` | string | no | 标签的描述. | - -``` -curl --request PUT --header "PRIVATE-TOKEN: " --header "Content-Type: application/json" --data '{"new_name": "Feature Idea" }' "https://gitlab.example.com/api/v4/groups/5/labels/Feature%20Proposal" -``` - -响应示例: - -``` -{ "id": 9, "name": "Feature Idea", "color": "#FFA500", "text_color" : "#FFFFFF", "description": "Describes new ideas", "description_html": "Describes new ideas", "open_issues_count": 0, "closed_issues_count": 0, "open_merge_requests_count": 0, "subscribed": false } -``` - -**注意:**参数中带有`name`的较早的端点`PUT /groups/:id/labels`仍然可用,但已弃用. - -## Delete a group label[](#delete-a-group-label "Permalink") - -删除具有给定名称的组标签. - -``` -DELETE /groups/:id/labels/:label_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `label_id` | 整数或字符串 | yes | 群组标签的 ID 或标题. | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/5/labels/bug" -``` - -**注意:**参数中带有`name`的较旧的端点`DELETE /groups/:id/labels`仍然可用,但已弃用. - -## Subscribe to a group label[](#subscribe-to-a-group-label "Permalink") - -将经过身份验证的用户订阅到组标签以接收通知. 如果用户已经订阅了标签,则返回状态码`304` . - -``` -POST /groups/:id/labels/:label_id/subscribe -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `label_id` | 整数或字符串 | yes | 群组标签的 ID 或标题. | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/5/labels/9/subscribe" -``` - -响应示例: - -``` -{ "id": 9, "name": "Feature Idea", "color": "#FFA500", "text_color" : "#FFFFFF", "description": "Describes new ideas", "description_html": "Describes new ideas", "open_issues_count": 0, "closed_issues_count": 0, "open_merge_requests_count": 0, "subscribed": true } -``` - -## Unsubscribe from a group label[](#unsubscribe-from-a-group-label "Permalink") - -从组标签退订已认证的用户以不接收来自该组标签的通知. 如果用户未订阅标签,则返回状态码`304` . - -``` -POST /groups/:id/labels/:label_id/unsubscribe -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `label_id` | 整数或字符串 | yes | 群组标签的 ID 或标题. | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/5/labels/9/unsubscribe" -``` - -响应示例: - -``` -{ "id": 9, "name": "Feature Idea", "color": "#FFA500", "text_color" : "#FFFFFF", "description": "Describes new ideas", "description_html": "Describes new ideas", "open_issues_count": 0, "closed_issues_count": 0, "open_merge_requests_count": 0, "subscribed": false } -``` \ No newline at end of file diff --git a/docs/329.md b/docs/329.md deleted file mode 100644 index 3985c67..0000000 --- a/docs/329.md +++ /dev/null @@ -1,93 +0,0 @@ -# License - -> 原文:[https://docs.gitlab.com/ee/api/license.html](https://docs.gitlab.com/ee/api/license.html) - -* [Retrieve information about the current license](#retrieve-information-about-the-current-license) -* [Retrieve information about all licenses](#retrieve-information-about-all-licenses) -* [Add a new license](#add-a-new-license) -* [Delete a license](#delete-a-license) - -# License[](#license-core-only "Permalink") - -为了与许可证端点进行交互,您需要以管理员身份进行身份验证. - -## Retrieve information about the current license[](#retrieve-information-about-the-current-license "Permalink") - -``` -GET /license -``` - -``` -{ "id": 2, "plan": "gold", "created_at": "2018-02-27T23:21:58.674Z", "starts_at": "2018-01-27", "expires_at": "2022-01-27", "historical_max": 300, "maximum_user_count": 300, "expired": false, "overage": 200, "user_limit": 100, "active_users": 300, "licensee": { "Name": "John Doe1" }, "add_ons": { "GitLab_FileLocks": 1, "GitLab_Auditor_User": 1 } } -``` - -## Retrieve information about all licenses[](#retrieve-information-about-all-licenses "Permalink") - -``` -GET /licenses -``` - -``` -[ { "id": 1, "plan": "silver", "created_at": "2018-02-27T23:21:58.674Z", "starts_at": "2018-01-27", "expires_at": "2022-01-27", "historical_max": 300, "maximum_user_count": 300, "expired": false, "overage": 200, "user_limit": 100, "licensee": { "Name": "John Doe1" }, "add_ons": { "GitLab_FileLocks": 1, "GitLab_Auditor_User": 1 } }, { "id": 2, "plan": "gold", "created_at": "2018-02-27T23:21:58.674Z", "starts_at": "2018-01-27", "expires_at": "2022-01-27", "historical_max": 300, "maximum_user_count": 300, "expired": false, "overage": 200, "user_limit": 100, "licensee": { "Name": "Doe John" }, "add_ons": { "GitLab_FileLocks": 1, } } ] -``` - -超出数是活动用户数与许可用户数之差. 根据许可证是否已过期,计算方法会有所不同. - -* 如果许可证已过期,则使用历史最大活动用户数( `historical_max` ). -* 如果许可证尚未过期,则使用当前活动用户数. - -Returns: - -* `200 OK` ,响应包含 JSON 格式的许可证. 如果没有许可证,这将是一个空的 JSON 数组. -* `403 Forbidden`如果当前用户不允许阅读许可证, `403 Forbidden` . - -## Add a new license[](#add-a-new-license "Permalink") - -``` -POST /license -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `license` | string | yes | 许可证字符串 | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/license?license=eyJkYXRhIjoiMHM5Q...S01Udz09XG4ifQ==" -``` - -响应示例: - -``` -{ "id": 1, "plan": "gold", "created_at": "2018-02-27T23:21:58.674Z", "starts_at": "2018-01-27", "expires_at": "2022-01-27", "historical_max": 300, "maximum_user_count": 300, "expired": false, "overage": 200, "user_limit": 100, "active_users": 300, "licensee": { "Name": "John Doe1" }, "add_ons": { "GitLab_FileLocks": 1, "GitLab_Auditor_User": 1 } } -``` - -Returns: - -* `201 Created`如果成功添加许可证,则`201 Created` . -* `400 Bad Request`如果无法添加许可证),并附有一条错误消息,说明原因. - -## Delete a license[](#delete-a-license "Permalink") - -``` -DELETE /license/:id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | GitLab 许可证的 ID. | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/license/:id" -``` - -响应示例: - -``` -{ "id": 2, "plan": "gold", "created_at": "2018-02-27T23:21:58.674Z", "starts_at": "2018-01-27", "expires_at": "2022-01-27", "historical_max": 300, "maximum_user_count": 300, "expired": false, "overage": 200, "user_limit": 100, "licensee": { "Name": "John Doe" }, "add_ons": { "GitLab_FileLocks": 1, "GitLab_Auditor_User": 1 } } -``` - -Returns: - -* `204 No Content`如果成功删除了许可证,则`204 No Content` . -* `403 Forbidden`如果当前用户不允许删除许可证,则禁止. -* 如果`404 Not Found`删除许可证,则`404 Not Found` . \ No newline at end of file diff --git a/docs/330.md b/docs/330.md deleted file mode 100644 index 466b125..0000000 --- a/docs/330.md +++ /dev/null @@ -1,58 +0,0 @@ -# Licenses API - -> 原文:[https://docs.gitlab.com/ee/api/templates/licenses.html](https://docs.gitlab.com/ee/api/templates/licenses.html) - -* [List license templates](#list-license-templates) -* [Single license template](#single-license-template) - -# Licenses API[](#licenses-api "Permalink") - -在 GitLab 中,有一个 API 端点可用于处理各种开源许可证模板. 有关各种许可条款的更多信息,请访问[此站点](https://choosealicense.com/)或在线提供的许多其他资源. - -## List license templates[](#list-license-templates "Permalink") - -获取所有许可证模板. - -``` -GET /templates/licenses -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `popular` | boolean | no | 如果通过,则仅返回常用许​​可证 | - -``` -curl https://gitlab.example.com/api/v4/templates/licenses?popular=1 -``` - -响应示例: - -``` -[ { "key": "apache-2.0", "name": "Apache License 2.0", "nickname": null, "featured": true, "html_url": "http://choosealicense.com/licenses/apache-2.0/", "source_url": "http://www.apache.org/licenses/LICENSE-2.0.html", "description": "A permissive license that also provides an express grant of patent rights from contributors to users.", "conditions": [ "include-copyright", "document-changes" ], "permissions": [ "commercial-use", "modifications", "distribution", "patent-use", "private-use" ], "limitations": [ "trademark-use", "no-liability" ], "content": " Apache License\n Version 2.0, January 2004\n [...]" }, { "key": "gpl-3.0", "name": "GNU General Public License v3.0", "nickname": "GNU GPLv3", "featured": true, "html_url": "http://choosealicense.com/licenses/gpl-3.0/", "source_url": "http://www.gnu.org/licenses/gpl-3.0.txt", "description": "The GNU GPL is the most widely used free software license and has a strong copyleft requirement. When distributing derived works, the source code of the work must be made available under the same license.", "conditions": [ "include-copyright", "document-changes", "disclose-source", "same-license" ], "permissions": [ "commercial-use", "modifications", "distribution", "patent-use", "private-use" ], "limitations": [ "no-liability" ], "content": " GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n [...]" }, { "key": "mit", "name": "MIT License", "nickname": null, "featured": true, "html_url": "http://choosealicense.com/licenses/mit/", "source_url": "http://opensource.org/licenses/MIT", "description": "A permissive license that is short and to the point. It lets people do anything with your code with proper attribution and without warranty.", "conditions": [ "include-copyright" ], "permissions": [ "commercial-use", "modifications", "distribution", "private-use" ], "limitations": [ "no-liability" ], "content": "The MIT License (MIT)\n\nCopyright (c) [year] [fullname]\n [...]" } ] -``` - -## Single license template[](#single-license-template "Permalink") - -获取单个许可证模板. 您可以传递参数来替换许可证占位符. - -``` -GET /templates/licenses/:key -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `key` | string | yes | 许可证模板的密钥 | -| `project` | string | no | 受版权保护的项目名称 | -| `fullname` | string | no | 著作权人的全名 | - -> **注意:**如果省略`fullname`参数但对请求进行身份验证,则将使用经过身份验证的用户名来替换版权所有者占位符. - -``` -curl --header "PRIVATE-TOKEN: " https://gitlab.example.com/api/v4/templates/licenses/mit?project=My+Cool+Project -``` - -响应示例: - -``` -{ "key": "mit", "name": "MIT License", "nickname": null, "featured": true, "html_url": "http://choosealicense.com/licenses/mit/", "source_url": "http://opensource.org/licenses/MIT", "description": "A permissive license that is short and to the point. It lets people do anything with your code with proper attribution and without warranty.", "conditions": [ "include-copyright" ], "permissions": [ "commercial-use", "modifications", "distribution", "private-use" ], "limitations": [ "no-liability" ], "content": "The MIT License (MIT)\n\nCopyright (c) 2016 John Doe\n [...]" } -``` \ No newline at end of file diff --git a/docs/331.md b/docs/331.md deleted file mode 100644 index d719cd5..0000000 --- a/docs/331.md +++ /dev/null @@ -1,73 +0,0 @@ -# Issue links API - -> 原文:[https://docs.gitlab.com/ee/api/issue_links.html](https://docs.gitlab.com/ee/api/issue_links.html) - -* [List issue relations](#list-issue-relations) -* [Create an issue link](#create-an-issue-link) -* [Delete an issue link](#delete-an-issue-link) - -# Issue links API[](#issue-links-api-starter "Permalink") - -## List issue relations[](#list-issue-relations "Permalink") - -获取给定问题的相关问题列表,按关系创建日期时间(升序)排序. 问题将根据用户授权进行过滤. - -``` -GET /projects/:id/issues/:issue_iid/links -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `issue_iid` | integer | yes | 项目问题的内部 ID | - -``` -[ { "id" : 84, "iid" : 14, "issue_link_id": 1 "project_id" : 4, "created_at" : "2016-01-07T12:44:33.959Z", "title" : "Issues with auth", "state" : "opened", "assignees" : [], "assignee" : null, "labels" : [ "bug" ], "author" : { "name" : "Alexandra Bashirian", "avatar_url" : null, "state" : "active", "web_url" : "https://gitlab.example.com/eileen.lowe", "id" : 18, "username" : "eileen.lowe" }, "description" : null, "updated_at" : "2016-01-07T12:44:33.959Z", "milestone" : null, "subscribed" : true, "user_notes_count": 0, "due_date": null, "web_url": "http://example.com/example/example/issues/14", "confidential": false, "weight": null, "link_type": "relates_to" } ] -``` - -## Create an issue link[](#create-an-issue-link "Permalink") - -在两个问题之间创建双向关系. 必须允许用户更新两个问题才能成功. - -``` -POST /projects/:id/issues/:issue_iid/links -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `issue_iid` | integer | yes | 项目问题的内部 ID | -| `target_project_id` | integer/string | yes | 目标项目[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `target_issue_iid` | integer/string | yes | 目标项目的内部 ID | -| `link_type` | string | no | 关系的类型(" relates_to"," blocks"," is_blocked_by")默认为" relates_to". | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/4/issues/1/links?target_project_id=5&target_issue_iid=1" -``` - -响应示例: - -``` -{ "source_issue" : { "id" : 83, "iid" : 11, "project_id" : 4, "created_at" : "2016-01-07T12:44:33.959Z", "title" : "Issues with auth", "state" : "opened", "assignees" : [], "assignee" : null, "labels" : [ "bug" ], "author" : { "name" : "Alexandra Bashirian", "avatar_url" : null, "state" : "active", "web_url" : "https://gitlab.example.com/eileen.lowe", "id" : 18, "username" : "eileen.lowe" }, "description" : null, "updated_at" : "2016-01-07T12:44:33.959Z", "milestone" : null, "subscribed" : true, "user_notes_count": 0, "due_date": null, "web_url": "http://example.com/example/example/issues/11", "confidential": false, "weight": null, }, "target_issue" : { "id" : 84, "iid" : 14, "project_id" : 4, "created_at" : "2016-01-07T12:44:33.959Z", "title" : "Issues with auth", "state" : "opened", "assignees" : [], "assignee" : null, "labels" : [ "bug" ], "author" : { "name" : "Alexandra Bashirian", "avatar_url" : null, "state" : "active", "web_url" : "https://gitlab.example.com/eileen.lowe", "id" : 18, "username" : "eileen.lowe" }, "description" : null, "updated_at" : "2016-01-07T12:44:33.959Z", "milestone" : null, "subscribed" : true, "user_notes_count": 0, "due_date": null, "web_url": "http://example.com/example/example/issues/14", "confidential": false, "weight": null, }, "link_type": "relates_to" } -``` - -## Delete an issue link[](#delete-an-issue-link "Permalink") - -删除问题链接,从而删除双向关系. - -``` -DELETE /projects/:id/issues/:issue_iid/links/:issue_link_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `issue_iid` | integer | yes | 项目问题的内部 ID | -| `issue_link_id` | integer/string | yes | 发行关系的 ID | -| `link_type` | string | no | 关系的类型(" relates_to"," blocks"," is_blocked_by")默认为" relates_to" | - -``` -{ "source_issue" : { "id" : 83, "iid" : 11, "project_id" : 4, "created_at" : "2016-01-07T12:44:33.959Z", "title" : "Issues with auth", "state" : "opened", "assignees" : [], "assignee" : null, "labels" : [ "bug" ], "author" : { "name" : "Alexandra Bashirian", "avatar_url" : null, "state" : "active", "web_url" : "https://gitlab.example.com/eileen.lowe", "id" : 18, "username" : "eileen.lowe" }, "description" : null, "updated_at" : "2016-01-07T12:44:33.959Z", "milestone" : null, "subscribed" : true, "user_notes_count": 0, "due_date": null, "web_url": "http://example.com/example/example/issues/11", "confidential": false, "weight": null, }, "target_issue" : { "id" : 84, "iid" : 14, "project_id" : 4, "created_at" : "2016-01-07T12:44:33.959Z", "title" : "Issues with auth", "state" : "opened", "assignees" : [], "assignee" : null, "labels" : [ "bug" ], "author" : { "name" : "Alexandra Bashirian", "avatar_url" : null, "state" : "active", "web_url" : "https://gitlab.example.com/eileen.lowe", "id" : 18, "username" : "eileen.lowe" }, "description" : null, "updated_at" : "2016-01-07T12:44:33.959Z", "milestone" : null, "subscribed" : true, "user_notes_count": 0, "due_date": null, "web_url": "http://example.com/example/example/issues/14", "confidential": false, "weight": null, }, "link_type": "relates_to" } -``` \ No newline at end of file diff --git a/docs/332.md b/docs/332.md deleted file mode 100644 index 831ca06..0000000 --- a/docs/332.md +++ /dev/null @@ -1,140 +0,0 @@ -# Epic Links API - -> 原文:[https://docs.gitlab.com/ee/api/epic_links.html](https://docs.gitlab.com/ee/api/epic_links.html) - -* [List epics related to a given epic](#list-epics-related-to-a-given-epic) -* [Assign a child epic](#assign-a-child-epic) -* [Create and assign a child epic](#create-and-assign-a-child-epic) -* [Re-order a child epic](#re-order-a-child-epic) -* [Unassign a child epic](#unassign-a-child-epic) - -# Epic Links API[](#epic-links-api-ultimate "Permalink") - -**注意:**该端点是在 GitLab 11.8 中[引入的](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/9188) . - -管理亲子[史诗般的关系](../user/group/epics/index.html#multi-level-child-epics-ultimate) . - -每个对`epic_links` API 调用`epic_links`必须经过身份验证. - -如果用户不是组的成员,并且该组是私有的,则对该组的`GET`请求将导致`404`状态代码. - -多级史诗仅在 GitLab [Ultimate / Gold](https://about.gitlab.com/pricing/)中可用. 如果"多级史诗"功能不可用,将返回`403`状态代码. - -## List epics related to a given epic[](#list-epics-related-to-a-given-epic "Permalink") - -获取史诗的所有子史诗. - -``` -GET /groups/:id/epics/:epic_iid/epics -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `epic_iid` | integer | yes | 史诗的内部 ID. | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/1/epics/5/epics/" -``` - -响应示例: - -``` -[ { "id": 29, "iid": 6, "group_id": 1, "parent_id": 5, "title": "Accusamus iste et ullam ratione voluptatem omnis debitis dolor est.", "description": "Molestias dolorem eos vitae expedita impedit necessitatibus quo voluptatum.", "author": { "id": 10, "name": "Lu Mayer", "username": "kam", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/018729e129a6f31c80a6327a30196823?s=80&d=identicon", "web_url": "http://localhost:3001/kam" }, "start_date": null, "start_date_is_fixed": false, "start_date_fixed": null, "start_date_from_milestones": null, //deprecated in favor of start_date_from_inherited_source "start_date_from_inherited_source": null, "end_date": "2018-07-31", //deprecated in favor of due_date "due_date": "2018-07-31", "due_date_is_fixed": false, "due_date_fixed": null, "due_date_from_milestones": "2018-07-31", //deprecated in favor of start_date_from_inherited_source "due_date_from_inherited_source": "2018-07-31", "created_at": "2018-07-17T13:36:22.770Z", "updated_at": "2018-07-18T12:22:05.239Z", "labels": [] } ] -``` - -## Assign a child epic[](#assign-a-child-epic "Permalink") - -在两个史诗之间创建关联,将一个史诗指定为父史诗,将另一个史诗指定为子史诗. 父史诗可以有多个子史诗. 如果新的子史诗已经属于另一个史诗,则该子史诗不会从先前的父史诗中分配. - -``` -POST /groups/:id/epics/:epic_iid/epics -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | The ID or [URL-encoded path of the group](README.html#namespaced-path-encoding) owned by the authenticated user | -| `epic_iid` | integer | yes | 史诗的内部 ID. | -| `child_epic_id` | integer | yes | 子史诗的全局 ID. 内部 ID 无法使用,因为它们可能与其他组的史诗冲突. | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/1/epics/5/epics/6" -``` - -响应示例: - -``` -{ "id": 6, "iid": 38, "group_id": 1, "parent_id": 5 "title": "Accusamus iste et ullam ratione voluptatem omnis debitis dolor est.", "description": "Molestias dolorem eos vitae expedita impedit necessitatibus quo voluptatum.", "author": { "id": 10, "name": "Lu Mayer", "username": "kam", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/018729e129a6f31c80a6327a30196823?s=80&d=identicon", "web_url": "http://localhost:3001/kam" }, "start_date": null, "start_date_is_fixed": false, "start_date_fixed": null, "start_date_from_milestones": null, //deprecated in favor of start_date_from_inherited_source "start_date_from_inherited_source": null, "end_date": "2018-07-31", //deprecated in favor of due_date "due_date": "2018-07-31", "due_date_is_fixed": false, "due_date_fixed": null, "due_date_from_milestones": "2018-07-31", //deprecated in favor of start_date_from_inherited_source "due_date_from_inherited_source": "2018-07-31", "created_at": "2018-07-17T13:36:22.770Z", "updated_at": "2018-07-18T12:22:05.239Z", "labels": [] } -``` - -## Create and assign a child epic[](#create-and-assign-a-child-epic "Permalink") - -创建一个新的史诗并将其与提供的父史诗相关联. 响应是 LinkedEpic 对象. - -``` -POST /groups/:id/epics/:epic_iid/epics -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `epic_iid` | integer | yes | (未来父级)史诗的内部 ID. | -| `title` | string | yes | 新创建的史诗的标题. | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/1/epics/5/epics?title=Newpic" -``` - -响应示例: - -``` -{ "id": 24, "iid": 2, "title": "child epic", "group_id": 49, "parent_id": 23, "has_children": false, "has_issues": false, "reference": "&2", "url": "http://localhost/groups/group16/-/epics/2", "relation_url": "http://localhost/groups/group16/-/epics/1/links/24" } -``` - -## Re-order a child epic[](#re-order-a-child-epic "Permalink") - -``` -PUT /groups/:id/epics/:epic_iid/epics/:child_epic_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `epic_iid` | integer | yes | 史诗的内部 ID. | -| `child_epic_id` | integer | yes | 子史诗的全局 ID. 内部 ID 无法使用,因为它们可能与其他组的史诗冲突. | -| `move_before_id` | integer | no | 同胞史诗的全局 ID,应放在子史诗之前. | -| `move_after_id` | integer | no | 同胞史诗的全局 ID,应放在子史诗之后. | - -``` -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/1/epics/4/epics/5" -``` - -响应示例: - -``` -[ { "id": 29, "iid": 6, "group_id": 1, "parent_id": 5, "title": "Accusamus iste et ullam ratione voluptatem omnis debitis dolor est.", "description": "Molestias dolorem eos vitae expedita impedit necessitatibus quo voluptatum.", "author": { "id": 10, "name": "Lu Mayer", "username": "kam", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/018729e129a6f31c80a6327a30196823?s=80&d=identicon", "web_url": "http://localhost:3001/kam" }, "start_date": null, "start_date_is_fixed": false, "start_date_fixed": null, "start_date_from_milestones": null, //deprecated in favor of start_date_from_inherited_source "start_date_from_inherited_source": null, "end_date": "2018-07-31", //deprecated in favor of due_date "due_date": "2018-07-31", "due_date_is_fixed": false, "due_date_fixed": null, "due_date_from_milestones": "2018-07-31", //deprecated in favor of start_date_from_inherited_source "due_date_from_inherited_source": "2018-07-31", "created_at": "2018-07-17T13:36:22.770Z", "updated_at": "2018-07-18T12:22:05.239Z", "labels": [] } ] -``` - -## Unassign a child epic[](#unassign-a-child-epic "Permalink") - -从父级史诗中取消分配子级史诗. - -``` -DELETE /groups/:id/epics/:epic_iid/epics/:child_epic_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `epic_iid` | integer | yes | 史诗的内部 ID. | -| `child_epic_id` | integer | yes | 子史诗的全局 ID. 内部 ID 无法使用,因为它们可能与其他组的史诗冲突. | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/1/epics/4/epics/5" -``` - -响应示例: - -``` -{ "id": 5, "iid": 38, "group_id": 1, "parent_id": null, "title": "Accusamus iste et ullam ratione voluptatem omnis debitis dolor est.", "description": "Molestias dolorem eos vitae expedita impedit necessitatibus quo voluptatum.", "author": { "id": 10, "name": "Lu Mayer", "username": "kam", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/018729e129a6f31c80a6327a30196823?s=80&d=identicon", "web_url": "http://localhost:3001/kam" }, "start_date": null, "start_date_is_fixed": false, "start_date_fixed": null, "start_date_from_milestones": null, //deprecated in favor of start_date_from_inherited_source "start_date_from_inherited_source": null, "end_date": "2018-07-31", //deprecated in favor of due_date "due_date": "2018-07-31", "due_date_is_fixed": false, "due_date_fixed": null, "due_date_from_milestones": "2018-07-31", //deprecated in favor of start_date_from_inherited_source "due_date_from_inherited_source": "2018-07-31", "created_at": "2018-07-17T13:36:22.770Z", "updated_at": "2018-07-18T12:22:05.239Z", "labels": [] } -``` \ No newline at end of file diff --git a/docs/333.md b/docs/333.md deleted file mode 100644 index f680873..0000000 --- a/docs/333.md +++ /dev/null @@ -1,123 +0,0 @@ -# Managed Licenses API - -> 原文:[https://docs.gitlab.com/ee/api/managed_licenses.html](https://docs.gitlab.com/ee/api/managed_licenses.html) - -* [List managed licenses](#list-managed-licenses) -* [Show an existing managed license](#show-an-existing-managed-license) -* [Create a new managed license](#create-a-new-managed-license) -* [Delete a managed license](#delete-a-managed-license) -* [Edit an existing managed license](#edit-an-existing-managed-license) - -# Managed Licenses API[](#managed-licenses-api-ultimate "Permalink") - -## List managed licenses[](#list-managed-licenses "Permalink") - -获取给定项目的所有托管许可证. - -``` -GET /projects/:id/managed_licenses -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/managed_licenses" -``` - -响应示例: - -``` -[ { "id": 1, "name": "MIT", "approval_status": "approved" }, { "id": 3, "name": "ISC", "approval_status": "blacklisted" } ] -``` - -## Show an existing managed license[](#show-an-existing-managed-license "Permalink") - -显示现有的托管许可证. - -``` -GET /projects/:id/managed_licenses/:managed_license_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `managed_license_id` | integer/string | yes | 属于项目的许可证的 ID 或 URL 编码名称 | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/managed_licenses/6" -``` - -响应示例: - -``` -{ "id": 1, "name": "MIT", "approval_status": "blacklisted" } -``` - -## Create a new managed license[](#create-a-new-managed-license "Permalink") - -使用给定的名称和批准状态为给定的项目创建一个新的托管许可证. - -``` -POST /projects/:id/managed_licenses -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `name` | string | yes | 托管许可证的名称 | -| `approval_status` | string | yes | 批准状态. "批准"或"列入黑名单" | - -``` -curl --data "name=MIT&approval_status=blacklisted" --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/managed_licenses" -``` - -响应示例: - -``` -{ "id": 1, "name": "MIT", "approval_status": "approved" } -``` - -## Delete a managed license[](#delete-a-managed-license "Permalink") - -删除具有给定 ID 的托管许可证. - -``` -DELETE /projects/:id/managed_licenses/:managed_license_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `managed_license_id` | integer/string | yes | 属于项目的许可证的 ID 或 URL 编码名称 | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/managed_licenses/4" -``` - -成功后,它将以 HTTP 204 响应进行回复. - -## Edit an existing managed license[](#edit-an-existing-managed-license "Permalink") - -使用新的批准状态更新现有的托管许可证. - -``` -PATCH /projects/:id/managed_licenses/:managed_license_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `managed_license_id` | integer/string | yes | 属于项目的许可证的 ID 或 URL 编码名称 | -| `approval_status` | string | yes | 批准状态. "批准"或"列入黑名单" | - -``` -curl --request PATCH --data "approval_status=blacklisted" --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/managed_licenses/6" -``` - -响应示例: - -``` -{ "id": 1, "name": "MIT", "approval_status": "blacklisted" } -``` \ No newline at end of file diff --git a/docs/334.md b/docs/334.md deleted file mode 100644 index 2fddbd1..0000000 --- a/docs/334.md +++ /dev/null @@ -1,33 +0,0 @@ -# Markdown API - -> 原文:[https://docs.gitlab.com/ee/api/markdown.html](https://docs.gitlab.com/ee/api/markdown.html) - -* [Render an arbitrary Markdown document](#render-an-arbitrary-markdown-document) - -# Markdown API[](#markdown-api "Permalink") - -在 GitLab 11.0 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/18926) . - -仅在 APIv4 中可用. - -## Render an arbitrary Markdown document[](#render-an-arbitrary-markdown-document "Permalink") - -``` -POST /api/v4/markdown -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `text` | string | yes | Markdown 文本呈现 | -| `gfm` | boolean | 否(可选) | 使用 GitLab 风味 Markdown 渲染文本. 默认为`false` | -| `project` | string | 否(可选) | 使用 GitLab Flavored Markdown 创建引用时,请使用`project`作为上下文. 如果项目不是公开的,则需要[认证](README.html#authentication) . | - -``` -curl --header Content-Type:application/json --data '{"text":"Hello world! :tada:", "gfm":true, "project":"group_example/project_example"}' "https://gitlab.example.com/api/v4/markdown" -``` - -响应示例: - -``` -{ "html": "

Hello world! 🎉

" } -``` \ No newline at end of file diff --git a/docs/335.md b/docs/335.md deleted file mode 100644 index b2cf4d8..0000000 --- a/docs/335.md +++ /dev/null @@ -1,266 +0,0 @@ -# Group and project members API - -> 原文:[https://docs.gitlab.com/ee/api/members.html](https://docs.gitlab.com/ee/api/members.html) - -* [Valid access levels](#valid-access-levels) -* [List all members of a group or project](#list-all-members-of-a-group-or-project) -* [List all members of a group or project including inherited members](#list-all-members-of-a-group-or-project-including-inherited-members) -* [Get a member of a group or project](#get-a-member-of-a-group-or-project) -* [Get a member of a group or project, including inherited members](#get-a-member-of-a-group-or-project-including-inherited-members) -* [Add a member to a group or project](#add-a-member-to-a-group-or-project) -* [Edit a member of a group or project](#edit-a-member-of-a-group-or-project) - * [Set override flag for a member of a group](#set-override-flag-for-a-member-of-a-group) - * [Remove override for a member of a group](#remove-override-for-a-member-of-a-group) -* [Remove a member from a group or project](#remove-a-member-from-a-group-or-project) -* [Give a group access to a project](#give-a-group-access-to-a-project) - -# Group and project members API[](#group-and-project-members-api "Permalink") - -## Valid access levels[](#valid-access-levels "Permalink") - -访问级别在`Gitlab::Access`模块中定义. 当前,这些级别被认可: - -* 无法访问( `0` ) -* 宾客( `10` ) -* 记者( `20` ) -* 显影剂( `30` ) -* 养护者( `40` ) -* 所有者( `50` )-仅对组有效 - -**注意:**由于[存在问题](https://gitlab.com/gitlab-org/gitlab/-/issues/219299) ,个人名称空间中的项目将不会显示所有者( `50` )所有者的权限. - -## List all members of a group or project[](#list-all-members-of-a-group-or-project "Permalink") - -获取可通过身份验证的用户查看的组或项目成员的列表. 仅返回直接成员,而不返回通过祖先组继承的成员. - -此函数使用分页参数`page`和`per_page`来限制用户列表. - -``` -GET /groups/:id/members -GET /projects/:id/members -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目或组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `query` | string | no | 查询字符串以搜索成员 | -| `user_ids` | 整数数组 | no | 根据给定的用户 ID 过滤结果 | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/:id/members" -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/:id/members" -``` - -响应示例: - -``` -[ { "id": 1, "username": "raymond_smith", "name": "Raymond Smith", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon", "web_url": "http://192.168.1.8:3000/root", "expires_at": "2012-10-22T14:13:35Z", "access_level": 30, "group_saml_identity": null }, { "id": 2, "username": "john_doe", "name": "John Doe", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon", "web_url": "http://192.168.1.8:3000/root", "expires_at": "2012-10-22T14:13:35Z", "access_level": 30, "email": "john@example.com", "group_saml_identity": { "extern_uid":"ABC-1234567890", "provider": "group_saml", "saml_provider_id": 10 } } ] -``` - -## List all members of a group or project including inherited members[](#list-all-members-of-a-group-or-project-including-inherited-members "Permalink") - -获取可通过身份验证的用户查看的组或项目成员的列表,包括通过祖先组继承的成员. 当用户是项目/组和一个或多个祖先组的成员时,仅以项目`access_level` (如果存在)或用户所属项目组中第一个组的用户的`access_level`返回一次祖先链. - -此函数使用分页参数`page`和`per_page`来限制用户列表. - -``` -GET /groups/:id/members/all -GET /projects/:id/members/all -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目或组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `query` | string | no | 查询字符串以搜索成员 | -| `user_ids` | 整数数组 | no | 根据给定的用户 ID 过滤结果 | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/:id/members/all" -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/:id/members/all" -``` - -响应示例: - -``` -[ { "id": 1, "username": "raymond_smith", "name": "Raymond Smith", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon", "web_url": "http://192.168.1.8:3000/root", "expires_at": "2012-10-22T14:13:35Z", "access_level": 30, "group_saml_identity": null }, { "id": 2, "username": "john_doe", "name": "John Doe", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon", "web_url": "http://192.168.1.8:3000/root", "expires_at": "2012-10-22T14:13:35Z", "access_level": 30 "email": "john@example.com", "group_saml_identity": { "extern_uid":"ABC-1234567890", "provider": "group_saml", "saml_provider_id": 10 } }, { "id": 3, "username": "foo_bar", "name": "Foo bar", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon", "web_url": "http://192.168.1.8:3000/root", "expires_at": "2012-11-22T14:13:35Z", "access_level": 30, "group_saml_identity": null } ] -``` - -## Get a member of a group or project[](#get-a-member-of-a-group-or-project "Permalink") - -获取组或项目的成员. 仅返回直接成员,而不返回通过祖先组继承的成员. - -``` -GET /groups/:id/members/:user_id -GET /projects/:id/members/:user_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目或组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `user_id` | integer | yes | 成员的用户标识 | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/:id/members/:user_id" -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/:id/members/:user_id" -``` - -响应示例: - -``` -{ "id": 1, "username": "raymond_smith", "name": "Raymond Smith", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon", "web_url": "http://192.168.1.8:3000/root", "access_level": 30, "expires_at": null, "group_saml_identity": null } -``` - -## Get a member of a group or project, including inherited members[](#get-a-member-of-a-group-or-project-including-inherited-members "Permalink") - -在 GitLab 12.4 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/17744) . - -获取组或项目的成员,包括通过祖先组继承的成员. 有关详细信息,请参见相应的[端点以列出所有继承的成员](#list-all-members-of-a-group-or-project-including-inherited-members) . - -``` -GET /groups/:id/members/all/:user_id -GET /projects/:id/members/all/:user_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目或组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `user_id` | integer | yes | 成员的用户标识 | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/:id/members/all/:user_id" -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/:id/members/all/:user_id" -``` - -响应示例: - -``` -{ "id": 1, "username": "raymond_smith", "name": "Raymond Smith", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon", "web_url": "http://192.168.1.8:3000/root", "access_level": 30, "expires_at": null, "group_saml_identity": null } -``` - -## Add a member to a group or project[](#add-a-member-to-a-group-or-project "Permalink") - -将成员添加到组或项目. - -``` -POST /groups/:id/members -POST /projects/:id/members -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目或组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `user_id` | integer | yes | 新成员的用户标识 | -| `access_level` | integer | yes | 有效的访问级别 | -| `expires_at` | string | no | 日期格式为 YEAR-MONTH-DAY 的日期字符串 | - -``` -curl --request POST --header "PRIVATE-TOKEN: " --data "user_id=1&access_level=30" "https://gitlab.example.com/api/v4/groups/:id/members" -curl --request POST --header "PRIVATE-TOKEN: " --data "user_id=1&access_level=30" "https://gitlab.example.com/api/v4/projects/:id/members" -``` - -响应示例: - -``` -{ "id": 1, "username": "raymond_smith", "name": "Raymond Smith", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon", "web_url": "http://192.168.1.8:3000/root", "expires_at": "2012-10-22T14:13:35Z", "access_level": 30, "group_saml_identity": null } -``` - -## Edit a member of a group or project[](#edit-a-member-of-a-group-or-project "Permalink") - -更新组或项目的成员. - -``` -PUT /groups/:id/members/:user_id -PUT /projects/:id/members/:user_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目或组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `user_id` | integer | yes | 成员的用户标识 | -| `access_level` | integer | yes | 有效的访问级别 | -| `expires_at` | string | no | 日期格式为 YEAR-MONTH-DAY 的日期字符串 | - -``` -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/:id/members/:user_id?access_level=40" -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/:id/members/:user_id?access_level=40" -``` - -响应示例: - -``` -{ "id": 1, "username": "raymond_smith", "name": "Raymond Smith", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon", "web_url": "http://192.168.1.8:3000/root", "expires_at": "2012-10-22T14:13:35Z", "access_level": 40, "group_saml_identity": null } -``` - -### Set override flag for a member of a group[](#set-override-flag-for-a-member-of-a-group "Permalink") - -在 GitLab 13.0 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/4875) . - -默认情况下,LDAP 组成员的访问级别设置为 LDAP 通过组同步指定的值. 您可以通过调用此端点来允许访问级别替代. - -``` -POST /groups/:id/members/:user_id/override -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `user_id` | integer | yes | 成员的用户标识 | - -``` -curl --request PUT --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" "https://gitlab.example.com/api/v4/groups/:id/members/:user_id/override" -``` - -响应示例: - -``` -{ "id": 1, "username": "raymond_smith", "name": "Raymond Smith", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon", "web_url": "http://192.168.1.8:3000/root", "expires_at": "2012-10-22T14:13:35Z", "access_level": 40, "override": true } -``` - -### Remove override for a member of a group[](#remove-override-for-a-member-of-a-group "Permalink") - -在 GitLab 13.0 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/4875) . - -将替代标志设置为 false,并允许 LDAP 组同步将访问级别重置为 LDAP 指定的值. - -``` -DELETE /groups/:id/members/:user_id/override -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `user_id` | integer | yes | 成员的用户标识 | - -``` -curl --request PUT --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" "https://gitlab.example.com/api/v4/groups/:id/members/:user_id/override" -``` - -响应示例: - -``` -{ "id": 1, "username": "raymond_smith", "name": "Raymond Smith", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon", "web_url": "http://192.168.1.8:3000/root", "expires_at": "2012-10-22T14:13:35Z", "access_level": 40, "override": false } -``` - -## Remove a member from a group or project[](#remove-a-member-from-a-group-or-project "Permalink") - -从组或项目中删除用户. - -``` -DELETE /groups/:id/members/:user_id -DELETE /projects/:id/members/:user_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目或组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `user_id` | integer | yes | 成员的用户标识 | -| `unassign_issuables` | boolean | false | 标志,指示是否应从给定的组或项目内取消分配任何问题或合并请求的已删除成员 | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/:id/members/:user_id" -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/:id/members/:user_id" -``` - -## Give a group access to a project[](#give-a-group-access-to-a-project "Permalink") - -See [share project with group](projects.html#share-project-with-group) \ No newline at end of file diff --git a/docs/336.md b/docs/336.md deleted file mode 100644 index e36243f..0000000 --- a/docs/336.md +++ /dev/null @@ -1,430 +0,0 @@ -# Merge request approvals API - -> 原文:[https://docs.gitlab.com/ee/api/merge_request_approvals.html](https://docs.gitlab.com/ee/api/merge_request_approvals.html) - -* [Project-level MR approvals](#project-level-mr-approvals) - * [Get Configuration](#get-configuration) - * [Change configuration](#change-configuration) - * [Get project-level rules](#get-project-level-rules) - * [Create project-level rule](#create-project-level-rule) - * [Update project-level rule](#update-project-level-rule) - * [Delete project-level rule](#delete-project-level-rule) - * [Change allowed approvers](#change-allowed-approvers) -* [Merge Request-level MR approvals](#merge-request-level-mr-approvals) - * [Get Configuration](#get-configuration-1) - * [Change approval configuration](#change-approval-configuration) - * [Change allowed approvers for Merge Request](#change-allowed-approvers-for-merge-request) - * [Get the approval state of merge requests](#get-the-approval-state-of-merge-requests) - * [Get merge request level rules](#get-merge-request-level-rules) - * [Create merge request level rule](#create-merge-request-level-rule) - * [Update merge request level rule](#update-merge-request-level-rule) - * [Delete merge request level rule](#delete-merge-request-level-rule) -* [Approve Merge Request](#approve-merge-request) -* [Unapprove Merge Request](#unapprove-merge-request) - -# Merge request approvals API[](#merge-request-approvals-api-starter "Permalink") - -配置项目中所有合并请求(MR)的批准. 必须对所有端点进行身份验证. - -## Project-level MR approvals[](#project-level-mr-approvals "Permalink") - -### Get Configuration[](#get-configuration "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/183) in [GitLab Starter](https://about.gitlab.com/pricing/) 10.6. - -您可以使用以下端点请求有关项目批准配置的信息: - -``` -GET /projects/:id/approvals -``` - -**Parameters:** - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 项目 ID | - -``` -{ "approvals_before_merge": 2, "reset_approvals_on_push": true, "disable_overriding_approvers_per_merge_request": false, "merge_requests_author_approval": true, "merge_requests_disable_committers_approval": false, "require_password_to_approve": true } -``` - -### Change configuration[](#change-configuration "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/183) in [GitLab Starter](https://about.gitlab.com/pricing/) 10.6. - -如果允许,则可以使用以下端点更改批准配置: - -``` -POST /projects/:id/approvals -``` - -**Parameters:** - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 项目 ID | -| `approvals_before_merge` | integer | no | MR 可以合并之前需要多少批准. 在 12.0 中已弃用,以支持批准规则 API. | -| `reset_approvals_on_push` | boolean | no | 重置批准以进行新的推送 | -| `disable_overriding_approvers_per_merge_request` | boolean | no | 允许/禁止每个 MR 的替代批准者 | -| `merge_requests_author_approval` | boolean | no | 允许/禁止作者自行批准合并请求; `true`表示作者可以自行批准 | -| `merge_requests_disable_committers_approval` | boolean | no | 允许/禁止提交者自我批准合并请求 | -| `require_password_to_approve` | boolean | no | 在添加批准之前,需要批准者输入密码才能进行身份验证 | - -``` -{ "approvals_before_merge": 2, "reset_approvals_on_push": true, "disable_overriding_approvers_per_merge_request": false, "merge_requests_author_approval": false, "merge_requests_disable_committers_approval": false, "require_password_to_approve": true } -``` - -### Get project-level rules[](#get-project-level-rules "Permalink") - -版本历史 - -* 在[GitLab Starter](https://about.gitlab.com/pricing/) 12.3 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/11877) . -* [GitLab Premium](https://about.gitlab.com/pricing/) 12.7 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/460)了`protected_branches`属性. - -您可以使用以下端点请求有关项目批准规则的信息: - -``` -GET /projects/:id/approval_rules -``` - -**Parameters:** - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 项目 ID | - -``` -[ { "id": 1, "name": "security", "rule_type": "regular", "eligible_approvers": [ { "id": 5, "name": "John Doe", "username": "jdoe", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/0?s=80&d=identicon", "web_url": "http://localhost/jdoe" }, { "id": 50, "name": "Group Member 1", "username": "group_member_1", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/0?s=80&d=identicon", "web_url": "http://localhost/group_member_1" } ], "approvals_required": 3, "users": [ { "id": 5, "name": "John Doe", "username": "jdoe", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/0?s=80&d=identicon", "web_url": "http://localhost/jdoe" } ], "groups": [ { "id": 5, "name": "group1", "path": "group1", "description": "", "visibility": "public", "lfs_enabled": false, "avatar_url": null, "web_url": "http://localhost/groups/group1", "request_access_enabled": false, "full_name": "group1", "full_path": "group1", "parent_id": null, "ldap_cn": null, "ldap_access": null } ], "protected_branches": [ { "id": 1, "name": "master", "push_access_levels": [ { "access_level": 30, "access_level_description": "Developers + Maintainers" } ], "merge_access_levels": [ { "access_level": 30, "access_level_description": "Developers + Maintainers" } ], "unprotect_access_levels": [ { "access_level": 40, "access_level_description": "Maintainers" } ], "code_owner_approval_required": "false" } ], "contains_hidden_groups": false } ] -``` - -### Create project-level rule[](#create-project-level-rule "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/11877) in [GitLab Starter](https://about.gitlab.com/pricing/) 12.3. - -您可以使用以下端点创建项目批准规则: - -``` -POST /projects/:id/approval_rules -``` - -**Parameters:** - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 项目 ID | -| `name` | string | yes | 批准规则的名称 | -| `approvals_required` | integer | yes | 此规则所需的批准数量 | -| `user_ids` | Array | no | 批准者的用户 ID | -| `group_ids` | Array | no | 小组的 ID 为批准者 | -| `protected_branch_ids` | Array | no | 受保护分支的 ID 范围 | - -``` -{ "id": 1, "name": "security", "rule_type": "regular", "eligible_approvers": [ { "id": 2, "name": "John Doe", "username": "jdoe", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/0?s=80&d=identicon", "web_url": "http://localhost/jdoe" }, { "id": 50, "name": "Group Member 1", "username": "group_member_1", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/0?s=80&d=identicon", "web_url": "http://localhost/group_member_1" } ], "approvals_required": 1, "users": [ { "id": 2, "name": "John Doe", "username": "jdoe", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/0?s=80&d=identicon", "web_url": "http://localhost/jdoe" } ], "groups": [ { "id": 5, "name": "group1", "path": "group1", "description": "", "visibility": "public", "lfs_enabled": false, "avatar_url": null, "web_url": "http://localhost/groups/group1", "request_access_enabled": false, "full_name": "group1", "full_path": "group1", "parent_id": null, "ldap_cn": null, "ldap_access": null } ], "protected_branches": [ { "id": 1, "name": "master", "push_access_levels": [ { "access_level": 30, "access_level_description": "Developers + Maintainers" } ], "merge_access_levels": [ { "access_level": 30, "access_level_description": "Developers + Maintainers" } ], "unprotect_access_levels": [ { "access_level": 40, "access_level_description": "Maintainers" } ], "code_owner_approval_required": "false" } ], "contains_hidden_groups": false } -``` - -### Update project-level rule[](#update-project-level-rule "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/11877) in [GitLab Starter](https://about.gitlab.com/pricing/) 12.3. - -您可以使用以下端点更新项目批准规则: - -``` -PUT /projects/:id/approval_rules/:approval_rule_id -``` - -**重要提示:**不在`users` / `groups`参数中的批准者和组将被**删除** - -**Parameters:** - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 项目 ID | -| `approval_rule_id` | integer | yes | 批准规则的 ID | -| `name` | string | yes | 批准规则的名称 | -| `approvals_required` | integer | yes | 此规则所需的批准数量 | -| `user_ids` | Array | no | The ids of users as approvers | -| `group_ids` | Array | no | 小组的 ID 为批准者 | -| `protected_branch_ids` | Array | no | 受保护分支的 ID 范围 | - -``` -{ "id": 1, "name": "security", "rule_type": "regular", "eligible_approvers": [ { "id": 2, "name": "John Doe", "username": "jdoe", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/0?s=80&d=identicon", "web_url": "http://localhost/jdoe" }, { "id": 50, "name": "Group Member 1", "username": "group_member_1", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/0?s=80&d=identicon", "web_url": "http://localhost/group_member_1" } ], "approvals_required": 1, "users": [ { "id": 2, "name": "John Doe", "username": "jdoe", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/0?s=80&d=identicon", "web_url": "http://localhost/jdoe" } ], "groups": [ { "id": 5, "name": "group1", "path": "group1", "description": "", "visibility": "public", "lfs_enabled": false, "avatar_url": null, "web_url": "http://localhost/groups/group1", "request_access_enabled": false, "full_name": "group1", "full_path": "group1", "parent_id": null, "ldap_cn": null, "ldap_access": null } ], "protected_branches": [ { "id": 1, "name": "master", "push_access_levels": [ { "access_level": 30, "access_level_description": "Developers + Maintainers" } ], "merge_access_levels": [ { "access_level": 30, "access_level_description": "Developers + Maintainers" } ], "unprotect_access_levels": [ { "access_level": 40, "access_level_description": "Maintainers" } ], "code_owner_approval_required": "false" } ], "contains_hidden_groups": false } -``` - -### Delete project-level rule[](#delete-project-level-rule "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/11877) in [GitLab Starter](https://about.gitlab.com/pricing/) 12.3. - -您可以使用以下端点删除项目批准规则: - -``` -DELETE /projects/:id/approval_rules/:approval_rule_id -``` - -**Parameters:** - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 项目 ID | -| `approval_rule_id` | integer | yes | 批准规则的 ID | - -### Change allowed approvers[](#change-allowed-approvers "Permalink") - -**注意:**此 API 端点已被弃用. 请改用批准规则 API. 在[GitLab Starter](https://about.gitlab.com/pricing/) 10.6 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/183) . - -如果允许,则可以使用以下端点更改批准者和批准者组: - -``` -PUT /projects/:id/approvers -``` - -**重要提示:**不在请求中的批准者和组将被**删除** - -**Parameters:** - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 项目 ID | -| `approver_ids` | Array | yes | 可以批准 MR 的用户 ID 数组 | -| `approver_group_ids` | Array | yes | 一组可以批准 MR 的组 ID | - -``` -{ "approvers": [ { "user": { "id": 5, "name": "John Doe6", "username": "user5", "state":"active","avatar_url":"https://www.gravatar.com/avatar/4aea8cf834ed91844a2da4ff7ae6b491?s=80\u0026d=identicon","web_url":"http://localhost/user5" } } ], "approver_groups": [ { "group": { "id": 1, "name": "group1", "path": "group1", "description": "", "visibility": "public", "lfs_enabled": false, "avatar_url": null, "web_url": "http://localhost/groups/group1", "request_access_enabled": false, "full_name": "group1", "full_path": "group1", "parent_id": null, "ldap_cn": null, "ldap_access": null } } ], "approvals_before_merge": 2, "reset_approvals_on_push": true, "disable_overriding_approvers_per_merge_request": false, "merge_requests_author_approval": true, "merge_requests_disable_committers_approval": false, "require_password_to_approve": true } -``` - -## Merge Request-level MR approvals[](#merge-request-level-mr-approvals "Permalink") - -配置特定合并请求的批准. 必须对所有端点进行身份验证. - -### Get Configuration[](#get-configuration-1 "Permalink") - -在[GitLab Starter](https://about.gitlab.com/pricing/) 8.9 中引入. - -您可以使用以下端点来请求有关合并请求的批准状态的信息: - -``` -GET /projects/:id/merge_requests/:merge_request_iid/approvals -``` - -**Parameters:** - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 项目 ID | -| `merge_request_iid` | integer | yes | MR 的 IID | - -``` -{ "id": 5, "iid": 5, "project_id": 1, "title": "Approvals API", "description": "Test", "state": "opened", "created_at": "2016-06-08T00:19:52.638Z", "updated_at": "2016-06-08T21:20:42.470Z", "merge_status": "cannot_be_merged", "approvals_required": 2, "approvals_left": 1, "approved_by": [ { "user": { "name": "Administrator", "username": "root", "id": 1, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80\u0026d=identicon", "web_url": "http://localhost:3000/root" } } ], } -``` - -### Change approval configuration[](#change-approval-configuration "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/183) in [GitLab Starter](https://about.gitlab.com/pricing/) 10.6. - -如果你被允许,你可以改变`approvals_required`使用以下端点: - -``` -POST /projects/:id/merge_requests/:merge_request_iid/approvals -``` - -**Parameters:** - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 项目 ID | -| `merge_request_iid` | integer | yes | MR 的 IID | -| `approvals_required` | integer | yes | 可以合并 MR 之前需要获得批准. 在 12.0 中已弃用,以支持批准规则 API. | - -``` -{ "id": 5, "iid": 5, "project_id": 1, "title": "Approvals API", "description": "Test", "state": "opened", "created_at": "2016-06-08T00:19:52.638Z", "updated_at": "2016-06-08T21:20:42.470Z", "merge_status": "cannot_be_merged", "approvals_required": 2, "approvals_left": 2, "approved_by": [] } -``` - -### Change allowed approvers for Merge Request[](#change-allowed-approvers-for-merge-request "Permalink") - -**注意:**此 API 端点已被弃用. 请改用批准规则 API. 在[GitLab Starter](https://about.gitlab.com/pricing/) 10.6 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/183) . - -如果允许,则可以使用以下端点更改批准者和批准者组: - -``` -PUT /projects/:id/merge_requests/:merge_request_iid/approvers -``` - -**重要提示:**不在请求中的批准者和组将被**删除** - -**Parameters:** - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 项目 ID | -| `merge_request_iid` | integer | yes | MR 的 IID | -| `approver_ids` | Array | yes | 可以批准 MR 的用户 ID 数组 | -| `approver_group_ids` | Array | yes | 一组可以批准 MR 的组 ID | - -``` -{ "id": 5, "iid": 5, "project_id": 1, "title": "Approvals API", "description": "Test", "state": "opened", "created_at": "2016-06-08T00:19:52.638Z", "updated_at": "2016-06-08T21:20:42.470Z", "merge_status": "cannot_be_merged", "approvals_required": 2, "approvals_left": 2, "approved_by": [], "approvers": [ { "user": { "name": "Administrator", "username": "root", "id": 1, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80\u0026d=identicon", "web_url": "http://localhost:3000/root" } } ], "approver_groups": [ { "group": { "id": 5, "name": "group1", "path": "group1", "description": "", "visibility": "public", "lfs_enabled": false, "avatar_url": null, "web_url": "http://localhost/groups/group1", "request_access_enabled": false, "full_name": "group1", "full_path": "group1", "parent_id": null, "ldap_cn": null, "ldap_access": null } } ] } -``` - -### Get the approval state of merge requests[](#get-the-approval-state-of-merge-requests "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/13712) in [GitLab Starter](https://about.gitlab.com/pricing/) 12.3. - -您可以使用以下端点来请求有关合并请求的批准状态的信息: - -``` -GET /projects/:id/merge_requests/:merge_request_iid/approval_state -``` - -如果为合并请求创建了合并请求级别规则,则`approval_rules_overwritten`将为`true` . 如果不存在,则为`false` . - -这包括有关已经批准的用户的更多信息( `approved_by` ),以及规则是否已经批准的( `approved` ). - -**Parameters:** - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 项目 ID | -| `merge_request_iid` | integer | yes | MR 的 IID | - -``` -{ "approval_rules_overwritten": true, "rules": [ { "id": 1, "name": "Ruby", "rule_type": "regular", "eligible_approvers": [ { "id": 4, "name": "John Doe", "username": "jdoe", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/0?s=80&d=identicon", "web_url": "http://localhost/jdoe" } ], "approvals_required": 2, "users": [ { "id": 4, "name": "John Doe", "username": "jdoe", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/0?s=80&d=identicon", "web_url": "http://localhost/jdoe" } ], "groups": [], "contains_hidden_groups": false, "approved_by": [ { "id": 4, "name": "John Doe", "username": "jdoe", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/0?s=80&d=identicon", "web_url": "http://localhost/jdoe" } ], "source_rule": null, "approved": true, "overridden": false } ] } -``` - -### Get merge request level rules[](#get-merge-request-level-rules "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/13712) in [GitLab Starter](https://about.gitlab.com/pricing/) 12.3. - -您可以使用以下端点来请求有关合并请求的批准规则的信息: - -``` -GET /projects/:id/merge_requests/:merge_request_iid/approval_rules -``` - -**Parameters:** - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 项目 ID | -| `merge_request_iid` | integer | yes | MR 的 IID | - -``` -[ { "id": 1, "name": "security", "rule_type": "regular", "eligible_approvers": [ { "id": 5, "name": "John Doe", "username": "jdoe", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/0?s=80&d=identicon", "web_url": "http://localhost/jdoe" }, { "id": 50, "name": "Group Member 1", "username": "group_member_1", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/0?s=80&d=identicon", "web_url": "http://localhost/group_member_1" } ], "approvals_required": 3, "source_rule": null, "users": [ { "id": 5, "name": "John Doe", "username": "jdoe", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/0?s=80&d=identicon", "web_url": "http://localhost/jdoe" } ], "groups": [ { "id": 5, "name": "group1", "path": "group1", "description": "", "visibility": "public", "lfs_enabled": false, "avatar_url": null, "web_url": "http://localhost/groups/group1", "request_access_enabled": false, "full_name": "group1", "full_path": "group1", "parent_id": null, "ldap_cn": null, "ldap_access": null } ], "contains_hidden_groups": false, "overridden": false } ] -``` - -### Create merge request level rule[](#create-merge-request-level-rule "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/11877) in [GitLab Starter](https://about.gitlab.com/pricing/) 12.3. - -您可以使用以下端点创建合并请求批准规则: - -``` -POST /projects/:id/merge_requests/:merge_request_iid/approval_rules -``` - -**Parameters:** - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 项目 ID | -| `merge_request_iid` | integer | yes | MR 的 IID | -| `name` | string | yes | 批准规则的名称 | -| `approvals_required` | integer | yes | 此规则所需的批准数量 | -| `approval_project_rule_id` | integer | no | 项目级批准规则的 ID | -| `user_ids` | Array | no | 批准者的用户 ID | -| `group_ids` | Array | no | 小组的 ID 为批准者 | - -**重要提示:**当`approval_project_rule_id`被设置, `name` , `users`和`groups`项目级的规则将被复制. 该`approvals_required`指定将被使用. - -``` -{ "id": 1, "name": "security", "rule_type": "regular", "eligible_approvers": [ { "id": 2, "name": "John Doe", "username": "jdoe", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/0?s=80&d=identicon", "web_url": "http://localhost/jdoe" }, { "id": 50, "name": "Group Member 1", "username": "group_member_1", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/0?s=80&d=identicon", "web_url": "http://localhost/group_member_1" } ], "approvals_required": 1, "source_rule": null, "users": [ { "id": 2, "name": "John Doe", "username": "jdoe", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/0?s=80&d=identicon", "web_url": "http://localhost/jdoe" } ], "groups": [ { "id": 5, "name": "group1", "path": "group1", "description": "", "visibility": "public", "lfs_enabled": false, "avatar_url": null, "web_url": "http://localhost/groups/group1", "request_access_enabled": false, "full_name": "group1", "full_path": "group1", "parent_id": null, "ldap_cn": null, "ldap_access": null } ], "contains_hidden_groups": false, "overridden": false } -``` - -### Update merge request level rule[](#update-merge-request-level-rule "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/11877) in [GitLab Starter](https://about.gitlab.com/pricing/) 12.3. - -您可以使用以下端点更新合并请求批准规则: - -``` -PUT /projects/:id/merge_requests/:merge_request_iid/approval_rules/:approval_rule_id -``` - -**重要提示:**不在`users` / `groups`参数中的批准者和组将被**删除** - -**重要提示:**不允许更新`report_approver`或`code_owner`规则. 这些是系统生成的规则. - -**Parameters:** - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 项目 ID | -| `merge_request_iid` | integer | yes | MR 的 ID | -| `approval_rule_id` | integer | yes | 批准规则的 ID | -| `name` | string | yes | 批准规则的名称 | -| `approvals_required` | integer | yes | 此规则所需的批准数量 | -| `user_ids` | Array | no | 批准者的用户 ID | -| `group_ids` | Array | no | 小组的 ID 为批准者 | - -``` -{ "id": 1, "name": "security", "rule_type": "regular", "eligible_approvers": [ { "id": 2, "name": "John Doe", "username": "jdoe", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/0?s=80&d=identicon", "web_url": "http://localhost/jdoe" }, { "id": 50, "name": "Group Member 1", "username": "group_member_1", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/0?s=80&d=identicon", "web_url": "http://localhost/group_member_1" } ], "approvals_required": 1, "source_rule": null, "users": [ { "id": 2, "name": "John Doe", "username": "jdoe", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/0?s=80&d=identicon", "web_url": "http://localhost/jdoe" } ], "groups": [ { "id": 5, "name": "group1", "path": "group1", "description": "", "visibility": "public", "lfs_enabled": false, "avatar_url": null, "web_url": "http://localhost/groups/group1", "request_access_enabled": false, "full_name": "group1", "full_path": "group1", "parent_id": null, "ldap_cn": null, "ldap_access": null } ], "contains_hidden_groups": false, "overridden": false } -``` - -### Delete merge request level rule[](#delete-merge-request-level-rule "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/11877) in [GitLab Starter](https://about.gitlab.com/pricing/) 12.3. - -您可以使用以下端点删除合并请求批准规则: - -``` -DELETE /projects/:id/merge_requests/:merge_request_iid/approval_rules/:approval_rule_id -``` - -**重要提示:**不允许删除`report_approver`或`code_owner`规则. 这些是系统生成的规则. - -**Parameters:** - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 项目 ID | -| `merge_request_iid` | integer | yes | MR 的 ID | -| `approval_rule_id` | integer | yes | 批准规则的 ID | - -## Approve Merge Request[](#approve-merge-request "Permalink") - -在[GitLab Starter](https://about.gitlab.com/pricing/) 8.9 中引入. - -如果允许,则可以使用以下端点批准合并请求: - -``` -POST /projects/:id/merge_requests/:merge_request_iid/approve -``` - -**Parameters:** - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 项目 ID | -| `merge_request_iid` | integer | yes | MR 的 IID | -| `sha` | string | no | MR 的头 | -| `approval_password` | string | no | 当前用户的密码. 如果在项目设置中启用了" [**需要用户密码批准",**](../user/project/merge_requests/merge_request_approvals.html#require-authentication-when-approving-a-merge-request)则为必需. | - -`sha`参数的工作方式与[接受合并请求](merge_requests.html#accept-mr)时的工作方式相同:如果传递了它,则它必须与合并请求的当前 HEAD 匹配才能添加批准. 如果不匹配,则响应代码将为`409` . - -``` -{ "id": 5, "iid": 5, "project_id": 1, "title": "Approvals API", "description": "Test", "state": "opened", "created_at": "2016-06-08T00:19:52.638Z", "updated_at": "2016-06-09T21:32:14.105Z", "merge_status": "can_be_merged", "approvals_required": 2, "approvals_left": 0, "approved_by": [ { "user": { "name": "Administrator", "username": "root", "id": 1, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80\u0026d=identicon", "web_url": "http://localhost:3000/root" } }, { "user": { "name": "Nico Cartwright", "username": "ryley", "id": 2, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/cf7ad14b34162a76d593e3affca2adca?s=80\u0026d=identicon", "web_url": "http://localhost:3000/ryley" } } ], } -``` - -## Unapprove Merge Request[](#unapprove-merge-request "Permalink") - -在[GitLab Starter](https://about.gitlab.com/pricing/) 9.0 中引入. - -如果您确实批准了合并请求,则可以使用以下端点取消批准它: - -``` -POST /projects/:id/merge_requests/:merge_request_iid/unapprove -``` - -**Parameters:** - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 项目 ID | -| `merge_request_iid` | integer | yes | MR 的 IID | \ No newline at end of file diff --git a/docs/337.md b/docs/337.md deleted file mode 100644 index ad4f7e7..0000000 --- a/docs/337.md +++ /dev/null @@ -1,854 +0,0 @@ -# Merge requests API - -> 原文:[https://docs.gitlab.com/ee/api/merge_requests.html](https://docs.gitlab.com/ee/api/merge_requests.html) - -* [List merge requests](#list-merge-requests) -* [List project merge requests](#list-project-merge-requests) -* [List group merge requests](#list-group-merge-requests) -* [Get single MR](#get-single-mr) -* [Get single MR participants](#get-single-mr-participants) -* [Get single MR commits](#get-single-mr-commits) -* [Get single MR changes](#get-single-mr-changes) -* [List MR pipelines](#list-mr-pipelines) -* [Create MR Pipeline](#create-mr-pipeline) -* [Create MR](#create-mr) -* [Update MR](#update-mr) -* [Delete a merge request](#delete-a-merge-request) -* [Accept MR](#accept-mr) -* [Merge to default merge ref path](#merge-to-default-merge-ref-path) -* [Cancel Merge When Pipeline Succeeds](#cancel-merge-when-pipeline-succeeds) -* [Rebase a merge request](#rebase-a-merge-request) -* [Comments on merge requests](#comments-on-merge-requests) -* [List issues that will close on merge](#list-issues-that-will-close-on-merge) -* [Subscribe to a merge request](#subscribe-to-a-merge-request) -* [Unsubscribe from a merge request](#unsubscribe-from-a-merge-request) -* [Create a todo](#create-a-todo) -* [Get MR diff versions](#get-mr-diff-versions) -* [Get a single MR diff version](#get-a-single-mr-diff-version) -* [Set a time estimate for a merge request](#set-a-time-estimate-for-a-merge-request) -* [Reset the time estimate for a merge request](#reset-the-time-estimate-for-a-merge-request) -* [Add spent time for a merge request](#add-spent-time-for-a-merge-request) -* [Reset spent time for a merge request](#reset-spent-time-for-a-merge-request) -* [Get time tracking stats](#get-time-tracking-stats) -* [Approvals](#approvals-starter) - -# Merge requests API[](#merge-requests-api "Permalink") - -合并请求的每个 API 调用都必须经过验证. - -**弃用** > `reference`响应属性有利于已弃用`references` . >推出了[GitLab 12.6](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/20354)**注意** > `references.relative`相对于正在请求合并请求的组/项目. 当从其项目中获取合并请求时> `relative`格式将与`short`格式相同,并且在跨组/项目进行请求时, `relative`格式应与`full`格式相同. - -## List merge requests[](#list-merge-requests "Permalink") - -在 GitLab 9.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13060) . - -获取所有通过身份验证的用户有权访问的合并请求. 默认情况下,它仅返回当前用户创建的合并请求. 要获取所有合并请求,请使用参数`scope=all` . - -`state`参数可用于仅获取具有给定状态( `opened` , `closed` , `locked`或`merged` )或全部( `all` )的合并请求. 应该注意的是,通过`locked`进行搜索时,由于它是短暂的过渡状态,因此几乎不会返回任何结果. 分页参数`page`和`per_page`可用于限制合并请求的列表. - -``` -GET /merge_requests -GET /merge_requests?state=opened -GET /merge_requests?state=all -GET /merge_requests?milestone=release -GET /merge_requests?labels=bug,reproduced -GET /merge_requests?author_id=5 -GET /merge_requests?author_username=gitlab-bot -GET /merge_requests?my_reaction_emoji=star -GET /merge_requests?scope=assigned_to_me -GET /merge_requests?search=foo&in=title -``` - -Parameters: - -| Attribute | Type | Required | Description |   | -| --- | --- | --- | --- | --- | -| `state` | string | no | 返回所有合并请求,或者仅返回已`opened` , `closed` , `locked`或`merged`请求 |   | -| `order_by` | string | no | 返回由`created_at`或`updated_at`字段排序的请求. 默认为`created_at` |   | -| `sort` | string | no | 返回请求按`asc`或`desc`顺序排序. 默认为`desc` |   | -| `milestone` | string | no | 返回特定里程碑的合并请求. `None`返回没有里程碑的合并请求. `Any`返回将合并具有指定里程碑的请求. |   | -| `view` | string | no | 如果为`simple` ,则返回`iid` ,URL,标题,描述和合并请求的基本状态 |   | -| `labels` | string | no | 返回与逗号分隔的标签列表匹配的合并请求. `None`列出所有没有标签的合并请求. `Any`列出所有具有至少一个标签的合并请求. `No+Label` (不推荐使用)列出所有没有标签的合并请求. 预定义名称不区分大小写. |   | -| `with_labels_details` | boolean | no | If `true`, response will return more details for each label in labels field: `:name`, `:color`, `:description`, `:description_html`, `:text_color`. Default is `false`. Introduced in [GitLab 12.7](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/21413) |   | -| `with_merge_status_recheck` | boolean | no | 如果为`true` ,则此投影请求(但不保证)异步地重新计算`merge_status`字段. 默认值为`false` . 在[GitLab 13.0 中](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/31890)引入 |   | -| `created_after` | datetime | no | 返回在给定时间或之后创建的合并请求 |   | -| `created_before` | datetime | no | 返回在给定时间或之前创建的合并请求 |   | -| `updated_after` | datetime | no | 返回在给定时间或之后更新的合并请求 |   | -| `updated_before` | datetime | no | 返回在给定时间或之前更新的合并请求 |   | -| `scope` | string | no | 对于给定的范围内返回的合并请求: `created_by_me` , `assigned_to_me`或`all` . 默认为`created_by_me` -对于 11.0 之前的版本,请改用现在不建议使用`created-by-me`范围或`created-by-me` `assigned-to-me`范围. |   | -| `author_id` | integer | no | 返回由给定用户`id`创建的合并请求. 与`author_username` . 与`scope=all`或`scope=assigned_to_me` |   | -| `author_username` | string | no | 返回由给定`username`创建的合并请求. 与`author_id` . *(在 GitLab 12.10 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13060) )* |   | -| `assignee_id` | integer | no | 返回分配给给定用户`id`合并请求. `None`将返回未分配的合并请求. `Any`退货将请求与受让人合并. |   | -| `approver_ids` | 整数数组 | no | 返回将所有具有给定`id`的用户指定为单独批准者的合并请求. `None`返回没有批准者的合并请求. `Any`退货将合并请求与批准人. |   | -| `approved_by_ids` | 整数数组 | no | 返回已被所有具有给定`id`的用户(最大:5)批准的合并请求. `None`返回没有批准的合并请求. `Any`退货将请求与批准合并. |   | -| `my_reaction_emoji` | string | no | 返回合并请求,该合并请求由已验证的用户通过给定的`emoji`响应. `None`返回没有响应的问题. 至少有一个反应, `Any`回报问题. *(在 GitLab 10.0 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/14016) )* |   | -| `source_branch` | string | no | 返回具有给定源分支的合并请求 |   | -| `target_branch` | string | no | 返回具有给定目标分支的合并请求 |   | -| `search` | string | no | 根据`title`和`description`搜索合并请求 |   | -| `in` | string | no | 修改`search`属性的范围. `title` , `description`或以逗号将它们连接在一起的字符串. 默认为`title,description` |   | -| `wip` | string | no | 过滤合并请求对他们的`wip`状态. `yes` , *仅*返回 WIP 合并请求, `no` ,返回*非* WIP 合并请求 |   | -| `not` | Hash | no | 返回与提供的参数不匹配的合并请求. 接受: `labels` , `milestone` , `author_id` , `author_username` , `assignee_id` , `assignee_username` , `my_reaction_emoji` |   | - -**注意:** [从 GitLab 13.0 开始](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/31890) ,列出合并请求可能不会主动更新`merge_status`字段(这也会影响`has_conflicts`字段),因为这可能是一项昂贵的操作. 如果您对此端点的这些字段的值感兴趣,请在查询`with_merge_status_recheck`参数设置为`true` .**注意:** [从 GitLab 12.8 开始,](https://gitlab.com/gitlab-org/gitlab/-/issues/29984)当对此端点发出请求时,将异步检查每个合并请求的可合并性( `merge_status` ). 轮询此 API 端点以获取更新状态. 这会影响`has_conflicts`属性,因为它取决于`merge_status` . 除非`merge_status`为`cannot_be_merged`否则它将返回`false` . - -``` -[ { "id": 1, "iid": 1, "project_id": 3, "title": "test1", "description": "fixed login page css paddings", "state": "merged", "merged_by": { "id": 87854, "name": "Douwe Maan", "username": "DouweM", "state": "active", "avatar_url": "https://gitlab.example.com/uploads/-/system/user/avatar/87854/avatar.png", "web_url": "https://gitlab.com/DouweM" }, "merged_at": "2018-09-07T11:16:17.520Z", "closed_by": null, "closed_at": null, "created_at": "2017-04-29T08:46:00Z", "updated_at": "2017-04-29T08:46:00Z", "target_branch": "master", "source_branch": "test1", "upvotes": 0, "downvotes": 0, "author": { "id": 1, "name": "Administrator", "username": "admin", "state": "active", "avatar_url": null, "web_url" : "https://gitlab.example.com/admin" }, "assignee": { "id": 1, "name": "Administrator", "username": "admin", "state": "active", "avatar_url": null, "web_url" : "https://gitlab.example.com/admin" }, "assignees": [{ "name": "Miss Monserrate Beier", "username": "axel.block", "id": 12, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/46f6f7dc858ada7be1853f7fb96e81da?s=80&d=identicon", "web_url": "https://gitlab.example.com/axel.block" }], "source_project_id": 2, "target_project_id": 3, "labels": [ "Community contribution", "Manage" ], "work_in_progress": false, "milestone": { "id": 5, "iid": 1, "project_id": 3, "title": "v2.0", "description": "Assumenda aut placeat expedita exercitationem labore sunt enim earum.", "state": "closed", "created_at": "2015-02-02T19:49:26.013Z", "updated_at": "2015-02-02T19:49:26.013Z", "due_date": "2018-09-22", "start_date": "2018-08-08", "web_url": "https://gitlab.example.com/my-group/my-project/milestones/1" }, "merge_when_pipeline_succeeds": true, "merge_status": "can_be_merged", "sha": "8888888888888888888888888888888888888888", "merge_commit_sha": null, "squash_commit_sha": null, "user_notes_count": 1, "discussion_locked": null, "should_remove_source_branch": true, "force_remove_source_branch": false, "allow_collaboration": false, "allow_maintainer_to_push": false, "web_url": "http://gitlab.example.com/my-group/my-project/merge_requests/1", "references": { "short": "!1", "relative": "my-group/my-project!1", "full": "my-group/my-project!1" }, "time_stats": { "time_estimate": 0, "total_time_spent": 0, "human_time_estimate": null, "human_total_time_spent": null }, "squash": false, "task_completion_status":{ "count":0, "completed_count":0 } } ] -``` - -在 GitLab 用户[入门,青铜或更高](https://about.gitlab.com/pricing/)还会看到`approvals_before_merge`参数: - -``` -[ { "id": 1, "title": "test1", "approvals_before_merge": null ... } ] -``` - -## List project merge requests[](#list-project-merge-requests "Permalink") - -获取此项目的所有合并请求. `state`参数可用于仅获取具有给定状态( `opened` , `closed` , `locked`或`merged` )或全部( `all` )的合并请求. 分页参数`page`和`per_page`可用于限制合并请求的列表. - -``` -GET /projects/:id/merge_requests -GET /projects/:id/merge_requests?state=opened -GET /projects/:id/merge_requests?state=all -GET /projects/:id/merge_requests?iids[]=42&iids[]=43 -GET /projects/:id/merge_requests?milestone=release -GET /projects/:id/merge_requests?labels=bug,reproduced -GET /projects/:id/merge_requests?my_reaction_emoji=star -``` - -`project_id`代表 MR 所在项目的 ID. `project_id`将始终等于`target_project_id` . - -如果来自同一项目的合并请求,则`source_project_id` , `target_project_id`和`project_id`将相同. 对于来自派生的合并请求, `target_project_id`和`project_id`将相同,并且`source_project_id`将是派生项目的 ID. - -Parameters: - -| Attribute | Type | Required | Description |   | -| --- | --- | --- | --- | --- | -| `id` | integer | yes | 项目 ID |   | -| `iids[]` | 整数数组 | no | 返回具有给定`iid`的请求 |   | -| `state` | string | no | 返回所有合并请求,或者仅返回已`opened` , `closed` , `locked`或`merged`请求 |   | -| `order_by` | string | no | 返回由`created_at`或`updated_at`字段排序的请求. 默认为`created_at` |   | -| `sort` | string | no | 返回请求按`asc`或`desc`顺序排序. 默认为`desc` |   | -| `milestone` | string | no | 返回特定里程碑的合并请求. `None`返回没有里程碑的合并请求. `Any`返回将合并具有指定里程碑的请求. |   | -| `view` | string | no | 如果为`simple` ,则返回`iid` ,URL,标题,描述和合并请求的基本状态 |   | -| `labels` | string | no | 返回与逗号分隔的标签列表匹配的合并请求. `None`列出所有没有标签的合并请求. `Any`列出所有具有至少一个标签的合并请求. `No+Label` (不推荐使用)列出所有没有标签的合并请求. 预定义名称不区分大小写. |   | -| `with_labels_details` | boolean | no | 如果为`true` ,则响应将为标签字段中的每个标签返回更多详细信息`:name` , `:color` , `:description` , `:description_html` , `:text_color` . 默认值为`false` . 在[GitLab 12.7 中](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/21413)引入 |   | -| `with_merge_status_recheck` | boolean | no | 如果为`true` ,则此投影请求(但不保证)异步地重新计算`merge_status`字段. 默认值为`false` . 在[GitLab 13.0 中](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/31890)引入 |   | -| `created_after` | datetime | no | 返回在给定时间或之后创建的合并请求 |   | -| `created_before` | datetime | no | 返回在给定时间或之前创建的合并请求 |   | -| `updated_after` | datetime | no | 返回在给定时间或之后更新的合并请求 |   | -| `updated_before` | datetime | no | 返回在给定时间或之前更新的合并请求 |   | -| `scope` | string | no | 对于给定的范围内返回的合并请求: `created_by_me` , `assigned_to_me`或`all` . -对于 11.0 之前的版本,请改用现在不建议使用`created-by-me`范围或`created-by-me` `assigned-to-me`范围. -*(在 GitLab 9.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13060) .在 GitLab 11.0 中[更改为 snake_case](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/18935) )* |   | -| `author_id` | integer | no | 返回由给定用户`id`创建的合并请求. 与`author_username` . *(在 GitLab 9.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13060) )* |   | -| `author_username` | string | no | 返回由给定`username`创建的合并请求. 与`author_id` . *(在 GitLab 12.10 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13060) )* |   | -| `assignee_id` | integer | no | 返回分配给给定用户`id`合并请求. `None`将返回未分配的合并请求. `Any`退货将请求与受让人合并. *(在 GitLab 9.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13060) )* |   | -| `approver_ids` | 整数数组 | no | 返回将所有具有给定`id`的用户指定为单独批准者的合并请求. `None`返回没有批准者的合并请求. `Any`退货将合并请求与批准人. |   | -| `approved_by_ids` | 整数数组 | no | 返回已被所有具有给定`id`的用户(最大:5)批准的合并请求. `None`返回没有批准的合并请求. `Any`退货将请求与批准合并. |   | -| `my_reaction_emoji` | string | no | 返回合并请求,该合并请求由已验证的用户通过给定的`emoji`响应. `None`返回没有响应的问题. 至少有一个反应, `Any`回报问题. *(在 GitLab 10.0 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/14016) )* |   | -| `source_branch` | string | no | 返回具有给定源分支的合并请求 |   | -| `target_branch` | string | no | 返回具有给定目标分支的合并请求 |   | -| `search` | string | no | 根据`title`和`description`搜索合并请求 |   | -| `wip` | string | no | 过滤合并请求对他们的`wip`状态. `yes` , *仅*返回 WIP 合并请求, `no` ,返回*非* WIP 合并请求 |   | - -``` -[ { "id": 1, "iid": 1, "project_id": 3, "title": "test1", "description": "fixed login page css paddings", "state": "merged", "merged_by": { "id": 87854, "name": "Douwe Maan", "username": "DouweM", "state": "active", "avatar_url": "https://gitlab.example.com/uploads/-/system/user/avatar/87854/avatar.png", "web_url": "https://gitlab.com/DouweM" }, "merged_at": "2018-09-07T11:16:17.520Z", "closed_by": null, "closed_at": null, "created_at": "2017-04-29T08:46:00Z", "updated_at": "2017-04-29T08:46:00Z", "target_branch": "master", "source_branch": "test1", "upvotes": 0, "downvotes": 0, "author": { "id": 1, "name": "Administrator", "username": "admin", "state": "active", "avatar_url": null, "web_url" : "https://gitlab.example.com/admin" }, "assignee": { "id": 1, "name": "Administrator", "username": "admin", "state": "active", "avatar_url": null, "web_url" : "https://gitlab.example.com/admin" }, "assignees": [{ "name": "Miss Monserrate Beier", "username": "axel.block", "id": 12, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/46f6f7dc858ada7be1853f7fb96e81da?s=80&d=identicon", "web_url": "https://gitlab.example.com/axel.block" }], "source_project_id": 2, "target_project_id": 3, "labels": [ "Community contribution", "Manage" ], "work_in_progress": false, "milestone": { "id": 5, "iid": 1, "project_id": 3, "title": "v2.0", "description": "Assumenda aut placeat expedita exercitationem labore sunt enim earum.", "state": "closed", "created_at": "2015-02-02T19:49:26.013Z", "updated_at": "2015-02-02T19:49:26.013Z", "due_date": "2018-09-22", "start_date": "2018-08-08", "web_url": "https://gitlab.example.com/my-group/my-project/milestones/1" }, "merge_when_pipeline_succeeds": true, "merge_status": "can_be_merged", "sha": "8888888888888888888888888888888888888888", "merge_commit_sha": null, "squash_commit_sha": null, "user_notes_count": 1, "discussion_locked": null, "should_remove_source_branch": true, "force_remove_source_branch": false, "allow_collaboration": false, "allow_maintainer_to_push": false, "web_url": "http://gitlab.example.com/my-group/my-project/merge_requests/1", "references": { "short": "!1", "relative": "!1", "full": "my-group/my-project!1" }, "time_stats": { "time_estimate": 0, "total_time_spent": 0, "human_time_estimate": null, "human_total_time_spent": null }, "squash": false, "task_completion_status":{ "count":0, "completed_count":0 }, "has_conflicts": false, "blocking_discussions_resolved": true } ] -``` - -在 GitLab 用户[入门,青铜或更高](https://about.gitlab.com/pricing/)还会看到`approvals_before_merge`参数: - -``` -[ { "id": 1, "title": "test1", "approvals_before_merge": null ... } ] -``` - -## List group merge requests[](#list-group-merge-requests "Permalink") - -获取该组及其子组的所有合并请求. `state`参数可用于仅获取具有给定状态( `opened` , `closed` , `locked`或`merged` )或全部( `all` )的合并请求. 分页参数`page`和`per_page`可用于限制合并请求的列表. - -``` -GET /groups/:id/merge_requests -GET /groups/:id/merge_requests?state=opened -GET /groups/:id/merge_requests?state=all -GET /groups/:id/merge_requests?milestone=release -GET /groups/:id/merge_requests?labels=bug,reproduced -GET /groups/:id/merge_requests?my_reaction_emoji=star -``` - -`group_id`代表包含 MR 所在项目的组的 ID. - -Parameters: - -| Attribute | Type | Required | Description |   | -| --- | --- | --- | --- | --- | -| `id` | integer | yes | 组的 ID |   | -| `state` | string | no | 返回所有合并请求,或者仅返回已`opened` , `closed` , `locked`或`merged`请求 |   | -| `order_by` | string | no | 返回由`created_at`或`updated_at`字段排序的合并请求. 默认为`created_at` |   | -| `sort` | string | no | 返回以`asc`或`desc`顺序排序的合并请求. 默认为`desc` |   | -| `milestone` | string | no | 返回特定里程碑的合并请求. `None`返回没有里程碑的合并请求. `Any`返回将合并具有指定里程碑的请求. |   | -| `view` | string | no | If `simple`, returns the `iid`, URL, title, description, and basic state of merge request |   | -| `labels` | string | no | 返回与逗号分隔的标签列表匹配的合并请求. `None`列出所有没有标签的合并请求. `Any`列出所有具有至少一个标签的合并请求. `No+Label` (不推荐使用)列出所有没有标签的合并请求. 预定义名称不区分大小写. |   | -| `with_labels_details` | boolean | no | 如果为`true` ,则响应将为标签字段中的每个标签返回更多详细信息`:name` , `:color` , `:description` , `:description_html` , `:text_color` . 默认值为`false` . 在[GitLab 12.7 中](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/21413)引入 |   | -| `with_merge_status_recheck` | boolean | no | 如果为`true` ,则此投影请求(但不保证)异步地重新计算`merge_status`字段. 默认值为`false` . 在[GitLab 13.0 中](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/31890)引入 |   | -| `created_after` | datetime | no | 返回在给定时间或之后创建的合并请求 |   | -| `created_before` | datetime | no | 返回在给定时间或之前创建的合并请求 |   | -| `updated_after` | datetime | no | 返回在给定时间或之后更新的合并请求 |   | -| `updated_before` | datetime | no | 返回在给定时间或之前更新的合并请求 |   | -| `scope` | string | no | 对于给定的范围内返回的合并请求: `created_by_me` , `assigned_to_me`或`all` . - |   | -| `author_id` | integer | no | 返回由给定用户`id`创建的合并请求. 与`author_username` . *(在 GitLab 9.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13060) )* |   | -| `author_username` | string | no | 返回由给定`username`创建的合并请求. 与`author_id` . *(在 GitLab 12.10 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13060) )* |   | -| `assignee_id` | integer | no | 返回分配给给定用户`id`合并请求. `None`将返回未分配的合并请求. `Any`退货将请求与受让人合并. *(在 GitLab 9.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13060) )* |   | -| `approver_ids` | 整数数组 | no | 返回将所有具有给定`id`的用户指定为单独批准者的合并请求. `None`返回没有批准者的合并请求. `Any`退货将合并请求与批准人. |   | -| `approved_by_ids` | 整数数组 | no | 返回已被所有具有给定`id`的用户(最大:5)批准的合并请求. `None`返回没有批准的合并请求. `Any`退货将请求与批准合并. |   | -| `my_reaction_emoji` | string | no | 返回合并请求,该合并请求由已验证的用户通过给定的`emoji`响应. `None`返回没有响应的问题. 至少有一个反应, `Any`回报问题. *(在 GitLab 10.0 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/14016) )* |   | -| `source_branch` | string | no | 返回具有给定源分支的合并请求 |   | -| `target_branch` | string | no | 返回具有给定目标分支的合并请求 |   | -| `search` | string | no | 根据`title`和`description`搜索合并请求 |   | -| `non_archived` | boolean | no | 仅从非归档项目返回合并请求. 默认为 true. *(在[GitLab 12.8 中](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/23809)引入)* |   | - -``` -[ { "id": 1, "iid": 1, "project_id": 3, "title": "test1", "description": "fixed login page css paddings", "state": "merged", "merged_by": { "id": 87854, "name": "Douwe Maan", "username": "DouweM", "state": "active", "avatar_url": "https://gitlab.example.com/uploads/-/system/user/avatar/87854/avatar.png", "web_url": "https://gitlab.com/DouweM" }, "merged_at": "2018-09-07T11:16:17.520Z", "closed_by": null, "closed_at": null, "created_at": "2017-04-29T08:46:00Z", "updated_at": "2017-04-29T08:46:00Z", "target_branch": "master", "source_branch": "test1", "upvotes": 0, "downvotes": 0, "author": { "id": 1, "name": "Administrator", "username": "admin", "state": "active", "avatar_url": null, "web_url" : "https://gitlab.example.com/admin" }, "assignee": { "id": 1, "name": "Administrator", "username": "admin", "state": "active", "avatar_url": null, "web_url" : "https://gitlab.example.com/admin" }, "assignees": [{ "name": "Miss Monserrate Beier", "username": "axel.block", "id": 12, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/46f6f7dc858ada7be1853f7fb96e81da?s=80&d=identicon", "web_url": "https://gitlab.example.com/axel.block" }], "source_project_id": 2, "target_project_id": 3, "labels": [ "Community contribution", "Manage" ], "work_in_progress": false, "milestone": { "id": 5, "iid": 1, "project_id": 3, "title": "v2.0", "description": "Assumenda aut placeat expedita exercitationem labore sunt enim earum.", "state": "closed", "created_at": "2015-02-02T19:49:26.013Z", "updated_at": "2015-02-02T19:49:26.013Z", "due_date": "2018-10-22", "start_date": "2018-09-08", "web_url": "gitlab.example.com/my-group/my-project/milestones/1" }, "merge_when_pipeline_succeeds": true, "merge_status": "can_be_merged", "sha": "8888888888888888888888888888888888888888", "merge_commit_sha": null, "squash_commit_sha": null, "user_notes_count": 1, "discussion_locked": null, "should_remove_source_branch": true, "force_remove_source_branch": false, "web_url": "http://gitlab.example.com/my-group/my-project/merge_requests/1", "references": { "short": "!1", "relative": "my-project!1", "full": "my-group/my-project!1" }, "time_stats": { "time_estimate": 0, "total_time_spent": 0, "human_time_estimate": null, "human_total_time_spent": null }, "squash": false, "task_completion_status":{ "count":0, "completed_count":0 }, "has_conflicts": false, "blocking_discussions_resolved": true } ] -``` - -在 GitLab 用户[入门,青铜或更高](https://about.gitlab.com/pricing/)还会看到`approvals_before_merge`参数: - -``` -[ { "id": 1, "title": "test1", "approvals_before_merge": null ... } ] -``` - -## Get single MR[](#get-single-mr "Permalink") - -显示有关单个合并请求的信息. - -**注意** :响应中的`changes_count`值是一个字符串,而不是整数. 这是因为当 MR 有太多要显示和存储的更改时,其上限为 1,000\. 在这种情况下,API 将为更改计数返回字符串`"1000+"` . - -``` -GET /projects/:id/merge_requests/:merge_request_iid -``` - -Parameters: - -* `id` (必填)-经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) -* `merge_request_iid` (必需)-合并请求的内部 ID -* `render_html` (optional) - If `true` response includes rendered HTML for title and description -* `include_diverged_commits_count` (可选)-如果为`true`包括目标分支后面的提交 -* `include_rebase_in_progress` (可选)-如果为`true`包括是否正在进行 rebase 操作 - -**注意:** [从 GitLab 12.8 开始,](https://gitlab.com/gitlab-org/gitlab/-/issues/29984)当对此端点发出请求时,将异步检查合并请求的可合并性( `merge_status` ). 轮询此 API 端点以获取更新状态. 这会影响`has_conflicts`属性,因为它取决于`merge_status` . 除非`merge_status`为`cannot_be_merged`否则它将返回`false` . - -``` -{ "id": 1, "iid": 1, "project_id": 3, "title": "test1", "description": "fixed login page css paddings", "state": "merged", "created_at": "2017-04-29T08:46:00Z", "updated_at": "2017-04-29T08:46:00Z", "target_branch": "master", "source_branch": "test1", "upvotes": 0, "downvotes": 0, "author": { "id": 1, "name": "Administrator", "username": "admin", "state": "active", "avatar_url": null, "web_url" : "https://gitlab.example.com/admin" }, "user" : { "can_merge" : false }, "assignee": { "id": 1, "name": "Administrator", "username": "admin", "state": "active", "avatar_url": null, "web_url" : "https://gitlab.example.com/admin" }, "assignees": [{ "name": "Miss Monserrate Beier", "username": "axel.block", "id": 12, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/46f6f7dc858ada7be1853f7fb96e81da?s=80&d=identicon", "web_url": "https://gitlab.example.com/axel.block" }], "source_project_id": 2, "target_project_id": 3, "labels": [ "Community contribution", "Manage" ], "work_in_progress": false, "milestone": { "id": 5, "iid": 1, "project_id": 3, "title": "v2.0", "description": "Assumenda aut placeat expedita exercitationem labore sunt enim earum.", "state": "closed", "created_at": "2015-02-02T19:49:26.013Z", "updated_at": "2015-02-02T19:49:26.013Z", "due_date": "2018-09-22", "start_date": "2018-08-08", "web_url": "https://gitlab.example.com/my-group/my-project/milestones/1" }, "merge_when_pipeline_succeeds": true, "merge_status": "can_be_merged", "merge_error": null, "sha": "8888888888888888888888888888888888888888", "merge_commit_sha": null, "squash_commit_sha": null, "user_notes_count": 1, "discussion_locked": null, "should_remove_source_branch": true, "force_remove_source_branch": false, "allow_collaboration": false, "allow_maintainer_to_push": false, "web_url": "http://gitlab.example.com/my-group/my-project/merge_requests/1", "references": { "short": "!1", "relative": "!1", "full": "my-group/my-project!1" }, "time_stats": { "time_estimate": 0, "total_time_spent": 0, "human_time_estimate": null, "human_total_time_spent": null }, "squash": false, "subscribed": false, "changes_count": "1", "merged_by": { "id": 87854, "name": "Douwe Maan", "username": "DouweM", "state": "active", "avatar_url": "https://gitlab.example.com/uploads/-/system/user/avatar/87854/avatar.png", "web_url": "https://gitlab.com/DouweM" }, "merged_at": "2018-09-07T11:16:17.520Z", "closed_by": null, "closed_at": null, "latest_build_started_at": "2018-09-07T07:27:38.472Z", "latest_build_finished_at": "2018-09-07T08:07:06.012Z", "first_deployed_to_production_at": null, "pipeline": { "id": 29626725, "sha": "2be7ddb704c7b6b83732fdd5b9f09d5a397b5f8f", "ref": "patch-28", "status": "success", "web_url": "https://gitlab.example.com/my-group/my-project/pipelines/29626725" }, "diff_refs": { "base_sha": "c380d3acebd181f13629a25d2e2acca46ffe1e00", "head_sha": "2be7ddb704c7b6b83732fdd5b9f09d5a397b5f8f", "start_sha": "c380d3acebd181f13629a25d2e2acca46ffe1e00" }, "diverged_commits_count": 2, "rebase_in_progress": false, "first_contribution": false, "task_completion_status":{ "count":0, "completed_count":0 }, "has_conflicts": false, "blocking_discussions_resolved": true } -``` - -在 GitLab 用户[入门,青铜或更高](https://about.gitlab.com/pricing/)还会看到`approvals_before_merge`参数: - -``` -{ "id": 1, "title": "test1", "approvals_before_merge": null ... } -``` - -## Get single MR participants[](#get-single-mr-participants "Permalink") - -获取合并请求参与者的列表. - -``` -GET /projects/:id/merge_requests/:merge_request_iid/participants -``` - -Parameters: - -* `id` (必填)-经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) -* `merge_request_iid` (必需)-合并请求的内部 ID - -``` -[ { "id": 1, "name": "John Doe1", "username": "user1", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/c922747a93b40d1ea88262bf1aebee62?s=80&d=identicon", "web_url": "http://localhost/user1" }, { "id": 2, "name": "John Doe2", "username": "user2", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/10fc7f102be8de7657fb4d80898bbfe3?s=80&d=identicon", "web_url": "http://localhost/user2" } ] -``` - -## Get single MR commits[](#get-single-mr-commits "Permalink") - -获取合并请求提交的列表. - -``` -GET /projects/:id/merge_requests/:merge_request_iid/commits -``` - -Parameters: - -* `id` (必填)-经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) -* `merge_request_iid` (必需)-合并请求的内部 ID - -``` -[ { "id": "ed899a2f4b50b4370feeea94676502b42383c746", "short_id": "ed899a2f4b5", "title": "Replace sanitize with escape once", "author_name": "Example User", "author_email": "user@example.com", "created_at": "2012-09-20T11:50:22+03:00", "message": "Replace sanitize with escape once" }, { "id": "6104942438c14ec7bd21c6cd5bd995272b3faff6", "short_id": "6104942438c", "title": "Sanitize for network graph", "author_name": "Example User", "author_email": "user@example.com", "created_at": "2012-09-20T09:06:12+03:00", "message": "Sanitize for network graph" } ] -``` - -## Get single MR changes[](#get-single-mr-changes "Permalink") - -显示有关合并请求的信息,包括其文件和更改. - -``` -GET /projects/:id/merge_requests/:merge_request_iid/changes -``` - -Parameters: - -* `id` (必填)-经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) -* `merge_request_iid` (必需)-合并请求的内部 ID - -``` -{ "id": 21, "iid": 1, "project_id": 4, "title": "Blanditiis beatae suscipit hic assumenda et molestias nisi asperiores repellat et.", "state": "reopened", "created_at": "2015-02-02T19:49:39.159Z", "updated_at": "2015-02-02T20:08:49.959Z", "target_branch": "secret_token", "source_branch": "version-1-9", "upvotes": 0, "downvotes": 0, "author": { "name": "Chad Hamill", "username": "jarrett", "id": 5, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/b95567800f828948baf5f4160ebb2473?s=40&d=identicon", "web_url" : "https://gitlab.example.com/jarrett" }, "assignee": { "name": "Administrator", "username": "root", "id": 1, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=40&d=identicon", "web_url" : "https://gitlab.example.com/root" }, "assignees": [{ "name": "Miss Monserrate Beier", "username": "axel.block", "id": 12, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/46f6f7dc858ada7be1853f7fb96e81da?s=80&d=identicon", "web_url": "https://gitlab.example.com/axel.block" }], "source_project_id": 4, "target_project_id": 4, "labels": [ ], "description": "Qui voluptatibus placeat ipsa alias quasi. Deleniti rem ut sint. Optio velit qui distinctio.", "work_in_progress": false, "milestone": { "id": 5, "iid": 1, "project_id": 4, "title": "v2.0", "description": "Assumenda aut placeat expedita exercitationem labore sunt enim earum.", "state": "closed", "created_at": "2015-02-02T19:49:26.013Z", "updated_at": "2015-02-02T19:49:26.013Z", "due_date": null }, "merge_when_pipeline_succeeds": true, "merge_status": "can_be_merged", "subscribed" : true, "sha": "8888888888888888888888888888888888888888", "merge_commit_sha": null, "squash_commit_sha": null, "user_notes_count": 1, "changes_count": "1", "should_remove_source_branch": true, "force_remove_source_branch": false, "squash": false, "web_url": "http://gitlab.example.com/my-group/my-project/merge_requests/1", "references": { "short": "!1", "relative": "!1", "full": "my-group/my-project!1" }, "discussion_locked": false, "time_stats": { "time_estimate": 0, "total_time_spent": 0, "human_time_estimate": null, "human_total_time_spent": null }, "task_completion_status":{ "count":0, "completed_count":0 }, "changes": [ { "old_path": "VERSION", "new_path": "VERSION", "a_mode": "100644", "b_mode": "100644", "diff": "--- a/VERSION\ +++ b/VERSION\ @@ -1 +1 @@\ -1.9.7\ +1.9.8", "new_file": false, "renamed_file": false, "deleted_file": false } ] } -``` - -## List MR pipelines[](#list-mr-pipelines "Permalink") - -在 GitLab 10.5.0 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/15454) . - -获取合并请求管道的列表. - -``` -GET /projects/:id/merge_requests/:merge_request_iid/pipelines -``` - -Parameters: - -* `id` (必填)-经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) -* `merge_request_iid` (必需)-合并请求的内部 ID - -``` -[ { "id": 77, "sha": "959e04d7c7a30600c894bd3c0cd0e1ce7f42c11d", "ref": "master", "status": "success" } ] -``` - -## Create MR Pipeline[](#create-mr-pipeline "Permalink") - -在 GitLab 12.3 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/31722) . - -[为合并请求](../ci/merge_request_pipelines/index.html)创建一个新[管道](../ci/merge_request_pipelines/index.html) . 通过这个端点创建的管道将无法运行常规的分支/标签的管道,它需要`.gitlab-ci.yml`与配置`only: [merge_requests]`创造就业机会. - -新管道可以是: - -* 分离的合并请求管道. -* A [pipeline for merged results](../ci/merge_request_pipelines/pipelines_for_merged_results/index.html) if the [project setting is enabled](../ci/merge_request_pipelines/pipelines_for_merged_results/index.html#enable-pipelines-for-merged-results). - -``` -POST /projects/:id/merge_requests/:merge_request_iid/pipelines -``` - -Parameters: - -* `id` (必填)-项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) -* `merge_request_iid` (必需)-合并请求的内部 ID - -``` -{ "id": 2, "sha": "b83d6e391c22777fca1ed3012fce84f633d7fed0", "ref": "refs/merge-requests/1/head", "status": "pending", "web_url": "http://localhost/user1/project1/pipelines/2", "before_sha": "0000000000000000000000000000000000000000", "tag": false, "yaml_errors": null, "user": { "id": 1, "name": "John Doe1", "username": "user1", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/c922747a93b40d1ea88262bf1aebee62?s=80&d=identicon", "web_url": "http://example.com" }, "created_at": "2019-09-04T19:20:18.267Z", "updated_at": "2019-09-04T19:20:18.459Z", "started_at": null, "finished_at": null, "committed_at": null, "duration": null, "coverage": null, "detailed_status": { "icon": "status_pending", "text": "pending", "label": "pending", "group": "pending", "tooltip": "pending", "has_details": false, "details_path": "/user1/project1/pipelines/2", "illustration": null, "favicon": "/assets/ci_favicons/favicon_status_pending-5bdf338420e5221ca24353b6bff1c9367189588750632e9a871b7af09ff6a2ae.png" } } -``` - -## Create MR[](#create-mr "Permalink") - -创建一个新的合并请求. - -``` -POST /projects/:id/merge_requests -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `source_branch` | string | yes | 源分支 | -| `target_branch` | string | yes | 目标分支 | -| `title` | string | yes | 先生的头衔 | -| `assignee_id` | integer | no | 受让人用户 ID | -| `assignee_ids` | 整数数组 | no | 要将 MR 分配给的用户的 ID. 设置为`0`或提供一个空值以取消分配所有受让人. | -| `description` | string | no | MR 的描述. 限制为 1,048,576 个字符. | -| `target_project_id` | integer | no | 目标项目(数字 ID) | -| `labels` | string | no | MR 的标签以逗号分隔的列表 | -| `milestone_id` | integer | no | 里程碑的全局 ID | -| `remove_source_branch` | boolean | no | 指示合并请求是否应在合并时删除源分支的标志 | -| `allow_collaboration` | boolean | no | 允许来自可以合并到目标分支的成员的提交 | -| `allow_maintainer_to_push` | boolean | no | Deprecated, see allow_collaboration | -| `squash` | boolean | no | 合并时将 Squash 提交到单个提交中 | - -如果`approvals_before_merge` 未提供,它将从目标项目继承值. 如果提供了它,则必须满足以下条件才能使其生效: - -1. 目标项目的`approvals_before_merge`必须大于零. 零值将禁用该项目的批准. -2. 所提供的价值`approvals_before_merge`必须比目标项目的更大`approvals_before_merge` . - -``` -{ "id": 1, "iid": 1, "project_id": 3, "title": "test1", "description": "fixed login page css paddings", "state": "merged", "created_at": "2017-04-29T08:46:00Z", "updated_at": "2017-04-29T08:46:00Z", "target_branch": "master", "source_branch": "test1", "upvotes": 0, "downvotes": 0, "author": { "id": 1, "name": "Administrator", "username": "admin", "state": "active", "avatar_url": null, "web_url" : "https://gitlab.example.com/admin" }, "assignee": { "id": 1, "name": "Administrator", "username": "admin", "state": "active", "avatar_url": null, "web_url" : "https://gitlab.example.com/admin" }, "source_project_id": 2, "target_project_id": 3, "labels": [ "Community contribution", "Manage" ], "work_in_progress": false, "milestone": { "id": 5, "iid": 1, "project_id": 3, "title": "v2.0", "description": "Assumenda aut placeat expedita exercitationem labore sunt enim earum.", "state": "closed", "created_at": "2015-02-02T19:49:26.013Z", "updated_at": "2015-02-02T19:49:26.013Z", "due_date": "2018-09-22", "start_date": "2018-08-08", "web_url": "https://gitlab.example.com/my-group/my-project/milestones/1" }, "merge_when_pipeline_succeeds": true, "merge_status": "can_be_merged", "merge_error": null, "sha": "8888888888888888888888888888888888888888", "merge_commit_sha": null, "squash_commit_sha": null, "user_notes_count": 1, "discussion_locked": null, "should_remove_source_branch": true, "force_remove_source_branch": false, "allow_collaboration": false, "allow_maintainer_to_push": false, "web_url": "http://gitlab.example.com/my-group/my-project/merge_requests/1", "references": { "short": "!1", "relative": "!1", "full": "my-group/my-project!1" }, "time_stats": { "time_estimate": 0, "total_time_spent": 0, "human_time_estimate": null, "human_total_time_spent": null }, "squash": false, "subscribed": false, "changes_count": "1", "merged_by": { "id": 87854, "name": "Douwe Maan", "username": "DouweM", "state": "active", "avatar_url": "https://gitlab.example.com/uploads/-/system/user/avatar/87854/avatar.png", "web_url": "https://gitlab.com/DouweM" }, "merged_at": "2018-09-07T11:16:17.520Z", "closed_by": null, "closed_at": null, "latest_build_started_at": "2018-09-07T07:27:38.472Z", "latest_build_finished_at": "2018-09-07T08:07:06.012Z", "first_deployed_to_production_at": null, "pipeline": { "id": 29626725, "sha": "2be7ddb704c7b6b83732fdd5b9f09d5a397b5f8f", "ref": "patch-28", "status": "success", "web_url": "https://gitlab.example.com/my-group/my-project/pipelines/29626725" }, "diff_refs": { "base_sha": "c380d3acebd181f13629a25d2e2acca46ffe1e00", "head_sha": "2be7ddb704c7b6b83732fdd5b9f09d5a397b5f8f", "start_sha": "c380d3acebd181f13629a25d2e2acca46ffe1e00" }, "diverged_commits_count": 2, "task_completion_status":{ "count":0, "completed_count":0 } } -``` - -在 GitLab 用户[入门,青铜或更高](https://about.gitlab.com/pricing/)还会看到`approvals_before_merge`参数: - -``` -{ "id": 1, "title": "test1", "approvals_before_merge": null ... } -``` - -## Update MR[](#update-mr "Permalink") - -更新现有的合并请求. 您可以更改目标分支,标题,甚至关闭 MR. - -``` -PUT /projects/:id/merge_requests/:merge_request_iid -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `merge_request_iid` | integer | yes | 合并请求的 ID | -| `target_branch` | string | no | 目标分支 | -| `title` | string | no | 先生的头衔 | -| `assignee_id` | integer | no | 要将合并请求分配给的用户的 ID. 设置为`0`或提供一个空值以取消分配所有受让人. | -| `assignee_ids` | 整数数组 | no | 要将 MR 分配给的用户的 ID. 设置为`0`或提供一个空值以取消分配所有受让人. | -| `milestone_id` | integer | no | 要将合并请求分配给的里程碑的全局 ID. 设置为`0`或提供一个空值以取消分配里程碑. | -| `labels` | string | no | 合并请求的逗号分隔标签名称. 设置为空字符串以取消分配所有标签. | -| `add_labels` | string | no | 以逗号分隔的标签名称,添加到合并请求中. | -| `remove_labels` | string | no | 逗号分隔的标签名称,可从合并请求中删除. | -| `description` | string | no | MR 的描述. 限制为 1,048,576 个字符. | -| `state_event` | string | no | 新状态(关闭/重新打开) | -| `remove_source_branch` | boolean | no | 指示合并请求是否应在合并时删除源分支的标志 | -| `squash` | boolean | no | 合并时将 Squash 提交到单个提交中 | -| `discussion_locked` | boolean | no | 指示合并请求的讨论是否已锁定的标志. 如果讨论被锁定,则只有项目成员可以添加,编辑或解决评论. | -| `allow_collaboration` | boolean | no | 允许来自可以合并到目标分支的成员的提交 | -| `allow_maintainer_to_push` | boolean | no | 已弃用,请参见 allow_collaboration | - -必须至少包含一个以上非必需的属性. - -``` -{ "id": 1, "iid": 1, "project_id": 3, "title": "test1", "description": "fixed login page css paddings", "state": "merged", "created_at": "2017-04-29T08:46:00Z", "updated_at": "2017-04-29T08:46:00Z", "target_branch": "master", "source_branch": "test1", "upvotes": 0, "downvotes": 0, "author": { "id": 1, "name": "Administrator", "username": "admin", "state": "active", "avatar_url": null, "web_url" : "https://gitlab.example.com/admin" }, "assignee": { "id": 1, "name": "Administrator", "username": "admin", "state": "active", "avatar_url": null, "web_url" : "https://gitlab.example.com/admin" }, "assignees": [{ "name": "Miss Monserrate Beier", "username": "axel.block", "id": 12, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/46f6f7dc858ada7be1853f7fb96e81da?s=80&d=identicon", "web_url": "https://gitlab.example.com/axel.block" }], "source_project_id": 2, "target_project_id": 3, "labels": [ "Community contribution", "Manage" ], "work_in_progress": false, "milestone": { "id": 5, "iid": 1, "project_id": 3, "title": "v2.0", "description": "Assumenda aut placeat expedita exercitationem labore sunt enim earum.", "state": "closed", "created_at": "2015-02-02T19:49:26.013Z", "updated_at": "2015-02-02T19:49:26.013Z", "due_date": "2018-09-22", "start_date": "2018-08-08", "web_url": "https://gitlab.example.com/my-group/my-project/milestones/1" }, "merge_when_pipeline_succeeds": true, "merge_status": "can_be_merged", "merge_error": null, "sha": "8888888888888888888888888888888888888888", "merge_commit_sha": null, "squash_commit_sha": null, "user_notes_count": 1, "discussion_locked": null, "should_remove_source_branch": true, "force_remove_source_branch": false, "allow_collaboration": false, "allow_maintainer_to_push": false, "web_url": "http://gitlab.example.com/my-group/my-project/merge_requests/1", "references": { "short": "!1", "relative": "!1", "full": "my-group/my-project!1" }, "time_stats": { "time_estimate": 0, "total_time_spent": 0, "human_time_estimate": null, "human_total_time_spent": null }, "squash": false, "subscribed": false, "changes_count": "1", "merged_by": { "id": 87854, "name": "Douwe Maan", "username": "DouweM", "state": "active", "avatar_url": "https://gitlab.example.com/uploads/-/system/user/avatar/87854/avatar.png", "web_url": "https://gitlab.com/DouweM" }, "merged_at": "2018-09-07T11:16:17.520Z", "closed_by": null, "closed_at": null, "latest_build_started_at": "2018-09-07T07:27:38.472Z", "latest_build_finished_at": "2018-09-07T08:07:06.012Z", "first_deployed_to_production_at": null, "pipeline": { "id": 29626725, "sha": "2be7ddb704c7b6b83732fdd5b9f09d5a397b5f8f", "ref": "patch-28", "status": "success", "web_url": "https://gitlab.example.com/my-group/my-project/pipelines/29626725" }, "diff_refs": { "base_sha": "c380d3acebd181f13629a25d2e2acca46ffe1e00", "head_sha": "2be7ddb704c7b6b83732fdd5b9f09d5a397b5f8f", "start_sha": "c380d3acebd181f13629a25d2e2acca46ffe1e00" }, "diverged_commits_count": 2, "task_completion_status":{ "count":0, "completed_count":0 } } -``` - -在 GitLab 用户[入门,青铜或更高](https://about.gitlab.com/pricing/)还会看到`approvals_before_merge`参数: - -``` -{ "id": 1, "title": "test1", "approvals_before_merge": null ... } -``` - -## Delete a merge request[](#delete-a-merge-request "Permalink") - -仅适用于管理员和项目所有者. 删除相关合并请求. - -``` -DELETE /projects/:id/merge_requests/:merge_request_iid -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `merge_request_iid` | integer | yes | 合并请求的内部 ID | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/4/merge_requests/85" -``` - -## Accept MR[](#accept-mr "Permalink") - -使用此 API 合并通过 MR 提交的更改. - -如果合并请求无法被接受(例如:进行中,已关闭,正在等待管道完成或在要求成功时失败)-您将收到`405`和错误消息"不允许使用方法" - -如果存在一些冲突且无法合并-您将收到`406` ,并且错误消息"分支无法合并" - -如果传递了`sha`参数,但与源头的 HEAD 不匹配-您将得到`409`且错误消息" SHA 与源分支的 HEAD 不匹配" - -如果您没有接受此合并请求的权限-您会收到`401` - -``` -PUT /projects/:id/merge_requests/:merge_request_iid/merge -``` - -Parameters: - -* `id` (必填)-经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) -* `merge_request_iid` (必需) `merge_request_iid`内部 ID -* `merge_commit_message` (optional) - Custom merge commit message -* `squash_commit_message` (可选)-自定义南瓜提交消息 -* `squash` (可选)-如果为`true`则提交将在合并时被压缩为单个提交 -* `should_remove_source_branch` (可选)-如果为`true`删除源分支 -* `merge_when_pipeline_succeeds` (可选)-如果为`true` ,则在管道成功时合并 MR -* `sha` (可选)-如果存在,则此 SHA 必须与源分支的 HEAD 匹配,否则合并将失败 - -``` -{ "id": 1, "iid": 1, "project_id": 3, "title": "test1", "description": "fixed login page css paddings", "state": "merged", "created_at": "2017-04-29T08:46:00Z", "updated_at": "2017-04-29T08:46:00Z", "target_branch": "master", "source_branch": "test1", "upvotes": 0, "downvotes": 0, "author": { "id": 1, "name": "Administrator", "username": "admin", "state": "active", "avatar_url": null, "web_url" : "https://gitlab.example.com/admin" }, "assignee": { "id": 1, "name": "Administrator", "username": "admin", "state": "active", "avatar_url": null, "web_url" : "https://gitlab.example.com/admin" }, "assignees": [{ "name": "Miss Monserrate Beier", "username": "axel.block", "id": 12, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/46f6f7dc858ada7be1853f7fb96e81da?s=80&d=identicon", "web_url": "https://gitlab.example.com/axel.block" }], "source_project_id": 2, "target_project_id": 3, "labels": [ "Community contribution", "Manage" ], "work_in_progress": false, "milestone": { "id": 5, "iid": 1, "project_id": 3, "title": "v2.0", "description": "Assumenda aut placeat expedita exercitationem labore sunt enim earum.", "state": "closed", "created_at": "2015-02-02T19:49:26.013Z", "updated_at": "2015-02-02T19:49:26.013Z", "due_date": "2018-09-22", "start_date": "2018-08-08", "web_url": "https://gitlab.example.com/my-group/my-project/milestones/1" }, "merge_when_pipeline_succeeds": true, "merge_status": "can_be_merged", "merge_error": null, "sha": "8888888888888888888888888888888888888888", "merge_commit_sha": null, "squash_commit_sha": null, "user_notes_count": 1, "discussion_locked": null, "should_remove_source_branch": true, "force_remove_source_branch": false, "allow_collaboration": false, "allow_maintainer_to_push": false, "web_url": "http://gitlab.example.com/my-group/my-project/merge_requests/1", "references": { "short": "!1", "relative": "!1", "full": "my-group/my-project!1" }, "time_stats": { "time_estimate": 0, "total_time_spent": 0, "human_time_estimate": null, "human_total_time_spent": null }, "squash": false, "subscribed": false, "changes_count": "1", "merged_by": { "id": 87854, "name": "Douwe Maan", "username": "DouweM", "state": "active", "avatar_url": "https://gitlab.example.com/uploads/-/system/user/avatar/87854/avatar.png", "web_url": "https://gitlab.com/DouweM" }, "merged_at": "2018-09-07T11:16:17.520Z", "closed_by": null, "closed_at": null, "latest_build_started_at": "2018-09-07T07:27:38.472Z", "latest_build_finished_at": "2018-09-07T08:07:06.012Z", "first_deployed_to_production_at": null, "pipeline": { "id": 29626725, "sha": "2be7ddb704c7b6b83732fdd5b9f09d5a397b5f8f", "ref": "patch-28", "status": "success", "web_url": "https://gitlab.example.com/my-group/my-project/pipelines/29626725" }, "diff_refs": { "base_sha": "c380d3acebd181f13629a25d2e2acca46ffe1e00", "head_sha": "2be7ddb704c7b6b83732fdd5b9f09d5a397b5f8f", "start_sha": "c380d3acebd181f13629a25d2e2acca46ffe1e00" }, "diverged_commits_count": 2, "task_completion_status":{ "count":0, "completed_count":0 } } -``` - -在 GitLab 用户[入门,青铜或更高](https://about.gitlab.com/pricing/)还会看到`approvals_before_merge`参数: - -``` -{ "id": 1, "title": "test1", "approvals_before_merge": null ... } -``` - -## Merge to default merge ref path[](#merge-to-default-merge-ref-path "Permalink") - -如果可能,将合并请求源和目标分支之间的更改合并到目标项目存储库的`refs/merge-requests/:iid/merge` ref 中. 如果执行常规合并操作,此引用将具有目标分支将具有的状态. - -这不是常规的合并操作,因为它不会以任何方式更改合并请求目标分支的状态. - -向此 API 提交请求时,此 ref( `refs/merge-requests/:iid/merge` )不一定会被覆盖,尽管它可以确保 ref 具有最新的状态. - -如果合并请求有冲突,为空或已经合并,您将收到一条`400`和一个描述性错误消息. - -如果为`200`它将在响应正文中返回`refs/merge-requests/:iid/merge`的 HEAD 提交. - -``` -GET /projects/:id/merge_requests/:merge_request_iid/merge_ref -``` - -Parameters: - -* `id` (必填)-经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) -* `merge_request_iid` (必需) `merge_request_iid`内部 ID - -``` -{ "commit_id": "854a3a7a17acbcc0bbbea170986df1eb60435f34" } -``` - -## Cancel Merge When Pipeline Succeeds[](#cancel-merge-when-pipeline-succeeds "Permalink") - -如果您没有接受此合并请求的权限-您会收到`401` - -如果合并请求已被合并或关闭-您将收到`405`和错误消息"不允许使用方法" - -如果在管道成功时未将合并请求设置为要合并,则还会收到`406`错误. - -``` -POST /projects/:id/merge_requests/:merge_request_iid/cancel_merge_when_pipeline_succeeds -``` - -Parameters: - -* `id` (必填)-经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) -* `merge_request_iid` (必需) `merge_request_iid`内部 ID - -``` -{ "id": 1, "iid": 1, "project_id": 3, "title": "test1", "description": "fixed login page css paddings", "state": "merged", "created_at": "2017-04-29T08:46:00Z", "updated_at": "2017-04-29T08:46:00Z", "target_branch": "master", "source_branch": "test1", "upvotes": 0, "downvotes": 0, "author": { "id": 1, "name": "Administrator", "username": "admin", "state": "active", "avatar_url": null, "web_url" : "https://gitlab.example.com/admin" }, "assignee": { "id": 1, "name": "Administrator", "username": "admin", "state": "active", "avatar_url": null, "web_url" : "https://gitlab.example.com/admin" }, "assignees": [{ "name": "Miss Monserrate Beier", "username": "axel.block", "id": 12, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/46f6f7dc858ada7be1853f7fb96e81da?s=80&d=identicon", "web_url": "https://gitlab.example.com/axel.block" }], "source_project_id": 2, "target_project_id": 3, "labels": [ "Community contribution", "Manage" ], "work_in_progress": false, "milestone": { "id": 5, "iid": 1, "project_id": 3, "title": "v2.0", "description": "Assumenda aut placeat expedita exercitationem labore sunt enim earum.", "state": "closed", "created_at": "2015-02-02T19:49:26.013Z", "updated_at": "2015-02-02T19:49:26.013Z", "due_date": "2018-09-22", "start_date": "2018-08-08", "web_url": "https://gitlab.example.com/my-group/my-project/milestones/1" }, "merge_when_pipeline_succeeds": false, "merge_status": "can_be_merged", "merge_error": null, "sha": "8888888888888888888888888888888888888888", "merge_commit_sha": null, "squash_commit_sha": null, "user_notes_count": 1, "discussion_locked": null, "should_remove_source_branch": true, "force_remove_source_branch": false, "allow_collaboration": false, "allow_maintainer_to_push": false, "web_url": "http://gitlab.example.com/my-group/my-project/merge_requests/1", "references": { "short": "!1", "relative": "!1", "full": "my-group/my-project!1" }, "time_stats": { "time_estimate": 0, "total_time_spent": 0, "human_time_estimate": null, "human_total_time_spent": null }, "squash": false, "subscribed": false, "changes_count": "1", "merged_by": { "id": 87854, "name": "Douwe Maan", "username": "DouweM", "state": "active", "avatar_url": "https://gitlab.example.com/uploads/-/system/user/avatar/87854/avatar.png", "web_url": "https://gitlab.com/DouweM" }, "merged_at": "2018-09-07T11:16:17.520Z", "closed_by": null, "closed_at": null, "latest_build_started_at": "2018-09-07T07:27:38.472Z", "latest_build_finished_at": "2018-09-07T08:07:06.012Z", "first_deployed_to_production_at": null, "pipeline": { "id": 29626725, "sha": "2be7ddb704c7b6b83732fdd5b9f09d5a397b5f8f", "ref": "patch-28", "status": "success", "web_url": "https://gitlab.example.com/my-group/my-project/pipelines/29626725" }, "diff_refs": { "base_sha": "c380d3acebd181f13629a25d2e2acca46ffe1e00", "head_sha": "2be7ddb704c7b6b83732fdd5b9f09d5a397b5f8f", "start_sha": "c380d3acebd181f13629a25d2e2acca46ffe1e00" }, "diverged_commits_count": 2, "task_completion_status":{ "count":0, "completed_count":0 } } -``` - -在 GitLab 用户[入门,青铜或更高](https://about.gitlab.com/pricing/)还会看到`approvals_before_merge`参数: - -``` -{ "id": 1, "title": "test1", "approvals_before_merge": null ... } -``` - -## Rebase a merge request[](#rebase-a-merge-request "Permalink") - -自动将合并请求的`source_branch`与其`target_branch` . - -如果您无权推送到合并请求的源分支-您将收到`403 Forbidden`响应. - -``` -PUT /projects/:id/merge_requests/:merge_request_iid/rebase -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `merge_request_iid` | integer | yes | 合并请求的内部 ID | -| `skip_ci` | boolean | no | 设置为`true`以跳过创建 CI 管道 | - -``` -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/76/merge_requests/1/rebase" -``` - -这是一个异步请求. 如果请求成功入队,API 将返回`202 Accepted`响应,响应包含: - -``` -{ "rebase_in_progress": true } -``` - -您可以使用`include_rebase_in_progress`参数轮询" [获取单个 MR"](#get-single-mr)端点,以检查异步请求的状态. - -如果正在进行 rebase 操作,则响应将包括以下内容: - -``` -{ "rebase_in_progress": true, "merge_error": null } -``` - -一旦成功完成了变基操作,响应将包括以下内容: - -``` -{ "rebase_in_progress": false, "merge_error": null } -``` - -如果 rebase 操作失败,响应将包括以下内容: - -``` -{ "rebase_in_progress": false, "merge_error": "Rebase failed. Please rebase locally" } -``` - -## Comments on merge requests[](#comments-on-merge-requests "Permalink") - -注释是通过[notes](notes.html)资源完成的. - -## List issues that will close on merge[](#list-issues-that-will-close-on-merge "Permalink") - -通过合并提供的合并请求来获取所有将要解决的问题. - -``` -GET /projects/:id/merge_requests/:merge_request_iid/closes_issues -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `merge_request_iid` | integer | yes | 合并请求的内部 ID | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/76/merge_requests/1/closes_issues" -``` - -使用 GitLab 问题跟踪器时的示例响应: - -``` -[ { "state" : "opened", "description" : "Ratione dolores corrupti mollitia soluta quia.", "author" : { "state" : "active", "id" : 18, "web_url" : "https://gitlab.example.com/eileen.lowe", "name" : "Alexandra Bashirian", "avatar_url" : null, "username" : "eileen.lowe" }, "milestone" : { "project_id" : 1, "description" : "Ducimus nam enim ex consequatur cumque ratione.", "state" : "closed", "due_date" : null, "iid" : 2, "created_at" : "2016-01-04T15:31:39.996Z", "title" : "v4.0", "id" : 17, "updated_at" : "2016-01-04T15:31:39.996Z" }, "project_id" : 1, "assignee" : { "state" : "active", "id" : 1, "name" : "Administrator", "web_url" : "https://gitlab.example.com/root", "avatar_url" : null, "username" : "root" }, "updated_at" : "2016-01-04T15:31:51.081Z", "id" : 76, "title" : "Consequatur vero maxime deserunt laboriosam est voluptas dolorem.", "created_at" : "2016-01-04T15:31:51.081Z", "iid" : 6, "labels" : [], "user_notes_count": 1, "changes_count": "1" } ] -``` - -使用外部问题跟踪器(例如 Jira)时的示例响应: - -``` -[ { "id" : "PROJECT-123", "title" : "Title of this issue" } ] -``` - -## Subscribe to a merge request[](#subscribe-to-a-merge-request "Permalink") - -向已认证的用户订阅合并请求以接收通知. 如果用户已经订阅了合并请求,则返回状态码`304` . - -``` -POST /projects/:id/merge_requests/:merge_request_iid/subscribe -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `merge_request_iid` | integer | yes | 合并请求的内部 ID | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/merge_requests/17/subscribe" -``` - -响应示例: - -``` -{ "id": 1, "iid": 1, "project_id": 3, "title": "test1", "description": "fixed login page css paddings", "state": "merged", "created_at": "2017-04-29T08:46:00Z", "updated_at": "2017-04-29T08:46:00Z", "target_branch": "master", "source_branch": "test1", "upvotes": 0, "downvotes": 0, "author": { "id": 1, "name": "Administrator", "username": "admin", "state": "active", "avatar_url": null, "web_url" : "https://gitlab.example.com/admin" }, "assignee": { "id": 1, "name": "Administrator", "username": "admin", "state": "active", "avatar_url": null, "web_url" : "https://gitlab.example.com/admin" }, "assignees": [{ "name": "Miss Monserrate Beier", "username": "axel.block", "id": 12, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/46f6f7dc858ada7be1853f7fb96e81da?s=80&d=identicon", "web_url": "https://gitlab.example.com/axel.block" }], "source_project_id": 2, "target_project_id": 3, "labels": [ "Community contribution", "Manage" ], "work_in_progress": false, "milestone": { "id": 5, "iid": 1, "project_id": 3, "title": "v2.0", "description": "Assumenda aut placeat expedita exercitationem labore sunt enim earum.", "state": "closed", "created_at": "2015-02-02T19:49:26.013Z", "updated_at": "2015-02-02T19:49:26.013Z", "due_date": "2018-09-22", "start_date": "2018-08-08", "web_url": "https://gitlab.example.com/my-group/my-project/milestones/1" }, "merge_when_pipeline_succeeds": true, "merge_status": "can_be_merged", "sha": "8888888888888888888888888888888888888888", "merge_commit_sha": null, "squash_commit_sha": null, "user_notes_count": 1, "discussion_locked": null, "should_remove_source_branch": true, "force_remove_source_branch": false, "allow_collaboration": false, "allow_maintainer_to_push": false, "web_url": "http://gitlab.example.com/my-group/my-project/merge_requests/1", "references": { "short": "!1", "relative": "!1", "full": "my-group/my-project!1" }, "time_stats": { "time_estimate": 0, "total_time_spent": 0, "human_time_estimate": null, "human_total_time_spent": null }, "squash": false, "subscribed": false, "changes_count": "1", "merged_by": { "id": 87854, "name": "Douwe Maan", "username": "DouweM", "state": "active", "avatar_url": "https://gitlab.example.com/uploads/-/system/user/avatar/87854/avatar.png", "web_url": "https://gitlab.com/DouweM" }, "merged_at": "2018-09-07T11:16:17.520Z", "closed_by": null, "closed_at": null, "latest_build_started_at": "2018-09-07T07:27:38.472Z", "latest_build_finished_at": "2018-09-07T08:07:06.012Z", "first_deployed_to_production_at": null, "pipeline": { "id": 29626725, "sha": "2be7ddb704c7b6b83732fdd5b9f09d5a397b5f8f", "ref": "patch-28", "status": "success", "web_url": "https://gitlab.example.com/my-group/my-project/pipelines/29626725" }, "diff_refs": { "base_sha": "c380d3acebd181f13629a25d2e2acca46ffe1e00", "head_sha": "2be7ddb704c7b6b83732fdd5b9f09d5a397b5f8f", "start_sha": "c380d3acebd181f13629a25d2e2acca46ffe1e00" }, "diverged_commits_count": 2, "task_completion_status":{ "count":0, "completed_count":0 } } -``` - -在 GitLab 用户[入门,青铜或更高](https://about.gitlab.com/pricing/)还会看到`approvals_before_merge`参数: - -``` -{ "id": 1, "title": "test1", "approvals_before_merge": null ... } -``` - -## Unsubscribe from a merge request[](#unsubscribe-from-a-merge-request "Permalink") - -从合并请求中退订已认证的用户,以不接收来自该合并请求的通知. 如果用户未订阅合并请求,则返回状态码`304` . - -``` -POST /projects/:id/merge_requests/:merge_request_iid/unsubscribe -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `merge_request_iid` | integer | yes | 合并请求的内部 ID | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/merge_requests/17/unsubscribe" -``` - -响应示例: - -``` -{ "id": 1, "iid": 1, "project_id": 3, "title": "test1", "description": "fixed login page css paddings", "state": "merged", "created_at": "2017-04-29T08:46:00Z", "updated_at": "2017-04-29T08:46:00Z", "target_branch": "master", "source_branch": "test1", "upvotes": 0, "downvotes": 0, "author": { "id": 1, "name": "Administrator", "username": "admin", "state": "active", "avatar_url": null, "web_url" : "https://gitlab.example.com/admin" }, "assignee": { "id": 1, "name": "Administrator", "username": "admin", "state": "active", "avatar_url": null, "web_url" : "https://gitlab.example.com/admin" }, "assignees": [{ "name": "Miss Monserrate Beier", "username": "axel.block", "id": 12, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/46f6f7dc858ada7be1853f7fb96e81da?s=80&d=identicon", "web_url": "https://gitlab.example.com/axel.block" }], "source_project_id": 2, "target_project_id": 3, "labels": [ "Community contribution", "Manage" ], "work_in_progress": false, "milestone": { "id": 5, "iid": 1, "project_id": 3, "title": "v2.0", "description": "Assumenda aut placeat expedita exercitationem labore sunt enim earum.", "state": "closed", "created_at": "2015-02-02T19:49:26.013Z", "updated_at": "2015-02-02T19:49:26.013Z", "due_date": "2018-09-22", "start_date": "2018-08-08", "web_url": "https://gitlab.example.com/my-group/my-project/milestones/1" }, "merge_when_pipeline_succeeds": true, "merge_status": "can_be_merged", "sha": "8888888888888888888888888888888888888888", "merge_commit_sha": null, "squash_commit_sha": null, "user_notes_count": 1, "discussion_locked": null, "should_remove_source_branch": true, "force_remove_source_branch": false, "allow_collaboration": false, "allow_maintainer_to_push": false, "web_url": "http://gitlab.example.com/my-group/my-project/merge_requests/1", "references": { "short": "!1", "relative": "!1", "full": "my-group/my-project!1" }, "time_stats": { "time_estimate": 0, "total_time_spent": 0, "human_time_estimate": null, "human_total_time_spent": null }, "squash": false, "subscribed": false, "changes_count": "1", "merged_by": { "id": 87854, "name": "Douwe Maan", "username": "DouweM", "state": "active", "avatar_url": "https://gitlab.example.com/uploads/-/system/user/avatar/87854/avatar.png", "web_url": "https://gitlab.com/DouweM" }, "merged_at": "2018-09-07T11:16:17.520Z", "closed_by": null, "closed_at": null, "latest_build_started_at": "2018-09-07T07:27:38.472Z", "latest_build_finished_at": "2018-09-07T08:07:06.012Z", "first_deployed_to_production_at": null, "pipeline": { "id": 29626725, "sha": "2be7ddb704c7b6b83732fdd5b9f09d5a397b5f8f", "ref": "patch-28", "status": "success", "web_url": "https://gitlab.example.com/my-group/my-project/pipelines/29626725" }, "diff_refs": { "base_sha": "c380d3acebd181f13629a25d2e2acca46ffe1e00", "head_sha": "2be7ddb704c7b6b83732fdd5b9f09d5a397b5f8f", "start_sha": "c380d3acebd181f13629a25d2e2acca46ffe1e00" }, "diverged_commits_count": 2, "task_completion_status":{ "count":0, "completed_count":0 } } -``` - -在 GitLab 用户[入门,青铜或更高](https://about.gitlab.com/pricing/)还会看到`approvals_before_merge`参数: - -``` -{ "id": 1, "title": "test1", "approvals_before_merge": null ... } -``` - -## Create a todo[](#create-a-todo "Permalink") - -在合并请求上为当前用户手动创建待办事项. 如果在该合并请求上已经存在用户的待办事项,则返回状态码`304` . - -``` -POST /projects/:id/merge_requests/:merge_request_iid/todo -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `merge_request_iid` | integer | yes | 合并请求的内部 ID | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/merge_requests/27/todo" -``` - -响应示例: - -``` -{ "id": 113, "project": { "id": 3, "name": "GitLab CI/CD", "name_with_namespace": "GitLab Org / GitLab CI/CD", "path": "gitlab-ci", "path_with_namespace": "gitlab-org/gitlab-ci" }, "author": { "name": "Administrator", "username": "root", "id": 1, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "https://gitlab.example.com/root" }, "action_name": "marked", "target_type": "MergeRequest", "target": { "id": 27, "iid": 7, "project_id": 3, "title": "Et voluptas laudantium minus nihil recusandae ut accusamus earum aut non.", "description": "Veniam sunt nihil modi earum cumque illum delectus. Nihil ad quis distinctio quia. Autem eligendi at quibusdam repellendus.", "state": "merged", "created_at": "2016-06-17T07:48:04.330Z", "updated_at": "2016-07-01T11:14:15.537Z", "target_branch": "allow_regex_for_project_skip_ref", "source_branch": "backup", "upvotes": 0, "downvotes": 0, "author": { "name": "Jarret O'Keefe", "username": "francisca", "id": 14, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/a7fa515d53450023c83d62986d0658a8?s=80&d=identicon", "web_url": "https://gitlab.example.com/francisca", "discussion_locked": false }, "assignee": { "name": "Dr. Gabrielle Strosin", "username": "barrett.krajcik", "id": 4, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/733005fcd7e6df12d2d8580171ccb966?s=80&d=identicon", "web_url": "https://gitlab.example.com/barrett.krajcik" }, "assignees": [{ "name": "Miss Monserrate Beier", "username": "axel.block", "id": 12, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/46f6f7dc858ada7be1853f7fb96e81da?s=80&d=identicon", "web_url": "https://gitlab.example.com/axel.block" }], "source_project_id": 3, "target_project_id": 3, "labels": [], "work_in_progress": false, "milestone": { "id": 27, "iid": 2, "project_id": 3, "title": "v1.0", "description": "Quis ea accusantium animi hic fuga assumenda.", "state": "active", "created_at": "2016-06-17T07:47:33.840Z", "updated_at": "2016-06-17T07:47:33.840Z", "due_date": null }, "merge_when_pipeline_succeeds": false, "merge_status": "unchecked", "subscribed": true, "sha": "8888888888888888888888888888888888888888", "merge_commit_sha": null, "squash_commit_sha": null, "user_notes_count": 7, "changes_count": "1", "should_remove_source_branch": true, "force_remove_source_branch": false, "squash": false, "web_url": "http://example.com/my-group/my-project/merge_requests/1", "references": { "short": "!1", "relative": "!1", "full": "my-group/my-project!1" }, }, "target_url": "https://gitlab.example.com/gitlab-org/gitlab-ci/merge_requests/7", "body": "Et voluptas laudantium minus nihil recusandae ut accusamus earum aut non.", "state": "pending", "created_at": "2016-07-01T11:14:15.530Z" } -``` - -## Get MR diff versions[](#get-mr-diff-versions "Permalink") - -获取合并请求差异版本的列表. - -``` -GET /projects/:id/merge_requests/:merge_request_iid/versions -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | String | yes | 项目 ID | -| `merge_request_iid` | integer | yes | 合并请求的内部 ID | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/merge_requests/1/versions" -``` - -响应示例: - -``` -[{ "id": 110, "head_commit_sha": "33e2ee8579fda5bc36accc9c6fbd0b4fefda9e30", "base_commit_sha": "eeb57dffe83deb686a60a71c16c32f71046868fd", "start_commit_sha": "eeb57dffe83deb686a60a71c16c32f71046868fd", "created_at": "2016-07-26T14:44:48.926Z", "merge_request_id": 105, "state": "collected", "real_size": "1" }, { "id": 108, "head_commit_sha": "3eed087b29835c48015768f839d76e5ea8f07a24", "base_commit_sha": "eeb57dffe83deb686a60a71c16c32f71046868fd", "start_commit_sha": "eeb57dffe83deb686a60a71c16c32f71046868fd", "created_at": "2016-07-25T14:21:33.028Z", "merge_request_id": 105, "state": "collected", "real_size": "1" }] -``` - -## Get a single MR diff version[](#get-a-single-mr-diff-version "Permalink") - -获取单个合并请求的差异版本. - -``` -GET /projects/:id/merge_requests/:merge_request_iid/versions/:version_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | String | yes | 项目 ID | -| `merge_request_iid` | integer | yes | 合并请求的内部 ID | -| `version_id` | integer | yes | 合并请求差异版本的 ID | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/merge_requests/1/versions/1" -``` - -响应示例: - -``` -{ "id": 110, "head_commit_sha": "33e2ee8579fda5bc36accc9c6fbd0b4fefda9e30", "base_commit_sha": "eeb57dffe83deb686a60a71c16c32f71046868fd", "start_commit_sha": "eeb57dffe83deb686a60a71c16c32f71046868fd", "created_at": "2016-07-26T14:44:48.926Z", "merge_request_id": 105, "state": "collected", "real_size": "1", "commits": [{ "id": "33e2ee8579fda5bc36accc9c6fbd0b4fefda9e30", "short_id": "33e2ee85", "title": "Change year to 2018", "author_name": "Administrator", "author_email": "admin@example.com", "created_at": "2016-07-26T17:44:29.000+03:00", "message": "Change year to 2018" }, { "id": "aa24655de48b36335556ac8a3cd8bb521f977cbd", "short_id": "aa24655d", "title": "Update LICENSE", "author_name": "Administrator", "author_email": "admin@example.com", "created_at": "2016-07-25T17:21:53.000+03:00", "message": "Update LICENSE" }, { "id": "3eed087b29835c48015768f839d76e5ea8f07a24", "short_id": "3eed087b", "title": "Add license", "author_name": "Administrator", "author_email": "admin@example.com", "created_at": "2016-07-25T17:21:20.000+03:00", "message": "Add license" }], "diffs": [{ "old_path": "LICENSE", "new_path": "LICENSE", "a_mode": "0", "b_mode": "100644", "diff": "--- /dev/null\n+++ b/LICENSE\n@@ -0,0 +1,21 @@\n+The MIT License (MIT)\n+\n+Copyright (c) 2018 Administrator\n+\n+Permission is hereby granted, free of charge, to any person obtaining a copy\n+of this software and associated documentation files (the \"Software\"), to deal\n+in the Software without restriction, including without limitation the rights\n+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n+copies of the Software, and to permit persons to whom the Software is\n+furnished to do so, subject to the following conditions:\n+\n+The above copyright notice and this permission notice shall be included in all\n+copies or substantial portions of the Software.\n+\n+THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n+SOFTWARE.\n", "new_file": true, "renamed_file": false, "deleted_file": false }] } -``` - -## Set a time estimate for a merge request[](#set-a-time-estimate-for-a-merge-request "Permalink") - -Sets an estimated time of work for this merge request. - -``` -POST /projects/:id/merge_requests/:merge_request_iid/time_estimate -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `merge_request_iid` | integer | yes | 合并请求的内部 ID | -| `duration` | string | yes | 以人类格式表示的持续时间. 例如:3h30m | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/merge_requests/93/time_estimate?duration=3h30m" -``` - -响应示例: - -``` -{ "human_time_estimate": "3h 30m", "human_total_time_spent": null, "time_estimate": 12600, "total_time_spent": 0 } -``` - -## Reset the time estimate for a merge request[](#reset-the-time-estimate-for-a-merge-request "Permalink") - -将此合并请求的估计时间重置为 0 秒. - -``` -POST /projects/:id/merge_requests/:merge_request_iid/reset_time_estimate -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `merge_request_iid` | integer | yes | 项目的 merge_request 的内部 ID | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/merge_requests/93/reset_time_estimate" -``` - -响应示例: - -``` -{ "human_time_estimate": null, "human_total_time_spent": null, "time_estimate": 0, "total_time_spent": 0 } -``` - -## Add spent time for a merge request[](#add-spent-time-for-a-merge-request "Permalink") - -增加此合并请求的时间 - -``` -POST /projects/:id/merge_requests/:merge_request_iid/add_spent_time -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `merge_request_iid` | integer | yes | 合并请求的内部 ID | -| `duration` | string | yes | 以人类格式表示的持续时间. 例如:3h30m | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/merge_requests/93/add_spent_time?duration=1h" -``` - -响应示例: - -``` -{ "human_time_estimate": null, "human_total_time_spent": "1h", "time_estimate": 0, "total_time_spent": 3600 } -``` - -## Reset spent time for a merge request[](#reset-spent-time-for-a-merge-request "Permalink") - -将此合并请求的总花费时间重置为 0 秒. - -``` -POST /projects/:id/merge_requests/:merge_request_iid/reset_spent_time -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `merge_request_iid` | integer | yes | 项目的 merge_request 的内部 ID | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/merge_requests/93/reset_spent_time" -``` - -响应示例: - -``` -{ "human_time_estimate": null, "human_total_time_spent": null, "time_estimate": 0, "total_time_spent": 0 } -``` - -## Get time tracking stats[](#get-time-tracking-stats "Permalink") - -``` -GET /projects/:id/merge_requests/:merge_request_iid/time_stats -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `merge_request_iid` | integer | yes | 合并请求的内部 ID | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/merge_requests/93/time_stats" -``` - -响应示例: - -``` -{ "human_time_estimate": "2h", "human_total_time_spent": "1h", "time_estimate": 7200, "total_time_spent": 3600 } -``` - -## Approvals[](#approvals-starter "Permalink") - -有关批准,请参阅[合并请求批准](merge_request_approvals.html) \ No newline at end of file diff --git a/docs/338.md b/docs/338.md deleted file mode 100644 index a17013e..0000000 --- a/docs/338.md +++ /dev/null @@ -1,167 +0,0 @@ -# Project milestones API - -> 原文:[https://docs.gitlab.com/ee/api/milestones.html](https://docs.gitlab.com/ee/api/milestones.html) - -* [List project milestones](#list-project-milestones) -* [Get single milestone](#get-single-milestone) -* [Create new milestone](#create-new-milestone) -* [Edit milestone](#edit-milestone) -* [Delete project milestone](#delete-project-milestone) -* [Get all issues assigned to a single milestone](#get-all-issues-assigned-to-a-single-milestone) -* [Get all merge requests assigned to a single milestone](#get-all-merge-requests-assigned-to-a-single-milestone) -* [Promote project milestone to a group milestone](#promote-project-milestone-to-a-group-milestone) -* [Get all burndown chart events for a single milestone](#get-all-burndown-chart-events-for-a-single-milestone-starter) - -# Project milestones API[](#project-milestones-api "Permalink") - -This page describes the project milestones API. There’s a separate [group milestones API](./group_milestones.html) page. - -## List project milestones[](#list-project-milestones "Permalink") - -返回项目里程碑的列表. - -``` -GET /projects/:id/milestones -GET /projects/:id/milestones?iids[]=42 -GET /projects/:id/milestones?iids[]=42&iids[]=43 -GET /projects/:id/milestones?state=active -GET /projects/:id/milestones?state=closed -GET /projects/:id/milestones?title=1.0 -GET /projects/:id/milestones?search=version -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `iids[]` | 整数数组 | optional | 仅返回具有给定`iid`的里程碑 | -| `state` | string | optional | 仅返回`active`或`closed`里程碑 | -| `title` | string | optional | 仅返回具有给定`title`的里程碑 | -| `search` | string | optional | 仅返回标题或描述与提供的字符串匹配的里程碑 | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/milestones" -``` - -示例响应: - -``` -[ { "id": 12, "iid": 3, "project_id": 16, "title": "10.0", "description": "Version", "due_date": "2013-11-29", "start_date": "2013-11-10", "state": "active", "updated_at": "2013-10-02T09:24:18Z", "created_at": "2013-10-02T09:24:18Z" } ] -``` - -## Get single milestone[](#get-single-milestone "Permalink") - -获得单个项目里程碑. - -``` -GET /projects/:id/milestones/:milestone_id -``` - -Parameters: - -* `id` (必填)-经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) -* `milestone_id` (必填)-项目里程碑的 ID - -## Create new milestone[](#create-new-milestone "Permalink") - -创建一个新的项目里程碑. - -``` -POST /projects/:id/milestones -``` - -Parameters: - -* `id` (必填)-经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) -* `title` (必填)-里程碑的标题 -* `description` (可选)-里程碑的说明 -* `due_date` (可选)-里程碑的截止日期 -* `start_date` (可选)-里程碑的开始日期 - -## Edit milestone[](#edit-milestone "Permalink") - -更新现有项目的里程碑. - -``` -PUT /projects/:id/milestones/:milestone_id -``` - -Parameters: - -* `id` (必填)-经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) -* `milestone_id` (必填)-项目里程碑的 ID -* `title` (可选)-里程碑的标题 -* `description` (可选)-里程碑的说明 -* `due_date` (可选)-里程碑的截止日期 -* `start_date` (可选)-里程碑的开始日期 -* `state_event` (可选)-里程碑的状态事件(关闭或激活) - -## Delete project milestone[](#delete-project-milestone "Permalink") - -仅适用于具有开发人员访问项目权限的用户. - -``` -DELETE /projects/:id/milestones/:milestone_id -``` - -Parameters: - -* `id` (必填)-经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) -* `milestone_id` (必填)-项目里程碑的 ID - -## Get all issues assigned to a single milestone[](#get-all-issues-assigned-to-a-single-milestone "Permalink") - -获取分配给单个项目里程碑的所有问题. - -``` -GET /projects/:id/milestones/:milestone_id/issues -``` - -Parameters: - -* `id` (必填)-经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) -* `milestone_id` (必填)-项目里程碑的 ID - -## Get all merge requests assigned to a single milestone[](#get-all-merge-requests-assigned-to-a-single-milestone "Permalink") - -获取分配给单个项目里程碑的所有合并请求. - -``` -GET /projects/:id/milestones/:milestone_id/merge_requests -``` - -Parameters: - -* `id` (必填)-经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) -* `milestone_id` (必填)-项目里程碑的 ID - -## Promote project milestone to a group milestone[](#promote-project-milestone-to-a-group-milestone "Permalink") - -在 GitLab 11.9 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/53861) - -仅针对具有开发者访问权限的用户. - -``` -POST /projects/:id/milestones/:milestone_id/promote -``` - -Parameters: - -* `id` (必填)-经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) -* `milestone_id` (必填)-项目里程碑的 ID - -## Get all burndown chart events for a single milestone[](#get-all-burndown-chart-events-for-a-single-milestone-starter "Permalink") - -在 GitLab 12.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/4737) - -获取单个里程碑的所有燃尽图事件. - -``` -GET /projects/:id/milestones/:milestone_id/burndown_events -``` - -Parameters: - -* `id` (必填)-经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) -* `milestone_id` (必填)-项目里程碑的 ID \ No newline at end of file diff --git a/docs/339.md b/docs/339.md deleted file mode 100644 index 721d2e5..0000000 --- a/docs/339.md +++ /dev/null @@ -1,167 +0,0 @@ -# Group milestones API - -> 原文:[https://docs.gitlab.com/ee/api/group_milestones.html](https://docs.gitlab.com/ee/api/group_milestones.html) - -* [List group milestones](#list-group-milestones) -* [Get single milestone](#get-single-milestone) -* [Create new milestone](#create-new-milestone) -* [Edit milestone](#edit-milestone) -* [Delete group milestone](#delete-group-milestone) -* [Get all issues assigned to a single milestone](#get-all-issues-assigned-to-a-single-milestone) -* [Get all merge requests assigned to a single milestone](#get-all-merge-requests-assigned-to-a-single-milestone) -* [Get all burndown chart events for a single milestone](#get-all-burndown-chart-events-for-a-single-milestone-starter) - -# Group milestones API[](#group-milestones-api "Permalink") - -在 GitLab 9.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/12819) . - -此页面描述了组里程碑 API. 有一个单独的[项目里程碑 API](./group_milestones.html)页面. - -## List group milestones[](#list-group-milestones "Permalink") - -返回组里程碑列表. - -``` -GET /groups/:id/milestones -GET /groups/:id/milestones?iids[]=42 -GET /groups/:id/milestones?iids[]=42&iids[]=43 -GET /groups/:id/milestones?state=active -GET /groups/:id/milestones?state=closed -GET /groups/:id/milestones?title=1.0 -GET /groups/:id/milestones?search=version -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `iids[]` | 整数数组 | no | 仅返回具有给定`iid`的里程碑 | -| `state` | string | no | 仅返回`active`或`closed`里程碑 | -| `title` | string | no | 仅返回具有给定`title`的里程碑 | -| `search` | string | no | 仅返回标题或描述与提供的字符串匹配的里程碑 | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/5/milestones" -``` - -示例响应: - -``` -[ { "id": 12, "iid": 3, "group_id": 16, "title": "10.0", "description": "Version", "due_date": "2013-11-29", "start_date": "2013-11-10", "state": "active", "updated_at": "2013-10-02T09:24:18Z", "created_at": "2013-10-02T09:24:18Z", "web_url": "https://gitlab.com/groups/gitlab-org/-/milestones/42" } ] -``` - -## Get single milestone[](#get-single-milestone "Permalink") - -获取单个组里程碑. - -``` -GET /groups/:id/milestones/:milestone_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `milestone_id` | integer | yes | 组里程碑的 ID | - -## Create new milestone[](#create-new-milestone "Permalink") - -创建一个新的组里程碑. - -``` -POST /groups/:id/milestones -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `title` | string | yes | 里程碑的标题 | -| `description` | string | no | 里程碑的描述 | -| `due_date` | date | no | 里程碑的到期日期,格式为 YYYY-MM-DD(ISO 8601) | -| `start_date` | date | no | 里程碑的开始日期,格式为 YYYY-MM-DD(ISO 8601) | - -## Edit milestone[](#edit-milestone "Permalink") - -更新现有的组里程碑. - -``` -PUT /groups/:id/milestones/:milestone_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `milestone_id` | integer | yes | 组里程碑的 ID | -| `title` | string | no | 里程碑的标题 | -| `description` | string | no | 里程碑的描述 | -| `due_date` | date | no | 里程碑的到期日期,格式为 YYYY-MM-DD(ISO 8601) | -| `start_date` | date | no | 里程碑的开始日期,格式为 YYYY-MM-DD(ISO 8601) | -| `state_event` | string | no | 里程碑的状态事件*( `close`或`activate` )* | - -## Delete group milestone[](#delete-group-milestone "Permalink") - -仅针对具有开发者访问权限的用户. - -``` -DELETE /groups/:id/milestones/:milestone_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `milestone_id` | integer | yes | 小组里程碑的 ID | - -## Get all issues assigned to a single milestone[](#get-all-issues-assigned-to-a-single-milestone "Permalink") - -获取分配给单个组里程碑的所有问题. - -``` -GET /groups/:id/milestones/:milestone_id/issues -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `milestone_id` | integer | yes | 组里程碑的 ID | - -## Get all merge requests assigned to a single milestone[](#get-all-merge-requests-assigned-to-a-single-milestone "Permalink") - -获取分配给单个组里程碑的所有合并请求. - -``` -GET /groups/:id/milestones/:milestone_id/merge_requests -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `milestone_id` | integer | yes | 组里程碑的 ID | - -## Get all burndown chart events for a single milestone[](#get-all-burndown-chart-events-for-a-single-milestone-starter "Permalink") - -在 GitLab 12.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/4737) - -获取单个里程碑的所有燃尽图事件. - -``` -GET /groups/:id/milestones/:milestone_id/burndown_events -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `milestone_id` | integer | yes | 组里程碑的 ID | \ No newline at end of file diff --git a/docs/340.md b/docs/340.md deleted file mode 100644 index 2170615..0000000 --- a/docs/340.md +++ /dev/null @@ -1,103 +0,0 @@ -# Namespaces API - -> 原文:[https://docs.gitlab.com/ee/api/namespaces.html](https://docs.gitlab.com/ee/api/namespaces.html) - -* [List namespaces](#list-namespaces) -* [Search for namespace](#search-for-namespace) -* [Get namespace by ID](#get-namespace-by-id) - -# Namespaces API[](#namespaces-api "Permalink") - -用户名和组名属于称为命名空间的特殊类别. - -对于用户和组支持的 API 调用,请分别参阅[用户](users.html)和[组](groups.html)文档. - -[使用分页](README.html#pagination) . - -## List namespaces[](#list-namespaces "Permalink") - -获取已认证用户的名称空间列表. 如果用户是管理员,则会显示 GitLab 实例中所有名称空间的列表. - -``` -GET /namespaces -``` - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/namespaces" -``` - -响应示例: - -``` -[ { "id": 1, "name": "user1", "path": "user1", "kind": "user", "full_path": "user1" }, { "id": 2, "name": "group1", "path": "group1", "kind": "group", "full_path": "group1", "parent_id": null, "members_count_with_descendants": 2 }, { "id": 3, "name": "bar", "path": "bar", "kind": "group", "full_path": "foo/bar", "parent_id": 9, "members_count_with_descendants": 5 } ] -``` - -GitLab.com [Bronze 或更高版本](https://about.gitlab.com/pricing/#gitlab-com)上的用户可能还会看到与名称空间关联的`plan`参数: - -``` -[ { "id": 1, "name": "user1", "plan": "bronze", ... } ] -``` - -**注意:**仅向组维护者/所有者提供了`members_count_with_descendants`和`plan` . - -## Search for namespace[](#search-for-namespace "Permalink") - -获取与名称或路径中的字符串匹配的所有名称空间. - -``` -GET /namespaces?search=foobar -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `search` | string | no | 返回基于搜索条件授权用户查看的名称空间列表 | - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/namespaces?search=twitter" -``` - -响应示例: - -``` -[ { "id": 4, "name": "twitter", "path": "twitter", "kind": "group", "full_path": "twitter", "parent_id": null, "members_count_with_descendants": 2 } ] -``` - -## Get namespace by ID[](#get-namespace-by-id "Permalink") - -通过 ID 获取名称空间. - -``` -GET /namespaces/:id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | [名称空间的](README.html#namespaced-path-encoding) ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/namespaces/2" -``` - -响应示例: - -``` -{ "id": 2, "name": "group1", "path": "group1", "kind": "group", "full_path": "group1", "parent_id": null, "members_count_with_descendants": 2 } -``` - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/namespaces/group1" -``` - -响应示例: - -``` -{ "id": 2, "name": "group1", "path": "group1", "kind": "group", "full_path": "group1", "parent_id": null, "members_count_with_descendants": 2 } -``` \ No newline at end of file diff --git a/docs/341.md b/docs/341.md deleted file mode 100644 index 9395abc..0000000 --- a/docs/341.md +++ /dev/null @@ -1,456 +0,0 @@ -# Notes API - -> 原文:[https://docs.gitlab.com/ee/api/notes.html](https://docs.gitlab.com/ee/api/notes.html) - -* [Notes pagination](#notes-pagination) -* [Issues](#issues) - * [List project issue notes](#list-project-issue-notes) - * [Get single issue note](#get-single-issue-note) - * [Create new issue note](#create-new-issue-note) - * [Modify existing issue note](#modify-existing-issue-note) - * [Delete an issue note](#delete-an-issue-note) -* [Snippets](#snippets) - * [List all snippet notes](#list-all-snippet-notes) - * [Get single snippet note](#get-single-snippet-note) - * [Create new snippet note](#create-new-snippet-note) - * [Modify existing snippet note](#modify-existing-snippet-note) - * [Delete a snippet note](#delete-a-snippet-note) -* [Merge Requests](#merge-requests) - * [List all merge request notes](#list-all-merge-request-notes) - * [Get single merge request note](#get-single-merge-request-note) - * [Create new merge request note](#create-new-merge-request-note) - * [Modify existing merge request note](#modify-existing-merge-request-note) - * [Delete a merge request note](#delete-a-merge-request-note) -* [Epics](#epics-ultimate) - * [List all epic notes](#list-all-epic-notes) - * [Get single epic note](#get-single-epic-note) - * [Create new epic note](#create-new-epic-note) - * [Modify existing epic note](#modify-existing-epic-note) - * [Delete an epic note](#delete-an-epic-note) - -# Notes API[](#notes-api "Permalink") - -注释是对以下内容的评论: - -* Snippets -* Issues -* 合并要求 -* Epics - -这包括系统注释,这些注释是有关对象更改的注释(例如,当里程碑更改时,将有相应的系统注释). 标签注释不是此 API 的一部分,而是在[资源标签事件中](resource_label_events.html)记录为单独的[事件](resource_label_events.html) . - -## Notes pagination[](#notes-pagination "Permalink") - -默认情况下,因为 API 结果是分页的,所以`GET`请求一次返回 20 个结果. - -阅读有关[分页的](README.html#pagination)更多信息. - -## Issues[](#issues "Permalink") - -### List project issue notes[](#list-project-issue-notes "Permalink") - -获取单个问题的所有注释的列表. - -``` -GET /projects/:id/issues/:issue_iid/notes -GET /projects/:id/issues/:issue_iid/notes?sort=asc&order_by=updated_at -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `issue_iid` | integer | yes | 问题的 IID | -| `sort` | string | no | 返回按`asc`或`desc`排列的发行说明. 默认为`desc` | -| `order_by` | string | no | 返回按`created_at`或`updated_at`字段排序的发行说明. 默认为`created_at` | - -``` -[ { "id": 302, "body": "closed", "attachment": null, "author": { "id": 1, "username": "pipin", "email": "admin@example.com", "name": "Pip", "state": "active", "created_at": "2013-09-30T13:46:01Z" }, "created_at": "2013-10-02T09:22:45Z", "updated_at": "2013-10-02T10:22:45Z", "system": true, "noteable_id": 377, "noteable_type": "Issue", "noteable_iid": 377, "resolvable": false, "confidential": false }, { "id": 305, "body": "Text of the comment\r\n", "attachment": null, "author": { "id": 1, "username": "pipin", "email": "admin@example.com", "name": "Pip", "state": "active", "created_at": "2013-09-30T13:46:01Z" }, "created_at": "2013-10-02T09:56:03Z", "updated_at": "2013-10-02T09:56:03Z", "system": true, "noteable_id": 121, "noteable_type": "Issue", "noteable_iid": 121, "resolvable": false, "confidential": true } ] -``` - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/issues/11/notes" -``` - -### Get single issue note[](#get-single-issue-note "Permalink") - -返回有关特定项目问题的单个注释 - -``` -GET /projects/:id/issues/:issue_iid/notes/:note_id -``` - -Parameters: - -* `id` (必填)-项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) -* `issue_iid` (必填)-项目问题的 IID -* `note_id` (必填)-问题注释的 ID - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/issues/11/notes/1" -``` - -### Create new issue note[](#create-new-issue-note "Permalink") - -为单个项目问题创建新的注释. - -``` -POST /projects/:id/issues/:issue_iid/notes -``` - -Parameters: - -* `id` (必填)-项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) -* `issue_iid` (必填)-问题的 IID -* `body` (必填)-注释的内容. 限制为 1,000,000 个字符. -* `confidential` (可选)-便笺的机密标志. 默认为 false. -* `created_at` (可选)-日期时间字符串,ISO 8601 格式,例如 2016-03-11T03:45:40Z(需要管理员或项目/组所有者权限) - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/issues/11/notes?body=note" -``` - -### Modify existing issue note[](#modify-existing-issue-note "Permalink") - -修改问题的现有注释. - -``` -PUT /projects/:id/issues/:issue_iid/notes/:note_id -``` - -Parameters: - -* `id` (必填)-项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) -* `issue_iid` (必填)-问题的 IID -* `note_id` (必填)-注释的 ID -* `body` (必填)-注释的内容. 限制为 1,000,000 个字符. - -``` -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/issues/11/notes?body=note" -``` - -### Delete an issue note[](#delete-an-issue-note "Permalink") - -删除问题的现有注释. - -``` -DELETE /projects/:id/issues/:issue_iid/notes/:note_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `issue_iid` | integer | yes | 问题的 IID | -| `note_id` | integer | yes | 笔记的 ID | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/issues/11/notes/636" -``` - -## Snippets[](#snippets "Permalink") - -### List all snippet notes[](#list-all-snippet-notes "Permalink") - -获取单个代码段的所有注释的列表. 片段注释是用户可以发布到片段的注释. - -``` -GET /projects/:id/snippets/:snippet_id/notes -GET /projects/:id/snippets/:snippet_id/notes?sort=asc&order_by=updated_at -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `snippet_id` | integer | yes | 项目代码段的 ID | -| `sort` | string | no | 返回按`asc`或`desc`顺序排序的`asc`注释. 默认为`desc` | -| `order_by` | string | no | 返回按`created_at`或`updated_at`字段排序的`created_at`注释. 默认为`created_at` | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/snippets/11/notes" -``` - -### Get single snippet note[](#get-single-snippet-note "Permalink") - -返回给定片段的单个音符. - -``` -GET /projects/:id/snippets/:snippet_id/notes/:note_id -``` - -Parameters: - -* `id` (必填)-项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) -* `snippet_id` (必填)-项目代码段的 ID -* `note_id` (必填)- `note_id`的 ID - -``` -{ "id": 52, "title": "Snippet", "file_name": "snippet.rb", "author": { "id": 1, "username": "pipin", "email": "admin@example.com", "name": "Pip", "state": "active", "created_at": "2013-09-30T13:46:01Z" }, "expires_at": null, "updated_at": "2013-10-02T07:34:20Z", "created_at": "2013-10-02T07:34:20Z" } -``` - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/snippets/11/notes/11" -``` - -### Create new snippet note[](#create-new-snippet-note "Permalink") - -为单个代码段创建新的音符. 片段注释是用户可以发布到片段的注释. 如果您在主体仅包含奖励表情符号的位置创建注释,则会收到该对象的回信. - -``` -POST /projects/:id/snippets/:snippet_id/notes -``` - -Parameters: - -* `id` (必填)-项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) -* `snippet_id` (必填)-代码段的 ID -* `body` (必填)-注释的内容. 限制为 1,000,000 个字符. -* `created_at` (可选)-日期时间字符串,ISO 8601 格式,例如 2016-03-11T03:45:40Z - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/snippet/11/notes?body=note" -``` - -### Modify existing snippet note[](#modify-existing-snippet-note "Permalink") - -修改代码段的现有注释. - -``` -PUT /projects/:id/snippets/:snippet_id/notes/:note_id -``` - -Parameters: - -* `id` (required) - The ID or [URL-encoded path of the project](README.html#namespaced-path-encoding) -* `snippet_id` (必填)-代码段的 ID -* `note_id` (必填)-注释的 ID -* `body` (必填)-注释的内容. 限制为 1,000,000 个字符. - -``` -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/snippets/11/notes?body=note" -``` - -### Delete a snippet note[](#delete-a-snippet-note "Permalink") - -删除片段的现有注释. - -``` -DELETE /projects/:id/snippets/:snippet_id/notes/:note_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `snippet_id` | integer | yes | 片段的 ID | -| `note_id` | integer | yes | 笔记的 ID | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/snippets/52/notes/1659" -``` - -## Merge Requests[](#merge-requests "Permalink") - -### List all merge request notes[](#list-all-merge-request-notes "Permalink") - -获取单个合并请求的所有注释的列表. - -``` -GET /projects/:id/merge_requests/:merge_request_iid/notes -GET /projects/:id/merge_requests/:merge_request_iid/notes?sort=asc&order_by=updated_at -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `merge_request_iid` | integer | yes | 项目合并请求的 IID | -| `sort` | string | no | 返回以`asc`或`desc`顺序排序的合并请求注释. 默认为`desc` | -| `order_by` | string | no | 返回由`created_at`或`updated_at`字段排序的合并请求注释. 默认为`created_at` | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/merge_requests/11/notes" -``` - -### Get single merge request note[](#get-single-merge-request-note "Permalink") - -返回给定合并请求的单个注释. - -``` -GET /projects/:id/merge_requests/:merge_request_iid/notes/:note_id -``` - -Parameters: - -* `id` (必填)-项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) -* `merge_request_iid` (必填)-项目合并请求的 IID -* `note_id` (必需)-合并请求注释的 ID - -``` -{ "id": 301, "body": "Comment for MR", "attachment": null, "author": { "id": 1, "username": "pipin", "email": "admin@example.com", "name": "Pip", "state": "active", "created_at": "2013-09-30T13:46:01Z" }, "created_at": "2013-10-02T08:57:14Z", "updated_at": "2013-10-02T08:57:14Z", "system": false, "noteable_id": 2, "noteable_type": "MergeRequest", "noteable_iid": 2, "resolvable": false, "confidential": false } -``` - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/merge_requests/11/notes/1" -``` - -### Create new merge request note[](#create-new-merge-request-note "Permalink") - -为单个合并请求创建一个新注释. 如果您在主体仅包含奖励表情符号的位置创建注释,则会收到该对象的回信. - -``` -POST /projects/:id/merge_requests/:merge_request_iid/notes -``` - -Parameters: - -* `id` (必填)-项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) -* `merge_request_iid` (必填)-合并请求的 IID -* `body` (必填)-注释的内容. 限制为 1,000,000 个字符. -* `created_at` (可选)-日期时间字符串,ISO 8601 格式,例如 2016-03-11T03:45:40Z - -### Modify existing merge request note[](#modify-existing-merge-request-note "Permalink") - -修改合并请求的现有注释. - -``` -PUT /projects/:id/merge_requests/:merge_request_iid/notes/:note_id -``` - -Parameters: - -* `id` (必填)-项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) -* `merge_request_iid` (必填)-合并请求的 IID -* `note_id` (必填)-注释的 ID -* `body` (必填)-注释的内容. 限制为 1,000,000 个字符. - -``` -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/merge_requests/11/notes?body=note" -``` - -### Delete a merge request note[](#delete-a-merge-request-note "Permalink") - -删除合并请求的现有注释. - -``` -DELETE /projects/:id/merge_requests/:merge_request_iid/notes/:note_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `merge_request_iid` | integer | yes | 合并请求的 IID | -| `note_id` | integer | yes | 笔记的 ID | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/merge_requests/7/notes/1602" -``` - -## Epics[](#epics-ultimate "Permalink") - -### List all epic notes[](#list-all-epic-notes "Permalink") - -获取单个史诗的所有注释的列表. 史诗笔记是用户可以发布到史诗中的评论. - -``` -GET /groups/:id/epics/:epic_id/notes -GET /groups/:id/epics/:epic_id/notes?sort=asc&order_by=updated_at -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `epic_id` | integer | yes | 小组史诗的 ID | -| `sort` | string | no | 返回按`asc`或`desc`排列的史诗笔记. 默认为`desc` | -| `order_by` | string | no | 返回按`created_at`或`updated_at`字段排序的史诗笔记. 默认为`created_at` | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/5/epics/11/notes" -``` - -### Get single epic note[](#get-single-epic-note "Permalink") - -返回给定史诗的单个音符. - -``` -GET /groups/:id/epics/:epic_id/notes/:note_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `epic_id` | integer | yes | 史诗的 ID | -| `note_id` | integer | yes | 笔记的 ID | - -``` -{ "id": 52, "title": "Epic", "file_name": "epic.rb", "author": { "id": 1, "username": "pipin", "email": "admin@example.com", "name": "Pip", "state": "active", "created_at": "2013-09-30T13:46:01Z" }, "expires_at": null, "updated_at": "2013-10-02T07:34:20Z", "created_at": "2013-10-02T07:34:20Z", "confidential": false } -``` - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/5/epics/11/notes/1" -``` - -### Create new epic note[](#create-new-epic-note "Permalink") - -为单个史诗创建新的音符. 史诗笔记是用户可以发布到史诗中的评论. 如果您在主体仅包含奖励表情符号的位置创建注释,则会收到该对象的回信. - -``` -POST /groups/:id/epics/:epic_id/notes -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `epic_id` | integer | yes | 史诗的 ID | -| `body` | string | yes | 注释的内容. 限制为 1,000,000 个字符. | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/snippet/11/notes?body=note" -``` - -### Modify existing epic note[](#modify-existing-epic-note "Permalink") - -修改史诗的现有注释. - -``` -PUT /groups/:id/epics/:epic_id/notes/:note_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `epic_id` | integer | yes | 史诗的 ID | -| `note_id` | integer | yes | 笔记的 ID | -| `body` | string | yes | 注释的内容. 限制为 1,000,000 个字符. | - -``` -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/snippet/11/notes?body=note" -``` - -### Delete an epic note[](#delete-an-epic-note "Permalink") - -删除史诗的现有音符. - -``` -DELETE /groups/:id/epics/:epic_id/notes/:note_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `epic_id` | integer | yes | 史诗的 ID | -| `note_id` | integer | yes | 笔记的 ID | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/5/epics/52/notes/1659" -``` \ No newline at end of file diff --git a/docs/342.md b/docs/342.md deleted file mode 100644 index de74ec9..0000000 --- a/docs/342.md +++ /dev/null @@ -1,173 +0,0 @@ -# Notification settings API - -> 原文:[https://docs.gitlab.com/ee/api/notification_settings.html](https://docs.gitlab.com/ee/api/notification_settings.html) - -* [Valid notification levels](#valid-notification-levels) -* [Global notification settings](#global-notification-settings) -* [Update global notification settings](#update-global-notification-settings) -* [Group / project level notification settings](#group--project-level-notification-settings) -* [Update group/project level notification settings](#update-groupproject-level-notification-settings) - -# Notification settings API[](#notification-settings-api "Permalink") - -在 GitLab 8.12 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/5632) . - -## Valid notification levels[](#valid-notification-levels "Permalink") - -通知级别在`NotificationSetting.level`模型枚举中定义. 当前,这些级别被认可: - -``` -disabled -participating -watch -global -mention -custom -``` - -如果使用`custom`级别,则可以控制特定的电子邮件事件. 可用事件由`NotificationSetting.email_events`返回. 当前,这些事件被认可: - -* `new_note` -* `new_issue` -* `reopen_issue` -* `close_issue` -* `reassign_issue` -* `issue_due` -* `new_merge_request` -* `push_to_merge_request` -* `reopen_merge_request` -* `close_merge_request` -* `reassign_merge_request` -* `merge_merge_request` -* `failed_pipeline` -* `fixed_pipeline` -* `success_pipeline` -* `new_epic` - -## Global notification settings[](#global-notification-settings "Permalink") - -获取当前的通知设置和电子邮件地址. - -``` -GET /notification_settings -``` - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/notification_settings" -``` - -响应示例: - -``` -{ "level": "participating", "notification_email": "admin@example.com" } -``` - -## Update global notification settings[](#update-global-notification-settings "Permalink") - -更新当前的通知设置和电子邮件地址. - -``` -PUT /notification_settings -``` - -``` -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/notification_settings?level=watch" -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `level` | string | no | 全局通知级别 | -| `notification_email` | string | no | 发送通知的电子邮件地址 | -| `new_note` | boolean | no | 启用/禁用此通知 | -| `new_issue` | boolean | no | 启用/禁用此通知 | -| `reopen_issue` | boolean | no | 启用/禁用此通知 | -| `close_issue` | boolean | no | 启用/禁用此通知 | -| `reassign_issue` | boolean | no | 启用/禁用此通知 | -| `issue_due` | boolean | no | 启用/禁用此通知 | -| `new_merge_request` | boolean | no | 启用/禁用此通知 | -| `push_to_merge_request` | boolean | no | 启用/禁用此通知 | -| `reopen_merge_request` | boolean | no | 启用/禁用此通知 | -| `close_merge_request` | boolean | no | 启用/禁用此通知 | -| `reassign_merge_request` | boolean | no | 启用/禁用此通知 | -| `merge_merge_request` | boolean | no | 启用/禁用此通知 | -| `failed_pipeline` | boolean | no | 启用/禁用此通知 | -| `fixed_pipeline` | boolean | no | 启用/禁用此通知 | -| `success_pipeline` | boolean | no | 启用/禁用此通知 | -| `new_epic` | boolean | no | 启用/禁用此通知(在 11.3 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6626) ) | - -响应示例: - -``` -{ "level": "watch", "notification_email": "admin@example.com" } -``` - -## Group / project level notification settings[](#group--project-level-notification-settings "Permalink") - -获取当前的组或项目通知设置. - -``` -GET /groups/:id/notification_settings -GET /projects/:id/notification_settings -``` - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/5/notification_settings" -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/8/notification_settings" -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 组/项目 ID 或路径 | - -响应示例: - -``` -{ "level": "global" } -``` - -## Update group/project level notification settings[](#update-groupproject-level-notification-settings "Permalink") - -更新当前的组/项目通知设置. - -``` -PUT /groups/:id/notification_settings -PUT /projects/:id/notification_settings -``` - -``` -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/5/notification_settings?level=watch" -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/8/notification_settings?level=custom&new_note=true" -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 组/项目 ID 或路径 | -| `level` | string | no | 全局通知级别 | -| `new_note` | boolean | no | 启用/禁用此通知 | -| `new_issue` | boolean | no | 启用/禁用此通知 | -| `reopen_issue` | boolean | no | 启用/禁用此通知 | -| `close_issue` | boolean | no | 启用/禁用此通知 | -| `reassign_issue` | boolean | no | 启用/禁用此通知 | -| `issue_due` | boolean | no | 启用/禁用此通知 | -| `new_merge_request` | boolean | no | 启用/禁用此通知 | -| `push_to_merge_request` | boolean | no | 启用/禁用此通知 | -| `reopen_merge_request` | boolean | no | 启用/禁用此通知 | -| `close_merge_request` | boolean | no | 启用/禁用此通知 | -| `reassign_merge_request` | boolean | no | 启用/禁用此通知 | -| `merge_merge_request` | boolean | no | 启用/禁用此通知 | -| `failed_pipeline` | boolean | no | 启用/禁用此通知 | -| `fixed_pipeline` | boolean | no | 启用/禁用此通知 | -| `success_pipeline` | boolean | no | 启用/禁用此通知 | -| `new_epic` | boolean | no | 启用/禁用此通知(在 11.3 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6626) ) | - -响应示例: - -``` -{ "level": "watch" } { "level": "custom", "events": { "new_note": true, "new_issue": false, "reopen_issue": false, "close_issue": false, "reassign_issue": false, "issue_due": false, "new_merge_request": false, "push_to_merge_request": false, "reopen_merge_request": false, "close_merge_request": false, "reassign_merge_request": false, "merge_merge_request": false, "failed_pipeline": false, "fixed_pipeline": false, "success_pipeline": false } } -``` - -使用 GitLab [Ultimate 或 Gold 的](https://about.gitlab.com/pricing/)用户还将看到`new_epic`参数: - -``` -{ "level": "custom", "events": { "new_note": true, "new_issue": false, "new_epic": false, ... } } -``` \ No newline at end of file diff --git a/docs/343.md b/docs/343.md deleted file mode 100644 index 85f49c8..0000000 --- a/docs/343.md +++ /dev/null @@ -1,167 +0,0 @@ -# Packages API - -> 原文:[https://docs.gitlab.com/ee/api/packages.html](https://docs.gitlab.com/ee/api/packages.html) - -* [List packages](#list-packages) - * [Within a project](#within-a-project) - * [Within a group](#within-a-group) -* [Get a project package](#get-a-project-package) -* [List package files](#list-package-files) -* [Delete a project package](#delete-a-project-package) - -# Packages API[](#packages-api-premium "Permalink") - -这是[GitLab 软件包](../administration/packages/index.html)的 API 文档. - -## List packages[](#list-packages "Permalink") - -### Within a project[](#within-a-project "Permalink") - -在 GitLab 11.8 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/9259) . - -获取项目包列表. 结果中包括所有包装类型. 在未经身份验证的情况下访问时,仅返回公共项目的软件包. - -``` -GET /projects/:id/packages -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `order_by` | string | no | 用作订单的字段. `created_at` (默认), `name` , `version`或`type` . | -| `sort` | string | no | 顺序的方向, `asc` (默认)或`desc` (降序). | -| `package_type` | string | no | 按类型过滤返回的软件包. `conan` , `maven` , `npm` , `pypi` , `composer`或`nuget` . ( *在 GitLab 12.9 中引入* ) | -| `package_name` | string | no | 按名称用模糊搜索过滤项目包. ( *在 GitLab 12.9 中引入* ) | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/:id/packages" -``` - -响应示例: - -``` -[ { "id": 1, "name": "com/mycompany/my-app", "version": "1.0-SNAPSHOT", "package_type": "maven", "created_at": "2019-11-27T03:37:38.711Z" }, { "id": 2, "name": "@foo/bar", "version": "1.0.3", "package_type": "npm", "created_at": "2019-11-27T03:37:38.711Z" } ] -``` - -默认情况下,由于 API 是[分页的](README.html#pagination) ,因此`GET`请求将返回 20 个结果. - -### Within a group[](#within-a-group "Permalink") - -在 GitLab 12.5 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/18871) . - -获取组级别的项目包列表. 在未经身份验证的情况下访问时,仅返回公共项目的软件包. - -``` -GET /groups/:id/packages -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | [群组的](README.html#namespaced-path-encoding) ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `exclude_subgroups` | boolean | false | 如果参数包含为 true,则不列出子组中项目的软件包. 默认值为`false` . | -| `order_by` | string | no | 用作订单的字段. `created_at` (默认), `name` , `version` , `type`或`project_path` . | -| `sort` | string | no | 顺序的方向, `asc` (默认)或`desc` (降序). | -| `package_type` | string | no | 按类型过滤返回的软件包. `conan` , `maven` , `npm` , `pypi` , `composer`或`nuget` . ( *在 GitLab 12.9 中引入* ) | -| `package_name` | string | no | 按名称用模糊搜索过滤项目包. ( *在 GitLab 13.0 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/30980)* ) | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/:id/packages?exclude_subgroups=true" -``` - -**弃用:>**的`build_info`在响应属性赞成不赞成`pipeline` . >引入了[GitLab 12.10](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28040) . - -响应示例: - -``` -[ { "id": 1, "name": "com/mycompany/my-app", "version": "1.0-SNAPSHOT", "package_type": "maven", "_links": { "web_path": "/namespace1/project1/-/packages/1", "delete_api_path": "/namespace1/project1/-/packages/1" }, "created_at": "2019-11-27T03:37:38.711Z", "pipeline": { "id": 123, "status": "pending", "ref": "new-pipeline", "sha": "a91957a858320c0e17f3a0eca7cfacbff50ea29a", "web_url": "https://example.com/foo/bar/pipelines/47", "created_at": "2016-08-11T11:28:34.085Z", "updated_at": "2016-08-11T11:32:35.169Z", "user": { "name": "Administrator", "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon" } } }, { "id": 2, "name": "@foo/bar", "version": "1.0.3", "package_type": "npm", "_links": { "web_path": "/namespace1/project1/-/packages/1", "delete_api_path": "/namespace1/project1/-/packages/1" }, "created_at": "2019-11-27T03:37:38.711Z", "pipeline": { "id": 123, "status": "pending", "ref": "new-pipeline", "sha": "a91957a858320c0e17f3a0eca7cfacbff50ea29a", "web_url": "https://example.com/foo/bar/pipelines/47", "created_at": "2016-08-11T11:28:34.085Z", "updated_at": "2016-08-11T11:32:35.169Z", "user": { "name": "Administrator", "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon" } } } ] -``` - -默认情况下,由于 API 是[分页的](README.html#pagination) ,因此`GET`请求将返回 20 个结果. - -`_links`对象包含以下属性: - -* `web_path` :您可以在 GitLab 中访问并查看软件包详细信息的路径. -* `delete_api_path` :删除程序包的 API 路径. 仅在请求用户有权执行此操作时可用. - -## Get a project package[](#get-a-project-package "Permalink") - -在 GitLab 11.9 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/9667) . - -获得一个项目包. - -``` -GET /projects/:id/packages/:package_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `package_id` | integer | yes | 包裹的 ID. | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/:id/packages/:package_id" -``` - -**弃用:>**的`build_info`在响应属性赞成不赞成`pipeline` . >引入了[GitLab 12.10](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28040) . - -Example response: - -``` -{ "id": 1, "name": "com/mycompany/my-app", "version": "1.0-SNAPSHOT", "package_type": "maven", "_links": { "web_path": "/namespace1/project1/-/packages/1", "delete_api_path": "/namespace1/project1/-/packages/1" }, "created_at": "2019-11-27T03:37:38.711Z", "pipeline": { "id": 123, "status": "pending", "ref": "new-pipeline", "sha": "a91957a858320c0e17f3a0eca7cfacbff50ea29a", "web_url": "https://example.com/foo/bar/pipelines/47", "created_at": "2016-08-11T11:28:34.085Z", "updated_at": "2016-08-11T11:32:35.169Z", "user": { "name": "Administrator", "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon" } }, "versions": [ { "id":2, "version":"2.0-SNAPSHOT", "created_at":"2020-04-28T04:42:11.573Z", "pipeline": { "id": 234, "status": "pending", "ref": "new-pipeline", "sha": "a91957a858320c0e17f3a0eca7cfacbff50ea29a", "web_url": "https://example.com/foo/bar/pipelines/58", "created_at": "2016-08-11T11:28:34.085Z", "updated_at": "2016-08-11T11:32:35.169Z", "user": { "name": "Administrator", "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon" } } } ] } -``` - -`_links`对象包含以下属性: - -* `web_path` :您可以在 GitLab 中访问并查看软件包详细信息的路径. -* `delete_api_path` :删除程序包的 API 路径. 仅在请求用户有权执行此操作时可用. - -## List package files[](#list-package-files "Permalink") - -在 GitLab 11.8 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/9305) . - -获取单个软件包的软件包文件列表. - -``` -GET /projects/:id/packages/:package_id/package_files -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `package_id` | integer | yes | 包裹的 ID. | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/packages/4/package_files" -``` - -响应示例: - -``` -[ { "id": 25, "package_id": 4, "created_at": "2018-11-07T15:25:52.199Z", "file_name": "my-app-1.5-20181107.152550-1.jar", "size": 2421, "file_md5": "58e6a45a629910c6ff99145a688971ac", "file_sha1": "ebd193463d3915d7e22219f52740056dfd26cbfe" }, { "id": 26, "package_id": 4, "created_at": "2018-11-07T15:25:56.776Z", "file_name": "my-app-1.5-20181107.152550-1.pom", "size": 1122, "file_md5": "d90f11d851e17c5513586b4a7e98f1b2", "file_sha1": "9608d068fe88aff85781811a42f32d97feb440b5" }, { "id": 27, "package_id": 4, "created_at": "2018-11-07T15:26:00.556Z", "file_name": "maven-metadata.xml", "size": 767, "file_md5": "6dfd0cce1203145a927fef5e3a1c650c", "file_sha1": "d25932de56052d320a8ac156f745ece73f6a8cd2" } ] -``` - -默认情况下,由于 API 是[分页的](README.html#pagination) ,因此`GET`请求将返回 20 个结果. - -## Delete a project package[](#delete-a-project-package "Permalink") - -在 GitLab 11.9 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/9623) . - -删除项目包. - -``` -DELETE /projects/:id/packages/:package_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `package_id` | integer | yes | 包裹的 ID. | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/:id/packages/:package_id" -``` - -可以返回以下状态码: - -* `204 No Content` ,如果软件包已成功删除. -* `404 Not Found` ,如果`404 Not Found`包. \ No newline at end of file diff --git a/docs/344.md b/docs/344.md deleted file mode 100644 index 01dd248..0000000 --- a/docs/344.md +++ /dev/null @@ -1,185 +0,0 @@ -# Pages domains API - -> 原文:[https://docs.gitlab.com/ee/api/pages_domains.html](https://docs.gitlab.com/ee/api/pages_domains.html) - -* [List all pages domains](#list-all-pages-domains) -* [List pages domains](#list-pages-domains) -* [Single pages domain](#single-pages-domain) -* [Create new pages domain](#create-new-pages-domain) -* [Update pages domain](#update-pages-domain) - * [Adding certificate](#adding-certificate) - * [Enabling Let’s Encrypt integration for Pages custom domains](#enabling-lets-encrypt-integration-for-pages-custom-domains) - * [Removing certificate](#removing-certificate) -* [Delete pages domain](#delete-pages-domain) - -# Pages domains API[](#pages-domains-api "Permalink") - -在[GitLab Pages 中](https://about.gitlab.com/stages-devops-lifecycle/pages/)连接自定义域和 TLS 证书的端点. - -必须启用 GitLab 页面功能才能使用这些端点. 了解有关[管理](../administration/pages/index.html)和[使用](../user/project/pages/index.html)功能的更多信息. - -## List all pages domains[](#list-all-pages-domains "Permalink") - -获取所有页面域的列表. 用户必须具有管理员权限. - -``` -GET /pages/domains -``` - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/pages/domains" -``` - -``` -[ { "domain": "ssl.domain.example", "url": "https://ssl.domain.example", "project_id": 1337, "auto_ssl_enabled": false, "certificate": { "expired": false, "expiration": "2020-04-12T14:32:00.000Z" } } ] -``` - -## List pages domains[](#list-pages-domains "Permalink") - -Get a list of project pages domains. The user must have permissions to view pages domains. - -``` -GET /projects/:id/pages/domains -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/pages/domains" -``` - -``` -[ { "domain": "www.domain.example", "url": "http://www.domain.example" }, { "domain": "ssl.domain.example", "url": "https://ssl.domain.example", "auto_ssl_enabled": false, "certificate": { "subject": "/O=Example, Inc./OU=Example Origin CA/CN=Example Origin Certificate", "expired": false, "certificate": "-----BEGIN CERTIFICATE-----\n … \n-----END CERTIFICATE-----", "certificate_text": "Certificate:\n … \n" } } ] -``` - -## Single pages domain[](#single-pages-domain "Permalink") - -获取单个项目页面域. 用户必须具有查看页面域的权限. - -``` -GET /projects/:id/pages/domains/:domain -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `domain` | string | yes | 用户指定的自定义域 | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/pages/domains/www.domain.example" -``` - -``` -{ "domain": "www.domain.example", "url": "http://www.domain.example" } -``` - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/pages/domains/ssl.domain.example" -``` - -``` -{ "domain": "ssl.domain.example", "url": "https://ssl.domain.example", "auto_ssl_enabled": false, "certificate": { "subject": "/O=Example, Inc./OU=Example Origin CA/CN=Example Origin Certificate", "expired": false, "certificate": "-----BEGIN CERTIFICATE-----\n … \n-----END CERTIFICATE-----", "certificate_text": "Certificate:\n … \n" } } -``` - -## Create new pages domain[](#create-new-pages-domain "Permalink") - -创建一个新的页面域. 用户必须具有创建新页面域的权限. - -``` -POST /projects/:id/pages/domains -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `domain` | string | yes | 用户指定的自定义域 | -| `auto_ssl_enabled` | boolean | no | 启用[自动生成](../user/project/pages/custom_domains_ssl_tls_certification/lets_encrypt_integration.html)由 Let's Encrypt 为自定义域颁发的 SSL 证书的功能. | -| `certificate` | file/string | no | PEM 格式的证书,其中的中间体按照从最高到最低的顺序排列. | -| `key` | file/string | no | PEM 格式的证书密钥. | - -``` -curl --request POST --header "PRIVATE-TOKEN: " --form "domain=ssl.domain.example" --form "certificate=@/path/to/cert.pem" --form "key=@/path/to/key.pem" "https://gitlab.example.com/api/v4/projects/5/pages/domains" -``` - -``` -curl --request POST --header "PRIVATE-TOKEN: " --form "domain=ssl.domain.example" --form "certificate=$CERT_PEM" --form "key=$KEY_PEM" "https://gitlab.example.com/api/v4/projects/5/pages/domains" -``` - -``` -curl --request POST --header "PRIVATE-TOKEN: " --form "domain=ssl.domain.example" --form "auto_ssl_enabled=true" "https://gitlab.example.com/api/v4/projects/5/pages/domains" -``` - -``` -{ "domain": "ssl.domain.example", "url": "https://ssl.domain.example", "auto_ssl_enabled": true, "certificate": { "subject": "/O=Example, Inc./OU=Example Origin CA/CN=Example Origin Certificate", "expired": false, "certificate": "-----BEGIN CERTIFICATE-----\n … \n-----END CERTIFICATE-----", "certificate_text": "Certificate:\n … \n" } } -``` - -## Update pages domain[](#update-pages-domain "Permalink") - -更新现有的项目页面域. 用户必须具有更改现有页面域的权限. - -``` -PUT /projects/:id/pages/domains/:domain -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `domain` | string | yes | 用户指定的自定义域 | -| `auto_ssl_enabled` | boolean | no | 启用[自动生成](../user/project/pages/custom_domains_ssl_tls_certification/lets_encrypt_integration.html)由 Let's Encrypt 为自定义域颁发的 SSL 证书的功能. | -| `certificate` | file/string | no | PEM 格式的证书,其中的中间体按照从最高到最低的顺序排列. | -| `key` | file/string | no | PEM 格式的证书密钥. | - -### Adding certificate[](#adding-certificate "Permalink") - -``` -curl --request PUT --header "PRIVATE-TOKEN: " --form "certificate=@/path/to/cert.pem" --form "key=@/path/to/key.pem" "https://gitlab.example.com/api/v4/projects/5/pages/domains/ssl.domain.example" -``` - -``` -curl --request PUT --header "PRIVATE-TOKEN: " --form "certificate=$CERT_PEM" --form "key=$KEY_PEM" "https://gitlab.example.com/api/v4/projects/5/pages/domains/ssl.domain.example" -``` - -``` -{ "domain": "ssl.domain.example", "url": "https://ssl.domain.example", "auto_ssl_enabled": false, "certificate": { "subject": "/O=Example, Inc./OU=Example Origin CA/CN=Example Origin Certificate", "expired": false, "certificate": "-----BEGIN CERTIFICATE-----\n … \n-----END CERTIFICATE-----", "certificate_text": "Certificate:\n … \n" } } -``` - -### Enabling Let’s Encrypt integration for Pages custom domains[](#enabling-lets-encrypt-integration-for-pages-custom-domains "Permalink") - -``` -curl --request PUT --header "PRIVATE-TOKEN: " --form "auto_ssl_enabled=true" "https://gitlab.example.com/api/v4/projects/5/pages/domains/ssl.domain.example" -``` - -``` -{ "domain": "ssl.domain.example", "url": "https://ssl.domain.example", "auto_ssl_enabled": true } -``` - -### Removing certificate[](#removing-certificate "Permalink") - -要删除附加到 Pages 域的 SSL 证书,请运行: - -``` -curl --request PUT --header "PRIVATE-TOKEN: " --form "certificate=" --form "key=" "https://gitlab.example.com/api/v4/projects/5/pages/domains/ssl.domain.example" -``` - -``` -{ "domain": "ssl.domain.example", "url": "https://ssl.domain.example", "auto_ssl_enabled": false } -``` - -## Delete pages domain[](#delete-pages-domain "Permalink") - -删除现有的项目页面域. - -``` -DELETE /projects/:id/pages/domains/:domain -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `domain` | string | yes | 用户指定的自定义域 | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/pages/domains/ssl.domain.example" -``` \ No newline at end of file diff --git a/docs/345.md b/docs/345.md deleted file mode 100644 index 7d76365..0000000 --- a/docs/345.md +++ /dev/null @@ -1,255 +0,0 @@ -# Pipeline schedules API - -> 原文:[https://docs.gitlab.com/ee/api/pipeline_schedules.html](https://docs.gitlab.com/ee/api/pipeline_schedules.html) - -* [Get all pipeline schedules](#get-all-pipeline-schedules) -* [Get a single pipeline schedule](#get-a-single-pipeline-schedule) -* [Create a new pipeline schedule](#create-a-new-pipeline-schedule) -* [Edit a pipeline schedule](#edit-a-pipeline-schedule) -* [Take ownership of a pipeline schedule](#take-ownership-of-a-pipeline-schedule) -* [Delete a pipeline schedule](#delete-a-pipeline-schedule) -* [Run a scheduled pipeline immediately](#run-a-scheduled-pipeline-immediately) -* [Pipeline schedule variables](#pipeline-schedule-variables) -* [Create a new pipeline schedule variable](#create-a-new-pipeline-schedule-variable) -* [Edit a pipeline schedule variable](#edit-a-pipeline-schedule-variable) -* [Delete a pipeline schedule variable](#delete-a-pipeline-schedule-variable) - -# Pipeline schedules API[](#pipeline-schedules-api "Permalink") - -您可以阅读有关[管道计划的](../ci/pipelines/schedules.html)更多信息. - -## Get all pipeline schedules[](#get-all-pipeline-schedules "Permalink") - -获取项目的管道时间表的列表. - -``` -GET /projects/:id/pipeline_schedules -``` - -| Attribute | Type | required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.html#namespaced-path-encoding) owned by the authenticated user | -| `scope` | string | no | 管道计划的范围,其中之一: `active` , `inactive` | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/29/pipeline_schedules" -``` - -``` -[ { "id": 13, "description": "Test schedule pipeline", "ref": "master", "cron": "* * * * *", "cron_timezone": "Asia/Tokyo", "next_run_at": "2017-05-19T13:41:00.000Z", "active": true, "created_at": "2017-05-19T13:31:08.849Z", "updated_at": "2017-05-19T13:40:17.727Z", "owner": { "name": "Administrator", "username": "root", "id": 1, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "https://gitlab.example.com/root" } } ] -``` - -## Get a single pipeline schedule[](#get-a-single-pipeline-schedule "Permalink") - -获取项目的管道计划. - -``` -GET /projects/:id/pipeline_schedules/:pipeline_schedule_id -``` - -| Attribute | Type | required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `pipeline_schedule_id` | integer | yes | 管道时间表 ID | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/29/pipeline_schedules/13" -``` - -``` -{ "id": 13, "description": "Test schedule pipeline", "ref": "master", "cron": "* * * * *", "cron_timezone": "Asia/Tokyo", "next_run_at": "2017-05-19T13:41:00.000Z", "active": true, "created_at": "2017-05-19T13:31:08.849Z", "updated_at": "2017-05-19T13:40:17.727Z", "last_pipeline": { "id": 332, "sha": "0e788619d0b5ec17388dffb973ecd505946156db", "ref": "master", "status": "pending" }, "owner": { "name": "Administrator", "username": "root", "id": 1, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "https://gitlab.example.com/root" }, "variables": [ { "key": "TEST_VARIABLE_1", "variable_type": "env_var", "value": "TEST_1" } ] } -``` - -## Create a new pipeline schedule[](#create-a-new-pipeline-schedule "Permalink") - -创建一个新的项目管道计划. - -``` -POST /projects/:id/pipeline_schedules -``` - -| Attribute | Type | required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `description` | string | yes | 管道进度表的描述 | -| `ref` | string | yes | 分支/标签名称将被触发 | -| `cron` | string | yes | cron(例如`0 1 * * *` )( [Cron 语法](https://en.wikipedia.org/wiki/Cron) ) | -| `cron_timezone` | string | no | `ActiveSupport::TimeZone`支持的时`ActiveSupport::TimeZone` (例如`Pacific Time (US & Canada)` )(默认值: `'UTC'` ) | -| `active` | boolean | no | 激活管道计划. 如果设置为 false,则管道调度最初将被停用(默认值: `true` ) | - -``` -curl --request POST --header "PRIVATE-TOKEN: " --form description="Build packages" --form ref="master" --form cron="0 1 * * 5" --form cron_timezone="UTC" --form active="true" "https://gitlab.example.com/api/v4/projects/29/pipeline_schedules" -``` - -``` -{ "id": 14, "description": "Build packages", "ref": "master", "cron": "0 1 * * 5", "cron_timezone": "UTC", "next_run_at": "2017-05-26T01:00:00.000Z", "active": true, "created_at": "2017-05-19T13:43:08.169Z", "updated_at": "2017-05-19T13:43:08.169Z", "last_pipeline": null, "owner": { "name": "Administrator", "username": "root", "id": 1, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "https://gitlab.example.com/root" } } -``` - -## Edit a pipeline schedule[](#edit-a-pipeline-schedule "Permalink") - -更新项目的管道计划. 更新完成后,将自动重新安排. - -``` -PUT /projects/:id/pipeline_schedules/:pipeline_schedule_id -``` - -| Attribute | Type | required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `pipeline_schedule_id` | integer | yes | 管道时间表 ID | -| `description` | string | no | 管道进度表的描述 | -| `ref` | string | no | 分支/标签名称将被触发 | -| `cron` | string | no | cron(例如`0 1 * * *` )( [Cron 语法](https://en.wikipedia.org/wiki/Cron) ) | -| `cron_timezone` | string | no | `ActiveSupport::TimeZone` (例如`Pacific Time (US & Canada)` )或`TZInfo::Timezone` (例如`America/Los_Angeles` )支持的`TZInfo::Timezone` | -| `active` | boolean | no | 激活管道计划. 如果设置为 false,则管道计划将首先停用. | - -``` -curl --request PUT --header "PRIVATE-TOKEN: " --form cron="0 2 * * *" "https://gitlab.example.com/api/v4/projects/29/pipeline_schedules/13" -``` - -``` -{ "id": 13, "description": "Test schedule pipeline", "ref": "master", "cron": "0 2 * * *", "cron_timezone": "Asia/Tokyo", "next_run_at": "2017-05-19T17:00:00.000Z", "active": true, "created_at": "2017-05-19T13:31:08.849Z", "updated_at": "2017-05-19T13:44:16.135Z", "last_pipeline": { "id": 332, "sha": "0e788619d0b5ec17388dffb973ecd505946156db", "ref": "master", "status": "pending" }, "owner": { "name": "Administrator", "username": "root", "id": 1, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "https://gitlab.example.com/root" } } -``` - -## Take ownership of a pipeline schedule[](#take-ownership-of-a-pipeline-schedule "Permalink") - -更新项目的管道计划的所有者. - -``` -POST /projects/:id/pipeline_schedules/:pipeline_schedule_id/take_ownership -``` - -| Attribute | Type | required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `pipeline_schedule_id` | integer | yes | 管道时间表 ID | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/29/pipeline_schedules/13/take_ownership" -``` - -``` -{ "id": 13, "description": "Test schedule pipeline", "ref": "master", "cron": "0 2 * * *", "cron_timezone": "Asia/Tokyo", "next_run_at": "2017-05-19T17:00:00.000Z", "active": true, "created_at": "2017-05-19T13:31:08.849Z", "updated_at": "2017-05-19T13:46:37.468Z", "last_pipeline": { "id": 332, "sha": "0e788619d0b5ec17388dffb973ecd505946156db", "ref": "master", "status": "pending" }, "owner": { "name": "shinya", "username": "maeda", "id": 50, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/8ca0a796a679c292e3a11da50f99e801?s=80&d=identicon", "web_url": "https://gitlab.example.com/maeda" } } -``` - -## Delete a pipeline schedule[](#delete-a-pipeline-schedule "Permalink") - -删除项目的管道计划. - -``` -DELETE /projects/:id/pipeline_schedules/:pipeline_schedule_id -``` - -| Attribute | Type | required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `pipeline_schedule_id` | integer | yes | 管道时间表 ID | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/29/pipeline_schedules/13" -``` - -``` -{ "id": 13, "description": "Test schedule pipeline", "ref": "master", "cron": "0 2 * * *", "cron_timezone": "Asia/Tokyo", "next_run_at": "2017-05-19T17:00:00.000Z", "active": true, "created_at": "2017-05-19T13:31:08.849Z", "updated_at": "2017-05-19T13:46:37.468Z", "last_pipeline": { "id": 332, "sha": "0e788619d0b5ec17388dffb973ecd505946156db", "ref": "master", "status": "pending" }, "owner": { "name": "shinya", "username": "maeda", "id": 50, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/8ca0a796a679c292e3a11da50f99e801?s=80&d=identicon", "web_url": "https://gitlab.example.com/maeda" } } -``` - -## Run a scheduled pipeline immediately[](#run-a-scheduled-pipeline-immediately "Permalink") - -在 GitLab 12.8 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/201786) . - -触发一个新的计划管道,该管道将立即运行. 该管道的下一个计划运行不受影响. - -``` -POST /projects/:id/pipeline_schedules/:pipeline_schedule_id/play -``` - -| Attribute | Type | required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `pipeline_schedule_id` | integer | yes | 管道时间表 ID | - -请求示例: - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/42/pipeline_schedules/1/play" -``` - -响应示例: - -``` -{ "message": "201 Created" } -``` - -## Pipeline schedule variables[](#pipeline-schedule-variables "Permalink") - -在 GitLab 10.0 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/34518) . - -## Create a new pipeline schedule variable[](#create-a-new-pipeline-schedule-variable "Permalink") - -创建管道计划的新变量. - -``` -POST /projects/:id/pipeline_schedules/:pipeline_schedule_id/variables -``` - -| Attribute | Type | required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `pipeline_schedule_id` | integer | yes | 管道时间表 ID | -| `key` | string | yes | 变量的`key` ; 不得超过 255 个字符; 仅允许`AZ` , `az` , `0-9`和`_` | -| `value` | string | yes | 变量的`value` | -| `variable_type` | string | no | 变量的类型. 可用类型为: `env_var` (默认)和`file` | - -``` -curl --request POST --header "PRIVATE-TOKEN: " --form "key=NEW_VARIABLE" --form "value=new value" "https://gitlab.example.com/api/v4/projects/29/pipeline_schedules/13/variables" -``` - -``` -{ "key": "NEW_VARIABLE", "variable_type": "env_var", "value": "new value" } -``` - -## Edit a pipeline schedule variable[](#edit-a-pipeline-schedule-variable "Permalink") - -更新管道计划的变量. - -``` -PUT /projects/:id/pipeline_schedules/:pipeline_schedule_id/variables/:key -``` - -| Attribute | Type | required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `pipeline_schedule_id` | integer | yes | 管道时间表 ID | -| `key` | string | yes | 变量的`key` | -| `value` | string | yes | 变量的`value` | -| `variable_type` | string | no | 变量的类型. 可用类型为: `env_var` (默认)和`file` | - -``` -curl --request PUT --header "PRIVATE-TOKEN: " --form "value=updated value" "https://gitlab.example.com/api/v4/projects/29/pipeline_schedules/13/variables/NEW_VARIABLE" -``` - -``` -{ "key": "NEW_VARIABLE", "value": "updated value" "variable_type": "env_var", } -``` - -## Delete a pipeline schedule variable[](#delete-a-pipeline-schedule-variable "Permalink") - -删除管道计划的变量. - -``` -DELETE /projects/:id/pipeline_schedules/:pipeline_schedule_id/variables/:key -``` - -| Attribute | Type | required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `pipeline_schedule_id` | integer | yes | 管道时间表 ID | -| `key` | string | yes | 变量的`key` | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/29/pipeline_schedules/13/variables/NEW_VARIABLE" -``` - -``` -{ "key": "NEW_VARIABLE", "value": "updated value" } -``` \ No newline at end of file diff --git a/docs/346.md b/docs/346.md deleted file mode 100644 index 3d496d7..0000000 --- a/docs/346.md +++ /dev/null @@ -1,114 +0,0 @@ -# Pipeline triggers API - -> 原文:[https://docs.gitlab.com/ee/api/pipeline_triggers.html](https://docs.gitlab.com/ee/api/pipeline_triggers.html) - -* [List project triggers](#list-project-triggers) -* [Get trigger details](#get-trigger-details) -* [Create a project trigger](#create-a-project-trigger) -* [Update a project trigger](#update-a-project-trigger) -* [Remove a project trigger](#remove-a-project-trigger) - -# Pipeline triggers API[](#pipeline-triggers-api "Permalink") - -您可以阅读有关[通过 API 触发管道的](../ci/triggers/README.html)更多信息. - -## List project triggers[](#list-project-triggers "Permalink") - -获取项目的构建触发器的列表. - -``` -GET /projects/:id/triggers -``` - -| Attribute | Type | required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/triggers" -``` - -``` -[ { "id": 10, "description": "my trigger", "created_at": "2016-01-07T09:53:58.235Z", "last_used": null, "token": "6d056f63e50fe6f8c5f8f4aa10edb7", "updated_at": "2016-01-07T09:53:58.235Z", "owner": null } ] -``` - -## Get trigger details[](#get-trigger-details "Permalink") - -获取项目构建触发器的详细信息. - -``` -GET /projects/:id/triggers/:trigger_id -``` - -| Attribute | Type | required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `trigger_id` | integer | yes | 触发 ID | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/triggers/5" -``` - -``` -{ "id": 10, "description": "my trigger", "created_at": "2016-01-07T09:53:58.235Z", "last_used": null, "token": "6d056f63e50fe6f8c5f8f4aa10edb7", "updated_at": "2016-01-07T09:53:58.235Z", "owner": null } -``` - -## Create a project trigger[](#create-a-project-trigger "Permalink") - -为项目创建触发器. - -``` -POST /projects/:id/triggers -``` - -| Attribute | Type | required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `description` | string | yes | 触发名称 | - -``` -curl --request POST --header "PRIVATE-TOKEN: " --form description="my description" "https://gitlab.example.com/api/v4/projects/1/triggers" -``` - -``` -{ "id": 10, "description": "my trigger", "created_at": "2016-01-07T09:53:58.235Z", "last_used": null, "token": "6d056f63e50fe6f8c5f8f4aa10edb7", "updated_at": "2016-01-07T09:53:58.235Z", "owner": null } -``` - -## Update a project trigger[](#update-a-project-trigger "Permalink") - -更新项目的触发器. - -``` -PUT /projects/:id/triggers/:trigger_id -``` - -| Attribute | Type | required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `trigger_id` | integer | yes | 触发 ID | -| `description` | string | no | 触发名称 | - -``` -curl --request PUT --header "PRIVATE-TOKEN: " --form description="my description" "https://gitlab.example.com/api/v4/projects/1/triggers/10" -``` - -``` -{ "id": 10, "description": "my trigger", "created_at": "2016-01-07T09:53:58.235Z", "last_used": null, "token": "6d056f63e50fe6f8c5f8f4aa10edb7", "updated_at": "2016-01-07T09:53:58.235Z", "owner": null } -``` - -## Remove a project trigger[](#remove-a-project-trigger "Permalink") - -删除项目的生成触发器. - -``` -DELETE /projects/:id/triggers/:trigger_id -``` - -| Attribute | Type | required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `trigger_id` | integer | yes | 触发 ID | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/triggers/5" -``` \ No newline at end of file diff --git a/docs/347.md b/docs/347.md deleted file mode 100644 index 84235d2..0000000 --- a/docs/347.md +++ /dev/null @@ -1,219 +0,0 @@ -# Pipelines API - -> 原文:[https://docs.gitlab.com/ee/api/pipelines.html](https://docs.gitlab.com/ee/api/pipelines.html) - -* [Single Pipeline Requests](#single-pipeline-requests) -* [Pipelines pagination](#pipelines-pagination) -* [List project pipelines](#list-project-pipelines) -* [Get a single pipeline](#get-a-single-pipeline) - * [Get variables of a pipeline](#get-variables-of-a-pipeline) - * [Get a pipeline’s test report](#get-a-pipelines-test-report) -* [Create a new pipeline](#create-a-new-pipeline) -* [Retry jobs in a pipeline](#retry-jobs-in-a-pipeline) -* [Cancel a pipeline’s jobs](#cancel-a-pipelines-jobs) -* [Delete a pipeline](#delete-a-pipeline) - -# Pipelines API[](#pipelines-api "Permalink") - -## Single Pipeline Requests[](#single-pipeline-requests "Permalink") - -在 GitLab 13.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/36494) . - -请求有关单个管道的信息的端点返回任何管道的数据. 在 13.2 之前, [对子管道的](../ci/parent_child_pipelines.html)请求返回了 404 错误. - -## Pipelines pagination[](#pipelines-pagination "Permalink") - -默认情况下,因为 API 结果是分页的,所以`GET`请求一次返回 20 个结果. - -阅读有关[分页的](README.html#pagination)更多信息. - -## List project pipelines[](#list-project-pipelines "Permalink") - -在 GitLab 8.11 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/5837) - -``` -GET /projects/:id/pipelines -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `scope` | string | no | 管道的范围,其中之一: `running` , `pending` , `finished` , `branches` , `tags` | -| `status` | string | no | 管道的状态,其中之一: `running` , `pending` , `success` , `failed` , `canceled` , `skipped` , `created` , `manual` | -| `ref` | string | no | 管道的引用 | -| `sha` | string | no | 管道的 SHA | -| `yaml_errors` | boolean | no | 返回无效配置的管道 | -| `name` | string | no | 触发管道的用户名 | -| `username` | string | no | 触发管道的用户的用户名 | -| `updated_after` | datetime | no | 返回在指定日期之后更新的管道. 格式:ISO 8601 YYYY-MM-DDTHH:MM:SSZ | -| `updated_before` | datetime | no | 返回在指定日期之前更新的管道. 格式:ISO 8601 YYYY-MM-DDTHH:MM:SSZ | -| `order_by` | string | no | 按`id` , `status` , `ref` , `updated_at`或`user_id` `updated_at`管道(默认值: `id` ) | -| `sort` | string | no | 按`asc`或`desc`顺序对管道进行排序(默认值: `desc` ) | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/pipelines" -``` - -回应范例 - -``` -[ { "id": 47, "status": "pending", "ref": "new-pipeline", "sha": "a91957a858320c0e17f3a0eca7cfacbff50ea29a", "web_url": "https://example.com/foo/bar/pipelines/47", "created_at": "2016-08-11T11:28:34.085Z", "updated_at": "2016-08-11T11:32:35.169Z", }, { "id": 48, "status": "pending", "ref": "new-pipeline", "sha": "eb94b618fb5865b26e80fdd8ae531b7a63ad851a", "web_url": "https://example.com/foo/bar/pipelines/48", "created_at": "2016-08-12T10:06:04.561Z", "updated_at": "2016-08-12T10:09:56.223Z", } ] -``` - -## Get a single pipeline[](#get-a-single-pipeline "Permalink") - -在 GitLab 8.11 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/5837) - -``` -GET /projects/:id/pipelines/:pipeline_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `pipeline_id` | integer | yes | 管道的 ID | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/pipelines/46" -``` - -回应范例 - -``` -{ "id": 46, "status": "success", "ref": "master", "sha": "a91957a858320c0e17f3a0eca7cfacbff50ea29a", "before_sha": "a91957a858320c0e17f3a0eca7cfacbff50ea29a", "tag": false, "yaml_errors": null, "user": { "name": "Administrator", "username": "root", "id": 1, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://localhost:3000/root" }, "created_at": "2016-08-11T11:28:34.085Z", "updated_at": "2016-08-11T11:32:35.169Z", "started_at": null, "finished_at": "2016-08-11T11:32:35.145Z", "committed_at": null, "duration": null, "coverage": "30.0", "web_url": "https://example.com/foo/bar/pipelines/46" } -``` - -### Get variables of a pipeline[](#get-variables-of-a-pipeline "Permalink") - -``` -GET /projects/:id/pipelines/:pipeline_id/variables -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `pipeline_id` | integer | yes | 管道的 ID | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/pipelines/46/variables" -``` - -回应范例 - -``` -[ { "key": "RUN_NIGHTLY_BUILD", "variable_type": "env_var", "value": "true" }, { "key": "foo", "value": "bar" } ] -``` - -### Get a pipeline’s test report[](#get-a-pipelines-test-report "Permalink") - -在 GitLab 13.0 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/202525) . - -**警告:**此 API 路由是[JUnit 测试报告](../ci/junit_test_reports.html)功能的一部分. 它受一个[功能标志](../development/feature_flags/index.html)保护,该[功能标志](../development/feature_flags/index.html)由于非常大的数据集的性能问题而被**禁用** . - -``` -GET /projects/:id/pipelines/:pipeline_id/test_report -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `pipeline_id` | integer | yes | The ID of a pipeline | - -样品要求: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/pipelines/46/test_report" -``` - -样本回复: - -``` -{ "total_time": 5, "total_count": 1, "success_count": 1, "failed_count": 0, "skipped_count": 0, "error_count": 0, "test_suites": [ { "name": "Secure", "total_time": 5, "total_count": 1, "success_count": 1, "failed_count": 0, "skipped_count": 0, "error_count": 0, "test_cases": [ { "status": "success", "name": "Security Reports can create an auto-remediation MR", "classname": "vulnerability_management_spec", "execution_time": 5, "system_output": null, "stack_trace": null } ] } ] } -``` - -## Create a new pipeline[](#create-a-new-pipeline "Permalink") - -在 GitLab 8.14 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/7209) - -``` -POST /projects/:id/pipeline -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `ref` | string | yes | 提交参考 | -| `variables` | array | no | 包含管道中可用变量的数组,与结构`[{ 'key' => 'UPLOAD_TO_S3', 'variable_type' => 'file', 'value' => 'true' }]`匹配 | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/pipeline?ref=master" -``` - -回应范例 - -``` -{ "id": 61, "sha": "384c444e840a515b23f21915ee5766b87068a70d", "ref": "master", "status": "pending", "before_sha": "0000000000000000000000000000000000000000", "tag": false, "yaml_errors": null, "user": { "name": "Administrator", "username": "root", "id": 1, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://localhost:3000/root" }, "created_at": "2016-11-04T09:36:13.747Z", "updated_at": "2016-11-04T09:36:13.977Z", "started_at": null, "finished_at": null, "committed_at": null, "duration": null, "coverage": null, "web_url": "https://example.com/foo/bar/pipelines/61" } -``` - -## Retry jobs in a pipeline[](#retry-jobs-in-a-pipeline "Permalink") - -在 GitLab 8.11 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/5837) - -``` -POST /projects/:id/pipelines/:pipeline_id/retry -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `pipeline_id` | integer | yes | 管道的 ID | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/pipelines/46/retry" -``` - -Response: - -``` -{ "id": 46, "status": "pending", "ref": "master", "sha": "a91957a858320c0e17f3a0eca7cfacbff50ea29a", "before_sha": "a91957a858320c0e17f3a0eca7cfacbff50ea29a", "tag": false, "yaml_errors": null, "user": { "name": "Administrator", "username": "root", "id": 1, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://localhost:3000/root" }, "created_at": "2016-08-11T11:28:34.085Z", "updated_at": "2016-08-11T11:32:35.169Z", "started_at": null, "finished_at": "2016-08-11T11:32:35.145Z", "committed_at": null, "duration": null, "coverage": null, "web_url": "https://example.com/foo/bar/pipelines/46" } -``` - -## Cancel a pipeline’s jobs[](#cancel-a-pipelines-jobs "Permalink") - -在 GitLab 8.11 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/5837) - -``` -POST /projects/:id/pipelines/:pipeline_id/cancel -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `pipeline_id` | integer | yes | 管道的 ID | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/pipelines/46/cancel" -``` - -Response: - -``` -{ "id": 46, "status": "canceled", "ref": "master", "sha": "a91957a858320c0e17f3a0eca7cfacbff50ea29a", "before_sha": "a91957a858320c0e17f3a0eca7cfacbff50ea29a", "tag": false, "yaml_errors": null, "user": { "name": "Administrator", "username": "root", "id": 1, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://localhost:3000/root" }, "created_at": "2016-08-11T11:28:34.085Z", "updated_at": "2016-08-11T11:32:35.169Z", "started_at": null, "finished_at": "2016-08-11T11:32:35.145Z", "committed_at": null, "duration": null, "coverage": null, "web_url": "https://example.com/foo/bar/pipelines/46" } -``` - -## Delete a pipeline[](#delete-a-pipeline "Permalink") - -在 GitLab 11.6 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/22988) . - -``` -DELETE /projects/:id/pipelines/:pipeline_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `pipeline_id` | integer | yes | 管道的 ID | - -``` -curl --header "PRIVATE-TOKEN: " --request "DELETE" "https://gitlab.example.com/api/v4/projects/1/pipelines/46" -``` \ No newline at end of file diff --git a/docs/348.md b/docs/348.md deleted file mode 100644 index eddaf60..0000000 --- a/docs/348.md +++ /dev/null @@ -1,99 +0,0 @@ -# Project Aliases API - -> 原文:[https://docs.gitlab.com/ee/api/project_aliases.html](https://docs.gitlab.com/ee/api/project_aliases.html) - -* [List all project aliases](#list-all-project-aliases) -* [Get project alias’ details](#get-project-alias-details) -* [Create a project alias](#create-a-project-alias) -* [Delete a project alias](#delete-a-project-alias) - -# Project Aliases API[](#project-aliases-api-premium-only "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/3264) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.1. - -所有方法都需要管理员授权. - -## List all project aliases[](#list-all-project-aliases "Permalink") - -获取所有项目别名的列表: - -``` -GET /project_aliases -``` - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/project_aliases" -``` - -响应示例: - -``` -[ { "id": 1, "project_id": 1, "name": "gitlab-foss" }, { "id": 2, "project_id": 2, "name": "gitlab" } ] -``` - -## Get project alias’ details[](#get-project-alias-details "Permalink") - -获取项目别名的详细信息: - -``` -GET /project_aliases/:name -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `name` | string | yes | 别名的名称 | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/project_aliases/gitlab" -``` - -响应示例: - -``` -{ "id": 1, "project_id": 1, "name": "gitlab" } -``` - -## Create a project alias[](#create-a-project-alias "Permalink") - -为项目添加新的别名. 成功时回应 201,当验证错误时回应 400(例如别名已经存在): - -``` -POST /project_aliases -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `project_id` | integer/string | yes | 项目的 ID 或路径. | -| `name` | string | yes | 别名的名称. 必须是唯一的. | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/project_aliases" --form "project_id=1" --form "name=gitlab" -``` - -or - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/project_aliases" --form "project_id=gitlab-org/gitlab" --form "name=gitlab" -``` - -响应示例: - -``` -{ "id": 1, "project_id": 1, "name": "gitlab" } -``` - -## Delete a project alias[](#delete-a-project-alias "Permalink") - -删除项目别名. 存在项目别名时以 204 响应,如果不存在则以 404 响应: - -``` -DELETE /project_aliases/:name -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `name` | string | yes | 别名的名称 | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/project_aliases/gitlab" -``` \ No newline at end of file diff --git a/docs/349.md b/docs/349.md deleted file mode 100644 index d40dd39..0000000 --- a/docs/349.md +++ /dev/null @@ -1,191 +0,0 @@ -# Project import/export API - -> 原文:[https://docs.gitlab.com/ee/api/project_import_export.html](https://docs.gitlab.com/ee/api/project_import_export.html) - -* [Schedule an export](#schedule-an-export) -* [Export status](#export-status) -* [Export download](#export-download) -* [Import a file](#import-a-file) -* [Import status](#import-status) - -# Project import/export API[](#project-importexport-api "Permalink") - -在 GitLab 10.6 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/41899) . - -也可以看看: - -* [Project import/export documentation](../user/project/settings/import_export.html). -* [Project import/export administration Rake tasks](../administration/raketasks/project_import_export.html). - -## Schedule an export[](#schedule-an-export "Permalink") - -开始新的导出. - -端点还接受`upload`参数. 此参数是一个哈希,其中包含将导出的项目上载到 Web 服务器或任何 S3 兼容平台的所有必要信息. 目前,我们仅支持将二进制数据文件上传到最终服务器. - -从 GitLab 10.7 开始,如果存在`upload`参数,则需要`upload[url]`参数. - -``` -POST /projects/:id/export -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `description` | string | no | 覆盖项目描述 | -| `upload` | hash | no | Hash that contains the information to upload the exported project to a web server | -| `upload[url]` | string | yes | 上传项目的网址 | -| `upload[http_method]` | string | no | 上传输出项目的 HTTP 方法. 仅允许使用`PUT`和`POST`方法. 默认为`PUT` | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/export" \ - --data "upload[http_method]=PUT" \ - --data-urlencode "upload[url]=https://example-bucket.s3.eu-west-3.amazonaws.com/backup?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIMBJHN2O62W8IELQ%2F20180312%2Feu-west-3%2Fs3%2Faws4_request&X-Amz-Date=20180312T110328Z&X-Amz-Expires=900&X-Amz-SignedHeaders=host&X-Amz-Signature=8413facb20ff33a49a147a0b4abcff4c8487cc33ee1f7e450c46e8f695569dbd" -``` - -``` -{ "message": "202 Accepted" } -``` - -**注意:**上载请求将与`Content-Type: application/gzip`标头一起发送. 确保您的预签名 URL 将此内容作为签名的一部分. - -## Export status[](#export-status "Permalink") - -获取导出状态. - -``` -GET /projects/:id/export -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/export" -``` - -状态可以是以下之一: - -* `none` -* `queued` -* `started` -* `finished` -* `regeneration_in_progress` - -`queued`状态表示已接收到导出请求,并且当前处于要处理的队列中. - -`started`状态表示导出过程已开始并且当前正在进行中. 它包括导出过程,对生成的文件执行的操作,例如发送电子邮件通知用户下载文件,将导出的文件上传到 Web 服务器等. - -`finished`状态是在导出过程完成并且已通知用户之后. - -`regeneration_in_progress`是可以下载导出文件且正在处理生成新导出文件的请求. - -`_links`仅在导出完成时存在. - -``` -{ "id": 1, "description": "Itaque perspiciatis minima aspernatur corporis consequatur.", "name": "Gitlab Test", "name_with_namespace": "Gitlab Org / Gitlab Test", "path": "gitlab-test", "path_with_namespace": "gitlab-org/gitlab-test", "created_at": "2017-08-29T04:36:44.383Z", "export_status": "finished", "_links": { "api_url": "https://gitlab.example.com/api/v4/projects/1/export/download", "web_url": "https://gitlab.example.com/gitlab-org/gitlab-test/download_export", } } -``` - -## Export download[](#export-download "Permalink") - -下载完成的导出. - -``` -GET /projects/:id/export/download -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | - -``` -curl --header "PRIVATE-TOKEN: " --remote-header-name --remote-name "https://gitlab.example.com/api/v4/projects/5/export/download" -``` - -``` -ls *export.tar.gz -2017-12-05_22-11-148_namespace_project_export.tar.gz -``` - -## Import a file[](#import-a-file "Permalink") - -``` -POST /projects/import -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `namespace` | integer/string | no | 项目将导入到的名称空间的 ID 或路径. 默认为当前用户的名称空间 | -| `name` | string | no | 要导入的项目的名称. 如果未提供,则默认为项目的路径 | -| `file` | string | yes | 要上传的文件 | -| `path` | string | yes | 新项目的名称和路径 | -| `overwrite` | boolean | no | 如果存在具有相同路径的项目,则导入将覆盖它. 默认为假 | -| `override_params` | Hash | no | 支持在[Project API 中](projects.html)定义的所有字段 | - -传递的覆盖参数将优先于导出文件中定义的所有值. - -要从文件系统上载文件,请使用`--form`参数. 这将导致 cURL 使用标题`Content-Type: multipart/form-data` . `file=`参数必须指向文件系统上的文件,并以`@`开头. 例如: - -``` -curl --request POST --header "PRIVATE-TOKEN: " --form "path=api-project" --form "file=@/path/to/file" "https://gitlab.example.com/api/v4/projects/import" -``` - -cURL 不支持从远程服务器发布文件. 从远程服务器导入项目可以通过以下方式完成: - -``` -import requests -from io import BytesIO - -s3_file = requests.get(presigned_url) - -url = 'https://gitlab.example.com/api/v4/projects/import' -files = {'file': ('file.tar.gz', BytesIO(s3_file.content))} -data = { - "path": "example-project", - "namespace": "example-group" -} -headers = { - 'Private-Token': "" -} - -requests.post(url, headers=headers, data=data, files=files) -``` - -``` -{ "id": 1, "description": null, "name": "api-project", "name_with_namespace": "Administrator / api-project", "path": "api-project", "path_with_namespace": "root/api-project", "created_at": "2018-02-13T09:05:58.023Z", "import_status": "scheduled", "correlation_id": "mezklWso3Za", "failed_relations": [] } -``` - -**注意:**可以由管理员设置最大导入文件大小,默认为 50MB. 作为管理员,您可以修改最大导入文件大小. 为此,请在" [应用程序设置" API](settings.html#change-application-settings)或" [管理界面"中](../user/admin_area/settings/account_and_limit_settings.html)使用`max_import_size`选项. - -## Import status[](#import-status "Permalink") - -获取导入状态. - -``` -GET /projects/:id/import -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/import" -``` - -状态可以是以下之一: - -* `none` -* `scheduled` -* `failed` -* `started` -* `finished` - -如果状态`failed` ,它将在`import_error`下包含导入错误消息. 如果状态为`failed` , `started`或`finished`时, `failed_relations`阵列可能与关系的任何事件未能导入无论是由于不可恢复的错误或因重试次数已经用尽被填充(一个典型的例子是查询超时.) - -**注意:** `failed_relations`的元素的`id`字段引用失败记录,而不是关系.**注意:** `failed_relations`数组当前限制为 100 个项目. - -``` -{ "id": 1, "description": "Itaque perspiciatis minima aspernatur corporis consequatur.", "name": "Gitlab Test", "name_with_namespace": "Gitlab Org / Gitlab Test", "path": "gitlab-test", "path_with_namespace": "gitlab-org/gitlab-test", "created_at": "2017-08-29T04:36:44.383Z", "import_status": "started", "correlation_id": "mezklWso3Za", "failed_relations": [ { "id": 42, "created_at": "2020-04-02T14:48:59.526Z", "exception_class": "RuntimeError", "exception_message": "A failure occurred", "source": "custom error context", "relation_name": "merge_requests" } ] } -``` \ No newline at end of file diff --git a/docs/350.md b/docs/350.md deleted file mode 100644 index b81ac1e..0000000 --- a/docs/350.md +++ /dev/null @@ -1,136 +0,0 @@ -# Project repository storage moves API - -> 原文:[https://docs.gitlab.com/ee/api/project_repository_storage_moves.html](https://docs.gitlab.com/ee/api/project_repository_storage_moves.html) - -* [Retrieve all project repository storage moves](#retrieve-all-project-repository-storage-moves) -* [Retrieve all repository storage moves for a project](#retrieve-all-repository-storage-moves-for-a-project) -* [Get a single project repository storage move](#get-a-single-project-repository-storage-move) -* [Get a single repository storage move for a project](#get-a-single-repository-storage-move-for-a-project) -* [Schedule a repository storage move for a project](#schedule-a-repository-storage-move-for-a-project) - -# Project repository storage moves API[](#project-repository-storage-moves-api-core-only "Permalink") - -在 GitLab 13.0 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/31285) . - -项目存储库存储可以移动. 要使用 API​​检索项目存储库存储移动,您必须以管理员[身份进行身份验证](README.html#authentication) . - -## Retrieve all project repository storage moves[](#retrieve-all-project-repository-storage-moves "Permalink") - -``` -GET /project_repository_storage_moves -``` - -默认情况下,因为 API 结果是[分页的](README.html#pagination) ,所以`GET`请求一次返回 20 个结果. - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/project_repository_storage_moves" -``` - -响应示例: - -``` -[ { "id": 1, "created_at": "2020-05-07T04:27:17.234Z", "state": "scheduled", "source_storage_name": "default", "destination_storage_name": "storage2", "project": { "id": 1, "description": null, "name": "project1", "name_with_namespace": "John Doe2 / project1", "path": "project1", "path_with_namespace": "namespace1/project1", "created_at": "2020-05-07T04:27:17.016Z" } ] -``` - -## Retrieve all repository storage moves for a project[](#retrieve-all-repository-storage-moves-for-a-project "Permalink") - -``` -GET /projects/:project_id/repository_storage_moves -``` - -默认情况下,因为 API 结果是[分页的](README.html#pagination) ,所以`GET`请求一次返回 20 个结果. - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `project_id` | integer | yes | 项目编号 | - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/repository_storage_moves" -``` - -响应示例: - -``` -[ { "id": 1, "created_at": "2020-05-07T04:27:17.234Z", "state": "scheduled", "source_storage_name": "default", "destination_storage_name": "storage2", "project": { "id": 1, "description": null, "name": "project1", "name_with_namespace": "John Doe2 / project1", "path": "project1", "path_with_namespace": "namespace1/project1", "created_at": "2020-05-07T04:27:17.016Z" } ] -``` - -## Get a single project repository storage move[](#get-a-single-project-repository-storage-move "Permalink") - -``` -GET /project_repository_storage_moves/:repository_storage_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `repository_storage_id` | integer | yes | 项目存储库存储移动的标识 | - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/project_repository_storage_moves/1" -``` - -响应示例: - -``` -{ "id": 1, "created_at": "2020-05-07T04:27:17.234Z", "state": "scheduled", "source_storage_name": "default", "destination_storage_name": "storage2", "project": { "id": 1, "description": null, "name": "project1", "name_with_namespace": "John Doe2 / project1", "path": "project1", "path_with_namespace": "namespace1/project1", "created_at": "2020-05-07T04:27:17.016Z" } -``` - -## Get a single repository storage move for a project[](#get-a-single-repository-storage-move-for-a-project "Permalink") - -``` -GET /projects/:project_id/repository_storage_moves/:repository_storage_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `project_id` | integer | yes | 项目编号 | -| `repository_storage_id` | integer | yes | 项目存储库存储移动的标识 | - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/repository_storage_moves/1" -``` - -响应示例: - -``` -{ "id": 1, "created_at": "2020-05-07T04:27:17.234Z", "state": "scheduled", "source_storage_name": "default", "destination_storage_name": "storage2", "project": { "id": 1, "description": null, "name": "project1", "name_with_namespace": "John Doe2 / project1", "path": "project1", "path_with_namespace": "namespace1/project1", "created_at": "2020-05-07T04:27:17.016Z" } -``` - -## Schedule a repository storage move for a project[](#schedule-a-repository-storage-move-for-a-project "Permalink") - -``` -POST /projects/:project_id/repository_storage_moves -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `project_id` | integer | yes | 项目编号 | -| `destination_storage_name` | string | yes | 目标存储分片的名称 | - -请求示例: - -``` -curl --request POST --header "PRIVATE_TOKEN: " --header "Content-Type: application/json" \ ---data '{"destination_storage_name":"storage2"}' "https://gitlab.example.com/api/v4/projects/1/repository_storage_moves" -``` - -响应示例: - -``` -{ "id": 1, "created_at": "2020-05-07T04:27:17.234Z", "state": "scheduled", "source_storage_name": "default", "destination_storage_name": "storage2", "project": { "id": 1, "description": null, "name": "project1", "name_with_namespace": "John Doe2 / project1", "path": "project1", "path_with_namespace": "namespace1/project1", "created_at": "2020-05-07T04:27:17.016Z" } -``` \ No newline at end of file diff --git a/docs/351.md b/docs/351.md deleted file mode 100644 index c9ac083..0000000 --- a/docs/351.md +++ /dev/null @@ -1,27 +0,0 @@ -# Project statistics API - -> 原文:[https://docs.gitlab.com/ee/api/project_statistics.html](https://docs.gitlab.com/ee/api/project_statistics.html) - -* [Get the statistics of the last 30 days](#get-the-statistics-of-the-last-30-days) - -# Project statistics API[](#project-statistics-api "Permalink") - -每个对[项目](../user/project/index.html)统计信息的 API 调用都必须经过验证. - -## Get the statistics of the last 30 days[](#get-the-statistics-of-the-last-30-days "Permalink") - -检索统计信息需要对存储库的写权限. 当前仅返回 HTTP 提取统计信息. 提取统计信息包括克隆和提取计数,并且仅用于 HTTP,不包括 SSH 提取. - -``` -GET /projects/:id/statistics -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | 整数/字符串 | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | - -响应示例: - -``` -{ "fetches": { "total": 50, "days": [ { "count": 10, "date": "2018-01-10" }, { "count": 10, "date": "2018-01-09" }, { "count": 10, "date": "2018-01-08" }, { "count": 10, "date": "2018-01-07" }, { "count": 10, "date": "2018-01-06" } ] } } -``` \ No newline at end of file diff --git a/docs/352.md b/docs/352.md deleted file mode 100644 index 83ca4b1..0000000 --- a/docs/352.md +++ /dev/null @@ -1,66 +0,0 @@ -# Project templates API - -> 原文:[https://docs.gitlab.com/ee/api/project_templates.html](https://docs.gitlab.com/ee/api/project_templates.html) - -* [Get all templates of a particular type](#get-all-templates-of-a-particular-type) -* [Get one template of a particular type](#get-one-template-of-a-particular-type) - -# Project templates API[](#project-templates-api "Permalink") - -此 API 是这些端点的特定于项目的版本: - -* [Dockerfile templates](templates/dockerfiles.html) -* [Gitignore templates](templates/gitignores.html) -* [GitLab CI/CD Configuration templates](templates/gitlab_ci_ymls.html) -* [Open source license templates](templates/licenses.html) - -它不赞成使用这些端点,对​​于 API 版本 5 将会删除这些端点. - -除了整个实例通用的模板之外,该 API 端点还提供特定于项目的模板. - -在以后的[版本中,](../user/project/description_templates.html)将添加对[发布和合并请求模板的](../user/project/description_templates.html)支持. - -支持[组级文件模板](../user/group/index.html#group-file-templates-premium) 是在 GitLab 11.5 中[添加的](https://gitlab.com/gitlab-org/gitlab/-/issues/5987) - -## Get all templates of a particular type[](#get-all-templates-of-a-particular-type "Permalink") - -``` -GET /projects/:id/templates/:type -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | 整数/字符串 | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `type` | string | yes | 模板的类型`(dockerfiles|gitignores|gitlab_ci_ymls|licenses)` | - -响应示例(许可证): - -``` -[ { "key": "epl-1.0", "name": "Eclipse Public License 1.0" }, { "key": "lgpl-3.0", "name": "GNU Lesser General Public License v3.0" }, { "key": "unlicense", "name": "The Unlicense" }, { "key": "agpl-3.0", "name": "GNU Affero General Public License v3.0" }, { "key": "gpl-3.0", "name": "GNU General Public License v3.0" }, { "key": "bsd-3-clause", "name": "BSD 3-clause \"New\" or \"Revised\" License" }, { "key": "lgpl-2.1", "name": "GNU Lesser General Public License v2.1" }, { "key": "mit", "name": "MIT License" }, { "key": "apache-2.0", "name": "Apache License 2.0" }, { "key": "bsd-2-clause", "name": "BSD 2-clause \"Simplified\" License" }, { "key": "mpl-2.0", "name": "Mozilla Public License 2.0" }, { "key": "gpl-2.0", "name": "GNU General Public License v2.0" } ] -``` - -## Get one template of a particular type[](#get-one-template-of-a-particular-type "Permalink") - -``` -GET /projects/:id/templates/:type/:key -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | 整数/字符串 | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `type` | string | yes | 模板的类型`(dockerfiles|gitignores|gitlab_ci_ymls|licenses)` | -| `key` | string | yes | 从集合端点获取的模板的密钥 | -| `project` | string | no | 在模板中扩展占位符时要使用的项目名称. 仅影响许可证 | -| `fullname` | string | no | 在模板中扩展占位符时使用的版权所有者的全名. 仅影响许可证 | - -响应示例(Dockerfile): - -``` -{ "name": "Binary", "content": "# This file is a template, and might need editing before it works on your project.\n# This Dockerfile installs a compiled binary into a bare system.\n# You must either commit your compiled binary into source control (not recommended)\n# or build the binary first as part of a CI/CD pipeline.\n\nFROM buildpack-deps:jessie\n\nWORKDIR /usr/local/bin\n\n# Change `app` to whatever your binary is called\nAdd app .\nCMD [\"./app\"]\n" } -``` - -响应示例(许可证): - -``` -{ "key": "mit", "name": "MIT License", "nickname": null, "popular": true, "html_url": "http://choosealicense.com/licenses/mit/", "source_url": "https://opensource.org/licenses/MIT", "description": "A short and simple permissive license with conditions only requiring preservation of copyright and license notices. Licensed works, modifications, and larger works may be distributed under different terms and without source code.", "conditions": [ "include-copyright" ], "permissions": [ "commercial-use", "modifications", "distribution", "private-use" ], "limitations": [ "liability", "warranty" ], "content": "MIT License\n\nCopyright (c) 2018 [fullname]\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n" } -``` \ No newline at end of file diff --git a/docs/353.md b/docs/353.md deleted file mode 100644 index e098157..0000000 --- a/docs/353.md +++ /dev/null @@ -1,1059 +0,0 @@ -# Projects API - -> 原文:[https://docs.gitlab.com/ee/api/projects.html](https://docs.gitlab.com/ee/api/projects.html) - -* [Project visibility level](#project-visibility-level) -* [Project merge method](#project-merge-method) -* [List all projects](#list-all-projects) - * [Pagination limits](#pagination-limits) -* [List user projects](#list-user-projects) -* [List projects starred by a user](#list-projects-starred-by-a-user) -* [Get single project](#get-single-project) -* [Get project users](#get-project-users) -* [Get project events](#get-project-events) -* [Create project](#create-project) -* [Create project for user](#create-project-for-user) -* [Edit project](#edit-project) -* [Fork project](#fork-project) -* [List Forks of a project](#list-forks-of-a-project) -* [Star a project](#star-a-project) -* [Unstar a project](#unstar-a-project) -* [List Starrers of a project](#list-starrers-of-a-project) -* [Languages](#languages) -* [Archive a project](#archive-a-project) -* [Unarchive a project](#unarchive-a-project) -* [Remove project](#remove-project) -* [Restore project marked for deletion](#restore-project-marked-for-deletion-premium) -* [Upload a file](#upload-a-file) -* [Share project with group](#share-project-with-group) -* [Delete a shared project link within a group](#delete-a-shared-project-link-within-a-group) -* [Hooks](#hooks) - * [List project hooks](#list-project-hooks) - * [Get project hook](#get-project-hook) - * [Add project hook](#add-project-hook) - * [Edit project hook](#edit-project-hook) - * [Delete project hook](#delete-project-hook) -* [Fork relationship](#fork-relationship) - * [Create a forked from/to relation between existing projects](#create-a-forked-fromto-relation-between-existing-projects) - * [Delete an existing forked from relationship](#delete-an-existing-forked-from-relationship) -* [Search for projects by name](#search-for-projects-by-name) -* [Start the Housekeeping task for a Project](#start-the-housekeeping-task-for-a-project) -* [Push Rules](#push-rules-starter) - * [Get project push rules](#get-project-push-rules) - * [Add project push rule](#add-project-push-rule) - * [Edit project push rule](#edit-project-push-rule) - * [Delete project push rule](#delete-project-push-rule) -* [Transfer a project to a new namespace](#transfer-a-project-to-a-new-namespace) -* [Branches](#branches) -* [Project Import/Export](#project-importexport) -* [Project members](#project-members) -* [Start the pull mirroring process for a Project](#start-the-pull-mirroring-process-for-a-project-starter) -* [Project badges](#project-badges) -* [Issue and merge request description templates](#issue-and-merge-request-description-templates) -* [Download snapshot of a Git repository](#download-snapshot-of-a-git-repository) - -# Projects API[](#projects-api "Permalink") - -## Project visibility level[](#project-visibility-level "Permalink") - -GitLab 中的项目可以是私有的,内部的或公共的. 这由项目中的`visibility`字段确定. - -项目可见性级别的值为: - -* `private` :必须为每个用户显式授予项目访问权限. -* `internal` :任何登录的用户都可以克隆该项目. -* `public` :无需任何身份验证即可访问该项目. - -## Project merge method[](#project-merge-method "Permalink") - -`merge_method`当前有三个选项可供选择: - -* `merge` :为每个合并创建一个合并提交,只要没有冲突就允许合并. -* `rebase_merge` :为每个合并创建一个合并提交,但是仅当可能进行快速合并时才允许合并. 这样,您可以确保在合并到目标分支后,如果此合并请求将生成,则该请求也将生成. -* `ff` :没有创建合并提交,并且所有合并都被快速转发,这意味着仅当分支可以被快速转发时才允许合并. - -## List all projects[](#list-all-projects "Permalink") - -获取已认证用户跨 GitLab 的所有可见项目的列表. 在未经身份验证的情况下访问时,仅返回带有"简单"字段的公共项目. - -``` -GET /projects -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `archived` | boolean | no | 受存档状态限制 | -| `visibility` | string | no | 受`public` , `internal`或`private`可见性的限制 | -| `order_by` | string | no | 返回按`id` , `name` , `path` , `created_at` , `updated_at`或`last_activity_at`字段排序的项目. 只有管​​理员可以使用`repository_size` , `storage_size`或`wiki_size`字段. 默认为`created_at` | -| `sort` | string | no | 返回按`asc`或`desc`顺序排序的项目. 默认为`desc` | -| `search` | string | no | 返回符合搜索条件的项目列表 | -| `search_namespaces` | boolean | no | 匹配搜索条件时包括祖先名称空间. 默认为`false` | -| `simple` | boolean | no | 仅返回每个项目的有限字段. 这是没有身份验证的无操作操作,因为这样*只会*返回简单的字段. | -| `owned` | boolean | no | 受当前用户明确拥有的项目限制 | -| `membership` | boolean | no | 受当前用户是其成员的项目的限制 | -| `starred` | boolean | no | 受当前用户加注星标的项目限制 | -| `statistics` | boolean | no | 包括项目统计 | -| `with_custom_attributes` | boolean | no | 在响应中包括[自定义属性](custom_attributes.html) (仅管理员) | -| `with_issues_enabled` | boolean | no | 受启用的问题限制功能 | -| `with_merge_requests_enabled` | boolean | no | 通过启用的合并请求限制功能 | -| `with_programming_language` | string | no | 受使用给定编程语言的项目限制 | -| `wiki_checksum_failed` | boolean | no | 限制维基校验和计算失败的项目(在[GitLab Premium](https://about.gitlab.com/pricing/) 11.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6137) ) | -| `repository_checksum_failed` | boolean | no | 限制存储库校验和计算失败的项目(在[GitLab Premium](https://about.gitlab.com/pricing/) 11.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6137) ) | -| `min_access_level` | integer | no | 受当前用户的最小[访问权限](members.html)限制 | -| `id_after` | integer | no | 将结果限制为 ID 大于指定 ID 的项目 | -| `id_before` | integer | no | 将结果限制为 ID 小于指定 ID 的项目 | -| `last_activity_after` | datetime | no | 在指定时间后,将结果限制为具有 last_activity 的项目. 格式:ISO 8601 YYYY-MM-DDTHH:MM:SSZ | -| `last_activity_before` | datetime | no | 将结果限制为在指定时间之前具有 last_activity 的项目. 格式:ISO 8601 YYYY-MM-DDTHH:MM:SSZ | -| `repository_storage` | string | no | 将结果限制为存储在 repository_storage 上的项目. 仅适用于管理员. | - -**注意:**此端点支持所选`order_by`选项的[键集分页](README.html#keyset-based-pagination) . - -当`simple=true`或用户未经身份验证时,这将返回如下内容: - -``` -[ { "id": 4, "description": null, "default_branch": "master", "ssh_url_to_repo": "git@example.com:diaspora/diaspora-client.git", "http_url_to_repo": "http://example.com/diaspora/diaspora-client.git", "web_url": "http://example.com/diaspora/diaspora-client", "readme_url": "http://example.com/diaspora/diaspora-client/blob/master/README.md", "tag_list": [ "example", "disapora client" ], "name": "Diaspora Client", "name_with_namespace": "Diaspora / Diaspora Client", "path": "diaspora-client", "path_with_namespace": "diaspora/diaspora-client", "created_at": "2013-09-30T13:46:02Z", "last_activity_at": "2013-09-30T13:46:02Z", "forks_count": 0, "avatar_url": "http://example.com/uploads/project/avatar/4/uploads/avatar.png", "star_count": 0, }, { "id": 6, "description": null, "default_branch": "master", ... -``` - -当用户通过身份验证且未设置`simple` ,将返回以下内容: - -``` -[ { "id": 4, "description": null, "default_branch": "master", "visibility": "private", "ssh_url_to_repo": "git@example.com:diaspora/diaspora-client.git", "http_url_to_repo": "http://example.com/diaspora/diaspora-client.git", "web_url": "http://example.com/diaspora/diaspora-client", "readme_url": "http://example.com/diaspora/diaspora-client/blob/master/README.md", "tag_list": [ "example", "disapora client" ], "owner": { "id": 3, "name": "Diaspora", "created_at": "2013-09-30T13:46:02Z" }, "name": "Diaspora Client", "name_with_namespace": "Diaspora / Diaspora Client", "path": "diaspora-client", "path_with_namespace": "diaspora/diaspora-client", "issues_enabled": true, "open_issues_count": 1, "merge_requests_enabled": true, "jobs_enabled": true, "wiki_enabled": true, "snippets_enabled": false, "can_create_merge_request_in": true, "resolve_outdated_diff_discussions": false, "container_registry_enabled": false, "created_at": "2013-09-30T13:46:02Z", "last_activity_at": "2013-09-30T13:46:02Z", "creator_id": 3, "namespace": { "id": 3, "name": "Diaspora", "path": "diaspora", "kind": "group", "full_path": "diaspora" }, "import_status": "none", "archived": false, "avatar_url": "http://example.com/uploads/project/avatar/4/uploads/avatar.png", "shared_runners_enabled": true, "forks_count": 0, "star_count": 0, "runners_token": "b8547b1dc37721d05889db52fa2f02", "ci_default_git_depth": 50, "public_jobs": true, "shared_with_groups": [], "only_allow_merge_if_pipeline_succeeds": false, "allow_merge_on_skipped_pipeline": false, "only_allow_merge_if_all_discussions_are_resolved": false, "remove_source_branch_after_merge": false, "request_access_enabled": false, "merge_method": "merge", "autoclose_referenced_issues": true, "suggestion_commit_message": null, "marked_for_deletion_at": "2020-04-03", // Deprecated and will be removed in API v5 in favor of marked_for_deletion_on "marked_for_deletion_on": "2020-04-03", "statistics": { "commit_count": 37, "storage_size": 1038090, "repository_size": 1038090, "wiki_size" : 0, "lfs_objects_size": 0, "job_artifacts_size": 0, "packages_size": 0 }, "_links": { "self": "http://example.com/api/v4/projects", "issues": "http://example.com/api/v4/projects/1/issues", "merge_requests": "http://example.com/api/v4/projects/1/merge_requests", "repo_branches": "http://example.com/api/v4/projects/1/repository_branches", "labels": "http://example.com/api/v4/projects/1/labels", "events": "http://example.com/api/v4/projects/1/events", "members": "http://example.com/api/v4/projects/1/members" }, }, { "id": 6, "description": null, "default_branch": "master", "visibility": "private", "ssh_url_to_repo": "git@example.com:brightbox/puppet.git", "http_url_to_repo": "http://example.com/brightbox/puppet.git", "web_url": "http://example.com/brightbox/puppet", "readme_url": "http://example.com/brightbox/puppet/blob/master/README.md", "tag_list": [ "example", "puppet" ], "owner": { "id": 4, "name": "Brightbox", "created_at": "2013-09-30T13:46:02Z" }, "name": "Puppet", "name_with_namespace": "Brightbox / Puppet", "path": "puppet", "path_with_namespace": "brightbox/puppet", "issues_enabled": true, "open_issues_count": 1, "merge_requests_enabled": true, "jobs_enabled": true, "wiki_enabled": true, "snippets_enabled": false, "can_create_merge_request_in": true, "resolve_outdated_diff_discussions": false, "container_registry_enabled": false, "created_at": "2013-09-30T13:46:02Z", "last_activity_at": "2013-09-30T13:46:02Z", "creator_id": 3, "namespace": { "id": 4, "name": "Brightbox", "path": "brightbox", "kind": "group", "full_path": "brightbox" }, "import_status": "none", "import_error": null, "permissions": { "project_access": { "access_level": 10, "notification_level": 3 }, "group_access": { "access_level": 50, "notification_level": 3 } }, "archived": false, "avatar_url": null, "shared_runners_enabled": true, "forks_count": 0, "star_count": 0, "runners_token": "b8547b1dc37721d05889db52fa2f02", "ci_default_git_depth": 0, "public_jobs": true, "shared_with_groups": [], "only_allow_merge_if_pipeline_succeeds": false, "allow_merge_on_skipped_pipeline": false, "only_allow_merge_if_all_discussions_are_resolved": false, "remove_source_branch_after_merge": false, "request_access_enabled": false, "merge_method": "merge", "auto_devops_enabled": true, "auto_devops_deploy_strategy": "continuous", "repository_storage": "default", "approvals_before_merge": 0, "mirror": false, "mirror_user_id": 45, "mirror_trigger_builds": false, "only_mirror_protected_branches": false, "mirror_overwrites_diverged_branches": false, "external_authorization_classification_label": null, "packages_enabled": true, "service_desk_enabled": false, "service_desk_address": null, "autoclose_referenced_issues": true, "suggestion_commit_message": null, "statistics": { "commit_count": 12, "storage_size": 2066080, "repository_size": 2066080, "wiki_size" : 0, "lfs_objects_size": 0, "job_artifacts_size": 0, "packages_size": 0 }, "_links": { "self": "http://example.com/api/v4/projects", "issues": "http://example.com/api/v4/projects/1/issues", "merge_requests": "http://example.com/api/v4/projects/1/merge_requests", "repo_branches": "http://example.com/api/v4/projects/1/repository_branches", "labels": "http://example.com/api/v4/projects/1/labels", "events": "http://example.com/api/v4/projects/1/events", "members": "http://example.com/api/v4/projects/1/members" } } ] -``` - -**注意:**对于使用 GitLab [Silver,Premium 或更高版本](https://about.gitlab.com/pricing/)的用户[,](https://about.gitlab.com/pricing/)已不推荐使用`marked_for_deletion_at`属性,并将在 API v5 中将其删除,以支持`marked_for_deletion_on`属性. - -在 GitLab 用户[入门,青铜或更高](https://about.gitlab.com/pricing/)还会看到`approvals_before_merge`参数: - -``` -[ { "id": 4, "description": null, "approvals_before_merge": 0, ... } ] -``` - -您可以使用以下[自定义属性](custom_attributes.html)进行过滤: - -``` -GET /projects?custom_attributes[key]=value&custom_attributes[other_key]=other_value -``` - -### Pagination limits[](#pagination-limits "Permalink") - -从 GitLab 13.0 开始, [基于偏移量的分页](README.html#offset-based-pagination)将被[限制为 50,000 条记录](https://gitlab.com/gitlab-org/gitlab/-/issues/34565) . 要检索超出此限制的项目,将需要进行[键集分页](README.html#keyset-based-pagination) . - -请注意,键集分页仅支持`order_by=id` . 其他排序选项不可用. - -## List user projects[](#list-user-projects "Permalink") - -获取给定用户拥有的可见项目的列表. 在未经身份验证的情况下访问时,仅返回公共项目. - -``` -GET /users/:user_id/projects -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `user_id` | string | yes | 用户的 ID 或用户名 | -| `archived` | boolean | no | 受存档状态限制 | -| `visibility` | string | no | 受`public` , `internal`或`private`可见性的限制 | -| `order_by` | string | no | 返回按`id` , `name` , `path` , `created_at` , `updated_at`或`last_activity_at`字段排序的项目. 默认为`created_at` | -| `sort` | string | no | 返回按`asc`或`desc`顺序排序的项目. 默认为`desc` | -| `search` | string | no | 返回符合搜索条件的项目列表 | -| `simple` | boolean | no | 仅返回每个项目的有限字段. 这是没有身份验证的无操作操作,因为这样*只会*返回简单的字段. | -| `owned` | boolean | no | 受当前用户明确拥有的项目限制 | -| `membership` | boolean | no | 受当前用户是其成员的项目的限制 | -| `starred` | boolean | no | Limit by projects starred by the current user | -| `statistics` | boolean | no | 包括项目统计 | -| `with_custom_attributes` | boolean | no | 在响应中包括[自定义属性](custom_attributes.html) (仅管理员) | -| `with_issues_enabled` | boolean | no | 受启用的问题限制功能 | -| `with_merge_requests_enabled` | boolean | no | 通过启用的合并请求限制功能 | -| `with_programming_language` | string | no | 受使用给定编程语言的项目限制 | -| `min_access_level` | integer | no | 受当前用户的最小[访问权限](members.html)限制 | -| `id_after` | integer | no | 将结果限制为 ID 大于指定 ID 的项目 | -| `id_before` | integer | no | 将结果限制为 ID 小于指定 ID 的项目 | - -**注意:**此端点支持所选`order_by`选项的[键集分页](README.html#keyset-based-pagination) . - -``` -[ { "id": 4, "description": null, "default_branch": "master", "visibility": "private", "ssh_url_to_repo": "git@example.com:diaspora/diaspora-client.git", "http_url_to_repo": "http://example.com/diaspora/diaspora-client.git", "web_url": "http://example.com/diaspora/diaspora-client", "readme_url": "http://example.com/diaspora/diaspora-client/blob/master/README.md", "tag_list": [ "example", "disapora client" ], "owner": { "id": 3, "name": "Diaspora", "created_at": "2013-09-30T13:46:02Z" }, "name": "Diaspora Client", "name_with_namespace": "Diaspora / Diaspora Client", "path": "diaspora-client", "path_with_namespace": "diaspora/diaspora-client", "issues_enabled": true, "open_issues_count": 1, "merge_requests_enabled": true, "jobs_enabled": true, "wiki_enabled": true, "snippets_enabled": false, "can_create_merge_request_in": true, "resolve_outdated_diff_discussions": false, "container_registry_enabled": false, "created_at": "2013-09-30T13:46:02Z", "last_activity_at": "2013-09-30T13:46:02Z", "creator_id": 3, "namespace": { "id": 3, "name": "Diaspora", "path": "diaspora", "kind": "group", "full_path": "diaspora" }, "import_status": "none", "archived": false, "avatar_url": "http://example.com/uploads/project/avatar/4/uploads/avatar.png", "shared_runners_enabled": true, "forks_count": 0, "star_count": 0, "runners_token": "b8547b1dc37721d05889db52fa2f02", "ci_default_git_depth": 50, "public_jobs": true, "shared_with_groups": [], "only_allow_merge_if_pipeline_succeeds": false, "allow_merge_on_skipped_pipeline": false, "only_allow_merge_if_all_discussions_are_resolved": false, "remove_source_branch_after_merge": false, "request_access_enabled": false, "merge_method": "merge", "autoclose_referenced_issues": true, "suggestion_commit_message": null, "marked_for_deletion_at": "2020-04-03", // Deprecated and will be removed in API v5 in favor of marked_for_deletion_on "marked_for_deletion_on": "2020-04-03", "statistics": { "commit_count": 37, "storage_size": 1038090, "repository_size": 1038090, "wiki_size" : 0, "lfs_objects_size": 0, "job_artifacts_size": 0, "packages_size": 0 }, "_links": { "self": "http://example.com/api/v4/projects", "issues": "http://example.com/api/v4/projects/1/issues", "merge_requests": "http://example.com/api/v4/projects/1/merge_requests", "repo_branches": "http://example.com/api/v4/projects/1/repository_branches", "labels": "http://example.com/api/v4/projects/1/labels", "events": "http://example.com/api/v4/projects/1/events", "members": "http://example.com/api/v4/projects/1/members" } }, { "id": 6, "description": null, "default_branch": "master", "visibility": "private", "ssh_url_to_repo": "git@example.com:brightbox/puppet.git", "http_url_to_repo": "http://example.com/brightbox/puppet.git", "web_url": "http://example.com/brightbox/puppet", "readme_url": "http://example.com/brightbox/puppet/blob/master/README.md", "tag_list": [ "example", "puppet" ], "owner": { "id": 4, "name": "Brightbox", "created_at": "2013-09-30T13:46:02Z" }, "name": "Puppet", "name_with_namespace": "Brightbox / Puppet", "path": "puppet", "path_with_namespace": "brightbox/puppet", "issues_enabled": true, "open_issues_count": 1, "merge_requests_enabled": true, "jobs_enabled": true, "wiki_enabled": true, "snippets_enabled": false, "can_create_merge_request_in": true, "resolve_outdated_diff_discussions": false, "container_registry_enabled": false, "created_at": "2013-09-30T13:46:02Z", "last_activity_at": "2013-09-30T13:46:02Z", "creator_id": 3, "namespace": { "id": 4, "name": "Brightbox", "path": "brightbox", "kind": "group", "full_path": "brightbox" }, "import_status": "none", "import_error": null, "permissions": { "project_access": { "access_level": 10, "notification_level": 3 }, "group_access": { "access_level": 50, "notification_level": 3 } }, "archived": false, "avatar_url": null, "shared_runners_enabled": true, "forks_count": 0, "star_count": 0, "runners_token": "b8547b1dc37721d05889db52fa2f02", "ci_default_git_depth": 0, "public_jobs": true, "shared_with_groups": [], "only_allow_merge_if_pipeline_succeeds": false, "allow_merge_on_skipped_pipeline": false, "only_allow_merge_if_all_discussions_are_resolved": false, "remove_source_branch_after_merge": false, "request_access_enabled": false, "merge_method": "merge", "auto_devops_enabled": true, "auto_devops_deploy_strategy": "continuous", "repository_storage": "default", "approvals_before_merge": 0, "mirror": false, "mirror_user_id": 45, "mirror_trigger_builds": false, "only_mirror_protected_branches": false, "mirror_overwrites_diverged_branches": false, "external_authorization_classification_label": null, "packages_enabled": true, "service_desk_enabled": false, "service_desk_address": null, "autoclose_referenced_issues": true, "suggestion_commit_message": null, "statistics": { "commit_count": 12, "storage_size": 2066080, "repository_size": 2066080, "wiki_size" : 0, "lfs_objects_size": 0, "job_artifacts_size": 0, "packages_size": 0 }, "_links": { "self": "http://example.com/api/v4/projects", "issues": "http://example.com/api/v4/projects/1/issues", "merge_requests": "http://example.com/api/v4/projects/1/merge_requests", "repo_branches": "http://example.com/api/v4/projects/1/repository_branches", "labels": "http://example.com/api/v4/projects/1/labels", "events": "http://example.com/api/v4/projects/1/events", "members": "http://example.com/api/v4/projects/1/members" } } ] -``` - -## List projects starred by a user[](#list-projects-starred-by-a-user "Permalink") - -获取给定用户拥有的可见项目的列表. 在未经身份验证的情况下访问时,仅返回公共项目. - -``` -GET /users/:user_id/starred_projects -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `user_id` | string | yes | 用户的 ID 或用户名. | -| `archived` | boolean | no | 受存档状态限制. | -| `visibility` | string | no | 受`public` , `internal`或`private`可见性的限制. | -| `order_by` | string | no | 返回按`id` , `name` , `path` , `created_at` , `updated_at`或`last_activity_at`字段排序的项目. 默认值为`created_at` . | -| `sort` | string | no | 返回按`asc`或`desc`顺序排序的项目. 默认为`desc` . | -| `search` | string | no | 返回符合搜索条件的项目列表. | -| `simple` | boolean | no | 仅返回每个项目的有限字段. 这是没有身份验证的无操作操作,因为*仅*返回简单字段. | -| `owned` | boolean | no | 受当前用户明确拥有的项目限制. | -| `membership` | boolean | no | 受当前用户所属项目的限制. | -| `starred` | boolean | no | 受当前用户加注星标的项目限制. | -| `statistics` | boolean | no | 包括项目统计信息. | -| `with_custom_attributes` | boolean | no | 在响应中包括[自定义属性](custom_attributes.html) (仅管理员). | -| `with_issues_enabled` | boolean | no | 受启用的问题限制功能. | -| `with_merge_requests_enabled` | boolean | no | 通过启用的合并请求限制功能. | -| `min_access_level` | integer | no | 受当前用户的最小[访问权限](members.html)限制. | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/users/5/starred_projects" -``` - -响应示例: - -``` -[ { "id": 4, "description": null, "default_branch": "master", "visibility": "private", "ssh_url_to_repo": "git@example.com:diaspora/diaspora-client.git", "http_url_to_repo": "http://example.com/diaspora/diaspora-client.git", "web_url": "http://example.com/diaspora/diaspora-client", "readme_url": "http://example.com/diaspora/diaspora-client/blob/master/README.md", "tag_list": [ "example", "disapora client" ], "owner": { "id": 3, "name": "Diaspora", "created_at": "2013-09-30T13:46:02Z" }, "name": "Diaspora Client", "name_with_namespace": "Diaspora / Diaspora Client", "path": "diaspora-client", "path_with_namespace": "diaspora/diaspora-client", "issues_enabled": true, "open_issues_count": 1, "merge_requests_enabled": true, "jobs_enabled": true, "wiki_enabled": true, "snippets_enabled": false, "can_create_merge_request_in": true, "resolve_outdated_diff_discussions": false, "container_registry_enabled": false, "created_at": "2013-09-30T13:46:02Z", "last_activity_at": "2013-09-30T13:46:02Z", "creator_id": 3, "namespace": { "id": 3, "name": "Diaspora", "path": "diaspora", "kind": "group", "full_path": "diaspora" }, "import_status": "none", "archived": false, "avatar_url": "http://example.com/uploads/project/avatar/4/uploads/avatar.png", "shared_runners_enabled": true, "forks_count": 0, "star_count": 0, "runners_token": "b8547b1dc37721d05889db52fa2f02", "public_jobs": true, "shared_with_groups": [], "only_allow_merge_if_pipeline_succeeds": false, "allow_merge_on_skipped_pipeline": false, "only_allow_merge_if_all_discussions_are_resolved": false, "remove_source_branch_after_merge": false, "request_access_enabled": false, "merge_method": "merge", "autoclose_referenced_issues": true, "suggestion_commit_message": null, "statistics": { "commit_count": 37, "storage_size": 1038090, "repository_size": 1038090, "lfs_objects_size": 0, "job_artifacts_size": 0 }, "_links": { "self": "http://example.com/api/v4/projects", "issues": "http://example.com/api/v4/projects/1/issues", "merge_requests": "http://example.com/api/v4/projects/1/merge_requests", "repo_branches": "http://example.com/api/v4/projects/1/repository_branches", "labels": "http://example.com/api/v4/projects/1/labels", "events": "http://example.com/api/v4/projects/1/events", "members": "http://example.com/api/v4/projects/1/members" } }, { "id": 6, "description": null, "default_branch": "master", "visibility": "private", "ssh_url_to_repo": "git@example.com:brightbox/puppet.git", "http_url_to_repo": "http://example.com/brightbox/puppet.git", "web_url": "http://example.com/brightbox/puppet", "readme_url": "http://example.com/brightbox/puppet/blob/master/README.md", "tag_list": [ "example", "puppet" ], "owner": { "id": 4, "name": "Brightbox", "created_at": "2013-09-30T13:46:02Z" }, "name": "Puppet", "name_with_namespace": "Brightbox / Puppet", "path": "puppet", "path_with_namespace": "brightbox/puppet", "issues_enabled": true, "open_issues_count": 1, "merge_requests_enabled": true, "jobs_enabled": true, "wiki_enabled": true, "snippets_enabled": false, "can_create_merge_request_in": true, "resolve_outdated_diff_discussions": false, "container_registry_enabled": false, "created_at": "2013-09-30T13:46:02Z", "last_activity_at": "2013-09-30T13:46:02Z", "creator_id": 3, "namespace": { "id": 4, "name": "Brightbox", "path": "brightbox", "kind": "group", "full_path": "brightbox" }, "import_status": "none", "import_error": null, "permissions": { "project_access": { "access_level": 10, "notification_level": 3 }, "group_access": { "access_level": 50, "notification_level": 3 } }, "archived": false, "avatar_url": null, "shared_runners_enabled": true, "forks_count": 0, "star_count": 0, "runners_token": "b8547b1dc37721d05889db52fa2f02", "public_jobs": true, "shared_with_groups": [], "only_allow_merge_if_pipeline_succeeds": false, "allow_merge_on_skipped_pipeline": false, "only_allow_merge_if_all_discussions_are_resolved": false, "remove_source_branch_after_merge": false, "request_access_enabled": false, "merge_method": "merge", "auto_devops_enabled": true, "auto_devops_deploy_strategy": "continuous", "repository_storage": "default", "approvals_before_merge": 0, "mirror": false, "mirror_user_id": 45, "mirror_trigger_builds": false, "only_mirror_protected_branches": false, "mirror_overwrites_diverged_branches": false, "external_authorization_classification_label": null, "packages_enabled": true, "service_desk_enabled": false, "service_desk_address": null, "autoclose_referenced_issues": true, "suggestion_commit_message": null, "statistics": { "commit_count": 12, "storage_size": 2066080, "repository_size": 2066080, "lfs_objects_size": 0, "job_artifacts_size": 0 }, "_links": { "self": "http://example.com/api/v4/projects", "issues": "http://example.com/api/v4/projects/1/issues", "merge_requests": "http://example.com/api/v4/projects/1/merge_requests", "repo_branches": "http://example.com/api/v4/projects/1/repository_branches", "labels": "http://example.com/api/v4/projects/1/labels", "events": "http://example.com/api/v4/projects/1/events", "members": "http://example.com/api/v4/projects/1/members" } } ] -``` - -## Get single project[](#get-single-project "Permalink") - -获取一个特定的项目. 如果可以公开访问该项目,则无需身份验证即可访问该端点. - -``` -GET /projects/:id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `statistics` | boolean | no | 包括项目统计 | -| `license` | boolean | no | 包括项目许可证数据 | -| `with_custom_attributes` | boolean | no | 在响应中包括[自定义属性](custom_attributes.html) (仅管理员) | - -``` -{ "id": 3, "description": null, "default_branch": "master", "visibility": "private", "ssh_url_to_repo": "git@example.com:diaspora/diaspora-project-site.git", "http_url_to_repo": "http://example.com/diaspora/diaspora-project-site.git", "web_url": "http://example.com/diaspora/diaspora-project-site", "readme_url": "http://example.com/diaspora/diaspora-project-site/blob/master/README.md", "tag_list": [ "example", "disapora project" ], "owner": { "id": 3, "name": "Diaspora", "created_at": "2013-09-30T13:46:02Z" }, "name": "Diaspora Project Site", "name_with_namespace": "Diaspora / Diaspora Project Site", "path": "diaspora-project-site", "path_with_namespace": "diaspora/diaspora-project-site", "issues_enabled": true, "open_issues_count": 1, "merge_requests_enabled": true, "jobs_enabled": true, "wiki_enabled": true, "snippets_enabled": false, "can_create_merge_request_in": true, "resolve_outdated_diff_discussions": false, "container_registry_enabled": false, "container_expiration_policy": { "cadence": "7d", "enabled": false, "keep_n": null, "older_than": null, "name_regex": null, // to be deprecated in GitLab 13.0 in favor of `name_regex_delete` "name_regex_delete": null, "name_regex_keep": null, "next_run_at": "2020-01-07T21:42:58.658Z" }, "created_at": "2013-09-30T13:46:02Z", "last_activity_at": "2013-09-30T13:46:02Z", "creator_id": 3, "namespace": { "id": 3, "name": "Diaspora", "path": "diaspora", "kind": "group", "full_path": "diaspora", "avatar_url": "http://localhost:3000/uploads/group/avatar/3/foo.jpg", "web_url": "http://localhost:3000/groups/diaspora" }, "import_status": "none", "import_error": null, "permissions": { "project_access": { "access_level": 10, "notification_level": 3 }, "group_access": { "access_level": 50, "notification_level": 3 } }, "archived": false, "avatar_url": "http://example.com/uploads/project/avatar/3/uploads/avatar.png", "license_url": "http://example.com/diaspora/diaspora-client/blob/master/LICENSE", "license": { "key": "lgpl-3.0", "name": "GNU Lesser General Public License v3.0", "nickname": "GNU LGPLv3", "html_url": "http://choosealicense.com/licenses/lgpl-3.0/", "source_url": "http://www.gnu.org/licenses/lgpl-3.0.txt" }, "shared_runners_enabled": true, "forks_count": 0, "star_count": 0, "runners_token": "b8bc4a7a29eb76ea83cf79e4908c2b", "ci_default_git_depth": 50, "public_jobs": true, "shared_with_groups": [ { "group_id": 4, "group_name": "Twitter", "group_full_path": "twitter", "group_access_level": 30 }, { "group_id": 3, "group_name": "Gitlab Org", "group_full_path": "gitlab-org", "group_access_level": 10 } ], "repository_storage": "default", "only_allow_merge_if_pipeline_succeeds": false, "allow_merge_on_skipped_pipeline": false, "only_allow_merge_if_all_discussions_are_resolved": false, "remove_source_branch_after_merge": false, "printing_merge_requests_link_enabled": true, "request_access_enabled": false, "merge_method": "merge", "auto_devops_enabled": true, "auto_devops_deploy_strategy": "continuous", "repository_storage": "default", "approvals_before_merge": 0, "mirror": false, "mirror_user_id": 45, "mirror_trigger_builds": false, "only_mirror_protected_branches": false, "mirror_overwrites_diverged_branches": false, "external_authorization_classification_label": null, "packages_enabled": true, "service_desk_enabled": false, "service_desk_address": null, "autoclose_referenced_issues": true, "suggestion_commit_message": null, "marked_for_deletion_at": "2020-04-03", // Deprecated and will be removed in API v5 in favor of marked_for_deletion_on "marked_for_deletion_on": "2020-04-03", "compliance_frameworks": [ "sox" ], "statistics": { "commit_count": 37, "storage_size": 1038090, "repository_size": 1038090, "wiki_size" : 0, "lfs_objects_size": 0, "job_artifacts_size": 0, "packages_size": 0 }, "_links": { "self": "http://example.com/api/v4/projects", "issues": "http://example.com/api/v4/projects/1/issues", "merge_requests": "http://example.com/api/v4/projects/1/merge_requests", "repo_branches": "http://example.com/api/v4/projects/1/repository_branches", "labels": "http://example.com/api/v4/projects/1/labels", "events": "http://example.com/api/v4/projects/1/events", "members": "http://example.com/api/v4/projects/1/members" } } -``` - -在 GitLab 用户[入门,青铜或更高](https://about.gitlab.com/pricing/)还会看到`approvals_before_merge`参数: - -``` -{ "id": 3, "description": null, "approvals_before_merge": 0, ... } -``` - -**注意** :GitLab 11.11 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/27427)了`namespace`上的`web_url`和`avatar_url`属性. - -如果项目是 fork,并且您提供了有效的令牌进行身份验证,则`forked_from_project`字段将出现在响应中. - -``` -{ "id":3, ... "forked_from_project":{ "id":13083, "description":"GitLab Community Edition", "name":"GitLab Community Edition", "name_with_namespace":"GitLab.org / GitLab Community Edition", "path":"gitlab-foss", "path_with_namespace":"gitlab-org/gitlab-foss", "created_at":"2013-09-26T06:02:36.000Z", "default_branch":"master", "tag_list":[], "ssh_url_to_repo":"git@gitlab.com:gitlab-org/gitlab-foss.git", "http_url_to_repo":"https://gitlab.com/gitlab-org/gitlab-foss.git", "web_url":"https://gitlab.com/gitlab-org/gitlab-foss", "avatar_url":"https://assets.gitlab-static.net/uploads/-/system/project/avatar/13083/logo-extra-whitespace.png", "license_url": "https://gitlab.com/gitlab-org/gitlab/blob/master/LICENSE", "license": { "key": "mit", "name": "MIT License", "nickname": null, "html_url": "http://choosealicense.com/licenses/mit/", "source_url": "https://opensource.org/licenses/MIT", }, "star_count":3812, "forks_count":3561, "last_activity_at":"2018-01-02T11:40:26.570Z", "namespace": { "id": 72, "name": "GitLab.org", "path": "gitlab-org", "kind": "group", "full_path": "gitlab-org", "parent_id": null } } ... } -``` - -## Get project users[](#get-project-users "Permalink") - -获取项目的用户列表. - -``` -GET /projects/:id/users -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `search` | string | no | 搜索特定用户 | -| `skip_users` | 整数数组 | no | 筛选出具有指定 ID 的用户 | - -``` -[ { "id": 1, "username": "john_smith", "name": "John Smith", "state": "active", "avatar_url": "http://localhost:3000/uploads/user/avatar/1/cd8.jpeg", "web_url": "http://localhost:3000/john_smith" }, { "id": 2, "username": "jack_smith", "name": "Jack Smith", "state": "blocked", "avatar_url": "http://gravatar.com/../e32131cd8.jpeg", "web_url": "http://localhost:3000/jack_smith" } ] -``` - -## Get project events[](#get-project-events "Permalink") - -请参考[Events API 文档](events.html#list-a-projects-visible-events) . - -## Create project[](#create-project "Permalink") - -创建一个经过身份验证的用户拥有的新项目. - -``` -POST /projects -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `name` | string | 是,如果未提供路径 | 新项目的名称. 如果未提供,则等于路径. | -| `path` | string | 是,如果未提供名称 | 新项目的存储库名称. 如果未提供,则根据名称生成(生成的小写字母加短划线). | -| `namespace_id` | integer | no | 新项目的命名空间(默认为当前用户的命名空间) | -| `default_branch` | string | no | `master`默认 | -| `description` | string | no | 简短的项目说明 | -| `issues_enabled` | boolean | no | (不建议使用)为此项目启用问题. 改用`issues_access_level` | -| `merge_requests_enabled` | boolean | no | (不建议使用)为此项目启用合并请求. 改用`merge_requests_access_level` | -| `jobs_enabled` | boolean | no | (不建议使用)为此项目启用作业. 改用`builds_access_level` | -| `wiki_enabled` | boolean | no | (已弃用)为此项目启用 Wiki. 改用`wiki_access_level` | -| `snippets_enabled` | boolean | no | (不建议使用)为此项目启用摘要. 请改用`snippets_access_level` | -| `issues_access_level` | string | no | `disabled` , `private`或`enabled` | -| `repository_access_level` | string | no | `disabled` , `private`或`enabled` | -| `merge_requests_access_level` | string | no | `disabled` , `private`或`enabled` | -| `forking_access_level` | string | no | `disabled` , `private`或`enabled` | -| `builds_access_level` | string | no | `disabled` , `private`或`enabled` | -| `wiki_access_level` | string | no | `disabled` , `private`或`enabled` | -| `snippets_access_level` | string | no | `disabled` , `private`或`enabled` | -| `pages_access_level` | string | no | `disabled` , `private` , `enabled`或`public` | -| `emails_disabled` | boolean | no | 禁用电子邮件通知 | -| `show_default_award_emojis` | boolean | no | 显示默认的奖励表情符号 | -| `resolve_outdated_diff_discussions` | boolean | no | 自动解决合并请求差异讨论(通过推送更改) | -| `container_registry_enabled` | boolean | no | 为该项目启用容器注册表 | -| `container_expiration_policy_attributes` | hash | no | 更新此项目的图像过期策略. 接受: `cadence` (字符串), `keep_n` (字符串), `older_than` (字符串), `name_regex` (字符串), `name_regex_delete` (字符串), `name_regex_keep` (字符串), `enabled` (布尔值) | -| `shared_runners_enabled` | boolean | no | 为此项目启用共享跑步者 | -| `visibility` | string | no | See [project visibility level](#project-visibility-level) | -| `import_url` | string | no | 从中导入存储库的 URL | -| `public_builds` | boolean | no | 如果为`true` ,则非项目成员可以查看作业 | -| `only_allow_merge_if_pipeline_succeeds` | boolean | no | 设置是否只能将合并请求与成功的作业合并 | -| `allow_merge_on_skipped_pipeline` | boolean | no | 设置是否可以将合并请求与跳过的作业合并 | -| `only_allow_merge_if_all_discussions_are_resolved` | boolean | no | 设置是否仅在所有讨论都解决后才能合并合并请求 | -| `merge_method` | string | no | 设置使用的[合并方法](#project-merge-method) | -| `autoclose_referenced_issues` | boolean | no | 设置是否自动关闭默认分支上的引用问题 | -| `remove_source_branch_after_merge` | boolean | no | 默认情况下,为所有新合并请求启用" `Delete source branch`选项 | -| `lfs_enabled` | boolean | no | 启用 LFS | -| `request_access_enabled` | boolean | no | 允许用户请求成员访问 | -| `tag_list` | array | no | 项目标签列表; 放置标签数组,这些标签应最终分配给项目 | -| `avatar` | mixed | no | 项目头像的图像文件 | -| `printing_merge_request_link_enabled` | boolean | no | 从命令行推送时显示创建/查看合并请求的链接 | -| `build_git_strategy` | string | no | Git 策略. 默认为`fetch` | -| `build_timeout` | integer | no | 作业可以运行的最长时间(以分钟为单位)(以秒为单位) | -| `auto_cancel_pending_pipelines` | string | no | 自动取消挂起的管道(注意:这不是布尔值,但已启用/禁用 | -| `build_coverage_regex` | string | no | 测试覆盖率解析 | -| `ci_config_path` | string | no | CI 配置文件的路径 | -| `auto_devops_enabled` | boolean | no | 为该项目启用 Auto DevOps | -| `auto_devops_deploy_strategy` | string | no | 自动部署策略( `continuous` , `manual`或`timed_incremental` ) | -| `repository_storage` | string | no | 存储库位于哪个存储分片上. 仅适用于管理员 | -| `approvals_before_merge` | integer | no | 默认情况下,应有多少个批准者批准合并请求 | -| `external_authorization_classification_label` | string | no | 项目的分类标签 | -| `mirror` | boolean | no | 在项目中启用拉镜像 | -| `mirror_trigger_builds` | boolean | no | 拉镜像触发器构建 | -| `initialize_with_readme` | boolean | no | 默认为`false` | -| `template_name` | string | no | 不使用`use_custom_template` ,为[内置项目模板的名称](../gitlab-basics/create-project.html#built-in-templates) . 与`use_custom_template`使用时,自定义项目模板的名称 | -| `template_project_id` | integer | no | 与`use_custom_template`使用时,是自定义项目模板的项目 ID. 这比使用`template_name`更可取,因为`template_name`可能含糊. | -| `use_custom_template` | boolean | no | 使用自定义[实例](../user/admin_area/custom_project_templates.html)或[组](../user/group/custom_project_templates.html) (带有`group_with_project_templates_id` )项目模板 | -| `group_with_project_templates_id` | integer | no | 对于组级别的自定义模板,指定所有自定义项目模板所源自的组的 ID. 将实例级模板留空. 要求`use_custom_template`为 true | -| `packages_enabled` | boolean | no | 启用或禁用软件包存储库功能 | - -**注意:**如果您的 HTTP 存储库不可公开访问,请将身份验证信息添加到 URL: `https://username:password@gitlab.company.com/group/project.git` ,其中`password`是启用了`api`范围的公共访问密钥. - -## Create project for user[](#create-project-for-user "Permalink") - -创建一个由指定用户拥有的新项目. 仅适用于管理员. - -``` -POST /projects/user/:user_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `user_id` | integer | yes | 项目所有者的用户标识 | -| `name` | string | yes | 新项目的名称 | -| `path` | string | no | 新项目的自定义存储库名称. 默认情况下根据名称生成 | -| `namespace_id` | integer | no | Namespace for the new project (defaults to the current user’s namespace) | -| `description` | string | no | 简短的项目说明 | -| `issues_enabled` | boolean | no | (不建议使用)为此项目启用问题. 改用`issues_access_level` | -| `merge_requests_enabled` | boolean | no | (不建议使用)为此项目启用合并请求. 改用`merge_requests_access_level` | -| `jobs_enabled` | boolean | no | (不建议使用)为此项目启用作业. 改用`builds_access_level` | -| `wiki_enabled` | boolean | no | (已弃用)为此项目启用 Wiki. 改用`wiki_access_level` | -| `snippets_enabled` | boolean | no | (不建议使用)为此项目启用摘要. 请改用`snippets_access_level` | -| `issues_access_level` | string | no | `disabled` , `private`或`enabled` | -| `repository_access_level` | string | no | `disabled` , `private`或`enabled` | -| `merge_requests_access_level` | string | no | `disabled` , `private`或`enabled` | -| `forking_access_level` | string | no | `disabled` , `private`或`enabled` | -| `builds_access_level` | string | no | `disabled` , `private`或`enabled` | -| `wiki_access_level` | string | no | `disabled` , `private`或`enabled` | -| `snippets_access_level` | string | no | `disabled` , `private`或`enabled` | -| `pages_access_level` | string | no | `disabled` , `private` , `enabled`或`public` | -| `emails_disabled` | boolean | no | 禁用电子邮件通知 | -| `show_default_award_emojis` | boolean | no | 显示默认的奖励表情符号 | -| `resolve_outdated_diff_discussions` | boolean | no | 自动解决合并请求差异讨论(通过推送更改) | -| `container_registry_enabled` | boolean | no | 为该项目启用容器注册表 | -| `shared_runners_enabled` | boolean | no | 为此项目启用共享跑步者 | -| `visibility` | string | no | See [project visibility level](#project-visibility-level) | -| `import_url` | string | no | 从中导入存储库的 URL | -| `public_builds` | boolean | no | 如果为`true` ,则非项目成员可以查看作业 | -| `only_allow_merge_if_pipeline_succeeds` | boolean | no | 设置是否只能将合并请求与成功的作业合并 | -| `allow_merge_on_skipped_pipeline` | boolean | no | 设置是否可以将合并请求与跳过的作业合并 | -| `only_allow_merge_if_all_discussions_are_resolved` | boolean | no | 设置是否仅在所有讨论都解决后才能合并合并请求 | -| `merge_method` | string | no | 设置使用的[合并方法](#project-merge-method) | -| `autoclose_referenced_issues` | boolean | no | 设置是否自动关闭默认分支上的引用问题 | -| `suggestion_commit_message` | string | no | 用于应用合并请求建议的提交消息 | -| `remove_source_branch_after_merge` | boolean | no | 默认情况下,为所有新合并请求启用" `Delete source branch`选项 | -| `lfs_enabled` | boolean | no | 启用 LFS | -| `request_access_enabled` | boolean | no | 允许用户请求成员访问 | -| `tag_list` | array | no | 项目标签列表; 放置标签数组,这些标签应最终分配给项目 | -| `avatar` | mixed | no | 项目头像的图像文件 | -| `printing_merge_request_link_enabled` | boolean | no | 从命令行推送时显示创建/查看合并请求的链接 | -| `build_git_strategy` | string | no | Git 策略. 默认为`fetch` | -| `build_timeout` | integer | no | 作业可以运行的最长时间(以分钟为单位)(以秒为单位) | -| `auto_cancel_pending_pipelines` | string | no | 自动取消挂起的管道(注意:这不是布尔值,但已启用/禁用 | -| `build_coverage_regex` | string | no | 测试覆盖率解析 | -| `ci_config_path` | string | no | CI 配置文件的路径 | -| `auto_devops_enabled` | boolean | no | 为该项目启用 Auto DevOps | -| `auto_devops_deploy_strategy` | string | no | 自动部署策略( `continuous` , `manual`或`timed_incremental` ) | -| `repository_storage` | string | no | 存储库位于哪个存储分片上. 仅适用于管理员 | -| `approvals_before_merge` | integer | no | 默认情况下,应有多少个批准者批准合并请求 | -| `external_authorization_classification_label` | string | no | 项目的分类标签 | -| `mirror` | boolean | no | 在项目中启用拉镜像 | -| `mirror_trigger_builds` | boolean | no | 拉镜像触发器构建 | -| `initialize_with_readme` | boolean | no | 默认为`false` | -| `template_name` | string | no | 不使用`use_custom_template` ,为[内置项目模板的名称](../gitlab-basics/create-project.html#built-in-templates) . 与`use_custom_template`使用时,自定义项目模板的名称 | -| `use_custom_template` | boolean | no | Use either custom [instance](../user/admin_area/custom_project_templates.html) or [group](../user/group/custom_project_templates.html) (with `group_with_project_templates_id`) project template | -| `group_with_project_templates_id` | integer | no | 对于组级别的自定义模板,指定所有自定义项目模板所源自的组的 ID. 将实例级模板留空. 要求`use_custom_template`为 true | -| `packages_enabled` | boolean | no | 启用或禁用软件包存储库功能 | - -**注意:**如果您的 HTTP 存储库不可公开访问,请将身份验证信息添加到 URL: `https://username:password@gitlab.company.com/group/project.git` ,其中`password`是启用了`api`范围的公共访问密钥. - -## Edit project[](#edit-project "Permalink") - -更新现有项目. - -``` -PUT /projects/:id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `name` | string | no | 项目名称 | -| `path` | string | no | 项目的自定义存储库名称. 默认情况下根据名称生成 | -| `default_branch` | string | no | `master`默认 | -| `description` | string | no | 简短的项目说明 | -| `issues_enabled` | boolean | no | (不建议使用)为此项目启用问题. 改用`issues_access_level` | -| `merge_requests_enabled` | boolean | no | (不建议使用)为此项目启用合并请求. 改用`merge_requests_access_level` | -| `jobs_enabled` | boolean | no | (不建议使用)为此项目启用作业. 改用`builds_access_level` | -| `wiki_enabled` | boolean | no | (已弃用)为此项目启用 Wiki. 改用`wiki_access_level` | -| `snippets_enabled` | boolean | no | (不建议使用)为此项目启用摘要. 请改用`snippets_access_level` | -| `issues_access_level` | string | no | `disabled` , `private`或`enabled` | -| `repository_access_level` | string | no | `disabled` , `private`或`enabled` | -| `merge_requests_access_level` | string | no | `disabled` , `private`或`enabled` | -| `forking_access_level` | string | no | `disabled` , `private`或`enabled` | -| `builds_access_level` | string | no | `disabled` , `private`或`enabled` | -| `wiki_access_level` | string | no | `disabled` , `private`或`enabled` | -| `snippets_access_level` | string | no | `disabled` , `private`或`enabled` | -| `pages_access_level` | string | no | `disabled` , `private` , `enabled`或`public` | -| `emails_disabled` | boolean | no | 禁用电子邮件通知 | -| `show_default_award_emojis` | boolean | no | 显示默认的奖励表情符号 | -| `resolve_outdated_diff_discussions` | boolean | no | 自动解决合并请求差异讨论(通过推送更改) | -| `container_registry_enabled` | boolean | no | 为该项目启用容器注册表 | -| `container_expiration_policy_attributes` | hash | no | 更新此项目的图像过期策略. 接受: `cadence` (字符串), `keep_n` (字符串), `older_than` (字符串), `name_regex` (字符串), `name_regex_delete` (字符串), `name_regex_keep` (字符串), `enabled` (布尔值) | -| `shared_runners_enabled` | boolean | no | 为此项目启用共享跑步者 | -| `visibility` | string | no | See [project visibility level](#project-visibility-level) | -| `import_url` | string | no | 从中导入存储库的 URL | -| `public_builds` | boolean | no | 如果为`true` ,则非项目成员可以查看作业 | -| `only_allow_merge_if_pipeline_succeeds` | boolean | no | 设置是否只能将合并请求与成功的作业合并 | -| `allow_merge_on_skipped_pipeline` | boolean | no | 设置是否可以将合并请求与跳过的作业合并 | -| `only_allow_merge_if_all_discussions_are_resolved` | boolean | no | 设置是否仅在所有讨论都解决后才能合并合并请求 | -| `merge_method` | string | no | 设置使用的[合并方法](#project-merge-method) | -| `autoclose_referenced_issues` | boolean | no | 设置是否自动关闭默认分支上的引用问题 | -| `suggestion_commit_message` | string | no | 用于应用合并请求建议的提交消息 | -| `remove_source_branch_after_merge` | boolean | no | 默认情况下,为所有新合并请求启用" `Delete source branch`选项 | -| `lfs_enabled` | boolean | no | 启用 LFS | -| `request_access_enabled` | boolean | no | 允许用户请求成员访问 | -| `tag_list` | array | no | 项目标签列表; 放置标签数组,这些标签应最终分配给项目 | -| `avatar` | mixed | no | 项目头像的图像文件 | -| `build_git_strategy` | string | no | Git 策略. 默认为`fetch` | -| `build_timeout` | integer | no | 作业可以运行的最长时间(以分钟为单位)(以秒为单位) | -| `auto_cancel_pending_pipelines` | string | no | 自动取消挂起的管道(注意:这不是布尔值,但已启用/禁用 | -| `build_coverage_regex` | string | no | 测试覆盖率解析 | -| `ci_config_path` | string | no | CI 配置文件的路径 | -| `ci_default_git_depth` | integer | no | [浅克隆的](../ci/pipelines/settings.html#git-shallow-clone)默认修订版本数 | -| `auto_devops_enabled` | boolean | no | 为该项目启用 Auto DevOps | -| `auto_devops_deploy_strategy` | string | no | 自动部署策略( `continuous` , `manual`或`timed_incremental` ) | -| `repository_storage` | string | no | 存储库位于哪个存储分片上. 仅适用于管理员 | -| `approvals_before_merge` | integer | no | How many approvers should approve merge request by default | -| `external_authorization_classification_label` | string | no | 项目的分类标签 | -| `mirror` | boolean | no | 在项目中启用拉镜像 | -| `mirror_user_id` | integer | no | 用户负责拉镜事件周围的所有活动. 只能由管理员设置. | -| `mirror_trigger_builds` | boolean | no | 拉镜像触发器构建 | -| `only_mirror_protected_branches` | boolean | no | 仅镜像保护的分支 | -| `mirror_overwrites_diverged_branches` | boolean | no | 拉镜将覆盖分散的分支 | -| `packages_enabled` | boolean | no | 启用或禁用软件包存储库功能 | -| `service_desk_enabled` | boolean | no | 启用或禁用服务台功能 | - -**注意:**如果您的 HTTP 存储库不可公开访问,请将身份验证信息添加到 URL: `https://username:password@gitlab.company.com/group/project.git` ,其中`password`是启用了`api`范围的公共访问密钥. - -## Fork project[](#fork-project "Permalink") - -将项目派生到已认证用户或提供的用户的用户名称空间中. - -项目的分叉操作是异步的,并在后台作业中完成. 该请求将立即返回. 要确定项目的分支是否已完成,请查询`import_status`以获取新项目. - -``` -POST /projects/:id/fork -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `namespace` | integer/string | no | (不建议使用)项目将分叉到的名称空间的 ID 或路径 | -| `namespace_id` | integer | no | 项目将分叉到的名称空间的 ID | -| `namespace_path` | string | no | 项目将分叉到的名称空间的路径 | -| `path` | string | no | 分叉后将分配给结果项目的路径 | -| `name` | string | no | 分叉后将分配给结果项目的名称 | - -## List Forks of a project[](#list-forks-of-a-project "Permalink") - -**注意:**此功能是在 GitLab 10.1 中引入的. - -列出呼叫用户可访问的与指定项目具有已建立的分叉关系的项目 - -``` -GET /projects/:id/forks -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `archived` | boolean | no | 受存档状态限制 | -| `visibility` | string | no | 受`public` , `internal`或`private`可见性的限制 | -| `order_by` | string | no | 返回按`id` , `name` , `path` , `created_at` , `updated_at`或`last_activity_at`字段排序的项目. 默认为`created_at` | -| `sort` | string | no | 返回按`asc`或`desc`顺序排序的项目. 默认为`desc` | -| `search` | string | no | 返回符合搜索条件的项目列表 | -| `simple` | boolean | no | 仅返回每个项目的有限字段. 这是没有身份验证的无操作操作,因为这样*只会*返回简单的字段. | -| `owned` | boolean | no | 受当前用户明确拥有的项目限制 | -| `membership` | boolean | no | 受当前用户是其成员的项目的限制 | -| `starred` | boolean | no | 受当前用户加注星标的项目限制 | -| `statistics` | boolean | no | 包括项目统计 | -| `with_custom_attributes` | boolean | no | 在响应中包括[自定义属性](custom_attributes.html) (仅管理员) | -| `with_issues_enabled` | boolean | no | 受启用的问题限制功能 | -| `with_merge_requests_enabled` | boolean | no | 通过启用的合并请求限制功能 | -| `min_access_level` | integer | no | 受当前用户的最小[访问权限](members.html)限制 | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/forks" -``` - -响应示例: - -``` -[ { "id": 3, "description": null, "default_branch": "master", "visibility": "internal", "ssh_url_to_repo": "git@example.com:diaspora/diaspora-project-site.git", "http_url_to_repo": "http://example.com/diaspora/diaspora-project-site.git", "web_url": "http://example.com/diaspora/diaspora-project-site", "readme_url": "http://example.com/diaspora/diaspora-project-site/blob/master/README.md", "tag_list": [ "example", "disapora project" ], "name": "Diaspora Project Site", "name_with_namespace": "Diaspora / Diaspora Project Site", "path": "diaspora-project-site", "path_with_namespace": "diaspora/diaspora-project-site", "issues_enabled": true, "open_issues_count": 1, "merge_requests_enabled": true, "jobs_enabled": true, "wiki_enabled": true, "snippets_enabled": false, "can_create_merge_request_in": true, "resolve_outdated_diff_discussions": false, "container_registry_enabled": false, "created_at": "2013-09-30T13:46:02Z", "last_activity_at": "2013-09-30T13:46:02Z", "creator_id": 3, "namespace": { "id": 3, "name": "Diaspora", "path": "diaspora", "kind": "group", "full_path": "diaspora" }, "import_status": "none", "archived": true, "avatar_url": "http://example.com/uploads/project/avatar/3/uploads/avatar.png", "shared_runners_enabled": true, "forks_count": 0, "star_count": 1, "public_jobs": true, "shared_with_groups": [], "only_allow_merge_if_pipeline_succeeds": false, "allow_merge_on_skipped_pipeline": false, "only_allow_merge_if_all_discussions_are_resolved": false, "remove_source_branch_after_merge": false, "request_access_enabled": false, "merge_method": "merge", "autoclose_referenced_issues": true, "suggestion_commit_message": null, "_links": { "self": "http://example.com/api/v4/projects", "issues": "http://example.com/api/v4/projects/1/issues", "merge_requests": "http://example.com/api/v4/projects/1/merge_requests", "repo_branches": "http://example.com/api/v4/projects/1/repository_branches", "labels": "http://example.com/api/v4/projects/1/labels", "events": "http://example.com/api/v4/projects/1/events", "members": "http://example.com/api/v4/projects/1/members" } } ] -``` - -## Star a project[](#star-a-project "Permalink") - -明星给定的项目. 如果项目已加星标,则返回状态码`304` . - -``` -POST /projects/:id/star -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/star" -``` - -响应示例: - -``` -{ "id": 3, "description": null, "default_branch": "master", "visibility": "internal", "ssh_url_to_repo": "git@example.com:diaspora/diaspora-project-site.git", "http_url_to_repo": "http://example.com/diaspora/diaspora-project-site.git", "web_url": "http://example.com/diaspora/diaspora-project-site", "readme_url": "http://example.com/diaspora/diaspora-project-site/blob/master/README.md", "tag_list": [ "example", "disapora project" ], "name": "Diaspora Project Site", "name_with_namespace": "Diaspora / Diaspora Project Site", "path": "diaspora-project-site", "path_with_namespace": "diaspora/diaspora-project-site", "issues_enabled": true, "open_issues_count": 1, "merge_requests_enabled": true, "jobs_enabled": true, "wiki_enabled": true, "snippets_enabled": false, "can_create_merge_request_in": true, "resolve_outdated_diff_discussions": false, "container_registry_enabled": false, "created_at": "2013-09-30T13:46:02Z", "last_activity_at": "2013-09-30T13:46:02Z", "creator_id": 3, "namespace": { "id": 3, "name": "Diaspora", "path": "diaspora", "kind": "group", "full_path": "diaspora" }, "import_status": "none", "archived": true, "avatar_url": "http://example.com/uploads/project/avatar/3/uploads/avatar.png", "license_url": "http://example.com/diaspora/diaspora-client/blob/master/LICENSE", "license": { "key": "lgpl-3.0", "name": "GNU Lesser General Public License v3.0", "nickname": "GNU LGPLv3", "html_url": "http://choosealicense.com/licenses/lgpl-3.0/", "source_url": "http://www.gnu.org/licenses/lgpl-3.0.txt" }, "shared_runners_enabled": true, "forks_count": 0, "star_count": 1, "public_jobs": true, "shared_with_groups": [], "only_allow_merge_if_pipeline_succeeds": false, "allow_merge_on_skipped_pipeline": false, "only_allow_merge_if_all_discussions_are_resolved": false, "remove_source_branch_after_merge": false, "request_access_enabled": false, "merge_method": "merge", "autoclose_referenced_issues": true, "suggestion_commit_message": null, "_links": { "self": "http://example.com/api/v4/projects", "issues": "http://example.com/api/v4/projects/1/issues", "merge_requests": "http://example.com/api/v4/projects/1/merge_requests", "repo_branches": "http://example.com/api/v4/projects/1/repository_branches", "labels": "http://example.com/api/v4/projects/1/labels", "events": "http://example.com/api/v4/projects/1/events", "members": "http://example.com/api/v4/projects/1/members" } } -``` - -## Unstar a project[](#unstar-a-project "Permalink") - -取消给定项目的星标. 如果项目未加星标,则返回状态码`304` . - -``` -POST /projects/:id/unstar -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/unstar" -``` - -响应示例: - -``` -{ "id": 3, "description": null, "default_branch": "master", "visibility": "internal", "ssh_url_to_repo": "git@example.com:diaspora/diaspora-project-site.git", "http_url_to_repo": "http://example.com/diaspora/diaspora-project-site.git", "web_url": "http://example.com/diaspora/diaspora-project-site", "readme_url": "http://example.com/diaspora/diaspora-project-site/blob/master/README.md", "tag_list": [ "example", "disapora project" ], "name": "Diaspora Project Site", "name_with_namespace": "Diaspora / Diaspora Project Site", "path": "diaspora-project-site", "path_with_namespace": "diaspora/diaspora-project-site", "issues_enabled": true, "open_issues_count": 1, "merge_requests_enabled": true, "jobs_enabled": true, "wiki_enabled": true, "snippets_enabled": false, "can_create_merge_request_in": true, "resolve_outdated_diff_discussions": false, "container_registry_enabled": false, "created_at": "2013-09-30T13:46:02Z", "last_activity_at": "2013-09-30T13:46:02Z", "creator_id": 3, "namespace": { "id": 3, "name": "Diaspora", "path": "diaspora", "kind": "group", "full_path": "diaspora" }, "import_status": "none", "archived": true, "avatar_url": "http://example.com/uploads/project/avatar/3/uploads/avatar.png", "license_url": "http://example.com/diaspora/diaspora-client/blob/master/LICENSE", "license": { "key": "lgpl-3.0", "name": "GNU Lesser General Public License v3.0", "nickname": "GNU LGPLv3", "html_url": "http://choosealicense.com/licenses/lgpl-3.0/", "source_url": "http://www.gnu.org/licenses/lgpl-3.0.txt" }, "shared_runners_enabled": true, "forks_count": 0, "star_count": 0, "public_jobs": true, "shared_with_groups": [], "only_allow_merge_if_pipeline_succeeds": false, "allow_merge_on_skipped_pipeline": false, "only_allow_merge_if_all_discussions_are_resolved": false, "remove_source_branch_after_merge": false, "request_access_enabled": false, "merge_method": "merge", "autoclose_referenced_issues": true, "suggestion_commit_message": null, "_links": { "self": "http://example.com/api/v4/projects", "issues": "http://example.com/api/v4/projects/1/issues", "merge_requests": "http://example.com/api/v4/projects/1/merge_requests", "repo_branches": "http://example.com/api/v4/projects/1/repository_branches", "labels": "http://example.com/api/v4/projects/1/labels", "events": "http://example.com/api/v4/projects/1/events", "members": "http://example.com/api/v4/projects/1/members" } } -``` - -## List Starrers of a project[](#list-starrers-of-a-project "Permalink") - -列出为指定项目加注星标的用户. - -``` -GET /projects/:id/starrers -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `search` | string | no | 搜索特定用户. | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/starrers" -``` - -响应示例: - -``` -[ { "starred_since": "2019-01-28T14:47:30.642Z", "user": { "id": 1, "username": "jane_smith", "name": "Jane Smith", "state": "active", "avatar_url": "http://localhost:3000/uploads/user/avatar/1/cd8.jpeg", "web_url": "http://localhost:3000/jane_smith" } }, "starred_since": "2018-01-02T11:40:26.570Z", "user": { "id": 2, "username": "janine_smith", "name": "Janine Smith", "state": "blocked", "avatar_url": "http://gravatar.com/../e32131cd8.jpeg", "web_url": "http://localhost:3000/janine_smith" } ] -``` - -## Languages[](#languages "Permalink") - -获取具有百分比值的项目中使用的语言. - -``` -GET /projects/:id/languages -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/languages" -``` - -响应示例: - -``` -{ "Ruby": 66.69, "JavaScript": 22.98, "HTML": 7.91, "CoffeeScript": 2.42 } -``` - -## Archive a project[](#archive-a-project "Permalink") - -如果用户是该项目的管理员或项目所有者,则归档该项目. 此操作是幂等的,因此归档已归档的项目不会更改该项目. - -``` -POST /projects/:id/archive -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/archive" -``` - -响应示例: - -``` -{ "id": 3, "description": null, "default_branch": "master", "visibility": "private", "ssh_url_to_repo": "git@example.com:diaspora/diaspora-project-site.git", "http_url_to_repo": "http://example.com/diaspora/diaspora-project-site.git", "web_url": "http://example.com/diaspora/diaspora-project-site", "readme_url": "http://example.com/diaspora/diaspora-project-site/blob/master/README.md", "tag_list": [ "example", "disapora project" ], "owner": { "id": 3, "name": "Diaspora", "created_at": "2013-09-30T13:46:02Z" }, "name": "Diaspora Project Site", "name_with_namespace": "Diaspora / Diaspora Project Site", "path": "diaspora-project-site", "path_with_namespace": "diaspora/diaspora-project-site", "issues_enabled": true, "open_issues_count": 1, "merge_requests_enabled": true, "jobs_enabled": true, "wiki_enabled": true, "snippets_enabled": false, "can_create_merge_request_in": true, "resolve_outdated_diff_discussions": false, "container_registry_enabled": false, "created_at": "2013-09-30T13:46:02Z", "last_activity_at": "2013-09-30T13:46:02Z", "creator_id": 3, "namespace": { "id": 3, "name": "Diaspora", "path": "diaspora", "kind": "group", "full_path": "diaspora" }, "import_status": "none", "import_error": null, "permissions": { "project_access": { "access_level": 10, "notification_level": 3 }, "group_access": { "access_level": 50, "notification_level": 3 } }, "archived": true, "avatar_url": "http://example.com/uploads/project/avatar/3/uploads/avatar.png", "license_url": "http://example.com/diaspora/diaspora-client/blob/master/LICENSE", "license": { "key": "lgpl-3.0", "name": "GNU Lesser General Public License v3.0", "nickname": "GNU LGPLv3", "html_url": "http://choosealicense.com/licenses/lgpl-3.0/", "source_url": "http://www.gnu.org/licenses/lgpl-3.0.txt" }, "shared_runners_enabled": true, "forks_count": 0, "star_count": 0, "runners_token": "b8bc4a7a29eb76ea83cf79e4908c2b", "ci_default_git_depth": 50, "public_jobs": true, "shared_with_groups": [], "only_allow_merge_if_pipeline_succeeds": false, "allow_merge_on_skipped_pipeline": false, "only_allow_merge_if_all_discussions_are_resolved": false, "remove_source_branch_after_merge": false, "request_access_enabled": false, "merge_method": "merge", "autoclose_referenced_issues": true, "suggestion_commit_message": null, "_links": { "self": "http://example.com/api/v4/projects", "issues": "http://example.com/api/v4/projects/1/issues", "merge_requests": "http://example.com/api/v4/projects/1/merge_requests", "repo_branches": "http://example.com/api/v4/projects/1/repository_branches", "labels": "http://example.com/api/v4/projects/1/labels", "events": "http://example.com/api/v4/projects/1/events", "members": "http://example.com/api/v4/projects/1/members" } } -``` - -## Unarchive a project[](#unarchive-a-project "Permalink") - -如果用户是该项目的管理员或项目所有者,则取消归档该项目. 此操作是幂等的,因此取消存档未存档的项目不会更改该项目. - -``` -POST /projects/:id/unarchive -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/unarchive" -``` - -响应示例: - -``` -{ "id": 3, "description": null, "default_branch": "master", "visibility": "private", "ssh_url_to_repo": "git@example.com:diaspora/diaspora-project-site.git", "http_url_to_repo": "http://example.com/diaspora/diaspora-project-site.git", "web_url": "http://example.com/diaspora/diaspora-project-site", "readme_url": "http://example.com/diaspora/diaspora-project-site/blob/master/README.md", "tag_list": [ "example", "disapora project" ], "owner": { "id": 3, "name": "Diaspora", "created_at": "2013-09-30T13:46:02Z" }, "name": "Diaspora Project Site", "name_with_namespace": "Diaspora / Diaspora Project Site", "path": "diaspora-project-site", "path_with_namespace": "diaspora/diaspora-project-site", "issues_enabled": true, "open_issues_count": 1, "merge_requests_enabled": true, "jobs_enabled": true, "wiki_enabled": true, "snippets_enabled": false, "can_create_merge_request_in": true, "resolve_outdated_diff_discussions": false, "container_registry_enabled": false, "created_at": "2013-09-30T13:46:02Z", "last_activity_at": "2013-09-30T13:46:02Z", "creator_id": 3, "namespace": { "id": 3, "name": "Diaspora", "path": "diaspora", "kind": "group", "full_path": "diaspora" }, "import_status": "none", "import_error": null, "permissions": { "project_access": { "access_level": 10, "notification_level": 3 }, "group_access": { "access_level": 50, "notification_level": 3 } }, "archived": false, "avatar_url": "http://example.com/uploads/project/avatar/3/uploads/avatar.png", "license_url": "http://example.com/diaspora/diaspora-client/blob/master/LICENSE", "license": { "key": "lgpl-3.0", "name": "GNU Lesser General Public License v3.0", "nickname": "GNU LGPLv3", "html_url": "http://choosealicense.com/licenses/lgpl-3.0/", "source_url": "http://www.gnu.org/licenses/lgpl-3.0.txt" }, "shared_runners_enabled": true, "forks_count": 0, "star_count": 0, "runners_token": "b8bc4a7a29eb76ea83cf79e4908c2b", "ci_default_git_depth": 50, "public_jobs": true, "shared_with_groups": [], "only_allow_merge_if_pipeline_succeeds": false, "allow_merge_on_skipped_pipeline": false, "only_allow_merge_if_all_discussions_are_resolved": false, "remove_source_branch_after_merge": false, "request_access_enabled": false, "merge_method": "merge", "autoclose_referenced_issues": true, "suggestion_commit_message": null, "_links": { "self": "http://example.com/api/v4/projects", "issues": "http://example.com/api/v4/projects/1/issues", "merge_requests": "http://example.com/api/v4/projects/1/merge_requests", "repo_branches": "http://example.com/api/v4/projects/1/repository_branches", "labels": "http://example.com/api/v4/projects/1/labels", "events": "http://example.com/api/v4/projects/1/events", "members": "http://example.com/api/v4/projects/1/members" } } -``` - -## Remove project[](#remove-project "Permalink") - -该端点: - -* 删除包含所有相关资源(问题,合并请求等)的项目. -* 从[Premium 或 Silver](https://about.gitlab.com/pricing/)或更高级别的[GitLab 12.6](https://gitlab.com/gitlab-org/gitlab/-/issues/32935)开始,将项目标记为删除. 实际删除发生在[实例设置中](../user/admin_area/settings/visibility_and_access_controls.html#default-deletion-adjourned-period-premium-only)指定的天数之后. - -``` -DELETE /projects/:id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | - -## Restore project marked for deletion[](#restore-project-marked-for-deletion-premium "Permalink") - -在 GitLab 12.6 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/32935) . - -恢复标记为删除的项目. - -``` -POST /projects/:id/restore -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | - -## Upload a file[](#upload-a-file "Permalink") - -将文件上载到指定的项目,以在发布或合并请求描述或注释中使用. - -``` -POST /projects/:id/uploads -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `file` | string | yes | 要上传的文件 | - -要从文件系统上载文件,请使用`--form`参数. 这将导致 cURL 使用标题`Content-Type: multipart/form-data` . `file=`参数必须指向文件系统上的文件,并以`@`开头. 例如: - -``` -curl --request POST --header "PRIVATE-TOKEN: " --form "file=@dk.png" "https://gitlab.example.com/api/v4/projects/5/uploads" -``` - -Returned object: - -``` -{ "alt": "dk", "url": "/uploads/66dbcd21ec5d24ed6ea225176098d52b/dk.png", "full_path": "/namespace1/project1/uploads/66dbcd21ec5d24ed6ea225176098d52b/dk.png", "markdown": "![dk](/uploads/66dbcd21ec5d24ed6ea225176098d52b/dk.png)" } -``` - -> **注意** :返回的`url`是相对于项目路径的. 返回的`full_path`是文件的绝对路径. 在 Markdown 上下文中,当使用`markdown`的格式时,链接会自动展开. - -## Share project with group[](#share-project-with-group "Permalink") - -允许与小组共享项目. - -``` -POST /projects/:id/share -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `group_id` | integer | yes | 与之共享的组的 ID | -| `group_access` | integer | yes | 授予组的[权限级别](members.html) | -| `expires_at` | string | no | ISO 8601 格式的股份到期日:2016-09-26 | - -## Delete a shared project link within a group[](#delete-a-shared-project-link-within-a-group "Permalink") - -从小组取消共享项目. 返回`204` ,成功则不返回任何内容. - -``` -DELETE /projects/:id/share/:group_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `group_id` | integer | yes | 组的 ID | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/share/17" -``` - -## Hooks[](#hooks "Permalink") - -也称为 Project Hooks 和 Webhooks. 对于系统范围的[系统挂钩](system_hooks.html) ,这些是不同的. - -### List project hooks[](#list-project-hooks "Permalink") - -获取项目挂钩的列表. - -``` -GET /projects/:id/hooks -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | - -### Get project hook[](#get-project-hook "Permalink") - -获取项目的特定挂钩. - -``` -GET /projects/:id/hooks/:hook_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `hook_id` | integer | yes | 项目挂钩的 ID | - -``` -{ "id": 1, "url": "http://example.com/hook", "project_id": 3, "push_events": true, "push_events_branch_filter": "", "issues_events": true, "confidential_issues_events": true, "merge_requests_events": true, "tag_push_events": true, "note_events": true, "confidential_note_events": true, "job_events": true, "pipeline_events": true, "wiki_page_events": true, "enable_ssl_verification": true, "created_at": "2012-10-12T17:04:47Z" } -``` - -### Add project hook[](#add-project-hook "Permalink") - -将钩子添加到指定项目. - -``` -POST /projects/:id/hooks -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `url` | string | yes | 挂钩网址 | -| `push_events` | boolean | no | 在推送事件上触发钩子 | -| `push_events_branch_filter` | string | no | 触发推送事件上的钩子,仅用于匹配分支 | -| `issues_events` | boolean | no | 触发问题事件挂钩 | -| `confidential_issues_events` | boolean | no | 触发机密问题事件的钩子 | -| `merge_requests_events` | boolean | no | 触发合并请求事件的钩子 | -| `tag_push_events` | boolean | no | 触发标签推送事件的钩子 | -| `note_events` | boolean | no | 在音符事件上触发钩子 | -| `confidential_note_events` | boolean | no | 触发机密笔记事件的钩子 | -| `job_events` | boolean | no | 触发工作事件挂钩 | -| `pipeline_events` | boolean | no | 触发管道事件钩子 | -| `wiki_page_events` | boolean | no | 触发 Wiki 事件的钩子 | -| `enable_ssl_verification` | boolean | no | 触发挂钩时执行 SSL 验证 | -| `token` | string | no | 用于验证收到的有效载荷的秘密令牌; 这将不会在响应中返回 | - -### Edit project hook[](#edit-project-hook "Permalink") - -Edits a hook for a specified project. - -``` -PUT /projects/:id/hooks/:hook_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `hook_id` | integer | yes | 项目挂钩的 ID | -| `url` | string | yes | 挂钩网址 | -| `push_events` | boolean | no | 在推送事件上触发钩子 | -| `push_events_branch_filter` | string | no | 触发推送事件上的钩子,仅用于匹配分支 | -| `issues_events` | boolean | no | Trigger hook on issues events | -| `confidential_issues_events` | boolean | no | 触发机密问题事件的钩子 | -| `merge_requests_events` | boolean | no | 触发合并请求事件的钩子 | -| `tag_push_events` | boolean | no | 触发标签推送事件的钩子 | -| `note_events` | boolean | no | 在音符事件上触发钩子 | -| `confidential_note_events` | boolean | no | 触发机密笔记事件的钩子 | -| `job_events` | boolean | no | 触发工作事件挂钩 | -| `pipeline_events` | boolean | no | 触发管道事件钩子 | -| `wiki_events` | boolean | no | 触发 Wiki 事件的钩子 | -| `enable_ssl_verification` | boolean | no | 触发挂钩时执行 SSL 验证 | -| `token` | string | no | 用于验证收到的有效载荷的秘密令牌; 这将不会在响应中返回 | - -### Delete project hook[](#delete-project-hook "Permalink") - -从项目中删除一个钩子. 这是幂等方法,可以多次调用. 挂钩是否可用. - -``` -DELETE /projects/:id/hooks/:hook_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `hook_id` | integer | yes | 项目挂钩的 ID | - -请注意,无论挂钩是否可用,JSON 响应都会有所不同. 如果项目挂钩在 JSON 响应中返回之前可用,或者返回空响应. - -## Fork relationship[](#fork-relationship "Permalink") - -允许修改现有项目之间的分支关系. 仅适用于项目所有者和管理员. - -### Create a forked from/to relation between existing projects[](#create-a-forked-fromto-relation-between-existing-projects "Permalink") - -``` -POST /projects/:id/fork/:forked_from_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `forked_from_id` | ID | yes | 分叉的项目的 ID | - -### Delete an existing forked from relationship[](#delete-an-existing-forked-from-relationship "Permalink") - -``` -DELETE /projects/:id/fork -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | - -## Search for projects by name[](#search-for-projects-by-name "Permalink") - -通过名称搜索可通过身份验证的用户访问的项目. 如果可以公开访问该项目,则无需身份验证即可访问该端点. - -``` -GET /projects -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `search` | string | yes | 项目名称中包含的字符串 | -| `order_by` | string | no | 返回按`id` , `name` , `created_at`或`last_activity_at`字段排序的请求 | -| `sort` | string | no | 返回请求按`asc`或`desc`排序 | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects?search=test" -``` - -## Start the Housekeeping task for a Project[](#start-the-housekeeping-task-for-a-project "Permalink") - -在 GitLab 9.0 中引入. - -``` -POST /projects/:id/housekeeping -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目或 NAMESPACE / PROJECT_NAME 的 ID | - -## Push Rules[](#push-rules-starter "Permalink") - -### Get project push rules[](#get-project-push-rules "Permalink") - -获取项目的推送规则. - -``` -GET /projects/:id/push_rule -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目或 NAMESPACE / PROJECT_NAME 的 ID | - -``` -{ "id": 1, "project_id": 3, "commit_message_regex": "Fixes \d+\..*", "commit_message_negative_regex": "ssh\:\/\/", "branch_name_regex": "", "deny_delete_tag": false, "created_at": "2012-10-12T17:04:47Z", "member_check": false, "prevent_secrets": false, "author_email_regex": "", "file_name_regex": "", "max_file_size": 5, "commit_committer_check": false, "reject_unsigned_commits": false } -``` - -使用 GitLab [Premium,Silver 或更高版本的用户](https://about.gitlab.com/pricing/)还将看到`commit_committer_check`和`reject_unsigned_commits`参数: - -``` -{ "id": 1, "project_id": 3, "commit_committer_check": false, "reject_unsigned_commits": false ... } -``` - -### Add project push rule[](#add-project-push-rule "Permalink") - -将推送规则添加到指定项目. - -``` -POST /projects/:id/push_rule -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目或 NAMESPACE / PROJECT_NAME 的 ID | -| `deny_delete_tag` | boolean | no | 拒绝删除标签 | -| `member_check` | boolean | no | 限制作者(电子邮件)对现有 GitLab 用户的提交 | -| `prevent_secrets` | boolean | no | GitLab 将拒绝任何可能包含机密的文件 | -| `commit_message_regex` | string | no | 所有提交消息都必须与此匹配,例如`Fixed \d+\..*` | -| `commit_message_negative_regex` | string | no | 不允许任何提交消息与此匹配,例如`ssh\:\/\/` | -| `branch_name_regex` | string | no | 所有分支名称必须与此匹配,例如`(feature|hotfix)\/*` | -| `author_email_regex` | string | no | 所有提交作者的电子邮件都必须与此匹配,例如`@my-company.com$` | -| `file_name_regex` | string | no | 所有提交的文件名都**不能**与此匹配,例如`(jar|exe)$` | -| `max_file_size` | integer | no | 档案大小上限(MB) | -| `commit_committer_check` | boolean | no | 用户只能将使用自己的已验证电子邮件之一提交的提交推送到该存储库. | -| `reject_unsigned_commits` | boolean | no | 如果未通过 GPG 签名,则拒绝提交. | - -### Edit project push rule[](#edit-project-push-rule "Permalink") - -编辑指定项目的推送规则. - -``` -PUT /projects/:id/push_rule -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目或 NAMESPACE / PROJECT_NAME 的 ID | -| `deny_delete_tag` | boolean | no | 拒绝删除标签 | -| `member_check` | boolean | no | 限制作者(电子邮件)对现有 GitLab 用户的提交 | -| `prevent_secrets` | boolean | no | GitLab will reject any files that are likely to contain secrets | -| `commit_message_regex` | string | no | 所有提交消息都必须与此匹配,例如`Fixed \d+\..*` | -| `commit_message_negative_regex` | string | no | 不允许任何提交消息与此匹配,例如`ssh\:\/\/` | -| `branch_name_regex` | string | no | 所有分支名称必须与此匹配,例如`(feature|hotfix)\/*` | -| `author_email_regex` | string | no | 所有提交作者的电子邮件都必须与此匹配,例如`@my-company.com$` | -| `file_name_regex` | string | no | 所有提交的文件名都**不能**与此匹配,例如`(jar|exe)$` | -| `max_file_size` | integer | no | 档案大小上限(MB) | -| `commit_committer_check` | boolean | no | 用户只能将使用自己的已验证电子邮件之一提交的提交推送到该存储库. | -| `reject_unsigned_commits` | boolean | no | 没有 GPG 签名时拒绝提交. | - -### Delete project push rule[](#delete-project-push-rule "Permalink") - -在[GitLab Starter](https://about.gitlab.com/pricing/) 9.0 中引入. - -从项目中删除推送规则. 这是幂等方法,可以多次调用. 推送规则是否可用. - -``` -DELETE /projects/:id/push_rule -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | - -## Transfer a project to a new namespace[](#transfer-a-project-to-a-new-namespace "Permalink") - -在 GitLab 11.1 中引入. - -``` -PUT /projects/:id/transfer -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `namespace` | integer/string | yes | 要转移到项目的名称空间的 ID 或路径 | - -## Branches[](#branches "Permalink") - -在" [分支机构"](branches.html)文档中了解更多信息. - -## Project Import/Export[](#project-importexport "Permalink") - -在[项目导入/导出](project_import_export.html)文档中了解更多信息. - -## Project members[](#project-members "Permalink") - -在[项目成员](members.html)文档中了解更多信息. - -## Start the pull mirroring process for a Project[](#start-the-pull-mirroring-process-for-a-project-starter "Permalink") - -在[GitLab Starter](https://about.gitlab.com/pricing/) 10.3 中引入. - -``` -POST /projects/:id/mirror/pull -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/:id/mirror/pull" -``` - -## Project badges[](#project-badges "Permalink") - -在[Project Badges](project_badges.html)文档中了解更多信息. - -## Issue and merge request description templates[](#issue-and-merge-request-description-templates "Permalink") - -非默认的[问题和合并请求描述模板](../user/project/description_templates.html)在项目的存储库中进行管理. 因此,您可以通过[Repositories API](repositories.html)和[Repository Files API](repository_files.html)通过 API 管理它们. - -## Download snapshot of a Git repository[](#download-snapshot-of-a-git-repository "Permalink") - -在 GitLab 10.7 中引入 - -该端点只能由管理用户访问. - -下载项目(或 Wiki,如果需要)Git 存储库的快照. 该快照始终为未压缩的[tar](https://en.wikipedia.org/wiki/Tar_(computing))格式. - -如果存储库损坏到`git clone`不起作用的程度,则快照可能允许检索某些数据. - -``` -GET /projects/:id/snapshot -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `wiki` | boolean | no | 是否下载 Wiki,而不是项目存储库 | \ No newline at end of file diff --git a/docs/354.md b/docs/354.md deleted file mode 100644 index fbc6745..0000000 --- a/docs/354.md +++ /dev/null @@ -1,174 +0,0 @@ -# Protected branches API - -> 原文:[https://docs.gitlab.com/ee/api/protected_branches.html](https://docs.gitlab.com/ee/api/protected_branches.html) - -* [List protected branches](#list-protected-branches) -* [Get a single protected branch or wildcard protected branch](#get-a-single-protected-branch-or-wildcard-protected-branch) -* [Protect repository branches](#protect-repository-branches) - * [Example with user / group level access](#example-with-user--group-level-access-starter) -* [Unprotect repository branches](#unprotect-repository-branches) -* [Require code owner approvals for a single branch](#require-code-owner-approvals-for-a-single-branch) - -# Protected branches API[](#protected-branches-api "Permalink") - -**注意:**此功能是在 GitLab 9.5 中引入的 - -**有效的访问级别** - -访问级别在`ProtectedRefAccess.allowed_access_levels`方法中定义. 当前,这些级别被认可: - -``` -0 => No access -30 => Developer access -40 => Maintainer access -60 => Admin access -``` - -## List protected branches[](#list-protected-branches "Permalink") - -从项目中获取受保护分支的列表. - -``` -GET /projects/:id/protected_branches -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `search` | string | no | 要搜索的受保护分支的名称或名称的一部分 | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/protected_branches" -``` - -响应示例: - -``` -[ { "id": 1, "name": "master", "push_access_levels": [ { "access_level": 40, "access_level_description": "Maintainers" } ], "merge_access_levels": [ { "access_level": 40, "access_level_description": "Maintainers" } ], "code_owner_approval_required": "false" }, ... ] -``` - -使用 GitLab [Starter,Bronze 或更高版本的用户](https://about.gitlab.com/pricing/)还将看到`user_id`和`group_id`参数: - -响应示例: - -``` -[ { "id": 1, "name": "master", "push_access_levels": [ { "access_level": 40, "user_id": null, "group_id": null, "access_level_description": "Maintainers" } ], "merge_access_levels": [ { "access_level": null, "user_id": null, "group_id": 1234, "access_level_description": "Example Merge Group" } ], "code_owner_approval_required": "false" }, ... ] -``` - -## Get a single protected branch or wildcard protected branch[](#get-a-single-protected-branch-or-wildcard-protected-branch "Permalink") - -获取单个受保护分支或通配符受保护分支. - -``` -GET /projects/:id/protected_branches/:name -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `name` | string | yes | 分支或通配符的名称 | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/protected_branches/master" -``` - -响应示例: - -``` -{ "id": 1, "name": "master", "push_access_levels": [ { "access_level": 40, "access_level_description": "Maintainers" } ], "merge_access_levels": [ { "access_level": 40, "access_level_description": "Maintainers" } ], "code_owner_approval_required": "false" } -``` - -使用 GitLab [Starter,Bronze 或更高版本的用户](https://about.gitlab.com/pricing/)还将看到`user_id`和`group_id`参数: - -响应示例: - -``` -{ "id": 1, "name": "master", "push_access_levels": [ { "access_level": 40, "user_id": null, "group_id": null, "access_level_description": "Maintainers" } ], "merge_access_levels": [ { "access_level": null, "user_id": null, "group_id": 1234, "access_level_description": "Example Merge Group" } ], "code_owner_approval_required": "false" } -``` - -## Protect repository branches[](#protect-repository-branches "Permalink") - -使用通配符保护的分支来保护单个存储库分支或几个项目存储库分支. - -``` -POST /projects/:id/protected_branches -``` - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/protected_branches?name=*-stable&push_access_level=30&merge_access_level=30&unprotect_access_level=40" -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `name` | string | yes | 分支或通配符的名称 | -| `push_access_level` | string | no | 允许推送的访问级别(默认值: `40` ,维护者访问级别) | -| `merge_access_level` | string | no | 允许合并的访问级别(默认值: `40` ,维护者访问级别) | -| `unprotect_access_level` | string | no | 允许取消保护的访问级别(默认值: `40` ,维护者访问级别) | -| `allowed_to_push` | array | no | 允许推送的访问级别数组,每个访问级别由一个哈希表描述 | -| `allowed_to_merge` | array | no | 允许合并的访问级别数组,每个访问级别由哈希描述 | -| `allowed_to_unprotect` | array | no | 允许取消保护的访问级别数组,每个访问级别由一个哈希表描述 | -| `code_owner_approval_required` | boolean | no | 如果它与[`CODEOWNERS`文件](../user/project/code_owners.html)中的项目匹配,则阻止推送到此分支. (默认值:false) | - -响应示例: - -``` -{ "id": 1, "name": "*-stable", "push_access_levels": [ { "access_level": 30, "access_level_description": "Developers + Maintainers" } ], "merge_access_levels": [ { "access_level": 30, "access_level_description": "Developers + Maintainers" } ], "unprotect_access_levels": [ { "access_level": 40, "access_level_description": "Maintainers" } ], "code_owner_approval_required": "false" } -``` - -使用 GitLab [Starter,Bronze 或更高版本的用户](https://about.gitlab.com/pricing/)还将看到`user_id`和`group_id`参数: - -响应示例: - -``` -{ "id": 1, "name": "*-stable", "push_access_levels": [ { "access_level": 30, "user_id": null, "group_id": null, "access_level_description": "Developers + Maintainers" } ], "merge_access_levels": [ { "access_level": 30, "user_id": null, "group_id": null, "access_level_description": "Developers + Maintainers" } ], "unprotect_access_levels": [ { "access_level": 40, "user_id": null, "group_id": null, "access_level_description": "Maintainers" } ], "code_owner_approval_required": "false" } -``` - -### Example with user / group level access[](#example-with-user--group-level-access-starter "Permalink") - -`allowed_to_push` / `allowed_to_merge` / `allowed_to_unprotect`数组中的元素应采用`{user_id: integer}` , `{group_id: integer}`或`{access_level: integer}` . 每个用户必须有权访问该项目,并且每个组都必须[共享该项目](../user/project/members/share_project_with_groups.html) . 这些访问级别允许[对受保护的分支访问](../user/project/protected_branches.html#restricting-push-and-merge-access-to-certain-users-starter)进行[更精细的控制,](../user/project/protected_branches.html#restricting-push-and-merge-access-to-certain-users-starter)并在 GitLab 10.3 EE [中将其添加到 API 中](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/3516) . - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/protected_branches?name=*-stable&allowed_to_push%5B%5D%5Buser_id%5D=1" -``` - -响应示例: - -``` -{ "id": 1, "name": "*-stable", "push_access_levels": [ { "access_level": null, "user_id": 1, "group_id": null, "access_level_description": "Administrator" } ], "merge_access_levels": [ { "access_level": 40, "user_id": null, "group_id": null, "access_level_description": "Maintainers" } ], "unprotect_access_levels": [ { "access_level": 40, "user_id": null, "group_id": null, "access_level_description": "Maintainers" } ], "code_owner_approval_required": "false" } -``` - -## Unprotect repository branches[](#unprotect-repository-branches "Permalink") - -取消保护给定的受保护分支或通配符受保护分支. - -``` -DELETE /projects/:id/protected_branches/:name -``` - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/protected_branches/*-stable" -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `name` | string | yes | 分支名称 | - -## Require code owner approvals for a single branch[](#require-code-owner-approvals-for-a-single-branch "Permalink") - -为给定的受保护分支受保护分支更新"需要代码所有者批准"选项. - -``` -PATCH /projects/:id/protected_branches/:name -``` - -``` -curl --request PATCH --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/protected_branches/feature-branch" -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `name` | string | yes | 分支名称 | -| `code_owner_approval_required` | boolean | no | 如果它与[`CODEOWNERS`文件](../user/project/code_owners.html)中的项目匹配,则阻止推送到此分支. (默认值:false) | \ No newline at end of file diff --git a/docs/355.md b/docs/355.md deleted file mode 100644 index db72735..0000000 --- a/docs/355.md +++ /dev/null @@ -1,108 +0,0 @@ -# Protected tags API - -> 原文:[https://docs.gitlab.com/ee/api/protected_tags.html](https://docs.gitlab.com/ee/api/protected_tags.html) - -* [List protected tags](#list-protected-tags) -* [Get a single protected tag or wildcard protected tag](#get-a-single-protected-tag-or-wildcard-protected-tag) -* [Protect repository tags](#protect-repository-tags) -* [Unprotect repository tags](#unprotect-repository-tags) - -# Protected tags API[](#protected-tags-api "Permalink") - -**注意:**此功能是在 GitLab 11.3 中引入的 - -**有效的访问级别** - -当前,这些级别被认可: - -``` -0 => No access -30 => Developer access -40 => Maintainer access -``` - -## List protected tags[](#list-protected-tags "Permalink") - -从项目中获取受保护标签的列表. 此函数使用分页参数`page`和`per_page`来限制受保护标签的列表. - -``` -GET /projects/:id/protected_tags -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/protected_tags" -``` - -响应示例: - -``` -[ { "name": "release-1-0", "create_access_levels": [ { "access_level": 40, "access_level_description": "Maintainers" } ] }, ... ] -``` - -## Get a single protected tag or wildcard protected tag[](#get-a-single-protected-tag-or-wildcard-protected-tag "Permalink") - -获取单个受保护标签或通配符受保护标签. 分页参数`page`和`per_page`可用于限制受保护标签的列表. - -``` -GET /projects/:id/protected_tags/:name -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `name` | string | yes | 标签或通配符的名称 | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/protected_tags/release-1-0" -``` - -响应示例: - -``` -{ "name": "release-1-0", "create_access_levels": [ { "access_level": 40, "access_level_description": "Maintainers" } ] } -``` - -## Protect repository tags[](#protect-repository-tags "Permalink") - -使用通配符保护的标签保护单个存储库标签或几个项目存储库标签. - -``` -POST /projects/:id/protected_tags -``` - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/protected_tags?name=*-stable&create_access_level=30" -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `name` | string | yes | 标签或通配符的名称 | -| `create_access_level` | string | no | 允许创建的访问级别(默认值: `40` ,维护者访问级别) | - -响应示例: - -``` -{ "name": "*-stable", "create_access_levels": [ { "access_level": 30, "access_level_description": "Developers + Maintainers" } ] } -``` - -## Unprotect repository tags[](#unprotect-repository-tags "Permalink") - -取消保护给定的受保护标签或通配符受保护标签. - -``` -DELETE /projects/:id/protected_tags/:name -``` - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/protected_tags/*-stable" -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `name` | string | yes | 标签名称 | \ No newline at end of file diff --git a/docs/356.md b/docs/356.md deleted file mode 100644 index 4da3b1b..0000000 --- a/docs/356.md +++ /dev/null @@ -1,195 +0,0 @@ -# Releases API - -> 原文:[https://docs.gitlab.com/ee/api/releases/](https://docs.gitlab.com/ee/api/releases/) - -* [List Releases](#list-releases) -* [Get a Release by a tag name](#get-a-release-by-a-tag-name) -* [Create a release](#create-a-release) -* [Collect release evidence](#collect-release-evidence-premium-only) -* [Update a release](#update-a-release) -* [Delete a Release](#delete-a-release) -* [Upcoming Releases](#upcoming-releases) - -# Releases API[](#releases-api "Permalink") - -版本历史 - -* 在 GitLab 11.7 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/41766) . -* 使用此 API,您可以操纵 GitLab 的[Release](../../user/project/releases/index.html)条目. -* 有关将链接作为发布资产进行操作,请参见[Release Links API](links.html) . -* 在 GitLab 12.5 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/26019)了发布证据. - -## List Releases[](#list-releases "Permalink") - -分页发布列表,按`released_at`排序. - -``` -GET /projects/:id/releases -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](../README.html#namespaced-path-encoding) . | - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: gDybLx3yrUK_HLp3qPjS" "https://gitlab.example.com/api/v4/projects/24/releases" -``` - -响应示例: - -``` -[ { "tag_name":"v0.2", "description":"## CHANGELOG\r\n\r\n- Escape label and milestone titles to prevent XSS in GFM autocomplete. !2740\r\n- Prevent private snippets from being embeddable.\r\n- Add subresources removal to member destroy service.", "name":"Awesome app v0.2 beta", "description_html":"\u003ch2 dir=\"auto\"\u003e\n\u003ca id=\"user-content-changelog\" class=\"anchor\" href=\"#changelog\" aria-hidden=\"true\"\u003e\u003c/a\u003eCHANGELOG\u003c/h2\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eEscape label and milestone titles to prevent XSS in GFM autocomplete. !2740\u003c/li\u003e\n\u003cli\u003ePrevent private snippets from being embeddable.\u003c/li\u003e\n\u003cli\u003eAdd subresources removal to member destroy service.\u003c/li\u003e\n\u003c/ul\u003e", "created_at":"2019-01-03T01:56:19.539Z", "released_at":"2019-01-03T01:56:19.539Z", "author":{ "id":1, "name":"Administrator", "username":"root", "state":"active", "avatar_url":"https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80\u0026d=identicon", "web_url":"https://gitlab.example.com/root" }, "commit":{ "id":"079e90101242458910cccd35eab0e211dfc359c0", "short_id":"079e9010", "title":"Update README.md", "created_at":"2019-01-03T01:55:38.000Z", "parent_ids":[ "f8d3d94cbd347e924aa7b715845e439d00e80ca4" ], "message":"Update README.md", "author_name":"Administrator", "author_email":"admin@example.com", "authored_date":"2019-01-03T01:55:38.000Z", "committer_name":"Administrator", "committer_email":"admin@example.com", "committed_date":"2019-01-03T01:55:38.000Z" }, "milestones": [ { "id":51, "iid":1, "project_id":24, "title":"v1.0-rc", "description":"Voluptate fugiat possimus quis quod aliquam expedita.", "state":"closed", "created_at":"2019-07-12T19:45:44.256Z", "updated_at":"2019-07-12T19:45:44.256Z", "due_date":"2019-08-16T11:00:00.256Z", "start_date":"2019-07-30T12:00:00.256Z", "web_url":"https://gitlab.example.com/root/awesome-app/-/milestones/1", "issue_stats": { "total": 98, "closed": 76 } }, { "id":52, "iid":2, "project_id":24, "title":"v1.0", "description":"Voluptate fugiat possimus quis quod aliquam expedita.", "state":"closed", "created_at":"2019-07-16T14:00:12.256Z", "updated_at":"2019-07-16T14:00:12.256Z", "due_date":"2019-08-16T11:00:00.256Z", "start_date":"2019-07-30T12:00:00.256Z", "web_url":"https://gitlab.example.com/root/awesome-app/-/milestones/2", "issue_stats": { "total": 24, "closed": 21 } } ], "commit_path":"/root/awesome-app/commit/588440f66559714280628a4f9799f0c4eb880a4a", "tag_path":"/root/awesome-app/-/tags/v0.11.1", "assets":{ "count":6, "sources":[ { "format":"zip", "url":"https://gitlab.example.com/root/awesome-app/-/archive/v0.2/awesome-app-v0.2.zip" }, { "format":"tar.gz", "url":"https://gitlab.example.com/root/awesome-app/-/archive/v0.2/awesome-app-v0.2.tar.gz" }, { "format":"tar.bz2", "url":"https://gitlab.example.com/root/awesome-app/-/archive/v0.2/awesome-app-v0.2.tar.bz2" }, { "format":"tar", "url":"https://gitlab.example.com/root/awesome-app/-/archive/v0.2/awesome-app-v0.2.tar" } ], "links":[ { "id":2, "name":"awesome-v0.2.msi", "url":"http://192.168.10.15:3000/msi", "external":true, "link_type":"other" }, { "id":1, "name":"awesome-v0.2.dmg", "url":"http://192.168.10.15:3000", "external":true, "link_type":"other" } ], "evidence_file_path":"https://gitlab.example.com/root/awesome-app/-/releases/v0.2/evidence.json" }, "evidences":[ { sha: "760d6cdfb0879c3ffedec13af470e0f71cf52c6cde4d", filepath: "https://gitlab.example.com/root/awesome-app/-/releases/v0.2/evidence.json", collected_at: "2019-01-03T01:56:19.539Z" } ] }, { "tag_name":"v0.1", "description":"## CHANGELOG\r\n\r\n-Remove limit of 100 when searching repository code. !8671\r\n- Show error message when attempting to reopen an MR and there is an open MR for the same branch. !16447 (Akos Gyimesi)\r\n- Fix a bug where internal email pattern wasn't respected. !22516", "name":"Awesome app v0.1 alpha", "description_html":"\u003ch2 dir=\"auto\"\u003e\n\u003ca id=\"user-content-changelog\" class=\"anchor\" href=\"#changelog\" aria-hidden=\"true\"\u003e\u003c/a\u003eCHANGELOG\u003c/h2\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eRemove limit of 100 when searching repository code. !8671\u003c/li\u003e\n\u003cli\u003eShow error message when attempting to reopen an MR and there is an open MR for the same branch. !16447 (Akos Gyimesi)\u003c/li\u003e\n\u003cli\u003eFix a bug where internal email pattern wasn't respected. !22516\u003c/li\u003e\n\u003c/ul\u003e", "created_at":"2019-01-03T01:55:18.203Z", "released_at":"2019-01-03T01:55:18.203Z", "author":{ "id":1, "name":"Administrator", "username":"root", "state":"active", "avatar_url":"https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80\u0026d=identicon", "web_url":"https://gitlab.example.com/root" }, "commit":{ "id":"f8d3d94cbd347e924aa7b715845e439d00e80ca4", "short_id":"f8d3d94c", "title":"Initial commit", "created_at":"2019-01-03T01:53:28.000Z", "parent_ids":[ ], "message":"Initial commit", "author_name":"Administrator", "author_email":"admin@example.com", "authored_date":"2019-01-03T01:53:28.000Z", "committer_name":"Administrator", "committer_email":"admin@example.com", "committed_date":"2019-01-03T01:53:28.000Z" }, "assets":{ "count":4, "sources":[ { "format":"zip", "url":"https://gitlab.example.com/root/awesome-app/-/archive/v0.1/awesome-app-v0.1.zip" }, { "format":"tar.gz", "url":"https://gitlab.example.com/root/awesome-app/-/archive/v0.1/awesome-app-v0.1.tar.gz" }, { "format":"tar.bz2", "url":"https://gitlab.example.com/root/awesome-app/-/archive/v0.1/awesome-app-v0.1.tar.bz2" }, { "format":"tar", "url":"https://gitlab.example.com/root/awesome-app/-/archive/v0.1/awesome-app-v0.1.tar" } ], "links":[ ], "evidence_file_path":"https://gitlab.example.com/root/awesome-app/-/releases/v0.1/evidence.json" }, "evidences":[ { sha: "c3ffedec13af470e760d6cdfb08790f71cf52c6cde4d", filepath: "https://gitlab.example.com/root/awesome-app/-/releases/v0.1/evidence.json", collected_at: "2019-01-03T01:55:18.203Z" } ] } ] -``` - -## Get a Release by a tag name[](#get-a-release-by-a-tag-name "Permalink") - -获取给定标签的发布. - -``` -GET /projects/:id/releases/:tag_name -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](../README.html#namespaced-path-encoding) . | -| `tag_name` | string | yes | 将在其中创建发行版的标签. | - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: gDybLx3yrUK_HLp3qPjS" "https://gitlab.example.com/api/v4/projects/24/releases/v0.1" -``` - -响应示例: - -``` -{ "tag_name":"v0.1", "description":"## CHANGELOG\r\n\r\n- Remove limit of 100 when searching repository code. !8671\r\n- Show error message when attempting to reopen an MR and there is an open MR for the same branch. !16447 (Akos Gyimesi)\r\n- Fix a bug where internal email pattern wasn't respected. !22516", "name":"Awesome app v0.1 alpha", "description_html":"\u003ch2 dir=\"auto\"\u003e\n\u003ca id=\"user-content-changelog\" class=\"anchor\" href=\"#changelog\" aria-hidden=\"true\"\u003e\u003c/a\u003eCHANGELOG\u003c/h2\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eRemove limit of 100 when searching repository code. !8671\u003c/li\u003e\n\u003cli\u003eShow error message when attempting to reopen an MR and there is an open MR for the same branch. !16447 (Akos Gyimesi)\u003c/li\u003e\n\u003cli\u003eFix a bug where internal email pattern wasn't respected. !22516\u003c/li\u003e\n\u003c/ul\u003e", "created_at":"2019-01-03T01:55:18.203Z", "released_at":"2019-01-03T01:55:18.203Z", "author":{ "id":1, "name":"Administrator", "username":"root", "state":"active", "avatar_url":"https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80\u0026d=identicon", "web_url":"https://gitlab.example.com/root" }, "commit":{ "id":"f8d3d94cbd347e924aa7b715845e439d00e80ca4", "short_id":"f8d3d94c", "title":"Initial commit", "created_at":"2019-01-03T01:53:28.000Z", "parent_ids":[ ], "message":"Initial commit", "author_name":"Administrator", "author_email":"admin@example.com", "authored_date":"2019-01-03T01:53:28.000Z", "committer_name":"Administrator", "committer_email":"admin@example.com", "committed_date":"2019-01-03T01:53:28.000Z" }, "milestones": [ { "id":51, "iid":1, "project_id":24, "title":"v1.0-rc", "description":"Voluptate fugiat possimus quis quod aliquam expedita.", "state":"closed", "created_at":"2019-07-12T19:45:44.256Z", "updated_at":"2019-07-12T19:45:44.256Z", "due_date":"2019-08-16T11:00:00.256Z", "start_date":"2019-07-30T12:00:00.256Z", "web_url":"https://gitlab.example.com/root/awesome-app/-/milestones/1", "issue_stats": { "total": 98, "closed": 76 } }, { "id":52, "iid":2, "project_id":24, "title":"v1.0", "description":"Voluptate fugiat possimus quis quod aliquam expedita.", "state":"closed", "created_at":"2019-07-16T14:00:12.256Z", "updated_at":"2019-07-16T14:00:12.256Z", "due_date":"2019-08-16T11:00:00.256Z", "start_date":"2019-07-30T12:00:00.256Z", "web_url":"https://gitlab.example.com/root/awesome-app/-/milestones/2", "issue_stats": { "total": 24, "closed": 21 } } ], "commit_path":"/root/awesome-app/commit/588440f66559714280628a4f9799f0c4eb880a4a", "tag_path":"/root/awesome-app/-/tags/v0.11.1", "assets":{ "count":5, "sources":[ { "format":"zip", "url":"https://gitlab.example.com/root/awesome-app/-/archive/v0.1/awesome-app-v0.1.zip" }, { "format":"tar.gz", "url":"https://gitlab.example.com/root/awesome-app/-/archive/v0.1/awesome-app-v0.1.tar.gz" }, { "format":"tar.bz2", "url":"https://gitlab.example.com/root/awesome-app/-/archive/v0.1/awesome-app-v0.1.tar.bz2" }, { "format":"tar", "url":"https://gitlab.example.com/root/awesome-app/-/archive/v0.1/awesome-app-v0.1.tar" } ], "links":[ { "id":3, "name":"hoge", "url":"https://gitlab.example.com/root/awesome-app/-/tags/v0.11.1/binaries/linux-amd64", "external":true, "link_type":"other" } ] }, "evidences":[ { sha: "760d6cdfb0879c3ffedec13af470e0f71cf52c6cde4d", filepath: "https://gitlab.example.com/root/awesome-app/-/releases/v0.1/evidence.json", collected_at: "2019-07-16T14:00:12.256Z" } ] } -``` - -## Create a release[](#create-a-release "Permalink") - -创建发布. 您需要对存储库的推送访问权限才能创建发行版. - -``` -POST /projects/:id/releases -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](../README.html#namespaced-path-encoding) . | -| `name` | string | no | 发布名称. | -| `tag_name` | string | yes | 将在其中创建发行版的标签. | -| `description` | string | no | 版本说明. 您可以使用[Markdown](../../user/markdown.html) . | -| `ref` | string | 是的,如果`tag_name`不存在 | If `tag_name` doesn’t exist, the release will be created from `ref`. It can be a commit SHA, another tag name, or a branch name. | -| `milestones` | 字符串数组 | no | 与发行版关联的每个里程碑的标题. | -| `assets:links` | 哈希数组 | no | 一系列资产链接. | -| `assets:links:name` | string | 要求: `assets:links` | 链接的名称. | -| `assets:links:url` | string | 要求: `assets:links` | 链接的 URL. | -| `assets:links:filepath` | string | no | [直接资产链接的](../../user/project/releases.html)可选路径. | -| `assets:links:link_type` | string | no | 链接的类型: `other` , `runbook` , `image` , `package` . 默认为`other` . | -| `released_at` | datetime | no | 发布准备/准备就绪的日期. 默认为当前时间. 预期为 ISO 8601 格式( `2019-03-15T08:00:00Z` ). | - -请求示例: - -``` -curl --header 'Content-Type: application/json' --header "PRIVATE-TOKEN: gDybLx3yrUK_HLp3qPjS" \ - --data '{ "name": "New release", "tag_name": "v0.3", "description": "Super nice release", "milestones": ["v1.0", "v1.0-rc"], "assets": { "links": [{ "name": "hoge", "url": "https://google.com", "filepath": "/binaries/linux-amd64", "link_type":"other" }] } }' \ - --request POST https://gitlab.example.com/api/v4/projects/24/releases -``` - -响应示例: - -``` -{ "tag_name":"v0.3", "description":"Super nice release", "name":"New release", "description_html":"\u003cp dir=\"auto\"\u003eSuper nice release\u003c/p\u003e", "created_at":"2019-01-03T02:22:45.118Z", "released_at":"2019-01-03T02:22:45.118Z", "author":{ "id":1, "name":"Administrator", "username":"root", "state":"active", "avatar_url":"https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80\u0026d=identicon", "web_url":"https://gitlab.example.com/root" }, "commit":{ "id":"079e90101242458910cccd35eab0e211dfc359c0", "short_id":"079e9010", "title":"Update README.md", "created_at":"2019-01-03T01:55:38.000Z", "parent_ids":[ "f8d3d94cbd347e924aa7b715845e439d00e80ca4" ], "message":"Update README.md", "author_name":"Administrator", "author_email":"admin@example.com", "authored_date":"2019-01-03T01:55:38.000Z", "committer_name":"Administrator", "committer_email":"admin@example.com", "committed_date":"2019-01-03T01:55:38.000Z" }, "milestones": [ { "id":51, "iid":1, "project_id":24, "title":"v1.0-rc", "description":"Voluptate fugiat possimus quis quod aliquam expedita.", "state":"closed", "created_at":"2019-07-12T19:45:44.256Z", "updated_at":"2019-07-12T19:45:44.256Z", "due_date":"2019-08-16T11:00:00.256Z", "start_date":"2019-07-30T12:00:00.256Z", "web_url":"https://gitlab.example.com/root/awesome-app/-/milestones/1", "issue_stats": { "total": 99, "closed": 76 } }, { "id":52, "iid":2, "project_id":24, "title":"v1.0", "description":"Voluptate fugiat possimus quis quod aliquam expedita.", "state":"closed", "created_at":"2019-07-16T14:00:12.256Z", "updated_at":"2019-07-16T14:00:12.256Z", "due_date":"2019-08-16T11:00:00.256Z", "start_date":"2019-07-30T12:00:00.256Z", "web_url":"https://gitlab.example.com/root/awesome-app/-/milestones/2", "issue_stats": { "total": 24, "closed": 21 } } ], "commit_path":"/root/awesome-app/commit/588440f66559714280628a4f9799f0c4eb880a4a", "tag_path":"/root/awesome-app/-/tags/v0.11.1", "evidence_sha":"760d6cdfb0879c3ffedec13af470e0f71cf52c6cde4d", "assets":{ "count":5, "sources":[ { "format":"zip", "url":"https://gitlab.example.com/root/awesome-app/-/archive/v0.3/awesome-app-v0.3.zip" }, { "format":"tar.gz", "url":"https://gitlab.example.com/root/awesome-app/-/archive/v0.3/awesome-app-v0.3.tar.gz" }, { "format":"tar.bz2", "url":"https://gitlab.example.com/root/awesome-app/-/archive/v0.3/awesome-app-v0.3.tar.bz2" }, { "format":"tar", "url":"https://gitlab.example.com/root/awesome-app/-/archive/v0.3/awesome-app-v0.3.tar" } ], "links":[ { "id":3, "name":"hoge", "url":"https://gitlab.example.com/root/awesome-app/-/tags/v0.11.1/binaries/linux-amd64", "external":true, "link_type":"other" } ], "evidence_file_path":"https://gitlab.example.com/root/awesome-app/-/releases/v0.3/evidence.json" }, } -``` - -## Collect release evidence[](#collect-release-evidence-premium-only "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/199065) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.10. - -为现有版本创建证据. - -``` -POST /projects/:id/releases/:tag_name/evidence -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](../README.html#namespaced-path-encoding) . | -| `tag_name` | string | yes | 将在其中创建发行版的标签. | - -请求示例: - -``` -curl --request POST --header "PRIVATE-TOKEN: gDybLx3yrUK_HLp3qPjS" "https://gitlab.example.com/api/v4/projects/24/releases/v0.1/evidence" -``` - -响应示例: - -``` -200 -``` - -## Update a release[](#update-a-release "Permalink") - -更新发行版. - -``` -PUT /projects/:id/releases/:tag_name -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](../README.html#namespaced-path-encoding) . | -| `tag_name` | string | yes | 将在其中创建发行版的标签. | -| `name` | string | no | 发布名称. | -| `description` | string | no | 版本说明. 您可以使用[Markdown](../../user/markdown.html) . | -| `milestones` | 字符串数组 | no | 与发布关联的每个里程碑的标题( `[]`从发布中删除所有里程碑). | -| `released_at` | datetime | no | 发布准备/准备就绪的日期. 预期为 ISO 8601 格式( `2019-03-15T08:00:00Z` ). | - -请求示例: - -``` -curl --header 'Content-Type: application/json' --request PUT --data '{"name": "new name", "milestones": ["v1.2"]}' --header "PRIVATE-TOKEN: gDybLx3yrUK_HLp3qPjS" "https://gitlab.example.com/api/v4/projects/24/releases/v0.1" -``` - -响应示例: - -``` -{ "tag_name":"v0.1", "description":"## CHANGELOG\r\n\r\n- Remove limit of 100 when searching repository code. !8671\r\n- Show error message when attempting to reopen an MR and there is an open MR for the same branch. !16447 (Akos Gyimesi)\r\n- Fix a bug where internal email pattern wasn't respected. !22516", "name":"new name", "description_html":"\u003ch2 dir=\"auto\"\u003e\n\u003ca id=\"user-content-changelog\" class=\"anchor\" href=\"#changelog\" aria-hidden=\"true\"\u003e\u003c/a\u003eCHANGELOG\u003c/h2\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eRemove limit of 100 when searching repository code. !8671\u003c/li\u003e\n\u003cli\u003eShow error message when attempting to reopen an MR and there is an open MR for the same branch. !16447 (Akos Gyimesi)\u003c/li\u003e\n\u003cli\u003eFix a bug where internal email pattern wasn't respected. !22516\u003c/li\u003e\n\u003c/ul\u003e", "created_at":"2019-01-03T01:55:18.203Z", "released_at":"2019-01-03T01:55:18.203Z", "author":{ "id":1, "name":"Administrator", "username":"root", "state":"active", "avatar_url":"https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80\u0026d=identicon", "web_url":"https://gitlab.example.com/root" }, "commit":{ "id":"f8d3d94cbd347e924aa7b715845e439d00e80ca4", "short_id":"f8d3d94c", "title":"Initial commit", "created_at":"2019-01-03T01:53:28.000Z", "parent_ids":[ ], "message":"Initial commit", "author_name":"Administrator", "author_email":"admin@example.com", "authored_date":"2019-01-03T01:53:28.000Z", "committer_name":"Administrator", "committer_email":"admin@example.com", "committed_date":"2019-01-03T01:53:28.000Z" }, "milestones": [ { "id":53, "iid":3, "project_id":24, "title":"v1.0", "description":"Voluptate fugiat possimus quis quod aliquam expedita.", "state":"active", "created_at":"2019-09-01T13:00:00.256Z", "updated_at":"2019-09-01T13:00:00.256Z", "due_date":"2019-09-20T13:00:00.256Z", "start_date":"2019-09-05T12:00:00.256Z", "web_url":"https://gitlab.example.com/root/awesome-app/-/milestones/3", "issue_stats": { "opened": 11, "closed": 78 } } ], "commit_path":"/root/awesome-app/commit/588440f66559714280628a4f9799f0c4eb880a4a", "tag_path":"/root/awesome-app/-/tags/v0.11.1", "evidence_sha":"760d6cdfb0879c3ffedec13af470e0f71cf52c6cde4d", "assets":{ "count":4, "sources":[ { "format":"zip", "url":"https://gitlab.example.com/root/awesome-app/-/archive/v0.1/awesome-app-v0.1.zip" }, { "format":"tar.gz", "url":"https://gitlab.example.com/root/awesome-app/-/archive/v0.1/awesome-app-v0.1.tar.gz" }, { "format":"tar.bz2", "url":"https://gitlab.example.com/root/awesome-app/-/archive/v0.1/awesome-app-v0.1.tar.bz2" }, { "format":"tar", "url":"https://gitlab.example.com/root/awesome-app/-/archive/v0.1/awesome-app-v0.1.tar" } ], "links":[ ], "evidence_file_path":"https://gitlab.example.com/root/awesome-app/-/releases/v0.1/evidence.json" }, } -``` - -## Delete a Release[](#delete-a-release "Permalink") - -删除发行版. 删除发行版不会删除关联的标签. - -``` -DELETE /projects/:id/releases/:tag_name -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](../README.html#namespaced-path-encoding) . | -| `tag_name` | string | yes | 将在其中创建发行版的标签. | - -请求示例: - -``` -curl --request DELETE --header "PRIVATE-TOKEN: gDybLx3yrUK_HLp3qPjS" "https://gitlab.example.com/api/v4/projects/24/releases/v0.1" -``` - -响应示例: - -``` -{ "tag_name":"v0.1", "description":"## CHANGELOG\r\n\r\n- Remove limit of 100 when searching repository code. !8671\r\n- Show error message when attempting to reopen an MR and there is an open MR for the same branch. !16447 (Akos Gyimesi)\r\n- Fix a bug where internal email pattern wasn't respected. !22516", "name":"new name", "description_html":"\u003ch2 dir=\"auto\"\u003e\n\u003ca id=\"user-content-changelog\" class=\"anchor\" href=\"#changelog\" aria-hidden=\"true\"\u003e\u003c/a\u003eCHANGELOG\u003c/h2\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eRemove limit of 100 when searching repository code. !8671\u003c/li\u003e\n\u003cli\u003eShow error message when attempting to reopen an MR and there is an open MR for the same branch. !16447 (Akos Gyimesi)\u003c/li\u003e\n\u003cli\u003eFix a bug where internal email pattern wasn't respected. !22516\u003c/li\u003e\n\u003c/ul\u003e", "created_at":"2019-01-03T01:55:18.203Z", "released_at":"2019-01-03T01:55:18.203Z", "author":{ "id":1, "name":"Administrator", "username":"root", "state":"active", "avatar_url":"https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80\u0026d=identicon", "web_url":"https://gitlab.example.com/root" }, "commit":{ "id":"f8d3d94cbd347e924aa7b715845e439d00e80ca4", "short_id":"f8d3d94c", "title":"Initial commit", "created_at":"2019-01-03T01:53:28.000Z", "parent_ids":[ ], "message":"Initial commit", "author_name":"Administrator", "author_email":"admin@example.com", "authored_date":"2019-01-03T01:53:28.000Z", "committer_name":"Administrator", "committer_email":"admin@example.com", "committed_date":"2019-01-03T01:53:28.000Z" }, "commit_path":"/root/awesome-app/commit/588440f66559714280628a4f9799f0c4eb880a4a", "tag_path":"/root/awesome-app/-/tags/v0.11.1", "evidence_sha":"760d6cdfb0879c3ffedec13af470e0f71cf52c6cde4d", "assets":{ "count":4, "sources":[ { "format":"zip", "url":"https://gitlab.example.com/root/awesome-app/-/archive/v0.1/awesome-app-v0.1.zip" }, { "format":"tar.gz", "url":"https://gitlab.example.com/root/awesome-app/-/archive/v0.1/awesome-app-v0.1.tar.gz" }, { "format":"tar.bz2", "url":"https://gitlab.example.com/root/awesome-app/-/archive/v0.1/awesome-app-v0.1.tar.bz2" }, { "format":"tar", "url":"https://gitlab.example.com/root/awesome-app/-/archive/v0.1/awesome-app-v0.1.tar" } ], "links":[ ], "evidence_file_path":"https://gitlab.example.com/root/awesome-app/-/releases/v0.1/evidence.json" }, } -``` - -## Upcoming Releases[](#upcoming-releases "Permalink") - -在 GitLab 12.1 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/38105) . - -有一种剥离`released_at`属性设置为将来的日期将被标记在 UI **即将推出**的**版本** : - -[![Upcoming release](img/c1ff864dc0ff6749087bc64b4781d767.png)](img/upcoming_release_v12_1.png) \ No newline at end of file diff --git a/docs/357.md b/docs/357.md deleted file mode 100644 index fcd51ac..0000000 --- a/docs/357.md +++ /dev/null @@ -1,155 +0,0 @@ -# Release links API - -> 原文:[https://docs.gitlab.com/ee/api/releases/links.html](https://docs.gitlab.com/ee/api/releases/links.html) - -* [Get links](#get-links) -* [Get a link](#get-a-link) -* [Create a link](#create-a-link) -* [Update a link](#update-a-link) -* [Delete a link](#delete-a-link) - -# Release links API[](#release-links-api "Permalink") - -在 GitLab 11.7 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/41766) . - -使用此 API,您可以操纵 GitLab 的[Release](../../user/project/releases/index.html)链接. 有关操纵其他 Release 资产的信息,请参见[Release API](index.html) . GitLab 支持指向`http` , `https`和`ftp`资产的链接. - -## Get links[](#get-links "Permalink") - -从发布中获取资产作为链接. - -``` -GET /projects/:id/releases/:tag_name/assets/links -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](../README.html#namespaced-path-encoding) . | -| `tag_name` | string | yes | 与发行版关联的标签. | - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: n671WNGecHugsdEDPsyo" "https://gitlab.example.com/api/v4/projects/24/releases/v0.1/assets/links" -``` - -响应示例: - -``` -[ { "id":2, "name":"awesome-v0.2.msi", "url":"http://192.168.10.15:3000/msi", "external":true, "link_type":"other" }, { "id":1, "name":"awesome-v0.2.dmg", "url":"http://192.168.10.15:3000", "external":true, "link_type":"other" } ] -``` - -## Get a link[](#get-a-link "Permalink") - -从发布中获取资产作为链接. - -``` -GET /projects/:id/releases/:tag_name/assets/links/:link_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](../README.html#namespaced-path-encoding) . | -| `tag_name` | string | yes | 与发行版关联的标签. | -| `link_id` | integer | yes | 链接的 ID. | - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: n671WNGecHugsdEDPsyo" "https://gitlab.example.com/api/v4/projects/24/releases/v0.1/assets/links/1" -``` - -响应示例: - -``` -{ "id":1, "name":"awesome-v0.2.dmg", "url":"http://192.168.10.15:3000", "external":true, "link_type":"other" } -``` - -## Create a link[](#create-a-link "Permalink") - -从发布创建资产作为链接. - -``` -POST /projects/:id/releases/:tag_name/assets/links -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](../README.html#namespaced-path-encoding) . | -| `tag_name` | string | yes | 与发行版关联的标签. | -| `name` | string | yes | 链接的名称. | -| `url` | string | yes | 链接的 URL. | -| `link_type` | string | no | 链接的类型: `other` , `runbook` , `image` , `package` . 默认为`other` . | - -请求示例: - -``` -curl --request POST \ - --header "PRIVATE-TOKEN: n671WNGecHugsdEDPsyo" \ - --data name="awesome-v0.2.dmg" \ - --data url="http://192.168.10.15:3000" \ - "https://gitlab.example.com/api/v4/projects/24/releases/v0.1/assets/links" -``` - -响应示例: - -``` -{ "id":1, "name":"awesome-v0.2.dmg", "url":"http://192.168.10.15:3000", "external":true, "link_type":"other" } -``` - -## Update a link[](#update-a-link "Permalink") - -将资产更新为发布中的链接. - -``` -PUT /projects/:id/releases/:tag_name/assets/links/:link_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](../README.html#namespaced-path-encoding) . | -| `tag_name` | string | yes | 与发行版关联的标签. | -| `link_id` | integer | yes | 链接的 ID. | -| `name` | string | no | 链接的名称. | -| `url` | string | no | 链接的 URL. | -| `link_type` | string | no | 链接的类型: `other` , `runbook` , `image` , `package` . 默认为`other` . | - -**注意**您必须至少指定`name`或`url` - -请求示例: - -``` -curl --request PUT --data name="new name" --data link_type="runbook" --header "PRIVATE-TOKEN: n671WNGecHugsdEDPsyo" "https://gitlab.example.com/api/v4/projects/24/releases/v0.1/assets/links/1" -``` - -响应示例: - -``` -{ "id":1, "name":"new name", "url":"http://192.168.10.15:3000", "external":true, "link_type":"runbook" } -``` - -## Delete a link[](#delete-a-link "Permalink") - -从发布中删除资产作为链接. - -``` -DELETE /projects/:id/releases/:tag_name/assets/links/:link_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](../README.html#namespaced-path-encoding) . | -| `tag_name` | string | yes | 与发行版关联的标签. | -| `link_id` | integer | yes | 链接的 ID. | - -请求示例: - -``` -curl --request DELETE --header "PRIVATE-TOKEN: n671WNGecHugsdEDPsyo" "https://gitlab.example.com/api/v4/projects/24/releases/v0.1/assets/links/1" -``` - -响应示例: - -``` -{ "id":1, "name":"new name", "url":"http://192.168.10.15:3000", "external":true, "link_type":"other" } -``` \ No newline at end of file diff --git a/docs/358.md b/docs/358.md deleted file mode 100644 index a58f425..0000000 --- a/docs/358.md +++ /dev/null @@ -1,150 +0,0 @@ -# Repositories API - -> 原文:[https://docs.gitlab.com/ee/api/repositories.html](https://docs.gitlab.com/ee/api/repositories.html) - -* [List repository tree](#list-repository-tree) -* [Get a blob from repository](#get-a-blob-from-repository) -* [Raw blob content](#raw-blob-content) -* [Get file archive](#get-file-archive) -* [Compare branches, tags or commits](#compare-branches-tags-or-commits) -* [Contributors](#contributors) -* [Merge Base](#merge-base) - -# Repositories API[](#repositories-api "Permalink") - -## List repository tree[](#list-repository-tree "Permalink") - -获取项目中存储库文件和目录的列表. 如果可公开访问该存储库,则无需身份验证即可访问此端点. - -此命令提供的功能与`git ls-tree`命令基本相同. 有关更多信息,请参阅[Git internals 文档](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects/#_tree_objects)中的*Tree Objects*部分. - -``` -GET /projects/:id/repository/tree -``` - -Parameters: - -* `id` (必填)-经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) -* `path` (可选)-存储库中的路径. 用于获取子目录的内容 -* `ref` (可选)-存储库分支或标记的名称,或者如果未提供默认分支的名称 -* `recursive` (可选)-用于获取递归树的布尔值(默认为 false) -* `per_page` (可选)-每页显示的结果数. 如果未指定,则默认为`20` - -``` -[ { "id": "a1e8f8d745cc87e3a9248358d9352bb7f9a0aeba", "name": "html", "type": "tree", "path": "files/html", "mode": "040000" }, { "id": "4535904260b1082e14f867f7a24fd8c21495bde3", "name": "images", "type": "tree", "path": "files/images", "mode": "040000" }, { "id": "31405c5ddef582c5a9b7a85230413ff90e2fe720", "name": "js", "type": "tree", "path": "files/js", "mode": "040000" }, { "id": "cc71111cfad871212dc99572599a568bfe1e7e00", "name": "lfs", "type": "tree", "path": "files/lfs", "mode": "040000" }, { "id": "fd581c619bf59cfdfa9c8282377bb09c2f897520", "name": "markdown", "type": "tree", "path": "files/markdown", "mode": "040000" }, { "id": "23ea4d11a4bdd960ee5320c5cb65b5b3fdbc60db", "name": "ruby", "type": "tree", "path": "files/ruby", "mode": "040000" }, { "id": "7d70e02340bac451f281cecf0a980907974bd8be", "name": "whitespace", "type": "blob", "path": "files/whitespace", "mode": "100644" } ] -``` - -## Get a blob from repository[](#get-a-blob-from-repository "Permalink") - -Allows you to receive information about blob in repository like size and content. Note that blob content is Base64 encoded. This endpoint can be accessed without authentication if the repository is publicly accessible. - -``` -GET /projects/:id/repository/blobs/:sha -``` - -Parameters: - -* `id` (必填)-经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) -* `sha` (必填)-Blob SHA - -## Raw blob content[](#raw-blob-content "Permalink") - -通过 blob SHA 获取 blob 的原始文件内容. 如果可公开访问该存储库,则无需身份验证即可访问此端点. - -``` -GET /projects/:id/repository/blobs/:sha/raw -``` - -Parameters: - -* `id` (必填)-经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) -* `sha` (必填)-Blob SHA - -## Get file archive[](#get-file-archive "Permalink") - -获取存储库的存档. 如果可公开访问该存储库,则无需身份验证即可访问此端点. - -该端点的速率限制阈值为每分钟 5 个请求. - -``` -GET /projects/:id/repository/archive[.format] -``` - -`format`是归档格式的可选后缀. 默认值为`tar.gz` 选项是`tar.gz` , `tar.bz2` , `tbz` , `tbz2` , `tb2` , `bz2` , `tar`和`zip` . 例如,指定`archive.zip`将以 ZIP 格式发送存档. - -Parameters: - -* `id` (必填)-经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) -* `sha` (可选)-提交要下载的 SHA. 可以使用标签,分支引用或 SHA. 如果未指定,则默认为默认分支的尖端. 例如: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.com/api/v4/projects//repository/archive?sha=" -``` - -## Compare branches, tags or commits[](#compare-branches-tags-or-commits "Permalink") - -如果可公开访问该存储库,则无需身份验证即可访问此端点. 请注意,如果达到[差异限制](../development/diffs.html#diff-limits) ,差异可能会有一个空的差异字符串. - -``` -GET /projects/:id/repository/compare -``` - -Parameters: - -* `id` (必填)-经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) -* `from` (必填)-提交 SHA 或分支名称 -* `to` (必需)-提交 SHA 或分支名称 -* `straight` (可选)-比较方法,对于`from`和`to`之间( `from` .. `to` )之间的直接比较,为`true`对于使用合并基数( `from` ... `to` )'比较`to` `false` . 默认值为`false` . - -``` -GET /projects/:id/repository/compare?from=master&to=feature -``` - -Response: - -``` - { "commit": { "id": "12d65c8dd2b2676fa3ac47d955accc085a37a9c1", "short_id": "12d65c8dd2b", "title": "JS fix", "author_name": "Example User", "author_email": "user@example.com", "created_at": "2014-02-27T10:27:00+02:00" }, "commits": [{ "id": "12d65c8dd2b2676fa3ac47d955accc085a37a9c1", "short_id": "12d65c8dd2b", "title": "JS fix", "author_name": "Example User", "author_email": "user@example.com", "created_at": "2014-02-27T10:27:00+02:00" }], "diffs": [{ "old_path": "files/js/application.js", "new_path": "files/js/application.js", "a_mode": null, "b_mode": "100644", "diff": "--- a/files/js/application.js\n+++ b/files/js/application.js\n@@ -24,8 +24,10 @@\n //= require g.raphael-min\n //= require g.bar-min\n //= require branch-graph\n-//= require highlightjs.min\n-//= require ace/ace\n //= require_tree .\n //= require d3\n //= require underscore\n+\n+function fix() { \n+ alert(\"Fixed\")\n+}", "new_file": false, "renamed_file": false, "deleted_file": false }], "compare_timeout": false, "compare_same_ref": false } -``` - -## Contributors[](#contributors "Permalink") - -获取存储库贡献者列表. 如果可公开访问该存储库,则无需身份验证即可访问此端点. - -``` -GET /projects/:id/repository/contributors -``` - -Parameters: - -* `id` (必填)-经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) -* `order_by` (可选)-返回按`name` , `email`或`commits` (按提交日期排序)字段排序的贡献者. 默认为`commits` -* `sort` (可选)-返回贡献者按`asc`或`desc`顺序排序. 默认为`asc` - -Response: - -``` -[{ "name": "Example User", "email": "example@example.com", "commits": 117, "additions": 2097, "deletions": 517 }, { "name": "Sample User", "email": "sample@example.com", "commits": 33, "additions": 338, "deletions": 244 }] -``` - -## Merge Base[](#merge-base "Permalink") - -获取 2 个或更多引用(提交 SHA,分支名称或标签)的公共祖先. - -``` -GET /projects/:id/repository/merge_base -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `refs` | array | yes | 裁判找到共同的祖先,可以传递多个裁判 | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/repository/merge_base?refs[]=304d257dcb821665ab5110318fc58a007bd104ed&refs[]=0031876facac3f2b2702a0e53a26e89939a42209" -``` - -响应示例: - -``` -{ "id": "1a0b36b3cdad1d2ee32457c102a8c0b7056fa863", "short_id": "1a0b36b3", "title": "Initial commit", "created_at": "2014-02-27T08:03:18.000Z", "parent_ids": [], "message": "Initial commit\n", "author_name": "Example User", "author_email": "user@example.com", "authored_date": "2014-02-27T08:03:18.000Z", "committer_name": "Example User", "committer_email": "user@example.com", "committed_date": "2014-02-27T08:03:18.000Z" } -``` \ No newline at end of file diff --git a/docs/359.md b/docs/359.md deleted file mode 100644 index bece27c..0000000 --- a/docs/359.md +++ /dev/null @@ -1,238 +0,0 @@ -# Repository files API - -> 原文:[https://docs.gitlab.com/ee/api/repository_files.html](https://docs.gitlab.com/ee/api/repository_files.html) - -* [Get file from repository](#get-file-from-repository) -* [Get file blame from repository](#get-file-blame-from-repository) -* [Get raw file from repository](#get-raw-file-from-repository) -* [Create new file in repository](#create-new-file-in-repository) -* [Update existing file in repository](#update-existing-file-in-repository) -* [Delete existing file in repository](#delete-existing-file-in-repository) - -# Repository files API[](#repository-files-api "Permalink") - -**库文件的 CRUD** - -**使用此 API 创建,读取,更新和删除存储库文件** - -下表描述了使用[个人访问令牌](../user/profile/personal_access_tokens.html)可用的不同范围. - -| Scope | Description | -| --- | --- | -| `read_repository` | 允许对存储库文件进行读取访问. | -| `api` | 允许对存储库文件进行读写访问. | - -`read_repository` scope was [introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/23534) in GitLab 11.6. - -## Get file from repository[](#get-file-from-repository "Permalink") - -允许您接收有关存储库中文件的信息,例如名称,大小,内容. 请注意,文件内容是 Base64 编码的. 如果可公开访问该存储库,则无需身份验证即可访问此端点. - -``` -GET /projects/:id/repository/files/:file_path -``` - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/13083/repository/files/app%2Fmodels%2Fkey%2Erb?ref=master" -``` - -响应示例: - -``` -{ "file_name": "key.rb", "file_path": "app/models/key.rb", "size": 1476, "encoding": "base64", "content": "IyA9PSBTY2hlbWEgSW5mb3...", "content_sha256": "4c294617b60715c1d218e61164a3abd4808a4284cbc30e6728a01ad9aada4481", "ref": "master", "blob_id": "79f7bbd25901e8334750839545a9bd021f0e4c83", "commit_id": "d5a3ff139356ce33e37e73add446f16869741b50", "last_commit_id": "570e7b2abdd848b95f2f578043fc23bd6f6fd24d" } -``` - -Parameters: - -* `file_path` (必需)-URL 编码的新文件的完整路径. 例如 lib%2Fclass%2Erb -* `ref` (必填)-分支,标记或提交的名称 - -**注意:** `blob_id`是 blob SHA,请参见[存储库-从存储库获取 blob](repositories.html#get-a-blob-from-repository) - -除了`GET`方法外,您还可以使用`HEAD`来获取文件元数据. - -``` -HEAD /projects/:id/repository/files/:file_path -``` - -``` -curl --head --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/13083/repository/files/app%2Fmodels%2Fkey%2Erb?ref=master" -``` - -响应示例: - -``` -HTTP/1.1 200 OK -... -X-Gitlab-Blob-Id: 79f7bbd25901e8334750839545a9bd021f0e4c83 -X-Gitlab-Commit-Id: d5a3ff139356ce33e37e73add446f16869741b50 -X-Gitlab-Content-Sha256: 4c294617b60715c1d218e61164a3abd4808a4284cbc30e6728a01ad9aada4481 -X-Gitlab-Encoding: base64 -X-Gitlab-File-Name: key.rb -X-Gitlab-File-Path: app/models/key.rb -X-Gitlab-Last-Commit-Id: 570e7b2abdd848b95f2f578043fc23bd6f6fd24d -X-Gitlab-Ref: master -X-Gitlab-Size: 1476 -... -``` - -## Get file blame from repository[](#get-file-blame-from-repository "Permalink") - -允许您接收责备信息. 每个责任范围包含行和相应的提交信息. - -``` -GET /projects/:id/repository/files/:file_path/blame -``` - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/13083/repository/files/path%2Fto%2Ffile.rb/blame?ref=master" -``` - -响应示例: - -``` -[ { "commit": { "id": "d42409d56517157c48bf3bd97d3f75974dde19fb", "message": "Add feature\n\nalso fix bug\n", "parent_ids": [ "cc6e14f9328fa6d7b5a0d3c30dc2002a3f2a3822" ], "authored_date": "2015-12-18T08:12:22.000Z", "author_name": "John Doe", "author_email": "john.doe@example.com", "committed_date": "2015-12-18T08:12:22.000Z", "committer_name": "John Doe", "committer_email": "john.doe@example.com" }, "lines": [ "require 'fileutils'", "require 'open3'", "" ] }, ... ] -``` - -Parameters: - -* `file_path` (必需)-URL 编码的新文件的完整路径. 例如 lib%2Fclass%2Erb -* `ref` (必填)-分支,标记或提交的名称 - -**注意:** `HEAD`方法仅返回文件元数据,如[从存储库](repository_files.html#get-file-from-repository)中[获取文件中所示](repository_files.html#get-file-from-repository) . - -``` -curl --head --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/13083/repository/files/path%2Fto%2Ffile.rb/blame?ref=master" -``` - -响应示例: - -``` -HTTP/1.1 200 OK -... -X-Gitlab-Blob-Id: 79f7bbd25901e8334750839545a9bd021f0e4c83 -X-Gitlab-Commit-Id: d5a3ff139356ce33e37e73add446f16869741b50 -X-Gitlab-Content-Sha256: 4c294617b60715c1d218e61164a3abd4808a4284cbc30e6728a01ad9aada4481 -X-Gitlab-Encoding: base64 -X-Gitlab-File-Name: file.rb -X-Gitlab-File-Path: path/to/file.rb -X-Gitlab-Last-Commit-Id: 570e7b2abdd848b95f2f578043fc23bd6f6fd24d -X-Gitlab-Ref: master -X-Gitlab-Size: 1476 -... -``` - -## Get raw file from repository[](#get-raw-file-from-repository "Permalink") - -``` -GET /projects/:id/repository/files/:file_path/raw -``` - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/13083/repository/files/app%2Fmodels%2Fkey%2Erb/raw?ref=master" -``` - -Parameters: - -* `file_path` (必需)-URL 编码的新文件的完整路径. 例如 lib%2Fclass%2Erb -* `ref` (必填)-分支,标记或提交的名称 - -**注意:**像[从存储库中获取文件](repository_files.html#get-file-from-repository)一样[,](repository_files.html#get-file-from-repository)您可以使用`HEAD`仅获取文件元数据. - -## Create new file in repository[](#create-new-file-in-repository "Permalink") - -这使您可以创建一个文件. 要使用一个请求创建多个文件,请参阅[commits API](commits.html#create-a-commit-with-multiple-files-and-actions) . - -``` -POST /projects/:id/repository/files/:file_path -``` - -``` -curl --request POST --header 'PRIVATE-TOKEN: ' --header "Content-Type: application/json" \ - --data '{"branch": "master", "author_email": "author@example.com", "author_name": "Firstname Lastname", \ - "content": "some content", "commit_message": "create a new file"}' \ - "https://gitlab.example.com/api/v4/projects/13083/repository/files/app%2Fproject%2Erb" -``` - -响应示例: - -``` -{ "file_path": "app/project.rb", "branch": "master" } -``` - -Parameters: - -* `file_path` (必需)-URL 编码的新文件的完整路径. 例如 lib%2Fclass%2Erb -* `branch` (必填)-分支的名称 -* `start_branch` (可选)-从中开始新提交的分支名称 -* `encoding` (可选)-将编码更改为" base64". 默认为文本. -* `author_email` (可选)-指定提交作者的电子邮件地址 -* `author_name` (可选)-指定提交作者的姓名 -* `content` (必填)-文件内容 -* `commit_message` (必填)-提交消息 - -## Update existing file in repository[](#update-existing-file-in-repository "Permalink") - -这使您可以更新单个文件. 有关通过单个请求更新多个文件的信息,请参见[commits API](commits.html#create-a-commit-with-multiple-files-and-actions) . - -``` -PUT /projects/:id/repository/files/:file_path -``` - -``` -curl --request PUT --header 'PRIVATE-TOKEN: ' --header "Content-Type: application/json" \ - --data '{"branch": "master", "author_email": "author@example.com", "author_name": "Firstname Lastname", \ - "content": "some content", "commit_message": "update file"}' \ - "https://gitlab.example.com/api/v4/projects/13083/repository/files/app%2Fproject%2Erb" -``` - -响应示例: - -``` -{ "file_path": "app/project.rb", "branch": "master" } -``` - -Parameters: - -* `file_path` (必需)-URL 编码的新文件的完整路径. 例如 lib%2Fclass%2Erb -* `branch` (必填)-分支的名称 -* `start_branch` (可选)-从中开始新提交的分支名称 -* `encoding` (可选)-将编码更改为" base64". 默认为文本. -* `author_email` (可选)-指定提交作者的电子邮件地址 -* `author_name` (可选)-指定提交作者的姓名 -* `content` (必填)-新文件内容 -* `commit_message` (必填)-提交消息 -* `last_commit_id` (可选)-已知文件的最新提交 ID - -如果提交由于任何原因失败,我们将返回 400 错误,并显示非特定错误消息. 提交失败的可能原因包括: - -* `file_path`包含`/../` (试图遍历目录); -* 新文件内容与当前文件内容相同. 也就是说,用户尝试进行空提交; -* 在进行文件编辑时,通过 Git 推送更新了分支. - -当前,GitLab Shell 具有布尔返回码,可防止 GitLab 指定错误. - -## Delete existing file in repository[](#delete-existing-file-in-repository "Permalink") - -这使您可以删除单个文件. 有关通过单个请求删除多个文件的信息,请参见[commits API](commits.html#create-a-commit-with-multiple-files-and-actions) . - -``` -DELETE /projects/:id/repository/files/:file_path -``` - -``` -curl --request DELETE --header 'PRIVATE-TOKEN: ' --header "Content-Type: application/json" \ - --data '{"branch": "master", "author_email": "author@example.com", "author_name": "Firstname Lastname", \ - "commit_message": "delete file"}' \ - "https://gitlab.example.com/api/v4/projects/13083/repository/files/app%2Fproject%2Erb" -``` - -Parameters: - -* `file_path` (必需)-URL 编码的新文件的完整路径. 例如 lib%2Fclass%2Erb -* `branch` (必填)-分支的名称 -* `start_branch` (可选)-从中开始新提交的分支名称 -* `author_email` (可选)-指定提交作者的电子邮件地址 -* `author_name` (可选)-指定提交作者的姓名 -* `commit_message` (必填)-提交消息 -* `last_commit_id` (可选)-已知文件的最新提交 ID \ No newline at end of file diff --git a/docs/360.md b/docs/360.md deleted file mode 100644 index a12645e..0000000 --- a/docs/360.md +++ /dev/null @@ -1,36 +0,0 @@ -# Repository submodules API - -> 原文:[https://docs.gitlab.com/ee/api/repository_submodules.html](https://docs.gitlab.com/ee/api/repository_submodules.html) - -* [Update existing submodule reference in repository](#update-existing-submodule-reference-in-repository) - -# Repository submodules API[](#repository-submodules-api "Permalink") - -在 GitLab 11.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/41213) - -## Update existing submodule reference in repository[](#update-existing-submodule-reference-in-repository "Permalink") - -在某些工作流程中,尤其是自动化的工作流程中,更新子模块的引用以使使用它的其他项目保持最新是很有用的. 该端点允许您在特定分支中更新[Git 子模块](https://git-scm.com/book/en/v2/Git-Tools-Submodules)引用. - -``` -PUT /projects/:id/repository/submodules/:submodule -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `submodule` | string | yes | URL 编码的子模块完整路径. 例如, `lib/class.rb` | -| `branch` | string | yes | 要提交的分支名称 | -| `commit_sha` | string | yes | 完全提交 SHA 以将子模块更新为 | -| `commit_message` | string | no | 提交消息. 如果未提供任何消息,则将设置默认消息 | - -``` -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/repository/submodules/lib%2Fmodules%2Fexample" ---data "branch=master&commit_sha=3ddec28ea23acc5caa5d8331a6ecb2a65fc03e88&commit_message=Update submodule reference" -``` - -响应示例: - -``` -{ "id": "ed899a2f4b50b4370feeea94676502b42383c746", "short_id": "ed899a2f4b5", "title": "Updated submodule example_submodule with oid 3ddec28ea23acc5caa5d8331a6ecb2a65fc03e88", "author_name": "Dmitriy Zaporozhets", "author_email": "dzaporozhets@sphereconsultinginc.com", "committer_name": "Dmitriy Zaporozhets", "committer_email": "dzaporozhets@sphereconsultinginc.com", "created_at": "2018-09-20T09:26:24.000-07:00", "message": "Updated submodule example_submodule with oid 3ddec28ea23acc5caa5d8331a6ecb2a65fc03e88", "parent_ids": [ "ae1d9fb46aa2b07ee9836d49862ec4e2c46fbbba" ], "committed_date": "2018-09-20T09:26:24.000-07:00", "authored_date": "2018-09-20T09:26:24.000-07:00", "status": null } -``` \ No newline at end of file diff --git a/docs/361.md b/docs/361.md deleted file mode 100644 index 73ffe54..0000000 --- a/docs/361.md +++ /dev/null @@ -1,146 +0,0 @@ -# Resource label events API - -> 原文:[https://docs.gitlab.com/ee/api/resource_label_events.html](https://docs.gitlab.com/ee/api/resource_label_events.html) - -* [Issues](#issues) - * [List project issue label events](#list-project-issue-label-events) - * [Get single issue label event](#get-single-issue-label-event) -* [Epics](#epics-ultimate) - * [List group epic label events](#list-group-epic-label-events) - * [Get single epic label event](#get-single-epic-label-event) -* [Merge requests](#merge-requests) - * [List project merge request label events](#list-project-merge-request-label-events) - * [Get single merge request label event](#get-single-merge-request-label-event) - -# Resource label events API[](#resource-label-events-api "Permalink") - -资源标签事件可跟踪有关向可发行对象添加或删除对象的时间,对象和对象. - -## Issues[](#issues "Permalink") - -### List project issue label events[](#list-project-issue-label-events "Permalink") - -获取单个问题的所有标签事件的列表. - -``` -GET /projects/:id/issues/:issue_iid/resource_label_events -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `issue_iid` | integer | yes | 问题的 IID | - -``` -[ { "id": 142, "user": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://gitlab.example.com/root" }, "created_at": "2018-08-20T13:38:20.077Z", "resource_type": "Issue", "resource_id": 253, "label": { "id": 73, "name": "a1", "color": "#34495E", "description": "" }, "action": "add" }, { "id": 143, "user": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://gitlab.example.com/root" }, "created_at": "2018-08-20T13:38:20.077Z", "resource_type": "Issue", "resource_id": 253, "label": { "id": 74, "name": "p1", "color": "#0033CC", "description": "" }, "action": "remove" } ] -``` - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/issues/11/resource_label_events" -``` - -### Get single issue label event[](#get-single-issue-label-event "Permalink") - -返回特定项目问题的单个标签事件 - -``` -GET /projects/:id/issues/:issue_iid/resource_label_events/:resource_label_event_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `issue_iid` | integer | yes | 问题的 IID | -| `resource_label_event_id` | integer | yes | 标签事件的 ID | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/issues/11/resource_label_events/1" -``` - -## Epics[](#epics-ultimate "Permalink") - -### List group epic label events[](#list-group-epic-label-events "Permalink") - -获取单个史诗的所有标签事件的列表. - -``` -GET /groups/:id/epics/:epic_id/resource_label_events -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `epic_id` | integer | yes | 史诗的 ID | - -``` -[ { "id": 106, "user": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://gitlab.example.com/root" }, "created_at": "2018-08-19T11:43:01.746Z", "resource_type": "Epic", "resource_id": 33, "label": { "id": 73, "name": "a1", "color": "#34495E", "description": "" }, "action": "add" }, { "id": 107, "user": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://gitlab.example.com/root" }, "created_at": "2018-08-19T11:43:01.746Z", "resource_type": "Epic", "resource_id": 33, "label": { "id": 37, "name": "glabel2", "color": "#A8D695", "description": "" }, "action": "add" } ] -``` - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/1/epics/11/resource_label_events" -``` - -### Get single epic label event[](#get-single-epic-label-event "Permalink") - -返回特定组史诗的单个标签事件 - -``` -GET /groups/:id/epics/:epic_id/resource_label_events/:resource_label_event_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `epic_id` | integer | yes | 史诗的 ID | -| `resource_label_event_id` | integer | yes | 标签事件的 ID | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/1/epics/11/resource_label_events/107" -``` - -## Merge requests[](#merge-requests "Permalink") - -### List project merge request label events[](#list-project-merge-request-label-events "Permalink") - -获取单个合并请求的所有标签事件的列表. - -``` -GET /projects/:id/merge_requests/:merge_request_iid/resource_label_events -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `merge_request_iid` | integer | yes | 合并请求的 IID | - -``` -[ { "id": 119, "user": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://gitlab.example.com/root" }, "created_at": "2018-08-20T06:17:28.394Z", "resource_type": "MergeRequest", "resource_id": 28, "label": { "id": 74, "name": "p1", "color": "#0033CC", "description": "" }, "action": "add" }, { "id": 120, "user": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://gitlab.example.com/root" }, "created_at": "2018-08-20T06:17:28.394Z", "resource_type": "MergeRequest", "resource_id": 28, "label": { "id": 41, "name": "project", "color": "#D1D100", "description": "" }, "action": "add" } ] -``` - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/merge_requests/11/resource_label_events" -``` - -### Get single merge request label event[](#get-single-merge-request-label-event "Permalink") - -返回特定项目合并请求的单个标签事件 - -``` -GET /projects/:id/merge_requests/:merge_request_iid/resource_label_events/:resource_label_event_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `merge_request_iid` | integer | yes | 合并请求的 IID | -| `resource_label_event_id` | integer | yes | 标签事件的 ID | - -``` -curl --request GET --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/merge_requests/11/resource_label_events/120" -``` \ No newline at end of file diff --git a/docs/362.md b/docs/362.md deleted file mode 100644 index b492b46..0000000 --- a/docs/362.md +++ /dev/null @@ -1,114 +0,0 @@ -# Resource milestone events API - -> 原文:[https://docs.gitlab.com/ee/api/resource_milestone_events.html](https://docs.gitlab.com/ee/api/resource_milestone_events.html) - -* [Issues](#issues) - * [List project issue milestone events](#list-project-issue-milestone-events) - * [Get single issue milestone event](#get-single-issue-milestone-event) -* [Merge requests](#merge-requests) - * [List project merge request milestone events](#list-project-merge-request-milestone-events) - * [Get single merge request milestone event](#get-single-merge-request-milestone-event) - -# Resource milestone events API[](#resource-milestone-events-api "Permalink") - -资源里程碑事件跟踪 GitLab [问题](../user/project/issues/)和[合并请求的处理情况](../user/project/merge_requests/) . - -使用它们来跟踪添加或删除了哪个里程碑,谁进行了里程碑以及何时发生. - -## Issues[](#issues "Permalink") - -### List project issue milestone events[](#list-project-issue-milestone-events "Permalink") - -获取单个问题的所有里程碑事件的列表. - -``` -GET /projects/:id/issues/:issue_iid/resource_milestone_events -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `issue_iid` | integer | yes | 问题的 IID | - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/issues/11/resource_milestone_events" -``` - -响应示例: - -``` -[ { "id": 142, "user": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://gitlab.example.com/root" }, "created_at": "2018-08-20T13:38:20.077Z", "resource_type": "Issue", "resource_id": 253, "milestone": { "id": 61, "iid": 9, "project_id": 7, "title": "v1.2", "description": "Ipsum Lorem", "state": "active", "created_at": "2020-01-27T05:07:12.573Z", "updated_at": "2020-01-27T05:07:12.573Z", "due_date": null, "start_date": null, "web_url": "http://gitlab.example.com:3000/group/project/-/milestones/9" }, "action": "add" }, { "id": 143, "user": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://gitlab.example.com/root" }, "created_at": "2018-08-21T14:38:20.077Z", "resource_type": "Issue", "resource_id": 253, "milestone": { "id": 61, "iid": 9, "project_id": 7, "title": "v1.2", "description": "Ipsum Lorem", "state": "active", "created_at": "2020-01-27T05:07:12.573Z", "updated_at": "2020-01-27T05:07:12.573Z", "due_date": null, "start_date": null, "web_url": "http://gitlab.example.com:3000/group/project/-/milestones/9" }, "action": "remove" } ] -``` - -### Get single issue milestone event[](#get-single-issue-milestone-event "Permalink") - -返回特定项目问题的单个里程碑事件 - -``` -GET /projects/:id/issues/:issue_iid/resource_milestone_events/:resource_milestone_event_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `issue_iid` | integer | yes | 问题的 IID | -| `resource_milestone_event_id` | integer | yes | 里程碑事件的 ID | - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/issues/11/resource_milestone_events/1" -``` - -## Merge requests[](#merge-requests "Permalink") - -### List project merge request milestone events[](#list-project-merge-request-milestone-events "Permalink") - -获取单个合并请求的所有里程碑事件的列表. - -``` -GET /projects/:id/merge_requests/:merge_request_iid/resource_milestone_events -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `merge_request_iid` | integer | yes | 合并请求的 IID | - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/merge_requests/11/resource_milestone_events" -``` - -响应示例: - -``` -[ { "id": 142, "user": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://gitlab.example.com/root" }, "created_at": "2018-08-20T13:38:20.077Z", "resource_type": "MergeRequest", "resource_id": 142, "milestone": { "id": 61, "iid": 9, "project_id": 7, "title": "v1.2", "description": "Ipsum Lorem", "state": "active", "created_at": "2020-01-27T05:07:12.573Z", "updated_at": "2020-01-27T05:07:12.573Z", "due_date": null, "start_date": null, "web_url": "http://gitlab.example.com:3000/group/project/-/milestones/9" }, "action": "add" }, { "id": 143, "user": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://gitlab.example.com/root" }, "created_at": "2018-08-21T14:38:20.077Z", "resource_type": "MergeRequest", "resource_id": 142, "milestone": { "id": 61, "iid": 9, "project_id": 7, "title": "v1.2", "description": "Ipsum Lorem", "state": "active", "created_at": "2020-01-27T05:07:12.573Z", "updated_at": "2020-01-27T05:07:12.573Z", "due_date": null, "start_date": null, "web_url": "http://gitlab.example.com:3000/group/project/-/milestones/9" }, "action": "remove" } ] -``` - -### Get single merge request milestone event[](#get-single-merge-request-milestone-event "Permalink") - -返回特定项目合并请求的单个里程碑事件 - -``` -GET /projects/:id/merge_requests/:merge_request_iid/resource_milestone_events/:resource_milestone_event_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `merge_request_iid` | integer | yes | 合并请求的 IID | -| `resource_milestone_event_id` | integer | yes | 里程碑事件的 ID | - -请求示例: - -``` -curl --request GET --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/merge_requests/11/resource_milestone_events/120" -``` \ No newline at end of file diff --git a/docs/363.md b/docs/363.md deleted file mode 100644 index 74ed5a7..0000000 --- a/docs/363.md +++ /dev/null @@ -1,68 +0,0 @@ -# Resource weight events API - -> 原文:[https://docs.gitlab.com/ee/api/resource_weight_events.html](https://docs.gitlab.com/ee/api/resource_weight_events.html) - -* [Issues](#issues) - * [List project issue weight events](#list-project-issue-weight-events) - * [Get single issue weight event](#get-single-issue-weight-event) - -# Resource weight events API[](#resource-weight-events-api "Permalink") - -资源权重事件跟踪 GitLab [问题的](../user/project/issues/)发生情况. - -使用它们来跟踪设置了哪些权重,由谁进行权重以及何时发生. - -## Issues[](#issues "Permalink") - -### List project issue weight events[](#list-project-issue-weight-events "Permalink") - -获取单个问题的所有举重事件的列表. - -``` -GET /projects/:id/issues/:issue_iid/resource_weight_events -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `issue_iid` | integer | yes | 问题的 IID | - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/issues/11/resource_weight_events" -``` - -响应示例: - -``` -[ { "id": 142, "user": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://gitlab.example.com/root" }, "created_at": "2018-08-20T13:38:20.077Z", "issue_id": 253, "weight": 3 }, { "id": 143, "user": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://gitlab.example.com/root" }, "created_at": "2018-08-21T14:38:20.077Z", "issue_id": 253, "weight": 2 } ] -``` - -### Get single issue weight event[](#get-single-issue-weight-event "Permalink") - -返回特定项目问题的单个权重事件 - -``` -GET /projects/:id/issues/:issue_iid/resource_weight_events/:resource_weight_event_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `issue_iid` | integer | yes | 问题的 IID | -| `resource_weight_event_id` | integer | yes | 举重事件的 ID | - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/issues/11/resource_weight_events/143" -``` - -响应示例: - -``` -{ "id": 143, "user": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://gitlab.example.com/root" }, "created_at": "2018-08-21T14:38:20.077Z", "issue_id": 253, "weight": 2 } -``` \ No newline at end of file diff --git a/docs/364.md b/docs/364.md deleted file mode 100644 index 1d0a259..0000000 --- a/docs/364.md +++ /dev/null @@ -1,378 +0,0 @@ -# Runners API - -> 原文:[https://docs.gitlab.com/ee/api/runners.html](https://docs.gitlab.com/ee/api/runners.html) - -* [Registration and authentication tokens](#registration-and-authentication-tokens) -* [List owned runners](#list-owned-runners) -* [List all runners](#list-all-runners) -* [Get runner’s details](#get-runners-details) -* [Update runner’s details](#update-runners-details) -* [Remove a runner](#remove-a-runner) -* [List runner’s jobs](#list-runners-jobs) -* [List project’s runners](#list-projects-runners) -* [Enable a runner in project](#enable-a-runner-in-project) -* [Disable a runner from project](#disable-a-runner-from-project) -* [List group’s runners](#list-groups-runners) -* [Register a new Runner](#register-a-new-runner) -* [Delete a registered Runner](#delete-a-registered-runner) -* [Verify authentication for a registered Runner](#verify-authentication-for-a-registered-runner) - -# Runners API[](#runners-api "Permalink") - -在 GitLab 8.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/2640) - -## Registration and authentication tokens[](#registration-and-authentication-tokens "Permalink") - -将 Runner 与 GitLab 连接时要考虑两个标记. - -| Token | Description | -| --- | --- | -| 注册令牌 | 用于[注册 Runner 的](https://docs.gitlab.com/runner/register/)令牌. 可以[通过 GitLab 获得](../ci/runners/README.html) . | -| 认证令牌 | 用于通过 GitLab 实例对 Runner 进行身份验证的令牌. 它可以在[注册 Runner](https://docs.gitlab.com/runner/register/)时自动获得,也可以[通过 Runners API](#register-a-new-runner)手动[注册时获得](#register-a-new-runner) . | - -这是在 Runner 注册中如何使用两个令牌的示例: - -1. 您使用注册令牌通过 GitLab API 注册了 Runner,并返回了身份验证令牌. -2. 您使用该身份验证令牌并将其添加到[Runner 的配置文件中](https://docs.gitlab.com/runner/commands/) : - - ``` - [[runners]] - token = "" - ``` - -然后将 GitLab 和 Runner 连接起来. - -## List owned runners[](#list-owned-runners "Permalink") - -获取可供用户使用的特定跑步者的列表. - -``` -GET /runners -GET /runners?scope=active -GET /runners?type=project_type -GET /runners?status=active -GET /runners?tag_list=tag1,tag2 -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `scope` | string | no | Deprecated: Use `type` or `status` instead. The scope of specific runners to show, one of: `active`, `paused`, `online`, `offline`; showing all runners if none provided | -| `type` | string | no | 要显示的跑步者的类型,其中之一: `instance_type` , `group_type` , `project_type` | -| `status` | string | no | 要显示的跑步者状态,其中之一: `active` , `paused` , `online` , `offline` | -| `tag_list` | 字符串数组 | no | 跑步者标签列表 | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/runners" -``` - -响应示例: - -``` -[ { "active": true, "description": "test-1-20150125", "id": 6, "is_shared": false, "ip_address": "127.0.0.1", "name": null, "online": true, "status": "online" }, { "active": true, "description": "test-2-20150125", "id": 8, "ip_address": "127.0.0.1", "is_shared": false, "name": null, "online": false, "status": "offline" } ] -``` - -## List all runners[](#list-all-runners "Permalink") - -获取 GitLab 实例中所有跑步者的列表(特定的和共享的). 访问仅限于具有`admin`权限的用户. - -``` -GET /runners/all -GET /runners/all?scope=online -GET /runners/all?type=project_type -GET /runners/all?status=active -GET /runners/all?tag_list=tag1,tag2 -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `scope` | string | no | 不推荐使用:改为使用`type`或`status` . 参与者显示的范围,其中之一: `specific` , `shared` , `active` ,已`paused` , `online` , `offline` ; 显示所有跑步者(如果未提供) | -| `type` | string | no | 要显示的跑步者的类型,其中之一: `instance_type` , `group_type` , `project_type` | -| `status` | string | no | 要显示的跑步者状态,其中之一: `active` , `paused` , `online` , `offline` | -| `tag_list` | 字符串数组 | no | 跑步者标签列表 | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/runners/all" -``` - -响应示例: - -``` -[ { "active": true, "description": "shared-runner-1", "id": 1, "ip_address": "127.0.0.1", "is_shared": true, "name": null, "online": true, "status": "online" }, { "active": true, "description": "shared-runner-2", "id": 3, "ip_address": "127.0.0.1", "is_shared": true, "name": null, "online": false "status": "offline" }, { "active": true, "description": "test-1-20150125", "id": 6, "ip_address": "127.0.0.1", "is_shared": false, "name": null, "online": true "status": "paused" }, { "active": true, "description": "test-2-20150125", "id": 8, "ip_address": "127.0.0.1", "is_shared": false, "name": null, "online": false, "status": "offline" } ] -``` - -## Get runner’s details[](#get-runners-details "Permalink") - -获取跑步者的详细信息. - -``` -GET /runners/:id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 跑步者 ID | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/runners/6" -``` - -**注意:**响应中的`token`属性[在 GitLab 12.10](https://gitlab.com/gitlab-org/gitlab/-/issues/214320)中已弃用. 并在[GitLab 13.0 中](https://gitlab.com/gitlab-org/gitlab/-/issues/214322)删除. - -响应示例: - -``` -{ "active": true, "architecture": null, "description": "test-1-20150125", "id": 6, "ip_address": "127.0.0.1", "is_shared": false, "contacted_at": "2016-01-25T16:39:48.066Z", "name": null, "online": true, "status": "online", "platform": null, "projects": [ { "id": 1, "name": "GitLab Community Edition", "name_with_namespace": "GitLab.org / GitLab Community Edition", "path": "gitlab-foss", "path_with_namespace": "gitlab-org/gitlab-foss" } ], "revision": null, "tag_list": [ "ruby", "mysql" ], "version": null, "access_level": "ref_protected", "maximum_timeout": 3600 } -``` - -## Update runner’s details[](#update-runners-details "Permalink") - -更新跑步者的详细信息. - -``` -PUT /runners/:id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 跑步者 ID | -| `description` | string | no | 跑步者 | -| `active` | boolean | no | 跑步者的状态; 可以设置为`true`或`false` | -| `tag_list` | array | no | 跑步者的标签列表; 放置标签数组,这些标签应最终分配给跑步者 | -| `run_untagged` | boolean | no | 指示跑步者可以执行未加标签的作业的标志 | -| `locked` | boolean | no | 指示跑步者被锁定的标志 | -| `access_level` | string | no | 跑步者的 access_level; `not_protected`或`ref_protected` | -| `maximum_timeout` | integer | no | 此 Runner 处理作业的最大超时时间 | - -``` -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/runners/6" --form "description=test-1-20150125-test" --form "tag_list=ruby,mysql,tag1,tag2" -``` - -**注意:**响应中的`token`属性[在 GitLab 12.10](https://gitlab.com/gitlab-org/gitlab/-/issues/214320)中已弃用. 并在[GitLab 13.0 中](https://gitlab.com/gitlab-org/gitlab/-/issues/214322)删除. - -响应示例: - -``` -{ "active": true, "architecture": null, "description": "test-1-20150125-test", "id": 6, "ip_address": "127.0.0.1", "is_shared": false, "contacted_at": "2016-01-25T16:39:48.066Z", "name": null, "online": true, "status": "online", "platform": null, "projects": [ { "id": 1, "name": "GitLab Community Edition", "name_with_namespace": "GitLab.org / GitLab Community Edition", "path": "gitlab-foss", "path_with_namespace": "gitlab-org/gitlab-foss" } ], "revision": null, "tag_list": [ "ruby", "mysql", "tag1", "tag2" ], "version": null, "access_level": "ref_protected", "maximum_timeout": null } -``` - -## Remove a runner[](#remove-a-runner "Permalink") - -卸下流道. - -``` -DELETE /runners/:id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | The ID of a runner | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/runners/6" -``` - -## List runner’s jobs[](#list-runners-jobs "Permalink") - -在 GitLab 10.3 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/15432) . - -列出正在处理或由指定运行程序处理的作业. - -``` -GET /runners/:id/jobs -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 跑步者 ID | -| `status` | string | no | 工作状态; 其中之一: `running` , `success` , `failed` , `canceled` | -| `order_by` | string | no | 按`id`订购工作. | -| `sort` | string | no | 按`asc`或`desc`顺序对作业进行排序(默认值: `desc` ) | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/runners/1/jobs?status=running" -``` - -响应示例: - -``` -[ { "id": 2, "ip_address": "127.0.0.1", "status": "running", "stage": "test", "name": "test", "ref": "master", "tag": false, "coverage": null, "created_at": "2017-11-16T08:50:29.000Z", "started_at": "2017-11-16T08:51:29.000Z", "finished_at": "2017-11-16T08:53:29.000Z", "duration": 120, "user": { "id": 1, "name": "John Doe2", "username": "user2", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/c922747a93b40d1ea88262bf1aebee62?s=80&d=identicon", "web_url": "http://localhost/user2", "created_at": "2017-11-16T18:38:46.000Z", "bio": null, "location": null, "public_email": "", "skype": "", "linkedin": "", "twitter": "", "website_url": "", "organization": null }, "commit": { "id": "97de212e80737a608d939f648d959671fb0a0142", "short_id": "97de212e", "title": "Update configuration\r", "created_at": "2017-11-16T08:50:28.000Z", "parent_ids": [ "1b12f15a11fc6e62177bef08f47bc7b5ce50b141", "498214de67004b1da3d820901307bed2a68a8ef6" ], "message": "See merge request !123", "author_name": "John Doe2", "author_email": "user2@example.org", "authored_date": "2017-11-16T08:50:27.000Z", "committer_name": "John Doe2", "committer_email": "user2@example.org", "committed_date": "2017-11-16T08:50:27.000Z" }, "pipeline": { "id": 2, "sha": "97de212e80737a608d939f648d959671fb0a0142", "ref": "master", "status": "running" }, "project": { "id": 1, "description": null, "name": "project1", "name_with_namespace": "John Doe2 / project1", "path": "project1", "path_with_namespace": "namespace1/project1", "created_at": "2017-11-16T18:38:46.620Z" } } ] -``` - -## List project’s runners[](#list-projects-runners "Permalink") - -List all runners (specific and shared) available in the project. 列出项目中所有可用的跑步者(特定的和共享的). Shared runners are listed if at least one shared runner is defined. 如果定义了至少一个共享运行程序,则列出共享运行程序. - -``` -GET /projects/:id/runners -GET /projects/:id/runners?scope=active -GET /projects/:id/runners?type=project_type -GET /projects/:id/runners?status=active -GET /projects/:id/runners?tag_list=tag1,tag2 -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `scope` | string | no | 不推荐使用:改为使用`type`或`status` . 要显示的特定跑步者的范围,其中之一: `active` , `paused` , `online` , `offline` ; 显示所有跑步者(如果未提供) | -| `type` | string | no | 要显示的跑步者的类型,其中之一: `instance_type` , `group_type` , `project_type` | -| `status` | string | no | 要显示的跑步者状态,其中之一: `active` , `paused` , `online` , `offline` | -| `tag_list` | 字符串数组 | no | 跑步者标签列表 | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/9/runners" -``` - -响应示例: - -``` -[ { "active": true, "description": "test-2-20150125", "id": 8, "ip_address": "127.0.0.1", "is_shared": false, "name": null, "online": false, "status": "offline" }, { "active": true, "description": "development_runner", "id": 5, "ip_address": "127.0.0.1", "is_shared": true, "name": null, "online": true "status": "paused" } ] -``` - -## Enable a runner in project[](#enable-a-runner-in-project "Permalink") - -在项目中启用可用的特定运行器. - -``` -POST /projects/:id/runners -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `runner_id` | integer | yes | 跑步者 ID | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/9/runners" --form "runner_id=9" -``` - -响应示例: - -``` -{ "active": true, "description": "test-2016-02-01", "id": 9, "ip_address": "127.0.0.1", "is_shared": false, "name": null, "online": true, "status": "online" } -``` - -## Disable a runner from project[](#disable-a-runner-from-project "Permalink") - -禁用项目中的特定运行器. 仅当该项目不是与指定运行器关联的唯一项目时,它才有效. 如果是这样,则返回错误. 改用" [删除亚军"](#remove-a-runner)电话. - -``` -DELETE /projects/:id/runners/:runner_id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `runner_id` | integer | yes | 跑步者 ID | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/9/runners/9" -``` - -## List group’s runners[](#list-groups-runners "Permalink") - -列出组中的所有跑步者(特定的和共享的)以及其祖先组. 如果定义了至少一个共享运行程序,则列出共享运行程序. - -``` -GET /groups/:id/runners -GET /groups/:id/runners?type=group_type -GET /groups/:id/runners?status=active -GET /groups/:id/runners?tag_list=tag1,tag2 -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 认证用户拥有的组的 ID | -| `type` | string | no | 要显示的跑步者的类型,其中之一: `instance_type` , `group_type` , `project_type` | -| `status` | string | no | 要显示的跑步者状态,其中之一: `active` , `paused` , `online` , `offline` | -| `tag_list` | 字符串数组 | no | 跑步者标签列表 | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/9/runners" -``` - -响应示例: - -``` -[ { "id": 3, "description": "Shared", "ip_address": "127.0.0.1", "active": true, "is_shared": true, "name": "gitlab-runner", "online": null, "status": "not_connected" }, { "id": 6, "description": "Test", "ip_address": "127.0.0.1", "active": true, "is_shared": true, "name": "gitlab-runner", "online": false, "status": "offline" }, { "id": 8, "description": "Test 2", "ip_address": "127.0.0.1", "active": true, "is_shared": false, "name": "gitlab-runner", "online": null, "status": "not_connected" } ] -``` - -## Register a new Runner[](#register-a-new-runner "Permalink") - -为该实例注册一个新的运行器. - -``` -POST /runners -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `token` | string | yes | [Registration token](#registration-and-authentication-tokens). | -| `description` | string | no | 跑步者的描述 | -| `info` | hash | no | 跑步者的元数据 | -| `active` | boolean | no | 跑步者是否活跃 | -| `locked` | boolean | no | Runner 是否应该为当前项目锁定 | -| `run_untagged` | boolean | no | 跑步者是否应处理未加标签的工作 | -| `tag_list` | 字符串数组 | no | 跑步者标签列表 | -| `access_level` | string | no | 跑步者的 access_level; `not_protected`或`ref_protected` | -| `maximum_timeout` | integer | no | 此 Runner 处理作业的最大超时时间 | - -``` -curl --request POST "https://gitlab.example.com/api/v4/runners" --form "token=" --form "description=test-1-20150125-test" --form "tag_list=ruby,mysql,tag1,tag2" -``` - -Response: - -| Status | Description | -| --- | --- | -| 201 | 跑步者已创建 | - -响应示例: - -``` -{ "id": "12345", "token": "6337ff461c94fd3fa32ba3b1ff4125" } -``` - -## Delete a registered Runner[](#delete-a-registered-runner "Permalink") - -删除注册的跑步者. - -``` -DELETE /runners -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `token` | string | yes | Runner’s [authentication token](#registration-and-authentication-tokens). | - -``` -curl --request DELETE "https://gitlab.example.com/api/v4/runners" --form "token=" -``` - -Response: - -| Status | Description | -| --- | --- | -| 204 | 跑步者已被删除 | - -## Verify authentication for a registered Runner[](#verify-authentication-for-a-registered-runner "Permalink") - -验证注册的运行程序的身份验证凭据. - -``` -POST /runners/verify -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `token` | string | yes | Runner’s [authentication token](#registration-and-authentication-tokens). | - -``` -curl --request POST "https://gitlab.example.com/api/v4/runners/verify" --form "token=" -``` - -Response: - -| Status | Description | -| --- | --- | -| 200 | 凭证有效 | -| 403 | 凭证无效 | \ No newline at end of file diff --git a/docs/365.md b/docs/365.md deleted file mode 100644 index 34125a7..0000000 --- a/docs/365.md +++ /dev/null @@ -1,189 +0,0 @@ -# SCIM API - -> 原文:[https://docs.gitlab.com/ee/api/scim.html](https://docs.gitlab.com/ee/api/scim.html) - -* [Get a list of SAML users](#get-a-list-of-saml-users) -* [Get a single SAML user](#get-a-single-saml-user) -* [Create a SAML user](#create-a-saml-user) -* [Update a single SAML user](#update-a-single-saml-user) -* [Remove a single SAML user](#remove-a-single-saml-user) -* [Available filters](#available-filters) -* [Available operations](#available-operations) - -# SCIM API[](#scim-api-silver-only "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/9388) in [GitLab Silver](https://about.gitlab.com/pricing/) 11.10. - -SCIM API 实现[RFC7644 协议](https://tools.ietf.org/html/rfc7644) . - -**警告:**此 API 供内部系统用于与 SCIM 提供程序连接. 虽然可以直接使用,但如有更改,恕不另行通知.**注意:**必须为组启用[组 SSO](../user/group/saml_sso/index.html) . 有关更多信息,请参见[SCIM 设置文档](../user/group/saml_sso/scim_setup.html#requirements) . - -## Get a list of SAML users[](#get-a-list-of-saml-users "Permalink") - -**注意:**此端点用作 SCIM 同步机制的一部分,并且它仅基于唯一 ID(应与用户的`extern_uid`相匹配)返回一个用户. - -``` -GET /api/scim/v2/groups/:group_path/Users -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `filter` | string | no | A [filter](#available-filters) expression. | -| `group_path` | string | yes | 组的完整路径. | -| `startIndex` | integer | no | 从 1 开始的索引,指示从何处开始返回结果. 小于 1 的值将被解释为 1. | -| `count` | integer | no | 所需的最大查询结果数. | - -**注意:**分页遵循[SCIM 规范,](https://tools.ietf.org/html/rfc7644#section-3.4.2.4)而不是其他地方使用的 GitLab 分页. 如果记录在请求之间更改,则页面可能丢失已移至其他页面的记录,或者重复上一个请求的记录. - -请求示例: - -``` -curl 'https://example.gitlab.com/api/scim/v2/groups/test_group/Users?filter=id%20eq%20"0b1d561c-21ff-4092-beab-8154b17f82f2"' --header "Authorization: Bearer " --header "Content-Type: application/scim+json" -``` - -响应示例: - -``` -{ "schemas": [ "urn:ietf:params:scim:api:messages:2.0:ListResponse" ], "totalResults": 1, "itemsPerPage": 20, "startIndex": 1, "Resources": [ { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "id": "0b1d561c-21ff-4092-beab-8154b17f82f2", "active": true, "name.formatted": "Test User", "userName": "username", "meta": { "resourceType":"User" }, "emails": [ { "type": "work", "value": "name@example.com", "primary": true } ] } ] } -``` - -## Get a single SAML user[](#get-a-single-saml-user "Permalink") - -``` -GET /api/scim/v2/groups/:group_path/Users/:id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | string | yes | 用户的外部 UID. | -| `group_path` | string | yes | 组的完整路径. | - -请求示例: - -``` -curl "https://example.gitlab.com/api/scim/v2/groups/test_group/Users/f0b1d561c-21ff-4092-beab-8154b17f82f2" --header "Authorization: Bearer " --header "Content-Type: application/scim+json" -``` - -响应示例: - -``` -{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "id": "0b1d561c-21ff-4092-beab-8154b17f82f2", "active": true, "name.formatted": "Test User", "userName": "username", "meta": { "resourceType":"User" }, "emails": [ { "type": "work", "value": "name@example.com", "primary": true } ] } -``` - -## Create a SAML user[](#create-a-saml-user "Permalink") - -``` -POST /api/scim/v2/groups/:group_path/Users/ -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `externalId` | string | yes | 用户的外部 UID. | -| `userName` | string | yes | 用户的用户名. | -| `emails` | JSON 字符串 | yes | 工作电子邮件. | -| `name` | JSON 字符串 | yes | 用户名. | -| `meta` | string | no | 资源类型( `User` ). | - -请求示例: - -``` -curl --verbose --request POST "https://example.gitlab.com/api/scim/v2/groups/test_group/Users" --data '{"externalId":"test_uid","active":null,"userName":"username","emails":[{"primary":true,"type":"work","value":"name@example.com"}],"name":{"formatted":"Test User","familyName":"User","givenName":"Test"},"schemas":["urn:ietf:params:scim:schemas:core:2.0:User"],"meta":{"resourceType":"User"}}' --header "Authorization: Bearer " --header "Content-Type: application/scim+json" -``` - -响应示例: - -``` -{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "id": "0b1d561c-21ff-4092-beab-8154b17f82f2", "active": true, "name.formatted": "Test User", "userName": "username", "meta": { "resourceType":"User" }, "emails": [ { "type": "work", "value": "name@example.com", "primary": true } ] } -``` - -如果成功,则返回`201`状态代码. - -## Update a single SAML user[](#update-a-single-saml-user "Permalink") - -可以更新的字段是: - -| SCIM / IdP 字段 | GitLab 领域 | -| --- | --- | -| `id/externalId` | `extern_uid` | -| `name.formatted` | `name` | -| `emails\[type eq "work"\].value` | `email` | -| `active` | 如果`active` = `false`删除身份 | -| `userName` | `username` | - -``` -PATCH /api/scim/v2/groups/:group_path/Users/:id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | string | yes | 用户的外部 UID. | -| `group_path` | string | yes | 组的完整路径. | -| `Operations` | JSON 字符串 | yes | An [operations](#available-operations) expression. | - -请求示例: - -``` -curl --verbose --request PATCH "https://example.gitlab.com/api/scim/v2/groups/test_group/Users/f0b1d561c-21ff-4092-beab-8154b17f82f2" --data '{ "Operations": [{"op":"Add","path":"name.formatted","value":"New Name"}] }' --header "Authorization: Bearer " --header "Content-Type: application/scim+json" -``` - -如果成功,则返回带有`204`状态代码的空响应. - -## Remove a single SAML user[](#remove-a-single-saml-user "Permalink") - -删除用户的 SSO 身份和组成员身份. - -``` -DELETE /api/scim/v2/groups/:group_path/Users/:id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | string | yes | 用户的外部 UID. | -| `group_path` | string | yes | 组的完整路径. | - -请求示例: - -``` -curl --verbose --request DELETE "https://example.gitlab.com/api/scim/v2/groups/test_group/Users/f0b1d561c-21ff-4092-beab-8154b17f82f2" --header "Authorization: Bearer " --header "Content-Type: application/scim+json" -``` - -如果成功,则返回带有`204`状态代码的空响应. - -## Available filters[](#available-filters "Permalink") - -它们与[RFC7644 过滤部分中](https://tools.ietf.org/html/rfc7644#section-3.4.2.2)指定的表达式匹配. - -| Filter | Description | -| --- | --- | -| `eq` | 该属性与指定值完全匹配. | - -Example: - -``` -id eq a-b-c-d -``` - -## Available operations[](#available-operations "Permalink") - -They perform an operation as specified in [the RFC7644 update section](https://tools.ietf.org/html/rfc7644#section-3.5.2). - -| Operator | Description | -| --- | --- | -| `Replace` | 该属性的值已更新. | -| `Add` | 该属性具有新值. | - -Example: - -``` -{ "op": "Add", "path": "name.formatted", "value": "New Name" } -``` \ No newline at end of file diff --git a/docs/366.md b/docs/366.md deleted file mode 100644 index f7dac4b..0000000 --- a/docs/366.md +++ /dev/null @@ -1,476 +0,0 @@ -# Search API - -> 原文:[https://docs.gitlab.com/ee/api/search.html](https://docs.gitlab.com/ee/api/search.html) - -* [Global Search API](#global-search-api) - * [Scope: projects](#scope-projects) - * [Scope: issues](#scope-issues) - * [Scope: merge_requests](#scope-merge_requests) - * [Scope: milestones](#scope-milestones) - * [Scope: snippet_titles](#scope-snippet_titles) - * [Scope: wiki_blobs](#scope-wiki_blobs-starter) - * [Scope: commits](#scope-commits-starter) - * [Scope: blobs](#scope-blobs-starter) - * [Scope: users](#scope-users) -* [Group Search API](#group-search-api) - * [Scope: projects](#scope-projects-1) - * [Scope: issues](#scope-issues-1) - * [Scope: merge_requests](#scope-merge_requests-1) - * [Scope: milestones](#scope-milestones-1) - * [Scope: wiki_blobs](#scope-wiki_blobs-starter-1) - * [Scope: commits](#scope-commits-starter-1) - * [Scope: blobs](#scope-blobs-starter-1) - * [Scope: users](#scope-users-1) -* [Project Search API](#project-search-api) - * [Scope: issues](#scope-issues-2) - * [Scope: merge_requests](#scope-merge_requests-2) - * [Scope: milestones](#scope-milestones-2) - * [Scope: notes](#scope-notes) - * [Scope: wiki_blobs](#scope-wiki_blobs) - * [Scope: commits](#scope-commits) - * [Scope: blobs](#scope-blobs) - * [Scope: users](#scope-users-2) - -# Search API[](#search-api "Permalink") - -在 GitLab 10.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/41763) . - -搜索的每个 API 调用都必须经过验证. - -## Global Search API[](#global-search-api "Permalink") - -在整个 GitLab 实例中进行全局搜索. - -``` -GET /search -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `scope` | string | yes | 搜索范围 | -| `search` | string | yes | 搜索查询 | - -在指定范围内搜索表达式. 当前支持以下范围:项目,问题,merge_requests,里程碑,snippet_titles,用户. - -如果启用了 Elasticsearch,则其他可用范围是 blob,wiki_blobs 和 commits. 查找有关[该功能的](../integration/elasticsearch.html)更多信息. - -响应取决于请求的范围. - -### Scope: projects[](#scope-projects "Permalink") - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/search?scope=projects&search=flight" -``` - -响应示例: - -``` -[ { "id": 6, "description": "Nobis sed ipsam vero quod cupiditate veritatis hic.", "name": "Flight", "name_with_namespace": "Twitter / Flight", "path": "flight", "path_with_namespace": "twitter/flight", "created_at": "2017-09-05T07:58:01.621Z", "default_branch": "master", "tag_list":[], "ssh_url_to_repo": "ssh://jarka@localhost:2222/twitter/flight.git", "http_url_to_repo": "http://localhost:3000/twitter/flight.git", "web_url": "http://localhost:3000/twitter/flight", "avatar_url": null, "star_count": 0, "forks_count": 0, "last_activity_at": "2018-01-31T09:56:30.902Z" } ] -``` - -### Scope: issues[](#scope-issues "Permalink") - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/search?scope=issues&search=file" -``` - -响应示例: - -``` -[ { "id": 83, "iid": 1, "project_id": 12, "title": "Add file", "description": "Add first file", "state": "opened", "created_at": "2018-01-24T06:02:15.514Z", "updated_at": "2018-02-06T12:36:23.263Z", "closed_at": null, "labels":[], "milestone": null, "assignees": [{ "id": 20, "name": "Ceola Deckow", "username": "sammy.collier", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/c23d85a4f50e0ea76ab739156c639231?s=80&d=identicon", "web_url": "http://localhost:3000/sammy.collier" }], "author": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://localhost:3000/root" }, "assignee": { "id": 20, "name": "Ceola Deckow", "username": "sammy.collier", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/c23d85a4f50e0ea76ab739156c639231?s=80&d=identicon", "web_url": "http://localhost:3000/sammy.collier" }, "user_notes_count": 0, "upvotes": 0, "downvotes": 0, "due_date": null, "confidential": false, "discussion_locked": null, "web_url": "http://localhost:3000/h5bp/7bp/subgroup-prj/issues/1", "time_stats": { "time_estimate": 0, "total_time_spent": 0, "human_time_estimate": null, "human_total_time_spent": null } } ] -``` - -**注意** :不建议使用`assignee`列,现在我们将其显示为符合 GitLab EE API 的单一大小的数组`assignees` . - -### Scope: merge_requests[](#scope-merge_requests "Permalink") - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/search?scope=merge_requests&search=file" -``` - -响应示例: - -``` -[ { "id": 56, "iid": 8, "project_id": 6, "title": "Add first file", "description": "This is a test MR to add file", "state": "opened", "created_at": "2018-01-22T14:21:50.830Z", "updated_at": "2018-02-06T12:40:33.295Z", "target_branch": "master", "source_branch": "jaja-test", "upvotes": 0, "downvotes": 0, "author": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://localhost:3000/root" }, "assignee": { "id": 5, "name": "Jacquelyn Kutch", "username": "abigail", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/3138c66095ee4bd11a508c2f7f7772da?s=80&d=identicon", "web_url": "http://localhost:3000/abigail" }, "source_project_id": 6, "target_project_id": 6, "labels": [ "ruby", "tests" ], "work_in_progress": false, "milestone": { "id": 13, "iid": 3, "project_id": 6, "title": "v2.0", "description": "Qui aut qui eos dolor beatae itaque tempore molestiae.", "state": "active", "created_at": "2017-09-05T07:58:29.099Z", "updated_at": "2017-09-05T07:58:29.099Z", "due_date": null, "start_date": null }, "merge_when_pipeline_succeeds": false, "merge_status": "can_be_merged", "sha": "78765a2d5e0a43585945c58e61ba2f822e4d090b", "merge_commit_sha": null, "squash_commit_sha": null, "user_notes_count": 0, "discussion_locked": null, "should_remove_source_branch": null, "force_remove_source_branch": true, "web_url": "http://localhost:3000/twitter/flight/merge_requests/8", "time_stats": { "time_estimate": 0, "total_time_spent": 0, "human_time_estimate": null, "human_total_time_spent": null } } ] -``` - -### Scope: milestones[](#scope-milestones "Permalink") - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/search?scope=milestones&search=release" -``` - -响应示例: - -``` -[ { "id": 44, "iid": 1, "project_id": 12, "title": "next release", "description": "Next release milestone", "state": "active", "created_at": "2018-02-06T12:43:39.271Z", "updated_at": "2018-02-06T12:44:01.298Z", "due_date": "2018-04-18", "start_date": "2018-02-04" } ] -``` - -### Scope: snippet_titles[](#scope-snippet_titles "Permalink") - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/search?scope=snippet_titles&search=sample" -``` - -响应示例: - -``` -[ { "id": 50, "title": "Sample file", "file_name": "file.rb", "description": "Simple ruby file", "author": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://localhost:3000/root" }, "updated_at": "2018-02-06T12:49:29.104Z", "created_at": "2017-11-28T08:20:18.071Z", "project_id": 9, "web_url": "http://localhost:3000/root/jira-test/snippets/50" } ] -``` - -### Scope: wiki_blobs[](#scope-wiki_blobs-starter "Permalink") - -仅当启用[Elasticsearch 时,](../integration/elasticsearch.html)此范围才可用. - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/search?scope=wiki_blobs&search=bye" -``` - -Example response: - -``` - [ { "basename": "home", "data": "hello\n\nand bye\n\nend", "path": "home.md", "filename": "home.md", "id": null, "ref": "master", "startline": 5, "project_id": 6 } ] -``` - -**注意:**不建议使用`filename`而推荐使用`path` . 两者都返回存储库中文件的完整路径,但将来`filename`名将仅是文件名,而不是完整路径. 有关详细信息,请参见[问题 34521](https://gitlab.com/gitlab-org/gitlab/-/issues/34521) . - -### Scope: commits[](#scope-commits-starter "Permalink") - -仅当启用[Elasticsearch 时,](../integration/elasticsearch.html)此范围才可用. - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/search?scope=commits&search=bye" -``` - -响应示例: - -``` - [ { "id": "4109c2d872d5fdb1ed057400d103766aaea97f98", "short_id": "4109c2d8", "title": "goodbye $.browser", "created_at": "2013-02-18T22:02:54.000Z", "parent_ids": [ "59d05353ab575bcc2aa958fe1782e93297de64c9" ], "message": "goodbye $.browser\n", "author_name": "angus croll", "author_email": "anguscroll@gmail.com", "authored_date": "2013-02-18T22:02:54.000Z", "committer_name": "angus croll", "committer_email": "anguscroll@gmail.com", "committed_date": "2013-02-18T22:02:54.000Z", "project_id": 6 } ] -``` - -### Scope: blobs[](#scope-blobs-starter "Permalink") - -仅当启用[Elasticsearch 时,](../integration/elasticsearch.html)此范围才可用. - -过滤器可用于以下范围: - -* filename -* path -* extension - -要使用过滤器,只需将其包含在查询中,如下所示: `a query filename:some_name*` . - -您可以使用通配符( `*` )使用全局匹配. - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/search?scope=blobs&search=installation" -``` - -响应示例: - -``` - [ { "basename": "README", "data": "```\n\n## Installation\n\nQuick start using the [pre-built", "path": "README.md", "filename": "README.md", "id": null, "ref": "master", "startline": 46, "project_id": 6 } ] -``` - -**注意:**不建议使用`filename`而推荐使用`path` . 两者都返回存储库中文件的完整路径,但将来`filename`名将仅是文件名,而不是完整路径. 有关详细信息,请参见[问题 34521](https://gitlab.com/gitlab-org/gitlab/-/issues/34521) . - -### Scope: users[](#scope-users "Permalink") - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/search?scope=users&search=doe" -``` - -响应示例: - -``` -[ { "id": 1, "name": "John Doe1", "username": "user1", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/c922747a93b40d1ea88262bf1aebee62?s=80&d=identicon", "web_url": "http://localhost/user1" } ] -``` - -## Group Search API[](#group-search-api "Permalink") - -在指定的组中搜索. - -如果用户不是组的成员,并且该组是私有的,则对该组的`GET`请求将导致`404`状态代码. - -``` -GET /groups/:id/search -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 认证用户拥有[的组](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `scope` | string | yes | 搜索范围 | -| `search` | string | yes | 搜索查询 | - -在指定范围内搜索表达式. 当前支持以下范围:项目,问题,merge_requests,里程碑,用户. - -如果启用了 Elasticsearch,则其他可用范围是 blob,wiki_blobs 和 commits. 查找有关[该功能的](../integration/elasticsearch.html)更多信息. - -响应取决于请求的范围. - -### Scope: projects[](#scope-projects-1 "Permalink") - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/3/search?scope=projects&search=flight" -``` - -响应示例: - -``` -[ { "id": 6, "description": "Nobis sed ipsam vero quod cupiditate veritatis hic.", "name": "Flight", "name_with_namespace": "Twitter / Flight", "path": "flight", "path_with_namespace": "twitter/flight", "created_at": "2017-09-05T07:58:01.621Z", "default_branch": "master", "tag_list":[], "ssh_url_to_repo": "ssh://jarka@localhost:2222/twitter/flight.git", "http_url_to_repo": "http://localhost:3000/twitter/flight.git", "web_url": "http://localhost:3000/twitter/flight", "avatar_url": null, "star_count": 0, "forks_count": 0, "last_activity_at": "2018-01-31T09:56:30.902Z" } ] -``` - -### Scope: issues[](#scope-issues-1 "Permalink") - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/3/search?scope=issues&search=file" -``` - -响应示例: - -``` -[ { "id": 83, "iid": 1, "project_id": 12, "title": "Add file", "description": "Add first file", "state": "opened", "created_at": "2018-01-24T06:02:15.514Z", "updated_at": "2018-02-06T12:36:23.263Z", "closed_at": null, "labels":[], "milestone": null, "assignees": [{ "id": 20, "name": "Ceola Deckow", "username": "sammy.collier", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/c23d85a4f50e0ea76ab739156c639231?s=80&d=identicon", "web_url": "http://localhost:3000/sammy.collier" }], "author": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://localhost:3000/root" }, "assignee": { "id": 20, "name": "Ceola Deckow", "username": "sammy.collier", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/c23d85a4f50e0ea76ab739156c639231?s=80&d=identicon", "web_url": "http://localhost:3000/sammy.collier" }, "user_notes_count": 0, "upvotes": 0, "downvotes": 0, "due_date": null, "confidential": false, "discussion_locked": null, "web_url": "http://localhost:3000/h5bp/7bp/subgroup-prj/issues/1", "time_stats": { "time_estimate": 0, "total_time_spent": 0, "human_time_estimate": null, "human_total_time_spent": null } } ] -``` - -**注意** :不建议使用`assignee`列,现在我们将其显示为符合 GitLab EE API 的单一大小的数组`assignees` . - -### Scope: merge_requests[](#scope-merge_requests-1 "Permalink") - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/3/search?scope=merge_requests&search=file" -``` - -响应示例: - -``` -[ { "id": 56, "iid": 8, "project_id": 6, "title": "Add first file", "description": "This is a test MR to add file", "state": "opened", "created_at": "2018-01-22T14:21:50.830Z", "updated_at": "2018-02-06T12:40:33.295Z", "target_branch": "master", "source_branch": "jaja-test", "upvotes": 0, "downvotes": 0, "author": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://localhost:3000/root" }, "assignee": { "id": 5, "name": "Jacquelyn Kutch", "username": "abigail", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/3138c66095ee4bd11a508c2f7f7772da?s=80&d=identicon", "web_url": "http://localhost:3000/abigail" }, "source_project_id": 6, "target_project_id": 6, "labels": [ "ruby", "tests" ], "work_in_progress": false, "milestone": { "id": 13, "iid": 3, "project_id": 6, "title": "v2.0", "description": "Qui aut qui eos dolor beatae itaque tempore molestiae.", "state": "active", "created_at": "2017-09-05T07:58:29.099Z", "updated_at": "2017-09-05T07:58:29.099Z", "due_date": null, "start_date": null }, "merge_when_pipeline_succeeds": false, "merge_status": "can_be_merged", "sha": "78765a2d5e0a43585945c58e61ba2f822e4d090b", "merge_commit_sha": null, "squash_commit_sha": null, "user_notes_count": 0, "discussion_locked": null, "should_remove_source_branch": null, "force_remove_source_branch": true, "web_url": "http://localhost:3000/twitter/flight/merge_requests/8", "time_stats": { "time_estimate": 0, "total_time_spent": 0, "human_time_estimate": null, "human_total_time_spent": null } } ] -``` - -### Scope: milestones[](#scope-milestones-1 "Permalink") - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/3/search?scope=milestones&search=release" -``` - -响应示例: - -``` -[ { "id": 44, "iid": 1, "project_id": 12, "title": "next release", "description": "Next release milestone", "state": "active", "created_at": "2018-02-06T12:43:39.271Z", "updated_at": "2018-02-06T12:44:01.298Z", "due_date": "2018-04-18", "start_date": "2018-02-04" } ] -``` - -### Scope: wiki_blobs[](#scope-wiki_blobs-starter-1 "Permalink") - -仅当启用[Elasticsearch 时,](../integration/elasticsearch.html)此范围才可用. - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/6/search?scope=wiki_blobs&search=bye" -``` - -响应示例: - -``` - [ { "basename": "home", "data": "hello\n\nand bye\n\nend", "path": "home.md", "filename": "home.md", "id": null, "ref": "master", "startline": 5, "project_id": 6 } ] -``` - -**注意:**不建议使用`filename`而推荐使用`path` . 两者都返回存储库中文件的完整路径,但将来`filename`名将仅是文件名,而不是完整路径. 有关详细信息,请参见[问题 34521](https://gitlab.com/gitlab-org/gitlab/-/issues/34521) . - -### Scope: commits[](#scope-commits-starter-1 "Permalink") - -仅当启用[Elasticsearch 时,](../integration/elasticsearch.html)此范围才可用. - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/6/search?scope=commits&search=bye" -``` - -响应示例: - -``` - [ { "id": "4109c2d872d5fdb1ed057400d103766aaea97f98", "short_id": "4109c2d8", "title": "goodbye $.browser", "created_at": "2013-02-18T22:02:54.000Z", "parent_ids": [ "59d05353ab575bcc2aa958fe1782e93297de64c9" ], "message": "goodbye $.browser\n", "author_name": "angus croll", "author_email": "anguscroll@gmail.com", "authored_date": "2013-02-18T22:02:54.000Z", "committer_name": "angus croll", "committer_email": "anguscroll@gmail.com", "committed_date": "2013-02-18T22:02:54.000Z", "project_id": 6 } ] -``` - -### Scope: blobs[](#scope-blobs-starter-1 "Permalink") - -仅当启用[Elasticsearch 时,](../integration/elasticsearch.html)此范围才可用. - -过滤器可用于以下范围: - -* filename -* path -* extension - -要使用过滤器,只需将其包含在查询中,如下所示: `a query filename:some_name*` . - -您可以使用通配符( `*` )使用全局匹配. - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/6/search?scope=blobs&search=installation" -``` - -响应示例: - -``` - [ { "basename": "README", "data": "```\n\n## Installation\n\nQuick start using the [pre-built", "path": "README.md", "filename": "README.md", "id": null, "ref": "master", "startline": 46, "project_id": 6 } ] -``` - -**注意:**不建议使用`filename`而推荐使用`path` . 两者都返回存储库中文件的完整路径,但将来`filename`名将仅是文件名,而不是完整路径. 有关详细信息,请参见[问题 34521](https://gitlab.com/gitlab-org/gitlab/-/issues/34521) . - -### Scope: users[](#scope-users-1 "Permalink") - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/3/search?scope=users&search=doe" -``` - -响应示例: - -``` -[ { "id": 1, "name": "John Doe1", "username": "user1", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/c922747a93b40d1ea88262bf1aebee62?s=80&d=identicon", "web_url": "http://localhost/user1" } ] -``` - -## Project Search API[](#project-search-api "Permalink") - -在指定项目中搜索. - -如果用户不是项目成员,并且该项目是私有项目,则对该项目的`GET`请求将导致`404`状态代码. - -``` -GET /projects/:id/search -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `scope` | string | yes | 搜索范围 | -| `search` | string | yes | 搜索查询 | -| `ref` | string | no | 要搜索的存储库分支或标记的名称. 默认情况下使用项目的默认分支. 这仅适用于范围:commit,blob 和 wiki_blobs. | - -在指定范围内搜索表达式. 当前支持以下范围:问题,merge_requests,里程碑,注释,wiki_blob,提交,blob,用户. - -响应取决于请求的范围. - -### Scope: issues[](#scope-issues-2 "Permalink") - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/12/search?scope=issues&search=file" -``` - -响应示例: - -``` -[ { "id": 83, "iid": 1, "project_id": 12, "title": "Add file", "description": "Add first file", "state": "opened", "created_at": "2018-01-24T06:02:15.514Z", "updated_at": "2018-02-06T12:36:23.263Z", "closed_at": null, "labels":[], "milestone": null, "assignees": [{ "id": 20, "name": "Ceola Deckow", "username": "sammy.collier", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/c23d85a4f50e0ea76ab739156c639231?s=80&d=identicon", "web_url": "http://localhost:3000/sammy.collier" }], "author": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://localhost:3000/root" }, "assignee": { "id": 20, "name": "Ceola Deckow", "username": "sammy.collier", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/c23d85a4f50e0ea76ab739156c639231?s=80&d=identicon", "web_url": "http://localhost:3000/sammy.collier" }, "user_notes_count": 0, "upvotes": 0, "downvotes": 0, "due_date": null, "confidential": false, "discussion_locked": null, "web_url": "http://localhost:3000/h5bp/7bp/subgroup-prj/issues/1", "time_stats": { "time_estimate": 0, "total_time_spent": 0, "human_time_estimate": null, "human_total_time_spent": null } } ] -``` - -**注意** :不建议使用`assignee`列,现在我们将其显示为符合 GitLab EE API 的单一大小的数组`assignees` . - -### Scope: merge_requests[](#scope-merge_requests-2 "Permalink") - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/6/search?scope=merge_requests&search=file" -``` - -响应示例: - -``` -[ { "id": 56, "iid": 8, "project_id": 6, "title": "Add first file", "description": "This is a test MR to add file", "state": "opened", "created_at": "2018-01-22T14:21:50.830Z", "updated_at": "2018-02-06T12:40:33.295Z", "target_branch": "master", "source_branch": "jaja-test", "upvotes": 0, "downvotes": 0, "author": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://localhost:3000/root" }, "assignee": { "id": 5, "name": "Jacquelyn Kutch", "username": "abigail", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/3138c66095ee4bd11a508c2f7f7772da?s=80&d=identicon", "web_url": "http://localhost:3000/abigail" }, "source_project_id": 6, "target_project_id": 6, "labels": [ "ruby", "tests" ], "work_in_progress": false, "milestone": { "id": 13, "iid": 3, "project_id": 6, "title": "v2.0", "description": "Qui aut qui eos dolor beatae itaque tempore molestiae.", "state": "active", "created_at": "2017-09-05T07:58:29.099Z", "updated_at": "2017-09-05T07:58:29.099Z", "due_date": null, "start_date": null }, "merge_when_pipeline_succeeds": false, "merge_status": "can_be_merged", "sha": "78765a2d5e0a43585945c58e61ba2f822e4d090b", "merge_commit_sha": null, "squash_commit_sha": null, "user_notes_count": 0, "discussion_locked": null, "should_remove_source_branch": null, "force_remove_source_branch": true, "web_url": "http://localhost:3000/twitter/flight/merge_requests/8", "time_stats": { "time_estimate": 0, "total_time_spent": 0, "human_time_estimate": null, "human_total_time_spent": null } } ] -``` - -### Scope: milestones[](#scope-milestones-2 "Permalink") - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/12/search?scope=milestones&search=release" -``` - -响应示例: - -``` -[ { "id": 44, "iid": 1, "project_id": 12, "title": "next release", "description": "Next release milestone", "state": "active", "created_at": "2018-02-06T12:43:39.271Z", "updated_at": "2018-02-06T12:44:01.298Z", "due_date": "2018-04-18", "start_date": "2018-02-04" } ] -``` - -### Scope: notes[](#scope-notes "Permalink") - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/6/search?scope=notes&search=maxime" -``` - -响应示例: - -``` -[ { "id": 191, "body": "Harum maxime consequuntur et et deleniti assumenda facilis.", "attachment": null, "author": { "id": 23, "name": "User 1", "username": "user1", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/111d68d06e2d317b5a59c2c6c5bad808?s=80&d=identicon", "web_url": "http://localhost:3000/user1" }, "created_at": "2017-09-05T08:01:32.068Z", "updated_at": "2017-09-05T08:01:32.068Z", "system": false, "noteable_id": 22, "noteable_type": "Issue", "noteable_iid": 2 } ] -``` - -### Scope: wiki_blobs[](#scope-wiki_blobs "Permalink") - -过滤器可用于以下范围: - -* filename -* path -* extension - -要使用过滤器,只需将其包含在查询中,例如: `a query filename:some_name*` . 您可以使用通配符( `*` )使用全局匹配. - -Wiki blobs searches are performed on both filenames and contents. Search results: - -* 在文件名中找到的结果显示在内容中之前. -* 可能包含同一 blob 的多个匹配项,因为可能在文件名和内容中都找到了搜索字符串,或者在内容中可能出现了多次. - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/6/search?scope=wiki_blobs&search=bye" -``` - -响应示例: - -``` - [ { "basename": "home", "data": "hello\n\nand bye\n\nend", "path": "home.md", "filename": "home.md", "id": null, "ref": "master", "startline": 5, "project_id": 6 } ] -``` - -**注意:**不建议使用`filename`而推荐使用`path` . 两者都返回存储库中文件的完整路径,但将来`filename`名将仅是文件名,而不是完整路径. 有关详细信息,请参见[问题 34521](https://gitlab.com/gitlab-org/gitlab/-/issues/34521) . - -### Scope: commits[](#scope-commits "Permalink") - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/6/search?scope=commits&search=bye" -``` - -响应示例: - -``` - [ { "id": "4109c2d872d5fdb1ed057400d103766aaea97f98", "short_id": "4109c2d8", "title": "goodbye $.browser", "created_at": "2013-02-18T22:02:54.000Z", "parent_ids": [ "59d05353ab575bcc2aa958fe1782e93297de64c9" ], "message": "goodbye $.browser\n", "author_name": "angus croll", "author_email": "anguscroll@gmail.com", "authored_date": "2013-02-18T22:02:54.000Z", "committer_name": "angus croll", "committer_email": "anguscroll@gmail.com", "committed_date": "2013-02-18T22:02:54.000Z", "project_id": 6 } ] -``` - -### Scope: blobs[](#scope-blobs "Permalink") - -过滤器可用于以下范围: - -* filename -* path -* extension - -要使用过滤器,只需将其包含在查询中,例如: `a query filename:some_name*` . 您可以使用通配符( `*` )使用全局匹配. - -对文件名和内容都进行 Blob 搜索. 搜索结果: - -* 在文件名中找到的结果显示在内容中之前. -* 可能包含同一 blob 的多个匹配项,因为可能在文件名和内容中都找到了搜索字符串,或者在内容中可能出现了多次. - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/6/search?scope=blobs&search=installation&ref=feature" -``` - -响应示例: - -``` - [ { "basename": "README", "data": "```\n\n## Installation\n\nQuick start using the [pre-built", "path": "README.md", "filename": "README.md", "id": null, "ref": "feature", "startline": 46, "project_id": 6 } ] -``` - -**注意:**不建议使用`filename`而推荐使用`path` . 两者都返回存储库中文件的完整路径,但将来`filename`名将仅是文件名,而不是完整路径. 有关详细信息,请参见[问题 34521](https://gitlab.com/gitlab-org/gitlab/-/issues/34521) . - -### Scope: users[](#scope-users-2 "Permalink") - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/6/search?scope=users&search=doe" -``` - -响应示例: - -``` -[ { "id": 1, "name": "John Doe1", "username": "user1", "state": "active", "avatar_url": "http://www.gravatar.com/avatar/c922747a93b40d1ea88262bf1aebee62?s=80&d=identicon", "web_url": "http://localhost/user1" } ] -``` \ No newline at end of file diff --git a/docs/367.md b/docs/367.md deleted file mode 100644 index 1cfc635..0000000 --- a/docs/367.md +++ /dev/null @@ -1,1578 +0,0 @@ -# Services API - -> 原文:[https://docs.gitlab.com/ee/api/services.html](https://docs.gitlab.com/ee/api/services.html) - -* [List all active services](#list-all-active-services) -* [Asana](#asana) - * [Create/Edit Asana service](#createedit-asana-service) - * [Delete Asana service](#delete-asana-service) - * [Get Asana service settings](#get-asana-service-settings) -* [Assembla](#assembla) - * [Create/Edit Assembla service](#createedit-assembla-service) - * [Delete Assembla service](#delete-assembla-service) - * [Get Assembla service settings](#get-assembla-service-settings) -* [Atlassian Bamboo CI](#atlassian-bamboo-ci) - * [Create/Edit Atlassian Bamboo CI service](#createedit-atlassian-bamboo-ci-service) - * [Delete Atlassian Bamboo CI service](#delete-atlassian-bamboo-ci-service) - * [Get Atlassian Bamboo CI service settings](#get-atlassian-bamboo-ci-service-settings) -* [Bugzilla](#bugzilla) - * [Create/Edit Bugzilla service](#createedit-bugzilla-service) - * [Delete Bugzilla Service](#delete-bugzilla-service) - * [Get Bugzilla Service Settings](#get-bugzilla-service-settings) -* [Buildkite](#buildkite) - * [Create/Edit Buildkite service](#createedit-buildkite-service) - * [Delete Buildkite service](#delete-buildkite-service) - * [Get Buildkite service settings](#get-buildkite-service-settings) -* [Campfire](#campfire) - * [Create/Edit Campfire service](#createedit-campfire-service) - * [Delete Campfire service](#delete-campfire-service) - * [Get Campfire service settings](#get-campfire-service-settings) -* [Unify Circuit](#unify-circuit) - * [Create/Edit Unify Circuit service](#createedit-unify-circuit-service) - * [Delete Unify Circuit service](#delete-unify-circuit-service) - * [Get Unify Circuit service settings](#get-unify-circuit-service-settings) -* [Webex Teams](#webex-teams) - * [Create/Edit Webex Teams service](#createedit-webex-teams-service) - * [Delete Webex Teams service](#delete-webex-teams-service) - * [Get Webex Teams service settings](#get-webex-teams-service-settings) -* [Custom Issue Tracker](#custom-issue-tracker) - * [Create/Edit Custom Issue Tracker service](#createedit-custom-issue-tracker-service) - * [Delete Custom Issue Tracker service](#delete-custom-issue-tracker-service) - * [Get Custom Issue Tracker service settings](#get-custom-issue-tracker-service-settings) -* [Drone CI](#drone-ci) - * [Create/Edit Drone CI service](#createedit-drone-ci-service) - * [Delete Drone CI service](#delete-drone-ci-service) - * [Get Drone CI service settings](#get-drone-ci-service-settings) -* [Emails on push](#emails-on-push) - * [Create/Edit Emails on push service](#createedit-emails-on-push-service) - * [Delete Emails on push service](#delete-emails-on-push-service) - * [Get Emails on push service settings](#get-emails-on-push-service-settings) -* [Confluence service](#confluence-service) - * [Create/Edit Confluence service](#createedit-confluence-service) - * [Delete Confluence service](#delete-confluence-service) - * [Get Confluence service settings](#get-confluence-service-settings) -* [External Wiki](#external-wiki) - * [Create/Edit External Wiki service](#createedit-external-wiki-service) - * [Delete External Wiki service](#delete-external-wiki-service) - * [Get External Wiki service settings](#get-external-wiki-service-settings) -* [Flowdock](#flowdock) - * [Create/Edit Flowdock service](#createedit-flowdock-service) - * [Delete Flowdock service](#delete-flowdock-service) - * [Get Flowdock service settings](#get-flowdock-service-settings) -* [GitHub](#github-premium) - * [Create/Edit GitHub service](#createedit-github-service) - * [Delete GitHub service](#delete-github-service) - * [Get GitHub service settings](#get-github-service-settings) -* [Hangouts Chat](#hangouts-chat) - * [Create/Edit Hangouts Chat service](#createedit-hangouts-chat-service) - * [Delete Hangouts Chat service](#delete-hangouts-chat-service) - * [Get Hangouts Chat service settings](#get-hangouts-chat-service-settings) -* [HipChat](#hipchat) - * [Create/Edit HipChat service](#createedit-hipchat-service) - * [Delete HipChat service](#delete-hipchat-service) - * [Get HipChat service settings](#get-hipchat-service-settings) -* [Irker (IRC gateway)](#irker-irc-gateway) - * [Create/Edit Irker (IRC gateway) service](#createedit-irker-irc-gateway-service) - * [Delete Irker (IRC gateway) service](#delete-irker-irc-gateway-service) - * [Get Irker (IRC gateway) service settings](#get-irker-irc-gateway-service-settings) -* [Jira](#jira) - * [Get Jira service settings](#get-jira-service-settings) - * [Create/Edit Jira service](#createedit-jira-service) - * [Delete Jira service](#delete-jira-service) -* [Slack slash commands](#slack-slash-commands) - * [Get Slack slash command service settings](#get-slack-slash-command-service-settings) - * [Create/Edit Slack slash command service](#createedit-slack-slash-command-service) - * [Delete Slack slash command service](#delete-slack-slash-command-service) -* [Mattermost slash commands](#mattermost-slash-commands) - * [Get Mattermost slash command service settings](#get-mattermost-slash-command-service-settings) - * [Create/Edit Mattermost slash command service](#createedit-mattermost-slash-command-service) - * [Delete Mattermost slash command service](#delete-mattermost-slash-command-service) -* [Packagist](#packagist) - * [Create/Edit Packagist service](#createedit-packagist-service) - * [Delete Packagist service](#delete-packagist-service) - * [Get Packagist service settings](#get-packagist-service-settings) -* [Pipeline-Emails](#pipeline-emails) - * [Create/Edit Pipeline-Emails service](#createedit-pipeline-emails-service) - * [Delete Pipeline-Emails service](#delete-pipeline-emails-service) - * [Get Pipeline-Emails service settings](#get-pipeline-emails-service-settings) -* [PivotalTracker](#pivotaltracker) - * [Create/Edit PivotalTracker service](#createedit-pivotaltracker-service) - * [Delete PivotalTracker service](#delete-pivotaltracker-service) - * [Get PivotalTracker service settings](#get-pivotaltracker-service-settings) -* [Prometheus](#prometheus) - * [Create/Edit Prometheus service](#createedit-prometheus-service) - * [Delete Prometheus service](#delete-prometheus-service) - * [Get Prometheus service settings](#get-prometheus-service-settings) -* [Pushover](#pushover) - * [Create/Edit Pushover service](#createedit-pushover-service) - * [Delete Pushover service](#delete-pushover-service) - * [Get Pushover service settings](#get-pushover-service-settings) -* [Redmine](#redmine) - * [Create/Edit Redmine service](#createedit-redmine-service) - * [Delete Redmine service](#delete-redmine-service) - * [Get Redmine service settings](#get-redmine-service-settings) -* [Slack notifications](#slack-notifications) - * [Create/Edit Slack service](#createedit-slack-service) - * [Delete Slack service](#delete-slack-service) - * [Get Slack service settings](#get-slack-service-settings) -* [Microsoft Teams](#microsoft-teams) - * [Create/Edit Microsoft Teams service](#createedit-microsoft-teams-service) - * [Delete Microsoft Teams service](#delete-microsoft-teams-service) - * [Get Microsoft Teams service settings](#get-microsoft-teams-service-settings) -* [Mattermost notifications](#mattermost-notifications) - * [Create/Edit Mattermost notifications service](#createedit-mattermost-notifications-service) - * [Delete Mattermost notifications service](#delete-mattermost-notifications-service) - * [Get Mattermost notifications service settings](#get-mattermost-notifications-service-settings) -* [JetBrains TeamCity CI](#jetbrains-teamcity-ci) - * [Create/Edit JetBrains TeamCity CI service](#createedit-jetbrains-teamcity-ci-service) - * [Delete JetBrains TeamCity CI service](#delete-jetbrains-teamcity-ci-service) - * [Get JetBrains TeamCity CI service settings](#get-jetbrains-teamcity-ci-service-settings) -* [Jenkins CI](#jenkins-ci-starter) - * [Create/Edit Jenkins CI service](#createedit-jenkins-ci-service) - * [Delete Jenkins CI service](#delete-jenkins-ci-service) - * [Get Jenkins CI service settings](#get-jenkins-ci-service-settings) -* [Jenkins CI (Deprecated) Service](#jenkins-ci-deprecated-service) - * [Create/Edit Jenkins CI (Deprecated) service](#createedit-jenkins-ci-deprecated-service) - * [Delete Jenkins CI (Deprecated) service](#delete-jenkins-ci-deprecated-service) - * [Get Jenkins CI (Deprecated) service settings](#get-jenkins-ci-deprecated-service-settings) -* [MockCI](#mockci) - * [Create/Edit MockCI service](#createedit-mockci-service) - * [Delete MockCI service](#delete-mockci-service) - * [Get MockCI service settings](#get-mockci-service-settings) -* [YouTrack](#youtrack) - * [Create/Edit YouTrack service](#createedit-youtrack-service) - * [Delete YouTrack Service](#delete-youtrack-service) - * [Get YouTrack Service Settings](#get-youtrack-service-settings) - -# Services API[](#services-api "Permalink") - -> **注意:**此 API 需要具有维护者或所有者权限的访问令牌 - -## List all active services[](#list-all-active-services "Permalink") - -在 GitLab 12.7 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/21330) . - -获取所有活动项目服务的列表. - -``` -GET /projects/:id/services -``` - -响应示例: - -``` -[ { "id": 75, "title": "Jenkins CI", "slug": "jenkins", "created_at": "2019-11-20T11:20:25.297Z", "updated_at": "2019-11-20T12:24:37.498Z", "active": true, "commit_events": true, "push_events": true, "issues_events": true, "confidential_issues_events": true, "merge_requests_events": true, "tag_push_events": false, "note_events": true, "confidential_note_events": true, "pipeline_events": true, "wiki_page_events": true, "job_events": true, "comment_on_event_enabled": true } { "id": 76, "title": "Alerts endpoint", "slug": "alerts", "created_at": "2019-11-20T11:20:25.297Z", "updated_at": "2019-11-20T12:24:37.498Z", "active": true, "commit_events": true, "push_events": true, "issues_events": true, "confidential_issues_events": true, "merge_requests_events": true, "tag_push_events": true, "note_events": true, "confidential_note_events": true, "pipeline_events": true, "wiki_page_events": true, "job_events": true, "comment_on_event_enabled": true } ] -``` - -## Asana[](#asana "Permalink") - -Asana-无需电子邮件的团队合作 - -### Create/Edit Asana service[](#createedit-asana-service "Permalink") - -为项目设置 Asana 服务. - -> 该服务将提交消息添加为 Asana 任务的注释. 启用后,将检查提交消息中的 Asana 任务 URL(例如`https://app.asana.com/0/123456/987654` )或以#开头的任务 ID(例如`#987654` ). 找到的每个任务 ID 都会在其中添加提交注释. 您还可以通过以下消息关闭任务: `fix #123456` . 您可以在以下位置找到您的 API 密钥: [https](https://developers.asana.com/docs/#authentication-basics) : [//developers.asana.com/docs/#authentication-basics](https://developers.asana.com/docs/#authentication-basics) . - -``` -PUT /projects/:id/services/asana -``` - -Parameters: - -| Parameter | Type | Required | Description | -| --- | --- | --- | --- | -| `api_key` | string | true | 用户 API 令牌. 用户必须有权访问任务,所有评论都将归于该用户. | -| `restrict_to_branch` | string | false | 以逗号分隔的分支列表,将自动对其进行检查. 保留空白以包括所有分支. | -| `push_events` | boolean | false | 启用推送事件通知 | - -### Delete Asana service[](#delete-asana-service "Permalink") - -删除项目的 Asana 服务. - -``` -DELETE /projects/:id/services/asana -``` - -### Get Asana service settings[](#get-asana-service-settings "Permalink") - -获取项目的 Asana 服务设置. - -``` -GET /projects/:id/services/asana -``` - -## Assembla[](#assembla "Permalink") - -项目管理软件(源提交端点) - -### Create/Edit Assembla service[](#createedit-assembla-service "Permalink") - -为项目设置 Assembla 服务. - -``` -PUT /projects/:id/services/assembla -``` - -Parameters: - -| Parameter | Type | Required | Description | -| --- | --- | --- | --- | -| `token` | string | true | 认证令牌 | -| `subdomain` | string | false | 子域设置 | -| `push_events` | boolean | false | 启用推送事件通知 | - -### Delete Assembla service[](#delete-assembla-service "Permalink") - -删除项目的 Assembla 服务. - -``` -DELETE /projects/:id/services/assembla -``` - -### Get Assembla service settings[](#get-assembla-service-settings "Permalink") - -获取项目的 Assembla 服务设置. - -``` -GET /projects/:id/services/assembla -``` - -## Atlassian Bamboo CI[](#atlassian-bamboo-ci "Permalink") - -持续集成和构建服务器 - -### Create/Edit Atlassian Bamboo CI service[](#createedit-atlassian-bamboo-ci-service "Permalink") - -为项目设置 Atlassian Bamboo CI 服务. - -> 您必须在 Bamboo 中设置自动修订标签和存储库触发器. - -``` -PUT /projects/:id/services/bamboo -``` - -Parameters: - -| Parameter | Type | Required | Description | -| --- | --- | --- | --- | -| `bamboo_url` | string | true | 竹根 URL. 例如, `https://bamboo.example.com` . | -| `build_key` | string | true | 竹构建计划密钥,如 KEY | -| `username` | string | true | 具有 API 访问权限的用户(如果适用) | -| `password` | string | true | 用户密码 | -| `push_events` | boolean | false | 启用推送事件通知 | - -### Delete Atlassian Bamboo CI service[](#delete-atlassian-bamboo-ci-service "Permalink") - -删除项目的 Atlassian Bamboo CI 服务. - -``` -DELETE /projects/:id/services/bamboo -``` - -### Get Atlassian Bamboo CI service settings[](#get-atlassian-bamboo-ci-service-settings "Permalink") - -获取项目的 Atlassian Bamboo CI 服务设置. - -``` -GET /projects/:id/services/bamboo -``` - -## Bugzilla[](#bugzilla "Permalink") - -Bugzilla 问题追踪器 - -### Create/Edit Bugzilla service[](#createedit-bugzilla-service "Permalink") - -为项目设置 Bugzilla 服务. - -``` -PUT /projects/:id/services/bugzilla -``` - -Parameters: - -| Parameter | Type | Required | Description | -| --- | --- | --- | --- | -| `new_issue_url` | string | true | 新发行网址 | -| `issues_url` | string | true | 发行网址 | -| `project_url` | string | true | 项目网址 | -| `description` | string | false | Description | -| `title` | string | false | Title | -| `push_events` | boolean | false | 启用推送事件通知 | - -### Delete Bugzilla Service[](#delete-bugzilla-service "Permalink") - -删除项目的 Bugzilla 服务. - -``` -DELETE /projects/:id/services/bugzilla -``` - -### Get Bugzilla Service Settings[](#get-bugzilla-service-settings "Permalink") - -获取项目的 Bugzilla 服务设置. - -``` -GET /projects/:id/services/bugzilla -``` - -## Buildkite[](#buildkite "Permalink") - -持续集成和部署 - -### Create/Edit Buildkite service[](#createedit-buildkite-service "Permalink") - -为项目设置 Buildkite 服务. - -``` -PUT /projects/:id/services/buildkite -``` - -Parameters: - -| Parameter | Type | Required | Description | -| --- | --- | --- | --- | -| `token` | string | true | Buildkite 项目 GitLab 令牌 | -| `project_url` | string | true | `https://buildkite.com/example/project` | -| `enable_ssl_verification` | boolean | false | 启用 S​​SL 验证 | -| `push_events` | boolean | false | 启用推送事件通知 | - -### Delete Buildkite service[](#delete-buildkite-service "Permalink") - -删除项目的 Buildkite 服务. - -``` -DELETE /projects/:id/services/buildkite -``` - -### Get Buildkite service settings[](#get-buildkite-service-settings "Permalink") - -获取项目的 Buildkite 服务设置. - -``` -GET /projects/:id/services/buildkite -``` - -## Campfire[](#campfire "Permalink") - -基于网络的简单实时群聊 - -### Create/Edit Campfire service[](#createedit-campfire-service "Permalink") - -为项目设置篝火服务. - -``` -PUT /projects/:id/services/campfire -``` - -Parameters: - -| Parameter | Type | Required | Description | -| --- | --- | --- | --- | -| `token` | string | true | 篝火令牌 | -| `subdomain` | string | false | 篝火子域 | -| `room` | string | false | 篝火室 | -| `push_events` | boolean | false | 启用推送事件通知 | - -### Delete Campfire service[](#delete-campfire-service "Permalink") - -删除项目的 Campfire 服务. - -``` -DELETE /projects/:id/services/campfire -``` - -### Get Campfire service settings[](#get-campfire-service-settings "Permalink") - -获取项目的 Campfire 服务设置. - -``` -GET /projects/:id/services/campfire -``` - -## Unify Circuit[](#unify-circuit "Permalink") - -统一电路 RTC 和协作工具. - -### Create/Edit Unify Circuit service[](#createedit-unify-circuit-service "Permalink") - -为项目设置"统一电路"服务. - -``` -PUT /projects/:id/services/unify-circuit -``` - -Parameters: - -| Parameter | Type | Required | Description | -| --- | --- | --- | --- | -| `webhook` | string | true | 统一电路网络挂钩. 例如, `https://circuit.com/rest/v2/webhooks/incoming/...` | -| `notify_only_broken_pipelines` | boolean | false | 发送有关管道中断的通知 | -| `branches_to_be_notified` | string | all | 发送通知的分支. 有效选项为"所有","默认","受保护"和" default_and_protected" | -| `push_events` | boolean | false | 启用推送事件通知 | -| `issues_events` | boolean | false | 启用问题事件通知 | -| `confidential_issues_events` | boolean | false | 启用机密问题事件的通知 | -| `merge_requests_events` | boolean | false | 启用合并请求事件的通知 | -| `tag_push_events` | boolean | false | 启用标签推送事件的通知 | -| `note_events` | boolean | false | 启用笔记事件通知 | -| `confidential_note_events` | boolean | false | 启用机密笔记事件的通知 | -| `pipeline_events` | boolean | false | 启用管道事件通知 | -| `wiki_page_events` | boolean | false | 启用 Wiki 页面事件的通知 | - -### Delete Unify Circuit service[](#delete-unify-circuit-service "Permalink") - -删除项目的统一电路服务. - -``` -DELETE /projects/:id/services/unify-circuit -``` - -### Get Unify Circuit service settings[](#get-unify-circuit-service-settings "Permalink") - -获取项目的统一电路服务设置. - -``` -GET /projects/:id/services/unify-circuit -``` - -## Webex Teams[](#webex-teams "Permalink") - -Webex Teams 协作工具. - -### Create/Edit Webex Teams service[](#createedit-webex-teams-service "Permalink") - -为项目设置 Webex Teams 服务. - -``` -PUT /projects/:id/services/webex-teams -``` - -Parameters: - -| Parameter | Type | Required | Description | -| --- | --- | --- | --- | -| `webhook` | string | true | Webex Teams Webhook. 例如, `https://api.ciscospark.com/v1/webhooks/incoming/...` | -| `notify_only_broken_pipelines` | boolean | false | 发送有关管道中断的通知 | -| `branches_to_be_notified` | string | all | 发送通知的分支. 有效选项为"所有","默认","受保护"和" default_and_protected" | -| `push_events` | boolean | false | 启用推送事件通知 | -| `issues_events` | boolean | false | 启用问题事件通知 | -| `confidential_issues_events` | boolean | false | 启用机密问题事件的通知 | -| `merge_requests_events` | boolean | false | 启用合并请求事件的通知 | -| `tag_push_events` | boolean | false | 启用标签推送事件的通知 | -| `note_events` | boolean | false | 启用笔记事件通知 | -| `confidential_note_events` | boolean | false | 启用机密笔记事件的通知 | -| `pipeline_events` | boolean | false | 启用管道事件通知 | -| `wiki_page_events` | boolean | false | 启用 Wiki 页面事件的通知 | - -### Delete Webex Teams service[](#delete-webex-teams-service "Permalink") - -删除项目的 Webex Teams 服务. - -``` -DELETE /projects/:id/services/webex-teams -``` - -### Get Webex Teams service settings[](#get-webex-teams-service-settings "Permalink") - -获取项目的 Webex Teams 服务设置. - -``` -GET /projects/:id/services/webex-teams -``` - -## Custom Issue Tracker[](#custom-issue-tracker "Permalink") - -自定义问题跟踪器 - -### Create/Edit Custom Issue Tracker service[](#createedit-custom-issue-tracker-service "Permalink") - -为项目设置自定义问题跟踪服务. - -``` -PUT /projects/:id/services/custom-issue-tracker -``` - -Parameters: - -| Parameter | Type | Required | Description | -| --- | --- | --- | --- | -| `new_issue_url` | string | true | 新发行网址 | -| `issues_url` | string | true | 发行网址 | -| `project_url` | string | true | 项目网址 | -| `description` | string | false | Description | -| `title` | string | false | Title | -| `push_events` | boolean | false | 启用推送事件通知 | - -### Delete Custom Issue Tracker service[](#delete-custom-issue-tracker-service "Permalink") - -删除项目的自定义问题跟踪服务. - -``` -DELETE /projects/:id/services/custom-issue-tracker -``` - -### Get Custom Issue Tracker service settings[](#get-custom-issue-tracker-service-settings "Permalink") - -获取项目的自定义问题跟踪服务设置. - -``` -GET /projects/:id/services/custom-issue-tracker -``` - -## Drone CI[](#drone-ci "Permalink") - -Drone 是一个基于 Go 编写的基于 Docker 的持续集成平台 - -### Create/Edit Drone CI service[](#createedit-drone-ci-service "Permalink") - -为项目设置 Drone CI 服务. - -``` -PUT /projects/:id/services/drone-ci -``` - -Parameters: - -| Parameter | Type | Required | Description | -| --- | --- | --- | --- | -| `token` | string | true | 无人机 CI 项目专用令牌 | -| `drone_url` | string | true | `http://drone.example.com` | -| `enable_ssl_verification` | boolean | false | 启用 S​​SL 验证 | -| `push_events` | boolean | false | 启用推送事件通知 | -| `merge_requests_events` | boolean | false | 启用合并请求事件的通知 | -| `tag_push_events` | boolean | false | 启用标签推送事件的通知 | - -### Delete Drone CI service[](#delete-drone-ci-service "Permalink") - -删除项目的 Drone CI 服务. - -``` -DELETE /projects/:id/services/drone-ci -``` - -### Get Drone CI service settings[](#get-drone-ci-service-settings "Permalink") - -获取项目的 Drone CI 服务设置. - -``` -GET /projects/:id/services/drone-ci -``` - -## Emails on push[](#emails-on-push "Permalink") - -通过电子邮件将每次推送的提交和差异发送到收件人列表. - -### Create/Edit Emails on push service[](#createedit-emails-on-push-service "Permalink") - -在项目的推送服务上设置电子邮件. - -``` -PUT /projects/:id/services/emails-on-push -``` - -Parameters: - -| Parameter | Type | Required | Description | -| --- | --- | --- | --- | -| `recipients` | string | true | 用空格分隔的电子邮件 | -| `disable_diffs` | boolean | false | 禁用代码差异 | -| `send_from_committer_email` | boolean | false | 从提交者发送 | -| `push_events` | boolean | false | 启用推送事件通知 | -| `tag_push_events` | boolean | false | 启用标签推送事件的通知 | -| `branches_to_be_notified` | string | all | 发送通知的分支. 有效选项为"所有","默认","受保护"和" default_and_protected". 推送标签会始终触发通知. | - -### Delete Emails on push service[](#delete-emails-on-push-service "Permalink") - -删除项目的推送服务电子邮件. - -``` -DELETE /projects/:id/services/emails-on-push -``` - -### Get Emails on push service settings[](#get-emails-on-push-service-settings "Permalink") - -获取有关项目的推送服务设置的电子邮件. - -``` -GET /projects/:id/services/emails-on-push -``` - -## Confluence service[](#confluence-service "Permalink") - -版本历史 - -* 在 GitLab 13.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/220934) . - -将到内部 Wiki 的链接替换为到 Confluence Cloud Workspace 的链接. - -### Create/Edit Confluence service[](#createedit-confluence-service "Permalink") - -为项目设置 Confluence 服务. - -``` -PUT /projects/:id/services/confluence -``` - -Parameters: - -| Parameter | Type | Required | Description | -| --- | --- | --- | --- | -| `confluence_url` | string | true | Confluence Cloud Workspace 的 URL 托管在 atlassian.net 上. | - -### Delete Confluence service[](#delete-confluence-service "Permalink") - -删除项目的 Confluence 服务. - -``` -DELETE /projects/:id/services/confluence -``` - -### Get Confluence service settings[](#get-confluence-service-settings "Permalink") - -获取项目的 Confluence 服务设置. - -``` -GET /projects/:id/services/confluence -``` - -## External Wiki[](#external-wiki "Permalink") - -将指向内部 Wiki 的链接替换为指向外部 Wiki 的链接. - -### Create/Edit External Wiki service[](#createedit-external-wiki-service "Permalink") - -为项目设置外部 Wiki 服务. - -``` -PUT /projects/:id/services/external-wiki -``` - -Parameters: - -| Parameter | Type | Required | Description | -| --- | --- | --- | --- | -| `external_wiki_url` | string | true | 外部 Wiki 的 URL | - -### Delete External Wiki service[](#delete-external-wiki-service "Permalink") - -删除项目的外部 Wiki 服务. - -``` -DELETE /projects/:id/services/external-wiki -``` - -### Get External Wiki service settings[](#get-external-wiki-service-settings "Permalink") - -获取项目的外部 Wiki 服务设置. - -``` -GET /projects/:id/services/external-wiki -``` - -## Flowdock[](#flowdock "Permalink") - -Flowdock 是面向技术团队的协作 Web 应用程序. - -### Create/Edit Flowdock service[](#createedit-flowdock-service "Permalink") - -为项目设置 Flowdock 服务. - -``` -PUT /projects/:id/services/flowdock -``` - -Parameters: - -| Parameter | Type | Required | Description | -| --- | --- | --- | --- | -| `token` | string | true | Flowdock Git 源令牌 | -| `push_events` | boolean | false | 启用推送事件通知 | - -### Delete Flowdock service[](#delete-flowdock-service "Permalink") - -删除项目的 Flowdock 服务. - -``` -DELETE /projects/:id/services/flowdock -``` - -### Get Flowdock service settings[](#get-flowdock-service-settings "Permalink") - -获取项目的 Flowdock 服务设置. - -``` -GET /projects/:id/services/flowdock -``` - -## GitHub[](#github-premium "Permalink") - -代码协作软件. - -### Create/Edit GitHub service[](#createedit-github-service "Permalink") - -为项目设置 GitHub 服务. - -``` -PUT /projects/:id/services/github -``` - -Parameters: - -| Parameter | Type | Required | Description | -| --- | --- | --- | --- | -| `token` | string | true | 具有`repo:status` OAuth 范围的 GitHub API 令牌 | -| `repository_url` | string | true | GitHub 存储库 URL | -| `static_context` | boolean | false | 将实例名称而不是分支附加到[状态检查名称](../user/project/integrations/github.html#static--dynamic-status-check-names) | - -### Delete GitHub service[](#delete-github-service "Permalink") - -删除项目的 GitHub 服务. - -``` -DELETE /projects/:id/services/github -``` - -### Get GitHub service settings[](#get-github-service-settings "Permalink") - -获取项目的 GitHub 服务设置. - -``` -GET /projects/:id/services/github -``` - -## Hangouts Chat[](#hangouts-chat "Permalink") - -Google GSuite 团队协作工具. - -> **注意:**此服务是[在 v11.2](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/20290)中[引入的](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/20290) - -### Create/Edit Hangouts Chat service[](#createedit-hangouts-chat-service "Permalink") - -为项目设置环聊聊天服务. - -``` -PUT /projects/:id/services/hangouts-chat -``` - -> **注意:** [v10.4](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/11435)中[引入了](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/11435)特定的事件参数(例如`push_events`标志) - -Parameters: - -| Parameter | Type | Required | Description | -| --- | --- | --- | --- | -| `webhook` | string | true | Hangouts 即时通讯网路挂钩. 例如, `https://chat.googleapis.com/v1/spaces...` | -| `notify_only_broken_pipelines` | boolean | false | 发送有关管道中断的通知 | -| `notify_only_default_branch` | boolean | false | 已弃用:此参数已替换为`branches_to_be_notified` | -| `branches_to_be_notified` | string | all | 发送通知的分支. 有效选项为"所有","默认","受保护"和" default_and_protected" | -| `push_events` | boolean | false | 启用推送事件通知 | -| `issues_events` | boolean | false | 启用问题事件通知 | -| `confidential_issues_events` | boolean | false | Enable notifications for confidential issue events | -| `merge_requests_events` | boolean | false | 启用合并请求事件的通知 | -| `tag_push_events` | boolean | false | 启用标签推送事件的通知 | -| `note_events` | boolean | false | 启用笔记事件通知 | -| `confidential_note_events` | boolean | false | 启用机密笔记事件的通知 | -| `pipeline_events` | boolean | false | 启用管道事件通知 | -| `wiki_page_events` | boolean | false | 启用 Wiki 页面事件的通知 | - -### Delete Hangouts Chat service[](#delete-hangouts-chat-service "Permalink") - -删除项目的环聊聊天服务. - -``` -DELETE /projects/:id/services/hangouts-chat -``` - -### Get Hangouts Chat service settings[](#get-hangouts-chat-service-settings "Permalink") - -获取项目的环聊聊天服务设置. - -``` -GET /projects/:id/services/hangouts-chat -``` - -## HipChat[](#hipchat "Permalink") - -私人群聊和即时消息 - -### Create/Edit HipChat service[](#createedit-hipchat-service "Permalink") - -为项目设置 HipChat 服务. - -``` -PUT /projects/:id/services/hipchat -``` - -Parameters: - -| Parameter | Type | Required | Description | -| --- | --- | --- | --- | -| `token` | string | true | 房间代币 | -| `color` | string | false | 房间颜色 | -| `notify` | boolean | false | 启用通知 | -| `room` | string | false | 房间名称或 ID | -| `api_version` | string | false | 默认保留空白(v2) | -| `server` | string | false | 默认保留空白. 例如, `https://hipchat.example.com` . | -| `push_events` | boolean | false | 启用推送事件通知 | -| `issues_events` | boolean | false | 启用问题事件通知 | -| `confidential_issues_events` | boolean | false | 启用机密问题事件的通知 | -| `merge_requests_events` | boolean | false | 启用合并请求事件的通知 | -| `tag_push_events` | boolean | false | 启用标签推送事件的通知 | -| `note_events` | boolean | false | Enable notifications for note events | -| `confidental_note_events` | boolean | false | 启用机密笔记事件的通知 | -| `pipeline_events` | boolean | false | 启用管道事件通知 | - -### Delete HipChat service[](#delete-hipchat-service "Permalink") - -删除项目的 HipChat 服务. - -``` -DELETE /projects/:id/services/hipchat -``` - -### Get HipChat service settings[](#get-hipchat-service-settings "Permalink") - -获取项目的 HipChat 服务设置. - -``` -GET /projects/:id/services/hipchat -``` - -## Irker (IRC gateway)[](#irker-irc-gateway "Permalink") - -通过 Irker 网关在更新后将 IRC 消息发送到收件人列表. - -### Create/Edit Irker (IRC gateway) service[](#createedit-irker-irc-gateway-service "Permalink") - -为项目设置 Irker(IRC 网关)服务. - -> Irker 没有内置的身份验证,如果托管在防火墙外部,则容易受到 IRC 垃圾邮件的攻击. 请确保在安全的网络中运行守护程序,以防止滥用. 有关更多详细信息,请阅读: [http](http://www.catb.org/~esr/irker/security.html) : [//www.catb.org/~esr/irker/security.html](http://www.catb.org/~esr/irker/security.html) . - -``` -PUT /projects/:id/services/irker -``` - -Parameters: - -| Parameter | Type | Required | Description | -| --- | --- | --- | --- | -| `recipients` | string | true | 用空格分隔的收件人/渠道 | -| `default_irc_uri` | string | false | `irc://irc.network.net:6697/` | -| `server_host` | string | false | localhost | -| `server_port` | integer | false | 6659 | -| `colorize_messages` | boolean | false | 为邮件着色 | -| `push_events` | boolean | false | 启用推送事件通知 | - -### Delete Irker (IRC gateway) service[](#delete-irker-irc-gateway-service "Permalink") - -删除项目的 Irker(IRC 网关)服务. - -``` -DELETE /projects/:id/services/irker -``` - -### Get Irker (IRC gateway) service settings[](#get-irker-irc-gateway-service-settings "Permalink") - -Get Irker (IRC gateway) service settings for a project. - -``` -GET /projects/:id/services/irker -``` - -## Jira[](#jira "Permalink") - -吉拉问题追踪器. - -### Get Jira service settings[](#get-jira-service-settings "Permalink") - -获取项目的 Jira 服务设置. - -``` -GET /projects/:id/services/jira -``` - -### Create/Edit Jira service[](#createedit-jira-service "Permalink") - -为项目设置 Jira 服务. - -> 与 GitLab 8.14 开始, `api_url` , `issues_url` , `new_issue_url`和`project_url`被替换`url` . 如果您使用的是旧版本,请[遵循此文档](https://gitlab.com/gitlab-org/gitlab/blob/8-13-stable-ee/doc/api/services.md#jira) . - -``` -PUT /projects/:id/services/jira -``` - -Parameters: - -| Parameter | Type | Required | Description | -| --- | --- | --- | --- | -| `url` | string | yes | 链接到该 GitLab 项目的 Jira 项目的 URL. 例如, `https://jira.example.com` . | -| `api_url` | string | no | Jira 实例 API 的基本 URL. 如果未设置,将使用 Web URL 值. 例如, `https://jira-api.example.com` . | -| `username` | string | yes | 创建用于 GitLab / Jira 的用户的用户名. | -| `password` | string | yes | 创建的用于 GitLab / Jira 的用户密码. | -| `active` | boolean | no | 激活或停用服务. 默认为 false(停用). | -| `jira_issue_transition_id` | string | no | 将问题移到关闭状态的过渡的 ID. 您可以在 Jira 工作流管理( **管理>问题>工作流** )下找到该编号,方法是在所需项目工作流的" **操作** **"**下选择" **查看** **"** . 每个状态的 ID 可以在" **转换(id)"**列下每个转换名称的括号内找到. 默认情况下,此 ID 设置为`2` . | -| `commit_events` | boolean | false | 启用提交事件通知 | -| `merge_requests_events` | boolean | false | 启用合并请求事件的通知 | -| `comment_on_event_enabled` | boolean | false | 在每个 GitLab 事件(提交/合并请求)的 Jira 问题中启用评论 | - -### Delete Jira service[](#delete-jira-service "Permalink") - -从项目中删除所有以前的 Jira 设置. - -``` -DELETE /projects/:id/services/jira -``` - -## Slack slash commands[](#slack-slash-commands "Permalink") - -能够从 Slack 聊天实例接收斜线命令. - -### Get Slack slash command service settings[](#get-slack-slash-command-service-settings "Permalink") - -获取项目的 Slack 斜杠命令服务设置. - -``` -GET /projects/:id/services/slack-slash-commands -``` - -响应示例: - -``` -{ "id": 4, "title": "Slack slash commands", "slug": "slack-slash-commands", "created_at": "2017-06-27T05:51:39-07:00", "updated_at": "2017-06-27T05:51:39-07:00", "active": true, "push_events": true, "issues_events": true, "confidential_issues_events": true, "merge_requests_events": true, "tag_push_events": true, "note_events": true, "job_events": true, "pipeline_events": true, "comment_on_event_enabled": false, "properties": { "token": "" } } -``` - -### Create/Edit Slack slash command service[](#createedit-slack-slash-command-service "Permalink") - -为项目设置 Slack 斜杠命令. - -``` -PUT /projects/:id/services/slack-slash-commands -``` - -Parameters: - -| Parameter | Type | Required | Description | -| --- | --- | --- | --- | -| `token` | string | yes | Slack 令牌 | - -### Delete Slack slash command service[](#delete-slack-slash-command-service "Permalink") - -删除项目的 Slack 斜杠命令服务. - -``` -DELETE /projects/:id/services/slack-slash-commands -``` - -## Mattermost slash commands[](#mattermost-slash-commands "Permalink") - -能够从 Mattermost 聊天实例接收斜线命令. - -### Get Mattermost slash command service settings[](#get-mattermost-slash-command-service-settings "Permalink") - -获取项目的 Mattermost 斜杠命令服务设置. - -``` -GET /projects/:id/services/mattermost-slash-commands -``` - -### Create/Edit Mattermost slash command service[](#createedit-mattermost-slash-command-service "Permalink") - -为项目设置 Mattermost 斜杠命令. - -``` -PUT /projects/:id/services/mattermost-slash-commands -``` - -Parameters: - -| Parameter | Type | Required | Description | -| --- | --- | --- | --- | -| `token` | string | yes | 最重要的令牌 | -| `username` | string | no | 用于发布消息的用户名 | - -### Delete Mattermost slash command service[](#delete-mattermost-slash-command-service "Permalink") - -删除项目的 Mattermost 斜杠命令服务. - -``` -DELETE /projects/:id/services/mattermost-slash-commands -``` - -## Packagist[](#packagist "Permalink") - -当提交或标签被推送到 GitLab 时,在 Packagist(主要的 Composer 存储库)上更新您的项目. - -### Create/Edit Packagist service[](#createedit-packagist-service "Permalink") - -为项目设置 Packagist 服务. - -``` -PUT /projects/:id/services/packagist -``` - -Parameters: - -| Parameter | Type | Required | Description | -| --- | --- | --- | --- | -| `username` | string | yes | Packagist 帐户的用户名 | -| `token` | string | yes | Packagist 服务器的 API 令牌 | -| `server` | boolean | no | Packagist 服务器的 URL. 默认保留空白: [https](https://packagist.org) : [//packagist.org](https://packagist.org) | -| `push_events` | boolean | false | 启用推送事件通知 | -| `merge_requests_events` | boolean | false | 启用合并请求事件的通知 | -| `tag_push_events` | boolean | false | 启用标签推送事件的通知 | - -### Delete Packagist service[](#delete-packagist-service "Permalink") - -删除项目的 Packagist 服务. - -``` -DELETE /projects/:id/services/packagist -``` - -### Get Packagist service settings[](#get-packagist-service-settings "Permalink") - -获取项目的 Packagist 服务设置. - -``` -GET /projects/:id/services/packagist -``` - -## Pipeline-Emails[](#pipeline-emails "Permalink") - -获取有关 GitLab CI / CD 管道的电子邮件. - -### Create/Edit Pipeline-Emails service[](#createedit-pipeline-emails-service "Permalink") - -设置项目的管道电子邮件服务. - -``` -PUT /projects/:id/services/pipelines-email -``` - -Parameters: - -| Parameter | Type | Required | Description | -| --- | --- | --- | --- | -| `recipients` | string | yes | 以逗号分隔的收件人电子邮件地址列表 | -| `add_pusher` | boolean | no | 将推送器添加到收件人列表 | -| `notify_only_broken_pipelines` | boolean | no | 仅通知断开的管道 | -| `branches_to_be_notified` | string | all | 发送通知的分支. 有效选项为"所有","默认","受保护"和" default_and_protected" | -| `notify_only_default_branch` | boolean | no | 仅针对默认分支发送通知( [在 GitLab 12.0 中引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/28271) ) | -| `pipeline_events` | boolean | false | 启用管道事件通知 | - -### Delete Pipeline-Emails service[](#delete-pipeline-emails-service "Permalink") - -删除项目的管道电子邮件服务. - -``` -DELETE /projects/:id/services/pipelines-email -``` - -### Get Pipeline-Emails service settings[](#get-pipeline-emails-service-settings "Permalink") - -获取项目的管道电子邮件服务设置. - -``` -GET /projects/:id/services/pipelines-email -``` - -## PivotalTracker[](#pivotaltracker "Permalink") - -项目管理软件(源提交端点) - -### Create/Edit PivotalTracker service[](#createedit-pivotaltracker-service "Permalink") - -为项目设置 PivotalTracker 服务. - -``` -PUT /projects/:id/services/pivotaltracker -``` - -Parameters: - -| Parameter | Type | Required | Description | -| --- | --- | --- | --- | -| `token` | string | true | PivotalTracker 令牌 | -| `restrict_to_branch` | boolean | false | 以逗号分隔的分支列表,将自动对其进行检查. 保留空白以包括所有分支. | -| `push_events` | boolean | false | 启用推送事件通知 | - -### Delete PivotalTracker service[](#delete-pivotaltracker-service "Permalink") - -删除项目的 PivotalTracker 服务. - -``` -DELETE /projects/:id/services/pivotaltracker -``` - -### Get PivotalTracker service settings[](#get-pivotaltracker-service-settings "Permalink") - -获取项目的 PivotalTracker 服务设置. - -``` -GET /projects/:id/services/pivotaltracker -``` - -## Prometheus[](#prometheus "Permalink") - -Prometheus 是一项功能强大的时间序列监视服务. - -### Create/Edit Prometheus service[](#createedit-prometheus-service "Permalink") - -为项目设置 Prometheus 服务. - -``` -PUT /projects/:id/services/prometheus -``` - -Parameters: - -| Parameter | Type | Required | Description | -| --- | --- | --- | --- | -| `api_url` | string | true | Prometheus API 基本 URL. 例如, `http://prometheus.example.com/` . | -| `google_iap_audience_client_id` | string | false | IAP 受保护资源的客户端 ID(看起来像 IAP_CLIENT_ID.apps.googleusercontent.com) | -| `google_iap_service_account_json` | string | false | 您的服务帐户的`credentials.json`文件,例如{" type":" service_account"," project_id":…} | - -### Delete Prometheus service[](#delete-prometheus-service "Permalink") - -删除项目的 Prometheus 服务. - -``` -DELETE /projects/:id/services/prometheus -``` - -### Get Prometheus service settings[](#get-prometheus-service-settings "Permalink") - -获取项目的 Prometheus 服务设置. - -``` -GET /projects/:id/services/prometheus -``` - -## Pushover[](#pushover "Permalink") - -通过 Pushover,可以轻松在 Android 设备,iPhone,iPad 和台式机上获取实时通知. - -### Create/Edit Pushover service[](#createedit-pushover-service "Permalink") - -为项目设置 Pushover 服务. - -``` -PUT /projects/:id/services/pushover -``` - -Parameters: - -| Parameter | Type | Required | Description | -| --- | --- | --- | --- | -| `api_key` | string | true | Your application key | -| `user_key` | string | true | 您的用户密钥 | -| `priority` | string | true | 优先事项 | -| `device` | string | false | 对于所有活动设备保留空白 | -| `sound` | string | false | 通知的声音 | -| `push_events` | boolean | false | 启用推送事件通知 | - -### Delete Pushover service[](#delete-pushover-service "Permalink") - -删除项目的 Pushover 服务. - -``` -DELETE /projects/:id/services/pushover -``` - -### Get Pushover service settings[](#get-pushover-service-settings "Permalink") - -获取项目的 Pushover 服务设置. - -``` -GET /projects/:id/services/pushover -``` - -## Redmine[](#redmine "Permalink") - -Redmine 问题追踪器 - -### Create/Edit Redmine service[](#createedit-redmine-service "Permalink") - -为项目设置 Redmine 服务. - -``` -PUT /projects/:id/services/redmine -``` - -Parameters: - -| Parameter | Type | Required | Description | -| --- | --- | --- | --- | -| `new_issue_url` | string | true | 新发行网址 | -| `project_url` | string | true | 项目网址 | -| `issues_url` | string | true | 发行网址 | -| `description` | string | false | Description | -| `push_events` | boolean | false | 启用推送事件通知 | - -### Delete Redmine service[](#delete-redmine-service "Permalink") - -删除项目的 Redmine 服务. - -``` -DELETE /projects/:id/services/redmine -``` - -### Get Redmine service settings[](#get-redmine-service-settings "Permalink") - -获取项目的 Redmine 服务设置. - -``` -GET /projects/:id/services/redmine -``` - -## Slack notifications[](#slack-notifications "Permalink") - -在 Slack 中接收事件通知 - -### Create/Edit Slack service[](#createedit-slack-service "Permalink") - -为项目设置 Slack 服务. - -``` -PUT /projects/:id/services/slack -``` - -> **注意:** [v10.4](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/11435)中[引入了](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/11435)特定的事件参数(例如`push_events`标志和`push_channel` ) - -Parameters: - -| Parameter | Type | Required | Description | -| --- | --- | --- | --- | -| `webhook` | string | true | `https://hooks.slack.com/services/...` | -| `username` | string | false | username | -| `channel` | string | false | 如果未配置其他频道,则使用默认频道 | -| `notify_only_broken_pipelines` | boolean | false | 发送有关管道中断的通知 | -| `notify_only_default_branch` | boolean | false | 已弃用:此参数已替换为`branches_to_be_notified` | -| `branches_to_be_notified` | string | all | 发送通知的分支. 有效选项为"所有","默认","受保护"和" default_and_protected" | -| `commit_events` | boolean | false | 启用提交事件通知 | -| `confidential_issue_channel` | string | false | 接收机密问题事件通知的渠道的名称 | -| `confidential_issues_events` | boolean | false | 启用机密问题事件的通知 | -| `confidential_note_channel` | string | false | 接收机密笔记事件通知的渠道的名称 | -| `confidential_note_events` | boolean | false | 启用机密笔记事件的通知 | -| `deployment_channel` | string | false | 接收部署事件通知的通道的名称 | -| `deployment_events` | boolean | false | 启用部署事件通知 | -| `issue_channel` | string | false | 接收问题事件通知的渠道的名称 | -| `issues_events` | boolean | false | 启用问题事件通知 | -| `job_events` | boolean | false | 启用工作事件通知 | -| `merge_request_channel` | string | false | 接收合并请求事件通知的通道的名称 | -| `merge_requests_events` | boolean | false | 启用合并请求事件的通知 | -| `note_channel` | string | false | 接收音符事件通知的频道名称 | -| `note_events` | boolean | false | 启用笔记事件通知 | -| `pipeline_channel` | string | false | 接收管道事件通知的通道的名称 | -| `pipeline_events` | boolean | false | 启用管道事件通知 | -| `push_channel` | string | false | 接收推送事件通知的通道的名称 | -| `push_events` | boolean | false | 启用推送事件通知 | -| `tag_push_channel` | string | false | 接收标签推送事件通知的通道的名称 | -| `tag_push_events` | boolean | false | 启用标签推送事件的通知 | -| `wiki_page_channel` | string | false | 接收维基页面事件通知的频道名称 | -| `wiki_page_events` | boolean | false | 启用 Wiki 页面事件的通知 | - -### Delete Slack service[](#delete-slack-service "Permalink") - -删除项目的 Slack 服务. - -``` -DELETE /projects/:id/services/slack -``` - -### Get Slack service settings[](#get-slack-service-settings "Permalink") - -获取项目的 Slack 服务设置. - -``` -GET /projects/:id/services/slack -``` - -## Microsoft Teams[](#microsoft-teams "Permalink") - -群聊软件 - -### Create/Edit Microsoft Teams service[](#createedit-microsoft-teams-service "Permalink") - -为项目设置 Microsoft Teams 服务. - -``` -PUT /projects/:id/services/microsoft-teams -``` - -Parameters: - -| Parameter | Type | Required | Description | -| --- | --- | --- | --- | -| `webhook` | string | true | Microsoft Teams 网络挂钩. 例如, `https://outlook.office.com/webhook/...` | -| `notify_only_broken_pipelines` | boolean | false | 发送有关管道中断的通知 | -| `notify_only_default_branch` | boolean | false | 已弃用:此参数已替换为`branches_to_be_notified` | -| `branches_to_be_notified` | string | all | 发送通知的分支. 有效选项为"所有","默认","受保护"和" default_and_protected" | -| `push_events` | boolean | false | Enable notifications for push events | -| `issues_events` | boolean | false | 启用问题事件通知 | -| `confidential_issues_events` | boolean | false | 启用机密问题事件的通知 | -| `merge_requests_events` | boolean | false | 启用合并请求事件的通知 | -| `tag_push_events` | boolean | false | 启用标签推送事件的通知 | -| `note_events` | boolean | false | 启用笔记事件通知 | -| `confidential_note_events` | boolean | false | 启用机密笔记事件的通知 | -| `pipeline_events` | boolean | false | 启用管道事件通知 | -| `wiki_page_events` | boolean | false | 启用 Wiki 页面事件的通知 | - -### Delete Microsoft Teams service[](#delete-microsoft-teams-service "Permalink") - -删除项目的 Microsoft Teams 服务. - -``` -DELETE /projects/:id/services/microsoft-teams -``` - -### Get Microsoft Teams service settings[](#get-microsoft-teams-service-settings "Permalink") - -获取项目的 Microsoft Teams 服务设置. - -``` -GET /projects/:id/services/microsoft-teams -``` - -## Mattermost notifications[](#mattermost-notifications "Permalink") - -在 Mattermost 接收事件通知 - -### Create/Edit Mattermost notifications service[](#createedit-mattermost-notifications-service "Permalink") - -为项目设置 Mattermost 服务. - -``` -PUT /projects/:id/services/mattermost -``` - -> **注意:** [v10.4](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/11435)中[引入了](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/11435)特定的事件参数(例如`push_events`标志和`push_channel` ) - -Parameters: - -| Parameter | Type | Required | Description | -| --- | --- | --- | --- | -| `webhook` | string | true | 最重要的网络挂钩. 例如, `http://mattermost_host/hooks/...` | -| `username` | string | false | username | -| `channel` | string | false | 如果未配置其他频道,则使用默认频道 | -| `notify_only_broken_pipelines` | boolean | false | 发送有关管道中断的通知 | -| `notify_only_default_branch` | boolean | false | 已弃用:此参数已替换为`branches_to_be_notified` | -| `branches_to_be_notified` | string | all | 发送通知的分支. 有效选项为"所有","默认","受保护"和" default_and_protected" | -| `push_events` | boolean | false | 启用推送事件通知 | -| `issues_events` | boolean | false | 启用问题事件通知 | -| `confidential_issues_events` | boolean | false | 启用机密问题事件的通知 | -| `merge_requests_events` | boolean | false | 启用合并请求事件的通知 | -| `tag_push_events` | boolean | false | 启用标签推送事件的通知 | -| `note_events` | boolean | false | 启用笔记事件通知 | -| `confidential_note_events` | boolean | false | 启用机密笔记事件的通知 | -| `pipeline_events` | boolean | false | 启用管道事件通知 | -| `wiki_page_events` | boolean | false | 启用 Wiki 页面事件的通知 | -| `push_channel` | string | false | 接收推送事件通知的通道的名称 | -| `issue_channel` | string | false | 接收问题事件通知的渠道的名称 | -| `confidential_issue_channel` | string | false | 接收机密问题事件通知的渠道的名称 | -| `merge_request_channel` | string | false | 接收合并请求事件通知的通道的名称 | -| `note_channel` | string | false | 接收音符事件通知的频道名称 | -| `confidential_note_channel` | boolean | 接收机密笔记事件通知的渠道的名称 |   | -| `tag_push_channel` | string | false | 接收标签推送事件通知的通道的名称 | -| `pipeline_channel` | string | false | 接收管道事件通知的通道的名称 | -| `wiki_page_channel` | string | false | 接收维基页面事件通知的频道名称 | - -### Delete Mattermost notifications service[](#delete-mattermost-notifications-service "Permalink") - -删除项目的 Mattermost Notifications 服务. - -``` -DELETE /projects/:id/services/mattermost -``` - -### Get Mattermost notifications service settings[](#get-mattermost-notifications-service-settings "Permalink") - -获取项目的"最重要的通知"服务设置. - -``` -GET /projects/:id/services/mattermost -``` - -## JetBrains TeamCity CI[](#jetbrains-teamcity-ci "Permalink") - -持续集成和构建服务器 - -### Create/Edit JetBrains TeamCity CI service[](#createedit-jetbrains-teamcity-ci-service "Permalink") - -为项目设置 JetBrains TeamCity CI 服务. - -> TeamCity 中的构建配置必须使用构建格式编号`%build.vcs.number%`您还将要配置对所有分支的监视,以便合并请求得以构建,该设置位于 VSC 根高级设置中. - -``` -PUT /projects/:id/services/teamcity -``` - -Parameters: - -| Parameter | Type | Required | Description | -| --- | --- | --- | --- | -| `teamcity_url` | string | true | TeamCity 根 URL. 例如, `https://teamcity.example.com` | -| `build_type` | string | true | 构建配置 ID | -| `username` | string | true | 有权触发手动构建的用户 | -| `password` | string | true | 用户密码 | -| `push_events` | boolean | false | 启用推送事件通知 | - -### Delete JetBrains TeamCity CI service[](#delete-jetbrains-teamcity-ci-service "Permalink") - -删除项目的 JetBrains TeamCity CI 服务. - -``` -DELETE /projects/:id/services/teamcity -``` - -### Get JetBrains TeamCity CI service settings[](#get-jetbrains-teamcity-ci-service-settings "Permalink") - -获取项目的 JetBrains TeamCity CI 服务设置. - -``` -GET /projects/:id/services/teamcity -``` - -## Jenkins CI[](#jenkins-ci-starter "Permalink") - -持续集成和构建服务器 - -### Create/Edit Jenkins CI service[](#createedit-jenkins-ci-service "Permalink") - -为项目设置 Jenkins CI 服务. - -``` -PUT /projects/:id/services/jenkins -``` - -Parameters: - -* `jenkins_url` ( **必填** ) `jenkins_url` URL,例如`http://jenkins.example.com` -* `project_name` ( **必需** )-URL 友好的项目名称. 示例:my_project_name -* `username` (可选)-有权访问 Jenkins 服务器的`username` (如果适用) -* `password` (可选)-用户的密码 - -### Delete Jenkins CI service[](#delete-jenkins-ci-service "Permalink") - -删除项目的 Jenkins CI 服务. - -``` -DELETE /projects/:id/services/jenkins -``` - -### Get Jenkins CI service settings[](#get-jenkins-ci-service-settings "Permalink") - -获取项目的 Jenkins CI 服务设置. - -``` -GET /projects/:id/services/jenkins -``` - -## Jenkins CI (Deprecated) Service[](#jenkins-ci-deprecated-service "Permalink") - -持续集成和构建服务器 - -**注意:**此服务已[在 v13.0](https://gitlab.com/gitlab-org/gitlab/-/issues/1600)中[删除](https://gitlab.com/gitlab-org/gitlab/-/issues/1600) - -### Create/Edit Jenkins CI (Deprecated) service[](#createedit-jenkins-ci-deprecated-service "Permalink") - -为项目设置 Jenkins CI(不推荐使用)服务. - -``` -PUT /projects/:id/services/jenkins-deprecated -``` - -Parameters: - -* `project_url` ( **必填** )-Jenkins 项目网址,例如`http://jenkins.example.com/job/my-project/` -* `multiproject_enabled` (可选)-在 Jenkins GitLab Hook 插件中配置了多项目模式 -* `pass_unstable` (可选)-不稳定的版本将被视为通过 - -### Delete Jenkins CI (Deprecated) service[](#delete-jenkins-ci-deprecated-service "Permalink") - -删除项目的 Jenkins CI(不推荐使用)服务. - -``` -DELETE /projects/:id/services/jenkins-deprecated -``` - -### Get Jenkins CI (Deprecated) service settings[](#get-jenkins-ci-deprecated-service-settings "Permalink") - -获取项目的 Jenkins CI(不推荐使用)服务设置. - -``` -GET /projects/:id/services/jenkins-deprecated -``` - -## MockCI[](#mockci "Permalink") - -模拟一个外部配置项. 有关伴随模拟服务的示例,请参见[`gitlab-org/gitlab-mock-ci-service`](https://gitlab.com/gitlab-org/gitlab-mock-ci-service) service. - -仅当您的环境设置为开发时,此服务才可用. - -### Create/Edit MockCI service[](#createedit-mockci-service "Permalink") - -为项目设置 MockCI 服务. - -``` -PUT /projects/:id/services/mock-ci -``` - -Parameters: - -| Parameter | Type | Required | Description | -| --- | --- | --- | --- | -| `mock_service_url` | string | true | `http://localhost:4004` | - -### Delete MockCI service[](#delete-mockci-service "Permalink") - -删除项目的 MockCI 服务. - -``` -DELETE /projects/:id/services/mock-ci -``` - -### Get MockCI service settings[](#get-mockci-service-settings "Permalink") - -获取项目的 MockCI 服务设置. - -``` -GET /projects/:id/services/mock-ci -``` - -## YouTrack[](#youtrack "Permalink") - -YouTrack 问题追踪器 - -### Create/Edit YouTrack service[](#createedit-youtrack-service "Permalink") - -为项目设置 YouTrack 服务. - -``` -PUT /projects/:id/services/youtrack -``` - -Parameters: - -| Parameter | Type | Required | Description | -| --- | --- | --- | --- | -| `issues_url` | string | true | 发行网址 | -| `project_url` | string | true | 项目网址 | -| `description` | string | false | Description | -| `push_events` | boolean | false | 启用推送事件通知 | - -### Delete YouTrack Service[](#delete-youtrack-service "Permalink") - -删除项目的 YouTrack 服务. - -``` -DELETE /projects/:id/services/youtrack -``` - -### Get YouTrack Service Settings[](#get-youtrack-service-settings "Permalink") - -获取项目的 YouTrack 服务设置. - -``` -GET /projects/:id/services/youtrack -``` \ No newline at end of file diff --git a/docs/368.md b/docs/368.md deleted file mode 100644 index 91bfc32..0000000 --- a/docs/368.md +++ /dev/null @@ -1,254 +0,0 @@ -# Application settings API - -> 原文:[https://docs.gitlab.com/ee/api/settings.html](https://docs.gitlab.com/ee/api/settings.html) - -* [Get current application settings](#get-current-application-settings) -* [Change application settings](#change-application-settings) -* [List of settings that can be accessed via API calls](#list-of-settings-that-can-be-accessed-via-api-calls) - -# Application settings API[](#application-settings-api-core-only "Permalink") - -这些 API 调用使您可以阅读和修改`/admin/application_settings/general`显示的 GitLab 实例[应用程序设置](#list-of-settings-that-can-be-accessed-via-api-calls) . 您必须是管理员才能执行此操作. - -## Get current application settings[](#get-current-application-settings "Permalink") - -列出 GitLab 实例的当前[应用程序设置](#list-of-settings-that-can-be-accessed-via-api-calls) . - -``` -GET /application/settings -``` - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/application/settings" -``` - -响应示例: - -``` -{ "default_projects_limit" : 100000, "signup_enabled" : true, "id" : 1, "default_branch_protection" : 2, "restricted_visibility_levels" : [], "password_authentication_enabled_for_web" : true, "after_sign_out_path" : null, "max_attachment_size" : 10, "max_import_size": 50, "user_oauth_applications" : true, "updated_at" : "2016-01-04T15:44:55.176Z", "session_expire_delay" : 10080, "home_page_url" : null, "default_snippet_visibility" : "private", "outbound_local_requests_whitelist": [], "domain_whitelist" : [], "domain_blacklist_enabled" : false, "domain_blacklist" : [], "created_at" : "2016-01-04T15:44:55.176Z", "default_ci_config_path" : null, "default_project_visibility" : "private", "default_group_visibility" : "private", "gravatar_enabled" : true, "sign_in_text" : null, "container_expiration_policies_enable_historic_entries": true, "container_registry_token_expire_delay": 5, "repository_storages_weighted": {"default": 100}, "plantuml_enabled": false, "plantuml_url": null, "terminal_max_session_time": 0, "polling_interval_multiplier": 1.0, "rsa_key_restriction": 0, "dsa_key_restriction": 0, "ecdsa_key_restriction": 0, "ed25519_key_restriction": 0, "first_day_of_week": 0, "enforce_terms": true, "terms": "Hello world!", "performance_bar_allowed_group_id": 42, "instance_statistics_visibility_private": false, "user_show_add_ssh_key_message": true, "local_markdown_version": 0, "allow_local_requests_from_hooks_and_services": true, "allow_local_requests_from_web_hooks_and_services": true, "allow_local_requests_from_system_hooks": false, "asset_proxy_enabled": true, "asset_proxy_url": "https://assets.example.com", "asset_proxy_whitelist": ["example.com", "*.example.com", "your-instance.com"], "npm_package_requests_forwarding": true, "snippet_size_limit": 52428800, "issues_create_limit": 300, "raw_blob_request_limit": 300, "wiki_page_max_content_bytes": 52428800 } -``` - -在 GitLab 用户[高级版或旗舰](https://about.gitlab.com/pricing/)也可以看到`file_template_project_id` , `deletion_adjourned_period` ,或`geo_node_allowed_ips`参数: - -``` -{ "id" : 1, "signup_enabled" : true, "file_template_project_id": 1, "geo_node_allowed_ips": "0.0.0.0/0, ::/0", "deletion_adjourned_period": 7, ... } -``` - -## Change application settings[](#change-application-settings "Permalink") - -使用 API​​调用来修改 GitLab 实例[应用程序设置](#list-of-settings-that-can-be-accessed-via-api-calls) . - -``` -PUT /application/settings -``` - -``` -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/application/settings?signup_enabled=false&default_project_visibility=internal" -``` - -响应示例: - -``` -{ "id": 1, "default_projects_limit": 100000, "signup_enabled": false, "password_authentication_enabled_for_web": true, "gravatar_enabled": true, "sign_in_text": "", "created_at": "2015-06-12T15:51:55.432Z", "updated_at": "2015-06-30T13:22:42.210Z", "home_page_url": "", "default_branch_protection": 2, "restricted_visibility_levels": [], "max_attachment_size": 10, "max_import_size": 50, "session_expire_delay": 10080, "default_ci_config_path" : null, "default_project_visibility": "internal", "default_snippet_visibility": "private", "default_group_visibility": "private", "outbound_local_requests_whitelist": [], "domain_whitelist": [], "domain_blacklist_enabled" : false, "domain_blacklist" : [], "external_authorization_service_enabled": true, "external_authorization_service_url": "https://authorize.me", "external_authorization_service_default_label": "default", "external_authorization_service_timeout": 0.5, "user_oauth_applications": true, "after_sign_out_path": "", "container_registry_token_expire_delay": 5, "repository_storages": ["default"], "plantuml_enabled": false, "plantuml_url": null, "terminal_max_session_time": 0, "polling_interval_multiplier": 1.0, "rsa_key_restriction": 0, "dsa_key_restriction": 0, "ecdsa_key_restriction": 0, "ed25519_key_restriction": 0, "first_day_of_week": 0, "enforce_terms": true, "terms": "Hello world!", "performance_bar_allowed_group_id": 42, "instance_statistics_visibility_private": false, "user_show_add_ssh_key_message": true, "file_template_project_id": 1, "local_markdown_version": 0, "asset_proxy_enabled": true, "asset_proxy_url": "https://assets.example.com", "asset_proxy_whitelist": ["example.com", "*.example.com", "your-instance.com"], "geo_node_allowed_ips": "0.0.0.0/0, ::/0", "allow_local_requests_from_hooks_and_services": true, "allow_local_requests_from_web_hooks_and_services": true, "allow_local_requests_from_system_hooks": false, "npm_package_requests_forwarding": true, "snippet_size_limit": 52428800, "issues_create_limit": 300, "raw_blob_request_limit": 300, "wiki_page_max_content_bytes": 52428800 } -``` - -使用 GitLab [Premium 或 Ultimate 的](https://about.gitlab.com/pricing/)用户可能还会看到以下参数: - -* `file_template_project_id` -* `geo_node_allowed_ips` -* `geo_status_timeout` -* `deletion_adjourned_period` - -响应示例: - -``` - "file_template_project_id": 1, "geo_node_allowed_ips": "0.0.0.0/0, ::/0" -``` - -## List of settings that can be accessed via API calls[](#list-of-settings-that-can-be-accessed-via-api-calls "Permalink") - -通常,所有设置都是可选的. 但是,如果启用了某些设置,则需要设置其他设置才能正常运行. 这些要求在相关设置的说明中列出. - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `admin_notification_email` | string | no | 如果设置了滥用报告,它将发送到该地址. 滥用报告始终在管理区域中可用. | -| `after_sign_out_path` | string | no | 注销后将用户重定向到的位置. | -| `after_sign_up_text` | string | no | 注册后向用户显示的文字 | -| `akismet_api_key` | string | 要求: `akismet_enabled` | Akismet 垃圾邮件防护的 API 密钥. | -| `akismet_enabled` | boolean | no | ( **如果启用,则要求:** `akismet_api_key` )启用或禁用 Akismet 垃圾邮件防护. | -| `allow_group_owners_to_manage_ldap` | boolean | no | 设置为`true`以允许组所有者管理 LDAP | -| `allow_local_requests_from_hooks_and_services` | boolean | no | (不建议使用:改用`allow_local_requests_from_web_hooks_and_services` )允许从挂钩和服务到本地网络的请求. | -| `allow_local_requests_from_system_hooks` | boolean | no | 允许从系统挂钩向本地网络发出请求. | -| `allow_local_requests_from_web_hooks_and_services` | boolean | no | 允许从 Web 挂钩和服务到本地网络的请求. | -| `archive_builds_in_human_readable` | string | no | 设置将作业视为过期和过期的持续时间. 一旦超过该时间,作业将被存档,并且不再能够重试. 将其设为空以永不过期作业. 它必须不少于 1 天,例如: `15 days` , `1 month` , `2 years` . | -| `asset_proxy_enabled` | boolean | no | ( **如果启用,则要求:** `asset_proxy_url` )启用资产代理. 需要重启 GitLab 才能应用更改. | -| `asset_proxy_secret_key` | string | no | 与资产代理服务器共享的机密. 需要重启 GitLab 才能应用更改. | -| `asset_proxy_url` | string | no | 资产代理服务器的 URL. 需要重启 GitLab 才能应用更改. | -| `asset_proxy_whitelist` | 字符串或字符串数​​组 | no | 与这些域匹配的资产将不会被代理. 允许使用通配符. 您的 GitLab 安装网址会自动列入白名单. 需要重启 GitLab 才能应用更改. | -| `authorized_keys_enabled` | boolean | no | 默认情况下,我们无需经过其他配置即可写入`authorized_keys`文件以通过 SSH 支持 Git. 可以对 GitLab 进行优化,以通过数据库文件对 SSH 密钥进行身份验证. 仅当您已将 OpenSSH 服务器配置为使用 AuthorizedKeysCommand 时,才禁用此功能. | -| `auto_devops_domain` | string | no | 指定默认情况下用于每个项目的 Auto Review Apps 和 Auto Deploy 阶段的域. | -| `auto_devops_enabled` | boolean | no | 默认情况下,为项目启用 Auto DevOps. 它将基于预定义的 CI / CD 配置自动构建,测试和部署应用程序. | -| `check_namespace_plan` | boolean | no | 如果项目名称空间的计划包括该功能或项目为公共项目,则启用此选项将仅使许可的 EE 功能可用于项目. | -| `commit_email_hostname` | string | no | 自定义主机名(用于私人提交电子邮件). | -| `container_registry_token_expire_delay` | integer | no | 容器注册表令牌持续时间(以分钟为单位). | -| `default_artifacts_expire_in` | string | no | 设置每个作业的工件的默认到期时间. | -| `default_branch_protection` | integer | no | 确定开发者是否可以掌握. 可以采用: `0` *(不受保护,开发人员和维护人员都可以推送新的提交,强制推送或删除分支)* , `1` *(部分受保护的开发人员和维护人员可以推送新的提交,但是不能强制推送或删除分支)*或`2` *(受完全保护的开发人员无法推送新的提交,但维护者可以;没有人可以强制推送或删除分支)*作为参数. 默认值为`2` . | -| `default_ci_config_path` | string | no | 新项目的默认 CI 配置路径(如果未设置, `.gitlab-ci.yml` ). | -| `default_group_visibility` | string | no | 新群组获得的可见度级别. 可以将`private` , `internal`和`public`作为参数. 默认值为`private` . | -| `default_project_creation` | integer | no | 默认的项目创建保护. 可以采用: `0` *(无人)* , `1` *(维护者)*或`2` *(开发人员+维护者)* | -| `default_projects_limit` | integer | no | 每个用户的项目限制. 默认值为`100000` . | -| `default_project_visibility` | string | no | 新项目获得什么可见度级别. 可以将`private` , `internal`和`public`作为参数. 默认值为`private` . | -| `default_snippet_visibility` | string | no | 新摘要的可见性级别是多少. 可以将`private` , `internal`和`public`作为参数. 默认值为`private` . | -| `diff_max_patch_bytes` | integer | no | 最大差异补丁大小(字节). | -| `disabled_oauth_sign_in_sources` | 字符串数组 | no | 禁用的 OAuth 登录源. | -| `dns_rebinding_protection_enabled` | boolean | no | 实施 DNS 重新绑定攻击保护. | -| `domain_blacklist` | 字符串数组 | no | 电子邮件地址与这些域匹配的用户将无法注册. 允许使用通配符. 对多个条目使用单独的行. 例如: `domain.com` , `*.domain.com` . | -| `domain_blacklist_enabled` | boolean | no | ( **如果启用,则要求:** `domain_blacklist` )允许阻止来自特定域的电子邮件的注册. | -| `domain_whitelist` | 字符串数组 | no | 强迫人们仅使用公司电子邮件进行注册. 默认值为`null` ,表示没有限制. | -| `dsa_key_restriction` | integer | no | 上载 DSA 密钥的最小允许位长. 默认值为`0` (无限制). `-1`禁用 DSA 密钥. | -| `ecdsa_key_restriction` | integer | no | 上载的 ECDSA 密钥的最小允许曲线大小(以位为单位). 默认值为`0` (无限制). `-1`禁用 ECDSA 密钥. | -| `ed25519_key_restriction` | integer | no | 上载的 ED25519 密钥的最小允许曲线大小(以位为单位). 默认值为`0` (无限制). `-1`禁用 ED25519 键. | -| `eks_integration_enabled` | boolean | no | 启用与 Amazon EKS 的集成 | -| `eks_account_id` | string | no | 亚马逊帐号 | -| `eks_access_key_id` | string | no | AWS IAM 访问密钥 ID | -| `eks_secret_access_key` | string | no | AWS IAM 秘密访问密钥 | -| `elasticsearch_aws_access_key` | string | no | AWS IAM 访问密钥 | -| `elasticsearch_aws` | boolean | no | 启用使用 AWS 托管的 Elasticsearch | -| `elasticsearch_aws_region` | string | no | 配置 Elasticsearch 域的 AWS 区域 | -| `elasticsearch_aws_secret_access_key` | string | no | AWS IAM 秘密访问密钥 | -| `elasticsearch_indexed_field_length_limit` | integer | no | Elasticsearch 将索引的文本字段的最大大小. 0 值表示没有限制. 这不适用于存储库和 Wiki 索引. | -| `elasticsearch_indexing` | boolean | no | 启用 Elasticsearch 索引 | -| `elasticsearch_limit_indexing` | boolean | no | 限制 Elasticsearch 索引某些命名空间和项目 | -| `elasticsearch_max_bulk_concurrency` | integer | no | 每个索引操作的 Elasticsearch 批量请求的最大并发性. 这仅适用于存储库索引操作. | -| `elasticsearch_max_bulk_size_mb` | integer | no | Maximum size of Elasticsearch bulk indexing requests in MB. This only applies to repository indexing operations. | -| `elasticsearch_namespace_ids` | 整数数组 | no | 如果启用 elasticsearch_limit_indexing, `elasticsearch_limit_indexing`通过 Elasticsearch 进行索引的名称空间. | -| `elasticsearch_project_ids` | 整数数组 | no | 如果启用了 elasticsearch_limit_indexing, `elasticsearch_limit_indexing`通过 Elasticsearch 进行索引的项目. | -| `elasticsearch_search` | boolean | no | 启用 Elasticsearch 搜索 | -| `elasticsearch_url` | string | no | 用于连接到 Elasticsearch 的 URL. 使用逗号分隔的列表来支持集群(例如, `http://localhost:9200, http://localhost:9201"` ).如果您的 Elasticsearch 实例受密码保护,请在 URL 中传递`username:password` (例如, `http://:@:9200/` ). | -| `email_additional_text` | string | no | 出于法律/审核/合规原因,在每封电子邮件的底部添加了其他文本 | -| `email_author_in_body` | boolean | no | 某些电子邮件服务器不支持覆盖电子邮件发件人名称. 启用此选项可在邮件正文中包含问题作者的名称,合并请求或评论. | -| `enabled_git_access_protocol` | string | no | 已启用 Git 访问协议. 允许的值为: `ssh` , `http`和`nil`以允许两种协议. | -| `enforce_terms` | boolean | no | ( **如果启用,则要求:** `terms` )对所有用户强制应用 ToS. | -| `external_auth_client_cert` | string | no | ( **如果启用,则要求:** `external_auth_client_key` )用于与外部授权服务进行身份验证的证书 | -| `external_auth_client_key_pass` | string | no | 与外部服务进行身份验证时用于私钥的密码,存储时会加密 | -| `external_auth_client_key` | string | 要求: `external_auth_client_cert` | 外部授权服务需要身份验证时证书的私钥,存储时将被加密 | -| `external_authorization_service_default_label` | string | 所需者: `external_authorization_service_enabled` | 请求授权时使用的默认分类标签,并且在项目上未指定任何分类标签 | -| `external_authorization_service_enabled` | boolean | no | ( **如果启用,则要求:** `external_authorization_service_default_label` , `external_authorization_service_timeout`和`external_authorization_service_url` )启用使用外部授权服务访问项目 | -| `external_authorization_service_timeout` | float | 所需者: `external_authorization_service_enabled` | 授权请求终止后的超时时间(以秒为单位). 当请求超时时,将拒绝用户访问. (最小值:0.001,最大值:10,步长:0.001) | -| `external_authorization_service_url` | string | 所需者: `external_authorization_service_enabled` | 授权请求将定向到的 URL | -| `file_template_project_id` | integer | no | 从中加载自定义文件模板的项目的 ID | -| `first_day_of_week` | integer | no | 日历视图和日期选择器的星期几开始. 有效值为星期日( `0` (默认),星期一( `1` )和星期六( `6` . | -| `geo_node_allowed_ips` | string | yes | 允许的辅助节点的 IP 和 CIDR 的逗号分隔列表. 例如`1.1.1.1, 2.2.2.0/24` . | -| `geo_status_timeout` | integer | no | 请求获取辅助节点状态的超时时间(秒). | -| `gitaly_timeout_default` | integer | no | 默认 Gitaly 超时(以秒为单位). 对于 Git 提取/推送操作或 Sidekiq 作业,不会强制使用此超时. 设置为`0`以禁用超时. | -| `gitaly_timeout_fast` | integer | no | 快速运行超时,以秒为单位. 预计某些 Gitaly 行动会很快. 如果它们超过此阈值,则存储碎片可能存在问题,并且"快速失败"可以帮助维护 GitLab 实例的稳定性. 设置为`0`以禁用超时. | -| `gitaly_timeout_medium` | integer | no | Gitaly 中度超时,以秒为单位. 这应该是快速超时和默认超时之间的一个值. 设置为`0`以禁用超时. | -| `grafana_enabled` | boolean | no | 启用 Grafana. | -| `grafana_url` | string | no | Grafana URL. | -| `gravatar_enabled` | boolean | no | 启用 Gravatar. | -| `hashed_storage_enabled` | boolean | no | 使用哈希存储路径创建新项目:启用基于哈希的不可变路径和存储库名称,以将存储库存储在磁盘上. 这样可以避免在项目 URL 更改时必须移动或重命名存储库,并可以提高磁盘 I / O 性能. (从 13.0 开始始终启用,在 14.0 中将删除配置) | -| `help_page_hide_commercial_content` | boolean | no | 隐藏帮助中与营销相关的条目. | -| `help_page_support_url` | string | no | 帮助页面和帮助下拉列表的备用支持 URL. | -| `help_page_text` | string | no | 帮助页面上显示的自定义文本. | -| `help_text` | string | no | GitLab 服务器管理员信息 | -| `hide_third_party_offers` | boolean | no | 不要在 GitLab 中显示来自第三方的报价. | -| `home_page_url` | string | no | 未登录时重定向到该 URL. | -| `housekeeping_bitmaps_enabled` | boolean | 要求: `housekeeping_enabled` | 启用 Git 包文件位图创建. | -| `housekeeping_enabled` | boolean | no | ( **如果启用,则要求:** `housekeeping_bitmaps_enabled` , `housekeeping_full_repack_period` , `housekeeping_gc_period`和`housekeeping_incremental_repack_period` ).启用或禁用 Git 整理. | -| `housekeeping_full_repack_period` | integer | 要求: `housekeeping_enabled` | Git 推送的次数,之后运行增量`git repack` . | -| `housekeeping_gc_period` | integer | 要求: `housekeeping_enabled` | 运行`git gc`之后的 Git 推送次数. | -| `housekeeping_incremental_repack_period` | integer | 要求: `housekeeping_enabled` | Git 推送的次数,之后运行增量`git repack` . | -| `html_emails_enabled` | boolean | no | 启用 HTML 电子邮件. | -| `import_sources` | 字符串数组 | no | 允许从中导入项目的来源,可能的值包括: `github` , `bitbucket` , `bitbucket_server` , `gitlab` , `google_code` , `fogbugz` , `git` , `gitlab_project` , `gitea` , `manifest`和`phabricator` . | -| `instance_statistics_visibility_private` | boolean | no | 设置为`true`实例统计信息仅对管理员可用. | -| `local_markdown_version` | integer | no | 当任何缓存的 Markdown 无效时,请增加此值. | -| `max_artifacts_size` | integer | no | 最大工件大小(MB) | -| `max_attachment_size` | integer | no | 限制附件大小(MB) | -| `max_import_size` | integer | no | 最大导入大小(MB). 0 代表无限. 默认值= 50 | -| `max_pages_size` | integer | no | 页面存储库的最大大小(MB) | -| `max_personal_access_token_lifetime` | integer | no | 个人访问令牌的最大允许寿命(天) | -| `metrics_method_call_threshold` | integer | no | 仅当方法调用花费的时间超过给定的毫秒数时,才会跟踪该方法调用. | -| `mirror_available` | boolean | no | 允许存储库镜像由项目维护者配置. 如果禁用,则只有管理员可以配置存储库镜像. | -| `mirror_capacity_threshold` | integer | no | 抢先计划更多镜像之前需要提供的最小容量 | -| `mirror_max_capacity` | integer | no | 可以同时同步的最大镜像数. | -| `mirror_max_delay` | integer | no | 计划进行同步时,镜像可以具有的两次更新之间的最长时间(以分钟为单位). | -| `npm_package_requests_forwarding` | boolean | no | 在 GitLab NPM 注册表中找不到软件包时,请使用 npmjs.org 作为默认的远程存储库 | -| `maintenance_mode` | boolean | no | 实例处于维护模式时,非管理员用户可以使用只读访问权限登录并发出只读 API 请求 | -| `maintenance_mode_message` | string | no | 实例处于维护模式时显示的消息 | -| `outbound_local_requests_whitelist` | 字符串数组 | no | 定义在禁用对钩子和服务的本地请求时允许对本地请求的信任域或 ip 地址的列表. | -| `pages_domain_verification_enabled` | boolean | no | 要求用户证明自定义域的所有权. 域验证是公共 GitLab 站点必不可少的安全措施. 在启用域之前,要求用户证明他们控制着域. | -| `password_authentication_enabled_for_git` | boolean | no | 通过 GitLab 帐户密码启用基于 HTTP(S)的 Git 身份验证. 默认值为`true` . | -| `password_authentication_enabled_for_web` | boolean | no | 通过 GitLab 帐户密码启用 Web 界面的身份验证. 默认值为`true` . | -| `performance_bar_allowed_group_id` | string | no | (不建议使用:改用`performance_bar_allowed_group_path` )允许切换性能栏的组的路径. | -| `performance_bar_allowed_group_path` | string | no | Path of the group that is allowed to toggle the performance bar. | -| `performance_bar_enabled` | boolean | no | (不建议使用:传递`performance_bar_allowed_group_path: nil`代替)允许启用性能栏. | -| `plantuml_enabled` | boolean | no | ( **如果启用,则要求:** `plantuml_url` )启用 PlantUML 集成. 默认值为`false` . | -| `plantuml_url` | string | 要求: `plantuml_enabled` | 用于集成的 PlantUML 实例 URL. | -| `polling_interval_multiplier` | decimal | no | Interval multiplier used by endpoints that perform polling. Set to `0` to disable polling. | -| `deletion_adjourned_period` | integer | no | 删除标记为删除的项目或组之前要等待的天数. 值必须介于 0 到 90 之间. | -| `project_export_enabled` | boolean | no | 启用项目导出. | -| `prometheus_metrics_enabled` | boolean | no | 启用 Prometheus 指标. | -| `protected_ci_variables` | boolean | no | 默认情况下,环境变量受保护. | -| `pseudonymizer_enabled` | boolean | no | 启用后,GitLab 将运行一个后台作业,该作业将生成 GitLab 数据库的假名化 CSV,并将其上传到您配置的对象存储目录中. | -| `push_event_hooks_limit` | integer | no | 一次按下更改(分支或标签)的次数,以确定是否将触发 Webhook 和服务. 如果超过该值,则不会提交 Webhooks 和服务. | -| `push_event_activities_limit` | integer | no | 一次推送中更改(分支或标签)的数量,以确定将创建单个推送事件还是批量推送事件. [如果批量推送事件](../user/admin_area/settings/push_event_activities_limit.html)超过该值, [则会创建](../user/admin_area/settings/push_event_activities_limit.html)该[事件](../user/admin_area/settings/push_event_activities_limit.html) . | -| `recaptcha_enabled` | boolean | no | ( **如果启用,则要求:** `recaptcha_private_key`和`recaptcha_site_key` )启用 reCAPTCHA. | -| `recaptcha_private_key` | string | 要求: `recaptcha_enabled` | reCAPTCHA 的私钥. | -| `recaptcha_site_key` | string | 要求: `recaptcha_enabled` | reCAPTCHA 的站点密钥. | -| `receive_max_input_size` | integer | no | 最大推送大小(MB). | -| `repository_checks_enabled` | boolean | no | GitLab 将在所有项目和 Wiki 存储库中定期运行`git fsck` ,以查找静默磁盘损坏问题. | -| `repository_size_limit` | integer | no | 每个存储库的大小限制(MB) | -| `repository_storages` | 字符串数组 | no | (GitLab 13.0 和更早版本)已启用的存储路径的名称列表,取自`gitlab.yml` . 在这些商店之一中创建新项目,这些项目是随机选择的. | -| `repository_storages_weighted` | 字符串哈希到整数 | no | (GitLab 13.1 和更高版本)从`gitlab.yml`到权重的名称的哈希值. 在这些存储库之一中创建新项目,并通过加权随机选择进行选择. | -| `require_two_factor_authentication` | boolean | no | ( **如果启用,则要求:** `two_factor_grace_period` )要求所有用户设置两因素身份验证. | -| `restricted_visibility_levels` | 字符串数组 | no | 非管理员用户不能将所选级别用于组,项目或摘要. 可以将`private` , `internal`和`public`作为参数. 默认值为`null` ,表示没有限制. | -| `rsa_key_restriction` | integer | no | 上载 RSA 密钥的最小允许比特长度. 默认值为`0` (无限制). `-1`禁用 RSA 密钥. | -| `send_user_confirmation_email` | boolean | no | 在注册时发送确认电子邮件. | -| `session_expire_delay` | integer | no | 会话持续时间(以分钟为单位). 需要重启 GitLab 才能应用更改 | -| `shared_runners_enabled` | boolean | no | ( **如果启用,则要求:** `shared_runners_text`和`shared_runners_minutes` )为新项目启用共享运行器. | -| `shared_runners_minutes` | integer | 所需者: `shared_runners_enabled` | 设置组每月可以在共享运行者上使用的最大管道分钟数. | -| `shared_runners_text` | string | 所需者: `shared_runners_enabled` | 共享跑步者文字. | -| `signin_enabled` | string | no | (不建议使用:改为使用`password_authentication_enabled_for_web` )该标志指示是否为 Web 界面启用了密码认证. | -| `sign_in_text` | string | no | 登录页面上的文本. | -| `signup_enabled` | boolean | no | 启用注册. 默认值为`true` . | -| `slack_app_enabled` | boolean | no | ( **如果启用,则要求:** `slack_app_id` , `slack_app_secret`和`slack_app_secret` )启用 Slack 应用. | -| `slack_app_id` | string | 所需者: `slack_app_enabled` | The app ID of the Slack-app. | -| `slack_app_secret` | string | 所需者: `slack_app_enabled` | Slack-app 的应用程序秘诀. | -| `slack_app_verification_token` | string | 所需者: `slack_app_enabled` | Slack-app 的验证令牌. | -| `snowplow_collector_hostname` | string | 所需者: `snowplow_enabled` | 扫雪机收集器主机名. (例如, `snowplow.trx.gitlab.net` ) | -| `snowplow_cookie_domain` | string | no | Snowplow cookie 域. (例如, `.gitlab.com` ) | -| `snowplow_enabled` | boolean | no | 启用扫雪机跟踪. | -| `snowplow_app_id` | string | no | Snowplow 站点名称/应用程序 ID. (例如`gitlab` ) | -| `snowplow_iglu_registry_url` | string | no | Snowplow 基本 Iglu Schema 注册表 URL,用于自定义上下文和自我描述事件' | -| `sourcegraph_enabled` | boolean | no | 启用 S​​ourcegraph 集成. 默认值为`false` . **如果启用,则需要** `sourcegraph_url` . | -| `sourcegraph_url` | string | 要求: `sourcegraph_enabled` | 用于集成的 Sourcegraph 实例 URL. | -| `sourcegraph_public_only` | boolean | no | 阻止将 Sourcegraph 加载到私有和内部项目中. 默认值为`true` . | -| `spam_check_endpoint_enabled` | boolean | no | 通过外部 API 端点启用垃圾邮件检查. 默认值为`false` . | -| `spam_check_endpoint_url` | string | no | 外部垃圾邮件检查服务端点的 URL. | -| `terminal_max_session_time` | integer | no | Web 终端 websocket 连接的最长时间(以秒为单位). 设置为`0`表示无限时间. | -| `terms` | text | 要求: `enforce_terms` | ( **要求:** `enforce_terms` )ToS 的降价内容. | -| `throttle_authenticated_api_enabled` | boolean | no | ( **如果启用,则要求:** `throttle_authenticated_api_period_in_seconds`和`throttle_authenticated_api_requests_per_period` )启用经过身份验证的 API 请求速率限制. 帮助减少请求量(例如,来自爬虫或恶意机器人的请求量). | -| `throttle_authenticated_api_period_in_seconds` | integer | 所需者: `throttle_authenticated_api_enabled` _ 已验证`throttle_authenticated_api_enabled` | 限速时间(秒). | -| `throttle_authenticated_api_requests_per_period` | integer | 所需者: `throttle_authenticated_api_enabled` _ 已验证`throttle_authenticated_api_enabled` | 每个用户每个时段的最大请求数. | -| `throttle_authenticated_web_enabled` | boolean | no | ( **如果启用,则要求:** `throttle_authenticated_web_period_in_seconds`和`throttle_authenticated_web_requests_per_period` )启用经过身份验证的 Web 请求速率限制. 帮助减少请求量(例如,来自爬虫或恶意机器人的请求量). | -| `throttle_authenticated_web_period_in_seconds` | integer | 所需者: `throttle_authenticated_web_enabled` _ 已验证网络 _ 已`throttle_authenticated_web_enabled` | 限速时间(秒). | -| `throttle_authenticated_web_requests_per_period` | integer | 所需者: `throttle_authenticated_web_enabled` _ 已验证网络 _ 已`throttle_authenticated_web_enabled` | 每个用户每个时段的最大请求数. | -| `throttle_unauthenticated_enabled` | boolean | no | ( **如果启用,则要求:** `throttle_unauthenticated_period_in_seconds`和`throttle_unauthenticated_requests_per_period` )启用未认证的请求速率限制. 帮助减少请求量(例如,来自爬虫或恶意机器人的请求量). | -| `throttle_unauthenticated_period_in_seconds` | integer | 所需者: `throttle_unauthenticated_enabled` _ 未`throttle_unauthenticated_enabled`的 _ `throttle_unauthenticated_enabled` | 限速时间(秒). | -| `throttle_unauthenticated_requests_per_period` | integer | required by: `throttle_unauthenticated_enabled` | 每个 IP 的每个周期的最大请求数. | -| `time_tracking_limit_to_hours` | boolean | no | 将时间跟踪单位的显示限制为小时. 默认值为`false` . | -| `two_factor_grace_period` | integer | 要求者: `require_two_factor_authentication` | 允许用户跳过两因素身份验证的强制配置的时间(以小时为单位). | -| `unique_ips_limit_enabled` | boolean | no | ( **如果启用,则要求:** `unique_ips_limit_per_user`和`unique_ips_limit_time_window` )限制从多个`unique_ips_limit_time_window`登录. | -| `unique_ips_limit_per_user` | integer | 所需者: `unique_ips_limit_enabled` | 每个用户的最大 IP 数. | -| `unique_ips_limit_time_window` | integer | 所需者: `unique_ips_limit_enabled` | IP 将计入限制多少秒. | -| `usage_ping_enabled` | boolean | no | GitLab 每周都会向 GitLab,Inc.报告许可证使用情况. | -| `user_default_external` | boolean | no | 默认情况下,新注册的用户将是外部用户. | -| `user_default_internal_regex` | string | no | 指定电子邮件地址正则表达式模式以标识默认的内部用户. | -| `user_oauth_applications` | boolean | no | 允许用户注册任何应用程序以将 GitLab 用作 OAuth 提供程序. | -| `user_show_add_ssh_key_message` | boolean | no | 设置为`false`时,向没有上载 SSH 密钥的用户显示"您将无法通过 SSH 推送或推送项目代码"警告. | -| `version_check_enabled` | boolean | no | 让 GitLab 在更新可用时通知您. | -| `web_ide_clientside_preview_enabled` | boolean | no | 实时预览(允许使用 CodeSandbox 实时预览在 Web IDE 中对 JavaScript 项目进行实时预览). | -| `snippet_size_limit` | integer | no | 摘录内容的最大大小(以**字节为单位)** . 默认值:52428800 字节(50MB). | -| `issues_create_limit` | integer | no | 每位用户每分钟每分钟最多可创建问题的请求数. 默认值:300.要禁用限制,请将其设置为 0. | -| `raw_blob_request_limit` | integer | no | 每条原始路径每分钟的最大请求数. 默认值:300.要禁用限制,请将其设置为 0. | -| `wiki_page_max_content_bytes` | integer | no | Wiki 页面的最大内容大小(以**字节为单位)** . 默认值:52428800 字节(50MB). | \ No newline at end of file diff --git a/docs/369.md b/docs/369.md deleted file mode 100644 index d393a7c..0000000 --- a/docs/369.md +++ /dev/null @@ -1,86 +0,0 @@ -# Sidekiq Metrics API - -> 原文:[https://docs.gitlab.com/ee/api/sidekiq_metrics.html](https://docs.gitlab.com/ee/api/sidekiq_metrics.html) - -* [Get the current Queue Metrics](#get-the-current-queue-metrics) -* [Get the current Process Metrics](#get-the-current-process-metrics) -* [Get the current Job Statistics](#get-the-current-job-statistics) -* [Get a compound response of all the previously mentioned metrics](#get-a-compound-response-of-all-the-previously-mentioned-metrics) - -# Sidekiq Metrics API[](#sidekiq-metrics-api "Permalink") - -> **注意:**此端点仅在 GitLab 8.9 及更高版本上可用. - -通过此 API 端点,您可以检索有关 Sidekiq 当前状态,其作业,队列和进程的一些信息. - -## Get the current Queue Metrics[](#get-the-current-queue-metrics "Permalink") - -列出有关所有已注册队列,其积压和延迟的信息. - -``` -GET /sidekiq/queue_metrics -``` - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/sidekiq/queue_metrics" -``` - -响应示例: - -``` -{ "queues": { "default": { "backlog": 0, "latency": 0 } } } -``` - -## Get the current Process Metrics[](#get-the-current-process-metrics "Permalink") - -列出有关所有注册来处理您的队列的 Sidekiq 工作者的信息. - -``` -GET /sidekiq/process_metrics -``` - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/sidekiq/process_metrics" -``` - -响应示例: - -``` -{ "processes": [ { "hostname": "gitlab.example.com", "pid": 5649, "tag": "gitlab", "started_at": "2016-06-14T10:45:07.159-05:00", "queues": [ "post_receive", "mailers", "archive_repo", "system_hook", "project_web_hook", "gitlab_shell", "incoming_email", "runner", "common", "default" ], "labels": [], "concurrency": 25, "busy": 0 } ] } -``` - -## Get the current Job Statistics[](#get-the-current-job-statistics "Permalink") - -列出有关 Sidekiq 执行的作业的信息. - -``` -GET /sidekiq/job_stats -``` - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/sidekiq/job_stats" -``` - -响应示例: - -``` -{ "jobs": { "processed": 2, "failed": 0, "enqueued": 0, "dead": 0 } } -``` - -## Get a compound response of all the previously mentioned metrics[](#get-a-compound-response-of-all-the-previously-mentioned-metrics "Permalink") - -列出有关 Sidekiq 的所有当前可用信息. - -``` -GET /sidekiq/compound_metrics -``` - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/sidekiq/compound_metrics" -``` - -响应示例: - -``` -{ "queues": { "default": { "backlog": 0, "latency": 0 } }, "processes": [ { "hostname": "gitlab.example.com", "pid": 5649, "tag": "gitlab", "started_at": "2016-06-14T10:45:07.159-05:00", "queues": [ "post_receive", "mailers", "archive_repo", "system_hook", "project_web_hook", "gitlab_shell", "incoming_email", "runner", "common", "default" ], "labels": [], "concurrency": 25, "busy": 0 } ], "jobs": { "processed": 2, "failed": 0, "enqueued": 0, "dead": 0 } } -``` \ No newline at end of file diff --git a/docs/370.md b/docs/370.md deleted file mode 100644 index a302d7f..0000000 --- a/docs/370.md +++ /dev/null @@ -1,285 +0,0 @@ -# Snippets API - -> 原文:[https://docs.gitlab.com/ee/api/snippets.html](https://docs.gitlab.com/ee/api/snippets.html) - -* [Snippet visibility level](#snippet-visibility-level) -* [List all snippets for a user](#list-all-snippets-for-a-user) -* [Get a single snippet](#get-a-single-snippet) -* [Single snippet contents](#single-snippet-contents) -* [Snippet repository file content](#snippet-repository-file-content) -* [Create new snippet](#create-new-snippet) -* [Update snippet](#update-snippet) -* [Delete snippet](#delete-snippet) -* [List all public snippets](#list-all-public-snippets) -* [Get user agent details](#get-user-agent-details) - -# Snippets API[](#snippets-api "Permalink") - -在 GitLab 8.15 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/6373) . - -片段 API 在[片段上](../user/snippets.html)运行. - -## Snippet visibility level[](#snippet-visibility-level "Permalink") - -GitLab 中的代码段可以是私有的,内部的或公共的. 您可以使用代码段中的`visibility`字段进行设置. - -代码段可见性级别的有效值为: - -| Visibility | Description | -| --- | --- | -| `private` | 摘要仅对摘要创建者可见. | -| `internal` | 所有已登录用户都可以看到该代码段. | -| `public` | 无需任何身份验证即可访问代码段. | - -## List all snippets for a user[](#list-all-snippets-for-a-user "Permalink") - -获取当前用户的片段列表. - -``` -GET /snippets -``` - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/snippets" -``` - -响应示例: - -``` -[ { "id": 42, "title": "Voluptatem iure ut qui aut et consequatur quaerat.", "file_name": "mclaughlin.rb", "description": null, "visibility": "internal", "author": { "id": 22, "name": "User 0", "username": "user0", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/52e4ce24a915fb7e51e1ad3b57f4b00a?s=80&d=identicon", "web_url": "http://example.com/user0" }, "updated_at": "2018-09-18T01:12:26.383Z", "created_at": "2018-09-18T01:12:26.383Z", "project_id": null, "web_url": "http://example.com/snippets/42", "raw_url": "http://example.com/snippets/42/raw" }, { "id": 41, "title": "Ut praesentium non et atque.", "file_name": "ondrickaemard.rb", "description": null, "visibility": "internal", "author": { "id": 22, "name": "User 0", "username": "user0", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/52e4ce24a915fb7e51e1ad3b57f4b00a?s=80&d=identicon", "web_url": "http://example.com/user0" }, "updated_at": "2018-09-18T01:12:26.360Z", "created_at": "2018-09-18T01:12:26.360Z", "project_id": 1, "web_url": "http://example.com/gitlab-org/gitlab-test/snippets/41", "raw_url": "http://example.com/gitlab-org/gitlab-test/snippets/41/raw" } ] -``` - -## Get a single snippet[](#get-a-single-snippet "Permalink") - -取得一个摘要. - -``` -GET /snippets/:id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 要检索的代码段的 ID. | - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/snippets/1" -``` - -响应示例: - -``` -{ "id": 1, "title": "test", "file_name": "add.rb", "description": "Ruby test snippet", "visibility": "private", "author": { "id": 1, "username": "john_smith", "email": "john@example.com", "name": "John Smith", "state": "active", "created_at": "2012-05-23T08:00:58Z" }, "expires_at": null, "updated_at": "2012-06-28T10:52:04Z", "created_at": "2012-06-28T10:52:04Z", "project_id": null, "web_url": "http://example.com/snippets/1", "raw_url": "http://example.com/snippets/1/raw" } -``` - -## Single snippet contents[](#single-snippet-contents "Permalink") - -获取单个代码段的原始内容. - -``` -GET /snippets/:id/raw -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 要检索的代码段的 ID. | - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/snippets/1/raw" -``` - -响应示例: - -``` -Hello World snippet -``` - -## Snippet repository file content[](#snippet-repository-file-content "Permalink") - -以纯文本形式返回原始文件的内容. - -``` -GET /snippets/:id/files/:ref/:file_path/raw -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 要检索的代码段 ID | -| `ref` | string | yes | 引用标签,分支或提交 | -| `file_path` | string | yes | 文件的 URL 编码路径 | - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/snippets/1/files/master/snippet%2Erb/raw" -``` - -响应示例: - -``` -Hello World snippet -``` - -## Create new snippet[](#create-new-snippet "Permalink") - -创建一个新的代码段. - -**注意:**用户必须具有创建新代码段的权限. - -``` -POST /snippets -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `title` | string | yes | 摘要的标题. | -| `file_name` | string | yes | 片段文件的名称. | -| `content` | string | yes | 摘要的内容. | -| `description` | string | no | 片段说明. | -| `visibility` | string | no | Snippet’s [visibility](#snippet-visibility-level). | - -请求示例: - -``` -curl --request POST \ - --data '{"title": "This is a snippet", "content": "Hello world", "description": "Hello World snippet", "file_name": "test.txt", "visibility": "internal" }' \ - --header 'Content-Type: application/json' \ - --header "PRIVATE-TOKEN: " \ - "https://gitlab.example.com/api/v4/snippets" -``` - -响应示例: - -``` -{ "id": 1, "title": "This is a snippet", "file_name": "test.txt", "description": "Hello World snippet", "visibility": "internal", "author": { "id": 1, "username": "john_smith", "email": "john@example.com", "name": "John Smith", "state": "active", "created_at": "2012-05-23T08:00:58Z" }, "expires_at": null, "updated_at": "2012-06-28T10:52:04Z", "created_at": "2012-06-28T10:52:04Z", "project_id": null, "web_url": "http://example.com/snippets/1", "raw_url": "http://example.com/snippets/1/raw" } -``` - -## Update snippet[](#update-snippet "Permalink") - -更新现有代码段. - -**注意:**用户必须具有更改现有代码段的权限. - -``` -PUT /snippets/:id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 要更新的代码段 ID. | -| `title` | string | no | 摘要的标题. | -| `file_name` | string | no | 片段文件的名称. | -| `description` | string | no | 片段说明. | -| `content` | string | no | 摘要的内容. | -| `visibility` | string | no | Snippet’s [visibility](#snippet-visibility-level). | - -请求示例: - -``` -curl --request PUT \ - --data '{"title": "foo", "content": "bar"}' \ - --header 'Content-Type: application/json' \ - --header "PRIVATE-TOKEN: " \ - "https://gitlab.example.com/api/v4/snippets/1" -``` - -响应示例: - -``` -{ "id": 1, "title": "test", "file_name": "add.rb", "description": "description of snippet", "visibility": "internal", "author": { "id": 1, "username": "john_smith", "email": "john@example.com", "name": "John Smith", "state": "active", "created_at": "2012-05-23T08:00:58Z" }, "expires_at": null, "updated_at": "2012-06-28T10:52:04Z", "created_at": "2012-06-28T10:52:04Z", "project_id": null, "web_url": "http://example.com/snippets/1", "raw_url": "http://example.com/snippets/1/raw" } -``` - -## Delete snippet[](#delete-snippet "Permalink") - -删除现有的代码段. - -``` -DELETE /snippets/:id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 要删除的代码段的 ID. | - -请求示例: - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/snippets/1" -``` - -以下是可能的返回码: - -| Code | Description | -| --- | --- | -| `204` | 删除成功. 没有数据返回. | -| `404` | 找不到该代码段. | - -## List all public snippets[](#list-all-public-snippets "Permalink") - -列出所有公共摘要. - -``` -GET /snippets/public -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `per_page` | integer | no | 每页要返回的代码段数. | -| `page` | integer | no | 要检索的页面. | - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/snippets/public?per_page=2&page=1" -``` - -响应示例: - -``` -[ { "author": { "avatar_url": "http://www.gravatar.com/avatar/edaf55a9e363ea263e3b981d09e0f7f7?s=80&d=identicon", "id": 12, "name": "Libby Rolfson", "state": "active", "username": "elton_wehner", "web_url": "http://example.com/elton_wehner" }, "created_at": "2016-11-25T16:53:34.504Z", "file_name": "oconnerrice.rb", "id": 49, "title": "Ratione cupiditate et laborum temporibus.", "updated_at": "2016-11-25T16:53:34.504Z", "project_id": null, "web_url": "http://example.com/snippets/49", "raw_url": "http://example.com/snippets/49/raw" }, { "author": { "avatar_url": "http://www.gravatar.com/avatar/36583b28626de71061e6e5a77972c3bd?s=80&d=identicon", "id": 16, "name": "Llewellyn Flatley", "state": "active", "username": "adaline", "web_url": "http://example.com/adaline" }, "created_at": "2016-11-25T16:53:34.479Z", "file_name": "muellershields.rb", "id": 48, "title": "Minus similique nesciunt vel fugiat qui ullam sunt.", "updated_at": "2016-11-25T16:53:34.479Z", "project_id": null, "web_url": "http://example.com/snippets/48", "raw_url": "http://example.com/snippets/49/raw", "visibility": "public" } ] -``` - -## Get user agent details[](#get-user-agent-details "Permalink") - -在 GitLab 9.4 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/12655) . - -**注意:**仅适用于管理员. - -``` -GET /snippets/:id/user_agent_detail -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 摘要的 ID. | - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/snippets/1/user_agent_detail" -``` - -响应示例: - -``` -{ "user_agent": "AppleWebKit/537.36", "ip_address": "127.0.0.1", "akismet_submitted": false } -``` \ No newline at end of file diff --git a/docs/371.md b/docs/371.md deleted file mode 100644 index 5b493ac..0000000 --- a/docs/371.md +++ /dev/null @@ -1,212 +0,0 @@ -# Project snippets - -> 原文:[https://docs.gitlab.com/ee/api/project_snippets.html](https://docs.gitlab.com/ee/api/project_snippets.html) - -* [Snippet visibility level](#snippet-visibility-level) -* [List snippets](#list-snippets) -* [Single snippet](#single-snippet) -* [Create new snippet](#create-new-snippet) -* [Update snippet](#update-snippet) -* [Delete snippet](#delete-snippet) -* [Snippet content](#snippet-content) -* [Snippet repository file content](#snippet-repository-file-content) -* [Get user agent details](#get-user-agent-details) - -# Project snippets[](#project-snippets "Permalink") - -## Snippet visibility level[](#snippet-visibility-level "Permalink") - -GitLab 中的片段可以是私有的,内部的或公共的. 您可以使用代码段中的`visibility`字段进行设置. - -摘要可见性级别的常量为: - -| visibility | Description | -| --- | --- | -| `private` | 该代码段仅在代码段创建者中可见 | -| `internal` | 所有已登录的用户都可以看到该代码段 | -| `public` | 无需任何身份验证即可访问该代码段 | - -**注意:**从 2019 年 7 月开始,GitLab.com 上的新项目,组和摘要的`` `Internal`可见性''设置被禁用. 使用" `Internal`可见性"设置的现有项目,组和摘录保留此设置. 您可以在[相关问题中](https://gitlab.com/gitlab-org/gitlab/-/issues/12388)阅读有关更改的更多信息. - -## List snippets[](#list-snippets "Permalink") - -获取项目摘要列表. - -``` -GET /projects/:id/snippets -``` - -Parameters: - -* `id` (必填)-经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) - -## Single snippet[](#single-snippet "Permalink") - -获得一个项目片段. - -``` -GET /projects/:id/snippets/:snippet_id -``` - -Parameters: - -* `id` (必填)-经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) -* `snippet_id` (必填)-项目代码段的 ID - -``` -{ "id": 1, "title": "test", "file_name": "add.rb", "description": "Ruby test snippet", "author": { "id": 1, "username": "john_smith", "email": "john@example.com", "name": "John Smith", "state": "active", "created_at": "2012-05-23T08:00:58Z" }, "updated_at": "2012-06-28T10:52:04Z", "created_at": "2012-06-28T10:52:04Z", "project_id": 1, "web_url": "http://example.com/example/example/snippets/1", "raw_url": "http://example.com/example/example/snippets/1/raw" } -``` - -## Create new snippet[](#create-new-snippet "Permalink") - -创建一个新的项目片段. 用户必须具有创建新代码段的权限. - -``` -POST /projects/:id/snippets -``` - -Parameters: - -* `id` (必填)-经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) -* `title` (required) - The title of a snippet -* `file_name` (必填)-代码段文件的名称 -* `description` (可选)-代码段的说明 -* `content` (必填)-代码段的内容 -* `visibility` (必填)-代码段的可见性 - -请求示例: - -``` -curl --request POST "https://gitlab.com/api/v4/projects/:id/snippets" \ - --header "PRIVATE-TOKEN: " \ - --header "Content-Type: application/json" \ - -d @snippet.json -``` - -上面的示例请求中使用的`snippet.json` : - -``` -{ "title" : "Example Snippet Title", "description" : "More verbose snippet description", "file_name" : "example.txt", "content" : "source code \n with multiple lines\n", "visibility" : "private" } -``` - -## Update snippet[](#update-snippet "Permalink") - -更新现有的项目代码段. 用户必须具有更改现有代码段的权限. - -``` -PUT /projects/:id/snippets/:snippet_id -``` - -Parameters: - -* `id` (必填)-经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) -* `snippet_id` (必填)-项目代码段的 ID -* `title` (可选)-摘要的标题 -* `file_name` (可选)-代码段文件的名称 -* `description` (可选)-代码段的说明 -* `content` (可选)-代码段的内容 -* `visibility` (可选)-代码段的可见性 - -请求示例: - -``` -curl --request PUT "https://gitlab.com/api/v4/projects/:id/snippets/:snippet_id" \ - --header "PRIVATE-TOKEN: " \ - --header "Content-Type: application/json" \ - -d @snippet.json -``` - -上面的示例请求中使用的`snippet.json` : - -``` -{ "title" : "Updated Snippet Title", "description" : "More verbose snippet description", "file_name" : "new_filename.txt", "content" : "updated source code \n with multiple lines\n", "visibility" : "private" } -``` - -## Delete snippet[](#delete-snippet "Permalink") - -删除现有项目片段. 如果操作成功,则返回`204 No Content`状态代码;如果找不到资源,则返回`404` . - -``` -DELETE /projects/:id/snippets/:snippet_id -``` - -Parameters: - -* `id` (必填)-经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) -* `snippet_id` (必填)-项目代码段的 ID - -请求示例: - -``` -curl --request DELETE "https://gitlab.com/api/v4/projects/:id/snippets/:snippet_id" \ - --header "PRIVATE-TOKEN: " -``` - -## Snippet content[](#snippet-content "Permalink") - -以纯文本形式返回原始项目代码段. - -``` -GET /projects/:id/snippets/:snippet_id/raw -``` - -Parameters: - -* `id` (必填)-经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) -* `snippet_id` (必填)-项目代码段的 ID - -请求示例: - -``` -curl "https://gitlab.com/api/v4/projects/:id/snippets/:snippet_id/raw" \ - --header "PRIVATE-TOKEN: " -``` - -## Snippet repository file content[](#snippet-repository-file-content "Permalink") - -以纯文本形式返回原始文件的内容. - -``` -GET /projects/:id/snippets/:snippet_id/files/:ref/:file_path/raw -``` - -Parameters: - -* `id` (必填)-经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) -* `snippet_id` (必填)-项目代码段的 ID -* `ref` (必填)-分支,标记或提交的名称,例如 master -* `file_path` (必填)-文件的 URL 编码路径,例如 snippet%2Erb - -请求示例: - -``` -curl "https://gitlab.com/api/v4/projects/1/snippets/2/files/master/snippet%2Erb/raw" \ - --header "PRIVATE-TOKEN: " -``` - -## Get user agent details[](#get-user-agent-details "Permalink") - -在 GitLab 9.4 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/29508) . - -仅适用于管理员. - -``` -GET /projects/:id/snippets/:snippet_id/user_agent_detail -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | Integer | yes | 项目 ID | -| `snippet_id` | Integer | yes | 片段的 ID | - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/snippets/2/user_agent_detail" -``` - -响应示例: - -``` -{ "user_agent": "AppleWebKit/537.36", "ip_address": "127.0.0.1", "akismet_submitted": false } -``` \ No newline at end of file diff --git a/docs/372.md b/docs/372.md deleted file mode 100644 index 1d2c9f9..0000000 --- a/docs/372.md +++ /dev/null @@ -1,27 +0,0 @@ -# Application statistics API - -> 原文:[https://docs.gitlab.com/ee/api/statistics.html](https://docs.gitlab.com/ee/api/statistics.html) - -* [Get current application statistics](#get-current-application-statistics) - -# Application statistics API[](#application-statistics-api "Permalink") - -## Get current application statistics[](#get-current-application-statistics "Permalink") - -列出 GitLab 实例的当前统计信息. 您必须是管理员才能执行此操作. - -**注意:**这些统计数据是近似的. - -``` -GET /application/statistics -``` - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/application/statistics" -``` - -响应示例: - -``` -{ "forks": "10", "issues": "76", "merge_requests": "27", "notes": "954", "snippets": "50", "ssh_keys": "10", "milestones": "40", "users": "50", "groups": "10", "projects": "20", "active_users": "50" } -``` \ No newline at end of file diff --git a/docs/373.md b/docs/373.md deleted file mode 100644 index e40ea7e..0000000 --- a/docs/373.md +++ /dev/null @@ -1,31 +0,0 @@ -# Suggest Changes API - -> 原文:[https://docs.gitlab.com/ee/api/suggestions.html](https://docs.gitlab.com/ee/api/suggestions.html) - -* [Applying suggestions](#applying-suggestions) - -# Suggest Changes API[](#suggest-changes-api "Permalink") - -每个对建议的 API 调用都必须经过验证. - -## Applying suggestions[](#applying-suggestions "Permalink") - -在合并请求中应用建议的补丁. 用户必须至少是[Developer](../user/permissions.html)才能执行此操作. - -``` -PUT /suggestions/:id/apply -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 建议的 ID | - -``` -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/suggestions/5/apply" -``` - -响应示例: - -``` - { "id": 36, "from_line": 10, "to_line": 10, "appliable": false, "applied": true, "from_content": " \"--talk-name=org.freedesktop.\",\n", "to_content": " \"--talk-name=org.free.\",\n \"--talk-name=org.desktop.\",\n" } -``` \ No newline at end of file diff --git a/docs/374.md b/docs/374.md deleted file mode 100644 index 2a673ad..0000000 --- a/docs/374.md +++ /dev/null @@ -1,106 +0,0 @@ -# System hooks API - -> 原文:[https://docs.gitlab.com/ee/api/system_hooks.html](https://docs.gitlab.com/ee/api/system_hooks.html) - -* [List system hooks](#list-system-hooks) -* [Add new system hook](#add-new-system-hook) -* [Test system hook](#test-system-hook) -* [Delete system hook](#delete-system-hook) - -# System hooks API[](#system-hooks-api "Permalink") - -所有方法都需要管理员授权. - -也可以使用**Admin Area> System Hooks** ( `/admin/hooks` )中的 UI 来配置系统挂钩的 URL 端点. - -阅读有关[系统挂钩的](../system_hooks/system_hooks.html)更多信息. - -## List system hooks[](#list-system-hooks "Permalink") - -获取所有系统挂钩的列表. - -``` -GET /hooks -``` - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/hooks" -``` - -响应示例: - -``` -[ { "id":1, "url":"https://gitlab.example.com/hook", "created_at":"2016-10-31T12:32:15.192Z", "push_events":true, "tag_push_events":false, "merge_requests_events": true, "repository_update_events": true, "enable_ssl_verification":true } ] -``` - -## Add new system hook[](#add-new-system-hook "Permalink") - -添加一个新的系统挂钩. - -``` -POST /hooks -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `url` | string | yes | 挂钩网址 | -| `token` | string | no | 用于验证收到的有效载荷的秘密令牌; 这将不会在响应中返回 | -| `push_events` | boolean | no | 设置为 true 时,挂钩将在推送事件时触发 | -| `tag_push_events` | boolean | no | 设置为 true 时,挂钩将在被推送的新标签上触发 | -| `merge_requests_events` | boolean | no | 触发合并请求事件的钩子 | -| `repository_update_events` | boolean | no | 触发挂钩存储库更新事件 | -| `enable_ssl_verification` | boolean | no | 触发挂钩时执行 SSL 验证 | - -请求示例: - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/hooks?url=https://gitlab.example.com/hook" -``` - -响应示例: - -``` -[ { "id":1, "url":"https://gitlab.example.com/hook", "created_at":"2016-10-31T12:32:15.192Z", "push_events":true, "tag_push_events":false, "merge_requests_events": true, "repository_update_events": true, "enable_ssl_verification":true } ] -``` - -## Test system hook[](#test-system-hook "Permalink") - -``` -GET /hooks/:id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 钩子的 ID | - -请求示例: - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/hooks/2" -``` - -响应示例: - -``` -{ "project_id" : 1, "owner_email" : "example@gitlabhq.com", "owner_name" : "Someone", "name" : "Ruby", "path" : "ruby", "event_name" : "project_create" } -``` - -## Delete system hook[](#delete-system-hook "Permalink") - -删除系统挂钩. - -``` -DELETE /hooks/:id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 钩子的 ID | - -请求示例: - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/hooks/2" -``` \ No newline at end of file diff --git a/docs/375.md b/docs/375.md deleted file mode 100644 index 16e6ccc..0000000 --- a/docs/375.md +++ /dev/null @@ -1,159 +0,0 @@ -# Tags API - -> 原文:[https://docs.gitlab.com/ee/api/tags.html](https://docs.gitlab.com/ee/api/tags.html) - -* [List project repository tags](#list-project-repository-tags) -* [Get a single repository tag](#get-a-single-repository-tag) -* [Create a new tag](#create-a-new-tag) -* [Delete a tag](#delete-a-tag) -* [Create a new release](#create-a-new-release) -* [Update a release](#update-a-release) - -# Tags API[](#tags-api "Permalink") - -## List project repository tags[](#list-project-repository-tags "Permalink") - -从项目中获取存储库标签的列表,按名称以相反的字母顺序排序. 如果可公开访问该存储库,则无需身份验证即可访问此端点. - -``` -GET /projects/:id/repository/tags -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `order_by` | string | no | 返回按`name`或`updated`字段排序的标签. 默认值已`updated` | -| `sort` | string | no | 返回按`asc`或`desc`顺序排序的标签. 默认为`desc` | -| `search` | string | no | 返回符合搜索条件的标签列表. 您可以使用`^term`和`term$`查找分别以`term`开头和结尾的标签. | - -在 GitLab 11.8 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/54401)了对`search`支持. - -``` -[ { "commit": { "id": "2695effb5807a22ff3d138d593fd856244e155e7", "short_id": "2695effb", "title": "Initial commit", "created_at": "2017-07-26T11:08:53.000+02:00", "parent_ids": [ "2a4b78934375d7f53875269ffd4f45fd83a84ebe" ], "message": "Initial commit", "author_name": "John Smith", "author_email": "john@example.com", "authored_date": "2012-05-28T04:42:42-07:00", "committer_name": "Jack Smith", "committer_email": "jack@example.com", "committed_date": "2012-05-28T04:42:42-07:00" }, "release": { "tag_name": "1.0.0", "description": "Amazing release. Wow" }, "name": "v1.0.0", "target": "2695effb5807a22ff3d138d593fd856244e155e7", "message": null, "protected": true } ] -``` - -## Get a single repository tag[](#get-a-single-repository-tag "Permalink") - -获取由其名称确定的特定存储库标签. 如果可公开访问该存储库,则无需身份验证即可访问此端点. - -``` -GET /projects/:id/repository/tags/:tag_name -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) | -| `tag_name` | string | yes | 标签名称 | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/repository/tags/v1.0.0" -``` - -示例响应: - -``` -{ "name": "v5.0.0", "message": null, "target": "60a8ff033665e1207714d6670fcd7b65304ec02f", "commit": { "id": "60a8ff033665e1207714d6670fcd7b65304ec02f", "short_id": "60a8ff03", "title": "Initial commit", "created_at": "2017-07-26T11:08:53.000+02:00", "parent_ids": [ "f61c062ff8bcbdb00e0a1b3317a91aed6ceee06b" ], "message": "v5.0.0\n", "author_name": "Arthur Verschaeve", "author_email": "contact@arthurverschaeve.be", "authored_date": "2015-02-01T21:56:31.000+01:00", "committer_name": "Arthur Verschaeve", "committer_email": "contact@arthurverschaeve.be", "committed_date": "2015-02-01T21:56:31.000+01:00" }, "release": null, "protected": false } -``` - -## Create a new tag[](#create-a-new-tag "Permalink") - -在存储库中创建一个新标签,该标签指向提供的参考. - -``` -POST /projects/:id/repository/tags -``` - -Parameters: - -* `id` (必填)-经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) -* `tag_name` (必需)-标签的名称 -* `ref` (必需)-使用提交 SHA,另一个标签名称或分支名称创建标签. -* `message` (可选)-创建带注释的标签. -* `release_description` (可选)-将发行说明添加到 Git 标签并将其存储在 GitLab 数据库中. - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/repository/tags?tag_name=test&ref=master" -``` - -响应示例: - -``` -{ "commit": { "id": "2695effb5807a22ff3d138d593fd856244e155e7", "short_id": "2695effb", "title": "Initial commit", "created_at": "2017-07-26T11:08:53.000+02:00", "parent_ids": [ "2a4b78934375d7f53875269ffd4f45fd83a84ebe" ], "message": "Initial commit", "author_name": "John Smith", "author_email": "john@example.com", "authored_date": "2012-05-28T04:42:42-07:00", "committer_name": "Jack Smith", "committer_email": "jack@example.com", "committed_date": "2012-05-28T04:42:42-07:00" }, "release": { "tag_name": "1.0.0", "description": "Amazing release. Wow" }, "name": "v1.0.0", "target": "2695effb5807a22ff3d138d593fd856244e155e7", "message": null, "protected": false } -``` - -创建轻量级标签时,该消息将为`null` ,否则将包含注释. - -在创建带注释的标签时,目标将包含标签对象 ID,否则在创建轻量级标签时将包含提交 ID. - -如果出现错误,则返回带有解释性错误消息的状态代码`405` . - -## Delete a tag[](#delete-a-tag "Permalink") - -删除具有给定名称的存储库的标记. - -``` -DELETE /projects/:id/repository/tags/:tag_name -``` - -Parameters: - -* `id` (必填)-经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) -* `tag_name` (必需)-标签的名称 - -## Create a new release[](#create-a-new-release "Permalink") - -将发行说明添加到现有的 Git 标签. 如果给定标签已经存在发行版,则返回状态码`409` . - -``` -POST /projects/:id/repository/tags/:tag_name/release -``` - -Parameters: - -* `id` (必填)-经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) -* `tag_name` (必需)-标签的名称 - -要求正文: - -* `description` (必需)-具有 Markdown 支持的发行说明 - -``` -{ "description": "Amazing release. Wow" } -``` - -Response: - -``` -{ "tag_name": "1.0.0", "description": "Amazing release. Wow" } -``` - -## Update a release[](#update-a-release "Permalink") - -更新给定发行版的发行说明. - -``` -PUT /projects/:id/repository/tags/:tag_name/release -``` - -Parameters: - -* `id` (必填)-经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) -* `tag_name` (必需)-标签的名称 - -要求正文: - -* `description` (必需)-具有 Markdown 支持的发行说明 - -``` -{ "description": "Amazing release. Wow" } -``` - -Response: - -``` -{ "tag_name": "1.0.0", "description": "Amazing release. Wow" } -``` \ No newline at end of file diff --git a/docs/376.md b/docs/376.md deleted file mode 100644 index 0254861..0000000 --- a/docs/376.md +++ /dev/null @@ -1,76 +0,0 @@ -# Todos API - -> 原文:[https://docs.gitlab.com/ee/api/todos.html](https://docs.gitlab.com/ee/api/todos.html) - -* [Get a list of todos](#get-a-list-of-todos) -* [Mark a todo as done](#mark-a-todo-as-done) -* [Mark all todos as done](#mark-all-todos-as-done) - -# Todos API[](#todos-api "Permalink") - -在 GitLab 8.10 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/3188) . - -## Get a list of todos[](#get-a-list-of-todos "Permalink") - -返回待办事项列表. 如果未应用任何过滤器,它将返回当前用户的所有待处理的待办事项. 不同的过滤器使用户可以精确地处理请求. - -``` -GET /todos -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `action` | string | no | 要过滤的动作. 可以`assigned` , `mentioned` , `build_failed` , `marked` , `approval_required` , `unmergeable`或`directly_addressed` `unmergeable` . | -| `author_id` | integer | no | 作者的 ID | -| `project_id` | integer | no | 项目 ID | -| `group_id` | integer | no | 组的 ID | -| `state` | string | no | 待办事项的状态. 可以`pending`或`done` | -| `type` | string | no | 待办事项的类型. 可以是`Issue`或`MergeRequest` | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/todos" -``` - -示例响应: - -``` -[ { "id": 102, "project": { "id": 2, "name": "Gitlab Ce", "name_with_namespace": "Gitlab Org / Gitlab Ce", "path": "gitlab-foss", "path_with_namespace": "gitlab-org/gitlab-foss" }, "author": { "name": "Administrator", "username": "root", "id": 1, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "https://gitlab.example.com/root" }, "action_name": "marked", "target_type": "MergeRequest", "target": { "id": 34, "iid": 7, "project_id": 2, "title": "Dolores in voluptatem tenetur praesentium omnis repellendus voluptatem quaerat.", "description": "Et ea et omnis illum cupiditate. Dolor aspernatur tenetur ducimus facilis est nihil. Quo esse cupiditate molestiae illo corrupti qui quidem dolor.", "state": "opened", "created_at": "2016-06-17T07:49:24.419Z", "updated_at": "2016-06-17T07:52:43.484Z", "target_branch": "tutorials_git_tricks", "source_branch": "DNSBL_docs", "upvotes": 0, "downvotes": 0, "author": { "name": "Maxie Medhurst", "username": "craig_rutherford", "id": 12, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/a0d477b3ea21970ce6ffcbb817b0b435?s=80&d=identicon", "web_url": "https://gitlab.example.com/craig_rutherford" }, "assignee": { "name": "Administrator", "username": "root", "id": 1, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "https://gitlab.example.com/root" }, "source_project_id": 2, "target_project_id": 2, "labels": [], "work_in_progress": false, "milestone": { "id": 32, "iid": 2, "project_id": 2, "title": "v1.0", "description": "Assumenda placeat ea voluptatem voluptate qui.", "state": "active", "created_at": "2016-06-17T07:47:34.163Z", "updated_at": "2016-06-17T07:47:34.163Z", "due_date": null }, "merge_when_pipeline_succeeds": false, "merge_status": "cannot_be_merged", "subscribed": true, "user_notes_count": 7 }, "target_url": "https://gitlab.example.com/gitlab-org/gitlab-foss/-/merge_requests/7", "body": "Dolores in voluptatem tenetur praesentium omnis repellendus voluptatem quaerat.", "state": "pending", "created_at": "2016-06-17T07:52:35.225Z", "updated_at": "2016-06-17T07:52:35.225Z" }, { "id": 98, "project": { "id": 2, "name": "Gitlab Ce", "name_with_namespace": "Gitlab Org / Gitlab Ce", "path": "gitlab-foss", "path_with_namespace": "gitlab-org/gitlab-foss" }, "author": { "name": "Maxie Medhurst", "username": "craig_rutherford", "id": 12, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/a0d477b3ea21970ce6ffcbb817b0b435?s=80&d=identicon", "web_url": "https://gitlab.example.com/craig_rutherford" }, "action_name": "assigned", "target_type": "MergeRequest", "target": { "id": 34, "iid": 7, "project_id": 2, "title": "Dolores in voluptatem tenetur praesentium omnis repellendus voluptatem quaerat.", "description": "Et ea et omnis illum cupiditate. Dolor aspernatur tenetur ducimus facilis est nihil. Quo esse cupiditate molestiae illo corrupti qui quidem dolor.", "state": "opened", "created_at": "2016-06-17T07:49:24.419Z", "updated_at": "2016-06-17T07:52:43.484Z", "target_branch": "tutorials_git_tricks", "source_branch": "DNSBL_docs", "upvotes": 0, "downvotes": 0, "author": { "name": "Maxie Medhurst", "username": "craig_rutherford", "id": 12, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/a0d477b3ea21970ce6ffcbb817b0b435?s=80&d=identicon", "web_url": "https://gitlab.example.com/craig_rutherford" }, "assignee": { "name": "Administrator", "username": "root", "id": 1, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "https://gitlab.example.com/root" }, "source_project_id": 2, "target_project_id": 2, "labels": [], "work_in_progress": false, "milestone": { "id": 32, "iid": 2, "project_id": 2, "title": "v1.0", "description": "Assumenda placeat ea voluptatem voluptate qui.", "state": "active", "created_at": "2016-06-17T07:47:34.163Z", "updated_at": "2016-06-17T07:47:34.163Z", "due_date": null }, "merge_when_pipeline_succeeds": false, "merge_status": "cannot_be_merged", "subscribed": true, "user_notes_count": 7 }, "target_url": "https://gitlab.example.com/gitlab-org/gitlab-foss/-/merge_requests/7", "body": "Dolores in voluptatem tenetur praesentium omnis repellendus voluptatem quaerat.", "state": "pending", "created_at": "2016-06-17T07:49:24.624Z", "updated_at": "2016-06-17T07:49:24.624Z" } ] -``` - -## Mark a todo as done[](#mark-a-todo-as-done "Permalink") - -将其 ID 给当前用户的单个待处理待办事项标记为已完成. 标记为已完成的待办事项在响应中返回. - -``` -POST /todos/:id/mark_as_done -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 待办事项编号 | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/todos/130/mark_as_done" -``` - -示例响应: - -``` -{ "id": 102, "project": { "id": 2, "name": "Gitlab Ce", "name_with_namespace": "Gitlab Org / Gitlab Ce", "path": "gitlab-foss", "path_with_namespace": "gitlab-org/gitlab-foss" }, "author": { "name": "Administrator", "username": "root", "id": 1, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "https://gitlab.example.com/root" }, "action_name": "marked", "target_type": "MergeRequest", "target": { "id": 34, "iid": 7, "project_id": 2, "title": "Dolores in voluptatem tenetur praesentium omnis repellendus voluptatem quaerat.", "description": "Et ea et omnis illum cupiditate. Dolor aspernatur tenetur ducimus facilis est nihil. Quo esse cupiditate molestiae illo corrupti qui quidem dolor.", "state": "opened", "created_at": "2016-06-17T07:49:24.419Z", "updated_at": "2016-06-17T07:52:43.484Z", "target_branch": "tutorials_git_tricks", "source_branch": "DNSBL_docs", "upvotes": 0, "downvotes": 0, "author": { "name": "Maxie Medhurst", "username": "craig_rutherford", "id": 12, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/a0d477b3ea21970ce6ffcbb817b0b435?s=80&d=identicon", "web_url": "https://gitlab.example.com/craig_rutherford" }, "assignee": { "name": "Administrator", "username": "root", "id": 1, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "https://gitlab.example.com/root" }, "source_project_id": 2, "target_project_id": 2, "labels": [], "work_in_progress": false, "milestone": { "id": 32, "iid": 2, "project_id": 2, "title": "v1.0", "description": "Assumenda placeat ea voluptatem voluptate qui.", "state": "active", "created_at": "2016-06-17T07:47:34.163Z", "updated_at": "2016-06-17T07:47:34.163Z", "due_date": null }, "merge_when_pipeline_succeeds": false, "merge_status": "cannot_be_merged", "subscribed": true, "user_notes_count": 7 }, "target_url": "https://gitlab.example.com/gitlab-org/gitlab-foss/-/merge_requests/7", "body": "Dolores in voluptatem tenetur praesentium omnis repellendus voluptatem quaerat.", "state": "done", "created_at": "2016-06-17T07:52:35.225Z", "updated_at": "2016-06-17T07:52:35.225Z" } -``` - -## Mark all todos as done[](#mark-all-todos-as-done "Permalink") - -将当前用户的所有待处理待办事项标记为已完成. 它返回带有空响应的 HTTP 状态代码`204` . - -``` -POST /todos/mark_as_done -``` - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/todos/mark_as_done" -``` \ No newline at end of file diff --git a/docs/377.md b/docs/377.md deleted file mode 100644 index d1a4af3..0000000 --- a/docs/377.md +++ /dev/null @@ -1,1095 +0,0 @@ -# Users API - -> 原文:[https://docs.gitlab.com/ee/api/users.html](https://docs.gitlab.com/ee/api/users.html) - -* [List users](#list-users) - * [For normal users](#for-normal-users) - * [For admins](#for-admins) -* [Single user](#single-user) - * [For user](#for-user) - * [For admin](#for-admin) -* [User creation](#user-creation) -* [User modification](#user-modification) -* [Delete authentication identity from user](#delete-authentication-identity-from-user) -* [User deletion](#user-deletion) -* [List current user (for normal users)](#list-current-user-for-normal-users) -* [List current user (for admins)](#list-current-user-for-admins) -* [User status](#user-status) -* [Get the status of a user](#get-the-status-of-a-user) -* [Set user status](#set-user-status) -* [User counts](#user-counts) -* [List user projects](#list-user-projects) -* [List SSH keys](#list-ssh-keys) -* [List SSH keys for user](#list-ssh-keys-for-user) -* [Single SSH key](#single-ssh-key) -* [Add SSH key](#add-ssh-key) -* [Add SSH key for user](#add-ssh-key-for-user) -* [Delete SSH key for current user](#delete-ssh-key-for-current-user) -* [Delete SSH key for given user](#delete-ssh-key-for-given-user) -* [List all GPG keys](#list-all-gpg-keys) -* [Get a specific GPG key](#get-a-specific-gpg-key) -* [Add a GPG key](#add-a-gpg-key) -* [Delete a GPG key](#delete-a-gpg-key) -* [List all GPG keys for given user](#list-all-gpg-keys-for-given-user) -* [Get a specific GPG key for a given user](#get-a-specific-gpg-key-for-a-given-user) -* [Add a GPG key for a given user](#add-a-gpg-key-for-a-given-user) -* [Delete a GPG key for a given user](#delete-a-gpg-key-for-a-given-user) -* [List emails](#list-emails) -* [List emails for user](#list-emails-for-user) -* [Single email](#single-email) -* [Add email](#add-email) -* [Add email for user](#add-email-for-user) -* [Delete email for current user](#delete-email-for-current-user) -* [Delete email for given user](#delete-email-for-given-user) -* [Block user](#block-user) -* [Unblock user](#unblock-user) -* [Deactivate user](#deactivate-user) -* [Activate user](#activate-user) - * [Get user contribution events](#get-user-contribution-events) -* [Get all impersonation tokens of a user](#get-all-impersonation-tokens-of-a-user) -* [Get an impersonation token of a user](#get-an-impersonation-token-of-a-user) -* [Create an impersonation token](#create-an-impersonation-token) -* [Revoke an impersonation token](#revoke-an-impersonation-token) - * [Get user activities (admin only)](#get-user-activities-admin-only) -* [User memberships (admin only)](#user-memberships-admin-only) - -# Users API[](#users-api "Permalink") - -## List users[](#list-users "Permalink") - -活动用户=帐户总数-被阻止的用户 - -获取用户列表. - -此函数使用分页参数`page`和`per_page`来限制用户列表. - -### For normal users[](#for-normal-users "Permalink") - -``` -GET /users -``` - -``` -[ { "id": 1, "username": "john_smith", "name": "John Smith", "state": "active", "avatar_url": "http://localhost:3000/uploads/user/avatar/1/cd8.jpeg", "web_url": "http://localhost:3000/john_smith" }, { "id": 2, "username": "jack_smith", "name": "Jack Smith", "state": "blocked", "avatar_url": "http://gravatar.com/../e32131cd8.jpeg", "web_url": "http://localhost:3000/jack_smith" } ] -``` - -您还可以使用`?search=`通过名称或主要电子邮件搜索用户. 例如. `/users?search=John` . - -另外,您可以按用户名查找用户: - -``` -GET /users?username=:username -``` - -例如: - -``` -GET /users?username=jack_smith -``` - -另外,您可以根据状态过滤用户,例如. `blocked` , `active`此选项仅用于过滤被`blocked`或`active`用户. 它不支持`active=false`或`blocked=false` . - -``` -GET /users?active=true -``` - -``` -GET /users?blocked=true -``` - -**注意:**用户名搜索不区分大小写. - -### For admins[](#for-admins "Permalink") - -``` -GET /users -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `order_by` | string | no | 返回按`id` , `name` , `username` , `created_at`或`updated_at`字段排序的`username` . 默认为`id` | -| `sort` | string | no | 返回用户按`asc`或`desc`排列. 默认为`desc` | -| `two_factor` | string | no | 通过两因素身份验证过滤用户. `enabled`或`disabled`过滤器值. 默认情况下,它返回所有用户 | -| `without_projects` | boolean | no | 过滤没有项目的用户. 默认为`false` | - -``` -[ { "id": 1, "username": "john_smith", "email": "john@example.com", "name": "John Smith", "state": "active", "avatar_url": "http://localhost:3000/uploads/user/avatar/1/index.jpg", "web_url": "http://localhost:3000/john_smith", "created_at": "2012-05-23T08:00:58Z", "is_admin": false, "bio": null, "bio_html": null, "location": null, "skype": "", "linkedin": "", "twitter": "", "website_url": "", "organization": "", "job_title": "", "last_sign_in_at": "2012-06-01T11:41:01Z", "confirmed_at": "2012-05-23T09:05:22Z", "theme_id": 1, "last_activity_on": "2012-05-23", "color_scheme_id": 2, "projects_limit": 100, "current_sign_in_at": "2012-06-02T06:36:55Z", "note": "DMCA Request: 2018-11-05 | DMCA Violation | Abuse | https://gitlab.zendesk.com/agent/tickets/123", "identities": [ {"provider": "github", "extern_uid": "2435223452345"}, {"provider": "bitbucket", "extern_uid": "john.smith"}, {"provider": "google_oauth2", "extern_uid": "8776128412476123468721346"} ], "can_create_group": true, "can_create_project": true, "two_factor_enabled": true, "external": false, "private_profile": false, "current_sign_in_ip": "196.165.1.102", "last_sign_in_ip": "172.127.2.22" }, { "id": 2, "username": "jack_smith", "email": "jack@example.com", "name": "Jack Smith", "state": "blocked", "avatar_url": "http://localhost:3000/uploads/user/avatar/2/index.jpg", "web_url": "http://localhost:3000/jack_smith", "created_at": "2012-05-23T08:01:01Z", "is_admin": false, "bio": null, "bio_html": null, "location": null, "skype": "", "linkedin": "", "twitter": "", "website_url": "", "organization": "", "job_title": "", "last_sign_in_at": null, "confirmed_at": "2012-05-30T16:53:06.148Z", "theme_id": 1, "last_activity_on": "2012-05-23", "color_scheme_id": 3, "projects_limit": 100, "current_sign_in_at": "2014-03-19T17:54:13Z", "identities": [], "can_create_group": true, "can_create_project": true, "two_factor_enabled": true, "external": false, "private_profile": false, "current_sign_in_ip": "10.165.1.102", "last_sign_in_ip": "172.127.2.22" } ] -``` - -使用 GitLab [Starter,Bronze 或更高版本的用户](https://about.gitlab.com/pricing/)还将看到`shared_runners_minutes_limit`和`extra_shared_runners_minutes_limit`参数. - -``` -[ { "id": 1, ... "shared_runners_minutes_limit": 133, "extra_shared_runners_minutes_limit": 133, ... } ] -``` - -使用 GitLab [Silver 或更高版本的](https://about.gitlab.com/pricing/)用户还将看到`group_saml`提供程序选项: - -``` -[ { "id": 1, ... "identities": [ {"provider": "github", "extern_uid": "2435223452345"}, {"provider": "bitbucket", "extern_uid": "john.smith"}, {"provider": "google_oauth2", "extern_uid": "8776128412476123468721346"}, {"provider": "group_saml", "extern_uid": "123789", "saml_provider_id": 10} ], ... } ] -``` - -您可以通过外部 UID 和提供程序查找用户: - -``` -GET /users?extern_uid=:extern_uid&provider=:provider -``` - -例如: - -``` -GET /users?extern_uid=1234567&provider=github -``` - -您可以使用`/users?external=true`搜索外部`/users?external=true` - -您可以使用以下创建日期时间范围来搜索用户: - -``` -GET /users?created_before=2001-01-02T00:00:00.060Z&created_after=1999-01-02T00:00:00.060 -``` - -您可以使用`/users?without_projects=true`搜索没有项目的`/users?without_projects=true` - -您可以使用以下[自定义属性](custom_attributes.html)进行过滤: - -``` -GET /users?custom_attributes[key]=value&custom_attributes[other_key]=other_value -``` - -您可以通过以下方式在响应中包括用户的[自定义属性](custom_attributes.html) : - -``` -GET /users?with_custom_attributes=true -``` - -## Single user[](#single-user "Permalink") - -获得一个用户. - -### For user[](#for-user "Permalink") - -``` -GET /users/:id -``` - -Parameters: - -* `id` (必填)-用户的 ID - -``` -{ "id": 1, "username": "john_smith", "name": "John Smith", "state": "active", "avatar_url": "http://localhost:3000/uploads/user/avatar/1/cd8.jpeg", "web_url": "http://localhost:3000/john_smith", "created_at": "2012-05-23T08:00:58Z", "bio": null, "bio_html": null, "location": null, "public_email": "john@example.com", "skype": "", "linkedin": "", "twitter": "", "website_url": "", "organization": "", "job_title": "Operations Specialist" } -``` - -### For admin[](#for-admin "Permalink") - -``` -GET /users/:id -``` - -Parameters: - -* `id` (必填)-用户的 ID - -响应示例: - -``` -{ "id": 1, "username": "john_smith", "email": "john@example.com", "name": "John Smith", "state": "active", "avatar_url": "http://localhost:3000/uploads/user/avatar/1/index.jpg", "web_url": "http://localhost:3000/john_smith", "created_at": "2012-05-23T08:00:58Z", "is_admin": false, "bio": null, "bio_html": null, "location": null, "public_email": "john@example.com", "skype": "", "linkedin": "", "twitter": "", "website_url": "", "organization": "", "job_title": "Operations Specialist", "last_sign_in_at": "2012-06-01T11:41:01Z", "confirmed_at": "2012-05-23T09:05:22Z", "theme_id": 1, "last_activity_on": "2012-05-23", "color_scheme_id": 2, "projects_limit": 100, "current_sign_in_at": "2012-06-02T06:36:55Z", "note": "DMCA Request: 2018-11-05 | DMCA Violation | Abuse | https://gitlab.zendesk.com/agent/tickets/123", "identities": [ {"provider": "github", "extern_uid": "2435223452345"}, {"provider": "bitbucket", "extern_uid": "john.smith"}, {"provider": "google_oauth2", "extern_uid": "8776128412476123468721346"} ], "can_create_group": true, "can_create_project": true, "two_factor_enabled": true, "external": false, "private_profile": false, "current_sign_in_ip": "196.165.1.102", "last_sign_in_ip": "172.127.2.22", "plan": "gold", "trial": true } -``` - -**注意:** `plan`和`trial`参数仅在 GitLab 企业版上可用. - -使用 GitLab [Starter,Bronze 或更高版本的用户](https://about.gitlab.com/pricing/)还将看到`shared_runners_minutes_limit`和`extra_shared_runners_minutes_limit`参数. - -``` -{ "id": 1, "username": "john_smith", "shared_runners_minutes_limit": 133, "extra_shared_runners_minutes_limit": 133, ... } -``` - -GitLab.com [Silver 或更高版本](https://about.gitlab.com/pricing/)上的用户还将看到`group_saml`选项: - -``` -{ "id": 1, "username": "john_smith", "shared_runners_minutes_limit": 133, "extra_shared_runners_minutes_limit": 133, "identities": [ {"provider": "github", "extern_uid": "2435223452345"}, {"provider": "bitbucket", "extern_uid": "john.smith"}, {"provider": "google_oauth2", "extern_uid": "8776128412476123468721346"}, {"provider": "group_saml", "extern_uid": "123789", "saml_provider_id": 10} ], ... } -``` - -您可以通过以下方式在响应中包括用户的[自定义属性](custom_attributes.html) : - -``` -GET /users/:id?with_custom_attributes=true -``` - -## User creation[](#user-creation "Permalink") - -Creates a new user. Note only administrators can create new users. Either `password`, `reset_password`, or `force_random_password` must be specified. If `reset_password` and `force_random_password` are both `false`, then `password` is required. - -请注意, `force_random_password`和`reset_password`优先级高于`password` . 此外, `reset_password`和`force_random_password`可以一起使用. - -**注意:**从[GitLab 12.1 开始](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/29888/) , `private_profile`将默认为`false` . - -``` -POST /users -``` - -Parameters: - -| Attribute | Required | Description | -| --- | --- | --- | -| `admin` | No | 用户是管理员-正确或错误(默认) | -| `avatar` | No | 用户头像的图像文件 | -| `bio` | No | 用户的传记 | -| `can_create_group` | No | 用户可以创建组-正确或错误 | -| `color_scheme_id` | No | 用户针对文件查看器的配色方案(有关更多信息,请参见[用户首选项文档](../user/profile/preferences.html#syntax-highlighting-theme) ) | -| `email` | Yes | Email | -| `extern_uid` | No | 外部 UID | -| `external` | No | 将用户标记为外部用户-true 或 false(默认) | -| `extra_shared_runners_minutes_limit` | No | 该用户的额外管道分钟配额(在计划中包括的分钟之外购买) | -| `force_random_password` | No | 将用户密码设置为随机值-正确或错误(默认) | -| `group_id_for_saml` | No | 已配置 SAML 的组的 ID | -| `linkedin` | No | LinkedIn | -| `location` | No | 用户位置 | -| `name` | Yes | Name | -| `note` | No | 该用户的管理说明 | -| `organization` | No | 机构名称 | -| `password` | No | Password | -| `private_profile` | No | 用户的个人资料是私有的-true,false(默认)或 null(将转换为 false) | -| `projects_limit` | No | 用户可以创建的项目数 | -| `provider` | No | 外部提供商名称 | -| `public_email` | No | 用户的公开电子邮件 | -| `reset_password` | No | 发送用户密码重置链接-正确或错误(默认) | -| `shared_runners_minutes_limit` | No | 该用户的管道分钟配额(包括在计划中). 可以为`nil` (默认值;继承系统默认值), `0` (无限制)或`> 0` | -| `skip_confirmation` | No | 跳过确认-正确或错误(默认) | -| `skype` | No | Skype 帐号 | -| `theme_id` | No | 用户的 GitLab 主题(有关更多信息,请参见[用户首选项文档](../user/profile/preferences.html#navigation-theme) ) | -| `twitter` | No | Twitter 账号 | -| `username` | Yes | Username | -| `website_url` | No | 网址 | - -## User modification[](#user-modification "Permalink") - -修改现有用户. 只有管​​理员可以更改用户的属性. - -``` -PUT /users/:id -``` - -Parameters: - -| Attribute | Required | Description | -| --- | --- | --- | -| `admin` | No | 用户是管理员-正确或错误(默认) | -| `avatar` | No | 用户头像的图像文件 | -| `bio` | No | 用户的传记 | -| `can_create_group` | No | 用户可以创建组-正确或错误 | -| `color_scheme_id` | No | 用户针对文件查看器的配色方案(有关更多信息,请参见[用户首选项文档](../user/profile/preferences.html#syntax-highlighting-theme) ) | -| `email` | No | Email | -| `extern_uid` | No | 外部 UID | -| `external` | No | 将用户标记为外部用户-true 或 false(默认) | -| `extra_shared_runners_minutes_limit` | No | 该用户的额外管道分钟配额(在计划中包括的分钟之外购买) | -| `group_id_for_saml` | No | 已配置 SAML 的组的 ID | -| `id` | Yes | 用户的 ID | -| `linkedin` | No | LinkedIn | -| `location` | No | 用户位置 | -| `name` | No | Name | -| `note` | No | 该用户的管理说明 | -| `organization` | No | 机构名称 | -| `password` | No | Password | -| `private_profile` | No | 用户的个人资料是私有的-true,false(默认)或 null(将转换为 false) | -| `projects_limit` | No | 限制每个用户可以创建的项目 | -| `provider` | No | 外部提供商名称 | -| `public_email` | No | 用户的公开电子邮件 | -| `shared_runners_minutes_limit` | No | 该用户的管道分钟配额(包括在计划中). 可以为`nil` (默认值;继承系统默认值), `0` (无限制)或`> 0` | -| `skip_reconfirmation` | No | 跳过确认-正确或错误(默认) | -| `skype` | No | Skype 帐号 | -| `theme_id` | No | 用户的 GitLab 主题(有关更多信息,请参见[用户首选项文档](../user/profile/preferences.html#navigation-theme) ) | -| `twitter` | No | Twitter 账号 | -| `username` | No | Username | -| `website_url` | No | 网址 | - -密码更新时,用户将被迫在下次登录时进行更改. 请注意,此方法目前仅返回`404`错误,即使在`409` (冲突)更为合适的情况下也是如此. 例如,将电子邮件地址重命名为某个现有地址时. - -## Delete authentication identity from user[](#delete-authentication-identity-from-user "Permalink") - -使用与该身份关联的提供者名称删除用户的身份验证身份. 仅适用于管理员. - -``` -DELETE /users/:id/identities/:provider -``` - -Parameters: - -* `id` (必填)-用户的 ID -* `provider` (必填)-外部提供程序名称 - -## User deletion[](#user-deletion "Permalink") - -删除用户. 仅适用于管理员. 如果操作成功,则返回`204 No Content`状态代码;如果找不到资源,则返回`404`如果无法软删除用户,则返回`409` . - -``` -DELETE /users/:id -``` - -Parameters: - -* `id` (必填)-用户的 ID -* `hard_delete` (可选)-如果为 true,则通常会[移至](../user/profile/account/delete_account.html#associated-records) `hard_delete` [用户的](../user/profile/account/delete_account.html#associated-records)贡献以及该用户`hard_delete`组将被删除. - -## List current user (for normal users)[](#list-current-user-for-normal-users "Permalink") - -获取当前经过身份验证的用户. - -``` -GET /user -``` - -``` -{ "id": 1, "username": "john_smith", "email": "john@example.com", "name": "John Smith", "state": "active", "avatar_url": "http://localhost:3000/uploads/user/avatar/1/index.jpg", "web_url": "http://localhost:3000/john_smith", "created_at": "2012-05-23T08:00:58Z", "bio": null, "bio_html": null, "location": null, "public_email": "john@example.com", "skype": "", "linkedin": "", "twitter": "", "website_url": "", "organization": "", "last_sign_in_at": "2012-06-01T11:41:01Z", "confirmed_at": "2012-05-23T09:05:22Z", "theme_id": 1, "last_activity_on": "2012-05-23", "color_scheme_id": 2, "projects_limit": 100, "current_sign_in_at": "2012-06-02T06:36:55Z", "identities": [ {"provider": "github", "extern_uid": "2435223452345"}, {"provider": "bitbucket", "extern_uid": "john_smith"}, {"provider": "google_oauth2", "extern_uid": "8776128412476123468721346"} ], "can_create_group": true, "can_create_project": true, "two_factor_enabled": true, "external": false, "private_profile": false } -``` - -## List current user (for admins)[](#list-current-user-for-admins "Permalink") - -Parameters: - -* `sudo` (可选)-在其位置进行呼叫的用户的 ID - -``` -GET /user -``` - -``` -{ "id": 1, "username": "john_smith", "email": "john@example.com", "name": "John Smith", "state": "active", "avatar_url": "http://localhost:3000/uploads/user/avatar/1/index.jpg", "web_url": "http://localhost:3000/john_smith", "created_at": "2012-05-23T08:00:58Z", "is_admin": false, "bio": null, "bio_html": null, "location": null, "public_email": "john@example.com", "skype": "", "linkedin": "", "twitter": "", "website_url": "", "organization": "", "job_title": "", "last_sign_in_at": "2012-06-01T11:41:01Z", "confirmed_at": "2012-05-23T09:05:22Z", "theme_id": 1, "last_activity_on": "2012-05-23", "color_scheme_id": 2, "projects_limit": 100, "current_sign_in_at": "2012-06-02T06:36:55Z", "identities": [ {"provider": "github", "extern_uid": "2435223452345"}, {"provider": "bitbucket", "extern_uid": "john_smith"}, {"provider": "google_oauth2", "extern_uid": "8776128412476123468721346"} ], "can_create_group": true, "can_create_project": true, "two_factor_enabled": true, "external": false, "private_profile": false, "current_sign_in_ip": "196.165.1.102", "last_sign_in_ip": "172.127.2.22" } -``` - -## User status[](#user-status "Permalink") - -获取当前登录用户的状态. - -``` -GET /user/status -``` - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/user/status" -``` - -响应示例: - -``` -{ "emoji":"coffee", "message":"I crave coffee :coffee:", "message_html": "I crave coffee " } -``` - -## Get the status of a user[](#get-the-status-of-a-user "Permalink") - -获取用户的状态. - -``` -GET /users/:id_or_username/status -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id_or_username` | string | yes | 用户的 ID 或用户名,以获取状态 | - -``` -curl "https://gitlab.example.com/users/janedoe/status" -``` - -响应示例: - -``` -{ "emoji":"coffee", "message":"I crave coffee :coffee:", "message_html": "I crave coffee " } -``` - -## Set user status[](#set-user-status "Permalink") - -设置当前用户的状态. - -``` -PUT /user/status -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `emoji` | string | no | 用作状态的表情符号名称. 如果省略,则使用`speech_balloon` . 表情符号名称可以是[Gemojione 索引中](https://github.com/bonusly/gemojione/blob/master/config/index.json)指定的名称之一. | -| `message` | string | no | 设置为状态的消息. 它还可以包含表情符号代码. | - -当参数`emoji`和`message`都为空时,状态将被清除. - -``` -curl --request PUT --header "PRIVATE-TOKEN: " --data "emoji=coffee" --data "message=I crave coffee" "https://gitlab.example.com/api/v4/user/status" -``` - -回应范例 - -``` -{ "emoji":"coffee", "message":"I crave coffee", "message_html": "I crave coffee" } -``` - -## User counts[](#user-counts "Permalink") - -获取当前登录用户的计数(与右上角菜单相同). - -| Attribute | Type | Description | -| --- | --- | --- | -| `merge_requests` | number | 合并活动的请求并分配给当前用户. | - -``` -GET /user_counts -``` - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/user_counts" -``` - -响应示例: - -``` -{ "merge_requests": 4 } -``` - -## List user projects[](#list-user-projects "Permalink") - -请参考[用户项目列表](projects.html#list-user-projects) . - -## List SSH keys[](#list-ssh-keys "Permalink") - -获取当前经过身份验证的用户的 SSH 密钥的列表. - -``` -GET /user/keys -``` - -``` -[ { "id": 1, "title": "Public key", "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=", "created_at": "2014-08-01T14:47:39.080Z" }, { "id": 3, "title": "Another Public key", "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=", "created_at": "2014-08-01T14:47:39.080Z" } ] -``` - -Parameters: - -* **none** - -## List SSH keys for user[](#list-ssh-keys-for-user "Permalink") - -获取指定用户的 SSH 密钥的列表. - -``` -GET /users/:id_or_username/keys -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id_or_username` | string | yes | 要为其获取 SSH 密钥的用户的 ID 或用户名. | - -## Single SSH key[](#single-ssh-key "Permalink") - -获取一个密钥. - -``` -GET /user/keys/:key_id -``` - -Parameters: - -* `key_id` (必填) `key_id`密钥的 ID - -``` -{ "id": 1, "title": "Public key", "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=", "created_at": "2014-08-01T14:47:39.080Z" } -``` - -## Add SSH key[](#add-ssh-key "Permalink") - -创建当前经过身份验证的用户拥有的新密钥. - -``` -POST /user/keys -``` - -Parameters: - -* `title` (必填)-新的 SSH 密钥的标题 -* `key` (必填)-新的 SSH 密钥 -* `expires_at` (可选)-ISO 8601 格式的 SSH 密钥的到期日期( `YYYY-MM-DDTHH:MM:SSZ` ) - -``` -{ "title": "ABC", "key": "ssh-dss AAAAB3NzaC1kc3MAAACBAMLrhYgI3atfrSD6KDas1b/3n6R/HP+bLaHHX6oh+L1vg31mdUqK0Ac/NjZoQunavoyzqdPYhFz9zzOezCrZKjuJDS3NRK9rspvjgM0xYR4d47oNZbdZbwkI4cTv/gcMlquRy0OvpfIvJtjtaJWMwTLtM5VhRusRuUlpH99UUVeXAAAAFQCVyX+92hBEjInEKL0v13c/egDCTQAAAIEAvFdWGq0ccOPbw4f/F8LpZqvWDydAcpXHV3thwb7WkFfppvm4SZte0zds1FJ+Hr8Xzzc5zMHe6J4Nlay/rP4ewmIW7iFKNBEYb/yWa+ceLrs+TfR672TaAgO6o7iSRofEq5YLdwgrwkMmIawa21FrZ2D9SPao/IwvENzk/xcHu7YAAACAQFXQH6HQnxOrw4dqf0NqeKy1tfIPxYYUZhPJfo9O0AmBW2S36pD2l14kS89fvz6Y1g8gN/FwFnRncMzlLY/hX70FSc/3hKBSbH6C6j8hwlgFKfizav21eS358JJz93leOakJZnGb8XlWvz1UJbwCsnR2VEY8Dz90uIk1l/UqHkA= loic@call", "expires_at": "2016-01-21T00:00:00.000Z" } -``` - -将返回状态为`201 Created`成功的已创建密钥. 如果发生错误,则会返回`400 Bad Request` ,并附有一条解释该错误的消息: - -``` -{ "message": { "fingerprint": [ "has already been taken" ], "key": [ "has already been taken" ] } } -``` - -## Add SSH key for user[](#add-ssh-key-for-user "Permalink") - -创建指定用户拥有的新密钥. 仅适用于管理员 - -``` -POST /users/:id/keys -``` - -Parameters: - -* `id` (必填)-指定用户的 ID -* `title` (必填)-新的 SSH 密钥的标题 -* `key` (必填)-新的 SSH 密钥 -* `expires_at` (可选)-ISO 8601 格式的 SSH 密钥的到期日期( `YYYY-MM-DDTHH:MM:SSZ` ) - -**注意:**这还会添加一个审核事件,如[审核实例事件中所述](../administration/audit_events.html#instance-events-premium-only) . - -## Delete SSH key for current user[](#delete-ssh-key-for-current-user "Permalink") - -删除当前经过身份验证的用户拥有的密钥. 如果操作成功,则返回`204 No Content`状态代码;如果找不到资源,则返回`404` . - -``` -DELETE /user/keys/:key_id -``` - -Parameters: - -* `key_id` (必填) `key_id`密钥 ID - -## Delete SSH key for given user[](#delete-ssh-key-for-given-user "Permalink") - -删除指定用户拥有的密钥. 仅适用于管理员. - -``` -DELETE /users/:id/keys/:key_id -``` - -Parameters: - -* `id` (必填)-指定用户的 ID -* `key_id` (必填) `key_id`密钥 ID - -## List all GPG keys[](#list-all-gpg-keys "Permalink") - -获取当前已验证用户的 GPG 密钥的列表. - -``` -GET /user/gpg_keys -``` - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/user/gpg_keys" -``` - -响应示例: - -``` -[ { "id": 1, "key": "-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nxsBNBFVjnlIBCACibzXOLCiZiL2oyzYUaTOCkYnSUhymg3pdbfKtd4mpBa58xKBj\r\nt1pTHVpw3Sk03wmzhM/Ndlt1AV2YhLv++83WKr+gAHFYFiCV/tnY8bx3HqvVoy8O\r\nCfxWhw4QZK7+oYzVmJj8ZJm3ZjOC4pzuegNWlNLCUdZDx9OKlHVXLCX1iUbjdYWa\r\nqKV6tdV8hZolkbyjedQgrpvoWyeSHHpwHF7yk4gNJWMMI5rpcssL7i6mMXb/sDzO\r\nVaAtU5wiVducsOa01InRFf7QSTxoAm6Xy0PGv/k48M6xCALa9nY+BzlOv47jUT57\r\nvilf4Szy9dKD0v9S0mQ+IHB+gNukWrnwtXx5ABEBAAHNFm5hbWUgKGNvbW1lbnQp\r\nIDxlbUBpbD7CwHUEEwECACkFAlVjnlIJEINgJNgv009/AhsDAhkBBgsJCAcDAgYV\r\nCAIJCgsEFgIDAQAAxqMIAFBHuBA8P1v8DtHonIK8Lx2qU23t8Mh68HBIkSjk2H7/\r\noO2cDWCw50jZ9D91PXOOyMPvBWV2IE3tARzCvnNGtzEFRtpIEtZ0cuctxeIF1id5\r\ncrfzdMDsmZyRHAOoZ9VtuD6mzj0ybQWMACb7eIHjZDCee3Slh3TVrLy06YRdq2I4\r\nbjMOPePtK5xnIpHGpAXkB3IONxyITpSLKsA4hCeP7gVvm7r7TuQg1ygiUBlWbBYn\r\niE5ROzqZjG1s7dQNZK/riiU2umGqGuwAb2IPvNiyuGR3cIgRE4llXH/rLuUlspAp\r\no4nlxaz65VucmNbN1aMbDXLJVSqR1DuE00vEsL1AItI=\r\n=XQoy\r\n-----END PGP PUBLIC KEY BLOCK-----", "created_at": "2017-09-05T09:17:46.264Z" } ] -``` - -## Get a specific GPG key[](#get-a-specific-gpg-key "Permalink") - -获取当前已认证用户的特定 GPG 密钥. - -``` -GET /user/gpg_keys/:key_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `key_id` | integer | yes | GPG 密钥的 ID | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/user/gpg_keys/1" -``` - -响应示例: - -``` - { "id": 1, "key": "-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nxsBNBFVjnlIBCACibzXOLCiZiL2oyzYUaTOCkYnSUhymg3pdbfKtd4mpBa58xKBj\r\nt1pTHVpw3Sk03wmzhM/Ndlt1AV2YhLv++83WKr+gAHFYFiCV/tnY8bx3HqvVoy8O\r\nCfxWhw4QZK7+oYzVmJj8ZJm3ZjOC4pzuegNWlNLCUdZDx9OKlHVXLCX1iUbjdYWa\r\nqKV6tdV8hZolkbyjedQgrpvoWyeSHHpwHF7yk4gNJWMMI5rpcssL7i6mMXb/sDzO\r\nVaAtU5wiVducsOa01InRFf7QSTxoAm6Xy0PGv/k48M6xCALa9nY+BzlOv47jUT57\r\nvilf4Szy9dKD0v9S0mQ+IHB+gNukWrnwtXx5ABEBAAHNFm5hbWUgKGNvbW1lbnQp\r\nIDxlbUBpbD7CwHUEEwECACkFAlVjnlIJEINgJNgv009/AhsDAhkBBgsJCAcDAgYV\r\nCAIJCgsEFgIDAQAAxqMIAFBHuBA8P1v8DtHonIK8Lx2qU23t8Mh68HBIkSjk2H7/\r\noO2cDWCw50jZ9D91PXOOyMPvBWV2IE3tARzCvnNGtzEFRtpIEtZ0cuctxeIF1id5\r\ncrfzdMDsmZyRHAOoZ9VtuD6mzj0ybQWMACb7eIHjZDCee3Slh3TVrLy06YRdq2I4\r\nbjMOPePtK5xnIpHGpAXkB3IONxyITpSLKsA4hCeP7gVvm7r7TuQg1ygiUBlWbBYn\r\niE5ROzqZjG1s7dQNZK/riiU2umGqGuwAb2IPvNiyuGR3cIgRE4llXH/rLuUlspAp\r\no4nlxaz65VucmNbN1aMbDXLJVSqR1DuE00vEsL1AItI=\r\n=XQoy\r\n-----END PGP PUBLIC KEY BLOCK-----", "created_at": "2017-09-05T09:17:46.264Z" } -``` - -## Add a GPG key[](#add-a-gpg-key "Permalink") - -创建由当前身份验证用户拥有的新 GPG 密钥. - -``` -POST /user/gpg_keys -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| key | string | yes | 新的 GPG 密钥 | - -``` -curl --data "key=-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nxsBNBFV..." --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/user/gpg_keys" -``` - -响应示例: - -``` -[ { "id": 1, "key": "-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nxsBNBFVjnlIBCACibzXOLCiZiL2oyzYUaTOCkYnSUhymg3pdbfKtd4mpBa58xKBj\r\nt1pTHVpw3Sk03wmzhM/Ndlt1AV2YhLv++83WKr+gAHFYFiCV/tnY8bx3HqvVoy8O\r\nCfxWhw4QZK7+oYzVmJj8ZJm3ZjOC4pzuegNWlNLCUdZDx9OKlHVXLCX1iUbjdYWa\r\nqKV6tdV8hZolkbyjedQgrpvoWyeSHHpwHF7yk4gNJWMMI5rpcssL7i6mMXb/sDzO\r\nVaAtU5wiVducsOa01InRFf7QSTxoAm6Xy0PGv/k48M6xCALa9nY+BzlOv47jUT57\r\nvilf4Szy9dKD0v9S0mQ+IHB+gNukWrnwtXx5ABEBAAHNFm5hbWUgKGNvbW1lbnQp\r\nIDxlbUBpbD7CwHUEEwECACkFAlVjnlIJEINgJNgv009/AhsDAhkBBgsJCAcDAgYV\r\nCAIJCgsEFgIDAQAAxqMIAFBHuBA8P1v8DtHonIK8Lx2qU23t8Mh68HBIkSjk2H7/\r\noO2cDWCw50jZ9D91PXOOyMPvBWV2IE3tARzCvnNGtzEFRtpIEtZ0cuctxeIF1id5\r\ncrfzdMDsmZyRHAOoZ9VtuD6mzj0ybQWMACb7eIHjZDCee3Slh3TVrLy06YRdq2I4\r\nbjMOPePtK5xnIpHGpAXkB3IONxyITpSLKsA4hCeP7gVvm7r7TuQg1ygiUBlWbBYn\r\niE5ROzqZjG1s7dQNZK/riiU2umGqGuwAb2IPvNiyuGR3cIgRE4llXH/rLuUlspAp\r\no4nlxaz65VucmNbN1aMbDXLJVSqR1DuE00vEsL1AItI=\r\n=XQoy\r\n-----END PGP PUBLIC KEY BLOCK-----", "created_at": "2017-09-05T09:17:46.264Z" } ] -``` - -## Delete a GPG key[](#delete-a-gpg-key "Permalink") - -删除当前经过身份验证的用户拥有的 GPG 密钥. - -``` -DELETE /user/gpg_keys/:key_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `key_id` | integer | yes | GPG 密钥的 ID | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/user/gpg_keys/1" -``` - -成功时返回`204 No Content` ,如果`404 Not found`密钥,则返回`404 Not found` found. - -## List all GPG keys for given user[](#list-all-gpg-keys-for-given-user "Permalink") - -获取指定用户的 GPG 密钥的列表. 仅适用于管理员. - -``` -GET /users/:id/gpg_keys -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 用户的 ID | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/users/2/gpg_keys" -``` - -响应示例: - -``` -[ { "id": 1, "key": "-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nxsBNBFVjnlIBCACibzXOLCiZiL2oyzYUaTOCkYnSUhymg3pdbfKtd4mpBa58xKBj\r\nt1pTHVpw3Sk03wmzhM/Ndlt1AV2YhLv++83WKr+gAHFYFiCV/tnY8bx3HqvVoy8O\r\nCfxWhw4QZK7+oYzVmJj8ZJm3ZjOC4pzuegNWlNLCUdZDx9OKlHVXLCX1iUbjdYWa\r\nqKV6tdV8hZolkbyjedQgrpvoWyeSHHpwHF7yk4gNJWMMI5rpcssL7i6mMXb/sDzO\r\nVaAtU5wiVducsOa01InRFf7QSTxoAm6Xy0PGv/k48M6xCALa9nY+BzlOv47jUT57\r\nvilf4Szy9dKD0v9S0mQ+IHB+gNukWrnwtXx5ABEBAAHNFm5hbWUgKGNvbW1lbnQp\r\nIDxlbUBpbD7CwHUEEwECACkFAlVjnlIJEINgJNgv009/AhsDAhkBBgsJCAcDAgYV\r\nCAIJCgsEFgIDAQAAxqMIAFBHuBA8P1v8DtHonIK8Lx2qU23t8Mh68HBIkSjk2H7/\r\noO2cDWCw50jZ9D91PXOOyMPvBWV2IE3tARzCvnNGtzEFRtpIEtZ0cuctxeIF1id5\r\ncrfzdMDsmZyRHAOoZ9VtuD6mzj0ybQWMACb7eIHjZDCee3Slh3TVrLy06YRdq2I4\r\nbjMOPePtK5xnIpHGpAXkB3IONxyITpSLKsA4hCeP7gVvm7r7TuQg1ygiUBlWbBYn\r\niE5ROzqZjG1s7dQNZK/riiU2umGqGuwAb2IPvNiyuGR3cIgRE4llXH/rLuUlspAp\r\no4nlxaz65VucmNbN1aMbDXLJVSqR1DuE00vEsL1AItI=\r\n=XQoy\r\n-----END PGP PUBLIC KEY BLOCK-----", "created_at": "2017-09-05T09:17:46.264Z" } ] -``` - -## Get a specific GPG key for a given user[](#get-a-specific-gpg-key-for-a-given-user "Permalink") - -获取给定用户的特定 GPG 密钥. 仅适用于管理员. - -``` -GET /users/:id/gpg_keys/:key_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 用户的 ID | -| `key_id` | integer | yes | GPG 密钥的 ID | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/users/2/gpg_keys/1" -``` - -响应示例: - -``` - { "id": 1, "key": "-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nxsBNBFVjnlIBCACibzXOLCiZiL2oyzYUaTOCkYnSUhymg3pdbfKtd4mpBa58xKBj\r\nt1pTHVpw3Sk03wmzhM/Ndlt1AV2YhLv++83WKr+gAHFYFiCV/tnY8bx3HqvVoy8O\r\nCfxWhw4QZK7+oYzVmJj8ZJm3ZjOC4pzuegNWlNLCUdZDx9OKlHVXLCX1iUbjdYWa\r\nqKV6tdV8hZolkbyjedQgrpvoWyeSHHpwHF7yk4gNJWMMI5rpcssL7i6mMXb/sDzO\r\nVaAtU5wiVducsOa01InRFf7QSTxoAm6Xy0PGv/k48M6xCALa9nY+BzlOv47jUT57\r\nvilf4Szy9dKD0v9S0mQ+IHB+gNukWrnwtXx5ABEBAAHNFm5hbWUgKGNvbW1lbnQp\r\nIDxlbUBpbD7CwHUEEwECACkFAlVjnlIJEINgJNgv009/AhsDAhkBBgsJCAcDAgYV\r\nCAIJCgsEFgIDAQAAxqMIAFBHuBA8P1v8DtHonIK8Lx2qU23t8Mh68HBIkSjk2H7/\r\noO2cDWCw50jZ9D91PXOOyMPvBWV2IE3tARzCvnNGtzEFRtpIEtZ0cuctxeIF1id5\r\ncrfzdMDsmZyRHAOoZ9VtuD6mzj0ybQWMACb7eIHjZDCee3Slh3TVrLy06YRdq2I4\r\nbjMOPePtK5xnIpHGpAXkB3IONxyITpSLKsA4hCeP7gVvm7r7TuQg1ygiUBlWbBYn\r\niE5ROzqZjG1s7dQNZK/riiU2umGqGuwAb2IPvNiyuGR3cIgRE4llXH/rLuUlspAp\r\no4nlxaz65VucmNbN1aMbDXLJVSqR1DuE00vEsL1AItI=\r\n=XQoy\r\n-----END PGP PUBLIC KEY BLOCK-----", "created_at": "2017-09-05T09:17:46.264Z" } -``` - -## Add a GPG key for a given user[](#add-a-gpg-key-for-a-given-user "Permalink") - -创建指定用户拥有的新 GPG 密钥. 仅适用于管理员. - -``` -POST /users/:id/gpg_keys -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 用户的 ID | -| `key_id` | integer | yes | GPG 密钥的 ID | - -``` -curl --data "key=-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nxsBNBFV..." --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/users/2/gpg_keys" -``` - -响应示例: - -``` -[ { "id": 1, "key": "-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nxsBNBFVjnlIBCACibzXOLCiZiL2oyzYUaTOCkYnSUhymg3pdbfKtd4mpBa58xKBj\r\nt1pTHVpw3Sk03wmzhM/Ndlt1AV2YhLv++83WKr+gAHFYFiCV/tnY8bx3HqvVoy8O\r\nCfxWhw4QZK7+oYzVmJj8ZJm3ZjOC4pzuegNWlNLCUdZDx9OKlHVXLCX1iUbjdYWa\r\nqKV6tdV8hZolkbyjedQgrpvoWyeSHHpwHF7yk4gNJWMMI5rpcssL7i6mMXb/sDzO\r\nVaAtU5wiVducsOa01InRFf7QSTxoAm6Xy0PGv/k48M6xCALa9nY+BzlOv47jUT57\r\nvilf4Szy9dKD0v9S0mQ+IHB+gNukWrnwtXx5ABEBAAHNFm5hbWUgKGNvbW1lbnQp\r\nIDxlbUBpbD7CwHUEEwECACkFAlVjnlIJEINgJNgv009/AhsDAhkBBgsJCAcDAgYV\r\nCAIJCgsEFgIDAQAAxqMIAFBHuBA8P1v8DtHonIK8Lx2qU23t8Mh68HBIkSjk2H7/\r\noO2cDWCw50jZ9D91PXOOyMPvBWV2IE3tARzCvnNGtzEFRtpIEtZ0cuctxeIF1id5\r\ncrfzdMDsmZyRHAOoZ9VtuD6mzj0ybQWMACb7eIHjZDCee3Slh3TVrLy06YRdq2I4\r\nbjMOPePtK5xnIpHGpAXkB3IONxyITpSLKsA4hCeP7gVvm7r7TuQg1ygiUBlWbBYn\r\niE5ROzqZjG1s7dQNZK/riiU2umGqGuwAb2IPvNiyuGR3cIgRE4llXH/rLuUlspAp\r\no4nlxaz65VucmNbN1aMbDXLJVSqR1DuE00vEsL1AItI=\r\n=XQoy\r\n-----END PGP PUBLIC KEY BLOCK-----", "created_at": "2017-09-05T09:17:46.264Z" } ] -``` - -## Delete a GPG key for a given user[](#delete-a-gpg-key-for-a-given-user "Permalink") - -删除指定用户拥有的 GPG 密钥. 仅适用于管理员. - -``` -DELETE /users/:id/gpg_keys/:key_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 用户的 ID | -| `key_id` | integer | yes | The ID of the GPG key | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/users/2/gpg_keys/1" -``` - -## List emails[](#list-emails "Permalink") - -获取当前经过身份验证的用户电子邮件列表. - -``` -GET /user/emails -``` - -``` -[ { "id": 1, "email": "email@example.com" }, { "id": 3, "email": "email2@example.com" } ] -``` - -Parameters: - -* **none** - -## List emails for user[](#list-emails-for-user "Permalink") - -获取指定用户的电子邮件列表. 仅适用于管理员 - -``` -GET /users/:id/emails -``` - -Parameters: - -* `id` (必填)-指定用户的 ID - -## Single email[](#single-email "Permalink") - -收到一封电子邮件. - -``` -GET /user/emails/:email_id -``` - -Parameters: - -* `email_id` (必填)-电子邮件 ID - -``` -{ "id": 1, "email": "email@example.com" } -``` - -## Add email[](#add-email "Permalink") - -创建由当前身份验证用户拥有的新电子邮件. - -``` -POST /user/emails -``` - -Parameters: - -* `email` (必填)-电子邮件地址 - -``` -{ "id": 4, "email": "email@example.com" } -``` - -将返回状态为`201 Created`成功的已创建电子邮件. 如果发生错误,则会返回`400 Bad Request` ,并附有一条解释该错误的消息: - -``` -{ "message": { "email": [ "has already been taken" ] } } -``` - -## Add email for user[](#add-email-for-user "Permalink") - -创建指定用户拥有的新电子邮件. 仅适用于管理员 - -``` -POST /users/:id/emails -``` - -Parameters: - -* `id` (必填)-指定用户的 ID -* `email` (必填)-电子邮件地址 -* `skip_confirmation` (可选)-跳过确认并假定电子邮件已通过验证`skip_confirmation`或 false(默认) - -## Delete email for current user[](#delete-email-for-current-user "Permalink") - -删除当前经过身份验证的用户拥有的电子邮件. 如果操作成功,则返回`204 No Content`状态代码;如果找不到资源,则返回`404` . - -``` -DELETE /user/emails/:email_id -``` - -Parameters: - -* `email_id` (必填)-电子邮件 ID - -## Delete email for given user[](#delete-email-for-given-user "Permalink") - -删除指定用户拥有的电子邮件. 仅适用于管理员. - -``` -DELETE /users/:id/emails/:email_id -``` - -Parameters: - -* `id` (必填)-指定用户的 ID -* `email_id` (必填)-电子邮件 ID - -## Block user[](#block-user "Permalink") - -阻止指定的用户. 仅适用于管理员. - -``` -POST /users/:id/block -``` - -Parameters: - -* `id` (必填)-指定用户的 ID - -Returns: - -* `201 OK`成功成功. -* `404 User Not Found`如果`404 User Not Found`用户,则`404 User Not Found`用户. -* `403 Forbidden`尝试通过 LDAP 同步阻止已阻止的用户时禁止. - -## Unblock user[](#unblock-user "Permalink") - -取消阻止指定的用户. 仅适用于管理员. - -``` -POST /users/:id/unblock -``` - -Parameters: - -* `id` (必填)-指定用户的 ID - -尝试取消阻止被 LDAP 同步阻止的用户时,成功返回`201 OK` ,成功返回`404 User Not Found`或`403 Forbidden` . - -## Deactivate user[](#deactivate-user "Permalink") - -在 GitLab 12.4 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/22257) . - -停用指定的用户. 仅适用于管理员. - -``` -POST /users/:id/deactivate -``` - -Parameters: - -* `id` (必填)-指定用户的 ID - -Returns: - -* `201 OK`成功成功. -* `404 User Not Found`如果`404 User Not Found`用户,则`404 User Not Found`用户. -* `403 Forbidden`尝试停用用户时被禁止: - * 被管理员或 LDAP 同步阻止. - * 在过去 180 天内没有任何活动. 这些用户无法停用. - -## Activate user[](#activate-user "Permalink") - -在 GitLab 12.4 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/22257) . - -激活指定的用户. 仅适用于管理员. - -``` -POST /users/:id/activate -``` - -Parameters: - -* `id` (必填)-指定用户的 ID - -Returns: - -* `201 OK`成功成功. -* `404 User Not Found`如果`404 User Not Found`用户,则`404 User Not Found`用户. -* `403 Forbidden`尝试激活被管理员或 LDAP 同步阻止的用户时禁止. - -### Get user contribution events[](#get-user-contribution-events "Permalink") - -请参阅[事件 API 文档](events.html#get-user-contribution-events) - -## Get all impersonation tokens of a user[](#get-all-impersonation-tokens-of-a-user "Permalink") - -> 需要管理员权限. - -它检索用户的每个模拟令牌. 使用分页参数`page`和`per_page`可以限制模拟令牌的列表. - -``` -GET /users/:user_id/impersonation_tokens -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `user_id` | integer | yes | 用户的 ID | -| `state` | string | no | 根据状态( `all` , `active` , `inactive` )过滤令牌 | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/users/42/impersonation_tokens" -``` - -响应示例: - -``` -[ { "active" : true, "scopes" : [ "api" ], "revoked" : false, "name" : "mytoken", "id" : 2, "created_at" : "2017-03-17T17:18:09.283Z", "impersonation" : true, "expires_at" : "2017-04-04" }, { "active" : false, "scopes" : [ "read_user" ], "revoked" : true, "name" : "mytoken2", "created_at" : "2017-03-17T17:19:28.697Z", "id" : 3, "impersonation" : true, "expires_at" : "2017-04-14" } ] -``` - -## Get an impersonation token of a user[](#get-an-impersonation-token-of-a-user "Permalink") - -> 需要管理员权限. - -它显示了用户的模拟令牌. - -``` -GET /users/:user_id/impersonation_tokens/:impersonation_token_id -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `user_id` | integer | yes | 用户的 ID | -| `impersonation_token_id` | integer | yes | 模拟令牌的 ID | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/users/42/impersonation_tokens/2" -``` - -响应示例: - -``` -{ "active" : true, "scopes" : [ "api" ], "revoked" : false, "name" : "mytoken", "id" : 2, "created_at" : "2017-03-17T17:18:09.283Z", "impersonation" : true, "expires_at" : "2017-04-04" } -``` - -## Create an impersonation token[](#create-an-impersonation-token "Permalink") - -> 需要管理员权限. 令牌值返回一次. 确保将其保存-您将无法再次访问它. - -它创建一个新的模拟令牌. 请注意,只有管理员可以执行此操作. 您只能创建模拟令牌来模拟用户,并执行 API 调用和 Git 读写. 用户将不会在其个人资料设置页面中看到这些令牌. - -``` -POST /users/:user_id/impersonation_tokens -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `user_id` | integer | yes | 用户的 ID | -| `name` | string | yes | 模拟令牌的名称 | -| `expires_at` | date | no | ISO 格式( `YYYY-MM-DD` )的模拟令牌的到期日期 | -| `scopes` | array | yes | 模拟令牌作用域的数组( `api` , `read_user` ) | - -``` -curl --request POST --header "PRIVATE-TOKEN: " --data "name=mytoken" --data "expires_at=2017-04-04" --data "scopes[]=api" "https://gitlab.example.com/api/v4/users/42/impersonation_tokens" -``` - -响应示例: - -``` -{ "id" : 2, "revoked" : false, "scopes" : [ "api" ], "token" : "EsMo-vhKfXGwX9RKrwiy", "active" : true, "impersonation" : true, "name" : "mytoken", "created_at" : "2017-03-17T17:18:09.283Z", "expires_at" : "2017-04-04" } -``` - -## Revoke an impersonation token[](#revoke-an-impersonation-token "Permalink") - -> 需要管理员权限. - -它撤销模拟令牌. - -``` -DELETE /users/:user_id/impersonation_tokens/:impersonation_token_id -``` - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/users/42/impersonation_tokens/1" -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `user_id` | integer | yes | 用户的 ID | -| `impersonation_token_id` | integer | yes | 模拟令牌的 ID | - -### Get user activities (admin only)[](#get-user-activities-admin-only "Permalink") - -**注意:**此 API 端点仅在 8.15(EE)和 9.1(CE)及更高版本上可用. - -获取所有用户的上次活动日期,从最旧到最新. - -更新时间戳记的活动是: - -* Git HTTP / SSH 活动(例如克隆,推送) -* 用户登录 GitLab -* 与仪表板,项目,问题和合并请求相关的用户访问页面(在 GitLab 11.8 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/54947) ) -* 用户使用 API -* 用户使用 GraphQL API - -默认情况下,它显示最近 6 个月内所有用户的活动,但是可以使用`from`参数进行修改. - -``` -GET /user/activities -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `from` | string | no | 日期字符串,格式为 YEAR-MONTH-DAY. 例如, `2016-03-11` . 默认为 6 个月前. | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/user/activities" -``` - -响应示例: - -``` -[ { "username": "user1", "last_activity_on": "2015-12-14", "last_activity_at": "2015-12-14" }, { "username": "user2", "last_activity_on": "2015-12-15", "last_activity_at": "2015-12-15" }, { "username": "user3", "last_activity_on": "2015-12-16", "last_activity_at": "2015-12-16" } ] -``` - -请注意, `last_activity_at`已过时,请使用`last_activity_on` . - -## User memberships (admin only)[](#user-memberships-admin-only "Permalink") - -在 GitLab 12.8 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/20532) . - -列出用户所属的所有项目和组. 该端点仅适用于管理员. 它返回成员资格的`source_id` , `source_name` , `source_type`和`access_level` . 源可以是`Namespace` (代表一个组)或`Project` . 响应仅代表直接成员身份. 不包括继承的成员资格,例如在子组中. 访问级别由整数值表示. 有关更多详细信息,请阅读有关[访问级别值](access_requests.html#valid-access-levels)的含义. - -``` -GET /users/:id/memberships -``` - -Parameters: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer | yes | 指定用户的 ID | -| `type` | string | no | 按类型过滤成员资格. 可以是`Project`或`Namespace` | - -Returns: - -* `200 OK`成功. -* `404 User Not Found` if user can’t be found. -* `403 Forbidden`管理员未要求时禁止. -* 不支持请求的类型时出现`400 Bad Request` . - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/users/:user_id/memberships" -``` - -响应示例: - -``` -[ { "source_id": 1, "source_name": "Project one", "source_type": "Project", "access_level": "20" }, { "source_id": 3, "source_name": "Group three", "source_type": "Namespace", "access_level": "20" }, ] -``` \ No newline at end of file diff --git a/docs/378.md b/docs/378.md deleted file mode 100644 index 76e2cea..0000000 --- a/docs/378.md +++ /dev/null @@ -1,159 +0,0 @@ -# Project-level Variables API - -> 原文:[https://docs.gitlab.com/ee/api/project_level_variables.html](https://docs.gitlab.com/ee/api/project_level_variables.html) - -* [List project variables](#list-project-variables) -* [Show variable details](#show-variable-details) -* [Create variable](#create-variable) -* [Update variable](#update-variable) -* [Remove variable](#remove-variable) -* [The `filter` parameter](#the-filter-parameter) - * [Enable or disable](#enable-or-disable) - -# Project-level Variables API[](#project-level-variables-api "Permalink") - -## List project variables[](#list-project-variables "Permalink") - -获取项目变量的列表. - -``` -GET /projects/:id/variables -``` - -| Attribute | Type | required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 一个项目的 ID 或经过身份验证的用户拥有[的该项目的 Urlencoded NAMESPACE / PROJECT_NAME](README.html#namespaced-path-encoding) | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/variables" -``` - -``` -[ { "key": "TEST_VARIABLE_1", "variable_type": "env_var", "value": "TEST_1" }, { "key": "TEST_VARIABLE_2", "variable_type": "env_var", "value": "TEST_2" } ] -``` - -## Show variable details[](#show-variable-details "Permalink") - -获取项目特定变量的详细信息. - -``` -GET /projects/:id/variables/:key -``` - -| Attribute | Type | required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 一个项目的 ID 或经过身份验证的用户拥有[的该项目的 Urlencoded NAMESPACE / PROJECT_NAME](README.html#namespaced-path-encoding) | -| `key` | string | yes | 变量的`key` | -| `filter` | hash | no | 可用的过滤器: `[environment_scope]` . 请参阅[`filter`参数详细信息](#the-filter-parameter) . | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/variables/TEST_VARIABLE_1" -``` - -``` -{ "key": "TEST_VARIABLE_1", "variable_type": "env_var", "value": "TEST_1", "protected": false, "masked": true } -``` - -## Create variable[](#create-variable "Permalink") - -创建一个新变量. - -``` -POST /projects/:id/variables -``` - -| Attribute | Type | required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 一个项目的 ID 或经过身份验证的用户拥有[的该项目的 Urlencoded NAMESPACE / PROJECT_NAME](README.html#namespaced-path-encoding) | -| `key` | string | yes | The `key` of a variable; must have no more than 255 characters; only `A-Z`, `a-z`, `0-9`, and `_` are allowed | -| `value` | string | yes | 变量的`value` | -| `variable_type` | string | no | 变量的类型. 可用类型为: `env_var` (默认)和`file` | -| `protected` | boolean | no | 变量是否受保护 | -| `masked` | boolean | no | 变量是否被屏蔽 | -| `environment_scope` | string | no | 变量的`environment_scope` | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/variables" --form "key=NEW_VARIABLE" --form "value=new value" -``` - -``` -{ "key": "NEW_VARIABLE", "value": "new value", "protected": false, "variable_type": "env_var", "masked": false, "environment_scope": "*" } -``` - -## Update variable[](#update-variable "Permalink") - -更新项目的变量. - -``` -PUT /projects/:id/variables/:key -``` - -| Attribute | Type | required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 一个项目的 ID 或经过身份验证的用户拥有[的该项目的 Urlencoded NAMESPACE / PROJECT_NAME](README.html#namespaced-path-encoding) | -| `key` | string | yes | 变量的`key` | -| `value` | string | yes | 变量的`value` | -| `variable_type` | string | no | 变量的类型. 可用类型为: `env_var` (默认)和`file` | -| `protected` | boolean | no | 变量是否受保护 | -| `masked` | boolean | no | 变量是否被屏蔽 | -| `environment_scope` | string | no | 变量的`environment_scope` | -| `filter` | hash | no | 可用的过滤器: `[environment_scope]` . 请参阅[`filter`参数详细信息](#the-filter-parameter) . | - -``` -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/variables/NEW_VARIABLE" --form "value=updated value" -``` - -``` -{ "key": "NEW_VARIABLE", "value": "updated value", "variable_type": "env_var", "protected": true, "masked": false, "environment_scope": "*" } -``` - -## Remove variable[](#remove-variable "Permalink") - -删除项目的变量. - -``` -DELETE /projects/:id/variables/:key -``` - -| Attribute | Type | required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 一个项目的 ID 或经过身份验证的用户拥有[的该项目的 Urlencoded NAMESPACE / PROJECT_NAME](README.html#namespaced-path-encoding) | -| `key` | string | yes | 变量的`key` | -| `filter` | hash | no | 可用的过滤器: `[environment_scope]` . 请参阅[`filter`参数详细信息](#the-filter-parameter) . | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/variables/VARIABLE_1" -``` - -## The `filter` parameter[](#the-filter-parameter "Permalink") - -版本历史 - -* 在 GitLab 13.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/34490) . -* 它部署在功能标记后面,默认情况下处于禁用状态. -* 在 GitLab.com 上已禁用. -* 要在 GitLab 自管实例中使用它,请让 GitLab 管理员启用它. - -此参数用于按属性(例如`environment_scope`进行过滤. - -用法示例: - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/variables/VARIABLE_1?filter[environment_scope]=production" -``` - -### Enable or disable[](#enable-or-disable "Permalink") - -[有权访问 GitLab Rails 控制台的 GitLab 管理员](../administration/feature_flags.html)可以为您的实例启用它. - -要启用它: - -``` -Feature.enable(:ci_variables_api_filter_environment_scope) -``` - -禁用它: - -``` -Feature.disable(:ci_variables_api_filter_environment_scope) -``` \ No newline at end of file diff --git a/docs/379.md b/docs/379.md deleted file mode 100644 index b6410d0..0000000 --- a/docs/379.md +++ /dev/null @@ -1,121 +0,0 @@ -# Group-level Variables API - -> 原文:[https://docs.gitlab.com/ee/api/group_level_variables.html](https://docs.gitlab.com/ee/api/group_level_variables.html) - -* [List group variables](#list-group-variables) -* [Show variable details](#show-variable-details) -* [Create variable](#create-variable) -* [Update variable](#update-variable) -* [Remove variable](#remove-variable) - -# Group-level Variables API[](#group-level-variables-api "Permalink") - -在 GitLab 9.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/34519) - -## List group variables[](#list-group-variables "Permalink") - -获取组变量的列表. - -``` -GET /groups/:id/variables -``` - -| Attribute | Type | required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有的组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/1/variables" -``` - -``` -[ { "key": "TEST_VARIABLE_1", "variable_type": "env_var", "value": "TEST_1", "protected": false, "masked": false }, { "key": "TEST_VARIABLE_2", "variable_type": "env_var", "value": "TEST_2", "protected": false, "masked": false } ] -``` - -## Show variable details[](#show-variable-details "Permalink") - -获取组特定变量的详细信息. - -``` -GET /groups/:id/variables/:key -``` - -| Attribute | Type | required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有的组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `key` | string | yes | 变量的`key` | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/1/variables/TEST_VARIABLE_1" -``` - -``` -{ "key": "TEST_VARIABLE_1", "variable_type": "env_var", "value": "TEST_1", "protected": false, "masked": false } -``` - -## Create variable[](#create-variable "Permalink") - -创建一个新变量. - -``` -POST /groups/:id/variables -``` - -| Attribute | Type | required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有的组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `key` | string | yes | 变量的`key` ; 不得超过 255 个字符; 仅允许`AZ` , `az` , `0-9`和`_` | -| `value` | string | yes | 变量的`value` | -| `variable_type` | string | no | 变量的类型. 可用类型为: `env_var` (默认)和`file` | -| `protected` | boolean | no | 变量是否受保护 | -| `masked` | boolean | no | 变量是否被屏蔽 | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/1/variables" --form "key=NEW_VARIABLE" --form "value=new value" -``` - -``` -{ "key": "NEW_VARIABLE", "value": "new value", "variable_type": "env_var", "protected": false, "masked": false } -``` - -## Update variable[](#update-variable "Permalink") - -更新组的变量. - -``` -PUT /groups/:id/variables/:key -``` - -| Attribute | Type | required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有的组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `key` | string | yes | 变量的`key` | -| `value` | string | yes | 变量的`value` | -| `variable_type` | string | no | 变量的类型. 可用类型为: `env_var` (默认)和`file` | -| `protected` | boolean | no | 变量是否受保护 | -| `masked` | boolean | no | 变量是否被屏蔽 | - -``` -curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/1/variables/NEW_VARIABLE" --form "value=updated value" -``` - -``` -{ "key": "NEW_VARIABLE", "value": "updated value", "variable_type": "env_var", "protected": true, "masked": true } -``` - -## Remove variable[](#remove-variable "Permalink") - -删除组的变量. - -``` -DELETE /groups/:id/variables/:key -``` - -| Attribute | Type | required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户拥有的组的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `key` | string | yes | 变量的`key` | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/1/variables/VARIABLE_1" -``` \ No newline at end of file diff --git a/docs/380.md b/docs/380.md deleted file mode 100644 index af745d2..0000000 --- a/docs/380.md +++ /dev/null @@ -1,23 +0,0 @@ -# Version API - -> 原文:[https://docs.gitlab.com/ee/api/version.html](https://docs.gitlab.com/ee/api/version.html) - -# Version API[](#version-api "Permalink") - -**注意:**此功能是在 GitLab 8.13 中引入的 - -检索此 GitLab 实例的版本信息. 对已认证的用户响应`200 OK` . - -``` -GET /version -``` - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/version" -``` - -响应示例: - -``` -{ "version": "8.13.0-pre", "revision": "4e963fe" } -``` \ No newline at end of file diff --git a/docs/381.md b/docs/381.md deleted file mode 100644 index e9b70c8..0000000 --- a/docs/381.md +++ /dev/null @@ -1,112 +0,0 @@ -# Vulnerabilities API - -> 原文:[https://docs.gitlab.com/ee/api/vulnerabilities.html](https://docs.gitlab.com/ee/api/vulnerabilities.html) - -* [Single vulnerability](#single-vulnerability) -* [Confirm vulnerability](#confirm-vulnerability) -* [Resolve vulnerability](#resolve-vulnerability) -* [Dismiss vulnerability](#dismiss-vulnerability) - -# Vulnerabilities API[](#vulnerabilities-api-ultimate "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/10242) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.6. - -**注意:**以前的 Vulnerabilities API 已重命名为 Vulnerability Findings API,其文档已移至[其他位置](vulnerability_findings.html) . 现在,本文描述了新的漏洞 API,该 API 提供对[独立漏洞的](https://gitlab.com/groups/gitlab-org/-/epics/634)访问.**警告:**此 API 处于 alpha 阶段,被认为是不稳定的. 响应有效载荷可能会在 GitLab 版本之间发生更改或损坏. - -每个对漏洞的 API 调用都必须经过[身份验证](README.html#authentication) . - -漏洞权限从其项目继承权限. 如果项目是私有项目,并且用户不是该漏洞所属项目的成员,则对该项目的请求将返回`404 Not Found`状态代码. - -## Single vulnerability[](#single-vulnerability "Permalink") - -获得一个漏洞 - -``` -GET /vulnerabilities/:id -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | 整数或字符串 | yes | 要获取的漏洞的 ID | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/vulnerabilities/1" -``` - -响应示例: - -``` -{ "id": 1, "title": "Predictable pseudorandom number generator", "description": null, "state": "opened", "severity": "medium", "confidence": "medium", "report_type": "sast", "project": { "id": 32, "name": "security-reports", "full_path": "/gitlab-examples/security/security-reports", "full_name": "gitlab-examples / security / security-reports" }, "author_id": 1, "updated_by_id": null, "last_edited_by_id": null, "closed_by_id": null, "start_date": null, "due_date": null, "created_at": "2019-10-13T15:08:40.219Z", "updated_at": "2019-10-13T15:09:40.382Z", "last_edited_at": null, "closed_at": null } -``` - -## Confirm vulnerability[](#confirm-vulnerability "Permalink") - -确认给定漏洞. 如果已经确认该漏洞,则返回状态码`304` . - -如果经过身份验证的用户无权[确认漏洞](../user/permissions.html#project-members-permissions) ,则此请求将导致`403`状态代码. - -``` -POST /vulnerabilities/:id/confirm -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | 整数或字符串 | yes | 确认漏洞的 ID | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/vulnerabilities/5/confirm" -``` - -响应示例: - -``` -{ "id": 2, "title": "Predictable pseudorandom number generator", "description": null, "state": "confirmed", "severity": "medium", "confidence": "medium", "report_type": "sast", "project": { "id": 32, "name": "security-reports", "full_path": "/gitlab-examples/security/security-reports", "full_name": "gitlab-examples / security / security-reports" }, "author_id": 1, "updated_by_id": null, "last_edited_by_id": null, "closed_by_id": null, "start_date": null, "due_date": null, "created_at": "2019-10-13T15:08:40.219Z", "updated_at": "2019-10-13T15:09:40.382Z", "last_edited_at": null, "closed_at": null } -``` - -## Resolve vulnerability[](#resolve-vulnerability "Permalink") - -解决给定漏洞. 如果漏洞已解决,则返回状态码`304` . - -如果经过身份验证的用户无权[解决漏洞](../user/permissions.html#project-members-permissions) ,则此请求将导致`403`状态代码. - -``` -POST /vulnerabilities/:id/resolve -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | 整数或字符串 | yes | 解决的漏洞的 ID | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/vulnerabilities/5/resolve" -``` - -响应示例: - -``` -{ "id": 2, "title": "Predictable pseudorandom number generator", "description": null, "state": "resolved", "severity": "medium", "confidence": "medium", "report_type": "sast", "project": { "id": 32, "name": "security-reports", "full_path": "/gitlab-examples/security/security-reports", "full_name": "gitlab-examples / security / security-reports" }, "author_id": 1, "updated_by_id": null, "last_edited_by_id": null, "closed_by_id": null, "start_date": null, "due_date": null, "created_at": "2019-10-13T15:08:40.219Z", "updated_at": "2019-10-13T15:09:40.382Z", "last_edited_at": null, "closed_at": null } -``` - -## Dismiss vulnerability[](#dismiss-vulnerability "Permalink") - -消除给定的漏洞. 如果漏洞已被`304`则返回状态码`304` . - -If an authenticated user does not have permission to [dismiss vulnerabilities](../user/permissions.html#project-members-permissions), this request will result in a `403` status code. - -``` -POST /vulnerabilities/:id/dismiss -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | 整数或字符串 | yes | 消除漏洞的 ID | - -``` -curl --request POST --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/vulnerabilities/5/dismiss" -``` - -响应示例: - -``` -{ "id": 2, "title": "Predictable pseudorandom number generator", "description": null, "state": "closed", "severity": "medium", "confidence": "medium", "report_type": "sast", "project": { "id": 32, "name": "security-reports", "full_path": "/gitlab-examples/security/security-reports", "full_name": "gitlab-examples / security / security-reports" }, "author_id": 1, "updated_by_id": null, "last_edited_by_id": null, "closed_by_id": null, "start_date": null, "due_date": null, "created_at": "2019-10-13T15:08:40.219Z", "updated_at": "2019-10-13T15:09:40.382Z", "last_edited_at": null, "closed_at": null } -``` \ No newline at end of file diff --git a/docs/382.md b/docs/382.md deleted file mode 100644 index e7acf90..0000000 --- a/docs/382.md +++ /dev/null @@ -1,65 +0,0 @@ -# Vulnerability Findings API - -> 原文:[https://docs.gitlab.com/ee/api/vulnerability_findings.html](https://docs.gitlab.com/ee/api/vulnerability_findings.html) - -* [Vulnerability findings pagination](#vulnerability-findings-pagination) -* [List project vulnerability findings](#list-project-vulnerability-findings) - -# Vulnerability Findings API[](#vulnerability-findings-api-ultimate "Permalink") - -在 GitLab Ultimate 12.5 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/19029) . - -**注意:**此 API 资源已从"漏洞"重命名为"漏洞发现",因为这些漏洞是为服务即将到来的[独立漏洞对象](https://gitlab.com/gitlab-org/gitlab/-/issues/13561)而保留的. 要修复与以前的 Vulnerabilities API 的任何损坏的集成,请将`vulnerabilities` URL 部分更改为`vulnerabilities` _ `vulnerability_findings` . - -每个对漏洞发现的 API 调用都必须经过[身份验证](README.html#authentication) . - -漏洞发现是项目约束的实体. 如果用户不是项目成员,并且该项目是私有项目,则对该项目的请求将产生`404`状态代码. - -如果用户能够访问该项目但无权[使用 Project Security 仪表板](../user/permissions.html#project-members-permissions) ,则任何对此项目的漏洞发现的请求都将生成`403`状态代码. - -**警告:**此 API 处于 alpha 阶段,被认为是不稳定的. 响应有效载荷可能会在 GitLab 版本之间发生更改或损坏. - -## Vulnerability findings pagination[](#vulnerability-findings-pagination "Permalink") - -默认情况下,因为 API 结果是分页的,所以`GET`请求一次返回 20 个结果. - -阅读有关[分页的](README.html#pagination)更多信息. - -## List project vulnerability findings[](#list-project-vulnerability-findings "Permalink") - -列出项目的所有漏洞发现. - -``` -GET /projects/:id/vulnerability_findings -GET /projects/:id/vulnerability_findings?report_type=sast -GET /projects/:id/vulnerability_findings?report_type=container_scanning -GET /projects/:id/vulnerability_findings?report_type=sast,dast -GET /projects/:id/vulnerability_findings?scope=all -GET /projects/:id/vulnerability_findings?scope=dismissed -GET /projects/:id/vulnerability_findings?severity=high -GET /projects/:id/vulnerability_findings?confidence=unknown,experimental -GET /projects/:id/vulnerability_findings?scanner=bandit,find_sec_bugs -GET /projects/:id/vulnerability_findings?pipeline_id=42 -``` - -**弃用:**从 GitLab 12.9 开始,不再报告`undefined`严重性和可信度级别. - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 经过身份验证的用户[所属的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) . | -| `report_type` | 字符串数组 | no | 返回属于指定报告类型的漏洞发现. 有效值: `sast` , `dast` , `dependency_scanning`或`container_scanning` . 默认为全部. | -| `scope` | string | no | 返回给定范围内的漏洞发现结果: `all`或已`dismissed` . 默认为`dismissed` . | -| `severity` | 字符串数组 | no | 返回属于指定严重性级别的漏洞发现: `info` , `unknown` , `low` , `medium` , `high`或`critical` . 默认为全部. | -| `confidence` | 字符串数组 | no | 返回属于指定置信度的漏洞发现: `ignore` , `unknown` , `experimental` , `low` , `medium` , `high`或`confirmed` . 默认为全部. | -| `scanner` | 字符串数组 | no | 返回指定扫描程序检测到的漏洞发现. | -| `pipeline_id` | integer/string | no | 返回属于指定管道的漏洞发现. | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/4/vulnerability_findings" -``` - -Example response: - -``` -[ { "id": null, "report_type": "dependency_scanning", "name": "Authentication bypass via incorrect DOM traversal and canonicalization in saml2-js", "severity": "unknown", "confidence": "undefined", "scanner": { "external_id": "gemnasium", "name": "Gemnasium" }, "identifiers": [ { "external_type": "gemnasium", "external_id": "9952e574-7b5b-46fa-a270-aeb694198a98", "name": "Gemnasium-9952e574-7b5b-46fa-a270-aeb694198a98", "url": "https://deps.sec.gitlab.com/packages/npm/saml2-js/versions/1.5.0/advisories" }, { "external_type": "cve", "external_id": "CVE-2017-11429", "name": "CVE-2017-11429", "url": "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-11429" } ], "project_fingerprint": "fa6f5b6c5d240b834ac5e901dc69f9484cef89ec", "create_vulnerability_feedback_issue_path": "/tests/yarn-remediation-test/vulnerability_feedback", "create_vulnerability_feedback_merge_request_path": "/tests/yarn-remediation-test/vulnerability_feedback", "create_vulnerability_feedback_dismissal_path": "/tests/yarn-remediation-test/vulnerability_feedback", "project": { "id": 31, "name": "yarn-remediation-test", "full_path": "/tests/yarn-remediation-test", "full_name": "tests / yarn-remediation-test" }, "dismissal_feedback": null, "issue_feedback": null, "merge_request_feedback": null, "description": "Some XML DOM traversal and canonicalization APIs may be inconsistent in handling of comments within XML nodes. Incorrect use of these APIs by some SAML libraries results in incorrect parsing of the inner text of XML nodes such that any inner text after the comment is lost prior to cryptographically signing the SAML message. Text after the comment therefore has no impact on the signature on the SAML message.\r\n\r\nA remote attacker can modify SAML content for a SAML service provider without invalidating the cryptographic signature, which may allow attackers to bypass primary authentication for the affected SAML service provider.", "links": [ { "url": "https://github.com/Clever/saml2/commit/3546cb61fd541f219abda364c5b919633609ef3d#diff-af730f9f738de1c9ad87596df3f6de84R279" }, { "url": "https://www.kb.cert.org/vuls/id/475445" }, { "url": "https://github.com/Clever/saml2/issues/127" } ], "location": { "file": "yarn.lock", "dependency": { "package": { "name": "saml2-js" }, "version": "1.5.0" } }, "solution": "Upgrade to fixed version.\r\n", "blob_path": "/tests/yarn-remediation-test/blob/cc6c4a0778460455ae5d16ca7025ca9ca1ca75ac/yarn.lock" } ] -``` \ No newline at end of file diff --git a/docs/383.md b/docs/383.md deleted file mode 100644 index 6dd92f4..0000000 --- a/docs/383.md +++ /dev/null @@ -1,158 +0,0 @@ -# Wikis API - -> 原文:[https://docs.gitlab.com/ee/api/wikis.html](https://docs.gitlab.com/ee/api/wikis.html) - -* [List wiki pages](#list-wiki-pages) -* [Get a wiki page](#get-a-wiki-page) -* [Create a new wiki page](#create-a-new-wiki-page) -* [Edit an existing wiki page](#edit-an-existing-wiki-page) -* [Delete a wiki page](#delete-a-wiki-page) -* [Upload an attachment to the wiki repository](#upload-an-attachment-to-the-wiki-repository) - -# Wikis API[](#wikis-api "Permalink") - -在 GitLab 10.0 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13372) . - -仅在 APIv4 中可用. - -## List wiki pages[](#list-wiki-pages "Permalink") - -获取给定项目的所有 Wiki 页面. - -``` -GET /projects/:id/wikis -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `with_content` | boolean | no | 包含页面内容 | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/wikis?with_content=1" -``` - -响应示例: - -``` -[ { "content" : "Here is an instruction how to deploy this project.", "format" : "markdown", "slug" : "deploy", "title" : "deploy" }, { "content" : "Our development process is described here.", "format" : "markdown", "slug" : "development", "title" : "development" },{ "content" : "* [Deploy](deploy)\n* [Development](development)", "format" : "markdown", "slug" : "home", "title" : "home" } ] -``` - -## Get a wiki page[](#get-a-wiki-page "Permalink") - -获取给定项目的 Wiki 页面. - -``` -GET /projects/:id/wikis/:slug -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `slug` | string | yes | Wiki 页面的段(唯一字符串) | - -``` -curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/wikis/home" -``` - -响应示例: - -``` -{ "content" : "home page", "format" : "markdown", "slug" : "home", "title" : "home" } -``` - -## Create a new wiki page[](#create-a-new-wiki-page "Permalink") - -使用给定的标题,条目和内容为给定的存储库创建一个新的 Wiki 页面. - -``` -POST /projects/:id/wikis -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `content` | string | yes | Wiki 页面的内容 | -| `title` | string | yes | 维基页面的标题 | -| `format` | string | no | Wiki 页面的格式. 可用格式为: `markdown` (默认), `rdoc` , `asciidoc`和`org` | - -``` -curl --data "format=rdoc&title=Hello&content=Hello world" --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/wikis" -``` - -响应示例: - -``` -{ "content" : "Hello world", "format" : "markdown", "slug" : "Hello", "title" : "Hello" } -``` - -## Edit an existing wiki page[](#edit-an-existing-wiki-page "Permalink") - -更新现有的 Wiki 页面. 至少需要一个参数才能更新 Wiki 页面. - -``` -PUT /projects/:id/wikis/:slug -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `content` | string | 是,如果未提供`title` | Wiki 页面的内容 | -| `title` | string | 是,如果未提供`content` | 维基页面的标题 | -| `format` | string | no | Wiki 页面的格式. 可用格式为: `markdown` (默认), `rdoc` , `asciidoc`和`org` | -| `slug` | string | yes | Wiki 页面的段(唯一字符串) | - -``` -curl --request PUT --data "format=rdoc&content=documentation&title=Docs" --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/wikis/foo" -``` - -响应示例: - -``` -{ "content" : "documentation", "format" : "markdown", "slug" : "Docs", "title" : "Docs" } -``` - -## Delete a wiki page[](#delete-a-wiki-page "Permalink") - -删除带有给定子弹的 Wiki 页面. - -``` -DELETE /projects/:id/wikis/:slug -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `slug` | string | yes | Wiki 页面的段(唯一字符串) | - -``` -curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/wikis/foo" -``` - -成功时,HTTP 状态代码为`204`并且不需要 JSON 响应. - -## Upload an attachment to the wiki repository[](#upload-an-attachment-to-the-wiki-repository "Permalink") - -将文件上传到 Wiki 信息库中的附件文件夹. 附件文件夹是`uploads`文件夹. - -``` -POST /projects/:id/wikis/attachments -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `id` | integer/string | yes | 项目的 ID 或[URL 编码的路径](README.html#namespaced-path-encoding) | -| `file` | string | yes | 要上传的附件 | -| `branch` | string | no | 分支的名称. 默认为 Wiki 存储库默认分支 | - -要从文件系统上载文件,请使用`--form`参数. 这将导致 cURL 使用标题`Content-Type: multipart/form-data` . `file=`参数必须指向文件系统上的文件,并以`@`开头. 例如: - -``` -curl --request POST --header "PRIVATE-TOKEN: " --form "file=@dk.png" "https://gitlab.example.com/api/v4/projects/1/wikis/attachments" -``` - -响应示例: - -``` -{ "file_name" : "dk.png", "file_path" : "uploads/6a061c4cf9f1c28cb22c384b4b8d4e3c/dk.png", "branch" : "master", "link" : { "url" : "uploads/6a061c4cf9f1c28cb22c384b4b8d4e3c/dk.png", "markdown" : "![dk](uploads/6a061c4cf9f1c28cb22c384b4b8d4e3c/dk.png)" } } -``` \ No newline at end of file diff --git a/docs/384.md b/docs/384.md deleted file mode 100644 index d23f943..0000000 --- a/docs/384.md +++ /dev/null @@ -1,83 +0,0 @@ -# GraphQL API - -> 原文:[https://docs.gitlab.com/ee/api/graphql/](https://docs.gitlab.com/ee/api/graphql/) - -* [Getting Started](#getting-started) - * [Quick Reference](#quick-reference) - * [GraphiQL](#graphiql) -* [What is GraphQL?](#what-is-graphql) -* [Vision](#vision) -* [Available queries](#available-queries) - * [Multiplex queries](#multiplex-queries) -* [Reference](#reference) - -# GraphQL API[](#graphql-api "Permalink") - -版本历史 - -* 在 GitLab 11.0 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/19008) (由功能标志`graphql`启用). -* [始终](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/30444)在 GitLab 12.1 中[启用](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/30444) . - -## Getting Started[](#getting-started "Permalink") - -有关 GitLab GraphQL API 的新知识,请参见 GitLab GraphQL API [入门](getting_started.html) . - -### Quick Reference[](#quick-reference "Permalink") - -* GitLab 的 GraphQL API 端点位于`/api/graphql` . -* [从 graphql.org](https://s0graphql0org.icopy.site/)获得[GraphQL 的简介](https://s0graphql0org.icopy.site/) . -* GitLab 支持广泛的资源,在[GraphQL API Reference 中](reference/index.html)列出. - -#### GraphiQL[](#graphiql "Permalink") - -使用交互式[GraphiQL](https://gitlab.com/-/graphql-explorer)浏览器浏览 GraphQL API,或在`https:///-/graphql-explorer`上的自管理 GitLab 实例上`https:///-/graphql-explorer` . - -有关 GraphiQL Explorer 的更多信息,请参见[GitLab GraphQL 概述](getting_started.html#graphiql) . - -## What is GraphQL?[](#what-is-graphql "Permalink") - -[GraphQL](https://s0graphql0org.icopy.site/)是 API 的查询语言,它允许客户端准确地请求他们所需的数据,从而有可能在有限数量的请求中获得所有必需的数据. - -可以以类型的形式描述 GraphQL 数据(字段),从而允许客户端使用[客户端 GraphQL 库](https://s0graphql0org.icopy.site/code/)来使用 API​​并避免手动解析. - -由于没有固定的端点和数据模型,因此可以在不进行重大更改的情况下将新功能添加到 API. 这使我们可以拥有[GraphQL 文档](https://s0graphql0org.icopy.site/learn/best-practices/)中[所述的无](https://s0graphql0org.icopy.site/learn/best-practices/)版本 API. - -## Vision[](#vision "Permalink") - -我们希望 GraphQL API 是与 GitLab 进行编程交互的**主要**方式. 为此,它需要全面覆盖-REST API 中可能的一切在 GraphQL API 中也应该可行. - -为了帮助我们实现这一愿景,前端应优先使用 GraphQL 而不是 REST API 的新功能. - -There are no plans to deprecate the REST API. To reduce the technical burden of supporting two APIs in parallel, they should share implementations as much as possible. - -## Available queries[](#available-queries "Permalink") - -GraphQL API 在根级别包含以下查询: - -1. `project` :项目信息及其许多关联,例如问题和合并请求. -2. `group` :基本组信息和史诗 目前受支持. -3. `user` :有关特定用户的信息. -4. `namespace` :在名称空间内,也可以提取`projects` . -5. `currentUser` :有关当前登录用户的信息. -6. `users` :有关用户集合的信息. -7. `metaData` :有关 GitLab 和 GraphQL API 的元数据. -8. `snippets` :当前登录用户可见的`snippets` . - -新的关联和根级别对象正在不断添加. 有关最新信息,请参见《 [GraphQL API 参考](reference/index.html) 》. - -根级查询在[`app/graphql/types/query_type.rb`](https://gitlab.com/gitlab-org/gitlab/blob/master/app/graphql/types/query_type.rb) . - -### Multiplex queries[](#multiplex-queries "Permalink") - -GitLab 支持使用[apollo-link-batch-http 将](https://www.apollographql.com/docs/link/links/batch-http/)查询批量处理为单个请求. GitLab 在后端使用的库[GraphQL Ruby](https://graphql-ruby.org/queries/multiplex.html)也提供了有关多路查询的更多信息. - -## Reference[](#reference "Permalink") - -GitLab 的 GraphQL 参考[可用](reference/index.html) . - -它是从 GitLab 的 GraphQL 模式自动生成的,并嵌入到 Markdown 文件中. - -机器可读版本也可用: - -* [JSON format](reference/gitlab_schema.json) -* [IDL format](reference/gitlab_schema.graphql) \ No newline at end of file diff --git a/docs/385.md b/docs/385.md deleted file mode 100644 index 73759a0..0000000 --- a/docs/385.md +++ /dev/null @@ -1,203 +0,0 @@ -# Getting started with GitLab GraphQL API - -> 原文:[https://docs.gitlab.com/ee/api/graphql/getting_started.html](https://docs.gitlab.com/ee/api/graphql/getting_started.html) - -* [Running examples](#running-examples) - * [Command line](#command-line) - * [GraphiQL](#graphiql) -* [Queries and mutations](#queries-and-mutations) - * [Graph traversal](#graph-traversal) - * [Authorization](#authorization) - * [Mutations](#mutations) - * [Creation mutations](#creation-mutations) - * [Update mutations](#update-mutations) - * [Deletion mutations](#deletion-mutations) - * [Introspective queries](#introspective-queries) -* [Sorting](#sorting) -* [Pagination](#pagination) - -# Getting started with GitLab GraphQL API[](#getting-started-with-gitlab-graphql-api "Permalink") - -本指南演示了 GitLab 的 GraphQL API 的基本用法. - -请参见[GraphQL API 样式指南,](../../development/api_graphql_styleguide.html)以了解针对希望开发 API 本身的开发人员的实现细节. - -## Running examples[](#running-examples "Permalink") - -此处记录的示例可以使用以下命令运行: - -* 命令行. -* GraphiQL. - -### Command line[](#command-line "Permalink") - -您可以在本地计算机上的命令行中的`curl`请求中运行 GraphQL 查询. 可以将 GraphQL 请求作为对`/api/graphql`的`POST`请求,并将查询作为有效负载. 您可以通过生成[个人访问令牌](../../user/profile/personal_access_tokens.html)以用作承载令牌来授权您的请求. - -Example: - -``` -GRAPHQL_TOKEN= -curl 'https://gitlab.com/api/graphql' --header "Authorization: Bearer $GRAPHQL_TOKEN" --header "Content-Type: application/json" --request POST --data "{\"query\": \"query {currentUser {name}}\"}" -``` - -### GraphiQL[](#graphiql "Permalink") - -GraphiQL(发音为"图形")允许您使用语法突出显示和自动完成功能直接针对服务器端点运行查询. 它还允许您探索模式和类型. - -下面的例子: - -* 可以直接在 GitLab 11.0 或更高版本上运行,尽管某些类型和字段在较早的版本中可能不受支持. -* 无需任何进一步设置即可在 GitLab.com 上运行. 确保您已登录并导航到[GraphiQL Explorer](https://gitlab.com/-/graphql-explorer) . - -如果要在本地或在自管实例上运行查询,则需要执行以下任一操作: - -* 创建`gitlab-org`组,并在其下创建一个名为`graphql-sandbox`的项目. 在项目中创建多个问题. -* 编辑查询以将`gitlab-org/graphql-sandbox`替换为您自己的组和项目. - -有关更多信息,请参考[运行 GraphiQL](index.html#graphiql) . - -**注意:**如果您正在运行 GitLab 11.0 到 12.0,请启用`graphql` [功能标记](../features.html#set-or-create-a-feature) . - -## Queries and mutations[](#queries-and-mutations "Permalink") - -GitLab GraphQL API 可用于执行: - -* 数据检索查询. -* 用于创建,更新和删除数据的[突变](#mutations) . - -**注意:**在 GitLab GraphQL API 中, `id`通常是指全局 ID,它是对象标识符,格式为`gid://gitlab/Issue/123` . - -[GitLab 的 GraphQL Schema](reference/index.html)概述了哪些对象和字段可供客户端查询以及它们对应的数据类型. - -示例:在`gitlab-org`组中,仅获取当前登录用户可以访问的所有项目的名称(最大限制,稍后再介绍). - -``` -query { group(fullPath: "gitlab-org") { id name projects { nodes { name } } } } -``` - -示例:获得一个特定的项目和标题#2. - -``` -query { project(fullPath: "gitlab-org/graphql-sandbox") { name issue(iid: "2") { title } } } -``` - -### Graph traversal[](#graph-traversal "Permalink") - -检索子节点时,请使用: - -* the `edges { node { } }` syntax. -* 缩写形式`nodes { }`语法. - -在它的下面是一个我们正在遍历的图,因此命名为 GraphQL. - -示例:获得一个项目(仅名称)及其所有期刊的标题. - -``` -query { project(fullPath: "gitlab-org/graphql-sandbox") { name issues { nodes { title description } } } } -``` - -有关查询的更多信息: [GraphQL 文档](https://s0graphql0org.icopy.site/learn/queries/) - -### Authorization[](#authorization "Permalink") - -授权使用与 GitLab 应用程序(和 GitLab.com)相同的引擎. 因此,如果您已经登录到 GitLab 并使用 GraphiQL,则所有查询都将以您(登录用户)的身份执行. 有关更多信息,请参见[GitLab API 文档](../README.html#authentication) . - -### Mutations[](#mutations "Permalink") - -变异会改变数据. 我们可以更新,删除或创建新记录. 变异通常使用 InputTypes 和变量,在此都不会出现. - -变异有: - -* 输入. 例如,参数,例如您想要授予的表情符号以及对象. -* 返回语句. 也就是说,成功后您希望获得什么. -* 错误. 总是问出什么问题了,以防万一. - -#### Creation mutations[](#creation-mutations "Permalink") - -示例:让我们喝点茶-在问题中添加`:tea:`反应表情符号. - -``` -mutation { awardEmojiAdd(input: { awardableId: "gid://gitlab/Issue/27039960", name: "tea" }) { awardEmoji { name description unicode emoji unicodeVersion user { name } } errors } } -``` - -示例:在问题上添加评论(我们使用的是`GitLab.com`问题的 ID,但是如果您使用的是本地实例,则需要获取可以写入的问题的 ID). - -``` -mutation { createNote(input: { noteableId: "gid://gitlab/Issue/27039960", body: "*sips tea*" }) { note { id body discussion { id } } errors } } -``` - -#### Update mutations[](#update-mutations "Permalink") - -当您看到创建的注释的结果`id`时,请记下它. 现在,让我们对其进行编辑以更快地 ip 饮! - -``` -mutation { updateNote(input: { id: "gid://gitlab/Note/", body: "*SIPS TEA*" }) { note { id body } errors } } -``` - -#### Deletion mutations[](#deletion-mutations "Permalink") - -让我们删除评论,因为我们的茶都没了. - -``` -mutation { destroyNote(input: { id: "gid://gitlab/Note/" }) { note { id body } errors } } -``` - -您应该得到类似以下输出的内容: - -``` -{ "data": { "destroyNote": { "errors": [], "note": null } } } -``` - -我们已经要求提供注释的详细信息,但是它不再存在,因此我们得到`null` . - -有关突变的更多信息: [GraphQL Docs](https://s0graphql0org.icopy.site/learn/queries/) . - -### Introspective queries[](#introspective-queries "Permalink") - -客户端可以查询 GraphQL 端点以获取有关其自身架构的信息. 通过进行[内省性查询](https://s0graphql0org.icopy.site/learn/introspection/) . - -通过自省查询, [GraphiQL 查询资源管理器](https://gitlab.com/-/graphql-explorer)获得了有关我们的 GraphQL 模式的所有知识,以执行自动补全并提供其交互式`Docs`选项卡. - -示例:获取架构中的所有类型名称. - -``` -{ __schema { types { name } } } -``` - -示例:获取与 Issue 相关的所有字段. `kind`告诉我们该类型的枚举值,例如`OBJECT` , `SCALAR`或`INTERFACE` . - -``` -query IssueTypes { __type(name: "Issue") { kind name fields { name description type { name } } } } -``` - -有关自省的更多信息: [GraphQL 文档](https://s0graphql0org.icopy.site/learn/introspection/) - -## Sorting[](#sorting "Permalink") - -GitLab 的一些 GraphQL 端点允许您指定想要对对象集合进行排序的方式. 您只能按架构允许的排序. - -示例:可以按创建日期对问题进行排序: - -``` -query { project(fullPath: "gitlab-org/graphql-sandbox") { name issues(sort: created_asc) { nodes { title createdAt } } } } -``` - -## Pagination[](#pagination "Permalink") - -分页是仅询问记录子集(例如前 10 个)的一种方法. 如果我们想要更多,我们可以从服务器再次请求下 10 条记录(例如"请给我下 10 条记录"). - -默认情况下,GitLab 的 GraphQL API 将仅返回任何集合的前 100 条记录. 可以使用`first`或`last`参数来更改. 这两个参数都有一个值,因此`first: 10`将返回前 10 条记录, `last: 10`将最后 10 条记录. - -示例:仅检索前两个问题(切片). `cursor`字段为我们提供了一个位置,从中可以检索相对于该位置的其他记录. - -``` -query { project(fullPath: "gitlab-org/graphql-sandbox") { name issues(first: 2) { edges { node { title } } pageInfo { endCursor hasNextPage } } } } -``` - -示例:检索下一个 3.(游标值`eyJpZCI6IjI3MDM4OTMzIiwiY3JlYXRlZF9hdCI6IjIwMTktMTEtMTQgMDU6NTY6NDQgVVRDIn0`可能有所不同,但它是上面返回的第二个问题返回的`cursor`值.) - -``` -query { project(fullPath: "gitlab-org/graphql-sandbox") { name issues(first: 3, after: "eyJpZCI6IjI3MDM4OTMzIiwiY3JlYXRlZF9hdCI6IjIwMTktMTEtMTQgMDU6NTY6NDQgVVRDIn0") { edges { node { title } cursor } pageInfo { endCursor hasNextPage } } } } -``` - -有关分页和游标的更多信息: [GraphQL 文档](https://s0graphql0org.icopy.site/learn/pagination/) \ No newline at end of file diff --git a/docs/386.md b/docs/386.md deleted file mode 100644 index 02674e7..0000000 --- a/docs/386.md +++ /dev/null @@ -1,2524 +0,0 @@ -# GraphQL API Resources - -> 原文:[https://docs.gitlab.com/ee/api/graphql/reference/](https://docs.gitlab.com/ee/api/graphql/reference/) - -* [AccessLevel](#accesslevel) -* [AddAwardEmojiPayload](#addawardemojipayload) -* [AddProjectToSecurityDashboardPayload](#addprojecttosecuritydashboardpayload) -* [AdminSidekiqQueuesDeleteJobsPayload](#adminsidekiqqueuesdeletejobspayload) -* [AlertManagementAlert](#alertmanagementalert) -* [AlertManagementAlertStatusCountsType](#alertmanagementalertstatuscountstype) -* [AlertSetAssigneesPayload](#alertsetassigneespayload) -* [AlertTodoCreatePayload](#alerttodocreatepayload) -* [AwardEmoji](#awardemoji) -* [AwardEmojiAddPayload](#awardemojiaddpayload) -* [AwardEmojiRemovePayload](#awardemojiremovepayload) -* [AwardEmojiTogglePayload](#awardemojitogglepayload) -* [BaseService](#baseservice) -* [Blob](#blob) -* [Board](#board) -* [BoardList](#boardlist) -* [BoardListUpdateLimitMetricsPayload](#boardlistupdatelimitmetricspayload) -* [Branch](#branch) -* [Commit](#commit) -* [CommitCreatePayload](#commitcreatepayload) -* [ComplianceFramework](#complianceframework) -* [ContainerExpirationPolicy](#containerexpirationpolicy) -* [CreateAlertIssuePayload](#createalertissuepayload) -* [CreateAnnotationPayload](#createannotationpayload) -* [CreateBranchPayload](#createbranchpayload) -* [CreateDiffNotePayload](#creatediffnotepayload) -* [CreateEpicPayload](#createepicpayload) -* [CreateImageDiffNotePayload](#createimagediffnotepayload) -* [CreateIterationPayload](#createiterationpayload) -* [CreateNotePayload](#createnotepayload) -* [CreateRequirementPayload](#createrequirementpayload) -* [CreateSnippetPayload](#createsnippetpayload) -* [DastSiteProfileCreatePayload](#dastsiteprofilecreatepayload) -* [DeleteAnnotationPayload](#deleteannotationpayload) -* [DeleteJobsResponse](#deletejobsresponse) -* [Design](#design) -* [DesignAtVersion](#designatversion) -* [DesignCollection](#designcollection) -* [DesignManagement](#designmanagement) -* [DesignManagementDeletePayload](#designmanagementdeletepayload) -* [DesignManagementUploadPayload](#designmanagementuploadpayload) -* [DesignVersion](#designversion) -* [DestroyNotePayload](#destroynotepayload) -* [DestroySnippetPayload](#destroysnippetpayload) -* [DetailedStatus](#detailedstatus) -* [DiffPosition](#diffposition) -* [DiffRefs](#diffrefs) -* [DiffStats](#diffstats) -* [DiffStatsSummary](#diffstatssummary) -* [Discussion](#discussion) -* [DiscussionToggleResolvePayload](#discussiontoggleresolvepayload) -* [DismissVulnerabilityPayload](#dismissvulnerabilitypayload) -* [Environment](#environment) -* [Epic](#epic) -* [EpicAddIssuePayload](#epicaddissuepayload) -* [EpicDescendantCount](#epicdescendantcount) -* [EpicDescendantWeights](#epicdescendantweights) -* [EpicHealthStatus](#epichealthstatus) -* [EpicIssue](#epicissue) -* [EpicPermissions](#epicpermissions) -* [EpicSetSubscriptionPayload](#epicsetsubscriptionpayload) -* [EpicTreeReorderPayload](#epictreereorderpayload) -* [GeoNode](#geonode) -* [GrafanaIntegration](#grafanaintegration) -* [Group](#group) -* [GroupMember](#groupmember) -* [GroupPermissions](#grouppermissions) -* [Issue](#issue) -* [IssuePermissions](#issuepermissions) -* [IssueSetConfidentialPayload](#issuesetconfidentialpayload) -* [IssueSetDueDatePayload](#issuesetduedatepayload) -* [IssueSetIterationPayload](#issuesetiterationpayload) -* [IssueSetLockedPayload](#issuesetlockedpayload) -* [IssueSetWeightPayload](#issuesetweightpayload) -* [Iteration](#iteration) -* [JiraImport](#jiraimport) -* [JiraImportStartPayload](#jiraimportstartpayload) -* [JiraImportUsersPayload](#jiraimportuserspayload) -* [JiraProject](#jiraproject) -* [JiraService](#jiraservice) -* [JiraUser](#jirauser) -* [Label](#label) -* [MarkAsSpamSnippetPayload](#markasspamsnippetpayload) -* [MergeRequest](#mergerequest) -* [MergeRequestCreatePayload](#mergerequestcreatepayload) -* [MergeRequestPermissions](#mergerequestpermissions) -* [MergeRequestSetAssigneesPayload](#mergerequestsetassigneespayload) -* [MergeRequestSetLabelsPayload](#mergerequestsetlabelspayload) -* [MergeRequestSetLockedPayload](#mergerequestsetlockedpayload) -* [MergeRequestSetMilestonePayload](#mergerequestsetmilestonepayload) -* [MergeRequestSetSubscriptionPayload](#mergerequestsetsubscriptionpayload) -* [MergeRequestSetWipPayload](#mergerequestsetwippayload) -* [MergeRequestUpdatePayload](#mergerequestupdatepayload) -* [Metadata](#metadata) -* [MetricsDashboard](#metricsdashboard) -* [MetricsDashboardAnnotation](#metricsdashboardannotation) -* [Milestone](#milestone) -* [MilestoneStats](#milestonestats) -* [Namespace](#namespace) -* [Note](#note) -* [NotePermissions](#notepermissions) -* [Package](#package) -* [PackageFileRegistry](#packagefileregistry) -* [PageInfo](#pageinfo) -* [Pipeline](#pipeline) -* [PipelinePermissions](#pipelinepermissions) -* [Project](#project) -* [ProjectMember](#projectmember) -* [ProjectPermissions](#projectpermissions) -* [ProjectStatistics](#projectstatistics) -* [Release](#release) -* [ReleaseAssetLink](#releaseassetlink) -* [ReleaseAssets](#releaseassets) -* [ReleaseEvidence](#releaseevidence) -* [ReleaseLinks](#releaselinks) -* [ReleaseSource](#releasesource) -* [RemoveAwardEmojiPayload](#removeawardemojipayload) -* [RemoveProjectFromSecurityDashboardPayload](#removeprojectfromsecuritydashboardpayload) -* [Repository](#repository) -* [Requirement](#requirement) -* [RequirementPermissions](#requirementpermissions) -* [RequirementStatesCount](#requirementstatescount) -* [RootStorageStatistics](#rootstoragestatistics) -* [RunDASTScanPayload](#rundastscanpayload) -* [SastCiConfigurationAnalyzersEntity](#sastciconfigurationanalyzersentity) -* [SastCiConfigurationEntity](#sastciconfigurationentity) -* [SastCiConfigurationOptionsEntity](#sastciconfigurationoptionsentity) -* [ScannedResource](#scannedresource) -* [SecurityReportSummary](#securityreportsummary) -* [SecurityReportSummarySection](#securityreportsummarysection) -* [SecurityScanners](#securityscanners) -* [SentryDetailedError](#sentrydetailederror) -* [SentryError](#sentryerror) -* [SentryErrorCollection](#sentryerrorcollection) -* [SentryErrorFrequency](#sentryerrorfrequency) -* [SentryErrorStackTrace](#sentryerrorstacktrace) -* [SentryErrorStackTraceContext](#sentryerrorstacktracecontext) -* [SentryErrorStackTraceEntry](#sentryerrorstacktraceentry) -* [SentryErrorTags](#sentryerrortags) -* [Snippet](#snippet) -* [SnippetBlob](#snippetblob) -* [SnippetBlobViewer](#snippetblobviewer) -* [SnippetPermissions](#snippetpermissions) -* [Submodule](#submodule) -* [TaskCompletionStatus](#taskcompletionstatus) -* [TestReport](#testreport) -* [Timelog](#timelog) -* [Todo](#todo) -* [TodoMarkDonePayload](#todomarkdonepayload) -* [TodoRestoreManyPayload](#todorestoremanypayload) -* [TodoRestorePayload](#todorestorepayload) -* [TodosMarkAllDonePayload](#todosmarkalldonepayload) -* [ToggleAwardEmojiPayload](#toggleawardemojipayload) -* [Tree](#tree) -* [TreeEntry](#treeentry) -* [UpdateAlertStatusPayload](#updatealertstatuspayload) -* [UpdateContainerExpirationPolicyPayload](#updatecontainerexpirationpolicypayload) -* [UpdateEpicPayload](#updateepicpayload) -* [UpdateImageDiffNotePayload](#updateimagediffnotepayload) -* [UpdateIssuePayload](#updateissuepayload) -* [UpdateIterationPayload](#updateiterationpayload) -* [UpdateNotePayload](#updatenotepayload) -* [UpdateRequirementPayload](#updaterequirementpayload) -* [UpdateSnippetPayload](#updatesnippetpayload) -* [User](#user) -* [UserPermissions](#userpermissions) -* [VulnerabilitiesCountByDayAndSeverity](#vulnerabilitiescountbydayandseverity) -* [Vulnerability](#vulnerability) -* [VulnerabilityIdentifier](#vulnerabilityidentifier) -* [VulnerabilityIssueLink](#vulnerabilityissuelink) -* [VulnerabilityLocationContainerScanning](#vulnerabilitylocationcontainerscanning) -* [VulnerabilityLocationDast](#vulnerabilitylocationdast) -* [VulnerabilityLocationDependencyScanning](#vulnerabilitylocationdependencyscanning) -* [VulnerabilityLocationSast](#vulnerabilitylocationsast) -* [VulnerabilityLocationSecretDetection](#vulnerabilitylocationsecretdetection) -* [VulnerabilityPermissions](#vulnerabilitypermissions) -* [VulnerabilityScanner](#vulnerabilityscanner) -* [VulnerabilitySeveritiesCount](#vulnerabilityseveritiescount) -* [VulnerableDependency](#vulnerabledependency) -* [VulnerablePackage](#vulnerablepackage) - -# GraphQL API Resources[](#graphql-api-resources "Permalink") - -本文档是基于 GitLab 当前的 GraphQL 模式自行生成的. - -可以使用[GraphiQL IDE](../index.html#graphiql)交互式地探索该 API. - -下表每个都记录了 GraphQL 类型. 类型可以轻松地与模型匹配,但是并非所有的字段和方法都可以通过 GraphQL 获得. - -**警告:**不推荐使用的字段标有 . - -## AccessLevel[](#accesslevel "Permalink") - -表示用户与之相关的对象之间的关系的访问级别 - -| Name | Type | Description | -| --- | --- | --- | -| `integerValue` | Int | 访问级别的整数表示 | -| `stringValue` | AccessLevelEnum | 访问级别的字符串表示形式 | - -## AddAwardEmojiPayload[](#addawardemojipayload "Permalink") - -自动生成的 AddAwardEmoji 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `awardEmoji` | AwardEmoji | 突变后的奖励表情符号 | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | - -## AddProjectToSecurityDashboardPayload[](#addprojecttosecuritydashboardpayload "Permalink") - -自动生成的 AddProjectToSecurityDashboard 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `project` | Project | 添加到 Instance Security 仪表盘的项目 | - -## AdminSidekiqQueuesDeleteJobsPayload[](#adminsidekiqqueuesdeletejobspayload "Permalink") - -自动生成的 AdminSidekiqQueuesDeleteJobs 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `result` | DeleteJobsResponse | 有关删除请求状态的信息 | - -## AlertManagementAlert[](#alertmanagementalert "Permalink") - -描述来自项目警报管理的警报 - -| Name | Type | Description | -| --- | --- | --- | -| `createdAt` | Time | 创建警报的时间戳 | -| `description` | String | 警报说明 | -| `details` | JSON | 警报详细信息 | -| `endedAt` | Time | 警报结束的时间戳记 | -| `eventCount` | Int | 此警报的事件数 | -| `hosts` | 串! =>数组 | 警报来自的主机列表 | -| `iid` | ID! | 警报的内部 ID | -| `issueIid` | ID | 警报附带的 GitLab 问题的内部 ID | -| `metricsDashboardUrl` | String | 嵌入警报的指标的 URL | -| `monitoringTool` | String | 警报来自的监视工具 | -| `service` | String | 服务警报来自 | -| `severity` | AlertManagementSeverity | 警报的严重程度 | -| `startedAt` | Time | 发出警报的时间戳记 | -| `status` | AlertManagementStatus | 警报状态 | -| `title` | String | 警报标题 | -| `updatedAt` | Time | 警报的时间戳记最新更新 | - -## AlertManagementAlertStatusCountsType[](#alertmanagementalertstatuscountstype "Permalink") - -代表所代表类别的警报总数 - -| Name | Type | Description | -| --- | --- | --- | -| `acknowledged` | Int | 项目状态为 ACKNOWLEDGED 的警报数 | -| `all` | Int | 项目警报总数 | -| `ignored` | Int | 项目状态为 IGNORED 的警报数 | -| `open` | Int | 项目状态为 TRIGGERED 或 ACKNOWLEDGED 的警报数 | -| `resolved` | Int | 项目状态为"已解决"的警报数 | -| `triggered` | Int | 项目状态为 TRIGGERED 的警报数 | - -## AlertSetAssigneesPayload[](#alertsetassigneespayload "Permalink") - -自动生成的 AlertSetAssignees 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `alert` | AlertManagementAlert | 突变后的警报 | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `issue` | Issue | 突变后产生的问题 | -| `todo` | Todo | 突变后的待办事项 | - -## AlertTodoCreatePayload[](#alerttodocreatepayload "Permalink") - -自动生成的 AlertTodoCreate 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `alert` | AlertManagementAlert | 突变后的警报 | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `issue` | Issue | 突变后产生的问题 | -| `todo` | Todo | 突变后的待办事项 | - -## AwardEmoji[](#awardemoji "Permalink") - -用户授予的表情符号. - -| Name | Type | Description | -| --- | --- | --- | -| `description` | String! | 表情符号说明 | -| `emoji` | String! | 表情符号作为图标 | -| `name` | String! | 表情符号名称 | -| `unicode` | String! | Unicode 中的表情符号 | -| `unicodeVersion` | String! | 此表情符号的 unicode 版本 | -| `user` | User! | 授予表情符号的用户 | - -## AwardEmojiAddPayload[](#awardemojiaddpayload "Permalink") - -自动生成的 AwardEmojiAdd 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `awardEmoji` | AwardEmoji | 突变后的奖励表情符号 | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | - -## AwardEmojiRemovePayload[](#awardemojiremovepayload "Permalink") - -自动生成的 AwardEmoji 退货类型 - -| Name | Type | Description | -| --- | --- | --- | -| `awardEmoji` | AwardEmoji | The award emoji after mutation | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | - -## AwardEmojiTogglePayload[](#awardemojitogglepayload "Permalink") - -自动生成的 AwardEmojiToggle 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `awardEmoji` | AwardEmoji | 突变后的奖励表情符号 | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `toggledOn` | Boolean! | 指示表情符号的状态. 如果切换开关授予表情符号,则为 true;如果切换开关删除了表情符号,则为 false. | - -## BaseService[](#baseservice "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `active` | Boolean | 指示服务是否处于活动状态 | -| `type` | String | 服务的类别名称 | - -## Blob[](#blob "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `flatPath` | String! | 条目的平坦路径 | -| `id` | ID! | 条目 ID | -| `lfsOid` | String | Blob 的 LFS ID | -| `mode` | String | 数字格式的 Blob 模式 | -| `name` | String! | 条目名称 | -| `path` | String! | 条目路径 | -| `sha` | String! | 提交的最后提交 sha | -| `type` | EntryType! | 树条目的类型 | -| `webUrl` | String | Blob 的网址 | - -## Board[](#board "Permalink") - -代表一个项目或小组委员会 - -| Name | Type | Description | -| --- | --- | --- | -| `id` | ID! | 单板的 ID(全局 ID) | -| `name` | String | 董事会名称 | -| `weight` | Int | 木板重量 | - -## BoardList[](#boardlist "Permalink") - -代表发行板的列表 - -| Name | Type | Description | -| --- | --- | --- | -| `assignee` | User | 列表中的受让人 | -| `collapsed` | Boolean | 指示此用户的列表是否折叠 | -| `id` | ID! | 列表的 ID(全局 ID) | -| `label` | Label | 清单标签 | -| `limitMetric` | ListLimitMetric | 列表的当前限制指标 | -| `listType` | String! | 清单类型 | -| `maxIssueCount` | Int | 列表中的最大问题数 | -| `maxIssueWeight` | Int | 清单中的最大问题权重 | -| `milestone` | Milestone | 名单的里程碑 | -| `position` | Int | 名单在董事会中的位置 | -| `title` | String! | 清单标题 | - -## BoardListUpdateLimitMetricsPayload[](#boardlistupdatelimitmetricspayload "Permalink") - -自动生成的 BoardListUpdateLimitMetrics 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `list` | BoardList | 更新清单 | - -## Branch[](#branch "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `commit` | Commit | 提交分支 | -| `name` | String! | 分行名称 | - -## Commit[](#commit "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `author` | User | 提交的作者 | -| `authorGravatar` | String | 提交作者 | -| `authorName` | String | 提交作者姓名 | -| `authoredDate` | Time | 提交提交的时间戳 | -| `description` | String | 提交消息的描述 | -| `id` | ID! | 提交的 ID(全局 ID) | -| `latestPipeline` | Pipeline | **不推荐使用:**使用`pipelines` . 在 12.5 中弃用 | -| `message` | String | 原始提交消息 | -| `sha` | String! | 提交的 SHA1 ID | -| `signatureHtml` | String | 提交签名的 HTML | -| `title` | String | 提交消息的标题 | -| `titleHtml` | String | GitLab 风味 Markdown `title`渲染 | -| `webUrl` | String! | 提交的 Web URL | - -## CommitCreatePayload[](#commitcreatepayload "Permalink") - -自动生成的 CommitCreate 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `commit` | Commit | 突变后的提交 | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | - -## ComplianceFramework[](#complianceframework "Permalink") - -表示与项目关联的 ComplianceFramework - -| Name | Type | Description | -| --- | --- | --- | -| `name` | ProjectSettingEnum! | 合规框架名称 | - -## ContainerExpirationPolicy[](#containerexpirationpolicy "Permalink") - -标签过期策略旨在仅保留最重要的图像 - -| Name | Type | Description | -| --- | --- | --- | -| `cadence` | ContainerExpirationPolicyCadenceEnum! | 该容器到期政策时间表 | -| `createdAt` | Time! | 创建容器到期策略的时间戳 | -| `enabled` | Boolean! | 指示是否启用了此容器过期策略 | -| `keepN` | ContainerExpirationPolicyKeepEnum | 要保留的标签数 | -| `nameRegex` | UntrustedRegexp | 名称与此正则表达式模式匹配的标签将过期 | -| `nameRegexKeep` | UntrustedRegexp | 名称与该正则表达式模式匹配的标签将被保留 | -| `nextRunAt` | Time | 下次该容器到期策略将被执行 | -| `olderThan` | ContainerExpirationPolicyOlderThanEnum | Tags older that this will expire | -| `updatedAt` | Time! | 容器过期策略更新的时间戳 | - -## CreateAlertIssuePayload[](#createalertissuepayload "Permalink") - -自动生成的 CreateAlertIssue 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `alert` | AlertManagementAlert | 突变后的警报 | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `issue` | Issue | 突变后产生的问题 | -| `todo` | Todo | 突变后的待办事项 | - -## CreateAnnotationPayload[](#createannotationpayload "Permalink") - -自动生成的 CreateAnnotation 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `annotation` | MetricsDashboardAnnotation | 创建的注释 | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | - -## CreateBranchPayload[](#createbranchpayload "Permalink") - -自动生成的 CreateBranch 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `branch` | Branch | 突变后分支 | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | - -## CreateDiffNotePayload[](#creatediffnotepayload "Permalink") - -自动生成的 CreateDiffNote 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `note` | Note | 突变后的音符 | - -## CreateEpicPayload[](#createepicpayload "Permalink") - -自动生成的 CreateEpic 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `epic` | Epic | 创造的史诗 | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | - -## CreateImageDiffNotePayload[](#createimagediffnotepayload "Permalink") - -自动生成的 CreateImageDiffNote 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `note` | Note | 突变后的音符 | - -## CreateIterationPayload[](#createiterationpayload "Permalink") - -自动生成的 CreateIteration 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `iteration` | Iteration | 创建的迭代 | - -## CreateNotePayload[](#createnotepayload "Permalink") - -自动生成的 CreateNote 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `note` | Note | 突变后的音符 | - -## CreateRequirementPayload[](#createrequirementpayload "Permalink") - -自动生成的 CreateRequirement 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `requirement` | Requirement | 突变后的要求 | - -## CreateSnippetPayload[](#createsnippetpayload "Permalink") - -自动生成的 CreateSnippet 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `snippet` | Snippet | 突变后的代码段 | - -## DastSiteProfileCreatePayload[](#dastsiteprofilecreatepayload "Permalink") - -自动生成的 DastSiteProfileCreate 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `id` | ID | 网站配置文件的 ID. | - -## DeleteAnnotationPayload[](#deleteannotationpayload "Permalink") - -自动生成的 DeleteAnnotation 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | - -## DeleteJobsResponse[](#deletejobsresponse "Permalink") - -来自 AdminSidekiqQueuesDeleteJobs 突变的响应. - -| Name | Type | Description | -| --- | --- | --- | -| `completed` | Boolean | 是否及时处理了整个队列; 如果没有,重试相同的请求是安全的 | -| `deletedJobs` | Int | 删除的匹配作业数 | -| `queueSize` | Int | 处理后的队列大小 | - -## Design[](#design "Permalink") - -单一设计 - -| Name | Type | Description | -| --- | --- | --- | -| `diffRefs` | DiffRefs! | 此设计的差异参考 | -| `event` | DesignVersionEvent! | 当前版本中该设计的更改方式 | -| `filename` | String! | 设计的文件名 | -| `fullPath` | String! | 设计文件的完整路径 | -| `id` | ID! | 此设计的 ID | -| `image` | String! | 完整尺寸图片的网址 | -| `imageV432x230` | String | 调整了设计网址的大小,以适合 432x230 的范围. 如果尚未生成图像,则为`null` | -| `issue` | Issue! | 设计属于的问题 | -| `notesCount` | Int! | 用户为此设计创建的注释总数 | -| `project` | Project! | 设计所属的项目 | - -## DesignAtVersion[](#designatversion "Permalink") - -固定到特定版本的设计. 图像字段反映了相关版本的设计. - -| Name | Type | Description | -| --- | --- | --- | -| `design` | Design! | 基础设计. | -| `diffRefs` | DiffRefs! | 此设计的差异参考 | -| `event` | DesignVersionEvent! | 当前版本中该设计的更改方式 | -| `filename` | String! | 设计的文件名 | -| `fullPath` | String! | 设计文件的完整路径 | -| `id` | ID! | 此设计的 ID | -| `image` | String! | 完整尺寸图片的网址 | -| `imageV432x230` | String | 调整了设计网址的大小,以适合 432x230 的范围. 如果尚未生成图像,则为`null` | -| `issue` | Issue! | 设计属于的问题 | -| `notesCount` | Int! | 用户为此设计创建的注释总数 | -| `project` | Project! | 设计所属的项目 | -| `version` | DesignVersion! | 此版本设计版本固定到的版本 | - -## DesignCollection[](#designcollection "Permalink") - -设计的集合. - -| Name | Type | Description | -| --- | --- | --- | -| `design` | Design | 查找特定的设计 | -| `designAtVersion` | DesignAtVersion | 查找版本设计 | -| `issue` | Issue! | 与设计收藏相关的问题 | -| `project` | Project! | 与设计收藏关联的项目 | -| `version` | DesignVersion | 特定版本 | - -## DesignManagement[](#designmanagement "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `designAtVersion` | DesignAtVersion | 查找版本设计 | -| `version` | DesignVersion | 查找版本 | - -## DesignManagementDeletePayload[](#designmanagementdeletepayload "Permalink") - -自动生成的 DesignManagementDelete 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `version` | DesignVersion | 删除了设计的新版本 | - -## DesignManagementUploadPayload[](#designmanagementuploadpayload "Permalink") - -自动生成的 DesignManagementUpload 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `designs` | 设计! =>数组 | 突变上传的设计 | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `skippedDesigns` | 设计! =>数组 | 由于上一版本以来其内容没有更改,因此从上载中跳过的任何设计 | - -## DesignVersion[](#designversion "Permalink") - -在其中添加,修改或删除设计的特定版本 - -| Name | Type | Description | -| --- | --- | --- | -| `designAtVersion` | DesignAtVersion! | 此版本的特定设计,只要该版本可见 | -| `id` | ID! | 设计版本号 | -| `sha` | ID! | 设计版本的 SHA | - -## DestroyNotePayload[](#destroynotepayload "Permalink") - -自动生成的销毁返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `note` | Note | 突变后的音符 | - -## DestroySnippetPayload[](#destroysnippetpayload "Permalink") - -自动生成的 DestroySnippet 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `snippet` | Snippet | 突变后的代码段 | - -## DetailedStatus[](#detailedstatus "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `detailsPath` | String! | 管道状态的详细信息路径 | -| `favicon` | String! | 管道状态图标 | -| `group` | String! | 组管道状态 | -| `hasDetails` | Boolean! | 指示管道状态是否有更多详细信息 | -| `icon` | String! | 管道状态图标 | -| `label` | String! | 管道状态标签 | -| `text` | String! | 管道状态文字 | -| `tooltip` | String! | 与管道状态相关的工具提示 | - -## DiffPosition[](#diffposition "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `diffRefs` | DiffRefs! | 评论时有关分支,HEAD 和基础的信息 | -| `filePath` | String! | 更改文件的路径 | -| `height` | Int | 图片总高度 | -| `newLine` | Int | HEAD SHA 上的线已更改 | -| `newPath` | String | HEAD SHA 上文件的路径 | -| `oldLine` | Int | 起始 SHA 上已更改的行 | -| `oldPath` | String | 起始 SHA 上文件的路径 | -| `positionType` | DiffPositionType! | 位置所指的文件类型 | -| `width` | Int | 图片总宽度 | -| `x` | Int | 笔记的 X 位置 | -| `y` | Int | 音符的 Y 位置 | - -## DiffRefs[](#diffrefs "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `baseSha` | String | Merge base of the branch the comment was made on | -| `headSha` | String! | 发表评论时,HEAD 的 SHA | -| `startSha` | String! | 与之比较的分支的 SHA | - -## DiffStats[](#diffstats "Permalink") - -更改为单个文件 - -| Name | Type | Description | -| --- | --- | --- | -| `additions` | Int! | 添加到此文件的行数 | -| `deletions` | Int! | 从此文件中删除的行数 | -| `path` | String! | 相对于存储库根的文件路径 | - -## DiffStatsSummary[](#diffstatssummary "Permalink") - -汇总汇总 - -| Name | Type | Description | -| --- | --- | --- | -| `additions` | Int! | 添加的行数 | -| `changes` | Int! | 行数已更改 | -| `deletions` | Int! | 删除的行数 | -| `fileCount` | Int! | 文件数量已更改 | - -## Discussion[](#discussion "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `createdAt` | Time! | 讨论创建的时间戳 | -| `id` | ID! | 讨论的 ID | -| `replyId` | ID! | 用来回复此讨论的 ID | -| `resolvable` | Boolean! | 指示对象是否可以解析 | -| `resolved` | Boolean! | 指示对象是否已解析 | -| `resolvedAt` | Time | 解析对象的时间戳 | -| `resolvedBy` | User | 解决对象的用户 | - -## DiscussionToggleResolvePayload[](#discussiontoggleresolvepayload "Permalink") - -自动生成的 DiscussionToggleResolve 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `discussion` | Discussion | 突变后的讨论 | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | - -## DismissVulnerabilityPayload[](#dismissvulnerabilitypayload "Permalink") - -自动生成的 DismissVulnerability 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `vulnerability` | Vulnerability | 解雇后的漏洞 | - -## Environment[](#environment "Permalink") - -描述项目的代码部署位置 - -| Name | Type | Description | -| --- | --- | --- | -| `id` | ID! | 环境 ID | -| `metricsDashboard` | MetricsDashboard | 环境的指标仪表板架构 | -| `name` | String! | 易读的环境名称 | -| `state` | String! | 环境状态,例如:可用/已停止 | - -## Epic[](#epic "Permalink") - -代表史诗. - -| Name | Type | Description | -| --- | --- | --- | -| `author` | User! | 史诗的作者 | -| `closedAt` | Time | 史诗关闭的时间戳 | -| `confidential` | Boolean | 指示该史诗是否为机密 | -| `createdAt` | Time | 史诗创作的时间戳 | -| `descendantCounts` | EpicDescendantCount | 打开和关闭的后代史诗和问题的数量 | -| `descendantWeightSum` | EpicDescendantWeights | 史诗及其后代中未解决和未解决问题的总权重 | -| `description` | String | 史诗的描述 | -| `downvotes` | Int! | 史诗获得的降票数 | -| `dueDate` | Time | 史诗的截止日期 | -| `dueDateFixed` | Time | 史诗的固定截止日期 | -| `dueDateFromMilestones` | Time | 从里程碑继承了史诗的到期日 | -| `dueDateIsFixed` | Boolean | 指示是否已手动设置截止日期 | -| `group` | Group! | 史诗所属的组 | -| `hasChildren` | Boolean! | 指示史诗是否有孩子 | -| `hasIssues` | Boolean! | 指示史诗是否有直接问题 | -| `hasParent` | Boolean! | 指示该史诗是否具有父史诗 | -| `healthStatus` | EpicHealthStatus | Current health status of the epic | -| `id` | ID! | 史诗编号 | -| `iid` | ID! | 史诗的内部 ID | -| `parent` | Epic | 史诗的父史诗 | -| `reference` | String! | 史诗的内部参考. 默认以缩写形式返回 | -| `relationPath` | String | 史诗问题的 URI 路径 | -| `relativePosition` | Int | 史诗在史诗树中的相对位置 | -| `startDate` | Time | 史诗的开始日期 | -| `startDateFixed` | Time | 固定的史诗开始日期 | -| `startDateFromMilestones` | Time | 从里程碑继承了史诗的开始日期 | -| `startDateIsFixed` | Boolean | 指示开始日期是否已手动设置 | -| `state` | EpicState! | 史诗般的状态 | -| `subscribed` | Boolean! | 指示当前登录的用户已订阅史诗 | -| `title` | String | 史诗的标题 | -| `updatedAt` | Time | 史诗最后一次活动的时间戳 | -| `upvotes` | Int! | 史诗已收到的投票数 | -| `userPermissions` | EpicPermissions! | 当前用户对该资源的权限 | -| `webPath` | String! | 史诗的网络路径 | -| `webUrl` | String! | 史诗的网址 | - -## EpicAddIssuePayload[](#epicaddissuepayload "Permalink") - -自动生成的 EpicAddIssue 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `epic` | Epic | 突变后的史诗 | -| `epicIssue` | EpicIssue | 史诗般的关系 | -| `errors` | 串! =>数组 | Errors encountered during execution of the mutation. | - -## EpicDescendantCount[](#epicdescendantcount "Permalink") - -后代史诗的计数. - -| Name | Type | Description | -| --- | --- | --- | -| `closedEpics` | Int | 封闭亚史诗数量 | -| `closedIssues` | Int | 已解决的史诗问题的数量 | -| `openedEpics` | Int | 打开的子史诗数量 | -| `openedIssues` | Int | 公开史诗问题的数量 | - -## EpicDescendantWeights[](#epicdescendantweights "Permalink") - -开放和封闭后代问题的总权重 - -| Name | Type | Description | -| --- | --- | --- | -| `closedIssues` | Int | 此史诗(包括史诗后代)中已完成(已关闭)期刊的总权重 | -| `openedIssues` | Int | 此史诗(包括史诗后代)中未解决问题的总权重 | - -## EpicHealthStatus[](#epichealthstatus "Permalink") - -儿童健康状况 - -| Name | Type | Description | -| --- | --- | --- | -| `issuesAtRisk` | Int | 有风险的问题数量 | -| `issuesNeedingAttention` | Int | 需要注意的问题数量 | -| `issuesOnTrack` | Int | 进行中的问题数量 | - -## EpicIssue[](#epicissue "Permalink") - -史诗与问题之间的关系 - -| Name | Type | Description | -| --- | --- | --- | -| `author` | User! | 造成问题的使用者 | -| `closedAt` | Time | 该问题何时结束的时间戳 | -| `confidential` | Boolean! | 表示问题是机密的 | -| `createdAt` | Time! | 问题创建时间的时间戳记 | -| `description` | String | 问题说明 | -| `descriptionHtml` | String | GitLab 风味 Markdown 渲染`description` | -| `designCollection` | DesignCollection | 与此问题相关的设计图像的收集 | -| `designs` | DesignCollection | **不推荐使用:**使用`designCollection` . 在 12.2 中弃用 | -| `discussionLocked` | Boolean! | 表示讨论已锁定在该问题上 | -| `downvotes` | Int! | 问题已收到的否决票数 | -| `dueDate` | Time | 发行日期 | -| `epic` | Epic | 此问题所属的史诗 | -| `epicIssueId` | ID! | 史诗般的关系的 ID | -| `healthStatus` | HealthStatus | 当前的健康状况. 如果禁用了`save_issuable_health_status`功能标志,则返回 null. | -| `id` | ID | 史诗关系的全局 ID | -| `iid` | ID! | 问题的内部 ID | -| `iteration` | Iteration | 迭代问题 | -| `milestone` | Milestone | 问题的里程碑 | -| `reference` | String! | 内部参考的问题. 默认以缩写形式返回 | -| `relationPath` | String | 史诗问题的 URI 路径 | -| `relativePosition` | Int | 问题的相对位置(用于在史诗树和问题板上定位) | -| `state` | IssueState! | 问题状态 | -| `subscribed` | Boolean! | 指示当前登录的用户已订阅该问题 | -| `taskCompletionStatus` | TaskCompletionStatus! | 问题的任务完成状态 | -| `timeEstimate` | Int! | 问题的时间估算 | -| `title` | String! | 问题标题 | -| `titleHtml` | String | GitLab 风味 Markdown `title`渲染 | -| `totalTimeSpent` | Int! | 报告在此问题上花费的总时间 | -| `updatedAt` | Time! | 问题上次更新的时间戳 | -| `upvotes` | Int! | 问题已收到的投票数 | -| `userNotesCount` | Int! | 用户对此问题的注释数 | -| `userPermissions` | IssuePermissions! | 当前用户对该资源的权限 | -| `webPath` | String! | 问题的网络路径 | -| `webUrl` | String! | 问题的网址 | -| `weight` | Int | 问题的权重 | - -## EpicPermissions[](#epicpermissions "Permalink") - -检查史诗级当前用户的权限 - -| Name | Type | Description | -| --- | --- | --- | -| `adminEpic` | Boolean! | 指示用户可以对此资源执行`admin_epic` | -| `awardEmoji` | Boolean! | 表示用户可以在此资源上执行`award_emoji` | -| `createEpic` | Boolean! | 指示用户可以在此资源上执行`create_epic` | -| `createNote` | Boolean! | 指示用户可以在此资源上执行`create_note` | -| `destroyEpic` | Boolean! | 指示用户可以对此资源执行`destroy_epic` | -| `readEpic` | Boolean! | 指示用户可以对此资源执行`read_epic` | -| `readEpicIid` | Boolean! | 指示用户可以对此资源执行`read_epic_iid` | -| `updateEpic` | Boolean! | 指示用户可以对此资源执行`update_epic` | - -## EpicSetSubscriptionPayload[](#epicsetsubscriptionpayload "Permalink") - -自动生成的 EpicSetSubscription 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `epic` | Epic | 突变后的史诗 | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | - -## EpicTreeReorderPayload[](#epictreereorderpayload "Permalink") - -自动生成的 EpicTreeReorder 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | - -## GeoNode[](#geonode "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `containerRepositoriesMaxCapacity` | Int | 此辅助节点的容器存储库同步的最大并发性 | -| `enabled` | Boolean | 指示是否启用了此地理节点 | -| `filesMaxCapacity` | Int | 此辅助节点的 LFS /附件回填的最大并发性 | -| `id` | ID! | 此 GeoNode 的 ID | -| `internalUrl` | String | 在主节点上定义的 URL,辅助节点应使用该 URL 与之联系 | -| `minimumReverificationInterval` | Int | 存储库验证有效的时间间隔(以天为单位). 一旦过期,它将被重新验证 | -| `name` | String | 此地理节点的唯一标识符 | -| `primary` | Boolean | 指示此地理节点是否为主要节点 | -| `reposMaxCapacity` | Int | 此辅助节点的存储库回填的最大并发性 | -| `selectiveSyncShards` | 串! =>数组 | 如果`selective_sync_type` == `shards` ,应同步其项目的存储库存储 | -| `selectiveSyncType` | String | 指示同步是否仅限于特定的组或分片 | -| `syncObjectStorage` | Boolean | 指示此辅助节点是否将复制对象存储中的 Blob | -| `url` | String | 此地理位置节点的面向用户的网址 | -| `verificationMaxCapacity` | Int | 此辅助节点的存储库验证的最大并发性 | - -## GrafanaIntegration[](#grafanaintegration "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `createdAt` | Time! | 问题创建的时间戳 | -| `enabled` | Boolean! | 指示是否启用 Grafana 集成 | -| `grafanaUrl` | String! | 用于 Grafana 集成的 Grafana 主机的 URL | -| `id` | ID! | Grafana 集成的内部 ID | -| `token` | String! | **不推荐使用:**出于安全原因,纯文本令牌已被屏蔽. 在 12.7 中弃用 | -| `updatedAt` | Time! | 问题上次活动的时间戳 | - -## Group[](#group "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `autoDevopsEnabled` | Boolean | 指示是否为该组内的所有项目启用了 Auto DevOps | -| `avatarUrl` | String | 群组的头像网址 | -| `board` | Board | 小组的一个董事会 | -| `description` | String | 命名空间的描述 | -| `descriptionHtml` | String | GitLab 风味 Markdown 渲染`description` | -| `emailsDisabled` | Boolean | 指示组是否禁用了电子邮件通知 | -| `epic` | Epic | 查找单个史诗 | -| `epicsEnabled` | Boolean | 指示是否为名称空间启用了 Epics | -| `fullName` | String! | 命名空间的全名 | -| `fullPath` | ID! | 命名空间的完整路径 | -| `groupTimelogsEnabled` | Boolean | 指示是否为名称空间启用了组时间日志 | -| `id` | ID! | 命名空间的 ID | -| `label` | Label | 该组可用的标签 | -| `lfsEnabled` | Boolean | 指示是否为名称空间启用了大文件存储(LFS) | -| `mentionsDisabled` | Boolean | 指示是否禁止某人被提及 | -| `name` | String! | 命名空间的名称 | -| `parent` | Group | 家长组 | -| `path` | String! | 命名空间的路径 | -| `projectCreationLevel` | String | 在组中创建项目所需的权限级别 | -| `requestAccessEnabled` | Boolean | 指示用户是否可以请求访问名称空间 | -| `requireTwoFactorAuthentication` | Boolean | 指示是否需要该组中的所有用户来设置两因素身份验证 | -| `rootStorageStatistics` | RootStorageStatistics | 命名空间的聚合存储统计信息. 仅适用于根名称空间 | -| `shareWithGroupLock` | Boolean | 指示是否禁止与该组中的另一个组共享项目 | -| `storageSizeLimit` | Float | 根名称空间的总存储限制(以字节为单位) | -| `subgroupCreationLevel` | String | 在组内创建子组所需的权限级别 | -| `temporaryStorageIncreaseEndsOn` | Time | 直到临时存储增加生效的日期 | -| `twoFactorGracePeriod` | Int | 强制执行两因素身份验证的时间 | -| `userPermissions` | GroupPermissions! | 当前用户对该资源的权限 | -| `visibility` | String | 名称空间的可见性 | -| `webUrl` | String! | 网上论坛网址 | - -## GroupMember[](#groupmember "Permalink") - -代表小组成员 - -| Name | Type | Description | -| --- | --- | --- | -| `accessLevel` | AccessLevel | GitLab ::访问级别 | -| `createdAt` | Time | 创建成员的日期和时间 | -| `createdBy` | User | 授权会员的用户 | -| `expiresAt` | Time | 成员资格到期的日期和时间 | -| `group` | Group | 用户所属的组 | -| `updatedAt` | Time | 成员的最新更新日期和时间 | -| `userPermissions` | GroupPermissions! | 当前用户对该资源的权限 | - -## GroupPermissions[](#grouppermissions "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `readGroup` | Boolean! | 指示用户可以对此资源执行`read_group` | - -## Issue[](#issue "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `author` | User! | 造成问题的使用者 | -| `closedAt` | Time | 该问题何时结束的时间戳 | -| `confidential` | Boolean! | 表示问题是机密的 | -| `createdAt` | Time! | 问题创建时间的时间戳记 | -| `description` | String | 问题说明 | -| `descriptionHtml` | String | GitLab 风味 Markdown 渲染`description` | -| `designCollection` | DesignCollection | 与此问题相关的设计图像的收集 | -| `designs` | DesignCollection | **不推荐使用:**使用`designCollection` . 在 12.2 中弃用 | -| `discussionLocked` | Boolean! | 表示讨论已锁定在该问题上 | -| `downvotes` | Int! | 问题已收到的否决票数 | -| `dueDate` | Time | 发行日期 | -| `epic` | Epic | 此问题所属的史诗 | -| `healthStatus` | HealthStatus | 当前的健康状况. 如果禁用了`save_issuable_health_status`功能标志,则返回 null. | -| `id` | ID! | 问题编号 | -| `iid` | ID! | 问题的内部 ID | -| `iteration` | Iteration | 迭代问题 | -| `milestone` | Milestone | 问题的里程碑 | -| `reference` | String! | 内部参考的问题. 默认以缩写形式返回 | -| `relativePosition` | Int | 问题的相对位置(用于在史诗树和问题板上定位) | -| `state` | IssueState! | 问题状态 | -| `subscribed` | Boolean! | 指示当前登录的用户已订阅该问题 | -| `taskCompletionStatus` | TaskCompletionStatus! | 问题的任务完成状态 | -| `timeEstimate` | Int! | 问题的时间估算 | -| `title` | String! | 问题标题 | -| `titleHtml` | String | GitLab 风味 Markdown `title`渲染 | -| `totalTimeSpent` | Int! | 报告在此问题上花费的总时间 | -| `updatedAt` | Time! | 问题上次更新的时间戳 | -| `upvotes` | Int! | 问题已收到的投票数 | -| `userNotesCount` | Int! | 用户对此问题的注释数 | -| `userPermissions` | IssuePermissions! | 当前用户对该资源的权限 | -| `webPath` | String! | 问题的网络路径 | -| `webUrl` | String! | 问题的网址 | -| `weight` | Int | 问题的权重 | - -## IssuePermissions[](#issuepermissions "Permalink") - -检查当前用户在问题上的权限 - -| Name | Type | Description | -| --- | --- | --- | -| `adminIssue` | Boolean! | 指示用户可以对此资源执行`admin_issue` | -| `createDesign` | Boolean! | 指示用户可以对此资源执行`create_design` | -| `createNote` | Boolean! | 指示用户可以在此资源上执行`create_note` | -| `destroyDesign` | Boolean! | 指示用户可以对此资源执行`destroy_design` | -| `readDesign` | Boolean! | 指示用户可以对此资源执行`read_design` | -| `readIssue` | Boolean! | 指示用户可以对此资源执行`read_issue` | -| `reopenIssue` | Boolean! | 指示用户可以对此资源执行`reopen_issue` | -| `updateIssue` | Boolean! | 指示用户可以对此资源执行`update_issue` | - -## IssueSetConfidentialPayload[](#issuesetconfidentialpayload "Permalink") - -自动生成的 IssueSetConfidential 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `issue` | Issue | 突变后的问题 | - -## IssueSetDueDatePayload[](#issuesetduedatepayload "Permalink") - -自动生成的 IssueSetDueDate 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `issue` | Issue | 突变后的问题 | - -## IssueSetIterationPayload[](#issuesetiterationpayload "Permalink") - -自动生成的 IssueSetIteration 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `issue` | Issue | 突变后的问题 | - -## IssueSetLockedPayload[](#issuesetlockedpayload "Permalink") - -自动生成的 IssueSetLocked 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `issue` | Issue | 突变后的问题 | - -## IssueSetWeightPayload[](#issuesetweightpayload "Permalink") - -自动生成的 IssueSetWeight 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `issue` | Issue | 突变后的问题 | - -## Iteration[](#iteration "Permalink") - -表示一个迭代对象. - -| Name | Type | Description | -| --- | --- | --- | -| `createdAt` | Time! | 迭代创建的时间戳 | -| `description` | String | 迭代描述 | -| `dueDate` | Time | 迭代到期日期的时间戳 | -| `id` | ID! | 迭代 ID | -| `iid` | ID! | 迭代的内部 ID | -| `startDate` | Time | 迭代开始日期的时间戳 | -| `state` | IterationState! | 迭代状态 | -| `title` | String! | 迭代标题 | -| `updatedAt` | Time! | 上次迭代更新的时间戳 | -| `webPath` | String! | 迭代的 Web 路径 | -| `webUrl` | String! | 迭代的 Web URL | - -## JiraImport[](#jiraimport "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `createdAt` | Time | 创建 Jira 导入的时间戳 | -| `failedToImportCount` | Int! | 导入失败的问题数 | -| `importedIssuesCount` | Int! | 成功导入的问题数 | -| `jiraProjectKey` | String! | 导入的 Jira 项目的项目密钥 | -| `scheduledAt` | Time | 计划导入 Jira 的时间戳 | -| `scheduledBy` | User | 开始导入 Jira 的用户 | -| `totalIssueCount` | Int! | 尝试导入的问题总数 | - -## JiraImportStartPayload[](#jiraimportstartpayload "Permalink") - -自动生成的 JiraImportStart 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | Errors encountered during execution of the mutation. | -| `jiraImport` | JiraImport | 突变后的 Jira 导入数据 | - -## JiraImportUsersPayload[](#jiraimportuserspayload "Permalink") - -自动生成的 JiraImportUsers 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `jiraUsers` | JiraUser! =>数组 | 从 Jira 返回的用户,并通过电子邮件和姓名进行匹配(如果可能). | - -## JiraProject[](#jiraproject "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `key` | String! | 吉拉项目的关键 | -| `name` | String | Jira 项目的名称 | -| `projectId` | Int! | Jira 项目的 ID | - -## JiraService[](#jiraservice "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `active` | Boolean | 指示服务是否处于活动状态 | -| `projects` | JiraProjectConnection | 通过 Jira REST API 获取的所有 Jira 项目的列表 | -| `type` | String | 服务的类别名称 | - -## JiraUser[](#jirauser "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `gitlabId` | Int | 匹配的 GitLab 用户的 ID | -| `gitlabName` | String | 匹配的 GitLab 用户名 | -| `gitlabUsername` | String | 匹配的 GitLab 用户的用户名 | -| `jiraAccountId` | String! | Jira 用户的帐户 ID | -| `jiraDisplayName` | String! | Jira 用户的显示名称 | -| `jiraEmail` | String | Jira 用户的电子邮件,仅针对具有公共电子邮件的用户返回 | - -## Label[](#label "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `color` | String! | 标签的背景色 | -| `description` | String | 标签的说明(Markdown 呈现为 HTML 以进行缓存) | -| `descriptionHtml` | String | GitLab 风味 Markdown 渲染`description` | -| `id` | ID! | 标签编号 | -| `textColor` | String! | 标签的文字颜色 | -| `title` | String! | 标签内容 | - -## MarkAsSpamSnippetPayload[](#markasspamsnippetpayload "Permalink") - -自动生成的 MarkAsSpamSnippet 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `snippet` | Snippet | 突变后的代码段 | - -## MergeRequest[](#mergerequest "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `allowCollaboration` | Boolean | 指示目标项目的成员是否可以推送到分叉 | -| `author` | User | 创建此合并请求的用户 | -| `createdAt` | Time! | 创建合并请求的时间戳 | -| `defaultMergeCommitMessage` | String | 合并请求的默认合并提交消息 | -| `description` | String | 合并请求的描述(Markdown 渲染为 HTML 以进行缓存) | -| `descriptionHtml` | String | GitLab 风味 Markdown 渲染`description` | -| `diffHeadSha` | String | 合并请求的不同头 SHA | -| `diffRefs` | DiffRefs | 此合并请求的基础 SHA,头部 SHA 和起始 SHA 的引用 | -| `diffStats` | DiffStats! =>数组 | 有关在此合并请求中更改了哪些文件的详细信息 | -| `diffStatsSummary` | DiffStatsSummary | 在此合并请求中更改了哪些文件的摘要 | -| `discussionLocked` | Boolean! | 指示是否仅将对合并请求的注释锁定为成员 | -| `downvotes` | Int! | 合并请求的否决票数 | -| `forceRemoveSourceBranch` | Boolean | 指示合并后项目设置是否会导致源分支删除 | -| `headPipeline` | Pipeline | 在合并请求的分支 HEAD 上运行的管道 | -| `id` | ID! | 合并请求的 ID | -| `iid` | String! | 合并请求的内部 ID | -| `inProgressMergeCommitSha` | String | 如果合并正在进行,则提交合并请求的 SHA | -| `mergeCommitMessage` | String | **不推荐使用:**使用`defaultMergeCommitMessage` . 在 11.8 中已弃用 | -| `mergeCommitSha` | String | 合并请求提交的 SHA(一旦合并就设置) | -| `mergeError` | String | 由于合并错误而导致的错误消息 | -| `mergeOngoing` | Boolean! | 指示当前是否正在发生合并 | -| `mergeStatus` | String | 合并请求的状态 | -| `mergeWhenPipelineSucceeds` | Boolean | 指示在管道成功(MWPS)时是否已将合并设置为要合并 | -| `mergeableDiscussionsState` | Boolean | 指示合并请求中的所有讨论是否都已解决,从而允许合并请求被合并 | -| `mergedAt` | Time | 合并请求合并的时间戳记;如果未合并,则为 null | -| `milestone` | Milestone | 合并请求的里程碑 | -| `project` | Project! | target_project 的别名 | -| `projectId` | Int! | 合并请求项目的 ID | -| `rebaseCommitSha` | String | 重新设置合并请求的提交 SHA | -| `rebaseInProgress` | Boolean! | 指示合并请求当前是否正在进行重新设置 | -| `reference` | String! | 合并请求的内部参考. 默认以缩写形式返回 | -| `shouldBeRebased` | Boolean! | 指示合并请求是否将被重定基础 | -| `shouldRemoveSourceBranch` | Boolean | 指示在合并后是否会删除合并请求的源分支 | -| `sourceBranch` | String! | 合并请求的源分支 | -| `sourceBranchExists` | Boolean! | 指示合并请求的源分支是否存在 | -| `sourceProject` | Project | 合并请求的源项目 | -| `sourceProjectId` | Int | 合并请求源项目的 ID | -| `state` | MergeRequestState! | 合并请求的状态 | -| `subscribed` | Boolean! | 指示当前登录的用户是否订阅了此合并请求 | -| `targetBranch` | String! | 合并请求的目标分支 | -| `targetBranchExists` | Boolean! | 指示合并请求的目标分支是否存在 | -| `targetProject` | Project! | 合并请求的目标项目 | -| `targetProjectId` | Int! | 合并请求目标项目的 ID | -| `taskCompletionStatus` | TaskCompletionStatus! | 任务的完成状态 | -| `timeEstimate` | Int! | 合并请求的时间估算 | -| `title` | String! | 合并请求的标题 | -| `titleHtml` | String | GitLab 风味 Markdown `title`渲染 | -| `totalTimeSpent` | Int! | 报告为在合并请求上花费的总时间 | -| `updatedAt` | Time! | 合并请求上次更新的时间戳 | -| `upvotes` | Int! | 合并请求的投票数 | -| `userNotesCount` | Int | 用户记录合并请求的数量 | -| `userPermissions` | MergeRequestPermissions! | 当前用户对该资源的权限 | -| `webUrl` | String | 合并请求的网址 | -| `workInProgress` | Boolean! | 指示合并请求是否正在进行中(WIP) | - -## MergeRequestCreatePayload[](#mergerequestcreatepayload "Permalink") - -自动生成的 MergeRequestCreate 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `mergeRequest` | MergeRequest | 突变后的合并请求 | - -## MergeRequestPermissions[](#mergerequestpermissions "Permalink") - -检查合并请求中当前用户的权限 - -| Name | Type | Description | -| --- | --- | --- | -| `adminMergeRequest` | Boolean! | 指示用户可以对此资源执行`admin_merge_request` | -| `cherryPickOnCurrentMergeRequest` | Boolean! | 表示用户可以对此资源执行`cherry_pick_on_current_merge_request` | -| `createNote` | Boolean! | 指示用户可以在此资源上执行`create_note` | -| `pushToSourceBranch` | Boolean! | 指示用户可以对此资源执行`push_to_source_branch` | -| `readMergeRequest` | Boolean! | 指示用户可以对此资源执行`read_merge_request` | -| `removeSourceBranch` | Boolean! | 指示用户可以对此资源执行`remove_source_branch` | -| `revertOnCurrentMergeRequest` | Boolean! | 指示用户可以对此资源执行`revert_on_current_merge_request` | -| `updateMergeRequest` | Boolean! | 指示用户可以对此资源执行`update_merge_request` | - -## MergeRequestSetAssigneesPayload[](#mergerequestsetassigneespayload "Permalink") - -自动生成的 MergeRequestSetAssignees 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `mergeRequest` | MergeRequest | 突变后的合并请求 | - -## MergeRequestSetLabelsPayload[](#mergerequestsetlabelspayload "Permalink") - -自动生成的 MergeRequestSetLabels 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `mergeRequest` | MergeRequest | 突变后的合并请求 | - -## MergeRequestSetLockedPayload[](#mergerequestsetlockedpayload "Permalink") - -自动生成的 MergeRequestSetLocked 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `mergeRequest` | MergeRequest | 突变后的合并请求 | - -## MergeRequestSetMilestonePayload[](#mergerequestsetmilestonepayload "Permalink") - -自动生成的 MergeRequestSetMilestone 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `mergeRequest` | MergeRequest | 突变后的合并请求 | - -## MergeRequestSetSubscriptionPayload[](#mergerequestsetsubscriptionpayload "Permalink") - -自动生成的 MergeRequestSetSubscription 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `mergeRequest` | MergeRequest | 突变后的合并请求 | - -## MergeRequestSetWipPayload[](#mergerequestsetwippayload "Permalink") - -自动生成的 MergeRequestSetWip 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `mergeRequest` | MergeRequest | 突变后的合并请求 | - -## MergeRequestUpdatePayload[](#mergerequestupdatepayload "Permalink") - -自动生成的 MergeRequestUpdate 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `mergeRequest` | MergeRequest | 突变后的合并请求 | - -## Metadata[](#metadata "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `revision` | String! | Revision | -| `version` | String! | Version | - -## MetricsDashboard[](#metricsdashboard "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `path` | String | 具有仪表板定义的文件的路径 | -| `schemaValidationWarnings` | 串! =>数组 | 仪表板架构验证警告 | - -## MetricsDashboardAnnotation[](#metricsdashboardannotation "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `description` | String | 注释说明 | -| `endingAt` | Time | 注释时间跨度的时间戳标记结束 | -| `id` | ID! | 注释的 ID | -| `panelId` | String | 注释应作用于的仪表板面板的 ID | -| `startingAt` | Time | 带注释的时间跨度的时间戳标记开始 | - -## Milestone[](#milestone "Permalink") - -代表一个里程碑. - -| Name | Type | Description | -| --- | --- | --- | -| `createdAt` | Time! | 里程碑创建的时间戳 | -| `description` | String | 里程碑说明 | -| `dueDate` | Time | 里程碑到期日期的时间戳记 | -| `groupMilestone` | Boolean! | 指示里程碑是否在组级别 | -| `id` | ID! | 里程碑的 ID | -| `projectMilestone` | Boolean! | 指示里程碑是否在项目级别 | -| `startDate` | Time | 里程碑开始日期的时间戳记 | -| `state` | MilestoneStateEnum! | 里程碑状态 | -| `stats` | MilestoneStats | 里程碑统计 | -| `subgroupMilestone` | Boolean! | 指示里程碑是否在子组级别 | -| `title` | String! | 里程碑标题 | -| `updatedAt` | Time! | 最近里程碑更新的时间戳 | -| `webPath` | String! | 里程碑的 Web 路径 | - -## MilestoneStats[](#milestonestats "Permalink") - -包含有关里程碑的统计信息 - -| Name | Type | Description | -| --- | --- | --- | -| `closedIssuesCount` | Int | 与里程碑相关的已解决问题的数量 | -| `totalIssuesCount` | Int | 与里程碑相关的总问题数 | - -## Namespace[](#namespace "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `description` | String | 命名空间的描述 | -| `descriptionHtml` | String | GitLab 风味 Markdown 渲染`description` | -| `fullName` | String! | 命名空间的全名 | -| `fullPath` | ID! | 命名空间的完整路径 | -| `id` | ID! | 命名空间的 ID | -| `lfsEnabled` | Boolean | 指示是否为名称空间启用了大文件存储(LFS) | -| `name` | String! | 命名空间的名称 | -| `path` | String! | 命名空间的路径 | -| `requestAccessEnabled` | Boolean | 指示用户是否可以请求访问名称空间 | -| `rootStorageStatistics` | RootStorageStatistics | 命名空间的聚合存储统计信息. 仅适用于根名称空间 | -| `storageSizeLimit` | Float | 根名称空间的总存储限制(以字节为单位) | -| `temporaryStorageIncreaseEndsOn` | Time | 直到临时存储增加生效的日期 | -| `visibility` | String | 名称空间的可见性 | - -## Note[](#note "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `author` | User! | 撰写此笔记的用户 | -| `body` | String! | 注释内容 | -| `bodyHtml` | String | GitLab 风味 Markdown 渲染`note` | -| `confidential` | Boolean | 指示此注释是否保密 | -| `createdAt` | Time! | 笔记创建的时间戳 | -| `discussion` | Discussion | 本说明的讨论属于 | -| `id` | ID! | 笔记编号 | -| `position` | DiffPosition | 此注释在差异上的位置 | -| `project` | Project | 与笔记相关的项目 | -| `resolvable` | Boolean! | 指示对象是否可以解析 | -| `resolved` | Boolean! | 指示对象是否已解析 | -| `resolvedAt` | Time | 解析对象的时间戳 | -| `resolvedBy` | User | 解决对象的用户 | -| `system` | Boolean! | 指示此注释是由系统还是由用户创建的 | -| `systemNoteIconName` | String | 系统注释对应的图标名称 | -| `updatedAt` | Time! | 笔记上一次活动的时间戳 | -| `userPermissions` | NotePermissions! | 当前用户对该资源的权限 | - -## NotePermissions[](#notepermissions "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `adminNote` | Boolean! | 指示用户可以对此资源执行`admin_note` | -| `awardEmoji` | Boolean! | 表示用户可以在此资源上执行`award_emoji` | -| `createNote` | Boolean! | 指示用户可以在此资源上执行`create_note` | -| `readNote` | Boolean! | 指示用户可以对此资源执行`read_note` | -| `resolveNote` | Boolean! | 指示用户可以对此资源执行`resolve_note` | - -## Package[](#package "Permalink") - -代表包裹 - -| Name | Type | Description | -| --- | --- | --- | -| `createdAt` | Time! | 创建日期 | -| `id` | ID! | 包裹 ID | -| `name` | String! | 包装名称 | -| `packageType` | PackageTypeEnum! | 包装类型 | -| `updatedAt` | Time! | 更新日期 | -| `version` | String | 包的版本 | - -## PackageFileRegistry[](#packagefileregistry "Permalink") - -表示软件包文件的同步和验证状态 - -| Name | Type | Description | -| --- | --- | --- | -| `createdAt` | Time | PackageFileRegistry 创建时的时间戳记 | -| `id` | ID! | PackageFileRegistry 的 ID | -| `lastSyncFailure` | String | PackageFileRegistry 同步期间的错误消息 | -| `lastSyncedAt` | Time | PackageFileRegistry 最近一次成功同步的时间戳 | -| `packageFileId` | ID! | PackageFile 的 ID | -| `retryAt` | Time | 时间戳,之后 PackageFileRegistry 应该重新同步 | -| `retryCount` | Int | PackageFileRegistry 连续失败的同步尝试次数 | -| `state` | RegistryState | PackageFileRegistry 的同步状态 | - -## PageInfo[](#pageinfo "Permalink") - -有关连接中的分页的信息. - -| Name | Type | Description | -| --- | --- | --- | -| `endCursor` | String | 向前分页时,光标继续. | -| `hasNextPage` | Boolean! | 在向前分页时,还有更多项目吗? | -| `hasPreviousPage` | Boolean! | 向后分页时,还有更多项目吗? | -| `startCursor` | String | 向后分页时,光标继续. | - -## Pipeline[](#pipeline "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `beforeSha` | String | 源分支的基本 SHA | -| `committedAt` | Time | 管道提交的时间戳 | -| `coverage` | Float | 覆盖率 | -| `createdAt` | Time! | 管道创建的时间戳 | -| `detailedStatus` | DetailedStatus! | 管道的详细状态 | -| `duration` | Int | 管道持续时间(以秒为单位) | -| `finishedAt` | Time | 管道完成的时间戳 | -| `id` | ID! | 管道 ID | -| `iid` | String! | 管道的内部 ID | -| `securityReportSummary` | SecurityReportSummary | 管道的每个安全扫描程序的漏洞和扫描的资源计数 | -| `sha` | String! | 管道提交的 SHA | -| `startedAt` | Time | 管道启动的时间戳 | -| `status` | PipelineStatusEnum! | 管道的状态(已创建,正在等待 _ 资源,正在准备,正在挂起,正在运行,失败,成功,已取消,已跳过,已手动,已计划) | -| `updatedAt` | Time! | 管道上次活动的时间戳 | -| `userPermissions` | PipelinePermissions! | 当前用户对该资源的权限 | - -## PipelinePermissions[](#pipelinepermissions "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `adminPipeline` | Boolean! | 指示用户可以对此资源执行`admin_pipeline` | -| `destroyPipeline` | Boolean! | 指示用户可以在此资源上执行`destroy_pipeline` | -| `updatePipeline` | Boolean! | 指示用户可以对此资源执行`update_pipeline` | - -## Project[](#project "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `alertManagementAlert` | AlertManagementAlert | 项目的单个警报管理警报 | -| `alertManagementAlertStatusCounts` | AlertManagementAlertStatusCountsType | 按项目状态的警报计数 | -| `allowMergeOnSkippedPipeline` | Boolean | 如果`only_allow_merge_if_pipeline_succeeds`为 true,则指示是否还可以将项目的合并请求与跳过的作业合并 | -| `archived` | Boolean | 指示项目的存档状态 | -| `autocloseReferencedIssues` | Boolean | 指示是否自动关闭默认分支中的合并请求和提交引用的问题 | -| `avatarUrl` | String | 项目头像图像文件的 URL | -| `board` | Board | 该项目的一块板 | -| `containerExpirationPolicy` | ContainerExpirationPolicy | 项目的集装箱过期政策 | -| `containerRegistryEnabled` | Boolean | 指示项目是否在容器注册表中存储 Docker 容器映像 | -| `createdAt` | Time | 项目创建的时间戳 | -| `description` | String | 项目简介 | -| `descriptionHtml` | String | GitLab 风味 Markdown 渲染`description` | -| `forksCount` | Int! | 分叉项目的次数 | -| `fullPath` | ID! | 项目的完整路径 | -| `grafanaIntegration` | GrafanaIntegration | 该项目的 Grafana 集成详细信息 | -| `group` | Group | 项目组 | -| `httpUrlToRepo` | String | 通过 HTTPS 连接到项目的 URL | -| `id` | ID! | 项目编号 | -| `importStatus` | String | Status of import background job of the project | -| `issue` | Issue | 该项目的一期 | -| `issuesEnabled` | Boolean | 指示是否为当前用户启用了问题 | -| `jiraImportStatus` | String | 项目的 Jira 导入后台作业的状态 | -| `jobsEnabled` | Boolean | 指示是否为当前用户启用 CI / CD 管道作业 | -| `label` | Label | 此项目上可用的标签 | -| `lastActivityAt` | Time | 项目上次活动的时间戳 | -| `lfsEnabled` | Boolean | 指示项目是否启用了大文件存储(LFS) | -| `mergeRequest` | MergeRequest | 项目的单个合并请求 | -| `mergeRequestsEnabled` | Boolean | 指示是否为当前用户启用了合并请求 | -| `mergeRequestsFfOnlyEnabled` | Boolean | 指示是否不应该创建合并提交,而应该快速转发所有合并,这意味着仅当分支可以快速转发时才允许合并. | -| `name` | String! | 项目名称(无名称空间) | -| `nameWithNamespace` | String! | 项目的全名及其名称空间 | -| `namespace` | Namespace | 项目的命名空间 | -| `onlyAllowMergeIfAllDiscussionsAreResolved` | Boolean | 指示是否只有在解决所有讨论后才能合并项目的合并请求 | -| `onlyAllowMergeIfPipelineSucceeds` | Boolean | 指示项目的合并请求是否只能与成功的作业合并 | -| `openIssuesCount` | Int | 项目未解决的问题数 | -| `path` | String! | 项目路径 | -| `pipeline` | Pipeline | 建立项目管道 | -| `printingMergeRequestLinkEnabled` | Boolean | 指示从命令行推送到项目的 Git 存储库后是否显示用于创建或查看合并请求的链接 | -| `publicJobs` | Boolean | 指示是否可以公共访问项目的管道和作业详细信息,包括输出日志和工件 | -| `release` | Release | 该项目的一个版本 | -| `removeSourceBranchAfterMerge` | Boolean | 指示默认情况下是否应为项目的所有新合并请求启用" `Delete source branch`选项 | -| `repository` | Repository | 项目的 Git 存储库 | -| `requestAccessEnabled` | Boolean | 指示用户是否可以请求成员访问项目 | -| `requirement` | Requirement | 查找单个需求. 仅在启用功能标志`requirements_management`可用. | -| `requirementStatesCount` | RequirementStatesCount | 按状态列出的项目需求数量 | -| `sastCiConfiguration` | SastCiConfiguration | 项目的 SAST CI 配置 | -| `securityScanners` | SecurityScanners | 有关项目中使用的安全分析器的信息 | -| `sentryDetailedError` | SentryDetailedError | 该项目的 Sentry 错误的详细版本 | -| `sentryErrors` | SentryErrorCollection | 分批收集 Sentry 错误的项目 | -| `serviceDeskAddress` | String | 服务台的电子邮件地址. | -| `serviceDeskEnabled` | Boolean | 指示项目是否启用了服务台. | -| `sharedRunnersEnabled` | Boolean | 指示是否为项目启用了共享运行器 | -| `snippetsEnabled` | Boolean | 指示是否为当前用户启用了代码片段 | -| `sshUrlToRepo` | String | 通过 SSH 连接到项目的 URL | -| `starCount` | Int! | 已加注星标的次数 | -| `statistics` | ProjectStatistics | 项目统计 | -| `suggestionCommitMessage` | String | 用于应用合并请求建议的提交消息 | -| `tagList` | String | 项目主题列表(不是 Git 标签) | -| `userPermissions` | ProjectPermissions! | 当前用户对该资源的权限 | -| `visibility` | String | 项目的可见性 | -| `vulnerabilitySeveritiesCount` | VulnerabilitySeveritiesCount | 计算项目漏洞的每个严重程度 | -| `webUrl` | String | 项目的网址 | -| `wikiEnabled` | Boolean | 指示是否为当前用户启用了 Wiki | - -## ProjectMember[](#projectmember "Permalink") - -代表项目成员 - -| Name | Type | Description | -| --- | --- | --- | -| `accessLevel` | AccessLevel | GitLab ::访问级别 | -| `createdAt` | Time | 创建成员的日期和时间 | -| `createdBy` | User | 授权会员的用户 | -| `expiresAt` | Time | 成员资格到期的日期和时间 | -| `id` | ID! | 会员编号 | -| `project` | Project | 用户是其成员的项目 | -| `updatedAt` | Time | 成员的最新更新日期和时间 | -| `user` | User! | 与成员对象关联的用户 | -| `userPermissions` | ProjectPermissions! | 当前用户对该资源的权限 | - -## ProjectPermissions[](#projectpermissions "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `adminOperations` | Boolean! | 指示用户可以对此资源执行`admin_operations` | -| `adminProject` | Boolean! | 指示用户可以对此资源执行`admin_project` | -| `adminRemoteMirror` | Boolean! | 指示用户可以对此资源执行`admin_remote_mirror` | -| `adminWiki` | Boolean! | 指示用户可以对此资源执行`admin_wiki` | -| `archiveProject` | Boolean! | 指示用户可以对此资源执行`archive_project` | -| `changeNamespace` | Boolean! | 指示用户可以在此资源上执行`change_namespace` | -| `changeVisibilityLevel` | Boolean! | 指示用户可以对此资源执行`change_visibility_level` | -| `createDeployment` | Boolean! | 指示用户可以对此资源执行`create_deployment` | -| `createDesign` | Boolean! | 指示用户可以对此资源执行`create_design` | -| `createIssue` | Boolean! | 指示用户可以对此资源执行`create_issue` | -| `createLabel` | Boolean! | 指示用户可以在此资源上执行`create_label` | -| `createMergeRequestFrom` | Boolean! | 指示用户可以在此资源上执行`create_merge_request_from` | -| `createMergeRequestIn` | Boolean! | 指示用户可以在此资源上执行`create_merge_request_in` | -| `createPages` | Boolean! | 指示用户可以在此资源上执行`create_pages` | -| `createPipeline` | Boolean! | Indicates the user can perform `create_pipeline` on this resource | -| `createPipelineSchedule` | Boolean! | 指示用户可以对此资源执行`create_pipeline_schedule` | -| `createSnippet` | Boolean! | 指示用户可以对此资源执行`create_snippet` | -| `createWiki` | Boolean! | 指示用户可以在此资源上执行`create_wiki` | -| `destroyDesign` | Boolean! | 指示用户可以对此资源执行`destroy_design` | -| `destroyPages` | Boolean! | 指示用户可以在此资源上执行`destroy_pages` | -| `destroyWiki` | Boolean! | 指示用户可以对此资源执行`destroy_wiki` | -| `downloadCode` | Boolean! | 指示用户可以对此资源执行`download_code` | -| `downloadWikiCode` | Boolean! | 指示用户可以在此资源上执行`download_wiki_code` | -| `forkProject` | Boolean! | 指示用户可以对此资源执行`fork_project` | -| `pushCode` | Boolean! | 指示用户可以对此资源执行`push_code` | -| `pushToDeleteProtectedBranch` | Boolean! | 指示用户可以对此资源执行`push_to_delete_protected_branch` | -| `readCommitStatus` | Boolean! | 指示用户可以对此资源执行`read_commit_status` | -| `readCycleAnalytics` | Boolean! | 指示用户可以对此资源执行`read_cycle_analytics` | -| `readDesign` | Boolean! | 指示用户可以对此资源执行`read_design` | -| `readMergeRequest` | Boolean! | 指示用户可以对此资源执行`read_merge_request` | -| `readPagesContent` | Boolean! | 指示用户可以对此资源执行`read_pages_content` | -| `readProject` | Boolean! | 指示用户可以对此资源执行`read_project` | -| `readProjectMember` | Boolean! | 指示用户可以对此资源执行`read_project_member` | -| `readWiki` | Boolean! | 指示用户可以对此资源执行`read_wiki` | -| `removeForkProject` | Boolean! | 指示用户可以对此资源执行`remove_fork_project` | -| `removePages` | Boolean! | 指示用户可以对此资源执行`remove_pages` | -| `removeProject` | Boolean! | 指示用户可以对此资源执行`remove_project` | -| `renameProject` | Boolean! | 指示用户可以对此资源执行`rename_project` | -| `requestAccess` | Boolean! | 指示用户可以对此资源执行`request_access` | -| `updatePages` | Boolean! | 指示用户可以对此资源执行`update_pages` | -| `updateWiki` | Boolean! | 指示用户可以对此资源执行`update_wiki` | -| `uploadFile` | Boolean! | 指示用户可以在此资源上执行`upload_file` | - -## ProjectStatistics[](#projectstatistics "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `buildArtifactsSize` | Float! | 构建项目的工件大小 | -| `commitCount` | Float! | 提交项目数 | -| `lfsObjectsSize` | Float! | 项目的大文件存储(LFS)对象大小 | -| `packagesSize` | Float! | 项目包装尺寸 | -| `repositorySize` | Float! | 项目的存储库大小 | -| `snippetsSize` | Float | 项目片段大小 | -| `storageSize` | Float! | 项目的存储大小 | -| `wikiSize` | Float | 项目的 Wiki 大小 | - -## Release[](#release "Permalink") - -代表发行 - -| Name | Type | Description | -| --- | --- | --- | -| `assets` | ReleaseAssets | 发行资产 | -| `author` | User | 创建发布的用户 | -| `commit` | Commit | 与发布相关的提交 | -| `createdAt` | Time | 创建版本的时间戳 | -| `description` | String | 版本说明(也称为"发行说明") | -| `descriptionHtml` | String | The GitLab Flavored Markdown rendering of `description` | -| `links` | ReleaseLinks | 版本链接 | -| `name` | String | 发布名称 | -| `releasedAt` | Time | 发布版本的时间戳 | -| `tagName` | String | 与版本关联的标签名称 | -| `tagPath` | String | 与版本关联的标签的相对 Web 路径 | - -## ReleaseAssetLink[](#releaseassetlink "Permalink") - -表示与版本关联的资产链接 - -| Name | Type | Description | -| --- | --- | --- | -| `external` | Boolean | 表示链接指向外部资源 | -| `id` | ID! | 链接 ID | -| `linkType` | ReleaseAssetLinkType | 链接的类型: `other` , `runbook` , `image` , `package` ; 默认为`other` | -| `name` | String | Name of the link | -| `url` | String | 链接的 URL | - -## ReleaseAssets[](#releaseassets "Permalink") - -与发布相关的所有资产的容器 - -| Name | Type | Description | -| --- | --- | --- | -| `count` | Int | 发布的资产数量 | - -## ReleaseEvidence[](#releaseevidence "Permalink") - -释放证据 - -| Name | Type | Description | -| --- | --- | --- | -| `collectedAt` | Time | 证据收集的时间戳 | -| `filepath` | String | 可从中下载证据的 URL | -| `id` | ID! | 证据编号 | -| `sha` | String | 证据哈希的 SHA1 ID | - -## ReleaseLinks[](#releaselinks "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `editUrl` | String | 版本的编辑页面的 HTTP URL | -| `issuesUrl` | String | 此版本过滤的问题页面的 HTTP URL | -| `mergeRequestsUrl` | String | 此版本过滤的合并请求页面的 HTTP URL | -| `selfUrl` | String | 版本的 HTTP URL | - -## ReleaseSource[](#releasesource "Permalink") - -表示特定格式附加到发行版的源代码 - -| Name | Type | Description | -| --- | --- | --- | -| `format` | String | 来源格式 | -| `url` | String | 源代码下载 URL | - -## RemoveAwardEmojiPayload[](#removeawardemojipayload "Permalink") - -自动生成的 RemoveAwardEmoji 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `awardEmoji` | AwardEmoji | 突变后的奖励表情符号 | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | - -## RemoveProjectFromSecurityDashboardPayload[](#removeprojectfromsecuritydashboardpayload "Permalink") - -自动生成的 RemoveProjectFromSecurityDashboard 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | - -## Repository[](#repository "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `empty` | Boolean! | 表示存储库中没有可见的内容 | -| `exists` | Boolean! | 表示磁盘上存在相应的 Git 存储库 | -| `rootRef` | String | 存储库的默认分支 | -| `tree` | Tree | 仓库的树 | - -## Requirement[](#requirement "Permalink") - -代表一个要求 - -| Name | Type | Description | -| --- | --- | --- | -| `author` | User! | 需求的作者 | -| `createdAt` | Time! | 创建需求的时间戳 | -| `id` | ID! | 需求 ID | -| `iid` | ID! | 需求的内部 ID | -| `project` | Project! | 需求所属的项目 | -| `state` | RequirementState! | 需求状态 | -| `title` | String | 要求的标题 | -| `updatedAt` | Time! | 上一次更新需求的时间戳 | -| `userPermissions` | RequirementPermissions! | 当前用户对该资源的权限 | - -## RequirementPermissions[](#requirementpermissions "Permalink") - -根据需要检查当前用户的权限 - -| Name | Type | Description | -| --- | --- | --- | -| `adminRequirement` | Boolean! | 指示用户可以对此资源执行`admin_requirement` | -| `createRequirement` | Boolean! | 指示用户可以对此资源执行`create_requirement` | -| `destroyRequirement` | Boolean! | 指示用户可以对此资源执行`destroy_requirement` | -| `readRequirement` | Boolean! | 指示用户可以对此资源执行`read_requirement` | -| `updateRequirement` | Boolean! | 指示用户可以对此资源执行`update_requirement` | - -## RequirementStatesCount[](#requirementstatescount "Permalink") - -需求状态的计数. - -| Name | Type | Description | -| --- | --- | --- | -| `archived` | Int | 已归档需求数 | -| `opened` | Int | 打开的需求数 | - -## RootStorageStatistics[](#rootstoragestatistics "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `buildArtifactsSize` | Float! | CI 工件大小(以字节为单位) | -| `lfsObjectsSize` | Float! | LFS 对象大小(以字节为单位) | -| `packagesSize` | Float! | 包大小(以字节为单位) | -| `repositorySize` | Float! | Git 存储库大小(以字节为单位) | -| `snippetsSize` | Float! | 片段大小(以字节为单位) | -| `storageSize` | Float! | 总存储字节数 | -| `wikiSize` | Float! | Wiki 大小(以字节为单位) | - -## RunDASTScanPayload[](#rundastscanpayload "Permalink") - -自动生成的 RunDASTScan 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `pipelineUrl` | String | 创建的管道的 URL. | - -## SastCiConfigurationAnalyzersEntity[](#sastciconfigurationanalyzersentity "Permalink") - -代表 SAST CI 配置中的分析器实体 - -| Name | Type | Description | -| --- | --- | --- | -| `description` | String | 表单上显示的分析器描述. | -| `enabled` | Boolean | 指示是否启用分析仪. | -| `label` | String | 配置 UI 中使用的分析器标签. | -| `name` | String | 分析仪的名称. | - -## SastCiConfigurationEntity[](#sastciconfigurationentity "Permalink") - -代表 SAST CI 配置中的实体 - -| Name | Type | Description | -| --- | --- | --- | -| `defaultValue` | String | 如果值为空,则使用默认值. | -| `description` | String | 表单上显示的实体描述. | -| `field` | String | 实体的 CI 关键字. | -| `label` | String | 表单中使用的实体的标签. | -| `type` | String | 字段值的类型. | -| `value` | String | 实体的当前值. | - -## SastCiConfigurationOptionsEntity[](#sastciconfigurationoptionsentity "Permalink") - -代表 SAST CI 配置中选项的实体 - -| Name | Type | Description | -| --- | --- | --- | -| `label` | String | 期权实体的标签. | -| `value` | String | 期权实体的价值. | - -## ScannedResource[](#scannedresource "Permalink") - -表示通过安全扫描扫描的资源 - -| Name | Type | Description | -| --- | --- | --- | -| `requestMethod` | String | 用于访问 URL 的 HTTP 请求方法 | -| `url` | String | 扫描仪扫描的 URL | - -## SecurityReportSummary[](#securityreportsummary "Permalink") - -代表安全报告摘要 - -| Name | Type | Description | -| --- | --- | --- | -| `containerScanning` | SecurityReportSummarySection | container_scanning 扫描的汇总计数 | -| `coverageFuzzing` | SecurityReportSummarySection | coverage_fuzzing 扫描的总计数 | -| `dast` | SecurityReportSummarySection | Dast 扫描的累计计数 | -| `dependencyScanning` | SecurityReportSummarySection | dependency_scanning 扫描的汇总计数 | -| `sast` | SecurityReportSummarySection | sast 扫描的累计计数 | -| `secretDetection` | SecurityReportSummarySection | secret_detection 扫描的总计计数 | - -## SecurityReportSummarySection[](#securityreportsummarysection "Permalink") - -代表安全报告摘要的一部分 - -| Name | Type | Description | -| --- | --- | --- | -| `scannedResourcesCount` | Int | 扫描资源总数 | -| `scannedResourcesCsvPath` | String | 以 CSV 格式下载所有扫描资源的路径 | -| `vulnerabilitiesCount` | Int | 漏洞总数 | - -## SecurityScanners[](#securityscanners "Permalink") - -代表安全扫描器列表 - -| Name | Type | Description | -| --- | --- | --- | -| `available` | SecurityScannerType! =>数组 | 可用于项目的分析仪列表. | -| `enabled` | SecurityScannerType! =>数组 | 为项目启用的分析器列表. | -| `pipelineRun` | SecurityScannerType! => Array | 在最新管道中成功运行的分析仪列表. | - -## SentryDetailedError[](#sentrydetailederror "Permalink") - -哨兵错误. - -| Name | Type | Description | -| --- | --- | --- | -| `count` | Int! | 发生次数 | -| `culprit` | String! | 错误的罪魁祸首 | -| `externalBaseUrl` | String! | Sentry 实例的外部基本 URL | -| `externalUrl` | String! | 错误的外部网址 | -| `firstReleaseLastCommit` | String | 提交错误是第一次被发现 | -| `firstReleaseShortVersion` | String | 发布简短版本错误首次被发现 | -| `firstReleaseVersion` | String | 发布版本错误首次被发现 | -| `firstSeen` | Time! | 首次发现错误的时间戳 | -| `frequency` | SentryErrorFrequency! =>数组 | 最近 24 小时的错误统计信息 | -| `gitlabCommit` | String | 基于发行版的 GitLab 提交 SHA 归因于 Error | -| `gitlabCommitPath` | String | 错误归因于 GitLab 提交的 GitLab 页面的路径 | -| `gitlabIssuePath` | String | GitLab 问题的网址 | -| `id` | ID! | ID (global ID) of the error | -| `lastReleaseLastCommit` | String | 提交错误最后一次出现 | -| `lastReleaseShortVersion` | String | 发布简短版本错误最后一次出现 | -| `lastReleaseVersion` | String | 发布版本错误最后一次出现 | -| `lastSeen` | Time! | 上次出现错误的时间戳 | -| `message` | String | 错误的哨兵元数据消息 | -| `sentryId` | String! | 错误的 ID(哨兵 ID) | -| `sentryProjectId` | ID! | 项目的 ID(哨兵项目) | -| `sentryProjectName` | String! | 受错误影响的项目名称 | -| `sentryProjectSlug` | String! | 错误造成的项目影响 | -| `shortId` | String! | 错误的简称(Sentry ID) | -| `status` | SentryErrorStatus! | 错误状态 | -| `tags` | SentryErrorTags! | 与哨兵错误相关的标签 | -| `title` | String! | 错误标题 | -| `type` | String! | 错误类型 | -| `userCount` | Int! | 受错误影响的用户数 | - -## SentryError[](#sentryerror "Permalink") - -哨兵错误. SentryDetailedError 的简化版本. - -| Name | Type | Description | -| --- | --- | --- | -| `count` | Int! | 发生次数 | -| `culprit` | String! | 错误的罪魁祸首 | -| `externalUrl` | String! | 错误的外部网址 | -| `firstSeen` | Time! | 首次发现错误的时间戳 | -| `frequency` | SentryErrorFrequency! =>数组 | 最近 24 小时的错误统计信息 | -| `id` | ID! | 错误的 ID(全局 ID) | -| `lastSeen` | Time! | 上次出现错误的时间戳 | -| `message` | String | 错误的哨兵元数据消息 | -| `sentryId` | String! | 错误的 ID(哨兵 ID) | -| `sentryProjectId` | ID! | 项目的 ID(哨兵项目) | -| `sentryProjectName` | String! | 受错误影响的项目名称 | -| `sentryProjectSlug` | String! | 错误造成的项目影响 | -| `shortId` | String! | 错误的简称(Sentry ID) | -| `status` | SentryErrorStatus! | 错误状态 | -| `title` | String! | 错误标题 | -| `type` | String! | 错误类型 | -| `userCount` | Int! | 受错误影响的用户数 | - -## SentryErrorCollection[](#sentryerrorcollection "Permalink") - -包含 Sentry 错误和详细错误的集合的对象. - -| Name | Type | Description | -| --- | --- | --- | -| `detailedError` | SentryDetailedError | 该项目的 Sentry 错误的详细版本 | -| `errorStackTrace` | SentryErrorStackTrace | 哨兵错误的堆栈跟踪 | -| `errors` | SentryErrorConnection | 哨兵错误的收集 | -| `externalUrl` | String | 哨兵的外部网址 | - -## SentryErrorFrequency[](#sentryerrorfrequency "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `count` | Int! | 自先前记录的时间以来收到的错误计数 | -| `time` | Time! | 记录错误频率统计信息的时间 | - -## SentryErrorStackTrace[](#sentryerrorstacktrace "Permalink") - -包含用于 Sentry 错误的堆栈跟踪条目的对象. - -| Name | Type | Description | -| --- | --- | --- | -| `dateReceived` | String! | Sentry 收到堆栈跟踪的时间 | -| `issueId` | String! | Sentry 错误的 ID | -| `stackTraceEntries` | SentryErrorStackTraceEntry! =>数组 | 堆栈跟踪条目的 Sentry 错误 | - -## SentryErrorStackTraceContext[](#sentryerrorstacktracecontext "Permalink") - -Sentry 错误堆栈跟踪的对象上下文 - -| Name | Type | Description | -| --- | --- | --- | -| `code` | String! | 上下文的代码号 | -| `line` | Int! | 上下文的行号 | - -## SentryErrorStackTraceEntry[](#sentryerrorstacktraceentry "Permalink") - -包含用于 Sentry 错误的堆栈跟踪条目的对象. - -| Name | Type | Description | -| --- | --- | --- | -| `col` | String | 发生哨兵错误的功能 | -| `fileName` | String | 发生 Sentry 错误的文件 | -| `function` | String | 发生哨兵错误的功能 | -| `line` | String | 发生哨兵错误的功能 | -| `traceContext` | SentryErrorStackTraceContext! =>数组 | Sentry 错误的上下文 | - -## SentryErrorTags[](#sentryerrortags "Permalink") - -哨兵状态错误 - -| Name | Type | Description | -| --- | --- | --- | -| `level` | String | 哨兵错误的严重程度 | -| `logger` | String | 哨兵记录仪错误 | - -## Snippet[](#snippet "Permalink") - -代表代码段条目 - -| Name | Type | Description | -| --- | --- | --- | -| `author` | User | 摘要的所有者 | -| `blob` | SnippetBlob! | 摘要片段 | -| `blobs` | SnippetBlob! =>数组 | 摘要片段 | -| `createdAt` | Time! | 创建此片段的时间戳 | -| `description` | String | 片段说明 | -| `descriptionHtml` | String | GitLab 风味 Markdown 渲染`description` | -| `fileName` | String | 片段的文件名 | -| `httpUrlToRepo` | String | 片段存储库的 HTTP URL | -| `id` | ID! | 摘要的 ID | -| `project` | Project | 代码段与之关联的项目 | -| `rawUrl` | String! | 代码段的原始 URL | -| `sshUrlToRepo` | String | 到代码段存储库的 SSH URL | -| `title` | String! | 摘要标题 | -| `updatedAt` | Time! | 此代码段的时间戳已更新 | -| `userPermissions` | SnippetPermissions! | 当前用户对该资源的权限 | -| `visibilityLevel` | VisibilityLevelsEnum! | 摘要的可见度级别 | -| `webUrl` | String! | 代码段的网址 | - -## SnippetBlob[](#snippetblob "Permalink") - -代表代码段 Blob - -| Name | Type | Description | -| --- | --- | --- | -| `binary` | Boolean! | 显示 Blob 是否为二进制 | -| `externalStorage` | String | Blob 外部存储 | -| `mode` | String | 斑点模式 | -| `name` | String | Blob 名称 | -| `path` | String | 斑点路径 | -| `plainData` | String | Blob 普通高亮数据 | -| `rawPath` | String! | Blob 原始内容端点路径 | -| `renderedAsText` | Boolean! | 显示 Blob 是否呈现为文本 | -| `richData` | String | Blob 高亮显示的数据 | -| `richViewer` | SnippetBlobViewer | Blob 内容丰富的查看器 | -| `simpleViewer` | SnippetBlobViewer! | Blob 内容简单查看器 | -| `size` | Int! | 斑点大小 | - -## SnippetBlobViewer[](#snippetblobviewer "Permalink") - -表示应如何显示 Blob 内容 - -| Name | Type | Description | -| --- | --- | --- | -| `collapsed` | Boolean! | 显示是否应折叠显示 Blob | -| `fileType` | String! | 内容文件类型 | -| `loadAsync` | Boolean! | 显示 blob 内容是否异步加载 | -| `loadingPartialName` | String! | 载入部分名称 | -| `renderError` | String | 呈现 Blob 内容时出错 | -| `tooLarge` | Boolean! | 显示斑点是否太大而无法显示 | -| `type` | BlobViewersType! | Blob 查看器类型 | - -## SnippetPermissions[](#snippetpermissions "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `adminSnippet` | Boolean! | 指示用户可以对此资源执行`admin_snippet` | -| `awardEmoji` | Boolean! | 表示用户可以在此资源上执行`award_emoji` | -| `createNote` | Boolean! | 指示用户可以在此资源上执行`create_note` | -| `readSnippet` | Boolean! | 指示用户可以对此资源执行`read_snippet` | -| `reportSnippet` | Boolean! | 指示用户可以对此资源执行`report_snippet` | -| `updateSnippet` | Boolean! | 指示用户可以对此资源执行`update_snippet` | - -## Submodule[](#submodule "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `flatPath` | String! | 条目的平坦路径 | -| `id` | ID! | 条目 ID | -| `name` | String! | 条目名称 | -| `path` | String! | 条目路径 | -| `sha` | String! | 提交的最后提交 sha | -| `treeUrl` | String | 子模块的树 URL | -| `type` | EntryType! | 树条目的类型 | -| `webUrl` | String | 子模块的 Web URL | - -## TaskCompletionStatus[](#taskcompletionstatus "Permalink") - -任务的完成状态 - -| Name | Type | Description | -| --- | --- | --- | -| `completedCount` | Int! | 完成的任务数 | -| `count` | Int! | 总任务数 | - -## TestReport[](#testreport "Permalink") - -表示需求测试报告. - -| Name | Type | Description | -| --- | --- | --- | -| `author` | User | 测试报告的作者 | -| `createdAt` | Time! | 创建测试报告的时间戳 | -| `id` | ID! | 测试报告编号 | -| `state` | TestReportState! | 测试报告的状态 | - -## Timelog[](#timelog "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `date` | Time! | **不推荐使用:**使用`spentAt` . 在 12.10 中弃用 | -| `issue` | Issue | 记录时间已添加到的问题 | -| `spentAt` | Time | 跟踪时间的时间戳记 | -| `timeSpent` | Int! | 显示的时间(以秒为单位) | -| `user` | User! | 记录时间的用户 | - -## Todo[](#todo "Permalink") - -代表待办事项 - -| Name | Type | Description | -| --- | --- | --- | -| `action` | TodoActionEnum! | 待办事项的动作 | -| `author` | User! | 此待办事项的所有者 | -| `body` | String! | 待办事项的正文 | -| `createdAt` | Time! | 待办事项的时间戳记已创建 | -| `group` | Group | 与该待办事项相关的组 | -| `id` | ID! | 待办事项编号 | -| `project` | Project | 此待办事项与之相关的项目 | -| `state` | TodoStateEnum! | 待办事项的状态 | -| `targetType` | TodoTargetEnum! | 待办事项的目标类型 | - -## TodoMarkDonePayload[](#todomarkdonepayload "Permalink") - -自动生成的 TodoMarkDone 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `todo` | Todo! | 要求的待办事项 | - -## TodoRestoreManyPayload[](#todorestoremanypayload "Permalink") - -自动生成的 TodoRestoreMany 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `todos` | 一切! =>数组 | 全部更新 | -| `updatedIds` | ID! =>数组 | **不推荐使用:**使用待办事项. 在 13.2 中已弃用 | - -## TodoRestorePayload[](#todorestorepayload "Permalink") - -自动生成的 TodoRestore 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `todo` | Todo! | 要求的待办事项 | - -## TodosMarkAllDonePayload[](#todosmarkalldonepayload "Permalink") - -自动生成的 TodosMarkAllDone 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `todos` | 一切! =>数组 | 全部更新 | -| `updatedIds` | ID! =>数组 | **不推荐使用:**使用待办事项. 在 13.2 中已弃用 | - -## ToggleAwardEmojiPayload[](#toggleawardemojipayload "Permalink") - -自动生成的 ToggleAwardEmoji 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `awardEmoji` | AwardEmoji | 突变后的奖励表情符号 | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `toggledOn` | Boolean! | 指示表情符号的状态. 如果切换开关授予表情符号,则为 true;如果切换开关删除了表情符号,则为 false. | - -## Tree[](#tree "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `lastCommit` | Commit | 树的最后提交 | - -## TreeEntry[](#treeentry "Permalink") - -代表目录 - -| Name | Type | Description | -| --- | --- | --- | -| `flatPath` | String! | 条目的平坦路径 | -| `id` | ID! | 条目 ID | -| `name` | String! | 条目名称 | -| `path` | String! | 条目路径 | -| `sha` | String! | 提交的最后提交 sha | -| `type` | EntryType! | 树条目的类型 | -| `webUrl` | String | 树条目(目录)的 Web URL | - -## UpdateAlertStatusPayload[](#updatealertstatuspayload "Permalink") - -自动生成的 UpdateAlertStatus 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `alert` | AlertManagementAlert | 突变后的警报 | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `issue` | Issue | 突变后产生的问题 | -| `todo` | Todo | 突变后的待办事项 | - -## UpdateContainerExpirationPolicyPayload[](#updatecontainerexpirationpolicypayload "Permalink") - -自动生成的 UpdateContainerExpirationPolicy 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `containerExpirationPolicy` | ContainerExpirationPolicy | 变更后的容器到期政策 | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | - -## UpdateEpicPayload[](#updateepicpayload "Permalink") - -自动生成的 UpdateEpic 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `epic` | Epic | 突变后的史诗 | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | - -## UpdateImageDiffNotePayload[](#updateimagediffnotepayload "Permalink") - -自动生成的 UpdateImageDiffNote 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `note` | Note | 突变后的音符 | - -## UpdateIssuePayload[](#updateissuepayload "Permalink") - -自动生成的 UpdateIssue 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `issue` | Issue | 突变后的问题 | - -## UpdateIterationPayload[](#updateiterationpayload "Permalink") - -自动生成的 UpdateIteration 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `iteration` | Iteration | 更新的迭代 | - -## UpdateNotePayload[](#updatenotepayload "Permalink") - -自动生成的 UpdateNote 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `note` | Note | 突变后的音符 | - -## UpdateRequirementPayload[](#updaterequirementpayload "Permalink") - -自动生成的 UpdateRequirement 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `requirement` | Requirement | 突变后的要求 | - -## UpdateSnippetPayload[](#updatesnippetpayload "Permalink") - -自动生成的 UpdateSnippet 返回类型 - -| Name | Type | Description | -| --- | --- | --- | -| `clientMutationId` | String | 进行突变的客户的唯一标识符. | -| `errors` | 串! =>数组 | 执行突变期间遇到的错误. | -| `snippet` | Snippet | 突变后的代码段 | - -## User[](#user "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `avatarUrl` | String | URL of the user’s avatar | -| `id` | ID! | 用户 ID | -| `name` | String! | 用户易读的名称 | -| `state` | UserState! | 用户状态 | -| `userPermissions` | UserPermissions! | 当前用户对该资源的权限 | -| `username` | String! | 用户的用户名. 在此 GitLab 实例中是唯一的 | -| `webUrl` | String! | 用户的网址 | - -## UserPermissions[](#userpermissions "Permalink") - -| Name | Type | Description | -| --- | --- | --- | -| `createSnippet` | Boolean! | 指示用户可以对此资源执行`create_snippet` | - -## VulnerabilitiesCountByDayAndSeverity[](#vulnerabilitiescountbydayandseverity "Permalink") - -表示在特定日期的特定严重性的漏洞数量 - -| Name | Type | Description | -| --- | --- | --- | -| `count` | Int | 漏洞数量 | -| `day` | ISO8601Date | 计数日期 | -| `severity` | VulnerabilitySeverity | 所计算漏洞的严重性 | - -## Vulnerability[](#vulnerability "Permalink") - -表示漏洞. - -| Name | Type | Description | -| --- | --- | --- | -| `description` | String | 漏洞描述 | -| `id` | ID! | 漏洞的 GraphQL ID | -| `identifiers` | 漏洞标识符! =>数组 | 漏洞的标识符. | -| `location` | VulnerabilityLocation | 漏洞的位置元数据. 其字段取决于发现漏洞的安全扫描的类型 | -| `primaryIdentifier` | VulnerabilityIdentifier | 漏洞的主要标识符. | -| `project` | Project | 发现漏洞的项目 | -| `reportType` | VulnerabilityReportType | 发现漏洞的安全报告的类型(SAST,DEPENDENCY_SCANNING,CONTAINER_SCANNING,DAST,SECRET_DETECTION,COVERAGE_FUZZING) | -| `scanner` | VulnerabilityScanner | 漏洞的扫描程序元数据. | -| `severity` | VulnerabilitySeverity | 漏洞的严重程度(INFO,未知,LOW,MEDIUM,HIGH,CRITICAL) | -| `state` | VulnerabilityState | 漏洞状态(检测,已拒绝,已解决,已确认) | -| `title` | String | 漏洞标题 | -| `userNotesCount` | Int! | 漏洞附带的用户注释数 | -| `userPermissions` | VulnerabilityPermissions! | 当前用户对该资源的权限 | -| `vulnerabilityPath` | String | 漏洞详细信息页面的 URL | - -## VulnerabilityIdentifier[](#vulnerabilityidentifier "Permalink") - -表示漏洞标识符. - -| Name | Type | Description | -| --- | --- | --- | -| `externalId` | String | 漏洞标识符的外部 ID | -| `externalType` | String | 漏洞标识符的外部类型 | -| `name` | String | 漏洞标识符的名称 | -| `url` | String | 漏洞标识符的 URL | - -## VulnerabilityIssueLink[](#vulnerabilityissuelink "Permalink") - -表示漏洞的问题链接. - -| Name | Type | Description | -| --- | --- | --- | -| `id` | ID! | 漏洞的 GraphQL ID | -| `issue` | Issue! | 问题附在问题链接上 | -| `linkType` | VulnerabilityIssueLinkType! | 问题链接的类型 | - -## VulnerabilityLocationContainerScanning[](#vulnerabilitylocationcontainerscanning "Permalink") - -表示通过容器安全扫描发现的漏洞的位置 - -| Name | Type | Description | -| --- | --- | --- | -| `dependency` | VulnerableDependency | 包含漏洞的依赖项 | -| `image` | String | 易受攻击的容器映像的名称 | -| `operatingSystem` | String | 在易受攻击的容器映像上运行的操作系统 | - -## VulnerabilityLocationDast[](#vulnerabilitylocationdast "Permalink") - -表示通过 DAST 扫描发现的漏洞的位置 - -| Name | Type | Description | -| --- | --- | --- | -| `hostname` | String | 漏洞请求的域名 | -| `param` | String | 发生漏洞的 URL 的查询参数 | -| `path` | String | 漏洞请求的 URL 路径和查询字符串 | -| `requestMethod` | String | 易受攻击请求的 HTTP 方法 | - -## VulnerabilityLocationDependencyScanning[](#vulnerabilitylocationdependencyscanning "Permalink") - -表示依赖关系安全扫描发现的漏洞的位置 - -| Name | Type | Description | -| --- | --- | --- | -| `dependency` | VulnerableDependency | 包含漏洞的依赖项 | -| `file` | String | 易受攻击文件的路径 | - -## VulnerabilityLocationSast[](#vulnerabilitylocationsast "Permalink") - -表示通过 SAST 扫描发现的漏洞的位置 - -| Name | Type | Description | -| --- | --- | --- | -| `endLine` | String | 易受攻击的文件中最后相关的行号 | -| `file` | String | 易受攻击文件的路径 | -| `startLine` | String | 漏洞文件中第一相关行的编号 | -| `vulnerableClass` | String | 包含漏洞的类 | -| `vulnerableMethod` | String | 包含漏洞的方法 | - -## VulnerabilityLocationSecretDetection[](#vulnerabilitylocationsecretdetection "Permalink") - -表示通过秘密检测扫描发现的漏洞的位置 - -| Name | Type | Description | -| --- | --- | --- | -| `endLine` | String | 易受攻击的文件中最后相关的行号 | -| `file` | String | 易受攻击文件的路径 | -| `startLine` | String | 漏洞文件中第一相关行的编号 | -| `vulnerableClass` | String | 包含漏洞的类 | -| `vulnerableMethod` | String | 包含漏洞的方法 | - -## VulnerabilityPermissions[](#vulnerabilitypermissions "Permalink") - -检查当前用户对漏洞的权限 - -| Name | Type | Description | -| --- | --- | --- | -| `adminVulnerability` | Boolean! | 指示用户可以对此资源执行`admin_vulnerability` | -| `adminVulnerabilityIssueLink` | Boolean! | 指示用户可以对此资源执行`admin_vulnerability_issue_link` | -| `createVulnerability` | Boolean! | 指示用户可以对此资源执行`create_vulnerability` | -| `createVulnerabilityExport` | Boolean! | 指示用户可以对此资源执行`create_vulnerability_export` | -| `createVulnerabilityFeedback` | Boolean! | 指示用户可以对此资源执行`create_vulnerability_feedback` | -| `destroyVulnerabilityFeedback` | Boolean! | 指示用户可以对此资源执行`destroy_vulnerability_feedback` | -| `readVulnerabilityFeedback` | Boolean! | 指示用户可以对此资源执行`read_vulnerability_feedback` | -| `updateVulnerabilityFeedback` | Boolean! | 指示用户可以对此资源执行`update_vulnerability_feedback` | - -## VulnerabilityScanner[](#vulnerabilityscanner "Permalink") - -表示漏洞扫描程序. - -| Name | Type | Description | -| --- | --- | --- | -| `externalId` | String | 漏洞扫描器的外部 ID | -| `name` | String | 漏洞扫描程序的名称 | -| `reportType` | VulnerabilityReportType | 漏洞报告的类型 | -| `vendor` | String | 漏洞扫描程序的供应商 | - -## VulnerabilitySeveritiesCount[](#vulnerabilityseveritiescount "Permalink") - -按严重性表示漏洞计数 - -| Name | Type | Description | -| --- | --- | --- | -| `critical` | Int | 项目严重程度的漏洞数量 | -| `high` | Int | 项目严重性高的漏洞数量 | -| `info` | Int | 项目的 INFO 严重性漏洞数量 | -| `low` | Int | 项目严重性为 LOW 的漏洞数量 | -| `medium` | Int | 项目 MEDIUM 严重程度的漏洞数量 | -| `unknown` | Int | 该项目严重程度未知的漏洞数量 | - -## VulnerableDependency[](#vulnerabledependency "Permalink") - -表示脆弱的依赖关系. 用于漏洞位置数据 - -| Name | Type | Description | -| --- | --- | --- | -| `package` | VulnerablePackage | 与弱势依赖项相关的软件包 | -| `version` | String | 脆弱依赖的版本 | - -## VulnerablePackage[](#vulnerablepackage "Permalink") - -表示易受攻击的程序包. 用于漏洞依赖性数据 - -| Name | Type | Description | -| --- | --- | --- | -| `name` | String | 易受攻击软件包的名称 | \ No newline at end of file diff --git a/docs/387.md b/docs/387.md deleted file mode 100644 index e083ab6..0000000 --- a/docs/387.md +++ /dev/null @@ -1,87 +0,0 @@ -# API V3 to API V4 - -> 原文:[https://docs.gitlab.com/ee/api/v3_to_v4.html](https://docs.gitlab.com/ee/api/v3_to_v4.html) - -* [8.17](#817) -* [9.0](#90) - -# API V3 to API V4[](#api-v3-to-api-v4 "Permalink") - -从 GitLab 9.0 开始,API V4 是首选的版本. - -API V3 从 GitLab 9.5 不支持的,在 8 月 22 日公布,2017 年 API V3 中取出[GitLab 11.0](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/36819) . V3 API 文档仍然[可用](https://gitlab.com/gitlab-org/gitlab-foss/blob/8-16-stable/doc/api/README.md) . - -以下是 V3 和 V4 之间所做的更改. - -## 8.17[](#817 "Permalink") - -* Removed `GET /projects/:search` (use: `GET /projects?search=x`) [!8877](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/8877) -* `iid`过滤器已从`GET /projects/:id/issues` [!8967 中](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/8967)删除[.](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/8967) -* `GET /projects/:id/merge_requests?iid[]=x&iid[]=y`数组过滤器已重命名为`iids` [!8793](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/8793) -* `GET /projects/merge_request/:id`下的端点已被删除(使用: `GET /projects/merge_requests/:id` ) [!8793](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/8793) -* 项目摘要不返回不建议使用的字段`expires_at` [!8723](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/8723) -* `GET /projects/:id/keys`下的端点已被删除(使用`GET /projects/:id/deploy_keys` ) [!8716](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/8716) - -## 9.0[](#90 "Permalink") - -* 当成员已经存在时,为`POST /projects/:id/members`返回状态 409 [!9093](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/9093) -* Moved `DELETE /projects/:id/star` to `POST /projects/:id/unstar` [!9328](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/9328) -* 删除了以下不建议使用的模板端点(仍然可以使用`/templates`前缀访问这些端点) [!8853](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/8853) - * `/licenses` - * `/licenses/:key` - * `/gitignores` - * `/gitlab_ci_ymls` - * `/dockerfiles` - * `/gitignores/:key` - * `/gitlab_ci_ymls/:key` - * `/dockerfiles/:key` -* Moved `POST /projects/fork/:id` to `POST /projects/:id/fork` [!8940](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/8940) -* Moved `DELETE /todos` to `POST /todos/mark_as_done` and `DELETE /todos/:todo_id` to `POST /todos/:todo_id/mark_as_done` [!9410](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/9410) -* 项目过滤器不再作为`GET /projects/foo` ,而是作为`GET /projects?foo=true`代替[!8962](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/8962) - * `GET /projects/visible`和`GET /projects/all`合并到`GET /projects` ,可以在有或没有授权的情况下使用 - * `GET /projects/owned`移至`GET /projects?owned=true` - * `GET /projects/starred`移至`GET /projects?starred=true` -* `GET /projects`返回当前用户可见的所有项目,即使该用户不是成员[!9674](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/9674) - * 要获取用户所属的`GET /projects?membership=true` ,请使用`GET /projects?membership=true` -* 返回所有返回数组的端点的分页头[!8606](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/8606) -* 添加了`POST /environments/:environment_id/stop`以停止环境[!8808](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/8808) -* 删除了`DELETE /projects/:id/deploy_keys/:key_id/disable` 使用`DELETE /projects/:id/deploy_keys/:key_id`代替[!9366](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/9366) -* Moved `PUT /users/:id/(block|unblock)` to `POST /users/:id/(block|unblock)` [!9371](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/9371) -* 使订阅 API 更 RESTful. 使用`POST /projects/:id/:subscribable_type/:subscribable_id/subscribe`进行订阅,并使用`POST /projects/:id/:subscribable_type/:subscribable_id/unsubscribe`取消订阅资源. [!9325](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/9325) -* 标签在`GET /projects/:id/issues`上过滤,并且`GET /issues`现在仅匹配包含所有标签的问题(即:逻辑 AND,而非 OR) [!8849](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/8849) -* 将参数`branch_name`重命名为在以下端点上`branch` [!8936](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/8936) - * `POST /projects/:id/repository/branches` - * `POST /projects/:id/repository/commits` - * `POST/PUT/DELETE :id/repository/files` -* 改名`merge_when_build_succeeds`参数`merge_when_pipeline_succeeds`以下端点: [!9335](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/) - * `PUT /projects/:id/merge_requests/:merge_request_id/merge` - * `POST /projects/:id/merge_requests/:merge_request_id/cancel_merge_when_pipeline_succeeds` - * `POST /projects` - * `POST /projects/user/:user_id` - * `PUT /projects/:id` -* Renamed `branch_name` to `branch` on `DELETE /projects/:id/repository/branches/:branch` response [!8936](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/8936) -* 从项目的创建和编辑操作中删除`public`参数[!8736](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/8736) -* 从返回问题列表或合并请求的响应中删除已`subscribed`字段. 获取单个问题或合并请求以获取已`subscribed` [!9661](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/9661)的值 -* 在各处使用`visibility`作为字符串参数[!9337](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/9337) -* Notes do not return deprecated field `upvote` and `downvote` [!9384](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/9384) -* 创建或更新成员时,针对所有验证错误返回 HTTP 状态代码`400` ,而不是有时为`422`错误. [!9523](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/9523) -* 删除`GET /groups/owned` . 使用`GET /groups?owned=true`代替[!9505](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/9505) -* 在 V4 API 上以异步删除方式返回带有 JSON 正文的 202( `DELETE /projects/:id/repository/merged_branches`和`DELETE /projects/:id` ) [!9449](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/9449) -* `GET /projects/:id/milestones?iid[]=x&iid[]=y`数组过滤器已重命名为`iids` [!9096](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/9096) -* 在`GET /projects/:id/pipelines`返回有关管道的基本信息[!8875](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/8875) -* 将所有`build`参考重命名为`job` [!9463](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/9463) -* Drop `GET /projects/:id/repository/commits/:sha/jobs` [!9463](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/9463) -* Rename Build Triggers to be Pipeline Triggers API [!9713](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/9713) 将构建触发器重命名为管道触发器 API [!9713](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/9713) - * `POST /projects/:id/trigger/builds` to `POST /projects/:id/trigger/pipeline` `POST /projects/:id/trigger/builds`到`POST /projects/:id/trigger/pipeline` - * Require description when creating a new trigger `POST /projects/:id/triggers` 创建新触发器`POST /projects/:id/triggers`时需要说明`POST /projects/:id/triggers` -* 简化环境端点上暴露的项目有效负载[!9675](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/9675) -* API uses merge request `IID`s (internal ID, as in the web UI) rather than `ID`s. This affects the merge requests, award emoji, todos, and time tracking APIs. [!9530](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/9530) -* API 使用问题`IID` (内部 ID,如 Web UI),而不使用`ID` . 这会影响问题,奖励表情符号,待办事项和时间跟踪 API. [!9530](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/9530) -* 将`GET /projects/:id/repository/commits`上的初始页面从`0`更改为`1` (类似于 API 的其余部分) [!9679](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/9679) -* 返回正确的`GET /projects/:id/repository/commits` `Link`标头数据[!9679](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/9679) -* 更新存储库文件的端点[!9637](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/9637) - * 将`GET /projects/:id/repository/files?file_path=:file_path`移到`GET /projects/:id/repository/files/:file_path` ( `:file_path`应该用 URL 编码) - * `GET /projects/:id/repository/blobs/:sha`现在返回由`:sha`标识的 blob 的 JSON 属性,而不是查找由`:sha`标识的提交,并在必需的`?filepath=:filepath`标识的那个提交中返回 blob 的原始内容`?filepath=:filepath` - * 将`GET /projects/:id/repository/commits/:sha/blob?file_path=:file_path`和`GET /projects/:id/repository/blobs/:sha?file_path=:file_path`移至`GET /projects/:id/repository/files/:file_path/raw?ref=:sha` - * `GET /projects/:id/repository/tree`参数`ref_name`已重命名为`ref`以保持一致性 -* `confirm`为参数`POST /users`已被弃用,取而代之的`skip_confirmation`参数 \ No newline at end of file diff --git a/docs/388.md b/docs/388.md deleted file mode 100644 index cce2b23..0000000 --- a/docs/388.md +++ /dev/null @@ -1,43 +0,0 @@ -# Validate the `.gitlab-ci.yml` (API) - -> 原文:[https://docs.gitlab.com/ee/api/lint.html](https://docs.gitlab.com/ee/api/lint.html) - -# Validate the `.gitlab-ci.yml` (API)[](#validate-the-gitlab-ciyml-api "Permalink") - -在 GitLab 8.12 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/5953) . - -检查您的`.gitlab-ci.yml`文件是否有效. - -``` -POST /ci/lint -``` - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `content` | string | yes | the `.gitlab-ci.yaml` content | - -``` -curl --header "Content-Type: application/json" "https://gitlab.example.com/api/v4/ci/lint" --data '{"content": "{ \"image\": \"ruby:2.6\", \"services\": [\"postgres\"], \"before_script\": [\"bundle install\", \"bundle exec rake db:create\"], \"variables\": {\"DB_NAME\": \"postgres\"}, \"types\": [\"test\", \"deploy\", \"notify\"], \"rspec\": { \"script\": \"rake spec\", \"tags\": [\"ruby\", \"postgres\"], \"only\": [\"branches\"]}}"}' -``` - -请务必复制并粘贴`.gitlab-ci.yml`的确切内容,因为 YAML 对于缩进和空格非常挑剔. - -响应示例: - -* 有效内容: - - ``` - { "status": "valid", "errors": [] } - ``` - -* 无效的内容: - - ``` - { "status": "invalid", "errors": [ "variables config should be a hash of key value pairs" ] } - ``` - -* 没有 content 属性: - - ``` - { "error": "content is missing" } - ``` \ No newline at end of file diff --git a/docs/389.md b/docs/389.md deleted file mode 100644 index 4788610..0000000 --- a/docs/389.md +++ /dev/null @@ -1 +0,0 @@ -> 原文:[https://docs.gitlab.com/ee/api/oauth2.html](https://docs.gitlab.com/ee/api/oauth2.html) \ No newline at end of file diff --git a/docs/390.md b/docs/390.md deleted file mode 100644 index f78cfbb..0000000 --- a/docs/390.md +++ /dev/null @@ -1,167 +0,0 @@ -# User Docs - -> 原文:[https://docs.gitlab.com/ee/user/](https://docs.gitlab.com/ee/user/) - -* [Overview](#overview) - * [Concepts](#concepts) -* [Use cases](#use-cases) -* [Projects](#projects) -* [GitLab CI/CD](#gitlab-cicd) -* [Account](#account) -* [Groups](#groups) -* [Discussions](#discussions) - * [GitLab Flavored Markdown (GFM)](#gitlab-flavored-markdown-gfm) -* [Todos](#todos) -* [Search](#search) -* [Snippets](#snippets) -* [Keyboard shortcuts](#keyboard-shortcuts) -* [Integrations](#integrations) -* [Webhooks](#webhooks) -* [API](#api) -* [Git and GitLab](#git-and-gitlab) -* [Instance statistics](#instance-statistics) -* [Operations Dashboard](#operations-dashboard-premium) - -# User Docs[](#user-docs "Permalink") - -欢迎来到 GitLab! 我们很高兴您在这里! - -作为 GitLab 用户,您将有权访问您的[订阅](https://about.gitlab.com/pricing/)包括的所有功能,但[GitLab 管理员](../administration/index.html)设置除外,除非您具有安装,配置和升级 GitLab 实例的管理员权限. - -[GitLab.com 的](https://gitlab.com/)管理员特权仅限于 GitLab 团队. - -有关配置 GitLab 自管理实例的更多信息,请参阅[管理员文档](../administration/index.html) . - -## Overview[](#overview "Permalink") - -GitLab 是一个完全集成的软件开发平台,使您的团队能够在同一平台上保持透明,快速,有效和凝聚力,从讨论新想法到正式生产. - -有关更多信息,请参见[所有 GitLab 功能](https://about.gitlab.com/features/) . - -### Concepts[](#concepts "Permalink") - -要熟悉在 GitLab 上开发代码所需的概念,请阅读以下文章: - -* [Demo: Mastering Code Review With GitLab](https://about.gitlab.com/blog/2017/03/17/demo-mastering-code-review-with-gitlab/). -* [GitLab Workflow: An Overview](https://about.gitlab.com/blog/2016/10/25/gitlab-workflow-an-overview/#gitlab-workflow-use-case-scenario). -* [教程:在 GitLab 中都已连接](https://about.gitlab.com/blog/2016/03/08/gitlab-tutorial-its-all-connected/) :与 GitLab 进行代码协作的概述. -* [Trends in Version Control Land: Microservices](https://about.gitlab.com/blog/2016/08/16/trends-in-version-control-land-microservices/). -* [Trends in Version Control Land: Innersourcing](https://about.gitlab.com/blog/2016/07/07/trends-version-control-innersourcing/). - -## Use cases[](#use-cases "Permalink") - -GitLab 是一个基于 Git 的平台,它集成了许多用于软件开发和部署以及项目管理的基本工具: - -* 通过版本控制在存储库中托管代码. -* 使用功能齐全的[问题跟踪器](project/issues/index.html#issues-list)跟踪有关新实现,错误报告和反馈的建议. -* 组织和[发行委员会的](project/issues/index.html#issue-boards)优先次序. -* 使用[Review Apps](../ci/review_apps/index.html)查看[合并请求中](project/merge_requests/index.html)每个分支的实时预览更改中的代码. -* 使用内置的[持续集成进行](../ci/README.html)构建,测试和部署. -* 使用[GitLab Pages](project/pages/index.html)部署个人和专业静态网站. -* 通过使用[GitLab 容器注册表](packages/container_registry/index.html)与 Docker 集成. -* 通过使用[GitLab 价值流分析](project/cycle_analytics.html)跟踪开发生命周期. -* 提供[服务台](project/service_desk.html)支持. - -使用 GitLab 企业版,您还可以: - -* 通过以下方式改善协作: - * [合并请求批准](project/merge_requests/merge_request_approvals.html) . - * [问题的多个受让人](project/issues/multiple_assignees_for_issues.html) . - * [多个发行委员会](project/issue_board.html#multiple-issue-boards) . -* 在[相关问题](project/issues/related_issues.html)之间创建正式关系. -* 使用[Burndown Charts](project/milestones/burndown_charts.html)可以在冲刺期间或在使用其新版本软件时跟踪进度. -* 利用[Elasticsearch](../integration/elasticsearch.html)和[Advanced Global Search](search/advanced_global_search.html)和[Advanced Syntax Search](search/advanced_search_syntax.html)在整个 GitLab 实例上进行更快,更高级的代码搜索. -* [Authenticate users with Kerberos](../integration/kerberos.html). -* 从本地服务器上的其他地方[镜像存储库](project/repository/repository_mirroring.html) . -* [Export issues as CSV](project/issues/csv_export.html). -* 使用[Multiple-Project Pipelines](../ci/multi_project_pipeline_graphs.html)查看涉及多个项目的整个 CI / CD [管道](../ci/multi_project_pipeline_graphs.html) . -* [锁定文件](project/file_lock.html)以防止冲突. -* 使用[Deploy Boards](project/deploy_boards.html)查看在 Kubernetes 上运行的每个 CI 环境的当前运行状况和状态. -* 利用[Canary 部署的](project/canary_deployments.html)连续交付方法. -* 扫描您的代码中的漏洞, [并在合并请求中显示它们](application_security/sast/index.html) . - -您还可以[将](project/integrations/overview.html) GitLab 与众多第三方应用程序[集成](project/integrations/overview.html) ,例如 Mattermost,Microsoft Teams,HipChat,Trello,Slack,Bamboo CI,Jira 等. - -## Projects[](#projects "Permalink") - -在 GitLab 中,您可以创建[项目](project/index.html)来托管代码,跟踪问题,在代码上进行协作以及使用内置的 GitLab CI / CD 持续构建,测试和部署应用程序. 或者,您可以从一个项目中一次完成所有操作. - -* [存储库](project/repository/index.html) :将代码[库](project/repository/index.html)托管在具有版本控制的存储库中,并作为完全集成平台的一部分. -* [问题](project/issues/index.html) :探索 GitLab 问题的最佳功能. -* [合并请求](project/merge_requests/index.html) :在代码,评论,每个分支的实时预览更改方面进行协作,并通过合并请求请求批准. -* [里程碑](project/milestones/index.html) :处理多个问题,并与里程碑在同一目标日期合并请求. - -## GitLab CI/CD[](#gitlab-cicd "Permalink") - -使用内置的[GitLab CI / CD](../ci/README.html)直接从 GitLab 测试,构建和部署应用程序. 无需第三方集成. - -* [GitLab Auto Deploy](../topics/autodevops/stages.html#auto-deploy) :通过 GitLab Auto Deploy 开箱即用地部署您的应用程序. -* [Review Apps](../ci/review_apps/index.html) :实时预览带有 Review Apps 的合并请求所引入的更改. -* [GitLab 页面](project/pages/index.html) :使用 GitLab 页面直接从 GitLab 发布您的静态站点. 您可以使用 Pages 构建,测试和部署任何静态站点生成器. -* [GitLab Container Registry](packages/container_registry/index.html) :使用 Container Registry 构建和部署 Docker 映像. - -## Account[](#account "Permalink") - -您可以自定义和配置很多东西,以享受 GitLab 的最佳体验. - -* [设置](profile/index.html) :管理用户设置以更改您的个人信息,个人访问令牌,授权的应用程序等. -* [身份验证](../topics/authentication/index.html) :通读 GitLab 中可用的身份验证方法. -* [权限](permissions.html) :了解每种用户类型(访客,记者,开发人员,维护人员,所有者)的不同权限级别集. -* [功能亮点](feature_highlight.html) :了解有关应用周围的小蓝点的更多信息,这些小点可以解释某些功能. -* [滥用报告](abuse_reports.html) :向 GitLab 管理员报告用户的[滥用情况](abuse_reports.html) . - -## Groups[](#groups "Permalink") - -使用 GitLab [组,](group/index.html)您可以将相关项目组合在一起,并授予成员一次访问多个项目的权限. - -组也可以嵌套在[子组中](group/subgroups/index.html) . - -## Discussions[](#discussions "Permalink") - -在 GitLab 中,您可以在问题,合并请求,代码段和提交中注释和提及合作者. - -通过合并请求对代码库的实现执行内联检查时,可以通过[可解析的线程](discussions/index.html#resolvable-comments-and-threads)收集反馈. - -### GitLab Flavored Markdown (GFM)[](#gitlab-flavored-markdown-gfm "Permalink") - -通读[GFM 文档,](markdown.html)以了解如何在线程,注释,问题和合并请求描述以及所有支持 GFM 的其他地方应用最好的 GitLab 风味 Markdown. - -## Todos[](#todos "Permalink") - -Never forget to reply to your collaborators. [GitLab Todos](todos.html) are a tool for working faster and more effectively with your team, by listing all user or group mentions, as well as issues and merge requests you’re assigned to. - -## Search[](#search "Permalink") - -[搜索和筛选](search/index.html)组,项目,问题,合并请求,文件,代码等. - -## Snippets[](#snippets "Permalink") - -[片段](snippets.html)是您要存储在 GitLab 中的代码块,您可以从中快速访问它们. 您还可以通过" [讨论"](#discussions)收集有关它们的反馈. - -## Keyboard shortcuts[](#keyboard-shortcuts "Permalink") - -GitLab 中有许多[键盘快捷键](shortcuts.html) ,可帮助您在页面之间导航并更快地完成任务. - -## Integrations[](#integrations "Permalink") - -[将 GitLab](../integration/README.html)与您喜欢的工具(例如 Trello,Jira 等) [集成](../integration/README.html) . - -## Webhooks[](#webhooks "Permalink") - -配置[webhook](project/integrations/webhooks.html)以侦听特定事件,例如推送,问题或合并请求. GitLab 会将带有数据的 POST 请求发送到 webhook URL. - -## API[](#api "Permalink") - -通过[API](../api/README.html)自动化 GitLab. - -## Git and GitLab[](#git-and-gitlab "Permalink") - -了解什么是[Git](../topics/git/index.html)及其最佳实践. - -## Instance statistics[](#instance-statistics "Permalink") - -查看您的 GitLab 实例的[各种统计信息](instance_statistics/index.html) . - -## Operations Dashboard[](#operations-dashboard-premium "Permalink") - -See [Operations Dashboard](operations_dashboard/index.html) for a summary of each project’s operational health. \ No newline at end of file diff --git a/docs/391.md b/docs/391.md deleted file mode 100644 index c59744c..0000000 --- a/docs/391.md +++ /dev/null @@ -1,62 +0,0 @@ -# Abuse reports - -> 原文:[https://docs.gitlab.com/ee/user/abuse_reports.html](https://docs.gitlab.com/ee/user/abuse_reports.html) - -* [Reporting abuse through a user’s profile](#reporting-abuse-through-a-users-profile) -* [Reporting abuse through a user’s comment](#reporting-abuse-through-a-users-comment) -* [Reporting abuse through a user’s issue or merge request](#reporting-abuse-through-a-users-issue-or-merge-request) -* [Managing abuse reports](#managing-abuse-reports) - -# Abuse reports[](#abuse-reports "Permalink") - -您可以将其他 GitLab 用户的滥用情况报告给 GitLab 管理员. - -然后,GitLab 管理员[可以选择](admin_area/abuse_reports.html) : - -* 删除用户,这会将其从实例中删除. -* 阻止用户,这将拒绝他们访问实例. -* 或删除报告,以保留用户对实例的访问权限. - -您可以通过以下方式报告用户: - -* [Profile](#reporting-abuse-through-a-users-profile) -* [Comments](#reporting-abuse-through-a-users-comment) -* [Issues and Merge requests](#reporting-abuse-through-a-users-issue-or-merge-request) - -## Reporting abuse through a user’s profile[](#reporting-abuse-through-a-users-profile "Permalink") - -要从用户的个人资料页面举报滥用行为,请执行以下操作: - -1. 单击用户个人资料右上方的感叹号报告滥用按钮. -2. 完成滥用情况报告. -3. Click the **发送报告** button. - -## Reporting abuse through a user’s comment[](#reporting-abuse-through-a-users-comment "Permalink") - -要报告用户评论中的滥用行为,请执行以下操作: - -1. 单击垂直省略号(⋮)其他操作按钮以打开下拉列表. -2. Select **举报为滥用**. -3. 完成滥用情况报告. -4. 点击**发送报告**按钮. - -**注意:**在滥用情况报告的" **消息"**字段中,将预先填写报告用户评论的 URL. - -## Reporting abuse through a user’s issue or merge request[](#reporting-abuse-through-a-users-issue-or-merge-request "Permalink") - -**报告滥用**按钮显示在问题或合并请求的右上方: - -* 对于单击有权关闭问题或合并请求的用户,从单击" **关闭问题"**或" **关闭合并请求"**按钮时出现的菜单中选择**"报告滥用**情况". -* 查看问题或合并请求时,对于没有权限关闭问题或合并请求的用户. - -显示" **举报滥用行为"**按钮后,要提交滥用行为报告: - -1. 点击**举报滥用行为**按钮. -2. 提交滥用情况报告. -3. 点击**发送报告**按钮. - -**注意:**在滥用情况报告的" **消息"**字段中,将预先填写报告用户的问题或合并请求的 URL. - -## Managing abuse reports[](#managing-abuse-reports "Permalink") - -管理员能够查看和解决滥用报告. 有关更多信息,请参阅[滥用报告管理文档](admin_area/abuse_reports.html) . \ No newline at end of file diff --git a/docs/392.md b/docs/392.md deleted file mode 100644 index 91c404f..0000000 --- a/docs/392.md +++ /dev/null @@ -1,248 +0,0 @@ -# User account - -> 原文:[https://docs.gitlab.com/ee/user/profile/](https://docs.gitlab.com/ee/user/profile/) - -* [Creating users](#creating-users) -* [Signing in](#signing-in) - * [Unknown sign-in](#unknown-sign-in) -* [User profile](#user-profile) -* [Profile settings](#profile-settings) -* [Changing your password](#changing-your-password) -* [Changing your username](#changing-your-username) -* [Private profile](#private-profile) -* [Add details of external accounts](#add-details-of-external-accounts) -* [Private contributions](#private-contributions) -* [Current status](#current-status) -* [Commit email](#commit-email) - * [Private commit email](#private-commit-email) -* [Troubleshooting](#troubleshooting) - * [Why do I keep getting signed out?](#why-do-i-keep-getting-signed-out) - * [Increased sign-in time](#increased-sign-in-time) - -# User account[](#user-account "Permalink") - -每个 GitLab 帐户都有一个用户个人资料和设置. 您的[个人资料](#user-profile)包含有关您以及您的 GitLab 活动的信息. 您的[设置](#profile-settings)允许您自定义 GitLab 的某些方面以适合自己. - -## Creating users[](#creating-users "Permalink") - -在 GitLab 上有几种创建用户的方法. 有关更多详细信息,请参见[创建用户文档](account/create_accounts.html) . - -## Signing in[](#signing-in "Permalink") - -有几种方法可以登录您的 GitLab 帐户. 有关更多详细信息,请参见[身份验证主题](../../topics/authentication/index.html) . - -### Unknown sign-in[](#unknown-sign-in "Permalink") - -GitLab will notify you if a sign-in occurs that is from an unknown IP address or device. See [Unknown Sign-In Notification](unknown_sign_in_notification.html) for more details. - -## User profile[](#user-profile "Permalink") - -要访问您的个人资料: - -1. 单击您的头像. -2. Select **Profile**. - -在您的个人资料页面上,您将看到以下信息: - -* 个人信息 -* 活动流:查看您的活动流线和贡献历史 -* 组: [组](../group/index.html)你的成员 -* 参与的项目:您参与的[项目](../project/index.html) -* 个人项目:您的个人项目(尊重项目的可见性级别) -* 已加星标的项目:您已加星标的项目 -* 片段:您的个人代码[片段](../snippets.html#personal-snippets) - -## Profile settings[](#profile-settings "Permalink") - -要访问您的个人资料设置: - -1. 单击您的头像. -2. Select **Settings**. - -从那里,您可以: - -* 更新您的个人信息 -* 修改[密码](#changing-your-password) -* 为您的个人资料设置[自定义状态](#current-status) -* 管理您的个人资料的[提交电子邮件](#commit-email) -* Manage [2FA](account/two_factor_authentication.html) -* 添加[外部帐户的](#add-details-of-external-accounts)详细信息. -* 更改您的用户名并[删除您的帐户](account/delete_account.html) -* 管理可以[将 GitLab 用作 OAuth 提供](../../integration/oauth_provider.html#introduction-to-oauth)程序的应用[程序](../../integration/oauth_provider.html#introduction-to-oauth) -* 管理[个人访问令牌](personal_access_tokens.html)以通过 API 和授权的应用程序访问您的帐户 -* 添加和删​​除链接到您帐户的电子邮件 -* 选择用于[通知](notifications.html) ,基于 Web 的提交并显示在您的公开个人资料上的电子邮件 -* 管理[SSH 密钥](../../ssh/README.html)以通过 SSH 访问您的帐户 -* 管理您的[首选项](preferences.html#syntax-highlighting-theme)以自定义自己的 GitLab 体验 -* [查看您的活动会话](active_sessions.html)并在必要时撤消其中的任何一个 -* 访问审核日志,这是涉及您帐户的重要事件的安全日志 - -## Changing your password[](#changing-your-password "Permalink") - -1. 导航到您的[个人资料的](#profile-settings) **设置>密码** . -2. 在"当前密码"字段中输入您的当前密码. -3. 两次输入所需的新密码,一次在"新密码"字段中,一次在"密码确认"字段中. -4. 点击"保存密码"按钮. - -如果您不知道当前密码,请选择"我忘记了密码"链接. - -[![Change your password](img/87be547831d2207399009a0f9dd4b91a.png)](./img/change_password_v13_0.png) - -## Changing your username[](#changing-your-username "Permalink") - -`username`是与用户 ID 相关的唯一[`namespace`](../group/index.html#namespaces) . 对其进行更改可能会产生意想不到的副作用,请在继续之前阅读[重定向的行为](../project/index.html#redirects-when-changing-repository-paths) . - -更改`username` : - -1. 导航到您的[个人资料的](#profile-settings) **设置>帐户** . -2. 在**更改用户**名下输入新的用户**名** . -3. Click **更新用户名**. - -**注意:**如果用户名包含带有[Container Registry](../packages/container_registry/index.html)标签的项目,则当前无法更改用户名,因为该项目无法移动.**提示:**如果要保留对原始名称空间的所有权并保护 URL 重定向,则可以更改一个组并向其传输项目,而无需更改组的路径或重命名用户名. 另外,您可以按照[《 GitLab 团队手册》中的详细步骤进行操作,该手册](https://about.gitlab.com/handbook/tools-and-tips/#how-to-change-your-username-at-gitlabcom)还介绍了使用[GitLab Pages](../project/pages/index.html)托管项目的情况. - -## Private profile[](#private-profile "Permalink") - -如果启用了此功能,将从用户配置文件页面( `https://gitlab.example.com/username` )中隐藏以下信息: - -* 原子饲料 -* 创建帐户的日期 -* 活动标签 -* 组选项卡 -* 参与项目标签 -* 个人项目标签 -* 已加星标的项目标签 -* 片段标签 - -要启用私人资料: - -1. 单击您的头像. -2. Select **Profile**. -3. 单击**编辑配置文件** (铅笔图标). -4. 在" **主要设置"**部分中选中" **私人个人资料"**选项. -5. Click **更新配置文件设置**. - -**Note:** All your profile information can be seen by yourself, and GitLab admins, even if the **私人简介** option is enabled. - -## Add details of external accounts[](#add-details-of-external-accounts "Permalink") - -GitLab 允许您将链接添加到您可能拥有的某些其他外部帐户,例如 Skype 和 Twitter. 他们可以帮助其他用户在其他平台上与您建立联系. - -要将链接添加到其他帐户: - -1. 单击您的头像. -2. Select **Profile**. -3. 单击**编辑配置文件** (铅笔图标). -4. 在" **主要设置"**部分中完成外部帐户的所需字段: - * Skype 的 - * 推特 - * 领英 -5. Click **更新配置文件设置**. - -## Private contributions[](#private-contributions "Permalink") - -在 GitLab 11.3 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/14078) . - -启用私人捐款将包括对私人项目的捐款,用户捐款日历图和用户最近的活动. - -要启用私人捐款: - -1. 单击您的头像. -2. Select **Profile**. -3. 单击**编辑配置文件** (铅笔图标). -4. 选中**私人捐款**选项. -5. Click **更新配置文件设置**. - -## Current status[](#current-status "Permalink") - -在 GitLab 11.2 中引入. - -您可以为用户个人资料提供自定义状态消息以及描述它的表情符号. 当您不在办公室或不在家时,这可能会有所帮助. 然后,其他用户可以在回答您的问题或为您分配工作时考虑您的身份. 请注意,即使您的[个人资料是私人的](#private-profile) ,您的状态也是公开可见的. - -状态消息限制为 100 个纯文本字符. 但是,它们可能包含表情符号代码,例如" `I'm on vacation :palm_tree:` . - -设置当前状态: - -1. 单击您的头像. -2. 点击**设置状态** ,或点击**编辑状态(**如果您已经设置了状态). -3. 设置所需的表情符号和/或状态消息. -4. 点击**设置状态** . 或者,您可以单击" **删除状态"**以完全删除您的用户状态. - -or - -1. 单击您的头像. -2. Select **Profile**. -3. 单击**编辑配置文件** (铅笔图标). -4. 在**您的状态**文本字段中输入您的状态消息. -5. 点击**添加状态表情符号** (笑脸),然后选择所需的表情符号. -6. Click **更新配置文件设置**. - -您还可以[使用 API](../../api/users.html#user-status)设置当前状态. - -## Commit email[](#commit-email "Permalink") - -在 GitLab 11.4 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/21598) . - -提交电子邮件是在通过 GitLab 界面执行的每个与 Git 相关的操作中显示的电子邮件地址. - -您自己的任何已验证电子邮件地址都可以用作提交电子邮件. - -要更改您的提交电子邮件: - -1. 单击您的头像. -2. Select **Profile**. -3. 单击**编辑配置文件** (铅笔图标). -4. Click **提交电子邮件** dropdown. -5. 选择任何已验证的电子邮件. -6. Click **更新配置文件设置**. - -### Private commit email[](#private-commit-email "Permalink") - -在 GitLab 11.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/22560) . - -GitLab 为用户提供了一个自动生成的私人提交电子邮件选项,该选项允许用户将其电子邮件信息保密. - -要启用此选项: - -1. 单击您的头像. -2. Select **Profile**. -3. 单击**编辑配置文件** (铅笔图标). -4. Click **提交电子邮件** dropdown. -5. Select **使用私人电子邮件** option. -6. Click **更新配置文件设置**. - -启用此选项后,将使用私有提交电子邮件执行与 Git 相关的所有操作. - -要保持完全匿名,您还可以复制此私人提交电子邮件,并使用以下命令在本地计算机上对其进行配置: - -``` -git config --global user.email -``` - -## Troubleshooting[](#troubleshooting "Permalink") - -### Why do I keep getting signed out?[](#why-do-i-keep-getting-signed-out "Permalink") - -登录主 GitLab 应用程序时,将设置`_gitlab_session` cookie. `_gitlab_session`在您关闭浏览器时在客户端清除,并在"应用程序设置->会话持续时间(分钟)" / `session_expire_delay` (默认为`10080`分钟= 7 天)后过期. - -登录到主要的 GitLab 应用程序时,您还可以选中" Remember me"选项,该选项设置了`remember_user_token` cookie(通过[`devise`](https://github.com/heartcombo/devise) ). `remember_user_token`之后到期`config/initializers/devise.rb` > - `config.remember_for` (默认为 2 周). - -当`_gitlab_session`过期或不可用,GitLab 使用`remember_user_token`让你一个新的`_gitlab_session` ,让你在浏览器中通过重新签署. - -你的后`remember_user_token`到期,你的`_gitlab_session`清/过期,你会被要求再次登录验证您的身份出于安全原因. - -### Increased sign-in time[](#increased-sign-in-time "Permalink") - -在 GitLab 13.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/20340) . - -该`remember_user_token`一个 cookie 的寿命,现在可以通过超出期限延长集`config.remember_for` ,作为`config.extend_remember_period`标志现在设置为 true. - -GitLab 使用会话和持久性 Cookie: - -* 会话 cookie:通常,在关闭浏览器后,会话 cookie 会在浏览器会话结束时删除. `_gitlab_session` cookie 没有到期日期. -* 永久性 cookie: `remember_me_token`是有效期为两周的 cookie. 如果您在登录时单击"记住我",则 GitLab 会激活此 cookie. - -默认情况下,服务器在使用的任何会话上将生存时间(TTL)设置为 1 周. - -当您关闭浏览器时,会话 cookie 可能仍然保留. 例如,Chrome 具有"恢复上次退出的位置"选项,该选项可还原会话 Cookie. 换句话说,只要您每两周至少访问 GitLab 一次,只要打开浏览器选项卡,就可以保持登录状态. 无论是否安装了 2FA,服务器都会继续为该会话重置 TTL.如果关闭浏览器并再次打开它,则`remember_user_token`用户令牌 cookie 允许您的用户重新进行身份验证. - -如果没有`config.extend_remember_period`标志,则两周后您将被迫再次登录. \ No newline at end of file diff --git a/docs/393.md b/docs/393.md deleted file mode 100644 index a1f86b4..0000000 --- a/docs/393.md +++ /dev/null @@ -1,32 +0,0 @@ -# Active sessions - -> 原文:[https://docs.gitlab.com/ee/user/profile/active_sessions.html](https://docs.gitlab.com/ee/user/profile/active_sessions.html) - -* [Listing all active sessions](#listing-all-active-sessions) -* [Active sessions limit](#active-sessions-limit) -* [Revoking a session](#revoking-a-session) - -# Active sessions[](#active-sessions "Permalink") - -在 GitLab 10.8 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17867) . - -GitLab 列出了已登录到您帐户的所有设备. 这使您可以查看会话,并撤销所有您不认识的会话. - -## Listing all active sessions[](#listing-all-active-sessions "Permalink") - -1. 单击您的头像. -2. Select **Settings**. -3. 点击边栏中的**活动会话** . - -[![Active sessions list](img/2d1845503f8ff90d4dc71459313e4e62.png)](img/active_sessions_list.png) - -## Active sessions limit[](#active-sessions-limit "Permalink") - -在 GitLab 12.6 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/31611) . - -GitLab 允许用户一次拥有多达 100 个活动会话. 如果活动会话数超过 100,则最早的会话将被删除. - -## Revoking a session[](#revoking-a-session "Permalink") - -1. 使用前面的步骤导航到" **活动会话"** . -2. 单击除会话外的**撤消** . 当前会话无法撤消,因为这将使您退出 GitLab. \ No newline at end of file diff --git a/docs/394.md b/docs/394.md deleted file mode 100644 index 1d57720..0000000 --- a/docs/394.md +++ /dev/null @@ -1,63 +0,0 @@ -# Deleting a User account - -> 原文:[https://docs.gitlab.com/ee/user/profile/account/delete_account.html](https://docs.gitlab.com/ee/user/profile/account/delete_account.html) - -* [As a user](#as-a-user) -* [As an administrator](#as-an-administrator) -* [Associated Records](#associated-records) - -# Deleting a User account[](#deleting-a-user-account "Permalink") - -可以通过以下方法从 GitLab 实例中删除用户: - -* 用户自己. -* 管理员. - -**注意:**删除用户将删除该用户名称空间中的所有项目. - -## As a user[](#as-a-user "Permalink") - -作为用户,您可以通过以下方式删除自己的帐户: - -1. 点击您的头像. -2. 导航至**设置>帐户** . -3. Selecting **删除帐户**. - -## As an administrator[](#as-an-administrator "Permalink") - -作为管理员,您可以通过以下方式删除用户帐户: - -1. 导航到**管理区域>概述>用户** . -2. 选择一个用户. -3. 在" **帐户"**标签下,单击: - * **删除用户**仅**删除用户** ,但保留其[相关记录](#associated-records) . - * **删除用户和贡献**以删除用户及其相关记录. - -**危险:**使用" **删除用户和贡献"**选项可能会导致删除的数据超出预期. [有关](#associated-records)其他详细信息,请参见下面的[关联记录](#associated-records) . - -## Associated Records[](#associated-records "Permalink") - -版本历史 - -* 针对[GitLab 9.0 中的](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/7393)问题进行了介绍. -* 在[GitLab 9.1 中](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/10467)引入了合并请求,奖励表情符号,注释和滥用报告. -* 从滥用报告和垃圾邮件日志中进行硬删除是在[GitLab 9.1](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/10273)中以及从[GitLab 9.3 中](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/11853)的 API 中引入的. - -有两种删除用户的选项: - -* **Delete user** -* **删除用户和贡献** - -使用" **删除用户"**选项时,并非所有关联记录都随用户一起删除. 以下是**不会**删除的内容的列表: - -* 用户创建的问题. -* 合并用户创建的请求. -* 注意用户创建的. -* 用户报告了滥用报告. -* 用户创建的奖励表情符号. - -这些记录将被删除,而不是被删除,而是被移至用户名" Ghost User"的系统级用户,其唯一目的是充当此类记录的容器. 删除的用户所做的任何提交仍将显示原始用户的用户名. - -使用" **删除用户和贡献"**选项时,将**删除** **所有**关联的记录. 这包括上面提到的所有项目,包括问题,合并请求,注释/评论等等. 考虑[阻止用户](../../admin_area/blocking_unblocking_users.html)或使用" **删除用户"**选项. - -从[滥用情况报告](../../admin_area/abuse_reports.html)或垃圾邮件日志中删除用户时,这些关联的记录不会被重影,并且会与该用户的唯一所有者一起删除. 从[API](../../../api/users.html#user-deletion)或管理区域中删除用户时,管理员也可以请求此行为. \ No newline at end of file diff --git a/docs/395.md b/docs/395.md deleted file mode 100644 index 4ad2b1e..0000000 --- a/docs/395.md +++ /dev/null @@ -1,419 +0,0 @@ -# Permissions - -> 原文:[https://docs.gitlab.com/ee/user/permissions.html](https://docs.gitlab.com/ee/user/permissions.html) - -* [Principles behind permissions](#principles-behind-permissions) -* [Instance-wide user permissions](#instance-wide-user-permissions) -* [Project members permissions](#project-members-permissions) -* [Project features permissions](#project-features-permissions) - * [Wiki and issues](#wiki-and-issues) - * [Protected branches](#protected-branches) - * [Value Stream Analytics permissions](#value-stream-analytics-permissions) - * [Issue Board permissions](#issue-board-permissions) - * [File Locking permissions](#file-locking-permissions-premium) - * [Confidential Issues permissions](#confidential-issues-permissions) -* [Group members permissions](#group-members-permissions) - * [Subgroup permissions](#subgroup-permissions) -* [External users](#external-users-core-only) - * [Setting new users to external](#setting-new-users-to-external) -* [Free Guest users](#free-guest-users-ultimate) -* [Auditor users](#auditor-users-premium-only) -* [Project features](#project-features) -* [GitLab CI/CD permissions](#gitlab-cicd-permissions) - * [Job permissions](#job-permissions) - * [New CI job permissions model](#new-ci-job-permissions-model) -* [Running pipelines on protected branches](#running-pipelines-on-protected-branches) -* [LDAP users permissions](#ldap-users-permissions) -* [Project aliases](#project-aliases) - -# Permissions[](#permissions "Permalink") - -用户具有不同的能力,具体取决于他们在特定组或项目中具有的访问级别. 如果用户既属于项目组又属于项目本身,则使用最高权限级别. - -在公共和内部项目上,不执行来宾角色. 所有用户将能够: - -* 创造问题. -* 留言. -* 克隆或下载项目代码. - -当成员离开团队的项目时,所有分配的" [问题"](project/issues/index.html)和" [合并请求"](project/merge_requests/index.html)将自动取消分配. - -GitLab [管理员拥有](../administration/index.html)所有权限. - -要添加或导入用户,可以遵循[项目成员文档](project/members/index.html) . - -## Principles behind permissions[](#principles-behind-permissions "Permalink") - -有关[权限的信息,](https://about.gitlab.com/handbook/product/gitlab-the-product/#permissions-in-gitlab)请参见我们的[产品手册](https://about.gitlab.com/handbook/product/gitlab-the-product/#permissions-in-gitlab) . - -## Instance-wide user permissions[](#instance-wide-user-permissions "Permalink") - -默认情况下,用户可以创建顶级组并更改其用户名. GitLab 管理员可以配置 GitLab 实例来[修改此行为](../administration/user_settings.html) . - -## Project members permissions[](#project-members-permissions "Permalink") - -**注意:**在 GitLab 11.0 中,"主"角色已重命名为"维护者". - -虽然维护者是项目级别的最高角色,但是某些操作只能由拥有所有权限的个人名称空间或组所有者或实例管理员执行. 有关更多信息,请参阅[项目成员文档](project/members/index.html) . - -下表描述了项目中的各种用户权限级别. - -| Action | Guest | Reporter | Developer | Maintainer | Owner* | -| --- | --- | --- | --- | --- | --- | -| 下载专案 | ✓ (*1*) | ✓ | ✓ | ✓ | ✓ | -| 留言 | ✓ (*1*) | ✓ | ✓ | ✓ | ✓ | -| 查看允许和拒绝的许可证 | ✓ (*1*) | ✓ | ✓ | ✓ | ✓ | -| 查看许可证合规性报告 | ✓ (*1*) | ✓ | ✓ | ✓ | ✓ | -| 查看安全报告 | ✓ (*3*) | ✓ | ✓ | ✓ | ✓ | -| 查看相关性列表 | ✓ (*1*) | ✓ | ✓ | ✓ | ✓ | -| 查看许可证列表 | ✓ (*1*) | ✓ | ✓ | ✓ | ✓ | -| 在相关性列表中查看许可证 | ✓ (*1*) | ✓ | ✓ | ✓ | ✓ | -| View [Design Management](project/issues/design_management.html) pages | ✓ | ✓ | ✓ | ✓ | ✓ | -| 查看项目代码 | ✓ (*1*) | ✓ | ✓ | ✓ | ✓ | -| 拉项目代码 | ✓ (*1*) | ✓ | ✓ | ✓ | ✓ | -| 查看受[访问控制](project/pages/introduction.html#gitlab-pages-access-control-core)保护的 GitLab 页面 | ✓ | ✓ | ✓ | ✓ | ✓ | -| 查看维基页面 | ✓ | ✓ | ✓ | ✓ | ✓ | -| 查看工作清单 | ✓ (*3*) | ✓ | ✓ | ✓ | ✓ | -| 查看工作日志 | ✓ (*3*) | ✓ | ✓ | ✓ | ✓ | -| 下载和浏览工作工件 | ✓ (*3*) | ✓ | ✓ | ✓ | ✓ | -| 创刊号 | ✓ (*1*) | ✓ | ✓ | ✓ | ✓ | -| 查看相关问题 | ✓ | ✓ | ✓ | ✓ | ✓ | -| 创建机密问题 | ✓ (*1*) | ✓ | ✓ | ✓ | ✓ | -| 查看机密问题 | (*2*) | ✓ | ✓ | ✓ | ✓ | -| View [Releases](project/releases/index.html) | ✓ (*6*) | ✓ | ✓ | ✓ | ✓ | -| 查看要求 | ✓ | ✓ | ✓ | ✓ | ✓ | -| 管理用户加星标的指标仪表板( *7* ) | ✓ | ✓ | ✓ | ✓ | ✓ | -| 分配问题 |   | ✓ | ✓ | ✓ | ✓ | -| 标签问题 |   | ✓ | ✓ | ✓ | ✓ | -| 设定发行权重 |   | ✓ | ✓ | ✓ | ✓ | -| 锁定问题线程 |   | ✓ | ✓ | ✓ | ✓ | -| 管理问题追踪器 |   | ✓ | ✓ | ✓ | ✓ | -| 管理相关问题 |   | ✓ | ✓ | ✓ | ✓ | -| 管理标签 |   | ✓ | ✓ | ✓ | ✓ | -| 创建代码段 |   | ✓ | ✓ | ✓ | ✓ | -| 查看提交状态 |   | ✓ | ✓ | ✓ | ✓ | -| 查看容器注册表 |   | ✓ | ✓ | ✓ | ✓ | -| 查看环境 |   | ✓ | ✓ | ✓ | ✓ | -| 查看合并请求列表 |   | ✓ | ✓ | ✓ | ✓ | -| 查看项目统计 |   |   | ✓ | ✓ | ✓ | -| 查看错误跟踪列表 |   | ✓ | ✓ | ✓ | ✓ | -| 创建新的合并请求 |   | ✓ | ✓ | ✓ | ✓ | -| 查看指标仪表板注释 |   | ✓ | ✓ | ✓ | ✓ | -| 创建/编辑需求 |   | ✓ | ✓ | ✓ | ✓ | -| Pull [packages](packages/index.html) |   | ✓ | ✓ | ✓ | ✓ | -| Publish [packages](packages/index.html) |   |   | ✓ | ✓ | ✓ | -| Upload [Design Management](project/issues/design_management.html) files |   |   | ✓ | ✓ | ✓ | -| Create/edit/delete [Releases](project/releases/index.html) |   |   | ✓ | ✓ | ✓ | -| 创建新分支 |   |   | ✓ | ✓ | ✓ | -| 推送到不受保护的分支 |   |   | ✓ | ✓ | ✓ | -| 强制推送到不受保护的分支 |   |   | ✓ | ✓ | ✓ | -| 删除不受保护的分支 |   |   | ✓ | ✓ | ✓ | -| 分配合并请求 |   |   | ✓ | ✓ | ✓ | -| 标签合并请求 |   |   | ✓ | ✓ | ✓ | -| 锁定合并请求线程 |   |   | ✓ | ✓ | ✓ | -| 批准合并请求( *9* ) |   |   | ✓ | ✓ | ✓ | -| 管理/接受合并请求 |   |   | ✓ | ✓ | ✓ | -| 创建新环境 |   |   | ✓ | ✓ | ✓ | -| 停止环境 |   |   | ✓ | ✓ | ✓ | -| 启用评论应用 |   |   | ✓ | ✓ | ✓ | -| 添加标签 |   |   | ✓ | ✓ | ✓ | -| 取消并重试作业 |   |   | ✓ | ✓ | ✓ | -| 创建或更新提交状态 |   |   | ✓ (*5*) | ✓ | ✓ | -| 更新容器注册表 |   |   | ✓ | ✓ | ✓ | -| 删除容器注册表映像 |   |   | ✓ | ✓ | ✓ | -| 创建/编辑/删除项目里程碑 |   |   | ✓ | ✓ | ✓ | -| 使用安全仪表板 |   |   | ✓ | ✓ | ✓ | -| 在"依赖关系"列表中查看漏洞发现 |   |   | ✓ | ✓ | ✓ | -| 从漏洞发现中创建问题 |   |   | ✓ | ✓ | ✓ | -| 消除漏洞发现 |   |   | ✓ | ✓ | ✓ | -| 查看漏洞 |   |   | ✓ | ✓ | ✓ | -| 通过漏洞发现创建漏洞 |   |   | ✓ | ✓ | ✓ | -| 解决漏洞 |   |   | ✓ | ✓ | ✓ | -| 消除漏洞 |   |   | ✓ | ✓ | ✓ | -| 应用代码更改建议 |   |   | ✓ | ✓ | ✓ | -| 创建和编辑 Wiki 页面 |   |   | ✓ | ✓ | ✓ | -| 重写/删除 Git 标签 |   |   | ✓ | ✓ | ✓ | -| 管理功能标记 |   |   | ✓ | ✓ | ✓ | -| 创建/编辑/删除指标仪表板注释 |   |   | ✓ | ✓ | ✓ | -| 针对受保护的分支运行 CI / CD 管道 |   |   | ✓ (*5*) | ✓ | ✓ | -| 使用环境终端 |   |   |   | ✓ | ✓ | -| 运行 Web IDE 的交互式 Web 终端 |   |   |   | ✓ | ✓ | -| 添加新的团队成员 |   |   |   | ✓ | ✓ | -| 启用/禁用分支保护 |   |   |   | ✓ | ✓ | -| 推送到受保护的分支 |   |   |   | ✓ | ✓ | -| 为开发人员打开/关闭受保护的分支推送 |   |   |   | ✓ | ✓ | -| 启用/禁用标签保护 |   |   |   | ✓ | ✓ | -| 编辑专案 |   |   |   | ✓ | ✓ | -| 编辑项目徽章 |   |   |   | ✓ | ✓ | -| 与小组共享(邀请)项目 |   |   |   | ✓ (*8*) | ✓ (*8*) | -| 将部署密钥添加到项目 |   |   |   | ✓ | ✓ | -| 配置项目挂钩 |   |   |   | ✓ | ✓ | -| 管理跑步者 |   |   |   | ✓ | ✓ | -| 管理工作触发器 |   |   |   | ✓ | ✓ | -| 管理 CI / CD 变量 |   |   |   | ✓ | ✓ | -| 管理 GitLab 页面 |   |   |   | ✓ | ✓ | -| 管理 GitLab Pages 域和证书 |   |   |   | ✓ | ✓ | -| 删除 GitLab 页面 |   |   |   | ✓ | ✓ | -| 管理集群 |   |   |   | ✓ | ✓ | -| 管理项目运作 |   |   |   | ✓ | ✓ | -| 查看 Pod 日志 |   |   |   | ✓ | ✓ | -| 管理许可政策 |   |   |   | ✓ | ✓ | -| 编辑评论(由任何用户发布) |   |   |   | ✓ | ✓ | -| 管理错误跟踪 |   |   |   | ✓ | ✓ | -| 删除维基页面 |   |   |   | ✓ | ✓ | -| 查看项目审核事件 |   |   |   | ✓ | ✓ | -| Manage [push rules](../push_rules/push_rules.html) |   |   |   | ✓ | ✓ | -| Manage [project access tokens](./project/settings/project_access_tokens.html) |   |   |   | ✓ | ✓ | -| Switch visibility level |   |   |   |   | ✓ | -| 将项目转移到另一个名称空间 |   |   |   |   | ✓ | -| 重命名项目 |   |   |   |   | ✓ | -| 删除分叉关系 |   |   |   |   | ✓ | -| 移除专案 |   |   |   |   | ✓ | -| 存档项目 |   |   |   |   | ✓ | -| 删除问题 |   |   |   |   | ✓ | -| 删除管道 |   |   |   |   | ✓ | -| 删除合并请求 |   |   |   |   | ✓ | -| 禁用通知电子邮件 |   |   |   |   | ✓ | -| 用力推动到受保护的分支( *4* ) |   |   |   |   |   | -| 卸下受保护的分支( *4* ) |   |   |   |   |   | -| 查看 CI \ CD 分析 |   | ✓ | ✓ | ✓ | ✓ | -| 查看代码审查分析 |   | ✓ | ✓ | ✓ | ✓ | -| 查看见解 | ✓ | ✓ | ✓ | ✓ | ✓ | -| 查看问题分析 | ✓ | ✓ | ✓ | ✓ | ✓ | -| 查看存储库分析 |   | ✓ | ✓ | ✓ | ✓ | -| 查看价值流分析 | ✓ | ✓ | ✓ | ✓ | ✓ | - -*所有者权限仅在组或个人名称空间级别(例如,管理员)可用,并由其项目继承. - -1. 来宾用户能够对公共和内部项目执行此操作,但不能对私有项目执行此操作. -2. 来宾用户只能查看他们自己创建的机密问题. -3. 如果在**项目设置> CI / CD 中**启用了**公共管道** . -4. 不允许访客,记者,开发人员,维护人员或所有者使用. 请参阅[受保护的分支](./project/protected_branches.html) . -5. 如果[分支受保护](./project/protected_branches.html#using-the-allowed-to-merge-and-allowed-to-push-settings) ,则取决于授予开发人员和维护人员的权限. -6. 来宾用户可以访问 GitLab [**版本**](project/releases/index.html)来下载资产,但不能下载源代码,也不能查看存储库信息(例如标签和提交). -7. 操作仅限于用户拥有(引用)的记录​​. -8. 启用" [共享组锁定"后](./group/index.html#share-with-group-lock) ,该项目将无法与其他组共享. 它不影响具有组共享的组. -9. 有关合并请求的[合格批准人的](project/merge_requests/merge_request_approvals.html#eligible-approvers)信息,请参阅[合格](project/merge_requests/merge_request_approvals.html#eligible-approvers)合并[人](project/merge_requests/merge_request_approvals.html#eligible-approvers) . - -## Project features permissions[](#project-features-permissions "Permalink") - -### Wiki and issues[](#wiki-and-issues "Permalink") - -可以根据用户在项目设置上选择的可见性级别对用户隐藏 Wiki 和问题等项目功能. - -* 禁用:所有人禁用 -* 仅团队成员:即使您的项目是公开的或内部的,也只有团队成员才能看到 -* 有访问权限的所有人:每个人都可以看到,具体取决于您的项目可见性级别 -* 每个人:为所有人启用(仅适用于 GitLab 页面) - -### Protected branches[](#protected-branches "Permalink") - -可以在每个分支的[受保护](project/protected_branches.html)分支上应用其他限制. 此外,您可以自定义权限,以允许或阻止项目维护者和开发者推送到受保护的分支. 阅读有关" [允许合并"和"允许推送"设置](project/protected_branches.html#using-the-allowed-to-merge-and-allowed-to-push-settings)的文档以了解更多信息. - -### Value Stream Analytics permissions[](#value-stream-analytics-permissions "Permalink") - -如[相关文档](analytics/value_stream_analytics.html#permissions)所述,在 Value Stream Analytics 仪表板上找到当前权限. - -### Issue Board permissions[](#issue-board-permissions "Permalink") - -具有较高权限级别的开发人员和用户可以使用发行版的所有功能,即创建/删除列表并拖动发行版. 通读[有关发行板权限](project/issue_board.html#permissions)的[文档](project/issue_board.html#permissions)以了解更多信息. - -### File Locking permissions[](#file-locking-permissions-premium "Permalink") - -锁定文件或目录的用户是唯一可以编辑并将其更改推回锁定对象所在存储库的用户. - -通读[有关文件锁定权限的文档](project/file_lock.html#permissions-on-file-locking)以了解更多信息. - -### Confidential Issues permissions[](#confidential-issues-permissions "Permalink") - -报告者和更高的权限级别以及创建机密问题的来宾用户都可以访问机密问题. 要了解更多信息,请通读有关[权限和访问机密问题](project/issues/confidential_issues.html#permissions-and-access-to-confidential-issues)的文档. - -## Group members permissions[](#group-members-permissions "Permalink") - -**注意:**在 GitLab 11.0 中,"主"角色已重命名为"维护者". - -任何用户都可以将自己从组中删除,除非他们是该组的最后一个所有者. 下表描述了组中的各种用户权限级别. - -| Action | Guest | Reporter | Developer | Maintainer | Owner | -| --- | --- | --- | --- | --- | --- | -| 浏览组 | ✓ | ✓ | ✓ | ✓ | ✓ | -| 查看见解图表 | ✓ | ✓ | ✓ | ✓ | ✓ | -| 查看小组史诗 | ✓ | ✓ | ✓ | ✓ | ✓ | -| 创建/编辑小组史诗 |   | ✓ | ✓ | ✓ | ✓ | -| 管理群组标签 |   | ✓ | ✓ | ✓ | ✓ | -| 查看容器注册表 |   | ✓ | ✓ | ✓ | ✓ | -| Pull [packages](packages/index.html) |   | ✓ | ✓ | ✓ | ✓ | -| Publish [packages](packages/index.html) |   |   | ✓ | ✓ | ✓ | -| 查看指标仪表板注释 |   | ✓ | ✓ | ✓ | ✓ | -| 分组创建项目 |   |   | ✓ (3) | ✓ (3) | ✓ (3) | -| 与群组分享(邀请)群组 |   |   |   |   | ✓ | -| 创建/编辑/删除组里程碑 |   |   | ✓ | ✓ | ✓ | -| 创建/编辑/删除迭代 |   |   | ✓ | ✓ | ✓ | -| 启用/禁用依赖项代理 |   |   | ✓ | ✓ | ✓ | -| 使用安全仪表板 |   |   | ✓ | ✓ | ✓ | -| 创建/编辑/删除指标仪表板注释 |   |   | ✓ | ✓ | ✓ | -| 查看/管理组级别的 Kubernetes 集群 |   |   |   | ✓ | ✓ | -| 创建子组 |   |   |   | ✓ (1) | ✓ | -| 编辑史诗般的评论(由任何用户发布) |   |   |   | ✓ (2) | ✓ (2) | -| 编辑群组设定 |   |   |   |   | ✓ | -| 管理组级 CI / CD 变量 |   |   |   |   | ✓ | -| 列出组部署令牌 |   |   |   | ✓ | ✓ | -| 创建/删除组部署令牌 |   |   |   |   | ✓ | -| 管理小组成员 |   |   |   |   | ✓ | -| 删除群组 |   |   |   |   | ✓ | -| 删除组史诗 |   |   |   |   | ✓ | -| 编辑 SAML SSO 帐单 | ✓ | ✓ | ✓ | ✓ | ✓ (4) | -| 查看组审核事件 |   |   |   |   | ✓ | -| 禁用通知电子邮件 |   |   |   |   | ✓ | -| 查看贡献分析 | ✓ | ✓ | ✓ | ✓ | ✓ | -| 查看见解 | ✓ | ✓ | ✓ | ✓ | ✓ | -| 查看问题分析 | ✓ | ✓ | ✓ | ✓ | ✓ | -| 查看生产力分析 |   | ✓ | ✓ | ✓ | ✓ | -| 查看价值流分析 | ✓ | ✓ | ✓ | ✓ | ✓ | -| 查看帐单 |   |   |   |   | ✓ (4) | -| 查看使用配额 |   |   |   |   | ✓ (4) | - -1. 可以设置组以[允许所有者或所有者和维护者创建子组](group/subgroups/index.html#creating-a-subgroup) -2. 在 GitLab 12.2 中引入. -3. 可以在以下位置更改默认项目创建角色: - * [实例级别](admin_area/settings/visibility_and_access_controls.html#default-project-creation-protection) . - * [小组级别](group/index.html#default-project-creation-level) . -4. 不适用于子组. - -### Subgroup permissions[](#subgroup-permissions "Permalink") - -将成员添加到子组时,它们将从父组继承成员资格和权限级别. 如果您是其父级成员之一,则该模型允许访问嵌套组. - -To learn more, read through the documentation on [subgroups memberships](group/subgroups/index.html#membership). - -## External users[](#external-users-core-only "Permalink") - -如果希望用户只能访问某些内部或私有项目,则可以选择创建**外部用户** . 例如,当承包商在给定项目上工作且仅应访问该项目时,此功能可能很有用. - -外部用户: - -* 无法创建群组,项目或个人摘要. -* 只能访问公共项目和显式授予其访问权限的项目,从而对它们隐藏所有其他内部或私有项目(例如注销). - -可以通过将用户添加为项目或组的成员来授予访问权限. 与普通用户一样,他们将在项目或组中获得角色,具有[上面权限表](#project-members-permissions)中提到的所有功能. 例如,如果将外部用户添加为 Guest,而您的项目是私有项目,则他们将无权访问该代码; 如果您希望外部用户具有访问代码的权限,则需要授予其外部访问权限. 您应始终考虑[项目的可见性和权限设置](project/settings/index.html#sharing-and-permissions)以及用户的权限级别. - -**注意:**外部用户仍然计入许可证席位. - -管理员可以通过以下两种方法之一将用户标记为外部用户: - -* Either [through the API](../api/users.html#user-modification). -* 或通过导航到**管理区域>概述>用户**来创建新用户或编辑现有用户. 在那里,您将找到将用户标记为外部的选项. - -### Setting new users to external[](#setting-new-users-to-external "Permalink") - -默认情况下,新用户未设置为外部用户. 管理员可以在" **帐户和限制"**下的" **管理区域">"设置">"常规"**页面上更改此行为. - -如果更改了将新用户创建为外部用户的默认行为,则可以选择通过定义一组内部用户来缩小范围. **内部用户**字段允许指定电子邮件地址正则表达式模式以标识默认内部用户. 默认情况下,其电子邮件地址与正则表达式模式匹配的新用户将设置为内部用户,而不是外部协作者. - -正则表达式模式格式为 Ruby,但需要将其转换为 JavaScript,并将设置大小写忽略标志( `/regex pattern/i` ). 这里有些例子: - -* 使用`\.internal@domain\.com$`将以`.internal@domain.com`结尾的电子邮件地址标记为内部. -* 使用`^(?:(?!\.ext@domain\.com).)*$\r?` 使用不包含`.ext@domain.com`电子邮件地址标记用户为内部用户. - -**警告:**请注意,此正则表达式可能导致[正则表达式拒绝服务(ReDoS)攻击](https://en.wikipedia.org/wiki/ReDoS) . - -## Free Guest users[](#free-guest-users-ultimate "Permalink") - -如果为用户授予了项目,组或组或两者的来宾权限,并且对 GitLab 实例上的任何其他项目或组均没有更高的权限级别,则该用户被 GitLab 视为来宾用户,并且不会占用许可证席位. 对于新创建的用户,没有其他特定的"来宾"指定. - -如果在任何项目或组上为用户分配了更高的角色,则该用户将获得许可席位. 如果用户创建项目,则该用户将成为该项目的维护者,从而导致使用许可证席位. 另外,请注意,如果您的项目是内部项目或私有项目,则来宾用户将具有[上面](#project-members-permissions)的[权限表](#project-members-permissions)中提到的所有功能(例如,他们将无法浏览项目的存储库). - -**提示:**为防止访客用户创建项目,请以管理员身份编辑用户的个人资料,以将该用户标记为[external](#external-users-core-only) . 请注意,即使用户是外部用户,如果他们在任何项目或组中已经具有 Reporter 或更高权限, **也不**会将其计为免费的来宾用户. - -## Auditor users[](#auditor-users-premium-only "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/998) in [GitLab Premium](https://about.gitlab.com/pricing/) 8.17. - -审核员用户被授予对 GitLab 实例上所有项目,组和其他资源的只读访问权限. - -审核员用户应能够使用[审核员用户权限](../administration/auditor_users.html#permissions-and-restrictions-of-an-auditor-user)文档中所述的权限访问 GitLab 实例的所有项目和组. - -[Read more about Auditor users.](../administration/auditor_users.html) - -## Project features[](#project-features "Permalink") - -可以根据用户在项目设置上选择的可见性级别对用户隐藏 Wiki 和问题等项目功能. - -* 禁用:所有人禁用 -* 仅团队成员:即使您的项目是公开的或内部的,也只有团队成员才能看到 -* 有访问权限的所有人:每个人都可以看到,具体取决于您的项目可见性级别 -* 每个人:为所有人启用(仅适用于 GitLab 页面) - -## GitLab CI/CD permissions[](#gitlab-cicd-permissions "Permalink") - -**注意:**在 GitLab 11.0 中,"主"角色已重命名为"维护者". - -GitLab CI / CD 权限取决于用户在 GitLab 中的角色. 共有四个权限级别: - -* admin -* maintainer -* developer -* guest/reporter - -管理员用户可以在 GitLab 实例和项目范围内对 GitLab CI / CD 执行任何操作. 此外,所有管理员都可以使用`/admin/runners`下的管理界面. - -| Action | 来宾,记者 | Developer | Maintainer | Admin | -| --- | --- | --- | --- | --- | -| 查看提交和工作 | ✓ | ✓ | ✓ | ✓ | -| 重试或取消作业 |   | ✓ | ✓ | ✓ | -| 擦除工件和跟踪 |   | ✓ (*1*) | ✓ | ✓ | -| 移除专案 |   |   | ✓ | ✓ | -| 建立专案 |   |   | ✓ | ✓ | -| 更改项目配置 |   |   | ✓ | ✓ | -| 添加特定跑步者 |   |   | ✓ | ✓ | -| 添加共享的跑步者 |   |   |   | ✓ | -| 查看系统中的事件 |   |   |   | ✓ | -| 管理界面 |   |   |   | ✓ | - -1. 仅当工作是: - * 由用户触发 - * [从 GitLab 13.0 开始](https://gitlab.com/gitlab-org/gitlab/-/issues/35069) ,不为受保护的分支运行 - -### Job permissions[](#job-permissions "Permalink") - -**注意:**在 GitLab 11.0 中,"主"角色已重命名为"维护者". - -> **注意:** GitLab 8.12 具有完全重新设计的作业权限系统. 阅读有关[新模型及其含义的](project/new_ci_build_permissions_model.html)所有信息. - -下表显示了由特定类型的用户触发的作业的授予特权: - -| Action | 来宾,记者 | Developer | Maintainer | Admin | -| --- | --- | --- | --- | --- | -| 运行 CI 作业 |   | ✓ | ✓ | ✓ | -| 从当前项目克隆源和 LFS |   | ✓ | ✓ | ✓ | -| 从公共项目克隆源和 LFS |   | ✓ | ✓ | ✓ | -| 从内部项目克隆源和 LFS |   | ✓ (*1*) | ✓ (*1*) | ✓ | -| 从私有项目克隆源和 LFS |   | ✓ (*2*) | ✓ (*2*) | ✓ (*2*) | -| 从当前项目中提取容器图像 |   | ✓ | ✓ | ✓ | -| 从公共项目中提取容器图像 |   | ✓ | ✓ | ✓ | -| 从内部项目中提取容器图像 |   | ✓ (*1*) | ✓ (*1*) | ✓ | -| 从私有项目中提取容器图像 |   | ✓ (*2*) | ✓ (*2*) | ✓ (*2*) | -| 将容器图像推送到当前项目 |   | ✓ | ✓ | ✓ | -| 将容器图像推送到其他项目 |   |   |   |   | -| 推送源和 LFS |   |   |   |   | - -1. 仅当用户不是外部用户时 -2. 仅当用户是项目成员时 - -### New CI job permissions model[](#new-ci-job-permissions-model "Permalink") - -GitLab 8.12 具有完全重新设计的工作权限系统. 要了解更多信息,请通读有关[新 CI / CD 权限模型](project/new_ci_build_permissions_model.html#new-ci-job-permissions-model)的文档. - -## Running pipelines on protected branches[](#running-pipelines-on-protected-branches "Permalink") - -合并或推送到受保护分支的权限用于定义用户是否可以运行 CI / CD 管道并在与那些分支相关的作业上执行操作. - -有关管道安全模型的详细信息,请参阅[受保护分支上](../ci/pipelines/index.html#pipeline-security-on-protected-branches)的安全性. - -## LDAP users permissions[](#ldap-users-permissions "Permalink") - -从 GitLab 8.15 开始,LDAP 用户权限现在可以由管理员用户手动覆盖. 通读有关[LDAP 用户权限](group/index.html#manage-group-memberships-via-ldap)的文档以了解更多信息. - -## Project aliases[](#project-aliases "Permalink") - -项目别名只能由 GitLab 管理员读取,创建和删除. 通读有关[项目别名](../user/project/index.html#project-aliases-premium-only)的文档以了解更多信息. \ No newline at end of file diff --git a/docs/396.md b/docs/396.md deleted file mode 100644 index 1c22f52..0000000 --- a/docs/396.md +++ /dev/null @@ -1,106 +0,0 @@ -# Personal access tokens - -> 原文:[https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html) - -* [Creating a personal access token](#creating-a-personal-access-token) - * [Revoking a personal access token](#revoking-a-personal-access-token) - * [Token activity](#token-activity) -* [Limiting scopes of a personal access token](#limiting-scopes-of-a-personal-access-token) -* [Programmatically creating a personal access token](#programmatically-creating-a-personal-access-token) -* [Programmatically revoking a personal access token](#programmatically-revoking-a-personal-access-token) - -# Personal access tokens[](#personal-access-tokens "Permalink") - -版本历史 - -* 在 GitLab 8.8 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/3749) . -* 在 GitLab 12.6 中添加了[有关令牌过期的通知](https://gitlab.com/gitlab-org/gitlab/-/issues/3649) . -* 在[GitLab Ultimate](https://about.gitlab.com/pricing/) 12.6 中添加了[令牌生存期限制](https://gitlab.com/gitlab-org/gitlab/-/issues/3649) . - -If you’re unable to use [OAuth2](../../api/oauth2.html), you can use a personal access token to authenticate with the [GitLab API](../../api/README.html#personalproject-access-tokens). - -您还可以将个人访问令牌与 Git 一起使用,以通过 HTTP 或 SSH 进行身份验证. 启用[两因素身份验证(2FA)](../account/two_factor_authentication.html)时,需要个人访问令牌. 在这两种情况下,都可以使用令牌代替密码进行身份验证. - -个人访问令牌在您定义的日期 UTC 午夜到期. - -* GitLab 每天在世界标准时间 01:00 AM 进行检查,以识别将在 7 天内到期的个人访问令牌. 这些令牌的所有者通过电子邮件通知. -* 在 GitLab Ultimate 中,管理员可以[限制个人访问令牌的寿命](../admin_area/settings/account_and_limit_settings.html#limiting-lifetime-of-personal-access-tokens-ultimate-only) . -* 在 GitLab Ultimate 中,管理员可以[切换个人访问令牌到期的执行](../admin_area/settings/account_and_limit_settings.html#optional-enforcement-of-personal-access-token-expiry-ultimate-only) . - -有关如何使用个人访问令牌向 API 进行身份验证的示例,请参见[API 文档中](../../api/README.html#personalproject-access-tokens)的以下部分. - -GitLab 还提供了[模拟令牌](../../api/README.html#impersonation-tokens) ,这些[令牌](../../api/README.html#impersonation-tokens)是管理员通过 API 创建的. 它们非常适合作为特定用户的自动身份验证. - -## Creating a personal access token[](#creating-a-personal-access-token "Permalink") - -您可以在 GitLab 个人资料中创建任意数量的个人访问令牌. - -1. 登录到 GitLab. -2. 点击右上角的头像,然后选择**设置** . -3. 在" **用户设置"**菜单上,选择" **访问令牌"** . -4. 选择令牌的名称和可选的到期日期. -5. 选择[所需的范围](#limiting-scopes-of-a-personal-access-token) . -6. 单击**创建个人访问令牌**按钮. -7. 将个人访问令牌保存在安全的地方. 离开或刷新页面后,将无法再次访问它. - -### Revoking a personal access token[](#revoking-a-personal-access-token "Permalink") - -您可以随时单击" **活动个人访问令牌"**区域下的相应" **撤消"**按钮来撤消任何个人访问令牌. - -### Token activity[](#token-activity "Permalink") - -您可以从" **个人访问令牌"**页面**查看**上次使用**令牌的时间** . 令牌使用情况的更新每 24 小时固定一次. 对[API 资源](../../api/api_resources.html)和[GraphQL API 的](../../api/graphql/index.html)请求将更新令牌的用法. - -## Limiting scopes of a personal access token[](#limiting-scopes-of-a-personal-access-token "Permalink") - -可以使用一个或多个范围创建个人访问令牌,这些范围允许给定令牌可以执行各种操作. 下表描述了可用范围. - -| Scope | 引入 | Description | -| --- | --- | --- | -| `read_user` | [GitLab 8.15](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/5951) | 允许访问`/users`下的只读端点. 本质上,允许[用户 API](../../api/users.html)中的任何`GET`请求. | -| `api` | [GitLab 8.15](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/5951) | 授予对 API 的完全读写访问权限,包括所有组和项目,容器注册表和程序包注册表. | -| `read_api` | [GitLab 12.10](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28944) | 授予对 API 的读取权限,包括所有组和项目,容器注册表和程序包注册表. | -| `read_registry` | [GitLab 9.3](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/11845) | 如果项目是私有的并且需要授权,则允许读取(拉出) [容器注册表](../packages/container_registry/index.html)图像. | -| `sudo` | [GitLab 10.2](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/14838) | 允许以系统中的任何用户身份执行 API 操作(如果经过身份验证的用户是管理员). | -| `read_repository` | [GitLab 10.7](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17894) | 允许通过`git clone`对存储库进行只读访问(拉). | -| `write_repository` | [GitLab 11.11](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/26021) | 允许通过`git clone`对存储库进行读写访问(拉,推). 启用 2FA 时,通过 HTTP 访问 Git 存储库是必需的. | - -## Programmatically creating a personal access token[](#programmatically-creating-a-personal-access-token "Permalink") - -您可以以编程方式创建预定的个人访问令牌,以用于自动化或测试. 您将需要足够的访问权限才能为 GitLab 实例运行[Rails 控制台会话](../../administration/troubleshooting/debug.html#starting-a-rails-console-session) . - -要使用用户名`automation-bot`创建属于用户的令牌,请在 Rails 控制台( `sudo gitlab-rails console` )中运行以下`sudo gitlab-rails console` : - -``` -user = User.find_by_username('automation-bot') -token = user.personal_access_tokens.create(scopes: [:read_user, :read_repository], name: 'Automation token') -token.set_token('token-string-here123') -token.save! -``` - -使用[GitLab Rails Runner](../../administration/troubleshooting/debug.html#using-the-rails-runner)可以将其简化为单行 shell 命令: - -``` -sudo gitlab-rails runner "token = User.find_by_username('automation-bot').personal_access_tokens.create(scopes: [:read_user, :read_repository], name: 'Automation token'); token.set_token('token-string-here123'); token.save!" -``` - -**注意:**令牌字符串的长度必须为 20 个字符,否则将不会被识别为个人访问令牌. - -有效范围的列表及其作用可以[在源代码中](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/auth.rb)找到. - -## Programmatically revoking a personal access token[](#programmatically-revoking-a-personal-access-token "Permalink") - -您可以通过编程方式撤消个人访问令牌. 您将需要足够的访问权限才能为 GitLab 实例运行[Rails 控制台会话](../../administration/troubleshooting/debug.html#starting-a-rails-console-session) . - -要撤销已知令牌`token-string-here123` ,请在 Rails 控制台( `sudo gitlab-rails console` )中运行以下`sudo gitlab-rails console` : - -``` -token = PersonalAccessToken.find_by_token('token-string-here123') -token.revoke! -``` - -可以使用[GitLab Rails Runner](../../administration/troubleshooting/debug.html#using-the-rails-runner)将其[简化](../../administration/troubleshooting/debug.html#using-the-rails-runner)为单行 shell 命令: - -``` -sudo gitlab-rails runner "PersonalAccessToken.find_by_token('token-string-here123').revoke!" -``` \ No newline at end of file diff --git a/docs/397.md b/docs/397.md deleted file mode 100644 index 231666c..0000000 --- a/docs/397.md +++ /dev/null @@ -1,163 +0,0 @@ -# Profile preferences - -> 原文:[https://docs.gitlab.com/ee/user/profile/preferences.html](https://docs.gitlab.com/ee/user/profile/preferences.html) - -* [Navigation theme](#navigation-theme) -* [Dark mode](#dark-mode) -* [Syntax highlighting theme](#syntax-highlighting-theme) -* [Behavior](#behavior) - * [Layout width](#layout-width) - * [Default dashboard](#default-dashboard) - * [Group overview content](#group-overview-content) - * [Project overview content](#project-overview-content) - * [Tab width](#tab-width) -* [Localization](#localization) - * [Language](#language) - * [First day of the week](#first-day-of-the-week) -* [Integrations](#integrations) - * [Sourcegraph](#sourcegraph) - -# Profile preferences[](#profile-preferences "Permalink") - -用户的个人资料首选项页面允许用户自定义 GitLab 的各个方面. - -要导航至个人资料的首选项,请执行以下操作: - -1. 单击您的头像. -2. Select **Settings**. -3. 单击边栏中的**首选项** . - -## Navigation theme[](#navigation-theme "Permalink") - -GitLab 导航主题设置可让您个性化 GitLab 体验. 您可以从多个颜色主题中进行选择,这些主题可以为顶部导航和左侧导航添加独特的颜色. 使用单独的颜色主题可以帮助您区分不同的 GitLab 实例. - -默认主题为 Indigo. 您可以选择 10 个主题: - -* Indigo -* 浅靛蓝 -* Blue -* 浅蓝 -* Green -* 浅绿色 -* Red -* 红灯 -* Dark -* Light - -[![Profile preferences navigation themes](img/c6c38f70c273cc4412f6d3bd29af3829.png)](img/profil-preferences-navigation-theme.png) - -## Dark mode[](#dark-mode "Permalink") - -[介绍](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28252)在 GitLab 13.1 作为一个 alpha 版本. - -manbetx 客户端打不开已经开始在黑暗模式下工作! 深色[版本](https://about.gitlab.com/handbook/product/#alpha)的[Alpha 版本](https://about.gitlab.com/handbook/product/#alpha)本着迭代的精神和[Alpha 版本](https://about.gitlab.com/handbook/product/#alpha)的较低期望提供. - -[黑暗主题史诗中](https://gitlab.com/groups/gitlab-org/-/epics/2902)追踪了黑暗模式的进展. 见史诗: - -* 已知问题列表. -* 我们计划的方向和下一步. - -如果发现未列出的问题,请在史诗上发表评论或创建新的问题. - -出于 MVC 和兼容性原因,暗模式可用作导航主题. 将来,我们计划使其在自己的部分中可配置,同时支持[不同的导航主题](https://gitlab.com/gitlab-org/gitlab/-/issues/219512) . - -**注意:**深色主题当前仅适用于"深色"语法突出显示. - -## Syntax highlighting theme[](#syntax-highlighting-theme "Permalink") - -**注意:** GitLab 使用[rouge Ruby 库](http://rouge.jneen.net/ "胭脂网站")在任何 Editor 上下文之外突出显示语法. WebIDE(如代码片段)使用[Monaco Editor](https://microsoft.github.io/monaco-editor/) ,并提供了[Monarch](https://microsoft.github.io/monaco-editor/monarch.html)库以突出显示语法. 有关支持的语言的列表,请访问相应库的文档. - -更改此设置可让您在 GitLab 上查看语法突出显示的代码时自定义颜色主题. - -默认语法主题为"白色",您可以在 5 个不同的主题中进行选择: - -* White -* Dark -* 日光灯 -* 日光暗 -* Monokai - -[![Profile preferences syntax highlighting themes](img/bde796b0c195045db9849eef2842bd0e.png)](img/profile-preferences-syntax-themes.png) - -您在 13.0 中[引入](https://gitlab.com/groups/gitlab-org/-/epics/2389)的主题也适用于[Web IDE](../project/web_ide/index.html)的代码编辑器和[Snippets](../snippets.html) . 主题仅在 Web IDE 文件编辑器中可用, [深色主题](https://gitlab.com/gitlab-org/gitlab/-/issues/209808)和[日光化深色主题](https://gitlab.com/gitlab-org/gitlab/-/issues/219228)除外,它们适用于整个 Web IDE 屏幕. - -## Behavior[](#behavior "Permalink") - -以下设置可让您自定义 GitLab 布局的行为以及仪表板和项目登录页面的默认视图. - -### Layout width[](#layout-width "Permalink") - -可以根据喜好将 GitLab 设置为使用不同的宽度. 在固定(最大`1280px` )和流畅( `100%` )应用程序布局之间选择. - -**注意:**虽然使用固定版式时`1280px`是标准最大宽度,但是某些页面仍根据内容使用 100%宽度. - -### Default dashboard[](#default-dashboard "Permalink") - -对于有权访问大量项目但仅能跟上少数项目的用户,默认"仪表板"页面上的活动量可能会很大. 更改此设置可让您重新定义默认的仪表板. - -您可以在此处使用 8 个选项作为默认仪表板视图: - -* 您的项目(默认) -* 已加星标的项目 -* 您的项目活动 -* 已加星标项目的活动 -* 您的团体 -* Your [Todos](../todos.html) -* 分配的问题 -* 分配的合并请求 -* 操作仪表板 - -### Group overview content[](#group-overview-content "Permalink") - -网上**论坛概述内容**下拉菜单允许您选择网上论坛首页上显示的信息. - -您可以选择 2 个选项: - -* 详细信息(默认) -* [Security dashboard](../application_security/security_dashboard/index.html) - -### Project overview content[](#project-overview-content "Permalink") - -项目概述内容设置允许您选择想要在项目主页上看到的内容. - -您可以选择 3 个选项: - -* 文件和自述文件(默认) -* Readme -* Activity - -### Tab width[](#tab-width "Permalink") - -您可以在 GitLab 的各个部分设置标签字符的显示宽度,例如 blob,diff 和片段. - -**注意:** GitLab 的某些部分不遵守此设置,包括 WebIDE,文件编辑器和 Markdown 编辑器. - -## Localization[](#localization "Permalink") - -### Language[](#language "Permalink") - -从支持的语言列表中选择首选语言. - -*此功能是实验性的,翻译尚未完成.* - -### First day of the week[](#first-day-of-the-week "Permalink") - -可以针对日历视图和日期选择器自定义一周的第一天. - -您可以选择以下选项之一作为一周的第一天: - -* Saturday -* Sunday -* Monday - -如果选择**System Default** ,则将使用系统范围的默认设置. - -## Integrations[](#integrations "Permalink") - -使用第三方服务配置您的首选项,这些服务可增强您的 GitLab 体验. - -### Sourcegraph[](#sourcegraph "Permalink") - -**注意:**仅当 GitLab 管理员已启用 Sourcegraph 时,此设置才可见. - -管理由 Sourcegraph 支持的集成代码智能功能的可用性. 查看[Sourcegraph 功能文档](../../integration/sourcegraph.html#enable-sourcegraph-in-user-preferences)以获取更多信息. \ No newline at end of file diff --git a/docs/398.md b/docs/398.md deleted file mode 100644 index 0fec52e..0000000 --- a/docs/398.md +++ /dev/null @@ -1 +0,0 @@ -> 原文:[https://docs.gitlab.com/ee/user/profile/account/two_factor_authentication.html](https://docs.gitlab.com/ee/user/profile/account/two_factor_authentication.html) \ No newline at end of file diff --git a/docs/399.md b/docs/399.md deleted file mode 100644 index e88667a..0000000 --- a/docs/399.md +++ /dev/null @@ -1,475 +0,0 @@ -# Threads - -> 原文:[https://docs.gitlab.com/ee/user/discussions/](https://docs.gitlab.com/ee/user/discussions/) - -* [Resolvable comments and threads](#resolvable-comments-and-threads) - * [Commit threads in the context of a merge request](#commit-threads-in-the-context-of-a-merge-request) - * [Jumping between unresolved threads](#jumping-between-unresolved-threads) - * [Marking a comment or thread as resolved](#marking-a-comment-or-thread-as-resolved) - * [Move all unresolved threads in a merge request to an issue](#move-all-unresolved-threads-in-a-merge-request-to-an-issue) - * [Moving a single thread to a new issue](#moving-a-single-thread-to-a-new-issue) - * [Only allow merge requests to be merged if all threads are resolved](#only-allow-merge-requests-to-be-merged-if-all-threads-are-resolved) - * [Automatically resolve merge request diff threads when they become outdated](#automatically-resolve-merge-request-diff-threads-when-they-become-outdated) -* [Commit threads](#commit-threads) -* [Threaded discussions](#threaded-discussions) -* [Image threads](#image-threads) -* [Lock discussions](#lock-discussions) -* [Merge Request Reviews](#merge-request-reviews) - * [Starting a review](#starting-a-review) - * [Resolving/Unresolving threads](#resolvingunresolving-threads) - * [Submitting a review](#submitting-a-review) -* [Filtering notes](#filtering-notes) -* [Suggest Changes](#suggest-changes) - * [Multi-line Suggestions](#multi-line-suggestions) - * [Code block nested in Suggestions](#code-block-nested-in-suggestions) - * [Configure the commit message for applied Suggestions](#configure-the-commit-message-for-applied-suggestions) - * [Batch Suggestions](#batch-suggestions) - * [Enable or disable Batch Suggestions](#enable-or-disable-batch-suggestions) -* [Start a thread by replying to a standard comment](#start-a-thread-by-replying-to-a-standard-comment) -* [Assign an issue to the commenting user](#assign-an-issue-to-the-commenting-user) - -# Threads[](#threads "Permalink") - -整个 GitLab 都提供了进行对话的能力. - -您可以在以下位置发表评论: - -* Issues -* Epics -* 合并要求 -* Snippets -* Commits -* 提交差异 - -有标准注释,您还可以选择以线程形式创建注释. 收到回复后,评论也可以[变成主题](#start-a-thread-by-replying-to-a-standard-comment) . - -评论区域支持[Markdown](../markdown.html)和[快速操作](../project/quick_actions.html) . 您可以随时编辑自己的评论,拥有" [维护者"访问级别](../permissions.html)或更高[权限的](../permissions.html)任何人也可以编辑其他人的评论. - -如果为您的 GitLab 实例配置了" [通过电子邮件回复",](../../administration/reply_by_email.html)您还可以回复评论通知电子邮件以回复评论. 回复标准评论会创建另一个标准评论. 回复主题注释会在主题中创建回复. 电子邮件回复支持[Markdown](../markdown.html)和[快速操作](../project/quick_actions.html) ,就像您从网络上回复一样. - -**注意:**每个对象最多只能有 5,000 条注释,例如:issue,epic 和 merge request. - -## Resolvable comments and threads[](#resolvable-comments-and-threads "Permalink") - -版本历史 - -* 在 GitLab 8.11 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/5022) . -* 可解决的线程只能添加到合并请求差异中. - -线程解析有助于跟踪计划或代码审查期间的进度. - -合并请求,提交,提交差异和摘要中的每个标准注释或线程最初都显示为未解决. 然后,至少具有开发人员访问项目权限的任何人或所检查的更改的作者都可以单独解决这些问题. 如果该线程已解决,并且非成员取消了他们自己的响应,则这也将取消解决讨论线程. 如果非成员然后解决了相同的答复,则将解决讨论线程. - -解决所有标准注释或线程的需求可以防止您忘记处理反馈,并可以隐藏不再相关的线程. - -[!["A thread between two people on a piece of code"](img/18f2b22b7daf0beab9074c6695c99960.png)](img/thread_view.png) - -### Commit threads in the context of a merge request[](#commit-threads-in-the-context-of-a-merge-request "Permalink") - -在 GitLab 10.3 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/31847) . - -对于具有基于提交的工作流的审阅者,在合并请求的上下文中将线程添加到特定的提交差异可能很有用. 在以下情况下,这些线程将通过更改提交 ID 保持不变: - -* 重新设置后强制推动 -* 修改提交 - -创建提交差异线程: - -1. 导航到合并请求的" **提交"**选项卡. 将显示构成合并请求的提交列表. - - [![Merge request commits tab](img/b061980557a1e04fe2a2f3836b8dd9c1.png)](img/merge_request_commits_tab.png) - -2. 导航到特定的提交,单击" **更改"**选项卡(在该选项卡中,将仅显示与所选提交不同的内容),并留下评论. - - [![Commit diff discussion in merge request context](img/fc09af9303f629aff49a9a4dc5327e65.png)](img/commit_comment_mr_context.png) - -3. 以这种方式创建的任何线程都将显示在合并请求的" **讨论"**选项卡中,并且可以解决. - - [![Merge request Discussions tab](img/033c41dc1122d52872dcb67228037524.png)](img/commit_comment_mr_discussions_tab.png) - -以这种方式创建的线程将仅出现在原始合并请求中,而不是导航到项目的" **存储库">"提交"**页面下的**提交时** . - -**提示:**在合并请求内的线程中找到提交引用的链接时,它将在当前合并请求的上下文中自动转换为链接. - -### Jumping between unresolved threads[](#jumping-between-unresolved-threads "Permalink") - -当合并请求中包含大量注释时,可能很难跟踪仍未解决的问题. 您可以使用线程上"回复"字段旁边的"跳转"按钮在未解决的线程之间跳转. - -您也可以从已解决的线程跟踪器旁边的按钮跳转到下一个未解决的线程. - -您还可以使用键盘快捷键在线程之间导航: - -* 使用`n`跳到下一个未解决的线程. -* 使用`p`跳到上一个未解决的线程. - -[!["8/9 threads resolved"](img/27b77c1cf5861234d7e06b742e7cbf58.png)](img/threads_resolved.png) - -### Marking a comment or thread as resolved[](#marking-a-comment-or-thread-as-resolved "Permalink") - -您可以通过单击**线程**底部的" **解决线程"**按钮将其标记为已解决. - -[!["Resolve thread" button](img/f94efd219528f7641e29dbca3bc215ad.png)](img/resolve_thread_button.png) - -或者,您可以将每个评论标记为单独解决. - -[!["Resolve comment" button](img/9246e597493024c10e4f678f7de7318e.png)](img/resolve_comment_button.png) - -### Move all unresolved threads in a merge request to an issue[](#move-all-unresolved-threads-in-a-merge-request-to-an-issue "Permalink") - -在 GitLab 9.1 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/8266) - -要在新问题中继续执行来自合并请求的所有打开的线程,请单击" **解决新问题中的所有线程"**按钮. - -[![Open new issue for all unresolved threads](img/c7b2f6ed12531da21a4512becdf843af.png)](img/btn_new_issue_for_all_threads.png) - -或者,当您的项目仅[在解决所有线程](#only-allow-merge-requests-to-be-merged-if-all-threads-are-resolved)后才接受合并请求[时](#only-allow-merge-requests-to-be-merged-if-all-threads-are-resolved) ,将存在**一个问题,即以后**在合并请求小部件中**解决它们的**链接. - -[![Link in merge request widget](img/4e480a29eb679b62ed97f748fc9acdd7.png)](img/resolve_thread_open_issue.png) - -这将准备一个问题,其内容涉及合并请求和未解决的线程. - -[![Issue mentioning threads in a merge request](img/cbf589a2c41bb518f8f2da56b76a59dc.png)](img/preview_issue_for_threads.png) - -击中" **提交"问题**将导致所有线程被标记为已解决,并添加注释以引用新创建的问题. - -[![Mark threads as resolved notice](img/b36e59e0da065f17e34891efef2ee0a1.png)](img/resolve_thread_issue_notice.png) - -现在,您可以继续从 UI 合并合并请求. - -### Moving a single thread to a new issue[](#moving-a-single-thread-to-a-new-issue "Permalink") - -在 GitLab 9.1 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/8266) - -要为单个线程创建新问题,可以使用" **在新问题中解决此线程"**按钮. - -[![Create issue for thread](img/c3948ae724d699cf1ec0da64ab3e6a14.png)](img/new_issue_for_thread.png) - -这会将您定向到预填充了线程内容的新问题,类似于为一次委派多个线程而创建的问题. 保存问题将把该线程标记为已解决,并在合并请求线程中添加引用新问题的注释. - -[![New issue for a single thread](img/e5d9c1be329fa86c36614dea613f69a3.png)](img/preview_issue_for_thread.png) - -### Only allow merge requests to be merged if all threads are resolved[](#only-allow-merge-requests-to-be-merged-if-all-threads-are-resolved "Permalink") - -在 GitLab 8.14 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/7125) . - -在解决所有线程之前,可以阻止合并请求. - -导航到项目的设置页面,选中" **仅在解决所有线程后才允许合并请求"**复选框,然后单击" **保存"**以使更改生效. - -[![Only allow merge if all the threads are resolved settings](img/9bc04e4a71e5ed3917efabdca45725c7.png)](img/only_allow_merge_if_all_threads_are_resolved.png) - -从现在开始,直到所有线程解决后,您才能从 UI 进行合并. - -[![Only allow merge if all the threads are resolved message](img/4e480a29eb679b62ed97f748fc9acdd7.png)](img/resolve_thread_open_issue.png) - -### Automatically resolve merge request diff threads when they become outdated[](#automatically-resolve-merge-request-diff-threads-when-they-become-outdated "Permalink") - -在 GitLab 10.0 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/14053) . - -您可以在使用新的推送修改的行上自动解决合并请求差异线程. - -导航到您的项目的设置页面,选中" **使用推送更改的行上**的**自动解析合并请求差异线程"**复选框,然后单击" **保存"**以使更改生效. - -[![Automatically resolve merge request diff threads when they become outdated](img/a283d966822ac6a760d1a650273fbb3b.png)](img/automatically_resolve_outdated_discussions.png) - -从现在开始,如果推送使 diff 部分过时,默认情况下将解决 diff 上的所有线程. 不变的线上线程和顶级可解析线程不会自动解析. - -## Commit threads[](#commit-threads "Permalink") - -您可以在项目的**Repository> Commits**下向特定提交添加注释和线程. - -**注意:**如果在强制推送后更改了提交 ID,则以这种方式创建的线程将丢失. - -## Threaded discussions[](#threaded-discussions "Permalink") - -在 GitLab 9.1 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/7527) . - -尽管可解析线程仅可用于合并请求差异,但也可以添加没有差异的线程. 您可以针对问题,提交,摘要和合并请求启动一个看起来像线程的特定线程. - -要开始主题讨论,请单击" **评论"**按钮切换下拉列表,选择" **开始主题",**并在准备发布评论时单击" **开始主题** ". - -[![Comment type toggle](img/66e7cbbe98ed69a6154c1adcd7ec4f6e.png)](img/comment_type_toggle.gif) - -这将以单个线程发布评论,使您可以更详细地讨论特定评论. - -[![Thread comment](img/d3cc00bf5599be56b0b3154ca2751cbc.png)](img/discussion_comment.png) - -## Image threads[](#image-threads "Permalink") - -在 GitLab 10.1 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/14061) . - -有时线程围绕图像旋转. 使用图像线程,您可以轻松地定位图像的特定坐标并在其周围启动线程. 图像线程在合并请求和提交详细信息视图中可用. - -要启动图像线程,请将鼠标悬停在图像上. 您的鼠标指针应转换为图标,表示该图像可用于注释. 只需单击图像上的任意位置以创建新线程. - -[![Start image thread](img/72a8c3cb5bafa1e02d93f68a624b6094.png)](img/start_image_discussion.gif) - -单击图像后,将显示注释表单,该注释表单将成为您线程的开始. 保存评论后,您会在图像顶部看到一个新的徽章. 此徽章代表您的话题. - -> **注意:**该线程标志通常与一个数字关联,该数字仅用作每个线程的可视参考. 在合并请求线程选项卡中,此标记将带有注释图标,因为每个线程都会呈现一个新的图像部分. - -图像线程还可以在替换现有图像的差异上工作. 在此差异查看模式下,您可以切换不同的查看模式,但仍可以看到线点标记. - -| 2-up | Swipe | 洋葱皮 | -| --- | --- | --- | -| [![2-up view](img/be7e963d6561756bb87f6fea0cd245fa.png)](img/two_up_view.png) | [![swipe view](img/14110c067c5c98646bcad82dbd3be10b.png)](img/swipe_view.png) | [![onion skin view](img/5113c12752dd029f29a28c6f0660cde1.png)](img/onion_skin_view.png) | - -映像线程也可与可解析线程一起很好地工作. 差异上的已解析线程(不在"合并请求讨论"选项卡上)在页面加载时将显示为折叠状态,并且将具有对应的标记计数器以匹配图像上的计数器. - -[![Image resolved thread](img/fc692dde7a0c9ce30f0036b1a05b2768.png)](img/image_resolved_discussion.png) - -## Lock discussions[](#lock-discussions "Permalink") - -在 GitLab 10.1 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/14531) . - -For large projects with many contributors, it may be useful to stop threads in issues or merge requests in these scenarios: - -* 项目维护者已经解决了该线程,对于继续反馈没有帮助. -* 项目维护者已经将新对话指向新问题或合并请求. -* 参与线程的人正在拖钓,辱骂或没有生产力. - -在这些情况下,项目中具有开发者权限或更高权限的用户可以使用边栏中的"锁定"部分来锁定(和解锁)问题或合并请求. 对于问题,具有记者权限的用户可以锁定(和解锁). - -| Unlock | Lock | -| --- | --- | -| [![Turn off discussion lock](img/e7d7b1c5ccf121da6fcfbbc1eb78bbcd.png)](img/turn_off_lock.png) | [![Turn on discussion lock](img/3ed7ccf7499687536cf254fc6f47d5e7.png)](img/turn_on_lock.png) | - -系统注释指示锁定和解锁. - -[![Discussion lock system notes](img/2629e4ef9252e4970d626ca424e88dd2.png)](img/discussion_lock_system_notes.png) - -在锁定的问题或合并请求中,只有团队成员才能添加新评论和编辑现有评论. 禁止非团队成员添加或编辑评论. - -| 队员 | 非团队成员 | -| --- | --- | -| [![Comment form member](img/5c0acf7979c7bc1e89dc413017b70870.png)](img/lock_form_member.png) | [![Comment form non-member](img/94675a32947787d4e216a44e3047d0b5.png)](img/lock_form_non_member.png) | - -此外,无法重新打开锁定的问题和合并请求. - -## Merge Request Reviews[](#merge-request-reviews "Permalink") - -版本历史 - -* 在[GitLab Premium](https://about.gitlab.com/pricing/) 11.4 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/4213) . -* 在 13.1 版中[移至](https://gitlab.com/gitlab-org/gitlab/-/issues/28154) GitLab Core. - -查看"合并请求"差异时,您可以开始审阅. 这样,您便可以在"合并请求"中创建**仅**在发布之前才对**您可见的**注释,以便您可以将所有注释作为单个操作提交. - -### Starting a review[](#starting-a-review "Permalink") - -为了开始审阅,只需像往常一样在 MR 的" **更改"**选项卡下对差异添加注释,然后单击" **开始审阅"**按钮. - -[![Starting a review](img/40dbd9d2f1f965f42a1c417a258da575.png)](img/mr_review_start.png) - -Once a review is started, you will see any comments that are part of this review marked `Pending`. All comments that are part of a review show two buttons: - -* **完成审阅** :提交**审阅中的**所有评论,使其他用户可以看到它们. -* **立即添加评论** :提交特定评论作为常规评论,而不是审阅的一部分. - -[![A comment that is part of a review](img/9fa9d16dd2302ab20167b7ff1ca62575.png)](img/pending_review_comment.png) - -您可以在评论中使用[快速操作](../project/quick_actions.html) . 注释将显示发布后将执行的操作. - -[![A review comment with quick actions](img/2927b047cacec2945671ab2484aafe9d.png)](img/review_comment_quickactions.png) - -要向评论添加更多评论,请照常开始写评论,然后单击**添加到评论**按钮. - -[![Adding a second comment to a review](img/996ea860188e6458fe761cf86b2b72b1.png)](img/mr_review_second_comment.png) - -这会将评论添加到评论中. - -[![Second review comment](img/a102a1abbf4c760dba4b8b3daef8fe26.png)](img/mr_review_second_comment_added.png) - -### Resolving/Unresolving threads[](#resolvingunresolving-threads "Permalink") - -评论注释也可以解决/无法解决[可解决的线程](#resolvable-comments-and-threads) . 回复评论时,您将看到一个复选框,您可以单击该复选框以在发布后解决或取消解决线程. - -[![Resolve checkbox](img/865329b4b113d6de44cf382bd77178fa.png)](img/mr_review_resolve.png) - -如果特定的待处理注释将解决或取消解决该线程,它将显示在待处理注释本身上. - -[![Resolve status](img/83da8fe833233875ee4fe28fa21eb1dd.png)](img/mr_review_resolve2.png) - -[![Unresolve status](img/ce6315abe3d0bf8a315febe4ab497312.png)](img/mr_review_unresolve.png) - -### Submitting a review[](#submitting-a-review "Permalink") - -If you have any comments that have not been submitted, you will see a bar at the bottom of the screen with two buttons: - -* **舍弃** : **舍弃**所有尚未提交的评论. -* **完成审阅** :打开准备提交审阅的评论列表. 单击**提交评论**将发布所有评论. 此时将执行所有提交的快速操作. - -另外,要通过待审核的评论完成整个审核,请执行以下操作: - -* 单击**评论**上的" **完成审阅"**按钮. -* 在非评论注释的文本中使用`/submit_review` [快速操作](../project/quick_actions.html) . - -[![Review submission](img/c6daa1e81d653cfd0b476144f1f71874.png)](img/review_preview.png) - -提交审阅将向合并请求的每个应通知用户发送一封电子邮件,其中包含与之相关的所有注释. - -因此,回复此电子邮件将在关联的合并请求上创建一个新注释. - -## Filtering notes[](#filtering-notes "Permalink") - -在 GitLab 11.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/26723) . - -对于活动注释和用户注释等具有许多注释的问题,有时很难找到有用的信息. 有一种方法可以针对合并请求和问题从单个注释和线程中过滤注释. - -从合并请求的" **讨论"**选项卡,或史诗/问题概述中,找到页面右侧的过滤器下拉菜单,您可以从中选择以下选项之一: - -* **显示所有活动** :显示所有用户评论和系统注释(问题更新,对其他问题的提及,对描述的更改等). -* **仅显示评论** :仅在列表中显示用户评论. -* **仅显示历史记录** :仅显示活动记录. - -[![Notes filters dropdown options](img/5a26f77375b52645c2387aec1f77a777.png)](img/index_notes_filters.png) - -在给定问题或 MR 中选择过滤器之一后,GitLab 将保存您的首选项,这样当您从已登录的任何设备再次访问同一页面时,该首选项将保持不变. - -## Suggest Changes[](#suggest-changes "Permalink") - -在 GitLab 11.6 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/18008) . - -作为审阅者,您可以在 Merge Request Diff 线程中使用简单的 Markdown 语法建议代码更改. 然后,合并请求作者(或具有适当[权限的](../permissions.html)其他用户)能够通过单击来应用这些建议,这将在应用了这些建议的用户创作的合并请求中生成提交. - -1. 选择要更改的代码行,添加新注释,然后单击工具栏中的" **插入建议"**图标: - - [![Add a new comment](img/d7cb226977bb46d9aaa1c1d7e195025a.png)](img/suggestion_button_v12_7.png) - -2. 在注释中,将您的建议添加到预填充的代码块中: - - [![Add a suggestion into a code block tagged properly](img/44cad341f814ae94da18480c3dc1d2be.png)](img/make_suggestion_v12_7.png) - -3. 单击**开始审查**或**加入审查** ,以您的评论添加到[审查](#merge-request-reviews) ,或者**现在添加注释** ,注释立即加入到线程. - - 注释中的"建议"可由合并请求作者直接从合并请求中应用: - - [![Apply suggestions](img/0dd0fc53dcaa34b76a16be18538c1a35.png)](img/apply_suggestion_v12_7.png) - -一旦作者应用了一个建议,它将被标记为"已**应用"**标签,该线程将被自动解析,并且 GitLab 将创建一个新的提交,并将建议的更改直接推送到合并请求分支中的代码库中. 这样做需要[开发人员许可](../permissions.html) . - -### Multi-line Suggestions[](#multi-line-suggestions "Permalink") - -在 GitLab 11.10 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/53310) . - -审阅者还可以通过调整范围偏移,在合并请求差异线程中使用单个"建议"来建议对多行进行更改. 偏移量相对于 diff 线程的位置,并指定应用建议时要被建议替换的范围. - -[![Multi-line suggestion syntax](img/317167b85f9604b741e71e57b1702b6c.png)](img/multi-line-suggestion-syntax.png) - -在上面的示例中,建议涵盖了注释行上方的三行和注释行下方的四行. 应用时,它将用建议的更改从注释行*上方的* 3 行替换为注释行*下方*的 4 行. - -[![Multi-line suggestion preview](img/590715bab1c8704d5a4c16437c011ed5.png)](img/multi-line-suggestion-preview.png) - -**注意:**涵盖多行的建议仅限于已注释差异行*上方的* 100 行和*下方*的差异行*下方*的 100 行,每个建议最多可更改 200 行. - -### Code block nested in Suggestions[](#code-block-nested-in-suggestions "Permalink") - -如果您需要提出涉及[受限制的代码块](../markdown.html#code-spans-and-blocks)的建议,请将您的建议换成四个反引号,而不是通常的三个. - -[![A comment editor with a suggestion with a fenced code block](img/a4e7c4f55411323814dd3b9cb30ab9f8.png)](img/suggestion_code_block_editor_v12_8.png) - -[![Output of a comment with a suggestion with a fenced code block](img/db0182b2e43670178e35b1a3485ca25e.png)](img/suggestion_code_block_output_v12_8.png) - -### Configure the commit message for applied Suggestions[](#configure-the-commit-message-for-applied-suggestions "Permalink") - -在 GitLab 12.7 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/13086) . - -GitLab 在应用建议时使用默认的提交消息: `Apply %{suggestions_count} suggestion(s) to %{files_count} file(s)` - -例如,假设用户将 3 条建议应用于 2 个不同的文件,则默认的提交消息将是: **将 3 条建议应用于 2 个文件** - -可以自定义这些提交消息,以遵循您可能拥有的任何准则. 为此, **请**在项目的" **常规"**设置中展开" **合并请求"**选项卡,然后更改" **合并建议"**文本: - -[![Custom commit message for applied Suggestions](img/182928c540d17ccf275438850fc7592d.png)](img/suggestions_custom_commit_messages_v13_1.jpg) - -除了静态文本,您还可以使用以下变量: - -| Variable | Description | 输出示例 | -| --- | --- | --- | -| `%{branch_name}` | 建议所应用到的分支的名称. | `my-feature-branch` | -| `%{files_count}` | 应用了建议的文件数. | **2** | -| `%{file_paths}` | 应用了建议文件的路径. 路径用逗号分隔. | `docs/index.md, docs/about.md` | -| `%{project_path}` | 项目路径. | `my-group/my-project` | -| `%{project_name}` | 项目的可读名称. | **我的项目** | -| `%{suggestions_count}` | 应用的建议数. | **3** | -| `%{username}` | 应用建议的用户的用户名. | `user_1` | -| `%{user_full_name}` | 应用建议的用户的全名. | **用户 1** | - -例如,要自定义提交消息以输出**Addresses user_1 的评论** ,请将自定义文本设置为`Addresses %{username}'s review` . - -**注意:** [#25381](https://gitlab.com/gitlab-org/gitlab/-/issues/25381)将为每个应用的建议(以及批量建议)引入自定义提交消息. - -### Batch Suggestions[](#batch-suggestions "Permalink") - -版本历史 - -* 在 GitLab 13.1 中作为[Alpha 功能](https://about.gitlab.com/handbook/product/#alpha) [引入](https://gitlab.com/gitlab-org/gitlab/-/issues/25486) . -* 它部署在功能标记后面,默认情况下处于禁用状态. -* 在 GitLab.com 上已禁用. -* 要在 GitLab 自管实例中使用它,请让 GitLab 管理员[启用它](#enable-or-disable-batch-suggestions) . - -您可以一次应用多个建议,以减少为满足审阅者的请求而添加到分支的提交数量. - -1. 要启动将在一次提交中应用的一批建议,请单击" **将建议添加到批处理"** : - - [![A code change suggestion displayed, with the button to add the suggestion to a batch highlighted.](img/f12701028e6548c505318ef2d4e378db.png "Add a suggestion to a batch")](img/add_first_suggestion_to_batch_v13_1.jpg) - -2. 根据需要向批处理中添加尽可能多的其他建议: - - [![A code change suggestion displayed, with the button to add an additional suggestion to a batch highlighted.](img/f60803ec89d6ae84310e181507eb2ad8.png "Add another suggestion to a batch")](img/add_another_suggestion_to_batch_v13_1.jpg) - -3. 要删除建议,请单击" **从批处理中删除"** : - - [![A code change suggestion displayed, with the button to remove that suggestion from its batch highlighted.](img/e28a69b4996ee400ca3df4431df0ab13.png "Remove a suggestion from a batch")](img/remove_suggestion_from_batch_v13_1.jpg) - -4. 将所有建议添加到您的喜好中后,准备好后,请点击**应用建议** : - - [![A code change suggestion displayed, with the button to apply the batch of suggestions highlighted.](img/ed8bdb5d349320bc1d470f096578dfe7.png "Apply a batch of suggestions")](img/apply_batch_of_suggestions_v13_1.jpg) - -#### Enable or disable Batch Suggestions[](#enable-or-disable-batch-suggestions "Permalink") - -批处理建议部署在**默认情况下禁用**的功能标志的后面. [有权访问 GitLab Rails 控制台的 GitLab 管理员](../../administration/feature_flags.html)可以为您的实例启用它. - -要启用它: - -``` -# Instance-wide -Feature.enable(:batch_suggestions) -``` - -禁用它: - -``` -# Instance-wide -Feature.disable(:batch_suggestions) -``` - -## Start a thread by replying to a standard comment[](#start-a-thread-by-replying-to-a-standard-comment "Permalink") - -在 GitLab 11.9 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/30299) - -要回复标准(非线程)评论,可以使用" **回复评论"**按钮. - -[![Reply to comment button](img/d198d958fcf8be60727c232ff69b9713.png)](img/reply_to_comment_button.png) - -仅当您有权回复现有主题或从标准评论启动主题时,才会显示" **回复评论"**按钮. - -单击" **回复评论"**按钮将使回复区域成为焦点,您可以键入回复. - -[![Reply to comment feature](img/9f29552692cfb04d323dc62cc4bc1d1e.png)](img/reply_to_comment.gif) - -提交回复后,回复非线程注释将把非线程注释转换为线程. 该转换被认为是对原始评论的修改,因此在其下方会出现一条有关上次编辑时间的注释. - -此功能仅适用于"问题","合并请求"和"事件". 尚不支持提交,摘要和合并请求差异线程. - -## Assign an issue to the commenting user[](#assign-an-issue-to-the-commenting-user "Permalink") - -在 GitLab 13.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/191455) . - -您可以将问题分配给发表评论的用户. - -在评论中,单击" **更多操作"**菜单,然后单击" **分配给评论用户"** . - -再次单击按钮以取消分配评论者. - -[![Assign to commenting user](img/9b6a8d0d96113fcaadd766cecfbecdbc.png)](img/quickly_assign_commenter_v13_1.png) \ No newline at end of file diff --git a/docs/400.md b/docs/400.md deleted file mode 100644 index 78df812..0000000 --- a/docs/400.md +++ /dev/null @@ -1 +0,0 @@ -> 原文:[https://docs.gitlab.com/ee/topics/authentication/](https://docs.gitlab.com/ee/topics/authentication/) \ No newline at end of file diff --git a/docs/401.md b/docs/401.md deleted file mode 100644 index 78df812..0000000 --- a/docs/401.md +++ /dev/null @@ -1 +0,0 @@ -> 原文:[https://docs.gitlab.com/ee/topics/authentication/](https://docs.gitlab.com/ee/topics/authentication/) \ No newline at end of file diff --git a/docs/402.md b/docs/402.md deleted file mode 100644 index 4712fda..0000000 --- a/docs/402.md +++ /dev/null @@ -1,368 +0,0 @@ -# GitLab and SSH keys - -> 原文:[https://docs.gitlab.com/ee/ssh/README.html](https://docs.gitlab.com/ee/ssh/README.html) - -* [Requirements](#requirements) -* [Options for SSH keys](#options-for-ssh-keys) -* [Review existing SSH keys](#review-existing-ssh-keys) -* [Generating a new SSH key pair](#generating-a-new-ssh-key-pair) - * [ED25519 SSH keys](#ed25519-ssh-keys) - * [RSA SSH keys](#rsa-ssh-keys) - * [Common steps for generating an SSH key pair](#common-steps-for-generating-an-ssh-key-pair) - * [RSA keys and OpenSSH from versions 6.5 to 7.8](#rsa-keys-and-openssh-from-versions-65-to-78) -* [Adding an SSH key to your GitLab account](#adding-an-ssh-key-to-your-gitlab-account) -* [Testing that everything is set up correctly](#testing-that-everything-is-set-up-correctly) -* [Working with non-default SSH key pair paths](#working-with-non-default-ssh-key-pair-paths) -* [Per-repository SSH keys](#per-repository-ssh-keys) -* [Multiple accounts on a single GitLab instance](#multiple-accounts-on-a-single-gitlab-instance) -* [Deploy keys](#deploy-keys) -* [Applications](#applications) - * [Eclipse](#eclipse) -* [SSH on the GitLab server](#ssh-on-the-gitlab-server) - * [Options for Microsoft Windows](#options-for-microsoft-windows) -* [Troubleshooting](#troubleshooting) - -# GitLab and SSH keys[](#gitlab-and-ssh-keys "Permalink") - -Git 是一个分布式版本控制系统,这意味着您可以在本地工作. 此外,您还可以将更改共享或"推送"到其他服务器. GitLab 支持使用 SSH 密钥在 Git 及其服务器之间进行安全通信. - -SSH 协议提供了这种安全性,并允许您向 GitLab 远程服务器进行身份验证,而无需每次都提供用户名或密码. - -该页面可以帮助您配置安全的 SSH 密钥,这些密钥可用于帮助保护与 GitLab 存储库的连接. - -* 如果您需要有关创建 SSH 密钥的信息,请从我们[的 SSH 密钥选项](#options-for-ssh-keys)开始. -* 如果您有专用于 GitLab 帐户的 SSH 密钥,则可能对[使用非默认 SSH 密钥对路径](#working-with-non-default-ssh-key-pair-paths)感兴趣. -* 如果您已经有了 SSH 密钥对,则可以转到[将 SSH 密钥添加到 GitLab 帐户的方法](#adding-an-ssh-key-to-your-gitlab-account) . - -## Requirements[](#requirements "Permalink") - -为了支持 SSH,GitLab 需要安装 OpenSSH 客户端,该客户端已预安装在 GNU / Linux 和 macOS 上,但未预先安装在 Windows 上. - -确保您的系统包括 SSH 6.5 或更高版本,因为它不包括现在不安全的 MD5 签名方案. 以下命令返回系统上安装的 SSH 版本: - -``` -ssh -V -``` - -尽管 GitLab 不[支持在 Microsoft Windows 上进行安装](../install/requirements.html#microsoft-windows) ,但是您可以设置 SSH 密钥以将 Windows 设置[为客户端](#options-for-microsoft-windows) . - -## Options for SSH keys[](#options-for-ssh-keys "Permalink") - -GitLab 支持使用 RSA,DSA,ECDSA 和 ED25519 密钥. - -* GitLab 在 GitLab 11.0 中已[弃用](https://about.gitlab.com/releases/2018/06/22/gitlab-11-0-released/#support-for-dsa-ssh-keys) DSA 密钥. -* 如[Go 实用密码术中](https://leanpub.com/gocrypto/read#leanpub-auto-ecdsa)所述,与 DSA 相关的安全性问题也适用于 ECDSA. - -**提示:**现有文档表明 ED25519 更安全. 如果使用 RSA 密钥,则美国国家科学技术研究院[出版物 800-57 第 3 部分(PDF)](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-57Pt3r1.pdf)建议密钥大小至少为 2048 位. - -因此,我们的文档集中在 ED25519 和 RSA 密钥的使用上. - -管理员可以[限制应允许的密钥及其最小长度](../security/ssh_keys_restrictions.html) . - -## Review existing SSH keys[](#review-existing-ssh-keys "Permalink") - -如果您已有 SSH 密钥,则可以使用它们来帮助保护与 GitLab 存储库的连接. 默认情况下,Linux 和 macOS 系统上的 SSH 密钥存储在用户的主目录中的`.ssh/`子目录中. 下表包括每种 SSH 密钥算法的默认文件名: - -| Algorithm | 公钥 | 私钥 | -| --- | --- | --- | -| ED25519(首选) | `id_ed25519.pub` | `id_ed25519` | -| RSA(至少 2048 位密钥大小) | `id_rsa.pub` | `id_rsa` | -| DSA(已弃用) | `id_dsa.pub` | `id_dsa` | -| ECDSA | `id_ecdsa.pub` | `id_ecdsa` | - -有关建议,请参阅[SSH 密钥的选项](#options-for-ssh-keys) . - -## Generating a new SSH key pair[](#generating-a-new-ssh-key-pair "Permalink") - -如果要创建: - -* ED25519 密钥,请阅读[ED25519 SSH 密钥](#ed25519-ssh-keys) . -* RSA 密钥,请阅读[RSA SSH 密钥](#rsa-ssh-keys) . - -### ED25519 SSH keys[](#ed25519-ssh-keys "Permalink") - -The book [Practical Cryptography With Go](https://leanpub.com/gocrypto/read#leanpub-auto-chapter-5-digital-signatures) suggests that [ED25519](https://ed25519.cr.yp.to/) keys are more secure and performant than RSA keys. - -随着 OpenSSH 6.5 在 2014 年引入 ED25519 SSH 密钥,它们应该在任何当前操作系统上都可用. - -您可以使用以下命令创建和配置 ED25519 密钥: - -``` -ssh-keygen -t ed25519 -C "" -``` - -`-C`标志(带引号的注释,例如电子邮件地址)是标记 SSH 密钥的可选方法. - -您将看到类似于以下内容的响应: - -``` -Generating public/private ed25519 key pair. -Enter file in which to save the key (/home/user/.ssh/id_ed25519): -``` - -要获得指导,请继续执行[常见步骤](#common-steps-for-generating-an-ssh-key-pair) . - -### RSA SSH keys[](#rsa-ssh-keys "Permalink") - -如果您将 RSA 密钥用于 SSH,则美国国家标准技术研究院建议您使用[至少 2048 位](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-57Pt3r1.pdf)的密钥大小. 缺省情况下, `ssh-keygen`命令创建一个 1024 位 RSA 密钥. - -您可以使用以下命令创建和配置 RSA 密钥,如果需要,可以使用建议的最小密钥大小`2048`代替: - -``` -ssh-keygen -t rsa -b 2048 -C "email@example.com" -``` - -`-C`标志(带引号的注释,例如电子邮件地址)是标记 SSH 密钥的可选方法. - -您将看到类似于以下内容的响应: - -``` -Generating public/private rsa key pair. -Enter file in which to save the key (/home/user/.ssh/id_rsa): -``` - -要获得指导,请继续执行[常见步骤](#common-steps-for-generating-an-ssh-key-pair) . - -**注意:**如果您具有 7.8 或更低版本的 OpenSSH,请考虑与[编码](#rsa-keys-and-openssh-from-versions-65-to-78)相关的问题. - -### Common steps for generating an SSH key pair[](#common-steps-for-generating-an-ssh-key-pair "Permalink") - -无论是创建[ED25519](#ed25519-ssh-keys)还是创建[RSA](#rsa-ssh-keys)密钥,您都从`ssh-keygen`命令开始. 此时,您将在命令行中看到以下消息(用于 ED25519 键): - -``` -Generating public/private ed25519 key pair. -Enter file in which to save the key (/home/user/.ssh/id_rsa): -``` - -如果您还没有 SSH 密钥对并且没有生成[部署密钥](#deploy-keys) ,请接受建议的文件和目录. 您的 SSH 客户端将使用生成的 SSH 密钥对,而无需其他配置. - -或者,您可以将新的 SSH 密钥对保存在其他位置. 您可以分配您选择的目录和文件名. 您还可以将 SSH 密钥对专用于[特定主机](#working-with-non-default-ssh-key-pair-paths) . - -分配文件以保存 SSH 密钥后,您将有机会为 SSH 密钥设置[密码](https://www.ssh.com/ssh/passphrase/) : - -``` -Enter passphrase (empty for no passphrase): -Enter same passphrase again: -``` - -如果成功,您将看到有关`ssh-keygen`命令将标识和私钥保存在何处的确认. - -需要时,可以使用以下命令更新密码: - -``` -ssh-keygen -p -f /path/to/ssh_key -``` - -### RSA keys and OpenSSH from versions 6.5 to 7.8[](#rsa-keys-and-openssh-from-versions-65-to-78 "Permalink") - -在 OpenSSH 7.8 之前,RSA 密钥的默认公共密钥指纹基于 MD5,因此不安全. - -如果您的 OpenSSH 版本介于 6.5 至 7.8(含)之间,请使用`-o`选项运行`ssh-keygen` ,以更安全的 OpenSSH 格式保存您的私人 SSH 密钥. - -如果您已经具有可用于 GitLab 的 RSA SSH 密钥对,请考虑对其进行升级以使用更安全的密码加密格式. 您可以使用以下命令进行操作: - -``` -ssh-keygen -o -f ~/.ssh/id_rsa -``` - -或者,您可以使用以下命令以更安全的加密格式生成新的 RSA 密钥: - -``` -ssh-keygen -o -t rsa -b 4096 -C "email@example.com" -``` - -**注意:**如`ssh-keygen`手册页所述,ED25519 已将密钥加密为更安全的 OpenSSH 格式. - -## Adding an SSH key to your GitLab account[](#adding-an-ssh-key-to-your-gitlab-account "Permalink") - -现在,您可以将创建的 SSH 密钥复制到您的 GitLab 帐户. 这样做,请按照下列步骤操作: - -1. 将您的**公共** SSH 密钥复制到以文本格式保存信息的位置. 以下选项将 ED25519 键的信息保存到指定操作系统的剪贴板中: - - **macOS:** - - ``` - pbcopy < ~/.ssh/id_ed25519.pub - ``` - - **Linux(需要 xclip 软件包):** - - ``` - xclip -sel clip < ~/.ssh/id_ed25519.pub - ``` - - **Windows 上的 Git Bash:** - - ``` - cat ~/.ssh/id_ed25519.pub | clip - ``` - - 如果您使用的是 RSA 密钥,请相应地进行替换. - -2. 导航到`http://gitlab.com`并登录. -3. 选择右上角的头像,然后单击**设置** -4. Click **SSH 密钥**. -5. 将复制的公共密钥粘贴到" **密钥"**文本框中. -6. 确保您的密钥在" **标题"**文本框中包含描述性名称,例如" *工作笔记本电脑"*或" *家用工作站"* . -7. 在"过期时间"部分下包含密钥的(可选)过期日期. (在[GitLab 12.9 中](https://gitlab.com/gitlab-org/gitlab/-/issues/36243)引入.) -8. 单击**添加键**按钮. - -使用此过程"过期"的 SSH 密钥在 GitLab 工作流程中仍然有效. 由于 GitLab 配置的到期日期不包含在 SSH 密钥本身中,因此您仍然可以根据需要导出公共 SSH 密钥. - -**注意:**如果您手动复制了公共 SSH 密钥,请确保复制了整个密钥,以`ssh-ed25519` (或`ssh-rsa` )开头,并以您的电子邮件地址结尾. - -## Testing that everything is set up correctly[](#testing-that-everything-is-set-up-correctly "Permalink") - -要测试是否正确添加了 SSH 密钥,请在终端中运行以下命令(将`gitlab.com`替换为 GitLab 的实例域): - -``` -ssh -T git@gitlab.com -``` - -The first time you connect to GitLab via SSH, you will be asked to verify the authenticity of the GitLab host that you’re connecting to. For example, when connecting to GitLab.com, answer `yes` to add GitLab.com to the list of trusted hosts: - -``` -The authenticity of host 'gitlab.com (35.231.145.151)' can't be established. -ECDSA key fingerprint is SHA256:HbW3g8zUjNSksFbqTiUWPWg2Bq1x8xdGUrliXFzSnUw. -Are you sure you want to continue connecting (yes/no)? yes -Warning: Permanently added 'gitlab.com' (ECDSA) to the list of known hosts. -``` - -**注意:**对于 GitLab.com,请查阅[SSH 主机密钥指纹](../user/gitlab_com/index.html#ssh-host-keys-fingerprints)一节,以确保您连接到正确的服务器. 例如,您会在链接的部分中看到上面显示的 ECDSA 密钥指纹. - -一旦添加到已知主机列表中,将不再要求您再次验证 GitLab 主机的真实性. 再次运行以上命令,您将只收到*欢迎使用 GitLab 的`@username` !* 信息. - -如果未出现欢迎消息,则可以通过使用以下命令在详细模式下运行`ssh`来解决问题: - -``` -ssh -Tvvv git@gitlab.com -``` - -## Working with non-default SSH key pair paths[](#working-with-non-default-ssh-key-pair-paths "Permalink") - -如果您为 GitLab SSH 密钥对使用了非默认文件路径,请配置 SSH 客户端以指向 GitLab 私有 SSH 密钥. - -要进行这些更改,请运行以下命令: - -``` -eval $(ssh-agent -s) -ssh-add -``` - -现在将这些设置保存到`~/.ssh/config`文件中. 这里显示了两个专用于 GitLab 的 SSH 密钥示例: - -``` -# GitLab.com Host gitlab.com - Preferredauthentications publickey - IdentityFile ~/.ssh/gitlab_com_rsa - -# Private GitLab instance Host gitlab.company.com - Preferredauthentications publickey - IdentityFile ~/.ssh/example_com_rsa -``` - -公用 SSH 密钥对于 GitLab 必须是唯一的,因为它们将绑定到您的帐户. SSH 密钥是通过 SSH 推送代码时唯一的标识符,这就是为什么它需要唯一地映射到单个用户的原因. - -## Per-repository SSH keys[](#per-repository-ssh-keys "Permalink") - -如果要根据正在使用的存储库使用不同的密钥,则可以在存储库中发出以下命令: - -``` -git config core.sshCommand "ssh -o IdentitiesOnly=yes -i ~/.ssh/private-key-filename-for-this-repository -F /dev/null" -``` - -这将不使用 SSH 代理,并且至少需要 Git 2.10. - -## Multiple accounts on a single GitLab instance[](#multiple-accounts-on-a-single-gitlab-instance "Permalink") - -[每个存储库](#per-repository-ssh-keys)方法还适用于在单个 GitLab 实例中使用多个帐户. - -或者,可以直接在`~.ssh/config`为主机分配别名. 如果在`.ssh/config`中的`Host`块之外设置了`IdentityFile` ,则 SSH 和作为扩展的 Git 将无法登录. 这是由于 SSH 组装`IdentityFile`条目的方式,因此不能通过将`IdentitiesOnly`设置为`yes`来更改. `IdentityFile`条目应指向 SSH 密钥对的私钥. - -**注意:**私钥和公用密钥应仅由用户读取. 通过运行以下`chmod 0400 ~/.ssh/`在 Linux 和 macOS 上完成此操作: `chmod 0400 ~/.ssh/`和`chmod 0400 ~/.ssh/` . - -``` -# User1 Account Identity Host - Hostname gitlab.com - PreferredAuthentications publickey - IdentityFile ~/.ssh/ - -# User2 Account Identity Host - Hostname gitlab.com - PreferredAuthentications publickey - IdentityFile ~/.ssh/ -``` - -**注意:**为提高效率和透明度,示例`Host`别名定义为`user_1.gitlab.com`和`user_2.gitlab.com` . 高级配置更难以维护. 使用这种别名使使用其他工具(如`git remote`子命令)时更容易理解. SSH 可以将任何字符串理解为`Host`别名,因此`Tanuki1`和`Tanuki2`尽管提供了很少的上下文指向它们,也可以使用. - -克隆`gitlab`存储库通常如下所示: - -``` -git clone git@gitlab.com:gitlab-org/gitlab.git -``` - -要为`user_1`克隆它,请将`gitlab.com`替换为 SSH 别名`user_1.gitlab.com` : - -``` -git clone git@:gitlab-org/gitlab.git -``` - -使用`git remote`命令修复以前克隆的存储库. - -下面的示例假定远程存储库被别名为`origin` . - -``` -git remote set-url origin git@:gitlab-org/gitlab.git -``` - -## Deploy keys[](#deploy-keys "Permalink") - -阅读[有关部署密钥](../user/project/deploy_keys/index.html)的[文档](../user/project/deploy_keys/index.html) . - -## Applications[](#applications "Permalink") - -### Eclipse[](#eclipse "Permalink") - -如果使用的是[EGit](https://www.eclipse.org/egit/) ,则可以[将 SSH 密钥添加到 Eclipse](https://wiki.eclipse.org/EGit/User_Guide#Eclipse_SSH_Configuration) . - -## SSH on the GitLab server[](#ssh-on-the-gitlab-server "Permalink") - -GitLab 与系统安装的 SSH 守护程序集成,指定一个用户(通常名为`git` )来处理所有访问请求. 通过 SSH 连接到 GitLab 服务器的用户由其 SSH 密钥而不是其用户名标识. - -在 GitLab 服务器上执行的 SSH *客户端*操作将以该用户身份执行. 尽管可以修改此用户的 SSH 配置,例如提供专用 SSH 密钥来验证这些请求,但是这种做法**不受支持** ,并且强烈建议这样做,因为这样做会带来重大的安全风险. - -GitLab 检查过程包括对这种情况的检查,如果您的服务器配置如下,它将引导您进入本节,例如: - -``` -$ gitlab-rake gitlab:check - -Git user has default SSH configuration? ... no - Try fixing it: - mkdir ~/gitlab-check-backup-1504540051 - sudo mv /var/lib/git/.ssh/id_rsa ~/gitlab-check-backup-1504540051 - sudo mv /var/lib/git/.ssh/id_rsa.pub ~/gitlab-check-backup-1504540051 - For more information see: - doc/ssh/README.md in section "SSH on the GitLab server" - Please fix the error above and rerun the checks. -``` - -尽快删除自定义配置. 这些自定义项*明确不受支持,*并且可能随时停止工作. - -### Options for Microsoft Windows[](#options-for-microsoft-windows "Permalink") - -如果您运行的是 Windows 10, [适用于 Linux](https://docs.microsoft.com/en-us/windows/wsl/install-win10)的[Windows 子系统(WSL)](https://docs.microsoft.com/en-us/windows/wsl/install-win10)及其最新的[WSL 2](https://docs.microsoft.com/en-us/windows/wsl/install-win10#update-to-wsl-2)版本,则支持安装不同的 Linux 发行版,其中包括 Git 和 SSH 客户端. - -对于当前版本的 Windows,您还可以通过[Git for Windows](https://gitforwindows.org)安装 Git 和 SSH 客户端. - -替代工具包括: - -* [Cygwin](https://www.cygwin.com) -* [PuttyGen](https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html) - -## Troubleshooting[](#troubleshooting "Permalink") - -如果在 Git 克隆上,系统会提示您输入密码,例如`git@gitlab.com's password:` SSH 设置有问题. - -* 确保您正确生成了 SSH 密钥对,并将公共 SSH 密钥添加到了 GitLab 配置文件 -* 尝试使用`ssh-agent`手动注册您的私有 SSH 密钥,如本文档前面所述 -* 尝试通过运行`ssh -Tv git@example.com`调试连接(将 GitLab 域替换为`example.com` ) \ No newline at end of file diff --git a/docs/403.md b/docs/403.md deleted file mode 100644 index 5fa604d..0000000 --- a/docs/403.md +++ /dev/null @@ -1,104 +0,0 @@ -# GitLab integrations - -> 原文:[https://docs.gitlab.com/ee/integration/README.html](https://docs.gitlab.com/ee/integration/README.html) - -* [Issue trackers](#issue-trackers) -* [Authentication sources](#authentication-sources) -* [Security enhancements](#security-enhancements) -* [Continuous integration](#continuous-integration) -* [Feature enhancements](#feature-enhancements) -* [Integrations](#integrations) -* [Troubleshooting](#troubleshooting) - * [SSL certificate errors](#ssl-certificate-errors) - -# GitLab integrations[](#gitlab-integrations "Permalink") - -GitLab can be integrated with external services for enhanced functionality. - -## Issue trackers[](#issue-trackers "Permalink") - -您可以与 GitLab 问题跟踪器同时使用[外部问题跟踪](external-issue-tracker.html)器,也可以仅使用外部问题跟踪器. - -GitLab 可以与以下外部问题跟踪器集成: - -* Jira -* Redmine -* Bugzilla -* YouTrack - -## Authentication sources[](#authentication-sources "Permalink") - -可以将 GitLab 配置为使用以下身份验证源对访问请求进行身份验证: - -* 启用[Auth0 OmniAuth](auth0.html)提供程序. -* 启用使用[Bitbucket](bitbucket.html)帐户登录. -* 配置 GitLab 以使用[CAS 登录](cas.html) . -* 与[Kerberos](kerberos.html)集成. -* 启用通过[LDAP](ldap.html)登录. -* 启用[OAuth2 提供](oauth_provider.html)程序应用程序创建. -* 使用[OmniAuth](omniauth.html)可以通过 Twitter,GitHub,GitLab.com,Google,Bitbucket,Facebook,Shibboleth,SAML,Crowd,Azure 或 Authentiq ID 启用登录. -* 使用 GitLab 作为[OpenID Connect](openid_connect_provider.html)身份提供者. -* 通过 GitLab OpenID Connect 对[保险柜](vault.html)进行身份验证. -* 将 GitLab 配置为[SAML](saml.html) 2.0 服务提供商. - -## Security enhancements[](#security-enhancements "Permalink") - -GitLab 可以与以下外部服务集成以增强安全性: - -* [Akismet](akismet.html)有助于减少垃圾邮件. -* Google [reCAPTCHA](recaptcha.html)有助于验证新用户. - -manbetx 客户端打不开还提供功能来提高您自己的应用程序的安全性. 有关更多详细信息,请参见[GitLab Secure](../user/application_security/index.html) . - -## Continuous integration[](#continuous-integration "Permalink") - -GitLab 可以与以下外部服务集成以实现持续集成: - -* [Jenkins](jenkins.html) CI. - -## Feature enhancements[](#feature-enhancements "Permalink") - -GitLab 可以集成以下增强功能: - -* 将 GitLab 操作添加到[Gmail 操作按钮](gmail_action_buttons_for_gitlab.html) . -* 配置[PlantUML](../administration/integration/plantuml.html)以使用 AsciiDoc 文档中的图. -* 将合并请求附加到[Trello](trello_power_up.html)卡. -* 启用由[Sourcegraph](sourcegraph.html)支持的集成代码智能. -* 添加[Elasticsearch](elasticsearch.html)进行[Advanced Global Search](../user/search/advanced_global_search.html) , [Advanced System Search](../user/search/advanced_search_syntax.html)和更快的搜索. - -## Integrations[](#integrations "Permalink") - -可以与 Campfire,Flowdock,HipChat,Pivotal Tracker 和 Slack 等服务[集成](../user/project/integrations/overview.html) . - -## Troubleshooting[](#troubleshooting "Permalink") - -### SSL certificate errors[](#ssl-certificate-errors "Permalink") - -当尝试将 GitLab 与使用自签名证书的服务集成时,很可能在应用程序的不同部分(最可能是 Sidekiq)会发生 SSL 证书错误. - -您可以采用两种方法来解决此问题: - -1. 将根证书添加到操作系统的受信任链. -2. 如果使用 Omnibus,则可以将证书添加到 GitLab 的可信证书中. - -**操作系统主要信任链** - -此[资源](https://manuals.gfi.com/en/kerio/connect/content/server-configuration/ssl-certificates/adding-trusted-root-certificates-to-the-server-1605.html)包含将证书添加到主信任链所需的所有信息. - -超级用户的此[答案](https://superuser.com/questions/437330/how-do-you-add-a-certificate-authority-ca-to-ubuntu)也具有相关信息. - -**所有可信任链** - -[将自签名证书或自定义证书颁发机构安装](https://docs.gitlab.com/omnibus/common_installation_problems/README.html)到 Omnibus GitLab. - -将证书连接到主要的受信任证书就足够了,但是在升级过程中它可能会被覆盖: - -``` -cat jira.pem >> /opt/gitlab/embedded/ssl/certs/cacert.pem -``` - -之后,使用以下命令重新启动 GitLab: - -``` -sudo gitlab-ctl restart -``` \ No newline at end of file diff --git a/docs/404.md b/docs/404.md deleted file mode 100644 index e10d3d3..0000000 --- a/docs/404.md +++ /dev/null @@ -1,103 +0,0 @@ -# Git - -> 原文:[https://docs.gitlab.com/ee/topics/git/](https://docs.gitlab.com/ee/topics/git/) - -* [Getting started](#getting-started) - * [Concepts](#concepts) -* [Git tips](#git-tips) -* [Troubleshooting Git](#troubleshooting-git) -* [Branching strategies](#branching-strategies) -* [Advanced use](#advanced-use) -* [API](#api) -* [Git Large File Storage (LFS)](#git-large-file-storage-lfs) - -# Git[](#git "Permalink") - -Git 是一个[免费的开源](https://git-scm.com/about/free-and-open-source)分布式版本控制系统,旨在快速高效地处理从小型项目到大型项目的所有内容. - -[GitLab](https://about.gitlab.com)是用于软件开发的基于 Git 的完全集成平台. 除了 Git 的功能外,GitLab 还具有许多强大的[功能](https://about.gitlab.com/features/)来增强您的[工作流程](https://about.gitlab.com/blog/2016/10/25/gitlab-workflow-an-overview/) . - -我们已经收集了一些资源,可帮助您通过 GitLab 从 Git 中获得最大收益. - -还可以在[Git 网站](https://git-scm.com)上获得更多信息. - -## Getting started[](#getting-started "Permalink") - -以下资源将帮助您开始使用 Git: - -* [Git-ing 从 Git](https://www.youtube.com/watch?v=Ce5nz5n41z4)的视频介绍开始. -* [Git Basics](https://git-scm.com/book/en/v2/Getting-Started-Git-Basics) -* [Git on the Server - GitLab](https://git-scm.com/book/en/v2/Git-on-the-Server-GitLab) -* [How to install Git](how_to_install_git/index.html) -* [Git terminology](../../gitlab-basics/start-using-git.html#git-terminology) -* [Start using Git on the command line](../../gitlab-basics/start-using-git.html) -* [Edit files through the command line](../../gitlab-basics/command-line-commands.html) -* [GitLab Git Cheat Sheet (download)](https://about.gitlab.com/images/press/git-cheat-sheet.pdf) -* Commits: - * [Revert a commit](../../user/project/merge_requests/revert_changes.html#reverting-a-commit) - * [Cherry-picking a commit](../../user/project/merge_requests/cherry_pick_changes.html#cherry-picking-a-commit) - * [Squashing commits](../gitlab_flow.html#squashing-commits-with-rebase) - * [Squash-and-merge](../../user/project/merge_requests/squash_and_merge.html) - * [Signing commits](../../user/project/repository/gpg_signed_commits/index.html) -* [Git stash](../../university/training/topics/stash.html) -* [Git file blame](../../user/project/repository/git_blame.html) -* [Git file history](../../user/project/repository/git_history.html) -* [Git tags](../../university/training/user_training.html#tags) - -### Concepts[](#concepts "Permalink") - -以下是有关版本控制概念的资源: - -* [Git concepts](../../university/training/user_training.html#git-concepts) -* [Why Git is Worth the Learning Curve](https://about.gitlab.com/blog/2017/05/17/learning-curve-is-the-biggest-challenge-developers-face-with-git/) -* [The future of SaaS hosted Git repository pricing](https://about.gitlab.com/blog/2016/05/11/git-repository-pricing/) -* [Git website on version control](https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control) -* [GitLab University presentation about Version Control](https://docs.google.com/presentation/d/16sX7hUrCZyOFbpvnrAFrg6tVO5_yT98IgdAqOmXwBho/edit?usp=sharing) - -## Git tips[](#git-tips "Permalink") - -以下资源可以帮助您提高使用 Git 的效率: - -* GitLab 支持团队收集的[有用的 Git 命令](useful_git_commands.html) . -* [Git Tips & Tricks](https://about.gitlab.com/blog/2016/12/08/git-tips-and-tricks/) -* [Eight Tips to help you work better with Git](https://about.gitlab.com/blog/2015/02/19/8-tips-to-help-you-work-better-with-git/) - -## Troubleshooting Git[](#troubleshooting-git "Permalink") - -如果您在使用 Git 时遇到问题,以下方法可能会有所帮助: - -* [Numerous *undo* possibilities in Git](numerous_undo_possibilities_in_git/index.html) -* 了解一些[Git 故障排除](troubleshooting_git.html)技术 - -## Branching strategies[](#branching-strategies "Permalink") - -* [Feature branch workflow](../../gitlab-basics/feature_branch_workflow.html) -* [Develop on a feature branch](feature_branch_development.html) -* [GitLab Flow](../gitlab_flow.html) -* [Git Branching - Branches in a Nutshell](https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell) -* [Git Branching - Branching Workflows](https://git-scm.com/book/en/v2/Git-Branching-Branching-Workflows) - -## Advanced use[](#advanced-use "Permalink") - -以下是针对那些想充分利用 Git 的人的高级主题: - -* [Server Hooks](../../administration/server_hooks.html) -* [Git Attributes](../../user/project/git_attributes.html) -* Git 子模块: [将 Git 子模块与 GitLab CI 一起使用](../../ci/git_submodules.html#using-git-submodules-with-gitlab-ci) -* [Partial Clone](partial_clone.html) - -## API[](#api "Permalink") - -[Gitignore 模板](../../api/templates/gitignores.html) API 允许来自 GitLab 的与 Git 相关的查询. - -## Git Large File Storage (LFS)[](#git-large-file-storage-lfs "Permalink") - -以下与 Git 大文件存储有关: - -* [Getting Started with Git LFS](https://about.gitlab.com/blog/2017/01/30/getting-started-with-git-lfs-tutorial/) -* [Migrate an existing Git repository with Git LFS](lfs/migrate_to_git_lfs.html) -* [Removing objects from LFS](lfs/index.html#removing-objects-from-lfs) -* [GitLab Git LFS user documentation](lfs/index.html) -* [GitLab Git LFS admin documentation](../../administration/lfs/index.html) -* [Git Annex to Git LFS migration guide](lfs/migrate_from_git_annex_to_git_lfs.html) -* [Towards a production quality open source Git LFS server](https://about.gitlab.com/blog/2015/08/13/towards-a-production-quality-open-source-git-lfs-server/) \ No newline at end of file diff --git a/docs/405.md b/docs/405.md deleted file mode 100644 index 71a8d67..0000000 --- a/docs/405.md +++ /dev/null @@ -1,576 +0,0 @@ -# GitLab.com settings - -> 原文:[https://docs.gitlab.com/ee/user/gitlab_com/](https://docs.gitlab.com/ee/user/gitlab_com/) - -* [SSH host keys fingerprints](#ssh-host-keys-fingerprints) -* [SSH `known_hosts` entries](#ssh-known_hosts-entries) -* [Mail configuration](#mail-configuration) -* [Backups](#backups) -* [Alternative SSH port](#alternative-ssh-port) -* [GitLab Pages](#gitlab-pages) -* [GitLab CI/CD](#gitlab-cicd) -* [Repository size limit](#repository-size-limit) -* [IP range](#ip-range) -* [Maximum number of webhooks](#maximum-number-of-webhooks) -* [Shared Runners](#shared-runners) - * [Linux Shared Runners](#linux-shared-runners) - * [Pre-clone script](#pre-clone-script) - * [`config.toml`](#configtoml) - * [Windows Shared Runners (beta)](#windows-shared-runners-beta) - * [Configuration](#configuration) - * [Example](#example) - * [Limitations and known issues](#limitations-and-known-issues) -* [Sidekiq](#sidekiq) -* [PostgreSQL](#postgresql) -* [Unicorn](#unicorn) -* [GitLab.com-specific rate limits](#gitlabcom-specific-rate-limits) - * [HAProxy API throttle](#haproxy-api-throttle) - * [Rack Attack initializer](#rack-attack-initializer) - * [Protected paths throttle](#protected-paths-throttle) - * [Git and container registry failed authentication ban](#git-and-container-registry-failed-authentication-ban) - * [Admin Area settings](#admin-area-settings) - * [Visibility settings](#visibility-settings) - * [SSH maximum number of connections](#ssh-maximum-number-of-connections) - * [Import/export](#importexport) -* [GitLab.com Logging](#gitlabcom-logging) -* [GitLab.com at scale](#gitlabcom-at-scale) - * [Elastic Cluster](#elastic-cluster) - * [Fluentd](#fluentd) - * [Prometheus](#prometheus) - * [Grafana](#grafana) - * [Sentry](#sentry) - * [Consul](#consul) - * [HAProxy](#haproxy) - -# GitLab.com settings[](#gitlabcom-settings "Permalink") - -在此页面中,您将找到有关[GitLab.com](https://about.gitlab.com/pricing/)上使用的设置的信息. - -## SSH host keys fingerprints[](#ssh-host-keys-fingerprints "Permalink") - -以下是 GitLab.com 的 SSH 主机密钥的指纹. 首次连接到 GitLab.com 存储库时,您将在输出中看到这些键之一. - -| Algorithm | MD5(已弃用) | SHA256 | -| --- | --- | --- | -| DSA(已弃用) | `7a:47:81:3a:ee:89:89:64:33:ca:44:52:3d:30:d4:87` | `p8vZBUOR0XQz6sYiaWSMLmh0t9i8srqYKool/Xfdfqw` | -| ECDSA | `f1:d0:fb:46:73:7a:70:92:5a:ab:5d:ef:43:e2:1c:35` | `HbW3g8zUjNSksFbqTiUWPWg2Bq1x8xdGUrliXFzSnUw` | -| ED25519 | `2e:65:6a:c8:cf:bf:b2:8b:9a:bd:6d:9f:11:5c:12:16` | `eUXGGm1YGsMAS7vkcx6JOJdOGHPem5gQp4taiCfCLB8` | -| RSA | `b6:03:0e:39:97:9e:d0:e7:24:ce:a3:77:3e:01:42:09` | `ROQFvPThGrW4RuWLoL9tq9I9zJ42fK4XywyRtbOz/EQ` | - -## SSH `known_hosts` entries[](#ssh-known_hosts-entries "Permalink") - -将以下内容添加到`.ssh/known_hosts`以跳过 SSH 中的手动指纹确认: - -``` -gitlab.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAfuCHKVTjquxvt6CM6tdG4SLp1Btn/nOeHHE5UOzRdf -gitlab.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCsj2bNKTBSpIYDEGk9KxsGh3mySTRgMtXL583qmBpzeQ+jqCMRgBqB98u3z++J1sKlXHWfM9dyhSevkMwSbhoR8XIq/U0tCNyokEi/ueaBMCvbcTHhO7FcwzY92WK4Yt0aGROY5qX2UKSeOvuP4D6TPqKF1onrSzH9bx9XUf2lEdWT/ia1NEKjunUqu1xOB/StKDHMoX4/OKyIzuS0q/T1zOATthvasJFoPrAjkohTyaDUz2LN5JoH839hViyEG82yB+MjcFV5MU3N1l1QL3cVUCh93xSaua1N85qivl+siMkPGbO5xR/En4iEY6K2XPASUEMaieWVNTRCtJ4S8H+9 -gitlab.com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFSMqzJeV9rUzU4kWitGjeR4PWSa29SPqJ1fVkhtj3Hw9xjLVXVYrU9QlYWrOLXBpQ6KWjbjTDTdDkoohFzgbEY= -``` - -## Mail configuration[](#mail-configuration "Permalink") - -GitLab.com 通过[Mailgun](https://www.mailgun.com/)从`mg.gitlab.com`域发送电子邮件,并拥有自己的专用 IP 地址( `192.237.158.143` ). - -**注意:** `mg.gitlab.com`的 IP 地址可能随时更改. - -## Backups[](#backups "Permalink") - -[See our backup strategy](https://about.gitlab.com/handbook/engineering/infrastructure/production/#backups). - -## Alternative SSH port[](#alternative-ssh-port "Permalink") - -可以通过`git+ssh`的[其他 SSH 端口](https://about.gitlab.com/blog/2016/02/18/gitlab-dot-com-now-supports-an-alternate-git-plus-ssh-port/)访问 GitLab.com. - -| Setting | Value | -| --- | --- | -| `Hostname` | `altssh.gitlab.com` | -| `Port` | `443` | - -以下是`~/.ssh/config`的示例: - -``` -Host gitlab.com - Hostname altssh.gitlab.com - User git - Port 443 - PreferredAuthentications publickey - IdentityFile ~/.ssh/gitlab -``` - -## GitLab Pages[](#gitlab-pages "Permalink") - -以下是[GitLab 页面](https://about.gitlab.com/stages-devops-lifecycle/pages/)的设置. - -| Setting | GitLab.com | Default | -| --- | --- | --- | -| 域名 | `gitlab.io` | - | -| IP 地址 | `35.185.44.232` | - | -| 自定义域支持 | yes | no | -| TLS 证书支持 | yes | no | -| 最大大小(未压缩) | 1G | 100M | - -**注意:** Pages 站点的最大大小由[GitLab CI / CD 中](#gitlab-cicd)的工件最大大小决定. - -## GitLab CI/CD[](#gitlab-cicd "Permalink") - -以下是有关[GitLab CI / CD](../../ci/README.html)的当前设置. - -| Setting | GitLab.com | Default | -| --- | --- | --- | -| 工件最大尺寸(未压缩) | 1G | 100M | -| Artifacts [expiry time](../../ci/yaml/README.html#artifactsexpire_in) | 从 2020 年 6 月 22 日开始,除非另有说明,否则在 30 天后删除(该日期之前创建的工件没有过期). | 除非另有说明,否则 30 天后删除 | -| 预定管道计划 | `*/5 * * * *` | `19 * * * *` | -| [Max jobs in active pipelines](../../administration/instance_limits.html#number-of-jobs-in-active-pipelines) | 免费套餐为`500` ,否则为无限制 | Unlimited | -| [Max pipeline schedules in projects](../../administration/instance_limits.html#number-of-pipeline-schedules) | 免费套餐`10` `50` ,所有付费套餐`50` | Unlimited | -| [Max number of instance level variables](../../administration/instance_limits.html#number-of-instance-level-variables) | `25` | `25` | -| [Scheduled Job Archival](../../user/admin_area/settings/continuous_integration.html#archive-jobs-core-only) | 3 个月 | Never | - -## Repository size limit[](#repository-size-limit "Permalink") - -GitLab.com 已启用以下[帐户限制](../admin_area/settings/account_and_limit_settings.html) . 如果未列出设置,则将其设置为默认值. - -如果您接近或超过存储库大小限制,则可以[使用 Git 减小存储库大小](../project/repository/reducing_the_repo_size_using_git.html) . - -| Setting | GitLab.com | Default | -| --- | --- | --- | -| 资料库大小,包括 LFS | 10 GB | Unlimited | - -**注意:**每个请求通过 Cloudflare 的`git push`和 GitLab 项目导入限制为 5 GB. Git LFS 和文件上传以外的导入不受此限制的影响. - -## IP range[](#ip-range "Permalink") - -GitLab.com 将 IP 范围`34.74.90.64/28`用于其 Web / API `34.74.90.64/28`的流量. 这整个范围仅分配给 GitLab. 您可以期望来自 Webhooks 或存储库镜像的连接来自这些 IP 并允许它们. - -GitLab.com 由 Cloudflare 领导. 对于与 GitLab.com 的传入连接,您可能需要允许 Cloudflare 的 CIDR 块( [IPv4](https://www.cloudflare.com/ips-v4)和[IPv6](https://www.cloudflare.com/ips-v6) ). - -对于 CI / CD 运行程序的传出连接,我们不提供静态 IP 地址. 我们所有的运行程序都已部署到 Google Cloud Platform(GCP)中-通过查找[GCP 的](https://cloud.google.com/compute/docs/faq#where_can_i_find_product_name_short_ip_ranges)所有[IP 地址范围或 CIDR 块,](https://cloud.google.com/compute/docs/faq#where_can_i_find_product_name_short_ip_ranges)可以配置任何基于 IP 的防火墙. - -## Maximum number of webhooks[](#maximum-number-of-webhooks "Permalink") - -限制: - -* 100 个 webhooks 适用于项目. -* 50 个 webhooks 适用于组. - -## Shared Runners[](#shared-runners "Permalink") - -GitLab 提供在 GitLab.com 上托管的 Linux 和 Windows 共享运行程序,用于执行管道. - -**注意:** GitLab 提供的共享运行器**不可**配置. 如果您有特定的配置需求,请考虑[安装自己的 Runner](https://docs.gitlab.com/runner/install/) . - -### Linux Shared Runners[](#linux-shared-runners "Permalink") - -Linux Shared Runners on GitLab.com run in [autoscale mode](https://docs.gitlab.com/runner/configuration/autoscale.html) and are powered by Google Cloud Platform. Autoscaling means reduced waiting times to spin up CI/CD jobs, and isolated VMs for each project, thus maximizing security. They’re free to use for public open source projects and limited to 2000 CI minutes per month per group for private projects. More minutes [can be purchased](../../subscriptions/index.html#purchasing-additional-ci-minutes), if needed. Read about all [GitLab.com plans](https://about.gitlab.com/pricing/). - -您的所有 CI / CD 作业都在具有 3.75GB RAM,CoreOS 和最新 Docker Engine 的[n1-standard-1 实例](https://cloud.google.com/compute/docs/machine-types)上运行. 实例提供 1 个 vCPU 和 25GB 的 HDD 磁盘空间. VM 的默认区域是 US East1\. 每个实例仅用于一项作业,这确保了其他人无法访问其 CI 作业访问系统上剩余的任何敏感数据. - -`gitlab-shared-runners-manager-X.gitlab.com`专用于 GitLab 项目以及它们的社区分支. 它们使用稍大的计算机类型(n1-standard-2),并且具有更大的 SSD 磁盘大小. 它们将不会运行未加标签的作业,并且与共享赛跑者的一般团队不同,这些实例最多可重复使用 40 次. - -由 GitLab.com( `shared-runners-manager-X.gitlab.com` )上的共享 Runner 处理的作业**将在 3 小时后**超时,无论项目中配置的超时时间如何. 检查问题[4010](https://gitlab.com/gitlab-com/infrastructure/-/issues/4010)和[4070,](https://gitlab.com/gitlab-com/infrastructure/-/issues/4070)以供参考. - -以下是共享的"跑步者"设置. - -| Setting | GitLab.com | Default | -| --- | --- | --- | -| [GitLab Runner](https://gitlab.com/gitlab-org/gitlab-runner) | [Runner versions dashboard](https://dashboards.gitlab.com/d/000000159/ci?from=now-1h&to=now&refresh=5m&orgId=1&panelId=12&fullscreen&theme=light) | - | -| Executor | `docker+machine` | - | -| 默认 Docker 映像 | `ruby:2.5` | - | -| `privileged` (run [Docker in Docker](https://hub.docker.com/_/docker/)) | `true` | `false` | - -#### Pre-clone script[](#pre-clone-script "Permalink") - -在 Runner 尝试运行`git init`和`git fetch`下载 GitLab 存储库之前,GitLab.com 上的 Linux Shared Runner 提供了一种在 CI 作业中运行命令的方法. [`pre_clone_script`](https://docs.gitlab.com/runner/configuration/advanced-configuration.html)可用于: - -* 用存储库数据播种构建目录 -* 向服务器发送请求 -* 从 CDN 下载资产 -* `git init`之前必须运行的任何其他命令 - -要使用此功能,请定义一个包含 bash 脚本的[CI / CD 变量](../../ci/variables/README.html#create-a-custom-variable-in-the-ui) `CI_PRE_CLONE_SCRIPT` . - -[本示例](../../development/pipelines.html#pre-clone-step)演示了如何使用预克隆步骤为构建目录添加种子. - -#### `config.toml`[](#configtoml "Permalink") - -我们的`config.toml`的完整内容是: - -**注意:**非公开的设置显示为`X` - -**Google Cloud Platform** - -``` -concurrent = X -check_interval = 1 -metrics_server = "X" -sentry_dsn = "X" - -[[runners]] - name = "docker-auto-scale" - request_concurrency = X - url = "https://gitlab.com/" - token = "SHARED_RUNNER_TOKEN" - pre_clone_script = "eval \"$CI_PRE_CLONE_SCRIPT\"" - executor = "docker+machine" - environment = [ - "DOCKER_DRIVER=overlay2", - "DOCKER_TLS_CERTDIR=" - ] - limit = X - [runners.docker] - image = "ruby:2.5" - privileged = true - volumes = [ - "/certs/client", - "/dummy-sys-class-dmi-id:/sys/class/dmi/id:ro" # Make kaniko builds work on GCP. - ] - [runners.machine] - IdleCount = 50 - IdleTime = 3600 - OffPeakPeriods = ["* * * * * sat,sun *"] - OffPeakTimezone = "UTC" - OffPeakIdleCount = 15 - OffPeakIdleTime = 3600 - MaxBuilds = 1 # For security reasons we delete the VM after job has finished so it's not reused. - MachineName = "srm-%s" - MachineDriver = "google" - MachineOptions = [ - "google-project=PROJECT", - "google-disk-size=25", - "google-machine-type=n1-standard-1", - "google-username=core", - "google-tags=gitlab-com,srm", - "google-use-internal-ip", - "google-zone=us-east1-d", - "engine-opt=mtu=1460", # Set MTU for container interface, for more information check https://gitlab.com/gitlab-org/gitlab-runner/-/issues/3214#note_82892928 - "google-machine-image=PROJECT/global/images/IMAGE", - "engine-opt=ipv6", # This will create IPv6 interfaces in the containers. - "engine-opt=fixed-cidr-v6=fc00::/7", - "google-operation-backoff-initial-interval=2" # Custom flag from forked docker-machine, for more information check https://github.com/docker/machine/pull/4600 - ] - [runners.cache] - Type = "gcs" - Shared = true - [runners.cache.gcs] - CredentialsFile = "/path/to/file" - BucketName = "bucket-name" -``` - -### Windows Shared Runners (beta)[](#windows-shared-runners-beta "Permalink") - -Windows Shared Runners 当前处于[beta 中](https://about.gitlab.com/handbook/product/#beta) ,不应用于生产工作负载. - -在测试版期间, [共享运行程序管道配额](../admin_area/settings/continuous_integration.html#shared-runners-pipeline-minutes-quota-starter-only)将以与 Linux Runners 相同的方式应用于组和项目. 如本[相关问题所述](https://gitlab.com/gitlab-org/gitlab/-/issues/30834) ,当 beta 时期结束时,这可能会改变. - -通过在 Google Cloud Platform 上启动虚拟机,GitLab.com 上的 Windows Shared Runners 可以自动自动缩放. 此解决方案使用 GitLab 为[自定义执行](https://docs.gitlab.com/runner/executors/custom.html) [程序](https://gitlab.com/gitlab-org/ci-cd/custom-executor-drivers/autoscaler/tree/master/docs/readme.md)开发的新[自动缩放驱动程序](https://gitlab.com/gitlab-org/ci-cd/custom-executor-drivers/autoscaler/tree/master/docs/readme.md) . Windows 共享运行程序在具有 2 个 vCPU 和 7.5GB RAM 的`n1-standard-2`实例上执行 CI / CD 作业. 您可以在[软件包文档中](https://gitlab.com/gitlab-org/ci-cd/shared-runners/images/gcp/windows-containers/blob/master/cookbooks/preinstalled-software/README.md)找到可用的 Windows 软件包的完整列表. - -我们希望不断进行迭代,以使 Windows Shared Runners 处于稳定状态并[普遍可用](https://about.gitlab.com/handbook/product/#generally-available-ga) . 您可以在[相关的史诗中](https://gitlab.com/groups/gitlab-org/-/epics/2162)按照我们的工作朝着这个目标迈进. - -#### Configuration[](#configuration "Permalink") - -The full contents of our `config.toml` are: - -**注意:**非公开的设置显示为`X` - -``` -concurrent = X -check_interval = 3 - -[[runners]] - name = "windows-runner" - url = "https://gitlab.com/" - token = "TOKEN" - executor = "custom" - builds_dir = "C:\\GitLab-Runner\\builds" - cache_dir = "C:\\GitLab-Runner\\cache" - shell = "powershell" - [runners.custom] - config_exec = "C:\\GitLab-Runner\\autoscaler\\autoscaler.exe" - config_args = ["--config", "C:\\GitLab-Runner\\autoscaler\\config.toml", "custom", "config"] - prepare_exec = "C:\\GitLab-Runner\\autoscaler\\autoscaler.exe" - prepare_args = ["--config", "C:\\GitLab-Runner\\autoscaler\\config.toml", "custom", "prepare"] - run_exec = "C:\\GitLab-Runner\\autoscaler\\autoscaler.exe" - run_args = ["--config", "C:\\GitLab-Runner\\autoscaler\\config.toml", "custom", "run"] - cleanup_exec = "C:\\GitLab-Runner\\autoscaler\\autoscaler.exe" - cleanup_args = ["--config", "C:\\GitLab-Runner\\autoscaler\\config.toml", "custom", "cleanup"] -``` - -我们的`autoscaler/config.toml`的完整内容是: - -``` -Provider = "gcp" -Executor = "winrm" -OS = "windows" -LogLevel = "info" -LogFormat = "text" -LogFile = "C:\\GitLab-Runner\\autoscaler\\autoscaler.log" -VMTag = "windows" - -[GCP] - ServiceAccountFile = "PATH" - Project = "some-project-df9323" - Zone = "us-east1-c" - MachineType = "n1-standard-2" - Image = "IMAGE" - DiskSize = 50 - DiskType = "pd-standard" - Subnetwork = "default" - Network = "default" - Tags = ["TAGS"] - Username = "gitlab_runner" - -[WinRM] - MaximumTimeout = 3600 - ExecutionMaxRetries = 0 - -[ProviderCache] - Enabled = true - Directory = "C:\\GitLab-Runner\\autoscaler\\machines" -``` - -#### Example[](#example "Permalink") - -下面是一个简单的`.gitlab-ci.yml`文件,以显示如何开始使用 Windows Shared Runners: - -``` -.shared_windows_runners: - tags: - - shared-windows - - windows - - windows-1809 - -stages: - - build - - test - -before_script: - - Set-Variable -Name "time" -Value (date -Format "%H:%m") - - echo ${time} - - echo "started by ${GITLAB_USER_NAME}" - -build: - extends: - - .shared_windows_runners - stage: build - script: - - echo "running scripts in the build job" - -test: - extends: - - .shared_windows_runners - stage: test - script: - - echo "running scripts in the test job" -``` - -#### Limitations and known issues[](#limitations-and-known-issues "Permalink") - -* [Beta 定义中](https://about.gitlab.com/handbook/product/#beta)提到的所有限制. -* 新 Windows VM 的平均配置时间为 5 分钟. 这意味着在测试期间,您可能会注意到 Windows Shared Runner 机群上的构建开始时间变慢. 在将来的版本中,我们将更新自动缩放器以启用虚拟机的预配置. 这将大大减少在 Windows 机群上配置 VM 所花费的时间. 您可以按照[相关问题进行操作](https://gitlab.com/gitlab-org/ci-cd/custom-executor-drivers/autoscaler/-/issues/32) . -* Windows Shared Runner 舰队可能偶尔不可用进行维护或更新. -* Windows Shared Runner 虚拟机实例不使用 GitLab Docker 执行器. 这意味着您将无法在管道配置中指定[`image`](../../ci/yaml/README.html#image)或[`services`](../../ci/yaml/README.html#services) . -* 对于 Beta 版本,我们在基本 VM 映像中包含了一组软件包. 如果您的 CI 作业需要此列表中未包含的其他软件,那么您将需要在[`before_script`](../../ci/yaml/README.html#before_script-and-after_script)或[`script`](../../ci/yaml/README.html#script)添加安装命令以安装所需的软件. 请注意,每个作业都在新的 VM 实例上运行,因此需要为管道中的每个作业重复安装其他软件包. -* 作业在等待状态中的停留时间可能比 Linux 共享运行器更长. -* 我们有可能引入重大更改,这将需要更新使用 Windows Shared Runner 组件的管道. - -## Sidekiq[](#sidekiq "Permalink") - -GitLab.com 使用参数`--timeout=4 --concurrency=4`和以下环境变量运行[Sidekiq](https://sidekiq.org) : - -| Setting | GitLab.com | Default | -| --- | --- | --- | -| `SIDEKIQ_DAEMON_MEMORY_KILLER` | - | - | -| `SIDEKIQ_MEMORY_KILLER_MAX_RSS` | `2000000` | `2000000` | -| `SIDEKIQ_MEMORY_KILLER_HARD_LIMIT_RSS` | - | - | -| `SIDEKIQ_MEMORY_KILLER_CHECK_INTERVAL` | - | `3` | -| `SIDEKIQ_MEMORY_KILLER_GRACE_TIME` | - | `900` | -| `SIDEKIQ_MEMORY_KILLER_SHUTDOWN_WAIT` | - | `30` | -| `SIDEKIQ_LOG_ARGUMENTS` | `1` | - | - -**注意:**在 Sidekiq 导入节点和 Sidekiq 导出节点上, `SIDEKIQ_MEMORY_KILLER_MAX_RSS`设置为`16000000` . - -## PostgreSQL[](#postgresql "Permalink") - -GitLab.com being a fairly large installation of GitLab means we have changed various PostgreSQL settings to better suit our needs. For example, we use streaming replication and servers in hot-standby mode to balance queries across different database servers. - -GitLab.com 特定设置(及其默认设置)的列表如下: - -| Setting | GitLab.com | Default | -| --- | --- | --- | -| `archive_command` | `/usr/bin/envdir /etc/wal-e.d/env /opt/wal-e/bin/wal-e wal-push %p` | empty | -| `archive_mode` | on | off | -| `autovacuum_analyze_scale_factor` | 0.01 | 0.01 | -| `autovacuum_max_workers` | 6 | 3 | -| `autovacuum_vacuum_cost_limit` | 1000 | -1 | -| `autovacuum_vacuum_scale_factor` | 0.01 | 0.02 | -| `checkpoint_completion_target` | 0.7 | 0.9 | -| `checkpoint_segments` | 32 | 10 | -| `effective_cache_size` | 338688MB | 基于可用内存量 | -| `hot_standby` | on | off | -| `hot_standby_feedback` | on | off | -| `log_autovacuum_min_duration` | 0 | -1 | -| `log_checkpoints` | on | off | -| `log_line_prefix` | `%t [%p]: [%l-1]` | empty | -| `log_min_duration_statement` | 1000 | -1 | -| `log_temp_files` | 0 | -1 | -| `maintenance_work_mem` | 2048MB | 16 兆字节 | -| `max_replication_slots` | 5 | 0 | -| `max_wal_senders` | 32 | 0 | -| `max_wal_size` | 5GB | 1GB | -| `shared_buffers` | 112896MB | 基于可用内存量 | -| `shared_preload_libraries` | pg_stat_statements | empty | -| `shmall` | 30146560 | 基于服务器的功能 | -| `shmmax` | 123480309760 | 基于服务器的功能 | -| `wal_buffers` | 16MB | -1 | -| `wal_keep_segments` | 512 | 10 | -| `wal_level` | replica | minimal | -| `statement_timeout` | 15s | 60s | -| `idle_in_transaction_session_timeout` | 60s | 60s | - -其中一些设置正在调整过程中. 例如, `shared_buffers`的值很高,因此我们正在考虑对其进行调整. 有关此特定更改的更多信息,请参见[https://gitlab.com/gitlab-com/infrastructure/-/issues/1555](https://gitlab.com/gitlab-com/infrastructure/-/issues/1555) . 可以在[https://gitlab.com/gitlab-com/infrastructure/-/issues?scope=all&utf8=✓&state=opened&label_name[]=database&label_name[]=change](https://gitlab.com/gitlab-com/infrastructure/-/issues?scope=all&utf8=✓&state=opened&label_name[]=database&label_name[]=change)找到最新的建议更改列表. - -## Unicorn[](#unicorn "Permalink") - -GitLab.com 调整了[独角兽杀手级](https://rubygems.org/gems/unicorn-worker-killer)宝石的内存限制. - -基本默认值: - -* `memory_limit_min` = 750MiB -* `memory_limit_max` = 1024MiB - -Web 前端: - -* `memory_limit_min` = 1024MiB -* `memory_limit_max` = 1280MiB - -## GitLab.com-specific rate limits[](#gitlabcom-specific-rate-limits "Permalink") - -**注意:**有关管理员文档,请参阅[速率限制](../../security/rate_limits.html) . - -当 GitLab.com 从单个 IP 地址接收到异常流量时,通常会发生 IP 阻止,系统根据速率限制设置将其视为潜在恶意软件. 在异常流量停止后,IP 地址将根据阻止类型自动释放,如下所述. - -如果您对 GitLab.com 的所有请求均收到`403 Forbidden`错误,请检查是否有任何自动流程可能触发了阻止. 要获得帮助,请与[GitLab 支持人员](https://support.gitlab.com/hc/en-us)联系,以获取详细信息,例如受影响的 IP 地址. - -### HAProxy API throttle[](#haproxy-api-throttle "Permalink") - -对于每个 IP 地址每秒超过 10 个请求的 API 请求,GitLab.com 会以 HTTP 状态代码`429`进行响应. - -所有 API 请求均包含以下示例标头: - -``` -RateLimit-Limit: 600 -RateLimit-Observed: 6 -RateLimit-Remaining: 594 -RateLimit-Reset: 1563325137 -RateLimit-ResetTime: Wed, 17 Jul 2019 00:58:57 GMT -``` - -Source: - -* 在[GitLab.com 的当前 HAProxy 设置中](https://gitlab.com/gitlab-cookbooks/gitlab-haproxy/blob/master/attributes/default.rb)搜索`rate_limit_http_rate_per_minute`和`rate_limit_sessions_per_second` . - -### Rack Attack initializer[](#rack-attack-initializer "Permalink") - -[机架攻击](../../security/rack_attack.html)实施的速率限制的详细信息. - -#### Protected paths throttle[](#protected-paths-throttle "Permalink") - -GitLab.com 以 HTTP 状态代码`429`响应在每个 IP 地址每**分钟**超过 10 个请求的受保护路径上的 POST 请求. - -请参阅下面的源,了解哪些路径受保护. 这包括用户创建,用户确认,用户登录和密码重置. - -此标头包含在对阻止的请求的响应中: - -``` -Retry-After: 60 -``` - -有关更多详细信息,请参见[受保护的路径](../admin_area/settings/protected_paths.html) . - -#### Git and container registry failed authentication ban[](#git-and-container-registry-failed-authentication-ban "Permalink") - -如果在 3 分钟内从一个 IP 地址收到 30 个失败的身份验证请求,则 GitLab.com 会以 HTTP 状态代码`403`响应 1 小时. - -这仅适用于 Git 请求和容器注册表( `/jwt/auth` )请求(组合). - -此限制: - -* 由成功认证的请求重置. 例如,29 个失败的身份验证请求后跟 1 个成功的请求,然后再有 29 个失败的身份验证请求不会触发禁止. -* 不适用于`gitlab-ci-token`认证的 JWT 请求. - -没有提供响应头. - -### Admin Area settings[](#admin-area-settings "Permalink") - -GitLab.com: - -* [将原始端点的速率限制](../../user/admin_area/settings/rate_limits_on_raw_endpoints.html)设置为默认值. -* 没有启用用户和 IP 速率限制设置. - -### Visibility settings[](#visibility-settings "Permalink") - -在 GitLab.com 上,自 GitLab 12.2(2019 年 7 月)起创建的项目,组和代码段[在 GitLab.com 上禁用](https://gitlab.com/gitlab-org/gitlab/-/issues/12388)了[**内部**可见性](../../public_access/public_access.html#internal-projects)设置. - -### SSH maximum number of connections[](#ssh-maximum-number-of-connections "Permalink") - -GitLab.com 通过使用[MaxStartups 设置](http://man.openbsd.org/sshd_config.5#MaxStartups)来定义并发,未经[身份](http://man.openbsd.org/sshd_config.5#MaxStartups)验证的 SSH 连接的最大数量. 如果同时发生的连接数超过了允许的最大连接数,则会将其丢弃,并且用户会收到[`ssh_exchange_identification`错误](../../topics/git/troubleshooting_git.html#ssh_exchange_identification-error) . - -### Import/export[](#importexport "Permalink") - -为了避免滥用,对项目和组的导入,导出和导出下载进行了速率限制. 有关详细信息,请参见[项目导入/导出速率限制](../../user/project/settings/import_export.html#rate-limits)和[组导入/导出速率限制](../../user/group/settings/import_export.html#rate-limits) . - -## GitLab.com Logging[](#gitlabcom-logging "Permalink") - -我们使用[Fluentd](https://gitlab.com/gitlab-com/runbooks/tree/master/logging/doc#fluentd)解析日志. Fluentd 将我们的日志发送到 Stackdriver [Logging](https://gitlab.com/gitlab-com/runbooks/tree/master/logging/doc#stackdriver)和[Cloud Pub / Sub](https://gitlab.com/gitlab-com/runbooks/tree/master/logging/doc#cloud-pubsub) . Stackdriver 用于将日志长期存储在 Google Cold Storage(GCS)中. Cloud Pub / Sub 用于使用[pubsubbeat](https://gitlab.com/gitlab-com/runbooks/tree/master/logging/doc#pubsubbeat-vms)将日志转发到[Elastic 集群](https://gitlab.com/gitlab-com/runbooks/tree/master/logging/doc#elastic) . - -您可以在我们的运行手册中查看更多信息,例如: - -* A [detailed list of what we’re logging](https://gitlab.com/gitlab-com/runbooks/-/tree/master/docs/logging#what-are-we-logging) -* Our [current log retention policies](https://gitlab.com/gitlab-com/runbooks/-/tree/master/docs/logging#retention) -* A [diagram of our logging infrastructure](https://gitlab.com/gitlab-com/runbooks/-/tree/master/docs/logging#logging-infrastructure-overview) - -## GitLab.com at scale[](#gitlabcom-at-scale "Permalink") - -In addition to the GitLab Enterprise Edition Omnibus install, GitLab.com uses the following applications and settings to achieve scale. All settings are publicly available at [chef cookbooks](https://gitlab.com/gitlab-cookbooks). - -### Elastic Cluster[](#elastic-cluster "Permalink") - -我们使用 Elasticsearch 和 Kibana 作为我们的监控解决方案的一部分: - -* [`gitlab-cookbooks` / `gitlab-elk` · GitLab](https://gitlab.com/gitlab-cookbooks/gitlab-elk) -* [`gitlab-cookbooks` / `gitlab_elasticsearch` · GitLab](https://gitlab.com/gitlab-cookbooks/gitlab_elasticsearch) - -### Fluentd[](#fluentd "Permalink") - -我们使用 Fluentd 统一我们的 GitLab 日志: - -* [`gitlab-cookbooks` / `gitlab_fluentd` · GitLab](https://gitlab.com/gitlab-cookbooks/gitlab_fluentd) - -### Prometheus[](#prometheus "Permalink") - -Prometheus 完成了我们的监视堆栈: - -* [`gitlab-cookbooks` / `gitlab-prometheus` · GitLab](https://gitlab.com/gitlab-cookbooks/gitlab-prometheus) - -### Grafana[](#grafana "Permalink") - -为了可视化监视数据: - -* [`gitlab-cookbooks` / `gitlab-grafana` · GitLab](https://gitlab.com/gitlab-cookbooks/gitlab-grafana) - -### Sentry[](#sentry "Permalink") - -开源错误跟踪: - -* [`gitlab-cookbooks` / `gitlab-sentry` · GitLab](https://gitlab.com/gitlab-cookbooks/gitlab-sentry) - -### Consul[](#consul "Permalink") - -服务发现: - -* [`gitlab-cookbooks` / `gitlab_consul` · GitLab](https://gitlab.com/gitlab-cookbooks/gitlab_consul) - -### HAProxy[](#haproxy "Permalink") - -高性能 TCP / HTTP 负载均衡器: - -* [`gitlab-cookbooks` / `gitlab-haproxy` · GitLab](https://gitlab.com/gitlab-cookbooks/gitlab-haproxy) \ No newline at end of file diff --git a/docs/406.md b/docs/406.md deleted file mode 100644 index 3fabd96..0000000 --- a/docs/406.md +++ /dev/null @@ -1,338 +0,0 @@ -# Infrastructure as code with Terraform and GitLab - -> 原文:[https://docs.gitlab.com/ee/user/infrastructure/index.html](https://docs.gitlab.com/ee/user/infrastructure/index.html) - -* [Motivation](#motivation) -* [GitLab managed Terraform State](#gitlab-managed-terraform-state) -* [Permissions for using Terraform](#permissions-for-using-terraform) -* [Get started using local development](#get-started-using-local-development) -* [Get started using GitLab CI](#get-started-using-gitlab-ci) -* [Configure the backend](#configure-the-backend) -* [Example project](#example-project) -* [Output Terraform Plan information into a merge request](#output-terraform-plan-information-into-a-merge-request) - * [Example `.gitlab-ci.yaml` file](#example-gitlab-ciyaml-file) - * [Multiple Terraform Plan reports](#multiple-terraform-plan-reports) - -# Infrastructure as code with Terraform and GitLab[](#infrastructure-as-code-with-terraform-and-gitlab "Permalink") - -## Motivation[](#motivation "Permalink") - -GitLab 中的 Terraform 集成功能使您的 GitOps /基础设施即代码(IaC)工作流能够与 GitLab 的身份验证和授权结合在一起. 这些功能着重于降低团队采用 Terraform,在 GitLab 中有效协作以及支持 Terraform 最佳实践的准入门槛. - -## GitLab managed Terraform State[](#gitlab-managed-terraform-state "Permalink") - -在 GitLab 13.0 中[引入](https://gitlab.com/groups/gitlab-org/-/epics/2673) . - -[Terraform 远程后端](https://www.terraform.io/docs/backends/index.html)使您可以将状态文件存储在远程共享存储中. GitLab 使用[Terraform HTTP 后端](https://www.terraform.io/docs/backends/types/http.html)将状态文件安全地存储在本地存储(默认)或[您选择的远程存储中](../../administration/terraform_state.html) . - -由 GitLab 管理的 Terraform 状态后端可以轻松安全地存储 Terraform 状态,并使您免于设置其他远程资源(如 Amazon S3 或 Google Cloud Storage). 其功能包括: - -* 在传输和静止时都支持状态文件的加密. -* 锁定和解锁状态. -* 远程 Terraform 计划并执行. - -要开始使用 GitLab 管理的 Terraform State,有两种不同的选择: - -* [Use a local machine](#get-started-using-local-development). -* [Use GitLab CI](#get-started-using-gitlab-ci). - -## Permissions for using Terraform[](#permissions-for-using-terraform "Permalink") - -在 GitLab 版本 13.1 中,需要[维护者访问权限](../permissions.html)才能使用 GitLab 管理的 Terraform 状态后端. 在 GitLab 版本 13.2 和更高版本中,需要[维护者访问权限](../permissions.html)才能锁定,解锁和写入状态(使用`terraform apply` ),而需要[开发人员访问权限](../permissions.html)来读取状态(使用`terraform plan -lock=false` ). - -## Get started using local development[](#get-started-using-local-development "Permalink") - -如果您计划仅运行`terraform plan`并从本地计算机上执行`terraform plan` `terraform apply`命令,这是一种入门的简单方法: - -1. 在您的 GitLab 实例上创建项目. -2. 导航 **设置>常规,**并记下您的**项目名称**和**项目 ID** . -3. Define the Terraform backend in your Terraform project to be: - - ``` - terraform { - backend "http" { - } - } - ``` - -4. 使用`api`范围创建一个[个人访问令牌](../profile/personal_access_tokens.html) . - -5. 在本地计算机上,运行`terraform init` ,传入以下选项,并用相关值替换`` , `` , ``和`` . 此命令将初始化 Terraform 状态,并将该状态存储在 GitLab 项目中. 这个例子使用`gitlab.com` : - - ``` - terraform init \ - -backend-config="address=https://gitlab.com/api/v4/projects//terraform/state/" \ - -backend-config="lock_address=https://gitlab.com/api/v4/projects//terraform/state//lock" \ - -backend-config="unlock_address=https://gitlab.com/api/v4/projects//terraform/state//lock" \ - -backend-config="username=" \ - -backend-config="password=" \ - -backend-config="lock_method=POST" \ - -backend-config="unlock_method=DELETE" \ - -backend-config="retry_wait_min=5" - ``` - -Next, [configure the backend](#configure-the-backend). - -## Get started using GitLab CI[](#get-started-using-gitlab-ci "Permalink") - -如果您不想开始本地开发,也可以使用 GitLab CI 来运行`terraform plan`和`terraform apply`命令. - -Next, [configure the backend](#configure-the-backend). - -## Configure the backend[](#configure-the-backend "Permalink") - -执行`terraform init`命令后,必须配置 Terraform 后端和 CI YAML 文件: - -1. 在 Terraform 项目中,通过在`.tf`文件(例如`backend.tf` )中添加以下代码块来定义远程后端,以定义[HTTP](https://www.terraform.io/docs/backends/types/http.html)后端: - - ``` - terraform { - backend "http" { - } - } - ``` - -2. 在项目存储库的根目录中,配置`.gitlab-ci.yaml`文件. 本示例使用一个包含`gitlab-terraform`帮助器的预构建图像. 有关受支持的 Terraform 版本,请参见[GitLab Terraform Images 项目](https://gitlab.com/gitlab-org/terraform-images) . - - ``` - image: registry.gitlab.com/gitlab-org/terraform-images/stable:latest - ``` - -3. 在`.gitlab-ci.yaml`文件中,定义一些环境变量以简化开发. 在此示例中, `TF_ROOT`是必须执行 Terraform 命令的目录, `TF_ADDRESS`是该管道在其上运行的 GitLab 实例上的状态的 URL,并且`TF_ADDRESS`的最后路径段是 Terraform 状态的名称. 项目可能具有多个状态,并且该名称是任意的,因此在此示例中,我们将其设置为项目的名称,并确保使用基于缓存的缓存键在管道中的作业之间缓存`.terraform`目录.州名: - - ``` - variables: - TF_ROOT: ${CI_PROJECT_DIR}/environments/cloudflare/production - TF_ADDRESS: ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/terraform/state/${CI_PROJECT_NAME} - - cache: - key: ${CI_PROJECT_NAME} - paths: - - ${TF_ROOT}/.terraform - ``` - -4. 在`before_script` ,更改为`TF_ROOT` : - - ``` - before_script: - - cd ${TF_ROOT} - - stages: - - prepare - - validate - - build - - deploy - - init: - stage: prepare - script: - - gitlab-terraform init - - validate: - stage: validate - script: - - gitlab-terraform validate - - plan: - stage: build - script: - - gitlab-terraform plan - - gitlab-terraform plan-json - artifacts: - name: plan - paths: - - ${TF_ROOT}/plan.cache - reports: - terraform: ${TF_ROOT}/plan.json - - apply: - stage: deploy - environment: - name: production - script: - - gitlab-terraform apply - dependencies: - - plan - when: manual - only: - - master - ``` - -5. 将项目推送到 GitLab,这将触发 CI 作业管道. 该管道运行`gitlab-terraform init` , `gitlab-terraform validate`和`gitlab-terraform plan`命令. - -以上`terraform`命令的输出应在作业日志中可见. - -## Example project[](#example-project "Permalink") - -请参阅使用 GitLab 和 Terraform 在自定义 VPC 中部署基本 AWS EC2 的[参考项目](https://gitlab.com/nicholasklick/gitlab-terraform-aws) . - -## Output Terraform Plan information into a merge request[](#output-terraform-plan-information-into-a-merge-request "Permalink") - -使用[GitLab Terraform Report 工件](../../ci/pipelines/job_artifacts.html#artifactsreportsterraform) ,您可以将`terraform plan`运行中的详细信息直接暴露到合并请求小部件中,使您能够查看有关 Terraform 将创建,修改或销毁的资源的统计信息. - -让我们探索如何配置 GitLab Terraform Report 工件. 您可以使用包含上述`gitlab-terraform`帮助器的预构建映像,其中`gitlab-terraform plan-json`输出所需的工件,或者您可以按以下方式手动进行配置: - -1. 为简单起见,让我们定义一些可重用的变量,以允许我们多次引用这些文件: - - ``` - variables: - PLAN: plan.cache - PLAN_JSON: plan.json - ``` - -2. 安装`jq` ,这是一种[轻巧灵活的命令行 JSON 处理器](https://stedolan.github.io/jq/) . -3. 为特定的`jq`命令创建一个别名,该别名解析出我们要从`terraform plan`输出中提取的信息: - - ``` - before_script: - - apk --no-cache add jq - - alias convert_report="jq -r '([.resource_changes[]?.change.actions?]|flatten)|{\"create\":(map(select(.==\"create\"))|length),\"update\":(map(select(.==\"update\"))|length),\"delete\":(map(select(.==\"delete\"))|length)}'" - ``` - - **注意:**在使用 Bash 的发行版(例如,Ubuntu)中, `alias`语句不会在非交互模式下扩展. 如果您的管道失败并显示错误`convert_report: command not found` ,则可以通过在脚本中添加`shopt`命令来明确激活别名扩展: - - ``` - before_script: - - shopt -s expand_aliases - - alias convert_report="jq -r '([.resource_changes[]?.change.actions?]|flatten)|{\"create\":(map(select(.==\"create\"))|length),\"update\":(map(select(.==\"update\"))|length),\"delete\":(map(select(.==\"delete\"))|length)}'" - ``` - -4. 定义运行`terraform plan`和`terraform show`的`script` . 这些命令通过管道`PLAN_JSON`输出并将相关位转换为存储变量`PLAN_JSON` . 此 JSON 用于创建[GitLab Terraform Report 工件](../../ci/pipelines/job_artifacts.html#artifactsreportsterraform) . Terraform 报告获取 Terraform `tfplan.json`文件. 收集的 Terraform 计划报告作为工件上传到 GitLab,并在合并请求中显示. - - ``` - plan: - stage: build - script: - - terraform plan -out=$PLAN - - terraform show --json $PLAN | convert_report > $PLAN_JSON - artifacts: - reports: - terraform: $PLAN_JSON - ``` - - 有关使用预构建图像的完整示例,请参见[Example `.gitlab-ci.yaml`文件](#example-gitlab-ciyaml-file) . - - 有关显示多个报告的示例,请参见[`.gitlab-ci.yaml`多个报告文件](#multiple-terraform-plan-reports) . - -5. 运行管道会在合并请求中显示小部件,如下所示: - - [![Merge Request Terraform widget](img/f3550bb5a4a6074ef46ae27848adc308.png)](img/terraform_plan_widget_v13_2.png) - -6. Clicking the **查看完整日志** button in the widget takes you directly to the plan output present in the pipeline logs: - - [![Terraform plan logs](img/0a8c15f1fa2c2e0a210d9baae9fff372.png)](img/terraform_plan_log_v13_0.png) - -### Example `.gitlab-ci.yaml` file[](#example-gitlab-ciyaml-file "Permalink") - -``` -image: registry.gitlab.com/gitlab-org/terraform-images/stable:latest - -variables: - TF_ROOT: ${CI_PROJECT_DIR}/environments/cloudflare/production - TF_ADDRESS: ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/terraform/state/${CI_PROJECT_NAME} - -cache: - key: ${CI_PROJECT_NAME} - paths: - - ${TF_ROOT}/.terraform - -before_script: - - cd ${TF_ROOT} - -stages: - - prepare - - validate - - build - - deploy - -init: - stage: prepare - script: - - gitlab-terraform init - -validate: - stage: validate - script: - - gitlab-terraform validate - -plan: - stage: build - script: - - gitlab-terraform plan - - gitlab-terraform plan-json - artifacts: - name: plan - paths: - - ${TF_ROOT}/plan.cache - reports: - terraform: ${TF_ROOT}/plan.json - -apply: - stage: deploy - environment: - name: production - script: - - gitlab-terraform apply - dependencies: - - plan - when: manual - only: - - master -``` - -### Multiple Terraform Plan reports[](#multiple-terraform-plan-reports "Permalink") - -从 13.2 开始,您可以在"合并请求"页面上显示多个报告. 报告还将显示`artifact: name:` 有关建议的设置,请参见下面的示例. - -``` -image: - name: registry.gitlab.com/gitlab-org/gitlab-build-images:terraform - entrypoint: - - '/usr/bin/env' - - 'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' - -cache: - paths: - - .terraform - -stages: - - build - -.terraform-plan-generation: - stage: build - variables: - PLAN: plan.tfplan - JSON_PLAN_FILE: tfplan.json - before_script: - - cd ${TERRAFORM_DIRECTORY} - - terraform --version - - terraform init - - apk --no-cache add jq - script: - - terraform validate - - terraform plan -out=${PLAN} - - terraform show --json ${PLAN} | jq -r '([.resource_changes[]?.change.actions?]|flatten)|{"create":(map(select(.=="create"))|length),"update":(map(select(.=="update"))|length),"delete":(map(select(.=="delete"))|length)}' > ${JSON_PLAN_FILE} - artifacts: - reports: - terraform: ${TERRAFORM_DIRECTORY}/${JSON_PLAN_FILE} - -review_plan: - extends: .terraform-plan-generation - variables: - TERRAFORM_DIRECTORY: "review/" - # Review will not include an artifact name - -staging_plan: - extends: .terraform-plan-generation - variables: - TERRAFORM_DIRECTORY: "staging/" - artifacts: - name: Staging - -production_plan: - extends: .terraform-plan-generation - variables: - TERRAFORM_DIRECTORY: "production/" - artifacts: - name: Production -``` \ No newline at end of file diff --git a/docs/407.md b/docs/407.md deleted file mode 100644 index 02c7591..0000000 --- a/docs/407.md +++ /dev/null @@ -1,147 +0,0 @@ -# GitLab keyboard shortcuts - -> 原文:[https://docs.gitlab.com/ee/user/shortcuts.html](https://docs.gitlab.com/ee/user/shortcuts.html) - -* [Global Shortcuts](#global-shortcuts) -* [Project](#project) - * [Issues and Merge Requests](#issues-and-merge-requests) - * [Project Files](#project-files) - * [Web IDE](#web-ide) - * [Repository Graph](#repository-graph) - * [Wiki pages](#wiki-pages) - * [Filtered Search](#filtered-search) -* [Epics](#epics-ultimate) - -# GitLab keyboard shortcuts[](#gitlab-keyboard-shortcuts "Permalink") - -GitLab 有许多有用的键盘快捷键,使您可以更轻松地访问不同的功能. 您可以通过按`?`在 GitLab 本身中看到模式列表键盘快捷键`.` ,或单击右上角"帮助"菜单中的" **键盘快捷键"** . 在[GitLab 12.8 和更高版本中](https://gitlab.com/gitlab-org/gitlab/-/issues/22113) ,可以使用此模式窗口中的" **启用** / **禁用"**切换来禁用键盘快捷键. - -[全局快捷方式](#global-shortcuts)可在 GitLab 的任何区域使用,但是您必须在特定页面中才能使用其他快捷方式,如以下各节所述. - -## Global Shortcuts[](#global-shortcuts "Permalink") - -在 GitLab 的大多数区域中都可以使用这些快捷方式 - -| 键盘快捷键 | Description | -| --- | --- | -| `?` | 显示/隐藏快捷方式参考表. | -| `Shift` + `p` | 转到您的项目页面. | -| `Shift` + `g` | 转到您的网上论坛页面. | -| `Shift` + `a` | 转到"活动"页面. | -| `Shift` + `l` | 转到您的里程碑页面. | -| `Shift` + `s` | 转到您的代码段页面. | -| `s` | 将光标放在问题/合并请求搜索中. | -| `Shift` + `i` | 转到您的问题页面. | -| `Shift` + `m` | 转到"合并请求"页面. | -| `Shift` + `t` | 转到待办事项列表页面. | -| `p` + `b` | 显示/隐藏性能栏. | - -此外,在文本字段中编辑文本时,可以使用以下快捷方式,例如,注释,回复,问题描述和合并请求描述: - -| 键盘快捷键 | Description | -| --- | --- | -| `↑` | 编辑您的最后评论. 您必须在线程下方的空白文本字段中,并且该线程中必须已经至少有一个注释. | -| `⌘` (Mac)/ `Ctrl` + `Shift` + `p` | 在顶部具有" **编写"**和" **预览"**选项卡的文本字段中编辑文本时,切换 Markdown 预览. | - -## Project[](#project "Permalink") - -这些快捷方式可从项目中的任何页面获得. 您必须相对快速地键入它们才能工作,并且它们会将您带到项目中的另一个页面. - -| 键盘快捷键 | Description | -| --- | --- | -| `g` + `p` | 转到项目主页(" **项目">"详细信息"** ). | -| `g` + `v` | 转到项目活动提要(" **项目">"活动"** ). | -| `g` + `r` | 转到项目发布列表(" **项目">"发布"** ). | -| `g` + `f` | 转到[项目文件](#project-files)列表(" **存储库">"文件"** ). | -| `t` | 转到项目文件搜索页面. (" **存储库">"文件"** ,单击" **查找文件"** ). | -| `g` + `c` | 转到项目提交列表( **存储库>提交** ). | -| `g` + `n` | 转到[存储库图](#repository-graph)页面( **Repository> Graph** ). | -| `g` + `d` | Go to repository charts (**分析>存储库分析**). | -| `g` + `i` | 转到项目问题列表( **问题>列表** ). | -| `i` | 转到"新问题"页面(" **问题"** ,单击" **新问题"** ). | -| `g` + `b` | 转到项目问题委员会列表( **问题>委员会** ). | -| `g` + `m` | 转到项目合并请求列表( **合并请求** ). | -| `g` + `j` | 转到 CI / CD 作业列表( **CI / CD>作业** ). | -| `g` + `l` | 转到项目指标(" **操作">"指标"** ). | -| `g` + `e` | 转到项目环境(" **操作">"环境"** ). | -| `g` + `k` | 转到项目 Kubernetes 集群集成页面( **操作> Kubernetes** ). 请注意,您必须至少具有[`maintainer`权限](permissions.html)才能访问此页面. | -| `g` + `s` | 转到项目片段列表( **片段** ). | -| `g` + `w` | 转到项目 Wiki( **Wiki** )(如果已启用). | - -### Issues and Merge Requests[](#issues-and-merge-requests "Permalink") - -这些快捷方式在查看问题和合并请求时可用. - -| 键盘快捷键 | Description | -| --- | --- | -| `e` | 编辑说明. | -| `a` | 更改受让人. | -| `m` | 更改里程碑. | -| `l` | 更改标签. | -| `r` | 开始写评论. 如果选择了任何文本,它将在注释中引用. 不能用于在线程内回复. | -| `n` | 移至下一个未解决的讨论(仅合并请求). | -| `p` | 移至上一个未解决的讨论(仅合并请求). | -| `]` or `j` | 移至下一个文件(仅合并请求). | -| `[` or `k` | 移至上一个文件(仅合并请求). | -| `b` | 复制源分支名称(仅合并请求). | - -### Project Files[](#project-files "Permalink") - -这些快捷方式在浏览项目中的文件时可用(导航至**Repository** > **Files** ): - -| 键盘快捷键 | Description | -| --- | --- | -| `↑` | 向上移动选择. | -| `↓` | 向下移动选择. | -| `enter` | 打开选择. | -| `esc` | 返回文件列表屏幕(仅在搜索文件时," **存储库">"文件",**然后单击" **查找文件"** ). | -| `y` | 转到文件永久链接(仅在查看文件时). | - -### Web IDE[](#web-ide "Permalink") - -使用[Web IDE](project/web_ide/index.html)编辑文件时,可以使用以下快捷方式: - -| 键盘快捷键 | Description | -| --- | --- | -| `⌘` (Mac)/ `Ctrl` + `p` | 搜索,然后打开另一个文件进行编辑. | -| `⌘` (Mac)/ `Ctrl` + `Enter` | 提交(在编辑提交消息时). | - -### Repository Graph[](#repository-graph "Permalink") - -这些快捷方式在查看项目[存储库图形](project/repository/index.html#repository-graph)页面时可用(导航至**Repository> Graph** ): - -| 键盘快捷键 | Description | -| --- | --- | -| `←` or `h` | 向左滚动. | -| `→` or `l` | 向右滚动. | -| `↑` or `k` | 向上滚动. | -| `↓` or `j` | 向下滚动. | -| `Shift` + `↑` or `Shift` + `k` | 滚动到顶部. | -| `Shift` + `↓` or `Shift` + `j` | 滚动到底部. | - -### Wiki pages[](#wiki-pages "Permalink") - -查看[维基页面](project/wiki/index.html)时,可以使用此快捷方式: - -| 键盘快捷键 | Description | -| --- | --- | -| `e` | 编辑 Wiki 页面. | - -### Filtered Search[](#filtered-search "Permalink") - -这些快捷方式在使用[过滤的搜索输入](search/index.html)时可用: - -| 键盘快捷键 | Description | -| --- | --- | -| `⌘` (Mac)+ `⌫` | 清除整个搜索过滤器. | -| `⌥` (Mac)/ `Ctrl` + `⌫` | 一次清除一个令牌. | - -## Epics[](#epics-ultimate "Permalink") - -这些快捷方式在查看[Epics](group/epics/index.html)时可用: - -| 键盘快捷键 | Description | -| --- | --- | -| `r` | 开始写评论. 如果选择了任何文本,它将在注释中引用. 不能用于在线程内回复. | -| `e` | 编辑说明. | -| `l` | 更改标签. | \ No newline at end of file diff --git a/docs/408.md b/docs/408.md deleted file mode 100644 index 671115e..0000000 --- a/docs/408.md +++ /dev/null @@ -1,1277 +0,0 @@ -# GitLab Markdown - -> 原文:[https://docs.gitlab.com/ee/user/markdown.html](https://docs.gitlab.com/ee/user/markdown.html) - -* [GitLab Flavored Markdown (GFM)](#gitlab-flavored-markdown-gfm) - * [Transition from Redcarpet to CommonMark](#transition-from-redcarpet-to-commonmark) - * [GFM extends standard Markdown](#gfm-extends-standard-markdown) -* [New GFM Markdown extensions](#new-gfm-markdown-extensions) - * [Colors](#colors) - * [Diagrams and flowcharts](#diagrams-and-flowcharts) - * [Mermaid](#mermaid) - * [PlantUML](#plantuml) - * [Emoji](#emoji) - * [Front matter](#front-matter) - * [Inline diff](#inline-diff) - * [Math](#math) - * [Special GitLab references](#special-gitlab-references) - * [Task lists](#task-lists) - * [Table of contents](#table-of-contents) - * [Wiki-specific Markdown](#wiki-specific-markdown) - * [Wiki - direct page link](#wiki---direct-page-link) - * [Wiki - direct file link](#wiki---direct-file-link) - * [Wiki - hierarchical link](#wiki---hierarchical-link) - * [Wiki - root link](#wiki---root-link) - * [Embedding metrics in GitLab Flavored Markdown](#embedding-metrics-in-gitlab-flavored-markdown) -* [Standard Markdown and extensions in GitLab](#standard-markdown-and-extensions-in-gitlab) - * [Blockquotes](#blockquotes) - * [Multiline blockquote](#multiline-blockquote) - * [Code spans and blocks](#code-spans-and-blocks) - * [Colored code and syntax highlighting](#colored-code-and-syntax-highlighting) - * [Emphasis](#emphasis) - * [Multiple underscores in words and mid-word emphasis](#multiple-underscores-in-words-and-mid-word-emphasis) - * [Footnotes](#footnotes) - * [Headers](#headers) - * [Header IDs and links](#header-ids-and-links) - * [Horizontal Rule](#horizontal-rule) - * [Images](#images) - * [Videos](#videos) - * [Audio](#audio) - * [Inline HTML](#inline-html) - * [Details and summary](#details-and-summary) - * [Line breaks](#line-breaks) - * [Newlines](#newlines) - * [Links](#links) - * [URL auto-linking](#url-auto-linking) - * [Lists](#lists) - * [Superscripts / Subscripts](#superscripts--subscripts) - * [Tables](#tables) - * [Copy from spreadsheet and paste in Markdown](#copy-from-spreadsheet-and-paste-in-markdown) -* [References](#references) - -# GitLab Markdown[](#gitlab-markdown "Permalink") - -该 Markdown 指南**仅对 GitLab 的内部 Markdown 渲染系统的条目和文件有效** . 它是**无效**的[GitLab 文档,网站](https://s0docs0gitlab0com.icopy.site)或[GitLab 的主要网站](https://about.gitlab.com) ,因为它们都使用[Kramdown](https://kramdown.gettalong.org)作为他们的降价引擎. 文档网站使用扩展的 Kramdown 宝石[GitLab Kramdown](https://gitlab.com/gitlab-org/gitlab_kramdown) . 有关完整的 Kramdown 参考,请查阅《 [GitLab Kramdown 指南》](https://about.gitlab.com/handbook/markdown-guide/) . - -**注意:**我们建议您查看[GitLab 本身提供的](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/user/markdown.md)此文档. - -## GitLab Flavored Markdown (GFM)[](#gitlab-flavored-markdown-gfm "Permalink") - -GitLab 使用" GitLab 风味降价"(GFM). 它以几种方式扩展了[CommonMark 规范](https://spec.commonmark.org/current/) (基于标准 Markdown),以添加其他有用的功能. 它的灵感来自[GitHub Flavored Markdown](https://help.github.com/en/github/writing-on-github/basic-writing-and-formatting-syntax) . - -您可以在以下区域使用 GFM: - -* Comments -* Issues -* 合并要求 -* Milestones -* 代码段(代码段必须以`.md`扩展名命名) -* 维基页面 -* 仓库中的 Markdown 文档 -* Epics - -您还可以在 GitLab 中使用其他 RTF 文件. 您可能必须安装依赖项才能这样做. 请参阅[`gitlab-markup` gem 项目](https://gitlab.com/gitlab-org/gitlab-markup)以获取更多信息. - -### Transition from Redcarpet to CommonMark[](#transition-from-redcarpet-to-commonmark "Permalink") - -从 11.1 开始,GitLab 使用[CommonMark Ruby 库](https://github.com/gjtorikian/commonmarker)对[Markit](https://github.com/gjtorikian/commonmarker)处理 GitLab 系统中的所有新问题,合并请求,注释和其他 Markdown 内容. 从 11.3 开始,存储库中的 Wiki 页面和 Markdown 文件( `*.md` )也将通过 CommonMark 处理. 从 11.8 开始, [Redcarpet Ruby 库](https://github.com/vmg/redcarpet)已被删除,所有问题和注释,包括 11.1 之前的问题和注释,现在都可以使用[CommonMark Ruby Library 处理](https://github.com/gjtorikian/commonmarker) . - -该文档网站的[Markdown 引擎](https://gitlab.com/gitlab-org/gitlab-docs/-/merge_requests/108)已于 2018 年 10 月[从 Redcarpet 迁移到 Kramdown](https://gitlab.com/gitlab-org/gitlab-docs/-/merge_requests/108) . - -您的存储库中可能存在较旧的问题,合并请求或 Markdown 文档,这些文档是使用 GitLab 的 RedCarpet 版本的 Markdown 的细微差别编写的. 由于 CommonMark 使用了稍微严格的语法,因此自我们过渡到 CommonMark 以来,这些文档现在看起来可能会有所不同. - -通常很容易修复. 例如,带嵌套列表的编号列表可能会错误显示: - -``` -1. Chocolate - - dark - - milk -``` - -只需在每个嵌套项目中添加一个空格即可使`-`与顶部列表项的第一个字符对齐(本例中为`C` ): - -``` -1. Chocolate - - dark - - milk -``` - -1. Chocolate - * dark - * milk - -**注意:**我们将在本文档中标记 Redcarpet 和 CommonMark Markdown 之间的任何重大差异. - -如果您有大量的 Markdown 文件,确定它们是否正确显示可能很繁琐. 您可以使用[diff_redcarpet_cmark](https://gitlab.com/digitalmoksha/diff_redcarpet_cmark)工具(不是官方支持的产品)来生成文件列表以及 RedCarpet 和 CommonMark 呈现文件的方式之间的差异. 它可以指示是否需要更改任何内容-通常不需要更改. - -### GFM extends standard Markdown[](#gfm-extends-standard-markdown "Permalink") - -GitLab 充分利用了标准(CommonMark)格式,但还包括对 GitLab 用户有用的附加功能. - -它利用了[Markdown](#new-GFM-markdown-extensions)的[新功能](#new-GFM-markdown-extensions) ,这些[功能](#new-GFM-markdown-extensions)是标准 Markdown 所没有的: - -* [Color “chips” written in HEX, RGB or HSL](#colors) -* [Diagrams and flowcharts](#diagrams-and-flowcharts) -* [Emoji](#emoji) -* [Front matter](#front-matter) -* [Inline diffs](#inline-diff) -* [Math equations and symbols written in LaTeX](#math) -* [Special GitLab references](#special-gitlab-references) -* [Task Lists](#task-lists) -* [Table of Contents](#table-of-contents) -* [Wiki specific Markdown](#wiki-specific-markdown) - -它还具有[扩展的 Markdown 功能](#standard-markdown-and-extensions-in-gitlab) ,而无需更改标准 Markdown 的使用方式: - -| 标准减价 | 在 GitLab 中扩展 Markdown | -| --- | --- | -| [blockquotes](#blockquotes) | [multi-line blockquotes](#multiline-blockquote) | -| [code blocks](#code-spans-and-blocks) | [colored code and syntax highlighting](#colored-code-and-syntax-highlighting) | -| [emphasis](#emphasis) | [multiple underscores in words](#multiple-underscores-in-words-and-mid-word-emphasis) | -| [headers](#headers) | [linkable Header IDs](#header-ids-and-links) | -| [images](#images) | [embedded videos](#videos) and [audio](#audio) | -| [line breaks](#line-breaks) | [more line break control](#newlines) | -| [links](#links) | [automatically linking URLs](#url-auto-linking) | - -## New GFM Markdown extensions[](#new-gfm-markdown-extensions "Permalink") - -### Colors[](#colors "Permalink") - -> 如果未正确呈现,请[在 GitLab 本身中查看它](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/user/markdown.md#colors) . - -可以使用颜色指示器呈现以 HEX,RGB 或 HSL 格式书写的颜色. - -支持的格式(不支持命名的颜色): - -* HEX: ``#RGB[A]`` or ``#RRGGBB[AA]`` -* RGB: ``RGB[A](R, G, B[, A])`` -* HSL: ``HSL[A](H, S, L[, A])`` - -反引号内的颜色后面将带有颜色"碎片": - -``` -- `#F00` -- `#F00A` -- `#FF0000` -- `#FF0000AA` -- `RGB(0,255,0)` -- `RGB(0%,100%,0%)` -- `RGBA(0,255,0,0.3)` -- `HSL(540,70%,50%)` -- `HSLA(540,70%,50%,0.3)` -``` - -* `#F00` -* `#F00A` -* `#FF0000` -* `#FF0000AA` -* `RGB(0,255,0)` -* `RGB(0%,100%,0%)` -* `RGBA(0,255,0,0.3)` -* `HSL(540,70%,50%)` -* `HSLA(540,70%,50%,0.3)` - -### Diagrams and flowcharts[](#diagrams-and-flowcharts "Permalink") - -可以使用[Mermaid](https://s0mermaidjs0github0io.icopy.site/)或[PlantUML](https://plantuml.com)从 GitLab 中的文本生成图表和流程图. - -#### Mermaid[](#mermaid "Permalink") - -在 GitLab 10.3 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/15107) . - -访问[官方页面](https://s0mermaidjs0github0io.icopy.site/)以获取更多详细信息. 如果您不熟悉使用 Mermaid,或者需要帮助来确定 Mermaid 代码中的问题,则[Mermaid Live Editor](https://mermaid-js.github.io/mermaid-live-editor/)是一个有用的工具,可用于在 Mermaid 图中创建和解决问题. - -为了生成图表或流程图,您应该在`mermaid`块内编写文本: - -``` -```mermaid graph TD; - A-->B; - A-->C; - B-->D; - C-->D; -``` -``` - -图 TD; A-> B; A-> C; B-> D; C-> D; - -子图也可以包括: - -``` -```mermaid graph TB - - SubGraph1 --> SubGraph1Flow - subgraph "SubGraph 1 Flow" - SubGraph1Flow(SubNode 1) - SubGraph1Flow -- Choice1 --> DoChoice1 - SubGraph1Flow -- Choice2 --> DoChoice2 - end - - subgraph "Main Graph" - Node1[Node 1] --> Node2[Node 2] - Node2 --> SubGraph1[Jump to SubGraph1] - SubGraph1 --> FinalThing[Final Thing] -end -``` -``` - -图 TB SubGraph1-> SubGraph1Flow 子图" SubGraph 1 Flow" SubGraph1Flow(SubNode 1)SubGraph1Flow-Choice1-> DoChoice1 SubGraph1Flow-Choice2-> DoChoice2 结束子图" Main Graph" Node1 [Node 1]-> Node2 [ Node 2] Node2-> SubGraph1 [Jump to SubGraph1] SubGraph1-> FinalThing [Final Thing]结束 - -#### PlantUML[](#plantuml "Permalink") - -为了使 PlantUML 在 GitLab 中可用,GitLab 管理员需要首先启用它. 在[PlantUML&GitLab 中](../administration/integration/plantuml.html)了解更多[信息](../administration/integration/plantuml.html) . - -### Emoji[](#emoji "Permalink") - -> 如果未正确呈现,请[在 GitLab 本身中查看它](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/user/markdown.md#emoji) . - -``` -Sometimes you want to :monkey: around a bit and add some :star2: to your :speech_balloon:. Well we have a gift for you: - -:zap: You can use emoji anywhere GFM is supported. :v: - -You can use it to point out a :bug: or warn about :speak_no_evil: patches. And if someone improves your really :snail: code, send them some :birthday:. People will :heart: you for that. - -If you're new to this, don't be :fearful:. You can easily join the emoji :family:. All you need to do is to look up one of the supported codes. - -Consult the [Emoji Cheat Sheet](https://www.emojicopy.com) for a list of all supported emoji codes. :thumbsup: -``` - -有时候你想 ![](img/a5023ba03c96276e989dc4dbff1ca8dd.png) 大约添加一些 ![](img/bb7ff3b17ad66e05a64ee12def63524b.png) 给你 ![](img/49d46d08d1ca6c3cd3d0b0ef98472512.png) . 好吧,我们有礼物送给您: - -![](img/13b2b9b44dbf46de0243edc068ecab42.png)您可以在支持 GFM 的任何地方使用表情符号. ![](img/cff0e046ac8eca2d9fde8f13a3365d66.png) - -您可以使用它指出一个 ![](img/7710cb575c3aefd0769c3f6aadb6e879.png) 或警告 ![](img/773702223af81c9872bccd88d63ad3a5.png) 补丁. 如果有人真的改善了你 ![](img/17e23e08ff33b405e039adae1f73cb83.png) 代码,给他们发送一些 ![](img/fd7124974fcca5463d2ce7385bfb700e.png) . 人们会 ![](img/bab86c57be5bd24c1329a7de56df456a.png) 为此. - -如果您是新手,请不要 ![](img/e41f9ac1eea140d12bc83ea9312e71d0.png) . 您可以轻松加入表情符号 ![](img/d5171d012a8ff616032035f890d8dbd5.png) . 您需要做的只是查找受支持的代码之一. - -有关所有受支持的表情符号代码的列表,请查阅[表情符号备忘单](https://www.webfx.com/tools/emoji-cheat-sheet/) . ![](img/d0b9fcc8669d772a04d7d72ccb5a82cc.png) - -> **注意:**以上表情符号示例在本文档中使用了硬编码图像. 在 GitLab 中呈现时,表情符号可能会出现不同,具体取决于所使用的操作系统和浏览器. - -大多数 emoji 表情在 macOS,Windows,iOS,Android 上均受本机支持,并且将退回到不支持图像的基于图像的表情上. - -**注意:**在 Linux 上,您可以下载[Noto Color Emoji](https://www.google.com/get/noto/help/emoji/)以获得完整的本机表情符号支持. Ubuntu 18.04(与许多现代 Linux 发行版一样)默认情况下已安装此字体. - -### Front matter[](#front-matter "Permalink") - -在 GitLab 11.6 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/23331) . - -首要事项是 Markdown 文档开头,内容之前的元数据. 静态站点生成器(例如[Jekyll](https://jekyllrb.com/docs/front-matter/) , [Hugo](https://s0gohugo0io.icopy.site/content-management/front-matter/)和许多其他应用程序)可以使用此数据. - -当您查看由 GitLab 渲染的 Markdown 文件时,任何前端问题都会按原样显示在文档顶部的框中,位于渲染的 HTML 内容之前. 要查看示例,可以在[GitLab 文档文件](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/README.md)的源版本和渲染版本之间切换. - -在 GitLab 中,仅在 Markdown 文件和 Wiki 页面中使用前题,而不在支持 Markdown 格式的其他地方使用. 它必须在文档的最顶部,并且必须在定界符之间,如下所述. - -支持以下定界符: - -* YAML( `---` ): - - ``` - --- - title: About Front Matter - example: - language: yaml - --- - ``` - -* TOML( `+++` ): - - ``` - +++ - title = "About Front Matter" - [example] - language = "toml" - +++ - ``` - -* JSON( `;;;` ): - - ``` - ;;; { "title": "About Front Matter" "example": { "language": "json" } } ;;; - ``` - -通过向任何现有定界符添加说明符来支持其他语言. 例如: - -``` ----php -$title = "About Front Matter"; -$example = array( - 'language' => "php", -); ---- -``` - -### Inline diff[](#inline-diff "Permalink") - -> 如果未正确呈现,请[在 GitLab 本身中查看它](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/user/markdown.md#inline-diff) . - -使用内联 diff 标签,您可以显示`{+ additions +}`或`[- deletions -]` . - -包装标签可以是大括号或方括号: - -``` -- {+ addition 1 +} -- [+ addition 2 +] -- {- deletion 3 -} -- [- deletion 4 -] -``` - -* {+加法 1 +} -* [+加法 2 +] -* {-删除 3-} -* [-删除 4-] - -* * * - -但是,包装标签不能混合使用: - -``` -- {+ addition +] -- [+ addition +} -- {- deletion -] -- [- deletion -} -``` - -如果您的差异包含``code``字体的单词,请确保使用反斜杠`\`来转义每个反引号``` ,否则差异突出显示将无法正确呈现: - -``` -- {+ Just regular text +} -- {+ Text with `backticks` inside +} -- {+ Text with escaped \`backticks\` inside +} -``` - -* {+普通文字+} -* {+带有`backticks`文字+} -* {+内含转义的`反引号'的文字+} - -### Math[](#math "Permalink") - -> 如果未正确呈现,请[在 GitLab 本身中查看它](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/user/markdown.md#math) . - -可以使用[KaTeX](https://github.com/KaTeX/KaTeX)渲染用 LaTeX 语法编写的数学运算. - -在美元符号`$`之间写的数学将与文本内嵌. 用声明为`math`的语言在[代码块中](#code-spans-and-blocks)编写的`math`将在单独的行上呈现: - -``` -This math is inline $`a^2+b^2=c^2`$. - -This is on a separate line - -```math a^2+b^2=c^2 -``` -``` - -此数学`a^2+b^2=c^2`为内联$ `a^2+b^2=c^2` $. - -这是在单独的行上 - -``` -a^2+b^2=c^2 -``` - -*请注意,KaTeX 仅支持 LaTeX 的[子集](https://katex.org/docs/supported.html) .* - -**注意:**这也适用于 Asciidoctor `:stem: latexmath` . 有关详细信息,请参见[Asciidoctor 用户手册](https://asciidoctor.org/docs/user-manual/#activating-stem-support) . - -### Special GitLab references[](#special-gitlab-references "Permalink") - -GFM 可以识别与 GitLab 相关的特殊参考. 例如,您可以轻松地引用项目中的问题,提交,团队成员甚至整个团队. GFM 会将引用转换为链接,以便您可以轻松地在它们之间导航. - -此外,GFM 可以识别某些跨项目引用,并且还具有一个速记版本,可以引用同一名称空间中的其他项目. - -GFM 将识别以下内容: - -| references | input | 跨项目参考 | shortcut within same namespace | -| --- | --- | --- | --- | -| 特定使用者 | `@user_name` |   |   | -| 特定人群 | `@group_name` |   |   | -| 整个团队 | `@all` |   |   | -| project | `namespace/project>` |   |   | -| issue | `#123` | `namespace/project#123` | `project#123` | -| 合并要求 | `!123` | `namespace/project!123` | `project!123` | -| snippet | `$123` | `namespace/project$123` | `project$123` | -| epic | `&123` | `group1/subgroup&123` |   | -| 通过 ID 标签 | `~123` | `namespace/project~123` | `project~123` | -| 一词标签名称 | `~bug` | `namespace/project~bug` | `project~bug` | -| 多词标签名称 | `~"feature request"` | `namespace/project~"feature request"` | `project~"feature request"` | -| 范围标签按名称 | `~"priority::high"` | `namespace/project~"priority::high"` | `project~"priority::high"` | -| ID 项目里程碑 | `%123` | `namespace/project%123` | `project%123` | -| 一词里程碑 | `%v1.23` | `namespace/project%v1.23` | `project%v1.23` | -| 多词里程碑 | `%"release candidate"` | `namespace/project%"release candidate"` | `project%"release candidate"` | -| 具体提交 | `9ba12248` | `namespace/project@9ba12248` | `project@9ba12248` | -| 提交范围比较 | `9ba12248...b19a04f5` | `namespace/project@9ba12248...b19a04f5` | `project@9ba12248...b19a04f5` | -| 仓库文件参考 | `[README](doc/README)` |   |   | -| 存储库文件行参考 | `[README](doc/README#L13)` |   |   | - -除此之外,还可以识别和格式化指向某些对象的链接. 这些示例包括: - -* 对问题的评论: `"https://gitlab.com/gitlab-org/gitlab/-/issues/1234#note_101075757"` ,它将呈现为`#1234 (note1)` -* 问题设计标签: `"https://gitlab.com/gitlab-org/gitlab/-/issues/1234/designs"` ,该标签将显示为`#1234 (designs)` . -* 链接到各个设计: `"https://gitlab.com/gitlab-org/gitlab/-/issues/1234/designs/layout.png"` ,它将呈现为`#1234[layout.png]` . - -### Task lists[](#task-lists "Permalink") - -> 如果未正确呈现,请[在 GitLab 本身中查看它](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/user/markdown.md#task-lists) . - -您可以在支持 Markdown 的任何位置添加任务列表,但是如果它们处于问题,合并请求或注释中,则只能"单击"以切换它们. 在其他地方,您必须手动编辑 Markdown 以通过在方括号内添加或删除`x`来更改状态. - -要创建任务列表,请添加特殊格式的 Markdown 列表. 您可以使用无序列表或有序列表: - -``` -- [x] Completed task -- [ ] Incomplete task - - [ ] Sub-task 1 - - [x] Sub-task 2 - - [ ] Sub-task 3 - 1. [x] Completed task -1. [ ] Incomplete task - 1. [ ] Sub-task 1 - 1. [x] Sub-task 2 -``` - -* [x]完成的任务 -* []未完成的任务 - * []子任务 1 - * [x]子任务 2 - * []子任务 3 - -1. [x] Completed task -2. []未完成的任务 - 1. []子任务 1 - 2. [x]子任务 2 - -### Table of contents[](#table-of-contents "Permalink") - -通过在标记行`[[_TOC_]]`上添加标记,您可以将目录添加到 Markdown 文件,Wiki 页面或发布/合并请求描述中. 它将显示为链接到各种标题的无序列表. - -``` -This is an intro sentence to my Wiki page. - -[[_TOC_]] - -## My first heading - -First section content. - -## My second heading - -Second section content. -``` - -[![Preview of an auto-generated TOC in a Wiki](img/77707dedee5c3b669fd992a327698362.png)](img/markdown_toc_preview_v12_9.png) - -### Wiki-specific Markdown[](#wiki-specific-markdown "Permalink") - -以下示例显示了 Wiki 内部链接的行为. - -#### Wiki - direct page link[](#wiki---direct-page-link "Permalink") - -仅包含页面的子弹的链接将指向该页面, *位于 Wiki 的基本级别* . - -该代码段将链接到 Wiki 根目录下的`documentation`页面: - -``` -[Link to Documentation](documentation) -``` - -#### Wiki - direct file link[](#wiki---direct-file-link "Permalink") - -*相对于当前页面* ,带有文件扩展名的链接指向该文件. - -如果下面的代码段放在`/documentation/related`的页面上,它将链接到`/documentation/file.md` : - -``` -[Link to File](file.md) -``` - -#### Wiki - hierarchical link[](#wiki---hierarchical-link "Permalink") - -可以使用`./` , `../`来相对于当前 Wiki 页面构建链接. - -如果此代码段放在`/documentation/main`的页面上,它将链接到`/documentation/related` : - -``` -[Link to Related Page](./related) -``` - -如果此代码段放在`/documentation/related/content`的页面上,它将链接到`/documentation/main` : - -``` -[Link to Related Page](../main) -``` - -如果此代码段放在`/documentation/main`的页面上,它将链接到`/documentation/related.md` : - -``` -[Link to Related Page](./related.md) -``` - -如果此代码段放在`/documentation/related/content`的页面上,它将链接到`/documentation/main.md` : - -``` -[Link to Related Page](../main.md) -``` - -#### Wiki - root link[](#wiki---root-link "Permalink") - -以`/`开头的链接是相对于 Wiki 根目录的. - -该代码段链接到`/documentation` : - -``` -[Link to Related Page](/documentation) -``` - -该代码段链接到`/miscellaneous.md` : - -``` -[Link to Related Page](/miscellaneous.md) -``` - -### Embedding metrics in GitLab Flavored Markdown[](#embedding-metrics-in-gitlab-flavored-markdown "Permalink") - -公制图表可以嵌入到 GitLab 风味 Markdown 中. 有关更多详细信息,请参见[在 GitLab 风格的 Markdown 中嵌入度量标准](../user/project/integrations/prometheus.html#embedding-metric-charts-within-gitlab-flavored-markdown) . - -## Standard Markdown and extensions in GitLab[](#standard-markdown-and-extensions-in-gitlab "Permalink") - -所有标准 Markdown 格式均应在 GitLab 中按预期工作. 一些标准功能通过附加功能进行了扩展,而不会影响标准用法. 如果扩展了功能,则新选项将作为子节列出. - -### Blockquotes[](#blockquotes "Permalink") - -块引号是突出显示信息(如边注)的简便方法. 它是通过以`>`开头的 blockquote 行来生成的: - -``` -> Blockquotes are very handy to emulate reply text. -> This line is part of the same quote. - -Quote break. - > This is a very long line that will still be quoted properly when it wraps. Oh boy let's keep writing to make sure this is long enough to actually wrap for everyone. Oh, you can *put* **Markdown** into a blockquote. -``` - -> 块引用非常容易模拟回复文本. 该行是同一报价的一部分. - -报价中断. - -> 这是一条很长的行,当它换行时仍会被正确引用. 哦,男孩,让我们继续写作,以确保它足够长,可以实际包裹所有人. 哦,您可以*将* **Markdown**放入 blockquote 中. - -#### Multiline blockquote[](#multiline-blockquote "Permalink") - -> 如果未正确呈现,请[在 GitLab 本身中查看它](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/user/markdown.md#multiline-blockquote) . - -GFM 还支持`>>>`围起来的多行块引用,从而扩展了标准的 Markdown 标准: - -``` ->>> -If you paste a message from somewhere else - -that spans multiple lines, - -you can quote that without having to manually prepend `>` to every line! ->>> -``` - -> 如果您从其他地方粘贴消息 -> -> 跨越多行, -> -> 您可以引用它,而不必手动在每行前面加上`>` ! - -### Code spans and blocks[](#code-spans-and-blocks "Permalink") - -您可以轻松突出显示应视为代码而非简单文本的任何内容. - -简单的内联代码很容易用单个反引号```突出显示: - -``` -Inline `code` has `back-ticks around` it. -``` - -Inline `code` has `back-ticks around` it. - -* * * - -同样,整个代码块可以用三个反引号( ````` ),三个波浪号( `~~~` )或缩进 4 个或更多的空格来围起来,以实现较大代码体的相似效果. - -``` -```python def function(): - #indenting works just fine in the fenced code block - s = "Python code" - print s -``` Using 4 spaces - is like using - 3-backtick fences. -``` - -``` -~~~ -Tildes are OK too. -~~~ -``` - -上面的三个示例呈现为: - -``` -def function(): - #indenting works just fine in the fenced code block - s = "Python code" - print s -``` - -``` -Using 4 spaces -is like using -3-backtick fences. -``` - -``` -Tildes are OK too. -``` - -#### Colored code and syntax highlighting[](#colored-code-and-syntax-highlighting "Permalink") - -> 如果未正确呈现,请[在 GitLab 本身中查看它](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/user/markdown.md#colored-code-and-syntax-highlighting) . - -GitLab 使用[Rouge Ruby 库](http://rouge.jneen.net/)在代码块中突出显示了更加丰富多彩的语法. 有关支持的语言的列表,请访问[Rouge 项目 Wiki](https://github.com/rouge-ruby/rouge/wiki/List-of-supported-languages-and-lexers) . 语法突出显示仅在代码块中受支持,因此在内联时无法突出显示代码. - -代码块由带有三个反引号( ````` )或三个波浪号( `~~~` )的行围起来,并在第一个围栏的末尾标识了语言: - -``` -```javascript var s = "JavaScript syntax highlighting"; -alert(s); -``` - -```python def function(): - #indenting works just fine in the fenced code block - s = "Python syntax highlighting" - print s -``` - -```ruby require 'redcarpet' -markdown = Redcarpet.new("Hello World!") -puts markdown.to_html -``` - -``` No language indicated, so no syntax highlighting. -s = "There is no highlighting for this." -But let's throw in a tag. -``` -``` - -上面的四个示例呈现为: - -``` -var s = "JavaScript syntax highlighting"; -alert(s); -``` - -``` -def function(): - #indenting works just fine in the fenced code block - s = "Python syntax highlighting" - print s -``` - -``` -require 'redcarpet' -markdown = Redcarpet.new("Hello World!") -puts markdown.to_html -``` - -``` -No language indicated, so no syntax highlighting. -s = "There is no highlighting for this." -But let's throw in a tag. -``` - -### Emphasis[](#emphasis "Permalink") - -在 Markdown 中有多种强调文本的方法. 您可以斜体,粗体,删除线,以及将这些强调样式结合在一起. - -Examples: - -``` -Emphasis, aka italics, with *asterisks* or _underscores_. - -Strong emphasis, aka bold, with double **asterisks** or __underscores__. - -Combined emphasis with **asterisks and _underscores_**. - -Strikethrough uses two tildes. ~~Scratch this.~~ -``` - -强调,又称斜体,带有*星号*或*下划线* . - -重点突出,又大胆,带有双星**号**或**下划线** . - -结合强调与**星号和*下划线*** . - -删除线使用两个波浪号. ~~抓这个.~~ - -**注意:**删除线不是 Markdown 核心标准的一部分,而是 GFM 的一部分. - -#### Multiple underscores in words and mid-word emphasis[](#multiple-underscores-in-words-and-mid-word-emphasis "Permalink") - -> 如果未正确呈现,请[在 GitLab 本身中查看它](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/user/markdown.md#multiple-underscores-in-words) . - -仅将单词的*一部分*斜体化通常是没有用的,尤其是当您要处理经常带有多个下划线的代码和名称时. 结果,GFM 通过忽略单词中的多个下划线来扩展了标准的 Markdown 标准,以更好地呈现讨论代码的 Markdown 文档: - -``` -perform_complicated_task - -do_this_and_do_that_and_another_thing - -but_emphasis is_desired _here_ -``` - -perform_complicated_task - -do_this_and_do_that_and_another_thing - -但是*在这里需要重点* - -* * * - -如果您只想强调单词的一部分,仍然可以使用星号来完成: - -``` -perform*complicated*task - -do*this*and*do*that*and*another thing -``` - -perform*complicated*task - -做*这个* , *做*那个*和*另一件事 - -### Footnotes[](#footnotes "Permalink") - -脚注会添加指向注释的链接,该链接将在 Markdown 文件的末尾呈现. - -要创建脚注,您既需要参考标记,又需要带有注释内容的单独行(文件中的任何地方). - -无论标签名称如何,参考标签的相对顺序都决定了呈现的编号. - -参考标记可以使用字母和其他字符. 在解决[此错误](https://gitlab.com/gitlab-org/gitlab/-/issues/24423)之前,请避免在脚注标签名称中使用小写`w`或下划线( `_` ). - -``` -A footnote reference tag looks like this: [^1] - -This reference tag is a mix of letters and numbers. [^footnote-42] - -[^1]: This is the text inside a footnote. - -[^footnote-42]: This is another footnote. -``` - -脚注参考标记如下所示: [1](#fn:1) - -此参考标记是字母和数字的组合. [2](#fn:footnote-42) - -### Headers[](#headers "Permalink") - -``` -# H1 -## H2 -### H3 -#### H4 -##### H5 -###### H6 - -Alternatively, for H1 and H2, an underline-ish style: - -Alt-H1 -====== -Alt-H2 ------- -``` - -#### Header IDs and links[](#header-ids-and-links "Permalink") - -GFM 扩展了标准 Markdown 标准,以便所有 Markdown 呈现的标头都自动获取 ID,可以将 ID 链接到该 ID,注释中除外. - -悬停时,将显示到这些 ID 的链接,从而可以更轻松地将链接复制到标头以在其他地方使用. - -根据以下规则从标头的内容生成 ID: - -1. 所有文本都将转换为小写. -2. 删除所有非单词文本(例如标点符号或 HTML). -3. 所有空格都将转换为连字符. -4. 连续的两个或多个连字符转换为 1. -5. If a header with the same ID has already been generated, a unique incrementing number is appended, starting at 1. - -Example: - -``` -# This header has spaces in it -## This header has a :thumbsup: in it -# This header has Unicode in it: 한글 -## This header has spaces in it -### This header has spaces in it -## This header has 3.5 in it (and parentheses) -``` - -将生成以下链接 ID: - -1. `this-header-has-spaces-in-it` -2. `this-header-has-a-in-it` -3. `this-header-has-unicode-in-it-한글` -4. `this-header-has-spaces-in-it-1` -5. `this-header-has-spaces-in-it-2` -6. `this-header-has-3-5-in-it-and-parentheses` - -请注意,表情符号处理是在生成标题 ID 之前进行的,因此表情符号将转换为图像,然后从 ID 中删除. - -### Horizontal Rule[](#horizontal-rule "Permalink") - -使用三个或多个连字符,星号或下划线来创建水平尺非常简单: - -``` -Three or more hyphens, - --- -asterisks, - *** -or underscores - -___ -``` - -### Images[](#images "Permalink") - -Examples: - -``` -Inline-style (hover to see title text): - -![alt text](img/markdown_logo.png "Title Text") - -Reference-style (hover to see title text): - -![alt text1][logo] - -[logo]: img/markdown_logo.png "Title Text" -``` - -Inline-style (hover to see title text): - -[![alt text](img/c5c16791538bd6838d6196a0b4ec5bb7.png "Title Text")](img/markdown_logo.png) - -参考样式(悬停以查看标题文本): - -[![alt text](img/c5c16791538bd6838d6196a0b4ec5bb7.png "Title Text")](img/markdown_logo.png) - -#### Videos[](#videos "Permalink") - -> 如果未正确呈现,请[在 GitLab 本身中查看它](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/user/markdown.md#videos) . - -链接到带有视频扩展名的文件的图像标签会自动转换为视频播放器. 有效的视频扩展名是`.mp4` , `.m4v` , `.mov` , `.webm`和`.ogv` : - -``` -Here's a sample video: - -![Sample Video](img/markdown_video.mp4) -``` - -这是一个示例视频: - -[![Sample Video](img/bf99e217a01388f7c11df39626ab9e22.png)](img/markdown_video.mp4) - -#### Audio[](#audio "Permalink") - -> 如果未正确呈现,请[在 GitLab 本身中查看它](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/user/markdown.md#audio) . - -与视频类似,带有音频扩展名的文件的链接标签会自动转换为音频播放器. 有效的音频扩展名是`.mp3` , `.oga` , `.ogg` , `.spx`和`.wav` : - -``` -Here's a sample audio clip: - -![Sample Audio](img/markdown_audio.mp3) -``` - -这是一个示例音频剪辑: - -[![Sample Audio](img/8095440bd29d634de897ae56f76a4969.png)](img/markdown_audio.mp3) - -### Inline HTML[](#inline-html "Permalink") - -> 要在第二个示例中[查看](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/user/markdown.md#inline-html)在 HTML 中呈现的 Markdown,请[在 GitLab 本身中查看它](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/user/markdown.md#inline-html) . - -您还可以在 Markdown 中使用原始 HTML,通常效果很好. - -有关允许的 HTML 标记和属性的列表,请参见 HTML :: Pipeline 的[SanitizationFilter](https://github.com/jch/html-pipeline/blob/v2.12.3/lib/html/pipeline/sanitization_filter.rb#L42)类的文档. 除了默认`SanitizationFilter`允许列表,GitLab 允许`span` , `abbr` , `details`和`summary`元素. - -``` -
-
Definition list
-
Is something people use sometimes.
- -
Markdown in HTML
-
Does *not* work **very** well. HTML tags will work, in most cases.
-
-``` - -Definition list - -人们有时会用到的东西. - -Markdown in HTML - -*不是*很好**. HTML *标签*将工作 ,在大多数情况下. - -* * * - -仍然可以在 HTML 标记内使用 Markdown,但前提是包含 Markdown 的行分为各自的行: - -``` -
-
Markdown in HTML
-
Does *not* work **very** well. HTML tags will work, in most cases.
- -
Markdown in HTML
-
- - Does *not* work **very** well. HTML tags will work, in most cases. - -
-
-``` - -Markdown in HTML - -*不是*很好**. HTML 标记在大多数情况下都可以使用. - -Markdown in HTML - -*不能* 很好地工作. HTML 标记在大多数情况下都可以使用. - -#### Details and summary[](#details-and-summary "Permalink") - -> 要在第二个示例中[查看](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/user/markdown.md#details-and-summary)在 HTML 中呈现的 Markdown,请[在 GitLab 本身中查看它](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/user/markdown.md#details-and-summary) . - -可以使用 HTML 的[`
`](https://s0developer0mozilla0org.icopy.site/en-US/docs/Web/HTML/Element/details)和[``](https://s0developer0mozilla0org.icopy.site/en-US/docs/Web/HTML/Element/summary)标记折叠内容. 这对于折叠长日志特别有用,因为它们占用更少的屏幕空间. - -``` -

-

-Click this to collapse/fold. - -These details will remain hidden until expanded. - -
PASTE LOGS HERE
- -
-

-``` - -
单击以折叠/折叠. 这些细节*将*保持**隐藏,**直到扩展. - -``` - PASTE LOGS HERE -```
- -* * * - -这些标记内的 Markdown 也受支持. - -**注意:**如果 Markdown 无法正确呈现,请尝试在页面顶部添加`{::options parse_block_html="true" /}` ,然后将`markdown="span"`添加到开头的摘要标记中,如下所示: `` . - -请记住,在``标记之后和`
`标记之前留空行,如示例所示: - -``` -
-Click this to collapse/fold. - -These details _will_ remain **hidden** until expanded. - -``` -PASTE LOGS HERE -``` - -
-``` - -
单击以折叠/折叠. 这些细节*将*保持隐藏,直到扩展. - -``` - PASTE LOGS HERE -```
- -### Line breaks[](#line-breaks "Permalink") - -如果先前的文本以两个换行符结尾,则会插入一个换行符(将开始一个新的段落),例如当您连续两次按`Enter 键`时. 如果仅使用一个换行符( `按`一次`Enter 键` ),则下一个句子将成为同一段落的一部分. 如果要避免长行换行并使它们易于编辑,这很有用: - -``` -Here's a line for us to start with. - -This longer line is separated from the one above by two newlines, so it will be a *separate paragraph*. - -This line is also a separate paragraph, but... -These lines are only separated by single newlines, -so they *do not break* and just follow the previous lines -in the *same paragraph*. -``` - -这是我们要开始的一行. - -该较长的行与上面的一行由两个换行符*隔开* ,因此它将是一个*单独的段落* . - -该行也是一个单独的段落,但是…这些行仅由单个换行符分隔,因此它们*不会中断*并且仅遵循*同一段落中*的前几行. - -#### Newlines[](#newlines "Permalink") - -GFM 在[处理段落和换行符方面](https://spec.commonmark.org/current/)遵循 Markdown 规范. - -段落是一个或多个连续的文本行,由一个或多个空行分隔(第一段末尾有两个新行), [如上所述](#line-breaks) . - -如果您需要对换行符或换行符进行更多控制,则可以通过以反斜杠或两个或多个空格结束一行来添加单个换行符. 连续两个换行符将创建一个新的段落,中间有一个空行: - -``` -First paragraph. -Another line in the same paragraph. -A third line in the same paragraph, but this time ending with two spaces.{space}{space} -A new line directly under the first paragraph. - -Second paragraph. -Another line, this time ending with a backslash.\ -A new line due to the previous backslash. -``` - -### Links[](#links "Permalink") - -有两种创建链接的方法,即内联样式和引用样式: - -``` -- This is an [inline-style link](https://www.google.com) -- This is a [link to a repository file in the same directory](index.md) -- This is a [relative link to a readme one directory higher](../README.md) -- This is a [link that also has title text](https://www.google.com "This link takes you to Google!") - -Using header ID anchors: - -- This links to [a section on a different Markdown page, using a "#" and the header ID](index.md#overview) -- This links to [a different section on the same page, using a "#" and the header ID](#header-ids-and-links) - -Using references: - -- This is a [reference-style link, see below][Arbitrary case-insensitive reference text] -- You can [use numbers for reference-style link definitions, see below][1] -- Or leave it empty and use the [link text itself][], see below. - -Some text to show that the reference links can follow later. - -[arbitrary case-insensitive reference text]: https://www.mozilla.org/en-US/ -[1]: https://slashdot.org -[link text itself]: https://www.reddit.com -``` - -* 这是一个[内联样式的链接](https://www.google.com) -* 这是[指向同一目录中存储库文件](index.html)的[链接](index.html) -* 这是[指向自述文件的上一级目录](../README.html)的[相对链接](../README.html) -* 这是一个[也有标题文字](https://www.google.com "此链接将您带到 Google!")的[链接](https://www.google.com "此链接将您带到 Google!") - -使用标头 ID 锚点: - -* 该链接[使用"#"和标题 ID](index.html#overview)链接到[另一个 Markdown 页面上的部分](index.html#overview) -* 这[使用"#"和标题 ID](#header-ids-and-links)链接到[同一页面上的不同部分.](#header-ids-and-links) - -使用参考: - -* 这是[参考样式的链接,请参见下文](https://www.mozilla.org/en-US/) -* 您可以[将数字用于引用样式的链接定义,请参见下文](https://slashdot.org) -* 或将其保留为空,并使用[链接文本本身](https://www.reddit.com) ,请参见下文. - -一些文本表明参考链接可以在以后使用. - -**注意:**相对链接不允许引用 Wiki 页面或项目文件中的 Wiki 页面中的项目文件. 这样做的原因是,Wiki 始终位于 GitLab 中的单独 Git 存储库中. 例如,仅当链接位于 Wiki Markdown 文件内部时, `[I'm a reference-style link](style)`才会将链接指向`wikis/style` . - -#### URL auto-linking[](#url-auto-linking "Permalink") - -GFM will auto-link almost any URL you put into your text: - -``` -- https://www.google.com -- https://www.google.com -- ftp://ftp.us.debian.org/debian/ -- smb://foo/bar/baz -- irc://irc.freenode.net/ -- http://localhost:3000 -``` - -* [https://www.google.com](https://www.google.com) -* [https://www.google.com](https://www.google.com) -* [ftp://ftp.us.debian.org/debian/](ftp://ftp.us.debian.org/debian/) -* -* -* [http://localhost:3000](http://localhost:3000) - -### Lists[](#lists "Permalink") - -可以轻松创建有序列表和无序列表. - -对于有序列表,请在有序列表的每一行的开头添加希望列表以其开头的数字,例如`1.` ,后跟一个空格. 在第一个数字之后,使用什么数字都没有关系,有序列表将按垂直顺序自动编号,因此对同一列表中的所有项目重复`1.` .. 如果你开始以外的其他数字`1.` ,它会用它作为第一个数字,并从那里计数. - -Examples: - -``` -1. First ordered list item -2. Another item - - Unordered sub-list. -1. Actual numbers don't matter, just that it's a number - 1. Ordered sub-list - 1. Next ordered sub-list item -4. And another item. -``` - -1. 首先订购的清单项目 -2. 另一个项目 - * 无序子列表. -3. 实际数字并不重要,只是一个数字 - 1. 订购子清单 - 2. 下一个订购的子清单项目 -4. 还有另一个项目. - -对于无序列表,请在无序列表的每一行的开头添加`-` , `*`或`+` ,然后加上一个空格,但是您不能混合使用它们. - -``` -Unordered lists can: - - use -- minuses - -They can also: - * use -* asterisks - -They can even: - + use -+ pluses -``` - -无序列表可以: - -* use -* minuses - -他们还可以: - -* use -* asterisks - -They can even: - -* use -* pluses - -* * * - -如果列表项包含多个段落,则每个后续段落都应缩进到与列表项文本开头相同的级别. - -Example: - -``` -1. First ordered list item - - Second paragraph of first item. - 1. Another item -``` - -1. 首先订购的清单项目 - - 第一项第二段. - -2. Another item - -* * * - -如果第一项的段落没有缩进适当的空格数,则该段落将出现在列表外部,而不是在列表项下方正确缩进. - -Example: - -``` -1. First ordered list item - - Paragraph of first item. - 1. Another item -``` - -1. 首先订购的清单项目 - -第一项的段落. - -1. 另一个项目 - -### Superscripts / Subscripts[](#superscripts--subscripts "Permalink") - -当前,CommonMark 和 GFM 不支持 Redcarpet 支持的上标语法( `x^2` ). 您可以对上标和下标使用标准的 HTML 语法: - -``` -The formula for water is H2O -while the equation for the theory of relativity is E = mc2. -``` - -水的公式为 H 2 O,而相对论的公式为 E = mc 2 . - -### Tables[](#tables "Permalink") - -表不是 Markdown 核心规范的一部分,但它们是 GFM 的一部分. - -1. 第一行包含标头,并用"竖线"( `|` )分隔. -2. 第二行将标题与单元格分开,并且必须包含三个或更多破折号. -3. 第三行以及随后的任何行均包含单元格值. - * 您**不能**在 Markdown 中将单元格分隔成多行,它们必须保持为单行,但它们可能会很长. 如果需要,还可以包含 HTML `
`标记以强制换行. - * 像元大小**不必**彼此匹配. 它们很灵活,但必须用管道( `|` )分隔. - * 您**可以**有空白单元格. - -Example: - -``` -| header 1 | header 2 | header 3 | -| --- | ------ |---------:| -| cell 1 | cell 2 | cell 3 | -| cell 4 | cell 5 is longer | cell 6 is much longer than the others, but that's ok. It will eventually wrap the text when the cell is too large for the display size. | -| cell 7 | | cell
9 | -``` - -| 标题 1 | 标头 2 | 标头 3 | -| --- | --- | --- | -| 单元格 1 | 单元格 2 | 单元格 3 | -| 单元格 4 | 单元格 5 更长 | 单元格 6 比其他单元格长得多,但这没关系. 当单元格太大而无法显示时,它将最终包裹文本. | -| 单元格 7 |   | cell -9 | - -(另外,你可以通过添加冒号选择文本列中的对齐`:`第二行中的"破折号"线条的两侧). 这将影响列中的每个单元格. - -**注意:** [在 GitLab 本身中](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/user/markdown.md#tables) ,标题始终在 Chrome 和 Firefox 中左对齐,并在 Safari 中居中. - -``` -| Left Aligned | Centered | Right Aligned | Left Aligned | Centered | Right Aligned | -| :--- | :---: | ---: | :----------- | :------: | ------------: | -| Cell 1 | Cell 2 | Cell 3 | Cell 4 | Cell 5 | Cell 6 | -| Cell 7 | Cell 8 | Cell 9 | Cell 10 | Cell 11 | Cell 12 | -``` - -| 左对齐 | Centered | 右对齐 | 左对齐 | Centered | 右对齐 | -| --- | --- | --- | --- | --- | --- | -| 单元格 1 | 单元格 2 | 单元格 3 | 单元格 4 | 单元格 5 | 单元格 6 | -| 单元格 7 | 单元格 8 | 单元格 9 | 单元格 10 | 单元格 11 | 单元格 12 | - -#### Copy from spreadsheet and paste in Markdown[](#copy-from-spreadsheet-and-paste-in-markdown "Permalink") - -在 GitLab 12.7 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/27205) . - -如果您使用电子表格软件(例如 Microsoft Excel,Google 表格或 Apple Numbers),则可以从电子表格中进行复制,GitLab 会将其粘贴为 Markdown 表. 例如,假设您具有以下电子表格: - -[![Copy from spreadsheet](img/c2f9cb2f2c88244b3dbf094572214a02.png)](img/markdown_copy_from_spreadsheet_v12_7.png) - -选择单元格并将其复制到剪贴板. 打开一个 GitLab Markdown 条目并粘贴电子表格: - -[![Paste to Markdown table](img/56c21932bdeb67b5407d18238e8ec7f3.png)](img/markdown_paste_table_v12_7.png) - -## References[](#references "Permalink") - -* 该文档从[Markdown-Cheatsheet 中](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet)大量利用. -* Daring Fireball 上的原始[Markdown 语法指南](https://daringfireball.net/projects/markdown/syntax)是详细解释标准 Markdown 的绝佳资源. -* 有关 CommonMark 的详细规范,请参见[CommonMark 规范.](https://spec.commonmark.org/current/) -* [CommonMark Dingus](http://try.commonmark.org)是用于测试 CommonMark 语法的便捷工具. - -1. 这是脚注中的文本. [↩](#fnref:1) - -2. 这是另一个脚注. [↩](#fnref:footnote-42) \ No newline at end of file diff --git a/docs/409.md b/docs/409.md deleted file mode 100644 index cadc956..0000000 --- a/docs/409.md +++ /dev/null @@ -1,409 +0,0 @@ -# AsciiDoc - -> 原文:[https://docs.gitlab.com/ee/user/asciidoc.html](https://docs.gitlab.com/ee/user/asciidoc.html) - -* [Syntax](#syntax) - * [Paragraphs](#paragraphs) - * [Text Formatting](#text-formatting) - * [Attributes](#attributes) - * [Links](#links) - * [Anchors](#anchors) - * [Lists](#lists) - * [Unordered](#unordered) - * [Ordered](#ordered) - * [Checklist](#checklist) - * [Callout](#callout) - * [Description](#description) - * [Document Structure](#document-structure) - * [Header](#header) - * [Sections](#sections) - * [Includes](#includes) - * [Blocks](#blocks) - * [Tables](#tables) - * [Multimedia](#multimedia) - * [Breaks](#breaks) - -# AsciiDoc[](#asciidoc "Permalink") - -GitLab 使用[Asciidoctor](https://asciidoctor.org) gem 将 AsciiDoc 内容转换为 HTML5\. 有关完整的 Asciidoctor 参考,请查阅《 [Asciidoctor 用户手册](https://asciidoctor.org/docs/user-manual/) 》. - -## Syntax[](#syntax "Permalink") - -这是最常用的 AsciiDoc 语法的简要参考. 您可以在[https://asciidoctor.org/docs/上](https://asciidoctor.org/docs/)找到有关 AsciiDoc 语法的完整文档. - -### Paragraphs[](#paragraphs "Permalink") - -``` -A normal paragraph. -Line breaks are not preserved. -``` - -跳过以`//`开头的行注释: - -``` -// this is a comment -``` - -空白行分隔段落. - -带有`[%hardbreaks]`选项的段落将保留换行符: - -``` -[%hardbreaks] -This paragraph carries the `hardbreaks` option. -Notice how line breaks are now preserved. -``` - -缩进(文字)段落会禁用文本格式,保留空格和换行符,并以等宽字体显示: - -``` - This literal paragraph is indented with one space. - As a consequence, *text formatting*, spaces, - and lines breaks will be preserved. -``` - -一条警告段落引起了读者的注意: - -``` -NOTE: This is a brief reference, please read the full documentation at https://asciidoctor.org/docs/. - -TIP: Lists can be indented. Leading whitespace is not significant. -``` - -### Text Formatting[](#text-formatting "Permalink") - -**受约束的(应用于单词边界)** - -``` -*strong importance* (aka bold) -_stress emphasis_ (aka italic) -`monospaced` (aka typewriter text) -"`double`" and '`single`' typographic quotes -+passthrough text+ (substitutions disabled) -`+literal text+` (monospaced with substitutions disabled) -``` - -**不受限制(适用于任何地方)** - -``` -**C**reate+**R**ead+**U**pdate+**D**elete -fan__freakin__tastic -``mono``culture -``` - -**Replacements** - -``` -A long time ago in a galaxy far, far away... -(C) 1976 Arty Artisan -I believe I shall--no, actually I won't. -``` - -**Macros** - -``` -// where c=specialchars, q=quotes, a=attributes, r=replacements, m=macros, p=post_replacements, etc. -The European icon:flag[role=blue] is blue & contains pass:[************] arranged in a icon:circle-o[role=yellow]. -The pass:c[->] operator is often referred to as the stabby lambda. -Since `pass:[++]` has strong priority in AsciiDoc, you can rewrite pass:c,a,r[C++ => C{pp}]. -// activate stem support by adding `:stem:` to the document header -stem:[sqrt(4) = 2] -``` - -### Attributes[](#attributes "Permalink") - -**用户定义的属性** - -``` -// define attributes in the document header -:name: value -``` - -``` -:url-gem: https://rubygems.org/gems/asciidoctor - -You can download and install Asciidoctor {asciidoctor-version} from {url-gem}. -C{pp} is not required, only Ruby. -Use a leading backslash to output a word enclosed in curly braces, like \{name}. -``` - -**环境属性** - -GitLab 设置以下环境属性: - -| Attribute | Description | -| --- | --- | -| `docname` | 源文档的根名称(无前导路径或文件扩展名). | -| `outfilesuffix` | 对应于后端输出的文件扩展名(默认为`.adoc`以使文档间的交叉引用起作用). | - -### Links[](#links "Permalink") - -``` -https://example.org/page[A webpage] -link:../path/to/file.txt[A local file] -xref:document.adoc[A sibling document] -mailto:hello@example.org[Email to say hello!] -``` - -### Anchors[](#anchors "Permalink") - -``` -[[idname,reference text]] -// or written using normal block attributes as `[#idname,reftext=reference text]` -A paragraph (or any block) with an anchor (aka ID) and reftext. - -See <> or <>. - -xref:document.adoc#idname[Jumps to anchor in another document]. - -This paragraph has a footnote.footnote:[This is the text of the footnote.] -``` - -### Lists[](#lists "Permalink") - -#### Unordered[](#unordered "Permalink") - -``` -* level 1 -** level 2 -*** level 3 -**** level 4 -***** etc. -* back at level 1 -+ -Attach a block or paragraph to a list item using a list continuation (which you can enclose in an open block). - -.Some Authors -[circle] -- Edgar Allen Poe -- Sheri S. Tepper -- Bill Bryson -``` - -#### Ordered[](#ordered "Permalink") - -``` -. Step 1 -. Step 2 -.. Step 2a -.. Step 2b -. Step 3 - -.Remember your Roman numerals? -[upperroman] -. is one -. is two -. is three -``` - -#### Checklist[](#checklist "Permalink") - -``` -* [x] checked -* [ ] not checked -``` - -#### Callout[](#callout "Permalink") - -``` -// enable callout bubbles by adding `:icons: font` to the document header -[,ruby] ----- -puts 'Hello, World!' # <1> ----- -<1> Prints `Hello, World!` to the console. -``` - -#### Description[](#description "Permalink") - -``` -first term:: description of first term -second term:: -description of second term -``` - -### Document Structure[](#document-structure "Permalink") - -#### Header[](#header "Permalink") - -``` -= Document Title -Author Name -v1.0, 2019-01-01 -``` - -#### Sections[](#sections "Permalink") - -``` -= Document Title (Level 0) -== Level 1 -=== Level 2 -==== Level 3 -===== Level 4 -====== Level 5 -== Back at Level 1 -``` - -#### Includes[](#includes "Permalink") - -``` -include::basics.adoc[] - -// define -a allow-uri-read to allow content to be read from URI -include::https://example.org/installation.adoc[] -``` - -为了保证良好的系统性能并防止恶意文档引起问题,GitLab 对任何一个文档中处理的 include 指令的数量实施了**最大限制** . 当前总共可以包含 32 个文档,其中包括传递依赖项. - -### Blocks[](#blocks "Permalink") - -``` --- -open - a general-purpose content wrapper; useful for enclosing content to attach to a list item --- -``` - -``` -// recognized types include CAUTION, IMPORTANT, NOTE, TIP, and WARNING -// enable admonition icons by setting `:icons: font` in the document header -[NOTE] -==== -admonition - a notice for the reader, ranging in severity from a tip to an alert -==== -``` - -``` -==== -example - a demonstration of the concept being documented -==== -``` - -``` -.Toggle Me -[%collapsible] -==== -collapsible - these details are revealed by clicking the title -==== -``` - -``` -**** -sidebar - auxiliary content that can be read independently of the main content -**** -``` - -``` -.... -literal - an exhibit that features program output -.... -``` - -``` ----- -listing - an exhibit that features program input, source code, or the contents of a file ----- -``` - -``` -[,language] ----- -source - a listing that is embellished with (colorized) syntax highlighting ----- -``` - -``` -\```language -fenced code - a shorthand syntax for the source block -\``` -``` - -``` -[,attribution,citetitle] -____ -quote - a quotation or excerpt; attribution with title of source are optional -____ -``` - -``` -[verse,attribution,citetitle] -____ -verse - a literary excerpt, often a poem; attribution with title of source are optional -____ -``` - -``` -++++ -pass - content passed directly to the output document; often raw HTML -++++ -``` - -``` -// activate stem support by adding `:stem:` to the document header -[stem] -++++ -x = y^2 -++++ -``` - -``` -//// -comment - content which is not included in the output document -//// -``` - -### Tables[](#tables "Permalink") - -``` -.Table Attributes -[cols=>1h;2d,width=50%,frame=topbot] -|=== -| Attribute Name | Values - -| options -| header,footer,autowidth - -| cols -| colspec[;colspec;...] - -| grid -| all \| cols \| rows \| none - -| frame -| all \| sides \| topbot \| none - -| stripes -| all \| even \| odd \| none - -| width -| (0%..100%) - -| format -| psv {vbar} csv {vbar} dsv -|=== -``` - -### Multimedia[](#multimedia "Permalink") - -``` -image::screenshot.png[block image,800,450] - -Press image:reload.svg[reload,16,opts=interactive] to reload the page. - -video::movie.mp4[width=640,start=60,end=140,options=autoplay] - -video::aHjpOzsQ9YI[youtube] - -video::300817511[vimeo] -``` - -### Breaks[](#breaks "Permalink") - -``` -// thematic break (aka horizontal rule) ---- -``` - -``` -// page break -<<< -``` \ No newline at end of file diff --git a/docs/410.md b/docs/410.md deleted file mode 100644 index 58aedae..0000000 --- a/docs/410.md +++ /dev/null @@ -1,243 +0,0 @@ -# GitLab Notification Emails - -> 原文:[https://docs.gitlab.com/ee/user/profile/notifications.html](https://docs.gitlab.com/ee/user/profile/notifications.html) - -* [Receiving notifications](#receiving-notifications) -* [Tuning your notifications](#tuning-your-notifications) - * [Editing notification settings](#editing-notification-settings) -* [Global notification settings](#global-notification-settings) - * [Notification scope](#notification-scope) - * [Project notifications](#project-notifications) - * [Group notifications](#group-notifications) - * [Group notification level](#group-notification-level) - * [Group notification email address](#group-notification-email-address) - * [Notification levels](#notification-levels) -* [Notification events](#notification-events) -* [Issue / Epics / Merge request events](#issue--epics--merge-request-events) -* [Filtering email](#filtering-email) - * [X-GitLab-NotificationReason](#x-gitlab-notificationreason) - -# GitLab Notification Emails[](#gitlab-notification-emails "Permalink") - -GitLab 通知使您可以随时了解 GitLab 中发生的事情. 启用通知后,您可以接收有关问题,合并请求和史诗活动的更新. 通知通过电子邮件发送. - -## Receiving notifications[](#receiving-notifications "Permalink") - -您将由于以下原因之一收到通知: - -* 您参与发行,合并请求或史诗. 在这种情况下, *参与*意味着评论或编辑. -* You enable notifications in an issue, merge request, or epic. To enable notifications, click the **Notifications** toggle in the sidebar to *on*. - -启用通知后,您将收到有关该问题,合并请求或史诗中发生的操作的通知. - -**注意:**通知可能会被管理员阻止,从而阻止发送通知. - -## Tuning your notifications[](#tuning-your-notifications "Permalink") - -通知的数量可能是巨大的. GitLab 允许您调整收到的通知. 例如,您可能希望收到有关特定项目中所有活动的通知,而对于其他项目,仅当您的名字被提及时才得到通知. - -您可以通过组合通知设置来调整收到的通知: - -* [Global notification settings](#global-notification-settings) -* [Notification scope](#notification-scope) -* [Notification levels](#notification-levels) - -### Editing notification settings[](#editing-notification-settings "Permalink") - -编辑通知设置: - -1. 点击您的个人资料图片,然后选择**设置** . -2. 点击左侧边栏中的**通知** . -3. 编辑所需的通知设置. 编辑的设置将自动保存并启用. - -这些通知设置仅适用于您. 它们不会影响同一项目或组中其他任何人收到的通知. - -[![notification settings](img/81fe297de1dccaedd3340735454273bc.png)](img/notification_global_settings.png) - -## Global notification settings[](#global-notification-settings "Permalink") - -**全局通知设置**是默认设置,除非您为项目或组选择不同的值. - -* 通知电子邮件 - * 这是您的通知将发送到的电子邮件地址. -* 全局通知级别 - * 这是适用于所有通知的默认[通知级别](#notification-levels) . -* 接收有关您自己的活动的通知. - * 如果您想接收有关自己活动的通知,请选中此复选框. 默认值:未选中. - -### Notification scope[](#notification-scope "Permalink") - -您可以通过为每个项目和组选择不同的通知级别来调整通知的范围. - -通知范围按优先级顺序应用(从高到低): - -* Project - * 对于每个项目,您可以选择一个通知级别. 您的项目设置将覆盖组设置. -* Group - * 对于每个组,您可以选择一个通知级别. 您的群组设置会覆盖您的默认设置. -* 全局(默认) - * 如果尚未为发生活动的项目或组选择通知级别,则将应用全局或*默认*通知级别. - -#### Project notifications[](#project-notifications "Permalink") - -您可以为每个项目选择一个通知级别. 如果您需要密切监视选定项目中的活动,这将很有用. - -[![notification settings](img/bab81ba0a915cec8b039166d2defc074.png)](img/notification_project_settings_v12_8.png) - -要为项目选择通知级别,请使用以下两种方法之一: - -1. 点击您的个人资料图片,然后选择**设置** . -2. 点击左侧边栏中的**通知** . -3. 在" **项目"**部分中找到该项目. -4. 选择所需的[通知级别](#notification-levels) . - -Or: - -1. 导航到项目页面. -2. 单击带有下拉图标的通知下拉列表. -3. 选择所需的[通知级别](#notification-levels) . - -有关如何在有新版本发布时通知的演示,请参阅[发布通知](https://www.youtube.com/watch?v=qyeNkGgqmH4) . - -#### Group notifications[](#group-notifications "Permalink") - -您可以为每个组选择通知级别和电子邮件地址. - -[![notification settings](img/c39dc466882289b42ad827dbbc05b39f.png)](img/notification_group_settings_v12_8.png) - -##### Group notification level[](#group-notification-level "Permalink") - -要为组选择通知级别,请使用以下两种方法之一: - -1. 点击您的个人资料图片,然后选择**设置** . -2. 点击左侧边栏中的**通知** . -3. 在" **组"**部分中找到该项目. -4. 选择所需的[通知级别](#notification-levels) . - -* * * - -1. 导航到组的页面. -2. 单击带有下拉图标的通知下拉列表. -3. 选择所需的[通知级别](#notification-levels) . - -##### Group notification email address[](#group-notification-email-address "Permalink") - -在 GitLab 12.0 中引入 - -您可以选择一个电子邮件地址,以接收您所属的每个组的通知. 例如,如果您是自由职业者,并且希望将有关客户项目的电子邮件分开存放,这可能会很有用. - -1. 点击您的个人资料图片,然后选择**设置** . -2. 点击左侧边栏中的**通知** . -3. 在" **组"**部分中找到该项目. -4. 选择所需的电子邮件地址. - -### Notification levels[](#notification-levels "Permalink") - -对于每个项目和组,您可以选择以下级别之一: - -| Level | Description | -| --- | --- | -| Global | 您的全局设置适用. | -| Watch | 接收任何活动的通知. | -| 提一下 | `@mentioned`在评论中`@mentioned`接收通知. | -| Participate | 接收有关您参与的线程的通知. | -| Disabled | 关闭通知. | -| Custom | 接收有关自定义选定事件的通知. | - -## Notification events[](#notification-events "Permalink") - -将通知用户以下事件: - -| Event | 发给 | 设定等级 | -| --- | --- | --- | -| 添加了新的 SSH 密钥 | User | 安全电子邮件,始终发送. | -| 添加了新电子邮件 | User | 安全电子邮件,始终发送. | -| 电邮已变更 | User | 安全电子邮件,始终发送. | -| 密码已更改 | User | 安全电子邮件,始终发送. | -| 新用户创建 | User | 在创建用户时发送,但 OmniAuth(LDAP)除外 | -| 用户已添加到项目 | User | 将用户添加到项目时发送 | -| 项目访问权限级别已更改 | User | 更改用户项目访问级别时发送 | -| 用户已添加到组 | User | 将用户添加到组时发送 | -| 群组访问权限级别已更改 | User | 更改用户组访问级别时发送 | -| 项目已移 | 项目成员(1) | (1)不禁用 | -| 新品发布 | 项目成员 | 自定义通知 | - -## Issue / Epics / Merge request events[](#issue--epics--merge-request-events "Permalink") - -在以下大多数情况下,通知将发送到: - -* Participants: - * 发行/合并请求的作者和受让人 - * 关于问题/合并请求的评论的作者 - * `@username`在问题,合并请求或史诗的标题或描述中提到的任何人 - * `@username`在有关问题,合并请求或史诗的任何评论中提及的"参与"或更高通知级别的任何人 -* 观察者:通知级别为"观察"的用户 -* 订阅者:手动订阅问题,合并请求或史诗的任何人 -* 自定义:通知级别为"自定义"的用户针对下表中显示的任何事件打开了通知 - -**注意:**为了最大程度地减少不需要任何操作的通知的数量,从[GitLab 12.9 起](https://gitlab.com/gitlab-org/gitlab/-/issues/616) ,不再为项目中的所有活动通知合格的批准者. 要接收它们,他们必须将其用户通知设置更改为" **观看"** . - -| Event | 发给 | -| --- | --- | -| 新问题 |   | -| 结束期 |   | -| 重新分配问题 | 以上,加上旧的受让人 | -| 重新打开问题 |   | -| 到期问题 | 选择此事件的参与者和自定义通知级别 | -| 更改里程碑问题 | 选择了此事件的订户,提及的参与者和自定义通知级别 | -| 消除里程碑问题 | 选择了此事件的订户,提及的参与者和自定义通知级别 | -| 新合并请求 |   | -| 推送合并请求 | 选择此事件的参与者和自定义通知级别 | -| 重新分配合并请求 | 以上,加上旧的受让人 | -| 关闭合并请求 |   | -| 重新打开合并请求 |   | -| 合并合并请求 |   | -| 更改里程碑合并请求 | 选择了此事件的订户,提及的参与者和自定义通知级别 | -| 删除里程碑合并请求 | 选择了此事件的订户,提及的参与者和自定义通知级别 | -| 新评论 | 以上内容,加上评论中`@username`提及的任何人,通知级别为"提及"或更高 | -| 管道失败 | 管道的作者 | -| 固定管道 | 管道的作者. 默认启用. 在 GitLab 13.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/24309) . 管理员可以使用`ci_pipeline_fixed_notifications` [功能标记](../../administration/feature_flags.html)禁用此通知选项. | -| 成功的管道 | 管道的作者(如果他们具有成功管道的自定义通知设置). 如果管道先前失败,则将为失败后的第一个成功管道发送`Fixed pipeline`消息,然后为任何进一步成功的管道发送`Successful pipeline`消息. | -| 新史诗 |   | -| 接近史诗 |   | -| 重新开启史诗 |   | - -此外,如果发布或合并请求的标题或描述发生了更改,则通知将通过`@username`发送到任何**新**提及的内容,就像在原始文本中提到的一样. - -您不会收到有关您自己创建的问题,合并请求或里程碑的通知(除非由于问题而定). 仅当其他人对您创建或提及的内容进行评论或添加更改时,您才会收到自动通知. - -如果开放的合并请求由于冲突而变得不可合并,则将通知其原因. 如果用户还将合并请求设置为一旦管道成功就自动合并,则该用户也会收到通知. - -## Filtering email[](#filtering-email "Permalink") - -通知电子邮件包括特定于 GitLab 的标题. 您可以根据这些标头的内容过滤通知电子邮件,以更好地管理您的通知. 例如,您可以过滤特定项目的所有电子邮件,在该项目中您将被分配合并请求或问题. - -下表列出了所有特定于 GitLab 的电子邮件标题: - -| Header | Description | -| --- | --- | -| `X-GitLab-Group-Id` | 组的 ID. 仅在史诗的通知电子邮件中显示. | -| `X-GitLab-Group-Path` | 组的路径. 仅在史诗的通知电子邮件中显示. | -| `X-GitLab-Project` | 通知所属的项目的名称. | -| `X-GitLab-Project-Id` | 项目的 ID. | -| `X-GitLab-Project-Path` | 项目的路径. | -| `X-GitLab-(Resource)-ID` | 通知所针对的资源的 ID. 该资源例如可以是`Issue` , `MergeRequest` , `Commit`或其他此类资源. | -| `X-GitLab-Discussion-ID` | 注释所属的线程的 ID,用于注释的通知电子邮件中. | -| `X-GitLab-Pipeline-Id` | 通知所针对的管道的 ID,在管道的通知电子邮件中. | -| `X-GitLab-Reply-Key` | 支持通过电子邮件回复的唯一令牌. | -| `X-GitLab-NotificationReason` | 通知原因. 可以`mentioned` , `assigned`或`own_activity` . | -| `List-Id` | The path of the project in an RFC 2919 mailing list identifier. This is useful for email organization with filters, for example. | - -### X-GitLab-NotificationReason[](#x-gitlab-notificationreason "Permalink") - -`X-GitLab-NotificationReason`标头包含`X-GitLab-NotificationReason`的原因. 该值是按优先级顺序的以下值之一: - -* `own_activity` -* `assigned` -* `mentioned` - -通知的原因也包含在通知电子邮件的页脚中. 例如有原因的电子邮件`assigned`都会有这句话的注脚: - -* `You are receiving this email because you have been assigned an item on .` - -**注意:**正在考虑将其他事件的通知包含在`X-GitLab-NotificationReason`标头中. 有关详细信息,请参见此[相关问题](https://gitlab.com/gitlab-org/gitlab/-/issues/20689) . \ No newline at end of file diff --git a/docs/411.md b/docs/411.md deleted file mode 100644 index 240ac32..0000000 --- a/docs/411.md +++ /dev/null @@ -1,106 +0,0 @@ -# GitLab Quick Actions - -> 原文:[https://docs.gitlab.com/ee/user/project/quick_actions.html](https://docs.gitlab.com/ee/user/project/quick_actions.html) - -* [Quick Actions for issues, merge requests and epics](#quick-actions-for-issues-merge-requests-and-epics) -* [Autocomplete characters](#autocomplete-characters) -* [Quick actions parameters](#quick-actions-parameters) -* [Quick actions for commit messages](#quick-actions-for-commit-messages) - -# GitLab Quick Actions[](#gitlab-quick-actions "Permalink") - -版本历史 - -* 在[GitLab 12.1 中](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/26672)引入:一旦执行了一项操作,成功执行快速操作后将显示一条警报. -* 在[GitLab 13.2](https://gitlab.com/gitlab-org/gitlab/-/issues/16877)和更高版本中,您可以在更新问题,史诗和合并请求的描述时使用快速操作. - -快速操作是针对问题,史诗,合并请求和提交的常见操作的文本快捷方式,通常可通过在 GitLab 用户界面中单击按钮或下拉菜单来完成. 您可以在说明中或问题,史诗,合并请求和提交的注释中输入这些命令. 每个命令应放在单独的行上,以便正确检测和执行. - -## Quick Actions for issues, merge requests and epics[](#quick-actions-for-issues-merge-requests-and-epics "Permalink") - -以下快速操作适用于其中的描述,讨论和主题: - -* Issues -* 合并要求 -* Epics - -| Command | Issue | 合并要求 | Epic | Action | -| --- | --- | --- | --- | --- | -| `/approve` |   | ✓ |   | 批准合并请求. | -| `/assign @user` | ✓ | ✓ |   | 分配一个用户. | -| `/assign @user1 @user2` | ✓ | ✓ |   | 分配多个用户. | -| `/assign me` | ✓ | ✓ |   | 分配自己. | -| `/award :emoji:` | ✓ | ✓ | ✓ | 切换表情符号奖. | -| `/child_epic ` |   |   | ✓ | 将子史诗添加到`` . ``值的格式应为`&epic` , `group&epic`或`group&epic`的 URL( [在 GitLab 12.0 中引入](https://gitlab.com/gitlab-org/gitlab/-/issues/7330) ). | -| `/clear_weight` | ✓ |   |   | 净重. | -| `/close` | ✓ | ✓ | ✓ | Close. | -| `/confidential` | ✓ |   |   | 保密. | -| `/copy_metadata ` | ✓ | ✓ |   | 从项目中的另一个合并请求中复制标签和里程碑. | -| `/copy_metadata <#issue>` | ✓ | ✓ |   | Copy labels and milestone from another issue in the project. | -| `/create_merge_request ` | ✓ |   |   | 从当前问题开始创建一个新的合并请求. | -| `/done` | ✓ | ✓ | ✓ | 将待办事项标记为已完成. | -| `/due ` | ✓ |   |   | 设置截止日期. 有效的``示例包括`in 2 days` ( `this Friday`和`December 31st` . | -| `/duplicate <#issue>` | ✓ |   |   | 关闭此问题,并将其标记为另一个问题的副本. 另外,将两者都标记为相关. | -| `/epic ` | ✓ |   |   | 添加到史诗`` . ``值的格式应为`&epic` , `group&epic`或`group&epic`的 URL. | -| `/estimate <w
d h m>` | ✓ | ✓ |   | 设置时间估计. 例如, `/estimate 1w 3d 2h 14m` . | -| `/iteration *iteration:iteration` | ✓ |   |   | 设置迭代( [在 GitLab 13.1 中引入](https://gitlab.com/gitlab-org/gitlab/-/issues/196795) ) | -| `/label ~label1 ~label2` | ✓ | ✓ | ✓ | 添加一个或多个标签. 标签名称也可以不使用波浪号( `~` )开头,但是不支持混合语法. | -| `/lock` | ✓ | ✓ |   | 锁定螺纹. | -| `/merge` |   | ✓ |   | 合并更改. 根据项目设置,这可能是[管道成功](merge_requests/merge_when_pipeline_succeeds.html) ,添加到" [合并火车](../../ci/merge_request_pipelines/pipelines_for_merged_results/merge_trains/index.html) "等时. | -| `/milestone %milestone` | ✓ | ✓ |   | 设定里程碑. | -| `/move ` | ✓ |   |   | 将此问题移到另一个项目. | -| `/parent_epic ` |   |   | ✓ | 将父级史诗设置为`` . ``值的格式应为`&epic` , `group&epic`或`group&epic`的 URL( [在 GitLab 12.1 中引入](https://gitlab.com/gitlab-org/gitlab/-/issues/10556) ). | -| `/promote` | ✓ |   |   | 将问题升级为史诗. | -| `/publish` | ✓ |   |   | 将问题发布到关联的[状态页](status_page/index.html) ( [在 GitLab 13.0 中引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/30906) ) | -| `/reassign @user1 @user2` | ✓ | ✓ |   | 更改受让人. | -| `/relabel ~label1 ~label2` | ✓ | ✓ | ✓ | 用指定的标签替换现有的标签. | -| `/relate #issue1 #issue2` | ✓ |   |   | 将问题标记为相关. | -| `/remove_child_epic ` |   |   | ✓ | 从``删除儿童史诗. ``值的格式应为`&epic` , `group&epic`或`group&epic`的 URL( [在 GitLab 12.0 中引入](https://gitlab.com/gitlab-org/gitlab/-/issues/7330) ). | -| `/remove_due_date` | ✓ |   |   | 删除到期日. | -| `/remove_epic` | ✓ |   |   | 从史诗中删除. | -| `/remove_estimate` | ✓ | ✓ |   | 删除时间估计. | -| `/remove_iteration` | ✓ |   |   | 删除迭代( [在 GitLab 13.1 中引入](https://gitlab.com/gitlab-org/gitlab/-/issues/196795) ) | -| `/remove_milestone` | ✓ | ✓ |   | 删除里程碑. | -| `/remove_parent_epic` |   |   | ✓ | 从史诗中删除父史诗( [在 GitLab 12.1 中引入](https://gitlab.com/gitlab-org/gitlab/-/issues/10556) ). | -| `/remove_time_spent` | ✓ | ✓ |   | 消除花费的时间. | -| `/remove_zoom` | ✓ |   |   | 从此问题中删除 Zoom 会议( [在 GitLab 12.4 中引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/16609) ). | -| `/reopen` | ✓ | ✓ | ✓ | Reopen. | -| `/shrug ` | ✓ | ✓ | ✓ | 将注释附加到`¯\_(ツ)_/¯` . | -| `/spend h m)> )>` | ✓ | ✓ |   | 减去花费的时间. (可选)指定花费时间的日期. 例如`/spend time(-1h 30m)`或`/spend time(-1h 30m) date(2018-08-26)` . | -| `/spend h m)> )>` | ✓ | ✓ |   | 增加花费的时间. (可选)指定花费时间的日期. 例如`/spend time(1h 30m)`或`/spend time(1h 30m) date(2018-08-26)` . | -| `/submit_review` |   | ✓ |   | Submit a pending review ([introduced in GitLab 12.7](https://gitlab.com/gitlab-org/gitlab/-/issues/8041)). | -| `/subscribe` | ✓ | ✓ | ✓ | 订阅通知. | -| `/tableflip ` | ✓ | ✓ | ✓ | 在`(╯°□°)╯︵ ┻━┻`添加注释. | -| `/target_branch ` |   | ✓ |   | 设置目标分支. | -| `/title ` | ✓ | ✓ | ✓ | 更改标题. | -| `/todo` | ✓ | ✓ | ✓ | 添加待办事项. | -| `/unassign @user1 @user2` | ✓ | ✓ |   | 删除特定的受让人. | -| `/unassign` | ✓ | ✓ |   | 删除所有受让人. | -| `/unlabel ~label1 ~label2` or `/remove_label ~label1 ~label2` | ✓ | ✓ | ✓ | 删除所有或特定标签. | -| `/unlock` | ✓ | ✓ |   | 解锁线程. | -| `/unsubscribe` | ✓ | ✓ | ✓ | 退订通知. | -| `/weight ` | ✓ |   |   | 设定重量. 为有效选项``包括`0` , `1` , `2` ,依此类推. | -| `/wip` |   | ✓ |   | 切换"进行中"状态. | -| `/zoom ` | ✓ |   |   | 将 Zoom [Meeting](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/16609)添加到此问题( [在 GitLab 12.4 中引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/16609) ). | - -## Autocomplete characters[](#autocomplete-characters "Permalink") - -许多快速操作都需要一个参数,例如:用户名,里程碑和标签. 与从列表中选择项目相比, [自动完成字符](autocomplete_characters.html)可以使输入参数更加容易. - -## Quick actions parameters[](#quick-actions-parameters "Permalink") - -设置快速操作参数的最简单方法是使用自动完成功能. 如果您手动输入参数,则该参数必须用双引号( `"` )括起来,除非它仅包含以下字符: - -1. ASCII 字母. -2. 数字(0-9). -3. 下划线( `_` ),连字符( `-` ),问号( `?` ),点( `.` )或`&` ( `&` ). - -参数也区分大小写. 自动完成功能会自动处理此问题,并自动插入引号. - -## Quick actions for commit messages[](#quick-actions-for-commit-messages "Permalink") - -以下快速操作适用于提交消息: - -| Command | Action | -| --- | --- | -| `/tag v1.2.3 ` | 使用可选消息标记此提交 | \ No newline at end of file diff --git a/docs/412.md b/docs/412.md deleted file mode 100644 index 3635b2e..0000000 --- a/docs/412.md +++ /dev/null @@ -1,45 +0,0 @@ -# Autocomplete characters - -> 原文:[https://docs.gitlab.com/ee/user/project/autocomplete_characters.html](https://docs.gitlab.com/ee/user/project/autocomplete_characters.html) - -* [Example](#example) - -# Autocomplete characters[](#autocomplete-characters "Permalink") - -自动完成字符提供了一种在 Markdown 字段中输入字段值的快速方法. 当您开始在 Markdown 字段中使用以下字符之一键入单词时,GitLab 将针对一组匹配值逐步自动完成. 字符串匹配不区分大小写. - -| Character | Autocompletes | -| --- | --- | -| `~` | Labels | -| `%` | Milestones | -| `@` | 用户和组 | -| `#` | Issues | -| `!` | 合并要求 | -| `&` | Epics | -| `$` | Snippets | -| `:` | Emoji | -| `/` | 快速行动 | - -弹出列表中最多显示 5 个最相关的匹配项. 当您从列表中选择一个项目时,该值将输入到该字段中. 输入的字符越多,匹配项就越精确. - -与" [快速操作"](quick_actions.html)结合使用时,自动完成字符很有用. - -## Example[](#example "Permalink") - -假设您的 GitLab 实例包括以下用户: - -| Username | Name | -| --- | --- | -| alessandra | 罗斯·格兰特 | -| lawrence.white | 凯尔西·克鲁克 | -| leanna | 罗斯玛丽·罗甘(Rosemarie Rogahn) | -| logan_gutkowski | 李·沃克特 | -| shelba | 约瑟芬·海利 | - -在"问题"注释中,输入`@l`将显示以下弹出列表. 请注意,不包括用户`shelba` ,因为该列表仅包含与问题最相关的 5 个用户. - -[![Popup list which includes users whose username or name contains the letter `l`](img/7b1af71091089deb54dbd357d9679d9c.png)](img/autocomplete_characters_example1_v12_0.png) - -如果继续输入`@le` ,弹出列表将更改为以下内容. 现在,弹出窗口仅包括用户名中出现`le`或用户名中的单词的用户. - -[![Popup list which includes users whose username or name contains the string `le`](img/09a583a4343d2359d87040afc14139dd.png)](img/autocomplete_characters_example2_v12_0.png) \ No newline at end of file diff --git a/docs/413.md b/docs/413.md deleted file mode 100644 index 305f9b1..0000000 --- a/docs/413.md +++ /dev/null @@ -1,92 +0,0 @@ -# Reserved project and group names - -> 原文:[https://docs.gitlab.com/ee/user/reserved_names.html](https://docs.gitlab.com/ee/user/reserved_names.html) - -* [Reserved project names](#reserved-project-names) -* [Reserved group names](#reserved-group-names) - -# Reserved project and group names[](#reserved-project-and-group-names "Permalink") - -并非所有项目和组名都被允许,因为它们会与 GitLab 使用的现有路由冲突. - -有关不允许用作组名或项目名的单词的列表,请参阅`TOP_LEVEL_ROUTES` , `PROJECT_WILDCARD_ROUTES`和`GROUP_ROUTES`列表下的[`path_regex.rb`文件](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/path_regex.rb) : - -* `TOP_LEVEL_ROUTES` :是保留为用户名或顶级组的名称 -* `PROJECT_WILDCARD_ROUTES` :是为子组或项目保留的名称. -* `GROUP_ROUTES` :是为所有组或项目保留的名称. - -## Reserved project names[](#reserved-project-names "Permalink") - -当前无法创建具有以下名称的项目: - -* `\-` -* `badges` -* `blame` -* `blob` -* `builds` -* `commits` -* `create` -* `create_dir` -* `edit` -* `environments/folders` -* `files` -* `find_file` -* `gitlab-lfs/objects` -* `info/lfs/objects` -* `new` -* `preview` -* `raw` -* `refs` -* `tree` -* `update` -* `wikis` - -## Reserved group names[](#reserved-group-names "Permalink") - -当前,以下名称保留为顶级组: - -* `\-` -* `.well-known` -* `404.html` -* `422.html` -* `500.html` -* `502.html` -* `503.html` -* `abuse_reports` -* `admin` -* `api` -* `apple-touch-icon-precomposed.png` -* `apple-touch-icon.png` -* `assets` -* `autocomplete` -* `dashboard` -* `deploy.html` -* `explore` -* `favicon.ico` -* `favicon.png` -* `files` -* `groups` -* `health_check` -* `help` -* `import` -* `invites` -* `jwt` -* `login` -* `oauth` -* `profile` -* `projects` -* `public` -* `robots.txt` -* `s` -* `search` -* `sent_notifications` -* `slash-command-logo.png` -* `snippets` -* `unsubscribes` -* `uploads` -* `users` -* `v2` - -这些组名不能用作子组名: - -* `\-` \ No newline at end of file diff --git a/docs/414.md b/docs/414.md deleted file mode 100644 index 179795c..0000000 --- a/docs/414.md +++ /dev/null @@ -1,193 +0,0 @@ -# Search through GitLab - -> 原文:[https://docs.gitlab.com/ee/user/search/](https://docs.gitlab.com/ee/user/search/) - -* [Issues and merge requests](#issues-and-merge-requests) - * [Issues and MRs assigned to you or created by you](#issues-and-mrs-assigned-to-you-or-created-by-you) - * [Filtering issue and merge request lists](#filtering-issue-and-merge-request-lists) - * [Filtering by **None** / **Any**](#filtering-by-none--any) - * [Searching for specific terms](#searching-for-specific-terms) - * [Filtering by ID](#filtering-by-id) - * [Filtering merge requests by approvers](#filtering-merge-requests-by-approvers-starter) - * [Filtering merge requests by “approved by”](#filtering-merge-requests-by-approved-by-starter) -* [Filters autocomplete](#filters-autocomplete) -* [Search history](#search-history) -* [Removing search filters](#removing-search-filters) -* [Filtering with multiple filters of the same type](#filtering-with-multiple-filters-of-the-same-type) -* [Shortcut](#shortcut) -* [To-Do List](#to-do-list) -* [Projects](#projects) -* [Groups](#groups) -* [Issue Boards](#issue-boards) -* [Advanced Global Search](#advanced-global-search-starter) -* [Advanced Syntax Search](#advanced-syntax-search-starter) - -# Search through GitLab[](#search-through-gitlab "Permalink") - -## Issues and merge requests[](#issues-and-merge-requests "Permalink") - -要搜索问题并合并多个项目中的请求,可以使用屏幕右上角的" **问题"**或" **合并请求"**链接. - -它们两者都以相同的方式工作,因此,以下说明对两者均有效. - -右边显示的数字代表分配给您的问题和合并请求的数量. - -[![issues and MRs dashboard links](img/d0143a44aad793332527a786d79524f7.png)](img/dashboard_links.png) - -点击**问题时** ,您会立即看到分配给您的未解决问题: - -[![Issues assigned to you](img/41371f9efeaf03eb888ba8e19a486185.png)](img/issues_assigned_to_you.png) - -You can search through **Open**, **Closed**, or **All** issues. - -您还可以使用搜索和过滤器字段过滤结果,如下面的[过滤问题和合并请求列表中所述](#filtering-issue-and-merge-request-lists) . - -### Issues and MRs assigned to you or created by you[](#issues-and-mrs-assigned-to-you-or-created-by-you "Permalink") - -您还可以在屏幕右上角的搜索字段中找到问题的快捷方式,并合并由您创建或分配给您的请求: - -[![shortcut to your issues and mrs](img/a223e320ef570ec303a4e7346a899af7.png)](img/issues_mrs_shortcut.png) - -### Filtering issue and merge request lists[](#filtering-issue-and-merge-request-lists "Permalink") - -请按照以下步骤筛选项目和组中的" **问题**和**合并请求"**列表页面: - -1. 单击字段**搜索或过滤结果…** . -2. 在出现的下拉菜单中,选择您要过滤的属性: - * 作者 - * 受让人 - * [里程碑](../project/milestones/index.html) - * 释放 - * [标签](../project/labels.html) - * 我的反应 - * 机密 - * Epic(在 GitLab 12.9 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/195704) ),包括[儿童史诗](../group/epics/index.html#multi-level-child-epics-ultimate) (在[GitLab Ultimate](https://about.gitlab.com/pricing/) 13.0 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/9029) ) - * 搜索此文字 -3. 选择或键入用于过滤属性的运算符. 可以使用以下运算符: - * `=` :是 - * `!=` :不是(在 GitLab 12.7 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/18059) ) -4. 输入文本以按[过滤属性](#filters-autocomplete) . -5. 重复此过程以按多个属性进行过滤. 多个属性通过逻辑`AND` . - -例如,按作者`=` Jane 和 Milestone `!=` 12.6 进行过滤,以解决 Jane 是作者而里程碑不是 12.6 的问题. - -[![filter issues in a project](img/9570df3750a76ee8a88eddb48512daa3.png)](img/issue_search_filter_v12_7.png) - -### Filtering by **None** / **Any**[](#filtering-by-none--any "Permalink") - -一些过滤字段(例如里程碑和受让人)允许您按**None**或**Any**进行过滤. - -[![filter by none any](img/e1f4f357a93d9362f282810a575d73e3.png)](img/issues_filter_none_any.png) - -选择" **无"**将返回该字段为空值的结果. 例如:没有里程碑,没有受让人. - -选择" **任意** "则相反. 它返回该字段具有非空值的结果. - -### Searching for specific terms[](#searching-for-specific-terms "Permalink") - -您可以按标题或说明中包含的特定术语过滤问题并合并请求. - -* Syntax - * 搜索以任何顺序查找查询中的所有单词. 例如:搜索问题以寻找`display bug` ,将以任何顺序返回匹配这两个单词的所有问题. - * 要找到确切的术语,请使用双引号: `"display bug"` -* Limitation - * 出于性能原因,少于 3 个字符的术语将被忽略. 例如:搜索问题`included in titles`是一样`included titles` - * 每个查询只能搜索 4096 个字符和 64 个字词. - -[![filter issues by specific terms](img/e336833accfac93c8ed18718b667dab5.png)](img/issue_search_by_term.png) - -### Filtering by ID[](#filtering-by-id "Permalink") - -在 GitLab 12.1 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/39908) . - -您可以按 ID 将" **问题"**列表过滤到单个实例. 例如,输入过滤器`#10`仅返回问题 10.这同样适用于" **合并请求"**列表. 输入过滤器`#30`以仅返回合并请求 30. - -[![filter issues by specific id](img/1dcfd40d9306c4cfb80013c0cebdcac0.png)](img/issue_search_by_id.png) - -### Filtering merge requests by approvers[](#filtering-merge-requests-by-approvers-starter "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/9468) in [GitLab Starter](https://about.gitlab.com/pricing/) 11.9. - -要过滤单个批准者的合并请求,您可以键入(或从下拉列表中选择) **批准者**并选择用户. - -[![Filter MRs by an approver](img/5ec08a62b534de16956701e85c41e6b5.png)](img/filter_approver_merge_requests.png) - -### Filtering merge requests by “approved by”[](#filtering-merge-requests-by-approved-by-starter "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/30335) in [GitLab Starter](https://about.gitlab.com/pricing/) 13.0. - -要过滤已由特定个人批准的合并请求,您可以键入(或从下拉列表中选择)" **批准",**然后选择用户. - -[![Filter MRs by approved by](img/fe213f080418c1bd6d92faa7e49770d3.png)](img/filter_approved_by_merge_requests_v13_0.png) - -## Filters autocomplete[](#filters-autocomplete "Permalink") - -GitLab 在许多页面(问题,合并请求,史诗和管道等)中提供了许多过滤器,您可以使用它们来缩小搜索范围. 使用过滤器功能时,可以开始键入字符以显示相关用户或其他属性. - -为了优化性能,至少需要三个字符才能开始搜索. 例如,如果您要搜索受让人" Simone Presley"的问题,则您需要至少键入" Sim",然后自动完成才能给出任何相关结果. - -## Search history[](#search-history "Permalink") - -您可以通过单击搜索输入左侧的小箭头图标来查看最近的搜索. 单击搜索条目以再次运行该搜索. 此功能可用于问题和合并请求. 搜索结果存储在本地浏览器中. - -[![search history](img/3863add8513c90ad786112f7a200a568.png)](img/search_history.gif) - -## Removing search filters[](#removing-search-filters "Permalink") - -单击过滤器的(x)按钮或退格可以删除单个过滤器. 整个搜索过滤器可以通过点击搜索框的(X)按钮,或通过`⌘`键`(Mac)+⌫`被清除. - -要一次删除一个过滤器令牌,可以使用`⌥` (Mac)/ `Ctrl` + `⌫`键盘组合. - -## Filtering with multiple filters of the same type[](#filtering-with-multiple-filters-of-the-same-type "Permalink") - -某些过滤器可以多次添加. 这些包括但不限于受让人和标签. 当使用相同类型的多个过滤器进行过滤时,将应用"与"逻辑. 例如,如果您要过滤`assignee:@sam assignee:@sarah` ,那么您的结果将仅包含将受让人分配给 Sam 和 Sarah 的条目. - -[![multiple assignees filtering](img/1165fee2238c55848aeb09d59c76cf7b.png)](img/multiple_assignees.png) - -## Shortcut[](#shortcut "Permalink") - -您还可以在项目仪表板右上方的搜索字段中找到快捷方式,以快速访问问题并合并在该项目中创建或分配给您的请求: - -[![search per project - shortcut](img/3001efd4ffb849af0c15eb8dda4d4050.png)](img/project_search.png) - -## To-Do List[](#to-do-list "Permalink") - -可以通过"待办事项"和"完成"来搜索您[的待办事项列表](../todos.html#gitlab-to-do-list) . 您可以按项目,作者,类型和操作[过滤](../todos.html#filtering-your-to-do-list)它们. 另外,您可以按[**标签优先级**](../../user/project/labels.html#label-priority) , **最后创建**和**最早创建**对其进行排序. - -## Projects[](#projects "Permalink") - -您可以从左侧菜单中搜索项目,方法是依次点击菜单栏和**项目** . 在" **按名称过滤** "字段上,输入要查找的项目或组名称,GitLab 会在您键入时为您过滤它们. - -你也可以去找你的项目[出演](../project/index.html#star-a-project) ( **加星标的项目** ),并**探索**所有的公共和内部项目 GitLab.com 可用,从中你可以通过可视性筛选,通过**趋势** ,最好与**大多数明星**评分,或他们的**全部** . - -您还可以按**名称** , **最后创建** , **最旧创建** , **最后更新** , **最新更新** , **所有者**对它们进行排序,并选择隐藏或显示**已归档的项目** : - -[![sort projects](img/7ff67c276870da733a9bc04b2aa9d969.png)](img/sort_projects.png) - -## Groups[](#groups "Permalink") - -Similarly to [projects search](#projects), you can search through your groups from the left menu, by clicking the menu bar, then **Groups**. - -在" **按名称过滤** "字段上,输入要查找的组名,GitLab 将在您键入时为您过滤它们. - -您也可以**浏览**所有的公共和 GitLab.com 可用的内部组,您可以按照**最新创建的** , **最早建立** , **最后更新** ,或**最早的更新** . - -## Issue Boards[](#issue-boards "Permalink") - -在[问题板上](../../user/project/issue_board.html) ,您可以按**作者** , **受让人** , **里程碑**和**标签**过滤问题. 您还可以从键入时加载的字段中**按名称过滤** (按名称)(问题标题). - -当您要搜索要添加到**问题**面板中列表中的问题时,请点击屏幕右上角的**添加问题**按钮,打开一个模态窗口,除了按**名称**过滤它们之外,您还可以从中找到一个模式窗口**作者** , **受让人** , **里程碑**和**标签** ,选择多个问题以添加到您选择的列表中: - -[![search and select issues to add to board](img/e57526dd100a1b0a33bdae55e3bf32c7.png)](img/search_issues_board.png) - -## Advanced Global Search[](#advanced-global-search-starter "Permalink") - -利用 Elasticsearch 在整个 GitLab 实例上进行更快,更高级的代码搜索. - -[Learn how to use the Advanced Global Search.](advanced_global_search.html) - -## Advanced Syntax Search[](#advanced-syntax-search-starter "Permalink") - -使用高级查询获得更具针对性的搜索结果. - -[Learn how to use the Advanced Syntax Search.](advanced_search_syntax.html) \ No newline at end of file diff --git a/docs/415.md b/docs/415.md deleted file mode 100644 index 93e6acb..0000000 --- a/docs/415.md +++ /dev/null @@ -1,59 +0,0 @@ -# Advanced Global Search - -> 原文:[https://docs.gitlab.com/ee/user/search/advanced_global_search.html](https://docs.gitlab.com/ee/user/search/advanced_global_search.html) - -* [Overview](#overview) -* [Use cases](#use-cases) - * [Faster searches](#faster-searches) - * [Promote innersourcing](#promote-innersourcing) -* [Searching globally](#searching-globally) - -# Advanced Global Search[](#advanced-global-search-starter-only "Permalink") - -版本历史 - -* 在 GitLab [Starter](https://about.gitlab.com/pricing/) 8.4 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/109) . - -**GitLab.com 的可用性:**高级全局搜索(由 Elasticsearch 支持)在 GitLab.com 上尚不可用. 它将在 2020 年第三季度为所有付费群体逐步启用.请[遵循此史诗](https://gitlab.com/groups/gitlab-com/-/epics/649) ,以获取时间表上的最新更新. - -利用 Elasticsearch 在整个 GitLab 实例上进行更快,更高级的代码搜索. - -这是用户文档. 要安装和配置 Elasticsearch,请访问[管理员文档](../../integration/elasticsearch.html) . - -## Overview[](#overview "Permalink") - -GitLab 中的 Advanced Global Search 是一项功能强大的搜索服务,可以节省您的时间. 现在,您可以在其他团队中搜索可以为您自己的项目提供帮助的代码,而不必创建重复的代码和浪费时间. - -manbetx 客户端打不开利用[Elasticsearch](https://www.elastic.co/elasticsearch/)的搜索功能,并在搜索时启用它: - -* Projects -* Repositories -* Commits -* Issues -* 合并要求 -* Milestones -* 注释(评论) -* Snippets -* Wiki - -## Use cases[](#use-cases "Permalink") - -高级全局搜索在各种情况下都非常有用. - -### Faster searches[](#faster-searches "Permalink") - -如果您要处理大量数据,并希望保持 GitLab 的快速搜索,高级全局搜索将帮助您实现这一目标. - -### Promote innersourcing[](#promote-innersourcing "Permalink") - -您的公司可能由许多不同的开发人员团队组成,每个开发人员团队都有各自的团队来托管各种项目. 您的某些应用程序可能会相互连接,因此您的开发人员需要立即在整个 GitLab 实例中进行搜索并找到他们搜索的代码. - -## Searching globally[](#searching-globally "Permalink") - -像以前一样使用搜索,GitLab 会向您显示您有权访问的每个项目中的匹配代码. - -[![Advanced Global Search](img/a3626522e1409168b7c977ecebbaee6e.png)](img/advanced_global_search.png) - -您还可以使用提供一些有用查询的[高级语法搜索](advanced_search_syntax.html) . - -**注意:** Elasticsearch 仅具有默认分支的数据. 这意味着,如果您转到存储库树并将分支从默认分支切换到其他分支,那么即使启用了 Elasticsearch,常规搜索也会提供搜索结果页面中的"代码"选项卡. \ No newline at end of file diff --git a/docs/416.md b/docs/416.md deleted file mode 100644 index b317ade..0000000 --- a/docs/416.md +++ /dev/null @@ -1,66 +0,0 @@ -# Advanced Syntax Search - -> 原文:[https://docs.gitlab.com/ee/user/search/advanced_search_syntax.html](https://docs.gitlab.com/ee/user/search/advanced_search_syntax.html) - -* [Overview](#overview) -* [Use cases](#use-cases) -* [Using the Advanced Syntax Search](#using-the-advanced-syntax-search) - * [Syntax search filters](#syntax-search-filters) - -# Advanced Syntax Search[](#advanced-syntax-search-starter "Permalink") - -版本历史 - -* 在[GitLab Enterprise Starter](https://about.gitlab.com/pricing/) 9.2 中引入 - -**GitLab.com 可用性:**自 2020-07-10 起,在 GitLab.com 上启用了 Bronze 及更高版本的 Advanced Global Search(由 Elasticsearch 支持). - -使用高级查询获得更具针对性的搜索结果. - -这是用户文档. 要安装和配置 Elasticsearch,请访问[管理员文档](../../integration/elasticsearch.html) . - -## Overview[](#overview "Permalink") - -"高级语法搜索"是" [高级全局搜索"](advanced_global_search.html)的子集,如果您想要更具体的搜索结果,可以使用它. - -Advanced Global Search 仅支持搜索[默认分支](../project/repository/branches/index.html#default-branch) . - -## Use cases[](#use-cases "Permalink") - -例如,假设您开发的产品依赖于另一个组中托管的另一种产品的代码. - -由于在您的 GitLab 实例下托管了数百个不同的项目,因此您需要搜索结果尽可能地高效. 您对要查找的内容有感觉(例如,函数名),但是同时您也不太确定. - -在这种情况下,在查询中使用高级搜索语法将产生更好的结果. - -## Using the Advanced Syntax Search[](#using-the-advanced-syntax-search "Permalink") - -高级语法搜索支持带有前缀,布尔运算符等的模糊或精确搜索查询. - -可以在[Elasticsearch 文档中](https://www.elastic.co/guide/en/elasticsearch/reference/5.3/query-dsl-simple-query-string-query.html#_simple_query_string_syntax)找到完整的详细信息,但是这里有一个快速指南: - -* 搜索以任何顺序搜索查询中的所有单词,例如:搜索`display bug`问题将以任何顺序返回匹配这两个单词的所有问题. -* 要查找确切的词组(仍然适用词干),请使用双引号: `"display bug"` -* 要查找未提及显示的错误,请使用`-` : `bug -display` -* 要查找显示或声音中的错误,请使用`|` : `bug display | sound` `bug display | sound` -* 要组术语一起,使用括号: `bug | (display +sound)` `bug | (display +sound)` -* 要匹配部分单词,请使用`*` : `bug find_by_*` -* 要查找包含这些符号之一的术语,请使用`\` : `argument \-last` - -### Syntax search filters[](#syntax-search-filters "Permalink") - -高级语法搜索还支持使用过滤器. 可用的过滤器是: - -* filename:按文件名过滤. 您可以使用 glob( `*` )运算符进行模糊匹配. -* path:按路径过滤. 您可以使用 glob( `*` )运算符进行模糊匹配. -* 扩展名:按扩展名过滤文件名. 请写扩展名,不要带引号. 仅完全匹配. - -要使用它们,只需将它们添加到您的查询格式`:`没有冒号之间的空格( `:` )和值. - -Examples: - -* 查找包含任何名为`hello_world.rb`内容的文件: `* filename:hello_world.rb` -* 查找一个名为`hello_world`的文件,其中包含文本`whatever` : `whatever filename:hello_world` -* 在扩展名为`.rb`文件中查找文本" def create": `def create extension:rb` -* 在名为`encryption`的文件夹中的文件内查找文本`sha` : `sha path:encryption` -* 查找任何以`hello`开头的文件,其中包含`world`并带有`.js`扩展名: `world filename:hello* extension:js` \ No newline at end of file diff --git a/docs/417.md b/docs/417.md deleted file mode 100644 index ccba4d2..0000000 --- a/docs/417.md +++ /dev/null @@ -1,84 +0,0 @@ -# Time Tracking - -> 原文:[https://docs.gitlab.com/ee/user/project/time_tracking.html](https://docs.gitlab.com/ee/user/project/time_tracking.html) - -* [Overview](#overview) -* [How to enter data](#how-to-enter-data) - * [Estimates](#estimates) - * [Time spent](#time-spent) -* [Configuration](#configuration) - * [Limit displayed units to hours](#limit-displayed-units-to-hours-core-only) -* [Other interesting links](#other-interesting-links) - -# Time Tracking[](#time-tracking "Permalink") - -在 GitLab 8.14 中引入. - -时间跟踪允许您跟踪估计和花费在问题上的时间以及在 GitLab 中合并请求. - -## Overview[](#overview "Permalink") - -时间跟踪使您能够: - -* 记录处理问题或合并请求所花费的时间. -* 添加完成问题或合并请求所需时间的估计. - -您不必输入估算值即可输入花费的时间,反之亦然. - -有关时间跟踪的数据显示在问题/合并请求侧栏上,如下所示. - -[![Time tracking in the sidebar](img/05a0790512923394006a9c3face18d58.png)](img/time_tracking_sidebar_v8_16.png) - -## How to enter data[](#how-to-enter-data "Permalink") - -时间跟踪使用了 GitLab 通过此新功能引入的两个[快速操作](quick_actions.html) : `/spend`和`/estimate` . - -快速操作既可以用于问题或合并请求的正文中,也可以用于问题或合并请求的注释中. - -下面是一个示例,说明如何在评论中使用这些新的快速操作. - -[![Time tracking example in a comment](img/37cb6e38ded4ec606f9bc7776f765e70.png)](img/time_tracking_example_v12_2.png) - -添加时间条目(花费的时间或估计的时间)仅限于项目成员. - -### Estimates[](#estimates "Permalink") - -要输入估算值,请输入`/estimate` ,然后输入时间. 例如,如果您需要输入 3 天 5 小时 10 分钟的估算值,则可以输入`/estimate 3d 5h 10m` . 我们支持的时间单位列在此帮助页面的底部. - -每次输入新的时间估算值时,任何先前的时间估算值都将被该新值覆盖. 在发布或合并请求中应该只有一个有效的估计. - -要完全删除估算,请使用`/remove_estimate` . - -### Time spent[](#time-spent "Permalink") - -要输入花费的时间,请使用`/spend 3d 5h 10m` . - -每个新花费的时间条目将被添加到当前用于发布或合并请求的总时间中. - -您可以通过输入负数来减少时间: `/spend -3d`将从总花费时间中删除 3 天. 您所花费的时间不能少于 0 分钟,因此,如果您删除的时间量与已输入的时间相比更长,则 GitLab 将自动重置所花费的时间. - -要删除一次花费的所有时间,请使用`/remove_time_spent` . - -## Configuration[](#configuration "Permalink") - -以下时间单位可用: - -* 月(mo) -* 周(w) -* Days (d) -* 小时(h) -* 分钟(米) - -默认转换率是 1mo = 4w,1w = 5d 和 1d = 8h. - -### Limit displayed units to hours[](#limit-displayed-units-to-hours-core-only "Permalink") - -在 GitLab 12.1 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/29469/) . - -在 GitLab 自我管理实例中,可以通过**"** **本地化** **"**下**"管理">"设置">"首**选项"中的选项将时间单位的显示限制为小时. - -启用此选项后,将显示`75h`而不是`1w 4d 3h` . - -## Other interesting links[](#other-interesting-links "Permalink") - -* [Time Tracking landing page in the GitLab handbook](https://about.gitlab.com/solutions/time-tracking/) \ No newline at end of file diff --git a/docs/418.md b/docs/418.md deleted file mode 100644 index 55e1dab..0000000 --- a/docs/418.md +++ /dev/null @@ -1,136 +0,0 @@ -# GitLab To-Do List - -> 原文:[https://docs.gitlab.com/ee/user/todos.html](https://docs.gitlab.com/ee/user/todos.html) - -* [What triggers a To Do](#what-triggers-a-to-do) - * [Directly addressing a To Do](#directly-addressing-a-to-do) - * [Manually creating a To Do](#manually-creating-a-to-do) -* [Marking a To Do as done](#marking-a-to-do-as-done) -* [Filtering your To-Do List](#filtering-your-to-do-list) - -# GitLab To-Do List[](#gitlab-to-do-list "Permalink") - -在 GitLab 8.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/2817) . - -当您登录到 GitLab 时,通常需要查看应该花些时间在哪里,采取一些措施或知道需要注意什么而无需大量电子邮件通知. GitLab 是您工作的地方,因此快速入门非常重要. - -待办事项列表在一个简单的仪表板中按时间顺序列出了等待您输入的项目. - -[![To Do screenshot showing a list of items to check on](img/aafa273009fd04415444f040f8b4c6cc.png)](img/todos_index.png) - -通过单击顶部导航中搜索栏旁边的对勾图标,可以快速访问待办事项列表. 如果计数为: - -* 小于 100 的蓝色数字是待办事项的数量. -* 大于或等于 100,则数字显示为 99+. 确切的数字显示在"任务列表"上. 你还有空. 否则,该数字将显示为 99+. 确切的数字显示在"任务列表"上. - -[![To Do icon](img/7f8f5e942a32629817a87b08e33d9071.png)](img/todos_icon.png) - -## What triggers a To Do[](#what-triggers-a-to-do "Permalink") - -在以下情况下,待办事项会显示在您的待办事项列表中: - -* 分配或合并请求已分配给您 -* 在以下内容的描述或评论中`@mentioned`您`@mentioned` : - * 问题 - * 合并请求 - * 史诗 -* 在以下评论中`@mentioned`您: - * 承诺 - * 设计 -* 您的合并请求的 CI / CD 管道失败 -* 由于冲突,一个打开的合并请求变得不可合并,并且满足以下条件之一: - * 你是作者 - * 您是将其设置为在管道成功后自动合并的用户 -* [从 GitLab 13.2 开始](https://gitlab.com/gitlab-org/gitlab/-/issues/12136) ,合并请求将从[合并火车中](../ci/merge_request_pipelines/pipelines_for_merged_results/merge_trains/index.html)删除,您是添加请求的用户. - -待办事项触发器不受[GitLab 通知电子邮件设置的影响](profile/notifications.html) . - -**注意:**当用户不再有权访问与待办事项相关的资源(例如问题,合并请求,项目或组)时,出于安全原因,相关的待办事项将在下一小时内删除. 如果用户的访问被错误地取消,则删除操作会延迟以防止数据丢失. - -### Directly addressing a To Do[](#directly-addressing-a-to-do "Permalink") - -在 GitLab 9.0 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/7926) . - -如果在一行的开头提到您,则您收到的待办事项将列为"直接处理". 例如,在此注释中: - -``` -@alice What do you think? cc: @bob - - @carol can you please have a look? - >>> -@dan what do you think? ->>> - -@erin @frank thank you! -``` - -接收直接处理的待办事项的人是`@alice` , `@erin`和`@frank` . 直接寻址的待办事项仅出于过滤目的而与提及事项有所不同; 否则,它们显示为正常. - -### Manually creating a To Do[](#manually-creating-a-to-do "Permalink") - -您还可以通过在以下位置单击" **添加待办事项"**按钮,将以下内容添加到"待办事项列表": - -* Issue -* 合并请求 -* Epic - -[![Adding a To Do from the issuable sidebar](img/f44886a0dc98ed48e0854c7d2ac6a220.png)](img/todos_add_todo_sidebar.png) - -## Marking a To Do as done[](#marking-a-to-do-as-done "Permalink") - -采取以下任何措施都会将相应的待办事项标记为已完成: - -* Issue -* 合并请求 -* Epic - -取消待办事项的动作包括: - -* 更换受让人 -* 改变里程碑 -* 添加/删除标签 -* 对这个问题发表评论 - -Your To-Do List is personal, and items are only marked as done if the action comes from you. If you close the issue or merge request, your To Do is automatically marked as done. - -为防止其他用户在不通知您的情况下关闭问题,如果其他人关闭,合并或对以下任何一项采取了措施,则您的待办事项将保持待处理状态: - -* Issue -* 合并要求 -* Epic - -每种情况只有一个待办事项,因此在一个问题中提到用户一百次只会触发一个待办事项. - -如果不需要采取任何措施,您可以通过单击相应的**"完成"**按钮来手动将"待办事项"标记为已完成,该按钮将从您的"待办事项列表"中消失. - -[![A To Do in the To-Do List](img/235fdd047e32990019bc08c92ced8299.png)](img/todos_todo_list_item.png) - -您还可以通过单击以下边栏中的" **标记为已完成"**按钮将"待办事项" **标记为已完成** : - -* Issue -* 合并请求 -* Epic - -[![Mark as done from the issuable sidebar](img/5e63fee9a28bb3e02eb772646de82b5c.png)](img/todos_mark_done_sidebar.png) - -您可以通过单击**全部标记为已完成**按钮将所有待办事项**标记为已完成** . - -## Filtering your To-Do List[](#filtering-your-to-do-list "Permalink") - -您可以在待办事项列表中使用四种过滤器. - -| Filter | Description | -| --- | --- | -| Project | 按项目筛选 | -| Group | 按组筛选 | -| Author | 按触发待办事项的作者过滤 | -| Type | 按问题,合并请求,设计或史诗过滤 | -| Action | 按触发待办事项的动作过滤 | - -您还可以同时按多个过滤条件之一进行过滤. [上面描述了](#what-triggers-a-to-do)可能的操作,包括: - -* 任何行动 -* Assigned -* Mentioned -* Added -* Pipelines -* 直接寻址 \ No newline at end of file diff --git a/docs/419.md b/docs/419.md deleted file mode 100644 index 9511acc..0000000 --- a/docs/419.md +++ /dev/null @@ -1,234 +0,0 @@ -# Administrator Docs - -> 原文:[https://docs.gitlab.com/ee/administration/](https://docs.gitlab.com/ee/administration/) - -* [Installing and maintaining GitLab](#installing-and-maintaining-gitlab) - * [Installing GitLab](#installing-gitlab) - * [Configuring GitLab](#configuring-gitlab) - * [Customizing GitLab’s appearance](#customizing-gitlabs-appearance) - * [Maintaining GitLab](#maintaining-gitlab) - * [Updating GitLab](#updating-gitlab) - * [Upgrading or downgrading GitLab](#upgrading-or-downgrading-gitlab) - * [GitLab platform integrations](#gitlab-platform-integrations) -* [User settings and permissions](#user-settings-and-permissions) -* [Project settings](#project-settings) -* [Package Registry administration](#package-registry-administration) - * [Repository settings](#repository-settings) -* [Continuous Integration settings](#continuous-integration-settings) -* [Snippet settings](#snippet-settings) -* [Git configuration options](#git-configuration-options) -* [Monitoring GitLab](#monitoring-gitlab) - * [Performance Monitoring](#performance-monitoring) -* [Analytics](#analytics) -* [Troubleshooting](#troubleshooting) - * [Support Team Docs](#support-team-docs) - -# Administrator Docs[](#administrator-docs-core-only "Permalink") - -了解如何管理自己的 GitLab 实例. - -manbetx 客户端打不开有两个产品发行版可以通过[不同的订阅获得](https://about.gitlab.com/pricing/) : - -* 开源[GitLab 社区版(CE)](https://gitlab.com/gitlab-org/gitlab-foss) . -* The open core [GitLab Enterprise Edition (EE)](https://gitlab.com/gitlab-org/gitlab). - -您可以[安装 GitLab CE 或 GitLab EE](https://about.gitlab.com/install/ce-or-ee/) . 但是,您可以使用的功能取决于您选择的订阅(Core,Starter,Premium 或 Ultimate). - -**注意:** GitLab 社区版安装只能访问核心功能. - -GitLab.com 由 GitLab,Inc.管理,因此,只有 GitLab 团队成员才能访问其管理配置. 如果您是 GitLab.com 用户,请检查[用户文档](../user/index.html) . - -**注意:**非管理员用户无权访问 GitLab 管理工具和设置. - -## Installing and maintaining GitLab[](#installing-and-maintaining-gitlab "Permalink") - -了解如何安装,配置,更新和维护您的 GitLab 实例. - -### Installing GitLab[](#installing-gitlab "Permalink") - -* [安装](../install/README.html) :要求,目录结构和安装方法. - * [数据库负载平衡](database_load_balancing.html) :在多个数据库服务器之间分配数据库查询. - * [Omnibus 支持日志转发](https://docs.gitlab.com/omnibus/settings/logs.html) -* [参考体系结构](reference_architectures/index.html) :添加其他资源以支持更多用户. - * [在 Amazon Web Services(AWS)上安装 GitLab](../install/aws/index.html) :在 Amazon AWS 上设置 GitLab. -* [地理位置](geo/replication/index.html) :将 GitLab 实例复制到其他地理位置,作为只读的完全可操作版本. -* [灾难恢复](geo/disaster_recovery/index.html) :在灾难情况下,只需最少的精力即可快速故障转移到其他站点. -* [Pivotal Tile](../install/pivotal/index.html) :使用用于 Pivotal Cloud Foundry 的 Ops Manager(BOSH)将 GitLab 部署为预配置的设备. -* [添加许可证](../user/admin_area/license.html) :在安装时上传许可证以解锁 GitLab 付费层中的功能. - -### Configuring GitLab[](#configuring-gitlab "Permalink") - -* [调整实例的时区](timezone.html) :定制 GitLab 的默认时区. -* [系统挂钩](../system_hooks/system_hooks.html) :更改用户,项目和键时的通知. -* [安全性](../security/README.html) :了解如何进一步保护 GitLab 实例. -* [使用情况统计信息,版本检查和使用情况 ping](../user/admin_area/settings/usage_statistics.html) :启用或禁用有关要发送到 GitLab,Inc.的实例的信息. -* [全局用户设置](user_settings.html) :配置实例范围的用户权限. -* [轮询](polling.html) :配置 GitLab UI 轮询更新的频率. -* [GitLab 页面配置](pages/index.html) :启用和配置 GitLab 页面. -* [用于 GitLab 源代码安装的 GitLab Pages 配置](pages/source.html) :在[源代码安装](../install/installation.html#installation-from-source)上启用和配置 GitLab Pages. -* [上传管理](uploads.html) :配置 GitLab 上传存储. -* [环境变量](environment_variables.html) :受支持的环境变量,可用于覆盖其默认值以配置 GitLab. -* [插件](plugins.html) :使用自定义插件,GitLab 管理员可以引入自定义集成,而无需修改 GitLab 的源代码. -* [Enforcing Terms of Service](../user/admin_area/settings/terms.html) -* [Third party offers](../user/admin_area/settings/third_party_offers.html) -* [合规性](compliance.html) :您可以配置整个应用程序中的功能集合,以帮助确保您的 GitLab 实例和 DevOps 工作流程符合合规性标准. -* 差异[限制](../user/admin_area/diff_limits.html) :配置分支比较页面的差异渲染大小限制. -* [合并请求差异存储](merge_request_diffs.html) :配置合并请求差异外部存储. -* [广播消息](../user/admin_area/broadcast_messages.html) :通过 UI 向 GitLab 用户发送消息. -* [Elasticsearch](../integration/elasticsearch.html) :使 Elasticsearch 能够授权 GitLab 的 Advanced Global Search. 当您处理大量数据时很有用. -* [External Classification Policy Authorization](../user/admin_area/settings/external_authorization.html) -* [上载许可证](../user/admin_area/license.html) :上载许可证以解锁 GitLab 付费层中的功能. -* [管理区域](../user/admin_area/index.html) :用于自我管理的实例范围内的配置和维护. -* [S / MIME 签名](smime_signing_email.html) :如何使用 S / MIME 对所有传出的通知电子邮件进行签名. -* [启用和禁用功能标志](feature_flags.html) :如何启用和禁用部署在功能标志后面的 GitLab 功能. - -#### Customizing GitLab’s appearance[](#customizing-gitlabs-appearance "Permalink") - -* [标头徽标](../user/admin_area/appearance.html#navigation-bar) :更改所有页面和电子邮件标头上的徽标. -* [网站](../user/admin_area/appearance.html#favicon)图标:将默认网站图标更改为您自己的徽标. -* [品牌登录页面](../user/admin_area/appearance.html#sign-in--sign-up-pages) :使用您自己的徽标,标题和描述来自定义登录页面. -* ["新项目"页面](../user/admin_area/appearance.html#new-project-pages) :自定义在用户创建新项目时打开的页面上显示的文本. -* [其他自定义电子邮件文本](../user/admin_area/settings/email.html#custom-additional-text-premium-only) :将其他自定义文本添加到从 GitLab 发送的电子邮件中. - -### Maintaining GitLab[](#maintaining-gitlab "Permalink") - -* [瑞克任务](../raketasks/README.html) :执行各种维护,备份,自动 Webhooks 设置等任务. - * [备份和还原](../raketasks/backup_restore.html) :备份和还原您的 GitLab 实例. -* [操作](operations/index.html) :保持 GitLab 正常运行(清理 Redis 会话,移动存储库,Sidekiq MemoryKiller,Puma). -* [重新启动 GitLab](restart_gitlab.html) :了解如何重新启动 GitLab 及其组件. -* [使 Markdown 缓存](invalidate_markdown_cache.html)无效:使所有缓存的 Markdown 无效. - -#### Updating GitLab[](#updating-gitlab "Permalink") - -* [GitLab 版本和维护策略](../policy/maintenance.html) :了解 GitLab 版本和发行版(主要,次要,补丁,安全)以及更新建议. -* [更新 GitLab](../update/README.html) :更新指南将您的安装升级到新版本. -* [无需停机](../update/README.html#upgrading-without-downtime)即可进行[升级:无需中断](../update/README.html#upgrading-without-downtime) GitLab 实例即可升级到较新的主要,次要或补丁版本的 GitLab. -* [将您的 GitLab CI / CD 数据迁移到另一个版本的 GitLab](../migrate_ci_to_ce/README.html) :如果您安装的是旧的 GitLab(版本低于 8.0),请按照本指南将现有的 GitLab CI / CD 数据迁移到另一个版本的 GitLab. - -### Upgrading or downgrading GitLab[](#upgrading-or-downgrading-gitlab "Permalink") - -* [从 GitLab CE 升级到 GitLab EE](../update/README.html#upgrading-between-editions) :了解如何将 GitLab 社区版升级到 GitLab 企业版. -* [从 GitLab EE 降级到 GitLab CE](../downgrade_ee_to_ce/README.html) :了解如何将 GitLab 企业版降级到社区版. - -### GitLab platform integrations[](#gitlab-platform-integrations "Permalink") - -* [Mattermost](https://docs.gitlab.com/omnibus/gitlab-mattermost/) :与[Mattermost](https://mattermost.com)集成, [后者](https://mattermost.com)是一个用于 Web 消息传递的开源私有云工作场所. -* [PlantUML](integration/plantuml.html) :在片段,Wiki 和存储库中创建的 AsciiDoc 和 Markdown 文档中创建简单图. -* [Web 终端](integration/terminal.html) :从 GitLab 的 CI / CD [环境中](../ci/environments/index.html#web-terminals)提供对部署到 Kubernetes 的应用程序的终端访问. - -## User settings and permissions[](#user-settings-and-permissions "Permalink") - -* [创建用户](../user/profile/account/create_accounts.html) :手动或通过身份验证集成创建用户. -* [Libravatar](libravatar.html) :使用 Libravatar 代替 Gravatar 进行用户化身. -* [注册限制](../user/admin_area/settings/sign_up_restrictions.html) :阻止特定域的电子邮件地址,或仅将特定域列入白名单. -* [访问限制](../user/admin_area/settings/visibility_and_access_controls.html#enabled-git-access-protocols) :定义可用于与 GitLab 进行通信的 Git 访问协议(SSH,HTTP,HTTPS). -* [身份验证和授权](auth/README.html) :使用 LDAP,SAML,CAS 和其他提供程序配置外部身份验证. - * [同步 LDAP](auth/ldap/index.html) - * [Kerberos 身份验证](../integration/kerberos.html) - * 另请参阅其他[身份验证](../topics/authentication/index.html#gitlab-administrators)主题(例如,实施 2FA). -* [电子邮件用户](../tools/email.html) :从 GitLab 内部向 GitLab 用户发送电子邮件. -* [用户群组](../user/admin_area/user_cohorts.html) :显示新用户及其在一段时间内的活动的每月群组. -* [审核日志和事件](audit_events.html) :查看在 GitLab 服务器中对以下内容所做的更改: - * 小组和项目. - * 实例. -* [Auditor 用户](auditor_users.html) :对 GitLab 实例上的所有项目,组和其他资源具有只读访问权限的用户. -* [传入电子邮件](incoming_email.html) :配置传入电子邮件,以允许用户[通过电子邮件](reply_by_email.html)进行[答复,通过电子邮件](reply_by_email.html)创建[问题](../user/project/issues/managing_issues.html#new-issue-via-email)以及[通过电子邮件](../user/project/issues/managing_issues.html#new-issue-via-email) [合并请求](../user/project/merge_requests/creating_merge_requests.html#new-merge-request-by-email-core-only) ,以及启用[Service Desk](../user/project/service_desk.html) . - * [传入电子邮件的 Postfix](reply_by_email_postfix_setup.html) :在 Ubuntu 上为传入电子邮件设置具有 IMAP 身份验证的基本 Postfix 邮件服务器. -* [滥用情况报告](../user/admin_area/abuse_reports.html) :查看和解决用户的滥用情况报告. -* [凭证清单](../user/admin_area/credentials_inventory.html) :通过凭证清单,GitLab 管理员可以在其 GitLab 自我管理实例中跟踪其用户使用的凭证. - -## Project settings[](#project-settings "Permalink") - -* [问题关闭模式](issue_closing_pattern.html) :自定义如何从提交消息中关闭问题. -* [Gitaly](gitaly/index.html) :配置 GitLab 的 Git 仓库存储服务 Gitaly. -* [默认标签](../user/admin_area/labels.html) :创建将自动添加到每个新项目的标签. -* [限制使用公共或内部项目](../public_access/public_access.html#restricting-the-use-of-public-or-internal-projects) :限制用户在创建项目或代码段时使用可见性级别. -* [自定义项目模板](../user/admin_area/custom_project_templates.html) :配置一组项目,以在创建新项目时用作自定义模板. - -## Package Registry administration[](#package-registry-administration "Permalink") - -* [容器注册表](packages/container_registry.html) :使用 GitLab 配置容器注册表. -* [软件包注册表](packages/index.html) :使 GitLab 可以充当 NPM 注册表和 Maven 存储库. -* [Dependency Proxy](packages/dependency_proxy.html): Configure the Dependency Proxy, a local proxy for frequently used upstream images/packages. - -### Repository settings[](#repository-settings "Permalink") - -* [仓库检查](repository_checks.html) :定期的 Git 仓库检查. -* [存储库存储路径](repository_storage_paths.html) :管理用于存储存储库的路径. -* [存储库存储类型](repository_storage_types.html) :有关不同存储库存储类型的信息. -* [存储库存储 Rake 任务](raketasks/storage.html) :一组 Rake 任务,用于列出并将与之关联的现有项目和附件从旧版存储迁移到哈希存储. -* [限制存储库大小](../user/admin_area/settings/account_and_limit_settings.html) :设置[存储库大小](../user/admin_area/settings/account_and_limit_settings.html)的硬限制. -* [静态对象外部存储](static_objects_external_storage.html) :为存储库中的静态对象设置外部存储. - -## Continuous Integration settings[](#continuous-integration-settings "Permalink") - -* [启用/禁用 GitLab CI / CD](../ci/enable_or_disable_ci.html#site-wide-admin-setting) :为您的实例启用或禁用 GitLab CI / CD. -* [GitLab CI / CD 管理员设置](../user/admin_area/settings/continuous_integration.html) :在整个站点范围内启用或禁用 Auto DevOps 并定义工件的最大大小和有效时间. -* [外部管道验证](external_pipeline_validation.html) :启用,禁用和配置外部管道验证. -* [作业工件](job_artifacts.html) :启用,禁用和配置作业工件(作业成功完成时输出的一组文件和目录). -* [作业日志](job_logs.html) :有关作业日志的信息. -* [注册跑步者](../ci/runners/README.html#types-of-runners) :了解如何注册和配置跑步者. -* [共享运行程序管道配额](../user/admin_area/settings/continuous_integration.html#shared-runners-pipeline-minutes-quota-starter-only) :限制共享运行程序的管道分钟的使用. -* [启用/禁用 Auto DevOps](../topics/autodevops/index.html#enablingdisabling-auto-devops) :为您的实例启用或禁用 Auto DevOps. - -## Snippet settings[](#snippet-settings "Permalink") - -* [设置](snippets/index.html)摘要[内容的大小限制](snippets/index.html) :设置摘要内容的最大大小限制. - -## Git configuration options[](#git-configuration-options "Permalink") - -* [服务器挂钩](server_hooks.html) :服务器挂钩(在文件系统上),用于当 Webhooks 不够用时. -* [Git LFS 配置](lfs/index.html) :了解如何为 GitLab 配置 LFS. -* [客房整理](housekeeping.html) :保持您的 Git 存储库整洁,快速. -* [配置 Git 协议 v2](git_protocol.html) :支持 Git 协议版本 2. -* [Manage large files with `git-annex` (Deprecated)](git_annex.html) - -## Monitoring GitLab[](#monitoring-gitlab "Permalink") - -* [Monitoring GitLab](monitoring/index.html): - * [监视正常运行时间](../user/admin_area/monitoring/health_check.html) :使用运行状况检查端点检查服务器状态. - * [IP 白名单](monitoring/ip_whitelist.html) :监视在探查时提供健康检查信息的端点. - * [监视 GitHub 导入](monitoring/github_imports.html) :GitLab 的 GitHub 导入器显示 Prometheus 指标以监视导入器的运行状况和进度. - -### Performance Monitoring[](#performance-monitoring "Permalink") - -* [GitLab Performance Monitoring](monitoring/performance/index.html): - * [启用性能监控](monitoring/performance/gitlab_configuration.html) :启用 GitLab 性能监控. - * [使用 Prometheus 监视 GitLab 性能](monitoring/prometheus/index.html) :配置 GitLab 和 Prometheus 以测量性能指标. - * [使用 Grafana 进行 GitLab 性能监视](monitoring/performance/grafana_configuration.html) :配置 GitLab 以通过图形和仪表板可视化时间序列指标. - * [请求分析](monitoring/performance/request_profiling.html) :获取有关慢速请求的详细资料. - * [效果栏](monitoring/performance/performance_bar.html) :获取当前页面的性能信息. - -## Analytics[](#analytics "Permalink") - -* [Pseudonymizer](pseudonymizer.html) :以安全的方式将数据从 GitLab 的数据库导出到 CSV 文件. - -## Troubleshooting[](#troubleshooting "Permalink") - -* [Debugging tips](troubleshooting/debug.html): Tips to debug problems when things go wrong -* [日志系统](logs.html) :在哪里查找日志. -* [Sidekiq 故障排除](troubleshooting/sidekiq.html) :在 Sidekiq 挂起且不处理作业时进行调试. -* [Troubleshooting Elasticsearch](troubleshooting/elasticsearch.html) -* [Navigating GitLab via Rails console](troubleshooting/navigating_gitlab_via_rails_console.html) -* [GitLab application limits](instance_limits.html) - -### Support Team Docs[](#support-team-docs "Permalink") - -GitLab 支持团队已经收集了许多有关对 GitLab 实例进行故障排除的信息. 这些文档通常由支持团队本身使用,或由客户在支持团队成员的直接指导下使用. GitLab 管理员可能会找到有用的信息来进行故障排除,但是如果您在使用 GitLab 实例时遇到麻烦,则应在参考这些文档之前检查[支持选项](https://about.gitlab.com/support/) . - -**警告:**使用下面文档中列出的命令可能会导致数据丢失或对 GitLab 实例的其他损坏,并且仅应由意识到风险的有经验的管理员使用. - -* [Useful diagnostics tools](troubleshooting/diagnostics_tools.html) -* [Useful Linux commands](troubleshooting/linux_cheat_sheet.html) -* [Troubleshooting Kubernetes](troubleshooting/kubernetes_cheat_sheet.html) -* [Troubleshooting PostgreSQL](troubleshooting/postgresql.html) -* [Guide to test environments](troubleshooting/test_environments.html) (for Support Engineers) -* [GitLab Rails 控制台命令](troubleshooting/gitlab_rails_cheat_sheet.html) (适用于支持工程师) -* [Troubleshooting SSL](troubleshooting/ssl.html) -* 有用的链接: - * [GitLab 开发人员文档](../development/README.html) - * [修复和恢复损坏的 Git 存储库](https://git.seveas.net/repairing-and-recovering-broken-git-repositories.html) - * [使用 OpenSSL 进行测试](https://www.feistyduck.com/library/openssl-cookbook/online/ch-testing-with-openssl.html) - * [`Strace`杂志](https://wizardzines.com/zines/strace/) -* GitLab.com 专用资源: - * [组 SAML / SCIM 设置](troubleshooting/group_saml_scim.html) \ No newline at end of file diff --git a/docs/420.md b/docs/420.md deleted file mode 100644 index effd400..0000000 --- a/docs/420.md +++ /dev/null @@ -1,167 +0,0 @@ -# Reference architectures - -> 原文:[https://docs.gitlab.com/ee/administration/reference_architectures/](https://docs.gitlab.com/ee/administration/reference_architectures/) - -* [Available reference architectures](#available-reference-architectures) -* [Availability Components](#availability-components) - * [Automated backups](#automated-backups-core-only) - * [Traffic load balancer](#traffic-load-balancer-starter-only) - * [Zero downtime updates](#zero-downtime-updates-starter-only) - * [Automated database failover](#automated-database-failover-premium-only) - * [Instance level replication with GitLab Geo](#instance-level-replication-with-gitlab-geo-premium-only) -* [Configure GitLab to scale](#configure-gitlab-to-scale) - * [Configuring select components with Cloud Native Helm](#configuring-select-components-with-cloud-native-helm) -* [Footnotes](#footnotes) - -# Reference architectures[](#reference-architectures "Permalink") - -您可以在单个服务器上设置 GitLab 或扩展它以服务许多用户. 本页详细介绍了由 GitLab 的质量和支持团队构建和验证的推荐参考架构. - -下面的图表表示每个体系结构层及其可处理的用户数量. 随着用户数量的增长,建议您相应地调整 GitLab. - -[![Reference Architectures](img/eec4d73b57835f2caa3ad88d45260b49.png)](img/reference-architectures.png) - -这些参考架构的测试是使用[GitLab 的 Performance Tool](https://gitlab.com/gitlab-org/quality/performance)在特定的编码工作负载下进行的,用于测试的吞吐量是根据样本客户数据计算得出的. 选择适合您规模的参考架构后,请参考将[GitLab 配置为可缩放](#configure-gitlab-to-scale)以查看所涉及的组件以及如何配置它们. - -每 1000 个用户使用以下每秒请求数(RPS)测试每种端点类型: - -* API:20 RPS -* 网络:2 RPS -* 转到:2 RPS - -对于用户数少于 2,000 的 GitLab 实例,建议您通过在单个计算机上[安装 GitLab](../../install/README.html)来使用[默认设置](#automated-backups-core-only) ,以最大程度地减少维护和资源成本. - -如果您的组织有 2000 多名用户,则建议将 GitLab 的组件扩展到多个机器节点. 机器节点按组件分组. 这些节点的增加提高了您的 GitLab 实例的性能和可伸缩性. - -扩展 GitLab 时,需要考虑以下几个因素: - -* 多个应用程序节点来处理前端流量. -* 前面添加了一个负载均衡器,以在应用程序节点之间分配流量. -* 应用程序节点连接到共享文件服务器以及后端的 PostgreSQL 和 Redis 服务. - -**注意:**根据您的工作流程,以下建议的参考体系结构可能需要进行相应的调整. 您的工作负载受以下因素影响,这些因素包括用户的活跃程度,使用的自动化程度,镜像和存储库/更改大小. 此外,显示的内存值由[GCP 机器类型提供](https://cloud.google.com/compute/docs/machine-types) . 对于不同的云供应商,请尝试选择最匹配所提供架构的选项. - -## Available reference architectures[](#available-reference-architectures "Permalink") - -提供以下参考体系结构: - -* [Up to 1,000 users](1k_users.html) -* [Up to 2,000 users](2k_users.html) -* [Up to 3,000 users](3k_users.html) -* [Up to 5,000 users](5k_users.html) -* [Up to 10,000 users](10k_users.html) -* [Up to 25,000 users](25k_users.html) -* [Up to 50,000 users](50k_users.html) - -## Availability Components[](#availability-components "Permalink") - -GitLab 随附以下组件供您使用,从最小到最复杂列出: - -1. [Automated backups](#automated-backups-core-only) -2. [Traffic load balancer](#traffic-load-balancer-starter-only) -3. [Zero downtime updates](#zero-downtime-updates-starter-only) -4. [Automated database failover](#automated-database-failover-premium-only) -5. [Instance level replication with GitLab Geo](#instance-level-replication-with-gitlab-geo-premium-only) - -在实现这些组件时,请从单个服务器开始,然后再进行备份. 仅在完成第一台服务器后,才可以继续执行下一个. - -此外,不为 GitLab 实施额外的服务器并不一定意味着您将有更多的停机时间. 根据您的需求和经验水平,单个服务器可以为用户带来更多实际的正常运行时间. - -### Automated backups[](#automated-backups-core-only "Permalink") - -> * 复杂程度: **低** -> * 必需的领域知识:PostgreSQL,GitLab 配置,Git -> * 支持的级别: [GitLab Core,Starter,Premium 和 Ultimate](https://about.gitlab.com/pricing/) - -该解决方案适用于具有默认 GitLab 安装的许多团队. 通过自动备份 GitLab 存储库,配置和数据库,如果您没有严格的要求,这可能是最佳的解决方案. [自动备份](../../raketasks/backup_restore.html#configuring-cron-to-make-daily-backups)的设置最简单. 这提供了预定时间表的时间点恢复. - -### Traffic load balancer[](#traffic-load-balancer-starter-only "Permalink") - -> * 复杂程度: **中** -> * 必需的领域知识:HAProxy,共享存储,分布式系统 -> * 支持的级别: [GitLab Starter,Premium 和 Ultimate](https://about.gitlab.com/pricing/) - -这需要使用添加的[负载平衡器](../high_availability/load_balancer.html)将 GitLab 分离为多个应用程序节点. 负载平衡器将在 GitLab 应用程序节点之间分配流量. 同时,每个应用程序节点都连接到后端的共享文件服务器和数据库系统. 这样,如果其中一台应用程序服务器发生故障,则工作流不会中断. 建议使用[HAProxy](https://www.haproxy.org/)作为负载平衡器. - -与默认安装相比,有了此添加的组件,您具有许多优点: - -* 增加用户数量. -* 启用零停机时间升级. -* 提高可用性. - -### Zero downtime updates[](#zero-downtime-updates-starter-only "Permalink") - -> * 复杂程度: **中** -> * 必需的领域知识:PostgreSQL,HAProxy,共享存储,分布式系统 -> * 支持的级别: [GitLab Starter,Premium 和 Ultimate](https://about.gitlab.com/pricing/) - -GitLab 支持[零停机时间更新](https://docs.gitlab.com/omnibus/update/) . 尽管您可以使用单个 GitLab 节点执行零停机时间更新,但是建议将 GitLab 分为几个应用程序节点. 只要每个组件中的至少一个在线且能够处理实例的使用负载,您的团队的生产力就不会在更新期间被打断. - -### Automated database failover[](#automated-database-failover-premium-only "Permalink") - -> * 复杂程度: **高** -> * 必需的领域知识:PgBouncer,Repmgr 或 Patroni,共享存储,分布式系统 -> * 支持的级别: [GitLab Premium 和 Ultimate](https://about.gitlab.com/pricing/) - -通过为数据库系统添加自动故障转移,可以通过其他数据库节点来提高正常运行时间. 这将使用群集管理和故障转移策略扩展默认数据库. [建议将 PgBouncer 与 Repmgr 或 Patroni 结合使用](../postgresql/replication_and_failover.html) . - -### Instance level replication with GitLab Geo[](#instance-level-replication-with-gitlab-geo-premium-only "Permalink") - -> * 复杂程度: **很高** -> * 必需的域知识:存储复制 -> * 支持的级别: [GitLab Premium 和 Ultimate](https://about.gitlab.com/pricing/) - -[GitLab Geo](../geo/replication/index.html)允许您将 GitLab 实例复制到其他地理位置,作为只读的完全可操作实例,如果发生灾难,也可以升级它. - -## Configure GitLab to scale[](#configure-gitlab-to-scale "Permalink") - -**Note:** From GitLab 13.0, using NFS for Git repositories is deprecated. In GitLab 14.0, support for NFS for Git repositories is scheduled to be removed. Upgrade to [Gitaly Cluster](../gitaly/praefect.html) as soon as possible. - -以下组件是您需要配置以扩展 GitLab 的组件. 如果您选择的[参考体系结构](#reference-architectures)要求它们,则按照通常配置它们的顺序列出它们. - -它们大多数捆绑在 GitLab deb / rpm 软件包(称为 Omnibus GitLab)中,但是根据您的系统架构,您可能需要其中未包含的某些组件. 如果需要,应在设置 GitLab 提供的组件之前对其进行配置. 配置说明列中提供了有关如何为您的组织选择正确的解决方案的建议. - -| Component | Description | 配置说明 | 与 Omnibus GitLab 捆绑在一起 | -| --- | --- | --- | --- | -| 负载均衡器( [6](#footnotes) ) | 处理负载平衡,通常在您有多个 GitLab 应用程序服务节点时 | [Load balancer configuration](../high_availability/load_balancer.html) ([6](#footnotes)) | No | -| 对象存储服务( [4](#footnotes) ) | 推荐的共享数据对象存储 | [Object Storage configuration](../object_storage.html) | No | -| NFS( [5](#footnotes) )( [7](#footnotes) ) | 共享磁盘存储服务. 可以用作备用对象存储. GitLab 页面必需 | [NFS configuration](../high_availability/nfs.html) | No | -| [Consul](../../development/architecture.html#consul) ([3](#footnotes)) | Service discovery and health checks/failover | [Consul configuration](../high_availability/consul.html) | Yes | -| [PostgreSQL](../../development/architecture.html#postgresql) | Database | [PostgreSQL configuration](https://docs.gitlab.com/omnibus/settings/database.html) | Yes | -| [PgBouncer](../../development/architecture.html#pgbouncer) | 数据库连接池 | [PgBouncer configuration](../high_availability/pgbouncer.html#running-pgbouncer-as-part-of-a-non-ha-gitlab-installation) | Yes | -| Repmgr | PostgreSQL 集群管理和故障转移 | [PostgreSQL and Repmgr configuration](../postgresql/replication_and_failover.html) | Yes | -| Patroni | 替代的 PostgreSQL 集群管理和故障转移 | [PostgreSQL and Patroni configuration](../postgresql/replication_and_failover.html#patroni) | Yes | -| [Redis](../../development/architecture.html#redis) ([3](#footnotes)) | 键/值存储,用于快速查找和缓存数据 | [Redis configuration](../high_availability/redis.html) | Yes | -| Redis 前哨 | Redis | [Redis Sentinel configuration](../high_availability/redis.html) | Yes | -| [吉塔利](../../development/architecture.html#gitaly) ( [2](#footnotes) )( [7](#footnotes) ) | 提供对 Git 存储库的访问 | [Gitaly configuration](../gitaly/index.html#run-gitaly-on-its-own-server) | Yes | -| [Sidekiq](../../development/architecture.html#sidekiq) | 异步/后台作业 | [Sidekiq configuration](../high_availability/sidekiq.html) | Yes | -| [GitLab application services](../../development/architecture.html#unicorn)([1](#footnotes)) | Puma / Unicorn,Workhorse,GitLab Shell-服务于前端请求(UI,API,基于 HTTP / SSH 的 Git) | [GitLab app scaling configuration](../high_availability/gitlab.html) | Yes | -| [Prometheus](../../development/architecture.html#prometheus) and [Grafana](../../development/architecture.html#grafana) | GitLab 环境监控 | [Monitoring node for scaling](../high_availability/monitoring_node.html) | Yes | - -### Configuring select components with Cloud Native Helm[](#configuring-select-components-with-cloud-native-helm "Permalink") - -我们还提供[Helm 图表](https://docs.gitlab.com/charts/)作为 GitLab 的 Cloud Native 安装方法. 对于参考体系结构,如果需要,可以以这种方式设置选择组件. - -对于此类设置,我们支持在[高级配置](https://docs.gitlab.com/charts/)中使用图表,在这些[高级配置中](https://docs.gitlab.com/charts/) ,有状态后端组件(例如数据库或 Gitaly)可通过 Omnibus 或信誉良好的第三方服务在外部运行. 请注意,我们目前不支持通过 Helm *大规模*运行有状态组件. - -设计这些环境时,应[参考](#available-reference-architectures)上面的相应[参考体系结构](#available-reference-architectures)以获取有关大小调整的指导. 通过 Helm 运行的组件将按类似比例缩放到其 Omnibus 规格,仅转换为 Kubernetes 资源. - -例如,如果您要设置一个 50k 的安装,并且 Rails 节点在 Helm 中运行,那么应该为 Kubernetes 集群提供与 Omnibus 相同数量的资源,并且将 Rails 节点分解为多个较小的 Pod 跨集群. - -## Footnotes[](#footnotes "Permalink") - -1. 在我们的体系结构中,我们使用 Puma Web 服务器运行每个 GitLab Rails 节点,并将其工作程序数量设置为 90%的可用 CPU 以及四个线程. 对于运行带有其他组件的 Rails 的节点,应该相应地降低 worker 的值,我们发现 50%达到了很好的平衡,但这取决于工作量. - -2. Gitaly 节点的要求取决于客户数据,特别是项目数量及其规模. 我们建议每个 Gitaly 节点应存储不超过 5TB 的数据,并且将[`gitaly-ruby`工作者](../gitaly/index.html#gitaly-ruby)的数量设置为可用 CPU 的 20%. 根据以上建议,应结合其他节点并结合对预期数据大小和分布的审查. - -3. 推荐的 Redis 设置因架构的大小而异. 对于较小的体系结构(少于 3000 个用户),一个实例就足够了. 对于中型安装(3,000-5,000),我们建议为所有课程使用一个 Redis 集群,并且 Redis Sentinel 与 Consul 一起托管. 对于较大的体系结构(10,000 个或更多用户),我们建议分别为 Cache 类和队列和 Shared State 类运行一个单独的[Redis 群集](../redis/replication_and_failover.html#running-multiple-redis-clusters) . 我们还建议您为每个 Redis 群集分别运行 Redis Sentinel 群集. - -4. 对于 LFS,Uploads,Artifacts 等数据对象.由于性能更好,我们建议尽可能在 NFS 上使用[对象存储服务](../object_storage.html) . - -5. NFS 可以用作对象存储的替代方法,但是出于性能考虑,通常不建议使用 NFS. 请注意,但是[GitLab Pages](https://gitlab.com/gitlab-org/gitlab-pages/-/issues/196)是必需的. - -6. 我们的架构已通过[HAProxy](https://www.haproxy.org/)作为负载均衡器进行了测试和验证. 尽管也可以使用具有类似功能集的其他负载均衡器,但这些负载均衡器尚未经过验证. - -7. 我们强烈建议为任何 Gitaly 或 NFS 节点设置 HDD 之上的 SSD 磁盘,其读操作的吞吐量至少为 8000 IOPS,写操作的吞吐量至少为 2,000 IOPS,因为这些组件的 I / O 繁重. 这些 IOPS 值仅建议作为启动器使用,因为随着时间的推移,它们可能会根据环境工作负载的规模而调整得更高或更低. 如果您正在 Cloud provider 上运行环境,则可能需要参考其文档以了解如何正确配置 IOPS. - -8. 这些架构是使用 GCP 上的[Intel Xeon E5 v3(Haswell)](https://cloud.google.com/compute/docs/cpu-platforms) CPU 平台构建和测试的. 在不同的硬件上,您可能会发现需要对 CPU 或节点数进行相应的调整,无论是较低还是较高. 有关更多信息,请在[此处](https://gitlab.com/gitlab-org/quality/performance/-/wikis/Reference-Architectures/GCP-CPU-Benchmarks)找到 CPU 的[Sysbench](https://github.com/akopytov/sysbench)基准. \ No newline at end of file diff --git a/docs/421.md b/docs/421.md deleted file mode 100644 index 5a41f03..0000000 --- a/docs/421.md +++ /dev/null @@ -1,46 +0,0 @@ -# Reference architecture: up to 1,000 users - -> 原文:[https://docs.gitlab.com/ee/administration/reference_architectures/1k_users.html](https://docs.gitlab.com/ee/administration/reference_architectures/1k_users.html) - -* [Setup instructions](#setup-instructions) -* [Footnotes](#footnotes) - -# Reference architecture: up to 1,000 users[](#reference-architecture-up-to-1000-users "Permalink") - -该页面描述了最多可容纳 1,000 位用户的 GitLab 参考架构. 有关参考架构的完整列表,请参见[可用参考架构](index.html#available-reference-architectures) . - -> * **支持的用户(大约):** 1,000 -> * **高可用性:** False - -| Users | Configuration([8](#footnotes)) | GCP | AWS | Azure | -| --- | --- | --- | --- | --- | -| 500 | 4 个 vCPU,3.6GB 内存 | `n1-highcpu-4` | `c5.xlarge` | F4s v2 | -| 1000 | 8 个 vCPU,7.2GB 内存 | `n1-highcpu-8` | `c5.2xlarge` | F8s v2 | - -除上述之外,即使您当前有足够的可用 RAM,我们也建议您在服务器上至少有 2GB 的交换空间. 如果您的可用内存发生更改,那么进行交换将有助于减少发生错误的机会. 我们还建议将内核的 swappiness 设置配置为较低的值(例如`10`以充分利用您的 RAM,同时在需要时仍可使用交换功能. - -对于需要服务多达 1,000 个用户的情况,具有[频繁备份](index.html#automated-backups-core-only)的单节点解决方案适用于许多组织. 通过自动备份 GitLab 存储库,配置和数据库,如果您对可用性没有严格的要求,这是理想的解决方案. - -## Setup instructions[](#setup-instructions "Permalink") - -* 对于此默认参考体系结构,请使用标准[安装说明](../../install/README.html)来安装 GitLab. - -**注意:**您还可以选择将 GitLab 配置为使用[外部 PostgreSQL 服务](../postgresql/external.html)或[外部对象存储服务](../high_availability/object_storage.html) ,从而以降低的复杂性成本来提高性能和可靠性. - -## Footnotes[](#footnotes "Permalink") - -1. 在我们的体系结构中,我们使用 Puma Web 服务器运行每个 GitLab Rails 节点,并将其工作程序数量设置为 90%的可用 CPU 以及四个线程. 对于运行带有其他组件的 Rails 的节点,应该相应地降低 worker 的值,我们发现 50%达到了很好的平衡,但这取决于工作量. - -2. Gitaly 节点的要求取决于客户数据,特别是项目数量及其规模. 对于 HA 环境,我们建议绝对最少使用两个节点,并且在支持 50,000 个或更多用户时,至少应使用四个节点. 我们还建议每个 Gitaly 节点存储的数据不得超过 5TB,并且将[`gitaly-ruby`工作者](../gitaly/index.html#gitaly-ruby)的数量设置为可用 CPU 的 20%. 根据以上建议,应结合其他节点并结合对预期数据大小和分布的审查. - -3. Recommended Redis setup differs depending on the size of the architecture. For smaller architectures (less than 3,000 users) a single instance should suffice. For medium sized installs (3,000 - 5,000) we suggest one Redis cluster for all classes and that Redis Sentinel is hosted alongside Consul. For larger architectures (10,000 users or more) we suggest running a separate [Redis Cluster](../redis/replication_and_failover.html#running-multiple-redis-clusters) for the Cache class and another for the Queues and Shared State classes respectively. We also recommend that you run the Redis Sentinel clusters separately for each Redis Cluster. - -4. 对于 LFS,Uploads,Artifacts 等数据对象.由于性能和可用性更好,我们建议尽可能在 NFS 上使用[对象存储服务](../object_storage.html) . - -5. NFS 可以用作存储库数据(替代 Gitaly)和对象存储的替代方法,但是出于性能原因,通常不建议使用 NFS. 请注意,但是[GitLab Pages](https://gitlab.com/gitlab-org/gitlab-pages/-/issues/196)是必需的. - -6. 我们的架构已通过[HAProxy](https://www.haproxy.org/)作为负载均衡器进行了测试和验证. 尽管也可以使用具有类似功能集的其他负载均衡器,但这些负载均衡器尚未经过验证. - -7. 我们强烈建议为任何 Gitaly 或 NFS 节点设置 HDD 之上的 SSD 磁盘,其读操作的吞吐量至少为 8000 IOPS,写操作的吞吐量至少为 2,000 IOPS,因为这些组件的 I / O 繁重. 这些 IOPS 值仅建议作为启动器使用,因为随着时间的推移,它们可能会根据环境工作负载的规模而调整得更高或更低. 如果您正在 Cloud provider 上运行环境,则可能需要参考其文档以了解如何正确配置 IOPS. - -8. 这些架构是使用 GCP 上的[Intel Xeon E5 v3(Haswell)](https://cloud.google.com/compute/docs/cpu-platforms) CPU 平台构建和测试的. 在不同的硬件上,您可能会发现需要对 CPU 或节点数进行相应的调整,无论是较低还是较高. 有关更多信息,请在[此处](https://gitlab.com/gitlab-org/quality/performance/-/wikis/Reference-Architectures/GCP-CPU-Benchmarks)找到 CPU 的[Sysbench](https://github.com/akopytov/sysbench)基准. \ No newline at end of file diff --git a/docs/422.md b/docs/422.md deleted file mode 100644 index ee6dea9..0000000 --- a/docs/422.md +++ /dev/null @@ -1,657 +0,0 @@ -# Reference architecture: up to 2,000 users - -> 原文:[https://docs.gitlab.com/ee/administration/reference_architectures/2k_users.html](https://docs.gitlab.com/ee/administration/reference_architectures/2k_users.html) - -* [Setup components](#setup-components) -* [Configure the load balancer](#configure-the-load-balancer) - * [Application node terminates SSL](#application-node-terminates-ssl) - * [Load balancer terminates SSL without backend SSL](#load-balancer-terminates-ssl-without-backend-ssl) - * [Load balancer terminates SSL with backend SSL](#load-balancer-terminates-ssl-with-backend-ssl) - * [Ports](#ports) - * [Alternate SSH Port](#alternate-ssh-port) -* [Configure PostgreSQL](#configure-postgresql) - * [Provide your own PostgreSQL instance](#provide-your-own-postgresql-instance) - * [Standalone PostgreSQL using Omnibus GitLab](#standalone-postgresql-using-omnibus-gitlab) -* [Configure Redis](#configure-redis) - * [Provide your own Redis instance](#provide-your-own-redis-instance) - * [Standalone Redis using Omnibus GitLab](#standalone-redis-using-omnibus-gitlab) -* [Configure Gitaly](#configure-gitaly) - * [Gitaly TLS support](#gitaly-tls-support) -* [Configure GitLab Rails](#configure-gitlab-rails) -* [Configure Prometheus](#configure-prometheus) -* [Configure the object storage](#configure-the-object-storage) -* [Configure NFS (optional)](#configure-nfs-optional) -* [Troubleshooting](#troubleshooting) - -# Reference architecture: up to 2,000 users[](#reference-architecture-up-to-2000-users "Permalink") - -该页面描述了最多可容纳 2,000 位用户的 GitLab 参考架构. 有关参考架构的完整列表,请参见[可用参考架构](index.html#available-reference-architectures) . - -> * **支持的用户(大约):** 2,000 -> * **高可用性:** False -> * **每秒测试请求(RPS)速率:** API:40 RPS,Web:4 RPS,Git:4 RPS - -| Service | Nodes | Configuration | GCP | AWS | Azure | -| --- | --- | --- | --- | --- | --- | -| 负载均衡器 | 1 | 2 个 vCPU,1.8GB 内存 | `n1-highcpu-2` | `c5.large` | `F2s v2` | -| PostgreSQL | 1 | 2 个 vCPU,7.5GB 内存 | `n1-standard-2` | `m5.large` | `D2s v3` | -| Redis | 1 | 1 个 vCPU,3.75GB 内存 | `n1-standard-1` | `m5.large` | `D2s v3` | -| Gitaly | 1 | 4 个 vCPU,15GB 内存 | `n1-standard-4` | `m5.xlarge` | `D4s v3` | -| 亚搏体育 app Rails | 2 | 8 个 vCPU,7.2GB 内存 | `n1-highcpu-8` | `c5.2xlarge` | `F8s v2` | -| 监控节点 | 1 | 2 个 vCPU,1.8GB 内存 | `n1-highcpu-2` | `c5.large` | `F2s v2` | -| 对象存储 | n/a | n/a | n/a | n/a | n/a | -| NFS 服务器(可选,不推荐) | 1 | 4 个 vCPU,3.6GB 内存 | `n1-highcpu-4` | `c5.xlarge` | `F4s v2` | - -Google Cloud Platform(GCP)架构是使用[Intel Xeon E5 v3(Haswell)](https://cloud.google.com/compute/docs/cpu-platforms) CPU 平台构建和测试的. 在不同的硬件上,您可能会发现需要对 CPU 或节点数进行更低或更高的调整. 有关更多信息,请参见我们基于[Sysbench](https://github.com/akopytov/sysbench)的[CPU 基准测试](https://gitlab.com/gitlab-org/quality/performance/-/wikis/Reference-Architectures/GCP-CPU-Benchmarks) . - -由于具有更好的性能和可用性,对于数据对象(例如 LFS,上载或工件),建议使用[对象存储服务](#configure-the-object-storage)而不是 NFS. 使用对象存储服务也不需要您配置和维护节点. - -## Setup components[](#setup-components "Permalink") - -设置 GitLab 及其组件以容纳多达 2,000 个用户: - -1. [配置外部负载平衡节点](#configure-the-load-balancer)以处理两个 GitLab 应用程序服务节点的负载平衡. -2. [配置 PostgreSQL](#configure-postgresql) (GitLab 的数据库). -3. [Configure Redis](#configure-redis). -4. [配置 Gitaly](#configure-gitaly) ,它提供对 Git 存储库的访问. -5. [配置主要的 GitLab Rails 应用程序](#configure-gitlab-rails)以运行 Puma / Unicorn,Workhorse,GitLab Shell,并满足所有前端请求(包括 UI,API 和基于 HTTP / SSH 的 Git). -6. [配置 Prometheus](#configure-prometheus)来监视您的 GitLab 环境. -7. [配置](#configure-the-object-storage)用于共享数据对象[的对象存储](#configure-the-object-storage) . -8. [配置 NFS](#configure-nfs-optional) (可选,不建议使用)以具有共享磁盘存储服务,以替代 Gitaly 或对象存储. 如果您不使用 GitLab 页面(需要 NFS),则可以跳过此步骤. - -## Configure the load balancer[](#configure-the-load-balancer "Permalink") - -**注意:**此体系结构已经过[HAProxy 的](https://www.haproxy.org/)测试和验证. 尽管您可以使用具有类似功能的负载均衡器,但 GitLab 尚未验证其他负载均衡器. - -在主动/主动 GitLab 配置中,您需要一个负载平衡器才能将流量路由到应用程序服务器. GitLab 文档超出了使用负载平衡器或其确切配置的详细信息. 如果要管理多节点系统(包括 GitLab),则可能已经选择了负载均衡器. 一些示例包括 HAProxy(开源),F5 Big-IP LTM 和 Citrix Net Scaler. 本文档包括与 GitLab 一起使用的端口和协议. - -下一个问题是如何在环境中处理 SSL. 有几种不同的选择: - -* [The application node terminates SSL](#application-node-terminates-ssl). -* [负载平衡器终止没有后端 SSL 的 SSL,](#load-balancer-terminates-ssl-without-backend-ssl)并且负载平衡器与应用程序节点之间的通信不安全. -* [负载均衡器使用后端 SSL 终止 SSL,](#load-balancer-terminates-ssl-with-backend-ssl)并且负载均衡器与应用程序节点之间的通信是*安全*的. - -### Application node terminates SSL[](#application-node-terminates-ssl "Permalink") - -配置您的负载均衡器以将端口 443 上的连接作为`TCP`而不是`HTTP(S)`传递. 这会将连接保持不变地传递到应用程序节点的 NGINX 服务,该服务具有 SSL 证书并侦听端口 443. - -有关管理 SSL 证书和配置 NGINX 的详细信息,请参见[NGINX HTTPS 文档](https://docs.gitlab.com/omnibus/settings/nginx.html) . - -### Load balancer terminates SSL without backend SSL[](#load-balancer-terminates-ssl-without-backend-ssl "Permalink") - -将负载平衡器配置为使用`HTTP(S)`协议而不是`TCP` . 负载平衡器将负责管理 SSL 证书和终止 SSL. - -由于负载平衡器和 GitLab 之间的通信不安全,因此您需要完成一些其他配置. 有关详细信息,请参见[NGINX 代理的 SSL 文档](https://docs.gitlab.com/omnibus/settings/nginx.html) . - -### Load balancer terminates SSL with backend SSL[](#load-balancer-terminates-ssl-with-backend-ssl "Permalink") - -配置您的负载平衡器(如果只有一个,则为单个平衡器)以使用`HTTP(S)`协议而不是`TCP` . 负载平衡器将负责为最终用户管理 SSL 证书. - -在这种情况下,负载平衡器和 NGINX 之间的流量将是安全的,并且无需为代理 SSL 添加配置. 但是,您需要向 GitLab 添加配置以配置 SSL 证书. 有关管理 SSL 证书和配置 NGINX 的详细信息,请参见[NGINX HTTPS 文档](https://docs.gitlab.com/omnibus/settings/nginx.html) . - -### Ports[](#ports "Permalink") - -The basic load balancer ports you should use are described in the following table: - -| Port | 后端端口 | Protocol | -| --- | --- | --- | -| 80 | 80 | HTTP( *1* ) | -| 443 | 443 | TCP 或 HTTPS( *1* )( *2* ) | -| 22 | 22 | TCP | - -* ( *1* ): [Web 终端](../../ci/environments/index.html#web-terminals)支持要求您的负载平衡器正确处理 WebSocket 连接. 当使用 HTTP 或 HTTPS 代理,负载平衡器必须被配置为通过`Connection`和`Upgrade`逐跳头. 有关详细信息,请参见[Web 终端](../integration/terminal.html)集成指南. -* ( *2* ):在端口 443 上使用 HTTPS 协议时,您需要向负载均衡器添加 SSL 证书. 如果需要在 GitLab 应用程序服务器上终止 SSL,请使用 TCP 协议. - -如果您使用具有自定义域支持的 GitLab 页面,则将需要一些其他端口配置. GitLab 页面需要一个单独的虚拟 IP 地址. 配置 DNS,以将`pages_external_url`的`/etc/gitlab/gitlab.rb`指向新的虚拟 IP 地址. 有关更多信息,请参见[GitLab 页面文档](../pages/index.html) . - -| Port | 后端端口 | Protocol | -| --- | --- | --- | -| 80 | 变化( *1* ) | HTTP | -| 443 | 变化( *1* ) | TCP( *2* ) | - -* ( *1* ):GitLab 页面的后端端口取决于`gitlab_pages['external_http']`和`gitlab_pages['external_https']`设置. 有关详细信息,请参见[GitLab 页面文档](../pages/index.html) . -* ( *2* ):GitLab 页面的端口 443 必须使用 TCP 协议. 用户可以使用自定义 SSL 配置自定义域,如果 SSL 在负载均衡器处终止,则无法实现. - -#### Alternate SSH Port[](#alternate-ssh-port "Permalink") - -某些组织有禁止打开 SSH 端口 22 的策略.在这种情况下,配置备用 SSH 主机名可能会有所帮助,该主机名改为允许用户通过端口 443 使用 SSH.与先前描述的相比,备用 SSH 主机名需要新的虚拟 IP 地址. GitLab HTTP 配置. - -为备用 SSH 主机名配置 DNS,例如`altssh.gitlab.example.com` : - -| LB 端口 | 后端端口 | Protocol | -| --- | --- | --- | -| 443 | 22 | TCP | - -[Back to setup components](#setup-components) - -## Configure PostgreSQL[](#configure-postgresql "Permalink") - -在本节中,将指导您配置与 GitLab 一起使用的外部 PostgreSQL 数据库. - -### Provide your own PostgreSQL instance[](#provide-your-own-postgresql-instance "Permalink") - -如果您将 GitLab 托管在云提供商上,则可以选择将托管服务用于 PostgreSQL. 例如,AWS 提供了运行 PostgreSQL 的托管关系数据库服务(RDS). - -如果您使用云托管服务,或提供自己的 PostgreSQL: - -1. 根据[数据库要求文档](../../install/requirements.html#database)设置 PostgreSQL. -2. 使用您选择的密码创建一个`gitlab`用户名. `gitlab`用户需要特权才能创建`gitlabhq_production`数据库. -3. 使用适当的详细信息配置 GitLab 应用程序服务器. [配置 GitLab Rails 应用程序](#configure-gitlab-rails)涵盖了此步骤. - -### Standalone PostgreSQL using Omnibus GitLab[](#standalone-postgresql-using-omnibus-gitlab "Permalink") - -1. SSH 进入 PostgreSQL 服务器. -2. 从 GitLab 下载页面使用**步骤 1 和 2** [下载/安装](https://about.gitlab.com/install/)所需的 Omnibus GitLab 软件包. - * 不要完成下载页面上的任何其他步骤. -3. 为 PostgreSQL 生成密码哈希. 假设您将使用默认用户名`gitlab` (推荐). 该命令将要求输入密码和确认. 将此命令在下一步中输出的值用作`POSTGRESQL_PASSWORD_HASH`的值. - - ``` - sudo gitlab-ctl pg-password-md5 gitlab - ``` - -4. 编辑`/etc/gitlab/gitlab.rb`并添加以下内容,以适当地更新占位符值. - - * `POSTGRESQL_PASSWORD_HASH`上一步的输出值 - * `APPLICATION_SERVER_IP_BLOCKS`将连接到数据库的 GitLab 应用程序服务器的 IP 子网或 IP 地址的空格分隔列表. 示例: `%w(123.123.123.123/32 123.123.123.234/32)` - - ``` - # Disable all components except PostgreSQL - roles ['postgres_role'] - repmgr['enable'] = false - consul['enable'] = false - prometheus['enable'] = false - alertmanager['enable'] = false - pgbouncer_exporter['enable'] = false - redis_exporter['enable'] = false - gitlab_exporter['enable'] = false - - # Set the network addresses that the exporters used for monitoring will listen on - node_exporter['listen_address'] = '0.0.0.0:9100' - postgres_exporter['listen_address'] = '0.0.0.0:9187' - postgres_exporter['dbname'] = 'gitlabhq_production' - postgres_exporter['password'] = 'POSTGRESQL_PASSWORD_HASH' - - # Set the PostgreSQL address and port - postgresql['listen_address'] = '0.0.0.0' - postgresql['port'] = 5432 - - # Replace POSTGRESQL_PASSWORD_HASH with a generated md5 value - postgresql['sql_user_password'] = 'POSTGRESQL_PASSWORD_HASH' - - # Replace APPLICATION_SERVER_IP_BLOCK with the CIDR address of the application node - postgresql['trust_auth_cidr_addresses'] = %w(127.0.0.1/32 APPLICATION_SERVER_IP_BLOCK) - - # Disable automatic database migrations - gitlab_rails['auto_migrate'] = false - ``` - -5. [重新配置 GitLab,](../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. -6. 注意 PostgreSQL 节点的 IP 地址或主机名,端口和纯文本密码. 这些在以后配置[GitLab 应用程序服务器](#configure-gitlab-rails)时是必需的. - -支持高级[配置选项](https://docs.gitlab.com/omnibus/settings/database.html) ,可以根据需要添加. - -[Back to setup components](#setup-components) - -## Configure Redis[](#configure-redis "Permalink") - -在本节中,将指导您配置与 GitLab 一起使用的外部 Redis 实例. - -### Provide your own Redis instance[](#provide-your-own-redis-instance "Permalink") - -需要 Redis 5.0 或更高版本,因为这是从 GitLab 13.0 开始的 Omnibus GitLab 软件包附带的版本. 较旧的 Redis 版本不支持 SPOP 的可选 count 参数,这对于[合并火车](../../ci/merge_request_pipelines/pipelines_for_merged_results/merge_trains/index.html)现在是必需的. - -此外,GitLab 还利用了某些命令,例如`UNLINK`和`USAGE` ,这些命令仅在 Redis 4 中引入. - -来自云提供商(例如 AWS ElastiCache)的托管 Redis 将可以使用. 如果这些服务支持高可用性,请确保它不是 Redis 群集类型. - -注意 Redis 节点的 IP 地址或主机名,端口和密码(如果需要). 这些在以后配置[GitLab 应用程序服务器](#configure-gitlab-rails)时是必需的. - -### Standalone Redis using Omnibus GitLab[](#standalone-redis-using-omnibus-gitlab "Permalink") - -Omnibus GitLab 软件包可用于配置独立的 Redis 服务器. 以下步骤是使用 Omnibus 配置 Redis 服务器的最低必需步骤: - -1. SSH 进入 Redis 服务器. -2. 从 GitLab 下载页面使用**步骤 1 和 2** [下载/安装](https://about.gitlab.com/install/)所需的 Omnibus GitLab 软件包. - * 不要完成下载页面上的任何其他步骤. -3. 编辑`/etc/gitlab/gitlab.rb`并添加内容: - - ``` - ## Enable Redis - redis['enable'] = true - - ## Disable all other services - sidekiq['enable'] = false - gitlab_workhorse['enable'] = false - puma['enable'] = false - unicorn['enable'] = false - postgresql['enable'] = false - nginx['enable'] = false - prometheus['enable'] = false - alertmanager['enable'] = false - pgbouncer_exporter['enable'] = false - gitlab_exporter['enable'] = false - gitaly['enable'] = false - grafana['enable'] = false - - redis['bind'] = '0.0.0.0' - redis['port'] = 6379 - redis['password'] = 'SECRET_PASSWORD_HERE' - - gitlab_rails['enable'] = false - - # Set the network addresses that the exporters used for monitoring will listen on - node_exporter['listen_address'] = '0.0.0.0:9100' - redis_exporter['listen_address'] = '0.0.0.0:9121' - redis_exporter['flags'] = { - 'redis.addr' => 'redis://0.0.0.0:6379', - 'redis.password' => 'SECRET_PASSWORD_HERE', - } - ``` - -4. [重新配置 Omnibus GitLab,](../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. -5. 注意 Redis 节点的 IP 地址或主机名,端口和 Redis 密码. 这些在以后[配置 GitLab 应用程序服务器](#configure-gitlab-rails)时是必需的. - -支持高级[配置选项](https://docs.gitlab.com/omnibus/settings/redis.html) ,可以根据需要添加. - -[Back to setup components](#setup-components) - -## Configure Gitaly[](#configure-gitaly "Permalink") - -在自己的服务器上部署 Gitaly 可以使大于单个计算机的 GitLab 安装受益. Gitaly 节点的要求取决于数据,特别是项目的数量及其大小. 建议每个 Gitaly 节点存储的数据量不得超过 5TB. 您的 2K 设置可能需要一个或多个节点,具体取决于您的存储库存储要求. - -我们强烈建议所有 Gitaly 节点都安装 SSD 磁盘,因为 Gitaly I / O 繁重,因此其读取操作的吞吐量至少为 8,000 IOPS,写入操作的吞吐量至少为 2,000 IOPS. 这些 IOPS 值仅建议作为启动器使用,因为随着时间的推移,它们可能会根据环境工作负载的规模而调整得更高或更低. 如果您正在 Cloud provider 上运行环境,则可能需要参考其文档以了解如何正确配置 IOPS. - -Some things to note: - -* GitLab Rails 应用程序将[存储库分](../repository_storage_paths.html)片到[存储库中](../repository_storage_paths.html) . -* A Gitaly server can host one or more storages. -* 一个 GitLab 服务器可以使用一个或多个 Gitaly 服务器. -* 必须以对所有 Gitaly 客户端正确解析的方式指定 Gitaly 地址. -* Gitaly 服务器一定不能暴露在公共互联网上,因为默认情况下,Gitaly 的网络流量是未加密的. 强烈建议使用防火墙以限制对 Gitaly 服务器的访问. 另一种选择是[使用 TLS](#gitaly-tls-support) . - -**提示:**有关 Gitaly 历史和网络体系结构的更多信息,请参见[独立的 Gitaly 文档](../gitaly/index.html) . - -注意: **注意:** Gitaly 文档中引用的令牌只是管理员选择的任意密码. 它与为 GitLab API 创建的令牌或其他类似的 Web API 令牌无关. - -下面我们将介绍如何配置一个 Gitaly 服务器`gitaly1.internal`与秘密令牌`gitalysecret` . 我们假设您的 GitLab 安装有两个存储库存储: `default`和`storage1` . - -要配置 Gitaly 服务器: - -1. 从 GitLab 下载页面使用**步骤 1 和 2** [下载/安装](https://about.gitlab.com/install/)所需的 Omnibus GitLab 软件包,但**不**提供`EXTERNAL_URL`值. -2. 编辑`/etc/gitlab/gitlab.rb`以配置存储路径,启用网络侦听器并配置令牌: - - ``` - # /etc/gitlab/gitlab.rb - - # Gitaly and GitLab use two shared secrets for authentication, one to authenticate gRPC requests - # to Gitaly, and a second for authentication callbacks from GitLab-Shell to the GitLab internal API. - # The following two values must be the same as their respective values - # of the GitLab Rails application setup - gitaly['auth_token'] = 'gitlaysecret' - gitlab_shell['secret_token'] = 'shellsecret' - - # Avoid running unnecessary services on the Gitaly server - postgresql['enable'] = false - redis['enable'] = false - nginx['enable'] = false - puma['enable'] = false - unicorn['enable'] = false - sidekiq['enable'] = false - gitlab_workhorse['enable'] = false - grafana['enable'] = false - - # If you run a seperate monitoring node you can disable these services - alertmanager['enable'] = false - prometheus['enable'] = false - - # Prevent database connections during 'gitlab-ctl reconfigure' - gitlab_rails['rake_cache_clear'] = false - gitlab_rails['auto_migrate'] = false - - # Configure the gitlab-shell API callback URL. Without this, `git push` will - # fail. This can be your 'front door' GitLab URL or an internal load - # balancer. - # Don't forget to copy `/etc/gitlab/gitlab-secrets.json` from web server to Gitaly server. - gitlab_rails['internal_api_url'] = 'https://gitlab.example.com' - - # Make Gitaly accept connections on all network interfaces. You must use - # firewalls to restrict access to this address/port. - # Comment out following line if you only want to support TLS connections - gitaly['listen_addr'] = "0.0.0.0:8075" - gitaly['prometheus_listen_addr'] = "0.0.0.0:9236" - - # Set the network addresses that the exporters used for monitoring will listen on - node_exporter['listen_address'] = '0.0.0.0:9100' - ``` - -3. 将以下内容添加到`/etc/gitlab/gitlab.rb`上的`gitaly1.internal` : - - ``` - git_data_dirs({ - 'default' => { - 'path' => '/var/opt/gitlab/git-data' - }, - 'storage1' => { - 'path' => '/mnt/gitlab/git-data' - }, - }) - ``` - -4. 保存文件并[重新配置 GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure) . -5. 确认 Gitaly 可以执行对内部 API 的回调: - - ``` - sudo /opt/gitlab/embedded/service/gitlab-shell/bin/check -config /opt/gitlab/embedded/service/gitlab-shell/config.yml - ``` - -### Gitaly TLS support[](#gitaly-tls-support "Permalink") - -Gitaly 支持 TLS 加密. 为了能够与侦听安全连接的 Gitaly 实例进行通信,您将需要在 GitLab 配置中相应存储条目的`gitaly_address`中使用`tls://` URL 方案. - -您将需要携带自己的证书,因为该证书不会自动提供. 证书或其证书颁发机构必须按照[GitLab 自定义证书配置中](https://docs.gitlab.com/omnibus/settings/ssl.html)所述的步骤,安装在所有 Gitaly 节点(包括使用证书的 Gitaly 节点)上,以及与之通信的所有客户端节点上. - -**注意:**自签名证书必须指定用于访问 Gitaly 服务器的地址. 如果要通过主机名寻址 Gitaly 服务器,则可以为此使用"公用名"字段,也可以将其添加为"使用者备用名". 如果要通过 Gitaly 服务器的 IP 地址对其进行寻址,则必须将其作为主题备用名称添加到证书中. [gRPC 不支持在证书中使用 IP 地址作为公用名](https://github.com/grpc/grpc/issues/2691) .**注意:**可以同时为 Gitaly 服务器配置未加密的侦听地址`listen_addr`和已加密的侦听地址`tls_listen_addr` . 如果需要,这使您可以从未加密的流量逐渐过渡到加密的流量. - -要使用 TLS 配置 Gitaly: - -1. 创建`/etc/gitlab/ssl`目录,并在其中复制密钥和证书: - - ``` - sudo mkdir -p /etc/gitlab/ssl - sudo chmod 755 /etc/gitlab/ssl - sudo cp key.pem cert.pem /etc/gitlab/ssl/ - sudo chmod 644 key.pem cert.pem - ``` - -2. 将证书复制到`/etc/gitlab/trusted-certs`以便 Gitaly 在调用自身时信任该证书: - - ``` - sudo cp /etc/gitlab/ssl/cert.pem /etc/gitlab/trusted-certs/ - ``` - -3. 编辑`/etc/gitlab/gitlab.rb`并添加: - - ``` - gitaly['tls_listen_addr'] = "0.0.0.0:9999" - gitaly['certificate_path'] = "/etc/gitlab/ssl/cert.pem" - gitaly['key_path'] = "/etc/gitlab/ssl/key.pem" - ``` - -4. Delete `gitaly['listen_addr']` to allow only encrypted connections. -5. 保存文件并[重新配置 GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure) . - -[Back to setup components](#setup-components) - -## Configure GitLab Rails[](#configure-gitlab-rails "Permalink") - -**注意:**在我们的体系结构中,我们使用 Puma Web 服务器运行每个 GitLab Rails 节点,并将其工作程序数设置为可用 CPU 的 90%以及四个线程. 对于运行带有其他组件的 Rails 的节点,应该相应地降低 worker 的值,我们发现 50%达到了很好的平衡,但这取决于工作量. - -本节介绍如何配置 GitLab 应用程序(Rails)组件. 在每个节点上执行以下操作: - -1. 如果您[使用的是 NFS](#configure-nfs-optional) : - - 1. 如有必要,请使用以下命令安装 NFS 客户端实用程序软件包: - - ``` - # Ubuntu/Debian - apt-get install nfs-common - - # CentOS/Red Hat - yum install nfs-utils nfs-utils-lib - ``` - - 2. 在`/etc/fstab`指定必要的 NFS 挂载. `/etc/fstab`的确切内容取决于您选择配置 NFS 服务器的方式. 有关示例和各种选项,请参见[NFS 文档](../high_availability/nfs.html) . - - 3. 创建共享目录. 这些可能会有所不同,具体取决于您的 NFS 安装位置. - - ``` - mkdir -p /var/opt/gitlab/.ssh /var/opt/gitlab/gitlab-rails/uploads /var/opt/gitlab/gitlab-rails/shared /var/opt/gitlab/gitlab-ci/builds /var/opt/gitlab/git-data - ``` - -2. 使用[GitLab 下载中的](https://about.gitlab.com/install/) **步骤 1 和 2**下载/安装 Omnibus GitLab. 不要完成下载页面上的其他步骤. -3. 创建/编辑`/etc/gitlab/gitlab.rb`并使用以下配置. 为了保持整个节点的链接均匀性, `external_url`在应用服务器上应指向外部 URL,用户将用来访问 GitLab. 这将是[负载均衡器](#configure-the-load-balancer)的 URL,它将把流量路由到 GitLab 应用程序服务器: - - ``` - external_url 'https://gitlab.example.com' - - # Gitaly and GitLab use two shared secrets for authentication, one to authenticate gRPC requests - # to Gitaly, and a second for authentication callbacks from GitLab-Shell to the GitLab internal API. - # The following two values must be the same as their respective values - # of the Gitaly setup - gitlab_rails['gitaly_token'] = 'gitalyecret' - gitlab_shell['secret_token'] = 'shellsecret' - - git_data_dirs({ - 'default' => { 'gitaly_address' => 'tcp://gitaly1.internal:8075' }, - 'storage1' => { 'gitaly_address' => 'tcp://gitaly1.internal:8075' }, - 'storage2' => { 'gitaly_address' => 'tcp://gitaly2.internal:8075' }, - }) - - ## Disable components that will not be on the GitLab application server - roles ['application_role'] - gitaly['enable'] = false - nginx['enable'] = true - - ## PostgreSQL connection details - gitlab_rails['db_adapter'] = 'postgresql' - gitlab_rails['db_encoding'] = 'unicode' - gitlab_rails['db_host'] = '10.1.0.5' # IP/hostname of database server - gitlab_rails['db_password'] = 'DB password' - - ## Redis connection details - gitlab_rails['redis_port'] = '6379' - gitlab_rails['redis_host'] = '10.1.0.6' # IP/hostname of Redis server - gitlab_rails['redis_password'] = 'Redis Password' - - # Set the network addresses that the exporters used for monitoring will listen on - node_exporter['listen_address'] = '0.0.0.0:9100' - gitlab_workhorse['prometheus_listen_addr'] = '0.0.0.0:9229' - sidekiq['listen_address'] = "0.0.0.0" - puma['listen'] = '0.0.0.0' - - # Add the monitoring node's IP address to the monitoring whitelist and allow it to - # scrape the NGINX metrics. Replace placeholder `monitoring.gitlab.example.com` with - # the address and/or subnets gathered from the monitoring node - gitlab_rails['monitoring_whitelist'] = ['/32', '127.0.0.0/8'] - nginx['status']['options']['allow'] = ['/32', '127.0.0.0/8'] - - ## Uncomment and edit the following options if you have set up NFS - ## - ## Prevent GitLab from starting if NFS data mounts are not available - ## - #high_availability['mountpoint'] = '/var/opt/gitlab/git-data' - ## - ## Ensure UIDs and GIDs match between servers for permissions via NFS - ## - #user['uid'] = 9000 - #user['gid'] = 9000 - #web_server['uid'] = 9001 - #web_server['gid'] = 9001 - #registry['uid'] = 9002 - #registry['gid'] = 9002 - ``` - -4. 如果您正在使用[具有 TLS 支持](#gitaly-tls-support)的`git_data_dirs` ,请确保`git_data_dirs`条目配置了`tls`而不是`tcp` : - - ``` - git_data_dirs({ - 'default' => { 'gitaly_address' => 'tls://gitaly1.internal:9999' }, - 'storage1' => { 'gitaly_address' => 'tls://gitaly1.internal:9999' }, - 'storage2' => { 'gitaly_address' => 'tls://gitaly2.internal:9999' }, - }) - ``` - - 1. 将证书复制到`/etc/gitlab/trusted-certs` : - - ``` - sudo cp cert.pem /etc/gitlab/trusted-certs/ - ``` - -5. 保存文件并[重新配置 GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure) . -6. 运行`sudo gitlab-rake gitlab:gitaly:check`确认节点可以连接到 Gitaly. -7. 拖尾日志以查看请求: - - ``` - sudo gitlab-ctl tail gitaly - ``` - -**注意:**如上例所示,当在`external_url`指定`https`时,GitLab 会假定您在`/etc/gitlab/ssl/`具有 SSL 证书. 如果没有证书,NGINX 将无法启动. 有关更多信息,请参见[NGINX 文档](https://docs.gitlab.com/omnibus/settings/nginx.html) .[Back to setup components](#setup-components) - -## Configure Prometheus[](#configure-prometheus "Permalink") - -The Omnibus GitLab package can be used to configure a standalone Monitoring node running [Prometheus](../monitoring/prometheus/index.html) and [Grafana](../monitoring/performance/grafana_configuration.html): - -1. SSH 进入"监视"节点. -2. 从 GitLab 下载页面使用**步骤 1 和 2** [下载/安装](https://about.gitlab.com/install/)所需的 Omnibus GitLab 软件包. 不要完成下载页面上的任何其他步骤. -3. 编辑`/etc/gitlab/gitlab.rb`并添加内容: - - ``` - external_url 'http://gitlab.example.com' - - # Enable Prometheus - prometheus['enable'] = true - prometheus['listen_address'] = '0.0.0.0:9090' - prometheus['monitor_kubernetes'] = false - - # Enable Login form - grafana['disable_login_form'] = false - - # Enable Grafana - grafana['enable'] = true - grafana['admin_password'] = 'toomanysecrets' - - # Disable all other services - gitlab_rails['auto_migrate'] = false - alertmanager['enable'] = false - gitaly['enable'] = false - gitlab_exporter['enable'] = false - gitlab_workhorse['enable'] = false - nginx['enable'] = true - postgres_exporter['enable'] = false - postgresql['enable'] = false - redis['enable'] = false - redis_exporter['enable'] = false - sidekiq['enable'] = false - puma['enable'] = false - unicorn['enable'] = false - node_exporter['enable'] = false - gitlab_exporter['enable'] = false - ``` - -4. Prometheus 还需要一些抓取配置,以从我们配置了导出器的各个节点中提取所有数据. 假设您节点的 IP 为: - - ``` - 1.1.1.1: postgres - 1.1.1.2: redis - 1.1.1.3: gitaly1 - 1.1.1.4: rails1 - 1.1.1.5: rails2 - ``` - - 将以下内容添加到`/etc/gitlab/gitlab.rb` : - - ``` - prometheus['scrape_configs'] = [ - { - 'job_name': 'postgres', - 'static_configs' => [ - 'targets' => ['1.1.1.1:9187'], - ], - }, - { - 'job_name': 'redis', - 'static_configs' => [ - 'targets' => ['1.1.1.2:9121'], - ], - }, - { - 'job_name': 'gitaly', - 'static_configs' => [ - 'targets' => ['1.1.1.3:9236'], - ], - }, - { - 'job_name': 'gitlab-nginx', - 'static_configs' => [ - 'targets' => ['1.1.1.4:8060', '1.1.1.5:8060'], - ], - }, - { - 'job_name': 'gitlab-workhorse', - 'static_configs' => [ - 'targets' => ['1.1.1.4:9229', '1.1.1.5:9229'], - ], - }, - { - 'job_name': 'gitlab-rails', - 'metrics_path': '/-/metrics', - 'static_configs' => [ - 'targets' => ['1.1.1.4:8080', '1.1.1.5:8080'], - ], - }, - { - 'job_name': 'gitlab-sidekiq', - 'static_configs' => [ - 'targets' => ['1.1.1.4:8082', '1.1.1.5:8082'], - ], - }, - { - 'job_name': 'node', - 'static_configs' => [ - 'targets' => ['1.1.1.1:9100', '1.1.1.2:9100', '1.1.1.3:9100', '1.1.1.4:9100', '1.1.1.5:9100'], - ], - }, - ] - ``` - -5. 保存文件并[重新配置 GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure) . -6. 在 GitLab 用户界面中,将`admin/application_settings/metrics_and_profiling` >指标-Grafana 设置为`/-/grafana`到`http[s]:///-/grafana` - -[Back to setup components](#setup-components) - -## Configure the object storage[](#configure-the-object-storage "Permalink") - -GitLab 支持使用对象存储服务来保存多种类型的数据,建议在[NFS 上使用](#configure-nfs-optional) . 通常,对象存储服务更适合较大的环境,因为对象存储通常具有更高的性能,可靠性和可伸缩性. - -GitLab 已测试或了解客户使用的对象存储选项包括: - -* SaaS / Cloud 解决方案(例如[Amazon S3](https://aws.amazon.com/s3/)或[Google Cloud Storage](https://cloud.google.com/storage) ). -* 来自各种存储供应商的本地硬件和设备. -* MinIO( [部署指南](https://docs.gitlab.com/charts/advanced/external-object-storage/minio.html) ). - -要将 GitLab 配置为使用对象存储,请根据要使用的功能参考以下指南: - -1. [Object storage for backups](../../raketasks/backup_restore.html#uploading-backups-to-a-remote-cloud-storage). -2. [Object storage for job artifacts](../job_artifacts.html#using-object-storage) including [incremental logging](../job_logs.html#new-incremental-logging-architecture). -3. [Object storage for LFS objects](../lfs/index.html#storing-lfs-objects-in-remote-object-storage). -4. [Object storage for uploads](../uploads.html#using-object-storage-core-only). -5. [Object storage for merge request diffs](../merge_request_diffs.html#using-object-storage). -6. [容器注册表的对象存储](../packages/container_registry.html#use-object-storage) (可选功能). -7. [Mattermost 的对象存储](https://docs.mattermost.com/administration/config-settings.html#file-storage) (可选功能). -8. [包的对象存储](../packages/index.html#using-object-storage) (可选功能). -9. [依赖代理的对象存储](../packages/dependency_proxy.html#using-object-storage) (可选功能). -10. [Pseudonymizer 的对象存储](../pseudonymizer.html#configuration) (可选功能). -11. [用于自动缩放 Runner 缓存的对象存储](https://docs.gitlab.com/runner/configuration/autoscale.html) (可选,以提高性能). -12. [Object storage for Terraform state files](../terraform_state.html#using-object-storage-core-only). - -对于 GitLab,建议为每种数据类型使用单独的存储桶. - -我们的配置的局限性是对象存储的每次使用都是单独配置的. 我们有一个[问题](https://gitlab.com/gitlab-org/gitlab/-/issues/23345)需要改进,那就是允许一个存储桶具有单独的文件夹. - -在通过 Helm 图表部署 GitLab 时使用单个存储桶会导致从备份还原[无法正常运行](https://docs.gitlab.com/charts/advanced/external-object-storage/) . 尽管您可能暂时不使用 Helm 部署,但是如果稍后将 GitLab 迁移到 Helm 部署,GitLab 仍然可以工作,但是您可能不会意识到备份无法正常工作,直到遇到对备份起作用的关键要求. - -[Back to setup components](#setup-components) - -## Configure NFS (optional)[](#configure-nfs-optional "Permalink") - -为了提高性能,建议尽可能使用[对象存储](#configure-the-object-storage)以及[Gitaly](#configure-gitaly) ,而不是使用 NFS. 但是,如果您打算使用 GitLab 页面,则[必须使用 NFS](troubleshooting.html#gitlab-pages-requires-nfs) . - -有关配置 NFS 的信息,请参阅[NFS 文档页面](../high_availability/nfs.html) . - -[Back to setup components](#setup-components) - -## Troubleshooting[](#troubleshooting "Permalink") - -请参阅[故障排除文档](troubleshooting.html) . - -[Back to setup components](#setup-components) \ No newline at end of file diff --git a/docs/423.md b/docs/423.md deleted file mode 100644 index 414f222..0000000 --- a/docs/423.md +++ /dev/null @@ -1,1451 +0,0 @@ -# Reference architecture: up to 3,000 users - -> 原文:[https://docs.gitlab.com/ee/administration/reference_architectures/3k_users.html](https://docs.gitlab.com/ee/administration/reference_architectures/3k_users.html) - -* [Setup components](#setup-components) -* [Configure the external load balancer](#configure-the-external-load-balancer) - * [Application node terminates SSL](#application-node-terminates-ssl) - * [Load balancer terminates SSL without backend SSL](#load-balancer-terminates-ssl-without-backend-ssl) - * [Load balancer terminates SSL with backend SSL](#load-balancer-terminates-ssl-with-backend-ssl) - * [Ports](#ports) - * [Alternate SSH Port](#alternate-ssh-port) -* [Configure Redis](#configure-redis) - * [Provide your own Redis instance](#provide-your-own-redis-instance) - * [Standalone Redis using Omnibus GitLab](#standalone-redis-using-omnibus-gitlab) - * [Configuring the primary Redis instance](#configuring-the-primary-redis-instance) - * [Configuring the replica Redis instances](#configuring-the-replica-redis-instances) -* [Configure Consul and Sentinel](#configure-consul-and-sentinel) -* [Configure PostgreSQL](#configure-postgresql) - * [Provide your own PostgreSQL instance](#provide-your-own-postgresql-instance) - * [Standalone PostgreSQL using Omnibus GitLab](#standalone-postgresql-using-omnibus-gitlab) - * [PostgreSQL primary node](#postgresql-primary-node) - * [PostgreSQL secondary nodes](#postgresql-secondary-nodes) - * [PostgreSQL post-configuration](#postgresql-post-configuration) -* [Configure PgBouncer](#configure-pgbouncer) - * [Configure the internal load balancer](#configure-the-internal-load-balancer) -* [Configure Gitaly](#configure-gitaly) - * [Gitaly TLS support](#gitaly-tls-support) -* [Configure Sidekiq](#configure-sidekiq) -* [Configure GitLab Rails](#configure-gitlab-rails) - * [GitLab Rails post-configuration](#gitlab-rails-post-configuration) -* [Configure Prometheus](#configure-prometheus) -* [Configure the object storage](#configure-the-object-storage) -* [Configure NFS (optional)](#configure-nfs-optional) -* [Troubleshooting](#troubleshooting) - -# Reference architecture: up to 3,000 users[](#reference-architecture-up-to-3000-users "Permalink") - -此页面描述了最多 3,000 个用户的 GitLab 参考架构. 有关参考架构的完整列表,请参见[可用参考架构](index.html#available-reference-architectures) . - -**注意:**下面记录的 3,000 个用户参考体系结构旨在帮助您的组织实现高度可用的 GitLab 部署. 如果您没有专业知识或需要维护高度可用的环境,则可以遵循[2,000 个用户的参考体系结构](2k_users.html) ,从而拥有一个更简单且成本更低的操作环境. - -> * **支持的用户(大约):** 3,000 -> * **高可用性:** True -> * **测试 RPS 速率:** API:60 RPS,网站:6 RPS,Git:6 RPS - -| Service | Nodes | Configuration | GCP | AWS | Azure | -| --- | --- | --- | --- | --- | --- | -| 外部负载平衡节点 | 1 | 2 vCPU, 1.8GB Memory | `n1-highcpu-2` | `c5.large` | `F2s v2` | -| Redis | 3 | 2 个 vCPU,7.5GB 内存 | `n1-standard-2` | `m5.large` | `D2s v3` | -| 领事+前哨 | 3 | 2 个 vCPU,1.8GB 内存 | `n1-highcpu-2` | `c5.large` | `F2s v2` | -| PostgreSQL | 3 | 2 个 vCPU,7.5GB 内存 | `n1-standard-2` | `m5.large` | `D2s v3` | -| PgBouncer | 3 | 2 个 vCPU,1.8GB 内存 | `n1-highcpu-2` | `c5.large` | `F2s v2` | -| 内部负载平衡节点 | 1 | 2 vCPU, 1.8GB Memory | `n1-highcpu-2` | `c5.large` | `F2s v2` | -| Gitaly | 最少 2 个 | 4 个 vCPU,15GB 内存 | `n1-standard-4` | `m5.xlarge` | `D4s v3` | -| Sidekiq | 4 | 2 个 vCPU,7.5GB 内存 | `n1-standard-2` | `m5.large` | `D2s v3` | -| 亚搏体育 app Rails | 3 | 8 个 vCPU,7.2GB 内存 | `n1-highcpu-8` | `c5.2xlarge` | `F8s v2` | -| 监控节点 | 1 | 2 vCPU, 1.8GB Memory | `n1-highcpu-2` | `c5.large` | `F2s v2` | -| 对象存储 | n/a | n/a | n/a | n/a | n/a | -| NFS 服务器(可选,不推荐) | 1 | 4 个 vCPU,3.6GB 内存 | `n1-highcpu-4` | `c5.xlarge` | `F4s v2` | - -这些架构是使用 GCP 上的[Intel Xeon E5 v3(Haswell)](https://cloud.google.com/compute/docs/cpu-platforms) CPU 平台构建和测试的. 在不同的硬件上,您可能会发现需要对 CPU 或节点数进行相应的调整,无论是较低还是较高. 有关更多信息,请在[此处](https://gitlab.com/gitlab-org/quality/performance/-/wikis/Reference-Architectures/GCP-CPU-Benchmarks)找到 CPU 的[Sysbench](https://github.com/akopytov/sysbench)基准. - -对于 LFS,Uploads,Artifacts 等数据对象,由于性能和可用性更好,建议在 NFS 上尽可能使用[对象存储服务](#configure-the-object-storage) . 由于这不需要设置节点,因此在上表中将其标记为不适用(n / a). - -## Setup components[](#setup-components "Permalink") - -设置 GitLab 及其组件以容纳多达 3,000 个用户: - -1. [配置外部负载平衡节点](#configure-the-external-load-balancer) ,该[节点](#configure-the-external-load-balancer)将处理两个 GitLab 应用程序服务节点的负载平衡. -2. [Configure Redis](#configure-redis). -3. [Configure Consul and Sentinel](#configure-consul-and-sentinel). -4. [配置 PostgreSQL](#configure-postgresql) (GitLab 的数据库). -5. [Configure PgBouncer](#configure-pgbouncer). -6. [Configure the internal load balancing node](#configure-the-internal-load-balancer) -7. [配置 Gitaly](#configure-gitaly) ,它提供对 Git 存储库的访问. -8. [Configure Sidekiq](#configure-sidekiq). -9. [配置主 GitLab Rails 应用程序](#configure-gitlab-rails)以运行 Puma / Unicorn,Workhorse,GitLab Shell,并服务所有前端请求(UI,API,基于 HTTP / SSH 的 Git). -10. [配置 Prometheus](#configure-prometheus)来监视您的 GitLab 环境. -11. [配置](#configure-the-object-storage)用于共享数据对象[的对象存储](#configure-the-object-storage) . -12. [将 NFS(可选)配置](#configure-nfs-optional)为具有共享磁盘存储服务,以替代 Gitaly 和/或对象存储(尽管不建议这样做). GitLab 页面需要 NFS,如果不使用该功能,则可以跳过此步骤. - -我们从同一 10.6.0.0/16 专用网络范围内的所有服务器开始,它们可以在这些地址上自由地相互连接. - -这是每台机器和分配的 IP 的列表和说明: - -* `10.6.0.10` :外部负载平衡器 -* `10.6.0.61`主要 -* `10.6.0.62` :返回副本 1 -* `10.6.0.63` :返回副本 2 -* `10.6.0.11` :领事/前哨 1 -* `10.6.0.12` :领事/前哨 2 -* `10.6.0.13` :领事/前哨 3 -* `10.6.0.31`主 -* `10.6.0.32`中学 1 -* `10.6.0.33`中学 2 -* `10.6.0.21` :PgBouncer 1 -* `10.6.0.22` :PgBouncer 2 -* `10.6.0.23` :PgBouncer 3 -* `10.6.0.20` :内部负载均衡器 -* `10.6.0.51` :Gitaly 1 -* `10.6.0.52` :Gitaly 2 -* `10.6.0.71` :Sidekiq 1 -* `10.6.0.72` :Sidekiq 2 -* `10.6.0.73` :Sidekiq 3 -* `10.6.0.74` :Sidekiq 4 -* `10.6.0.41`应用程序 1 -* `10.6.0.42`应用程序 2 -* `10.6.0.43`应用程序 3 -* `10.6.0.81` :普罗米修斯 - -## Configure the external load balancer[](#configure-the-external-load-balancer "Permalink") - -**注意:**此体系结构已通过[HAProxy](https://www.haproxy.org/)作为负载均衡器进行了测试和验证. 尽管也可以使用具有类似功能集的其他负载均衡器,但这些负载均衡器尚未经过验证. - -在主动/主动 GitLab 配置中,您将需要一个负载均衡器来将流量路由到应用程序服务器. 有关使用负载均衡器或进行确切配置的细节超出了 GitLab 文档的范围. 我们希望,如果您要管理像 GitLab 这样的多节点系统,那么已经选择了负载均衡器. 一些示例包括 HAProxy(开源),F5 Big-IP LTM 和 Citrix Net Scaler. 本文档将概述需要在 GitLab 上使用哪些端口和协议. - -下一个问题是如何在环境中处理 SSL. 有几种不同的选择: - -* [The application node terminates SSL](#application-node-terminates-ssl). -* [负载平衡器终止没有后端 SSL 的 SSL,](#load-balancer-terminates-ssl-without-backend-ssl)并且负载平衡器与应用程序节点之间的通信不安全. -* [负载均衡器使用后端 SSL 终止 SSL,](#load-balancer-terminates-ssl-with-backend-ssl)并且负载均衡器与应用程序节点之间的通信是*安全*的. - -### Application node terminates SSL[](#application-node-terminates-ssl "Permalink") - -配置您的负载均衡器以将端口 443 上的连接作为`TCP`而不是`HTTP(S)`协议进行传递. 这会将连接直接传递到应用程序节点的 NGINX 服务. NGINX 将具有 SSL 证书并在端口 443 上侦听. - -有关管理 SSL 证书和配置 NGINX 的详细信息,请参见[NGINX HTTPS 文档](https://docs.gitlab.com/omnibus/settings/nginx.html) . - -### Load balancer terminates SSL without backend SSL[](#load-balancer-terminates-ssl-without-backend-ssl "Permalink") - -将您的负载均衡器配置为使用`HTTP(S)`协议而不是`TCP` . 然后,负载平衡器将负责管理 SSL 证书和终止 SSL. - -由于负载均衡器和 GitLab 之间的通信将不安全,因此需要一些其他配置. 有关详细信息,请参见[NGINX 代理的 SSL 文档](https://docs.gitlab.com/omnibus/settings/nginx.html) . - -### Load balancer terminates SSL with backend SSL[](#load-balancer-terminates-ssl-with-backend-ssl "Permalink") - -Configure your load balancer(s) to use the ‘HTTP(S)’ protocol rather than ‘TCP’. The load balancer(s) will be responsible for managing SSL certificates that end users will see. - -在这种情况下,负载均衡器和 NGINX 之间的流量也将是安全的. 无需为代理 SSL 添加配置,因为连接将一直保持安全. 但是,需要将配置添加到 GitLab 来配置 SSL 证书. 有关管理 SSL 证书和配置 NGINX 的详细信息,请参见[NGINX HTTPS 文档](https://docs.gitlab.com/omnibus/settings/nginx.html) . - -### Ports[](#ports "Permalink") - -下表显示了要使用的基本端口. - -| LB 端口 | 后端端口 | Protocol | -| --- | --- | --- | -| 80 | 80 | HTTP( *1* ) | -| 443 | 443 | TCP 或 HTTPS( *1* )( *2* ) | -| 22 | 22 | TCP | - -* ( *1* ): [Web 终端](../../ci/environments/index.html#web-terminals)支持要求您的负载平衡器正确处理 WebSocket 连接. 当使用 HTTP 或 HTTPS 代理,这意味着负载平衡器必须被配置为通过`Connection`和`Upgrade`逐跳头. 有关更多详细信息,请参见[Web 终端](../integration/terminal.html)集成指南. -* ( *2* ):当对端口 443 使用 HTTPS 协议时,需要向负载均衡器添加 SSL 证书. 如果您想在 GitLab 应用程序服务器上终止 SSL,请使用 TCP 协议. - -如果您使用具有自定义域支持的 GitLab 页面,则将需要一些其他端口配置. GitLab 页面需要一个单独的虚拟 IP 地址. 配置 DNS,将`pages_external_url`的`/etc/gitlab/gitlab.rb`指向新的虚拟 IP 地址. 有关更多信息,请参见[GitLab 页面文档](../pages/index.html) . - -| LB 端口 | 后端端口 | Protocol | -| --- | --- | --- | -| 80 | 变化( *1* ) | HTTP | -| 443 | 变化( *1* ) | TCP( *2* ) | - -* ( *1* ):GitLab 页面的后端端口取决于`gitlab_pages['external_http']`和`gitlab_pages['external_https']`设置. 有关更多详细信息,请参见[GitLab Pages 文档](../pages/index.html) . -* ( *2* ):GitLab 页面的端口 443 应该始终使用 TCP 协议. 用户可以使用自定义 SSL 配置自定义域,如果 SSL 在负载均衡器处终止,则不可能. - -#### Alternate SSH Port[](#alternate-ssh-port "Permalink") - -某些组织有禁止打开 SSH 端口 22 的策略.在这种情况下,配置允许用户在端口 443 上使用 SSH 的备用 SSH 主机名可能会有所帮助.与其他 GitLab 相比,备用 SSH 主机名将需要一个新的虚拟 IP 地址.上面的 HTTP 配置. - -为备用 SSH 主机名(例如`altssh.gitlab.example.com`配置 DNS. - -| LB 端口 | 后端端口 | Protocol | -| --- | --- | --- | -| 443 | 22 | TCP | - -[Back to setup components](#setup-components) - -## Configure Redis[](#configure-redis "Permalink") - -使用[Redis 的](https://s0redis0io.icopy.site/)可扩展环境,可以使用**一次** X **副本**拓扑与[Redis 的哨兵](https://s0redis0io.icopy.site/topics/sentinel)服务来观看,并自动启动故障转移过程. - -如果与 Sentinel 一起使用,Redis 需要身份验证. 有关更多信息,请参见[Redis 安全性](https://s0redis0io.icopy.site/topics/security)文档. 我们建议结合使用 Redis 密码和严格的防火墙规则来保护您的 Redis 服务. 强烈建议您在使用 GitLab 配置 Redis 之前阅读[Redis Sentinel](https://s0redis0io.icopy.site/topics/sentinel)文档,以充分了解拓扑和体系结构. - -在本节中,将指导您配置与 GitLab 一起使用的外部 Redis 实例. 以下 IP 将作为示例: - -* `10.6.0.61`主要 -* `10.6.0.62` :返回副本 1 -* `10.6.0.63` :返回副本 2 - -### Provide your own Redis instance[](#provide-your-own-redis-instance "Permalink") - -来自云提供商(例如 AWS ElastiCache)的托管 Redis 将可以使用. 如果这些服务支持高可用性,请确保它**不是** Redis 群集类型. - -需要 Redis 5.0 或更高版本,因为这是从 GitLab 13.0 开始的 Omnibus GitLab 软件包附带的版本. 较旧的 Redis 版本不支持 SPOP 的可选 count 参数,这对于[合并火车](../../ci/merge_request_pipelines/pipelines_for_merged_results/merge_trains/index.html)现在是必需的. - -注意 Redis 节点的 IP 地址或主机名,端口和密码(如果需要). 这些在以后配置[GitLab 应用程序服务器](#configure-gitlab-rails)时是必需的. - -### Standalone Redis using Omnibus GitLab[](#standalone-redis-using-omnibus-gitlab "Permalink") - -这是我们安装和设置新 Redis 实例的部分. - -Redis 设置的要求如下: - -1. 所有 Redis 节点必须能够互相通信并接受通过 Redis( `6379` )和 Sentinel( `26379` )端口的传入连接(除非您更改默认端口). -2. 托管 GitLab 应用程序的服务器必须能够访问 Redis 节点. -3. 使用防火墙保护节点免受来自外部网络( [Internet](https://gitlab.com/gitlab-org/gitlab-foss/uploads/c4cc8cd353604bd80315f9384035ff9e/The_Internet_IT_Crowd.png) )的访问. - -**注意:** Redis 节点(主节点和副本节点)将需要使用`redis['password']`定义的相同密码. 在故障转移期间的任何时间,Sentinels 都可以重新配置节点并将其状态从主节点更改为副本节点,反之亦然. - -#### Configuring the primary Redis instance[](#configuring-the-primary-redis-instance "Permalink") - -1. SSH 进入**主** Redis 服务器. -2. 从 GitLab 下载页面使用**步骤 1 和 2** [下载/安装](https://about.gitlab.com/install/)所需的 Omnibus GitLab 软件包. - * 确保选择正确的 Omnibus 软件包,并使用与当前安装相同的版本和类型(社区版,企业版). - * 不要完成下载页面上的任何其他步骤. -3. 编辑`/etc/gitlab/gitlab.rb`并添加内容: - - ``` - # Specify server role as 'redis_master_role' - roles ['redis_master_role'] - - # IP address pointing to a local IP that the other machines can reach to. - # You can also set bind to '0.0.0.0' which listen in all interfaces. - # If you really need to bind to an external accessible IP, make - # sure you add extra firewall rules to prevent unauthorized access. - redis['bind'] = '10.6.0.61' - - # Define a port so Redis can listen for TCP requests which will allow other - # machines to connect to it. - redis['port'] = 6379 - - # Set up password authentication for Redis (use the same password in all nodes). - redis['password'] = 'redis-password-goes-here' - - ## Enable service discovery for Prometheus - consul['enable'] = true - consul['monitoring_service_discovery'] = true - - ## The IPs of the Consul server nodes - ## You can also use FQDNs and intermix them with IPs - consul['configuration'] = { - retry_join: %w(10.6.0.11 10.6.0.12 10.6.0.13), - } - - # Set the network addresses that the exporters will listen on - node_exporter['listen_address'] = '0.0.0.0:9100' - redis_exporter['listen_address'] = '0.0.0.0:9121' - redis_exporter['flags'] = { - 'redis.addr' => 'redis://10.6.0.61:6379', - 'redis.password' => 'redis-password-goes-here', - } - - # Disable auto migrations - gitlab_rails['auto_migrate'] = false - ``` - -4. [重新配置 Omnibus GitLab,](../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -**注意:**您可以将多个角色(如哨兵和 Redis)指定为: `roles ['redis_sentinel_role', 'redis_master_role']` . 阅读有关[角色的](https://docs.gitlab.com/omnibus/roles/)更多信息. - -您可以通过以下方式列出当前 Redis 主副本服务器状态: - -``` -/opt/gitlab/embedded/bin/redis-cli -h -a 'redis-password-goes-here' info replication -``` - -通过以下方式显示正在运行的 GitLab 服务: - -``` -gitlab-ctl status -``` - -输出应类似于以下内容: - -``` -run: consul: (pid 30043) 76863s; run: log: (pid 29691) 76892s -run: logrotate: (pid 31152) 3070s; run: log: (pid 29595) 76908s -run: node-exporter: (pid 30064) 76862s; run: log: (pid 29624) 76904s -run: redis: (pid 30070) 76861s; run: log: (pid 29573) 76914s -run: redis-exporter: (pid 30075) 76861s; run: log: (pid 29674) 76896s -``` - -#### Configuring the replica Redis instances[](#configuring-the-replica-redis-instances "Permalink") - -1. SSH 进入**副本** Redis 服务器. -2. 从 GitLab 下载页面使用**步骤 1 和 2** [下载/安装](https://about.gitlab.com/install/)所需的 Omnibus GitLab 软件包. - * 确保选择正确的 Omnibus 软件包,并使用与当前安装相同的版本和类型(社区版,企业版). - * 不要完成下载页面上的任何其他步骤. -3. 编辑`/etc/gitlab/gitlab.rb`并添加内容: - - ``` - # Specify server role as 'redis_replica_role' - roles ['redis_replica_role'] - - # IP address pointing to a local IP that the other machines can reach to. - # You can also set bind to '0.0.0.0' which listen in all interfaces. - # If you really need to bind to an external accessible IP, make - # sure you add extra firewall rules to prevent unauthorized access. - redis['bind'] = '10.6.0.62' - - # Define a port so Redis can listen for TCP requests which will allow other - # machines to connect to it. - redis['port'] = 6379 - - # The same password for Redis authentication you set up for the primary node. - redis['password'] = 'redis-password-goes-here' - - # The IP of the primary Redis node. - redis['master_ip'] = '10.6.0.61' - - # Port of primary Redis server, uncomment to change to non default. Defaults - # to `6379`. - #redis['master_port'] = 6379 - - ## Enable service discovery for Prometheus - consul['enable'] = true - consul['monitoring_service_discovery'] = true - - ## The IPs of the Consul server nodes - ## You can also use FQDNs and intermix them with IPs - consul['configuration'] = { - retry_join: %w(10.6.0.11 10.6.0.12 10.6.0.13), - } - - # Set the network addresses that the exporters will listen on - node_exporter['listen_address'] = '0.0.0.0:9100' - redis_exporter['listen_address'] = '0.0.0.0:9121' - redis_exporter['flags'] = { - 'redis.addr' => 'redis://10.6.0.62:6379', - 'redis.password' => 'redis-password-goes-here', - } - - # Disable auto migrations - gitlab_rails['auto_migrate'] = false - ``` - -4. [重新配置 Omnibus GitLab,](../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. -5. 对于所有其他副本节点,请再次执行该步骤,并确保正确设置 IP. - -**注意:**您可以将多个角色(如哨兵和 Redis)指定为: `roles ['redis_sentinel_role', 'redis_master_role']` . 阅读有关[角色的](https://docs.gitlab.com/omnibus/roles/)更多信息. - -故障转移后, `/etc/gitlab/gitlab.rb`在`/etc/gitlab/gitlab.rb`再次更改这些值,因为节点将由[Sentinels](#configure-consul-and-sentinel)管理,即使在`gitlab-ctl reconfigure` ,它们也将通过恢复配置恢复.同样的哨兵 - -支持高级[配置选项](https://docs.gitlab.com/omnibus/settings/redis.html) ,可以根据需要添加. - -[Back to setup components](#setup-components) - -## Configure Consul and Sentinel[](#configure-consul-and-sentinel "Permalink") - -**注意:**如果您使用的是外部 Redis Sentinel 实例,请确保从 Sentinel 配置中排除`requirepass`参数. 此参数将导致客户端报告`NOAUTH Authentication required.` . [Redis Sentinel 3.2.x 不支持密码身份验证](https://github.com/antirez/redis/issues/3279) . - -现在已经全部安装了 Redis 服务器,让我们配置 Sentinel 服务器. 以下 IP 将作为示例: - -* `10.6.0.11` :领事/前哨 1 -* `10.6.0.12` :领事/前哨 2 -* `10.6.0.13` :领事/前哨 3 - -要配置 Sentinel: - -1. SSH 进入将托管 Consul / Sentinel 的服务器. -2. 从 GitLab 下载页面使用**步骤 1 和 2** [下载/安装](https://about.gitlab.com/install/) Omnibus GitLab 企业版软件包. - * 确保选择正确的 Omnibus 软件包,并且与 GitLab 应用程序正在运行的版本相同. - * 不要完成下载页面上的任何其他步骤. -3. 编辑`/etc/gitlab/gitlab.rb`并添加内容: - - ``` - roles ['redis_sentinel_role', 'consul_role'] - - # Must be the same in every sentinel node - redis['master_name'] = 'gitlab-redis' - - # The same password for Redis authentication you set up for the primary node. - redis['master_password'] = 'redis-password-goes-here' - - # The IP of the primary Redis node. - redis['master_ip'] = '10.6.0.61' - - # Define a port so Redis can listen for TCP requests which will allow other - # machines to connect to it. - redis['port'] = 6379 - - # Port of primary Redis server, uncomment to change to non default. Defaults - # to `6379`. - #redis['master_port'] = 6379 - - ## Configure Sentinel - sentinel['bind'] = '10.6.0.11' - - # Port that Sentinel listens on, uncomment to change to non default. Defaults - # to `26379`. - # sentinel['port'] = 26379 - - ## Quorum must reflect the amount of voting sentinels it take to start a failover. - ## Value must NOT be greater then the amount of sentinels. - ## - ## The quorum can be used to tune Sentinel in two ways: - ## 1\. If a the quorum is set to a value smaller than the majority of Sentinels - ## we deploy, we are basically making Sentinel more sensible to primary failures, - ## triggering a failover as soon as even just a minority of Sentinels is no longer - ## able to talk with the primary. - ## 1\. If a quorum is set to a value greater than the majority of Sentinels, we are - ## making Sentinel able to failover only when there are a very large number (larger - ## than majority) of well connected Sentinels which agree about the primary being down.s - sentinel['quorum'] = 2 - - ## Consider unresponsive server down after x amount of ms. - # sentinel['down_after_milliseconds'] = 10000 - - ## Specifies the failover timeout in milliseconds. It is used in many ways: - ## - ## - The time needed to re-start a failover after a previous failover was - ## already tried against the same primary by a given Sentinel, is two - ## times the failover timeout. - ## - ## - The time needed for a replica replicating to a wrong primary according - ## to a Sentinel current configuration, to be forced to replicate - ## with the right primary, is exactly the failover timeout (counting since - ## the moment a Sentinel detected the misconfiguration). - ## - ## - The time needed to cancel a failover that is already in progress but - ## did not produced any configuration change (REPLICAOF NO ONE yet not - ## acknowledged by the promoted replica). - ## - ## - The maximum time a failover in progress waits for all the replica to be - ## reconfigured as replicas of the new primary. However even after this time - ## the replicas will be reconfigured by the Sentinels anyway, but not with - ## the exact parallel-syncs progression as specified. - # sentinel['failover_timeout'] = 60000 - - ## Enable service discovery for Prometheus - consul['enable'] = true - consul['monitoring_service_discovery'] = true - - ## The IPs of the Consul server nodes - ## You can also use FQDNs and intermix them with IPs - consul['configuration'] = { - server: true, - retry_join: %w(10.6.0.11 10.6.0.12 10.6.0.13), - } - - # Set the network addresses that the exporters will listen on - node_exporter['listen_address'] = '0.0.0.0:9100' - redis_exporter['listen_address'] = '0.0.0.0:9121' - - # Disable auto migrations - gitlab_rails['auto_migrate'] = false - ``` - -4. [重新配置 Omnibus GitLab,](../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. -5. 对于其他所有 Consul / Sentinel 节点,请再次执行步骤,并确保设置了正确的 IP. - -**注意:**第三个 Consul 服务器的配置完成后,将选举 Consul 负责人. 查看领事日志`sudo gitlab-ctl tail consul`将显示`...[INFO] consul: New leader elected: ...` - -You can list the current Consul members (server, client): - -``` -sudo /opt/gitlab/embedded/bin/consul members -``` - -您可以验证 GitLab 服务正在运行: - -``` -sudo gitlab-ctl status -``` - -输出应类似于以下内容: - -``` -run: consul: (pid 30074) 76834s; run: log: (pid 29740) 76844s -run: logrotate: (pid 30925) 3041s; run: log: (pid 29649) 76861s -run: node-exporter: (pid 30093) 76833s; run: log: (pid 29663) 76855s -run: sentinel: (pid 30098) 76832s; run: log: (pid 29704) 76850s -``` - -[Back to setup components](#setup-components) - -## Configure PostgreSQL[](#configure-postgresql "Permalink") - -在本节中,将指导您配置与 GitLab 一起使用的外部 PostgreSQL 数据库. - -### Provide your own PostgreSQL instance[](#provide-your-own-postgresql-instance "Permalink") - -如果您将 GitLab 托管在云提供商上,则可以选择将托管服务用于 PostgreSQL. 例如,AWS 提供了运行 PostgreSQL 的托管关系数据库服务(RDS). - -如果您使用云托管服务,或提供自己的 PostgreSQL: - -1. 根据[数据库要求文档](../../install/requirements.html#database)设置 PostgreSQL. -2. 使用您选择的密码设置一个`gitlab`用户名. `gitlab`用户需要特权才能创建`gitlabhq_production`数据库. -3. 使用适当的详细信息配置 GitLab 应用程序服务器. [配置 GitLab Rails 应用程序](#configure-gitlab-rails)涵盖了此步骤. - -### Standalone PostgreSQL using Omnibus GitLab[](#standalone-postgresql-using-omnibus-gitlab "Permalink") - -以下 IP 将作为示例: - -* `10.6.0.31`主 -* `10.6.0.32`中学 1 -* `10.6.0.33`中学 2 - -首先,请确保**在每个节点上** [安装](https://about.gitlab.com/install/) Linux GitLab 软件包. 按照以下步骤,从步骤 1 安装必需的依赖项,并从步骤 2 添加 GitLab 软件包存储库.在第二步中安装 GitLab 时,请勿提供`EXTERNAL_URL`值. - -#### PostgreSQL primary node[](#postgresql-primary-node "Permalink") - -1. SSH 进入 PostgreSQL 主节点. -2. 为 PostgreSQL 用户名/密码对生成密码哈希. 假设您将使用默认用户名`gitlab` (推荐). 该命令将要求输入密码和确认. 将此命令在下一步中输出的值用作``的值: - - ``` - sudo gitlab-ctl pg-password-md5 gitlab - ``` - -3. 为 PgBouncer 用户名/密码对生成密码哈希. 假设您将使用`pgbouncer`的默认用户名(推荐). 该命令将要求输入密码和确认. 将此命令在下一步中输出的值用作``的值: - - ``` - sudo gitlab-ctl pg-password-md5 pgbouncer - ``` - -4. 为 Consul 数据库用户名/密码对生成密码哈希. 假设您将使用默认用户名`gitlab-consul` (推荐). 该命令将要求输入密码和确认. 将此命令在下一步中输出的值用作``的值: - - ``` - sudo gitlab-ctl pg-password-md5 gitlab-consul - ``` - -5. 在主数据库节点上,编辑`/etc/gitlab/gitlab.rb`替换`/etc/gitlab/gitlab.rb` `# START user configuration`部分中记录的值: - - ``` - # Disable all components except PostgreSQL and Repmgr and Consul - roles ['postgres_role'] - - # PostgreSQL configuration - postgresql['listen_address'] = '0.0.0.0' - postgresql['hot_standby'] = 'on' - postgresql['wal_level'] = 'replica' - postgresql['shared_preload_libraries'] = 'repmgr_funcs' - - # Disable automatic database migrations - gitlab_rails['auto_migrate'] = false - - # Configure the Consul agent - consul['services'] = %w(postgresql) - - # START user configuration - # Please set the real values as explained in Required Information section - # - # Replace PGBOUNCER_PASSWORD_HASH with a generated md5 value - postgresql['pgbouncer_user_password'] = '' - # Replace POSTGRESQL_PASSWORD_HASH with a generated md5 value - postgresql['sql_user_password'] = '' - # Set `max_wal_senders` to one more than the number of database nodes in the cluster. - # This is used to prevent replication from using up all of the - # available database connections. - postgresql['max_wal_senders'] = 4 - postgresql['max_replication_slots'] = 4 - - # Replace XXX.XXX.XXX.XXX/YY with Network Address - postgresql['trust_auth_cidr_addresses'] = %w(127.0.0.1/32 10.6.0.0/24) - repmgr['trust_auth_cidr_addresses'] = %w(127.0.0.1/32 10.6.0.0/24) - - ## Enable service discovery for Prometheus - consul['enable'] = true - consul['monitoring_service_discovery'] = true - - # Set the network addresses that the exporters will listen on for monitoring - node_exporter['listen_address'] = '0.0.0.0:9100' - postgres_exporter['listen_address'] = '0.0.0.0:9187' - postgres_exporter['dbname'] = 'gitlabhq_production' - postgres_exporter['password'] = '' - - ## The IPs of the Consul server nodes - ## You can also use FQDNs and intermix them with IPs - consul['configuration'] = { - retry_join: %w(10.6.0.11 10.6.0.12 10.6.0.13), - } - # - # END user configuration - ``` - -6. [重新配置 GitLab,](../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. -7. 您可以通过以下方式列出当前 PostgreSQL 主,辅助节点的状态: - - ``` - sudo /opt/gitlab/bin/gitlab-ctl repmgr cluster show - ``` - -8. 验证 GitLab 服务正在运行: - - ``` - sudo gitlab-ctl status - ``` - - 输出应类似于以下内容: - - ``` - run: consul: (pid 30593) 77133s; run: log: (pid 29912) 77156s - run: logrotate: (pid 23449) 3341s; run: log: (pid 29794) 77175s - run: node-exporter: (pid 30613) 77133s; run: log: (pid 29824) 77170s - run: postgres-exporter: (pid 30620) 77132s; run: log: (pid 29894) 77163s - run: postgresql: (pid 30630) 77132s; run: log: (pid 29618) 77181s - run: repmgrd: (pid 30639) 77132s; run: log: (pid 29985) 77150s - ``` - -[Back to setup components](#setup-components) - -#### PostgreSQL secondary nodes[](#postgresql-secondary-nodes "Permalink") - -1. 在两个辅助节点上,添加与上面为主要节点指定的配置相同的附加设置,该设置将告知`gitlab-ctl`最初它们是备用节点,无需尝试将它们注册为主要节点: - - ``` - # Disable all components except PostgreSQL and Repmgr and Consul - roles ['postgres_role'] - - # PostgreSQL configuration - postgresql['listen_address'] = '0.0.0.0' - postgresql['hot_standby'] = 'on' - postgresql['wal_level'] = 'replica' - postgresql['shared_preload_libraries'] = 'repmgr_funcs' - - # Disable automatic database migrations - gitlab_rails['auto_migrate'] = false - - # Configure the Consul agent - consul['services'] = %w(postgresql) - - # Specify if a node should attempt to be primary on initialization. - repmgr['master_on_initialization'] = false - - # START user configuration - # Please set the real values as explained in Required Information section - # - # Replace PGBOUNCER_PASSWORD_HASH with a generated md5 value - postgresql['pgbouncer_user_password'] = '' - # Replace POSTGRESQL_PASSWORD_HASH with a generated md5 value - postgresql['sql_user_password'] = '' - # Set `max_wal_senders` to one more than the number of database nodes in the cluster. - # This is used to prevent replication from using up all of the - # available database connections. - postgresql['max_wal_senders'] = 4 - postgresql['max_replication_slots'] = 4 - - # Replace XXX.XXX.XXX.XXX/YY with Network Address - postgresql['trust_auth_cidr_addresses'] = %w(127.0.0.1/32 10.6.0.0/24) - repmgr['trust_auth_cidr_addresses'] = %w(127.0.0.1/32 10.6.0.0/24) - - ## Enable service discovery for Prometheus - consul['enable'] = true - consul['monitoring_service_discovery'] = true - - # Set the network addresses that the exporters will listen on for monitoring - node_exporter['listen_address'] = '0.0.0.0:9100' - postgres_exporter['listen_address'] = '0.0.0.0:9187' - postgres_exporter['dbname'] = 'gitlabhq_production' - postgres_exporter['password'] = '' - - ## The IPs of the Consul server nodes - ## You can also use FQDNs and intermix them with IPs - consul['configuration'] = { - retry_join: %w(10.6.0.11 10.6.0.12 10.6.0.13), - } - # END user configuration - ``` - -2. [重新配置 GitLab,](../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -支持高级[配置选项](https://docs.gitlab.com/omnibus/settings/database.html) ,可以根据需要添加. - -[Back to setup components](#setup-components) - -#### PostgreSQL post-configuration[](#postgresql-post-configuration "Permalink") - -SSH 进入**主节点** : - -1. 打开数据库提示: - - ``` - gitlab-psql -d gitlabhq_production - ``` - -2. Enable the `pg_trgm` extension: - - ``` - CREATE EXTENSION pg_trgm; - ``` - -3. 键入`\q`并按 Enter 退出数据库提示. - -4. 验证集群是否已用一个节点初始化: - - ``` - gitlab-ctl repmgr cluster show - ``` - - 输出应类似于以下内容: - - ``` - Role | Name | Upstream | Connection String - ----------+----------|----------|---------------------------------------- - * master | HOSTNAME | | host=HOSTNAME user=gitlab_repmgr dbname=gitlab_repmgr - ``` - -5. 在连接字符串中记下主机名或 IP 地址: `host=HOSTNAME` . 在下一节中,我们将主机名称为`` . 如果该值不是 IP 地址,则必须是可解析的名称(通过 DNS 或`/etc/hosts` ) - -SSH 进入**辅助节点** : - -1. 设置 repmgr 备用数据库: - - ``` - gitlab-ctl repmgr standby setup - ``` - - Do note that this will remove the existing data on the node. The command has a wait time. - - 输出应类似于以下内容: - - ``` - Doing this will delete the entire contents of /var/opt/gitlab/postgresql/data - If this is not what you want, hit Ctrl-C now to exit - To skip waiting, rerun with the -w option - Sleeping for 30 seconds - Stopping the database - Removing the data - Cloning the data - Starting the database - Registering the node with the cluster - ok: run: repmgrd: (pid 19068) 0s - ``` - -在继续之前,请确保正确配置了数据库. 在**主**节点上运行以下命令以验证复制是否正常工作,并且辅助节点是否出现在群集中: - -``` -gitlab-ctl repmgr cluster show -``` - -输出应类似于以下内容: - -``` -Role | Name | Upstream | Connection String -----------+---------|-----------|------------------------------------------------ -* master | MASTER | | host= user=gitlab_repmgr dbname=gitlab_repmgr - standby | STANDBY | MASTER | host= user=gitlab_repmgr dbname=gitlab_repmgr - standby | STANDBY | MASTER | host= user=gitlab_repmgr dbname=gitlab_repmgr -``` - -如果任何节点的"角色"列显示"失败",请在继续操作之前检查" [故障排除"部分](troubleshooting.html) . - -另外,请检查`repmgr-check-master`命令在每个节点上是否都能正常工作: - -``` -su - gitlab-consul -gitlab-ctl repmgr-check-master || echo 'This node is a standby repmgr node' -``` - -此命令依靠退出代码来告诉 Consul 特定节点是主节点还是辅助节点. 这里最重要的是该命令不会产生错误. 如果有错误,很可能是由于`gitlab-consul`数据库用户权限不正确`gitlab-consul` . 在继续之前,请检查" [故障排除"部分](troubleshooting.html) . - -[Back to setup components](#setup-components) - -## Configure PgBouncer[](#configure-pgbouncer "Permalink") - -现在已经安装了 PostgreSQL 服务器,让我们配置 PgBouncer. 以下 IP 将作为示例: - -* `10.6.0.21` :PgBouncer 1 -* `10.6.0.22` :PgBouncer 2 -* `10.6.0.23` :PgBouncer 3 - -1. 在每个 PgBouncer 节点上,编辑`/etc/gitlab/gitlab.rb` ,并将``和``替换为[之前设置](#postgresql-primary-node)的密码哈希: - - ``` - # Disable all components except Pgbouncer and Consul agent - roles ['pgbouncer_role'] - - # Configure PgBouncer - pgbouncer['admin_users'] = %w(pgbouncer gitlab-consul) - - pgbouncer['users'] = { - 'gitlab-consul': { - password: '' - }, - 'pgbouncer': { - password: '' - } - } - - # Configure Consul agent - consul['watchers'] = %w(postgresql) - consul['enable'] = true - consul['configuration'] = { - retry_join: %w(10.6.0.11 10.6.0.12 10.6.0.13) - } - - # Enable service discovery for Prometheus - consul['monitoring_service_discovery'] = true - - # Set the network addresses that the exporters will listen on - node_exporter['listen_address'] = '0.0.0.0:9100' - pgbouncer_exporter['listen_address'] = '0.0.0.0:9188' - ``` - -2. [重新配置 Omnibus GitLab,](../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -3. 创建一个`.pgpass`文件,以便 Consul 能够重新加载 PgBouncer. 询问时两次输入 PgBouncer 密码: - - ``` - gitlab-ctl write-pgpass --host 127.0.0.1 --database pgbouncer --user pgbouncer --hostuser gitlab-consul - ``` - -4. 确保每个节点都在与当前主节点通信: - - ``` - gitlab-ctl pgb-console # You will be prompted for PGBOUNCER_PASSWORD - ``` - - 如果出现错误`psql: ERROR: Auth failed`输入密码后`psql: ERROR: Auth failed` ,请确保您以前以正确的格式生成了 MD5 密码哈希. 正确的格式是连接密码和用户名`PASSWORDUSERNAME` . 例如, `Sup3rS3cr3tpgbouncer`将是为`pgbouncer`用户生成 MD5 密码哈希所需的文本. - -5. 控制台提示可用后,请运行以下查询: - - ``` - show databases ; show clients ; - ``` - - 输出应类似于以下内容: - - ``` - name | host | port | database | force_user | pool_size | reserve_pool | pool_mode | max_connections | current_connections - ---------------------+-------------+------+---------------------+------------+-----------+--------------+-----------+-----------------+--------------------- - gitlabhq_production | MASTER_HOST | 5432 | gitlabhq_production | | 20 | 0 | | 0 | 0 - pgbouncer | | 6432 | pgbouncer | pgbouncer | 2 | 0 | statement | 0 | 0 - (2 rows) - - type | user | database | state | addr | port | local_addr | local_port | connect_time | request_time | ptr | link | remote_pid | tls - ------+-----------+---------------------+---------+----------------+-------+------------+------------+---------------------+---------------------+-----------+------+------------+----- - C | pgbouncer | pgbouncer | active | 127.0.0.1 | 56846 | 127.0.0.1 | 6432 | 2017-08-21 18:09:59 | 2017-08-21 18:10:48 | 0x22b3880 | | 0 | - (2 rows) - ``` - -6. 验证 GitLab 服务正在运行: - - ``` - sudo gitlab-ctl status - ``` - - The output should be similar to the following: - - ``` - run: consul: (pid 31530) 77150s; run: log: (pid 31106) 77182s - run: logrotate: (pid 32613) 3357s; run: log: (pid 30107) 77500s - run: node-exporter: (pid 31550) 77149s; run: log: (pid 30138) 77493s - run: pgbouncer: (pid 32033) 75593s; run: log: (pid 31117) 77175s - run: pgbouncer-exporter: (pid 31558) 77148s; run: log: (pid 31498) 77156s - ``` - -[Back to setup components](#setup-components) - -### Configure the internal load balancer[](#configure-the-internal-load-balancer "Permalink") - -如果按照建议运行多个 PgBouncer 节点,那么此时,您将需要设置一个 TCP 内部负载均衡器以正确地服务每个负载均衡器. - -以下 IP 将作为示例: - -* `10.6.0.20` :内部负载均衡器 - -使用[HAProxy 的方法](https://www.haproxy.org/)如下: - -``` -global - log /dev/log local0 - log localhost local1 notice - log stdout format raw local0 - -defaults - log global - default-server inter 10s fall 3 rise 2 - balance leastconn - -frontend internal-pgbouncer-tcp-in - bind *:6432 - mode tcp - option tcplog - - default_backend pgbouncer - -backend pgbouncer - mode tcp - option tcp-check - - server pgbouncer1 10.6.0.21:6432 check - server pgbouncer2 10.6.0.22:6432 check - server pgbouncer3 10.6.0.23:6432 check -``` - -请参阅您首选的负载均衡器的文档以获取更多指导. - -[Back to setup components](#setup-components) - -## Configure Gitaly[](#configure-gitaly "Permalink") - -在自己的服务器上部署 Gitaly 可以使大于单个计算机的 GitLab 安装受益. - -Gitaly 节点要求取决于客户数据,特别是项目数量及其存储库大小. 建议将两个节点作为绝对最小值. 每个 Gitaly 节点应存储的数据不超过 5TB,并将[`gitaly-ruby`工作者](../gitaly/index.html#gitaly-ruby)的数量设置为可用 CPU 的 20%. 根据以上建议,应结合其他节点并结合对预期数据大小和分布的审查. - -强烈建议所有 Gitaly 节点都安装 SSD 磁盘,因为 Gitaly I / O 繁重,因此其读操作的吞吐量至少为 8000 IOPS,写操作的吞吐量至少为 2,000 IOPS. 这些 IOPS 值仅建议作为启动器使用,因为随着时间的推移,它们可能会根据环境工作负载的规模而调整得更高或更低. 如果您在 Cloud provider 上运行环境,则可能需要参考其文档以了解如何正确配置 IOPS. - -注意事项: - -* GitLab Rails 应用程序将[存储库分](../repository_storage_paths.html)片到[存储库中](../repository_storage_paths.html) . -* Gitaly 服务器可以托管一个或多个存储. -* 一个 GitLab 服务器可以使用一个或多个 Gitaly 服务器. -* 必须以对所有 Gitaly 客户端正确解析的方式指定 Gitaly 地址. -* Gitaly 服务器一定不能暴露在公共互联网上,因为默认情况下,Gitaly 的网络流量是未加密的. 强烈建议使用防火墙以限制对 Gitaly 服务器的访问. 另一种选择是[使用 TLS](#gitaly-tls-support) . - -**提示:**有关 Gitaly 历史和网络体系结构的更多信息,请参见[独立的 Gitaly 文档](../gitaly/index.html) . - -注意: **注意:** Gitaly 文档中引用的令牌只是管理员选择的任意密码. 它与为 GitLab API 创建的令牌或其他类似的 Web API 令牌无关. - -下面我们描述如何配置两个具有 IP 和域名的 Gitaly 服务器: - -* `10.6.0.51` 1( `gitaly1.internal` ) -* `10.6.0.52` 2( `gitaly2.internal` ) - -假定该秘密令牌为`gitalysecret` ,并且您的 GitLab 安装具有三个存储库存储: - -* `default`为 Gitaly 1 -* `storage1`在 Gitaly 1 -* `storage2`上 Gitaly 2 - -在每个节点上: - -1. 从 GitLab 下载页面使用**步骤 1 和 2** [下载/安装](https://about.gitlab.com/install/)所需的 Omnibus GitLab 软件包,但**不**提供`EXTERNAL_URL`值. -2. 编辑`/etc/gitlab/gitlab.rb`以配置存储路径,启用网络侦听器并配置令牌: - - ``` - # /etc/gitlab/gitlab.rb - - # Gitaly and GitLab use two shared secrets for authentication, one to authenticate gRPC requests - # to Gitaly, and a second for authentication callbacks from GitLab-Shell to the GitLab internal API. - # The following two values must be the same as their respective values - # of the GitLab Rails application setup - gitaly['auth_token'] = 'gitlaysecret' - gitlab_shell['secret_token'] = 'shellsecret' - - # Avoid running unnecessary services on the Gitaly server - postgresql['enable'] = false - redis['enable'] = false - nginx['enable'] = false - puma['enable'] = false - unicorn['enable'] = false - sidekiq['enable'] = false - gitlab_workhorse['enable'] = false - grafana['enable'] = false - gitlab_exporter['enable'] = false - - # If you run a seperate monitoring node you can disable these services - alertmanager['enable'] = false - prometheus['enable'] = false - - # Prevent database connections during 'gitlab-ctl reconfigure' - gitlab_rails['rake_cache_clear'] = false - gitlab_rails['auto_migrate'] = false - - # Configure the gitlab-shell API callback URL. Without this, `git push` will - # fail. This can be your 'front door' GitLab URL or an internal load - # balancer. - # Don't forget to copy `/etc/gitlab/gitlab-secrets.json` from web server to Gitaly server. - gitlab_rails['internal_api_url'] = 'https://gitlab.example.com' - - # Make Gitaly accept connections on all network interfaces. You must use - # firewalls to restrict access to this address/port. - # Comment out following line if you only want to support TLS connections - gitaly['listen_addr'] = "0.0.0.0:8075" - - ## Enable service discovery for Prometheus - consul['enable'] = true - consul['monitoring_service_discovery'] = true - - # Set the network addresses that the exporters will listen on for monitoring - gitaly['prometheus_listen_addr'] = "0.0.0.0:9236" - node_exporter['listen_address'] = '0.0.0.0:9100' - gitlab_rails['prometheus_address'] = '10.6.0.81:9090' - - ## The IPs of the Consul server nodes - ## You can also use FQDNs and intermix them with IPs - consul['configuration'] = { - retry_join: %w(10.6.0.11 10.6.0.12 10.6.0.13), - } - ``` - -3. 对于每个服务器,将以下内容附加到`/etc/gitlab/gitlab.rb` : - 1. 在`gitaly1.internal` : - - ``` - git_data_dirs ({ 'default' => { 'path' => '/var/opt/gitlab/git-data' }, 'storage1' => { 'path' => '/mnt/gitlab/git-data' }, }) - ``` - - 2. 在`gitaly2.internal` : - - ``` - git_data_dirs ({ 'storage2' => { 'path' => '/mnt/gitlab/git-data' }, }) - ``` - -4. 保存文件并[重新配置 GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure) . -5. 确认 Gitaly 可以执行对内部 API 的回调: - - ``` - sudo /opt/gitlab/embedded/service/gitlab-shell/bin/check -config /opt/gitlab/embedded/service/gitlab-shell/config.yml - ``` - -6. 验证 GitLab 服务正在运行: - - ``` - sudo gitlab-ctl status - ``` - - 输出应类似于以下内容: - - ``` - run: consul: (pid 30339) 77006s; run: log: (pid 29878) 77020s - run: gitaly: (pid 30351) 77005s; run: log: (pid 29660) 77040s - run: logrotate: (pid 7760) 3213s; run: log: (pid 29782) 77032s - run: node-exporter: (pid 30378) 77004s; run: log: (pid 29812) 77026s - ``` - -### Gitaly TLS support[](#gitaly-tls-support "Permalink") - -Gitaly 支持 TLS 加密. 为了能够与侦听安全连接的 Gitaly 实例进行通信,您将需要在 GitLab 配置中相应存储条目的`gitaly_address`中使用`tls://` URL 方案. - -您将需要携带自己的证书,因为该证书不会自动提供. 证书或其证书颁发机构必须按照[GitLab 自定义证书配置中](https://docs.gitlab.com/omnibus/settings/ssl.html)所述的步骤,安装在所有 Gitaly 节点(包括使用证书的 Gitaly 节点)上,以及与之通信的所有客户端节点上. - -**注意:**自签名证书必须指定用于访问 Gitaly 服务器的地址. 如果要通过主机名寻址 Gitaly 服务器,则可以为此使用"公用名"字段,也可以将其添加为"使用者备用名". 如果要通过 Gitaly 服务器的 IP 地址对其进行寻址,则必须将其作为主题备用名称添加到证书中. [gRPC 不支持在证书中使用 IP 地址作为公用名](https://github.com/grpc/grpc/issues/2691) .**注意:**可以同时为 Gitaly 服务器配置未加密的侦听地址`listen_addr`和已加密的侦听地址`tls_listen_addr` . 如果需要,这使您可以从未加密的流量逐渐过渡到加密的流量. - -要使用 TLS 配置 Gitaly: - -1. 创建`/etc/gitlab/ssl`目录,并在其中复制密钥和证书: - - ``` - sudo mkdir -p /etc/gitlab/ssl - sudo chmod 755 /etc/gitlab/ssl - sudo cp key.pem cert.pem /etc/gitlab/ssl/ - sudo chmod 644 key.pem cert.pem - ``` - -2. 将证书复制到`/etc/gitlab/trusted-certs`以便 Gitaly 在调用自身时信任该证书: - - ``` - sudo cp /etc/gitlab/ssl/cert.pem /etc/gitlab/trusted-certs/ - ``` - -3. 编辑`/etc/gitlab/gitlab.rb`并添加: - - ``` - gitaly['tls_listen_addr'] = "0.0.0.0:9999" - gitaly['certificate_path'] = "/etc/gitlab/ssl/cert.pem" - gitaly['key_path'] = "/etc/gitlab/ssl/key.pem" - ``` - -4. 删除`gitaly['listen_addr']`以仅允许加密连接. -5. 保存文件并[重新配置 GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure) . - -[Back to setup components](#setup-components) - -## Configure Sidekiq[](#configure-sidekiq "Permalink") - -Sidekiq 需要连接到 Redis,PostgreSQL 和 Gitaly 实例. 以下 IP 将作为示例: - -* `10.6.0.71` :Sidekiq 1 -* `10.6.0.72` :Sidekiq 2 -* `10.6.0.73` :Sidekiq 3 -* `10.6.0.74` :Sidekiq 4 - -要配置 Sidekiq 节点,每个节点一个: - -1. SSH 到 Sidekiq 服务器. -2. 从 GitLab 下载页面使用步骤 1 和 2 [下载/安装](https://about.gitlab.com/install/)所需的 Omnibus GitLab 软件包. **不要完成下载页面上的任何其他步骤.** -3. 使用编辑器打开`/etc/gitlab/gitlab.rb` : - - ``` - ######################################## - ##### Services Disabled ### - ######################################## - - nginx['enable'] = false - grafana['enable'] = false - prometheus['enable'] = false - gitlab_rails['auto_migrate'] = false - alertmanager['enable'] = false - gitaly['enable'] = false - gitlab_workhorse['enable'] = false - nginx['enable'] = false - puma['enable'] = false - postgres_exporter['enable'] = false - postgresql['enable'] = false - redis['enable'] = false - redis_exporter['enable'] = false - gitlab_exporter['enable'] = false - - ######################################## - #### Redis ### - ######################################## - - ## Must be the same in every sentinel node - redis['master_name'] = 'gitlab-redis' - - ## The same password for Redis authentication you set up for the master node. - redis['master_password'] = '' - - ## A list of sentinels with `host` and `port` - gitlab_rails['redis_sentinels'] = [ - {'host' => '10.6.0.11', 'port' => 26379}, - {'host' => '10.6.0.12', 'port' => 26379}, - {'host' => '10.6.0.13', 'port' => 26379}, - ] - - ####################################### - ### Gitaly ### - ####################################### - - git_data_dirs({ - 'default' => { 'gitaly_address' => 'tcp://gitaly1.internal:8075' }, - 'storage1' => { 'gitaly_address' => 'tcp://gitaly1.internal:8075' }, - 'storage2' => { 'gitaly_address' => 'tcp://gitaly2.internal:8075' }, - }) - gitlab_rails['gitaly_token'] = 'YOUR_TOKEN' - - ####################################### - ### Postgres ### - ####################################### - gitlab_rails['db_host'] = '10.6.0.20' # internal load balancer IP - gitlab_rails['db_port'] = 6432 - gitlab_rails['db_password'] = '' - gitlab_rails['db_adapter'] = 'postgresql' - gitlab_rails['db_encoding'] = 'unicode' - gitlab_rails['auto_migrate'] = false - - ####################################### - ### Sidekiq configuration ### - ####################################### - sidekiq['listen_address'] = "0.0.0.0" - - ####################################### - ### Monitoring configuration ### - ####################################### - consul['enable'] = true - consul['monitoring_service_discovery'] = true - - consul['configuration'] = { - retry_join: %w(10.6.0.11 10.6.0.12 10.6.0.13) - } - - # Set the network addresses that the exporters will listen on - node_exporter['listen_address'] = '0.0.0.0:9100' - - # Rails Status for prometheus - gitlab_rails['monitoring_whitelist'] = ['10.6.0.81/32', '127.0.0.0/8'] - gitlab_rails['prometheus_address'] = '10.6.0.81:9090' - ``` - -4. 保存文件并[重新配置 GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure) . -5. 验证 GitLab 服务正在运行: - - ``` - sudo gitlab-ctl status - ``` - - 输出应类似于以下内容: - - ``` - run: consul: (pid 30114) 77353s; run: log: (pid 29756) 77367s - run: logrotate: (pid 9898) 3561s; run: log: (pid 29653) 77380s - run: node-exporter: (pid 30134) 77353s; run: log: (pid 29706) 77372s - run: sidekiq: (pid 30142) 77351s; run: log: (pid 29638) 77386s - ``` - -**提示:**您还可以运行[多个 Sidekiq 进程](../operations/extra_sidekiq_processes.html) .[Back to setup components](#setup-components) - -## Configure GitLab Rails[](#configure-gitlab-rails "Permalink") - -**注意:**在我们的体系结构中,我们使用 Puma Web 服务器运行每个 GitLab Rails 节点,并将其工作程序数设置为可用 CPU 的 90%以及四个线程. 对于运行带有其他组件的 Rails 的节点,应该相应地降低 worker 的值,我们发现 50%达到了很好的平衡,但这取决于工作量. - -本节介绍如何配置 GitLab 应用程序(Rails)组件. 在每个节点上执行以下操作: - -1. 如果您[使用的是 NFS](#configure-nfs-optional) : - - 1. 如有必要,请使用以下命令安装 NFS 客户端实用程序软件包: - - ``` - # Ubuntu/Debian - apt-get install nfs-common - - # CentOS/Red Hat - yum install nfs-utils nfs-utils-lib - ``` - - 2. 在`/etc/fstab`指定必要的 NFS 挂载. `/etc/fstab`的确切内容取决于您选择配置 NFS 服务器的方式. 有关示例和各种选项,请参见[NFS 文档](../high_availability/nfs.html) . - - 3. 创建共享目录. 这些可能会有所不同,具体取决于您的 NFS 安装位置. - - ``` - mkdir -p /var/opt/gitlab/.ssh /var/opt/gitlab/gitlab-rails/uploads /var/opt/gitlab/gitlab-rails/shared /var/opt/gitlab/gitlab-ci/builds /var/opt/gitlab/git-data - ``` - -2. 使用[GitLab 下载中的](https://about.gitlab.com/install/) **步骤 1 和 2**下载/安装 Omnibus GitLab. 不要完成下载页面上的其他步骤. -3. 创建/编辑`/etc/gitlab/gitlab.rb`并使用以下配置. 为了保持整个节点的链接均匀性, `external_url`在应用服务器上应指向外部 URL,用户将用来访问 GitLab. 这将是[外部负载平衡器](#configure-the-external-load-balancer)的 URL,它将[负载](#configure-the-external-load-balancer)流量路由到 GitLab 应用程序服务器: - - ``` - external_url 'https://gitlab.example.com' - - # Gitaly and GitLab use two shared secrets for authentication, one to authenticate gRPC requests - # to Gitaly, and a second for authentication callbacks from GitLab-Shell to the GitLab internal API. - # The following two values must be the same as their respective values - # of the Gitaly setup - gitlab_rails['gitaly_token'] = 'gitalyecret' - gitlab_shell['secret_token'] = 'shellsecret' - - git_data_dirs({ - 'default' => { 'gitaly_address' => 'tcp://gitaly1.internal:8075' }, - 'storage1' => { 'gitaly_address' => 'tcp://gitaly1.internal:8075' }, - 'storage2' => { 'gitaly_address' => 'tcp://gitaly2.internal:8075' }, - }) - - ## Disable components that will not be on the GitLab application server - roles ['application_role'] - gitaly['enable'] = false - nginx['enable'] = true - sidekiq['enable'] = false - - ## PostgreSQL connection details - # Disable PostgreSQL on the application node - postgresql['enable'] = false - gitlab_rails['db_host'] = '10.6.0.20' # internal load balancer IP - gitlab_rails['db_port'] = 6432 - gitlab_rails['db_password'] = '' - gitlab_rails['auto_migrate'] = false - - ## Redis connection details - ## Must be the same in every sentinel node - redis['master_name'] = 'gitlab-redis' - - ## The same password for Redis authentication you set up for the Redis primary node. - redis['master_password'] = '' - - ## A list of sentinels with `host` and `port` - gitlab_rails['redis_sentinels'] = [ - {'host' => '10.6.0.11', 'port' => 26379}, - {'host' => '10.6.0.12', 'port' => 26379}, - {'host' => '10.6.0.13', 'port' => 26379} - ] - - ## Enable service discovery for Prometheus - consul['enable'] = true - consul['monitoring_service_discovery'] = true - - # Set the network addresses that the exporters used for monitoring will listen on - node_exporter['listen_address'] = '0.0.0.0:9100' - gitlab_workhorse['prometheus_listen_addr'] = '0.0.0.0:9229' - sidekiq['listen_address'] = "0.0.0.0" - puma['listen'] = '0.0.0.0' - - ## The IPs of the Consul server nodes - ## You can also use FQDNs and intermix them with IPs - consul['configuration'] = { - retry_join: %w(10.6.0.11 10.6.0.12 10.6.0.13), - } - - # Add the monitoring node's IP address to the monitoring whitelist and allow it to - # scrape the NGINX metrics - gitlab_rails['monitoring_whitelist'] = ['10.6.0.81/32', '127.0.0.0/8'] - nginx['status']['options']['allow'] = ['10.6.0.81/32', '127.0.0.0/8'] - gitlab_rails['prometheus_address'] = '10.6.0.81:9090' - - ## Uncomment and edit the following options if you have set up NFS - ## - ## Prevent GitLab from starting if NFS data mounts are not available - ## - #high_availability['mountpoint'] = '/var/opt/gitlab/git-data' - ## - ## Ensure UIDs and GIDs match between servers for permissions via NFS - ## - #user['uid'] = 9000 - #user['gid'] = 9000 - #web_server['uid'] = 9001 - #web_server['gid'] = 9001 - #registry['uid'] = 9002 - #registry['gid'] = 9002 - ``` - -4. 如果您正在使用[具有 TLS 支持](#gitaly-tls-support)的`git_data_dirs` ,请确保`git_data_dirs`条目配置了`tls`而不是`tcp` : - - ``` - git_data_dirs({ - 'default' => { 'gitaly_address' => 'tls://gitaly1.internal:9999' }, - 'storage1' => { 'gitaly_address' => 'tls://gitaly1.internal:9999' }, - 'storage2' => { 'gitaly_address' => 'tls://gitaly2.internal:9999' }, - }) - ``` - - 1. 将证书复制到`/etc/gitlab/trusted-certs` : - - ``` - sudo cp cert.pem /etc/gitlab/trusted-certs/ - ``` - -5. 保存文件并[重新配置 GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure) . -6. 运行`sudo gitlab-rake gitlab:gitaly:check`确认节点可以连接到 Gitaly. -7. 拖尾日志以查看请求: - - ``` - sudo gitlab-ctl tail gitaly - ``` - -8. 验证 GitLab 服务正在运行: - - ``` - sudo gitlab-ctl status - ``` - - 输出应类似于以下内容: - - ``` - run: consul: (pid 4890) 8647s; run: log: (pid 29962) 79128s - run: gitlab-exporter: (pid 4902) 8647s; run: log: (pid 29913) 79134s - run: gitlab-workhorse: (pid 4904) 8646s; run: log: (pid 29713) 79155s - run: logrotate: (pid 12425) 1446s; run: log: (pid 29798) 79146s - run: nginx: (pid 4925) 8646s; run: log: (pid 29726) 79152s - run: node-exporter: (pid 4931) 8645s; run: log: (pid 29855) 79140s - run: puma: (pid 4936) 8645s; run: log: (pid 29656) 79161s - ``` - -**注意:**如上例所示,当在`external_url`指定`https`时,GitLab 会假定您在`/etc/gitlab/ssl/`具有 SSL 证书. 如果没有证书,NGINX 将无法启动. 有关更多信息,请参见[NGINX 文档](https://docs.gitlab.com/omnibus/settings/nginx.html) . - -### GitLab Rails post-configuration[](#gitlab-rails-post-configuration "Permalink") - -1. 确保运行所有迁移: - - ``` - gitlab-rake gitlab:db:configure - ``` - - **注意:**如果遇到`rake aborted!` 错误,指出 PgBouncer 是无法连接到 PostgreSQL 也可能是您的 PgBouncer 节点的 IP 地址是从 PostgreSQL 的缺失`trust_auth_cidr_addresses`在`gitlab.rb`你的数据库节点. 请参阅"故障排除"部分中的[PgBouncer 错误`ERROR: pgbouncer cannot connect to server`](troubleshooting.html#pgbouncer-error-error-pgbouncer-cannot-connect-to-server) ,然后再继续. -2. [Configure fast lookup of authorized SSH keys in the database](../operations/fast_ssh_key_lookup.html). - -[Back to setup components](#setup-components) - -## Configure Prometheus[](#configure-prometheus "Permalink") - -Omnibus GitLab 软件包可用于配置运行[Prometheus](../monitoring/prometheus/index.html)和[Grafana](../monitoring/performance/grafana_configuration.html)的独立 Monitoring 节点: - -1. SSH 进入"监视"节点. -2. 从 GitLab 下载页面使用**步骤 1 和 2** [下载/安装](https://about.gitlab.com/install/)所需的 Omnibus GitLab 软件包. 不要完成下载页面上的任何其他步骤. -3. 编辑`/etc/gitlab/gitlab.rb`并添加内容: - - ``` - external_url 'http://gitlab.example.com' - - # Disable all other services - gitlab_rails['auto_migrate'] = false - alertmanager['enable'] = false - gitaly['enable'] = false - gitlab_exporter['enable'] = false - gitlab_workhorse['enable'] = false - nginx['enable'] = true - postgres_exporter['enable'] = false - postgresql['enable'] = false - redis['enable'] = false - redis_exporter['enable'] = false - sidekiq['enable'] = false - puma['enable'] = false - unicorn['enable'] = false - node_exporter['enable'] = false - gitlab_exporter['enable'] = false - - # Enable Prometheus - prometheus['enable'] = true - prometheus['listen_address'] = '0.0.0.0:9090' - prometheus['monitor_kubernetes'] = false - - # Enable Login form - grafana['disable_login_form'] = false - - # Enable Grafana - grafana['enable'] = true - grafana['admin_password'] = '' - - # Enable service discovery for Prometheus - consul['enable'] = true - consul['monitoring_service_discovery'] = true - consul['configuration'] = { - retry_join: %w(10.6.0.11 10.6.0.12 10.6.0.13) - } - ``` - -4. 保存文件并[重新配置 GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure) . -5. 在 GitLab 用户界面中,将`admin/application_settings/metrics_and_profiling` >指标-Grafana 设置为`/-/grafana`到`http[s]:///-/grafana` . -6. 验证 GitLab 服务正在运行: - - ``` - sudo gitlab-ctl status - ``` - - 输出应类似于以下内容: - - ``` - run: consul: (pid 31637) 17337s; run: log: (pid 29748) 78432s - run: grafana: (pid 31644) 17337s; run: log: (pid 29719) 78438s - run: logrotate: (pid 31809) 2936s; run: log: (pid 29581) 78462s - run: nginx: (pid 31665) 17335s; run: log: (pid 29556) 78468s - run: prometheus: (pid 31672) 17335s; run: log: (pid 29633) 78456s - ``` - -[Back to setup components](#setup-components) - -## Configure the object storage[](#configure-the-object-storage "Permalink") - -GitLab 支持使用对象存储服务来保存多种类型的数据. 建议在[NFS](#configure-nfs-optional)上使用它,并且通常在较大的设置中更好,因为对象存储通常具有更高的性能,可靠性和可伸缩性. - -manbetx 客户端打不开已经测试过或知道使用的客户的对象存储选项包括: - -* SaaS / Cloud 解决方案,例如[Amazon S3](https://aws.amazon.com/s3/) , [Google 云存储](https://cloud.google.com/storage) . -* 来自各种存储供应商的本地硬件和设备. -* MinIO. 我们的 Helm Chart 文档中[提供了有关部署的指南](https://docs.gitlab.com/charts/advanced/external-object-storage/minio.html) . - -要配置 GitLab 以使用对象存储,请根据要使用的功能参考以下指南: - -1. Configure [object storage for backups](../../raketasks/backup_restore.html#uploading-backups-to-a-remote-cloud-storage). -2. Configure [object storage for job artifacts](../job_artifacts.html#using-object-storage) including [incremental logging](../job_logs.html#new-incremental-logging-architecture). -3. Configure [object storage for LFS objects](../lfs/index.html#storing-lfs-objects-in-remote-object-storage). -4. Configure [object storage for uploads](../uploads.html#using-object-storage-core-only). -5. Configure [object storage for merge request diffs](../merge_request_diffs.html#using-object-storage). -6. 配置[容器注册表的对象存储](../packages/container_registry.html#use-object-storage) (可选功能). -7. [为 Mattermost](https://docs.mattermost.com/administration/config-settings.html#file-storage)配置[对象存储](https://docs.mattermost.com/administration/config-settings.html#file-storage) (可选功能). -8. 配置[软件包的对象存储](../packages/index.html#using-object-storage) (可选功能). -9. 配置[依赖项代理的对象存储](../packages/dependency_proxy.html#using-object-storage) (可选功能). -10. [为 Pseudonymizer](../pseudonymizer.html#configuration) (可选功能)配置[对象存储](../pseudonymizer.html#configuration) . -11. 配置[对象存储以自动缩放 Runner 缓存](https://docs.gitlab.com/runner/configuration/autoscale.html) (可选-为了提高性能). -12. Configure [object storage for Terraform state files](../terraform_state.html#using-object-storage-core-only). - -对于 GitLab,建议为每种数据类型使用单独的存储桶. - -我们的配置的局限性是对象存储的每次使用都是单独配置的. [我们有一个需要改进的问题](https://gitlab.com/gitlab-org/gitlab/-/issues/23345) ,轻松地将一个存储桶与单独的文件夹一起使用可能会带来一个改进. - -使用同一个存储桶至少有一个特定的问题:当使用 Helm 图表部署 GitLab 时,除非使用单独的存储桶,否则从备份还原[将无法正常工作](https://docs.gitlab.com/charts/advanced/external-object-storage/) . - -如果您的组织将来决定将 GitLab 迁移到 Helm 部署,则使用单个存储桶的一种风险是. GitLab 可以运行,但是直到组织对备份起作用的关键要求之前,备份的情况可能无法实现. - -[Back to setup components](#setup-components) - -## Configure NFS (optional)[](#configure-nfs-optional "Permalink") - -建议尽可能在 NFS 上使用[对象存储](#configure-the-object-storage)以及[Gitaly](#configure-gitaly) ,以提高性能. 如果您打算使用 GitLab 页面,则当前[需要 NFS](troubleshooting.html#gitlab-pages-requires-nfs) . - -请参阅如何[配置 NFS](../high_availability/nfs.html) . - -[Back to setup components](#setup-components) - -## Troubleshooting[](#troubleshooting "Permalink") - -请参阅[故障排除文档](troubleshooting.html) . - -[Back to setup components](#setup-components) \ No newline at end of file diff --git a/docs/424.md b/docs/424.md deleted file mode 100644 index d80495f..0000000 --- a/docs/424.md +++ /dev/null @@ -1,1451 +0,0 @@ -# Reference architecture: up to 5,000 users - -> 原文:[https://docs.gitlab.com/ee/administration/reference_architectures/5k_users.html](https://docs.gitlab.com/ee/administration/reference_architectures/5k_users.html) - -* [Setup components](#setup-components) -* [Configure the external load balancer](#configure-the-external-load-balancer) - * [Application node terminates SSL](#application-node-terminates-ssl) - * [Load balancer terminates SSL without backend SSL](#load-balancer-terminates-ssl-without-backend-ssl) - * [Load balancer terminates SSL with backend SSL](#load-balancer-terminates-ssl-with-backend-ssl) - * [Ports](#ports) - * [Alternate SSH Port](#alternate-ssh-port) -* [Configure Redis](#configure-redis) - * [Provide your own Redis instance](#provide-your-own-redis-instance) - * [Standalone Redis using Omnibus GitLab](#standalone-redis-using-omnibus-gitlab) - * [Configuring the primary Redis instance](#configuring-the-primary-redis-instance) - * [Configuring the replica Redis instances](#configuring-the-replica-redis-instances) -* [Configure Consul and Sentinel](#configure-consul-and-sentinel) -* [Configure PostgreSQL](#configure-postgresql) - * [Provide your own PostgreSQL instance](#provide-your-own-postgresql-instance) - * [Standalone PostgreSQL using Omnibus GitLab](#standalone-postgresql-using-omnibus-gitlab) - * [PostgreSQL primary node](#postgresql-primary-node) - * [PostgreSQL secondary nodes](#postgresql-secondary-nodes) - * [PostgreSQL post-configuration](#postgresql-post-configuration) -* [Configure PgBouncer](#configure-pgbouncer) - * [Configure the internal load balancer](#configure-the-internal-load-balancer) -* [Configure Gitaly](#configure-gitaly) - * [Gitaly TLS support](#gitaly-tls-support) -* [Configure Sidekiq](#configure-sidekiq) -* [Configure GitLab Rails](#configure-gitlab-rails) - * [GitLab Rails post-configuration](#gitlab-rails-post-configuration) -* [Configure Prometheus](#configure-prometheus) -* [Configure the object storage](#configure-the-object-storage) -* [Configure NFS (optional)](#configure-nfs-optional) -* [Troubleshooting](#troubleshooting) - -# Reference architecture: up to 5,000 users[](#reference-architecture-up-to-5000-users "Permalink") - -该页面描述了最多可容纳 5,000 个用户的 GitLab 参考架构. 有关参考架构的完整列表,请参见[可用参考架构](index.html#available-reference-architectures) . - -**注意:**下面记录的 5,000 个用户参考体系结构旨在帮助您的组织实现高度可用的 GitLab 部署. 如果您没有专业知识或需要维护高度可用的环境,则可以遵循[2,000 个用户的参考体系结构](2k_users.html) ,从而拥有一个更简单且成本更低的操作环境. - -> * **支持的用户(大约):** 5,000 -> * **高可用性:** True -> * **测试 RPS 速率:** API:100 RPS,网站:10 RPS,Git:10 RPS - -| Service | Nodes | Configuration | GCP | AWS | Azure | -| --- | --- | --- | --- | --- | --- | -| 外部负载平衡节点 | 1 | 2 vCPU, 1.8GB Memory | `n1-highcpu-2` | `c5.large` | `F2s v2` | -| Redis | 3 | 2 个 vCPU,7.5GB 内存 | `n1-standard-2` | `m5.large` | `D2s v3` | -| 领事+前哨 | 3 | 2 个 vCPU,1.8GB 内存 | `n1-highcpu-2` | `c5.large` | `F2s v2` | -| PostgreSQL | 3 | 2 个 vCPU,7.5GB 内存 | `n1-standard-2` | `m5.large` | `D2s v3` | -| PgBouncer | 3 | 2 个 vCPU,1.8GB 内存 | `n1-highcpu-2` | `c5.large` | `F2s v2` | -| 内部负载平衡节点 | 1 | 2 vCPU, 1.8GB Memory | `n1-highcpu-2` | `c5.large` | `F2s v2` | -| Gitaly | 最少 2 个 | 8 个 vCPU,30GB 内存 | `n1-standard-8` | `m5.2xlarge` | `D8s v3` | -| Sidekiq | 4 | 2 个 vCPU,7.5GB 内存 | `n1-standard-2` | `m5.large` | `D2s v3` | -| 亚搏体育 app Rails | 3 | 16 个 vCPU,14.4GB 内存 | `n1-highcpu-16` | `c5.4xlarge` | `F16s v2` | -| 监控节点 | 1 | 2 vCPU, 1.8GB Memory | `n1-highcpu-2` | `c5.large` | `F2s v2` | -| 对象存储 | n/a | n/a | n/a | n/a | n/a | -| NFS 服务器(可选,不推荐) | 1 | 4 个 vCPU,3.6GB 内存 | `n1-highcpu-4` | `c5.xlarge` | `F4s v2` | - -这些架构是使用 GCP 上的[Intel Xeon E5 v3(Haswell)](https://cloud.google.com/compute/docs/cpu-platforms) CPU 平台构建和测试的. 在不同的硬件上,您可能会发现需要对 CPU 或节点数进行相应的调整,无论是较低还是较高. 有关更多信息,请在[此处](https://gitlab.com/gitlab-org/quality/performance/-/wikis/Reference-Architectures/GCP-CPU-Benchmarks)找到 CPU 的[Sysbench](https://github.com/akopytov/sysbench)基准. - -对于 LFS,Uploads,Artifacts 等数据对象,由于性能和可用性更好,建议在 NFS 上尽可能使用[对象存储服务](#configure-the-object-storage) . 由于这不需要设置节点,因此在上表中将其标记为不适用(n / a). - -## Setup components[](#setup-components "Permalink") - -设置 GitLab 及其组件以容纳多达 5,000 个用户: - -1. [配置外部负载平衡节点](#configure-the-external-load-balancer) ,该[节点](#configure-the-external-load-balancer)将处理两个 GitLab 应用程序服务节点的负载平衡. -2. [Configure Redis](#configure-redis). -3. [Configure Consul and Sentinel](#configure-consul-and-sentinel). -4. [配置 PostgreSQL](#configure-postgresql) (GitLab 的数据库). -5. [Configure PgBouncer](#configure-pgbouncer). -6. [Configure the internal load balancing node](#configure-the-internal-load-balancer) -7. [配置 Gitaly](#configure-gitaly) ,它提供对 Git 存储库的访问. -8. [Configure Sidekiq](#configure-sidekiq). -9. [配置主 GitLab Rails 应用程序](#configure-gitlab-rails)以运行 Puma / Unicorn,Workhorse,GitLab Shell,并服务所有前端请求(UI,API,基于 HTTP / SSH 的 Git). -10. [配置 Prometheus](#configure-prometheus)来监视您的 GitLab 环境. -11. [配置](#configure-the-object-storage)用于共享数据对象[的对象存储](#configure-the-object-storage) . -12. [将 NFS(可选)配置](#configure-nfs-optional)为具有共享磁盘存储服务,以替代 Gitaly 和/或对象存储(尽管不建议这样做). GitLab 页面需要 NFS,如果不使用该功能,则可以跳过此步骤. - -我们从同一 10.6.0.0/16 专用网络范围内的所有服务器开始,它们可以在这些地址上自由地相互连接. - -这是每台机器和分配的 IP 的列表和说明: - -* `10.6.0.10` :外部负载平衡器 -* `10.6.0.61`主要 -* `10.6.0.62` :返回副本 1 -* `10.6.0.63` :返回副本 2 -* `10.6.0.11` :领事/前哨 1 -* `10.6.0.12` :领事/前哨 2 -* `10.6.0.13` :领事/前哨 3 -* `10.6.0.31`主 -* `10.6.0.32`中学 1 -* `10.6.0.33`中学 2 -* `10.6.0.21` :PgBouncer 1 -* `10.6.0.22` :PgBouncer 2 -* `10.6.0.23` :PgBouncer 3 -* `10.6.0.20` :内部负载均衡器 -* `10.6.0.51` :Gitaly 1 -* `10.6.0.52` :Gitaly 2 -* `10.6.0.71` :Sidekiq 1 -* `10.6.0.72` :Sidekiq 2 -* `10.6.0.73` :Sidekiq 3 -* `10.6.0.74` :Sidekiq 4 -* `10.6.0.41`应用程序 1 -* `10.6.0.42`应用程序 2 -* `10.6.0.43`应用程序 3 -* `10.6.0.81` :普罗米修斯 - -## Configure the external load balancer[](#configure-the-external-load-balancer "Permalink") - -**注意:**此体系结构已通过[HAProxy](https://www.haproxy.org/)作为负载均衡器进行了测试和验证. 尽管也可以使用具有类似功能集的其他负载均衡器,但这些负载均衡器尚未经过验证. - -在主动/主动 GitLab 配置中,您将需要一个负载均衡器来将流量路由到应用程序服务器. 有关使用负载均衡器或进行确切配置的细节超出了 GitLab 文档的范围. 我们希望,如果您要管理像 GitLab 这样的多节点系统,那么已经选择了负载均衡器. 一些示例包括 HAProxy(开源),F5 Big-IP LTM 和 Citrix Net Scaler. 本文档将概述需要在 GitLab 上使用哪些端口和协议. - -下一个问题是如何在环境中处理 SSL. 有几种不同的选择: - -* [The application node terminates SSL](#application-node-terminates-ssl). -* [负载平衡器终止没有后端 SSL 的 SSL,](#load-balancer-terminates-ssl-without-backend-ssl)并且负载平衡器与应用程序节点之间的通信不安全. -* [负载均衡器使用后端 SSL 终止 SSL,](#load-balancer-terminates-ssl-with-backend-ssl)并且负载均衡器与应用程序节点之间的通信是*安全*的. - -### Application node terminates SSL[](#application-node-terminates-ssl "Permalink") - -配置您的负载均衡器以将端口 443 上的连接作为`TCP`而不是`HTTP(S)`协议进行传递. 这会将连接直接传递到应用程序节点的 NGINX 服务. NGINX 将具有 SSL 证书并在端口 443 上侦听. - -有关管理 SSL 证书和配置 NGINX 的详细信息,请参见[NGINX HTTPS 文档](https://docs.gitlab.com/omnibus/settings/nginx.html) . - -### Load balancer terminates SSL without backend SSL[](#load-balancer-terminates-ssl-without-backend-ssl "Permalink") - -将您的负载均衡器配置为使用`HTTP(S)`协议而不是`TCP` . 然后,负载平衡器将负责管理 SSL 证书和终止 SSL. - -由于负载均衡器和 GitLab 之间的通信将不安全,因此需要一些其他配置. 有关详细信息,请参见[NGINX 代理的 SSL 文档](https://docs.gitlab.com/omnibus/settings/nginx.html) . - -### Load balancer terminates SSL with backend SSL[](#load-balancer-terminates-ssl-with-backend-ssl "Permalink") - -Configure your load balancer(s) to use the ‘HTTP(S)’ protocol rather than ‘TCP’. The load balancer(s) will be responsible for managing SSL certificates that end users will see. - -在这种情况下,负载均衡器和 NGINX 之间的流量也将是安全的. 无需为代理 SSL 添加配置,因为连接将一直保持安全. 但是,需要将配置添加到 GitLab 来配置 SSL 证书. 有关管理 SSL 证书和配置 NGINX 的详细信息,请参见[NGINX HTTPS 文档](https://docs.gitlab.com/omnibus/settings/nginx.html) . - -### Ports[](#ports "Permalink") - -下表显示了要使用的基本端口. - -| LB 端口 | 后端端口 | Protocol | -| --- | --- | --- | -| 80 | 80 | HTTP( *1* ) | -| 443 | 443 | TCP 或 HTTPS( *1* )( *2* ) | -| 22 | 22 | TCP | - -* ( *1* ): [Web 终端](../../ci/environments/index.html#web-terminals)支持要求您的负载平衡器正确处理 WebSocket 连接. 当使用 HTTP 或 HTTPS 代理,这意味着负载平衡器必须被配置为通过`Connection`和`Upgrade`逐跳头. 有关更多详细信息,请参见[Web 终端](../integration/terminal.html)集成指南. -* ( *2* ):当对端口 443 使用 HTTPS 协议时,需要向负载均衡器添加 SSL 证书. 如果您想在 GitLab 应用程序服务器上终止 SSL,请使用 TCP 协议. - -如果您使用具有自定义域支持的 GitLab 页面,则将需要一些其他端口配置. GitLab 页面需要一个单独的虚拟 IP 地址. 配置 DNS,将`pages_external_url`的`/etc/gitlab/gitlab.rb`指向新的虚拟 IP 地址. 有关更多信息,请参见[GitLab 页面文档](../pages/index.html) . - -| LB 端口 | 后端端口 | Protocol | -| --- | --- | --- | -| 80 | 变化( *1* ) | HTTP | -| 443 | 变化( *1* ) | TCP( *2* ) | - -* ( *1* ):GitLab 页面的后端端口取决于`gitlab_pages['external_http']`和`gitlab_pages['external_https']`设置. 有关更多详细信息,请参见[GitLab Pages 文档](../pages/index.html) . -* ( *2* ):GitLab 页面的端口 443 应该始终使用 TCP 协议. 用户可以使用自定义 SSL 配置自定义域,如果 SSL 在负载均衡器处终止,则不可能. - -#### Alternate SSH Port[](#alternate-ssh-port "Permalink") - -某些组织有禁止打开 SSH 端口 22 的策略.在这种情况下,配置允许用户在端口 443 上使用 SSH 的备用 SSH 主机名可能会有所帮助.与其他 GitLab 相比,备用 SSH 主机名将需要一个新的虚拟 IP 地址.上面的 HTTP 配置. - -为备用 SSH 主机名(例如`altssh.gitlab.example.com`配置 DNS. - -| LB 端口 | 后端端口 | Protocol | -| --- | --- | --- | -| 443 | 22 | TCP | - -[Back to setup components](#setup-components) - -## Configure Redis[](#configure-redis "Permalink") - -使用[Redis 的](https://s0redis0io.icopy.site/)可扩展环境,可以使用**一次** X **副本**拓扑与[Redis 的哨兵](https://s0redis0io.icopy.site/topics/sentinel)服务来观看,并自动启动故障转移过程. - -如果与 Sentinel 一起使用,Redis 需要身份验证. 有关更多信息,请参见[Redis 安全性](https://s0redis0io.icopy.site/topics/security)文档. 我们建议结合使用 Redis 密码和严格的防火墙规则来保护您的 Redis 服务. 强烈建议您在使用 GitLab 配置 Redis 之前阅读[Redis Sentinel](https://s0redis0io.icopy.site/topics/sentinel)文档,以充分了解拓扑和体系结构. - -在本节中,将指导您配置与 GitLab 一起使用的外部 Redis 实例. 以下 IP 将作为示例: - -* `10.6.0.61`主要 -* `10.6.0.62` :返回副本 1 -* `10.6.0.63` :返回副本 2 - -### Provide your own Redis instance[](#provide-your-own-redis-instance "Permalink") - -来自云提供商(例如 AWS ElastiCache)的托管 Redis 将可以使用. 如果这些服务支持高可用性,请确保它**不是** Redis 群集类型. - -需要 Redis 5.0 或更高版本,因为这是从 GitLab 13.0 开始的 Omnibus GitLab 软件包附带的版本. 较旧的 Redis 版本不支持 SPOP 的可选 count 参数,这对于[合并火车](../../ci/merge_request_pipelines/pipelines_for_merged_results/merge_trains/index.html)现在是必需的. - -注意 Redis 节点的 IP 地址或主机名,端口和密码(如果需要). 这些在以后配置[GitLab 应用程序服务器](#configure-gitlab-rails)时是必需的. - -### Standalone Redis using Omnibus GitLab[](#standalone-redis-using-omnibus-gitlab "Permalink") - -这是我们安装和设置新 Redis 实例的部分. - -Redis 设置的要求如下: - -1. 所有 Redis 节点必须能够互相通信并接受通过 Redis( `6379` )和 Sentinel( `26379` )端口的传入连接(除非您更改默认端口). -2. 托管 GitLab 应用程序的服务器必须能够访问 Redis 节点. -3. 使用防火墙保护节点免受来自外部网络( [Internet](https://gitlab.com/gitlab-org/gitlab-foss/uploads/c4cc8cd353604bd80315f9384035ff9e/The_Internet_IT_Crowd.png) )的访问. - -**注意:** Redis 节点(主节点和副本节点)将需要使用`redis['password']`定义的相同密码. 在故障转移期间的任何时间,Sentinels 都可以重新配置节点并将其状态从主节点更改为副本节点,反之亦然. - -#### Configuring the primary Redis instance[](#configuring-the-primary-redis-instance "Permalink") - -1. SSH 进入**主** Redis 服务器. -2. 从 GitLab 下载页面使用**步骤 1 和 2** [下载/安装](https://about.gitlab.com/install/)所需的 Omnibus GitLab 软件包. - * 确保选择正确的 Omnibus 软件包,并使用与当前安装相同的版本和类型(社区版,企业版). - * 不要完成下载页面上的任何其他步骤. -3. 编辑`/etc/gitlab/gitlab.rb`并添加内容: - - ``` - # Specify server role as 'redis_master_role' - roles ['redis_master_role'] - - # IP address pointing to a local IP that the other machines can reach to. - # You can also set bind to '0.0.0.0' which listen in all interfaces. - # If you really need to bind to an external accessible IP, make - # sure you add extra firewall rules to prevent unauthorized access. - redis['bind'] = '10.6.0.61' - - # Define a port so Redis can listen for TCP requests which will allow other - # machines to connect to it. - redis['port'] = 6379 - - # Set up password authentication for Redis (use the same password in all nodes). - redis['password'] = 'redis-password-goes-here' - - ## Enable service discovery for Prometheus - consul['enable'] = true - consul['monitoring_service_discovery'] = true - - ## The IPs of the Consul server nodes - ## You can also use FQDNs and intermix them with IPs - consul['configuration'] = { - retry_join: %w(10.6.0.11 10.6.0.12 10.6.0.13), - } - - # Set the network addresses that the exporters will listen on - node_exporter['listen_address'] = '0.0.0.0:9100' - redis_exporter['listen_address'] = '0.0.0.0:9121' - redis_exporter['flags'] = { - 'redis.addr' => 'redis://10.6.0.61:6379', - 'redis.password' => 'redis-password-goes-here', - } - - # Disable auto migrations - gitlab_rails['auto_migrate'] = false - ``` - -4. [重新配置 Omnibus GitLab,](../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -**注意:**您可以将多个角色(如哨兵和 Redis)指定为: `roles ['redis_sentinel_role', 'redis_master_role']` . 阅读有关[角色的](https://docs.gitlab.com/omnibus/roles/)更多信息. - -您可以通过以下方式列出当前 Redis 主副本服务器状态: - -``` -/opt/gitlab/embedded/bin/redis-cli -h -a 'redis-password-goes-here' info replication -``` - -通过以下方式显示正在运行的 GitLab 服务: - -``` -gitlab-ctl status -``` - -输出应类似于以下内容: - -``` -run: consul: (pid 30043) 76863s; run: log: (pid 29691) 76892s -run: logrotate: (pid 31152) 3070s; run: log: (pid 29595) 76908s -run: node-exporter: (pid 30064) 76862s; run: log: (pid 29624) 76904s -run: redis: (pid 30070) 76861s; run: log: (pid 29573) 76914s -run: redis-exporter: (pid 30075) 76861s; run: log: (pid 29674) 76896s -``` - -#### Configuring the replica Redis instances[](#configuring-the-replica-redis-instances "Permalink") - -1. SSH 进入**副本** Redis 服务器. -2. 从 GitLab 下载页面使用**步骤 1 和 2** [下载/安装](https://about.gitlab.com/install/)所需的 Omnibus GitLab 软件包. - * 确保选择正确的 Omnibus 软件包,并使用与当前安装相同的版本和类型(社区版,企业版). - * 不要完成下载页面上的任何其他步骤. -3. 编辑`/etc/gitlab/gitlab.rb`并添加内容: - - ``` - # Specify server role as 'redis_replica_role' - roles ['redis_replica_role'] - - # IP address pointing to a local IP that the other machines can reach to. - # You can also set bind to '0.0.0.0' which listen in all interfaces. - # If you really need to bind to an external accessible IP, make - # sure you add extra firewall rules to prevent unauthorized access. - redis['bind'] = '10.6.0.62' - - # Define a port so Redis can listen for TCP requests which will allow other - # machines to connect to it. - redis['port'] = 6379 - - # The same password for Redis authentication you set up for the primary node. - redis['password'] = 'redis-password-goes-here' - - # The IP of the primary Redis node. - redis['master_ip'] = '10.6.0.61' - - # Port of primary Redis server, uncomment to change to non default. Defaults - # to `6379`. - #redis['master_port'] = 6379 - - ## Enable service discovery for Prometheus - consul['enable'] = true - consul['monitoring_service_discovery'] = true - - ## The IPs of the Consul server nodes - ## You can also use FQDNs and intermix them with IPs - consul['configuration'] = { - retry_join: %w(10.6.0.11 10.6.0.12 10.6.0.13), - } - - # Set the network addresses that the exporters will listen on - node_exporter['listen_address'] = '0.0.0.0:9100' - redis_exporter['listen_address'] = '0.0.0.0:9121' - redis_exporter['flags'] = { - 'redis.addr' => 'redis://10.6.0.62:6379', - 'redis.password' => 'redis-password-goes-here', - } - - # Disable auto migrations - gitlab_rails['auto_migrate'] = false - ``` - -4. [重新配置 Omnibus GitLab,](../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. -5. 对于所有其他副本节点,请再次执行该步骤,并确保正确设置 IP. - -**注意:**您可以将多个角色(如哨兵和 Redis)指定为: `roles ['redis_sentinel_role', 'redis_master_role']` . 阅读有关[角色的](https://docs.gitlab.com/omnibus/roles/)更多信息. - -故障转移后, `/etc/gitlab/gitlab.rb`在`/etc/gitlab/gitlab.rb`再次更改这些值,因为节点将由[Sentinels](#configure-consul-and-sentinel)管理,即使在`gitlab-ctl reconfigure` ,它们也将通过恢复配置恢复.同样的哨兵 - -支持高级[配置选项](https://docs.gitlab.com/omnibus/settings/redis.html) ,可以根据需要添加. - -[Back to setup components](#setup-components) - -## Configure Consul and Sentinel[](#configure-consul-and-sentinel "Permalink") - -**注意:**如果您使用的是外部 Redis Sentinel 实例,请确保从 Sentinel 配置中排除`requirepass`参数. 此参数将导致客户端报告`NOAUTH Authentication required.` . [Redis Sentinel 3.2.x 不支持密码身份验证](https://github.com/antirez/redis/issues/3279) . - -现在已经全部安装了 Redis 服务器,让我们配置 Sentinel 服务器. 以下 IP 将作为示例: - -* `10.6.0.11` :领事/前哨 1 -* `10.6.0.12` :领事/前哨 2 -* `10.6.0.13` :领事/前哨 3 - -要配置 Sentinel: - -1. SSH 进入将托管 Consul / Sentinel 的服务器. -2. 从 GitLab 下载页面使用**步骤 1 和 2** [下载/安装](https://about.gitlab.com/install/) Omnibus GitLab 企业版软件包. - * 确保选择正确的 Omnibus 软件包,并且与 GitLab 应用程序正在运行的版本相同. - * 不要完成下载页面上的任何其他步骤. -3. 编辑`/etc/gitlab/gitlab.rb`并添加内容: - - ``` - roles ['redis_sentinel_role', 'consul_role'] - - # Must be the same in every sentinel node - redis['master_name'] = 'gitlab-redis' - - # The same password for Redis authentication you set up for the primary node. - redis['master_password'] = 'redis-password-goes-here' - - # The IP of the primary Redis node. - redis['master_ip'] = '10.6.0.61' - - # Define a port so Redis can listen for TCP requests which will allow other - # machines to connect to it. - redis['port'] = 6379 - - # Port of primary Redis server, uncomment to change to non default. Defaults - # to `6379`. - #redis['master_port'] = 6379 - - ## Configure Sentinel - sentinel['bind'] = '10.6.0.11' - - # Port that Sentinel listens on, uncomment to change to non default. Defaults - # to `26379`. - # sentinel['port'] = 26379 - - ## Quorum must reflect the amount of voting sentinels it take to start a failover. - ## Value must NOT be greater then the amount of sentinels. - ## - ## The quorum can be used to tune Sentinel in two ways: - ## 1\. If a the quorum is set to a value smaller than the majority of Sentinels - ## we deploy, we are basically making Sentinel more sensible to primary failures, - ## triggering a failover as soon as even just a minority of Sentinels is no longer - ## able to talk with the primary. - ## 1\. If a quorum is set to a value greater than the majority of Sentinels, we are - ## making Sentinel able to failover only when there are a very large number (larger - ## than majority) of well connected Sentinels which agree about the primary being down.s - sentinel['quorum'] = 2 - - ## Consider unresponsive server down after x amount of ms. - # sentinel['down_after_milliseconds'] = 10000 - - ## Specifies the failover timeout in milliseconds. It is used in many ways: - ## - ## - The time needed to re-start a failover after a previous failover was - ## already tried against the same primary by a given Sentinel, is two - ## times the failover timeout. - ## - ## - The time needed for a replica replicating to a wrong primary according - ## to a Sentinel current configuration, to be forced to replicate - ## with the right primary, is exactly the failover timeout (counting since - ## the moment a Sentinel detected the misconfiguration). - ## - ## - The time needed to cancel a failover that is already in progress but - ## did not produced any configuration change (REPLICAOF NO ONE yet not - ## acknowledged by the promoted replica). - ## - ## - The maximum time a failover in progress waits for all the replica to be - ## reconfigured as replicas of the new primary. However even after this time - ## the replicas will be reconfigured by the Sentinels anyway, but not with - ## the exact parallel-syncs progression as specified. - # sentinel['failover_timeout'] = 60000 - - ## Enable service discovery for Prometheus - consul['enable'] = true - consul['monitoring_service_discovery'] = true - - ## The IPs of the Consul server nodes - ## You can also use FQDNs and intermix them with IPs - consul['configuration'] = { - server: true, - retry_join: %w(10.6.0.11 10.6.0.12 10.6.0.13), - } - - # Set the network addresses that the exporters will listen on - node_exporter['listen_address'] = '0.0.0.0:9100' - redis_exporter['listen_address'] = '0.0.0.0:9121' - - # Disable auto migrations - gitlab_rails['auto_migrate'] = false - ``` - -4. [重新配置 Omnibus GitLab,](../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. -5. 对于其他所有 Consul / Sentinel 节点,请再次执行步骤,并确保设置了正确的 IP. - -**注意:**第三个 Consul 服务器的配置完成后,将选举 Consul 负责人. 查看领事日志`sudo gitlab-ctl tail consul`将显示`...[INFO] consul: New leader elected: ...` - -You can list the current Consul members (server, client): - -``` -sudo /opt/gitlab/embedded/bin/consul members -``` - -您可以验证 GitLab 服务正在运行: - -``` -sudo gitlab-ctl status -``` - -输出应类似于以下内容: - -``` -run: consul: (pid 30074) 76834s; run: log: (pid 29740) 76844s -run: logrotate: (pid 30925) 3041s; run: log: (pid 29649) 76861s -run: node-exporter: (pid 30093) 76833s; run: log: (pid 29663) 76855s -run: sentinel: (pid 30098) 76832s; run: log: (pid 29704) 76850s -``` - -[Back to setup components](#setup-components) - -## Configure PostgreSQL[](#configure-postgresql "Permalink") - -在本节中,将指导您配置与 GitLab 一起使用的外部 PostgreSQL 数据库. - -### Provide your own PostgreSQL instance[](#provide-your-own-postgresql-instance "Permalink") - -如果您将 GitLab 托管在云提供商上,则可以选择将托管服务用于 PostgreSQL. 例如,AWS 提供了运行 PostgreSQL 的托管关系数据库服务(RDS). - -如果您使用云托管服务,或提供自己的 PostgreSQL: - -1. 根据[数据库要求文档](../../install/requirements.html#database)设置 PostgreSQL. -2. 使用您选择的密码设置一个`gitlab`用户名. `gitlab`用户需要特权才能创建`gitlabhq_production`数据库. -3. 使用适当的详细信息配置 GitLab 应用程序服务器. [配置 GitLab Rails 应用程序](#configure-gitlab-rails)涵盖了此步骤. - -### Standalone PostgreSQL using Omnibus GitLab[](#standalone-postgresql-using-omnibus-gitlab "Permalink") - -以下 IP 将作为示例: - -* `10.6.0.31`主 -* `10.6.0.32`中学 1 -* `10.6.0.33`中学 2 - -首先,请确保**在每个节点上** [安装](https://about.gitlab.com/install/) Linux GitLab 软件包. 按照以下步骤,从步骤 1 安装必需的依赖项,并从步骤 2 添加 GitLab 软件包存储库.在第二步中安装 GitLab 时,请勿提供`EXTERNAL_URL`值. - -#### PostgreSQL primary node[](#postgresql-primary-node "Permalink") - -1. SSH 进入 PostgreSQL 主节点. -2. 为 PostgreSQL 用户名/密码对生成密码哈希. 假设您将使用默认用户名`gitlab` (推荐). 该命令将要求输入密码和确认. 将此命令在下一步中输出的值用作``的值: - - ``` - sudo gitlab-ctl pg-password-md5 gitlab - ``` - -3. 为 PgBouncer 用户名/密码对生成密码哈希. 假设您将使用`pgbouncer`的默认用户名(推荐). 该命令将要求输入密码和确认. 将此命令在下一步中输出的值用作``的值: - - ``` - sudo gitlab-ctl pg-password-md5 pgbouncer - ``` - -4. 为 Consul 数据库用户名/密码对生成密码哈希. 假设您将使用默认用户名`gitlab-consul` (推荐). 该命令将要求输入密码和确认. 将此命令在下一步中输出的值用作``的值: - - ``` - sudo gitlab-ctl pg-password-md5 gitlab-consul - ``` - -5. 在主数据库节点上,编辑`/etc/gitlab/gitlab.rb`替换`/etc/gitlab/gitlab.rb` `# START user configuration`部分中记录的值: - - ``` - # Disable all components except PostgreSQL and Repmgr and Consul - roles ['postgres_role'] - - # PostgreSQL configuration - postgresql['listen_address'] = '0.0.0.0' - postgresql['hot_standby'] = 'on' - postgresql['wal_level'] = 'replica' - postgresql['shared_preload_libraries'] = 'repmgr_funcs' - - # Disable automatic database migrations - gitlab_rails['auto_migrate'] = false - - # Configure the Consul agent - consul['services'] = %w(postgresql) - - # START user configuration - # Please set the real values as explained in Required Information section - # - # Replace PGBOUNCER_PASSWORD_HASH with a generated md5 value - postgresql['pgbouncer_user_password'] = '' - # Replace POSTGRESQL_PASSWORD_HASH with a generated md5 value - postgresql['sql_user_password'] = '' - # Set `max_wal_senders` to one more than the number of database nodes in the cluster. - # This is used to prevent replication from using up all of the - # available database connections. - postgresql['max_wal_senders'] = 4 - postgresql['max_replication_slots'] = 4 - - # Replace XXX.XXX.XXX.XXX/YY with Network Address - postgresql['trust_auth_cidr_addresses'] = %w(127.0.0.1/32 10.6.0.0/24) - repmgr['trust_auth_cidr_addresses'] = %w(127.0.0.1/32 10.6.0.0/24) - - ## Enable service discovery for Prometheus - consul['enable'] = true - consul['monitoring_service_discovery'] = true - - # Set the network addresses that the exporters will listen on for monitoring - node_exporter['listen_address'] = '0.0.0.0:9100' - postgres_exporter['listen_address'] = '0.0.0.0:9187' - postgres_exporter['dbname'] = 'gitlabhq_production' - postgres_exporter['password'] = '' - - ## The IPs of the Consul server nodes - ## You can also use FQDNs and intermix them with IPs - consul['configuration'] = { - retry_join: %w(10.6.0.11 10.6.0.12 10.6.0.13), - } - # - # END user configuration - ``` - -6. [重新配置 GitLab,](../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. -7. 您可以通过以下方式列出当前 PostgreSQL 主,辅助节点的状态: - - ``` - sudo /opt/gitlab/bin/gitlab-ctl repmgr cluster show - ``` - -8. 验证 GitLab 服务正在运行: - - ``` - sudo gitlab-ctl status - ``` - - 输出应类似于以下内容: - - ``` - run: consul: (pid 30593) 77133s; run: log: (pid 29912) 77156s - run: logrotate: (pid 23449) 3341s; run: log: (pid 29794) 77175s - run: node-exporter: (pid 30613) 77133s; run: log: (pid 29824) 77170s - run: postgres-exporter: (pid 30620) 77132s; run: log: (pid 29894) 77163s - run: postgresql: (pid 30630) 77132s; run: log: (pid 29618) 77181s - run: repmgrd: (pid 30639) 77132s; run: log: (pid 29985) 77150s - ``` - -[Back to setup components](#setup-components) - -#### PostgreSQL secondary nodes[](#postgresql-secondary-nodes "Permalink") - -1. 在两个辅助节点上,添加与上面为主要节点指定的配置相同的附加设置,该设置将告知`gitlab-ctl`最初它们是备用节点,无需尝试将它们注册为主要节点: - - ``` - # Disable all components except PostgreSQL and Repmgr and Consul - roles ['postgres_role'] - - # PostgreSQL configuration - postgresql['listen_address'] = '0.0.0.0' - postgresql['hot_standby'] = 'on' - postgresql['wal_level'] = 'replica' - postgresql['shared_preload_libraries'] = 'repmgr_funcs' - - # Disable automatic database migrations - gitlab_rails['auto_migrate'] = false - - # Configure the Consul agent - consul['services'] = %w(postgresql) - - # Specify if a node should attempt to be primary on initialization. - repmgr['master_on_initialization'] = false - - # START user configuration - # Please set the real values as explained in Required Information section - # - # Replace PGBOUNCER_PASSWORD_HASH with a generated md5 value - postgresql['pgbouncer_user_password'] = '' - # Replace POSTGRESQL_PASSWORD_HASH with a generated md5 value - postgresql['sql_user_password'] = '' - # Set `max_wal_senders` to one more than the number of database nodes in the cluster. - # This is used to prevent replication from using up all of the - # available database connections. - postgresql['max_wal_senders'] = 4 - postgresql['max_replication_slots'] = 4 - - # Replace XXX.XXX.XXX.XXX/YY with Network Address - postgresql['trust_auth_cidr_addresses'] = %w(127.0.0.1/32 10.6.0.0/24) - repmgr['trust_auth_cidr_addresses'] = %w(127.0.0.1/32 10.6.0.0/24) - - ## Enable service discovery for Prometheus - consul['enable'] = true - consul['monitoring_service_discovery'] = true - - # Set the network addresses that the exporters will listen on for monitoring - node_exporter['listen_address'] = '0.0.0.0:9100' - postgres_exporter['listen_address'] = '0.0.0.0:9187' - postgres_exporter['dbname'] = 'gitlabhq_production' - postgres_exporter['password'] = '' - - ## The IPs of the Consul server nodes - ## You can also use FQDNs and intermix them with IPs - consul['configuration'] = { - retry_join: %w(10.6.0.11 10.6.0.12 10.6.0.13), - } - # END user configuration - ``` - -2. [重新配置 GitLab,](../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -支持高级[配置选项](https://docs.gitlab.com/omnibus/settings/database.html) ,可以根据需要添加. - -[Back to setup components](#setup-components) - -#### PostgreSQL post-configuration[](#postgresql-post-configuration "Permalink") - -SSH 进入**主节点** : - -1. 打开数据库提示: - - ``` - gitlab-psql -d gitlabhq_production - ``` - -2. Enable the `pg_trgm` extension: - - ``` - CREATE EXTENSION pg_trgm; - ``` - -3. 键入`\q`并按 Enter 退出数据库提示. - -4. 验证集群是否已用一个节点初始化: - - ``` - gitlab-ctl repmgr cluster show - ``` - - 输出应类似于以下内容: - - ``` - Role | Name | Upstream | Connection String - ----------+----------|----------|---------------------------------------- - * master | HOSTNAME | | host=HOSTNAME user=gitlab_repmgr dbname=gitlab_repmgr - ``` - -5. 在连接字符串中记下主机名或 IP 地址: `host=HOSTNAME` . 在下一节中,我们将主机名称为`` . 如果该值不是 IP 地址,则必须是可解析的名称(通过 DNS 或`/etc/hosts` ) - -SSH 进入**辅助节点** : - -1. 设置 repmgr 备用数据库: - - ``` - gitlab-ctl repmgr standby setup - ``` - - Do note that this will remove the existing data on the node. The command has a wait time. - - 输出应类似于以下内容: - - ``` - Doing this will delete the entire contents of /var/opt/gitlab/postgresql/data - If this is not what you want, hit Ctrl-C now to exit - To skip waiting, rerun with the -w option - Sleeping for 30 seconds - Stopping the database - Removing the data - Cloning the data - Starting the database - Registering the node with the cluster - ok: run: repmgrd: (pid 19068) 0s - ``` - -在继续之前,请确保正确配置了数据库. 在**主**节点上运行以下命令以验证复制是否正常工作,并且辅助节点是否出现在群集中: - -``` -gitlab-ctl repmgr cluster show -``` - -输出应类似于以下内容: - -``` -Role | Name | Upstream | Connection String -----------+---------|-----------|------------------------------------------------ -* master | MASTER | | host= user=gitlab_repmgr dbname=gitlab_repmgr - standby | STANDBY | MASTER | host= user=gitlab_repmgr dbname=gitlab_repmgr - standby | STANDBY | MASTER | host= user=gitlab_repmgr dbname=gitlab_repmgr -``` - -如果任何节点的"角色"列显示"失败",请在继续操作之前检查" [故障排除"部分](troubleshooting.html) . - -另外,请检查`repmgr-check-master`命令在每个节点上是否都能正常工作: - -``` -su - gitlab-consul -gitlab-ctl repmgr-check-master || echo 'This node is a standby repmgr node' -``` - -此命令依靠退出代码来告诉 Consul 特定节点是主节点还是辅助节点. 这里最重要的是该命令不会产生错误. 如果有错误,很可能是由于`gitlab-consul`数据库用户权限不正确`gitlab-consul` . 在继续之前,请检查" [故障排除"部分](troubleshooting.html) . - -[Back to setup components](#setup-components) - -## Configure PgBouncer[](#configure-pgbouncer "Permalink") - -现在已经安装了 PostgreSQL 服务器,让我们配置 PgBouncer. 以下 IP 将作为示例: - -* `10.6.0.21` :PgBouncer 1 -* `10.6.0.22` :PgBouncer 2 -* `10.6.0.23` :PgBouncer 3 - -1. 在每个 PgBouncer 节点上,编辑`/etc/gitlab/gitlab.rb` ,并将``和``替换为[之前设置](#postgresql-primary-node)的密码哈希: - - ``` - # Disable all components except Pgbouncer and Consul agent - roles ['pgbouncer_role'] - - # Configure PgBouncer - pgbouncer['admin_users'] = %w(pgbouncer gitlab-consul) - - pgbouncer['users'] = { - 'gitlab-consul': { - password: '' - }, - 'pgbouncer': { - password: '' - } - } - - # Configure Consul agent - consul['watchers'] = %w(postgresql) - consul['enable'] = true - consul['configuration'] = { - retry_join: %w(10.6.0.11 10.6.0.12 10.6.0.13) - } - - # Enable service discovery for Prometheus - consul['monitoring_service_discovery'] = true - - # Set the network addresses that the exporters will listen on - node_exporter['listen_address'] = '0.0.0.0:9100' - pgbouncer_exporter['listen_address'] = '0.0.0.0:9188' - ``` - -2. [重新配置 Omnibus GitLab,](../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -3. 创建一个`.pgpass`文件,以便 Consul 能够重新加载 PgBouncer. 询问时两次输入 PgBouncer 密码: - - ``` - gitlab-ctl write-pgpass --host 127.0.0.1 --database pgbouncer --user pgbouncer --hostuser gitlab-consul - ``` - -4. 确保每个节点都在与当前主节点通信: - - ``` - gitlab-ctl pgb-console # You will be prompted for PGBOUNCER_PASSWORD - ``` - - 如果出现错误`psql: ERROR: Auth failed`输入密码后`psql: ERROR: Auth failed` ,请确保您以前以正确的格式生成了 MD5 密码哈希. 正确的格式是连接密码和用户名`PASSWORDUSERNAME` . 例如, `Sup3rS3cr3tpgbouncer`将是为`pgbouncer`用户生成 MD5 密码哈希所需的文本. - -5. 控制台提示可用后,请运行以下查询: - - ``` - show databases ; show clients ; - ``` - - 输出应类似于以下内容: - - ``` - name | host | port | database | force_user | pool_size | reserve_pool | pool_mode | max_connections | current_connections - ---------------------+-------------+------+---------------------+------------+-----------+--------------+-----------+-----------------+--------------------- - gitlabhq_production | MASTER_HOST | 5432 | gitlabhq_production | | 20 | 0 | | 0 | 0 - pgbouncer | | 6432 | pgbouncer | pgbouncer | 2 | 0 | statement | 0 | 0 - (2 rows) - - type | user | database | state | addr | port | local_addr | local_port | connect_time | request_time | ptr | link | remote_pid | tls - ------+-----------+---------------------+---------+----------------+-------+------------+------------+---------------------+---------------------+-----------+------+------------+----- - C | pgbouncer | pgbouncer | active | 127.0.0.1 | 56846 | 127.0.0.1 | 6432 | 2017-08-21 18:09:59 | 2017-08-21 18:10:48 | 0x22b3880 | | 0 | - (2 rows) - ``` - -6. 验证 GitLab 服务正在运行: - - ``` - sudo gitlab-ctl status - ``` - - The output should be similar to the following: - - ``` - run: consul: (pid 31530) 77150s; run: log: (pid 31106) 77182s - run: logrotate: (pid 32613) 3357s; run: log: (pid 30107) 77500s - run: node-exporter: (pid 31550) 77149s; run: log: (pid 30138) 77493s - run: pgbouncer: (pid 32033) 75593s; run: log: (pid 31117) 77175s - run: pgbouncer-exporter: (pid 31558) 77148s; run: log: (pid 31498) 77156s - ``` - -[Back to setup components](#setup-components) - -### Configure the internal load balancer[](#configure-the-internal-load-balancer "Permalink") - -如果按照建议运行多个 PgBouncer 节点,那么此时,您将需要设置一个 TCP 内部负载均衡器以正确地服务每个负载均衡器. - -以下 IP 将作为示例: - -* `10.6.0.20` :内部负载均衡器 - -使用[HAProxy 的方法](https://www.haproxy.org/)如下: - -``` -global - log /dev/log local0 - log localhost local1 notice - log stdout format raw local0 - -defaults - log global - default-server inter 10s fall 3 rise 2 - balance leastconn - -frontend internal-pgbouncer-tcp-in - bind *:6432 - mode tcp - option tcplog - - default_backend pgbouncer - -backend pgbouncer - mode tcp - option tcp-check - - server pgbouncer1 10.6.0.21:6432 check - server pgbouncer2 10.6.0.22:6432 check - server pgbouncer3 10.6.0.23:6432 check -``` - -请参阅您首选的负载均衡器的文档以获取更多指导. - -[Back to setup components](#setup-components) - -## Configure Gitaly[](#configure-gitaly "Permalink") - -在自己的服务器上部署 Gitaly 可以使大于单个计算机的 GitLab 安装受益. - -Gitaly 节点要求取决于客户数据,特别是项目数量及其存储库大小. 建议将两个节点作为绝对最小值. 每个 Gitaly 节点应存储的数据不超过 5TB,并将[`gitaly-ruby`工作者](../gitaly/index.html#gitaly-ruby)的数量设置为可用 CPU 的 20%. 根据以上建议,应结合其他节点并结合对预期数据大小和分布的审查. - -强烈建议所有 Gitaly 节点都安装 SSD 磁盘,因为 Gitaly I / O 繁重,因此其读操作的吞吐量至少为 8000 IOPS,写操作的吞吐量至少为 2,000 IOPS. 这些 IOPS 值仅建议作为启动器使用,因为随着时间的推移,它们可能会根据环境工作负载的规模而调整得更高或更低. 如果您在 Cloud provider 上运行环境,则可能需要参考其文档以了解如何正确配置 IOPS. - -注意事项: - -* GitLab Rails 应用程序将[存储库分](../repository_storage_paths.html)片到[存储库中](../repository_storage_paths.html) . -* Gitaly 服务器可以托管一个或多个存储. -* 一个 GitLab 服务器可以使用一个或多个 Gitaly 服务器. -* 必须以对所有 Gitaly 客户端正确解析的方式指定 Gitaly 地址. -* Gitaly 服务器一定不能暴露在公共互联网上,因为默认情况下,Gitaly 的网络流量是未加密的. 强烈建议使用防火墙以限制对 Gitaly 服务器的访问. 另一种选择是[使用 TLS](#gitaly-tls-support) . - -**提示:**有关 Gitaly 历史和网络体系结构的更多信息,请参见[独立的 Gitaly 文档](../gitaly/index.html) . - -注意: **注意:** Gitaly 文档中引用的令牌只是管理员选择的任意密码. 它与为 GitLab API 创建的令牌或其他类似的 Web API 令牌无关. - -下面我们描述如何配置两个具有 IP 和域名的 Gitaly 服务器: - -* `10.6.0.51` 1( `gitaly1.internal` ) -* `10.6.0.52` 2( `gitaly2.internal` ) - -假定该秘密令牌为`gitalysecret` ,并且您的 GitLab 安装具有三个存储库存储: - -* `default`为 Gitaly 1 -* `storage1`在 Gitaly 1 -* `storage2`上 Gitaly 2 - -在每个节点上: - -1. 从 GitLab 下载页面使用**步骤 1 和 2** [下载/安装](https://about.gitlab.com/install/)所需的 Omnibus GitLab 软件包,但**不**提供`EXTERNAL_URL`值. -2. 编辑`/etc/gitlab/gitlab.rb`以配置存储路径,启用网络侦听器并配置令牌: - - ``` - # /etc/gitlab/gitlab.rb - - # Gitaly and GitLab use two shared secrets for authentication, one to authenticate gRPC requests - # to Gitaly, and a second for authentication callbacks from GitLab-Shell to the GitLab internal API. - # The following two values must be the same as their respective values - # of the GitLab Rails application setup - gitaly['auth_token'] = 'gitlaysecret' - gitlab_shell['secret_token'] = 'shellsecret' - - # Avoid running unnecessary services on the Gitaly server - postgresql['enable'] = false - redis['enable'] = false - nginx['enable'] = false - puma['enable'] = false - unicorn['enable'] = false - sidekiq['enable'] = false - gitlab_workhorse['enable'] = false - grafana['enable'] = false - gitlab_exporter['enable'] = false - - # If you run a seperate monitoring node you can disable these services - alertmanager['enable'] = false - prometheus['enable'] = false - - # Prevent database connections during 'gitlab-ctl reconfigure' - gitlab_rails['rake_cache_clear'] = false - gitlab_rails['auto_migrate'] = false - - # Configure the gitlab-shell API callback URL. Without this, `git push` will - # fail. This can be your 'front door' GitLab URL or an internal load - # balancer. - # Don't forget to copy `/etc/gitlab/gitlab-secrets.json` from web server to Gitaly server. - gitlab_rails['internal_api_url'] = 'https://gitlab.example.com' - - # Make Gitaly accept connections on all network interfaces. You must use - # firewalls to restrict access to this address/port. - # Comment out following line if you only want to support TLS connections - gitaly['listen_addr'] = "0.0.0.0:8075" - - ## Enable service discovery for Prometheus - consul['enable'] = true - consul['monitoring_service_discovery'] = true - - # Set the network addresses that the exporters will listen on for monitoring - gitaly['prometheus_listen_addr'] = "0.0.0.0:9236" - node_exporter['listen_address'] = '0.0.0.0:9100' - gitlab_rails['prometheus_address'] = '10.6.0.81:9090' - - ## The IPs of the Consul server nodes - ## You can also use FQDNs and intermix them with IPs - consul['configuration'] = { - retry_join: %w(10.6.0.11 10.6.0.12 10.6.0.13), - } - ``` - -3. 对于每个服务器,将以下内容附加到`/etc/gitlab/gitlab.rb` : - 1. 在`gitaly1.internal` : - - ``` - git_data_dirs ({ 'default' => { 'path' => '/var/opt/gitlab/git-data' }, 'storage1' => { 'path' => '/mnt/gitlab/git-data' }, }) - ``` - - 2. 在`gitaly2.internal` : - - ``` - git_data_dirs ({ 'storage2' => { 'path' => '/mnt/gitlab/git-data' }, }) - ``` - -4. 保存文件并[重新配置 GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure) . -5. 确认 Gitaly 可以执行对内部 API 的回调: - - ``` - sudo /opt/gitlab/embedded/service/gitlab-shell/bin/check -config /opt/gitlab/embedded/service/gitlab-shell/config.yml - ``` - -6. 验证 GitLab 服务正在运行: - - ``` - sudo gitlab-ctl status - ``` - - 输出应类似于以下内容: - - ``` - run: consul: (pid 30339) 77006s; run: log: (pid 29878) 77020s - run: gitaly: (pid 30351) 77005s; run: log: (pid 29660) 77040s - run: logrotate: (pid 7760) 3213s; run: log: (pid 29782) 77032s - run: node-exporter: (pid 30378) 77004s; run: log: (pid 29812) 77026s - ``` - -### Gitaly TLS support[](#gitaly-tls-support "Permalink") - -Gitaly 支持 TLS 加密. 为了能够与侦听安全连接的 Gitaly 实例进行通信,您将需要在 GitLab 配置中相应存储条目的`gitaly_address`中使用`tls://` URL 方案. - -您将需要携带自己的证书,因为该证书不会自动提供. 证书或其证书颁发机构必须按照[GitLab 自定义证书配置中](https://docs.gitlab.com/omnibus/settings/ssl.html)所述的步骤,安装在所有 Gitaly 节点(包括使用证书的 Gitaly 节点)上,以及与之通信的所有客户端节点上. - -**注意:**自签名证书必须指定用于访问 Gitaly 服务器的地址. 如果要通过主机名寻址 Gitaly 服务器,则可以为此使用"公用名"字段,也可以将其添加为"使用者备用名". 如果要通过 Gitaly 服务器的 IP 地址对其进行寻址,则必须将其作为主题备用名称添加到证书中. [gRPC 不支持在证书中使用 IP 地址作为公用名](https://github.com/grpc/grpc/issues/2691) .**注意:**可以同时为 Gitaly 服务器配置未加密的侦听地址`listen_addr`和已加密的侦听地址`tls_listen_addr` . 如果需要,这使您可以从未加密的流量逐渐过渡到加密的流量. - -要使用 TLS 配置 Gitaly: - -1. 创建`/etc/gitlab/ssl`目录,并在其中复制密钥和证书: - - ``` - sudo mkdir -p /etc/gitlab/ssl - sudo chmod 755 /etc/gitlab/ssl - sudo cp key.pem cert.pem /etc/gitlab/ssl/ - sudo chmod 644 key.pem cert.pem - ``` - -2. 将证书复制到`/etc/gitlab/trusted-certs`以便 Gitaly 在调用自身时信任该证书: - - ``` - sudo cp /etc/gitlab/ssl/cert.pem /etc/gitlab/trusted-certs/ - ``` - -3. 编辑`/etc/gitlab/gitlab.rb`并添加: - - ``` - gitaly['tls_listen_addr'] = "0.0.0.0:9999" - gitaly['certificate_path'] = "/etc/gitlab/ssl/cert.pem" - gitaly['key_path'] = "/etc/gitlab/ssl/key.pem" - ``` - -4. 删除`gitaly['listen_addr']`以仅允许加密连接. -5. 保存文件并[重新配置 GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure) . - -[Back to setup components](#setup-components) - -## Configure Sidekiq[](#configure-sidekiq "Permalink") - -Sidekiq 需要连接到 Redis,PostgreSQL 和 Gitaly 实例. 以下 IP 将作为示例: - -* `10.6.0.71` :Sidekiq 1 -* `10.6.0.72` :Sidekiq 2 -* `10.6.0.73` :Sidekiq 3 -* `10.6.0.74` :Sidekiq 4 - -要配置 Sidekiq 节点,每个节点一个: - -1. SSH 到 Sidekiq 服务器. -2. 从 GitLab 下载页面使用步骤 1 和 2 [下载/安装](https://about.gitlab.com/install/)所需的 Omnibus GitLab 软件包. **不要完成下载页面上的任何其他步骤.** -3. 使用编辑器打开`/etc/gitlab/gitlab.rb` : - - ``` - ######################################## - ##### Services Disabled ### - ######################################## - - nginx['enable'] = false - grafana['enable'] = false - prometheus['enable'] = false - gitlab_rails['auto_migrate'] = false - alertmanager['enable'] = false - gitaly['enable'] = false - gitlab_workhorse['enable'] = false - nginx['enable'] = false - puma['enable'] = false - postgres_exporter['enable'] = false - postgresql['enable'] = false - redis['enable'] = false - redis_exporter['enable'] = false - gitlab_exporter['enable'] = false - - ######################################## - #### Redis ### - ######################################## - - ## Must be the same in every sentinel node - redis['master_name'] = 'gitlab-redis' - - ## The same password for Redis authentication you set up for the master node. - redis['master_password'] = '' - - ## A list of sentinels with `host` and `port` - gitlab_rails['redis_sentinels'] = [ - {'host' => '10.6.0.11', 'port' => 26379}, - {'host' => '10.6.0.12', 'port' => 26379}, - {'host' => '10.6.0.13', 'port' => 26379}, - ] - - ####################################### - ### Gitaly ### - ####################################### - - git_data_dirs({ - 'default' => { 'gitaly_address' => 'tcp://gitaly1.internal:8075' }, - 'storage1' => { 'gitaly_address' => 'tcp://gitaly1.internal:8075' }, - 'storage2' => { 'gitaly_address' => 'tcp://gitaly2.internal:8075' }, - }) - gitlab_rails['gitaly_token'] = 'YOUR_TOKEN' - - ####################################### - ### Postgres ### - ####################################### - gitlab_rails['db_host'] = '10.6.0.20' # internal load balancer IP - gitlab_rails['db_port'] = 6432 - gitlab_rails['db_password'] = '' - gitlab_rails['db_adapter'] = 'postgresql' - gitlab_rails['db_encoding'] = 'unicode' - gitlab_rails['auto_migrate'] = false - - ####################################### - ### Sidekiq configuration ### - ####################################### - sidekiq['listen_address'] = "0.0.0.0" - - ####################################### - ### Monitoring configuration ### - ####################################### - consul['enable'] = true - consul['monitoring_service_discovery'] = true - - consul['configuration'] = { - retry_join: %w(10.6.0.11 10.6.0.12 10.6.0.13) - } - - # Set the network addresses that the exporters will listen on - node_exporter['listen_address'] = '0.0.0.0:9100' - - # Rails Status for prometheus - gitlab_rails['monitoring_whitelist'] = ['10.6.0.81/32', '127.0.0.0/8'] - gitlab_rails['prometheus_address'] = '10.6.0.81:9090' - ``` - -4. 保存文件并[重新配置 GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure) . -5. 验证 GitLab 服务正在运行: - - ``` - sudo gitlab-ctl status - ``` - - 输出应类似于以下内容: - - ``` - run: consul: (pid 30114) 77353s; run: log: (pid 29756) 77367s - run: logrotate: (pid 9898) 3561s; run: log: (pid 29653) 77380s - run: node-exporter: (pid 30134) 77353s; run: log: (pid 29706) 77372s - run: sidekiq: (pid 30142) 77351s; run: log: (pid 29638) 77386s - ``` - -**提示:**您还可以运行[多个 Sidekiq 进程](../operations/extra_sidekiq_processes.html) .[Back to setup components](#setup-components) - -## Configure GitLab Rails[](#configure-gitlab-rails "Permalink") - -**注意:**在我们的体系结构中,我们使用 Puma Web 服务器运行每个 GitLab Rails 节点,并将其工作程序数设置为可用 CPU 的 90%以及四个线程. 对于运行带有其他组件的 Rails 的节点,应该相应地降低 worker 的值,我们发现 50%达到了很好的平衡,但这取决于工作量. - -本节介绍如何配置 GitLab 应用程序(Rails)组件. 在每个节点上执行以下操作: - -1. 如果您[使用的是 NFS](#configure-nfs-optional) : - - 1. 如有必要,请使用以下命令安装 NFS 客户端实用程序软件包: - - ``` - # Ubuntu/Debian - apt-get install nfs-common - - # CentOS/Red Hat - yum install nfs-utils nfs-utils-lib - ``` - - 2. 在`/etc/fstab`指定必要的 NFS 挂载. `/etc/fstab`的确切内容取决于您选择配置 NFS 服务器的方式. 有关示例和各种选项,请参见[NFS 文档](../high_availability/nfs.html) . - - 3. 创建共享目录. 这些可能会有所不同,具体取决于您的 NFS 安装位置. - - ``` - mkdir -p /var/opt/gitlab/.ssh /var/opt/gitlab/gitlab-rails/uploads /var/opt/gitlab/gitlab-rails/shared /var/opt/gitlab/gitlab-ci/builds /var/opt/gitlab/git-data - ``` - -2. 使用[GitLab 下载中的](https://about.gitlab.com/install/) **步骤 1 和 2**下载/安装 Omnibus GitLab. 不要完成下载页面上的其他步骤. -3. 创建/编辑`/etc/gitlab/gitlab.rb`并使用以下配置. 为了保持整个节点的链接均匀性, `external_url`在应用服务器上应指向外部 URL,用户将用来访问 GitLab. 这将是[外部负载平衡器](#configure-the-external-load-balancer)的 URL,它将[负载](#configure-the-external-load-balancer)流量路由到 GitLab 应用程序服务器: - - ``` - external_url 'https://gitlab.example.com' - - # Gitaly and GitLab use two shared secrets for authentication, one to authenticate gRPC requests - # to Gitaly, and a second for authentication callbacks from GitLab-Shell to the GitLab internal API. - # The following two values must be the same as their respective values - # of the Gitaly setup - gitlab_rails['gitaly_token'] = 'gitalyecret' - gitlab_shell['secret_token'] = 'shellsecret' - - git_data_dirs({ - 'default' => { 'gitaly_address' => 'tcp://gitaly1.internal:8075' }, - 'storage1' => { 'gitaly_address' => 'tcp://gitaly1.internal:8075' }, - 'storage2' => { 'gitaly_address' => 'tcp://gitaly2.internal:8075' }, - }) - - ## Disable components that will not be on the GitLab application server - roles ['application_role'] - gitaly['enable'] = false - nginx['enable'] = true - sidekiq['enable'] = false - - ## PostgreSQL connection details - # Disable PostgreSQL on the application node - postgresql['enable'] = false - gitlab_rails['db_host'] = '10.6.0.20' # internal load balancer IP - gitlab_rails['db_port'] = 6432 - gitlab_rails['db_password'] = '' - gitlab_rails['auto_migrate'] = false - - ## Redis connection details - ## Must be the same in every sentinel node - redis['master_name'] = 'gitlab-redis' - - ## The same password for Redis authentication you set up for the Redis primary node. - redis['master_password'] = '' - - ## A list of sentinels with `host` and `port` - gitlab_rails['redis_sentinels'] = [ - {'host' => '10.6.0.11', 'port' => 26379}, - {'host' => '10.6.0.12', 'port' => 26379}, - {'host' => '10.6.0.13', 'port' => 26379} - ] - - ## Enable service discovery for Prometheus - consul['enable'] = true - consul['monitoring_service_discovery'] = true - - # Set the network addresses that the exporters used for monitoring will listen on - node_exporter['listen_address'] = '0.0.0.0:9100' - gitlab_workhorse['prometheus_listen_addr'] = '0.0.0.0:9229' - sidekiq['listen_address'] = "0.0.0.0" - puma['listen'] = '0.0.0.0' - - ## The IPs of the Consul server nodes - ## You can also use FQDNs and intermix them with IPs - consul['configuration'] = { - retry_join: %w(10.6.0.11 10.6.0.12 10.6.0.13), - } - - # Add the monitoring node's IP address to the monitoring whitelist and allow it to - # scrape the NGINX metrics - gitlab_rails['monitoring_whitelist'] = ['10.6.0.81/32', '127.0.0.0/8'] - nginx['status']['options']['allow'] = ['10.6.0.81/32', '127.0.0.0/8'] - gitlab_rails['prometheus_address'] = '10.6.0.81:9090' - - ## Uncomment and edit the following options if you have set up NFS - ## - ## Prevent GitLab from starting if NFS data mounts are not available - ## - #high_availability['mountpoint'] = '/var/opt/gitlab/git-data' - ## - ## Ensure UIDs and GIDs match between servers for permissions via NFS - ## - #user['uid'] = 9000 - #user['gid'] = 9000 - #web_server['uid'] = 9001 - #web_server['gid'] = 9001 - #registry['uid'] = 9002 - #registry['gid'] = 9002 - ``` - -4. 如果您正在使用[具有 TLS 支持](#gitaly-tls-support)的`git_data_dirs` ,请确保`git_data_dirs`条目配置了`tls`而不是`tcp` : - - ``` - git_data_dirs({ - 'default' => { 'gitaly_address' => 'tls://gitaly1.internal:9999' }, - 'storage1' => { 'gitaly_address' => 'tls://gitaly1.internal:9999' }, - 'storage2' => { 'gitaly_address' => 'tls://gitaly2.internal:9999' }, - }) - ``` - - 1. 将证书复制到`/etc/gitlab/trusted-certs` : - - ``` - sudo cp cert.pem /etc/gitlab/trusted-certs/ - ``` - -5. 保存文件并[重新配置 GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure) . -6. 运行`sudo gitlab-rake gitlab:gitaly:check`确认节点可以连接到 Gitaly. -7. 拖尾日志以查看请求: - - ``` - sudo gitlab-ctl tail gitaly - ``` - -8. 验证 GitLab 服务正在运行: - - ``` - sudo gitlab-ctl status - ``` - - 输出应类似于以下内容: - - ``` - run: consul: (pid 4890) 8647s; run: log: (pid 29962) 79128s - run: gitlab-exporter: (pid 4902) 8647s; run: log: (pid 29913) 79134s - run: gitlab-workhorse: (pid 4904) 8646s; run: log: (pid 29713) 79155s - run: logrotate: (pid 12425) 1446s; run: log: (pid 29798) 79146s - run: nginx: (pid 4925) 8646s; run: log: (pid 29726) 79152s - run: node-exporter: (pid 4931) 8645s; run: log: (pid 29855) 79140s - run: puma: (pid 4936) 8645s; run: log: (pid 29656) 79161s - ``` - -**注意:**如上例所示,当在`external_url`指定`https`时,GitLab 会假定您在`/etc/gitlab/ssl/`具有 SSL 证书. 如果没有证书,NGINX 将无法启动. 有关更多信息,请参见[NGINX 文档](https://docs.gitlab.com/omnibus/settings/nginx.html) . - -### GitLab Rails post-configuration[](#gitlab-rails-post-configuration "Permalink") - -1. 确保运行所有迁移: - - ``` - gitlab-rake gitlab:db:configure - ``` - - **注意:**如果遇到`rake aborted!` 错误,指出 PgBouncer 是无法连接到 PostgreSQL 也可能是您的 PgBouncer 节点的 IP 地址是从 PostgreSQL 的缺失`trust_auth_cidr_addresses`在`gitlab.rb`你的数据库节点. 请参阅"故障排除"部分中的[PgBouncer 错误`ERROR: pgbouncer cannot connect to server`](troubleshooting.html#pgbouncer-error-error-pgbouncer-cannot-connect-to-server) ,然后再继续. -2. [Configure fast lookup of authorized SSH keys in the database](../operations/fast_ssh_key_lookup.html). - -[Back to setup components](#setup-components) - -## Configure Prometheus[](#configure-prometheus "Permalink") - -Omnibus GitLab 软件包可用于配置运行[Prometheus](../monitoring/prometheus/index.html)和[Grafana](../monitoring/performance/grafana_configuration.html)的独立 Monitoring 节点: - -1. SSH 进入"监视"节点. -2. 从 GitLab 下载页面使用**步骤 1 和 2** [下载/安装](https://about.gitlab.com/install/)所需的 Omnibus GitLab 软件包. 不要完成下载页面上的任何其他步骤. -3. 编辑`/etc/gitlab/gitlab.rb`并添加内容: - - ``` - external_url 'http://gitlab.example.com' - - # Disable all other services - gitlab_rails['auto_migrate'] = false - alertmanager['enable'] = false - gitaly['enable'] = false - gitlab_exporter['enable'] = false - gitlab_workhorse['enable'] = false - nginx['enable'] = true - postgres_exporter['enable'] = false - postgresql['enable'] = false - redis['enable'] = false - redis_exporter['enable'] = false - sidekiq['enable'] = false - puma['enable'] = false - unicorn['enable'] = false - node_exporter['enable'] = false - gitlab_exporter['enable'] = false - - # Enable Prometheus - prometheus['enable'] = true - prometheus['listen_address'] = '0.0.0.0:9090' - prometheus['monitor_kubernetes'] = false - - # Enable Login form - grafana['disable_login_form'] = false - - # Enable Grafana - grafana['enable'] = true - grafana['admin_password'] = '' - - # Enable service discovery for Prometheus - consul['enable'] = true - consul['monitoring_service_discovery'] = true - consul['configuration'] = { - retry_join: %w(10.6.0.11 10.6.0.12 10.6.0.13) - } - ``` - -4. 保存文件并[重新配置 GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure) . -5. 在 GitLab 用户界面中,将`admin/application_settings/metrics_and_profiling` >指标-Grafana 设置为`/-/grafana`到`http[s]:///-/grafana` . -6. 验证 GitLab 服务正在运行: - - ``` - sudo gitlab-ctl status - ``` - - 输出应类似于以下内容: - - ``` - run: consul: (pid 31637) 17337s; run: log: (pid 29748) 78432s - run: grafana: (pid 31644) 17337s; run: log: (pid 29719) 78438s - run: logrotate: (pid 31809) 2936s; run: log: (pid 29581) 78462s - run: nginx: (pid 31665) 17335s; run: log: (pid 29556) 78468s - run: prometheus: (pid 31672) 17335s; run: log: (pid 29633) 78456s - ``` - -[Back to setup components](#setup-components) - -## Configure the object storage[](#configure-the-object-storage "Permalink") - -GitLab 支持使用对象存储服务来保存多种类型的数据. 建议在[NFS](#configure-nfs-optional)上使用它,并且通常在较大的设置中更好,因为对象存储通常具有更高的性能,可靠性和可伸缩性. - -manbetx 客户端打不开已经测试过或知道使用的客户的对象存储选项包括: - -* SaaS / Cloud 解决方案,例如[Amazon S3](https://aws.amazon.com/s3/) , [Google 云存储](https://cloud.google.com/storage) . -* 来自各种存储供应商的本地硬件和设备. -* MinIO. 我们的 Helm Chart 文档中[提供了有关部署的指南](https://docs.gitlab.com/charts/advanced/external-object-storage/minio.html) . - -要配置 GitLab 以使用对象存储,请根据要使用的功能参考以下指南: - -1. Configure [object storage for backups](../../raketasks/backup_restore.html#uploading-backups-to-a-remote-cloud-storage). -2. Configure [object storage for job artifacts](../job_artifacts.html#using-object-storage) including [incremental logging](../job_logs.html#new-incremental-logging-architecture). -3. Configure [object storage for LFS objects](../lfs/index.html#storing-lfs-objects-in-remote-object-storage). -4. Configure [object storage for uploads](../uploads.html#using-object-storage-core-only). -5. Configure [object storage for merge request diffs](../merge_request_diffs.html#using-object-storage). -6. 配置[容器注册表的对象存储](../packages/container_registry.html#use-object-storage) (可选功能). -7. [为 Mattermost](https://docs.mattermost.com/administration/config-settings.html#file-storage)配置[对象存储](https://docs.mattermost.com/administration/config-settings.html#file-storage) (可选功能). -8. 配置[软件包的对象存储](../packages/index.html#using-object-storage) (可选功能). -9. 配置[依赖项代理的对象存储](../packages/dependency_proxy.html#using-object-storage) (可选功能). -10. [为 Pseudonymizer](../pseudonymizer.html#configuration) (可选功能)配置[对象存储](../pseudonymizer.html#configuration) . -11. 配置[对象存储以自动缩放 Runner 缓存](https://docs.gitlab.com/runner/configuration/autoscale.html) (可选-为了提高性能). -12. Configure [object storage for Terraform state files](../terraform_state.html#using-object-storage-core-only). - -对于 GitLab,建议为每种数据类型使用单独的存储桶. - -我们的配置的局限性是对象存储的每次使用都是单独配置的. [我们有一个需要改进的问题](https://gitlab.com/gitlab-org/gitlab/-/issues/23345) ,轻松地将一个存储桶与单独的文件夹一起使用可能会带来一个改进. - -使用同一个存储桶至少有一个特定的问题:当使用 Helm 图表部署 GitLab 时,除非使用单独的存储桶,否则从备份还原[将无法正常工作](https://docs.gitlab.com/charts/advanced/external-object-storage/) . - -如果您的组织将来决定将 GitLab 迁移到 Helm 部署,则使用单个存储桶的一种风险是. GitLab 可以运行,但是直到组织对备份起作用的关键要求之前,备份的情况可能无法实现. - -[Back to setup components](#setup-components) - -## Configure NFS (optional)[](#configure-nfs-optional "Permalink") - -建议尽可能在 NFS 上使用[对象存储](#configure-the-object-storage)以及[Gitaly](#configure-gitaly) ,以提高性能. 如果您打算使用 GitLab 页面,则当前[需要 NFS](troubleshooting.html#gitlab-pages-requires-nfs) . - -请参阅如何[配置 NFS](../high_availability/nfs.html) . - -[Back to setup components](#setup-components) - -## Troubleshooting[](#troubleshooting "Permalink") - -请参阅[故障排除文档](troubleshooting.html) . - -[Back to setup components](#setup-components) \ No newline at end of file diff --git a/docs/425.md b/docs/425.md deleted file mode 100644 index 31e7e89..0000000 --- a/docs/425.md +++ /dev/null @@ -1,49 +0,0 @@ -# Reference architecture: up to 10,000 users - -> 原文:[https://docs.gitlab.com/ee/administration/reference_architectures/10k_users.html](https://docs.gitlab.com/ee/administration/reference_architectures/10k_users.html) - -* [Footnotes](#footnotes) - -# Reference architecture: up to 10,000 users[](#reference-architecture-up-to-10000-users "Permalink") - -该页面描述了多达 10,000 个用户的 GitLab 参考架构. 有关参考架构的完整列表,请参见[可用参考架构](index.html#available-reference-architectures) . - -> * **支持的用户(大约):** 10,000 -> * **高可用性:** True -> * **测试 RPS 速率:** API:200 RPS,网站:20 RPS,Git:20 RPS - -| Service | Nodes | 配置( [8](#footnotes) ) | GCP | AWS | Azure | -| --- | --- | --- | --- | --- | --- | -| 亚搏体育应用程序轨道( [1](#footnotes) ) | 3 | 32 个 vCPU,28.8GB 内存 | n1-highcpu-32 | c5.9xlarge | F32s v2 | -| PostgreSQL | 3 | 4 个 vCPU,15GB 内存 | n1-standard-4 | m5.xlarge | D4s v3 | -| PgBouncer | 3 | 2 个 vCPU,1.8GB 内存 | n1-highcpu-2 | c5.large | F2s v2 | -| 吉塔利( [2](#footnotes) )( [5](#footnotes) )( [7](#footnotes) ) | X | 16 个 vCPU,60GB 内存 | n1-standard-16 | m5.4xlarge | D16s v3 | -| Redis( [3](#footnotes) )-缓存 | 3 | 4 个 vCPU,15GB 内存 | n1-standard-4 | m5.xlarge | D4s v3 | -| Redis( [3](#footnotes) )-队列/共享状态 | 3 | 4 个 vCPU,15GB 内存 | n1-standard-4 | m5.xlarge | D4s v3 | -| Redis 前哨( [3](#footnotes) )-缓存 | 3 | 1 个 vCPU,1.7GB 内存 | g1-small | t2.small | B1MS | -| Redis 前哨( [3](#footnotes) )-队列/共享状态 | 3 | 1 个 vCPU,1.7GB 内存 | g1-small | t2.small | B1MS | -| Consul | 3 | 2 个 vCPU,1.8GB 内存 | n1-highcpu-2 | c5.large | F2s v2 | -| Sidekiq | 4 | 4 个 vCPU,15GB 内存 | n1-standard-4 | m5.xlarge | D4s v3 | -| 对象存储( [4](#footnotes) ) | - | - | - | - | - | -| NFS 服务器( [5](#footnotes) )( [7](#footnotes) ) | 1 | 4 个 vCPU,3.6GB 内存 | n1-highcpu-4 | c5.xlarge | F4s v2 | -| 监控节点 | 1 | 4 个 vCPU,3.6GB 内存 | n1-highcpu-4 | c5.xlarge | F4s v2 | -| 外部负载平衡节点( [6](#footnotes) ) | 1 | 2 个 vCPU,1.8GB 内存 | n1-highcpu-2 | c5.large | F2s v2 | -| 内部负载平衡节点( [6](#footnotes) ) | 1 | 2 个 vCPU,1.8GB 内存 | n1-highcpu-2 | c5.large | F2s v2 | - -## Footnotes[](#footnotes "Permalink") - -1. 在我们的体系结构中,我们使用 Puma Web 服务器运行每个 GitLab Rails 节点,并将其工作程序数量设置为 90%的可用 CPU 以及四个线程. 对于运行带有其他组件的 Rails 的节点,应该相应地降低 worker 的值,我们发现 50%达到了很好的平衡,但这取决于工作量. - -2. Gitaly 节点的要求取决于客户数据,特别是项目数量及其规模. 对于 HA 环境,我们建议绝对最少使用两个节点,并且在支持 50,000 个或更多用户时,至少应使用四个节点. 我们还建议每个 Gitaly 节点存储的数据不得超过 5TB,并且将[`gitaly-ruby`工作者](../gitaly/index.html#gitaly-ruby)的数量设置为可用 CPU 的 20%. 根据以上建议,应结合其他节点并结合对预期数据大小和分布的审查. - -3. 推荐的 Redis 设置因架构的大小而异. 对于较小的体系结构(少于 3000 个用户),一个实例就足够了. 对于中型安装(3,000-5,000),我们建议为所有课程使用一个 Redis 集群,并且 Redis Sentinel 与 Consul 一起托管. 对于较大的体系结构(10,000 个或更多用户),我们建议分别为 Cache 类和队列和 Shared State 类运行一个单独的[Redis 群集](../redis/replication_and_failover.html#running-multiple-redis-clusters) . 我们还建议您为每个 Redis 群集分别运行 Redis Sentinel 群集. - -4. 对于 LFS,Uploads,Artifacts 等数据对象.由于性能和可用性更好,我们建议尽可能在 NFS 上使用[对象存储服务](../object_storage.html) . - -5. NFS 可以用作存储库数据(替代 Gitaly)和对象存储的替代方法,但是出于性能原因,通常不建议使用 NFS. 请注意,但是[GitLab Pages](https://gitlab.com/gitlab-org/gitlab-pages/-/issues/196)是必需的. - -6. 我们的架构已通过[HAProxy](https://www.haproxy.org/)作为负载均衡器进行了测试和验证. 尽管也可以使用具有类似功能集的其他负载均衡器,但这些负载均衡器尚未经过验证. - -7. 我们强烈建议为任何 Gitaly 或 NFS 节点设置 HDD 之上的 SSD 磁盘,其读操作的吞吐量至少为 8000 IOPS,写操作的吞吐量至少为 2,000 IOPS,因为这些组件的 I / O 繁重. 这些 IOPS 值仅建议作为启动器使用,因为随着时间的推移,它们可能会根据环境工作负载的规模而调整得更高或更低. 如果您正在 Cloud provider 上运行环境,则可能需要参考其文档以了解如何正确配置 IOPS. - -8. 这些架构是使用 GCP 上的[Intel Xeon E5 v3(Haswell)](https://cloud.google.com/compute/docs/cpu-platforms) CPU 平台构建和测试的. 在不同的硬件上,您可能会发现需要对 CPU 或节点数进行相应的调整,无论是较低还是较高. 有关更多信息,请在[此处](https://gitlab.com/gitlab-org/quality/performance/-/wikis/Reference-Architectures/GCP-CPU-Benchmarks)找到 CPU 的[Sysbench](https://github.com/akopytov/sysbench)基准. \ No newline at end of file diff --git a/docs/426.md b/docs/426.md deleted file mode 100644 index b344de5..0000000 --- a/docs/426.md +++ /dev/null @@ -1,49 +0,0 @@ -# Reference architecture: up to 25,000 users - -> 原文:[https://docs.gitlab.com/ee/administration/reference_architectures/25k_users.html](https://docs.gitlab.com/ee/administration/reference_architectures/25k_users.html) - -* [Footnotes](#footnotes) - -# Reference architecture: up to 25,000 users[](#reference-architecture-up-to-25000-users "Permalink") - -本页描述了最多 25,000 个用户的 GitLab 参考架构. 有关参考架构的完整列表,请参见[可用参考架构](index.html#available-reference-architectures) . - -> * **支持的用户(大约):** 25,000 -> * **高可用性:** True -> * **测试 RPS 速率:** API:500 RPS,网站:50 RPS,Git:50 RPS - -| Service | Nodes | 配置( [8](#footnotes) ) | GCP | AWS | Azure | -| --- | --- | --- | --- | --- | --- | -| 亚搏体育应用程序轨道( [1](#footnotes) ) | 5 | 32 个 vCPU,28.8GB 内存 | `n1-highcpu-32` | `c5.9xlarge` | F32s v2 | -| PostgreSQL | 3 | 8 个 vCPU,30GB 内存 | `n1-standard-8` | `m5.2xlarge` | D8s v3 | -| PgBouncer | 3 | 2 个 vCPU,1.8GB 内存 | `n1-highcpu-2` | `c5.large` | F2s v2 | -| 吉塔利( [2](#footnotes) )( [5](#footnotes) )( [7](#footnotes) ) | X | 32 个 vCPU,120GB 内存 | `n1-standard-32` | `m5.8xlarge` | D32s v3 | -| Redis( [3](#footnotes) )-缓存 | 3 | 4 个 vCPU,15GB 内存 | `n1-standard-4` | `m5.xlarge` | D4s v3 | -| Redis( [3](#footnotes) )-队列/共享状态 | 3 | 4 个 vCPU,15GB 内存 | `n1-standard-4` | `m5.xlarge` | D4s v3 | -| Redis 前哨( [3](#footnotes) )-缓存 | 3 | 1 个 vCPU,1.7GB 内存 | `g1-small` | `t2.small` | B1MS | -| Redis 前哨( [3](#footnotes) )-队列/共享状态 | 3 | 1 个 vCPU,1.7GB 内存 | `g1-small` | `t2.small` | B1MS | -| Consul | 3 | 2 个 vCPU,1.8GB 内存 | `n1-highcpu-2` | `c5.large` | F2s v2 | -| Sidekiq | 4 | 4 个 vCPU,15GB 内存 | `n1-standard-4` | `m5.xlarge` | D4s v3 | -| 对象存储( [4](#footnotes) ) | - | - | - | - | - | -| NFS 服务器( [5](#footnotes) )( [7](#footnotes) ) | 1 | 4 个 vCPU,3.6GB 内存 | `n1-highcpu-4` | `c5.xlarge` | F4s v2 | -| 监控节点 | 1 | 4 个 vCPU,3.6GB 内存 | `n1-highcpu-4` | `c5.xlarge` | F4s v2 | -| 外部负载平衡节点( [6](#footnotes) ) | 1 | 4 个 vCPU,3.6GB 内存 | `n1-highcpu-4` | `c5.xlarge` | F4s v2 | -| 内部负载平衡节点( [6](#footnotes) ) | 1 | 4 个 vCPU,3.6GB 内存 | `n1-highcpu-4` | `c5.xlarge` | F4s v2 | - -## Footnotes[](#footnotes "Permalink") - -1. 在我们的体系结构中,我们使用 Puma Web 服务器运行每个 GitLab Rails 节点,并将其工作程序数量设置为 90%的可用 CPU 以及四个线程. 对于运行带有其他组件的 Rails 的节点,应该相应地降低 worker 的值,我们发现 50%达到了很好的平衡,但这取决于工作量. - -2. Gitaly node requirements are dependent on customer data, specifically the number of projects and their sizes. We recommend two nodes as an absolute minimum for HA environments and at least four nodes should be used when supporting 50,000 or more users. We also recommend that each Gitaly node should store no more than 5TB of data and have the number of [`gitaly-ruby` workers](../gitaly/index.html#gitaly-ruby) set to 20% of available CPUs. Additional nodes should be considered in conjunction with a review of expected data size and spread based on the recommendations above. - -3. 推荐的 Redis 设置因架构的大小而异. 对于较小的体系结构(少于 3000 个用户),一个实例就足够了. 对于中型安装(3,000-5,000),我们建议为所有课程使用一个 Redis 集群,并且 Redis Sentinel 与 Consul 一起托管. 对于较大的体系结构(10,000 个或更多用户),我们建议分别为 Cache 类和队列和 Shared State 类运行一个单独的[Redis 群集](../redis/replication_and_failover.html#running-multiple-redis-clusters) . 我们还建议您为每个 Redis 群集分别运行 Redis Sentinel 群集. - -4. 对于 LFS,Uploads,Artifacts 等数据对象.由于性能和可用性更好,我们建议尽可能在 NFS 上使用[对象存储服务](../object_storage.html) . - -5. NFS 可以用作存储库数据(替代 Gitaly)和对象存储的替代方法,但是出于性能原因,通常不建议使用 NFS. 请注意,但是[GitLab Pages](https://gitlab.com/gitlab-org/gitlab-pages/-/issues/196)是必需的. - -6. 我们的架构已通过[HAProxy](https://www.haproxy.org/)作为负载均衡器进行了测试和验证. 尽管也可以使用具有类似功能集的其他负载均衡器,但这些负载均衡器尚未经过验证. - -7. 我们强烈建议为任何 Gitaly 或 NFS 节点设置 HDD 之上的 SSD 磁盘,其读操作的吞吐量至少为 8000 IOPS,写操作的吞吐量至少为 2,000 IOPS,因为这些组件的 I / O 繁重. 这些 IOPS 值仅建议作为启动器使用,因为随着时间的推移,它们可能会根据环境工作负载的规模而调整得更高或更低. 如果您正在 Cloud provider 上运行环境,则可能需要参考其文档以了解如何正确配置 IOPS. - -8. 这些架构是使用 GCP 上的[Intel Xeon E5 v3(Haswell)](https://cloud.google.com/compute/docs/cpu-platforms) CPU 平台构建和测试的. 在不同的硬件上,您可能会发现需要对 CPU 或节点数进行相应的调整,无论是较低还是较高. 有关更多信息,请在[此处](https://gitlab.com/gitlab-org/quality/performance/-/wikis/Reference-Architectures/GCP-CPU-Benchmarks)找到 CPU 的[Sysbench](https://github.com/akopytov/sysbench)基准. \ No newline at end of file diff --git a/docs/427.md b/docs/427.md deleted file mode 100644 index 081ef0d..0000000 --- a/docs/427.md +++ /dev/null @@ -1,49 +0,0 @@ -# Reference architecture: up to 50,000 users - -> 原文:[https://docs.gitlab.com/ee/administration/reference_architectures/50k_users.html](https://docs.gitlab.com/ee/administration/reference_architectures/50k_users.html) - -* [Footnotes](#footnotes) - -# Reference architecture: up to 50,000 users[](#reference-architecture-up-to-50000-users "Permalink") - -此页面描述了多达 50,000 个用户的 GitLab 参考架构. 有关参考架构的完整列表,请参见[可用参考架构](index.html#available-reference-architectures) . - -> * **支持的用户(大约):** 50,000 -> * **高可用性:** True -> * **测试 RPS 速率:** API:1000 RPS,网站:100 RPS,Git:100 RPS - -| Service | Nodes | 配置( [8](#footnotes) ) | GCP | AWS | Azure | -| --- | --- | --- | --- | --- | --- | -| 亚搏体育应用程序轨道( [1](#footnotes) ) | 12 | 32 个 vCPU,28.8GB 内存 | `n1-highcpu-32` | `c5.9xlarge` | F32s v2 | -| PostgreSQL | 3 | 16 个 vCPU,60GB 内存 | `n1-standard-16` | `m5.4xlarge` | D16s v3 | -| PgBouncer | 3 | 2 个 vCPU,1.8GB 内存 | `n1-highcpu-2` | `c5.large` | F2s v2 | -| 吉塔利( [2](#footnotes) )( [5](#footnotes) )( [7](#footnotes) ) | X | 64 个 vCPU,240GB 内存 | `n1-standard-64` | `m5.16xlarge` | D64s v3 | -| Redis( [3](#footnotes) )-缓存 | 3 | 4 个 vCPU,15GB 内存 | `n1-standard-4` | `m5.xlarge` | D4s v3 | -| Redis( [3](#footnotes) )-队列/共享状态 | 3 | 4 个 vCPU,15GB 内存 | `n1-standard-4` | `m5.xlarge` | D4s v3 | -| Redis 前哨( [3](#footnotes) )-缓存 | 3 | 1 个 vCPU,1.7GB 内存 | `g1-small` | `t2.small` | B1MS | -| Redis 前哨( [3](#footnotes) )-队列/共享状态 | 3 | 1 个 vCPU,1.7GB 内存 | `g1-small` | `t2.small` | B1MS | -| Consul | 3 | 2 个 vCPU,1.8GB 内存 | `n1-highcpu-2` | `c5.large` | F2s v2 | -| Sidekiq | 4 | 4 个 vCPU,15GB 内存 | `n1-standard-4` | `m5.xlarge` | D4s v3 | -| NFS 服务器( [5](#footnotes) )( [7](#footnotes) ) | 1 | 4 个 vCPU,3.6GB 内存 | `n1-highcpu-4` | `c5.xlarge` | F4s v2 | -| 对象存储( [4](#footnotes) ) | - | - | - | - | - | -| 监控节点 | 1 | 4 个 vCPU,3.6GB 内存 | `n1-highcpu-4` | `c5.xlarge` | F4s v2 | -| 外部负载平衡节点( [6](#footnotes) ) | 1 | 8 个 vCPU,7.2GB 内存 | `n1-highcpu-8` | `c5.2xlarge` | F8s v2 | -| 内部负载平衡节点( [6](#footnotes) ) | 1 | 8 个 vCPU,7.2GB 内存 | `n1-highcpu-8` | `c5.2xlarge` | F8s v2 | - -## Footnotes[](#footnotes "Permalink") - -1. 在我们的体系结构中,我们使用 Puma Web 服务器运行每个 GitLab Rails 节点,并将其工作程序数量设置为 90%的可用 CPU 以及四个线程. 对于运行带有其他组件的 Rails 的节点,应该相应地降低 worker 的值,我们发现 50%达到了很好的平衡,但这取决于工作量. - -2. Gitaly node requirements are dependent on customer data, specifically the number of projects and their sizes. We recommend two nodes as an absolute minimum for HA environments and at least four nodes should be used when supporting 50,000 or more users. We also recommend that each Gitaly node should store no more than 5TB of data and have the number of [`gitaly-ruby` workers](../gitaly/index.html#gitaly-ruby) set to 20% of available CPUs. Additional nodes should be considered in conjunction with a review of expected data size and spread based on the recommendations above. - -3. 推荐的 Redis 设置因架构的大小而异. 对于较小的体系结构(少于 3000 个用户),一个实例就足够了. 对于中型安装(3,000-5,000),我们建议为所有课程使用一个 Redis 集群,并且 Redis Sentinel 与 Consul 一起托管. 对于较大的体系结构(10,000 个或更多用户),我们建议分别为 Cache 类和队列和 Shared State 类运行一个单独的[Redis 群集](../redis/replication_and_failover.html#running-multiple-redis-clusters) . 我们还建议您为每个 Redis 群集分别运行 Redis Sentinel 群集. - -4. 对于 LFS,Uploads,Artifacts 等数据对象.由于性能和可用性更好,我们建议尽可能在 NFS 上使用[对象存储服务](../object_storage.html) . - -5. NFS 可以用作存储库数据(替代 Gitaly)和对象存储的替代方法,但是出于性能原因,通常不建议使用 NFS. 请注意,但是[GitLab Pages](https://gitlab.com/gitlab-org/gitlab-pages/-/issues/196)是必需的. - -6. 我们的架构已通过[HAProxy](https://www.haproxy.org/)作为负载均衡器进行了测试和验证. 尽管也可以使用具有类似功能集的其他负载均衡器,但这些负载均衡器尚未经过验证. - -7. 我们强烈建议为任何 Gitaly 或 NFS 节点设置 HDD 之上的 SSD 磁盘,其读操作的吞吐量至少为 8000 IOPS,写操作的吞吐量至少为 2,000 IOPS,因为这些组件的 I / O 繁重. 这些 IOPS 值仅建议作为启动器使用,因为随着时间的推移,它们可能会根据环境工作负载的规模而调整得更高或更低. 如果您正在 Cloud provider 上运行环境,则可能需要参考其文档以了解如何正确配置 IOPS. - -8. 这些架构是使用 GCP 上的[Intel Xeon E5 v3(Haswell)](https://cloud.google.com/compute/docs/cpu-platforms) CPU 平台构建和测试的. 在不同的硬件上,您可能会发现需要对 CPU 或节点数进行相应的调整,无论是较低还是较高. 有关更多信息,请在[此处](https://gitlab.com/gitlab-org/quality/performance/-/wikis/Reference-Architectures/GCP-CPU-Benchmarks)找到 CPU 的[Sysbench](https://github.com/akopytov/sysbench)基准. \ No newline at end of file diff --git a/docs/428.md b/docs/428.md deleted file mode 100644 index ff368d8..0000000 --- a/docs/428.md +++ /dev/null @@ -1,289 +0,0 @@ -# Troubleshooting a reference architecture set up - -> 原文:[https://docs.gitlab.com/ee/administration/reference_architectures/troubleshooting.html](https://docs.gitlab.com/ee/administration/reference_architectures/troubleshooting.html) - -* [Troubleshooting object storage](#troubleshooting-object-storage) - * [S3 API compatibility issues](#s3-api-compatibility-issues) - * [GitLab Pages requires NFS](#gitlab-pages-requires-nfs) - * [Incremental logging is required for CI to use object storage](#incremental-logging-is-required-for-ci-to-use-object-storage) - * [Proxy Download](#proxy-download) - * [ETag mismatch](#etag-mismatch) -* [Troubleshooting Redis](#troubleshooting-redis) -* [Troubleshooting Gitaly](#troubleshooting-gitaly) - * [Checking versions when using standalone Gitaly nodes](#checking-versions-when-using-standalone-gitaly-nodes) - * [`gitaly-debug`](#gitaly-debug) - * [Commits, pushes, and clones return a 401](#commits-pushes-and-clones-return-a-401) - * [Client side gRPC logs](#client-side-grpc-logs) - * [Observing `gitaly-ruby` traffic](#observing-gitaly-ruby-traffic) - * [Repository changes fail with a `401 Unauthorized` error](#repository-changes-fail-with-a-401-unauthorized-error) - * [Command line tools cannot connect to Gitaly](#command-line-tools-cannot-connect-to-gitaly) - * [Gitaly not listening on new address after reconfiguring](#gitaly-not-listening-on-new-address-after-reconfiguring) - * [Permission denied errors appearing in Gitaly logs when accessing repositories from a standalone Gitaly node](#permission-denied-errors-appearing-in-gitaly-logs-when-accessing-repositories-from-a-standalone-gitaly-node) -* [Troubleshooting the GitLab Rails application](#troubleshooting-the-gitlab-rails-application) -* [Troubleshooting Monitoring](#troubleshooting-monitoring) - -# Troubleshooting a reference architecture set up[](#troubleshooting-a-reference-architecture-set-up "Permalink") - -如果您遵循一种[参考体系结构,](index.html#reference-architectures)则此页面可作为故障排除文档. - -## Troubleshooting object storage[](#troubleshooting-object-storage "Permalink") - -### S3 API compatibility issues[](#s3-api-compatibility-issues "Permalink") - -并非所有 S3 提供程序[都](../../raketasks/backup_restore.html#other-s3-providers)与 GitLab 使用的 Fog 库[完全兼容](../../raketasks/backup_restore.html#other-s3-providers) . 症状包括: - -``` -411 Length Required -``` - -### GitLab Pages requires NFS[](#gitlab-pages-requires-nfs "Permalink") - -如果您打算使用[GitLab 页面](../../user/project/pages/index.html) ,则当前需要[NFS](../high_availability/nfs.html) . 有[工作正在进行中](https://gitlab.com/gitlab-org/gitlab-pages/-/issues/196)去除这种依赖性. 将来,GitLab 页面可能会使用[对象存储](https://gitlab.com/gitlab-org/gitlab/-/issues/208135) . - -对磁盘存储的依赖性还阻止了使用[GitLab Helm 图表](https://gitlab.com/gitlab-org/charts/gitlab/-/issues/37)部署 Pages. - -### Incremental logging is required for CI to use object storage[](#incremental-logging-is-required-for-ci-to-use-object-storage "Permalink") - -如果将 GitLab 配置为将对象存储用于 CI 日志和工件,则[还必须启用增量日志记录](../job_logs.html#new-incremental-logging-architecture) . - -### Proxy Download[](#proxy-download "Permalink") - -对象存储的许多使用情况都允许将客户端流量重定向到对象存储后端,例如当 Git 客户端通过 LFS 请求大文件时或在下载 CI 工件和日志时. - -当文件存储在本地块存储或 NFS 上时,GitLab 必须充当代理. 对于对象存储,GitLab 的默认行为是重定向到对象存储设备,而不是代理请求. - -`proxy_download`设置控制此行为:默认设置通常为`false` . 在每个用例的文档中对此进行验证. 将其设置为`true`可使 GitLab 代理文件而不是重定向. - -当不代理文件时,GitLab 将返回[HTTP 302 重定向,该重定向带有预先签名的有时间限制的对象存储 URL](https://gitlab.com/gitlab-org/gitlab/-/issues/32117#note_218532298) . 这可能会导致以下一些问题: - -* 如果 GitLab 使用非安全的 HTTP 访问对象存储,则客户端可能会生成`https->http`降级错误,并拒绝处理重定向. 解决方案是让 GitLab 使用 HTTPS. 例如,LFS 将产生此错误: - - ``` - LFS: lfsapi/client: refusing insecure redirect, https->http - ``` - -* 客户端将需要信任颁发对象存储证书的证书颁发机构,或者可能返回常见的 TLS 错误,例如: - - ``` - x509: certificate signed by unknown authority - ``` - -* 客户端将需要网络访问对象存储. 如果没有此访问权限,则可能导致的错误包括: - - ``` - Received status code 403 from server: Forbidden - ``` - -### ETag mismatch[](#etag-mismatch "Permalink") - -Using the default GitLab settings, some object storage back-ends such as [MinIO](https://gitlab.com/gitlab-org/gitlab/-/issues/23188) and [Alibaba](https://gitlab.com/gitlab-org/charts/gitlab/-/issues/1564) might generate `ETag mismatch` errors. - -使用 GitLab 直接上传时, [MinIO](https://gitlab.com/gitlab-org/charts/gitlab/-/issues/1564#note_244497658)的[解决方法](https://gitlab.com/gitlab-org/charts/gitlab/-/issues/1564#note_244497658)是在服务器上使用`--compat`参数. - -我们正在致力于 GitLab 组件 Workhorse 的修复,同时,也正在尝试一种解决方法,以[允许禁用 ETag 验证](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/18175) . - -## Troubleshooting Redis[](#troubleshooting-redis "Permalink") - -如果应用程序节点无法连接到 Redis 节点,请检查您的防火墙规则,并确保 Redis 可以接受端口`6379`下的 TCP 连接. - -## Troubleshooting Gitaly[](#troubleshooting-gitaly "Permalink") - -### Checking versions when using standalone Gitaly nodes[](#checking-versions-when-using-standalone-gitaly-nodes "Permalink") - -使用独立的 Gitaly 节点时,必须确保它们与 GitLab 的版本相同,以确保完全兼容. 检查您的 GitLab 实例上的**管理区域> Gitaly 服务器** ,并确认所有 Gitaly 服务器都是`Up to date` . - -[![Gitaly standalone software versions diagram](img/ba685b05a8bb7c09fe3b58048ac4884e.png)](../gitaly/img/gitlab_gitaly_version_mismatch_v12_4.png) - -### `gitaly-debug`[](#gitaly-debug "Permalink") - -`gitaly-debug`命令提供用于" Gitaly"和" Git"性能的"生产调试"工具. 它旨在帮助生产工程师和支持工程师调查 Gitaly 性能问题. - -如果您使用的是 GitLab 11.6 或更高版本,则此工具应已安装在您的 GitLab / Gitaly 服务器上,位于`/opt/gitlab/embedded/bin/gitaly-debug` . 如果要研究旧版本的 GitLab,可以离线编译此工具,然后将可执行文件复制到服务器: - -``` -git clone https://gitlab.com/gitlab-org/gitaly.git -cd cmd/gitaly-debug -GOOS=linux GOARCH=amd64 go build -o gitaly-debug -``` - -要查看`gitaly-debug`的帮助页面以`gitaly-debug`受支持的子命令列表,请运行: - -``` -gitaly-debug -h -``` - -### Commits, pushes, and clones return a 401[](#commits-pushes-and-clones-return-a-401 "Permalink") - -``` -remote: GitLab: 401 Unauthorized -``` - -您将需要将`gitlab-secrets.json`文件与 GitLab 应用程序节点同步. - -### Client side gRPC logs[](#client-side-grpc-logs "Permalink") - -Gitaly 使用[gRPC](https://grpc.io/) RPC 框架. Ruby gRPC 客户端具有自己的日志文件,当您看到 Gitaly 错误时,该文件可能包含有用的信息. 您可以使用`GRPC_LOG_LEVEL`环境变量控制 gRPC 客户端的日志级别. 默认级别为`WARN` . - -您可以使用以下命令运行 gRPC 跟踪: - -``` -sudo GRPC_TRACE=all GRPC_VERBOSITY=DEBUG gitlab-rake gitlab:gitaly:check -``` - -### Observing `gitaly-ruby` traffic[](#observing-gitaly-ruby-traffic "Permalink") - -[`gitaly-ruby`](../gitaly/index.html#gitaly-ruby)是[`gitaly-ruby`](../gitaly/index.html#gitaly-ruby)的内部实现细节,因此,对`gitaly-ruby`流程内部发生的情况`gitaly-ruby` . - -如果已设置 Prometheus 来抓取 Gitaly 进程,则可以通过查询`grpc_client_handled_total`来`grpc_client_handled_total` `gitaly-ruby`各个 RPC 的请求率和错误代码. 严格来说,此度量标准并未区分`gitaly-ruby`和其他 RPC,但实际上(自 GitLab 11.9 起),Gitaly 本身进行的所有 gRPC 调用都是从 Gitaly 主过程到其`gitaly-ruby`边车之一的内部调用. - -假设您的`grpc_client_handled_total`计数器仅观察到 Gitaly,以下查询将显示 RPC 在内部(最有可能)实现为对`gitaly-ruby`调用: - -``` -sum(rate(grpc_client_handled_total[5m])) by (grpc_method) > 0 -``` - -### Repository changes fail with a `401 Unauthorized` error[](#repository-changes-fail-with-a-401-unauthorized-error "Permalink") - -If you’re running Gitaly on its own server and notice that users can successfully clone and fetch repositories (via both SSH and HTTPS), but can’t push to them or make changes to the repository in the web UI without getting a `401 Unauthorized` message, then it’s possible Gitaly is failing to authenticate with the other nodes due to having the wrong secrets file. - -确认以下所有内容均正确: - -* 当任何用户向该 Gitaly 节点上的任何存储库执行`git push` ,它都会失败,并显示以下错误(请注意`401 Unauthorized` ): - - ``` - remote: GitLab: 401 Unauthorized - To - ! [remote rejected] branch-name -> branch-name (pre-receive hook declined) - error: failed to push some refs to '' - ``` - -* 当任何用户使用 GitLab UI 从存储库添加或修改文件时,该文件都会立即失败,并显示红色`401 Unauthorized`横幅. -* 创建一个新项目并[使用 README 对其进行初始化会](../../gitlab-basics/create-project.html#blank-projects)成功创建该项目,但不会创建 README. -* [将日志拖到](https://docs.gitlab.com/omnibus/settings/logs.html)应用程序节点上并重现错误时,到达`/api/v4/internal/allowed`端点时会出现`401`错误: - - ``` - # api_json.log - { - "time": "2019-07-18T00:30:14.967Z", - "severity": "INFO", - "duration": 0.57, - "db": 0, - "view": 0.57, - "status": 401, - "method": "POST", - "path": "\/api\/v4\/internal\/allowed", - "params": [ - { - "key": "action", - "value": "git-receive-pack" - }, - { - "key": "changes", - "value": "REDACTED" - }, - { - "key": "gl_repository", - "value": "REDACTED" - }, - { - "key": "project", - "value": "\/path\/to\/project.git" - }, - { - "key": "protocol", - "value": "web" - }, - { - "key": "env", - "value": "{\"GIT_ALTERNATE_OBJECT_DIRECTORIES\":[],\"GIT_ALTERNATE_OBJECT_DIRECTORIES_RELATIVE\":[],\"GIT_OBJECT_DIRECTORY\":null,\"GIT_OBJECT_DIRECTORY_RELATIVE\":null}" - }, - { - "key": "user_id", - "value": "2" - }, - { - "key": "secret_token", - "value": "[FILTERED]" - } - ], - "host": "gitlab.example.com", - "ip": "REDACTED", - "ua": "Ruby", - "route": "\/api\/:version\/internal\/allowed", - "queue_duration": 4.24, - "gitaly_calls": 0, - "gitaly_duration": 0, - "correlation_id": "XPUZqTukaP3" - } - - # nginx_access.log - [IP] - - [18/Jul/2019:00:30:14 +0000] "POST /api/v4/internal/allowed HTTP/1.1" 401 30 "" "Ruby" - ``` - -要解决此问题,请确认 Gitaly 节点上的 gitlab `gitlab-secrets.json`文件与所有其他节点上的 gitlab `gitlab-secrets.json`文件匹配. 如果不匹配,请更新 Gitaly 节点上的 secrets 文件以使其与其他文件匹配,然后[重新配置该节点](../restart_gitlab.html#omnibus-gitlab-reconfigure) . - -### Command line tools cannot connect to Gitaly[](#command-line-tools-cannot-connect-to-gitaly "Permalink") - -如果使用命令行(CLI)工具连接到 Gitaly 节点时遇到问题,并且某些操作导致出现`14: Connect Failed`错误消息,则表明 gRPC 无法到达您的 Gitaly 节点. - -确认您可以通过 TCP 到达 Gitaly: - -``` -sudo gitlab-rake gitlab:tcp_check[GITALY_SERVER_IP,GITALY_LISTEN_PORT] -``` - -如果 TCP 连接失败,请检查您的网络设置和防火墙规则. 如果 TCP 连接成功,则您的网络和防火墙规则正确. - -如果您在命令行环境(例如 Bash)中使用代理服务器,则这些代理服务器可能会干扰您的 gRPC 通信. - -如果使用 Bash 或兼容的命令行环境,请运行以下命令来确定是否配置了代理服务器: - -``` -echo $http_proxy -echo $https_proxy -``` - -如果这些变量中的任何一个都有值,则您的 Gitaly CLI 连接可能正在通过无法连接到 Gitaly 的代理进行路由. - -要删除代理设置,请运行以下命令(取决于哪些变量具有值): - -``` -unset http_proxy -unset https_proxy -``` - -### Gitaly not listening on new address after reconfiguring[](#gitaly-not-listening-on-new-address-after-reconfiguring "Permalink") - -当更新`gitaly['listen_addr']`或`gitaly['prometheus_listen_addr']`值时,Gitaly 可能会在`sudo gitlab-ctl reconfigure`后继续侦听旧地址. - -发生这种情况时,执行`sudo gitlab-ctl restart`将解决此问题. 解决[此问题](https://gitlab.com/gitlab-org/gitaly/-/issues/2521)后,将不再需要[此操作](https://gitlab.com/gitlab-org/gitaly/-/issues/2521) . - -### Permission denied errors appearing in Gitaly logs when accessing repositories from a standalone Gitaly node[](#permission-denied-errors-appearing-in-gitaly-logs-when-accessing-repositories-from-a-standalone-gitaly-node "Permalink") - -如果即使文件许可权正确也发生此错误,则 Gitaly 节点很可能正在发生[时钟漂移](https://en.wikipedia.org/wiki/Clock_drift) . - -请确保 GitLab 和 Gitaly 节点已同步,并在可能的情况下使用 NTP 时间服务器使其保持同步. - -## Troubleshooting the GitLab Rails application[](#troubleshooting-the-gitlab-rails-application "Permalink") - -* `mount: wrong fs type, bad option, bad superblock on` - -您尚未安装必要的 NFS 客户端实用程序. 请参阅上面的步骤 1. - -* `mount: mount point /var/opt/gitlab/... does not exist` - -NFS 服务器上不存在此特定目录. 确保共享已导出并且存在于 NFS 服务器上,然后尝试重新安装. - -## Troubleshooting Monitoring[](#troubleshooting-monitoring "Permalink") - -如果监视节点未接收到任何数据,请检查导出器是否正在捕获数据. - -``` -curl http[s]://localhost:/metric -``` - -or - -``` -curl http[s]://localhost:/-/metric -``` \ No newline at end of file diff --git a/docs/429.md b/docs/429.md deleted file mode 100644 index 84f8ba2..0000000 --- a/docs/429.md +++ /dev/null @@ -1,205 +0,0 @@ -# Working with the bundled Consul service - -> 原文:[https://docs.gitlab.com/ee/administration/high_availability/consul.html](https://docs.gitlab.com/ee/administration/high_availability/consul.html) - -* [Prerequisites](#prerequisites) -* [Configuring the Consul nodes](#configuring-the-consul-nodes) - * [Consul checkpoint](#consul-checkpoint) -* [Operations](#operations) - * [Checking cluster membership](#checking-cluster-membership) - * [Restarting the server cluster](#restarting-the-server-cluster) -* [Upgrades for bundled Consul](#upgrades-for-bundled-consul) -* [Troubleshooting](#troubleshooting) - * [Consul server agents unable to communicate](#consul-server-agents-unable-to-communicate) - * [Consul agents do not start - Multiple private IPs](#consul-agents-do-not-start---multiple-private-ips) - * [Outage recovery](#outage-recovery) - * [Recreate from scratch](#recreate-from-scratch) - * [Recover a failed cluster](#recover-a-failed-cluster) - -# Working with the bundled Consul service[](#working-with-the-bundled-consul-service-premium-only "Permalink") - -作为其高可用性堆栈的一部分,GitLab Premium 包含可通过`/etc/gitlab/gitlab.rb`管理的捆绑版本的[Consul](https://www.consul.io/) . Consul 是服务网络解决方案. 对于[GitLab Architecture](../../development/architecture.html) ,支持 Consul 利用来配置: - -1. [Monitoring in Scaled and Highly Available environments](monitoring_node.html) -2. [PostgreSQL High Availability with Omnibus](../postgresql/replication_and_failover.html) - -Consul 群集由多个服务器代理以及在其他需要与 Consul 群集通信的节点上运行的客户端代理组成. - -## Prerequisites[](#prerequisites "Permalink") - -首先,请确保**在每个节点上** [下载/安装](https://about.gitlab.com/install/) Omnibus GitLab. - -选择一种安装方法,然后确保完成以下步骤: - -1. 安装和配置必要的依赖项. -2. 添加 GitLab 软件包存储库并安装软件包. - -安装 GitLab 软件包时,请勿提供`EXTERNAL_URL`值. - -## Configuring the Consul nodes[](#configuring-the-consul-nodes "Permalink") - -在每个 Consul 节点上执行以下操作: - -1. 在执行下一步之前,请确保为[`CONSUL_SERVER_NODES`](../postgresql/replication_and_failover.html#consul-information)收集[`CONSUL_SERVER_NODES`](../postgresql/replication_and_failover.html#consul-information) ,它们是 Consul 服务器节点的 IP 地址或 DNS 记录. - -2. 编辑`/etc/gitlab/gitlab.rb`替换`/etc/gitlab/gitlab.rb` `# START user configuration`部分中记录的值: - - ``` - # Disable all components except Consul - roles ['consul_role'] - - # START user configuration - # Replace placeholders: - # - # Y.Y.Y.Y consul1.gitlab.example.com Z.Z.Z.Z - # with the addresses gathered for CONSUL_SERVER_NODES - consul['configuration'] = { - server: true, - retry_join: %w(Y.Y.Y.Y consul1.gitlab.example.com Z.Z.Z.Z) - } - - # Disable auto migrations - gitlab_rails['auto_migrate'] = false - # - # END user configuration - ``` - - > `consul_role`在 GitLab 10.3 中引入 - -3. [重新配置 GitLab,](../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -### Consul checkpoint[](#consul-checkpoint "Permalink") - -在继续之前,请确保 Consul 配置正确. 运行以下命令以验证所有服务器节点都在通信: - -``` -/opt/gitlab/embedded/bin/consul members -``` - -输出应类似于: - -``` -Node Address Status Type Build Protocol DC -CONSUL_NODE_ONE XXX.XXX.XXX.YYY:8301 alive server 0.9.2 2 gitlab_consul -CONSUL_NODE_TWO XXX.XXX.XXX.YYY:8301 alive server 0.9.2 2 gitlab_consul -CONSUL_NODE_THREE XXX.XXX.XXX.YYY:8301 alive server 0.9.2 2 gitlab_consul -``` - -如果任何一个节点都不`alive`或三个节点中的任何一个都不`alive` ,请在继续操作之前检查" [疑难解答"部分](#troubleshooting) . - -## Operations[](#operations "Permalink") - -### Checking cluster membership[](#checking-cluster-membership "Permalink") - -要查看哪些节点是集群的一部分,请在集群中的任何成员上运行以下命令 - -``` -$ /opt/gitlab/embedded/bin/consul members -Node Address Status Type Build Protocol DC -consul-b XX.XX.X.Y:8301 alive server 0.9.0 2 gitlab_consul -consul-c XX.XX.X.Y:8301 alive server 0.9.0 2 gitlab_consul -consul-c XX.XX.X.Y:8301 alive server 0.9.0 2 gitlab_consul -db-a XX.XX.X.Y:8301 alive client 0.9.0 2 gitlab_consul -db-b XX.XX.X.Y:8301 alive client 0.9.0 2 gitlab_consul -``` - -Ideally all nodes will have a `Status` of `alive`. - -### Restarting the server cluster[](#restarting-the-server-cluster "Permalink") - -**注意:**本部分仅适用于服务器代理. 在需要时重新启动客户端代理是安全的. - -如果有必要重新启动服务器群集,则以受控方式进行此操作很重要,以保持仲裁. 如果仲裁丢失,则需要遵循 Consul [中断恢复](#outage-recovery)过程来恢复群集. - -为了安全起见,建议您一次仅重新启动一个服务器代理,以确保群集保持完整. - -对于较大的群集,可以一次重新启动多个代理. 请参阅[领事共识文档,](https://www.consul.io/docs/internals/consensus.html#deployment-table)以了解可以容忍多少次失败. 这是它可以承受的同时重启的次数. - -## Upgrades for bundled Consul[](#upgrades-for-bundled-consul "Permalink") - -运行 GitLab 捆绑的 Consul 的节点应为: - -* 升级 Omnibus GitLab 软件包之前,健康集群的成员. -* 一次升级一个节点. - -**注意:**从任何 Consul 节点运行`curl http://127.0.0.1:8500/v1/health/state/critical` ,将识别群集中的现有运行状况问题. 如果群集运行状况良好,该命令将返回一个空数组. - -领事群集使用筏协议进行通信. 如果当前领导者下线,则需要进行领导者选举. 必须存在一个领导者节点,以促进整个集群之间的同步. 如果同时有太多节点脱机,则由于[共识破裂](https://www.consul.io/docs/internals/consensus.html) ,群集将失去仲裁且不会选举领导者. - -如果群集在升级后无法恢复,请参考[故障排除部分](#troubleshooting) . [中断恢复](#outage-recovery)可能特别有意义. - -**注意:** GitLab 仅使用 Consul 来存储易于重新生成的瞬态数据. 如果捆绑包的 Consul 除了 GitLab 本身以外没有被其他进程使用,那么[从头开始重建集群](#recreate-from-scratch)就可以了. - -## Troubleshooting[](#troubleshooting "Permalink") - -### Consul server agents unable to communicate[](#consul-server-agents-unable-to-communicate "Permalink") - -默认情况下,服务器代理将尝试[绑定](https://www.consul.io/docs/agent/options.html#_bind)到" 0.0.0.0",但是它们将通告节点上的第一个私有 IP 地址,以供其他代理与其通信. 如果其他节点无法与此地址上的节点通信,则群集将处于故障状态. - -如果遇到此问题,您将在`gitlab-ctl tail consul`输出中看到类似以下的消息: - -``` -2017-09-25_19:53:39.90821 2017/09/25 19:53:39 [WARN] raft: no known peers, aborting election -2017-09-25_19:53:41.74356 2017/09/25 19:53:41 [ERR] agent: failed to sync remote state: No cluster leader -``` - -要解决此问题: - -1. 在每个其他节点都可以到达的节点上选择一个地址. -2. 更新您的`/etc/gitlab/gitlab.rb` - - ``` - consul['configuration'] = { - ... - bind_addr: 'IP ADDRESS' - } - ``` - -3. Run `gitlab-ctl reconfigure` - -如果仍然看到错误,则可能必须[删除 Consul 数据库并](#recreate-from-scratch)在受影响的节点上[重新初始化](#recreate-from-scratch) . - -### Consul agents do not start - Multiple private IPs[](#consul-agents-do-not-start---multiple-private-ips "Permalink") - -如果一个节点具有多个专用 IP,则代理会混淆要播发哪个专用地址,然后在启动时立即退出. - -如果遇到此问题,您将在`gitlab-ctl tail consul`输出中看到类似以下的消息: - -``` -2017-11-09_17:41:45.52876 ==> Starting Consul agent... -2017-11-09_17:41:45.53057 ==> Error creating agent: Failed to get advertise address: Multiple private IPs found. Please configure one. -``` - -要解决此问题: - -1. 在该节点上选择一个地址,所有其他节点都可以通过该地址到达该节点. -2. 更新您的`/etc/gitlab/gitlab.rb` - - ``` - consul['configuration'] = { - ... - bind_addr: 'IP ADDRESS' - } - ``` - -3. Run `gitlab-ctl reconfigure` - -### Outage recovery[](#outage-recovery "Permalink") - -如果您在群集中丢失了足够的服务器代理以破坏仲裁,则该群集将被视为失败,并且如果没有手动干预,它将无法运行. - -#### Recreate from scratch[](#recreate-from-scratch "Permalink") - -默认情况下,GitLab 不会在 Consul 群集中存储任何无法重新创建的内容. 删除 Consul 数据库并重新初始化 - -``` -gitlab-ctl stop consul -rm -rf /var/opt/gitlab/consul/data -gitlab-ctl start consul -``` - -此后,群集应开始备份,并且服务器代理重新加入. 之后不久,客户代理也应重新加入. - -#### Recover a failed cluster[](#recover-a-failed-cluster "Permalink") - -如果您已利用 Consul 来存储其他数据,并想还原发生故障的群集,请按照[Consul 指南](https://learn.hashicorp.com/consul/day-2-operations/outage)来恢复发生故障的群集. \ No newline at end of file diff --git a/docs/430.md b/docs/430.md deleted file mode 100644 index fa72dca..0000000 --- a/docs/430.md +++ /dev/null @@ -1,31 +0,0 @@ -# Configuring PostgreSQL for scaling - -> 原文:[https://docs.gitlab.com/ee/administration/postgresql/](https://docs.gitlab.com/ee/administration/postgresql/) - -* [PostgreSQL replication and failover with Omnibus GitLab](#postgresql-replication-and-failover-with-omnibus-gitlab-premium-only) -* [Standalone PostgreSQL using Omnibus GitLab](#standalone-postgresql-using-omnibus-gitlab-core-only) -* [Provide your own PostgreSQL instance](#provide-your-own-postgresql-instance-core-only) - -# Configuring PostgreSQL for scaling[](#configuring-postgresql-for-scaling "Permalink") - -在本节中,将指导您配置 PostgreSQL 数据库,以在我们的[可扩展和高度可用的设置](../reference_architectures/index.html)之一中与 GitLab 一起使用. 基本上有三种设置可供选择. - -## PostgreSQL replication and failover with Omnibus GitLab[](#postgresql-replication-and-failover-with-omnibus-gitlab-premium-only "Permalink") - -此设置适用于使用[Omnibus GitLab **企业版** (EE)软件包](https://about.gitlab.com/install/?version=ee)安装 GitLab 的情况. - -所有必需的工具(如 PostgreSQL,PgBouncer,Repmgr)都捆绑在软件包中,因此您可以用它来设置整个 PostgreSQL 基础结构(主数据库,副本数据库). - -[> Read how to set up PostgreSQL replication and failover using Omnibus GitLab](replication_and_failover.html) - -## Standalone PostgreSQL using Omnibus GitLab[](#standalone-postgresql-using-omnibus-gitlab-core-only "Permalink") - -此设置适用于您安装[Omnibus GitLab 软件包](https://about.gitlab.com/install/) (CE 或 EE)时使用仅启用了服务的捆绑 PostgreSQL 的情况. - -[> Read how to set up a standalone PostgreSQL instance using Omnibus GitLab](standalone.html) - -## Provide your own PostgreSQL instance[](#provide-your-own-postgresql-instance-core-only "Permalink") - -此设置适用于使用[Omnibus GitLab 软件包](https://about.gitlab.com/install/) (CE 或 EE)安装 GitLab 或[从源代码](../../install/installation.html)安装 GitLab 的情况,但您想使用自己的外部 PostgreSQL 服务器. - -[> Read how to set up an external PostgreSQL instance](external.html) \ No newline at end of file diff --git a/docs/431.md b/docs/431.md deleted file mode 100644 index 0bb165e..0000000 --- a/docs/431.md +++ /dev/null @@ -1,163 +0,0 @@ -# Configuring GitLab application (Rails) - -> 原文:[https://docs.gitlab.com/ee/administration/high_availability/gitlab.html](https://docs.gitlab.com/ee/administration/high_availability/gitlab.html) - -* [First GitLab application server](#first-gitlab-application-server) -* [Extra configuration for additional GitLab application servers](#extra-configuration-for-additional-gitlab-application-servers) -* [Enable Monitoring](#enable-monitoring) -* [Troubleshooting](#troubleshooting) -* [Upgrading GitLab HA](#upgrading-gitlab-ha) - -# Configuring GitLab application (Rails)[](#configuring-gitlab-application-rails "Permalink") - -本节介绍如何配置 GitLab 应用程序(Rails)组件. - -**注意:**底部附近还有一些其他配置,用于其他 GitLab 应用程序服务器. 在继续安装 GitLab 之前,阅读并理解这些其他步骤非常重要.**注意:**建议尽可能通过[NFS](nfs.html)使用[Gitaly 的](gitaly.html) [Cloud Object Storage 服务](object_storage.html) ,以提高性能. - -1. 如有必要,请使用以下命令安装 NFS 客户端实用程序软件包: - - ``` - # Ubuntu/Debian - apt-get install nfs-common - - # CentOS/Red Hat - yum install nfs-utils nfs-utils-lib - ``` - -2. 在`/etc/fstab`指定必要的 NFS 导出. `/etc/fstab`的确切内容取决于您选择配置 NFS 服务器的方式. 有关示例和各种选项,请参见[NFS 文档](nfs.html#nfs-client-mount-options) . - -3. 创建共享目录. 这些可能会有所不同,具体取决于您的 NFS 安装位置. - - ``` - mkdir -p /var/opt/gitlab/.ssh /var/opt/gitlab/gitlab-rails/uploads /var/opt/gitlab/gitlab-rails/shared /var/opt/gitlab/gitlab-ci/builds /var/opt/gitlab/git-data - ``` - -4. 使用[GitLab 下载中的](https://about.gitlab.com/install/) **步骤 1 和 2**下载/安装 Omnibus GitLab. 不要完成下载页面上的其他步骤. -5. 创建/编辑`/etc/gitlab/gitlab.rb`并使用以下配置. 确保更改`external_url`以匹配最终的 GitLab 前端 URL. 根据您的 NFS 配置,您可能需要更改某些 GitLab 数据位置. 有关各种情况的`/etc/gitlab/gitlab.rb`配置值,请参见[NFS 文档](nfs.html) . 下面的示例假定您已在默认数据位置中添加了 NFS 挂载. 此外,给出的 UID 和 GID 只是示例,您应该使用首选值进行配置. - - ``` - external_url 'https://gitlab.example.com' - - # Prevent GitLab from starting if NFS data mounts are not available - high_availability['mountpoint'] = '/var/opt/gitlab/git-data' - - # Disable components that will not be on the GitLab application server - roles ['application_role'] - nginx['enable'] = true - - # PostgreSQL connection details - gitlab_rails['db_adapter'] = 'postgresql' - gitlab_rails['db_encoding'] = 'unicode' - gitlab_rails['db_host'] = '10.1.0.5' # IP/hostname of database server - gitlab_rails['db_password'] = 'DB password' - - # Redis connection details - gitlab_rails['redis_port'] = '6379' - gitlab_rails['redis_host'] = '10.1.0.6' # IP/hostname of Redis server - gitlab_rails['redis_password'] = 'Redis Password' - - # Ensure UIDs and GIDs match between servers for permissions via NFS - user['uid'] = 9000 - user['gid'] = 9000 - web_server['uid'] = 9001 - web_server['gid'] = 9001 - registry['uid'] = 9002 - registry['gid'] = 9002 - ``` - -6. [Enable monitoring](#enable-monitoring) - - **注意:**为了保持 HA 群集之间链接的统一性,第一个应用程序服务器上的`external_url`以及其他应用程序服务器应指向用户将用来访问 GitLab 的外部 URL. 在典型的 HA 设置中,这将是负载平衡器的 URL,它将把流量路由到 HA 群集中的所有 GitLab 应用程序服务器.**注意:**如上例所示,当在`external_url`指定`https`时,GitLab 会假定您在`/etc/gitlab/ssl/`具有 SSL 证书. 如果没有证书,NGINX 将无法启动. 有关更多信息,请参见[NGINX 文档](https://docs.gitlab.com/omnibus/settings/nginx.html) .**注意:**最好在初始重新配置 GitLab 之前设置`uid`和`gid` . 如果在初始重新配置后设置,Omnibus 将不会递归`chown`目录. - -## First GitLab application server[](#first-gitlab-application-server "Permalink") - -在第一台应用程序服务器上,运行: - -``` -sudo gitlab-ctl reconfigure -``` - -这应该编译配置并初始化数据库. 在下一步之前,不要在其他应用程序服务器上运行此命令. - -## Extra configuration for additional GitLab application servers[](#extra-configuration-for-additional-gitlab-application-servers "Permalink") - -其他的 GitLab 服务器( **在**第一个 GitLab 服务器**之后**配置的服务器)需要一些额外的配置. - -1. 配置共享机密. 这些值可以从`/etc/gitlab/gitlab-secrets.json`的主要 GitLab 服务器`/etc/gitlab/gitlab-secrets.json` . **在**运行上述步骤中的第一次`reconfigure` **之前,**将此文件复制到辅助服务器. - - ``` - gitlab_shell['secret_token'] = 'fbfb19c355066a9afb030992231c4a363357f77345edd0f2e772359e5be59b02538e1fa6cae8f93f7d23355341cea2b93600dab6d6c3edcdced558fc6d739860' - gitlab_rails['otp_key_base'] = 'b719fe119132c7810908bba18315259ed12888d4f5ee5430c42a776d840a396799b0a5ef0a801348c8a357f07aa72bbd58e25a84b8f247a25c72f539c7a6c5fa' - gitlab_rails['secret_key_base'] = '6e657410d57c71b4fc3ed0d694e7842b1895a8b401d812c17fe61caf95b48a6d703cb53c112bc01ebd197a85da81b18e29682040e99b4f26594772a4a2c98c6d' - gitlab_rails['db_key_base'] = 'bf2e47b68d6cafaef1d767e628b619365becf27571e10f196f98dc85e7771042b9203199d39aff91fcb6837c8ed83f2a912b278da50999bb11a2fbc0fba52964' - ``` - -2. 运行`touch /etc/gitlab/skip-auto-reconfigure`以防止数据库迁移在升级时运行. 只有主 GitLab 应用程序服务器才能处理迁移. - -3. **推荐**配置主机密钥. 将主应用程序服务器上`/etc/ssh/`的内容(私钥和公钥)复制到所有辅助服务器上的`/etc/ssh` . 这样可以防止访问负载平衡器后面的高可用性群集中的服务器时出现虚假的中间人攻击警报. - -4. 运行`sudo gitlab-ctl reconfigure`来编译配置. - -**注意:**发生更新并执行数据库迁移后,您将需要重新启动 GitLab 应用程序节点. - -## Enable Monitoring[](#enable-monitoring "Permalink") - -在 GitLab 12.0 中[引入](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/3786) . - -如果启用了监视,则必须在**所有** GitLab 服务器上将其启用. - -1. Make sure to collect [`CONSUL_SERVER_NODES`](../postgresql/replication_and_failover.html#consul-information), which are the IP addresses or DNS records of the Consul server nodes, for the next step. Note they are presented as `Y.Y.Y.Y consul1.gitlab.example.com Z.Z.Z.Z` - -2. 创建/编辑`/etc/gitlab/gitlab.rb`并添加以下配置: - - ``` - # Enable service discovery for Prometheus - consul['enable'] = true - consul['monitoring_service_discovery'] = true - - # Replace placeholders - # Y.Y.Y.Y consul1.gitlab.example.com Z.Z.Z.Z - # with the addresses of the Consul server nodes - consul['configuration'] = { - retry_join: %w(Y.Y.Y.Y consul1.gitlab.example.com Z.Z.Z.Z), - } - - # Set the network addresses that the exporters will listen on - node_exporter['listen_address'] = '0.0.0.0:9100' - gitlab_workhorse['prometheus_listen_addr'] = '0.0.0.0:9229' - sidekiq['listen_address'] = "0.0.0.0" - puma['listen'] = '0.0.0.0' - - # Add the monitoring node's IP address to the monitoring list that allows it to - # scrape the NGINX metrics. Replace placeholder `monitoring.gitlab.example.com` with - # the address and/or subnets gathered from the monitoring node(s). - gitlab_rails['monitoring_whitelist'] = ['monitoring.gitlab.example.com', '127.0.0.0/8'] - nginx['status']['options']['allow'] = ['monitoring.gitlab.example.com', '127.0.0.0/8'] - ``` - -3. 运行`sudo gitlab-ctl reconfigure`来编译配置. - - **警告:**如果运行 Unicorn,则在`gitlab.rb`更改`unicorn['listen']`并运行`sudo gitlab-ctl reconfigure`后,收到`HUP`后,Unicorn 可能需要较长的时间才能完成重新加载. 有关更多信息,请参见[问题](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/4401) . - -## Troubleshooting[](#troubleshooting "Permalink") - -* `mount: wrong fs type, bad option, bad superblock on` - -您尚未安装必要的 NFS 客户端实用程序. 请参阅上面的步骤 1. - -* `mount: mount point /var/opt/gitlab/... does not exist` - -NFS 服务器上不存在此特定目录. 确保共享已导出并且存在于 NFS 服务器上,然后尝试重新安装. - -* * * - -## Upgrading GitLab HA[](#upgrading-gitlab-ha "Permalink") - -可以在不停机的情况下升级 GitLab HA 安装,但是必须仔细协调升级过程,以免发生故障. 有关更多详细信息,请参见[Omnibus GitLab 多节点升级文档](https://docs.gitlab.com/omnibus/update/) . - -阅读更多有关高可用性配置的信息: - -1. [Configure the database](../postgresql/replication_and_failover.html) -2. [Configure Redis](redis.html) -3. [Configure NFS](nfs.html) -4. [Configure the load balancers](load_balancer.html) \ No newline at end of file diff --git a/docs/432.md b/docs/432.md deleted file mode 100644 index 439cd59..0000000 --- a/docs/432.md +++ /dev/null @@ -1,91 +0,0 @@ -# Load Balancer for multi-node GitLab - -> 原文:[https://docs.gitlab.com/ee/administration/high_availability/load_balancer.html](https://docs.gitlab.com/ee/administration/high_availability/load_balancer.html) - -* [SSL](#ssl) - * [Application nodes terminate SSL](#application-nodes-terminate-ssl) - * [Load Balancer(s) terminate SSL without backend SSL](#load-balancers-terminate-ssl-without-backend-ssl) - * [Load Balancer(s) terminate SSL with backend SSL](#load-balancers-terminate-ssl-with-backend-ssl) -* [Ports](#ports) - * [Basic ports](#basic-ports) - * [GitLab Pages Ports](#gitlab-pages-ports) - * [Alternate SSH Port](#alternate-ssh-port) -* [Readiness check](#readiness-check) - -# Load Balancer for multi-node GitLab[](#load-balancer-for-multi-node-gitlab "Permalink") - -在多节点 GitLab 配置中,您将需要一个负载平衡器才能将流量路由到应用程序服务器. 有关使用负载均衡器或进行确切配置的细节超出了 GitLab 文档的范围. 我们希望,如果您要管理像 GitLab 这样的 HA 系统,那么已经选择了负载均衡器. 一些示例包括 HAProxy(开源),F5 Big-IP LTM 和 Citrix Net Scaler. 本文档将概述需要在 GitLab 上使用哪些端口和协议. - -## SSL[](#ssl "Permalink") - -您将如何在多节点环境中处理 SSL? 有几种不同的选择: - -* 每个应用程序节点终止 SSL -* 负载平衡器终止 SSL,并且负载平衡器与应用程序节点之间的通信不安全 -* 负载平衡器终止 SSL,并且负载平衡器与应用程序节点之间的通信是*安全*的 - -### Application nodes terminate SSL[](#application-nodes-terminate-ssl "Permalink") - -将您的负载均衡器配置为以" TCP"而不是" HTTP(S)"协议的形式在端口 443 上传递连接. 这会将连接保持不变地传递到应用程序节点 NGINX 服务. NGINX 将具有 SSL 证书并在端口 443 上侦听. - -有关管理 SSL 证书和配置 NGINX 的详细信息,请参见[NGINX HTTPS 文档](https://docs.gitlab.com/omnibus/settings/nginx.html) . - -### Load Balancer(s) terminate SSL without backend SSL[](#load-balancers-terminate-ssl-without-backend-ssl "Permalink") - -将您的负载均衡器配置为使用" HTTP(S)"协议而不是" TCP". 然后,负载均衡器将负责管理 SSL 证书和终止 SSL. - -由于负载均衡器和 GitLab 之间的通信将不安全,因此需要一些其他配置. 有关详细信息,请参见[NGINX 代理的 SSL 文档](https://docs.gitlab.com/omnibus/settings/nginx.html) . - -### Load Balancer(s) terminate SSL with backend SSL[](#load-balancers-terminate-ssl-with-backend-ssl "Permalink") - -将您的负载均衡器配置为使用" HTTP(S)"协议而不是" TCP". 负载平衡器将负责管理最终用户将看到的 SSL 证书. - -在这种情况下,负载均衡器和 NGINX 之间的流量也将是安全的. 无需为代理 SSL 添加配置,因为连接将一直保持安全. 但是,需要将配置添加到 GitLab 来配置 SSL 证书. 有关管理 SSL 证书和配置 NGINX 的详细信息,请参见[NGINX HTTPS 文档](https://docs.gitlab.com/omnibus/settings/nginx.html) . - -## Ports[](#ports "Permalink") - -### Basic ports[](#basic-ports "Permalink") - -| LB 端口 | 后端端口 | Protocol | -| --- | --- | --- | -| 80 | 80 | HTTP( *1* ) | -| 443 | 443 | TCP 或 HTTPS( *1* )( *2* ) | -| 22 | 22 | TCP | - -* ( *1* ): [Web 终端](../../ci/environments/index.html#web-terminals)支持要求您的负载平衡器正确处理 WebSocket 连接. 当使用 HTTP 或 HTTPS 代理,这意味着负载平衡器必须被配置为通过`Connection`和`Upgrade`逐跳头. 有关更多详细信息,请参见[Web 终端](../integration/terminal.html)集成指南. -* ( *2* ):当对端口 443 使用 HTTPS 协议时,需要向负载均衡器添加 SSL 证书. 如果您想在 GitLab 应用程序服务器上终止 SSL,请使用 TCP 协议. - -### GitLab Pages Ports[](#gitlab-pages-ports "Permalink") - -如果您使用具有自定义域支持的 GitLab 页面,则将需要一些其他端口配置. GitLab 页面需要一个单独的虚拟 IP 地址. 配置 DNS,将`pages_external_url`的`/etc/gitlab/gitlab.rb`指向新的虚拟 IP 地址. 有关更多信息,请参见[GitLab 页面文档](../pages/index.html) . - -| LB 端口 | 后端端口 | Protocol | -| --- | --- | --- | -| 80 | 变化( *1* ) | HTTP | -| 443 | 变化( *1* ) | TCP( *2* ) | - -* ( *1* ):GitLab 页面的后端端口取决于`gitlab_pages['external_http']`和`gitlab_pages['external_https']`设置. 有关更多详细信息,请参见[GitLab Pages 文档](../pages/index.html) . -* ( *2* ):GitLab 页面的端口 443 应该始终使用 TCP 协议. 用户可以使用自定义 SSL 配置自定义域,如果 SSL 在负载均衡器处终止,则不可能. - -### Alternate SSH Port[](#alternate-ssh-port "Permalink") - -某些组织有禁止打开 SSH 端口 22 的策略.在这种情况下,配置允许用户在端口 443 上使用 SSH 的备用 SSH 主机名可能会有所帮助.与其他 GitLab 相比,备用 SSH 主机名将需要一个新的虚拟 IP 地址.上面的 HTTP 配置. - -为备用 SSH 主机名(例如`altssh.gitlab.example.com`配置 DNS. - -| LB 端口 | 后端端口 | Protocol | -| --- | --- | --- | -| 443 | 22 | TCP | - -## Readiness check[](#readiness-check "Permalink") - -强烈建议多节点部署将负载平衡器配置为利用[就绪检查,](../../user/admin_area/monitoring/health_check.html#readiness)以确保在将流量路由到节点之前准备好接受流量. 在使用 Puma 时,这一点尤其重要,因为在重新启动过程中会有短暂的一段时间,Puma 将不接受请求. - -* * * - -阅读更多有关高可用性配置的信息: - -1. [Configure the database](../postgresql/replication_and_failover.html) -2. [Configure Redis](redis.html) -3. [Configure NFS](nfs.html) -4. [Configure the GitLab application servers](gitlab.html) \ No newline at end of file diff --git a/docs/433.md b/docs/433.md deleted file mode 100644 index 267d104..0000000 --- a/docs/433.md +++ /dev/null @@ -1,86 +0,0 @@ -# Configuring a Monitoring node for Scaling and High Availability - -> 原文:[https://docs.gitlab.com/ee/administration/high_availability/monitoring_node.html](https://docs.gitlab.com/ee/administration/high_availability/monitoring_node.html) - -* [Standalone Monitoring node using Omnibus GitLab](#standalone-monitoring-node-using-omnibus-gitlab) -* [Migrating to Service Discovery](#migrating-to-service-discovery) - -# Configuring a Monitoring node for Scaling and High Availability[](#configuring-a-monitoring-node-for-scaling-and-high-availability "Permalink") - -在 GitLab 12.0 中[引入](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/3786) . - -您可以配置 Prometheus 节点以监视 GitLab. - -## Standalone Monitoring node using Omnibus GitLab[](#standalone-monitoring-node-using-omnibus-gitlab "Permalink") - -Omnibus GitLab 软件包可用于配置运行[Prometheus](../monitoring/prometheus/index.html)和[Grafana](../monitoring/performance/grafana_configuration.html)的独立 Monitoring 节点. 监视节点不是高度可用. 请参阅[缩放和高可用性](../reference_architectures/index.html)的 GitLab 扩展和高可用性选项的概述. - -以下步骤是使用 Omnibus 配置运行 Prometheus 和 Grafana 的 Monitoring 节点的最低必需步骤: - -1. SSH 进入"监视"节点. -2. 从 GitLab 下载页面使用**步骤 1 和 2** [下载/安装](https://about.gitlab.com/install/)所需的 Omnibus GitLab 软件包. - * 不要完成下载页面上的任何其他步骤. -3. [`CONSUL_SERVER_NODES`](../postgresql/replication_and_failover.html#consul-information) ,请确保收集[`CONSUL_SERVER_NODES`](../postgresql/replication_and_failover.html#consul-information) ,它们是 Consul 服务器节点的 IP 地址或 DNS 记录. 请注意,它们显示为`YYYY consul1.gitlab.example.com ZZZZ` - -4. 编辑`/etc/gitlab/gitlab.rb`并添加内容: - - ``` - external_url 'http://gitlab.example.com' - - # Enable Prometheus - prometheus['enable'] = true - prometheus['listen_address'] = '0.0.0.0:9090' - prometheus['monitor_kubernetes'] = false - - # Enable Login form - grafana['disable_login_form'] = false - - # Enable Grafana - grafana['enable'] = true - grafana['admin_password'] = 'toomanysecrets' - - # Enable service discovery for Prometheus - consul['enable'] = true - consul['monitoring_service_discovery'] = true - - # Replace placeholders - # Y.Y.Y.Y consul1.gitlab.example.com Z.Z.Z.Z - # with the addresses of the Consul server nodes - consul['configuration'] = { - retry_join: %w(Y.Y.Y.Y consul1.gitlab.example.com Z.Z.Z.Z), - } - - # Disable all other services - gitlab_rails['auto_migrate'] = false - alertmanager['enable'] = false - gitaly['enable'] = false - gitlab_exporter['enable'] = false - gitlab_workhorse['enable'] = false - nginx['enable'] = true - postgres_exporter['enable'] = false - postgresql['enable'] = false - redis['enable'] = false - redis_exporter['enable'] = false - sidekiq['enable'] = false - puma['enable'] = false - node_exporter['enable'] = false - gitlab_exporter['enable'] = false - ``` - -5. 运行`sudo gitlab-ctl reconfigure`来编译配置. - -下一步是告诉所有其他节点监视节点在哪里: - -1. 编辑`/etc/gitlab/gitlab.rb` ,然后添加或查找并取消注释以下行: - - ``` - gitlab_rails['prometheus_address'] = '10.0.0.1:9090' - ``` - - 其中`10.0.0.1:9090`是 Prometheus 节点的 IP 地址和端口. - -2. 保存文件并[重新配置 GitLab,](../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -## Migrating to Service Discovery[](#migrating-to-service-discovery "Permalink") - -使用`consul['monitoring_service_discovery'] = true`启用使用服务发现进行`consul['monitoring_service_discovery'] = true` ,请确保未在`/etc/gitlab/gitlab.rb`设置`prometheus['scrape_configs']` . 在`/etc/gitlab/gitlab.rb`同时设置`consul['monitoring_service_discovery'] = true`和`prometheus['scrape_configs']`都会导致错误. \ No newline at end of file diff --git a/docs/434.md b/docs/434.md deleted file mode 100644 index b134a5f..0000000 --- a/docs/434.md +++ /dev/null @@ -1,237 +0,0 @@ -# NFS - -> 原文:[https://docs.gitlab.com/ee/administration/high_availability/nfs.html](https://docs.gitlab.com/ee/administration/high_availability/nfs.html) - -* [Known kernel version incompatibilities](#known-kernel-version-incompatibilities) -* [NFS Server features](#nfs-server-features) - * [Required features](#required-features) - * [Recommended options](#recommended-options) - * [Disable NFS server delegation](#disable-nfs-server-delegation) - * [Important notes](#important-notes) - * [Improving NFS performance with GitLab](#improving-nfs-performance-with-gitlab) - * [Improving NFS performance with Unicorn](#improving-nfs-performance-with-unicorn) - * [Improving NFS performance with Puma](#improving-nfs-performance-with-puma) - * [Known issues](#known-issues) - * [Avoid using AWS’s Elastic File System (EFS)](#avoid-using-awss-elastic-file-system-efs) - * [Avoid using CephFS and GlusterFS](#avoid-using-cephfs-and-glusterfs) - * [Avoid using PostgreSQL with NFS](#avoid-using-postgresql-with-nfs) -* [NFS Client mount options](#nfs-client-mount-options) - * [soft mount option](#soft-mount-option) -* [A single NFS mount](#a-single-nfs-mount) -* [Bind mounts](#bind-mounts) -* [Multiple NFS mounts](#multiple-nfs-mounts) - -# NFS[](#nfs "Permalink") - -您可以通过运行`nfsstat -m`和`cat /etc/fstab`来查看每个已安装的 NFS 文件系统的信息和选项集. - -**注意:**从 GitLab 13.0 开始,不建议将 NFS 用于 Git 存储库. 在 GitLab 14.0 中,计划删除对 Nit for Git 存储库的支持. 尽快升级到[Gitaly Cluster](../gitaly/praefect.html) .**注意:**文件系统的性能对整体 GitLab 的性能有很大的影响,特别是对于读取或写入 Git 存储库的操作. 有关测试文件系统性能的步骤,请参见[文件系统性能基准](../operations/filesystem_benchmarking.html)测试. - -## Known kernel version incompatibilities[](#known-kernel-version-incompatibilities "Permalink") - -RedHat Enterprise Linux(RHEL)和 CentOS v7.7 和 v7.8 附带了内核版本`3.10.0-1127` ,该版本[包含一个错误](https://bugzilla.redhat.com/show_bug.cgi?id=1783554) , [该错误](https://bugzilla.redhat.com/show_bug.cgi?id=1783554)会导致[上传无法通过 NFS 复制](https://gitlab.com/gitlab-org/gitlab/-/issues/218999) . 以下 GitLab 版本包含一个可与该内核版本一起正常使用的修复程序: - -1. [12.10.12](https://about.gitlab.com/releases/2020/06/25/gitlab-12-10-12-released/) -2. [13.0.7](https://about.gitlab.com/releases/2020/06/25/gitlab-13-0-7-released/) -3. [13.1.1](https://about.gitlab.com/releases/2020/06/24/gitlab-13-1-1-released/) -4. 13.2 以上 - -如果使用的是该内核版本,请确保升级 GitLab 以避免错误. - -## NFS Server features[](#nfs-server-features "Permalink") - -### Required features[](#required-features "Permalink") - -**文件锁定** :GitLab **需要**咨询性文件锁定,只有 NFS 版本 4 才支持该功能.只要使用 Linux Kernel 2.6.5 +,NFSv3 还支持锁定. 我们建议使用版本 4,并且不要专门测试 NFSv3. - -### Recommended options[](#recommended-options "Permalink") - -定义 NFS 导出时,建议您还添加以下选项: - -* `no_root_squash` -NFS 通常将`root`用户更改为`nobody` . 当许多不同的用户将访问 NFS 共享时,这是一个很好的安全措施. 但是,在这种情况下,只有 GitLab 会使用 NFS 共享,因此很安全. GitLab 建议使用`no_root_squash`设置,因为我们需要自动管理文件权限. 如果没有该设置,则当 Omnibus 软件包尝试更改权限时,您可能会收到错误消息. 请注意,GitLab 和其他捆绑组件**不是**以`root`用户身份运行,而是以非特权用户身份运行. 对于`no_root_squash`的建议是允许 Omnibus 软件包根据需要设置文件的所有权和权限. 在`no_root_squash`选项不可用的某些情况下, `root`标志可以实现相同的结果. -* `sync`强制同步行为. 默认值是异步的,在某些情况下,如果在同步数据之前发生故障,则可能导致数据丢失. - -由于使用 LDAP 运行 Omnibus 的复杂性和不使用 LDAP 维护 ID 映射的复杂性,在大多数情况下,应启用数字 UID 和 GID(在某些情况下默认情况下处于禁用状态),以简化系统之间的权限管理: - -* [NetApp instructions](https://library.netapp.com/ecmdocs/ECMP1401220/html/GUID-24367A9F-E17B-4725-ADC1-02D86F56F78E.html) -* 对于非 NetApp 设备,请执行与[启用 NFSv4 idmapper](https://wiki.archlinux.org/index.php/NFS#Enabling_NFSv4_idmapping)相反的`idmapping`来禁用[NFSv4 idmapping](https://wiki.archlinux.org/index.php/NFS#Enabling_NFSv4_idmapping) - -### Disable NFS server delegation[](#disable-nfs-server-delegation "Permalink") - -我们建议所有 NFS 用户禁用 NFS 服务器委派功能. 这是为了避免[Linux 内核错误](https://bugzilla.redhat.com/show_bug.cgi?id=1552203) ,该[错误](https://bugzilla.redhat.com/show_bug.cgi?id=1552203)会由于[来自大量`TEST_STATEID` NFS 消息的过多网络流量](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/52017)而导致 NFS 客户端急剧减速. - -要禁用 NFS 服务器委派,请执行以下操作: - -1. 在 NFS 服务器上,运行: - - ``` - echo 0 > /proc/sys/fs/leases-enable - sysctl -w fs.leases-enable=0 - ``` - -2. 重新启动 NFS 服务器进程. 例如,在 CentOS 上运行`service nfs restart` . - -#### Important notes[](#important-notes "Permalink") - -[此提交](https://github.com/torvalds/linux/commit/95da1b3a5aded124dd1bda1e3cdb876184813140)可能会在[较新的内核中](https://github.com/torvalds/linux/commit/95da1b3a5aded124dd1bda1e3cdb876184813140)修复内核错误. - -Red Hat Enterprise 7 于 2019 年 8 月 6 日[发布了内核更新](https://access.redhat.com/errata/RHSA-2019:2029) , [该更新](https://access.redhat.com/errata/RHSA-2019:2029)也可能已解决了该问题. - -如果您知道使用的是已修复的 Linux 内核版本,则可能不需要禁用 NFS 服务器委派. 也就是说,GitLab 仍然鼓励实例管理员保持 NFS 服务器委派禁用. - -### Improving NFS performance with GitLab[](#improving-nfs-performance-with-gitlab "Permalink") - -#### Improving NFS performance with Unicorn[](#improving-nfs-performance-with-unicorn "Permalink") - -**注意:**从 GitLab 12.1 开始,如果可以并且应该为每个存储使用 Rugged,它将自动检测到它. - -如果先前使用功能标记启用了 Rugged,则需要使用以下方法取消设置功能标记: - -``` -sudo gitlab-rake gitlab:features:unset_rugged -``` - -如果将 Rugged 功能标志显式设置为 true 或 false,则 GitLab 将使用显式设置的值. - -#### Improving NFS performance with Puma[](#improving-nfs-performance-with-puma "Permalink") - -**注意:**从 GitLab 12.7 开始,如果 Puma 线程数大于 1,则将禁用 Rugged 自动检测. - -如果要将 Rugged 与 Puma 一起使用,建议[将 Puma 线程数设置为 1](https://docs.gitlab.com/omnibus/settings/puma.html) . - -如果您想使用 Rugged 且 Puma 线程数大于 1,则可以使用[功能标志](../../development/gitaly.html#legacy-rugged-code)启用 Rugged - -如果将 Rugged 功能标志显式设置为 true 或 false,则 GitLab 将使用显式设置的值. - -### Known issues[](#known-issues "Permalink") - -#### Avoid using AWS’s Elastic File System (EFS)[](#avoid-using-awss-elastic-file-system-efs "Permalink") - -GitLab 强烈建议您不要使用 AWS Elastic File System(EFS). 我们的支持团队将无法协助解决与文件系统访问相关的性能问题. - -客户和用户报告说,AWS EFS 在 GitLab 的用例中表现不佳. 以串行化方式写入许多小文件的工作负载(例如`git` )不适合 EFS. 顶部带有 NFS 服务器的 EBS 的性能会好得多. - -如果确实选择使用 EFS,请避免在其中存储 GitLab 日志文件(例如`/var/log/gitlab` ),因为这也会影响性能. 我们建议将日志文件存储在本地卷上. - -有关其他人使用 EFS 的经验的更多详细信息,请参阅此[Commit Brooklyn 2019 视频](https://youtu.be/K6OS8WodRBQ?t=313) . - -#### Avoid using CephFS and GlusterFS[](#avoid-using-cephfs-and-glusterfs "Permalink") - -GitLab 强烈建议不要使用 CephFS 和 GlusterFS. 这些分布式文件系统不适用于 GitLab 的输入/输出访问模式,因为 Git 使用许多小文件,并且传播的访问时间和文件锁定时间会使 Git 活动非常缓慢. - -#### Avoid using PostgreSQL with NFS[](#avoid-using-postgresql-with-nfs "Permalink") - -GitLab 强烈建议不要跨 NFS 运行 PostgreSQL 数据库. GitLab 支持团队将无法协助解决与该配置有关的性能问题. - -此外,该配置在[PostgreSQL 文档中](https://s0www0postgresql0org.icopy.site/docs/current/creating-cluster.html)特别警告: - -> PostgreSQL does nothing special for NFS file systems, meaning it assumes NFS behaves exactly like locally-connected drives. If the client or server NFS implementation does not provide standard file system semantics, this can cause reliability problems. Specifically, delayed (asynchronous) writes to the NFS server can cause data corruption problems. - -有关受支持的数据库体系结构,请参阅有关[为 GitLab HA 配置数据库的](../postgresql/replication_and_failover.html)文档. - -## NFS Client mount options[](#nfs-client-mount-options "Permalink") - -这是添加到`/etc/fstab`的示例片段: - -``` - 10.1.0.1:/var/opt/gitlab/.ssh /var/opt/gitlab/.ssh nfs4 defaults,vers=4.1,hard,rsize=1048576,wsize=1048576,noatime,nofail,lookupcache=positive 0 2 - 10.1.0.1:/var/opt/gitlab/gitlab-rails/uploads /var/opt/gitlab/gitlab-rails/uploads nfs4 defaults,vers=4.1,hard,rsize=1048576,wsize=1048576,noatime,nofail,lookupcache=positive 0 2 - 10.1.0.1:/var/opt/gitlab/gitlab-rails/shared /var/opt/gitlab/gitlab-rails/shared nfs4 defaults,vers=4.1,hard,rsize=1048576,wsize=1048576,noatime,nofail,lookupcache=positive 0 2 - 10.1.0.1:/var/opt/gitlab/gitlab-ci/builds /var/opt/gitlab/gitlab-ci/builds nfs4 defaults,vers=4.1,hard,rsize=1048576,wsize=1048576,noatime,nofail,lookupcache=positive 0 2 - 10.1.0.1:/var/opt/gitlab/git-data /var/opt/gitlab/git-data nfs4 defaults,vers=4.1,hard,rsize=1048576,wsize=1048576,noatime,nofail,lookupcache=positive 0 2 -``` - -请注意,您应该考虑使用几个选项: - -| Setting | Description | -| --- | --- | -| `vers=4.1` | 应该使用 NFS v4.1 代替 v4.0,因为 v4.0 中存在一个 Linux [NFS 客户端错误,](https://gitlab.com/gitlab-org/gitaly/-/issues/1339)由于过时的数据可能导致严重的问题. | -| `nofail` | 不要停止启动过程,等待此挂载可用 | -| `lookupcache=positive` | Tells the NFS client to honor `positive` cache results but invalidates any `negative` cache results. Negative cache results cause problems with Git. Specifically, a `git push` can fail to register uniformly across all NFS clients. The negative cache causes the clients to ‘remember’ that the files did not exist previously. | -| `hard` | 而不是`soft` . [进一步的细节](#soft-mount-option) . | - -### soft mount option[](#soft-mount-option "Permalink") - -我们建议您在安装选项中使用`hard` ,除非您出于特殊原因使用`soft` . - -在 GitLab.com,我们使用`soft` ,因为有些时候我们不得不 NFS 服务器重新启动和`soft`改进的可用性,但每个人的基础不同. 例如,如果您的 NFS 由带有冗余控制器的本地存储阵列提供,则无需担心 NFS 服务器的可用性. - -NFS 手册页指出: - -> 在某些情况下,"软"超时可能会导致无提示数据损坏 - -阅读[Linux 手册页](https://linux.die.net/man/5/nfs)以了解它们之间的区别,如果您确实使用`soft` ,请确保已采取步骤减轻风险. - -如果您遇到的问题可能是由于未发生对 NFS 服务器的磁盘写入而导致的,例如丢失了提交,请使用`hard`选项,因为(在手册页中): - -> 仅当客户端响应能力比数据完整性更重要时才使用 soft 选项 - -其他供应商也提出了类似的建议,包括[SAP](http://wiki.scn.sap.com/wiki/x/PARnFQ)和 NetApp 的[知识库](https://kb.netapp.com/Advice_and_Troubleshooting/Data_Storage_Software/ONTAP_OS/What_are_the_differences_between_hard_mount_and_soft_mount) ,他们强调说,如果 NFS 客户端驱动程序缓存数据,则`soft`意味着无法确定 GitLab 的写操作是否确实在磁盘上. - -使用`hard`选项设置的安装点可能无法正常运行,并且如果 NFS 服务器关闭,则`hard`会导致与安装点进行交互时挂起进程. 使用`SIGKILL` ( `kill -9` )处理挂起的进程. `intr`选项[在 2.6 内核中停止工作](https://access.redhat.com/solutions/157873) . - -## A single NFS mount[](#a-single-nfs-mount "Permalink") - -建议将所有 GitLab 数据目录嵌套在一个装载中,这样可以自动还原备份而无需手动移动现有数据. - -``` -mountpoint -└── gitlab-data - ├── builds - ├── git-data - ├── shared - └── uploads -``` - -为此,我们需要使用嵌套在安装点中的每个目录的路径来配置 Omnibus,如下所示: - -然后挂载`/gitlab-nfs`使用以下 Omnibus 配置将每个数据位置移动到子目录: - -``` -git_data_dirs({"default" => { "path" => "/gitlab-nfs/gitlab-data/git-data"} }) -gitlab_rails['uploads_directory'] = '/gitlab-nfs/gitlab-data/uploads' -gitlab_rails['shared_path'] = '/gitlab-nfs/gitlab-data/shared' -gitlab_ci['builds_directory'] = '/gitlab-nfs/gitlab-data/builds' -``` - -运行`sudo gitlab-ctl reconfigure`以开始使用中心位置. 请注意,如果您已有数据,则需要手动将其复制/同步到这些新位置,然后重新启动 GitLab. - -## Bind mounts[](#bind-mounts "Permalink") - -除了更改 Omnibus 中的配置外,绑定挂载还可用于将数据存储在 NFS 挂载上. - -绑定挂载提供一种仅指定一个 NFS 挂载,然后将默认的 GitLab 数据位置绑定到 NFS 挂载的方法. 首先定义您的单个 NFS 挂载点,就像通常在`/etc/fstab` . 假设您的 NFS 挂载点是`/gitlab-nfs` . 然后,在`/etc/fstab`添加以下绑定安装: - -``` -/gitlab-nfs/gitlab-data/git-data /var/opt/gitlab/git-data none bind 0 0 -/gitlab-nfs/gitlab-data/.ssh /var/opt/gitlab/.ssh none bind 0 0 -/gitlab-nfs/gitlab-data/uploads /var/opt/gitlab/gitlab-rails/uploads none bind 0 0 -/gitlab-nfs/gitlab-data/shared /var/opt/gitlab/gitlab-rails/shared none bind 0 0 -/gitlab-nfs/gitlab-data/builds /var/opt/gitlab/gitlab-ci/builds none bind 0 0 -``` - -使用绑定安装将需要手动确保数据目录为空,然后再尝试还原. 阅读有关[还原先决条件的](../../raketasks/backup_restore.html)更多信息. - -## Multiple NFS mounts[](#multiple-nfs-mounts "Permalink") - -使用默认的 Omnibus 配置时,您将需要在所有 GitLab 群集节点之间共享 4 个数据位置. 没有其他位置可以共享. 以下是需要共享的四个位置: - -| Location | Description | 默认配置 | -| --- | --- | --- | -| `/var/opt/gitlab/git-data` | Git 存储库数据. 这将占您数据的很大一部分 | `git_data_dirs({"default" => { "path" => "/var/opt/gitlab/git-data"} })` | -| `/var/opt/gitlab/gitlab-rails/uploads` | 用户上传的附件 | `gitlab_rails['uploads_directory'] = '/var/opt/gitlab/gitlab-rails/uploads'` | -| `/var/opt/gitlab/gitlab-rails/shared` | Build artifacts, GitLab Pages, LFS objects, temp files, etc. If you’re using LFS this may also account for a large portion of your data | `gitlab_rails['shared_path'] = '/var/opt/gitlab/gitlab-rails/shared'` | -| `/var/opt/gitlab/gitlab-ci/builds` | GitLab CI / CD 构建跟踪 | `gitlab_ci['builds_directory'] = '/var/opt/gitlab/gitlab-ci/builds'` | - -其他 GitLab 目录不应在节点之间共享. 它们包含特定于节点的文件和不需要共享的 GitLab 代码. 要将日志发送到中央位置,请考虑使用远程 syslog. Omnibus GitLab 软件包提供了[UDP 日志传送的](https://docs.gitlab.com/omnibus/settings/logs.html)配置. - -具有多个 NFS 挂载将需要手动确保数据目录为空,然后再尝试还原. 阅读有关[还原先决条件的](../../raketasks/backup_restore.html)更多信息. - -* * * - -阅读更多有关高可用性配置的信息: - -1. [Configure the database](../postgresql/replication_and_failover.html) -2. [Configure Redis](redis.html) -3. [Configure the GitLab application servers](gitlab.html) -4. [Configure the load balancers](load_balancer.html) \ No newline at end of file diff --git a/docs/435.md b/docs/435.md deleted file mode 100644 index a6c53aa..0000000 --- a/docs/435.md +++ /dev/null @@ -1,176 +0,0 @@ -# Working with the bundled PgBouncer service - -> 原文:[https://docs.gitlab.com/ee/administration/high_availability/pgbouncer.html](https://docs.gitlab.com/ee/administration/high_availability/pgbouncer.html) - -* [Operations](#operations) - * [Running PgBouncer as part of an HA GitLab installation](#running-pgbouncer-as-part-of-an-ha-gitlab-installation) - * [Running PgBouncer as part of a non-HA GitLab installation](#running-pgbouncer-as-part-of-a-non-ha-gitlab-installation) -* [Enable Monitoring](#enable-monitoring) - * [Interacting with PgBouncer](#interacting-with-pgbouncer) - * [Administrative console](#administrative-console) -* [Troubleshooting](#troubleshooting) - * [Message: `LOG: invalid CIDR mask in address`](#message-log--invalid-cidr-mask-in-address) - * [Message: `LOG: invalid IP mask "md5": Name or service not known`](#message-log--invalid-ip-mask-md5-name-or-service-not-known) - -# Working with the bundled PgBouncer service[](#working-with-the-bundled-pgbouncer-service-premium-only "Permalink") - -由于它的高可用性堆栈的一部分,GitLab Premium 包含的捆绑版本[PgBouncer](http://www.pgbouncer.org/)可以通过管理`/etc/gitlab/gitlab.rb` . PgBouncer 用于在故障转移方案中在服务器之间无缝迁移数据库连接. 此外,它可以用于非 HA 设置中以建立连接池,从而加快响​​应时间,同时减少资源使用. - -在高可用性设置中,建议为每个数据库节点分别运行一个 PgBouncer 节点,并使用一个内部负载均衡器(TCP)相应地为其服务. - -## Operations[](#operations "Permalink") - -### Running PgBouncer as part of an HA GitLab installation[](#running-pgbouncer-as-part-of-an-ha-gitlab-installation "Permalink") - -该内容已移至[新位置](../postgresql/replication_and_failover.html#configuring-the-pgbouncer-node) . - -### Running PgBouncer as part of a non-HA GitLab installation[](#running-pgbouncer-as-part-of-a-non-ha-gitlab-installation "Permalink") - -1. 使用命令`gitlab-ctl pg-password-md5 pgbouncer`生成 PGBOUNCER_USER_PASSWORD_HASH - -2. 使用命令`gitlab-ctl pg-password-md5 gitlab` . 稍后我们还需要输入纯文本 SQL_USER_PASSWORD - -3. 在数据库节点上,确保在`/etc/gitlab/gitlab.rb`设置了以下`/etc/gitlab/gitlab.rb` - - ``` - postgresql['pgbouncer_user_password'] = 'PGBOUNCER_USER_PASSWORD_HASH' - postgresql['sql_user_password'] = 'SQL_USER_PASSWORD_HASH' - postgresql['listen_address'] = 'XX.XX.XX.Y' # Where XX.XX.XX.Y is the ip address on the node postgresql should listen on - postgresql['md5_auth_cidr_addresses'] = %w(AA.AA.AA.B/32) # Where AA.AA.AA.B is the IP address of the pgbouncer node - ``` - -4. Run `gitlab-ctl reconfigure` - - **注意:**如果数据库已经在运行,则需要在重新配置后通过运行`gitlab-ctl restart postgresql`来重新启动数据库. - -5. 在运行 PgBouncer 的节点上,确保在`/etc/gitlab/gitlab.rb`设置了以下`/etc/gitlab/gitlab.rb` - - ``` - pgbouncer['enable'] = true - pgbouncer['databases'] = { - gitlabhq_production: { - host: 'DATABASE_HOST', - user: 'pgbouncer', - password: 'PGBOUNCER_USER_PASSWORD_HASH' - } - } - ``` - -6. Run `gitlab-ctl reconfigure` - -7. 在运行 Puma 的节点上,确保在`/etc/gitlab/gitlab.rb`设置了以下`/etc/gitlab/gitlab.rb` - - ``` - gitlab_rails['db_host'] = 'PGBOUNCER_HOST' - gitlab_rails['db_port'] = '6432' - gitlab_rails['db_password'] = 'SQL_USER_PASSWORD' - ``` - -8. Run `gitlab-ctl reconfigure` - -9. 此时,您的实例应通过 PgBouncer 连接到数据库. 如果遇到问题,请参阅" [故障排除"](#troubleshooting)部分 - -## Enable Monitoring[](#enable-monitoring "Permalink") - -在 GitLab 12.0 中[引入](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/3786) . - -If you enable Monitoring, it must be enabled on **all** PgBouncer servers. - -1. 创建/编辑`/etc/gitlab/gitlab.rb`并添加以下配置: - - ``` - # Enable service discovery for Prometheus - consul['enable'] = true - consul['monitoring_service_discovery'] = true - - # Replace placeholders - # Y.Y.Y.Y consul1.gitlab.example.com Z.Z.Z.Z - # with the addresses of the Consul server nodes - consul['configuration'] = { - retry_join: %w(Y.Y.Y.Y consul1.gitlab.example.com Z.Z.Z.Z), - } - - # Set the network addresses that the exporters will listen on - node_exporter['listen_address'] = '0.0.0.0:9100' - pgbouncer_exporter['listen_address'] = '0.0.0.0:9188' - ``` - -2. 运行`sudo gitlab-ctl reconfigure`来编译配置. - -### Interacting with PgBouncer[](#interacting-with-pgbouncer "Permalink") - -#### Administrative console[](#administrative-console "Permalink") - -作为 Omnibus GitLab 的一部分,我们提供了一个`gitlab-ctl pgb-console`命令,以自动连接到 PgBouncer 管理控制台. 请参阅[PgBouncer 文档](https://www.pgbouncer.org/usage.html#admin-console)以获取有关如何与控制台进行交互的详细说明. - -要开始会话,请运行 - -``` -# gitlab-ctl pgb-console -Password for user pgbouncer: -psql (11.7, server 1.7.2/bouncer) -Type "help" for help. - -pgbouncer=# -``` - -将提示您输入的密码是 PGBOUNCER_USER_PASSWORD - -要获取有关实例的一些基本信息,请运行 - -``` -pgbouncer=# show databases; show clients; show servers; - name | host | port | database | force_user | pool_size | reserve_pool | pool_mode | max_connections | current_connections ----------------------+-----------+------+---------------------+------------+-----------+--------------+-----------+-----------------+--------------------- - gitlabhq_production | 127.0.0.1 | 5432 | gitlabhq_production | | 100 | 5 | | 0 | 1 - pgbouncer | | 6432 | pgbouncer | pgbouncer | 2 | 0 | statement | 0 | 0 -(2 rows) - - type | user | database | state | addr | port | local_addr | local_port | connect_time | request_time | ptr | link -| remote_pid | tls -------+-----------+---------------------+--------+-----------+-------+------------+------------+---------------------+---------------------+-----------+------ -+------------+----- - C | gitlab | gitlabhq_production | active | 127.0.0.1 | 44590 | 127.0.0.1 | 6432 | 2018-04-24 22:13:10 | 2018-04-24 22:17:10 | 0x12444c0 | -| 0 | - C | gitlab | gitlabhq_production | active | 127.0.0.1 | 44592 | 127.0.0.1 | 6432 | 2018-04-24 22:13:10 | 2018-04-24 22:17:10 | 0x12447c0 | -| 0 | - C | gitlab | gitlabhq_production | active | 127.0.0.1 | 44594 | 127.0.0.1 | 6432 | 2018-04-24 22:13:10 | 2018-04-24 22:17:10 | 0x1244940 | -| 0 | - C | gitlab | gitlabhq_production | active | 127.0.0.1 | 44706 | 127.0.0.1 | 6432 | 2018-04-24 22:14:22 | 2018-04-24 22:16:31 | 0x1244ac0 | -| 0 | - C | gitlab | gitlabhq_production | active | 127.0.0.1 | 44708 | 127.0.0.1 | 6432 | 2018-04-24 22:14:22 | 2018-04-24 22:15:15 | 0x1244c40 | -| 0 | - C | gitlab | gitlabhq_production | active | 127.0.0.1 | 44794 | 127.0.0.1 | 6432 | 2018-04-24 22:15:15 | 2018-04-24 22:15:15 | 0x1244dc0 | -| 0 | - C | gitlab | gitlabhq_production | active | 127.0.0.1 | 44798 | 127.0.0.1 | 6432 | 2018-04-24 22:15:15 | 2018-04-24 22:16:31 | 0x1244f40 | -| 0 | - C | pgbouncer | pgbouncer | active | 127.0.0.1 | 44660 | 127.0.0.1 | 6432 | 2018-04-24 22:13:51 | 2018-04-24 22:17:12 | 0x1244640 | -| 0 | -(8 rows) - - type | user | database | state | addr | port | local_addr | local_port | connect_time | request_time | ptr | link | rem -ote_pid | tls -------+--------+---------------------+-------+-----------+------+------------+------------+---------------------+---------------------+-----------+------+---- ---------+----- - S | gitlab | gitlabhq_production | idle | 127.0.0.1 | 5432 | 127.0.0.1 | 35646 | 2018-04-24 22:15:15 | 2018-04-24 22:17:10 | 0x124dca0 | | - 19980 | -(1 row) -``` - -## Troubleshooting[](#troubleshooting "Permalink") - -如果您遇到通过 PgBouncer 连接的任何问题,则首先检查的始终是日志: - -``` -# gitlab-ctl tail pgbouncer -``` - -另外,您可以在[管理控制台中](#administrative-console)检查`show databases`的输出. 在输出中,您期望在`gitlabhq_production`数据库的`host`字段中看到值. 此外, `current_connections`应该大于 1. - -### Message: `LOG: invalid CIDR mask in address`[](#message-log--invalid-cidr-mask-in-address "Permalink") - -请参阅[Geo 文档中](../geo/replication/troubleshooting.html#message-log--invalid-cidr-mask-in-address)建议的修复程序. - -### Message: `LOG: invalid IP mask "md5": Name or service not known`[](#message-log--invalid-ip-mask-md5-name-or-service-not-known "Permalink") - -请参阅[Geo 文档中](../geo/replication/troubleshooting.html#message-log--invalid-ip-mask-md5-name-or-service-not-known)建议的修复程序. \ No newline at end of file diff --git a/docs/436.md b/docs/436.md deleted file mode 100644 index 6402a61..0000000 --- a/docs/436.md +++ /dev/null @@ -1,33 +0,0 @@ -# Configuring Redis for scaling - -> 原文:[https://docs.gitlab.com/ee/administration/redis/](https://docs.gitlab.com/ee/administration/redis/) - -* [Redis replication and failover using Omnibus GitLab](#redis-replication-and-failover-using-omnibus-gitlab) -* [Redis replication and failover using the non-bundled Redis](#redis-replication-and-failover-using-the-non-bundled-redis) -* [Standalone Redis using Omnibus GitLab](#standalone-redis-using-omnibus-gitlab) - -# Configuring Redis for scaling[](#configuring-redis-for-scaling "Permalink") - -根据您的基础架构设置以及如何安装 GitLab,有多种方法来配置 Redis. - -您可以选择自己安装和管理 Redis 和 Sentinel,使用托管的云解决方案,也可以使用 Omnibus GitLab 软件包随附的软件包,因此您只需要关注配置. 选择一个适合您的需求. - -## Redis replication and failover using Omnibus GitLab[](#redis-replication-and-failover-using-omnibus-gitlab "Permalink") - -此设置适用于使用[Omnibus GitLab **企业版** (EE)软件包](https://about.gitlab.com/install/?version=ee)安装 GitLab 的情况. - -Redis 和 Sentinel 都捆绑在软件包中,因此您可以使用它来设置整个 Redis 基础架构(主要,副本和哨兵). - -[> Read how to set up Redis replication and failover using Omnibus GitLab](replication_and_failover.html) - -## Redis replication and failover using the non-bundled Redis[](#redis-replication-and-failover-using-the-non-bundled-redis "Permalink") - -此设置适用于使用[Omnibus GitLab 软件包](https://about.gitlab.com/install/) (CE 或 EE)安装 GitLab 或[从源代码](../../install/installation.html)安装 GitLab 的情况,但您想使用自己的外部 Redis 和哨兵服务器. - -[> Read how to set up Redis replication and failover using the non-bundled Redis](replication_and_failover_external.html) - -## Standalone Redis using Omnibus GitLab[](#standalone-redis-using-omnibus-gitlab "Permalink") - -此设置适用于您安装了[Omnibus GitLab **社区版** (CE)软件包](https://about.gitlab.com/install/?version=ce)以使用捆绑的 Redis 的情况,因此您可以在仅启用 Redis 服务的情况下使用该软件包. - -[> Read how to set up a standalone Redis instance using Omnibus GitLab](standalone.html) \ No newline at end of file diff --git a/docs/437.md b/docs/437.md deleted file mode 100644 index 6f4b2db..0000000 --- a/docs/437.md +++ /dev/null @@ -1,188 +0,0 @@ -# Configuring Sidekiq - -> 原文:[https://docs.gitlab.com/ee/administration/high_availability/sidekiq.html](https://docs.gitlab.com/ee/administration/high_availability/sidekiq.html) - -* [Example configuration](#example-configuration) -* [Further reading](#further-reading) - -# Configuring Sidekiq[](#configuring-sidekiq "Permalink") - -本节讨论如何配置外部 Sidekiq 实例. - -Sidekiq 需要连接到 Redis,PostgreSQL 和 Gitaly 实例. 要配置 Sidekiq 节点: - -1. SSH 到 Sidekiq 服务器. - -2. 从 GitLab 下载页面使用步骤 1 和 2 [下载/安装](https://about.gitlab.com/install/)所需的 Omnibus GitLab 软件包. **不要完成下载页面上的任何其他步骤.** - -3. 使用编辑器打开`/etc/gitlab/gitlab.rb` . - -4. 生成 Sidekiq 配置: - - ``` - sidekiq['listen_address'] = "10.10.1.48" - - ## Optional: Enable extra Sidekiq processes - sidekiq_cluster['enable'] = true - sidekiq_cluster['enable'] = true - "elastic_indexer" - ] - ``` - -5. 设置 Sidekiq 与 Redis 的连接: - - ``` - ## Must be the same in every sentinel node - redis['master_name'] = 'gitlab-redis' - - ## The same password for Redis authentication you set up for the master node. - redis['master_password'] = 'YOUR_PASSOWORD' - - ## A list of sentinels with `host` and `port` - gitlab_rails['redis_sentinels'] = [ - {'host' => '10.10.1.34', 'port' => 26379}, - {'host' => '10.10.1.35', 'port' => 26379}, - {'host' => '10.10.1.36', 'port' => 26379}, - ] - ``` - -6. 设置 Sidekiq 与 Gitaly 的连接: - - ``` - git_data_dirs({ - 'default' => { 'gitaly_address' => 'tcp://gitaly:8075' }, - }) - gitlab_rails['gitaly_token'] = 'YOUR_TOKEN' - ``` - -7. 设置 Sidekiq 与 PostgreSQL 的连接: - - ``` - gitlab_rails['db_host'] = '10.10.1.30' - gitlab_rails['db_password'] = 'YOUR_PASSOWORD' - gitlab_rails['db_port'] = '5432' - gitlab_rails['db_adapter'] = 'postgresql' - gitlab_rails['db_encoding'] = 'unicode' - gitlab_rails['auto_migrate'] = false - ``` - - 请记住将 Sidekiq 节点添加到 PostgreSQL 的受信任地址中: - - ``` - postgresql['trust_auth_cidr_addresses'] = %w(127.0.0.1/32 10.10.1.30/32 10.10.1.31/32 10.10.1.32/32 10.10.1.33/32 10.10.1.38/32) - ``` - -8. 禁用其他服务: - - ``` - nginx['enable'] = false - grafana['enable'] = false - prometheus['enable'] = false - gitlab_rails['auto_migrate'] = false - alertmanager['enable'] = false - gitaly['enable'] = false - gitlab_monitor['enable'] = false - gitlab_workhorse['enable'] = false - nginx['enable'] = false - postgres_exporter['enable'] = false - postgresql['enable'] = false - redis['enable'] = false - redis_exporter['enable'] = false - puma['enable'] = false - gitlab_exporter['enable'] = false - ``` - -9. Run `gitlab-ctl reconfigure`. - -**注意:**发生更新并执行数据库迁移后,您将需要重新启动 Sidekiq 节点. - -## Example configuration[](#example-configuration "Permalink") - -这是结尾的`/etc/gitlab/gitlab.rb`样子: - -``` -######################################## -##### Services Disabled ### -######################################## - -nginx['enable'] = false -grafana['enable'] = false -prometheus['enable'] = false -gitlab_rails['auto_migrate'] = false -alertmanager['enable'] = false -gitaly['enable'] = false -gitlab_monitor['enable'] = false -gitlab_workhorse['enable'] = false -nginx['enable'] = false -postgres_exporter['enable'] = false -postgresql['enable'] = false -redis['enable'] = false -redis_exporter['enable'] = false -puma['enable'] = false -gitlab_exporter['enable'] = false - -######################################## -#### Redis ### -######################################## - -## Must be the same in every sentinel node -redis['master_name'] = 'gitlab-redis' - -## The same password for Redis authentication you set up for the master node. -redis['master_password'] = 'YOUR_PASSOWORD' - -## A list of sentinels with `host` and `port` -gitlab_rails['redis_sentinels'] = [ - {'host' => '10.10.1.34', 'port' => 26379}, - {'host' => '10.10.1.35', 'port' => 26379}, - {'host' => '10.10.1.36', 'port' => 26379}, - ] - -####################################### -### Gitaly ### -####################################### - -git_data_dirs({ - 'default' => { 'gitaly_address' => 'tcp://gitaly:8075' }, -}) -gitlab_rails['gitaly_token'] = 'YOUR_TOKEN' - -####################################### -### Postgres ### -####################################### -gitlab_rails['db_host'] = '10.10.1.30' -gitlab_rails['db_password'] = 'YOUR_PASSOWORD' -gitlab_rails['db_port'] = '5432' -gitlab_rails['db_adapter'] = 'postgresql' -gitlab_rails['db_encoding'] = 'unicode' -gitlab_rails['auto_migrate'] = false - -####################################### -### Sidekiq configuration ### -####################################### -sidekiq['listen_address'] = "10.10.1.48" - -####################################### -### Monitoring configuration ### -####################################### -consul['enable'] = true -consul['monitoring_service_discovery'] = true - -consul['configuration'] = { - bind_addr: '10.10.1.48', - retry_join: %w(10.10.1.34 10.10.1.35 10.10.1.36) -} - -# Set the network addresses that the exporters will listen on -node_exporter['listen_address'] = '10.10.1.48:9100' - -# Rails Status for prometheus -gitlab_rails['monitoring_whitelist'] = ['10.10.1.42', '127.0.0.1'] -``` - -## Further reading[](#further-reading "Permalink") - -相关的 Sidekiq 配置: - -1. [Extra Sidekiq processes](../operations/extra_sidekiq_processes.html) -2. [Using the GitLab-Sidekiq chart](https://docs.gitlab.com/charts/charts/gitlab/sidekiq/) \ No newline at end of file diff --git a/docs/438.md b/docs/438.md deleted file mode 100644 index 6190ae2..0000000 --- a/docs/438.md +++ /dev/null @@ -1,120 +0,0 @@ -# Admin Area settings - -> 原文:[https://docs.gitlab.com/ee/user/admin_area/settings/](https://docs.gitlab.com/ee/user/admin_area/settings/) - -* [General](#general) -* [Integrations](#integrations) -* [Repository](#repository) -* [Templates](#templates-premium-only) -* [CI/CD](#cicd) -* [Reporting](#reporting) -* [Metrics and profiling](#metrics-and-profiling) -* [Network](#network) -* [Geo](#geo) -* [Preferences](#preferences) - -# Admin Area settings[](#admin-area-settings-core-only "Permalink") - -作为 GitLab 自我管理实例的管理员,您可以管理部署的行为. 为此,请选择 **管理区域>设置** . - -在 GitLab.com 上无法访问管理区域,并且只能由 GitLab.com 管理员更改设置. 有关 GitLab.com 实例上的所有当前设置和限制,请参阅[GitLab.com 设置](../../gitlab_com/index.html)文档. - -## General[](#general "Permalink") - -通过导航到来访问管理区域设置的默认页面 **管理区域>设置>常规** : - -| Option | Description | -| --- | --- | -| [Visibility and access controls](visibility_and_access_controls.html) | 设置默认值并限制可见性级别. 配置导入源和 Git 访问协议. | -| [Account and limit](account_and_limit_settings.html) | 设置项目和最大大小限制,会话持续时间,用户选项,并检查名称空间计划的功能可用性. | -| [Diff limits](../diff_limits.html) | 差异含量限制. | -| [Sign-up restrictions](sign_up_restrictions.html) | 配置用户创建新帐户的方式. | -| [Sign in restrictions](sign_in_restrictions.html) | 设置用户登录要求. 启用强制性两因素身份验证. | -| [Terms of Service and Privacy Policy](terms.html) | 包括所有用户必须接受的服务条款协议和隐私政策. | -| [External Authentication](external_authorization.html#configuration) | 外部分类政策授权 | -| [Web terminal](../../../administration/integration/terminal.html#limiting-websocket-connection-time) | 设置 Web 终端的最大会话时间. | -| [Web IDE](../../project/web_ide/index.html#enabling-live-preview) | 管理 Web IDE 功能. | - -## Integrations[](#integrations "Permalink") - -| Option | Description | -| --- | --- | -| [Elasticsearch](../../../integration/elasticsearch.html#enabling-elasticsearch) | Elasticsearch 集成. Elasticsearch AWS IAM. | -| [PlantUML](../../../administration/integration/plantuml.html#gitlab) | 允许在 AsciiDoc 文档中呈现 PlantUML 图. | -| [Slack application](../../../user/project/integrations/gitlab_slack_application.html#configuration) | Slack 集成使您可以通过聊天窗口中的斜杠命令与 GitLab 进行交互. 此选项仅在 GitLab.com 上可用,尽管[将来](https://gitlab.com/gitlab-org/gitlab/-/issues/28164)可能会[用于自我管理的实例](https://gitlab.com/gitlab-org/gitlab/-/issues/28164) . | -| [Third party offers](third_party_offers.html) | 控制第三方报价的显示. | -| [Snowplow](../../../development/telemetry/snowplow.html) | 配置 Snowplow 集成. | -| [Google GKE](../../project/clusters/add_gke_clusters.html) | Google GKE 集成使您可以从 GitLab 配置 GKE 集群. | -| [Amazon EKS](../../project/clusters/add_eks_clusters.html) | Amazon EKS 集成允许您从 GitLab 预置 EKS 集群. | - -## Repository[](#repository "Permalink") - -| Option | Description | -| --- | --- | -| [Repository’s custom initial branch name](../../project/repository/branches/index.html#custom-initial-branch-name-core-only) | 为您实例中创建的所有新存储库设置一个自定义分支名称而不是 master. | -| [Repository mirror](visibility_and_access_controls.html#allow-mirrors-to-be-set-up-for-projects) | 配置存储库镜像. | -| [Repository storage](../../../administration/repository_storage_types.html) | 配置存储路径设置. | -| 仓库维护 | ( [存储库检查](../../../administration/repository_checks.html)和[内务处理](../../../administration/housekeeping.html) ). 在存储库上配置自动 Git 检查和内务处理. | -| [Repository static objects](../../../administration/static_objects_external_storage.html) | 从外部存储(例如 CDN)提供存储库静态对象(例如,归档文件,blob 等). | - -## Templates[](#templates-premium-only "Permalink") - -| Option | Description | -| --- | --- | -| [Templates](instance_template_repository.html#configuration) | 设置实例范围的模板存储库. | -| [Custom project templates](../custom_project_templates.html) | 选择自定义项目模板源组. | - -## CI/CD[](#cicd "Permalink") - -| Option | Description | -| --- | --- | -| [Continuous Integration and Deployment](continuous_integration.html) | Auto DevOps,跑步者和工作工件. | -| [Required pipeline configuration](continuous_integration.html#required-pipeline-configuration-premium-only) | 设置实例范围的自动包含[管道配置](../../../ci/yaml/README.html) . 该管道配置将在项目自己的配置之后运行. | -| [Package Registry](continuous_integration.html#package-registry-configuration-premium-only) | 与使用 GitLab 的 Package Registry 的使用和体验有关的设置. 请注意,启用其中一些设置会[涉及风险](./../../packages/container_registry/index.html#use-with-external-container-registries) . | - -## Reporting[](#reporting "Permalink") - -| Option | Description | -| --- | --- | -| [Spam and Anti-bot Protection](../../../integration/recaptcha.html) | 启用 reCAPTCHA 或 Akismet 并设置 IP 限制. 对于 reCAPTCHA,我们目前仅支持[v2](https://developers.google.com/recaptcha/docs/versions) . | -| [Abuse reports](../abuse_reports.html) | 为滥用情况报告设置通知电子邮件. | - -## Metrics and profiling[](#metrics-and-profiling "Permalink") - -| Option | Description | -| --- | --- | -| [Metrics - Prometheus](../../../administration/monitoring/prometheus/gitlab_metrics.html) | 启用和配置 Prometheus 指标. | -| [Metrics - Grafana](../../../administration/monitoring/performance/grafana_configuration.html#integration-with-gitlab-ui) | 启用并配置 Grafana. | -| [Profiling - Performance bar](../../../administration/monitoring/performance/performance_bar.html#enable-the-performance-bar-via-the-admin-panel) | 启用对给定组的性能栏的访问. | -| [Self monitoring](../../../administration/monitoring/gitlab_self_monitoring_project/index.html#creating-the-self-monitoring-project) | Enable or disable instance self monitoring. | -| [Usage statistics](usage_statistics.html) | 启用或禁用版本检查和用法 ping. | -| [Pseudonymizer data collection](../../../administration/pseudonymizer.html) | 启用或禁用 Pseudonymizer 数据收集. | - -## Network[](#network "Permalink") - -| Option | Description | -| --- | --- | -| 性能优化 | [写入" authorized_keys"文件,](../../../administration/operations/fast_ssh_key_lookup.html#setting-up-fast-lookup-via-gitlab-shell)并执行[Push 事件活动限制和批量 push 事件](push_event_activities_limit.html) . 影响 GitLab 性能的各种设置. | -| [User and IP rate limits](user_and_ip_rate_limits.html) | 配置 Web 和 API 请求的限制. | -| [Outbound requests](../../../security/webhooks.html) | 允许从挂钩和服务到本地网络的请求. | -| [Protected Paths](protected_paths.html) | 配置路径以受机架攻击保护. | -| [Incident Management](../../incident_management/index.html) Limits | 配置可以发送到项目的入站警报数量的限制. | - -## Geo[](#geo "Permalink") - -| Option | Description | -| --- | --- | -| Geo | Geo 允许您将 GitLab 实例复制到其他地理位置. 重定向到 **管理区>** **地理位置>** **设置** ,并且将不再提供 **管理区>** **设置>** [GitLab 13.0 中的](https://gitlab.com/gitlab-org/gitlab/-/issues/36896) **Geo** . | - -## Preferences[](#preferences "Permalink") - -| Option | Description | -| --- | --- | -| [Email](email.html) | 各种电子邮件设置. | -| [Help page](../../../customization/help_message.html) | 帮助页面文本和支持页面 URL. | -| [Pages](../../../administration/pages/index.html#custom-domain-verification) | 静态网站的大小和域设置 | -| [Real-time features](../../../administration/polling.html) | 更改此值可影响 GitLab UI 轮询更新的频率. | -| [Gitaly timeouts](gitaly_timeouts.html) | 配置 Gitaly 超时. | -| Localization | [Default first day of the week](../../profile/preferences.html) and [Time tracking](../../project/time_tracking.html#limit-displayed-units-to-hours-core-only). | - -**注意:**您可以在**管理区域>设置>首选项**的**本地化**部分中更改整个 GitLab 实例的[默认一周的第一天](../../profile/preferences.html) . \ No newline at end of file diff --git a/docs/439.md b/docs/439.md deleted file mode 100644 index bd19b70..0000000 --- a/docs/439.md +++ /dev/null @@ -1 +0,0 @@ -> 原文:[https://docs.gitlab.com/ee/customization/](https://docs.gitlab.com/ee/customization/) \ No newline at end of file diff --git a/docs/440.md b/docs/440.md deleted file mode 100644 index 8c27a7c..0000000 --- a/docs/440.md +++ /dev/null @@ -1,164 +0,0 @@ -# Continuous Integration and Deployment Admin settings - -> 原文:[https://docs.gitlab.com/ee/user/admin_area/settings/continuous_integration.html](https://docs.gitlab.com/ee/user/admin_area/settings/continuous_integration.html) - -* [Auto DevOps](#auto-devops-core-only) -* [Maximum artifacts size](#maximum-artifacts-size-core-only) -* [Default artifacts expiration](#default-artifacts-expiration-core-only) -* [Shared Runners pipeline minutes quota](#shared-runners-pipeline-minutes-quota-starter-only) -* [Archive jobs](#archive-jobs-core-only) -* [Default CI configuration path](#default-ci-configuration-path) -* [Required pipeline configuration](#required-pipeline-configuration-premium-only) -* [Package Registry configuration](#package-registry-configuration-premium-only) - -# Continuous Integration and Deployment Admin settings[](#continuous-integration-and-deployment-admin-settings-core-only "Permalink") - -在此区域中,您将找到 Auto DevOps,Runners 和作业工件的设置. 您可以在**管理区域>设置> CI / CD 中**找到它. - -[![Admin Area settings button](img/7355fc1627be101cc5ed59387d36b6a3.png)](../img/admin_area_settings_button.png) - -## Auto DevOps[](#auto-devops-core-only "Permalink") - -要为所有项目启用(或禁用) [Auto DevOps](../../../topics/autodevops/index.html) : - -1. 转到**管理区域>设置> CI / CD** . -2. 选中(或取消选中以禁用) **所有项目的默认为 Auto DevOps 管道**的框. -3. (可选)设置将用于 Auto Deploy 和 Auto Review Apps 的[Auto DevOps 基本域](../../../topics/autodevops/index.html#auto-devops-base-domain) . -4. 点击**保存更改**以使更改生效. - -从现在开始,每个不带`.gitlab-ci.yml`现有项目和新创建的项目都将使用 Auto DevOps 管道. - -如果要为特定项目禁用它,可以在[其设置中](../../../topics/autodevops/index.html#enablingdisabling-auto-devops)禁用它. - -## Maximum artifacts size[](#maximum-artifacts-size-core-only "Permalink") - -可以将[作业工件](../../../administration/job_artifacts.html)的最大大小设置为: - -* 实例级别. -* [从 GitLab 12.4 开始](https://gitlab.com/gitlab-org/gitlab/-/issues/21688) ,为项目和组级别. - -值是: - -* 以*MB*为单位,每个作业的默认值为 100MB. -* 在 GitLab.com 上[设置为 1G](../../gitlab_com/index.html#gitlab-cicd) . - -要在以下位置进行更改: - -* 实例级别: - - 1. Go to **管理区域>设置> CI / CD**. - 2. 更改最大工件大小的值(以 MB 为单位). - 3. 单击**保存更改**以使更改生效. -* [组级别](../../group/index.html#group-settings) (这将覆盖实例设置): - - 1. 转到组的**设置> CI / CD>常规管道** . - 2. 更改**最大工件大小**的值**(以 MB 为单位)** . - 3. 单击**保存更改**以使更改生效. -* [项目级别](../../../ci/pipelines/settings.html) (这将覆盖实例和组设置): - - 1. 转到项目的**设置> CI / CD>常规管道** . - 2. 更改**最大工件大小**的值**(以 MB 为单位)** . - 3. 单击**保存更改**以使更改生效. - -**注意:**所有级别的设置仅对 GitLab 管理员可用. - -## Default artifacts expiration[](#default-artifacts-expiration-core-only "Permalink") - -可以在 GitLab 实例的"管理区域"中设置[作业工件](../../../administration/job_artifacts.html)的默认过期时间. 持续时间的语法在[`artifacts:expire_in`](../../../ci/yaml/README.html#artifactsexpire_in)描述,缺省值为`30 days` . - -1. 转到**管理区域>设置> CI / CD** . -2. 更改默认到期时间的值. -3. 单击**保存更改**以使更改生效. - -此设置是[`.gitlab-ci.yml`](../../../ci/yaml/README.html#artifactsexpire_in)每个作业设置的,可以在[`.gitlab-ci.yml`](../../../ci/yaml/README.html#artifactsexpire_in)覆盖. 要禁用到期时间,请将其设置为`0` . 默认单位是秒. - -**注意:**对此设置的任何更改将仅适用于新工件. 更改此设置之前创建的工件的过期时间将不会更新. 管理员可能需要手动搜索并终止先前创建的工件,如[故障排除文档中所述](../../../administration/troubleshooting/gitlab_rails_cheat_sheet.html#remove-artifacts-more-than-a-week-old) . - -## Shared Runners pipeline minutes quota[](#shared-runners-pipeline-minutes-quota-starter-only "Permalink") - -在 GitLab Starter 8.16 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/1078) . - -如果已为 GitLab 实例启用共享运行程序,则可以通过设置组每月可以在共享运行程序上使用的最大管道分钟数来限制其使用. 将此设置为`0` (默认值)将授予无限制的管道分钟数. 尽管构建限制以分钟存储,但计数以秒为单位. 使用情况会在每个月的第一天重置. 在 GitLab.com 上,配额是根据您的[订阅计划](https://about.gitlab.com/pricing/#gitlab-com)计算的. - -要更改管道分钟配额: - -1. 转到**管理区域>设置> CI / CD** . -2. Expand **持续集成和部署**. -3. 在" **管道分钟数"配额**框中,输入最大分钟数. -4. 单击**保存更改**以使更改生效. - -* * * - -尽管"管理区域"中的设置具有全局作用,但作为管理员,您也可以更改每个组的管道分钟配额以覆盖全局值. - -1. 导航到" **管理区域">"概述">"组",**然后单击您要更改管道分钟配额的组的" **编辑"**按钮. -2. 在" **管道分钟配额"**框中,输入最大分钟数. -3. 单击**保存更改**以使更改生效. - -保存后,您可以在组管理员视图中查看构建配额. 如果启用了共享运行器,也可以在项目管理视图中查看配额. - -[![Project admin information](img/a33f8dce89b50020e90de33ed9a1e78e.png)](img/admin_project_quota_view.png) - -您可以在组页面设置列表可用的" **使用配额"**页面中查看该组所有项目的管道分钟配额的概述. - -[![Group pipelines quota](img/a9b252d8a3c25b1c5166799c2233c569.png)](img/group_pipelines_quota.png) - -## Archive jobs[](#archive-jobs-core-only "Permalink") - -归档作业通过删除作业的某些功能(运行作业所需的元数据)来减少系统上的 CI / CD 占用空间,但保留迹线和工件以供审核时很有用. - -设置作业将被视为过期和过期的持续时间: - -1. 转到**管理区域>设置> CI / CD** . -2. 展开**持续集成和部署**部分. -3. 设置**存档作业**的值. -4. 点击**保存更改**以使更改生效. - -一旦超过该时间,作业将被存档,并且不再能够重试. 将其设为空以永不过期作业. 它必须不少于 1 天,例如: `15 days` , `1 month` , `2 years` . - -截至 2020 年 6 月 22 日,该[值](../../gitlab_com/index.html#gitlab-cicd)在 GitLab.com 上[设置](../../gitlab_com/index.html#gitlab-cicd)为 3 个月. 在此日期之前创建的作业将在 2020 年 9 月 22 日之后存档. - -## Default CI configuration path[](#default-ci-configuration-path "Permalink") - -在 GitLab 12.5 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/18073) . - -可以在您的 GitLab 实例的"管理"区域中设置新项目的默认 CI 配置文件路径(如果未设置, `.gitlab-ci.yml` ): - -1. 转到**管理区域>设置> CI / CD** . -2. 在**默认 CI 配置路径**字段中输入新路径. -3. 点击**保存更改**以使更改生效. - -也可以[为特定项目](../../../ci/pipelines/settings.html#custom-ci-configuration-path)指定[自定义 CI 配置路径](../../../ci/pipelines/settings.html#custom-ci-configuration-path) . - -## Required pipeline configuration[](#required-pipeline-configuration-premium-only "Permalink") - -**警告:**此功能正在重新评估,以支持其他[合规性解决方案](https://gitlab.com/gitlab-org/gitlab/-/issues/34830) . 我们建议尚未实施此功能的用户等待新解决方案. - -GitLab 管理员可以强制管道配置在每个管道上运行. - -该配置适用于 GitLab 实例的所有管道,其来源为: - -* The [instance template repository](instance_template_repository.html). -* GitLab 提供的配置. - -设置所需的管道配置: - -1. 转到**管理区域>设置> CI / CD** . -2. 展开" **所需管道配置"**部分. -3. 从提供的下拉列表中选择所需的配置. -4. Click **保存更改**. - -[![Required pipeline](img/ad8ac82c77beb415e901040df8d93b17.png)](img/admin_required_pipeline.png) - -## Package Registry configuration[](#package-registry-configuration-premium-only "Permalink") - -GitLab 管理员可以禁用将 NPM 请求转发到[npmjs.com](https://s0www0npmjs0com.icopy.site/) . - -To disable it: - -1. 转到**管理区域>设置> CI / CD** . -2. 展开" **程序包注册表"**部分. -3. Uncheck **启用将 NPM 软件包请求转发到 npmjs.org**. -4. Click **保存更改**. - -[![NPM package requests forwarding](img/8e301ace1928e93f6138075596994c18.png)](img/admin_package_registry_npm_package_requests_forward.png) \ No newline at end of file diff --git a/docs/441.md b/docs/441.md deleted file mode 100644 index 6d00ad8..0000000 --- a/docs/441.md +++ /dev/null @@ -1,31 +0,0 @@ -# Custom instance-level project templates - -> 原文:[https://docs.gitlab.com/ee/user/admin_area/custom_project_templates.html](https://docs.gitlab.com/ee/user/admin_area/custom_project_templates.html) - -* [Configuring](#configuring) - -# Custom instance-level project templates[](#custom-instance-level-project-templates-premium-only "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/6860) in [GitLab Premium](https://about.gitlab.com/pricing/) 11.2. - -GitLab 管理员可以配置所有自定义项目模板的来源组. - -如果用户有权访问组命名空间下的每个项目,则它们将对用户可用. 例如: - -* 组中的公共项目将对每个登录用户可用. -* 仅当用户是项目成员时,私有项目才可用. - -复制到每个新项目的存储库和数据库信息与使用[GitLab 的项目导入/导出导出](../project/settings/import_export.html)的数据相同. - -**注意:**要在组级别设置项目模板,请参阅[自定义组级别项目模板](../group/custom_project_templates.html) . - -## Configuring[](#configuring "Permalink") - -GitLab 管理员可以通过以下方式配置一个 GitLab 组作为整个 GitLab 实例的模板源: - -1. 导航到**管理区域>设置>模板** . -2. Expanding **自定义项目模板**. -3. 选择要使用的组. -4. Pressing **保存更改**. - -**注意:** **不**支持模板组子组下的项目. \ No newline at end of file diff --git a/docs/442.md b/docs/442.md deleted file mode 100644 index 5096c54..0000000 --- a/docs/442.md +++ /dev/null @@ -1,24 +0,0 @@ -# Diff limits administration - -> 原文:[https://docs.gitlab.com/ee/user/admin_area/diff_limits.html](https://docs.gitlab.com/ee/user/admin_area/diff_limits.html) - -* [Maximum diff patch size](#maximum-diff-patch-size) - -# Diff limits administration[](#diff-limits-administration-core-only "Permalink") - -您可以设置差异文件(补丁)显示的最大大小. - -有关差异文件的详细信息,请[查看文件之间的更改](../project/merge_requests/reviewing_and_managing_merge_requests.html#view-changes-between-file-versions) . - -## Maximum diff patch size[](#maximum-diff-patch-size "Permalink") - -超过此值的差异文件将显示为"太大",并且无法扩展. 将显示到斑点视图的链接,而不是展开视图. - -大于此大小的 10%的修补程序将自动折叠,并且将显示扩展差异的链接. - -**注意:**合并请求和分支比较视图将受到影响.**警告:**此设置是实验性的. 增加的最大值将增加实例的资源消耗. 调整最大值时请记住这一点. - -1. 转到**管理区域>设置>常规** . -2. Expand **差异限制**. -3. 输入**最大差异补丁大小**的值,以字节为单位. -4. 点击**保存更改** . \ No newline at end of file diff --git a/docs/443.md b/docs/443.md deleted file mode 100644 index 5d16b0e..0000000 --- a/docs/443.md +++ /dev/null @@ -1,41 +0,0 @@ -# Email - -> 原文:[https://docs.gitlab.com/ee/user/admin_area/settings/email.html](https://docs.gitlab.com/ee/user/admin_area/settings/email.html) - -* [Custom logo](#custom-logo) -* [Custom additional text](#custom-additional-text-premium-only) -* [Custom hostname for private commit emails](#custom-hostname-for-private-commit-emails) - -# Email[](#email-core-only "Permalink") - -您可以自定义 GitLab 实例发送的电子邮件中的某些内容. - -## Custom logo[](#custom-logo "Permalink") - -可以自定义某些电子邮件标题中的[徽标](../appearance.html#navigation-bar) ,请参阅[徽标自定义部分](../appearance.html#navigation-bar) . - -## Custom additional text[](#custom-additional-text-premium-only "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/5031) in [GitLab Premium](https://about.gitlab.com/pricing/) 10.7. - -附加文本将出现在任何电子邮件的底部,并且可出于法律/审核/合规性原因使用. - -1. 转到**管理区域>设置>首选项** ( `/admin/application_settings/preferences` ). -2. 展开**电子邮件**部分. -3. 在**其他文本**字段中输入您的文本. -4. Click **Save**. - -## Custom hostname for private commit emails[](#custom-hostname-for-private-commit-emails "Permalink") - -在 GitLab 11.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/22560) . - -此配置选项设置[专用提交电子邮件](../../profile/index.html#private-commit-email)的电子邮件主机名. 默认情况下,它设置为`users.noreply.YOUR_CONFIGURED_HOSTNAME` . - -为了更改此选项: - -1. 转到**管理区域>设置>首选项** ( `/admin/application_settings/preferences` ). -2. 展开**电子邮件**部分. -3. 在" **自定义主机名(用于私人提交电子邮件)"**字段中输入所需的主机**名** . -4. Click **保存更改**. - -**注意:**一旦配置了主机名,GitLab 将无法识别使用先前主机名的每封私人提交电子邮件. 这可能会与某些[Push 规则](../../../push_rules/push_rules.html)直接冲突,例如, `Check whether author is a GitLab user`以及`Check whether committer is the current authenticated user` . \ No newline at end of file diff --git a/docs/444.md b/docs/444.md deleted file mode 100644 index ff7ffd6..0000000 --- a/docs/444.md +++ /dev/null @@ -1,117 +0,0 @@ -# Enable and disable GitLab features deployed behind feature flags - -> 原文:[https://docs.gitlab.com/ee/administration/feature_flags.html](https://docs.gitlab.com/ee/administration/feature_flags.html) - -* [How to enable and disable features behind flags](#how-to-enable-and-disable-features-behind-flags) - * [Start the GitLab Rails console](#start-the-gitlab-rails-console) - * [Enable or disable the feature](#enable-or-disable-the-feature) - -# Enable and disable GitLab features deployed behind feature flags[](#enable-and-disable-gitlab-features-deployed-behind-feature-flags-core-only "Permalink") - -GitLab 采用[功能标记策略](../development/feature_flags/index.html)在开发的早期阶段部署功能,以便可以逐步推出它们. - -在使它们永久可用之前,出于[多种原因](../development/feature_flags/process.html#when-to-use-feature-flags) ,可以将功能部署在标志的后面,例如: - -* 测试功能. -* 在功能开发的早期阶段获得用户和客户的反馈. -* 评估用户采用率. -* 评估它如何影响 GitLab 的性能. -* 在整个发行版中以较小的部分构建它. - -标记后面的功能通常可以逐步推出: - -1. 默认情况下,该功能开始禁用. -2. 该功能默认情况下处于启用状态. -3. 功能标记已删除. - -可以启用和禁用这些功能,以允许或禁止用户使用它们. GitLab 管理员可以访问 GitLab Rails 控制台来完成此操作. - -如果您使用了某个功能并发现了错误,不正常行为或错误,那么尽快向 GitLab [**提供反馈**](https://gitlab.com/gitlab-org/gitlab/-/issues/new?issue[title]=Docs - feature flag feedback: Feature Name&issue[description]=Describe the problem you've encountered. - - - -/label ~)非常重要,这样我们就可以在标记后改进或修复它. 当您将 GitLab 升级到早期版本时,功能标志状态可能会更改. - -**注意:请**注意,部署在功能标记后面的功能可能尚未准备好用于生产. 但是,禁用默认情况下已启用的已部署标志后面的功能也可能带来风险. 如果启用了它们,我们建议您保持原样. - -## How to enable and disable features behind flags[](#how-to-enable-and-disable-features-behind-flags "Permalink") - -每个功能都有其自己的标志,应使用该标志来启用和禁用它. 标志后面的每个功能的文档都包括一个部分,通知标志的状态以及启用或禁用标志的命令. - -### Start the GitLab Rails console[](#start-the-gitlab-rails-console "Permalink") - -启用或禁用标志后面的功能的第一件事是在 GitLab Rails 控制台上启动会话. - -对于所有安装; - -``` -sudo gitlab-rails console -``` - -对于源安装: - -``` -sudo -u git -H bundle exec rails console -e production -``` - -有关详细信息,请参见[启动 Rails 控制台会话](troubleshooting/debug.html#starting-a-rails-console-session) . - -### Enable or disable the feature[](#enable-or-disable-the-feature "Permalink") - -一旦启动 Rails 控制台会话,请相应地运行`Feature.enable`或`Feature.disable`命令. 特定标志可以在功能文档中找到. - -要启用功能,请运行: - -``` -Feature.enable(:) -``` - -例如,启用证据收集: - -``` -Feature.enable(:release_evidence_collection) -``` - -要禁用功能,请运行: - -``` -Feature.disable(:) -``` - -Example, to disable Evidence Collection: - -``` -Feature.disable(:release_evidence_collection) -``` - -可以基于每个项目启用或禁用某些功能标志: - -``` -Feature.enable(:, Project.find()) -``` - -例如,要为项目`1234`启用[`:junit_pipeline_view`](../ci/junit_test_reports.html#enabling-the-junit-test-reports-feature-core-only)功能标记: - -``` -Feature.enable(:junit_pipeline_view, Project.find(1234)) -``` - -`Feature.enable`和`Feature.disable`始终返回`nil` ,这并不表示命令失败: - -``` -irb(main):001:0> Feature.enable(:release_evidence_collection) -=> nil -``` - -要检查标志是启用还是禁用,可以使用`Feature.enabled?` 或`Feature.disabled?` : - -``` -Feature.enable(:release_evidence_collection) -=> nil -Feature.enabled?(:release_evidence_collection) -=> true -Feature.disabled?(:release_evidence_collection) -=> false -``` - -功能就绪后,GitLab 将删除功能标志,启用和禁用该功能的选项将不再存在,并且该功能将在所有实例中可用. \ No newline at end of file diff --git a/docs/445.md b/docs/445.md deleted file mode 100644 index ac53b49..0000000 --- a/docs/445.md +++ /dev/null @@ -1,62 +0,0 @@ -# Geo nodes Admin Area - -> 原文:[https://docs.gitlab.com/ee/user/admin_area/geo_nodes.html](https://docs.gitlab.com/ee/user/admin_area/geo_nodes.html) - -* [Common settings](#common-settings) -* [**Secondary** node settings](#secondary-node-settings) -* [Geo backfill](#geo-backfill) -* [Using a different URL for synchronization](#using-a-different-url-for-synchronization) -* [Multiple secondary nodes behind a load balancer](#multiple-secondary-nodes-behind-a-load-balancer) - -# Geo nodes Admin Area[](#geo-nodes-admin-area-premium-only "Permalink") - -您可以为 GitLab Geo 节点配置各种设置. 有关更多信息,请参阅[地理文档](../../administration/geo/replication/index.html) . - -在主节点上,转到" **管理区域">"地理位置"** . 在辅助节点上,转到" **管理区域">"地理位置">"节点"** . - -## Common settings[](#common-settings "Permalink") - -所有地理节点均具有以下设置: - -| Setting | Description | -| --- | --- | -| Primary | 这会将地理节点标记为**主要**节点. 只能有一个**主**节点. 确保首先添加**主**节点,然后再添加所有其他节点. | -| Name | 地理节点的唯一标识符. 必须与`gitlab_rails['geo_node_name']`中的设置`gitlab_rails['geo_node_name']`相`/etc/gitlab/gitlab.rb` . 该设置默认为`external_url`并带有斜杠. | -| URL | 实例的面向用户的 URL. | - -您正在读取的节点带有绿色的`Current node`标签, **主**节点被赋予蓝色的`Primary`标签. 请记住,您只能在**主**节点上进行更改! - -## **Secondary** node settings[](#secondary-node-settings "Permalink") - -**辅助**节点具有许多可用的其他设置: - -| Setting | Description | -| --- | --- | -| 选择性同步 | 为此**辅助**节点启用地理位置[选择性同步](../../administration/geo/replication/configuration.html#selective-synchronization) . | -| 储存库同步容量 | 回填存储库时,此**辅助**节点将向**主**节点发出的并发请求数. | -| File sync capacity | 回填文件时,此**辅助**节点将向**主**节点发出的并发请求数. | - -## Geo backfill[](#geo-backfill "Permalink") - -**二级**节点通知由**主**节点更改存储库和文件,并总是试图对这些变化尽快同步. - -回填是使用**辅助**节点添加到数据库*之前*存在的存储库和文件填充**辅助**节点的操作. 由于可能存在大量的存储库和文件,因此一次尝试全部下载它们是不可行的,因此,GitLab 对这些操作的并发性设置了上限. - -回填所需的时间是最大并发的函数,但是值越高, **主**节点上的负担就越大. 从[GitLab 10.2 开始](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/3107) ,限制是可配置的. 如果**主**节点有很多剩余容量,则可以增加值以在更短的时间内完成回填. 如果它的负载很重,回填会降低其正常请求的可用性,则可以减少这些请求. - -## Using a different URL for synchronization[](#using-a-different-url-for-synchronization "Permalink") - -**次要**节点使用**主**节点的内部 URL 与之联系(例如,同步存储库). 内部 URL 名称将其与用户使用的[外部](https://docs.gitlab.com/omnibus/settings/configuration.html) URL 区别开来. 内部 URL 不必是私有地址. - -内部 URL 默认为外部 URL,但是您可以在**管理区域>地理位置>节点**下对其进行自定义. - -**警告:**我们建议在配置 Geo 节点时使用 HTTPS 连接. 为了避免在使用 HTTPS 时中断**主**节点和**辅助**节点之间的通信,请自定义内部 URL 以指向负载均衡器,且 TLS 终止于负载均衡器. - -## Multiple secondary nodes behind a load balancer[](#multiple-secondary-nodes-behind-a-load-balancer "Permalink") - -在 GitLab 11.11 中,只要为每个地理节点设置了唯一的`name` , **辅助**节点就可以使用相同的外部 URL. `gitlab.rb`设置`gitlab_rails['geo_node_name']`必须: - -* 为每个运行`unicorn` , `sidekiq`或`geo_logcursor` GitLab 实例设置. -* 匹配地理节点名称. - -负载平衡器必须使用粘性会话,以避免身份验证失败和跨站点请求错误. \ No newline at end of file diff --git a/docs/446.md b/docs/446.md deleted file mode 100644 index 4da770c..0000000 --- a/docs/446.md +++ /dev/null @@ -1 +0,0 @@ -> 原文:[https://docs.gitlab.com/ee/administration/lfs/lfs_administration.html](https://docs.gitlab.com/ee/administration/lfs/lfs_administration.html) \ No newline at end of file diff --git a/docs/447.md b/docs/447.md deleted file mode 100644 index a893714..0000000 --- a/docs/447.md +++ /dev/null @@ -1,566 +0,0 @@ -# GitLab Pages administration - -> 原文:[https://docs.gitlab.com/ee/administration/pages/](https://docs.gitlab.com/ee/administration/pages/) - -* [Overview](#overview) -* [Prerequisites](#prerequisites) - * [Add the domain to the Public Suffix List](#add-the-domain-to-the-public-suffix-list) - * [DNS configuration](#dns-configuration) -* [Configuration](#configuration) - * [Wildcard domains](#wildcard-domains) - * [Wildcard domains with TLS support](#wildcard-domains-with-tls-support) - * [Additional configuration for Docker container](#additional-configuration-for-docker-container) - * [Global settings](#global-settings) -* [Advanced configuration](#advanced-configuration) - * [Custom domains](#custom-domains) - * [Custom domains with TLS support](#custom-domains-with-tls-support) - * [Custom domain verification](#custom-domain-verification) - * [Let’s Encrypt integration](#lets-encrypt-integration) - * [Access control](#access-control) - * [Disabling public access to all Pages websites](#disabling-public-access-to-all-pages-websites) - * [Running behind a proxy](#running-behind-a-proxy) - * [Using a custom Certificate Authority (CA)](#using-a-custom-certificate-authority-ca) -* [Activate verbose logging for daemon](#activate-verbose-logging-for-daemon) -* [Change storage path](#change-storage-path) -* [Configure listener for reverse proxy requests](#configure-listener-for-reverse-proxy-requests) -* [Set maximum pages size](#set-maximum-pages-size) - * [Override maximum pages size per project or group](#override-maximum-pages-size-per-project-or-group-premium-only) -* [Running GitLab Pages on a separate server](#running-gitlab-pages-on-a-separate-server) -* [Backup](#backup) -* [Security](#security) -* [Troubleshooting](#troubleshooting) - * [`open /etc/ssl/ca-bundle.pem: permission denied`](#open-etcsslca-bundlepem-permission-denied) - * [`dial tcp: lookup gitlab.example.com` and `x509: certificate signed by unknown authority`](#dial-tcp-lookup-gitlabexamplecom-and-x509-certificate-signed-by-unknown-authority) - * [404 error after transferring project to a different group or user](#404-error-after-transferring-project-to-a-different-group-or-user) - -# GitLab Pages administration[](#gitlab-pages-administration "Permalink") - -版本历史 - -* 在 GitLab EE 8.3 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/80) . -* GitLab EE 8.5 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/173)了具有 TLS 支持的自定义 CNAME. -* GitLab 页面[已移植](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/14605)到 GitLab 8.17 中的 Community Edition. -* 在 GitLab 11.8 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/30548)了对子组项目网站的支持. - -GitLab 页面允许托管静态站点. 它必须由管理员配置. 提供了单独的[用户文档](../../user/project/pages/index.html) . - -**注意:**本指南适用于 Omnibus GitLab 安装. 如果您从源代码安装了 GitLab,请参见[GitLab 页面管理以了解源代码安装](source.html) . - -## Overview[](#overview "Permalink") - -GitLab Pages 使用[GitLab Pages 守护程序](https://gitlab.com/gitlab-org/gitlab-pages) ,这是一个用 Go 编写的简单 HTTP 服务器,可以侦听外部 IP 地址并提供对自定义域和自定义证书的支持. 它通过 SNI 支持动态证书,并且默认情况下使用 HTTP2 公开页面. 我们鼓励您阅读其[自述文件](https://gitlab.com/gitlab-org/gitlab-pages/blob/master/README.md)以全面了解其工作原理. - -对于[自定义域](#custom-domains) (而不是[通配符域](#wildcard-domains) ),Pages 守护程序需要在端口`80`和/或`443` . 因此,设置方式具有一定的灵活性: - -* 在与 GitLab 相同的服务器上运行 Pages 守护程序,侦听**辅助 IP** . -* 在[单独的服务器上](#running-gitlab-pages-on-a-separate-server)运行 Pages 守护程序. 在这种情况下, [Pages 路径](#change-storage-path)也必须存在于安装 Pages 守护程序的服务器中,因此您必须通过网络共享它. -* 在与 GitLab 相同的服务器上运行 Pages 守护程序,侦听相同的 IP,但侦听不同的端口. 在这种情况下,您将不得不使用负载平衡器代理流量. 如果选择该路由,请注意,应将 TCP 负载平衡用于 HTTPS. 如果您使用 TLS 终止(HTTPS 负载平衡),则将无法使用用户提供的证书来提供页面. 对于 HTTP,可以使用 HTTP 或 TCP 负载平衡. - -在本文档中,我们将假设第一个选项继续进行. 如果您不支持自定义域,则不需要辅助 IP. - -## Prerequisites[](#prerequisites "Permalink") - -在进行页面配置之前,您需要: - -1. 具有用于服务 GitLab 页面的专有根域. 请注意,您不能使用 GitLab 实例域的子域. -2. 配置**通配符 DNS 记录** . -3. (可选)如果您决定在 HTTPS 下提供 Pages,则具有该域的**通配符证书** . -4. (可选,但建议使用)启用[共享运行器,](../../ci/runners/README.html)以便您的用户不必自己携带. -5. (仅用于自定义域)具有**辅助 IP** . - -**注意:**如果您的 GitLab 实例和 Pages 守护程序部署在专用网络中或防火墙后面,则只有有权访问专用网络的设备/用户才能访问 GitLab Pages 网站. - -### Add the domain to the Public Suffix List[](#add-the-domain-to-the-public-suffix-list "Permalink") - -浏览器使用" [公共后缀列表"](https://publicsuffix.org)来决定如何对待子域. 如果您的 GitLab 实例允许公众创建 GitLab Pages 网站,那么它还允许这些用户在 pages 域( `example.io` )上创建子域. 将域添加到"公共后缀列表"中可防止浏览器接受[超级 cookie](https://en.wikipedia.org/wiki/HTTP_cookie#Supercookie)等. - -请按照[以下说明](https://publicsuffix.org/submit/)提交您的 GitLab 页面子域. 例如,如果您的域是`example.io` ,则应请求将`example.io`添加到公共后缀列表中. `gitlab.io` [在 2016 年](https://gitlab.com/gitlab-com/infrastructure/-/issues/230)添加了`gitlab.io` . - -### DNS configuration[](#dns-configuration "Permalink") - -GitLab 页面期望在其自己的虚拟主机上运行. 在您的 DNS 服务器/提供程序中,您需要添加[通配符 DNS A 记录](https://en.wikipedia.org/wiki/Wildcard_DNS_record) ,该[记录](https://en.wikipedia.org/wiki/Wildcard_DNS_record)指向 GitLab 运行的主机. 例如,条目如下所示: - -``` -*.example.io. 1800 IN A 192.0.2.1 -*.example.io. 1800 IN AAAA 2001::1 -``` - -其中`example.io`是将在其下提供 GitLab 页面的域, `192.0.2.1`是您的 GitLab 实例的 IPv4 地址,而`2001::1`是 IPv6 地址. 如果没有 IPv6,则可以省略 AAAA 记录. - -**注意:**您不应使用 GitLab 域来服务用户页面. 有关更多信息,请参见[安全性部分](#security) . - -## Configuration[](#configuration "Permalink") - -根据您的需要,您可以通过 4 种不同的方式设置 GitLab 页面. - -从最简单的设置到最高级的设置,列出了以下示例. 绝对最低要求是设置通配符 DNS,因为在所有配置中都需要这样做. - -### Wildcard domains[](#wildcard-domains "Permalink") - -**Requirements:** - -* [Wildcard DNS setup](#dns-configuration) - -* * * - -网址方案: `http://page.example.io` : `http://page.example.io` - -这是可以与 Pages 一起使用的最小设置. 如下所述,它是所有其他设置的基础. NGINX 将把所有请求代理到守护程序. Pages 守护程序不收听外界. - -1. Set the external URL for GitLab Pages in `/etc/gitlab/gitlab.rb`: - - ``` - pages_external_url 'http://example.io' - ``` - -2. [Reconfigure GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure). - -观看[视频教程](https://youtu.be/dD8c7WNcc6s)以了解此配置. - -### Wildcard domains with TLS support[](#wildcard-domains-with-tls-support "Permalink") - -**Requirements:** - -* [Wildcard DNS setup](#dns-configuration) -* 通配 TLS 证书 - -* * * - -网址方案: `https://page.example.io` : `https://page.example.io` - -NGINX 将把所有请求代理到守护程序. Pages 守护程序不收听外界. - -1. 将证书和密钥放在`/etc/gitlab/ssl` -2. 在`/etc/gitlab/gitlab.rb`指定以下配置: - - ``` - pages_external_url 'https://example.io' - - pages_nginx['redirect_http_to_https'] = true - pages_nginx['ssl_certificate'] = "/etc/gitlab/ssl/pages-nginx.crt" - pages_nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/pages-nginx.key" - ``` - - 其中`pages-nginx.crt`和`pages-nginx.key`分别是 SSL 证书和密钥. - -3. [Reconfigure GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure). - -### Additional configuration for Docker container[](#additional-configuration-for-docker-container "Permalink") - -当它在 Docker 容器中运行时,GitLab Pages 守护程序将没有绑定绑定的权限. 要解决此问题,您需要更改 chroot 行为: - -1. Edit `/etc/gitlab/gitlab.rb`. -2. 将 GitLab 页面的`inplace_chroot`设置为`true` : - - ``` - gitlab_pages['inplace_chroot'] = true - ``` - -3. [Reconfigure GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure). - -**注意:** `inplace_chroot`选项可能不适用于其他功能,例如[Pages Access Control](#access-control) . [GitLab 页面自述文件](https://gitlab.com/gitlab-org/gitlab-pages#caveats)包含有关警告和解决方法的更多信息. - -### Global settings[](#global-settings "Permalink") - -下表是 Omnibus GitLab 中 Pages 已知的所有配置设置及其作用. 这些选项可以在`/etc/gitlab/gitlab.rb`进行调整,并在[重新配置 GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure)之后生效. 这些设置中的大多数不需要手动配置,除非您需要对 Pages 守护程序在环境中如何运行和提供内容的方式进行更精细的控制. - -| Setting | Description | -| --- | --- | -| `pages_external_url` | 可访问 GitLab 页面的 URL,包括协议(HTTP / HTTPS). 如果使用`https://` ,则还必须设置`gitlab_pages['ssl_certificate']`和`gitlab_pages['ssl_certificate_key']` . | -| `gitlab_pages[]` |   | -| `access_control` | 是否启用[访问控制](index.html#access-control) . | -| `api_secret_key` | 具有用于通过 GitLab API 进行身份验证的密钥的文件的完整路径. 未设置时自动生成. | -| `artifacts_server` | 在 GitLab 页面中启用查看[工件](../job_artifacts.html) . | -| `artifacts_server_timeout` | 对工件服务器的代理请求超时(以秒为单位). | -| `artifacts_server_url` | 用于代理工件请求的 API URL. 默认为 GitLab `external URL` + `/api/v4` ,例如`https://gitlab.com/api/v4` . | -| `auth_redirect_uri` | 用于通过 GitLab 进行身份验证的回调 URL. 默认为`pages_external_url` + `/auth`项目子域. | -| `auth_secret` | Secret key for signing authentication requests. Leave blank to pull automatically from GitLab during OAuth registration. | -| `dir` | 配置和机密文件的工作目录. | -| `enable` | 在当前系统上启用或禁用 GitLab 页面. | -| `external_http` | 将页面配置为绑定到一个或多个辅助 IP 地址,以服务 HTTP 请求. 可以将多个地址以及确切的端口作为数组给出,例如`['1.2.3.4', '1.2.3.5:8063']` . 设置`listen_http`值. | -| `external_https` | 将页面配置为绑定到一个或多个辅助 IP 地址,以服务 HTTPS 请求. 可以将多个地址以及确切的端口作为数组给出,例如`['1.2.3.4', '1.2.3.5:8063']` . 设置`listen_https`值. | -| `gitlab_client_http_timeout` | GitLab API HTTP 客户端连接超时(以秒为单位)(默认值:10s). | -| `gitlab_client_jwt_expiry` | JWT 令牌的到期时间,以秒为单位(默认值:30s). | -| `gitlab_id` | OAuth 应用程序公共 ID. 当 Pages 通过 GitLab 进行身份验证时,请保留空白以自动填充. | -| `gitlab_secret` | OAuth 应用程序密码. 当 Pages 通过 GitLab 进行身份验证时,请保留空白以自动填充. | -| `gitlab_server` | 启用访问控制时用于身份验证的服务器; 默认为 GitLab `external_url` . | -| `headers` | 指定应随每个响应发送给客户端的任何其他 http 标头. | -| `inplace_chroot` | 在[不支持 bind-mounts 的系统上](index.html#additional-configuration-for-docker-container) ,这会指示 GitLab Pages chroot 进入其`pages_path`目录. 使用就地 chroot 时,存在一些注意事项; 有关更多信息,请参考 GitLab 页面[自述文件](https://gitlab.com/gitlab-org/gitlab-pages/blob/master/README.md#caveats) . | -| `insecure_ciphers` | 使用默认的密码套件列表,其中可能包含不安全的密码套件,例如 3DES 和 RC4. | -| `internal_gitlab_server` | 内部 GitLab 服务器地址专门用于 API 请求. 如果要通过内部负载均衡器发送该流量,则很有用. 默认为 GitLab `external_url` . | -| `listen_proxy` | 侦听反向代理请求的地址. 页面将绑定到这些地址的网络套接字,并从中接收传入的请求. 在`$nginx-dir/conf/gitlab-pages.conf`设置`proxy_pass`的值. | -| `log_directory` | 日志目录的绝对路径. | -| `log_format` | 日志输出格式: `text`或`json` . | -| `log_verbose` | 详细记录,对/错. | -| `max_connections` | 限制与 HTTP,HTTPS 或代理侦听器的并发连接数. | -| `metrics_address` | 用于监听指标请求的地址. | -| `redirect_http` | 将页面从 HTTP 重定向到 HTTPS,是/否. | -| `sentry_dsn` | 用于发送 Sentry 崩溃报告的地址. | -| `sentry_enabled` | 使用 Sentry(真/假)启用报告和日志记录. | -| `sentry_environment` | Sentry 崩溃报告的环境. | -| `status_uri` | 状态页面的 URL 路径,例如`/@status` . | -| `tls_max_version` | 指定最大 SSL / TLS 版本(" ssl3"," tls1.0"," tls1.1"或" tls1.2"). | -| `tls_min_version` | 指定最低 SSL / TLS 版本(" ssl3"," tls1.0"," tls1.1"或" tls1.2"). | -| `use_http2` | 启用 HTTP2 支持. | -| `gitlab_pages['env'][]` |   | -| `http_proxy` | 配置 GitLab 页面以使用 HTTP 代理来调解页面和 GitLab 之间的流量. 启动 Pages 守护程序时设置环境变量`http_proxy` . | -| `gitlab_rails[]` |   | -| `pages_domain_verification_cron_worker` | 验证自定义 GitLab 页面域的时间表. | -| `pages_domain_ssl_renewal_cron_worker` | 通过 Let's Encrypt for GitLab Pages 域获取和更新 SSL 证书的时间表. | -| `pages_domain_removal_cron_worker` | 删除未验证的自定义 GitLab 页面域的时间表. | -| `pages_path` | 磁盘上存储页面的目录,默认为`GITLAB-RAILS/shared/pages` . | -| `pages_nginx[]` |   | -| `enable` | 在 NGINX 内部包含一个用于页面的虚拟主机`server{}`块. NGINX 需要将流量代理回 Pages 守护程序. 如果 Pages 守护程序应直接接收所有请求(例如在使用[自定义域](index.html#custom-domains)时),则设置为`false` . | - -* * * - -## Advanced configuration[](#advanced-configuration "Permalink") - -除了通配符域,您还可以选择配置 GitLab 页面以与自定义域一起使用. 同样,这里有两个选项:支持带有和不带有 TLS 证书的自定义域. 最简单的设置是没有 TLS 证书. 无论哪种情况,都需要一个**辅助 IP** . 如果同时具有 IPv6 和 IPv4 地址,则可以同时使用它们. - -### Custom domains[](#custom-domains "Permalink") - -**Requirements:** - -* [Wildcard DNS setup](#dns-configuration) -* 次要 IP - -* * * - -URL 方案: `http://page.example.io` : `http://page.example.io`和`http://domain.com` - -在这种情况下,Pages 守护程序正在运行,NGINX 仍将请求代理到该守护程序,但该守护程序也能够接收来自外界的请求. 支持自定义域,但不支持 TLS. - -1. Edit `/etc/gitlab/gitlab.rb`: - - ``` - pages_external_url "http://example.io" - nginx['listen_addresses'] = ['192.0.2.1'] - pages_nginx['enable'] = false - gitlab_pages['external_http'] = ['192.0.2.2:80', '[2001::2]:80'] - ``` - - 其中`192.0.2.1`是 GitLab 侦听的主要 IP 地址,而`192.0.2.2`和`2001::2`是 GitLab Pages 守护程序侦听的辅助 IP. 如果没有 IPv6,则可以省略 IPv6 地址. - -2. [Reconfigure GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure). - -### Custom domains with TLS support[](#custom-domains-with-tls-support "Permalink") - -**Requirements:** - -* [Wildcard DNS setup](#dns-configuration) -* 通配 TLS 证书 -* 次要 IP - -* * * - -网址方案: `https://page.example.io` : `https://page.example.io`和`https://domain.com` - -在这种情况下,Pages 守护程序正在运行,NGINX 仍将请求代理到该守护程序,但该守护程序也能够接收来自外界的请求. 支持自定义域和 TLS. - -1. Edit `/etc/gitlab/gitlab.rb`: - - ``` - pages_external_url "https://example.io" - nginx['listen_addresses'] = ['192.0.2.1'] - pages_nginx['enable'] = false - gitlab_pages['cert'] = "/etc/gitlab/ssl/example.io.crt" - gitlab_pages['cert_key'] = "/etc/gitlab/ssl/example.io.key" - gitlab_pages['external_http'] = ['192.0.2.2:80', '[2001::2]:80'] - gitlab_pages['external_https'] = ['192.0.2.2:443', '[2001::2]:443'] - ``` - - 其中`192.0.2.1`是 GitLab 侦听的主要 IP 地址,而`192.0.2.2`和`2001::2`是 GitLab Pages 守护程序侦听的辅助 IP. 如果没有 IPv6,则可以省略 IPv6 地址. - -2. [Reconfigure GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure). - -### Custom domain verification[](#custom-domain-verification "Permalink") - -为了防止恶意用户劫持不属于他们的[域](../../user/project/pages/custom_domains_ssl_tls_certification/index.html#steps) ,GitLab 支持[自定义域验证](../../user/project/pages/custom_domains_ssl_tls_certification/index.html#steps) . 添加自定义域时,将要求用户通过在该域的 DNS 记录中添加 GitLab 控制的验证码来证明自己拥有该域. - -如果您的用户群是私有的或受其他方式信任,则可以禁用验证要求. 导航到**管理区域>设置>首选项,**然后在**页面**部分中取消选中**要求用户证明自定义域的所有权** . 默认情况下启用此设置. - -### Let’s Encrypt integration[](#lets-encrypt-integration "Permalink") - -在 GitLab 12.1 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/28996) . - -[GitLab Pages 的 Let's Encrypt 集成](../../user/project/pages/custom_domains_ssl_tls_certification/lets_encrypt_integration.html)允许用户为在自定义域下提供服务的 GitLab Pages 网站添加 Let's Encrypt SSL 证书. - -要启用它,您需要: - -1. 选择一封电子邮件,在该电子邮件上您将收到有关域过期的通知. -2. 导航到实例的" **管理区域">"设置">"首选项",**然后展开" **页面"**设置. -3. 输入用于接收通知的电子邮件,并接受" Let's Encrypt 的服务条款",如下所示. -4. Click **保存更改**. - -[![Let's Encrypt settings](img/cd210f00f72fcb8f7b00750457b0ab2c.png)](img/lets_encrypt_integration_v12_1.png) - -### Access control[](#access-control "Permalink") - -在 GitLab 11.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/33422) . - -GitLab Pages 访问控制可以针对每个项目进行配置,并允许根据用户对该项目的成员资格来控制对 Pages 站点的访问. - -访问控制通过在 GitLab 上将 Pages 守护程序注册为 OAuth 应用程序来工作. 每当未经身份验证的用户发出访问私有 Pages 站点的请求时,Pages 守护程序都会将该用户重定向到 GitLab. 如果身份验证成功,则使用令牌将用户重定向回 Pages,该令牌将保留在 cookie 中. 这些 Cookie 均用密钥签名,因此可以检测到篡改. - -Pages 使用该令牌对每个查看私有站点中的资源的请求进行身份验证. 对于收到的每个请求,它都会向 GitLab API 发出请求,以检查用户是否有权读取该站点. - -默认情况下,页面访问控制是禁用的. 要启用它: - -1. 在`/etc/gitlab/gitlab.rb`启用它: - - ``` - gitlab_pages['access_control'] = true - ``` - -2. [Reconfigure GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure). -3. 用户现在可以在其[项目的设置](../../user/project/pages/pages_access_control.html)中对其进行[配置](../../user/project/pages/pages_access_control.html) . - -**重要说明:**对于多节点设置,要使此设置生效,必须将其应用于所有 App 节点以及 Sidekiq 节点. - -#### Disabling public access to all Pages websites[](#disabling-public-access-to-all-pages-websites "Permalink") - -在 GitLab 12.7 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/32095) . - -您可以对 GitLab 实例上托管的所有 GitLab Pages 网站实施[访问控制](#access-control) . 这样,只有登录用户才能访问它们. 此设置将覆盖用户在单个项目中设置的访问控制. - -这对于将通过 Pages 网站发布的信息仅保留给您实例的用户很有用. 要做到这一点: - -1. 导航到实例的" **管理区域">"设置">"首选项",**然后展开" **页面"**设置. -2. 选中**禁用对页面站点的公共访问**复选框. -3. Click **保存更改**. - -**警告:**此操作将不会重新部署当前所有公开的网站. 通过[更改 GitLab 页面配置机制,](https://gitlab.com/gitlab-org/gitlab-pages/-/issues/282)可以解决此问题. - -### Running behind a proxy[](#running-behind-a-proxy "Permalink") - -与其他 GitLab 一样,Pages 可以用于由代理控制外部 Internet 连接的那些环境. 为了对 GitLab 页面使用代理: - -1. 在`/etc/gitlab/gitlab.rb`配置: - - ``` - gitlab_pages['env']['http_proxy'] = 'http://example:8080' - ``` - -2. [重新配置 GitLab,](../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -### Using a custom Certificate Authority (CA)[](#using-a-custom-certificate-authority-ca "Permalink") - -**注意:** [在 13.2 之前](https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/4289) ,使用 Omnibus 时, [需要](https://docs.gitlab.com/13.1/ee/administration/pages/index.html)一种[解决方法](https://docs.gitlab.com/13.1/ee/administration/pages/index.html) . - -使用自定义 CA 颁发的证书时,如果无法识别自定义 CA,则[访问控制](../../user/project/pages/pages_access_control.html#gitlab-pages-access-control)和[HTML 作业工件](../../ci/pipelines/job_artifacts.html#browsing-artifacts)的[联机视图](../../ci/pipelines/job_artifacts.html#browsing-artifacts)将无法工作. - -这通常会导致以下错误: `Post /oauth/token: x509: certificate signed by unknown authority` . - -对于从源安装,可以通过在系统证书存储中安装自定义证书颁发机构(CA)来解决. - -对于 Omnibus,可以通过[在 Omnibus GitLab 中安装自定义 CA 来解决](https://docs.gitlab.com/omnibus/settings/ssl.html) . - -## Activate verbose logging for daemon[](#activate-verbose-logging-for-daemon "Permalink") - -详细日志记录是在 Omnibus GitLab 11.1 中[引入的](https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/2533) . - -请按照以下步骤配置 GitLab Pages 守护程序的详细日志记录. - -1. 缺省情况下,守护程序仅记录`INFO`级别的日志. 如果要使其以`DEBUG`级别记录事件,则必须在`/etc/gitlab/gitlab.rb`配置: - - ``` - gitlab_pages['log_verbose'] = true - ``` - -2. [Reconfigure GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure). - -## Change storage path[](#change-storage-path "Permalink") - -请按照以下步骤更改 GitLab 页面内容的默认存储路径. - -1. 默认情况下,页面存储在`/var/opt/gitlab/gitlab-rails/shared/pages` . 如果要将它们存储在其他位置,则必须在`/etc/gitlab/gitlab.rb`设置: - - ``` - gitlab_rails['pages_path'] = "/mnt/storage/pages" - ``` - -2. [Reconfigure GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure). - -## Configure listener for reverse proxy requests[](#configure-listener-for-reverse-proxy-requests "Permalink") - -请按照以下步骤配置 GitLab 页面的代理侦听器. 在 Omnibus GitLab 11.1 中[引入](https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/2533) . - -1. 默认情况下,侦听器配置为侦听`localhost:8090`上的请求. - - 如果要禁用它,则必须在`/etc/gitlab/gitlab.rb`配置: - - ``` - gitlab_pages['listen_proxy'] = nil - ``` - - 如果您希望它在其他端口上侦听,则必须在`/etc/gitlab/gitlab.rb`也进行`/etc/gitlab/gitlab.rb` : - - ``` - gitlab_pages['listen_proxy'] = "localhost:10080" - ``` - -2. [Reconfigure GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure). - -## Set maximum pages size[](#set-maximum-pages-size "Permalink") - -您可以在**管理区域>设置>首选项>页面**中的**最大页面大小(MB)中**配置每个项目的解压缩存档的**最大大小** . 默认值为 100MB. - -### Override maximum pages size per project or group[](#override-maximum-pages-size-per-project-or-group-premium-only "Permalink") - -在 GitLab 12.7 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/16610) . - -要覆盖特定项目的全局最大页面大小: - -1. 导航到项目的**"设置">"页面"**页面. -2. 编辑**最大页面大小** . -3. Click **保存更改**. - -覆盖特定组的全局最大页面大小: - -1. 导航至论坛的**"设置">"常规"**页面,然后展开" **页面"** . -2. 编辑**最大页面大小** . -3. Click **保存更改**. - -## Running GitLab Pages on a separate server[](#running-gitlab-pages-on-a-separate-server "Permalink") - -您可以在单独的服务器上运行 GitLab Pages 守护程序,以减少主应用程序服务器上的负载. - -要在单独的服务器上配置 GitLab 页面: - -**危险:**以下过程包括备份和编辑`gitlab-secrets.json`文件的步骤. 此文件包含控制数据库加密的机密. 请谨慎操作. - -1. 在**GitLab 服务器上** ,要启用 Pages,请将以下内容添加到`/etc/gitlab/gitlab.rb` : - - ``` - gitlab_pages['enable'] = true - ``` - -2. (可选)要启用[访问控制](#access-control) ,请将以下内容添加到`/etc/gitlab/gitlab.rb` : - - ``` - gitlab_pages['access_control'] = true - ``` - -3. [重新配置**GitLab 服务器,**](../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. `gitlab-secrets.json`文件现在已使用新配置进行更新. - -4. 在**GitLab 服务器**上创建 secrets 文件的备份: - - ``` - cp /etc/gitlab/gitlab-secrets.json /etc/gitlab/gitlab-secrets.json.bak - ``` - -5. 设置一个新服务器. 这将成为**Pages 服务器** . - -6. 在新服务器上创建一个[NFS 共享](../high_availability/nfs_host_client_setup.html) ,并配置该共享以允许从您的主**GitLab 服务器**进行访问. 在此示例中,我们使用默认的 GitLab Pages 文件夹`/var/opt/gitlab/gitlab-rails/shared/pages`作为新服务器上的共享文件夹,并将其安装到**GitLab 服务器**上的`/mnt/pages` . - -7. 在**Pages 服务器上** ,安装 Omnibus GitLab 并修改`/etc/gitlab/gitlab.rb`以包括: - - ``` - external_url 'http://' - pages_external_url "http://" - postgresql['enable'] = false - redis['enable'] = false - prometheus['enable'] = false - puma['enable'] = false - sidekiq['enable'] = false - gitlab_workhorse['enable'] = false - gitaly['enable'] = false - alertmanager['enable'] = false - node_exporter['enable'] = false - gitlab_rails['auto_migrate'] = false - ``` - -8. 在**Pages 服务器**上创建 secrets 文件的备份: - - ``` - cp /etc/gitlab/gitlab-secrets.json /etc/gitlab/gitlab-secrets.json.bak - ``` - -9. 将`/etc/gitlab/gitlab-secrets.json`文件从**GitLab 服务器**复制到**Pages 服务器** . - -10. [重新配置 GitLab,](../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -11. 在**GitLab 服务器上** ,对`/etc/gitlab/gitlab.rb`进行以下更改: - - ``` - gitlab_pages['enable'] = false - pages_external_url "http://" - gitlab_rails['pages_path'] = "/mnt/pages" - ``` - -12. [重新配置 GitLab,](../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -如果您希望分配负载,则可以在多台服务器上运行 GitLab Pages. 您可以通过标准的负载平衡做法来做到这一点,例如将 DNS 服务器配置为为 Pages 服务器返回多个 IP,将负载平衡器配置为在 IP 级别工作等等. 如果要在多台服务器上设置 GitLab 页面,请对每台 Pages 服务器执行上述过程. - -## Backup[](#backup "Permalink") - -GitLab 页面是[常规备份的](../../raketasks/backup_restore.html)一部分,因此无需配置单独的备份. - -## Security[](#security "Permalink") - -您应该强烈考虑以与 GitLab 不同的主机名运行 GitLab 页面,以防止 XSS 攻击. - -## Troubleshooting[](#troubleshooting "Permalink") - -### `open /etc/ssl/ca-bundle.pem: permission denied`[](#open-etcsslca-bundlepem-permission-denied "Permalink") - -GitLab Pages 在 chroot 监狱中运行,通常在`/tmp/gitlab-pages-*`等唯一编号的目录中. - -在监狱内,/ `/etc/ssl/ca-bundle.pem`提供了`/etc/ssl/ca-bundle.pem`受信任的证书. 作为启动 Pages 的一部分,它从`/opt/gitlab/embedded/ssl/certs/cacert.pem` [复制到那里](https://gitlab.com/gitlab-org/gitlab-pages/-/merge_requests/51) . - -如果源文件上的权限不正确(应为`0644` ),那么 chroot 监狱中的文件也将错误. - -页面将在`/var/log/gitlab/gitlab-pages/current`记录错误,例如: - -``` -x509: failed to load system roots and no roots provided -open /etc/ssl/ca-bundle.pem: permission denied -``` - -使用 chroot 监狱会使此错误产生误导,因为它没有引用根文件系统上的`/etc/ssl` . - -解决方法是更正源文件权限并重新启动 Pages: - -``` -sudo chmod 644 /opt/gitlab/embedded/ssl/certs/cacert.pem -sudo gitlab-ctl restart gitlab-pages -``` - -### `dial tcp: lookup gitlab.example.com` and `x509: certificate signed by unknown authority`[](#dial-tcp-lookup-gitlabexamplecom-and-x509-certificate-signed-by-unknown-authority "Permalink") - -同时设置`inplace_chroot`和`access_control`至`true` ,你可能会遇到类似的错误: - -``` -dial tcp: lookup gitlab.example.com on [::1]:53: dial udp [::1]:53: connect: cannot assign requested address -``` - -Or: - -``` -open /opt/gitlab/embedded/ssl/certs/cacert.pem: no such file or directory -x509: certificate signed by unknown authority -``` - -这些错误的原因是 chroot 中缺少文件`resolv.conf`和`ca-bundle.pem` . 解决方法是在 chroot 中复制主机的`/etc/resolv.conf`和 GitLab 的证书包: - -``` -sudo mkdir -p /var/opt/gitlab/gitlab-rails/shared/pages/etc/ssl -sudo mkdir -p /var/opt/gitlab/gitlab-rails/shared/pages/opt/gitlab/embedded/ssl/certs/ - -sudo cp /etc/resolv.conf /var/opt/gitlab/gitlab-rails/shared/pages/etc -sudo cp /opt/gitlab/embedded/ssl/certs/cacert.pem /var/opt/gitlab/gitlab-rails/shared/pages/opt/gitlab/embedded/ssl/certs/ -sudo cp /opt/gitlab/embedded/ssl/certs/cacert.pem /var/opt/gitlab/gitlab-rails/shared/pages/etc/ssl/ca-bundle.pem -``` - -### 404 error after transferring project to a different group or user[](#404-error-after-transferring-project-to-a-different-group-or-user "Permalink") - -如果在将项目转移到另一个组或用户后在 Pages 网站上遇到`404 Not Found`错误,则必须触发 Pages 的域配置更新. 为此,请在`.update`文件中写一些`.update` . Pages 守护程序监视此文件的更改,并在发生更改时重新加载配置. - -使用以下示例来解决使用 Pages 传输项目后修复`404 Not Found`错误: - -``` -date > /var/opt/gitlab/gitlab-rails/shared/pages/.update -``` - -如果您已自定义 Pages 存储路径,请调整上面的命令以使用自定义路径. \ No newline at end of file diff --git a/docs/448.md b/docs/448.md deleted file mode 100644 index 5dbe6d6..0000000 --- a/docs/448.md +++ /dev/null @@ -1,133 +0,0 @@ -# Health Check - -> 原文:[https://docs.gitlab.com/ee/user/admin_area/monitoring/health_check.html](https://docs.gitlab.com/ee/user/admin_area/monitoring/health_check.html) - -* [IP whitelist](#ip-whitelist) -* [Using the endpoints locally](#using-the-endpoints-locally) -* [Health](#health) -* [Readiness](#readiness) -* [Liveness](#liveness) -* [Access token (Deprecated)](#access-token-deprecated) - -# Health Check[](#health-check-core-only "Permalink") - -版本历史 - -* 在 GitLab 9.1 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/10416)了活动性和就绪性探针. -* `health_check`端点是在 GitLab 8.8 中[引入的](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/3888) ,在 GitLab 9.1 中已弃用. -* 在 GitLab 9.4 中不赞成使用[访问令牌](#access-token-deprecated) ,而推荐使用[IP 白名单](#ip-whitelist) . - -manbetx 客户端打不开提供活跃度和准备情况探针,以指示服务的健康状况和对所需服务的可达性. 这些探针报告数据库连接,Redis 连接和对文件系统的访问状态. [可以将](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/)这些端点[提供给 Kubernetes 之类的调度程序](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/)以保持流量,直到系统准备就绪或根据需要重新启动容器. - -## IP whitelist[](#ip-whitelist "Permalink") - -要访问监视资源,需要将发出请求的客户端 IP 包含在白名单中. 有关详细信息,请参阅[如何将 IP 添加到监视端点的白名单](../../../administration/monitoring/ip_whitelist.html) . - -## Using the endpoints locally[](#using-the-endpoints-locally "Permalink") - -使用默认白名单设置,可以使用以下 URL 从本地主机访问探针: - -``` -GET http://localhost/-/health -``` - -``` -GET http://localhost/-/readiness -``` - -``` -GET http://localhost/-/liveness -``` - -## Health[](#health "Permalink") - -检查应用服务器是否正在运行. 它不会验证数据库或其他服务是否正在运行. 该端点绕过了 Rails Controller,并在请求处理生命周期的早期就作为附加的中间件`BasicHealthCheck`实现. - -``` -GET /-/health -``` - -请求示例: - -``` -curl 'https://gitlab.example.com/-/health' -``` - -响应示例: - -``` -GitLab OK -``` - -## Readiness[](#readiness "Permalink") - -就绪探针会检查 GitLab 实例是否准备好通过 Rails Controller 接受流量. 默认情况下,该检查仅验证实例检查. - -如果指定了`all=1`参数,则检查还将验证相关服务(数据库,Redis,Gitaly 等)并为每个服务提供状态. - -``` -GET /-/readiness -GET /-/readiness?all=1 -``` - -请求示例: - -``` -curl 'https://gitlab.example.com/-/readiness' -``` - -Example response: - -``` -{ "master_check":[{ "status":"failed", "message": "unexpected Master check result: false" }], ... } -``` - -失败时,端点将返回`503` HTTP 状态代码. - -如果通过`token`身份验证,则此检查确实会命中数据库,并且会重做 Redis. - -此检查不受机架攻击. - -## Liveness[](#liveness "Permalink") - -**警告:**在 GitLab [12.4](https://about.gitlab.com/upcoming-releases/)中,"活动性"检查的响应主体已更改为与以下示例匹配. - -检查应用服务器是否正在运行. 该探针用于了解 Rails 控制器是否不会由于多线程而死锁. - -``` -GET /-/liveness -``` - -请求示例: - -``` -curl 'https://gitlab.example.com/-/liveness' -``` - -响应示例: - -成功后,端点将返回`200` HTTP 状态代码和如下响应. - -``` -{ "status": "ok" } -``` - -失败时,端点将返回`503` HTTP 状态代码. - -此检查不受机架攻击. - -## Access token (Deprecated)[](#access-token-deprecated "Permalink") - -**注意:**在 GitLab 9.4 中不赞成使用访问令牌,而推荐使用[IP 白名单](#ip-whitelist) . - -访问探针端点时需要提供访问令牌. 当前接受的令牌可以在您的 GitLab 实例的**管理区域>监视>运行状况检查** ( `admin/health_check` )页面下找到. - -[![access token](img/f313f74b73573e7a2449aa6d00ae7934.png)](img/health_check_token.png) - -可以将访问令牌作为 URL 参数传递: - -``` -https://gitlab.example.com/-/readiness?token=ACCESS_TOKEN -``` - -**注意:**如果无法访问数据库或 Redis 服务,则不能保证探针端点响应正确. 您应该从已弃用的访问令牌切换到[IP 白名单](#ip-whitelist) ,以避免出现这种情况. \ No newline at end of file diff --git a/docs/449.md b/docs/449.md deleted file mode 100644 index 52f9424..0000000 --- a/docs/449.md +++ /dev/null @@ -1,149 +0,0 @@ -# Job logs - -> 原文:[https://docs.gitlab.com/ee/administration/job_logs.html](https://docs.gitlab.com/ee/administration/job_logs.html) - -* [Data flow](#data-flow) -* [Changing the job logs local location](#changing-the-job-logs-local-location) -* [Uploading logs to object storage](#uploading-logs-to-object-storage) -* [How to remove job logs](#how-to-remove-job-logs) -* [New incremental logging architecture](#new-incremental-logging-architecture) - * [Enabling incremental logging](#enabling-incremental-logging) - * [Potential implications](#potential-implications) - -# Job logs[](#job-logs "Permalink") - -> 在 GitLab 12.5 中[从作业跟踪重命名为作业日志](https://gitlab.com/gitlab-org/gitlab/-/issues/29121) . - -作业日志由 GitLab Runner 在处理作业时发送. 您可以在作业页面,管道,电子邮件通知等中查看日志. - -## Data flow[](#data-flow "Permalink") - -通常,作业日志有两种状态: `log`和`archived log` . 在下表中,您可以看到日志经过的阶段: - -| Phase | State | Condition | 数据流 | 储存路径 | -| --- | --- | --- | --- | --- | -| 1:打补丁 | log | 作业运行时 | GitLab Runner => Puma =>文件存储 | `#{ROOT_PATH}/gitlab-ci/builds/#{YYYY_mm}/#{project_id}/#{job_id}.log` | -| 2:覆盖 | log | 工作完成后 | GitLab Runner => Puma =>文件存储 | `#{ROOT_PATH}/gitlab-ci/builds/#{YYYY_mm}/#{project_id}/#{job_id}.log` | -| 3:归档 | 存档日志 | 工作完成后 | Sidekiq 将日志移至工件文件夹 | `#{ROOT_PATH}/gitlab-rails/shared/artifacts/#{disk_hash}/#{YYYY_mm_dd}/#{job_id}/#{job_artifact_id}/job.log` | -| 4:上传 | 存档日志 | 归档日志后 | Sidekiq 将存档日志移至[对象存储](#uploading-logs-to-object-storage) (如果已配置) | `#{bucket_name}/#{disk_hash}/#{YYYY_mm_dd}/#{job_id}/#{job_artifact_id}/job.log` | - -`ROOT_PATH`因环境而异. 对于 Omnibus GitLab,它将是`/var/opt/gitlab` ;对于从源代码进行的安装,它将是`/home/git/gitlab` . - -## Changing the job logs local location[](#changing-the-job-logs-local-location "Permalink") - -要更改作业日志的存储位置,请执行以下步骤. - -**在所有安装中;** - -1. 编辑`/etc/gitlab/gitlab.rb`并添加或修改以下行: - - ``` - gitlab_ci['builds_directory'] = '/mnt/to/gitlab-ci/builds' - ``` - -2. 保存文件并[重新配置 GitLab,](restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -**在源安装中:** - -1. Edit `/home/git/gitlab/config/gitlab.yml` and add or amend the following lines: - - ``` - gitlab_ci: - # The location where build logs are stored (default: builds/). - # Relative paths are relative to Rails.root. - builds_path: path/to/builds/ - ``` - -2. 保存文件并[重新启动 GitLab,](restart_gitlab.html#installations-from-source)以使更改生效. - -## Uploading logs to object storage[](#uploading-logs-to-object-storage "Permalink") - -归档日志被视为[作业工件](job_artifacts.html) . 因此,当您[设置对象存储集成时](job_artifacts.html#object-storage-settings) ,作业日志将与其他作业工件一起自动迁移到[该对象](job_artifacts.html#object-storage-settings) . - -请参阅[数据流中的](#data-flow) "阶段 4:上传"以了解该过程. - -## How to remove job logs[](#how-to-remove-job-logs "Permalink") - -没有办法自动使旧的作业日志过期,但是如果它们占用太多空间,可以安全地将其删除. 如果您手动删除日志,则 UI 中的作业输出将为空. - -例如,要删除所有超过 60 天的作业日志,请在您的 GitLab 实例中的 Shell 中运行以下命令: - -**危险:**此命令将永久删除日志文件,并且是不可逆的. - -``` -find /var/opt/gitlab/gitlab-rails/shared/artifacts -name "job.log" -mtime +60 -delete -``` - -## New incremental logging architecture[](#new-incremental-logging-architecture "Permalink") - -版本历史 - -* 在 GitLab 10.4 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/18169) . -* [公布为一般可](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/46097)在 GitLab 11.0\. - -**注意:**此功能默认为关闭. 有关如何[启用或禁用](#enabling-incremental-logging)它的信息,请参见下文. - -通过将过程与对象存储设置相结合,我们可以完全绕过本地文件存储. 如果将 GitLab 安装为云原生,例如在 Kubernetes 上,这是一个有用的选项. - -数据流与[数据流部分中](#data-flow)描述的相同,只是有所变化: *前两个阶段的存储路径不同* . 这种增量日志架构将日志块存储在 Redis 中,并将其存储在持久性存储(对象存储或数据库)中,而不是文件存储中. Redis 用作一流的存储,它最多可存储 128KB 数据. 一旦发送了完整的块,就将其刷新到持久性存储(对象存储(临时目录)或数据库). 一段时间后,Redis 和持久性存储中的数据将被归档到[对象存储](#uploading-logs-to-object-storage) . - -数据存储在以下 Redis 命名空间中: `Gitlab::Redis::SharedState` . - -这是详细的数据流: - -1. GitLab Runner 从 GitLab 选择工作 -2. GitLab Runner 向 GitLab 发送一条日志 -3. GitLab 将数据追加到 Redis -4. 一旦 Redis 中的数据达到 128KB,就将数据刷新到持久性存储(对象存储或数据库). -5. 重复上述步骤,直到作业完成. -6. 作业完成后,GitLab 会安排 Sidekiq 工作人员存档日志. -7. Sidekiq worker 将日志归档到对象存储,并在 Redis 和永久存储(对象存储或数据库)中清除日志. - -### Enabling incremental logging[](#enabling-incremental-logging "Permalink") - -在 Rails 控制台中将发出以下命令: - -``` -# Omnibus GitLab -gitlab-rails console - -# Installation from source -cd /home/git/gitlab -sudo -u git -H bin/rails console -e production -``` - -**要检查是否启用了增量日志记录(跟踪):** - -``` -Feature.enabled?(:ci_enable_live_trace) -``` - -**要启用增量日志记录(跟踪):** - -``` -Feature.enable(:ci_enable_live_trace) -``` - -**注意:**过渡期将得到适当处理. 即将到来的日志将使用增量体系结构生成,而正在进行的日志将保留在旧体系结构中,这意味着将不会使用增量体系结构强制重新生成正在进行的日志. - -**要禁用增量日志记录(跟踪):** - -``` -Feature.disable('ci_enable_live_trace') -``` - -**注意:**过渡期将得到适当处理. 即将发生的日志将使用旧体系结构生成,而持续的增量日志将保留在增量体系结构中,这意味着持续的增量日志将不会用旧体系结构强制重新生成. - -### Potential implications[](#potential-implications "Permalink") - -在某些情况下,将数据存储在 Redis 上可能会导致数据丢失: - -1. **情况 1:Redis 中的所有数据被意外刷新** - * 可以通过重新发送日志来恢复增量日志(所有版本的 GitLab Runner 均支持此功能). - * 未归档增量日志的已完成作业将丢失日志数据的最后一部分(〜128KB). -2. **情况 2:当 Sidekiq 工作人员无法归档时(例如,存在一个阻止归档过程,Sidekiq 不一致等的错误)** - * 当前,Redis 中的所有日志数据将在一周后删除. 如果 Sidekiq 工作人员无法在到期日之前完成操作,则部分日志数据将丢失. - -可能出现的另一个问题是,它可能会消耗 Redis 实例上的所有内存. 如果作业数为 1000,则将消耗 128MB(128KB * 1000). - -而且,它可能会给数据库复制带来压力. 生成`INSERT`以表明我们有日志块. 一旦我们收到多个数据块,便发出具有 128KB 数据的`UPDATE` . \ No newline at end of file diff --git a/docs/450.md b/docs/450.md deleted file mode 100644 index efa003a..0000000 --- a/docs/450.md +++ /dev/null @@ -1,15 +0,0 @@ -# Labels administration - -> 原文:[https://docs.gitlab.com/ee/user/admin_area/labels.html](https://docs.gitlab.com/ee/user/admin_area/labels.html) - -* [Default Labels](#default-labels) - -# Labels administration[](#labels-administration-core-only "Permalink") - -在管理区域中,您可以管理 GitLab 实例的标签. 有关更多详细信息,请参见[标签](../project/labels.html) . - -## Default Labels[](#default-labels "Permalink") - -在管理区域中创建的标签可用于每个*新*项目. - -[![Default label set](img/ba294e1cb39daadf43b81f113e5ef506.png)](img/admin_labels.png) \ No newline at end of file diff --git a/docs/451.md b/docs/451.md deleted file mode 100644 index a60fe84..0000000 --- a/docs/451.md +++ /dev/null @@ -1,588 +0,0 @@ -# Log system - -> 原文:[https://docs.gitlab.com/ee/administration/logs.html](https://docs.gitlab.com/ee/administration/logs.html) - -* [`production_json.log`](#production_jsonlog) -* [`production.log`](#productionlog) -* [`api_json.log`](#api_jsonlog) -* [`application.log`](#applicationlog) -* [`application_json.log`](#application_jsonlog) -* [`integrations_json.log`](#integrations_jsonlog) -* [`kubernetes.log`](#kuberneteslog) -* [`git_json.log`](#git_jsonlog) -* [`audit_json.log`](#audit_jsonlog) -* [Sidekiq Logs](#sidekiq-logs) - * [`sidekiq.log`](#sidekiqlog) - * [`sidekiq_client.log`](#sidekiq_clientlog) -* [`gitlab-shell.log`](#gitlab-shelllog) - * [For GitLab versions 12.10 and up](#for-gitlab-versions-1210-and-up) - * [For GitLab versions 12.5 through 12.9](#for-gitlab-versions-125-through-129) - * [For GitLab 12.5 and earlier](#for-gitlab-125-and-earlier) -* [Gitaly Logs](#gitaly-logs) - * [`grpc.log`](#grpclog) -* [Puma Logs](#puma-logs) - * [`puma_stdout.log`](#puma_stdoutlog) - * [`puma_stderr.log`](#puma_stderrlog) -* [Unicorn Logs](#unicorn-logs) - * [`unicorn_stdout.log`](#unicorn_stdoutlog) - * [`unicorn_stderr.log`](#unicorn_stderrlog) -* [`repocheck.log`](#repochecklog) -* [`importer.log`](#importerlog) -* [`exporter.log`](#exporterlog) -* [`auth.log`](#authlog) -* [`graphql_json.log`](#graphql_jsonlog) -* [`migrations.log`](#migrationslog) -* [`mail_room_json.log` (default)](#mail_room_jsonlog-default) -* [Reconfigure Logs](#reconfigure-logs) -* [`sidekiq_exporter.log` and `web_exporter.log`](#sidekiq_exporterlog-and-web_exporterlog) -* [`database_load_balancing.log`](#database_load_balancinglog-premium-only) -* [`elasticsearch.log`](#elasticsearchlog-starter-only) -* [`exceptions_json.log`](#exceptions_jsonlog) -* [`service_measurement.log`](#service_measurementlog) -* [`geo.log`](#geolog-premium-only) -* [Registry Logs](#registry-logs) -* [NGINX Logs](#nginx-logs) -* [Pages Logs](#pages-logs) -* [Mattermost Logs](#mattermost-logs) -* [Workhorse Logs](#workhorse-logs) -* [PostgreSQL Logs](#postgresql-logs) -* [Prometheus Logs](#prometheus-logs) -* [Redis Logs](#redis-logs) -* [Alertmanager Logs](#alertmanager-logs) -* [Crond Logs](#crond-logs) -* [Grafana Logs](#grafana-logs) -* [LogRotate Logs](#logrotate-logs) -* [GitLab Monitor Logs](#gitlab-monitor-logs) -* [GitLab Exporter](#gitlab-exporter) - -# Log system[](#log-system "Permalink") - -GitLab 具有一个高级日志系统,可以记录所有内容,因此您可以使用各种系统日志文件分析实例. 除了系统日志文件,GitLab 企业版还提供审核事件. [在审核事件文档中](audit_events.html)找到有关它们的更多信息. - -系统日志文件通常是标准日志文件格式的纯文本. 本指南讨论如何读取和使用这些系统日志文件. - -## `production_json.log`[](#production_jsonlog "Permalink") - -对于 Omnibus GitLab 软件包,此文件位于`/var/log/gitlab/gitlab-rails/production_json.log` ,对于从源代码进行安装则位于`/home/git/gitlab/log/production_json.log`中. 当 GitLab 在生产环境以外的环境中运行时,此处将显示相应的日志文件. - -由于[Lograge](https://github.com/roidrage/lograge/) ,它包含从 GitLab 接收到的 Rails 控制器请求的结构化日志. 请注意,来自 API 的请求将记录到`api_json.log`的单独文件中. - -每行包含一个可以由 Elasticsearch 和 Splunk 之类的服务提取的 JSON 行. 为了便于阅读,在示例中添加了换行符: - -``` -{ "method":"GET", "path":"/gitlab/gitlab-foss/issues/1234", "format":"html", "controller":"Projects::IssuesController", "action":"show", "status":200, "time":"2017-08-08T20:15:54.821Z", "params":[{"key":"param_key","value":"param_value"}], "remote_ip":"18.245.0.1", "user_id":1, "username":"admin", "queue_duration_s":0.0, "gitaly_calls":16, "gitaly_duration_s":0.16, "redis_calls":115, "redis_duration_s":0.13, "redis_read_bytes":1507378, "redis_write_bytes":2920, "correlation_id":"O1SdybnnIq7", "cpu_s":17.50, "db_duration_s":0.08, "view_duration_s":2.39, "duration_s":20.54 } -``` - -此示例是针对特定问题的 GET 请求. 每行还包含性能数据,时间以秒为单位: - -1. `duration_s` :检索请求所花费的总时间 -2. `queue_duration_s` :请求在 GitLab Workhorse 中排队的总时间 -3. `view_duration_s` :在 Rails 视图中`view_duration_s`总时间 -4. `db_duration_s` :从 PostgreSQL 检索数据的总时间 -5. `cpu_s` :在 CPU 上花费的总时间 -6. `gitaly_duration_s` :Gitaly 调用花费的总时间 -7. `gitaly_calls` :拨打 Gitaly 的电话总数 -8. `redis_calls` :对 Redis 的呼叫总数 -9. `redis_duration_s` :从 Redis 检索数据的总时间 -10. `redis_read_bytes` :从 Redis 读取的总字节 -11. `redis_write_bytes` :写入 Redis 的总字节数 -12. `redis__calls`: total number of calls made to a Redis instance -13. `redis__duration_s` :从 Redis 实例检索数据的总时间 -14. `redis__read_bytes` :从 Redis 实例读取的总字节数 -15. `redis__write_bytes` :写入 Redis 实例的总字节数 - -使用 HTTP 传输的用户克隆和获取活动作为`action: git_upload_pack`出现在此日志中`action: git_upload_pack` . - -此外,日志还包含原始 IP 地址( `remote_ip` ),用户 ID( `user_id` )和用户名( `username` ). - -如果使用[Advanced Global Search,](../user/search/advanced_global_search.html)则某些端点(例如`/search`可能会向 Elasticsearch 发出请求. 这些将另外记录`elasticsearch_calls`和`elasticsearch_call_duration_s` ,它们对应于: - -1. `elasticsearch_calls` :对 Elasticsearch 的调用总数 -2. `elasticsearch_duration_s` :Elasticsearch 调用花费的总时间 - -ActionCable 连接和订阅事件也记录到此文件中,它们遵循上面相同的格式. `method` , `path`和`format`字段不适用,并且始终为空. ActionCable 连接或通道类用作`controller` . - -``` -{ "method":{}, "path":{}, "format":{}, "controller":"IssuesChannel", "action":"subscribe", "status":200, "time":"2020-05-14T19:46:22.008Z", "params":[{"key":"project_path","value":"gitlab/gitlab-foss"},{"key":"iid","value":"1"}], "remote_ip":"127.0.0.1", "user_id":1, "username":"admin", "ua":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:76.0) Gecko/20100101 Firefox/76.0", "correlation_id":"jSOIEynHCUa", "duration_s":0.32566 } -``` - -**注意:**从 GitLab 12.5 开始,如果发生错误,则`class` , `message`和`backtrace`包含一个`exception`字段. 以前的版本包含一个`error`字段,而不是`exception.class`和`exception.message` . 例如: - -``` -{ "method": "GET", "path": "/admin", "format": "html", "controller": "Admin::DashboardController", "action": "index", "status": 500, "time": "2019-11-14T13:12:46.156Z", "params": [], "remote_ip": "127.0.0.1", "user_id": 1, "username": "root", "ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:70.0) Gecko/20100101 Firefox/70.0", "queue_duration": 274.35, "correlation_id": "KjDVUhNvvV3", "queue_duration_s":0.0, "gitaly_calls":16, "gitaly_duration_s":0.16, "redis_calls":115, "redis_duration_s":0.13, "correlation_id":"O1SdybnnIq7", "cpu_s":17.50, "db_duration_s":0.08, "view_duration_s":2.39, "duration_s":20.54 "exception.class": "NameError", "exception.message": "undefined local variable or method `adsf' for #", "exception.backtrace": [ "app/controllers/admin/dashboard_controller.rb:11:in `index'", "ee/app/controllers/ee/admin/dashboard_controller.rb:14:in `index'", "ee/lib/gitlab/ip_address_state.rb:10:in `with'", "ee/app/controllers/ee/application_controller.rb:43:in `set_current_ip_address'", "lib/gitlab/session.rb:11:in `with_session'", "app/controllers/application_controller.rb:450:in `set_session_storage'", "app/controllers/application_controller.rb:444:in `set_locale'", "ee/lib/gitlab/jira/middleware.rb:19:in `call'" ] } -``` - -## `production.log`[](#productionlog "Permalink") - -对于 Omnibus GitLab 软件包,此文件位于`/var/log/gitlab/gitlab-rails/production.log` ,对于从源代码进行安装,该文件位于`/home/git/gitlab/log/production.log`中. (当 GitLab 在生产环境以外的环境中运行时,此处将显示相应的日志文件.) - -它包含有关所有已执行请求的信息. 您可以查看 URL 和请求类型,IP 地址,以及涉及哪些代码部分来满足此特定请求. 此外,您还可以查看所有执行的 SQL 请求以及每个请求花费的时间. 对于 GitLab 贡献者和开发人员来说,此任务更有用. 报告错误时,请使用此日志文件的一部分. 例如: - -``` -Started GET "/gitlabhq/yaml_db/tree/master" for 168.111.56.1 at 2015-02-12 19:34:53 +0200 -Processing by Projects::TreeController#show as HTML - Parameters: {"project_id"=>"gitlabhq/yaml_db", "id"=>"master"} - - ... [CUT OUT] - - Namespaces"."created_at" DESC, "namespaces"."id" DESC LIMIT 1 [["id", 26]] - CACHE (0.0ms) SELECT "members".* FROM "members" WHERE "members"."source_type" = 'Project' AND "members"."type" IN ('ProjectMember') AND "members"."source_id" = $1 AND "members"."source_type" = $2 AND "members"."user_id" = 1 ORDER BY "members"."created_at" DESC, "members"."id" DESC LIMIT 1 [["source_id", 18], ["source_type", "Project"]] - CACHE (0.0ms) SELECT "members".* FROM "members" WHERE "members"."source_type" = 'Project' AND "members". - (1.4ms) SELECT COUNT(*) FROM "merge_requests" WHERE "merge_requests"."target_project_id" = $1 AND ("merge_requests"."state" IN ('opened','reopened')) [["target_project_id", 18]] - Rendered layouts/nav/_project.html.haml (28.0ms) - Rendered layouts/_collapse_button.html.haml (0.2ms) - Rendered layouts/_flash.html.haml (0.1ms) - Rendered layouts/_page.html.haml (32.9ms) -Completed 200 OK in 166ms (Views: 117.4ms | ActiveRecord: 27.2ms) -``` - -在此示例中,服务器在`2015-02-12 19:34:53 +0200`处处理了来自 IP `168.111.56.1` URL `/gitlabhq/yaml_db/tree/master`的 HTTP 请求. 该请求已由`Projects::TreeController` . - -## `api_json.log`[](#api_jsonlog "Permalink") - -在 GitLab 10.0 中引入. - -对于 Omnibus GitLab 软件包,此文件位于`/var/log/gitlab/gitlab-rails/api_json.log`中,对于从源代码进行安装则位于`/home/git/gitlab/log/api_json.log`中. - -它可以帮助您查看直接向 API 发出的请求. 例如: - -``` -{ "time":"2018-10-29T12:49:42.123Z", "severity":"INFO", "duration":709.08, "db":14.59, "view":694.49, "status":200, "method":"GET", "path":"/api/v4/projects", "params":[{"key":"action","value":"git-upload-pack"},{"key":"changes","value":"_any"},{"key":"key_id","value":"secret"},{"key":"secret_token","value":"[FILTERED]"}], "host":"localhost", "remote_ip":"::1", "ua":"Ruby", "route":"/api/:version/projects", "user_id":1, "username":"root", "queue_duration":100.31, "gitaly_calls":30, "gitaly_duration":5.36 } -``` - -此项显示一个内部端点,该端点被访问以检查关联的 SSH 密钥是否可以通过`git fetch`或`git clone`下载有问题的项目. 在此示例中,我们看到: - -1. `duration` :检索请求所花费的总时间(以毫秒为单位) -2. `queue_duration` :请求在 GitLab Workhorse 中排队的总时间(以毫秒为单位) -3. `method` :用于发出请求的 HTTP 方法 -4. `path` :查询的相对路径 -5. `params` :在查询字符串或 HTTP 正文中传递的键/值对. 敏感参数(例如密码和令牌)被过滤掉. -6. `ua` :请求者的用户代理 - -## `application.log`[](#applicationlog "Permalink") - -对于 Omnibus GitLab 软件包,此文件位于`/var/log/gitlab/gitlab-rails/application.log` ,对于来自源的安装,该文件位于`/home/git/gitlab/log/application.log`中. - -它可以帮助您发现实例中发生的事件,例如用户创建,项目删除等. 例如: - -``` -October 06, 2014 11:56: User "Administrator" (admin@example.com) was created -October 06, 2014 11:56: Documentcloud created a new project "Documentcloud / Underscore" -October 06, 2014 11:56: Gitlab Org created a new project "Gitlab Org / Gitlab Ce" -October 07, 2014 11:25: User "Claudie Hodkiewicz" (nasir_stehr@olson.co.uk) was removed -October 07, 2014 11:25: Project "project133" was removed -``` - -## `application_json.log`[](#application_jsonlog "Permalink") - -在 GitLab 12.7 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/22812) . - -对于 Omnibus GitLab 软件包,此文件位于`/var/log/gitlab/gitlab-rails/application_json.log` ,对于从源代码进行安装则位于`/home/git/gitlab/log/application_json.log`中. - -它包含`application.log`日志的 JSON 版本,如下例所示: - -``` -{ "severity":"INFO", "time":"2020-01-14T13:35:15.466Z", "correlation_id":"3823a1550b64417f9c9ed8ee0f48087e", "message":"User \"Administrator\" (admin@example.com) was created" } { "severity":"INFO", "time":"2020-01-14T13:35:15.466Z", "correlation_id":"78e3df10c9a18745243d524540bd5be4", "message":"Project \"project133\" was removed" } -``` - -## `integrations_json.log`[](#integrations_jsonlog "Permalink") - -对于 Omnibus GitLab 软件包,此文件位于`/var/log/gitlab/gitlab-rails/integrations_json.log` ,对于从源代码进行安装则位于`/home/git/gitlab/log/integrations_json.log`中. - -它包含有关[集成](../user/project/integrations/overview.html)活动的信息,例如 Jira,Asana 和 Irker 服务. 它使用 JSON 格式,如下例所示: - -``` -{ "severity":"ERROR", "time":"2018-09-06T14:56:20.439Z", "service_class":"JiraService", "project_id":8, "project_path":"h5bp/html5-boilerplate", "message":"Error sending message", "client_url":"http://jira.gitlap.com:8080", "error":"execution expired" } { "severity":"INFO", "time":"2018-09-06T17:15:16.365Z", "service_class":"JiraService", "project_id":3, "project_path":"namespace2/project2", "message":"Successfully posted", "client_url":"http://jira.example.com" } -``` - -## `kubernetes.log`[](#kuberneteslog "Permalink") - -在 GitLab 11.6 中引入. - -对于 Omnibus GitLab 软件包,此文件位于`/var/log/gitlab/gitlab-rails/kubernetes.log` ,对于从源代码进行安装则位于`/home/git/gitlab/log/kubernetes.log`中. - -它记录与 Kubernetes 集成相关的信息,包括在托管的 Kubernetes 集群上安装集群应用程序期间的错误. - -每行包含一个可以由 Elasticsearch 和 Splunk 之类的服务提取的 JSON 行. 为了清楚起见,在以下示例中添加了换行符: - -``` -{ "severity":"ERROR", "time":"2018-11-23T15:14:54.652Z", "exception":"Kubeclient::HttpError", "error_code":401, "service":"Clusters::Applications::CheckInstallationProgressService", "app_id":14, "project_ids":[1], "group_ids":[], "message":"Unauthorized" } { "severity":"ERROR", "time":"2018-11-23T15:42:11.647Z", "exception":"Kubeclient::HttpError", "error_code":null, "service":"Clusters::Applications::InstallService", "app_id":2, "project_ids":[19], "group_ids":[], "message":"SSL_connect returned=1 errno=0 state=error: certificate verify failed (unable to get local issuer certificate)" } -``` - -## `git_json.log`[](#git_jsonlog "Permalink") - -对于 Omnibus GitLab 软件包,此文件位于`/var/log/gitlab/gitlab-rails/git_json.log` ,对于从源代码进行安装则位于`/home/git/gitlab/log/git_json.log`中. - -**注意:**在 12.2 之后,此文件从`githost.log`重命名为`git_json.log`并以 JSON 格式存储. - -GitLab 必须与 Git 存储库进行交互,但是在极少数情况下可能会出问题,在这种情况下,您可能需要知道到底发生了什么. 该日志文件包含从 GitLab 到 Git 存储库的所有失败请求. 在大多数情况下,此文件仅对开发人员有用. 例如: - -``` -{ "severity":"ERROR", "time":"2019-07-19T22:16:12.528Z", "correlation_id":"FeGxww5Hj64", "message":"Command failed [1]: /usr/bin/git --git-dir=/Users/vsizov/gitlab-development-kit/gitlab/tmp/tests/gitlab-satellites/group184/gitlabhq/.git --work-tree=/Users/vsizov/gitlab-development-kit/gitlab/tmp/tests/gitlab-satellites/group184/gitlabhq merge --no-ff -mMerge branch 'feature_conflict' into 'feature' source/feature_conflict\n\nerror: failed to push some refs to '/Users/vsizov/gitlab-development-kit/repositories/gitlabhq/gitlab_git.git'" } -``` - -## `audit_json.log`[](#audit_jsonlog "Permalink") - -**注意:**大多数日志条目仅存在于[GitLab Starter 中](https://about.gitlab.com/pricing/) ,而少数存在于 GitLab Core 中. - -对于 Omnibus GitLab 软件包,此文件位于`/var/log/gitlab/gitlab-rails/audit_json.log` ,对于从源代码进行安装则位于`/home/git/gitlab/log/audit_json.log`中. - -组或项目设置的更改将记录到该文件中. 例如: - -``` -{ "severity":"INFO", "time":"2018-10-17T17:38:22.523Z", "author_id":3, "entity_id":2, "entity_type":"Project", "change":"visibility", "from":"Private", "to":"Public", "author_name":"John Doe4", "target_id":2, "target_type":"Project", "target_details":"namespace2/project2" } -``` - -## Sidekiq Logs[](#sidekiq-logs "Permalink") - -对于 Omnibus 安装,一些 Sidekiq 日志位于`/var/log/gitlab/sidekiq/current` ,如下所示. - -### `sidekiq.log`[](#sidekiqlog "Permalink") - -对于 Omnibus GitLab 软件包,此文件位于`/var/log/gitlab/gitlab-rails/sidekiq.log` ,对于从源代码进行安装则位于`/home/git/gitlab/log/sidekiq.log`中. - -GitLab 使用后台作业来处理可能需要很长时间的任务. 有关处理这些作业的所有信息都记录到该文件中. 例如: - -``` -2014-06-10T07:55:20Z 2037 TID-tm504 ERROR: /opt/bitnami/apps/discourse/htdocs/vendor/bundle/ruby/1.9.1/gems/redis-3.0.7/lib/redis/client.rb:228:in `read' -2014-06-10T18:18:26Z 14299 TID-55uqo INFO: Booting Sidekiq 3.0.0 with redis options {:url=>"redis://localhost:6379/0", :namespace=>"sidekiq"} -``` - -除了上面的格式,您可以选择为 Sidekiq 生成 JSON 日志. 例如: - -``` -{ "severity":"INFO", "time":"2018-04-03T22:57:22.071Z", "queue":"cronjob:update_all_mirrors", "args":[], "class":"UpdateAllMirrorsWorker", "retry":false, "queue_namespace":"cronjob", "jid":"06aeaa3b0aadacf9981f368e", "created_at":"2018-04-03T22:57:21.930Z", "enqueued_at":"2018-04-03T22:57:21.931Z", "pid":10077, "message":"UpdateAllMirrorsWorker JID-06aeaa3b0aadacf9981f368e: done: 0.139 sec", "job_status":"done", "duration":0.139, "completed_at":"2018-04-03T22:57:22.071Z", "db_duration":0.05, "db_duration_s":0.0005, "gitaly_duration":0, "gitaly_calls":0 } -``` - -对于 Omnibus GitLab 安装,请添加配置选项: - -``` -sidekiq['log_format'] = 'json' -``` - -对于源代码安装,请编辑`gitlab.yml`并设置 Sidekiq `log_format`配置选项: - -``` - ## Sidekiq - sidekiq: - log_format: json -``` - -### `sidekiq_client.log`[](#sidekiq_clientlog "Permalink") - -在 GitLab 12.9 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/26586) . - -对于 Omnibus GitLab 软件包,此文件位于`/var/log/gitlab/gitlab-rails/sidekiq_client.log` ,对于从源代码进行安装则位于`/home/git/gitlab/log/sidekiq_client.log`中. - -该文件包含有关 Sidekiq 开始处理作业之前(例如,入队前)的日志信息. - -该日志文件采用与[`sidekiq.log`](#sidekiqlog)相同的结构,因此,如果您如上所述为 Sidekiq 配置了此文件,则该文件将构造为 JSON. - -## `gitlab-shell.log`[](#gitlab-shelllog "Permalink") - -GitLab 使用 GitLab Shell 执行 Git 命令,并提供对 Git 存储库的 SSH 访问. - -### For GitLab versions 12.10 and up[](#for-gitlab-versions-1210-and-up "Permalink") - -对于 GitLab 版本 12.10 和更高版本,有 2 个`gitlab-shell.log`文件. 包含`git-{upload-pack,receive-pack}`请求的信息位于`/var/log/gitlab/gitlab-shell/gitlab-shell.log` . 来自 Gitaly 的与 GitLab Shell 挂钩的信息位于`/var/log/gitlab/gitaly/gitlab-shell.log` . - -`/var/log/gitlab/gitlab-shell/gitlab-shell.log`示例日志条目: - -``` -{ "duration_ms": 74.104, "level": "info", "method": "POST", "msg": "Finished HTTP request", "time": "2020-04-17T20:28:46Z", "url": "http://127.0.0.1:8080/api/v4/internal/allowed" } { "command": "git-upload-pack", "git_protocol": "", "gl_project_path": "root/example", "gl_repository": "project-1", "level": "info", "msg": "executing git command", "time": "2020-04-17T20:28:46Z", "user_id": "user-1", "username": "root" } -``` - -`/var/log/gitlab/gitaly/gitlab-shell.log`示例日志条目: - -``` -{ "method": "POST", "url": "http://127.0.0.1:8080/api/v4/internal/allowed", "duration": 0.058012959, "gitaly_embedded": true, "pid": 16636, "level": "info", "msg": "finished HTTP request", "time": "2020-04-17T20:29:08+00:00" } { "method": "POST", "url": "http://127.0.0.1:8080/api/v4/internal/pre_receive", "duration": 0.031022552, "gitaly_embedded": true, "pid": 16636, "level": "info", "msg": "finished HTTP request", "time": "2020-04-17T20:29:08+00:00" } -``` - -### For GitLab versions 12.5 through 12.9[](#for-gitlab-versions-125-through-129 "Permalink") - -对于 GitLab 12.5 至 12.9,对于 Omnibus GitLab 软件包,此文件位于`/var/log/gitlab/gitaly/gitlab-shell.log` ,对于从源代码进行安装则位于`/home/git/gitaly/gitlab-shell.log`中. - -Example log entries: - -``` -{ "method": "POST", "url": "http://127.0.0.1:8080/api/v4/internal/post_receive", "duration": 0.031809164, "gitaly_embedded": true, "pid": 27056, "level": "info", "msg": "finished HTTP request", "time": "2020-04-17T16:24:38+00:00" } -``` - -### For GitLab 12.5 and earlier[](#for-gitlab-125-and-earlier "Permalink") - -对于 GitLab 12.5 和更早版本,该文件位于`/var/log/gitlab/gitlab-shell/gitlab-shell.log` . - -示例日志条目: - -``` -I, [2015-02-13T06:17:00.671315 #9291] INFO -- : Adding project root/example.git at . -I, [2015-02-13T06:17:00.679433 #9291] INFO -- : Moving existing hooks directory and symlinking global hooks directory for /var/opt/gitlab/git-data/repositories/root/example.git. -``` - -`executing git command : worker (pid: 9094) exceeds memory limit (320626688 bytes > 247066940 bytes) -W, [2015-02-13T07:16:01.313000 #9094] WARN -- : Unicorn::WorkerKiller send SIGQUIT (pid: 9094) alive: 3621 sec (trial 1) -I, [2015-02-13T07:16:01.530733 #9047] INFO -- : reaped # worker=1 -I, [2015-02-13T07:16:01.534501 #13379] INFO -- : worker=1 spawned pid=13379 -I, [2015-02-13T07:16:01.534848 #13379] INFO -- : worker=1 ready -``` - -## `repocheck.log`[](#repochecklog "Permalink") - -对于 Omnibus GitLab 软件包,此文件位于`/var/log/gitlab/gitlab-rails/repocheck.log` ,对于来自源的安装,该文件位于`/home/git/gitlab/log/repocheck.log`中. - -每当在项目上[运行存储库检查](repository_checks.html)时,它都会记录信息. - -## `importer.log`[](#importerlog "Permalink") - -在 GitLab 11.3 中引入. - -对于 Omnibus GitLab 软件包,此文件位于`/var/log/gitlab/gitlab-rails/importer.log` ,对于从源代码进行安装则位于`/home/git/gitlab/log/importer.log`中. - -它记录导入过程的进度. - -## `exporter.log`[](#exporterlog "Permalink") - -在 GitLab 13.1 中引入. - -对于 Omnibus GitLab 软件包,此文件位于`/var/log/gitlab/gitlab-rails/exporter.log` ,对于来自源的安装,该文件位于`/home/git/gitlab/log/exporter.log`中. - -它记录导出过程的进度. - -## `auth.log`[](#authlog "Permalink") - -在 GitLab 12.0 中引入. - -对于 Omnibus GitLab 软件包,此文件位于`/var/log/gitlab/gitlab-rails/auth.log` ,对于来自源的安装,该文件位于`/home/git/gitlab/log/auth.log`中. - -该日志记录: - -* 每当[Rack Attack](../security/rack_attack.html)注册滥用请求时提供的信息. -* 请求超过原始端点上的[速率限制](../user/admin_area/settings/rate_limits_on_raw_endpoints.html) . -* [受保护的路径](../user/admin_area/settings/protected_paths.html)滥用请求. - -**注意:**在 GitLab [12.3](https://gitlab.com/gitlab-org/gitlab/-/issues/29239)和更高版本中,用户 ID 和用户名也会记录在该日志中(如果有). - -## `graphql_json.log`[](#graphql_jsonlog "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/59587) in GitLab 12.0. - -对于 Omnibus GitLab 软件包,此文件位于`/var/log/gitlab/gitlab-rails/graphql_json.log` ,对于从源代码进行安装则位于`/home/git/gitlab/log/graphql_json.log`中. - -GraphQL 查询记录在该文件中. 例如: - -``` -{"query_string":"query IntrospectionQuery{__schema {queryType { name },mutationType { name }}}...(etc)","variables":{"a":1,"b":2},"complexity":181,"depth":1,"duration_s":7} -``` - -## `migrations.log`[](#migrationslog "Permalink") - -在 GitLab 12.3 中引入. - -对于 Omnibus GitLab 软件包,此文件位于`/var/log/gitlab/gitlab-rails/migrations.log` ,对于从源代码进行安装则位于`/home/git/gitlab/log/migrations.log`中. - -## `mail_room_json.log` (default)[](#mail_room_jsonlog-default "Permalink") - -在 GitLab 12.6 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/19186) . - -对于 Omnibus GitLab 软件包,此文件位于`/var/log/gitlab/mailroom/current` ,对于来自源的安装,该文件位于`/home/git/gitlab/log/mail_room_json.log`中. - -这个结构化的日志文件将内部活动记录在`mail_room` gem 中. 它的名称和路径是可配置的,因此名称和路径可能与上面的不匹配. - -## Reconfigure Logs[](#reconfigure-logs "Permalink") - -为 Omnibus GitLab 软件包`/var/log/gitlab/reconfigure`日志文件. 从源安装没有重新配置日志. 每当手动或作为升级的一部分运行`gitlab-ctl reconfigure`时, `gitlab-ctl reconfigure`填充一个重配置日志. - -根据启动重新配置的 UNIX 时间戳记来命名重新配置日志文件,例如`1509705644.log` - -## `sidekiq_exporter.log` and `web_exporter.log`[](#sidekiq_exporterlog-and-web_exporterlog "Permalink") - -如果同时启用了 Prometheus 指标和 Sidekiq 导出器,则 Sidekiq 将启动 Web 服务器并侦听定义的端口(默认值: `8082` ). 对于 Omnibus GitLab 软件包,访问日志将在`/var/log/gitlab/gitlab-rails/sidekiq_exporter.log`中生成,对于从源代码进行的安装,将在`/home/git/gitlab/log/sidekiq_exporter.log`生成. - -如果同时启用了 Prometheus 指标和 Web 导出器,则 Puma / Unicorn 将启动 Web 服务器并侦听定义的端口(默认值: `8083` ). 对于 Omnibus GitLab 软件包,访问日志将在`/var/log/gitlab/gitlab-rails/web_exporter.log`中生成,对于源安装,将在`/home/git/gitlab/log/web_exporter.log`生成. - -## `database_load_balancing.log`[](#database_load_balancinglog-premium-only "Permalink") - -在 GitLab 12.3 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/15442) . - -包含 GitLab 的[数据库负载平衡的](database_load_balancing.html)详细信息. 它存储在: - -* `/var/log/gitlab/gitlab-rails/database_load_balancing.log`用于 Omnibus GitLab 软件包. -* `/home/git/gitlab/log/database_load_balancing.log`用于从源代码进行安装. - -## `elasticsearch.log`[](#elasticsearchlog-starter-only "Permalink") - -在 GitLab 12.6 中引入. - -对于 Omnibus GitLab 软件包,此文件位于`/var/log/gitlab/gitlab-rails/elasticsearch.log` ,对于来自源的安装,该文件位于`/home/git/gitlab/log/elasticsearch.log`中. - -它记录与 Elasticsearch Integration 相关的信息,包括在索引或搜索 Elasticsearch 期间发生的错误. - -每行包含一个可以由 Elasticsearch 和 Splunk 之类的服务提取的 JSON 行. 为了清楚起见,在以下示例行中添加了换行符: - -``` -{ "severity":"DEBUG", "time":"2019-10-17T06:23:13.227Z", "correlation_id":null, "message":"redacted_search_result", "class_name":"Milestone", "id":2, "ability":"read_milestone", "current_user_id":2, "query":"project" } -``` - -## `exceptions_json.log`[](#exceptions_jsonlog "Permalink") - -在 GitLab 12.6 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/17819) . - -对于 Omnibus GitLab 软件包,此文件位于`/var/log/gitlab/gitlab-rails/exceptions_json.log` ,对于从源代码进行安装则位于`/home/git/gitlab/log/exceptions_json.log`中. - -它记录有关`Gitlab::ErrorTracking`跟踪的异常的信息,该信息提供了一种标准且一致的方式来[处理已获救的异常](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/development/logging.md#exception-handling) . - -每行包含一个可由 Elasticsearch 摄取的 JSON 行. 例如: - -``` -{ "severity": "ERROR", "time": "2019-12-17T11:49:29.485Z", "correlation_id": "AbDVUrrTvM1", "extra.project_id": 55, "extra.relation_key": "milestones", "extra.relation_index": 1, "exception.class": "NoMethodError", "exception.message": "undefined method `strong_memoize' for #", "exception.backtrace": [ "lib/gitlab/import_export/relation_factory.rb:329:in `unique_relation?'", "lib/gitlab/import_export/relation_factory.rb:345:in `find_or_create_object!'" ] } -``` - -## `service_measurement.log`[](#service_measurementlog "Permalink") - -在 GitLab 13.0 中引入. - -对于 Omnibus GitLab 软件包,此文件位于`/var/log/gitlab/gitlab-rails/service_measurement.log` ,对于来自源的安装,该文件位于`/home/git/gitlab/log/service_measurement.log`中. - -它仅包含一个结构化日志,其中包含每个服务执行的度量. 它将包含诸如 SQL 调用数, `execution_time` , `gc_stats`和`memory usage` `gc_stats` . - -例如: - -``` -{ "severity":"INFO", "time":"2020-04-22T16:04:50.691Z","correlation_id":"04f1366e-57a1-45b8-88c1-b00b23dc3616","class":"Projects::ImportExport::ExportService","current_user":"John Doe","project_full_path":"group1/test-export","file_path":"/path/to/archive","gc_stats":{"count":{"before":127,"after":127,"diff":0},"heap_allocated_pages":{"before":10369,"after":10369,"diff":0},"heap_sorted_length":{"before":10369,"after":10369,"diff":0},"heap_allocatable_pages":{"before":0,"after":0,"diff":0},"heap_available_slots":{"before":4226409,"after":4226409,"diff":0},"heap_live_slots":{"before":2542709,"after":2641420,"diff":98711},"heap_free_slots":{"before":1683700,"after":1584989,"diff":-98711},"heap_final_slots":{"before":0,"after":0,"diff":0},"heap_marked_slots":{"before":2542704,"after":2542704,"diff":0},"heap_eden_pages":{"before":10369,"after":10369,"diff":0},"heap_tomb_pages":{"before":0,"after":0,"diff":0},"total_allocated_pages":{"before":10369,"after":10369,"diff":0},"total_freed_pages":{"before":0,"after":0,"diff":0},"total_allocated_objects":{"before":24896308,"after":24995019,"diff":98711},"total_freed_objects":{"before":22353599,"after":22353599,"diff":0},"malloc_increase_bytes":{"before":140032,"after":6650240,"diff":6510208},"malloc_increase_bytes_limit":{"before":25804104,"after":25804104,"diff":0},"minor_gc_count":{"before":94,"after":94,"diff":0},"major_gc_count":{"before":33,"after":33,"diff":0},"remembered_wb_unprotected_objects":{"before":34284,"after":34284,"diff":0},"remembered_wb_unprotected_objects_limit":{"before":68568,"after":68568,"diff":0},"old_objects":{"before":2404725,"after":2404725,"diff":0},"old_objects_limit":{"before":4809450,"after":4809450,"diff":0},"oldmalloc_increase_bytes":{"before":140032,"after":6650240,"diff":6510208},"oldmalloc_increase_bytes_limit":{"before":68537556,"after":68537556,"diff":0}},"time_to_finish":0.12298400001600385,"number_of_sql_calls":70,"memory_usage":"0.0 MiB","label":"process_48616"} -``` - -## `geo.log`[](#geolog-premium-only "Permalink") - -> 在 9.5 中引入. - -Geo 将结构化日志消息存储在`geo.log`文件中. 对于 Omnibus 安装,此文件位于`/var/log/gitlab/gitlab-rails/geo.log` . - -该文件包含有关 Geo 何时尝试同步存储库和文件的信息. 文件中的每一行都包含一个可以提取的单独的 JSON 条目. 例如,Elasticsearch 或 Splunk. - -For example: - -``` -{"severity":"INFO","time":"2017-08-06T05:40:16.104Z","message":"Repository update","project_id":1,"source":"repository","resync_repository":true,"resync_wiki":true,"class":"Gitlab::Geo::LogCursor::Daemon","cursor_delay_s":0.038} -``` - -此消息表明,Geo 检测到项目`1`需要存储库更新. - -## Registry Logs[](#registry-logs "Permalink") - -对于 Omnibus 安装,容器注册表日志位于`/var/log/gitlab/registry/current` . - -## NGINX Logs[](#nginx-logs "Permalink") - -对于 Omnibus 安装,NGINX 日志位于: - -* `/var/log/gitlab/nginx/gitlab_access.log`包含对 GitLab 的请求的日志. -* `/var/log/gitlab/nginx/gitlab_error.log`包含有关 GitLab 的 NGINX 错误的日志. -* `/var/log/gitlab/nginx/gitlab_pages_access.log`包含对 Pages 静态站点的请求的日志. -* `/var/log/gitlab/nginx/gitlab_pages_error.log`包含 Pages 静态站点的 NGINX 错误日志. -* `/var/log/gitlab/nginx/gitlab_registry_access.log`包含对容器注册表进行的请求的日志. -* `/var/log/gitlab/nginx/gitlab_registry_error.log`包含容器注册表的 NGINX 错误日志. -* `/var/log/gitlab/nginx/gitlab_mattermost_access.log`包含对 Mattermost 的请求日志. -* `/var/log/gitlab/nginx/gitlab_mattermost_error.log`包含 Mattermost 的 NGINX 错误日志. - -以下是默认的 GitLab NGINX 访问日志格式: - -``` -$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" -``` - -## Pages Logs[](#pages-logs "Permalink") - -对于 Omnibus 安装,Pages 日志位于`/var/log/gitlab/gitlab-pages/current` . - -例如: - -``` -{ "level": "info", "msg": "GitLab Pages Daemon", "revision": "52b2899", "time": "2020-04-22T17:53:12Z", "version": "1.17.0" } { "level": "info", "msg": "URL: https://gitlab.com/gitlab-org/gitlab-pages", "time": "2020-04-22T17:53:12Z" } { "gid": 998, "in-place": false, "level": "info", "msg": "running the daemon as unprivileged user", "time": "2020-04-22T17:53:12Z", "uid": 998 } -``` - -## Mattermost Logs[](#mattermost-logs "Permalink") - -For Omnibus GitLab installations, Mattermost logs reside in `/var/log/gitlab/mattermost/mattermost.log`. - -## Workhorse Logs[](#workhorse-logs "Permalink") - -对于 Omnibus GitLab 安装,Workhorse 日志位于`/var/log/gitlab/gitlab-workhorse/` . - -## PostgreSQL Logs[](#postgresql-logs "Permalink") - -对于 Omnibus GitLab 安装,PostgreSQL 日志位于`/var/log/gitlab/postgresql/` . - -## Prometheus Logs[](#prometheus-logs "Permalink") - -对于 Omnibus GitLab 安装,Prometheus 日志位于`/var/log/gitlab/prometheus/` . - -## Redis Logs[](#redis-logs "Permalink") - -对于所有安装的 GitLab,它返回的日志位于`/var/log/gitlab/redis/` . - -## Alertmanager Logs[](#alertmanager-logs "Permalink") - -对于 Omnibus GitLab 安装,Alertmanager 日志位于`/var/log/gitlab/alertmanager/` . - -## Crond Logs[](#crond-logs "Permalink") - -对于 Omnibus GitLab 安装,crond 日志位于`/var/log/gitlab/crond/` . - -## Grafana Logs[](#grafana-logs "Permalink") - -对于 Omnibus GitLab 安装,Grafana 日志位于`/var/log/gitlab/grafana/` . - -## LogRotate Logs[](#logrotate-logs "Permalink") - -对于 Omnibus GitLab 安装,logrotate 日志位于`/var/log/gitlab/logrotate/` . - -## GitLab Monitor Logs[](#gitlab-monitor-logs "Permalink") - -对于 Omnibus GitLab 安装,GitLab Monitor 日志位于`/var/log/gitlab/gitlab-monitor/` . - -## GitLab Exporter[](#gitlab-exporter "Permalink") - -对于 Omnibus GitLab 安装,GitLab Exporter 日志位于`/var/log/gitlab/gitlab-exporter/` . \ No newline at end of file diff --git a/docs/452.md b/docs/452.md deleted file mode 100644 index e0522df..0000000 --- a/docs/452.md +++ /dev/null @@ -1 +0,0 @@ -> 原文:[https://docs.gitlab.com/ee/administration/auth/README.html](https://docs.gitlab.com/ee/administration/auth/README.html) \ No newline at end of file diff --git a/docs/453.md b/docs/453.md deleted file mode 100644 index 3afcd0f..0000000 --- a/docs/453.md +++ /dev/null @@ -1,186 +0,0 @@ -# PlantUML & GitLab - -> 原文:[https://docs.gitlab.com/ee/administration/integration/plantuml.html](https://docs.gitlab.com/ee/administration/integration/plantuml.html) - -* [PlantUML Server](#plantuml-server) - * [Docker](#docker) - * [Debian/Ubuntu](#debianubuntu) - * [Making local PlantUML accessible using custom GitLab setup](#making-local-plantuml-accessible-using-custom-gitlab-setup) - * [Security](#security) -* [GitLab](#gitlab) -* [Creating Diagrams](#creating-diagrams) - -# PlantUML & GitLab[](#plantuml--gitlab "Permalink") - -在 GitLab 8.16 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/8537) . - -在 GitLab 中启用并配置[PlantUML](https://plantuml.com)集成后,我们便能够在片段,Wiki 和存储库中创建的 AsciiDoc 和 Markdown 文档中创建简单的图表. - -## PlantUML Server[](#plantuml-server "Permalink") - -在 GitLab 中启用 PlantUML 之前; 您需要设置自己的 PlantUML 服务器以生成图表. - -### Docker[](#docker "Permalink") - -使用 Docker,您可以仅运行如下容器: - -``` -docker run -d --name plantuml -p 8080:8080 plantuml/plantuml-server:tomcat -``` - -**PlantUML URL**将是运行容器的服务器的主机名. - -在 Docker 中运行 GitLab 时,它将需要有权访问 PlantUML 容器. 最简单的方法是使用[Docker Compose](https://s0docs0docker0com.icopy.site/compose/) . - -一个简单`docker-compose.yml`文件将是: - -``` -version: "3" -services: - gitlab: - image: 'gitlab/gitlab-ce:12.2.5-ce.0' - environment: - GITLAB_OMNIBUS_CONFIG: | - nginx['custom_gitlab_server_config'] = "location /-/plantuml/ { \n proxy_cache off; \n proxy_pass http://plantuml:8080/; \n}\n" - - plantuml: - image: 'plantuml/plantuml-server:tomcat' - container_name: plantuml -``` - -在这种情况下,可以通过 URL `http://plantuml:8080/`访问 GitLab 的`http://plantuml:8080/` . - -### Debian/Ubuntu[](#debianubuntu "Permalink") - -在使用 Tomcat 的 Debian / Ubuntu 发行版中,安装和配置自己的 PlantUML 服务器非常容易. - -首先,您需要从源代码创建一个`plantuml.war`文件: - -``` -sudo apt-get install graphviz openjdk-8-jdk git-core maven -git clone https://github.com/plantuml/plantuml-server.git -cd plantuml-server -mvn package -``` - -上面的命令序列将生成可以使用 Tomcat 部署的 WAR 文件: - -``` -sudo apt-get install tomcat8 -sudo cp target/plantuml.war /var/lib/tomcat8/webapps/plantuml.war -sudo chown tomcat8:tomcat8 /var/lib/tomcat8/webapps/plantuml.war -sudo service tomcat8 restart -``` - -Tomcat 服务重新启动后,PlantUML 服务将准备就绪,并在端口 8080 上侦听请求: - -``` -http://localhost:8080/plantuml -``` - -您可以通过编辑`/etc/tomcat8/server.xml`文件来更改这些默认值. - -请注意,默认 URL 与使用基于 Docker 的映像时不同,后者在 URL 的根目录中提供服务,而没有相对路径. 相应地调整以下配置. - -### Making local PlantUML accessible using custom GitLab setup[](#making-local-plantuml-accessible-using-custom-gitlab-setup "Permalink") - -PlantUML 服务器在您的服务器上本地运行,因此无法从外部访问. 因此,有必要捕获外部 PlantUML 调用并将其重定向到本地服务器. - -想法是将每次调用`https://gitlab.example.com/-/plantuml/`重定向到本地 PlantUML 服务器`http://plantuml:8080/`或`http://localhost:8080/plantuml/` ,具体取决于您的建立. - -要启用重定向,请在`/etc/gitlab/gitlab.rb`添加以下行: - -``` -# Docker deployment -nginx['custom_gitlab_server_config'] = "location /-/plantuml/ { \n proxy_cache off; \n proxy_pass http://plantuml:8080/; \n}\n" - -# Built from source -nginx['custom_gitlab_server_config'] = "location /-/plantuml { \n rewrite ^/-/(plantuml.*) /$1 break;\n proxy_cache off; \n proxy_pass http://localhost:8080/plantuml; \n}\n" -``` - -要激活更改,请运行以下命令: - -``` -sudo gitlab-ctl reconfigure -``` - -### Security[](#security "Permalink") - -PlantUML 具有允许获取网络资源的功能. - -``` -@startuml -start - ' ... - !include http://localhost/ -stop; -@enduml -``` - -**如果您自行托管 PlantUML 服务器,则应放置网络控件以隔离它.** - -## GitLab[](#gitlab "Permalink") - -您需要从"管理"区域下的"设置"启用 PlantUML 集成. 为此,请使用管理员帐户登录并执行以下操作: - -* 在 GitLab 中,转到**管理区域>设置>集成** . -* 展开**PlantUML**部分. -* Check **启用 PlantUML** checkbox. -* Set the PlantUML instance as `https://gitlab.example.com/-/plantuml/`. - -**注意:**如果使用的是运行 v1.2020.9 及更高版本的 PlantUML 服务器(例如[plantuml.com](https://plantuml.com) ),请设置`PLANTUML_ENCODING`环境变量以启用`deflate`压缩. 在 Omnibus 上,可以在`/etc/gitlab.rb`进行设置: - -``` -gitlab_rails['env'] = { 'PLANTUML_ENCODING' => 'deflate' } -``` - -从 GitLab 13.1 和更高版本开始,PlantUML 集成现在[需要 URL 中的标头前缀](https://github.com/plantuml/plantuml/issues/117#issuecomment-6235450160)来区分不同的编码类型. - -## Creating Diagrams[](#creating-diagrams "Permalink") - -启用并配置 PlantUML 集成后,我们可以开始使用分隔的块向我们的 AsciiDoc 代码片段,Wiki 和存储库添加图表: - -* **Markdown** - - ``` - ```plantuml Bob -> Alice : hello - Alice -> Bob : hi - ``` - ``` - -* **AsciiDoc** - - ``` - [plantuml, format="png", id="myDiagram", width="200px"] - ---- - Bob->Alice : hello - Alice -> Bob : hi - ---- - ``` - -* **reStructuredText** - - ``` - .. plantuml:: - :caption: Caption with **bold** and *italic* - - Bob -> Alice: hello - Alice -> Bob: hi - ``` - - 您也可以使用`uml::`指令与[`sphinxcontrib-plantuml`](https://s0pypi0org.icopy.site/project/sphinxcontrib-plantuml/)兼容,但是请注意,我们目前仅支持`caption`选项. - -上面的块将被转换为 HTML 图像标签,其源指向 PlantUML 实例. 如果已正确配置 PlantUML 服务器,则应呈现一个不错的图而不是块: - -![](img/d19e6203a8567c2d6be7d878dd653654.png) - -在块内,您可以通过 PlantUML 添加任何受支持的图,例如[Sequence](https://plantuml.com/sequence-diagram) , [Use Case](https://plantuml.com/use-case-diagram) , [Class](https://plantuml.com/class-diagram) , [Activity](https://plantuml.com/activity-diagram-legacy) , [Component](https://plantuml.com/component-diagram) , [State](https://plantuml.com/state-diagram)和[Object](https://plantuml.com/object-diagram)图. 您不需要使用 PlantUML 图定界符`@startuml` / `@enduml`因为它们已被 AsciiDoc `plantuml`块替换. - -可以将一些参数添加到 AsciiDoc 块定义中: - -* `format` :可以是`png`或`svg` . 请注意,并非所有浏览器都支持`svg` ,因此请谨慎使用. 默认值为`png` . -* `id` :添加到图 HTML 标记的 CSS ID. -* `width` :宽度属性添加到图像标签. -* `height` :高度属性添加到图像标签. - -Markdown 不支持任何参数,并且将始终使用 PNG 格式. \ No newline at end of file diff --git a/docs/454.md b/docs/454.md deleted file mode 100644 index a3b0da4..0000000 --- a/docs/454.md +++ /dev/null @@ -1,32 +0,0 @@ -# Repository checks - -> 原文:[https://docs.gitlab.com/ee/administration/repository_checks.html](https://docs.gitlab.com/ee/administration/repository_checks.html) - -* [Periodic checks](#periodic-checks) -* [Disabling periodic checks](#disabling-periodic-checks) -* [What to do if a check failed](#what-to-do-if-a-check-failed) - -# Repository checks[](#repository-checks "Permalink") - -在 GitLab 8.7 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/3232) . - -Git 具有内置机制[`git fsck`](https://git-scm.com/docs/git-fsck) ,以验证提交到存储库的所有数据的完整性. GitLab 管理员可以通过管理面板下的项目页面触发对项目的检查. 由于检查是异步进行的,因此可能需要几分钟才能在项目管理页面上看到检查结果. 如果检查失败,则可以在[`repocheck.log`文件中](logs.html#repochecklog)看到其输出[.](logs.html#repochecklog) - -**注意:**默认情况下为 OFF,因为它仍然会导致过多的错误警报. - -## Periodic checks[](#periodic-checks "Permalink") - -启用后,GitLab 会定期在所有项目存储库和 Wiki 存储库上运行存储库检查,以检测数据损坏. 一个项目每月检查不超过一次. 如果任何项目未能通过其存储库检查,则所有 GitLab 管理员都将收到有关情况的电子邮件通知. 默认情况下,该通知每周一次发送,默认为星期日开始的午夜. 可以在`/admin/projects?last_repository_check_failed=1`找到具有已知检查失败的存储库. - -## Disabling periodic checks[](#disabling-periodic-checks "Permalink") - -You can disable the periodic checks on the ‘Settings’ page of the admin panel. - -## What to do if a check failed[](#what-to-do-if-a-check-failed "Permalink") - -如果某个存储库的存储库检查失败,则应在磁盘上的[`repocheck.log`文件中](logs.html#repochecklog)查找错误: - -* `/var/log/gitlab/gitlab-rails`用于所有安装 -* `/home/git/gitlab/log`用于从源代码进行安装 - -如果定期的存储库检查导致错误警报,则可以通过导航到" **管理区域">"设置">"存储库"** ( `/admin/application_settings/repository` )并单击" **清除所有存储库检查"**来**清除所有存储库检查状态** . \ No newline at end of file diff --git a/docs/455.md b/docs/455.md deleted file mode 100644 index 115cfc9..0000000 --- a/docs/455.md +++ /dev/null @@ -1,94 +0,0 @@ -# Repository storage paths - -> 原文:[https://docs.gitlab.com/ee/administration/repository_storage_paths.html](https://docs.gitlab.com/ee/administration/repository_storage_paths.html) - -* [Configure GitLab](#configure-gitlab) -* [Choose where new repositories will be stored](#choose-where-new-repositories-will-be-stored) - -# Repository storage paths[](#repository-storage-paths "Permalink") - -在 GitLab 8.10 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/4578) . - -GitLab 允许您定义多个存储库存储路径(有时称为存储碎片),以在多个安装点之间分配存储负载. - -> **Notes:** -> -> * 您必须至少有一个名为`default`存储路径. -> * 路径在键值对中定义. 密钥是一个任意名称,您可以选择该名称来命名文件路径. -> * 目标目录及其任何子路径不得为符号链接. -> * 目标目录不能是另一个目录的子目录. 没有嵌套. - -示例:这可以: - -``` -default: - path: /mnt/git-storage-1 -storage2: - path: /mnt/git-storage-2 -``` - -这不行,因为它嵌套了存储路径: - -``` -default: - path: /mnt/git-storage-1 -storage2: - path: /mnt/git-storage-1/git-storage-2 # <- NOT OK because of nesting -``` - -## Configure GitLab[](#configure-gitlab "Permalink") - -> **警告:**为了使[备份](../raketasks/backup_restore.html)正常工作,存储路径**不得**为挂载点,并且 GitLab 用户应对该路径的父目录具有正确的权限. 在 Omnibus GitLab 中,这是自动处理的,但是对于源代码安装,您应该格外小心. -> -> 事实是,出于兼容性原因, `gitlab.yml`与 Omnibus 具有不同的结构. 在`gitlab.yml`您指示存储库的路径,例如`/home/git/repositories` ,而在 Omnibus 中,您指示`git_data_dirs` ,对于上面的示例,它是`/home/git` . 然后,Omnibus 将在该路径下创建一个`repositories`目录,以与`gitlab.yml`一起使用. -> -> 这个小细节很重要,因为在还原备份时, `/home/git/repositories`的当前内容[已移至](https://gitlab.com/gitlab-org/gitlab/blob/033e5423a2594e08a7ebcd2379bd2331f4c39032/lib/backup/repository.rb#L54-56) `/home/git/repositories.old` ,因此,如果`/home/git/repositories`是安装点,则`mv`会移动挂载点之间发生故障,并且可能发生不良情况. 理想情况下, `/home/git`是挂载点,因此事情将在同一挂载点内移动. Omnibus 安装可以保证这一点(因为它们没有指定完整的存储库路径,而是指定父路径),但对于源安装则没有保证. - -现在,您已经阅读了上面的警告提示,让我们编辑配置文件并添加备用存储库存储路径的完整路径. 在下面的示例中,我们添加了另外两个挂载点,分别称为`nfs_1`和`nfs_2` . - -**Note:** This example uses NFS. We do not recommend using EFS for storage as it may impact GitLab’s performance. See the [relevant documentation](high_availability/nfs.html#avoid-using-awss-elastic-file-system-efs) for more details. - -**对于源安装** - -1. 编辑`gitlab.yml`并添加存储路径: - - ``` - repositories: - # Paths where repositories can be stored. Give the canonicalized absolute pathname. - # NOTE: REPOS PATHS MUST NOT CONTAIN ANY SYMLINK!!! - storages: # You must have at least a 'default' storage path. - default: - path: /home/git/repositories - nfs_1: - path: /mnt/nfs1/repositories - nfs_2: - path: /mnt/nfs2/repositories - ``` - -2. [重新启动 GitLab,](restart_gitlab.html#installations-from-source)以使更改生效. - -> **注:** [`gitlab_shell: repos_path`条目](https://gitlab.com/gitlab-org/gitlab-foss/-/blob/8-9-stable/config/gitlab.yml.example#L457)中`gitlab.yml`将被弃用,取而代之的是`repositories: storages`在未来,所以如果你是从之前的版本升级 8.10,确保如在上述步骤中所描述的添加配置. 进行更改并确认它们可以使用之后,可以删除`repos_path`行. - -**对于所有安装** - -1. 通过将其余路径附加到默认路径中来编辑`/etc/gitlab/gitlab.rb` : - - ``` - git_data_dirs({ - "default" => { "path" => "/var/opt/gitlab/git-data" }, - "nfs_1" => { "path" => "/mnt/nfs1/git-data" }, - "nfs_2" => { "path" => "/mnt/nfs2/git-data" } - }) - ``` - - 请注意,Omnibus 将存储库存储在`git-data`目录的`repositories`子目录中. - -## Choose where new repositories will be stored[](#choose-where-new-repositories-will-be-stored "Permalink") - -设置了多个存储路径后,您可以在**管理区域>设置>存储库>存储库存储>新存储库的存储节点下选择新存储库的存储位置** . - -可以为每个存储分配 0 到 100 的权重. 创建新项目时,将使用这些权重来确定将在其上创建存储库的存储位置. - -[![Choose repository storage path in Admin Area](img/fc80ee243381890526471d6fc360f7cf.png)](img/repository_storages_admin_ui_v13_1.png) - -从 GitLab 8.13.4 开始,可以选择多个路径. 新存储库将随机放置在所选路径之一上. \ No newline at end of file diff --git a/docs/456.md b/docs/456.md deleted file mode 100644 index c33c9b3..0000000 --- a/docs/456.md +++ /dev/null @@ -1,166 +0,0 @@ -# Repository storage types - -> 原文:[https://docs.gitlab.com/ee/administration/repository_storage_types.html](https://docs.gitlab.com/ee/administration/repository_storage_types.html) - -* [Hashed storage](#hashed-storage) - * [Translating hashed storage paths](#translating-hashed-storage-paths) - * [From project name to hashed path](#from-project-name-to-hashed-path) - * [From hashed path to project name](#from-hashed-path-to-project-name) - * [Hashed object pools](#hashed-object-pools) - * [Hashed storage coverage migration](#hashed-storage-coverage-migration) - * [Avatars](#avatars) - * [CI artifacts](#ci-artifacts) - * [LFS objects](#lfs-objects) -* [Legacy storage](#legacy-storage) - -# Repository storage types[](#repository-storage-types-core-only "Permalink") - -版本历史 - -* 在 GitLab 10.0 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/28283) . -* 静默存储已成为 GitLab 12.0 中新安装的默认存储 -* 默认情况下,在 GitLab 13.0 中为新项目和重命名项目启用了哈希存储. - -可以将 GitLab 配置为使用一个或多个存储库存储路径/碎片位置,它们可以是: - -* 挂载到本地磁盘 -* 公开为 NFS 共享卷 -* 在自己的计算机上通过[Gitaly](gitaly/index.html)访问. - -在 GitLab 中,这是通过`git_data_dirs({})`配置哈希值在`/etc/gitlab/gitlab.rb`进行配置的. 此处讨论的存储布局将适用于其中定义的所有分片. - -在未自定义它的任何安装中可用的`default`存储库碎片指向本地文件夹: `/var/opt/gitlab/git-data` . 下面讨论的所有内容都应属于该文件夹. - -## Hashed storage[](#hashed-storage "Permalink") - -**注意:**在 GitLab 13.0 中,默认情况下启用了哈希存储,并且不建议使用旧存储. 在 GitLab 14.0 中将删除对旧存储的支持. 如果您尚未迁移,请查看[迁移说明](raketasks/storage.html#migrate-to-hashed-storage) . 在管理区域中的哈希存储和旧存储之间进行选择的选项已被禁用. - -哈希存储是我们从 10.0 开始推出的存储行为. 与其耦合项目 URL 和将存储库存储在磁盘上的文件夹结构,不如基于项目 ID 耦合散列. 这使得文件夹结构不可变,因此消除了将状态从 URL 同步到磁盘结构的任何要求. 这意味着重命名组,用户或项目将仅花费数据库事务的费用,并且将立即生效. - -哈希还有助于将存储库更均匀地分布在磁盘上,因此顶层目录包含的文件夹少于顶层命名空间的总数. - -哈希格式基于 SHA256 的十六进制表示形式: `SHA256(project.id)` . 顶级文件夹使用前两个字符,然后是另一个文件夹,其后两个字符. 它们都存储在特殊的`@hashed`文件夹中,以便能够与现有的 Legacy Storage 项目共存: - -``` -# Project's repository: -"@hashed/#{hash[0..1]}/#{hash[2..3]}/#{hash}.git" - -# Wiki's repository: -"@hashed/#{hash[0..1]}/#{hash[2..3]}/#{hash}.wiki.git" -``` - -### Translating hashed storage paths[](#translating-hashed-storage-paths "Permalink") - -对 Git 存储库中的问题进行故障排除,添加挂钩和其他任务,将需要您在人类可读的项目名称和哈希存储路径之间进行转换. - -#### From project name to hashed path[](#from-project-name-to-hashed-path "Permalink") - -哈希路径显示在项目页面的[admin 区域中](../user/admin_area/index.html#administering-projects) . - -要访问"项目"页面,请转到" **管理区域">"概述">"项目"** ,然后打开该项目的页面. - -此处显示" Gitaly 相对路径",例如: - -``` -"@hashed/b1/7e/b17ef6d19c7a5b1ee83b907c595526dcb1eb06db8227d650d5dda0a9f4ce8cd9.git" -``` - -这是默认 Omnibus 安装中`/var/opt/gitlab/git-data/repositories/`下的路径. - -在[Rails 控制台中](troubleshooting/debug.html#starting-a-rails-console-session) ,使用数字项目 ID 或完整路径获取此信息: - -``` -Project.find(16).disk_path -Project.find_by_full_path('group/project').disk_path -``` - -#### From hashed path to project name[](#from-hashed-path-to-project-name "Permalink") - -要将哈希存储路径转换为项目名称,请执行以下操作: - -1. 启动[Rails 控制台](troubleshooting/debug.html#starting-a-rails-console-session) . -2. 运行以下命令: - -``` -ProjectRepository.find_by(disk_path: '@hashed/b1/7e/b17ef6d19c7a5b1ee83b907c595526dcb1eb06db8227d650d5dda0a9f4ce8cd9').project -``` - -该命令中带引号的字符串是您在 GitLab 服务器上找到的目录树. 例如,在默认的 Omnibus 安装上,该`.git`将是`/var/opt/gitlab/git-data/repositories/@hashed/b1/7e/b17ef6d19c7a5b1ee83b907c595526dcb1eb06db8227d650d5dda0a9f4ce8cd9.git`从目录名称的末尾删除. - -输出包括项目 ID 和项目名称: - -``` -=> # -``` - -### Hashed object pools[](#hashed-object-pools "Permalink") - -在 GitLab 12.1 中[引入](https://gitlab.com/gitlab-org/gitaly/-/issues/1606) . - -**危险:**不要在池存储库中运行`git prune`或`git gc` ! 这可能会导致依赖于相关池的"实际"存储库中的数据丢失. - -通过创建第三个存储库(对象池)对公共项目的分支进行重复数据删除,其中包含来自源项目的对象. 使用`objects/info/alternates` ,源项目和派生将对象池用于共享对象. 当在源项目上运行内务管理时,会将对象从源项目移动到对象池. - -``` -# object pool paths -"@pools/#{hash[0..1]}/#{hash[2..3]}/#{hash}.git" -``` - -### Hashed storage coverage migration[](#hashed-storage-coverage-migration "Permalink") - -如果存储在 S3 兼容端点中的文件没有前缀`#{namespace}/#{project_name}` (对于 CI Cache 和 LFS 对象是正确的`#{namespace}/#{project_name}` ,则不会有前面提到的缺点. - -在下表中,您可以找到迁移到哈希存储的范围. - -| 可存储对象 | 旧版存储 | 杂物箱 | 兼容 S3 | GitLab 版本 | -| --- | --- | --- | --- | --- | -| Repository | Yes | Yes | - | 10.0 | -| Attachments | Yes | Yes | - | 10.2 | -| Avatars | Yes | No | - | - | -| Pages | Yes | No | - | - | -| Docker 注册表 | Yes | No | - | - | -| CI 构建日志 | No | No | - | - | -| CI Artifacts | No | No | Yes | 9.4 / 10.6 | -| CI 缓存 | No | No | Yes | - | -| LFS 对象 | Yes | Similar | Yes | 10.0 / 10.7 | -| 储存库 | No | Yes | - | 11.6 | - -#### Avatars[](#avatars "Permalink") - -每个文件都以其`id`来自数据库的形式存储在一个文件夹中. 用户头像的文件名始终为`avatar.png` . 替换头像后, `Upload`模型将被销毁,并使用另一个`id`进行替换. - -#### CI artifacts[](#ci-artifacts "Permalink") - -CI Artifacts 从**9.4** (GitLab Premium)开始兼容 S3,从**10.6**开始在 GitLab Core 中可用. - -#### LFS objects[](#lfs-objects "Permalink") - -[GitLab 中的 LFS 对象](../topics/git/lfs/index.html)遵循 Git 自己的实现,使用 2 个字符,2 个级别的文件夹实现了类似的存储模式: - -``` -"shared/lfs-objects/#{oid[0..1}/#{oid[2..3]}/#{oid[4..-1]}" - -# Based on object `oid`: `8909029eb962194cfb326259411b22ae3f4a814b5be4f80651735aeef9f3229c`, path will be: -"shared/lfs-objects/89/09/029eb962194cfb326259411b22ae3f4a814b5be4f80651735aeef9f3229c" -``` - -LFS 对象也与[S3 兼容](lfs/index.html#storing-lfs-objects-in-remote-object-storage) . - -## Legacy storage[](#legacy-storage "Permalink") - -**不建议使用:**在 GitLab 13.0 中,默认情况下启用了哈希存储,并且不建议使用旧存储. 如果您尚未迁移,请查看[迁移说明](raketasks/storage.html#migrate-to-hashed-storage) . 在 GitLab 14.0 中将删除对旧存储的支持. 如果您使用的是 GitLab 13.0 及更高版本,则无法将新项目切换到旧版存储. 在管理区域中的哈希存储和旧存储之间进行选择的选项已被禁用. - -旧版存储是 10.0 版之前的存储行为. 由于历史原因,GitLab 从项目 URL 复制了相同的映射结构: - -* 项目的存储库: `#{namespace}/#{project_name}.git` -* 项目的 Wiki: `#{namespace}/#{project_name}.wiki.git` - -这种结构使从现有解决方案到 GitLab 的迁移变得简单,并且管理员可以轻松找到存储库的存储位置. - -On the other hand this has some drawbacks: - -存储位置将集中大量的顶级名称空间. 可以通过引入[多个存储路径](repository_storage_paths.html)来减少影响. - -由于备份是相同 URL 映射的快照,因此,如果您尝试恢复非常旧的备份,则需要验证是否有任何项目代替了共享相同 URL 的旧项目或已重命名的项目. 这意味着您备份中的`mygroup/myproject`可能与今天使用相同 URL 的原始项目不同. - -URL 的任何更改都需要反映在磁盘上(重命名组/用户或项目时). 在大型安装中,这可能会增加很多负载,尤其是在使用任何类型的基于网络的文件系统时. \ No newline at end of file diff --git a/docs/457.md b/docs/457.md deleted file mode 100644 index 1d35966..0000000 --- a/docs/457.md +++ /dev/null @@ -1,167 +0,0 @@ -# Account and limit settings - -> 原文:[https://docs.gitlab.com/ee/user/admin_area/settings/account_and_limit_settings.html](https://docs.gitlab.com/ee/user/admin_area/settings/account_and_limit_settings.html) - -* [Max attachment size](#max-attachment-size) -* [Max import size](#max-import-size) -* [Maximum namespace storage size](#maximum-namespace-storage-size) -* [Repository size limit](#repository-size-limit-starter-only) - * [How it works](#how-it-works) -* [Troubleshooting](#troubleshooting) - * [413 Request Entity Too Large](#413-request-entity-too-large) -* [Limiting lifetime of personal access tokens](#limiting-lifetime-of-personal-access-tokens-ultimate-only) - * [Setting a limit](#setting-a-limit) -* [Optional enforcement of Personal Access Token expiry](#optional-enforcement-of-personal-access-token-expiry-ultimate-only) - * [Enable or disable optional enforcement of Personal Access Token expiry Feature](#enable-or-disable-optional-enforcement-of-personal-access-token-expiry-feature-core-only) -* [Disabling user profile name changes](#disabling-user-profile-name-changes-premium-only) - -# Account and limit settings[](#account-and-limit-settings-core-only "Permalink") - -## Max attachment size[](#max-attachment-size "Permalink") - -您可以在 GitLab 中更改评论和回复中附件的最大文件大小. 导航至**管理区域(扳手图标)>设置>常规** ,然后展开**帐户和限制** . 在此处,您可以通过更改`Maximum attachment size (MB)`的值来增加或减少. - -**注意:**如果选择的大小大于当前为 Web 服务器配置的大小,则可能会出现错误. 有关更多详细信息,请参见[故障排除部分](#troubleshooting) . - -## Max import size[](#max-import-size "Permalink") - -您可以在 GitLab 中更改导入的最大文件大小. 导航至**管理区域(扳手图标)>设置>常规** ,然后展开**帐户和限制** . 在这里,您可以通过更改`Maximum import size (MB)`的值来增加或减少. - -**注意:**如果选择的大小大于当前为 Web 服务器配置的大小,则可能会出现错误. 有关更多详细信息,请参见[故障排除部分](#troubleshooting) . - -## Maximum namespace storage size[](#maximum-namespace-storage-size "Permalink") - -这为每个名称空间设置了最大大小限制. 名称空间大小包括以下内容: - -* repository -* wiki -* LFS 对象 -* 建立工件 -* packages - -**注意:**此限制当前未实施,但将在将来的版本中使用. - -## Repository size limit[](#repository-size-limit-starter-only "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/740) in [GitLab Enterprise Edition 8.12](https://about.gitlab.com/releases/2016/09/22/gitlab-8-12-released/#limit-project-size-ee). - -GitLab 实例中的存储库可以快速增长,尤其是在使用 LFS 的情况下. 它们的大小可以成倍增长,迅速消耗可用的存储空间. - -为避免这种情况发生,您可以为存储库的大小设置硬限制. 可以在全局,每个组或每个项目中设置此限制,其中每个项目的限制为最高优先级. - -在许多用例中,您可能会设置存储库大小的限制. 例如,考虑以下工作流程: - -1. 您的团队开发的应用程序需要将大文件存储在应用程序存储库中. -2. 尽管您已为项目启用了[Git LFS](../../../topics/git/lfs/index.html#git-large-file-storage-lfs) ,但您的存储量已显着增长. -3. 在超出可用存储空间之前,每个存储库设置的最大限制为 10 GB. - -### How it works[](#how-it-works "Permalink") - -只有 GitLab 管理员才能设置这些限制. 将限制设置为`0`表示没有限制. - -这些设置可以在以下位置找到: - -* 每个项目的设置: - 1. 在项目的主页上,导航至**"设置">"常规"** . - 2. 在" **命名,主题,头像"**部分中填写" **存储库大小限制(MB)"**字段. - 3. 点击**保存更改** . -* 每个组的设置: - 1. 在网上论坛的主页上,导航至**设置>常规** . - 2. 填写" **命名,可见性"**部分中的" **存储库大小限制(MB)"**字段. - 3. 点击**保存更改** . -* GitLab 的全局设置: - 1. 在控制台中,导航至**管理区域>设置>常规** . - 2. 展开**帐户和限制**部分. - 3. 填写**每个存储库**的**大小限制(MB)**字段. - 4. 点击**保存更改** . - -包括 LFS 对象在内的新项目的第一次推送将进行大小检查,如果它们的大小总和超过允许的最大存储库大小, **则将**拒绝该推送. - -**注意:**存储库大小限制包括存储库文件和 LFS,并且不包括工件. - -有关手动清除文件的详细信息,请参阅[使用 Git 减小存储库大小](../../project/repository/reducing_the_repo_size_using_git.html) . - -**注意:** GitLab.com 存储库大小[由 GitLab 设置](../../gitlab_com/index.html#repository-size-limit) . - -## Troubleshooting[](#troubleshooting "Permalink") - -### 413 Request Entity Too Large[](#413-request-entity-too-large "Permalink") - -如果您在 GitLab 中将文件附加到评论或回复并收到`413 Request Entity Too Large`错误,则可能是由于[最大附件大小](#max-attachment-size)大于 Web 服务器配置允许的[最大附件大小](#max-attachment-size)引起的. - -例如,如果要在 GitLab [Omnibus](https://docs.gitlab.com/omnibus/)安装中将最大附件大小增加到 200m,则可能需要在增加最大附件大小之前`/etc/gitlab/gitlab.rb`添加到`/etc/gitlab/gitlab.rb` : - -``` -nginx['client_max_body_size'] = "200m" -``` - -## Limiting lifetime of personal access tokens[](#limiting-lifetime-of-personal-access-tokens-ultimate-only "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/3649) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.6. - -用户可以选择指定[个人访问令牌](../../profile/personal_access_tokens.html)的到期日期. 该到期日期不是必需的,可以将其设置为任意日期. - -由于个人访问令牌是通过编程访问 GitLab 所需的唯一令牌,因此具有安全性要求的组织可能希望加强保护,以要求定期循环使用这些令牌. - -### Setting a limit[](#setting-a-limit "Permalink") - -只有 GitLab 管理员才能设置限制. 将其保留为空意味着没有任何限制. - -设置有效的个人访问令牌限制: - -1. 导航到**管理区域>设置>常规** . -2. 展开**帐户和限制**部分. -3. Fill in the **个人访问令牌的最大允许生命周期(天)** field. -4. Click **保存更改**. - -一旦设置了个人访问令牌的生存期,GitLab 将: - -* 将生存期应用于新的个人访问令牌,并要求用户设置到期日期,并且日期不得晚于允许的生存期. -* 三个小时后,请吊销没有过期日期或寿命超过允许寿命的旧令牌. 允许三个小时的时间,以便管理员在撤销之前更改或删除允许的生存期. - -## Optional enforcement of Personal Access Token expiry[](#optional-enforcement-of-personal-access-token-expiry-ultimate-only "Permalink") - -版本历史 - -* 在[GitLab Ultimate](https://about.gitlab.com/pricing/) 13.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/214723) . -* 它部署在功能标志后面,默认情况下处于禁用状态. -* 它在 GitLab.com 上被禁用. -* 不建议将其用于生产. -* 要在 GitLab 自管实例中使用它,请让 GitLab 管理员[启用它](#enable-or-disable-optional-enforcement-of-personal-access-token-expiry-feature-core-only) . - -GitLab 管理员可以选择防止个人访问令牌自动过期. 令牌将在到期日期之后可用,除非已将其明确吊销. - -去做这个: - -1. 导航到**管理区域>设置>常规** . -2. 展开**帐户和限制**部分. -3. 取消选中" **强制个人访问令牌到期"**复选框. - -### Enable or disable optional enforcement of Personal Access Token expiry Feature[](#enable-or-disable-optional-enforcement-of-personal-access-token-expiry-feature-core-only "Permalink") - -正在开发可选的"强制执行个人访问令牌到期",尚未准备好用于生产. 它部署在**默认情况下禁用**的功能标志的后面. [有权访问 GitLab Rails 控制台的 GitLab 管理员](../../../administration/feature_flags.html)可以从[rails 控制台](../../../administration/feature_flags.html#start-the-gitlab-rails-console)为您的实例启用它. - -要启用它: - -``` -Feature.enable(:enforce_personal_access_token_expiration) -``` - -禁用它: - -``` -Feature.disable(:enforce_personal_access_token_expiration) -``` - -## Disabling user profile name changes[](#disabling-user-profile-name-changes-premium-only "Permalink") - -在 GitLab 12.7 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/24605) . - -为了维护[Audit Events](../../../administration/audit_events.html)中用户详细信息的完整性,GitLab 管理员可以选择禁用用户更改其配置文件名称的功能. - -去做这个: - -1. 导航到" **管理区域">"设置">"常规"** ,然后展开" **帐户和限制"** . -2. 选中**阻止用户更改其个人资料名称**复选框. - -**注意:**禁用此功能后,GitLab 管理员仍将能够通过[管理界面](../index.html#administering-users)或[API](../../../api/users.html#user-modification)更新其实例中任何用户的名称. \ No newline at end of file diff --git a/docs/458.md b/docs/458.md deleted file mode 100644 index c8b69dd..0000000 --- a/docs/458.md +++ /dev/null @@ -1,26 +0,0 @@ -# Service templates - -> 原文:[https://docs.gitlab.com/ee/user/project/integrations/services_templates.html](https://docs.gitlab.com/ee/user/project/integrations/services_templates.html) - -* [Enable a service template](#enable-a-service-template) -* [Service for external issue trackers](#service-for-external-issue-trackers) - -# Service templates[](#service-templates "Permalink") - -使用服务模板,GitLab 管理员可以提供用于在项目级别配置集成的默认值. - -启用服务模板时,默认值将应用于**所有**尚未启用集成或未保存自定义值的项目. 这些值已预先填充在每个项目的配置页面上,以进行适用的集成. - -如果禁用模板,这些值将不再显示为默认值,而已为集成保存的所有值将保持不变. - -## Enable a service template[](#enable-a-service-template "Permalink") - -导航到**管理区域>服务模板,**然后选择要创建的服务模板. - -## Service for external issue trackers[](#service-for-external-issue-trackers "Permalink") - -下图显示了 Redmine 的示例服务模板. - -[![Redmine service template](img/1b109b486c41c14a03eea4127cec2351.png)](img/services_templates_redmine_example.png) - -对于每个项目,您仍然需要通过将上述屏幕快照中的`:issues_tracker_id`替换为外部问题跟踪器使用的 ID 来配置问题跟踪 URL. \ No newline at end of file diff --git a/docs/459.md b/docs/459.md deleted file mode 100644 index 0ed3ad0..0000000 --- a/docs/459.md +++ /dev/null @@ -1,247 +0,0 @@ -# System hooks - -> 原文:[https://docs.gitlab.com/ee/system_hooks/system_hooks.html](https://docs.gitlab.com/ee/system_hooks/system_hooks.html) - -* [Hooks request example](#hooks-request-example) -* [Push events](#push-events) -* [Tag events](#tag-events) - * [Merge request events](#merge-request-events) -* [Repository Update events](#repository-update-events) -* [Local requests in system hooks](#local-requests-in-system-hooks) - -# System hooks[](#system-hooks "Permalink") - -您的 GitLab 实例可以对以下事件执行 HTTP POST 请求: - -* `project_create` -* `project_destroy` -* `project_rename` -* `project_transfer` -* `project_update` -* `user_add_to_team` -* `user_remove_from_team` -* `user_update_for_team` -* `user_create` -* `user_destroy` -* `user_failed_login` -* `user_rename` -* `key_create` -* `key_destroy` -* `group_create` -* `group_destroy` -* `group_rename` -* `user_add_to_group` -* `user_remove_from_group` -* `user_update_for_group` - -这些触发器中的大多数触发器是不言自明的,但是应该澄清一下`project_update`和`project_rename` : `project_update`项目的属性(名称,描述,标签等)发生更改,就会随时触发`project_update` , *除非* `path`属性也发生更改. 在这种情况下,将触发`project_rename` (例如,如果您只关心存储库 URL,则可以只监听`project_rename` ). - -每当**被阻止的**用户尝试登录并拒绝访问时,都会发送`user_failed_login` . - -可以使用系统挂钩,例如,用于在 LDAP 服务器中记录或更改信息. - -**注意:**对于 Push 和 Tag 事件,我们采用与[Webhooks](../user/project/integrations/webhooks.html)相同的结构和弃用方式,但是我们从不显示提交. - -## Hooks request example[](#hooks-request-example "Permalink") - -**请求标头**: - -``` -X-Gitlab-Event: System Hook -``` - -**创建的项目:** - -``` -{ "created_at": "2012-07-21T07:30:54Z", "updated_at": "2012-07-21T07:38:22Z", "event_name": "project_create", "name": "StoreCloud", "owner_email": "johnsmith@gmail.com", "owner_name": "John Smith", "path": "storecloud", "path_with_namespace": "jsmith/storecloud", "project_id": 74, "project_visibility": "private" } -``` - -**项目已销毁:** - -``` -{ "created_at": "2012-07-21T07:30:58Z", "updated_at": "2012-07-21T07:38:22Z", "event_name": "project_destroy", "name": "Underscore", "owner_email": "johnsmith@gmail.com", "owner_name": "John Smith", "path": "underscore", "path_with_namespace": "jsmith/underscore", "project_id": 73, "project_visibility": "internal" } -``` - -**项目更名:** - -``` -{ "created_at": "2012-07-21T07:30:58Z", "updated_at": "2012-07-21T07:38:22Z", "event_name": "project_rename", "name": "Underscore", "path": "underscore", "path_with_namespace": "jsmith/underscore", "project_id": 73, "owner_name": "John Smith", "owner_email": "johnsmith@gmail.com", "project_visibility": "internal", "old_path_with_namespace": "jsmith/overscore" } -``` - -请注意,如果命名空间发生更改,则不会触发`project_rename` . 在这种情况下,请参考`group_rename`和`user_rename` . - -**项目转移:** - -``` -{ "created_at": "2012-07-21T07:30:58Z", "updated_at": "2012-07-21T07:38:22Z", "event_name": "project_transfer", "name": "Underscore", "path": "underscore", "path_with_namespace": "scores/underscore", "project_id": 73, "owner_name": "John Smith", "owner_email": "johnsmith@gmail.com", "project_visibility": "internal", "old_path_with_namespace": "jsmith/overscore" } -``` - -**项目已更新:** - -``` -{ "created_at": "2012-07-21T07:30:54Z", "updated_at": "2012-07-21T07:38:22Z", "event_name": "project_update", "name": "StoreCloud", "owner_email": "johnsmith@gmail.com", "owner_name": "John Smith", "path": "storecloud", "path_with_namespace": "jsmith/storecloud", "project_id": 74, "project_visibility": "private" } -``` - -**新团队成员:** - -``` -{ "created_at": "2012-07-21T07:30:56Z", "updated_at": "2012-07-21T07:38:22Z", "event_name": "user_add_to_team", "access_level": "Maintainer", "project_id": 74, "project_name": "StoreCloud", "project_path": "storecloud", "project_path_with_namespace": "jsmith/storecloud", "user_email": "johnsmith@gmail.com", "user_name": "John Smith", "user_username": "johnsmith", "user_id": 41, "project_visibility": "visibilitylevel|private" } -``` - -**团队成员已删除:** - -``` -{ "created_at": "2012-07-21T07:30:56Z", "updated_at": "2012-07-21T07:38:22Z", "event_name": "user_remove_from_team", "access_level": "Maintainer", "project_id": 74, "project_name": "StoreCloud", "project_path": "storecloud", "project_path_with_namespace": "jsmith/storecloud", "user_email": "johnsmith@gmail.com", "user_name": "John Smith", "user_username": "johnsmith", "user_id": 41, "project_visibility": "visibilitylevel|private" } -``` - -**团队成员已更新:** - -``` -{ "created_at": "2012-07-21T07:30:56Z", "updated_at": "2012-07-21T07:38:22Z", "event_name": "user_update_for_team", "access_level": "Maintainer", "project_id": 74, "project_name": "StoreCloud", "project_path": "storecloud", "project_path_with_namespace": "jsmith/storecloud", "user_email": "johnsmith@gmail.com", "user_name": "John Smith", "user_username": "johnsmith", "user_id": 41, "project_visibility": "visibilitylevel|private" } -``` - -**用户创建:** - -``` -{ "created_at": "2012-07-21T07:44:07Z", "updated_at": "2012-07-21T07:38:22Z", "email": "js@gitlabhq.com", "event_name": "user_create", "name": "John Smith", "username": "js", "user_id": 41 } -``` - -**用户已删除:** - -``` -{ "created_at": "2012-07-21T07:44:07Z", "updated_at": "2012-07-21T07:38:22Z", "email": "js@gitlabhq.com", "event_name": "user_destroy", "name": "John Smith", "username": "js", "user_id": 41 } -``` - -**用户登录失败:** - -``` -{ "event_name": "user_failed_login", "created_at": "2017-10-03T06:08:48Z", "updated_at": "2018-01-15T04:52:06Z", "name": "John Smith", "email": "user4@example.com", "user_id": 26, "username": "user4", "state": "blocked" } -``` - -如果通过 LDAP 阻止了用户,则`state`将为`ldap_blocked` . - -**用户重命名:** - -``` -{ "event_name": "user_rename", "created_at": "2017-11-01T11:21:04Z", "updated_at": "2017-11-01T14:04:47Z", "name": "new-name", "email": "best-email@example.tld", "user_id": 58, "username": "new-exciting-name", "old_username": "old-boring-name" } -``` - -**密钥已添加** - -``` -{ "event_name": "key_create", "created_at": "2014-08-18 18:45:16 UTC", "updated_at": "2012-07-21T07:38:22Z", "username": "root", "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC58FwqHUbebw2SdT7SP4FxZ0w+lAO/erhy2ylhlcW/tZ3GY3mBu9VeeiSGoGz8hCx80Zrz+aQv28xfFfKlC8XQFpCWwsnWnQqO2Lv9bS8V1fIHgMxOHIt5Vs+9CAWGCCvUOAurjsUDoE2ALIXLDMKnJxcxD13XjWdK54j6ZXDB4syLF0C2PnAQSVY9X7MfCYwtuFmhQhKaBussAXpaVMRHltie3UYSBUUuZaB3J4cg/7TxlmxcNd+ppPRIpSZAB0NI6aOnqoBCpimscO/VpQRJMVLr3XiSYeT6HBiDXWHnIVPfQc03OGcaFqOit6p8lYKMaP/iUQLm+pgpZqrXZ9vB john@localhost", "id": 4 } -``` - -**密钥已删除** - -``` -{ "event_name": "key_destroy", "created_at": "2014-08-18 18:45:16 UTC", "updated_at": "2012-07-21T07:38:22Z", "username": "root", "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC58FwqHUbebw2SdT7SP4FxZ0w+lAO/erhy2ylhlcW/tZ3GY3mBu9VeeiSGoGz8hCx80Zrz+aQv28xfFfKlC8XQFpCWwsnWnQqO2Lv9bS8V1fIHgMxOHIt5Vs+9CAWGCCvUOAurjsUDoE2ALIXLDMKnJxcxD13XjWdK54j6ZXDB4syLF0C2PnAQSVY9X7MfCYwtuFmhQhKaBussAXpaVMRHltie3UYSBUUuZaB3J4cg/7TxlmxcNd+ppPRIpSZAB0NI6aOnqoBCpimscO/VpQRJMVLr3XiSYeT6HBiDXWHnIVPfQc03OGcaFqOit6p8lYKMaP/iUQLm+pgpZqrXZ9vB john@localhost", "id": 4 } -``` - -**组创建:** - -``` -{ "created_at": "2012-07-21T07:30:54Z", "updated_at": "2012-07-21T07:38:22Z", "event_name": "group_create", "name": "StoreCloud", "owner_email": null, "owner_name": null, "path": "storecloud", "group_id": 78 } -``` - -`owner_name`和`owner_email`始终为`null` . 请参阅[https://gitlab.com/gitlab-org/gitlab/-/issues/20011](https://gitlab.com/gitlab-org/gitlab/-/issues/20011) . - -**组已删除:** - -``` -{ "created_at": "2012-07-21T07:30:54Z", "updated_at": "2012-07-21T07:38:22Z", "event_name": "group_destroy", "name": "StoreCloud", "owner_email": null, "owner_name": null, "path": "storecloud", "group_id": 78 } -``` - -`owner_name`和`owner_email`始终为`null` . 请参阅[问题#20011](https://gitlab.com/gitlab-org/gitlab/-/issues/20011) . - -**组重命名:** - -``` -{ "event_name": "group_rename", "created_at": "2017-10-30T15:09:00Z", "updated_at": "2017-11-01T10:23:52Z", "name": "Better Name", "path": "better-name", "full_path": "parent-group/better-name", "group_id": 64, "owner_name": null, "owner_email": null, "old_path": "old-name", "old_full_path": "parent-group/old-name" } -``` - -`owner_name`和`owner_email`始终为`null` . 请参阅[https://gitlab.com/gitlab-org/gitlab/-/issues/20011](https://gitlab.com/gitlab-org/gitlab/-/issues/20011) . - -**新组成员:** - -``` -{ "created_at": "2012-07-21T07:30:56Z", "updated_at": "2012-07-21T07:38:22Z", "event_name": "user_add_to_group", "group_access": "Maintainer", "group_id": 78, "group_name": "StoreCloud", "group_path": "storecloud", "user_email": "johnsmith@gmail.com", "user_name": "John Smith", "user_username": "johnsmith", "user_id": 41 } -``` - -**组成员已删除:** - -``` -{ "created_at": "2012-07-21T07:30:56Z", "updated_at": "2012-07-21T07:38:22Z", "event_name": "user_remove_from_group", "group_access": "Maintainer", "group_id": 78, "group_name": "StoreCloud", "group_path": "storecloud", "user_email": "johnsmith@gmail.com", "user_name": "John Smith", "user_username": "johnsmith", "user_id": 41 } -``` - -**小组成员已更新:** - -``` -{ "created_at": "2012-07-21T07:30:56Z", "updated_at": "2012-07-21T07:38:22Z", "event_name": "user_update_for_group", "group_access": "Maintainer", "group_id": 78, "group_name": "StoreCloud", "group_path": "storecloud", "user_email": "johnsmith@gmail.com", "user_name": "John Smith", "user_username": "johnsmith", "user_id": 41 } -``` - -## Push events[](#push-events "Permalink") - -当您推送到存储库时(在推送标签时除外)触发. 它为每个修改的分支生成一个事件. - -**请求标头**: - -``` -X-Gitlab-Event: System Hook -``` - -**要求正文:** - -``` -{ "event_name": "push", "before": "95790bf891e76fee5e1747ab589903a6a1f80f22", "after": "da1560886d4f094c3e6c9ef40349f7d38b5d27d7", "ref": "refs/heads/master", "checkout_sha": "da1560886d4f094c3e6c9ef40349f7d38b5d27d7", "user_id": 4, "user_name": "John Smith", "user_email": "john@example.com", "user_avatar": "https://s.gravatar.com/avatar/d4c74594d841139328695756648b6bd6?s=8://s.gravatar.com/avatar/d4c74594d841139328695756648b6bd6?s=80", "project_id": 15, "project":{ "name":"Diaspora", "description":"", "web_url":"http://example.com/mike/diaspora", "avatar_url":null, "git_ssh_url":"git@example.com:mike/diaspora.git", "git_http_url":"http://example.com/mike/diaspora.git", "namespace":"Mike", "visibility_level":0, "path_with_namespace":"mike/diaspora", "default_branch":"master", "homepage":"http://example.com/mike/diaspora", "url":"git@example.com:mike/diaspora.git", "ssh_url":"git@example.com:mike/diaspora.git", "http_url":"http://example.com/mike/diaspora.git" }, "repository":{ "name": "Diaspora", "url": "git@example.com:mike/diaspora.git", "description": "", "homepage": "http://example.com/mike/diaspora", "git_http_url":"http://example.com/mike/diaspora.git", "git_ssh_url":"git@example.com:mike/diaspora.git", "visibility_level":0 }, "commits": [ { "id": "c5feabde2d8cd023215af4d2ceeb7a64839fc428", "message": "Add simple search to projects in public area", "timestamp": "2013-05-13T18:18:08+00:00", "url": "https://dev.gitlab.org/gitlab/gitlabhq/commit/c5feabde2d8cd023215af4d2ceeb7a64839fc428", "author": { "name": "Example User", "email": "user@example.com" } } ], "total_commits_count": 1 } -``` - -## Tag events[](#tag-events "Permalink") - -在创建(或删除)存储库标签时触发. 每个修改后的标签会生成一个事件. - -**请求标头**: - -``` -X-Gitlab-Event: System Hook -``` - -**要求正文:** - -``` -{ "event_name": "tag_push", "before": "0000000000000000000000000000000000000000", "after": "82b3d5ae55f7080f1e6022629cdb57bfae7cccc7", "ref": "refs/tags/v1.0.0", "checkout_sha": "5937ac0a7beb003549fc5fd26fc247adbce4a52e", "user_id": 1, "user_name": "John Smith", "user_avatar": "https://s.gravatar.com/avatar/d4c74594d841139328695756648b6bd6?s=8://s.gravatar.com/avatar/d4c74594d841139328695756648b6bd6?s=80", "project_id": 1, "project":{ "name":"Example", "description":"", "web_url":"http://example.com/jsmith/example", "avatar_url":null, "git_ssh_url":"git@example.com:jsmith/example.git", "git_http_url":"http://example.com/jsmith/example.git", "namespace":"Jsmith", "visibility_level":0, "path_with_namespace":"jsmith/example", "default_branch":"master", "homepage":"http://example.com/jsmith/example", "url":"git@example.com:jsmith/example.git", "ssh_url":"git@example.com:jsmith/example.git", "http_url":"http://example.com/jsmith/example.git" }, "repository":{ "name": "Example", "url": "ssh://git@example.com/jsmith/example.git", "description": "", "homepage": "http://example.com/jsmith/example", "git_http_url":"http://example.com/jsmith/example.git", "git_ssh_url":"git@example.com:jsmith/example.git", "visibility_level":0 }, "commits": [], "total_commits_count": 0 } -``` - -### Merge request events[](#merge-request-events "Permalink") - -在创建新的合并请求,更新/合并/关闭现有合并请求或在源分支中添加提交时触发. - -**请求标头**: - -``` -X-Gitlab-Event: System Hook -``` - -``` -{ "object_kind": "merge_request", "user": { "name": "Administrator", "username": "root", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon" }, "project": { "name": "Example", "description": "", "web_url": "http://example.com/jsmith/example", "avatar_url": null, "git_ssh_url": "git@example.com:jsmith/example.git", "git_http_url": "http://example.com/jsmith/example.git", "namespace": "Jsmith", "visibility_level": 0, "path_with_namespace": "jsmith/example", "default_branch": "master", "ci_config_path": "", "homepage": "http://example.com/jsmith/example", "url": "git@example.com:jsmith/example.git", "ssh_url": "git@example.com:jsmith/example.git", "http_url": "http://example.com/jsmith/example.git" }, "object_attributes": { "id": 90, "target_branch": "master", "source_branch": "ms-viewport", "source_project_id": 14, "author_id": 51, "assignee_id": 6, "title": "MS-Viewport", "created_at": "2017-09-20T08:31:45.944Z", "updated_at": "2017-09-28T12:23:42.365Z", "milestone_id": null, "state": "opened", "merge_status": "unchecked", "target_project_id": 14, "iid": 1, "description": "", "updated_by_id": 1, "merge_error": null, "merge_params": { "force_remove_source_branch": "0" }, "merge_when_pipeline_succeeds": false, "merge_user_id": null, "merge_commit_sha": null, "deleted_at": null, "in_progress_merge_commit_sha": null, "lock_version": 5, "time_estimate": 0, "last_edited_at": "2017-09-27T12:43:37.558Z", "last_edited_by_id": 1, "head_pipeline_id": 61, "ref_fetched": true, "merge_jid": null, "source": { "name": "Awesome Project", "description": "", "web_url": "http://example.com/awesome_space/awesome_project", "avatar_url": null, "git_ssh_url": "git@example.com:awesome_space/awesome_project.git", "git_http_url": "http://example.com/awesome_space/awesome_project.git", "namespace": "root", "visibility_level": 0, "path_with_namespace": "awesome_space/awesome_project", "default_branch": "master", "ci_config_path": "", "homepage": "http://example.com/awesome_space/awesome_project", "url": "http://example.com/awesome_space/awesome_project.git", "ssh_url": "git@example.com:awesome_space/awesome_project.git", "http_url": "http://example.com/awesome_space/awesome_project.git" }, "target": { "name": "Awesome Project", "description": "Aut reprehenderit ut est.", "web_url": "http://example.com/awesome_space/awesome_project", "avatar_url": null, "git_ssh_url": "git@example.com:awesome_space/awesome_project.git", "git_http_url": "http://example.com/awesome_space/awesome_project.git", "namespace": "Awesome Space", "visibility_level": 0, "path_with_namespace": "awesome_space/awesome_project", "default_branch": "master", "ci_config_path": "", "homepage": "http://example.com/awesome_space/awesome_project", "url": "http://example.com/awesome_space/awesome_project.git", "ssh_url": "git@example.com:awesome_space/awesome_project.git", "http_url": "http://example.com/awesome_space/awesome_project.git" }, "last_commit": { "id": "ba3e0d8ff79c80d5b0bbb4f3e2e343e0aaa662b7", "message": "fixed readme", "timestamp": "2017-09-26T16:12:57Z", "url": "http://example.com/awesome_space/awesome_project/commits/da1560886d4f094c3e6c9ef40349f7d38b5d27d7", "author": { "name": "GitLab dev user", "email": "gitlabdev@dv6700.(none)" } }, "work_in_progress": false, "total_time_spent": 0, "human_total_time_spent": null, "human_time_estimate": null }, "labels": null, "repository": { "name": "git-gpg-test", "url": "git@example.com:awesome_space/awesome_project.git", "description": "", "homepage": "http://example.com/awesome_space/awesome_project" } } -``` - -## Repository Update events[](#repository-update-events "Permalink") - -当您推送到存储库(包括标签)时仅触发一次. - -**Request header**: - -``` -X-Gitlab-Event: System Hook -``` - -**要求正文:** - -``` -{ "event_name": "repository_update", "user_id": 1, "user_name": "John Smith", "user_email": "admin@example.com", "user_avatar": "https://s.gravatar.com/avatar/d4c74594d841139328695756648b6bd6?s=8://s.gravatar.com/avatar/d4c74594d841139328695756648b6bd6?s=80", "project_id": 1, "project": { "name":"Example", "description":"", "web_url":"http://example.com/jsmith/example", "avatar_url":null, "git_ssh_url":"git@example.com:jsmith/example.git", "git_http_url":"http://example.com/jsmith/example.git", "namespace":"Jsmith", "visibility_level":0, "path_with_namespace":"jsmith/example", "default_branch":"master", "homepage":"http://example.com/jsmith/example", "url":"git@example.com:jsmith/example.git", "ssh_url":"git@example.com:jsmith/example.git", "http_url":"http://example.com/jsmith/example.git", }, "changes": [ { "before":"8205ea8d81ce0c6b90fbe8280d118cc9fdad6130", "after":"4045ea7a3df38697b3730a20fb73c8bed8a3e69e", "ref":"refs/heads/master" } ], "refs":["refs/heads/master"] } -``` - -## Local requests in system hooks[](#local-requests-in-system-hooks "Permalink") - -管理员可以允许或阻止通过[系统挂钩对本地网络的请求](../security/webhooks.html) . \ No newline at end of file diff --git a/docs/460.md b/docs/460.md deleted file mode 100644 index 5b1ec9c..0000000 --- a/docs/460.md +++ /dev/null @@ -1,43 +0,0 @@ -# Changing your time zone - -> 原文:[https://docs.gitlab.com/ee/administration/timezone.html](https://docs.gitlab.com/ee/administration/timezone.html) - -* [Viewing available timezones](#viewing-available-timezones) -* [Changing time zone in Omnibus installations](#changing-time-zone-in-omnibus-installations) - -# Changing your time zone[](#changing-your-time-zone "Permalink") - -可以在`config/gitlab.yml`更改全局时区配置参数: - -``` -# time_zone: 'UTC' -``` - -如果要更改 GitLab 应用程序的默认时区,请取消注释并自定义. - -## Viewing available timezones[](#viewing-available-timezones "Permalink") - -要查看所有可用时区,请运行`bundle exec rake time:zones:all` . - -对于 Omnibus 安装,请运行`gitlab-rake time:zones:all` . - -**注意:**当前,此 Rake 任务未列出重新配置过程中 Omnibus GitLab 所需的 TZInfo 格式的时区: [#27209](https://gitlab.com/gitlab-org/gitlab/-/issues/27209) . - -## Changing time zone in Omnibus installations[](#changing-time-zone-in-omnibus-installations "Permalink") - -GitLab 将其时区默认为 UTC. 它在`/etc/gitlab/gitlab.rb`具有全局时区配置参数. - -要获取时区列表,请登录到 GitLab 应用程序服务器并运行一个命令,该命令为服务器生成 TZInfo 格式的时区列表. 例如,安装`timedatectl`并运行`timedatectl list-timezones` . - -要进行更新,请添加最适合您所在位置的时区. 例如: - -``` -gitlab_rails['time_zone'] = 'America/New_York' -``` - -添加配置参数后,重新配置并重新启动您的 GitLab 实例: - -``` -gitlab-ctl reconfigure -gitlab-ctl restart -``` \ No newline at end of file diff --git a/docs/461.md b/docs/461.md deleted file mode 100644 index d576605..0000000 --- a/docs/461.md +++ /dev/null @@ -1,185 +0,0 @@ -# Uploads administration - -> 原文:[https://docs.gitlab.com/ee/administration/uploads.html](https://docs.gitlab.com/ee/administration/uploads.html) - -* [Using local storage](#using-local-storage) -* [Using object storage](#using-object-storage-core-only) -* [Object Storage Settings](#object-storage-settings) - * [Connection settings](#connection-settings) - * [OpenStack example](#openstack-example) - -# Uploads administration[](#uploads-administration "Permalink") - -上传代表可以作为单个文件发送到 GitLab 的所有用户数据. 例如,化身和笔记的附件就是上载. 上传是 GitLab 功能不可或缺的,因此不能被禁用. - -## Using local storage[](#using-local-storage "Permalink") - -**注意:**这是默认配置 - -要更改上传内容在本地存储的位置,请按照以下步骤操作. - -**在所有安装中;** - -**注意:**由于历史原因,上载存储在基本目录中,默认情况下该目录为`uploads/-/system` . 不建议在现有的 GitLab 安装上更改此配置选项. - -*上载默认情况下存储在`/var/opt/gitlab/gitlab-rails/uploads` .* - -1. 要将存储路径更改为例如`/mnt/storage/uploads` ,请编辑`/etc/gitlab/gitlab.rb`并添加以下行: - - ``` - gitlab_rails['uploads_storage_path'] = "/mnt/storage/" - gitlab_rails['uploads_base_dir'] = "uploads" - ``` - -2. 保存文件并[重新配置 GitLab,](restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -**在源安装中:** - -*上载默认存储在`/home/git/gitlab/public/uploads/-/system` .* - -1. 要将存储路径更改为例如`/mnt/storage/uploads` ,请编辑`/home/git/gitlab/config/gitlab.yml`并添加或修改以下行: - - ``` - uploads: - storage_path: /mnt/storage - base_dir: uploads - ``` - -2. 保存文件并[重新启动 GitLab,](restart_gitlab.html#installations-from-source)以使更改生效. - -## Using object storage[](#using-object-storage-core-only "Permalink") - -版本历史 - -**笔记:** - -* 在[GitLab Premium](https://about.gitlab.com/pricing/) 10.5 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/3867) . -* 在[GitLab Core](https://about.gitlab.com/pricing/) 10.7 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17358) . -* 从 11.1 版开始,我们支持 direct_upload 到 S3\. - -如果您不想使用安装了 GitLab 的本地磁盘来存储上载,则可以改用 AWS S3 之类的对象存储提供程序. 此配置依赖于已经配置的有效 AWS 凭证. - -[Read more about using object storage with GitLab](object_storage.html). - -**注意:**我们建议使用[统一对象存储设置](object_storage.html#consolidated-object-storage-configuration) . 以下说明适用于原始配置格式. - -## Object Storage Settings[](#object-storage-settings "Permalink") - -对于源安装,以下设置嵌套在`uploads:`下,然后是`object_store:` 在 Omnibus GitLab 安装上,它们的前缀是`uploads_object_store_` . - -| Setting | Description | Default | -| --- | --- | --- | -| `enabled` | 启用/禁用对象存储 | `false` | -| `remote_directory` | 存储上传文件的存储桶名称 |   | -| `direct_upload` | 设置为 true 可从上载路径中删除 Puma. Workhorse 处理实际的工件上传到对象存储,而 Puma 进行最少的处理以跟踪上传. 无需本地共享存储. 如果引入了对所有文件的单一存储类型的支持,则可以删除该选项. 了解更多有关[直接上传的信息](../development/uploads.html#direct-upload) . | `false` | -| `background_upload` | 设置为 false 可禁用自动上传. 一旦直接上传到 S3,就可以删除该选项(如果`direct_upload`设置为`true` ,它将覆盖`background_upload` ) | `true` | -| `proxy_download` | 设置为 true 以启用代理服务的所有文件. Option 可以减少出口流量,因为这允许客户端直接从远程存储下载而不是代理所有数据 | `false` | -| `connection` | 下述各种连接选项 |   | - -### Connection settings[](#connection-settings "Permalink") - -See [the available connection settings for different providers](object_storage.html#connection-settings). - -**在所有安装中;** - -*上载默认情况下存储在`/var/opt/gitlab/gitlab-rails/public/uploads/-/system` .* - -1. 编辑`/etc/gitlab/gitlab.rb`并通过替换为所需的值添加以下行: - - ``` - gitlab_rails['uploads_object_store_enabled'] = true - gitlab_rails['uploads_object_store_remote_directory'] = "uploads" - gitlab_rails['uploads_object_store_connection'] = { - 'provider' => 'AWS', - 'region' => 'eu-central-1', - 'aws_access_key_id' => 'AWS_ACCESS_KEY_ID', - 'aws_secret_access_key' => 'AWS_SECRET_ACCESS_KEY' - } - ``` - - **注意:**如果您使用的是 AWS IAM 配置文件,请确保省略 AWS 访问密钥和秘密访问密钥/值对. - - ``` - gitlab_rails['uploads_object_store_connection'] = { - 'provider' => 'AWS', - 'region' => 'eu-central-1', - 'use_iam_profile' => true - } - ``` - -2. 保存文件并[重新配置 GitLab,](restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. -3. 使用[`gitlab:uploads:migrate` Rake task](raketasks/uploads/migrate.html)迁移所有现有的本地上传到对象存储. - -**在源安装中:** - -*上载默认存储在`/home/git/gitlab/public/uploads/-/system` .* - -1. 编辑`/home/git/gitlab/config/gitlab.yml`并添加或修改以下行: - - ``` - uploads: - object_store: - enabled: true - remote_directory: "uploads" # The bucket name - connection: - provider: AWS # Only AWS supported at the moment - aws_access_key_id: AWS_ACESS_KEY_ID - aws_secret_access_key: AWS_SECRET_ACCESS_KEY - region: eu-central-1 - ``` - -2. 保存文件并[重新启动 GitLab,](restart_gitlab.html#installations-from-source)以使更改生效. -3. 使用[`gitlab:uploads:migrate` Rake task](raketasks/uploads/migrate.html)迁移所有现有的本地上传到对象存储. - -### OpenStack example[](#openstack-example "Permalink") - -**在所有安装中;** - -*上载默认情况下存储在`/var/opt/gitlab/gitlab-rails/public/uploads/-/system` .* - -1. Edit `/etc/gitlab/gitlab.rb` and add the following lines by replacing with the values you want: - - ``` - gitlab_rails['uploads_object_store_remote_directory'] = "OPENSTACK_OBJECT_CONTAINER_NAME" - gitlab_rails['uploads_object_store_connection'] = { - 'provider' => 'OpenStack', - 'openstack_username' => 'OPENSTACK_USERNAME', - 'openstack_api_key' => 'OPENSTACK_PASSWORD', - 'openstack_temp_url_key' => 'OPENSTACK_TEMP_URL_KEY', - 'openstack_auth_url' => 'https://auth.cloud.ovh.net/v2.0/', - 'openstack_region' => 'DE1', - 'openstack_tenant' => 'TENANT_ID', - } - ``` - -2. 保存文件并[重新配置 GitLab,](restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. -3. 使用[`gitlab:uploads:migrate` Rake task](raketasks/uploads/migrate.html)迁移所有现有的本地上传到对象存储. - -* * * - -**在源安装中:** - -*上载默认存储在`/home/git/gitlab/public/uploads/-/system` .* - -1. 编辑`/home/git/gitlab/config/gitlab.yml`并添加或修改以下行: - - ``` - uploads: - object_store: - enabled: true - direct_upload: false - background_upload: true - proxy_download: false - remote_directory: OPENSTACK_OBJECT_CONTAINER_NAME - connection: - provider: OpenStack - openstack_username: OPENSTACK_USERNAME - openstack_api_key: OPENSTACK_PASSWORD - openstack_temp_url_key: OPENSTACK_TEMP_URL_KEY - openstack_auth_url: 'https://auth.cloud.ovh.net/v2.0/' - openstack_region: DE1 - openstack_tenant: 'TENANT_ID' - ``` - -2. 保存文件并[重新配置 GitLab,](restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. -3. 使用[`gitlab:uploads:migrate` Rake task](raketasks/uploads/migrate.html)迁移所有现有的本地上传到对象存储. \ No newline at end of file diff --git a/docs/462.md b/docs/462.md deleted file mode 100644 index 8d5e5cc..0000000 --- a/docs/462.md +++ /dev/null @@ -1,61 +0,0 @@ -# Abuse reports - -> 原文:[https://docs.gitlab.com/ee/user/admin_area/abuse_reports.html](https://docs.gitlab.com/ee/user/admin_area/abuse_reports.html) - -* [Reporting abuse](#reporting-abuse) -* [Resolving abuse reports](#resolving-abuse-reports) - * [Blocking users](#blocking-users) - -# Abuse reports[](#abuse-reports-core-only "Permalink") - -查看和解决来自 GitLab 用户的滥用情况报告. - -GitLab 管理员可以在管理区域中查看和[解决](#resolving-abuse-reports)滥用报告. - -## Reporting abuse[](#reporting-abuse "Permalink") - -要了解有关报告滥用情况的更多信息,请参阅[滥用报告用户文档](../abuse_reports.html) . - -## Resolving abuse reports[](#resolving-abuse-reports "Permalink") - -要访问滥用报告,请进入**管理区域>滥用报告** . - -解决滥用情况报告的方法有 3 种,每种方法都有一个按钮: - -* 删除用户和报告. 这将: - * 从实例中[删除报告的用户](../profile/account/delete_account.html) . - * 从列表中删除滥用报告. -* [Block user](#blocking-users). -* 删除报告. 这将: - * 从列表中删除滥用报告. - * 删除报告用户的访问限制. - -以下是" **滥用情况报告"**页面的示例: - -[![abuse-reports-page-image](img/31c7821d41281d527a8ee4f058bafaca.png)](img/abuse_reports_page.png) - -### Blocking users[](#blocking-users "Permalink") - -被阻止的用户无法登录或访问任何存储库,但是保留了他们的所有数据. - -阻止用户: - -* Leaves them in the abuse report list. -* 将**阻止用户**按钮更改为禁用的**已阻止**按钮. - -将通过[以下消息](https://gitlab.com/gitlab-org/gitlab/blob/master/app/workers/email_receiver_worker.rb#L38)通知用户: - -``` -Your account has been blocked. If you believe this is in error, contact a staff member. -``` - -屏蔽后,您仍然可以: - -* 删除用户并在必要时报告. -* 删除报告. - -以下是" **滥用报告"**页面上列出的被阻止用户的示例: - -[![abuse-report-blocked-user-image](img/517f5b10646cf257d0fd0413cb54c3e9.png)](img/abuse_report_blocked_user.png) - -**注意:**用户可以[阻止](../../api/users.html#block-user)和[畅通](../../api/users.html#unblock-user)使用 GitLab API. \ No newline at end of file diff --git a/docs/463.md b/docs/463.md deleted file mode 100644 index 71b34bb..0000000 --- a/docs/463.md +++ /dev/null @@ -1,61 +0,0 @@ -# Activating and deactivating users - -> 原文:[https://docs.gitlab.com/ee/user/admin_area/activating_deactivating_users.html](https://docs.gitlab.com/ee/user/admin_area/activating_deactivating_users.html) - -* [Deactivating a user](#deactivating-a-user) -* [Activating a user](#activating-a-user) - -# Activating and deactivating users[](#activating-and-deactivating-users "Permalink") - -GitLab 管理员可以停用和激活用户. - -## Deactivating a user[](#deactivating-a-user "Permalink") - -在 GitLab 12.4 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/22257) . - -为了临时阻止没有最近活动的 GitLab 用户访问,管理员可以选择停用该用户. - -停用用户在功能上与[阻止用户](blocking_unblocking_users.html)相同,但有以下区别: - -* 它不禁止用户通过 UI 重新登录. -* 一旦停用的用户重新登录到 GitLab UI,其帐户将被设置为活动状态. - -停用的用户: - -* 无法访问 Git 存储库或 API. -* 不会从 GitLab 收到任何通知. -* 将无法使用[斜杠命令](../../integration/slash_commands.html) . - -个人项目以及已停用用户的组和用户历史记录将保持不变. - -可以从管理区域中停用用户. 去做这个: - -1. 导航到**管理区域>概述>用户** . -2. 选择一个用户. -3. 在**帐户**标签下,点击**停用用户** . - -请注意,要使停用选项对管理员可见,用户: - -* 必须当前处于活动状态. -* 最近 180 天内不得登录或进行任何活动. - -也可以使用[GitLab API](../../api/users.html#deactivate-user)停用用户. - -**注意:**停用的用户不会消耗[座位](../../subscriptions/index.html#choosing-the-number-of-users) . - -## Activating a user[](#activating-a-user "Permalink") - -在 GitLab 12.4 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/22257) . - -可以从管理区域激活停用的用户. - -去做这个: - -1. 导航到**管理区域>概述>用户** . -2. 单击**停用**选项卡. -3. 选择一个用户. -4. 在**帐户**标签下,点击**激活用户** . - -也可以使用[GitLab API](../../api/users.html#activate-user)激活用户. - -**注意:**激活用户将把用户状态更改为活动状态,这将占用一个[席位](../../subscriptions/index.html#choosing-the-number-of-users) .**提示:**停用的用户还可以通过简单地通过 UI 重新登录来自己激活帐户. \ No newline at end of file diff --git a/docs/464.md b/docs/464.md deleted file mode 100644 index d72389e..0000000 --- a/docs/464.md +++ /dev/null @@ -1,157 +0,0 @@ -# Audit Events - -> 原文:[https://docs.gitlab.com/ee/administration/audit_events.html](https://docs.gitlab.com/ee/administration/audit_events.html) - -* [Overview](#overview) -* [Use cases](#use-cases) -* [List of events](#list-of-events) - * [Impersonation data](#impersonation-data-premium) - * [Group events](#group-events-starter) - * [Project events](#project-events-starter) - * [Instance events](#instance-events-premium-only) - * [Missing events](#missing-events) - * [Disabled events](#disabled-events) - * [Repository push](#repository-push) - -# Audit Events[](#audit-events-starter "Permalink") - -GitLab 为拥有者和管理员提供了一种在[付费计划中](https://about.gitlab.com/pricing/)查看 GitLab 服务器中所做的更改的方法. - -GitLab 系统管理员还可以利用文件系统上的日志. 有关更多详细信息,请参见[日志系统文档](logs.html) . - -## Overview[](#overview "Permalink") - -**审核事件**是 GitLab 所有者和管理员用于跟踪重要事件的工具,例如谁执行了某些操作及其发生的时间. 例如,这些操作可以是更改用户权限级别,添加新用户或删除用户. - -## Use cases[](#use-cases "Permalink") - -* 检查谁更改了 GitLab 项目的特定用户的权限级别. -* 跟踪哪些用户有权访问 GitLab 中的特定项目组,以及谁授予他们该权限级别. - -## List of events[](#list-of-events "Permalink") - -记录了两种事件: - -* 事件范围为组或项目,组和项目经理使用这些事件来查找谁进行了更改. -* 实例事件的范围涵盖整个 GitLab 实例,由合规团队用于执行正式审核. - -### Impersonation data[](#impersonation-data-premium "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/536) in [GitLab Premium](https://about.gitlab.com/pricing/) 13.0. - -模拟是管理员使用凭据以其他用户身份执行操作的地方. - -### Group events[](#group-events-starter "Permalink") - -**注意:**您需要拥有者[权限](../user/permissions.html)才能查看组"审核事件"页面. - -要查看组的审核事件,请导航至**组>设置>审核事件** . 从那里,您可以看到以下操作: - -* 组名或路径已更改 -* 组存储库大小限制已更改 -* 创建或删除组 -* 组更改可见性 -* 用户已添加到组中并具有哪些[权限](../user/permissions.html) -* 用户通过[组 SAML](../user/group/saml_sso/index.html)登录 -* 分配给组的用户的权限更改 -* 从群组中删除了用户 -* 项目存储库已导入组 -* [与组共享](../user/project/members/share_project_with_groups.html)并具有[权限的项目](../user/permissions.html) -* 删除项目中先前共享的组 -* 启用或禁用 LFS -* 共享跑步者的分钟数限制已更改 -* 启用或禁用会员锁定 -* 请求访问已启用或已禁用 -* 2FA 执行或宽限期已更改 -* 允许创建项目的角色已更改 - -组事件也可以通过[组审核事件 API](../api/audit_events.html#group-audit-events-starter)访问 - -### Project events[](#project-events-starter "Permalink") - -**注意:**您需要维护者[权限](../user/permissions.html)或更高[权限](../user/permissions.html)才能查看项目"审核事件"页面. - -要查看项目的审核事件,请导航至**项目>设置>审核事件** . 从那里,您可以看到以下操作: - -* 添加或删除了部署密钥 -* 创建,删除,重命名,移动(转移),更改路径的项目 -* 项目更改的可见性级别 -* 用户已添加到项目中并具有哪些[权限](../user/permissions.html) -* 分配给项目的用户的权限更改 -* 用户已从项目中删除 -* 已下载项目导出 -* 项目资源库已下载 -* 项目已存档 -* 项目未归档 -* 添加,删除或更新的受保护分支 -* 版本已添加到项目 -* 版本已更新 -* 发布里程碑关联已更改 -* 更新了批准提交者合并请求的权限(在 GitLab 12.9 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/7531) ) -* 更新了批准作者合并请求的权限(在 GitLab 12.9 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/7531) ) -* 更新了所需的批准数量(在 GitLab 12.9 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/7531) ) -* 在项目批准组中添加或删除用户和组(在 GitLab 13.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/213603) ) - -也可以通过[Project Audit Events API](../api/audit_events.html#project-audit-events-starter)访问[项目事件](../api/audit_events.html#project-audit-events-starter) - -### Instance events[](#instance-events-premium-only "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/2336) in [GitLab Premium](https://about.gitlab.com/pricing/) 9.3. - -服务器范围的审核日志记录引入了在 GitLab 服务器的整个实例中观察用户操作的功能,从而易于了解谁为审核目的以及何时更改了内容. - -要查看服务器范围的管理日志,请访问**管理区域>监视>审核日志** . - -除了组和项目事件,还记录以下用户操作: - -* 登录失败 -* 登录事件和身份验证类型(例如标准,LDAP 或 OmniAuth) -* 添加了 SSH 密钥 -* 添加或删除电子邮件 -* 修改密码 -* 要求重设密码 -* 授予 OAuth 访问权限 -* 开始或停止模拟用户 -* 更改的用户名(在 GitLab 12.8 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/7797) ) -* 用户已删除(在 GitLab 12.8 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/251) ) -* 添加了用户(在 GitLab 12.8 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/251) ) -* 通过管理区(在 GitLab 12.8 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/251) )阻止了用户 -* 通过 API(在 GitLab 12.9 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/25872) )阻止了用户 - -通过从过滤器下拉框中选择审核数据类型,可以过滤特定的操作. 您可以进一步按特定的组,项目或用户筛选(用于身份验证事件). - -[![audit log](img/7151cdf5255313b82b775852ed2aef73.png)](img/audit_log.png) - -实例事件也可以通过[Instance Audit Events API](../api/audit_events.html#instance-audit-events-premium-only)访问 - -### Missing events[](#missing-events "Permalink") - -在审核事件中未跟踪某些事件. 有关未跟踪哪些事件的更多详细信息,以及将这些事件添加到 GitLab 中的进展,请参见以下史诗: - -* [Project settings and activity](https://gitlab.com/groups/gitlab-org/-/epics/474) -* [Group settings and activity](https://gitlab.com/groups/gitlab-org/-/epics/475) -* [Instance-level settings and activity](https://gitlab.com/groups/gitlab-org/-/epics/476) - -### Disabled events[](#disabled-events "Permalink") - -#### Repository push[](#repository-push "Permalink") - -当前的审计事件体系结构不准备接收大量记录. 这可能会使您的项目或审核日志的用户界面非常繁忙,并且`audit_events` PostgreSQL 表占用的磁盘空间将大大增加. 默认情况下禁用它,以防止 GitLab 实例具有很高的 Git 写入流量时性能降低. - -在即将发布的版本中,默认情况下将启用 Git 推送事件的审核日志. 请按照[#7865](https://gitlab.com/gitlab-org/gitlab/-/issues/7865)进行更新. - -如果您仍然希望在实例中启用**存储库推送**事件,请执行以下步骤. - -**在所有安装中;** - -1. 进入 Rails 控制台: - - ``` - sudo gitlab-rails console - ``` - -2. Flip the switch and enable the feature flag: - - ``` - Feature.enable(:repository_push_audit_event) - ``` \ No newline at end of file diff --git a/docs/465.md b/docs/465.md deleted file mode 100644 index bcf3f87..0000000 --- a/docs/465.md +++ /dev/null @@ -1,46 +0,0 @@ -# Blocking and unblocking users - -> 原文:[https://docs.gitlab.com/ee/user/admin_area/blocking_unblocking_users.html](https://docs.gitlab.com/ee/user/admin_area/blocking_unblocking_users.html) - -* [Blocking a user](#blocking-a-user) -* [Unblocking a user](#unblocking-a-user) - -# Blocking and unblocking users[](#blocking-and-unblocking-users "Permalink") - -GitLab 管理员阻止和取消阻止用户. - -## Blocking a user[](#blocking-a-user "Permalink") - -为了完全阻止用户访问 GitLab 实例,管理员可以选择阻止该用户. - -可以[通过滥用报告](abuse_reports.html#blocking-users)或直接从管理区域来阻止用户. 去做这个: - -1. 导航到**管理区域>概述>用户** . -2. 选择一个用户. -3. 在**帐户**标签下,点击**阻止用户** . - -被阻止的用户: - -* 将无法登录. -* 无法访问 Git 存储库或 API. -* 不会从 GitLab 收到任何通知. -* 将无法使用[斜杠命令](../../integration/slash_commands.html) . - -个人项目以及被阻止用户的组和用户历史记录将保持不变. - -也可以使用[GitLab API](../../api/users.html#block-user)阻止用户. - -**注意:**被封锁的用户不会占用[座位](../../subscriptions/index.html#choosing-the-number-of-users) . - -## Unblocking a user[](#unblocking-a-user "Permalink") - -可以从管理区域中取消阻止被阻止的用户. 去做这个: - -1. 导航到**管理区域>概述>用户** . -2. 单击" **阻止"**选项卡. -3. 选择一个用户. -4. 在**帐户**标签下,点击**取消阻止用户** . - -也可以使用[GitLab API](../../api/users.html#unblock-user)解除对用户的阻止. - -**注意:**取消禁止用户进入会将用户状态更改为"活动",这将占用一个[席位](../../subscriptions/index.html#choosing-the-number-of-users) . \ No newline at end of file diff --git a/docs/466.md b/docs/466.md deleted file mode 100644 index 38833e6..0000000 --- a/docs/466.md +++ /dev/null @@ -1,98 +0,0 @@ -# Broadcast Messages - -> 原文:[https://docs.gitlab.com/ee/user/admin_area/broadcast_messages.html](https://docs.gitlab.com/ee/user/admin_area/broadcast_messages.html) - -* [Banners](#banners) -* [Notifications](#notifications) -* [Adding a broadcast message](#adding-a-broadcast-message) -* [Editing a broadcast message](#editing-a-broadcast-message) -* [Deleting a broadcast message](#deleting-a-broadcast-message) - -# Broadcast Messages[](#broadcast-messages-core-only "Permalink") - -GitLab 可以向 GitLab 实例的所有用户显示广播消息. 广播消息有两种类型: - -* banners -* notifications - -您可以使用`a`和`br` HTML 标记来设置消息内容的样式. `br`标签插入换行符. `a` HTML 标记接受具有以下 CSS 属性的`class`和`style`属性: - -* `color` -* `border` -* `background` -* `padding` -* `margin` -* `text-decoration` - -## Banners[](#banners "Permalink") - -标语显示在页面顶部和 Git 远程响应中. - -[![Broadcast Message Banner](img/5665233091dd783791b6dd32107e61ec.png)](img/broadcast_messages_banner_v12_10.png) - -``` -$ git push -... -remote: -remote: **Welcome** to GitLab :wave: -remote: -... -``` - -## Notifications[](#notifications "Permalink") - -通知显示在页面的右下角,并且可以包含占位符. 占位符替换为活动用户的属性. 占位符必须用花括号括起来,例如`{{name}}` . 可用的占位符是: - -* `{{email}}` -* `{{name}}` -* `{{user_id}}` -* `{{username}}` -* `{{instance_id}}` - -如果用户未登录,则与用户相关的值将为空. - -[![Broadcast Message Notification](img/eaa74cb66b0dd1b45f9b312af76c23fb.png)](img/broadcast_messages_notification_v12_10.png) - -广播消息可以使用[广播消息 API](../../api/broadcast_messages.html)进行管理. - -**注意:**如果一次激活了多个横幅消息,则会按创建顺序将它们显示在堆栈中. 如果一次激活了多个通知消息,则仅显示最新消息. - -## Adding a broadcast message[](#adding-a-broadcast-message "Permalink") - -要向您的 GitLab 实例上的用户显示消息,请添加广播消息. - -要添加广播消息: - -1. 导航到" **管理区域">"消息"**页面. -2. 将消息的文本添加到" **消息"**字段. 支持 Markdown 和表情符号. -3. 如果需要,请单击" **自定义颜色"**链接以编辑消息的背景颜色和字体颜色. -4. 如果需要,添加**目标路径**以仅在与该路径匹配的 URL 上显示广播消息. 您可以使用通配符`*`来匹配多个 URL,例如`/users/*/issues` . -5. 选择消息的开始日期和结束日期. -6. 单击**添加广播消息**按钮. - -**注意:**广播消息过期后,将不再显示在 UI 中,而是仍列在广播消息列表中. 如果设置了"可**禁用** "选项,则用户还可以关闭广播消息. - -## Editing a broadcast message[](#editing-a-broadcast-message "Permalink") - -如果需要更改广播消息,则可以对其进行编辑. - -要编辑广播消息: - -1. 导航到" **管理区域">"消息"**页面. -2. 从广播消息列表中,单击相应的按钮以编辑消息. -3. 进行所需的更改后,单击" **更新广播消息"**按钮. - -**提示:**过期的邮件可以通过更改其结束日期来再次激活. - -## Deleting a broadcast message[](#deleting-a-broadcast-message "Permalink") - -可以删除不再需要的广播消息. - -要删除广播消息: - -1. 导航到" **管理区域">"消息"**页面. -2. 从广播消息列表中,单击相应的按钮以删除该消息. - -删除后,广播消息将从广播消息列表中删除. - -**注意:**广播消息可以在激活时删除. \ No newline at end of file diff --git a/docs/467.md b/docs/467.md deleted file mode 100644 index 7efba32..0000000 --- a/docs/467.md +++ /dev/null @@ -1,633 +0,0 @@ -# Elasticsearch integration - -> 原文:[https://docs.gitlab.com/ee/integration/elasticsearch.html](https://docs.gitlab.com/ee/integration/elasticsearch.html) - -* [Version Requirements](#version-requirements) -* [Installing Elasticsearch](#installing-elasticsearch) -* [Elasticsearch repository indexer](#elasticsearch-repository-indexer) - * [Omnibus GitLab](#omnibus-gitlab) - * [From source](#from-source) - * [Debian / Ubuntu](#debian--ubuntu) - * [CentOS / RHEL](#centos--rhel) - * [Mac OSX](#mac-osx) - * [Building and installing](#building-and-installing) -* [System Requirements](#system-requirements) -* [Enabling Elasticsearch](#enabling-elasticsearch) - * [Limiting namespaces and projects](#limiting-namespaces-and-projects) -* [Disabling Elasticsearch](#disabling-elasticsearch) -* [Adding GitLab’s data to the Elasticsearch index](#adding-gitlabs-data-to-the-elasticsearch-index) - * [Indexing through the administration UI](#indexing-through-the-administration-ui) - * [Indexing through Rake tasks](#indexing-through-rake-tasks) - * [Indexing small instances](#indexing-small-instances) - * [Indexing large instances](#indexing-large-instances) - * [Indexing limitations](#indexing-limitations) -* [GitLab Elasticsearch Rake tasks](#gitlab-elasticsearch-rake-tasks) - * [Environment variables](#environment-variables) - * [Indexing a specific project](#indexing-a-specific-project) -* [Elasticsearch index scopes](#elasticsearch-index-scopes) -* [Tuning](#tuning) - * [Guidance on choosing optimal cluster configuration](#guidance-on-choosing-optimal-cluster-configuration) - * [Elasticsearch integration settings guidance](#elasticsearch-integration-settings-guidance) - * [Deleted documents](#deleted-documents) -* [Troubleshooting](#troubleshooting) - * [Common issues](#common-issues) - * [Low-level troubleshooting](#low-level-troubleshooting) - * [Known Issues](#known-issues) - * [Reverting to basic search](#reverting-to-basic-search) - -# Elasticsearch integration[](#elasticsearch-integration-starter-only "Permalink") - -版本历史 - -* 在 GitLab [Starter](https://about.gitlab.com/pricing/) 8.4 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/109 "Elasticsearch 合并请求") . -* 在 GitLab [Starter](https://about.gitlab.com/pricing/) 9.0 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/1305)了对[Amazon Elasticsearch 的](https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-gsg.html)支持. - -本文档介绍了如何使用 GitLab 设置 Elasticsearch. 启用后,您将受益于快速的搜索响应时间以及两个特殊搜索的优点: - -* [Advanced Global Search](../user/search/advanced_global_search.html) -* [Advanced Syntax Search](../user/search/advanced_search_syntax.html) - -## Version Requirements[](#version-requirements "Permalink") - -| GitLab 版本 | Elasticsearch 版本 | -| --- | --- | -| GitLab 企业版 8.4-8.17 | Elasticsearch 2.4 with [Delete By Query Plugin](https://www.elastic.co/guide/en/elasticsearch/plugins/2.4/plugins-delete-by-query.html) installed | -| GitLab 企业版 9.0-11.4 | 弹性搜索 5.1-5.5 | -| GitLab 企业版 11.5-12.6 | Elasticsearch 5.6-6.x | -| manbetx 客户端打不开企业版 12.7+ | Elasticsearch 6.x-7.x | - -## Installing Elasticsearch[](#installing-elasticsearch "Permalink") - -Omnibus 软件包中*不*包括 Elasticsearch. 无论您使用的是 Omnibus 软件包还是从源代码安装的 GitLab,您都必须[自行安装](https://www.elastic.co/guide/en/elasticsearch/reference/6.8/install-elasticsearch.html "Elasticsearch 6.8 安装文档") . 提供有关安装 Elasticsearch 的详细信息超出了本文档的范围. - -**注意:** Elasticsearch 应该安装在单独的服务器上,无论您自己安装还是使用云托管产品,例如 Elastic 的[Elasticsearch Service](https://www.elastic.co/elasticsearch/service) (在 AWS,GCP 或 Azure 上可用)或[Amazon Elasticsearch](https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-gsg.html) Service. 不建议在与 GitLab 相同的服务器上运行 Elasticsearch,这可能会导致 GitLab 实例性能下降.**注意:** **对于单节点 Elasticsearch 集群,功能集群的运行状况为黄色** (永远不会为绿色),因为已分配了主要分片,但副本却无法存在,因为没有其他节点可以为 Elasticsearch 分配副本. - -将数据添加到数据库或存储库中并[在管理区域中启用 Elasticsearch 后](#enabling-elasticsearch) ,搜索索引将自动更新. - -## Elasticsearch repository indexer[](#elasticsearch-repository-indexer "Permalink") - -为了索引 Git 存储库数据,GitLab 使用了[Go 语言编写](https://gitlab.com/gitlab-org/gitlab-elasticsearch-indexer)的[索引器](https://gitlab.com/gitlab-org/gitlab-elasticsearch-indexer) . - -Go 索引器的安装方式取决于您的 GitLab 版本: - -* 对于 Omnibus GitLab 11.8 及更高版本,请参见[Omnibus GitLab](#omnibus-gitlab) . -* For installations from source or older versions of Omnibus GitLab, install the indexer [From Source](#from-source). - -### Omnibus GitLab[](#omnibus-gitlab "Permalink") - -从 GitLab 11.8 开始,Omnibus GitLab 中包含了 Go 索引器. 以前的基于 Ruby 的索引器已在[GitLab 12.3](https://gitlab.com/gitlab-org/gitlab/-/issues/6481)中删除. - -### From source[](#from-source "Permalink") - -首先,我们需要安装一些依赖项,然后构建并安装索引器本身. - -该项目依靠[ICU](http://site.icu-project.org/)进行文本编码,因此我们需要确保在运行`make`之前安装了适用于您平台的开发包. - -#### Debian / Ubuntu[](#debian--ubuntu "Permalink") - -要在 Debian 或 Ubuntu 上安装,请运行: - -``` -sudo apt install libicu-dev -``` - -#### CentOS / RHEL[](#centos--rhel "Permalink") - -要在 CentOS 或 RHEL 上安装,请运行: - -``` -sudo yum install libicu-devel -``` - -##### Mac OSX[](#mac-osx "Permalink") - -要在 macOS 上安装,请运行: - -``` -brew install icu4c -export PKG_CONFIG_PATH="/usr/local/opt/icu4c/lib/pkgconfig:$PKG_CONFIG_PATH" -``` - -### Building and installing[](#building-and-installing "Permalink") - -要构建和安装索引器,请运行: - -``` -indexer_path=/home/git/gitlab-elasticsearch-indexer - -# Run the installation task for gitlab-elasticsearch-indexer: -sudo -u git -H bundle exec rake gitlab:indexer:install[$indexer_path] RAILS_ENV=production -cd $indexer_path && sudo make install -``` - -The `gitlab-elasticsearch-indexer` will be installed to `/usr/local/bin`. - -您可以使用`PREFIX` env 变量更改安装路径. 如果这样做,请记住将`-E`标志传递给`sudo` . - -Example: - -``` -PREFIX=/usr sudo -E make install -``` - -安装完成后,请在您实例的 Elasticsearch 设置下启用, [如下所述](#enabling-elasticsearch) . - -## System Requirements[](#system-requirements "Permalink") - -Elasticsearch 需要的资源超出了[GitLab 系统要求中](../install/requirements.html)记录的资源. 这些会因安装大小而异,但是,根据[官方指南](https://www.elastic.co/guide/en/elasticsearch/guide/current/hardware.html) ,您应确保每个 Elasticsearch 节点**至少至少**有**8 GiB RAM** . - -请记住,这是 Elasticsearch 的**最低要求** . 对于生产实例,他们建议使用更多的资源. - -所需的存储空间在很大程度上取决于要存储在 GitLab 中的存储库的大小,但是根据经验,由于所有存储库加起来,您应该至少有 50%的可用空间. - -## Enabling Elasticsearch[](#enabling-elasticsearch "Permalink") - -为了启用 Elasticsearch,您需要具有管理员权限. 导航到**管理区域** (扳手图标),然后导航到**设置>集成**并展开**Elasticsearch**部分. - -单击**保存更改**以使更改生效. - -可以使用以下 Elasticsearch 设置: - -| Parameter | Description | -| --- | --- | -| `Elasticsearch indexing` | 启用/禁用 Elasticsearch 索引编制. 例如,您可能想要启用索引编制但禁用搜索以使索引有时间完全完成. 另外,请记住,此选项对现有数据没有任何影响,仅启用/禁用跟踪数据更改的后台索引器. 因此,通过启用此功能,您将不会为现有数据建立索引,请按照[将 GitLab 的数据添加到 Elasticsearch 索引中所述的](#adding-gitlabs-data-to-the-elasticsearch-index)那样,使用特殊的 Rake 任务. | -| `Elasticsearch pause indexing` | 启用/禁用临时索引暂停. 这对于群集迁移/重新索引很有用. 仍会跟踪所有更改,但是直到未暂停它们才提交给 Elasticsearch 索引. | -| `Search with Elasticsearch enabled` | 在搜索中使用 Elasticsearch 启用/禁用. | -| `URL` | 用于连接到 Elasticsearch 的 URL. 使用逗号分隔的列表来支持群集(例如, `http://host1, https://host2:9200` ). 如果您的 Elasticsearch 实例受密码保护,请在 URL 中传递`username:password` (例如, `http://:@:9200/` ). | -| `Number of Elasticsearch shards` | 出于性能原因,Elasticsearch 索引分为多个碎片. 通常,较大的索引需要具有更多的分片. 在重新创建索引之前,对该值所做的更改才会生效. 您可以在[Elasticsearch 文档中](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-create-index.html#create-index-settings)阅读有关权衡的更多信息 | -| `Number of Elasticsearch replicas` | 每个 Elasticsearch 分片可以具有多个副本. 这些是分片的完整副本,可以提高查询性能或抵御硬件故障. 增大该值将大大增加索引所需的总磁盘空间. | -| `Limit namespaces and projects that can be indexed` | 启用此选项将允许您选择要索引的名称空间和项目. 所有其他名称空间和项目将改为使用数据库搜索. 请注意,如果启用此选项但未选择任何名称空间或项目,则不会为它们建立索引. [在下面阅读更多内容](#limiting-namespaces-and-projects) . | -| `Using AWS hosted Elasticsearch with IAM credentials` | 使用[AWS IAM 授权](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html)或[AWS EC2 实例配置文件凭证](https://docs.aws.amazon.com/codedeploy/latest/userguide/getting-started-create-iam-instance-profile.html#getting-started-create-iam-instance-profile-cli)对 Elasticsearch 请求进行签名. 必须将策略配置为允许`es:*`操作. | -| `AWS Region` | 您的 Elasticsearch 服务所在的 AWS 区域. | -| `AWS Access Key` | AWS 访问密钥. | -| `AWS Secret Access Key` | AWS 秘密访问密钥. | -| `Maximum field length` | See [the explanation in instance limits.](../administration/instance_limits.html#maximum-field-length). | -| `Maximum bulk request size (MiB)` | 最大批量请求大小由 GitLab 基于 Golang 的索引器流程使用,并指示在将有效负载提交给 Elasticsearch 的批量 API 之前,它应在给定的索引过程中收集(并存储在内存中)多少数据. 此设置应与批量请求并发设置一起使用(请参见下文),并且需要通过`gitlab-rake`命令或通过`gitlab-rake`命令来适应 Elasticsearch 主机和运行 GitLab 基于 Golang 的索引器的主机的资源限制. Sidekiq 任务. | -| `Bulk request concurrency` | 批量请求并发指示可以并行运行多少个 GitLab 基于 Golang 的索引器进程(或线程)来收集数据,然后将其提交给 Elasticsearch 的批量 API. 这可以提高索引编制性能,但可以更快地填充 Elasticsearch 批量请求队列. 此设置应与最大批量请求大小设置(请参见上文)一起使用,并且需要容纳`gitlab-rake`的 Elasticsearch 主机和运行 GitLab 基于 Golang 的索引器的主机的资源限制命令或 Sidekiq 任务. | - -### Limiting namespaces and projects[](#limiting-namespaces-and-projects "Permalink") - -如果选择" `Limit namespaces and projects that can be indexed`更多选项可用 [![限制名称空间和项目选项](img/39b4809628ba97edb93621d6eefa5135.png)](img/limit_namespaces_projects_options.png) - -您可以选择名称空间和项目以排他索引. 请注意,如果名称空间是一个组,它将包括所有子组以及属于这些子组的要被索引的项目. - -如果所有名称空间都已建立索引,Elasticsearch 仅提供跨组代码/提交搜索(全局). 在仅对名称空间的子集进行索引的特定情况下,全局搜索将不提供代码或提交范围. 这仅在索引命名空间的范围内才有可能. 当前,无法对多个已索引的名称空间进行编码/提交搜索(当仅对名称空间的子集进行索引时). 例如,如果两个组都已建立索引,则无法在两个组上运行单个代码搜索. 您只能在第一组上然后在第二组上运行代码搜索. - -您可以通过编写感兴趣的部分名称空间或项目名称来过滤选择下拉列表. - -[![limit namespace filter](img/471bcfe6a44b22703662997289b517c9.png)](img/limit_namespace_filter.png) - -**注意:**如果未选择名称空间或项目,则不会进行 Elasticsearch 索引.**警告:**如果您已经为实例建立索引,则必须重新生成索引,才能删除所有现有数据以进行过滤以使其正常工作. 为此,请运行 Rake 任务`gitlab:elastic:recreate_index`和`gitlab:elastic:clear_index_status` . 然后,从列表中删除名称空间或项目将按预期从 Elasticsearch 索引中删除数据. - -## Disabling Elasticsearch[](#disabling-elasticsearch "Permalink") - -要禁用 Elasticsearch 集成: - -1. 导航到**管理区域** (扳手图标),然后导航到**设置>集成** . -2. 展开**Elasticsearch**部分,然后取消选中**Elasticsearch 索引**和**启用** **Elasticsearch 的** **搜索** . -3. 单击**保存更改**以使更改生效. -4. (可选)删除现有索引: - - ``` - # Omnibus installations - sudo gitlab-rake gitlab:elastic:delete_index - - # Installations from source - bundle exec rake gitlab:elastic:delete_index RAILS_ENV=production - ``` - -## Adding GitLab’s data to the Elasticsearch index[](#adding-gitlabs-data-to-the-elasticsearch-index "Permalink") - -启用 Elasticsearch 索引编制后,您的 GitLab 实例中的新更改将在发生更改时自动进行索引. 要回填现有数据,可以使用以下方法之一在后台作业中对其进行索引. - -### Indexing through the administration UI[](#indexing-through-the-administration-ui "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/15390) in [GitLab Starter](https://about.gitlab.com/pricing/) 12.3. - -通过管理区域建立索引: - -1. [Configure your Elasticsearch host and port](#enabling-elasticsearch). -2. 创建空索引: - - ``` - # Omnibus installations - sudo gitlab-rake gitlab:elastic:create_empty_index - - # Installations from source - bundle exec rake gitlab:elastic:create_empty_index RAILS_ENV=production - ``` - -3. [Enable **Elasticsearch indexing**](#enabling-elasticsearch). -4. Click **索引所有项目** in **管理区域>设置>集成> Elasticsearch**. -5. 单击确认消息中的**检查进度** ,以查看后台作业的状态. -6. 个人摘要需要手动编制索引: - - ``` - # Omnibus installations - sudo gitlab-rake gitlab:elastic:index_snippets - - # Installations from source - bundle exec rake gitlab:elastic:index_snippets RAILS_ENV=production - ``` - -7. 索引完成后,启用[**Search with Elasticsearch**](#enabling-elasticsearch) . - -### Indexing through Rake tasks[](#indexing-through-rake-tasks "Permalink") - -可以使用 Rake 任务执行索引. - -#### Indexing small instances[](#indexing-small-instances "Permalink") - -**警告:**这将删除您现有的索引. - -如果数据库大小小于 500 MiB,并且所有托管存储库的大小小于 5 GiB: - -1. [Configure your Elasticsearch host and port](#enabling-elasticsearch). -2. 索引您的数据: - - ``` - # Omnibus installations - sudo gitlab-rake gitlab:elastic:index - - # Installations from source - bundle exec rake gitlab:elastic:index RAILS_ENV=production - ``` - -3. 索引完成后,启用[**Search with Elasticsearch**](#enabling-elasticsearch) . - -#### Indexing large instances[](#indexing-large-instances "Permalink") - -**警告:**执行异步索引编制将生成很多 Sidekiq 作业. 确保具有[可扩展和高度可用的设置](README.html)或创建[额外的 Sidekiq 进程](../administration/operations/extra_sidekiq_processes.html)以为该任务做准备 - -1. [Configure your Elasticsearch host and port](#enabling-elasticsearch). -2. 创建空索引: - - ``` - # Omnibus installations - sudo gitlab-rake gitlab:elastic:create_empty_index - - # Installations from source - bundle exec rake gitlab:elastic:create_empty_index RAILS_ENV=production - ``` - -3. 如果这是您的 GitLab 实例的重新索引,请清除索引状态: - - ``` - # Omnibus installations - sudo gitlab-rake gitlab:elastic:clear_index_status - - # Installations from source - bundle exec rake gitlab:elastic:clear_index_status RAILS_ENV=production - ``` - -4. [Enable **Elasticsearch indexing**](#enabling-elasticsearch). -5. 索引大型 Git 存储库可能需要一段时间. 为了加快此过程,您可以暂时禁用自动刷新和复制. 根据我们的经验,您可以预期索引编制时间将减少 20%. 索引完成后,我们将启用它们. 此步骤是可选的! - - ``` - curl --request PUT localhost:9200/gitlab-production/_settings --header 'Content-Type: application/json' --data '{ - "index" : { - "refresh_interval" : "-1", - "number_of_replicas" : 0 - } }' - ``` - -6. 索引项目及其相关数据: - - ``` - # Omnibus installations - sudo gitlab-rake gitlab:elastic:index_projects - - # Installations from source - bundle exec rake gitlab:elastic:index_projects RAILS_ENV=production - ``` - - 这为需要索引的每个项目加入了一个 Sidekiq 作业. 您可以在**管理区域>监视>后台作业>队列选项卡中**查看作业,然后单击`elastic_indexer` ,也可以使用 Rake 任务查询索引状态: - - ``` - # Omnibus installations - sudo gitlab-rake gitlab:elastic:index_projects_status - - # Installations from source - bundle exec rake gitlab:elastic:index_projects_status RAILS_ENV=production - - Indexing is 65.55% complete (6555/10000 projects) - ``` - - 如果要将索引限制为一定范围的项目,可以提供`ID_FROM`和`ID_TO`参数: - - ``` - # Omnibus installations - sudo gitlab-rake gitlab:elastic:index_projects ID_FROM=1001 ID_TO=2000 - - # Installations from source - bundle exec rake gitlab:elastic:index_projects ID_FROM=1001 ID_TO=2000 RAILS_ENV=production - ``` - - 其中`ID_FROM`和`ID_TO`是项目 ID. 这两个参数都是可选的. 上面的示例将索引从 ID `1001`到(并包括)ID `2000`所有项目. - - **故障排除:**有时`gitlab:elastic:index_projects`排队的项目索引作业可能会中断. 出于多种原因可能会发生这种情况,但是再次运行索引任务始终是安全的. 它将跳过已经建立索引的存储库. - - 当索引器在数据库中存储每个已索引存储库的最后一次提交 SHA 时,您可以使用特殊参数`UPDATE_INDEX`运行索引器,它将再次检查每个项目存储库以确保对存储库中的每个提交都进行了索引,这很有用.如果您的索引已过时: - - ``` - # Omnibus installations - sudo gitlab-rake gitlab:elastic:index_projects UPDATE_INDEX=true ID_TO=1000 - - # Installations from source - bundle exec rake gitlab:elastic:index_projects UPDATE_INDEX=true ID_TO=1000 RAILS_ENV=production - ``` - - 您还可以使用`gitlab:elastic:clear_index_status` Rake 任务来强制索引器"忘记"所有进度,因此它将从头开始重试索引过程. - -7. 个人代码段与项目无关,需要单独编制索引: - - ``` - # Omnibus installations - sudo gitlab-rake gitlab:elastic:index_snippets - - # Installations from source - bundle exec rake gitlab:elastic:index_snippets RAILS_ENV=production - ``` - -8. 在建立索引后再次启用复制和刷新(仅在您之前禁用它的情况下): - - ``` - curl --request PUT localhost:9200/gitlab-production/_settings --header 'Content-Type: application/json' --data '{ - "index" : { - "number_of_replicas" : 1, - "refresh_interval" : "1s" - } }' - ``` - - 启用上述刷新后,应调用强制合并. - - 对于 Elasticsearch 6.x,在进行强制合并之前,索引应处于只读模式: - - ``` - curl --request PUT localhost:9200/gitlab-production/_settings --header 'Content-Type: application/json' --data '{ - "settings": { - "index.blocks.write": true - } }' - ``` - - 然后,启动强制合并: - - ``` - curl --request POST 'localhost:9200/gitlab-production/_forcemerge?max_num_segments=5' - ``` - - 此后,如果索引处于只读模式,请切换回读写模式: - - ``` - curl --request PUT localhost:9200/gitlab-production/_settings --header 'Content-Type: application/json' --data '{ - "settings": { - "index.blocks.write": false - } }' - ``` - -9. 索引完成后,启用[**Search with Elasticsearch**](#enabling-elasticsearch) . - -### Indexing limitations[](#indexing-limitations "Permalink") - -对于存储库和摘要文件,GitLab 最多只能索引 1 MiB 的内容,以避免索引超时. - -## GitLab Elasticsearch Rake tasks[](#gitlab-elasticsearch-rake-tasks "Permalink") - -耙任务可用于: - -* [生成并安装](#building-and-installing)索引器. -* [禁用 Elasticsearch](#disabling-elasticsearch)时删除索引. -* [将 GitLab 数据添加](#adding-gitlabs-data-to-the-elasticsearch-index)到索引. - -以下是一些可用的 Rake 任务: - -| Task | Description | -| --- | --- | -| [`sudo gitlab-rake gitlab:elastic:index`](https://gitlab.com/gitlab-org/gitlab/blob/master/ee/lib/tasks/gitlab/elastic.rake) | 启用 Elasticsearch 索引并运行`gitlab:elastic:create_empty_index` , `gitlab:elastic:clear_index_status` , `gitlab:elastic:index_projects`和`gitlab:elastic:index_snippets` . | -| [`sudo gitlab-rake gitlab:elastic:index_projects`](https://gitlab.com/gitlab-org/gitlab/blob/master/ee/lib/tasks/gitlab/elastic.rake) | 遍历所有项目并在 Sidekiq 作业中排队以在后台对它们进行索引. | -| [`sudo gitlab-rake gitlab:elastic:index_projects_status`](https://gitlab.com/gitlab-org/gitlab/blob/master/ee/lib/tasks/gitlab/elastic.rake) | 确定索引的总体状态. 通过计算索引项目的总数,除以项目总数,然后乘以 100 即可完成. | -| [`sudo gitlab-rake gitlab:elastic:clear_index_status`](https://gitlab.com/gitlab-org/gitlab/blob/master/ee/lib/tasks/gitlab/elastic.rake) | 删除所有项目的 IndexStatus 的所有实例. | -| [`sudo gitlab-rake gitlab:elastic:create_empty_index[]`](https://gitlab.com/gitlab-org/gitlab/blob/master/ee/lib/tasks/gitlab/elastic.rake) | 生成一个空索引,并为该索引分配一个别名(仅当该索引不存在时). | -| [`sudo gitlab-rake gitlab:elastic:delete_index[]`](https://gitlab.com/gitlab-org/gitlab/blob/master/ee/lib/tasks/gitlab/elastic.rake) | 删除 Elasticsearch 实例上的 GitLab 索引和别名(如果存在). | -| [`sudo gitlab-rake gitlab:elastic:recreate_index[]`](https://gitlab.com/gitlab-org/gitlab/blob/master/ee/lib/tasks/gitlab/elastic.rake) | `gitlab:elastic:delete_index[]`和`gitlab:elastic:create_empty_index[]`包装器任务. | -| [`sudo gitlab-rake gitlab:elastic:index_snippets`](https://gitlab.com/gitlab-org/gitlab/blob/master/ee/lib/tasks/gitlab/elastic.rake) | 执行 Elasticsearch 导入,对片段数据进行索引. | -| [`sudo gitlab-rake gitlab:elastic:projects_not_indexed`](https://gitlab.com/gitlab-org/gitlab/blob/master/ee/lib/tasks/gitlab/elastic.rake) | 显示未索引的项目. | -| [`sudo gitlab-rake gitlab:elastic:reindex_cluster`](https://gitlab.com/gitlab-org/gitlab/blob/master/ee/lib/tasks/gitlab/elastic.rake) | 安排零停机群集重新索引编制任务. 此功能应与在 GitLab 13.0 之后创建的索引一起使用. | - -**注意:** `TARGET_NAME`参数是可选的,如果未设置,它将使用当前`RAILS_ENV`的默认索引/别名. - -### Environment variables[](#environment-variables "Permalink") - -除了 Rake 任务,还有一些环境变量可用于修改过程: - -| 环境变量 | 数据类型 | 它能做什么 | -| --- | --- | --- | -| `UPDATE_INDEX` | Boolean | 告诉索引器覆盖任何现有索引数据(对/错). | -| `ID_TO` | Integer | 告诉索引器仅索引小于或等于该值的项目. | -| `ID_FROM` | Integer | 告诉索引器仅索引大于或等于该值的项目. | - -### Indexing a specific project[](#indexing-a-specific-project "Permalink") - -因为`ID_TO`和`ID_FROM`环境变量使用`or equal to`比较,所以您可以通过使用两个具有相同项目 ID 号的变量来仅索引一个项目: - -``` -root@git:~# sudo gitlab-rake gitlab:elastic:index_projects ID_TO=5 ID_FROM=5 -Indexing project repositories...I, [2019-03-04T21:27:03.083410 #3384] INFO -- : Indexing GitLab User / test (ID=33)... -I, [2019-03-04T21:27:05.215266 #3384] INFO -- : Indexing GitLab User / test (ID=33) is done! -``` - -## Elasticsearch index scopes[](#elasticsearch-index-scopes "Permalink") - -执行搜索时,GitLab 索引将使用以下范围: - -| 范围名称 | What it searches | -| --- | --- | -| `commits` | 提交数据 | -| `projects` | 项目数据(默认) | -| `blobs` | Code | -| `issues` | 发行数据 | -| `merge_requests` | 合并请求数据 | -| `milestones` | 里程碑数据 | -| `notes` | 笔记数据 | -| `snippets` | 片段数据 | -| `wiki_blobs` | 维基内容 | - -## Tuning[](#tuning "Permalink") - -### Guidance on choosing optimal cluster configuration[](#guidance-on-choosing-optimal-cluster-configuration "Permalink") - -有关选择集群配置的基本指导,请参考[Elastic Cloud Calculator](https://cloud.elastic.co/pricing) . 您可以在下面找到更多信息. - -* 通常,您将希望至少将一个 2 节点群集配置与一个副本一起使用,这将使您具有弹性. 如果存储使用量快速增长,则可能需要预先计划水平扩展(添加更多节点). -* 不建议将 HDD 存储与搜索群集一起使用,因为它会影响性能. 最好使用 SSD 存储(例如 NVMe 或 SATA SSD 驱动器). -* 您可以使用[GitLab Performance Tool](https://gitlab.com/gitlab-org/quality/performance)来对不同搜索集群大小和配置的搜索性能进行基准测试. -* `Heap size`应设置为不超过物理 RAM 的 50%. 此外,不应将其设置为超过基于零的压缩 oop 的阈值. 确切的阈值会有所不同,但是在大多数系统上 26 GB 是安全的,但在某些系统上也可能高达 30 GB. 有关更多详细信息,请参见[设置堆大小](https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html#heap-size) . -* 每个节点的 CPU(CPU 核心)数通常对应于以下所述`Number of Elasticsearch shards`设置. -* 一个好的指导方针是确保每个节点的已配置 GB 堆中的碎片数保持在 20 个以下. 因此,具有 30GB 堆的节点最多应具有 600 个分片,但是越低于此限制,您可以使其越好. 通常,这将有助于群集保持良好的运行状况. -* 小碎片会导致小段,这会增加开销. 旨在将平均分片大小保持在至少几 GB 到几十 GB 之间. 另一个考虑因素是文档数量,您应该针对此简单的分片`number of expected documents / 5M +1`公式: `number of expected documents / 5M +1` . -* `refresh_interval`是每个索引设置. 如果您不需要实时数据,则可能需要将其从默认的`1s`调整为更大的值. 这将改变您看到新结果的时间. 如果这对您很重要,则应使其尽可能接近默认值. -* 如果您有大量繁重的索引操作,则可能需要将[`indices.memory.index_buffer_size`](https://www.elastic.co/guide/en/elasticsearch/reference/current/indexing-buffer.html)提高到 30%或 40%. - -### Elasticsearch integration settings guidance[](#elasticsearch-integration-settings-guidance "Permalink") - -* The `Number of Elasticsearch shards` setting usually corresponds with the number of CPUs available in your cluster. For example, if you have a 3-node cluster with 4 cores each, this means you will benefit from having at least 3*4=12 shards in the cluster. Please note, it’s only possible to change the shards number by using [Split index API](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-split-index.html) or by reindexing to a different index with a changed number of shards. -* `Number of Elasticsearch replicas`设置在大多数情况下应等于`1` (每个分片将具有 1 个副本). 不建议使用`0` ,因为丢失一个节点会破坏索引. - -### Deleted documents[](#deleted-documents "Permalink") - -每当对索引的 GitLab 对象进行更改或删除时(合并请求描述发生更改,从存储库中的 master 分支中删除文件,删除项目等),索引中的文档也会被删除. 但是,由于这些是"软"删除,因此"已删除文档"的总数增加了,因此浪费了空间. Elasticsearch 进行段的智能合并,以删除这些已删除的文档. 但是,根据 GitLab 安装中活动的数量和类型,可能会在索引中看到多达 50%的浪费空间. - -通常,我们建议仅使用默认设置让 Elasticsearch 自动合并和回收空间. 在[Lucene 的"已删除文档处理"中](https://www.elastic.co/blog/lucenes-handling-of-deleted-documents "Lucene 处理已删除文件的方法") , *"总的来说,除了减小最大段大小外,最好将 Lucene 的默认值保持原样,并且不要对回收删除时感到担心."* - -但是,某些较大的安装可能希望调整合并策略设置: - -* 考虑将`index.merge.policy.max_merged_segment`大小从默认的 5 GB 减小到 2 GB 或 3 GB. 仅当段中至少有 50%的删除时才进行合并. 较小的段大小将允许合并更频繁地发生. - - ``` - curl --request PUT localhost:9200/gitlab-production/_settings ---header 'Content-Type: application/json' --data '{ - "index" : { - "merge.policy.max_merged_segment": "2gb" - } - }' - ``` - -* 您还可以调整`index.merge.policy.reclaim_deletes_weight` ,它控制如何积极地定位删除. 但是,这可能会导致代价高昂的合并决策,因此,除非您了解取舍,否则我们建议不要更改此决策. - - ``` - curl --request PUT localhost:9200/gitlab-production/_settings ---header 'Content-Type: application/json' --data '{ - "index" : { - "merge.policy.reclaim_deletes_weight": "3.0" - } - }' - ``` - -* 不要[强制合并](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-forcemerge.html "强制合并")以删除已删除的文档. [文档中](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-forcemerge.html "强制合并")的警告指出,这可能导致很大的网段,这些网段可能永远都无法收回,并且还可能导致严重的性能或可用性问题. - -## Troubleshooting[](#troubleshooting "Permalink") - -### Common issues[](#common-issues "Permalink") - -以下是一些常见的陷阱以及如何克服它们: - -* **如何验证我的 GitLab 实例正在使用 Elasticsearch?** - - 最简单的方法是通过运行以下`sudo gitlab-rails console`通过 rails 控制台( `sudo gitlab-rails console` ): - - ``` - u = User.find_by_username('your-username') - s = SearchService.new(u, {:search => 'search_term'}) - pp s.search_objects.class.name - ``` - - 如果看到`"ActiveRecord::Relation"` ,则说明您**未**使用 Elasticsearch. - - If you see `"Kaminari::PaginatableArray"` you are using Elasticsearch. - - **注意:**以上说明仅用于在索引所有名称空间时验证 GitLab 是否正在使用 Elasticsearch. 这仅用于仅索引[命名空间子集的](#limiting-namespaces-and-projects)方案. -* **我更新了 GitLab,现在找不到任何东西** - - 我们会不断更新索引策略,并致力于支持新版本的 Elasticsearch. 进行索引更改时,更新 GitLab 后可能需要重新编制[索引](#adding-gitlabs-data-to-the-elasticsearch-index) . - -* **我索引了所有存储库,但找不到任何内容** - - 确保[如上所述对](#adding-gitlabs-data-to-the-elasticsearch-index)所有数据库数据建立索引. - - 除此之外,通过[Elasticsearch Search API](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-search.html)检查数据是否在 Elasticsearch 端显示. - - 如果通过[Elasticsearch Search API](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-search.html)显示,请检查是否通过 rails 控制台( `sudo gitlab-rails console` )显示: - - ``` - u = User.find_by_username('your-username') - s = SearchService.new(u, {:search => 'search_term', :scope => 'blobs'}) - pp s.search_objects.to_a - ``` - - **注意:**以上说明不适用于仅索引[命名空间子集的情况](#limiting-namespaces-and-projects) . - - 有关搜索特定数据类型的更多信息,请参见[Elasticsearch 索引范围](#elasticsearch-index-scopes) . - -* **我索引了所有存储库,但随后切换了 Elasticsearch 服务器,现在什么也找不到** - - 您将需要重新运行所有 Rake 任务,以重新索引数据库,存储库和 Wiki. - -* **索引过程需要很长时间** - - GitLab 实例中存在的数据越多,索引过程花费的时间就越长. - -* **有些项目未编入索引,但我们不知道哪些项目** - - 您可以运行`sudo gitlab-rake gitlab:elastic:projects_not_indexed`以显示未建立索引的项目. - -* **"如果未配置父字段,则无法指定父"** - - 如果您在 GitLab 8.12 之前启用了 Elasticsearch 并且尚未重建索引,则在许多不同情况下,您将获得异常: - - ``` - Elasticsearch::Transport::Transport::Errors::BadRequest([400] { - "error": { - "root_cause": [{ - "type": "illegal_argument_exception", - "reason": "Can't specify parent if no parent field has been configured" - }], - "type": "illegal_argument_exception", - "reason": "Can't specify parent if no parent field has been configured" - }, - "status": 400 - }): - ``` - - 这是因为我们在 GitLab 8.12 中更改了索引映射,并且应该删除旧索引并再次从头开始构建,请参阅[8-11-to-8-12 更新指南中的](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/update/8.11-to-8.12.md#11-elasticsearch-index-update-if-you-currently-use-elasticsearch)详细信息. - -* Exception `Elasticsearch::Transport::Transport::Errors::BadRequest` - - 如果您有此例外情况(就像上面的情况一样,但实际消息有所不同),请检查您是否具有正确的 Elasticsearch 版本并满足其他[要求](#system-requirements) . 还有一种简单的方法可以使用`sudo gitlab-rake gitlab:check`命令自动检查它. - -* Exception `Elasticsearch::Transport::Transport::Errors::RequestEntityTooLarge` - - ``` - [413] {"Message":"Request size exceeded 10485760 bytes"} - ``` - - 当您将 Elasticsearch 集群配置为拒绝某个大小以上的请求(在这种情况下为 10MiB)时,会看到此异常. 这相当于`http.max_content_length`在设置`elasticsearch.yml` . 将其增大到更大的大小,然后重新启动您的 Elasticsearch 集群. - - AWS 根据基础实例的大小对此设置有[固定的限制](https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/aes-limits.html) (" HTTP 请求有效负载的最大大小"). - -* **即使一切似乎都正常运行,我的单节点 Elasticsearch 集群状态也从未从`yellow`变为`green`** - - **对于单节点 Elasticsearch 集群,功能集群的运行状况为黄色** (永远不会为绿色),因为已分配了主要分片,但副本却无法存在,因为没有其他节点可为 Elasticsearch 分配副本. 如果您使用的是[Amazon Elasticsearch](https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/aes-handling-errors.html#aes-handling-errors-yellow-cluster-status) Service,这也适用. - - **警告:**建议不要将副本数设置为`0` (GitLab Elasticsearch 集成菜单中不允许这样做). 如果您计划添加更多的 Elasticsearch 节点(总共超过 1 个 Elasticsearch 节点),则副本数将需要设置为大于`0`的整数值. 否则,将导致缺乏冗余(丢失一个节点将破坏索引). - - 如果您**对单节点 Elasticsearch 集群有绿色状态**的**严格要求** ,请确保您了解上一段概述的风险,然后只需运行以下查询将副本数设置为`0` (集群将不会再尝试创建任何碎片副本): - - ``` - curl --request PUT localhost:9200/gitlab-production/_settings --header 'Content-Type: application/json' --data '{ - "index" : { - "number_of_replicas" : 0 - } - }' - ``` - -* **我正在`health check timeout: no Elasticsearch node available`索引编制过程中 Sidekiq 中`health check timeout: no Elasticsearch node available`错误** - - ``` - Gitlab::Elastic::Indexer::Error: time="2020-01-23T09:13:00Z" level=fatal msg="health check timeout: no Elasticsearch node available" - ``` - - 您可能没有在 Elasticsearch 集成菜单的**" URL"**字段中使用`http://`或`https://`作为值的一部分. 请确保在此字段中使用`http://`或`https://`作为我们使用的[Go](https://github.com/olivere/elastic)的[Elasticsearch 客户端,](https://github.com/olivere/elastic) [需要将该 URL 的前缀接受为有效](https://github.com/olivere/elastic/commit/a80af35aa41856dc2c986204e2b64eab81ccac3a) . 更正了网址格式后,请删除索引(通过[专用的 Rake 任务](#gitlab-elasticsearch-rake-tasks) ),然后[为实例的内容重新编制索引](#adding-gitlabs-data-to-the-elasticsearch-index) . - -### Low-level troubleshooting[](#low-level-troubleshooting "Permalink") - -当您遇到其他问题(包括性能不佳)时[,](../administration/troubleshooting/elasticsearch.html)可以使用[结构化的低级故障排除文档](../administration/troubleshooting/elasticsearch.html) . - -### Known Issues[](#known-issues "Permalink") - -* **[Elasticsearch `code_analyzer` doesn’t account for all code cases](https://gitlab.com/gitlab-org/gitlab/-/issues/10693)** - - 正在评估`code_analyzer`模式和过滤器配置以进行改进. 我们注意到由于我们的模式和过滤器配置, [一些边缘情况](https://gitlab.com/gitlab-org/gitlab/-/issues/10693#note_158382332)未返回预期的搜索结果. - - 在[问题 29443](https://gitlab.com/gitlab-org/gitlab/-/issues/29443)中,讨论了`code_analyzer`模式和过滤器的改进策略. - -### Reverting to basic search[](#reverting-to-basic-search "Permalink") - -有时,您的 Elasticsearch 索引数据可能存在问题,因此,如果没有搜索结果并且假定该范围内支持基本搜索,则 GitLab 将允许您恢复为"基本搜索". 这种"基本搜索"的行为就像您根本没有为实例启用 Elasticsearch 并使用其他数据源(即 PostgreSQL 数据和 Git 数据)进行搜索一样. \ No newline at end of file diff --git a/docs/468.md b/docs/468.md deleted file mode 100644 index b1f732e..0000000 --- a/docs/468.md +++ /dev/null @@ -1,1068 +0,0 @@ -# Gitaly - -> 原文:[https://docs.gitlab.com/ee/administration/gitaly/](https://docs.gitlab.com/ee/administration/gitaly/) - -* [Architecture](#architecture) -* [Configure Gitaly](#configure-gitaly) -* [Run Gitaly on its own server](#run-gitaly-on-its-own-server) - * [Network architecture](#network-architecture) - * [Install Gitaly](#install-gitaly) - * [Configure authentication](#configure-authentication) - * [Configure Gitaly servers](#configure-gitaly-servers) - * [Configure Gitaly clients](#configure-gitaly-clients) - * [Mixed configuration](#mixed-configuration) - * [Disable Gitaly where not required (optional)](#disable-gitaly-where-not-required-optional) -* [Enable TLS support](#enable-tls-support) - * [Observe type of Gitaly connections](#observe-type-of-gitaly-connections) -* [`gitaly-ruby`](#gitaly-ruby) - * [Configure number of `gitaly-ruby` workers](#configure-number-of-gitaly-ruby-workers) -* [Limit RPC concurrency](#limit-rpc-concurrency) -* [Rotate Gitaly authentication token](#rotate-gitaly-authentication-token) - * [Verify authentication monitoring](#verify-authentication-monitoring) - * [Enable “auth transitioning” mode](#enable-auth-transitioning-mode) - * [Update Gitaly authentication token](#update-gitaly-authentication-token) - * [Ensure there are no authentication failures](#ensure-there-are-no-authentication-failures) - * [Disable “auth transitioning” mode](#disable-auth-transitioning-mode) - * [Verify authentication is enforced](#verify-authentication-is-enforced) -* [Direct Git access bypassing Gitaly](#direct-git-access-bypassing-gitaly) -* [Direct access to Git in GitLab](#direct-access-to-git-in-gitlab) - * [History](#history) - * [How it works](#how-it-works) - * [Transition to Gitaly Cluster](#transition-to-gitaly-cluster) -* [Troubleshooting Gitaly](#troubleshooting-gitaly) - * [Checking versions when using standalone Gitaly servers](#checking-versions-when-using-standalone-gitaly-servers) - * [`gitaly-debug`](#gitaly-debug) - * [Commits, pushes, and clones return a 401](#commits-pushes-and-clones-return-a-401) - * [Client side gRPC logs](#client-side-grpc-logs) - * [Observing `gitaly-ruby` traffic](#observing-gitaly-ruby-traffic) - * [Repository changes fail with a `401 Unauthorized` error](#repository-changes-fail-with-a-401-unauthorized-error) - * [Command line tools cannot connect to Gitaly](#command-line-tools-cannot-connect-to-gitaly) - * [Gitaly not listening on new address after reconfiguring](#gitaly-not-listening-on-new-address-after-reconfiguring) - * [Permission denied errors appearing in Gitaly logs when accessing repositories from a standalone Gitaly server](#permission-denied-errors-appearing-in-gitaly-logs-when-accessing-repositories-from-a-standalone-gitaly-server) - * [Praefect](#praefect) - -# Gitaly[](#gitaly "Permalink") - -[Gitaly](https://gitlab.com/gitlab-org/gitaly)是提供对 Git 存储库的高级 RPC 访问的服务. 没有它,任何 GitLab 组件都无法读取或写入 Git 数据. - -在 Gitaly 文档中: - -* **Gitaly 服务器**是指任何本身运行 Gitaly 的节点. -* **Gitaly 客户端**指的是任何运行向 Gitaly 服务器发出请求的进程的节点. 流程包括但不限于: - * [GitLab Rails 应用程序](https://gitlab.com/gitlab-org/gitlab) . - * [GitLab 外壳](https://gitlab.com/gitlab-org/gitlab-shell) . - * [亚搏体育 app Labhorse](https://gitlab.com/gitlab-org/gitlab-workhorse) . - -GitLab 最终用户无法直接访问 Gitaly. Gitaly 仅管理 GitLab 的 Git 存储库访问. 其他类型的 GitLab 数据无法使用 Gitaly 访问. - -**警告:**从 GitLab 13.0 起,不支持 Gitaly 对 NFS 的支持. 在 GitLab 14.0 中,计划删除对 NFS 的 Gitaly 支持. 尽快升级到[Gitaly Cluster](praefect.html) . - -## Architecture[](#architecture "Permalink") - -以下是有关如何使用 Gitaly 的高级体系结构概述. - -[![Gitaly architecture diagram](img/eb93aca89ce7486ca89aa5a9f4357617.png)](img/architecture_v12_4.png) - -## Configure Gitaly[](#configure-gitaly "Permalink") - -Gitaly 服务本身是通过[TOML 配置文件配置的](reference.html) . - -要更改 Gitaly 设置,请执行以下操作: - -**对于所有 GitLab** - -1. 编辑`/etc/gitlab/gitlab.rb`并添加或更改[Gitaly 设置](https://gitlab.com/gitlab-org/omnibus-gitlab/blob/1dd07197c7e5ae23626aad5a4a070a800b670380/files/gitlab-config-template/gitlab.rb.template#L1622-1676) . -2. 保存文件并[重新配置 GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure) . - -**对于源安装** - -1. 编辑`/home/git/gitaly/config.toml`并添加或更改[Gitaly 设置](https://gitlab.com/gitlab-org/gitaly/blob/master/config.toml.example) . -2. 保存文件并[重新启动 GitLab](../restart_gitlab.html#installations-from-source) . - -以下配置选项也可用: - -* Enabling [TLS support](#enable-tls-support). -* 配置[`gitaly-ruby`工人](#configure-number-of-gitaly-ruby-workers)的[数量](#configure-number-of-gitaly-ruby-workers) . -* Limiting [RPC concurrency](#limit-rpc-concurrency). - -## Run Gitaly on its own server[](#run-gitaly-on-its-own-server "Permalink") - -默认情况下,Gitaly 与 Gitaly 客户端在同一服务器上运行,并按[上述配置](#configure-gitaly) . 单服务器安装最好由以下默认配置使用: - -* [Omnibus GitLab](https://docs.gitlab.com/omnibus/). -* GitLab [源代码安装指南](../../install/installation.html) . - -However, Gitaly can be deployed to its own server, which can benefit GitLab installations that span multiple machines. - -**注意:**配置为在自己的服务器上运行时, [必须先升级](https://docs.gitlab.com/omnibus/update/) Gitaly 服务器,然后才能在群集中的 Gitaly 客户端上[进行升级](https://docs.gitlab.com/omnibus/update/) . - -在自己的服务器上设置 Gitaly 的过程是: - -1. [Install Gitaly](#install-gitaly). -2. [Configure authentication](#configure-authentication). -3. [Configure Gitaly servers](#configure-gitaly-servers). -4. [Configure Gitaly clients](#configure-gitaly-clients). -5. [Disable Gitaly where not required](#disable-gitaly-where-not-required-optional) (optional). - -在自己的服务器上运行 Gitaly 时,请注意有关 GitLab 版本的以下内容: - -* 从 GitLab 11.4 起,除了[Elasticsearch indexer](https://gitlab.com/gitlab-org/gitlab-elasticsearch-indexer)之外,Gitaly 能够满足所有 Git 请求,而无需为 Git 存储库数据共享 NFS 挂载. -* 从 GitLab 11.8 开始,Elasticsearch 索引器还使用 Gitaly 进行数据访问. NFS 仍可用于块级 Git 数据的冗余,但仅需安装在 Gitaly 服务器上. -* 从 GitLab 11.8 到 12.2,可以在不使用 NFS 的 Gitaly 设置中使用 Elasticsearch. 为了在这些版本中使用 Elasticsearch,必须在您的 GitLab 配置中启用[存储库索引器](../../integration/elasticsearch.html#elasticsearch-repository-indexer) . -* [从 GitLab 12.3 开始](https://gitlab.com/gitlab-org/gitlab/-/issues/6481) ,新的索引器是默认的,不需要任何配置. - -### Network architecture[](#network-architecture "Permalink") - -以下列表描述了 Gitaly 的网络体系结构: - -* GitLab Rails shards repositories into [repository storages](../repository_storage_paths.html). -* `/config/gitlab.yml`包含从存储名称到`(Gitaly address, Gitaly token)`对的`(Gitaly address, Gitaly token)` . -* `/config/gitlab.yml`的`storage name` -> `(Gitaly address, Gitaly token)`映射是 Gitaly 网络拓扑的唯一事实来源. -* `(Gitaly address, Gitaly token)`对应于 Gitaly 服务器. -* Gitaly 服务器托管一个或多个存储. -* 一个 Gitaly 客户端可以使用一个或多个 Gitaly 服务器. -* 必须以对**所有** Gitaly 客户端正确解析的方式指定 Gitaly 地址. -* Gitaly 客户包括: - * 美洲狮或独角兽. - * Sidekiq. - * 亚搏体育 app Labhorse. - * GitLab 外壳. - * Elasticsearch 索引器. - * Gitaly 本身. -* 一个 Gitaly 服务器必须能够通过其自身发出 RPC 调用**本身** `(Gitaly address, Gitaly token)`在指定的一对`/config/gitlab.yml` . -* 认证通过静态令牌完成,该令牌在 Gitaly 和 GitLab Rails 节点之间共享. - -**危险:** Gitaly 服务器不得暴露于公共互联网,因为默认情况下 Gitaly 的网络流量未加密. 强烈建议使用防火墙,以限制对 Gitaly 服务器的访问. 另一种选择是[使用 TLS](#enable-tls-support) . - -在以下各节中,我们描述如何使用秘密令牌`abc123secret`配置两个 Gitaly 服务器: - -* `gitaly1.internal`. -* `gitaly2.internal`. - -我们假设您的 GitLab 安装具有三个存储库存储: - -* `default`. -* `storage1`. -* `storage2`. - -如果需要,一台服务器最多只能使用一个存储库. - -**注意:** Gitaly 文档中引用的令牌只是管理员选择的任意密码. 它与为 GitLab API 创建的令牌或其他类似的 Web API 令牌无关. - -### Install Gitaly[](#install-gitaly "Permalink") - -使用 Omnibus GitLab 在每台 Gitaly 服务器上安装 Gitaly 或从源代码安装它: - -* 对于 Omnibus GitLab,请[下载并安装](https://about.gitlab.com/install/)所需的 Omnibus GitLab 软件包,但**不要**提供`EXTERNAL_URL=`值. -* 要从源代码安装,请遵循[Install Gitaly 上](../../install/installation.html#install-gitaly)的步骤. - -### Configure authentication[](#configure-authentication "Permalink") - -Gitaly 和 GitLab 使用两个共享的机密进行身份验证: - -* 一种用于向 Gitaly 验证 gRPC 请求的身份. -* A second for authentication callbacks from GitLab Shell to the GitLab internal API. - -**对于所有 GitLab** - -要配置 Gitaly 令牌: - -1. 在 Gitaly 客户端上,编辑`/etc/gitlab/gitlab.rb` : - - ``` - gitlab_rails['gitaly_token'] = 'abc123secret' - ``` - -2. 保存文件并[重新配置 GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure) . -3. 在 Gitaly 服务器上,编辑`/etc/gitlab/gitlab.rb` : - - ``` - gitaly['auth_token'] = 'abc123secret' - ``` - -4. [Reconfigure GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure). - -有两种方法可以配置 GitLab Shell 令牌. - -方法 1: - -1. 将`/etc/gitlab/gitlab-secrets.json`从 Gitaly 客户端复制到 Gitaly 服务器(和任何其他 Gitaly 客户端)上的相同路径. -2. 在 Gitaly 服务器上[重新配置 GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure) . - -方法 2: - -1. 在 Gitaly 客户端上,编辑`/etc/gitlab/gitlab.rb` : - - ``` - gitlab_shell['secret_token'] = 'shellsecret' - ``` - -2. 保存文件并[重新配置 GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure) . -3. 在 Gitaly 服务器上,编辑`/etc/gitlab/gitlab.rb` : - - ``` - gitlab_shell['secret_token'] = 'shellsecret' - ``` - -4. [Reconfigure GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure). - -**对于源安装** - -1. 将`/home/git/gitlab/.gitlab_shell_secret`从 Gitaly 客户端复制到 Gitaly 服务器(和任何其他 Gitaly 客户端)上的相同路径. -2. 在 Gitaly 客户端上,编辑`/home/git/gitlab/config/gitlab.yml` : - - ``` - gitlab: - gitaly: - token: 'abc123secret' - ``` - -3. 保存文件并[重新启动 GitLab](../restart_gitlab.html#installations-from-source) . -4. 在 Gitaly 服务器上,编辑`/home/git/gitaly/config.toml` : - - ``` - [auth] - token = 'abc123secret' - ``` - -5. 保存文件并[重新启动 GitLab](../restart_gitlab.html#installations-from-source) . - -### Configure Gitaly servers[](#configure-gitaly-servers "Permalink") - -在 Gitaly 服务器上,您必须配置存储路径并启用网络侦听器. - -如果要减少启用身份验证时发生停机的风险,可以暂时禁用强制实施. 有关更多信息,请参阅有关配置[Gitaly 身份验证](https://gitlab.com/gitlab-org/gitaly/blob/master/doc/configuration/README.md#authentication)的文档. - -**对于所有 GitLab** - -1. Edit `/etc/gitlab/gitlab.rb`: - - ``` - # /etc/gitlab/gitlab.rb - - # Avoid running unnecessary services on the Gitaly server - postgresql['enable'] = false - redis['enable'] = false - nginx['enable'] = false - puma['enable'] = false - sidekiq['enable'] = false - gitlab_workhorse['enable'] = false - grafana['enable'] = false - gitlab_exporter['enable'] = false - - # If you run a separate monitoring node you can disable these services - alertmanager['enable'] = false - prometheus['enable'] = false - - # If you don't run a separate monitoring node you can - # enable Prometheus access & disable these extra services. - # This makes Prometheus listen on all interfaces. You must use firewalls to restrict access to this address/port. - # prometheus['listen_address'] = '0.0.0.0:9090' - # prometheus['monitor_kubernetes'] = false - - # If you don't want to run monitoring services uncomment the following (not recommended) - # node_exporter['enable'] = false - - # Prevent database connections during 'gitlab-ctl reconfigure' - gitlab_rails['rake_cache_clear'] = false - gitlab_rails['auto_migrate'] = false - - # Configure the gitlab-shell API callback URL. Without this, `git push` will - # fail. This can be your 'front door' GitLab URL or an internal load - # balancer. - # Don't forget to copy `/etc/gitlab/gitlab-secrets.json` from Gitaly client to Gitaly server. - gitlab_rails['internal_api_url'] = 'https://gitlab.example.com' - - # Make Gitaly accept connections on all network interfaces. You must use - # firewalls to restrict access to this address/port. - # Comment out following line if you only want to support TLS connections - gitaly['listen_addr'] = "0.0.0.0:8075" - ``` - -2. 对于每个相应的 Gitaly 服务器,将以下内容附加到`/etc/gitlab/gitlab.rb` : - - On `gitaly1.internal`: - - ``` - git_data_dirs({ - 'default' => { - 'path' => '/var/opt/gitlab/git-data' - }, - 'storage1' => { - 'path' => '/mnt/gitlab/git-data' - }, - }) - ``` - - On `gitaly2.internal`: - - ``` - git_data_dirs({ - 'storage2' => { - 'path' => '/srv/gitlab/git-data' - }, - }) - ``` - -3. 保存文件并[重新配置 GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure) . -4. 运行`sudo /opt/gitlab/embedded/service/gitlab-shell/bin/check -config /opt/gitlab/embedded/service/gitlab-shell/config.yml`以确认 Gitaly 可以执行对 GitLab 内部 API 的回调. - -**对于源安装** - -1. Edit `/home/git/gitaly/config.toml`: - - ``` - listen_addr = '0.0.0.0:8075' - - internal_socket_dir = '/var/opt/gitlab/gitaly' - - [logging] - format = 'json' - level = 'info' - dir = '/var/log/gitaly' - ``` - -2. 对于每个相应的 Gitaly 服务器,将以下内容附加到`/home/git/gitaly/config.toml` : - - On `gitaly1.internal`: - - ``` - [[storage]] - name = 'default' - path = '/var/opt/gitlab/git-data/repositories' - - [[storage]] - name = 'storage1' - path = '/mnt/gitlab/git-data/repositories' - ``` - - On `gitaly2.internal`: - - ``` - [[storage]] - name = 'storage2' - path = '/srv/gitlab/git-data/repositories' - ``` - -3. Edit `/home/git/gitlab-shell/config.yml`: - - ``` - gitlab_url: https://gitlab.example.com - ``` - -4. 保存文件并[重新启动 GitLab](../restart_gitlab.html#installations-from-source) . -5. 运行`sudo -u git /home/git/gitlab-shell/bin/check -config /home/git/gitlab-shell/config.yml`以确认 Gitaly 可以执行对 GitLab 内部 API 的回调. - -### Configure Gitaly clients[](#configure-gitaly-clients "Permalink") - -最后一步,您必须更新 Gitaly 客户端,使其从使用本地 Gitaly 服务切换为使用刚配置的 Gitaly 服务器. - -这可能会有风险,因为任何阻止您的 Gitaly 客户端访问 Gitaly 服务器的操作都将导致所有 Gitaly 请求失败. 例如,任何类型的网络,防火墙或名称解析问题. - -此外,如果以前手动启用,则必须[禁用 Rugged](../high_availability/nfs.html#improving-nfs-performance-with-gitlab) . - -Gitaly 作以下假设: - -* 你`gitaly1.internal` Gitaly 服务器可以达到`gitaly1.internal:8075`从 Gitaly 客户端,以及 Gitaly 服务器可以读取和写入`/mnt/gitlab/default`和`/mnt/gitlab/storage1` . -* 你`gitaly2.internal` Gitaly 服务器可以达到`gitaly2.internal:8075`从 Gitaly 客户端,以及 Gitaly 服务器可以读取和写入`/mnt/gitlab/storage2` . -* 您的`gitaly1.internal`和`gitaly2.internal` Gitaly 服务器可以相互访问. - -除非您使用特殊的[混合配置进行](#mixed-configuration)设置,否则不能将 Gitaly 服务器定义为本地 Gitaly 服务器(不带`gitaly_address` ),而`gitaly_address`一些服务器定义为远程服务器(带`gitaly_address` ). - -**对于所有 GitLab** - -1. Edit `/etc/gitlab/gitlab.rb`: - - ``` - git_data_dirs({ - 'default' => { 'gitaly_address' => 'tcp://gitaly1.internal:8075' }, - 'storage1' => { 'gitaly_address' => 'tcp://gitaly1.internal:8075' }, - 'storage2' => { 'gitaly_address' => 'tcp://gitaly2.internal:8075' }, - }) - ``` - -2. 保存文件并[重新配置 GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure) . -3. 运行`sudo gitlab-rake gitlab:gitaly:check`确认 Gitaly 客户端可以连接到 Gitaly 服务器. -4. 拖尾日志以查看请求: - - ``` - sudo gitlab-ctl tail gitaly - ``` - -**对于源安装** - -1. Edit `/home/git/gitlab/config/gitlab.yml`: - - ``` - gitlab: - repositories: - storages: - default: - gitaly_address: tcp://gitaly1.internal:8075 - path: /some/dummy/path - storage1: - gitaly_address: tcp://gitaly1.internal:8075 - path: /some/dummy/path - storage2: - gitaly_address: tcp://gitaly2.internal:8075 - path: /some/dummy/path - ``` - - **注意:** `/some/dummy/path`应该设置为存在的本地文件夹,但是该文件夹中不会存储任何数据. 解决[此问题](https://gitlab.com/gitlab-org/gitaly/-/issues/1282)后,将不再需要[此操作](https://gitlab.com/gitlab-org/gitaly/-/issues/1282) . -2. Save the file and [restart GitLab](../restart_gitlab.html#installations-from-source). -3. 运行`sudo -u git -H bundle exec rake gitlab:gitaly:check RAILS_ENV=production`确认 Gitaly 客户端可以连接到 Gitaly 服务器. -4. 拖尾日志以查看请求: - - ``` - tail -f /home/git/gitlab/log/gitaly.log - ``` - -尾随 Gitaly 服务器上的 Gitaly 登录时,您应该会看到请求进入.触发 Gitaly 请求的一种可靠方法是通过 HTTP 或 HTTPS 从 GitLab 克隆存储库. - -**危险:**如果已针对每个存储库或全局配置了[服务器挂钩](../server_hooks.html) ,则必须将它们移至 Gitaly 服务器. 如果您有多个 Gitaly 服务器,则将服务器挂钩复制到所有 Gitaly 服务器. - -#### Mixed configuration[](#mixed-configuration "Permalink") - -GitLab 可以与许多 Gitaly 服务器之一驻留在同一服务器上,但是不支持混合本地和远程配置的配置. 以下设置不正确,因为: - -* 所有地址都必须可从其他 Gitaly 服务器访问. -* `storage1`分配了一个`gitaly_address` Unix 套接字,该套接字对于某些 Gitaly 服务器无效. - -``` -git_data_dirs({ - 'default' => { 'gitaly_address' => 'tcp://gitaly1.internal:8075' }, - 'storage1' => { 'path' => '/mnt/gitlab/git-data' }, - 'storage2' => { 'gitaly_address' => 'tcp://gitaly2.internal:8075' }, -}) -``` - -要组合本地和远程 Gitaly 服务器,请为本地 Gitaly 服务器使用一个外部地址. 例如: - -``` -git_data_dirs({ - 'default' => { 'gitaly_address' => 'tcp://gitaly1.internal:8075' }, - # Address of the GitLab server that has Gitaly running on it - 'storage1' => { 'gitaly_address' => 'tcp://gitlab.internal:8075', 'path' => '/mnt/gitlab/git-data' }, - 'storage2' => { 'gitaly_address' => 'tcp://gitaly2.internal:8075' }, -}) -``` - -`path`只能包含在本地 Gitaly 服务器上的存储分片中. 如果不包含,则默认的 Git 存储目录将用于该存储碎片. - -### Disable Gitaly where not required (optional)[](#disable-gitaly-where-not-required-optional "Permalink") - -如果您将 Gitaly [作为远程服务](#run-gitaly-on-its-own-server)运行,则可能要禁用默认情况下在您的 GitLab 服务器上运行的本地 Gitaly 服务,而仅在需要时运行它. - -仅当您在自定义群集配置中运行 GitLab 时,才在 GitLab 实例上禁用 Gitaly 才有意义,在该配置中,Gitaly 在与 GitLab 实例不同的机器上运行. 在群集中的所有计算机上禁用 Gitaly 并不是有效的配置(某些计算机充当 Gitaly 服务器). - -To disable Gitaly on a GitLab server: - -**对于所有 GitLab** - -1. Edit `/etc/gitlab/gitlab.rb`: - - ``` - gitaly['enable'] = false - ``` - -2. 保存文件并[重新配置 GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure) . - -**对于源安装** - -1. Edit `/etc/default/gitlab`: - - ``` - gitaly_enabled=false - ``` - -2. 保存文件并[重新启动 GitLab](../restart_gitlab.html#installations-from-source) . - -## Enable TLS support[](#enable-tls-support "Permalink") - -在 GitLab 11.8 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/22602) . - -Gitaly 支持 TLS 加密. 要与侦听安全连接的 Gitaly 实例进行通信,必须在 GitLab 配置中相应存储条目的`gitaly_address`中使用`tls://` URL 方案. - -您必须提供自己的证书,因为不会自动提供. 与每个 Gitaly 服务器相对应的证书必须安装在该 Gitaly 服务器上. - -此外,证书(或其证书颁发机构)必须安装在所有以下组件上: - -* Gitaly 服务器,包括使用证书的 Gitaly 服务器. -* 与之通信的 Gitaly 客户. - -该过程记录在[GitLab 自定义证书配置中,](https://docs.gitlab.com/omnibus/settings/ssl.html)并在下面重复进行. - -请注意以下几点: - -* 证书必须指定用于访问 Gitaly 服务器的地址. 如果你是: - * 通过主机名寻址 Gitaly 服务器,您可以为此使用"公用名"字段,也可以将其添加为"使用者备用名". - * 通过其 IP 地址寻址 Gitaly 服务器,必须将其作为主题备用名称添加到证书中. [gRPC 不支持在证书中使用 IP 地址作为公用名](https://github.com/grpc/grpc/issues/2691) . -* 您可以同时为 Gitaly 服务器配置未加密的侦听地址`listen_addr`和已加密的侦听地址`tls_listen_addr` . 这使您可以根据需要从未加密的流量逐渐过渡到加密的流量. - -要使用 TLS 配置 Gitaly: - -**对于所有 GitLab** - -1. 为 Gitaly 服务器创建证书. -2. 在 Gitaly 客户端上,将证书(或其证书颁发机构)复制到`/etc/gitlab/trusted-certs` : - - ``` - sudo cp cert.pem /etc/gitlab/trusted-certs/ - ``` - -3. 在 Gitaly 客户端上,如下所示在`/etc/gitlab/gitlab.rb`编辑`git_data_dirs` : - - ``` - git_data_dirs({ - 'default' => { 'gitaly_address' => 'tls://gitaly1.internal:9999' }, - 'storage1' => { 'gitaly_address' => 'tls://gitaly1.internal:9999' }, - 'storage2' => { 'gitaly_address' => 'tls://gitaly2.internal:9999' }, - }) - ``` - -4. 保存文件并[重新配置 GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure) . -5. 在 Gitaly 服务器上,创建`/etc/gitlab/ssl`目录,然后在其中复制密钥和证书: - - ``` - sudo mkdir -p /etc/gitlab/ssl - sudo chmod 755 /etc/gitlab/ssl - sudo cp key.pem cert.pem /etc/gitlab/ssl/ - sudo chmod 644 key.pem cert.pem - ``` - -6. 将所有 Gitaly 服务器证书(或其证书颁发机构)复制到`/etc/gitlab/trusted-certs`以便 Gitaly 服务器在调用自身或其他 Gitaly 服务器时将信任该证书: - - ``` - sudo cp cert1.pem cert2.pem /etc/gitlab/trusted-certs/ - ``` - -7. 编辑`/etc/gitlab/gitlab.rb`并添加: - - ``` - gitaly['tls_listen_addr'] = "0.0.0.0:9999" - gitaly['certificate_path'] = "/etc/gitlab/ssl/cert.pem" - gitaly['key_path'] = "/etc/gitlab/ssl/key.pem" - ``` - -8. 保存文件并[重新配置 GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure) . -9. 通过[观察 Gitaly 连接的类型,](#observe-type-of-gitaly-connections)验证通过 TLS 提供服务的 Gitaly 通信. -10. (可选)通过以下方式提高安全性: - 1. 通过注释或删除禁用非 TLS 连接`gitaly['listen_addr']`中`/etc/gitlab/gitlab.rb` . - 2. 保存文件. - 3. [重新配置 GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure) . - -**对于源安装** - -1. 为 Gitaly 服务器创建证书. -2. 在 Gitaly 客户端上,将证书复制到系统受信任的证书中: - - ``` - sudo cp cert.pem /usr/local/share/ca-certificates/gitaly.crt - sudo update-ca-certificates - ``` - -3. 在 Gitaly 客户端上,如下所示在`/home/git/gitlab/config/gitlab.yml`编辑`storages` : - - ``` - gitlab: - repositories: - storages: - default: - gitaly_address: tls://gitaly1.internal:9999 - path: /some/dummy/path - storage1: - gitaly_address: tls://gitaly1.internal:9999 - path: /some/dummy/path - storage2: - gitaly_address: tls://gitaly2.internal:9999 - path: /some/dummy/path - ``` - - **注意:** `/some/dummy/path`应该设置为存在的本地文件夹,但是该文件夹中不会存储任何数据. 解决[Gitaly 问题#1282](https://gitlab.com/gitlab-org/gitaly/-/issues/1282)之后,将不再需要此操作. -4. 保存文件并[重新启动 GitLab](../restart_gitlab.html#installations-from-source) . -5. 在 Gitaly 服务器上,创建或编辑`/etc/default/gitlab`并添加: - - ``` - export SSL_CERT_DIR=/etc/gitlab/ssl - ``` - -6. 在 Gitaly 服务器上,创建`/etc/gitlab/ssl`目录,然后在其中复制密钥和证书: - - ``` - sudo mkdir -p /etc/gitlab/ssl - sudo chmod 755 /etc/gitlab/ssl - sudo cp key.pem cert.pem /etc/gitlab/ssl/ - sudo chmod 644 key.pem cert.pem - ``` - -7. 将所有 Gitaly 服务器证书(或其证书颁发机构)复制到系统受信任证书文件夹,以便 Gitaly 服务器在调用自身或其他 Gitaly 服务器时将信任该证书. - - ``` - sudo cp cert.pem /usr/local/share/ca-certificates/gitaly.crt - sudo update-ca-certificates - ``` - -8. 编辑`/home/git/gitaly/config.toml`并添加: - - ``` - tls_listen_addr = '0.0.0.0:9999' - - [tls] - certificate_path = '/etc/gitlab/ssl/cert.pem' - key_path = '/etc/gitlab/ssl/key.pem' - ``` - -9. 保存文件并[重新启动 GitLab](../restart_gitlab.html#installations-from-source) . -10. 通过[观察 Gitaly 连接的类型,](#observe-type-of-gitaly-connections)验证通过 TLS 提供服务的 Gitaly 通信. -11. (可选)通过以下方式提高安全性: - 1. 通过注释掉或删除`/home/git/gitaly/config.toml` `listen_addr`来禁用非 TLS 连接. - 2. 保存文件. - 3. [重新启动 GitLab](../restart_gitlab.html#installations-from-source) . - -### Observe type of Gitaly connections[](#observe-type-of-gitaly-connections "Permalink") - -可以使用[Prometheus](../monitoring/prometheus/index.html)观察 Gitaly 为生产环境提供服务的连接类型. 使用以下 Prometheus 查询: - -``` -sum(rate(gitaly_connections_total[5m])) by (type) -``` - -## `gitaly-ruby`[](#gitaly-ruby "Permalink") - -开发 Gitaly 是为了替代 GitLab 中的 Ruby 应用程序代码. - -为了节省时间并避免重写现有应用程序逻辑的风险,我们选择将一些应用程序代码从 GitLab 复制到 Gitaly. - -为了能够运行该代码,创建了`gitaly-ruby` ,它是主要 Gitaly Go 流程的" sidecar"流程. 在`gitaly-ruby`中实现的一些示例如下: - -* 处理 Wiki 的 RPC. -* 代表用户创建提交的 RPC,例如合并提交. - -### Configure number of `gitaly-ruby` workers[](#configure-number-of-gitaly-ruby-workers "Permalink") - -`gitaly-ruby`容量比 Go 中实现的 Gitaly 少得多. 如果您的 Gitaly 服务器必须处理大量请求,则仅设置一个活动的`gitaly-ruby`车的默认设置可能不够. - -如果您看到 Gitaly 出现`ResourceExhausted`错误,则很可能是您的`gitaly-ruby`能力不足. - -您可以使用以下设置来增加 Gitaly 服务器上的`gitaly-ruby`进程数: - -**对于所有 GitLab** - -1. Edit `/etc/gitlab/gitlab.rb`: - - ``` - # Default is 2 workers. The minimum is 2; 1 worker is always reserved as - # a passive stand-by. - gitaly['ruby_num_workers'] = 4 - ``` - -2. 保存文件并[重新配置 GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure) . - -**对于源安装** - -1. Edit `/home/git/gitaly/config.toml`: - - ``` - [gitaly-ruby] - num_workers = 4 - ``` - -2. 保存文件并[重新启动 GitLab](../restart_gitlab.html#installations-from-source) . - -## Limit RPC concurrency[](#limit-rpc-concurrency "Permalink") - -克隆流量可能会对您的 Gitaly 服务造成很大的压力. 大部分工作在以下任一 RPC 中完成: - -* `SSHUploadPack` (用于 Git SSH). -* `PostUploadPack` (用于 Git HTTP). - -为了防止此类工作负载使您的 Gitaly 服务器不堪重负,您可以在 Gitaly 的配置文件中设置并发限制. 例如: - -``` -# in /etc/gitlab/gitlab.rb - -gitaly['concurrency'] = [ - { - 'rpc' => "/gitaly.SmartHTTPService/PostUploadPack", - 'max_per_repo' => 20 - }, - { - 'rpc' => "/gitaly.SSHService/SSHUploadPack", - 'max_per_repo' => 20 - } -] -``` - -这限制了给定 RPC 正在进行的 RPC 调用的数量. 该限制适用于每个存储库. 在上面的示例中: - -* Gitaly 服务器提供服务的每个存储库最多可以同时`PostUploadPack` 20 个`PostUploadPack` RPC 调用,而`SSHUploadPack`则相同. -* 如果另一个请求进入了已用完其 20 个插槽的存储库,则该请求将排队. - -您可以使用 Gitaly 日志和 Prometheus 观察此队列的行为: - -* 在 Gitaly 日志中,查找字符串(或结构化日志字段) `acquire_ms` . 具有此字段的消息正在报告有关并发限制器的信息. -* 在 Prometheus 中,查找以下指标: - - * `gitaly_rate_limiting_in_progress`. - * `gitaly_rate_limiting_queued`. - * `gitaly_rate_limiting_seconds`. - -**注意:**尽管 Prometheus 度量标准的名称包含`rate_limiting` ,但它是并发限制器,而不是速率限制器. 如果 Gitaly 客户端非常快地连续发出 1000 个请求,则并发不会超过 1,并且并发限制器无效. - -## Rotate Gitaly authentication token[](#rotate-gitaly-authentication-token "Permalink") - -在生产环境中轮换凭证通常需要停机,导致停机或两者兼而有之. - -但是,您可以旋转 Gitaly 凭据而不会中断服务. 旋转 Gitaly 身份验证令牌涉及: - -* [Verifying authentication monitoring](#verify-authentication-monitoring). -* [Enabling “auth transitioning” mode](#enable-auth-transitioning-mode). -* [Updating Gitaly authentication tokens](#update-gitaly-authentication-token). -* [Ensuring there are no authentication failures](#ensure-there-are-no-authentication-failures). -* [Disabling “auth transitioning” mode](#disable-auth-transitioning-mode). -* [Verifying authentication is enforced](#verify-authentication-is-enforced). - -如果您在单个服务器上运行 GitLab,则此过程也适用. 在这种情况下," Gitaly 服务器"和" Gitaly 客户端"是指同一台计算机. - -### Verify authentication monitoring[](#verify-authentication-monitoring "Permalink") - -旋转 Gitaly 身份验证令牌之前,请验证您可以使用 Prometheus 监视 GitLab 安装的身份验证行为. 使用以下 Prometheus 查询: - -``` -sum(rate(gitaly_authentications_total[5m])) by (enforced, status) -``` - -在正确配置了身份验证并且您拥有实时流量的系统中,您将看到以下内容: - -``` -{enforced="true",status="ok"} 4424.985419441742 -``` - -可能还存在速率为 0 的其他数字.我们只关心非零数字. - -唯一的非零数字应具有`enforced="true",status="ok"` . 如果您还有其他非零数字,则说明您的配置有问题. - -`status="ok"`数字反映您当前的请求率. 在上面的示例中,Gitaly 每秒处理大约 4000 个请求. - -既然您已经确定可以监视 GitLab 安装的 Gitaly 身份验证行为,则可以开始其余过程. - -### Enable “auth transitioning” mode[](#enable-auth-transitioning-mode "Permalink") - -通过将 Gitaly 服务器置于"身份验证过渡"模式,从而暂时禁用 Gitaly 服务器上的 Gitaly 身份验证,如下所示: - -``` -# in /etc/gitlab/gitlab.rb -gitaly['auth_transitioning'] = true -``` - -进行此更改后,您的[Prometheus 查询](#verify-authentication-monitoring)应返回如下内容: - -``` -{enforced="false",status="would be ok"} 4424.985419441742 -``` - -因为`enforced="false"` ,所以可以安全地开始部署新令牌. - -### Update Gitaly authentication token[](#update-gitaly-authentication-token "Permalink") - -要在每个 Gitaly 客户端**和** Gitaly 服务器上更新为新的 Gitaly 身份验证令牌,请执行以下操作: - -1. 更新配置: - - ``` - # in /etc/gitlab/gitlab.rb - - gitaly['auth_token'] = '' - ``` - -2. 重新启动 Gitaly: - - ``` - gitlab-ctl restart gitaly - ``` - -如果在实施此更改的同时运行[Prometheus 查询](#verify-authentication-monitoring) ,您将看到被`enforced="false",status="denied"`计数器的非零值. - -### Ensure there are no authentication failures[](#ensure-there-are-no-authentication-failures "Permalink") - -设置新令牌并重新启动所有涉及的服务之后,您将[临时看到以下内容](#verify-authentication-monitoring)的组合: - -* `status="would be ok"`. -* `status="denied"`. - -在所有 Gitaly 客户端和 Gitaly 服务器获取了新令牌之后,应`enforced="false",status="would be ok"` **唯一的非零费率** `enforced="false",status="would be ok"` . - -### Disable “auth transitioning” mode[](#disable-auth-transitioning-mode "Permalink") - -要重新启用 Gitaly 身份验证,请禁用"身份验证转换"模式. 如下更新您的 Gitaly 服务器上的配置: - -``` -# in /etc/gitlab/gitlab.rb -gitaly['auth_transitioning'] = false -``` - -**警告:**如果不完成此步骤,则**没有 Gitaly 身份验证** . - -### Verify authentication is enforced[](#verify-authentication-is-enforced "Permalink") - -刷新您的[Prometheus 查询](#verify-authentication-monitoring) . 现在,您应该会看到与开始时相似的结果. 例如: - -``` -{enforced="true",status="ok"} 4424.985419441742 -``` - -请注意, `enforced="true"`表示正在执行身份验证. - -## Direct Git access bypassing Gitaly[](#direct-git-access-bypassing-gitaly "Permalink") - -虽然可以使用 Git 客户端直接访问磁盘上存储的 Gitaly 存储库,但由于不断改进和更改 Gitaly,因此不建议这样做. 这些改进可能会使假设无效,从而导致性能下降,不稳定甚至数据丢失. - -Gitaly 进行了优化,例如[`info/refs`广告缓存](https://gitlab.com/gitlab-org/gitaly/blob/master/doc/design_diskcache.md) ,它依赖于 Gitaly 通过官方 gRPC 接口控制和监视对存储库的访问. 同样,Praefect 具有优化功能,例如容错和分布式读取,这些优化取决于 gRPC 接口和数据库来确定存储库状态. - -由于这些原因, **直接访问存储库需要您自担风险,并且不受支持** . - -## Direct access to Git in GitLab[](#direct-access-to-git-in-gitlab "Permalink") - -直接访问 Git 使用 GitLab 中称为" Rugged patch"的代码. - -### History[](#history "Permalink") - -在 Gitaly 存在之前,现在 Gitaly 客户端用来直接访问 Git 存储库的是: - -* 如果是单机 Omnibus GitLab 安装,则在本地磁盘上 -* 如果是水平缩放的 GitLab 安装,请使用 NFS. - -除了运行简单的`git`命令之外,GitLab 还使用了一个名为[Rugged](https://github.com/libgit2/rugged)的 Ruby 库. Rugged 是围绕[libgit2](https://libgit2.org/)的包装, [libgit2](https://libgit2.org/)是 C 库形式的 Git 的独立实现. - -随着时间的流逝,很明显 Rugged(特别是与[Unicorn](https://yhbt.net/unicorn/)结合使用)非常有效. 因为`libgit2`是一个库而不是一个外部进程,所以之间的开销很小: - -* GitLab 应用程序代码试图在 Git 存储库中查找数据. -* Git 实现本身. - -由于 Rugged 和 Unicorn 的组合是如此有效,因此 GitLab 的应用程序代码最终会进行大量重复的 Git 对象查找. 例如,查找`master`在一个请求中提交了十几次. 我们可以编写效率低下的代码而不会降低性能. - -当我们将这些 Git 查找迁移到 Gitaly 调用时,我们突然发现每个 Git 查找的固定成本要高得多. 即使 Gitaly 能够重新使用已经在运行的`git`进程(例如,查找提交),您仍然可以: - -* 往返于 Gitaly 的网络费用. -* 在 Gitaly 中,是将 Gitaly 连接到`git`进程的 Unix 管道上的写入/读取往返. - -使用 GitLab.com 进行测量,我们减少了每个请求的 Gitaly 呼叫次数,直到不再感觉到 Rugged 效率的下降. 这也有助于我们直接在 Git 文件服务器上运行 Gitaly 本身,而不是通过 NFS 挂载. 这给了我们提速,抵消了不再使用 Rugged 带来的负面影响. - -不幸的是,GitLab 的其他部署无法像我们在 GitLab.com 上那样删除 NFS,这两个方面都是最糟糕的: - -* NFS 的速度较慢. -* The increased inherent overhead of Gitaly. - -在 Gitaly 迁移项目期间从 GitLab 中删除的代码影响了这些部署. 作为这些基于 NFS 的部署的性能变通办法,我们重新引入了一些旧的 Rugged 代码. 重新引入的代码被非正式地称为" Rugged patch". - -### How it works[](#how-it-works "Permalink") - -执行直接 Git 访问的 Ruby 方法位于[功能标志的](../../development/gitaly.html#legacy-rugged-code)后面,默认情况下处于禁用状态. 设置功能标记以获得最佳性能并不方便,因此我们添加了一种自动机制,可以直接访问 Git. - -当 GitLab 调用具有"加固补丁"的函数时,它将执行两项检查: - -* 数据库中是否设置了此补丁程序的功能标志? 如果是这样,功能标记设置将控制 GitLab 对"坚固补丁"代码的使用. -* 如果未设置功能标志,则 GitLab 尝试直接访问 Gitaly 服务器下方的文件系统. 如果可以,它将使用" Rugged patch". - -这两个检查的结果都被缓存. - -为了查看 GitLab 是否可以直接访问存储库文件系统,我们使用以下启发式: - -* Gitaly 确保文件系统在其根目录中具有一个带有 UUID 的元数据文件. -* Gitaly 通过`ServerInfo` RPC 将此 UUID 报告给 GitLab. -* GitLab Rails 尝试直接读取元数据文件. 如果存在,并且 UUID 匹配,则假定我们具有直接访问权限. - -默认情况下,在 Omnibus GitLab 中启用直接 Git 访问,因为它会在 GitLab 配置文件`config/gitlab.yml`填写正确的存储库路径. 这满足了 UUID 检查. - -### Transition to Gitaly Cluster[](#transition-to-gitaly-cluster "Permalink") - -为了消除复杂性,我们必须删除 GitLab 中的直接 Git 访问. 但是,只要某些 GitLab 安装需要 NFS 上的 Git 存储库,我们就无法删除它. - -我们在 GitLab 中删除直接 Git 访问的工作有两个方面: - -* 减少 GitLab 进行的低效率 Gitaly 查询的数量. -* 说服容错或水平扩展的 GitLab 实例的管理员从 NFS 迁移. - -第二个方面是唯一真正的解决方案. 为此,我们开发了[Gitaly Cluster](praefect.html) . - -## Troubleshooting Gitaly[](#troubleshooting-gitaly "Permalink") - -### Checking versions when using standalone Gitaly servers[](#checking-versions-when-using-standalone-gitaly-servers "Permalink") - -使用独立的 Gitaly 服务器时,必须确保它们与 GitLab 的版本相同,以确保完全兼容. 检查您的 GitLab 实例上的**管理区域> Gitaly 服务器** ,并确认所有 Gitaly 服务器都是`Up to date` . - -[![Gitaly standalone software versions diagram](img/ba685b05a8bb7c09fe3b58048ac4884e.png)](img/gitlab_gitaly_version_mismatch_v12_4.png) - -### `gitaly-debug`[](#gitaly-debug "Permalink") - -`gitaly-debug`命令提供用于" Gitaly"和" Git"性能的"生产调试"工具. 它旨在帮助生产工程师和支持工程师调查 Gitaly 性能问题. - -如果您使用的是 GitLab 11.6 或更高版本,则此工具应已安装在您的 GitLab / Gitaly 服务器上,位于`/opt/gitlab/embedded/bin/gitaly-debug` . 如果要研究旧版本的 GitLab,可以离线编译此工具,然后将可执行文件复制到服务器: - -``` -git clone https://gitlab.com/gitlab-org/gitaly.git -cd cmd/gitaly-debug -GOOS=linux GOARCH=amd64 go build -o gitaly-debug -``` - -要查看`gitaly-debug`的帮助页面以`gitaly-debug`受支持的子命令列表,请运行: - -``` -gitaly-debug -h -``` - -### Commits, pushes, and clones return a 401[](#commits-pushes-and-clones-return-a-401 "Permalink") - -``` -remote: GitLab: 401 Unauthorized -``` - -您将需要将`gitlab-secrets.json`文件与 Gitaly 客户端(GitLab 应用程序节点)同步. - -### Client side gRPC logs[](#client-side-grpc-logs "Permalink") - -Gitaly 使用[gRPC](https://grpc.io/) RPC 框架. Ruby gRPC 客户端具有自己的日志文件,当您看到 Gitaly 错误时,该文件可能包含有用的信息. 您可以使用`GRPC_LOG_LEVEL`环境变量控制 gRPC 客户端的日志级别. 默认级别为`WARN` . - -您可以使用以下命令运行 gRPC 跟踪: - -``` -sudo GRPC_TRACE=all GRPC_VERBOSITY=DEBUG gitlab-rake gitlab:gitaly:check -``` - -### Observing `gitaly-ruby` traffic[](#observing-gitaly-ruby-traffic "Permalink") - -[`gitaly-ruby`](#gitaly-ruby)是[`gitaly-ruby`](#gitaly-ruby)的内部实现细节,因此,对`gitaly-ruby`流程内部发生的情况`gitaly-ruby` . - -如果已设置 Prometheus 来抓取 Gitaly 进程,则可以通过查询`grpc_client_handled_total`来`grpc_client_handled_total` `gitaly-ruby`各个 RPC 的请求率和错误代码. 严格来说,此度量标准并未区分`gitaly-ruby`和其他 RPC,但实际上(自 GitLab 11.9 起),Gitaly 本身进行的所有 gRPC 调用都是从 Gitaly 主过程到其`gitaly-ruby`边车之一的内部调用. - -假设您的`grpc_client_handled_total`计数器仅观察到 Gitaly,以下查询将显示 RPC 在内部(最有可能)实现为对`gitaly-ruby`调用: - -``` -sum(rate(grpc_client_handled_total[5m])) by (grpc_method) > 0 -``` - -### Repository changes fail with a `401 Unauthorized` error[](#repository-changes-fail-with-a-401-unauthorized-error "Permalink") - -如果您在自己的服务器上运行 Gitaly,并注意到用户可以成功克隆和获取存储库(通过 SSH 和 HTTPS),但是在未获得`401 Unauthorized`情况下,无法推送到它们或在 Web UI 中对存储库进行更改消息,那么 Gitaly 可能由于拥有[错误的 secrets 文件](#configure-gitaly-servers)而无法通过 Gitaly 客户端进行身份验证. - -确认以下所有内容均正确: - -* When any user performs a `git push` to any repository on this Gitaly server, it fails with the following error (note the `401 Unauthorized`): - - ``` - remote: GitLab: 401 Unauthorized - To - ! [remote rejected] branch-name -> branch-name (pre-receive hook declined) - error: failed to push some refs to '' - ``` - -* 当任何用户使用 GitLab UI 从存储库添加或修改文件时,该文件都会立即失败,并显示红色`401 Unauthorized`横幅. -* 创建一个新项目并[使用 README 对其进行初始化会](../../gitlab-basics/create-project.html#blank-projects)成功创建该项目,但不会创建 README. -* [将日志尾随在](https://docs.gitlab.com/omnibus/settings/logs.html) Gitaly 客户端上并重现该错误时,到达`/api/v4/internal/allowed`端点时会出现`401`错误: - - ``` - # api_json.log - { - "time": "2019-07-18T00:30:14.967Z", - "severity": "INFO", - "duration": 0.57, - "db": 0, - "view": 0.57, - "status": 401, - "method": "POST", - "path": "\/api\/v4\/internal\/allowed", - "params": [ - { - "key": "action", - "value": "git-receive-pack" - }, - { - "key": "changes", - "value": "REDACTED" - }, - { - "key": "gl_repository", - "value": "REDACTED" - }, - { - "key": "project", - "value": "\/path\/to\/project.git" - }, - { - "key": "protocol", - "value": "web" - }, - { - "key": "env", - "value": "{\"GIT_ALTERNATE_OBJECT_DIRECTORIES\":[],\"GIT_ALTERNATE_OBJECT_DIRECTORIES_RELATIVE\":[],\"GIT_OBJECT_DIRECTORY\":null,\"GIT_OBJECT_DIRECTORY_RELATIVE\":null}" - }, - { - "key": "user_id", - "value": "2" - }, - { - "key": "secret_token", - "value": "[FILTERED]" - } - ], - "host": "gitlab.example.com", - "ip": "REDACTED", - "ua": "Ruby", - "route": "\/api\/:version\/internal\/allowed", - "queue_duration": 4.24, - "gitaly_calls": 0, - "gitaly_duration": 0, - "correlation_id": "XPUZqTukaP3" - } - - # nginx_access.log - [IP] - - [18/Jul/2019:00:30:14 +0000] "POST /api/v4/internal/allowed HTTP/1.1" 401 30 "" "Ruby" - ``` - -要解决此问题,请确认 Gitaly 服务器上的 gitlab [`gitlab-secrets.json`文件](#configure-gitaly-servers)与 Gitaly 客户端上的[文件](#configure-gitaly-servers)匹配. 如果不匹配,请更新 Gitaly 服务器上的密码文件以匹配 Gitaly 客户端,然后[重新配置](../restart_gitlab.html#omnibus-gitlab-reconfigure) . - -### Command line tools cannot connect to Gitaly[](#command-line-tools-cannot-connect-to-gitaly "Permalink") - -如果使用命令行(CLI)工具连接到 Gitaly 服务器时遇到问题,并且某些操作导致出现`14: Connect Failed`错误消息,则意味着 gRPC 无法访问您的 Gitaly 服务器. - -确认您可以通过 TCP 到达 Gitaly: - -``` -sudo gitlab-rake gitlab:tcp_check[GITALY_SERVER_IP,GITALY_LISTEN_PORT] -``` - -如果 TCP 连接失败,请检查您的网络设置和防火墙规则. 如果 TCP 连接成功,则您的网络和防火墙规则正确. - -如果您在命令行环境(例如 Bash)中使用代理服务器,则这些代理服务器可能会干扰您的 gRPC 通信. - -如果使用 Bash 或兼容的命令行环境,请运行以下命令来确定是否配置了代理服务器: - -``` -echo $http_proxy -echo $https_proxy -``` - -如果这些变量中的任何一个都有值,则您的 Gitaly CLI 连接可能正在通过无法连接到 Gitaly 的代理进行路由. - -要删除代理设置,请运行以下命令(取决于哪些变量具有值): - -``` -unset http_proxy -unset https_proxy -``` - -### Gitaly not listening on new address after reconfiguring[](#gitaly-not-listening-on-new-address-after-reconfiguring "Permalink") - -当更新`gitaly['listen_addr']`或`gitaly['prometheus_listen_addr']`值时,Gitaly 可能会在`sudo gitlab-ctl reconfigure`后继续侦听旧地址. - -发生这种情况时,执行`sudo gitlab-ctl restart`将解决此问题. 解决[此问题](https://gitlab.com/gitlab-org/gitaly/-/issues/2521)后,将不再需要[此操作](https://gitlab.com/gitlab-org/gitaly/-/issues/2521) . - -### Permission denied errors appearing in Gitaly logs when accessing repositories from a standalone Gitaly server[](#permission-denied-errors-appearing-in-gitaly-logs-when-accessing-repositories-from-a-standalone-gitaly-server "Permalink") - -如果即使文件权限正确也发生此错误,则 Gitaly 服务器可能正在发生[时钟漂移](https://en.wikipedia.org/wiki/Clock_drift) . - -请确保 Gitaly 客户端和服务器已同步,并在可能的情况下使用 NTP 时间服务器保持同步. - -### Praefect[](#praefect "Permalink") - -Praefect 是 Gitaly 的路由器和事务管理器,并且是运行 Gitaly 集群的必需组件. 有关更多信息,请参见[Gitaly Cluster](praefect.html) . \ No newline at end of file diff --git a/docs/469.md b/docs/469.md deleted file mode 100644 index bf6c6b3..0000000 --- a/docs/469.md +++ /dev/null @@ -1,847 +0,0 @@ -# Gitaly Cluster - -> 原文:[https://docs.gitlab.com/ee/administration/gitaly/praefect.html](https://docs.gitlab.com/ee/administration/gitaly/praefect.html) - -* [Requirements for configuring a Gitaly Cluster](#requirements-for-configuring-a-gitaly-cluster) -* [Setup Instructions](#setup-instructions) - * [Preparation](#preparation) - * [Secrets](#secrets) - * [PostgreSQL](#postgresql) - * [Praefect](#praefect) -* [Enabling TLS support](#enabling-tls-support) - * [Gitaly](#gitaly) - * [Load Balancer](#load-balancer) - * [GitLab](#gitlab) - * [Grafana](#grafana) -* [Distributed reads](#distributed-reads) -* [Automatic failover and leader election](#automatic-failover-and-leader-election) -* [Primary Node Failure](#primary-node-failure) - * [Checking for data loss](#checking-for-data-loss) - * [Checking repository checksums](#checking-repository-checksums) - * [Recovering lost writes](#recovering-lost-writes) - * [Enabling Writes](#enabling-writes) -* [Backend Node Recovery](#backend-node-recovery) -* [Migrating existing repositories to Praefect](#migrating-existing-repositories-to-praefect) -* [Debugging Praefect](#debugging-praefect) - -# Gitaly Cluster[](#gitaly-cluster "Permalink") - -[Gitaly](index.html) (为 Git 存储库提供存储的服务)可以在群集配置中运行,以提高容错能力. 在这种配置中,每个 Git 存储库都存储在集群中的每个 Gitaly 节点上. 可以配置多个集群(或分片). - -**注意:**可以使用[GitLab Core](https://about.gitlab.com/pricing/#self-managed)和更高层来创建 Gitaly 群集. 但是,技术支持仅限于 GitLab Premium 和 Ultimate 客户. 在 GitLab.com 中不可用. - -Praefect 是 Gitaly 的路由器和事务管理器,并且是运行 Gitaly 集群的必需组件. - -[![Architecture diagram](img/ff949c9ca6d0d99318f68a1784db7950.png)](img/praefect_architecture_v12_10.png) - -使用 Gitaly 群集可通过以下方式提高容错能力: - -* 复制写操作以预热备用 Gitaly 节点. -* 检测 Gitaly 节点故障. -* 自动将 Git 请求路由到可用的 Gitaly 节点. - -Gitaly 群集的可用性目标是: - -* **恢复点目标(RPO):**不到 1 分钟. - - 写入异步复制. 尚未复制到新提升的主数据库的所有写入都将丢失. - - 计划实现[高度一致性,](https://gitlab.com/groups/gitlab-org/-/epics/1189)以将其改进为"无损失". - -* **恢复时间目标(RTO):**少于 10 秒. - - 每秒通过每个 Praefect 节点运行的运行状况检查来检测中断. 故障转移要求每个 Praefect 节点上连续十次失败的运行状况检查. - - 计划进行[更快的中断检测](https://gitlab.com/gitlab-org/gitaly/-/issues/2608) ,以将其[缩短](https://gitlab.com/gitlab-org/gitaly/-/issues/2608)到不到 1 秒. - -当前版本支持: - -* 辅助副本的最终一致性. -* Automatic failover from the primary to the secondary. -* 如果复制队列不为空,则报告可能的数据丢失. -* 仅当检测到可能的数据丢失时,才将新升级的主要读标记为标记. - -遵循[HA Gitaly 史诗](https://gitlab.com/groups/gitlab-org/-/epics/1489)进行的改进,包括[横向分发读取](https://gitlab.com/groups/gitlab-org/-/epics/2013) . - -## Requirements for configuring a Gitaly Cluster[](#requirements-for-configuring-a-gitaly-cluster "Permalink") - -建议的 Gitaly 群集最低配置要求: - -* 1 个负载均衡器 -* 1 个 PostgreSQL 服务器(PostgreSQL 11 或更高版本) -* 节点长官 3 -* 3 个 Gitaly 节点(1 个主要节点,2 个辅助节点) - -有关实现的详细信息,请参见[设计文档](https://gitlab.com/gitlab-org/gitaly/-/blob/master/doc/design_ha.md) . - -## Setup Instructions[](#setup-instructions "Permalink") - -如果使用 Omnibus 软件包[安装了](https://about.gitlab.com/install/) GitLab(强烈建议),请按照以下步骤操作: - -1. [Preparation](#preparation) -2. [Configuring the Praefect database](#postgresql) -3. [Configuring the Praefect proxy/router](#praefect) -4. [配置每个 Gitaly 节点](#gitaly) ( [每个 Gitaly 节点](#gitaly)一次) -5. [Configure the load balancer](#load-balancer) -6. [Updating the GitLab server configuration](#gitlab) -7. [Configure Grafana](#grafana) - -### Preparation[](#preparation "Permalink") - -在开始之前,您应该已经有一个正常的 GitLab 实例. [了解如何安装 GitLab](https://about.gitlab.com/install/) . - -设置 PostgreSQL 服务器(PostgreSQL 11 或更高版本). 尚不支持通过 Omnibus GitLab 发行版进行配置. 请关注此[问题](https://gitlab.com/gitlab-org/gitaly/-/issues/2476)以进行更新. - -通过[安装 GitLab](https://about.gitlab.com/install/)准备所有新节点. - -* 1 个 Praefect 节点(需要最少的存储) -* 3 个 Gitaly 节点(高 CPU,高内存,快速存储) -* 1 个 GitLab 服务器 - -您将需要每个节点的 IP /主机地址. - -1. `LOAD_BALANCER_SERVER_ADDRESS` :负载均衡器的 IP /主机地址 -2. `POSTGRESQL_SERVER_ADDRESS` :PostgreSQL 服务器的 IP /主机地址 -3. `PRAEFECT_HOST` :Praefect 服务器的 IP /主机地址 -4. `GITALY_HOST` :每个 Gitaly 服务器的 IP /主机地址 -5. `GITLAB_HOST` :GitLab 服务器的 IP /主机地址 - -如果使用的是云提供商,则可以通过云提供商的管理控制台查找每个服务器的地址. - -如果您使用的是 Google Cloud Platform,SoftLayer 或提供虚拟私有云(VPC)的任何其他供应商,则可以将每个云实例的私有地址(对应于 Google Cloud Platform 的"内部地址")用于`PRAEFECT_HOST` , `GITALY_HOST` ,和`GITLAB_HOST` . - -#### Secrets[](#secrets "Permalink") - -组件之间的通信由不同的秘密保护,下面将对此进行描述. 在开始之前,请为每个密钥生成一个唯一的秘密,并记录下来. 在完成设置过程时,这将很容易用安全令牌替换这些占位符令牌. - -1. `GITLAB_SHELL_SECRET_TOKEN` :当接受 Git 推送时,Git 挂钩将其用于向 GitLab 发出回调 HTTP API 请求. 出于遗留原因,此秘密已与 GitLab Shell 共享. -2. `PRAEFECT_EXTERNAL_TOKEN` :承载此令牌的 Gitaly 客户端只能访问 Praefect 群集上托管的存储库. -3. `PRAEFECT_INTERNAL_TOKEN` :此令牌用于 Praefect 群集内的复制流量. 这与`PRAEFECT_EXTERNAL_TOKEN`不同,因为 Gitaly 客户端必须不能直接访问 Praefect 群集的内部节点. 可能导致数据丢失. -4. `PRAEFECT_SQL_PASSWORD` :Praefect 使用此密码连接到 PostgreSQL. - -我们将在以下说明中指出需要这些秘密的地方. - -### PostgreSQL[](#postgresql "Permalink") - -**注意:**如果使用[Geo,](../geo/replication/index.html)请勿将 GitLab 应用程序数据库和 Praefect 数据库存储在同一 PostgreSQL 服务器上. 复制状态是每个 GitLab 实例的内部状态,不应复制. - -要完成本节,您将需要: - -* 完美节点 1 -* 1 个 PostgreSQL 服务器(PostgreSQL 11 或更高版本) - * 具有创建数据库权限的 SQL 用户 - -在本节中,我们将使用 Omnibus GitLab 安装的`psql`从 Praefect 节点配置 PostgreSQL 服务器. - -1. SSH 进入**Praefect**节点并以 root 用户身份登录: - - ``` - sudo -i - ``` - -2. 以管理员权限连接到 PostgreSQL 服务器. 这可能是`postgres`用户. 使用数据库`template1`是因为它默认在所有 PostgreSQL 服务器上创建. - - ``` - /opt/gitlab/embedded/bin/psql -U postgres -d template1 -h POSTGRESQL_SERVER_ADDRESS - ``` - - 创建一个将由 Praefect 使用的新用户`praefect` . 将`PRAEFECT_SQL_PASSWORD`替换为您在准备步骤中生成的强密码. - - ``` - CREATE ROLE praefect WITH LOGIN CREATEDB PASSWORD 'PRAEFECT_SQL_PASSWORD'; - ``` - -3. 这次以`praefect`用户身份重新连接到 PostgreSQL 服务器: - - ``` - /opt/gitlab/embedded/bin/psql -U praefect -d template1 -h POSTGRESQL_SERVER_ADDRESS - ``` - - 创建一个新的数据库`praefect_production` . 通过同时连接为创建数据库`praefect`的用户,我们有信心,他们有机会. - - ``` - CREATE DATABASE praefect_production WITH ENCODING=UTF8; - ``` - -现在已配置 Praefect 使用的数据库. - -### Praefect[](#praefect "Permalink") - -要完成本节,您将需要: - -* [配置的 PostgreSQL 服务器](#postgresql) ,包括: - * IP /主机地址( `POSTGRESQL_SERVER_ADDRESS` ) - * 密码( `PRAEFECT_SQL_PASSWORD` ) - -Praefect 应该在专用节点上运行. 不要在应用程序服务器或 Gitaly 节点上运行 Praefect. - -1. SSH 进入**Praefect**节点并以 root 用户身份登录: - - ``` - sudo -i - ``` - -2. 通过编辑`/etc/gitlab/gitlab.rb`禁用所有其他服务: - - ``` - # Disable all other services on the Praefect node - postgresql['enable'] = false - redis['enable'] = false - nginx['enable'] = false - prometheus['enable'] = false - grafana['enable'] = false - puma['enable'] = false - sidekiq['enable'] = false - gitlab_workhorse['enable'] = false - gitaly['enable'] = false - - # Enable only the Praefect service - praefect['enable'] = true - - # Prevent database connections during 'gitlab-ctl reconfigure' - gitlab_rails['rake_cache_clear'] = false - gitlab_rails['auto_migrate'] = false - ``` - -3. 通过编辑`/etc/gitlab/gitlab.rb` **Praefect**配置为侦听网络接口: - - ``` - praefect['listen_addr'] = '0.0.0.0:2305' - - # Enable Prometheus metrics access to Praefect. You must use firewalls - # to restrict access to this address/port. - praefect['prometheus_listen_addr'] = '0.0.0.0:9652' - ``` - -4. 配置强劲`auth_token`通过编辑**提督** `/etc/gitlab/gitlab.rb` . 群集外部的客户端(如 GitLab Shell)将需要与 Praefect 群集进行通信: - - ``` - praefect['auth_token'] = 'PRAEFECT_EXTERNAL_TOKEN' - ``` - -5. 通过编辑`/etc/gitlab/gitlab.rb`将**Praefect**配置为连接到 PostgreSQL 数据库. - - 您将需要用数据库的 IP /主机地址替换`POSTGRESQL_SERVER_ADDRESS` ,并用上面设置的强密码`PRAEFECT_SQL_PASSWORD` . - - ``` - praefect['database_host'] = 'POSTGRESQL_SERVER_ADDRESS' - praefect['database_port'] = 5432 - praefect['database_user'] = 'praefect' - praefect['database_password'] = 'PRAEFECT_SQL_PASSWORD' - praefect['database_dbname'] = 'praefect_production' - ``` - - 如果要使用 TLS 客户端证书,则可以使用以下选项: - - ``` - # Connect to PostreSQL using a TLS client certificate - # praefect['database_sslcert'] = '/path/to/client-cert' - # praefect['database_sslkey'] = '/path/to/client-key' - - # Trust a custom certificate authority - # praefect['database_sslrootcert'] = '/path/to/rootcert' - ``` - - 默认情况下,Praefect 将拒绝与 PostgreSQL 建立未加密的连接. 您可以通过取消注释以下行来覆盖它: - - ``` - # praefect['database_sslmode'] = 'disable' - ``` - -6. 通过编辑`/etc/gitlab/gitlab.rb`将**Praefect**群集配置为连接到群集中的每个 Gitaly 节点. - - 虚拟存储的名称必须与 GitLab 配置中配置的存储名称匹配. 在随后的步骤中,我们将存储名称配置为`default`名称,因此我们也在此处使用`default`名称. 该集群具有三个 Gitaly 节点`gitaly-1` , `gitaly-2`和`gitaly-3` ,它们将是彼此的副本. - - **注意:**如果您已经在名为`default`现有存储上存储了数据,则应使用其他名称配置虚拟存储,然后[将数据迁移到 Praefect 存储](#migrating-existing-repositories-to-praefect) . - - 将`PRAEFECT_INTERNAL_TOKEN`替换为一个强秘密,Praefect 将在与集群中的 Gitaly 节点通信时使用此秘密. 此令牌与`PRAEFECT_EXTERNAL_TOKEN` . - - 将`GITALY_HOST`替换为每个 Gitaly 节点的 IP /主机地址. - - 可以将更多 Gitaly 节点添加到群集以增加副本数. 还可以为大型 GitLab 实例添加更多集群. - - **注意:** `gitaly-1`节点当前称为主要节点. 这可用于从一个节点到另一个节点的手动故障. 这将在被删除[的未来](https://gitlab.com/gitlab-org/gitaly/-/issues/2634) . - - ``` - # Name of storage hash must match storage name in git_data_dirs on GitLab - # server ('praefect') and in git_data_dirs on Gitaly nodes ('gitaly-1') - praefect['virtual_storages'] = { - 'default' => { - 'gitaly-1' => { - 'address' => 'tcp://GITALY_HOST:8075', - 'token' => 'PRAEFECT_INTERNAL_TOKEN', - 'primary' => true - }, - 'gitaly-2' => { - 'address' => 'tcp://GITALY_HOST:8075', - 'token' => 'PRAEFECT_INTERNAL_TOKEN' - }, - 'gitaly-3' => { - 'address' => 'tcp://GITALY_HOST:8075', - 'token' => 'PRAEFECT_INTERNAL_TOKEN' - } - } - } - ``` - -7. 在 GitLab 13.1 和更高版本中[引入](https://gitlab.com/groups/gitlab-org/-/epics/2013) ,启用了 read 的[分发](#distributed-reads) . - -8. 将更改保存到`/etc/gitlab/gitlab.rb`并[重新配置 Praefect](../restart_gitlab.html#omnibus-gitlab-reconfigure) : - - ``` - gitlab-ctl reconfigure - ``` - -9. 为了确保 Praefect [已更新其 Prometheus 监听地址](https://gitlab.com/gitlab-org/gitaly/-/issues/2734) ,请[重新启动 Gitaly](../restart_gitlab.html#omnibus-gitlab-restart) : - - ``` - gitlab-ctl restart praefect - ``` - -10. 验证 Praefect 可以到达 PostgreSQL: - - ``` - sudo -u git /opt/gitlab/embedded/bin/praefect -config /var/opt/gitlab/praefect/config.toml sql-ping - ``` - - 如果检查失败,请确保已正确执行了步骤. 如果您编辑`/etc/gitlab/gitlab.rb` ,请记住在尝试`sql-ping`命令之前再次运行`sudo gitlab-ctl reconfigure` . - -**必须为每个 Praefect 节点完成上述步骤!** - -## Enabling TLS support[](#enabling-tls-support "Permalink") - -在 GitLab 13.2 中[引入](https://gitlab.com/gitlab-org/gitaly/-/issues/1698) . - -Praefect 支持 TLS 加密. 要与侦听安全连接的 Praefect 实例进行通信,您必须: - -* 在 GitLab 配置中相应存储条目的`gitaly_address`中使用`tls://` URL 方案. -* 带上您自己的证书,因为这不会自动提供. 与每个 Praefect 服务器相对应的证书必须安装在该 Praefect 服务器上. - -此外,必须按照[GitLab 自定义证书配置中](https://docs.gitlab.com/omnibus/settings/ssl.html)所述的过程(并在下面重复),将证书或其证书颁发机构安装在所有 Gitaly 服务器和与其通信的所有 Praefect 客户端上. - -请注意以下几点: - -* 证书必须指定用于访问 Praefect 服务器的地址. 如果通过以下方式寻址 Praefect 服务器: - - * 主机名,您可以为此使用"公用名"字段,也可以将其添加为"使用者备用名". - * IP 地址,您必须将其添加为证书的使用者备用名称. -* 您可以同时为 Praefect 服务器配置未加密的侦听地址`listen_addr`和已加密的侦听地址`tls_listen_addr` . 如果需要,这使您可以从未加密的流量逐渐过渡到加密的流量. - -要使用 TLS 配置 Praefect: - -**对于所有 GitLab** - -1. Prefect 为服务器创建证书. -2. 在 Praefect 服务器上,创建`/etc/gitlab/ssl`目录,然后在其中复制密钥和证书: - - ``` - sudo mkdir -p /etc/gitlab/ssl - sudo chmod 755 /etc/gitlab/ssl - sudo cp key.pem cert.pem /etc/gitlab/ssl/ - sudo chmod 644 key.pem cert.pem - ``` - -3. 编辑`/etc/gitlab/gitlab.rb`并添加: - - ``` - praefect['tls_listen_addr'] = "0.0.0.0:3305" - praefect['certificate_path'] = "/etc/gitlab/ssl/cert.pem" - praefect['key_path'] = "/etc/gitlab/ssl/key.pem" - ``` - -4. 保存文件并[重新配置 GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure) . -5. 在 Praefect 客户端(包括每个 Gitaly 服务器)上,将证书或其证书颁发机构复制到`/etc/gitlab/trusted-certs` : - - ``` - sudo cp cert.pem /etc/gitlab/trusted-certs/ - ``` - -6. 在 Praefect 客户端(Gitaly 服务器除外)上,在`/etc/gitlab/gitlab.rb`编辑`git_data_dirs` ,如下所示: - - ``` - git_data_dirs({ - 'default' => { 'gitaly_address' => 'tls://praefect1.internal:3305' }, - 'storage1' => { 'gitaly_address' => 'tls://praefect2.internal:3305' }, - }) - ``` - -7. 保存文件并[重新配置 GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure) . - -**对于源安装** - -1. Prefect 为服务器创建证书. -2. 在 Praefect 服务器上,创建`/etc/gitlab/ssl`目录,然后在其中复制密钥和证书: - - ``` - sudo mkdir -p /etc/gitlab/ssl - sudo chmod 755 /etc/gitlab/ssl - sudo cp key.pem cert.pem /etc/gitlab/ssl/ - sudo chmod 644 key.pem cert.pem - ``` - -3. 在 Praefect 客户端(包括每个 Gitaly 服务器)上,将证书或其证书颁发机构复制到系统信任的证书中: - - ``` - sudo cp cert.pem /usr/local/share/ca-certificates/praefect.crt - sudo update-ca-certificates - ``` - -4. 在 Praefect 客户端(Gitaly 服务器除外)上,按如下所示编辑`/home/git/gitlab/config/gitlab.yml` `storages` : - - ``` - gitlab: - repositories: - storages: - default: - gitaly_address: tls://praefect1.internal:3305 - path: /some/dummy/path - storage1: - gitaly_address: tls://praefect2.internal:3305 - path: /some/dummy/path - ``` - - **注意:** `/some/dummy/path`应该设置为存在的本地文件夹,但是该文件夹中不会存储任何数据. 解决[此问题](https://gitlab.com/gitlab-org/gitaly/-/issues/1282)后,将不再需要[此操作](https://gitlab.com/gitlab-org/gitaly/-/issues/1282) . -5. 保存文件并[重新启动 GitLab](../restart_gitlab.html#installations-from-source) . -6. 将所有 Praefect 服务器证书或其证书颁发机构复制到每台 Gitaly 服务器上的系统受信任证书,以便 Praefect 服务器在被 Gitaly 服务器调用时将信任该证书: - - ``` - sudo cp cert.pem /usr/local/share/ca-certificates/praefect.crt - sudo update-ca-certificates - ``` - -7. 编辑`/home/git/praefect/config.toml`并添加: - - ``` - tls_listen_addr = '0.0.0.0:3305' - - [tls] - certificate_path = '/etc/gitlab/ssl/cert.pem' - key_path = '/etc/gitlab/ssl/key.pem' - ``` - -8. 保存文件并[重新启动 GitLab](../restart_gitlab.html#installations-from-source) . - -### Gitaly[](#gitaly "Permalink") - -**注意:**为**每个** Gitaly 节点完成这些步骤. - -要完成本节,您将需要: - -* [Configured Praefect node](#praefect) -* 将 3 个(或更多)安装了 GitLab 的服务器配置为 Gitaly 节点. 这些应该是专用节点,不要在这些节点上运行其他服务. - -分配给 Praefect 群集的每个 Gitaly 服务器都需要配置. 该配置与普通的[独立 Gitaly 服务器相同](index.html) ,除了: - -* 存储名称公开给 Praefect,而不是 GitLab -* 秘密令牌是与 Praefect 共享的,而不是与 GitLab 共享的 - -Praefect 群集中所有 Gitaly 节点的配置可以相同,因为我们依靠 Praefect 正确地路由操作. - -应特别注意: - -* 本节中配置的`gitaly['auth_token']`必须与 Praefect 节点上`praefect['virtual_storages']`下的`token`值匹配. 这是在上[一节中](#praefect)设置的. 本文档始终使用占位符`PRAEFECT_INTERNAL_TOKEN` . -* 本节中配置的`git_data_dirs`中的存储名称必须与 Praefect 节点上`praefect['virtual_storages']`下的存储名称匹配. 这是在上[一节中](#praefect)设置的. 本文档使用`gitaly-1` , `gitaly-2`和`gitaly-3`作为 Gitaly 存储名称. - -有关 Gitaly 服务器配置的更多信息,请参阅我们的[Gitaly 文档](index.html#configure-gitaly-servers) . - -1. SSH 进入**Gitaly**节点并以 root 用户身份登录: - - ``` - sudo -i - ``` - -2. Disable all other services by editing `/etc/gitlab/gitlab.rb`: - - ``` - # Disable all other services on the Praefect node - postgresql['enable'] = false - redis['enable'] = false - nginx['enable'] = false - grafana['enable'] = false - puma['enable'] = false - sidekiq['enable'] = false - gitlab_workhorse['enable'] = false - prometheus_monitoring['enable'] = false - - # Enable only the Gitaly service - gitaly['enable'] = true - - # Enable Prometheus if needed - prometheus['enable'] = true - - # Prevent database connections during 'gitlab-ctl reconfigure' - gitlab_rails['rake_cache_clear'] = false - gitlab_rails['auto_migrate'] = false - ``` - -3. 配置**Gitaly**通过编辑来听网络接口`/etc/gitlab/gitlab.rb` : - - ``` - # Make Gitaly accept connections on all network interfaces. - # Use firewalls to restrict access to this address/port. - gitaly['listen_addr'] = '0.0.0.0:8075' - - # Enable Prometheus metrics access to Gitaly. You must use firewalls - # to restrict access to this address/port. - gitaly['prometheus_listen_addr'] = '0.0.0.0:9236' - ``` - -4. 配置强劲`auth_token`通过编辑**Gitaly** `/etc/gitlab/gitlab.rb` . 客户端将需要与该 Gitaly 节点进行通信. 通常,此令牌对于所有 Gitaly 节点都是相同的. - - ``` - gitaly['auth_token'] = 'PRAEFECT_INTERNAL_TOKEN' - ``` - -5. 配置`git push`操作所需的 GitLab Shell `secret_token`和`internal_api_url` . - - 如果您已经[在自己的服务器上](index.html)配置了[Gitaly](index.html) - - ``` - gitlab_shell['secret_token'] = 'GITLAB_SHELL_SECRET_TOKEN' - - # Configure the gitlab-shell API callback URL. Without this, `git push` will - # fail. This can be your front door GitLab URL or an internal load balancer. - # Examples: 'https://example.gitlab.com', 'http://1.2.3.4' - gitlab_rails['internal_api_url'] = 'http://GITLAB_HOST' - ``` - -6. 通过在`/etc/gitlab/gitlab.rb`设置`git_data_dirs`来配置 Git 数据的存储位置. 每个 Gitaly 节点应具有唯一的存储名称(例如`gitaly-1` ). - - 与其为每个 Gitaly 节点唯一地配置`git_data_dirs`将每个 Gitaly 节点上所有 Gitaly 节点的配置都包括在内通常会更容易. 由于 Praefect `virtual_storages`配置将每个存储名称(例如`gitaly-1` )映射到特定节点,并且相应地路由了请求,因此支持此操作. 这意味着舰队中的每个 Gitaly 节点都可以共享相同的配置. - - ``` - # You can include the data dirs for all nodes in the same config, because - # Praefect will only route requests according to the addresses provided in the - # prior step. - git_data_dirs({ - "gitaly-1" => { - "path" => "/var/opt/gitlab/git-data" - }, - "gitaly-2" => { - "path" => "/var/opt/gitlab/git-data" - }, - "gitaly-3" => { - "path" => "/var/opt/gitlab/git-data" - } - }) - ``` - -7. 将更改保存到`/etc/gitlab/gitlab.rb`并[重新配置 Gitaly](../restart_gitlab.html#omnibus-gitlab-reconfigure) : - - ``` - gitlab-ctl reconfigure - ``` - -8. 为了确保 Gitaly [更新了其 Prometheus 监听地址](https://gitlab.com/gitlab-org/gitaly/-/issues/2734) ,请[重新启动 Gitaly](../restart_gitlab.html#omnibus-gitlab-restart) : - - ``` - gitlab-ctl restart gitaly - ``` - -**必须对每个 Gitaly 节点完成上述步骤!** - -配置完所有 Gitaly 节点后,您可以运行 Praefect 连接检查器以验证 Praefect 可以连接到 Praefect 配置中的所有 Gitaly 服务器. - -1. SSH into the **Praefect** node and run the Praefect connection checker: - - ``` - sudo /opt/gitlab/embedded/bin/praefect -config /var/opt/gitlab/praefect/config.toml dial-nodes - ``` - -### Load Balancer[](#load-balancer "Permalink") - -在高可用的 Gitaly 配置中,需要一个负载平衡器来将内部流量从 GitLab 应用程序路由到 Praefect 节点. 有关使用负载均衡器或进行确切配置的细节超出了 GitLab 文档的范围. - -我们希望,如果您要管理像 GitLab 这样的 HA 系统,那么您已经选择了负载均衡器. 一些示例包括[HAProxy](https://www.haproxy.org/) (开源), [Google 内部负载均衡器](https://cloud.google.com/load-balancing/docs/internal/) , [AWS Elastic 负载均衡器](https://aws.amazon.com/elasticloadbalancing/) ,F5 Big-IP LTM 和 Citrix Net Scaler. 本文档将概述您需要配置哪些端口和协议. - -| LB 端口 | 后端端口 | Protocol | -| --- | --- | --- | -| 2305 | 2305 | TCP | - -### GitLab[](#gitlab "Permalink") - -要完成本节,您将需要: - -* [Configured Praefect node](#praefect) -* [Configured Gitaly nodes](#gitaly) - -Praefect 集群需要作为存储位置公开给 GitLab 应用程序. 这是通过更新`git_data_dirs`完成的. - -应特别注意: - -* 本节中添加到`git_data_dirs`的存储名称必须与 Praefect 节点上`praefect['virtual_storages']`下的存储名称匹配. 这是在本指南的[Praefect](#praefect)部分中设置的. 本文档使用`storage-1`作为 Praefect 存储名称. - -1. SSH 进入**GitLab**节点并以 root 身份登录: - - ``` - sudo -i - ``` - -2. 配置`external_url`以便可以通过编辑`/etc/gitlab/gitlab.rb`通过适当的端点访问`/etc/gitlab/gitlab.rb` GitLab 提供文件: - - 您需要将`GITLAB_SERVER_URL`替换为当前 GitLab 实例所服务的实际外部 URL: - - ``` - external_url 'GITLAB_SERVER_URL' - ``` - -3. 禁用在 GitLab 主机上运行的默认 Gitaly 服务. 不需要它,因为 GitLab 将连接到配置的集群. - - **注意**如果现有数据存储在默认的 Gitaly 存储中,则应首先[迁移 Praefect 存储中的数据](#migrating-existing-repositories-to-praefect) . - - ``` - gitaly['enable'] = false - ``` - -4. 通过编辑`/etc/gitlab/gitlab.rb`将 Praefect 集群添加为存储位置. - - 您将需要更换: - - * 带有负载均衡器的 IP 地址或主机名的`LOAD_BALANCER_SERVER_ADDRESS` . - * `PRAEFECT_EXTERNAL_TOKEN`带有真正的秘密 - - ``` - git_data_dirs({ - "default" => { - "gitaly_address" => "tcp://LOAD_BALANCER_SERVER_ADDRESS:2305", - "gitaly_token" => 'PRAEFECT_EXTERNAL_TOKEN' - } - }) - ``` - -5. 配置`gitlab_shell['secret_token']`以便通过编辑`/etc/gitlab/gitlab.rb`正确验证`git push`期间来自 Gitaly 节点的回调: - - 您将需要用真实的机密替换`GITLAB_SHELL_SECRET_TOKEN` . - - ``` - gitlab_shell['secret_token'] = 'GITLAB_SHELL_SECRET_TOKEN' - ``` - -6. 通过编辑`/etc/gitlab/gitlab.rb`添加 Prometheus 监视设置. - - 您将需要更换: - - * `PRAEFECT_HOST`带有 Praefect 节点的 IP 地址或主机名 - * `GITALY_HOST` ,每个 Gitaly 节点的 IP 地址或主机名 - - ``` - prometheus['scrape_configs'] = [ - { - 'job_name' => 'praefect', - 'static_configs' => [ - 'targets' => [ - 'PRAEFECT_HOST:9652', # praefect-1 - 'PRAEFECT_HOST:9652', # praefect-2 - 'PRAEFECT_HOST:9652', # praefect-3 - ] - ] - }, - { - 'job_name' => 'praefect-gitaly', - 'static_configs' => [ - 'targets' => [ - 'GITALY_HOST:9236', # gitaly-1 - 'GITALY_HOST:9236', # gitaly-2 - 'GITALY_HOST:9236', # gitaly-3 - ] - ] - } - ] - ``` - -7. 将更改保存到`/etc/gitlab/gitlab.rb`并[重新配置 GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure) : - - ``` - gitlab-ctl reconfigure - ``` - -8. 验证每个`gitlab-shell`实例上的每个`gitlab-shell`都可以到达 GitLab. 在每个 Gitaly 实例上运行: - - ``` - /opt/gitlab/embedded/service/gitlab-shell/bin/check -config /opt/gitlab/embedded/service/gitlab-shell/config.yml - ``` - -9. 验证 GitLab 是否可以达到 Praefect: - - ``` - gitlab-rake gitlab:gitaly:check - ``` - -10. 在**管理区域>设置>存储库>存储库**中检查 Praefect 存储已配置为存储新存储库. 按照本指南, `default`存储应具有权重 100 以存储所有新存储库. - -11. 通过创建一个新项目来验证一切正常. 选中"使用自述文件初始化存储库"框,以使存储库中包含已查看的内容. 如果项目已创建,并且您可以看到 README 文件,那么它将起作用! - -### Grafana[](#grafana "Permalink") - -Grafana 包含在 GitLab 中,可用于监视您的 Praefect 集群. 有关详细文档,请参见[Grafana 仪表板服务](https://docs.gitlab.com/omnibus/settings/grafana.html) . - -快速入门: - -1. SSH into the **GitLab** node and login as root: - - ``` - sudo -i - ``` - -2. 通过编辑`/etc/gitlab/gitlab.rb`启用 Grafana 登录表单. - - ``` - grafana['disable_login_form'] = false - ``` - -3. 将更改保存到`/etc/gitlab/gitlab.rb`并[重新配置 GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure) : - - ``` - gitlab-ctl reconfigure - ``` - -4. 设置 Grafana 管理员密码. 此命令将提示您输入新密码: - - ``` - gitlab-ctl set-grafana-password - ``` - -5. 在您的 Web 浏览器中,在您的 GitLab 服务器上打开`/-/grafana` (例如`https://gitlab.example.com/-/grafana` ). - - 使用您设置的密码和用户名`admin`登录. - -6. 转到**浏览**并查询`gitlab_build_info`以验证您是否正在从所有计算机中获取指标. - -恭喜你! 您已经配置了可观察的高可用性 Praefect 集群. - -## Distributed reads[](#distributed-reads "Permalink") - -在[beta 版本的](https://about.gitlab.com/handbook/product/#alpha-beta-ga) GitLab 13.1 中引入,功能标志`gitaly_distributed_reads`设置为禁用. - -Praefect supports distribution of read operations across Gitaly nodes that are configured for the virtual node. - -为了进行[性能测试](https://gitlab.com/gitlab-org/quality/performance/-/issues/231) ,分布式读取当前处于[beta 状态](https://about.gitlab.com/handbook/product/#alpha-beta-ga) ,默认情况下处于禁用状态. 要启用分布式读取,必须在 Ruby 控制台中启用`gitaly_distributed_reads` [功能标志](../feature_flags.html) : - -``` -Feature.enable(:gitaly_distributed_reads) -``` - -如果启用,则所有带有`ACCESSOR`选项(如[GetBlob)的](https://gitlab.com/gitlab-org/gitaly/-/blob/v12.10.6/proto/blob.proto#L16) RPC 都将重定向到最新且运行状况良好的 Gitaly 节点. - -在这种情况下*,最新*意味着: - -* 没有为此节点安排任何复制操作. -* 最后的复制操作处于*完成*状态. - -如果没有这样的节点,或者在选择节点期间发生任何其他错误,那么将选择主节点来处理请求. - -要跟踪读取操作的分布,可以使用`gitaly_praefect_read_distribution` Prometheus 计数器度量. 它有两个标签: - -* `virtual_storage`. -* `storage`. - -它们反映了为此 Praefect 实例定义的配置. - -## Automatic failover and leader election[](#automatic-failover-and-leader-election "Permalink") - -Praefect 会定期检查每个后端 Gitaly 节点的运行状况. 如果发现当前主节点运行状况不佳,此信息可用于自动故障转移到新的主节点. - -* **PostgreSQL(推荐):**默认启用,等效于: `praefect['failover_election_strategy'] = sql` . 此配置选项将允许多个 Praefect 节点通过 PostgreSQL 数据库进行协调,以选择一个主要的 Gitaly 节点. 如果大多数 Praefect 节点在 10 秒内仍无法访问当前主节点,此配置将导致 Praefect 节点选择一个新的主节点,监视其运行状况,并选择一个新的主节点. -* **手动:**禁用自动故障转移. 可以在 Praefect 节点上的`/etc/gitlab/gitlab.rb`重新配置主节点. 通过将`primary = true`移至另一个 Gitaly 节点,将其修改为`praefect['virtual_storages']`字段. 在上述步骤中,将`gitaly-1`设置为主数据库. 在配置中需要`praefect['failover_enabled'] = false` . -* **内存:**通过在 Praefect 节点上的`/etc/gitlab/gitlab.rb`设置`praefect['failover_election_strategy'] = 'local'` `/etc/gitlab/gitlab.rb` . 如果对于当前的主后端 Gitaly 节点,足够数量的运行状况检查失败,则将选择新的主节点. **不要与多个 Praefect 节点一起使用!** 与多个 Praefect 节点一起使用可能会导致大脑分裂. - -将来我们可能会实施对 Consul 的支持以及云原生策略. - -## Primary Node Failure[](#primary-node-failure "Permalink") - -Praefect 通过将健康的辅助节点升级为新的主节点来从发生故障的主 Gitaly 节点中恢复. 为了最大程度地减少数据丢失,Praefect 会选择从主节点进行最少重复写入的辅助节点. 仍然会有一些未复制的写入,从而导致数据丢失. - -故障转移事件发生后,Praefect 会将虚拟存储切换为只读模式. 通过防止对新选举的主数据库进行新的可能冲突的写入,这可以简化数据恢复工作. 这使管理员可以尝试在允许新写入之前恢复丢失的数据. - -如果您更喜欢写可用性而不是一致性,则可以通过在`/etc/gitlab/gitlab.rb`设置`praefect['failover_read_only_after_failover'] = false`并[重新配置 Praefect](../restart_gitlab.html#omnibus-gitlab-reconfigure)来关闭此行为. - -### Checking for data loss[](#checking-for-data-loss "Permalink") - -Praefect `dataloss`子命令可通过检查未完成的复制作业来帮助识别丢失的写操作. 这对于确定故障转移后可能的数据丢失情况很有用. 此命令必须在 Praefect 节点上执行. - -``` -sudo /opt/gitlab/embedded/bin/praefect -config /var/opt/gitlab/praefect/config.toml dataloss [-virtual-storage ] -``` - -如果未指定虚拟存储,则将检查每个已配置的虚拟存储的数据丢失. - -``` -sudo /opt/gitlab/embedded/bin/praefect -config /var/opt/gitlab/praefect/config.toml dataloss -``` - -``` -Virtual storage: default - Current read-only primary: gitaly-2 - Previous write-enabled primary: gitaly-1 - Nodes with data loss from failing over from gitaly-1: - @hashed/2c/62/2c624232cdd221771294dfbb310aca000a0df6ac8b66b696d90ef06fdefb64a3.git: gitaly-0 - @hashed/4b/22/4b227777d4dd1fc61c6f884f48641d02b4d121d3fd328cb08b5531fcacdabf8a.git: gitaly-0, gitaly-2 -``` - -当前,如果已直接从先前启用写操作的主数据库复制到该`dataloss`仅考虑该存储库为最新. 虽然从最新的辅助数据库进行协调可以恢复数据,但在数据丢失报告中不可见. 这是通过[Gitaly#2866](https://gitlab.com/gitlab-org/gitaly/-/issues/2866)进行的改进. - -**注意数据** `dataloss`仍处于 beta 状态,并且输出格式可能会更改. - -### Checking repository checksums[](#checking-repository-checksums "Permalink") - -要在所有 Gitaly 节点上检查项目的存储库校验和,请在主 GitLab 节点上运行[副本 Rake 任务](../raketasks/praefect.html#replica-checksums) . - -### Recovering lost writes[](#recovering-lost-writes "Permalink") - -Praefect `reconcile`子命令可用于恢复先前的主数据库恢复联机后丢失的写入. 仅当虚拟存储仍处于只读模式时才有可能. - -``` -sudo /opt/gitlab/embedded/bin/praefect -config /var/opt/gitlab/praefect/config.toml reconcile -virtual -reference -target -f -``` - -有关`reconcile`子命令的更多详细信息,请参阅" [后端节点恢复"](#backend-node-recovery)部分. - -### Enabling Writes[](#enabling-writes "Permalink") - -在启用写入之前,应该进行任何数据恢复尝试,以消除冲突写入的任何可能性. 可以使用 Praefect `enable-writes`子命令为写入重新启用虚拟存储. - -``` -sudo /opt/gitlab/embedded/bin/praefect -config /var/opt/gitlab/praefect/config.toml enable-writes -virtual-storage -``` - -## Backend Node Recovery[](#backend-node-recovery "Permalink") - -当 Praefect 后端节点发生故障并且不再能够复制更改时,后端节点将开始从主节点开始漂移. 如果该节点最终恢复,则需要将其与当前主节点协调. 主节点被视为分片状态的唯一真实来源. Praefect `reconcile`子命令允许在后端节点和当前主节点之间进行手动协调. - -Run the following command on the Praefect server after all placeholders (`` and ``) have been replaced: - -``` -sudo /opt/gitlab/embedded/bin/praefect -config /var/opt/gitlab/praefect/config.toml reconcile -virtual -target -``` - -* 将占位符``替换为包含要检查的后端节点存储的虚拟存储. -* 将占位符``替换为后端存储名称. - -该命令将返回与当前主数据库不一致的存储库列表. 这些不一致性中的每一个还将与随附的复制作业 ID 一起记录. - -## Migrating existing repositories to Praefect[](#migrating-existing-repositories-to-praefect "Permalink") - -如果您的 GitLab 实例已经有存储库,则不会自动迁移它们. - -可以使用[Repository API](../../api/projects.html#edit-project)从一个存储位置移动存储[库](../../api/projects.html#edit-project) : - -``` -curl --request PUT --header "PRIVATE-TOKEN: " --data "repository_storage=praefect" https://example.gitlab.com/api/v4/projects/123 -``` - -## Debugging Praefect[](#debugging-praefect "Permalink") - -如果收到错误,请检查`/var/log/gitlab/gitlab-rails/production.log` . - -以下是常见的错误和潜在原因: - -* 500 响应码 - * **ActionView :: Template :: Error(7:权限被拒绝)** - * `praefect['auth_token']`和`gitlab_rails['gitaly_token']`在 GitLab 服务器上不匹配. - * **无法保存项目.** **错误:7:权限被拒绝** - * GitLab 服务器上的`praefect['storage_nodes']`秘密令牌与一台或多台 Gitaly 服务器上的`gitaly['auth_token']`中的值不匹配. -* 503 响应码 - * **GRPC ::不可用(14:无法连接到所有地址)** - * GitLab 无法到达 Praefect. - * **GRPC ::不可用(14:所有 SubCon 都在 TransientFailure 中...)** - * Praefect 无法到达其一个或多个子 Gitaly 节点. 尝试运行 Praefect 连接检查器进行诊断. \ No newline at end of file diff --git a/docs/470.md b/docs/470.md deleted file mode 100644 index 5810df2..0000000 --- a/docs/470.md +++ /dev/null @@ -1,234 +0,0 @@ -# Gitaly reference - -> 原文:[https://docs.gitlab.com/ee/administration/gitaly/reference.html](https://docs.gitlab.com/ee/administration/gitaly/reference.html) - -* [Format](#format) - * [Authentication](#authentication) - * [TLS](#tls) - * [Storage](#storage) - * [Git](#git) - * [`cat-file` cache](#cat-file-cache) - * [`gitaly-ruby`](#gitaly-ruby) - * [GitLab Shell](#gitlab-shell) - * [Prometheus](#prometheus) - * [Logging](#logging) -* [Concurrency](#concurrency) - -# Gitaly reference[](#gitaly-reference "Permalink") - -通过[TOML](https://github.com/toml-lang/toml)配置文件配置 Gitaly. 与源安装不同,在 Omnibus GitLab 中,您不会直接编辑此文件. - -配置文件作为参数传递给`gitaly`可执行文件. 通常由 Omnibus GitLab 或您的[init](https://en.wikipedia.org/wiki/Init)脚本完成. - -可以在 Gitaly 项目中找到[示例配置文件](https://gitlab.com/gitlab-org/gitaly/blob/master/config.toml.example) . - -## Format[](#format "Permalink") - -在顶层, `config.toml`定义下表中描述的项目. - -| Name | Type | Required | Description | -| --- | --- | --- | --- | -| `socket_path` | string | 是(如果未设置`listen_addr` ) | Gitaly 应该打开 Unix 套接字的路径. | -| `listen_addr` | string | 是(如果未设置`socket_path` ) | Gitaly 侦听的 TCP 地址. | -| `tls_listen_addr` | string | no | TCP over TLS 地址供 Gitaly 侦听. | -| `bin_dir` | string | yes | 包含 Gitaly 可执行文件的目录. | -| `prometheus_listen_addr` | string | no | Prometheus 指标的 TCP 侦听地址. 如果未设置,则不会启动 Prometheus 侦听器. | - -例如: - -``` -socket_path = "/home/git/gitlab/tmp/sockets/private/gitaly.socket" -listen_addr = "localhost:9999" -tls_listen_addr = "localhost:8888" -bin_dir = "/home/git/gitaly" -prometheus_listen_addr = "localhost:9236" -``` - -### Authentication[](#authentication "Permalink") - -可以将 Gitaly 配置为拒绝标头中不包含特定承载令牌的请求. 这是通过 TCP 服务请求时要使用的一种安全措施: - -``` -[auth] -# A non-empty token enables authentication. -token = "the secret token" -``` - -当`config.toml`的令牌设置不存在或为空字符串时,将禁用身份验证. - -可以使用`transitioning`设置暂时禁用身份验证. 这使您可以监视所有客户端是否都在正确认证,而不会导致尚未正确配置的客户端的服务中断: - -``` -[auth] -token = "the secret token" -transitioning = true -``` - -**警告:**完成更改令牌设置后,切记禁用`transitioning` . - -所有身份验证尝试均以`gitaly_authentications_total`指标在 Prometheus 中进行计数. - -### TLS[](#tls "Permalink") - -Gitaly 支持 TLS 加密. 您将需要携带自己的证书,因为该证书不会自动提供. - -| Name | Type | Required | Description | -| --- | --- | --- | --- | -| `certificate_path` | string | no | 证书的路径. | -| `key_path` | string | no | 密钥的路径. | - -``` -tls_listen_addr = "localhost:8888" - -[tls] -certificate_path = '/home/git/cert.cert' -key_path = '/home/git/key.pem' -``` - -在 Gitaly 中[了解](index.html#enable-tls-support)有关 TLS 的[更多](index.html#enable-tls-support)信息. - -### Storage[](#storage "Permalink") - -GitLab 存储库被分组到称为"存储"的目录中(例如`/home/git/repositories` ),其中包含由 GitLab 管理的裸存储库,其名称(例如`default` ). - -这些名称和路径也在 GitLab 的`gitlab.yml`配置文件中定义. 当你在同一台机器 GitLab,这是默认和推荐的配置上运行 Gitaly,在 Gitaly 的定义存储路径`config.toml`必须与在`gitlab.yml` . - -| Name | Type | Required | Description | -| --- | --- | --- | --- | -| `storage` | array | yes | 一组存储分片. | -| `path` | string | yes | 存储分片的路径. | -| `name` | string | yes | 存储分片的名称. | - -例如: - -``` -[[storage]] -path = "/path/to/storage/repositories" -name = "my_shard" - -[[storage]] -path = "/path/to/other/repositories" -name = "other_storage" -``` - -### Git[](#git "Permalink") - -可以在配置文件的`[git]`部分中设置以下值. - -| Name | Type | Required | Description | -| --- | --- | --- | --- | -| `bin_path` | string | no | Git 二进制文件的路径. 如果未设置,将使用`PATH`进行解析. | -| `catfile_cache_size` | integer | no | 缓存的[cat 文件进程的](#cat-file-cache)最大数量. 默认值为`100` . | - -#### `cat-file` cache[](#cat-file-cache "Permalink") - -许多 Gitaly RPC 需要从存储库中查找 Git 对象. 大多数时候,我们使用`git cat-file --batch`进程. 为了获得更好的性能,Gitaly 可以在 RPC 调用之间重用这些`git cat-file`过程. 先前使用的进程保留在[" Git cat-file 缓存"中](https://about.gitlab.com/blog/2019/07/08/git-performance-on-nfs/#enter-cat-file-cache) . 为了控制其使用多少系统资源,我们拥有可进入高速缓存的 cat 文件进程的最大数量. - -默认限制是 100 个`cat-file` ,它们构成了一对`git cat-file --batch`和`git cat-file --batch-check`进程. 如果您看到抱怨"打开的文件太多"或无法创建新进程的错误,则可以降低此限制. - -理想情况下,该数量应该足够大以处理正常流量. 如果提高该限制,则应在前后测量缓存命中率. 如果命中率没有提高,则上限可能不会产生有意义的变化. 这是一个 Prometheus 查询示例,用于查看命中率: - -``` -sum(rate(gitaly_catfile_cache_total{type="hit"}[5m])) / sum(rate(gitaly_catfile_cache_total{type=~"(hit)|(miss)"}[5m])) -``` - -### `gitaly-ruby`[](#gitaly-ruby "Permalink") - -一个 Gitaly 进程使用一个或多个`gitaly-ruby`帮助程序进程来执行在 Ruby 中而非 Go 中实现的 RPC. 配置文件的`[gitaly-ruby]`部分包含这些帮助程序的设置. - -已知这些进程有时会遭受内存泄漏. 当其内存超过`max_rss`限制时,Gitaly 将重新启动其`gitaly-ruby`帮助`max_rss` . - -| Name | Type | Required | Description | -| --- | --- | --- | --- | -| `dir` | string | yes | 安装`gitaly-ruby`路径(需要引导该进程). | -| `max_rss` | integer | no | 触发`gitaly-ruby`重新启动的驻留集大小限制(以字节为单位). 默认值为`200000000` (200MB). | -| `graceful_restart_timeout` | string | no | 超出`max_rss`后,强制执行`gitaly-ruby`进程之前的`max_rss` . 默认值为`10m` (10 分钟). | -| `restart_delay` | string | no | 重新启动之前, `gitaly-ruby`内存必须保持高电平的时间. 默认值为`5m` (5 分钟). | -| `num_workers` | integer | no | Number of `gitaly-ruby` worker processes. Try increasing this number in case of `ResourceExhausted` errors. Default is `2`, minimum is `2`. | -| `linguist_languages_path` | string | no | 动态`languages.json` .json 发现的替代. 默认为空字符串(使用动态发现). | - -Example: - -``` -[gitaly-ruby] -dir = "/home/git/gitaly/ruby" -max_rss = 200000000 -graceful_restart_timeout = "10m" -restart_delay = "5m" -num_workers = 2 -``` - -### GitLab Shell[](#gitlab-shell "Permalink") - -出于历史原因, [GitLab Shell](https://gitlab.com/gitlab-org/gitlab-shell)包含 Git 挂钩,这些挂钩允许 GitLab 验证并响应 Git 推送. 由于 Gitaly 拥有 Git 推送,因此必须在 Gitaly 旁边安装 GitLab Shell. 将来会[简化](https://gitlab.com/gitlab-org/gitaly/-/issues/1226) . - -| Name | Type | Required | Description | -| --- | --- | --- | --- | -| `dir` | string | yes | 安装 GitLab Shell 的目录. | - -Example: - -``` -[gitlab-shell] -dir = "/home/git/gitlab-shell" -``` - -### Prometheus[](#prometheus "Permalink") - -您可以选择配置 Gitaly 以记录 Prometheus 中 GRPC 方法调用的直方图延迟. - -| Name | Type | Required | Description | -| --- | --- | --- | --- | -| `grpc_latency_buckets` | array | no | Prometheus 将每个观察值存储在一个存储桶中,这意味着您将获得延迟的近似值. 优化铲斗可更好地控制逼近精度. | - -Example: - -``` -prometheus_listen_addr = "localhost:9236" - -[prometheus] -grpc_latency_buckets = [0.001, 0.005, 0.025, 0.1, 0.5, 1.0, 10.0, 30.0, 60.0, 300.0, 1500.0] -``` - -### Logging[](#logging "Permalink") - -以下值在`[logging]`部分下的 Gitaly 中配置日志`[logging]` . - -| Name | Type | Required | Description | -| --- | --- | --- | --- | -| `format` | string | no | 日志格式: `text`或`json` . 默认值: `text` . | -| `level` | string | no | 日志级别: `debug` , `info` , `warn` , `error` , `fatal`或`panic` . 默认值: `info` . | -| `sentry_dsn` | string | no | Sentry DSN 用于异常监视. | -| `sentry_environment` | string | no | [Sentry Environment](https://docs.sentry.io/enriching-error-data/environments/)用于异常监视. | -| `ruby_sentry_dsn` | string | no | Sentry DSN 用于`gitaly-ruby`异常监视. | - -While the main Gitaly application logs go to `stdout`, there are some extra log files that go to a configured directory, like the GitLab Shell logs. GitLab Shell does not support `panic` or `trace` level logs. `panic` will fall back to `error`, while `trace` will fall back to `debug`. Any other invalid log levels will default to `info`. - -Example: - -``` -[logging] -level = "warn" -dir = "/home/gitaly/logs" -format = "json" -sentry_dsn = "https://:@sentry.io/" -ruby_sentry_dsn = "https://:@sentry.io/" -``` - -## Concurrency[](#concurrency "Permalink") - -您可以调整每个 RPC 端点的`concurrency`性. - -| Name | Type | Required | Description | -| --- | --- | --- | --- | -| `concurrency` | array | yes | RPC 端点数组. | -| `rpc` | string | no | RPC 端点的名称( `/gitaly.RepositoryService/GarbageCollect` ). | -| `max_per_repo` | integer | no | 每个存储库的每个 RPC 的并发性. | - -Example: - -``` -[[concurrency]] -rpc = "/gitaly.RepositoryService/GarbageCollect" -max_per_repo = 1 -``` \ No newline at end of file diff --git a/docs/471.md b/docs/471.md deleted file mode 100644 index 67949d2..0000000 --- a/docs/471.md +++ /dev/null @@ -1,15 +0,0 @@ -# Monitoring GitLab - -> 原文:[https://docs.gitlab.com/ee/administration/monitoring/](https://docs.gitlab.com/ee/administration/monitoring/) - -# Monitoring GitLab[](#monitoring-gitlab "Permalink") - -探索我们的功能来监视您的 GitLab 实例: - -* [GitLab 自我监视](gitlab_self_monitoring_project/index.html) :GitLab 实例管理项目有助于监视 GitLab 实例并对警报采取措施. -* [性能监视](performance/index.html) :GitLab 性能监视可以测量您实例的各种统计信息. -* [Prometheus](prometheus/index.html) :Prometheus 是一项功能强大的时间序列监视服务,为监视 GitLab 和其他软件产品提供了灵活的平台. -* [GitHub 导入](github_imports.html) :使用各种 Prometheus 指标监控 GitLab [GitHub 导入](github_imports.html)器的运行状况和进度. -* [监视正常运行时间](../../user/admin_area/monitoring/health_check.html) :使用运行状况检查端点检查服务器状态. - * [IP 白名单](ip_whitelist.html) :配置 GitLab 以监视在探测时提供健康检查信息的端点. -* [`nginx_status`](https://docs.gitlab.com/omnibus/settings/nginx.html) :监视您的 NGINX 服务器状态 \ No newline at end of file diff --git a/docs/472.md b/docs/472.md deleted file mode 100644 index 60802f2..0000000 --- a/docs/472.md +++ /dev/null @@ -1,302 +0,0 @@ -# Monitoring GitLab with Prometheus - -> 原文:[https://docs.gitlab.com/ee/administration/monitoring/prometheus/](https://docs.gitlab.com/ee/administration/monitoring/prometheus/) - -* [Overview](#overview) -* [Configuring Prometheus](#configuring-prometheus) - * [Changing the port and address Prometheus listens on](#changing-the-port-and-address-prometheus-listens-on) - * [Adding custom scrape configurations](#adding-custom-scrape-configurations) - * [Using an external Prometheus server](#using-an-external-prometheus-server) -* [Viewing performance metrics](#viewing-performance-metrics) -* [Prometheus as a Grafana data source](#prometheus-as-a-grafana-data-source) -* [GitLab metrics](#gitlab-metrics) -* [Bundled software metrics](#bundled-software-metrics) - * [Node exporter](#node-exporter) - * [Redis exporter](#redis-exporter) - * [PostgreSQL exporter](#postgresql-exporter) - * [PgBouncer exporter](#pgbouncer-exporter) - * [Registry exporter](#registry-exporter) - * [GitLab exporter](#gitlab-exporter) -* [Configuring Prometheus to monitor Kubernetes](#configuring-prometheus-to-monitor-kubernetes) - -# Monitoring GitLab with Prometheus[](#monitoring-gitlab-with-prometheus "Permalink") - -> **Notes:** -> -> * 本页中列出的 Prometheus 和各种出口商都捆绑在 Omnibus GitLab 软件包中. 查看每个出口商的文档以了解添加的时间表. 对于源安装,您必须自己安装. 在后续版本中,将捕获其他的 GitLab 指标. -> * GitLab 9.0 默认情况下会启用 Prometheus 服务. -> * Prometheus 及其出口商不对用户进行身份验证,任何可以访问它们的人都可以使用. - -[Prometheus](https://s0prometheus0io.icopy.site)是一项功能强大的时间序列监视服务,为监视 GitLab 和其他软件产品提供了灵活的平台. GitLab 提供了 Prometheus 的开箱即用监视功能,可轻松访问 GitLab 服务的高质量时间序列监视. - -## Overview[](#overview "Permalink") - -Prometheus 的工作方式是定期连接到数据源,并通过[各种出口商](#bundled-software-metrics)收集其绩效指标. 要查看和使用监视数据,您可以[直接连接到 Prometheus](#viewing-performance-metrics)或使用仪表板工具(例如[Grafana)](https://grafana.com) . - -## Configuring Prometheus[](#configuring-prometheus "Permalink") - -**注意:**对于源安装,您必须自己安装和配置. - -从 GitLab 9.0 开始,Prometheus 及其出口商默认情况下处于打开状态. Prometheus 将以`gitlab-prometheus`用户身份运行,并监听`http://localhost:9090` . 默认情况下,只能从 GitLab 服务器本身访问 Prometheus. 除非单独禁用,否则每个出口商将自动设置为 Prometheus 的监视目标. - -要禁用 Prometheus 及其所有出口商以及将来添加的任何出口商,请执行以下操作: - -1. Edit `/etc/gitlab/gitlab.rb` -2. 添加或查找并取消注释以下行,确保将其设置为`false` : - - ``` - prometheus_monitoring['enable'] = false - ``` - -3. 保存文件并[重新配置 GitLab,](../../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -### Changing the port and address Prometheus listens on[](#changing-the-port-and-address-prometheus-listens-on "Permalink") - -**注意:** [Omnibus GitLab 8.17 中](https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/1261)添加了以下更改. 尽管可能,但不建议更改 Prometheus 监听的端口,因为这可能会影响 GitLab 服务器上运行的其他服务或与之冲突. 继续需要您自担风险. - -为了从 GitLab 服务器外部访问 Prometheus,您需要在`prometheus['listen_address']`设置 FQDN 或 IP. 更改 Prometheus 监听的地址/端口: - -1. Edit `/etc/gitlab/gitlab.rb` -2. 添加或查找并取消注释以下行: - - ``` - prometheus['listen_address'] = 'localhost:9090' - ``` - - 将`localhost:9090`替换为您希望 Prometheus 监听的地址或端口. 如果要允许除`localhost`以外的其他主机访问 Prometheus,请忽略该主机,或使用`0.0.0.0`允许公共访问: - - ``` - prometheus['listen_address'] = ':9090' - # or - prometheus['listen_address'] = '0.0.0.0:9090' - ``` - -3. 保存文件并[重新配置 GitLab,](../../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效 - -### Adding custom scrape configurations[](#adding-custom-scrape-configurations "Permalink") - -您可以使用[Prometheus 刮擦目标配置](https://s0prometheus0io.icopy.site/docs/prometheus/latest/configuration/configuration/)语法在`/etc/gitlab/gitlab.rb`编辑`prometheus['scrape_configs']` , `/etc/gitlab/gitlab.rb`为 Omnibus GitLab 捆绑的 Prometheus 配置其他刮擦目标. - -这是刮取`http://1.1.1.1:8060/probe?param_a=test¶m_b=additional_test`的示例配置: - -``` -prometheus['scrape_configs'] = [ - { - 'job_name': 'custom-scrape', - 'metrics_path': '/probe', - 'params' => { - 'param_a' => ['test'], - 'param_b' => ['additional_test'] - }, - 'static_configs' => [ - 'targets' => ['1.1.1.1:8060'], - ], - }, -] -``` - -### Using an external Prometheus server[](#using-an-external-prometheus-server "Permalink") - -**注意:** Prometheus 和大多数导出器不支持身份验证. 我们不建议将它们公开在本地网络之外. - -需要进行一些配置更改,才能由外部 Prometheus 服务器监视 GitLab. 对于[具有多个节点的 GitLab 部署,](../../reference_architectures/index.html)建议使用外部服务器. - -要使用外部 Prometheus 服务器: - -1. Edit `/etc/gitlab/gitlab.rb`. -2. 禁用捆绑的 Prometheus: - - ``` - prometheus['enable'] = false - ``` - -3. 将每个捆绑服务的[导出器设置](#bundled-software-metrics)为侦听网络地址,例如: - - ``` - gitlab_exporter['listen_address'] = '0.0.0.0' - sidekiq['listen_address'] = '0.0.0.0' - gitlab_exporter['listen_port'] = '9168' - node_exporter['listen_address'] = '0.0.0.0:9100' - redis_exporter['listen_address'] = '0.0.0.0:9121' - postgres_exporter['listen_address'] = '0.0.0.0:9187' - gitaly['prometheus_listen_addr'] = "0.0.0.0:9236" - gitlab_workhorse['prometheus_listen_addr'] = "0.0.0.0:9229" - ``` - -4. 如有必要,请使用[官方安装说明](https://s0prometheus0io.icopy.site/docs/prometheus/latest/installation/)安装并设置专用的 Prometheus 实例. -5. 将 Prometheus 服务器 IP 地址添加到[监视 IP 白名单](../ip_whitelist.html) . 例如: - - ``` - gitlab_rails['monitoring_whitelist'] = ['127.0.0.0/8', '192.168.0.1'] - ``` - -6. 在**所有** GitLab Rails(Puma / Unicorn,Sidekiq)服务器上,设置 Prometheus 服务器 IP 地址和监听端口. 例如: - - ``` - gitlab_rails['prometheus_address'] = '192.168.0.1:9090' - ``` - -7. 要抓取 NGINX 指标,您还需要配置 NGINX 以允许 Prometheus 服务器 IP. 例如: - - ``` - nginx['status']['options'] = { - "server_tokens" => "off", - "access_log" => "off", - "allow" => "192.168.0.1", - "deny" => "all", - } - ``` - -8. [重新配置 GitLab](../../restart_gitlab.html#omnibus-gitlab-reconfigure)以应用更改. -9. 编辑 Prometheus 服务器的配置文件. -10. 将每个节点的导出器添加到 Prometheus 服务器的[抓取目标配置中](https://s0prometheus0io.icopy.site/docs/prometheus/latest/configuration/configuration/) . 例如,使用`static_configs`的样本片段: - - ``` - scrape_configs: - - job_name: nginx - static_configs: - - targets: - - 1.1.1.1:8060 - - job_name: redis - static_configs: - - targets: - - 1.1.1.1:9121 - - job_name: postgres - static_configs: - - targets: - - 1.1.1.1:9187 - - job_name: node - static_configs: - - targets: - - 1.1.1.1:9100 - - job_name: gitlab-workhorse - static_configs: - - targets: - - 1.1.1.1:9229 - - job_name: gitlab-rails - metrics_path: "/-/metrics" - static_configs: - - targets: - - 1.1.1.1:8080 - - job_name: gitlab-sidekiq - static_configs: - - targets: - - 1.1.1.1:8082 - - job_name: gitlab_exporter_database - metrics_path: "/database" - static_configs: - - targets: - - 1.1.1.1:9168 - - job_name: gitlab_exporter_sidekiq - metrics_path: "/sidekiq" - static_configs: - - targets: - - 1.1.1.1:9168 - - job_name: gitlab_exporter_process - metrics_path: "/process" - static_configs: - - targets: - - 1.1.1.1:9168 - - job_name: gitaly - static_configs: - - targets: - - 1.1.1.1:9236 - ``` - -11. 重新加载 Prometheus 服务器. - -## Viewing performance metrics[](#viewing-performance-metrics "Permalink") - -您可以访问`http://localhost:9090` ,以获取 Prometheus 默认提供的仪表板. - -> **注意:**如果在您的 GitLab 实例上启用了 SSL,由于[HSTS,](https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security)如果使用相同的 FQDN,则可能无法在与 GitLab 相同的浏览器上访问 Prometheus. 我们计划[通过 GitLab 提供访问](https://gitlab.com/gitlab-org/multi-user-prometheus) ,但是在此期间,有一些解决方法:使用单独的 FQDN,使用服务器 IP,使用单独的 Prometheus 浏览器,重置 HSTS 或使用[NGINX 代理](https://docs.gitlab.com/omnibus/settings/nginx.html) . - -Prometheus 收集的性能数据可以在 Prometheus 控制台中直接查看,也可以通过兼容的仪表板工具查看. Prometheus 界面提供了一种[灵活的查询语言](https://s0prometheus0io.icopy.site/docs/prometheus/latest/querying/basics/) ,可与收集的数据一起使用,您可以在其中可视化输出. 要获得功能更全面的仪表板,可以使用 Grafana 并已[对 Prometheus 进行了官方支持](https://s0prometheus0io.icopy.site/docs/visualization/grafana/) . - -普罗米修斯样本查询: - -* **可用内存百分比:** `((node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes) or ((node_memory_MemFree_bytes + node_memory_Buffers_bytes + node_memory_Cached_bytes) / node_memory_MemTotal_bytes)) * 100` -* **CPU 使用率百分比:** `1 - avg without (mode,cpu) (rate(node_cpu_seconds_total{mode="idle"}[5m]))` -* **传输的数据:** `rate(node_network_transmit_bytes_total{device!="lo"}[5m])` -* **收到的数据:** `rate(node_network_receive_bytes_total{device!="lo"}[5m])` - -## Prometheus as a Grafana data source[](#prometheus-as-a-grafana-data-source "Permalink") - -Grafana 允许您导入 Prometheus 性能指标作为数据源,并将指标呈现为图形和仪表板,这有助于可视化. - -To add a Prometheus dashboard for a single server GitLab setup: - -1. 在 Grafana 中创建一个新的数据源. -2. 命名您的数据源(如 GitLab). -3. 在类型下拉框中选择`Prometheus` . -4. 将您的 Prometheus 侦听地址添加为 URL,并设置对`Browser`访问权限. -5. 将 HTTP 方法设置为`GET` . -6. 保存并测试您的配置以验证其是否有效. - -## GitLab metrics[](#gitlab-metrics "Permalink") - -在 GitLab 9.3 中引入. - -GitLab 监视其自身的内部服务指标,并使其在`/-/metrics`端点可用. 与其他导出器不同,此终结点需要身份验证,因为它可以在与用户流量相同的 URL 和端口上使用. - -[➔ Read more about the GitLab Metrics.](gitlab_metrics.html) - -## Bundled software metrics[](#bundled-software-metrics "Permalink") - -Omnibus GitLab 中捆绑的许多 GitLab 依赖项都已预先配置为导出 Prometheus 指标. - -### Node exporter[](#node-exporter "Permalink") - -节点导出器允许您测量各种机器资源,例如内存,磁盘和 CPU 利用率. - -[Read more about the node exporter](node_exporter.html). - -### Redis exporter[](#redis-exporter "Permalink") - -Redis 导出器允许您测量各种 Redis 指标. - -[Read more about the Redis exporter](redis_exporter.html). - -### PostgreSQL exporter[](#postgresql-exporter "Permalink") - -PostgreSQL 导出器允许您测量各种 PostgreSQL 指标. - -[Read more about the PostgreSQL exporter](postgres_exporter.html). - -### PgBouncer exporter[](#pgbouncer-exporter "Permalink") - -PgBouncer 导出器允许您测量各种 PgBouncer 指标. - -[Read more about the PgBouncer exporter](pgbouncer_exporter.html). - -### Registry exporter[](#registry-exporter "Permalink") - -注册表导出器允许您测量各种注册表指标. - -[Read more about the Registry exporter](registry_exporter.html). - -### GitLab exporter[](#gitlab-exporter "Permalink") - -GitLab 导出器允许您测量从 Redis 和数据库中提取的各种 GitLab 指标. - -[Read more about the GitLab exporter](gitlab_exporter.html). - -## Configuring Prometheus to monitor Kubernetes[](#configuring-prometheus-to-monitor-kubernetes "Permalink") - -版本历史 - -* 在 GitLab 9.0 中引入. -* 在 GitLab 9.4 中引入了 Pod 监控. - -如果您的 GitLab 服务器在 Kubernetes 中运行,则 Prometheus 将从群集中的节点和带[注释的](https://s0prometheus0io.icopy.site/docs/prometheus/latest/configuration/configuration/) Pod 收集指标,包括每个容器上的性能数据. 如果您的 CI / CD 环境在同一群集中运行,这将特别有用,因为您可以使用[Prometheus 项目集成](../../../user/project/integrations/prometheus.html)来监视它们. - -要禁用对 Kubernetes 的监视: - -1. Edit `/etc/gitlab/gitlab.rb`. -2. 添加(或查找并取消注释)以下行并将其设置为`false` : - - ``` - prometheus['monitor_kubernetes'] = false - ``` - -3. 保存文件并[重新配置 GitLab,](../../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. \ No newline at end of file diff --git a/docs/473.md b/docs/473.md deleted file mode 100644 index 7c8d424..0000000 --- a/docs/473.md +++ /dev/null @@ -1,60 +0,0 @@ -# Performance Bar - -> 原文:[https://docs.gitlab.com/ee/administration/monitoring/performance/performance_bar.html](https://docs.gitlab.com/ee/administration/monitoring/performance/performance_bar.html) - -* [Request warnings](#request-warnings) -* [Enable the Performance Bar via the Admin panel](#enable-the-performance-bar-via-the-admin-panel) -* [Keyboard shortcut for the Performance Bar](#keyboard-shortcut-for-the-performance-bar) - -# Performance Bar[](#performance-bar "Permalink") - -您可以显示 GitLab 性能栏以查看页面性能的统计信息. 激活后,其外观如下: - -[![Performance Bar](img/a87cd8265a25e22c9a715c6372ff047a.png)](img/performance_bar.png) - -从左到右,它显示: - -* **当前主机** :服务于该页面的当前主机. -* **数据库查询** :花费的时间(毫秒)和数据库查询的总数,以`00ms / 00pg`的格式显示. 单击以显示更多信息的模式窗口: [![使用性能栏进行 SQL 分析](img/631b8ad9816cfdd87ba106377c86c7a4.png)](img/performance_bar_sql_queries.png) -* **Gitaly 通话** :所花费的时间(以毫秒为单位)和[Gitaly](../../gitaly/index.html)通话的总数. 单击以显示更多信息的模式窗口: [![使用性能栏进行 Gitaly 分析](img/aeccb5cc55fc430d8645e67086388300.png)](img/performance_bar_gitaly_calls.png) -* **坚固通话** :花费的时间(以毫秒为单位)和[坚固](../../high_availability/nfs.html#improving-nfs-performance-with-gitlab)通话的总数. 单击以显示更多信息的模式窗口: [![使用性能栏进行坚固的性能分析](img/35fbd0a23d3b20913cb4490a3957d8b3.png)](img/performance_bar_rugged_calls.png) -* **Redis 呼叫** :花费的时间(以毫秒为单位)和 Redis 呼叫的总数. 单击以显示更多信息的模式窗口: [![使用性能栏进行 Redis 分析](img/b6696ad0d59c74a9a3974493085915f9.png)](img/performance_bar_redis_calls.png) -* **Elasticsearch 调用** :花费的时间(以毫秒为单位)和 Elasticsearch 调用的总数. 单击以显示更多信息的模式窗口. -* 页面的**加载时间** :如果您的浏览器支持加载时间(Chromium 和 Chrome),则以毫秒为单位的多个值(以斜杠分隔). 单击以显示更多信息的模式窗口. 值从左到右: - * **后端** :加载基本页面所需的时间. - * [**First Contentful Paint**](https://s0web0dev.icopy.site/first-contentful-paint/) :直到用户看到某些东西为止的时间. - * [**DomContentLoaded**](https://developers.google.com/web/fundamentals/performance/critical-rendering-path/measure-crp)事件. - * 页面加载**的请求总数** : [![使用性能栏的前端请求](img/ca66569a1f77e8f2d208a42e0fee1794.png)](img/performance_bar_frontend.png) -* **跟踪** :如果集成了 Jaeger,则**Trace**链接到 Jaeger 跟踪页面,其中包含当前请求的`correlation_id` . -* **+** :用于将请求的详细信息添加到性能栏的链接. 可以通过其完整 URL(已认证为当前用户)或其`X-Request-Id`标头的值来添加`X-Request-Id` . -* **下载** :下载用于生成 Performance Bar 报告的原始 JSON 的链接. -* **请求选择器** :显示在性能栏右侧的选择框,通过该选择框,您可以查看当前页面打开时发出的所有请求的这些指标. 每个唯一 URL 仅捕获前两个请求. - -## Request warnings[](#request-warnings "Permalink") - -超出预定义限制的请求显示警告 指标旁边的图标和说明. 在此示例中,Gitaly 通话时间超过了阈值: - -[![Gitaly call duration exceeded threshold](img/dd6b38427a8d14832104464d1603afed.png)](img/performance_bar_gitaly_threshold.png) - -如果当前页面上的任何请求生成警告,则警告图标将显示在" **请求"选择器**旁边: - -[![Request selector showing two requests with warnings](img/874270632cfad28b99af65b5d0275fee.png)](img/performance_bar_request_selector_warning.png) - -带有警告的**请求**在**请求选择器中**的路径后显示`(!)` : - -[![Request selector showing dropdown](img/02f288cad0ff70d293c035d6dc434f34.png)](img/performance_bar_request_selector_warning_expanded.png) - -## Enable the Performance Bar via the Admin panel[](#enable-the-performance-bar-via-the-admin-panel "Permalink") - -默认情况下,GitLab 性能栏是禁用的. 要为给定的组启用它: - -1. 以具有管理员[权限](../../../user/permissions.html)的用户身份登录. -2. 在菜单栏中,单击 **管理区域**图标. -3. 导航 **设置>指标和分析** ( `admin/application_settings/metrics_and_profiling` ),然后展开" **分析-性能栏** "部分. -4. Click **启用对性能栏的访问**. -5. 在**允许的组**字段中,提供允许访问 GitLab 性能栏的组的完整路径. -6. Click **保存更改**. - -## Keyboard shortcut for the Performance Bar[](#keyboard-shortcut-for-the-performance-bar "Permalink") - -启用 GitLab 性能栏后,按[`p` + `b`键盘快捷键](../../../user/shortcuts.html)将其显示,然后再次将其隐藏. \ No newline at end of file diff --git a/docs/474.md b/docs/474.md deleted file mode 100644 index cf859f1..0000000 --- a/docs/474.md +++ /dev/null @@ -1,53 +0,0 @@ -# Usage statistics - -> 原文:[https://docs.gitlab.com/ee/user/admin_area/settings/usage_statistics.html](https://docs.gitlab.com/ee/user/admin_area/settings/usage_statistics.html) - -* [Network configuration](#network-configuration) -* [Version Check](#version-check-core-only) - * [Request flow example](#request-flow-example) -* [Usage Ping](#usage-ping-core-only) -* [Instance statistics visibility](#instance-statistics-visibility-core-only) - -# Usage statistics[](#usage-statistics-core-only "Permalink") - -GitLab Inc.将定期收集有关您的实例的信息,以执行各种操作. - -所有统计信息均已退出. 您可以在**管理区域>设置>指标和配置文件** **使用情况统计信息中**启用/禁用它们. - -## Network configuration[](#network-configuration "Permalink") - -允许从您的 GitLab 实例到 IP 地址`104.196.17.203:443`网络流量将使用情况统计信息发送到 GitLab Inc. - -如果您的 GitLab 实例位于代理之后,请设置适当的[代理配置变量](https://docs.gitlab.com/omnibus/settings/environment-variables.html) . - -## Version Check[](#version-check-core-only "Permalink") - -如果启用,版本检查将通过状态通知您是否有新版本以及其重要性. 这显示在所有登录用户的帮助页面(即`/help` )和管理页面上. 状态为: - -* 绿色:您正在运行最新版本的 GitLab. -* 橙色:提供了 GitLab 的更新版本. -* 红色:您正在运行的 GitLab 版本容易受到攻击. 您应该尽快安装具有安全修复程序的最新版本. - -[![Orange version check example](img/aec2abca2644938484258f63a3df71d2.png)](img/update-available.png) - -GitLab Inc.收集您实例的版本和主机名(通过 HTTP 引用),作为版本检查的一部分. 没有收集其他信息. - -除其他事项外,该信息还用于标识需要将补丁反向移植到哪些版本,以确保活动的 GitLab 实例保持安全. - -如果禁用版本检查,则不会收集此信息. 在**管理区域>设置>度量标准和性能分析>使用情况统计信息中**启用或禁用版本检查. - -### Request flow example[](#request-flow-example "Permalink") - -以下示例显示了自我管理的 GitLab 实例与 GitLab 版本应用程序之间的基本请求/响应流: - -sequenceDiagram 参与者 GitLab 实例参与者版本应用程序 GitLab 实例->>版本应用程序:是否有版本更新? 循环版本检查版本应用程序->>版本应用程序:记录版本信息结束版本应用程序->> GitLab 实例:响应(PNG / SVG) - -## Usage Ping[](#usage-ping-core-only "Permalink") - -See [Usage Ping guide](../../../development/telemetry/usage_ping.html). - -## Instance statistics visibility[](#instance-statistics-visibility-core-only "Permalink") - -启用使用情况 ping 后,GitLab 将从其他实例收集数据,并能够向用户显示您实例的[使用情况统计信息](../../instance_statistics/index.html) . - -要使其仅对管理员可见,请进入**管理区域>设置>指标和分析** ,展开**使用情况统计信息** ,然后将**实例统计信息可见性**选项设置为**仅管理员** . \ No newline at end of file diff --git a/docs/475.md b/docs/475.md deleted file mode 100644 index 1e44b87..0000000 --- a/docs/475.md +++ /dev/null @@ -1,524 +0,0 @@ -# Object Storage - -> 原文:[https://docs.gitlab.com/ee/administration/object_storage.html](https://docs.gitlab.com/ee/administration/object_storage.html) - -* [Options](#options) -* [Configuration guides](#configuration-guides) - * [Consolidated object storage configuration](#consolidated-object-storage-configuration) - * [Common parameters](#common-parameters) - * [Connection settings](#connection-settings) - * [S3-compatible connection settings](#s3-compatible-connection-settings) - * [Oracle Cloud S3 connection settings](#oracle-cloud-s3-connection-settings) - * [Google Cloud Storage (GCS)](#google-cloud-storage-gcs) - * [Google example (consolidated form)](#google-example-consolidated-form) - * [OpenStack-compatible connection settings](#openstack-compatible-connection-settings) - * [Rackspace Cloud Files](#rackspace-cloud-files) - * [Object-specific configuration](#object-specific-configuration) - * [Selectively disabling object storage](#selectively-disabling-object-storage) - * [Transition to consolidated form](#transition-to-consolidated-form) -* [Storage-specific configuration](#storage-specific-configuration) - * [Other alternatives to filesystem storage](#other-alternatives-to-filesystem-storage) -* [Warnings, limitations, and known issues](#warnings-limitations-and-known-issues) - * [Use separate buckets](#use-separate-buckets) - * [S3 API compatibility issues](#s3-api-compatibility-issues) - * [GitLab Pages requires NFS](#gitlab-pages-requires-nfs) - * [Incremental logging is required for CI to use object storage](#incremental-logging-is-required-for-ci-to-use-object-storage) - * [Proxy Download](#proxy-download) - * [ETag mismatch](#etag-mismatch) - * [Using Amazon instance profiles](#using-amazon-instance-profiles) - * [Encrypted S3 buckets](#encrypted-s3-buckets) - * [Disabling the feature](#disabling-the-feature) - * [IAM Permissions](#iam-permissions) - -# Object Storage[](#object-storage "Permalink") - -GitLab 支持使用对象存储服务来保存多种类型的数据. 建议在 NFS 上使用它,并且通常在较大的设置中更好,因为对象存储通常具有更高的性能,可靠性和可伸缩性. - -## Options[](#options "Permalink") - -GitLab 已在许多对象存储提供程序上进行了测试: - -* [Amazon S3](https://aws.amazon.com/s3/) -* [Google Cloud Storage](https://cloud.google.com/storage) -* [Digital Ocean Spaces](https://www.digitalocean.com/products/spaces) -* [Oracle Cloud Infrastructure](https://docs.cloud.oracle.com/en-us/iaas/Content/Object/Tasks/s3compatibleapi.htm) -* [Openstack Swift](https://s0docs0openstack0org.icopy.site/swift/latest/s3_compat.html) -* 来自各种存储供应商的本地硬件和设备. -* MinIO. 我们在 Helm Chart 文档中提供[了有关部署此配置的指南](https://docs.gitlab.com/charts/advanced/external-object-storage/minio.html) . - -## Configuration guides[](#configuration-guides "Permalink") - -在 GitLab 中有两种指定对象存储配置的方式: - -* [合并形式](#consolidated-object-storage-configuration) :所有支持的对象类型都共享一个凭证. -* [Storage-specific form](#storage-specific-configuration): Every object defines its own object storage [connection and configuration](#connection-settings). - -有关差异以及从一种形式过渡到另一种形式的更多信息,请参见[过渡到合并形式](#transition-to-consolidated-form) . - -### Consolidated object storage configuration[](#consolidated-object-storage-configuration "Permalink") - -在[GitLab 13.2 中](https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/4368)引入. - -使用合并对象存储配置具有许多优点: - -* 由于连接详细信息在对象类型之间共享,因此可以简化您的 GitLab 配置. -* 它允许使用[加密的 S3 存储桶](#encrypted-s3-buckets) . -* It [uploads files to S3 with proper `Content-MD5` headers](https://gitlab.com/gitlab-org/gitlab-workhorse/-/issues/222). - -**注意:**由于必须使用[直接上载模式](../development/uploads.html#direct-upload) ,目前仅支持与 AWS S3 兼容的提供商和 Google. 此模式不支持后台上传. 我们建议直接上传模式,因为它不需要共享文件夹,并且[此设置可能成为默认设置](https://gitlab.com/gitlab-org/gitlab/-/issues/27331) .**注意:**合并对象存储配置不能用于备份或 Mattermost. 有关[完整列表,](#storage-specific-configuration)请参见[完整表](#storage-specific-configuration) . - -通过为具有多个存储桶的对象存储指定单个凭证,可以将大多数类型的对象(例如 CI 工件,LFS 文件,上传附件等)保存在对象存储中. [每种类型必须使用不同的存储桶](#use-separate-buckets) . - -当合并形式为: - -* 通过与 S3 兼容的对象存储一起使用,Workhorse 使用其内部的 S3 客户端上载文件. -* 不与 S3 兼容的对象存储一起使用,Workhorse 退回到使用预签名的 URL. - -有关更多详细信息,请参见" [ETag 不匹配错误](#etag-mismatch) "部分. - -**在所有安装中;** - -1. 编辑`/etc/gitlab/gitlab.rb`并添加以下行,以替换所需的值: - - ``` - # Consolidated object storage configuration - gitlab_rails['object_store']['enabled'] = true - gitlab_rails['object_store']['proxy_download'] = true - gitlab_rails['object_store']['connection'] = { - 'provider' => 'AWS', - 'region' => '', - 'aws_access_key_id' => '', - 'aws_secret_access_key' => '' - } - gitlab_rails['object_store']['objects']['artifacts']['bucket'] = '' - gitlab_rails['object_store']['objects']['external_diffs']['bucket'] = '' - gitlab_rails['object_store']['objects']['lfs']['bucket'] = '' - gitlab_rails['object_store']['objects']['uploads']['bucket'] = '' - gitlab_rails['object_store']['objects']['packages']['bucket'] = '' - gitlab_rails['object_store']['objects']['dependency_proxy']['bucket'] = '' - gitlab_rails['object_store']['objects']['terraform_state']['bucket'] = '' - ``` - - 对于 GitLab 9.4 或更高版本,如果您使用的是 AWS IAM 配置文件,请确保省略 AWS 访问密钥和秘密访问密钥/值对. 例如: - - ``` - gitlab_rails['object_store_connection'] = { - 'provider' => 'AWS', - 'region' => '', - 'use_iam_profile' => true - } - ``` - -2. 保存文件并[重新配置 GitLab,](restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -**在源安装中:** - -1. 编辑`/home/git/gitlab/config/gitlab.yml`并添加或修改以下行: - - ``` - object_store: - enabled: true - proxy_download: true - connection: - provider: AWS - aws_access_key_id: - aws_secret_access_key: - region: - objects: - artifacts: - bucket: - external_diffs: - bucket: - lfs: - bucket: - uploads: - bucket: - packages: - bucket: - dependency_proxy: - bucket: - terraform_state: - bucket: - ``` - -2. 编辑`/home/git/gitlab-workhorse/config.toml`并添加或修改以下行: - - ``` - [object_storage] - enabled = true - provider = "AWS" - - [object_storage.s3] - aws_access_key_id = "" - aws_secret_access_key = "" - ``` - -3. 保存文件并[重新启动 GitLab,](restart_gitlab.html#installations-from-source)以使更改生效. - -#### Common parameters[](#common-parameters "Permalink") - -在统一配置中, `object_store`部分定义了一组公共参数. 在这里,我们使用源安装中的 YAML,因为它更容易看到继承: - -``` - object_store: - enabled: true - proxy_download: true - connection: - provider: AWS - aws_access_key_id: - aws_secret_access_key: - objects: - ... -``` - -Omnibus 配置直接映射到此: - -``` -gitlab_rails['object_store']['enabled'] = true -gitlab_rails['object_store']['proxy_download'] = true -gitlab_rails['object_store']['connection'] = { - 'provider' => 'AWS', - 'aws_access_key_id' => ' '' -} -``` - -| Setting | Description | -| --- | --- | -| `enabled` | 启用/禁用对象存储 | -| `proxy_download` | 设置为`true`以[启用代理服务的所有文件](#proxy-download) . Option 可以减少出口流量,因为这允许客户端直接从远程存储下载而不是代理所有数据 | -| `connection` | 下述各种连接选项 | -| `objects` | [Object-specific configuration](#object-specific-configuration) | - -### Connection settings[](#connection-settings "Permalink") - -合并配置表单和特定于存储的配置表单都必须配置连接. 以下各节介绍可在`connection`设置中使用的参数. - -#### S3-compatible connection settings[](#s3-compatible-connection-settings "Permalink") - -连接设置与[fog-aws](https://github.com/fog/fog-aws)提供的设置匹配: - -| Setting | Description | Default | -| --- | --- | --- | -| `provider` | 始终适用于兼容主机的`AWS` | `AWS` | -| `aws_access_key_id` | AWS 凭证或兼容 |   | -| `aws_secret_access_key` | AWS 凭证或兼容 |   | -| `aws_signature_version` | 要使用的 AWS 签名版本. `2`或`4`是有效选项. 数字海洋空间和其他提供商可能需要`2` . | `4` | -| `enable_signature_v4_streaming` | 设置为`true`以启用具有[AWS v4 签名的](https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming.html) HTTP 分块传输. Oracle Cloud S3 需要将此设置为`false` . | `true` | -| `region` | AWS 区域 | us-east-1 | -| `host` | 不使用 AWS 时与 S3 兼容的主机,例如`localhost`或`storage.example.com` . 假定使用 HTTPS 和端口 443. | `s3.amazonaws.com` | -| `endpoint` | 在配置 S3 兼容服务(例如[MinIO)时](https://min.io) ,可以通过输入 URL(例如`http://127.0.0.1:9000` . 这优先于`host` . | (optional) | -| `path_style` | 设置为`true`以使用`host/bucket_name/object`样式路径而不是`bucket_name.host/object` . 对于 AWS S3,保留为`false` . | `false` | -| `use_iam_profile` | Set to `true` to use IAM profile instead of access keys | `false` | - -#### Oracle Cloud S3 connection settings[](#oracle-cloud-s3-connection-settings "Permalink") - -请注意,Oracle Cloud S3 必须确保使用以下设置: - -| Setting | Value | -| --- | --- | -| `enable_signature_v4_streaming` | `false` | -| `path_style` | `true` | - -如果将`enable_signature_v4_streaming`设置为`true` ,那么您可能会在`production.log`看到以下错误: - -``` -STREAMING-AWS4-HMAC-SHA256-PAYLOAD is not supported -``` - -#### Google Cloud Storage (GCS)[](#google-cloud-storage-gcs "Permalink") - -这是 GCS 的有效连接参数: - -| Setting | Description | example | -| --- | --- | --- | -| `provider` | 提供者名称 | `Google` | -| `google_project` | GCP 项目名称 | `gcp-project-12345` | -| `google_client_email` | 服务帐户的电子邮件地址 | `foo@gcp-project-12345.iam.gserviceaccount.com` | -| `google_json_key_location` | JSON 密钥路径 | `/path/to/gcp-project-12345-abcde.json` | - -**注意:**服务帐户必须具有访问存储桶的权限. [看更多](https://cloud.google.com/storage/docs/authentication) - -##### Google example (consolidated form)[](#google-example-consolidated-form "Permalink") - -对于 Omnibus 安装,这是`connection`设置的示例: - -``` -gitlab_rails['object_store']['connection'] = { - 'provider' => 'Google', - 'google_project' => '', - 'google_client_email' => '', - 'google_json_key_location' => '' -} -``` - -#### OpenStack-compatible connection settings[](#openstack-compatible-connection-settings "Permalink") - -**注意**这与统一对象存储表单不兼容. 仅特定于存储的表单支持 OpenStack Swift. 如果要使用合并表格,请参阅[S3 设置](#s3-compatible-connection-settings) . - -尽管 OpenStack Swift 提供了 S3 兼容性,但某些用户可能希望使用[Swift API](https://s0docs0openstack0org.icopy.site/swift/latest/api/object_api_v1_overview.html) . 这是以下由[swift-openstack](https://github.com/fog/fog-openstack)提供的 Swift API 的有效连接设置: - -| Setting | Description | Default | -| --- | --- | --- | -| `provider` | 始终使用`OpenStack`兼容主机 | `OpenStack` | -| `openstack_username` | OpenStack 用户名 |   | -| `openstack_api_key` | OpenStack API key |   | -| `openstack_temp_url_key` | 用于生成临时 URL 的 OpenStack 密钥 |   | -| `openstack_auth_url` | OpenStack 身份验证端点 |   | -| `openstack_region` | OpenStack 区域 |   | -| `openstack_tenant` | OpenStack 租户 ID |   | - -#### Rackspace Cloud Files[](#rackspace-cloud-files "Permalink") - -**注意**这与统一对象存储表单不兼容. 仅特定于存储的表单支持 Rackspace Cloud. - -这是[fog-rackspace](https://github.com/fog/fog-rackspace/)提供的 Rackspace Cloud 的有效连接参数: - -| Setting | Description | example | -| --- | --- | --- | -| `provider` | 提供者名称 | `Rackspace` | -| `rackspace_username` | 可访问容器的 Rackspace 帐户的用户名 | `joe.smith` | -| `rackspace_api_key` | 可访问容器的 Rackspace 帐户的 API 密钥 | `ABC123DEF456ABC123DEF456ABC123DE` | -| `rackspace_region` | 要使用的 Rackspace 存储区域,来自[服务访问端点列表的](https://developer.rackspace.com/docs/cloud-files/v1/general-api-info/service-access/)三个字母代码 | `iad` | -| `rackspace_temp_url_key` | 您在 Rackspace API 中为临时 URL 设置的私钥. [在这里](https://developer.rackspace.com/docs/cloud-files/v1/use-cases/public-access-to-your-cloud-files-account/#tempurl)阅读更多 | `ABC123DEF456ABC123DEF456ABC123DE` | - -**注意:**无论容器启用还是禁用了公共访问,Fog 都会使用 TempURL 方法来授予对 LFS 对象的访问权限. 如果您在引用使用`temp-url-key`实例化存储的日志中看到错误,请确保已在 Rackspace API 和`gitlab.rb`正确设置了密钥. 您可以通过将带有令牌标头的 GET 请求发送到服务访问端点 URL 并比较返回的标头的输出,来验证 Rackspace 密钥的设置值. - -### Object-specific configuration[](#object-specific-configuration "Permalink") - -以下 YAML 显示了`object_store`部分如何定义特定于对象的配置块,以及如何覆盖`enabled`和`proxy_download`标志. `bucket`是每种类型中唯一需要的参数: - -``` - object_store: - connection: - ... - objects: - artifacts: - bucket: artifacts - proxy_download: false - external_diffs: - bucket: external-diffs - lfs: - bucket: lfs-objects - uploads: - bucket: uploads - packages: - bucket: packages - dependency_proxy: - enabled: false - bucket: dependency_proxy - terraform_state: - bucket: terraform -``` - -这映射到此 Omnibus GitLab 配置: - -``` -gitlab_rails['object_store']['objects']['artifacts']['bucket'] = 'artifacts' -gitlab_rails['object_store']['objects']['artifacts']['proxy_download'] = false -gitlab_rails['object_store']['objects']['external_diffs']['bucket'] = 'external-diffs' -gitlab_rails['object_store']['objects']['lfs']['bucket'] = 'lfs-objects' -gitlab_rails['object_store']['objects']['uploads']['bucket'] = 'uploads' -gitlab_rails['object_store']['objects']['packages']['bucket'] = 'packages' -gitlab_rails['object_store']['objects']['dependency_proxy']['enabled'] = false -gitlab_rails['object_store']['objects']['dependency_proxy']['bucket'] = 'dependency-proxy' -gitlab_rails['object_store']['objects']['terraform_state']['bucket'] = 'terraform-state' -``` - -这是可以使用的有效`objects`的列表: - -| Type | Description | -| --- | --- | -| `artifacts` | [CI artifacts](job_artifacts.html) | -| `external_diffs` | [Merge request diffs](merge_request_diffs.html) | -| `uploads` | [User uploads](uploads.html) | -| `lfs` | [Git Large File Storage objects](lfs/index.html) | -| `packages` | [Project packages (e.g. PyPI, Maven, NuGet, etc.)](packages/index.html) | -| `dependency_proxy` | [GitLab Dependency Proxy](packages/dependency_proxy.html) | -| `terraform_state` | [Terraform state files](terraform_state.html) | - -在每种对象类型中,可以定义三个参数: - -| Setting | Required? | Description | -| --- | --- | --- | -| `bucket` | Yes | 对象存储的存储桶名称. | -| `enabled` | No | 覆盖通用参数 | -| `proxy_download` | No | 覆盖通用参数 | - -#### Selectively disabling object storage[](#selectively-disabling-object-storage "Permalink") - -如上所示,可以通过将`enabled`标志设置为`false`来禁用特定类型的对象存储. 例如,要禁用 CI 工件的对象存储: - -``` -gitlab_rails['object_store']['objects']['artifacts']['enabled'] = false -``` - -如果功能完全禁用,则不需要存储桶. 例如,如果使用此设置禁用了 CI 构件,则不需要存储桶: - -``` -gitlab_rails['artifacts_enabled'] = false -``` - -### Transition to consolidated form[](#transition-to-consolidated-form "Permalink") - -在 GitLab 13.2 之前: - -* 所有类型的对象(例如 CI / CD 工件,LFS 文件,上载附件等)的对象存储配置都必须独立配置. -* 对于每种类型,必须复制对象存储连接参数,例如密码和端点 URL. - -例如,Omnibus GitLab 安装可能具有以下配置: - -``` -# Original object storage configuration -gitlab_rails['artifacts_object_store_enabled'] = true -gitlab_rails['artifacts_object_store_direct_upload'] = true -gitlab_rails['artifacts_object_store_proxy_download'] = true -gitlab_rails['artifacts_object_store_remote_directory'] = 'artifacts' -gitlab_rails['artifacts_object_store_connection'] = { 'provider' => 'AWS', 'aws_access_key_id' => 'access_key', 'aws_secret_access_key' => 'secret' } -gitlab_rails['uploads_object_store_enabled'] = true -gitlab_rails['uploads_object_store_direct_upload'] = true -gitlab_rails['uploads_object_store_proxy_download'] = true -gitlab_rails['uploads_object_store_remote_directory'] = 'uploads' -gitlab_rails['uploads_object_store_connection'] = { 'provider' => 'AWS', 'aws_access_key_id' => 'access_key', 'aws_secret_access_key' => 'secret' } -``` - -尽管这样做提供了灵活性,但它使得 GitLab 可以跨不同的云提供商存储对象,但同时也带来了额外的复杂性和不必要的冗余. 由于 GitLab Rails 和 Workhorse 组件都需要访问对象存储,因此合并后的表单避免了过多的凭据重复. - -**注意** **仅**当省略原始表单中的所有行时, **才**使用合并对象存储配置. 要移至合并的表单,请除去原始配置(例如, `artifacts_object_store_enabled` , `uploads_object_store_connection`等). - -## Storage-specific configuration[](#storage-specific-configuration "Permalink") - -有关在 GitLab 13.1 和更早版本中配置对象存储的信息,或对于统一配置表单不支持的存储类型的信息,请参阅以下指南: - -| 对象存储类型 | 支持统一配置吗? | -| --- | --- | -| [Backups](../raketasks/backup_restore.html#uploading-backups-to-a-remote-cloud-storage) | No | -| [Job artifacts](job_artifacts.html#using-object-storage) and [incremental logging](job_logs.html#new-incremental-logging-architecture) | Yes | -| [LFS objects](lfs/index.html#storing-lfs-objects-in-remote-object-storage) | Yes | -| [Uploads](uploads.html#using-object-storage-core-only) | Yes | -| [容器注册表](packages/container_registry.html#container-registry-storage-driver) (可选功能) | No | -| [Merge request diffs](merge_request_diffs.html#using-object-storage) | Yes | -| [Mattermost](https://docs.mattermost.com/administration/config-settings.html#file-storage) | No | -| [软件包](packages/index.html#using-object-storage) (可选功能) | Yes | -| [依赖代理](packages/dependency_proxy.html#using-object-storage) (可选功能) | Yes | -| [假名生成器](pseudonymizer.html#configuration) (可选功能) | No | -| [Autoscale Runner 缓存](https://docs.gitlab.com/runner/configuration/autoscale.html) (可选以提高性能) | No | -| [Terraform state files](terraform_state.html#using-object-storage-core-only) | Yes | - -### Other alternatives to filesystem storage[](#other-alternatives-to-filesystem-storage "Permalink") - -如果您正在努力[扩展](reference_architectures/index.html) GitLab 实施,或增加容错能力和冗余性,则可能正在考虑消除对块或网络文件系统的依赖. 请参阅以下指南,并[注意 Pages 需要磁盘存储](#gitlab-pages-requires-nfs) : - -1. 确保[`git`用户主目录](https://docs.gitlab.com/omnibus/settings/configuration.html)位于本地磁盘上. -2. 配置[SSH 密钥的数据库查找,](operations/fast_ssh_key_lookup.html)以消除对共享的`authorized_keys`文件的需要. - -## Warnings, limitations, and known issues[](#warnings-limitations-and-known-issues "Permalink") - -### Use separate buckets[](#use-separate-buckets "Permalink") - -对于 GitLab,建议为每种数据类型使用单独的存储桶. - -我们的配置的局限性是对象存储的每次使用都是单独配置的. [我们有一个需要改进的问题](https://gitlab.com/gitlab-org/gitlab/-/issues/23345) ,轻松地将一个存储桶与单独的文件夹一起使用可能会带来一个改进. - -使用同一个存储桶至少有一个特定的问题:当使用 Helm 图表部署 GitLab 时,除非使用单独的存储桶,否则从备份还原[将无法正常工作](https://docs.gitlab.com/charts/advanced/external-object-storage/) . - -使用单个存储桶的风险之一是,如果您的组织将来决定将 GitLab 迁移到 Helm 部署. GitLab 可以运行,但是直到组织对备份起作用的关键要求之前,备份的情况可能无法实现. - -### S3 API compatibility issues[](#s3-api-compatibility-issues "Permalink") - -并非所有 S3 提供程序[都](../raketasks/backup_restore.html#other-s3-providers)与 GitLab 使用的 Fog 库[完全兼容](../raketasks/backup_restore.html#other-s3-providers) . 症状包括`production.log`的错误: - -``` -411 Length Required -``` - -### GitLab Pages requires NFS[](#gitlab-pages-requires-nfs "Permalink") - -如果您要添加更多的 GitLab 服务器以进行[缩放或容错,](reference_architectures/index.html)并且您的要求之一是[GitLab 页面,](../user/project/pages/index.html)则当前需要 NFS. 有[工作正在进行中](https://gitlab.com/gitlab-org/gitlab-pages/-/issues/196)去除这种依赖性. 将来,GitLab 页面可能会使用[对象存储](https://gitlab.com/gitlab-org/gitlab/-/issues/208135) . - -对磁盘存储的依赖性还阻止了使用[GitLab Helm 图表](https://gitlab.com/gitlab-org/charts/gitlab/-/issues/37)部署 Pages. - -### Incremental logging is required for CI to use object storage[](#incremental-logging-is-required-for-ci-to-use-object-storage "Permalink") - -如果将 GitLab 配置为将对象存储用于 CI 日志和工件,则[还必须启用增量日志记录](job_artifacts.html#using-object-storage) . - -### Proxy Download[](#proxy-download "Permalink") - -对象存储的许多使用情况都允许将客户端流量重定向到对象存储后端,例如当 Git 客户端通过 LFS 请求大文件时或在下载 CI 工件和日志时. - -When the files are stored on local block storage or NFS, GitLab has to act as a proxy. This is not the default behavior with object storage. - -`proxy_download`设置控制此行为:默认设置通常为`false` . 在每个用例的文档中对此进行验证. 将其设置为`true`以便 GitLab 代理文件. - -当不代理文件时,GitLab 将返回[HTTP 302 重定向,该重定向带有预先签名的有时间限制的对象存储 URL](https://gitlab.com/gitlab-org/gitlab/-/issues/32117#note_218532298) . 这可能会导致以下一些问题: - -* 如果 GitLab 使用非安全的 HTTP 访问对象存储,则客户端可能会生成`https->http`降级错误,并拒绝处理重定向. 解决方案是让 GitLab 使用 HTTPS. 例如,LFS 将产生此错误: - - ``` - LFS: lfsapi/client: refusing insecure redirect, https->http - ``` - -* 客户端将需要信任颁发对象存储证书的证书颁发机构,或者可能返回常见的 TLS 错误,例如: - - ``` - x509: certificate signed by unknown authority - ``` - -* 客户端将需要网络访问对象存储. 如果没有此访问权限,则可能导致的错误包括: - - ``` - Received status code 403 from server: Forbidden - ``` - -[软件包存储库文档中](packages/index.html#using-object-storage)特别注明了获取" `403 Forbidden`响应",这是某些构建工具的工作方式的副作用. - -### ETag mismatch[](#etag-mismatch "Permalink") - -使用默认的 GitLab 设置,某些对象存储后端(例如[MinIO](https://gitlab.com/gitlab-org/gitlab/-/issues/23188)和[Alibaba)](https://gitlab.com/gitlab-org/charts/gitlab/-/issues/1564)可能会生成`ETag mismatch`错误. - -如果您在 Amazon Web Services S3 中看到此 ETag 不匹配错误,则可能是由于[存储桶上的加密设置](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonResponseHeaders.html)所致. 要解决此问题,您有两种选择: - -* [Use the consolidated object configuration](#consolidated-object-storage-configuration). -* [Use Amazon instance profiles](#using-amazon-instance-profiles). - -对于 MinIO,建议使用第一个选项. 否则, [MinIO](https://gitlab.com/gitlab-org/charts/gitlab/-/issues/1564#note_244497658)的[解决方法](https://gitlab.com/gitlab-org/charts/gitlab/-/issues/1564#note_244497658)是在服务器上使用`--compat`参数. - -在未启用统一对象存储配置或实例配置文件的情况下,GitLab Workhorse 将使用没有为它们计算出`Content-MD5` HTTP 标头的预签名 URL 将文件上传到 S3\. 为了确保数据没有损坏,Workhorse 检查发送的数据的 MD5 哈希值是否等于从 S3 服务器返回的 ETag 标头. 启用加密后,情况并非如此,这将导致 Workhorse 在上传期间报告`ETag mismatch`错误. - -通过整合的对象配置和实例配置文件,Workhorse 具有 S3 凭据,因此可以计算`Content-MD5`标头. 这样就无需比较从 S3 服务器返回的 ETag 标头. - -### Using Amazon instance profiles[](#using-amazon-instance-profiles "Permalink") - -可以将 GitLab 配置为使用 IAM 角色来设置[Amazon 实例配置文件](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html) ,而不是在对象存储配置中提供 AWS 访问和秘密密钥. 使用此功能时,每次访问 S3 存储桶时,GitLab 都会获取临时凭证,因此配置中不需要硬编码的值. - -#### Encrypted S3 buckets[](#encrypted-s3-buckets "Permalink") - -版本历史 - -* 在[GitLab 13.1](https://gitlab.com/gitlab-org/gitlab-workhorse/-/merge_requests/466)中仅针对实例配置文件引入. -* 使用[整合对象存储配置](#consolidated-object-storage-configuration)时,在[GitLab 13.2 中](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/34460)引入了用于静态证书的功能. - -使用实例概要文件或统一对象配置进行配置时,GitLab Workhorse 可以将文件正确上载到[默认情况下启用 SSE-S3 或 SSE-KMS 加密的](https://docs.aws.amazon.com/kms/latest/developerguide/services-s3.html) S3 存储桶. 请注意, [尚不支持](https://gitlab.com/gitlab-org/gitlab/-/issues/226006)客户主密钥(CMK)和 SSE-C 加密, [因为这需要向 GitLab 配置提供密钥](https://gitlab.com/gitlab-org/gitlab/-/issues/226006) . - -##### Disabling the feature[](#disabling-the-feature "Permalink") - -当[`use_iam_profile`配置选项](#iam-permissions)设置为`true`时,默认情况下启用 Workhorse S3 客户端. - -可以使用`:use_workhorse_s3_client`功能标记禁用该功能. 要禁用该功能,请要求具有[Rails 控制台访问权限](feature_flags.html#how-to-enable-and-disable-features-behind-flags)的 GitLab 管理员运行以下命令: - -``` -Feature.disable(:use_workhorse_s3_client) -``` - -#### IAM Permissions[](#iam-permissions "Permalink") - -设置实例配置文件: - -1. 创建具有必要权限的 Amazon Identity Access and Management(IAM)角色. 以下示例是名为`test-bucket`的 S3 存储桶的角色: - - ``` - { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:AbortMultipartUpload", "s3:DeleteObject" ], "Resource": "arn:aws:s3:::test-bucket/*" } ] } - ``` - -2. [将此角色附加](https://aws.amazon.com/premiumsupport/knowledge-center/attach-replace-ec2-instance-profile/)到托管您的 GitLab 实例的 EC2 实例. -3. 通过`use_iam_profile`配置选项配置 GitLab 以使用它. \ No newline at end of file diff --git a/docs/476.md b/docs/476.md deleted file mode 100644 index 67b4b03..0000000 --- a/docs/476.md +++ /dev/null @@ -1,17 +0,0 @@ -# Performing Operations in GitLab - -> 原文:[https://docs.gitlab.com/ee/administration/operations/](https://docs.gitlab.com/ee/administration/operations/) - -# Performing Operations in GitLab[](#performing-operations-in-gitlab "Permalink") - -保持您的 GitLab 实例正常运行. - -* [清理 Redis 会话](cleaning_up_redis_sessions.html) :在 GitLab 7.3 之前,用户会话不会自动从 Redis 过期. 如果从 GitLab 7.3 之前开始就一直在运行大型的 GitLab 服务器(成千上万的用户),我们建议在升级到 GitLab 7.3 之后清理陈旧的会话以压缩 Redis 数据库. -* [移动存储库](moving_repositories.html) :将 GitLab 管理的所有存储[库](moving_repositories.html)移动到另一个文件系统或另一个服务器. -* [Sidekiq MemoryKiller](sidekiq_memory_killer.html) :配置 Sidekiq MemoryKiller 以重新启动 Sidekiq. -* [多个 Sidekiq 进程](extra_sidekiq_processes.html) :配置多个 Sidekiq 进程以确保某些队列始终具有专用的工作程序,而不管需要处理的作业数量如何. -* [美洲狮](puma.html) :了解美洲狮和美洲狮杀手. -* [独角兽](unicorn.html) :了解独角兽和独角兽工人杀手. -* [通过对 GitLab 数据库进行快速的索引查找来授权 SSH 用户](fast_ssh_key_lookup.html) ,和/或通过[完全放弃 SSH 证书而完全放弃存储在 GitLab 上的用户 SSH 密钥](ssh_certificates.html) ,可以加快 SSH 操作. -* [文件系统性能基准测试](filesystem_benchmarking.html) :文件系统性能可能会对 GitLab 性能产生重大影响,尤其是对于读取或写入 Git 存储库的操作. 这些信息将有助于根据已知的好坏系统对基准文件系统的性能进行基准测试. -* [ChatOps 脚本](https://gitlab.com/gitlab-com/chatops) :GitLab.com 基础架构团队使用此存储库来存储常见的 ChatOps 脚本,以用于对 GitLab.com 的生产实例进行故障排除和维护. 这些脚本可能对各种规模的 GitLab 实例的管理员有用. \ No newline at end of file diff --git a/docs/477.md b/docs/477.md deleted file mode 100644 index 49dab05..0000000 --- a/docs/477.md +++ /dev/null @@ -1,42 +0,0 @@ -# Cleaning up stale Redis sessions - -> 原文:[https://docs.gitlab.com/ee/administration/operations/cleaning_up_redis_sessions.html](https://docs.gitlab.com/ee/administration/operations/cleaning_up_redis_sessions.html) - -# Cleaning up stale Redis sessions[](#cleaning-up-stale-redis-sessions "Permalink") - -从 6.2 版开始,GitLab 将 Web 用户会话存储为 Redis 中的键值对. 在 GitLab 7.3 之前,用户会话不会自动从 Redis 终止. 如果从 GitLab 7.3 之前开始就一直在运行大型的 GitLab 服务器(成千上万的用户),我们建议在升级到 GitLab 7.3 之后清理陈旧的会话以压缩 Redis 数据库. 您还可以在仍运行 GitLab 7.2 或更早版本的情况下执行清理,但是在这种情况下,清理后新的陈旧会话将再次开始建立. - -在 7.3.0 之前的 GitLab 版本中,Redis 中的会话密钥是 16 字节的十六进制值,例如'976aa289e2189b17d7ef525a6702ace9'. 从 GitLab 7.3.0 开始,键的前缀为`session:gitlab:`因此它们看起来像`session:gitlab:976aa289e2189b17d7ef525a6702ace9` . 下面我们描述如何删除旧格式的密钥. - -**注意:**如果您使用了" [配置文件文档"中](https://gitlab.com/gitlab-org/gitlab/blob/master/config/README.md)概述的高级 Redis 设置,则必须根据您的配置设置修改以下说明. - -首先,我们定义具有适当 Redis 连接详细信息的 shell 函数. - -``` -rcli() { - # This example works for Omnibus installations of GitLab 7.3 or newer. For an - # installation from source you will have to change the socket path and the - # path to redis-cli. - sudo /opt/gitlab/embedded/bin/redis-cli -s /var/opt/gitlab/redis/redis.shared_state.socket "$@" -} - -# test the new shell function; the response should be PONG -rcli ping -``` - -现在,我们进行搜索以查看是否有旧格式的会话密钥供我们清理. - -``` -# returns the number of old-format session keys in Redis -rcli keys '*' | grep '^[a-f0-9]\{32\}$' | wc -l -``` - -如果数字大于零,则可以使 Redis 的密钥失效. 如果数字为零,则没有任何清理内容. - -``` -# Tell Redis to expire each matched key after 600 seconds. -rcli keys '*' | grep '^[a-f0-9]\{32\}$' | awk '{ print "expire", $0, 600 }' | rcli -# This will print '(integer) 1' for each key that gets expired. -``` - -在接下来的 15 分钟内(10 分钟的到期时间加上 5 分钟的 Redis 后台保存间隔),您的 Redis 数据库将被压缩. 如果您仍在使用 GitLab 7.2,则在 10 分钟的有效期内未在 GitLab 中四处点击的用户将退出 GitLab. \ No newline at end of file diff --git a/docs/478.md b/docs/478.md deleted file mode 100644 index acadc96..0000000 --- a/docs/478.md +++ /dev/null @@ -1,172 +0,0 @@ -# Fast lookup of authorized SSH keys in the database - -> 原文:[https://docs.gitlab.com/ee/administration/operations/fast_ssh_key_lookup.html](https://docs.gitlab.com/ee/administration/operations/fast_ssh_key_lookup.html) - -* [Fast lookup is required for Geo](#fast-lookup-is-required-for-geo-premium) -* [Setting up fast lookup via GitLab Shell](#setting-up-fast-lookup-via-gitlab-shell) -* [How to go back to using the `authorized_keys` file](#how-to-go-back-to-using-the-authorized_keys-file) -* [Compiling a custom version of OpenSSH for CentOS 6](#compiling-a-custom-version-of-openssh-for-centos-6) -* [SELinux support and limitations](#selinux-support-and-limitations) - -# Fast lookup of authorized SSH keys in the database[](#fast-lookup-of-authorized-ssh-keys-in-the-database "Permalink") - -版本历史 - -* 在[GitLab Starter](https://about.gitlab.com/pricing/) 9.3 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/1631) . -* [在](https://gitlab.com/gitlab-org/gitlab/-/issues/3953) GitLab 社区版 10.4 中[可用](https://gitlab.com/gitlab-org/gitlab/-/issues/3953) . - -**注意:**本文档介绍了`authorized_keys`文件的替代品. 对于普通(非部署密钥)用户,请考虑使用[SSH 证书](ssh_certificates.html) . 它们甚至更快,但不是临时替代品. - -随着用户数量的增加,常规的 SSH 操作变得缓慢,这是因为 OpenSSH 通过线性搜索来搜索授权用户的密钥. 在最坏的情况下,例如,当用户无权访问 GitLab 时,OpenSSH 将扫描整个文件以搜索密钥. 这会花费大量时间和磁盘 I / O,这将延迟用户尝试推送或拉到存储库的时间. 更糟糕的是,如果用户频繁添加或删除密钥,则操作系统可能无法缓存`authorized_keys`文件,这将导致磁盘被重复访问. - -GitLab Shell 通过提供一种通过 GitLab 数据库中的快速索引查找来授权 SSH 用户的方法来解决此问题. 本页介绍如何启用快速查找授权的 SSH 密钥. - -> **警告:**由于`AuthorizedKeysCommand`必须能够接受指纹,因此需要 OpenSSH 6.9+版本. 这些说明将中断使用较旧版本的 OpenSSH 的安装,例如截至 2017 年 9 月的 CentOS 6 附带的安装.如果要将此功能用于 CentOS 6,请遵循[有关如何构建和安装自定义 OpenSSH 软件包的说明](#compiling-a-custom-version-of-openssh-for-centos-6) . - -## Fast lookup is required for Geo[](#fast-lookup-is-required-for-geo-premium "Permalink") - -默认情况下,GitLab 管理一个`authorized_keys`文件,其中包含允许访问 GitLab 的用户的所有公共 SSH 密钥. 但是,为了维护单个事实来源,需要将[Geo](../geo/replication/index.html)配置为通过数据库查找执行 SSH 指纹查找. - -作为[设置 Geo 的](../geo/replication/index.html#setup-instructions)一部分,您将需要对主节点和辅助节点都遵循以下概述的步骤,但是请注意,只需在主节点上取消选中`Write to "authorized keys" file`复选框,因为它将被选中.如果数据库复制正在工作,则会自动在辅助服务器上反映出来. - -## Setting up fast lookup via GitLab Shell[](#setting-up-fast-lookup-via-gitlab-shell "Permalink") - -GitLab Shell 提供了一种通过对 GitLab 数据库进行快速索引查找来授权 SSH 用户的方法. GitLab Shell 使用 SSH 密钥的指纹来检查用户是否有权访问 GitLab. - -将以下内容添加到您的`sshd_config`文件中. 通常位于`/etc/ssh/sshd_config` ,但如果使用 Omnibus Docker,它将为`/assets/sshd_config` : - -``` -Match User git # Apply the AuthorizedKeysCommands to the git user only - AuthorizedKeysCommand /opt/gitlab/embedded/service/gitlab-shell/bin/gitlab-shell-authorized-keys-check git %u %k - AuthorizedKeysCommandUser git -Match all # End match, settings apply to all users again -``` - -重新加载 OpenSSH: - -``` -# Debian or Ubuntu installations -sudo service ssh reload - -# CentOS installations -sudo service sshd reload -``` - -通过注释掉您在`authorized_keys`中的用户密钥(以`#`开头以对其进行注释),并尝试拉出存储库来确认 SSH 是否正常工作. - -A successful pull would mean that GitLab was able to find the key in the database, since it is not present in the file anymore. - -**注意:**对于 Omnibus Docker,默认情况下在 GitLab 11.11 及更高版本中设置了`AuthorizedKeysCommand` .**注意:**对于从源安装,该命令位于`/home/git/gitlab-shell/bin/gitlab-shell-authorized-keys-check`是否遵循[从源安装的](../../install/installation.html#install-gitlab-shell)说明. 您可能要考虑在其他地方创建包装脚本,因为此命令需要由`root`拥有,而不能由 group 或其他用户写入. 您也可以考虑根据需要更改此命令的所有权,但这可能需要在`gitlab-shell`升级期间临时更改所有权.**注意:**在确认 SSH 可以正常工作之前,请不要禁用写操作,因为该文件很快就会过时. - -In the case of lookup failures (which are common), the `authorized_keys` file will still be scanned. So Git SSH performance will still be slow for many users as long as a large file exists. - -您可以通过取消选中 GitLab 安装的`Write to "authorized_keys" file` **管理区域">"设置">"网络">"性能优化** `Write to "authorized_keys" file`中的`Write to "authorized_keys" file`来禁用对`authorized_keys`文件的更多写入. - -[![Write to authorized keys setting](img/f9144e03cf945bcf549c131e2816298f.png)](img/write_to_authorized_keys_setting.png) - -再次,通过在 UI 中删除用户的 SSH 密钥,添加一个新的 SSH 密钥,然后尝试提取存储库来确认 SSH 是否正常工作. - -然后,您可以备份和删除您的`authorized_keys`文件以获得最佳性能. 当前用户的密钥已经存在于数据库中,因此无需迁移或要求用户重新添加其密钥. - -## How to go back to using the `authorized_keys` file[](#how-to-go-back-to-using-the-authorized_keys-file "Permalink") - -这是一个简短的概述. 请参阅以上说明以获取更多上下文. - -1. [Rebuild the `authorized_keys` file](../raketasks/maintenance.html#rebuild-authorized_keys-file) -2. 启用对"应用程序设置"中的`authorized_keys`文件的写入 -3. 如果使用的是 Omnibus Docker,请从`/etc/ssh/sshd_config`或`/assets/sshd_config`删除`AuthorizedKeysCommand`行. -4. Reload `sshd`: `sudo service sshd reload` -5. 删除`/opt/gitlab-shell/authorized_keys`文件 - -## Compiling a custom version of OpenSSH for CentOS 6[](#compiling-a-custom-version-of-openssh-for-centos-6 "Permalink") - -对于 Ubuntu 16.04 用户而言,无需构建自定义版本的 OpenSSH,因为 Ubuntu 16.04 随 OpenSSH 7.2 一起提供. - -CentOS 7.4 用户也不需要,因为该版本随 OpenSSH 7.4 一起提供. 如果您使用的是 CentOS 7.0-7.3,我们强烈建议您升级到 CentOS 7.4,而不要遵循此过程. 这应该和运行`yum update`一样简单. - -CentOS 6 用户必须构建自己的 OpenSSH 软件包才能通过数据库启用 SSH 查找. 以下说明可用于构建 OpenSSH 7.5: - -1. 首先,下载软件包并安装所需的软件包: - - ``` - sudo su - - cd /tmp - curl --remote-name https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.5p1.tar.gz - tar xzvf openssh-7.5p1.tar.gz - yum install rpm-build gcc make wget openssl-devel krb5-devel pam-devel libX11-devel xmkmf libXt-devel - ``` - -2. 通过将文件复制到正确的位置来准备构建: - - ``` - mkdir -p /root/rpmbuild/{SOURCES,SPECS} - cp ./openssh-7.5p1/contrib/redhat/openssh.spec /root/rpmbuild/SPECS/ - cp openssh-7.5p1.tar.gz /root/rpmbuild/SOURCES/ - cd /root/rpmbuild/SPECS - ``` - -3. 接下来,正确设置规格设置: - - ``` - sed -i -e "s/%define no_gnome_askpass 0/%define no_gnome_askpass 1/g" openssh.spec - sed -i -e "s/%define no_x11_askpass 0/%define no_x11_askpass 1/g" openssh.spec - sed -i -e "s/BuildPreReq/BuildRequires/g" openssh.spec - ``` - -4. 建立 RPM: - - ``` - rpmbuild -bb openssh.spec - ``` - -5. 确保已构建 RPM: - - ``` - ls -al /root/rpmbuild/RPMS/x86_64/ - ``` - - 您应该看到以下内容: - - ``` - total 1324 - drwxr-xr-x. 2 root root 4096 Jun 20 19:37 . - drwxr-xr-x. 3 root root 19 Jun 20 19:37 .. - -rw-r--r--. 1 root root 470828 Jun 20 19:37 openssh-7.5p1-1.x86_64.rpm - -rw-r--r--. 1 root root 490716 Jun 20 19:37 openssh-clients-7.5p1-1.x86_64.rpm - -rw-r--r--. 1 root root 17020 Jun 20 19:37 openssh-debuginfo-7.5p1-1.x86_64.rpm - -rw-r--r--. 1 root root 367516 Jun 20 19:37 openssh-server-7.5p1-1.x86_64.rpm - ``` - -6. 安装软件包. OpenSSH 软件包将用其自己的版本替换`/etc/pam.d/sshd` ,这可能会阻止用户登录,因此请确保在安装后备份并还原了该文件: - - ``` - timestamp=$(date +%s) - cp /etc/pam.d/sshd pam-ssh-conf-$timestamp - rpm -Uvh /root/rpmbuild/RPMS/x86_64/*.rpm - yes | cp pam-ssh-conf-$timestamp /etc/pam.d/sshd - ``` - -7. 验证安装的版本. 在另一个窗口中,尝试登录到服务器: - - ``` - ssh -v - ``` - - 您应该看到以下一行:" debug1:远程协议版本 2.0,远程软件版本 OpenSSH_7.5" - - 如果没有,则可能需要重新启动`sshd` (例如`systemctl restart sshd.service` ). - -8. *重要!* 退出之前,请打开与服务器的新 SSH 会话,以确保一切正常! 如果您需要降级,只需安装较旧的软件包即可: - - ``` - # Only run this if you run into a problem logging in - yum downgrade openssh-server openssh openssh-clients - ``` - -## SELinux support and limitations[](#selinux-support-and-limitations "Permalink") - -在 GitLab 10.5 中[引入](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/2855) . - -GitLab 支持[SELinux 的](https://en.wikipedia.org/wiki/Security-Enhanced_Linux) `authorized_keys`数据库查询. - -由于 SELinux 策略是静态的,因此 GitLab 目前不支持更改内部 Unicorn 端口的功能. 管理员必须为环境创建一个特殊的`.te`文件,因为它不是动态生成的. \ No newline at end of file diff --git a/docs/479.md b/docs/479.md deleted file mode 100644 index f9439a9..0000000 --- a/docs/479.md +++ /dev/null @@ -1,102 +0,0 @@ -# Filesystem Performance Benchmarking - -> 原文:[https://docs.gitlab.com/ee/administration/operations/filesystem_benchmarking.html](https://docs.gitlab.com/ee/administration/operations/filesystem_benchmarking.html) - -* [Executing benchmarks](#executing-benchmarks) - * [Benchmarking with `fio`](#benchmarking-with-fio) - * [Simple benchmarking](#simple-benchmarking) - -# Filesystem Performance Benchmarking[](#filesystem-performance-benchmarking "Permalink") - -Filesystem performance has a big impact on overall GitLab performance, especially for actions that read or write to Git repositories. This information will help benchmark filesystem performance against known good and bad real-world systems. - -通常,在谈论文件系统性能时,最大的顾虑是网络文件系统(NFS). 但是,即使某些本地磁盘也可能具有缓慢的 I / O. 此页面上的信息可用于两种情况. - -## Executing benchmarks[](#executing-benchmarks "Permalink") - -### Benchmarking with `fio`[](#benchmarking-with-fio "Permalink") - -我们建议使用[Fio](https://fio.readthedocs.io/en/latest/fio_doc.html)测试 I / O 性能. 该测试应该在 NFS 服务器和与 NFS 服务器通信的应用程序节点上都运行. - -安装: - -* 在 Ubuntu 上: `apt install fio` . -* 在`yum`管理的环境中: `yum install fio` . - -然后运行以下命令: - -``` -fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=/path/to/git-data/testfile --bs=4k --iodepth=64 --size=4G --readwrite=randrw --rwmixread=75 -``` - -这将在`/path/to/git-data/testfile`创建一个 4GB 的文件. 它使用文件中的 75%/ 25%的拆分来执行 4KB 读取和写入,一次运行 64 个操作. 测试完成后,请确保删除文件. - -输出将根据所安装的`fio`版本而有所不同. 以下是网络固态驱动器(SSD)上`fio` v2.2.10 的输出示例: - -``` -test: (g=0): rw=randrw, bs=4K-4K/4K-4K/4K-4K, ioengine=libaio, iodepth=64 - fio-2.2.10 - Starting 1 process - test: Laying out IO file(s) (1 file(s) / 1024MB) - Jobs: 1 (f=1): [m(1)] [100.0% done] [131.4MB/44868KB/0KB /s] [33.7K/11.3K/0 iops] [eta 00m:00s] - test: (groupid=0, jobs=1): err= 0: pid=10287: Sat Feb 2 17:40:10 2019 - read : io=784996KB, bw=133662KB/s, iops=33415, runt= 5873msec - write: io=263580KB, bw=44880KB/s, iops=11219, runt= 5873msec - cpu : usr=6.56%, sys=23.11%, ctx=266267, majf=0, minf=8 - IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=100.0% - submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% - complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.1%, >=64=0.0% - issued : total=r=196249/w=65895/d=0, short=r=0/w=0/d=0, drop=r=0/w=0/d=0 - latency : target=0, window=0, percentile=100.00%, depth=64 - - Run status group 0 (all jobs): - READ: io=784996KB, aggrb=133661KB/s, minb=133661KB/s, maxb=133661KB/s, mint=5873msec, maxt=5873msec - WRITE: io=263580KB, aggrb=44879KB/s, minb=44879KB/s, maxb=44879KB/s, mint=5873msec, maxt=5873msec -``` - -注意此输出中的`iops`值. 在此示例中,SSD 每秒执行 33,415 次读操作和每秒 11,219 次写操作. 旋转磁盘可能每秒产生 2,000 和 700 的读取和写入操作. - -### Simple benchmarking[](#simple-benchmarking "Permalink") - -**注意:**此测试是幼稚的,但如果系统上没有`fio`可能有用. 在此测试中可能会收到不错的结果,但由于读取速度和其他各种因素,性能仍然很差. - -以下单行命令为文件系统的读写性能提供了快速基准. 这会将 1,000 个小文件写入执行该文件的目录,然后读取相同的 1,000 个文件. - -1. 更改为适当的[存储库存储路径](../repository_storage_paths.html)的根目录. -2. 为测试创建一个临时目录,以便以后轻松删除文件: - - ``` - mkdir test; cd test - ``` - -3. 运行命令: - - ``` - time for i in {0..1000}; do echo 'test' > "test${i}.txt"; done - ``` - -4. 要测试读取性能,请运行以下命令: - - ``` - time for i in {0..1000}; do cat "test${i}.txt" > /dev/null; done - ``` - -5. 删除测试文件: - -``` - cd ../; rm -rf test -``` - -`time for ...`命令的`time for ...`输出将类似于以下内容. 重要指标是`real` . - -``` -$ time for i in {0..1000}; do echo 'test' > "test${i}.txt"; done real 0m0.116s -user 0m0.025s -sys 0m0.091s - -$ time for i in {0..1000}; do cat "test${i}.txt" > /dev/null; done real 0m3.118s -user 0m1.267s -sys 0m1.663s -``` - -根据与多个客户的经验,此任务应花费 10 秒以表明文件系统性能良好. \ No newline at end of file diff --git a/docs/480.md b/docs/480.md deleted file mode 100644 index fd99b14..0000000 --- a/docs/480.md +++ /dev/null @@ -1,145 +0,0 @@ -# Moving repositories managed by GitLab - -> 原文:[https://docs.gitlab.com/ee/administration/operations/moving_repositories.html](https://docs.gitlab.com/ee/administration/operations/moving_repositories.html) - -* [Target directory is empty: use a tar pipe](#target-directory-is-empty-use-a-tar-pipe) - * [Tar pipe to another server](#tar-pipe-to-another-server) -* [The target directory contains an outdated copy of the repositories: use rsync](#the-target-directory-contains-an-outdated-copy-of-the-repositories-use-rsync) - * [Single rsync to another server](#single-rsync-to-another-server) -* [Thousands of Git repositories: use one rsync per repository](#thousands-of-git-repositories-use-one-rsync-per-repository) - * [Parallel rsync for all repositories known to GitLab](#parallel-rsync-for-all-repositories-known-to-gitlab) - * [Parallel rsync only for repositories with recent activity](#parallel-rsync-only-for-repositories-with-recent-activity) - -# Moving repositories managed by GitLab[](#moving-repositories-managed-by-gitlab "Permalink") - -有时,您需要将 GitLab 管理的所有存储库移至另一个文件系统或另一个服务器. 在本文档中,我们将介绍将所有存储库从`/var/opt/gitlab/git-data/repositories` `/mnt/gitlab/repositories`到`/mnt/gitlab/repositories` . - -我们将研究三种情况:目标目录为空,目标目录包含版本库的过时副本,以及如何处理数千个版本库. - -**我们列出的每种方法都可以/将覆盖目标目录`/mnt/gitlab/repositories` . 不要混淆源和目标.** - -## Target directory is empty: use a tar pipe[](#target-directory-is-empty-use-a-tar-pipe "Permalink") - -如果目标目录`/mnt/gitlab/repositories`为空,则最简单的操作是使用 tar 管道. 此方法的开销很低,并且 tar 几乎总是已安装在系统上. 但是,无法恢复中断的 tar 管道:如果发生这种情况,则必须再次复制所有数据. - -``` -sudo -u git sh -c 'tar -C /var/opt/gitlab/git-data/repositories -cf - -- . |\ - tar -C /mnt/gitlab/repositories -xf -' -``` - -如果要查看进度,请用`-xvf`替换`-xf` . - -### Tar pipe to another server[](#tar-pipe-to-another-server "Permalink") - -You can also use a tar pipe to copy data to another server. If your `git` user has SSH access to the new server as `git@newserver`, you can pipe the data through SSH. - -``` -sudo -u git sh -c 'tar -C /var/opt/gitlab/git-data/repositories -cf - -- . |\ - ssh git@newserver tar -C /mnt/gitlab/repositories -xf -' -``` - -如果您想在数据通过网络之前进行压缩(这将花费您的 CPU 周期),则可以将`ssh`替换为`ssh -C` . - -## The target directory contains an outdated copy of the repositories: use rsync[](#the-target-directory-contains-an-outdated-copy-of-the-repositories-use-rsync "Permalink") - -如果目标目录已经包含部分/过时的存储库副本,那么再次用 tar 复制所有数据可能会很浪费. 在这种情况下,最好使用 rsync. 该实用程序已经安装在系统上,也可以通过 apt,yum 等轻松安装. - -``` -sudo -u git sh -c 'rsync -a --delete /var/opt/gitlab/git-data/repositories/. \ - /mnt/gitlab/repositories' -``` - -`/.` 在上面的命令中非常重要,没有它,您很容易在目标目录中获得错误的目录结构. 如果要查看进度,请用`-av`替换`-a` . - -### Single rsync to another server[](#single-rsync-to-another-server "Permalink") - -如果源系统上的`git`用户对目标服务器具有 SSH 访问权限,则可以使用 rsync 通过网络发送存储库. - -``` -sudo -u git sh -c 'rsync -a --delete /var/opt/gitlab/git-data/repositories/. \ - git@newserver:/mnt/gitlab/repositories' -``` - -## Thousands of Git repositories: use one rsync per repository[](#thousands-of-git-repositories-use-one-rsync-per-repository "Permalink") - -每次启动 rsync 作业时,它都必须检查源目录中的所有文件,目标目录中的所有文件,然后确定要复制或不复制哪些文件. 如果源目录或目标目录中包含许多内容,则 rsync 的启动阶段可能会成为您的 GitLab 服务器的负担. 在这种情况下,可以通过将 rsync 的工作分成较小的部分来使 rsync 的工作变得更轻松,并一次同步一个存储库. - -除了 rsync 之外,我们还将使用[GNU Parallel](http://www.gnu.org/software/parallel/) . 该实用程序未包含在 GitLab 中,因此您需要使用 apt 或 yum 自己安装. 还要注意,我们在下面使用的 GitLab 脚本是在 GitLab 8.1 中添加的. - -**此过程不会清理源位置不再存在的目标位置的存储库.** 如果您开始在`/mnt/gitlab/repositories`使用 GitLab 实例,则需要在切换到新的存储库存储目录后运行`gitlab-rake gitlab:cleanup:repos` . - -### Parallel rsync for all repositories known to GitLab[](#parallel-rsync-for-all-repositories-known-to-gitlab "Permalink") - -这将一次将存储库与 10 个 rsync 进程同步. 我们会跟踪进度,以便在必要时可以重新开始传输. - -首先,我们创建一个新目录,由`git`拥有,以保存传输日志. 在开始传输过程之前,我们假定目录为空,并且我们是唯一在其中写入文件的目录. - -``` -# Omnibus -sudo mkdir /var/opt/gitlab/transfer-logs -sudo chown git:git /var/opt/gitlab/transfer-logs - -# Source -sudo -u git -H mkdir /home/git/transfer-logs -``` - -我们使用要复制的目录列表为该过程添加种子. - -``` -# Omnibus -sudo -u git sh -c 'gitlab-rake gitlab:list_repos > /var/opt/gitlab/transfer-logs/all-repos-$(date +%s).txt' - -# Source -cd /home/git/gitlab -sudo -u git -H sh -c 'bundle exec rake gitlab:list_repos > /home/git/transfer-logs/all-repos-$(date +%s).txt' -``` - -现在我们可以开始传输了. 下面的命令是幂等的,并且 GNU Parallel 完成的作业数应收敛为零. 如果不是这样,则`all-repos-1234.txt`列出的某些存储库在被复制之前可能已被删除/重命名. - -``` -# Omnibus -sudo -u git sh -c ' -cat /var/opt/gitlab/transfer-logs/* | sort | uniq -u |\ - /usr/bin/env JOBS=10 \ - /opt/gitlab/embedded/service/gitlab-rails/bin/parallel-rsync-repos \ - /var/opt/gitlab/transfer-logs/success-$(date +%s).log \ - /var/opt/gitlab/git-data/repositories \ - /mnt/gitlab/repositories -' - -# Source -cd /home/git/gitlab -sudo -u git -H sh -c ' -cat /home/git/transfer-logs/* | sort | uniq -u |\ - /usr/bin/env JOBS=10 \ - bin/parallel-rsync-repos \ - /home/git/transfer-logs/success-$(date +%s).log \ - /home/git/repositories \ - /mnt/gitlab/repositories -` -``` - -### Parallel rsync only for repositories with recent activity[](#parallel-rsync-only-for-repositories-with-recent-activity "Permalink") - -假设您已经完成了一次在 2015 年 10 月 1 日 12:00 UTC 之后开始的同步. 然后,您可能只想同步*在*那*之后*通过 GitLab 更改的存储库. 您可以使用`SINCE`变量告诉`rake gitlab:list_repos`仅打印具有最近活动的存储库. - -``` -# Omnibus -sudo gitlab-rake gitlab:list_repos SINCE='2015-10-1 12:00 UTC' |\ - sudo -u git \ - /usr/bin/env JOBS=10 \ - /opt/gitlab/embedded/service/gitlab-rails/bin/parallel-rsync-repos \ - success-$(date +%s).log \ - /var/opt/gitlab/git-data/repositories \ - /mnt/gitlab/repositories - -# Source -cd /home/git/gitlab -sudo -u git -H bundle exec rake gitlab:list_repos SINCE='2015-10-1 12:00 UTC' |\ - sudo -u git -H \ - /usr/bin/env JOBS=10 \ - bin/parallel-rsync-repos \ - success-$(date +%s).log \ - /home/git/repositories \ - /mnt/gitlab/repositories -``` \ No newline at end of file diff --git a/docs/481.md b/docs/481.md deleted file mode 100644 index 2dccfd2..0000000 --- a/docs/481.md +++ /dev/null @@ -1,365 +0,0 @@ -# Run multiple Sidekiq processes - -> 原文:[https://docs.gitlab.com/ee/administration/operations/extra_sidekiq_processes.html](https://docs.gitlab.com/ee/administration/operations/extra_sidekiq_processes.html) - -* [Available Sidekiq queues](#available-sidekiq-queues) -* [Start multiple processes](#start-multiple-processes) -* [Negate settings](#negate-settings) -* [Queue selector (experimental)](#queue-selector-experimental) - * [Available attributes](#available-attributes) - * [Available operators](#available-operators) - * [Example queries](#example-queries) - * [Disable Sidekiq cluster](#disable-sidekiq-cluster) -* [Ignore all GitHub import queues](#ignore-all-github-import-queues) -* [Number of threads](#number-of-threads) -* [Manage concurrency](#manage-concurrency) - * [When running Sidekiq cluster (default)](#when-running-sidekiq-cluster-default) - * [When running a single Sidekiq process](#when-running-a-single-sidekiq-process) -* [Modify the check interval](#modify-the-check-interval) -* [Troubleshoot using the CLI](#troubleshoot-using-the-cli) - * [Monitor the `sidekiq-cluster` command](#monitor-the-sidekiq-cluster-command) - * [PID files](#pid-files) - * [Environment](#environment) - -# Run multiple Sidekiq processes[](#run-multiple-sidekiq-processes-core-only "Permalink") - -GitLab 允许您启动多个 Sidekiq 进程. 这些过程可用于消耗一组专用队列. 这可以用来确保某些队列始终具有专用的工作程序,而不管需要处理的作业数量如何. - -**注意:**此页面中的信息仅适用于 Omnibus GitLab. - -## Available Sidekiq queues[](#available-sidekiq-queues "Permalink") - -For a list of the existing Sidekiq queues, check the following files: - -* [Queues for both GitLab Community and Enterprise Editions](https://gitlab.com/gitlab-org/gitlab/blob/master/app/workers/all_queues.yml) -* [Queues for GitLab Enterprise Editions only](https://gitlab.com/gitlab-org/gitlab/blob/master/ee/app/workers/all_queues.yml) - -以上文件中的每个条目都代表一个队列,可以在其上启动 Sidekiq 进程. - -## Start multiple processes[](#start-multiple-processes "Permalink") - -版本历史 - -* 在 GitLab 12.10 中[引入](https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/4006) ,使用 Sidekiq 集群启动多个进程. -* [Sidekiq 集群移至](https://gitlab.com/groups/gitlab-com/gl-infra/-/epics/181) GitLab 12.10 中的 GitLab [Core](https://about.gitlab.com/pricing/#self-managed) . -* [Sidekiq 集群](https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/4140)在 GitLab 13.0 中[成为默认设置](https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/4140) . - -To start multiple processes: - -1. 使用`sidekiq['queue_groups']`数组设置,指定使用`sidekiq-cluster`创建多少个进程以及它们应处理的队列. 数组中的每个项目都相当于一个附加的 Sidekiq 进程,并且每个项目中的值确定了它要处理的队列. - - 例如,以下设置创建三个 Sidekiq 过程,一到上运行`elastic_indexer` ,一到上运行`mailers` ,以及一个进程中运行的所有的队列: - - ``` - sidekiq['queue_groups'] = [ - "elastic_indexer", - "mailers", - "*" - ] - ``` - - 要让附加的 Sidekiq 进程处理多个队列,请将多个队列名称添加到其项目中,并以逗号分隔. 例如: - - ``` - sidekiq['queue_groups'] = [ - "elastic_indexer, elastic_commit_indexer", - "mailers", - "*" - ] - ``` - - [在 GitLab 12.9](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/26594)和更高版本中,特殊队列名称`*`表示所有队列. 这将启动两个进程,每个进程处理所有队列: - - ``` - sidekiq['queue_groups'] = [ - "*", - "*" - ] - ``` - - `*`不能与具体的队列名称结合使用- `*, mailers`将只处理`mailers`队列. - - 当`sidekiq-cluster`仅在单个节点上运行时,请使用`*`确保在所有队列上至少运行一个进程. 这意味着一个进程将自动在将来创建的队列中拾取作业. - - 如果`sidekiq-cluster`在多个节点上运行,则还可以使用[`--negate`](#negate-settings)并列出所有已在处理的队列. - -2. 保存文件并重新配置 GitLab,以使更改生效: - - ``` - sudo gitlab-ctl reconfigure - ``` - -添加了额外的 Sidekiq 进程后,导航至 GitLab 中的**管理区域>监视>后台作业** ( `/admin/background_jobs` ). - -[![Multiple Sidekiq processes](img/705d87c5c620f8ade251682fceb074e3.png)](img/sidekiq-cluster.png) - -## Negate settings[](#negate-settings "Permalink") - -若要使其他 Sidekiq 进程在您列出的队列**之外**的每个队列上工作: - -1. 在按照步骤[启动额外的流程之后](#start-multiple-processes) ,请编辑`/etc/gitlab/gitlab.rb`并添加: - - ``` - sidekiq['negate'] = true - ``` - -2. 保存文件并重新配置 GitLab,以使更改生效: - - ``` - sudo gitlab-ctl reconfigure - ``` - -## Queue selector (experimental)[](#queue-selector-experimental "Permalink") - -[Introduced](https://gitlab.com/gitlab-com/gl-infra/scalability/-/issues/45) in [GitLab Starter](https://about.gitlab.com/pricing/) 12.8. - -**注意:**由于这被标记为**实验性的** ,因此随时可能更改,包括**破坏向后兼容性** . 这样我们就可以对 GitLab.com 部署所需的更改做出反应. 我们存在一个跟踪问题,希望从此功能中[删除实验性名称](https://gitlab.com/gitlab-com/gl-infra/scalability/-/issues/147) ; 如果您有兴趣在自己的部署中使用它,请在此处发表评论. - -除了按名称选择队列之外,如上所述, `experimental_queue_selector`选项还允许使用以下组件以更通用的方式选择队列组: - -* 可以选择的属性. -* 用于构造查询的运算符. - -### Available attributes[](#available-attributes "Permalink") - -* 在 GitLab 13.1 中[引入](https://gitlab.com/gitlab-com/gl-infra/scalability/-/issues/261) , `tags` . - -从[所有可用属性](https://gitlab.com/gitlab-org/gitlab/-/blob/master/app/workers/all_queues.yml)的[列表中](https://gitlab.com/gitlab-org/gitlab/-/blob/master/app/workers/all_queues.yml) , `experimental_queue_selector`允许通过以下属性选择队列: - -* `feature_category`队列所属的[GitLab 功能类别](https://about.gitlab.com/direction/maturity/#category-maturity) . 例如, `merge`队列属于`source_code_management`类别. -* `has_external_dependencies`队列是否连接到外部服务. 例如,所有进口商都将此设置为`true` . -* `urgency` -快速运行此队列的重要性. 可以`high` , `low`或`throttled` . 例如, `authorized_projects`队列用于刷新用户权限,并且紧急度很高. -* `name` -队列名. 其他属性通常更有用,因为它们更通用,但这在需要选择特定队列的情况下可用. -* `resource_boundary`如果队列受`cpu` , `memory`或`unknown`绑定. 例如, `project_export`队列受内存限制,因为它必须先将数据加载到内存中,然后再保存以进行导出. -* `tags` -队列的短暂注释. 预计这些版本会在发行版本之间频繁更改,并且可能会完全删除. - -`has_external_dependencies`是布尔值属性:只有确切的字符串`true`才被视为 true,其他所有内容都被视为 false. - -`tags`是一个集合,这意味着`=`检查相交的集合,而`!=`检查不相交的集合. 例如, `tags=a,b`选择具有标签`a` , `b`或两者都有的队列. `tags!=a,b`选择没有这些标签的队列. - -### Available operators[](#available-operators "Permalink") - -`experimental_queue_selector`支持以下运算符,从最高优先级到最低优先级列出: - -* `|` -逻辑或运算符. 例如, `query_a|query_b` (此处的`query_a`和`query_b`是由其他运算符组成的查询)将包括与任一查询匹配的队列. -* `&` -逻辑 AND 运算符. 例如, `query_a&query_b` (此处的`query_a`和`query_b`是由其他运算符组成的查询)将仅包括与两个查询均匹配的队列. -* `!=` -NOT IN 运算符. 例如, `feature_category!=issue_tracking`将所有队列排除在`issue_tracking`功能类别之外. -* `=` -IN 运算符. 例如, `resource_boundary=cpu`包括所有受 CPU 约束的队列. -* `,` -串联集合运算符. 例如, `feature_category=continuous_integration,pages`包含来自`continuous_integration`类别或`pages`类别的所有队列. 使用 OR 运算符也可以使用此示例,但是它具有更高的简洁性,并且具有较低的优先级. - -此语法的运算符优先级是固定的:不可能使 AND 的优先级高于 OR. - -[In GitLab 12.9](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/26594) and later, as with the standard queue group syntax above, a single `*` as the entire queue group selects all queues. - -### Example queries[](#example-queries "Permalink") - -In `/etc/gitlab/gitlab.rb`: - -``` -sidekiq['enable'] = true -sidekiq['experimental_queue_selector'] = true -sidekiq['queue_groups'] = [ - # Run all non-CPU-bound queues that are high urgency - 'resource_boundary!=cpu&urgency=high', - # Run all continuous integration and pages queues that are not high urgency - 'feature_category=continuous_integration,pages&urgency!=high', - # Run all queues - '*' -] -``` - -### Disable Sidekiq cluster[](#disable-sidekiq-cluster "Permalink") - -**警告:**在 GitLab 14.0 中, [计划](https://gitlab.com/gitlab-com/gl-infra/scalability/-/issues/240)将 Sidekiq 群集作为启动 Sidekiq 的唯一方法. - -默认情况下,Sidekiq 服务将运行`sidekiq-cluster` . 若要禁用此行为,请将以下内容添加到 Sidekiq 配置中: - -``` -sidekiq['enable'] = true -sidekiq['cluster'] = false -``` - -所有上述提及的`sidekiq`配置选项均可用. 默认情况下,它们的配置如下: - -``` -sidekiq['experimental_queue_selector'] = false -sidekiq['interval'] = nil -sidekiq['max_concurrency'] = 50 -sidekiq['min_concurrency'] = nil -sidekiq['negate'] = false -sidekiq['queue_groups'] = ['*'] -sidekiq['shutdown_timeout'] = 25 -``` - -如果您决定如上所述配置集群,则必须禁用`sidekiq_cluster` . - -禁用`sidekiq_cluster` ,必须将`sidekiq_cluster`的配置复制到`sidekiq` . 任何配置成用于`sidekiq_cluster`将被覆盖由用于选项`sidekiq`设定时`sidekiq['cluster'] = true` . - -使用此功能时,名为`sidekiq`的服务现在将在运行`sidekiq-cluster` . - -将遵守为 Sidekiq 配置的[并发](#manage-concurrency)和其他选项. - -默认情况下, `sidekiq-cluster` `/var/log/gitlab/sidekiq`像常规的 Sidekiq 日志一样进入`/var/log/gitlab/sidekiq` . - -## Ignore all GitHub import queues[](#ignore-all-github-import-queues "Permalink") - -[从 GitHub 导入时](../../user/project/import/github.html) ,Sidekiq 可能会使用其所有资源来执行那些操作. 要设置一个单独的`sidekiq-cluster`进程以忽略所有与 GitHub 导入相关的队列: - -1. 编辑`/etc/gitlab/gitlab.rb`并添加: - - ``` - sidekiq['enable'] = true - sidekiq['negate'] = true - sidekiq['queue_groups'] = [ - "github_import_advance_stage", - "github_importer:github_import_import_diff_note", - "github_importer:github_import_import_issue", - "github_importer:github_import_import_note", - "github_importer:github_import_import_lfs_object", - "github_importer:github_import_import_pull_request", - "github_importer:github_import_refresh_import_jid", - "github_importer:github_import_stage_finish_import", - "github_importer:github_import_stage_import_base_data", - "github_importer:github_import_stage_import_issues_and_diff_notes", - "github_importer:github_import_stage_import_notes", - "github_importer:github_import_stage_import_lfs_objects", - "github_importer:github_import_stage_import_pull_requests", - "github_importer:github_import_stage_import_repository" - ] - ``` - -2. 保存文件并重新配置 GitLab,以使更改生效: - - ``` - sudo gitlab-ctl reconfigure - ``` - -## Number of threads[](#number-of-threads "Permalink") - -在`sidekiq`下定义的每个进程都以等于队列数的线程数开始,再加上一个备用线程. 例如,处理`process_commit`和`post_receive`队列的进程将总共使用三个线程. - -## Manage concurrency[](#manage-concurrency "Permalink") - -设置最大并发数时,请记住,这通常不应超过可用的 CPU 内核数. 以下示例中的值是任意的,不是特别的建议. - -Each thread requires a Redis connection, so adding threads may increase Redis latency and potentially cause client timeouts. See the [Sidekiq documentation about Redis](https://github.com/mperham/sidekiq/wiki/Using-Redis) for more details. - -### When running Sidekiq cluster (default)[](#when-running-sidekiq-cluster-default "Permalink") - -在 GitLab 13.0 和更高版本中,默认运行 Sidekiq 群集. - -1. 编辑`/etc/gitlab/gitlab.rb`并添加: - - ``` - sidekiq['min_concurrency'] = 15 - sidekiq['max_concurrency'] = 25 - ``` - -2. 保存文件并重新配置 GitLab,以使更改生效: - - ``` - sudo gitlab-ctl reconfigure - ``` - -`min_concurrency`和`max_concurrency`是独立的; 一个可以不设置另一个. 将`min_concurrency`设置为 0 将禁用该限制. - -对于每个队列组,令 N 为队列数多一. 并发因子将设置为: - -1. `N` ,如果它介于`min_concurrency`和`max_concurrency`之间. -2. `max_concurrency` ,如果`N`超过此值. -3. `min_concurrency` ,如果`N`小于此值. - -如果`min_concurrency`等于`max_concurrency` ,那么无论队列数量如何,都将使用此值. - -当`min_concurrency`大于`max_concurrency` ,它将被视为等于`max_concurrency` . - -### When running a single Sidekiq process[](#when-running-a-single-sidekiq-process "Permalink") - -在 GitLab 12.10 及更早版本中,默认运行单个 Sidekiq 进程. - -**警告:**计划在 GitLab [14.0 中](https://gitlab.com/gitlab-com/gl-infra/scalability/-/issues/240)删除直接运行 Sidekiq. - -1. 编辑`/etc/gitlab/gitlab.rb`并添加: - - ``` - sidekiq['cluster'] = false - sidekiq['concurrency'] = 25 - ``` - -2. 保存文件并重新配置 GitLab,以使更改生效: - - ``` - sudo gitlab-ctl reconfigure - ``` - -这将设置 Sidekiq 进程的并发性(线程数). - -## Modify the check interval[](#modify-the-check-interval "Permalink") - -修改其他 Sidekiq 进程的检查间隔: - -1. 编辑`/etc/gitlab/gitlab.rb`并添加: - - ``` - sidekiq['interval'] = 5 - ``` - -2. 保存文件并[重新配置 GitLab,](../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -这告诉其他进程多久检查一次排队的作业. - -## Troubleshoot using the CLI[](#troubleshoot-using-the-cli "Permalink") - -**警告:**建议使用`/etc/gitlab/gitlab.rb`来配置 Sidekiq 进程. 如果遇到问题,应联系 GitLab 支持. 使用命令行需要您自担风险. - -为了进行调试,可以使用命令`/opt/gitlab/embedded/service/gitlab-rails/bin/sidekiq-cluster`启动额外的 Sidekiq 进程. 此命令使用以下语法获取参数: - -``` -/opt/gitlab/embedded/service/gitlab-rails/bin/sidekiq-cluster [QUEUE,QUEUE,...] [QUEUE, ...] -``` - -每个单独的参数表示一组必须由 Sidekiq 进程处理的队列. 多个队列可以通过相同的过程来处理,方法是用逗号而不是空格将它们分开. - -除了队列,还可以提供队列名称空间,以使进程自动侦听该名称空间中的所有队列,而无需显式列出所有队列名称. 有关队列名称空间的更多信息,请参见[Sidekiq 样式指南中](../../development/sidekiq_style_guide.html#queue-namespaces)的相关部分. - -例如,假设您要启动两个额外的进程:一个进程处理`process_commit`队列,另一个进程处理`post_receive`队列. 可以按以下步骤完成: - -``` -/opt/gitlab/embedded/service/gitlab-rails/bin/sidekiq-cluster process_commit post_receive -``` - -如果您想启动一个处理两个队列的进程,则可以使用以下语法: - -``` -/opt/gitlab/embedded/service/gitlab-rails/bin/sidekiq-cluster process_commit,post_receive -``` - -如果您想让一个 Sidekiq 进程处理`process_commit`和`post_receive`队列,以及一个进程来处理`gitlab_shell`队列,则可以使用以下命令: - -``` -/opt/gitlab/embedded/service/gitlab-rails/bin/sidekiq-cluster process_commit,post_receive gitlab_shell -``` - -### Monitor the `sidekiq-cluster` command[](#monitor-the-sidekiq-cluster-command "Permalink") - -一旦启动了所需数量的 Sidekiq 进程, `sidekiq-cluster`命令将不会终止. 相反,该进程将继续运行并将所有信号转发到子进程. 这使停止所有 Sidekiq 进程变得容易,因为您只需将信号发送到`sidekiq-cluster`进程即可,而不必将其发送到各个进程. - -如果`sidekiq-cluster`进程崩溃或收到`SIGKILL` ,则子进程将在几秒钟后终止. 这样可以确保您不会遇到僵尸 Sidekiq 进程. - -所有这些使监视过程变得相当容易. 只需将`sidekiq-cluster`到您选择的主管(例如 runit),就可以了. - -如果子进程死亡, `sidekiq-cluster`命令将发出信号通知所有剩余进程终止,然后终止自身. 这样就不需要`sidekiq-cluster`来重新实现复杂的过程监控/重新启动代码. 相反,您应该确保主管在必要时重新启动`sidekiq-cluster`过程. - -### PID files[](#pid-files "Permalink") - -`sidekiq-cluster`命令可以将其 PID 存储在文件中. 默认情况下,不会写入任何 PID 文件,但是可以通过将`--pidfile`选项传递给`sidekiq-cluster`来更改此文件. 例如: - -``` -/opt/gitlab/embedded/service/gitlab-rails/bin/sidekiq-cluster --pidfile /var/run/gitlab/sidekiq_cluster.pid process_commit -``` - -请记住,PID 文件将包含`sidekiq-cluster`命令的 PID,而不包含已启动的 Sidekiq 进程的 PID. - -### Environment[](#environment "Permalink") - -可以通过将`--environment`标志传递给`sidekiq-cluster`命令或将`RAILS_ENV`设置为非空值来设置 Rails 环境. 可以在`/opt/gitlab/etc/gitlab-rails/env/RAILS_ENV`找到默认值. \ No newline at end of file diff --git a/docs/482.md b/docs/482.md deleted file mode 100644 index 5ded9bf..0000000 --- a/docs/482.md +++ /dev/null @@ -1,47 +0,0 @@ -# Sidekiq MemoryKiller - -> 原文:[https://docs.gitlab.com/ee/administration/operations/sidekiq_memory_killer.html](https://docs.gitlab.com/ee/administration/operations/sidekiq_memory_killer.html) - -* [Configuring the MemoryKiller](#configuring-the-memorykiller) - -# Sidekiq MemoryKiller[](#sidekiq-memorykiller "Permalink") - -GitLab Rails 应用程序代码遭受内存泄漏. 对于 Web 请求,可以使用[`puma-worker-killer`](https://github.com/schneems/puma_worker_killer)来解决此问题,如果超过内存限制,它将重新启动 Puma worker 进程. Sidekiq MemoryKiller 对 GitLab 用来处理后台作业的 Sidekiq 进程采用相同的方法. - -与 puma-worker-killer(自 GitLab 13.0 起默认对所有 GitLab 安装启用)不同,Sidekiq MemoryKiller 默认*仅对* Omnibus 软件包启用. 这样做的原因是,MemoryKiller 依赖于 runit 在内存引起的关闭之后重新启动 Sidekiq,并且从源头安装 GitLab 并不全部使用 runit 或等效版本. - -使用默认设置,MemoryKiller 将使 Sidekiq 重新启动的频率不超过每 15 分钟一次,并且重新启动会为传入的后台作业造成大约一分钟的延迟. - -一些后台作业依赖于长时间运行的外部流程. 为确保在重启 Sidekiq 时将它们彻底终止,每个 Sidekiq 进程应以进程组负责人的身份运行(例如,使用`chpst -P` ). 如果使用 Omnibus 或安装了`runit`的`bin/background_jobs`脚本, `runit`为您处理. - -## Configuring the MemoryKiller[](#configuring-the-memorykiller "Permalink") - -使用环境变量控制 MemoryKiller. - -* `SIDEKIQ_DAEMON_MEMORY_KILLER` :默认为 0.设置为 1 时,MemoryKiller 在*守护程序*模式下工作. 否则,MemoryKiller 将在*旧*模式下工作. - - 在*传统*模式下,MemoryKiller 在每个作业后检查 Sidekiq 进程 RSS. - - 在*守护程序*模式下,MemoryKiller 每 3 秒检查一次 Sidekiq 进程 RSS(由`SIDEKIQ_MEMORY_KILLER_CHECK_INTERVAL`定义). - -* `SIDEKIQ_MEMORY_KILLER_MAX_RSS` (KB):如果设置了此变量,并且其值大于 0,则启用 MemoryKiller. 否则,将禁用 MemoryKiller. - - `SIDEKIQ_MEMORY_KILLER_MAX_RSS`定义了 Sidekiq 进程允许的 RSS. - - 在*传统*模式下,如果 Sidekiq 进程超出允许的 RSS,则将触发不可逆的延迟正常重启. Sidekiq 的重启将在`SIDEKIQ_MEMORY_KILLER_GRACE_TIME`秒后发生. - - 在*守护程序*模式下,如果 Sidekiq 进程超出允许的 RSS 的时间超过`SIDEKIQ_MEMORY_KILLER_GRACE_TIME` ,则将触发正常重启. 如果 Sidekiq 进程在`SIDEKIQ_MEMORY_KILLER_GRACE_TIME`内低于允许的 RSS,则重新启动将被中止. - - Omnibus 软件包的默认值[在 Omnibus GitLab 存储库中设置](https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-cookbooks/gitlab/attributes/default.rb) . - -* `SIDEKIQ_MEMORY_KILLER_HARD_LIMIT_RSS` (KB):由*守护程序*模式使用. 如果 Sidekiq 进程 RSS(以千字节为单位)超过`SIDEKIQ_MEMORY_KILLER_HARD_LIMIT_RSS` ,则会立即立即正常重启 Sidekiq. - -* `SIDEKIQ_MEMORY_KILLER_CHECK_INTERVAL` :在*守护程序*模式下用于定义检查进程 RSS 的频率,默认为 3 秒. - -* `SIDEKIQ_MEMORY_KILLER_GRACE_TIME` :默认为 900 秒(15 分钟). 此变量的用法描述为`SIDEKIQ_MEMORY_KILLER_MAX_RSS`一部分. - -* `SIDEKIQ_MEMORY_KILLER_SHUTDOWN_WAIT` :默认为 30 秒. 这定义了所有 Sidekiq 作业完成所允许的最长时间. 在此期间将不接受任何新作业,并且所有作业完成后该过程将立即退出. - - 如果作业在此期间未完成,则 MemoryKiller 将通过将`SIGTERM`发送到 Sidekiq 进程来中断所有当前正在运行的作业. - - If the process hard shutdown/restart is not performed by Sidekiq, the Sidekiq process will be forcefully terminated after `Sidekiq.options[:timeout] * 2` seconds. An external supervision mechanism (e.g. runit) must restart Sidekiq afterwards. \ No newline at end of file diff --git a/docs/483.md b/docs/483.md deleted file mode 100644 index d086535..0000000 --- a/docs/483.md +++ /dev/null @@ -1,46 +0,0 @@ -# Switching to Puma - -> 原文:[https://docs.gitlab.com/ee/administration/operations/puma.html](https://docs.gitlab.com/ee/administration/operations/puma.html) - -* [Why switch to Puma?](#why-switch-to-puma) -* [Configuring Puma to replace Unicorn](#configuring-puma-to-replace-unicorn) -* [Performance caveat when using Puma with Rugged](#performance-caveat-when-using-puma-with-rugged) - -# Switching to Puma[](#switching-to-puma "Permalink") - -从 GitLab 12.9 开始, [Puma](https://github.com/puma/puma)取代了[Unicorn](https://yhbt.net/unicorn/) . 作为默认的 Web 服务器. 在 GitLab 13.0 中,除非明确配置为不运行,否则以下命令将运行 Puma 而不是 Unicorn: - -* 基于软件包的多合一安装. -* 基于舵图的安装. - -## Why switch to Puma?[](#why-switch-to-puma "Permalink") - -Puma 具有多线程体系结构,与像 Unicorn 这样的多进程应用程序服务器相比,它使用的内存更少. 在 GitLab.com 上,我们发现内存消耗减少了 40%. - -大多数 Rails 应用程序请求通常都包含一定比例的 I / O 等待时间. 在 I / O 等待时间内,MRI Ruby 将释放 GVL(全局 VM 锁定)到其他线程. 因此,多线程 Puma 仍然可以处理比单个进程更多的请求. - -## Configuring Puma to replace Unicorn[](#configuring-puma-to-replace-unicorn "Permalink") - -从 GitLab 13.0 开始,Puma 是默认的应用程序服务器. 我们计划在 GitLab 14.0 中删除对 Unicorn 的支持. - -切换到 Puma 时,由于两个应用程序服务器之间的差异,Unicorn 服务器配置将*不会*自动继承. 对于基于 Omnibus 的部署,请参阅" [配置 Puma 设置"](https://docs.gitlab.com/omnibus/settings/puma.html) . 对于基于 Helm 的部署,请参阅[Webservice Chart 文档](https://docs.gitlab.com/charts/charts/gitlab/webservice/index.html) . - -此外,由于 Unicorn 和 Puma 在重新启动服务期间如何处理连接方面存在差异,因此我们强烈建议多节点部署[将其负载平衡器配置为利用就绪检查](../high_availability/load_balancer.html#readiness-check) . - -## Performance caveat when using Puma with Rugged[](#performance-caveat-when-using-puma-with-rugged "Permalink") - -对于使用 NFS 存储 Git 存储库的部署,我们允许 GitLab 使用[直接 Git 访问](../gitaly/index.html#direct-access-to-git-in-gitlab)来使用[Rugged](https://github.com/libgit2/rugged)来提高性能. - -坚固耐用的使用,将自动启用,如果直接 Git 的访问[可用](../gitaly/index.html#how-it-works) ,除非它被禁用[的功能标志](../../development/gitaly.html#legacy-rugged-code) . - -MRI Ruby 使用 GVL. 这使得 MRI Ruby 可以是多线程的,但最多只能在单个内核上运行. 由于 Rugged 可以长时间使用线程(由于 Git 访问的密集 I / O 操作),因此这可能会使可能正在处理请求的其他线程饿死. 对于在单线程模式下运行的 Unicorn 或 Puma 而言,情况并非如此,因为最多同时处理一个请求. - -我们正在积极致力于消除 Rugged 的使用. 即使没有 Rugged 的性能今天已经可以接受,但在某些情况下使用它仍然可能是有益的. - -考虑到使用多线程 Puma 运行 Rugged 的警告,以及 Gitaly 可接受的性能,如果使用 Puma 多线程(当 Puma 配置为使用多个线程运行时),我们将禁用 Rugged 的使用. - -在某些情况下,此默认行为可能不是最佳配置. 如果 Rugged 在您的部署中起着重要作用,我们建议您进行基准测试以找到最佳配置: - -* 最安全的选择是从单线程 Puma 开始. 与 Rugged 一起使用时,单线程 Puma 的工作原理与 Unicorn 相同. - -* 要对多线程 Puma 进行 Rugged 自动检测,可以使用[功能标志](../../development/gitaly.html#legacy-rugged-code) . \ No newline at end of file diff --git a/docs/484.md b/docs/484.md deleted file mode 100644 index 65d3103..0000000 --- a/docs/484.md +++ /dev/null @@ -1,70 +0,0 @@ -# Understanding Unicorn and unicorn-worker-killer - -> 原文:[https://docs.gitlab.com/ee/administration/operations/unicorn.html](https://docs.gitlab.com/ee/administration/operations/unicorn.html) - -* [Unicorn](#unicorn) - * [Tunable options](#tunable-options) -* [unicorn-worker-killer](#unicorn-worker-killer) - -# Understanding Unicorn and unicorn-worker-killer[](#understanding-unicorn-and-unicorn-worker-killer "Permalink") - -**注意:**从 GitLab 13.0 开始,Puma 是基于 GitLab 多合一软件包的安装以及 GitLab Helm 图表部署中使用的默认 Web 服务器. - -## Unicorn[](#unicorn "Permalink") - -GitLab uses [Unicorn](https://yhbt.net/unicorn/), a pre-forking Ruby web server, to handle web requests (web browsers and Git HTTP clients). Unicorn is a daemon written in Ruby and C that can load and run a Ruby on Rails application; in our case the Rails application is GitLab Community Edition or GitLab Enterprise Edition. - -Unicorn 具有多进程架构,可以更好地利用可用的 CPU 内核(进程可以在不同的内核上运行),并具有更强的容错能力(大多数故障仅隔离在一个进程中,无法完全关闭 GitLab). 启动时,Unicorn 的"主"进程使用 GitLab 应用程序代码加载一个干净的 Ruby 环境,然后生成继承此干净的初始环境的"工人". "主人"从不处理任何留给工人的请求. 操作系统网络堆栈将传入的请求排队,并在工作进程之间分配它们. - -在一个理想的世界中,主服务器将生成一个工人池,然后工人依次处理传入的 Web 请求,直到时间结束. 实际上,工作进程可能崩溃或超时:如果主服务器注意到工作时间过长,无法处理请求,它将以 SIGKILL(" kill -9")终止工作进程. 无论工作进程如何结束,主进程都将再次用新的"干净"进程替换它. Unicorn 的设计宗旨是能够替换"崩溃的"工人,而无需放弃用户的要求. - -这就是`unicorn_stderr.log`的 Unicorn worker 超时. 主过程具有下面的 PID 56227. - -``` -[2015-06-05T10:58:08.660325 #56227] ERROR -- : worker=10 PID:53009 timeout (61s > 60s), killing -[2015-06-05T10:58:08.699360 #56227] ERROR -- : reaped # worker=10 -[2015-06-05T10:58:08.708141 #62538] INFO -- : worker=10 spawned pid=62538 -[2015-06-05T10:58:08.708824 #62538] INFO -- : worker=10 ready -``` - -### Tunable options[](#tunable-options "Permalink") - -Unicorn 的主要可调选项是工作进程数和请求超时,之后 Unicorn 主服务器终止工作进程. 如果要调整这些设置,请参见[Omnibus GitLab Unicorn 设置文档](https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/unicorn.html) . - -## unicorn-worker-killer[](#unicorn-worker-killer "Permalink") - -GitLab 内存泄漏. 这些内存泄漏在长时间运行的进程(例如 Unicorn 工作者)中表现出来. (不知道 Unicorn 主进程会泄漏内存,可能是因为它无法处理用户请求.) - -为了使这些内存泄漏易于管理,GitLab 随附了[unicorn-worker-killer gem](https://github.com/kzk/unicorn-worker-killer) . 每隔 16 个请求,这只宝石[猴就会](https://en.wikipedia.org/wiki/Monkey_patch)给独角兽工人打[补丁](https://en.wikipedia.org/wiki/Monkey_patch)以进行内存自检. 如果 Unicorn worker 的内存超过预设限制,则退出 worker 进程. 然后,Unicorn 主服务器自动替换工作进程. - -这是处理内存泄漏的可靠方法:Unicorn 旨在处理"崩溃"的工作程序,因此不会丢弃任何用户请求. unicorn-worker-killer gem 被设计为仅*在请求之间*终止工作进程,因此不会影响用户请求. 您可以通过设置以下值`/etc/gitlab/gitlab.rb`来设置 Unicorn worker killer 的最小和最大内存阈值(以字节为单位): - -* 对于 GitLab **12.7**及更高版本: - - ``` - unicorn['worker_memory_limit_min'] = "1024 * 1 << 20" - unicorn['worker_memory_limit_max'] = "1280 * 1 << 20" - ``` - -* 对于 GitLab **12.6**及更高版本: - - ``` - unicorn['worker_memory_limit_min'] = "400 * 1 << 20" - unicorn['worker_memory_limit_max'] = "650 * 1 << 20" - ``` - -否则,您可以设置`GITLAB_UNICORN_MEMORY_MIN`和`GITLAB_UNICORN_MEMORY_MAX` [环境变量](../environment_variables.html) . - -这就是 Unicorn_stderr.log 中的 Unicorn 工作程序内存重新启动的样子. 您看到工作程序 4(PID 125918)正在检查自己并决定退出. 内存阈值是 254802235 字节,大约 250MB. 对于 GitLab,此阈值是 200 到 250 MB 之间的随机值. 然后,主进程(PID 117565)接收工作进程,并生成具有 PID 127549 的新"工作进程 4". - -``` -[2015-06-05T12:07:41.828374 #125918] WARN -- : #: worker (pid: 125918) exceeds memory limit (256413696 bytes > 254802235 bytes) -[2015-06-05T12:07:41.828472 #125918] WARN -- : Unicorn::WorkerKiller send SIGQUIT (pid: 125918) alive: 23 sec (trial 1) -[2015-06-05T12:07:42.025916 #117565] INFO -- : reaped # worker=4 -[2015-06-05T12:07:42.034527 #127549] INFO -- : worker=4 spawned pid=127549 -[2015-06-05T12:07:42.035217 #127549] INFO -- : worker=4 ready -``` - -从 GitLab.com 上摘录的另一段日志摘要是," worker 4"仅在 23 秒内处理请求. 对于我们当前的 GitLab.com 设置和流量,这是正常值. - -在某些 GitLab 网站上,独角兽内存重新启动的频率很高,可能会使管理员感到困惑. 通常他们是[红鲱鱼](https://en.wikipedia.org/wiki/Red_herring) . \ No newline at end of file diff --git a/docs/485.md b/docs/485.md deleted file mode 100644 index 54978c3..0000000 --- a/docs/485.md +++ /dev/null @@ -1,119 +0,0 @@ -# User lookup via OpenSSH's AuthorizedPrincipalsCommand - -> 原文:[https://docs.gitlab.com/ee/administration/operations/ssh_certificates.html](https://docs.gitlab.com/ee/administration/operations/ssh_certificates.html) - -* [Why use OpenSSH certificates?](#why-use-openssh-certificates) -* [Setting up SSH certificate lookup via GitLab Shell](#setting-up-ssh-certificate-lookup-via-gitlab-shell) -* [Principals and security](#principals-and-security) -* [Interaction with the `authorized_keys` file](#interaction-with-the-authorized_keys-file) -* [Other security caveats](#other-security-caveats) -* [Disabling the global warning about users lacking SSH keys](#disabling-the-global-warning-about-users-lacking-ssh-keys) - -# User lookup via OpenSSH’s AuthorizedPrincipalsCommand[](#user-lookup-via-opensshs-authorizedprincipalscommand "Permalink") - -> [在](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/19911) GitLab 社区版 11.2 中[可用](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/19911) . - -GitLab 的默认 SSH 身份验证要求用户上载 SSH 公钥,然后才能使用 SSH 传输. - -在集中式(例如公司)环境中,这在操作上可能会很麻烦,特别是如果 SSH 密钥是颁发给用户的临时密钥,例如在发行后 24 小时过期的临时密钥. - -在这种设置中,需要一些外部自动化过程来不断将新密钥上载到 GitLab. - -> **警告:需要** OpenSSH 6.9+版本,因为该版本引入了`AuthorizedPrincipalsCommand`配置选项. 如果使用 CentOS 6,则可以[按照以下说明](fast_ssh_key_lookup.html#compiling-a-custom-version-of-openssh-for-centos-6)来编译最新版本. - -## Why use OpenSSH certificates?[](#why-use-openssh-certificates "Permalink") - -通过使用 OpenSSH 证书,有关 GitLab 上用户拥有密钥的所有信息都被编码在密钥本身中,并且 OpenSSH 自身保证用户无法伪造此信息,因为他们需要访问私有 CA 签名密钥. - -正确设置后,就不需要完全将用户 SSH 密钥上传到 GitLab. - -## Setting up SSH certificate lookup via GitLab Shell[](#setting-up-ssh-certificate-lookup-via-gitlab-shell "Permalink") - -如何完全设置 SSH 证书不在本文档的范围之内. 请参阅[OpenSSH 的`PROTOCOL.certkeys`](https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/PROTOCOL.certkeys?annotate=HEAD)了解其工作方式,例如[RedHat 的文档](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/sec-using_openssh_certificate_authentication) . - -我们假设您已经设置了 SSH 证书,并且已经将 CA 的`TrustedUserCAKeys`添加到了`sshd_config` ,例如: - -``` -TrustedUserCAKeys /etc/security/mycompany_user_ca.pub -``` - -通常,在这种设置中, `TrustedUserCAKeys`不会在" `Match User git`范围内,因为它也将用于系统登录到 GitLab 服务器本身,但是您的设置可能会有所不同. 如果 CA 仅用于 GitLab,请考虑将其放在" `Match User git`部分(如下所述). - -由该 CA 颁发的 SSH 证书**务必**具有与该用户在 GitLab 上的用户名相对应的"密钥 ID",例如(为简洁起见,省略了一些输出): - -``` -$ ssh-add -L | grep cert | ssh-keygen -L -f - - -(stdin):1: - Type: ssh-rsa-cert-v01@openssh.com user certificate - Public key: RSA-CERT SHA256:[...] - Signing CA: RSA SHA256:[...] - Key ID: "aearnfjord" - Serial: 8289829611021396489 - Valid: from 2018-07-18T09:49:00 to 2018-07-19T09:50:34 - Principals: - sshUsers - [...] - [...] -``` - -从技术上讲,这不是完全正确,例如,它可以`prod-aearnfjord`如果它是你通常会登录到服务器作为一个 SSH 证书`prod-aearnfjord`用户,但你必须指定自己的`AuthorizedPrincipalsCommand`做映射,而不是使用我们提供的默认. - -重要的是, `AuthorizedPrincipalsCommand`必须能够以某种方式从"密钥 ID"映射到 GitLab 用户名,我们提供的默认命令假设两者之间存在 1 = 1 的映射,因为这样做的重点是允许我们从密钥本身提取 GitLab 用户名,而不是依赖默认的公共密钥到用户名的映射. - -然后,在您的`sshd_config`为`git`用户设置`AuthorizedPrincipalsCommand` . 希望您可以使用 GitLab 随附的默认值: - -``` -Match User git - AuthorizedPrincipalsCommandUser root - AuthorizedPrincipalsCommand /opt/gitlab/embedded/service/gitlab-shell/bin/gitlab-shell-authorized-principals-check %i sshUsers -``` - -该命令将发出类似于以下内容的输出: - -``` -command="/opt/gitlab/embedded/service/gitlab-shell/bin/gitlab-shell username-{KEY_ID}",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty {PRINCIPAL} -``` - -其中`{KEY_ID}`是传递给脚本的`%i`参数(例如`aeanfjord` ),而`{PRINCIPAL}`是传递给脚本的主体(例如`sshUsers` ). - -您将需要自定义其中的`sshUsers`部分. 对于可以登录到 GitLab 的所有用户,它应该是一定要保证是密钥的一部分的主体,或者您必须提供一个主体列表,其中一个将提供给用户,例如: - -``` - [...] - AuthorizedPrincipalsCommand /opt/gitlab/embedded/service/gitlab-shell/bin/gitlab-shell-authorized-principals-check %i sshUsers windowsUsers -``` - -## Principals and security[](#principals-and-security "Permalink") - -您可以根据需要提供任意数量的委托人,这些委托人将变成多行`authorized_keys`输出,如`sshd_config(5)`中的`AuthorizedPrincipalsFile`文档中所述. - -通常,将`AuthorizedKeysCommand`与 OpenSSH 一起使用时,主体是允许登录到该服务器的某个"组". 但是,在 GitLab 中,它仅用于满足 OpenSSH 的要求,我们实际上只关心"密钥 ID"的正确性. 一旦解压缩,GitLab 将为该用户强制执行自己的 ACL(例如,用户可以访问哪些项目). - -因此,例如对用户接受的内容过分慷慨是可以的,因为如果用户(例如)根本无法访问 GitLab,它只会出错并显示一条有关该用户无效的消息. - -## Interaction with the `authorized_keys` file[](#interaction-with-the-authorized_keys-file "Permalink") - -SSH 证书可以与`authorized_keys`文件结合使用,并且如果按照上述`authorized_keys`文件的配置进行设置,它仍将作为后备. - -这是因为,如果`AuthorizedPrincipalsCommand`无法对用户进行身份验证,则 OpenSSH 将回退到`~/.ssh/authorized_keys` (或`AuthorizedKeysCommand` )上. - -因此,仍然有理由结合使用["在数据库中快速查找授权的 SSH 密钥"](fast_ssh_key_lookup.html)方法. 由于您将对所有普通用户使用 SSH 证书,并且如果使用密钥,则依靠`~/.ssh/authorized_keys`后备来部署密钥. - -但是您可能会发现没有必要这样做,因为所有普通用户都将使用快速的`AuthorizedPrincipalsCommand`路径,并且只有自动部署密钥访问才会落在`~/.ssh/authorized_keys` ,或者您还有更多的密钥可以使用普通用户(尤其是续订的用户)比您拥有的部署密钥. - -## Other security caveats[](#other-security-caveats "Permalink") - -用户仍然可以通过手动将 SSH 公钥上载到他们的配置文件中来绕过 SSH 证书身份验证,依靠`~/.ssh/authorized_keys`后备来对其进行身份验证. 当前没有阻止它的功能, [但是有一个添加它的公开请求](https://gitlab.com/gitlab-org/gitlab/-/issues/23260) . - -当前,可以通过提供一个自定义的`AuthorizedKeysCommand`来破解这种限制,该命令可检查从`gitlab-shell-authorized-keys-check`返回的已发现密钥 ID `gitlab-shell-authorized-keys-check`为部署密钥(应拒绝所有非部署密钥). - -## Disabling the global warning about users lacking SSH keys[](#disabling-the-global-warning-about-users-lacking-ssh-keys "Permalink") - -默认情况下,GitLab 将向尚未将 SSH 密钥上载到其配置文件的用户显示"您将无法通过 SSH 推送或推送项目代码"警告. - -This is counterproductive when using SSH certificates, since users aren’t expected to upload their own keys. - -要全局禁用此警告,请转到"应用程序设置->帐户和限制设置",然后禁用"显示用户添加 SSH 密钥消息"设置. - -This setting was added specifically for use with SSH certificates, but can be turned off without using them if you’d like to hide the warning for some other reason. \ No newline at end of file diff --git a/docs/486.md b/docs/486.md deleted file mode 100644 index 9acddd8..0000000 --- a/docs/486.md +++ /dev/null @@ -1,176 +0,0 @@ -# GitLab Package Registry administration - -> 原文:[https://docs.gitlab.com/ee/administration/packages/](https://docs.gitlab.com/ee/administration/packages/) - -* [Enabling the Packages feature](#enabling-the-packages-feature) -* [Changing the storage path](#changing-the-storage-path) - * [Changing the local storage path](#changing-the-local-storage-path) - * [Using object storage](#using-object-storage) - * [Migrating local packages to object storage](#migrating-local-packages-to-object-storage) - -# GitLab Package Registry administration[](#gitlab-package-registry-administration-premium-only "Permalink") - -GitLab 软件包允许组织将 GitLab 用作各种常见软件包管理器的私有存储库. 用户能够构建和发布程序包,这些程序包可以很容易地作为下游项目中的依赖项使用. - -软件包功能允许 GitLab 充当以下内容的存储库: - -| 软件库 | Description | 在 GitLab 版本中可用 | -| --- | --- | --- | -| [PyPi Repository](../../user/packages/pypi_repository/index.html) | GitLab PyPi 存储库使 GitLab 中的每个项目都有自己的空间来存储[PyPi](https://s0pypi0org.icopy.site/)软件包. | 12.10+ | -| [Composer Repository](../../user/packages/composer_repository/index.html) | GitLab Composer 存储库使 GitLab 中的每个项目都有自己的空间来存储[Composer](https://s0getcomposer0org.icopy.site/)软件包. | 13.1+ | -| [NuGet Repository](../../user/packages/nuget_repository/index.html) | GitLab NuGet 存储库使 GitLab 中的每个项目都有自己的空间来存储[NuGet](https://www.nuget.org/)软件包. | 12.8+ | -| [Conan Repository](../../user/packages/conan_repository/index.html) | GitLab 柯南存储库使 GitLab 中的每个项目都有自己的空间来存储[柯南](https://conan.io/)软件包. | 12.4+ | -| [Maven Repository](../../user/packages/maven_repository/index.html) | GitLab Maven 存储库使 GitLab 中的每个项目都有自己的空间来存储[Maven](https://maven.apache.org/)软件包. | 11.3+ | -| [NPM Registry](../../user/packages/npm_registry/index.html) | GitLab NPM 注册表使 GitLab 中的每个项目都有自己的空间来存储[NPM](https://s0www0npmjs0com.icopy.site/)软件包. | 11.7+ | -| [Go Proxy](../../user/packages/go_proxy/index.html) | GitLab 的 Go 代理使 GitLab 中的每个项目都可以通过[Go 代理协议](https://proxy.golang.org/)获取. | 13.1+ | - -您没有看到您的包裹管理系统受支持吗? 请考虑为 GitLab 做贡献. 此[开发文档](../../development/packages.html)将指导您完成该过程. - -## Enabling the Packages feature[](#enabling-the-packages-feature "Permalink") - -**注意:**启用"软件包"功能后,默认情况下,存储库可用于所有新项目. 要为现有项目启用它,用户将必须在项目的设置中明确启用它. - -要启用包功能: - -**所有装置 GitLab** - -1. 编辑`/etc/gitlab/gitlab.rb`并添加以下行: - - ``` - gitlab_rails['packages_enabled'] = true - ``` - -2. 保存文件并[重新配置 GitLab,](../restart_gitlab.html#omnibus-gitlab-reconfigure "如何重新配置​​Omnibus GitLab")以使更改生效. - -**从源安装** - -1. 安装完成后,您将必须在`config/gitlab.yml`中`config/gitlab.yml` `packages`部分. 设置为`true`以启用它: - - ``` - packages: - enabled: true - ``` - -2. [重新启动 GitLab,](../restart_gitlab.html#omnibus-gitlab-reconfigure "如何重新配置​​Omnibus GitLab")以使更改生效. - -## Changing the storage path[](#changing-the-storage-path "Permalink") - -默认情况下,程序包存储在本地,但是您可以更改默认的本地位置,甚至使用对象存储. - -### Changing the local storage path[](#changing-the-local-storage-path "Permalink") - -用于 Omnibus GitLab 安装的软件包存储在`/var/opt/gitlab/gitlab-rails/shared/packages/`而用于源安装的`shared/packages/`在`shared/packages/` (相对于 Git 主目录). 更改本地存储路径: - -**所有装置 GitLab** - -1. 编辑`/etc/gitlab/gitlab.rb`并添加以下行: - - ``` - gitlab_rails['packages_storage_path'] = "/mnt/packages" - ``` - -2. 保存文件并[重新配置 GitLab,](../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -**从源安装** - -1. 编辑`config/gitlab.yml`的`packages`部分: - - ``` - packages: - enabled: true - storage_path: shared/packages - ``` - -2. 保存文件并[重新启动 GitLab,](../restart_gitlab.html#installations-from-source)以使更改生效. - -### Using object storage[](#using-object-storage "Permalink") - -您可以使用对象存储来存储程序包,而不必依赖于本地存储. - -[Read more about using object storage with GitLab](../object_storage.html). - -**注意:**我们建议使用[统一对象存储设置](../object_storage.html#consolidated-object-storage-configuration) . 以下说明适用于原始配置格式. - -**Omnibus GitLab installations** - -1. 编辑`/etc/gitlab/gitlab.rb`并添加以下行(必要时取消注释): - - ``` - gitlab_rails['packages_enabled'] = true - gitlab_rails['packages_storage_path'] = "/var/opt/gitlab/gitlab-rails/shared/packages" - gitlab_rails['packages_object_store_enabled'] = true - gitlab_rails['packages_object_store_remote_directory'] = "packages" # The bucket name. - gitlab_rails['packages_object_store_direct_upload'] = false # Use Object Storage directly for uploads instead of background uploads if enabled (Default: false). - gitlab_rails['packages_object_store_background_upload'] = true # Temporary option to limit automatic upload (Default: true). - gitlab_rails['packages_object_store_proxy_download'] = false # Passthrough all downloads via GitLab instead of using Redirects to Object Storage. - gitlab_rails['packages_object_store_connection'] = { - ## - ## If the provider is AWS S3, uncomment the following - ## - #'provider' => 'AWS', - #'region' => 'eu-west-1', - #'aws_access_key_id' => 'AWS_ACCESS_KEY_ID', - #'aws_secret_access_key' => 'AWS_SECRET_ACCESS_KEY', - ## - ## If the provider is other than AWS (an S3-compatible one), uncomment the following - ## - #'host' => 's3.amazonaws.com', - #'aws_signature_version' => 4 # For creation of signed URLs. Set to 2 if provider does not support v4. - #'endpoint' => 'https://s3.amazonaws.com' # Useful for S3-compliant services such as DigitalOcean Spaces. - #'path_style' => false # If true, use 'host/bucket_name/object' instead of 'bucket_name.host/object'. - } - ``` - -2. 保存文件并[重新配置 GitLab,](../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -**从源安装** - -1. 编辑`config/gitlab.yml`的`packages`部分(必要时取消注释): - - ``` - packages: - enabled: true - ## - ## The location where build packages are stored (default: shared/packages). - ## - #storage_path: shared/packages - object_store: - enabled: false - remote_directory: packages # The bucket name. - #direct_upload: false # Use Object Storage directly for uploads instead of background uploads if enabled (Default: false). - #background_upload: true # Temporary option to limit automatic upload (Default: true). - #proxy_download: false # Passthrough all downloads via GitLab instead of using Redirects to Object Storage. - connection: - ## - ## If the provider is AWS S3, uncomment the following - ## - #provider: AWS - #region: us-east-1 - #aws_access_key_id: AWS_ACCESS_KEY_ID - #aws_secret_access_key: AWS_SECRET_ACCESS_KEY - ## - ## If the provider is other than AWS (an S3-compatible one), uncomment the following - ## - #host: 's3.amazonaws.com' # default: s3.amazonaws.com. - #aws_signature_version: 4 # For creation of signed URLs. Set to 2 if provider does not support v4. - #endpoint: 'https://s3.amazonaws.com' # Useful for S3-compliant services such as DigitalOcean Spaces. - #path_style: false # If true, use 'host/bucket_name/object' instead of 'bucket_name.host/object'. - ``` - -2. 保存文件并[重新启动 GitLab,](../restart_gitlab.html#installations-from-source)以使更改生效. - -### Migrating local packages to object storage[](#migrating-local-packages-to-object-storage "Permalink") - -[配置对象存储后](#using-object-storage) ,您可以使用以下任务将现有程序包从本地存储迁移到远程存储. 该处理将在后台工作人员中完成, **无需停机** . - -对于所有 GitLab; - -``` -sudo gitlab-rake "gitlab:packages:migrate" -``` - -对于源安装: - -``` -RAILS_ENV=production sudo -u git -H bundle exec rake gitlab:packages:migrate -``` \ No newline at end of file diff --git a/docs/487.md b/docs/487.md deleted file mode 100644 index 0fd5007..0000000 --- a/docs/487.md +++ /dev/null @@ -1,1041 +0,0 @@ -# GitLab Container Registry administration - -> 原文:[https://docs.gitlab.com/ee/administration/packages/container_registry.html](https://docs.gitlab.com/ee/administration/packages/container_registry.html) - -* [Enable the Container Registry](#enable-the-container-registry) -* [Container Registry domain configuration](#container-registry-domain-configuration) - * [Configure Container Registry under an existing GitLab domain](#configure-container-registry-under-an-existing-gitlab-domain) - * [Configure Container Registry under its own domain](#configure-container-registry-under-its-own-domain) -* [Disable Container Registry site-wide](#disable-container-registry-site-wide) -* [Disable Container Registry for new projects site-wide](#disable-container-registry-for-new-projects-site-wide) -* [Configure storage for the Container Registry](#configure-storage-for-the-container-registry) - * [Use filesystem](#use-filesystem) - * [Use object storage](#use-object-storage) - * [Migrate to object storage without downtime](#migrate-to-object-storage-without-downtime) - * [Disable redirect for storage driver](#disable-redirect-for-storage-driver) - * [Storage limitations](#storage-limitations) -* [Change the registry’s internal port](#change-the-registrys-internal-port) -* [Disable Container Registry per project](#disable-container-registry-per-project) -* [Use an external container registry with GitLab as an auth endpoint](#use-an-external-container-registry-with-gitlab-as-an-auth-endpoint) -* [Configure Container Registry notifications](#configure-container-registry-notifications) -* [Container Registry garbage collection](#container-registry-garbage-collection) - * [Understanding the content-addressable layers](#understanding-the-content-addressable-layers) - * [Recycling unused tags](#recycling-unused-tags) - * [Removing unused layers not referenced by manifests](#removing-unused-layers-not-referenced-by-manifests) - * [Performing garbage collection without downtime](#performing-garbage-collection-without-downtime) - * [Running the garbage collection on schedule](#running-the-garbage-collection-on-schedule) -* [Troubleshooting](#troubleshooting) - * [Using self-signed certificates with Container Registry](#using-self-signed-certificates-with-container-registry) - * [`unauthorized: authentication required` when pushing large images](#unauthorized-authentication-required-when-pushing-large-images) - * [AWS S3 with the GitLab registry error when pushing large images](#aws-s3-with-the-gitlab-registry-error-when-pushing-large-images) - * [Supporting older Docker clients](#supporting-older-docker-clients) - * [Docker connection error](#docker-connection-error) - * [Image push errors](#image-push-errors) - * [Enable the Registry debug server](#enable-the-registry-debug-server) - * [Advanced Troubleshooting](#advanced-troubleshooting) - * [Unexpected 403 error during push](#unexpected-403-error-during-push) - * [mitmproxy](#mitmproxy) - * [Running the Docker daemon with a proxy](#running-the-docker-daemon-with-a-proxy) - * [Running the Docker client](#running-the-docker-client) - -# GitLab Container Registry administration[](#gitlab-container-registry-administration "Permalink") - -Version history - -* 在 GitLab 8.8 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/4040) . -* 在 GitLab 8.9 中添加了对 Container Registry manifest `v1`支持,以支持 1.10 之前的 Docker 版本. - -**注意:**本文档是管理员指南. 要了解如何使用 GitLab 容器注册表,请参阅[用户文档](../../user/packages/container_registry/index.html) . - -通过将容器注册表集成到 GitLab 中,每个项目都可以拥有自己的空间来存储其 Docker 映像. - -您可以在[https://docs.docker.com/registry/introduction/上](https://s0docs0docker0com.icopy.site/registry/introduction/)了解有关 Docker 注册表的更多信息. - -## Enable the Container Registry[](#enable-the-container-registry "Permalink") - -**所有装置 GitLab** - -如果您使用 Omnibus 安装包安装了 GitLab,则默认情况下容器注册表可能可用或可能不可用. - -如果出现以下情况,容器注册表将自动启用,并在您的 GitLab 域上的端口 5050 上可用: - -* 您正在使用内置的[Let's Encrypt 集成](https://docs.gitlab.com/omnibus/settings/ssl.html) ,并且 -* 您使用的是 GitLab 12.5 或更高版本. - -否则,不会启用容器注册表. 要启用它: - -* 您可以为您的[GitLab 域](#configure-container-registry-under-an-existing-gitlab-domain)配置它,或者 -* 您可以为[其他域](#configure-container-registry-under-its-own-domain)配置它. - -**注意:**默认情况下,容器注册表在 HTTPS 下工作. 您可以使用 HTTP,但不建议使用 HTTP,它不在本文档的讨论范围之内. 如果要实现此目的,请阅读[不安全的注册表文档](https://s0docs0docker0com.icopy.site/registry/insecure/) . - -**从源安装** - -如果您从源代码安装了 GitLab: - -1. 您将必须自己[安装注册表](https://s0docs0docker0com.icopy.site/registry/deploying/) . -2. 安装完成后,您必须在`gitlab.yml`中配置注册表的设置才能启用它. -3. 使用在[`lib/support/nginx/registry-ssl`](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/support/nginx/registry-ssl)下找到的示例 NGINX 配置文件,并对其进行编辑以匹配`host` , `port`和 TLS 证书路径. - -`gitlab.yml`的内容是: - -``` -registry: - enabled: true - host: registry.gitlab.example.com - port: 5005 - api_url: http://localhost:5000/ - key: config/registry.key - path: shared/registry - issuer: gitlab-issuer -``` - -where: - -| Parameter | Description | -| --- | --- | -| `enabled` | `true` `false` . 在 GitLab 中启用注册表. 默认情况下为`false` . | -| `host` | 注册表将在其下运行的主机 URL,并且用户将可以使用该 URL. | -| `port` | 外部注册表域将在其上侦听的端口. | -| `api_url` | The internal API URL under which the Registry is exposed to. It defaults to `http://localhost:5000`. | -| `key` | 私钥位置是一对 Registry 的`rootcertbundle` . 阅读[令牌身份验证配置文档](https://s0docs0docker0com.icopy.site/registry/configuration/) . | -| `path` | 该目录应与 Registry 的`rootdirectory`指定的目录相同. 阅读[存储配置文档](https://s0docs0docker0com.icopy.site/registry/configuration/) . GitLab 用户,Web 服务器用户和注册表用户必须可读此路径. 在[#configure-container-for-container-registry 中](#configure-storage-for-the-container-registry)了解更多信息. | -| `issuer` | This should be the same value as configured in Registry’s `issuer`. Read the [token auth configuration documentation](https://s0docs0docker0com.icopy.site/registry/configuration/). | - -**注意:**如果从源代码安装,则 GitLab 不会随附注册表初始化文件. 因此,如果您修改注册表, [重新启动 GitLab](../restart_gitlab.html#installations-from-source)将不会重新启动注册表. 阅读有关如何实现这一目标的上游文档. - -**绝对**要确保您的[注册表配置](https://s0docs0docker0com.icopy.site/registry/configuration/)将`container_registry`作为服务,并将`https://gitlab.example.com/jwt/auth`作为领域: - -``` -auth: - token: - realm: https://gitlab.example.com/jwt/auth - service: container_registry - issuer: gitlab-issuer - rootcertbundle: /root/certs/certbundle -``` - -**注意:**如果未设置`auth` ,则用户无需身份验证即可拉取 Docker 映像. - -## Container Registry domain configuration[](#container-registry-domain-configuration "Permalink") - -There are two ways you can configure the Registry’s external domain. Either: - -* [使用现有的 GitLab 域](#configure-container-registry-under-an-existing-gitlab-domain) ,在这种情况下,注册表将不得不侦听端口并重用 GitLab 的 TLS 证书, -* [将完全独立的域](#configure-container-registry-under-its-own-domain)与该[域](#configure-container-registry-under-its-own-domain)的新 TLS 证书一起使用. - -由于容器注册表需要 TLS 证书,所以最终归结为获得新证书的难易程度或代价. - -在首次配置 Container Registry 之前,请考虑到这一点. - -### Configure Container Registry under an existing GitLab domain[](#configure-container-registry-under-an-existing-gitlab-domain "Permalink") - -如果将注册表配置为使用现有的 GitLab 域,则可以在端口上公开注册表,以便可以重复使用现有的 GitLab TLS 证书. - -假设 GitLab 域是`https://gitlab.example.com` ,注册表暴露给外界的端口是`5050` ,如果您正在使用 Omnibus GitLab,则需要在`gitlab.rb`或`gitlab.yml`进行设置或分别从源代码安装 GitLab. - -**注意:**请小心选择与注册表侦听的端口不同的端口(默认为`5000` ),否则您将遇到冲突. - -**所有装置 GitLab** - -1. 您的`/etc/gitlab/gitlab.rb`应该包含注册表 URL 以及 GitLab 使用的现有 TLS 证书和密钥的路径: - - ``` - registry_external_url 'https://gitlab.example.com:5050' - ``` - - 请注意, `registry_external_url`如何在现有 GitLab URL 下的 HTTPS 上侦听,但在其他端口上. - - 如果您的 TLS 证书不在`/etc/gitlab/ssl/gitlab.example.com.crt`并且密钥不在`/etc/gitlab/ssl/gitlab.example.com.key`取消注释以下行: - - ``` - registry_nginx['ssl_certificate'] = "/path/to/certificate.pem" - registry_nginx['ssl_certificate_key'] = "/path/to/certificate.key" - ``` - -2. 保存文件并[重新配置 GitLab,](../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -3. 验证使用: - - ``` - openssl s_client -showcerts -servername gitlab.example.com -connect gitlab.example.com:5050 > cacert.pem - ``` - -**注意:**如果您的证书提供者提供了 CA Bundle 证书,则将它们附加到 TLS 证书文件中. - -**从源安装** - -1. 打开`/home/git/gitlab/config/gitlab.yml` ,找到`registry`项,并使用以下设置进行配置: - - ``` - registry: - enabled: true - host: gitlab.example.com - port: 5050 - ``` - -2. 保存文件并[重新启动 GitLab,](../restart_gitlab.html#installations-from-source)以使更改生效. -3. 还要在 NGINX 中进行相关更改(域,端口,TLS 证书路径). - -用户现在应该可以使用以下命令使用其 GitLab 凭据登录到 Container Registry: - -``` -docker login gitlab.example.com:5050 -``` - -### Configure Container Registry under its own domain[](#configure-container-registry-under-its-own-domain "Permalink") - -如果将注册表配置为使用其自己的域,则将需要该特定域的 TLS 证书(例如, `registry.example.com` ),或者如果托管在现有 GitLab 域的子域(例如, `registry.example.com` )下,则可能需要通配符证书`registry.gitlab.example.com` ). - -**注意:**除手动生成的 SSL 证书(在此处说明)外, [Omnibus 安装](https://docs.gitlab.com/omnibus/settings/ssl.html)还[支持](https://docs.gitlab.com/omnibus/settings/ssl.html)由 Let's Encrypt 自动生成的证书. - -假设您希望在`https://registry.gitlab.example.com`上访问容器注册表. - -**所有装置 GitLab** - -1. 将您的 TLS 证书和密钥放在`/etc/gitlab/ssl/registry.gitlab.example.com.crt`和`/etc/gitlab/ssl/registry.gitlab.example.com.key` ,并确保它们具有正确的权限: - - ``` - chmod 600 /etc/gitlab/ssl/registry.gitlab.example.com.* - ``` - -2. TLS 证书到位后,使用以下命令编辑`/etc/gitlab/gitlab.rb` : - - ``` - registry_external_url 'https://registry.gitlab.example.com' - ``` - - 请注意, `registry_external_url`如何在 HTTPS 上进行侦听. - -3. 保存文件并[重新配置 GitLab,](../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -如果您具有[通配符证书](https://en.wikipedia.org/wiki/Wildcard_certificate) ,则除了 URL 外,还需要指定证书的路径,在这种情况下,/ `/etc/gitlab/gitlab.rb`将如下所示: - -``` -registry_nginx['ssl_certificate'] = "/etc/gitlab/ssl/certificate.pem" -registry_nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/certificate.key" -``` - -**从源安装** - -1. 打开`/home/git/gitlab/config/gitlab.yml` ,找到`registry`项,并使用以下设置进行配置: - - ``` - registry: - enabled: true - host: registry.gitlab.example.com - ``` - -2. 保存文件并[重新启动 GitLab,](../restart_gitlab.html#installations-from-source)以使更改生效. -3. 还要在 NGINX 中进行相关更改(域,端口,TLS 证书路径). - -用户现在应该能够使用其 GitLab 凭据登录到 Container Registry: - -``` -docker login registry.gitlab.example.com -``` - -## Disable Container Registry site-wide[](#disable-container-registry-site-wide "Permalink") - -**注意:**按照以下步骤在 Rails GitLab 应用程序中禁用注册表,不会删除任何现有的 Docker 映像. 这由注册表应用程序本身处理. - -**所有的 GitLab** - -1. 打开`/etc/gitlab/gitlab.rb`并将`registry['enable']`为`false` : - - ``` - registry['enable'] = false - ``` - -2. 保存文件并[重新配置 GitLab,](../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -**从源安装** - -1. 打开`/home/git/gitlab/config/gitlab.yml` ,找到`registry`项并将其设置`enabled`以`false` : - - ``` - registry: - enabled: false - ``` - -2. 保存文件并[重新启动 GitLab,](../restart_gitlab.html#installations-from-source)以使更改生效. - -## Disable Container Registry for new projects site-wide[](#disable-container-registry-for-new-projects-site-wide "Permalink") - -如果启用了容器注册表,那么它将在所有新项目中可用. 要禁用此功能并使项目的所有者自行启用容器注册表,请按照以下步骤操作. - -**所有装置 GitLab** - -1. 编辑`/etc/gitlab/gitlab.rb`并添加以下行: - - ``` - gitlab_rails['gitlab_default_projects_features_container_registry'] = false - ``` - -2. 保存文件并[重新配置 GitLab,](../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -**从源安装** - -1. 打开`/home/git/gitlab/config/gitlab.yml` ,找到`default_projects_features`条目并进行配置,以便`container_registry`设置为`false` : - - ``` - ## Default project features settings - default_projects_features: - issues: true - merge_requests: true - wiki: true - snippets: false - builds: true - container_registry: false - ``` - -2. 保存文件并[重新启动 GitLab,](../restart_gitlab.html#installations-from-source)以使更改生效. - -## Configure storage for the Container Registry[](#configure-storage-for-the-container-registry "Permalink") - -您可以通过配置存储驱动程序来将 Container Registry 配置为使用各种存储后端. 默认情况下,GitLab 容器注册表配置为使用[文件系统驱动程序](#use-filesystem)配置. - -支持的不同驱动程序是: - -| Driver | Description | -| --- | --- | -| filesystem | 使用本地文件系统上的路径 | -| Azure | Microsoft Azure Blob 存储 | -| gcs | 谷歌云存储 | -| s3 | Amazon Simple Storage Service. 确保使用正确的[S3 权限范围](https://s0docs0docker0com.icopy.site/registry/storage-drivers/s3/)配置存储桶. | -| swift | OpenStack Swift 对象存储 | -| oss | 阿里云 OSS | - -在[Docker Registry 文档中](https://s0docs0docker0com.icopy.site/registry/configuration/)阅读有关单个驱动程序配置选项的更多信息. - -### Use filesystem[](#use-filesystem "Permalink") - -如果要将图像存储在文件系统上,则可以更改 Container Registry 的存储路径,请按照以下步骤操作. - -此路径可用于: - -* 运行容器注册表守护程序的用户. -* 运行 GitLab 的用户. - -**警告:**您应该确认所有的 GitLab,注册表和 Web 服务器用户都可以访问该目录. - -**所有装置 GitLab** - -在 Omnibus 中存储图像的默认位置是`/var/opt/gitlab/gitlab-rails/shared/registry` . 要更改它: - -1. Edit `/etc/gitlab/gitlab.rb`: - - ``` - gitlab_rails['registry_path'] = "/path/to/registry/storage" - ``` - -2. 保存文件并[重新配置 GitLab,](../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -**从源安装** - -在源安装中存储映像的默认位置是`/home/git/gitlab/shared/registry` . 要更改它: - -1. 打开`/home/git/gitlab/config/gitlab.yml` ,找到`registry`项并更改`path`设置: - - ``` - registry: - path: shared/registry - ``` - -2. 保存文件并[重新启动 GitLab,](../restart_gitlab.html#installations-from-source)以使更改生效. - -### Use object storage[](#use-object-storage "Permalink") - -如果要将图像存储在对象存储中,则可以更改 Container Registry 的存储驱动程序. - -[Read more about using object storage with GitLab](../object_storage.html). - -**警告:** GitLab 不会备份未存储在文件系统上的 Docker 映像. 请记住,如果需要,请与您的对象存储提供程序一起启用备份.**注:** `regionendpoint`配置 S3 兼容的服务,如 MinIO 时才需要. 它采用一个 URL,例如`http://127.0.0.1:9000` . - -**所有装置 GitLab** - -在 Omnibus 中配置`s3`存储驱动程序: - -1. Edit `/etc/gitlab/gitlab.rb`: - - ``` - registry['storage'] = { - 's3' => { - 'accesskey' => 's3-access-key', - 'secretkey' => 's3-secret-key-for-access-key', - 'bucket' => 'your-s3-bucket', - 'region' => 'your-s3-region', - 'regionendpoint' => 'your-s3-regionendpoint' - } - } - ``` - -2. 保存文件并[重新配置 GitLab,](../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -**注意:** `your-s3-bucket`应该仅是存在的存储桶的名称,并且不能包含子目录. - -**从源安装** - -存储驱动程序的配置在[部署 Docker 注册表](https://s0docs0docker0com.icopy.site/registry/deploying/)时创建的注册表配置 YML 文件中完成. - -`s3`存储驱动程序示例: - -``` -storage: - s3: - accesskey: 's3-access-key' - secretkey: 's3-secret-key-for-access-key' - bucket: 'your-s3-bucket' - region: 'your-s3-region' - regionendpoint: 'your-s3-regionendpoint' - cache: - blobdescriptor: inmemory - delete: - enabled: true -``` - -**注意:** `your-s3-bucket`应该仅是存在的存储桶的名称,并且不能包含子目录. - -#### Migrate to object storage without downtime[](#migrate-to-object-storage-without-downtime "Permalink") - -若要在不停止 Container Registry 的情况下迁移存储,请将 Container Registry 设置为只读模式. 在大型实例上,这可能需要将 Container Registry 置于只读模式一段时间. 在此期间,您可以从 Container Registry 中拉出,但不能推送. - -1. 可选:要减少要迁移的数据量,请运行[垃圾收集工具,而无需停机](#performing-garbage-collection-without-downtime) . -2. 例如,使用 AWS CLI [`cp`](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3/cp.html)或[`sync`](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3/sync.html)命令将初始数据复制到 S3 存储桶. 确保将`docker`文件夹保留为存储桶中的顶级文件夹. - - ``` - aws s3 sync registry s3://mybucket - ``` - -3. 为了使更改生效, [请将 Container Registry 设置为`read-only`模式,](#performing-garbage-collection-without-downtime)然后[重新配置 GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure) . -4. 将自初始数据加载以来的所有更改同步到 S3 存储桶,并删除目标存储桶中存在但源文件中不存在的文件: - - ``` - aws s3 sync registry s3://mybucket --delete - ``` - - **危险:** `--delete`标志将删除存在于目标而不是在源文件中. 确保不交换源和目标,否则您将删除注册表中的所有数据. -5. 将注册表配置为使用 S3 存储桶进行存储. -6. For the changes to take effect, set the Registry back to `read-write` mode and [reconfigure GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure). - -### Disable redirect for storage driver[](#disable-redirect-for-storage-driver "Permalink") - -默认情况下,访问配置了远程后端的注册表的用户将重定向到存储驱动程序的默认后端. 例如,可以使用`s3`存储驱动程序配置注册表,该驱动程序将请求重定向到远程 S3 存储桶以减轻 GitLab 服务器上的负载. - -但是,对于通常无法访问公共服务器的内部主机使用的注册表,此行为是不希望的. 要禁用重定向和[代理下载](../object_storage.html#proxy-download) ,请按如下所示将`disable`标志设置为 true. 这使得所有流量始终通过注册表服务. 这样可以提高安全性(由于无法公开访问存储后端,从而减少了表面攻击),但性能却较差(所有流量都通过服务重定向). - -**所有装置 GitLab** - -1. Edit `/etc/gitlab/gitlab.rb`: - - ``` - registry['storage'] = { - 's3' => { - 'accesskey' => 's3-access-key', - 'secretkey' => 's3-secret-key-for-access-key', - 'bucket' => 'your-s3-bucket', - 'region' => 'your-s3-region', - 'regionendpoint' => 'your-s3-regionendpoint' - }, - 'redirect' => { - 'disable' => true - } - } - ``` - -2. 保存文件并[重新配置 GitLab,](../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -**从源安装** - -1. 将`redirect`标志添加到您的注册表配置 YML 文件中: - - ``` - storage: - s3: - accesskey: 'AKIAKIAKI' - secretkey: 'secret123' - bucket: 'gitlab-registry-bucket-AKIAKIAKI' - region: 'your-s3-region' - regionendpoint: 'your-s3-regionendpoint' - redirect: - disable: true - cache: - blobdescriptor: inmemory - delete: - enabled: true - ``` - -2. 保存文件并[重新启动 GitLab,](../restart_gitlab.html#installations-from-source)以使更改生效. - -### Storage limitations[](#storage-limitations "Permalink") - -当前,没有存储限制,这意味着用户可以上传无限数量的任意大小的 Docker 映像. 此设置将在以后的版本中进行配置. - -## Change the registry’s internal port[](#change-the-registrys-internal-port "Permalink") - -**注意:**请勿将此与 GitLab 本身用于向世界展示注册表的端口混淆. - -默认情况下,Registry Server 在端口`5000`上的 localhost 上侦听,这是 Registry Server 应接受其连接的地址. 在下面的示例中,我们将注册表的端口设置为`5001` . - -**所有的 GitLab** - -1. 打开`/etc/gitlab/gitlab.rb`并设置`registry['registry_http_addr']` : - - ``` - registry['registry_http_addr'] = "localhost:5001" - ``` - -2. 保存文件并[重新配置 GitLab,](../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -**从源安装** - -1. 打开您的注册表服务器的配置文件,然后编辑[`http:addr`](https://s0docs0docker0com.icopy.site/registry/configuration/)值: - - ``` - http - addr: localhost:5001 - ``` - -2. 保存文件并重新启动注册表服务器. - -## Disable Container Registry per project[](#disable-container-registry-per-project "Permalink") - -如果在您的 GitLab 实例中启用了注册表,但是您的项目不需要它,则可以从项目的设置中禁用它. 阅读有关如何实现此目的的用户指南. - -## Use an external container registry with GitLab as an auth endpoint[](#use-an-external-container-registry-with-gitlab-as-an-auth-endpoint "Permalink") - -**注意:**在使用外部容器注册表时,与容器注册表相关联的某些功能可能不可用或存在[固有风险](./../../user/packages/container_registry/index.html#use-with-external-container-registries) - -**所有的 GitLab** - -您可以将 GitLab 用作具有外部容器注册表的身份验证端点. - -1. 打开`/etc/gitlab/gitlab.rb`并设置必要的配置: - - ``` - gitlab_rails['registry_enabled'] = true - gitlab_rails['registry_api_url'] = "http://localhost:5000" - gitlab_rails['registry_issuer'] = "omnibus-gitlab-issuer" - ``` - - **注意:**启用 GitLab 的 Container Registry 功能和身份验证端点需要`gitlab_rails['registry_enabled'] = true` . 即使启用了它,也不会启动 GitLab 捆绑的 Container Registry 服务. -2. 证书密钥对是 GitLab 和外部容器注册表进行安全通信所必需的. 您将需要创建一个证书密钥对,使用公共证书配置外部容器注册表,并使用私钥配置 GitLab. 为此,将以下内容添加到`/etc/gitlab/gitlab.rb` : - - ``` - # registry['internal_key'] should contain the contents of the custom key - # file. Line breaks in the key file should be marked using `\n` character - # Example: - registry['internal_key'] = "---BEGIN RSA PRIVATE KEY---\nMIIEpQIBAA\n" - - # Optionally define a custom file for Omnibus GitLab to write the contents - # of registry['internal_key'] to. - gitlab_rails['registry_key_path'] = "/custom/path/to/registry-key.key" - ``` - - **注意:**每次执行重新配置时,都会使用`internal_key`指定的内容填充`registry_key_path`指定的文件. 如果未指定文件,则 Omnibus GitLab 会将其默认设置为`/var/opt/gitlab/gitlab-rails/etc/gitlab-registry.key`并将其填充. -3. 要更改在 GitLab 容器注册表页面中显示的容器注册表 URL,请设置以下配置: - - ``` - gitlab_rails['registry_host'] = "registry.gitlab.example.com" - gitlab_rails['registry_port'] = "5005" - ``` - -4. 保存文件并[重新配置 GitLab,](../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -**从源安装** - -1. 打开`/home/git/gitlab/config/gitlab.yml` ,然后在`registry`下编辑配置设置: - - ``` - ## Container Registry - - registry: - enabled: true - host: "registry.gitlab.example.com" - port: "5005" - api_url: "http://localhost:5000" - path: /var/opt/gitlab/gitlab-rails/shared/registry - key: /var/opt/gitlab/gitlab-rails/certificate.key - issuer: omnibus-gitlab-issuer - ``` - -2. 保存文件并[重新启动 GitLab,](../restart_gitlab.html#installations-from-source)以使更改生效. - -## Configure Container Registry notifications[](#configure-container-registry-notifications "Permalink") - -您可以将 Container Registry 配置为发送 Webhook 通知,以响应注册表中发生的事件. - -在[Docker Registry 通知文档中](https://s0docs0docker0com.icopy.site/registry/notifications/)阅读有关 Container Registry 通知配置选项的更多信息. - -**注意:**可以为 Container Registry 配置多个端点. - -**所有装置 GitLab** - -要在 Omnibus 中配置通知端点: - -1. Edit `/etc/gitlab/gitlab.rb`: - - ``` - registry['notifications'] = [ - { - 'name' => 'test_endpoint', - 'url' => 'https://gitlab.example.com/notify', - 'timeout' => '500ms', - 'threshold' => 5, - 'backoff' => '1s', - 'headers' => { - "Authorization" => ["AUTHORIZATION_EXAMPLE_TOKEN"] - } - } - ] - ``` - -2. 保存文件并[重新配置 GitLab,](../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -**从源安装** - -在[部署 Docker 注册表](https://s0docs0docker0com.icopy.site/registry/deploying/)时创建的注册表配置 YML 文件中完成了通知端点的配置. - -Example: - -``` -notifications: - endpoints: - - name: alistener - disabled: false - url: https://my.listener.com/event - headers: - timeout: 500 - threshold: 5 - backoff: 1000 -``` - -## Container Registry garbage collection[](#container-registry-garbage-collection "Permalink") - -**注意:**仅当您通过 Omnibus 软件包或[云本机图表](https://docs.gitlab.com/charts/charts/registry/)安装了 GitLab 时,垃圾收集工具才可用.**危险:**通过运行内置的垃圾收集命令,将导致 Container Registry 停机. 如果在其他实例之一仍在写入注册表存储的环境中的某个实例上运行此命令,则将删除引用的清单. 为避免这种情况,请确保在继续[操作](#performing-garbage-collection-without-downtime)之前将注册表设置为[只读模式](#performing-garbage-collection-without-downtime) . - -容器注册表可以使用大量的磁盘空间. 为了清除一些未使用的层,注册表包括一个垃圾收集命令. - -GitLab 提供了一组 API 来操作 Container Registry 并协助删除未使用标签的过程. 当前,这是使用 API​​公开的,但是将来,这些控件将被迁移到 GitLab 接口. - -项目维护者可以根据自己的标准定期[删除大量的 Container Registry 标签](../../api/container_registry.html#delete-registry-repository-tags-in-bulk) ,但是,这本身并不会回收数据,它只会使清单和图像斑点之间的链接断开. 要在整个 GitLab 实例中回收 Container Registry 数据,可以使用`gitlab-ctl`提供的内置命令. - -### Understanding the content-addressable layers[](#understanding-the-content-addressable-layers "Permalink") - -请考虑以下示例,该示例是您首先构建映像的地方: - -``` -# This builds a image with content of sha256:111111 -docker build -t my.registry.com/my.group/my.project:latest . -docker push my.registry.com/my.group/my.project:latest -``` - -现在,您要使用新版本覆盖`:latest` : - -``` -# This builds a image with content of sha256:222222 -docker build -t my.registry.com/my.group/my.project:latest . -docker push my.registry.com/my.group/my.project:latest -``` - -现在, `:latest`标记指向`sha256:222222` . 但是,由于注册表的体系结构,即使不再通过`:latest`标记也可以直接访问图像`my.registry.com/my.group/my.project@sha256:111111` ,仍可以访问此数据. - -### Recycling unused tags[](#recycling-unused-tags "Permalink") - -> 在所有 GitLab 8.12 中[引入](https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/987) . - -在运行内置命令之前,需要注意一些注意事项: - -* 内置命令将在启动垃圾收集之前停止注册表. -* 垃圾收集命令需要一些时间才能完成,具体取决于存在的数据量. -* 如果更改了注册表配置文件的位置,则需要指定其路径. -* After the garbage collection is done, the registry should start up automatically. - -如果未更改配置文件的默认位置,请运行: - -``` -sudo gitlab-ctl registry-garbage-collect -``` - -该命令将花费一些时间来完成,具体取决于您存储的层数. - -如果更改了 Container Registry `config.yml`的位置: - -``` -sudo gitlab-ctl registry-garbage-collect /path/to/config.yml -``` - -您也可以[删除所有未引用的清单](#removing-unused-layers-not-referenced-by-manifests) ,尽管这是一种更具破坏性的操作,您应该首先了解其含义. - -### Removing unused layers not referenced by manifests[](#removing-unused-layers-not-referenced-by-manifests "Permalink") - -> 在所有 GitLab 11.10 中[引入](https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/3097) . - -**危险:**这是破坏性的操作. - -GitLab 容器注册表遵循与 Docker Distribution 相同的默认工作流程:保留所有层,即使是未直接引用的层也允许使用上下文可寻址标识符访问所有内容. - -但是,在大多数工作流程中,如果注册表标记未直接引用旧层,则您不必在意这些旧层. `registry-garbage-collect`命令支持`-m`开关,以允许您删除所有不能通过`tag`直接访问的未引用清单和层: - -``` -sudo gitlab-ctl registry-garbage-collect -m -``` - -由于这是更具破坏性的操作,因此默认情况下将禁用此行为. 您可能期望这种操作方式,但是在执行此操作之前,请确保已备份所有注册表数据. - -### Performing garbage collection without downtime[](#performing-garbage-collection-without-downtime "Permalink") - -在 GitLab 8.8 中[引入](https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/764) . - -通过将其置于只读模式并且不使用内置命令,可以在不停止 Container Registry 的情况下执行垃圾回收. 在大型实例中,这可能需要 Container Registry 处于只读模式一段时间. 在这段时间中,您将能够从 Container Registry 中拉出,但不能进行推送. - -**注意:**默认情况下, [注册表存储路径](#configure-storage-for-the-container-registry)为`/var/opt/gitlab/gitlab-rails/shared/registry` . - -要启用只读模式: - -1. 在`/etc/gitlab/gitlab.rb` ,指定只读模式: - - ``` - registry['storage'] = { - 'filesystem' => { - 'rootdirectory' => "" - }, - 'maintenance' => { - 'readonly' => { - 'enabled' => true - } - } - } - ``` - -2. 保存并重新配置 GitLab: - - ``` - sudo gitlab-ctl reconfigure - ``` - - 这会将 Container Registry 设置为只读模式. - -3. 接下来,触发垃圾收集命令之一: - - ``` - # Recycling unused tags - sudo /opt/gitlab/embedded/bin/registry garbage-collect /var/opt/gitlab/registry/config.yml - - # Removing unused layers not referenced by manifests - sudo /opt/gitlab/embedded/bin/registry garbage-collect -m /var/opt/gitlab/registry/config.yml - ``` - - 这将开始垃圾收集,这可能需要一些时间才能完成. - -4. 完成后,在`/etc/gitlab/gitlab.rb`更改回读写模式: - - ``` - registry['storage'] = { - 'filesystem' => { - 'rootdirectory' => "" - }, - 'maintenance' => { - 'readonly' => { - 'enabled' => false - } - } - } - ``` - -5. 保存并重新配置 GitLab: - - ``` - sudo gitlab-ctl reconfigure - ``` - -### Running the garbage collection on schedule[](#running-the-garbage-collection-on-schedule "Permalink") - -理想情况下,您希望在不使用注册表的情况下每周定期运行注册表的垃圾回收. 最简单的方法是添加一个新的 crontab 作业,该作业将每周定期运行一次. - -在`/etc/cron.d/registry-garbage-collect`下创建一个文件: - -``` -SHELL=/bin/sh -PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin - -# Run every Sunday at 04:05am -5 4 * * 0 root gitlab-ctl registry-garbage-collect -``` - -## Troubleshooting[](#troubleshooting "Permalink") - -在深入探讨以下部分之前,请先进行一些基本的故障排除: - -1. 检查并确保 Docker 客户端和 GitLab 服务器上的系统时钟已同步(例如,通过 NTP). - -2. 如果使用的是 S3 支持的注册表,请仔细检查 IAM 权限和 S3 凭据(包括区域)是否正确. 有关更多详细信息,请参阅[示例 IAM 策略](https://s0docs0docker0com.icopy.site/registry/storage-drivers/s3/) . - -3. 检查注册表日志(例如`/var/log/gitlab/registry/current` )和 GitLab 生产日志中的错误(例如`/var/log/gitlab/gitlab-rails/production.log` ). 您也许可以在那里找到线索. - -### Using self-signed certificates with Container Registry[](#using-self-signed-certificates-with-container-registry "Permalink") - -如果您在容器注册表中使用自签名证书,则在 CI 作业期间可能会遇到如下问题: - -``` -Error response from daemon: Get registry.example.com/v1/users/: x509: certificate signed by unknown authority -``` - -运行该命令的 Docker 守护程序需要由公认的 CA 签名的证书,因此会出现上述错误. - -虽然 GitLab 不使用自签名的证书与集装箱注册表支持开箱即用,它可以使其工作的[指示多克尔守护信任自签名证书](https://s0docs0docker0com.icopy.site/registry/insecure/) ,安装多克尔守护进程,并设置`privileged = false`的跑步者的`config.toml` . 设置`privileged = true`优先于 Docker 守护程序: - -``` - [runners.docker] - image = "ruby:2.6" - privileged = false - volumes = ["/var/run/docker.sock:/var/run/docker.sock", "/cache"] -``` - -有关此的其他信息: [发行 18239](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/18239) . - -### `unauthorized: authentication required` when pushing large images[](#unauthorized-authentication-required-when-pushing-large-images "Permalink") - -错误示例: - -``` -docker push gitlab.example.com/myproject/docs:latest -The push refers to a repository [gitlab.example.com/myproject/docs] -630816f32edb: Preparing -530d5553aec8: Preparing -... -4b0bab9ff599: Waiting -d1c800db26c7: Waiting -42755cf4ee95: Waiting -unauthorized: authentication required -``` - -GitLab 的注册表默认令牌有效期为 5 分钟. 当推送较大的图像或推送时间超过 5 分钟的图像时,用户可能会遇到此错误. - -管理员可以在**管理区域>设置> CI / CD>容器注册表>授权令牌持续时间(分钟)中增加令牌持续时间** . - -### AWS S3 with the GitLab registry error when pushing large images[](#aws-s3-with-the-gitlab-registry-error-when-pushing-large-images "Permalink") - -将 AWS S3 与 GitLab 注册表一起使用时,推送大图像时可能会发生错误. 在注册表日志中查找以下错误: - -``` -level=error msg="response completed with error" err.code=unknown err.detail="unexpected EOF" err.message="unknown error" -``` - -要解决该错误,请在注册表配置中指定一个`chunksize`值. 从`25000000` (25MB)到`50000000` (50MB)之间的值开始. - -**对于所有安装** - -1. Edit `/etc/gitlab/gitlab.rb`: - - ``` - registry['storage'] = { - 's3' => { - 'accesskey' => 'AKIAKIAKI', - 'secretkey' => 'secret123', - 'bucket' => 'gitlab-registry-bucket-AKIAKIAKI', - 'chunksize' => 25000000 - } - } - ``` - -2. 保存文件并[重新配置 GitLab,](../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -**对于源安装** - -1. Edit `config/gitlab.yml`: - - ``` - storage: - s3: - accesskey: 'AKIAKIAKI' - secretkey: 'secret123' - bucket: 'gitlab-registry-bucket-AKIAKIAKI' - chunksize: 25000000 - ``` - -2. 保存文件并[重新启动 GitLab,](../restart_gitlab.html#installations-from-source)以使更改生效. - -### Supporting older Docker clients[](#supporting-older-docker-clients "Permalink") - -从 GitLab 11.9 开始,我们开始提供 Docker 容器注册表的 2.7.1 版本,默认情况下会禁用 schema1 清单. 如果您仍在使用较旧的 Docker 客户端(1.9 或更早版本),则在推送映像时可能会遇到错误. 有关更多详细信息,请参见[omn​​ibus-4145](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/4145) . - -您可以添加配置选项以实现向后兼容. - -**对于所有安装** - -1. Edit `/etc/gitlab/gitlab.rb`: - - ``` - registry['compatibility_schema1_enabled'] = true - ``` - -2. 保存文件并[重新配置 GitLab,](../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -**对于源安装** - -1. 编辑[部署注册表](https://s0docs0docker0com.icopy.site/registry/deploying/)时创建的 YML 配置文件. 添加以下代码段: - - ``` - compatibility: - schema1: - enabled: true - ``` - -2. 重新启动注册表以使更改生效. - -### Docker connection error[](#docker-connection-error "Permalink") - -当组,项目或分支名​​称中包含特殊字符时,可能会发生 Docker 连接错误. 特殊字符可以包括: - -* Leading underscore -* 尾随连字符/破折号 -* 双连字符/破折号 - -为了解决这个问题,您可以[更改组路径](../../user/group/index.html#changing-a-groups-path) , [更改项目路径](../../user/project/settings/index.html#renaming-a-repository)或更改分支名称. 另一种选择是创建一个[推送规则,](../../push_rules/push_rules.html)以防止在实例级别上发生这种情况. - -### Image push errors[](#image-push-errors "Permalink") - -当遇到错误或"重试"循环以尝试推送映像但`docker login`正常时,NGINX 将标头转发到注册表可能存在问题. 推荐的默认 NGINX 配置应该可以解决此问题,但是它可能发生在将 SSL 卸载到第三方反向代理的自定义设置中. - -在[Docker 项目](https://github.com/docker/distribution/issues/970)问题中讨论了此问题,一个简单的解决方案是在注册表中启用相对 URL. - -**对于所有安装** - -1. Edit `/etc/gitlab/gitlab.rb`: - - ``` - registry['env'] = { - "REGISTRY_HTTP_RELATIVEURLS" => true - } - ``` - -2. 保存文件并[重新配置 GitLab,](../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -**对于源安装** - -1. 编辑[部署注册表](https://s0docs0docker0com.icopy.site/registry/deploying/)时创建的 YML 配置文件. 添加以下代码段: - - ``` - http: - relativeurls: true - ``` - -2. 保存文件并[重新启动 GitLab,](../restart_gitlab.html#installations-from-source)以使更改生效. - -### Enable the Registry debug server[](#enable-the-registry-debug-server "Permalink") - -可以通过在`gitlab.rb`配置中设置注册表调试地址来启用可选的调试服务器. - -``` -registry['debug_addr'] = "localhost:5001" -``` - -添加设置后, [重新配置 GitLab](../restart_gitlab.html#omnibus-gitlab-reconfigure)以应用更改. - -使用 curl 来请求调试服务器的调试输出: - -``` -curl localhost:5001/debug/health -curl localhost:5001/debug/vars -``` - -### Advanced Troubleshooting[](#advanced-troubleshooting "Permalink") - -**注意:**以下部分仅建议专家使用. - -有时,不清楚什么地方出了问题,您可能需要更深入地研究 Docker 客户端与 Registry 之间的通信,以找出问题所在. 过去我们将使用一个具体示例来说明如何诊断 S3 设置中的问题. - -#### Unexpected 403 error during push[](#unexpected-403-error-during-push "Permalink") - -用户试图启用 S3 支持的注册表. `docker login`步骤很好. 但是,推送图像时,输出显示: - -``` -The push refers to a repository [s3-testing.myregistry.com:5050/root/docker-test/docker-image] -dc5e59c14160: Pushing [==================================================>] 14.85 kB -03c20c1a019a: Pushing [==================================================>] 2.048 kB -a08f14ef632e: Pushing [==================================================>] 2.048 kB -228950524c88: Pushing 2.048 kB -6a8ecde4cc03: Pushing [==> ] 9.901 MB/205.7 MB -5f70bf18a086: Pushing 1.024 kB -737f40e80b7f: Waiting -82b57dbc5385: Waiting -19429b698a22: Waiting -9436069b92a3: Waiting -error parsing HTTP 403 response body: unexpected end of JSON input: "" -``` - -这个错误是模棱两可的,因为尚不清楚 403 是来自 GitLab Rails 应用程序,Docker Registry 还是其他东西. 在这种情况下,由于我们知道自成功登录以来,我们可能需要查看客户端与注册表之间的通信. - -[此处描述](https://s0docs0docker0com.icopy.site/registry/spec/api/)了 Docker 客户端和 Registry 之间的 REST API. 通常,人们只会使用 Wireshark 或 tcpdump 捕获流量并查看问题出在哪里. 但是,由于 Docker 客户端和服务器之间的所有通信都是通过 HTTPS 完成的,因此即使您知道私钥,也很难快速解密流量. 我们该怎么办呢? - -一种方法是通过设置[不安全的注册表](https://s0docs0docker0com.icopy.site/registry/insecure/)来禁用 HTTPS. 这可能会引入安全漏洞,仅建议用于本地测试. 如果您有生产系统并且不能或不想这样做,则可以采用另一种方法:使用 mitmproxy,它代表中间代理. - -#### mitmproxy[](#mitmproxy "Permalink") - -[mitmproxy](https://mitmproxy.org/)允许您在客户端和服务器之间放置代理以检查所有流量. 一种麻烦是您的系统需要信任 mitmproxy SSL 证书才能起作用. - -以下安装说明假定您正在运行 Ubuntu: - -1. [Install mitmproxy](https://docs.mitmproxy.org/stable/overview-installation/). -2. 运行`mitmproxy --port 9000`生成其证书. 输入`CTRL` - `C`退出. -3. 将证书从`~/.mitmproxy`安装到您的系统中: - - ``` - sudo cp ~/.mitmproxy/mitmproxy-ca-cert.pem /usr/local/share/ca-certificates/mitmproxy-ca-cert.crt - sudo update-ca-certificates - ``` - -如果成功,输出应表明已添加证书: - -``` -Updating certificates in /etc/ssl/certs... 1 added, 0 removed; done. -Running hooks in /etc/ca-certificates/update.d....done. -``` - -要验证证书是否正确安装,请运行: - -``` -mitmproxy --port 9000 -``` - -这将在端口`9000`上运行 mitmproxy. 在另一个窗口中,运行: - -``` -curl --proxy http://localhost:9000 https://httpbin.org/status/200 -``` - -如果一切设置正确,您将在 mitmproxy 窗口上看到信息,并且 curl 命令没有错误. - -#### Running the Docker daemon with a proxy[](#running-the-docker-daemon-with-a-proxy "Permalink") - -为了使 Docker 通过代理连接,您必须使用适当的环境变量启动 Docker 守护程序. 最简单的方法是关闭 Docker(例如`sudo initctl stop docker` ),然后手动运行 Docker. 以超级用户身份运行: - -``` -export HTTP_PROXY="http://localhost:9000" -export HTTPS_PROXY="https://localhost:9000" -docker daemon --debug -``` - -这将启动 Docker 守护程序并通过 mitmproxy 代理所有连接. - -#### Running the Docker client[](#running-the-docker-client "Permalink") - -现在我们已经运行了 mitmproxy 和 Docker,我们可以尝试登录并推送容器映像. 您可能需要以 root 身份运行才能执行此操作. 例如: - -``` -docker login s3-testing.myregistry.com:5050 -docker push s3-testing.myregistry.com:5050/root/docker-test/docker-image -``` - -In the example above, we see the following trace on the mitmproxy window: - -[![mitmproxy output from Docker](img/c73475715fce01bf6b51edda84064d67.png)](img/mitmproxy-docker.png) - -上图显示: - -* 初始的 PUT 请求可以顺利通过 201 状态代码. -* 201 将客户端重定向到 S3 存储桶. -* 向 AWS 存储桶的 HEAD 请求报告了 403 未经授权. - -这是什么意思? 这强烈表明 S3 用户没有[执行 HEAD 请求](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html)的正确[权限](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html) . 解决方案: [再次](https://s0docs0docker0com.icopy.site/registry/storage-drivers/s3/)检查[IAM 权限](https://s0docs0docker0com.icopy.site/registry/storage-drivers/s3/) . 设置正确的权限后,错误将消失. \ No newline at end of file diff --git a/docs/488.md b/docs/488.md deleted file mode 100644 index 636c632..0000000 --- a/docs/488.md +++ /dev/null @@ -1,324 +0,0 @@ -# Replication (Geo) - -> 原文:[https://docs.gitlab.com/ee/administration/geo/replication/](https://docs.gitlab.com/ee/administration/geo/replication/) - -* [Overview](#overview) -* [Use cases](#use-cases) -* [How it works](#how-it-works) - * [Architecture](#architecture) -* [Requirements for running Geo](#requirements-for-running-geo) - * [Firewall rules](#firewall-rules) - * [LDAP](#ldap) - * [Geo Tracking Database](#geo-tracking-database) - * [Geo Log Cursor](#geo-log-cursor) -* [Setup instructions](#setup-instructions) - * [Using Omnibus GitLab](#using-omnibus-gitlab) -* [Post-installation documentation](#post-installation-documentation) - * [Configuring Geo](#configuring-geo) - * [Updating Geo](#updating-geo) - * [Pausing and resuming replication](#pausing-and-resuming-replication) - * [Configuring Geo for multiple nodes](#configuring-geo-for-multiple-nodes) - * [Configuring Geo with Object Storage](#configuring-geo-with-object-storage) - * [Disaster Recovery](#disaster-recovery) - * [Replicating the Container Registry](#replicating-the-container-registry) - * [Security Review](#security-review) - * [Tuning Geo](#tuning-geo) - * [Set up a location-aware Git URL](#set-up-a-location-aware-git-url) -* [Remove Geo node](#remove-geo-node) -* [Disable Geo](#disable-geo) -* [Current limitations](#current-limitations) - * [Limitations on replication/verification](#limitations-on-replicationverification) -* [Frequently Asked Questions](#frequently-asked-questions) -* [Log files](#log-files) -* [Troubleshooting](#troubleshooting) - -# Replication (Geo)[](#replication-geo-premium-only "Permalink") - -版本历史 - -* 在 GitLab 企业版 8.9 中引入. -* 与组合使用地理[多节点架构](../../reference_architectures/index.html)在考虑**一般可用** (GA) [GitLab 高级](https://about.gitlab.com/pricing/) 10.4\. - -使用 Geo 复制是广泛分布的开发团队的解决方案. - -## Overview[](#overview "Permalink") - -对于远离单个 GitLab 实例的团队而言,获取大型存储库可能需要很长时间. - -Geo 提供您的 GitLab 实例的本地只读实例. 这样可以减少克隆和获取大型存储库所需的时间,从而加快开发速度. - -**注意:**在设置 Geo 之前,请仔细检查[要求](#requirements-for-running-geo) . - -有关 Geo 的视频介绍,请参见[GitLab Geo-GitLab 功能介绍](https://www.youtube.com/watch?v=-HDLxSjEh6w) . - -**注意:**从发布到发布,Geo 进行了重大更改. **支持**升级和[记录](#updating-geo) ,但你应该确保您使用的文件的正确的版本进行安装. - -为确保您使用的文档版本正确,请[在 GitLab.com 上](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/administration/geo/replication/index.md)导航[至此页面的源版本](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/administration/geo/replication/index.md) ,然后从**Switch 分支/标签**下拉列表中选择适当的版本. 例如, [`v11.2.3-ee`](https://gitlab.com/gitlab-org/gitlab/blob/v11.2.3-ee/doc/administration/geo/replication/index.md) . - -## Use cases[](#use-cases "Permalink") - -实施 Geo 具有以下好处: - -* 将分布式开发人员克隆和获取大型存储库和项目所需的时间从几分钟减少到几秒钟. -* 无论您身在何处,都可以使所有开发人员共同贡献想法并并行工作. -* 平衡**主**节点和**辅助**节点之间的只读负载. - -此外,它: - -* 除读取 GitLab Web 界面中可用的任何数据外,还可用于克隆和获取项目(请参阅[当前限制](#current-limitations) ). -* 克服远程办公室之间的慢速连接,通过提高分布式团队的速度来节省时间. -* 帮助减少自动任务,自定义集成和内部工作流程的加载时间. -* 可以在[灾难恢复](../disaster_recovery/index.html)方案中快速故障转移到**辅助**节点. -* 允许[计划的故障转移](../disaster_recovery/planned_failover.html)到**辅助**节点. - -地理位置提供: - -* 只读**辅助**节点:维护一个**主** GitLab 节点,同时仍为每个分布式团队启用只读**辅助**节点. -* 身份验证系统挂钩: **辅助**节点从**主**实例接收所有身份验证数据(例如用户帐户和登录名). -* 直观的用户界面: **辅助**节点使用团队已习惯的相同 Web 界面. 此外,还有可视通知会阻止写操作,并清楚表明用户在**辅助**节点上. - -## How it works[](#how-it-works "Permalink") - -除了读取任何数据外,您的 Geo 实例还可用于克隆和获取项目. 这将使在较大距离上使用大型存储库的速度更快. - -[![Geo overview](img/c17db26d06341055b4834c8be77c604b.png)](img/geo_overview.png) - -启用地理位置后,: - -* 原始实例称为**主要**节点. -* 复制的只读节点称为**辅助**节点. - -请记住: - -* **辅助**节点与**主**节点对话以: - * 获取用于登录的用户数据(API). - * 复制存储库,LFS 对象和附件(HTTPS + JWT). -* 从 GitLab Premium 10.0 开始, **主**节点不再与**辅助**节点对话以通知更改(API). -* [GitLab Premium](https://about.gitlab.com/pricing/#self-managed) 11.3 中[引入](https://about.gitlab.com/releases/2018/09/22/gitlab-11-3-released/)了直接推送到**辅助**节点(对于 HTTP 和 SSH,包括 Git LFS). -* 当前的实施存在[局限性](#current-limitations) . - -### Architecture[](#architecture "Permalink") - -下图说明了 Geo 的基础体系结构. - -[![Geo architecture](img/5f13fe556b8940c2e698facdc219d16a.png)](img/geo_architecture.png) - -在此图中: - -* 有**主**节点和一个**辅助**节点的详细信息. -* 只能在**主**节点上执行对数据库的写入. **辅助**节点通过 PostgreSQL 流复制接收数据库更新. -* 如果存在,则应将[LDAP 服务器](#ldap)配置为针对[灾难恢复](../disaster_recovery/index.html)方案进行复制. -* **辅助**节点使用受 JWT 保护的特殊授权对**主要**节点执行不同类型的同步: - * 存储库是通过 HTTPS 上的 Git 克隆/更新的. - * 使用专用 API 端点通过 HTTPS 下载附件,LFS 对象和其他文件. - -从用户执行 Git 操作的角度来看: - -* **主**节点的行为就像一个完整的读写 GitLab 实例. -* **辅助**节点是只读的,但代理 Git 将操作推送到**主**节点. 这使得**辅助**节点似乎本身就支持推送操作. - -为了简化该图,省略了一些必要的组件. 注意: - -* SSH 上的 Git 需要[`gitlab-shell`](https://gitlab.com/gitlab-org/gitlab-shell)和 OpenSSH. -* 通过 HTTPS 进行 Git 时需要[`gitlab-workhorse`](https://gitlab.com/gitlab-org/gitlab-workhorse) . - -请注意, **辅助**节点需要两个不同的 PostgreSQL 数据库: - -* 一个只读数据库实例,用于从 GitLab 主数据库中流式传输数据. -* **辅助**节点在内部使用的[另一个数据库实例](#geo-tracking-database)记录已复制的数据. - -在**辅助**节点中,还有一个附加的守护进程: [Geo Log Cursor](#geo-log-cursor) . - -## Requirements for running Geo[](#requirements-for-running-geo "Permalink") - -要运行 Geo,必须具备以下条件: - -* 支持 OpenSSH 6.9+的操作系统(需要[在数据库中快速查找授权的 SSH 密钥](../../operations/fast_ssh_key_lookup.html) )当前已知版本的 OpenSSH 随附了以下操作系统: - * [CentOS](https://www.centos.org) 7.4 以上 - * [Ubuntu](https://ubuntu.com) 16.04 以上 -* PostgreSQL 11+ with [FDW](https://s0www0postgresql0org.icopy.site/docs/11/postgres-fdw.html) support and [Streaming Replication](https://wiki.postgresql.org/wiki/Streaming_Replication) -* 转到 2.9+ -* 所有节点必须运行相同的 GitLab 版本. - -此外,请检查 GitLab 的[最低要求](../../../install/requirements.html) ,我们建议您使用: - -* 至少具有 GitLab 企业版 10.0 的基本地理功能. -* 最新版本以获得更好的体验. - -### Firewall rules[](#firewall-rules "Permalink") - -下表列出了在 Geo 的**主**节点和**辅助**节点之间必须打开的基本端口. - -| **Primary** node | **Secondary** node | Protocol | -| --- | --- | --- | -| 80 | 80 | HTTP | -| 443 | 443 | TCP 或 HTTPS | -| 22 | 22 | TCP | -| 5432 |   | PostgreSQL | - -在[Package 默认值中](https://docs.gitlab.com/omnibus/package-information/defaults.html)查看 GitLab 使用的端口的完整列表 - -**注意:** [Web 终端](../../../ci/environments/index.html#web-terminals)支持要求您的负载平衡器正确处理 WebSocket 连接. 当使用 HTTP 或 HTTPS 代理,负载平衡器必须被配置为通过`Connection`和`Upgrade`逐跳头. 有关更多详细信息,请参见[Web 终端](../../integration/terminal.html)集成指南.**注意:**将 HTTPS 协议用于端口 443 时,您需要向负载均衡器添加 SSL 证书. 如果您想在 GitLab 应用程序服务器上终止 SSL,请使用 TCP 协议. - -### LDAP[](#ldap "Permalink") - -We recommend that if you use LDAP on your **primary** node, you also set up secondary LDAP servers on each **secondary** node. Otherwise, users will not be able to perform Git operations over HTTP(s) on the **secondary** node using HTTP Basic Authentication. However, Git via SSH and personal access tokens will still work. - -**注意:**所有**辅助**节点都可以共享 LDAP 服务器,但是额外的延迟可能是一个问题. 另外,如果将**辅助**节点提升为**主要**节点,请考虑在[灾难恢复](../disaster_recovery/index.html)方案中将使用哪些 LDAP 服务器. - -查看有关如何在 LDAP 服务中设置复制的说明. 根据使用的软件或服务,说明会有所不同. 例如,OpenLDAP 提供了[这些说明](https://www.openldap.org/doc/admin24/replication.html) . - -### Geo Tracking Database[](#geo-tracking-database "Permalink") - -跟踪数据库实例用作元数据,以控制需要在本地实例的磁盘上更新的内容. 例如: - -* 下载新资产. -* 提取新的 LFS 对象. -* 从最近更新的存储库中获取更改. - -因为复制的数据库实例是只读的,所以每个**辅助**节点都需要这个额外的数据库实例. 跟踪数据库需要`postgres_fdw`扩展名. - -### Geo Log Cursor[](#geo-log-cursor "Permalink") - -该守护程序: - -* 读取由**主**节点复制到**辅助**数据库实例的事件的日志. -* 使用需要执行的更改更新地理跟踪数据库实例. - -在跟踪数据库实例中将某些内容标记为要更新时,在**辅助**节点上运行的异步作业将执行所需的操作并更新状态. - -这种新的体系结构使 GitLab 能够应对节点之间的连接问题. **辅助**节点与**主**节点断开连接的时间无关紧要,因为它将能够以正确的顺序重放所有事件并再次与**主**节点同步. - -## Setup instructions[](#setup-instructions "Permalink") - -这些说明假定您有一个 GitLab 的工作实例. 他们指导您: - -1. 将现有实例设为**主要**节点. -2. Adding **secondary** nodes. - -**Caution:** The steps below should be followed in the order they appear. **确保所有节点上的 GitLab 版本均相同.** - -### Using Omnibus GitLab[](#using-omnibus-gitlab "Permalink") - -如果您使用 Omnibus 软件包安装了 GitLab(强烈建议): - -1. 在将用作**辅助**节点的服务器上[安装 GitLab 企业版](https://about.gitlab.com/install/) . 不要创建帐户或登录到新的**辅助**节点. -2. 在**主**节点上[载 GitLab 许可](../../../user/admin_area/license.html)以解锁 Geo. 该许可证必须适用于[GitLab Premium](https://about.gitlab.com/pricing/)或更高版本. -3. [Set up the database replication](database.html) (`primary (read-write) <-> secondary (read-only)` topology). -4. [在数据库中配置快速查找授权的 SSH 密钥](../../operations/fast_ssh_key_lookup.html) . 此步骤是必需的,并且必须**同时**在**主**节点和**辅助**节点上完成. -5. [配置 GitLab](configuration.html)以设置**主**节点和**辅助**节点. -6. 可选:为**辅助**节点[配置辅助 LDAP 服务器](../../auth/ldap/index.html) . 请参阅[LDAP 上的注释](#ldap) . -7. [Follow the “Using a Geo Server” guide](using_a_geo_server.html). - -## Post-installation documentation[](#post-installation-documentation "Permalink") - -在**辅助**节点上安装 GitLab 并执行初始配置后,请参阅以下文档以获取安装后信息. - -### Configuring Geo[](#configuring-geo "Permalink") - -有关配置 Geo 的信息,请参见[Geo 配置](configuration.html) . - -### Updating Geo[](#updating-geo "Permalink") - -有关如何将 Geo 节点更新到最新的 GitLab 版本的信息,请参见[更新 Geo 节点](updating_the_geo_nodes.html) . - -### Pausing and resuming replication[](#pausing-and-resuming-replication "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/35913) in [GitLab Premium](https://about.gitlab.com/pricing/) 13.2. - -在某些情况下,例如在[升级](updating_the_geo_nodes.html)或[计划的故障转移](../disaster_recovery/planned_failover.html)期间,最好暂停主数据库和辅助数据库之间的复制. - -暂停和恢复复制是通过辅助节点上的命令行工具完成的. - -**暂停:(从中学开始)** - -``` -gitlab-ctl geo-replication-pause -``` - -**恢复:(从中学开始)** - -``` -gitlab-ctl geo-replication-resume -``` - -### Configuring Geo for multiple nodes[](#configuring-geo-for-multiple-nodes "Permalink") - -有关为多个节点配置 Geo 的信息,请参阅[针对多个服务器的 Geo](multiple_servers.html) . - -### Configuring Geo with Object Storage[](#configuring-geo-with-object-storage "Permalink") - -有关配置带对象存储的 Geo 的信息,请参阅[带对象存储的 Geo](object_storage.html) . - -### Disaster Recovery[](#disaster-recovery "Permalink") - -有关在灾难恢复情况下使用 Geo 减轻数据丢失和恢复服务的信息,请参阅[灾难恢复](../disaster_recovery/index.html) . - -### Replicating the Container Registry[](#replicating-the-container-registry "Permalink") - -有关如何复制 Container Registry 的更多信息,请参阅[**辅助**节点的 Docker Registry](docker_registry.html) . - -### Security Review[](#security-review "Permalink") - -有关地理安全的更多信息,请参阅[地理安全审阅](security_review.html) . - -### Tuning Geo[](#tuning-geo "Permalink") - -有关调整 Geo 的更多信息,请参见[调整 Geo](tuning.html) . - -### Set up a location-aware Git URL[](#set-up-a-location-aware-git-url "Permalink") - -有关如何使用 AWS Route53 设置位置感知的 Git 远程 URL 的示例,请参阅使用 AWS Route53 [感知位置的 Git 远程 URL](location_aware_git_url.html) . - -## Remove Geo node[](#remove-geo-node "Permalink") - -For more information on removing a Geo node, see [Removing **secondary** Geo nodes](remove_geo_node.html). - -## Disable Geo[](#disable-geo "Permalink") - -要了解如何禁用地理位置,请参阅[禁用地理位置](disable_geo.html) . - -## Current limitations[](#current-limitations "Permalink") - -**注意:**此限制列表仅反映最新版本的 GitLab. 如果您使用的是旧版本,则可能存在其他限制. - -* 将请求直接推送到**辅助**节点(对于 HTTP)或代理(对于 SSH)​​会将请求重定向到**主要**节点,而不是[直接处理它](https://gitlab.com/gitlab-org/gitlab/-/issues/1381) ,除非在 HTTP 中使用 Git over HTTP 并在 URI 中嵌入凭据. 例如, `https://user:password@secondary.tld` . -* 克隆,拉动或推送存在于**主**节点上但不存在于**辅助**节点上的存储库,这些存储库中的[选择性同步](configuration.html#selective-synchronization)不包括项目,因此不支持通过 SSH 进行, [但已计划进行支持](https://gitlab.com/groups/gitlab-org/-/epics/2562) . 支持 HTTP(S). -* **主**节点必须在线才能进行 OAuth 登录. 现有会话和 Git 均不受影响. [正在计划](https://gitlab.com/gitlab-org/gitlab/-/issues/208465)支持**辅助**节点使用独立于主节点的 OAuth 提供程序. -* 安装过程需要执行多个手动步骤,根据具体情况,总共可能需要一个小时的时间. 我们正在努力改善这种体验. 有关详细信息,请参见[Omnibus GitLab 第 2978](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/2978)期. -* 问题/合并请求的实时更新(例如,通过长轮询)在**辅助**节点上不起作用. -* [选择性同步](configuration.html#selective-synchronization)仅适用于文件和存储库. 其他数据集已完全复制到**辅助**节点,使其不适合用作访问控制机制. -* 用于分支项目重复数据删除的对象池仅在**主**节点上工作,并在**辅助**节点上重复. -* [如果外部合并请求差异](../../merge_request_diffs.html)在磁盘上,则将不会复制它们,并且查看合并请求将失败. 但是,支持对象存储**中的**外部 MR 差异. 默认配置(数据库中)起作用. -* GitLab Runners 无法向**辅助**节点注册. [计划在将来](https://gitlab.com/gitlab-org/gitlab/-/issues/3294)对此提供支持. - -### Limitations on replication/verification[](#limitations-on-replicationverification "Permalink") - -您可以跟踪实现这些史诗/问题中缺少的项目的进度: - -* [Unreplicated Data Types](https://gitlab.com/groups/gitlab-org/-/epics/893) -* [Verify all replicated data](https://gitlab.com/groups/gitlab-org/-/epics/1430) - -这里有所有 GitLab [数据类型](datatypes.html)的完整列表以及[对复制和验证的现有支持](datatypes.html#limitations-on-replicationverification) . - -## Frequently Asked Questions[](#frequently-asked-questions "Permalink") - -有关常见问题的答案,请参见[地理位置常见问题解答](faq.html) . - -## Log files[](#log-files "Permalink") - -自 GitLab 9.5 起,Geo 将结构化日志消息存储在`geo.log`文件中. 对于 Omnibus 安装,此文件位于`/var/log/gitlab/gitlab-rails/geo.log` . - -该文件包含有关 Geo 何时尝试同步存储库和文件的信息. 文件中的每一行都包含一个可以提取的单独的 JSON 条目. 例如,Elasticsearch 或 Splunk. - -例如: - -``` -{"severity":"INFO","time":"2017-08-06T05:40:16.104Z","message":"Repository update","project_id":1,"source":"repository","resync_repository":true,"resync_wiki":true,"class":"Gitlab::Geo::LogCursor::Daemon","cursor_delay_s":0.038} -``` - -此消息表明,Geo 检测到项目`1`需要存储库更新. - -## Troubleshooting[](#troubleshooting "Permalink") - -有关故障排除步骤,请参阅[地理故障排除](troubleshooting.html) . \ No newline at end of file diff --git a/docs/489.md b/docs/489.md deleted file mode 100644 index 735ab9f..0000000 --- a/docs/489.md +++ /dev/null @@ -1,414 +0,0 @@ -# Geo database replication - -> 原文:[https://docs.gitlab.com/ee/administration/geo/replication/database.html](https://docs.gitlab.com/ee/administration/geo/replication/database.html) - -* [PostgreSQL replication](#postgresql-replication) - * [Step 1\. Configure the **primary** server](#step-1-configure-the-primary-server) - * [Step 2\. Configure the **secondary** server](#step-2-configure-the-secondary-server) - * [Step 3\. Initiate the replication process](#step-3-initiate-the-replication-process) -* [PgBouncer support (optional)](#pgbouncer-support-optional) -* [Troubleshooting](#troubleshooting) - -# Geo database replication[](#geo-database-replication-premium-only "Permalink") - -**注意:**如果您的 GitLab 安装使用外部(不受 Omnibus 管理)PostgreSQL 实例,则 Omnibus 角色将无法执行所有必要的配置步骤. 在这种情况下,请[改用 Geo with external PostgreSQL instances 文档](external_database.html) .**Note:** The stages of the setup process must be completed in the documented order. Before attempting the steps in this stage, [complete all prior stages](index.html#using-omnibus-gitlab). - -本文档介绍了将**主** GitLab 数据库复制到**辅助**节点的数据库时必须执行的最少步骤. 您可能需要根据数据库设置,数据库大小等来更改一些值. - -我们鼓励您先阅读所有步骤,然后再在测试/生产环境中执行这些步骤. - -## PostgreSQL replication[](#postgresql-replication "Permalink") - -进行写操作的 GitLab **主**节点将连接到**主**数据库服务器, **辅助**节点将连接到他们自己的数据库服务器(也是只读的). - -我们建议使用[PostgreSQL 复制插槽,](https://medium.com/@tk512/replication-slots-in-postgresql-b4b03d277c75)以确保**主**节点保留恢复**次**节点所需的所有数据. 请参阅下面的更多细节. - -The following guide assumes that: - -* 您使用的是 Omnibus,因此使用的是 PostgreSQL 11 或更高版本,其中包括[`pg_basebackup`工具](https://s0www0postgresql0org.icopy.site/docs/11/app-pgbasebackup.html)和改进的[Foreign Data Wrapper](https://s0www0postgresql0org.icopy.site/docs/11/postgres-fdw.html)支持. -* 您已经设置了一个**主**节点(您要从中复制的 GitLab 服务器),并且正在运行 Omnibus 的 PostgreSQL(或等效版本),并且已经设置了一个新的**辅助**服务器,并且具有相同版本的 OS,PostgreSQL 和 GitLab.所有节点. - -**警告:** Geo 可用于流复制. 目前不支持逻辑复制. 在[讨论支持问题](https://gitlab.com/gitlab-org/gitlab/-/issues/7420) . - -### Step 1\. Configure the **primary** server[](#step-1-configure-the-primary-server "Permalink") - -1. SSH 到您的 GitLab **主**服务器并以 root 用户身份登录: - - ``` - sudo -i - ``` - -2. 编辑`/etc/gitlab/gitlab.rb`并为您的节点添加一个**唯一的**名称: - - ``` - # The unique identifier for the Geo node. - gitlab_rails['geo_node_name'] = '' - ``` - -3. 重新配置**主**节点以使更改生效: - - ``` - gitlab-ctl reconfigure - ``` - -4. 执行以下命令以将节点定义**为主**节点: - - ``` - gitlab-ctl set-geo-primary-node - ``` - - 该命令将使用您在`/etc/gitlab/gitlab.rb`定义的`external_url` . - -5. 仅限于 GitLab 10.4 及更高版本:执行以下操作以确保`gitlab`数据库用户已定义密码: - - 生成所需密码的 MD5 哈希值: - - ``` - gitlab-ctl pg-password-md5 gitlab - # Enter password: - # Confirm password: - # fca0b89a972d69f00eb3ec98a5838484 - ``` - - Edit `/etc/gitlab/gitlab.rb`: - - ``` - # Fill with the hash generated by `gitlab-ctl pg-password-md5 gitlab` - postgresql['sql_user_password'] = '' - - # Every node that runs Puma or Sidekiq needs to have the database - # password specified as below. If you have a high-availability setup, this - # must be present in all application nodes. - gitlab_rails['db_password'] = '' - ``` - -6. Omnibus GitLab 已经有一个名为`gitlab_replicator`的[复制用户](https://wiki.postgresql.org/wiki/Streaming_Replication) . 您必须手动设置该用户的密码. 系统将提示您输入密码: - - ``` - gitlab-ctl set-replication-password - ``` - - 如果您已将`gitlab_replicator`用户名更改为其他名称,则此命令还将读取`postgresql['sql_replication_user']` Omnibus 设置. - - 如果您使用的不是由 Omnibus GitLab 管理的外部数据库,则需要创建复制器用户并手动为其定义密码: - - ``` - --- Create a new user 'replicator' - CREATE USER gitlab_replicator; - - --- Set/change a password and grants replication privilege - ALTER USER gitlab_replicator WITH REPLICATION ENCRYPTED PASSWORD ''; - ``` - -7. 配置 PostgreSQL 以侦听网络接口: - - 出于安全原因,PostgreSQL 默认情况下不侦听任何网络接口. 但是,Geo 要求**辅助**节点能够连接到**主**节点的数据库. 因此,我们需要每个节点的地址. - - **注意:**对于外部 PostgreSQL 实例,请参见[其他说明](external_database.html) . - - 如果使用的是云提供商,则可以通过云提供商的管理控制台查找每个地理节点的地址. - - 要查找 Geo 节点的地址,请 SSH 到 Geo 节点并执行: - - ``` - ## - ## Private address - ## - ip route get 255.255.255.255 | awk '{print "Private address:", $NF; exit}' - - ## - ## Public address - ## - echo "External address: $(curl --silent ipinfo.io/ip)" - ``` - - 在大多数情况下,以下地址将用于配置 GitLab Geo: - - | Configuration | Address | - | --- | --- | - | `postgresql['listen_address']` | **主**节点的公用或 VPC 专用地址. | - | `postgresql['md5_auth_cidr_addresses']` | **辅助**节点的公用或 VPC 专用地址. | - - 如果您使用的是 Google Cloud Platform,SoftLayer 或提供虚拟私有云(VPC)的任何其他供应商,则可以将**主**节点和**辅助**节点的私有地址(对应于 Google Cloud Platform 的"内部地址")用于`postgresql['md5_auth_cidr_addresses']`和`postgresql['listen_address']` . - - `listen_address`选项打开 PostgreSQL 直至与给定地址对应的接口的网络连接. 有关更多详细信息,请参见[PostgreSQL 文档](https://s0www0postgresql0org.icopy.site/docs/11/runtime-config-connection.html) . - - 根据您的网络配置,建议的地址可能不正确. 如果您的**主**节点和**辅助**节点通过局域网或连接可用性区域的虚拟网络(例如[Amazon 的 VPC](https://aws.amazon.com/vpc/)或[Google 的 VPC)进行连接](https://cloud.google.com/vpc/) ,则应将**辅助**节点的私有地址用于`postgresql['md5_auth_cidr_addresses']` . - - 编辑`/etc/gitlab/gitlab.rb`并添加以下内容,将 IP 地址替换为适合您的网络配置的地址: - - ``` - ## - ## Geo Primary role - ## - configure dependent flags automatically to enable Geo - ## - roles ['geo_primary_role'] - - ## - ## Primary address - ## - replace '' with the public or VPC address of your Geo primary node - ## - postgresql['listen_address'] = '' - - ## - # Allow PostgreSQL client authentication from the primary and secondary IPs. These IPs may be - # public or VPC addresses in CIDR format, for example ['198.51.100.1/32', '198.51.100.2/32'] - ## - postgresql['md5_auth_cidr_addresses'] = ['/32', '/32'] - - ## - ## Replication settings - ## - set this to be the number of Geo secondary nodes you have - ## - postgresql['max_replication_slots'] = 1 - # postgresql['max_wal_senders'] = 10 - # postgresql['wal_keep_segments'] = 10 - - ## - ## Disable automatic database migrations temporarily - ## (until PostgreSQL is restarted and listening on the private address). - ## - gitlab_rails['auto_migrate'] = false - ``` - -8. 可选:如果要添加另一个**辅助**节点,则相关设置应如下所示: - - ``` - postgresql['md5_auth_cidr_addresses'] = ['/32', '/32', '/32'] - ``` - - 您可能还需要编辑`wal_keep_segments`和`max_wal_senders`以匹配您的数据库复制要求. 有关更多信息,请查阅[PostgreSQL-复制文档](https://s0www0postgresql0org.icopy.site/docs/11/runtime-config-replication.html) . - -9. 保存文件并重新配置 GitLab,以进行数据库侦听更改和要应用的复制插槽更改: - - ``` - gitlab-ctl reconfigure - ``` - - 重新启动 PostgreSQL 以使其更改生效: - - ``` - gitlab-ctl restart postgresql - ``` - -10. 现在,重新启动 PostgreSQL 并重新侦听私有地址,即可重新启用迁移. - - 编辑`/etc/gitlab/gitlab.rb`并将配置**更改**为`true` : - - ``` - gitlab_rails['auto_migrate'] = true - ``` - - 保存文件并重新配置 GitLab: - - ``` - gitlab-ctl reconfigure - ``` - -11. 现在,PostgreSQL 服务器已设置为接受远程连接,请运行`netstat -plnt | grep 5432` `netstat -plnt | grep 5432` ,以确保 PostgreSQL 在端口`5432`上侦听**主**服务器的私有地址. - -12. 重新配置 GitLab 时会自动生成一个证书. 这将自动用于保护 PostgreSQL 流量免遭窃听,但是为了防止主动(中间人)攻击者, **辅助**节点需要证书的副本. 通过运行以下命令,在**主**节点上复制 PostgreSQL `server.crt`文件: - - ``` - cat ~gitlab-psql/data/server.crt - ``` - - 将输出复制到剪贴板或本地文件中. 设置**辅助**节点时将需要它! 证书不是敏感数据. - -### Step 2\. Configure the **secondary** server[](#step-2-configure-the-secondary-server "Permalink") - -1. SSH 到您的 GitLab **辅助**服务器并以 root 用户身份登录: - - ``` - sudo -i - ``` - -2. 停止应用程序服务器和 Sidekiq - - ``` - gitlab-ctl stop puma - gitlab-ctl stop sidekiq - ``` - - **注意:**此步骤很重要,因此在完全配置节点之前,我们不要尝试执行任何操作. -3. [检查](../../raketasks/maintenance.html)与**主**节点的 PostgreSQL 服务器的[TCP 连接](../../raketasks/maintenance.html) : - - ``` - gitlab-rake gitlab:tcp_check[,5432] - ``` - - **注意:**如果此步骤失败,则可能是您使用了错误的 IP 地址,或者防火墙可能阻止了对服务器的访问. 检查 IP 地址,并密切注意公用地址和专用地址之间的区别,并确保(如果存在防火墙)允许**次**节点连接到端口 5432 上的**主**节点. -4. 在**辅助**服务器上创建文件`server.crt` ,其中包含在**主**节点设置的最后一步中获得的内容: - - ``` - editor server.crt - ``` - -5. 在**辅助**节点上设置 PostgreSQL TLS 验证: - - 安装`server.crt`文件: - - ``` - install \ - -D \ - -o gitlab-psql \ - -g gitlab-psql \ - -m 0400 \ - -T server.crt ~gitlab-psql/.postgresql/root.crt - ``` - - 现在,PostgreSQL 将仅在验证 TLS 连接时识别该确切证书. 只能由有权访问私钥的人复制证书,该私钥**仅存**在于**主**节点上. - -6. 测试`gitlab-psql`用户可以连接到**主**节点的数据库(默认的 Omnibus 数据库名称为`gitlabhq_production` ): - - ``` - sudo \ - -u gitlab-psql /opt/gitlab/embedded/bin/psql \ - --list \ - -U gitlab_replicator \ - -d "dbname=gitlabhq_production sslmode=verify-ca" \ - -W \ - -h - ``` - - 出现提示时,输入您在第一步中为`gitlab_replicator`用户设置的密码. 如果所有方法均正常工作,则应该看到**主**节点数据库的列表. - - 此处连接失败表示 TLS 配置不正确. 确保**主**节点上`~gitlab-psql/data/server.crt`的内容与**辅助**节点上`~gitlab-psql/.postgresql/root.crt`的内容匹配. - -7. 配置 PostgreSQL 以启用 FDW 支持: - - 此步骤类似于我们配置**主**实例的方式. 我们需要启用它,以启用 FDW 支持,即使使用单个节点也是如此. - - 编辑`/etc/gitlab/gitlab.rb`并添加以下内容,将 IP 地址替换为适合您的网络配置的地址: - - ``` - ## - ## Geo Secondary role - ## - configure dependent flags automatically to enable Geo - ## - roles ['geo_secondary_role'] - - ## - ## Secondary address - ## - replace '' with the public or VPC address of your Geo secondary node - ## - postgresql['listen_address'] = '' - postgresql['md5_auth_cidr_addresses'] = ['/32'] - - ## - ## Database credentials password (defined previously in primary node) - ## - replicate same values here as defined in primary node - ## - postgresql['sql_user_password'] = '' - gitlab_rails['db_password'] = '' - - ## - ## Enable FDW support for the Geo Tracking Database (improves performance) - ## - geo_secondary['db_fdw'] = true - ``` - - 对于外部 PostgreSQL 实例,请参见[其他说明](external_database.html) . 如果您使以前的**主**节点重新联机以用作**辅助**节点,则还需要删除`roles ['geo_primary_role']`或`geo_primary_role['enable'] = true` . - -8. 重新配置 GitLab,以使更改生效: - - ``` - gitlab-ctl reconfigure - ``` - -9. 重新启动 PostgreSQL 以使 IP 更改生效并再次重新配置: - - ``` - gitlab-ctl restart postgresql - gitlab-ctl reconfigure - ``` - - 最后的重新配置将提供 FDW 配置并启用它. - -### Step 3\. Initiate the replication process[](#step-3-initiate-the-replication-process "Permalink") - -在下面,我们提供了一个脚本,该脚本将**辅助**节点上的数据库连接到**主要**节点上的数据库,复制数据库,并创建流复制所需的文件. - -使用的目录是在 Omnibus 中设置的默认目录. 如果更改了任何默认值,请根据需要配置它,替换目录和路径. - -**警告:**确保在**辅助**服务器上运行此命令,因为它会在运行`pg_basebackup`之前删除所有 PostgreSQL 的数据. - -1. SSH 到您的 GitLab **辅助**服务器并以 root 用户身份登录: - - ``` - sudo -i - ``` - -2. 选择一个数据库友好名称,以供您的**辅助**节点用作复制插槽名称. 例如,如果您的域是`secondary.geo.example.com` ,则可以使用`secondary_example`作为插槽名称,如以下命令所示. - -3. 执行以下命令以开始备份/还原并开始复制 - - **警告:**每个 Geo **辅助**节点必须具有自己的唯一复制插槽名称. 在两个辅助节点之间使用相同的插槽名称将破坏 PostgreSQL 复制. - - ``` - gitlab-ctl replicate-geo-database \ - --slot-name= \ - --host= - ``` - - **注意:**复制插槽名称只能包含小写字母,数字和下划线字符. - - 出现提示时,输入第一步中为`gitlab_replicator`用户设置的*纯文本*密码. - - 此命令还带有许多其他选项. 您可以使用`--help`列出所有内容,但是这里有一些提示: - - * 如果 PostgreSQL 在非标准端口上侦听,则还要添加`--port=` . - * 如果数据库太大而无法在 30 分钟内传输,则需要增加超时,例如`--backup-timeout=3600`如果您希望初始复制花费一个小时以下的话. - * 通过`--sslmode=disable`可以完全跳过 PostgreSQL TLS 身份验证(例如,您知道网络路径是安全的,或者您使用的是站点到站点 VPN). 这**不是**通过公共互联网安全! - * 您可以在[PostgreSQL 文档中](https://s0www0postgresql0org.icopy.site/docs/11/libpq-ssl.html)阅读有关每个`sslmode`更多详细信息; 上面的说明均经过精心编写,以确保既能防御被动的窃听者,又能防御主动的"中间人"攻击者. - * 将`--slot-name`更改为要在**主**数据库上使用的复制插槽的名称. 该脚本将尝试自动创建复制插槽(如果不存在). - * If you’re repurposing an old server into a Geo **secondary** node, you’ll need to add `--force` to the command line. - * 如果不在生产机器中,则可以通过添加`--skip-backup`确保确实`--skip-backup`从而禁用备份步骤 - -复制过程现已完成. - -## PgBouncer support (optional)[](#pgbouncer-support-optional "Permalink") - -[PgBouncer](https://www.pgbouncer.org/)可以与 GitLab Geo 一起使用来合并 PostgreSQL 连接. 如果您在高可用性配置中使用 GitLab,且该群集的节点集群支持 Geo **主**节点,而另一个节点集群支持 Geo **辅助**节点,则建议使用 PgBouncer. 有关更多信息,请参见[Omnibus GitLab 的高可用性](../../postgresql/replication_and_failover.html) . - -为了使 Geo **辅助**节点能够与数据库前面的 PgBouncer 一起正常使用,它将需要一个单独的只读用户才能使[PostgreSQL FDW 查询](https://s0www0postgresql0org.icopy.site/docs/11/postgres-fdw.html)起作用: - -1. 在**主要的**地理数据库上,以管理员用户身份在控制台上输入 PostgreSQL. 如果使用的是 Omnibus 管理的数据库,请登录到运行 PostgreSQL 数据库的**主**节点(默认的 Omnibus 数据库名称为`gitlabhq_production` ): - - ``` - sudo \ - -u gitlab-psql /opt/gitlab/embedded/bin/psql \ - -h /var/opt/gitlab/postgresql gitlabhq_production - ``` - -2. 然后创建只读用户: - - ``` - -- NOTE: Use the password defined earlier - CREATE USER gitlab_geo_fdw WITH password 'mypassword'; - GRANT CONNECT ON DATABASE gitlabhq_production to gitlab_geo_fdw; - GRANT USAGE ON SCHEMA public TO gitlab_geo_fdw; - GRANT SELECT ON ALL TABLES IN SCHEMA public TO gitlab_geo_fdw; - GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO gitlab_geo_fdw; - - -- Tables created by "gitlab" should be made read-only for "gitlab_geo_fdw" - -- automatically. - ALTER DEFAULT PRIVILEGES FOR USER gitlab IN SCHEMA public GRANT SELECT ON TABLES TO gitlab_geo_fdw; - ALTER DEFAULT PRIVILEGES FOR USER gitlab IN SCHEMA public GRANT SELECT ON SEQUENCES TO gitlab_geo_fdw; - ``` - -3. 在**辅助**节点上,更改`/etc/gitlab/gitlab.rb` : - - ``` - geo_postgresql['fdw_external_user'] = 'gitlab_geo_fdw' - ``` - -4. 保存文件并重新配置 GitLab 以应用更改: - - ``` - gitlab-ctl reconfigure - ``` - -## Troubleshooting[](#troubleshooting "Permalink") - -阅读[故障排除文档](troubleshooting.html) . \ No newline at end of file diff --git a/docs/490.md b/docs/490.md deleted file mode 100644 index 6be9953..0000000 --- a/docs/490.md +++ /dev/null @@ -1,250 +0,0 @@ -# Geo with external PostgreSQL instances - -> 原文:[https://docs.gitlab.com/ee/administration/geo/replication/external_database.html](https://docs.gitlab.com/ee/administration/geo/replication/external_database.html) - -* [**Primary** node](#primary-node) - * [Configure the external database to be replicated](#configure-the-external-database-to-be-replicated) - * [Leverage your cloud provider’s tools to replicate the primary database](#leverage-your-cloud-providers-tools-to-replicate-the-primary-database) - * [Manually configure the primary database for replication](#manually-configure-the-primary-database-for-replication) -* [**Secondary** nodes](#secondary-nodes) - * [Manually configure the replica database](#manually-configure-the-replica-database) - * [Configure **secondary** application nodes to use the external read-replica](#configure-secondary-application-nodes-to-use-the-external-read-replica) - * [Configure the tracking database](#configure-the-tracking-database) - -# Geo with external PostgreSQL instances[](#geo-with-external-postgresql-instances-premium-only "Permalink") - -如果您使用的*不是由 Omnibus 管理*的 PostgreSQL 实例,则此文档很重要. 这包括 AWS RDS 之类的云托管实例,或者手动安装和配置的 PostgreSQL 实例. - -**注意:**我们强烈建议运行 Omnibus 管理的实例,因为它们是积极开发和测试的. 我们的目标是与大多数外部数据库(不受 Omnibus 管理)兼容,但我们不保证兼容性. - -## **Primary** node[](#primary-node "Permalink") - -1. SSH 到 GitLab **主**应用程序服务器并以 root 用户身份登录: - - ``` - sudo -i - ``` - -2. 编辑`/etc/gitlab/gitlab.rb`并为您的节点添加一个**唯一的** ID(任意值): - - ``` - # The unique identifier for the Geo node. - gitlab_rails['geo_node_name'] = '' - ``` - -3. 重新配置**主**节点以使更改生效: - - ``` - gitlab-ctl reconfigure - ``` - -4. 执行以下命令以将节点定义**为主**节点: - - ``` - gitlab-ctl set-geo-primary-node - ``` - - 该命令将使用您在`/etc/gitlab/gitlab.rb`定义的`external_url` . - -### Configure the external database to be replicated[](#configure-the-external-database-to-be-replicated "Permalink") - -要设置外部数据库,您可以: - -* 自己设置流复制(例如,在 AWS RDS 中). -* 手动执行 Omnibus 配置,如下所示. - -#### Leverage your cloud provider’s tools to replicate the primary database[](#leverage-your-cloud-providers-tools-to-replicate-the-primary-database "Permalink") - -假设您在使用 RDS 的 AWS EC2 上设置了一个主节点. 现在,您仅可以在其他区域中创建只读副本,复制过程将由 AWS 管理. 确保已根据需要设置了网络 ACL,子网和安全组,以便辅助应用程序节点可以访问数据库. - -以下说明详细说明了如何为常见的云提供程序创建只读副本: - -* Amazon RDS- [创建只读副本](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html#USER_ReadRepl.Create) -* PostgreSQL 的 Azure 数据库-在 PostgreSQL 的 Azure 数据库中[创建和管理只读副本](https://docs.microsoft.com/en-us/azure/postgresql/howto-read-replicas-portal) - -设置只读副本后,您可以跳过以[配置辅助应用程序节点](#configure-secondary-application-nodes-to-use-the-external-read-replica) . - -#### Manually configure the primary database for replication[](#manually-configure-the-primary-database-for-replication "Permalink") - -[`geo_primary_role`](https://docs.gitlab.com/omnibus/roles/)通过更改`pg_hba.conf`和`postgresql.conf`来配置要复制的**主**节点数据库. 手动对外部数据库配置进行以下配置更改,并确保稍后重新启动 PostgreSQL 才能使更改生效: - -``` -## -## Geo Primary Role -## - pg_hba.conf -## -host all all /32 md5 -host replication gitlab_replicator /32 md5 -host all all /32 md5 -host replication gitlab_replicator /32 md5 -``` - -``` -## -## Geo Primary Role -## - postgresql.conf -## -wal_level = hot_standby -max_wal_senders = 10 -wal_keep_segments = 50 -max_replication_slots = 1 # number of secondary instances -hot_standby = on -``` - -## **Secondary** nodes[](#secondary-nodes "Permalink") - -### Manually configure the replica database[](#manually-configure-the-replica-database "Permalink") - -手动对外部副本数据库的`pg_hba.conf`和`postgresql.conf`进行以下配置更改,并确保之后重新启动 PostgreSQL 才能使更改生效: - -``` -## -## Geo Secondary Role -## - pg_hba.conf -## -host all all /32 md5 -host replication gitlab_replicator /32 md5 -host all all /24 md5 -``` - -``` -## -## Geo Secondary Role -## - postgresql.conf -## -wal_level = hot_standby -max_wal_senders = 10 -wal_keep_segments = 10 -hot_standby = on -``` - -### Configure **secondary** application nodes to use the external read-replica[](#configure-secondary-application-nodes-to-use-the-external-read-replica "Permalink") - -对于 Omnibus, [`geo_secondary_role`](https://docs.gitlab.com/omnibus/roles/)具有三个主要功能: - -1. 配置副本数据库. -2. 配置跟踪数据库. -3. 启用[地理日志光标](index.html#geo-log-cursor) (本节未介绍). - -要配置与外部只读副本数据库的连接并启用 Log Cursor,请执行以下操作: - -1. SSH 到 GitLab **辅助**应用程序服务器并以 root 用户身份登录: - - ``` - sudo -i - ``` - -2. 编辑`/etc/gitlab/gitlab.rb`并添加以下内容 - - ``` - ## - ## Geo Secondary role - ## - configure dependent flags automatically to enable Geo - ## - roles ['geo_secondary_role'] - - # note this is shared between both databases, - # make sure you define the same password in both - gitlab_rails['db_password'] = '' - - gitlab_rails['db_username'] = 'gitlab' - gitlab_rails['db_host'] = '' - - # Disable the bundled Omnibus PostgreSQL, since we are - # using an external PostgreSQL - postgresql['enable'] = false - ``` - -3. 保存文件并[重新配置 GitLab](../../restart_gitlab.html#omnibus-gitlab-reconfigure) - -### Configure the tracking database[](#configure-the-tracking-database "Permalink") - -**辅助**节点使用单独的 PostgreSQL 安装作为跟踪数据库,以跟踪复制状态并自动从潜在的复制问题中恢复. 设置了`roles ['geo_secondary_role']` Omnibus 会自动配置跟踪数据库. 如果要在 Omnibus 外部运行此数据库,请按照以下说明进行操作. - -如果您将云托管服务用于跟踪数据库,则可能需要向跟踪数据库用户授予其他角色(默认情况下,这是`gitlab_geo` ): - -* Amazon RDS 需要[`rds_superuser`](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.PostgreSQL.CommonDBATasks.html#Appendix.PostgreSQL.CommonDBATasks.Roles)角色. -* PostgreSQL 的 Azure 数据库需要[`azure_pg_admin`](https://docs.microsoft.com/en-us/azure/postgresql/howto-create-users#how-to-create-additional-admin-users-in-azure-database-for-postgresql)角色. - -跟踪数据库需要与**辅助**副本数据库建立[FDW](https://s0www0postgresql0org.icopy.site/docs/11/postgres-fdw.html)连接以提高性能. - -如果您准备好将外部数据库用作跟踪数据库,请按照以下说明使用它: - -**注意:**如果您要将 AWS RDS 用作跟踪数据库,请确保其有权访问辅助数据库. 不幸的是,仅分配相同的安全组是不够的,因为出站规则不适用于 RDS PostgreSQL 数据库. 因此,您需要将入站规则显式添加到只读副本的安全组,以允许来自跟踪数据库的端口 5432 上的所有 TCP 通信. - -1. 通过手动更改与跟踪数据库关联的`pg_hba.conf` ,确保辅助节点可以与跟踪数据库通信. 请记住,之后要重新启动 PostgreSQL 才能使更改生效: - - ``` - ## - ## Geo Tracking Database Role - ## - pg_hba.conf - ## - host all all /32 md5 - host all all /32 md5 - ``` - -2. SSH 到 GitLab **辅助**服务器并以 root 用户身份登录: - - ``` - sudo -i - ``` - -3. 使用 PostgreSQL 实例的机器的连接参数和凭据编辑`/etc/gitlab/gitlab.rb` : - - ``` - geo_secondary['db_username'] = 'gitlab_geo' - geo_secondary['db_password'] = '' - - geo_secondary['db_host'] = '' - geo_secondary['db_port'] = # change to the correct port - geo_secondary['db_fdw'] = true # enable FDW - geo_postgresql['enable'] = false # don't use internal managed instance - ``` - -4. 保存文件并[重新配置 GitLab](../../restart_gitlab.html#omnibus-gitlab-reconfigure) - -5. 运行跟踪数据库迁移: - - ``` - gitlab-rake geo:db:create - gitlab-rake geo:db:migrate - ``` - -6. 配置[PostgreSQL FDW](https://s0www0postgresql0org.icopy.site/docs/11/postgres-fdw.html)连接和凭据: - - 将下面的脚本保存在一个文件中,例如. `/tmp/geo_fdw.sh`并修改连接参数以匹配您的环境. 执行它以建立 FDW 连接. - - ``` - #!/bin/bash - - # Secondary Database connection params: - DB_HOST="" - DB_NAME="gitlabhq_production" - DB_USER="gitlab" - DB_PASS="" - DB_PORT="5432" - - # Tracking Database connection params: - GEO_DB_HOST="" - GEO_DB_NAME="gitlabhq_geo_production" - GEO_DB_USER="gitlab_geo" - GEO_DB_PORT="5432" - - query_exec () { - gitlab-psql -h $GEO_DB_HOST -U $GEO_DB_USER -d $GEO_DB_NAME -p $GEO_DB_PORT -c "${1}" - } - - query_exec "CREATE EXTENSION postgres_fdw;" - query_exec "CREATE SERVER gitlab_secondary FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host '${DB_HOST}', dbname '${DB_NAME}', port '${DB_PORT}');" - query_exec "CREATE USER MAPPING FOR ${GEO_DB_USER} SERVER gitlab_secondary OPTIONS (user '${DB_USER}', password '${DB_PASS}');" - query_exec "CREATE SCHEMA gitlab_secondary;" - query_exec "GRANT USAGE ON FOREIGN SERVER gitlab_secondary TO ${GEO_DB_USER};" - ``` - - **注意:**上面的脚本模板使用`gitlab-psql`因为它打算从 Geo 机器上执行,但是您可以将其更改为`psql`并从任何有权访问数据库的机器上运行. 我们还建议将`psql`用于 AWS RDS. -7. 保存文件并[重新启动 GitLab](../../restart_gitlab.html#omnibus-gitlab-restart) -8. Populate the FDW tables: - - ``` - gitlab-rake geo:db:refresh_foreign_tables - ``` \ No newline at end of file diff --git a/docs/491.md b/docs/491.md deleted file mode 100644 index b348e98..0000000 --- a/docs/491.md +++ /dev/null @@ -1,291 +0,0 @@ -# Geo configuration - -> 原文:[https://docs.gitlab.com/ee/administration/geo/replication/configuration.html](https://docs.gitlab.com/ee/administration/geo/replication/configuration.html) - -* [Configuring a new **secondary** node](#configuring-a-new-secondary-node) - * [Step 1\. Manually replicate secret GitLab values](#step-1-manually-replicate-secret-gitlab-values) - * [Step 2\. Manually replicate the **primary** node’s SSH host keys](#step-2-manually-replicate-the-primary-nodes-ssh-host-keys) - * [Step 3\. Add the **secondary** node](#step-3-add-the-secondary-node) - * [Step 4\. Enabling Hashed Storage](#step-4-enabling-hashed-storage) - * [Step 5\. (Optional) Configuring the **secondary** node to trust the **primary** node](#step-5-optional-configuring-the-secondary-node-to-trust-the-primary-node) - * [Step 6\. Enable Git access over HTTP/HTTPS](#step-6-enable-git-access-over-httphttps) - * [Step 7\. Verify proper functioning of the **secondary** node](#step-7-verify-proper-functioning-of-the-secondary-node) -* [Selective synchronization](#selective-synchronization) - * [Git operations on unreplicated repositories](#git-operations-on-unreplicated-repositories) -* [Upgrading Geo](#upgrading-geo) -* [Troubleshooting](#troubleshooting) - -# Geo configuration[](#geo-configuration-premium-only "Permalink") - -## Configuring a new **secondary** node[](#configuring-a-new-secondary-node "Permalink") - -**注意:**这是设置**辅助**地理节点的最后一步. 设置过程的各个阶段必须按记录的顺序完成. 在尝试此阶段中的步骤之前,请[完成所有之前的阶段](index.html#using-omnibus-gitlab) . - -配置**辅助**节点的基本步骤是: - -* 在**主**节点和**辅助**节点之间复制所需的配置. -* 在每个**辅助**节点上配置跟踪数据库. -* 在每个**辅助**节点上启动 GitLab. - -我们鼓励您先阅读所有步骤,然后再在测试/生产环境中执行这些步骤. - -**注意:** **不要**为**辅助**节点设置任何自定义身份验证. 这将由**主**节点处理. 任何需要访问" **管理区域"的**更改都必须在**主**节点中完成,因为**辅助**节点是只读副本. - -### Step 1\. Manually replicate secret GitLab values[](#step-1-manually-replicate-secret-gitlab-values "Permalink") - -GitLab 在`/etc/gitlab/gitlab-secrets.json`文件中存储了许多秘密值,这些秘密值在所有节点上都*必须*相同. 除非有一种方法可以在节点之间自动复制它们(请参阅[问题#3789](https://gitlab.com/gitlab-org/gitlab/-/issues/3789) ),否则必须将它们手动复制到**辅助**节点. - -1. SSH 进入**主**节点,并执行以下命令: - - ``` - sudo cat /etc/gitlab/gitlab-secrets.json - ``` - - 这将以 JSON 格式显示需要复制的机密. - -2. SSH 进入**辅助**节点并以`root`用户身份登录: - - ``` - sudo -i - ``` - -3. 备份所有现有机密: - - ``` - mv /etc/gitlab/gitlab-secrets.json /etc/gitlab/gitlab-secrets.json.`date +%F` - ``` - -4. 将`/etc/gitlab/gitlab-secrets.json`从**主**节点复制到**辅助**节点,或在节点之间复制并粘贴文件内容: - - ``` - sudo editor /etc/gitlab/gitlab-secrets.json - - # paste the output of the `cat` command you ran on the primary - # save and exit - ``` - -5. 确保文件权限正确: - - ``` - chown root:root /etc/gitlab/gitlab-secrets.json - chmod 0600 /etc/gitlab/gitlab-secrets.json - ``` - -6. 重新配置**辅助**节点以使更改生效: - - ``` - gitlab-ctl reconfigure - gitlab-ctl restart - ``` - -### Step 2\. Manually replicate the **primary** node’s SSH host keys[](#step-2-manually-replicate-the-primary-nodes-ssh-host-keys "Permalink") - -GitLab 与系统安装的 SSH 守护程序集成,指定一个用户(通常名为`git` )来处理所有访问请求. - -在[灾难恢复](../disaster_recovery/index.html)情况下,GitLab 系统管理员会将**辅助**节点升级为**主要**节点. **主**域的 DNS 记录也应更新为指向新的**主**节点(以前是**辅助**节点). 这样做可以避免更新 Git 遥控器和 API URL 的麻烦. - -由于 SSH 主机密钥不匹配,这将导致对新提升的**主**节点的所有 SSH 请求失败. 为防止这种情况,必须将主 SSH 主机密钥手动复制到**辅助**节点. - -1. SSH 进入**辅助**节点并以`root`用户身份登录: - - ``` - sudo -i - ``` - -2. 备份所有现有的 SSH 主机密钥: - - ``` - find /etc/ssh -iname ssh_host_* -exec cp {} {}.backup.`date +%F` \; - ``` - -3. 从**主**节点复制 OpenSSH 主机密钥: - - 如果可以使用**root**用户访问**主**节点: - - ``` - # Run this from the secondary node, change `` for the IP or FQDN of the server - scp root@:/etc/ssh/ssh_host_*_key* /etc/ssh - ``` - - 如果您只能通过具有`sudo`特权的用户访问: - - ``` - # Run this from your primary node: - sudo tar --transform 's/.*\///g' -zcvf ~/geo-host-key.tar.gz /etc/ssh/ssh_host_*_key* - - # Run this from your secondary node: - scp @:geo-host-key.tar.gz . - tar zxvf ~/geo-host-key.tar.gz -C /etc/ssh - ``` - -4. 在**辅助**节点上,确保文件权限正确: - - ``` - chown root:root /etc/ssh/ssh_host_*_key* - chmod 0600 /etc/ssh/ssh_host_*_key* - ``` - -5. 要验证密钥指纹是否匹配,请在两个节点上执行以下命令: - - ``` - for file in /etc/ssh/ssh_host_*_key; do ssh-keygen -lf $file; done - ``` - - 您应该获得与此输出类似的输出,并且两个节点上的输出应该相同: - - ``` - 1024 SHA256:FEZX2jQa2bcsd/fn/uxBzxhKdx4Imc4raXrHwsbtP0M root@serverhostname (DSA) - 256 SHA256:uw98R35Uf+fYEQ/UnJD9Br4NXUFPv7JAUln5uHlgSeY root@serverhostname (ECDSA) - 256 SHA256:sqOUWcraZQKd89y/QQv/iynPTOGQxcOTIXU/LsoPmnM root@serverhostname (ED25519) - 2048 SHA256:qwa+rgir2Oy86QI+PZi/QVR+MSmrdrpsuH7YyKknC+s root@serverhostname (RSA) - ``` - -6. 验证您对现有的私钥具有正确的公钥: - - ``` - # This will print the fingerprint for private keys: - for file in /etc/ssh/ssh_host_*_key; do ssh-keygen -lf $file; done - - # This will print the fingerprint for public keys: - for file in /etc/ssh/ssh_host_*_key.pub; do ssh-keygen -lf $file; done - ``` - - **注意:**私钥和公钥命令的输出应生成相同的指纹. -7. 在**辅助**节点上重新启动`sshd` : - - ``` - # Debian or Ubuntu installations - sudo service ssh reload - - # CentOS installations - sudo service sshd reload - ``` - -### Step 3\. Add the **secondary** node[](#step-3-add-the-secondary-node "Permalink") - -1. SSH 到您的 GitLab **辅助**服务器并以 root 用户身份登录: - - ``` - sudo -i - ``` - -2. 编辑`/etc/gitlab/gitlab.rb`并为您的节点添加一个**唯一的**名称. 在接下来的步骤中,您将需要此: - - ``` - # The unique identifier for the Geo node. - gitlab_rails['geo_node_name'] = '' - ``` - -3. 重新配置**辅助**节点以使更改生效: - - ``` - gitlab-ctl reconfigure - ``` - -4. 访问**主**节点的 **管理区>** 浏览器中的**地理位置** ( `/admin/geo/nodes` ). -5. 单击**新建节点**按钮. [![添加辅助节点](img/ce7d1dd63f95f0330b281fd577aaa8d4.png)](img/adding_a_secondary_node.png) -6. 填写**姓名**与`gitlab_rails['geo_node_name']`在`/etc/gitlab/gitlab.rb` . 这些值必须始终*完全*匹配,一个字符一个字符. -7. 在`/etc/gitlab/gitlab.rb` `external_url`填写**URL** . 这些值必须始终匹配,但是一个以`/`结尾而另一个不以`/`无关紧要. -8. **不要**选中" **这是主节点"**复选框. -9. (可选)选择**辅助**节点应复制的组或存储分片. 保留空白以复制所有内容. 阅读更多有关[选择性同步的信息](#selective-synchronization) . -10. 单击**添加节点**按钮以添加**辅助**节点. -11. SSH 到您的 GitLab **辅助**服务器并重新启动服务: - - ``` - gitlab-ctl restart - ``` - - 通过运行以下命令,检查您的地理设置是否存在任何常见问题: - - ``` - gitlab-rake gitlab:geo:check - ``` - -12. SSH 到您的**主**服务器中,并以 root 用户身份登录以验证**辅助**节点是否可以访问或您的地理设置存在任何常见问题: - - ``` - gitlab-rake gitlab:geo:check - ``` - -一旦添加到管理面板并重新启动, **辅助**节点将在称为**backfill**的过程中自动开始从**主**节点复制丢失的数据. 同时, **主**节点将开始将每个更改通知每个**辅助**节点,以便**辅助**节点可以立即对那些通知进行操作. - -确保**辅助**节点正在运行并且可访问. 您可以使用与**主**节点相同的凭据登录到**辅助**节点. - -### Step 4\. Enabling Hashed Storage[](#step-4-enabling-hashed-storage "Permalink") - -使用哈希存储可显着改善地理复制. 项目和组重命名不再需要节点之间的同步. - -1. 访问**主**节点的 **管理区>** 浏览器中的**设置>存储库** ( `/admin/application_settings/repository` ). -2. 在" **存储库存储"**部分中,选中" **对新创建和重命名的项目使用哈希存储路径"** . - -### Step 5\. (Optional) Configuring the **secondary** node to trust the **primary** node[](#step-5-optional-configuring-the-secondary-node-to-trust-the-primary-node "Permalink") - -如果您的**主**节点使用 CA 颁发的 HTTPS 证书,则可以安全地跳过此步骤. - -如果**主**节点正在使用自签名证书以获得*HTTPS*支持,则需要将该证书添加到**辅助**节点的信任存储中. 从**主**节点上检索证书,然后在**辅助**节点上遵循[这些说明](https://docs.gitlab.com/omnibus/settings/ssl.html) . - -### Step 6\. Enable Git access over HTTP/HTTPS[](#step-6-enable-git-access-over-httphttps "Permalink") - -Geo 通过 HTTP / HTTPS 同步存储库,因此需要启用此克隆方法. 导航 **管理区>** 在**主**节点上进行**设置** ( `/admin/application_settings/general` ),并将`Enabled Git access protocols`设置为`Both SSH and HTTP(S)`或`Only HTTP(S)` . - -### Step 7\. Verify proper functioning of the **secondary** node[](#step-7-verify-proper-functioning-of-the-secondary-node "Permalink") - -现在已配置**辅助**节点! - -您可以使用与**主**节点相同的凭据登录到**辅助**节点. 访问**辅助**节点的 **管理区>** 浏览器中的**Geo** ( `/admin/geo/nodes` ),以检查是否正确地将其标识为**辅助** Geo 节点,以及是否启用了 Geo. - -初始复制或"回填"可能仍在进行中. 您可以从浏览器中**主**节点的" **地理节点"**仪表板监视每个地理节点上的同步过程. - -[![Geo dashboard](img/337891c1885c756f35968127a8050c21.png)](img/geo_node_dashboard.png) - -如果您的安装无法正常工作,请查看[故障排除文档](troubleshooting.html) . - -仪表板中最明显的两个最明显的问题是: - -1. 数据库复制无法正常工作. -2. 实例间实例通知不起作用. 在这种情况下,可能是以下情况: - * 您正在使用自定义证书或自定义 CA(请参阅[故障排除文档](troubleshooting.html) ). - * 该实例已进行防火墙保护(请检查您的防火墙规则). - -请注意,禁用**辅助**节点将停止同步过程. - -请注意,如果在**主**节点上为多个存储库分片定制了`git_data_dirs`则必须在每个**辅助**节点上复制相同的配置. - -将您的用户指向["使用地理服务器"指南](using_a_geo_server.html) . - -当前,这是同步的: - -* Git 存储库. -* Wikis. -* LFS 对象. -* 问题,合并请求,摘要和评论附件. -* 用户,组和项目化身. - -## Selective synchronization[](#selective-synchronization "Permalink") - -Geo 支持选择性同步,这使管理员可以选择**辅助**节点应同步哪些项目. 可以按组或按存储碎片选择项目的子集. 前者是复制属于用户子集的数据的理想选择,而后者更适合将 Geo 逐步推广到大型 GitLab 实例. - -重要的是要注意选择性同步: - -1. 不限制来自**辅助**节点的权限. -2. 不从**辅助**节点隐藏项目元数据. - * 由于 Geo 当前依赖于 PostgreSQL 复制,因此所有项目元数据都将复制到**辅助**节点,但是尚未选择的存储库将为空. -3. 不减少为地理事件日志生成的事件数. - * 只要存在任何**辅助**节点, **主**节点都会生成事件. 选择性同步限制是在**辅助**节点而非**主**节点上实现的. - -### Git operations on unreplicated repositories[](#git-operations-on-unreplicated-repositories "Permalink") - -在 HTTP(S)的 GitLab 12.10 和 SSH 的 GitLab 13.0 中[引入](https://gitlab.com/groups/gitlab-org/-/epics/2562) . - -存在于**主**节点上但不存在于**辅助**节点上的存储库支持通过 HTTP(S)和 SSH 进行 Git 克隆,拉入和推送操作. 在以下情况下可能会发生这种情况: - -* 选择性同步不包括附加到存储库的项目. -* 存储库正在积极地复制,但尚未完成. - -## Upgrading Geo[](#upgrading-geo "Permalink") - -请参阅[更新地理节点文档](updating_the_geo_nodes.html) . - -## Troubleshooting[](#troubleshooting "Permalink") - -请参阅[故障排除文档](troubleshooting.html) . \ No newline at end of file diff --git a/docs/492.md b/docs/492.md deleted file mode 100644 index 6dfc116..0000000 --- a/docs/492.md +++ /dev/null @@ -1,22 +0,0 @@ -# Using a Geo Server - -> 原文:[https://docs.gitlab.com/ee/administration/geo/replication/using_a_geo_server.html](https://docs.gitlab.com/ee/administration/geo/replication/using_a_geo_server.html) - -# Using a Geo Server[](#using-a-geo-server-premium-only "Permalink") - -设置[数据库复制并配置 Geo 节点后](index.html#setup-instructions) ,请像使用普通的独立 GitLab 实例一样使用最近的 GitLab 节点. - -在[GitLab Premium](https://about.gitlab.com/pricing/#self-managed) 11.3 中[引入](https://about.gitlab.com/releases/2018/09/22/gitlab-11-3-released/)了直接推送到**辅助**节点(对于 HTTP,包括 Git LFS 的 SSH). - -推送到**辅助**节点时将看到的输出示例: - -``` -$ git push -remote: -remote: You're pushing to a Geo secondary. We'll help you by proxying this -remote: request to the primary: -remote: -remote: ssh://git@primary.geo/user/repo.git -remote: -Everything up-to-date -``` \ No newline at end of file diff --git a/docs/493.md b/docs/493.md deleted file mode 100644 index 26cf582..0000000 --- a/docs/493.md +++ /dev/null @@ -1,63 +0,0 @@ -# Updating the Geo nodes - -> 原文:[https://docs.gitlab.com/ee/administration/geo/replication/updating_the_geo_nodes.html](https://docs.gitlab.com/ee/administration/geo/replication/updating_the_geo_nodes.html) - -* [Version specific update steps](#version-specific-update-steps) -* [General update steps](#general-update-steps) - * [Check status after updating](#check-status-after-updating) - -# Updating the Geo nodes[](#updating-the-geo-nodes-premium-only "Permalink") - -更新地理节点涉及执行: - -1. [特定](#version-specific-update-steps)于版本的[更新步骤](#version-specific-update-steps) ,具体取决于要与之进行更新的版本. -2. [常规更新步骤](#general-update-steps) ,适用于所有更新. - -## Version specific update steps[](#version-specific-update-steps "Permalink") - -根据您要更新或更新的 Geo 版本,可能会有不同的步骤. - -* [Updating to GitLab 12.9](version_specific_updates.html#updating-to-gitlab-129) -* [Updating to GitLab 12.7](version_specific_updates.html#updating-to-gitlab-127) -* [Updating to GitLab 12.2](version_specific_updates.html#updating-to-gitlab-122) -* [Updating to GitLab 12.1](version_specific_updates.html#updating-to-gitlab-121) -* [Updating to GitLab 12.0](version_specific_updates.html#updating-to-gitlab-120) -* [Updating to GitLab 11.11](version_specific_updates.html#updating-to-gitlab-1111) -* [Updating to GitLab 10.8](version_specific_updates.html#updating-to-gitlab-108) -* [Updating to GitLab 10.6](version_specific_updates.html#updating-to-gitlab-106) -* [Updating to GitLab 10.5](version_specific_updates.html#updating-to-gitlab-105) -* [Updating to GitLab 10.3](version_specific_updates.html#updating-to-gitlab-103) -* [Updating to GitLab 10.2](version_specific_updates.html#updating-to-gitlab-102) -* [Updating to GitLab 10.1](version_specific_updates.html#updating-to-gitlab-101) -* [Updating to GitLab 10.0](version_specific_updates.html#updating-to-gitlab-100) -* [Updating from GitLab 9.3 or older](version_specific_updates.html#updating-from-gitlab-93-or-older) -* [Updating to GitLab 9.0](version_specific_updates.html#updating-to-gitlab-90) - -## General update steps[](#general-update-steps "Permalink") - -**注意:**这些常规更新步骤不适用于[高可用性部署](https://docs.gitlab.com/omnibus/update/README.html) ,并且会导致停机. 如果要避免停机,请考虑使用[零停机更新](https://docs.gitlab.com/omnibus/update/README.html) . - -要在发布新的 GitLab 版本时更新 Geo 节点,请更新**主**节点和所有**辅助**节点: - -1. **Optional:** [Pause replication on each **secondary** node.](./index.html#pausing-and-resuming-replication) -2. 登录到**主**节点. -3. [Update GitLab on the **primary** node using Omnibus](https://docs.gitlab.com/omnibus/update/README.html). -4. 登录到每个**辅助**节点. -5. [Update GitLab on each **secondary** node using Omnibus](https://docs.gitlab.com/omnibus/update/README.html). -6. 如果您在步骤 1 中暂停了复制,则[在每个**辅助**节点上继续复制](./index.html#pausing-and-resuming-replication) -7. [测试](#check-status-after-updating) **主**节点和**辅助**节点,并检查每个节点的版本. - -### Check status after updating[](#check-status-after-updating "Permalink") - -现在,更新过程已完成,您可能要检查一切是否正常运行: - -1. 在所有节点上运行 Geo Rake 任务,所有内容应为绿色: - - ``` - sudo gitlab-rake gitlab:geo:check - ``` - -2. 检查**主**节点的地理仪表板是否有任何错误. -3. 通过将代码推送到**主**节点来测试数据复制,并查看**辅助**节点是否接收到该复制. - -如果您遇到任何问题,请查阅《 [地理位置疑难解答指南》](troubleshooting.html) . \ No newline at end of file diff --git a/docs/494.md b/docs/494.md deleted file mode 100644 index f120b77..0000000 --- a/docs/494.md +++ /dev/null @@ -1,64 +0,0 @@ -# Geo with Object storage - -> 原文:[https://docs.gitlab.com/ee/administration/geo/replication/object_storage.html](https://docs.gitlab.com/ee/administration/geo/replication/object_storage.html) - -* [Enabling GitLab managed object storage replication](#enabling-gitlab-managed-object-storage-replication) -* [Third-party replication services](#third-party-replication-services) - -# Geo with Object storage[](#geo-with-object-storage-premium-only "Permalink") - -Geo 可与对象存储(AWS S3 或其他兼容的对象存储)结合使用. - -当前, **辅助**节点可以使用以下任一方式: - -* 与**主**节点相同的存储桶. -* 复制的存储桶. - -具有: - -* GitLab 管理复制,遵循[启用 GitLab 复制](#enabling-gitlab-managed-object-storage-replication) . -* 第三方服务管理复制,请遵循[第三方复制服务](#third-party-replication-services) . - -[Read more about using object storage with GitLab](../../object_storage.html). - -## Enabling GitLab managed object storage replication[](#enabling-gitlab-managed-object-storage-replication "Permalink") - -在 GitLab 12.4 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/10586) . - -**警告:**这是[**Beta 版**功能](https://about.gitlab.com/handbook/product/#beta) ,尚未准备好用于任何规模的生产. - -**辅助**节点可以复制存储在**主**节点上的文件,而不管它们是存储在本地文件系统还是对象存储中. - -要启用 GitLab 复制,您必须: - -1. 去 **管理区>** **地理位置** . -2. 在**辅助**节点上按**编辑** . -3. 启用" **允许此辅助节点在对象存储上复制内容"**复选框. - -对于 LFS,请按照文档[设置 LFS 对象存储](../../lfs/index.html#storing-lfs-objects-in-remote-object-storage) . - -对于 CI 作业工件,有类似的文档可以配置[作业工件对象存储](../../job_artifacts.html#using-object-storage) - -对于用户上传,有类似的文档可配置[上传对象存储](../../uploads.html#using-object-storage-core-only) - -如果要将**主**节点的文件迁移到对象存储,则可以通过以下几种方式配置**辅助**节点: - -* 使用完全相同的对象存储. -* 使用单独的对象存储,但可以利用对象存储解决方案的内置复制. -* 使用单独的对象存储,并启用" **允许此辅助节点在对象存储上复制内容"**设置. - -GitLab 当前不支持以下两种情况: - -* **主**节点使用本地存储. -* **辅助**节点使用对象存储. - -## Third-party replication services[](#third-party-replication-services "Permalink") - -使用 Amazon S3 时,您可以使用[CRR](https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html)在**主**节点使用的存储桶和**辅助**节点使用的存储桶之间进行自动复制. - -如果您使用的是 Google Cloud Storage,请考虑使用[Multi-Regional Storage](https://cloud.google.com/storage/docs/storage-classes#multi-regional) . 或者,您可以使用" [存储传输服务"](https://cloud.google.com/storage-transfer/docs/) ,尽管该[服务](https://cloud.google.com/storage-transfer/docs/)仅支持每日同步. - -对于手动同步,或由`cron`安排,请查看: - -* [`s3cmd sync`](https://s3tools.org/s3cmd-sync) -* [`gsutil rsync`](https://cloud.google.com/storage/docs/gsutil/commands/rsync) \ No newline at end of file diff --git a/docs/495.md b/docs/495.md deleted file mode 100644 index 8d922f1..0000000 --- a/docs/495.md +++ /dev/null @@ -1,96 +0,0 @@ -# Docker Registry for a secondary node - -> 原文:[https://docs.gitlab.com/ee/administration/geo/replication/docker_registry.html](https://docs.gitlab.com/ee/administration/geo/replication/docker_registry.html) - -* [Storage support](#storage-support) -* [Replicating Docker Registry](#replicating-docker-registry) - * [Configure **primary** node](#configure-primary-node) - * [Configure **secondary** node](#configure-secondary-node) - * [Verify replication](#verify-replication) - -# Docker Registry for a secondary node[](#docker-registry-for-a-secondary-node-premium-only "Permalink") - -您可以在**次要** Geo 节点上设置一个[Docker Registry](https://s0docs0docker0com.icopy.site/registry/) ,以镜像**主** Geo 节点上的[Docker Registry](https://s0docs0docker0com.icopy.site/registry/) . - -## Storage support[](#storage-support "Permalink") - -Docker Registry 当前支持几种类型的存储. 如果您在**主**节点上为 Docker 注册表选择分布式存储( `azure` , `gcs` , `s3` , `swift`或`oss` ),则也可以将相同的存储用于**辅助** Docker 注册表. 有关更多信息,请阅读部署注册表时的[负载平衡注意事项](https://s0docs0docker0com.icopy.site/registry/deploying/) ,以及如何为 GitLab 的集成[Container Registry](../../packages/container_registry.html#use-object-storage)设置存储驱动程序. - -## Replicating Docker Registry[](#replicating-docker-registry "Permalink") - -您可以启用与存储无关的复制,以便将其用于云或本地存储. 每当将新映像推送到**主**节点时,每个**辅助**节点都会将其拖到其自己的容器存储库中. - -要配置 Docker Registry 复制: - -1. 配置[**主**节点](#configure-primary-node) . -2. 配置[**辅助**节点](#configure-secondary-node) . -3. 验证 Docker Registry [复制](#verify-replication) . - -### Configure **primary** node[](#configure-primary-node "Permalink") - -在执行下一步之前,请确保已设置 Container Registry 并在**主**节点上工作. - -我们需要使 Docker Registry 将通知事件发送到**主**节点. - -1. SSH 到您的 GitLab **主**服务器并以 root 用户身份登录: - - ``` - sudo -i - ``` - -2. Edit `/etc/gitlab/gitlab.rb`: - - ``` - registry['notifications'] = [ - { - 'name' => 'geo_event', - 'url' => 'https://example.com/api/v4/container_registry_event/events', - 'timeout' => '500ms', - 'threshold' => 5, - 'backoff' => '1s', - 'headers' => { - 'Authorization' => [''] - } - } - ] - ``` - - **注意:**将``替换为以字母开头的区分大小写的字母数字字符串. 您可以使用`< /dev/urandom tr -dc _A-Zaz-0-9 | head -c 32 | sed "s/^[0-9]*//"; echo`生成一个`< /dev/urandom tr -dc _A-Zaz-0-9 | head -c 32 | sed "s/^[0-9]*//"; echo` `< /dev/urandom tr -dc _A-Zaz-0-9 | head -c 32 | sed "s/^[0-9]*//"; echo`**注意:**如果使用外部注册表(而不是与 GitLab 集成的注册表),则必须将这些设置自己添加到其配置中. 在这种情况下,您还必须在`/etc/gitlab/gitlab.rb`文件的`registry.notification_secret`部分中指定通知密钥.**注意:**如果使用 GitLab HA,则还必须在`/etc/gitlab/gitlab.rb`文件的`registry.notification_secret`部分中为每个 Web 节点指定通知密钥. -3. 重新配置**主**节点以使更改生效: - - ``` - gitlab-ctl reconfigure - ``` - -### Configure **secondary** node[](#configure-secondary-node "Permalink") - -Make sure you have Container Registry set up and working on the **secondary** node before following the next steps. - -在希望看到复制的 Docker 映像的每个**辅助**节点上,应执行以下步骤. - -因为我们需要允许**辅助**节点与**主**节点容器注册表安全通信,所以我们需要为所有节点使用单个密钥对. **辅助**节点将使用此密钥来生成短暂的 JWT,该 JWT 具有仅拉功能,可以访问**主**节点 Container Registry. - -1. SSH 进入**辅助**节点并以`root`用户身份登录: - - ``` - sudo -i - ``` - -2. 将`/var/opt/gitlab/gitlab-rails/etc/gitlab-registry.key`从**主**节点复制到**辅助**节点. - -3. Edit `/etc/gitlab/gitlab.rb`: - - ``` - gitlab_rails['geo_registry_replication_enabled'] = true - gitlab_rails['geo_registry_replication_primary_api_url'] = 'https://primary.example.com:5050/' # Primary registry address, it will be used by the secondary node to directly communicate to primary registry - ``` - -4. 重新配置**辅助**节点以使更改生效: - - ``` - gitlab-ctl reconfigure - ``` - -### Verify replication[](#verify-replication "Permalink") - -要验证 Container Registry 复制是否正常工作,请转到 **管理区>** **辅助**节点上的**地理位置** ( `/admin/geo/nodes` ). 初始复制或"回填"可能仍在进行中. 您可以从浏览器中**主**节点的" **地理节点"**仪表板监视每个地理节点上的同步过程. \ No newline at end of file diff --git a/docs/496.md b/docs/496.md deleted file mode 100644 index d9c880f..0000000 --- a/docs/496.md +++ /dev/null @@ -1,404 +0,0 @@ -# Geo for multiple nodes - -> 原文:[https://docs.gitlab.com/ee/administration/geo/replication/multiple_servers.html](https://docs.gitlab.com/ee/administration/geo/replication/multiple_servers.html) - -* [Architecture overview](#architecture-overview) -* [Redis and PostgreSQL for multiple nodes](#redis-and-postgresql-for-multiple-nodes) -* [Prerequisites: Two working GitLab multi-node clusters](#prerequisites-two-working-gitlab-multi-node-clusters) -* [Configure the GitLab cluster to be the **primary** node](#configure-the-gitlab-cluster-to-be-the-primary-node) - * [Step 1: Configure the **primary** frontend servers](#step-1-configure-the-primary-frontend-servers) - * [Step 2: Configure the **primary** database](#step-2-configure-the-primary-database) -* [Configure a **secondary** node](#configure-a-secondary-node) - * [Step 1: Configure the Redis and Gitaly services on the **secondary** node](#step-1-configure-the-redis-and-gitaly-services-on-the-secondary-node) - * [Step 2: Configure the main read-only replica PostgreSQL database on the **secondary** node](#step-2-configure-the-main-read-only-replica-postgresql-database-on-the-secondary-node) - * [Step 3: Configure the tracking database on the **secondary** node](#step-3-configure-the-tracking-database-on-the-secondary-node) - * [Step 4: Configure the frontend application servers on the **secondary** node](#step-4-configure-the-frontend-application-servers-on-the-secondary-node) - * [Step 5: Set up the LoadBalancer for the **secondary** node](#step-5-set-up-the-loadbalancer-for-the-secondary-node) - * [Step 6: Configure the backend application servers on the **secondary** node](#step-6-configure-the-backend-application-servers-on-the-secondary-node) - -# Geo for multiple nodes[](#geo-for-multiple-nodes-premium-only "Permalink") - -本文档介绍了用于在多节点配置中运行 Geo 的最小参考架构. 如果您的多节点设置与所描述的不同,则可以根据需要调整这些说明. - -## Architecture overview[](#architecture-overview "Permalink") - -[![Geo multi-node diagram](img/e28a59687a00b33f8174f2bcba18ac5d.png)](../../high_availability/img/geo-ha-diagram.png) - -*[diagram source - GitLab employees only](https://docs.google.com/drawings/d/1z0VlizKiLNXVVVaERFwgsIOuEgjcUqDTWPdQYsE7Z4c/edit)* - -上面的拓扑假定**主要**和**辅助**地理集群位于两个单独的位置,位于它们自己的具有专用 IP 地址的虚拟网络上. 网络配置为使一个地理位置内的所有计算机都可以使用其专用 IP 地址相互通信. 给出的 IP 地址只是示例,可能会因部署的网络拓扑而有所不同. - -在上述示例中,访问这两个 Geo 部署的唯一外部方法是通过 HTTPS 分别位于`gitlab.us.example.com`和`gitlab.eu.example.com` . - -**注意:** **主要**和**辅助** Geo 部署必须能够通过 HTTPS 相互通信. - -## Redis and PostgreSQL for multiple nodes[](#redis-and-postgresql-for-multiple-nodes "Permalink") - -地理位置支持: - -* Redis 和 PostgreSQL 在**为主**节点上配置了多个节点. -* Redis 在为多个节点配置的**辅助**节点上. - -**注意:** [已计划](https://gitlab.com/groups/gitlab-org/-/epics/2536)在多节点配置中在**辅助**节点上支持 PostgreSQL. - -由于为 PostgreSQL 和 Redis 设置此配置涉及额外的复杂性,因此此 Geo 多节点文档未涵盖该配置. - -有关使用 omnibus 软件包设置多节点 PostgreSQL 集群和 Redis 集群的更多信息,请分别参见[PostgreSQL](../../postgresql/replication_and_failover.html)和[Redis](../../redis/replication_and_failover.html)的多节点文档. - -**注意:**可以将云托管服务用于 PostgreSQL 和 Redis,但这不在本文档的范围之内. - -## Prerequisites: Two working GitLab multi-node clusters[](#prerequisites-two-working-gitlab-multi-node-clusters "Permalink") - -一个群集将充当**主**节点. 使用[GitLab 多节点文档](../../reference_architectures/index.html)进行设置. 如果您已经有一个正在使用的工作 GitLab 实例,则可以将其用作**primary** . - -The second cluster will serve as the **secondary** node. Again, use the [GitLab multi-node documentation](../../reference_architectures/index.html) to set this up. It’s a good idea to log in and test it, however, note that its data will be wiped out as part of the process of replicating from the **primary**. - -## Configure the GitLab cluster to be the **primary** node[](#configure-the-gitlab-cluster-to-be-the-primary-node "Permalink") - -通过以下步骤,GitLab 集群可以用**作主**节点. - -### Step 1: Configure the **primary** frontend servers[](#step-1-configure-the-primary-frontend-servers "Permalink") - -1. 编辑`/etc/gitlab/gitlab.rb`并添加以下内容: - - ``` - ## - ## Enable the Geo primary role - ## - roles ['geo_primary_role'] - - ## - ## The unique identifier for the Geo node. - ## - gitlab_rails['geo_node_name'] = '' - - ## - ## Disable automatic migrations - ## - gitlab_rails['auto_migrate'] = false - ``` - -进行这些更改后,请[重新配置 GitLab,](../../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -**注意:**在正常的 GitLab 多节点设置过程中,应已在应用程序服务器上禁用 PostgreSQL 和 Redis,并且已配置从应用程序服务器到后端服务器上的那些服务的连接. 请参阅[PostgreSQL](../../postgresql/replication_and_failover.html#configuring-the-application-nodes)和[Redis 的](../../redis/replication_and_failover.html#example-configuration-for-the-gitlab-application)多节点配置文档. - -### Step 2: Configure the **primary** database[](#step-2-configure-the-primary-database "Permalink") - -1. 编辑`/etc/gitlab/gitlab.rb`并添加以下内容: - - ``` - ## - ## Configure the Geo primary role and the PostgreSQL role - ## - roles ['geo_primary_role', 'postgres_role'] - ``` - -## Configure a **secondary** node[](#configure-a-secondary-node "Permalink") - -**辅助**群集与任何其他 GitLab 多节点群集相似,但有两个主要区别: - -* 主 PostgreSQL 数据库是**主**节点的 PostgreSQL 数据库的只读副本. -* **辅助**集群还有一个单独的 PostgreSQL 数据库,称为"跟踪数据库",该数据库跟踪各种资源的同步状态. - -因此,我们将一个接一个地设置多节点组件,并包括与常规多节点设置的偏差. 但是,我们强烈建议您首先配置一个全新的群集,就像它不是地理设置一样,以便可以对其进行测试和验证. 只有这样,才可以对其进行修改以用作 Geo **辅助对象** . 这有助于分离与地理设置无关的问题. - -### Step 1: Configure the Redis and Gitaly services on the **secondary** node[](#step-1-configure-the-redis-and-gitaly-services-on-the-secondary-node "Permalink") - -再次使用非 Geo 多节点文档配置以下服务: - -* 为多个节点[配置 Redis for GitLab](../../redis/replication_and_failover.html#example-configuration-for-the-gitlab-application) . -* [Gitaly](../../high_availability/gitaly.html) ,它将存储从**主**节点同步的数据. - -**注意:** [NFS](../../high_availability/nfs.html)可以代替 Gitaly 使用,但不建议使用. - -### Step 2: Configure the main read-only replica PostgreSQL database on the **secondary** node[](#step-2-configure-the-main-read-only-replica-postgresql-database-on-the-secondary-node "Permalink") - -**注意:**以下文档假定数据库将仅在单个节点上运行. [当前不支持](https://gitlab.com/groups/gitlab-org/-/epics/2536) **辅助**节点上的多节点 PostgreSQL. - -配置[**辅助**数据库](database.html)作为**主**数据库的一个只读副本. 使用以下内容作为指导. - -1. 为数据库用户生成所需密码的 MD5 哈希,GitLab 应用程序将使用该密码来访问只读副本数据库: - - 请注意,用户名(默认情况下为`gitlab` )已合并到哈希中. - - ``` - gitlab-ctl pg-password-md5 gitlab - # Enter password: - # Confirm password: - # fca0b89a972d69f00eb3ec98a5838484 - ``` - - 在下一步中使用此哈希值填写`` . - -2. 在副本数据库计算机中编辑`/etc/gitlab/gitlab.rb` ,并添加以下内容: - - ``` - ## - ## Configure the Geo secondary role and the PostgreSQL role - ## - roles ['geo_secondary_role', 'postgres_role'] - - ## - ## Secondary address - ## - replace '' with the public or VPC address of your Geo secondary node - ## - replace '' with the public or VPC address of your Geo tracking database node - ## - postgresql['listen_address'] = '' - postgresql['md5_auth_cidr_addresses'] = ['/32', '/32'] - - ## - ## Database credentials password (defined previously in primary node) - ## - replicate same values here as defined in primary node - ## - postgresql['sql_user_password'] = '' - gitlab_rails['db_password'] = '' - - ## - ## When running the Geo tracking database on a separate machine, disable it - ## here and allow connections from the tracking database host. And ensure - ## the tracking database IP is in postgresql['md5_auth_cidr_addresses'] above. - ## - geo_postgresql['enable'] = false - - ## - ## Disable `geo_logcursor` service so Rails doesn't get configured here - ## - geo_logcursor['enable'] = false - ``` - -进行这些更改后,请[重新配置 GitLab,](../../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -如果使用外部 PostgreSQL 实例,另请参阅使用外部 PostgreSQL 实例的[Geo](external_database.html) . - -### Step 3: Configure the tracking database on the **secondary** node[](#step-3-configure-the-tracking-database-on-the-secondary-node "Permalink") - -**注意:**本文档假定跟踪数据库将仅在一台计算机上运行,​​而不是作为 PostgreSQL 集群运行. - -配置跟踪数据库. - -1. Generate an MD5 hash of the desired password for the database user that the GitLab application will use to access the tracking database: - - 请注意,用户名(默认为`gitlab_geo` )已合并到哈希中. - - ``` - gitlab-ctl pg-password-md5 gitlab_geo - # Enter password: - # Confirm password: - # fca0b89a972d69f00eb3ec98a5838484 - ``` - - 在下一步中,使用此哈希值填写`` . - -2. 在跟踪数据库计算机中编辑`/etc/gitlab/gitlab.rb` ,并添加以下内容: - - ``` - ## - ## Enable the Geo secondary tracking database - ## - geo_postgresql['enable'] = true - geo_postgresql['listen_address'] = '' - geo_postgresql['sql_user_password'] = '' - - ## - ## Configure FDW connection to the replica database - ## - geo_secondary['db_fdw'] = true - geo_postgresql['fdw_external_password'] = '' - geo_postgresql['md5_auth_cidr_addresses'] = ['/32'] - gitlab_rails['db_host'] = '' - - # Prevent reconfigure from attempting to run migrations on the replica DB - gitlab_rails['auto_migrate'] = false - - ## - ## Disable all other services that aren't needed, since we don't have a role - ## that does this. - ## - alertmanager['enable'] = false - consul['enable'] = false - gitaly['enable'] = false - gitlab_exporter['enable'] = false - gitlab_workhorse['enable'] = false - nginx['enable'] = false - node_exporter['enable'] = false - pgbouncer_exporter['enable'] = false - postgresql['enable'] = false - prometheus['enable'] = false - redis['enable'] = false - redis_exporter['enable'] = false - repmgr['enable'] = false - sidekiq['enable'] = false - puma['enable'] = false - ``` - -进行这些更改后,请[重新配置 GitLab,](../../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -如果使用外部 PostgreSQL 实例,另请参阅使用外部 PostgreSQL 实例的[Geo](external_database.html) . - -### Step 4: Configure the frontend application servers on the **secondary** node[](#step-4-configure-the-frontend-application-servers-on-the-secondary-node "Permalink") - -在体系结构概述中,有两台机器运行 GitLab 应用程序服务. 这些服务在配置中有选择地启用. - -在[为多个节点配置 GitLab](../../high_availability/gitlab.html)之后, [配置](../../high_availability/gitlab.html)应用程序服务器,然后进行以下修改: - -1. 在**辅助**集群中的每个应用程序服务器上编辑`/etc/gitlab/gitlab.rb` ,并添加以下内容: - - ``` - ## - ## Enable the Geo secondary role - ## - roles ['geo_secondary_role', 'application_role'] - - ## - ## The unique identifier for the Geo node. - ## - gitlab_rails['geo_node_name'] = '' - - ## - ## Disable automatic migrations - ## - gitlab_rails['auto_migrate'] = false - - ## - ## Configure the connection to the tracking DB. And disable application - ## servers from running tracking databases. - ## - geo_secondary['db_host'] = '' - geo_secondary['db_password'] = '' - geo_postgresql['enable'] = false - - ## - ## Configure connection to the streaming replica database, if you haven't - ## already - ## - gitlab_rails['db_host'] = '' - gitlab_rails['db_password'] = '' - - ## - ## Configure connection to Redis, if you haven't already - ## - gitlab_rails['redis_host'] = '' - gitlab_rails['redis_password'] = '' - - ## - ## If you are using custom users not managed by Omnibus, you need to specify - ## UIDs and GIDs like below, and ensure they match between servers in a - ## cluster to avoid permissions issues - ## - user['uid'] = 9000 - user['gid'] = 9000 - web_server['uid'] = 9001 - web_server['gid'] = 9001 - registry['uid'] = 9002 - registry['gid'] = 9002 - ``` - -**注意:**如果使用 omnibus 软件包设置了 PostgreSQL 集群,并且设置了`postgresql['sql_user_password'] = 'md5 digest of secret'`设置,请记住`gitlab_rails['db_password']`和`geo_secondary['db_password']`上面提到的包含明文密码. 这用于让 Rails 服务器连接到数据库.**注意:**确保在远程数据库的`postgresql['md5_auth_cidr_addresses']`设置中列出了当前节点 IP. - -进行这些更改后,请[重新配置 GitLab,](../../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -在辅助服务器上,将启用以下 GitLab 前端服务: - -* `geo-logcursor` -* `gitlab-pages` -* `gitlab-workhorse` -* `logrotate` -* `nginx` -* `registry` -* `remote-syslog` -* `sidekiq` -* `puma` - -通过在前端应用程序服务器上运行`sudo gitlab-ctl status`来验证这些服务. - -### Step 5: Set up the LoadBalancer for the **secondary** node[](#step-5-set-up-the-loadbalancer-for-the-secondary-node "Permalink") - -在这种拓扑中,每个地理位置都需要一个负载平衡器,以将流量路由到应用程序服务器. - -有关更多信息,请参见[具有多个节点的 GitLab 的 Load Balancer](../../high_availability/load_balancer.html) . - -### Step 6: Configure the backend application servers on the **secondary** node[](#step-6-configure-the-backend-application-servers-on-the-secondary-node "Permalink") - -上面的最小参考体系结构图显示了在同一台计算机上一起运行的所有应用程序服务. 但是,对于多个节点,我们[强烈建议单独运行所有服务](../../reference_architectures/index.html) . - -例如,可以将 Sidekiq 服务器配置为与上面的前端应用程序服务器类似,但要进行一些更改以仅运行`sidekiq`服务: - -1. 在**辅助**群集中的每个 Sidekiq 服务器上编辑`/etc/gitlab/gitlab.rb` ,并添加以下内容: - - ``` - ## - ## Enable the Geo secondary role - ## - roles ['geo_secondary_role'] - - ## - ## Enable the Sidekiq service - ## - sidekiq['enable'] = true - - ## - ## Ensure unnecessary services are disabled - ## - alertmanager['enable'] = false - consul['enable'] = false - geo_logcursor['enable'] = false - gitaly['enable'] = false - gitlab_exporter['enable'] = false - gitlab_workhorse['enable'] = false - nginx['enable'] = false - node_exporter['enable'] = false - pgbouncer_exporter['enable'] = false - postgresql['enable'] = false - prometheus['enable'] = false - redis['enable'] = false - redis_exporter['enable'] = false - repmgr['enable'] = false - puma['enable'] = false - - ## - ## The unique identifier for the Geo node. - ## - gitlab_rails['geo_node_name'] = '' - - ## - ## Disable automatic migrations - ## - gitlab_rails['auto_migrate'] = false - - ## - ## Configure the connection to the tracking DB. And disable application - ## servers from running tracking databases. - ## - geo_secondary['db_host'] = '' - geo_secondary['db_password'] = '' - geo_postgresql['enable'] = false - - ## - ## Configure connection to the streaming replica database, if you haven't - ## already - ## - gitlab_rails['db_host'] = '' - gitlab_rails['db_password'] = '' - - ## - ## Configure connection to Redis, if you haven't already - ## - gitlab_rails['redis_host'] = '' - gitlab_rails['redis_password'] = '' - - ## - ## If you are using custom users not managed by Omnibus, you need to specify - ## UIDs and GIDs like below, and ensure they match between servers in a - ## cluster to avoid permissions issues - ## - user['uid'] = 9000 - user['gid'] = 9000 - web_server['uid'] = 9001 - web_server['gid'] = 9001 - registry['uid'] = 9002 - registry['gid'] = 9002 - ``` - - 您可以类似地将服务器配置为仅运行`geo_logcursor['enable'] = true`的`geo-logcursor`服务,并使用`sidekiq['enable'] = false`禁用 Sidekiq. - - 这些服务器不需要连接到负载平衡器. \ No newline at end of file diff --git a/docs/497.md b/docs/497.md deleted file mode 100644 index 16372a8..0000000 --- a/docs/497.md +++ /dev/null @@ -1,266 +0,0 @@ -# Geo security review (Q&A) - -> 原文:[https://docs.gitlab.com/ee/administration/geo/replication/security_review.html](https://docs.gitlab.com/ee/administration/geo/replication/security_review.html) - -* [Business Model](#business-model) - * [What geographic areas does the application service?](#what-geographic-areas-does-the-application-service) -* [Data Essentials](#data-essentials) - * [What data does the application receive, produce, and process?](#what-data-does-the-application-receive-produce-and-process) - * [How can the data be classified into categories according to its sensitivity?](#how-can-the-data-be-classified-into-categories-according-to-its-sensitivity) - * [What data backup and retention requirements have been defined for the application?](#what-data-backup-and-retention-requirements-have-been-defined-for-the-application) -* [End-Users](#end-users) - * [Who are the application’s end‐users?](#who-are-the-applications-endusers) - * [How do the end‐users interact with the application?](#how-do-the-endusers-interact-with-the-application) - * [What security expectations do the end‐users have?](#what-security-expectations-do-the-endusers-have) -* [Administrators](#administrators) - * [Who has administrative capabilities in the application?](#who-has-administrative-capabilities-in-the-application) - * [What administrative capabilities does the application offer?](#what-administrative-capabilities-does-the-application-offer) -* [Network](#network) - * [What details regarding routing, switching, firewalling, and load‐balancing have been defined?](#what-details-regarding-routing-switching-firewalling-and-loadbalancing-have-been-defined) - * [What core network devices support the application?](#what-core-network-devices-support-the-application) - * [What network performance requirements exist?](#what-network-performance-requirements-exist) - * [What private and public network links support the application?](#what-private-and-public-network-links-support-the-application) -* [Systems](#systems) - * [What operating systems support the application?](#what-operating-systems-support-the-application) - * [What details regarding required OS components and lock‐down needs have been defined?](#what-details-regarding-required-os-components-and-lockdown-needs-have-been-defined) -* [Infrastructure Monitoring](#infrastructure-monitoring) - * [What network and system performance monitoring requirements have been defined?](#what-network-and-system-performance-monitoring-requirements-have-been-defined) - * [What mechanisms exist to detect malicious code or compromised application components?](#what-mechanisms-exist-to-detect-malicious-code-or-compromised-application-components) - * [What network and system security monitoring requirements have been defined?](#what-network-and-system-security-monitoring-requirements-have-been-defined) -* [Virtualization and Externalization](#virtualization-and-externalization) - * [What aspects of the application lend themselves to virtualization?](#what-aspects-of-the-application-lend-themselves-to-virtualization) -* [What virtualization requirements have been defined for the application?](#what-virtualization-requirements-have-been-defined-for-the-application) - * [What aspects of the product may or may not be hosted via the cloud computing model?](#what-aspects-of-the-product-may-or-may-not-be-hosted-via-the-cloud-computing-model) -* [If applicable, what approach(es) to cloud computing will be taken (Managed Hosting versus “Pure” Cloud, a “full machine” approach such as AWS-EC2 versus a “hosted database” approach such as AWS-RDS and Azure, etc)?](#if-applicable-what-approaches-to-cloud-computing-will-be-taken-managed-hosting-versus-pure-cloud-a-full-machine-approach-such-as-aws-ec2-versus-a-hosted-database-approach-such-as-aws-rds-and-azure-etc) -* [Environment](#environment) - * [What frameworks and programming languages have been used to create the application?](#what-frameworks-and-programming-languages-have-been-used-to-create-the-application) - * [What process, code, or infrastructure dependencies have been defined for the application?](#what-process-code-or-infrastructure-dependencies-have-been-defined-for-the-application) - * [What databases and application servers support the application?](#what-databases-and-application-servers-support-the-application) - * [How will database connection strings, encryption keys, and other sensitive components be stored, accessed, and protected from unauthorized detection?](#how-will-database-connection-strings-encryption-keys-and-other-sensitive-components-be-stored-accessed-and-protected-from-unauthorized-detection) -* [Data Processing](#data-processing) - * [What data entry paths does the application support?](#what-data-entry-paths-does-the-application-support) - * [What data output paths does the application support?](#what-data-output-paths-does-the-application-support) - * [How does data flow across the application’s internal components?](#how-does-data-flow-across-the-applications-internal-components) - * [What data input validation requirements have been defined?](#what-data-input-validation-requirements-have-been-defined) - * [What data does the application store and how?](#what-data-does-the-application-store-and-how) - * [What data is or may need to be encrypted and what key management requirements have been defined?](#what-data-is-or-may-need-to-be-encrypted-and-what-key-management-requirements-have-been-defined) - * [What capabilities exist to detect the leakage of sensitive data?](#what-capabilities-exist-to-detect-the-leakage-of-sensitive-data) - * [What encryption requirements have been defined for data in transit - including transmission over WAN, LAN, SecureFTP, or publicly accessible protocols such as http: and https:?](#what-encryption-requirements-have-been-defined-for-data-in-transit---including-transmission-over-wan-lan-secureftp-or-publicly-accessible-protocols-such-as-http-and-https) -* [Access](#access) - * [What user privilege levels does the application support?](#what-user-privilege-levels-does-the-application-support) - * [What user identification and authentication requirements have been defined?](#what-user-identification-and-authentication-requirements-have-been-defined) - * [What user authorization requirements have been defined?](#what-user-authorization-requirements-have-been-defined) - * [What session management requirements have been defined?](#what-session-management-requirements-have-been-defined) - * [What access requirements have been defined for URI and Service calls?](#what-access-requirements-have-been-defined-for-uri-and-service-calls) -* [Application Monitoring](#application-monitoring) - * [What application auditing requirements have been defined? How are audit and debug logs accessed, stored, and secured?](#what-application-auditing-requirements-have-been-defined-how-are-audit-and-debug-logs-accessed-stored-and-secured) - -# Geo security review (Q&A)[](#geo-security-review-qa-premium-only "Permalink") - -以下对地理功能集的安全性审查集中于该功能的安全性方面,因为它们适用于运行自己的 GitLab 实例的客户. 复习题部分基于[owasp.org](https://owasp.org/)的[OWASP 应用程序安全验证标准项目](https://owasp.org/www-project-application-security-verification-standard/) . - -## Business Model[](#business-model "Permalink") - -### What geographic areas does the application service?[](#what-geographic-areas-does-the-application-service "Permalink") - -* 这因客户而异. Geo 使客户可以部署到多个区域,然后他们可以选择自己的位置. -* 区域和节点选择完全是手动的. - -## Data Essentials[](#data-essentials "Permalink") - -### What data does the application receive, produce, and process?[](#what-data-does-the-application-receive-produce-and-process "Permalink") - -* Geo 几乎在站点之间流传输 GitLab 实例保存的所有数据. 这包括完整的数据库复制,大多数文件(用户上传的附件等)以及存储库+ Wiki 数据. 在典型的配置中,这将在公共 Internet 上发生,并经过 TLS 加密. -* PostgreSQL 复制是 TLS 加密的. -* 另请参阅: [仅应支持 TLSv1.2](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/2948) - -### How can the data be classified into categories according to its sensitivity?[](#how-can-the-data-be-classified-into-categories-according-to-its-sensitivity "Permalink") - -* GitLab’s model of sensitivity is centered around public vs. internal vs. private projects. Geo replicates them all indiscriminately. “Selective sync” exists for files and repositories (but not database content), which would permit only less-sensitive projects to be replicated to a **secondary** node if desired. -* 另请参阅: [GitLab 数据分类策略](https://about.gitlab.com/handbook/engineering/security/data-classification-policy.html) . - -### What data backup and retention requirements have been defined for the application?[](#what-data-backup-and-retention-requirements-have-been-defined-for-the-application "Permalink") - -* Geo 旨在提供应用程序数据的某些子集的复制. 它是解决方案的一部分,而不是问题的一部分. - -## End-Users[](#end-users "Permalink") - -### Who are the application’s end‐users?[](#who-are-the-applications-endusers "Permalink") - -* **辅助**节点在是遥远(在互联网延迟而言)从主 GitLab 安装( **主**节点)区创建. 打算由通常使用**主**节点的任何人使用它们,他们发现**辅助**节点距离它们更近(就 Internet 延迟而言). - -### How do the end‐users interact with the application?[](#how-do-the-endusers-interact-with-the-application "Permalink") - -* **辅助**节点提供了**主**节点执行的所有接口(特别是 HTTP / HTTPS Web 应用程序以及 HTTP / HTTPS 或 SSH Git 存储库访问),但仅限于只读活动. 设想主要用例是从**辅助**节点克隆 Git 存储库以支持**主**节点,但是最终用户可以使用 GitLab Web 界面查看项目,问题,合并请求,摘要等. - -### What security expectations do the end‐users have?[](#what-security-expectations-do-the-endusers-have "Permalink") - -* 复制过程必须是安全的. 例如,在整个公共 Internet 上以纯文本格式传输整个数据库内容或所有文件和存储库通常是不可接受的. -* **辅助**节点必须对其内容具有与**主**节点相同的访问控制-未经身份验证的用户不能通过查询**辅助**节点来获得对**主**节点上特权信息的访问. -* 攻击者必须不能将**辅助**节点模拟为**主要**节点,从而不能访问特权信息. - -## Administrators[](#administrators "Permalink") - -### Who has administrative capabilities in the application?[](#who-has-administrative-capabilities-in-the-application "Permalink") - -* 没有特定于地理位置的信息. 在数据库中设置了`admin: true`任何用户都被视为具有超级用户特权的 admin. -* 另请参阅: [更详细的访问控制](https://gitlab.com/gitlab-org/gitlab/-/issues/18242) (不是特定于地理位置的). -* Geo 的许多集成(例如,数据库复制)必须由应用程序配置,通常由系统管理员配置. - -### What administrative capabilities does the application offer?[](#what-administrative-capabilities-does-the-application-offer "Permalink") - -* 具有管理访问权限的用户可以添加,修改或删除**辅助**节点. -* 复制过程可以通过 Sidekiq 管理控件进行控制(启动/停止). - -## Network[](#network "Permalink") - -### What details regarding routing, switching, firewalling, and load‐balancing have been defined?[](#what-details-regarding-routing-switching-firewalling-and-loadbalancing-have-been-defined "Permalink") - -* Geo 要求**主要**节点和**次要**节点能够通过 TCP / IP 网络相互通信. 特别是, **辅助**节点必须能够访问**主**节点上的 HTTP / HTTPS 和 PostgreSQL 服务. - -### What core network devices support the application?[](#what-core-network-devices-support-the-application "Permalink") - -* 因客户而异. - -### What network performance requirements exist?[](#what-network-performance-requirements-exist "Permalink") - -* **主**节点和**辅助**节点之间的最大复制速度受到站点之间可用带宽的限制. 没有硬性要求-完成复制的时间(以及跟上**主**节点的更改的能力)取决于数据集的大小,对延迟的容忍度以及可用的网络容量. - -### What private and public network links support the application?[](#what-private-and-public-network-links-support-the-application "Permalink") - -* 客户选择自己的网络. 由于打算将站点在地理位置上分开,因此可以设想,复制流量将在典型部署中通过公共 Internet 传递,但这不是必需的. - -## Systems[](#systems "Permalink") - -### What operating systems support the application?[](#what-operating-systems-support-the-application "Permalink") - -* Geo 对操作系统没有任何其他限制(有关更多详细信息,请参见[GitLab 安装](https://about.gitlab.com/install/)页面),但是我们建议您使用[Geo 文档中](index.html#requirements-for-running-geo)列出的操作系统. - -### What details regarding required OS components and lock‐down needs have been defined?[](#what-details-regarding-required-os-components-and-lockdown-needs-have-been-defined "Permalink") - -* 受支持的安装方法(Omnibus)打包了大多数组件本身. -* 系统安装的 OpenSSH 守护程序(Geo 要求用户设置自定义身份验证方法)和 omnibus 或系统提供的 PostgreSQL 守护程序(必须配置为侦听 TCP,必须添加其他用户和复制插槽)之间存在很大的依赖关系,等等). -* 处理安全更新的过程(例如,如果 OpenSSH 或其他服务中存在重大漏洞,并且客户希望在 OS 上修补这些服务)与非 Geo 情况相同:对 OpenSSH 的安全更新为通过通常的分发渠道提供给用户. Geo 在那里没有延迟. - -## Infrastructure Monitoring[](#infrastructure-monitoring "Permalink") - -### What network and system performance monitoring requirements have been defined?[](#what-network-and-system-performance-monitoring-requirements-have-been-defined "Permalink") - -* 没有特定于 Ge​​o 的内容. - -### What mechanisms exist to detect malicious code or compromised application components?[](#what-mechanisms-exist-to-detect-malicious-code-or-compromised-application-components "Permalink") - -* 没有特定于 Ge​​o 的内容. - -### What network and system security monitoring requirements have been defined?[](#what-network-and-system-security-monitoring-requirements-have-been-defined "Permalink") - -* 没有特定于 Ge​​o 的内容. - -## Virtualization and Externalization[](#virtualization-and-externalization "Permalink") - -### What aspects of the application lend themselves to virtualization?[](#what-aspects-of-the-application-lend-themselves-to-virtualization "Permalink") - -* All. - -## What virtualization requirements have been defined for the application?[](#what-virtualization-requirements-have-been-defined-for-the-application "Permalink") - -* 没有特定于地理位置的信息,但是在这样的环境中,GitLab 中的所有内容都需要具有完整的功能. - -### What aspects of the product may or may not be hosted via the cloud computing model?[](#what-aspects-of-the-product-may-or-may-not-be-hosted-via-the-cloud-computing-model "Permalink") - -* GitLab 是"云原生"的,这不仅适用于 Geo,还适用于产品的其余部分. 在云中进行部署是常见且受支持的方案. - -## If applicable, what approach(es) to cloud computing will be taken (Managed Hosting versus “Pure” Cloud, a “full machine” approach such as AWS-EC2 versus a “hosted database” approach such as AWS-RDS and Azure, etc)?[](#if-applicable-what-approaches-to-cloud-computing-will-be-taken-managed-hosting-versus-pure-cloud-a-full-machine-approach-such-as-aws-ec2-versus-a-hosted-database-approach-such-as-aws-rds-and-azure-etc "Permalink") - -* 由我们的客户根据他们的运营需求来决定. - -## Environment[](#environment "Permalink") - -### What frameworks and programming languages have been used to create the application?[](#what-frameworks-and-programming-languages-have-been-used-to-create-the-application "Permalink") - -* Ruby on Rails,Ruby. - -### What process, code, or infrastructure dependencies have been defined for the application?[](#what-process-code-or-infrastructure-dependencies-have-been-defined-for-the-application "Permalink") - -* 没有特定于 Ge​​o 的内容. - -### What databases and application servers support the application?[](#what-databases-and-application-servers-support-the-application "Permalink") - -* PostgreSQL> = 11,Redis,Sidekiq,Puma. - -### How will database connection strings, encryption keys, and other sensitive components be stored, accessed, and protected from unauthorized detection?[](#how-will-database-connection-strings-encryption-keys-and-other-sensitive-components-be-stored-accessed-and-protected-from-unauthorized-detection "Permalink") - -* 有一些特定于地理位置的值. 有些是共享机密,必须在设置时将其从**主**节点安全地传输到**辅助**节点. 我们的文档建议通过 SSH 将它们从**主**节点传输到系统管理员,然后以相同方式回传到**辅助**节点. 特别是,这包括 PostgreSQL 复制凭证和一个秘密密钥( `db_key_base` ),该密钥用于解密数据库中的某些列. `db_key_base`秘密与其他许多秘密一起未加密地存储在文件系统中的`/etc/gitlab/gitlab-secrets.json` . 他们没有休息保护. - -## Data Processing[](#data-processing "Permalink") - -### What data entry paths does the application support?[](#what-data-entry-paths-does-the-application-support "Permalink") - -* 数据是通过 GitLab 本身公开的 Web 应用程序输入的. 使用 GitLab 服务器上的系统管理命令(例如`gitlab-ctl set-primary-node` )也输入了一些数据. -* **辅助**节点还通过 PostgreSQL 流复制从**主**节点接收输入. - -### What data output paths does the application support?[](#what-data-output-paths-does-the-application-support "Permalink") - -* **主**节点通过 PostgreSQL 流复制输出到**辅助**节点. 否则,主要是通过 GitLab 本身公开的 Web 应用程序以及最终用户启动的 SSH `git clone`操作. - -### How does data flow across the application’s internal components?[](#how-does-data-flow-across-the-applications-internal-components "Permalink") - -* **辅助**节点和**主**节点通过 HTTP / HTTPS(受 JSON Web 令牌保护)和 PostgreSQL 流复制进行交互. -* 在**主**节点或**辅助**节点内,SSOT 是文件系统和数据库(包括**辅助**节点上的 Geo 跟踪数据库). 精心安排了各种内部组件以对这些存储进行更改. - -### What data input validation requirements have been defined?[](#what-data-input-validation-requirements-have-been-defined "Permalink") - -* **辅助**节点必须忠实地复制**主**节点的数据. - -### What data does the application store and how?[](#what-data-does-the-application-store-and-how "Permalink") - -* Git 存储库和文件,与它们相关的跟踪信息以及 GitLab 数据库内容. - -### What data is or may need to be encrypted and what key management requirements have been defined?[](#what-data-is-or-may-need-to-be-encrypted-and-what-key-management-requirements-have-been-defined "Permalink") - -* **主**节点或**辅助**节点都不会加密静态的 Git 存储库或文件系统数据. 数据库列的子集使用`db_otp_key`加密. -* 在 GitLab 部署中的所有主机之间共享的静态机密. -* 在传输过程中,尽管应用程序确实允许通信以未加密的方式进行,但是数据应该被加密. 两个主要过程是 PostgreSQL 和 Git 存储库/文件的**辅助**节点复制过程. 两者均应使用 TLS 保护,并通过现有配置通过 Omnibus 管理该密钥,以供最终用户访问 GitLab. - -### What capabilities exist to detect the leakage of sensitive data?[](#what-capabilities-exist-to-detect-the-leakage-of-sensitive-data "Permalink") - -* 存在全面的系统日志,跟踪与 GitLab 和 PostgreSQL 的每个连接. - -### What encryption requirements have been defined for data in transit - including transmission over WAN, LAN, SecureFTP, or publicly accessible protocols such as http: and https:?[](#what-encryption-requirements-have-been-defined-for-data-in-transit---including-transmission-over-wan-lan-secureftp-or-publicly-accessible-protocols-such-as-http-and-https "Permalink") - -* 数据必须具有在传输过程中进行加密的选项,并且必须能够抵抗被动和主动攻击(例如,不可能进行 MITM 攻击). - -## Access[](#access "Permalink") - -### What user privilege levels does the application support?[](#what-user-privilege-levels-does-the-application-support "Permalink") - -* Geo 添加了一种类型的特权: **辅助**节点可以访问特殊的 Geo API,以通过 HTTP / HTTPS 下载文件,以及使用 HTTP / HTTPS 克隆存储库. - -### What user identification and authentication requirements have been defined?[](#what-user-identification-and-authentication-requirements-have-been-defined "Permalink") - -* **辅助**节点基于共享数据库(HTTP 访问)或 PostgreSQL 复制用户(用于数据库复制)通过 OAuth 或 JWT 身份验证向 Geo **主**节点标识. 数据库复制还需要定义基于 IP 的访问控制. - -### What user authorization requirements have been defined?[](#what-user-authorization-requirements-have-been-defined "Permalink") - -* **辅助**节点只能*读取*数据. 他们当前无法对**主**节点上的数据进行突变. - -### What session management requirements have been defined?[](#what-session-management-requirements-have-been-defined "Permalink") - -* 地理 JWT 被定义为仅持续两分钟,然后需要重新生成. -* Geo JWT 是为以下特定范围之一生成的: - * Geo API 访问. - * Git 访问. - * LFS 和文件 ID. - * 上传和文件 ID. - * 作业工件和文件 ID. - -### What access requirements have been defined for URI and Service calls?[](#what-access-requirements-have-been-defined-for-uri-and-service-calls "Permalink") - -* **辅助**节点对**主**节点的 API 进行了许多调用. 例如,这就是文件复制的进行方式. 只能使用 JWT 令牌访问此端点. -* **主**节点还调用**辅助**节点以获取状态信息. - -## Application Monitoring[](#application-monitoring "Permalink") - -### What application auditing requirements have been defined? How are audit and debug logs accessed, stored, and secured?[](#what-application-auditing-requirements-have-been-defined-how-are-audit-and-debug-logs-accessed-stored-and-secured "Permalink") - -* 结构化 JSON 日志将写入文件系统,也可以将其提取到 Kibana 安装中以进行进一步分析. \ No newline at end of file diff --git a/docs/498.md b/docs/498.md deleted file mode 100644 index 6ee1fd2..0000000 --- a/docs/498.md +++ /dev/null @@ -1,106 +0,0 @@ -# Location-aware Git remote URL with AWS Route53 - -> 原文:[https://docs.gitlab.com/ee/administration/geo/replication/location_aware_git_url.html](https://docs.gitlab.com/ee/administration/geo/replication/location_aware_git_url.html) - -* [Prerequisites](#prerequisites) -* [Create a traffic policy](#create-a-traffic-policy) -* [Configure Git clone URLs to use the special Git URL](#configure-git-clone-urls-to-use-the-special-git-url) -* [Example Git request handling behavior](#example-git-request-handling-behavior) - -# Location-aware Git remote URL with AWS Route53[](#location-aware-git-remote-url-with-aws-route53-premium-only "Permalink") - -您可以为 GitLab 用户提供一个远程 URL,该 URL 自动使用距离他们最近的 Geo 节点. 这意味着用户在移动时无需更新其 Git 配置即可利用更近的 Geo 节点. - -这是可能的,因为 Git 推送请求可以从**辅助**节点自动重定向(HTTP)或代理(SSH)到**主**节点. - -尽管这些说明使用[AWS Route53](https://aws.amazon.com/route53/) ,但也可以使用其他服务,例如[Cloudflare](https://www.cloudflare.com/) . - -**注意:**您还可以使用负载平衡器将 Web UI 或 API 流量分配到[多个 Geo **辅助**节点](../../../user/admin_area/geo_nodes.html#multiple-secondary-nodes-behind-a-load-balancer) . 重要的是,尚不能包含**主**节点. 请参阅功能请求. [支持将**主数据库**放置在 Geo 节点负载均衡器之后](https://gitlab.com/gitlab-org/gitlab/-/issues/10888) . - -## Prerequisites[](#prerequisites "Permalink") - -在此示例中,我们已经设置: - -* `primary.example.com`作为地理**主要**节点. -* `secondary.example.com`作为地理**辅助**节点. - -我们将创建一个`git.example.com`子域,该子域将自动定向请求: - -* 从欧洲到**次要**节点. -* 从所有其他位置到**主**节点. - -无论如何,您都需要: - -* 一个可工作的 GitLab **主**节点,可以在其自己的地址访问. -* 运行中的 GitLab **辅助**节点. -* 一个 Route53 托管区域管理您的域. - -如果尚未设置 Geo **主**节点和**辅助**节点,请查阅[Geo 设置说明](index.html#setup-instructions) . - -## Create a traffic policy[](#create-a-traffic-policy "Permalink") - -在 Route53 托管区域中,可以使用流策略来设置各种路由配置. - -1. 导航到[Route53 仪表板](https://console.aws.amazon.com/route53/home) ,然后单击" **流量策略"** . - - [![Traffic policies](img/05dd8439c1da77198297616b4c4f8458.png)](img/single_git_traffic_policies.png) - -2. 单击**创建流量策略**按钮. - - [![Name policy](img/481f18ff2e4575d1c38d4c93631bd23c.png)](img/single_git_name_policy.png) - -3. 在`Single Git Host`填充**Policy Name**字段,然后单击**Next** . - - [![Policy diagram](img/f8c3e75c59db0de2544d73c590e98696.png)](img/single_git_policy_diagram.png) - -4. Leave **DNS 类型** as `A: IP Address in IPv4 format`. -5. 点击**连接到...,**然后选择**地理位置规则** . - - [![Add geolocation rule](img/ec9eebd0b49b9f0b94eb6d12fadd7cf5.png)](img/single_git_add_geolocation_rule.png) - -6. 对于第一个**位置** ,请将其保留为`Default` . -7. 单击" **连接到...",**然后选择" **新建端点"** . -8. 选择**类型** `value`并用``填写. -9. 对于第二个**位置** ,选择" `Europe` . -10. 单击" **连接到...",**然后选择" **新建端点"** . -11. 选择**类型** `value`并用``填写. - - [![Add traffic policy endpoints](img/bb46a964436bb5fa1becb0900b9b0fc3.png)](img/single_git_add_traffic_policy_endpoints.png) - -12. Click **创建流量策略**. - - [![Create policy records with traffic policy](img/d1e835585272f821d777f384eed6a832.png)](img/single_git_create_policy_records_with_traffic_policy.png) - -13. 使用`git`填写**策略记录 DNS 名称** . -14. Click **创建策略记录**. - - [![Created policy record](img/b62968cd49816ab794ddd37a7dcfb7a2.png)](img/single_git_created_policy_record.png) - -您已经成功设置了一个主机,例如`git.example.com` ,它通过地理位置将流量分配到您的 Geo 节点! - -## Configure Git clone URLs to use the special Git URL[](#configure-git-clone-urls-to-use-the-special-git-url "Permalink") - -用户首次克隆存储库时,通常会从项目页面复制 Git 远程 URL. 默认情况下,这些 SSH 和 HTTP URL 基于当前主机的外部 URL. 例如: - -* `git@secondary.example.com:group1/project1.git` -* `https://secondary.example.com/group1/project1.git` - -[![Clone panel](img/8ec36cbe2f746b6b6cc0d28e1620899a.png)](img/single_git_clone_panel.png) - -您可以自定义: - -* SSH 远程 URL 以使用可`git.example.com`位置的`git.example.com` . 为此,通过在 Web 节点的`gitlab.rb`中设置`gitlab_rails['gitlab_ssh_host']`来更改 SSH 远程 URL 的主机. -* HTTP 远程 URL,如[HTTP(S)的 Custom Git 克隆 URL 中](../../../user/admin_area/settings/visibility_and_access_controls.html#custom-git-clone-url-for-https)所示. - -## Example Git request handling behavior[](#example-git-request-handling-behavior "Permalink") - -完成上述配置步骤后,现在可以识别 Git 请求的位置. 要求: - -* 在欧洲以外,所有请求都定向到**主**节点. -* 在欧洲范围内: - * HTTP: - * `git clone http://git.example.com/foo/bar.git`定向到**辅助**节点. - * `git push`最初定向到**辅助服务器** , **辅助服务器**自动重定向到`primary.example.com` . - * SSH: - * `git clone git@git.example.com:foo/bar.git`被定向到**辅助目录** . - * `git push`首先指向**辅助**服务器, **辅助**服务器自动将请求代理到`primary.example.com` . \ No newline at end of file diff --git a/docs/499.md b/docs/499.md deleted file mode 100644 index a8b1dd4..0000000 --- a/docs/499.md +++ /dev/null @@ -1,16 +0,0 @@ -# Tuning Geo - -> 原文:[https://docs.gitlab.com/ee/administration/geo/replication/tuning.html](https://docs.gitlab.com/ee/administration/geo/replication/tuning.html) - -* [Changing the sync capacity values](#changing-the-sync-capacity-values) - -# Tuning Geo[](#tuning-geo-premium-only "Permalink") - -## Changing the sync capacity values[](#changing-the-sync-capacity-values "Permalink") - -在以下位置的"地理管理员"页面中 **管理区>** **Geo** ( `/admin/geo/nodes` ),可以调整一些变量来提高 Geo 的性能: - -* 存储库同步容量. -* 文件同步容量. - -增加这些值将增加计划的作业数量. 但是,除非还增加了可用的 Sidekiq 线程数,否则这可能不会导致更多并行下载. 例如,如果存储库同步容量从 25 增加到 50,您可能还希望将 Sidekiq 线程的数量从 25 增加到 50.有关更多详细信息,请参见[Sidekiq 并发文档](../../operations/extra_sidekiq_processes.html#number-of-threads) . \ No newline at end of file diff --git a/docs/500.md b/docs/500.md deleted file mode 100644 index 2da4d16..0000000 --- a/docs/500.md +++ /dev/null @@ -1,53 +0,0 @@ -# Removing secondary Geo nodes - -> 原文:[https://docs.gitlab.com/ee/administration/geo/replication/remove_geo_node.html](https://docs.gitlab.com/ee/administration/geo/replication/remove_geo_node.html) - -# Removing secondary Geo nodes[](#removing-secondary-geo-nodes-premium-only "Permalink") - -可以使用**主**节点的地理管理页面从地理集群中删除**辅助**节点. 删除**辅助**节点: - -1. 导航 **管理区>** **地理位置** ( `/admin/geo/nodes` ). -2. 单击要**删除**的**辅助**节点的" **删除"**按钮. -3. 出现提示时,单击" **删除"进行**确认. - -从"地理管理员"页面中删除后,您必须停止并卸载**辅助**节点: - -1. 在**辅助**节点上,停止 GitLab: - - ``` - sudo gitlab-ctl stop - ``` - -2. 在**辅助**节点上,卸载 GitLab: - - ``` - # Stop gitlab and remove its supervision process - sudo gitlab-ctl uninstall - - # Debian/Ubuntu - sudo dpkg --remove gitlab-ee - - # Redhat/Centos - sudo rpm --erase gitlab-ee - ``` - -从**辅助**节点上卸载了 GitLab 之后,必须如下所示从**主**节点的数据库中删除复制插槽: - -1. 在**主**节点上,启动 PostgreSQL 控制台会话: - - ``` - sudo gitlab-psql - ``` - - **注意:**使用`gitlab-rails dbconsole`将不起作用,因为管理复制插槽需要超级用户权限. -2. 查找相关复制插槽的名称. 这是运行复制命令`gitlab-ctl replicate-geo-database`时用`--slot-name`指定的插槽. - - ``` - SELECT * FROM pg_replication_slots; - ``` - -3. 删除**辅助**节点的复制插槽: - - ``` - SELECT pg_drop_replication_slot(''); - ``` \ No newline at end of file diff --git a/docs/501.md b/docs/501.md deleted file mode 100644 index 61711bc..0000000 --- a/docs/501.md +++ /dev/null @@ -1,148 +0,0 @@ -# Geo data types support - -> 原文:[https://docs.gitlab.com/ee/administration/geo/replication/datatypes.html](https://docs.gitlab.com/ee/administration/geo/replication/datatypes.html) - -* [Data types](#data-types) - * [Git repositories](#git-repositories) - * [Blobs](#blobs) - * [Database](#database) -* [Limitations on replication/verification](#limitations-on-replicationverification) - -# Geo data types support[](#geo-data-types-support-premium-only "Permalink") - -地理数据类型是一个或多个 GitLab 功能存储相关信息所需的特定数据类别. - -要使用 Geo 复制这些功能生成的数据,我们使用几种策略来访问,传输和验证它们. - -## Data types[](#data-types "Permalink") - -当前,我们区分三种不同的数据类型: - -* [Git repositories](#git-repositories) -* [Blobs](#blobs) -* [Database](#database) - -请参阅下面列出的我们复制的每个功能或组件,其对应的数据类型,复制和验证方法的列表: - -| Type | 功能/组件 | 复制方式 | 验证方式 | -| --- | --- | --- | --- | -| Database | PostgreSQL 中的应用程序数据 | Native | Native | -| Database | Redis | *N/A* (*1*) | *N/A* | -| Database | Elasticsearch | Native | Native | -| Database | 个人摘要 | PostgreSQL 复制 | PostgreSQL 复制 | -| Database | 项目摘要 | PostgreSQL 复制 | PostgreSQL 复制 | -| Database | SSH 公钥 | PostgreSQL 复制 | PostgreSQL 复制 | -| Git | 项目资料库 | 地理与吉塔利 | Gitaly 校验和 | -| Git | 项目 Wiki 资料库 | 地理与吉塔利 | Gitaly 校验和 | -| Git | 项目设计资料库 | 地理与吉塔利 | Gitaly 校验和 | -| Git | 用于分支项目重复数据删除的对象池 | 地理与吉塔利 | *未实现* | -| Blobs | User uploads *(filesystem)* | 带有 API 的地理位置 | *未实现* | -| Blobs | 用户上传*(对象存储)* | 具有 API /托管的地理区域( *2* ) | *未实现* | -| Blobs | LFS 对象*(文件系统)* | 带有 API 的地理位置 | *未实现* | -| Blobs | LFS 对象*(对象存储)* | 具有 API /托管的地理区域( *2* ) | *未实现* | -| Blobs | CI 作业工件*(文件系统)* | 带有 API 的地理位置 | *未实现* | -| Blobs | CI 作业工件*(对象存储)* | 具有 API /托管的地理区域( *2* ) | *未实现* | -| Blobs | 归档的 CI 构建跟踪*(文件系统)* | 带有 API 的地理位置 | *未实现* | -| Blobs | 归档的 CI 构建跟踪*(对象存储)* | 具有 API /托管的地理区域( *2* ) | *未实现* | -| Blobs | 容器注册表*(文件系统)* | 使用 API​​ / Docker API 进行地理定位 | *未实现* | -| Blobs | 容器注册表*(对象存储)* | 带有 API / Managed / Docker API 的 Geo( *2* ) | *未实现* | -| Blobs | 程序包注册表*(文件系统)* | 带有 API 的地理位置 | *未实现* | -| Blobs | 程序包注册表*(对象存储)* | 具有 API /托管的地理区域( *2* ) | *未实现* | - -* ( *1* ):Redis 复制可与 Redis 前哨一起用作 HA 的一部分. 在地理节点之间不使用它. -* ( *2* ):对象存储复制可以通过 Geo 或您的对象存储提供者/设备本机复制功能来执行. - -### Git repositories[](#git-repositories "Permalink") - -一个 GitLab 实例可以具有一个或多个存储库分片. 每个分片都有一个 Gitaly 实例,该实例负责允许对本地存储的 Git 存储库进行访问和操作. 它可以在具有单个磁盘,作为单个安装点安装多个磁盘(如 RAID 阵列)或使用 LVM 的计算机上运行. - -它不需要特殊的文件系统,并且可以与 NFS 或已安装的 Storage Appliance 一起使用(使用远程文件系统时可能会有性能限制). - -通过 Gitaly 自己的 gRPC API 完成通信. 有三种可能的同步方式: - -* 使用常规的 Git 从一个 Geo 节点到另一个 Geo 节点的克隆/获取(具有特殊身份验证). -* 使用存储库快照(用于第一种方法失败或存储库损坏时). -* 从管理界面手动触发(上述两者的组合). - -每个项目最多可以有 3 个不同的存储库: - -* 一个项目存储库,其中存储了源代码. -* Wiki 存储库,用于存储 Wiki 内容. -* 一个设计库,在其中对设计工件进行索引(资产实际上在 LFS 中). - -他们都住在同一个碎片,并用共享相同的基础名称`-wiki`和`-design`用于 Wiki 以及设计资源库的情况下后缀. - -### Blobs[](#blobs "Permalink") - -GitLab 将文件和 Blob(例如 Issue 附件或 LFS 对象)存储到以下任一位置: - -* 特定位置的文件系统. -* [对象存储](../../object_storage.html)解决方案. 对象存储解决方案可以是: - * 像 Amazon S3 Google Cloud Storage 一样基于云. - * 由您托管(如 MinIO). - * 公开与对象存储兼容的 API 的存储设备. - -当使用文件系统存储而不是对象存储时,如果使用多个服务器,则需要使用网络安装的文件系统来运行 GitLab. - -关于复制和验证: - -* 我们使用内部 API 请求传输文件和 Blob. -* 使用对象存储,您可以: - * 使用云提供程序复制功能. - * 让 GitLab 为您复制它. - -### Database[](#database "Permalink") - -对于不同的用例,GitLab 依赖于存储在多个数据库中的数据. PostgreSQL 是 Web 界面中用户生成的内容(例如问题内容,​​注释以及权限和凭据)的唯一事实. - -PostgreSQL 还可以保存某种程度的缓存数据,例如 HTML 呈现的 Markdown,缓存的合并请求差异(也可以配置为卸载到对象存储中). - -我们使用 PostgreSQL 自己的复制功能将数据从**主**节点复制到**辅助**节点. - -我们将 Redis 用作缓存存储并为我们的后台作业系统保留持久性数据. 由于这两个用例都具有同一地理节点专有的数据,因此我们不在节点之间复制它. - -Elasticsearch 是一个可选数据库,可以启用高级搜索功能,例如源代码级别的改进的全局搜索以及"问题/合并请求"和讨论中用户生成的内容. 目前,Geo 不支持此功能. - -## Limitations on replication/verification[](#limitations-on-replicationverification "Permalink") - -下表列出了 GitLab 功能及其在**辅助**节点上的复制和验证状态. - -您可以跟踪实现这些史诗/问题中缺少的项目的进度: - -* [Unreplicated Data Types](https://gitlab.com/groups/gitlab-org/-/epics/893) -* [Verify all replicated data](https://gitlab.com/groups/gitlab-org/-/epics/1430) - -**危险:**不在此列表上或"已**复制"**列中具有" **否"的**功能不会在**辅助**节点上复制. 如果不从这些功能中手动复制数据而进行故障转移,将导致数据**丢失** . 如果希望在**辅助**节点上使用这些功能或成功执行故障转移,则必须使用其他方法复制它们的数据. - -| Feature | 复制(在 GitLab 版本中添加) | 已验证(在 GitLab 版本中添加) | Notes |   | -| --- | --- | --- | --- | --- | -| PostgreSQL 中的应用程序数据 | **Yes** (10.2) | **Yes** (10.2) |   |   | -| 项目资料库 | **Yes** (10.2) | **Yes** (10.7) |   |   | -| 项目 Wiki 资料库 | **Yes** (10.2) | **Yes** (10.7) |   |   | -| 项目设计资料库 | **Yes** (12.7) | [No](https://gitlab.com/gitlab-org/gitlab/-/issues/32467) |   |   | -| Uploads | **Yes** (10.2) | [No](https://gitlab.com/groups/gitlab-org/-/epics/1817) | 仅在转移时验证,或手动验证( *1* ) |   | -| LFS 对象 | **Yes** (10.2) | [No](https://gitlab.com/gitlab-org/gitlab/-/issues/8922) | 仅在转移时验证,或手动验证( *1* ). 在 11.11.x 和 12.0.x( *2* )中的新 LFS 对象不可用. |   | -| CI 作业工件(痕迹除外) | **Yes** (10.4) | [No](https://gitlab.com/gitlab-org/gitlab/-/issues/8923) | 仅手动验证( *1* ) |   | -| 存档的痕迹 | **Yes** (10.4) | [No](https://gitlab.com/gitlab-org/gitlab/-/issues/8923) | 仅在转移时验证,或手动验证( *1* ) |   | -| 个人摘要 | **Yes** (10.2) | **Yes** (10.2) |   |   | -| [Versioned snippets](../../../user/snippets.html#versioned-snippets) | [No](https://gitlab.com/groups/gitlab-org/-/epics/2809) | [No](https://gitlab.com/groups/gitlab-org/-/epics/2810) |   |   | -| 项目摘要 | **Yes** (10.2) | **Yes** (10.2) |   |   | -| 用于分支项目重复数据删除的对象池 | **Yes** | No |   |   | -| [Server-side Git hooks](../../server_hooks.html) | No | No |   |   | -| [Elasticsearch integration](../../../integration/elasticsearch.html) | [No](https://gitlab.com/gitlab-org/gitlab/-/issues/1186) | No |   |   | -| [GitLab Pages](../../pages/index.html) | [No](https://gitlab.com/groups/gitlab-org/-/epics/589) | No |   |   | -| [Container Registry](../../packages/container_registry.html) | **Yes** (12.3) | No |   |   | -| [NPM Registry](../../../user/packages/npm_registry/index.html) | **Yes** (13.2) | No |   |   | -| [Maven Repository](../../../user/packages/maven_repository/index.html) | **Yes** (13.2) | No |   |   | -| [Conan Repository](../../../user/packages/conan_repository/index.html) | **Yes** (13.2) | No |   |   | -| [NuGet Repository](../../../user/packages/nuget_repository/index.html) | **Yes** (13.2) | No |   |   | -| [PyPi Repository](../../../user/packages/pypi_repository/index.html) | **Yes** (13.2) | No |   |   | -| [Composer Repository](../../../user/packages/composer_repository/index.html) | **Yes** (13.2) | No |   |   | -| [External merge request diffs](../../merge_request_diffs.html) | [No](https://gitlab.com/gitlab-org/gitlab/-/issues/33817) | No |   |   | -| [Terraform State](../../terraform_state.html) | [No](https://gitlab.com/groups/gitlab-org/-/epics/3112)(*3*) | No |   |   | -| [Vulnerability Export](../../../user/application_security/security_dashboard/#export-vulnerabilities) | [No](https://gitlab.com/groups/gitlab-org/-/epics/3111)(*3*) | No |   |   | -| 对象存储中的内容 | **Yes** (12.4) | No |   |   | - -* ( *1* ):可以使用两个节点上的[完整性检查瑞克任务](../../raketasks/check.html)并比较它们之间的输出来手动验证[完整性](../../raketasks/check.html) . -* ( *2* ):GitLab 版本 11.11.x 和 12.0.x 受到[一个错误的](https://gitlab.com/gitlab-org/gitlab/-/issues/32696)影响, [该错误阻止了任何新的 LFS 对象的复制](https://gitlab.com/gitlab-org/gitlab/-/issues/32696) . -* ( *3* ):如果使用的是对象存储,则可以通过对象存储提供程序执行复制(如果支持). 请参阅[带有对象存储的地理位置](object_storage.html) \ No newline at end of file diff --git a/docs/502.md b/docs/502.md deleted file mode 100644 index 95d07b1..0000000 --- a/docs/502.md +++ /dev/null @@ -1,62 +0,0 @@ -# Geo Frequently Asked Questions - -> 原文:[https://docs.gitlab.com/ee/administration/geo/replication/faq.html](https://docs.gitlab.com/ee/administration/geo/replication/faq.html) - -* [What are the minimum requirements to run Geo?](#what-are-the-minimum-requirements-to-run-geo) -* [How does Geo know which projects to sync?](#how-does-geo-know-which-projects-to-sync) -* [Can I use Geo in a disaster recovery situation?](#can-i-use-geo-in-a-disaster-recovery-situation) -* [What data is replicated to a **secondary** node?](#what-data-is-replicated-to-a-secondary-node) -* [Can I `git push` to a **secondary** node?](#can-i-git-push-to-a-secondary-node) -* [How long does it take to have a commit replicated to a **secondary** node?](#how-long-does-it-take-to-have-a-commit-replicated-to-a-secondary-node) -* [What if the SSH server runs at a different port?](#what-if-the-ssh-server-runs-at-a-different-port) -* [Is this possible to set up a Docker Registry for a **secondary** node that mirrors the one on the **primary** node?](#is-this-possible-to-set-up-a-docker-registry-for-a-secondary-node-that-mirrors-the-one-on-the-primary-node) - -# Geo Frequently Asked Questions[](#geo-frequently-asked-questions-premium-only "Permalink") - -## What are the minimum requirements to run Geo?[](#what-are-the-minimum-requirements-to-run-geo "Permalink") - -要求[在索引页面](index.html#requirements-for-running-geo)上列出 - -## How does Geo know which projects to sync?[](#how-does-geo-know-which-projects-to-sync "Permalink") - -在每个**辅助**节点上,都有一个 GitLab 数据库的只读复制副本. **辅助**节点还具有跟踪数据库,其中存储了已同步的项目. Geo 比较这两个数据库以查找尚未跟踪的项目. - -首先,此跟踪数据库为空,因此 Geo 将开始尝试从它在 GitLab 数据库中可以看到的每个项目中进行更新. - -对于每个要同步的项目: - -1. Geo 将发出`git fetch geo --mirror`来从**主**节点获取最新信息. 如果没有更改,则同步将很快并快速结束. 否则,它将提取最新的提交. -2. **辅助**节点将更新跟踪数据库,以存储它已同步项目 A,B,C 等的事实. -3. 重复直到所有项目都同步. - -当有人将提交推送到**主**节点时,它将在 GitLab 数据库中生成一个事件,说明存储库已更改. **辅助**节点看到此事件,将有问题的项目标记为脏,并计划重新同步该项目. - -为确保管道问题(例如,同步失败太多或丢失的作业)不会永久停止项目同步,Geo 还会定期检查跟踪数据库中是否有标记为脏的项目. 当并发同步数降到`repos_max_capacity`以下并且没有新的项目等待同步时,将进行此检查. - -Geo 还具有校验和功能,可在所有对 SHA 值的 Git 引用中运行 SHA256 和. 如果**主**节点和**辅助**节点之间的引用不匹配,则**辅助**节点会将项目标记为脏项目,然后尝试重新同步. 因此,即使我们拥有一个过时的跟踪数据库,验证也应激活并找到存储库状态中的差异并重新同步. - -## Can I use Geo in a disaster recovery situation?[](#can-i-use-geo-in-a-disaster-recovery-situation "Permalink") - -是的,但是我们复制的内容有局限性(请参阅将[哪些数据复制到**辅助**节点?](#what-data-is-replicated-to-a-secondary-node) ). - -阅读[灾难恢复](../disaster_recovery/index.html)文档. - -## What data is replicated to a **secondary** node?[](#what-data-is-replicated-to-a-secondary-node "Permalink") - -当前,我们复制项目存储库,LFS 对象,生成的附件/化身以及整个数据库. 这意味着用户帐户,问题,合并请求,组,项目数据等将可用于查询. - -## Can I `git push` to a **secondary** node?[](#can-i-git-push-to-a-secondary-node "Permalink") - -是! [GitLab Premium](https://about.gitlab.com/pricing/#self-managed) 11.3 中[引入](https://about.gitlab.com/releases/2018/09/22/gitlab-11-3-released/)了直接推送到**辅助**节点(对于 HTTP 和 SSH,包括 Git LFS). - -## How long does it take to have a commit replicated to a **secondary** node?[](#how-long-does-it-take-to-have-a-commit-replicated-to-a-secondary-node "Permalink") - -所有复制操作都是异步的,并排队等待分派. 因此,这取决于很多因素,包括流量,提交的大小,节点之间的连接,硬件等. - -## What if the SSH server runs at a different port?[](#what-if-the-ssh-server-runs-at-a-different-port "Permalink") - -很好 我们使用 HTTP 来获取从**主**节点到所有**辅助**节点的存储库更改. - -## Is this possible to set up a Docker Registry for a **secondary** node that mirrors the one on the **primary** node?[](#is-this-possible-to-set-up-a-docker-registry-for-a-secondary-node-that-mirrors-the-one-on-the-primary-node "Permalink") - -是. 有关[**辅助**节点,](docker_registry.html)请参见[Docker Registry](docker_registry.html) . \ No newline at end of file diff --git a/docs/503.md b/docs/503.md deleted file mode 100644 index c174199..0000000 --- a/docs/503.md +++ /dev/null @@ -1,844 +0,0 @@ -# Geo Troubleshooting - -> 原文:[https://docs.gitlab.com/ee/administration/geo/replication/troubleshooting.html](https://docs.gitlab.com/ee/administration/geo/replication/troubleshooting.html) - -* [Basic troubleshooting](#basic-troubleshooting) - * [Check the health of the **secondary** node](#check-the-health-of-the-secondary-node) - * [Check if PostgreSQL replication is working](#check-if-postgresql-replication-is-working) - * [Are nodes pointing to the correct database instance?](#are-nodes-pointing-to-the-correct-database-instance) - * [Can Geo detect the current node correctly?](#can-geo-detect-the-current-node-correctly) -* [Fixing errors found when running the Geo check Rake task](#fixing-errors-found-when-running-the-geo-check-rake-task) -* [Fixing replication errors](#fixing-replication-errors) - * [Message: `ERROR: replication slots can only be used if max_replication_slots > 0`?](#message-error--replication-slots-can-only-be-used-if-max_replication_slots--0) - * [Message: `FATAL: could not start WAL streaming: ERROR: replication slot "geo_secondary_my_domain_com" does not exist`?](#message-fatal--could-not-start-wal-streaming-error--replication-slot-geo_secondary_my_domain_com-does-not-exist) - * [Message: “Command exceeded allowed execution time” when setting up replication?](#message-command-exceeded-allowed-execution-time-when-setting-up-replication) - * [Message: “PANIC: could not write to file `pg_xlog/xlogtemp.123`: No space left on device”](#message-panic-could-not-write-to-file-pg_xlogxlogtemp123-no-space-left-on-device) - * [Message: “ERROR: canceling statement due to conflict with recovery”](#message-error-canceling-statement-due-to-conflict-with-recovery) - * [Message: `LOG: invalid CIDR mask in address`](#message-log--invalid-cidr-mask-in-address) - * [Message: `LOG: invalid IP mask "md5": Name or service not known`](#message-log--invalid-ip-mask-md5-name-or-service-not-known) - * [Very large repositories never successfully synchronize on the **secondary** node](#very-large-repositories-never-successfully-synchronize-on-the-secondary-node) - * [New LFS objects are never replicated](#new-lfs-objects-are-never-replicated) - * [Resetting Geo **secondary** node replication](#resetting-geo-secondary-node-replication) -* [Fixing errors during a failover or when promoting a secondary to a primary node](#fixing-errors-during-a-failover-or-when-promoting-a-secondary-to-a-primary-node) - * [Message: ActiveRecord::RecordInvalid: Validation failed: Name has already been taken](#message-activerecordrecordinvalid-validation-failed-name-has-already-been-taken) - * [Message: `NoMethodError: undefined method `secondary?' for nil:NilClass`](#message-nomethoderror-undefined-method-secondary-for-nilnilclass) - * [Message: `sudo: gitlab-pg-ctl: command not found`](#message-sudo-gitlab-pg-ctl-command-not-found) -* [Fixing Foreign Data Wrapper errors](#fixing-foreign-data-wrapper-errors) - * [“Foreign Data Wrapper (FDW) is not configured” error](#foreign-data-wrapper-fdw-is-not-configured-error) - * [Checking configuration](#checking-configuration) - * [Manual reload of FDW schema](#manual-reload-of-fdw-schema) - * [“Geo database has an outdated FDW remote schema” error](#geo-database-has-an-outdated-fdw-remote-schema-error) -* [Expired artifacts](#expired-artifacts) -* [Fixing sign in errors](#fixing-sign-in-errors) - * [Message: The redirect URI included is not valid](#message-the-redirect-uri-included-is-not-valid) -* [Fixing common errors](#fixing-common-errors) - * [Geo database configuration file is missing](#geo-database-configuration-file-is-missing) - * [An existing tracking database cannot be reused](#an-existing-tracking-database-cannot-be-reused) - * [Geo node has a database that is writable which is an indication it is not configured for replication with the primary node](#geo-node-has-a-database-that-is-writable-which-is-an-indication-it-is-not-configured-for-replication-with-the-primary-node) - * [Geo node does not appear to be replicating the database from the primary node](#geo-node-does-not-appear-to-be-replicating-the-database-from-the-primary-node) - * [Geo database version (…) does not match latest migration (…)](#geo-database-version--does-not-match-latest-migration-) - * [Geo database is not configured to use Foreign Data Wrapper](#geo-database-is-not-configured-to-use-foreign-data-wrapper) - * [GitLab indicates that more than 100% of repositories were synced](#gitlab-indicates-that-more-than-100-of-repositories-were-synced) - * [Geo Admin Area returns 404 error for a secondary node](#geo-admin-area-returns-404-error-for-a-secondary-node) - -# Geo Troubleshooting[](#geo-troubleshooting-premium-only "Permalink") - -设置地理位置需要仔细注意细节,有时很容易错过一个步骤. - -这是您尝试解决问题应采取的步骤的列表: - -* Perform [basic troubleshooting](#basic-troubleshooting). -* 修复所有[复制错误](#fixing-replication-errors) . -* 修复任何[外部数据包装程序](#fixing-foreign-data-wrapper-errors)错误. -* 修复所有[常见](#fixing-common-errors)错误. - -## Basic troubleshooting[](#basic-troubleshooting "Permalink") - -在尝试更高级的故障排除之前: - -* Check [the health of the **secondary** node](#check-the-health-of-the-secondary-node). -* Check [if PostgreSQL replication is working](#check-if-postgresql-replication-is-working). - -### Check the health of the **secondary** node[](#check-the-health-of-the-secondary-node "Permalink") - -访问**主**节点的 **管理区>** 浏览器中的**地理位置** ( `/admin/geo/nodes` ). 我们在每个**辅助**节点上执行以下运行状况检查,以帮助识别是否存在问题: - -* 节点是否在运行? -* 节点的辅助数据库是否已配置用于流复制? -* 是否已配置节点的辅助跟踪数据库? -* 节点的辅助跟踪数据库是否已连接? -* 节点的辅助跟踪数据库是否是最新的? - -[![Geo health check](img/11728974fe5385112311ab02ea56783e.png)](img/geo_node_healthcheck.png) - -有关如何解决从 UI 报告的常见错误的信息,请参阅" [修复常见错误"](#fixing-common-errors) . - -如果用户界面无法正常工作,或者您无法登录,则可以手动运行地理健康检查以获取此信息以及更多详细信息. - -此 Rake 任务可以在**主要**或**辅助** Geo 节点中的应用程序节点上运行: - -``` -sudo gitlab-rake gitlab:geo:check -``` - -输出示例: - -``` -Checking Geo ... - -GitLab Geo is available ... yes -GitLab Geo is enabled ... yes -This machine's Geo node name matches a database record ... yes, found a secondary node named "Shanghai" -GitLab Geo secondary database is correctly configured ... yes -Database replication enabled? ... yes -Database replication working? ... yes -GitLab Geo tracking database is configured to use Foreign Data Wrapper? ... yes -GitLab Geo tracking database Foreign Data Wrapper schema is up-to-date? ... yes -GitLab Geo HTTP(S) connectivity ... -* Can connect to the primary node ... yes -HTTP/HTTPS repository cloning is enabled ... yes -Machine clock is synchronized ... yes -Git user has default SSH configuration? ... yes -OpenSSH configured to use AuthorizedKeysCommand ... yes -GitLab configured to disable writing to authorized_keys file ... yes -GitLab configured to store new projects in hashed storage? ... yes -All projects are in hashed storage? ... yes - -Checking Geo ... Finished -``` - -通过在任何**辅助**应用程序节点上运行以下 Rake 任务,可以手动找到当前同步信息: - -``` -sudo gitlab-rake geo:status -``` - -输出示例: - -``` -http://secondary.example.com/ ------------------------------------------------------ - GitLab Version: 11.10.4-ee - Geo Role: Secondary - Health Status: Healthy - Repositories: 289/289 (100%) - Verified Repositories: 289/289 (100%) - Wikis: 289/289 (100%) - Verified Wikis: 289/289 (100%) - LFS Objects: 8/8 (100%) - Attachments: 5/5 (100%) - CI job artifacts: 0/0 (0%) - Repositories Checked: 0/289 (0%) - Sync Settings: Full - Database replication lag: 0 seconds - Last event ID seen from primary: 10215 (about 2 minutes ago) - Last event ID processed by cursor: 10215 (about 2 minutes ago) - Last status report was: 2 minutes ago -``` - -### Check if PostgreSQL replication is working[](#check-if-postgresql-replication-is-working "Permalink") - -要检查 PostgreSQL 复制是否正常,请检查: - -* [Nodes are pointing to the correct database instance](#are-nodes-pointing-to-the-correct-database-instance). -* [Geo can detect the current node correctly](#can-geo-detect-the-current-node-correctly). - -#### Are nodes pointing to the correct database instance?[](#are-nodes-pointing-to-the-correct-database-instance "Permalink") - -您应确保**主**地理节点指向具有写入权限的实例. - -任何**辅助**节点都应仅指向只读实例. - -#### Can Geo detect the current node correctly?[](#can-geo-detect-the-current-node-correctly "Permalink") - -Geo 通过以下方式在`/etc/gitlab/gitlab.rb`找到当前计算机的 Geo 节点名称: - -* 使用`gitlab_rails['geo_node_name']`设置. -* 如果未定义,请使用`external_url`设置. - -该名称用于在其中查找具有相同**名称**的节点 **管理区>** **地理位置** . - -要检查当前计算机的节点名称是否与数据库中的节点匹配,请运行检查任务: - -``` -sudo gitlab-rake gitlab:geo:check -``` - -它显示当前计算机的节点名称以及匹配的数据库记录是**主**节点还是**辅助**节点. - -``` -This machine's Geo node name matches a database record ... yes, found a secondary node named "Shanghai" -``` - -``` -This machine's Geo node name matches a database record ... no - Try fixing it: - You could add or update a Geo node database record, setting the name to "https://example.com/". - Or you could set this machine's Geo node name to match the name of an existing database record: "London", "Shanghai" - For more information see: - doc/administration/geo/replication/troubleshooting.md#can-geo-detect-the-current-node-correctly -``` - -## Fixing errors found when running the Geo check Rake task[](#fixing-errors-found-when-running-the-geo-check-rake-task "Permalink") - -运行此 Rake 任务时,如果未正确配置节点,则可能会看到错误: - -``` -sudo gitlab-rake gitlab:geo:check -``` - -1. 连接到数据库时,Rails 没有提供密码 - - ``` - Checking Geo ... - - GitLab Geo is available ... Exception: fe_sendauth: no password supplied - GitLab Geo is enabled ... Exception: fe_sendauth: no password supplied - ... - Checking Geo ... Finished - ``` - - * 确保将`gitlab_rails['db_password']`设置为为`postgresql['sql_user_password']`创建哈希时使用的纯文本密码. -2. Rails 无法连接到数据库 - - ``` - Checking Geo ... - - GitLab Geo is available ... Exception: FATAL: no pg_hba.conf entry for host "1.1.1.1", user "gitlab", database "gitlabhq_production", SSL on - FATAL: no pg_hba.conf entry for host "1.1.1.1", user "gitlab", database "gitlabhq_production", SSL off - GitLab Geo is enabled ... Exception: FATAL: no pg_hba.conf entry for host "1.1.1.1", user "gitlab", database "gitlabhq_production", SSL on - FATAL: no pg_hba.conf entry for host "1.1.1.1", user "gitlab", database "gitlabhq_production", SSL off - ... - Checking Geo ... Finished - ``` - - * 确保您具有`postgresql['md5_auth_cidr_addresses']`包含的 rails 节点的 IP 地址. - * 确保在 IP 地址上包括子网掩码: `postgresql['md5_auth_cidr_addresses'] = ['1.1.1.1/32']` . -3. Rails 提供了错误的密码 - - ``` - Checking Geo ... - GitLab Geo is available ... Exception: FATAL: password authentication failed for user "gitlab" - FATAL: password authentication failed for user "gitlab" - GitLab Geo is enabled ... Exception: FATAL: password authentication failed for user "gitlab" - FATAL: password authentication failed for user "gitlab" - ... - Checking Geo ... Finished - ``` - - * 验证正确的密码设置为`gitlab_rails['db_password']`创建中的散列时所使用`postgresql['sql_user_password']`通过运行`gitlab-ctl pg-password-md5 gitlab`并输入密码. -4. 检查返回的不是辅助节点 - - ``` - Checking Geo ... - - GitLab Geo is available ... yes - GitLab Geo is enabled ... yes - GitLab Geo secondary database is correctly configured ... not a secondary node - Database replication enabled? ... not a secondary node - ... - Checking Geo ... Finished - ``` - - * 确保您已在**主**节点的管理区添加辅助节点. - * 在管理节点中添加辅助节点属于**主**节点时,请确保输入了`external_url`或`gitlab_rails['geo_node_name']` . - * 之前 GitLab 12.4,编辑中的**主**节点的管理区的二次节点,并确保有一个尾随`/`在`Name`字段中. -5. 检查返回`Exception: PG::UndefinedTable: ERROR: relation "geo_nodes" does not exist` - - ``` - Checking Geo ... - - GitLab Geo is available ... no - Try fixing it: - Upload a new license that includes the GitLab Geo feature - For more information see: - https://about.gitlab.com/features/gitlab-geo/ - GitLab Geo is enabled ... Exception: PG::UndefinedTable: ERROR: relation "geo_nodes" does not exist - LINE 8: WHERE a.attrelid = '"geo_nodes"'::regclass - ^ - : SELECT a.attname, format_type(a.atttypid, a.atttypmod), - pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod, - c.collname, col_description(a.attrelid, a.attnum) AS comment - FROM pg_attribute a - LEFT JOIN pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum - LEFT JOIN pg_type t ON a.atttypid = t.oid - LEFT JOIN pg_collation c ON a.attcollation = c.oid AND a.attcollation <> t.typcollation - WHERE a.attrelid = '"geo_nodes"'::regclass - AND a.attnum > 0 AND NOT a.attisdropped - ORDER BY a.attnum - ... - Checking Geo ... Finished - ``` - - 在执行 PostgreSQL 主版本(9> 10)时,这是预期的. 跟随: - - * [initiate-the-replication-process](database.html#step-3-initiate-the-replication-process) - * [Geo database has an outdated FDW remote schema](troubleshooting.html#geo-database-has-an-outdated-fdw-remote-schema-error) - -## Fixing replication errors[](#fixing-replication-errors "Permalink") - -以下各节概述了解决复制错误的疑难解答步骤. - -### Message: `ERROR: replication slots can only be used if max_replication_slots > 0`?[](#message-error--replication-slots-can-only-be-used-if-max_replication_slots--0 "Permalink") - -这意味着需要在**主**数据库上设置`max_replication_slots` PostgreSQL 变量. 在 GitLab 9.4 中,我们将此设置默认设置为 1.如果您有更多**辅助**节点,则可能需要增加该值. - -确保重新启动 PostgreSQL 才能生效. 有关更多详细信息,请参见《 [PostgreSQL 复制设置](database.html#postgresql-replication)指南》. - -### Message: `FATAL: could not start WAL streaming: ERROR: replication slot "geo_secondary_my_domain_com" does not exist`?[](#message-fatal--could-not-start-wal-streaming-error--replication-slot-geo_secondary_my_domain_com-does-not-exist "Permalink") - -当 PostgreSQL 没有该名称的**辅助**节点的复制插槽时,会发生这种情况. - -您可能需要在**辅助**节点上重新运行[复制过程](database.html) . - -### Message: “Command exceeded allowed execution time” when setting up replication?[](#message-command-exceeded-allowed-execution-time-when-setting-up-replication "Permalink") - -在**辅助**节点上[启动复制过程](database.html#step-3-initiate-the-replication-process)时可能会发生这种情况,并表明您的初始数据集太大,无法在默认超时(30 分钟)内进行复制. - -重新运行`gitlab-ctl replicate-geo-database` ,但是为`--backup-timeout`包含一个更大的值: - -``` -sudo gitlab-ctl \ - replicate-geo-database \ - --host= \ - --slot-name= \ - --backup-timeout=21600 -``` - -这将使初始复制最多需要六个小时才能完成,而不是默认的三十分钟. 根据安装要求进行调整. - -### Message: “PANIC: could not write to file `pg_xlog/xlogtemp.123`: No space left on device”[](#message-panic-could-not-write-to-file-pg_xlogxlogtemp123-no-space-left-on-device "Permalink") - -确定**主**数据库中是否有未使用的复制插槽. 这可能导致在`pg_xlog`建立大量的日志数据. 删除未使用的插槽可以减少`pg_xlog`使用的空间. - -1. 启动 PostgreSQL 控制台会话: - - ``` - sudo gitlab-psql - ``` - - 注意: **注意:**使用`gitlab-rails dbconsole`无效,因为管理复制插槽需要超级用户权限. - -2. 使用以下方法查看您的复制插槽: - - ``` - SELECT * FROM pg_replication_slots; - ``` - -`active`为`f`插槽不活动. - -* 当该插槽应处于活动状态时,因为您已使用该插槽配置了**辅助**节点,请登录到该**辅助**节点,并检查 PostgreSQL 日志为什么复制未运行. - -* 如果您不再使用该插槽(例如,您不再启用地理位置),则可以在 PostgreSQL 控制台会话中将其删除: - - ``` - SELECT pg_drop_replication_slot(''); - ``` - -### Message: “ERROR: canceling statement due to conflict with recovery”[](#message-error-canceling-statement-due-to-conflict-with-recovery "Permalink") - -在正常使用情况下,此错误很少会发生,并且系统具有足够的恢复能力. - -但是,在某些情况下,辅助数据库上的某些数据库查询可能运行时间过长,从而增加了此错误的发生频率. 在某些时候,其中某些查询由于每次都会被取消而永远无法完成. - -这些长期运行的查询[计划在将来删除](https://gitlab.com/gitlab-org/gitlab/-/issues/34269) ,但作为解决方法,我们建议启用[hot_standby_feedback](https://s0www0postgresql0org.icopy.site/docs/10/hot-standby.html) . 这增加了**主**节点上发生膨胀的可能性,因为它阻止了`VACUUM`删除最近失效的行. 但是,它已在 GitLab.com 上成功用于生产中. - -要启用`hot_standby_feedback` ,请将以下内容添加到**辅助**节点上的`/etc/gitlab/gitlab.rb` : - -``` -postgresql['hot_standby_feedback'] = 'on' -``` - -然后重新配置 GitLab: - -``` -sudo gitlab-ctl reconfigure -``` - -为了帮助我们解决这个问题,可以考虑在评论[这个问题](https://gitlab.com/gitlab-org/gitlab/-/issues/4489) . - -### Message: `LOG: invalid CIDR mask in address`[](#message-log--invalid-cidr-mask-in-address "Permalink") - -这发生在`postgresql['md5_auth_cidr_addresses']`格式错误的地址上. - -``` -2020-03-20_23:59:57.60499 LOG: invalid CIDR mask in address "***" -2020-03-20_23:59:57.60501 CONTEXT: line 74 of configuration file "/var/opt/gitlab/postgresql/data/pg_hba.conf" -``` - -要解决此问题,请更新`postgresql['md5_auth_cidr_addresses']`下`/etc/gitlab/gitlab.rb`的 IP 地址,以遵守 CIDR 格式(即`1.2.3.4/32` ). - -### Message: `LOG: invalid IP mask "md5": Name or service not known`[](#message-log--invalid-ip-mask-md5-name-or-service-not-known "Permalink") - -当您在`postgresql['md5_auth_cidr_addresses']`添加了没有子网掩码的 IP 地址时,就会发生这种情况. - -``` -2020-03-21_00:23:01.97353 LOG: invalid IP mask "md5": Name or service not known -2020-03-21_00:23:01.97354 CONTEXT: line 75 of configuration file "/var/opt/gitlab/postgresql/data/pg_hba.conf" -``` - -要解决此问题, `/etc/gitlab/gitlab.rb`在`postgresql['md5_auth_cidr_addresses']`下`postgresql['md5_auth_cidr_addresses']`添加子网掩码,以遵守 CIDR 格式(即`1.2.3.4/32` ). - -### Very large repositories never successfully synchronize on the **secondary** node[](#very-large-repositories-never-successfully-synchronize-on-the-secondary-node "Permalink") - -GitLab 对所有存储库克隆都设置了超时,包括项目导入和地理同步操作. 如果**主数据库**上的存储库的新`git clone`花费几分钟以上,则您可能会受到此影响. - -要增加超时,请将以下行添加到**辅助**节点上的`/etc/gitlab/gitlab.rb` : - -``` -gitlab_rails['gitlab_shell_git_timeout'] = 10800 -``` - -然后重新配置 GitLab: - -``` -sudo gitlab-ctl reconfigure -``` - -这会将超时增加到三个小时(10800 秒). 选择足够长的时间来容纳您最大的存储库的完整克隆. - -### New LFS objects are never replicated[](#new-lfs-objects-are-never-replicated "Permalink") - -如果新的 LFS 对象永远不会复制到辅助 Geo 节点,请检查您正在运行的 GitLab 版本. GitLab 版本 11.11.x 或 12.0.x 受[错误](https://gitlab.com/gitlab-org/gitlab/-/issues/32696)影响, [该错误导致新的 LFS 对象无法复制到 Geo 辅助节点](https://gitlab.com/gitlab-org/gitlab/-/issues/32696) . - -要解决此问题,请升级到 GitLab 12.1 或更高版本. - -### Resetting Geo **secondary** node replication[](#resetting-geo-secondary-node-replication "Permalink") - -如果您使**辅助**节点处于损坏状态,并且想要重置复制状态(从头开始),那么可以采取以下步骤来帮助您: - -1. 停止 Sidekiq 和 Geo LogCursor - - 可以使 Sidekiq 正常停止,但可以使其停止获取新作业,并等到当前作业完成处理为止. - - 您需要在第一阶段发送**SIGTSTP 终止**信号,并在所有作业完成后向它们发送**SIGTERM** . 否则,只需使用`gitlab-ctl stop`命令. - - ``` - gitlab-ctl status sidekiq - # run: sidekiq: (pid 10180) <- this is the PID you will use - kill -TSTP 10180 # change to the correct PID - - gitlab-ctl stop sidekiq - gitlab-ctl stop geo-logcursor - ``` - - 您可以查看 Sidekiq 日志以了解 Sidekiq 作业处理何时完成: - - ``` - gitlab-ctl tail sidekiq - ``` - -2. 重命名存储库存储文件夹并创建新的. 如果您不担心可能的孤立目录和文件,则只需跳过此步骤. - - ``` - mv /var/opt/gitlab/git-data/repositories /var/opt/gitlab/git-data/repositories.old - mkdir -p /var/opt/gitlab/git-data/repositories - chown git:git /var/opt/gitlab/git-data/repositories - ``` - - **提示**您可能希望将来在确认不再需要`/var/opt/gitlab/git-data/repositories.old`时将其删除,以节省磁盘空间. -3. *(可选)*重命名其他数据文件夹并创建新的 - - **警告** : **辅助**节点上可能仍有文件已从**主**节点中删除,但未反映出删除情况. 如果您跳过此步骤,它们将永远不会从此 Geo 节点中删除. - - 任何上载的内容(如文件附件,化身或 LFS 对象)都存储在以下两个路径之一的子文件夹中: - - * `/var/opt/gitlab/gitlab-rails/shared` - * `/var/opt/gitlab/gitlab-rails/uploads` - - 要重命名它们: - - ``` - gitlab-ctl stop - - mv /var/opt/gitlab/gitlab-rails/shared /var/opt/gitlab/gitlab-rails/shared.old - mkdir -p /var/opt/gitlab/gitlab-rails/shared - - mv /var/opt/gitlab/gitlab-rails/uploads /var/opt/gitlab/gitlab-rails/uploads.old - mkdir -p /var/opt/gitlab/gitlab-rails/uploads - - gitlab-ctl start geo-postgresql - ``` - - 重新配置以便重新创建文件夹并确保权限和所有权正确 - - ``` - gitlab-ctl reconfigure - ``` - -4. 重置跟踪数据库 - - ``` - gitlab-rake geo:db:drop # on a secondary app node - gitlab-ctl reconfigure # on the tracking database node - gitlab-rake geo:db:setup # on a secondary app node - ``` - -5. 重新启动先前停止的服务 - - ``` - gitlab-ctl start - ``` - -6. 刷新外部数据包装器表 - - ``` - gitlab-rake geo:db:refresh_foreign_tables - ``` - -## Fixing errors during a failover or when promoting a secondary to a primary node[](#fixing-errors-during-a-failover-or-when-promoting-a-secondary-to-a-primary-node "Permalink") - -以下是故障转移期间或通过解决策略将辅助节点提升为主节点时可能遇到的错误. - -### Message: ActiveRecord::RecordInvalid: Validation failed: Name has already been taken[](#message-activerecordrecordinvalid-validation-failed-name-has-already-been-taken "Permalink") - -[升级**辅助**节点时](../disaster_recovery/index.html#step-3-promoting-a-secondary-node) ,您可能会遇到以下错误: - -``` -Running gitlab-rake geo:set_secondary_as_primary... - -rake aborted! -ActiveRecord::RecordInvalid: Validation failed: Name has already been taken -/opt/gitlab/embedded/service/gitlab-rails/ee/lib/tasks/geo.rake:236:in `block (3 levels) in ' -/opt/gitlab/embedded/service/gitlab-rails/ee/lib/tasks/geo.rake:221:in `block (2 levels) in ' -/opt/gitlab/embedded/bin/bundle:23:in `load' -/opt/gitlab/embedded/bin/bundle:23:in `
' -Tasks: TOP => geo:set_secondary_as_primary -(See full trace by running task with --trace) - -You successfully promoted this node! -``` - -如果您在运行`gitlab-rake geo:set_secondary_as_primary`或`gitlab-ctl promote-to-primary-node`时遇到此消息,请执行`gitlab-rake geo:set_secondary_as_primary`任一操作: - -* 输入 Rails 控制台并运行: - - ``` - Rails.application.load_tasks; nil - Gitlab::Geo.expire_cache! - Rake::Task['geo:set_secondary_as_primary'].invoke - ``` - -* 如果安全的话,升级到 GitLab 12.6.3 或更高版本. 例如,如果故障转移只是一个测试. [缓存相关的错误](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/22021)是固定的. - -### Message: `NoMethodError: undefined method `secondary?' for nil:NilClass`[](#message-nomethoderror-undefined-method-secondary-for-nilnilclass "Permalink") - -[升级**辅助**节点时](../disaster_recovery/index.html#step-3-promoting-a-secondary-node) ,您可能会遇到以下错误: - -``` -sudo gitlab-rake geo:set_secondary_as_primary - -rake aborted! -NoMethodError: undefined method `secondary?' for nil:NilClass -/opt/gitlab/embedded/service/gitlab-rails/ee/lib/tasks/geo.rake:232:in `block (3 levels) in ' -/opt/gitlab/embedded/service/gitlab-rails/ee/lib/tasks/geo.rake:221:in `block (2 levels) in ' -/opt/gitlab/embedded/bin/bundle:23:in `load' -/opt/gitlab/embedded/bin/bundle:23:in `
' -Tasks: TOP => geo:set_secondary_as_primary -(See full trace by running task with --trace) -``` - -该命令仅应在辅助节点上执行,如果尝试在主节点上运行此命令,则会显示此错误. - -### Message: `sudo: gitlab-pg-ctl: command not found`[](#message-sudo-gitlab-pg-ctl-command-not-found "Permalink") - -When [promoting a **secondary** node with multiple servers](../disaster_recovery/index.html#promoting-a-secondary-node-with-multiple-servers), you need to run the `gitlab-pg-ctl` command to promote the PostgreSQL read-replica database. - -在 GitLab 12.8 和更早版本中,此命令将失败,并显示以下消息: - -``` -sudo: gitlab-pg-ctl: command not found -``` - -在这种情况下,解决方法是使用二进制文件的完整路径,例如: - -``` -sudo /opt/gitlab/embedded/bin/gitlab-pg-ctl promote -``` - -GitLab 12.9 及更高版本[不受此错误影响](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/5147) . - -## Fixing Foreign Data Wrapper errors[](#fixing-foreign-data-wrapper-errors "Permalink") - -本节介绍解决潜在的外部数据包装器错误的方法. - -### “Foreign Data Wrapper (FDW) is not configured” error[](#foreign-data-wrapper-fdw-is-not-configured-error "Permalink") - -When setting up Geo, you might see this warning in the `gitlab-rake gitlab:geo:check` output: - -``` -GitLab Geo tracking database Foreign Data Wrapper schema is up-to-date? ... foreign data wrapper is not configured -``` - -有几点要记住: - -1. FDW 设置在地理**跟踪**数据库上配置. -2. 配置的外部服务器允许登录到 Geo **二级**只读数据库. - -默认情况下,Geo 辅助数据库和跟踪数据库在不同端口上的同一主机上运行. 即分别是 5432 和 5431. - -#### Checking configuration[](#checking-configuration "Permalink") - -**注意:**以下步骤仅适用于 Omnibus 安装. 在 GitLab 11.5 中**已不建议**在基于源的安装中使用 Geo. - -要检查配置: - -1. SSH 进入**辅助**节点中的应用程序节点: - - ``` - sudo -i - ``` - - 注意:应用程序节点是指至少运行以下服务之一的任何计算机: - - * `puma` - * `unicorn` - * `sidekiq` - * `geo-logcursor` -2. 输入数据库控制台: - - 如果跟踪数据库在同一节点上运行: - - ``` - gitlab-geo-psql - ``` - - 或者,如果跟踪数据库在其他节点上运行,则在进入数据库控制台时必须指定用户和主机: - - ``` - gitlab-geo-psql -U gitlab_geo -h - ``` - - 系统将提示您输入`gitlab_geo`用户的密码. 您可以在`/etc/gitlab/gitlab.rb`以纯文本`/etc/gitlab/gitlab.rb`找到它: - - ``` - geo_secondary['db_password'] = '' - ``` - - 通常在[步骤 3:在辅助节点上配置跟踪数据库时在跟踪数据库上](multiple_servers.html#step-3-configure-the-tracking-database-on-the-secondary-node)设置此密码,而在[步骤 4:在辅助节点上配置前端应用程序服务器](multiple_servers.html#step-4-configure-the-frontend-application-servers-on-the-secondary-node)期间在应用程序节点上设置该密码. - -3. 使用以下语句检查是否存在任何表: - - ``` - SELECT * from information_schema.foreign_tables; - ``` - - 如果一切正常,您应该看到类似以下内容: - - ``` - gitlabhq_geo_production=# SELECT * from information_schema.foreign_tables; - foreign_table_catalog | foreign_table_schema | foreign_table_name | foreign_server_catalog | foreign_server_name - -------------------------+----------------------+-------------------------------------------------+-------------------------+--------------------- - gitlabhq_geo_production | gitlab_secondary | abuse_reports | gitlabhq_geo_production | gitlab_secondary - gitlabhq_geo_production | gitlab_secondary | appearances | gitlabhq_geo_production | gitlab_secondary - gitlabhq_geo_production | gitlab_secondary | application_setting_terms | gitlabhq_geo_production | gitlab_secondary - gitlabhq_geo_production | gitlab_secondary | application_settings | gitlabhq_geo_production | gitlab_secondary - - ``` - - 但是,如果查询返回`0 rows` ,则继续进行下一步. - -4. 通过`\des+`检查外部服务器映射是否正确. 结果应如下所示: - - ``` - gitlabhq_geo_production=# \des+ - List of foreign servers - -[ RECORD 1 ]--------+------------------------------------------------------------ - Name | gitlab_secondary - Owner | gitlab-psql - Foreign-data wrapper | postgres_fdw - Access privileges | "gitlab-psql"=U/"gitlab-psql" + - | gitlab_geo=U/"gitlab-psql" - Type | - Version | - FDW Options | (host '0.0.0.0', port '5432', dbname 'gitlabhq_production') - Description | - ``` - - **注意:请**特别注意 FDW 选项下的主机和端口. 该配置应指向地理辅助数据库. - - 如果需要尝试更改主机或密码,则以下查询演示了如何: - - ``` - ALTER SERVER gitlab_secondary OPTIONS (SET host ''); - ALTER SERVER gitlab_secondary OPTIONS (SET port 5432); - ``` - - 如果更改主机和/或端口,则还必须在`/etc/gitlab/gitlab.rb`调整以下设置并运行`gitlab-ctl reconfigure` : - - * `gitlab_rails['db_host']` - * `gitlab_rails['db_port']` -5. 检查通过`\deu+`是否正确配置了用户映射: - - ``` - gitlabhq_geo_production=# \deu+ - List of user mappings - Server | User name | FDW Options - ------------------+------------+-------------------------------------------------------------------------------- - gitlab_secondary | gitlab_geo | ("user" 'gitlab', password 'YOUR-PASSWORD-HERE') - (1 row) - ``` - - 确保密码正确. 您可以通过运行`psql`来测试登录是否有效: - - ``` - # Connect to the tracking database as the `gitlab_geo` user - sudo \ - -u git /opt/gitlab/embedded/bin/psql \ - -h /var/opt/gitlab/geo-postgresql \ - -p 5431 \ - -U gitlab_geo \ - -W \ - -d gitlabhq_geo_production - ``` - - 如果需要更正密码,以下查询将显示如何: - - ``` - ALTER USER MAPPING FOR gitlab_geo SERVER gitlab_secondary OPTIONS (SET password ''); - ``` - - 如果更改用户或密码,则还必须在`/etc/gitlab/gitlab.rb`调整以下设置并运行`gitlab-ctl reconfigure` : - - * `gitlab_rails['db_username']` - * `gitlab_rails['db_password']` - - 如果要[在辅助数据库前面](database.html#pgbouncer-support-optional)使用[PgBouncer](database.html#pgbouncer-support-optional) ,请确保更新以下设置: - - * `geo_postgresql['fdw_external_user']` - * `geo_postgresql['fdw_external_password']` - -#### Manual reload of FDW schema[](#manual-reload-of-fdw-schema "Permalink") - -如果仍然无法使 FDW 正常工作,则可能需要尝试手动重新加载 FDW 模式. 手动重新加载 FDW 模式: - -1. 在运行 Geo 跟踪数据库的节点上,通过`gitlab_geo`用户进入 PostgreSQL 控制台: - - ``` - sudo \ - -u git /opt/gitlab/embedded/bin/psql \ - -h /var/opt/gitlab/geo-postgresql \ - -p 5431 \ - -U gitlab_geo \ - -W \ - -d gitlabhq_geo_production - ``` - - 确保为您的配置调整端口和主机名. 可能会要求您输入密码. - -2. 通过以下方式重新加载架构: - - ``` - DROP SCHEMA IF EXISTS gitlab_secondary CASCADE; - CREATE SCHEMA gitlab_secondary; - GRANT USAGE ON FOREIGN SERVER gitlab_secondary TO gitlab_geo; - IMPORT FOREIGN SCHEMA public FROM SERVER gitlab_secondary INTO gitlab_secondary; - ``` - -3. 测试查询是否有效: - - ``` - SELECT * from information_schema.foreign_tables; - SELECT * FROM gitlab_secondary.projects limit 1; - ``` - -### “Geo database has an outdated FDW remote schema” error[](#geo-database-has-an-outdated-fdw-remote-schema-error "Permalink") - -GitLab 可能会因`Geo database has an outdated FDW remote schema`错误`Geo database has an outdated FDW remote schema`消息而出错. - -例如: - -``` -Geo database has an outdated FDW remote schema. It contains 229 of 236 expected tables. Please refer to Geo Troubleshooting. -``` - -要解决此问题,请在**辅助服务器**上运行以下命令: - -``` -sudo gitlab-rake geo:db:refresh_foreign_tables -``` - -## Expired artifacts[](#expired-artifacts "Permalink") - -如果您出于某种原因注意到,地理辅助节点上的工件比地理主节点上的工件更多,则可以使用 Rake 任务来[清理孤立的工件文件](../../../raketasks/cleanup.html#remove-orphan-artifact-files) . - -在 Geo **辅助**节点上,此命令还将清除与磁盘上的孤立文件有关的所有 Geo 注册表记录. - -## Fixing sign in errors[](#fixing-sign-in-errors "Permalink") - -### Message: The redirect URI included is not valid[](#message-the-redirect-uri-included-is-not-valid "Permalink") - -如果您能够登录到**主**节点,但是在尝试登录到**辅助**节点时收到此错误,则应检查 Geo 节点的 URL 是否与其外部 URL 匹配. - -1. 首先,访问 **管理区>** **地理位置** . -2. 找到受影响的**辅助节点** ,然后单击" **编辑"** . -3. 确保**URL**字段与在**辅助**节点的前端服务器上`external_url "https://gitlab.example.com"`中的`/etc/gitlab/gitlab.rb`中找到的值匹配. - -## Fixing common errors[](#fixing-common-errors "Permalink") - -本部分介绍了管理界面中报告的常见错误以及如何修复它们. - -### Geo database configuration file is missing[](#geo-database-configuration-file-is-missing "Permalink") - -GitLab 找不到或没有访问`database_geo.yml`配置文件的权限. - -在 Omnibus GitLab 安装中,该文件应位于`/var/opt/gitlab/gitlab-rails/etc` . 如果它不存在或对其进行了无意的更改,请运行`sudo gitlab-ctl reconfigure`将其恢复到正确的状态. - -如果此路径安装在远程卷上,请检查您的卷配置,并具有正确的权限. - -### An existing tracking database cannot be reused[](#an-existing-tracking-database-cannot-be-reused "Permalink") - -Geo cannot reuse an existing tracking database. - -最安全的方式是使用全新的[辅助节点](#resetting-geo-secondary-node-replication) ,或通过遵循[重置地理辅助节点复制来重置](#resetting-geo-secondary-node-replication)整个[辅助节点](#resetting-geo-secondary-node-replication) . - -### Geo node has a database that is writable which is an indication it is not configured for replication with the primary node[](#geo-node-has-a-database-that-is-writable-which-is-an-indication-it-is-not-configured-for-replication-with-the-primary-node "Permalink") - -此错误是指 Geo 希望**辅助**节点上的数据库副本存在问题. 它通常意味着: - -* 使用了不受支持的复制方法(例如,逻辑复制). -* 设置[地理数据库复制](database.html)的说明未正确遵循. -* 您的数据库连接详细信息不正确,即您在`/etc/gitlab/gitlab.rb`文件中指定了错误的用户. - -与**辅助**节点混淆的一个常见原因是它需要两个单独的 PostgreSQL 实例: - -* **主**节点的只读副本. -* 包含复制元数据的常规可写实例. 即,地理位置跟踪数据库. - -### Geo node does not appear to be replicating the database from the primary node[](#geo-node-does-not-appear-to-be-replicating-the-database-from-the-primary-node "Permalink") - -导致数据库无法正确复制的最常见问题是: - -* **Secondary** nodes cannot reach the **primary** node. Check credentials, firewall rules, etc. -* SSL 证书问题. 确保从**主**节点复制了`/etc/gitlab/gitlab-secrets.json` . -* 数据库存储磁盘已满. -* 数据库复制插槽配置错误. -* 数据库未使用复制插槽或其他替代方法,由于已清除 WAL 文件,因此无法追赶. - -确保按照[地理数据库复制](database.html)说明进行支持的配置. - -### Geo database version (…) does not match latest migration (…)[](#geo-database-version--does-not-match-latest-migration- "Permalink") - -如果您使用的是 Omnibus GitLab 安装,则升级期间可能会失败. 您可以: - -* Run `sudo gitlab-ctl reconfigure`. -* 通过运行以下`sudo gitlab-rake geo:db:migrate`手动触发数据库迁移: `sudo gitlab-rake geo:db:migrate`作为**辅助**节点上的 root 用户. - -### Geo database is not configured to use Foreign Data Wrapper[](#geo-database-is-not-configured-to-use-foreign-data-wrapper "Permalink") - -此错误表示地理位置跟踪数据库未配置 FDW 服务器和凭据. - -See [“Foreign Data Wrapper (FDW) is not configured” error?](#foreign-data-wrapper-fdw-is-not-configured-error). - -### GitLab indicates that more than 100% of repositories were synced[](#gitlab-indicates-that-more-than-100-of-repositories-were-synced "Permalink") - -这可能是由项目注册表中的孤立记录引起的. 您可以[使用 Rake 任务](../../../administration/raketasks/geo.html#remove-orphaned-project-registries)清除它们. - -### Geo Admin Area returns 404 error for a secondary node[](#geo-admin-area-returns-404-error-for-a-secondary-node "Permalink") - -有时`sudo gitlab-rake gitlab:geo:check`指示**辅助**节点运行`sudo gitlab-rake gitlab:geo:check` ,但是在**主**节点的地理管理区域中返回了**辅助**节点 404 错误. - -解决此问题的方法: - -* 尝试使用`sudo gitlab-ctl restart` **辅助** `sudo gitlab-ctl restart` . -* 检查`/var/log/gitlab/gitlab-rails/geo.log`以查看**辅助**节点是否正在使用 IPv6 将其状态发送到**主要**节点. 如果是这样,请使用`/etc/hosts`文件中的 IPv4 将条目添加到**主**节点. 或者,您应该[在**主**节点上启用 IPv6](https://docs.gitlab.com/omnibus/settings/nginx.html) . \ No newline at end of file diff --git a/docs/504.md b/docs/504.md deleted file mode 100644 index 996418b..0000000 --- a/docs/504.md +++ /dev/null @@ -1,122 +0,0 @@ -# Geo validation tests - -> 原文:[https://docs.gitlab.com/ee/administration/geo/replication/geo_validation_tests.html](https://docs.gitlab.com/ee/administration/geo/replication/geo_validation_tests.html) - -* [GitLab upgrades](#gitlab-upgrades) - * [June 2020](#june-2020) - * [February 2020](#february-2020) - * [January 2020](#january-2020) - * [October 2019](#october-2019) -* [PostgreSQL upgrades](#postgresql-upgrades) - * [April 2020](#april-2020) - * [September 2019](#september-2019) - -# Geo validation tests[](#geo-validation-tests "Permalink") - -Geo 团队对常见的部署配置执行手动测试和验证,以确保在次要的 GitLab 版本和主要的 PostgreSQL 数据库版本之间升级时,Geo 可以正常工作. - -本部分包含近期验证测试的日记以及相关问题的链接. - -## GitLab upgrades[](#gitlab-upgrades "Permalink") - -以下是我们执行的 GitLab 升级验证测试. - -### June 2020[](#june-2020 "Permalink") - -[Upgrade Geo multi-server installation](https://gitlab.com/gitlab-org/gitlab/-/issues/223284): - -* 说明:在多服务器配置中测试了从 GitLab 12.9.10 升级到 12.10.12 软件包的过程. 使用循环管道和 HAProxy 统计信息显示板监视停机时间. -* 结果:部分成功,因为我们在主站点和辅助站点的升级过程中观察到停机时间. -* 跟进问题/行动: - * [修复多节点 Geo 部署的零停机升级过程/说明](https://gitlab.com/gitlab-org/gitlab/-/issues/225684) - * [Geo:check Rake 任务:排除 AuthorizedKeysCommand 检查节点是否未运行 Puma / Unicorn](https://gitlab.com/gitlab-org/gitlab/-/issues/225454) - * [在下一个升级问题中更新说明,以包括监视 HAProxy 仪表板](https://gitlab.com/gitlab-org/gitlab/-/issues/225359) - -[Upgrade Geo multi-server installation](https://gitlab.com/gitlab-org/gitlab/-/issues/208104): - -* 描述:在多服务器配置中测试了从 GitLab 12.8.1 到 12.9.10 软件包的升级. -* 结果:部分成功,因为我们在演示过程中没有运行循环管道来验证零停机时间. -* 后续问题: - * [阐明 hup Puma / Unicorn 应该包含部署节点](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/5460) - * [升级到 12.9.10 后调查 MR 创建失败](https://gitlab.com/gitlab-org/gitlab/-/issues/223282) . - -### February 2020[](#february-2020 "Permalink") - -[Upgrade Geo multi-node installation](https://gitlab.com/gitlab-org/gitlab/-/issues/201837): - -* 说明:在多节点配置中测试了从 GitLab 12.7.5 升级到最新的 GitLab 12.8 软件包的过程. -* 结果:部分成功,因为我们在演示过程中没有运行循环管道来监视停机时间. - -### January 2020[](#january-2020 "Permalink") - -[Upgrade Geo multi-node installation](https://gitlab.com/gitlab-org/gitlab/-/issues/200085): - -* 说明:在多节点配置中测试了从 GitLab 12.6.x 升级到最新的 GitLab 12.7 软件包的过程. -* 结果:升级测试成功. -* 后续问题: - * [调查 Geo 端到端测试失败](https://gitlab.com/gitlab-org/gitlab/-/issues/201823) . - * [将更多日志记录添加到 Geo 端到端测试中](https://gitlab.com/gitlab-org/gitlab/-/issues/201830) . - * [零停机升级期间,多余的服务会重新启动](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/5047) . - -[Upgrade Geo multi-node installation](https://gitlab.com/gitlab-org/gitlab/-/issues/199836): - -* 描述:在多节点配置中测试了从 GitLab 12.5.7 到 GitLab 12.6.6 的升级. -* Outcome: Upgrade test was successful. -* 后续问题: [更新文档以实现零停机时间升级,以确保未使用部署节点](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/5046) . - -[Upgrade Geo multi-node installation](https://gitlab.com/gitlab-org/gitlab/-/issues/37044): - -* 说明:在多节点配置中测试了从 GitLab 12.4.x 升级到最新的 GitLab 12.5 软件包的过程. -* 结果:升级测试成功. -* 后续问题: - * [研究为什么 HTTP 推送规范在主节点上失败](https://gitlab.com/gitlab-org/gitlab/-/issues/199825) . - * [研究是否应修改文档以包括刷新外部表任务](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/5041) . - -### October 2019[](#october-2019 "Permalink") - -[Upgrade Geo multi-node installation](https://gitlab.com/gitlab-org/gitlab/-/issues/35262): - -* 说明:在多节点配置中测试了从 GitLab 12.3.5 升级到 GitLab 12.4.1 的过程. -* 结果:升级测试成功. - -[Upgrade Geo multi-node installation](https://gitlab.com/gitlab-org/gitlab/-/issues/32437): - -* 说明:已测试从 GitLab 12.2.8 升级到 GitLab 12.3.5. -* 结果:升级测试成功. - -[Upgrade Geo multi-node installation](https://gitlab.com/gitlab-org/gitlab/-/issues/32435): - -* 说明:已测试从 GitLab 12.1.9 升级到 GitLab 12.2.8 的过程. -* 结果:由于可能的配置错误问题而部分成功. - -## PostgreSQL upgrades[](#postgresql-upgrades "Permalink") - -以下是我们执行的 PostgreSQL 升级验证测试. - -### April 2020[](#april-2020 "Permalink") - -[PostgreSQL 11 upgrade procedure for Geo installations](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/4975): - -* 描述:在将 PostgreSQL 11 设为 GitLab 12.10 中的默认 PostgreSQL 版本之前,我们在 GitLab 12.9 的 Geo 部署中测试了升级到 PostgreSQL 11 的能力. -* 结果:部分成功. 在具有单独的跟踪数据库的多节点配置中发现了问题,并提出了在启用 Geo 时允许自动升级的问题. -* 后续问题: - * [`replicate-geo-database`错误地尝试备份存储库](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/5241) . - * [`pg-upgrade`无法升级独立的 Geo 跟踪数据库](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/5242) . - * [`revert-pg-upgrade`无法降级 Geo Secondary 的独立跟踪数据库的 PostgreSQL 数据](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/5243) . - * [`gitlab-ctl pg-upgrade`结束时,Geo 辅助只读副本上的超时错误](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/5235) . - -[Verify Geo installation with PostgreSQL 11](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/4971): - -* 说明:在将 PostgreSQL 11 设置为 GitLab 12.10 中的 PostgreSQL 的默认版本之前,我们测试了 GitLab 12.9 的全新安装以及在 PostgreSQL 11 中安装了 Geo 的情况. -* 结果:安装测试成功. - -### September 2019[](#september-2019 "Permalink") - -[Test and validate PostgreSQL 10.0 upgrade for Geo](https://gitlab.com/gitlab-org/gitlab/-/issues/12092): - -* 说明:在 12.0 版本中,GitLab 需要升级到 PostgreSQL 10.0\. 我们测试了从 GitLab 11.11.5 到 GitLab 12.1.8 的各种升级方案. -* 结果:升级时发现了多个问题,并在后续问题中得到解决. -* 后续问题: - * [在多节点 Geo 设置中的 Redis 节点上, `gitlab-ctl`重新配置失败](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/4706) . - * [从 12.0.9 到 12.1.9 的地理多节点升级不会升级 PostgreSQL](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/4705) . - * [升级到 12.1.9 后,在多节点设置中的应用服务器上刷新外部表失败](https://gitlab.com/gitlab-org/gitlab/-/issues/32119) . \ No newline at end of file diff --git a/docs/505.md b/docs/505.md deleted file mode 100644 index 048df4e..0000000 --- a/docs/505.md +++ /dev/null @@ -1,339 +0,0 @@ -# Disaster Recovery (Geo) - -> 原文:[https://docs.gitlab.com/ee/administration/geo/disaster_recovery/](https://docs.gitlab.com/ee/administration/geo/disaster_recovery/) - -* [Promoting a **secondary** Geo node in single-secondary configurations](#promoting-a-secondary-geo-node-in-single-secondary-configurations) - * [Step 1\. Allow replication to finish if possible](#step-1-allow-replication-to-finish-if-possible) - * [Step 2\. Permanently disable the **primary** node](#step-2-permanently-disable-the-primary-node) - * [Step 3\. Promoting a **secondary** node](#step-3-promoting-a-secondary-node) - * [Promoting a **secondary** node running on a single machine](#promoting-a-secondary-node-running-on-a-single-machine) - * [Promoting a **secondary** node with multiple servers](#promoting-a-secondary-node-with-multiple-servers) - * [Promoting a **secondary** node with an external PostgreSQL database](#promoting-a-secondary-node-with-an-external-postgresql-database) - * [Step 4\. (Optional) Updating the primary domain DNS record](#step-4-optional-updating-the-primary-domain-dns-record) - * [Step 5\. (Optional) Add **secondary** Geo node to a promoted **primary** node](#step-5-optional-add-secondary-geo-node-to-a-promoted-primary-node) - * [Step 6\. (Optional) Removing the secondary’s tracking database](#step-6-optional-removing-the-secondarys-tracking-database) -* [Promoting secondary Geo replica in multi-secondary configurations](#promoting-secondary-geo-replica-in-multi-secondary-configurations) - * [Step 1\. Prepare the new **primary** node to serve one or more **secondary** nodes](#step-1-prepare-the-new-primary-node-to-serve-one-or-more-secondary-nodes) - * [Step 2\. Initiate the replication process](#step-2-initiate-the-replication-process) -* [Troubleshooting](#troubleshooting) - * [I followed the disaster recovery instructions and now two-factor auth is broken](#i-followed-the-disaster-recovery-instructions-and-now-two-factor-auth-is-broken) - -# Disaster Recovery (Geo)[](#disaster-recovery-geo-premium-only "Permalink") - -Geo 复制您的数据库,Git 存储库和其他少量资产. 将来,我们将支持和复制更多数据,使您能够在灾难情况下以最少的精力进行故障转移. - -有关更多信息,请参见地[电流限制](../replication/index.html#current-limitations) . - -**警告:**多辅助配置的灾难恢复在**Alpha 中** . 有关最新更新,请查看多级[灾难恢复史诗](https://gitlab.com/groups/gitlab-org/-/epics/65) . - -## Promoting a **secondary** Geo node in single-secondary configurations[](#promoting-a-secondary-geo-node-in-single-secondary-configurations "Permalink") - -目前,我们不提供自动方式来升级 Geo 副本并进行故障转移,但是如果您具有对该计算机的`root`访问权,则可以手动进行. - -此过程将**辅助**地理节点升级为**主要**节点. 为了尽快恢复地理冗余,应在遵循这些说明后立即添加新的**辅助**节点. - -### Step 1\. Allow replication to finish if possible[](#step-1-allow-replication-to-finish-if-possible "Permalink") - -如果**辅助**节点仍在从**主**节点复制数据,请尽可能严格遵循[计划的故障转移文档](planned_failover.html) ,以避免不必要的数据丢失. - -### Step 2\. Permanently disable the **primary** node[](#step-2-permanently-disable-the-primary-node "Permalink") - -**警告:**如果**主**节点脱机,则可能是**主**节点上保存的数据尚未复制到**辅助**节点. 如果继续,此数据应视为丢失. - -如果**主**节点发生故障,则应尽一切可能避免发生裂脑情况,即在两个不同的 GitLab 实例中可能发生写操作,从而使恢复工作复杂化. 因此,为故障转移做准备,我们必须禁用**主**节点. - -1. SSH 进入**主**节点以停止并禁用 GitLab,如果可能的话: - - ``` - sudo gitlab-ctl stop - ``` - - 如果服务器意外重启,请阻止 GitLab 重新启动: - - ``` - sudo systemctl disable gitlab-runsvdir - ``` - - **注意:(** **仅 CentOS** )在 CentOS 6 或更旧的版本中,如果没有可用的机器重启,没有简单的方法可以阻止启动[GitLab](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/3058) (请参阅[Omnibus GitLab 问题#3058](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/3058) ). 完全卸载 GitLab 软件包可能是最安全的: - - ``` - yum remove gitlab-ee - ``` - - **注意:** ( **Ubuntu 14.04 LTS** )如果您使用的是较旧版本的 Ubuntu 或基于 Upstart init 系统的任何其他发行版,则可以通过以下操作来阻止 GitLab 在计算机重启时启动: - - ``` - initctl stop gitlab-runsvvdir - echo 'manual' > /etc/init/gitlab-runsvdir.override - initctl reload-configuration - ``` - -2. 如果您没有对**主**节点的 SSH 访问权限,请使计算机脱机并通过任何方式阻止其重启. 由于您可能有很多方法可以完成此操作,因此我们将避免使用单个建议. 您可能需要: - - * 重新配置负载均衡器. - * 更改 DNS 记录(例如,将主要 DNS 记录指向**辅助**节点,以停止使用**主要**节点). - * 停止虚拟服务器. - * 阻止通过防火墙的流量. - * 从**主**节点撤消对象存储权限. - * 物理断开机器连接. -3. 如果您打算[更新主域 DNS 记录](#step-4-optional-updating-the-primary-domain-dns-record) ,则可能希望立即降低 TTL,以加快传播速度. - -### Step 3\. Promoting a **secondary** node[](#step-3-promoting-a-secondary-node "Permalink") - -升级辅助服务器时,请注意以下事项: - -* A new **secondary** should not be added at this time. If you want to add a new **secondary**, do this after you have completed the entire process of promoting the **secondary** to the **primary**. -* 如果遇到`ActiveRecord::RecordInvalid: Validation failed: Name has already been taken`在此过程中, `ActiveRecord::RecordInvalid: Validation failed: Name has already been taken`错误,请阅读[故障排除建议](../replication/troubleshooting.html#fixing-errors-during-a-failover-or-when-promoting-a-secondary-to-a-primary-node) . - -#### Promoting a **secondary** node running on a single machine[](#promoting-a-secondary-node-running-on-a-single-machine "Permalink") - -1. SSH 登录到**辅助**节点并以 root 用户身份登录: - - ``` - sudo -i - ``` - -2. 编辑`/etc/gitlab/gitlab.rb`以通过删除启用`geo_secondary_role`所有行来反映其新的**主要**状态: - - ``` - ## In pre-11.5 documentation, the role was enabled as follows. Remove this line. - geo_secondary_role['enable'] = true - - ## In 11.5+ documentation, the role was enabled as follows. Remove this line. - roles ['geo_secondary_role'] - ``` - -3. 将**辅助**节点升级为**主要**节点. - - 在将辅助节点升级为主节点之前,应运行飞行前检查. 它们可以单独运行,也可以与升级脚本一起运行. - - 要将辅助节点与预检检查一起提升为主节点: - - ``` - gitlab-ctl promote-to-primary-node - ``` - - **警告:**跳过飞行前检查将把辅助设备升级为主要设备,而无需进一步确认! - - 如果您已经运行了[预检检查,](planned_failover.html#preflight-checks)或者不想运行它们,则可以使用以下方法跳过预检检查: - - ``` - gitlab-ctl promote-to-primary-node --skip-preflight-check - ``` - - 您还可以单独运行飞行前检查: - - ``` - gitlab-ctl promotion-preflight-checks - ``` - -4. 验证您可以使用先前用于**辅助**节点的 URL 连接到新提升的**主**节点. -5. 如果成功,则**辅助**节点现在已提升为**主要**节点. - -#### Promoting a **secondary** node with multiple servers[](#promoting-a-secondary-node-with-multiple-servers "Permalink") - -`gitlab-ctl promote-to-primary-node`命令尚不能与多台服务器一起使用,因为它只能在仅一台机器的**辅助** `gitlab-ctl promote-to-primary-node`上执行更改. 相反,您必须手动执行此操作. - -1. SSH 进入**辅助**数据库中的数据库节点,并触发 PostgreSQL 升级为可读写: - - ``` - sudo gitlab-pg-ctl promote - ``` - - 在 GitLab 12.8 及更早版本中,请参阅[消息: `sudo: gitlab-pg-ctl: command not found`](../replication/troubleshooting.html#message-sudo-gitlab-pg-ctl-command-not-found) . - -2. 在**辅助**计算机上的每台计算机上编辑`/etc/gitlab/gitlab.rb` ,以通过删除启用`geo_secondary_role`所有行来将其新状态反映为**主要** `geo_secondary_role` : - - ``` - ## In pre-11.5 documentation, the role was enabled as follows. Remove this line. - geo_secondary_role['enable'] = true - - ## In 11.5+ documentation, the role was enabled as follows. Remove this line. - roles ['geo_secondary_role'] - ``` - - 进行这些更改后,请在每台机器上[重新配置 GitLab,](../../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -3. 将**中学**提升到**小学** . SSH 进入单个应用程序服务器并执行: - - ``` - sudo gitlab-rake geo:set_secondary_as_primary - ``` - -4. 验证您可以使用先前用于**辅助服务器**的 URL 连接到新升级的**主**服务器. -5. 成功! **中学**已升格为**小学** . - -#### Promoting a **secondary** node with an external PostgreSQL database[](#promoting-a-secondary-node-with-an-external-postgresql-database "Permalink") - -`gitlab-ctl promote-to-primary-node`命令不能与外部 PostgreSQL 数据库一起使用,因为它只能在使用 GitLab 的**辅助**节点和数据库在同一台机器上执行更改. 结果,需要手动处理: - -1. 升级与**辅助**站点关联的副本数据库. 这会将数据库设置为可读写: - * Amazon RDS- [将只读副本提升为独立数据库实例](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html#USER_ReadRepl.Promote) - * PostgreSQL 的 Azure 数据库- [停止复制](https://docs.microsoft.com/en-us/azure/postgresql/howto-read-replicas-portal#stop-replication) - * 其他外部 PostgreSQL 数据库-将以下脚本保存在辅助节点中,例如`/tmp/geo_promote.sh` ,然后修改连接参数以匹配您的环境. 然后,执行它以提升副本: - - ``` - #!/bin/bash PG_SUPERUSER = postgres # The path to your pg_ctl binary. You may need to adjust this path to match # your PostgreSQL installation PG_CTL_BINARY = /usr/lib/postgresql/10/bin/pg_ctl # The path to your PostgreSQL data directory. You may need to adjust this # path to match your PostgreSQL installation. You can also run # `SHOW data_directory;` from PostgreSQL to find your data directory PG_DATA_DIRECTORY = /etc/postgresql/10/main # Promote the PostgreSQL database and allow read/write operations sudo -u $PG_SUPERUSER $PG_CTL_BINARY -D $PG_DATA_DIRECTORY promote - ``` - -2. 在**辅助**站点中的每个节点上编辑`/etc/gitlab/gitlab.rb` ,以通过删除启用`geo_secondary_role`所有行来将其新状态反映**为主** `geo_secondary_role` : - - ``` - ## In GitLab 11.4 and earlier, remove this line. - geo_secondary_role['enable'] = true - - ## In GitLab 11.5 and later, remove this line. - roles ['geo_secondary_role'] - ``` - - 进行这些更改后,请在每个节点上[重新配置 GitLab](../../restart_gitlab.html#omnibus-gitlab-reconfigure) ,以使更改生效. - -3. 将**中学**提升到**小学** . SSH 进入单个辅助应用程序节点并执行: - - ``` - sudo gitlab-rake geo:set_secondary_as_primary - ``` - -4. 验证您可以使用先前用于**辅助**站点的 URL 连接到新升级的**主**站点. - -成功! **辅助**站点现在已提升为**主要**站点. - -### Step 4\. (Optional) Updating the primary domain DNS record[](#step-4-optional-updating-the-primary-domain-dns-record "Permalink") - -将主域的 DNS 记录更新为指向**辅助**节点将避免需要将对主域的所有引用更新为辅助域,例如更改 Git 远程服务器和 API URL. - -1. SSH 进入**辅助**节点并以 root 用户身份登录: - - ``` - sudo -i - ``` - -2. 更新主域的 DNS 记录. 更新主域名的 DNS 记录指向**辅助**节点后,编辑`/etc/gitlab/gitlab.rb` **辅助**节点上,以反映新的网址: - - ``` - # Change the existing external_url configuration - external_url 'https://' - ``` - - **Note:** Changing `external_url` won’t prevent access via the old secondary URL, as long as the secondary DNS records are still intact. -3. 重新配置**辅助**节点以使更改生效: - - ``` - gitlab-ctl reconfigure - ``` - -4. 执行以下命令以更新新提升的**主**节点 URL: - - ``` - gitlab-rake geo:update_primary_node_url - ``` - - 此命令将使用`/etc/gitlab/gitlab.rb`定义的更改的`external_url`配置. - -5. 仅对于 GitLab 11.11 到 12.7,您可能需要更新数据库中的**主**节点名称. 此错误已在 GitLab 12.8 中修复. - - 要确定是否需要执行此操作,请在`/etc/gitlab/gitlab.rb`文件中搜索`gitlab_rails["geo_node_name"]`设置. 如果用`#`注释掉或根本找不到它,则您将需要更新数据库中**主**节点的名称. 您可以像这样搜索它: - - ``` - grep "geo_node_name" /etc/gitlab/gitlab.rb - ``` - - 要更新数据库中**主**节点的名称: - - ``` - gitlab-rails runner 'Gitlab::Geo.primary_node.update!(name: GeoNode.current_node_name)' - ``` - -6. 验证您可以使用其 URL 连接到新升级的**主数据库** . 如果您更新了主域的 DNS 记录,则这些更改可能尚未传播,具体取决于以前的 DNS 记录 TTL. - -### Step 5\. (Optional) Add **secondary** Geo node to a promoted **primary** node[](#step-5-optional-add-secondary-geo-node-to-a-promoted-primary-node "Permalink") - -使用上述过程将**辅助**节点提升为**主要**节点不会在新的**主要**节点上启用 Geo. - -要使新的**辅助**节点在线,请按照[Geo 设置说明进行操作](../replication/index.html#setup-instructions) . - -### Step 6\. (Optional) Removing the secondary’s tracking database[](#step-6-optional-removing-the-secondarys-tracking-database "Permalink") - -每个**次级**有一个用于保存从**初级**的所有项目的同步状态的特殊的跟踪数据库. 由于**辅助服务器**已经升级,因此不再需要跟踪数据库中的数据. - -可以使用以下命令删除数据: - -``` -sudo rm -rf /var/opt/gitlab/geo-postgresql -``` - -如果您在`gitlab.rb`文件中启用了任何`geo_secondary[]`配置选项,则可以安全地注释掉这些选项或将其删除,然后[重新配置 GitLab](../../restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -## Promoting secondary Geo replica in multi-secondary configurations[](#promoting-secondary-geo-replica-in-multi-secondary-configurations "Permalink") - -如果您有多个**辅助**节点,并且需要升级其中一个,建议您按照[单辅助配置中的"](#promoting-a-secondary-geo-node-in-single-secondary-configurations)升级[**辅助** Geo"节点进行操作](#promoting-a-secondary-geo-node-in-single-secondary-configurations) ,之后还需要执行两个额外步骤. - -### Step 1\. Prepare the new **primary** node to serve one or more **secondary** nodes[](#step-1-prepare-the-new-primary-node-to-serve-one-or-more-secondary-nodes "Permalink") - -1. SSH 进入新的**主**节点并以 root 用户身份登录: - - ``` - sudo -i - ``` - -2. Edit `/etc/gitlab/gitlab.rb` - - ``` - ## Enable a Geo Primary role (if you haven't yet) - roles ['geo_primary_role'] - - ## - # Allow PostgreSQL client authentication from the primary and secondary IPs. These IPs may be - # public or VPC addresses in CIDR format, for example ['198.51.100.1/32', '198.51.100.2/32'] - ## - postgresql['md5_auth_cidr_addresses'] = ['/32', '/32'] - - # Every secondary server needs to have its own slot so specify the number of secondary nodes you're going to have - postgresql['max_replication_slots'] = 1 - - ## - ## Disable automatic database migrations temporarily - ## (until PostgreSQL is restarted and listening on the private address). - ## - gitlab_rails['auto_migrate'] = false - ``` - - (有关这些设置的更多详细信息,您可以阅读[配置主服务器](../replication/database.html#step-1-configure-the-primary-server) ) - -3. 保存文件并重新配置 GitLab,以进行数据库侦听更改和要应用的复制插槽更改. - - ``` - gitlab-ctl reconfigure - ``` - - 重新启动 PostgreSQL 以使其更改生效: - - ``` - gitlab-ctl restart postgresql - ``` - -4. 现在,重新启动 PostgreSQL 并重新侦听私有地址,即可重新启用迁移. - - 编辑`/etc/gitlab/gitlab.rb`并将配置**更改**为`true` : - - ``` - gitlab_rails['auto_migrate'] = true - ``` - - 保存文件并重新配置 GitLab: - - ``` - gitlab-ctl reconfigure - ``` - -### Step 2\. Initiate the replication process[](#step-2-initiate-the-replication-process "Permalink") - -现在,我们需要使每个**辅助**节点侦听新的**主要**节点上的更改. 为此,您需要再次[启动复制过程](../replication/database.html#step-3-initiate-the-replication-process) ,但这一次是针对另一个**主**节点. 所有旧的复制设置将被覆盖. - -## Troubleshooting[](#troubleshooting "Permalink") - -### I followed the disaster recovery instructions and now two-factor auth is broken[](#i-followed-the-disaster-recovery-instructions-and-now-two-factor-auth-is-broken "Permalink") - -10.5 之前的 Geo 的安装说明无法复制`otp_key_base`机密,该机密用于加密存储在数据库中的两因素身份验证机密. 如果**主**节点和**辅助**节点之间的设置不同,启用了双重身份验证的用户将无法在故障转移后登录. - -如果您仍然可以访问旧的**主**节点,则可以按照" [升级到 GitLab 10.5"](../replication/version_specific_updates.html#updating-to-gitlab-105)部分中的说明解决错误. 否则,密码将丢失,您需要[为所有用户重置两步验证](../../../security/two_factor_authentication.html#disabling-2fa-for-everyone) . \ No newline at end of file diff --git a/docs/506.md b/docs/506.md deleted file mode 100644 index ffdfb3d..0000000 --- a/docs/506.md +++ /dev/null @@ -1,158 +0,0 @@ -# Disaster recovery for planned failover - -> 原文:[https://docs.gitlab.com/ee/administration/geo/disaster_recovery/planned_failover.html](https://docs.gitlab.com/ee/administration/geo/disaster_recovery/planned_failover.html) - -* [Not all data is automatically replicated](#not-all-data-is-automatically-replicated) -* [Preflight checks](#preflight-checks) - * [Object storage](#object-storage) - * [Review the configuration of each **secondary** node](#review-the-configuration-of-each-secondary-node) - * [Run system checks](#run-system-checks) - * [Check that secrets match between nodes](#check-that-secrets-match-between-nodes) - * [Ensure Geo replication is up-to-date](#ensure-geo-replication-is-up-to-date) - * [Verify the integrity of replicated data](#verify-the-integrity-of-replicated-data) - * [Notify users of scheduled maintenance](#notify-users-of-scheduled-maintenance) -* [Prevent updates to the **primary** node](#prevent-updates-to-the-primary-node) -* [Finish replicating and verifying all data](#finish-replicating-and-verifying-all-data) -* [Promote the **secondary** node](#promote-the-secondary-node) - -# Disaster recovery for planned failover[](#disaster-recovery-for-planned-failover-premium-only "Permalink") - -The primary use-case of Disaster Recovery is to ensure business continuity in the event of unplanned outage, but it can be used in conjunction with a planned failover to migrate your GitLab instance between regions without extended downtime. - -由于 Geo 节点之间的复制是异步的,因此计划中的故障转移需要一个维护窗口,该窗口中阻止了对**主**节点的更新. 该窗口的长度取决于您的复制能力-一旦**辅助**节点与**主**节点完全同步,就可以进行故障转移而不会丢失数据. - -本文档假定您已经具有完整配置的,可以正常使用的 Geo 设置. 在继续之前,请完整阅读它和[Disaster Recovery](index.html)故障转移文档. 计划内的故障转移是一项主要操作,如果执行不正确,则存在很高的数据丢失风险. 考虑对程序进行排练,直到您对必要的步骤感到满意并且对能够准确执行它们有高度的信心. - -## Not all data is automatically replicated[](#not-all-data-is-automatically-replicated "Permalink") - -如果您使用的是 Geo [不支持的](../replication/index.html#current-limitations)任何 GitLab 功能, [则](../replication/index.html#current-limitations)必须单独进行准备,以确保**辅助**节点具有与该功能关联的任何数据的最新副本. 这可能会大大延长所需的计划维护时间. - -使文件中存储的数据的时间尽可能短的常见策略是使用`rsync`传输数据. 可以在维护窗口之前执行初始`rsync` . 随后的`rsync` s(包括维护窗口内的最终传输)将仅传输**主**节点和**辅助**节点之间的*更改* . - -在[移动存储库](../../operations/moving_repositories.html)文档中可以找到有效使用`rsync`的以存储库为中心的策略. 这些策略可以调整为与任何其他基于文件的数据一起使用,例如 GitLab 页面(如果使用 Omnibus,则可在`/var/opt/gitlab/gitlab-rails/shared/pages` ). - -## Preflight checks[](#preflight-checks "Permalink") - -运行此命令以列出所有预检检查,并在计划计划的故障转移之前自动检查复制和验证是否完成,以确保过程顺利进行: - -``` -gitlab-ctl promotion-preflight-checks -``` - -即使预检检查失败,也可以以`force`模式运行此命令以升级为主要命令: - -``` -sudo gitlab-ctl promotion-preflight-checks --force -``` - -每个步骤将在下面更详细地描述. - -### Object storage[](#object-storage "Permalink") - -如果您有大量的 GitLab 安装或无法忍受停机,请**在**计划计划的故障转移**之前**考虑[迁移到对象存储](../replication/object_storage.html) . 这样做既可以减少维护窗口的长度,又可以减少由于计划内故障转移执行不当而导致的数据丢失风险. - -In GitLab 12.4, you can optionally allow GitLab to manage replication of Object Storage for **secondary** nodes. For more information, see [Object Storage replication](../replication/object_storage.html). - -### Review the configuration of each **secondary** node[](#review-the-configuration-of-each-secondary-node "Permalink") - -数据库设置会自动复制到**辅助**节点,但是`/etc/gitlab/gitlab.rb`文件必须手动设置,并且在节点之间有所不同. 如果在**主要**节点上启用了 Mattermost,OAuth 或 LDAP 集成等功能,但在**次要**节点上未启用这些功能,则它们将在故障转移期间丢失. - -查看两个节点的`/etc/gitlab/gitlab.rb`文件,并确保**辅助**节点支持**主**节点**在**计划计划的故障转移**之前**所做的一切. - -### Run system checks[](#run-system-checks "Permalink") - -在**主**节点和**辅助**节点上运行以下命令: - -``` -gitlab-rake gitlab:check -gitlab-rake gitlab:geo:check -``` - -如果在任一节点上报告了任何故障,则应**在**计划计划的故障转移**之前**解决这些故障. - -### Check that secrets match between nodes[](#check-that-secrets-match-between-nodes "Permalink") - -SSH 主机密钥和`/etc/gitlab/gitlab-secrets.json`文件在所有节点上均应相同. 通过在所有节点上运行以下命令并比较输出来进行检查: - -``` -sudo sha256sum /etc/ssh/ssh_host* /etc/gitlab/gitlab-secrets.json -``` - -如果有任何文件不同,请用**主**节点中的内容替换**辅助**节点上的内容. - -### Ensure Geo replication is up-to-date[](#ensure-geo-replication-is-up-to-date "Permalink") - -直到地理复制和验证完成,维护窗口才会结束. 为了使窗口尽可能短,在使用过程中,应确保这些过程尽可能接近 100%. - -导航到 **管理区>** **辅助**节点上的**地理**仪表板以查看状态. 复制的对象(以绿色显示)应接近 100%,并且不应出现故障(以红色显示). 如果尚未复制大量对象(显示为灰色),请考虑给节点更多时间来完成 - -[![Replication status](img/5574e9e4660196e59606fe9d673097b7.png)](img/replication-status.png) - -如果有任何对象无法复制,则应在安排维护窗口之前进行调查. 在计划好的故障转移之后,所有无法复制的内容都会**丢失** . - -您可以使用[地理状态 API](../../../api/geo_nodes.html#retrieve-project-sync-or-verification-failures-that-occurred-on-the-current-node)查看失败的对象以及失败的原因. - -复制失败的常见原因是**主**节点上缺少数据-您可以通过从备份还原数据或删除对丢失数据的引用来解决这些故障. - -### Verify the integrity of replicated data[](#verify-the-integrity-of-replicated-data "Permalink") - -This [content was moved to another location](background_verification.html). - -### Notify users of scheduled maintenance[](#notify-users-of-scheduled-maintenance "Permalink") - -在**主**节点上,导航到 **管理区>** **消息** ,添加广播消息. 你可以检查下 **管理区>** **地理位置,**以估算完成同步需要多长时间. 一个示例消息是: - -> 计划的维护将在世界标准时间 XX:XX 进行. 我们预计将花费不到 1 个小时. - -## Prevent updates to the **primary** node[](#prevent-updates-to-the-primary-node "Permalink") - -在实施[只读模式](https://gitlab.com/gitlab-org/gitlab/-/issues/14609)之前,必须防止手动进行更新. 请注意,在维护窗口期间, **辅助**节点仍需要对**主**节点具有只读访问权限. - -1. 在计划的时间,使用您的云提供商或节点的防火墙,阻止去往/来自**主**节点的所有 HTTP,HTTPS 和 SSH 通信, **但** IP 和**辅助**节点的 IP **除外** . - - 例如,您可能在组成**主**节点的服务器上运行以下命令: - - ``` - sudo iptables -A INPUT -p tcp -s --destination-port 22 -j ACCEPT - sudo iptables -A INPUT -p tcp -s --destination-port 22 -j ACCEPT - sudo iptables -A INPUT --destination-port 22 -j REJECT - - sudo iptables -A INPUT -p tcp -s --destination-port 80 -j ACCEPT - sudo iptables -A INPUT -p tcp -s --destination-port 80 -j ACCEPT - sudo iptables -A INPUT --tcp-dport 80 -j REJECT - - sudo iptables -A INPUT -p tcp -s --destination-port 443 -j ACCEPT - sudo iptables -A INPUT -p tcp -s --destination-port 443 -j ACCEPT - sudo iptables -A INPUT --tcp-dport 443 -j REJECT - ``` - - 从这一点来看,用户将无法查看其数据或在**主**节点上进行更改. 他们也将无法登录到**辅助**节点. 但是,现有的会话将在维护期间的剩余时间内起作用,并且可以在整个维护期间访问公共数据. - -2. 通过使用其他 IP 在浏览器中访问**主**节点,验证**主**节点是否受到 HTTP 流量的阻止. 服务器应拒绝连接. - -3. 尝试通过使用 SSH 远程 URL 提取现有的 Git 存储库,来验证**主**节点是否已通过 SSH 流量阻止 Git. 服务器应拒绝连接. - -4. 通过导航到禁用**主要**节点上的非 Geo 定期后台作业 **管理区>** **监视>后台作业> Cron** ,按`Disable All` ,然后为`geo_sidekiq_cron_config_worker` cron 作业按`Enable` . 该作业将重新启用其他几个 cron 作业,这些作业对于计划的故障转移成功完成至关重要. - -## Finish replicating and verifying all data[](#finish-replicating-and-verifying-all-data "Permalink") - -1. 如果您要手动复制不是由 Geo 管理的任何数据,请立即触发最终复制过程. -2. 在**主**节点上,导航到 **管理区>** **监视>后台作业>队列,**并等待所有队列(名称中带有`geo`的队列降至 0).这些队列包含用户提交的工作; 在完成之前进行故障转移将导致工作丢失. -3. 在**主**节点上,导航到 **管理区>** **地理位置,**并等待您要故障转移到的**辅助**节点满足以下条件: - - * 所有复制计量到 100%复制,0%失败. - * 所有验证仪表均达到 100%验证,0%失败. - * 数据库复制滞后为 0ms. - * 地理日志光标是最新的(落后 0 个事件). -4. 在**辅助**节点上,导航到 **管理区>** **监视>后台作业>队列,**然后等待所有`geo`队列下降到 0 个已排队的作业和 0 个正在运行的作业. -5. 在**辅助**节点上,使用[以下说明](../../raketasks/check.html)来验证 CI 工件,LFS 对象以及文件存储中的上载的完整性. - -此时, **辅助**节点将包含**主**节点拥有的所有内容的最新副本,这意味着在进行故障转移时不会丢失任何内容. - -## Promote the **secondary** node[](#promote-the-secondary-node "Permalink") - -最后,按照[灾难恢复文档](index.html)将**辅助**节点升级为**主要**节点. 此过程将导致**辅助**节点发生短暂中断,并且用户可能需要再次登录. - -一旦完成,维护窗口就结束了! 新的**主**节点现在开始发散,从旧的. 如果确实出现在这一点上的问题,没有回到原来的**主**节点[是可能](bring_primary_back.html)的,但可能会导致在此期间上传到新的**主**任何数据丢失. - -故障转移完成后,请不要忘记删除广播消息. \ No newline at end of file diff --git a/docs/507.md b/docs/507.md deleted file mode 100644 index 780bc71..0000000 --- a/docs/507.md +++ /dev/null @@ -1,42 +0,0 @@ -# Bring a demoted primary node back online - -> 原文:[https://docs.gitlab.com/ee/administration/geo/disaster_recovery/bring_primary_back.html](https://docs.gitlab.com/ee/administration/geo/disaster_recovery/bring_primary_back.html) - -* [Configure the former **primary** node to be a **secondary** node](#configure-the-former-primary-node-to-be-a-secondary-node) -* [Promote the **secondary** node to **primary** node](#promote-the-secondary-node-to-primary-node) -* [Restore the **secondary** node](#restore-the-secondary-node) - -# Bring a demoted primary node back online[](#bring-a-demoted-primary-node-back-online-premium-only "Permalink") - -故障转移后,可以故障回复到降级的**主**节点以还原原始配置. 此过程包括两个步骤: - -1. 使旧的**主**节点成为**辅助**节点. -2. 将**辅助**节点提升为**主要**节点. - -**警告:**如果您对该节点上的数据一致性有任何疑问,我们建议从头开始进行设置. - -## Configure the former **primary** node to be a **secondary** node[](#configure-the-former-primary-node-to-be-a-secondary-node "Permalink") - -由于先前的**主要**节点将与当前的**主要**节点不同步,因此第一步是使先前的**主要**节点保持最新. 请注意,将先前的**主**节点重新同步后,不会重播存储在磁盘上的数据(如存储库和上载),这可能会导致磁盘使用率增加. 或者,您可以[设置一个新的**辅助** GitLab 实例](../replication/index.html#setup-instructions)来避免这种情况. - -要使以前的**主**节点保持最新状态: - -1. SSH 进入落后的前**主**节点. -2. 确保所有服务都已启动: - - ``` - sudo gitlab-ctl start - ``` - - **注意:**如果[永久禁用了**主**节点](index.html#step-2-permanently-disable-the-primary-node) ,则需要立即撤消这些步骤. 对于 Debian / Ubuntu,您只需要运行`sudo systemctl enable gitlab-runsvdir` . 对于 CentOS 6,您需要从头开始安装 GitLab 实例,并按照[安装说明](../replication/index.html#setup-instructions)将其设置为**辅助**节点. 在这种情况下,您无需执行下一步.**注意:**如果在灾难恢复过程中[更改了](index.html#step-4-optional-updating-the-primary-domain-dns-record)该节点[的 DNS 记录](index.html#step-4-optional-updating-the-primary-domain-dns-record) ,则可能需要在此过程中[阻止对该节点的所有写操作](planned_failover.html#prevent-updates-to-the-primary-node) . -3. [设置数据库复制](../replication/database.html) . 请注意,在这种情况下, **主**节点是指当前的**主**节点, **辅助**节点是指先前的**主**节点. - -如果丢失了原始**主**节点,请按照[设置说明](../replication/index.html#setup-instructions)设置新的**辅助**节点. - -## Promote the **secondary** node to **primary** node[](#promote-the-secondary-node-to-primary-node "Permalink") - -初始复制完成并且**主**节点和**辅助**节点紧密同步后,您可以执行[计划的故障转移](planned_failover.html) . - -## Restore the **secondary** node[](#restore-the-secondary-node "Permalink") - -如果你的目标是再有两个节点,你需要把你的**辅助**节点重新联机,以及通过重复第一步( [配置前**主**节点是**辅助**节点](#configure-the-former-primary-node-to-be-a-secondary-node) )为**辅助**节点. \ No newline at end of file diff --git a/docs/508.md b/docs/508.md deleted file mode 100644 index 8c8e474..0000000 --- a/docs/508.md +++ /dev/null @@ -1,149 +0,0 @@ -# Automatic background verification - -> 原文:[https://docs.gitlab.com/ee/administration/geo/disaster_recovery/background_verification.html](https://docs.gitlab.com/ee/administration/geo/disaster_recovery/background_verification.html) - -* [Disabling or enabling the automatic background verification](#disabling-or-enabling-the-automatic-background-verification) -* [Repository verification](#repository-verification) -* [Using checksums to compare Geo nodes](#using-checksums-to-compare-geo-nodes) -* [Repository re-verification](#repository-re-verification) -* [Reset verification for projects where verification has failed](#reset-verification-for-projects-where-verification-has-failed) -* [Reconcile differences with checksum mismatches](#reconcile-differences-with-checksum-mismatches) -* [Current limitations](#current-limitations) - -# Automatic background verification[](#automatic-background-verification-premium-only "Permalink") - -**注意:**在 GitLab EE 10.6 中添加了存储库和 Wiki 的自动背景验证,但默认情况下仅在 GitLab EE 11.1 上启用了该功能. 您可以按照[以下说明](#disabling-or-enabling-the-automatic-background-verification)手动禁用或启用此功能. - -自动背景验证可确保传输的数据与计算出的校验和匹配. 如果**主**节点上数据的校验和与**辅助**节点上数据的校验和匹配,则数据传输成功. 在计划的故障转移之后,根据损坏的程度,任何损坏的数据都可能**丢失** . - -如果在**主**节点上验证失败,则表明 Geo 正在复制损坏的对象. 您可以从备份中还原它,也可以从**主**节点中将其删除以解决问题. - -如果验证在**主**节点上成功,但在**辅助**节点上失败,则表明在复制过程中对象已损坏. Geo 积极尝试纠正验证失败,将存储库标记为有退避期重新同步. 如果您想重置这些失败的验证,则应遵循[以下说明](background_verification.html#reset-verification-for-projects-where-verification-has-failed) . - -如果验证明显落后于复制,请考虑在安排计划的故障转移之前给节点更多时间. - -## Disabling or enabling the automatic background verification[](#disabling-or-enabling-the-automatic-background-verification "Permalink") - -在**主**节点上的 Rails 控制台中运行以下命令: - -``` -gitlab-rails console -``` - -要检查是否启用了自动背景验证: - -``` -Gitlab::Geo.repository_verification_enabled? -``` - -要禁用自动背景验证: - -``` -Feature.disable('geo_repository_verification') -``` - -要启用自动背景验证: - -``` -Feature.enable('geo_repository_verification') -``` - -## Repository verification[](#repository-verification "Permalink") - -导航到 **管理区>** 在**主**节点上的**地理**仪表板,并展开该节点的" **验证信息"**选项卡以查看存储库和 Wiki 的自动校验和状态. 成功以绿色显示,待处理的工作以灰色显示,失败以红色显示. - -[![Verification status](img/283011f90b0969b60cd202dd293525ca.png)](img/verification-status-primary.png) - -导航到 **管理区>** **辅助**节点上的**地理**仪表板,并展开该节点的" **验证信息"**选项卡,以查看存储库和 Wiki 的自动验证状态. 与校验和一样,成功显示为绿色,待处理工作显示为灰色,失败显示为红色. - -[![Verification status](img/38d4db85b589523cbab105da53e5fb09.png)](img/verification-status-secondary.png) - -## Using checksums to compare Geo nodes[](#using-checksums-to-compare-geo-nodes "Permalink") - -要检查 Geo **辅助**节点的运行状况,我们在 Git 引用及其值的列表上使用校验和. 校验和包括`HEAD` , `heads` , `tags` , `notes`和特定于 GitLab 的引用,以确保真正的一致性. 如果两个节点具有相同的校验和,则它们肯定拥有相同的引用. 我们在每次更新后为每个节点计算校验和,以确保它们都同步. - -## Repository re-verification[](#repository-re-verification "Permalink") - -在 GitLab 企业版 11.6 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/8550) . 在[GitLab Premium 中](https://about.gitlab.com/pricing/)可用. - -由于错误或临时基础架构故障,Git 存储库可能会发生意外更改,而不会被标记为要进行验证. Geo 会不断重新验证存储库以确保数据的完整性. 尽管可以设置短至 1 天的间隔,但默认和建议的重新验证间隔是 7 天. 较短的时间间隔可以降低风险,但会增加负载,反之亦然. - -导航到 **管理区>** 在**主**节点上**的地理**信息中心,并单击**编辑**按钮为所述**主**节点来定制最小重新验证间隔: - -[![Re-verification interval](img/e3eeb697453d582cf0ec4a746f30ed31.png)](img/reverification-interval.png) - -默认情况下,自动后台重新验证处于启用状态,但是如果需要,您可以将其禁用. 在**主**节点上的 Rails 控制台中运行以下命令: - -``` -gitlab-rails console -``` - -要禁用自动后台重新验证: - -``` -Feature.disable('geo_repository_reverification') -``` - -要启用自动后台重新验证: - -``` -Feature.enable('geo_repository_reverification') -``` - -## Reset verification for projects where verification has failed[](#reset-verification-for-projects-where-verification-has-failed "Permalink") - -Geo 积极尝试纠正验证失败,将存储库标记为有退避期重新同步. 如果要手动重置它们,此 Rake 任务会将项目标记为验证失败或校验和不匹配的项目重新同步而没有退避期: - -对于存储库: - -``` -sudo gitlab-rake geo:verification:repository:reset -``` - -对于 Wiki: - -``` -sudo gitlab-rake geo:verification:wiki:reset -``` - -## Reconcile differences with checksum mismatches[](#reconcile-differences-with-checksum-mismatches "Permalink") - -如果**主**节点和**辅助**节点的校验和验证不匹配,则原因可能不明显. 要查找校验和不匹配的原因: - -1. 导航到 **管理区>** 在**主**节点上的" **概述">"项目"**仪表板中,找到要检查校验和差异的项目,然后单击" **编辑"**按钮: [![项目仪表板](img/655bbae75a3608d2016397c70682f7d4.png)](img/checksum-differences-admin-projects.png) - -2. 在项目管理页面上,获取**Gitaly 存储名称**和**Gitaly 相对路径** : [![项目管理页面](img/43c1d4f646051452c436962222af114b.png)](img/checksum-differences-admin-project-page.png) - -3. 导航到**主**节点和**辅助**节点上的项目的存储库目录(路径通常是`/var/opt/gitlab/git-data/repositories` ). 请注意,如果`git_data_dirs`是自定义的,请确保检查服务器上的目录布局. - - ``` - cd /var/opt/gitlab/git-data/repositories - ``` - -4. 在**主**节点上运行以下命令,将输出重定向到文件: - - ``` - git show-ref --head | grep -E "HEAD|(refs/(heads|tags|keep-around|merge-requests|environments|notes)/)" > primary-node-refs - ``` - -5. 在**辅助**节点上运行以下命令,将输出重定向到文件: - - ``` - git show-ref --head | grep -E "HEAD|(refs/(heads|tags|keep-around|merge-requests|environments|notes)/)" > secondary-node-refs - ``` - -6. 复制同一系统上先前步骤中的文件,并在内容之间进行区分: - - ``` - diff primary-node-refs secondary-node-refs - ``` - -## Current limitations[](#current-limitations "Permalink") - -自动后台验证不包括附件,LFS 对象,作业工件以及文件存储中的用户上传. 您可以跟踪进度,以将其包括在" [地理位置"中:验证所有复制的数据](https://gitlab.com/groups/gitlab-org/-/epics/1430) . - -现在,您可以通过在两个节点上遵循[以下说明](../../raketasks/check.html)并比较它们之间的输出来手动验证其完整性. - -在 GitLab EE 12.1 中,Geo 会在传输后计算辅助节点上的附件,LFS 对象和已归档跟踪的校验和,并将其与存储的校验和进行比较,如果不匹配则拒绝传输. 请注意,如果在 GitLab EE 12.1 之前已经同步了这些数据,Geo 当前不支持自动验证这些数据的方法. - -对象存储中的数据**未经验证** ,因为对象存储负责确保数据的完整性. \ No newline at end of file diff --git a/docs/509.md b/docs/509.md deleted file mode 100644 index 3810bdd..0000000 --- a/docs/509.md +++ /dev/null @@ -1,45 +0,0 @@ -# Rake tasks - -> 原文:[https://docs.gitlab.com/ee/raketasks/README.html](https://docs.gitlab.com/ee/raketasks/README.html) - -* [Available Rake tasks](#available-rake-tasks) - -# Rake tasks[](#rake-tasks-core-only "Permalink") - -GitLab 为常见的管理和操作流程提供[Rake](https://ruby.github.io/rake/)任务. - -使用以下命令执行 GitLab Rake 任务: - -* `gitlab-rake ` for [Omnibus GitLab](https://docs.gitlab.com/omnibus/README.html) installations. -* `bundle exec rake ` for [source](../install/installation.html) installations. - -## Available Rake tasks[](#available-rake-tasks "Permalink") - -以下是可用的 Rake 任务: - -| Tasks | Description | -| --- | --- | -| [Back up and restore](backup_restore.html) | 在服务器之间备份,还原和迁移 GitLab 实例. | -| [Clean up](cleanup.html) | 从 GitLab 实例中清除不需要的项目. | -| [Development](../development/rake_tasks.html) | GitLab 贡献者的任务. | -| [Doctor tasks](../administration/raketasks/doctor.html) | 检查数据完整性问题. | -| [Elasticsearch](../integration/elasticsearch.html#gitlab-elasticsearch-rake-tasks) | 在 GitLab 实例中维护 Elasticsearch. | -| [Enable namespaces](features.html) | 为用户项目启用用户名和名称空间. | -| [General maintenance](../administration/raketasks/maintenance.html) | 常规维护和自检任务. | -| [Geo maintenance](../administration/raketasks/geo.html) | [与地理](../administration/geo/replication/index.html)相关的维护. | -| [GitHub import](../administration/raketasks/github_import.html) | 从 GitHub 检索和导入存储库. | -| [Import repositories](import.html) | 将裸仓库导入您的 GitLab 实例. | -| [Import large project exports](../development/import_project.html#importing-via-a-rake-task) | 导入大型 GitLab [项目出口](../user/project/settings/import_export.html) . | -| [Integrity checks](../administration/raketasks/check.html) | 检查存储库,文件和 LDAP 的完整性. | -| [LDAP maintenance](../administration/raketasks/ldap.html) | [LDAP](../administration/auth/ldap/index.html)相关任务. | -| [List repositories](list_repos.html) | 磁盘上所有由 GitLab 管理的 Git 存储库的列表. | -| [Migrate Snippets to Git](migrate_snippets.html) | 将 GitLab 代码片段迁移到 Git 存储库并显示迁移状态 | -| [Praefect Rake tasks](../administration/raketasks/praefect.html) | [与 Praefect](../administration/gitaly/praefect.html)相关的任务. | -| [Project import/export](../administration/raketasks/project_import_export.html) | 准备[项目的进出口](../user/project/settings/import_export.html) . | -| [Sample Prometheus data](generate_sample_prometheus_data.html) | 生成样本 Prometheus 数据. | -| [Repository storage](../administration/raketasks/storage.html) | 列出现有项目和附件并将其从旧存储迁移到哈希存储. | -| [Uploads migrate](../administration/raketasks/uploads/migrate.html) | 在本地存储和对象存储之间迁移上载. | -| [Uploads sanitize](../administration/raketasks/uploads/sanitize.html) | 从上传到早期版本的 GitLab 的图像中删除 EXIF 数据. | -| [User management](user_management.html) | 执行用户管理任务. | -| [Webhooks administration](web_hooks.html) | 维护项目 Webhooks. | -| [X.509 signatures](x509_signatures.html) | 更新 X.509 提交签名,如果证书存储已更改,则很有用. | \ No newline at end of file diff --git a/docs/510.md b/docs/510.md deleted file mode 100644 index fc9caef..0000000 --- a/docs/510.md +++ /dev/null @@ -1,904 +0,0 @@ -# Back up and restore GitLab - -> 原文:[https://docs.gitlab.com/ee/raketasks/backup_restore.html](https://docs.gitlab.com/ee/raketasks/backup_restore.html) - -* [Requirements](#requirements) -* [Backup timestamp](#backup-timestamp) -* [Back up GitLab](#back-up-gitlab) - * [Storing configuration files](#storing-configuration-files) - * [Backup options](#backup-options) - * [Backup strategy option](#backup-strategy-option) - * [Backup filename](#backup-filename) - * [Rsyncable](#rsyncable) - * [Excluding specific directories from the backup](#excluding-specific-directories-from-the-backup) - * [Skipping tar creation](#skipping-tar-creation) - * [Uploading backups to a remote (cloud) storage](#uploading-backups-to-a-remote-cloud-storage) - * [Using Amazon S3](#using-amazon-s3) - * [Digital Ocean Spaces](#digital-ocean-spaces) - * [Other S3 Providers](#other-s3-providers) - * [Using Google Cloud Storage](#using-google-cloud-storage) - * [Specifying a custom directory for backups](#specifying-a-custom-directory-for-backups) - * [Uploading to locally mounted shares](#uploading-to-locally-mounted-shares) - * [Backup archive permissions](#backup-archive-permissions) - * [Configuring cron to make daily backups](#configuring-cron-to-make-daily-backups) - * [Limit backup lifetime for local files (prune old backups)](#limit-backup-lifetime-for-local-files-prune-old-backups) -* [Restore GitLab](#restore-gitlab) - * [Restore prerequisites](#restore-prerequisites) - * [Restore for installation from source](#restore-for-installation-from-source) - * [Restore for Omnibus GitLab installations](#restore-for-omnibus-gitlab-installations) - * [Restore for Docker image and GitLab Helm chart installations](#restore-for-docker-image-and-gitlab-helm-chart-installations) - * [Restoring only one or a few project(s) or group(s) from a backup](#restoring-only-one-or-a-few-projects-or-groups-from-a-backup) -* [Alternative backup strategies](#alternative-backup-strategies) -* [Additional notes](#additional-notes) -* [Troubleshooting](#troubleshooting) - * [Restoring database backup using Omnibus packages outputs warnings](#restoring-database-backup-using-omnibus-packages-outputs-warnings) - * [When the secrets file is lost](#when-the-secrets-file-is-lost) - * [Reset CI/CD variables](#reset-cicd-variables) - * [Reset Runner registration tokens](#reset-runner-registration-tokens) - * [Reset pending pipeline jobs](#reset-pending-pipeline-jobs) - * [Container Registry push failures after restoring from a backup](#container-registry-push-failures-after-restoring-from-a-backup) - * [Backup fails to complete with Gzip error](#backup-fails-to-complete-with-gzip-error) - -# Back up and restore GitLab[](#back-up-and-restore-gitlab-core-only "Permalink") - -GitLab 提供了 Rake 任务来备份和还原 GitLab 实例. - -应用程序数据备份将创建一个包含数据库,所有存储库和所有附件的存档文件. - -您只能将备份还原到与其创建时**完全相同的** GitLab **版本和类型(CE / EE)** . 将存储库从一台服务器迁移到另一台服务器的最佳方法是通过备份还原. - -## Requirements[](#requirements "Permalink") - -为了能够进行备份和还原,您需要在系统上安装两个基本工具. - -* **Rsync** :如果您安装了 GitLab: - * 使用 Omnibus 软件包,您已经准备就绪. - * 从源代码中,确保已安装`rsync` . 例如: - - ``` - # Debian/Ubuntu sudo apt-get install rsync # RHEL/CentOS sudo yum install rsync - ``` - -## Backup timestamp[](#backup-timestamp "Permalink") - -**注意:**在 GitLab 9.2 中,时间戳格式从`EPOCH_YYYY_MM_DD`更改为`EPOCH_YYYY_MM_DD_GitLab_version` ,例如`1493107454_2018_04_25`将变为`1493107454_2018_04_25_10.6.4-ce` . - -备份存档将保存在`config/gitlab.yml`文件中指定的`backup_path`中. 文件名将为`[TIMESTAMP]_gitlab_backup.tar` ,其中`TIMESTAMP`标识创建每个备份的时间以及 GitLab 版本. 如果您需要还原 GitLab 并且有多个备份可用,则需要时间戳. - -例如,如果备份名称为`1493107454_2018_04_25_10.6.4-ce_gitlab_backup.tar` ,则时间戳为`1493107454_2018_04_25_10.6.4-ce` . - -## Back up GitLab[](#back-up-gitlab "Permalink") - -GitLab 提供了一个简单的命令行界面来备份整个实例. 它备份您的: - -* Database -* Attachments -* Git 存储库数据 -* CI / CD 作业输出日志 -* CI / CD 作业工件 -* LFS 对象 -* 容器注册表图像 -* GitLab 页面内容 - -**警告:** GitLab 不会备份任何配置文件,SSL 证书或系统文件. 强烈建议您[阅读有关存储配置文件的信息](#storing-configuration-files) . - -如果您已通过 Omnibus 软件包安装了 GitLab,请使用以下命令: - -``` -sudo gitlab-backup create -``` - -**注意**对于 GitLab 12.1 和更早版本,请使用`gitlab-rake gitlab:backup:create` . - -如果您已经从源代码安装了 GitLab,请使用以下命令: - -``` -sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production -``` - -如果您正在 Docker 容器中运行 GitLab,则可以从主机运行备份: - -``` -docker exec -t gitlab-backup create -``` - -**注意**对于 GitLab 12.1 和更早版本,请使用`gitlab-rake gitlab:backup:create` . - -如果您正在 Kubernetes 集群上使用[GitLab Helm 图表](https://gitlab.com/gitlab-org/charts/gitlab) ,则可以通过`kubectl`在 GitLab 任务运行`backup-utility`窗格上使用`backup-utility`脚本运行备份任务. 有关更多详细信息,请参考[备份 GitLab 安装](https://gitlab.com/gitlab-org/charts/gitlab/blob/master/doc/backup-restore/backup.md#backing-up-a-gitlab-installation) : - -``` -kubectl exec -it backup-utility -``` - -与 Kubernetes 情况类似,如果已扩展 GitLab 集群以使用多个应用程序服务器,则应选择一个指定节点(不会自动扩展)以运行备份 Rake 任务. 由于备份 Rake 任务与主 Rails 应用程序紧密相连,因此通常在该节点上您还运行 Unicorn / Puma 和/或 Sidekiq. - -输出示例: - -``` -Dumping database tables: -- Dumping table events... [DONE] -- Dumping table issues... [DONE] -- Dumping table keys... [DONE] -- Dumping table merge_requests... [DONE] -- Dumping table milestones... [DONE] -- Dumping table namespaces... [DONE] -- Dumping table notes... [DONE] -- Dumping table projects... [DONE] -- Dumping table protected_branches... [DONE] -- Dumping table schema_migrations... [DONE] -- Dumping table services... [DONE] -- Dumping table snippets... [DONE] -- Dumping table taggings... [DONE] -- Dumping table tags... [DONE] -- Dumping table users... [DONE] -- Dumping table users_projects... [DONE] -- Dumping table web_hooks... [DONE] -- Dumping table wikis... [DONE] -Dumping repositories: -- Dumping repository abcd... [DONE] -Creating backup archive: $TIMESTAMP_gitlab_backup.tar [DONE] -Deleting tmp directories...[DONE] -Deleting old backups... [SKIPPING] -``` - -### Storing configuration files[](#storing-configuration-files "Permalink") - -The [backup Rake task](#back-up-gitlab) GitLab provides does **not** store your configuration files. The primary reason for this is that your database contains encrypted information for two-factor authentication, the CI/CD ‘secure variables’, and so on. Storing encrypted information along with its key in the same place defeats the purpose of using encryption in the first place. - -**警告:**机密文件对于保留数据库加密密钥至关重要. - -**至少** ,您必须备份: - -对所有人; - -* `/etc/gitlab/gitlab-secrets.json` -* `/etc/gitlab/gitlab.rb` - -从源安装: - -* `/home/git/gitlab/config/secrets.yml` -* `/home/git/gitlab/config/gitlab.yml` - -For [Docker installations](https://docs.gitlab.com/omnibus/docker/), you must back up the volume where the configuration files are stored. If you have created the GitLab container according to the documentation, it should be under `/srv/gitlab/config`. - -对于 Kubernetes 集群上的[GitLab Helm 图表安装](https://gitlab.com/gitlab-org/charts/gitlab) ,必须遵循[备份机密](https://docs.gitlab.com/charts/backup-restore/backup.html)说明. - -您可能还想备份所有 TLS 密钥和证书以及[SSH 主机密钥](https://superuser.com/questions/532040/copy-ssh-keys-from-one-server-to-another-server/532079#532079) . - -如果您使用 Omnibus GitLab,请参阅一些其他信息[来备份您的配置](https://docs.gitlab.com/omnibus/settings/backups.html) . - -万一机密文件丢失,请参阅[故障排除部分](#when-the-secrets-file-is-lost) . - -### Backup options[](#backup-options "Permalink") - -GitLab 提供的用于备份实例的命令行工具可以使用更多选项. - -#### Backup strategy option[](#backup-strategy-option "Permalink") - -在 GitLab 8.17 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/8728) . - -默认的备份策略实际上是使用 Linux 命令`tar`和`gzip`将数据从相应的数据位置流式传输到备份. 在大多数情况下,这可以正常工作,但是在数据快速变化时可能会引起问题. - -当`tar`读取数据时更改数据时,错误`file changed as we read it`可能会`file changed as we read it`发生`file changed as we read it`将导致备份过程失败. 为了解决这个问题,8.17 引入了一种名为`copy`的新备份策略. 该策略在调用`tar`和`gzip`之前将数据文件复制到一个临时位置,从而避免了错误. - -副作用是备份过程将占用额外的 1X 磁盘空间. 该过程尽力在每个阶段清理临时文件,这样问题就不会复杂化,但是对于大型安装而言,这可能是一个相当大的变化. 这就是为什么`copy`策略不是 8.17 中的默认策略的原因. - -要使用`copy`策略而不是默认的流策略,请在 Rake task 命令中指定`STRATEGY=copy` . 例如: - -``` -sudo gitlab-backup create STRATEGY=copy -``` - -**注意**对于 GitLab 12.1 和更早版本,请使用`gitlab-rake gitlab:backup:create` . - -#### Backup filename[](#backup-filename "Permalink") - -**警告:**如果使用自定义备份文件名,则将无法[限制备份的寿命](#limit-backup-lifetime-for-local-files-prune-old-backups) . - -默认情况下,将根据上面["备份时间戳记"](#backup-timestamp)部分中的规范创建一个备份文件. 但是,可以通过设置`BACKUP`环境变量来覆盖文件名的`[TIMESTAMP]`部分. 例如: - -``` -sudo gitlab-backup create BACKUP=dump -``` - -**注意**对于 GitLab 12.1 和更早版本,请使用`gitlab-rake gitlab:backup:create` . - -生成的文件将是`dump_gitlab_backup.tar` . 这对于使用 rsync 和增量备份的系统很有用,并且将导致更快的传输速度. - -#### Rsyncable[](#rsyncable "Permalink") - -为了确保生成的归档文件可以通过 rsync 智能传输,可以设置`GZIP_RSYNCABLE=yes`选项. 这会将`--rsyncable`选项设置为`gzip` . 这仅在与设置["备份文件名"选项](#backup-filename)结合使用时才有用. - -注意,不能保证`gzip`中的`--rsyncable`选项在所有发行版中都可用. 要验证它在您的发行版中是否可用,您可以运行`gzip --help`或查阅手册页. - -``` -sudo gitlab-backup create BACKUP=dump GZIP_RSYNCABLE=yes -``` - -**注意**对于 GitLab 12.1 和更早版本,请使用`gitlab-rake gitlab:backup:create` . - -#### Excluding specific directories from the backup[](#excluding-specific-directories-from-the-backup "Permalink") - -您可以通过添加环境变量`SKIP`选择从备份中免除的内容. 可用的选项有: - -* `db` (database) -* `uploads` (attachments) -* `repositories` (Git 仓库数据) -* `builds` (CI 作业输出日志) -* `artifacts` (CI 作业工件) -* `lfs` (LFS 对象) -* `registry` (容器注册表图像) -* `pages` (页面内容) - -使用逗号同时指定多个选项: - -所有 Wiki 将作为`repositories`组的一部分进行备份. 备份期间将跳过不存在的 Wiki. - -对于 Omnibus GitLab 软件包: - -``` -sudo gitlab-backup create SKIP=db,uploads -``` - -**注意**对于 GitLab 12.1 和更早版本,请使用`gitlab-rake gitlab:backup:create` . - -对于源安装: - -``` -sudo -u git -H bundle exec rake gitlab:backup:create SKIP=db,uploads RAILS_ENV=production -``` - -#### Skipping tar creation[](#skipping-tar-creation "Permalink") - -创建备份的最后一部分是生成包含所有部分的`.tar`文件. 在某些情况下(例如,如果备份是由其他备份软件获取的),创建`.tar`文件可能会浪费精力,甚至直接有害,因此可以通过将`tar`添加到`SKIP`环境变量中来跳过此步骤. - -将`tar`添加到`SKIP`变量`SKIP`包含备份的文件和目录保留在用于中间文件的目录中. 创建新备份时,这些文件将被覆盖,因此您应确保将它们复制到其他位置,因为系统上只能有一个备份. - -对于 Omnibus GitLab 软件包: - -``` -sudo gitlab-backup create SKIP=tar -``` - -对于源安装: - -``` -sudo -u git -H bundle exec rake gitlab:backup:create SKIP=tar RAILS_ENV=production -``` - -#### Uploading backups to a remote (cloud) storage[](#uploading-backups-to-a-remote-cloud-storage "Permalink") - -从 GitLab 7.4 开始,您可以让备份脚本上载它创建的`.tar`文件. 它使用[Fog 库](http://fog.io/)执行上传. 在下面的示例中,我们使用 Amazon S3 进行存储,但是 Fog 还允许您使用[其他存储提供商](http://fog.io/storage/) . GitLab 也为 AWS,Google,OpenStack Swift,Rackspace 和 Aliyun [导入了云驱动程序](https://gitlab.com/gitlab-org/gitlab/blob/30f5b9a5b711b46f1065baf755e413ceced5646b/Gemfile#L88) . [也可以使用](#uploading-to-locally-mounted-shares)本地驱动程序. - -[Read more about using object storage with GitLab](../administration/object_storage.html). - -##### Using Amazon S3[](#using-amazon-s3 "Permalink") - -对于 Omnibus GitLab 软件包: - -1. 将以下内容添加到`/etc/gitlab/gitlab.rb` : - - ``` - gitlab_rails['backup_upload_connection'] = { - 'provider' => 'AWS', - 'region' => 'eu-west-1', - 'aws_access_key_id' => 'AKIAKIAKI', - 'aws_secret_access_key' => 'secret123' - # If using an IAM Profile, don't configure aws_access_key_id & aws_secret_access_key - # 'use_iam_profile' => true - } - gitlab_rails['backup_upload_remote_directory'] = 'my.s3.bucket' - ``` - -2. [Reconfigure GitLab](../administration/restart_gitlab.html#omnibus-gitlab-reconfigure) for the changes to take effect - -##### Digital Ocean Spaces[](#digital-ocean-spaces "Permalink") - -该示例可用于阿姆斯特丹(AMS3)中的存储桶. - -1. 将以下内容添加到`/etc/gitlab/gitlab.rb` : - - ``` - gitlab_rails['backup_upload_connection'] = { - 'provider' => 'AWS', - 'region' => 'ams3', - 'aws_access_key_id' => 'AKIAKIAKI', - 'aws_secret_access_key' => 'secret123', - 'endpoint' => 'https://ams3.digitaloceanspaces.com' - } - gitlab_rails['backup_upload_remote_directory'] = 'my.s3.bucket' - ``` - -2. [重新配置 GitLab](../administration/restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效 - -**注意:**如果通过使用 Digital Ocean Spaces 看到`400 Bad Request` ,则可能是由于使用了备份加密. 由于 Digital Ocean Spaces 不支持加密,因此删除或注释包含`gitlab_rails['backup_encryption']`的行. - -##### Other S3 Providers[](#other-s3-providers "Permalink") - -并非所有 S3 提供程序都与 Fog 库完全兼容. 例如,如果尝试上传后看到`411 Length Required`错误, `aws_signature_version` [于此问题](https://github.com/fog/fog-aws/issues/428) ,您可能需要将`aws_signature_version`值从默认值降级为 2. - -对于源安装: - -1. Edit `home/git/gitlab/config/gitlab.yml`: - - ``` - backup: - # snip - upload: - # Fog storage connection settings, see http://fog.io/storage/ . - connection: - provider: AWS - region: eu-west-1 - aws_access_key_id: AKIAKIAKI - aws_secret_access_key: 'secret123' - # If using an IAM Profile, leave aws_access_key_id & aws_secret_access_key empty - # ie. aws_access_key_id: '' - # use_iam_profile: 'true' - # The remote 'directory' to store your backups. For S3, this would be the bucket name. - remote_directory: 'my.s3.bucket' - # Turns on AWS Server-Side Encryption with Amazon S3-Managed Keys for backups, this is optional - # encryption: 'AES256' - # Turns on AWS Server-Side Encryption with Amazon Customer-Provided Encryption Keys for backups, this is optional - # This should be set to the encryption key for Amazon S3 to use to encrypt or decrypt your data. - # 'encryption' must also be set in order for this to have any effect. - # To avoid storing the key on disk, the key can also be specified via the `GITLAB_BACKUP_ENCRYPTION_KEY` environment variable. - # encryption_key: '' - # Specifies Amazon S3 storage class to use for backups, this is optional - # storage_class: 'STANDARD' - ``` - -2. [重新启动 GitLab](../administration/restart_gitlab.html#installations-from-source)以使更改生效 - -如果要将备份上传到 S3,则可能需要创建具有受限访问权限的新 IAM 用户. 要使上载用户仅能上载备份,请创建以下 IAM 配置文件,将`my.s3.bucket`替换为存储桶的名称: - -``` -{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1412062044000", "Effect": "Allow", "Action": [ "s3:AbortMultipartUpload", "s3:GetBucketAcl", "s3:GetBucketLocation", "s3:GetObject", "s3:GetObjectAcl", "s3:ListBucketMultipartUploads", "s3:PutObject", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::my.s3.bucket/*" ] }, { "Sid": "Stmt1412062097000", "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:ListAllMyBuckets" ], "Resource": [ "*" ] }, { "Sid": "Stmt1412062128000", "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::my.s3.bucket" ] } ] } -``` - -##### Using Google Cloud Storage[](#using-google-cloud-storage "Permalink") - -如果要使用 Google Cloud Storage 保存备份,则必须首先从 Google 控制台创建访问密钥: - -1. 转到存储设置页面[https://console.cloud.google.com/storage/settings](https://console.cloud.google.com/storage/settings) -2. 选择"互操作性"并创建访问密钥 -3. 记下"访问密钥"和"秘密"并将其替换为以下配置 -4. 在存储桶高级设置中,确保选择了访问控制选项"设置对象级别和存储桶级别权限" -5. 确保您已经创建了存储桶 - -对于 Omnibus GitLab 软件包: - -1. Edit `/etc/gitlab/gitlab.rb`: - - ``` - gitlab_rails['backup_upload_connection'] = { - 'provider' => 'Google', - 'google_storage_access_key_id' => 'Access Key', - 'google_storage_secret_access_key' => 'Secret', - - ## If you have CNAME buckets (foo.example.com), you might run into SSL issues - ## when uploading backups ("hostname foo.example.com.storage.googleapis.com - ## does not match the server certificate"). In that case, uncomnent the following - ## setting. See: https://github.com/fog/fog/issues/2834 - #'path_style' => true - } - gitlab_rails['backup_upload_remote_directory'] = 'my.google.bucket' - ``` - -2. [重新配置 GitLab](../administration/restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效 - -对于源安装: - -1. Edit `home/git/gitlab/config/gitlab.yml`: - - ``` - backup: - upload: - connection: - provider: 'Google' - google_storage_access_key_id: 'Access Key' - google_storage_secret_access_key: 'Secret' - remote_directory: 'my.google.bucket' - ``` - -2. [重新启动 GitLab](../administration/restart_gitlab.html#installations-from-source)以使更改生效 - -##### Specifying a custom directory for backups[](#specifying-a-custom-directory-for-backups "Permalink") - -Note: This option only works for remote storage. If you want to group your backups you can pass a `DIRECTORY` environment variable: - -``` -sudo gitlab-backup create DIRECTORY=daily -sudo gitlab-backup create DIRECTORY=weekly -``` - -**注意**对于 GitLab 12.1 和更早版本,请使用`gitlab-rake gitlab:backup:create` . - -#### Uploading to locally mounted shares[](#uploading-to-locally-mounted-shares "Permalink") - -You may also send backups to a mounted share (for example, `NFS`,`CIFS`, or `SMB`) by using the Fog [`Local`](https://github.com/fog/fog-local#usage) storage provider. The directory pointed to by the `local_root` key **must** be owned by the `git` user **安装时** (mounting with the `uid=` of the `git` user for `CIFS` and `SMB`) or the user that you are executing the backup tasks under (for Omnibus packages, this is the `git` user). - -除`local_root`密钥外, `backup_upload_remote_directory` **必须**设置`local_root` . 这是已安装目录中的子目录,备份将被复制到该子目录,如果不存在,则会创建备份. 如果要将压缩文件复制到的目录是已安装目录的根目录,请使用`.` 代替. - -**注意:**由于文件系统性能可能会影响 GitLab 的整体性能,因此我们不建议使用 EFS 进行存储. [有关](../administration/high_availability/nfs.html#avoid-using-awss-elastic-file-system-efs)更多详细信息,请参见[相关文档](../administration/high_availability/nfs.html#avoid-using-awss-elastic-file-system-efs) . - -对于 Omnibus GitLab 软件包: - -1. Edit `/etc/gitlab/gitlab.rb`: - - ``` - gitlab_rails['backup_upload_connection'] = { - :provider => 'Local', - :local_root => '/mnt/backups' - } - - # The directory inside the mounted folder to copy backups to - # Use '.' to store them in the root directory - gitlab_rails['backup_upload_remote_directory'] = 'gitlab_backups' - ``` - -2. [重新配置 GitLab,](../administration/restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -对于源安装: - -1. Edit `home/git/gitlab/config/gitlab.yml`: - - ``` - backup: - upload: - # Fog storage connection settings, see http://fog.io/storage/ . - connection: - provider: Local - local_root: '/mnt/backups' - # The directory inside the mounted folder to copy backups to - # Use '.' to store them in the root directory - remote_directory: 'gitlab_backups' - ``` - -2. [重新启动 GitLab,](../administration/restart_gitlab.html#installations-from-source)以使更改生效. - -#### Backup archive permissions[](#backup-archive-permissions "Permalink") - -由 GitLab 创建的备份存档( `1393513186_2014_02_27_gitlab_backup.tar` )默认情况下将具有所有者/组`git` / `git`和 0600 权限. 这是为了避免其他系统用户读取 GitLab 的数据. 如果您需要备份存档具有不同的权限,则可以使用" archive_permissions"设置. - -对于 Omnibus GitLab 软件包: - -1. Edit `/etc/gitlab/gitlab.rb`: - - ``` - gitlab_rails['backup_archive_permissions'] = 0644 # Makes the backup archives world-readable - ``` - -2. [重新配置 GitLab,](../administration/restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -对于源安装: - -1. Edit `/home/git/gitlab/config/gitlab.yml`: - - ``` - backup: - archive_permissions: 0644 # Makes the backup archives world-readable - ``` - -2. [重新启动 GitLab,](../administration/restart_gitlab.html#installations-from-source)以使更改生效. - -#### Configuring cron to make daily backups[](#configuring-cron-to-make-daily-backups "Permalink") - -**警告:**以下 cron 作业不会[备份您的 GitLab 配置文件](#storing-configuration-files)或[SSH 主机密钥](https://superuser.com/questions/532040/copy-ssh-keys-from-one-server-to-another-server/532079#532079) . - -您可以安排一个 cron 作业来备份您的存储库和 GitLab 元数据. - -对于 Omnibus GitLab 软件包: - -1. 编辑`root`用户的 crontab: - - ``` - sudo su - - crontab -e - ``` - -2. 在那里,添加以下行以安排每天凌晨 2 点进行备份: - - ``` - 0 2 * * * /opt/gitlab/bin/gitlab-backup create CRON=1 - ``` - - **注意**对于 GitLab 12.1 和更早版本,请使用`gitlab-rake gitlab:backup:create` . - -对于源安装: - -1. 编辑`git`用户的 crontab: - - ``` - sudo -u git crontab -e - ``` - -2. 在底部添加以下行: - - ``` - # Create a full backup of the GitLab repositories and SQL database every day at 2am - 0 2 * * * cd /home/git/gitlab && PATH=/usr/local/bin:/usr/bin:/bin bundle exec rake gitlab:backup:create RAILS_ENV=production CRON=1 - ``` - -**注意:**如果没有错误, `CRON=1`环境设置将告诉备份脚本禁止所有进度输出. 建议减少 Cron 垃圾邮件. - -### Limit backup lifetime for local files (prune old backups)[](#limit-backup-lifetime-for-local-files-prune-old-backups "Permalink") - -**警告:**如果您使用[自定义文件名](#backup-filename)进行备份,则此操作将无效.**注意:**此配置选项仅管理本地文件. GitLab 不会自动修剪存储在第三方[对象](#uploading-backups-to-a-remote-cloud-storage)存储中的旧文件,因为用户可能没有列出和删除文件的权限. 建议您为对象存储配置适当的保留策略(例如[AWS S3](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-lifecycle.html) ). - -您可能希望为备份设置有限的生命周期,以防止使用所有磁盘空间进行常规备份. 下次运行备份任务时,将修剪早于`backup_keep_time`备份. - -对于 Omnibus GitLab 软件包: - -1. Edit `/etc/gitlab/gitlab.rb`: - - ``` - ## Limit backup lifetime to 7 days - 604800 seconds - gitlab_rails['backup_keep_time'] = 604800 - ``` - -2. [重新配置 GitLab,](../administration/restart_gitlab.html#omnibus-gitlab-reconfigure)以使更改生效. - -对于源安装: - -1. Edit `/home/git/gitlab/config/gitlab.yml`: - - ``` - backup: - ## Limit backup lifetime to 7 days - 604800 seconds - keep_time: 604800 - ``` - -2. [重新启动 GitLab,](../administration/restart_gitlab.html#installations-from-source)以使更改生效. - -## Restore GitLab[](#restore-gitlab "Permalink") - -GitLab 提供了一个简单的命令行界面来还原整个安装过程,并且足够灵活,可以满足您的需求. - -[还原先决条件部分](#restore-prerequisites)包括关键信息. 在尝试在生产环境中执行还原过程之前,请确保至少阅读并测试整个还原过程一次. - -您只能将备份还原到**与**您在其上创建备份的 GitLab **版本和类型(CE / EE)完全相同的**备份,例如 CE 9.1.0. - -如果备份的版本与当前安装的版本不同,则在还原备份之前,您需要[降级 GitLab 安装](https://docs.gitlab.com/omnibus/update/README.html) . - -### Restore prerequisites[](#restore-prerequisites "Permalink") - -您需要先进行有效的 GitLab 安装,然后才能执行还原. 这主要是因为通常不允许执行还原操作( `git` )的系统用户创建或删除将数据导入到( `gitlabhq_production` )所需的 SQL 数据库. 所有现有数据将被擦除(SQL)或移动到单独的目录(存储库,上载). - -要还原备份,您还需要还原`/etc/gitlab/gitlab-secrets.json` (对于 Omnibus 软件包)或`/home/git/gitlab/.secret` (对于从源安装). 该文件包含数据库加密密钥, [CI / CD 变量](../ci/variables/README.html#gitlab-cicd-environment-variables)以及用于[两因素身份验证的](../user/profile/account/two_factor_authentication.html)变量. 如果您无法通过应用程序数据备份还原此加密密钥文件,则启用了双重身份验证和 GitLab Runners 的用户将无法访问您的 GitLab 服务器. - -您可能还想还原所有 TLS 密钥,证书或[SSH 主机密钥](https://superuser.com/questions/532040/copy-ssh-keys-from-one-server-to-another-server/532079#532079) . - -从 GitLab 12.9 开始,如果找到了未取消备份(如使用`SKIP=tar`备份),并且未使用`BACKUP=`选择任何备份,则将使用未取消备份. - -根据您的情况,您可能需要使用以下一个或多个选项来运行 restore 命令: - -* `BACKUP=timestamp_of_backup`如果存在多个备份,则为必需. 阅读有关[备份时间戳记的内容](#backup-timestamp) . -* `force=yes` yes-不询问是否应重新生成 authorized_keys 文件,并假设" yes"以警告将删除数据库表,启用"写入 authorized_keys 文件"设置并更新 LDAP 提供程序. - -如果要还原到作为挂载点的目录,则在尝试还原之前,需要确保这些目录为空. 否则,GitLab 将在恢复新数据之前尝试移动这些目录,这将导致错误. - -阅读有关[配置 NFS 挂载的](../administration/high_availability/nfs.html)更多信息 - -### Restore for installation from source[](#restore-for-installation-from-source "Permalink") - -``` -# Stop processes that are connected to the database -sudo service gitlab stop - -bundle exec rake gitlab:backup:restore RAILS_ENV=production -``` - -输出示例: - -``` -Unpacking backup... [DONE] -Restoring database tables: --- create_table("events", {:force=>true}) - -> 0.2231s -[...] -- Loading fixture events...[DONE] -- Loading fixture issues...[DONE] -- Loading fixture keys...[SKIPPING] -- Loading fixture merge_requests...[DONE] -- Loading fixture milestones...[DONE] -- Loading fixture namespaces...[DONE] -- Loading fixture notes...[DONE] -- Loading fixture projects...[DONE] -- Loading fixture protected_branches...[SKIPPING] -- Loading fixture schema_migrations...[DONE] -- Loading fixture services...[SKIPPING] -- Loading fixture snippets...[SKIPPING] -- Loading fixture taggings...[SKIPPING] -- Loading fixture tags...[SKIPPING] -- Loading fixture users...[DONE] -- Loading fixture users_projects...[DONE] -- Loading fixture web_hooks...[SKIPPING] -- Loading fixture wikis...[SKIPPING] -Restoring repositories: -- Restoring repository abcd... [DONE] -- Object pool 1 ... -Deleting tmp directories...[DONE] -``` - -接下来,如果需要,请如上所述恢复`/home/git/gitlab/.secret` . - -重新启动 GitLab: - -``` -sudo service gitlab restart -``` - -### Restore for Omnibus GitLab installations[](#restore-for-omnibus-gitlab-installations "Permalink") - -此过程假定: - -* 您已经安装了与创建备份**完全相同**的 GitLab Omnibus **版本和类型(CE / EE)** . -* 您已经至少运行过`sudo gitlab-ctl reconfigure`一次. -* GitLab 正在运行. 如果没有,请使用`sudo gitlab-ctl start`启动它. - -首先,请确保您的备份 tar 文件位于`gitlab.rb`配置`gitlab_rails['backup_path']`描述的备份目录中. 默认值为`/var/opt/gitlab/backups` . 它必须由`git`用户拥有. - -``` -sudo cp 11493107454_2018_04_25_10.6.4-ce_gitlab_backup.tar /var/opt/gitlab/backups/ -sudo chown git.git /var/opt/gitlab/backups/11493107454_2018_04_25_10.6.4-ce_gitlab_backup.tar -``` - -停止连接到数据库的进程. 保持其余的 GitLab 运行: - -``` -sudo gitlab-ctl stop unicorn -sudo gitlab-ctl stop puma -sudo gitlab-ctl stop sidekiq -# Verify -sudo gitlab-ctl status -``` - -接下来,还原备份,并指定要还原的备份的时间戳记: - -``` -# This command will overwrite the contents of your GitLab database! -sudo gitlab-backup restore BACKUP=11493107454_2018_04_25_10.6.4-ce -``` - -**注意**对于 GitLab 12.1 和更早版本,请使用`gitlab-rake gitlab:backup:restore` .**警告:** `gitlab-rake gitlab:backup:restore`没有在您的注册表目录上设置正确的文件系统权限. 这是一个[已知问题](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/62759) . 在 GitLab 12.2 或更高版本上,您可以使用`gitlab-backup restore`来避免此问题. - -接下来,根据需要如上所述恢复`/etc/gitlab/gitlab-secrets.json` . - -重新配置,重启并检查 GitLab: - -``` -sudo gitlab-ctl reconfigure -sudo gitlab-ctl restart -sudo gitlab-rake gitlab:check SANITIZE=true -``` - -如果您的备份 tar 文件和已安装的 GitLab 版本之间的 GitLab 版本不匹配,则 restore 命令将中止并显示错误. 安装[正确的 GitLab 版本,](https://packages.gitlab.com/gitlab/)然后重试. - -**注意**当前存在一个与`pgbouncer`不兼容的还原[问题](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/3470) . 为了解决该问题,Rails 节点将需要绕过`pgbouncer`并直接连接到主数据库节点. 这可以通过设置`gitlab_rails['db_host']`和`gitlab_rails['port']`连接到主数据库节点并[重新配置 GitLab 来完成](../administration/restart_gitlab.html#omnibus-gitlab-reconfigure) . - -### Restore for Docker image and GitLab Helm chart installations[](#restore-for-docker-image-and-gitlab-helm-chart-installations "Permalink") - -对于使用 Kubernetes 集群上的 Docker 映像或 GitLab Helm 图表进行的 GitLab 安装,还原任务期望还原目录为空. 但是,使用 Docker 和 Kubernetes 卷挂载,可能会在卷根目录上创建一些系统级目录,例如 Linux 操作系统中找到的`lost+found`目录. 这些目录通常归`root`拥有,因为 restore Rake 任务以`git`用户身份运行,因此可能导致访问权限错误. 因此,要还原 GitLab 安装,用户必须确认还原目标目录为空. - -对于这两种安装类型,备份 tarball 必须在备份位置(默认位置为`/var/opt/gitlab/backups` )中`/var/opt/gitlab/backups` . - -对于 Docker 安装,可以从主机运行还原任务: - -``` -docker exec -it gitlab-backup restore -``` - -**注意**对于 GitLab 12.1 和更早版本,请使用`gitlab-rake gitlab:backup:restore` .**警告:** `gitlab-rake gitlab:backup:restore`没有在您的注册表目录上设置正确的文件系统权限. 这是一个[已知问题](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/62759) . 在 GitLab 12.2 或更高版本上,您可以使用`gitlab-backup restore`来避免此问题. - -GitLab Helm 图表使用不同的过程,在[恢复 GitLab Helm 图表安装中](https://gitlab.com/gitlab-org/charts/gitlab/blob/master/doc/backup-restore/restore.md)记录了该过程. - -### Restoring only one or a few project(s) or group(s) from a backup[](#restoring-only-one-or-a-few-projects-or-groups-from-a-backup "Permalink") - -尽管用于还原 GitLab 实例的 Rake 任务不支持还原单个项目或组,但是您可以使用一种解决方法,将备份还原到单独的临时 GitLab 实例,然后从那里导出您的项目或组: - -1. 以与要还原的备份实例相同的版本[安装新的 GitLab](../install/README.html)实例. -2. [将备份还原](#restore-gitlab)到此新实例中,然后导出您的[项目](../user/project/settings/import_export.html)或[组](../user/group/settings/import_export.html) . 确保阅读任一导出功能文档上的**重要说明** ,以了解将导出什么内容,不导出什么内容. -3. 导出完成后,转到旧实例并导入它. -4. 仅在完成所需的项目或组的导入后,您可以删除新的临时 GitLab 实例. - -**注意**在[问题#17517 中](https://gitlab.com/gitlab-org/gitlab/-/issues/17517)讨论了提供直接还原单个项目或组的功能请求. - -## Alternative backup strategies[](#alternative-backup-strategies "Permalink") - -如果您的 GitLab 服务器包含很多 Git 存储库数据,您可能会发现 GitLab 备份脚本太慢. 在这种情况下,您可以考虑将文件系统快照用作备份策略的一部分. - -示例:Amazon EBS - -> A GitLab server using Omnibus GitLab hosted on Amazon AWS. An EBS drive containing an ext4 filesystem is mounted at `/var/opt/gitlab`. In this case you could make an application backup by taking an EBS snapshot. The backup includes all repositories, uploads and PostgreSQL data. - -示例:LVM 快照+ rsync - -> 使用 Omnibus GitLab 的 GitLab 服务器,其 LVM 逻辑卷安装在`/var/opt/gitlab` . 使用 rsync 复制`/var/opt/gitlab`目录将不可靠,因为运行 rsync 时会更改太多文件. 而不是 rsync-ing `/var/opt/gitlab` ,我们创建一个临时 LVM 快照,将其作为只读文件系统安装在`/mnt/gitlab_backup` . 现在,我们可以运行更长的 rsync 作业,它将在远程服务器上创建一致的副本. 副本包括所有存储库,上载和 PostgreSQL 数据. - -如果您在虚拟服务器上运行 GitLab,则还可以创建整个 GitLab 服务器的 VM 快照. 但是,VM 快照要求您关闭服务器电源的情况并不少见,因此这种方法的实际使用可能受到限制. - -## Additional notes[](#additional-notes "Permalink") - -本文档适用于 GitLab 社区和企业版. 我们备份 GitLab.com 并确保您的数据安全,但是您不能使用这些方法自己从 GitLab.com 导出/备份数据. - -问题存储在数据库中. 它们不能存储在 Git 本身中. - -要使用最新版本的 GitLab 将存储库从一台服务器迁移到另一台服务器,可以使用[import Rake 任务](import.html)来批量导入存储库. 请注意,如果您执行导入 Rake 任务而不是备份还原,则将拥有所有存储库,但没有其他任何数据. - -## Troubleshooting[](#troubleshooting "Permalink") - -以下是可能的解决方案可能遇到的问题. - -### Restoring database backup using Omnibus packages outputs warnings[](#restoring-database-backup-using-omnibus-packages-outputs-warnings "Permalink") - -如果使用备份还原过程,则可能会遇到以下警告: - -``` -psql:/var/opt/gitlab/backups/db/database.sql:22: ERROR: must be owner of extension plpgsql -psql:/var/opt/gitlab/backups/db/database.sql:2931: WARNING: no privileges could be revoked for "public" (two occurrences) -psql:/var/opt/gitlab/backups/db/database.sql:2933: WARNING: no privileges were granted for "public" (two occurrences) -``` - -请注意,尽管有这些警告,备份仍成功还原. - -Rake 任务以`gitlab`用户身份运行,该用户没有对数据库的超级用户访问权限. 启动还原时,它还将以`gitlab`用户身份运行,但也会尝试更改其无权访问的对象. 这些对象对数据库的备份/还原没有影响,但是它们发出此烦人的警告. - -有关更多信息,请参见[此处](https://s0www0postgresql0org.icopy.site/message-id/201110220712.30886.adrian.klaver@gmail.com)和[此处](https://s0www0postgresql0org.icopy.site/message-id/2039.1177339749@sss.pgh.pa.us)有关 PostgreSQL 问题跟踪器的类似问题以及[堆栈溢出](https://stackoverflow.com/questions/4368789/error-must-be-owner-of-language-plpgsql) . - -### When the secrets file is lost[](#when-the-secrets-file-is-lost "Permalink") - -如果您无法[备份 secrets 文件](#storing-configuration-files) ,则启用 2FA 的用户将无法登录 GitLab. 在这种情况下,您需要[为所有人禁用 2FA](../security/two_factor_authentication.html#disabling-2fa-for-everyone) . - -机密文件还负责为包含敏感信息的几列存储加密密钥. 如果密钥丢失,GitLab 将无法解密这些列. 这将破坏广泛的功能,包括(但不限于): - -* [CI/CD variables](../ci/variables/README.html) -* [Kubernetes / GCP integration](../user/project/clusters/index.html) -* [Custom Pages domains](../user/project/pages/custom_domains_ssl_tls_certification/index.html) -* [Project error tracking](../user/project/operations/error_tracking.html) -* [Runner authentication](../ci/runners/README.html) -* [Project mirroring](../user/project/repository/repository_mirroring.html) -* [Web hooks](../user/project/integrations/webhooks.html) - -在 CI / CD 变量和 Runner 身份验证之类的情况下,您可能会遇到一些意外行为,例如: - -* 卡住了工作. -* 500 个错误. - -您可以使用[Secrets Doctor Rake 任务](../administration/raketasks/doctor.html)检查数据库中是否具有不可解密的值. - -在这种情况下,您需要重置 CI / CD 变量和运行程序身份验证的所有令牌,下面将对此进行详细说明. 重置令牌后,您应该能够访问您的项目,并且作业将重新开始运行. - -**警告:**使用以下命令需要您自担风险,并确保事先进行了备份. - -#### Reset CI/CD variables[](#reset-cicd-variables "Permalink") - -1. 输入数据库控制台: - - 对于 Omnibus GitLab 软件包: - - ``` - sudo gitlab-rails dbconsole - ``` - - 对于源安装: - - ``` - sudo -u git -H bundle exec rails dbconsole -e production - ``` - -2. 检查`ci_group_variables`和`ci_variables`表: - - ``` - SELECT * FROM public."ci_group_variables"; - SELECT * FROM public."ci_variables"; - ``` - - 这些是您需要删除的变量. - -3. 放下桌子: - - ``` - DELETE FROM ci_group_variables; - DELETE FROM ci_variables; - ``` - -4. 您可能需要重新配置或重新启动 GitLab 才能使更改生效. - -#### Reset Runner registration tokens[](#reset-runner-registration-tokens "Permalink") - -1. 输入数据库控制台: - - 对于 Omnibus GitLab 软件包: - - ``` - sudo gitlab-rails dbconsole - ``` - - 对于源安装: - - ``` - sudo -u git -H bundle exec rails dbconsole -e production - ``` - -2. 清除项目,组和整个实例的所有令牌: - - **Caution:** The last UPDATE operation will stop the runners being able to pick up new jobs. You must register new runners. - - ``` - -- Clear project tokens - UPDATE projects SET runners_token = null, runners_token_encrypted = null; - -- Clear group tokens - UPDATE namespaces SET runners_token = null, runners_token_encrypted = null; - -- Clear instance tokens - UPDATE application_settings SET runners_registration_token_encrypted = null; - -- Clear runner tokens - UPDATE ci_runners SET token = null, token_encrypted = null; - ``` - -#### Reset pending pipeline jobs[](#reset-pending-pipeline-jobs "Permalink") - -1. 输入数据库控制台: - - 对于 Omnibus GitLab 软件包: - - ``` - sudo gitlab-rails dbconsole - ``` - - 对于源安装: - - ``` - sudo -u git -H bundle exec rails dbconsole -e production - ``` - -2. 清除所有待处理作业的令牌: - - ``` - -- Clear build tokens - UPDATE ci_builds SET token = null, token_encrypted = null; - ``` - -其余功能也可以采用类似的策略-通过删除无法解密的数据,GitLab 可以恢复工作状态,并且可以手动替换丢失的数据. - -### Container Registry push failures after restoring from a backup[](#container-registry-push-failures-after-restoring-from-a-backup "Permalink") - -如果使用[Container Registry](../user/packages/container_registry/index.html) ,则在还原注册表数据后,在 Omnibus GitLab 实例上还原备份后,可能会推送到注册表失败. - -这些失败将在注册表日志中提及权限问题,例如: - -``` -level=error -msg="response completed with error" -err.code=unknown -err.detail="filesystem: mkdir /var/opt/gitlab/gitlab-rails/shared/registry/docker/registry/v2/repositories/...: permission denied" -err.message="unknown error" -``` - -这是由于还原以非特权用户`git`身份运行的,该用户在还原期间无法将正确的所有权分配给注册表文件( [问题 62759](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/62759 "还原后对注册表文件系统的权限不正确") ). - -要使您的注册表再次起作用: - -``` -sudo chown -R registry:registry /var/opt/gitlab/gitlab-rails/shared/registry/docker -``` - -**注意:**如果您更改了注册表的默认文件系统位置,则需要对定制位置而不是`/var/opt/gitlab/gitlab-rails/shared/registry/docker`运行`chown` . - -### Backup fails to complete with Gzip error[](#backup-fails-to-complete-with-gzip-error "Permalink") - -运行备份时,您可能会收到 Gzip 错误: - -``` -sudo /opt/gitlab/bin/gitlab-backup create -... -Dumping ... -... -gzip: stdout: Input/output error - -Backup failed -``` - -如果发生这种情况,请检查以下内容: - -1. 确认有足够的磁盘空间用于 Gzip 操作. -2. 如果正在使用 NFS,请检查是否设置了安装选项`timeout` . 默认值为`600` ,并将其更改为较小的值会导致此错误. \ No newline at end of file diff --git a/docs/511.md b/docs/511.md deleted file mode 100644 index 87e39ad..0000000 --- a/docs/511.md +++ /dev/null @@ -1,195 +0,0 @@ -# Clean up - -> 原文:[https://docs.gitlab.com/ee/raketasks/cleanup.html](https://docs.gitlab.com/ee/raketasks/cleanup.html) - -* [Remove unreferenced LFS files](#remove-unreferenced-lfs-files) - * [Remove unreferenced LFS files immediately](#remove-unreferenced-lfs-files-immediately) -* [Clean up project upload files](#clean-up-project-upload-files) - * [Clean up project upload files from filesystem](#clean-up-project-upload-files-from-filesystem) - * [Clean up project upload files from object storage](#clean-up-project-upload-files-from-object-storage) -* [Remove orphan artifact files](#remove-orphan-artifact-files) -* [Remove expired ActiveSession lookup keys](#remove-expired-activesession-lookup-keys) -* [Container Registry garbage collection](#container-registry-garbage-collection) - -# Clean up[](#clean-up-core-only "Permalink") - -GitLab 提供 Rake 任务来清理 GitLab 实例. - -## Remove unreferenced LFS files[](#remove-unreferenced-lfs-files "Permalink") - -在 GitLab 12.10 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/36628) . - -**危险:**不要在 GitLab 升级后的 12 小时内运行此程序. 这是为了确保所有后台迁移均已完成,否则可能导致数据丢失. - -当您从存储库的历史记录中删除 LFS 文件时,它们将变成孤立文件并继续占用磁盘空间. 使用此 Rake 任务,您可以从数据库中删除无效的引用,这将允许对 LFS 文件进行垃圾回收. - -例如: - -``` -# omnibus-gitlab -sudo gitlab-rake gitlab:cleanup:orphan_lfs_file_references PROJECT_PATH="gitlab-org/gitlab-foss" - -# installation from source -bundle exec rake gitlab:cleanup:orphan_lfs_file_references RAILS_ENV=production PROJECT_PATH="gitlab-org/gitlab-foss" -``` - -您也可以使用`PROJECT_ID`而不是`PROJECT_PATH`指定项目. - -例如: - -``` -$ sudo gitlab-rake gitlab:cleanup:orphan_lfs_file_references PROJECT_PATH="gitlab-org/gitlab-foss" -I, [2019-12-13T16:35:31.764962 #82356] INFO -- : Looking for orphan LFS files for project GitLab Org / GitLab Foss -I, [2019-12-13T16:35:31.923659 #82356] INFO -- : Removed invalid references: 12 -``` - -默认情况下,此任务不会删除任何内容,但会显示它可以删除多少个文件引用. 如果您确实要删除引用,请运行`DRY_RUN=false`的命令. 您还可以使用`LIMIT={number}`参数来限制已删除引用的数量. - -请注意,此 Rake 任务仅删除对 LFS 文件的引用. 未引用的 LFS 文件将在以后(每天一次)进行垃圾收集. 如果您需要立即进行垃圾回收,请运行以下描述的`rake gitlab:cleanup:orphan_lfs_files` . - -### Remove unreferenced LFS files immediately[](#remove-unreferenced-lfs-files-immediately "Permalink") - -在 GitLab 12.10 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/36628) . - -每天都会删除未引用的 LFS 文件,但是如果需要,您可以立即删除它们. 例如: - -``` -# omnibus-gitlab -sudo gitlab-rake gitlab:cleanup:orphan_lfs_files - -# installation from source -bundle exec rake gitlab:cleanup:orphan_lfs_files -``` - -输出示例: - -``` -$ sudo gitlab-rake gitlab:cleanup:orphan_lfs_files -I, [2020-01-08T20:51:17.148765 #43765] INFO -- : Removed unreferenced LFS files: 12 -``` - -## Clean up project upload files[](#clean-up-project-upload-files "Permalink") - -如果项目上传文件在 GitLab 数据库中不存在,请清理它们. - -### Clean up project upload files from filesystem[](#clean-up-project-upload-files-from-filesystem "Permalink") - -在 GitLab 11.2 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/20863) . - -如果本地项目上传文件在 GitLab 数据库中不存在,请清理它们. 如果该任务可以找到其项目,则该任务将尝试修复该文件,否则,它将文件移至丢失并找到的目录. - -``` -# omnibus-gitlab -sudo gitlab-rake gitlab:cleanup:project_uploads - -# installation from source -bundle exec rake gitlab:cleanup:project_uploads RAILS_ENV=production -``` - -输出示例: - -``` -$ sudo gitlab-rake gitlab:cleanup:project_uploads - -I, [2018-07-27T12:08:27.671559 #89817] INFO -- : Looking for orphaned project uploads to clean up. Dry run... -D, [2018-07-27T12:08:28.293568 #89817] DEBUG -- : Processing batch of 500 project upload file paths, starting with /opt/gitlab/embedded/service/gitlab-rails/public/uploads/test.out -I, [2018-07-27T12:08:28.689869 #89817] INFO -- : Can move to lost and found /opt/gitlab/embedded/service/gitlab-rails/public/uploads/test.out -> /opt/gitlab/embedded/service/gitlab-rails/public/uploads/-/project-lost-found/test.out -I, [2018-07-27T12:08:28.755624 #89817] INFO -- : Can fix /opt/gitlab/embedded/service/gitlab-rails/public/uploads/foo/bar/89a0f7b0b97008a4a18cedccfdcd93fb/foo.txt -> /opt/gitlab/embedded/service/gitlab-rails/public/uploads/qux/foo/bar/89a0f7b0b97008a4a18cedccfdcd93fb/foo.txt -I, [2018-07-27T12:08:28.760257 #89817] INFO -- : Can move to lost and found /opt/gitlab/embedded/service/gitlab-rails/public/uploads/foo/bar/1dd6f0f7eefd2acc4c2233f89a0f7b0b/image.png -> /opt/gitlab/embedded/service/gitlab-rails/public/uploads/-/project-lost-found/foo/bar/1dd6f0f7eefd2acc4c2233f89a0f7b0b/image.png -I, [2018-07-27T12:08:28.764470 #89817] INFO -- : To cleanup these files run this command with DRY_RUN=false - -$ sudo gitlab-rake gitlab:cleanup:project_uploads DRY_RUN=false I, [2018-07-27T12:08:32.944414 #89936] INFO -- : Looking for orphaned project uploads to clean up... -D, [2018-07-27T12:08:33.293568 #89817] DEBUG -- : Processing batch of 500 project upload file paths, starting with /opt/gitlab/embedded/service/gitlab-rails/public/uploads/test.out -I, [2018-07-27T12:08:33.689869 #89817] INFO -- : Did move to lost and found /opt/gitlab/embedded/service/gitlab-rails/public/uploads/test.out -> /opt/gitlab/embedded/service/gitlab-rails/public/uploads/-/project-lost-found/test.out -I, [2018-07-27T12:08:33.755624 #89817] INFO -- : Did fix /opt/gitlab/embedded/service/gitlab-rails/public/uploads/foo/bar/89a0f7b0b97008a4a18cedccfdcd93fb/foo.txt -> /opt/gitlab/embedded/service/gitlab-rails/public/uploads/qux/foo/bar/89a0f7b0b97008a4a18cedccfdcd93fb/foo.txt -I, [2018-07-27T12:08:33.760257 #89817] INFO -- : Did move to lost and found /opt/gitlab/embedded/service/gitlab-rails/public/uploads/foo/bar/1dd6f0f7eefd2acc4c2233f89a0f7b0b/image.png -> /opt/gitlab/embedded/service/gitlab-rails/public/uploads/-/project-lost-found/foo/bar/1dd6f0f7eefd2acc4c2233f89a0f7b0b/image.png -``` - -### Clean up project upload files from object storage[](#clean-up-project-upload-files-from-object-storage "Permalink") - -在 GitLab 11.2 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/20918) . - -如果对象存储库上载文件在 GitLab 数据库中不存在,请将其移动到丢失和找到的目录中. - -``` -# omnibus-gitlab -sudo gitlab-rake gitlab:cleanup:remote_upload_files - -# installation from source -bundle exec rake gitlab:cleanup:remote_upload_files RAILS_ENV=production -``` - -Example output: - -``` -$ sudo gitlab-rake gitlab:cleanup:remote_upload_files - -I, [2018-08-02T10:26:13.995978 #45011] INFO -- : Looking for orphaned remote uploads to remove. Dry run... -I, [2018-08-02T10:26:14.120400 #45011] INFO -- : Can be moved to lost and found: @hashed/6b/DSC_6152.JPG -I, [2018-08-02T10:26:14.120482 #45011] INFO -- : Can be moved to lost and found: @hashed/79/02/7902699be42c8a8e46fbbb4501726517e86b22c56a189f7625a6da49081b2451/711491b29d3eb08837798c4909e2aa4d/DSC00314.jpg -I, [2018-08-02T10:26:14.120634 #45011] INFO -- : To cleanup these files run this command with DRY_RUN=false -``` - -``` -$ sudo gitlab-rake gitlab:cleanup:remote_upload_files DRY_RUN=false I, [2018-08-02T10:26:47.598424 #45087] INFO -- : Looking for orphaned remote uploads to remove... -I, [2018-08-02T10:26:47.753131 #45087] INFO -- : Moved to lost and found: @hashed/6b/DSC_6152.JPG -> lost_and_found/@hashed/6b/DSC_6152.JPG -I, [2018-08-02T10:26:47.764356 #45087] INFO -- : Moved to lost and found: @hashed/79/02/7902699be42c8a8e46fbbb4501726517e86b22c56a189f7625a6da49081b2451/711491b29d3eb08837798c4909e2aa4d/DSC00314.jpg -> lost_and_found/@hashed/79/02/7902699be42c8a8e46fbbb4501726517e86b22c56a189f7625a6da49081b2451/711491b29d3eb08837798c4909e2aa4d/DSC00314.jpg -``` - -## Remove orphan artifact files[](#remove-orphan-artifact-files "Permalink") - -版本历史 - -* 在 GitLab 12.1 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/29681) . -* 在 GitLab 12.10 中[修复](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28023)了[`ionice`支持](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28023) . - -如果发现磁盘上的作业工件文件多于应有的数量,则可以运行: - -``` -sudo gitlab-rake gitlab:cleanup:orphan_job_artifact_files -``` - -该命令: - -* 扫描整个工件文件夹. -* 检查哪些文件在数据库中仍然有记录. -* 如果找不到数据库记录,那么将从磁盘中删除该文件. - -默认情况下,此任务不会删除任何内容,但会显示它可以删除的内容. 如果您实际上要删除文件,请运行`DRY_RUN=false`的命令: - -``` -sudo gitlab-rake gitlab:cleanup:orphan_job_artifact_files DRY_RUN=false -``` - -您还可以使用`LIMIT`要删除的文件数: - -``` -sudo gitlab-rake gitlab:cleanup:orphan_job_artifact_files LIMIT=100 -``` - -这只会从磁盘上删除多达 100 个文件. 您可以使用此功能删除一小集以进行测试. - -如果提供`DEBUG=1` ,则将看到被检测为孤立文件的每个文件的完整路径. - -如果安装了`ionice` ,则任务将使用它来确保命令不会在磁盘上造成太大的负载. 您可以使用`NICENESS`配置`NICENESS`级别. 以下是有效水平,但请务必咨询`man 1 ionice` . - -* `0` or `None` -* `1` or `Realtime` -* `2` or `Best-effort` (default) -* `3` or `Idle` - -## Remove expired ActiveSession lookup keys[](#remove-expired-activesession-lookup-keys "Permalink") - -在 GitLab 12.2 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/30668) . - -``` -# omnibus-gitlab -sudo gitlab-rake gitlab:cleanup:sessions:active_sessions_lookup_keys - -# installation from source -bundle exec rake gitlab:cleanup:sessions:active_sessions_lookup_keys RAILS_ENV=production -``` - -## Container Registry garbage collection[](#container-registry-garbage-collection "Permalink") - -容器注册表可以使用大量的磁盘空间. 为了清除未使用的层,注册表包括一个[垃圾收集命令](../administration/packages/container_registry.html#container-registry-garbage-collection) . \ No newline at end of file diff --git a/docs/512.md b/docs/512.md deleted file mode 100644 index 0c1ec48..0000000 --- a/docs/512.md +++ /dev/null @@ -1,27 +0,0 @@ -# Namespaces - -> 原文:[https://docs.gitlab.com/ee/raketasks/features.html](https://docs.gitlab.com/ee/raketasks/features.html) - -* [Enable usernames and namespaces for user projects](#enable-usernames-and-namespaces-for-user-projects) - -# Namespaces[](#namespaces-core-only "Permalink") - -此 Rake 任务为项目启用[名称空间](../user/group/index.html#namespaces) . - -## Enable usernames and namespaces for user projects[](#enable-usernames-and-namespaces-for-user-projects "Permalink") - -此命令将启用 GitLab 4.0 中引入的名称空间功能. 它将移动每个项目在其名称空间文件夹中. - -Note: - -* **存储库位置将更改** ,因此您将需要**更新所有 Git URL**以指向新位置. -* 可以在**个人资料>帐户中**更改用户名. - -例如: - -* 旧路径: `git@example.org:myrepo.git` . -* 新路径: `git@example.org:username/myrepo.git`或`git@example.org:groupname/myrepo.git` . - -``` -bundle exec rake gitlab:enable_namespaces RAILS_ENV=production -``` \ No newline at end of file diff --git a/docs/513.md b/docs/513.md deleted file mode 100644 index 329a902..0000000 --- a/docs/513.md +++ /dev/null @@ -1,317 +0,0 @@ -# Maintenance Rake tasks - -> 原文:[https://docs.gitlab.com/ee/administration/raketasks/maintenance.html](https://docs.gitlab.com/ee/administration/raketasks/maintenance.html) - -* [Gather GitLab and system information](#gather-gitlab-and-system-information) -* [Show GitLab license information](#show-gitlab-license-information-starter-only) -* [Check GitLab configuration](#check-gitlab-configuration) -* [Rebuild authorized_keys file](#rebuild-authorized_keys-file) -* [Clear Redis cache](#clear-redis-cache) -* [Precompile the assets](#precompile-the-assets) -* [Check TCP connectivity to a remote site](#check-tcp-connectivity-to-a-remote-site) -* [Clear exclusive lease (DANGER)](#clear-exclusive-lease-danger) -* [Display status of database migrations](#display-status-of-database-migrations) -* [Run incomplete database migrations](#run-incomplete-database-migrations) -* [Import common metrics](#import-common-metrics) - -# Maintenance Rake tasks[](#maintenance-rake-tasks-core-only "Permalink") - -GitLab 提供 Rake 任务进行常规维护. - -## Gather GitLab and system information[](#gather-gitlab-and-system-information "Permalink") - -该命令收集有关您的 GitLab 安装及其运行系统的信息. 这些在寻求帮助或报告问题时可能很有用. - -**全部安装** - -``` -sudo gitlab-rake gitlab:env:info -``` - -**源安装** - -``` -bundle exec rake gitlab:env:info RAILS_ENV=production -``` - -输出示例: - -``` -System information -System: Debian 7.8 -Current User: git -Using RVM: no -Ruby Version: 2.1.5p273 -Gem Version: 2.4.3 -Bundler Version: 1.7.6 -Rake Version: 10.3.2 -Redis Version: 3.2.5 -Sidekiq Version: 2.17.8 - -GitLab information -Version: 7.7.1 -Revision: 41ab9e1 -Directory: /home/git/gitlab -DB Adapter: postgresql -URL: https://gitlab.example.com -HTTP Clone URL: https://gitlab.example.com/some-project.git -SSH Clone URL: git@gitlab.example.com:some-project.git -Using LDAP: no -Using Omniauth: no - -GitLab Shell -Version: 2.4.1 -Repositories: /home/git/repositories/ -Hooks: /home/git/gitlab-shell/hooks/ -Git: /usr/bin/git -``` - -## Show GitLab license information[](#show-gitlab-license-information-starter-only "Permalink") - -在 GitLab Starter 12.6 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/20501) . - -该命令显示有关您的[GitLab 许可证](../../user/admin_area/license.html)以及使用了多少个席位的信息. 它仅在 GitLab Enterprise 安装中可用:许可证无法安装到 GitLab Community Edition 中. - -当通过支持人员举票或以编程方式检查许可证参数时,这些选项可能很有用. - -**全部安装** - -``` -sudo gitlab-rake gitlab:license:info -``` - -**源安装** - -``` -bundle exec rake gitlab:license:info RAILS_ENV=production -``` - -输出示例: - -``` -Today's Date: 2020-02-29 -Current User Count: 30 -Max Historical Count: 30 -Max Users in License: 40 -License valid from: 2019-11-29 to 2020-11-28 -Email associated with license: user@example.com -``` - -## Check GitLab configuration[](#check-gitlab-configuration "Permalink") - -`gitlab:check` Rake 任务运行以下 Rake 任务: - -* `gitlab:gitlab_shell:check` -* `gitlab:gitaly:check` -* `gitlab:sidekiq:check` -* `gitlab:app:check` - -它将检查是否已根据安装指南设置了每个组件,并针对发现的问题提出了修复建议. 此命令必须从您的应用程序服务器运行,并且在[Gitaly 之](../gitaly/index.html#run-gitaly-on-its-own-server)类的组件服务器上将无法正常运行. - -您还可以查看我们的故障排除指南,以了解: - -* [GitLab](../index.html#troubleshooting) -* [Omnibus GitLab](https://docs.gitlab.com/omnibus/README.html) - -要运行`gitlab:check` ,请运行: - -**全部安装** - -``` -sudo gitlab-rake gitlab:check -``` - -**源安装** - -``` -bundle exec rake gitlab:check RAILS_ENV=production -``` - -**注意:**对`gitlab:check`使用`SANITIZE=true` `gitlab:check`是否要从输出中省略项目名称. - -输出示例: - -``` -Checking Environment ... - -Git configured for git user? ... yes -Has python2? ... yes -python2 is supported version? ... yes - -Checking Environment ... Finished - -Checking GitLab Shell ... - -GitLab Shell version? ... OK (1.2.0) -Repo base directory exists? ... yes -Repo base directory is a symlink? ... no -Repo base owned by git:git? ... yes -Repo base access is drwxrws---? ... yes -post-receive hook up-to-date? ... yes -post-receive hooks in repos are links: ... yes - -Checking GitLab Shell ... Finished - -Checking Sidekiq ... - -Running? ... yes - -Checking Sidekiq ... Finished - -Checking GitLab ... - -Database config exists? ... yes -Database is SQLite ... no -All migrations up? ... yes -GitLab config exists? ... yes -GitLab config outdated? ... no -Log directory writable? ... yes -Tmp directory writable? ... yes -Init script exists? ... yes -Init script up-to-date? ... yes -Redis version >= 2.0.0? ... yes - -Checking GitLab ... Finished -``` - -## Rebuild authorized_keys file[](#rebuild-authorized_keys-file "Permalink") - -在某些情况下,有必要重建`authorized_keys`文件. 为此,请运行: - -**全部安装** - -``` -sudo gitlab-rake gitlab:shell:setup -``` - -**源安装** - -``` -cd /home/git/gitlab -sudo -u git -H bundle exec rake gitlab:shell:setup RAILS_ENV=production -``` - -输出示例: - -``` -This will rebuild an authorized_keys file. -You will lose any data stored in authorized_keys file. -Do you want to continue (yes/no)? yes -``` - -## Clear Redis cache[](#clear-redis-cache "Permalink") - -如果出于某种原因,仪表板显示了错误的信息,则可能需要清除 Redis 的缓存. 为此,请运行: - -**全部安装** - -``` -sudo gitlab-rake cache:clear -``` - -**源安装** - -``` -cd /home/git/gitlab -sudo -u git -H bundle exec rake cache:clear RAILS_ENV=production -``` - -## Precompile the assets[](#precompile-the-assets "Permalink") - -有时,在版本升级期间,您可能会遇到一些错误的 CSS 或缺少某些图标的情况. 在这种情况下,请尝试再次重新编译资产. - -这仅适用于源安装,不适用于 Omnibus 软件包. - -**源安装** - -``` -cd /home/git/gitlab -sudo -u git -H bundle exec rake gitlab:assets:compile RAILS_ENV=production -``` - -对于多功能版本,未优化的资产(JavaScript,CSS)在上游 GitLab 发行时被冻结. 多功能版本包括这些资产的优化版本. 除非在安装软件包之后在生产机器上修改 JavaScript / CSS 代码,否则应该没有理由在生产机器上重做`rake gitlab:assets:compile` . 如果您怀疑资产已损坏,则应重新安装 omnibus 软件包. - -## Check TCP connectivity to a remote site[](#check-tcp-connectivity-to-a-remote-site "Permalink") - -有时您需要知道您的 GitLab 安装是否可以连接到另一台机器上的 TCP 服务-也许是 PostgreSQL 或 HTTPS 服务器. 包含一个 Rake 任务可以帮助您: - -**全部安装** - -``` -sudo gitlab-rake gitlab:tcp_check[example.com,80] -``` - -**源安装** - -``` -cd /home/git/gitlab -sudo -u git -H bundle exec rake gitlab:tcp_check[example.com,80] RAILS_ENV=production -``` - -## Clear exclusive lease (DANGER)[](#clear-exclusive-lease-danger "Permalink") - -GitLab 使用共享锁机制: `ExclusiveLease`防止共享资源中的同时操作. 一个示例是在存储库上运行定期垃圾收集. - -在非常特殊的情况下,如果不释放锁定,则由专有租赁锁定的操作可能会失败. 如果您不能等待它过期,可以运行此任务以手动清除它. - -要清除所有专有租赁: - -**危险:**请勿在 GitLab 或 Sidekiq 运行时运行它 - -``` -sudo gitlab-rake gitlab:exclusive_lease:clear -``` - -要指定租约`type`或租约`type + id` ,请指定范围: - -``` -# to clear all leases for repository garbage collection: -sudo gitlab-rake gitlab:exclusive_lease:clear[project_housekeeping:*] - -# to clear a lease for repository garbage collection in a specific project: (id=4) -sudo gitlab-rake gitlab:exclusive_lease:clear[project_housekeeping:4] -``` - -## Display status of database migrations[](#display-status-of-database-migrations "Permalink") - -请参阅[升级文档](../../update/README.html#checking-for-background-migrations-before-upgrading) ,以了解在升级 GitLab 时如何检查迁移是否完成. - -要检查特定迁移的状态,可以使用以下 Rake 任务: - -``` -sudo gitlab-rake db:migrate:status -``` - -这将为每个迁移 ID 输出一个`Status`为`up`或`down`的表. - -``` -database: gitlabhq_production - - Status Migration ID Migration Name --------------------------------------------------- - up migration_id migration_name -``` - -## Run incomplete database migrations[](#run-incomplete-database-migrations "Permalink") - -数据库迁移可能会停留在不完整的状态. 也就是说,它们在`sudo gitlab-rake db:migrate:status`命令的输出中将处于`down`状态. - -要完成这些迁移,请使用以下 Rake 任务: - -``` -sudo gitlab-rake db:migrate -``` - -命令完成后,运行`sudo gitlab-rake db:migrate:status`来检查是否所有迁移都已完成(具有`up`状态). - -## Import common metrics[](#import-common-metrics "Permalink") - -有时,您可能需要重新导入为"指标"仪表板提供动力的通用指标. - -这可能是由于[更新现有指标](../../development/prometheus_metrics.html#update-existing-metrics)或作为[故障排除措施的结果](../../operations/metrics/dashboards/index.html#troubleshooting) . - -要重新导入指标,可以运行: - -``` -sudo gitlab-rake metrics:setup_common_metrics -``` \ No newline at end of file diff --git a/docs/514.md b/docs/514.md deleted file mode 100644 index 1fbeffa..0000000 --- a/docs/514.md +++ /dev/null @@ -1,81 +0,0 @@ -# Geo Rake Tasks - -> 原文:[https://docs.gitlab.com/ee/administration/raketasks/geo.html](https://docs.gitlab.com/ee/administration/raketasks/geo.html) - -* [Git housekeeping](#git-housekeeping) - * [Incremental Repack](#incremental-repack) - * [Full Repack](#full-repack) - * [GC](#gc) -* [Remove orphaned project registries](#remove-orphaned-project-registries) - -# Geo Rake Tasks[](#geo-rake-tasks-premium-only "Permalink") - -以下 Rake 任务适用于[Geo 安装](../geo/replication/index.html) . - -## Git housekeeping[](#git-housekeeping "Permalink") - -您可以执行一些任务来调度 Git 内务处理,以从**辅助**节点中的下一个存储库同步开始: - -### Incremental Repack[](#incremental-repack "Permalink") - -这等效于在*裸*仓库上运行`git repack -d` . - -**全部安装** - -``` -sudo gitlab-rake geo:git:housekeeping:incremental_repack -``` - -**源安装** - -``` -sudo -u git -H bundle exec rake geo:git:housekeeping:incremental_repack RAILS_ENV=production -``` - -### Full Repack[](#full-repack "Permalink") - -这等效于在*裸*仓库上运行`git repack -d -A --pack-kept-objects` ,可以选择在 GitLab 中启用它时写入可达性位图索引. - -**全部安装** - -``` -sudo gitlab-rake geo:git:housekeeping:full_repack -``` - -**源安装** - -``` -sudo -u git -H bundle exec rake geo:git:housekeeping:full_repack RAILS_ENV=production -``` - -### GC[](#gc "Permalink") - -这等效于在*裸*仓库上运行`git gc` ,如果在 GitLab 中启用了此功能,则可以选择编写可达性位图索引. - -**全部安装** - -``` -sudo gitlab-rake geo:git:housekeeping:gc -``` - -**源安装** - -``` -sudo -u git -H bundle exec rake geo:git:housekeeping:gc RAILS_ENV=production -``` - -## Remove orphaned project registries[](#remove-orphaned-project-registries "Permalink") - -在某些情况下,您的项目注册表可能包含过时的记录,您可以使用 Rake 任务`geo:run_orphaned_project_registry_cleaner`删除它们: - -**全部安装** - -``` -sudo gitlab-rake geo:run_orphaned_project_registry_cleaner -``` - -**源安装** - -``` -sudo -u git -H bundle exec rake geo:run_orphaned_project_registry_cleaner RAILS_ENV=production -``` \ No newline at end of file diff --git a/docs/515.md b/docs/515.md deleted file mode 100644 index fc2b3ab..0000000 --- a/docs/515.md +++ /dev/null @@ -1,45 +0,0 @@ -# GitHub import - -> 原文:[https://docs.gitlab.com/ee/administration/raketasks/github_import.html](https://docs.gitlab.com/ee/administration/raketasks/github_import.html) - -* [Caveats](#caveats) -* [Importing multiple projects](#importing-multiple-projects) -* [Importing a single project](#importing-a-single-project) - -# GitHub import[](#github-import-core-only "Permalink") - -在 GitLab 9.1 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/10308) . - -为了检索和导入 GitHub 存储库,您将需要一个[GitHub 个人访问令牌](https://github.com/settings/tokens) . 用户名应作为 Rake 任务的第二个参数传递,该任务将成为项目的所有者. 您可以使用相同的命令恢复导入. - -请记住,语法非常具体. 删除参数块内以及方括号之前/之后的所有空格. 此外,某些外壳程序(例如`zsh` )可以分别解释开/关括号( `[]` ). 您可能需要转义括号或使用双引号. - -## Caveats[](#caveats "Permalink") - -如果在导入时达到 GitHub [速率限制](https://developer.github.com/v3/#rate-limiting) ,则导入过程将等待( `sleep()` ),直到可以继续导入为止. - -## Importing multiple projects[](#importing-multiple-projects "Permalink") - -要从可用的 GitHub 项目列表中导入项目,请执行以下操作: - -``` -# Omnibus installations -sudo gitlab-rake "import:github[access_token,root,foo/bar]" - -# Installations from source -bundle exec rake "import:github[access_token,root,foo/bar]" RAILS_ENV=production -``` - -在这种情况下, `access_token`是您的 GitHub 个人访问令牌, `root`是您的 GitLab 用户名,而`foo/bar`是将从您的 GitHub 项目创建的新 GitLab 名称空间/项目. 子组也是可能的: `foo/foo/bar` . - -## Importing a single project[](#importing-a-single-project "Permalink") - -要导入特定的 GitHub 项目(在此处名为`foo/github_repo` ): - -``` -# Omnibus installations -sudo gitlab-rake "import:github[access_token,root,foo/bar,foo/github_repo]" - -# Installations from source -bundle exec rake "import:github[access_token,root,foo/bar,foo/github_repo]" RAILS_ENV=production -``` \ No newline at end of file diff --git a/docs/516.md b/docs/516.md deleted file mode 100644 index 0da21b9..0000000 --- a/docs/516.md +++ /dev/null @@ -1,132 +0,0 @@ -# Import bare repositories - -> 原文:[https://docs.gitlab.com/ee/raketasks/import.html](https://docs.gitlab.com/ee/raketasks/import.html) - -* [Example output](#example-output) -* [Importing bare repositories from hashed storage](#importing-bare-repositories-from-hashed-storage) - * [GitLab 10.3 or earlier](#gitlab-103-or-earlier) - * [GitLab 10.4 and later](#gitlab-104-and-later) - -# Import bare repositories[](#import-bare-repositories-core-only "Permalink") - -Rake 任务可用于将裸仓库导入 GitLab 实例. - -注意: - -* 项目的所有者将是第一位管理员. -* 将根据需要创建组,包括子组. -* 组的所有者将是第一位管理员. -* 现有项目将被跳过. -* 散列存储中的项目可能会被跳过. 有关更多信息,请参阅[从哈希存储导入裸存储库](#importing-bare-repositories-from-hashed-storage) . -* 现有的 Git 存储库将从磁盘中移出(从原始路径中移出). - -要将裸仓库导入 GitLab 实例: - -1. 创建一个新文件夹以从中导入您的 Git 存储库. 新文件夹需要具有 Git 用户所有权,并且需要对 Git 用户及其组具有读/写/执行访问权限: - - ``` - sudo -u git mkdir -p /var/opt/gitlab/git-data/repository-import-/new_group - ``` - -2. 将裸存储库复制到此新创建的文件夹中. 注意: - - * 在任何子文件夹中找到的所有`.git`存储库都将作为项目导入. - * 将根据需要创建组,这些组可以是嵌套文件夹. - - 例如,如果我们将存储库复制到`/var/opt/gitlab/git-data/repository-import-` ,并且存储库`A`必须位于组`G1`和`G2` ,则必须在以下文件夹下创建它: `/var/opt/gitlab/git-data/repository-import-/G1/G2/A.git` . - - ``` - sudo cp -r /old/git/foo.git /var/opt/gitlab/git-data/repository-import-/new_group/ - - # Do this once when you are done copying git repositories - sudo chown -R git:git /var/opt/gitlab/git-data/repository-import- - ``` - - `foo.git`必须由`git`用户和`git`用户组拥有. - - 如果您使用源安装,请用`/home/git`替换`/var/opt/gitlab/` . - -3. 根据您的安装类型运行以下命令: - - * 全部安装 - - ``` - sudo gitlab-rake gitlab:import:repos['/var/opt/gitlab/git-data/repository-import-'] - ``` - - * 从源安装. 在运行此命令之前,您需要切换到 GitLab 安装所在的目录: - - ``` - cd /home/git/gitlab - sudo -u git -H bundle exec rake gitlab:import:repos['/var/opt/gitlab/git-data/repository-import-'] RAILS_ENV=production - ``` - -## Example output[](#example-output "Permalink") - -``` -Processing /var/opt/gitlab/git-data/repository-import-1/a/b/c/blah.git - * Using namespace: a/b/c - * Created blah (a/b/c/blah) - * Skipping repo /var/opt/gitlab/git-data/repository-import-1/a/b/c/blah.wiki.git -Processing /var/opt/gitlab/git-data/repository-import-1/abcd.git - * Created abcd (abcd.git) -Processing /var/opt/gitlab/git-data/repository-import-1/group/xyz.git - * Using namespace: group (2) - * Created xyz (group/xyz.git) - * Skipping repo /var/opt/gitlab/git-data/repository-import-1/@shared/a/b/abcd.git -[...] -``` - -## Importing bare repositories from hashed storage[](#importing-bare-repositories-from-hashed-storage "Permalink") - -旧版存储中的项目具有目录结构,该目录结构反映了 GitLab 中完整的项目路径,包括名称空间结构. 裸存储库导入程序将利用此信息将项目导入到正确的位置. 每个项目及其父名称空间均有意义地命名. - -但是,哈希存储中项目的目录结构不包含此信息. 由于多种原因,这是有益的,尤其是改善的性能和数据完整性. 有关更多详细信息,请参见[存储库存储类型](../administration/repository_storage_types.html) . - -可导入的存储库取决于 GitLab 的版本. - -### GitLab 10.3 or earlier[](#gitlab-103-or-earlier "Permalink") - -不支持从哈希存储导入裸存储库. - -### GitLab 10.4 and later[](#gitlab-104-and-later "Permalink") - -为了支持从哈希存储中导入裸存储库,GitLab 10.4 和更高版本将每个存储库的完整项目路径存储在 Git 存储库配置文件的特殊部分. 本节的格式如下: - -``` -[gitlab] - fullpath = gitlab-org/gitlab -``` - -但是,现有存储库并未迁移为包括此路径. - -如果 GitLab 10.4 和更高版本中的存储库发生以下事件,则裸存储库是可导入的: - -* Created -* 迁移到哈希存储 -* Renamed -* 转移到另一个名称空间 -* 祖先更名 -* 祖先转移到另一个名称空间 - -如果仓库满足以下所有条件,则裸仓库**无法**通过 GitLab 10.4 导入到 GitLab 11.6: - -* 它是在 GitLab 10.3 或更早版本中创建的. -* 它没有重命名,传输或迁移到 GitLab 10.4 的[哈希存储](../administration/repository_storage_types.html#hashed-storage)中,也没有迁移到 GitLab 11.6. -* 它的祖先名称空间未在 GitLab 10.4 中重命名或传输到 GitLab 11.6. - -[从 GitLab 11.6 开始](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/41776) ,所有裸仓库都可以导入. - -要自己手动迁移存储库(对于从 GitLab 10.4 到 GitLab 11.6 的迁移),可以使用[Rails 控制台](../administration/troubleshooting/debug.html#starting-a-rails-console-session)进行. 在 Rails 控制台会话中,运行以下命令来迁移项目: - -``` -project = Project.find_by_full_path('gitlab-org/gitlab') -project.write_repository_config -``` - -在 Rails 控制台会话中,运行以下命令以迁移名称空间的所有项目(如果名称空间中有数千个项目,则可能需要一段时间): - -``` -namespace = Namespace.find_by_full_path('gitlab-org') -namespace.send(:write_projects_repository_config) -``` \ No newline at end of file diff --git a/docs/517.md b/docs/517.md deleted file mode 100644 index 34c9917..0000000 --- a/docs/517.md +++ /dev/null @@ -1,129 +0,0 @@ -# Integrity check Rake task - -> 原文:[https://docs.gitlab.com/ee/administration/raketasks/check.html](https://docs.gitlab.com/ee/administration/raketasks/check.html) - -* [Repository integrity](#repository-integrity) - * [Check all GitLab repositories](#check-all-gitlab-repositories) -* [Uploaded files integrity](#uploaded-files-integrity) -* [LDAP check](#ldap-check) - -# Integrity check Rake task[](#integrity-check-rake-task-core-only "Permalink") - -GitLab 提供了 Rake 任务来检查各种组件的完整性. - -## Repository integrity[](#repository-integrity "Permalink") - -尽管 Git 非常灵活,并试图防止数据完整性问题,但有时还是会出错. 以下 Rake 任务旨在帮助 GitLab 管理员诊断问题存储库,以便对其进行修复. - -需要检查 3 件事以确定完整性. - -1. Git 存储库文件系统检查( [`git fsck`](https://git-scm.com/docs/git-fsck) ). 此步骤验证存储库中对象的连接性和有效性. -2. 在存储库目录中检查`config.lock` . -3. 检查`refs/heads`是否有任何分支/引用锁定文件. - -重要的是要注意,仅存在`config.lock`或引用锁并不一定表示问题. 当 Git 和 GitLab 在存储库上执行操作时,会定期创建和删除锁定文件. 它们用于防止数据完整性问题. 但是,如果 Git 操作被中断,则这些锁可能无法正确清理. - -以下症状可能表明存储库完整性有问题. 如果用户遇到这些症状,则可以使用下面介绍的 Rake 任务来确定导致问题的确切存储库. - -* 尝试推送代码时收到错误- `remote: error: cannot lock ref` -* 查看 GitLab 仪表板或访问特定项目时出现 500 错误. - -### Check all GitLab repositories[](#check-all-gitlab-repositories "Permalink") - -此任务循环遍历 GitLab 服务器上的所有存储库,并运行前面所述的完整性检查. - -**全部安装** - -``` -sudo gitlab-rake gitlab:git:fsck -``` - -**源安装** - -``` -sudo -u git -H bundle exec rake gitlab:git:fsck RAILS_ENV=production -``` - -## Uploaded files integrity[](#uploaded-files-integrity "Permalink") - -用户可以将各种类型的文件上传到 GitLab 安装. 这些完整性检查可以检测丢失的文件. 此外,对于本地存储的文件,会在上载时生成校验和并将其存储在数据库中,这些校验将针对当前文件进行校验. - -当前,以下类型的文件支持完整性检查: - -* CI 工件(从版本 10.7.0 起可用) -* LFS 对象(从版本 10.6.0 起可用) -* 用户上传(从版本 10.6.0 起可用) - -**全部安装** - -``` -sudo gitlab-rake gitlab:artifacts:check -sudo gitlab-rake gitlab:lfs:check -sudo gitlab-rake gitlab:uploads:check -``` - -**Source Installation** - -``` -sudo -u git -H bundle exec rake gitlab:artifacts:check RAILS_ENV=production -sudo -u git -H bundle exec rake gitlab:lfs:check RAILS_ENV=production -sudo -u git -H bundle exec rake gitlab:uploads:check RAILS_ENV=production -``` - -这些任务还接受一些环境变量,可用于覆盖某些值: - -| Variable | Type | Description | -| --- | --- | --- | -| `BATCH` | integer | 指定批处理的大小. 默认为 200. | -| `ID_FROM` | integer | 指定从其开始的 ID,包括值. | -| `ID_TO` | integer | 指定以 ID 结尾的 ID 值(包括该值). | -| `VERBOSE` | boolean | 导致失败被单独列出,而不是被汇总. | - -``` -sudo gitlab-rake gitlab:artifacts:check BATCH=100 ID_FROM=50 ID_TO=250 -sudo gitlab-rake gitlab:lfs:check BATCH=100 ID_FROM=50 ID_TO=250 -sudo gitlab-rake gitlab:uploads:check BATCH=100 ID_FROM=50 ID_TO=250 -``` - -输出示例: - -``` -$ sudo gitlab-rake gitlab:uploads:check -Checking integrity of Uploads -- 1..1350: Failures: 0 -- 1351..2743: Failures: 0 -- 2745..4349: Failures: 2 -- 4357..5762: Failures: 1 -- 5764..7140: Failures: 2 -- 7142..8651: Failures: 0 -- 8653..10134: Failures: 0 -- 10135..11773: Failures: 0 -- 11777..13315: Failures: 0 -Done! -``` - -详细输出示例: - -``` -$ sudo gitlab-rake gitlab:uploads:check VERBOSE=1 -Checking integrity of Uploads -- 1..1350: Failures: 0 -- 1351..2743: Failures: 0 -- 2745..4349: Failures: 2 - - Upload: 3573: # - - Upload: 3580: # -- 4357..5762: Failures: 1 - - Upload: 4636: # -- 5764..7140: Failures: 2 - - Upload: 5812: # - - Upload: 5837: # -- 7142..8651: Failures: 0 -- 8653..10134: Failures: 0 -- 10135..11773: Failures: 0 -- 11777..13315: Failures: 0 -Done! -``` - -## LDAP check[](#ldap-check "Permalink") - -LDAP 检查 Rake 任务将测试绑定 DN 和密码凭据(如果已配置),并将列出 LDAP 用户的样本. 此任务也作为`gitlab:check`任务的一部分执行,但可以独立运行. 有关详细信息,请参见[LDAP Rake 任务-LDAP 检查](ldap.html#check) . \ No newline at end of file diff --git a/docs/518.md b/docs/518.md deleted file mode 100644 index cef49e6..0000000 --- a/docs/518.md +++ /dev/null @@ -1,133 +0,0 @@ -# LDAP Rake tasks - -> 原文:[https://docs.gitlab.com/ee/administration/raketasks/ldap.html](https://docs.gitlab.com/ee/administration/raketasks/ldap.html) - -* [Check](#check) -* [Run a group sync](#run-a-group-sync-starter-only) -* [Rename a provider](#rename-a-provider) - * [Example](#example) - * [Other options](#other-options) - -# LDAP Rake tasks[](#ldap-rake-tasks-core-only "Permalink") - -以下是与 LDAP 相关的 Rake 任务. - -## Check[](#check "Permalink") - -LDAP 检查 Rake 任务将测试`bind_dn`和`password`凭据(如果已配置),并将列出 LDAP 用户的样本. 此任务也作为`gitlab:check`任务的一部分执行,但可以使用以下命令独立运行. - -**全部安装** - -``` -sudo gitlab-rake gitlab:ldap:check -``` - -**源安装** - -``` -sudo -u git -H bundle exec rake gitlab:ldap:check RAILS_ENV=production -``` - -默认情况下,该任务将返回 100 个 LDAP 用户的样本. 通过将数字传递给检查任务来更改此限制: - -``` -rake gitlab:ldap:check[50] -``` - -## Run a group sync[](#run-a-group-sync-starter-only "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/14735) in [GitLab Starter](https://about.gitlab.com/pricing/) 12.2. - -The following task will run a [group sync](../auth/ldap/index.html#group-sync-starter-only) immediately. This is valuable when you’d like to update all configured group memberships against LDAP without waiting for the next scheduled group sync to be run. - -**注意:**如果您想更改执行群组同步的频率,请改为[调整 Cron 时间表](../auth/ldap/index.html#adjusting-ldap-group-sync-schedule-starter-only) . - -**全部安装** - -``` -sudo gitlab-rake gitlab:ldap:group_sync -``` - -**源安装** - -``` -bundle exec rake gitlab:ldap:group_sync -``` - -## Rename a provider[](#rename-a-provider "Permalink") - -如果您在`gitlab.yml`或`gitlab.rb`更改 LDAP 服务器 ID,则将需要更新所有用户身份,否则用户将无法登录.输入新旧提供者,此任务将更新数据库中所有匹配的身份. - -`old_provider`和`new_provider`是从前缀`ldap`加上配置文件中的 LDAP 服务器 ID 派生的. 例如,在`gitlab.yml`或`gitlab.rb`您可能会看到 LDAP 配置,如下所示: - -``` -main: - label: 'LDAP' - host: '_your_ldap_server' - port: 389 - uid: 'sAMAccountName' - ... -``` - -`main`是 LDAP 服务器 ID. 唯一的提供者在一起就是`ldapmain` . - -> **警告** :如果输入了错误的新提供程序,用户将无法登录.如果发生这种情况,请使用错误的提供程序作为`old_provider`并使用正确的提供程序作为`new_provider`再次运行任务. - -**全部安装** - -``` -sudo gitlab-rake gitlab:ldap:rename_provider[old_provider,new_provider] -``` - -**源安装** - -``` -bundle exec rake gitlab:ldap:rename_provider[old_provider,new_provider] RAILS_ENV=production -``` - -### Example[](#example "Permalink") - -考虑从默认服务器 ID `main` (完整提供程序`ldapmain` )开始. 如果将`main`更改为`mycompany` ,则`new_provider`为`ldapmycompany` . 要重命名所有用户身份,请运行以下命令: - -``` -sudo gitlab-rake gitlab:ldap:rename_provider[ldapmain,ldapmycompany] -``` - -输出示例: - -``` -100 users with provider 'ldapmain' will be updated to 'ldapmycompany'. -If the new provider is incorrect, users will be unable to sign in. -Do you want to continue (yes/no)? yes - -User identities were successfully updated -``` - -### Other options[](#other-options "Permalink") - -如果您未指定`old_provider`和`new_provider` ,则会提示您输入它们: - -**全部安装** - -``` -sudo gitlab-rake gitlab:ldap:rename_provider -``` - -**源安装** - -``` -bundle exec rake gitlab:ldap:rename_provider RAILS_ENV=production -``` - -**输出示例:** - -``` -What is the old provider? Ex. 'ldapmain': ldapmain -What is the new provider? Ex. 'ldapcustom': ldapmycompany -``` - -此任务还接受`force`环境变量,该变量将跳过确认对话框: - -``` -sudo gitlab-rake gitlab:ldap:rename_provider[old_provider,new_provider] force=yes -``` \ No newline at end of file diff --git a/docs/519.md b/docs/519.md deleted file mode 100644 index be9743f..0000000 --- a/docs/519.md +++ /dev/null @@ -1,35 +0,0 @@ -# Listing repository directories - -> 原文:[https://docs.gitlab.com/ee/raketasks/list_repos.html](https://docs.gitlab.com/ee/raketasks/list_repos.html) - -* [Limit search results](#limit-search-results) - -# Listing repository directories[](#listing-repository-directories-core-only "Permalink") - -您可以在 GitLab 管理的磁盘上打印所有 Git 存储库的列表. - -要打印列表,请运行以下命令: - -``` -# Omnibus -sudo gitlab-rake gitlab:list_repos - -# Source -cd /home/git/gitlab -sudo -u git -H bundle exec rake gitlab:list_repos RAILS_ENV=production -``` - -**注意:**结果使用 GitLab Rails 应用程序的默认顺序. - -## Limit search results[](#limit-search-results "Permalink") - -要仅列出具有最近活动的项目,请传递带有`SINCE`环境变量的日期. 您指定的时间由 Rails [TimeZone#parse 函数解析](https://api.rubyonrails.org/classes/ActiveSupport/TimeZone.html#method-i-parse) . - -``` -# Omnibus -sudo gitlab-rake gitlab:list_repos SINCE='Sep 1 2015' - -# Source -cd /home/git/gitlab -sudo -u git -H bundle exec rake gitlab:list_repos RAILS_ENV=production SINCE='Sep 1 2015' -``` \ No newline at end of file diff --git a/docs/520.md b/docs/520.md deleted file mode 100644 index 19f0b2b..0000000 --- a/docs/520.md +++ /dev/null @@ -1,30 +0,0 @@ -# Praefect Rake tasks - -> 原文:[https://docs.gitlab.com/ee/administration/raketasks/praefect.html](https://docs.gitlab.com/ee/administration/raketasks/praefect.html) - -* [Replica checksums](#replica-checksums) - -# Praefect Rake tasks[](#praefect-rake-tasks-core-only "Permalink") - -在 GitLab 12.10 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28369) . - -瑞克任务可用于在 Praefect 存储上创建的项目. 有关配置 Praefect 的信息,请参见[Praefect 文档](../gitaly/praefect.html) . - -## Replica checksums[](#replica-checksums "Permalink") - -`gitlab:praefect:replicas`打印给定`project_id`的存储库的校验和: - -* 主要的 Gitaly 节点. -* 次要内部 Gitaly 节点. - -**全部安装** - -``` -sudo gitlab-rake "gitlab:praefect:replicas[project_id]" -``` - -**源安装** - -``` -sudo -u git -H bundle exec rake "gitlab:praefect:replicas[project_id]" RAILS_ENV=production -``` \ No newline at end of file diff --git a/docs/521.md b/docs/521.md deleted file mode 100644 index a4e07e5..0000000 --- a/docs/521.md +++ /dev/null @@ -1,56 +0,0 @@ -# Project import/export administration - -> 原文:[https://docs.gitlab.com/ee/administration/raketasks/project_import_export.html](https://docs.gitlab.com/ee/administration/raketasks/project_import_export.html) - -* [Project import status](#project-import-status) -* [Import large projects](#import-large-projects) -* [Import/export tasks](#importexport-tasks) - -# Project import/export administration[](#project-importexport-administration-core-only "Permalink") - -版本历史 - -* 在 GitLab 8.9 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/3050) . -* 从 GitLab 11.3 起,导入/导出可以自动使用对象存储. - -GitLab 提供与项目导入和导出有关的 Rake 任务. 有关更多信息,请参见: - -* [Project import/export documentation](../../user/project/settings/import_export.html). -* [Project import/export API](../../api/project_import_export.html). -* [Developer documentation: project import/export](../../development/import_export.html) - -## Project import status[](#project-import-status "Permalink") - -您可以通过[Project import / export API](../../api/project_import_export.html#import-status)查询导入. 如 API 文档中所述,查询可能返回导入错误或异常. - -## Import large projects[](#import-large-projects "Permalink") - -如果您的项目较大,请考虑使用 Rake 任务,如[开发人员文档中所述](../../development/import_project.html#importing-via-a-rake-task) . - -## Import/export tasks[](#importexport-tasks "Permalink") - -可以使用以下命令检查 GitLab 导入/导出版本: - -``` -# Omnibus installations -sudo gitlab-rake gitlab:import_export:version - -# Installations from source -bundle exec rake gitlab:import_export:version RAILS_ENV=production -``` - -可以使用以下命令列出要导出的数据库表的当前列表: - -``` -# Omnibus installations -sudo gitlab-rake gitlab:import_export:data - -# Installations from source -bundle exec rake gitlab:import_export:data RAILS_ENV=production -``` - -请注意以下几点: - -* 仅当导入和导出 GitLab 实例的[版本](../../user/project/settings/import_export.html#version-history)与[版本历史记录中](../../user/project/settings/import_export.html#version-history)描述的[版本](../../user/project/settings/import_export.html#version-history)兼容时,才可以导入. -* 必须在" **导入源"**下的应用程序设置( `/admin/application_settings/general` )中启用项目导入选项. **管理区>** **设置>可见性和访问控制** . -* 导出存储在一个临时[共享目录中](../../development/shared_files.html) ,并由特定工作人员每 24 小时删除一次. \ No newline at end of file diff --git a/docs/522.md b/docs/522.md deleted file mode 100644 index 0e49312..0000000 --- a/docs/522.md +++ /dev/null @@ -1,137 +0,0 @@ -# Repository storage Rake tasks - -> 原文:[https://docs.gitlab.com/ee/administration/raketasks/storage.html](https://docs.gitlab.com/ee/administration/raketasks/storage.html) - -* [List projects and attachments](#list-projects-and-attachments) - * [On legacy storage](#on-legacy-storage) - * [On hashed storage](#on-hashed-storage) -* [Migrate to hashed storage](#migrate-to-hashed-storage) -* [Rollback from hashed storage to legacy storage](#rollback-from-hashed-storage-to-legacy-storage) - -# Repository storage Rake tasks[](#repository-storage-rake-tasks-core-only "Permalink") - -这是 Rake 任务的集合,可帮助您列出现有项目及其附件并将其迁移到新的[哈希存储中](../repository_storage_types.html) ,GitLab 用于组织 Git 数据. - -## List projects and attachments[](#list-projects-and-attachments "Permalink") - -以下 Rake 任务将列出旧版存储和哈希存储上可用的项目和附件. - -### On legacy storage[](#on-legacy-storage "Permalink") - -要使用旧式存储获得摘要,然后列出项目及其附件: - -* **全部安装** - - ``` - # Projects - sudo gitlab-rake gitlab:storage:legacy_projects - sudo gitlab-rake gitlab:storage:list_legacy_projects - - # Attachments - sudo gitlab-rake gitlab:storage:legacy_attachments - sudo gitlab-rake gitlab:storage:list_legacy_attachments - ``` - -* **源码安装** - - ``` - # Projects - sudo -u git -H bundle exec rake gitlab:storage:legacy_projects RAILS_ENV=production - sudo -u git -H bundle exec rake gitlab:storage:list_legacy_projects RAILS_ENV=production - - # Attachments - sudo -u git -H bundle exec rake gitlab:storage:legacy_attachments RAILS_ENV=production - sudo -u git -H bundle exec rake gitlab:storage:list_legacy_attachments RAILS_ENV=production - ``` - -### On hashed storage[](#on-hashed-storage "Permalink") - -要使用散列存储来获得项目及其附件的摘要和列表,请执行以下操作: - -* **全部安装** - - ``` - # Projects - sudo gitlab-rake gitlab:storage:hashed_projects - sudo gitlab-rake gitlab:storage:list_hashed_projects - - # Attachments - sudo gitlab-rake gitlab:storage:hashed_attachments - sudo gitlab-rake gitlab:storage:list_hashed_attachments - ``` - -* **源码安装** - - ``` - # Projects - sudo -u git -H bundle exec rake gitlab:storage:hashed_projects RAILS_ENV=production - sudo -u git -H bundle exec rake gitlab:storage:list_hashed_projects RAILS_ENV=production - - # Attachments - sudo -u git -H bundle exec rake gitlab:storage:hashed_attachments RAILS_ENV=production - sudo -u git -H bundle exec rake gitlab:storage:list_hashed_attachments RAILS_ENV=production - ``` - -## Migrate to hashed storage[](#migrate-to-hashed-storage "Permalink") - -**注意:**在 GitLab 13.0 中,默认情况下启用了[哈希存储](../repository_storage_types.html#hashed-storage) ,并且不建议使用旧存储. 在 GitLab 14.0 中将删除对旧存储的支持. 如果您使用的是 GitLab 13.0 及更高版本,则无法将新项目切换到旧版存储. 在管理区域中的哈希存储和旧存储之间进行选择的选项已被禁用. - -此任务将安排您所有与之关联的现有项目和附件,以迁移到**Hashed**存储类型: - -* **全部安装** - - ``` - sudo gitlab-rake gitlab:storage:migrate_to_hashed - ``` - -* **源码安装** - - ``` - sudo -u git -H bundle exec rake gitlab:storage:migrate_to_hashed RAILS_ENV=production - ``` - -如果您有任何现有的集成,则可能需要先进行少量部署以进行验证. 您可以通过使用环境变量`ID_FROM`和`ID_TO`在操作中指定 ID 范围来`ID_TO` . 例如,要在 Omnibus GitLab 安装中将项目 ID 限制为项目 ID 50 到 100: - -``` -sudo gitlab-rake gitlab:storage:migrate_to_hashed ID_FROM=50 ID_TO=100 -``` - -您可以在 **管理区域>监视>后台作业**页面. 您可以观看一个特定的队列,以了解完成需要多长时间: `hashed_storage:hashed_storage_project_migrate` . - -达到零后,您可以通过运行以下命令确认每个项目都已迁移. 如果发现有必要,则可以再次运行此迁移脚本以计划丢失的项目. - -任何错误或警告将记录在 Sidekiq 的日志文件中. - -**注意:**如果启用了" [地理"](../geo/replication/index.html) ,则成功迁移的每个项目都会生成一个事件,以复制任何**辅助**节点上的更改. - -您只需要`gitlab:storage:migrate_to_hashed` Rake 任务即可迁移存储库,但是下面还有其他命令可帮助您检查旧版存储和哈希存储中的项目和附件. - -## Rollback from hashed storage to legacy storage[](#rollback-from-hashed-storage-to-legacy-storage "Permalink") - -**不建议使用:**在 GitLab 13.0 中,默认情况下启用了[哈希存储](../repository_storage_types.html#hashed-storage) ,并且不建议使用旧存储. 在 GitLab 14.0 中将删除对旧存储的支持. 如果您使用的是 GitLab 13.0 及更高版本,则无法将新项目切换到旧版存储. 在管理区域中的哈希存储和旧存储之间进行选择的选项已被禁用. - -This task will schedule all your existing projects and associated attachments to be rolled back to the legacy storage type. - -* **全部安装** - - ``` - sudo gitlab-rake gitlab:storage:rollback_to_legacy - ``` - -* **源码安装** - - ``` - sudo -u git -H bundle exec rake gitlab:storage:rollback_to_legacy RAILS_ENV=production - ``` - -如果您有任何现有的集成,则可能需要先进行少量回滚以进行验证. 您可以通过使用环境变量`ID_FROM`和`ID_TO`在操作中指定 ID 范围来`ID_TO` . 例如,要在 Omnibus GitLab 安装中将项目 ID 限制为项目 ID 50 到 100: - -``` -sudo gitlab-rake gitlab:storage:rollback_to_legacy ID_FROM=50 ID_TO=100 -``` - -您可以在 **管理区域>监视>后台作业**页面. 在" **队列"**选项卡上,您可以查看`hashed_storage:hashed_storage_project_rollback`队列以查看该过程将花费多长时间. - -达到零后,您可以通过以下命令确认每个项目都已回滚. 如果某些项目没有回滚,则可以再次运行此回滚脚本以安排进一步的回滚. 任何错误或警告将记录在 Sidekiq 的日志文件中. - -如果您具有地理设置,则回滚将不会自动反映在**辅助**节点上. 您可能需要等待回填操作才能启动,并手动从特殊的`@hashed/`文件夹中删除剩余的存储库. \ No newline at end of file diff --git a/docs/523.md b/docs/523.md deleted file mode 100644 index fbd0f15..0000000 --- a/docs/523.md +++ /dev/null @@ -1,28 +0,0 @@ -# Generate sample Prometheus data - -> 原文:[https://docs.gitlab.com/ee/raketasks/generate_sample_prometheus_data.html](https://docs.gitlab.com/ee/raketasks/generate_sample_prometheus_data.html) - -* [Example](#example) - -# Generate sample Prometheus data[](#generate-sample-prometheus-data-core-only "Permalink") - -到现在为止,此命令将针对特定环境的每个指标运行 Prometheus 查询,时间间隔为一系列时间: - -* 30 分钟 -* 3 小时 -* 8 小时 -* 24 小时 -* 72 小时 -* 7 天 - -每个查询的结果都存储在`sample_metrics`目录下,作为一个以 metric 的`identifier`命名的 YAML 文件. 设置环境变量`USE_SAMPLE_METRICS` ,Prometheus API 查询将重新路由到`Projects::Environments::SampleMetricsController` ,如果`sample_metrics`目录中存在适当的数据集,则该`sample_metrics`会加载相应的数据集. - -此命令需要安装了 Prometheus 的环境中的 ID. - -## Example[](#example "Permalink") - -下面的示例演示如何运行 Rake 任务: - -``` -bundle exec rake gitlab:generate_sample_prometheus_data[21] -``` \ No newline at end of file diff --git a/docs/524.md b/docs/524.md deleted file mode 100644 index 62a5583..0000000 --- a/docs/524.md +++ /dev/null @@ -1,152 +0,0 @@ -# Uploads migrate Rake tasks - -> 原文:[https://docs.gitlab.com/ee/administration/raketasks/uploads/migrate.html](https://docs.gitlab.com/ee/administration/raketasks/uploads/migrate.html) - -* [Migrate to object storage](#migrate-to-object-storage) - * [All-in-one Rake task](#all-in-one-rake-task) - * [Individual Rake tasks](#individual-rake-tasks) -* [Migrate to local storage](#migrate-to-local-storage) - * [All-in-one Rake task](#all-in-one-rake-task-1) - -# Uploads migrate Rake tasks[](#uploads-migrate-rake-tasks-core-only "Permalink") - -`gitlab:uploads:migrate`在不同的存储类型之间迁移上载. - -## Migrate to object storage[](#migrate-to-object-storage "Permalink") - -在为 GitLab 的上传[配置对象存储](../../uploads.html#using-object-storage-core-only)后,使用此任务将现有的上传从本地存储迁移到远程存储. - -阅读有关[在 GitLab 上](../../object_storage.html)使用[对象存储的](../../object_storage.html)更多信息. - -**注意:**所有处理将在后台工作人员中完成, **无需停机** . - -### All-in-one Rake task[](#all-in-one-rake-task "Permalink") - -GitLab 提供了一个包装 Rake 任务,可将所有上载的文件(例如,头像,徽标,附件和网站图标)迁移到对象存储中. 包装器任务调用各个 Rake 任务来逐一迁移属于这些类别的文件. - -这些[单独的 Rake 任务](#individual-rake-tasks)将在下一部分中介绍. - -要将所有上载从本地存储迁移到对象存储,请运行: - -**全部安装** - -``` -gitlab-rake "gitlab:uploads:migrate:all" -``` - -**源安装** - -``` -sudo RAILS_ENV=production -u git -H bundle exec rake gitlab:uploads:migrate:all -``` - -### Individual Rake tasks[](#individual-rake-tasks "Permalink") - -如果您已经运行了[多合一 Rake 任务](#all-in-one-rake-task) ,则无需运行这些单独的任务. - -Rake 任务使用三个参数来查找要迁移的上载: - -| Parameter | Type | Description | -| --- | --- | --- | -| `uploader_class` | string | 要从中迁移的上传者的类型. | -| `model_class` | string | 要迁移的模型的类型. | -| `mount_point` | string/symbol | 上传器安装在其上的模型列的名称. | - -**注意:**这些参数主要是在 GitLab 结构的内部,您可能想参考下面的任务列表. - -此任务还接受一个环境变量,您可以使用它来覆盖默认的批处理大小: - -| Variable | Type | Description | -| --- | --- | --- | -| `BATCH` | integer | 指定批处理的大小. 默认为 200. | - -下面显示了如何针对各种类型的上传运行`gitlab:uploads:migrate` . - -**全部安装** - -``` -# gitlab-rake gitlab:uploads:migrate[uploader_class, model_class, mount_point] - -# Avatars -gitlab-rake "gitlab:uploads:migrate[AvatarUploader, Project, :avatar]" -gitlab-rake "gitlab:uploads:migrate[AvatarUploader, Group, :avatar]" -gitlab-rake "gitlab:uploads:migrate[AvatarUploader, User, :avatar]" - -# Attachments -gitlab-rake "gitlab:uploads:migrate[AttachmentUploader, Note, :attachment]" -gitlab-rake "gitlab:uploads:migrate[AttachmentUploader, Appearance, :logo]" -gitlab-rake "gitlab:uploads:migrate[AttachmentUploader, Appearance, :header_logo]" - -# Favicon -gitlab-rake "gitlab:uploads:migrate[FaviconUploader, Appearance, :favicon]" - -# Markdown -gitlab-rake "gitlab:uploads:migrate[FileUploader, Project]" -gitlab-rake "gitlab:uploads:migrate[PersonalFileUploader, Snippet]" -gitlab-rake "gitlab:uploads:migrate[NamespaceFileUploader, Snippet]" -gitlab-rake "gitlab:uploads:migrate[FileUploader, MergeRequest]" - -# Design Management design thumbnails -gitlab-rake "gitlab:uploads:migrate[DesignManagement::DesignV432x230Uploader, DesignManagement::Action, :image_v432x230]" -``` - -**源安装** - -**注意:**为每个任务使用`RAILS_ENV=production` . - -``` -# sudo -u git -H bundle exec rake gitlab:uploads:migrate - -# Avatars -sudo -u git -H bundle exec rake "gitlab:uploads:migrate[AvatarUploader, Project, :avatar]" -sudo -u git -H bundle exec rake "gitlab:uploads:migrate[AvatarUploader, Group, :avatar]" -sudo -u git -H bundle exec rake "gitlab:uploads:migrate[AvatarUploader, User, :avatar]" - -# Attachments -sudo -u git -H bundle exec rake "gitlab:uploads:migrate[AttachmentUploader, Note, :attachment]" -sudo -u git -H bundle exec rake "gitlab:uploads:migrate[AttachmentUploader, Appearance, :logo]" -sudo -u git -H bundle exec rake "gitlab:uploads:migrate[AttachmentUploader, Appearance, :header_logo]" - -# Favicon -sudo -u git -H bundle exec rake "gitlab:uploads:migrate[FaviconUploader, Appearance, :favicon]" - -# Markdown -sudo -u git -H bundle exec rake "gitlab:uploads:migrate[FileUploader, Project]" -sudo -u git -H bundle exec rake "gitlab:uploads:migrate[PersonalFileUploader, Snippet]" -sudo -u git -H bundle exec rake "gitlab:uploads:migrate[NamespaceFileUploader, Snippet]" -sudo -u git -H bundle exec rake "gitlab:uploads:migrate[FileUploader, MergeRequest]" - -# Design Management design thumbnails -sudo -u git -H bundle exec rake "gitlab:uploads:migrate[DesignManagement::DesignV432x230Uploader, DesignManagement::Action]" -``` - -## Migrate to local storage[](#migrate-to-local-storage "Permalink") - -如果出于任何原因需要禁用[对象存储](../../object_storage.html) ,则必须首先将数据从对象存储中迁移出来,然后再迁移回本地存储中. - -**Warning:** **需要延长停机时间** so no new files are created in object storage during the migration. A configuration setting will be added soon to allow migrating from object storage to local files with only a brief moment of downtime for configuration changes. To follow progress, see the [relevant issue](https://gitlab.com/gitlab-org/gitlab/-/issues/30979). - -### All-in-one Rake task[](#all-in-one-rake-task-1 "Permalink") - -GitLab 提供了一个包装 Rake 任务,可将所有上载的文件(例如,头像,徽标,附件和网站图标)迁移到本地存储中. 包装器任务调用各个 Rake 任务来逐一迁移属于这些类别的文件. - -有关这些 Rake 任务的详细信息,请参阅" [个人 Rake 任务"](#individual-rake-tasks) ,请记住,在这种情况下,任务名称为`gitlab:uploads:migrate_to_local` . - -要将上传从对象存储迁移到本地存储: - -1. 同时禁用`direct_upload`和`background_upload`下`uploads`的设置`gitlab.rb` . -2. 运行 Rake 任务: - - **全部安装** - - ``` - gitlab-rake "gitlab:uploads:migrate_to_local:all" - ``` - - **源安装** - - ``` - sudo RAILS_ENV=production -u git -H bundle exec rake gitlab:uploads:migrate_to_local:all - ``` - -运行 Rake 任务后,您可以通过撤消[配置对象存储](../../uploads.html#using-object-storage-core-only)的说明中所述的更改来禁用[对象存储](../../uploads.html#using-object-storage-core-only) . \ No newline at end of file diff --git a/docs/525.md b/docs/525.md deleted file mode 100644 index d021721..0000000 --- a/docs/525.md +++ /dev/null @@ -1,71 +0,0 @@ -# Uploads sanitize Rake tasks - -> 原文:[https://docs.gitlab.com/ee/administration/raketasks/uploads/sanitize.html](https://docs.gitlab.com/ee/administration/raketasks/uploads/sanitize.html) - -* [Requirements](#requirements) -* [Remove EXIF data from existing uploads](#remove-exif-data-from-existing-uploads) - -# Uploads sanitize Rake tasks[](#uploads-sanitize-rake-tasks-core-only "Permalink") - -从 GitLab 11.9 开始,EXIF 数据会自动从 JPG 或 TIFF 图像上传中删除. - -EXIF 数据可能包含敏感信息(例如 GPS 位置),因此您可以从上传到 GitLab 早期版本的现有图像中删除 EXIF 数据. - -## Requirements[](#requirements "Permalink") - -要运行此 Rake 任务,需要在系统上安装`exiftool` . 如果安装了 GitLab: - -* 使用 Omnibus 软件包,您已经准备就绪. -* 从源代码中,确保已安装`exiftool` : - - ``` - # Debian/Ubuntu - sudo apt-get install libimage-exiftool-perl - - # RHEL/CentOS - sudo yum install perl-Image-ExifTool - ``` - -## Remove EXIF data from existing uploads[](#remove-exif-data-from-existing-uploads "Permalink") - -要从现有的上载中删除 EXIF 数据,请运行以下命令: - -``` -sudo RAILS_ENV=production -u git -H bundle exec rake gitlab:uploads:sanitize:remove_exif -``` - -默认情况下,此命令以"空运行"模式运行,并且不会删除 EXIF 数据. 它可用于检查是否应清理图像(以及多少). - -Rake 任务接受以下参数. - -| Parameter | Type | Description | -| --- | --- | --- | -| `start_id` | integer | 仅处理 ID 相同或更大的上载 | -| `stop_id` | integer | 仅处理 ID 等于或小于 ID 的上传 | -| `dry_run` | boolean | 不要删除 EXIF 数据,仅检查是否存在 EXIF 数据. 默认为`true` | -| `sleep_time` | float | 处理每个图像后暂停几秒钟. 默认为 0.3 秒 | -| `uploader` | string | 仅对给定上传者的上传运行清理: `FileUploader` , `PersonalFileUploader`或`NamespaceFileUploader` | -| `since` | date | 仅对早于给定日期的上传文件进行清理. 例如`2019-05-01` | - -如果上传的文件过多,则可以通过以下方法加快清理速度: - -* 将`sleep_time`设置为较低的值. -* 并行运行多个 Rake 任务,每个任务都有单独的上传 ID 范围(通过设置`start_id`和`stop_id` ). - -要从所有上传中删除 EXIF 数据,请使用: - -``` -sudo RAILS_ENV=production -u git -H bundle exec rake gitlab:uploads:sanitize:remove_exif[,,false,] 2>&1 | tee exif.log -``` - -To remove EXIF data on uploads with an ID between 100 and 5000 and pause for 0.1 second after each file, use: - -``` -sudo RAILS_ENV=production -u git -H bundle exec rake gitlab:uploads:sanitize:remove_exif[100,5000,false,0.1] 2>&1 | tee exif.log -``` - -输出将被写入`exif.log`文件,因为它可能很长. - -如果上载的清理失败,则 Rake 任务的输出中将出现一条错误消息. 典型的原因包括文件在存储中丢失或不是有效的映像. - -[报告](https://gitlab.com/gitlab-org/gitlab/-/issues/new)所有问题,并在问题标题中使用前缀" EXIF",以及错误输出和(如果可能)图像. \ No newline at end of file diff --git a/docs/526.md b/docs/526.md deleted file mode 100644 index 1be56ff..0000000 --- a/docs/526.md +++ /dev/null @@ -1,156 +0,0 @@ -# User management - -> 原文:[https://docs.gitlab.com/ee/raketasks/user_management.html](https://docs.gitlab.com/ee/raketasks/user_management.html) - -* [Add user as a developer to all projects](#add-user-as-a-developer-to-all-projects) -* [Add all users to all projects](#add-all-users-to-all-projects) -* [Add user as a developer to all groups](#add-user-as-a-developer-to-all-groups) -* [Add all users to all groups](#add-all-users-to-all-groups) -* [Control the number of active users](#control-the-number-of-active-users) -* [Disable two-factor authentication for all users](#disable-two-factor-authentication-for-all-users) -* [Rotate two-factor authentication encryption key](#rotate-two-factor-authentication-encryption-key) - -# User management[](#user-management-core-only "Permalink") - -GitLab 提供 Rake 任务用于用户管理. - -## Add user as a developer to all projects[](#add-user-as-a-developer-to-all-projects "Permalink") - -要将用户作为开发人员添加到所有项目中,请运行: - -``` -# omnibus-gitlab -sudo gitlab-rake gitlab:import:user_to_projects[username@domain.tld] - -# installation from source -bundle exec rake gitlab:import:user_to_projects[username@domain.tld] RAILS_ENV=production -``` - -## Add all users to all projects[](#add-all-users-to-all-projects "Permalink") - -要将所有用户添加到所有项目,请运行: - -``` -# omnibus-gitlab -sudo gitlab-rake gitlab:import:all_users_to_all_projects - -# installation from source -bundle exec rake gitlab:import:all_users_to_all_projects RAILS_ENV=production -``` - -**注意:**管理员用户被添加为维护者. - -## Add user as a developer to all groups[](#add-user-as-a-developer-to-all-groups "Permalink") - -要将用户作为开发人员添加到所有组,请运行: - -``` -# omnibus-gitlab -sudo gitlab-rake gitlab:import:user_to_groups[username@domain.tld] - -# installation from source -bundle exec rake gitlab:import:user_to_groups[username@domain.tld] RAILS_ENV=production -``` - -## Add all users to all groups[](#add-all-users-to-all-groups "Permalink") - -要将所有用户添加到所有组,请运行: - -``` -# omnibus-gitlab -sudo gitlab-rake gitlab:import:all_users_to_all_groups - -# installation from source -bundle exec rake gitlab:import:all_users_to_all_groups RAILS_ENV=production -``` - -**注意:**管理员用户被添加为所有者,因此他们可以将其他用户添加到组中. - -## Control the number of active users[](#control-the-number-of-active-users "Permalink") - -启用此设置可以阻止新用户被阻止,直到管理员将其清除为止. 默认为`false` : - -``` -block_auto_created_users: false -``` - -## Disable two-factor authentication for all users[](#disable-two-factor-authentication-for-all-users "Permalink") - -此任务为所有启用了双重身份验证的用户禁用两因素身份验证(2FA). 例如,如果 GitLab 的`config/secrets.yml`文件丢失并且用户无法登录,这将很有用. - -要为所有用户禁用双重身份验证,请运行: - -``` -# omnibus-gitlab -sudo gitlab-rake gitlab:two_factor:disable_for_all_users - -# installation from source -bundle exec rake gitlab:two_factor:disable_for_all_users RAILS_ENV=production -``` - -## Rotate two-factor authentication encryption key[](#rotate-two-factor-authentication-encryption-key "Permalink") - -GitLab 将两因素身份验证(2FA)所需的机密数据存储在加密的数据库列中. 此数据的加密密钥称为`otp_key_base` ,存储在`config/secrets.yml` . - -如果该文件泄漏了,但单个 2FA 机密没有泄漏,则可以使用新的加密密钥重新加密这些机密. 这使您可以更改泄漏的密钥,而不必强制所有用户更改其 2FA 详细信息. - -旋转两因素身份验证加密密钥: - -1. 查找旧密钥. 该文件位于`config/secrets.yml`文件中,但请**确保您正在使用 Production 部分** . 您感兴趣的行将如下所示: - - ``` - production: - otp_key_base: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff - ``` - -2. 生成一个新的秘密: - - ``` - # omnibus-gitlab - sudo gitlab-rake secret - - # installation from source - bundle exec rake secret RAILS_ENV=production - ``` - -3. 停止 GitLab 服务器,备份现有的机密文件,然后更新数据库: - - ``` - # omnibus-gitlab - sudo gitlab-ctl stop - sudo cp config/secrets.yml config/secrets.yml.bak - sudo gitlab-rake gitlab:two_factor:rotate_key:apply filename=backup.csv old_key= new_key= - - # installation from source - sudo /etc/init.d/gitlab stop - cp config/secrets.yml config/secrets.yml.bak - bundle exec rake gitlab:two_factor:rotate_key:apply filename=backup.csv old_key= new_key= RAILS_ENV=production - ``` - - 可以从`config/secrets.yml`读取``值( ``是先前生成的). 用户 2FA 机密的**加密**值将被写入指定的`filename` . 如果发生错误,可以使用它进行回滚. - -4. 更改`config/secrets.yml` `otp_key_base`以将`otp_key_base`设置为``并重新启动. 同样,请确保您在**生产**部分中进行操作. - - ``` - # omnibus-gitlab - sudo gitlab-ctl start - - # installation from source - sudo /etc/init.d/gitlab start - ``` - -如果有任何问题(也许为`old_key`使用了错误的值),则可以还原`config/secrets.yml` `old_key`的备份并回滚更改: - -``` -# omnibus-gitlab -sudo gitlab-ctl stop -sudo gitlab-rake gitlab:two_factor:rotate_key:rollback filename=backup.csv -sudo cp config/secrets.yml.bak config/secrets.yml -sudo gitlab-ctl start - -# installation from source -sudo /etc/init.d/gitlab start -bundle exec rake gitlab:two_factor:rotate_key:rollback filename=backup.csv RAILS_ENV=production -cp config/secrets.yml.bak config/secrets.yml -sudo /etc/init.d/gitlab start -``` \ No newline at end of file diff --git a/docs/527.md b/docs/527.md deleted file mode 100644 index 2a8122f..0000000 --- a/docs/527.md +++ /dev/null @@ -1,88 +0,0 @@ -# Webhooks administration - -> 原文:[https://docs.gitlab.com/ee/raketasks/web_hooks.html](https://docs.gitlab.com/ee/raketasks/web_hooks.html) - -* [Add a webhook to all projects](#add-a-webhook-to-all-projects) -* [Add a webhook to projects in a namespace](#add-a-webhook-to-projects-in-a-namespace) -* [Remove a webhook from projects](#remove-a-webhook-from-projects) -* [Remove a webhook from projects in a namespace](#remove-a-webhook-from-projects-in-a-namespace) -* [List all webhooks](#list-all-webhooks) -* [List webhooks for projects in a namespace](#list-webhooks-for-projects-in-a-namespace) - -# Webhooks administration[](#webhooks-administration-core-only "Permalink") - -GitLab 提供用于 Webhooks 管理的 Rake 任务. - -[管理员](../security/webhooks.html)可以允许或阻止通过[Webhook](../security/webhooks.html)向[本地网络发出的](../security/webhooks.html)请求. - -## Add a webhook to all projects[](#add-a-webhook-to-all-projects "Permalink") - -要将 webhook 添加到所有项目,请运行: - -``` -# omnibus-gitlab -sudo gitlab-rake gitlab:web_hook:add URL="http://example.com/hook" - -# source installations -bundle exec rake gitlab:web_hook:add URL="http://example.com/hook" RAILS_ENV=production -``` - -## Add a webhook to projects in a namespace[](#add-a-webhook-to-projects-in-a-namespace "Permalink") - -要将 Webhook 添加到特定名称空间中的所有项目,请运行: - -``` -# omnibus-gitlab -sudo gitlab-rake gitlab:web_hook:add URL="http://example.com/hook" NAMESPACE= - -# source installations -bundle exec rake gitlab:web_hook:add URL="http://example.com/hook" NAMESPACE= RAILS_ENV=production -``` - -## Remove a webhook from projects[](#remove-a-webhook-from-projects "Permalink") - -要从所有项目中删除 Webhook,请运行: - -``` -# omnibus-gitlab -sudo gitlab-rake gitlab:web_hook:rm URL="http://example.com/hook" - -# source installations -bundle exec rake gitlab:web_hook:rm URL="http://example.com/hook" RAILS_ENV=production -``` - -## Remove a webhook from projects in a namespace[](#remove-a-webhook-from-projects-in-a-namespace "Permalink") - -要从特定名称空间的项目中删除 Webhook,请运行: - -``` -# omnibus-gitlab -sudo gitlab-rake gitlab:web_hook:rm URL="http://example.com/hook" NAMESPACE= - -# source installations -bundle exec rake gitlab:web_hook:rm URL="http://example.com/hook" NAMESPACE= RAILS_ENV=production -``` - -## List all webhooks[](#list-all-webhooks "Permalink") - -要列出所有 webhooks,请运行: - -``` -# omnibus-gitlab -sudo gitlab-rake gitlab:web_hook:list - -# source installations -bundle exec rake gitlab:web_hook:list RAILS_ENV=production -``` - -## List webhooks for projects in a namespace[](#list-webhooks-for-projects-in-a-namespace "Permalink") - -要列出指定名称空间中项目的所有 webhook,请运行: - -``` -# omnibus-gitlab -sudo gitlab-rake gitlab:web_hook:list NAMESPACE= - -# source installations -bundle exec rake gitlab:web_hook:list NAMESPACE= RAILS_ENV=production -``` \ No newline at end of file diff --git a/docs/528.md b/docs/528.md deleted file mode 100644 index ff6ae73..0000000 --- a/docs/528.md +++ /dev/null @@ -1,29 +0,0 @@ -# X.509 signatures - -> 原文:[https://docs.gitlab.com/ee/raketasks/x509_signatures.html](https://docs.gitlab.com/ee/raketasks/x509_signatures.html) - -* [Update all X.509 signatures](#update-all-x509-signatures) - -# X.509 signatures[](#x509-signatures-core-only "Permalink") - -在 GitLab 12.10 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/122159) . - -[使用 X.509](../user/project/repository/x509_signed_commits/index.html)对[提交进行签名时](../user/project/repository/x509_signed_commits/index.html) ,信任锚可能会更改,并且必须更新数据库中存储的签名. - -## Update all X.509 signatures[](#update-all-x509-signatures "Permalink") - -此任务遍历所有 X.509 签名的提交,并根据当前证书存储更新其验证. - -要更新所有 X.509 签名,请运行: - -**所有安装:** - -``` -sudo gitlab-rake gitlab:x509:update_signatures -``` - -**源安装:** - -``` -sudo -u git -H bundle exec rake gitlab:x509:update_signatures RAILS_ENV=production -``` \ No newline at end of file diff --git a/docs/529.md b/docs/529.md deleted file mode 100644 index 6d3c3f0..0000000 --- a/docs/529.md +++ /dev/null @@ -1,161 +0,0 @@ -# Server hooks - -> 原文:[https://docs.gitlab.com/ee/administration/server_hooks.html](https://docs.gitlab.com/ee/administration/server_hooks.html) - -* [Create a server hook for a repository](#create-a-server-hook-for-a-repository) -* [Create a global server hook for all repositories](#create-a-global-server-hook-for-all-repositories) -* [Chained hooks](#chained-hooks) -* [Environment Variables](#environment-variables) -* [Transition to Go](#transition-to-go) -* [Custom error messages](#custom-error-messages) - * [Example custom error message](#example-custom-error-message) - -# Server hooks[](#server-hooks-core-only "Permalink") - -在 GitLab 12.8 中[引入,](https://gitlab.com/gitlab-org/gitlab/-/issues/196051)以取代"自定义挂钩". - -Git 支持在不同动作上执行的钩子. 这些挂钩在服务器上运行,可用于执行特定的提交策略或基于存储库的状态执行其他任务. - -Git 支持以下钩子: - -* `pre-receive` -* `post-receive` -* `update` - -有关每种钩子类型的更多信息,请参见[Git 文档](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks#_server_side_hooks) . - -服务器端 Git 挂钩可以配置为: - -* [A single repository](#create-a-server-hook-for-a-repository). -* [All repositories](#create-a-global-server-hook-for-all-repositories). - -Note the following about server hooks: - -* 必须在 GitLab 服务器的文件系统上配置服务器挂钩. 只有 GitLab 服务器管理员才能完成这些任务. 如果您没有文件系统访问权限,请参见以下替代方法: - * [Webhooks](../user/project/integrations/webhooks.html) . - * [亚搏体育 app CI / CD](../ci/README.html) . - * [推送规则](../push_rules/push_rules.html) ,用于用户可配置的 Git 挂钩界面. -* 服务器挂钩不会复制到[Geo](geo/replication/index.html)辅助节点. - -## Create a server hook for a repository[](#create-a-server-hook-for-a-repository "Permalink") - -如果您不使用[哈希存储](repository_storage_types.html#hashed-storage) ,则项目的存储库目录可能与以下说明不完全匹配. 在这种情况下: - -* 对于从源进行的安装,路径通常是`/home/git/repositories//.git` . -* 对于 Omnibus GitLab 安装,路径通常为`/var/opt/gitlab/git-data/repositories//.git` . - -请按照以下步骤为存储库设置服务器端挂钩: - -1. 导航到" **管理"区域>"项目"** ,然后单击要向其添加服务器挂钩的项目. -2. 在出现的页面上找到**Gitaly 相对路径** . 这是必须实现服务器挂钩的地方. 有关解释相对路径的信息,请参阅[翻译哈希存储路径](repository_storage_types.html#translating-hashed-storage-paths) . -3. 在文件系统上,在此位置创建一个名为`custom_hooks`的新目录. -4. 在新的`custom_hooks`目录中,创建一个名称与钩子类型匹配的文件. 例如,对于预接收钩子,文件名应该是`pre-receive` ,没有扩展名. -5. 使挂钩文件可执行,并确保它由 Git 用户拥有. -6. 编写代码以使服务器挂钩功能按预期方式运行. 挂钩可以使用任何语言. 确保顶部的[" shebang"](https://en.wikipedia.org/wiki/Shebang_(Unix))正确反映语言类型. 例如,如果脚本在 Ruby 中,则 shebang 可能是`#!/usr/bin/env ruby` . - -假设正确执行了挂钩代码,则将适当地执行挂钩代码. - -## Create a global server hook for all repositories[](#create-a-global-server-hook-for-all-repositories "Permalink") - -要创建适用于您实例中所有存储库的 Git 挂钩,请设置一个全局服务器挂钩. 默认的全局服务器挂钩目录位于 GitLab Shell 目录中. 在那里添加的任何钩子都适用于所有存储库. - -默认目录: - -* 对于从源代码进行的安装,通常是`/home/git/gitlab-shell/hooks` . -* 对于 Omnibus GitLab,安装通常是`/opt/gitlab/embedded/service/gitlab-shell/hooks` . - -要将其他目录用于全局服务器挂钩, `custom_hooks_dir`在 Gitaly 配置中设置`custom_hooks_dir` : - -* 对于 Omnibus 安装,此设置在`gitlab.rb` . -* 对于源代码安装,配置位置取决于 GitLab 版本. 对于: - * GitLab 13.0 及更早版本,在`gitlab-shell/config.yml` . - * GitLab 13.1 及更高版本,在`[hooks]`部分的`gitaly/config.toml`进行设置. - -**注意:** `gitlab-shell/config.yml`的`custom_hooks_dir`值在 GitLab 13.1 和更高版本中仍然被接受,如果`gitaly/config.toml`的值是空白或不存在. - -请按照以下步骤为所有存储库设置全局服务器挂钩: - -1. 在 GitLab 服务器上,导航到配置的全局服务器挂钩目录. -2. 在此位置创建一个新目录. 根据挂钩的类型,它可以是`pre-receive.d` , `post-receive.d`或`update.d`目录. -3. 在这个新目录中,添加您的钩子. 挂钩可以使用任何语言. 确保顶部的[" shebang"](https://en.wikipedia.org/wiki/Shebang_(Unix))正确反映语言类型. 例如,如果脚本在 Ruby 中,则 shebang 可能是`#!/usr/bin/env ruby` . -4. 使挂钩文件可执行,并确保它由 Git 用户拥有. - -现在,测试挂钩以检查其是否正常运行. - -## Chained hooks[](#chained-hooks "Permalink") - -在 GitLab Shell 4.1.0 和 GitLab 8.15 中[引入](https://gitlab.com/gitlab-org/gitlab-shell/-/merge_requests/93) . - -可以按链执行[每个项目](#create-a-server-hook-for-a-repository)或[全局](#create-a-global-server-hook-for-all-repositories)设置的服务器挂钩. - -搜索服务器挂钩并按以下优先级顺序执行: - -* 内置的 GitLab 服务器挂钩. 这些不是用户可定制的. -* `.git/custom_hooks/` :每个项目的挂钩. 保留它是为了向后兼容. -* `.git/custom_hooks/.d/*` :每个项目挂钩的位置. -* `/.d/*` :除编辑器备份文件之外的所有可执行全局挂钩文件的位置. - -在目录中,服务器挂钩: - -* 按字母顺序执行. -* 当钩子以非零值退出时,停止执行. - -Note: - -* `.d`必须为`pre-receive.d` , `post-receive.d`或`update.d`才能正常工作. 其他任何名称都将被忽略. -* `.d`目录中的文件必须是可执行文件,并且与备份文件模式( `*~` )不匹配. -* 对于`.git` ,你需要[翻译](repository_storage_types.html#translating-hashed-storage-paths)你的项目名称为散列存储格式 GitLab 用途. - -## Environment Variables[](#environment-variables "Permalink") - -以下环境变量集可用于服务器挂钩. - -| 环境变量 | Description | -| --- | --- | -| `GL_ID` | 启动推送的用户的 GitLab 标识符. 例如, `user-2234` | -| `GL_PROJECT_PATH` | (GitLab 13.2 和更高版本)GitLab 项目路径 | -| `GL_PROTOCOL` | (GitLab 13.2 和更高版本)与 push 一起使用的协议 | -| `GL_REPOSITORY` | `project-` ,其中`id`是项目的 ID | -| `GL_USERNAME` | 启动推送的用户的 GitLab 用户名 | - -接收前和接收后服务器挂钩也可以访问以下 Git 环境变量. - -| 环境变量 | Description | -| --- | --- | -| `GIT_ALTERNATE_OBJECT_DIRECTORIES` | 隔离环境中的备用对象目录. 请参阅[Git `receive-pack`文档](https://git-scm.com/docs/git-receive-pack#_quarantine_environment) . | -| `GIT_OBJECT_DIRECTORY` | GitLab project path in the quarantine environment. See [Git `receive-pack` documentation](https://git-scm.com/docs/git-receive-pack#_quarantine_environment). | -| `GIT_PUSH_OPTION_COUNT` | 推送选项的数量. 请参阅[Git `pre-receive`文档](https://git-scm.com/docs/githooks#pre-receive) . | -| `GIT_PUSH_OPTION_` | `i`从`0`到`GIT_PUSH_OPTION_COUNT - 1`的推送选项的值. 请参阅[Git `pre-receive`文档](https://git-scm.com/docs/githooks#pre-receive) . | - -**注意:**虽然其他环境变量可以传递给服务器挂钩,但是您的应用程序不应依赖它们,因为它们可以更改. - -## Transition to Go[](#transition-to-go "Permalink") - -在 GitLab 13.2 中使用功能标记引入. - -以下服务器挂钩已在 Go 中重新实现: - -* `pre-receive` ,默认情况下使用 Go 实现. 要改用 Ruby 实现,请[禁用](../operations/feature_flags.html#enable-or-disable-feature-flag-strategies) `:gitaly_go_preceive_hook`功能标记. -* `update` ,默认使用 Go 实现. 要改用 Ruby 实现,请[禁用](../operations/feature_flags.html#enable-or-disable-feature-flag-strategies) `:gitaly_go_update_hook`功能标志. -* `post-receive` ,但是默认情况下使用 Ruby 实现. 要改用 Go 实现,请[启用](../operations/feature_flags.html#enable-or-disable-feature-flag-strategies) `:gitaly_go_postreceive_hook`功能标志. - -## Custom error messages[](#custom-error-messages "Permalink") - -在 GitLab 8.10 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/5073) . - -要在拒绝提交或在 Git 挂钩期间发生错误时在 GitLab 的 UI 中显示自定义错误消息,您的脚本应: - -* 将自定义错误消息发送到脚本的`stdout`或`stderr` . -* 给每条消息加上`GL-HOOK-ERR:`前缀,前缀前没有字符. - -### Example custom error message[](#example-custom-error-message "Permalink") - -用 Bash 编写的该钩子脚本在 GitLab 的 UI 中生成以下消息: - -``` -#!/bin/sh -echo "GL-HOOK-ERR: My custom error message."; -exit 1 -``` - -[![Custom message from custom Git hook](img/4d9fbb6b23cf91f72dd201cf3a52f475.png)](img/custom_hooks_error_msg.png) \ No newline at end of file diff --git a/docs/530.md b/docs/530.md deleted file mode 100644 index 367c7d4..0000000 --- a/docs/530.md +++ /dev/null @@ -1,203 +0,0 @@ -# Static objects external storage - -> 原文:[https://docs.gitlab.com/ee/administration/static_objects_external_storage.html](https://docs.gitlab.com/ee/administration/static_objects_external_storage.html) - -* [Configuring](#configuring) -* [Serving private static objects](#serving-private-static-objects) -* [Requests flow example](#requests-flow-example) -* [Set up external storage](#set-up-external-storage) - -# Static objects external storage[](#static-objects-external-storage "Permalink") - -在 GitLab 12.3 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/31025) . - -可以将 GitLab 配置为从外部存储(例如内容交付网络(CDN))为存储库静态对象(例如,存档或原始 Blob)提供服务. - -## Configuring[](#configuring "Permalink") - -要为静态对象配置外部存储,请执行以下操作: - -1. 导航到" **管理区域">"设置">"存储库"** . -2. 展开" **存储库静态对象"**部分. -3. 输入基本 URL 和任意令牌. [设置外部存储时](#set-up-external-storage) ,您将使用一个脚本,将这些值用作`ORIGIN_HOSTNAME`和`STORAGE_TOKEN` . - -需要使用令牌来区分来自外部存储的请求,因此用户无需绕过外部存储就可以直接前往应用程序. 令牌应在来自外部存储的请求中的`X-Gitlab-External-Storage-Token`标头中设置. - -## Serving private static objects[](#serving-private-static-objects "Permalink") - -GitLab 将为属于私有项目的静态对象 URL 附加一个用户特定的令牌,因此可以代表用户对外部存储进行身份验证. 当处理来自外部存储的请求时,GitLab 将在`token`查询参数或`X-Gitlab-Static-Object-Token`标头中查找`X-Gitlab-Static-Object-Token`以检查用户访问所请求对象的能力. - -## Requests flow example[](#requests-flow-example "Permalink") - -以下示例显示了用户,GitLab 和 CDN 之间的一系列请求和响应: - -sequenceDiagram User->> GitLab:GET /project/-/archive/master.zip GitLab->>用户:302 找到有关 User,GitLab 的注释:位置:https://cdn.com/project/-/archive/master. zip?token =安全用户令牌用户->> CDN:GET /project/-/archive/master.zip?token=安全用户令牌替代对象不在缓存 CDN->> GitLab:GET / project /- /archive/master.zip 关于 CDN,GitLab 的说明:X-Gitlab-External-Storage-Token:secure-cdn-token -X-Gitlab-Static-Object-Token:安全用户令牌 GitLab->> CDN:200 OK CDN->>用户:master.zip 其他对象在缓存 CDN->> GitLab:GET / project /-/ a​​rchive / master.zip 关于 CDN,GitLab 的说明:X-Gitlab-External-Storage-Token:secure-cdn-token -X-Gitlab-Static-Object-Token:安全用户令牌 -如果不匹配:etag 值 GitLab->> CDN:304 未修改 CDN->>用户:master.zip 结束 - -## Set up external storage[](#set-up-external-storage "Permalink") - -尽管此过程使用[CloudFlare Workers](https://workers.cloudflare.com)进行外部存储,但其他 CDN 或功能即服务(FaaS)系统应使用相同的原理工作. - -1. 如果还没有,请选择一个 CloudFlare Worker 域. -2. 在以下脚本中,为前两个常量设置以下值: - - * `ORIGIN_HOSTNAME` :GitLab 安装的主机名. - * `STORAGE_TOKEN` :任何任意的安全令牌(例如,您可以通过在 UNIX 计算机上运行`pwgen -cn1 64`来获得一个). 按照[配置](#configuring)部分中的说明将此令牌保存到管理面板. - - ``` - const ORIGIN_HOSTNAME = 'gitlab.installation.com' // FIXME: SET CORRECT VALUE - const STORAGE_TOKEN = 'very-secure-token' // FIXME: SET CORRECT VALUE - const CACHE_PRIVATE_OBJECTS = false - - const CORS_HEADERS = { - 'Access-Control-Allow-Origin': '*', - 'Access-Control-Allow-Methods': 'GET, HEAD, OPTIONS', - 'Access-Control-Allow-Headers': 'X-Csrf-Token, X-Requested-With', - } - - self.addEventListener('fetch', event => event.respondWith(handle(event))) - - async function handle(event) { - try { - let response = await verifyAndHandle(event); - - // responses returned from cache are immutable, so we recreate them - // to set CORS headers - response = new Response(response.body, response) - response.headers.set('Access-Control-Allow-Origin', '*') - - return response - } catch (e) { - return new Response('An error occurred!', {status: e.statusCode || 500}) - } - } - - async function verifyAndHandle(event) { - if (!validRequest(event.request)) { - return new Response(null, {status: 400}) - } - - if (event.request.method === 'OPTIONS') { - return handleOptions(event.request) - } - - return handleRequest(event) - } - - function handleOptions(request) { - // Make sure the necessary headers are present - // for this to be a valid pre-flight request - if ( - request.headers.get('Origin') !== null && - request.headers.get('Access-Control-Request-Method') !== null && - request.headers.get('Access-Control-Request-Headers') !== null - ) { - // Handle CORS pre-flight request - return new Response(null, { - headers: CORS_HEADERS, - }) - } else { - // Handle standard OPTIONS request - return new Response(null, { - headers: { - Allow: 'GET, HEAD, OPTIONS', - }, - }) - } - } - - async function handleRequest(event) { - let cache = caches.default - let url = new URL(event.request.url) - let static_object_token = url.searchParams.get('token') - let headers = new Headers(event.request.headers) - - url.host = ORIGIN_HOSTNAME - url = normalizeQuery(url) - - headers.set('X-Gitlab-External-Storage-Token', STORAGE_TOKEN) - if (static_object_token !== null) { - headers.set('X-Gitlab-Static-Object-Token', static_object_token) - } - - let request = new Request(url, { headers: headers }) - let cached_response = await cache.match(request) - let is_conditional_header_set = headers.has('If-None-Match') - - if (cached_response) { - return cached_response - } - - // We don't want to override If-None-Match that is set on the original request - if (cached_response && !is_conditional_header_set) { - headers.set('If-None-Match', cached_response.headers.get('ETag')) - } - - let response = await fetch(request, { - headers: headers, - redirect: 'manual' - }) - - if (response.status == 304) { - if (is_conditional_header_set) { - return response - } else { - return cached_response - } - } else if (response.ok) { - response = new Response(response.body, response) - - // cache.put will never cache any response with a Set-Cookie header - response.headers.delete('Set-Cookie') - - if (CACHE_PRIVATE_OBJECTS) { - response.headers.delete('Cache-Control') - } - - event.waitUntil(cache.put(request, response.clone())) - } - - return response - } - - function normalizeQuery(url) { - let searchParams = url.searchParams - url = new URL(url.toString().split('?')[0]) - - if (url.pathname.includes('/raw/')) { - let inline = searchParams.get('inline') - - if (inline == 'false' || inline == 'true') { - url.searchParams.set('inline', inline) - } - } else if (url.pathname.includes('/-/archive/')) { - let append_sha = searchParams.get('append_sha') - let path = searchParams.get('path') - - if (append_sha == 'false' || append_sha == 'true') { - url.searchParams.set('append_sha', append_sha) - } - if (path) { - url.searchParams.set('path', path) - } - } - - return url - } - - function validRequest(request) { - let url = new URL(request.url) - let path = url.pathname - - if (/^(.+)(\/raw\/|\/-\/archive\/)/.test(path)) { - return true - } - - return false - } - ``` - -3. 使用此脚本创建一个新的工作程序. -4. 复制`ORIGIN_HOSTNAME`和`STORAGE_TOKEN`值. 使用这些值为[静态对象配置外部存储](#configuring) . \ No newline at end of file diff --git a/docs/531.md b/docs/531.md deleted file mode 100644 index 730eaed..0000000 --- a/docs/531.md +++ /dev/null @@ -1,225 +0,0 @@ -# Updating GitLab - -> 原文:[https://docs.gitlab.com/ee/update/README.html](https://docs.gitlab.com/ee/update/README.html) - -* [Omnibus Packages](#omnibus-packages) -* [Installation from source](#installation-from-source) -* [Installation using Docker](#installation-using-docker) -* [Upgrading without downtime](#upgrading-without-downtime) - * [Examples](#examples) - * [Steps](#steps) -* [Checking for background migrations before upgrading](#checking-for-background-migrations-before-upgrading) - * [What do I do if my background migrations are stuck?](#what-do-i-do-if-my-background-migrations-are-stuck) -* [Upgrading to a new major version](#upgrading-to-a-new-major-version) -* [Upgrading between editions](#upgrading-between-editions) - * [Community to Enterprise Edition](#community-to-enterprise-edition) - * [Enterprise to Community Edition](#enterprise-to-community-edition) -* [Version specific upgrading instructions](#version-specific-upgrading-instructions) - * [13.2.0](#1320) - * [13.1.0](#1310) - * [12.2.0](#1220) - * [12.0.0](#1200) -* [Miscellaneous](#miscellaneous) - -# Updating GitLab[](#updating-gitlab "Permalink") - -根据安装方法和您的 GitLab 版本,有多个更新指南. - -当前有 3 种官方方法来安装 GitLab: - -* [Omnibus packages](#omnibus-packages) -* [Source installation](#installation-from-source) -* [Docker installation](#installation-using-docker) - -根据您的安装,在下面选择适合您需要的部分. - -## Omnibus Packages[](#omnibus-packages "Permalink") - -* [Omnibus 更新指南](https://docs.gitlab.com/omnibus/update/README.html)包含更新 Omnibus GitLab 软件包所需的步骤. - -## Installation from source[](#installation-from-source "Permalink") - -* [从源代码升级社区版和企业版-从源代码升级社区版和企业版](upgrading_from_source.html)的指南. -* [修补程序版本](patch_versions.html)指南包括修补程序版本(如 6.2.0 至 6.2.1)所需的步骤,并且适用于社区版和企业版. - -过去,我们使用单独的文档来进行升级说明,但是此后我们切换为使用单个文档. 仍然可以在 Git 存储库中找到旧的升级准则: - -* [Old upgrading guidelines for Community Edition](https://gitlab.com/gitlab-org/gitlab-foss/tree/11-8-stable/doc/update) -* [Old upgrading guidelines for Enterprise Edition](https://gitlab.com/gitlab-org/gitlab/tree/11-8-stable-ee/doc/update) - -## Installation using Docker[](#installation-using-docker "Permalink") - -GitLab 提供了针对社区和企业版的官方 Docker 映像. 它们基于 Omnibus 软件包,有关如何更新它们的说明在[单独的文档中](https://docs.gitlab.com/omnibus/docker/README.html) . - -## Upgrading without downtime[](#upgrading-without-downtime "Permalink") - -从 GitLab 9.1.0 开始,可以升级到较新的主要,次要或补丁版本的 GitLab,而无需使 GitLab 实例脱机. 但是,要使其正常工作,必须满足以下要求: - -* 您一次只能升级 1 个次要版本. 所以从 9.1 到 9.2,而不是 9.3. -* 您必须使用[部署后迁移](../development/post_deployment_migrations.html) (包含在下面的零停机时间更新步骤中). -* 您正在使用 PostgreSQL. 从 GitLab 12.1 开始,不支持 MySQL. -* 多节点 GitLab 实例. 随着服务重启,单节点实例可能会经历短暂的中断. - -大多数情况下,如果该修补程序版本不是最新的,则可以从该修补程序版本安全地升级到下一个次要版本. 例如,即使已发布 9.1.2,从 9.1.1 升级到 9.2.0 也应该是安全的. 我们建议您检查当前版本和目标版本之间的所有发行版本,以防它们包含可能需要一次升级 1 个发行版本的任何迁移. - -一些版本可能还包含所谓的"后台迁移". 这些迁移是由 Sidekiq 在后台执行的,通常用于迁移数据. 仅在每月发行版中添加后台迁移. - -某些主要/次要版本可能需要完成一组后台迁移. 为了保证这一点,此版本将在继续升级过程之前处理所有剩余的作业. 虽然这不需要停机(如果满足上述条件),但我们建议用户在升级主要/次要版本之间至少保留 1 周,以完成后台迁移. 通过增加可以处理`background_migration`队列中的作业的 Sidekiq 工作者的数量,可以减少完成这些迁移所需的时间. 要查看此队列的大小, [请在升级之前检查后台迁移](#checking-for-background-migrations-before-upgrading) . - -根据经验,任何小于 10 GB 的数据库都不会花费太多时间进行升级. 每个次要版本最多可能需要一个小时. 但是,较大的数据库可能需要更多时间,但这在很大程度上取决于数据库的大小和正在执行的迁移. - -### Examples[](#examples "Permalink") - -为了帮助解释这一点,让我们看一些示例. - -**示例 1:**您正在使用版本 9.4.2(这是 9.4 的最新修补程序版本)运行大型的 GitLab 安装. 如果满足上述要求,则在发布 GitLab 9.5.0 时,可以安全地将此安装升级到 9.5.0,而无需停机. 您也可以跳过 9.5.0 并在其发布后升级到 9.5.1,但是**不能**直接升级到 9.6.0\. 您*必须*先升级到 9.5.x 版本. - -**范例 2:** You are running a large GitLab installation using version 9.4.2, which is the latest patch release of 9.4\. GitLab 9.5 includes some background migrations, and 10.0 will require these to be completed (processing any remaining jobs for you). Skipping 9.5 is not possible without downtime, and due to the background migrations would require potentially hours of downtime depending on how long it takes for the background migrations to complete. To work around this you will have to upgrade to 9.5.x first, then wait at least a week before upgrading to 10.0. - -**示例 3:**您将 MySQL 用作 GitLab 的数据库. 对新的主要/次要版本的任何升级都将需要停机. 如果发行版包含任何后台迁移,则可能会导致数小时的停机时间,具体取决于数据库的大小. 要解决此问题,您将必须使用 PostgreSQL 并满足上述其他在线升级要求. - -### Steps[](#steps "Permalink") - -[无需停机](https://docs.gitlab.com/omnibus/update/README.html)即可进行[升级的](https://docs.gitlab.com/omnibus/update/README.html)步骤. - -## Checking for background migrations before upgrading[](#checking-for-background-migrations-before-upgrading "Permalink") - -某些主要/次要版本可能需要完成一组后台迁移. 可以通过运行以下命令找到剩余的迁移作业数: - -**对于所有安装** - -如果使用的是 GitLab 12.9 及更高版本,请运行: - -``` -sudo gitlab-rails runner -e production 'puts Gitlab::BackgroundMigration.remaining' -``` - -如果使用的是 GitLab 12.8 及更早版本,请使用[Rails 控制台](../administration/troubleshooting/debug.html#starting-a-rails-console-session)运行以下命令: - -``` -puts Sidekiq::Queue.new("background_migration").size -Sidekiq::ScheduledSet.new.select { |r| r.klass == 'BackgroundMigrationWorker' }.size -``` - -* * * - -**对于源安装** - -如果使用的是 GitLab 12.9 及更高版本,请运行: - -``` -cd /home/git/gitlab -sudo -u git -H bundle exec rails runner -e production 'puts Gitlab::BackgroundMigration.remaining' -``` - -如果使用的是 GitLab 12.8 及更早版本,请使用[Rails 控制台](../administration/troubleshooting/debug.html#starting-a-rails-console-session)运行以下命令: - -``` -puts Sidekiq::Queue.new("background_migration").size -Sidekiq::ScheduledSet.new.select { |r| r.klass == 'BackgroundMigrationWorker' }.size -``` - -### What do I do if my background migrations are stuck?[](#what-do-i-do-if-my-background-migrations-are-stuck "Permalink") - -**警告:**以下操作可能会破坏您的 GitLab 性能.**注意:**重新执行这些命令是安全的,尤其是当您有 1000 个以上的挂起作业可能会溢出运行时内存时. - -**对于所有安装** - -``` -# Start the rails console -sudo gitlab-rails c - -# Execute the following in the rails console -scheduled_queue = Sidekiq::ScheduledSet.new -pending_job_classes = scheduled_queue.select { |job| job["class"] == "BackgroundMigrationWorker" }.map { |job| job["args"].first }.uniq -pending_job_classes.each { |job_class| Gitlab::BackgroundMigration.steal(job_class) } -``` - -**对于源安装** - -``` -# Start the rails console -sudo -u git -H bundle exec rails RAILS_ENV=production - -# Execute the following in the rails console -scheduled_queue = Sidekiq::ScheduledSet.new -pending_job_classes = scheduled_queue.select { |job| job["class"] == "BackgroundMigrationWorker" }.map { |job| job["args"].first }.uniq -pending_job_classes.each { |job_class| Gitlab::BackgroundMigration.steal(job_class) } -``` - -## Upgrading to a new major version[](#upgrading-to-a-new-major-version "Permalink") - -主要版本保留用于向后不兼容的更改. 我们建议您首先升级到主要版本中的最新可用次要版本. 请按照[升级建议](../policy/maintenance.html#upgrade-recommendations)确定支持的升级路径. - -升级到新的主要版本之前,您应确保已完成以前版本的所有后台迁移作业. 要查看`background_migration`队列的当前大小, [请在升级之前检查后台迁移](#checking-for-background-migrations-before-upgrading) . - -## Upgrading between editions[](#upgrading-between-editions "Permalink") - -GitLab 有两个版本: [社区版](https://about.gitlab.com/features/#community)是 MIT 许可,以及[企业版](https://about.gitlab.com/features/#enterprise) ,其基于社区版的顶部,包括额外的功能,主要是针对机构拥有超过 100 个用户. - -您可以在下面找到一些指南,以帮助您轻松更改版本. - -### Community to Enterprise Edition[](#community-to-enterprise-edition "Permalink") - -> **注意:**以下指南仅适用于企业版的订户. - -如果您希望将 GitLab 安装从 Community 升级到 Enterprise Edition,请根据安装方法遵循以下指南: - -* [从 CE 到 EE 的源更新指南](upgrading_from_ce_to_ee.html) -步骤与版本升级非常相似:停止服务器,获取代码,更新新功能的配置文件,安装库并进行迁移,更新初始化脚本,启动应用程序并检查其功能状态. -* [Omnibus CE to EE-](https://docs.gitlab.com/omnibus/update/README.html)按照本指南将您的 Omnibus GitLab 社区版更新为企业版. - -### Enterprise to Community Edition[](#enterprise-to-community-edition "Permalink") - -如果您需要将 Enterprise Edition 安装降级回 Community Edition,则可以按照[本指南](../downgrade_ee_to_ce/README.html)进行操作,以使过程尽可能的顺利. - -## Version specific upgrading instructions[](#version-specific-upgrading-instructions "Permalink") - -### 13.2.0[](#1320 "Permalink") - -由于 Rails 的重大更改可能会导致授权问题,因此具有多个 Web 节点的 GitLab 安装将需要先[升级到 13.1,](#1310)然后再升级到 13.2(及更高版本). - -### 13.1.0[](#1310 "Permalink") - -在 13.1.0 中,您必须升级到以下任一版本: - -* 至少是 Git v2.24(以前,最低要求是 Git v2.22). -* 推荐的 Git v2.26. - -否则,由于使用新的`--end-of-options` Git 标志,某些 RPC 中的 Gitaly 服务将导致内部错误. - -此外,在 GitLab 13.1.0 中, [Rails](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/33454)的版本[从 6.0.3 升级到 6.0.3.1](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/33454) . Rails 升级包括对 CSRF 令牌生成的更改,此更改不向后兼容-具有新 Rails 版本的 GitLab 服务器将生成 CSRF 令牌,而具有较旧 Rails 版本的 GitLab 服务器无法识别-这可能导致非 GET 请求失败用于[多节点 GitLab 安装](https://docs.gitlab.com/omnibus/update/) . - -因此,如果您正在使用多个 Rails 服务器,并专门从 13.0 升级,则必须先将所有服务器升级到 13.1.0,然后再升级到更高版本: - -1. 确保所有 GitLab Web 节点都在 GitLab 13.1.0 上. -2. (可选)启用`global_csrf_token`功能标记以启用 CSRF 令牌生成的新方法: - - ``` - Feature.enable(:global_csrf_token) - ``` - -3. 只有这样,才能继续升级到更高版本的 GitLab. - -### 12.2.0[](#1220 "Permalink") - -在 12.2.0 中,我们启用了 Rails 的身份验证 cookie 加密. 旧会话将自动升级. - -但是,不支持会话 cookie 降级. 因此,升级到 12.2.0 后,任何降级都将导致所有会话无效,并且用户将注销. - -### 12.0.0[](#1200 "Permalink") - -在 12.0.0 中,我们进行了各种与数据库相关的更改. 这些更改要求用户首先升级到最新的 11.11 修补程序版本. 升级到 11.11.x 之后,用户可以升级到 12.0.x. 否则可能导致未应用数据库迁移,这可能导致应用程序错误. - -还需要先升级到 12.0.x,然后再升级到 12.x 的更高版本. - -示例 1:您当前正在使用 GitLab 11.11.8,它是 11.11.x 的最新补丁程序版本. 您可以照常升级到 12.0.x. - -示例 2:您当前使用的是 GitLab 10.x 版本. 要升级,请先升级到最新的 10.x 版本(10.8.7),然后再升级到最新的 11.x 版本(11.11.8). 升级到 11.11.8 后,您可以安全地升级到 12.0.x. - -有关更多信息,请参见我们的[升级路径文档](../policy/maintenance.html#upgrade-recommendations) . - -## Miscellaneous[](#miscellaneous "Permalink") - -* [MySQL 到 PostgreSQL](mysql_to_postgresql.html)指导您完成从 MySQL 到 PostgreSQL 的数据库迁移. -* [Restoring from backup after a failed upgrade](restore_after_failure.html) -* [使用 Slony 升级 PostgreSQL](upgrading_postgresql_using_slony.html) ,以最少的停机时间升级 PostgreSQL 数据库. \ No newline at end of file diff --git a/docs/532.md b/docs/532.md deleted file mode 100644 index 37d4ecb..0000000 --- a/docs/532.md +++ /dev/null @@ -1,185 +0,0 @@ -# GitLab release and maintenance policy - -> 原文:[https://docs.gitlab.com/ee/policy/maintenance.html](https://docs.gitlab.com/ee/policy/maintenance.html) - -* [Versioning](#versioning) -* [Upgrade recommendations](#upgrade-recommendations) - * [Upgrading major versions](#upgrading-major-versions) - * [Version 12 onward: Extra step for major upgrades](#version-12-onward-extra-step-for-major-upgrades) - * [Example upgrade paths](#example-upgrade-paths) - * [Upgrades from versions earlier than 8.12](#upgrades-from-versions-earlier-than-812) - * [Multi-step upgrade paths with GitLab all-in-one Linux package repository](#multi-step-upgrade-paths-with-gitlab-all-in-one-linux-package-repository) -* [Patch releases](#patch-releases) - * [Backporting to older releases](#backporting-to-older-releases) - * [Security releases](#security-releases) -* [More information](#more-information) - -# GitLab release and maintenance policy[](#gitlab-release-and-maintenance-policy "Permalink") - -GitLab 拥有严格的政策来管理版本命名,以及主要,次要,补丁和安全发布的发布速度. 新版本在[GitLab 博客](https://about.gitlab.com/releases/categories/releases/)上宣布. - -我们目前的政策是: - -* 在任何给定时间, **仅针对当前稳定版本**进行向后移植错误修复. (请参阅[修补程序版本](#patch-releases) .) -* **除了当前的稳定版本之外,还将**安全修复程序反向移植**到前两个月的版本中** . (请参阅[安全性发布](#security-releases) .) - -在极少数情况下,版本管理者可能会例外,并向后移植到最近两个月以上的版本. 有关更多信息,请参见[向旧版本的移植](#backporting-to-older-releases) . - -## Versioning[](#versioning "Permalink") - -GitLab 在其发行版中使用了[语义版本控制](https://semver.org/) :( `(Major).(Minor).(Patch)` . - -例如,对于 GitLab 版本 12.10.6: - -* `12`代表主要版本. 主要版本是 12.0.0,但通常称为 12.0. -* `10`代表次要版本. 次要版本为 12.10.0,但通常称为 12.10. -* `6`代表补丁号码. - -版本号的任何部分都可以递增为多个数字,例如 13.10.11. - -下表描述了版本类型及其发布节奏: - -| 版本类型 | Description | Cadence | -| --- | --- | --- | -| Major | 对于重大更改,或向公共 API 引入任何向后不兼容的更改时. | 每年. 下一个主要版本是 2021 年 5 月 22 日的 GitLab 14.0.默认情况下,后续主要版本计划于每年 5 月 22 日发布. | -| Minor | 当将新的向后兼容功能引入公共 API 时,将引入次要功能,或者推出一组较小的功能. | 每月 22 日. | -| Patch | 对于向后兼容的错误修复程序,用于修复错误的行为. 请参阅[修补程序版本](#patch-releases) . | 如所须. | - -## Upgrade recommendations[](#upgrade-recommendations "Permalink") - -我们鼓励所有人运行[最新的稳定版,](https://about.gitlab.com/releases/categories/releases/)以确保您可以轻松升级到最安全,功能最丰富的 GitLab 体验. 为确保您可以轻松运行最新的稳定版本,我们正在努力使更新过程简单可靠. - -如果您无法遵循我们的每月发布周期,则需要考虑几种情况. - -在一个主要版本中的补丁版本和次要版本之间跳转是安全的. 例如,安全的是: - -* 升级*次要*版本. 例如: - - * `12.7.5` -> `12.10.5` - * `11.3.4` -> `11.11.1` - * `10.6.6` -> `10.8.3` - * `11.3.4` -> `11.11.8` - * `10.6.6` -> `10.8.7` - * `9.2.3` -> `9.5.5` - * `8.9.4` -> `8.12.3` -* 升级*补丁程序*版本. 例如: - - * `12.0.4` -> `12.0.12` - * `11.11.1` -> `11.11.8` - * `10.6.3` -> `10.6.6` - * `11.11.1` -> `11.11.8` - * `10.6.3` -> `10.6.6` - * `9.5.5` -> `9.5.9` - * `8.9.2` -> `8.9.6` - -**注意:** Omnibus GitLab Linux 软件包中特定于版本的更改可在[Omnibus GitLab 文档中找到](https://docs.gitlab.com/omnibus/update/README.html) .**注意:**有关在本地下载 Omnibus GitLab Linux 软件包以及[手动安装的](https://docs.gitlab.com/omnibus/manual_install.html)说明. - -### Upgrading major versions[](#upgrading-major-versions "Permalink") - -升级*主要*版本需要更多注意. 向后不兼容的更改和迁移保留用于主要版本. 我们不能保证主要版本之间的升级是无缝的. 我们建议在升级到下一个主要版本之前,先升级到主要版本中的最新可用*次要*版本. 这样做将解决所有向后不兼容的更改或弃用,以帮助确保成功升级到下一个主要版本. - -同样重要的是,在升级到新的主要版本之前,请确保所有后台迁移已完全完成. 要查看`background_migration`队列的当前大小, [请在升级前检查后台迁移](../update/README.html#checking-for-background-migrations-before-upgrading) . - -如果您的 GitLab 实例具有与之关联的任何 GitLab Runner,则升级 GitLab Runners 以匹配已升级到的 GitLab 次要版本非常重要. 这是为了确保[与 GitLab 版本兼容](https://docs.gitlab.com/runner/) . - -### Version 12 onward: Extra step for major upgrades[](#version-12-onward-extra-step-for-major-upgrades "Permalink") - -从版本 12 开始,还需要执行其他步骤. 在主要版本升级期间,可能会发生更重要的迁移. - -为确保这些成功: - -1. 在主要版本跳转期间递增到第一个次要版本( `x.0.x` ). -2. 继续升级到较新的版本. - -**例如: `11.5.x` - > `11.11.x` - > `12.0.x` - > `12.10.x` - > `13.0.x`** - -### Example upgrade paths[](#example-upgrade-paths "Permalink") - -Please see the table below for some examples: - -| 目标版本 | 您的版本 | 推荐升级路径 | Note | -| --- | --- | --- | --- | -| `13.2.0` | `11.5.0` | `11.5.0` -> `11.11.8` -> `12.0.12` -> `12.10.6` -> `13.0.0` -> `13.2.0` | 四个中间版本是必需的:最终的`11.11` , `12.0`和`12.10`的版本,再加上`13.0` . | -| `13.0.1` | `11.10.8` | `11.10.5` -> `11.11.8` -> `12.0.12` -> `12.10.6` -> `13.0.1` | 三个中间版本是必需的: `11.11` , `12.0`和`12.10` . | -| `12.10.6` | `11.3.4` | `11.3.4` -> `11.11.8` -> `12.0.12` -> `12.10.6` | 需要两个中间版本: `11.11`和`12.0` | -| `12.9.5` | `10.4.5` | `10.4.5` -> `10.8.7` -> `11.11.8` -> `12.0.12` -> `12.9.5` | 三个中间版本是必需的: `10.8` , `11.11`和`12.0` ,然后`12.9.5` | -| `12.2.5` | `9.2.6` | `9.2.6` -> `9.5.10` -> `10.8.7` -> `11.11.8` -> `12.0.12` -> `12.2.5` | 四个中间版本是必需的: `9.5` , `10.8` , `11.11` , `12.0` ,然后`12.2` . | -| `11.3.4` | `8.13.4` | `8.13.4` -> `8.17.7` -> `9.5.10` -> `10.8.7` -> `11.3.4` | `8.17.7`是版本 8 的最新版本, `9.5.10`是版本 9 的最新版本, `10.8.7`是版本 10 的最新版本. | - -### Upgrades from versions earlier than 8.12[](#upgrades-from-versions-earlier-than-812 "Permalink") - -* `8.11.x`和更早版本:您可能必须先升级到`8.12.0`然后才能升级到`8.17.7` . 这是[在一个问题](https://gitlab.com/gitlab-org/gitlab/-/issues/207259)中[报道的](https://gitlab.com/gitlab-org/gitlab/-/issues/207259) . -* [将 8.0](https://docs.gitlab.com/omnibus/update/README.html)合并到 GitLab 时, [CI 会在 8.0 版之前更改](https://docs.gitlab.com/omnibus/update/README.html) . - -### Multi-step upgrade paths with GitLab all-in-one Linux package repository[](#multi-step-upgrade-paths-with-gitlab-all-in-one-linux-package-repository "Permalink") - -Linux 软件包管理器默认安装用于安装和升级的软件包的最新可用版本. 对于需要多阶段升级路径的旧版 GitLab 版本,直接升级到最新的主要版本可能会出现问题. - -当遵循跨多个版本的升级路径时,对于每次升级,请在软件包管理器的 install 或 upgrade 命令中指定所需的 GitLab 版本号. - -Examples: - -``` -# apt-get (Ubuntu/Debian) -sudo apt-get upgrade gitlab-ee=12.0.12-ee.0 -# yum (RHEL/CentOS 6 and 7) -yum install gitlab-ee-12.0.12-ee.0.el7 -# dnf (RHEL/CentOS 8) -dnf install gitlab-ee-12.0.12-ee.0.el8 -# zypper (SUSE) -zypper install gitlab-ee=12.0.12-ee.0 -``` - -## Patch releases[](#patch-releases "Permalink") - -补丁程序发行版**仅包含**针对当前稳定发行版 GitLab 的**错误修复** . - -制定这两项政策是因为: - -1. GitLab 拥有社区和企业发行版,使测试/发布软件所需的工作量加倍. -2. 向多个版本进行反向移植会产生很高的开发,质量保证和支持成本. -3. 支持并行版本不鼓励逐步升级,随着时间的推移,升级会越来越复杂,并给所有用户带来升级挑战. manbetx 客户端打不开有一个专门的团队,以确保增量升级(和安装)尽可能简单. -4. 在 GitLab 应用程序中创建的更改数量很多,这有助于将复杂性向后移植到较旧的版本. 在某些情况下,向后移植必须经过相同的审核过程,然后才能进行新的更改. -5. 在某些情况下,确保测试能够通过旧版本是一个相当大的挑战,因此非常耗时. - -无法在补丁程序发行版中包含新功能,因为这会破坏[语义版本控制](https://semver.org/) . 对于必须遵守各种内部要求(例如,组织合规性,验证新功能等)的用户,破坏[语义版本控制](https://semver.org/)具有以下后果: - -1. 无法快速升级以利用补丁程序版本中包含的错误修复程序. -2. 无法快速升级以利用补丁程序版本中包含的安全修复程序. -3. 要求包括对稳定的 GitLab 版本以及每个补丁版本的广泛测试. - -如果战略用户需要在正式发布功能之前对其进行测试,我们可以提供创建包含特定功能的候选发布(RC)版本的功能. 仅在极端情况下才需要这样做,并且可以通过在[发布/任务](https://gitlab.com/gitlab-org/release/tasks/-/issues/new?issuable_template=Backporting-request)问题跟踪器中提出问题来请求考虑. 重要的是要注意,发布候选版本还将包含其他功能和更改,因为无法轻松隔离特定功能(如上所述的类似原因). 候选发布版本与部署到 GitLab.com 或可公开访问的任何代码没有什么不同. - -### Backporting to older releases[](#backporting-to-older-releases "Permalink") - -向后移植到多个稳定版本通常是为[安全版本](#security-releases)保留的. 但是,在某些情况下,我们可能需要将*错误修复程序*回移植到多个稳定版本中,具体取决于错误的严重性. - -[当前版本管理者](https://about.gitlab.com/community/release-managers/)将决定是否执行向后移植更改,这与[管理 bug](https://gitlab.com/gitlab-org/gitlab/blob/master/PROCESS.md#managing-bugs)流程中所述类似,基于以下*所有条件* : - -1. 错误的估计[严重性](../development/contributing/issue_workflow.html#severity-labels) :根据当前的严重性定义,对用户的最大影响. -2. 错误的估计[优先级](../development/contributing/issue_workflow.html#priority-labels) :根据上述估计的严重性,立即对所有受影响的用户产生影响. -3. 潜在的数据丢失和/或安全漏洞. -4. 由于用户证明无法升级到当前的稳定版本,因此可能影响一个或多个战略帐户. - -如果满足以上*所有条件* ,则可以为当前的稳定版本和两个先前的每月版本创建反向版本. 在极少数情况下,发行经理可以授予例外,以向后移植到两个以上的先前每月发行中. 例如,如果我们发布`11.2.1`并包含`11.0.0`引入的严重错误的修复程序,则可以将该修复程序`11.1.x`移植到新的`11.0.x`和`11.1.x`补丁程序版本. - -To request backporting to more than one stable release for consideration, raise an issue in the [release/tasks](https://gitlab.com/gitlab-org/release/tasks/-/issues/new?issuable_template=Backporting-request) issue tracker. - -### Security releases[](#security-releases "Permalink") - -安全版本是一种特殊的修补程序版本,除了当前的稳定版本之外,仅包括前两个月版本的安全修补程序和修补程序(请参见下文). - -对于非常严重的安全问题, [有先例](https://about.gitlab.com/releases/2016/05/02/cve-2016-4340-patches/)将安全修复程序向后移植到 GitLab 的每月发布版本. 该决定是根据具体情况做出的. - -## More information[](#more-information "Permalink") - -Check [our release posts](https://about.gitlab.com/releases/categories/releases/). - -每个月,我们都会发布 GitLab 的主要版本或次要版本. 在这些发行文章的末尾,有三个部分可供查找:弃用,删除和有关升级的重要说明. 这些将包括: - -* 升级过程中需要执行的步骤. 例如, [8.12](https://about.gitlab.com/releases/2016/09/22/gitlab-8-12-released/#upgrade-barometer)需要重新创建 Elasticsearch 索引. 任何较旧版本的 GitLab 升级到 8.12 或更高版本都需要此功能. -* 对我们支持的软件版本的更改,例如[在 GitLab 13 中不再支持 IE11](https://about.gitlab.com/releases/2020/03/22/gitlab-12-9-released/#ending-support-for-internet-explorer-11) . - -You should check all the major and minor versions you’re passing over. - -有关发行过程的更多信息,请参见我们的[发行文档](https://gitlab.com/gitlab-org/release/docs) . 您可能还需要阅读我们的《 [负责任的披露政策》](https://about.gitlab.com/security/disclosure/) . \ No newline at end of file diff --git a/docs/533.md b/docs/533.md deleted file mode 100644 index 8ecb2fa..0000000 --- a/docs/533.md +++ /dev/null @@ -1,27 +0,0 @@ -# Security - -> 原文:[https://docs.gitlab.com/ee/security/README.html](https://docs.gitlab.com/ee/security/README.html) - -* [Securing your GitLab installation](#securing-your-gitlab-installation) - -# Security[](#security "Permalink") - -* [Password storage](password_storage.html) -* [Password length limits](password_length_limits.html) -* [Restrict SSH key technologies and minimum length](ssh_keys_restrictions.html) -* [Rate limits](rate_limits.html) -* [Webhooks and insecure internal web services](webhooks.html) -* [Information exclusivity](information_exclusivity.html) -* [Reset your root password](reset_root_password.html) -* [Unlock a locked user](unlock_user.html) -* [User File Uploads](user_file_uploads.html) -* [How we manage the CRIME vulnerability](crime_vulnerability.html) -* [Enforce Two-factor authentication](two_factor_authentication.html) -* [Send email confirmation on sign-up](user_email_confirmation.html) -* [Security of running jobs](https://docs.gitlab.com/runner/security/) -* [Proxying images](asset_proxy.html) -* [CI/CD environment variables](cicd_environment_variables.html) - -## Securing your GitLab installation[](#securing-your-gitlab-installation "Permalink") - -考虑使用诸如[注册限制](../user/admin_area/settings/sign_up_restrictions.html)和[身份验证选项之](../topics/authentication/)类的访问控制功能来强化您的 GitLab 实例,并最大程度地减少不必要的用户帐户创建风险. \ No newline at end of file diff --git a/docs/534.md b/docs/534.md deleted file mode 100644 index 33cc73c..0000000 --- a/docs/534.md +++ /dev/null @@ -1,13 +0,0 @@ -# Password Storage - -> 原文:[https://docs.gitlab.com/ee/security/password_storage.html](https://docs.gitlab.com/ee/security/password_storage.html) - -# Password Storage[](#password-storage "Permalink") - -GitLab 以散列格式存储用户密码,以防止密码可见. - -GitLab 使用[Devise](https://github.com/heartcombo/devise)身份验证库,该库处理用户密码的哈希. 使用以下属性创建密码哈希: - -* **散列** : [bcrypt](https://en.wikipedia.org/wiki/Bcrypt)散列函数用于生成所提供密码的散列. 这是一种强大的,行业标准的加密哈希函数. -* **拉伸** :密码哈希值, [拉伸](https://en.wikipedia.org/wiki/Key_stretching)打击蛮力攻击硬化. GitLab 默认使用 10 的拉伸因子. -* **盐析** :一个[加密盐](https://en.wikipedia.org/wiki/Salt_(cryptography))被添加到每个口令以针对预先计算的散列值和字典攻击硬化. 每个密码都会随机生成一个盐,因此不会有两个密码共享一个盐,以进一步提高安全性. \ No newline at end of file diff --git a/docs/535.md b/docs/535.md deleted file mode 100644 index b4f17b1..0000000 --- a/docs/535.md +++ /dev/null @@ -1,56 +0,0 @@ -# Custom password length limits - -> 原文:[https://docs.gitlab.com/ee/security/password_length_limits.html](https://docs.gitlab.com/ee/security/password_length_limits.html) - -* [Modify maximum password length using configuration file](#modify-maximum-password-length-using-configuration-file) -* [Modify minimum password length using GitLab UI](#modify-minimum-password-length-using-gitlab-ui) - -# Custom password length limits[](#custom-password-length-limits "Permalink") - -默认情况下,GitLab 支持以下密码: - -* 最小长度为 8. -* 最大长度为 128. - -GitLab 管理员可以修改密码长度: - -* 使用配置文件. -* [从](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/20661) GitLab 12.6 使用 GitLab UI. - -## Modify maximum password length using configuration file[](#modify-maximum-password-length-using-configuration-file "Permalink") - -默认情况下,用户密码长度设置为最多 128 个字符. 要从源代码更改安装: - -1. Edit `devise_password_length.rb`: - - ``` - cd /home/git/gitlab - sudo -u git -H cp config/initializers/devise_password_length.rb.example config/initializers/devise_password_length.rb - sudo -u git -H editor config/initializers/devise_password_length.rb - ``` - -2. 更改新的密码长度限制: - - ``` - config.password_length = 12..135 - ``` - - 在此示例中,最小长度为 12 个字符,最大长度为 135 个字符. - -3. [重新启动 GitLab,](../administration/restart_gitlab.html#installations-from-source)以使更改生效. - -**注意:**从 GitLab 12.6 起,此配置文件中设置的最小密码长度将被忽略. 现在必须通过[GitLab UI](#modify-minimum-password-length-using-gitlab-ui)修改最小密码长度. - -## Modify minimum password length using GitLab UI[](#modify-minimum-password-length-using-gitlab-ui "Permalink") - -在 GitLab 12.6 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/20661) - -默认情况下,用户密码长度设置为至少 8 个字符. 要使用 GitLab UI 进行更改,请执行以下操作: - -在**管理区域>设置** ( `/admin/application_settings/general` )中,转到**注册限制部分** . - -[Minimum password length settings](../user/admin_area/img/minimum_password_length_settings_v12_6.png) - -将" **最小密码长度"**设置为大于或等于 8 的值,然后单击" **保存更改"**以保存更改. - -**警告:**更改最小或最大限制不会以任何方式影响现有的用户密码. 将不要求现有用户重设密码以遵守新限制. 新的限制限制仅适用于新用户注册以及现有用户执行密码重置时. \ No newline at end of file diff --git a/docs/536.md b/docs/536.md deleted file mode 100644 index 18ea2fa..0000000 --- a/docs/536.md +++ /dev/null @@ -1,23 +0,0 @@ -# Restrict allowed SSH key technologies and minimum length - -> 原文:[https://docs.gitlab.com/ee/security/ssh_keys_restrictions.html](https://docs.gitlab.com/ee/security/ssh_keys_restrictions.html) - -# Restrict allowed SSH key technologies and minimum length[](#restrict-allowed-ssh-key-technologies-and-minimum-length "Permalink") - -`ssh-keygen`允许用户创建低至 768 位的 RSA 密钥,这远低于某些标准组(例如 US NIST)的建议. 一些部署 GitLab 的组织将需要增强最低密钥强度,以满足内部安全策略或法规遵从性. - -同样,某些标准组建议在较旧的 DSA 上使用 RSA,ECDSA 或 ED25519,并且管理员可能需要限制允许的 SSH 密钥算法. - -GitLab 允许您限制允许的 SSH 密钥技术,并指定每种技术的最小密钥长度. - -在**管理区域>设置** ( `/admin/application_settings/general` )中,展开**可见性和访问控制**部分: - -[![SSH keys restriction admin settings](img/f9be0028bdcfdf495f7fd0f148de5214.png)](img/ssh_keys_restrictions_settings.png) - -如果对任何密钥类型施加了限制,则用户将无法上载不符合要求的新 SSH 密钥. 现有的不符合要求的键将被禁用但不会被删除,用户将无法使用它们来拉入或推入代码. - -用户的个人资料的" SSH 密钥"部分中的受限密钥图标将对用户可见: - -[![Restricted SSH key icon](img/0a8b584e09781bad1c374f8badc0a12c.png)](img/ssh_keys_restricted_key_icon.png) - -将鼠标悬停在此图标上会告诉您为什么限制按键. \ No newline at end of file diff --git a/docs/537.md b/docs/537.md deleted file mode 100644 index af02299..0000000 --- a/docs/537.md +++ /dev/null @@ -1,28 +0,0 @@ -# Rate limits - -> 原文:[https://docs.gitlab.com/ee/security/rate_limits.html](https://docs.gitlab.com/ee/security/rate_limits.html) - -* [Admin Area settings](#admin-area-settings) -* [Rack Attack initializer](#rack-attack-initializer) - -# Rate limits[](#rate-limits "Permalink") - -**注意:**对于 GitLab.com,请参阅[GitLab.com 特定的速率限制](../user/gitlab_com/index.html#gitlabcom-specific-rate-limits) . - -速率限制是用于提高 Web 应用程序的安全性和耐用性的常用技术. - -例如,一个简单的脚本每秒可以发出数千个 Web 请求. 无论是恶意的,冷漠的还是仅是错误的,您的应用程序和基础架构都可能无法应付负载. 有关更多详细信息,请参阅[拒绝服务攻击](https://en.wikipedia.org/wiki/Denial-of-service_attack) . 通过限制来自单个 IP 地址的请求速率,可以缓解大多数情况. - -速率限制可以缓解大多数[暴力攻击](https://en.wikipedia.org/wiki/Brute-force_attack) . - -## Admin Area settings[](#admin-area-settings "Permalink") - -* [Issues rate limits](../user/admin_area/settings/rate_limit_on_issues_creation.html). -* [User and IP rate limits](../user/admin_area/settings/user_and_ip_rate_limits.html). -* [Raw endpoints rate limits](../user/admin_area/settings/rate_limits_on_raw_endpoints.html). -* [Protected paths](../user/admin_area/settings/protected_paths.html). -* [Import/Export rate limits](../user/admin_area/settings/import_export_rate_limits.html). - -## Rack Attack initializer[](#rack-attack-initializer "Permalink") - -这种限制速率的方法很麻烦,但是具有一些优点. 它允许限制特定路径,并且还集成到 Git 和容器注册表请求中. 请参阅[机架攻击初始化程序](rack_attack.html) . \ No newline at end of file diff --git a/docs/538.md b/docs/538.md deleted file mode 100644 index 12fe3c5..0000000 --- a/docs/538.md +++ /dev/null @@ -1,54 +0,0 @@ -# Webhooks and insecure internal web services - -> 原文:[https://docs.gitlab.com/ee/security/webhooks.html](https://docs.gitlab.com/ee/security/webhooks.html) - -* [Allowlist for local requests](#allowlist-for-local-requests) - -# Webhooks and insecure internal web services[](#webhooks-and-insecure-internal-web-services "Permalink") - -**注意:**在 GitLab.com 上[,](../user/gitlab_com/index.html#maximum-number-of-webhooks)每个项目的[最大](../user/gitlab_com/index.html#maximum-number-of-webhooks) Webhooks [数量](../user/gitlab_com/index.html#maximum-number-of-webhooks)是有限的. - -如果您在 GitLab 服务器上或其本地网络中运行了非 GitLab Web 服务,则可能容易受到 Webhooks 的利用. - -使用[Webhooks](../user/project/integrations/webhooks.html) ,您以及您的项目维护者和所有者可以设置 URL,以便在项目中发生特定更改时触发该 URL. 通常,这些请求将发送到专门为此目的设置的外部 Web 服务,该服务以某种适当的方式处理该请求及其附加数据. - -但是,当 Webhook 设置的 URL 不是指向外部服务而是指向内部服务时,事情变得很麻烦,当触发 Webhook 和发送 POST 请求时,这可能会做完全不希望的事情. - -Webhook 请求由 GitLab 服务器本身发出,并且每个钩子使用一个(可选)秘密令牌进行授权(而不是用户或特定于仓库的令牌). 结果,它们可能比托管 Webhook 的服务器(可能包括 GitLab 服务器或 API 本身,例如`http://localhost:123` )上运行的所有对象具有更广泛的访问权限. 根据所调用的 Webhook,这也可能导致对该 Webhook 服务器的本地网络(例如, `http://192.168.1.12:345` : `http://192.168.1.12:345` : `http://192.168.1.12:345` )内的其他服务器的网络访问,即使这些服务受到其他保护并且无法从外界访问. - -如果 Web 服务不需要身份验证,则可以通过使 GitLab 服务器向诸如`http://localhost:123/some-resource/delete`类的端点发出 POST 请求,来使用 Webhooks 触发破坏性命令. - -为了防止发生这种类型的攻击,从 GitLab 10.6 开始,默认情况下将禁止对当前 GitLab 实例服务器地址和/或专用网络中的所有 Webhook 请求. 这意味着,所有的请求作出`127.0.0.1` , `::1`和`0.0.0.0` ,以及 IPv4 的`10.0.0.0/8` , `172.16.0.0/12` , `192.168.0.0/16`和 IPv6 站点本地( `ffc0::/10` )地址将不被允许. - -通过在**管理区域>设置** ( `/admin/application_settings/network` )内*"出站请求"*部分中启用选项*"允许从 Web 挂钩和服务到本地网络的请求",*可以覆盖此行为: - -[![Outbound requests admin settings](img/95cf4cb85bf824cf0817d4d93d93934d.png)](img/outbound_requests_section_v12_2.png) - -**注意:由于** *系统挂钩*是由管理员设置的,因此默认情况下启用它们来向本地网络发出请求. 但是,可以通过禁用" **允许从系统挂钩向本地网络发送请求"**选项来关闭此功能. - -## Allowlist for local requests[](#allowlist-for-local-requests "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/44496) in GitLab 12.2 - -通过将某些域和 IP 地址添加到允许*列表中,*即使不允许本地请求,也可以允许某些域和 IP 地址可供*系统挂钩*和*Web* *挂钩*访问. 导航到**管理区域>设置>网络** ( `/admin/application_settings/network` )并展开**出站请求** : - -[![Outbound local requests allowlist](img/77a2b247e60ad05b022cfd3f3a62c069.png)](img/allowlist_v13_0.png) - -允许的条目可以用分号,逗号或空格(包括换行符)分隔,并且可以采用不同的格式,例如主机名,IP 地址和/或 IP 范围. 支持 IPv6\. 包含 Unicode 字符的主机名应使用 IDNA 编码. - -允许列表最多可容纳 1000 个条目. 每个条目最多可以包含 255 个字符. - -您可以通过在允许列表条目中指定特定端口来允许它. 例如`127.0.0.1:8080`将仅允许连接到`127.0.0.1`上的端口 8080\. 如果未提及任何端口,则允许该 IP /域上的所有端口. IP 范围将允许该范围内所有 IP 上的所有端口. - -Example: - -``` -example.com;gitlab.example.com -127.0.0.1,1:0:0:0:0:0:0:1 -127.0.0.0/8 1:0:0:0:0:0:0:0/124 -[1:0:0:0:0:0:0:1]:8080 -127.0.0.1:8080 -example.com:8080 -``` - -**注意:**当前不支持通配符( `*.example.com` ). \ No newline at end of file diff --git a/docs/539.md b/docs/539.md deleted file mode 100644 index a770612..0000000 --- a/docs/539.md +++ /dev/null @@ -1,15 +0,0 @@ -# Information exclusivity - -> 原文:[https://docs.gitlab.com/ee/security/information_exclusivity.html](https://docs.gitlab.com/ee/security/information_exclusivity.html) - -# Information exclusivity[](#information-exclusivity "Permalink") - -Git 是一个分布式版本控制系统(DVCS). 这意味着使用源代码的每个人都有完整存储库的本地副本. - -在 GitLab 中,每个不是来宾的项目成员(报告者,开发者和维护者)都可以克隆存储库以创建本地副本. 获取本地副本后,用户可以将完整的存储库上传到任何地方,包括上传到他们控制下的另一个项目或另一个服务器上. - -因此,不可能建立阻止访问源代码的用户有意共享源代码的访问控制. - -这是 DVCS 的固有功能. 所有 Git 管理系统都有此限制. - -您可以采取措施防止意外共享和信息破坏. 此限制是为什么只允许某些人[向项目添加用户,](../user/project/members/index.html)以及为什么只有 GitLab 管理员才能[强制推送受保护的分支的原因](../user/project/protected_branches.html) . \ No newline at end of file diff --git a/docs/540.md b/docs/540.md deleted file mode 100644 index 9f93e2b..0000000 --- a/docs/540.md +++ /dev/null @@ -1,44 +0,0 @@ -# How to reset your root password - -> 原文:[https://docs.gitlab.com/ee/security/reset_root_password.html](https://docs.gitlab.com/ee/security/reset_root_password.html) - -# How to reset your root password[](#how-to-reset-your-root-password "Permalink") - -要重置您的 root 密码,请首先使用 root 特权登录到服务器. - -使用以下命令启动 Ruby on Rails 控制台: - -``` -gitlab-rails console -e production -``` - -等待控制台加载完毕. - -有多种找到用户的方法. 您可以搜索电子邮件或用户名. - -``` -user = User.where(id: 1).first -``` - -or - -``` -user = User.find_by(email: 'admin@example.com') -``` - -现在,您可以更改密码: - -``` -user.password = 'secret_pass' -user.password_confirmation = 'secret_pass' -``` - -更改 password 和 password_confirmation 以使其正常工作很重要. - -不要忘记保存更改. - -``` -user.save! -``` - -退出控制台,然后尝试使用新密码登录. \ No newline at end of file diff --git a/docs/541.md b/docs/541.md deleted file mode 100644 index f1fa189..0000000 --- a/docs/541.md +++ /dev/null @@ -1,42 +0,0 @@ -# How to unlock a locked user from the command line - -> 原文:[https://docs.gitlab.com/ee/security/unlock_user.html](https://docs.gitlab.com/ee/security/unlock_user.html) - -# How to unlock a locked user from the command line[](#how-to-unlock-a-locked-user-from-the-command-line "Permalink") - -十次失败的登录尝试后,用户将进入锁定状态. - -要解锁锁定的用户: - -1. SSH 到您的 GitLab 服务器. -2. 启动 Ruby on Rails 控制台: - - ``` - ## For Omnibus GitLab - sudo gitlab-rails console -e production - - ## For installations from source - sudo -u git -H bundle exec rails console -e production - ``` - -3. 查找要解锁的用户. 您可以通过电子邮件或 ID 进行搜索. - - ``` - user = User.find_by(email: 'admin@local.host') - ``` - - or - - ``` - user = User.where(id: 1).first - ``` - -4. 解锁用户: - - ``` - user.unlock_access! - ``` - -5. 使用`Ctrl` + `d`退出控制台 - -用户现在应该可以登录了. \ No newline at end of file diff --git a/docs/542.md b/docs/542.md deleted file mode 100644 index d1aa2e3..0000000 --- a/docs/542.md +++ /dev/null @@ -1,11 +0,0 @@ -# User File Uploads - -> 原文:[https://docs.gitlab.com/ee/security/user_file_uploads.html](https://docs.gitlab.com/ee/security/user_file_uploads.html) - -# User File Uploads[](#user-file-uploads "Permalink") - -如果通过 URL 直接访问附加到问题,合并请求或注释中的图像,则无需查看身份验证. 该直接 URL 包含一个随机的 32 个字符的 ID,该 ID 可以防止未经授权的人员猜测图像的 URL,因此,如果图像包含敏感信息,则可以提供一定的保护. - -未启用身份验证,因为通知电子邮件的正文中必须显示图像,这些电子邮件通常是从未经 GitLab 身份验证的电子邮件客户端读取的,例如 Outlook,Apple Mail 或移动设备上的 Mail 应用程序. - -> **注意:**非图像附件确实需要进行身份验证才能查看. \ No newline at end of file diff --git a/docs/543.md b/docs/543.md deleted file mode 100644 index e72359c..0000000 --- a/docs/543.md +++ /dev/null @@ -1,49 +0,0 @@ -# How we manage the TLS protocol CRIME vulnerability - -> 原文:[https://docs.gitlab.com/ee/security/crime_vulnerability.html](https://docs.gitlab.com/ee/security/crime_vulnerability.html) - -* [Description](#description) -* [Nessus](#nessus) -* [References](#references) - -# How we manage the TLS protocol CRIME vulnerability[](#how-we-manage-the-tls-protocol-crime-vulnerability "Permalink") - -[CRIME](https://en.wikipedia.org/w/index.php?title=CRIME&oldid=692423806)是利用 HTTPS 和 SPDY 协议(也使用数据压缩)通过连接对秘密 Web Cookie 进行安全性攻击的方法. 当用于恢复秘密身份验证 Cookie 的内容时,它允许攻击者在经过身份验证的 Web 会话上执行会话劫持,从而允许发起进一步的攻击. - -## Description[](#description "Permalink") - -TLS 协议 CRIME 漏洞影响使用 HTTPS 进行数据压缩的系统. 如果使用 SSL 压缩(例如 Gzip)或 SPDY(可以选择使用压缩),则系统可能容易受到 CRIME 漏洞的攻击. - -GitLab 支持 Gzip 和[SPDY,](http://nginx0org.icopy.site/en/docs/http/ngx_http_spdy_module.html)并通过在启用 HTTPS 时禁用 Gzip 来缓解 CRIME 漏洞. 文件的来源在这里: - -* [Source installation NGINX file](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/support/nginx/gitlab-ssl) -* [Omnibus installation NGINX file](https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-cookbooks/gitlab/templates/default/nginx-gitlab-http.conf.erb) - -尽管在 Omnibus 安装中启用了 SPDY,但 CRIME 依赖于压缩(" C"),NGINX 的 SPDY 模块中的默认压缩级别为 0(无压缩). - -## Nessus[](#nessus "Permalink") - -Nessus 扫描仪[报告](https://www.tenable.com/plugins/index.php?view=single&id=62565) GitLab 中[可能存在的 CRIME 漏洞](https://www.tenable.com/plugins/index.php?view=single&id=62565) ,类似于以下格式: - -``` -Description - -This remote service has one of two configurations that are known to be required for the CRIME attack: -SSL/TLS compression is enabled. -TLS advertises the SPDY protocol earlier than version 4. - -... - -Output - -The following configuration indicates that the remote service may be vulnerable to the CRIME attack: -SPDY support earlier than version 4 is advertised. -``` - -从上面的报告中,需要特别注意的是,Nessus 仅检查 TLS 是否在版本 4 之前发布了 SPDY 协议.它不执行攻击,也不检查是否启用了压缩. 仅 Nessus 扫描程序无法告知 SPDY 的压缩已禁用并且不受 CRIME 漏洞的影响. - -## References[](#references "Permalink") - -* NGINX [“Module ngx_http_spdy_module”](http://nginx0org.icopy.site/en/docs/http/ngx_http_spdy_module.html) -* Tenable Network Security,Inc. ["传输层安全性(TLS)协议 CRIME 漏洞"](https://www.tenable.com/plugins/index.php?view=single&id=62565) -* Wikipedia 的贡献者, [" CRIME"](https://en.wikipedia.org/wiki/CRIME) Wikipedia,免费的百科全书 \ No newline at end of file diff --git a/docs/544.md b/docs/544.md deleted file mode 100644 index 313f52a..0000000 --- a/docs/544.md +++ /dev/null @@ -1 +0,0 @@ -> 原文:[https://docs.gitlab.com/ee/security/two_factor_authentication.html](https://docs.gitlab.com/ee/security/two_factor_authentication.html) \ No newline at end of file diff --git a/docs/545.md b/docs/545.md deleted file mode 100644 index 0b602c6..0000000 --- a/docs/545.md +++ /dev/null @@ -1,9 +0,0 @@ -# User email confirmation at sign-up - -> 原文:[https://docs.gitlab.com/ee/security/user_email_confirmation.html](https://docs.gitlab.com/ee/security/user_email_confirmation.html) - -# User email confirmation at sign-up[](#user-email-confirmation-at-sign-up "Permalink") - -可以将 GitLab 配置为在用户注册时要求确认用户的电子邮件地址. 启用此设置后,用户只有在确认电子邮件地址后才能登录. - -在**管理区域>设置** ( `/admin/application_settings/general` )中,转到" **注册限制** "部分**,**然后查找" **在注册时发送确认电子邮件"**选项. \ No newline at end of file diff --git a/docs/546.md b/docs/546.md deleted file mode 100644 index 3a29dcb..0000000 --- a/docs/546.md +++ /dev/null @@ -1,66 +0,0 @@ -# Security of running jobs - -> 原文:[https://docs.gitlab.com/runner/security/](https://docs.gitlab.com/runner/security/) - -* [Usage of Shell executor](#usage-of-shell-executor) -* [Usage of Docker executor](#usage-of-docker-executor) -* [Usage of private Docker images with `if-not-present` pull policy](#usage-of-private-docker-images-with-if-not-present-pull-policy) -* [Systems with Docker installed](#systems-with-docker-installed) -* [Usage of SSH executor](#usage-of-ssh-executor) -* [Usage of Parallels executor](#usage-of-parallels-executor) -* [Cloning a runner](#cloning-a-runner) - -# Security of running jobs[](#security-of-running-jobs "Permalink") - -使用 GitLab Runner 时,您应该在运行作业时意识到潜在的安全隐患. - -## Usage of Shell executor[](#usage-of-shell-executor "Permalink") - -**通常,使用`shell`执行程序运行测试是不安全的.** 这些作业在用户权限(GitLab Runner 的权限)下运行,并且可以从此服务器上运行的其他项目中窃取代码. 仅将其用于运行受信任的构建. - -## Usage of Docker executor[](#usage-of-docker-executor "Permalink") - -**在非特权模式下运行时,可以认为 Docker 是安全的.** 为了使这种设置更加安全,建议在 sudo 禁用或`SETUID`和`SETGID`功能已禁用的 Docker 容器中以用户(非 root 用户)身份运行作业. - -另一方面,存在特权模式,该模式允许对主机系统的完全访问权限,安装和卸载卷的权限以及运行嵌套容器. 不建议在特权模式下运行容器. - -可以通过`cap_add` / `cap_drop`设置在非特权模式下配置更精细的权限. - -## Usage of private Docker images with `if-not-present` pull policy[](#usage-of-private-docker-images-with-if-not-present-pull-policy "Permalink") - -使用[高级配置中](../configuration/advanced-configuration.html#using-a-private-container-registry)描述的私有 Docker 映像支持时[:使用私有容器注册表时](../configuration/advanced-configuration.html#using-a-private-container-registry) ,应`always`将其`pull_policy`值. 尤其是你应该使用`always`拉的政策,如果你正在主持一个公共,共享亚军与泊坞窗或 Kubernetes 执行人. - -让我们来看一个将拉策略设置为`if-not-present`的示例: - -1. 用户 A 在`registry.example.com/image/name`具有私有映像. -2. 用户 A 在共享运行器上启动构建:该构建接收注册表凭据,并在注册表中授权后提取映像. -3. 图像存储在共享的 Runner 主机上. -4. 用户 B 无法访问`registry.example.com/image/name`上的私有映像. -5. 用户 B 在与用户 A 相同的共享 Runner 上启动使用此映像的构建:Runner 找到该映像的本地版本并使用它, **即使由于缺少凭据也无法提取该映像** . - -因此,如果托管的 Runner 可以由不同的用户和不同的项目使用(具有私有和公共访问权限的混合级别),则永远不要使用`if-not-present`作为拉策略值,而应使用: - -* `never` -如果您想限制用户使用您预先下载的唯一图像. -* `always` -如果您想让用户可以从任何注册表下载任何图像. - -`if-not-present`拉策略**仅**应用于受信任的构建和用户使用的特定运行器. - -阅读[拉取策略文档](../executors/docker.html#how-pull-policies-work)以获取更多信息. - -## Systems with Docker installed[](#systems-with-docker-installed "Permalink") - -> **注意:**这适用于低于 0.5.0 的安装或已升级到较新版本的安装. - -在安装了 Docker 的 Linux 系统上安装软件包时, `gitlab-runner`将创建一个有权访问`Docker`守护程序的用户. 这使使用`shell` executor 运行的作业能够以完全权限访问`docker` ,并可能允许对服务器的根访问. - -## Usage of SSH executor[](#usage-of-ssh-executor "Permalink") - -由于缺少`StrictHostKeyChecking`选项, **SSH 执行程序容易受到 MITM 攻击(中间人)** . 这将在将来的版本之一中修复. - -## Usage of Parallels executor[](#usage-of-parallels-executor "Permalink") - -**Parallels executor 是最安全的选择,**因为它使用完整的系统虚拟化,并且配置为在隔离虚拟化中运行的 VM 机器和配置为以隔离模式运行的 VM 机器. 它阻止访问所有外围设备和共享文件夹. - -## Cloning a runner[](#cloning-a-runner "Permalink") - -跑步者使用令牌来标识 GitLab 服务器. 如果克隆一个运行程序,则克隆的运行程序可能正在为该令牌选择相同的作业. 这是"窃取"跑步者工作的一种可能的攻击手段. \ No newline at end of file diff --git a/docs/547.md b/docs/547.md deleted file mode 100644 index d8efc29..0000000 --- a/docs/547.md +++ /dev/null @@ -1,60 +0,0 @@ -# Proxying assets - -> 原文:[https://docs.gitlab.com/ee/security/asset_proxy.html](https://docs.gitlab.com/ee/security/asset_proxy.html) - -* [Installing Camo server](#installing-camo-server) -* [Using the Camo server](#using-the-camo-server) - -# Proxying assets[](#proxying-assets "Permalink") - -在管理面向公众的 GitLab 实例时,可能存在的安全隐患是通过引用问题,评论等中的图像来窃取用户 IP 地址的能力. - -例如,在问题描述中添加`![Example image](http://example.com/example.png)`将导致从外部服务器加载图像以便显示. 但是,这也允许外部服务器记录用户的 IP 地址. - -减轻这种情况的一种方法是将所有外部映像代理到您控制的服务器. - -可以将 GitLab 配置为在问题,评论等中请求外部图像/视频/音频时使用资产代理服务器.这有助于确保恶意图像在获取时不会暴露用户的 IP 地址. - -当前,我们建议使用[cactus / go-camo,](https://github.com/cactus/go-camo#how-it-works)因为它支持代理视频,音频并且更可配置. - -## Installing Camo server[](#installing-camo-server "Permalink") - -一台 Camo 服务器用作代理. - -要将 Camo 服务器安装为资产代理,请执行以下操作: - -1. 部署`go-camo`服务器. 有用的说明可以在[建立 catus / go-camo 中找到](https://github.com/cactus/go-camo#building) . - -2. 确保您的 GitLab 实例正在运行,并且您已经创建了私有 API 令牌. 使用 API​​,在您的 GitLab 实例上配置资产代理设置. 例如: - - ``` - curl --request "PUT" "https://gitlab.example.com/api/v4/application/settings?\ asset_proxy_enabled=true&\ asset_proxy_url=https://proxy.gitlab.example.com&\ asset_proxy_secret_key=" \ - --header 'PRIVATE-TOKEN: ' - ``` - - 支持以下设置: - - | Attribute | Description | - | --- | --- | - | `asset_proxy_enabled` | 启用资产代理. 如果启用,则要求: `asset_proxy_url` ). | - | `asset_proxy_secret_key` | 与资产代理服务器共享的机密. | - | `asset_proxy_url` | 资产代理服务器的 URL. | - | `asset_proxy_whitelist` | 与这些域匹配的资产将不会被代理. 允许使用通配符. 您的 GitLab 安装网址会自动列入白名单. | - -3. 重新启动服务器,以使更改生效. 每次更改资产代理的任何值时,都需要重新启动服务器. - -## Using the Camo server[](#using-the-camo-server "Permalink") - -一旦 Camo 服务器运行并且启用了 GitLab 设置,任何引用外部源的图像,视频或音频都将被代理到 Camo 服务器. - -例如,以下是 Markdown 中图像的链接: - -``` -![logo](https://about.gitlab.com/images/press/logo/jpg/gitlab-icon-rgb.jpg) -``` - -以下是可能导致源链接的示例: - -``` -http://proxy.gitlab.example.com/f9dd2b40157757eb82afeedbf1290ffb67a3aeeb/68747470733a2f2f61626f75742e6769746c61622e636f6d2f696d616765732f70726573732f6c6f676f2f6a70672f6769746c61622d69636f6e2d7267622e6a7067 -``` \ No newline at end of file diff --git a/docs/548.md b/docs/548.md deleted file mode 100644 index b29777a..0000000 --- a/docs/548.md +++ /dev/null @@ -1,11 +0,0 @@ -# CI/CD Environment Variables - -> 原文:[https://docs.gitlab.com/ee/security/cicd_environment_variables.html](https://docs.gitlab.com/ee/security/cicd_environment_variables.html) - -# CI/CD Environment Variables[](#cicd-environment-variables "Permalink") - -环境变量通过运行程序应用于环境,可以从项目的**"设置">" CI / CD"**页面进行**设置** . - -这些值使用[aes-256-cbc](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard)加密并存储在数据库中. - -只能使用有效的[机密文件](../raketasks/backup_restore.html#when-the-secrets-file-is-lost)解密此数据. \ No newline at end of file diff --git a/docs/549.md b/docs/549.md deleted file mode 100644 index 6083461..0000000 --- a/docs/549.md +++ /dev/null @@ -1,204 +0,0 @@ -# Contributor and Development Docs - -> 原文:[https://docs.gitlab.com/ee/development/README.html](https://docs.gitlab.com/ee/development/README.html) - -* [Get started](#get-started) -* [Processes](#processes) -* [UX and Frontend guides](#ux-and-frontend-guides) -* [Backend guides](#backend-guides) -* [Performance guides](#performance-guides) -* [Database guides](#database-guides) -* [Integration guides](#integration-guides) -* [Testing guides](#testing-guides) -* [Refactoring guides](#refactoring-guides) -* [Documentation guides](#documentation-guides) -* [Internationalization (i18n) guides](#internationalization-i18n-guides) -* [Telemetry guides](#telemetry-guides) -* [Experiment guide](#experiment-guide) -* [Build guides](#build-guides) -* [Compliance](#compliance) -* [Go guides](#go-guides) -* [Shell Scripting guides](#shell-scripting-guides) -* [Domain-specific guides](#domain-specific-guides) -* [Other Development guides](#other-development-guides) -* [Other GitLab Development Kit (GDK) guides](#other-gitlab-development-kit-gdk-guides) - -# Contributor and Development Docs[](#contributor-and-development-docs "Permalink") - -## Get started[](#get-started "Permalink") - -* 使用[GitLab 开发套件(GDK)](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/README.md)设置 GitLab 的开发环境 -* [GitLab contributing guide](contributing/index.html) - * [发出工作流](contributing/issue_workflow.html)以获取有关以下方面的更多信息: - * 问题追踪器指南. - * 分流. - * 标签. - * 功能建议. - * 发行权重. - * 回归问题. - * 技术或用户体验债务. - * [合并请求工作流](contributing/merge_request_workflow.html)以获取有关以下方面的更多信息: - * 合并请求准则. - * 捐款接受标准. - * 完成的定义. - * 依赖关系. - * [Style guides](contributing/style_guides.html) - * [Implement design & UI elements](contributing/design.html) -* [GitLab Architecture Overview](architecture.html) -* [耙](rake_tasks.html)开发[任务](rake_tasks.html) - -## Processes[](#processes "Permalink") - -**Must-reads:** - -* [代码审查指南,](code_review.html)用于审查代码和审查代码 -* [数据库审阅指南,](database_review.html)用于审阅与数据库有关的更改和复杂的 SQL 查询,并进行审阅 -* [Secure coding guidelines](secure_coding_guidelines.html) -* [Pipelines for the GitLab project](pipelines.html) - -互补读物: - -* [GitLab core team & GitLab Inc. contribution process](https://gitlab.com/gitlab-org/gitlab/blob/master/PROCESS.md) -* [Security process for developers](https://gitlab.com/gitlab-org/release/docs/blob/master/general/security/developer.md#security-releases-critical-non-critical-as-a-developer) -* [Guidelines for implementing Enterprise Edition features](ee_features.html) -* [Danger bot](dangerbot.html) -* [Generate a changelog entry with `bin/changelog`](changelog.html) -* [在 GitLab.com 上请求访问 Chatops](chatops_on_gitlabcom.html#requesting-access) (适用于 GitLab 团队成员) - -## UX and Frontend guides[](#ux-and-frontend-guides "Permalink") - -* 用于使用现有 CSS 样式和元素构建 GitLab 的[GitLab 设计系统](https://design.gitlab.com/) -* [Frontend guidelines](fe_guide/index.html) -* [Emoji guide](fe_guide/emojis.html) - -## Backend guides[](#backend-guides "Permalink") - -* [GitLab utilities](utilities.html) -* [Issuable-like Rails models](issuable-like-models.html) -* [Logging](logging.html) -* [API 样式指南,](api_styleguide.html)用于贡献 API -* [GraphQL API 样式指南,](api_graphql_styleguide.html)用于为[GraphQL API](../api/graphql/index.html)做出贡献 -* [Sidekiq guidelines](sidekiq_style_guide.html) for working with Sidekiq workers -* [Working with Gitaly](gitaly.html) -* [Manage feature flags](feature_flags/index.html) -* [Licensed feature availability](licensed_feature_availability.html) -* [Dealing with email/mailers](emails.html) -* GitLab 代码库中的[Shell 命令](shell_commands.html) -* [`Gemfile` guidelines](gemfile.html) -* [Pry debugging](pry_debugging.html) -* [Sidekiq debugging](sidekiq_debugging.html) -* [Accessing session data](session.html) -* 要避免的[陷阱](gotchas.html) -* 尽可能[避免使用带有实例变量的模块](module_with_instance_variables.html) -* [How to dump production data to staging](db_dump.html) -* [Working with the GitHub importer](github_importer.html) -* [Import/Export development documentation](import_export.html) -* [Test Import Project](import_project.html) -* [Elasticsearch integration docs](elasticsearch.html) -* [Working with Merge Request diffs](diffs.html) -* [Kubernetes integration guidelines](kubernetes.html) -* [Permissions](permissions.html) -* [Prometheus](prometheus.html) -* [Guidelines for reusing abstractions](reusing_abstractions.html) -* [DeclarativePolicy framework](policies.html) -* [How Git object deduplication works in GitLab](git_object_deduplication.html) -* [Geo development](geo.html) -* [Routing](routing.html) -* [Repository mirroring](repository_mirroring.html) -* [Git LFS](lfs.html) -* [Developing against interacting components or features](interacting_components.html) -* [File uploads](uploads.html) -* [Auto DevOps development guide](auto_devops.html) -* [Mass Inserting Models](mass_insert.html) -* [Value Stream Analytics development guide](value_stream_analytics.html) -* [Issue types vs first-class types](issue_types.html) -* [Application limits](application_limits.html) -* [Redis guidelines](redis.html) -* [Rails initializers](rails_initializers.html) -* [Code comments](code_comments.html) -* [Renaming features](renaming_features.html) -* [Windows Development on GCP](windows.html) -* [Code Intelligence](code_intelligence/index.html) -* [Approval Rules](approval_rules.html) -* [Feature categorization](feature_categorization/index.html) - -## Performance guides[](#performance-guides "Permalink") - -* [仪器](instrumentation.html)用于 Ruby 代码在生产环境中运行 -* 用于编写代码,基准测试和避免某些模式的[性能准则](performance.html) -* [合并请求性能准则,](merge_request_performance_guidelines.html)以确保合并请求不会对 GitLab 性能产生负面影响 -* [分析](profiling.html) URL,使用 Sherlock 评估性能或使用 Bullet 跟踪 N + 1 查询 - -## Database guides[](#database-guides "Permalink") - -See [database guidelines](database/index.html). - -## Integration guides[](#integration-guides "Permalink") - -* [Jira Connect app](integrations/jira_connect.html) -* [Security Scanners](integrations/secure.html) -* [Secure Partner Integration](integrations/secure_partner_integration.html) -* [How to run Jenkins in development environment](integrations/jenkins.html) - -## Testing guides[](#testing-guides "Permalink") - -* [Testing standards and style guidelines](testing_guide/index.html) -* [Frontend testing standards and style guidelines](testing_guide/frontend_testing.html) - -## Refactoring guides[](#refactoring-guides "Permalink") - -* [Refactoring guidelines](refactoring_guide/index.html) - -## Documentation guides[](#documentation-guides "Permalink") - -* [Writing documentation](documentation/index.html) -* [Documentation style guide](documentation/styleguide.html) -* [Markdown](../user/markdown.html) - -## Internationalization (i18n) guides[](#internationalization-i18n-guides "Permalink") - -* [Introduction](i18n/index.html) -* [Externalization](i18n/externalization.html) -* [Translation](i18n/translation.html) - -## Telemetry guides[](#telemetry-guides "Permalink") - -* [Telemetry guide](telemetry/index.html) -* [Usage Ping guide](telemetry/usage_ping.html) -* [Snowplow guide](telemetry/snowplow.html) - -## Experiment guide[](#experiment-guide "Permalink") - -* [Introduction](experiment_guide/index.html) - -## Build guides[](#build-guides "Permalink") - -* [Building a package for testing purposes](build_test_package.html) - -## Compliance[](#compliance "Permalink") - -* [许可](licensing.html)确保许可证合规性 - -## Go guides[](#go-guides "Permalink") - -* [Go Guidelines](go_guide/index.html) - -## Shell Scripting guides[](#shell-scripting-guides "Permalink") - -* [Shell scripting standards and style guidelines](shell_scripting_guide/index.html) - -## Domain-specific guides[](#domain-specific-guides "Permalink") - -* [CI/CD development documentation](cicd/index.html) - -## Other Development guides[](#other-development-guides "Permalink") - -* [Defining relations between files using projections](projections.html) -* [Reference processing](./reference_processing.html) -* [Compatibility with multiple versions of the application running at the same time](multi_version_compatibility.html) - -## Other GitLab Development Kit (GDK) guides[](#other-gitlab-development-kit-gdk-guides "Permalink") - -* [Run full Auto DevOps cycle in a GDK instance](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/auto_devops.md) -* [Using GitLab Runner with the GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/runner.md) -* [Using the Web IDE terminal with the GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/master/doc/howto/web_ide_terminal_gdk_setup.md) \ No newline at end of file diff --git a/docs/550.md b/docs/550.md deleted file mode 100644 index bdb3469..0000000 --- a/docs/550.md +++ /dev/null @@ -1,169 +0,0 @@ -# Contribute to GitLab - -> 原文:[https://docs.gitlab.com/ee/development/contributing/](https://docs.gitlab.com/ee/development/contributing/) - -* [Security vulnerability disclosure](#security-vulnerability-disclosure) -* [Code of conduct](#code-of-conduct) -* [Closing policy for issues and merge requests](#closing-policy-for-issues-and-merge-requests) -* [Helping others](#helping-others) -* [How to contribute](#how-to-contribute) - * [GitLab Development Kit](#gitlab-development-kit) - * [Contribution flow](#contribution-flow) - * [Issues workflow](#issues-workflow) - * [Merge requests workflow](#merge-requests-workflow) -* [Style guides](#style-guides) -* [Implement design & UI elements](#implement-design--ui-elements) -* [Contribute documentation](#contribute-documentation) -* [Getting an Enterprise Edition License](#getting-an-enterprise-edition-license) - -# Contribute to GitLab[](#contribute-to-gitlab "Permalink") - -感谢您有兴趣为 GitLab 做贡献. 本指南详细介绍了如何以每个人都容易的方式为 GitLab 做出贡献. - -For a first-time step-by-step guide to the contribution process, see our [Contributing to GitLab](https://about.gitlab.com/community/contribute/) page. - -寻找工作吗? 有关更多信息,请参见[如何贡献](#how-to-contribute)部分. - -GitLab 有两种口味: - -* GitLab 社区版(CE),我们的免费和开源版本. -* GitLab 企业版(EE),这是我们的商业版. - -在本指南中,您将看到对 CE 和 EE 的缩写的引用. - -要获得 GitLab 社区成员资格的概述,包括那些会审核或合并您的贡献的成员,请访问[社区角色页面](community_roles.html) . - -如果您想知道 GitLab [核心团队的](https://about.gitlab.com/community/core-team/)运作方式,请参阅[GitLab 贡献过程](https://gitlab.com/gitlab-org/gitlab/blob/master/PROCESS.md) . - -GitLab Inc 工程师应参考[工程工作流程文档](https://about.gitlab.com/handbook/engineering/workflow/) . - -## Security vulnerability disclosure[](#security-vulnerability-disclosure "Permalink") - -将可疑的安全漏洞[秘密](https://about.gitlab.com/security/disclosure/)报告给`support@gitlab.com` ,另请参阅[GitLab.com 网站上的](https://about.gitlab.com/security/disclosure/) " [披露"部分](https://about.gitlab.com/security/disclosure/) . - -**危险:** **不要**为疑似安全漏洞公开可见的问题. - -## Code of conduct[](#code-of-conduct "Permalink") - -我们希望为每个有志于贡献的人营造一个温馨的环境. 请访问我们的[《行为准则》页面,](https://about.gitlab.com/community/contribute/code-of-conduct/)以了解有关我们对开放友好环境的承诺的更多信息. - -## Closing policy for issues and merge requests[](#closing-policy-for-issues-and-merge-requests "Permalink") - -GitLab 是一个受欢迎的开源项目,处理问题和合并请求的能力有限. 出于对我们志愿者的尊重,不符合本文档所列准则的问题和合并请求可能会被关闭,恕不另行通知. - -以礼貌和尊重的态度对待我们的志愿者,这将大大有助于您解决问题. - -发行和合并请求应使用英语,并包含适合所有年龄段受众的语言. - -如果贡献者不再主动处理提交的合并请求,我们可以: - -* 决定合并请求将由我们的[合并请求指导者之一完成](https://about.gitlab.com/company/team/) . -* 关闭合并请求. - -我们根据更改对我们的产品愿景的重要性来做出此决定. 如果合并请求教练将要完成合并请求,我们指定`~coach will finish`标签. - -当团队成员选择社区贡献时,我们会通过添加一个记入作者的更改日志条目来记入原始作者,并有选择地将原始作者包括在 MR 中的至少一项提交中. - -## Helping others[](#helping-others "Permalink") - -可以的话,请帮助其他 GitLab 用户. 人们用于寻求帮助的方法可以在" [获得帮助"页面](https://about.gitlab.com/get-help/)上找到. - -注册邮件列表,在 StackOverflow 上回答 GitLab 问题,或在 IRC 频道中回复. - -## How to contribute[](#how-to-contribute "Permalink") - -如果您想为 GitLab 做出贡献: - -* [`~Accepting merge requests`标签的问题](issue_workflow.html#label-for-community-contributors)是一个很好的起点. -* 请查阅" [贡献流"](#contribution-flow)部分以了解该过程. - -如果您有任何疑问或需要帮助,请访问" [获得帮助"](https://about.gitlab.com/get-help/)以了解如何与 GitLab 进行通信. 我们有一个[供参与者](https://gitter.im/gitlab/contributors)使用的[Gitter 通道](https://gitter.im/gitlab/contributors) ,但是相对于实时通信,我们更喜欢[异步](https://about.gitlab.com/handbook/communication/#internal-communication)通信. - -感谢您的贡献! - -### GitLab Development Kit[](#gitlab-development-kit "Permalink") - -GitLab 开发套件(GDK)可帮助贡献者使用所有必需的依赖项来运行本地 GitLab 实例. 在提出合并请求之前,它可以用于测试对 GitLab 和相关项目的更改. - -有关更多信息,请参见[`gitlab-development-kit`](https://gitlab.com/gitlab-org/gitlab-development-kit)项目. - -### Contribution flow[](#contribution-flow "Permalink") - -对 GitLab 进行贡献的一般流程是: - -1. [创建一个](../../user/project/repository/forking_workflow.html#creating-a-fork) GitLab [的叉子](../../user/project/repository/forking_workflow.html#creating-a-fork) . 在某些情况下,您将需要设置[GitLab 开发套件](https://gitlab.com/gitlab-org/gitlab-development-kit)以[针对 fork](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/master/doc/index.md#develop-in-your-own-gitlab-fork)进行[开发](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/master/doc/index.md#develop-in-your-own-gitlab-fork) . -2. 在叉子上进行更改. -3. 准备就绪后, [创建一个新的合并请求](../../user/project/merge_requests/creating_merge_requests.html) . -4. 在合并请求的描述中: - * 确保您提供完整而准确的信息. - * 查看提供的清单. -5. 将合并请求(如果可能)分配给相关项目的[代码所有者](../../user/project/code_owners.html)之一或`@mention` ,并说明您已准备好进行审查. - -当您向 GitLab 提交代码时,我们真的希望它被合并! 但是,我们始终会仔细审查提交的内容,这需要时间. 合并之前,代码提交通常会由两位[领域专家](../code_review.html#domain-experts)进行审核: - -* A [reviewer](../code_review.html#the-responsibility-of-the-reviewer). -* A [maintainer](../code_review.html#the-responsibility-of-the-maintainer). - -提交合并请求时,请牢记以下几点: - -* 当审阅者阅读合并请求时,他们可能会要求其他审阅者提供指导. -* 如果发现代码质量不符合 GitLab 的标准,则合并请求审阅者将提供指导,并将作者推荐给我们: - * [文档](../documentation/styleguide.html)样式指南. - * 代码样式指南. -* 有时会遵循样式指南,但是代码将缺乏结构完整性,或者审阅者会对​​代码的整体质量有所保留. 如有保留,审阅者将通知作者并提供一些指导. -* 尽管 GitLab 通常允许任何人表明对合并请求的[批准](../../user/project/merge_requests/merge_request_approvals.html) ,但是维护者在合并合并请求之前可能需要[获得某些审阅者的批准](../code_review.html#approval-guidelines) . -* 审核后,可能会要求作者更新合并请求. 合并请求更新并重新分配给审阅者后,他们将再次审阅代码. 在合并之前,此过程可以重复任意次数,以帮助做出最佳的贡献. - -有时,维护者可能会选择关闭合并请求. 他们将充分披露为什么不合并的原因以及一些指导. 维护人员将公开讨论如何更改代码,以便将来可以批准和合并. - -manbetx 客户端打不开将尽其所能尽快审查社区贡献. 专门任命的开发人员每天审查社区贡献. 在[团队页面上](https://about.gitlab.com/company/team/)查看合并请求指导者,他专门研究您编写的代码类型,并在合并请求中提及他们. 例如,如果您编写了一些前端代码,则应`@mention`前端合并请求指导程序. 如果您的代码具有多个学科,则可以`@mention`多个合并请求指导. - -GitLab 收到了很多社区的贡献. 如果您的代码在其初次提交后的两个工作日内仍未得到审查,请`@mention`与`@gitlab-org/coaches`合并的所有请求`@gitlab-org/coaches`引起他们的注意. - -在向 GitLab 提交代码时,您可能会觉得您的贡献需要外部库的帮助. 如果您的代码包含外部库,请提供该库的链接,以及包含该库的原因. - -`@mention`维护者在合并请求中包含: - -* 超过 500 种变化. -* 任何重大变化. -* 外部库. - -如果您不确定要提及谁,则审阅者将在合并请求过程的早期为您完成此操作. - -#### Issues workflow[](#issues-workflow "Permalink") - -This [documentation](issue_workflow.html) outlines the current issue workflow: - -* [Issue tracker guidelines](issue_workflow.html#issue-tracker-guidelines) -* [Issue triaging](issue_workflow.html#issue-triaging) -* [Labels](issue_workflow.html#labels) -* [Feature proposals](issue_workflow.html#feature-proposals) -* [Issue weight](issue_workflow.html#issue-weight) -* [Regression issues](issue_workflow.html#regression-issues) -* [Technical and UX debt](issue_workflow.html#technical-and-ux-debt) -* [Technical debt in follow-up issues](issue_workflow.html#technical-debt-in-follow-up-issues) - -#### Merge requests workflow[](#merge-requests-workflow "Permalink") - -本[文档](merge_request_workflow.html)概述了当前的合并请求过程. - -* [Merge request guidelines](merge_request_workflow.html#merge-request-guidelines) -* [Contribution acceptance criteria](merge_request_workflow.html#contribution-acceptance-criteria) -* [Definition of done](merge_request_workflow.html#definition-of-done) -* [Dependencies](merge_request_workflow.html#dependencies) - -## Style guides[](#style-guides "Permalink") - -本[文档](style_guides.html)概述了当前的样式准则. - -## Implement design & UI elements[](#implement-design--ui-elements "Permalink") - -本[设计文档](design.html)概述了实现设计和 UI 元素的当前过程. - -## Contribute documentation[](#contribute-documentation "Permalink") - -有关如何编写文档的信息,请参见 GitLab [文档指南](../documentation/index.html) . - -## Getting an Enterprise Edition License[](#getting-an-enterprise-edition-license "Permalink") - -如果您需要用于贡献 EE 功能的许可证,请参阅[相关信息](https://about.gitlab.com/handbook/marketing/community-relations/code-contributor-program/#for-contributors-to-the-gitlab-enterprise-edition-ee) . \ No newline at end of file diff --git a/docs/551.md b/docs/551.md deleted file mode 100644 index e45d42b..0000000 --- a/docs/551.md +++ /dev/null @@ -1,20 +0,0 @@ -# Community members & roles - -> 原文:[https://docs.gitlab.com/ee/development/contributing/community_roles.html](https://docs.gitlab.com/ee/development/contributing/community_roles.html) - -# Community members & roles[](#community-members--roles "Permalink") - -GitLab 社区成员及其特权/责任. - -| Roles | Responsibilities | Requirements | -| --- | --- | --- | -| Maintainer | 接受多个 GitLab 项目的合并请求 | 添加到[团队页面](https://about.gitlab.com/company/team/) . 代码审查专家并了解产品/代码库 | -| Reviewer | 在 MR 上执行代码审查 | 添加到[团队页面](https://about.gitlab.com/company/team/) | -| Developer | 可以访问 GitLab 内部基础设施和问题(例如与 HR 相关的问题) | GitLab 员工或核心团队成员(具有 NDA) | -| Contributor | 可以为所有 GitLab 公共项目做出贡献 | 有一个 GitLab.com 帐户 | - -[List of current reviewers/maintainers](https://about.gitlab.com/handbook/engineering/projects/#gitlab-ce). - -* * * - -[Return to Contributing documentation](index.html) \ No newline at end of file diff --git a/docs/552.md b/docs/552.md deleted file mode 100644 index b5fc983..0000000 --- a/docs/552.md +++ /dev/null @@ -1,30 +0,0 @@ -# Implement design & UI elements - -> 原文:[https://docs.gitlab.com/ee/development/contributing/design.html](https://docs.gitlab.com/ee/development/contributing/design.html) - -# Implement design & UI elements[](#implement-design--ui-elements "Permalink") - -有关在 GitLab 上实现 UX 的指导,请参阅我们的[设计系统](https://design.gitlab.com/) . - -The UX team uses labels to manage their workflow. - -问题上的〜" UX"标签向 UX 团队发出信号,表明它将需要 UX 注意. 为了更好地了解 UX 解决问题的优先级,请参阅手册的[UX 部分](https://about.gitlab.com/handbook/engineering/ux/) . - -解决问题并准备好进行开发后,UXer 会删除〜" UX"标签,并将〜" UX ready"标签应用于该问题. - -有一个特殊类型的标签,称为〜"产品发现",用于 UX,PM,FE 和 BE. 它代表讨论问题和潜在解决方案的发现问题. 该问题的最终输出可能是需求文档,设计工件,甚至是原型. 该解决方案将在随后的里程碑中开发. - -〜"产品发现"问题与其他任何问题一样,并且在当前里程碑中安排时,应包含里程碑标签,〜"可交付成果"或〜"伸展". - -The initial issue should be about the problem we are solving. 最初的问题应该与我们正在解决的问题有关. If a separate [product discovery issue](https://about.gitlab.com/handbook/engineering/ux/ux-department-workflow/#how-we-use-labels) is needed for additional research and design work, it will be created by a PM or UX person. 如果需要其他[产品发现问题](https://about.gitlab.com/handbook/engineering/ux/ux-department-workflow/#how-we-use-labels)来进行其他研究和设计工作,则将由 PM 或 UX 用户创建. Assign the ~UX, ~"product discovery" and ~"Deliverable" labels, add a milestone and use a title that makes it clear that the scheduled issue is product discovery (for example, `Product discovery for XYZ` ). 分配〜UX,〜"产品发现"和〜"可交付成果"标签,添加一个里程碑,并使用标题清楚地表明计划的问题是产品发现(例如, `Product discovery for XYZ` ). - -为了解决发行版中的产品发现问题,您必须完成以下操作: - -1. UXer 删除〜UX 标签,添加〜" UX ready"标签. -2. 修改产品发现问题中的问题描述以包含最终设计. 如果有道理,可以将指示设计需求的原始信息移至下部的"原始信息"部分. -3. 将设计复制到为其创建了产品发现问题的交付问题的描述中. 不要简单地将产品发现问题称为独立的事实来源. -4. 在某些情况下,产品发现问题还标识了将来的增强功能,这些增强功能不会包含在起源产品发现问题的问题中. 对于这些项目,请创建包含设计的新问题,以确保它们不会丢失. 如果这些问题是好的想法,则将这些问题放在待办事项中. 否则,将它们分类. - -* * * - -[Return to Contributing documentation](index.html) \ No newline at end of file diff --git a/docs/553.md b/docs/553.md deleted file mode 100644 index f12dd92..0000000 --- a/docs/553.md +++ /dev/null @@ -1 +0,0 @@ -> 原文:[https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/README.md](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/README.md) \ No newline at end of file diff --git a/docs/554.md b/docs/554.md deleted file mode 100644 index 7ee9065..0000000 --- a/docs/554.md +++ /dev/null @@ -1,338 +0,0 @@ -# Issues workflow - -> 原文:[https://docs.gitlab.com/ee/development/contributing/issue_workflow.html](https://docs.gitlab.com/ee/development/contributing/issue_workflow.html) - -* [Issue tracker guidelines](#issue-tracker-guidelines) -* [Issue triaging](#issue-triaging) -* [Labels](#labels) - * [Type labels](#type-labels) - * [Facet labels](#facet-labels) - * [Stage labels](#stage-labels) - * [Naming and color convention](#naming-and-color-convention) - * [Group labels](#group-labels) - * [Naming and color convention](#naming-and-color-convention-1) - * [Category labels](#category-labels) - * [Naming and color convention](#naming-and-color-convention-2) - * [Feature labels](#feature-labels) - * [Naming and color convention](#naming-and-color-convention-3) - * [Department labels](#department-labels) - * [Team labels](#team-labels) - * [Naming and color convention](#naming-and-color-convention-4) - * [Specialization labels](#specialization-labels) - * [Release scoping labels](#release-scoping-labels) - * [Priority labels](#priority-labels) - * [Severity labels](#severity-labels) - * [Label for community contributors](#label-for-community-contributors) - * [Stewardship label](#stewardship-label) -* [Feature proposals](#feature-proposals) -* [Issue weight](#issue-weight) -* [Regression issues](#regression-issues) -* [Technical and UX debt](#technical-and-ux-debt) -* [Technical debt in follow-up issues](#technical-debt-in-follow-up-issues) - -# Issues workflow[](#issues-workflow "Permalink") - -## Issue tracker guidelines[](#issue-tracker-guidelines "Permalink") - -在提交您自己**[的问题](https://gitlab.com/gitlab-org/gitlab/-/issues)**之前,请**[在问题跟踪器中](https://gitlab.com/gitlab-org/gitlab/-/issues)**搜索类似的条目,否则很有可能其他人也有相同的问题或功能建议. 通过奖励表情符号显示您的支持和/或参加讨论. - -请使用问题跟踪器提供的["错误"问题模板](https://gitlab.com/gitlab-org/gitlab/blob/master/.gitlab/issue_templates/Bug.md)提交错误. 括号中的文字可以帮助您添加内容. 提交实际问题时将其忽略. 您可以复制粘贴它,然后根据需要进行编辑. - -## Issue triaging[](#issue-triaging "Permalink") - -我们的问题分诊政策[在手册中](https://about.gitlab.com/handbook/engineering/quality/issue-triage/)有所[描述](https://about.gitlab.com/handbook/engineering/quality/issue-triage/) . 非常欢迎您帮助 GitLab 团队分类问题. 我们还每季度组织一次[bash 事件](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/17815) . - -最重要的是确保有效问题得到开发团队的反馈. 因此,优先考虑的是可以为这些问题提供帮助的开发人员. 请从[GitLab 团队中](https://about.gitlab.com/company/team/)选择具有相关经验的[人员](https://about.gitlab.com/company/team/) . 如果没有人提到这种专业知识,请在提交历史中查找受影响的文件以找到某人. - -我们还使用[GitLab Triage](https://gitlab.com/gitlab-org/gitlab-triage)来自动化一些分类策略. 当前已将其设置为在其上运行的计划管道( `https://gitlab.com/gitlab-org/quality/triage-ops/pipeline_schedules/10512/editpipeline_schedules/10512/edit` ,必须至少具有开发人员访问项目的权限) [质量/分类操作](https://gitlab.com/gitlab-org/quality/triage-ops)项目. - -## Labels[](#labels "Permalink") - -To allow for asynchronous issue handling, we use [milestones](https://gitlab.com/groups/gitlab-org/-/milestones) and [labels](https://gitlab.com/gitlab-org/gitlab/-/labels). Leads and product managers handle most of the scheduling into milestones. Labeling is a task for everyone. - -大多数问题的标签至少包含以下之一: - -* 类型: `~feature` , `~bug` , `~backstage` , `~documentation`等. -* 阶段: `~"devops::plan"` , `~"devops::create"`等 -* 组: `~"group::source code"` , `~"group::knowledge"` , `~"group::editor"`等 -* 类别: `~"Category:Code Analytics"` , `~"Category:DevOps Score"` , `~"Category:Templates"`等 -* 特点: `~wiki` , `~ldap` , `~api` , `~issues` , `~"merge requests"` ,等等. -* Department: `~UX`, `~Quality` -* Team: `~"Technical Writing"`, `~Delivery` -* Specialization: `~frontend`, `~backend`, `~documentation` -* 发布范围: `~Deliverable` , `~Stretch` , `~"Next Patch Release"` -* Priority: `~P1`, `~P2`, `~P3`, `~P4` -* 严重性: `S1` , `~S2` , `~S3` , `~S4` - -所有标签,其含义和优先级均在[标签页面](https://gitlab.com/gitlab-org/gitlab/-/labels)上定义. - -如果您遇到的问题都不存在,并且可以设置标签,则可以*随时*添加类型,阶段,组以及类别/功能标签. - -### Type labels[](#type-labels "Permalink") - -类型标签非常重要. 他们定义了这是什么类型的问题. 每个问题都应该只有一个. - -当前的类型标签为: - -* ~feature -* ~bug -* ~backstage -* 〜"支持请求" -* ~meta -* ~documentation - -许多类型标签都分配了优先级,这会根据其重要性自动使它们浮动到顶部. - -类型标签始终是小写字母,并且可以具有除蓝色(已为类别标签保留)以外的任何颜色. - -[标签页面](https://gitlab.com/groups/gitlab-org/-/labels)上的描述说明了每种类型标签下的内容. - -GitLab 手册记录了[什么是错误](https://about.gitlab.com/handbook/product/product-processes/#bug-issues)以及[什么是功能请求](https://about.gitlab.com/handbook/product/product-processes/#feature-issues) . - -### Facet labels[](#facet-labels "Permalink") - -有时,改进问题的类型很有用. 在这种情况下,您可以添加构面标签. - -以下是构面标签的非详尽列表: - -* 增强功能:此标签可以完善具有功能标签的问题. -* 〜" master:broken":此标签可以细化带有〜bug 标签的问题. -* 〜" failure :: flaky-test":此标签可以细化带有〜bug 标签的问题. -* 〜"技术债务":此标签可以完善具有〜后台标签的问题. -* 〜"静态分析":此标签可以细化具有〜backstage 标签的问题. -* 〜" ci-build":此标签可以优化具有〜backstage 标签的问题. -* 〜性能:性能问题可能描述〜错误或〜功能. -* 〜安全性:一个安全性问题可以描述一个 bug 或一个功能. -* 数据库:数据库问题可能描述错误或功能. -* 〜customer:这与客户创建的或客户感兴趣的问题有关. -* 〜" UI 文本":在 UI 内添加或修改任何文本的问题,例如用户辅助显微镜,按钮/菜单标签或错误消息. - -### Stage labels[](#stage-labels "Permalink") - -阶段标签指定问题属于哪个[阶段](https://about.gitlab.com/handbook/product/product-categories/#hierarchy) . - -#### Naming and color convention[](#naming-and-color-convention "Permalink") - -舞台标签遵守`devops::`命名约定. ``是阶段密钥,因为它位于[https://gitlab.com/gitlab-com/www-gitlab-com/blob/master/data/stages.yml](https://gitlab.com/gitlab-com/www-gitlab-com/blob/master/data/stages.yml)的单个真相来源中,其中`_`替换为空间. - -例如," Manage"阶段由`gitlab-org`组中的`~"devops::manage"`标签表示,因为它的关键`stages`是`manage` . - -通过[在标签列表中搜索`devops::`](https://gitlab.com/groups/gitlab-org/-/labels?search=devops::)可以找到当前阶段的标签. - -这些标签是[作用域标签](../../user/project/labels.html#scoped-labels-premium) ,因此是互斥的. - -舞台标签用于自动生成[方向页面](https://about.gitlab.com/direction/) . - -### Group labels[](#group-labels "Permalink") - -组标签指定了问题所属的[组](https://about.gitlab.com/company/team/structure/#product-groups) . - -强烈建议添加一个组标签,因为我们的分类自动化会使用它来[推断正确的舞台标签](https://about.gitlab.com/handbook/engineering/quality/triage-operations/#auto-labelling-of-issues) . - -#### Naming and color convention[](#naming-and-color-convention-1 "Permalink") - -组标签遵循`group::`命名约定,其颜色为`#A8D695` . ``是组密钥,因为它位于[https://gitlab.com/gitlab-com/www-gitlab-com/blob/master/data/stages.yml 的](https://gitlab.com/gitlab-com/www-gitlab-com/blob/master/data/stages.yml)组的单个真实来源中,其中已替换`_`与空间. - -例如," Continuous Integration"组由`gitlab-org`组中的〜" group :: continuous integration"标签表示,因为它的关键在`stages.manage.groups`下是`continuous_integration` . - -通过[在标签列表中搜索`group::`](https://gitlab.com/groups/gitlab-org/-/labels?search=group::)可以找到当前的组标签. - -这些标签是[作用域标签](../../user/project/labels.html#scoped-labels-premium) ,因此是互斥的. - -您可以在" [产品阶段","组"和"类别"](https://about.gitlab.com/handbook/product/product-categories/)页面中找到列出的[组](https://about.gitlab.com/handbook/product/product-categories/) . - -我们使用术语组来映射产品阶段中的产品需求. 当团队需要某种方式来收集其成员计划分配的工作时,我们可以使用`~group::`标签来完成. - -通常,舞台标签和组标签之间存在 1:1 的关系. 本着"人人都可以贡献"的精神,任何问题都可以由任何团体根据当前的优先事项来解决. 拾取属于其他组的问题时,应重新标记. 例如,如果计划阶段的"访问"组中的某人拾取了标有`~"devops::create"`和`~"group::knowledge"`的问题,则应在发布该问题时将其重新标记为`~"group::access"`保持原始`~"devops::create"`不变. - -我们还使用阶段标签和组标签来帮助量化[吞吐量](https://about.gitlab.com/handbook/engineering/management/throughput/) . 请阅读[吞吐量中的阶段和组标签,](https://about.gitlab.com/handbook/engineering/management/throughput/#stage-and-group-labels-in-throughput)以获取有关在这种情况下如何使用标签的更多信息. - -### Category labels[](#category-labels "Permalink") - -在手册的" [产品阶段,组和类别"](https://about.gitlab.com/handbook/product/product-categories/#hierarchy)页面中: - -> 类别是高级功能,可能是另一家公司的独立产品. 例如投资组合管理. - -强烈建议添加类别标签,因为我们的分类自动化会使用它来[推断正确的组和阶段标签](https://about.gitlab.com/handbook/engineering/quality/triage-operations/#auto-labelling-of-issues) . - -如果您是特定领域的专家,则可以更轻松地找到要解决的问题. 您还可以订阅这些标签,以在每次用与您的专业知识相对应的类别标签标记问题时接收电子邮件. - -#### Naming and color convention[](#naming-and-color-convention-2 "Permalink") - -类别标签遵循" `Category:`命名约定,其颜色为`#428BCA` . ``是类别名称,因为它位于[https://gitlab.com/gitlab-com/www-gitlab-com/blob/master/data/categories.yml 的](https://gitlab.com/gitlab-com/www-gitlab-com/blob/master/data/categories.yml)类别的唯一真实来源中. - -例如," DevOps 分数"类别由`gitlab-org`组中的〜" Category:DevOps 分数"标签表示,因为其`devops_score.name`值为" DevOps 分数". - -如果类别的标签不遵守此命名约定,则应在[https://gitlab.com/gitlab-com/www-gitlab-com/blob/master/data/categories.yml 中](https://gitlab.com/gitlab-com/www-gitlab-com/blob/master/data/categories.yml)使用[`label`属性](https://about.gitlab.com/handbook/marketing/website/#category-attributes)指定它. - -### Feature labels[](#feature-labels "Permalink") - -From the handbook’s [Product stages, groups, and categories](https://about.gitlab.com/handbook/product/product-categories/#hierarchy) page: - -> 特点:小型,离散功能. 例如发行权重. 括号中列出了一些常用功能,以帮助通过关键字查找负责任的 PM. - -如果没有类别标签,强烈建议添加功能标签,因为我们的分类自动分类系统会使用该功能标签来[推断正确的组和阶段标签](https://about.gitlab.com/handbook/engineering/quality/triage-operations/#auto-labelling-of-issues) . - -如果您是特定领域的专家,则可以更轻松地找到要解决的问题. 您还可以订阅这些标签,以在每次问题被标记有与您的专业知识相对应的功能标签时接收电子邮件. - -特征标签的例子是`~wiki` , `~ldap` , `~api` , `~issues` , `~"merge requests"`等. - -#### Naming and color convention[](#naming-and-color-convention-3 "Permalink") - -功能标签全部为小写. - -### Department labels[](#department-labels "Permalink") - -当前部门标签为: - -* ~UX -* ~Quality - -### Team labels[](#team-labels "Permalink") - -**重要提示** :现在不推荐使用大多数历史团队标签(例如"管理","计划"等),而推荐使用" [组"标签](#group-labels)和" [阶段"标签](#stage-labels) . - -团队标签指定负责此问题的团队. 分配团队标签可确保问题引起适当人员的注意. - -当前的团队标签为: - -* ~Delivery -* 〜"技术写作" - -#### Naming and color convention[](#naming-and-color-convention-4 "Permalink") - -团队标签始终大写,以便显示为任何问题的第一个标签. - -### Specialization labels[](#specialization-labels "Permalink") - -这些标签缩小了工作单元的[专业](https://about.gitlab.com/company/team/structure/#specialist)范围. - -* ~frontend -* ~backend -* ~documentation - -### Release scoping labels[](#release-scoping-labels "Permalink") - -发布范围界定标签有助于我们清楚地传达对发布工作的期望. 发行范围界定标签分为三个级别: - -* 〜可交付成果:预期在当前里程碑中交付的问题. -* 〜延伸:问题是实现当前里程碑的延伸目标. 如果当前发行版中未解决这些问题,则强烈考虑将它们用于下一个发行版. -* 〜"下一个补丁程序发行版":下一个补丁程序发行版中的问题. 首先进行处理,然后将`~"Pick into XY"`标签添加到合并请求中,并添加适当的里程碑. - -为当前里程碑计划的每个发行都应标记为〜Deliverable 或〜" Stretch". 上一个里程碑的所有未解决问题都应标记为"下一个补丁发布",或以其他方式重新安排到另一个里程碑. - -### Priority labels[](#priority-labels "Permalink") - -我们具有以下优先级标签: - -* ~P1 -* ~P2 -* ~P3 -* ~P4 - -请参阅手册中的问题分类[优先级标签](https://about.gitlab.com/handbook/engineering/quality/issue-triage/#priority)部分,以了解其用法. - -### Severity labels[](#severity-labels "Permalink") - -我们具有以下严重性标签: - -* ~S1 -* ~S2 -* ~S3 -* ~S4 - -请参阅手册中的问题分类[优先级标签](https://about.gitlab.com/handbook/engineering/quality/issue-triage/#severity)部分,以了解其用法. - -### Label for community contributors[](#label-for-community-contributors "Permalink") - -我们目前没有能力或不想给予优先考虑的对用户有益的问题" nice to haves"被标记为"正在接受合并请求",以便社区可以做出贡献. - -社区贡献者可以针对他们想要的任何问题提交合并请求,但是〜"接受合并请求"标签具有特殊含义. 它指出了以下变化: - -1. 我们已经达成共识, -2. 定义明确 -3. 可能会被维护者接受. - -我们希望避免出现以下情况:投稿人选择〜"接受合并请求"问题,然后关闭他们的合并请求,因为我们意识到它不符合我们的愿景,或者我们想以其他方式解决它. - -我们会自动将〜"接受合并请求"标签添加到与[分类策略](https://about.gitlab.com/handbook/engineering/quality/triage-operations/#accepting-merge-requests)匹配的问题. - -我们建议从未参与过任何开源项目的人员寻找标有`~"Accepting merge requests"`且[权重为 1](https://gitlab.com/groups/gitlab-org/-/issues?state=opened&label_name[]=Accepting+merge+requests&assignee_id=None&sort=weight&weight=1)或带有`~"Good for 1st time contributors"` [标签的](https://gitlab.com/gitlab-org/gitlab/-/issues?scope=all&utf8=✓&state=opened&label_name[]=Good for 1st time contributors&assignee_id=None)问题. 我们欢迎更多有经验的贡献者[与他们](https://gitlab.com/groups/gitlab-org/-/issues?state=opened&label_name[]=Accepting+merge+requests&assignee_id=None)一起解决. - -如果您决定要解决某个问题,请@-提及[适当的产品经理](https://about.gitlab.com/handbook/product/#who-to-talk-to-for-what) . 然后,产品经理将邀请适当的 GitLab 团队成员进一步讨论范围,设计和技术注意事项. 这将确保您的贡献与 GitLab 产品保持一致,并最大程度地减少返工和将其合并到 master 中的延迟. - -在问题上贴上"接受合并请求"标签的 GitLab 团队成员应与负责任的产品经理一起更新问题描述,并邀请上述任何潜在的社区贡献者加入@提及. - -### Stewardship label[](#stewardship-label "Permalink") - -对于与 GitLab 的开源管理有关的问题,有〜"管理"标签. - -该标签将用于解决有关 GitLab 管理问题的问题. 例如,如果 GitLab Inc.计划将 GitLab EE 中的功能添加到 GitLab CE 中,则相关问题将标记为"管理". - -最近的一个例子是[将时间跟踪 API 引入 GitLab CE 的问题](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/25517#note_20019084) . - -## Feature proposals[](#feature-proposals "Permalink") - -要创建功能建议,请在[问题跟踪器](https://gitlab.com/gitlab-org/gitlab/-/issues)上打开[问题](https://gitlab.com/gitlab-org/gitlab/-/issues) . - -为了帮助跟踪功能建议,我们创建了[`feature`](https://gitlab.com/gitlab-org/gitlab/-/issues?label_name=feature)标签. 目前,不是项目成员的用户无法添加标签. 您可以改为要求[核心团队](https://about.gitlab.com/community/core-team/)成员之一在问题上添加标签〜feature,或在描述后的新行中添加以下代码段: `~feature` . - -请使功能建议尽可能小而简单,复杂的建议可能会被编辑以使其小而简单. - -请使用问题跟踪器上提供的["功能建议"问题模板](https://gitlab.com/gitlab-org/gitlab/blob/master/.gitlab/issue_templates/Feature proposal.md)提交功能建议. - -For changes in the interface, it is helpful to include a mockup. Issues that add to, or change, the interface should be given the ~”UX” label. This will allow the UX team to provide input and guidance. You may need to ask one of the [core team](https://about.gitlab.com/community/core-team/) members to add the label, if you do not have permissions to do it by yourself. - -如果您想自己创建一些东西,请考虑首先打开一个问题,讨论将其包含在 GitLab 中是否有趣. - -## Issue weight[](#issue-weight "Permalink") - -问题权重使我们对解决一个或多个问题所需的工作量有所了解. 这样可以更准确地安排工作. - -鼓励您设置任何问题的权重. 遵循以下准则将使其易于管理,而没有不必要的开销. - -1. 尽早设置任何问题的权重 -2. 如果您不同意设定的权重,请与其他开发人员讨论,直到就权重达成共识 -3. 问题权重是问题复杂性的抽象度量. 不要将发行权重直接与时间相关. 这称为[锚定](https://en.wikipedia.org/wiki/Anchoring) ,是您要避免的事情. -4. 权重为 1(或无权重)的东西确实很小而简单. 9 表示正在重写 GitLab 的一个很大的基本部分,这可能会导致许多难以解决的问题. 在 GitLab 中更改某些文本可能是 1,添加新的 Git Hook 可能是 4 或 5,大功能是 7-9. -5. 如果某事物非常大,则应将其拆分为多个问题或大块. 您不能简单地设置父问题的权重,而不能设置子问题的权重. - -## Regression issues[](#regression-issues "Permalink") - -每个月度发行版的 CE 问题跟踪器上都有一个相应的发行版,以跟踪该发行版所破坏的功能以及修补程序发行版中需要包含的所有修补程序(请参阅[8.3 回归](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/4127)示例). - -如问题描述中所概述的那样,预期的工作流程是发布一个注释,其中包含对描述回归的问题的引用,然后通过对合并请求的引用来更新该注释,该合并请求将在发布后对其进行修复. - -如果您是贡献者,没有所需的权限来更新其他用户的注释,请发布新注释,同时提及问题和合并请求. - -发布经理将在解决补丁程序后[更新](https://gitlab.com/gitlab-org/release-tools/blob/master/doc/pro-tips.md#update-the-regression-issue)回归问题中[的注释](https://gitlab.com/gitlab-org/release-tools/blob/master/doc/pro-tips.md#update-the-regression-issue) . - -## Technical and UX debt[](#technical-and-ux-debt "Permalink") - -为了跟踪可以在 GitLab 的代码库中改进的事物,我们在[GitLab 的问题跟踪器中](https://gitlab.com/gitlab-org/gitlab/-/issues)使用〜"技术债务"标签. 对于错过的用户体验要求,我们使用〜" UX 债务"标签. - -这些标签应添加到描述可以改进的问题,已采取的捷径,需要额外注意的功能以及由于高速发展而遗留下来的所有其他事项的问题上. 例如,需要重构的代码应使用〜"技术债务"标签,根据我们的设计系统准则,未交付的某些产品应使用〜" UX 债务"标签. - -每个人都可以创建一个问题,但是如果您没有权限自行添加,则可能需要请求添加特定标签. 可以将其他标签与这些标签结合使用,以更轻松地计划发布的改进. - -用这些标签标记的问题具有与描述要在 GitLab 中引入的新功能的问题相同的优先级,并且应该安排由适当的人员发布. - -请确保在问题的描述中提及与"技术债务"问题或" UX 债务"问题相关的合并请求. - -## Technical debt in follow-up issues[](#technical-debt-in-follow-up-issues "Permalink") - -在开发新功能时通常会发现技术债务. 本着"最小可行的改变"的精神,通常将解决方案推迟到后续问题上. 但是,这不能用作合并劣质代码的借口,否则这些劣质代码将无法通过审阅,或者忽略了琐事,这些琐事不值得单独安排,最好在原始合并请求中解决-否则完全追踪! - -The overheads of scheduling, and rate of change in the GitLab codebase, mean that the cost of a trivial technical debt issue can quickly exceed the value of tracking it. This generally means we should resolve these in the original merge request - or simply not create a follow-up issue at all. - -例如,在文件之间复制的注释中的错字值得在同一 MR 中修复,但不值得为其创建后续问题. 重命名在许多地方使用的方法以使其意图更清晰可能是值得修复的,但是这种方法不应在同一 MR 中发生,并且通常不值得自己解决. 如果我们要创建这些问题,这些问题将始终标记为`~P4 ~S4` . - -更严重的技术债务可能对发展速度产生影响. 如果不能及时解决,那么代码库将变得不必要地难以更改,新功能也将难以添加,并且大量回归. - -应该认真对待此类技术债务的发现,尽管在后续问题中解决问题可能是适当的,但维护人员通常应从原始 MR 的作者或相关领域的工程或产品经理那里获得调度承诺. . 这可以采取在问题上使用适当的优先级/严重性标签的形式,也可以采用明确的里程碑和受让人的形式. - -维护者必须始终同意,以这种方式解决一个悬而未决的讨论,并且它将是引发问题的人. 标题和描述的质量应[与通常](#technical-and-ux-debt)创建的标题和描述的质量相同-特别是,问题标题**不能**以" `Follow-up`开头! 创建维护者还应该期望在后续问题上开始工作时会有所参与. - -* * * - -[Return to Contributing documentation](index.html) \ No newline at end of file diff --git a/docs/555.md b/docs/555.md deleted file mode 100644 index 85799fc..0000000 --- a/docs/555.md +++ /dev/null @@ -1,176 +0,0 @@ -# Merge requests workflow - -> 原文:[https://docs.gitlab.com/ee/development/contributing/merge_request_workflow.html](https://docs.gitlab.com/ee/development/contributing/merge_request_workflow.html) - -* [Merge request guidelines](#merge-request-guidelines) - * [Keep it simple](#keep-it-simple) - * [Commit messages guidelines](#commit-messages-guidelines) -* [Contribution acceptance criteria](#contribution-acceptance-criteria) -* [Definition of done](#definition-of-done) -* [Dependencies](#dependencies) -* [Incremental improvements](#incremental-improvements) - -# Merge requests workflow[](#merge-requests-workflow "Permalink") - -We welcome merge requests from everyone, with fixes and improvements to GitLab code, tests, and documentation. The issues that are specifically suitable for community contributions are listed with the [`Accepting merge requests`](issue_workflow.html#label-for-community-contributors) label, but you are free to contribute to any issue you want. - -请注意,如果在任何时候都为当前里程碑标记了一个问题,即使您正在处理它,则 GitLab Inc.团队成员可能会接管合并请求,以确保工作在发布日期之前完成. - -如果要添加未标记的新功能,最好首先创建一个问题(如果还没有一个问题)并发表评论,要求将其标记为" `Accepting Merge Requests` . 如果还可以更改用户界面,请提供建议功能的屏幕截图或线框. - -合并请求应提交到 GitLab.com 上的相应项目,例如[GitLab](https://gitlab.com/gitlab-org/gitlab/-/merge_requests) , [GitLab Runner](https://gitlab.com/gitlab-org/gitlab-runner/-/merge_requests) , [Omnibus GitLab](https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests)等. - -如果您不熟悉 GitLab 开发(或一般而言的 Web 开发),请参阅" [如何做出贡献"](index.html#how-to-contribute)部分,以开始解决一些潜在的简单问题. - -要开始开发 GitLab,请下载[GitLab 开发套件,](https://gitlab.com/gitlab-org/gitlab-development-kit)并参阅" [开发"部分](../../README.html)以获取所需指南. - -## Merge request guidelines[](#merge-request-guidelines "Permalink") - -如果发现问题,请提交包含修复或改进的合并请求(如果可以),并包括测试. 如果您不知道如何解决该问题,但是可以编写暴露该问题的测试,我们也将接受. 通常,包含回归测试的错误修复将快速合并,而没有适当测试的新功能可能会更慢地接收反馈. 进行合并请求的工作流程如下: - -1. [叉](../../user/project/repository/forking_workflow.html)项目插入 GitLab.com 您的个人命名空间(或一组). -2. 在 fork 中创建一个功能分支(不要使用`master` ). -3. 编写[测试](../rake_tasks.html#run-tests)和代码. -4. [Generate a changelog entry with `bin/changelog`](../changelog.html) -5. 如果要编写文档,请确保遵循[文档准则](../documentation/index.html) . -6. 遵循[提交消息准则](#commit-messages-guidelines) . -7. 如果您有多个提交,请通过[压缩它们](https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History#_squashing)将它们组合为几个逻辑组织的提交,但是如果您正在共享分支上,则不要更改提交历史记录. -8. 将提交推送到 fork 中的工作分支. -9. 向主 GitLab 项目中的`master`分支提交合并请求(MR). - 1. 您的合并请求至少需要 1 个批准,但是根据您的更改,您可能需要其他批准. 请参阅[批准准则](../code_review.html#approval-guidelines) . - 2. 您不必选择任何特定的批准人,但是如果您确实希望特定的人批准您的合并请求,则可以选择. -10. MR 标题应描述您要进行的更改. -11. MR 说明应说明您进行更改的原因. - 1. 如果您要提供代码,请根据"描述"字段中已经提供的默认模板填写描述. - 2. 如果您要提供文档,请从"选择模板"菜单中选择" `Documentation` ",然后根据模板填写说明. - 3. 提及合并请求解决的问题,合并请求合并后,使用" `Solves #XXX`或" `Closes #XXX`语法[自动关闭](../../user/project/issues/managing_issues.html#closing-issues-automatically)问题. -12. 如果允许,请设置相关的里程碑和[标签](issue_workflow.html) . -13. UI 更改应使用 GitLab 设计系统" [睡衣"中的](https://design.gitlab.com/)可用组件. MR 必须包含" *之前*和*之后"*屏幕截图. -14. 如果 MR 更改了 CSS 类,请包括受影响页面的列表,可以通过运行`grep css-class ./app -R`来找到. -15. 如果您的 MR 触摸了执行 Shell 命令,读取或打开文件或处理磁盘上文件路径的代码,请确保它符合[Shell 命令准则](../shell_commands.html) -16. 如果您的代码在磁盘上创建了新文件,请阅读[共享文件准则](../shared_files.html) . -17. 如果您的合并请求添加了一个或多个迁移,请确保在审阅 MR 之前对新数据库执行所有迁移. 如果检查导致 MR 发生较大变化,请在检查完成后再次执行迁移. -18. 为更复杂的迁移编写测试. -19. 合并请求**必须**遵守[合并请求性能准则](../merge_request_performance_guidelines.html) . -20. 对于使用 Capybara 的测试,请阅读[如何编写可靠的异步集成测试](https://thoughtbot.com/blog/write-reliable-asynchronous-integration-tests-with-capybara) . -21. 如果从源安装 GitLab 时,合并请求中引入的更改需要其他步骤, `doc/install/installation.md`在同一合并请求中将它们添加到`doc/install/installation.md`中. -22. 如果您的合并请求引入了从源代码升级 GitLab 时需要其他步骤的更改,请在同一合并请求中将它们添加到`doc/update/upgrading_from_source.md`中. 如果这些说明是特定于版本的,请将它们添加到"特定于版本的升级说明"部分. -23. 阅读并遵守[合并请求作者的责任](../code_review.html#the-responsibility-of-the-merge-request-author) . -24. 阅读并关注[审核您的合并请求](../code_review.html#having-your-merge-request-reviewed) . - -如果您想对合并请求提供快速反馈,请随时提及[核心团队](https://about.gitlab.com/community/core-team/)或[合并请求指导者之一](https://about.gitlab.com/company/team/) . 在审查您的代码以及审查合并请求时,请牢记[代码审查准则](../code_review.html) . 并且,如果您的代码也对数据库进行了更改或进行了昂贵的查询,请查看[数据库复审指南](../database_review.html) . - -### Keep it simple[](#keep-it-simple "Permalink") - -*进行较小的迭代.* 请保持单个 MR 中的更改量**尽可能小** . 如果您想提供较大的功能,请仔细考虑[最小的可行更改](https://about.gitlab.com/handbook/product/#the-minimally-viable-change) . 您可以将功能分为两个较小的 MR 吗? 您只能提交后端/ API 代码吗? 您可以从一个非常简单的 UI 开始吗? 您可以只做一部分重构吗? - -小型 MR 更易于查看,从而导致更高的代码质量,对于 GitLab 而言,这比具有最少的提交日志更为重要. MR 越小,合并的可能性就越大. 之后,您可以发送更多 MR,以增强和扩展功能. Kubernetes 团队的《 [如何获得更快的 PR 评论》](https://github.com/kubernetes/kubernetes/blob/release-1.5/docs/devel/faster_reviews.md)文档也对此有一些建议. - -### Commit messages guidelines[](#commit-messages-guidelines "Permalink") - -编写提交消息时,请遵循以下准则: - -* 提交主题必须包含至少 3 个字. -* 提交主题不得超过 72 个字符. -* 提交主题必须以大写字母开头. -* 提交主题不得以句号结尾. -* 提交主题和正文必须用空白行分隔. -* 提交正文每行不得包含超过 72 个字符. -* 在至少 3 个文件中更改 30 行或更多行的提交必须在提交正文中描述这些更改. -* 提交主题或正文不得包含表情符号. -* 使用问题并合并请求的完整 URL 而不是简短参考,因为它们在 GitLab 之外显示为纯文本. -* 合并请求不得包含超过 10 条提交消息. - -如果不符合指导原则,MR 将不会通过[危险检查](https://gitlab.com/gitlab-org/gitlab/blob/master/danger/commit_messages/Dangerfile) . 有关更多信息,请参见[如何编写 Git 提交消息](https://chris.beams.io/posts/git-commit/) . - -可以在您的计算机上使用的体现以上内容的示例提交消息模板(有关[如何应用 template 的](https://codeinthehole.com/tips/a-useful-template-for-commit-messages/)指南): - -``` -# (If applied, this commit will...) (Max 50 char) -# |<---- Using a Maximum Of 50 Characters ---->| - -# Explain why this change is being made -# |<---- Try To Limit Each Line to a Maximum Of 72 Characters ---->| - -# Provide links or keys to any relevant tickets, articles or other resources -# Use issues and merge requests' full URLs instead of short references, -# as they are displayed as plain text outside of GitLab - -# --- COMMIT END --- -# -------------------- -# Remember to -# Capitalize the subject line -# Use the imperative mood in the subject line -# Do not end the subject line with a period -# Subject must contain at least 3 words -# Separate subject from body with a blank line -# Commits that change 30 or more lines across at least 3 files must -# describe these changes in the commit body -# Do not use Emojis -# Use the body to explain what and why vs. how -# Can use multiple lines with "-" for bullet points in body -# For more information: https://chris.beams.io/posts/git-commit/ -# -------------------- -``` - -## Contribution acceptance criteria[](#contribution-acceptance-criteria "Permalink") - -为确保您的合并请求能够获得批准,请确保其符合以下捐款接受标准: - -1. 更改尽可能小. -2. 包括适当的测试并使所有测试通过(除非它包含暴露现有代码中的错误的测试). 每个新类都应具有相应的单元测试,即使该类是在较高级别上进行的,例如功能测试. - * 如果失败的 CI 构建似乎与您的贡献无关,则可以尝试重新启动失败的 CI 作业,从主服务器重新部署以引入可以解决该失败的更新,或者如果尚未解决,请请开发人员来帮助您修复测试. -3. MR 最初包含一些按逻辑组织的提交. -4. 更改可以合并而不会出现问题. 否则,如果您是功能分支上的唯一成员,则应重新设置基准,否则合并`master` . -5. 仅解决了一个特定问题或实现了一个特定功能. 不要结合东西; 针对每个问题或功能发送单独的合并请求. -6. 迁移应仅做一件事(例如,创建表,将数据移动到新表或删除旧表),以帮助重试失败. -7. 包含其他用户将从中受益的功能. -8. 不要添加配置选项或设置选项,因为它们会使进行和测试将来的更改复杂化. -9. 更改不会降低性能: - * 避免重复轮询需要大量开销的端点. - * 通过 SQL 日志或[`QueryRecorder`](../merge_request_performance_guidelines.html)检查 N + 1 个查询. - * 避免重复访问文件系统. - * 如果需要支持实时功能,可将[轮询与 ETag 缓存一起](../polling.html)使用. -10. 如果合并请求添加了任何新库(宝石,JavaScript 库等),则它们应符合我们的[许可准则](../licensing.html) . 如果" license-finder"测试失败,并且`Dependencies that need approval`错误`Dependencies that need approval`请参阅那些说明. 另外,使审阅者了解新库并解释为什么需要它. -11. 合并请求符合下面的 GitLab [对 done](#definition-of-done)的[定义](#definition-of-done) . - -## Definition of done[](#definition-of-done "Permalink") - -如果您为 GitLab 做贡献,请知道更改不仅涉及代码. 我们使用以下[完成的定义](https://www.agilealliance.org/glossary/definition-of-done) . 在您确定满足所有这些要求之前,您的贡献不会*完成* . - -1. 清晰的说明,说明捐款的相关性. -2. 工作并清理需要注释的代码. -3. 所有通过 CI 服务器的[单元测试,集成测试和系统测试](../testing_guide/index.html) . -4. 测试涵盖了回归和错误,可降低问题再次发生的风险. -5. 遵循[性能准则](../merge_request_performance_guidelines.html) . -6. 遵循[安全编码准则](https://gitlab.com/gitlab-com/gl-security/security-guidelines) . -7. [记录](../documentation/index.html)在`/doc`目录中. -8. 如有必要, [添加了 Changelog 条目](../changelog.html) . -9. 由相关(UX / FE / BE /技术写作)审稿人审阅,并解决所有问题. -10. 由项目维护者合并. -11. 在[基础结构问题跟踪器中](https://gitlab.com/gitlab-com/gl-infra/infrastructure/-/issues)创建问题,以在您的文稿更改默认设置或引入新设置(如果相关)时通知基础结构部门. -12. 部署贡献后,确认已在[Canary 阶段](https://about.gitlab.com/handbook/engineering/#canary-testing)或 GitLab.com 上工作. -13. 添加到[发布中](https://about.gitlab.com/handbook/marketing/blog/release-posts/) (如果相关). -14. 添加到[网站](https://gitlab.com/gitlab-com/www-gitlab-com/blob/master/data/features.yml) (如果相关). -15. 如果需要, [可以](../testing_guide/testing_levels.html#black-box-tests-at-the-system-level-aka-end-to-end-tests)添加[黑盒测试/端到端测试](../testing_guide/testing_levels.html#black-box-tests-at-the-system-level-aka-end-to-end-tests) . 如有任何疑问,请联系[质量团队](https://about.gitlab.com/handbook/engineering/quality/#teams) . - -## Dependencies[](#dependencies "Permalink") - -如果您在 GitLab 中添加了一个依赖项(例如操作系统软件包),请考虑更新以下内容,并在合并请求中注意每个依赖项的适用性: - -1. 请注意[发布博客文章中](https://about.gitlab.com/handbook/marketing/blog/release-posts/)的附加内容(如果尚不存在,请创建一个). -2. [The upgrade guide](../../update/upgrading_from_source.html). -3. The [GitLab Installation Guide](../../install/installation.html#1-packages-and-dependencies). -4. The [GitLab Development Kit](https://gitlab.com/gitlab-org/gitlab-development-kit). -5. The [CI environment preparation](https://gitlab.com/gitlab-org/gitlab/blob/master/scripts/prepare_build.sh). -6. The [Omnibus package creator](https://gitlab.com/gitlab-org/omnibus-gitlab). - -## Incremental improvements[](#incremental-improvements "Permalink") - -我们会在工程上花费一些时间来解决小问题(有或没有问题),这些小问题是逐步改进的,例如: - -1. 未经优先考虑的错误修复(例如[,到处都显示有关项目移动的横幅警报](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/18985) ) -2. 文档改进 -3. Rubocop 或代码质量改进 - -用〜"应该工作的东西"标记合并请求,以跟踪该区域中的工作. \ No newline at end of file diff --git a/docs/556.md b/docs/556.md deleted file mode 100644 index ec5783a..0000000 --- a/docs/556.md +++ /dev/null @@ -1,346 +0,0 @@ -# Code Review Guidelines - -> 原文:[https://docs.gitlab.com/ee/development/code_review.html](https://docs.gitlab.com/ee/development/code_review.html) - -* [Getting your merge request reviewed, approved, and merged](#getting-your-merge-request-reviewed-approved-and-merged) - * [Domain experts](#domain-experts) - * [Reviewer roulette](#reviewer-roulette) - * [Approval guidelines](#approval-guidelines) - * [Security requirements](#security-requirements) - * [The responsibility of the merge request author](#the-responsibility-of-the-merge-request-author) - * [The responsibility of the reviewer](#the-responsibility-of-the-reviewer) - * [The responsibility of the maintainer](#the-responsibility-of-the-maintainer) -* [Best practices](#best-practices) - * [Everyone](#everyone) - * [Having your merge request reviewed](#having-your-merge-request-reviewed) - * [Assigning a merge request for a review](#assigning-a-merge-request-for-a-review) - * [List of merge requests ready for review](#list-of-merge-requests-ready-for-review) - * [Reviewing a merge request](#reviewing-a-merge-request) - * [Merging a merge request](#merging-a-merge-request) - * [The right balance](#the-right-balance) - * [GitLab-specific concerns](#gitlab-specific-concerns) - * [Review turnaround time](#review-turnaround-time) - * [Review-response SLO](#review-response-slo) - * [Customer critical merge requests](#customer-critical-merge-requests) -* [Examples](#examples) - * [Credits](#credits) - -# Code Review Guidelines[](#code-review-guidelines "Permalink") - -本指南包含有关执行代码审查和代码审查的建议和最佳实践. - -无论是由 GitLab 团队成员还是志愿者贡献者编写的所有对 GitLab CE 和 EE 的合并请求,都必须经过代码审查流程,以确保代码有效,可理解,可维护和安全. - -## Getting your merge request reviewed, approved, and merged[](#getting-your-merge-request-reviewed-approved-and-merged "Permalink") - -强烈建议您让您的代码通过**审核** [评审](https://about.gitlab.com/handbook/engineering/workflow/code-review/#reviewer) ,一旦有任何代码评审,获得所选择的解决方案和实施,和一个额外的一双眼睛寻找错误,逻辑问题,或裸露边缘的第二意见案件. - -默认方法是从您的小组或团队中选择一名审阅者进行第一次审阅. 这只是一个建议,审阅者可能来自其他团队. 但是,建议选择一个[领域专家](#domain-experts) . - -您可以在下面有关作者责任的部分中详细了解让审稿人参与的重要性. - -如果您需要一些指导(例如,这是您的第一个合并请求),请随时咨询一位[合并请求教练](https://about.gitlab.com/company/team/) . - -如果您需要有关安全扫描或注释的帮助,请随时在评论中包括安全团队( `@gitlab-com/gl-security` ). - -根据您的合并请求涉及的领域,它必须由一个或多个[维护者](https://about.gitlab.com/handbook/engineering/workflow/code-review/#maintainer) **批准** : - -对于批准,我们使用合并请求小部件中的批准功能. 审阅者可以通过[额外](../user/project/merge_requests/merge_request_approvals.html#adding-or-removing-an-approval)批准来添加其批准. - -让您的合并请求也**合并**需要一个维护者. 如果需要多个批准,则最后一个对其进行审核的维护者也会将其合并. - -### Domain experts[](#domain-experts "Permalink") - -领域专家是在特定技术,产品功能或代码库领域具有丰富经验的团队成员. 鼓励团队成员自认是领域专家,并将其添加到他们的[团队资料中](https://gitlab.com/gitlab-com/www-gitlab-com/-/blob/master/data/team.yml) - -当自我确定为领域专家时,建议分配更改`team.yml`的 MR,以由已经建立的领域专家或相应的工程经理进行合并. - -对于自动被视为领域专家,我们做出以下假设: - -* 在特定阶段/小组中工作的团队成员(例如,创建:源代码)被视为他们所从事的应用程序领域的领域专家 -* 从事特定功能(例如搜索)的团队成员被视为该功能的领域专家 - -我们默认为具有领域专业知识的团队成员分配评论. 如果没有合适的[领域专家](#domain-experts) ,您可以选择任何团队成员来审核 MR,也可以按照" [审核者"轮盘赌的](#reviewer-roulette)建议进行操作. - -可以在[工程项目](https://about.gitlab.com/handbook/engineering/projects/)页面或[GitLab 团队页面](https://about.gitlab.com/company/team/)上查看团队成员的领域专业知识. - -### Reviewer roulette[](#reviewer-roulette "Permalink") - -[Danger 机器人会](dangerbot.html)为您的合并请求似乎接触的每个代码库区域随机选择一个审阅者和一个维护者. 它仅提出**建议** ,如果您认为其他人更适合,则应予以覆盖! - -它从[工程项目](https://about.gitlab.com/handbook/engineering/projects/)页面的列表中选择审阅者和维护者,具有以下行为: - -1. 它不会选择[GitLab 状态](../user/profile/index.html#current-status)包含字符串'OOO'或表情符号为`:palm_tree:`或`:beach:` . -2. [培训生的维护者](https://about.gitlab.com/handbook/engineering/workflow/code-review/#trainee-maintainer)被[选拔的](https://about.gitlab.com/handbook/engineering/workflow/code-review/#trainee-maintainer)可能性是其他审阅者的三倍. -3. 它始终为相同的分支名称选择相同的审阅者和维护者(除非他们的 OOO 状态更改,如第 1 点所示). 它消除导致`ce-`和`ee-`和尾`-ce`和`-ee` ,以便它可以为反向移植分支稳定. - -### Approval guidelines[](#approval-guidelines "Permalink") - -如下面有关维护者职责的部分所述,建议您让合并请求由具有[域专业知识的](#domain-experts)维护者批准并合并. - -1. 如果您的合并请求包含后端更改( *1* ),则必须**由[后端维护者](https://about.gitlab.com/handbook/engineering/projects/#gitlab_maintainers_backend)批准** . -2. 如果您的合并请求包括数据库迁移或对昂贵查询的更改( *2* ),则必须得到**[数据库维护者的](https://about.gitlab.com/handbook/engineering/projects/#gitlab_maintainers_database)批准** . 阅读[数据库复查指南](database_review.html)以获取更多详细信息. -3. 如果您的合并请求包含前端更改( *1* ),则必须得到**[前端维护者的](https://about.gitlab.com/handbook/engineering/projects/#gitlab_maintainers_frontend)批准** . -4. 如果您的合并请求包括用户体验更改( *1* ),则必须得到用户**[体验团队成员的](https://about.gitlab.com/company/team/)批准** . -5. 如果您的合并请求包括添加新的 JavaScript 库( *1* ),则必须得到**[前端领导的](https://about.gitlab.com/company/team/)批准** . -6. 如果您的合并请求包括添加新的 UI / UX 范例( *1* ),则必须**由[UX 主管](https://about.gitlab.com/company/team/)批准** . -7. 如果您的合并请求包含新的依赖项或文件系统更改,则必须得到**[分发团队成员的](https://about.gitlab.com/company/team/)批准** . 有关更多详细信息,请参见如何与[发行团队](https://about.gitlab.com/handbook/engineering/development/enablement/distribution/#how-to-work-with-distribution)合作. -8. 如果您的合并请求中包含文档更改,则必须根据相应的[产品类别](https://about.gitlab.com/handbook/product/product-categories/) **由[技术撰稿人](https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers)批准** . -9. 如果您的合并请求包含端到端**和**非端到端更改( *3* ),则必须**经过[测试中](https://about.gitlab.com/handbook/engineering/quality/#individual-contributors)的[软件工程师的](https://about.gitlab.com/handbook/engineering/quality/#individual-contributors)批准** . -10. 如果您的合并请求仅包含端到端更改( *3* ), **或者**如果 MR 作者是[测试中](https://about.gitlab.com/handbook/engineering/quality/#individual-contributors)的[软件工程师](https://about.gitlab.com/handbook/engineering/quality/#individual-contributors) ,则必须得到**[质量维护人员的](https://about.gitlab.com/handbook/engineering/projects/#gitlab_maintainers_qa)批准** - -* ( *1* ):请注意,除 JavaScript 规范以外的其他规范均被视为后端代码. -* ( *2* ):如果您的合并请求可能引入昂贵的查询,我们鼓励您从数据库维护者那里寻求指导. 用 SQL 查询在相关代码行中注释是最有效的,这样他们就可以给出建议. -* ( *3* ):端到端更改包括`qa`目录中的所有文件. - -#### Security requirements[](#security-requirements "Permalink") - -View the updated documentation regarding [internal application security reviews](https://about.gitlab.com/handbook/engineering/security/#internal-application-security-reviews) for **when** and **how** to request a security review. - -### The responsibility of the merge request author[](#the-responsibility-of-the-merge-request-author "Permalink") - -找到最佳解决方案并实施该解决方案的责任在于合并请求作者. - -在将合并请求分配给维护者进行批准和合并之前,他们应该确信: - -* 它实际上解决了本应解决的问题. -* 它以最合适的方式这样做. -* 满足所有要求. -* 没有剩余的错误,逻辑问题,未发现的极端情况或已知的漏洞. - -做到这一点并避免与审阅者不必要的来回交流的最佳方法是,按照[代码审阅](#reviewing-a-merge-request)指南对自己的合并请求进行自审. - -为了使他们的解决方案达到所需的置信度,作者应酌情让其他人参与调查和实施过程. - -鼓励他们与[领域专家联系](#domain-experts) ,讨论不同的解决方案或对实现进行审查,与产品经理和 UX 设计师联系,以消除混乱或验证最终结果是否与他们的想法相符,并与数据库专家联系,以获取有关数据模型或特定查询,或者让任何其他开发人员深入了解该解决方案. - -如果作者不确定合并请求是否需要[领域专家的](#domain-experts)意见,这通常是一个很好的信号,因为如果没有合并请求,将无法达到他们对解决方案所要求的置信度. - -在审阅之前,请作者针对合并请求差异提交评论,以提醒审阅者重要的事项以及需要进一步解释或关注的事项. 可能需要发表评论的内容示例包括: - -* 增加了起毛规则(Rubocop,JS 等). -* 增加了一个库(Ruby gem,JS lib 等). -* 如果不明显,则指向父类或方法的链接. -* 进行任何基准测试以补充变更. -* 潜在的不安全代码. - -Avoid: - -* 除非审阅者要求您将注释(上面引用的或 TODO 项)直接添加到源代码中. 如果由于可执行的任务而添加了注释,则必须包含指向问题的链接. -* 将测试失败的合并请求分配给维护人员. 如果测试失败,则必须分配,请确保在评论中留下说明. -* 通过电子邮件或 Slack 过多提及维护者(如果可以通过 Slack 与维护者联系). 如果您不能分配合并请求,则`@`可以在注释中提及维护者,在所有其他情况下,分配合并请求就足够了. - -This [saves reviewers time and helps authors catch mistakes earlier](https://www.ibm.com/developerworks/rational/library/11-proven-practices-for-peer-review/index.html#__RefHeading__97_174136755). - -### The responsibility of the reviewer[](#the-responsibility-of-the-reviewer "Permalink") - -彻底[检查合并请求](#reviewing-a-merge-request) . 当您确信它满足所有要求时,您应该: - -* Click the Approve button. -* 告知作者他们的合并请求已经过审核和批准. -* 将合并请求分配给维护者. 默认情况下,将其分配给具有[领域专业知识](#domain-experts)的维护者,但是,如果不可用,或者您认为合并请求不需要[领域专家](#domain-experts)的审查,请随时遵循" [审阅者"轮盘赌的](#reviewer-roulette)建议. - -### The responsibility of the maintainer[](#the-responsibility-of-the-maintainer "Permalink") - -维护人员负责跨领域和产品领域的 GitLab 代码库的总体运行状况,质量和一致性. - -因此,他们的审查将主要集中在总体架构,代码组织,关注点分离,测试,DRYness,一致性和可读性等方面. - -由于维护人员的工作仅取决于他们对整个 GitLab 代码库的了解,而不取决于任何特定领域的知识,因此他们可以查看,批准和合并来自任何团队和任何产品领域的合并请求. - -维护人员将尽最大努力在合并之前检查所选解决方案的详细信息,但是由于他们不一定是[领域专家](#domain-experts) ,因此他们可能没有太多时间来浪费很多时间. 在这种情况下,他们将服从作者和早期审稿人的判断,而将精力放在他们的主要职责上. - -如果维护者认为 MR 足够重要,足以保证需要由[域专家](#domain-experts)进行审查,并且目前尚不清楚域专家是否参与了审查,则他们可以在合并 MR 之前要求[域专家进行](#domain-experts)审查. - -如果恰好也是维护者的开发人员作为审阅者参与了合并请求,则建议不要同时选择他们作为维护者来最终批准并合并它. - -维护人员应在合并之前检查合并请求是否已被所需批准者批准. - -维护人员必须在合并之前检查合并请求[安全性小部件中](../user/application_security/index.html)的列表,以检查合并请求是否引入了新的漏洞. 如有疑问,可以请[安全工程师](https://about.gitlab.com/company/team/)参与. 检测到的漏洞列表必须为空或包含以下内容: - -* 在出现误报的情况下消除漏洞 -* 漏洞转化为问题 - -维护人员**切勿**在没有适当验证的情况下消除漏洞以"清空"列表. - -请注意,某些合并请求可能会针对稳定分支. 这些是罕见的事件. 维护者无法合并这些类型的合并请求. 相反,这些应该发送到[版本管理器](https://about.gitlab.com/community/release-managers/) . - -## Best practices[](#best-practices "Permalink") - -### Everyone[](#everyone "Permalink") - -* 善待. -* 接受许多编程决策是意见. 讨论您喜欢的折衷方案,并迅速解决. -* 问问题; 不要提出要求. ("您如何命名这个`:user_id` ?") -* 要求澄清. ("我听不懂.您能澄清一下吗?") -* 避免有选择地拥有代码. ("我的","不是我的","您的") -* 避免使用可能被视为涉及个人特质的术语. ("哑巴","愚蠢"). 假设每个人都是有吸引力,聪明和善良的. -* 要明确. 请记住,人们并不总是在线了解您的意图. -* 要谦虚. ("我不确定-让我们看一下.") -* 不要夸张. ("始终","从不","无限","无") -* 使用讽刺时要小心. 我们所做的一切都是公开的; 对于您和长期的同事而言,似乎很老套的话可能会很卑鄙,不欢迎新加入该项目的人. -* 如果"我听不懂"或"替代解决方案:"注释过多,请考虑一对一聊天或视频通话. 发表后续评论,总结一对一的讨论. -* 如果您向特定人员提出问题,请务必先提及他们,然后再开始评论; 如果将通知级别设置为"提及",这将确保他们看到该消息,并且其他人将理解他们不必响应. - -### Having your merge request reviewed[](#having-your-merge-request-reviewed "Permalink") - -请记住,代码审阅是一个可能需要多次迭代的过程,审阅者可能会在以后发现他们第一次看不到的东西. - -* 您的代码的第一位审阅者是*you* . 在对闪亮的新分支进行第一次推送之前,请通读整个差异. 是否有意义? 您是否包含与变更的总体目的无关的内容? 您是否忘记删除任何调试代码? -* 感谢审阅者的建议. ("好电话.我会进行更改.") -* 不要亲自去做. 审阅的是代码,而不是您的. -* 说明代码为何存在. ("由于这些原因就这样.如果重命名这个类/文件/方法/变量,是否更清楚?") -* 将不相关的更改和重构提取到将来的合并请求/问题中. -* 试图了解审稿人的观点. -* 尝试回应每个评论. -* 合并请求作者仅解析他们已完全解决的线程. 如果有公开的答复,公开的话题,建议,问题或其他任何内容,则该话题应留待审阅者解决. -* 不应假定所有反馈都要求在合并之前将其建议的更改合并到 MR 中. 这是 MR 作者和审阅者对是否需要这样做的判断,或者是在合并有问题的 MR 之后是否应创建后续问题以解决将来的反馈. -* 基于较早回馈的推送提交作为对分支的独立提交. 在分支准备好合并之前,请勿压扁. 审阅者应该能够根据他们先前的反馈来阅读各个更新. -* 准备好进行另一轮审核后,将合并请求分配回审核者. 如果您无法分配合并请求,请`@`提及审阅者. - -### Assigning a merge request for a review[](#assigning-a-merge-request-for-a-review "Permalink") - -准备好要审核合并请求时,默认应将其分配给小组或团队中的审阅者以进行第一次审阅,但是,您也可以将其分配给任何审阅者. 审阅者列表可以在" [工程项目"](https://about.gitlab.com/handbook/engineering/projects/)页面上找到. - -You can also use `workflow::ready for review` label. That means that your merge request is ready to be reviewed and any reviewer can pick it. It is recommended to use that label only if there isn’t time pressure and make sure the merge request is assigned to a reviewer. - -在审核合并请求并将其传递给维护者后,您应该默认选择具有[领域专业知识](#domain-experts)的维护者,否则应遵循 Reviewer Roulette 的建议或使用`ready for merge`的标签. - -合并请求的作者有责任审查合并请求. 如果`ready for review`状态太长时间,建议将其分配给特定的审阅者. - -#### List of merge requests ready for review[](#list-of-merge-requests-ready-for-review "Permalink") - -有能力的开发人员可以定期检查[合并请求](https://gitlab.com/groups/gitlab-org/-/merge_requests?state=opened&label_name[]=workflow::ready for review)列表[以进行审核,](https://gitlab.com/groups/gitlab-org/-/merge_requests?state=opened&label_name[]=workflow::ready for review)并分配他们要审核的任何合并请求. - -### Reviewing a merge request[](#reviewing-a-merge-request "Permalink") - -了解为什么需要进行更改(修复错误,改善用户体验,重构现有代码). 然后: - -* 尝试在您的评论中做到周密,以减少迭代次数. -* 交流您对哪些想法有强烈的想法,而哪些想法则没有. -* 确定在解决问题的同时简化代码的方法. -* 提供替代的实现,但是假设作者已经考虑了它们. ("您在这里对使用自定义验证器有何看法?") -* 试图了解作者的观点. -* 如果您不懂一段代码,请*这样说* . 很有可能其他人也会对此感到困惑. -* 确保作者清楚他们需要什么来解决/解决该建议. - * 考虑使用[常规注释格式](https://conventionalcomments.org#format)来传达您的意图. - * 对于非强制性建议,请使用(非阻塞)修饰,以便作者知道可以选择在合并请求中解决该问题,或者在以后进行后续操作. -* 经过几行注释后,发布摘要注释(例如"对我很好"或"仅几件要解决的问题")会很有帮助. -* 如果审阅后需要更改,则将合并请求分配给作者. - -### Merging a merge request[](#merging-a-merge-request "Permalink") - -在决定合并之前: - -* 设置里程碑. -* 考虑来自危险漫游器,代码质量和其他报告的警告和错误. 除非有充分的理由证明违规,否则应在合并前解决这些问题. 如果 MR 与任何失败的作业合并,则必须发布评论. -* 如果 MR 既包含与质量相关的变更,又包含与非质量无关的变更,则应由相关维护人员合并 MR,以便在测试中软件工程师批准与质量相关的变更后,将其面向用户的变更(后端,前端或数据库). - -如果合并请求从根本上准备就绪,但仅需要简单的修正(例如拼写错误),则可以考虑通过直接进行更改而不向作者证明是[对行动](https://about.gitlab.com/handbook/values/#bias-for-action)的[偏见](https://about.gitlab.com/handbook/values/#bias-for-action) . 您可以通过使用" [建议更改"](../user/discussions/index.html#suggest-changes)功能将自己的建议应用于合并请求来实现. 注意: - -* 如果更改不直接,请优先将合并请求分配回作者. -* **在应用建议之前** ,请编辑合并请求以确保启用了[压缩和合并](../user/project/merge_requests/squash_and_merge.html#squash-and-merge) ,否则,管道的"危险"作业将失败. - * 如果合并请求未启用压缩和合并,并且具有多个提交,则请参阅以下有关重写提交历史记录的注释. - -准备合并时: - -* 当合并请求包含大量提交时,请考虑使用[Squash 和合并](../user/project/merge_requests/squash_and_merge.html#squash-and-merge)功能. 合并代码时,维护者仅应在作者已设置此选项或合并请求中明确包含要压缩的混乱提交历史记录时使用 squash 功能. -* **使用合并请求的"管道"选项卡中的" `Run Pipeline`按钮启动新的合并请求管道,并启用"管道成功时合并"(MWPS).** 注意: - * 如果**最新[的合并结果管道](../ci/merge_request_pipelines/pipelines_for_merged_results/#pipelines-for-merged-results-premium)**不到 2 小时前完成,则由于合并请求足够接近`master` ,您可能无需启动新管道就可以合并. - * 如果**合并请求来自 fork** ,则我们不能将[管道用于合并结果](../ci/merge_request_pipelines/pipelines_for_merged_results/index.html#prerequisites) ,因此,它们更容易破坏`master` . 检查源分支在`master` . 如果超过 100 次提交,请在合并之前要求作者重新设置基础. - * 如果[master 已损坏](https://about.gitlab.com/handbook/engineering/workflow/#broken-master) ,除了上述两个规则外,请检查`master`是否也发生任何故障,并在单击红色的" Merge"(合并)按钮之前发布指向〜" master:broken"问题的链接. -* 当将 MR 设置为"管道成功合并时"时,您应该接管后续修订,以应对之后发现的所有问题. - -**注意:**感谢"合并结果管道",由于合并结果管道已经合并了`master`的最新更改,因此作者不必再频繁地重新建立分支基础(仅当发生冲突时). 由于维护人员不必要求最终的重新定基,因此可以加快审核/合并周期:相反,他们只需要启动 MR 管道并设置 MWPS. 通过在创建管道时针对最新`master`测试合并结果,此步骤使我们非常接近实际的合并训练功能. - -### The right balance[](#the-right-balance "Permalink") - -在代码审查期间,最困难的事情之一是在审查者可以干扰作者创建的代码的深度上找到适当的平衡. - -* 学习如何找到合适的平衡点需要花费时间. 这就是为什么我们花了一些时间审核合并请求后使审核员成为维护者的原因. -* 查找错误很重要,但是考虑良好的设计也很重要. 建立抽象和良好的设计可以隐藏复杂性并使将来的更改变得容易. -* 强制和改进[代码样式](contributing/style_guides.html)应主要通过[自动化](https://about.gitlab.com/handbook/values/#cleanup-over-sign-off)而不是评论注释来完成. -* 要求作者更改设计有时意味着完全重写贡献的代码. 通常,在进行此操作之前先询问其他维护者或审阅者是一个好主意,但是当您认为重要时,要有勇气去做. -* 为了[Iteration](https://about.gitlab.com/handbook/values/#iteration)的利益,如果您的审查建议是非阻塞性更改或个人喜好(不是书面或约定的要求),请考虑批准合并请求,然后再将其传递回作者. 如果他们同意,这将使他们能够实施您的建议,或者使他们立即将其传递给维护者以供审核. 这可以帮助减少我们的整体合并时间. -* 做正确的事和立即做事有区别. 理想情况下,我们应该做前者,但在现实世界中,我们也需要后者. 一个很好的例子是安全修复程序,应尽快发布. 应该避免要求作者在合并请求中进行重大重构,这是一个紧急解决方案. -* 今天做好事通常比明天做好事更好. 今天运送垃圾通常比明天做好事更糟. 当您找不到合适的平衡时,请向其他人询问他们的意见. - -### GitLab-specific concerns[](#gitlab-specific-concerns "Permalink") - -GitLab 在很多地方都使用过. 许多用户使用我们的[Omnibus 软件包](https://about.gitlab.com/install/) ,但有些用户使用[Docker 映像](https://docs.gitlab.com/omnibus/docker/) ,有些是[从源代码安装的](../install/installation.html) ,还有其他可用的安装方法. GitLab.com 本身是一个大型企业版实例. 这有一些含义: - -1. 应该对**查询更改**进行测试,以确保在 GitLab.com 规模上不会导致性能下降: - 1. 在本地生成大量数据会有所帮助. - 2. 从 GitLab.com 询问查询计划是验证这些计划的最可靠方法. -2. **数据库迁移**必须是: - 1. 可逆的. - 2. 性能达到 GitLab.com 的规模-如果不确定,请维护人员在登台环境中测试迁移. - 3. 正确分类: - * 常规迁移在新代码在实例上运行之前运行. - * 将实例配置为执行新[部署](post_deployment_migrations.html) *后* ,便会进行部署*后* [迁移](post_deployment_migrations.html) . - * [后台迁移](background_migrations.html)在 Sidekiq 中运行,并且仅应在 GitLab.com 规模上花费大量时间进行迁移. -3. **Sidekiq 工人** [cannot change in a backwards-incompatible way](sidekiq_style_guide.html#sidekiq-compatibility-across-updates): - 1. 在部署发生之前,不会耗尽 Sidekiq 队列,因此队列中会有来自上一版 GitLab 的工作线程. - 2. 如果需要更改方法签名,请尝试在两个版本中进行更改,并在第一个版本中同时接受新旧参数. - 3. 同样,如果您需要删除一个工作程序,请停止在一个版本中计划它,然后在下一个版本中将其删除. 这将允许现有作业执行. - 4. Don’t forget, not every instance will upgrade to every intermediate version (some people may go from X.1.0 to X.10.0, or even try bigger upgrades!), so try to be liberal in accepting the old format if it is cheap to do so. -4. **缓存的值**可能会在各个发行版中持续存在. 如果要更改缓存值返回的类型(例如,从字符串或 nil 到数组),请同时更改缓存键. -5. **设置**应作为[最后的手段](https://about.gitlab.com/handbook/product/#convention-over-configuration)添加. 如果要在`gitlab.yml`添加新设置: - 1. 尝试避免这种情况,而是添加到`ApplicationSetting` . - 2. 确保它也已[添加到 Omnibus 中](https://docs.gitlab.com/omnibus/settings/gitlab.yml.html) . -6. **文件系统访问**可能很慢,因此,在有替代解决方案可用时,请尝试避免[共享文件](shared_files.html) . - -### Review turnaround time[](#review-turnaround-time "Permalink") - -由于[取消阻止其他人始终是头等大事](https://about.gitlab.com/handbook/values/#global-optimization) ,因此,即使这可能会对他们的其他任务和优先事项产生不利影响,审阅者也应及时查看分配的合并请求. - -这样做使合并请求中涉及的每个人都可以在上下文处于内存中新鲜时更快地进行迭代,并显着改善了贡献者的体验. - -#### Review-response SLO[](#review-response-slo "Permalink") - -为了确保快速反馈到准备就绪的代码,我们维护了一个`Review-response`服务级别目标(SLO). SLO 定义为: - -> * 审核响应 SLO =(提供第一次审核响应的时间)-(将 MR 分配给审核者的时间)<2 个工作日 - -如果您认为您无法在" `Review-response` SLO 期限内审阅合并请求,请让作者尽快知道,并尝试帮助他们找到其他能够审阅的审阅者或维护者,因此他们可以畅通无阻,并迅速开始工作. - -如果您认为自己有能力并且在完成一些评论之前无法接受其他评论,请通过设置`:red_circle:`表情符号并在状态文本中提及您有能力,通过 GitLab 状态传达此信息. 这将指导撰稿人选择其他审稿人,从而帮助我们满足 SLO. - -当然,如果您不在办公室并且已通过 GitLab.com 状态[传达了](https://about.gitlab.com/handbook/paid-time-off/#communicating-your-time-off)此信息,则作者应意识到这一点,并自己找一位不同的审稿人. - -当合并请求作者的阻止时间超过`Review-response` SLO 时,他们可以自由地通过 Slack 提醒审阅者或分配其他审阅者. - -### Customer critical merge requests[](#customer-critical-merge-requests "Permalink") - -合并请求可能会因为被视为客户关键优先级而受益,因为这样做会使企业受益匪浅. - -客户关键合并请求的属性: - -* [发展高级总监](https://about.gitlab.com/job-families/engineering/engineering-management/#senior-director-engineering) ( [](https://gitlab.com/clefelhocz1)[@ clefelhocz1](https://gitlab.com/clefelhocz1) )是用于确定合并请求是否对客户至关重要的 DRI. -* DRI 将`customer-critical-merge-request`标签分配给合并请求. -* 要求与客户关键合并请求相关的审阅者和维护者一经做出此决定,便立即参与. -* 需要优先处理涉及客户关键合并请求的人员的工作,以便他们有足够的时间专注于此. -* 在处理客户关键的合并请求时,必须遵守 GitLab 的[价值观](https://about.gitlab.com/handbook/values/)和流程,首先要特别注意家人和朋友,其次要注意,完成的定义,迭代以及准备就绪时发布. -* 需要客户关键的合并请求,以免降低安全性,引入数据丢失风险,降低可用性或破坏每个流程的现有功能,从而[优先考虑技术决策](https://about.gitlab.com/handbook/engineering/#prioritizing-technical-decisions.md) . -* 对于客户的关键请求,如果他们认为这将减少花费的合并时间(即使这*可能*会降低[效率](https://about.gitlab.com/company/culture/all-remote/asynchronous/#evaluating-efficiency.md) ),则*建议*相关人员*考虑*除了异步(合并请求注释)之外,还同步进行协调(Zoom,Slack). -* 合并客户关键合并请求后,必须完成回顾,以减少将来的客户关键合并请求的频率. - -## Examples[](#examples "Permalink") - -如何进行代码审查可能会使新的参与者感到惊讶. 以下是一些代码审查示例,它们可以帮助您确定期望的方向. - -**["修改`DiffNote`以便将其重新用于设计"](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/13703) :**它包含了从换行符转折点到设计版本的推理,如果没有某个文件的先前版本,我们应该如何比较它们的所有内容(父级 vs.空白`sha`空白树) ). - -**["支持多行建议"](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/25211)** :MR 本身由 FE 和 BE 之间的协作组成,并记录了作者对审阅者的评论. 有一些缺点,一些有关信息的问题,最后还有一个安全漏洞. - -**["每个项目允许有多个存储库"](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/10251)** :ZJ 提到了这可能会影响的其他项目(工作马),并建议进行一些改进以保持一致性. James 的评论帮助我们提高了整体代码质量(使用委派`&.`这些类型的事情),并使代码更加健壮. - -**["支持多个受让人进行合并请求"](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/10161)** :MR 接触代码库多个部分的一个很好的示例. 尼克指出了一些有趣的例子,詹姆斯·洛佩兹(James Lopez)也加入了对进出口功能的关注. - -### Credits[](#credits "Permalink") - -很大程度上基于[thinkbot 代码的审查指南](https://github.com/thoughtbot/guides/tree/master/code-review) . - -* * * - -[Return to Development documentation](README.html) \ No newline at end of file diff --git a/docs/557.md b/docs/557.md deleted file mode 100644 index 1ff98ee..0000000 --- a/docs/557.md +++ /dev/null @@ -1,104 +0,0 @@ -# Style guides - -> 原文:[https://docs.gitlab.com/ee/development/contributing/style_guides.html](https://docs.gitlab.com/ee/development/contributing/style_guides.html) - -* [Editor/IDE styling standardization](#editoride-styling-standardization) -* [Pre-commit static analysis](#pre-commit-static-analysis) -* [Ruby, Rails, RSpec](#ruby-rails-rspec) - * [Creating new RuboCop cops](#creating-new-rubocop-cops) -* [Database migrations](#database-migrations) -* [JavaScript](#javascript) -* [SCSS](#scss) -* [Go](#go) -* [Shell commands (Ruby)](#shell-commands-ruby) -* [Shell scripting](#shell-scripting) -* [Markdown](#markdown) -* [Documentation](#documentation) -* [Python](#python) -* [Misc](#misc) - -# Style guides[](#style-guides "Permalink") - -## Editor/IDE styling standardization[](#editoride-styling-standardization "Permalink") - -在将文件保存到本地之前,我们使用[EditorConfig](https://editorconfig.org/)自动应用某些样式标准. 默认情况下,大多数编辑器/ IDE 都会自动接受`.editorconfig`设置. 如果您的编辑器/ IDE 不自动支持`.editorconfig` ,建议您进行调查以查看是否存在插件. 例如,这里是[vim](https://github.com/editorconfig/editorconfig-vim)的[插件](https://github.com/editorconfig/editorconfig-vim) . - -## Pre-commit static analysis[](#pre-commit-static-analysis "Permalink") - -强烈建议您安装[Overcommit](https://github.com/sds/overcommit) ,以便在本地提交之前自动检查静态分析违规. - -在您的 GitLab 源目录中运行: - -``` -make -C tooling/overcommit -``` - -Then before a commit is created, Overcommit will automatically check for RuboCop (and other checks) offenses on every modified file. - -这样可以节省您的时间,因为您不必等待配置项检测到相同的错误. - -过量提交依赖于预提交钩子,以防止违反其规则集的提交. 如果您想覆盖此行为,可以通过传递 ENV 变量`OVERCOMMIT_DISABLE`来完成. 即`OVERCOMMIT_DISABLE=1 git rebase master`在禁用 Git 钩子的同时进行 rebase. - -## Ruby, Rails, RSpec[](#ruby-rails-rspec "Permalink") - -我们的代码库样式由[RuboCop](https://github.com/rubocop-hq/rubocop)定义和执行. - -您可以使用`bundle exec rubocop --parallel`在本地检查任何违规行为. 在配置项上,这将由`static-analysis`作业自动检查. - -对于尚未决定的 RuboCop 规则,我们遵循[Ruby Style Guide](https://github.com/rubocop-hq/ruby-style-guide) , [Rails Style Guide](https://github.com/rubocop-hq/rails-style-guide)和[RSpec Style Guide](https://github.com/rubocop-hq/rspec-style-guide)作为编写惯用 Ruby / Rails / RSpec 的通用准则,但是审阅者/维护者应该宽容而不是太宽容关于风格的书呆子. - -同样,当前已禁用某些 RuboCop 规则,对于这些规则,审阅者/维护者不得要求作者使用一种或另一种样式,因为这两种样式均被接受. 这不是理想的情况,因为这为[骑车](https://en.wiktionary.org/wiki/bikeshedding)留下了空间,并且理想情况下,我们应该启用所有 RuboCop 规则,以避免在评论中进行与样式相关的讨论/挑剔/来回. - -此外,我们还有专门的[换行样式指南](../newlines_styleguide.html) ,以及专门针对[测试的样式指南和最佳实践](../testing_guide/index.html) . - -### Creating new RuboCop cops[](#creating-new-rubocop-cops "Permalink") - -通常,最好通过编程方式执行起毛规则,因为它可以减少前述的[自行车脱落](https://en.wiktionary.org/wiki/bikeshedding) . - -为此,我们鼓励在代码库中创建新的 RuboCop 规则. - -当创建可以应用于多个应用程序的新警察时,我们建议您将其添加到我们的[GitLab Styles](https://gitlab.com/gitlab-org/gitlab-styles)宝石中. - -## Database migrations[](#database-migrations "Permalink") - -请参阅专用的《 [数据库迁移样式指南》](../migration_style_guide.html) . - -## JavaScript[](#javascript "Permalink") - -请参阅专用的[JS 样式指南](../fe_guide/style/javascript.html) . - -## SCSS[](#scss "Permalink") - -请参阅专用的[SCSS 样式指南](../fe_guide/style/scss.html) . - -## Go[](#go "Permalink") - -请参阅专用的[Go 标准和样式指南](../go_guide/index.html) . - -## Shell commands (Ruby)[](#shell-commands-ruby "Permalink") - -请参阅[GitLab 代码库中有关 shell 命令](../shell_commands.html)的专用[准则](../shell_commands.html) . - -## Shell scripting[](#shell-scripting "Permalink") - -请参阅专用的[Shell 脚本标准和样式指南](../shell_scripting_guide/index.html) . - -## Markdown[](#markdown "Permalink") - -我们正在遵循[Ciro Santilli 的 Markdown 样式指南](https://cirosantilli.com/markdown-style-guide/) . - -## Documentation[](#documentation "Permalink") - -请参阅专用的[文档样式指南](../documentation/styleguide.html) . - -## Python[](#python "Permalink") - -请参阅专用的[Python 开发指南](../python_guide/index.html) . - -## Misc[](#misc "Permalink") - -代码应使用[美国英语](https://en.wikipedia.org/wiki/American_English)书写. - -* * * - -[Return to Contributing documentation](index.html) \ No newline at end of file diff --git a/docs/558.md b/docs/558.md deleted file mode 100644 index 4878c49..0000000 --- a/docs/558.md +++ /dev/null @@ -1,799 +0,0 @@ -# GitLab Architecture Overview - -> 原文:[https://docs.gitlab.com/ee/development/architecture.html](https://docs.gitlab.com/ee/development/architecture.html) - -* [Software delivery](#software-delivery) -* [Components](#components) - * [Simplified Component Overview](#simplified-component-overview) - * [Component diagram](#component-diagram) - * [Component legend](#component-legend) - * [Component list](#component-list) - * [Component details](#component-details) - * [Alertmanager](#alertmanager) - * [Certificate management](#certificate-management) - * [Consul](#consul) - * [Database migrations](#database-migrations) - * [Elasticsearch](#elasticsearch) - * [Gitaly](#gitaly) - * [Praefect](#praefect) - * [GitLab Geo](#gitlab-geo) - * [GitLab Exporter](#gitlab-exporter) - * [GitLab Pages](#gitlab-pages) - * [GitLab Runner](#gitlab-runner) - * [GitLab Shell](#gitlab-shell) - * [GitLab Workhorse](#gitlab-workhorse) - * [Grafana](#grafana) - * [Jaeger](#jaeger) - * [Logrotate](#logrotate) - * [Mattermost](#mattermost) - * [MinIO](#minio) - * [NGINX](#nginx) - * [Node Exporter](#node-exporter) - * [PgBouncer](#pgbouncer) - * [PgBouncer Exporter](#pgbouncer-exporter) - * [PostgreSQL](#postgresql) - * [PostgreSQL Exporter](#postgresql-exporter) - * [Prometheus](#prometheus) - * [Redis](#redis) - * [Redis Exporter](#redis-exporter) - * [Registry](#registry) - * [Sentry](#sentry) - * [Sidekiq](#sidekiq) - * [Unicorn](#unicorn) - * [LDAP Authentication](#ldap-authentication) - * [Outbound Email](#outbound-email) - * [Inbound Email](#inbound-email) - * [GitLab Managed Apps](#gitlab-managed-apps) -* [GitLab by Request Type](#gitlab-by-request-type) - * [GitLab Web HTTP Request Cycle](#gitlab-web-http-request-cycle) - * [GitLab Git Request Cycle](#gitlab-git-request-cycle) - * [Web Request (80/443)](#web-request-80443) - * [SSH Request (22)](#ssh-request-22) -* [System Layout](#system-layout) - * [Installation Folder Summary](#installation-folder-summary) - * [Processes](#processes) - * [Repository access](#repository-access) -* [Troubleshooting](#troubleshooting) - * [Init scripts of the services](#init-scripts-of-the-services) - * [Log locations of the services](#log-locations-of-the-services) - * [GitLab specific configuration files](#gitlab-specific-configuration-files) - * [Maintenance Tasks](#maintenance-tasks) -* [GitLab.com](#gitlabcom) - -# GitLab Architecture Overview[](#gitlab-architecture-overview "Permalink") - -## Software delivery[](#software-delivery "Permalink") - -GitLab 有两种软件发行[版](https://gitlab.com/gitlab-org/gitlab-foss/) :开源[社区版](https://gitlab.com/gitlab-org/gitlab-foss/) (CE)和开放核心[企业版](https://gitlab.com/gitlab-org/gitlab/) (EE). GitLab 在[不同的订阅下](https://about.gitlab.com/pricing/)可用. - -GitLab 的新版本在稳定的分支中发布,而 master 分支则用于前沿开发. - -有关信息,请参见[GitLab 发布过程](https://gitlab.com/gitlab-org/release/docs/-/tree/master#gitlab-release-process) . - -EE 和 CE 都需要一些名为 GitLab Shell 和 Gitaly 的附加组件. 这些组件分别可从[GitLab Shell](https://gitlab.com/gitlab-org/gitlab-shell/-/tree/master)和[Gitaly](https://gitlab.com/gitlab-org/gitaly/-/tree/master)存储库中获得. 新版本通常是标签,但是停留在 master 分支上将为您提供最新的稳定版本. 新版本通常与 GitLab CE 发布大约相同的时间,但非正式的安全更新被认为很重要. - -## Components[](#components "Permalink") - -A typical install of GitLab will be on GNU/Linux. It uses NGINX or Apache as a web front end to proxypass the Unicorn web server. By default, communication between Unicorn and the front end is via a Unix domain socket but forwarding requests via TCP is also supported. The web front end accesses `/home/git/gitlab/public` bypassing the Unicorn server to serve static pages, uploads (e.g. avatar images or attachments), and pre-compiled assets. GitLab serves web pages and the [GitLab API](../api/README.html) using the Unicorn web server. It uses Sidekiq as a job queue which, in turn, uses Redis as a non-persistent database backend for job information, meta data, and incoming jobs. - -我们还支持使用我们的[GitLab Helm 图表](https://docs.gitlab.com/charts/)在 Kubernetes 上部署 GitLab. - -GitLab Web 应用程序将 PostgreSQL 用于持久数据库信息(例如,用户,权限,问题,其他元数据). GitLab 默认将其服务的裸 Git 存储库存储在`/home/git/repositories` . 它还使用裸存储库保留默认的分支和挂钩信息. - -通过 HTTP / HTTPS 提供存储库时,GitLab 利用 GitLab API 来解析授权和访问以及提供 Git 对象. - -附加组件 GitLab Shell 通过 SSH 提供存储库. 它管理`/home/git/.ssh/authorized_keys`的 SSH 密钥,不应手动对其进行编辑. GitLab Shell 通过 Gitaly 访问裸仓库以提供 Git 对象,并与 Redis 进行通信以将作业提交给 Sidekiq,以供 GitLab 处理. GitLab Shell 查询 GitLab API 以确定授权和访问权限. - -Gitaly 从 GitLab Shell 和 GitLab Web 应用程序执行 Git 操作,并向 GitLab Web 应用程序提供 API,以从 Git 获取属性(例如标题,分支,标签,其他元数据),并获取 Blob(例如 diff,commit,文件). - -您可能也[对 GitLab.com](https://about.gitlab.com/handbook/engineering/infrastructure/production/architecture/)的[生产体系结构感兴趣](https://about.gitlab.com/handbook/engineering/infrastructure/production/architecture/) . - -### Simplified Component Overview[](#simplified-component-overview "Permalink") - -这是一个简化的架构图,可用于了解 GitLab 的架构. - -下面的[组件图](#component-diagram)中提供了完整的架构图. - -[![Simplified Component Overview](img/7ddc19b18c20bfa78acb7fe9dd2ede4b.png)](img/architecture_simplified.png) - -### Component diagram[](#component-diagram "Permalink") - -图 TB HTTP [HTTP / HTTPS]-TCP 80、443-> NGINX [NGINX] SSH-TCP 22-> GitLabShell [GitLab Shell] SMTP [SMTP Gateway] Geo [GitLab Geo Node]-TCP 22, 80,443-> NGINX GitLabShell --TCP 8080-> Unicorn [" Unicorn(GitLab Rails)"] GitLabShell-> Praefect GitLabShell-> Redis Unicorn-> PgBouncer [PgBouncer] Unicorn-> Redis Unicorn- -> Praefect Sidekiq-> Redis Sidekiq-> PgBouncer Sidekiq-> Praefect GitLabWorkhorse [GitLab Workhorse]-> Unicorn GitLabWorkhorse-> Redis GitLabWorkhorse-> Praefect Praefect-> Gitaly NGINX-> GitLabWorkhorse NGINX- TCP 8090-> GitLabPages [GitLab 页面] NGINX-> Grafana [Grafana] Grafana-TCP 9090-> Prometheus [Prometheus] Prometheus-TCP 80,443-> Unicorn RedisExporter [Redis Exporter]-> Redis Prometheus-TCP 9121-> RedisExporter PostgreSQLExporter [PostgreSQL 导出器]-> PostgreSQL PgBouncerExporter [PgBouncer 导出器]-> PgBouncer Prometheus-TCP 9187-> PostgreSQLExporter Prometheus-TCP 9100-> NodeExporter [Node Exp orter] Prometheus-TCP 9168-> GitLabExporter [GitLab Exporter] Prometheus-TCP 9127-> PgBouncerExporter GitLabExporter-> PostgreSQL GitLabExporter-> GitLabShell GitLabExporter-> Sidekiq PgBouncer-> Consul PostgreSQL-> Consul PgBouncer -> PostgreSQL NGINX->注册表 Unicorn->注册表 NGINX-> Mattermost Mattermost --- Unicorn Prometheus-> Alertmanager 迁移-> PostgreSQL Runner-TCP 443-> NGINX Unicorn-TCP 9200- > Elasticsearch Sidekiq-TCP 9200-> Elasticsearch Sidekiq-TCP 80,443-> Sentry Unicorn-TCP 80,443-> Sentry Sidekiq-UDP 6831-> Jaeger Unicorn-UDP 6831-> Jaeger Gitaly-UDP 6831-> Jaeger GitLabShell-UDP 6831-> Jaeger GitLabWorkhorse-UDP 6831-> Jaeger Alertmanager-TCP 25-> SMTP Sidekiq-TCP 25-> SMTP Unicorn-TCP 25-> SMTP Unicorn-TCP 369-> LDAP Sidekiq-TCP 369-> LDAP Unicorn-TCP 443-> ObjectStorage [" Object Storage"] Sidekiq-TCP 443-> ObjectStorage GitLabWorkhorse- TCP 协议 443-> ObjectStorage 注册表-TCP 443-> ObjectStorage Geo-TCP 5432-> PostgreSQL - -### Component legend[](#component-legend "Permalink") - -* ✅-默认安装 -* ⚙-需要其他配置或 GitLab 托管应用 -* ⤓-需要手动安装 -* ❌-不支持或无可用说明 -* 不适用-不适用 - -组件状态链接到每个组件的配置文档. - -### Component list[](#component-list "Permalink") - -表描述链接: - -* [Omnibus GitLab](https://docs.gitlab.com/omnibus/) -* [GitLab chart](https://docs.gitlab.com/charts/) -* [Minikube Minimal](https://docs.gitlab.com/charts/development/minikube/) -* [GitLab.com](https://gitlab.com) -* [Source](../install/installation.html) -* [GDK](https://gitlab.com/gitlab-org/gitlab-development-kit) - -| Component | Description | 所有的 GitLab | GitLab 图表 | Minikube 最小 | GitLab.com | Source | GDK | CE/EE | -| --- | --- | --- | --- | --- | --- | --- | --- | --- | -| [Certificate Management](#certificate-management) | TLS 设置,让我们加密 | ✅ | ✅ | ⚙ | ✅ | ⚙ | ⚙ | CE 和 EE | -| [Consul](#consul) | 数据库节点发现,故障转移 | ⚙ | ❌ | ❌ | ✅ | ❌ | ❌ | 仅 EE | -| [Database Migrations](#database-migrations) | 数据库迁移 | ✅ | ✅ | ✅ | ✅ | ⚙ | ✅ | CE 和 EE | -| [Elasticsearch](#elasticsearch) | 改进了 GitLab 中的搜索 | ⤓ | ⤓ | ⤓ | ❌ | ⤓ | ⤓ | 仅 EE | -| [Gitaly](#gitaly) | Git RPC 服务,用于处理 GitLab 进行的所有 Git 调用 | ✅ | ✅ | ✅ | ✅ | ⚙ | ✅ | CE 和 EE | -| [GitLab Exporter](#gitlab-exporter) | 生成各种 GitLab 指标 | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | CE 和 EE | -| [GitLab Geo Node](#gitlab-geo) | 地理分布的 GitLab 节点 | ⚙ | ⚙ | ❌ | ✅ | ❌ | ⚙ | 仅 EE | -| [GitLab Managed Apps](#gitlab-managed-apps) | 将 Helm,Ingress,Cert-Manager,Prometheus,Runner,JupyterHub 或 Knative 部署到集群 | ⤓ | ⤓ | ⤓ | ⤓ | ⤓ | ⤓ | CE 和 EE | -| [GitLab Pages](#gitlab-pages) | 托管静态网站 | ⚙ | ❌ | ❌ | ✅ | ⚙ | ⚙ | CE 和 EE | -| [GitLab self-monitoring: Alertmanager](#alertmanager) | 来自 Prometheus 的重复数据删除,分组和路由警报 | ⚙ | ✅ | ⚙ | ✅ | ❌ | ❌ | CE 和 EE | -| [GitLab self-monitoring: Grafana](#grafana) | 指标仪表板 | ✅ | ⚙ | ⤓ | ✅ | ❌ | ❌ | CE & EE | -| [GitLab self-monitoring: Jaeger](#jaeger) | 查看由 GitLab 实例生成的跟踪 | ❌ | ⚙ | ❌ | ❌ | ⤓ | ⚙ | CE 和 EE | -| [GitLab self-monitoring: Prometheus](#prometheus) | 时间序列数据库,指标收集和查询服务 | ✅ | ✅ | ⚙ | ✅ | ❌ | ❌ | CE 和 EE | -| [GitLab self-monitoring: Sentry](#sentry) | 跟踪 GitLab 实例生成的错误 | ⤓ | ⤓ | ❌ | ✅ | ⤓ | ⤓ | CE 和 EE | -| [GitLab Shell](#gitlab-shell) | 通过 SSH 会话处理`git` | ✅ | ✅ | ✅ | ✅ | ⚙ | ✅ | CE 和 EE | -| [GitLab Workhorse](#gitlab-workhorse) | 智能反向代理,处理大型 HTTP 请求 | ✅ | ✅ | ✅ | ✅ | ⚙ | ✅ | CE & EE | -| [Inbound email (SMTP)](#inbound-email) | 接收消息以更新问题 | ⤓ | ⚙ | ⤓ | ✅ | ⤓ | ⤓ | CE 和 EE | -| [Jaeger integration](#jaeger) | 部署的应用程序的分布式跟踪 | ⤓ | ⤓ | ⤓ | ⤓ | ⤓ | ⤓ | 仅 EE | -| [LDAP Authentication](#ldap-authentication) | 根据集中的 LDAP 目录对用户进行身份验证 | ⤓ | ⤓ | ⤓ | ❌ | ⤓ | ⤓ | CE 和 EE | -| [Mattermost](#mattermost) | 开源 Slack 替代方案 | ⚙ | ⤓ | ⤓ | ⤓ | ❌ | ❌ | CE 和 EE | -| [MinIO](#minio) | 对象存储服务 | ⤓ | ✅ | ✅ | ✅ | ❌ | ⚙ | CE 和 EE | -| [NGINX](#nginx) | 将请求路由到适当的组件,终止 SSL | ✅ | ✅ | ⚙ | ✅ | ⤓ | ❌ | CE 和 EE | -| [Node Exporter](#node-exporter) | 具有系统指标的 Prometheus 端点 | ✅ | N/A | N/A | ✅ | ❌ | ❌ | CE 和 EE | -| [Outbound email (SMTP)](#outbound-email) | 向用户发送电子邮件 | ⤓ | ⚙ | ⤓ | ✅ | ⤓ | ⤓ | CE 和 EE | -| [PgBouncer Exporter](#pgbouncer-exporter) | 具有 PgBouncer 指标的 Prometheus 端点 | ⚙ | ❌ | ❌ | ✅ | ❌ | ❌ | CE 和 EE | -| [PgBouncer](#pgbouncer) | 数据库连接池,故障转移 | ⚙ | ❌ | ❌ | ✅ | ❌ | ❌ | 仅 EE | -| [PostgreSQL Exporter](#postgresql-exporter) | 带有 PostgreSQL 指标的 Prometheus 端点 | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | CE 和 EE | -| [PostgreSQL](#postgresql) | Database | ✅ | ✅ | ✅ | ✅ | ⤓ | ✅ | CE 和 EE | -| [Praefect](#praefect) | 任何 Git 客户端和 Gitaly 存储节点之间的透明代理. | ✅ | ⚙ | ❌ | ✅ | ⚙ | ✅ | CE 和 EE | -| [Redis Exporter](#redis-exporter) | 具有 Redis 指标的 Prometheus 端点 | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | CE 和 EE | -| [Redis](#redis) | 缓存服务 | ✅ | ✅ | ✅ | ✅ | ⤓ | ✅ | CE 和 EE | -| [Registry](#registry) | 容器注册表,允许推和拉图像 | ⚙ | ✅ | ✅ | ✅ | ⤓ | ⚙ | CE 和 EE | -| [Runner](#gitlab-runner) | 执行 GitLab CI / CD 作业 | ⤓ | ✅ | ⚙ | ✅ | ⚙ | ⚙ | CE 和 EE | -| [Sentry integration](#sentry) | 跟踪已部署应用程序的错误 | ⤓ | ⤓ | ⤓ | ⤓ | ⤓ | ⤓ | CE 和 EE | -| [Sidekiq](#sidekiq) | 后台作业处理器 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | CE 和 EE | -| [Unicorn (GitLab Rails)](#unicorn) | 处理对 Web 界面和 API 的请求 | ✅ | ✅ | ✅ | ✅ | ⚙ | ✅ | CE 和 EE | - -### Component details[](#component-details "Permalink") - -本文档供系统管理员和 GitLab 支持工程师使用,他们希望进一步了解 GitLab 的内部结构以及如何协同工作. - -部署后,应将 GitLab 视为以下过程的合并. 在进行故障排除或调试时,请尽可能明确地指出要引用的组件. 那应该增加清晰度并减少混乱. - -**Layers** - -从流程的角度来看,可以认为 GitLab 具有两层: - -* **监视** :不需要任何层来交付 GitLab 应用程序,但是它将允许管理员更深入地了解他们的基础结构以及整个服务在做什么. -* **核心** :对 GitLab 作为平台交付至关重要的任何过程. 如果这些过程中的任何一个停止,都将导致 GitLab 中断. 对于核心层,您可以进一步分为: - * **处理器** :这些进程负责实际执行操作并提供服务. - * **数据** :这些服务为 GitLab 服务存储/公开结构化数据. - -#### Alertmanager[](#alertmanager "Permalink") - -* [Project page](https://github.com/prometheus/alertmanager/blob/master/README.md) -* Configuration: - * [Omnibus](https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-config-template/gitlab.rb.template) - * [Charts](https://github.com/helm/charts/tree/master/stable/prometheus) -* 层:监控 -* Process: `alertmanager` -* GitLab.com: [Monitoring of GitLab.com](https://about.gitlab.com/handbook/engineering/monitoring/) - -[警报管理器](https://s0prometheus0io.icopy.site/docs/alerting/latest/alertmanager/)是 Prometheus 提供的工具,用于*"处理由客户端应用程序(例如 Prometheus 服务器)发送的警报.* *它负责将重复数据删除,分组和路由到正确的接收者集成,例如电子邮件,PagerDuty 或 Opsgenie.* *它还负责沉默和禁止警报."* 您可以在[问题#45740 中](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/45740)阅读更多有关我们将要[发出](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/45740)警报的内容. - -#### Certificate management[](#certificate-management "Permalink") - -* 项目页面: - * [综合巴士](https://github.com/certbot/certbot/blob/master/README.rst) - * [图表](https://github.com/jetstack/cert-manager/blob/master/README.md) -* Configuration: - * [Omnibus](https://docs.gitlab.com/omnibus/settings/ssl.html) - * [Charts](https://docs.gitlab.com/charts/installation/tls.html) - * [Source](../install/installation.html#using-https) - * [GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/https.md) -* 层:核心服务(处理器) -* GitLab.com: [Secrets Management](https://about.gitlab.com/handbook/engineering/infrastructure/production/architecture/#secrets-management) - -#### Consul[](#consul "Permalink") - -* [Project page](https://github.com/hashicorp/consul/blob/master/README.md) -* Configuration: - * [Omnibus](../administration/high_availability/consul.html) - * [Charts](https://docs.gitlab.com/charts/installation/deployment.html) -* 层:核心服务(数据) -* GitLab.com: [Consul](../user/gitlab_com/index.html#consul) - -Consul 是用于服务发现和配置的工具. Consul 是分布式的,高度可用的,并且具有极高的可伸缩性. - -#### Database migrations[](#database-migrations "Permalink") - -* Configuration: - * [Omnibus](https://docs.gitlab.com/omnibus/settings/database.html) - * [Charts](https://docs.gitlab.com/charts/charts/gitlab/migrations/) - * [Source](../update/upgrading_from_source.html#13-install-libraries-migrations-etc) -* Layer: Core Service (Data) - -#### Elasticsearch[](#elasticsearch "Permalink") - -* [Project page](https://github.com/elastic/elasticsearch/) -* Configuration: - * [Omnibus](../integration/elasticsearch.html) - * [Charts](../integration/elasticsearch.html) - * [Source](../integration/elasticsearch.html) - * [GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/elasticsearch.md) -* 层:核心服务(数据) -* GitLab.com: [Get Advanced Global Search working on GitLab.com](https://gitlab.com/groups/gitlab-org/-/epics/153) epic. - -Elasticsearch 是为云构建的分布式 RESTful 搜索引擎. - -#### Gitaly[](#gitaly "Permalink") - -* [Project page](https://gitlab.com/gitlab-org/gitaly/blob/master/README.md) -* Configuration: - * [Omnibus](../administration/gitaly/index.html) - * [Charts](https://docs.gitlab.com/charts/charts/gitlab/gitaly/) - * [Source](../install/installation.html#install-gitaly) -* 层:核心服务(数据) -* Process: `gitaly` -* GitLab.com: [Service Architecture](https://about.gitlab.com/handbook/engineering/infrastructure/production/architecture/#service-architecture) - -Gitaly 是一项由 GitLab 设计的服务,旨在消除我们在 GitLab 的分布式部署(请考虑 GitLab.com 或高可用性部署)中对 Git 存储使用 NFS 的需求. 从 11.3.0 开始,此服务处理 GitLab 中的所有 Git 级别访问. 您可以[在项目的 README 中](https://gitlab.com/gitlab-org/gitaly)阅读有关该项目的更多信息. - -#### Praefect[](#praefect "Permalink") - -* [Project page](https://gitlab.com/gitlab-org/gitaly/blob/master/README.md) -* Configuration: - * [Omnibus](../administration/gitaly/index.html) - * [Source](../install/installation.html#install-gitaly) -* 层:核心服务(数据) -* Process: `praefect` -* GitLab.com: [Service Architecture](https://about.gitlab.com/handbook/engineering/infrastructure/production/architecture/#service-architecture) - -Praefect 是每个 Git 客户端和 Gitaly 之间的透明代理,用于协调将存储库更新复制到辅助节点. - -#### GitLab Geo[](#gitlab-geo "Permalink") - -* Configuration: - * [Omnibus](../administration/geo/replication/index.html#setup-instructions) - * [Charts](https://docs.gitlab.com/charts/advanced/geo/) - * [GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/geo.md) -* 层:核心服务(处理器) - -#### GitLab Exporter[](#gitlab-exporter "Permalink") - -* [Project page](https://gitlab.com/gitlab-org/gitlab-exporter) -* Configuration: - * [Omnibus](../administration/monitoring/prometheus/gitlab_exporter.html) - * [Charts](https://docs.gitlab.com/charts/charts/gitlab/gitlab-exporter/index.html) -* 层:监控 -* Process: `gitlab-exporter` -* GitLab.com: [Monitoring of GitLab.com](https://about.gitlab.com/handbook/engineering/monitoring/) - -GitLab Exporter 是一个内部设计的流程,允许我们将有关 GitLab 应用程序内部的度量导出到 Prometheus. 您可以[在项目的 README 中](https://gitlab.com/gitlab-org/gitlab-exporter)阅读更多内容. - -#### GitLab Pages[](#gitlab-pages "Permalink") - -* Configuration: - * [Omnibus](../administration/pages/index.html) - * [Charts](https://gitlab.com/gitlab-org/charts/gitlab/-/issues/37) - * [Source](../install/installation.html#install-gitlab-pages) - * [GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/pages.md) -* 层:核心服务(处理器) -* GitLab.com: [GitLab Pages](../user/gitlab_com/index.html#gitlab-pages) - -GitLab 页面是一项功能,可让您直接从 GitLab 中的存储库发布静态网站. - -您可以将其用于个人或企业网站,例如投资组合,文档,清单和业务演示. 您还可以将任何许可证归于您的内容. - -#### GitLab Runner[](#gitlab-runner "Permalink") - -* [Project page](https://gitlab.com/gitlab-org/gitlab-runner/blob/master/README.md) -* Configuration: - * [Omnibus](https://docs.gitlab.com/runner/) - * [Charts](https://docs.gitlab.com/runner/install/kubernetes.html) - * [Source](https://docs.gitlab.com/runner/) - * [GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/runner.md) -* 层:核心服务(处理器) -* GitLab.com: [Runner](../user/gitlab_com/index.html#shared-runners) - -GitLab Runner 运行作业并将结果发送到 GitLab. - -GitLab CI / CD 是 GitLab 附带的开源持续集成服务,用于协调测试. 该项目的旧名称是`GitLab CI Multi Runner`但从现在开始,请使用`GitLab Runner` (不带 CI). - -#### GitLab Shell[](#gitlab-shell "Permalink") - -* [Project page](https://gitlab.com/gitlab-org/gitlab-shell/blob/master/README.md) -* Configuration: - * [Omnibus](https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-config-template/gitlab.rb.template) - * [Charts](https://docs.gitlab.com/charts/charts/gitlab/gitlab-shell/) - * [Source](../install/installation.html#install-gitlab-shell) - * [GDK](https://gitlab.com/gitlab-org/gitlab/blob/master/config/gitlab.yml.example) -* 层:核心服务(处理器) -* GitLab.com: [Service Architecture](https://about.gitlab.com/handbook/engineering/infrastructure/production/architecture/#service-architecture) - -[GitLab Shell](https://gitlab.com/gitlab-org/gitlab-shell)是[GitLab](https://gitlab.com/gitlab-org/gitlab-shell)设计的程序,用于处理基于 SSH 的`git`会话,并修改授权密钥的列表. GitLab Shell 不是 Unix Shell,也不是 Bash 或 Zsh 的替代品. - -#### GitLab Workhorse[](#gitlab-workhorse "Permalink") - -* [Project page](https://gitlab.com/gitlab-org/gitlab-workhorse/blob/master/README.md) -* Configuration: - * [Omnibus](https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-config-template/gitlab.rb.template) - * [Charts](https://docs.gitlab.com/charts/charts/gitlab/unicorn/) - * [Source](../install/installation.html#install-gitlab-workhorse) -* 层:核心服务(处理器) -* Process: `gitlab-workhorse` -* GitLab.com: [Service Architecture](https://about.gitlab.com/handbook/engineering/infrastructure/production/architecture/#service-architecture) - -[GitLab Workhorse](https://gitlab.com/gitlab-org/gitlab-workhorse)是由 GitLab 设计的程序,可帮助缓解 Unicorn 的压力. 您可以阅读有关发展的[历史原因的](https://about.gitlab.com/blog/2016/04/12/a-brief-history-of-gitlab-workhorse/)更多信息. 它旨在充当智能反向代理,以帮助整体上加快 GitLab 的速度. - -#### Grafana[](#grafana "Permalink") - -* [Project page](https://github.com/grafana/grafana/blob/master/README.md) -* Configuration: - * [Omnibus](../administration/monitoring/performance/grafana_configuration.html) - * [Charts](https://docs.gitlab.com/charts/charts/globals) -* 层:监控 -* GitLab.com: [GitLab triage Grafana dashboard](https://dashboards.gitlab.com/d/RZmbBr7mk/gitlab-triage?refresh=30s) - -Grafana 是适用于 Graphite,Elasticsearch,OpenTSDB,Prometheus 和 InfluxDB 的开源,功能丰富的指标仪表板和图形编辑器. - -#### Jaeger[](#jaeger "Permalink") - -* [Project page](https://github.com/jaegertracing/jaeger/blob/master/README.md) -* Configuration: - * [Omnibus](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/4104) - * [Charts](https://docs.gitlab.com/charts/charts/globals) - * [Source](../development/distributed_tracing.html#enabling-distributed-tracing) - * [GDK](../development/distributed_tracing.html#using-jaeger-in-the-gitlab-development-kit) -* 层:监控 -* GitLab.com: [Configuration to enable Tracing for a GitLab instance](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/4104) issue. - -受到 Dapper 和 OpenZipkin 启发的 Jaeger 是一个分布式跟踪系统. 它可以用于监视基于微服务的分布式系统. - -有关监视已部署的应用程序,请参阅[Jaeger 跟踪文档.](../operations/tracing.html) - -#### Logrotate[](#logrotate "Permalink") - -* [Project page](https://github.com/logrotate/logrotate/blob/master/README.md) -* Configuration: - * [Omnibus](https://docs.gitlab.com/omnibus/settings/logs.html) -* 层:核心服务 -* Process: `logrotate` - -GitLab 包含大量全部记录的服务. 从 7.4 开始,我们开始捆绑自己的 logrotate,以确保我们负责任地进行日志记录. 这只是普通开源产品的打包版本. - -#### Mattermost[](#mattermost "Permalink") - -* [Project page](https://github.com/mattermost/mattermost-server/blob/master/README.md) -* Configuration: - * [Omnibus](https://docs.gitlab.com/omnibus/gitlab-mattermost/) - * [Charts](https://docs.mattermost.com/install/install-mmte-helm-gitlab-helm.html) -* 层:核心服务(处理器) -* GitLab.com: [Mattermost](../user/project/integrations/mattermost.html) - -Mattermost 是一种开放源代码的私有云,是[https://mattermost.com 上的](https://mattermost.com) Slack 替代品. - -#### MinIO[](#minio "Permalink") - -* [Project page](https://github.com/minio/minio/blob/master/README.md) -* Configuration: - * [Omnibus](https://min.io/download) - * [Charts](https://docs.gitlab.com/charts/charts/minio/) - * [GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/object_storage.md) -* 层:核心服务(数据) -* GitLab.com: [Storage Architecture](https://about.gitlab.com/handbook/engineering/infrastructure/production/architecture/#storage-architecture) - -MinIO 是根据 Apache License v2.0 发布的对象存储服务器. 它与 Amazon S3 云存储服务兼容. 它最适合存储非结构化数据,例如照片,视频,日志文件,备份和容器/ VM 映像. 一个对象的大小范围可以从几个 KB 到最大 5TB. - -#### NGINX[](#nginx "Permalink") - -* 项目页面: - * [综合巴士](https://github.com/nginx/nginx) - * [图表](https://github.com/kubernetes/ingress-nginx/blob/master/README.md) -* Configuration: - * [Omnibus](https://docs.gitlab.com/omnibus/settings/) - * [Charts](https://docs.gitlab.com/charts/charts/nginx/) - * [Source](../install/installation.html#9-nginx) -* 层:核心服务(处理器) -* Process: `nginx` -* GitLab.com: [Service Architecture](https://about.gitlab.com/handbook/engineering/infrastructure/production/architecture/#service-architecture) - -NGINX 有一个用于所有 HTTP 请求的 Ingress 端口,并将它们路由到 GitLab 中的相应子系统. 我们捆绑了流行的开源 Web 服务器的未修改版本. - -#### Node Exporter[](#node-exporter "Permalink") - -* [Project page](https://github.com/prometheus/node_exporter/blob/master/README.md) -* Configuration: - * [Omnibus](../administration/monitoring/prometheus/node_exporter.html) - * [Charts](https://gitlab.com/gitlab-org/charts/gitlab/-/issues/1332) -* 层:监控 -* Process: `node-exporter` -* GitLab.com: [Monitoring of GitLab.com](https://about.gitlab.com/handbook/engineering/monitoring/) - -[Node Exporter](https://github.com/prometheus/node_exporter)是 Prometheus 工具,可为我们提供底层计算机的指标(以 CPU /磁盘/负载为例). 它只是 Prometheus 项目中常见开源产品的打包版本. - -#### PgBouncer[](#pgbouncer "Permalink") - -* [Project page](https://github.com/pgbouncer/pgbouncer/blob/master/README.md) -* Configuration: - * [Omnibus](../administration/high_availability/pgbouncer.html) - * [Charts](https://docs.gitlab.com/charts/installation/deployment.html) -* 层:核心服务(数据) -* GitLab.com: [Database Architecture](https://about.gitlab.com/handbook/engineering/infrastructure/production/architecture/#database-architecture) - -PostgreSQL 的轻量级连接池. - -#### PgBouncer Exporter[](#pgbouncer-exporter "Permalink") - -* [Project page](https://github.com/prometheus-community/pgbouncer_exporter/blob/master/README.md) -* Configuration: - * [Omnibus](../administration/monitoring/prometheus/pgbouncer_exporter.html) - * [Charts](https://docs.gitlab.com/charts/installation/deployment.html) -* 层:监控 -* GitLab.com: [Monitoring of GitLab.com](https://about.gitlab.com/handbook/engineering/monitoring/) - -Prometheus PgBouncer 的出口商. 导出指标为 9127 / metrics. - -#### PostgreSQL[](#postgresql "Permalink") - -* [Project page](https://github.com/postgres/postgres/blob/master/README) -* Configuration: - * [Omnibus](https://docs.gitlab.com/omnibus/settings/database.html) - * [Charts](https://docs.gitlab.com/charts/installation/deployment.html) - * [Source](../install/installation.html#6-database) -* 层:核心服务(数据) -* Process: `postgresql` -* GitLab.com: [PostgreSQL](../user/gitlab_com/index.html#postgresql) - -GitLab 打包了流行的数据库,以存储应用程序元数据和用户信息. - -#### PostgreSQL Exporter[](#postgresql-exporter "Permalink") - -* [Project page](https://github.com/wrouesnel/postgres_exporter/blob/master/README.md) -* Configuration: - * [Omnibus](../administration/monitoring/prometheus/postgres_exporter.html) - * [Charts](https://docs.gitlab.com/charts/installation/deployment.html) -* 层:监控 -* Process: `postgres-exporter` -* GitLab.com: [Monitoring of GitLab.com](https://about.gitlab.com/handbook/engineering/monitoring/) - -[`postgres_exporter`](https://github.com/wrouesnel/postgres_exporter)是社区提供的 Prometheus 导出器,它将 PostgreSQL 的有关数据传递给 Prometheus,以在 Grafana 仪表板中使用. - -#### Prometheus[](#prometheus "Permalink") - -* [Project page](https://github.com/prometheus/prometheus/blob/master/README.md) -* Configuration: - * [Omnibus](../administration/monitoring/prometheus/index.html) - * [Charts](https://docs.gitlab.com/charts/installation/deployment.html) -* 层:监控 -* Process: `prometheus` -* GitLab.com: [Prometheus](../user/gitlab_com/index.html#prometheus) - -Prometheus 是一个时序工具,可帮助 GitLab 管理员公开有关用于向 GitLab 提供服务的各个流程的指标. - -#### Redis[](#redis "Permalink") - -* [Project page](https://github.com/antirez/redis/blob/unstable/README.md) -* Configuration: - * [Omnibus](https://docs.gitlab.com/omnibus/settings/redis.html) - * [Charts](https://docs.gitlab.com/charts/installation/deployment.html) - * [Source](../install/installation.html#7-redis) -* 层:核心服务(数据) -* Process: `redis` -* GitLab.com: [Service Architecture](https://about.gitlab.com/handbook/engineering/infrastructure/production/architecture/#service-architecture) - -Redis 被打包以提供存储位置: - -* 会话数据 -* 临时缓存信息 -* 后台作业队列 - -#### Redis Exporter[](#redis-exporter "Permalink") - -* [Project page](https://github.com/oliver006/redis_exporter/blob/master/README.md) -* Configuration: - * [Omnibus](../administration/monitoring/prometheus/redis_exporter.html) - * [Charts](https://docs.gitlab.com/charts/installation/deployment.html) -* 层:监控 -* Process: `redis-exporter` -* GitLab.com: [Monitoring of GitLab.com](https://about.gitlab.com/handbook/engineering/monitoring/) - -[Redis Exporter](https://github.com/oliver006/redis_exporter)旨在向 Prometheus 提供有关 Redis 流程的特定指标,以便我们可以在 Grafana 中绘制这些指标. - -#### Registry[](#registry "Permalink") - -* [Project page](https://github.com/docker/distribution/blob/master/README.md) -* Configuration: - * [Omnibus](../update/upgrading_from_source.html#13-install-libraries-migrations-etc) - * [Charts](https://docs.gitlab.com/charts/charts/registry/) - * [Source](../administration/packages/container_registry.html#enable-the-container-registry) - * [GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/registry.md) -* 层:核心服务(处理器) -* GitLab.com: [GitLab Container Registry](../user/packages/container_registry/index.html#build-and-push-images-using-gitlab-cicd) - -用户使用注册表来存储自己的 Docker 映像. 捆绑的注册表使用 NGINX 作为负载平衡器,并使用 Gi​​tLab 作为身份验证管理器. 每当客户端请求从注册表中拉出或推送图像时,客户端都会返回`401`响应以及标头,其中详细说明了从何处获取身份验证令牌(在本例中为 GitLab 实例). 然后,客户端将向 GitLab 请求"拉"或"推"身份验证令牌,然后将原始请求重试到注册表. 了解有关[令牌认证的](https://docs.docker.com/registry/spec/auth/token/)更多信息. - -也可以将外部注册表配置为将 GitLab 用作身份验证端点. - -#### Sentry[](#sentry "Permalink") - -* [Project page](https://github.com/getsentry/sentry/) -* Configuration: - * [Omnibus](https://docs.gitlab.com/omnibus/settings/configuration.html) - * [Charts](https://docs.gitlab.com/charts/charts/globals) - * [Source](https://gitlab.com/gitlab-org/gitlab/blob/master/config/gitlab.yml.example) - * [GDK](https://gitlab.com/gitlab-org/gitlab/blob/master/config/gitlab.yml.example) -* 层:监控 -* GitLab.com: [Searching Sentry](https://about.gitlab.com/handbook/support/workflows/500_errors.html#searching-sentry) - -从根本上说,Sentry 是一项服务,可帮助您实时监视和修复崩溃. 该服务器使用 Python,但是它包含用于在任何应用程序中从任何语言发送事件的完整 API. - -有关监视已部署的应用程序,请参阅[Sentry 集成文档](../user/project/operations/error_tracking.html) - -#### Sidekiq[](#sidekiq "Permalink") - -* [Project page](https://github.com/mperham/sidekiq/blob/master/README.md) -* Configuration: - * [Omnibus](https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-config-template/gitlab.rb.template) - * [Charts](https://docs.gitlab.com/charts/charts/gitlab/sidekiq/) - * [Minikube Minimal](https://docs.gitlab.com/charts/charts/gitlab/sidekiq/index.html) - * [Source](https://gitlab.com/gitlab-org/gitlab/blob/master/config/gitlab.yml.example) - * [GDK](https://gitlab.com/gitlab-org/gitlab/blob/master/config/gitlab.yml.example) -* 层:核心服务(处理器) -* Process: `sidekiq` -* GitLab.com: [Sidekiq](../user/gitlab_com/index.html#sidekiq) - -Sidekiq 是 Ruby 后台作业处理器,可从 Redis 队列中提取作业并进行处理. 后台作业使 GitLab 通过将工作移至后台来提供更快的请求/响应周期. - -#### Unicorn[](#unicorn "Permalink") - -* [Project page](https://gitlab.com/gitlab-org/gitlab/blob/master/README.md) -* Configuration: - * [Omnibus](https://docs.gitlab.com/omnibus/settings/unicorn.html) - * [Charts](https://docs.gitlab.com/charts/charts/gitlab/webservice/) - * [Source](../install/installation.html#configure-it) - * [GDK](https://gitlab.com/gitlab-org/gitlab/blob/master/config/gitlab.yml.example) -* 层:核心服务(处理器) -* Process: `unicorn` -* GitLab.com: [Unicorn](../user/gitlab_com/index.html#unicorn) - -[Unicorn](https://yhbt.net/unicorn/)是一个 Ruby 应用程序服务器,用于运行核心的 Rails 应用程序,该应用程序在 GitLab 中提供面向用户的功能. 通常,根据 GitLab 版本,您会看到此输出为`bundle`或`config.ru` . - -#### LDAP Authentication[](#ldap-authentication "Permalink") - -* Configuration: - * [Omnibus](../administration/auth/ldap/index.html) - * [Charts](https://docs.gitlab.com/charts/charts/globals.html) - * [Source](https://gitlab.com/gitlab-org/gitlab/blob/master/config/gitlab.yml.example) - * [GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/ldap.md) -* 层:核心服务(处理器) -* GitLab.com: [Product Tiers](https://about.gitlab.com/pricing/#gitlab-com) - -#### Outbound Email[](#outbound-email "Permalink") - -* Configuration: - * [Omnibus](https://docs.gitlab.com/omnibus/settings/smtp.html) - * [Charts](https://docs.gitlab.com/charts/installation/command-line-options.html) - * [Source](https://gitlab.com/gitlab-org/gitlab/blob/master/config/gitlab.yml.example) - * [GDK](https://gitlab.com/gitlab-org/gitlab/blob/master/config/gitlab.yml.example) -* 层:核心服务(处理器) -* GitLab.com: [Mail configuration](../user/gitlab_com/index.html#mail-configuration) - -#### Inbound Email[](#inbound-email "Permalink") - -* Configuration: - * [Omnibus](../administration/incoming_email.html) - * [Charts](https://docs.gitlab.com/charts/installation/command-line-options.html) - * [Source](https://gitlab.com/gitlab-org/gitlab/blob/master/config/gitlab.yml.example) - * [GDK](https://gitlab.com/gitlab-org/gitlab/blob/master/config/gitlab.yml.example) -* 层:核心服务(处理器) -* GitLab.com: [Mail configuration](../user/gitlab_com/index.html#mail-configuration) - -#### GitLab Managed Apps[](#gitlab-managed-apps "Permalink") - -* Configuration: - * [Omnibus](../user/project/clusters/index.html#installing-applications) - * [Charts](../user/project/clusters/index.html#installing-applications) - * [Source](../user/project/clusters/index.html#installing-applications) - * [GDK](../user/project/clusters/index.html#installing-applications) -* 层:核心服务(处理器) - -GitLab 提供[GitLab 托管应用程序](../user/project/clusters/index.html#installing-applications) ,一键安装各种应用程序,可以直接将其添加到配置的集群中. 使用 Auto DevOps 时,Review Apps 和部署需要这些应用程序. 您可以在创建集群后安装它们. 这包括: - -* [Helm](https://helm.sh/docs/) -* [Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/) -* [Cert-Manager](https://cert-manager.io/docs/) -* [Prometheus](https://s0prometheus0io.icopy.site/docs/introduction/overview/) -* a [Runner](https://docs.gitlab.com/runner/) -* [JupyterHub](https://jupyter.org) -* [Knative](https://cloud.google.com/knative/) - -## GitLab by Request Type[](#gitlab-by-request-type "Permalink") - -GitLab 为最终用户提供了两个"接口"来访问服务: - -* Web HTTP 请求(查看 UI / API) -* Git HTTP / SSH 请求(推/拉 Git 数据) - -了解两者之间的区别很重要,因为某些过程在两种过程中都使用,而另一些过程则是特定请求类型所独有的. - -### GitLab Web HTTP Request Cycle[](#gitlab-web-http-request-cycle "Permalink") - -向 HTTP 端点发出请求(认为`/users/sign_in` )时,请求将通过 GitLab 服务采用以下路径: - -* NGINX-充当我们的第一线反向代理. -* GitLab Workhorse-确定是否需要转到 Rails 应用程序或其他地方以减少 Unicorn 上的负载. -* Unicorn-由于这是一个 Web 请求,并且需要访问该应用程序,因此它将转到 Unicorn. -* PostgreSQL / Gitaly / Redis-根据请求的类型,它可能会通过这些服务来存储或检索数据. - -### GitLab Git Request Cycle[](#gitlab-git-request-cycle "Permalink") - -下面我们描述 HTTP 与 SSH Git 请求将采用的不同路径. Web 请求周期有一些重叠,但也有一些差异. - -### Web Request (80/443)[](#web-request-80443 "Permalink") - -通过 HTTP 进行的 Git 操作使用[Git 文档中](https://git-scm.com/docs/http-protocol)描述的无状态"智能"协议,但处理这些操作的职责分散在多个 GitLab 组件中. - -这是`git fetch`的序列图. 请注意,所有请求都会通过 NGINX 以及任何其他 HTTP 负载平衡器传递,但不会以任何方式进行转换. 所有路径都相对于`/namespace/project.git` URL 呈现. - -sequenceDiagram 参与者客户端参与者上的 Git NGINX 参与者 Workhorse 参与者 Rails 参与者 Gitaly 参与者服务器上的 Git 注意客户端上的 Git 左侧:git fetch -客户端上的 info-refs Git->> + Workhorse:GET / info / refs?service = git-upload-pack Workhorse->> + Rails:GET / info / refs?service = git-upload-pack 注意 Rails 的右侧:验证检查 Rails->>-Workhorse:Gitlab :: Workhorse.git_http_ok​​ Workhorse->> + Gitaly:SmartHTTPService.InfoRefsUploadPack 请求服务器上的 Gitaly->> + Git:git upload-pack --stateless-rpc --advertise-refs 服务器上的 Git->>-Gitaly:git upload-pack 响应 Gitaly->>-工作马:SmartHTTPService.InfoRefsUploadPack 响应 Workhorse->>-客户端上的 Git:200 OK 注意客户端上的 Git 左侧:git fetch -在客户端上获取包装 Git->> + Workhorse:POST / git-upload-pack Workhorse->> + Rails:POST / git-upload-pack 注意 Rails 的权利:Auth check Rails->>-Workhorse:Gitlab: :Workhorse.git_http_ok​​ Workhorse->> + Gitaly:SmartHTTPService.PostUploadPack 请求 Gitaly->> + Git 在服务器上:git upload-pack --stateless-rpc 服务器上的 Git->>-Gitaly:git upload-pack 响应 Gitaly- ->>-Workhorse:SmartHTTPService.PostUploadPack 响应 Workhorse->>-客户端上的 Git:200 OK - -该序列与`git push`相似,除了使用`git-receive-pack`代替`git-upload-pack` . - -### SSH Request (22)[](#ssh-request-22 "Permalink") - -通过 SSH 进行的 Git 操作可以使用[Git 文档中](https://git-scm.com/docs/pack-protocol#_ssh_transport)描述的有状态协议,但是处理它们的职责分散在多个 GitLab 组件中. - -没有任何 GitLab 组件直接使用 SSH-所有 SSH 连接都是在客户端计算机上的 Git 与 SSH 服务器之间建立的,从而终止了连接. 对于 SSH 服务器,所有连接均以`git`用户身份进行身份验证; GitLab 用户通过客户端提供的 SSH 密钥来区分. - -这是`git fetch`的序列图,假设启用了[快速 SSH 密钥查找](../administration/operations/fast_ssh_key_lookup.html) . 请注意, `AuthorizedKeysCommand`是[GitLab Shell](#gitlab-shell)提供的可执行文件: - -sequenceDiagram 参与者客户端参与者上的 Git SSH 服务器参与者 AuthorizedKeysCommand 参与者 GitLab Shell 参与者 Rails 参与者 Gitaly 参与者服务器上的 Git 注意客户端上的 Git 左侧:git fetch 客户端上的 Git->> + SSH 服务器:ssh git fetch-pack request SSH 服务器-> > + AuthorizedKeysCommand:gitlab-shell-authorized-keys-check git AAAA ... AuthorizedKeysCommand->> + Rails:GET / internal / api / authorized_keys?key = AAAA ...注意 Rails 的右边:查找密钥 ID Rails-- >>-AuthorizedKeysCommand:200 OK,command =" gitlab-shell upload-pack key_id = 1" AuthorizedKeysCommand->>-SSH 服务器:command =" gitlab-shell upload-pack key_id = 1" SSH 服务器->> + GitLab Shell:gitlab-shell upload-pack key_id = 1 GitLab Shell->> + Rails:GET / internal / api / allowed?action = upload_pack&key_id = 1 注意 Rails 的权利:Auth check Rails->>-GitLab Shell:200 OK ,{gitaly:...} GitLab Shell->> + Gitaly:SSHService.SSHUploadPack 请求服务器上的 Gitaly->> + Git:git upload-pack 请求注意客户端上的 Git,Git on 服务器:Git 客户端和服务器上服务器 Git 之间的双向通信->>-Gitaly:git upload-pack 响应 Gitaly->>-GitLab Shell:SSHService.SSHUploadPack 响应 GitLab Shell->>-SSH 服务器:gitlab-shell 上载 SSH 伺服器的上载回应->>-Git 使用者:ssh git fetch-pack 回应 - -`git push`操作非常相似,除了使用`git receive-pack`代替`git upload-pack` . - -如果未启用快速 SSH 密钥查找,则 SSH 服务器将从`~git/.ssh/authorized_keys`文件读取,以确定为给定的 SSH 会话运行什么命令. 它由 Rails 中的[`AuthorizedKeysWorker`](https://gitlab.com/gitlab-org/gitlab/blob/master/app/workers/authorized_keys_worker.rb)保持最新状态,并计划在用户修改 SSH 密钥时运行. - -可以使用[SSH 证书](../administration/operations/ssh_certificates.html)代替密钥. 在这种情况下, `AuthorizedKeysCommand`替换为`AuthorizedPrincipalsCommand` . 这将从证书中提取用户名,而无需使用 Rails 内部 API,该 API 稍后将代替`/api/internal/allowed`调用中的`key_id`使用. - -GitLab Shell 还具有一些不涉及 Gitaly 的操作,例如重置两因素身份验证代码. 这些操作以相同的方式处理,除了没有往返 Gitaly 的往返-Rails 作为[内部 API](internal_api.html)调用的一部分执行操作,并且 GitLab Shell 将响应直接流回用户. - -## System Layout[](#system-layout "Permalink") - -在图片中引用`~git`时,它表示 Git 用户的主目录,通常是`/home/git` . - -GitLab 主要以`git`用户身份安装在`/home/git`用户主目录中. GitLab 服务器软件以及存储库都位于主目录中(尽管存储库位置是可配置的). - -裸存储库位于`/home/git/repositories` . GitLab 是 Ruby on Rails 应用程序,因此可以通过研究 Ruby on Rails 应用程序的工作方式来了解内部工作的细节. - -为了通过 SSH 提供存储库,有一个名为 GitLab Shell 的附加应用程序,它安装在`/home/git/gitlab-shell` . - -### Installation Folder Summary[](#installation-folder-summary "Permalink") - -总结一下,这里是[`git`用户主目录](../install/structure.html)的[目录结构](../install/structure.html) . - -### Processes[](#processes "Permalink") - -``` -ps aux | grep '^git' -``` - -GitLab 有几个要运行的组件. 它需要一个持久数据库(PostgreSQL)和 Redis 数据库,并使用 Apache `httpd`或 NGINX 代理传递 Unicorn. 所有这些组件都应以与 GitLab 不同的系统用户身份运行(例如, `postgres` , `redis`和`www-data` ,而不是`git` ). - -作为`git`用户,它将启动 Sidekiq 和 Unicorn(默认情况下在端口`8080`上运行的简单 Ruby HTTP 服务器). 在 GitLab 用户下,通常有 4 个进程: `unicorn_rails master` (1 个进程), `unicorn_rails worker` (2 个进程), `sidekiq` (1 个进程). - -### Repository access[](#repository-access "Permalink") - -可以通过 HTTP 或 SSH 访问存储库. HTTP 克隆/推/拉使用 GitLab API,而 SSH 克隆由 GitLab Shell 处理(先前已说明). - -## Troubleshooting[](#troubleshooting "Permalink") - -有关更多信息,请参见自述文件. - -### Init scripts of the services[](#init-scripts-of-the-services "Permalink") - -GitLab 初始化脚本启动和停止 Unicorn 和 Sidekiq: - -``` -/etc/init.d/gitlab -Usage: service gitlab {start|stop|restart|reload|status} -``` - -Redis(键值存储/非持久数据库): - -``` -/etc/init.d/redis -Usage: /etc/init.d/redis {start|stop|status|restart|condrestart|try-restart} -``` - -SSH daemon: - -``` -/etc/init.d/sshd -Usage: /etc/init.d/sshd {start|stop|restart|reload|force-reload|condrestart|try-restart|status} -``` - -Web 服务器(以下之一): - -``` -/etc/init.d/httpd -Usage: httpd {start|stop|restart|condrestart|try-restart|force-reload|reload|status|fullstatus|graceful|help|configtest} - -$ /etc/init.d/nginx -Usage: nginx {start|stop|restart|reload|force-reload|status|configtest} -``` - -永久数据库: - -``` -$ /etc/init.d/postgresql -Usage: /etc/init.d/postgresql {start|stop|restart|reload|force-reload|status} [version ..] -``` - -### Log locations of the services[](#log-locations-of-the-services "Permalink") - -GitLab(包括 Unicorn 和 Sidekiq 日志): - -* `/home/git/gitlab/log/` contains `application.log`, `production.log`, `sidekiq.log`, `unicorn.stdout.log`, `git_json.log` and `unicorn.stderr.log` normally. - -GitLab 外壳: - -* `/home/git/gitlab-shell/gitlab-shell.log` - -SSH: - -* `/var/log/auth.log`身份验证日志(在 Ubuntu 上). -* `/var/log/secure`身份验证日志(在 RHEL 上). - -NGINX: - -* `/var/log/nginx/`包含错误和访问日志. - -Apache `httpd`: - -* [Explanation of Apache logs](https://httpd.apache.org/docs/2.2/logs.html). -* `/var/log/apache2/`包含错误和输出日志(在 Ubuntu 上). -* `/var/log/httpd/`包含错误和输出日志(在 RHEL 上). - -Redis: - -* `/var/log/redis/redis.log`那里还有日志循环日志. - -PostgreSQL: - -* `/var/log/postgresql/*` - -### GitLab specific configuration files[](#gitlab-specific-configuration-files "Permalink") - -GitLab 的配置文件位于`/home/git/gitlab/config/*` . 常用的配置文件包括: - -* `gitlab.yml` -GitLab 配置. -* `unicorn.rb` -Unicorn Web 服务器设置. -* `database.yml`数据库连接设置. - -GitLab Shell 在`/home/git/gitlab-shell/config.yml`有一个配置文件. - -### Maintenance Tasks[](#maintenance-tasks "Permalink") - -[GitLab](https://gitlab.com/gitlab-org/gitlab/tree/master)提供 Rake 任务,您可以在其中查看版本信息,并对配置进行快速检查以确保在应用程序中正确配置了它. 请参阅[维护 Rake 任务](../raketasks/maintenance.html) . 简而言之,请执行以下操作: - -``` -sudo -i -u git -cd gitlab -bundle exec rake gitlab:env:info RAILS_ENV=production -bundle exec rake gitlab:check RAILS_ENV=production -``` - -注意:建议使用`sudo -i -u git`或`sudo su - git`登录`git`用户. 尽管 GitLab 提供的 sudo 命令可在 Ubuntu 中运行,但它们并不总是在 RHEL 中运行. - -## GitLab.com[](#gitlabcom "Permalink") - -我们还详细介绍[了 GitLab.com 的体系结构,](https://about.gitlab.com/handbook/engineering/infrastructure/production/architecture/)但是除非您拥有数百万的用户,否则这可能是最重要的. \ No newline at end of file diff --git a/docs/559.md b/docs/559.md deleted file mode 100644 index bab22d8..0000000 --- a/docs/559.md +++ /dev/null @@ -1,111 +0,0 @@ -# CI/CD development documentation - -> 原文:[https://docs.gitlab.com/ee/development/cicd/](https://docs.gitlab.com/ee/development/cicd/) - -* [CI Architecture overview](#ci-architecture-overview) -* [Job scheduling](#job-scheduling) - * [Communication between Runner and GitLab server](#communication-between-runner-and-gitlab-server) - * [`Ci::RegisterJobService`](#ciregisterjobservice) - -# CI/CD development documentation[](#cicd-development-documentation "Permalink") - -此处列出了特定于 CI / CD 的开发指南. - -如果要创建新的 CI / CD 模板,请阅读[GitLab CI / CD 模板的开发指南](templates.html) . - -## CI Architecture overview[](#ci-architecture-overview "Permalink") - -以下是 CI 体系结构的简化图. 为了集中在主要组件上,省略了一些细节. - -[![CI software architecture](img/8069500bf085102224933129529dfa12.png)](img/ci_architecture.png) - -在左侧,我们有一些事件可以根据各种事件触发管道(由用户或自动化触发): - -* `git push`是触发管道的最常见事件. -* The [Web API](../../api/pipelines.html#create-a-new-pipeline). -* 用户单击 UI 中的"运行管道"按钮. -* [创建或更新合并请求时](../../ci/merge_request_pipelines/index.html#pipelines-for-merge-requests) . -* 将 MR 添加到[合并列车时](../../ci/merge_request_pipelines/pipelines_for_merged_results/merge_trains/index.html#merge-trains-premium) . -* A [scheduled pipeline](../../ci/pipelines/schedules.html#pipeline-schedules). -* 当项目被[订阅到上游项目时](../../ci/multi_project_pipelines.html#trigger-a-pipeline-when-an-upstream-project-is-rebuilt) . -* 启用[自动 DevOps 时](../../topics/autodevops/index.html) . -* 当 GitHub 集成用于[外部请求请求时](../../ci/ci_cd_for_external_repos/index.html#pipelines-for-external-pull-requests) . -* 当上游管道包含[桥接作业时](../../ci/yaml/README.html#trigger) ,该[作业](../../ci/yaml/README.html#trigger)会触发下游管道. - -触发任何这些事件将调用[`CreatePipelineService`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/app/services/ci/create_pipeline_service.rb) ,后者将输入事件数据并触发用户,然后尝试创建管道. - -`CreatePipelineService`很大程度上依赖于[`YAML Processor`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/yaml_processor.rb)组件,该组件负责将 YAML Blob 作为输入并返回管道的抽象数据结构(包括阶段和所有作业). 该组件还可以在处理 YAML 时验证其结构,并返回任何语法或语义错误. 在`YAML Processor`组件中,我们定义了[所有](../../ci/yaml/README.html)可用于构建管道[的关键字](../../ci/yaml/README.html) . - -`CreatePipelineService`接收`YAML Processor`返回的抽象数据结构,然后将其转换为持久化模型(管道,阶段,作业等). 之后,就可以处理管道了. 处理管道意味着按执行顺序(阶段或 DAG)运行作业,直到以下任一情况为止: - -* 所有预期的作业均已执行. -* 故障会中断管道执行. - -处理管道的组件是[`ProcessPipelineService`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/app/services/ci/process_pipeline_service.rb) ,它负责将所有管道的作业移至完成状态. 创建管道时,其所有作业最初都处于`created`状态. 该服务根据流水线结构查看在`created`阶段可以处理哪些作业. 然后,它们将它们移到`pending`状态,这意味着它们现在[可以被 Runner 拾取](#job-scheduling) . 执行作业后,它可以成功完成或失败. 管道中作业的每个状态转换都会再次触发此服务,该服务会寻找下一个要转换为完成的作业. 在此过程中, `ProcessPipelineService`更新作业,阶段和整个管道的状态. - -在图的右侧,我们有一个列表[运动员](../../ci/runners/README.html#configuring-gitlab-runners)连接到 GitLab 实例. 这些可以是共享运行者,组运行者或项目特定的运行者. Runners 与 Rails 服务器之间的通信通过一组 API 端点(称为`Runner API Gateway` . - -我们可以注册,删除和验证运行器,这也将导致对数据库的读/写查询. 连接了 Runner 之后,它会继续询问要执行的下一个作业. 这将调用[`RegisterJobService`](https://gitlab.com/gitlab-org/gitlab/blob/master/app/services/ci/register_job_service.rb) ,后者将选择下一个作业并将其分配给 Runner. 此时,作业将转换为`running`状态,由于状态更改,该状态再次触发`ProcessPipelineService` . 有关更多详细信息,请参阅" [作业调度"](#job-scheduling) . - -在执行作业时,运行程序将日志以及任何可能需要存储的工件发送回服务器. 此外,作业可能依赖于先前作业中的工件才能运行. 在这种情况下,Runner 将使用专用的 API 端点下载它们. - -工件存储在对象存储中,而元数据保留在数据库中. 工件的重要示例是报表(JUnit,SAST,DAST 等),这些报表在合并请求中进行了解析和呈现. - -作业状态转换并非全部自动化. 用户可以运行[手动作业](../../ci/yaml/README.html#whenmanual) ,取消管道,重试特定的失败作业或整个管道. 导致作业更改状态的任何事件都将触发`ProcessPipelineService` ,因为它负责跟踪整个管道的状态. - -一种特殊类型的作业是[桥接作业](../../ci/yaml/README.html#trigger) ,当过渡到`pending`状态时,该[作业](../../ci/yaml/README.html#trigger)在服务器端执行. 这项工作负责创建下游管道,例如多项目或子管道. 每次触发下游管道时,工作流程循环都将从`CreatePipelineService`重新开始. - -## Job scheduling[](#job-scheduling "Permalink") - -创建管道时,将为所有阶段一次创建所有作业,初始状态为`created` . 这使得可视化管道的全部内容成为可能. - -跑步者将不会看到具有`created`状态的作业. 为了能够将作业分配给 Runner,该作业必须首先转换为`pending`状态,这在以下情况下可能发生: - -1. 作业是在管道的第一阶段创建的. -2. 该作业需要手动启动,并且已被触发. -3. 前一阶段的所有作业均已成功完成. 在这种情况下,我们将所有工作从下一阶段过渡到`pending` . -4. 该作业使用`needs:`指定了 DAG 依赖项`needs:`并且所有依赖项都已完成. - -连接了 Runner 时,它将通过连续轮询服务器来请求下一个`pending`作业运行. - -**注意:** Runner 用于与 GitLab 交互的 API 端点在[`lib/api/runner.rb`](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/api/runner.rb)中定义 - -服务器收到请求后,将根据[`Ci::RegisterJobService`算法](#ciregisterjobservice)选择`pending`作业,然后将其分配并发送给 Runner. - -在当前阶段完成所有作业后,服务器通过将其状态更改为" `pending` ",从下一阶段"解锁"所有作业. 现在,当 Runner 请求新作业时,可以由调度算法选择这些内容,并像这样继续进行,直到完成所有阶段. - -### Communication between Runner and GitLab server[](#communication-between-runner-and-gitlab-server "Permalink") - -使用注册令牌[注册](https://docs.gitlab.com/runner/register/)了 Runner 之后,服务器便知道其可以执行的作业类型. 这取决于: - -* 它注册的赛跑者类型为: - * 共享跑步者 - * 团体赛跑者 - * 项目特定的跑步者 -* 任何关联的标签. - -跑步者通过请求作业执行`POST /api/v4/jobs/request`来启动通信. 尽管轮询通常每隔几秒钟发生一次,但如果作业队列不变,我们将通过 HTTP 标头利用缓存来减少服务器端的工作量. - -该 API 端点运行[`Ci::RegisterJobService`](https://gitlab.com/gitlab-org/gitlab/blob/master/app/services/ci/register_job_service.rb) ,该命令: - -1. 从`pending`作业池中选择要运行的下一个作业 -2. 分配给跑步者 -3. 通过 API 响应将其呈现给 Runner - -### `Ci::RegisterJobService`[](#ciregisterjobservice "Permalink") - -此服务使用 3 个顶级查询来收集大多数作业,并且根据 Runner 注册到的级别选择它们: - -* 选择共享的 Runner(实例级别)的作业 -* 选择组级别运行器的作业 -* 选择项目亚军的工作 - -This list of jobs is then filtered further by matching tags between job and Runner tags. - -**注意:**如果作业包含标签,则与**所有**标签都不匹配的跑步者将不会选择该作业. 跑步者可能具有比该工作定义的标签更多的标签,但反之则没有. - -最后,如果 Runner 仅能选择带标签的作业,则所有未带标签的作业都会被过滤掉. - -在这一点上,我们遍历剩余的`pending`作业,然后尝试根据其他策略分配"可以选择" Runner 可以选择的第一个作业. 例如,标记为`protected`运行者只能选择针对受保护的分支(例如生产部署)运行的作业. - -当我们增加池中的"奔跑者"数量时,如果将同一工作分配给不同"奔跑者",也会增加发生冲突的机会. 为防止这种情况,我们会适当地挽救冲突错误并在列表中分配下一个作业. \ No newline at end of file diff --git a/docs/560.md b/docs/560.md deleted file mode 100644 index 10cc669..0000000 --- a/docs/560.md +++ /dev/null @@ -1,67 +0,0 @@ -# Database guides - -> 原文:[https://docs.gitlab.com/ee/development/database/](https://docs.gitlab.com/ee/development/database/) - -* [Database Reviews](#database-reviews) -* [Tooling](#tooling) -* [Migrations](#migrations) -* [Debugging](#debugging) -* [Best practices](#best-practices) -* [Case studies](#case-studies) - -# Database guides[](#database-guides "Permalink") - -## Database Reviews[](#database-reviews "Permalink") - -* 如果您要创建数据库 MR 进行审查,请查看我们的[数据库审查指南](../database_review.html) . - - 它介绍了与数据库相关的更改,迁移和复杂的 SQL 查询. - -* 如果您是数据库审阅者或想成为一名数据库审阅者,请查看我们的数据库审阅[简介](database_reviewer_guidelines.html) . - -## Tooling[](#tooling "Permalink") - -* [Understanding EXPLAIN plans](../understanding_explain_plans.html) -* [explain.depesz.com](https://explain.depesz.com/)或[explain.dalibo.com,](https://explain.dalibo.com/)用于可视化`EXPLAIN`的输出 -* [pgFormatter](http://sqlformat.darold.net/) PostgreSQL SQL 语法美化器 - -## Migrations[](#migrations "Permalink") - -* [What requires downtime?](../what_requires_downtime.html) -* 用于 SQL 查询的[SQL 准则](../sql.html) -* 用于创建安全的 SQL 迁移的[迁移样式指南](../migration_style_guide.html) -* [Testing Rails migrations](../testing_guide/testing_migrations_guide.html) guide -* [Post deployment migrations](../post_deployment_migrations.html) -* [Background migrations](../background_migrations.html) -* [Swapping tables](../swapping_tables.html) -* [Deleting migrations](../deleting_migrations.html) - -## Debugging[](#debugging "Permalink") - -* 使用带有[Marginalia 的](../database_query_comments.html)查询注释来跟踪 SQL 查询的源 -* 使用[详细查询日志](https://guides.rubyonrails.org/debugging_rails_applications.html#verbose-query-logs)在 Rails 控制台中跟踪 SQL 查询的源 - -## Best practices[](#best-practices "Permalink") - -* [Adding database indexes](../adding_database_indexes.html) -* [Foreign keys & associations](../foreign_keys.html) -* [Adding a foreign key constraint to an existing column](add_foreign_key_to_existing_column.html) -* [`NOT NULL` constraints](not_null_constraints.html) -* [Strings and the Text data type](strings_and_the_text_data_type.html) -* [Single table inheritance](../single_table_inheritance.html) -* [Polymorphic associations](../polymorphic_associations.html) -* [Serializing data](../serializing_data.html) -* [Hash indexes](../hash_indexes.html) -* [Storing SHA1 hashes as binary](../sha1_as_binary.html) -* [Iterating tables in batches](../iterating_tables_in_batches.html) -* [Insert into tables in batches](../insert_into_tables_in_batches.html) -* [Ordering table columns](../ordering_table_columns.html) -* [Verifying database capabilities](../verifying_database_capabilities.html) -* [Database Debugging and Troubleshooting](../database_debugging.html) -* [Query Count Limits](../query_count_limits.html) -* [Creating enums](../creating_enums.html) - -## Case studies[](#case-studies "Permalink") - -* [Database case study: Filtering by label](../filtering_by_label.html) -* [Database case study: Namespaces storage statistics](../namespaces_storage_statistics.html) \ No newline at end of file diff --git a/docs/561.md b/docs/561.md deleted file mode 100644 index 0765bf8..0000000 --- a/docs/561.md +++ /dev/null @@ -1,157 +0,0 @@ -# Database Review Guidelines - -> 原文:[https://docs.gitlab.com/ee/development/database_review.html](https://docs.gitlab.com/ee/development/database_review.html) - -* [General process](#general-process) - * [Roles and process](#roles-and-process) - * [Distributing review workload](#distributing-review-workload) - * [How to prepare the merge request for a database review](#how-to-prepare-the-merge-request-for-a-database-review) - * [Preparation when adding migrations](#preparation-when-adding-migrations) - * [Preparation when adding or modifying queries](#preparation-when-adding-or-modifying-queries) - * [Preparation when adding foreign keys to existing tables](#preparation-when-adding-foreign-keys-to-existing-tables) - * [Preparation when adding tables](#preparation-when-adding-tables) - * [Preparation when removing columns, tables, indexes, or other structures](#preparation-when-removing-columns-tables-indexes-or-other-structures) - * [How to review for database](#how-to-review-for-database) - * [Timing guidelines for migrations](#timing-guidelines-for-migrations) - -# Database Review Guidelines[](#database-review-guidelines "Permalink") - -此页面特定于数据库评论. 请参阅我们的[代码审查指南](code_review.html) ,以获取有关[代码审查](code_review.html)的更广泛建议和最佳实践. - -## General process[](#general-process "Permalink") - -A database review is required for: - -* 涉及数据库架构或执行数据迁移的更改,包括以下文件: - * `db/` - * `lib/gitlab/background_migration/` -* 对数据库工具的更改. 例如: - * `lib/gitlab/database/`迁移或 ActiveRecord 助手 - * 负载均衡 -* 产生 SQL 查询的更改超出了显而易见的范围. 通常由合并请求的作者决定是否引入复杂查询以及是否需要数据库审查. - -期望数据库审阅者在更改中查找明显复杂的查询,并仔细检查那些查询. 如果作者没有指出要审核的特定查询,并且没有明显复杂的查询,那么仅专注于审核迁移就足够了. - -最好以 SQL 形式复审查询,并且通常要求作者翻译 SQL 形式的任何 ActiveRecord 查询以复审. - -### Roles and process[](#roles-and-process "Permalink") - -合并请求**作者**的角色是: - -* 确定是否需要数据库审查. -* 如果需要数据库检查,请添加〜database 标签. -* [Prepare the merge request for a database review](#how-to-prepare-the-merge-request-for-a-database-review). - -数据库**审阅者**的角色是: - -* 对 MR 进行一次初审,并向作者提出改进建议. -* 一旦满意,请用〜" database :: reviewed"重新标记 MR,批准,然后将 MR 重新分配给 Reviewer Roulette 建议的数据库**维护者** . - -数据库**维护者**的作用是: - -* 在 MR 上执行最终数据库审查. -* 与数据库审阅者和 MR 作者讨论进一步的改进或其他相关更改. -* 最后批准 MR,并使用〜" database :: approved"重新标记 MR -* 如果没有其他待批准的批准,则合并 MR,或根据需要将其传递给其他维护者(前端,后端,文档). - -### Distributing review workload[](#distributing-review-workload "Permalink") - -使用[审阅者轮盘](code_review.html#reviewer-roulette) ( [示例](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/25181#note_147551725) )分配[审阅](code_review.html#reviewer-roulette)工作量. 然后,MR 作者应共同指派建议的数据库**审阅者** . 当他们批准时,他们将移交给建议的数据库**维护者** . - -如果审阅者轮盘赌没有建议数据库审阅者和维护者,请确保已应用〜database 标签并重新运行`danger-review` CI 作业,或从[`@gl-database`团队中](https://gitlab.com/groups/gl-database/-/group_members)选择某人. - -### How to prepare the merge request for a database review[](#how-to-prepare-the-merge-request-for-a-database-review "Permalink") - -为了使审核更加轻松快捷,请考虑以下准备工作. - -#### Preparation when adding migrations[](#preparation-when-adding-migrations "Permalink") - -* 确保`db/structure.sql`已按照[记录进行](migration_style_guide.html#schema-changes)更新. -* 通过使用`change`方法使迁移可逆,或者在使用`up`时包括`down`方法. - * 包括回滚过程或描述如何回滚更改. -* 将所有迁移的迁移和回滚的输出添加到 MR 描述中. - * 确保 down 方法还原`db/structure.sql`的更改. - * 在查看过程中,只要您修改迁移,就更新迁移输出. -* 如有必要,在`spec/migrations`添加迁移测试. 有关更多详细信息,请参见[在 GitLab 上测试 Rails 迁移](testing_guide/testing_migrations_guide.html) . -* 当迁移中涉及[高流量](https://gitlab.com/gitlab-org/gitlab/-/blob/master/rubocop/rubocop-migrations.yml#L3)表时,请使用[`with_lock_retries`](migration_style_guide.html#retry-mechanism-when-acquiring-database-locks)帮助程序方法. 请查看[我们文档中](migration_style_guide.html#examples)的相关[示例以](migration_style_guide.html#examples)获取用例和解决方案. -* Ensure RuboCop checks are not disabled unless there’s a valid reason to. -* 将索引添加到[大表时](https://gitlab.com/gitlab-org/gitlab/-/blob/master/rubocop/rubocop-migrations.yml#L3) ,请在`#database-lab` Slack 通道中使用`CREATE INDEX CONCURRENTLY`测试其执行,并将执行时间添加到 MR 描述中: - * `#database-lab`和 GitLab.com 之间的执行时间差异很大,但是`#database-lab`执行时间增加,可能暗示 GitLab.com 上的执行量也很高. - * 如果`#database-lab`的执行时间超过`1h` ,则应将索引移至[迁移后](post_deployment_migrations.html) . 请记住,在这种情况下,您可能需要将迁移和应用程序更改分为不同的版本,以确保在部署需要索引的代码时索引就位. - -#### Preparation when adding or modifying queries[](#preparation-when-adding-or-modifying-queries "Permalink") - -* 在 MR 说明中编写原始 SQL. 最好用[pgFormatter](https://sqlformat.darold.net)或[paste.depesz.com](https://paste.depesz.com)很好地格式化. -* 在描述中包括相关查询的`EXPLAIN (ANALYZE, BUFFERS)`输出. 如果输出太长,请将其包装在`
`块中,将其粘贴到 GitLab 代码片段中,或在以下位置提供指向计划的链接: [explain.depesz.com](https://explain.depesz.com) . -* 提供查询计划时,请确保其命中足够的数据: - * 您可以通过`#database-lab` Slack 通道或[chatops](understanding_explain_plans.html#chatops)使用 GitLab 生产副本大规模测试查询. - * 通常, `gitlab-org`命名空间( `namespace_id = 9970` )和`gitlab-org/gitlab-foss` ( `project_id = 13083` )或`gitlab-org/gitlab` ( `project_id = 278964` )项目提供了足够的数据作为一个很好的例子. -* 对于查询的变化,最好是与*前*和变更*后*的方案一起提供的 SQL 查询. 这有助于快速发现差异. -* 包括显示性能改善的数据,最好以基准形式显示. - -#### Preparation when adding foreign keys to existing tables[](#preparation-when-adding-foreign-keys-to-existing-tables "Permalink") - -* **在**添加外键**之前,**进行迁移以删除源表中的孤立行. -* 删除所有`dependent: ...`实例`dependent: ...`可能不再需要. - -#### Preparation when adding tables[](#preparation-when-adding-tables "Permalink") - -* 根据" [订购表列"](ordering_table_columns.html)准则[订购列](ordering_table_columns.html) . -* 将外键添加到指向其他表中数据的任何列,包括[index](migration_style_guide.html#adding-foreign-key-constraints) . -* 为在诸如`WHERE` , `ORDER BY` , `GROUP BY`和`JOIN`的语句中使用的字段添加索引. - -#### Preparation when removing columns, tables, indexes, or other structures[](#preparation-when-removing-columns-tables-indexes-or-other-structures "Permalink") - -* 遵循[有关删除列](what_requires_downtime.html#dropping-columns)的[准则](what_requires_downtime.html#dropping-columns) . -* 通常,最佳实践(但不是硬性规定)是在部署后迁移中删除索引和外键. - * 例外包括删除小型表的索引和外键. -* 如果要添加复合索引,则另一个索引可能会变得多余,因此请在同一迁移中将其删除. 例如,添加`index(column_A, column_B, column_C)`会使索引`index(column_A, column_B)`和`index(column_A)`冗余. - -### How to review for database[](#how-to-review-for-database "Permalink") - -* 检查迁移 - * 审查关系建模和设计选择 - * 查看迁移遵循[数据库迁移样式指南](migration_style_guide.html) ,例如 - * [检查列的顺序](ordering_table_columns.html) - * [检查索引是否存在外键](migration_style_guide.html#adding-foreign-key-constraints) - * 确保迁移在事务中执行,或仅包含并发索引/外键助手(已禁用事务) - * 如果在`#database-lab`上添加了指向大表的索引,并且其执行时间增加了(超过 1h): - * 确保在迁移后将其添加. - * 维护者:合并请求合并后,在`#f_upcoming_release` Slack 频道`#f_upcoming_release`其通知发布管理器. - * 检查与`db/structure.sql`一致性,并且迁移是[可逆的](migration_style_guide.html#reversibility) - * 检查查询时间(如果有的话):在迁移中执行的查询需要在 GitLab.com 上适应`15s`以内(最好比`15s`少). - * 对于列删除,请确保[在先前版本中](what_requires_downtime.html#dropping-columns)已[忽略](what_requires_downtime.html#dropping-columns)该列 -* Check [background migrations](background_migrations.html): - * 建立在 GitLab.com 上执行的时间估计. 出于历史目的,强烈建议在合并请求描述中包括此估计. - * 如果单个`update`低于`1s` ,则可以将查询直接放入常规迁移中(在`db/migrate`内部). - * 通常使用后台迁移,但不限于: - * 在较大的表中迁移数据. - * 对数据集中的每条记录进行大量 SQL 查询. - * 查看查询(例如,确保批次大小合适) - * 因为执行时间可能比常规迁移要长,所以建议将后台迁移视为后期迁移:将它们放在`db/post_migrate`而不是`db/migrate` . 请记住,后迁移是在生产中的部署后执行的. -* Check [timing guidelines for migrations](#timing-guidelines-for-migrations) -* 检查迁移是可逆的,并实现`#down`方法 -* 检查数据迁移: - * 建立在 GitLab.com 上执行的时间估计. - * 根据时间的不同,可以将数据迁移放在常规,部署后或后台迁移上. - * 数据迁移也应该是可逆的,或者在可能的情况下附带有关如何逆向的描述. 这适用于所有类型的迁移(常规,部署后,后台). -* 查询效果 - * 检查是否有任何明显复杂的查询,以及作者特别指出要进行审查的查询(如果有) - * 如果尚不存在,请要求作者提供 SQL 查询和查询计划(例如,通过使用[chatops](understanding_explain_plans.html#chatops)或直接数据库访问) - * 对于给定的查询,请查看有关数据分配的参数 - * [检查查询计划](understanding_explain_plans.html)并提出对查询的改进建议(更改查询,架构或添加索引等) - * 一般准则是查询执行时间少于 100 毫秒 - * 如果查询依赖于尚未在生产环境中进行的先前迁移(例如,索引,列),则可以使用[还原管道](https://ops.gitlab.net/gitlab-com/gl-infra/gitlab-restore/postgres-gprd)中[的一次性实例](https://ops.gitlab.net/gitlab-com/gl-infra/gitlab-restore/postgres-gprd)来建立适当的测试环境. 如果您无权访问此项目,请访问 Slack 上的#database 以获取有关如何进行的建议. - * 避免 N + 1 问题并最大程度地减少[查询数](merge_request_performance_guidelines.html#query-counts) . - -### Timing guidelines for migrations[](#timing-guidelines-for-migrations "Permalink") - -通常,对于单个部署,GitLab.com 的迁移时间不应超过 1 个小时. 以下准则不是硬性规定,据估计,这些准则可将迁移时间降到最低. - -**注意:**请记住,所有运行时均应根据 GitLab.com 进行测量. - -| 迁移类型 | 建议执行时间 | Notes | -| --- | --- | --- | -| 定期迁移`db/migrate` | `3 minutes` | 一个有效的例外是创建索引,因为这可能需要很长时间. | -| 在`db/post_migrate`上发布迁移 | `10 minutes` |   | -| 后台迁移 |  — | 由于它们适用于较大的表,因此无法设置精确的时序准则,但是,任何单个查询的冷缓存都必须保持在`1 second`以下的执行时间. | \ No newline at end of file diff --git a/docs/562.md b/docs/562.md deleted file mode 100644 index 0765bf8..0000000 --- a/docs/562.md +++ /dev/null @@ -1,157 +0,0 @@ -# Database Review Guidelines - -> 原文:[https://docs.gitlab.com/ee/development/database_review.html](https://docs.gitlab.com/ee/development/database_review.html) - -* [General process](#general-process) - * [Roles and process](#roles-and-process) - * [Distributing review workload](#distributing-review-workload) - * [How to prepare the merge request for a database review](#how-to-prepare-the-merge-request-for-a-database-review) - * [Preparation when adding migrations](#preparation-when-adding-migrations) - * [Preparation when adding or modifying queries](#preparation-when-adding-or-modifying-queries) - * [Preparation when adding foreign keys to existing tables](#preparation-when-adding-foreign-keys-to-existing-tables) - * [Preparation when adding tables](#preparation-when-adding-tables) - * [Preparation when removing columns, tables, indexes, or other structures](#preparation-when-removing-columns-tables-indexes-or-other-structures) - * [How to review for database](#how-to-review-for-database) - * [Timing guidelines for migrations](#timing-guidelines-for-migrations) - -# Database Review Guidelines[](#database-review-guidelines "Permalink") - -此页面特定于数据库评论. 请参阅我们的[代码审查指南](code_review.html) ,以获取有关[代码审查](code_review.html)的更广泛建议和最佳实践. - -## General process[](#general-process "Permalink") - -A database review is required for: - -* 涉及数据库架构或执行数据迁移的更改,包括以下文件: - * `db/` - * `lib/gitlab/background_migration/` -* 对数据库工具的更改. 例如: - * `lib/gitlab/database/`迁移或 ActiveRecord 助手 - * 负载均衡 -* 产生 SQL 查询的更改超出了显而易见的范围. 通常由合并请求的作者决定是否引入复杂查询以及是否需要数据库审查. - -期望数据库审阅者在更改中查找明显复杂的查询,并仔细检查那些查询. 如果作者没有指出要审核的特定查询,并且没有明显复杂的查询,那么仅专注于审核迁移就足够了. - -最好以 SQL 形式复审查询,并且通常要求作者翻译 SQL 形式的任何 ActiveRecord 查询以复审. - -### Roles and process[](#roles-and-process "Permalink") - -合并请求**作者**的角色是: - -* 确定是否需要数据库审查. -* 如果需要数据库检查,请添加〜database 标签. -* [Prepare the merge request for a database review](#how-to-prepare-the-merge-request-for-a-database-review). - -数据库**审阅者**的角色是: - -* 对 MR 进行一次初审,并向作者提出改进建议. -* 一旦满意,请用〜" database :: reviewed"重新标记 MR,批准,然后将 MR 重新分配给 Reviewer Roulette 建议的数据库**维护者** . - -数据库**维护者**的作用是: - -* 在 MR 上执行最终数据库审查. -* 与数据库审阅者和 MR 作者讨论进一步的改进或其他相关更改. -* 最后批准 MR,并使用〜" database :: approved"重新标记 MR -* 如果没有其他待批准的批准,则合并 MR,或根据需要将其传递给其他维护者(前端,后端,文档). - -### Distributing review workload[](#distributing-review-workload "Permalink") - -使用[审阅者轮盘](code_review.html#reviewer-roulette) ( [示例](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/25181#note_147551725) )分配[审阅](code_review.html#reviewer-roulette)工作量. 然后,MR 作者应共同指派建议的数据库**审阅者** . 当他们批准时,他们将移交给建议的数据库**维护者** . - -如果审阅者轮盘赌没有建议数据库审阅者和维护者,请确保已应用〜database 标签并重新运行`danger-review` CI 作业,或从[`@gl-database`团队中](https://gitlab.com/groups/gl-database/-/group_members)选择某人. - -### How to prepare the merge request for a database review[](#how-to-prepare-the-merge-request-for-a-database-review "Permalink") - -为了使审核更加轻松快捷,请考虑以下准备工作. - -#### Preparation when adding migrations[](#preparation-when-adding-migrations "Permalink") - -* 确保`db/structure.sql`已按照[记录进行](migration_style_guide.html#schema-changes)更新. -* 通过使用`change`方法使迁移可逆,或者在使用`up`时包括`down`方法. - * 包括回滚过程或描述如何回滚更改. -* 将所有迁移的迁移和回滚的输出添加到 MR 描述中. - * 确保 down 方法还原`db/structure.sql`的更改. - * 在查看过程中,只要您修改迁移,就更新迁移输出. -* 如有必要,在`spec/migrations`添加迁移测试. 有关更多详细信息,请参见[在 GitLab 上测试 Rails 迁移](testing_guide/testing_migrations_guide.html) . -* 当迁移中涉及[高流量](https://gitlab.com/gitlab-org/gitlab/-/blob/master/rubocop/rubocop-migrations.yml#L3)表时,请使用[`with_lock_retries`](migration_style_guide.html#retry-mechanism-when-acquiring-database-locks)帮助程序方法. 请查看[我们文档中](migration_style_guide.html#examples)的相关[示例以](migration_style_guide.html#examples)获取用例和解决方案. -* Ensure RuboCop checks are not disabled unless there’s a valid reason to. -* 将索引添加到[大表时](https://gitlab.com/gitlab-org/gitlab/-/blob/master/rubocop/rubocop-migrations.yml#L3) ,请在`#database-lab` Slack 通道中使用`CREATE INDEX CONCURRENTLY`测试其执行,并将执行时间添加到 MR 描述中: - * `#database-lab`和 GitLab.com 之间的执行时间差异很大,但是`#database-lab`执行时间增加,可能暗示 GitLab.com 上的执行量也很高. - * 如果`#database-lab`的执行时间超过`1h` ,则应将索引移至[迁移后](post_deployment_migrations.html) . 请记住,在这种情况下,您可能需要将迁移和应用程序更改分为不同的版本,以确保在部署需要索引的代码时索引就位. - -#### Preparation when adding or modifying queries[](#preparation-when-adding-or-modifying-queries "Permalink") - -* 在 MR 说明中编写原始 SQL. 最好用[pgFormatter](https://sqlformat.darold.net)或[paste.depesz.com](https://paste.depesz.com)很好地格式化. -* 在描述中包括相关查询的`EXPLAIN (ANALYZE, BUFFERS)`输出. 如果输出太长,请将其包装在`
`块中,将其粘贴到 GitLab 代码片段中,或在以下位置提供指向计划的链接: [explain.depesz.com](https://explain.depesz.com) . -* 提供查询计划时,请确保其命中足够的数据: - * 您可以通过`#database-lab` Slack 通道或[chatops](understanding_explain_plans.html#chatops)使用 GitLab 生产副本大规模测试查询. - * 通常, `gitlab-org`命名空间( `namespace_id = 9970` )和`gitlab-org/gitlab-foss` ( `project_id = 13083` )或`gitlab-org/gitlab` ( `project_id = 278964` )项目提供了足够的数据作为一个很好的例子. -* 对于查询的变化,最好是与*前*和变更*后*的方案一起提供的 SQL 查询. 这有助于快速发现差异. -* 包括显示性能改善的数据,最好以基准形式显示. - -#### Preparation when adding foreign keys to existing tables[](#preparation-when-adding-foreign-keys-to-existing-tables "Permalink") - -* **在**添加外键**之前,**进行迁移以删除源表中的孤立行. -* 删除所有`dependent: ...`实例`dependent: ...`可能不再需要. - -#### Preparation when adding tables[](#preparation-when-adding-tables "Permalink") - -* 根据" [订购表列"](ordering_table_columns.html)准则[订购列](ordering_table_columns.html) . -* 将外键添加到指向其他表中数据的任何列,包括[index](migration_style_guide.html#adding-foreign-key-constraints) . -* 为在诸如`WHERE` , `ORDER BY` , `GROUP BY`和`JOIN`的语句中使用的字段添加索引. - -#### Preparation when removing columns, tables, indexes, or other structures[](#preparation-when-removing-columns-tables-indexes-or-other-structures "Permalink") - -* 遵循[有关删除列](what_requires_downtime.html#dropping-columns)的[准则](what_requires_downtime.html#dropping-columns) . -* 通常,最佳实践(但不是硬性规定)是在部署后迁移中删除索引和外键. - * 例外包括删除小型表的索引和外键. -* 如果要添加复合索引,则另一个索引可能会变得多余,因此请在同一迁移中将其删除. 例如,添加`index(column_A, column_B, column_C)`会使索引`index(column_A, column_B)`和`index(column_A)`冗余. - -### How to review for database[](#how-to-review-for-database "Permalink") - -* 检查迁移 - * 审查关系建模和设计选择 - * 查看迁移遵循[数据库迁移样式指南](migration_style_guide.html) ,例如 - * [检查列的顺序](ordering_table_columns.html) - * [检查索引是否存在外键](migration_style_guide.html#adding-foreign-key-constraints) - * 确保迁移在事务中执行,或仅包含并发索引/外键助手(已禁用事务) - * 如果在`#database-lab`上添加了指向大表的索引,并且其执行时间增加了(超过 1h): - * 确保在迁移后将其添加. - * 维护者:合并请求合并后,在`#f_upcoming_release` Slack 频道`#f_upcoming_release`其通知发布管理器. - * 检查与`db/structure.sql`一致性,并且迁移是[可逆的](migration_style_guide.html#reversibility) - * 检查查询时间(如果有的话):在迁移中执行的查询需要在 GitLab.com 上适应`15s`以内(最好比`15s`少). - * 对于列删除,请确保[在先前版本中](what_requires_downtime.html#dropping-columns)已[忽略](what_requires_downtime.html#dropping-columns)该列 -* Check [background migrations](background_migrations.html): - * 建立在 GitLab.com 上执行的时间估计. 出于历史目的,强烈建议在合并请求描述中包括此估计. - * 如果单个`update`低于`1s` ,则可以将查询直接放入常规迁移中(在`db/migrate`内部). - * 通常使用后台迁移,但不限于: - * 在较大的表中迁移数据. - * 对数据集中的每条记录进行大量 SQL 查询. - * 查看查询(例如,确保批次大小合适) - * 因为执行时间可能比常规迁移要长,所以建议将后台迁移视为后期迁移:将它们放在`db/post_migrate`而不是`db/migrate` . 请记住,后迁移是在生产中的部署后执行的. -* Check [timing guidelines for migrations](#timing-guidelines-for-migrations) -* 检查迁移是可逆的,并实现`#down`方法 -* 检查数据迁移: - * 建立在 GitLab.com 上执行的时间估计. - * 根据时间的不同,可以将数据迁移放在常规,部署后或后台迁移上. - * 数据迁移也应该是可逆的,或者在可能的情况下附带有关如何逆向的描述. 这适用于所有类型的迁移(常规,部署后,后台). -* 查询效果 - * 检查是否有任何明显复杂的查询,以及作者特别指出要进行审查的查询(如果有) - * 如果尚不存在,请要求作者提供 SQL 查询和查询计划(例如,通过使用[chatops](understanding_explain_plans.html#chatops)或直接数据库访问) - * 对于给定的查询,请查看有关数据分配的参数 - * [检查查询计划](understanding_explain_plans.html)并提出对查询的改进建议(更改查询,架构或添加索引等) - * 一般准则是查询执行时间少于 100 毫秒 - * 如果查询依赖于尚未在生产环境中进行的先前迁移(例如,索引,列),则可以使用[还原管道](https://ops.gitlab.net/gitlab-com/gl-infra/gitlab-restore/postgres-gprd)中[的一次性实例](https://ops.gitlab.net/gitlab-com/gl-infra/gitlab-restore/postgres-gprd)来建立适当的测试环境. 如果您无权访问此项目,请访问 Slack 上的#database 以获取有关如何进行的建议. - * 避免 N + 1 问题并最大程度地减少[查询数](merge_request_performance_guidelines.html#query-counts) . - -### Timing guidelines for migrations[](#timing-guidelines-for-migrations "Permalink") - -通常,对于单个部署,GitLab.com 的迁移时间不应超过 1 个小时. 以下准则不是硬性规定,据估计,这些准则可将迁移时间降到最低. - -**注意:**请记住,所有运行时均应根据 GitLab.com 进行测量. - -| 迁移类型 | 建议执行时间 | Notes | -| --- | --- | --- | -| 定期迁移`db/migrate` | `3 minutes` | 一个有效的例外是创建索引,因为这可能需要很长时间. | -| 在`db/post_migrate`上发布迁移 | `10 minutes` |   | -| 后台迁移 |  — | 由于它们适用于较大的表,因此无法设置精确的时序准则,但是,任何单个查询的冷缓存都必须保持在`1 second`以下的执行时间. | \ No newline at end of file diff --git a/docs/563.md b/docs/563.md deleted file mode 100644 index 0fb587b..0000000 --- a/docs/563.md +++ /dev/null @@ -1,769 +0,0 @@ -# Migration Style Guide - -> 原文:[https://docs.gitlab.com/ee/development/migration_style_guide.html](https://docs.gitlab.com/ee/development/migration_style_guide.html) - -* [Schema Changes](#schema-changes) -* [What Requires Downtime?](#what-requires-downtime) -* [Downtime Tagging](#downtime-tagging) -* [Reversibility](#reversibility) -* [Atomicity](#atomicity) -* [Heavy operations in a single transaction](#heavy-operations-in-a-single-transaction) -* [Retry mechanism when acquiring database locks](#retry-mechanism-when-acquiring-database-locks) - * [Examples](#examples) - * [When to use the helper method](#when-to-use-the-helper-method) - * [How the helper method works](#how-the-helper-method-works) -* [Multi-Threading](#multi-threading) -* [Removing indexes](#removing-indexes) -* [Adding indexes](#adding-indexes) -* [Adding foreign-key constraints](#adding-foreign-key-constraints) -* [`NOT NULL` constraints](#not-null-constraints) -* [Adding Columns With Default Values](#adding-columns-with-default-values) -* [Changing the column default](#changing-the-column-default) -* [Updating an existing column](#updating-an-existing-column) -* [Dropping a database table](#dropping-a-database-table) -* [Integer column type](#integer-column-type) -* [Strings and the Text data type](#strings-and-the-text-data-type) -* [Timestamp column type](#timestamp-column-type) -* [Storing JSON in database](#storing-json-in-database) -* [Testing](#testing) -* [Data migration](#data-migration) - * [Renaming reserved paths](#renaming-reserved-paths) - -# Migration Style Guide[](#migration-style-guide "Permalink") - -在为 GitLab 编写迁移时,必须考虑到这些迁移将由成千上万个各种规模的组织来运行,其中一些组织的数据库中包含多年的数据. - -此外,对于大多数组织来说,必须使服务器脱机以进行较小或较大的升级是一大负担. 因此,重要的是要仔细编写迁移文件,可以在线进行迁移,并遵守下面的样式指南. - -迁移**不准**要求 GitLab 设施采取离线,除非*绝对必要的* . - -如果需要停机,则必须通过以下方式批准迁移: - -1. 工程副总裁 -2. 后端维护者 -3. 数据库维护者 - -可以在[https://about.gitlab.com/company/team/中](https://about.gitlab.com/company/team/)找到持有这些头衔的人员的最新列表. - -When writing your migrations, also consider that databases might have stale data or inconsistencies and guard for that. Try to make as few assumptions as possible about the state of the database. - -请不要依赖特定于 GitLab 的代码,因为它可能会在将来的版本中更改. 如果需要,将 GitLab 代码复制粘贴到迁移中以使其向前兼容. - -对于 GitLab.com,请考虑到在[部署 Canary](https://about.gitlab.com/handbook/engineering/infrastructure/library/canary/#configuration-and-deployment)之前运行常规迁移(在`db/migrate` ),在完成生产部署后运行部署后的迁移( `db/post_migrate` ). - -## Schema Changes[](#schema-changes "Permalink") - -Changes to the schema should be committed to `db/structure.sql`. This file is automatically generated by Rails, so you normally should not edit this file by hand. If your migration is adding a column to a table, that column will be added at the bottom. Please do not reorder columns manually for existing tables as this will cause confusing to other people using `db/structure.sql` generated by Rails. - -当您的 GDK 中的本地数据库与`master`数据库中的模式不同时,可能很难将模式更改完全提交给 Git. 在这种情况下,您可以使用`scripts/regenerate-schema`脚本为要添加的迁移重新生成干净的`db/structure.sql` . 该脚本将应用在`db/migrate`或`db/post_migrate`找到的所有迁移,因此,如果您不想将任何迁移提交到架构,请重命名或删除它们. 如果您的分支不是以`master`为目标,则可以设置`TARGET`环境变量. - -``` -# Regenerate schema against `master` -scripts/regenerate-schema - -# Regenerate schema against `12-9-stable-ee` -TARGET=12-9-stable-ee scripts/regenerate-schema -``` - -## What Requires Downtime?[](#what-requires-downtime "Permalink") - -文档["什么需要停机?"](what_requires_downtime.html) 指定各种数据库操作,例如 - -* [dropping and renaming columns](what_requires_downtime.html#dropping-columns) -* [changing column constraints and types](what_requires_downtime.html#changing-column-constraints) -* [adding and dropping indexes, tables, and foreign keys](what_requires_downtime.html#adding-indexes) - -以及他们是否需要停机,以及如何尽可能地进行停机. - -## Downtime Tagging[](#downtime-tagging "Permalink") - -每个迁移都必须指定是否需要停机,并且如果需要停机,还必须指定原因. 这是即使在迁移的 99%,不需要停机,因为这使得它更容易地发现, *确实*需要停机迁移所需. - -要标记迁移,请在迁移类的主体中添加以下两个常量: - -* `DOWNTIME` :一个布尔值,当设置为`true`指示迁移需要停机时间. -* `DOWNTIME_REASON` :一个字符串,其中包含需要停机的迁移原因. 当`DOWNTIME`设置为`true`时, **必须**设置此常数. - -例如: - -``` -class MyMigration < ActiveRecord::Migration[6.0] - DOWNTIME = true - DOWNTIME_REASON = 'This migration requires downtime because ...' - - def change - ... - end -end -``` - -如果迁移类中缺少`DOWNTIME`常量,则会出现错误(即 CI 将失败). - -## Reversibility[](#reversibility "Permalink") - -您的迁移**必须是**可逆的. 这非常重要,因为在出​​现漏洞或错误的情况下应该可以降级. - -在迁移中,添加一条注释,描述如何测试迁移的可逆性. - -某些迁移无法撤消. 例如,某些数据迁移无法撤消,因为在迁移之前,我们丢失了有关数据库状态的信息. 您仍然应该创建一个带注释的`down`方法,解释为什么不能撤消`up`方法执行的更改,以便即使撤消迁移期间执行的更改也可以撤消迁移本身: - -``` -def down - # no-op - - # comment explaining why changes performed by `up` cannot be reversed. -end -``` - -## Atomicity[](#atomicity "Permalink") - -默认情况下,迁移是单个事务. 即,在迁移开始时打开一个事务,并在处理完所有步骤后提交. - -在单个事务中运行迁移可确保如果其中一个步骤失败,则将不会执行任何步骤,从而使数据库保持有效状态. 因此,要么: - -* 将所有迁移都放在一个单事务迁移中. -* 如有必要,将大多数操作放入一个迁移中,并为无法在单个事务中完成的步骤创建一个单独的迁移. - -例如,如果创建一个空表并需要为其建立索引,则建议使用常规的单事务迁移和默认的 rails schema 语句: [`add_index`](https://api.rubyonrails.org/v5.2/classes/ActiveRecord/ConnectionAdapters/SchemaStatements.html#method-i-add_index) . 这是一个阻塞操作,但不会引起问题,因为该表尚未使用,因此它还没有任何记录. - -## Heavy operations in a single transaction[](#heavy-operations-in-a-single-transaction "Permalink") - -使用单事务迁移时,事务将在迁移期间保持数据库连接,因此您必须确保迁移中的操作不会花费太多时间:通常,在迁移中执行的查询需要在 GitLab.com 上舒适地放置`15s` . - -如果您需要插入,更新或删除大量数据,请执行以下操作: - -* 必须使用`disable_ddl_transaction!`禁用单个事务`disable_ddl_transaction!` . -* 应该考虑在[后台迁移中](background_migrations.html)这样做. - -## Retry mechanism when acquiring database locks[](#retry-mechanism-when-acquiring-database-locks "Permalink") - -更改数据库架构时,我们使用辅助方法来调用 DDL(数据定义语言)语句. 在某些情况下,这些 DDL 语句需要特定的数据库锁. - -Example: - -``` -def change - remove_column :users, :full_name, :string -end -``` - -要执行此迁移,需要对`users`表进行排他锁定. 当表被其他进程同时访问和修改时,获取锁定可能需要一段时间. 锁定请求正在队列中等待,一旦进入队列,它也可能阻止`users`表上的其他查询. - -有关 PostgresSQL 锁的更多信息: [显式锁定](https://s0www0postgresql0org.icopy.site/docs/current/explicit-locking.html) - -出于稳定性考虑,GitLab.com 设置了特定的[`statement_timeout`](../user/gitlab_com/index.html#postgresql) . 调用迁移时,任何数据库查询都将有固定的执行时间. 在最坏的情况下,请求将坐在锁定队列中,在配置的语句超时时间内阻止其他查询,然后`canceling statement due to statement timeout`错误`canceling statement due to statement timeout`失败. - -此问题可能导致应用程序升级过程失败,甚至导致应用程序稳定性问题,因为该表可能会在短时间内无法访问. - -为了提高数据库迁移的可靠性和稳定性,GitLab 代码库提供了一种辅助方法,以使用不同的`lock_timeout`设置重试操作,并在两次尝试之间等待时间. 为了获得必要的锁定,进行了多次较小的尝试,从而使数据库可以处理其他语句. - -### Examples[](#examples "Permalink") - -**删除列:** - -``` -include Gitlab::Database::MigrationHelpers - -def up - with_lock_retries do - remove_column :users, :full_name - end -end - -def down - with_lock_retries do - add_column :users, :full_name, :string - end -end -``` - -**删除外键:** - -``` -include Gitlab::Database::MigrationHelpers - -def up - with_lock_retries do - remove_foreign_key :issues, :projects - end -end - -def down - with_lock_retries do - add_foreign_key :issues, :projects - end -end -``` - -**更改列的默认值:** - -``` -include Gitlab::Database::MigrationHelpers - -def up - with_lock_retries do - change_column_default :merge_requests, :lock_version, from: nil, to: 0 - end -end - -def down - with_lock_retries do - change_column_default :merge_requests, :lock_version, from: 0, to: nil - end -end -``` - -**用外键创建一个新表:** - -我们可以简单地用`with_lock_retries`包装`create_table`方法: - -``` -def up - with_lock_retries do - create_table :issues do |t| - t.references :project, index: true, null: false, foreign_key: { on_delete: :cascade } - t.string :title, limit: 255 - end - end -end - -def down - drop_table :issues -end -``` - -**当我们有两个外键时创建一个新表:** - -为此,我们需要进行三个迁移: - -1. 创建不带外键(带有索引)的表. -2. 将外键添加到第一个表. -3. 将外键添加到第二个表. - -创建表: - -``` -def up - create_table :imports do |t| - t.bigint :project_id, null: false - t.bigint :user_id, null: false - t.string :jid, limit: 255 - end - - add_index :imports, :project_id - add_index :imports, :user_id -end - -def down - drop_table :imports -end -``` - -在`projects`添加外键: - -``` -include Gitlab::Database::MigrationHelpers - -def up - with_lock_retries do - add_foreign_key :imports, :projects, column: :project_id, on_delete: :cascade - end -end - -def down - with_lock_retries do - remove_foreign_key :imports, column: :project_id - end -end -``` - -向`users`添加外键: - -``` -include Gitlab::Database::MigrationHelpers - -def up - with_lock_retries do - add_foreign_key :imports, :users, column: :user_id, on_delete: :cascade - end -end - -def down - with_lock_retries do - remove_foreign_key :imports, column: :user_id - end -end -``` - -**与`disable_ddl_transaction!`配合使用`disable_ddl_transaction!`** - -通常, `with_lock_retries`帮助程序应与`disabled_ddl_transaction!` . 定制的 RuboCop 规则可确保只能将允许的方法放在锁重试块中. - -``` -disable_ddl_transaction! - -def up - with_lock_retries do - add_column :users, :name, :text - end - - add_text_limit :users, :name, 255 # Includes constraint validation (full table scan) -end -``` - -RuboCop 规则通常允许使用下面列出的标准 Rails 迁移方法. 此示例将导致 Rubocop 犯罪: - -``` -disabled_ddl_transaction! - -def up - with_lock_retries do - add_concurrent_index :users, :name - end -end -``` - -### When to use the helper method[](#when-to-use-the-helper-method "Permalink") - -通常使用标准的 Rails 迁移帮助器方法时,可以使用`with_lock_retries`帮助器方法. 如果在同一个表上执行多个迁移助手,则调用它们不是问题. - -当数据库迁移涉及高流量表之一时,建议使用`with_lock_retries`帮助程序方法: - -* `users` -* `projects` -* `namespaces` -* `issues` -* `merge_requests` -* `ci_pipelines` -* `ci_builds` -* `notes` - -更改示例: - -* `add_foreign_key` / `remove_foreign_key` -* `add_column` / `remove_column` -* `change_column_default` -* `create_table` / `drop_table` - -**注意:** `with_lock_retries`方法**不能**在`change`方法中使用,必须手动定义`up`和`down`方法以使迁移可逆. - -### How the helper method works[](#how-the-helper-method-works "Permalink") - -1. 重复 50 次. -2. 对于每次迭代,设置一个预配置的`lock_timeout` . -3. 尝试执行给定的块. ( `remove_column` ). -4. 如果出现`LockWaitTimeout`错误,请为预配置的`sleep_time`睡眠,然后重试该块. -5. 如果未引发错误,则当前迭代已成功执行该块. - -有关更多信息,请检查[`Gitlab::Database::WithLockRetries`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/database/with_lock_retries.rb)类. `with_lock_retries`帮助器方法在[`Gitlab::Database::MigrationHelpers`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/database/migration_helpers.rb)模块中实现. - -在最坏的情况下,该方法: - -* 在 40 分钟内最多执行 50 次该块. - * 大部分时间都花费在每次迭代后的预先配置的睡眠时段中. -* 第 50 次重试之后,将像标准迁移调用一样在没有`lock_timeout`情况下执行该块. -* 如果无法获取锁,则迁移将失败,并出现`statement timeout`错误. - -如果访问`users`表的事务运行时间很长(超过 40 分钟),则迁移可能会失败. - -## Multi-Threading[](#multi-threading "Permalink") - -有时,迁移可能需要使用多个 Ruby 线程来加快迁移速度. 为此,您的迁移需要包括模块`Gitlab::Database::MultiThreadedMigration` : - -``` -class MyMigration < ActiveRecord::Migration[6.0] - include Gitlab::Database::MigrationHelpers - include Gitlab::Database::MultiThreadedMigration -end -``` - -然后可以使用`with_multiple_threads`方法在单独的线程中执行工作. 例如: - -``` -class MyMigration < ActiveRecord::Migration[6.0] - include Gitlab::Database::MigrationHelpers - include Gitlab::Database::MultiThreadedMigration - - def up - with_multiple_threads(4) do - disable_statement_timeout - - # ... - end - end -end -``` - -在这里,对`disable_statement_timeout`的调用将使用`with_multiple_threads`块本地的连接,而不是重新使用全局连接池. 这样可以确保每个线程都有自己的连接对象,并且在尝试获取一个连接对象时不会超时. - -**注意:** PostgreSQL 具有允许的最大连接数. 此限制因安装而异. 因此,建议您一次迁移不要使用超过 32 个线程. 通常,4-8 个线程应该绰绰有余. - -## Removing indexes[](#removing-indexes "Permalink") - -如果删除索引时表不为空,请确保使用方法`remove_concurrent_index`而不是常规的`remove_index`方法. `remove_concurrent_index`方法同时删除索引,因此不需要锁定,也无需停机. 要使用此方法,必须通过调用方法`disable_ddl_transaction!`禁用单交易模式`disable_ddl_transaction!` 在您的迁移类的主体中,如下所示: - -``` -class MyMigration < ActiveRecord::Migration[6.0] - include Gitlab::Database::MigrationHelpers - disable_ddl_transaction! - - def up - remove_concurrent_index :table_name, :column_name - end -end -``` - -请注意,在删除索引之前不必检查索引是否存在. - -对于较小的表(例如空表或少于`1,000`条记录的表),建议在单事务迁移中使用`remove_index` ,并将其与不需要`disable_ddl_transaction!`其他操作结合使用`disable_ddl_transaction!` . - -## Adding indexes[](#adding-indexes "Permalink") - -在添加索引之前,请考虑该索引是否必要. 在某些情况下可能不需要索引,例如: - -* 该表很小(少于`1,000`条记录),并且预计大小不会成倍增长. -* 任何现有索引都会过滤掉足够的行. -* 添加索引后查询时间的减少并不明显. - -另外,不需要宽索引来匹配查询的所有过滤条件,我们只需要覆盖足够多的列即可使索引查找具有足够小的选择性. 请查看我们的[添加数据库索引](adding_database_indexes.html)指南以获取更多详细信息. - -将索引添加到非空表时,请确保使用方法`add_concurrent_index`而不是常规的`add_index`方法. 使用 PostgreSQL 时, `add_concurrent_index`方法自动创建并发索引,从而消除了停机时间. - -要使用此方法,必须通过调用方法`disable_ddl_transaction!`禁用单交易模式`disable_ddl_transaction!` 在您的迁移类的主体中,如下所示: - -``` -class MyMigration < ActiveRecord::Migration[6.0] - include Gitlab::Database::MigrationHelpers - - DOWNTIME = false - - disable_ddl_transaction! - - def up - add_concurrent_index :table, :column - end - - def down - remove_concurrent_index :table, :column - end -end -``` - -如果需要添加唯一索引,请记住,数据库中可能存在现有重复项. 这意味着在添加唯一索引之前,应始终*首先*添加一个删除所有重复项的迁移. - -对于小型表(例如空表或少于`1,000`条记录的表),建议在单事务迁移中使用`add_index` ,并将其与不需要`disable_ddl_transaction!`其他操作结合使用`disable_ddl_transaction!` . - -## Adding foreign-key constraints[](#adding-foreign-key-constraints "Permalink") - -向现有列或新列添加外键约束时,还请记住在该列上添加索引. - -这是所有外键所**必需**的,例如,为了支持有效的级联删除:当删除表中的许多行时,也需要删除引用的记录. 数据库必须在引用的表中查找相应的记录. 没有索引,这将导致对表进行顺序扫描,这可能需要很长时间. - -这是一个示例,其中我们添加了一个带有外键约束的新列. 请注意,它包括`index: true`为其创建索引. - -``` -class Migration < ActiveRecord::Migration[6.0] - - def change - add_reference :model, :other_model, index: true, foreign_key: { on_delete: :cascade } - end -end -``` - -当向非空表中的现有列添加外键约束时,我们必须使用`add_concurrent_foreign_key`和`add_concurrent_index`而不是`add_reference` . - -对于空表(例如新表),建议在单事务迁移中使用`add_reference` ,并将其与不需要`disable_ddl_transaction!`其他操作结合使用`disable_ddl_transaction!` . - -您可以阅读有关将[外键约束](database/add_foreign_key_to_existing_column.html)添加[到现有列的更多信息](database/add_foreign_key_to_existing_column.html) . - -## `NOT NULL` constraints[](#not-null-constraints "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/38358) in GitLab 13.0. - -有关更多信息,请参见关于[`NOT NULL`约束](database/not_null_constraints.html)的样式指南. - -## Adding Columns With Default Values[](#adding-columns-with-default-values "Permalink") - -PostgreSQL 11 是自 GitLab 13.0 以来的最低版本,添加具有默认值的列变得更加容易,并且在所有情况下都应使用标准的`add_column`帮助器. - -在 PostgreSQL 11 之前,添加带有默认值的列是有问题的,因为这会导致全表重写. 相应的帮助程序`add_column_with_default`已被弃用,并将在以后的版本中删除. - -**注意:**如果%12.9 或更早版本需要向后端口添加具有默认值的列,则应使用`add_column_with_default`帮助器. 如果涉及[大表](https://gitlab.com/gitlab-org/gitlab/-/blob/master/rubocop/rubocop-migrations.yml#L3) ,则禁止向后移植到%12.9. - -## Changing the column default[](#changing-the-column-default "Permalink") - -可能有人认为,使用`change_column_default`更改默认列对于较大的表来说是一项昂贵且破坏性的操作,但实际上并非如此. - -以以下迁移为例: - -``` -class DefaultRequestAccessGroups < ActiveRecord::Migration[5.2] - DOWNTIME = false - - def change - change_column_default(:namespaces, :request_access_enabled, from: false, to: true) - end -end -``` - -上面的迁移更改了我们最大的表之一的默认列值: `namespaces` . 可以将其翻译为: - -``` -ALTER TABLE namespaces -ALTER COLUMN request_access_enabled -DEFAULT false -``` - -在这种情况下,默认值存在,我们只是更改了`request_access_enabled`列的元数据,这并不意味着重写`namespaces`表中的所有现有记录. 仅当使用默认值创建新列时,所有记录才会被重写. - -**注意:** PostgresSQL 11.0 引入[了](https://www.depesz.com/2018/04/04/waiting-for-postgresql-11-fast-alter-table-add-column-with-a-non-null-default/)更快的[ALTER TABLE ADD COLUMN(具有非空默认值](https://www.depesz.com/2018/04/04/waiting-for-postgresql-11-fast-alter-table-add-column-with-a-non-null-default/) ),从而消除了在添加具有默认值的新列时重写表的需求. - -由于上述原因,在单事务迁移中使用`change_column_default`是安全的,而不需要`disable_ddl_transaction!` . - -## Updating an existing column[](#updating-an-existing-column "Permalink") - -要将现有列更新为特定值,可以使用`update_column_in_batches` . 这会将更新分为批次,因此我们不会在单个语句中更新太多行. - -这`some_column` `projects`表中的`foo`列更新为 10,其中`some_column`为`'hello'` : - -``` -update_column_in_batches(:projects, :foo, 10) do |table, query| - query.where(table[:some_column].eq('hello')) -end -``` - -如果需要计算的更新,则可以将值包装在`Arel.sql` ,因此 Arel 将其视为 SQL 文字. 这也是[Rails 6](https://gitlab.com/gitlab-org/gitlab/-/issues/28497)的必需弃用. - -下面的示例与上面的示例相同,但是该值设置为`bar`和`baz`列的乘积: - -``` -update_value = Arel.sql('bar * baz') - -update_column_in_batches(:projects, :foo, update_value) do |table, query| - query.where(table[:some_column].eq('hello')) -end -``` - -像`add_column_with_default`一样,有一个 RuboCop cop 可以检测大表上的用法. 在`update_column_in_batches`的情况下,可以在大表上运行,只要它仅更新表中行的一小部分,而在未在 GitLab.com 登台环境上进行验证的情况下不要忽略它-或事先请别人为您这样做. - -## Dropping a database table[](#dropping-a-database-table "Permalink") - -删除数据库表并不常见,Rails 提供的`drop_table`方法通常被认为是安全的. 删除表格之前,请考虑以下因素: - -如果您的表在高流量表上具有外键(如`projects` ),则`DROP TABLE`语句可能会失败,并出现**语句超时**错误. 确定哪些表是高流量可能很困难. 自我管理的实例可能会以不同的使用模式使用 GitLab 的不同功能,因此仅基于 GitLab.com 进行假设是不够的. - -表**没有记录** (功能从未使用过),也**没有外键** : - -* 只需在迁移中使用`drop_table`方法即可. - -``` -def change - drop_table :my_table -end -``` - -Table **有记录** but **没有外键**: - -* 第一版:删除与表相关的应用程序代码,例如模型,控制器和服务. -* 第二版:在迁移中使用`drop_table`方法. - -``` -def up - drop_table :my_table -end - -def down - # create_table ... -end -``` - -Table **有外键**: - -* 第一版:删除与表相关的应用程序代码,例如模型,控制器和服务. -* 第二版:使用`with_lock_retries`帮助器方法删除外键. 在另一个迁移文件中使用`drop_table` . - -**第二个版本的迁移:** - -删除`projects`表上的外键: - -``` -# first migration file - -def up - with_lock_retries do - remove_foreign_key :my_table, :projects - end -end - -def down - with_lock_retries do - add_foreign_key :my_table, :projects - end -end -``` - -放下桌子: - -``` -# second migration file - -def up - drop_table :my_table -end - -def down - # create_table ... -end -``` - -## Integer column type[](#integer-column-type "Permalink") - -默认情况下,整数列最多可容纳 4 个字节(32 位)的数字. 最大值为 2,147,483,647\. 创建一个以字节为单位保存文件大小的列时,请注意这一点. 如果以字节为单位跟踪文件大小,这会将最大文件大小限制为刚好超过 2GB. - -要允许整数列最多容纳 8 个字节(64 位)的数字,请将限制明确设置为 8 个字节. 这将使该列最多`9,223,372,036,854,775,807`个值. - -Rails 迁移示例: - -``` -add_column(:projects, :foo, :integer, default: 10, limit: 8) -``` - -## Strings and the Text data type[](#strings-and-the-text-data-type "Permalink") - -在 GitLab 13.0 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/30453) . - -有关更多信息,请参见[文本数据类型](database/strings_and_the_text_data_type.html)样式指南. - -## Timestamp column type[](#timestamp-column-type "Permalink") - -默认情况下,Rails 使用`timestamp`数据类型来存储没有时区信息的时间戳数据. 通过调用`add_timestamps`或`timestamps`方法来使用`timestamp`数据类型. - -另外,Rails 将`:datetime`数据类型转换为`timestamp`一. - -Example: - -``` -# timestamps -create_table :users do |t| - t.timestamps -end - -# add_timestamps -def up - add_timestamps :users -end - -# :datetime -def up - add_column :users, :last_sign_in, :datetime -end -``` - -代替使用这些方法,应该使用以下方法来存储带有时区的时间戳: - -* `add_timestamps_with_timezone` -* `timestamps_with_timezone` -* `datetime_with_timezone` - -这样可以确保所有时间戳都有指定的时区. 反过来,这意味着当系统的时区更改时,现有时间戳不会突然使用其他时区. 这也使得非常清楚,首先使用了哪个时区. - -## Storing JSON in database[](#storing-json-in-database "Permalink") - -Rails 5 本机支持`JSONB` (二进制 JSON)列类型. 添加此列的示例迁移: - -``` -class AddOptionsToBuildMetadata < ActiveRecord::Migration[5.0] - DOWNTIME = false - - def change - add_column :ci_builds_metadata, :config_options, :jsonb - end -end -``` - -您必须使用序列化器来提供翻译层: - -``` -class BuildMetadata - serialize :config_options, Serializers::JSON # rubocop:disable Cop/ActiveRecordSerialize -end -``` - -使用`JSONB`列时,请使用[JsonSchemaValidator](https://gitlab.com/gitlab-org/gitlab/-/blob/master/app/validators/json_schema_validator.rb)来控制随时间推移插入的数据. - -``` -class BuildMetadata - validates :config_options, json_schema: { filename: 'build_metadata_config_option' } -end -``` - -## Testing[](#testing "Permalink") - -请参阅" [测试 Rails 迁移](testing_guide/testing_migrations_guide.html)样式"指南. - -## Data migration[](#data-migration "Permalink") - -请比一般 ActiveRecord 语法更喜欢 Arel 和普通 SQL. 如果使用普通 SQL,则需要使用`quote_string` helper 手动引用所有输入. - -Arel 的示例: - -``` -users = Arel::Table.new(:users) -users.group(users[:user_id]).having(users[:id].count.gt(5)) - -#update other tables with these results -``` - -带有普通 SQL 和`quote_string`帮助器的示例: - -``` -select_all("SELECT name, COUNT(id) as cnt FROM tags GROUP BY name HAVING COUNT(id) > 1").each do |tag| - tag_name = quote_string(tag["name"]) - duplicate_ids = select_all("SELECT id FROM tags WHERE name = '#{tag_name}'").map{|tag| tag["id"]} - origin_tag_id = duplicate_ids.first - duplicate_ids.delete origin_tag_id - - execute("UPDATE taggings SET tag_id = #{origin_tag_id} WHERE tag_id IN(#{duplicate_ids.join(",")})") - execute("DELETE FROM tags WHERE id IN(#{duplicate_ids.join(",")})") -end -``` - -如果需要更复杂的逻辑,则可以定义和使用迁移本地模型. 例如: - -``` -class MyMigration < ActiveRecord::Migration[6.0] - class Project < ActiveRecord::Base - self.table_name = 'projects' - end - - def up - # Reset the column information of all the models that update the database - # to ensure the Active Record's knowledge of the table structure is current - Project.reset_column_information - - # ... ... - end -end -``` - -这样做时,请确保显式设置模型的表名,这样它就不会派生自类名或名称空间. - -最后,对于所有更新数据库的本地模型,请确保在迁移的`up`方法中运行`reset_column_information` . - -这样做的原因是所有迁移类都在开始时加载( `db:migrate`启动时),因此,如果另一个迁移更新了该模式,它们将与它们映射的表模式不同步. 这将导致在尝试插入基础表或对其进行更新时数据迁移失败,因为`ActiveRecord`将新列报告为`unknown attribute` . - -### Renaming reserved paths[](#renaming-reserved-paths "Permalink") - -引入新的项目路线时,它可能与任何现有记录冲突. 这些记录的路径应重命名,并且相关数据应在磁盘上移动. - -由于我们已经必须做几次,因此现在有一些帮助程序可以帮助您. - -要使用此功能,您可以在迁移中包括`Gitlab::Database::RenameReservedPathsMigration::V1` . 这将提供 3 种方法,您可以通过一种或多种需要拒绝的路径. - -**`rename_root_paths`** :这将使用给定名称重命名所有没有`parent_id`名称*空间*的路径. - -**`rename_child_paths`** :这将使用给定名称重命名所有具有`parent_id`名称*空间*的路径. - -**`rename_wildcard_paths`** :这将重命名所有*项目*的路径以及所有具有`project_id` *命名空间* . - -这些行的`path`列将重命名为其先前的值,后跟一个整数. 例如: `users`将变成`users0` \ No newline at end of file diff --git a/docs/564.md b/docs/564.md deleted file mode 100644 index 8599965..0000000 --- a/docs/564.md +++ /dev/null @@ -1,357 +0,0 @@ -# What requires downtime? - -> 原文:[https://docs.gitlab.com/ee/development/what_requires_downtime.html](https://docs.gitlab.com/ee/development/what_requires_downtime.html) - -* [Dropping Columns](#dropping-columns) - * [Step 1: Ignoring the column (release M)](#step-1-ignoring-the-column-release-m) - * [Step 2: Dropping the column (release M+1)](#step-2-dropping-the-column-release-m1) - * [Step 3: Removing the ignore rule (release M+2)](#step-3-removing-the-ignore-rule-release-m2) -* [Renaming Columns](#renaming-columns) - * [Step 1: Add The Regular Migration](#step-1-add-the-regular-migration) - * [Step 2: Add A Post-Deployment Migration](#step-2-add-a-post-deployment-migration) -* [Changing Column Constraints](#changing-column-constraints) -* [Changing Column Types](#changing-column-types) - * [Step 1: Create A Regular Migration](#step-1-create-a-regular-migration) - * [Step 2: Create A Post Deployment Migration](#step-2-create-a-post-deployment-migration) - * [Casting data to a new type](#casting-data-to-a-new-type) -* [Changing The Schema For Large Tables](#changing-the-schema-for-large-tables) -* [Adding Indexes](#adding-indexes) -* [Dropping Indexes](#dropping-indexes) -* [Adding Tables](#adding-tables) -* [Dropping Tables](#dropping-tables) -* [Renaming Tables](#renaming-tables) -* [Adding Foreign Keys](#adding-foreign-keys) -* [Removing Foreign Keys](#removing-foreign-keys) -* [Data Migrations](#data-migrations) - -# What requires downtime?[](#what-requires-downtime "Permalink") - -使用数据库时,可以在不使 GitLab 脱机的情况下执行某些操作,其他操作确实需要停机时间. 本指南介绍了各种操作,其影响以及如何在不停机的情况下执行这些操作. - -## Dropping Columns[](#dropping-columns "Permalink") - -删除列很棘手,因为正在运行的 GitLab 进程可能仍在使用这些列. 为了安全地解决此问题,您需要在三个版本中执行三个步骤: - -1. 忽略列(版本 M) -2. 删除列(版本 M + 1) -3. 删除忽略规则(版本 M + 2) - -之所以将其分布在三个发行版中,是因为删除列是一种破坏性操作,不易回滚. - -遵循此过程可帮助我们确保没有部署到 GitLab.com 并升级将这些步骤集中在一起的自我管理安装的过程. - -### Step 1: Ignoring the column (release M)[](#step-1-ignoring-the-column-release-m "Permalink") - -第一步是忽略应用程序代码中的列. 这是必要的,因为 Rails 缓存列并在各个地方重复使用此缓存. 这可以通过定义要忽略的列来完成. 例如,要忽略用户模型中的`updated_at` ,请使用以下命令: - -``` -class User < ApplicationRecord - include IgnorableColumns - ignore_column :updated_at, remove_with: '12.7', remove_after: '2019-12-22' -end -``` - -多列也可以忽略: - -``` -ignore_columns %i[updated_at created_at], remove_with: '12.7', remove_after: '2019-12-22' -``` - -我们要求通过以下方式指示何时可以安全地删除列忽略: - -* `remove_with` :设置为 GitLab 版本,通常在添加列忽略后两个版本(M + 2). -* `remove_after` :设置为一个日期,在该日期之后,我们认为通常可以在 M + 2 版本的开发周期内删除列忽略项. - -这些信息使我们能够更好地推理列忽略,并确保对于常规发行版和部署到 GitLab.com 而言,我们都不会过早删除列忽略. 例如,这避免了我们部署大量更改的情况,其中包括同时忽略列的更改和随后删除列忽略的更改(这将导致停机). - -在此示例中,忽略列的更改在 12.5 版中进行. - -### Step 2: Dropping the column (release M+1)[](#step-2-dropping-the-column-release-m1 "Permalink") - -继续我们的示例,删除该列将进入版本 12.6 中*的部署后*迁移: - -``` - remove_column :user, :updated_at -``` - -### Step 3: Removing the ignore rule (release M+2)[](#step-3-removing-the-ignore-rule-release-m2 "Permalink") - -在下一个版本中,在此示例 12.7 中,我们设置了另一个合并请求以删除忽略规则. 这将删除`ignore_column`行,并且如果不再需要,还将`IgnoreableColumns` . - -只有在`remove_after`日期过去之后,才应将其与`remove_with`指示的发行版合并. - -## Renaming Columns[](#renaming-columns "Permalink") - -重命名列通常需要停机,因为在数据库迁移期间/之后,应用程序可能会继续使用旧的列名称. 要在不停机的情况下重命名列,我们需要两个迁移:常规迁移和部署后迁移. 这些迁移都可以在同一版本中进行. - -### Step 1: Add The Regular Migration[](#step-1-add-the-regular-migration "Permalink") - -首先,我们需要创建常规迁移. 此迁移应当前使用`Gitlab::Database::MigrationHelpers#rename_column_concurrently`来执行重命名. 例如 - -``` -# A regular migration in db/migrate -class RenameUsersUpdatedAtToUpdatedAtTimestamp < ActiveRecord::Migration[4.2] - include Gitlab::Database::MigrationHelpers - - disable_ddl_transaction! - - def up - rename_column_concurrently :users, :updated_at, :updated_at_timestamp - end - - def down - undo_rename_column_concurrently :users, :updated_at, :updated_at_timestamp - end -end -``` - -这将负责重命名列,确保数据保持同步,通过索引和外键进行复制等. - -**注意:**如果一列包含 1 个或多个不包含原始列名称的索引,则上述过程将失败. 在这种情况下,您首先需要重命名这些索引. - -### Step 2: Add A Post-Deployment Migration[](#step-2-add-a-post-deployment-migration "Permalink") - -重命名过程需要在部署后迁移中进行一些清理. 我们可以使用`Gitlab::Database::MigrationHelpers#cleanup_concurrent_column_rename`来执行此清理: - -``` -# A post-deployment migration in db/post_migrate -class CleanupUsersUpdatedAtRename < ActiveRecord::Migration[4.2] - include Gitlab::Database::MigrationHelpers - - disable_ddl_transaction! - - def up - cleanup_concurrent_column_rename :users, :updated_at, :updated_at_timestamp - end - - def down - undo_cleanup_concurrent_column_rename :users, :updated_at, :updated_at_timestamp - end -end -``` - -**注意:**如果要重命名[大表](https://gitlab.com/gitlab-org/gitlab/-/blob/master/rubocop/rubocop-migrations.yml#L3) ,请仔细考虑第一次迁移已运行但第二次清理迁移尚未运行的状态. 使用[Canary](https://about.gitlab.com/handbook/engineering/infrastructure/library/canary/) ,系统可能会在此状态下运行大量时间. - -## Changing Column Constraints[](#changing-column-constraints "Permalink") - -通常,无需停机即可添加或删除`NOT NULL`子句(或其他约束). 但是,这确实需要*首先*部署所有应用程序更改. 因此,在部署后的迁移中应该发生更改列约束的情况. - -避免使用`change_column`因为它会产生无效查询,因为它会重新定义整个列类型. - -您可以针对每个特定用例查看以下指南: - -* [Adding foreign-key constraints](migration_style_guide.html#adding-foreign-key-constraints) -* [Adding `NOT NULL` constraints](database/not_null_constraints.html) -* [Adding limits to text columns](database/strings_and_the_text_data_type.html) - -## Changing Column Types[](#changing-column-types "Permalink") - -可以使用`Gitlab::Database::MigrationHelpers#change_column_type_concurrently`来更改列的类型. 此方法的工作方式与`rename_column_concurrently`类似. 例如,假设我们要将`users.username`的类型从`string`更改为`text` . - -### Step 1: Create A Regular Migration[](#step-1-create-a-regular-migration "Permalink") - -常规迁移用于创建具有临时名称的新列,并设置一些触发器以使数据保持同步. 这样的迁移如下所示: - -``` -# A regular migration in db/migrate -class ChangeUsersUsernameStringToText < ActiveRecord::Migration[4.2] - include Gitlab::Database::MigrationHelpers - - disable_ddl_transaction! - - def up - change_column_type_concurrently :users, :username, :text - end - - def down - cleanup_concurrent_column_type_change :users, :username - end -end -``` - -### Step 2: Create A Post Deployment Migration[](#step-2-create-a-post-deployment-migration "Permalink") - -接下来,我们需要使用部署后迁移来清理更改: - -``` -# A post-deployment migration in db/post_migrate -class ChangeUsersUsernameStringToTextCleanup < ActiveRecord::Migration[4.2] - include Gitlab::Database::MigrationHelpers - - disable_ddl_transaction! - - def up - cleanup_concurrent_column_type_change :users, :username - end - - def down - change_column_type_concurrently :users, :username, :string - end -end -``` - -就是这样,我们完成了! - -### Casting data to a new type[](#casting-data-to-a-new-type "Permalink") - -某些类型更改需要将数据转换为新类型. 例如,从`text`更改为`jsonb` . 在这种情况下,请使用`type_cast_function`选项. 确保没有不良数据,并且投射将始终成功. 您还可以提供一个自定义函数来处理转换错误. - -迁移示例: - -``` - def up - change_column_type_concurrently :users, :settings, :jsonb, type_cast_function: 'jsonb' - end -``` - -## Changing The Schema For Large Tables[](#changing-the-schema-for-large-tables "Permalink") - -虽然`change_column_type_concurrently`和`rename_column_concurrently`可以用于在`rename_column_concurrently`机的情况下更改表的架构,但对于大型表来说,效果并不理想. 由于所有工作都是按顺序进行的,因此迁移可能需要很长时间才能完成,从而阻止了部署的进行. 由于数据库按顺序快速更新许多行,因此它们也可能给数据库带来很大压力. - -为减轻数据库压力,在迁移大表中的列时(例如`issues` ),应改用`change_column_type_using_background_migration`或`rename_column_using_background_migration` . 这些方法的工作方式与并发的类似,但是使用后台迁移将工作/负载分散在更长的时间段内,而不会减慢部署速度. - -例如,要使用后台迁移来更改列类型: - -``` -class ExampleMigration < ActiveRecord::Migration[4.2] - include Gitlab::Database::MigrationHelpers - - disable_ddl_transaction! - - class Issue < ActiveRecord::Base - self.table_name = 'issues' - - include EachBatch - - def self.to_migrate - where('closed_at IS NOT NULL') - end - end - - def up - change_column_type_using_background_migration( - Issue.to_migrate, - :closed_at, - :datetime_with_timezone - ) - end - - def down - change_column_type_using_background_migration( - Issue.to_migrate, - :closed_at, - :datetime - ) - end -end -``` - -这将将`issues.closed_at`的类型更改为`timestamp with time zone` . - -请记住,传递给`change_column_type_using_background_migration`的关系*必须*包含`EachBatch` ,否则将引发`TypeError` . - -然后,此迁移需要在单独的发行版( *而不是*补丁程序发行版)中进行清除迁移,该清除迁移应从队列中窃取并处理所有剩余的行. 例如: - -``` -class MigrateRemainingIssuesClosedAt < ActiveRecord::Migration[4.2] - include Gitlab::Database::MigrationHelpers - - DOWNTIME = false - - disable_ddl_transaction! - - class Issue < ActiveRecord::Base - self.table_name = 'issues' - include EachBatch - end - - def up - Gitlab::BackgroundMigration.steal('CopyColumn') - Gitlab::BackgroundMigration.steal('CleanupConcurrentTypeChange') - - migrate_remaining_rows if migrate_column_type? - end - - def down - # Previous migrations already revert the changes made here. - end - - def migrate_remaining_rows - Issue.where('closed_at_for_type_change IS NULL AND closed_at IS NOT NULL').each_batch do |batch| - batch.update_all('closed_at_for_type_change = closed_at') - end - - cleanup_concurrent_column_type_change(:issues, :closed_at) - end - - def migrate_column_type? - # Some environments may have already executed the previous version of this - # migration, thus we don't need to migrate those environments again. - column_for('issues', 'closed_at').type == :datetime # rubocop:disable Migration/Datetime - end -end -``` - -这同样适用于`rename_column_using_background_migration` : - -1. 使用帮助程序创建迁移,该迁移将安排后台迁移以将写入分散在更长的时间范围内. -2. 在下一个每月发行版中,创建清理迁移以从 Sidekiq 队列中窃取,迁移所有丢失的行并清理重命名. 如果该列已被重命名,则此迁移应在从 Sidekiq 队列中窃取后跳过步骤. - -有关更多信息,请参阅[有关清理后台迁移的文档](background_migrations.html#cleaning-up) . - -## Adding Indexes[](#adding-indexes "Permalink") - -使用`add_concurrent_index`时,添加索引不需要停机. - -另请参阅《 [迁移样式指南》](migration_style_guide.html#adding-indexes) . - -## Dropping Indexes[](#dropping-indexes "Permalink") - -删除索引不需要停机. - -## Adding Tables[](#adding-tables "Permalink") - -此操作是安全的,因为还没有使用该表的代码. - -## Dropping Tables[](#dropping-tables "Permalink") - -使用部署后迁移可以安全地完成删除表的操作,但前提是应用程序不再使用该表. - -## Renaming Tables[](#renaming-tables "Permalink") - -重命名表需要停机,因为在数据库迁移期间/之后,应用程序可能会继续使用旧表名. - -## Adding Foreign Keys[](#adding-foreign-keys "Permalink") - -添加外键通常需要 3 个步骤: - -1. 开始交易 -2. 运行`ALTER TABLE`添加约束 -3. 检查所有现有数据 - -因为`ALTER TABLE`通常会在事务结束之前获取独占锁,所以这意味着该方法将需要停机. - -GitLab allows you to work around this by using `Gitlab::Database::MigrationHelpers#add_concurrent_foreign_key`. This method ensures that no downtime is needed. - -## Removing Foreign Keys[](#removing-foreign-keys "Permalink") - -此操作不需要停机. - -## Data Migrations[](#data-migrations "Permalink") - -数据迁移可能很棘手. 迁移数据的通常方法是采取 3 个步骤: - -1. 迁移初始数据 -2. 部署应用程序代码 -3. 迁移所有剩余数据 - -通常这有效,但并非总是如此. 例如,如果要将字段的格式从 JSON 更改为其他格式,我们会遇到一些问题. 如果我们在部署应用程序代码之前更改现有数据,则很可能会遇到错误. 另一方面,如果我们在部署应用程序代码后进行迁移,则可能会遇到相同的问题. - -如果您只需要更正一些无效数据,则部署后迁移通常就足够了. 如果您需要更改数据格式(例如,从 JSON 更改为其他格式),通常最好为新数据格式添加一个新列,然后让应用程序使用该列. 在这种情况下,程序将是: - -1. 以新格式添加新列 -2. 将现有数据复制到此新列 -3. 部署应用程序代码 -4. In a post-deployment migration, copy over any remaining data - -通常,没有一个万能的解决方案,因此最好在合并请求中讨论此类迁移,以确保以最佳方式实现它们. \ No newline at end of file diff --git a/docs/565.md b/docs/565.md deleted file mode 100644 index a01e6aa..0000000 --- a/docs/565.md +++ /dev/null @@ -1,647 +0,0 @@ -# Understanding EXPLAIN plans - -> 原文:[https://docs.gitlab.com/ee/development/understanding_explain_plans.html](https://docs.gitlab.com/ee/development/understanding_explain_plans.html) - -* [Nodes](#nodes) -* [Node statistics](#node-statistics) -* [Node types](#node-types) - * [Seq Scan](#seq-scan) - * [Index Only Scan](#index-only-scan) - * [Index Scan](#index-scan) - * [Bitmap Index Scan and Bitmap Heap scan](#bitmap-index-scan-and-bitmap-heap-scan) - * [Limit](#limit) - * [Sort](#sort) - * [Nested Loop](#nested-loop) -* [Optimising queries](#optimising-queries) -* [Queries that can’t be optimised](#queries-that-cant-be-optimised) - * [Cardinality and selectivity](#cardinality-and-selectivity) -* [Rewriting queries](#rewriting-queries) -* [What makes a bad plan](#what-makes-a-bad-plan) -* [Producing query plans](#producing-query-plans) - * [Rails console](#rails-console) - * [ChatOps](#chatops) - * [`#database-lab`](#database-lab) - * [Tips & Tricks](#tips--tricks) -* [Further reading](#further-reading) - -# Understanding EXPLAIN plans[](#understanding-explain-plans "Permalink") - -PostgreSQL 允许您使用`EXPLAIN`命令获得查询计划. 尝试确定查询的执行方式时,此命令非常有用. 您可以在 SQL 查询中直接使用此命令,只要查询以它开头即可: - -``` -EXPLAIN -SELECT COUNT(*) -FROM projects -WHERE visibility_level IN (0, 20); -``` - -在 GitLab.com 上运行时,将显示以下输出: - -``` -Aggregate (cost=922411.76..922411.77 rows=1 width=8) - -> Seq Scan on projects (cost=0.00..908044.47 rows=5746914 width=0) - Filter: (visibility_level = ANY ('{0,20}'::integer[])) -``` - -当*仅*使用`EXPLAIN` ,PostgreSQL 实际上不会执行我们的查询,而是会根据可用的统计信息生成一个*估计的*执行计划. 这意味着实际计划可能相差很大. 幸运的是,PostgreSQL 还为我们提供了执行查询的选项. 为此,我们需要使用`EXPLAIN ANALYZE`而不是`EXPLAIN` : - -``` -EXPLAIN ANALYZE -SELECT COUNT(*) -FROM projects -WHERE visibility_level IN (0, 20); -``` - -这将产生: - -``` -Aggregate (cost=922420.60..922420.61 rows=1 width=8) (actual time=3428.535..3428.535 rows=1 loops=1) - -> Seq Scan on projects (cost=0.00..908053.18 rows=5746969 width=0) (actual time=0.041..2987.606 rows=5746940 loops=1) - Filter: (visibility_level = ANY ('{0,20}'::integer[])) - Rows Removed by Filter: 65677 -Planning time: 2.861 ms -Execution time: 3428.596 ms -``` - -如我们所见,该计划是完全不同的,并且包含许多数据. 让我们逐步讨论一下. - -由于`EXPLAIN ANALYZE`执行查询,因此在使用会写入数据或可能会超时的查询时应`EXPLAIN ANALYZE`小心. 如果查询修改了数据,请考虑将其包装在自动回滚的事务中,如下所示: - -``` -BEGIN; -EXPLAIN ANALYZE -DELETE FROM users WHERE id = 1; -ROLLBACK; -``` - -`EXPLAIN`命令还包含其他选项,例如`BUFFERS` : - -``` -EXPLAIN (ANALYZE, BUFFERS) -SELECT COUNT(*) -FROM projects -WHERE visibility_level IN (0, 20); -``` - -然后将产生: - -``` -Aggregate (cost=922420.60..922420.61 rows=1 width=8) (actual time=3428.535..3428.535 rows=1 loops=1) - Buffers: shared hit=208846 - -> Seq Scan on projects (cost=0.00..908053.18 rows=5746969 width=0) (actual time=0.041..2987.606 rows=5746940 loops=1) - Filter: (visibility_level = ANY ('{0,20}'::integer[])) - Rows Removed by Filter: 65677 - Buffers: shared hit=208846 -Planning time: 2.861 ms -Execution time: 3428.596 ms -``` - -有关更多信息,请参阅官方的[`EXPLAIN`文档](https://s0www0postgresql0org.icopy.site/docs/current/sql-explain.html)并[使用`EXPLAIN`指南](https://s0www0postgresql0org.icopy.site/docs/current/using-explain.html) . - -## Nodes[](#nodes "Permalink") - -每个查询计划都由节点组成. 节点可以嵌套,并且可以由内而外执行. 这意味着最内部的节点在外部节点之前执行. 最好将其视为嵌套函数调用,并在展开时返回其结果. 例如,一个计划以`Aggregate`开头,然后是`Nested Loop` ,然后是`Index Only scan`可以认为是以下 Ruby 代码: - -``` -aggregate( - nested_loop( - index_only_scan() - index_only_scan() - ) -) -``` - -节点使用`->`表示,后跟所采用的节点类型. 例如: - -``` -Aggregate (cost=922411.76..922411.77 rows=1 width=8) - -> Seq Scan on projects (cost=0.00..908044.47 rows=5746914 width=0) - Filter: (visibility_level = ANY ('{0,20}'::integer[])) -``` - -这里执行的第一个节点是`Seq scan on projects` . `Filter:`是应用于节点结果的附加过滤器. 过滤器与 Ruby 的`Array#select`非常相似:它接受输入行,应用过滤器,并生成新的行列表. 节点完成后,我们将在其上方执行`Aggregate` . - -嵌套节点将如下所示: - -``` -Aggregate (cost=176.97..176.98 rows=1 width=8) (actual time=0.252..0.252 rows=1 loops=1) - Buffers: shared hit=155 - -> Nested Loop (cost=0.86..176.75 rows=87 width=0) (actual time=0.035..0.249 rows=36 loops=1) - Buffers: shared hit=155 - -> Index Only Scan using users_pkey on users users_1 (cost=0.43..4.95 rows=87 width=4) (actual time=0.029..0.123 rows=36 loops=1) - Index Cond: (id < 100) - Heap Fetches: 0 - -> Index Only Scan using users_pkey on users (cost=0.43..1.96 rows=1 width=4) (actual time=0.003..0.003 rows=1 loops=36) - Index Cond: (id = users_1.id) - Heap Fetches: 0 -Planning time: 2.585 ms -Execution time: 0.310 ms -``` - -在这里,我们首先执行两次单独的"仅索引"扫描,然后对这两次扫描的结果执行"嵌套循环". - -## Node statistics[](#node-statistics "Permalink") - -计划中的每个节点都有一组关联的统计信息,例如成本,产生的行数,执行的循环数等等. 例如: - -``` -Seq Scan on projects (cost=0.00..908044.47 rows=5746914 width=0) -``` - -在这里,我们可以看到我们的成本范围为`0.00..908044.47` (稍后我们将对此进行介绍),并且我们估计(因为我们使用的是`EXPLAIN`而不是`EXPLAIN ANALYZE` ),因此此节点将产生总计 5,746,914 行. `width`统计信息描述了每行的估计宽度,以字节为单位. - -`costs`字段指定节点的价格. 成本以查询计划者的成本参数确定的任意单位衡量. 影响成本的因素取决于各种设置,例如`seq_page_cost` , `cpu_tuple_cost`和其他各种设置. 费用字段的格式如下: - -``` -STARTUP COST..TOTAL COST -``` - -The startup cost states how expensive it was to start the node, with the total cost describing how expensive the entire node was. In general: the greater the values, the more expensive the node. - -使用`EXPLAIN ANALYZE` ,这些统计信息还将包括实际花费的时间(以毫秒为单位)以及其他运行时统计信息(例如,产生的行的实际数量): - -``` -Seq Scan on projects (cost=0.00..908053.18 rows=5746969 width=0) (actual time=0.041..2987.606 rows=5746940 loops=1) -``` - -在这里我们可以看到估计返回了 5,746,969 行,但实际上,我们返回了 5,746,940 行. 我们还可以看到, *仅*此顺序扫描就花费了 2.98 秒. - -使用`EXPLAIN (ANALYZE, BUFFERS)`还将为我们提供有关由过滤器删除的行数,使用的缓冲区数等信息. 例如: - -``` -Seq Scan on projects (cost=0.00..908053.18 rows=5746969 width=0) (actual time=0.041..2987.606 rows=5746940 loops=1) - Filter: (visibility_level = ANY ('{0,20}'::integer[])) - Rows Removed by Filter: 65677 - Buffers: shared hit=208846 -``` - -在这里,我们可以看到我们的过滤器必须删除 65,677 行,并使用 208,846 个缓冲区. PostgreSQL 中的每个缓冲区都是 8 KB(8192 字节),这意味着我们上面的节点使用*1.6 GB 的缓冲区* . 好多啊! - -## Node types[](#node-types "Permalink") - -有很多不同类型的节点,因此我们在这里仅介绍一些较常见的节点. - -可以在[PostgreSQL 源文件`plannodes.h`](https://gitlab.com/postgres/postgres/blob/master/src/include/nodes/plannodes.h)找到所有可用节点及其描述的完整列表. - -### Seq Scan[](#seq-scan "Permalink") - -对数据库表(的一部分)进行顺序扫描. 这类似于使用`Array#each` ,但是在数据库表上. 检索大量行时,顺序扫描可能会非常慢,因此,对于大型表,最好避免使用这些扫描. - -### Index Only Scan[](#index-only-scan "Permalink") - -对不需要从表中获取任何内容的索引进行的扫描. 在某些情况下,仅索引扫描仍可能从表中获取数据,在这种情况下,节点将包含" `Heap Fetches:`统计信息. - -### Index Scan[](#index-scan "Permalink") - -对索引的扫描,该索引需要从表中检索一些数据. - -### Bitmap Index Scan and Bitmap Heap scan[](#bitmap-index-scan-and-bitmap-heap-scan "Permalink") - -位图扫描介于顺序扫描和索引扫描之间. 当我们从索引扫描中读取太多数据但执行顺序扫描时读取的数据太少时,通常会使用它们. 位图扫描使用所谓的[位图索引](https://en.wikipedia.org/wiki/Bitmap_index)来执行其工作. - -[PostgreSQL](https://gitlab.com/postgres/postgres/blob/REL_11_STABLE/src/include/nodes/plannodes.h#L441)的[源代码在位](https://gitlab.com/postgres/postgres/blob/REL_11_STABLE/src/include/nodes/plannodes.h#L441)图扫描中指出以下内容: - -> 位图索引扫描提供潜在元组位置的位图; 它不访问堆本身. 该位图可能由祖先位图堆扫描节点使用,可能是在经过中间位图和和/或位图或节点之后将其与其他位图索引扫描的结果组合在一起的. - -### Limit[](#limit "Permalink") - -在输入行上应用`LIMIT` . - -### Sort[](#sort "Permalink") - -使用`ORDER BY`语句对输入行进行排序. - -### Nested Loop[](#nested-loop "Permalink") - -嵌套循环将针对其前面的节点产生的每一行执行其子节点. 例如: - -``` --> Nested Loop (cost=0.86..176.75 rows=87 width=0) (actual time=0.035..0.249 rows=36 loops=1) - Buffers: shared hit=155 - -> Index Only Scan using users_pkey on users users_1 (cost=0.43..4.95 rows=87 width=4) (actual time=0.029..0.123 rows=36 loops=1) - Index Cond: (id < 100) - Heap Fetches: 0 - -> Index Only Scan using users_pkey on users (cost=0.43..1.96 rows=1 width=4) (actual time=0.003..0.003 rows=1 loops=36) - Index Cond: (id = users_1.id) - Heap Fetches: 0 -``` - -在这里,第一个子节点( `Index Only Scan using users_pkey on users users_1` )产生 36 行,并执行一次( `rows=36 loops=1` ). 下一个节点产生 1 行( `rows=1` ),但重复 36 次( `loops=36` ). 这是因为前一个节点产生了 36 行. - -这意味着,如果各个子节点继续产生许多行,则嵌套循环会迅速降低查询速度. - -## Optimising queries[](#optimising-queries "Permalink") - -顺便说一句,让我们看看如何优化查询. 让我们以以下查询为例: - -``` -SELECT COUNT(*) -FROM users -WHERE twitter != ''; -``` - -该查询仅计算设置了 Twitter 个人资料的用户数. 让我们使用`EXPLAIN (ANALYZE, BUFFERS)`运行它: - -``` -EXPLAIN (ANALYZE, BUFFERS) -SELECT COUNT(*) -FROM users -WHERE twitter != ''; -``` - -这将产生以下计划: - -``` -Aggregate (cost=845110.21..845110.22 rows=1 width=8) (actual time=1271.157..1271.158 rows=1 loops=1) - Buffers: shared hit=202662 - -> Seq Scan on users (cost=0.00..844969.99 rows=56087 width=0) (actual time=0.019..1265.883 rows=51833 loops=1) - Filter: ((twitter)::text <> ''::text) - Rows Removed by Filter: 2487813 - Buffers: shared hit=202662 -Planning time: 0.390 ms -Execution time: 1271.180 ms -``` - -从该查询计划中,我们可以看到以下内容: - -1. 我们需要对`users`表执行顺序扫描. -2. 此顺序扫描使用`Filter`过滤掉 2,487,813 行. -3. 我们使用 202,622 个缓冲区,相当于 1.58 GB 的内存. -4. 完成所有这些操作需要 1.2 秒. - -考虑到我们只是在计算用户,这是相当昂贵的! - -在开始进行任何更改之前,让我们看一下`users`表上是否有可以使用的现有索引. 我们可以通过在`psql`控制台中运行`\d users` ,然后向下滚动至`Indexes:`部分来获取此信息: - -``` -Indexes: - "users_pkey" PRIMARY KEY, btree (id) - "index_users_on_confirmation_token" UNIQUE, btree (confirmation_token) - "index_users_on_email" UNIQUE, btree (email) - "index_users_on_reset_password_token" UNIQUE, btree (reset_password_token) - "index_users_on_static_object_token" UNIQUE, btree (static_object_token) - "index_users_on_unlock_token" UNIQUE, btree (unlock_token) - "index_on_users_name_lower" btree (lower(name::text)) - "index_users_on_accepted_term_id" btree (accepted_term_id) - "index_users_on_admin" btree (admin) - "index_users_on_created_at" btree (created_at) - "index_users_on_email_trigram" gin (email gin_trgm_ops) - "index_users_on_feed_token" btree (feed_token) - "index_users_on_group_view" btree (group_view) - "index_users_on_incoming_email_token" btree (incoming_email_token) - "index_users_on_managing_group_id" btree (managing_group_id) - "index_users_on_name" btree (name) - "index_users_on_name_trigram" gin (name gin_trgm_ops) - "index_users_on_public_email" btree (public_email) WHERE public_email::text <> ''::text - "index_users_on_state" btree (state) - "index_users_on_state_and_user_type" btree (state, user_type) - "index_users_on_unconfirmed_email" btree (unconfirmed_email) WHERE unconfirmed_email IS NOT NULL - "index_users_on_user_type" btree (user_type) - "index_users_on_username" btree (username) - "index_users_on_username_trigram" gin (username gin_trgm_ops) - "tmp_idx_on_user_id_where_bio_is_filled" btree (id) WHERE COALESCE(bio, ''::character varying)::text IS DISTINCT FROM ''::text -``` - -在这里,我们可以看到`twitter`列上没有索引,这意味着 PostgreSQL 在这种情况下必须执行顺序扫描. 让我们尝试通过添加以下索引来解决此问题: - -``` -CREATE INDEX CONCURRENTLY twitter_test ON users (twitter); -``` - -如果现在使用`EXPLAIN (ANALYZE, BUFFERS)`重新运行查询`EXPLAIN (ANALYZE, BUFFERS)`得到以下计划: - -``` -Aggregate (cost=61002.82..61002.83 rows=1 width=8) (actual time=297.311..297.312 rows=1 loops=1) - Buffers: shared hit=51854 dirtied=19 - -> Index Only Scan using twitter_test on users (cost=0.43..60873.13 rows=51877 width=0) (actual time=279.184..293.532 rows=51833 loops=1) - Filter: ((twitter)::text <> ''::text) - Rows Removed by Filter: 2487830 - Heap Fetches: 26037 - Buffers: shared hit=51854 dirtied=19 -Planning time: 0.191 ms -Execution time: 297.334 ms -``` - -现在获取数据只需不到 300 毫秒,而不是 1.2 秒. 但是,我们仍然使用 51,854 个缓冲区,这大约是 400 MB 的内存. 对于这种简单的查询,300 毫秒的速度也很慢. 要了解为什么此查询仍然昂贵,让我们看一下以下内容: - -``` -Index Only Scan using twitter_test on users (cost=0.43..60873.13 rows=51877 width=0) (actual time=279.184..293.532 rows=51833 loops=1) - Filter: ((twitter)::text <> ''::text) - Rows Removed by Filter: 2487830 -``` - -我们从仅对索引进行索引扫描开始,但是我们仍然以某种方式应用了`Filter` ,该过滤`Filter`可过滤掉 2,487,830 行. 这是为什么? 好,让我们看一下如何创建索引: - -``` -CREATE INDEX CONCURRENTLY twitter_test ON users (twitter); -``` - -我们只是简单地告诉 PostgreSQL 索引`twitter`列的所有可能值,甚至是空字符串. 我们的查询反过来使用`WHERE twitter != ''` . 这意味着索引确实可以改善事情,因为我们不需要进行顺序扫描,但是我们仍然可能会遇到空字符串. 这意味着 PostgreSQL *必须*对索引结果应用过滤器以摆脱这些值. - -幸运的是,我们可以使用"部分索引"来进一步改善它. 部分索引是在索引数据时具有`WHERE`条件的索引. 例如: - -``` -CREATE INDEX CONCURRENTLY some_index ON users (email) WHERE id < 100 -``` - -该索引仅索引与`WHERE id < 100`相匹配的行的`email`值. 我们可以使用部分索引将我们的 Twitter 索引更改为以下内容: - -``` -CREATE INDEX CONCURRENTLY twitter_test ON users (twitter) WHERE twitter != ''; -``` - -创建后,如果再次运行查询,将得到以下计划: - -``` -Aggregate (cost=1608.26..1608.27 rows=1 width=8) (actual time=19.821..19.821 rows=1 loops=1) - Buffers: shared hit=44036 - -> Index Only Scan using twitter_test on users (cost=0.41..1479.71 rows=51420 width=0) (actual time=0.023..15.514 rows=51833 loops=1) - Heap Fetches: 1208 - Buffers: shared hit=44036 -Planning time: 0.123 ms -Execution time: 19.848 ms -``` - -*好多了* ! 现在仅需要 20 毫秒即可获取数据,并且我们仅使用约 344 MB 的缓冲区(而不是原始的 1.58 GB). 之所以可行,是因为现在 PostgreSQL 不再需要应用`Filter` ,因为索引仅包含不为空的`twitter`值. - -请记住,每次您要优化查询时,不应该只添加部分索引. 每个索引都必须为每次写入更新,并且它们可能需要相当多的空间,具体取决于索引数据的数量. 结果,首先检查是否存在可以重用的现有索引. 如果没有,请检查是否可以略微更改现有查询以适合现有查询和新查询. 仅当现有索引无法以任何方式使用时,才添加新索引. - -## Queries that can’t be optimised[](#queries-that-cant-be-optimised "Permalink") - -既然我们已经了解了如何优化查询,让我们看一下可能无法优化的另一个查询: - -``` -EXPLAIN (ANALYZE, BUFFERS) -SELECT COUNT(*) -FROM projects -WHERE visibility_level IN (0, 20); -``` - -`EXPLAIN (ANALYZE, BUFFERS)`的输出如下: - -``` -Aggregate (cost=922420.60..922420.61 rows=1 width=8) (actual time=3428.535..3428.535 rows=1 loops=1) - Buffers: shared hit=208846 - -> Seq Scan on projects (cost=0.00..908053.18 rows=5746969 width=0) (actual time=0.041..2987.606 rows=5746940 loops=1) - Filter: (visibility_level = ANY ('{0,20}'::integer[])) - Rows Removed by Filter: 65677 - Buffers: shared hit=208846 -Planning time: 2.861 ms -Execution time: 3428.596 ms -``` - -查看输出,我们看到以下过滤器: - -``` -Filter: (visibility_level = ANY ('{0,20}'::integer[])) -Rows Removed by Filter: 65677 -``` - -查看过滤器删除的行数,我们可能会想在`projects.visibility_level`上添加索引,以某种方式将此顺序扫描+过滤器转换为仅索引扫描. - -不幸的是,这样做不可能改善任何事情. 与某些人的看法相反,存在索引*并不能保证* PostgreSQL 会实际使用它. 例如,在执行`SELECT * FROM projects`时,仅扫描整个表而不是使用索引然后从表中获取数据要便宜得多. 在这种情况下,PostgreSQL 可能会决定不使用索引. - -其次,让我们考虑一下查询的作用:它使所有项目的可见性级别为 0 或 20.在上面的计划中,我们可以看到生成了很多行(5,745,940),但相对于总行数是多少? 通过运行以下查询来找出答案: - -``` -SELECT visibility_level, count(*) AS amount -FROM projects -GROUP BY visibility_level -ORDER BY visibility_level ASC; -``` - -对于 GitLab.com,这将产生: - -``` - visibility_level | amount -------------------+--------- - 0 | 5071325 - 10 | 65678 - 20 | 674801 -``` - -这里的项目总数为 5,811,804,其中 5,746,126 为 0 或 20 级.这是整个表的 98%! - -因此,无论我们做什么,此查询都将检索整个表的 98%. 由于大部分时间都花在做到这一点上,因此除了*完全不*运行查询之外,我们几乎没有其他方法可以改进此查询. - -这里重要的是,尽管有些人可能建议您在看到顺序扫描时立即直接添加索引,但*更重要的*是首先了解查询的功能,检索的数据量等等. 毕竟,您无法优化您不了解的内容. - -### Cardinality and selectivity[](#cardinality-and-selectivity "Permalink") - -早先我们看到查询必须检索表中 98%的行. 数据库通常使用两个术语:基数和选择性. 基数是指表中特定列中唯一值的数量. - -选择性是相对于总行数,操作(例如索引扫描或过滤器)产生的唯一值的数量. 选择性越高,PostgreSQL 使用索引的可能性就越大. - -In the above example, there are only 3 unique values: 0, 10, and 20\. This means the cardinality is 3\. The selectivity in turn is also very low: 0.0000003% (2 / 5,811,804), because our `Filter` only filters using two values (`0` and `20`). With such a low selectivity value it’s not surprising that PostgreSQL decides using an index is not worth it, because it would produce almost no unique rows. - -## Rewriting queries[](#rewriting-queries "Permalink") - -因此,上述查询无法真正按原样进行优化,或者至少没有太多优化. 但是,如果我们稍微改变它的目的怎么办? 如果不是检索`visibility_level` 0 或 20 的所有项目,而是检索用户与之交互的那些项目,该怎么办? - -幸运的是,GitLab 对此有一个答案,它是一个名为`user_interacted_projects`的表. 该表具有以下架构: - -``` -Table "public.user_interacted_projects" - Column | Type | Modifiers -------------+---------+----------- - user_id | integer | not null - project_id | integer | not null -Indexes: - "index_user_interacted_projects_on_project_id_and_user_id" UNIQUE, btree (project_id, user_id) - "index_user_interacted_projects_on_user_id" btree (user_id) -Foreign-key constraints: - "fk_rails_0894651f08" FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE - "fk_rails_722ceba4f7" FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE -``` - -让我们重写查询以将该表加入到我们的项目中,并获取特定用户的项目: - -``` -EXPLAIN ANALYZE -SELECT COUNT(*) -FROM projects -INNER JOIN user_interacted_projects ON user_interacted_projects.project_id = projects.id -WHERE projects.visibility_level IN (0, 20) -AND user_interacted_projects.user_id = 1; -``` - -我们在这里做的是以下几点: - -1. 获得我们的项目. -2. INNER JOIN `user_interacted_projects` ,这意味着我们只剩下在`user_interacted_projects`中有对应行的`projects`中的行. -3. 将其限制为`visibility_level`为 0 或 20 的项目以及 ID 为 1 的用户与之交互的项目. - -如果运行此查询,则会得到以下计划: - -``` - Aggregate (cost=871.03..871.04 rows=1 width=8) (actual time=9.763..9.763 rows=1 loops=1) - -> Nested Loop (cost=0.86..870.52 rows=203 width=0) (actual time=1.072..9.748 rows=143 loops=1) - -> Index Scan using index_user_interacted_projects_on_user_id on user_interacted_projects (cost=0.43..160.71 rows=205 width=4) (actual time=0.939..2.508 rows=145 loops=1) - Index Cond: (user_id = 1) - -> Index Scan using projects_pkey on projects (cost=0.43..3.45 rows=1 width=4) (actual time=0.049..0.050 rows=1 loops=145) - Index Cond: (id = user_interacted_projects.project_id) - Filter: (visibility_level = ANY ('{0,20}'::integer[])) - Rows Removed by Filter: 0 - Planning time: 2.614 ms - Execution time: 9.809 ms -``` - -在这里,仅花了不到 10 毫秒的时间即可获取数据. 我们还可以看到我们正在检索的项目要少得多: - -``` -Index Scan using projects_pkey on projects (cost=0.43..3.45 rows=1 width=4) (actual time=0.049..0.050 rows=1 loops=145) - Index Cond: (id = user_interacted_projects.project_id) - Filter: (visibility_level = ANY ('{0,20}'::integer[])) - Rows Removed by Filter: 0 -``` - -在这里,我们看到执行了 145 个循环( `loops=145` ),每个循环产生 1 行( `rows=1` ). 这比以前少了很多,我们的查询执行得更好! - -如果我们看一下计划,我们还会发现我们的成本非常低: - -``` -Index Scan using projects_pkey on projects (cost=0.43..3.45 rows=1 width=4) (actual time=0.049..0.050 rows=1 loops=145) -``` - -在这里,我们的成本仅为 3.45,而仅需 0.050 毫秒即可完成. 下一次索引扫描会贵一些: - -``` -Index Scan using index_user_interacted_projects_on_user_id on user_interacted_projects (cost=0.43..160.71 rows=205 width=4) (actual time=0.939..2.508 rows=145 loops=1) -``` - -此处的成本为 160.71( `cost=0.43..160.71` ),大约需要 2.5 毫秒(基于`actual time=....`的输出`actual time=....` ). - -这里最昂贵的部分是对这两个索引扫描的结果起作用的"嵌套循环": - -``` -Nested Loop (cost=0.86..870.52 rows=203 width=0) (actual time=1.072..9.748 rows=143 loops=1) -``` - -在这里,我们必须对 203 行(9.748 毫秒)执行 870.52 磁盘页读取,在单个循环中产生 143 行. - -这里的主要要点是,有时您必须重写(部分)查询以使其更好. 有时,这意味着必须稍微更改功能以适应更好的性能. - -## What makes a bad plan[](#what-makes-a-bad-plan "Permalink") - -这是一个很难回答的问题,因为"坏"的定义与您要解决的问题有关. 但是,在大多数情况下最好避免某些模式,例如: - -* 大表上的顺序扫描 -* 删除大量行的过滤器 -* 执行某个步骤(例如索引扫描)需要*很多*缓冲区(例如,GitLab.com 大于 512 MB). - -作为一般准则,请针对以下查询: - -1. 不超过 10 毫秒. 我们每个请求在 SQL 中花费的目标时间约为 100 毫秒,因此每个查询应尽可能快. -2. 相对于工作负载,不使用过多的缓冲区. 例如,检索十行应该不需要 1 GB 的缓冲区. -3. 不花费大量时间执行磁盘 IO 操作. 必须启用设置`track_io_timing` ,此数据才能包含在`EXPLAIN ANALYZE`的输出中. -4. 在检索行而不对其进行汇总时应用`LIMIT` ,例如`SELECT * FROM users` . -5. 不使用`Filter`过滤掉过多的行,尤其是在查询不使用`LIMIT`限制返回的行数的情况下. 通常可以通过添加(部分)索引来删除过滤器. - -这些是*准则* ,不是硬性要求,因为不同的需求可能需要不同的查询. 唯一的*规则*是,您*必须始终*使用`EXPLAIN (ANALYZE, BUFFERS)`和相关工具*来衡量*您的查询(最好使用类似生产的数据库): - -* [`explain.depesz.com`](https://explain.depesz.com/). -* [`explain.dalibo.com/`](https://explain.dalibo.com/). - -## Producing query plans[](#producing-query-plans "Permalink") - -有几种获取查询计划输出的方法. 当然,您可以直接在`psql`控制台中运行`EXPLAIN`查询,或者可以遵循以下其他选项之一. - -### Rails console[](#rails-console "Permalink") - -Using the [`activerecord-explain-analyze`](https://github.com/6/activerecord-explain-analyze) you can directly generate the query plan from the Rails console: - -``` -pry(main)> require 'activerecord-explain-analyze' -=> true -pry(main)> Project.where('build_timeout > ?', 3600).explain(analyze: true) - Project Load (1.9ms) SELECT "projects".* FROM "projects" WHERE (build_timeout > 3600) - ↳ (pry):12 -=> EXPLAIN for: SELECT "projects".* FROM "projects" WHERE (build_timeout > 3600) -Seq Scan on public.projects (cost=0.00..2.17 rows=1 width=742) (actual time=0.040..0.041 rows=0 loops=1) - Output: id, name, path, description, created_at, updated_at, creator_id, namespace_id, ... - Filter: (projects.build_timeout > 3600) - Rows Removed by Filter: 14 - Buffers: shared hit=2 -Planning time: 0.411 ms -Execution time: 0.113 ms -``` - -### ChatOps[](#chatops "Permalink") - -[GitLab 员工还可以使用`/chatops` slash 命令在 Slack 中使用我们的 ChatOps 解决方案](chatops_on_gitlabcom.html) . 您可以使用 ChatOps 通过运行以下命令来获取查询计划: - -``` -/chatops run explain SELECT COUNT(*) FROM projects WHERE visibility_level IN (0, 20) -``` - -还支持使用[https://explain.depesz.com/](https://explain.depesz.com/)可视化计划: - -``` -/chatops run explain --visual SELECT COUNT(*) FROM projects WHERE visibility_level IN (0, 20) -``` - -不需要查询. - -有关可用选项的更多信息,请运行: - -``` -/chatops run explain --help -``` - -### `#database-lab`[](#database-lab "Permalink") - -GitLab 员工可以使用的另一种工具是由[Joe](https://gitlab.com/postgres-ai/joe)支持的聊天机器人,该机器人使用[Database Lab](https://gitlab.com/postgres-ai/database-lab)立即为开发人员提供他们自己的生产数据库克隆. - -Joe 在 Slack 的[`#database-lab`](https://gitlab.slack.com/archives/CLJMDRD8C)频道中可用. - -与 ChatOps 不同,它为您提供了一种执行 DDL 语句(如创建索引和表)并获取查询计划的方法,该查询计划不仅适用于`SELECT`而且适用于`UPDATE`和`DELETE` . - -例如,为了测试新索引,您可以执行以下操作: - -创建索引: - -``` -exec CREATE INDEX index_projects_last_activity ON projects (last_activity_at) WHERE last_activity_at IS NOT NULL -``` - -分析表以更新其统计信息: - -``` -exec ANALYZE projects -``` - -获取查询计划: - -``` -explain SELECT * FROM projects WHERE last_activity_at < CURRENT_DATE -``` - -完成后,您可以回滚您的更改: - -``` -reset -``` - -有关可用选项的更多信息,请运行: - -``` -help -``` - -#### Tips & Tricks[](#tips--tricks "Permalink") - -现在,在整个会话期间都将维护数据库连接,因此您可以对任何会话变量(例如`enable_seqscan`或`work_mem` )使用`exec set ...` 这些设置将应用于所有后续命令,直到您重置它们. - -也可以使用事务. 当您处理修改数据的语句(例如 INSERT,UPDATE 和 DELETE)时,这可能很有用. `explain`命令将执行`EXPLAIN ANALYZE` ,该语句执行该语句. 为了从干净状态开始运行每个`explain` ,您可以将其包装在事务中,例如: - -``` -exec BEGIN - -explain UPDATE some_table SET some_column = TRUE - -exec ROLLBACK -``` - -## Further reading[](#further-reading "Permalink") - -在[Dalibo.org](https://www.dalibo.com/en/)的[演示中](https://public.dalibo.com/exports/conferences/_archives/_2012/201211_explain/understanding_explain.pdf)可以找到关于理解查询计划的更广泛的指南. \ No newline at end of file diff --git a/docs/566.md b/docs/566.md deleted file mode 100644 index d2b099c..0000000 --- a/docs/566.md +++ /dev/null @@ -1,268 +0,0 @@ -# Rake tasks for developers - -> 原文:[https://docs.gitlab.com/ee/development/rake_tasks.html](https://docs.gitlab.com/ee/development/rake_tasks.html) - -* [Set up database with developer seeds](#set-up-database-with-developer-seeds) - * [Environment variables](#environment-variables) - * [Seeding issues for all or a given project](#seeding-issues-for-all-or-a-given-project) - * [Seeding issues for Insights charts](#seeding-issues-for-insights-charts-ultimate) - * [Seeding groups with sub-groups](#seeding-groups-with-sub-groups) - * [Seeding custom metrics for the monitoring dashboard](#seeding-custom-metrics-for-the-monitoring-dashboard) - * [Automation](#automation) - * [Discard `stdout`](#discard-stdout) - * [Extra Project seed options](#extra-project-seed-options) -* [Run tests](#run-tests) - * [Speed up tests, Rake tasks, and migrations](#speed-up-tests-rake-tasks-and-migrations) -* [Compile Frontend Assets](#compile-frontend-assets) -* [Emoji tasks](#emoji-tasks) -* [Update project templates](#update-project-templates) -* [Generate route lists](#generate-route-lists) -* [Show obsolete `ignored_columns`](#show-obsolete-ignored_columns) -* [Update GraphQL documentation and schema definitions](#update-graphql-documentation-and-schema-definitions) - * [Update machine-readable schema files](#update-machine-readable-schema-files) - -# Rake tasks for developers[](#rake-tasks-for-developers "Permalink") - -Rake 任务适用于开发人员和为 GitLab 做出贡献的其他人员. - -## Set up database with developer seeds[](#set-up-database-with-developer-seeds "Permalink") - -请注意,如果您的数据库用户没有高级特权,则必须在运行此命令之前手动创建数据库. - -``` -bundle exec rake setup -``` - -`setup`任务是`gitlab:setup`的别名. 此任务调用`db:reset`创建数据库,并调用`db:seed_fu`播种数据库. 注意: `db:setup`调用`db:seed`但这没有任何作用. - -### Environment variables[](#environment-variables "Permalink") - -**MASS_INSERT** :创建数百万个用户(2m),项目(5m)及其关系. 强烈建议将种子与种子一起运行,以在开发过程中捕获缓慢的查询. 预计此过程最多可能需要 20 分钟. - -另请参见[批量插入 Rails 模型](mass_insert.html) . - -**LARGE_PROJECTS** :从一组预定义的 URL 创建大型项目(通过导入). - -### Seeding issues for all or a given project[](#seeding-issues-for-all-or-a-given-project "Permalink") - -您可以使用`gitlab:seed:issues`任务为所有项目或给定项目`gitlab:seed:issues` : - -``` -# All projects -bin/rake gitlab:seed:issues - -# A specific project -bin/rake "gitlab:seed:issues[group-path/project-path]" -``` - -默认情况下,每个项目的最近 5 周平均每周播种 2 个问题. - -#### Seeding issues for Insights charts[](#seeding-issues-for-insights-charts-ultimate "Permalink") - -您可以使用`gitlab:seed:insights:issues`任务为专门用于处理[Insights 图表](../user/group/insights/index.html)的`gitlab:seed:insights:issues` : - -``` -# All projects -bin/rake gitlab:seed:insights:issues - -# A specific project -bin/rake "gitlab:seed:insights:issues[group-path/project-path]" -``` - -默认情况下,每个项目在最近 52 周中平均每周播种 10 个问题. 所有问题还将随机标记团队,类型,严重性和优先级. - -#### Seeding groups with sub-groups[](#seeding-groups-with-sub-groups "Permalink") - -您可以使用`gitlab:seed:group_seed`任务为包含里程碑/项目/问题的子组播种组: - -``` -bin/rake "gitlab:seed:group_seed[subgroup_depth, username]" -``` - -如果 GitLab 实例具有可用的史诗功能,则该组还会另外添加史诗. - -#### Seeding custom metrics for the monitoring dashboard[](#seeding-custom-metrics-for-the-monitoring-dashboard "Permalink") - -监视仪表板中支持许多不同类型的指标. - -要导入这些指标,可以运行: - -``` -bundle exec rake 'gitlab:seed:development_metrics[your_project_id]' -``` - -### Automation[](#automation "Permalink") - -If you’re very sure that you want to **清除当前数据库** and refill seeds, you could: - -``` -echo 'yes' | bundle exec rake setup -``` - -使您免于手动回答`yes` . - -### Discard `stdout`[](#discard-stdout "Permalink") - -由于该脚本会打印很多信息,因此可能会减慢您的终端运行速度,并且如果您将其重定向到文件,则会生成 20G 以上的日志. 如果我们不在乎输出,则可以将其重定向到`/dev/null` : - -``` -echo 'yes' | bundle exec rake setup > /dev/null -``` - -请注意,由于您看不到`stdout`的问题,因此您可能只想`echo 'yes'`以使其运行. 它仍然会在`stderr`上打印错误,因此不必担心丢失错误. - -### Extra Project seed options[](#extra-project-seed-options "Permalink") - -您可以传递一些环境标志来更改项目的种子方式 - -* `SIZE` :默认为`8` ,最大为`32` . 要创建的项目数量. -* `LARGE_PROJECTS` :默认为 false. 如果设置,将克隆 6 个大型项目以帮助进行测试. -* `FORK` :默认为 false. 如果设置为`true`将分叉`torvalds/linux`五次. 也可以将其设置为现有项目 full_path,它将代替它. - -## Run tests[](#run-tests "Permalink") - -为了运行测试,您可以使用以下命令: - -* `bin/rake spec`运行 RSpec 套件 -* `bin/rake spec:unit`仅运行单元测试 -* `bin/rake spec:integration`仅运行集成测试 -* `bin/rake spec:system`仅运行系统测试 -* `bin/rake karma`运行 Karma 测试套件 - -`bin/rake spec`需要花费大量时间. 无需在本地运行完整的测试套件,而是可以通过运行与更改相关的单个测试或目录来节省大量时间. 提交合并请求后,CI 将为您运行完整的测试套件. 合并请求中的绿色 CI 状态表示已通过完整的测试套件. - -您不能运行`rspec .` 因为这将尝试运行它可以找到的所有`_spec.rb`文件,以及`/tmp` - -您可以将 RSpec 命令行选项传递给`spec:unit` , `spec:integration`和`spec:system`任务. 例如, `bin/rake "spec:unit[--tag ~geo --dry-run]"` . - -对于 RSpec 测试,要运行一个测试文件,可以运行: - -``` -bin/rspec spec/controllers/commit_controller_spec.rb -``` - -要在一个目录中运行多个测试: - -* 如果仅想测试 API,则对 RSpec 测试使用`bin/rspec spec/requests/api/` - -### Speed up tests, Rake tasks, and migrations[](#speed-up-tests-rake-tasks-and-migrations "Permalink") - -[Spring](https://github.com/rails/spring)是 Rails 应用程序的预加载器. 它通过使应用程序在后台运行来加快开发速度,因此您无需在每次运行测试,Rake 任务或迁移时都启动它. - -如果要使用它,则需要将`ENABLE_SPRING`环境变量导出为`1` : - -``` -export ENABLE_SPRING=1 -``` - -另外,您可以在每次运行规范时使用以下命令, - -``` -bundle exec spring rspec some_spec.rb -``` - -## Compile Frontend Assets[](#compile-frontend-assets "Permalink") - -您永远不需要在开发中手动编译前端资产,但是如果您需要测试在生产环境中如何编译资产,则可以使用以下命令进行: - -``` -RAILS_ENV=production NODE_ENV=production bundle exec rake gitlab:assets:compile -``` - -这将编译并缩小所有 JavaScript 和 CSS 资产,并将它们与所有其他前端资产(图像,字体等)一起复制到`/public/assets`中,以便于对其进行轻松检查. - -## Emoji tasks[](#emoji-tasks "Permalink") - -要更新表情符号别名文件(用于表情符号自动完成),请运行以下命令: - -``` -bundle exec rake gemojione:aliases -``` - -要更新表情符号摘要文件(用于表情符号自动完成),请运行以下命令: - -``` -bundle exec rake gemojione:digests -``` - -这将根据当前可用的表情`fixtures/emojis/digests.json`更新`fixtures/emojis/digests.json`文件. - -要生成包含所有表情符号的 Sprite 文件,请运行: - -``` -bundle exec rake gemojione:sprite -``` - -如果添加了新的表情符号,则子画面可能会更改大小. 为了补偿这种变化,请首先使用上述 Rake 任务生成`emoji.png` Sprite 表,然后检查新 Sprite 表的`SPRITESHEET_WIDTH`并`SPRITESHEET_HEIGHT`地更新`SPRITESHEET_WIDTH`和`SPRITESHEET_HEIGHT`常量. - -## Update project templates[](#update-project-templates "Permalink") - -从模板启动项目需要将该项目导出. 在最新的 master 分支上运行: - -``` -gdk start -bundle exec rake gitlab:update_project_templates -git checkout -b update-project-templates -git add vendor/project_templates -git commit -git push -u origin update-project-templates -``` - -现在创建一个合并请求并将其合并到主请求. - -## Generate route lists[](#generate-route-lists "Permalink") - -要查看 API 路由的完整列表,可以运行: - -``` -bundle exec rake grape:path_helpers -``` - -生成的列表包括 API 端点和功能性 RESTful API 动词的完整列表. - -对于 Rails 控制器,运行: - -``` -bundle exec rake routes -``` - -由于创建这些文件需要一些时间,因此将输出保存到文件以快速参考通常会很有帮助. - -## Show obsolete `ignored_columns`[](#show-obsolete-ignored_columns "Permalink") - -要查看所有已过时的`ignored_columns`的列表, `ignored_columns`运行: - -``` -bundle exec rake db:obsolete_ignored_columns -``` - -随时从自己的`ignored_columns`定义中删除其定义. - -## Update GraphQL documentation and schema definitions[](#update-graphql-documentation-and-schema-definitions "Permalink") - -要基于 GitLab 模式生成 GraphQL 文档,请运行: - -``` -bundle exec rake gitlab:graphql:compile_docs -``` - -在当前状态下,Rake 任务: - -* 生成 GraphQL 对象的输出. -* 将输出放置在`doc/api/graphql/reference/index.md` . - -这使用了来自`graphql-docs` gem 的一些功能,例如其模式解析器和帮助器方法. docs 生成器代码来自于我们,为我们提供了更大的灵活性,例如使用 Haml 模板和生成 Markdown 文件. - -要编辑使用的模板,请查看`lib/gitlab/graphql/docs/templates/default.md.haml` . 实际的渲染器位于`Gitlab::Graphql::Docs::Renderer` . - -`@parsed_schema`是`graphql-docs` gem 期望提供的实例变量. `Gitlab::Graphql::Docs::Helper`定义我们当前使用的`object`方法. 您还应该在这里为要显示的新类型实现任何新方法. - -### Update machine-readable schema files[](#update-machine-readable-schema-files "Permalink") - -要基于 GitLab 模式生成 GraphQL 模式文件,请运行: - -``` -bundle exec rake gitlab:graphql:schema:dump -``` - -它使用 GraphQL Ruby 的内置 Rake 任务来生成[IDL](https://www.prisma.io/blog/graphql-sdl-schema-definition-language-6755bcb9ce51)和 JSON 格式的文件. \ No newline at end of file diff --git a/docs/567.md b/docs/567.md deleted file mode 100644 index e5ffb19..0000000 --- a/docs/567.md +++ /dev/null @@ -1,14 +0,0 @@ -# Mass inserting Rails models - -> 原文:[https://docs.gitlab.com/ee/development/mass_insert.html](https://docs.gitlab.com/ee/development/mass_insert.html) - -# Mass inserting Rails models[](#mass-inserting-rails-models "Permalink") - -在运行[`rake setup`](rake_tasks.html)时设置环境变量[`MASS_INSERT=1`](rake_tasks.html#environment-variables)将创建数百万条记录,但是默认情况下, `root`用户看不到这些记录. - -要使`root`用户可以看到任意数量的大容量插入项目,请在 rails 控制台中运行以下代码段. - -``` -u = User.find(1) -Project.last(100).each { |p| p.set_timestamps_for_create && p.add_maintainer(u, current_user: u) } # Change 100 to whatever number of projects you need access to -``` \ No newline at end of file diff --git a/docs/568.md b/docs/568.md deleted file mode 100644 index e81544b..0000000 --- a/docs/568.md +++ /dev/null @@ -1,548 +0,0 @@ -# GitLab Documentation guidelines - -> 原文:[https://docs.gitlab.com/ee/development/documentation/](https://docs.gitlab.com/ee/development/documentation/) - -* [Source files and rendered web locations](#source-files-and-rendered-web-locations) - * [Branch naming](#branch-naming) -* [Contributing to docs](#contributing-to-docs) -* [Markdown and styles](#markdown-and-styles) -* [Folder structure and files](#folder-structure-and-files) -* [Metadata](#metadata) - * [Stage and group metadata](#stage-and-group-metadata) - * [Page type metadata](#page-type-metadata) - * [Redirection metadata](#redirection-metadata) - * [Comments metadata](#comments-metadata) - * [Additional page metadata](#additional-page-metadata) -* [Changing document location](#changing-document-location) - * [Redirections for pages with Disqus comments](#redirections-for-pages-with-disqus-comments) -* [Merge requests for GitLab documentation](#merge-requests-for-gitlab-documentation) -* [GitLab `/help`](#gitlab-help) - * [Linking to `/help`](#linking-to-help) - * [GitLab `/help` tests](#gitlab-help-tests) -* [Docs site architecture](#docs-site-architecture) - * [Global navigation](#global-navigation) -* [Previewing the changes live](#previewing-the-changes-live) - * [Troubleshooting review apps](#troubleshooting-review-apps) - * [Technical aspects](#technical-aspects) -* [Testing](#testing) - * [Running tests](#running-tests) - * [Nanoc tests](#nanoc-tests) - * [Lint checks](#lint-checks) - * [Local linters](#local-linters) - * [markdownlint](#markdownlint) - * [Vale](#vale) - * [Install linters](#install-linters) - * [Configure editors](#configure-editors) - * [Disable Vale tests](#disable-vale-tests) -* [Danger Bot](#danger-bot) - -# GitLab Documentation guidelines[](#gitlab-documentation-guidelines "Permalink") - -GitLab 的文档[旨在作为唯一的真实来源(SSOT)](https://about.gitlab.com/handbook/documentation/) ,提供有关如何配置,使用 GitLab 以及对其进行故障排除的信息. 该文档包含按产品领域和主题组织的每个 GitLab 功能的用例和使用说明. 这包括跨多个 GitLab 功能的主题和工作流程,以及将 GitLab 与其他应用程序一起使用. - -除了此页面之外,以下资源还可以帮助您编写文档并做出贡献: - -* [样式指南](styleguide.html) -文档,语言指南,要遵循的 Markdown 标准,链接等内容. -* [结构和模板](structure.html) -了解文档页面的典型部分以及如何编写每一部分. -* [Documentation process](workflow.html). -* [Markdown 指南](../../user/markdown.html) -有关 GitLab 支持的所有 Markdown 语法的参考. -* [网站架构](site_architecture/index.html) -https [://docs.gitlab.com](https://s0docs0gitlab0com.icopy.site)的构建方式. -* [功能标记的文档](feature_flags.html) -如何编写和更新部署在功能标记后面的 GitLab 功能的文档. - -## Source files and rendered web locations[](#source-files-and-rendered-web-locations "Permalink") - -有关 GitLab,GitLab Runner,Omnibus GitLab 和 Charts 的文档已发布到[https://docs.gitlab.com](https://s0docs0gitlab0com.icopy.site) . GitLab 的文档也发布在 GitLab 实例域的`/help`内的应用程序中. 在`/help` ,仅包含当前版本和版本的帮助. 有关其他版本的帮助,请访问[https://docs.gitlab.com/archives/](https://docs.gitlab.com/archives/) . - -文档的源位于以下仓库位置的每个 GitLab 应用程序的代码库中: - -| Project | Path | -| --- | --- | -| [GitLab](https://gitlab.com/gitlab-org/gitlab/) | [`/doc`](https://gitlab.com/gitlab-org/gitlab/tree/master/doc) | -| [GitLab Runner](https://gitlab.com/gitlab-org/gitlab-runner/) | [`/docs`](https://gitlab.com/gitlab-org/gitlab-runner/tree/master/docs) | -| [Omnibus GitLab](https://gitlab.com/gitlab-org/omnibus-gitlab/) | [`/doc`](https://gitlab.com/gitlab-org/omnibus-gitlab/tree/master/doc) | -| [Charts](https://gitlab.com/gitlab-org/charts/gitlab) | [`/doc`](https://gitlab.com/gitlab-org/charts/gitlab/tree/master/doc) | - -文档问题和合并请求是它们各自存储库的一部分,都带有标签`Documentation` . - -### Branch naming[](#branch-naming "Permalink") - -[GitLab 主项目](../pipelines.html)的[CI 管道](../pipelines.html)配置为仅自动运行与贡献类型匹配的作业. 如果您的贡献**仅**包含文档更改,那么将仅运行与文档相关的作业,并且管道的完成将比代码贡献更快. - -如果要向 Runner,Omnibus 或 Charts 提交仅文档更改,则不会自动确定快速管道. 相反,请使用以下指南为仅文档合并请求创建分支: - -| 分店名称 | 有效的例子 | -| --- | --- | -| 从`docs/`开始 | `docs/update-api-issues` | -| 从`docs-`开始 | `docs-update-api-issues` | -| 以`-docs` | `123-update-api-issues-docs` | - -## Contributing to docs[](#contributing-to-docs "Permalink") - -整个 GitLab 社区都欢迎[对 GitLab 文档做出贡献](workflow.html) . - -为确保 GitLab 文档是最新的,所有[功能更改](feature-change-workflow.html)都有特殊的流程和职责,即影响功能外观,使用或管理的开发工作. - -但是,任何人都可以贡献与功能更改无关的[文档改进](improvement-workflow.html) . 例如,添加有关如何完成用例的新文档,这可以通过 GitLab 或第三方工具和 GitLab 完成. - -## Markdown and styles[](#markdown-and-styles "Permalink") - -[GitLab 文档](https://gitlab.com/gitlab-org/gitlab-docs)使用[GitLab Kramdown](https://gitlab.com/gitlab-org/gitlab_kramdown)作为其 Markdown 渲染引擎. 有关完整的 Kramdown 参考,请参阅《 [GitLab Markdown 指南》](https://about.gitlab.com/handbook/markdown-guide/) . - -遵守[文档样式指南](styleguide.html) . 如果缺少样式标准,欢迎您通过合并请求提出建议. - -## Folder structure and files[](#folder-structure-and-files "Permalink") - -请参阅" [文档样式指南"](styleguide.html)的" [结构"](styleguide.html#structure)部分. - -## Metadata[](#metadata "Permalink") - -为了提供其他指令或有用的信息,我们将 YAML 格式的元数据添加到每个产品文档页面的开头(YAML 开头). 所有值均视为字符串,仅用于[docs 网站](site_architecture/index.html) . - -### Stage and group metadata[](#stage-and-group-metadata "Permalink") - -理想情况下,每个页面都应具有与其所属的阶段和组相关的元数据,以及如下所述的信息块: - -* `stage` :页面大部分内容所属的[Stage](https://about.gitlab.com/handbook/product/product-categories/#devops-stages) . -* `group` :页面大部分内容所属的[Group](https://about.gitlab.com/company/team/structure/#product-groups) . -* `info` :下一行,为与该页面的舞台和小组相关的技术作家联系提供指导,以帮助参与者: - - ``` - To determine the technical writer assigned to the Stage/Group - associated with this page, see - https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers - ``` - -例如,以下元数据将位于产品文档页面的开始,其内容主要与"审核事件"功能相关: - -``` ---- -stage: Monitor -group: APM -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers ---- -``` - -### Page type metadata[](#page-type-metadata "Permalink") - -最初在[此史诗中](https://gitlab.com/groups/gitlab-org/-/epics/1280)讨论过,每个页面应该具有`type`元数据. 可以是以下一项或多项: - -* `index` :索引/概述页面. 它们充当其他页面的列表. 不一定意味着页面应命名为`index.md` . [示例页面](../../install/README.html) . -* `concepts` :使用产品之前需要了解的内容. 信息性的,非指导性的. 例如,抽象的想法,解释含义或收益,支持对任务的理解. 阅读它们以获取背景信息,例如"为什么 X 很重要". [示例页面](../../topics/autodevops/index.html) . -* `howto` :特定用例说明. [示例页面](../../ssh/README.html) . -* `tutorial` :边做边学过程/概念. [示例页面](../../gitlab-basics/start-using-git.html) . -* `reference` :介绍什么是/做什么. 诸如特定设置,没有太多解释的事实之类的东西可以阅读以获取详细信息. [示例页面](../../ci/yaml/README.html) . - -### Redirection metadata[](#redirection-metadata "Permalink") - -将页面移到另一个位置时,应添加以下元数据: - -* `redirect_to` :访问者应将移动页面重定向到的相对路径和文件名(扩展名为`.md` ). [了解更多](#changing-document-location) . -* `disqus_identifier` :Disqus 评论系统的标识符. 用于保留已被移至新 URL 的页面的注释. [了解更多](#redirections-for-pages-with-disqus-comments) . - -### Comments metadata[](#comments-metadata "Permalink") - -[docs 网站](site_architecture/index.html)上默认启用了注释(由 Disqus 提供). 如果要禁用它们(例如在索引页面中),请将其设置为`false` : - -``` ---- -comments: false ---- -``` - -### Additional page metadata[](#additional-page-metadata "Permalink") - -每个页面可以具有其他(可选)元数据(在[default.html](https://gitlab.com/gitlab-org/gitlab-docs/-/blob/fc3577921343173d589dfa43d837b4307e4e620f/layouts/default.html#L30-52) Nanoc 布局中设置),如果定义,这些元数据将显示在页面顶部: - -* `author` :页面`author`的名称,通常是教程. 它需要`author_gitlab`才能显示. -* `author_gitlab` :GitLab.com 上作者的用户名. 它需要`author`才能显示. -* `date` :页面的创建日期,通常用于教程. -* `article_type` :文章的类型. 可以是`tutorial`或`user guide` . -* `level` :操作方法或教程的复杂程度. 可以是`beginner` , `advanced`或`intermediate` . -* `last_updated` :页面上次更新时的 ISO 格式日期. 例如`2020-02-14` . -* `reading_time` :如果要添加页面的大概阅读时间的指示,可以将`reading_time`设置为`true` . 这使用简单的[算法](https://gitlab.com/gitlab-org/gitlab-docs/-/blob/master/lib/helpers/reading_time.rb)根据单词数计算阅读时间. - -## Changing document location[](#changing-document-location "Permalink") - -更改文档的位置需要特定的步骤,以确保用户可以无缝访问新的文档页面,无论他们是通过`/help`还是通过[https://docs.gitlab.com](https://s0docs0gitlab0com.icopy.site)访问 GitLab 实例域上的内容. 如果您在此过程中有任何疑问(例如是否需要搬迁),请务必指派一名技术作家,并确保在合并之前技术作家会对此更改进行审查. - -如果确实需要更改文档的位置,请不要删除旧文档,而应将所有内容替换为以下内容: - -``` ---- -redirect_to: '../path/to/file/index.md' ---- - -This document was moved to [another location](../path/to/file/index.md). -``` - -其中`../path/to/file/index.md`通常是旧文档的相对路径. - -所述`redirect_to`变量同时支持完整或相对 URL,例如`https://docs.gitlab.com/ee/path/to/file.html` , `../path/to/file.html` , `path/to/file.md` . 它确保重定向将对[https://docs.gitlab.com](https://s0docs0gitlab0com.icopy.site)起作用,并且任何`*.md`路径都将编译为`*.html` . 前部事项下方的新行通知用户文档已更改位置,对于从存储库浏览该文件的用户而言非常有用. - -例如,如果将`doc/workflow/lfs/index.md`移到`doc/administration/lfs.md` ,则步骤将是: - -1. Copy `doc/workflow/lfs/index.md` to `doc/administration/lfs.md` -2. 将`doc/workflow/lfs/index.md`的内容替换为: - - ``` - --- - redirect_to: '../../administration/lfs.md' - --- - - This document was moved to [another location](../../administration/lfs.md). - ``` - -3. 查找并用新位置替换所有出现的旧位置. 查找它们的快速方法是在将文件从以下位置更改的存储库中使用`git grep` : - - ``` - git grep -n "workflow/lfs/lfs_administration" - git grep -n "lfs/lfs_administration" - ``` - -**注意:**如果要移动的文档上有任何 Disqus 评论,则要执行的其他步骤[如下所示](#redirections-for-pages-with-disqus-comments) . - -注意事项: - -* 由于除了文档本身以外,我们还使用内联文档,因此该文档也可能在访问`/help`时将呈现的 GitLab( `app/` )视图中引用,有时甚至在测试套件( `spec/` )中也会引用. 您必须在这些路径中搜索对文档的引用并进行更新. -* 上面的`git grep`命令将在您在其中运行它的目录中以递归方式搜索`workflow/lfs/lfs_administration`和`lfs/lfs_administration` ,并将打印文件和提及该文件的行. 您可能会问为什么这两次抱怨. 由于[我们使用相对路径链接到文档](styleguide.html#links) ,因此有时更深入地搜索路径可能很有用. -* 当文档链接到 GitLab 的内置帮助页面时,不使用`*.md`扩展名,这就是为什么我们在`git grep`忽略它. -* 使用"更改文档位置" MR 描述模板上的清单. - -### Redirections for pages with Disqus comments[](#redirections-for-pages-with-disqus-comments "Permalink") - -如果要重定位的文档页面已经包含 Disqus 评论,则我们需要保留 Disqus 线程. - -Disqus 使用每页标识符,对于[https://docs.gitlab.com](https://s0docs0gitlab0com.icopy.site) ,页面标识符被配置为页面 URL. 因此,当我们更改文档位置时,我们需要将旧的 URL 保留为相同的 Disqus 标识符. - -为此,将变量`disqus_identifier`添加到`disqus_identifier` ,使用旧的 URL 作为值. 例如,假设我们将`https://docs.gitlab.com/my-old-location/README.html`下可用的文档移到了新位置`https://docs.gitlab.com/my-new-location/index.html` . - -在**新文档的**开头部分,我们添加了以下内容: - -``` ---- -disqus_identifier: 'https://docs.gitlab.com/my-old-location/README.html' ---- -``` - -注:有必要在文件名中`disqus_identifier` URL,即使它`index.html`或`README.html` . - -## Merge requests for GitLab documentation[](#merge-requests-for-gitlab-documentation "Permalink") - -在开始之前,请确保您已阅读上面的" [为文档做贡献](#contributing-to-docs) "介绍性部分和[文档工作流程](workflow.html) . - -* 使用当前的[合并请求描述模板](https://gitlab.com/gitlab-org/gitlab/blob/master/.gitlab/merge_request_templates/Documentation.md) -* 标记 MR `Documentation` (只能由具有`developer`访问权限的`developer` (例如,GitLab 团队成员)完成) -* 在下面的每个注释中分配正确的里程碑(只能由具有`developer`访问权限的人(例如,GitLab 团队成员)完成) - -如果对现有内容进行了改进,文档将被合并,这代表了遵循模板和样式标准的真诚努力,并且被认为是准确的. - -对于进一步完善文档的进一步需求,应在后续的 MR 或问题中立即解决. - -**注意:**如果要添加文档的发行版已经冻结或发行,请使用标签`~"Pick into XY"`将其合并到正确的发行版中. 尽量避免选择过去的发行版,因为这样做会增加发行版管理器的工作量. - -## GitLab `/help`[](#gitlab-help "Permalink") - -每个 GitLab 实例都包含文档,该文档可从`/help` ( `https://gitlab.example.com/help` )获得. 例如, [https://gitlab.com/help](https://gitlab.com/help) . - -[https://docs.gitlab.com](https://s0docs0gitlab0com.icopy.site)上在线提供的文档每隔四个小时从 GitLab,Omnibus 和 Runner 的`master`分支进行部署. 因此,合并请求合并后,它将在同一天在线可用. 但是,它将在分配给 MR 的里程碑内发货(并在`/help`上可用). - -例如,假设您的合并请求的里程碑设置为 11.3,该里程碑将于 2018-09-22 发布. 如果在 2018-09-15 合并,它将在 2018-09-15 联机提供,但是,随着功能冻结日期的过去,如果 MR 没有`~"Pick into 11.3"`标签,那么该里程碑必须更改为 11.4,并且仅在 2018-10-22 以及 GitLab 11.4 中将与所有 GitLab 软件包一起提供. 这意味着,它将仅在 GitLab 11.4 及更高版本的`/help`下提供,但在合并的同一天在[https://docs.gitlab.com/](https://docs.gitlab.com/)上提供. - -### Linking to `/help`[](#linking-to-help "Permalink") - -构建新功能时,可能需要从应用程序 GitLab 链接文档. 通常,这是通过`help_page_path` helper 方法在`app/views/`目录内的文件中完成的. - -以最简单的形式,用于生成到`/help`页面的链接的 HAML 代码为: - -``` -= link_to 'Help page', help_page_path('user/permissions') -``` - -`help_page_path`使用以下约定包含要链接到的文档的路径: - -* 它相对于 GitLab 存储库中的`doc/`目录 -* `.md`扩展名必须省略 -* 它不能以斜杠( `/` )结尾 - -以下是根据情况应使用的一些特殊情况. 您可以结合以下一项或多项: - -1. **链接到锚链接.** 使用`anchor`作为`help_page_path`方法的一部分: - - ``` - = link_to 'Help page', help_page_path('user/permissions', anchor: 'anchor-link') - ``` - -2. **在新标签页中打开链接.** 这应该是默认行为: - - ``` - = link_to 'Help page', help_page_path('user/permissions'), target: '_blank' - ``` - -3. **链接到圆圈图标.** 通常用于无法使用长描述的设置,例如复选框旁边. 您基本上可以使用任何字体超赞的图标,但更喜欢使用`question-circle` : - - ``` - = link_to icon('question-circle'), help_page_path('user/permissions') - ``` - -4. **使用按钮链接.** 在文本与页面布局其余部分脱离上下文的地方很有用: - - ``` - = link_to 'Help page', help_page_path('user/permissions'), class: 'btn btn-info' - ``` - -5. **使用内联某些文本的链接.** - - ``` - Description to #{link_to 'Help page', help_page_path('user/permissions')}. - ``` - -6. **在句子末尾添加句点.** Useful when you don’t want the period to be part of the link: - - ``` - = succeed '.' do - Learn more in the - = link_to 'Help page', help_page_path('user/permissions') - ``` - -### GitLab `/help` tests[](#gitlab-help-tests "Permalink") - -运行了一些[RSpec 测试](https://gitlab.com/gitlab-org/gitlab/blob/master/spec/features/help_pages_spec.rb)以确保 GitLab 文档能够呈现并正常工作. 特别是,该[主要文档的登录页面](../../README.html)将从`/help`正确运行. 例如, [GitLab.com 的`/help`](https://gitlab.com/help) . - -## Docs site architecture[](#docs-site-architecture "Permalink") - -请参阅" [文档"网站的体系结构](site_architecture/index.html)页面,以了解我们如何在[https://docs.gitlab.com 上](https://s0docs0gitlab0com.icopy.site)构建和部署该网站,并查看所有正在使用的资产和库. - -### Global navigation[](#global-navigation "Permalink") - -有关如何构建和更新左侧导航菜单的信息,请参阅[全局导航](site_architecture/global_nav.html)文档. - -## Previewing the changes live[](#previewing-the-changes-live "Permalink") - -**注意:**要在本地预览对文档的更改,请遵循本[开发指南](https://gitlab.com/gitlab-org/gitlab-docs/blob/master/README.md#development-when-contributing-to-gitlab-documentation)或[GDK 的这些说明](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/gitlab_docs.md) . - -当前为以下项目启用了实时预览: - -* [`gitlab`](https://gitlab.com/gitlab-org/gitlab) -* [`gitlab-runner`](https://gitlab.com/gitlab-org/gitlab-runner) - -如果您的合并请求中有 docs 更改,则可以使用手动`review-docs-deploy`作业为合并请求部署 docs review 应用. 您将至少需要维护者权限才能运行它. - -[![Manual trigger a docs build](img/4a007f26d24f09e03b3bb388bd94ae30.png)](img/manual_build_docs.png) - -**注意:**您将需要将分支推送到这些存储库,它不适用于 fork. - -`review-docs-deploy*`工作将: - -1. 在[`gitlab-docs`](https://gitlab.com/gitlab-org/gitlab-docs)项目中创建一个以该方案命名的新分支: `docs-preview-$DOCS_GITLAB_REPO_SUFFIX-$CI_MERGE_REQUEST_IID` ,其中`DOCS_GITLAB_REPO_SUFFIX`是每个产品的后缀,例如`ee`表示 EE, `omnibus`表示 Omnibus `CI_MERGE_REQUEST_IID` , `CI_MERGE_REQUEST_IID`等,相应合并请求的 ID. -2. 触发跨项目管道,并使用您的更改构建文档站点. - -如果评论应用程序 URL 返回 404,则意味着该站点尚未部署,或者远程管道出了点问题. 给它几分钟,它应该在线显示,否则,您可以从合并请求的作业输出中的链接检查远程管道的状态. 如果管道失败或阻塞,请在`#docs`聊天频道中添加一行. - -**提示:**对 GitLab 项目没有合并权限的人(想想贡献者的分支)不能运行手动作业. 在这种情况下,您可以请 GitLab 团队的某人授权为您执行此操作.**注意:**确保始终删除正在处理的合并请求的分支. 如果您不这样做,那么远程 docs 分支也不会被删除,并且承载 Review Apps 的服务器最终将没有磁盘空间. - -### Troubleshooting review apps[](#troubleshooting-review-apps "Permalink") - -如果评论应用程序 URL 返回 404,请按照以下步骤进行调试: - -1. **您是否遵循了合并请求小部件中的 URL?** 如果是,则检查链接是否与作业输出中的链接相同. -2. **您是否遵循作业输出中的 URL?** 如果是,则意味着该站点尚未部署或远程管道出了点问题. 给它几分钟,它应该在线显示,否则,您可以从作业输出中的链接检查远程管道的状态. 如果管道失败或阻塞,请在`#docs`聊天频道中添加一行. - -### Technical aspects[](#technical-aspects "Permalink") - -如果您想了解更深入的细节,这就是实际发生的事情: - -1. 您在合并请求中手动运行`review-docs-deploy`作业. -2. The job runs the [`scripts/trigger-build-docs`](https://gitlab.com/gitlab-org/gitlab/blob/master/scripts/trigger-build-docs) script with the `deploy` flag, which in turn: - 1. 使用您的分支名称并应用以下内容: - * `docs-preview-`前缀已添加. - * 产品信息用于了解评论应用所源自的项目. - * 添加了合并请求的编号,以便您可以通过`gitlab-docs`分支名称知道其源自的合并请求. - 2. The remote branch is then created if it doesn’t exist (meaning you can re-run the manual job as many times as you want and this step will be skipped). - 3. 在 docs 项目中触发了新的跨项目管道. - 4. 预览 URL 显示在作业输出和合并请求小部件中. 您还将获得到远程管道的链接. -3. 在 docs 项目中,创建了管道,它[跳过了测试作业](https://gitlab.com/gitlab-org/gitlab-docs/blob/8d5d5c750c602a835614b02f9db42ead1c4b2f5e/.gitlab-ci.yml#L50-55)以减少构建时间. -4. 构建了 docs 网站之后,HTML 文件即作为工件上传. -5. 仅与 docs 项目相关联的特定 Runner,运行 Review App 作业,该作业下载工件,并使用`rsync`将文件传输到 NGINX 为它们提供文件的位置. - -The following GitLab features are used among others: - -* [Manual actions](../../ci/yaml/README.html#whenmanual) -* [Multi project pipelines](../../ci/multi_project_pipeline_graphs.html) -* [Review Apps](../../ci/review_apps/index.html) -* [Artifacts](../../ci/yaml/README.html#artifacts) -* [Specific Runner](../../ci/runners/README.html#prevent-a-specific-runner-from-being-enabled-for-other-projects) -* [Pipelines for merge requests](../../ci/merge_request_pipelines/index.html) - -## Testing[](#testing "Permalink") - -我们将文档视为代码,因此在 CI 管道中使用测试来维护文档的标准和质量. 提交带有新文档或更改文档的合并请求时,当前测试在 CI 作业中运行,它们是: - -* [`docs lint`](https://gitlab.com/gitlab-org/gitlab/blob/master/.gitlab/ci/docs.gitlab-ci.yml#L48) :对 docs 本身的内容运行一些测试: - * [`lint-doc.sh`脚本](https://gitlab.com/gitlab-org/gitlab/blob/master/scripts/lint-doc.sh)运行以下检查和操作: - * 所有 cURL 示例都使用长标记(例如:-- `--header` ,而不是`-H` ). - * `CHANGELOG.md`不包含重复的版本. - * `doc/`中没有文件是可执行文件. - * 没有添加新的`README.md` . - * [markdownlint](#markdownlint) . - * [谷](#vale) - * Nanoc 测试: - * [`internal_links`](https://gitlab.com/gitlab-org/gitlab/blob/master/.gitlab/ci/docs.gitlab-ci.yml#L67)检查所有内部链接(例如: `[link](../index.md)` )是否有效. - * [`internal_anchors`](https://gitlab.com/gitlab-org/gitlab/blob/master/.gitlab/ci/docs.gitlab-ci.yml#L69)检查所有内部锚点(例如: `[link](../index.md#internal_anchor)` )是否有效. - -### Running tests[](#running-tests "Permalink") - -除了在[本地预览更改](#previewing-the-changes-live)之外,您还可以[在本地](#previewing-the-changes-live)运行所有棉绒检查和 Nanoc 测试. - -#### Nanoc tests[](#nanoc-tests "Permalink") - -要在本地执行 Nanoc 测试: - -1. 导航到[`gitlab-docs`](https://gitlab.com/gitlab-org/gitlab-docs)目录. -2. Run: - - ``` - # Check for broken internal links - bundle exec nanoc check internal_links - - # Check for broken external links (might take a lot of time to complete). - # This test is set to be allowed to fail and is run only in the gitlab-docs project CI - bundle exec nanoc check internal_anchors - ``` - -#### Lint checks[](#lint-checks "Permalink") - -Lint 检查由[`lint-doc.sh`](https://gitlab.com/gitlab-org/gitlab/blob/master/scripts/lint-doc.sh)脚本执行,可以按以下方式执行: - -1. 导航到`gitlab`目录. -2. Run: - - ``` - MD_DOC_PATH=path/to/my_doc.md scripts/lint-doc.sh - ``` - -`MD_DOC_PATH`指向您要运行 lint 检查的文件或目录的位置. 如果完全省略它,它将默认为`doc/`目录. 输出应类似于: - -``` -=> Linting documents at path /path/to/gitlab as ... -=> Checking for cURL short options... -=> Checking for CHANGELOG.md duplicate entries... -=> Checking /path/to/gitlab/doc for executable permissions... -=> Checking for new README.md files... -=> Linting markdown style... -=> Linting prose... -✔ 0 errors, 0 warnings and 0 suggestions in 1 file. -✔ Linting passed -``` - -请注意,这要求您要么在计算机上安装了必需的 lint 工具,要么在运行的 Docker 安装中,在这种情况下,将使用预安装了这些工具的映像. - -### Local linters[](#local-linters "Permalink") - -为了帮助您遵守[文档样式指南](styleguide.html) ,并改善添加到文档中的内容, [请安装文档短绒](#install-linters) , [并将其与代码编辑器集成](#configure-editors) . - -在 GitLab,我们主要使用: - -* [markdownlint](#markdownlint) -* [Vale](#vale) - -#### markdownlint[](#markdownlint "Permalink") - -[markdownlint](https://github.com/DavidAnson/markdownlint)检查 Markdown 语法是否遵循[某些规则](https://github.com/DavidAnson/markdownlint/blob/master/doc/Rules.md#rules) ,并由[`docs-lint`测试使用](#testing) . - -我们的[文档样式指南](styleguide.html#markdown)和[Markdown 指南](https://about.gitlab.com/handbook/markdown-guide/)详细说明了为 GitLab 文档选择 Markdown 语法时必须进行哪些选择. 该工具有助于发现与这些准则的偏差. - -在以下项目中找到 markdownlint 配置: - -* [`gitlab`](https://gitlab.com/gitlab-org/gitlab/blob/master/.markdownlint.json) -* [`gitlab-runner`](https://gitlab.com/gitlab-org/gitlab-runner/blob/master/.markdownlint.json) -* [`omnibus-gitlab`](https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/.markdownlint.json) -* [`charts`](https://gitlab.com/gitlab-org/charts/gitlab/-/blob/master/.markdownlint.json) -* [`gitlab-development-kit`](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/master/.markdownlint.json) - -在构建管道中也使用此配置. - -您可以使用 markdownlint: - -* [On the command line](https://github.com/igorshubovych/markdownlint-cli#markdownlint-cli--). -* [Within a code editor](#configure-editors). - -#### Vale[](#vale "Permalink") - -[淡水河谷](https://errata-ai.gitbook.io/vale/)是英语的语法,样式和单词用法惯用语. Vale 的配置存储在项目根目录下的[`.vale.ini`](https://gitlab.com/gitlab-org/gitlab/blob/master/.vale.ini)文件中. - -Vale 支持创建可扩展多种检查类型的[自定义测试](https://errata-ai.github.io/vale/styles/) ,我们将这些检查存储在项目文档目录的`.linting/vale/styles/gitlab`目录中. - -在以下项目中找到 Vale 配置: - -* [`gitlab`](https://gitlab.com/gitlab-org/gitlab/-/tree/master/doc/.vale/gitlab) -* [`gitlab-runner`](https://gitlab.com/gitlab-org/gitlab-runner/-/tree/master/docs/.vale/gitlab) -* [`omnibus-gitlab`](https://gitlab.com/gitlab-org/omnibus-gitlab/-/tree/master/doc/.vale/gitlab) -* [`charts`](https://gitlab.com/gitlab-org/charts/gitlab/-/tree/master/doc/.vale/gitlab) -* [`gitlab-development-kit`](https://gitlab.com/gitlab-org/gitlab-development-kit/-/tree/master/doc/.vale/gitlab) - -在构建管道中也使用此配置. - -您可以使用 Vale: - -* [On the command line](https://errata-ai.gitbook.io/vale/getting-started/usage). -* [Within a code editor](#configure-editors). - -#### Install linters[](#install-linters "Permalink") - -至少要安装[markdownlint](#markdownlint)和[Vale](#vale)以匹配在构建管道中运行的检查: - -1. 使用以下任一方法安装`markdownlint-cli` : - - * `npm`: - - ``` - npm install -g markdownlint-cli - ``` - - * `yarn`: - - ``` - yarn global add markdownlint-cli - ``` - - 我们建议安装 linting [Docker image](https://gitlab.com/gitlab-org/gitlab-docs/-/blob/master/dockerfiles/Dockerfile.gitlab-docs-lint#L38)文档中当前使用的`markdownlint-cli`版本. - -2. 安装[`vale`](https://github.com/errata-ai/vale/releases) . 例如,要使用`brew` for macOS 安装,请运行: - - ``` - brew install vale - ``` - - We recommend installing the version of Vale currently used in the documentation linting [Docker image](https://gitlab.com/gitlab-org/gitlab-docs/-/blob/master/dockerfiles/Dockerfile.gitlab-docs-lint#L16). - -除了在命令行上使用 markdownlint 和 Vale 之外,这些工具还可以[与代码编辑器集成](#configure-editors) . - -#### Configure editors[](#configure-editors "Permalink") - -要在编辑器中配置 markdownlint,请根据需要安装以下之一: - -* [Sublime Text](https://packagecontrol.io/packages/SublimeLinter-contrib-markdownlint) -* [Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint) -* [Atom](https://atom.io/packages/linter-node-markdownlint) - -要在编辑器中配置 Vale,请根据需要安装以下任一程序: - -* Sublime Text [`SublimeLinter-contrib-vale`插件](https://packagecontrol.io/packages/SublimeLinter-contrib-vale) -* Visual Studio Code [`testthedocs.vale`扩展](https://marketplace.visualstudio.com/items?itemName=testthedocs.vale) - -我们不使用[Vale Server](https://errata-ai.github.io/vale/#using-vale-with-a-text-editor-or-another-third-party-application) . - -#### Disable Vale tests[](#disable-vale-tests "Permalink") - -您可以为文档的任何部分禁用特定的 Vale 棉绒规则或所有 Vale 棉绒规则: - -* 要禁用特定规则,添加``文本之前标记和``后的文字标签,更换`rulename`与[GitLab 样式](https://gitlab.com/gitlab-org/gitlab/-/tree/master/doc/.linting/vale/styles/gitlab)目录中测试的文件名. -* 要禁用所有淡水河谷棉绒规则,请在文本前添加``淡水``标签,并在文本后添加``淡水``标签. - -只要有可能,仅排除有问题的规则和行. 在某些情况下,例如列表项,您可能需要禁用整个列表的绒毛,直到[Vale 问题#175](https://github.com/errata-ai/vale/issues/175)得到解决. - -有关更多信息,请参见[Vale 的文档](https://errata-ai.gitbook.io/vale/getting-started/markup#markup-based-configuration) . - -## Danger Bot[](#danger-bot "Permalink") - -GitLab 在代码审查中的某些元素上使用了[Danger](https://github.com/danger/danger) . 对于文档在合并请求中的更改,每当对`/doc`下的文件进行更改时,Danger Bot 都会在注释中留下有关文档处理的进一步说明. 这是在 GitLab 存储库中的`Dangerfile`中[/ danger / documentation /下配置的](https://gitlab.com/gitlab-org/gitlab/tree/master/danger/documentation) . \ No newline at end of file diff --git a/docs/569.md b/docs/569.md deleted file mode 100644 index 74dc7e0..0000000 --- a/docs/569.md +++ /dev/null @@ -1,1547 +0,0 @@ -# Documentation Style Guide - -> 原文:[https://docs.gitlab.com/ee/development/documentation/styleguide.html](https://docs.gitlab.com/ee/development/documentation/styleguide.html) - -* [Documentation is the single source of truth (SSOT)](#documentation-is-the-single-source-of-truth-ssot) - * [Why a single source of truth](#why-a-single-source-of-truth) - * [All information](#all-information) - * [All media types](#all-media-types) - * [No special types](#no-special-types) - * [Link instead of summarize](#link-instead-of-summarize) - * [Organize by topic, not by type](#organize-by-topic-not-by-type) - * [Docs-first methodology](#docs-first-methodology) -* [Markdown](#markdown) - * [HTML in Markdown](#html-in-markdown) - * [Markdown Rules](#markdown-rules) - * [Markdown rule `MD044/proper-names` (capitalization)](#markdown-rule-md044proper-names-capitalization) -* [Structure](#structure) - * [Folder structure overview](#folder-structure-overview) - * [Work with directories and files](#work-with-directories-and-files) - * [Avoid duplication](#avoid-duplication) - * [References across documents](#references-across-documents) - * [Structure within documents](#structure-within-documents) -* [Language](#language) - * [Point of view](#point-of-view) - * [Capitalization](#capitalization) - * [Language to avoid](#language-to-avoid) - * [Word usage clarifications](#word-usage-clarifications) - * [Contractions](#contractions) -* [Text](#text) - * [Emphasis](#emphasis) - * [Punctuation](#punctuation) - * [Placeholder text](#placeholder-text) -* [Lists](#lists) - * [Ordered vs. unordered lists](#ordered-vs-unordered-lists) - * [Markup](#markup) - * [Punctuation](#punctuation-1) - * [Nesting inside a list item](#nesting-inside-a-list-item) -* [Tables](#tables) - * [Creation guidelines](#creation-guidelines) - * [Feature tables](#feature-tables) -* [Quotes](#quotes) -* [Headings](#headings) - * [Heading titles](#heading-titles) - * [Anchor links](#anchor-links) -* [Links](#links) - * [Basic link criteria](#basic-link-criteria) - * [Links to internal documentation](#links-to-internal-documentation) - * [Links to external documentation](#links-to-external-documentation) - * [Links requiring permissions](#links-requiring-permissions) - * [Link to specific lines of code](#link-to-specific-lines-of-code) -* [Navigation](#navigation) -* [Images](#images) - * [Capture the image](#capture-the-image) - * [Save the image](#save-the-image) - * [Add the image link to content](#add-the-image-link-to-content) - * [Remove image shadow](#remove-image-shadow) - * [Compress images](#compress-images) -* [Videos](#videos) - * [Link to video](#link-to-video) - * [Embed videos](#embed-videos) -* [Code blocks](#code-blocks) -* [GitLab SVG icons](#gitlab-svg-icons) - * [Use GitLab SVGs to describe UI elements](#use-gitlab-svgs-to-describe-ui-elements) -* [Alert boxes](#alert-boxes) - * [Note](#note) - * [When to use](#when-to-use) - * [Tip](#tip) - * [Caution](#caution) - * [Danger](#danger) -* [Blockquotes](#blockquotes) -* [Terms](#terms) - * [Merge Requests (MRs)](#merge-requests-mrs) - * [Describe UI elements](#describe-ui-elements) - * [Verbs for UI elements](#verbs-for-ui-elements) - * [Other Verbs](#other-verbs) -* [GitLab versions and tiers](#gitlab-versions-and-tiers) - * [Text for documentation requiring version text](#text-for-documentation-requiring-version-text) - * [Versions in the past or future](#versions-in-the-past-or-future) - * [Importance of referencing GitLab versions and tiers](#importance-of-referencing-gitlab-versions-and-tiers) -* [Products and features](#products-and-features) - * [Avoid line breaks in names](#avoid-line-breaks-in-names) - * [Product badges](#product-badges) - * [How it works](#how-it-works) -* [Specific sections](#specific-sections) - * [GitLab restart](#gitlab-restart) - * [Installation guide](#installation-guide) - * [Configuration documentation for source and Omnibus installations](#configuration-documentation-for-source-and-omnibus-installations) - * [Troubleshooting](#troubleshooting) -* [Feature flags](#feature-flags) -* [API](#api) - * [API topic template](#api-topic-template) - * [Fake user information](#fake-user-information) - * [Fake URLs](#fake-urls) - * [Fake tokens](#fake-tokens) - * [Method description](#method-description) - * [cURL commands](#curl-commands) - * [cURL Examples](#curl-examples) - * [Simple cURL command](#simple-curl-command) - * [cURL example with parameters passed in the URL](#curl-example-with-parameters-passed-in-the-url) - * [Post data using cURL’s `--data`](#post-data-using-curls---data) - * [Post data using JSON content](#post-data-using-json-content) - * [Post data using form-data](#post-data-using-form-data) - * [Escape special characters](#escape-special-characters) - * [Pass arrays to API calls](#pass-arrays-to-api-calls) - -# Documentation Style Guide[](#documentation-style-guide "Permalink") - -本文档定义了 GitLab 文档内容和文件的标准. - -有关该文档的更多信息,请参见《 [文档指南》](index.html) . - -有关遵循该准则的编程帮助,请参阅" [测试"](index.html#testing) . - -请参阅 GitLab 手册,以获取适用于所有 GitLab 内容(不仅是文档)的进一步的[写作风格指南](https://about.gitlab.com/handbook/communication/#writing-style-guidelines) . - -## Documentation is the single source of truth (SSOT)[](#documentation-is-the-single-source-of-truth-ssot "Permalink") - -### Why a single source of truth[](#why-a-single-source-of-truth "Permalink") - -GitLab 产品和功能的文档是 SSOT,其中包含与实施,使用和故障排除有关的所有信息. 它与新产品和功能保持一致,并不断改进,以提高清晰度,准确性和完整性. - -该策略可以防止信息孤岛,从而更轻松地查找有关 GitLab 产品的信息. - -它还可以就我们包含在文档中的内容种类提供决策. - -### All information[](#all-information "Permalink") - -只要可以以充分详细的警告和警告的形式提供适当的上下文,就可以包括解决可能很少见或被认为是"危险"的解决问题的措施. 应该包括这类内容,因为它可能对其他人有帮助,并且在正确解释后,其好处大于风险. 如果您认为发现此规则有例外,请与技术写作团队联系. - -无论用户遇到何种情况,我们都会将所有故障排除信息添加到文档中. 对于" [疑难解答"部分](#troubleshooting) ,GitLab 支持人员可以自己合并添加项. - -### All media types[](#all-media-types "Permalink") - -如果内容与读者相关,则包括任何媒体类型/来源. 您可以自由地包含或链接演示文稿,图表,视频等; 不管它最初是为谁创作的,如果对我们的听众有帮助,我们都可以将其包括在内. - -* 如果使用的图像具有单独的源文件(例如,矢量或图表格式),则将该图像链接到源文件,以便任何人都可以重用或更新它. -* 除非从引用来源中引用有限的内容,否则请勿复制和粘贴其他来源的内容. 通常,最好用您自己的话语重述相关信息或链接到其他来源. - -### No special types[](#no-special-types "Permalink") - -在软件行业中,最佳实践是组织不同类型的文档. 例如, [Divio 建议](https://www.divio.com/blog/documentation/) : - -1. Tutorials -2. 入门指南 -3. Explanation -4. 参考(例如,词汇表) - -在 GitLab,我们的月度版本中有太多产品更改,以至于我们无法承受持续更新多种类型的信息的负担. 如果我们有多种类型,则信息将过时. 因此,我们只有一个文档[模板](structure.html) . - -我们目前不区分特定的文档类型,尽管一旦文档达到成熟度和质量的未来阶段,我们可以重新考虑此政策. 如果您正在阅读此书,那么尽管我们不断进行改进,但仍未达到这一点. - -### Link instead of summarize[](#link-instead-of-summarize "Permalink") - -有诱惑力将信息汇总在另一页上. 这将导致信息存在于两个地方. 相反,链接到 SSOT 并解释为什么使用信息很重要. - -### Organize by topic, not by type[](#organize-by-topic-not-by-type "Permalink") - -除了顶级受众类型的文件夹(例如, `administration` )之外,我们还按主题而不是按类型组织内容,因此可以在主题的单一来源(SSOT)部分中尽可能轻松地找到内容物. - -例如,不要创建相似媒体类型的分组. 例如: - -* Glossaries. -* FAQs. -* 所有文章或视频的集合. - -按类型对内容进行这种分组使得难以浏览所需信息,并且难以维护最新内容. 而是按主题组织内容(例如,与 CI 相关的所有内容都放在一起),并在任何相关内容之间进行交叉链接. - -### Docs-first methodology[](#docs-first-methodology "Permalink") - -我们采用**文档优先的方法,**以帮助确保文档保持完整且受信任的资源,并使有关 GitLab 使用的交流更加有效. - -* 如果文档中存在问题的答案,请共享文档链接,而不要改写信息. -* 当您遇到 GitLab 文档中没有的新信息时(例如,在处理支持案例或测试功能时),第一步应该是创建合并请求(MR),以将该信息添加到文档中. 然后,您可以共享 MR 以便传达此信息. - -如上所述,对将来的 GitLab 使用或故障排除有用的新信息不应直接写在论坛或其他消息系统中,而应添加到文档 MR 中,然后再进行引用. 请注意,除其他任何文档更改外,您还可以: - -* 如果不存在,请在文档中添加" [疑难解答"部分](#troubleshooting) . -* 取消注释并使用占位符疑难解答部分,该部分包含在我们的[文档模板中](structure.html#template-for-new-docs) (如果存在). - -我们向文档自如地添加有用信息的次数越多,文档就越会被用来(更成功)有效地完成任务和解决问题. - -如果您在考虑,创作或编辑文档时遇到问题,请提及适用于[DevOps 阶段](https://about.gitlab.com/handbook/product/product-categories/#devops-stages)的编写者,以`#docs`或 GitLab 中的 Slack 的技术写作团队提出. 否则,请尽力而为. 它并不一定是完美的. 团队很乐意审查和改进您的内容. 在开始您的第一个文档 MR 之前,请查阅[文档指南](index.html) . - -具有与文档不同的任何形式的知识库都将违反文档优先方法,因为其内容会与文档重叠. - -## Markdown[](#markdown "Permalink") - -所有的 GitLab 文档都是使用[Markdown](https://en.wikipedia.org/wiki/Markdown)编写的. - -[文档网站](https://s0docs0gitlab0com.icopy.site)使用 GitLab Kramdown 作为 Markdown 渲染引擎. 有关完整的 Kramdown 参考,请参阅《 [GitLab Markdown Kramdown 指南》](https://about.gitlab.com/handbook/markdown-guide/) . - -[`gitlab-kramdown`](https://gitlab.com/gitlab-org/gitlab_kramdown) Ruby gem 将来将支持所有[GFM 标记](../../user/markdown.html) . 也就是说,所有标记都支持在 GitLab 应用程序本身中显示. 目前,请按照链接的样式指南中的规则使用常规的 Markdown 标记. - -请注意,特定于 Kramdown 的标记(例如`{:.class}` )不会在[`/help`](index.html#gitlab-help)下的 GitLab 实例上正确呈现. - -### HTML in Markdown[](#html-in-markdown "Permalink") - -硬编码的 HTML 是有效的,尽管在使用`/help`时不建议使用. 只要允许 HTML,就可以: - -* Markdown 中没有等效的标记. -* 高级表是必需的. -* 需要特殊的样式. -* 由技术作家审查和批准. - -### Markdown Rules[](#markdown-rules "Permalink") - -GitLab 通过使用[markdownlint](index.html#markdownlint) [测试文档更改](index.html#testing)来确保所有文档中使用的 Markdown 是一致的,并且易于查看和维护. 当任何文档的 Markdown 格式存在问题时,此棉绒测试将失败,该问题可能导致页面在 GitLab 中无法正确呈现. 当文档使用非标准 Markdown(可以正确显示,但不是 GitLab 文档的当前标准)时,它也会失败. - -#### Markdown rule `MD044/proper-names` (capitalization)[](#markdown-rule-md044proper-names-capitalization "Permalink") - -可能引起混乱的规则是`MD044/proper-names` ,因为可能无法立即弄清是什么导致 markdownlint 失败或如何纠正失败. 此规则检查每个项目的`.markdownlint.json`文件中列出的已知单词的列表,以验证是否正确使用了大写字母和反引号. 反引号中的单词将被 markdownlint 忽略. - -通常,产品名称应紧跟产品,协议等正式名称的大写字母. 请参阅[`.markdownlint.json`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/.markdownlint.json)以获取有关 GitLab 文档中经过适当大写测试的单词. - -如果使用不正确的大小写,则某些示例将失败: - -* MinIO(需要资本`IO` ) -* NGINX(需要所有资金) -* runit(需要小写`r` ) - -此外,反引号中必须包含命令,参数,值,文件名等. 例如: - -* "在您的`.gitlab.yml`更改`needs`关键字……" - * `needs`是一个参数,而`.gitlab.yml`是一个文件,因此两者都需要反引号. 此外, `.gitlab.yml`没有`.gitlab.yml` G 或 L,它将使 markdownlint 失败而没有反引号. -* “Run `git clone` to clone a Git repository…” - * `git clone`是命令,因此它必须是小写字母,而 Git 是乘积,因此它必须具有大写字母 G. - -## Structure[](#structure "Permalink") - -因为我们希望文档成为 SSOT,所以我们应该[按主题(而不是类型)进行组织](#organize-by-topic-not-by-type) . - -### Folder structure overview[](#folder-structure-overview "Permalink") - -该文档由顶级受众文件夹[`user`](https://gitlab.com/gitlab-org/gitlab-foss/tree/master/doc/user) , [`administration`](https://gitlab.com/gitlab-org/gitlab-foss/tree/master/doc/administration)和[`development`](https://gitlab.com/gitlab-org/gitlab-foss/tree/master/doc/development) (贡献)文件夹分开. - -Beyond that, we primarily follow the structure of the GitLab user interface or API. - -我们的目标是要建立一个清晰的层次结构,并包含有意义的 URL,例如`docs.gitlab.com/user/project/merge_requests/` . 使用这种模式,您可以立即知道您正在导航到有关 Project 功能的用户相关文档; 特别是关于合并请求. 我们网站的路径与我们存储库的路径匹配,因此清晰的结构还使文档更易于更新. - -下表显示了什么样的文档. - -| Directory | 这里属于什么 | -| --- | --- | -| `doc/user/` | 与用户相关的文档. 可以在 GitLab UI 中完成的所有操作都在这里进行,包括使用`/admin`界面. | -| `doc/administration/` | 要求用户有权访问安装了 GitLab 的服务器的文档. 可以通过 GitLab 界面访问的管理设置位于`doc/user/admin_area/` . | -| `doc/api/` | API 相关文档. | -| `doc/development/` | 与 GitLab 开发相关的文档,无论是贡献代码还是文档. 相关的流程和样式指南应该在此处. | -| `doc/legal/` | 有关对 GitLab 进行贡献的法律文件. | -| `doc/install/` | 包含有关安装 GitLab 的说明. | -| `doc/update/` | 包含有关更新 GitLab 的说明. | -| `doc/topics/` | 每个主题的索引( `doc/topics/topic-name/index.md` ):该主题的所有资源. | - -### Work with directories and files[](#work-with-directories-and-files "Permalink") - -1. 创建新目录时,请始终以`index.md`文件开头. 不要使用其他文件名, **也不要**创建`README.md`文件. -2. **请勿**在文件名,目录名,分支名和任何会生成路径的文件中使用特殊字符和空格或大写字母. -3. 创建新文档时,如果名称中包含多个单词,请确保使用下划线而不是空格或破折号( `-` ). 例如,正确的命名应为`import_projects_from_github.md` . 相同的规则适用于图像. -4. 对于图像文件,请勿超过 100KB. -5. 不要将视频文件上传到产品存储库. [链接或嵌入视频](#videos) . -6. 有四个主要目录, `user` , `administration` , `api`和`development` . -7. `doc/user/`目录具有五个主要子目录: `project/` , `group/` , `profile/` , `dashboard/`和`admin_area/` . - 1. `doc/user/project/`应包含所有与项目相关的文档. - 2. `doc/user/group/`应包含所有与组有关的文档. - 3. `doc/user/profile/`应包含所有与个人资料相关的文档. 您在`/profile`下导航的每个页面都应该有其自己的文档,例如`account.md` , `applications.md`或`emails.md` . - 4. `doc/user/dashboard/`应包含所有与仪表板相关的文档. - 5. `doc/user/admin_area/`应该包含所有与管理员相关的文档,这些文档描述了通过访问 GitLab 的管理界面可以实现的目的( *不要与需要服务器访问权限的`doc/administration`混淆* ). - 1. `/admin/application_settings/`下的每个类别都应有自己的文档,位于`doc/user/admin_area/settings/` . 例如," **可见性和访问控制"**类别应具有位于`doc/user/admin_area/settings/visibility_and_access_controls.md` . -8. `doc/topics/`目录包含与主题相关的技术内容. 必要时创建`doc/topics/topic-name/subtopic-name/index.md` . 应放置与用户和管理员相关的常规文档. -9. 目录`/workflow/` , `/university/`和`/articles/`已被**弃用** ,并且大多数文档已通过较小的迭代移动到了正确的位置. - -如果您不确定文档或内容添加应该放在哪里,那么这不会阻止您创作和贡献. 您可以根据自己的最佳判断,然后要求 MR 的审阅者确认您的决定,和/或在此过程的任何阶段询问技术作家. 技术写作团队将审查所有文档更改,无论如何,并且如果有合适的位置,可以移动内容. - -### Avoid duplication[](#avoid-duplication "Permalink") - -不要在多个地方包含相同的信息. [链接到 SSOT.](#link-instead-of-summarize) - -### References across documents[](#references-across-documents "Permalink") - -* 给每个文件夹一个 index.md 页面,该页面介绍该主题,介绍其中的页面,并链接到其中的页面(包括任何下一级子路径的索引页面). -* 为确保可发现性,请确保每个新文档或重命名的文档都从其更高级别的索引页面和其他相关页面链接. -* 当引用其他 GitLab 产品和功能时,至少在第一次提及时,链接到它们各自的文档. -* 当引用第三方产品或技术时,请链接到其外部站点,文档和资源. - -### Structure within documents[](#structure-within-documents "Permalink") - -* 包括[结构和模板](structure.html)页面上所述的所有适用小节. -* Structure content in alphabetical order in tables, lists, and so on, unless there is a logical reason not to (for example, when mirroring the UI or an otherwise ordered sequence). - -## Language[](#language "Permalink") - -GitLab 文档应清晰易懂. - -* 清楚,简明并遵守文档的目标. -* 用美国英语和美国语法书写. (在[`British.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/British.yml)测试.) -* 使用包容性语言. - -### Point of view[](#point-of-view "Permalink") - -在大多数情况下,使用第二人称(您自己)的观点是适当的,因为它友好且易于理解. (在[`FirstPerson.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/FirstPerson.yml)测试.) - -### Capitalization[](#capitalization "Permalink") - -* 在 GitLab 中大写" G"和" L". -* 句子大小写用于: - * 标题. - * 标签. - * 菜单项. - * 纽扣. - * 标题. 除非标题中提及产品功能,否则请勿在标题中大写其他单词. 例如: - * 大写"问题"在`## What you can do with GitLab Issues` ,但在`## Closing multiple issues`不可接受. -* 引用时使用标题大小写: - * [GitLab 功能](https://about.gitlab.com/features/) . 例如,发行板,地缘和亚军. - * GitLab [产品层](https://about.gitlab.com/pricing/) . 例如,GitLab Core 和 GitLab Ultimate. (在[`BadgeCapitalization.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/BadgeCapitalization.yml)测试.) - * 第三方产品. 例如,Prometheus,Kubernetes 和 Git. - * 方法或方法论. 例如,持续集成,持续部署,Scrum 和敏捷. (在[`.markdownlint.json`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/.markdownlint.json)测试.) - - **注意:**某些功能也是对象. 例如," GitLab 的合并请求支持 X"和"为 Z 创建新的合并请求". - -### Language to avoid[](#language-to-avoid "Permalink") - -创建文档时,请限制或避免使用以下动词时态,单词和短语: - -* 避免行话. -* 避免使用不常见的单词. -* 不要以第一人称单数形式书写. (在[`FirstPerson.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/FirstPerson.yml)测试.) - * 代替"我"或"我",而使用"我们","您","我们"或"一个". - * 在可能的情况下,通过写第二人称(" you"或命令式)来保持用户的注意力. -* 不要过度使用" that". 在许多情况下,您可以从句子中删除" that"并提高可读性. -* 避免使用将来时: - * 代替"在执行此命令后,GitLab 将显示结果",而应使用"在执行此命令后,GitLab 显示结果". - * 仅在将来某个时间实际发生动作或结果时,才使用将来时来表达. -* 不要使用斜杠将不同的单词组合在一起,也不要用"或"代替: - * 代替"和/或",可以考虑使用"或",或使用其他明智的结构. - * 其他示例包括"克隆/获取",作者/受让人和"命名空间/存储库名称". 以适当的方式拆分任何此类实例. - * 该规则的例外情况包括公认的技术术语,例如 CI / CD 和 TCP / IP. -* We discourage use of Latin abbreviations, such as “e.g.,” “i.e.,” or “etc.,” as even native users of English might misunderstand them. (Tested in [`LatinTerms.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/LatinTerms.yml).) - - * 代替"即",使用"即". - * 代替"例如",使用"例如","例如","例如"或"喜欢". - * 代替"等",可以使用"依此类推",也可以考虑对其进行编辑,因为它可能含糊不清. -* 在谈论产品或其功能时,请避免*当前*使用该词. 该文档按原样描述了该产品,而不是将来的某个不确定点. -* 避免在增加 GitLab 为其他用户的性能时使用*可扩展性*一词. 在其他情况下,可以使用" *缩放"*或" *缩放"*一词,但对于其他用户而言,提高 GitLab 性能的参考应将读者引导至 GitLab [参考架构](../../administration/reference_architectures/index.html)页面. -* 避免使用所有形式的短语" *高可用性"*和" *HA"* ,而是将读者引导至 GitLab [参考体系结构,](../../administration/reference_architectures/index.html)以获取有关配置 GitLab 使其随着时间的推移具有更多用户所需的性能的信息. -* 不要使用亵渎或 ob 亵. 这样做可能会对其他用户和贡献者产生负面影响,这与 GitLab 的" [多样性","包容性"和"归属"](https://about.gitlab.com/handbook/values/#diversity-inclusion)的价值背道而驰. -* 避免使用对[种族不敏感的术语或短语](https://www.marketplace.org/2020/06/17/tech-companies-update-language-to-avoid-offensive-terms/) . 例如: - * 将*主*数据库和*辅助*数据库用于数据库和服务器关系. - * 使用*allowlist*和*denylist*来描述访问控制列表. - -### Word usage clarifications[](#word-usage-clarifications "Permalink") - -* 不要互换使用" may"和" might": - * 使用"可能"表示发生某事的可能性. "如果跳过此步骤,则导入过程可能会失败." - * 使用"可能"表示允许某人做某事,或者考虑使用"可以". "您可以在此屏幕上选择一个选项." 或者,"您可以在此屏幕上选择任一选项." - -### Contractions[](#contractions "Permalink") - -* Use common contractions when it helps create a friendly and informal tone, especially in tutorials, instructional documentation, and [UIs](https://design.gitlab.com/content/punctuation/#contractions). (Tested in [`Contractions.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/Contractions.yml).) - - | Do | Don’t | - | --- | --- | - | it’s | 它是 | - | can’t | cannot | - | wouldn’t | 不会 | - | you’re | 你是 | - | you’ve | 你有 | - | haven’t | 没有 | - | don’t | 不要 | - | we’re | 我们是 | - | that’s | 那是 | - | won’t | 将不会 | - -* 避免少见的宫缩: - - | Do | Don’t | - | --- | --- | - | 他会 | he’d | - | 它会 | it’ll | - | 应该有 | should’ve | - | 那里会 | there’d | - -* 不要使用带有专有名词和动词的缩略词. 例如: - - | Do | Don’t | - | --- | --- | - | GitLab 正在创建 X | manbetx 客户端打不开创建 X | - -* 当您需要强调负面情绪时,不要使用收缩. 例如: - - | Do | Don’t | - | --- | --- | - | **不要**为 Y 安装 X | **不要**将 X 与 Y 一起安装 | - -* 不要在参考文档中使用收缩. 例如: - - | Do | Don’t | - | --- | --- | - | **不要**设置限制大于 1000 | **请勿**将限制设置为大于 1000 | - | 对于`parameter1` ,默认值为 10 | 对于`parameter1` ,默认值为 10 | - -* 避免错误消息中出现收缩. 例子: - - | Do | Don’t | - | --- | --- | - | 不允许对本地主机的请求 | 不允许对本地主机的请求 | - | 指定的 URL 不能使用 | 指定的网址无法使用 | - -## Text[](#text "Permalink") - -* [Write in Markdown](#markdown). -* 分隔长行(最好最多 100 个字符)可以更轻松地提供有关小块文本的反馈. -* 在新段落中插入一个空行. -* 在不同的标记之间插入一个空行(例如,在每个段落,标题,列表等之后). 例: - - ``` - ## Header - - Paragraph. - - List item 1 - - List item 2 - ``` - -### Emphasis[](#emphasis "Permalink") - -* 使用双星号( `**` )将单词或文本标记为粗体( `**bold**` ). -* 下划线( `_` )用于斜体( `_italic_` )文本. -* 块引用使用大于( `>` ). - -### Punctuation[](#punctuation "Permalink") - -检查下表中 GitLab 文档的常规标点规则. 检查以下[列表的](#lists)特定标点规则. - -| Rule | Example | -| --- | --- | -| 总是以句号结束完整的句子. | *有关完整概述,请通读本文档.* | -| 在开始新句子时,请始终在句点之后添加空格. | *有关完整的概述,请查看此文档. 有关其他参考,请查阅本指南.* | -| 不要使用双空格. (在[`SentenceSpacing.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/SentenceSpacing.yml)测试.) | — | -| 不要使用制表符进行缩进. 请改用空格. 您可以将代码编辑器配置为在按 Tab 键时输出空格而不是制表符. | — | -| 在列表中最后一个"和/或"之前使用连续逗号("牛津逗号"). (在[`OxfordComma.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/OxfordComma.yml)测试.) | *您可以创建新问题,合并请求和里程碑.* | -| 在句子中使用破折号之前和之后,请始终添加空格(例如,用于替换逗号). | *您应该尝试这样做-还是不可以.* | -| 总是在冒号后面使用小写字母. | *相关问题:一种在问题之间建立关系的方法.* | - -### Placeholder text[](#placeholder-text "Permalink") - -在示例中,编写者通常会提供除特定于阅读者的值之外完整的命令或配置. - -在这些情况下,使用[`<`和`>`](https://en.wikipedia.org/wiki/Usage_message#Pattern)指出读者必须用自己的值替换文本的位置. - -例如: - -``` -cp -``` - -## Lists[](#lists "Permalink") - -* 始终使用大写字母开头列表项,除非它们是反引号或类似的参数或命令. -* 始终在列表前后留空行. -* 以空格(不是制表符)开头的行表示[嵌套的子项](#nesting-inside-a-list-item) . - -### Ordered vs. unordered lists[](#ordered-vs-unordered-lists "Permalink") - -仅当其项目描述要遵循的步骤序列时,才使用有序列表. - -Do: - -``` -These are the steps to do something: - 1. First, do the first step. -1. Then, do the next step. -1. Finally, do the last step. -``` - -Don’t: - -``` -This is a list of available features: - 1. Feature 1 -1. Feature 2 -1. Feature 3 -``` - -### Markup[](#markup "Permalink") - -* 对于无序列表,请使用破折号( `-` )代替星号( `*` ). -* 在有序列表中的每个项目之前添加前缀`1.` .. 呈现后,列表项将自动以顺序编号显示. - -### Punctuation[](#punctuation-1 "Permalink") - -* 不要在列表项的末尾添加逗号( `,` )或分号( `;` ). -* 如果项目由完整的句子组成,则仅在项目的末尾添加句号. [完整句子](https://www2.le.ac.uk/offices/ld/all-resources/writing/grammar/grammar-guides/sentence)的[定义](https://www2.le.ac.uk/offices/ld/all-resources/writing/grammar/grammar-guides/sentence)是: *"完整句子总是包含一个动词,表达一个完整的构想,并且在单独存在时有意义"* . -* Be consistent throughout the list: if the majority of the items do not end in a period, do not end any of the items in a period, even if they consist of a complete sentence. The opposite is also valid: if the majority of the items end with a period, end all with a period. -* 从解释性文字分隔列表项用冒号( `:` ). 例如: - - ``` - The list is as follows: - - First item: this explains the first item. - - Second item: this explains the second item. - ``` - -**Examples:** - -Do: - -* 第一个清单项目 -* 第二个清单项目 -* 第三清单项目 - -Don’t: - -* 第一个清单项目 -* 第二个清单项目 -* 第三列表项. - -Do: - -* 假设这是一个完整的句子. -* 假设这也是一个完整的句子. -* 句子不完整. - -请勿(各种句号的使用;多数规则): - -* 假设这是一个完整的句子. -* 假设这也是一个完整的句子. -* 句子不完整 - -### Nesting inside a list item[](#nesting-inside-a-list-item "Permalink") - -可以将项目嵌套在列表项目下,以便它们呈现与列表项目相同的缩进. 这可以通过以下方式完成: - -* [Code blocks](#code-blocks) -* [Blockquotes](#blockquotes) -* [Alert boxes](#alert-boxes) -* [Images](#images) - -嵌套在列表中的项目应始终与列表项目的第一个字符对齐. 在无序列表(使用`-` )中,这表示每个缩进级别有两个空格: - -``` -- Unordered list item 1 - - A line nested using 2 spaces to align with the `U` above. - - Unordered list item 2 - > A quote block that will nest - > inside list item 2. - - Unordered list item 3 - - ```plaintext - a codeblock that will next inside list item 3 - ``` - - Unordered list item 4 - - ![an image that will nest inside list item 4](image.png) -``` - -对于有序列表,每个缩进级别使用三个空格: - -``` -1. Ordered list item 1 - - A line nested using 3 spaces to align with the `O` above. - 1. Ordered list item 2 - > A quote block that will nest - > inside list item 2. - 1. Ordered list item 3 - - ```plaintext - a codeblock that will next inside list item 3 - ``` - 1. Ordered list item 4 - - ![an image that will nest inside list item 4](image.png) -``` - -您可以使用与上述相同的规则将完整列表嵌套在其他列表中. 如果您希望混合类型,也可以,只要您不混合同一级别的项目即可: - -``` -1. Ordered list item one. -1. Ordered list item two. - - Nested unordered list item one. - - Nested unordered list item two. -1. Ordered list item three. - - Unordered list item one. -- Unordered list item two. - 1. Nested ordered list item one. - 1. Nested ordered list item two. -- Unordered list item three. -``` - -## Tables[](#tables "Permalink") - -应该使用表格以简单的方式描述复杂的信息. 请注意,在许多情况下,无序列表足以描述一个项目列表,而每个项目只有一个简单的描述. 但是,如果您拥有最能用矩阵描述的数据,则表是使用的最佳选择. - -### Creation guidelines[](#creation-guidelines "Permalink") - -由于可访问性和可扫描性要求,表中不应包含任何空白单元格. 如果某个单元格没有其他有意义的值,请考虑输入*N / A* ("不适用")或*不输入* . - -为了使表更易于维护,请考虑在列宽上添加额外的空格以使其一致. 例如: - -``` -| App name | Description | Requirements | -|:---------|:---------------------|:---------------| -| App 1 | Description text 1\. | Requirements 1 | -| App 2 | Description text 2\. | None | -``` - -考虑在编辑器中安装插件或扩展程序以格式化表格: - -* 用于 Visual Studio 代码的[Markdown 表修饰符](https://marketplace.visualstudio.com/items?itemName=darkriszty.markdown-table-prettify) -* 升华文字的[Markdown 表格式化](https://packagecontrol.io/packages/Markdown Table Formatter)程序 -* 用于 Atom 的[Markdown 表格式化](https://atom.io/packages/markdown-table-formatter)程序 - -### Feature tables[](#feature-tables "Permalink") - -创建功能列表时(例如," [权限"](../../user/permissions.html#project-members-permissions)页面上的某些角色是否可以使用功能),请使用以下短语(基于 SVG 图标): - -* *No*: No -* *Yes*: Yes - -## Quotes[](#quotes "Permalink") - -仅适用于 Markdown 内容,不适用于优先事项条目: - -* 标准引号:双引号( `"` ).例如:"这用双引号引起来". -* 用引号引起来:双引号( `"` )包裹单引号( `'` ).例如:"我正在用引号引起来". - -有关其他标点规则,请参考[GitLab UX 指南](https://design.gitlab.com/content/punctuation/) . - -## Headings[](#headings "Permalink") - -* 通过在每个文档的开头添加`#` (在使用 Markdown 时), **仅**在每个文档中添加**一个 H1** . `h1`将是文档`` . -* 从`h2` ( `##` )开始,并遵循`h2` > `h3` > `h4` > `h5` > `h6`的顺序. 切勿跳过层次结构级别,例如`h2` > `h4` -* 避免将数字放在标题中. 数字移动,因此文档锚链接也移动,最终导致死链接. 如果您认为在标题中添加数字非常有必要,请确保至少与"合并请求"中的某人进行讨论. -* [避免](https://gitlab.com/gitlab-org/gitlab-docs/-/issues/84)在标题中[使用符号和特殊字符](https://gitlab.com/gitlab-org/gitlab-docs/-/issues/84) . 只要有可能,它们应为纯文本和简短文本. -* 避免添加显示短暂状态的内容. 例如,如果某个功能被认为是 Beta 或试验性功能,请将此信息放在注释中而不是标题中. -* 引入新文档时,请注意标题在语法和语法上都是正确的. 提及[指定的技术作家(TW)](https://about.gitlab.com/handbook/product/product-categories/)以进行审查. 这是为了确保没有错误标题的文档将在未经审核的情况下生效,从而防止在纠正时出现无效链接和重定向问题. -* 在标题前后只留一个空白行. -* 不要在标题中使用链接. -* 根据功能所属的级别添加相应的[产品徽章](#product-badges) . -* 我们的 docs 网站搜索引擎会区分标题和副标题中使用的单词的优先级. 如[标题标题](#heading-titles)部分所示,使标题标题清晰,描述性且完整,以帮助用户找到正确的示例. -* 有关将标题[大写](#capitalization)的指南,请参见[大写](#capitalization) . - -### Heading titles[](#heading-titles "Permalink") - -保持标题清晰,直接. 使每个单词都重要. 为了适应搜索引擎优化(SEO),请尽可能使用命令. - -| Do | Don’t | -| --- | --- | -| Configure GDK | Configuring GDK | -| GitLab 发布和维护政策 | 本节介绍 GitLab 的发布和维护政策 | -| 向后移植到较旧的版本 | 向后移植到较旧的版本 | -| GitLab 页面示例 | Examples | - -有关大写标题的准则,请参见[大写](#capitalization)部分. - -**注意:**如果更改现有标题,请当心. 任何此类更改可能不仅影响页面内的[链接](#anchor-links) ,而且还可能影响来自 GitLab 本身的链接以及指向 GitLab 文档的外部链接. - -### Anchor links[](#anchor-links "Permalink") - -渲染时,标题会自动生成锚链接. `## This is an example`生成锚点`#this-is-an-example` . - -请记住,GitLab UI 链接到大量文档以及相应的锚链接,以将用户带到正确的位置. 因此,当您更改标题时,请在`doc/*` , `app/views/*`和`ee/app/views/*`搜索旧的锚点,以确保您不会破坏从其他文档或 GitLab UI 链接的锚点. 如果找到旧的锚,请确保将其替换为新的锚. - -Important: - -* 除非需要链接到文档的特定部分,否则请避免将文档交到标题. 如果方向改变,这将避免将来破坏锚. -* 如果可能,请避免更改标题,因为它们不仅是内部链接的. 互联网上有指向 GitLab 文档的各种链接,例如教程,演示文稿,StackOverflow 帖子和其他资源. -* 不要链接到`h1`标题. - -需要注意的是,与 Kramdown,也可以自定义 ID 添加到与降价的标记 HTML 元素,但他们**没有**在 GitLab 的工作`/help` . 因此,除非另行通知,否则不要使用此选项. - -## Links[](#links "Permalink") - -链接在 GitLab 文档中很重要. 它们使您可以[链接而不是进行汇总,](#link-instead-of-summarize)以帮助在 GitLab 文档中保留[SSoT](#why-a-single-source-of-truth) . - -我们提供以下类别的链接指南: - -* 如何设置标题的[锚链接](#anchor-links) . -* 如何设置[标准](#basic-link-criteria)配置的链接. -* [链接到`help`](../documentation/index.html#linking-to-help)页面时要设置的内容. -* 如何设置[指向内部文档的链接以](#links-to-internal-documentation)进行交叉引用. -* 如何建立[指向](#links-to-external-documentation)权威来源的[外部文档的链接](#links-to-external-documentation) . -* 何时使用[需要权限的链接](#links-requiring-permissions) . -* 如何设置[视频链接](#link-to-video) . -* 如何在[版本文本中包含链接](#text-for-documentation-requiring-version-text) . -* 如何[链接到特定的代码行](#link-to-specific-lines-of-code) - -### Basic link criteria[](#basic-link-criteria "Permalink") - -* 使用内联链接 Markdown 标记`[Text](https://example.com)` . 它更易于阅读,查看和维护. **不要**使用`[Text][identifier]` . - -* 使用[有意义的锚文本](https://www.futurehosting.com/blog/links-should-have-meaningful-anchor-text-heres-why/) . 例如, `Read more about GitLab Issue Boards [here](LINK)`编写类似" `Read more about GitLab Issue Boards [here](LINK)` ,而不是撰写`Read more about [GitLab Issue Boards](LINK)` . - -### Links to internal documentation[](#links-to-internal-documentation "Permalink") - -**注意:** *内部*是指同一项目中的文档. 链接到单独项目中的文档时(例如,从 GitLab 文档链接到 Omnibus 文档),必须使用绝对 URL. - -请勿使用`https://docs.gitlab.com/ee/index.html`类的绝对 URL 交叉链接到同一项目中的其他文档. 使用指向文件的相对链接,例如`../index.md` . (在呈现网站时将这些转换为 HTML.) - -相对链接使交叉链接可以正常工作: - -* 在 Review Apps,本地预览和`/help` . -* 在本地处理文档时,您可以在此过程中尽早验证它们是否有效. -* 浏览各自存储库中的文档文件时,可以在 GitLab UI 中使用. 例如,显示在`https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/README.md`的链接. - -链接到内部文档: - -* 使用相对链接指向同一存储库中的 Markdown 文件. -* 不要使用绝对 URL 或`docs.gitlab.com` URL. -* 使用`../`导航到更高级别的目录. -* 不要相对于根链接. 例如,/ `/ee/user/gitlab_com/index.md` . - - Don’t: - - * `https://docs.gitlab.com/ee/administration/geo/replication/troubleshooting.html` - * `/ee/administration/geo/replication/troubleshooting.md` - - Do: `../../geo/replication/troubleshooting.md` - -* 始终在链接末尾添加文件名`file.md` ,扩展名为`.md`而不是`.html` . - - Don’t: - - * `../../merge_requests/` - * `../../issues/tags.html` - * `../../issues/tags.html#stages` - - Do: - - * `../../merge_requests/index.md` - * `../../issues/tags.md` - * `../../issues/tags.md#stages` - -**注意:** GitLab 的[`/help`](index.html#gitlab-help)部分必须使用 Markdown 扩展名. - -### Links to external documentation[](#links-to-external-documentation "Permalink") - -描述与外部软件的交互时,包括指向外部文档的链接通常会很有帮助. 如果可能,请确保您链接到**权威**来源. 例如,如果您要描述 Microsoft Active Directory 中的功能,请包括指向 Microsoft 官方文档的链接. - -### Links requiring permissions[](#links-requiring-permissions "Permalink") - -不要直接链接到: - -* [Confidential issues](../../user/project/issues/confidential_issues.html). -* 需要[特殊权限](../../user/permissions.html)才能查看的项目功能. - -这些将因以下原因而失败: - -* 那些没有足够权限的人. -* 自动链接检查器. - -Instead: - -* 为了减少混乱,请在文本中提及以下信息之一: - * 包含在一个机密问题中. - * 需要项目的特殊权限才能查看. -* 在反勾号( ``` )中提供一个链接,以便那些有权访问该问题的人可以轻松导航到该问题. - -Example: - -``` -For more information, see the [confidential issue](../../user/project/issues/confidential_issues.md) `https://gitlab.com/gitlab-org/gitlab-foss/-/issues/<issue_number>`. -``` - -### Link to specific lines of code[](#link-to-specific-lines-of-code "Permalink") - -链接到文件中的特定行时,请链接到提交而不是分支. 代码行随时间变化,因此,使用 commit 链接链接到一行可确保用户落在您所指的行上. 在查看项目中的文件时,可以使用" **永久链接"**按钮,它可以轻松生成指向给定文件的最新提交的链接. - -* **Do:** `[link to line 3](https://gitlab.com/gitlab-org/gitlab/-/blob/11f17c56d8b7f0b752562d78a4298a3a95b5ce66/.gitlab/issue_templates/Feature%20proposal.md#L3)` -* **Don’t:** `[link to line 3](https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/issue_templates/Feature%20proposal.md#L3).` - -如果由于进一步的提交,该链接的表达式不再在文件的该行中,则您仍然可以在文件中搜索该查询. 在这种情况下,请更新文档以确保其链接到文件的最新版本. - -## Navigation[](#navigation "Permalink") - -指示通过 UI 导航的步骤: - -* 使用界面中显示的确切字词,包括所有大写字母. -* 使用粗体文本显示导航项,并使用字符"大于"( `>` )作为分隔符(例如, `Navigate to your project's **Settings > CI/CD**` ). -* 如果有任何可展开的菜单,请确保提及用户需要展开选项卡以找到您要引用的设置(例如, `Navigate to your project's **Settings > CI/CD** and expand **General pipelines**` ). - -## Images[](#images "Permalink") - -图像(包括屏幕截图)可以帮助读者更好地理解概念. 但是,它们可能难以维护,应谨慎使用. - -在文档中包括图片之前,请确保它为读者提供了价值. - -### Capture the image[](#capture-the-image "Permalink") - -使用图像可以帮助读者了解它们在过程中的位置,或与应用程序进行交互的方式. - -截屏时: - -* *捕获页面中最相关的区域.* 不要包含不必要的空白或页面区域,以免说明您的观点. 另外,如果不需要,不要包括整个页面,而且还要确保图像包含足够的信息以允许用户确定事物的位置. -* *始终如一.* 找到适合您的浏览器窗口大小,该窗口大小还会显示产品的所有区域,包括左侧导航栏(通常> 1200 像素宽). 为了保持一致,请通过安装用于将窗口设置为特定大小的浏览器扩展程序(例如,用于 Google Chrome 的[Window Resizer](https://chrome.google.com/webstore/detail/window-resizer/kkelicaakdanhinjdeammmilcgefonfh/related?hl=en) ),将此浏览器窗口大小用于屏幕截图. - -### Save the image[](#save-the-image "Permalink") - -* 用一个小写的文件名保存该图像,该文件名描述了图像中的功能或概念. 如果该图像属于 GitLab 界面,则根据以下格式将 GitLab 版本附加到文件名: `image_name_vX_Y.png` . 例如,对于从 GitLab 11.1 的管道页面中截取的屏幕截图,有效名称为`pipelines_v11_1.png` . 如果要添加的插图不包含用户界面的各个部分,请添加与添加图像的版本相对应的版本号; 对于添加到 11.1 里程碑中的 MR,插图的有效名称是`devops_diagram_v11_1.png` . -* 将图像放置在名为`img/`的单独目录中,该目录与您正在使用的`.md`文档所在的目录相同. -* 考虑使用 PNG 图像而不是 JPEG. -* [Compress all PNG images](#compress-images). -* 使用[https://ezgif.com/optimize](https://ezgif.com/optimize)或类似工具压缩 gif. -* 应该使用图像(仅在必要时使用)来*说明*过程说明,而不是*替代*过程. -* 图片大小上限:100KB(含 Gif). -* 另请参阅如何链接和嵌入[视频](#videos)以说明文档. - -### Add the image link to content[](#add-the-image-link-to-content "Permalink") - -用于在文档中包含图像的 Markdown 代码为: `![Image description which will be the alt tag](img/document_image_title_vX_Y.png)` - -图像描述是 docs 网站上渲染图像的替代文本. 对于可访问性和 SEO,请使用以下[描述](https://webaim.org/techniques/alttext/) : - -* 准确,简洁且独特. -* 请勿使用*…的图像*或*…的* *图形*来描述图像. - -另外,如果标题紧随图像之后,请确保在图像和标题之间添加三个破折号( `---` ). - -### Remove image shadow[](#remove-image-shadow "Permalink") - -默认情况下,在[GitLab 文档站点](https://s0docs0gitlab0com.icopy.site)上显示的所有图像都有一个阴影框. 要删除框阴影,请使用直接应用于 HTML `img`标签的图像类`.image-noshadow` : - -``` -<img src="path/to/image.jpg" alt="Alt text (required)" class="image-noshadow"> -``` - -### Compress images[](#compress-images "Permalink") - -您应该始终压缩添加到文档中的任何新图像. 一种已知的工具是[`pngquant`](https://pngquant.org/) ,它是跨平台和开源的. 通过访问官方网站并按照您的操作系统说明进行安装. - -GitLab 有一个[Rake 任务](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/tasks/pngquant.rake) ,可用于自动执行该过程. 在本地`https://gitlab.com/gitlab-org/gitlab`副本的根目录中,在终端中运行: - -* 压缩之前,如果需要,请检查是否已压缩所有文档 PNG 图像: - - ``` - bundle exec rake pngquant:lint - ``` - -* 使用`pngquant`压缩所有文档 PNG 图像: - - ``` - bundle exec rake pngquant:compress - ``` - -唯一需要注意的是,该任务将在`doc/`下的所有图像上运行,而不仅仅是您可能包含在合并请求中的图像. 在这种情况下,您可以运行 compress 任务,仅提交与合并请求相关的图像. - -## Videos[](#videos "Permalink") - -强烈建议将 GitLab 的现有 YouTube 视频教程添加到文档中,除非该视频已过时. 视频不应取代文档,而应补充或说明文档. 如果视频中的内容是功能及其关键用例的基础,但是文档中没有对此进行充分介绍,请将此详细信息添加到文档文本中,或者创建问题以查看视频并这样做. - -不要将视频上传到产品存储库. [链接](#link-to-video)或[嵌入](#embed-videos)它们. - -### Link to video[](#link-to-video "Permalink") - -要链接到视频,请添加 YouTube 图标,以便读者在阅读之前可以快速轻松地扫描页面上的视频: - -``` -<i class="fa fa-youtube-play youtube" aria-hidden="true"></i> -For an overview, see [Video Title](link-to-video). -``` - -您可以链接任何对 GitLab 用户有用的最新视频. - -### Embed videos[](#embed-videos "Permalink") - -在 GitLab 12.1 中[引入](https://gitlab.com/gitlab-org/gitlab-docs/-/merge_requests/472) . - -[GitLab Docs 网站](https://s0docs0gitlab0com.icopy.site)支持嵌入式视频. - -您只能嵌入来自[GitLab 的官方 YouTube 帐户的视频](https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg) . 对于其他来源的视频,请[链接](#link-to-video)它们. - -在大多数情况下,最好[链接到视频](#link-to-video) ,因为嵌入会占用页面上的大量空间,并且可能分散读者的注意力. - -要嵌入视频,请按照以下说明进行操作,并确保您的 MR 已得到技术作家的审查和批准. - -1. 复制下面的代码,并将其粘贴到 Markdown 文件中. 在其上方和下方保留空白行. 请勿编辑代码(请勿删除或添加任何空格). -2. 在 YouTube 上,访问要显示的视频 URL. 从您的浏览器复制常规 URL( `https://www.youtube.com/watch?v=VIDEO-ID` ),然后替换视频标题和`<div class="video-fallback">`行中的链接. -3. 在 YouTube 上,点击**共享** ,然后点击**嵌入** . -4. 仅复制`<iframe>`源( `src` ) **URL** ( `https://www.youtube.com/embed/VIDEO-ID` ),然后粘贴它,替换`iframe`标记中`src`字段的内容. - -``` -leave a blank line here -<div class="video-fallback"> - See the video: <a href="https://www.youtube.com/watch?v=MqL6BMOySIQ">Video title</a>. -</div> -<figure class="video-container"> - <iframe src="https://www.youtube.com/embed/MqL6BMOySIQ" frameborder="0" allowfullscreen="true"> </iframe> -</figure> -leave a blank line here -``` - -它是如何在 GitLab Docs 网站上呈现的: - -观看视频: [什么是 GitLab](https://www.youtube.com/watch?v=enMumwvLAug) . - -<figure class="video-container"><iframe src="https://www.youtube.com/embed/MqL6BMOySIQ" frameborder="0" allowfullscreen=""></iframe></figure> - -> Notes: -> -> * `figure`标记是语义 SEO 所必需的,而`video_container`类是必需的,以确保视频能够响应并在不同的移动设备上很好地显示. -> * `<div class="video-fallback">`是 GitLab 的`/help`必需的后备,因为 GitLab 的 Markdown 处理器不支持 iframe. 它隐藏在 docs 网站上,但将显示在 GitLab 的`/help` . - -## Code blocks[](#code-blocks "Permalink") - -* 始终将添加到句子的代码包装在内联代码块( ``` )中. 例如`.gitlab-ci.yml` , `git add .` , `CODEOWNERS`或`only: [master]` . 文件名,命令,条目以及任何涉及代码的内容都应添加到代码块中. 为了使用户更轻松,请始终为可复制和粘贴的内容添加完整的代码块,因为他们可以使用代码块上的按钮轻松进行操作. -* 在代码块的上方和下方添加一个空行. -* 提供 shell 命令及其输出时,请在 shell 命令前加上`$`前缀,并在命令和输出之间留空行. -* 提供无输出的命令时,请不要在 shell 命令前加上`$`前缀. -* 如果需要在代码块中包括三个反引号,则对代码块围栏使用四个反引号,而不是三个. -* 对于常规的受保护代码块,请始终使用与该语言对应的突出显示类,以提高可读性. 例子: - - ``` - ```ruby Ruby code - ``` - - ```javascript JavaScript code - ``` - - ```markdown [Markdown code example](example.md) - ``` - - ```plaintext Code or text for which no specific highlighting class is available. - ``` - ``` - -加到 GitLab 文档中的受防护代码块要求突出显示语法. 有关最常用的语言类别,请参考下表,或查看可用语言类别的[完整列表](https://github.com/rouge-ruby/rouge/wiki/List-of-supported-languages-and-lexers) . - -| 首选语言标签 | 语言别名和注释 | -| --- | --- | -| `asciidoc` |   | -| `dockerfile` | Alias: `docker`. | -| `elixir` |   | -| `erb` |   | -| `golang` | Alias: `go`. | -| `graphql` |   | -| `haml` |   | -| `html` |   | -| `ini` | 对于一些非 TOML 格式的简单配置文件. | -| `javascript` | Alias `js`. | -| `json` |   | -| `markdown` | Alias: `md`. | -| `mermaid` |   | -| `nginx` |   | -| `perl` |   | -| `php` |   | -| `plaintext` | 没有定义语言的示例,例如 shell 命令或 API 调用的输出. 如果代码块没有语言,则默认为`plaintext` . 别名: `text` . | -| `prometheus` | Prometheus 配置示例. | -| `python` |   | -| `ruby` | Alias: `rb`. | -| `shell` | Aliases: `bash` or `sh`. | -| `sql` |   | -| `toml` | Runner 配置示例以及其他 TOML 格式的配置文件. | -| `typescript` | Alias: `ts`. | -| `xml` |   | -| `yaml` | Alias: `yml`. | - -有关代码块的完整参考,请参阅《 [Kramdown 指南》](https://about.gitlab.com/handbook/markdown-guide/#code-blocks) . - -## GitLab SVG icons[](#gitlab-svg-icons "Permalink") - -在 GitLab 12.7 中[引入](https://gitlab.com/gitlab-org/gitlab-docs/-/issues/384) . - -您可以直接在文档中使用来自[GitLab SVG 库的](https://gitlab-org.gitlab.io/gitlab-svgs/)图标. - -This way, you can achieve a consistent look when writing about interacting with GitLab UI elements. - -用法示例: - -* 默认尺寸(16 像素)的`**{icon-name}**` : `**{icon-name}**` - - 示例: `**{tanuki}**`呈现为: . - -* 具有自定义尺寸的`**{icon-name, size}**` : `**{icon-name, size}**` - - 可用尺寸(以像素为单位):8、10、12、14、16、18、24、32、48 和 72 - - 示例: `**{tanuki, 24}**`呈现为: . - -* 具有自定义尺寸和类别的`**{icon-name, size, class-name}**` : `**{icon-name, size, class-name}**` . - - 您可以在 GitLab 文档 CSS 中访问此元素可用的任何类. - - 带有`float-right`示例, [Bootstrap 实用程序类](https://s0getbootstrap0com.icopy.site/docs/4.4/utilities/float/) : `**{tanuki, 32, float-right}**`呈现为: - -### Use GitLab SVGs to describe UI elements[](#use-gitlab-svgs-to-describe-ui-elements "Permalink") - -使用 GitLab SVG 描述屏幕元素时,还应包括该元素的名称或工具提示作为文本. - -例如,对于"管理区"的引用: - -* Correct: `**{admin}** **Admin Area > Settings**` ( **管理区域>设置**) -* Incorrect: `**{admin}** **> Settings**` ( **>设定**) - -这将确保源 Markdown 保持可读性,并应有助于辅助功能. - -以下是菜单项的源 Markdown 示例及其发布的输出: - -``` -1. Go to **{home}** **Project overview > Details** -1. Go to **{doc-text}** **Repository > Branches** -1. Go to **{issues}** **Issues > List** -1. Go to **{merge-request}** **Merge Requests** -1. Go to **{rocket}** **CI/CD > Pipelines** -1. Go to **{shield}** **Security & Compliance > Configuration** -1. Go to **{cloud-gear}** **Operations > Metrics** -1. Go to **{package}** **Packages > Container Registry** -1. Go to **{chart}** **Project Analytics > Code Review** -1. Go to **{book}** **Wiki** -1. Go to **{snippet}** **Snippets** -1. Go to **{users}** **Members** -1. Select the **More actions** **{ellipsis_v}** icon > **Hide stage** -``` - -1. 去 **项目概述>详细信息** -2. Go to **资料库>分支机构** -3. 去 **问题>清单** -4. 去 **合并请求** -5. 去 **CI / CD>管道** -6. 去 **安全与合规>配置** -7. 去 **操作>指标** -8. 去 **包>容器注册表** -9. 去 **项目分析>代码审查** -10. 去 **维基** -11. 去 **片段** -12. 去 **会员** -13. 选择**更多操作** 图标> **隐藏舞台** - -## Alert boxes[](#alert-boxes "Permalink") - -每当您需要特别注意特定句子时,请使用以下标记突出显示. - -请注意,警报框仅适用于一个段落. 多个段落,列表,标题等将无法正确呈现. 对于多行,请改用[blockquotes](#blockquotes) . - -警报框仅在 GitLab Docs 网站( [https://docs.gitlab.com](https://s0docs0gitlab0com.icopy.site) )上呈现. 在 GitLab 本身中,它们将显示为纯 Markdown 文本(如下面呈现的版本上方的示例). - -### Note[](#note "Permalink") - -注释引起了大多数读者的注意,因此应谨慎使用. 在大多数情况下,应考虑为便笺考虑的内容: - -* 仅作为上一段或最相关段落中的另一句话. -* 作为其自己的独立段落. -* 作为介绍该主题的新子标题下的内容,使它更明显/更容易找到. - -#### When to use[](#when-to-use "Permalink") - -当出于某种原因,大多数或所有浏览本节的读者都应看到内容时,请使用注释. 就是说,如果错过了它,可能会给少数用户造成重大麻烦,或者对大多数用户造成重大麻烦. - -权衡分散内容无关用户的成本与丢失内容(如果未表示为注释)的用户成本. - -``` -NOTE: **Note:** -This is something to note. -``` - -它如何在 GitLab Docs 网站上呈现: - -**注意:**这是要注意的事情. - -### Tip[](#tip "Permalink") - -``` -TIP: **Tip:** -This is a tip. -``` - -它如何在 GitLab Docs 网站上呈现: - -**提示:**这是一个提示. - -### Caution[](#caution "Permalink") - -``` -CAUTION: **Caution:** -This is something to be cautious about. -``` - -它如何在 GitLab Docs 网站上呈现: - -**注意:**这是要谨慎的事情. - -### Danger[](#danger "Permalink") - -``` -DANGER: **Danger:** -This is a breaking change, a bug, or something very important to note. -``` - -它如何在 GitLab Docs 网站上呈现: - -**危险:**这是一个重大更改,错误或要注意的重要事项. - -## Blockquotes[](#blockquotes "Permalink") - -要突出显示蓝色方框引号内的文本,请使用以下格式: - -``` -> This is a blockquote. -``` - -在[GitLab 文档网站上显示](https://s0docs0gitlab0com.icopy.site)为: - -> 这是一个大引用. - -如果文本跨多行,则可以拆分行. - -对于多个段落,请在每行之前使用符号`>` : - -``` -> This is the first paragraph. -> -> This is the second paragraph. -> -> - This is a list item -> - Second item in the list -``` - -导致: - -> 这是第一段. -> -> 这是第二段. -> -> * 这是一个清单项目 -> * 列表中的第二项 - -## Terms[](#terms "Permalink") - -为了通过 GitLab 文档保持一致性,以下内容将指导文档作者了解一致的样式和术语的用法. - -### Merge Requests (MRs)[](#merge-requests-mrs "Permalink") - -合并请求使您可以交换对源代码所做的更改,并与同一项目中的其他人进行协作. 您将看到此术语以下列方式使用: - -* 如果您要使用此功能,请使用**合并请求** . -* 在任何其他上下文中,请使用**merge request** . - -如我们公司的《 [写作风格指南》所述](https://about.gitlab.com/handbook/communication/#writing-style-guidelines) ,如果您使用**MR**首字母缩写词,请在每个文档页面上至少展开一次. 例如,第一次指定 MR 时,请指定*Merge Request(MR)*或*merge request(MR)* . - -Examples: - -* "我们更喜欢 GitLab 合并请求". -* "打开合并请求以修复断开的链接". -* "打开合并请求(MR)后,将您的 MR 提交以供审核和批准". - -### Describe UI elements[](#describe-ui-elements "Permalink") - -以下是在屏幕上描述 UI 元素时要遵循的样式: - -* 对于带有可见标签的元素,请使用带有匹配大小写的粗体标签. 例如, `the **Cancel** button` . -* 对于带有工具提示或悬停标签的元素,请使用带有匹配大小写的粗体标签. 例如, `the **Add status emoji** button` . - -### Verbs for UI elements[](#verbs-for-ui-elements "Permalink") - -以下是建议用于 UI 元素的特定动词: - -| Recommended | 用于 | Replaces | -| --- | --- | --- | -| *click* | 按钮,链接,菜单项 | "点击","按","选择" | -| *select* or *clear* | checkboxes | "启用","单击","按" | -| *select* | dropdowns | “pick” | -| *expand* | expandable sections | “open” | - -### Other Verbs[](#other-verbs "Permalink") - -| Recommended | 用于 | Replaces | -| --- | --- | --- | -| *去* | 使浏览器定位 | "导航至","打开" | - -## GitLab versions and tiers[](#gitlab-versions-and-tiers "Permalink") - -标记和发布版本的 GitLab 文档可用: - -* 在[文档档案中](https://docs.gitlab.com/archives/) . -* 在任何 GitLab 安装的`/help` URL 中. - -引入新功能的版本已添加到文档主题的顶部,以提供有关该功能开发方式的有用链接. - -### Text for documentation requiring version text[](#text-for-documentation-requiring-version-text "Permalink") - -* For features that need to declare the GitLab version that the feature was introduced. Text similar to the following should be added immediately below the heading as a blockquote: - * `> Introduced in GitLab 11.3.`. -* 只要有可能,版本文本都应具有指向已*完成的*发行,合并请求或引入了该功能的史诗的链接. 问题优先于合并请求,而合并请求优先于史诗. 例如: - * `> [Introduced](<link-to-issue>) in GitLab 11.3.` . -* 如果该功能仅在 GitLab 企业版中可用,请提及该功能在以下位置的[付费层](https://about.gitlab.com/handbook/marketing/product-marketing/#tiers) : - * `> [Introduced](<link-to-issue>) in [GitLab Starter](https://about.gitlab.com/pricing/) 11.3.` . -* 如果随着功能的发展列出了多个版本的信息,请将该信息添加到带引号的项目符号列表中. 例如: - - ``` - > - [Introduced](<link-to-issue>) in GitLab 11.3. - > - Enabled by default in GitLab 11.4. - ``` - -* 如果功能已移至另一层: - - ``` - > - [Introduced](<link-to-issue>) in [GitLab Premium](https://about.gitlab.com/pricing/) 11.5. - > - [Moved](<link-to-issue>) to [GitLab Starter](https://about.gitlab.com/pricing/) in 11.8. - > - [Moved](<link-to-issue>) to GitLab Core in 12.0. - ``` - -* 如果不推荐使用某个功能,请提供替换链接(如果有): - - ``` - > - [Deprecated](<link-to-issue>) in GitLab 11.3\. Replaced by [meaningful text](<link-to-appropriate-documentation>). - ``` - - 如果可以的话,也可以在周围的文字中描述替换内容. - - 如果现有文本中的弃用不明显,则可能需要添加警告,例如: - - ``` - CAUTION: **Warning:** - This feature was [deprecated](link-to-issue) in GitLab 12.3 - and replaced by [Feature name](link-to-feature-documentation). - ``` - -**注意:**版本文本必须在其单独的行上并由空白行包围才能正确呈现. - -### Versions in the past or future[](#versions-in-the-past-or-future "Permalink") - -描述过去或将来版本中可用的功能时,请使用: - -* **较早的** ,不**早** **于之前的** . -* **后来** ,并没有**新的**或**之后** . - -例如: - -* 在 GitLab 12.3 和更早版本中可用. -* 在 GitLab 12.4 和更高版本中可用. -* 如果使用 GitLab 11.4 或更早版本,… -* 如果使用 GitLab 10.6 或更高版本,… - -### Importance of referencing GitLab versions and tiers[](#importance-of-referencing-gitlab-versions-and-tiers "Permalink") - -提及 GitLab 版本和层对所有用户和贡献者来说很重要,以便他们能够快速访问引入变更的发行或合并请求以供参考. 此外,鉴于该注释包含一些关键信息,他们可以轻松了解其 GitLab 实例和版本中具有哪些功能. - -`[Introduced](link-to-issue) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.7`链接到引入该功能的问题,说它属于哪个 GitLab 层,GitLab 说该版本可用的版本,并链接到定价页面,以防用户想要升级到付费层以使用该功能. - -例如,如果您是普通用户,并且正在查看以前从未使用过的功能的文档,则可以立即查看该功能是否可用. 另外,如果您长期使用某项功能并且以某种方式进行了更改,那么重要的是要能够发现更改的时间以及该功能的新增功能. - -这一点更为重要,因为我们没有一个完美的文档发布流程. 不幸的是,我们仍然看到没有文档的功能和没有功能的文档. 因此,就目前而言,我们不能 100%依赖 docs 网站版本. - -随着时间的推移,版本文本将引用 GitLab 的逐渐老版本. 如果版本文本引用了 GitLab 的四个或更多个主要版本,您可以考虑删除不相关或令人困惑的文本. - -例如,如果当前的主要版本是 12.x,则在需要更清晰或更干净的文档时,需要引用引用 GitLab 8.x 和更早版本的版本文本. - -## Products and features[](#products-and-features "Permalink") - -在 GitLab 产品文档中描述产品和功能时,请参考本节中的信息. - -### Avoid line breaks in names[](#avoid-line-breaks-in-names "Permalink") - -输入包含空格(例如 GitLab 社区版)或什至其他公司产品(例如 Amazon Web Services)的产品或功能名称时,请确保不要在插入了换行符的行之间拆分产品或功能名称. 跨行拆分产品或功能名称会使搜索这些项目更加困难,并且如果名称更改则可能导致问题. - -例如,以下 Markdown 内容的格式*不*正确: - -``` -When entering a product or feature name that includes a space (such as GitLab -Community Edition), don't split the product or feature name across lines. -``` - -而是,它应类似于以下内容: - -``` -When entering a product or feature name that includes a space (such as -GitLab Community Edition), don't split the product or feature name across lines. -``` - -### Product badges[](#product-badges "Permalink") - -当仅 EE 层中有功能可用时,请根据功能可用性添加相应的层: - -* 对于 GitLab Core 和 GitLab.com 免费: `**(CORE)**` . -* 对于 GitLab Starter 和 GitLab.com 铜牌: `**(STARTER)**` . -* 对于 GitLab Premium 和 GitLab.com 银牌: `**(PREMIUM)**` . -* 对于 GitLab Ultimate 和 GitLab.com Gold: `**(ULTIMATE)**` . - -要排除 GitLab.com 层(当该功能在 GitLab.com 中不可用时),请添加关键字" only": - -* 对于 GitLab Core: `**(CORE ONLY)**` . -* 对于 GitLab Starter: `**(STARTER ONLY)**`适用于`**(STARTER ONLY)**` . -* 对于 GitLab Premium: `**(PREMIUM ONLY)**` . -* 对于 GitLab Ultimate: `**(ULTIMATE ONLY)**` . - -对于 GitLab.com 仅适用于层(当该功能不适用于自我管理实例时): - -* 对于 GitLab 免费和更高级别: `**(FREE ONLY)**` . -* 对于 GitLab 青铜级和更高级别: `**(BRONZE ONLY)**`铜级`**(BRONZE ONLY)**` . -* 对于 GitLab Silver 和更高级别: `**(SILVER ONLY)**` . -* 对于 GitLab Gold: `**(GOLD ONLY)**` . - -理想情况下,应将该层添加到标题中,以便显示完整的徽标. 但是,也可以从段落,列表项和表格单元格中提及. 对于这些情况,层级提及将由橙色的信息图标**(信息)**表示,该图标将显示悬停时的层级. - -即使页面上存在较高级别的层,也应使用页面级别的最低层. 例如,您可能有一个页面标记为 Starter,而一个部分标记为 Premium. - -例如: - -* `**(STARTER)**`呈现为 -* `**(STARTER ONLY)**`呈现为 -* `**(SILVER ONLY)**`呈现为 - -没有提及层意味着该功能可在 GitLab Core,GitLab.com Free 和所有更高层使用. - -#### How it works[](#how-it-works "Permalink") - -由[!244](https://gitlab.com/gitlab-org/gitlab-docs/-/merge_requests/244)引入的特殊标记`**(STARTER)**`将生成一个`span`元素,以触发徽章和工具提示( `<span class="badge-trigger starter">` ). 添加关键字" only"时,将不会显示相应的 GitLab.com 徽章. - -## Specific sections[](#specific-sections "Permalink") - -某些样式应应用于特定部分. 下面概述了特定部分的样式. - -### GitLab restart[](#gitlab-restart "Permalink") - -在许多情况下,需要重新启动/重新配置 GitLab. 为避免重复,请链接到可以在[`doc/administration/restart_gitlab.md`](../../administration/restart_gitlab.html)找到的特殊文档. 通常,文本显示如下: - -``` -Save the file and [reconfigure GitLab](../../administration/restart_gitlab.md) -for the changes to take effect. -``` - -如果您正在编辑的文档位于 GitLab CE / EE `doc/`目录之外的其他位置,请使用完整路径,而不是相对链接: `https://docs.gitlab.com/ce/administration/restart_gitlab.html` : `https://docs.gitlab.com/ce/administration/restart_gitlab.html` . 在适当的地方,将`reconfigure`替换为`reconfigure` `restart` . - -### Installation guide[](#installation-guide "Permalink") - -**Ruby:**在[安装指南的第 2 步中](../../install/installation.html#2-ruby) ,我们从源代码安装 Ruby. 每当有新版本需要更新时,请记住在整个代码块中进行更改,并替换 sha256sum(可在 Ruby 网站的[下载页面](https://www.ruby-lang.org/en/downloads/)中找到). - -### Configuration documentation for source and Omnibus installations[](#configuration-documentation-for-source-and-omnibus-installations "Permalink") - -GitLab currently officially supports two installation methods: installations from source and Omnibus packages installations. - -只要有两种安装方法都可以配置的设置,就最好在 CE 文档中进行记录以避免重复. - -配置设置包括: - -1. 触及`config/`配置文件的设置. -2. NGINX 设置和`lib/support/`中的设置通常. - -如果有要执行的步骤列表,通常需要编辑配置文件并重新配置/重新启动 GitLab. 在这种情况下,请按照以下样式作为指导: - -``` -**For Omnibus installations** - 1. Edit `/etc/gitlab/gitlab.rb`: - - ```ruby - external_url "https://gitlab.example.com" - ``` - 1. Save the file and [reconfigure](path/to/administration/restart_gitlab.md#omnibus-gitlab-reconfigure) GitLab for the changes to take effect. - --- -**For installations from source** - 1. Edit `config/gitlab.yml`: - - ```yaml - gitlab: - host: "gitlab.example.com" - ``` - 1. Save the file and [restart](path/to/administration/restart_gitlab.md#installations-from-source) GitLab for the changes to take effect. -``` - -在这种情况下: - -* 在每个步骤列表之前,安装方法以粗体声明. -* 三个破折号( `---` )用于创建水平线并将两种方法分开. -* 代码块在列表项下缩进一个或多个空格以正确呈现. -* 代码块中的每个配置使用不同的突出显示语言. -* [GitLab 重新启动](#gitlab-restart)部分用于说明 GitLab 所需的重新启动/重新配置. - -### Troubleshooting[](#troubleshooting "Permalink") - -对于疑难解答部分,您应该提供尽可能多的上下文,以便用户可以识别自己面临的问题并自行解决. 您可以通过确保故障排除内容解决以下问题来简化此操作: - -1. 用户需要解决的问题. -2. 用户如何确认他们有问题. -3. 用户可以采取的解决问题的步骤. - -如果可以将所有类别的内容汇总在一行中,并且不需要步骤列表,请考虑设置一个带有" *问题* |标题"的[表](#tables) . *原因* *解决方案* (或*解决方法(*如果此修复程序是临时的))或*错误消息* | *解决方法* . - -## Feature flags[](#feature-flags "Permalink") - -了解如何[记录标记后部署的功能](feature_flags.html) . 有关使用功能标记开发 GitLab 的指导,请参阅[GitLab 开发中的功能标记](../feature_flags/index.html) . - -## API[](#api "Permalink") - -这是必备物品清单. 按照本文档中出现的确切顺序使用它们. 下面给出进一步的解释. - -* Every method must have the REST API request. For example: - - ``` - GET /projects/:id/repository/branches - ``` - -* 每个方法都必须[对参数](#method-description)进行详细[说明](#method-description) . -* 每个方法都必须有一个 cURL 示例. -* 每个方法都必须具有响应主体(JSON 格式). - -### API topic template[](#api-topic-template "Permalink") - -以下内容可以用作入门模板: - -``` -## Descriptive title - -One or two sentence description of what endpoint does. - -```plaintext METHOD /endpoint -``` - -| Attribute | Type | Required | Description | -|:------------|:---------|:---------|:----------------------| -| `attribute` | datatype | yes/no | Detailed description. | -| `attribute` | datatype | yes/no | Detailed description. | - -Example request: - -```shell curl --header "PRIVATE-TOKEN: <your_access_token>" 'https://gitlab.example.com/api/v4/endpoint?parameters' -``` - -Example response: - -```json [ { } ] -``` -``` - -### Fake user information[](#fake-user-information "Permalink") - -您可能需要演示包含用户名和电子邮件地址的 API 调用或 cURL 命令. 不要在 API 调用中使用真实的用户信息: - -* **电子邮件地址** :使用以`example.com`结尾的电子邮件地址. -* **名称** :使用`Example Username` **名之类的**字符串. 或者,使用具有常用姓氏的各种或非性别名称,例如`Sidney Jones` , `Zhang Wei` . 或`Maria Garcia` . - -### Fake URLs[](#fake-urls "Permalink") - -在文档中包含示例 URL 时,请使用: - -* 域名通用时为`example.com` . -* `gitlab.example.com`指 GitLab 的自我管理的实例时. - -### Fake tokens[](#fake-tokens "Permalink") - -有时可能需要令牌来证明使用 cURL 或 CI 中使用的变量进行 API 调用. 强烈建议不要在文档中使用真实令牌,即使令牌被利用的可能性很低. - -您可以使用以下伪造的令牌作为示例. - -| 代币类型 | 代币价值 | -| --- | --- | -| 私人用户令牌 | `<your_access_token>` | -| 个人访问令牌 | `n671WNGecHugsdEDPsyo` | -| 申请编号 | `2fcb195768c39e9a94cec2c2e32c59c0aad7a3365c10892e8116b5d83d4096b6` | -| 应用机密 | `04f294d1eaca42b8692017b426d53bbc8fe75f827734f0260710b83a556082df` | -| 可变 CI / CD | `Li8j-mLUVA3eZYjPfd_H` | -| 特定跑步者令牌 | `yrnZW46BrtBFqM7xDzE7dddd` | -| 共享亚军令牌 | `6Vk7ZsosqQyfreAxXTZr` | -| 触发令牌 | `be20d8dcc028677c931e04f3871a9b` | -| Webhook 秘密令牌 | `6XhDroRcYPM5by_h-HLY` | -| 健康检查令牌 | `Tu7BgjR9qeZTEyRzGG2P` | -| 请求个人资料令牌 | `7VgpS4Ax5utVD2esNstz` | - -### Method description[](#method-description "Permalink") - -使用下表标题来描述方法. 属性应始终位于使用反引号( ``` )的代码块中. - -``` -| Attribute | Type | Required | Description | -|:----------|:-----|:---------|:------------| -``` - -渲染示例: - -| Attribute | Type | Required | Description | -| --- | --- | --- | --- | -| `user` | string | yes | GitLab 用户名 | - -### cURL commands[](#curl-commands "Permalink") - -* 使用`https://gitlab.example.com/api/v4/`作为端点. -* 在需要的地方使用此个人访问令牌: `<your_access_token>` . -* 始终将请求放在第一位. `GET`是默认设置,因此您不必包含它. -* 将该网址用双引号( `"` )引起来. -* 最好使用使用个人访问令牌的示例,并且不要传递用户名和密码的数据. - -| Methods | Description | -| --- | --- | -| `--header "PRIVATE-TOKEN: <your_access_token>"` | 每当需要身份验证时,请按原样使用此方法 | -| `--request POST` | 创建新对象时使用此方法 | -| `--request PUT` | 更新现有对象时使用此方法 | -| `--request DELETE` | 删除现有对象时使用此方法 | - -### cURL Examples[](#curl-examples "Permalink") - -以下是一组可以在 API 文档中使用的[cURL](https://curl.haxx.se)示例. - -#### Simple cURL command[](#simple-curl-command "Permalink") - -获取组的详细信息: - -``` -curl --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/groups/gitlab-org -``` - -#### cURL example with parameters passed in the URL[](#curl-example-with-parameters-passed-in-the-url "Permalink") - -在经过身份验证的用户的名称空间下创建一个新项目: - -``` -curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects?name=foo" -``` - -#### Post data using cURL’s `--data`[](#post-data-using-curls---data "Permalink") - -您可以使用 cURL 的`--data`选项,而不是使用`--request POST`并将参数附加到 URI. 下面的示例将在经过身份验证的用户的名称空间下创建一个新项目`foo` . - -``` -curl --data "name=foo" --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects" -``` - -#### Post data using JSON content[](#post-data-using-json-content "Permalink") - -> **注意:**在此示例中,我们创建一个新组. 仔细观察单引号和双引号. - -``` -curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" --data '{"path": "my-group", "name": "My group"}' https://gitlab.example.com/api/v4/groups -``` - -#### Post data using form-data[](#post-data-using-form-data "Permalink") - -除了使用 JSON 或 urlencode 外,您还可以使用 multipart / form-data 来正确处理数据编码: - -``` -curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --form "title=ssh-key" --form "key=ssh-rsa AAAAB3NzaC1yc2EA..." https://gitlab.example.com/api/v4/users/25/keys -``` - -上面的示例由管理员运行,并将向用户帐户添加名为`ssh-key`的 SSH 公共密钥,其 ID 为 25. - -#### Escape special characters[](#escape-special-characters "Permalink") - -空格或斜杠( `/` )有时可能会导致错误,因此建议在可能的情况下转义它们. 在下面的示例中,我们创建了一个新问题,该问题的标题中包含空格. 观察如何使用 ASCII 代码对空格进行转义. - -``` -curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/42/issues?title=Hello%20Dude" -``` - -将`/`用作斜杠( `/` ). - -#### Pass arrays to API calls[](#pass-arrays-to-api-calls "Permalink") - -GitLab API 有时会接受字符串或整数数组. 例如,要在请求项目用户列表时排除特定用户,您可以执行以下操作: - -``` -curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" --data "skip_users[]=<user_id>" --data "skip_users[]=<user_id>" https://gitlab.example.com/api/v4/projects/<project_id>/users -``` \ No newline at end of file diff --git a/docs/570.md b/docs/570.md deleted file mode 100644 index 66b5828..0000000 --- a/docs/570.md +++ /dev/null @@ -1,147 +0,0 @@ -# Documentation structure and template - -> 原文:[https://docs.gitlab.com/ee/development/documentation/structure.html](https://docs.gitlab.com/ee/development/documentation/structure.html) - -* [Components of a documentation page](#components-of-a-documentation-page) -* [Template for new docs](#template-for-new-docs) -* [Help and feedback section](#help-and-feedback-section) - * [Disqus](#disqus) - -# Documentation structure and template[](#documentation-structure-and-template "Permalink") - -本文档将帮助您确定如何在 GitLab 文档中构建页面以及包含哪些内容. 这些标准有助于确保整个文档的一致性和完整性,并使它们的贡献更加容易. - -在开始之前,请熟悉[GitLab 的文档指南](index.html)和[样式指南中](styleguide.html)有关内容的部分. - -## Components of a documentation page[](#components-of-a-documentation-page "Permalink") - -大多数页面将专用于 GitLab 的特定功能或涉及一个或多个功能的用例(可能与第三方工具结合使用). - -每个功能部件或用例文档应按以下顺序包括以下内容,以下内容和此页面中包含的模板中注明了例外和详细信息. - -* **标题** :具有功能名称或用例名称的顶级标题,该名称应以动词开头,例如" Configure"," Enable"等. -* **简介** :关于此主题以及在此页面上可以找到的内容的简短句子. 描述功能或主题是什么,它做什么,以及在什么情况下应使用它. 无需添加称为"简介"或"概述"的标题,因为人们很少搜索这些术语. 只需将这些信息放在标题之后即可. -* **用例** :描述该功能/配置的实际用例场景. -* **要求** :描述所需的软件,配置,帐户或知识. -* **说明** :遵循一套或多套详细说明. -* **故障排除**指南(推荐但不是必需的). - -有关每个[文档的](#template-for-new-docs)更多详细信息,请参见下面的[新文档模板](#template-for-new-docs) . - -请注意,您可以酌情包括其他小节,例如"工作原理","体系结构"以及其他逻辑划分,例如部署前和部署后步骤. - -## Template for new docs[](#template-for-new-docs "Permalink") - -要开始新文档,请遵守文件树和文件名准则以及样式准则. 使用以下模板: - -``` -<!--Follow the Style Guide when working on this document. https://docs.gitlab.com/ee/development/documentation/styleguide.html -When done, remove all of this commented-out text, except a commented-out Troubleshooting section, -which, if empty, can be left in place to encourage future use.--> ---- description: "Short document description." # Up to ~200 chars long. They will be displayed in Google Search snippets. It may help to write the page intro first, and then reuse it here. -stage: "Add the stage name here, and remove the quotation marks" -group: "Add the group name here, and remove the quotation marks" -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers ---- -# Feature Name or Use Case Name **[TIER]** (1) -<!--If writing about a use case, drop the tier, and start with a verb, e.g. "Configure", "Implement", + the goal/scenario--> - -<!--For pages on newly introduced features, add the following line. If only some aspects of the feature have been introduced, specify what parts of the feature.--> -> [Introduced](link_to_issue_or_mr) in GitLab (Tier) X.Y (2). - -An introduction -- without its own additional header -- goes here. -Offer a description of the feature or use case, and what to expect on this page. -(You can reuse this content, or part of it, for the front matter's `description` at the top of this file). - -The introduction should answer the following questions: - - What is this feature or use case? -- Who is it for? -- What is the context in which it is used and are there any prerequisites/requirements? -- What can the audience do with this? (Be sure to consider all applicable audiences, like GitLab admin and developer-user.) -- What are the benefits to using this over any alternatives? - -## Use cases - -Describe some use cases, typically in bulleted form. Include real-life examples for each. - -If the page itself is dedicated to a use case, this section can usually include more specific scenarios -for use (e.g. variations on the main use case), but if that's not applicable, the section can be omitted. - -Examples of use cases on feature pages: -- CE and EE: [Issues](../../user/project/issues/index.md#use-cases) -- CE and EE: [Merge Requests](../../user/project/merge_requests/index.md) -- EE-only: [Geo](../../administration/geo/replication/index.md) -- EE-only: [Jenkins integration](../../integration/jenkins.md) - -## Requirements - -State any requirements for using the feature and/or following along with the instructions. - -These can include both: -- technical requirements (e.g. an account on a third party service, an amount of storage space, prior configuration of another feature) -- prerequisite knowledge (e.g. familiarity with certain GitLab features, cloud technologies) - -Link each one to an appropriate place for more information. - -## Instructions - -"Instructions" is usually not the name of the heading. -This is the part of the document where you can include one or more sets of instructions, each to accomplish a specific task. -Headers should describe the task the reader will achieve by following the instructions within, typically starting with a verb. -Larger instruction sets may have subsections covering specific phases of the process. -Where appropriate, provide examples of code or configuration files to better clarify intended usage. - - Write a step-by-step guide, with no gaps between the steps. -- Include example code or configurations as part of the relevant step. Use appropriate Markdown to [wrap code blocks with syntax highlighting](../../user/markdown.md#colored-code-and-syntax-highlighting). -- Start with an h2 (`##`), break complex steps into small steps using -subheadings h3 > h4 > h5 > h6\. _Never skip a hierarchy level, such -as h2 > h4_, as it will break the TOC and may affect the breadcrumbs. -- Use short and descriptive headings (up to ~50 chars). You can use one -single heading like `## Configure X` for instructions when the feature -is simple and the document is short. - -<!-- ## Troubleshooting - -Include any troubleshooting steps that you can foresee. If you know beforehand what issues -one might have when setting this up, or when something is changed, or on upgrading, it's -important to describe those, too. Think of things that may go wrong and include them here. -This is important to minimize requests for support, and to avoid doc comments with -questions that you know someone might ask. - -Each scenario can be a third-level heading, e.g. `### Getting error message X`. -If you have none to add when creating a doc, leave this section in place -but commented out to help encourage others to add to it in the future. --> - --- -Notes: - - (1): Apply the [tier badges](styleguide.md#product-badges) accordingly -- (2): Apply the correct format for the [GitLab version introducing the feature](styleguide.md#gitlab-versions-and-tiers) -``` - -## Help and feedback section[](#help-and-feedback-section "Permalink") - -通过在文档的开头添加一个键,可以从文档中省略每个文档末尾显示的"帮助和反馈"部分(由[!319](https://gitlab.com/gitlab-org/gitlab-docs/-/merge_requests/319)引入): - -``` ---- -feedback: false ---- -``` - -默认为将其保留在此处. 如果要从文档中忽略它,则必须先咨询技术作家. - -### Disqus[](#disqus "Permalink") - -我们还将 docs 站点与 Disqus 集成在一起(由[!151](https://gitlab.com/gitlab-org/gitlab-docs/-/merge_requests/151)引入),使我们的用户可以发表评论. - -要仅忽略反馈部分中的评论,请在最前面使用以下键: - -``` ---- -comments: false ---- -``` - -We are only hiding comments in main index pages, such as [the main documentation index](../../README.html), since its content is too broad to comment on. Before omitting Disqus, you must check with a technical writer. - -请注意,一旦在前件中添加了" `feedback: false` ,它将自动省略 Disqus,因此,请勿将两个关​​键字都添加到同一文档中. - -Google 跟踪代码管理器会跟踪"反馈"部分中的点击事件. 通过导航至" **行为">"事件">"热门事件">" docs",**可以在 Google Analytics(分析)上查看转化. \ No newline at end of file diff --git a/docs/571.md b/docs/571.md deleted file mode 100644 index 80f7a5f..0000000 --- a/docs/571.md +++ /dev/null @@ -1,135 +0,0 @@ -# Documentation process - -> 原文:[https://docs.gitlab.com/ee/development/documentation/workflow.html](https://docs.gitlab.com/ee/development/documentation/workflow.html) - -* [Who updates the docs?](#who-updates-the-docs) -* [Documentation labels](#documentation-labels) -* [How to update the docs](#how-to-update-the-docs) - * [Reviewing and merging](#reviewing-and-merging) -* [Other ways to help](#other-ways-to-help) -* [Post-merge reviews](#post-merge-reviews) - * [Before merging](#before-merging) - -# Documentation process[](#documentation-process "Permalink") - -创建和维护 GitLab 产品文档的过程允许任何人提交合并请求或为 GitLab 文档创建问题. - -**注意:**与新功能或功能增强相关的文档更新必须使用 GitLab 手册[中](https://about.gitlab.com/handbook/engineering/ux/technical-writing/workflow/#for-a-product-change)描述的[功能工作流程](https://about.gitlab.com/handbook/engineering/ux/technical-writing/workflow/#for-a-product-change) . - -## Who updates the docs?[](#who-updates-the-docs "Permalink") - -*任何人都*可以贡献力量! 您可以在以下情况下创建文档合并请求: - -* 您发现现有文档中存在错误或其他需要改进的地方. -* 您对全新文档有一个想法,可以帮助 GitLab 用户或管理员完成其与 GitLab 的工作. - -## Documentation labels[](#documentation-labels "Permalink") - -无论发布或合并请求的类型如何,添加或更新文档时都需要某些标签. 发行或合并请求作者添加了以下内容: - -* 适当的[类型标签](../contributing/issue_workflow.html#type-labels) . -* [阶段标签](../contributing/issue_workflow.html#stage-labels)和[组标签](../contributing/issue_workflow.html#group-labels) . 例如, `~devops::create`和`~devops::create` `~group::source code` . -* The `~documentation` [specialization label](../contributing/issue_workflow.html#specialization-labels). - -技术写作团队的成员还添加了以下内容: - -* 具有`docs::`前缀的文档[范围标签](../../user/project/labels.html#scoped-labels-premium) . 例如, `~docs::improvement` . -* The `~Technical Writing` [team label](../contributing/issue_workflow.html#team-labels). - -与新功能或更新功能的发布无关的文档更改不带有`~feature`标签,但仍需要`~documentation`标签. - -它们可能包括: - -* 创建或更新文档以提高准确性,完整性,易用性或[功能更改](https://about.gitlab.com/handbook/engineering/ux/technical-writing/workflow/#for-a-product-change)以外的任何其他原因. -* 解决现有文档中的空白,或对现有文档进行改进. -* 处理与文档相关的特殊项目. - -## How to update the docs[](#how-to-update-the-docs "Permalink") - -要更新 GitLab 文档: - -1. Either: - * 单击[https://docs.gitlab.com](https://s0docs0gitlab0com.icopy.site)上任何页面底部的" **编辑此页面"**链接. - * 导航到[GitLab 文档指南](index.html)页面上列出的存储库和文档路径之一. -2. 请遵循页面上列出的描述的标准和过程,包括: - * [结构和模板](structure.html)页面. - * [样式指南](styleguide.html) . - * [降价指南](https://about.gitlab.com/handbook/markdown-guide/) . -3. 遵循 GitLab 的[合并请求准则](../contributing/merge_request_workflow.html#merge-request-guidelines) . - -**提示:**如果您没有开发人员对 GitLab 项目的访问权限,请分叉工作. - -如果您满足以下条件,请寻求技术写作团队的帮助: - -* 需要帮助选择正确的文档位置. -* 想讨论文档想法或大纲. -* 想要请求其他帮助. - -要寻求帮助: - -1. 找到相关[DevOps 阶段组](https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments)的技术作家. -2. Either: - * 如果需要紧急帮助,请直接在问题或合并请求中分配技术作家. - * 如果需要非紧急帮助,请在问题或合并请求中 ping 技术作家. - -如果您是 GitLab Slack 工作区的成员,则可以在`#docs`请求帮助. - -### Reviewing and merging[](#reviewing-and-merging "Permalink") - -拥有维护者访问相关 GitLab 项目权限的任何人都可以合并文档更改. 维护者必须认真努力,以确保内容: - -* 清晰易懂,易于目标受众浏览和理解. -* 符合[文档指南](index.html)和[样式指南](styleguide.html) . - -如果作者或审稿人有任何疑问,他们可以提及被分配到相关[DevOps 阶段小组的作者](https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments) . - -该过程涉及以下内容: - -* 主要审稿人. 由[代码审阅者](https://about.gitlab.com/handbook/engineering/projects/)或其他适当的同事进行[审阅](https://about.gitlab.com/handbook/engineering/projects/) ,以确认准确性,清晰度和完整性. 对于较小的修订,可以跳过,而无需实质性的内容更改. -* 技术作家(可选). 如果在合并之前未完成合并请求,则必须在合并后安排. 仅在需要紧急合并时才安排合并后审核. 要请求: - * 合并前审查,为适用的[DevOps 阶段组](https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments)分配列出的技术作家. - * 合并后审核,请参阅[合并后审核](#post-merge-reviews) . -* 维护者. 对于合并请求,维护者: - * 随时可以要求上述任何评论. - * 在技​​术作家审查之前或之后进行审查. - * 确保已设置给定的发布里程碑. - * 确保应用了适当的标签,包括将合并请求选择到版本中所需的标签. - * 确保(如果尚未完成或计划进行技术作家审查) [创建所需的问题](https://gitlab.com/gitlab-org/gitlab/-/issues/new?issuable_template=Doc Review) ,将其分配给给定阶段组的技术作家,并将其与合并请求链接. - -该过程反映在" **文档** [合并请求"模板中](https://gitlab.com/gitlab-org/gitlab/blob/master/.gitlab/merge_request_templates/Documentation.md) . - -## Other ways to help[](#other-ways-to-help "Permalink") - -如果您有更多文档资源的想法,请使用"文档"模板[创建问题](https://gitlab.com/gitlab-org/gitlab/-/issues/new?issuable_template=Documentation) . - -## Post-merge reviews[](#post-merge-reviews "Permalink") - -如果在合并之前未分配给技术作家进行审核,则开发人员或维护人员必须在合并后立即安排审核. 为此,请使用" [文档审阅"描述模板](https://gitlab.com/gitlab-org/gitlab/-/issues/new?issuable_template=Doc Review)创建一个问题,并从引入了文档更改的合并合并请求中链接到该问题. - -可能会跳过常规的合并前技术作家审查的情况包括: - -* 里程碑发布还有很短的时间. 如果还有不到三天的时间,请寻求合并后的审查,并通过 Slack 对作者进行 ping 操作,以确保审查尽快完成. -* The size of the change is small and you have a high degree of confidence that early users of the feature (for example, GitLab.com users) can easily use the documentation as written. - -Remember: - -* 在 GitLab,我们将文档视为代码. 与代码一样,必须检查文档以确保质量. -* 文档是 GitLab [对 done 的定义的](../contributing/merge_request_workflow.html#definition-of-done)一部分. -* 当代码在里程碑发布之前完成得很好并且需要更大的文档更改时,这种合并前的 Technical Writer 审核应该是最常见的. -* 如果重要的是尽快使它附带的代码合并,那么可以要求对文档进行合并后技术审查. 在这种情况下,原始 MR 的作者将在后续 MR 中阐述技术作家提供的反馈. -* 技术作家还可以帮助您确定无需技术作家审查就可以合并文档,而审查将在合并后立即进行. - -### Before merging[](#before-merging "Permalink") - -如果跳过初步的技术作家审查,请确保以下各项: - -* 该[产品徽章](styleguide.html#product-badges)已应用. -* 包含引入该功能的 GitLab [版本](styleguide.html#text-for-documentation-requiring-version-text)已包括在内. -* 标题的更改不会影响应用内超链接. -* 记录了特定的[用户权限](../../user/permissions.html) . -* 为了发现,这些新文档从更高级别的索引链接在一起. -* 遵循样式指南: - * 用于[目录和文件](styleguide.html#work-with-directories-and-files) . - * 对于[图像](styleguide.html#images) . - -**注意:**更改文档位置的合并请求必须在合并之前始终由技术作家审查. \ No newline at end of file diff --git a/docs/572.md b/docs/572.md deleted file mode 100644 index 22ccf34..0000000 --- a/docs/572.md +++ /dev/null @@ -1,171 +0,0 @@ -# Documentation site architecture - -> 原文:[https://docs.gitlab.com/ee/development/documentation/site_architecture/](https://docs.gitlab.com/ee/development/documentation/site_architecture/) - -* [Architecture](#architecture) -* [Assets](#assets) - * [Libraries](#libraries) - * [SEO](#seo) -* [Global navigation](#global-navigation) -* [Pipelines](#pipelines) - * [Rebuild the docs site Docker images](#rebuild-the-docs-site-docker-images) - * [Deploy the docs site](#deploy-the-docs-site) -* [Using YAML data files](#using-yaml-data-files) -* [Bumping versions of CSS and JavaScript](#bumping-versions-of-css-and-javascript) -* [Linking to source files](#linking-to-source-files) -* [Algolia search engine](#algolia-search-engine) -* [Monthly release process (versions)](#monthly-release-process-versions) -* [Review Apps for documentation merge requests](#review-apps-for-documentation-merge-requests) - -# Documentation site architecture[](#documentation-site-architecture "Permalink") - -[`gitlab-docs`](https://gitlab.com/gitlab-org/gitlab-docs)项目托管用于生成 GitLab 文档网站的资源库,该资源库已部署到[https://docs.gitlab.com](https://s0docs0gitlab0com.icopy.site) . 它使用[Nanoc](https://nanoc.ws/)静态站点生成器. - -## Architecture[](#architecture "Permalink") - -文档内容的源存储在 GitLab 的各个产品存储库中,而用于*从该内容*构建文档站点的源位于[https://gitlab.com/gitlab-org/gitlab-docs](https://gitlab.com/gitlab-org/gitlab-docs) . - -下图说明了从中获取内容的存储库, `gitlab-docs`项目和已发布的输出之间的关系. - -图 LR A [gitlab / doc] B [gitlab-runner / docs] C [omnibus-gitlab / doc] D [charts / doc] E [gitlab-docs] A-> EB-> EC-> ED- -> EE-建立管道-> FF [docs.gitlab.com] G [/ ce /] H [/ ee /] I [/ runner /] J [/ omnibus /] K [/ charts /] F- -> HF-> IF-> JF-> KH-symlink-> G - -您不会在`gitlab-docs`存储库中找到任何 GitLab 文档内容. 所有文档文件都托管在每种产品各自的存储库中,并且全部拉在一起以生成 docs 网站: - -* [GitLab](https://gitlab.com/gitlab-org/gitlab/tree/master/doc) -* [Omnibus GitLab](https://gitlab.com/gitlab-org/omnibus-gitlab/tree/master/doc) -* [GitLab Runner](https://gitlab.com/gitlab-org/gitlab-runner/tree/master/docs) -* [GitLab Chart](https://gitlab.com/charts/gitlab/tree/master/doc) - -**注意:**在 2019 年 9 月,我们[转向了一个单一的代码库](https://gitlab.com/gitlab-org/gitlab/-/issues/2952) ,因此 CE 和 EE 的文档现在完全相同. 出于历史原因,并且为了不破坏整个 Internet 上的任何现有链接,我们仍然维护 CE 文档( `https://docs.gitlab.com/ce/` ),尽管它已从网站中隐藏,现在已成为符号链接到 EE 文档. 如果[Pages 支持重定向](https://gitlab.com/gitlab-org/gitlab-pages/-/issues/24) ,我们将能够彻底删除它. - -## Assets[](#assets "Permalink") - -为了提供优化的网站结构,设计和搜索引擎友好的网站以及可发现的文档,我们在 GitLab 文档网站中使用了一些资产. - -### Libraries[](#libraries "Permalink") - -* [Bootstrap 4.3.1 components](https://s0getbootstrap0com.icopy.site/docs/4.3/components/) -* [Bootstrap 4.3.1 JS](https://s0getbootstrap0com.icopy.site/docs/4.3/getting-started/javascript/) -* [jQuery](https://jquery.com/) 3.3.1 -* [Clipboard JS](https://clipboardjs.com/) -* [Font Awesome 4.7.0](https://fontawesome.com/v4.7.0/icons/) - -### SEO[](#seo "Permalink") - -* [Schema.org](https://schema.org/) -* [Google Analytics](https://marketingplatform.google.com/about/analytics/) -* [Google Tag Manager](https://developers.google.com/tag-manager/) - -## Global navigation[](#global-navigation "Permalink") - -通读[全局导航文档](global_nav.html)以了解: - -* 全局导航的构建方式. -* 如何添加新的导航项. - -## Pipelines[](#pipelines "Permalink") - -`gitlab-docs`项目中的管道: - -* 测试对 docs 站点代码的更改. -* 构建用于各种管道作业的 Docker 映像. -* 构建和部署文档站点本身. -* 触发`review-docs-deploy`作业时生成审阅应用程序. - -### Rebuild the docs site Docker images[](#rebuild-the-docs-site-docker-images "Permalink") - -星期一每周一次,运行预定的管道并重建用于各种管道作业(例如`docs-lint`的 Docker 映像. Docker 映像配置文件位于[Dockerfiles 目录中](https://gitlab.com/gitlab-org/gitlab-docs/-/tree/master/dockerfiles) . - -如果您需要立即重建 Docker 映像(必须具有维护者级别权限): - -**注意:**如果更改 dockerfile 配置并重建映像,则可以在`gitlab`主存储库以及`gitlab-docs`中`gitlab-docs` . 首先创建一个具有不同名称的映像,然后对其进行测试,以确保您不会中断管道. - -1. 在[`gitlab-docs`](https://gitlab.com/gitlab-org/gitlab-docs) ,转到 **CI / CD>管道** . -2. 单击**运行管道**按钮. -3. 看到新的管道正在运行. 构建图像的工作在第一阶段,即`build-images` . 您可以单击管道编号以查看较大的管道​​图,或单击迷你管道图中的第一( `build-images` )阶段以公开构建图像的作业. -4. 点击**播放** ( )按钮旁边的要重建的图像. - * 通常,您不需要重建`image:gitlab-docs-base`映像,因为它很少更改. 如果确实需要重建,请确保仅在重建完成后才运行`image:docs-lint` . - -### Deploy the docs site[](#deploy-the-docs-site "Permalink") - -计划的管道每隔四个小时就会构建和部署一个文档站点. 管道从主项目的 master 分支中获取当前文档,并使用 Nanoc 进行构建并将其部署到[https://docs.gitlab.com](https://s0docs0gitlab0com.icopy.site) . - -如果您需要立即构建和部署站点(必须具有维护者级别的权限): - -1. 在[`gitlab-docs`](https://gitlab.com/gitlab-org/gitlab-docs) ,转到 **CI / CD>时间表** . -2. For the `Build docs.gitlab.com every 4 hours` scheduled pipeline, click the **play** () button. - -## Using YAML data files[](#using-yaml-data-files "Permalink") - -在 Nanoc 中实现类似于[Jekyll 数据文件](https://jekyllrb.com/docs/datafiles/)的最简单方法是使用[`@items`](https://nanoc.ws/doc/reference/variables/#items-and-layouts)变量. - -数据文件必须放在`content/`目录中,然后可以在 ERB 模板中引用它. - -假设我们有具有`content/_data/versions.yaml`文件: - -``` -versions: - - 10.6 - - 10.5 - - 10.4 -``` - -然后,我们可以像下面这样遍历`versions`数组: - -``` -<% @items['/_data/versions.yaml'][:versions].each do | version | %> - -<h3><%= version %></h3> - -<% end &> -``` - -请注意,数据文件必须具有`yaml`扩展名(而不是`yml` ),并且我们使用符号( `:versions` )引用数组. - -## Bumping versions of CSS and JavaScript[](#bumping-versions-of-css-and-javascript "Permalink") - -每当`content/assets/`下的自定义 CSS 和 JavaScript 文件更改时,请确保在最前面更改其版本. 此方法通过清除先前文件的缓存来确保您的更改将生效. - -始终使用 Nanoc 包含这些文件的方式,不要在布局中对它们进行硬编码. 例如使用: - -``` -<script async type="application/javascript" src="<%= @items['/assets/javascripts/badges.*'].path %>"></script> - -<link rel="stylesheet" href="<%= @items['/assets/stylesheets/toc.*'].path %>"> -``` - -The links pointing to the files should be similar to: - -``` -<%= @items['/path/to/assets/file.*'].path %> -``` - -然后 Nanoc 将根据[`Rules`](https://gitlab.com/gitlab-org/gitlab-docs/blob/master/Rules)定义的内容正确构建和呈现这些链接. - -## Linking to source files[](#linking-to-source-files "Permalink") - -可以使用名为[`edit_on_gitlab`](https://gitlab.com/gitlab-org/gitlab-docs/blob/master/lib/helpers/edit_on_gitlab.rb)的助手来链接到页面的源文件. 我们可以链接到简单编辑器和 Web IDE. 这是在 Nanoc 布局中使用它的方法: - -* 默认编辑器: `<a href="<%= edit_on_gitlab(@item, editor: :simple) %>">Simple editor</a>` -* Web IDE: `<a href="<%= edit_on_gitlab(@item, editor: :webide) %>">Web IDE</a>` - -如果您未指定`editor:` :,则默认使用简单的一个. - -## Algolia search engine[](#algolia-search-engine "Permalink") - -docs 网站使用[Algolia DocSearch](https://community.algolia.com/docsearch/)进行搜索. 它是这样工作的: - -1. GitLab 是[DocSearch 程序](https://community.algolia.com/docsearch/#join-docsearch-program)的成员,该[程序](https://community.algolia.com/docsearch/#join-docsearch-program)是[Algolia](https://www.algolia.com/)的免费[版](https://www.algolia.com/) . -2. Algolia 为 GitLab docs 网站托管[DocSearch 配置](https://github.com/algolia/docsearch-configs/blob/master/configs/gitlab.json) ,我们已经共同努力对其进行完善. -3. 该[配置](https://community.algolia.com/docsearch/config-file.html)由[爬虫](https://community.algolia.com/docsearch/crawler-overview.html)每 24 小时进行一次解析,并将[DocSearch 索引](https://community.algolia.com/docsearch/how-do-we-build-an-index.html) [存储](https://community.algolia.com/docsearch/inside-the-engine.html)在[Algolia 的服务器上](https://community.algolia.com/docsearch/faq.html#where-is-my-data-hosted?) . -4. 在文档方面,我们使用了[DocSearch 布局](https://gitlab.com/gitlab-org/gitlab-docs/blob/master/layouts/docsearch.html) ,除[https://docs.gitlab.com/search/](https://docs.gitlab.com/search/)使用其[自己的布局](https://gitlab.com/gitlab-org/gitlab-docs/blob/master/layouts/instantsearch.html)之外,几乎所有页面上都存在该[布局](https://gitlab.com/gitlab-org/gitlab-docs/blob/master/layouts/instantsearch.html) . 在这些布局中,有一个 JavaScript 代码段,该代码段使用 Algolia 显示结果所需的 API 密钥和索引名称( `gitlab` )来启动 DocSearch. - -**对于 GitLab 员工:**用于访问 Algolia 仪表板的凭据存储在 1Password 中. 如果要接收有关使用情况的每周报告,请搜索标题为`Email, Slack, and GitLab Groups and Aliases`的 Google 文档,搜索`docsearch` ,并在电子邮件中添加评论,以添加到获取每周报告的别名中. - -## Monthly release process (versions)[](#monthly-release-process-versions "Permalink") - -docs 网站支持版本,每个月我们都会将最新版本添加到列表中. 有关更多信息,请阅读有关[每月发布过程的信息](release_process.html) . - -## Review Apps for documentation merge requests[](#review-apps-for-documentation-merge-requests "Permalink") - -如果您为 GitLab 文档做出了贡献,请阅读如何[使用每个合并请求创建一个 Review App](../index.html#previewing-the-changes-live) . \ No newline at end of file diff --git a/docs/573.md b/docs/573.md deleted file mode 100644 index cb54d42..0000000 --- a/docs/573.md +++ /dev/null @@ -1,347 +0,0 @@ -# Global navigation - -> 原文:[https://docs.gitlab.com/ee/development/documentation/site_architecture/global_nav.html](https://docs.gitlab.com/ee/development/documentation/site_architecture/global_nav.html) - -* [Quick start](#quick-start) -* [Adding new items](#adding-new-items) - * [Where to add](#where-to-add) - * [What to add](#what-to-add) -* [How it works](#how-it-works) -* [Composition](#composition) - * [Data file](#data-file) - * [Sections](#sections) - * [Categories](#categories) - * [Docs](#docs) - * [Syntax](#syntax) - * [Titles](#titles) - * [URLs](#urls) - * [Layout file (logic)](#layout-file-logic) - * [Path](#path) - * [Default URL](#default-url) - * [`ee-only` docs](#ee-only-docs) - * [CSS classes](#css-classes) - -# Global navigation[](#global-navigation "Permalink") - -版本历史 - -* 在 GitLab 11.6 中[引入](https://gitlab.com/gitlab-org/gitlab-docs/-/merge_requests/362) . -* 在 GitLab 12.1 中[更新](https://gitlab.com/gitlab-org/gitlab-docs/-/merge_requests/482) . -* 在 GitLab 12.2 中添加了按[项目](https://gitlab.com/gitlab-org/gitlab-docs/-/merge_requests/498)导航. - -全局导航(三窗格文档中最左侧的窗格)提供: - -* 产品功能的高层分组视图. -* 通过浏览菜单结构发现新功能的能力. -* 一种让读者专注于产品领域的方法. -* 能够优化登录页面的功能,因此他们不必完成覆盖文档中包含的每个页面的所有工作. - -## Quick start[](#quick-start "Permalink") - -要将主题添加到全局导航,请转到包含[导航文件](https://gitlab.com/gitlab-org/gitlab-docs/blob/master/content/_data/)的目录,然后编辑产品区域的`yaml`文件. 您可以复制现有的导航条目并将其编辑以指向您的主题. - -这些文件是: - -| File | Document | Location | -| --- | --- | --- | -| `charts-nav.yaml` | GitLab 云原生头盔图 | `https://docs.gitlab.com/charts/` | -| `default-nav.yaml` | 亚搏体育 app 文件 | `https://docs.gitlab.com/ee/` | -| `omnibus-nav.yaml` | Omnibus GitLab Docs | `https://docs.gitlab.com/omnibus/` | -| `runner-nav.yaml` | 亚搏体育 app Runner Docs | `https://docs.gitlab.com/runner/` | - -## Adding new items[](#adding-new-items "Permalink") - -所有新页面都需要一个新的导航项. 如果没有导航,页面将变为"孤立". 那是: - -* 打开页面时,导航会关闭,并且阅读器会失去位置. -* 该页面与其他页面不属于同一组. - -这意味着创建新页面的决定就是创建新导航项的决定,反之亦然. - -### Where to add[](#where-to-add "Permalink") - -文档页面可以说属于以下几类: - -* GitLab 用户. 这是用于从 Reporter 到 Owner 拥有任何级别权限的用户日常使用 GitLab 的文档. -* GitLab 管理员. 这往往是自我管理实例的文档,这些实例需要访问托管 GitLab 的基础架构. -* 其他文档. 其中包括针对日常使用 GitLab 的客户以及贡献者的文档. 属于其他组的文档属于此处. - -考虑到这些组,以下是应在何处添加新项目的一般规则. - -* 用户文档: - * 组级别功能属于" **组"** . - * 项目级功能属于" **项目"** . - * 可以将组或项目级别(有时称为"实例级别")之外的功能放在顶层,但是必须注意不要淹没该顶层空间. 如果可能,可以以某种方式对这些功能进行分组. - * 除上述内容外,其他大多数其他用户文档都属于**User** . -* 管理文档属于**Administrator** . -* 其他文档属于顶层文档,但必须注意不要创建冗长的顶层导航,这会违背它的目的. - -**注意:**正在逐步推出使所有文档和导航项目都遵循这些原则的方法. - -### What to add[](#what-to-add "Permalink") - -确定了在哪里添加导航元素之后,下一步就是确定要添加的内容. 需要什么样的机制被[证明以下](#data-file) ,但在原则: - -* 导航项文本(读者看到的文本)应: - * 越短越好. - * 要根据具体情况. 很少需要重复父项中的文本. - * 避免使用行话或艺术术语,除非无处不在. 例如, **CI**是**持续集成**的可接受替代. -* 导航链接必须遵循[数据文件中](#data-file)记录的规则. -* EE 徽章受以下条件限制: - * 链接到仅 EE 的页面时必需. - * 链接到仅包含 CE 和 EE 内容的页面时,不需要. - * 当所有子项目均为 EE 专用时为必填项. 在这种情况下,没有子项目带有 EE 标志. - * 如果子项目是仅包含 CE 和 EE 的项目,则不需要. 在这种情况下,每个项目都将被适当标记. - -## How it works[](#how-it-works "Permalink") - -全局导航具有 3 个组成部分: - -* **Section** - * Category - * Doc - -下表描述了可用的部分: - -| Section | Description | -| --- | --- | -| User | GitLab 用户界面的文档. | -| Administrator | GitLab 管理区域的文档. | -| Contributor | 开发 GitLab 的文档. | - -根据用户界面添加了导航上可用的大多数链接. 匹配并不完美,因为某些 UI 导航项不适用于该文档,并且还有其他链接可帮助新用户发现文档. 为了清楚起见," **管理** "下的文档按字母顺序排列. - -要查看计划中的改进,请查看[全局导航史诗](https://gitlab.com/groups/gitlab-com/-/epics/21) . - -**注意:**未经技术作者之一的同意, **请勿** [将项目添加](#adding-new-items)到全局导航. - -## Composition[](#composition "Permalink") - -全局导航由两个文件构建: - -* [Data](#data-file) -* [Layout](#layout-file-logic) - -数据文件将布局与文档链接一起提供给布局. 该布局在[样式](#css-classes)正确[的](#css-classes)容器中的导航之间组织数据. - -### Data file[](#data-file "Permalink") - -数据文件描述了适用项目的导航结构. 所有数据文件都存储在[https://gitlab.com/gitlab-org/gitlab-docs/blob/master/content/_data/中,](https://gitlab.com/gitlab-org/gitlab-docs/blob/master/content/_data/)并且包含三个组件: - -* Sections -* Categories -* Docs - -#### Sections[](#sections "Permalink") - -每个部分代表较高级别的导航项. 它由标题和 URL 组成: - -``` -sections: - - section_title: Text - section_url: 'link' -``` - -该部分可以单独使用,也可以包含其中的类别. - -#### Categories[](#categories "Permalink") - -部分中的每个类别都构成了导航的第二级. 它包括类别标题和链接. 它可以单独放置在导航栏中,也可以包含第三级子项目. - -具有一个独立类别的部分的示例: - -``` -- section_title: Section title - section_url: 'section-link' - section_categories: - - category_title: Category title - category_url: 'category-link' -``` - -具有两个独立类别的部分的示例: - -``` -- section_title: Section title - section_url: 'section-link' - section_categories: - - category_title: Category 1 title - category_url: 'category-1-link' - - - category_title: Category 2 title - category_url: 'category-2-link' -``` - -为了清楚起见,请**始终**在类别之间添加空白行. - -如果 CE 中没有类别 URL(这是仅 EE 的文档),请在类别链接下方添加属性`ee_only: true` . 例: - -``` -- category_title: Category title - category_url: 'category-link' - ee_only: true -``` - -如果类别链接到外部 URL,例如[GitLab Design System](https://design.gitlab.com) ,则在类别标题下添加属性`external_url: true` . 例: - -``` -- category_title: GitLab Design System - category_url: 'https://design.gitlab.com' - external_url: true -``` - -#### Docs[](#docs "Permalink") - -每个文档代表导航链接的第三级. 必须始终将它们添加到类别中. - -带有一个文档链接的示例: - -``` -- category_title: Category title - category_url: 'category-link' - docs: - - doc_title: Document title - doc_url: 'doc-link' -``` - -A category supports as many docs as necessary, but, for clarity, try to not overpopulate a category. - -多个文档的示例: - -``` -- category_title: Category title - category_url: 'category-link' - docs: - - doc_title: Document 1 title - doc_url: 'doc-1-link' - - doc_title: Document 2 title - doc_url: 'doc-2-link' -``` - -每当仅在 EE 中存在文档时,请在 doc 链接下添加属性`ee-only: true` . 例: - -``` -- doc_title: Document 2 title - doc_url: 'doc-2-link' - ee_only: true -``` - -如果您需要在外部 URL 中添加文档,请在 doc 链接下面添加属性`external_url` : - -``` -- doc_title: Document 2 title - doc_url: 'doc-2-link' - external_url: true -``` - -所有导航链接都是可单击的. 如果上级链接没有自己的链接,则它必须链接到它的第一个子项目链接,模仿 GitLab 的导航. 必须避免这种情况,以便我们不会同时有重复的链接或两个`.active`链接. - -Example: - -``` -- category_title: Operations - category_url: 'user/project/integrations/prometheus_library/' - # until we have a link to operations, the first doc link is - # repeated in the category link - docs: - - doc_title: Metrics - doc_url: 'user/project/integrations/prometheus_library/' -``` - -#### Syntax[](#syntax "Permalink") - -对于所有组件(节,类别和文档),请**遵循缩进**和以下语法规则. - -##### Titles[](#titles "Permalink") - -* 使用句子大小写,将特征名称大写. -* 除非其中有特殊字符,否则无需包装标题. 例如,在`GitLab CI/CD` ,存在`/` ,因此必须将其用引号引起来. 按照惯例,将标题用双引号引起来: `category_title: "GitLab CI/CD"` . - -##### URLs[](#urls "Permalink") - -* 按照惯例,始终将 URL 括在单引号`'url'` . -* 始终在 CE 和 EE 的所在地使用相对路径. 例子: - * 对于`https://docs.gitlab.com/ee/README.html` ,相对 URL 为`README.html` . - * 对于`https://docs.gitlab.com/ee/user/project/cycle_analytics.html` ,相对 URL 是`user/project/cycle_analytics.html` . -* 对于`README.html`文件,添加完整路径`path/to/README.html` . -* 对于`index.html`文件,请使用干净的(规范的)URL: `path/to/` . -* 对于仅限 EE 的文档,请使用相同的相对路径,但在`doc_url`或`category_url`下添加属性`ee_only: true` ,如上所述. 这将在导航上显示一个"信息"图标,以使用户知道该功能仅适用于 EE. - -**警告:**数据文件上存在的所有链接都必须以`.html`而不是`.md`结尾. 不要以斜杠`/`开头任何相对链接. - -Examples: - -``` -- category_title: Issues - category_url: 'user/project/issues/' - # note that the above URL does not start with a slash and - # does not include index.html at the end - - docs: - - doc_title: Service Desk - doc_url: 'user/project/service_desk.html' - ee_only: false - # note that the URL above ends in html and, as the - # document is EE-only, the attribute ee_only is set to true. -``` - -### Layout file (logic)[](#layout-file-logic "Permalink") - -[布局](https://gitlab.com/gitlab-org/gitlab-docs/blob/master/layouts/global_nav.html)由[数据文件提供](#data-file) ,构建全局导航,并由[默认](https://gitlab.com/gitlab-org/gitlab-docs/blob/master/layouts/default.html)布局呈现. - -为导航创建的逻辑主要考虑三个方面: - -* [路径](#path) : `docs.gitlab.com/`下的第一级目录: - * `https://docs.gitlab.com/ce/` - * `https://docs.gitlab.com/ee/` - * `https://docs.gitlab.com/omnibus/` - * `https://docs.gitlab.com/runner/` - * `https://docs.gitlab.com/debug/` - * `https://docs.gitlab.com/*` -* [仅限 EE](#ee-only-docs) :仅在`/ee/`可用的文档,在`/ce/`不可用,例如: - * `https://docs.gitlab.com/ee/user/group/epics/` - * `https://docs.gitlab.com/ee/user/project/security_dashboard.html` -* [默认 URL](#default-url) :CE 和 EE 文档之间的[默认 URL](#default-url) ,默认值为`ee` ,因此,除非在`/ce/`内部链接到`ce`否则所有文档都应链接到`/ee/` . - -#### Path[](#path "Permalink") - -要在数据文件中使用相对路径,我们从根的第一个子目录定义了变量`dir` ,该目录定义了构建指向其他页面的所有导航链接的路径: - -``` -<% dir = @item.identifier.to_s[%r{(?<=/)[^/]+}] %> -``` - -例如,对于`https://docs.gitlab.com/ce/user/index.html` , `dir` = = `ce` ,和`https://docs.gitlab.com/omnibus/README.html` , `dir` == `omnibus` . - -#### Default URL[](#default-url "Permalink") - -GitLab 文档的默认规范 URL 为`https://docs.gitlab.com/ee/` ,因此,文档站点中的所有链接都应链接至`/ee/`除非在`/ce/`文档本身之间进行链接. - -因此,如果用户正在查看`/ee/` , `/omnibus/` , `/runner/`或任何其他最高级别的目录,则导航栏应指向`/ee/` docs. - -另一方面,如果用户正在查看`/ce/` docs,则 CE 导航中的所有链接都应在内部链接到`/ce/`文件. - -``` -<% if dir != 'ce' %> - <a href="/ee/<%= sec[:section_url] %>">...</a> - <% else %> - <a href="/<%= dir %>/<%= sec[:section_url] %>">...</a> - <% end %> - ... -<% end %> -``` - -这也允许导航显示在其他最高级别的目录( `/omnibus/` , `/runner/`等)上,并将它们链接回`/ee/` . - -相同的逻辑应用于所有节( `sec[:section_url]` ),类别( `cat[:category_url]` )和 docs( `doc[:doc_url]` )URL. - -#### `ee-only` docs[](#ee-only-docs "Permalink") - -仅在 gitLab EE 中存在的功能文档在数据文件中被`ee-only`标记,并且在导航链接上显示一个图标,指示`ee-only`功能在 CE 中不可用. - -`ee-only`属性可用于`categories` ( `<% if cat[:ee_only] %>` )和`docs` ( `<% if doc[:ee_only] %>` ),但不能用于`sections` . - -### CSS classes[](#css-classes "Permalink") - -导航在常规`stylesheet.scss` . 要更改其样式,请将它们分组以在团队中更好地发展. - -URL 组件的独特样式由 CSS 类`.level-0` , `.level-1`和`.level-2` . 要调整链接的字体大小,填充,颜色等,请使用这些类. 这样,我们保证每个链接的规则都不会与样式表中的其他规则冲突. \ No newline at end of file diff --git a/docs/574.md b/docs/574.md deleted file mode 100644 index 1f33fd4..0000000 --- a/docs/574.md +++ /dev/null @@ -1,187 +0,0 @@ -# GitLab Docs monthly release process - -> 原文:[https://docs.gitlab.com/ee/development/documentation/site_architecture/release_process.html](https://docs.gitlab.com/ee/development/documentation/site_architecture/release_process.html) - -* [How to build the images](#how-to-build-the-images) -* [Monthly release process](#monthly-release-process) - * [1\. Add the chart version](#1-add-the-chart-version) - * [2\. Create an image for a single version](#2-create-an-image-for-a-single-version) - * [3\. Create the release merge request](#3-create-the-release-merge-request) - * [4\. Update the dropdown for all online versions](#4-update-the-dropdown-for-all-online-versions) - * [5\. Merge the release merge request](#5-merge-the-release-merge-request) -* [Update an old Docker image with new upstream docs content](#update-an-old-docker-image-with-new-upstream-docs-content) -* [Porting new website changes to old versions](#porting-new-website-changes-to-old-versions) -* [Troubleshooting](#troubleshooting) - * [`test_internal_links_and_anchors` failing on dropdown merge requests](#test_internal_links_and_anchors-failing-on-dropdown-merge-requests) - -# GitLab Docs monthly release process[](#gitlab-docs-monthly-release-process "Permalink") - -[`dockerfiles`目录](https://gitlab.com/gitlab-org/gitlab-docs/blob/master/dockerfiles/)包含构建和部署版本控制网站所需的所有 Dockerfile. 它在很大程度上受到了 Docker 的[Dockerfile 的](https://github.com/docker/docker.github.io/blob/06ed03db13895bfe867761b6fc2ad40acf6026dd/Dockerfile)启发. - -使用以下 Dockerfile. - -| Dockerfile | Docker 镜像 | Description | -| --- | --- | --- | -| [`Dockerfile.bootstrap`](https://gitlab.com/gitlab-org/gitlab-docs/blob/master/dockerfiles/Dockerfile.bootstrap) | `gitlab-docs:bootstrap` | 包含构建网站所需的所有依赖项. 如果宝石已更新且`Gemfile{,.lock}`更改,则必须重建映像. | -| [`Dockerfile.builder.onbuild`](https://gitlab.com/gitlab-org/gitlab-docs/blob/master/dockerfiles/Dockerfile.builder.onbuild) | `gitlab-docs:builder-onbuild` | 用于建立 docs 网站的基本图片. 它使用`ONBUILD`执行所有步骤,并取决于`gitlab-docs:bootstrap` . | -| [`Dockerfile.nginx.onbuild`](https://gitlab.com/gitlab-org/gitlab-docs/blob/master/dockerfiles/Dockerfile.nginx.onbuild) | `gitlab-docs:nginx-onbuild` | 用于构建文档档案的基本映像. 它使用`ONBUILD`执行所有必需的步骤来复制档案,并依赖于其父`Dockerfile.builder.onbuild` ,该父文件在构建单个文档档案时被调用(请参阅每个分支的`Dockerfile` . | -| [`Dockerfile.archives`](https://gitlab.com/gitlab-org/gitlab-docs/blob/master/dockerfiles/Dockerfile.archives) | `gitlab-docs:archives` | 在一个档案中包含网站的所有版本. 它从一个位置中的每个版本复制所有生成的 HTML 文件. | - -## How to build the images[](#how-to-build-the-images "Permalink") - -尽管构建映像是通过 GitLab CI / CD 自动构建的,但是您可以在本地构建和标记所有工具映像: - -1. 确保已[安装 Docker](https://s0docs0docker0com.icopy.site/install/) . -2. 确保您位于`gitlab-docs`存储库的`dockerfiles/`目录中. -3. 构建图像: - - ``` - docker build -t registry.gitlab.com/gitlab-org/gitlab-docs:bootstrap -f Dockerfile.bootstrap ../ - docker build -t registry.gitlab.com/gitlab-org/gitlab-docs:builder-onbuild -f Dockerfile.builder.onbuild ../ - docker build -t registry.gitlab.com/gitlab-org/gitlab-docs:nginx-onbuild -f Dockerfile.nginx.onbuild ../ - ``` - -对于每个图像, [`.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab-docs/blob/master/.gitlab-ci.yml)的`images`阶段下都有一个手动作业,可以随意调用. - -## Monthly release process[](#monthly-release-process "Permalink") - -当 22 日发布新版本的 GitLab 时,我们需要创建相应的单个 Docker 映像,并更新一些文件,以使下拉列表正常工作. - -### 1\. Add the chart version[](#1-add-the-chart-version "Permalink") - -由于图表使用的版本号不同于所有其他 GitLab 产品,因此我们需要添加一个[版本映射](https://docs.gitlab.com/charts/installation/version_mappings.html) : - -1. 检查是否为新的图表版本[创建](https://gitlab.com/gitlab-org/charts/gitlab/-/branches)了[稳定的分支](https://gitlab.com/gitlab-org/charts/gitlab/-/branches) . 如果不确定或找不到,请在`#g_delivery`频道中添加一行. -2. 确保您位于`gitlab-docs`存储库的根路径中. -3. 打开`content/_data/chart_versions.yaml`并使用版本映射添加新的稳定分支版本. 请注意,仅需要`major.minor`版本. -4. 创建一个新的合并请求并将其合并. - -**提示:**创建将来的映射可能很方便,因为它们已广为人知. 在这种情况下,当发布新版本的 GitLab 时,您不必重复此第一步. - -### 2\. Create an image for a single version[](#2-create-an-image-for-a-single-version "Permalink") - -必须在发布合并请求之前创建单个 docs 版本,但这需要在为所有产品创建稳定分支之后发生. - -1. 确保您位于`gitlab-docs`存储库的根路径中. -2. 运行 Rake 任务以创建单个版本: - - ``` - ./bin/rake "release:single[12.0]" - ``` - - 应该已经创建了新的`Dockerfile.12.0`并且`.gitlab-ci.yml`应该将分支变量更新为新的分支. 他们将被自动提交. - -3. 推送新创建的分支,但**不要创建合并请求** . 推送后, `image:docker-singe`作业将创建一个新的 Docker 映像,该映像标记有您在第一步中创建的分支名称. 最后,该图像将被上载到[Container Registry 中](https://gitlab.com/gitlab-org/gitlab-docs/container_registry) ,并且将在位于`https://gitlab.com/gitlab-org/gitlab-docs/-/environments/folders/registry`的`registry`环境文件夹下列出.开发人员访问权限). - -(可选)您可以通过构建映像并运行它来进行本地测试: - -``` -docker build -t docs:12.0 -f Dockerfile.12.0 . -docker run -it --rm -p 4000:4000 docs:12.0 -``` - -访问`http://localhost:4000/12.0/`以查看一切是否正常. - -### 3\. Create the release merge request[](#3-create-the-release-merge-request "Permalink") - -**Note:** To be [automated](https://gitlab.com/gitlab-org/gitlab-docs/-/issues/750). - -现在是时候创建每月发布合并请求,添加新版本并轮换旧版本了: - -1. 确保您位于`gitlab-docs`存储库的根路径中. -2. 创建一个分支`release-XY` : - - ``` - git checkout master - git checkout -b release-12-0 - ``` - -3. **轮换在线和离线版本:** - - 在任何给定时间,都有 4 个可浏览的在线版本:一个是从上游主分支(GitLab.com 的文档)中提取的,另一个是三个最新的稳定版本. - - 编辑`content/_data/versions.yaml`并旋转版本以反映新的更改: - - * `online` :3 个最新的稳定版本. - * `offline` :所有以前的版本都以脱机存档的形式提供. -4. **更新`:latest`和`:archives` Docker 映像:** - - 需要更新以下两个 Dockerfile: - - 1. `dockerfiles/Dockerfile.archives`在列表顶部添加最新版本. - 2. `Dockerfile.master`旋转版本(最旧的被删除,最新的被添加在列表的顶部). -5. 最后,应该总共更改了四个文件. 提交并使用"发布"模板推送以创建合并请求: - - ``` - git add content/ Dockerfile.master dockerfiles/Dockerfile.archives - git commit -m "Release 12.0" - git push origin release-12-0 - ``` - -### 4\. Update the dropdown for all online versions[](#4-update-the-dropdown-for-all-online-versions "Permalink") - -版本下拉列表采用"硬编码"方式. 在构建站点时,它将查看`content/_data/versions.yaml`的内容,并基于此内容填充下拉列表. 因此,较旧的分支将具有不同的内容,这意味着下拉列表将在后面列出一个或多个版本. 请记住,下拉菜单的新更改包含在未合并的`release-XY`分支中. - -The content of `content/_data/versions.yaml` needs to change for all online versions: - -1. 运行 Rake 任务,该任务将创建更新下拉列表所需的所有各个合并请求,并将其设置为在管道成功后自动合并. `release-XY`分支需要在本地存在,并且您需要切换到该分支,否则 Rake 任务将失败: - - ``` - ./bin/rake release:dropdowns - ``` - -2. [访问合并请求页面](https://gitlab.com/gitlab-org/gitlab-docs/-/merge_requests?label_name[]=release)以检查其管道是否通过,并在所有管道合并后继续进行以下也是最后一步. - -**提示:**万一管道发生故障,请参阅[故障排除](#troubleshooting) . - -### 5\. Merge the release merge request[](#5-merge-the-release-merge-request "Permalink") - -下拉合并请求现在应该已经合并到各自的版本(稳定分支)中,这将触发另一个管道. 在这一点上,您只需要照看管道,并确保它们不会失败: - -1. 检查管道页面: `https://gitlab.com/gitlab-org/gitlab-docs/pipelines` : `https://gitlab.com/gitlab-org/gitlab-docs/pipelines`并确保所有稳定的分支都具有绿色管道. -2. 联机版本的所有管道成功后,请合并发布合并请求. -3. 最后,从`https://gitlab.com/gitlab-org/gitlab-docs/pipeline_schedules`运行`Build docker images weekly` Docker 映像管道,以构建`:latest`和`:archives` Docker 映像. - -一旦计划的管道成功,将在线部署所有新版本的 docs 网站. - -## Update an old Docker image with new upstream docs content[](#update-an-old-docker-image-with-new-upstream-docs-content "Permalink") - -如果对单个 Docker 映像中未包含的产品的任何稳定分支进行了任何更改,只需重新运行管道( `https://gitlab.com/gitlab-org/gitlab-docs/pipelines/new` )有问题的版本. - -## Porting new website changes to old versions[](#porting-new-website-changes-to-old-versions "Permalink") - -**警告:将**更改移植到较旧的分支机构可能会产生意想不到的影响,因为我们不断更改网站的后端. 仅在知道自己在做什么并确保在本地进行测试时使用. - -网站将不断变化和完善. 为了将这些更改合并到稳定分支中,我们需要不时选择某些更改. - -如果这不可能或有很多更改,请将 master 合并到其中: - -``` -git branch 12.0 -git fetch origin master -git merge origin/master -``` - -## Troubleshooting[](#troubleshooting "Permalink") - -发布新版本是一个漫长的过程,涉及许多活动部件. - -### `test_internal_links_and_anchors` failing on dropdown merge requests[](#test_internal_links_and_anchors-failing-on-dropdown-merge-requests "Permalink") - -**注意:**我们现在将版本`.gitlab-ci.yml`在相应分支的`.gitlab-ci.yml`中,因此不建议使用以下步骤. - -当[更新稳定版本的下拉列表时](#4-update-the-dropdown-for-all-online-versions) ,某些链接可能会失败. 创建下拉式 MR 的过程有一个警告,那就是通过拉动所有产品的主分支而不是相应的稳定分支来运行测试. - -在实际情况下,由于[`test_internal_links_and_anchors` test](https://gitlab.com/gitlab-org/gitlab-docs/-/jobs/328042431) [,导致与 12.4](https://gitlab.com/gitlab-org/gitlab-docs/-/merge_requests/604)合并请求[相匹配](https://gitlab.com/gitlab-org/gitlab-docs/-/merge_requests/604)的[Update 12.2 下拉列表](https://gitlab.com/gitlab-org/gitlab-docs/-/merge_requests/604)失败. - -发生这种情况是因为已经对产品进行了重命名( `gitlab-monitor`到`gitlab-exporter` ),而旧名称仍在 12.2 文档中引用. 如果使用了 12.2 的各个稳定分支,则不会失败,但是从[`compile_dev`作业中](https://gitlab.com/gitlab-org/gitlab-docs/-/jobs/328042427)可以看出, `master`分支已被拉出. - -要解决此问题, `https://gitlab.com/gitlab-org/gitlab-docs/pipelines/new`为`update-12-2-for-release-12-4`分支重新运行管道( `https://gitlab.com/gitlab-org/gitlab-docs/pipelines/new` ),以下环境变量: - -* `BRANCH_CE`设置为`12-2-stable` -* `BRANCH_EE`设置为`12-2-stable-ee` -* `BRANCH_OMNIBUS`设置为`12-2-stable` -* `BRANCH_RUNNER`设置为`12-2-stable` -* `BRANCH_CHARTS`设置为`2-2-stable` - -这应该使 MR 通过. \ No newline at end of file diff --git a/docs/575.md b/docs/575.md deleted file mode 100644 index fdd2ef2..0000000 --- a/docs/575.md +++ /dev/null @@ -1,208 +0,0 @@ -# Telemetry Guide - -> 原文:[https://docs.gitlab.com/ee/development/telemetry/](https://docs.gitlab.com/ee/development/telemetry/) - -* [Our tracking tools](#our-tracking-tools) - * [Snowplow JS (Frontend)](#snowplow-js-frontend) - * [Snowplow Ruby (Backend)](#snowplow-ruby-backend) - * [Usage Ping](#usage-ping) - * [Database import](#database-import) - * [Log system](#log-system) -* [What data can be tracked](#what-data-can-be-tracked) - * [Database counts](#database-counts) - * [Pageview events](#pageview-events) - * [UI Events](#ui-events) - * [CRUD or API events](#crud-or-api-events) - * [Event funnels](#event-funnels) - * [PostgreSQL data](#postgresql-data) - * [Logs](#logs) - * [External services](#external-services) -* [Telemetry systems overview](#telemetry-systems-overview) - * [GitLab Inc](#gitlab-inc) - * [Self-managed](#self-managed) - * [Differences between GitLab Inc and Self-managed](#differences-between-gitlab-inc-and-self-managed) -* [Snowflake data warehouse](#snowflake-data-warehouse) - * [Data sources](#data-sources) - -# Telemetry Guide[](#telemetry-guide "Permalink") - -在 GitLab,我们收集遥测信息,以帮助我们构建更好的 GitLab. 收集有关如何使用 GitLab 的数据,以更好地了解 GitLab 的哪些部分需要改进以及下一步要构建的功能. 遥测还可以帮助我们的团队更好地理解人们使用 GitLab 的原因,并且借助这一知识,我们能够做出更好的产品决策. - -我们还鼓励用户启用跟踪功能,并且我们的跟踪方法完全透明,因此可以轻松理解和信任它. 通过启用跟踪,用户可以: - -* 回馈更广泛的社区. -* 帮助 GitLab 改进产品. - -本文档包含三个指南,概述了 GitLab 的遥测. - -遥测指南: - -1. [Our tracking tools](#our-tracking-tools) -2. [What data can be tracked](#what-data-can-be-tracked) -3. [Telemetry systems overview](#telemetry-systems-overview) -4. [Snowflake data warehouse](#snowflake-data-warehouse) - -[Usage Ping Guide](usage_ping.html) - -1. [What is Usage Ping](usage_ping.html#what-is-usage-ping) -2. [Usage Ping payload](usage_ping.html#usage-ping-payload) -3. [Disable Usage Ping](usage_ping.html#disable-usage-ping) -4. [Usage Ping request flow](usage_ping.html#usage-ping-request-flow) -5. [How Usage Ping works](usage_ping.html#how-usage-ping-works) -6. [Implementing Usage Ping](usage_ping.html#implementing-usage-ping) -7. [Developing and testing Usage Ping](usage_ping.html#developing-and-testing-usage-ping) - -[Snowplow Guide](snowplow.html) - -1. [What is Snowplow](snowplow.html#what-is-snowplow) -2. [Snowplow schema](snowplow.html#snowplow-schema) -3. [Enabling Snowplow](snowplow.html#enabling-snowplow) -4. [Snowplow request flow](snowplow.html#snowplow-request-flow) -5. [Implementing Snowplow JS (Frontend) tracking](snowplow.html#implementing-snowplow-js-frontend-tracking) -6. [Implementing Snowplow Ruby (Backend) tracking](snowplow.html#implementing-snowplow-ruby-backend-tracking) -7. [Developing and testing Snowplow](snowplow.html#developing-and-testing-snowplow) - -更有用的链接: - -* [Telemetry Direction](https://about.gitlab.com/direction/telemetry/) -* [Data Analysis Process](https://about.gitlab.com/handbook/business-ops/data-team/#data-analysis-process/) -* [Data for Product Managers](https://about.gitlab.com/handbook/business-ops/data-team/programs/data-for-product-managers/) -* [Data Infrastructure](https://about.gitlab.com/handbook/business-ops/data-team/platform/infrastructure/) - -## Our tracking tools[](#our-tracking-tools "Permalink") - -我们使用几种不同的技术来收集产品使用数据. - -### Snowplow JS (Frontend)[](#snowplow-js-frontend "Permalink") - -Snowplow 是企业级营销和产品分析平台,可帮助跟踪用户与我们的网站和应用程序互动的方式. [Snowplow JS](https://github.com/snowplow/snowplow/wiki/javascript-tracker)是客户端事件的前端跟踪器. - -### Snowplow Ruby (Backend)[](#snowplow-ruby-backend "Permalink") - -Snowplow 是企业级营销和产品分析平台,可帮助跟踪用户与我们的网站和应用程序互动的方式. [Snowplow Ruby](https://github.com/snowplow/snowplow/wiki/ruby-tracker)是服务器端事件的后端跟踪器. - -### Usage Ping[](#usage-ping "Permalink") - -用法 Ping 是 GitLab Inc 收集 GitLab 实例上的用法数据的一种方法. 用法 Ping 主要由实例数据库中不同表的行数组成. 通过逐月比较这些计数(或逐周比较),我们可以大致了解实例如何使用产品中的不同功能. 这些高级数据用于帮助我们的产品,支持和销售团队. - -有关更多详细信息,请阅读《 [用法](usage_ping.html)说明》指南. - -### Database import[](#database-import "Permalink") - -数据库导入是将数据完全导入到 GitLab 的数据仓库中. 对于 GitLab.com,每 6 小时将 PostgreSQL 数据库加载到 Snowflake 数据仓库中. 有关更多详细信息,请参见[数据团队手册](https://about.gitlab.com/handbook/business-ops/data-team/platform/#extract-and-load) . - -### Log system[](#log-system "Permalink") - -系统日志是通过运行 GitLab Rails 应用程序生成的应用程序日志. 有关更多详细信息,请参阅[日志系统](../../administration/logs.html)和[日志记录基础结构](https://gitlab.com/gitlab-com/runbooks/tree/master/logging/doc#logging-infrastructure-overview) . - -## What data can be tracked[](#what-data-can-be-tracked "Permalink") - -我们不同的跟踪工具使我们能够跟踪不同类型的事件. 下面概述了事件类型和可以跟踪哪些数据的示例. - -| 事件类型 | 扫雪机 JS(前端) | 扫雪机 Ruby(后端) | 使用情况 | 数据库导入 | 日志系统 | -| --- | --- | --- | --- | --- | --- | -| 数据库计数 | | | | | | -| 浏览量事件 | | | | | | -| UI 事件 | | | | | | -| CRUD 和 API 事件 | | | | | | -| 活动渠道 | | | | | | -| PostgreSQL 数据 | | | | | | -| Logs | | | | | | -| 外部服务 | | | | | | - -### Database counts[](#database-counts "Permalink") - -* 唯一用户创建的项目数 -* Number of users logged in the past 28 day - -数据库计数是实例数据库中不同表的行计数. 这些是经过过滤,分组或聚合的 SQL 计数查询,可提供高级使用情况数据. 可用表的完整列表可以在[structure.sql 中](https://gitlab.com/gitlab-org/gitlab/-/blob/master/db/structure.sql)找到. - -### Pageview events[](#pageview-events "Permalink") - -* 访问/ dashboard / groups 页面的会话数 - -### UI Events[](#ui-events "Permalink") - -* 单击按钮或链接的会话数 -* 关闭模式的会话数 - -UI 事件是浏览器中任何界面驱动的动作,包括点击数据. - -### CRUD or API events[](#crud-or-api-events "Permalink") - -* Git 推送次数 -* GraphQL 查询数 -* 对 Rails 操作或控制器的请求数 - -这些是后端事件,包括记录的创建,读取,更新,删除以及其他可能从界面中可用层以外的层触发的事件. - -### Event funnels[](#event-funnels "Permalink") - -* 依次执行操作 A,B 和 C 的会话数 -* 从步骤 A 到步骤 B 的转化率 - -### PostgreSQL data[](#postgresql-data "Permalink") - -这些是原始数据库记录,可使用 Sisense 等商业智能工具进行浏览. 可用表的完整列表可以在[structure.sql 中](https://gitlab.com/gitlab-org/gitlab/-/blob/master/db/structure.sql)找到. - -### Logs[](#logs "Permalink") - -这些是原始日志,例如[生产日志](../../administration/logs.html#production_jsonlog) , [API 日志](../../administration/logs.html#api_jsonlog)或[Sidekiq 日志](../../administration/logs.html#sidekiqlog) . 有关更多详细信息,请参见[日志记录基础结构概述](https://gitlab.com/gitlab-com/runbooks/tree/master/logging/doc#logging-infrastructure-overview) . - -### External services[](#external-services "Permalink") - -这些是 GitLab 实例与之交互的外部服务,例如[外部存储提供程序](../../administration/static_objects_external_storage.html)或[外部容器注册表](../../administration/packages/container_registry.html#use-an-external-container-registry-with-gitlab-as-an-auth-endpoint) . 这些服务必须能够将数据发送回 GitLab 实例,以便跟踪数据. - -## Telemetry systems overview[](#telemetry-systems-overview "Permalink") - -系统概述是一个简化的图,显示了 GitLab Inc 与自我管理实例之间的交互. - -[![Telemetry_Overview](img/1f5aad8fb69a4afb74547a2d31fcbc66.png)](../img/telemetry_system_overview.png) - -[Source file](https://app.diagrams.net/#G13DVpN-XnhWGz9tqReIj8pp1UE4ehk_EC) - -### GitLab Inc[](#gitlab-inc "Permalink") - -为了进行遥测,GitLab Inc 具有三个主要组件: - -1. [数据基础架构](https://about.gitlab.com/handbook/business-ops/data-team/platform/infrastructure/) :包含我们数据团队管理的所有内容,包括用于可视化的 Sisense 仪表板,用于数据仓库的 Snowflake,传入数据源(例如 PostgreSQL Pipeline 和 S3 Bucket)以及最后是数据收集器[GitLab.com 的 Snowplow Collector](https://about.gitlab.com/handbook/engineering/infrastructure/library/snowplow/)和 GitLab 的 Versions 应用程序. -2. GitLab.com:这是生产的 GitLab 应用程序,由客户端和服务器组成. 在客户端或浏览器端,使用 Snowplow JS 跟踪器(前端)来跟踪客户端事件. 在服务器或应用程序端,使用 Snowplow Ruby 跟踪器(后端)来跟踪服务器端事件. 该服务器还包含使用率 Ping,它利用 PostgreSQL 数据库和 Redis 内存数据存储来报告使用率数据. 最后,服务器还包含通过运行 GitLab 应用程序生成的系统日志. -3. [监视基础结构](https://about.gitlab.com/handbook/engineering/monitoring/) :这是用于确保 GitLab.com 正常运行的基础结构. 系统日志从 GitLab.com 发送到我们的监视基础结构,并由 FluentD 收集器收集. 从 FluentD,日志可以通过 Stackdriver 发送到长期的 Google Cloud Services 冷存储,或者通过 Cloud Pub / Sub 发送到我们的 Elastic Cluster,可以使用 Kibana 进行实时浏览. - -### Self-managed[](#self-managed "Permalink") - -出于遥测目的,自我管理实例具有两个主要组成部分: - -1. 数据基础结构:在自助式实例上,设置数据基础结构是可选的. 如果您想为自己管理的实例收集 Snowplow 跟踪事件,则可以设置自己的自我管理 Snowplow 收集器,并将 Snowplow 事件配置为指向自己的收集器. -2. GitLab:一个自我管理的 GitLab 实例包含与上述 GitLab.com 相同的所有组件. - -### Differences between GitLab Inc and Self-managed[](#differences-between-gitlab-inc-and-self-managed "Permalink") - -如橙色线所示,在 GitLab.com 上,Snowplow JS,Snowplow Ruby,Using Ping 和 PostgreSQL 数据库将所有流导入到 GitLab Inc 的数据基础结构中. 但是,在自我管理上,只有 Usage Ping 流入 GitLab Inc 的数据基础架构. - -如绿线所示,在 GitLab.com 上的系统日志流进入 GitLab Inc 的监视基础结构. 在自我管理下,没有日志发送到 GitLab Inc 的监视基础结构. - -GitLab.com 和自我管理之间的区别总结如下: - -| Environment | 扫雪机 JS(前端) | 扫雪机 Ruby(后端) | 使用情况 | 数据库导入 | 日志系统 | -| --- | --- | --- | --- | --- | --- | -| GitLab.com | | | | | | -| Self-Managed | (1) | (1) | | | | - -注意(1):Snowplow JS 和 Snowplow Ruby 在自我管理上可用,但是,Snowplow Collector 端点设置为 GitLab Inc 无法访问的自我管理 Snowplow Collector. - -## Snowflake data warehouse[](#snowflake-data-warehouse "Permalink") - -Snowflake 数据仓库是我们保存 GitLab Inc 所有数据的地方. - -### Data sources[](#data-sources "Permalink") - -Snowflake 和 Sisense 中有多个数据源可用,每个数据源代表沿转换管道的数据的不同视图. - -| Source | Description | Access | -| --- | --- | --- | -| raw | 这些表是原始数据源 | Access via Snowflake | -| analytics_staging | 这些表几乎没有经过任何数据转换,这意味着它们基本上是原始数据源的克隆. | 通过雪花或 Sisense 访问 | -| analytics | 这些表通常经历了更多的数据转换. 它们通常以`_xf`以表示它们已转换的事实 | 通过雪花或 Sisense 访问 | - -如果您是对原始数据感兴趣的产品经理,则可能会关注于`analytics`和`analytics_staging`源. 原始资源仅限于数据和基础架构团队. 有关更多信息,请参阅[产品经理数据:analytics_staging 和 analytics 之间有什么区别?](https://about.gitlab.com/handbook/business-ops/data-team/programs/data-for-product-managers/#whats-the-difference-between-analytics_staging-and-analytics) \ No newline at end of file diff --git a/docs/576.md b/docs/576.md deleted file mode 100644 index dbe4ed3..0000000 --- a/docs/576.md +++ /dev/null @@ -1,723 +0,0 @@ -# Usage Ping Guide - -> 原文:[https://docs.gitlab.com/ee/development/telemetry/usage_ping.html](https://docs.gitlab.com/ee/development/telemetry/usage_ping.html) - -* [What is Usage Ping?](#what-is-usage-ping) - * [Why should we enable Usage Ping?](#why-should-we-enable-usage-ping) - * [Limitations](#limitations) -* [Usage Ping payload](#usage-ping-payload) -* [Disable Usage Ping](#disable-usage-ping) -* [Usage Ping request flow](#usage-ping-request-flow) -* [How Usage Ping works](#how-usage-ping-works) -* [Implementing Usage Ping](#implementing-usage-ping) - * [Why batch counting](#why-batch-counting) - * [Ordinary Batch Counters](#ordinary-batch-counters) - * [Distinct Batch Counters](#distinct-batch-counters) - * [Redis Counters](#redis-counters) - * [Alternative Counters](#alternative-counters) - * [Prometheus Queries](#prometheus-queries) -* [Developing and testing Usage Ping](#developing-and-testing-usage-ping) - * [1\. Use your Rails console to manually test counters](#1-use-your-rails-console-to-manually-test-counters) - * [2\. Generate the SQL query](#2-generate-the-sql-query) - * [3\. Optimize queries with #database-lab](#3-optimize-queries-with-database-lab) - * [4\. Add the metric definition](#4-add-the-metric-definition) - * [5\. Add new metric to Versions Application](#5-add-new-metric-to-versions-application) - * [6\. Add the feature label](#6-add-the-feature-label) - * [7\. Add a changelog file](#7-add-a-changelog-file) - * [8\. Ask for a Telemetry Review](#8-ask-for-a-telemetry-review) - * [Optional: Test Prometheus based Usage Ping](#optional-test-prometheus-based-usage-ping) - * [Test with an Omnibus container](#test-with-an-omnibus-container) - * [Test with GitLab development toolkits](#test-with-gitlab-development-toolkits) -* [Usage Statistics definitions](#usage-statistics-definitions) -* [Example Usage Ping payload](#example-usage-ping-payload) - -# Usage Ping Guide[](#usage-ping-guide "Permalink") - -版本历史 - -* 在 GitLab 企业版 8.10 中引入. -* 在 GitLab 企业版 8.12 中添加了更多统计信息. -* 在 9.1 中移至 GitLab Core. -* 在 GitLab Ultimate 11.2 中添加了更多统计信息. - -本指南介绍了用法 Ping 的用途及其实现方式. - -有关遥测的更多信息,请参见: - -* [Telemetry Guide](index.html) -* [Snowplow Guide](snowplow.html) - -更有用的链接: - -* [Telemetry Direction](https://about.gitlab.com/direction/telemetry/) -* [Data Analysis Process](https://about.gitlab.com/handbook/business-ops/data-team/#data-analysis-process/) -* [Data for Product Managers](https://about.gitlab.com/handbook/business-ops/data-team/programs/data-for-product-managers/) -* [Data Infrastructure](https://about.gitlab.com/handbook/business-ops/data-team/platform/infrastructure/) - -## What is Usage Ping?[](#what-is-usage-ping "Permalink") - -* GitLab 每周将包含使用情况数据的有效负载发送到 GitLabInc.用法 Ping 提供高级数据来帮助我们的产品,支持和销售团队. 它不发送任何项目名称,用户名或任何其他特定数据. 使用 ping 中的信息不是匿名的,它链接到实例的主机名. 发送使用情况 ping 是可选的,任何实例都可以禁用分析. -* 使用情况数据主要由实例数据库中不同表的行计数组成. 通过逐月比较这些计数(或逐周比较),我们可以大致了解实例如何使用产品中的不同功能. 除计数外,还收集了其他有助于我们分类和了解 GitLab 安装的事实. -* 使用 ping 对 GitLab 很重要,因为我们使用它来计算阶段每月活跃用户(SMAU),这有助于我们衡量阶段和功能的成功程度. -* 启用使用情况 ping 后,GitLab 将从其他实例收集数据,并能够向用户显示您实例的使用情况统计信息. - -### Why should we enable Usage Ping?[](#why-should-we-enable-usage-ping "Permalink") - -* 使用 Ping 的主要目的是构建更好的 GitLab. 收集有关如何使用 GitLab 的数据,以更好地了解功能/阶段的采用和使用情况,这有助于我们了解 GitLab 如何增加价值,并帮助我们的团队更好地了解人们使用 GitLab 的原因,并且借助这些知识,我们可以做得更好产品决策. -* 作为激活使用 ping 的一项好处,GitLab 可让您分析 GitLab 安装过程中用户的活动. -* 作为激活使用 ping 的一项好处,GitLab 为您提供了 DevOps 得分,它为您提供了从计划到监视整个实例对并发 DevOps 的采用情况的概述. -* 您将获得更好,更主动的支持. (假设我们的 TAM 和支持组织使用这些数据来提供更多价值) -* 您将获得有关如何从 GitLab 的投资中获得最大价值的见识和建议. 您是否不想知道组织中未采用许多功能或价值? -* 您将获得一份报告,说明如何与其他类似组织(匿名)进行比较,并提供有关如何改进 DevOps 流程的具体建议和建议. -* 默认情况下启用用法 Ping. 要禁用它,请参阅[禁用用法 Ping](#disable-usage-ping) . - -### Limitations[](#limitations "Permalink") - -* Usage Ping does not track frontend events things like page views, link clicks, or user sessions, and only focuses on aggregated backend events. -* 由于这些限制,我们建议使用 Snowplow 来对您的产品进行检测,以在 GitLab.com 上进行更详细的分析,并使用 Usage Ping 跟踪自我管理中的汇总后端事件. - -## Usage Ping payload[](#usage-ping-payload "Permalink") - -您可以在管理面板中查看发送到 GitLab Inc.的确切 JSON 有效负载. 要查看有效负载: - -1. 导航到" **管理区域">"设置">"度量标准和性能分析"** . -2. 展开**使用情况统计信息**部分. -3. 单击**预览有效负载**按钮. - -有关有效负载的示例,请参阅[示例用法 Ping 有效负载](#example-usage-ping-payload) . - -## Disable Usage Ping[](#disable-usage-ping "Permalink") - -要在 GitLab UI 中禁用"使用情况 Ping",请转到管理面板的**"设置"**页面,然后取消选中" **使用情况 Ping"**复选框. - -要禁用用法 Ping 并防止日后通过管理面板对其进行配置,Omnibus 安装可以在[`gitlab.rb`](https://docs.gitlab.com/omnibus/settings/configuration.html)设置以下[`gitlab.rb`](https://docs.gitlab.com/omnibus/settings/configuration.html) : - -``` -gitlab_rails['usage_ping_enabled'] = false -``` - -源代码安装可以在`gitlab.yml`设置以下`gitlab.yml` : - -``` -production: &base - # ... - gitlab: - # ... - usage_ping_enabled: false -``` - -## Usage Ping request flow[](#usage-ping-request-flow "Permalink") - -The following example shows a basic request/response flow between a GitLab instance, the Versions Application, the License Application, Salesforce, GitLab’s S3 Bucket, GitLab’s Snowflake Data Warehouse, and Sisense: - -sequenceDiagram 参与者 GitLab 实例参与者版本应用程序参与者许可证应用程序参与者 Salesforce 参与者 S3 存储桶参与者 Snowflake DW 参与者 Sisense 仪表板 GitLab 实例->>版本应用程序:发送使用情况 ping 循环流程使用情况数据版本应用程序->>版本应用程序:解析使用情况数据版本应用程序- >>版本应用程序:写入数据库版本应用程序->>版本应用程序:更新许可证 ping 超时循环 Salesforce 版本的过程数据 Application-xLicenses 应用程序:请求 Zuora 订阅 ID 许可证 Application-xVersions 应用程序:Zuora 订阅 ID 版本 Application-xSalesforce:通过 Zuora 订阅 ID 请求 Zuora 帐户 ID Salesforce-xVersions 应用程序:Zuora 帐户 ID 版本 Application-xSalesforce:Zuora 帐户最终版本的使用数据 Application->> S3 存储桶:导出版本数据库 S3 存储桶->>雪花 DW:导入数据 Snowflake DW->>雪花 DW:Trans 使用 dbt Snowflake DW->> Sisense 仪表板的表单数据:可用于查询版本 Application->> GitLab 实例的数据:DevOps 得分(会话开发索引) - -## How Usage Ping works[](#how-usage-ping-works "Permalink") - -1. 在 Sidekiq 中将 Usage Ping [cron 作业](https://gitlab.com/gitlab-org/gitlab/-/blob/master/app/workers/gitlab_usage_ping_worker.rb#L30)设置为每周运行. -2. 当 cron 作业运行时,它将调用[`GitLab::UsageData.to_json`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/app/services/submit_usage_ping_service.rb#L22) . -3. `GitLab::UsageData.to_json` [级联](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/usage_data.rb#L22)到`GitLab::UsageData.to_json` +其他计数器方法调用. -4. 所有方法调用的响应都在`GitLab::UsageData.to_json`中[合并](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/usage_data.rb#L14)为一个 JSON 负载. -5. 然后将 JSON 有效负载[发布到 Versions 应用程序](https://gitlab.com/gitlab-org/gitlab/-/blob/master/app/services/submit_usage_ping_service.rb#L20) . - -## Implementing Usage Ping[](#implementing-usage-ping "Permalink") - -Usage Ping consists of two kinds of data, counters and observations. Counters track how often a certain event happened over time, such as how many CI pipelines have run. They are monotonic and always trend up. Observations are facts collected from one or more GitLab instances and can carry arbitrary data. There are no general guidelines around how to collect those, due to the individual nature of that data. - -在`usage_data.rb`中可以找到四种类型的计数器: - -* **普通批处理计数器:**给定 ActiveRecord_Relation 的简单计数 -* **不同的批次计数器:**给定列上给定 ActiveRecord_Relation 的不同计数 -* **备用计数器:**用于设置和配置 -* **Redis 计数器:**用于内存中计数. 由于数据不正确,此方法已被弃用,并将由持久性方法代替. - -**注意:**仅使用提供的计数器方法. 每个计数器方法都包含一个内置的故障保险柜,用于隔离每个计数器,以避免破坏整个使用情况 Ping. - -### Why batch counting[](#why-batch-counting "Permalink") - -对于大型表,由于 MVCC [(多版本并发控制)](https://en.wikipedia.org/wiki/Multiversion_concurrency_control) ,PostgreSQL 可能需要很长时间才能对行进行计数. 批计数是一种将单个大型查询分解为多个较小查询的计数方法. 例如,您可以执行 100 个每个 10,000 条记录的查询,而不是一个查询 1,000,000 条记录并进行批处理的查询. 批计数对于避免数据库超时很有用,因为每个批查询都比一个长期运行的查询短得多. - -对于 GitLab.com,有非常大的表具有 15 秒的查询超时,因此我们使用批计数来避免遇到超时. 以下是一些 GitLab.com 表的大小: - -| Table | 行数百万 | -| --- | --- | -| `merge_request_diff_commits` | 2280 | -| `ci_build_trace_sections` | 1764 | -| `merge_request_diff_files` | 1082 | -| `events` | 514 | - -提供了两种批处理计数方法:" `Ordinary Batch Counters`和" `Distinct Batch Counters` . 批计数需要列上的索引来计算最大值,最小值和范围查询. 在某些情况下,可能需要在计数器涉及的列上添加专门的索引. - -### Ordinary Batch Counters[](#ordinary-batch-counters "Permalink") - -Handles `ActiveRecord::StatementInvalid` error - -给定 ActiveRecord_Relation 的简单计数 - -Method: `count(relation, column = nil, batch: true, start: nil, finish: nil)` - -Arguments: - -* `relation` ActiveRecord_Relation 以执行计数 -* `column`要执行计数的列,默认情况下是主键 -* `batch` :默认为`true`以便使用批次计数 -* `start` :批处理计数的自定义开始,以避免复杂的最小值计算 -* `end` :批处理计数的自定义结束,以避免复杂的最小值计算 - -Examples: - -``` -count(User.active) -count(::Clusters::Cluster.aws_installed.enabled, :cluster_id) -count(::Clusters::Cluster.aws_installed.enabled, :cluster_id, start: ::Clusters::Cluster.minimum(:id), finish: ::Clusters::Cluster.maximum(:id)) -``` - -### Distinct Batch Counters[](#distinct-batch-counters "Permalink") - -Handles `ActiveRecord::StatementInvalid` error - -给定列上给定 ActiveRecord_Relation 的不重复计数 - -Method: `distinct_count(relation, column = nil, batch: true, start: nil, finish: nil)` - -Arguments: - -* `relation` ActiveRecord_Relation 以执行计数 -* `column`该列执行非重复计数,默认情况下是主键 -* `batch` :默认为`true`以便使用批次计数 -* `start` :批处理计数的自定义开始,以避免复杂的最小值计算 -* `end` :批处理计数的自定义结束,以避免复杂的最小值计算 - -Examples: - -``` -distinct_count(::Project, :creator_id) -distinct_count(::Note.with_suggestions.where(time_period), :author_id, start: ::User.minimum(:id), finish: ::User.maximum(:id)) -distinct_count(::Clusters::Applications::CertManager.where(time_period).available.joins(:cluster), 'clusters.user_id') -``` - -### Redis Counters[](#redis-counters "Permalink") - -当发送一个块时,句柄`::Redis::CommandError`和`Gitlab::UsageDataCounters::BaseCounter::UnknownEvent`返回-1,或者在向`counter(Gitlab::UsageDataCounters)`发送不同行为时由于所有 2 个不同而返回具有所有值-1 的哈希 Redis 计数器的实现 - -Method: `redis_usage_data(counter, &block)` - -Arguments: - -* `counter` :来自`Gitlab::UsageDataCounters`的计数器,该计数器已实现`fallback_totals`方法 -* 或`block` :被评估 - -用法示例: - -``` -redis_usage_data(Gitlab::UsageDataCounters::WikiPageCounter) -redis_usage_data { ::Gitlab::UsageCounters::PodLogs.usage_totals[:total] } -``` - -请注意,Redis 计数器正在[被弃用](https://gitlab.com/gitlab-org/gitlab/-/issues/216330) ,您应该改为尝试使用 Snowplow 事件. 我们正在构建[自我管理的事件跟踪](https://gitlab.com/gitlab-org/telemetry/-/issues/373) ,一旦可用,我们会将所有 Redis 计数器转换为 Snowplow 事件. - -### Alternative Counters[](#alternative-counters "Permalink") - -以这种方式处理`StandardError`并将后备值处理为-1,如果遇到一个异常,并非所有度量都会失败. 主要用于设置和配置. - -Method: `alt_usage_data(value = nil, fallback: -1, &block)` - -Arguments: - -* `value` :一个简单的静态值,在这种情况下,仅返回该值. -* 或`block` :被评估 -* `fallback: -1` :用于失败的任何度量的通用值. - -用法示例: - -``` -alt_usage_data { Gitlab::VERSION } -alt_usage_data { Gitlab::CurrentSettings.uuid } -alt_usage_data(999) -``` - -### Prometheus Queries[](#prometheus-queries "Permalink") - -在那些操作指标应成为 Usage Ping 一部分的情况下,数据库或 Redis 查询不太可能提供有用的数据. 取而代之的是,Prometheus 可能更合适,因为大多数 GitLab 的体系结构组件都会向其发布指标,这些指标可以查询,汇总并作为使用数据包含在内. - -**注意:** Prometheus 作为 Usage Ping 的数据源目前仅适用于运行[捆绑的 Prometheus](../../administration/monitoring/prometheus/index.html)实例的单节点 Omnibus 安装. - -为了查询 Prometheus 的度量标准,可以使用一个助手方法,该方法将`yield`一个完整配置的`PrometheusClient` ,前提是可以按照上述说明使用它: - -``` -with_prometheus_client do |client| - response = client.query('<your query>') - ... -end -``` - -请参阅[`PrometheusClient`定义,](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/prometheus_client.rb)以了解如何使用其 API 查询数据. - -## Developing and testing Usage Ping[](#developing-and-testing-usage-ping "Permalink") - -### 1\. Use your Rails console to manually test counters[](#1-use-your-rails-console-to-manually-test-counters "Permalink") - -``` -# count -Gitlab::UsageData.count(User.active) -Gitlab::UsageData.count(::Clusters::Cluster.aws_installed.enabled, :cluster_id) - -# count distinct -Gitlab::UsageData.distinct_count(::Project, :creator_id) -Gitlab::UsageData.distinct_count(::Note.with_suggestions.where(time_period), :author_id, start: ::User.minimum(:id), finish: ::User.maximum(:id)) -``` - -### 2\. Generate the SQL query[](#2-generate-the-sql-query "Permalink") - -您的 Rails 控制台将返回生成的 SQL 查询. - -Example: - -``` -pry(main)> Gitlab::UsageData.count(User.active) - (2.6ms) SELECT "features"."key" FROM "features" - (15.3ms) SELECT MIN("users"."id") FROM "users" WHERE ("users"."state" IN ('active')) AND ("users"."user_type" IS NULL OR "users"."user_type" IN (6, 4)) - (2.4ms) SELECT MAX("users"."id") FROM "users" WHERE ("users"."state" IN ('active')) AND ("users"."user_type" IS NULL OR "users"."user_type" IN (6, 4)) - (1.9ms) SELECT COUNT("users"."id") FROM "users" WHERE ("users"."state" IN ('active')) AND ("users"."user_type" IS NULL OR "users"."user_type" IN (6, 4)) AND "users"."id" BETWEEN 1 AND 100000 -``` - -### 3\. Optimize queries with #database-lab[](#3-optimize-queries-with-database-lab "Permalink") - -将 SQL 查询粘贴到`#database-lab`以查看查询的大规模执行情况. - -* `#database-lab` is a Slack channel which uses a production-sized environment to test your queries. -* GitLab.com 的生产数据库有 15 秒的超时. -* 任何单个查询的冷缓存都必须保持在 1 秒以下的执行时间. -* 在涉及的列上添加专门的索引,以减少执行时间. - -为了了解查询的执行情况,我们在 MR 描述中添加了以下信息: - -* 对于具有`time_period`测试的计数器,我们添加了两种情况的信息: - * 所有时间段的`time_period = {}` - * `time_period = { created_at: 28.days.ago..Time.current }`最近 28 天的时间段 -* 优化前后的执行计划和查询时间 -* 查询生成的索引和时间 -* 上下执行的迁移输出 - -我们还使用`#database-lab`和[explain.depesz.com](https://explain.depesz.com/) . 有关更多详细信息,请参见[数据库查看指南](../database_review.html#preparation-when-adding-or-modifying-queries) . - -查询优化工作的示例: - -* [Example 1](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/26445) -* [Example 2](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/26871) - -### 4\. Add the metric definition[](#4-add-the-metric-definition "Permalink") - -添加,更改或更新指标时,请更新[使用情况统计信息定义表](#usage-statistics-definitions) . - -### 5\. Add new metric to Versions Application[](#5-add-new-metric-to-versions-application "Permalink") - -检查是否需要将新指标添加到"版本应用程序". 请参见`usage_data` [模式](https://gitlab.com/gitlab-services/version-gitlab-com/-/blob/master/db/schema.rb#L147)和已[接受的](https://gitlab.com/gitlab-services/version-gitlab-com/-/blob/master/app/services/usage_ping.rb)用法数据[参数](https://gitlab.com/gitlab-services/version-gitlab-com/-/blob/master/app/services/usage_ping.rb) . 在`counts`键下添加的所有度量标准都保存在`counts`列中. - -有关更多详细信息,请参见[将其他工具添加到"用法" Ping 的过程](https://about.gitlab.com/handbook/product/product-processes/#process-to-add-additional-instrumentation-to-the-usage-ping) . - -### 6\. Add the feature label[](#6-add-the-feature-label "Permalink") - -将`feature`标签添加到"合并请求"以获取新的"用法 Ping"度量. 这些是面向用户的更改,并且是扩展"用法" Ping 功能的一部分. - -### 7\. Add a changelog file[](#7-add-a-changelog-file "Permalink") - -确保您遵守[Changelog 条目指南](../changelog.html) . - -### 8\. Ask for a Telemetry Review[](#8-ask-for-a-telemetry-review "Permalink") - -在 GitLab.com 上,我们具有 DangerBot 设置来监视遥测相关文件,并且 DangerBot 将建议进行遥测. 在您的 MR 中提及`@gitlab-org/growth/telemetry/engineers`以进行审核. - -### Optional: Test Prometheus based Usage Ping[](#optional-test-prometheus-based-usage-ping "Permalink") - -如果提交的数据包含您要检查和验证的[从 Prometheus 查询的](#prometheus-queries)指标,则需要确保 Prometheus 服务器在本地运行,并且相应的 GitLab 组件正在向其导出指标. 如果您不需要测试来自 Prometheus 的数据,则无需采取任何进一步的措施,因为在没有运行 Prometheus 服务器的情况下,Using Ping 应该会正常降低性能. - -当前,存在三种可以将数据导出到 Prometheus 的组件,这些组件包括在 Useing Ping 中: - -* [`node_exporter`](https://github.com/prometheus/node_exporter)从主机导出节点指标 -* [`gitlab-exporter`](https://gitlab.com/gitlab-org/gitlab-exporter)从各种 GitLab 组件导出过程指标 -* 各种 GitLab 服务(例如 Sidekiq 和 Rails 服务器)可导出自己的指标 - -#### Test with an Omnibus container[](#test-with-an-omnibus-container "Permalink") - -这是测试基于 Prometheus 的用法 Ping 的推荐方法. - -验证更改的最简单方法是通过 CI 从代码分支构建新的 Omnibus 映像,然后下载该映像并运行本地容器实例: - -1. 在合并请求中,单击`qa`阶段,然后触发`package-and-qa`作业. 这项工作将触发[`omnibus-gitlab-mirror`项目](https://gitlab.com/gitlab-org/build/omnibus-gitlab-mirror/-/pipelines)的[下游管道中的](https://gitlab.com/gitlab-org/build/omnibus-gitlab-mirror/-/pipelines) Omnibus 构建. -2. 在下游管道中,等待`gitlab-docker`作业完成. -3. 打开作业日志,然后找到完整的容器名称(包括版本). 它将采用以下形式: `registry.gitlab.com/gitlab-org/build/omnibus-gitlab-mirror/gitlab-ee:<VERSION>` . -4. 在本地计算机上,确保您已登录到 GitLab Docker 注册表. 您可以在[向 GitLab 容器注册表](../../user/packages/container_registry/index.html#authenticating-to-the-gitlab-container-registry)进行[身份验证中](../../user/packages/container_registry/index.html#authenticating-to-the-gitlab-container-registry)找到有关此操作的说明. -5. 登录后,通过`docker pull registry.gitlab.com/gitlab-org/build/omnibus-gitlab-mirror/gitlab-ee:<VERSION>`下载新映像`docker pull registry.gitlab.com/gitlab-org/build/omnibus-gitlab-mirror/gitlab-ee:<VERSION>` -6. 有关在 Docker 中使用和运行 Omnibus GitLab 容器的更多信息,请参阅 Omnibus 文档中的[GitLab Docker 映像](https://docs.gitlab.com/omnibus/docker/README.html) . - -#### Test with GitLab development toolkits[](#test-with-gitlab-development-toolkits "Permalink") - -这是不建议使用的方法,因为在模拟实际的 GitLab 部署时会遇到很多困难. - -当前未将[GDK](https://gitlab.com/gitlab-org/gitlab-development-kit)设置为与其他 GitLab 组件一起运行 Prometheus 服务器或`node_exporter` . 如果您愿意,可以[使用 Prometheus 监控 GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/master/doc/howto/prometheus/index.md#monitoring-the-gdk-with-prometheus) . - -[GCK](https://gitlab.com/gitlab-org/gitlab-compose-kit)对测试基于 Prometheus 的 Useing Ping 的支持有限. 默认情况下,它已经带有完整配置的 Prometheus 服务,该服务设置为可刮除许多组件,但具有以下限制: - -* 它当前未运行`gitlab-exporter`实例,因此可能缺少诸如 Gitaly 之类的服务中的多个`process_*`指标. -* 当它运行`node_exporter` , `node_exporter` `docker-compose`服务会模拟主机,这意味着它通常会报告自身不与正在运行的任何其他服务关联. 这不是在生产设置中报告节点度量的方式,在生产设置中, `node_exporter`始终作为进程与任何给定节点上的其他 GitLab 组件一起运行. 从用法 Ping 的角度来看,没有节点数据因此似乎与任何正在运行的服务相关联,因为它们似乎都在不同的主机上运行. 为了缓解此问题, `node_exporter` GCK 中的`node_exporter`任意"分配"给了`web`服务,这意味着仅针对该服务的`node_*`指标将出现在"用法" Ping 中. - -## Usage Statistics definitions[](#usage-statistics-definitions "Permalink") - -| Statistic | Section | Stage | Tier | Edition | Description | -| --- | --- | --- | --- | --- | --- | -| `uuid` |   |   |   |   |   | -| `hostname` |   |   |   |   |   | -| `version` |   |   |   |   |   | -| `installation_type` |   |   |   |   |   | -| `active_user_count` |   |   |   |   |   | -| `recorded_at` |   |   |   |   |   | -| `recording_ce_finished_at` |   |   |   | CE+EE | 计算核心特征时 | -| `recording_ee_finished_at` |   |   |   | EE | 计算 EE 特定功能时 | -| `edition` |   |   |   |   |   | -| `license_md5` |   |   |   |   |   | -| `license_id` |   |   |   |   |   | -| `historical_max_users` |   |   |   |   |   | -| `Name` | `licensee` |   |   |   |   | -| `Email` | `licensee` |   |   |   |   | -| `Company` | `licensee` |   |   |   |   | -| `license_user_count` |   |   |   |   |   | -| `license_starts_at` |   |   |   |   |   | -| `license_expires_at` |   |   |   |   |   | -| `license_plan` |   |   |   |   |   | -| `license_trial` |   |   |   |   |   | -| `assignee_lists` | `counts` |   |   |   |   | -| `boards` | `counts` |   |   |   |   | -| `ci_builds` | `counts` | `verify` |   |   | 项目中独特的构建 | -| `ci_internal_pipelines` | `counts` | `verify` |   |   | GitLab 存储库中的管道总数 | -| `ci_external_pipelines` | `counts` | `verify` |   |   | 外部存储库中的总管道 | -| `ci_pipeline_config_auto_devops` | `counts` | `verify` |   |   | Auto DevOps 模板中的管道总数 | -| `ci_pipeline_config_repository` | `counts` | `verify` |   |   | 来自存储库中模板的管道总数 | -| `ci_runners` | `counts` | `verify` |   |   | 项目中已配置的跑步者总数 | -| `ci_triggers` | `counts` | `verify` |   |   | 项目中已配置的触发器总数 | -| `ci_pipeline_schedules` | `counts` | `verify` |   |   | GitLab 中的管道时间表 | -| `auto_devops_enabled` | `counts` | `configure` |   |   | 启用了 Auto DevOps 模板的项目 | -| `auto_devops_disabled` | `counts` | `configure` |   |   | 禁用了 Auto DevOps 模板的项目 | -| `deploy_keys` | `counts` |   |   |   |   | -| `deployments` | `counts` | `release` |   |   | 总部署 | -| `deployments` | `counts_monthly` | `release` |   |   | 最近 28 天的部署总数 | -| `dast_jobs` | `counts` |   |   |   |   | -| `successful_deployments` | `counts` | `release` |   |   | 成功部署总数 | -| `successful_deployments` | `counts_monthly` | `release` |   |   | 最近 28 天成功部署的总数 | -| `failed_deployments` | `counts` | `release` |   |   | 失败的部署总数 | -| `failed_deployments` | `counts_monthly` | `release` |   |   | 最近 28 天失败的部署总数 | -| `environments` | `counts` | `release` |   |   | 可用和停止的环境总数 | -| `clusters` | `counts` | `configure` |   |   | 启用和禁用的 GitLab 托管群集总数 | -| `clusters_enabled` | `counts` | `configure` |   |   | 当前启用的 GitLab 托管群集总数 | -| `project_clusters_enabled` | `counts` | `configure` |   |   | 附加到项目的 GitLab 托管集群总数 | -| `group_clusters_enabled` | `counts` | `configure` |   |   | 附加到组的 GitLab 托管集群总数 | -| `instance_clusters_enabled` | `counts` | `configure` |   |   | 附加到实例的 GitLab 托管群集总数 | -| `clusters_disabled` | `counts` | `configure` |   |   | GitLab 托管的禁用集群总数 | -| `project_clusters_disabled` | `counts` | `configure` |   |   | 以前附加到项目的 GitLab 托管的禁用集群总数 | -| `group_clusters_disabled` | `counts` | `configure` |   |   | 以前附加到组的 GitLab 托管的禁用集群总数 | -| `instance_clusters_disabled` | `counts` | `configure` |   |   | 先前附加到实例的 GitLab 托管的禁用集群总数 | -| `clusters_platforms_eks` | `counts` | `configure` |   |   | 在 AWS EKS 上通过 GitLab 设置的 GitLab 托管群集总数 | -| `clusters_platforms_gke` | `counts` | `configure` |   |   | 在 GCE GKE 上通过 GitLab 设置的 GitLab 托管群集总数 | -| `clusters_platforms_user` | `counts` | `configure` |   |   | 用户配置的 GitLab 托管群集总数 | -| `clusters_applications_helm` | `counts` | `configure` |   |   | 启用 Helm 的 GitLab 托管群集总数 | -| `clusters_applications_ingress` | `counts` | `configure` |   |   | 启用了 Ingress 的 GitLab 托管群集总数 | -| `clusters_applications_cert_managers` | `counts` | `configure` |   |   | 启用了 Cert Manager 的 GitLab 托管群集总数 | -| `clusters_applications_crossplane` | `counts` | `configure` |   |   | 启用了 Crossplane 的 GitLab 托管群集总数 | -| `clusters_applications_prometheus` | `counts` | `configure` |   |   | 启用 Prometheus 的 GitLab 托管群集总数 | -| `clusters_applications_runner` | `counts` | `configure` |   |   | 启用 Runner 的 GitLab 托管群集总数 | -| `clusters_applications_knative` | `counts` | `configure` |   |   | 启用了 Knative 的 GitLab 托管群集总数 | -| `clusters_applications_elastic_stack` | `counts` | `configure` |   |   | 启用了 Elastic Stack 的 GitLab 托管集群总数 | -| `clusters_applications_cilium` | `counts` | `configure` |   |   | 启用 Cilium 的 GitLab 托管群集总数 | -| `clusters_management_project` | `counts` | `configure` |   |   | 定义了集群管理项目的 GitLab 托管集群总数 | -| `in_review_folder` | `counts` |   |   |   |   | -| `grafana_integrated_projects` | `counts` |   |   |   |   | -| `groups` | `counts` |   |   |   |   | -| `issues` | `counts` |   |   |   |   | -| `issues_created_from_gitlab_error_tracking_ui` | `counts` | `monitor` |   |   |   | -| `issues_with_associated_zoom_link` | `counts` | `monitor` |   |   |   | -| `issues_using_zoom_quick_actions` | `counts` | `monitor` |   |   |   | -| `issues_with_embedded_grafana_charts_approx` | `counts` | `monitor` |   |   |   | -| `issues_with_health_status` | `counts` |   |   |   |   | -| `keys` | `counts` |   |   |   |   | -| `label_lists` | `counts` |   |   |   |   | -| `lfs_objects` | `counts` |   |   |   |   | -| `milestone_lists` | `counts` |   |   |   |   | -| `milestones` | `counts` |   |   |   |   | -| `pages_domains` | `counts` | `release` |   |   | GitLab 页面总数 | -| `pool_repositories` | `counts` |   |   |   |   | -| `projects` | `counts` |   |   |   |   | -| `projects_imported_from_github` | `counts` |   |   |   |   | -| `projects_with_repositories_enabled` | `counts` |   |   |   |   | -| `projects_with_error_tracking_enabled` | `counts` | `monitor` |   |   |   | -| `protected_branches` | `counts` |   |   |   |   | -| `releases` | `counts` | `release` |   |   | 独特的发行标签 | -| `remote_mirrors` | `counts` |   |   |   |   | -| `requirements_created` | `counts` |   |   |   |   | -| `snippets` | `counts` | ‘create’ |   | CE+EE |   | -| `snippets` | `counts_monthly` | ‘create’ |   | CE+EE |   | -| `personal_snippets` | `counts` | ‘create’ |   | CE+EE |   | -| `personal_snippets` | `counts_monthly` | ‘create’ |   | CE+EE |   | -| `project_snippets` | `counts` | ‘create’ |   | CE+EE |   | -| `project_snippets` | `counts_monthly` | ‘create’ |   | CE+EE |   | -| `suggestions` | `counts` |   |   |   |   | -| `todos` | `counts` |   |   |   |   | -| `uploads` | `counts` |   |   |   |   | -| `web_hooks` | `counts` |   |   |   |   | -| `projects_alerts_active` | `counts` |   |   |   |   | -| `projects_asana_active` | `counts` |   |   |   |   | -| `projects_assembla_active` | `counts` |   |   |   |   | -| `projects_bamboo_active` | `counts` |   |   |   |   | -| `projects_bugzilla_active` | `counts` |   |   |   |   | -| `projects_buildkite_active` | `counts` |   |   |   |   | -| `projects_campfire_active` | `counts` |   |   |   |   | -| `projects_custom_issue_tracker_active` | `counts` |   |   |   |   | -| `projects_discord_active` | `counts` |   |   |   |   | -| `projects_drone_ci_active` | `counts` |   |   |   |   | -| `projects_emails_on_push_active` | `counts` |   |   |   |   | -| `projects_external_wiki_active` | `counts` |   |   |   |   | -| `projects_flowdock_active` | `counts` |   |   |   |   | -| `projects_github_active` | `counts` |   |   |   |   | -| `projects_hangouts_chat_active` | `counts` |   |   |   |   | -| `projects_hipchat_active` | `counts` |   |   |   |   | -| `projects_irker_active` | `counts` |   |   |   |   | -| `projects_jenkins_active` | `counts` |   |   |   |   | -| `projects_jira_active` | `counts` |   |   |   |   | -| `projects_mattermost_active` | `counts` |   |   |   |   | -| `projects_mattermost_slash_commands_active` | `counts` |   |   |   |   | -| `projects_microsoft_teams_active` | `counts` |   |   |   |   | -| `projects_packagist_active` | `counts` |   |   |   |   | -| `projects_pipelines_email_active` | `counts` |   |   |   |   | -| `projects_pivotaltracker_active` | `counts` |   |   |   |   | -| `projects_prometheus_active` | `counts` |   |   |   |   | -| `projects_pushover_active` | `counts` |   |   |   |   | -| `projects_redmine_active` | `counts` |   |   |   |   | -| `projects_slack_active` | `counts` |   |   |   |   | -| `projects_slack_slash_commands_active` | `counts` |   |   |   |   | -| `projects_teamcity_active` | `counts` |   |   |   |   | -| `projects_unify_circuit_active` | `counts` |   |   |   |   | -| `projects_webex_teams_active` | `counts` |   |   |   |   | -| `projects_youtrack_active` | `counts` |   |   |   |   | -| `projects_jira_server_active` | `counts` |   |   |   |   | -| `projects_jira_cloud_active` | `counts` |   |   |   |   | -| `projects_jira_dvcs_cloud_active` | `counts` |   |   |   |   | -| `projects_jira_dvcs_server_active` | `counts` |   |   |   |   | -| `projects_jira_issuelist_active` | `counts` | `create` |   | EE | 总的 Jira Issue 功能已启用 | -| `labels` | `counts` |   |   |   |   | -| `merge_requests` | `counts` |   |   |   |   | -| `merge_requests_users` | `counts` |   |   |   |   | -| `notes` | `counts` |   |   |   |   | -| `wiki_pages_create` | `counts` |   |   |   |   | -| `wiki_pages_update` | `counts` |   |   |   |   | -| `wiki_pages_delete` | `counts` |   |   |   |   | -| `web_ide_commits` | `counts` |   |   |   |   | -| `web_ide_views` | `counts` |   |   |   |   | -| `web_ide_merge_requests` | `counts` |   |   |   |   | -| `web_ide_previews` | `counts` |   |   |   |   | -| `snippet_comment` | `counts` |   |   |   |   | -| `commit_comment` | `counts` |   |   |   |   | -| `merge_request_comment` | `counts` |   |   |   |   | -| `snippet_create` | `counts` |   |   |   |   | -| `snippet_update` | `counts` |   |   |   |   | -| `navbar_searches` | `counts` |   |   |   |   | -| `cycle_analytics_views` | `counts` |   |   |   |   | -| `productivity_analytics_views` | `counts` |   |   |   |   | -| `source_code_pushes` | `counts` |   |   |   |   | -| `merge_request_create` | `counts` |   |   |   |   | -| `design_management_designs_create` | `counts` |   |   |   |   | -| `design_management_designs_update` | `counts` |   |   |   |   | -| `design_management_designs_delete` | `counts` |   |   |   |   | -| `licenses_list_views` | `counts` |   |   |   |   | -| `user_preferences_group_overview_details` | `counts` |   |   |   |   | -| `user_preferences_group_overview_security_dashboard` | `counts` |   |   |   |   | -| `ingress_modsecurity_logging` | `counts` |   |   |   |   | -| `ingress_modsecurity_blocking` | `counts` |   |   |   |   | -| `ingress_modsecurity_disabled` | `counts` |   |   |   |   | -| `ingress_modsecurity_not_installed` | `counts` |   |   |   |   | -| `dependency_list_usages_total` | `counts` |   |   |   |   | -| `epics` | `counts` |   |   |   |   | -| `feature_flags` | `counts` |   |   |   |   | -| `geo_nodes` | `counts` | `geo` |   |   | 地理部署中的站点数 | -| `geo_event_log_max_id` | `counts` | `geo` |   |   | Geo 主数据库上的复制事件数 | -| `incident_issues` | `counts` | `monitor` |   |   | 警报机器人产生的问题 | -| `alert_bot_incident_issues` | `counts` | `monitor` |   |   | 警报机器人产生的问题 | -| `incident_labeled_issues` | `counts` | `monitor` |   |   | 事件标签有问题 | -| `issues_created_gitlab_alerts` | `counts` | `monitor` |   |   | 非警报机器人用户根据警报创建的问题 | -| `issues_created_manually_from_alerts` | `counts` | `monitor` |   |   | 非警报机器人用户根据警报创建的问题 | -| `issues_created_from_alerts` | `counts` | `monitor` |   |   | 从 Prometheus 和警报管理警报创建的问题 | -| `ldap_group_links` | `counts` |   |   |   |   | -| `ldap_keys` | `counts` |   |   |   |   | -| `ldap_users` | `counts` |   |   |   |   | -| `pod_logs_usages_total` | `counts` |   |   |   |   | -| `projects_enforcing_code_owner_approval` | `counts` |   |   |   |   | -| `projects_mirrored_with_pipelines_enabled` | `counts` | `release` |   |   | 启用了存储库镜像的项目 | -| `projects_reporting_ci_cd_back_to_github` | `counts` | `verify` |   |   | 启用 GitHub 服务管道的项目 | -| `projects_with_packages` | `counts` | `package` |   |   | 配置了程序包注册表的项目 | -| `projects_with_prometheus_alerts` | `counts` | `monitor` |   |   | 启用 Prometheus 警报的项目 | -| `projects_with_tracing_enabled` | `counts` | `monitor` |   |   | 启用了跟踪的项目 | -| `projects_with_alerts_service_enabled` | `counts` | `monitor` |   |   | 启用了警报服务的项目 | -| `template_repositories` | `counts` |   |   |   |   | -| `container_scanning_jobs` | `counts` |   |   |   |   | -| `dependency_scanning_jobs` | `counts` |   |   |   |   | -| `license_management_jobs` | `counts` |   |   |   |   | -| `sast_jobs` | `counts` |   |   |   |   | -| `status_page_projects` | `counts` | `monitor` |   |   | 启用状态页的项目 | -| `status_page_issues` | `counts` | `monitor` |   |   | 发布到状态页面的问题 | -| `status_page_incident_publishes` | `counts` | `monitor` |   |   | 发布操作的使用累计次数 | -| `status_page_incident_unpublishes` | `counts` | `monitor` |   |   | 未发布操作的累计使用次数 | -| `epics_deepest_relationship_level` | `counts` |   |   |   |   | -| `operations_dashboard_default_dashboard` | `counts` | `monitor` |   |   | 启用了操作面板的活跃用户 | -| `operations_dashboard_users_with_projects_added` | `counts` | `monitor` |   |   | 在操作仪表板上具有项目的活跃用户 | -| `container_registry_enabled` |   |   |   |   |   | -| `dependency_proxy_enabled` |   |   |   |   |   | -| `gitlab_shared_runners_enabled` |   |   |   |   |   | -| `gravatar_enabled` |   |   |   |   |   | -| `ldap_enabled` |   |   |   |   |   | -| `mattermost_enabled` |   |   |   |   |   | -| `omniauth_enabled` |   |   |   |   |   | -| `prometheus_enabled` |   |   |   |   | 捆绑的 Prometheus 是否已启用 | -| `prometheus_metrics_enabled` |   |   |   |   |   | -| `reply_by_email_enabled` |   |   |   |   |   | -| `average` | `avg_cycle_analytics - code` |   |   |   |   | -| `sd` | `avg_cycle_analytics - code` |   |   |   |   | -| `missing` | `avg_cycle_analytics - code` |   |   |   |   | -| `average` | `avg_cycle_analytics - test` |   |   |   |   | -| `sd` | `avg_cycle_analytics - test` |   |   |   |   | -| `missing` | `avg_cycle_analytics - test` |   |   |   |   | -| `average` | `avg_cycle_analytics - review` |   |   |   |   | -| `sd` | `avg_cycle_analytics - review` |   |   |   |   | -| `missing` | `avg_cycle_analytics - review` |   |   |   |   | -| `average` | `avg_cycle_analytics - staging` |   |   |   |   | -| `sd` | `avg_cycle_analytics - staging` |   |   |   |   | -| `missing` | `avg_cycle_analytics - staging` |   |   |   |   | -| `average` | `avg_cycle_analytics - production` |   |   |   |   | -| `sd` | `avg_cycle_analytics - production` |   |   |   |   | -| `missing` | `avg_cycle_analytics - production` |   |   |   |   | -| `total` | `avg_cycle_analytics` |   |   |   |   | -| `g_analytics_contribution` | `analytics_unique_visits` | `manage` |   |   | 访问/ groups /:group /-/ contribution_analytics | -| `g_analytics_insights` | `analytics_unique_visits` | `manage` |   |   | 访问/ groups /:group /-/ insights | -| `g_analytics_issues` | `analytics_unique_visits` | `manage` |   |   | 访问/ groups /:group /-/ issues_analytics | -| `g_analytics_productivity` | `analytics_unique_visits` | `manage` |   |   | 访问/ groups /:group /-/ a​​nalytics / productivity_analytics | -| `g_analytics_valuestream` | `analytics_unique_visits` | `manage` |   |   | 访问/ groups /:group /-/ a​​nalytics / value_stream_analytics | -| `p_analytics_pipelines` | `analytics_unique_visits` | `manage` |   |   | 访问/:group /:project / pipelines / chart | -| `p_analytics_code_reviews` | `analytics_unique_visits` | `manage` |   |   | 访问/:group /:project /-/ a​​nalytics / code_reviews | -| `p_analytics_valuestream` | `analytics_unique_visits` | `manage` |   |   | 访问/:group /:project /-/ value_stream_analytics | -| `p_analytics_insights` | `analytics_unique_visits` | `manage` |   |   | 访问/:group /:project / insights | -| `p_analytics_issues` | `analytics_unique_visits` | `manage` |   |   | 访问/:group /:project /-/ a​​nalytics / issues_analytics | -| `p_analytics_repo` | `analytics_unique_visits` | `manage` |   |   | 访问/:group /:project /-/ graphs / master / charts | -| `u_analytics_todos` | `analytics_unique_visits` | `manage` |   |   | 访问/ dashboard / todos | -| `i_analytics_cohorts` | `analytics_unique_visits` | `manage` |   |   | 访问/-/ instance_statistics /群组 | -| `i_analytics_dev_ops_score` | `analytics_unique_visits` | `manage` |   |   | 访问/-/ instance_statistics / dev_ops_score | -| `analytics_unique_visits_for_any_target` | `analytics_unique_visits` | `manage` |   |   | 访问上面列出的任何页面 | -| `clusters_applications_cert_managers` | `usage_activity_by_stage` | `configure` |   | CE+EE | 启用了证书管理器的唯一集群 | -| `clusters_applications_helm` | `usage_activity_by_stage` | `configure` |   | CE+EE | 启用 Helm 的独特集群 | -| `clusters_applications_ingress` | `usage_activity_by_stage` | `configure` |   | CE+EE | 启用了 Ingress 的唯一集群 | -| `clusters_applications_knative` | `usage_activity_by_stage` | `configure` |   | CE+EE | 启用 Knative 的唯一集群 | -| `clusters_management_project` | `usage_activity_by_stage` | `configure` |   | CE+EE | 启用项目管理的独特集群 | -| `clusters_disabled` | `usage_activity_by_stage` | `configure` |   | CE+EE | 非" GitLab 托管群集"总数 | -| `clusters_enabled` | `usage_activity_by_stage` | `configure` |   | CE+EE | GitLab 托管群集总数 | -| `clusters_platforms_gke` | `usage_activity_by_stage` | `configure` |   | CE+EE | 安装了 Google Cloud 的独特集群 | -| `clusters_platforms_eks` | `usage_activity_by_stage` | `configure` |   | CE+EE | 安装了 AWS 的唯一集群 | -| `clusters_platforms_user` | `usage_activity_by_stage` | `configure` |   | CE+EE | 用户提供的唯一集群 | -| `instance_clusters_disabled` | `usage_activity_by_stage` | `configure` |   | CE+EE | 实例上禁用了唯一集群 | -| `instance_clusters_enabled` | `usage_activity_by_stage` | `configure` |   | CE+EE | 在实例上启用了唯一集群 | -| `group_clusters_disabled` | `usage_activity_by_stage` | `configure` |   | CE+EE | 组上禁用了唯一集群 | -| `group_clusters_enabled` | `usage_activity_by_stage` | `configure` |   | CE+EE | 在组上启用了唯一集群 | -| `project_clusters_disabled` | `usage_activity_by_stage` | `configure` |   | CE+EE | 项目上禁用了唯一集群 | -| `project_clusters_enabled` | `usage_activity_by_stage` | `configure` |   | CE+EE | 在项目上启用了唯一集群 | -| `projects_slack_notifications_active` | `usage_activity_by_stage` | `configure` |   | EE | 启用了 Slack 服务的独特项目 | -| `projects_slack_slash_active` | `usage_activity_by_stage` | `configure` |   | EE | 启用了 Slack'/'命令的独特项目 | -| `projects_with_prometheus_alerts` | `usage_activity_by_stage` | `configure` |   | EE | 启用 Prometheus 且没有警报的项目 | -| `deploy_keys` | `usage_activity_by_stage` | `create` |   | CE+EE |   | -| `keys` | `usage_activity_by_stage` | `create` |   | CE+EE |   | -| `merge_requests` | `usage_activity_by_stage` | `create` |   | CE+EE |   | -| `projects_with_disable_overriding_approvers_per_merge_request` | `usage_activity_by_stage` | `create` |   | CE+EE |   | -| `projects_without_disable_overriding_approvers_per_merge_request` | `usage_activity_by_stage` | `create` |   | CE+EE |   | -| `remote_mirrors` | `usage_activity_by_stage` | `create` |   | CE+EE |   | -| `snippets` | `usage_activity_by_stage` | `create` |   | CE+EE |   | -| `merge_requests_users` | `usage_activity_by_stage_monthly` | `create` |   | CE+EE | 使用合并请求的唯一用户数 | -| `action_monthly_active_users_project_repo` | `usage_activity_by_stage_monthly` | `create` |   | CE+EE | 推送到项目存储库的唯一用户数 | -| `action_monthly_active_users_design_management` | `usage_activity_by_stage_monthly` | `create` |   | CE+EE | 与设计系统管理进行交互的唯一用户数 | -| `action_monthly_active_users_wiki_repo` | `usage_activity_by_stage_monthly` | `create` |   | CE+EE | 创建或更新 Wiki 存储库的用户的唯一数量 | -| `projects_enforcing_code_owner_approval` | `usage_activity_by_stage` | `create` |   | EE |   | -| `merge_requests_with_optional_codeowners` | `usage_activity_by_stage` | `create` |   | EE |   | -| `merge_requests_with_required_codeowners` | `usage_activity_by_stage` | `create` |   | EE |   | -| `projects_imported_from_github` | `usage_activity_by_stage` | `create` |   | EE |   | -| `projects_with_repositories_enabled` | `usage_activity_by_stage` | `create` |   | EE |   | -| `protected_branches` | `usage_activity_by_stage` | `create` |   | EE |   | -| `suggestions` | `usage_activity_by_stage` | `create` |   | EE |   | -| `approval_project_rules` | `usage_activity_by_stage` | `create` |   | EE | 项目批准规则数 | -| `approval_project_rules_with_target_branch` | `usage_activity_by_stage` | `create` |   | EE | 具有非默认目标分支的项目批准规则的数量 | -| `merge_requests_with_added_rules` | `usage_activity_by_stage` | `create` |   | EE | 合并带有附加规则的请求 | -| `clusters` | `usage_activity_by_stage` | `monitor` |   | CE+EE |   | -| `clusters_applications_prometheus` | `usage_activity_by_stage` | `monitor` |   | CE+EE |   | -| `operations_dashboard_default_dashboard` | `usage_activity_by_stage` | `monitor` |   | CE+EE |   | -| `operations_dashboard_users_with_projects_added` | `usage_activity_by_stage` | `monitor` |   | EE |   | -| `projects_prometheus_active` | `usage_activity_by_stage` | `monitor` |   | EE |   | -| `projects_with_error_tracking_enabled` | `usage_activity_by_stage` | `monitor` |   | EE |   | -| `projects_with_tracing_enabled` | `usage_activity_by_stage` | `monitor` |   | EE |   | -| `events` | `usage_activity_by_stage` | `manage` |   | CE+EE |   | -| `groups` | `usage_activity_by_stage` | `manage` |   | CE+EE |   | -| `users_created_at` | `usage_activity_by_stage` | `manage` |   | CE+EE |   | -| `omniauth_providers` | `usage_activity_by_stage` | `manage` |   | CE+EE |   | -| `ldap_keys` | `usage_activity_by_stage` | `manage` |   | EE |   | -| `ldap_users` | `usage_activity_by_stage` | `manage` |   | EE |   | -| `value_stream_management_customized_group_stages` | `usage_activity_by_stage` | `manage` |   | EE |   | -| `projects_with_compliance_framework` | `usage_activity_by_stage` | `manage` |   | EE |   | -| `ldap_servers` | `usage_activity_by_stage` | `manage` |   | EE |   | -| `ldap_group_sync_enabled` | `usage_activity_by_stage` | `manage` |   | EE |   | -| `ldap_admin_sync_enabled` | `usage_activity_by_stage` | `manage` |   | EE |   | -| `group_saml_enabled` | `usage_activity_by_stage` | `manage` |   | EE |   | -| `issues` | `usage_activity_by_stage` | `plan` |   | CE+EE |   | -| `notes` | `usage_activity_by_stage` | `plan` |   | CE+EE |   | -| `projects` | `usage_activity_by_stage` | `plan` |   | CE+EE |   | -| `todos` | `usage_activity_by_stage` | `plan` |   | CE+EE |   | -| `assignee_lists` | `usage_activity_by_stage` | `plan` |   | EE |   | -| `epics` | `usage_activity_by_stage` | `plan` |   | EE |   | -| `label_lists` | `usage_activity_by_stage` | `plan` |   | EE |   | -| `milestone_lists` | `usage_activity_by_stage` | `plan` |   | EE |   | -| `projects_jira_active` | `usage_activity_by_stage` | `plan` |   | EE |   | -| `projects_jira_dvcs_server_active` | `usage_activity_by_stage` | `plan` |   | EE |   | -| `projects_jira_dvcs_server_active` | `usage_activity_by_stage` | `plan` |   | EE |   | -| `service_desk_enabled_projects` | `usage_activity_by_stage` | `plan` |   | CE+EE |   | -| `service_desk_issues` | `usage_activity_by_stage` | `plan` |   | CE+EE |   | -| `deployments` | `usage_activity_by_stage` | `release` |   | CE+EE | 总部署 | -| `failed_deployments` | `usage_activity_by_stage` | `release` |   | CE+EE | 失败的部署总数 | -| `projects_mirrored_with_pipelines_enabled` | `usage_activity_by_stage` | `release` |   | EE | 启用了存储库镜像的项目 | -| `releases` | `usage_activity_by_stage` | `release` |   | CE+EE | 项目中的唯一发行标签 | -| `successful_deployments` | `usage_activity_by_stage` | `release` |   | CE+EE | 成功部署总数 | -| `user_preferences_group_overview_security_dashboard` | `usage_activity_by_stage` | `secure` |   |   |   | -| `ci_builds` | `usage_activity_by_stage` | `verify` |   | CE+EE | 项目中独特的构建 | -| `ci_external_pipelines` | `usage_activity_by_stage` | `verify` |   | CE+EE | 外部存储库中的总管道 | -| `ci_internal_pipelines` | `usage_activity_by_stage` | `verify` |   | CE+EE | GitLab 存储库中的管道总数 | -| `ci_pipeline_config_auto_devops` | `usage_activity_by_stage` | `verify` |   | CE+EE | Auto DevOps 模板中的管道总数 | -| `ci_pipeline_config_repository` | `usage_activity_by_stage` | `verify` |   | CE+EE | 来自存储库中模板的管道 | -| `ci_pipeline_schedules` | `usage_activity_by_stage` | `verify` |   | CE+EE | GitLab 中的管道时间表 | -| `ci_pipelines` | `usage_activity_by_stage` | `verify` |   | CE+EE | 总管道 | -| `ci_triggers` | `usage_activity_by_stage` | `verify` |   | CE+EE | 触发已启用 | -| `clusters_applications_runner` | `usage_activity_by_stage` | `verify` |   | CE+EE | 启用 Runner 的独特集群 | -| `projects_reporting_ci_cd_back_to_github` | `usage_activity_by_stage` | `verify` |   | EE | 启用 GitHub 管道的独特项目 | -| `merge_requests_users` | `usage_activity_by_stage_monthly` | `create` |   |   | 使用合并请求的唯一用户数 | -| `duration_s` | `topology` | `enablement` |   |   | 收集拓扑数据所需的时间 | -| `application_requests_per_hour` | `topology` | `enablement` |   |   | 每小时对 Web 应用程序的请求数 | -| `failures` | `topology` | `enablement` |   |   | 包含有关失败查询的信息 | -| `nodes` | `topology` | `enablement` |   |   | 运行 GitLab 组件的服务器节点列表 | -| `node_memory_total_bytes` | `topology > nodes` | `enablement` |   |   | 该节点的总可用内存 | -| `node_cpus` | `topology > nodes` | `enablement` |   |   | 该节点的 CPU 核心数 | -| `node_uname_info` | `topology > nodes` | `enablement` |   |   | 有关此节点的基本硬件体系结构和 OS 发行信息 | -| `node_services` | `topology > nodes` | `enablement` |   |   | 在此节点上运行的 GitLab 服务列表 | -| `name` | `topology > nodes > node_services` | `enablement` |   |   | 在此节点上运行的 GitLab 服务的名称 | -| `process_count` | `topology > nodes > node_services` | `enablement` |   |   | 为此服务运行的进程数 | -| `process_memory_rss` | `topology > nodes > node_services` | `enablement` |   |   | 服务流程的平均居民集大小 | -| `process_memory_uss` | `topology > nodes > node_services` | `enablement` |   |   | 服务流程的平均唯一集大小 | -| `process_memory_pss` | `topology > nodes > node_services` | `enablement` |   |   | 服务流程的平均比例集大小 | -| `server` | `topology > nodes > node_services` | `enablement` |   |   | 使用的 Web 服务器类型(Unicorn 或 Puma) | -| `network_policy_forwards` | `counts` | `defend` |   | EE | 容器网络转发的数据包的累积计数 | -| `network_policy_drops` | `counts` | `defend` |   | EE | 容器网络丢弃的数据包的累积计数 | - -## Example Usage Ping payload[](#example-usage-ping-payload "Permalink") - -以下是用法 Ping 有效内容的示例内容. - -``` -{ "uuid": "0000000-0000-0000-0000-000000000000", "hostname": "example.com", "version": "12.10.0-pre", "installation_type": "omnibus-gitlab", "active_user_count": 999, "recorded_at": "2020-04-17T07:43:54.162+00:00", "edition": "EEU", "license_md5": "00000000000000000000000000000000", "license_id": null, "historical_max_users": 999, "licensee": { "Name": "ABC, Inc.", "Email": "email@example.com", "Company": "ABC, Inc." }, "license_user_count": 999, "license_starts_at": "2020-01-01", "license_expires_at": "2021-01-01", "license_plan": "ultimate", "license_add_ons": { }, "license_trial": false, "counts": { "assignee_lists": 999, "boards": 999, "ci_builds": 999, ... }, "container_registry_enabled": true, "dependency_proxy_enabled": false, "gitlab_shared_runners_enabled": true, "gravatar_enabled": true, "influxdb_metrics_enabled": true, "ldap_enabled": false, "mattermost_enabled": false, "omniauth_enabled": true, "prometheus_enabled": false, "prometheus_metrics_enabled": false, "reply_by_email_enabled": "incoming+%{key}@incoming.gitlab.com", "signup_enabled": true, "web_ide_clientside_preview_enabled": true, "ingress_modsecurity_enabled": true, "projects_with_expiration_policy_disabled": 999, "projects_with_expiration_policy_enabled": 999, ... "elasticsearch_enabled": true, "license_trial_ends_on": null, "geo_enabled": false, "git": { "version": { "major": 2, "minor": 26, "patch": 1 } }, "gitaly": { "version": "12.10.0-rc1-93-g40980d40", "servers": 56, "clusters": 14, "filesystems": [ "EXT_2_3_4" ] }, "gitlab_pages": { "enabled": true, "version": "1.17.0" }, "database": { "adapter": "postgresql", "version": "9.6.15" }, "app_server": { "type": "console" }, "avg_cycle_analytics": { "issue": { "average": 999, "sd": 999, "missing": 999 }, "plan": { "average": null, "sd": 999, "missing": 999 }, "code": { "average": null, "sd": 999, "missing": 999 }, "test": { "average": null, "sd": 999, "missing": 999 }, "review": { "average": null, "sd": 999, "missing": 999 }, "staging": { "average": null, "sd": 999, "missing": 999 }, "production": { "average": null, "sd": 999, "missing": 999 }, "total": 999 }, "analytics_unique_visits": { "g_analytics_contribution": 999, ... }, "usage_activity_by_stage": { "configure": { "project_clusters_enabled": 999, ... }, "create": { "merge_requests": 999, ... }, "manage": { "events": 999, ... }, "monitor": { "clusters": 999, ... }, "package": { "projects_with_packages": 999 }, "plan": { "issues": 999, ... }, "release": { "deployments": 999, ... }, "secure": { "user_container_scanning_jobs": 999, ... }, "verify": { "ci_builds": 999, ... } }, "usage_activity_by_stage_monthly": { "configure": { "project_clusters_enabled": 999, ... }, "create": { "merge_requests": 999, ... }, "manage": { "events": 999, ... }, "monitor": { "clusters": 999, ... }, "package": { "projects_with_packages": 999 }, "plan": { "issues": 999, ... }, "release": { "deployments": 999, ... }, "secure": { "user_container_scanning_jobs": 999, ... }, "verify": { "ci_builds": 999, ... } }, "topology": { "duration_s": 0.013836685999194742, "application_requests_per_hour": 4224, "failures": [], "nodes": [ { "node_memory_total_bytes": 33269903360, "node_cpus": 16, "node_uname_info": { "machine": "x86_64", "sysname": "Linux", "release": "4.19.76-linuxkit" }, "node_services": [ { "name": "web", "process_count": 16, "process_memory_pss": 233349888, "process_memory_rss": 788220927, "process_memory_uss": 195295487, "server": "puma" }, { "name": "sidekiq", "process_count": 1, "process_memory_pss": 734080000, "process_memory_rss": 750051328, "process_memory_uss": 731533312 }, ... ], ... }, ... ] } } -``` \ No newline at end of file diff --git a/docs/577.md b/docs/577.md deleted file mode 100644 index 988544a..0000000 --- a/docs/577.md +++ /dev/null @@ -1,396 +0,0 @@ -# Snowplow Guide - -> 原文:[https://docs.gitlab.com/ee/development/telemetry/snowplow.html](https://docs.gitlab.com/ee/development/telemetry/snowplow.html) - -* [What is Snowplow](#what-is-snowplow) -* [Snowplow schema](#snowplow-schema) -* [Enabling Snowplow](#enabling-snowplow) -* [Snowplow request flow](#snowplow-request-flow) -* [Implementing Snowplow JS (Frontend) tracking](#implementing-snowplow-js-frontend-tracking) - * [Tracking in HAML (or Vue Templates)](#tracking-in-haml-or-vue-templates) - * [Tracking within Vue components](#tracking-within-vue-components) - * [Tracking in raw JavaScript](#tracking-in-raw-javascript) - * [Tests and test helpers](#tests-and-test-helpers) -* [Implementing Snowplow Ruby (Backend) tracking](#implementing-snowplow-ruby-backend-tracking) - * [Performance](#performance) -* [Developing and testing Snowplow](#developing-and-testing-snowplow) - * [Snowplow Analytics Debugger Chrome Extension](#snowplow-analytics-debugger-chrome-extension) - * [Snowplow Inspector Chrome Extension](#snowplow-inspector-chrome-extension) - * [Snowplow Micro](#snowplow-micro) - * [Snowplow Mini](#snowplow-mini) - -# Snowplow Guide[](#snowplow-guide "Permalink") - -本指南概述了 Snowplow 的工作原理以及实施细节. - -有关遥测的更多信息,请参见: - -* [Telemetry Guide](index.html) -* [Usage Ping Guide](usage_ping.html) - -更有用的链接: - -* [Telemetry Direction](https://about.gitlab.com/direction/telemetry/) -* [Data Analysis Process](https://about.gitlab.com/handbook/business-ops/data-team/#data-analysis-process/) -* [Data for Product Managers](https://about.gitlab.com/handbook/business-ops/data-team/programs/data-for-product-managers/) -* [Data Infrastructure](https://about.gitlab.com/handbook/business-ops/data-team/platform/infrastructure/) - -## What is Snowplow[](#what-is-snowplow "Permalink") - -Snowplow 是企业级营销和产品分析平台,可帮助跟踪用户与我们的网站和应用程序互动的方式. - -[扫雪机](https://github.com/snowplow/snowplow)由以下松耦合子系统组成: - -* **Trackers** fire Snowplow events. Snowplow has 12 trackers, covering web, mobile, desktop, server, and IoT. -* **收集器**从跟踪**器**接收 Snowplow 事件. 我们有三个不同的事件收集器,可将事件同步到 Amazon S3,Apache Kafka 或 Amazon Kinesis. -* **Enrich**清理原始的 Snowplow 事件,丰富它们并将其存储. 我们有一个基于 Hadoop 的扩充流程,以及一个基于 Kinesis 或基于 Kafka 的流程. -* 扫雪机事件所在的位置是**存储** . 我们将 Snowplow 事件存储在 S3 上的平面文件结构中以及 Redshift 和 PostgreSQL 数据库中. -* **数据建模**是将事件级别的数据与其他数据集合并在一起,并聚合为较小的数据集,然后应用业务逻辑. 这将产生一组干净的表,从而使对数据的分析更加容易. 我们有 Redshift 和 Looker 的数据模型. -* 在 Snowplow 事件或汇总表上执行**分析** . - -[![snowplow_flow](img/d366ea5b34fa89da8adbcbd7ec51bc2a.png)](../img/snowplow_flow.png) - -## Snowplow schema[](#snowplow-schema "Permalink") - -我们有 Snowplow 模式的许多定义. 我们有一个积极的问题要[对此模式](https://gitlab.com/gitlab-org/gitlab/-/issues/207930)进行[标准化,](https://gitlab.com/gitlab-org/gitlab/-/issues/207930)包括以下定义: - -* 前端和后端分类法如下所示 -* [Feature instrumentation taxonomy](https://about.gitlab.com/handbook/product/product-processes/#taxonomy) -* [Self describing events](https://github.com/snowplow/snowplow/wiki/Custom-events#self-describing-events) -* [Iglu schema](https://gitlab.com/gitlab-org/iglu/) -* [Snowplow authored events](https://github.com/snowplow/snowplow/wiki/Snowplow-authored-events) - -## Enabling Snowplow[](#enabling-snowplow "Permalink") - -可以在以下位置启用跟踪: - -* 实例级别,可以在前端层和后端层上进行跟踪. -* 用户级别,尽管可以按用户禁用用户跟踪. GitLab 跟踪遵循["不跟踪"](https://www.eff.org/issues/do-not-track)标准,因此不会在用户级别跟踪浏览器中启用了"不跟踪"选项的任何用户. - -我们将 Snowplow 用作大多数跟踪策略,并且已在 GitLab.com 上启用了它. 在自我管理的实例上,可以通过导航到以下地址来启用 Snowplow: - -* 用户界面中的**管理区域>设置>集成** . -* 浏览器中的`admin/application_settings/integrations` . - -需要以下配置: - -| Name | Value | -| --- | --- | -| Collector | `snowplow.trx.gitlab.net` | -| Site ID | `gitlab` | -| Cookie 域 | `.gitlab.com` | - -## Snowplow request flow[](#snowplow-request-flow "Permalink") - -下面的示例显示以下组件之间的基本请求/响应流: - -* GitLab.com 上的 Snowplow JS / Ruby Trackers -* [GitLab.com Snowplow Collector](https://gitlab.com/gitlab-com/gl-infra/readiness/-/blob/master/library/snowplow/index.md) -* 亚搏体育 app 的 S3 桶 -* GitLab 的 Snowflake 数据仓库 -* Sisense: - -sequenceDiagram 参与者 Snowplow JS(前端)参与者 Snowplow Ruby(后端)参与者 GitLab.com Snowplow Collector 参与者 S3 Bucket 参与者 Snowflake DW 参与者 Sisense Dashboards Snowplow JS(前端)->> GitLab.com Snowplow Collector:FE 跟踪事件 Snowplow Ruby(后端) ->> GitLab.com Snowplow 收集器:使用 Kinesis Stream 跟踪事件循环过程 GitLab.com Snowplow 收集器->> GitLab.com Snowplow 收集器:记录原始事件 GitLab.com Snowplow 收集器->> GitLab.com Snowplow 收集器:丰富事件 GitLab.com 扫雪机-> GitLab.com 扫雪机:写入磁盘端 GitLab.com 扫雪机->> S3 桶:K​​inesis Firehose S3 桶->>雪花 DW:导入数据 Snowflake DW->> Snowflake DW:转换 dbt Snowflake DW->> Sisense 仪表盘获取数据:可用于查询的数据 - -## Implementing Snowplow JS (Frontend) tracking[](#implementing-snowplow-js-frontend-tracking "Permalink") - -GitLab 提供了`Tracking` ,该接口包装了[Snowplow JavaScript Tracker](https://github.com/snowplow/snowplow/wiki/javascript-tracker)以跟踪自定义事件. 有几种利用跟踪的方法,但是每种方法通常至少需要一个`category`和一个`action` . 可以提供符合我们[功能仪表分类法的](https://about.gitlab.com/handbook/product/product-processes/#taxonomy)其他数据. - -| field | type | 默认值 | description | -| --- | --- | --- | --- | -| `category` | string | document.body.dataset.page | 在其中捕获事件的页面或页面的子部分. | -| `action` | string | ‘generic’ | 用户正在采取的行动. 单击应该是`click` ,应该`activate` ,因此,例如,聚焦表单字段将是`activate_form_input` ,单击按钮将是`click_button` . | -| `data` | object | {} | 如[我们的功能仪表分类法中](https://about.gitlab.com/handbook/product/product-processes/#taxonomy)所述的其他数据,例如`label` , `property` , `value`和`context` . | - -### Tracking in HAML (or Vue Templates)[](#tracking-in-haml-or-vue-templates "Permalink") - -在 HAML(或 Vue 模板)中工作时,我们可以向感兴趣的元素添加`data-track-*`属性. 具有`data-track-event`属性的所有元素都会自动对点击绑定事件跟踪. - -以下是分配给按钮的`data-track-*`属性的示例: - -``` -%button.btn{ data: { track: { event: "click_button", label: "template_preview", property: "my-template" } } } -``` - -``` -<button class="btn" - data-track-event="click_button" - data-track-label="template_preview" - data-track-property="my-template" -/> -``` - -事件侦听器在文档级别绑定,以处理具有这些数据属性的元素上或元素内的单击事件. 这样可以在重新渲染和更改 DOM 时正确处理它们. 请注意,由于绑定了这些事件的方式,不应阻止 click 事件传播 DOM 树. 如果出于某种原因阻止了点击事件的传播,则需要实现自己的侦听器,并按照[原始 JavaScript](#tracking-in-raw-javascript)中的[跟踪中](#tracking-in-raw-javascript)的说明进行操作. - -Below is a list of supported `data-track-*` attributes: - -| attribute | required | description | -| --- | --- | --- | -| `data-track-event` | true | 用户正在采取的行动. 点击次数必须预先考虑`click`并激活必须预先考虑`activate` . 例如,聚焦表单字段将是`activate_form_input` ,单击按钮将是`click_button` . | -| `data-track-label` | false | 如[我们的功能仪表分类中](https://about.gitlab.com/handbook/product/product-processes/#taxonomy)所述的`label` . | -| `data-track-property` | false | 如[我们的功能仪表分类中](https://about.gitlab.com/handbook/product/product-processes/#taxonomy)所述的`property` . | -| `data-track-value` | false | [我们的功能仪表分类法中](https://about.gitlab.com/handbook/product/product-processes/#taxonomy)描述的`value` . 如果省略,则为元素的`value`属性或空字符串. 对于复选框,默认值为元素的选中属性,否则为`false` . | -| `data-track-context` | false | [我们的功能仪表分类法中](https://about.gitlab.com/handbook/product/product-processes/#taxonomy)描述的`context` . | - -### Tracking within Vue components[](#tracking-within-vue-components "Permalink") - -如果需要更复杂的跟踪,可以在组件中使用跟踪 Vue mixin. 要使用它,请首先导入`Tracking`库并请求一个混合. - -``` -import Tracking from '~/tracking'; -const trackingMixin = Tracking.mixin({ label: 'right_sidebar' }); -``` - -您可以提供在组件中跟踪事件时都会传递的默认选项. 例如,如果应使用给定`label`跟踪组件中的所有事件,则此时可以提供一个. 可用的默认值是`category` , `label` , `property`和`value` . 如果未指定类别,则将`document.body.dataset.page`用作默认值. - -然后,您可以通过`mixin` Vue 声明在组件中正常使用 mixin. mixin 还提供了在`data`或`computed`指定跟踪选项的`data` . 这些将覆盖所有默认值,并允许这些值从 props 或基于状态是动态的. - -``` -export default { - mixins: [trackingMixin], - // ...[component implementation]... - data() { - return { - expanded: false, - tracking: { - label: 'left_sidebar' - } - }; - }, -} -``` - -mixin 提供了可以在模板中或从组件方法中调用的`track`方法. 整个实现的示例可能如下所示. - -``` -export default { - mixins: [Tracking.mixin({ label: 'right_sidebar' })], - data() { - return { - expanded: false, - }; - }, - methods: { - toggle() { - this.expanded = !this.expanded; - this.track('click_toggle', { value: this.expanded }) - } - } -}; -``` - -而且,如果需要模板中的内容,也可以直接使用`track`方法. - -``` -<template> - <div> - <a class="toggle" @click.prevent="toggle">Toggle</a> - <div v-if="expanded"> - <p>Hello world!</p> - <a @click.prevent="track('click_action')">Track an event</a> - </div> - </div> -</template> -``` - -### Tracking in raw JavaScript[](#tracking-in-raw-javascript "Permalink") - -可以通过直接调用`Tracking.event`静态函数来添加自定义事件跟踪和检测. 下面的示例演示如何通过手动调用`Tracking.event`按钮的单击. - -``` -import Tracking from '~/tracking'; - -const button = document.getElementById('create_from_template_button'); -button.addEventListener('click', () => { - Tracking.event('dashboard:projects:index', 'click_button', { - label: 'create_from_template', - property: 'template_preview', - value: 'rails', - }); -}) -``` - -### Tests and test helpers[](#tests-and-test-helpers "Permalink") - -在 Jest 中,尤其是在 Vue 测试中,可以使用以下命令: - -``` -import { mockTracking } from 'helpers/tracking_helper'; - -describe('MyTracking', () => { - let spy; - - beforeEach(() => { - spy = mockTracking('_category_', wrapper.element, jest.spyOn); - }); - - it('tracks an event when clicked on feedback', () => { - wrapper.find('.discover-feedback-icon').trigger('click'); - - expect(spy).toHaveBeenCalledWith('_category_', 'click_button', { - label: 'security-discover-feedback-cta', - property: '0', - }); - }); -}); -``` - -在过时的 Karma 测试中,其用法如下: - -``` -import { mockTracking, triggerEvent } from 'spec/helpers/tracking_helper'; - -describe('my component', () => { - let trackingSpy; - - beforeEach(() => { - trackingSpy = mockTracking('_category_', vm.$el, spyOn); - }); - - const triggerEvent = () => { - // action which should trigger a event - }; - - it('tracks an event when toggled', () => { - expect(trackingSpy).not.toHaveBeenCalled(); - - triggerEvent('a.toggle'); - - expect(trackingSpy).toHaveBeenCalledWith('_category_', 'click_edit_button', { - label: 'right_sidebar', - property: 'confidentiality', - }); - }); -}); -``` - -## Implementing Snowplow Ruby (Backend) tracking[](#implementing-snowplow-ruby-backend-tracking "Permalink") - -GitLab 提供`Gitlab::Tracking` ,该接口包装[Snowplow Ruby Tracker](https://github.com/snowplow/snowplow/wiki/ruby-tracker)以跟踪自定义事件. - -可以通过直接调用`GitLab::Tracking.event`类方法来添加自定义事件跟踪和检测,该方法接受以下参数: - -| argument | type | 默认值 | description | -| --- | --- | --- | --- | -| `category` | string | ‘application’ | 应用程序的区域或方面. 例如,这可以是`HealthCheckController`或`Lfs::FileTransformer` . | -| `action` | string | ‘generic’ | 正在执行的操作,可以是从控制器操作(如`create`到 Active Record 回调之类的任何内容. | -| `data` | object | {} | 如[我们的功能仪表分类法中](https://about.gitlab.com/handbook/product/feature-instrumentation/#taxonomy)所述的其他数据,例如`label` , `property` , `value`和`context` . 如果不提供,则将它们设置为空字符串. | - -跟踪既可以看作是跟踪用户的行为,也可以用于检测和监视代码区域或方面随时间变化的性能. - -例如: - -``` -class Projects::CreateService < BaseService - def execute - project = Project.create(params) - - Gitlab::Tracking.event('Projects::CreateService', 'create_project', - label: project.errors.full_messages.to_sentence, - value: project.valid? - ) - end -end -``` - -### Performance[](#performance "Permalink") - -跟踪事件时,我们使用[AsyncEmitter](https://github.com/snowplow/snowplow/wiki/Ruby-Tracker#52-the-asyncemitter-class) ,它允许在后台线程中运行检测调用. 这仍然是一个活跃的发展领域. - -## Developing and testing Snowplow[](#developing-and-testing-snowplow "Permalink") - -有几种工具可以开发和测试 Snowplow Event - -| 测试工具 | 前端追踪 | 后端追踪 | 当地发展环境 | 生产环境 | -| --- | --- | --- | --- | --- | -| Snowplow Analytics 调试器 Chrome 扩展 | | | | | -| Snowplow Inspector Chrome 扩展程序 | | | | | -| 扫雪机 | | | | | -| 扫雪机 Mini | | | | | - -### Snowplow Analytics Debugger Chrome Extension[](#snowplow-analytics-debugger-chrome-extension "Permalink") - -Snowplow Analytics Debugger 是用于测试前端事件的浏览器扩展. 这适用于生产,暂存和本地开发环境. - -1. 安装[Snowplow Analytics Debugger](https://chrome.google.com/webstore/detail/snowplow-analytics-debugg/jbnlcgeengmijcghameodeaenefieedm) Chrome 浏览器扩展程序. -2. 将 Chrome DevTools 打开到 Snowplow Analytics 调试器选项卡. -3. 在[Igloo Analytics 上](https://www.iglooanalytics.com/blog/snowplow-analytics-debugger-chrome-extension.html)了解更多信息. - -### Snowplow Inspector Chrome Extension[](#snowplow-inspector-chrome-extension "Permalink") - -Snowplow Inspector Chrome 扩展程序是用于测试前端事件的浏览器扩展程序. 这适用于生产,暂存和本地开发环境. - -1. Install [Snowplow Inspector](https://chrome.google.com/webstore/detail/snowplow-inspector/maplkdomeamdlngconidoefjpogkmljm?hl=en). -2. 按下地址栏旁边的 Snowplow Inspector 图标,打开 Chrome 扩展程序. -3. 单击带有 Snowplow 的网页,您应该会在检查器窗口中看到触发 JavaScript 事件. - -### Snowplow Micro[](#snowplow-micro "Permalink") - -Snowplow Micro 是完整 Snowplow 数据收集管道的非常小版本:足够小,可以由测试套件启动. 就像完整的 Snowplow 管道一样,事件可以记录到 Snowplow Micro 中. Micro 然后公开了可以查询的 API. - -Snowplow Micro 是基于 Docker 的解决方案,用于在本地开发环境中测试前端和后端事件. 您需要按照以下说明修改 GDK 进行设置. - -* Read [Introducing Snowplow Micro](https://snowplowanalytics.com/blog/2019/07/17/introducing-snowplow-micro/) -* 查看[Snowplow Micro 存储库](https://github.com/snowplow-incubator/snowplow-micro) -* 观看我们的[安装指南记录](https://www.youtube.com/watch?v=OX46fo_A0Ag) - -1. Install [Snowplow Micro](https://github.com/snowplow-incubator/snowplow-micro): - - ``` - docker run --mount type=bind,source=$(pwd)/example,destination=/config -p 9090:9090 snowplow/snowplow-micro:latest --collector-config /config/micro.conf --iglu /config/iglu.json - ``` - -2. 通过克隆[此项目中](https://gitlab.com/a_akgun/snowplow-micro)的设置来安装 Snowplow micro: - - ``` - git clone git@gitlab.com:a_akgun/snowplow-micro.git - ./snowplow-micro.sh - ``` - -3. 在 SQL 中更新端口以设置`9090` : - - ``` - gdk psql -d gitlabhq_development - update application_settings set snowplow_collector_hostname='localhost:9090', snowplow_enabled=true, snowplow_cookie_domain='.gitlab.com'; - ``` - -4. Update `app/assets/javascripts/tracking.js` to [remove this line](https://gitlab.com/snippets/1918635): - - ``` - forceSecureTracker: true - ``` - -5. Update `lib/gitlab/tracking.rb` to [add these lines](https://gitlab.com/snippets/1918635): - - ``` - protocol: 'http', - port: 9090, - ``` - -6. Update `lib/gitlab/tracking.rb` to [change async emitter from https to http](https://gitlab.com/snippets/1918635): - - ``` - SnowplowTracker::AsyncEmitter.new(Gitlab::CurrentSettings.snowplow_collector_hostname, protocol: 'http'), - ``` - -7. 在管理区域 Settings :: Integrations :: Snowplow 中启用 Snowplow,以指向: `http://localhost:3000/admin/application_settings/integrations#js-snowplow-settings` . - -8. 重新启动 GDK: - - ``` - `gdk restart` - ``` - -9. 从 Rails 控制台发送测试 Snowplow 事件: - - ``` - Gitlab::Tracking.self_describing_event('iglu:com.gitlab/pageview_context/jsonschema/1-0-0', { page_type: ‘MY_TYPE' }, context: nil ) - ``` - -### Snowplow Mini[](#snowplow-mini "Permalink") - -[Snowplow Mini](https://github.com/snowplow/snowplow-mini)是[Snowplow](https://github.com/snowplow/snowplow-mini)的易于部署的单实例版本. - -Snowplow Mini 可用于在生产,暂存和本地开发环境上测试前端和后端事件. - -对于 GitLab.com,我们正在使用 Snowplow Mini 设置[质量检查和测试环境](https://gitlab.com/gitlab-org/telemetry/-/issues/266) . \ No newline at end of file diff --git a/docs/578.md b/docs/578.md deleted file mode 100644 index 8bd7d89..0000000 --- a/docs/578.md +++ /dev/null @@ -1,73 +0,0 @@ -# Experiment Guide - -> 原文:[https://docs.gitlab.com/ee/development/experiment_guide/](https://docs.gitlab.com/ee/development/experiment_guide/) - -* [Experiment tracking issue](#experiment-tracking-issue) -* [Code reviews](#code-reviews) -* [How to create an A/B test](#how-to-create-an-ab-test) - -# Experiment Guide[](#experiment-guide "Permalink") - -任何 GitLab 小组都可以进行实验,大多数情况下是来自[成长子部门的小组](https://about.gitlab.com/handbook/engineering/development/growth/) . 实验与发布无关,因为它们主要针对 GitLab.com. - -实验将作为 A / B 测试运行,并且位于功能标记后面以打开或关闭测试. 根据实验产生的数据,团队将决定实验是否产生了积极影响,并将其设置为新的默认值或回滚. - -## Experiment tracking issue[](#experiment-tracking-issue "Permalink") - -每个实验都应有一个[实验跟踪](https://gitlab.com/groups/gitlab-org/-/issues?scope=all&utf8=✓&state=opened&label_name[]=growth experiment&search=)问题,以跟踪从推出到清除/删除的实验. 部署实验后,应立即设置问题的到期日期(这取决于实验,但最多可能需要几周的时间). 在截止日期之后,该问题需要解决,并且可以: - -* 成功,实验将成为新的默认设置. -* 它不成功,与实验相关的所有代码都将被删除. - -无论哪种情况,都应将实验结果与决策依据一起发布到问题上. - -## Code reviews[](#code-reviews "Permalink") - -由于实验代码在很长一段时间内都不会成为代码库的一部分,并且我们想快速迭代以检索数据,因此实验的代码质量有时可能无法满足我们的标准,但无论实验是否为 GitLab 都不会对其产生负面影响运行与否. 最初,实验仅会部署到一小部分用户,但我们仍希望为这些用户提供完美的体验. 因此,实验仍然需要测试. - -对于审阅者和维护者:如果您发现通常无法通过审阅但暂时可以接受的代码,请提及您的疑虑,但请注意,无需进行更改. 然后,作者在这段代码中添加注释,并添加指向该问题的链接以解决该实验. 如果实验成功并成为产品的一部分,则应解决这些后续问题. - -## How to create an A/B test[](#how-to-create-an-ab-test "Permalink") - -* 实验添加到`Gitlab::Experimentation::EXPERIMENTS`中的散列[`experimentation.rb`](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/experimentation.rb) : - - ``` - EXPERIMENTS = { - other_experiment: { - #... - }, - # Add your experiment here: - signup_flow: { - environment: ::Gitlab.dev_env_or_com?, # Target environment, defaults to enabled for development and GitLab.com - tracking_category: 'Growth::Acquisition::Experiment::SignUpFlow' # Used for providing the category when setting up tracking data - } - }.freeze - ``` - -* 在控制器中使用实验: - - ``` - class RegistrationController < ApplicationController - def show - # experiment_enabled?(:feature_name) is also available in views and helpers - if experiment_enabled?(:signup_flow) - # render the experiment - else - # render the original version - end - end - end - ``` - -* 跟踪必要的事件. 有关详细信息,请参见[遥测指南](../telemetry/index.html) . -* 合并请求合并后, [`chatops`](../../ci/chatops/README.html)在[适当的通道中](../feature_flags/controls.html#communicate-the-change)使用[`chatops`](../../ci/chatops/README.html)来为 10%的用户启动实验. 功能标记应带有附加了`_experiment_percentage`后缀的实验名称. 为了提高可视性,请在`#s_growth`通道中共享对生产运行的所有命令: - - ``` - /chatops run feature set signup_flow_experiment_percentage 10 - ``` - - 如果发现实验存在问题,则可以通过删除功能标记来禁用实验: - - ``` - /chatops run feature delete signup_flow_experiment_percentage - ``` \ No newline at end of file diff --git a/docs/579.md b/docs/579.md deleted file mode 100644 index f67a4c6..0000000 --- a/docs/579.md +++ /dev/null @@ -1,15 +0,0 @@ -# Feature flags in development of GitLab - -> 原文:[https://docs.gitlab.com/ee/development/feature_flags/](https://docs.gitlab.com/ee/development/feature_flags/) - -# Feature flags in development of GitLab[](#feature-flags-in-development-of-gitlab "Permalink") - -[功能标记](../../operations/feature_flags.html)可用于逐步推出更改,无论是新功能还是性能改进. 通过使用功能标志,我们可以轻松地衡量更改的影响,同时仍然能够轻松禁用这些更改,而不必还原整个发行版. - -在使用功能标记进行 GitLab 开发之前,请通读以下内容: - -* [Process for using features flags](process.html). -* [Developing with feature flags](development.html). -* [Controlling feature flags](controls.html). -* [Documenting features deployed behind feature flags](../documentation/feature_flags.html). -* [How GitLab administrators can enable and disable features behind flags](../../administration/feature_flags.html). \ No newline at end of file diff --git a/docs/580.md b/docs/580.md deleted file mode 100644 index 8a04285..0000000 --- a/docs/580.md +++ /dev/null @@ -1,93 +0,0 @@ -# Feature flags process - -> 原文:[https://docs.gitlab.com/ee/development/feature_flags/process.html](https://docs.gitlab.com/ee/development/feature_flags/process.html) - -* [Feature flags for user applications](#feature-flags-for-user-applications) -* [Feature flags in GitLab development](#feature-flags-in-gitlab-development) - * [When to use feature flags](#when-to-use-feature-flags) - * [Including a feature behind feature flag in the final release](#including-a-feature-behind-feature-flag-in-the-final-release) - * [The cost of feature flags](#the-cost-of-feature-flags) - -# Feature flags process[](#feature-flags-process "Permalink") - -## Feature flags for user applications[](#feature-flags-for-user-applications "Permalink") - -本文档仅涵盖在 GitLab 本身的开发中使用的功能标志. 可以在[功能标志功能文档中](../../user/project/operations/feature_flags.html)找到已部署的用户应用程序中的[功能标志](../../user/project/operations/feature_flags.html) . - -## Feature flags in GitLab development[](#feature-flags-in-gitlab-development "Permalink") - -在决定是否应利用功能标志时,应考虑以下重点: - -* 默认情况下,功能标志应为**off** . -* 功能标记应在代码库中保留尽可能短的时间,以减少对功能标记记帐的需求. -* 使用功能标记的人员负责与负责的利益相关者清楚地传达功能标记后面的功能状态. 应该使用功能标记名称以及明显需要功能标记的默认状态打开或关闭更新问题描述. -* 合并进行更改以隐藏在功能标记后的请求,或删除现有功能标记(因为认为功能稳定),必须分配〜" feature flag"标签. -* 当功能开发将分散在多个合并请求中时,可以使用以下工作流程: - - 1. 在第一个合并请求中引入默认情况下**关闭**的功能标志. - 2. 通过一个或多个合并请求提交增量更改,以确保只有在功能标记为**on 时**才能访问添加的任何新代码. 您可以在开发过程中在本地 GDK 上保持启用功能标志. - 3. When the feature is ready to be tested, enable the feature flag for a specific project and ensure that there are no issues with the implementation. - 4. 准备宣布该功能时,创建一个合并请求,以添加有关该功能的[文档](../documentation/feature_flags.html) ,包括[有关功能标志本身的文档](../documentation/feature_flags.html)以及一个 changelog 条目. 在同一合并请求中,要么将功能标记翻转为**默认状态,**要么将其完全删除以启用新行为. - -可能会想起功能标记将功能的发布延迟至少一个月(=一个发布). 不是这种情况. 功能标记不必在特定时间段内停留(例如,至少一个版本),而是应该一直停留到功能被认为稳定为止. 稳定意味着它可以在 GitLab.com 上运行,而不会引起任何问题,例如中断. - -另请阅读[功能标记](development.html)的[开发指南](development.html) . - -### When to use feature flags[](#when-to-use-feature-flags "Permalink") - -从 GitLab 11.4 开始,开发人员必须使用功能标志进行不重要的更改. 此类更改包括: - -* 新功能(例如,新的合并请求小部件,史诗等). -* 复杂的性能改进,可能需要在生产中进行其他测试,例如重写复杂的查询. -* 对用户界面的侵入性更改,例如新的导航栏或侧边栏的删除. -* 添加了对从第三方服务导入项目的支持. - -在所有情况下,进行更改的人员都可以最好地决定是否需要功能标记. 例如,更改按钮的颜色不需要功能标记,而更改导航栏则绝对需要一个功能标记. 如果您不确定是否需要功能部件标志,只需在合并请求中询问一下,那些查看更改的人员可能会为您提供答案. - -对 UI 元素使用功能标记时,请确保对基础后端代码*也*使用功能标记(如果有). 这样可以确保在启用该功能之前绝对无法使用该功能. - -### Including a feature behind feature flag in the final release[](#including-a-feature-behind-feature-flag-in-the-final-release "Permalink") - -为了构建最终版本并向自我管理的用户展示功能,功能标志至少应默认为**on** . 如果认为该功能稳定并且确信删除该功能标志是安全的,请考虑完全删除该功能标志. *强烈*建议在做出此决定之前**,至少在一天的** [**生产中** **全局**启用](./controls.html#enabling-a-feature-for-gitlabcom)功能标志. 在此期间,有时会发现意外的错误. - -从首次审查合并请求到将更改部署到 GitLab.com 的过程中,启用默认情况下禁用的功能的过程可能需要 5 到 6 天. 但是,建议将此活动留出 10 到 14 天的时间,以解决无法预料的问题. - -功能标记必须[根据其状态(启用/禁用)进行记录](../documentation/feature_flags.html) ,并且当状态更改时, **必须相应**地更新文档. - -**注意:**请注意,合并功能标记的更改后不久,此类操作可使功能在 GitLab.com 上可用. - -更改默认状态或删除功能标志必须在每月的 22 号之前*(至少在* 3-4 个工作日之前)进行,以便将更改包含在最终的自我管理版本中. - -除此之外,功能标志后面的功能应: - -* 在所有 GitLab.com 环境中运行足够长的时间. 该时间段取决于功能标志后面的功能,但是通常经验法则是 2-4 个工作日应该足以收集足够的反馈. -* 在上述时间段内,该功能应向 GitLab.com 计划内的所有用户公开. 将功能暴露给较小的百分比或仅将一组用户公开可能不会暴露出足够多的信息来帮助您确定功能稳定性. - -尽管很少使用,但即使使用了功能标志,发行经理也可能决定拒绝选择或还原稳定分支中的更改. 如果更改被认为是有问题的,过于侵入性的,或者只是没有足够的时间来正确衡量更改在 GitLab.com 上的行为,则可能有必要. - -### The cost of feature flags[](#the-cost-of-feature-flags "Permalink") - -阅读以上内容时,可能会想起此过程会增加很多工作. 幸运的是,事实并非如此,我们将说明原因. 在此示例中,我们将工作成本指定为一个数字,范围从 0 到无穷大. 数量越大,工作越昂贵. 成本并*没有*转化时间,这只是相对于另一个测量一个变化的复杂性的一种方式. - -假设我们正在构建一个新功能,并确定此功能的成本为 10.我们还确定,在不同位置添加功能标志检查的成本为 1.如果不使用功能标志,并且我们的功能按预期工作,我们的总费用为 10.这是最好的情况. 最佳情况下的优化肯定会导致麻烦,而最坏情况下的优化几乎总是更好. - -为了说明这一点,假设我们的功能导致停机,并且没有立即解决的方法. 这意味着我们必须采取以下步骤来解决停机问题: - -1. 还原发行版. -2. 根据所做的更改,执行可能需要的所有清理. -3. 恢复提交,确保" master"分支保持稳定. 如果解决问题可能需要几天甚至几周的时间,那么这尤其必要. -4. 选择还原提交到适当的稳定分支中,以确保在问题解决之前我们不会阻止任何将来的发行. - -如历史所示,这些步骤耗时,复杂,通常涉及许多开发人员,而且最糟糕的是:在解决问题之前,我们的用户使用 GitLab.com 的体验将很糟糕. - -现在,我们假设所有这些的关联成本为 10.这意味着在最坏的情况下(我们应该对其进行优化),我们的总成本现在为 20. - -如果我们使用了功能标记,情况将会大不相同. 我们不需要还原版本,并且由于默认情况下功能标记是禁用的,因此我们不需要还原并选择任何 Git 提交. 实际上,我们要做的就是禁用该功能,在最坏的情况下,执行清理. 假设这是 2 的成本.在这种情况下,我们的最佳案例成本是 11:构建功能部件的成本为 10:添加功能标志的成本为 1\. 现在最坏的情况是 13: - -* 10 构建功能. -* 1 添加功能标志. -* 2 禁用并清理. - -在这里,我们可以看到,在最佳情况下,与不使用功能标记相比,所需的工作仅多一点. 同时,还原变更的过程已大大便宜了. - -In other words, feature flags do not slow down the development process. Instead, they speed up the process as managing incidents now becomes *much* easier. Once continuous deployments are easier to perform, the time to iterate on a feature is reduced even further, as you no longer need to wait weeks before your changes are available on GitLab.com. \ No newline at end of file diff --git a/docs/581.md b/docs/581.md deleted file mode 100644 index 27d4890..0000000 --- a/docs/581.md +++ /dev/null @@ -1,132 +0,0 @@ -# Developing with feature flags - -> 原文:[https://docs.gitlab.com/ee/development/feature_flags/development.html](https://docs.gitlab.com/ee/development/feature_flags/development.html) - -* [Feature groups](#feature-groups) - * [Frontend](#frontend) - * [Specs](#specs) - * [`stub_feature_flags: true` (default and preferred)](#stub_feature_flags-true-default-and-preferred) - * [`stub_feature_flags: false`](#stub_feature_flags-false) - * [Enabling a feature flag (in development)](#enabling-a-feature-flag-in-development) - -# Developing with feature flags[](#developing-with-feature-flags "Permalink") - -通常,最好有一个基于组或基于用户的门,并且您应该比使用百分比门更好. 这将使调试更加容易,因为您也可以根据参与者过滤示例日志和错误. 此外,这允许首先启用`gitlab-org`或`gitlab-com`组,而其余用户则`gitlab-com` . - -``` -# Good -Feature.enabled?(:feature_flag, project) - -# Avoid, if possible -Feature.enabled?(:feature_flag) -``` - -要使用基于角色的特征门,模型需要响应`flipper_id` . 例如,要启用 Foo 模型: - -``` -class Foo < ActiveRecord::Base - include FeatureGate -end -``` - -只有`include FeatureGate`或公开的`flipper_id`方法的模型才能用作`Feature.enabled?` `flipper_id` `Feature.enabled?` . - -已开发并打算在功能标记后合并的功能不应包含变更日志条目. 该条目应添加到删除功能部件标记的合并请求中,或在功能部件标记的默认值设置为 true 的合并请求中添加. 如果功能包含任何数据库迁移,则该功能应包括数据库更改的更改日志条目. - -如果您需要功能标记自动打开,请在检查以下内容时使用`default_enabled: true` : - -``` -Feature.enabled?(:feature_flag, project, default_enabled: true) -``` - -[`Project#feature_available?`](https://gitlab.com/gitlab-org/gitlab/blob/4cc1c62918aa4c31750cb21dfb1a6c3492d71080/app/models/project_feature.rb#L63-68) , [`Namespace#feature_available?`](https://gitlab.com/gitlab-org/gitlab/blob/4cc1c62918aa4c31750cb21dfb1a6c3492d71080/ee/app/models/ee/namespace.rb#L71-85) (EE)和[`License.feature_available?`](https://gitlab.com/gitlab-org/gitlab/blob/4cc1c62918aa4c31750cb21dfb1a6c3492d71080/ee/app/models/license.rb#L293-300) (EE)方法都隐式检查默认情况下启用的功能标志,该标志与提供的参数同名. - -例如,如果某个功能是许可门控的,则无需添加其他显式功能标志检查,因为该标志将作为`License.feature_available?`一部分进行检查`License.feature_available?` 呼叫. 同样,功能达到通用状态后,也无需"清理"功能标志. - -您是否仍想使用显式`Feature.enabled?` 检查您的新功能是否不受许可或计划的限制. - -**上面提到的隐式功能标志的一个重要副作用是,除非功能被明确禁用或限制为一定比例的用户,否则功能标志检查将默认为`true` .** - -当使用[几个较小的合并请求](https://about.gitlab.com/handbook/values/#make-small-merge-requests)开发功能时,或者当该功能被视为[alpha 或 beta 时](https://about.gitlab.com/handbook/product/#alpha-beta-ga) ,这是相关的,并且默认情况下不可用. - -例如,如果要交付功能的前端一半而没有后端,则希望完全禁用该功能,直到也可以交付后端一半. 要确保 GitLab.com 和自我管理实例均禁用此功能,应使用[`Namespace#alpha_feature_available?`](https://gitlab.com/gitlab-org/gitlab/blob/458749872f4a8f27abe8add930dbb958044cb926/ee/app/models/ee/namespace.rb#L113) 或[`Namespace#beta_feature_available?`](https://gitlab.com/gitlab-org/gitlab/blob/458749872f4a8f27abe8add930dbb958044cb926/ee/app/models/ee/namespace.rb#L100-112) 方法,根据我们的[定义](https://about.gitlab.com/handbook/product/#alpha-beta-ga) . 这样可以确保禁用功能,除非*明确*启用了功能标志. - -## Feature groups[](#feature-groups "Permalink") - -从 GitLab 9.4 开始,我们通过[Flipper 组](https://github.com/jnunemaker/flipper/blob/v0.10.2/docs/Gates.md#2-group)支持功能[组](https://github.com/jnunemaker/flipper/blob/v0.10.2/docs/Gates.md#2-group) . - -功能组必须在`lib/feature.rb` (在`.register_feature_groups`方法中)静态定义,但是它们的实现显然可以是动态的(查询数据库等). - -在`lib/feature.rb`定义后,您将能够通过[features API](../../api/features.html#set-or-create-a-feature)的[`feature_group`参数](../../api/features.html#set-or-create-a-feature)激活给定功能组[的功能](../../api/features.html#set-or-create-a-feature) - -### Frontend[](#frontend "Permalink") - -对于前端代码,可以使用方法`push_frontend_feature_flag` ,该方法适用于所有从`ApplicationController`继承的控制器. 使用此方法,可以按如下所示公开功能部件标志的状态: - -``` -before_action do - # Prefer to scope it per project or user e.g. - push_frontend_feature_flag(:vim_bindings, project) - - # Avoid, if possible - push_frontend_feature_flag(:vim_bindings) -end - -def index - # ... -end - -def edit - # ... -end -``` - -然后,您可以按照以下步骤检查 JavaScript 中功能部件标志的状态: - -``` -if ( gon.features.vimBindings ) { - // ... -} -``` - -JavaScript 中的功能标志的名称将始终为 camelCased,这意味着检查`gon.features.vim_bindings`将不起作用. - -有关如何访问 Vue 组件中的功能标志的详细信息,请参见[Vue 指南](../fe_guide/vue.html#accessing-feature-flags) . - -### Specs[](#specs "Permalink") - -我们在测试环境中的 Flipper 引擎以`Flipper::Adapters::Memory`的内存模式工作. `production`和`development`模式使用`Flipper::Adapters::ActiveRecord` . - -### `stub_feature_flags: true` (default and preferred)[](#stub_feature_flags-true-default-and-preferred "Permalink") - -在此模式下,将 Flipper 配置为使用`Flipper::Adapters::Memory`并将所有功能标志标记为默认状态,并在首次使用时保持不变. 这将覆盖`Feature.enabled?`的`default_enabled:` `Feature.enabled?` 和`Feature.disabled?` 除非功能标记持续存在,否则始终返回`true` . - -Make sure behavior under feature flag doesn’t go untested in some non-specific contexts. - -有关如何在测试中添加功能标志的信息和示例,请参见[测试指南](../testing_guide/best_practices.html#feature-flags-in-tests) . - -### `stub_feature_flags: false`[](#stub_feature_flags-false "Permalink") - -这将禁用存储在内存中的鳍状肢,并使用`Flipper::Adapters::ActiveRecord`一种`production`和`development`所使用的模式. - -仅当您确实想测试 Flipper 的各个方面及其与`ActiveRecord`交互方式时,才应使用此模式. - -### Enabling a feature flag (in development)[](#enabling-a-feature-flag-in-development "Permalink") - -在 rails 控制台( `rails c` )中,输入以下命令以启用功能部件标志 - -``` -Feature.enable(:feature_flag_name) -``` - -同样,以下命令将禁用功能部件标志: - -``` -Feature.disable(:feature_flag_name) -``` - -您也可以为给定的门启用功能标志: - -``` -Feature.enable(:feature_flag_name, Project.find_by_full_path("root/my-project")) -``` \ No newline at end of file diff --git a/docs/582.md b/docs/582.md deleted file mode 100644 index 606a8fb..0000000 --- a/docs/582.md +++ /dev/null @@ -1,195 +0,0 @@ -# Feature flag controls - -> 原文:[https://docs.gitlab.com/ee/development/feature_flags/controls.html](https://docs.gitlab.com/ee/development/feature_flags/controls.html) - -* [Access](#access) -* [Rolling out changes](#rolling-out-changes) - * [Enabling a feature for preproduction testing](#enabling-a-feature-for-preproduction-testing) - * [Enabling a feature for GitLab.com](#enabling-a-feature-for-gitlabcom) - * [Communicate the change](#communicate-the-change) - * [Process](#process) - * [Feature flag change logging](#feature-flag-change-logging) -* [Cleaning up](#cleaning-up) - -# Feature flag controls[](#feature-flag-controls "Permalink") - -## Access[](#access "Permalink") - -为了能够在 GitLab Inc.提供的任何环境(例如分期和生产)中打开/关闭功能标记后面的功能,您需要访问[Chatops](../chatops_on_gitlabcom.html)机器人. Chatops 机器人当前在 ops 实例上运行,该实例不同于[https://gitlab.com](https://gitlab.com)或[https://dev.gitlab.org](https://dev.gitlab.org) . - -按照 Chatops 文档[请求访问权限](../chatops_on_gitlabcom.html#requesting-access) . - -一旦您将访问权限传播到项目测试中,请运行: - -``` -/chatops run feature --help -``` - -## Rolling out changes[](#rolling-out-changes "Permalink") - -将更改部署到环境后,就该开始向我们的用户推出该功能了. 没有具体说明发布更改的确切过程,因为更改之间可能会有所不同. 但是,总的来说,我们建议逐步推出更改,而不是立即为所有人启用更改. 我们还建议您在部署代码*之前* *不要*启用功能. 这使您可以将部署的功能与部署分开,从而更容易分别衡量两者的影响. - -GitLab 的功能库(使用[Flipper](https://github.com/jnunemaker/flipper) ,并在[功能标志过程](process.html)指南中进行了介绍)支持向用户发布更改的时间百分比. 依次可以使用[GitLab Chatops](../../ci/chatops/README.html)进行控制. - -有关功能标志命令的最新列表,请参见[源代码](https://gitlab.com/gitlab-com/chatops/blob/master/lib/chatops/commands/feature.rb) . 请注意,该文件中的所有示例都必须在`/chatops run`之前. - -如果收到错误消息"糟糕! 不允许执行此操作. 该事件将得到报告." 这意味着您的 Slack 帐户不允许更改功能标志,或者您没有[访问权限](#access) . - -### Enabling a feature for preproduction testing[](#enabling-a-feature-for-preproduction-testing "Permalink") - -作为功​​能推出的第一步,您应该在[https://staging.gitlab.com](https://staging.gitlab.com)和[https://dev.gitlab.org](https://dev.gitlab.org)上启用功能. - -这两个环境具有不同的范围. `dev.gitlab.org`是具有内部 GitLab Inc.流量的生产 CE 环境,用于某些开发和其他相关工作. `staging.gitlab.com`有 GitLab.com 数据库和知识库的较小的子集,并没有正常的交通. 登台是 EE 实例,可以(非常)粗略估计您的功能在 GitLab.com 上的外观/行为. 这两个实例都已连接到 Sentry,因此请确保在启用功能标志后测试功能时,检查那里的项目是否存在异常. - -对于这些预生产环境,应在功能相关的阶段在 Slack 通道中运行命令. 例如,将`#s_monitor`通道用于 Monitor 阶段"运行状况"组开发的功能. - -To enable a feature for 25% of all users, run the following in Slack: - -``` -/chatops run feature set new_navigation_bar 25 --dev -/chatops run feature set new_navigation_bar 25 --staging -``` - -### Enabling a feature for GitLab.com[](#enabling-a-feature-for-gitlabcom "Permalink") - -在[预生产](#enabling-a-feature-for-preproduction-testing)环境中成功[启用功能](#enabling-a-feature-for-preproduction-testing)并验证其安全性和正常工作后,您可以将更改发布到 GitLab.com(生产). - -#### Communicate the change[](#communicate-the-change "Permalink") - -GitLab.com 上的某些功能标志更改应与公司部分进行沟通. 负责开发的人员需要确定这是否必要以及适当的通信级别. 这取决于功能及其可能产生的影响. - -作为指导: - -* 对于低风险且易于回滚的简单功能,只需继续[在`#production`启用该功能](#process) . -* 对于将影响用户体验的功能,请考虑事先通知`#support_gitlab-com` . -* 对于具有重大下游影响的功能(例如:打开/关闭 Elasticsearch 索引`#production` ),请考虑事先与`#production`协调. - -#### Process[](#process "Permalink") - -在切换任何功能标志之前,请检查 GitLab.com 上是否没有正在进行的重大事件. 您可以通过检查`#production`和`#incident-management` Slack 通道,或查找[未解决的事件问题](https://gitlab.com/gitlab-com/gl-infra/production/-/issues/?scope=all&utf8=✓&state=opened&label_name[]=incident) (尽管检查日期和时间)来执行此操作. - -我们不想在事件发生时进行更改,因为它会使实现事件的诊断和解决变得更加困难,并且由于无法评估发布是否没有问题,因此在很大程度上会使发布过程无效. - -如有疑问,请在`#production`中`#production` . - -以下`/chatops`命令应在 Slack `#production`通道中执行. - -当您开始启用该功能时,请在您执行的第一个`/chatops`命令的 Slack 线程中链接到相关的功能标志发布问题,以便人们可以根据需要了解更改. - -要在 25%的时间内启用功能,请在 Slack 中运行以下命令: - -``` -/chatops run feature set new_navigation_bar 25 -``` - -这将根据以下公式将功能标记设置为`true` : - -``` -feature_flag_state = rand < (25 / 100.0) -``` - -这将为 GitLab.com 启用该功能,其中`new_navigation_bar`为该功能的名称. 此命令*不*启用用户总量的 25%的功能. 而是在`enabled?`该功能时进行检查`enabled?` ,它将在 25%的时间内返回`true` . - -要为 25%的参与者(例如用户,项目或组)启用功能,请在 Slack 中运行以下命令: - -``` -/chatops run feature set some_feature 25 --actors -``` - -这将根据以下公式将功能标记设置为`true` : - -``` -feature_flag_state = Zlib.crc32("some_feature<Actor>:#{actor.id}") % (100 * 1_000) < 25 * 1_000] -# where <Actor>: is a `User`, `Group`, `Project` and actor is an instance -``` - -在开发过程中,应根据功能的性质来选择演员. - -对于以用户为中心的功能: - -``` -Feature.enabled?(:feature_cool_avatars, current_user) -``` - -对于组或名称空间级别的功能: - -``` -Feature.enabled?(:feature_cooler_groups, group) -``` - -对于项目级别的功能: - -``` -Feature.enabled?(:feature_ice_cold_projects, project) -``` - -如果不确定要使用什么百分比,只需使用以下步骤: - -1. 25% -2. 50% -3. 75% -4. 100% - -在每个步骤之间,您都需要稍等片刻,并在[https://dashboards.gitlab.net](https://dashboards.gitlab.net)上监视适当的图形. 等待的确切时间可能有所不同. 对于某些功能,几分钟就足够了,而对于其他功能,您可能要等待几个小时甚至几天. 这完全取决于您,只要确保将其清楚地传达给您的团队和生产团队即可,如果您预计任何潜在的问题. - -功能门也可以基于`gitlab` ,例如,可以首先仅对`gitlab`项目启用功能. 通过提供`--project`标志来传递项目: - -``` -/chatops run feature set --project=gitlab-org/gitlab some_feature true -``` - -对于组, `--group`标志可用: - -``` -/chatops run feature set --group=gitlab-org some_feature true -``` - -请注意,基于角色的门适用于百分比. 例如,如果您运行以下两个命令,则将`group/project`视为`gitlab-org/gitlab`并将给定的示例功能视为`some_feature` : - -``` -/chatops run feature set --project=gitlab-org/gitlab some_feature true -/chatops run feature set some_feature 25 --actors -``` - -然后将为 25%的参与者同时启用`some_feature` ,并且始终在与`gitlab-org/gitlab`交互时`gitlab-org/gitlab` . 如果特征标记开发使用组参与者,这是一个好主意. - -``` -Feature.enabled?(:some_feature, group) -``` - -**注意:**如果要确保用户始终开启或关闭某项功能,则**时间百分比分布**不是一个好主意. 在这种情况下, **"参与者百分比"**展示是一种更好的方法. - -最后,要在尽可能多的情况下验证该功能被认为是稳定的,您应该通过运行以下命令**全局**启用该标志来全面推出该功能: - -``` -/chatops run feature set some_feature true -``` - -这会将功能标志状态更改为始终**启用** ,从而覆盖上述过程中现有的门(例如`--group=gitlab-org` ). - -### Feature flag change logging[](#feature-flag-change-logging "Permalink") - -任何影响 GitLab.com(生产)的功能标志更改都会自动记录在问题中. - -该问题是在[gl-infra / feature-flag-log](https://gitlab.com/gitlab-com/gl-infra/feature-flag-log/-/issues?scope=all&utf8=✓&state=closed)项目中创建的,它将至少记录启用功能标志的人员的 Slack 句柄,更改的时间和标志的名称. - -然后,该问题还将作为注释标记发布到 GitLab 的内部[Grafana 仪表板上](https://dashboards.gitlab.net/) ,以使更改更加明显. - -问题格式的更改可以在[Chatops 项目中](https://gitlab.com/gitlab-com/chatops)提交. - -## Cleaning up[](#cleaning-up "Permalink") - -更改被视为稳定后,请提交新的合并请求以删除功能标记. 这样可以确保所有用户和自我管理实例都可以使用该更改. 确保在此合并请求中添加〜" feature flag"标签,以便发行经理意识到更改隐藏在 feature 标志的后面. 如果必须将合并请求放入一个稳定的分支中,请确保还添加适当的`~"Pick into XY"`标签(例如`~"Pick into 13.0"` ). 有关更多详细信息,请参见[过程文档](process.html#including-a-feature-behind-feature-flag-in-the-final-release) . - -从代码库中删除功能门后,数据库中仍然存在该标志也已部署的功能记录. 将 MR 部署到每个环境后,可以删除该记录: - -``` -/chatops run feature delete some_feature --dev -/chatops run feature delete some_feature --staging -``` - -Then, you can delete it from production after the MR is deployed to prod: - -``` -/chatops run feature delete some_feature -``` \ No newline at end of file diff --git a/docs/583.md b/docs/583.md deleted file mode 100644 index 3c839ad..0000000 --- a/docs/583.md +++ /dev/null @@ -1,180 +0,0 @@ -# Document features deployed behind feature flags - -> 原文:[https://docs.gitlab.com/ee/development/documentation/feature_flags.html](https://docs.gitlab.com/ee/development/documentation/feature_flags.html) - -* [Criteria](#criteria) - * [Features disabled by default](#features-disabled-by-default) - * [Features that became enabled by default](#features-that-became-enabled-by-default) - * [Features directly enabled by default](#features-directly-enabled-by-default) - * [Features with flag removed](#features-with-flag-removed) - -# Document features deployed behind feature flags[](#document-features-deployed-behind-feature-flags "Permalink") - -manbetx 客户端打不开使用[功能标志](../feature_flags/index.html)来战略性地推出自己的功能的部署. 我们在功能标记后面记录功能的方式取决于其状态(启用或禁用). 状态更改时,进行更改的开发人员**必须相应地更新文档** . - -## Criteria[](#criteria "Permalink") - -根据[部署功能标记后的 GitLab 功能](../feature_flags/process.html)的过程: - -> * *默认情况下,功能标志应处于关闭状态.* -> * *功能标记应尽可能短地保留在代码库中,以减少对功能标记记帐的需求.* -> * *为了构建最终版本并为自我管理的用户提供功能,功能标志至少应至少默认为 on.* - -根据标志的状态,请参阅下面的文档说明: - -* [Features disabled by default](#features-disabled-by-default). -* [Features that became enabled by default](#features-that-became-enabled-by-default). -* [Features directly enabled by default](#features-directly-enabled-by-default). -* [Features with the feature flag removed](#features-with-flag-removed). - -**注意:**功能级别的[`**(CORE ONLY)**`](styleguide.html#product-badges)徽标或等效标记应添加到以下行和标题中,即启用/禁用功能标志,因为这样做需要管理员访问权限,因此,它表示不能由 GitLab.com 的普通用户完成. - -### Features disabled by default[](#features-disabled-by-default "Permalink") - -对于默认情况下禁用的功能,如果由于缺乏完整性而无法使用它们,或者仍在内部评估中(例如,出于性能方面的考虑),请**不要对其进行文档化** :仅在以下情况下添加(或合并)文档:该功能是安全的,可供最终用户使用和测试. - -对于默认情况下禁用的功能标志,如果最终用户可以使用它们: - -* 说默认情况下它是禁用的. -* 说是否在 GitLab.com 上启用了它. -* 说说是否可以针对每个项目启用或禁用它. -* 说出是否建议将其用于生产. -* 记录如何启用和禁用它. - -例如,对于默认情况下禁用的功能,可以在每个项目上启用或禁用 GitLab.com 上禁用的功能,并且不准备用于生产环境: - -``` -# Feature Name - > - [Introduced](link-to-issue) in GitLab 12.0. -> - It's deployed behind a feature flag, disabled by default. -> - It's disabled on GitLab.com. -> - It's able to be enabled or disabled per-project -> - It's not recommended for production use. -> - To use it in GitLab self-managed instances, ask a GitLab administrator to [enable it](#anchor-to-section). **(CORE ONLY)** - -(...) - -### Enable or disable <Feature Name> **(CORE ONLY)** - -<Feature Name> is under development and not ready for production use. It is -deployed behind a feature flag that is **disabled by default**. -[GitLab administrators with access to the GitLab Rails console](../path/to/administration/feature_flags.md) -can enable it for your instance. <Feature Name> can be enabled or disabled per-project - -To enable it: - -```ruby # Instance-wide -Feature.enable(:<feature flag>) -# or by project -Feature.enable(:<feature flag>, Project.find(<project id>)) -``` - -To disable it: - -```ruby # Instance-wide -Feature.disable(:<feature flag>) -# or by project -Feature.disable(:<feature flag>, Project.find(<project id>)) -``` -``` - -根据要记录的功能的状态来调整 Blur. - -### Features that became enabled by default[](#features-that-became-enabled-by-default "Permalink") - -对于默认启用的功能: - -* 假设默认情况下已启用它. -* 说是否在 GitLab.com 上启用了它. -* 说说是否可以针对每个项目启用或禁用它. -* 说出是否建议将其用于生产. -* 记录如何禁用和启用它. - -例如,对于最初部署时默认情况下禁用的功能,默认情况下已启用,在 GitLab.com 上启用了该功能,该功能无法按项目启用或禁用,并且可以用于生产环境: - -``` -# Feature Name - > - [Introduced](link-to-issue) in GitLab 12.0. -> - It was deployed behind a feature flag, disabled by default. -> - [Became enabled by default](link-to-issue) on GitLab 12.1. -> - It's enabled on GitLab.com. -> - It's not able to be enabled or disabled per-project -> - It's recommended for production use. -> - For GitLab self-managed instances, GitLab administrators can opt to [disable it](#anchor-to-section). **(CORE ONLY)** - -(...) - -### Enable or disable <Feature Name> **(CORE ONLY)** - -<Feature Name> is under development but ready for production use. -It is deployed behind a feature flag that is **enabled by default**. -[GitLab administrators with access to the GitLab Rails console](..path/to/administration/feature_flags.md) -can opt to disable it for your instance it cannot be enabled or disabled per-project. - -To disable it: - -```ruby Feature.disable(:<feature flag>) -``` - -To enable it: - -```ruby Feature.enable(:<feature flag>) -``` -``` - -根据要记录的功能的状态来调整 Blur. - -### Features directly enabled by default[](#features-directly-enabled-by-default "Permalink") - -对于默认启用的功能: - -* 说默认情况下已启用. -* 说是否在 GitLab.com 上启用了它. -* 说说是否可以针对每个项目启用或禁用它. -* 说出是否建议将其用于生产. -* 记录如何禁用和启用它. - -For example, for a feature enabled by default, enabled on GitLab.com, cannot be enabled or disabled per-project, and ready for production use: - -``` -# Feature Name - > - [Introduced](link-to-issue) in GitLab 12.0. -> - It's deployed behind a feature flag, enabled by default. -> - It's enabled on GitLab.com. -> - It's not able to be enabled or disabled per-project -> - It's recommended for production use. -> - For GitLab self-managed instances, GitLab administrators can opt to [disable it](#anchor-to-section). **(CORE ONLY)** - -(...) - -### Enable or disable <Feature Name> **(CORE ONLY)** - -<Feature Name> is under development but ready for production use. -It is deployed behind a feature flag that is **enabled by default**. -[GitLab administrators with access to the GitLab Rails console](..path/to/administration/feature_flags.md) -can opt to disable it for your instance. - -To disable it: - -```ruby Feature.disable(:<feature flag>) -``` - -To enable it: - -```ruby Feature.enable(:<feature flag>) -``` -``` - -根据要记录的功能的状态来调整 Blur. - -### Features with flag removed[](#features-with-flag-removed "Permalink") - -功能准备就绪并且标记已删除后,请清理文档. 删除功能标记的提及,只保留一个在版本历史记录注释中提及该标记的注释: - -``` -# Feature Name - > - [Introduced](link-to-issue) in GitLab 12.0. -> - [Feature flag removed](link-to-issue) in GitLab 12.2. - -(...) -``` \ No newline at end of file diff --git a/docs/584.md b/docs/584.md deleted file mode 100644 index e78ef7d..0000000 --- a/docs/584.md +++ /dev/null @@ -1,127 +0,0 @@ -# Frontend Development Guidelines - -> 原文:[https://docs.gitlab.com/ee/development/fe_guide/](https://docs.gitlab.com/ee/development/fe_guide/) - -* [Overview](#overview) - * [Browser Support](#browser-support) -* [Initiatives](#initiatives) -* [Principles](#principles) -* [Development Process](#development-process) -* [Architecture](#architecture) -* [Testing](#testing) -* [Pajamas Design System](#pajamas-design-system) -* [Design Patterns](#design-patterns) -* [Vue.js Best Practices](#vuejs-best-practices) -* [Vuex](#vuex) -* [Axios](#axios) -* [GraphQL](#graphql) -* [Icons and Illustrations](#icons-and-illustrations) -* [Dependencies](#dependencies) -* [Frontend FAQ](#frontend-faq) -* [Style Guides](#style-guides) -* [Tooling](#tooling) -* [Performance](#performance) -* [Security](#security) -* [Accessibility](#accessibility) -* [Internationalization (i18n) and Translations](#internationalization-i18n-and-translations) - -# Frontend Development Guidelines[](#frontend-development-guidelines "Permalink") - -本文档介绍了各种指南,以确保整个 GitLab 前端团队的一致性和质量. - -## Overview[](#overview "Permalink") - -GitLab 使用[Haml](http://haml.info/)在[Ruby on Rails 的](https://rubyonrails.org)基础上构建,并且还基于[Vue.js](https://vuejs.org)基于 JavaScript 的 Frontend. 注意[使用 Hamlit 所](https://github.com/k0kubun/hamlit/blob/master/REFERENCE.md#limitations)带来[的限制](https://github.com/k0kubun/hamlit/blob/master/REFERENCE.md#limitations) . 我们还将[SCSS](https://sass-lang.com)和普通 JavaScript 与通过[Babel](https://babeljs.io/)支持的现代 ECMAScript 标准一起使用,并通过[webpack](https://webpack.js.org/)支持 ES 模块. - -使用我们的前端资产需要使用 Node(v10.13.0 或更高版本)和 Yarn(v1.10.0 或更高版本). 您可以在我们的[安装指南中](../../install/installation.html#4-node)找到有关如何安装它们的信息. - -### Browser Support[](#browser-support "Permalink") - -对于我们当前支持的浏览器,请参阅我们的[要求](../../install/requirements.html#supported-web-browsers) . - -使用[BrowserStack](https://www.browserstack.com/)来测试我们支持的浏览器. 使用保存在 GitLab [共享 1Password 帐户](https://about.gitlab.com/handbook/security/#1password-guide)的**Engineering**库中的凭据登录到 BrowserStack. - -## Initiatives[](#initiatives "Permalink") - -当前的高级前端目标列在" [前端史诗"中](https://gitlab.com/groups/gitlab-org/-/epics?label_name[]=frontend) . - -## Principles[](#principles "Permalink") - -对 GitLab 做出贡献[的高级指南](principles.html) . - -## Development Process[](#development-process "Permalink") - -我们如何[计划和执行](development_process.html)前端工作. - -## Architecture[](#architecture "Permalink") - -我们如何在 GitLab 的前端团队中[做出基本的设计决策](architecture.html) ,或者对我们的前端开发准则进行更改. - -## Testing[](#testing "Permalink") - -我们如何编写[前端测试](../testing_guide/frontend_testing.html) ,运行 GitLab 测试套件以及调试与测试相关的问题. - -## Pajamas Design System[](#pajamas-design-system "Permalink") - -在我们的[睡衣设计系统中](https://design.gitlab.com/)可以找到具有技术和使用指南的可重复使用组件. - -## Design Patterns[](#design-patterns "Permalink") - -GitLab 代码库中的常见 JavaScript [设计模式](design_patterns.html) . - -## Vue.js Best Practices[](#vuejs-best-practices "Permalink") - -明确具体的[设计模式和实践](vue.html) . - -## Vuex[](#vuex "Permalink") - -[Vuex](vuex.html)特定的设计模式和实践. - -## Axios[](#axios "Permalink") - -[Axios](axios.html)特定的实践和陷阱. - -## GraphQL[](#graphql "Permalink") - -如何使用[GraphQL](graphql.html) . - -## Icons and Illustrations[](#icons-and-illustrations "Permalink") - -我们如何将 SVG 用于我们的[图标和插图](icons.html) . - -## Dependencies[](#dependencies "Permalink") - -有关前端[依赖关系](dependencies.html)以及我们如何管理它们的常规信息. - -## Frontend FAQ[](#frontend-faq "Permalink") - -阅读[前端的常见问题](frontend_faq.html) ,以获取有用的常见小信息. - -## Style Guides[](#style-guides "Permalink") - -请参阅相关的样式指南以获取我们的准则以及有关棉绒的信息: - -* [JavaScript](style/javascript.html) . 我们的指南基于出色的[Airbnb](https://github.com/airbnb/javascript)样式指南,并做了一些小改动. -* [SCSS](style/scss.html) :我们的 SCSS 约定,通过[`scss-lint`](https://github.com/sds/scss-lint) . -* [HTML](style/html.html) . 与其余代码库一致的编写 HTML 代码的准则. -* [Vue](style/vue.html) . 有关 Vue 代码的准则和约定,请参见此处. - -## [Tooling](tooling.html)[](#tooling "Permalink") - -我们的代码会自动使用[Prettier](https://prettier.io)格式化,以遵循我们的准则. 阅读我们的[工具指南](tooling.html)以获取更多详细信息. - -## [Performance](performance.html)[](#performance "Permalink") - -监视和最大化前端性能的最佳实践. - -## [Security](security.html)[](#security "Permalink") - -前端安全实践. - -## [Accessibility](accessibility.html)[](#accessibility "Permalink") - -我们的无障碍标准和资源. - -## [Internationalization (i18n) and Translations](../i18n/externalization.html)[](#internationalization-i18n-and-translations "Permalink") - -[本文档](../i18n/)介绍了前端国际化支持. [指南](../i18n/externalization.html)的[外部化部分](../i18n/externalization.html)介绍了可用的帮助程序/方法. \ No newline at end of file diff --git a/docs/585.md b/docs/585.md deleted file mode 100644 index c06d4b6..0000000 --- a/docs/585.md +++ /dev/null @@ -1,15 +0,0 @@ -# Accessibility & Readability - -> 原文:[https://docs.gitlab.com/ee/development/fe_guide/accessibility.html](https://docs.gitlab.com/ee/development/fe_guide/accessibility.html) - -* [Resources](#resources) - -# Accessibility & Readability[](#accessibility--readability "Permalink") - -## Resources[](#resources "Permalink") - -[Chrome 可访问性开发人员工具](https://github.com/GoogleChrome/accessibility-developer-tools)对于在 GitLab 中测试潜在的可访问性问题很有用. - -[斧头](https://www.deque.com/axe/)浏览器扩展程序(适用于[Firefox](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/)和[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd) )也是一种便捷的工具,可用于运行审核并获取有关标记,CSS 甚至可能存在问题的颜色使用情况的反馈. - -可访问性最佳做法和更深入的信息可在 Chrome 可访问性开发人员工具[的"审核规则"页面上](https://github.com/GoogleChrome/accessibility-developer-tools/wiki/Audit-Rules)找到. " [超棒可访问性"](https://github.com/brunopulis/awesome-a11y)列表也是可访问性相关材料的有用汇编. \ No newline at end of file diff --git a/docs/586.md b/docs/586.md deleted file mode 100644 index 8205dab..0000000 --- a/docs/586.md +++ /dev/null @@ -1,43 +0,0 @@ -# Ajax - -> 原文:[https://docs.gitlab.com/ee/development/fe_guide/droplab/plugins/ajax.html](https://docs.gitlab.com/ee/development/fe_guide/droplab/plugins/ajax.html) - -* [Usage](#usage) - -# Ajax[](#ajax "Permalink") - -`Ajax`是一个 droplab 插件,允许从服务器检索和呈现列表数据. - -## Usage[](#usage "Permalink") - -将`Ajax`对象添加到`DropLab.prototype.init`或`DropLab.prototype.addHook`调用的 plugins 数组中. - -`Ajax`需要 2 个配置值, `endpoint`和`method` . - -* `endpoint`应该是请求端点的 URL. -* `method`应为`setData`或`addData` . -* `setData`将下拉列表完全替换为响应数据. -* `addData`将响应数据追加到当前下拉列表中. - -``` -<a href="#" id="trigger" data-dropdown-trigger="#list">Toggle</a> -<ul id="list" data-dropdown><!-- ... --><ul> -``` - -``` -const droplab = new DropLab(); - -const trigger = document.getElementById('trigger'); -const list = document.getElementById('list'); - -droplab.addHook(trigger, list, [Ajax], { - Ajax: { - endpoint: '/some-endpoint', - method: 'setData', - }, -}); -``` - -(可选)您可以将`loadingTemplate`设置为 HTML 字符串. 请求待处理时,此 HTML 字符串将替换下拉列表. - -此外,您可以将`onError`设置为捕获任何 XHR 错误的函数. \ No newline at end of file diff --git a/docs/587.md b/docs/587.md deleted file mode 100644 index 4996a08..0000000 --- a/docs/587.md +++ /dev/null @@ -1,19 +0,0 @@ -# Architecture - -> 原文:[https://docs.gitlab.com/ee/development/fe_guide/architecture.html](https://docs.gitlab.com/ee/development/fe_guide/architecture.html) - -* [Examples](#examples) - -# Architecture[](#architecture "Permalink") - -在开发需要架构设计的新功能时,或者在更改现有功能的基本设计时,请确保与前端​​架构专家之一进行了讨论. - -前端架构师是一位专家,负责制定高层的前端设计决策并决定技术标准,包括编码标准和框架. - -每个人都应该可以了解体系结构决策,因此请在相关的"合并请求"讨论中记录它们,或者在适当时更新我们的文档. - -您可以在[团队页面](https://about.gitlab.com/company/team/)上找到 Frontend Architecture 专家. - -## Examples[](#examples "Permalink") - -您可以[在此处](vue.html)找到有关使用 Vue.js 构建的新功能所需架构的文档. \ No newline at end of file diff --git a/docs/588.md b/docs/588.md deleted file mode 100644 index 2e3331b..0000000 --- a/docs/588.md +++ /dev/null @@ -1,85 +0,0 @@ -# Axios - -> 原文:[https://docs.gitlab.com/ee/development/fe_guide/axios.html](https://docs.gitlab.com/ee/development/fe_guide/axios.html) - -* [CSRF token](#csrf-token) -* [Usage](#usage) -* [Mock Axios response in tests](#mock-axios-response-in-tests) - * [Example](#example) - * [Mock poll requests in tests with Axios](#mock-poll-requests-in-tests-with-axios) - -# Axios[](#axios "Permalink") - -我们使用[Axios](https://github.com/axios/axios)在 Vue 应用程序和大多数新代码中与服务器进行通信. - -为了确保设置了所有默认值,您不应*直接使用 Axios* ,而应从`axios_utils`导入 Axios. - -## CSRF token[](#csrf-token "Permalink") - -我们所有的请求都需要 CSRF 令牌. 为了确保设置此令牌,我们将导入[Axios](https://github.com/axios/axios) ,设置令牌并导出`axios` . - -应该使用此导出模块,而不是直接使用 Axios 以确保已设置令牌. - -## Usage[](#usage "Permalink") - -``` - import axios from './lib/utils/axios_utils'; - - axios.get(url) - .then((response) => { - // `data` is the response that was provided by the server - const data = response.data; - - // `headers` the headers that the server responded with - // All header names are lower cased - const paginationData = response.headers; - }) - .catch(() => { - //handle the error - }); -``` - -## Mock Axios response in tests[](#mock-axios-response-in-tests "Permalink") - -为了帮助我们模拟响应,我们使用[axios-mock-adapter](https://github.com/ctimmerm/axios-mock-adapter) . - -比[`spyOn()`](https://jasmine.github.io/api/edge/global.html#spyOn)优势: - -* 无需创建响应对象 -* 不允许通话(我们要避免) -* 简单的 API 来测试错误情况 -* 提供`replyOnce()`以允许不同的响应 - -我们还决定不使用[Axios 拦截器,](https://github.com/axios/axios#interceptors)因为它们不适合模拟. - -### Example[](#example "Permalink") - -``` - import axios from '~/lib/utils/axios_utils'; - import MockAdapter from 'axios-mock-adapter'; - - let mock; - beforeEach(() => { - // This sets the mock adapter on the default instance - mock = new MockAdapter(axios); - // Mock any GET request to /users - // arguments for reply are (status, data, headers) - mock.onGet('/users').reply(200, { - users: [ - { id: 1, name: 'John Smith' } - ] - }); - }); - - afterEach(() => { - mock.restore(); - }); -``` - -### Mock poll requests in tests with Axios[](#mock-poll-requests-in-tests-with-axios "Permalink") - -因为轮询功能需要一个标头对象,所以我们需要始终包含一个对象作为第三个参数: - -``` - mock.onGet('/users').reply(200, { foo: 'bar' }, {}); -``` \ No newline at end of file diff --git a/docs/589.md b/docs/589.md deleted file mode 100644 index a96005f..0000000 --- a/docs/589.md +++ /dev/null @@ -1,81 +0,0 @@ -# Design Patterns - -> 原文:[https://docs.gitlab.com/ee/development/fe_guide/design_patterns.html](https://docs.gitlab.com/ee/development/fe_guide/design_patterns.html) - -* [Singletons](#singletons) -* [Manipulating the DOM in a JS Class](#manipulating-the-dom-in-a-js-class) - -# Design Patterns[](#design-patterns "Permalink") - -## Singletons[](#singletons "Permalink") - -当给定任务仅需要一个对象时,最好将其定义为`class`而不是对象文字. 除非灵活性很重要(例如,对于测试),否则也最好明确限制实例化. - -``` -// bad - -const MyThing = { - prop1: 'hello', - method1: () => {} -}; - -export default MyThing; - -// good - -class MyThing { - constructor() { - this.prop1 = 'hello'; - } - method1() {} -} - -export default new MyThing(); - -// best - -export default class MyThing { - constructor() { - if (!MyThing.prototype.singleton) { - this.init(); - MyThing.prototype.singleton = this; - } - return MyThing.prototype.singleton; - } - - init() { - this.prop1 = 'hello'; - } - - method1() {} -} -``` - -## Manipulating the DOM in a JS Class[](#manipulating-the-dom-in-a-js-class "Permalink") - -在编写需要处理 DOM 的类时,请确保提供了一个容器选项. 当我们需要在同一页面中多次实例化该类时,这很有用. - -Bad: - -``` -class Foo { - constructor() { - document.querySelector('.bar'); - } -} -new Foo(); -``` - -Good: - -``` -class Foo { - constructor(opts) { - document.querySelector(`${opts.container} .bar`); - } -} - -new Foo({ container: '.my-element' }); -``` - -您可以在这上面的例子[类](https://gitlab.com/gitlab-org/gitlab/blob/master/app/assets/javascripts/mini_pipeline_graph_dropdown.js) ; \ No newline at end of file diff --git a/docs/590.md b/docs/590.md deleted file mode 100644 index adf7e20..0000000 --- a/docs/590.md +++ /dev/null @@ -1,98 +0,0 @@ -# Frontend Development Process - -> 原文:[https://docs.gitlab.com/ee/development/fe_guide/development_process.html](https://docs.gitlab.com/ee/development/fe_guide/development_process.html) - -* [Development Checklist](#development-checklist) - * [Merge Request Review](#merge-request-review) - * [Share your work early](#share-your-work-early) - * [Vue features](#vue-features) - -# Frontend Development Process[](#frontend-development-process "Permalink") - -您可以在[手册中](https://about.gitlab.com/handbook/engineering/frontend/)找到有关前端团队组织的更多信息. - -## Development Checklist[](#development-checklist "Permalink") - -这个想法是在构建新功能或启动某些东西时提醒我们有关特定主题的信息. 这是其他行业(如飞行员)的常见做法,这些行业也使用标准化清单来尽早减少问题. - -将内容复制到您的问题或合并请求中,如果不适用,则将其从当前列表中删除. - -此清单旨在在开发更大的功能/重构时为我们提供帮助,而不是"始终使用它,并且每个点始终匹配"列表. - -请在使用时做出最好的判断,如果有想法请通过合并请求贡献新的积分. - -``` -### Frontend development - -#### Planning development - - [ ] Check the current set weight of the issue, does it fit your estimate? -- [ ] Are all [departments](https://about.gitlab.com/handbook/engineering/#engineering-teams) that are needed from your perspective already involved in the issue? (For example is UX missing?) -- [ ] Is the specification complete? Are you missing decisions? How about error handling/defaults/edge cases? Take your time to understand the needed implementation and go through its flow. -- [ ] Are all necessary UX specifications available that you will need in order to implement? Are there new UX components/patterns in the designs? Then contact the UI component team early on. How should error messages or validation be handled? -- [ ] **Library usage** Use Vuex as soon as you have even a medium state to manage, use Vue router if you need to have different views internally and want to link from the outside. Check what libraries we already have for which occasions. -- [ ] **Plan your implementation:** - - [ ] **Architecture plan:** Create a plan aligned with GitLab's architecture, how you are going to do the implementation, for example Vue application setup and its components (through [onion skinning](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/35873#note_39994091)), Store structure and data flow, which existing Vue components can you reuse. It's a good idea to go through your plan with another engineer to refine it. - - [ ] **Backend:** The best way is to kickoff the implementation in a call and discuss with the assigned Backend engineer what you will need from the backend and also when. Can you reuse existing API's? How is the performance with the planned architecture? Maybe create together a JSON mock object to already start with development. - - [ ] **Communication:** It also makes sense to have for bigger features an own slack channel (normally called #f_{feature_name}) and even weekly demo calls with all people involved. - - [ ] **Dependency Plan:** Are there big dependencies in the plan between you and others, then maybe create an execution diagram to show what is blocking which part and the order of the different parts. - - [ ] **Task list:** Create a simple checklist of the subtasks that are needed for the implementation, also consider creating even sub issues. (for example show a comment, delete a comment, update a comment, etc.). This helps you and also everyone else following the implementation -- [ ] **Keep it small** To make it easier for you and also all reviewers try to keep merge requests small and merge into a feature branch if needed. To accomplish that you need to plan that from the start. Different methods are: - - [ ] **Skeleton based plan** Start with an MR that has the skeleton of the components with placeholder content. In following MRs you can fill the components with interactivity. This also makes it easier to spread out development on multiple people. - - [ ] **Cookie Mode** Think about hiding the feature behind a cookie flag if the implementation is on top of existing features - - [ ] **New route** Are you refactoring something big then you might consider adding a new route where you implement the new feature and when finished delete the current route and rename the new one. (for example 'merge_request' and 'new_merge_request') -- [ ] **Setup** Is there any specific setup needed for your implementation (for example a kubernetes cluster)? Then let everyone know if it is not already mentioned where they can find documentation (if it doesn't exist - create it) -- [ ] **Security** Are there any new security relevant implementations? Then please contact the security team for an app security review. If you are not sure ask our [domain expert](https://about.gitlab.com/handbook/engineering/frontend/#frontend-domain-experts) - -#### During development - - [ ] Check off tasks on your created task list to keep everyone updated on the progress -- [ ] [Share your work early with reviewers/maintainers](#share-your-work-early) -- [ ] Share your work with UXer and Product Manager with Screenshots and/or [GIF's](https://about.gitlab.com/handbook/product/making-gifs/). They are easy to create for you and keep them up to date. -- [ ] If you are blocked on something let everyone on the issue know through a comment. -- [ ] Are you unable to work on this issue for a longer period of time, also let everyone know. -- [ ] **Documentation** Update/add docs for the new feature, see `docs/`. Ping one of the documentation experts/reviewers - -#### Finishing development + Review - - [ ] **Keep it in the scope** Try to focus on the actual scope and avoid a scope creep during review and keep new things to new issues. -- [ ] **Performance** Have you checked performance? For example do the same thing with 500 comments instead of 1\. Document the tests and possible findings in the MR so a reviewer can directly see it. -- [ ] Have you tested with a variety of our [supported browsers](../../install/requirements.md#supported-web-browsers)? You can use [browserstack](https://www.browserstack.com/) to be able to access a wide variety of browsers and operating systems. -- [ ] Did you check the mobile view? -- [ ] Check the built webpack bundle (For the report run `WEBPACK_REPORT=true gdk run`, then open `webpack-report/index.html`) if we have unnecessary bloat due to wrong references, including libraries multiple times, etc.. If you need help contact the webpack [domain expert](https://about.gitlab.com/handbook/engineering/frontend/#frontend-domain-experts) -- [ ] **Tests** Not only greenfield tests - Test also all bad cases that come to your mind. -- [ ] If you have multiple MR's then also smoke test against the final merge. -- [ ] Are there any big changes on how and especially how frequently we use the API then let production know about it -- [ ] Smoke test of the RC on dev., staging., canary deployments and .com -- [ ] Follow up on issues that came out of the review. Create issues for discovered edge cases that should be covered in future iterations. -``` - -### Merge Request Review[](#merge-request-review "Permalink") - -为了[尊重他人的时间,](https://about.gitlab.com/handbook/values/#be-respectful-of-others-time)在进行审核[时,](https://about.gitlab.com/handbook/values/#be-respectful-of-others-time)请遵循以下准则: - -* 确保您的合并请求: - * 里程碑已设定 - * 至少设置了危险机器人建议的标签 - * 有清晰的描述 - * 如果 UI 发生更改,则包括屏幕截图之前/之后 - * 管道是绿色的 - * 包括测试 - * 包括变更日志条目(必要时) -* 在分配给维护者之前,请分配给审阅者. -* 如果您分配了合并请求或直接对某人执行 ping 操作,请耐心等待,因为我们在不同时区且异步工作. 除非紧急合并请求(例如修复损坏的主服务器),否则请不要 DM 或重新分配合并请求,然后再等待 24 小时窗口. -* 如果您对合并请求/问题有疑问,请在合并请求/问题中提出. 当我们彼此进行 DM 交流时,我们将不再拥有 SSOT,并且[其他人也无法做出贡献](https://about.gitlab.com/handbook/values/#public-by-default) . -* 如果您有一个包含许多更改的大型**Draft**合并请求,建议您在添加/删除重要代码之前开始审阅. 确保在发布截止日期之前就已对其进行了分配,因为审阅者/维护者将始终优先于**草稿中**优先审阅已完成的 MR. -* 确保在上一轮审核之前删除" `Draft:`标题. - -### Share your work early[](#share-your-work-early "Permalink") - -1. 在编写代码之前,请确保您对体系结构的了解与 GitLab 的体系结构保持一致. -2. Add a diagram to the issue and ask a frontend maintainer in the Slack channel `#frontend_maintainers` about it. - - [![Diagram of Issue Boards Architecture](img/11b32b9624ee5e827950dd6f126127d6.png)](img/boards_diagram.png) - -3. 从开始一项功能到与审阅者或维护者共享"合并请求"之间的时间不要超过一周. - -### Vue features[](#vue-features "Permalink") - -1. 请遵循[Vue.js 最佳做法中](vue.html)的步骤 -2. 遵循样式指南. -3. 仅有少数几个人可以合并 Vue 相关功能. 在此过程的早期,请一位 Vue 专家联系. \ No newline at end of file diff --git a/docs/591.md b/docs/591.md deleted file mode 100644 index e4ce82c..0000000 --- a/docs/591.md +++ /dev/null @@ -1,259 +0,0 @@ -# DropLab - -> 原文:[https://docs.gitlab.com/ee/development/fe_guide/droplab/droplab.html](https://docs.gitlab.com/ee/development/fe_guide/droplab/droplab.html) - -* [Usage](#usage) - * [Static data](#static-data) - * [Explicit instantiation](#explicit-instantiation) - * [Dynamic data](#dynamic-data) -* [Internal selectors](#internal-selectors) -* [Internal events](#internal-events) -* [Plugins](#plugins) - * [Usage](#usage-1) - * [Documentation](#documentation) - * [Development](#development) - -# DropLab[](#droplab "Permalink") - -满足您所有自定义下拉菜单需求的通用下拉菜单. - -## Usage[](#usage "Permalink") - -只需添加`data-dropdown-trigger` HTML 属性即可使用 DropLab. 此属性使我们能够找到下拉菜单的"触发" *(切换)* ,无论是按钮,链接还是输入. - -`data-dropdown-trigger`应该是 DropLab 可以用来查找触发器的下拉列表的 CSS 选择器. - -您还应该添加`data-dropdown`属性以声明下拉列表. 该值无关紧要. - -DropLab 类没有副作用,因此在 DOM 准备就绪时,必须始终调用`.init` . `DropLab.prototype.init`的参数与`DropLab.prototype.addHook`相同. 如果不提供任何参数,它将全局查询并实例化所有与 droplab 兼容的下拉菜单. - -``` -<a href="#" data-dropdown-trigger="#list">Toggle</a> - -<ul id="list" data-dropdown> - <!-- ... --> -<ul> -``` - -``` -const droplab = new DropLab(); -droplab.init(); -``` - -As you can see, we have a “Toggle” link, that is declared as a trigger. It provides a selector to find the dropdown list it should control. - -### Static data[](#static-data "Permalink") - -您可以添加静态列表项. - -``` -<a href="#" data-dropdown-trigger="#list">Toggle</a> - -<ul id="list" data-dropdown> - <li>Static value 1</li> - <li>Static value 2</li> -<ul> -``` - -``` -const droplab = new DropLab(); -droplab.init(); -``` - -### Explicit instantiation[](#explicit-instantiation "Permalink") - -您可以使用`DropLab.prototype.init`方法将 trigger 和 list 元素作为构造函数参数传递,以返回 DropLab 的非全局实例. - -``` -<a href="#" id="trigger" data-dropdown-trigger="#list">Toggle</a> - -<ul id="list" data-dropdown> - <!-- ... --> -<ul> -``` - -``` -const trigger = document.getElementById('trigger'); -const list = document.getElementById('list'); - -const droplab = new DropLab(); -droplab.init(trigger, list); -``` - -您还可以使用`DropLab.prototype.addHook`将挂钩添加到现有的 DropLab 实例. - -``` -<a href="#" data-dropdown-trigger="#auto-dropdown">Toggle</a> -<ul id="auto-dropdown" data-dropdown><!-- ... --><ul> - -<a href="#" id="trigger" data-dropdown-trigger="#list">Toggle</a> -<ul id="list" data-dropdown><!-- ... --><ul> -``` - -``` -const droplab = new DropLab(); - -droplab.init(); - -const trigger = document.getElementById('trigger'); -const list = document.getElementById('list'); - -droplab.addHook(trigger, list); -``` - -### Dynamic data[](#dynamic-data "Permalink") - -将`data-dynamic`添加到下拉元素将启用动态列表呈现. - -您可以使用提供的数据对象的键对列表项进行模板化. 使用车把语法`{{ value }}`使 HTML 转义该值. 使用`<%= value %>`语法可以简单地插值. 使用`<%= value %>`语法评估该值. - -将对象数组传递给`DropLab.prototype.addData`将为该 DropLab 实例跟踪的所有`data-dynamic`下拉列表呈现该数据. - -``` -<a href="#" data-dropdown-trigger="#list">Toggle</a> - -<ul id="list" data-dropdown data-dynamic> - <li><a href="#" data-id="{{id}}">{{text}}</a></li> -</ul> -``` - -``` -const droplab = new DropLab(); - -droplab.init().addData([{ - id: 0, - text: 'Jacob', -}, { - id: 1, - text: 'Jeff', -}]); -``` - -或者,您可以指定一个特定的下拉菜单,以将数据添加到该数据,但将数据作为第二个参数传递,并将 trigger 元素的`id`作为第一个参数传递. - -``` -<a href="#" data-dropdown-trigger="#list" id="trigger">Toggle</a> - -<ul id="list" data-dropdown data-dynamic> - <li><a href="#" data-id="{{id}}">{{text}}</a></li> -</ul> -``` - -``` -const droplab = new DropLab(); - -droplab.init().addData('trigger', [{ - id: 0, - text: 'Jacob', -}, { - id: 1, - text: 'Jeff', -}]); -``` - -这使您可以轻松混合静态和动态内容,即使使用一个触发器也是如此. - -请注意,在有关`data-dropdown`属性的范围内使用范围来捕获两个下拉列表,其中之一是动态的. - -``` -<input id="trigger" data-dropdown-trigger="#list"> -<div id="list" data-dropdown> - <ul> - <li><a href="#">Static item 1</a></li> - <li><a href="#">Static item 2</a></li> - </ul> - <ul data-dynamic> - <li><a href="#" data-id="{{id}}">{{text}}</a></li> - </ul> -</div> -``` - -``` -const droplab = new DropLab(); - -droplab.init().addData('trigger', [{ - id: 0, - text: 'Jacob', -}, { - id: 1, - text: 'Jeff', -}]); -``` - -## Internal selectors[](#internal-selectors "Permalink") - -DropLab 添加了一些 CSS 类,以帮助降低集成的障碍. - -例如: - -* 将`droplab-item-selected` CSS 类添加到通过单击鼠标或 Enter 键选择的项目中. -* 将`droplab-item-active` CSS 类添加到使用箭头键导航选择的项目中. -* 您可以将`droplab-item-ignore` CSS 类添加到您不想选择的任何项目中. 例如,一个不应为交互式的`<li class="divider"></li>`列表分隔符元素. - -## Internal events[](#internal-events "Permalink") - -DropLab 使用一些自定义事件来帮助降低集成障碍. - -例如: - -* 单击`li`列表项时会触发`click.dl`事件. 当使用键盘选择了列表项时,也会触发该事件. 当它也烧`HookButton`按键(注册`button`标签或`a`标签触发). -* 所述`input.dl`当事件被触发`HookInput` (注册`input`标签触发)触发`input`事件. -* 该`mousedown.dl`当事件被触发`HookInput`触发`mousedown`事件. -* 该`keyup.dl`当事件被触发`HookInput`触发`keyup`事件. -* 该`keydown.dl`当事件被触发`HookInput`触发`keydown`事件. - -这些自定义事件将`detail`对象添加到提供一些潜在有用数据的原始`Event`对象. - -## Plugins[](#plugins "Permalink") - -插件是添加钩子后被注册为要执行的对象(实例化 droplab 触发器和下拉菜单时). - -如果未检测到模块 API,则该库将像使用`window.DropLab`那样回退,并添加`window.DropLab.plugins.PluginName` . - -### Usage[](#usage-1 "Permalink") - -要使用插件,您可以将它们作为`DropLab.prototype.init`或`DropLab.prototype.addHook`的第三个参数传递给数组. 一些插件需要配置值,可以将 config 对象作为第四个参数传递. - -``` -<a href="#" id="trigger" data-dropdown-trigger="#list">Toggle</a> -<ul id="list" data-dropdown><!-- ... --><ul> -``` - -``` -const droplab = new DropLab(); - -const trigger = document.getElementById('trigger'); -const list = document.getElementById('list'); - -droplab.init(trigger, list, [droplabAjax], { - droplabAjax: { - endpoint: '/some-endpoint', - method: 'setData', - }, -}); -``` - -### Documentation[](#documentation "Permalink") - -* [Ajax plugin](plugins/ajax.html) -* [Filter plugin](plugins/filter.html) -* [InputSetter plugin](plugins/input_setter.html) - -### Development[](#development "Permalink") - -当为 droplab 触发器+下拉菜单初始化插件时,DropLab 将调用插件的`init`函数,因此必须在插件中实现. - -``` -class MyPlugin { - static init() { - this.someProp = 'someProp'; - this.someMethod(); - } - - static someMethod() { - this.otherProp = 'otherProp'; - } -} - -export default MyPlugin; -``` \ No newline at end of file diff --git a/docs/592.md b/docs/592.md deleted file mode 100644 index 34771b9..0000000 --- a/docs/592.md +++ /dev/null @@ -1,25 +0,0 @@ -# Emojis - -> 原文:[https://docs.gitlab.com/ee/development/fe_guide/emojis.html](https://docs.gitlab.com/ee/development/fe_guide/emojis.html) - -* [How to update Emojis](#how-to-update-emojis) - -# Emojis[](#emojis "Permalink") - -GitLab 支持本机 Unicode 表情符号,当您的平台不支持它时,它有选择地回退到基于图像的表情符号. - -## How to update Emojis[](#how-to-update-emojis "Permalink") - -1. 更新`gemojione`宝石 -2. 从[Gemojione](https://github.com/bonusly/gemojione/blob/master/config/index.json)更新`fixtures/emojis/index.json` [emojis](https://github.com/bonusly/gemojione/blob/master/config/index.json) `fixtures/emojis/index.json` . 将来,我们可以直接从 gem 获取文件. 我们可能应该对 Gemojione 项目进行 PR,以在解析后获得对所有表情符号的访问权,或者仅获取`json`文件本身的原始路径. -3. 确保[`emoji-unicode-version`](https://s0www0npmjs0com.icopy.site/package/emoji-unicode-version)是最新版本. -4. Run `bundle exec rake gemojione:aliases` -5. Run `bundle exec rake gemojione:digests` -6. Run `bundle exec rake gemojione:sprite` -7. 确保为 1x 和 2x 生成新的 Sprite 表 - * `app/assets/images/emoji.png` - * `app/assets/images/emoji@2x.png` -8. 确保您看到新的单个图像复制到`app/assets/images/emoji/` -9. 确保您可以在 GFM 自动完成功能中看到新的表情符号及其别名 -10. 确保您可以在奖励表情符号菜单中看到新的表情符号及其别名 -11. 您可能需要为不支持某些表情符号的平台添加新的表情符号 Unicode 支持检查和规则,我们需要回退到图像. 请参阅`app/assets/javascripts/emoji/support/is_emoji_unicode_supported.js`和`app/assets/javascripts/emoji/support/unicode_support_map.js` \ No newline at end of file diff --git a/docs/593.md b/docs/593.md deleted file mode 100644 index a58e40f..0000000 --- a/docs/593.md +++ /dev/null @@ -1,48 +0,0 @@ -# Filter - -> 原文:[https://docs.gitlab.com/ee/development/fe_guide/droplab/plugins/filter.html](https://docs.gitlab.com/ee/development/fe_guide/droplab/plugins/filter.html) - -* [Usage](#usage) - -# Filter[](#filter "Permalink") - -`Filter`是一个插件,它允许使用简单的模糊字符串搜索输入值来过滤已添加到下拉列表中的数据. - -## Usage[](#usage "Permalink") - -将`Filter`对象添加到`DropLab.prototype.init`或`DropLab.prototype.addHook`调用的插件数组中. - -* `Filter`需要`template`的配置值. -* `template`应该是要与用户输入字符串进行比较以进行过滤的数据数组中对象的键. - -``` -<input href="#" id="trigger" data-dropdown-trigger="#list"> -<ul id="list" data-dropdown data-dynamic> - <li><a href="#" data-id="{{id}}">{{text}}</a></li> -<ul> -``` - -``` -const droplab = new DropLab(); - -const trigger = document.getElementById('trigger'); -const list = document.getElementById('list'); - -droplab.init(trigger, list, [Filter], { - Filter: { - template: 'text', - }, -}); - -droplab.addData('trigger', [{ - id: 0, - text: 'Jacob', -}, { - id: 1, - text: 'Jeff', -}]); -``` - -上面,输入字符串将与传递的数据对象的`test`键进行比较. - -您可以选择将`filterFunction`设置为一个函数. 将使用此函数代替`Filter`的内置字符串搜索. `filterFunction`传递了 2 个参数,第一个是数据对象之一,第二个是当前输入值. \ No newline at end of file diff --git a/docs/594.md b/docs/594.md deleted file mode 100644 index e67f411..0000000 --- a/docs/594.md +++ /dev/null @@ -1,146 +0,0 @@ -# Frontend FAQ - -> 原文:[https://docs.gitlab.com/ee/development/fe_guide/frontend_faq.html](https://docs.gitlab.com/ee/development/fe_guide/frontend_faq.html) - -* [Rules of Frontend FAQ](#rules-of-frontend-faq) -* [FAQ](#faq) - * [1\. How do I find the Rails route for a page?](#1-how-do-i-find-the-rails-route-for-a-page) - * [Check the ‘page’ data attribute](#check-the-page-data-attribute) - * [Rails routes](#rails-routes) - * [2\. `modal_copy_button` vs `clipboard_button`](#2-modal_copy_button-vs-clipboard_button) - * [3\. A `gitlab-ui` component not conforming to Pajamas Design System](#3-a-gitlab-ui-component-not-conforming-to-pajamas-design-system) - * [4\. My submit form button becomes disabled after submitting](#4-my-submit-form-button-becomes-disabled-after-submitting) - * [5\. Should I use a full URL (i.e. `gon.gitlab_url`) or a full path (i.e. `gon.relative_url_root`) when referencing backend endpoints?](#5-should-i-use-a-full-url-ie-gongitlab_url-or-a-full-path-ie-gonrelative_url_root-when-referencing-backend-endpoints) - * [6\. How should the Frontend reference Backend paths?](#6-how-should-the-frontend-reference-backend-paths) - * [7\. How can I test the production build locally?](#7-how-can-i-test-the-production-build-locally) - -# Frontend FAQ[](#frontend-faq "Permalink") - -## Rules of Frontend FAQ[](#rules-of-frontend-faq "Permalink") - -1. **您谈论前端常见问题解答.** 请在适当的情况下共享指向它的链接,以便在内容过时时引起更多关注. -2. **保持简短和简单.** 只要答案需要两个以上的句子,它就不属于这里. -3. **尽可能提供背景.** 链接到相关的源代码,问题/史诗或其他文档有助于理解答案. -4. **如果您看到某些内容,请执行某些操作.** 看到后,请删除或更新任何过时的内容. - -## FAQ[](#faq "Permalink") - -### 1\. How do I find the Rails route for a page?[](#1-how-do-i-find-the-rails-route-for-a-page "Permalink") - -#### Check the ‘page’ data attribute[](#check-the-page-data-attribute "Permalink") - -最简单的方法是在相关页面上的浏览器中键入以下内容: - -``` -document.body.dataset.page -``` - -在此处找到[设置属性](https://gitlab.com/gitlab-org/gitlab/blob/cc5095edfce2b4d4083a4fb1cdc7c0a1898b9921/app/views/layouts/application.html.haml#L4)的[源代码](https://gitlab.com/gitlab-org/gitlab/blob/cc5095edfce2b4d4083a4fb1cdc7c0a1898b9921/app/views/layouts/application.html.haml#L4) . - -#### Rails routes[](#rails-routes "Permalink") - -The `rake routes` command can be used to list all the routes available in the application, piping the output into `grep`, we can perform a search through the list of available routes. The output includes the request types available, route parameters and the relevant controller. - -``` -bundle exec rake routes | grep "issues" -``` - -### 2\. `modal_copy_button` vs `clipboard_button`[](#2-modal_copy_button-vs-clipboard_button "Permalink") - -该`clipboard_button`使用`copy_to_clipboard.js`行为,这是在页面加载初始化,所以如果有不会在页面加载存在(如那些在基于 VUE 剪贴板按钮`GlModal` ),他们没有相关的点击处理程序与剪贴板包. - -添加了`modal_copy_button` ,用于管理特定于该组件实例的[`clipboard`插件](https://s0www0npmjs0com.icopy.site/package/clipboard)的实例,这意味着剪贴板事件在安装时绑定并在按钮按下时销毁,从而减轻了上述问题. 它还具有绑定到可用的特定容器或模式 ID 的功能,以与我们的 GlModal 创建的焦点陷阱一起使用. - -### 3\. A `gitlab-ui` component not conforming to [Pajamas Design System](https://design.gitlab.com/)[](#3-a-gitlab-ui-component-not-conforming-to-pajamas-design-system "Permalink") - -`gitlab-ui`实现的某些[睡衣设计系统](https://design.gitlab.com/)组件不符合设计系统规范,因为它们缺少某些计划的功能或样式尚未正确. 在睡衣网站上,组件示例顶部的标语指示: - -> 该组件尚未符合我们设计系统中定义的正确样式. 引用此组件的外观时,请参考 Design System 文档. - -例如,在撰写本文时,可以针对[所有表单组件](https://design.gitlab.com/components/forms/)观察到这种类型的警告. 但是,这并不意味着不应使用该组件. - -只要有合适的组件,GitLab 都会要求使用`<gl-*>`组件. 它使代码库变得统一,并且将来可以更轻松地进行维护/重构. - -确保[产品设计师](https://about.gitlab.com/company/team/?department=ux-department)在 MR 审查中审查不合格组件的使用. 提出后续问题,并将其附加到" [睡衣设计系统组件"](https://gitlab.com/groups/gitlab-org/-/epics/973)史诗中的组件实现[史诗中](https://gitlab.com/groups/gitlab-org/-/epics/973) . - -### 4\. My submit form button becomes disabled after submitting[](#4-my-submit-form-button-becomes-disabled-after-submitting "Permalink") - -如果在表单内使用提交按钮,并且在表单元素上附加了`onSubmit`事件侦听器,则[这段代码](https://gitlab.com/gitlab-org/gitlab/blob/794c247a910e2759ce9b401356432a38a4535d49/app/assets/javascripts/main.js#L225)将在提交表单时向提交按钮添加一个`disabled`类选择器. 为避免这种情况,请将`js-no-auto-disable`类添加到按钮. - -### 5\. Should I use a full URL (i.e. `gon.gitlab_url`) or a full path (i.e. `gon.relative_url_root`) when referencing backend endpoints?[](#5-should-i-use-a-full-url-ie-gongitlab_url-or-a-full-path-ie-gonrelative_url_root-when-referencing-backend-endpoints "Permalink") - -最好在**完整 URL**上使用**完整路径** ,因为 URL 将使用通过 GitLab 配置的主机名,该主机名可能与请求不匹配. 这将导致[像 Web IDE 这样的 CORS 问题](https://gitlab.com/gitlab-org/gitlab/-/issues/36810) . - -Example: - -``` -// bad :( -// If gitlab is configured with hostname `0.0.0.0` -// This will cause CORS issues if I request from `localhost` -axios.get(joinPaths(gon.gitlab_url, '-', 'foo')) - -// good :) -axios.get(joinPaths(gon.relative_url_root, '-', 'foo')) -``` - -另外,请尽量不要在前端中对路径进行硬编码,而应从后端接收它们(请参阅下一节). 引用后端导轨路径时,请避免使用`*_url` ,而应使用`*_path` . - -Example: - -``` --# Bad :( #js-foo{ data: { foo_url: some_rails_foo_url } } - --# Good :) #js-foo{ data: { foo_path: some_rails_foo_path } } -``` - -### 6\. How should the Frontend reference Backend paths?[](#6-how-should-the-frontend-reference-backend-paths "Permalink") - -我们不希望通过硬编码路径添加额外的耦合. 如果可能,请将这些路径作为数据属性添加到 JavaScript 中引用的 DOM 元素. - -Example: - -``` -// Bad :( -// Here's a Vuex action that hardcodes a path :( -export const fetchFoos = ({ state }) => { - return axios.get(joinPaths(gon.relative_url_root, '-', 'foo')); -}; - -// Good :) -function initFoo() { - const el = document.getElementById('js-foo'); - - // Path comes from our root element's data which is used to initialize the store :) - const store = createStore({ - fooPath: el.dataset.fooPath - }); - - Vue.extend({ - store, - el, - render(h) { - return h(Component); - }, - }); -} - -// Vuex action can now reference the path from its state :) -export const fetchFoos = ({ state }) => { - return axios.get(state.settings.fooPath); -}; -``` - -### 7\. How can I test the production build locally?[](#7-how-can-i-test-the-production-build-locally "Permalink") - -有时有必要在本地测试前端生产版本将产生什么,为此,步骤如下: - -1. 停止 webpack: `gdk stop webpack` . -2. 打开`gitlab.yaml`位于您`gitlab`安装文件夹,向下滚动到`webpack`部分和变化`dev_server`到`enabled: false` . -3. Run `yarn webpack-prod && gdk restart rails-web`. - -生产构建需要几分钟才能完成; 仅在再次执行上面的第 3 项后,此时才会显示任何代码更改. 要返回正常的开发模式: - -1. 打开`gitlab.yaml`位于您`gitlab`安装文件夹,向下滚动到`webpack`部分和变回`dev_server`到`enabled: true` . -2. `yarn clean`以除去生产资产并释放一些空间(可选). -3. 重新启动 webpack: `gdk start webpack` . -4. 重新启动 GDK: `gdk-restart rails-web` . \ No newline at end of file diff --git a/docs/595.md b/docs/595.md deleted file mode 100644 index 97b88ec..0000000 --- a/docs/595.md +++ /dev/null @@ -1,653 +0,0 @@ -# GraphQL - -> 原文:[https://docs.gitlab.com/ee/development/fe_guide/graphql.html](https://docs.gitlab.com/ee/development/fe_guide/graphql.html) - -* [Getting Started](#getting-started) - * [Helpful Resources](#helpful-resources) - * [Libraries](#libraries) - * [Tooling](#tooling) - * [Apollo GraphQL VS Code extension](#apollo-graphql-vs-code-extension) - * [Exploring the GraphQL API](#exploring-the-graphql-api) -* [Apollo Client](#apollo-client) -* [GraphQL Queries](#graphql-queries) - * [Fragments](#fragments) -* [Usage in Vue](#usage-in-vue) - * [Local state with Apollo](#local-state-with-apollo) - * [Mocking API response with local Apollo cache](#mocking-api-response-with-local-apollo-cache) - * [Using with Vuex](#using-with-vuex) - * [Feature flags in queries](#feature-flags-in-queries) - * [Manually triggering queries](#manually-triggering-queries) - * [Working with pagination](#working-with-pagination) - * [Using `fetchMore` method in components](#using-fetchmore-method-in-components) - * [Testing](#testing) - * [Mocking response as component data](#mocking-response-as-component-data) - * [Testing loading state](#testing-loading-state) - * [Testing Apollo components](#testing-apollo-components) -* [Handling errors](#handling-errors) - * [Top-level errors](#top-level-errors) - * [Handling top-level errors](#handling-top-level-errors) - * [Errors-as-data](#errors-as-data) - * [Handling errors-as-data](#handling-errors-as-data) -* [Usage outside of Vue](#usage-outside-of-vue) - -# GraphQL[](#graphql "Permalink") - -## Getting Started[](#getting-started "Permalink") - -### Helpful Resources[](#helpful-resources "Permalink") - -**一般资源**: - -* [📚 Official Introduction to GraphQL](https://s0graphql0org.icopy.site/learn/) -* [📚 Official Introduction to Apollo](https://www.apollographql.com/docs/tutorial/introduction/) - -**GitLab 上的 GraphQL**: - -* [🎬 GitLab Unfiltered GraphQL playlist](https://www.youtube.com/watch?v=wHPKZBDMfxE&list=PL05JrBw4t0KpcjeHjaRMB7IGB2oDWyJzv) -* [GitLab 上的 GraphQL:深潜](../api_graphql_styleguide.html#deep-dive) (视频)作者 Nick Thomas - * GitLab 上 GraphQL 的历史概述(不是特定于前端的) -* [使用 GraphQL 和 Vue Apollo 进行 GitLab 功能演练](https://www.youtube.com/watch?v=6yYp2zB7FrM) (视频),作者 Natalia Tepluhina - * 使用 GraphQL 在 GitLab 中实现前端功能的真实示例 -* [GitLab 上的客户端 GraphQL 的历史](https://www.youtube.com/watch?v=mCKRJxvMnf0) (视频)Illya Klymov 和 Natalia Tepluhina -* Natalia Tepluhina [从 Vuex 到 Apollo](https://www.youtube.com/watch?v=9knwu87IfU8) (视频) - * 关于何时阿波罗可能比 Vuex 更好的选择以及如何进行过渡的有用概述 -* [🛠 Vuex -> Apollo Migration: a proof-of-concept project](https://gitlab.com/ntepluhina/vuex-to-apollo/blob/master/README.md) - * 一系列示例展示了使用 Vue + GraphQL +(Vuex 或 Apollo)应用进行状态管理的可能方法 - -### Libraries[](#libraries "Permalink") - -当使用 GraphQL 进行前端开发时,我们使用[Apollo](https://www.apollographql.com/) (特别是[Apollo Client](https://www.apollographql.com/docs/react/) )和[Vue Apollo](https://github.com/vuejs/vue-apollo) . - -如果在 Vue 应用程序中使用 GraphQL,则" Vue 中的[用法"](#usage-in-vue)部分可以帮助您学习如何集成 Vue Apollo. - -对于其他用例,请查看[Vue 外部](#usage-outside-of-vue)的[用法](#usage-outside-of-vue)部分. - -### Tooling[](#tooling "Permalink") - -* [Apollo Client Devtools](https://github.com/apollographql/apollo-client-devtools) - -#### [Apollo GraphQL VS Code extension](https://marketplace.visualstudio.com/items?itemName=apollographql.vscode-apollo)[](#apollo-graphql-vs-code-extension "Permalink") - -如果使用 VS Code,则 Apollo GraphQL 扩展名支持`.graphql`文件中的自动完成. 若要设置 GraphQL 扩展,请按照下列步骤操作: - -1. 将`apollo.config.js`文件添加到`gitlab`本地目录的根目录中. -2. 用以下内容填充文件: - - ``` - module.exports = { - client: { - includes: ['./app/assets/javascripts/**/*.graphql', './ee/app/assets/javascripts/**/*.graphql'], - service: { - name: 'GitLab', - localSchemaFile: './doc/api/graphql/reference/gitlab_schema.graphql', - }, - }, - }; - ``` - -3. 重新启动 VS Code. - -### Exploring the GraphQL API[](#exploring-the-graphql-api "Permalink") - -我们 GraphQL API 可以通过 GraphiQL 在您的实例的探索`/-/graphql-explorer`或[GitLab.com](https://gitlab.com/-/graphql-explorer) . 如有需要,请查阅《 [GitLab GraphQL API 参考》文档](../../api/graphql/reference) . - -您可以在 GraphiQL 的**文档浏览器**的右侧检查所有现有的查询和变异. 也可以直接在左选项卡上编写查询和变异,然后单击左上角的**执行查询**按钮来检查其执行情况: - -[![GraphiQL interface](img/40cd53294c496a4d049d735386c16649.png)](img/graphiql_explorer_v12_4.png) - -## Apollo Client[](#apollo-client "Permalink") - -为了保存在不同的应用程序中创建的重复客户端,我们使用[默认客户端](https://gitlab.com/gitlab-org/gitlab/blob/master/app/assets/javascripts/lib/graphql.js) . 这将使用正确的 URL 设置 Apollo 客户端,并设置 CSRF 标头. - -默认客户端接受两个参数: `resolvers`和`config` . - -* 创建`resolvers`参数以接受用于[本地状态管理](#local-state-with-apollo)查询和突变的 resolvers 对象 -* `config`参数采用配置设置的对象: - * `cacheConfig`字段接受设置的可选对象以[自定义 Apollo 缓存](https://www.apollographql.com/docs/react/caching/cache-configuration/#configuring-the-cache) - * `baseUrl`允许我们传递与主端点不同的 GraphQL 端点的 URL(即`${gon.relative_url_root}/api/graphql` ) - * `assumeImmutableResults` (默认设置为`false` )-此设置为`true` ,将假定更新 Apollo Cache 时的每个操作都是不可变的. 它还将`freezeResults`设置为`true` ,因此任何尝试`freezeResults` Apollo Cache 的尝试都会在开发环境中引发控制台警告. 在将此选项设置为`true`之前,请确保在缓存更新操作中遵循不变性模式. - -## GraphQL Queries[](#graphql-queries "Permalink") - -为了在运行时保存查询编译,webpack 可以直接导入`.graphql`文件. 这使 webpack 可以在编译时对查询进行预处理,而不是由客户端进行查询的编译. - -为了将查询与突变和片段区分开来,建议使用以下命名约定: - -* `all_users.query.graphql`用于查询; -* `add_user.mutation.graphql`进行突变; -* 片段的`basic_user.fragment.graphql` . - -### Fragments[](#fragments "Permalink") - -[片段](https://s0graphql0org.icopy.site/learn/queries/)是使复杂的 GraphQL 查询更具可读性和可重用性的一种方式. 这是 GraphQL 片段的示例: - -``` -fragment DesignListItem on Design { - id - image - event - filename - notesCount -} -``` - -片段可以存储在单独的文件中,可以导入并用于查询,突变或其他片段. - -``` -#import "./design_list.fragment.graphql" -#import "./diff_refs.fragment.graphql" - -fragment DesignItem on Design { - ...DesignListItem - fullPath - diffRefs { - ...DesignDiffRefs - } -} -``` - -有关片段的更多信息: [GraphQL Docs](https://s0graphql0org.icopy.site/learn/queries/) - -## Usage in Vue[](#usage-in-vue "Permalink") - -要使用 Vue Apollo,请导入[Vue Apollo](https://github.com/vuejs/vue-apollo)插件以及默认客户端. 这应该在安装 Vue 应用程序的同一时间创建. - -``` -import Vue from 'vue'; -import VueApollo from 'vue-apollo'; -import createDefaultClient from '~/lib/graphql'; -Vue.use(VueApollo); - -const apolloProvider = new VueApollo({ - defaultClient: createDefaultClient(), -}); - -new Vue({ - ..., - apolloProvider, - ... -}); -``` - -在[Vue Apollo 文档中](https://vue-apollo.netlify.app/guide/)阅读有关[Vue Apollo 的](https://github.com/vuejs/vue-apollo)更多信息. - -### Local state with Apollo[](#local-state-with-apollo "Permalink") - -创建默认客户端时,可以通过传入 resolvers 对象来使用 Apollo 管理应用程序状态. 设置默认客户端后,可以通过写入缓存来设置默认状态. - -``` -import Vue from 'vue'; -import VueApollo from 'vue-apollo'; -import createDefaultClient from '~/lib/graphql'; -Vue.use(VueApollo); - -const defaultClient = createDefaultClient({ - resolvers: {} -}); - -defaultClient.cache.writeData({ - data: { - user: { - name: 'John', - surname: 'Doe', - age: 30 - }, - }, -}); - -const apolloProvider = new VueApollo({ - defaultClient, -}); -``` - -我们可以使用`@client` Apollo 指令查询本地数据: - -``` -// user.query.graphql - -query User { - user @client { - name - surname - age - } -} -``` - -除了创建本地数据,我们还可以使用`@client`字段扩展现有的 GraphQL 类型. 当我们需要为尚未添加到 GraphQL API 中的字段模拟 API 响应时,这非常有用. - -#### Mocking API response with local Apollo cache[](#mocking-api-response-with-local-apollo-cache "Permalink") - -当我们需要在本地模拟某些 GraphQL API 响应,查询或变异时(例如,当它们仍未添加到我们的实际 API 中时),使用本地 Apollo 缓存非常方便. - -例如,我们在查询中使用了有关`DesignVersion`的[片段](#fragments) : - -``` -fragment VersionListItem on DesignVersion { - id - sha -} -``` - -我们还需要获取版本作者和'created at'属性,以在版本下拉列表中显示它们,但这些更改仍未在我们的 API 中实现. 我们可以更改现有片段,以针对这些新字段获得模拟的响应: - -``` -fragment VersionListItem on DesignVersion { - id - sha - author @client { - avatarUrl - name - } - createdAt @client -} -``` - -现在,Apollo 将尝试为每个标有`@client`指令的字段查找*解析器* . 让我们为`DesignVersion`类型创建一个解析器(为什么要使用`DesignVersion` ?,因为我们的片段是在这种类型上创建的). - -``` -// resolvers.js - -const resolvers = { - DesignVersion: { - author: () => ({ - avatarUrl: - 'https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon', - name: 'Administrator', - __typename: 'User', - }), - createdAt: () => '2019-11-13T16:08:11Z', - }, -}; - -export default resolvers; -``` - -我们需要将解析器对象传递给我们现有的 Apollo Client: - -``` -// graphql.js - -import createDefaultClient from '~/lib/graphql'; -import resolvers from './graphql/resolvers'; - -const defaultClient = createDefaultClient( - {}, - resolvers, -); -``` - -现在,每次尝试获取版本时,我们的客户端都会从远程 API 端点获取`id`和`sha` ,并将我们的硬编码值分配给`author`和`createdAt`版本属性. 有了这些数据,前端开发人员就可以在 UI 部件上工作,而不会被后端阻塞. 将实际响应添加到 API 后,可以快速删除自定义本地解析器,并且对查询/片段的唯一更改是`@client`指令删除. - -在[Vue Apollo 文档中](https://vue-apollo.netlify.app/guide/local-state.html#local-state)阅读有关使用 Apollo 进行本地状态管理的更多信息. - -### Using with Vuex[](#using-with-vuex "Permalink") - -When Apollo Client is used within Vuex and fetched data is stored in the Vuex store, there is no need in keeping Apollo Client cache enabled. Otherwise we would have data from the API stored in two places - Vuex store and Apollo Client cache. More to say, with Apollo’s default settings, a subsequent fetch from the GraphQL API could result in fetching data from Apollo cache (in the case where we have the same query and variables). To prevent this behavior, we need to disable Apollo Client cache passing a valid `fetchPolicy` option to its constructor: - -``` -import fetchPolicies from '~/graphql_shared/fetch_policy_constants'; - -export const gqClient = createGqClient( - {}, - { - fetchPolicy: fetchPolicies.NO_CACHE, - }, -); -``` - -### Feature flags in queries[](#feature-flags-in-queries "Permalink") - -有时在 GraphQL 查询中的功能标志后面放置一个实体可能会很有用. 例如,当处理后端已经合并但前端没有合并的功能时,您可能希望将 GraphQL 实体放在功能标记后面,以允许创建和合并较小的合并请求. - -为此, `if`语句通过,我们可以使用`@include`指令排除实体. - -``` -query getAuthorData($authorNameEnabled: Boolean = false) { username name @include(if: $authorNameEnabled) } -``` - -然后,在对查询的 Vue(或 JavaScript)调用中,我们可以传递功能标记. 此功能标志将需要已经正确设置. 有关正确方法,请参阅[功能部件标志文档](../feature_flags/development.html) . - -``` -export default { - apollo: { - user: { - query: QUERY_IMPORT, - variables() { - return { - authorNameEnabled: gon?.features?.authorNameEnabled, - }; - }, - } - }, -}; -``` - -### Manually triggering queries[](#manually-triggering-queries "Permalink") - -创建组件时,将自动对组件的`apollo`属性进行查询. 某些组件反而希望按需发出网络请求,例如,带有延迟加载项的下拉列表. - -有两种方法可以做到这一点: - -1. Use the `skip` property - -``` -export default { - apollo: { - user: { - query: QUERY_IMPORT, - skip() { - // only make the query when dropdown is open - return !this.isOpen; - }, - } - }, -}; -``` - -1. Using `addSmartQuery` - -您可以在您的方法中手动创建智能查询. - -``` -handleClick() { - this.$apollo.addSmartQuery('user', { - // this takes the same values as you'd have in the `apollo` section - query: QUERY_IMPORT, - }), -}; -``` - -### Working with pagination[](#working-with-pagination "Permalink") - -GitLab 的 GraphQL API 对连接类型使用[中继样式的游标分页](https://www.apollographql.com/docs/react/data/pagination/#cursor-based) . 这意味着使用"游标"来跟踪应从中提取下一项的数据集中的位置. [GraphQL Ruby Connection Concepts](https://graphql-ruby.org/pagination/connection_concepts.html)是对连接的良好概述和介绍. - -每个连接类型(例如`DesignConnection`和`DiscussionConnection` )都有一个字段`pageInfo` ,其中包含分页所需的信息: - -``` -pageInfo { - endCursor - hasNextPage - hasPreviousPage - startCursor -} -``` - -Here: - -* `startCursor`和`endCursor`显示第一项和最后一项的光标. -* `hasPreviousPage`和`hasNextPage`允许我们检查当前页面之前或之后是否还有更多页面可用. - -当我们以连接类型获取数据时,我们可以`before`参数的`after`或`before`传递游标,以指示分页的起点或终点. 应该分别在它们的后跟`first`或`last`参数,以指示我们要在给定端点之后或之前获取*多少个*项目. - -例如,这里我们在光标之后获取 10 个设计: - -``` -query { - project(fullPath: "root/my-project") { - id - issue(iid: "42") { - designCollection { - designs(atVersion: null, after: "Ihwffmde0i", first: 10) { - edges { - node { - id - } - } - } - } - } - } -} -``` - -#### Using `fetchMore` method in components[](#using-fetchmore-method-in-components "Permalink") - -进行初始抓取时,我们通常希望从头开始进行分页. 在这种情况下,我们可以: - -* 跳过传递光标. -* 将`null`明确传递给`after` . - -提取数据后,我们应该保存一个`pageInfo`对象. 假设我们将其存储到 Vue 组件`data` : - -``` -data() { - return { - pageInfo: null, - } -}, -apollo: { - designs: { - query: projectQuery, - variables() { - return { - // rest of design variables - ... - first: 10, - }; - }, - result(res) { - this.pageInfo = res.data?.project?.issue?.designCollection?.designs?.pageInfo; - }, - }, -}, -``` - -当我们想移至下一页时,我们使用 Apollo `fetchMore`方法,在该方法中传递一个新的游标(以及可选的新变量). 在`updateQuery`挂钩中,我们必须在获取下一页之后返回要在 Apollo 缓存中看到的结果. - -``` -fetchNextPage() { - // as a first step, we're checking if we have more pages to move forward - if (this.pageInfo?.hasNextPage) { - this.$apollo.queries.designs.fetchMore({ - variables: { - // rest of design variables - ... - first: 10, - after: this.pageInfo?.endCursor, - }, - updateQuery(previousResult, { fetchMoreResult }) { - // here we can implement the logic of adding new designs to fetched one (for example, if we use infinite scroll) - // or replacing old result with the new one if we use numbered pages - - const newDesigns = fetchMoreResult.project.issue.designCollection.designs; - previousResult.project.issue.designCollection.designs.push(...newDesigns) - - return previousResult; - }, - }); - } -} -``` - -请注意,我们不必再保存`pageInfo`了; `fetchMore`触发查询`result`挂钩. - -### Testing[](#testing "Permalink") - -#### Mocking response as component data[](#mocking-response-as-component-data "Permalink") - -使用[Vue 测试工具](https://vue-test-utils.vuejs.org/) ,可以轻松快速地测试获取 GraphQL 查询的组件. 最简单的方法是使用`shallowMount` ,然后在组件上设置数据 - -``` -it('tests apollo component', () => { - const vm = shallowMount(App); - - vm.setData({ - ...mock data - }); -}); -``` - -#### Testing loading state[](#testing-loading-state "Permalink") - -如果需要测试当 GraphQL API 的结果仍在加载时组件的呈现方式,我们可以将加载状态模拟到相应的 Apollo 查询/突变中: - -``` - function createComponent({ - loading = false, - } = {}) { - const $apollo = { - queries: { - designs: { - loading, - }, - }; - - wrapper = shallowMount(Index, { - sync: false, - mocks: { $apollo } - }); - } - - it('renders loading icon', () => { - createComponent({ loading: true }); - - expect(wrapper.element).toMatchSnapshot(); -}) -``` - -#### Testing Apollo components[](#testing-apollo-components "Permalink") - -如果我们在组件中使用`ApolloQuery`或`ApolloMutation` ,为了测试其功能,我们需要先添加一个存根: - -``` -import { ApolloMutation } from 'vue-apollo'; - -function createComponent(props = {}) { - wrapper = shallowMount(MyComponent, { - sync: false, - propsData: { - ...props, - }, - stubs: { - ApolloMutation, - }, - }); -} -``` - -`ApolloMutation`组件通过作用域插槽公开了`mutate`方法. 如果要测试此方法,则需要将其添加到模拟中: - -``` -const mutate = jest.fn().mockResolvedValue(); -const $apollo = { - mutate, -}; - -function createComponent(props = {}) { - wrapper = shallowMount(MyComponent, { - sync: false, - propsData: { - ...props, - }, - stubs: { - ApolloMutation, - }, - mocks: { - $apollo: - } - }); -} -``` - -然后我们可以检查是否使用正确的变量调用了`mutate` : - -``` -const mutationVariables = { - mutation: createNoteMutation, - update: expect.anything(), - variables: { - input: { - noteableId: 'noteable-id', - body: 'test', - discussionId: '0', - }, - }, -}; - -it('calls mutation on submitting form ', () => { - createComponent() - findReplyForm().vm.$emit('submitForm'); - - expect(mutate).toHaveBeenCalledWith(mutationVariables); -}); -``` - -## Handling errors[](#handling-errors "Permalink") - -目前,GitLab 的 GraphQL 突变具有两种不同的错误模式: [顶级](#top-level-errors)和[数据错误](#errors-as-data) . - -利用 GraphQL 突变时,我们必须考虑处理**这两种错误模式,**以确保用户在发生错误时能够收到适当的反馈. - -### Top-level errors[](#top-level-errors "Permalink") - -这些错误位于 GraphQL 响应的"顶级". 这些是不可恢复的错误,包括参数错误和语法错误,因此不应直接呈现给用户. - -#### Handling top-level errors[](#handling-top-level-errors "Permalink") - -Apollo 意识到顶级错误,因此我们能够利用 Apollo 的各种错误处理机制来处理这些错误(例如,在调用[`mutate`](https://www.apollographql.com/docs/react/api/apollo-client/#ApolloClient.mutate)方法之后处理 Promise 拒绝,或处理从[`ApolloMutation`](https://apollo.vuejs.org/api/apollo-mutation.html#events)组件发出的`error`事件). - -由于这些错误不是针对用户的,因此应在客户端定义顶级错误的错误消息. - -### Errors-as-data[](#errors-as-data "Permalink") - -这些错误嵌套在 GraphQL 响应的`data`对象中. 这些是可恢复的错误,理想情况下,可以直接向用户显示. - -#### Handling errors-as-data[](#handling-errors-as-data "Permalink") - -首先,我们必须向我们的变异对象添加`errors` : - -``` -mutation createNoteMutation($input: String!) { - createNoteMutation(input: $input) { - note { - id -+ errors - } - } -``` - -现在,当我们提交此突变并发生错误时,响应中将包含`errors`供我们处理: - -``` -{ - data: { - mutationName: { - errors: ["Sorry, we were not able to update the note."] - } - } -} -``` - -处理数据错误时,请根据您的最佳判断来确定是将错误消息显示在响应中,还是将另一条客户端定义的消息显示给用户. - -## Usage outside of Vue[](#usage-outside-of-vue "Permalink") - -通过直接导入默认客户端并将其与查询一起使用,还可以在 Vue 之外使用 GraphQL. - -``` -import createDefaultClient from '~/lib/graphql'; -import query from './query.graphql'; - -const defaultClient = createDefaultClient(); - -defaultClient.query({ query }) - .then(result => console.log(result)); -``` - -[使用 Vuex 时](#Using-with-Vuex) ,在以下情况下禁用缓存: - -* 数据正在其他地方缓存 -* 如果数据正在其他地方缓存,或者对于给定的用例完全不需要,则用例不需要缓存. - -``` -import createDefaultClient from '~/lib/graphql'; -import fetchPolicies from '~/graphql_shared/fetch_policy_constants'; - -const defaultClient = createDefaultClient( - {}, - { - fetchPolicy: fetchPolicies.NO_CACHE, - }, -); -``` \ No newline at end of file diff --git a/docs/596.md b/docs/596.md deleted file mode 100644 index 872580e..0000000 --- a/docs/596.md +++ /dev/null @@ -1,117 +0,0 @@ -# Icons and SVG Illustrations - -> 原文:[https://docs.gitlab.com/ee/development/fe_guide/icons.html](https://docs.gitlab.com/ee/development/fe_guide/icons.html) - -* [Icons](#icons) - * [Usage in HAML/Rails](#usage-in-hamlrails) - * [Usage in Vue](#usage-in-vue) - * [Usage in HTML/JS](#usage-in-htmljs) -* [SVG Illustrations](#svg-illustrations) - * [Usage in HAML/Rails](#usage-in-hamlrails-1) - * [Usage in Vue](#usage-in-vue-1) - -# Icons and SVG Illustrations[](#icons-and-svg-illustrations "Permalink") - -我们在[`gitlab-svgs`](https://gitlab.com/gitlab-org/gitlab-svgs)存储库中管理自己的图标和插图库. 该存储库在[npm](https://s0www0npmjs0com.icopy.site/package/@gitlab/svgs)上发布,并通过 yarn 作为依赖项进行管理. 您可以[在此处](https://gitlab-org.gitlab.io/gitlab-svgs)浏览所有可用的图标和插图. 要升级到新版本,请运行`yarn upgrade @gitlab/svgs` . - -## Icons[](#icons "Permalink") - -我们正在 GitLab 中使用 SVG Sprite 使用 SVG 图标. 这意味着图标仅加载一次,并通过 ID 进行引用. 子画面 SVG 位于`/assets/icons.svg`下. - -我们的目标是一一替换所有内联 SVG 图标(如目前已膨胀的 HTML)以及所有 Font Awesome 图标. - -### Usage in HAML/Rails[](#usage-in-hamlrails "Permalink") - -要在 HAML 或 Rails 中使用精灵图标,我们使用特定的辅助函数: - -``` -sprite_icon(icon_name, size: nil, css_class: '') -``` - -* **icon_name**使用可以在 SVG Sprite 中找到的 icon_name( [此处提供概述](https://gitlab-org.gitlab.io/gitlab-svgs) ). -* **size(可选)**使用以下大小之一: `s16` (将被翻译成`s16`类) -* **css_class(可选)**如果要添加其他 CSS 类 - -**Example** - -``` -= sprite_icon('issues', size: 72, css_class: 'icon-danger') -``` - -**上面示例的输出** - -``` -<svg class="s72 icon-danger"> - <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/icons.svg#issues"></use> -</svg> -``` - -### Usage in Vue[](#usage-in-vue "Permalink") - -我们的组件库[GitLab UI](https://gitlab-org.gitlab.io/gitlab-ui/)提供了一个用于显示精灵图标的组件. - -样品用法: - -``` -<script> -import { GlIcon } from "@gitlab/ui"; - -export default { - components: { - GlIcon, - }, -}; -<script> - -<template> - <gl-icon - name="issues" - :size="24" - class="class-name" - /> -</template> -``` - -* **name** SVG Sprite 中图标的名称( [此处提供概述](https://gitlab-org.gitlab.io/gitlab-svgs) ). -* **size(可选)** ,然后将大小的数字值映射到特定的 CSS 类(可用大小: `sXX`映射到`sXX` CSS 类) -* **class(可选)**要添加到 SVG 标签的其他 CSS 类. - -### Usage in HTML/JS[](#usage-in-htmljs "Permalink") - -请在 JS 中使用以下函数来呈现图标: `gl.utils.spriteIcon(iconName)` - -## SVG Illustrations[](#svg-illustrations "Permalink") - -从现在开始,对于任何基于 SVG 的插图,请使用简单的`img`标签来显示插图,只需使用`image_tag`或`image_path`帮助器即可. 请使用周围的`svg-content`类,以确保呈现效果良好. - -### Usage in HAML/Rails[](#usage-in-hamlrails-1 "Permalink") - -**Example** - -``` -.svg-content - = image_tag 'illustrations/merge_requests.svg' -``` - -### Usage in Vue[](#usage-in-vue-1 "Permalink") - -要在模板中使用 SVG 插图,请将路径作为属性提供,并通过标准`img`标签显示它. - -Component: - -``` -<script> -export default { - props: { - svgIllustrationPath: { - type: String, - required: true, - }, - }, -}; -<script> - -<template> - <img :src="svgIllustrationPath" /> -</template> -``` \ No newline at end of file diff --git a/docs/597.md b/docs/597.md deleted file mode 100644 index 4c17590..0000000 --- a/docs/597.md +++ /dev/null @@ -1,62 +0,0 @@ -# InputSetter - -> 原文:[https://docs.gitlab.com/ee/development/fe_guide/droplab/plugins/input_setter.html](https://docs.gitlab.com/ee/development/fe_guide/droplab/plugins/input_setter.html) - -* [Usage](#usage) - -# InputSetter[](#inputsetter "Permalink") - -`InputSetter`是一个插件,当单击列表项时,该插件允许在 droplab 范围之外更新 DOM. - -## Usage[](#usage "Permalink") - -将`InputSetter`对象添加到`DropLab.prototype.init`或`DropLab.prototype.addHook`调用的插件数组中. - -* `InputSetter`需要`input`和`valueAttribute`的配置值. -* `input`应该是要操作的 DOM 元素. -* `valueAttribute`应该是一个字符串,它是列表项上属性的名称,用于获取用于更新`input`元素的值. - -您还可以将`InputSetter`配置设置为对象数组,这将允许您更新多个元素. - -``` -<input id="input" value=""> -<div id="div" data-selected-id=""></div> - -<input href="#" id="trigger" data-dropdown-trigger="#list"> -<ul id="list" data-dropdown data-dynamic> - <li><a href="#" data-id="{{id}}">{{text}}</a></li> -<ul> -``` - -``` -const droplab = new DropLab(); - -const trigger = document.getElementById('trigger'); -const list = document.getElementById('list'); - -const input = document.getElementById('input'); -const div = document.getElementById('div'); - -droplab.init(trigger, list, [InputSetter], { - InputSetter: [{ - input: input, - valueAttribute: 'data-id', - } { - input: div, - valueAttribute: 'data-id', - inputAttribute: 'data-selected-id', - }], -}); - -droplab.addData('trigger', [{ - id: 0, - text: 'Jacob', -}, { - id: 1, - text: 'Jeff', -}]); -``` - -上方,如果第二个列表项被单击,它将更新`#input`元素的`value` `1` ,还将更新`#div`元素的`data-selected-id`到`1` . - -(可选)您可以将`inputAttribute`设置为一个字符串,该字符串是您要更新的`input`元素上的属性的名称. 如果你不提供`inputAttribute` , `InputSetter`将更新`value`的的`input` ,如果它是一个元素`INPUT`元素,或者`textContent`的的`input`因素,如果它不是一个`INPUT`元素. \ No newline at end of file diff --git a/docs/598.md b/docs/598.md deleted file mode 100644 index f1e2cc8..0000000 --- a/docs/598.md +++ /dev/null @@ -1,120 +0,0 @@ -# Performance - -> 原文:[https://docs.gitlab.com/ee/development/fe_guide/performance.html](https://docs.gitlab.com/ee/development/fe_guide/performance.html) - -* [Best Practices](#best-practices) - * [Realtime Components](#realtime-components) - * [Lazy Loading Images](#lazy-loading-images) - * [Animations](#animations) -* [Reducing Asset Footprint](#reducing-asset-footprint) - * [Universal code](#universal-code) - * [Page-specific JavaScript](#page-specific-javascript) - * [Important Considerations](#important-considerations) - * [Code Splitting](#code-splitting) - * [Minimizing page size](#minimizing-page-size) -* [Additional Resources](#additional-resources) - -# Performance[](#performance "Permalink") - -## Best Practices[](#best-practices "Permalink") - -### Realtime Components[](#realtime-components "Permalink") - -在为实时功能编写代码时,我们必须牢记以下几点: - -1. 不要使服务器超载请求. -2. 它应该是实时的. - -因此,我们必须在发送请求和实时感之间取得平衡. 创建实时解决方案时,请使用以下规则. - -1. 服务器将通过在标头中发送`Poll-Interval`来告诉您要轮询多少. 使用它作为轮询间隔. 这样[,系统管理员](../../administration/polling.html)就可以[轻松更改轮询速率](../../administration/polling.html) . `Poll-Interval: -1`表示您应禁用轮询,并且必须实施轮询. -2. HTTP 状态不同于 2XX 的响应也应禁用轮询. -3. 使用公共库进行轮询. -4. 仅对活动的选项卡进行轮询. 请使用" [可见性"](https://github.com/ai/visibilityjs) . -5. 使用常规的轮询间隔,不要使用退避轮询或抖动,因为间隔将由服务器控制. -6. 后端代码很可能将使用 etags. 您不会也不应检查状态`304 Not Modified` . 浏览器将为您进行转换. - -### Lazy Loading Images[](#lazy-loading-images "Permalink") - -为了缩短首次渲染的时间,我们对图像使用了延迟加载. 这是通过在`data-src`属性上设置实际图像源来实现的. 渲染 HTML 并加载 JavaScript 后,如果图像在当前视口中,则`data-src`的值将自动移至`src` . - -* 通过将`src`属性重命名为`data-src`并添加类`lazy`来准备 HTML 中的图像以进行延迟加载. -* 如果您使用的是 Rails `image_tag`帮助器,则默认情况下将延迟加载所有图像,除非提供了`lazy: false` . - -如果要异步添加包含惰性图像的内容,则需要调用函数`gl.lazyLoader.searchLazyImages()` ,它将搜索惰性图像并在需要时加载它们. 但通常应通过延迟加载功能中的`MutationObserver`自动处理它. - -### Animations[](#animations "Permalink") - -仅设置动画`opacity`和`transform`属性. 其他属性(例如`top` , `left` , `margin`和`padding` )都导致重新计算 Layout,这要昂贵得多. 有关详细信息,请参见《 [高性能动画](https://www.html5rocks.com/en/tutorials/speed/high-performance-animations/) 》中的"影响布局的样式". - -如果*确实*需要更改布局(例如,将主要内容压入的侧边栏),则最好使用[FLIP](https://aerotwist.com/blog/flip-your-animations/)一次更改昂贵的属性,并使用转换处理实际动画. - -## Reducing Asset Footprint[](#reducing-asset-footprint "Permalink") - -### Universal code[](#universal-code "Permalink") - -`main.js`和`commons/index.js`中包含的代码将加载并在*所有*页面上运行. 除非*在任何地方*确实需要,否则**请勿**在这些文件中**添加**任何内容. 这些捆绑软件包括无处不在的库,例如`vue` , `axios`和`jQuery` ,以及用于主导航和侧边栏的代码. 我们应该尽可能地从这些捆绑软件中删除模块,以减少代码占用量. - -### Page-specific JavaScript[](#page-specific-javascript "Permalink") - -Webpack 已配置为根据`app/assets/javascripts/pages/*`的文件结构自动生成入口点捆绑包. `pages`目录中的目录对应于 Rails 控制器和操作. 这些自动生成的捆绑包将自动包含在相应的页面中. - -例如,如果要访问[https://gitlab.com/gitlab-org/gitlab/-/issues](https://gitlab.com/gitlab-org/gitlab/-/issues) ,则将使用`index`操作访问`app/controllers/projects/issues_controller.rb`控制器. 如果相应的文件位于`pages/projects/issues/index/index.js` ,它将被编译成一个 webpack 包并包含在页面中. - -**注意:**以前我们鼓励在 haml 文件中使用`content_for :page_specific_javascripts`以及手动生成的 webpack 捆绑包. 但是,在此新系统下,您永远不需要手动将入口点添加到`webpack.config.js`文件中.**提示:**如果不确定与给定页面对应的控制器和动作,可以通过在 GitLab 内任何页面上的浏览器开发人员控制台中检查`document.body.dataset.page`来找到. - -#### Important Considerations[](#important-considerations "Permalink") - -* **保持精简入口点:**页面专用的 JavaScript 入口点应尽可能精简. 这些文件免于单元测试,应主要用于实例化和依赖项,这些类和方法驻留在入口点脚本之外的模块中. 只需导入,读取 DOM,实例化,仅此而已. - -* **入口点可能是异步的:** *不要*假设运行入口点脚本时 DOM 已完全加载并且可用. 如果需要在 DOM 加载后运行某些代码,则应使用以下命令将事件处理程序附加到`DOMContentLoaded`事件: - - ``` - import initMyWidget from './my_widget'; - - document.addEventListener('DOMContentLoaded', () => { - initMyWidget(); - }); - ``` - -* **支持模块放置:** - * 如果类或模块*特定于特定路由* ,请尝试将其定位在将要使用的入口点附近. 例如,如果`my_widget.js`仅在`pages/widget/show/index.js`导入,则应将模块放在`pages/widget/show/my_widget.js` ,并使用相对路径`import initMyWidget from './my_widget';` (例如, `import initMyWidget from './my_widget';` ). - * 如果一个类或模块被*多个路由使用* ,请将其放置在最接近的公共父目录的共享目录中,以作为导入它的入口点. 例如,如果将`my_widget.js`导入到`pages/widget/show/index.js`和`pages/widget/run/index.js`两者中,则将模块放置在`pages/widget/shared/my_widget.js` ,并使用相对路径(例如`../shared/my_widget` ). -* **企业版警告:**对于 GitLab 企业版,特定于页面的入口点将覆盖具有相同名称的社区版对应点,因此,如果存在`ee/app/assets/javascripts/pages/foo/bar/index.js` ,它将具有优先权在`app/assets/javascripts/pages/foo/bar/index.js` . 如果要减少重复的代码,可以从另一个导入一个入口点. 不会自动完成此操作,以允许在覆盖功能方面具有灵活性. - -### Code Splitting[](#code-splitting "Permalink") - -对于不需要在页面加载后立即运行的任何代码(例如,模态,下拉列表和其他可以延迟加载的行为),您可以使用动态 import 语句将模块拆分为异步块. 这些导入返回一个 Promise,一旦脚本被加载,它将被解决: - -``` -import(/* webpackChunkName: 'emoji' */ '~/emoji') - .then(/* do something */) - .catch(/* report error */) -``` - -生成这些动态导入时,请尝试使用`webpackChunkName` ,因为它将为块提供确定性的文件名,然后可以将其缓存在 GitLab 版本中的浏览器中. - -更多信息,请参见[webpack 的代码拆分文档](https://webpack.js.org/guides/code-splitting/#dynamic-imports) . - -### Minimizing page size[](#minimizing-page-size "Permalink") - -较小的页面大小意味着页面加载速度更快(在移动连接和连接不良时尤其重要),浏览器可以更快地解析页面,并且数据流量上限的用户使用的数据更少. - -一般提示: - -* 不要添加新字体. -* Prefer font formats with better compression, e.g. WOFF2 is better than WOFF, which is better than TTF. -* 尽可能压缩和缩小资产(对于 CSS / JS,Sprockets 和 webpack 可以为我们完成此工作). -* 如果可以在不添加额外库的情况下合理地实现某些功能,请避免使用它们. -* 如上所述,使用特定于页面的 JavaScript 加载仅在某些页面上需要的库. -* 尽可能使用代码拆分动态导入来延迟加载最初不需要的代码. -* [High Performance Animations](https://www.html5rocks.com/en/tutorials/speed/high-performance-animations/) - -* * * - -## Additional Resources[](#additional-resources "Permalink") - -* [WebPage Test,](https://www.webpagetest.org)用于测试网站的加载时间和大小. -* [Google PageSpeed Insights 对](https://developers.google.com/speed/pagespeed/insights/)网页进行评分,并提供反馈意见以改善网页. -* [Profiling with Chrome DevTools](https://developers.google.com/web/tools/chrome-devtools/) -* [Browser Diet](https://browserdiet.com/)是社区构建的指南,其中列出了一些实用技巧,以提高网页性能. \ No newline at end of file diff --git a/docs/599.md b/docs/599.md deleted file mode 100644 index 49eaf15..0000000 --- a/docs/599.md +++ /dev/null @@ -1,23 +0,0 @@ -# Principles - -> 原文:[https://docs.gitlab.com/ee/development/fe_guide/principles.html](https://docs.gitlab.com/ee/development/fe_guide/principles.html) - -* [Discuss architecture before implementation](#discuss-architecture-before-implementation) -* [Be consistent](#be-consistent) -* [Improve code iteratively](#improve-code-iteratively) - -# Principles[](#principles "Permalink") - -这些原则将确保您的前端贡献从正确的方向开始. - -## Discuss architecture before implementation[](#discuss-architecture-before-implementation "Permalink") - -在编写代码之前,请先讨论您的体系结构设计问题. 这有助于减少审阅时间,也为编写和思考系统设计提供了良好的实践. - -## Be consistent[](#be-consistent "Permalink") - -有多种编写代码以实现相同结果的方法. 我们应该在代码库中编写代码的方式尽可能保持一致. 这将使我们更轻松地在整个 GitLab 中维护代码. - -## Improve code [iteratively](https://about.gitlab.com/handbook/values/#iteration)[](#improve-code-iteratively "Permalink") - -每当您看到不符合我们当前样式指南的现有代码时,请主动进行更新. 您不需要修复所有问题,但是每个合并请求都应迭代地改进我们的代码库,并在可能的情况下减少技术负担. \ No newline at end of file diff --git a/docs/600.md b/docs/600.md deleted file mode 100644 index fb2864f..0000000 --- a/docs/600.md +++ /dev/null @@ -1,25 +0,0 @@ -# Security - -> 原文:[https://docs.gitlab.com/ee/development/fe_guide/security.html](https://docs.gitlab.com/ee/development/fe_guide/security.html) - -* [Resources](#resources) -* [Including external resources](#including-external-resources) -* [Avoiding inline scripts and styles](#avoiding-inline-scripts-and-styles) - -# Security[](#security "Permalink") - -## Resources[](#resources "Permalink") - -[Mozilla 的 HTTP Observatory CLI](https://github.com/mozilla/http-observatory-cli)和[Qualys SSL Labs Server Test](https://www.ssllabs.com/ssltest/analyze.html)是发现潜在问题并确保遵守安全最佳实践的良好资源. - -## Including external resources[](#including-external-resources "Permalink") - -除 Google Analytics(分析)和 Piwik 外,切勿使用外部字体,CSS 和 JavaScript-仅在实例启用它时才可以使用. 资产应始终从 GitLab 实例本地托管和服务. 威盛嵌入式资源`iframes`不应该只是在某些情况下,如与验证码,不能没有使用使用`iframe` . - -## Avoiding inline scripts and styles[](#avoiding-inline-scripts-and-styles "Permalink") - -为了保护用户免受[XSS 漏洞的侵害](https://en.wikipedia.org/wiki/Cross-site_scripting) ,将来我们将使用内容安全策略禁用内联脚本. - -尽管内联脚本可能很有用,但它们也是安全问题. 如果无意中对用户提供的内容进行了未经消毒的处理,则恶意用户可以将脚本注入 Web 应用程序. - -几乎在所有情况下都应避免使用内联样式,只有在找不到替代方法时才应使用内联样式. 这允许样式的可重用性以及可读性. \ No newline at end of file diff --git a/docs/601.md b/docs/601.md deleted file mode 100644 index 65faced..0000000 --- a/docs/601.md +++ /dev/null @@ -1 +0,0 @@ -> 原文:[https://docs.gitlab.com/ee/development/fe_guide/testing.html](https://docs.gitlab.com/ee/development/fe_guide/testing.html) \ No newline at end of file diff --git a/docs/602.md b/docs/602.md deleted file mode 100644 index 7498f0f..0000000 --- a/docs/602.md +++ /dev/null @@ -1,210 +0,0 @@ -# Tooling - -> 原文:[https://docs.gitlab.com/ee/development/fe_guide/tooling.html](https://docs.gitlab.com/ee/development/fe_guide/tooling.html) - -* [ESLint](#eslint) - * [Yarn Script](#yarn-script) - * [Disabling ESLint in new files](#disabling-eslint-in-new-files) - * [Disabling ESLint for a single violation](#disabling-eslint-for-a-single-violation) - * [The `no-undef` rule and declaring globals](#the-no-undef-rule-and-declaring-globals) -* [Formatting with Prettier](#formatting-with-prettier) - * [Editor](#editor) - * [Yarn Script](#yarn-script-1) - * [Scripts during Conversion period](#scripts-during-conversion-period) - * [VSCode Settings](#vscode-settings) - * [Select Prettier as default formatter](#select-prettier-as-default-formatter) - * [Format on Save](#format-on-save) - -# Tooling[](#tooling "Permalink") - -## ESLint[](#eslint "Permalink") - -我们使用 ESLint 封装和执行前端代码标准. 我们的配置可以在[`gitlab-eslint-config`](https://gitlab.com/gitlab-org/gitlab-eslint-config)项目中找到. - -### Yarn Script[](#yarn-script "Permalink") - -本节介绍可用于验证的脚本,并使用 ESLint 将自动修复应用于文件. - -要使用 ESLint 检查所有当前暂存的文件(基于`git diff` ),请运行以下脚本: - -``` -yarn eslint-staged -``` - -*找到的问题列表将记录到控制台.* - -要将自动 ESLint 修复应用于所有当前暂存的文件(基于`git diff` ),请运行以下脚本: - -``` -yarn eslint-staged-fix -``` - -*If manual changes are required, a list of changes will be sent to the console.* - -要使用 ESLint 检查存储库中的**所有**文件,请运行以下脚本: - -``` -yarn eslint -``` - -*找到的问题列表将记录到控制台.* - -要将自动 ESLint 修复应用于存储库中的**所有**文件,请运行以下脚本: - -``` -yarn eslint-fix -``` - -*如果需要手动更改,则会将更改列表发送到控制台.* - -**警告:**限制使用全局规则更新. 否则,更改可能导致巨大的合并请求. - -### Disabling ESLint in new files[](#disabling-eslint-in-new-files "Permalink") - -创建新文件时,请不要禁用 ESLint. 由于遗留兼容性的原因,现有文件可能已禁用现有规则,但是它们正在重构中. - -不要禁用特定的 ESLint 规则. 为避免引入技术债务,只有在调用/实例化现有代码模块时,才可以禁用以下规则. - -* [`no-new`](https://eslint.org/docs/rules/no-new) -* [`class-method-use-this`](https://eslint.org/docs/rules/class-methods-use-this) - -**注意:**逐行禁用这些规则. 这使得将来更容易重构. 例如,使用`eslint-disable-next-line`或`eslint-disable-line` . - -### Disabling ESLint for a single violation[](#disabling-eslint-for-a-single-violation "Permalink") - -如果确实需要为单个违规禁用规则,请以所需的最少代码量禁用它: - -``` -// bad -/* eslint-disable no-new */ - -import Foo from 'foo'; - -new Foo(); - -// better -import Foo from 'foo'; - -// eslint-disable-next-line no-new -new Foo(); -``` - -### The `no-undef` rule and declaring globals[](#the-no-undef-rule-and-declaring-globals "Permalink") - -**切勿**禁用`no-undef`规则. 用`/* global Foo */`代替声明 globals. - -声明多个全局变量时,请始终为每个变量使用一个`/* global [name] */`行. - -``` -// bad -/* globals Flash, Cookies, jQuery */ - -// good -/* global Flash */ -/* global Cookies */ -/* global jQuery */ -``` - -## Formatting with Prettier[](#formatting-with-prettier "Permalink") - -对 GitLab 13.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/227280)的`.graphql`支持. - -我们的代码会自动使用[Prettier](https://prettier.io)格式化,以遵循我们的样式指南. 漂亮正在格式化的护理`.js` , `.vue` , `.graphql`和`.scss`基于标准的漂亮规则文件. 您可以在`.prettierrc`找到`.prettierrc`所有设置. - -### Editor[](#editor "Permalink") - -在工作流程中包括更漂亮的最简单方法是相应地设置您的首选编辑器(支持所有主要编辑器). 我们建议将漂亮的文件设置为在保存每个文件时自动运行. [在此处](https://prettier.io/docs/en/editors.html)找到[在](https://prettier.io/docs/en/editors.html)首选编辑器中进行设置的最佳方法. - -请小心,你只能让更漂亮的格式相同的文件类型,全球纱线脚本执行( `.js` , `.vue` , `.graphql`和`.scss` ). 以 VSCode 为例,您可以轻松地在设置文件中排除文件格式: - -``` - "prettier.disableLanguages": [ "json", "markdown" ] -``` - -### Yarn Script[](#yarn-script-1 "Permalink") - -以下纱线脚本可用于进行全局格式化: - -``` -yarn prettier-staged-save -``` - -使用 Prettier 更新所有当前暂存的文件(基于`git diff` )并保存所需的更改. - -``` -yarn prettier-staged -``` - -使用 Prettier 检查所有当前暂存的文件(基于`git diff` ),并记录哪些文件需要手动更新到控制台. - -``` -yarn prettier-all -``` - -使用 Prettier 检查所有文件,并记录哪些文件需要手动更新到控制台. - -``` -yarn prettier-all-save -``` - -使用 Prettier 格式化存储库中的所有文件. (这仅应用于测试全局规则更新,否则您将获得巨大的 MR). - -这些 Yarn 脚本的来源可以在`/scripts/frontend/prettier.js`找到. - -#### Scripts during Conversion period[](#scripts-during-conversion-period "Permalink") - -``` -node ./scripts/frontend/prettier.js check-all ./vendor/ -``` - -这将遍历特定文件夹中的所有文件并进行检查. - -``` -node ./scripts/frontend/prettier.js save-all ./vendor/ -``` - -这将遍历特定文件夹中的所有文件并将其保存. - -### VSCode Settings[](#vscode-settings "Permalink") - -#### Select Prettier as default formatter[](#select-prettier-as-default-formatter "Permalink") - -要将" Prettier"选择为格式器,请在"用户或工作区设置"中添加以下属性: - -``` -{ - "[html]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[javascript]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[vue]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[graphql]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - } -} -``` - -#### Format on Save[](#format-on-save "Permalink") - -要使用 Prettier 自动设置文件格式,请在"用户或工作区设置"中添加以下属性: - -``` -{ - "[html]": { - "editor.formatOnSave": true - }, - "[javascript]": { - "editor.formatOnSave": true - }, - "[vue]": { - "editor.formatOnSave": true - }, - "[graphql]": { - "editor.formatOnSave": true - }, -} -``` \ No newline at end of file diff --git a/docs/603.md b/docs/603.md deleted file mode 100644 index 2383058..0000000 --- a/docs/603.md +++ /dev/null @@ -1,618 +0,0 @@ -# Vuex - -> 原文:[https://docs.gitlab.com/ee/development/fe_guide/vuex.html](https://docs.gitlab.com/ee/development/fe_guide/vuex.html) - -* [Separation of concerns](#separation-of-concerns) -* [File structure](#file-structure) - * [`index.js`](#indexjs) - * [`state.js`](#statejs) - * [Access `state` properties](#access-state-properties) - * [`actions.js`](#actionsjs) - * [Dispatching actions](#dispatching-actions) - * [`mutations.js`](#mutationsjs) - * [Naming Pattern: `REQUEST` and `RECEIVE` namespaces](#naming-pattern-request-and-receive-namespaces) - * [Updating complex state](#updating-complex-state) - * [`getters.js`](#gettersjs) - * [`mutation_types.js`](#mutation_typesjs) - * [Initializing a store’s state](#initializing-a-stores-state) - * [Why not just …spread the initial state?](#why-not-just-spread-the-initial-state) - * [Communicating with the Store](#communicating-with-the-store) - * [Vuex Gotchas](#vuex-gotchas) - * [Testing Vuex](#testing-vuex) - * [Testing Vuex concerns](#testing-vuex-concerns) - * [Testing components that need a store](#testing-components-that-need-a-store) - * [Two way data binding](#two-way-data-binding) - -# Vuex[](#vuex "Permalink") - -如果将状态管理与组件分离有明显的好处(例如,由于状态复杂性),我们建议使用[Vuex 而](https://vuex.vuejs.org)不是其他任何 Flux 模式. 否则,请随时管理组件中的状态. - -在以下情况下,应强烈考虑 Vuex: - -* 您期望应用程序的多个部分对状态变化做出反应 -* 需要在多个组件之间共享数据 -* 与后端的交互非常复杂,例如多个 API 调用 -* 该应用程序涉及通过传统 REST API 和 GraphQL 与后端进行交互(尤其是将 REST API 移至 GraphQL 时,这是一项待处理的后端任务) - -*注意:以下*所有内容在[Vuex](https://vuex.vuejs.org)官方[文档](https://vuex.vuejs.org)中有更详细的[说明](https://vuex.vuejs.org) . - -## Separation of concerns[](#separation-of-concerns "Permalink") - -Vuex 由状态,获取器,变异,动作和模块组成. - -当用户点击一个动作时,我们需要`dispatch`它. 此操作将`commit`将更改状态的突变. *注意:*动作本身不会更新状态,只有突变可以更新状态. - -## File structure[](#file-structure "Permalink") - -在 GitLab 上使用 Vuex 时,请将这些问题分为不同的文件以提高可读性: - -``` -└── store - ├── index.js # where we assemble modules and export the store - ├── actions.js # actions - ├── mutations.js # mutations - ├── getters.js # getters - ├── state.js # state - └── mutation_types.js # mutation types -``` - -下例显示了一个列出用户并将其添加到状态的应用程序. (有关更复杂的示例实现,请查看[此处](https://gitlab.com/gitlab-org/gitlab/tree/master/ee/app/assets/javascripts/vue_shared/security_reports/store)的安全应用程序商店) - -### `index.js`[](#indexjs "Permalink") - -这是我们商店的入口点. 您可以使用以下内容作为指导: - -``` -import Vuex from 'vuex'; -import * as actions from './actions'; -import * as getters from './getters'; -import mutations from './mutations'; -import state from './state'; - -export const createStore = () => - new Vuex.Store({ - actions, - getters, - mutations, - state, - }); -``` - -*注意:*在实施此[RFC](https://gitlab.com/gitlab-org/frontend/rfcs/-/issues/20)之前,以上内容将需要禁用`import/prefer-default-export` ESLint 规则. - -### `state.js`[](#statejs "Permalink") - -在编写任何代码之前,您应该做的第一件事就是设计状态. - -通常,我们需要将数据从 haml 提供给 Vue 应用程序. 让我们将其存储在状态中以便更好地访问. - -``` - export default () => ({ - endpoint: null, - - isLoading: false, - error: null, - - isAddingUser: false, - errorAddingUser: false, - - users: [], - }); -``` - -#### Access `state` properties[](#access-state-properties "Permalink") - -您可以使用`mapState`访问组件中的状态属性. - -### `actions.js`[](#actionsjs "Permalink") - -An action is a payload of information to send data from our application to our store. - -动作通常由`type`和`payload` ,它们描述发生了什么. 与[变种](#mutationsjs)不同,动作可以包含异步操作-这就是为什么我们始终需要在动作中处理异步逻辑. - -在此文件中,我们将编写将调用突变的操作以处理用户列表: - -``` - import * as types from './mutation_types'; - import axios from '~/lib/utils/axios_utils'; - import createFlash from '~/flash'; - - export const fetchUsers = ({ state, dispatch }) => { - commit(types.REQUEST_USERS); - - axios.get(state.endpoint) - .then(({ data }) => commit(types.RECEIVE_USERS_SUCCESS, data)) - .catch((error) => { - commit(types.RECEIVE_USERS_ERROR, error) - createFlash('There was an error') - }); - } - - export const addUser = ({ state, dispatch }, user) => { - commit(types.REQUEST_ADD_USER); - - axios.post(state.endpoint, user) - .then(({ data }) => commit(types.RECEIVE_ADD_USER_SUCCESS, data)) - .catch((error) => commit(types.REQUEST_ADD_USER_ERROR, error)); - } -``` - -#### Dispatching actions[](#dispatching-actions "Permalink") - -要从组件调度动作,请使用`mapActions`帮助器: - -``` -import { mapActions } from 'vuex'; - -{ - methods: { - ...mapActions([ - 'addUser', - ]), - onClickUser(user) { - this.addUser(user); - }, - }, -}; -``` - -### `mutations.js`[](#mutationsjs "Permalink") - -变异指定应用程序状态如何响应发送到商店的操作而改变. 更改 Vuex 存储中状态的唯一方法应该是通过提交突变. - -**在编写任何代码之前先考虑状态是一个好主意.** - -请记住,动作仅描述发生了某些事情,而没有描述应用程序状态如何变化. - -**切勿直接从组件提交突变** - -相反,您应该创建一个将导致突变的动作. - -``` - import * as types from './mutation_types'; - - export default { - [types.REQUEST_USERS](state) { - state.isLoading = true; - }, - [types.RECEIVE_USERS_SUCCESS](state, data) { - // Do any needed data transformation to the received payload here - state.users = data; - state.isLoading = false; - }, - [types.RECEIVE_USERS_ERROR](state, error) { - state.isLoading = false; - }, - [types.REQUEST_ADD_USER](state, user) { - state.isAddingUser = true; - }, - [types.RECEIVE_ADD_USER_SUCCESS](state, user) { - state.isAddingUser = false; - state.users.push(user); - }, - [types.REQUEST_ADD_USER_ERROR](state, error) { - state.isAddingUser = false; - state.errorAddingUser = error; - }, - }; -``` - -#### Naming Pattern: `REQUEST` and `RECEIVE` namespaces[](#naming-pattern-request-and-receive-namespaces "Permalink") - -发出请求时,我们通常希望向用户显示加载状态. - -与其创建一个突变来切换加载状态,不如: - -1. 类型为`REQUEST_SOMETHING`的突变,以切换加载状态 -2. 类型为`RECEIVE_SOMETHING_SUCCESS`的突变,用于处理成功回调 -3. 类型为`RECEIVE_SOMETHING_ERROR`的突变,用于处理错误回调 -4. 动作`fetchSomething`发出请求并在提到的情况下提交突变 - 1. 如果您的应用程序执行的不是`GET`请求,则可以使用以下示例: - * `POST` : `createSomething` - * `PUT` : `updateSomething` - * `DELETE` : `deleteSomething` - -结果,我们可以从该组件调度`fetchNamespace`操作,它将负责提交`REQUEST_NAMESPACE` , `RECEIVE_NAMESPACE_SUCCESS`和`RECEIVE_NAMESPACE_ERROR`突变. - -> 以前,我们是从`fetchNamespace`操作中调度操作,而不是提交突变,所以如果您在代码库的较早部分中找到了不同的模式,请不要感到困惑. 但是,无论何时您编写新的 Vuex 商店,我们都鼓励利用新模式 - -通过遵循这种模式,我们保证: - -1. 所有应用程序都遵循相同的模式,从而使任何人都更容易维护代码 -2. 应用程序中的所有数据都遵循相同的生命周期模式 -3. 单元测试更容易 - -#### Updating complex state[](#updating-complex-state "Permalink") - -有时,尤其是当状态复杂时,实际上很难遍历该状态以精确更新突变需要更新的内容. 理想情况下, `vuex`状态应尽可能标准化/解耦,但这并非总是如此. - -重要的是要记住,当在突变本身中选择`portion of the mutated state`并对其进行突变时,代码更易于阅读和维护. - -给定此状态: - -``` - export default () => ({ - items: [ - { - id: 1, - name: 'my_issue', - closed: false, - }, - { - id: 2, - name: 'another_issue', - closed: false, - } - ] -}); -``` - -像这样写一个突变可能很诱人: - -``` -// Bad -export default { - [types.MARK_AS_CLOSED](state, item) { - Object.assign(item, {closed: true}) - } -} -``` - -尽管此方法有效,但它具有以下依赖性: - -* 正确的选择`item`中的组件/动作. -* `item`属性已经在`closed`状态下声明. - * 新的`confidential`财产将不会产生反应. -* 他指出, `item`是通过引用`items` - -这样写的突变更难维护,更容易出错. 我们宁可这样写一个变异: - -``` -// Good -export default { - [types.MARK_AS_CLOSED](state, itemId) { - const item = state.items.find(i => i.id == itemId); - Vue.set(item, 'closed', true) - - state.items.splice(index, 1, item) - } -} -``` - -这种方法更好,因为: - -* 它选择并更新突变中的状态,这种状态更易于维护. -* 它没有外部依赖性,如果传递了正确的`itemId`则状态将正确更新. -* 它没有反应性警告,因为我们生成了一个新`item`以避免耦合到初始状态. - -这样写的变异更容易维护. 另外,我们避免了由于反应系统的限制而导致的错误. - -### `getters.js`[](#gettersjs "Permalink") - -有时我们可能需要根据存储状态获取派生状态,例如针对特定道具进行过滤. 使用 getter 还将由于依赖关系而缓存结果,这取决于[计算的 props 的工作方式.](https://vuejs.org/v2/guide/computed.html#Computed-Caching-vs-Methods)这可以通过`getters`来完成: - -``` -// get all the users with pets -export const getUsersWithPets = (state, getters) => { - return state.users.filter(user => user.pet !== undefined); -}; -``` - -要从组件访问吸气剂,请使用`mapGetters`帮助器: - -``` -import { mapGetters } from 'vuex'; - -{ - computed: { - ...mapGetters([ - 'getUsersWithPets', - ]), - }, -}; -``` - -### `mutation_types.js`[](#mutation_typesjs "Permalink") - -来自[vuex 突变文档](https://vuex.vuejs.org/guide/mutations.html) :>在各种 Flux 实现中,将常数用于突变类型是一种常见的模式. 这使代码可以利用像 linters 这样的工具,并将所有常量放在一个文件中,使您的协作者可以快速了解整个应用程序中可能发生的变异. - -``` -export const ADD_USER = 'ADD_USER'; -``` - -### Initializing a store’s state[](#initializing-a-stores-state "Permalink") - -Vuex 存储通常需要一些初始状态才能使用其`action` . 通常,这些数据包括 API 端点,文档 URL 或 ID 之类的数据. - -要设置此初始状态,请在安装 Vue 组件时将其作为参数传递给商店的创建函数: - -``` -// in the Vue app's initialization script (e.g. mount_show.js) - -import Vue from 'vue'; -import Vuex from 'vuex'; -import { createStore } from './stores'; -import AwesomeVueApp from './components/awesome_vue_app.vue' - -Vue.use(Vuex); - -export default () => { - const el = document.getElementById('js-awesome-vue-app'); - - return new Vue({ - el, - store: createStore(el.dataset), - render: h => h(AwesomeVueApp) - }); -}; -``` - -然后,存储功能可以将此数据传递给州的创建功能: - -``` -// in store/index.js - -import * as actions from './actions'; -import mutations from './mutations'; -import createState from './state'; - -export default initialState => ({ - actions, - mutations, - state: createState(initialState), -}); -``` - -状态函数可以接受此初始数据作为参数并将其烘焙到返回的`state`对象中: - -``` -// in store/state.js - -export default ({ - projectId, - documentationPath, - anOptionalProperty = true -}) => ({ - projectId, - documentationPath, - anOptionalProperty, - - // other state properties here -}); -``` - -#### Why not just …spread the initial state?[](#why-not-just-spread-the-initial-state "Permalink") - -精明的读者将从上面的示例中看到切出几行代码的机会: - -``` -// Don't do this! - -export default initialState => ({ - ...initialState, - - // other state properties here -}); -``` - -我们已经做出有意识的决定,避免使用这种模式,以帮助我们的前端代码库实现可发现性和可搜索性. 在[此讨论中](https://gitlab.com/gitlab-org/frontend/rfcs/-/issues/56#note_302514865)描述了[这样做的原因](https://gitlab.com/gitlab-org/frontend/rfcs/-/issues/56#note_302514865) : - -> 考虑在存储状态中使用了`someStateKey` . 如果仅由`el.dataset`提供,则*可能*无法直接对其进行 grep. 相反,您必须 grep 以获得`some_state_key` ,因为它可能来自 rails 模板. 反之亦然:如果您正在查看 Rails 模板,您可能想知道是什么使用了`some_state_key` ,但是您*必须* grep 为`someStateKey` - -### Communicating with the Store[](#communicating-with-the-store "Permalink") - -``` -<script> -import { mapActions, mapState, mapGetters } from 'vuex'; - -export default { - computed: { - ...mapGetters([ - 'getUsersWithPets' - ]), - ...mapState([ - 'isLoading', - 'users', - 'error', - ]), - }, - methods: { - ...mapActions([ - 'fetchUsers', - 'addUser', - ]), - onClickAddUser(data) { - this.addUser(data); - } - }, - created() { - this.fetchUsers() - } -} -</script> <template> - <ul> - <li v-if="isLoading"> - Loading... - </li> - <li v-else-if="error"> - {{ error }} - </li> - <template v-else> - <li - v-for="user in users" - :key="user.id" - > - {{ user }} - </li> - </template> - </ul> </template> -``` - -### Vuex Gotchas[](#vuex-gotchas "Permalink") - -1. 不要直接调用突变. 始终使用动作进行突变. 这样做将在整个应用程序中保持一致性. 从 Vuex 文档: - - > Why don’t we just call store.commit(‘action’) directly? Well, remember that mutations must be synchronous? Actions aren’t. We can perform asynchronous operations inside an action. - - ``` - // component.vue - - // bad - created() { - this.$store.commit('mutation'); - } - - // good - created() { - this.$store.dispatch('action'); - } - ``` - -2. 使用变异类型而不是对字符串进行硬编码. 这将减少出错的可能性. -3. 在实例化商店的用途之后的所有组件中,都可以访问 State. - -### Testing Vuex[](#testing-vuex "Permalink") - -#### Testing Vuex concerns[](#testing-vuex-concerns "Permalink") - -有关测试操作,获取器和突变的信息,请参考[vuex 文档](https://vuex.vuejs.org/guide/testing.html) . - -#### Testing components that need a store[](#testing-components-that-need-a-store "Permalink") - -较小的组件可能会使用`store`属性来访问数据. 为了编写这些组件的单元测试,我们需要包括商店并提供正确的状态: - -``` -//component_spec.js -import Vue from 'vue'; -import Vuex from 'vuex'; -import { mount, createLocalVue } from '@vue/test-utils'; -import { createStore } from './store'; -import Component from './component.vue' - -const localVue = createLocalVue(); -localVue.use(Vuex); - -describe('component', () => { - let store; - let wrapper; - - const createComponent = () => { - store = createStore(); - - wrapper = mount(Component, { - localVue, - store, - }); - }; - - beforeEach(() => { - createComponent(); - }); - - afterEach(() => { - wrapper.destroy(); - wrapper = null; - }); - - it('should show a user', async () => { - const user = { - name: 'Foo', - age: '30', - }; - - // populate the store - await store.dispatch('addUser', user); - - expect(wrapper.text()).toContain(user.name); - }); -}); -``` - -### Two way data binding[](#two-way-data-binding "Permalink") - -在 Vuex 中存储表单数据时,有时需要更新存储的值. 绝对不应直接更改存储,而应使用操作. 为了在我们的代码中仍然使用`v-model` ,我们需要以这种形式创建计算属性: - -``` -export default { - computed: { - someValue: { - get() { - return this.$store.state.someValue; - }, - set(value) { - this.$store.dispatch("setSomeValue", value); - } - } - } -}; -``` - -另一种方法是使用`mapState`和`mapActions` : - -``` -export default { - computed: { - ...mapState(['someValue']), - localSomeValue: { - get() { - return this.someValue; - }, - set(value) { - this.setSomeValue(value) - } - } - }, - methods: { - ...mapActions(['setSomeValue']) - } -}; -``` - -添加其中一些属性变得很麻烦,并使代码重复性更高,并需要编写更多的测试. 为了简化此操作, `~/vuex_shared/bindings.js`有一个帮助器. - -可以像这样使用助手: - -``` -// this store is non-functional and only used to give context to the example -export default { - state: { - baz: '', - bar: '', - foo: '' - }, - actions: { - updateBar() {...} - updateAll() {...} - }, - getters: { - getFoo() {...} - } -} -``` - -``` -import { mapComputed } from '~/vuex_shared/bindings' -export default { - computed: { - /** - * @param {(string[]|Object[])} list - list of string matching state keys or list objects - * @param {string} list[].key - the key matching the key present in the vuex state - * @param {string} list[].getter - the name of the getter, leave it empty to not use a getter - * @param {string} list[].updateFn - the name of the action, leave it empty to use the default action - * @param {string} defaultUpdateFn - the default function to dispatch - * @param {string} root - optional key of the state where to search fo they keys described in list - * @returns {Object} a dictionary with all the computed properties generated - */ - ...mapComputed( - [ - 'baz', - { key: 'bar', updateFn: 'updateBar' } - { key: 'foo', getter: 'getFoo' }, - ], - 'updateAll', - ), - } -} -``` - -然后, `mapComputed`将生成适当的计算属性,这些属性从存储中获取数据并在更新时调度正确的操作. \ No newline at end of file diff --git a/docs/604.md b/docs/604.md deleted file mode 100644 index 5d71fd0..0000000 --- a/docs/604.md +++ /dev/null @@ -1,372 +0,0 @@ -# Vue - -> 原文:[https://docs.gitlab.com/ee/development/fe_guide/vue.html](https://docs.gitlab.com/ee/development/fe_guide/vue.html) - -* [Examples](#examples) -* [Vue architecture](#vue-architecture) - * [Components and Store](#components-and-store) - * [An `index.js` file](#an-indexjs-file) - * [Bootstrapping Gotchas](#bootstrapping-gotchas) - * [Providing data from HAML to JavaScript](#providing-data-from-haml-to-javascript) - * [Accessing the `gl` object](#accessing-the-gl-object) - * [Accessing feature flags](#accessing-feature-flags) - * [A folder for Components](#a-folder-for-components) - * [A folder for the Store](#a-folder-for-the-store) - * [Vuex](#vuex) - * [Mixing Vue and jQuery](#mixing-vue-and-jquery) -* [Style guide](#style-guide) -* [Testing Vue Components](#testing-vue-components) - * [Test the component’s output](#test-the-components-output) - * [Events](#events) -* [Vue.js Expert Role](#vuejs-expert-role) -* [Vue 2 -> Vue 3 Migration](#vue-2---vue-3-migration) -* [Appendix - Vue component subject under test](#appendix---vue-component-subject-under-test) - -# Vue[](#vue "Permalink") - -要开始使用 Vue,请通读[其文档](https://vuejs.org/v2/guide/) . - -## Examples[](#examples "Permalink") - -在以下示例中可以找到以下各节中描述的内容: - -* [Web IDE](https://gitlab.com/gitlab-org/gitlab-foss/tree/master/app/assets/javascripts/ide/stores) -* [Security products](https://gitlab.com/gitlab-org/gitlab/tree/master/ee/app/assets/javascripts/vue_shared/security_reports) -* [Registry](https://gitlab.com/gitlab-org/gitlab-foss/tree/master/app/assets/javascripts/registry/stores) - -## Vue architecture[](#vue-architecture "Permalink") - -用 Vue.js 构建的所有新功能都必须遵循[Flux 架构](https://facebook.github.io/flux/) . 我们试图实现的主要目标是只有一个数据流和一个数据条目. 为了实现此目标,我们使用[vuex](#vuex) . - -您还可以在 Vue 文档中了解有关[状态管理](https://vuejs.org/v2/guide/state-management.html#Simple-State-Management-from-Scratch)和[数据流的一种方式的](https://vuejs.org/v2/guide/components.html#One-Way-Data-Flow)此体系结构. - -### Components and Store[](#components-and-store "Permalink") - -在使用 Vue.js 实现的某些功能(例如[问题](https://gitlab.com/gitlab-org/gitlab-foss/tree/master/app/assets/javascripts/boards)公告[板](https://gitlab.com/gitlab-org/gitlab-foss/tree/master/app/assets/javascripts/boards)或[环境表)中,](https://gitlab.com/gitlab-org/gitlab-foss/tree/master/app/assets/javascripts/environments)您可以找到明确的关注点分离: - -``` -new_feature -├── components -│ └── component.vue -│ └── ... -├── store -│ └── new_feature_store.js -├── index.js -``` - -*为了保持一致性,我们建议您采用相同的结构.* - -Let’s look into each of them: - -### An `index.js` file[](#an-indexjs-file "Permalink") - -这是新功能的索引文件. 这是新功能的根 Vue 实例所在的位置. - -应在此文件中导入和初始化商店和服务,并作为主要组件的道具提供. - -请务必阅读[特定](./performance.html#page-specific-javascript)于[页面的 JavaScript](./performance.html#page-specific-javascript) . - -### Bootstrapping Gotchas[](#bootstrapping-gotchas "Permalink") - -#### Providing data from HAML to JavaScript[](#providing-data-from-haml-to-javascript "Permalink") - -挂载 Vue 应用程序时,可能需要从 Rails 向 JavaScript 提供数据. 为此,您可以使用 HTML 元素中的`data`属性,并在安装应用程序时查询它们. - -*Note:* You should only do this while initializing the application, because the mounted element will be replaced with Vue-generated DOM. - -通过`render`函数中的`props`将数据从 DOM 提供给 Vue 实例而不是查询主 Vue 组件内部的 DOM 的好处是避免了在单元测试中创建固定装置或 HTML 元素的需要,因为它将进行测试更轻松. 请参见以下示例: - -``` -// haml -.js-vue-app{ data: { endpoint: 'foo' }} - -// index.js -document.addEventListener('DOMContentLoaded', () => new Vue({ - el: '.js-vue-app', - data() { - const dataset = this.$options.el.dataset; - return { - endpoint: dataset.endpoint, - }; - }, - render(createElement) { - return createElement('my-component', { - props: { - endpoint: this.endpoint, - }, - }); - }, -})); -``` - -#### Accessing the `gl` object[](#accessing-the-gl-object "Permalink") - -当我们需要查询`gl`对象以获取在应用程序生命周期内不会更改的数据时,我们应该在查询 DOM 的同一位置进行处理. 通过遵循这种做法,我们可以避免模拟`gl`对象的需求,这将使测试更加容易. 应该在初始化我们的 Vue 实例时完成,并且数据应作为主要组件的`props`提供: - -``` -document.addEventListener('DOMContentLoaded', () => new Vue({ - el: '.js-vue-app', - render(createElement) { - return createElement('my-component', { - props: { - username: gon.current_username, - }, - }); - }, -})); -``` - -#### Accessing feature flags[](#accessing-feature-flags "Permalink") - -使用 Vue 的[提供/注入](https://vuejs.org/v2/api/#provide-inject)机制使功能标志可用于 Vue 应用程序中的任何后代组件. `glFeatures`对象已经在`commons/vue.js` ,因此仅需要 mixin 即可使用这些标志: - -``` -// An arbitrary descendant component - -import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin'; - -export default { - // ... - mixins: [glFeatureFlagsMixin()], - // ... - created() { - if (this.glFeatures.myFlag) { - // ... - } - }, -} -``` - -这种方法有一些好处: - -* 任意深度嵌套的组件都可以选择加入并访问该标志,而中间组件则不知道(例如,通过 prop 将标志向下传递). -* 良好的可测试性,因为可以从`vue-test-utils`将该标志提供给`mount` / `shallowMount` ,只是作为一个道具. - - ``` - import { shallowMount } from '@vue/test-utils'; - - shallowMount(component, { - provide: { - glFeatures: { myFlag: true }, - }, - }); - ``` - -* 除了在应用程序的[入口点](#accessing-the-gl-object)之外,无需访问全局变量. - -### A folder for Components[](#a-folder-for-components "Permalink") - -此文件夹包含此新功能特定的所有组件. 如果您需要使用或创建可能在其他地方使用的组件,请参考`vue_shared/components` . - -了解何时创建组件的一个很好的经验法则是考虑它是否可以在其他地方重用. - -例如,表在整个 GitLab 中被大量使用,表非常适合组件. 另一方面,仅在一个表中使用的表单元格不能很好地利用此模式. - -您可以在 Vue.js 网站[Component System 中](https://vuejs.org/v2/guide/#Composing-with-Components)阅读有关组件的更多信息. - -### A folder for the Store[](#a-folder-for-the-store "Permalink") - -#### Vuex[](#vuex "Permalink") - -检查此[页面](vuex.html)以获取更多详细信息. - -### Mixing Vue and jQuery[](#mixing-vue-and-jquery "Permalink") - -* 不建议将 Vue 和 jQuery 混合使用. -* 如果您需要在 Vue 中使用特定的 jQuery 插件,请[围绕它创建一个包装器](https://vuejs.org/v2/examples/select2.html) . -* Vue 使用 jQuery 事件侦听器侦听现有的 jQuery 事件是可以接受的. -* 不建议为 Vue 添加新的 jQuery 事件以与 jQuery 交互. - -## Style guide[](#style-guide "Permalink") - -在编写 Vue 组件和模板时,请参考我们的[样式指南](style/vue.html)的 Vue 部分以获取最佳实践. - -## Testing Vue Components[](#testing-vue-components "Permalink") - -每个 Vue 组件都有一个唯一的输出. 此输出始终存在于 render 函数中. - -尽管我们可以分别测试 Vue 组件的每种方法,但我们的目标必须是测试 render / template 函数的输出,该输出始终代表状态. - -这是[此 Vue 组件](#appendix---vue-component-subject-under-test)结构良好的单元测试的示例: - -``` -import { shallowMount } from '@vue/test-utils'; -import { GlLoadingIcon } from '@gitlab/ui'; -import MockAdapter from 'axios-mock-adapter'; -import axios from '~/lib/utils/axios_utils'; -import App from '~/todos/app.vue'; - -const TEST_TODOS = [ - { text: 'Lorem ipsum test text' }, - { text: 'Lorem ipsum 2' }, -]; -const TEST_NEW_TODO = 'New todo title'; -const TEST_TODO_PATH = '/todos'; - -describe('~/todos/app.vue', () => { - let wrapper; - let mock; - - beforeEach(() => { - // IMPORTANT: Use axios-mock-adapter for stubbing axios API requests - mock = new MockAdapter(axios); - mock.onGet(TEST_TODO_PATH).reply(200, TEST_TODOS); - mock.onPost(TEST_TODO_PATH).reply(200); - }); - - afterEach(() => { - // IMPORTANT: Clean up the component instance and axios mock adapter - wrapper.destroy(); - wrapper = null; - - mock.restore(); - }); - - // NOTE: It is very helpful to separate setting up the component from - // its collaborators (i.e. Vuex, axios, etc.) - const createWrapper = (props = {}) => { - wrapper = shallowMount(App, { - propsData: { - path: TEST_TODO_PATH, - ...props, - }, - }); - }; - // NOTE: Helper methods greatly help test maintainability and readability. - const findLoader = () => wrapper.find(GlLoadingIcon); - const findAddButton = () => wrapper.find('[data-testid="add-button"]'); - const findTextInput = () => wrapper.find('[data-testid="text-input"]'); - const findTodoData = () => wrapper.findAll('[data-testid="todo-item"]').wrappers.map(wrapper => ({ text: wrapper.text() })); - - describe('when mounted and loading', () => { - beforeEach(() => { - // Create request which will never resolve - mock.onGet(TEST_TODO_PATH).reply(() => new Promise(() => {})); - createWrapper(); - }); - - it('should render the loading state', () => { - expect(findLoader().exists()).toBe(true); - }); - }); - - describe('when todos are loaded', () => { - beforeEach(() => { - createWrapper(); - // IMPORTANT: This component fetches data asynchronously on mount, so let's wait for the Vue template to update - return wrapper.vm.$nextTick(); - }); - - it('should not show loading', () => { - expect(findLoader().exists()).toBe(false); - }); - - it('should render todos', () => { - expect(findTodoData()).toEqual(TEST_TODOS); - }); - - it('when todo is added, should post new todo', () => { - findTextInput().vm.$emit('update', TEST_NEW_TODO) - findAddButton().vm.$emit('click'); - - return wrapper.vm.$nextTick() - .then(() => { - expect(mock.history.post.map(x => JSON.parse(x.data))).toEqual([{ text: TEST_NEW_TODO }]); - }); - }); - }); -}); -``` - -### Test the component’s output[](#test-the-components-output "Permalink") - -Vue 组件的主要返回值是渲染的输出. 为了测试组件,我们需要测试渲染的输出. [Vue](https://vuejs.org/v2/guide/unit-testing.html)指南的单元测试向我们确切地表明: - -### Events[](#events "Permalink") - -我们应该测试响应组件中的操作而发出的事件,这对于验证是否使用正确的参数触发了正确的事件很有用. - -对于任何 DOM 事件,我们都应使用[`trigger`](https://vue-test-utils.vuejs.org/api/wrapper/#trigger)来触发事件. - -``` -// Assuming SomeButton renders: <button>Some button</button> -wrapper = mount(SomeButton); - -... -it('should fire the click event', () => { - const btn = wrapper.find('button') - - btn.trigger('click'); - ... -}) -``` - -当我们需要触发 Vue 事件时,我们应该使用[`emit`](https://vuejs.org/v2/guide/components-custom-events.html)事件来触发事件. - -``` -wrapper = shallowMount(DropdownItem); - -... - -it('should fire the itemClicked event', () => { - DropdownItem.vm.$emit('itemClicked'); - ... -}) -``` - -我们应该通过对[`emitted()`](https://vue-test-utils.vuejs.org/api/wrapper/#emitted)方法的结果进行断言来验证事件已被触发 - -## Vue.js Expert Role[](#vuejs-expert-role "Permalink") - -仅当您自己的合并请求并且您的评论显示时,您才应该申请成为 Vue.js 专家: - -* 对 Vue 和 Vuex 反应性的深入了解 -* Vue 和 Vuex 代码是根据官方规范和我们的准则构建的 -* 全面了解测试 Vue 和 Vuex 应用程序 -* Vuex 代码遵循[记录的模式](vuex.html#naming-pattern-request-and-receive-namespaces) -* 有关现有 Vue 和 Vuex 应用程序以及现有可重用组件的知识 - -## Vue 2 -> Vue 3 Migration[](#vue-2---vue-3-migration "Permalink") - -> 暂时添加此部分是为了支持将代码库从 Vue 2.x 迁移到 Vue 3.x 的工作. - -当前,我们建议尽量减少向代码库中添加某些功能,以防止增加最终迁移的技​​术负担: - -* filters; -* 活动巴士; -* 功能模板化 -* `slot` attributes - -您可以找到有关[迁移到 Vue 3 的](vue3_migration.html)更多详细信息 - -## Appendix - Vue component subject under test[](#appendix---vue-component-subject-under-test "Permalink") - -这是示例组件的模板,已在" [测试 Vue 组件"](#testing-vue-components)部分中进行了[测试](#testing-vue-components) : - -``` -<template> - <div class="content"> - <gl-loading-icon v-if="isLoading" /> - <template v-else> - <div - v-for="todo in todos" - :key="todo.id" - :class="{ 'gl-strike': todo.isDone }" - data-testid="todo-item" - >{{ toddo.text }}</div> - <footer class="gl-border-t-1 gl-mt-3 gl-pt-3"> - <gl-form-input - type="text" - v-model="todoText" - data-testid="text-input" - > - <gl-button - variant="success" - data-testid="add-button" - @click="addTodo" - >Add</gl-button> - </footer> - </template> - </div> -</template> -``` \ No newline at end of file diff --git a/docs/605.md b/docs/605.md deleted file mode 100644 index 324bc30..0000000 --- a/docs/605.md +++ /dev/null @@ -1,443 +0,0 @@ -# Geo (development) - -> 原文:[https://docs.gitlab.com/ee/development/geo.html](https://docs.gitlab.com/ee/development/geo.html) - -* [Replication layer](#replication-layer) - * [Geo Log Cursor daemon](#geo-log-cursor-daemon) - * [Database replication](#database-replication) - * [Repository replication](#repository-replication) - * [Project Registry](#project-registry) - * [Repository Sync worker](#repository-sync-worker) - * [Uploads replication](#uploads-replication) - * [Upload Registry](#upload-registry) - * [File Download Dispatch worker](#file-download-dispatch-worker) -* [Authentication](#authentication) -* [Git Push to Geo secondary](#git-push-to-geo-secondary) -* [Using the Tracking Database](#using-the-tracking-database) - * [Configuration](#configuration) - * [Foreign Data Wrapper](#foreign-data-wrapper) - * [Refreshing the Foreign Tables](#refreshing-the-foreign-tables) - * [Accessing data from a Foreign Table](#accessing-data-from-a-foreign-table) -* [Finders](#finders) - * [Finders Performance](#finders-performance) -* [Redis](#redis) -* [Object Storage](#object-storage) -* [Verification](#verification) - * [Repository verification](#repository-verification) -* [Glossary](#glossary) - * [Primary node](#primary-node) - * [Secondary node](#secondary-node) - * [Streaming replication](#streaming-replication) - * [Tracking database](#tracking-database) - * [FDW](#fdw) -* [Geo Event Log](#geo-event-log) - * [Geo Log Cursor](#geo-log-cursor) -* [Code features](#code-features) - * [`Gitlab::Geo` utilities](#gitlabgeo-utilities) - * [Current node](#current-node) - * [Primary or secondary](#primary-or-secondary) - * [Geo Database configured?](#geo-database-configured) - * [Enablement](#enablement) - * [Read-only](#read-only) -* [Steps needed to replicate a new data type](#steps-needed-to-replicate-a-new-data-type) - * [Geo self-service framework (alpha)](#geo-self-service-framework-alpha) -* [History of communication channel](#history-of-communication-channel) - * [Custom code (GitLab 8.6 and earlier)](#custom-code-gitlab-86-and-earlier) - * [System hooks (GitLab 8.7 to 9.5)](#system-hooks-gitlab-87-to-95) - * [Geo Log Cursor (GitLab 10.0 and up)](#geo-log-cursor-gitlab-100-and-up) -* [Self-service framework](#self-service-framework) - -# Geo (development)[](#geo-development-premium-only "Permalink") - -Geo 将 GitLab 实例连接在一起. 一个 GitLab 实例被指定**为主**节点,并且可以与多个**辅助**节点一起运行. Geo 精心策划了很多组件,这些组件可以在下图中看到,并在本文档中进行了更详细的描述. - -[![Geo Architecture Diagram](img/5f13fe556b8940c2e698facdc219d16a.png)](../administration/geo/replication/img/geo_architecture.png) - -## Replication layer[](#replication-layer "Permalink") - -Geo 处理不同组件的复制: - -* [数据库](#database-replication) :包括整个应用程序,缓存和作业除外. -* [Git 存储库](#repository-replication) :包括项目和 Wiki. -* [上载的 Blob](#uploads-replication) :包括从问题附带的图像到 CI 的原始日志和资产的所有内容. - -除数据库复制外,在*辅助*节点上,所有内容均由[Geo Log Cursor](#geo-log-cursor)协调. - -### Geo Log Cursor daemon[](#geo-log-cursor-daemon "Permalink") - -[Geo Log Cursor 守护程序](#geo-log-cursor-daemon)是在每个**辅助**节点上运行的单独进程. 它监视[地理事件日志中](#geo-event-log)是否有新事件,并为每种特定事件类型创建后台作业. - -例如,当更新存储库时,Geo **主**节点会创建一个带有关联的存储库更新事件的 Geo 事件. Geo Log Cursor 守护程序接收事件并安排一个`Geo::ProjectSyncWorker`作业,该作业将使用`Geo::RepositorySyncService`和`Geo::WikiSyncService`类分别更新存储库和 Wiki. - -Geo Log Cursor 守护程序可以自动在高可用性模式下运行. 守护程序将不时尝试获取锁,一旦获得锁定,它将充当*活动*守护程序. - -在同一节点上的所有其他正在运行的守护程序都将处于待机模式,如果*活动*守护程序释放其锁定,则可以恢复工作. - -We use the [`ExclusiveLease`](https://www.rubydoc.info/github/gitlabhq/gitlabhq/Gitlab/ExclusiveLease) lock type with a small TTL, that is renewed at every pooling cycle. That allows us to implement this global lock with a timeout. - -在池化周期结束时,如果守护程序无法更新和/或重新获得锁定,它将切换到待机模式. - -### Database replication[](#database-replication "Permalink") - -Geo 使用[流复制](#streaming-replication)将数据库从**主**节点[复制](#streaming-replication)到**辅助**节点. 通过此复制, **辅助**节点可以访问数据库中保存的所有数据. 因此,用户可以登录**次级**和读取所有的问题,合并请求等**辅助**节点上. - -### Repository replication[](#repository-replication "Permalink") - -Geo 还复制存储库. 每个**辅助**节点都[跟踪跟踪数据库](#tracking-database)中每个存储库的状态. - -存在以下几种方式来复制存储库: - -* [Repository Sync worker](#repository-sync-worker). -* [Geo Log Cursor](#geo-log-cursor). - -#### Project Registry[](#project-registry "Permalink") - -`Geo::ProjectRegistry`类定义用于跟踪存储库复制状态的模型. 对于主数据库中的每个项目,在跟踪数据库中保留一个记录. - -它记录有关存储库的以下内容: - -* 他们上次同步的时间. -* 上一次成功同步它们. -* 是否需要重新同步. -* 重试的时间. -* 重试次数. -* 是否以及何时进行验证. - -它还将项目 Wiki 的这些属性存储在专用列中. - -#### Repository Sync worker[](#repository-sync-worker "Permalink") - -The `Geo::RepositorySyncWorker` class runs periodically in the background and it searches the `Geo::ProjectRegistry` model for projects that need updating. Those projects can be: - -* 未同步:从未在**辅助**节点上同步过的项目,因此尚不存在. -* 最近更新:项目的`last_repository_updated_at`时间戳比`Geo::ProjectRegistry`模型中的`last_repository_successful_sync_at`时间戳更新. -* 手动:管理员可以在[地理管理面板中](../user/admin_area/geo_nodes.html)手动标记存储库以重新同步. - -当我们在次要`RETRIES_BEFORE_REDOWNLOAD`时间内无法获取存储库时,Geo 会进行所谓的*重新下载* . 它将干净地克隆到存储根目录中的`@geo-temporary`目录中. 成功后,我们用新克隆的仓库替换主仓库. - -### Uploads replication[](#uploads-replication "Permalink") - -文件上传也被复制到**辅助**节点. 为了跟踪同步状态,使用了`Geo::UploadRegistry`模型. - -#### Upload Registry[](#upload-registry "Permalink") - -与[项目注册表](#project-registry)类似,有一个`Geo::UploadRegistry`模型可以跟踪同步的上传. - -CI Job Artifacts and LFS objects are synced in a similar way as uploads, but they are tracked by `Geo::JobArtifactRegistry`, and `Geo::LfsObjectRegistry` models respectively. - -#### File Download Dispatch worker[](#file-download-dispatch-worker "Permalink") - -还类似于[Repository Sync 工作器](#repository-sync-worker) ,有一个`Geo::FileDownloadDispatchWorker`类,该类定期运行以同步所有尚未同步到 Geo **辅助**节点的上载. - -通过 HTTP 复制文件,并通过`/api/v4/geo/transfers/:type/:id`端点(例如`/api/v4/geo/transfers/lfs/123` . - -## Authentication[](#authentication "Permalink") - -为了验证文件传输,每个`GeoNode`记录都有两个字段: - -* 公共访问密钥( `access_key`字段). -* 秘密访问密钥( `secret_access_key`字段). - -**次要**节点通过[JWT 请求进行](https://jwt.io/)身份验证. 当**辅助**节点希望下载文件时,它将发送带有`Authorization`标头的 HTTP 请求: - -``` -Authorization: GL-Geo <access_key>:<JWT payload> -``` - -**主**节点使用`access_key`字段查找相应的**辅助**节点并解密 JWT 有效负载,该负载包含用于标识文件请求的其他信息. 这样可以确保**辅助**节点为正确的数据库 ID 下载正确的文件. 例如,对于 LFS 对象,请求还必须包含文件的 SHA256 和. JWT 有效负载示例如下所示: - -``` -{ "data": { sha256: "31806bb23580caab78040f8c45d329f5016b0115" }, iat: "1234567890" } -``` - -如果请求的文件与请求的 SHA256 总和匹配,则 Geo **主**节点将通过[X-Sendfile](https://www.nginx.com/resources/wiki/start/topics/examples/xsendfile/)功能发送数据,这使 NGINX 可以处理文件传输而不会占用 Rails 或 Workhorse. - -**注意:** JWT 需要在所涉及的机器之间同步时钟,否则它可能会因加密错误而失败. - -## Git Push to Geo secondary[](#git-push-to-geo-secondary "Permalink") - -Git Push Proxy 作为`gitlab-shell`组件内置的功能存在. 它仅在**辅助**节点上处于活动状态. 它允许从辅助节点克隆存储库的用户推送到相同的 URL. - -定向到**次**节点的 Git `push`请求将发送到**主**节点,而`pull`请求将继续由**次**节点服务,以实现最大效率. - -HTTPS 和 SSH 请求的处理方式不同: - -* 使用 HTTPS,我们将为用户提供指向**主**节点上项目的`HTTP 302 Redirect` . Git 客户端足够聪明,可以理解该状态码并处理重定向. -* 使用 SSH,因为没有等效的方法来执行重定向,所以我们必须代理请求. 这是在[`gitlab-shell`](https://gitlab.com/gitlab-org/gitlab-shell)内部[`gitlab-shell`](https://gitlab.com/gitlab-org/gitlab-shell) ,方法是先将请求转换为 HTTP 协议,然后将其代理到**主**节点. - -[`gitlab-shell`](https://gitlab.com/gitlab-org/gitlab-shell)守护程序根据`/api/v4/allowed`的响应知道何时进行代理. 返回一个特殊的`HTTP 300`状态代码,我们执行在响应正文中指定的"自定义操作". 该响应包含允许代理`push`操作在**主**节点上发生的其他数据. - -## Using the Tracking Database[](#using-the-tracking-database "Permalink") - -除了要复制的主数据库外,Geo **辅助**节点还具有自己的单独的[跟踪数据库](#tracking-database) . - -跟踪数据库包含**辅助**节点的状态. - -任何需要在升级过程中运行的数据库迁移都需要应用于每个**辅助**节点上的跟踪数据库. - -### Configuration[](#configuration "Permalink") - -数据库配置在[`config/database_geo.yml`](https://gitlab.com/gitlab-org/gitlab/blob/master/config/database_geo.yml.postgresql)设置. [`ee/db/geo`](https://gitlab.com/gitlab-org/gitlab/tree/master/ee/db/geo)目录包含此数据库的架构和迁移. - -要为数据库编写迁移,请使用`GeoMigrationGenerator` : - -``` -rails g geo_migration [args] [options] -``` - -要迁移跟踪数据库,请运行: - -``` -bundle exec rake geo:db:migrate -``` - -### Foreign Data Wrapper[](#foreign-data-wrapper "Permalink") - -在 GitLab 10.1 中引入. - -[地理日志游标](#geo-log-cursor)使用了外部数据包装器( [FDW](#fdw) ),并提高了许多同步操作的性能. - -FDW 是 PostgreSQL 扩展( [`postgres_fdw`](https://s0www0postgresql0org.icopy.site/docs/11/postgres-fdw.html) ),已在 Geo Tracking 数据库中(在**辅助**节点上)启用,它允许它连接到只读数据库副本并执行查询和过滤来自两个实例的数据. - -该持久连接被配置为名为`gitlab_secondary`的 FDW 服务器. 此配置仅存在于数据库的用户上下文中. 要访问`gitlab_secondary` ,GitLab 需要使用先前配置的同一数据库用户. - -地理跟踪数据库以常规用户身份通过​​FDW 访问只读数据库副本,受其自身限制的限制. 凭据被配置为与先前映射的`SERVER` ( `gitlab_secondary` )相关联的`USER MAPPING` . - -FDW 配置和凭据定义由 Omnibus GitLab `gitlab-ctl reconfigure`命令自动管理. - -#### Refreshing the Foreign Tables[](#refreshing-the-foreign-tables "Permalink") - -每当在**主**节点上配置了新的地理节点或数据库架构更改时,都必须通过运行以下命令来刷新**辅助**节点上的外部表: - -``` -bundle exec rake geo:db:refresh_foreign_tables -``` - -否则,将阻止**辅助**节点正常运行. **辅助**节点将生成错误消息,如以下 PostgreSQL 错误所示: - -``` -ERROR: relation "gitlab_secondary.ci_job_artifacts" does not exist at character 323 -STATEMENT: SELECT a.attname, format_type(a.atttypid, a.atttypmod), - pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod - FROM pg_attribute a LEFT JOIN pg_attrdef d - ON a.attrelid = d.adrelid AND a.attnum = d.adnum - WHERE a.attrelid = '"gitlab_secondary"."ci_job_artifacts"'::regclass - AND a.attnum > 0 AND NOT a.attisdropped - ORDER BY a.attnum -``` - -#### Accessing data from a Foreign Table[](#accessing-data-from-a-foreign-table "Permalink") - -在 SQL 级别,您要做的就是从`gitlab_secondary.*` `SELECT`数据. - -这是一个如何从地理跟踪数据库的 FDW 访问所有项目的示例: - -``` -SELECT * FROM gitlab_secondary.projects; -``` - -作为一个更真实的示例,这是在"跟踪数据库"中过滤未归档项目的方式: - -``` -SELECT project_registry.* - FROM project_registry - JOIN gitlab_secondary.projects - ON (project_registry.project_id = gitlab_secondary.projects.id - AND gitlab_secondary.projects.archived IS FALSE) -``` - -在 ActiveRecord 级别,我们还有其他表示外部表的模型. 必须以稍微不同的方式映射它们,并且它们是只读的. - -检查`ee/app/models/geo/fdw`现有的 FDW 模型以供参考. - -从开发人员的角度来看,这与创建代表数据库视图的模型没有什么不同. - -通过上面的示例,您可以通过以下方式访问项目: - -``` -Geo::Fdw::Project.all -``` - -并通过未归档的项目访问`ProjectRegistry`过滤: - -``` -# We have to use Arel here: -project_registry_table = Geo::ProjectRegistry.arel_table -fdw_project_table = Geo::Fdw::Project.arel_table - -project_registry_table.join(fdw_project_table) - .on(project_registry_table[:project_id].eq(fdw_project_table[:id])) - .where((fdw_project_table[:archived]).eq(true)) # if you append `.to_sql` you can check generated query -``` - -## Finders[](#finders "Permalink") - -Geo 使用[Finders](https://gitlab.com/gitlab-org/gitlab/tree/master/app/finders) ,这是一些类,可以帮助您轻松查找项目/附件/等. 在跟踪数据库和主数据库中. - -### Finders Performance[](#finders-performance "Permalink") - -查找者需要将主数据库中的数据与跟踪数据库中的数据进行比较. 例如,计算已同步项目的数量通常涉及从一个数据库中检索项目 ID,并检查它们在另一个数据库中的状态. 这很慢并且需要大量内存. - -为了克服这个问题,查找器使用[FDW](#fdw)或外部数据包装器. 这允许在主数据库和跟踪数据库之间进行常规的`JOIN` . - -## Redis[](#redis "Permalink") - -Redis 的**辅助**节点上的工作方式相同的**主**节点上. 它用于缓存,存储会话和其他持久性数据. - -不使用**主**节点和**辅助**节点之间的 Redis 数据复制,因此会话等不在节点之间共享. - -## Object Storage[](#object-storage "Permalink") - -GitLab 可以选择使用对象存储来存储否则将存储在磁盘上的数据. 这些事情可以是: - -* LFS Objects -* CI 工作工件 -* Uploads - -Geo 不处理存储在对象存储中的对象. Geo 会忽略对象存储中的项目. 要么: - -* 对象存储层应注意其自身的地理复制. -* 所有辅助节点应使用相同的存储节点. - -## Verification[](#verification "Permalink") - -### Repository verification[](#repository-verification "Permalink") - -存储库将通过校验和进行验证. - -**主**节点在存储库上计算校验和. 它基本上将所有 Git 引用散列在一起,并将该散列存储在数据库的`project_repository_states`表中. - -**次**节点执行相同操作以计算其克隆的哈希,然后将哈希与**主**节点计算出的值进行比较. 如果存在不匹配,Geo 会将其标记为不匹配,管理员可以在[Geo 管理面板中](../user/admin_area/geo_nodes.html)看到此不匹配. - -## Glossary[](#glossary "Permalink") - -### Primary node[](#primary-node "Permalink") - -**主**节点是地理设置中具有读写功能的单个节点. 这是事实的唯一来源,Geo **次要**节点从那里复制数据. - -在地理位置设置中,只能有一个**主**节点. 所有**辅助**节点都连接到该**主**节点. - -### Secondary node[](#secondary-node "Permalink") - -**辅助**节点是在不同地理位置运行的**主要**节点的只读副本. - -### Streaming replication[](#streaming-replication "Permalink") - -Geo 取决于 PostgreSQL 的流复制功能. 它完全复制数据库数据和数据库模式. 数据库副本是只读副本. - -流复制取决于预写日志或 WAL. 这些日志将复制到副本并在此处重放. - -由于流复制还可以复制架构,因此数据库迁移不需要在辅助节点上运行. - -### Tracking database[](#tracking-database "Permalink") - -每个 Geo **辅助**节点上的数据库,该数据库保留其所在节点的状态. 在[使用跟踪数据库中](#using-the-tracking-database)阅读更多[信息](#using-the-tracking-database) . - -### FDW[](#fdw "Permalink") - -外部数据包装程序(FDW)是 PostgreSQL 内置的功能. 它允许从不同的数据源查询数据. 在 Geo 中,它用于查询来自不同 PostgreSQL 实例的数据. - -## Geo Event Log[](#geo-event-log "Permalink") - -Geo **主数据库**将事件存储在`geo_event_log`表中. 日志中的每个条目都包含特定类型的事件. 这些类型的事件包括: - -* 存储库已删除事件 -* 存储库重命名事件 -* 存储库更改事件 -* 存储库创建事件 -* 哈希存储迁移事件 -* Lfs 对象已删除事件 -* 哈希存储附件事件 -* Job Artifact Deleted 事件 -* 上载已删除的活动 - -### Geo Log Cursor[](#geo-log-cursor "Permalink") - -在寻找新的`Geo::EventLog`行的**辅助**节点上运行的进程. - -## Code features[](#code-features "Permalink") - -### `Gitlab::Geo` utilities[](#gitlabgeo-utilities "Permalink") - -与 Geo 相关的小型实用工具方法进入[`ee/lib/gitlab/geo.rb`](https://gitlab.com/gitlab-org/gitlab/blob/master/ee/lib/gitlab/geo.rb)文件. - -其中许多方法都使用`RequestStore`类进行缓存,以减少在整个代码库中使用这些方法对性能的影响. - -#### Current node[](#current-node "Permalink") - -类方法`.current_node`返回当前节点的`GeoNode`记录. - -我们使用`gitlab.yml`的`host` , `port`和`relative_url_root`值,并在数据库中搜索以标识我们所在的节点(请参见`GeoNode.current_node` ). - -#### Primary or secondary[](#primary-or-secondary "Permalink") - -要确定当前节点是**主**节点还是**辅助**节点,请使用`.primary?` 和`.secondary?` 类方法. - -当未启用节点时,这些方法都可能在节点上都返回`false` . 请参阅[启用](#enablement) . - -#### Geo Database configured?[](#geo-database-configured "Permalink") - -处理初始化期间发生的事情时,还有一个附加的陷阱. 在一些地方,我们使用`Gitlab::Geo.geo_database_configured?` 检查节点是否具有跟踪数据库的方法,该数据库仅存在于**辅助**节点上. 这克服了在引导新节点期间可能发生的竞争条件. - -#### Enablement[](#enablement "Permalink") - -当用户拥有包括功能的有效许可证,并且在"地理节点"屏幕上定义了至少一个节点时,我们认为地理功能已启用. - -See `Gitlab::Geo.enabled?` and `Gitlab::Geo.license_allows?` methods. - -#### Read-only[](#read-only "Permalink") - -所有地理**辅助**节点均为只读. - -[只读数据库](verifying_database_capabilities.html#read-only-database)的一般原则适用于所有 Geo **辅助**节点. 那么`Gitlab::Database.read_only?` 方法将始终在**辅助**节点上返回`true` . - -当由于节点是**辅助**节点而不允许某些写操作时,请考虑添加`Gitlab::Database.read_only?` 还是`Gitlab::Database.read_write?` 后卫,而不是`Gitlab::Geo.secondary?` . - -在复制的设置中,数据库本身已经是只读的,因此我们无需为此采取任何额外的步骤. - -## Steps needed to replicate a new data type[](#steps-needed-to-replicate-a-new-data-type "Permalink") - -随着 GitLab 的发展,我们不断需要向 Geo 复制系统添加新资源. 具体实现取决于资源的具体情况,但是需要注意以下几点: - -* 主站点上的事件生成. 每当更改/更新新资源时,我们都需要为 Log Cursor 创建一个任务. -* 事件处理. 日志游标需要为主站点生成的每种事件类型都有一个处理程序. -* 派遣工人(临时工). 确保回填条件良好. -* 同步工作者. -* 注册所有可能的状态. -* Verification. -* 清洁器. 更改辅助站点的同步设置后,需要清理一些资源. -* 地理节点状态. 我们需要在 GitLab 管理区域中提供 API 端点以及一些演示. -* 健康检查. 如果我们可以执行一些预检查并在出现问题时使节点不正常,则应该这样做. `rake gitlab:geo:check`命令也必须更新. - -### Geo self-service framework (alpha)[](#geo-self-service-framework-alpha "Permalink") - -我们开始开发新的[Geo 自助服务框架(alpha)](geo/framework.html) ,这使添加新数据类型变得容易得多. - -## History of communication channel[](#history-of-communication-channel "Permalink") - -自从第一次迭代以来,沟通渠道已经发生了变化,您可以在此处查看历史性决策以及我们为何迁移到新实现的原因. - -### Custom code (GitLab 8.6 and earlier)[](#custom-code-gitlab-86-and-earlier "Permalink") - -在 8.6 之前的 GitLab 版本中,自定义代码用于处理 HTTP 请求从**主**节点到**辅助**节点的通知. - -### System hooks (GitLab 8.7 to 9.5)[](#system-hooks-gitlab-87-to-95 "Permalink") - -后来,决定放弃自定义代码,开始使用系统挂钩. 使用它们的人越来越多,因此许多人将从对该通信层进行的改进中受益. - -我们的 API 代码(Grape)中有一个特定的**内部**端点,该端点接收来自此系统挂钩的所有请求: `/api/v4/geo/receive_events` . - -我们通过`event_name`字段切换和过滤每个事件. - -### Geo Log Cursor (GitLab 10.0 and up)[](#geo-log-cursor-gitlab-100-and-up "Permalink") - -从 GitLab 10.0 开始,不再使用[系统 Webhooks](#system-hooks-gitlab-87-to-95) , [而是](#system-hooks-gitlab-87-to-95)使用 Geo Log Cursor. 日志光标遍历`Geo::EventLog`行以查看自上次检查日志以来是否有更改,并将处理存储库更新,删除,更改和重命名. - -该表位于复制的数据库中. 与旧方法相比,它具有两个优点: - -* 复制是同步的,我们保留事件的顺序. -* 事件的复制与数据库中的更改同时发生. - -## Self-service framework[](#self-service-framework "Permalink") - -如果您想为正在处理的资源添加简单的地理复制,请查看我们的[自助服务框架](geo/framework.html) . \ No newline at end of file diff --git a/docs/606.md b/docs/606.md deleted file mode 100644 index d5d26fe..0000000 --- a/docs/606.md +++ /dev/null @@ -1,512 +0,0 @@ -# Geo self-service framework (alpha) - -> 原文:[https://docs.gitlab.com/ee/development/geo/framework.html](https://docs.gitlab.com/ee/development/geo/framework.html) - -* [Nomenclature](#nomenclature) -* [Geo Domain-Specific Language](#geo-domain-specific-language) - * [The replicator](#the-replicator) - * [Linking to a model](#linking-to-a-model) - * [API](#api) - * [Library](#library) -* [Existing Replicator Strategies](#existing-replicator-strategies) - * [Blob Replicator Strategy](#blob-replicator-strategy) - * [Replication](#replication) - * [Verification](#verification) - * [Metrics](#metrics) - * [GraphQL API](#graphql-api) - * [Admin UI](#admin-ui) - -# Geo self-service framework (alpha)[](#geo-self-service-framework-alpha "Permalink") - -**注意:**本文档可能会随时更改. 这是我们正在研究的建议,一旦实施完成,此文档将得到更新. 跟随[史诗般的](https://gitlab.com/groups/gitlab-org/-/epics/2161)进度.**注意:** Geo 自助服务框架当前处于 Alpha 状态. 如果您需要复制新的数据类型,请与 Geo 小组联系以讨论选项. 您可以在 Slack 的`#g_geo`与他们联系,或在问题或合并请求中提及`@geo-team` . - -Geo 提供了一个 API,使跨 Geo 节点轻松复制数据类型成为可能. 该 API 以 Ruby 域特定语言(DSL)的形式呈现,旨在使创建数据类型的工程师只需花费很少的精力即可复制数据. - -## Nomenclature[](#nomenclature "Permalink") - -在深入研究 API 之前,开发人员需要了解一些特定于地理位置的命名约定. - -Model - -模型是活动模型,在整个 Rails 代码库中都是如此. 它通常与数据库表绑定. 从地理角度来看,模型可以具有一个或多个资源. - -Resource - -资源是属于模型的一条数据,由 GitLab 功能生成. 使用存储机制将其持久化. 默认情况下,资源不可复制. - -Data type - -Data type is how a resource is stored. Each resource should fit in one of the data types Geo supports: :- Git repository :- Blob :- Database - -有关更多详细信息,请参见[数据类型](../../administration/geo/replication/datatypes.html) . - -Geo Replicable - -可复制资源是 Geo 希望在 Geo 节点之间同步的资源. 受支持的可复制数据类型有限. 实现属于已知数据类型之一的资源的复制所需的工作量很小. - -Geo Replicator - -地理复制器是知道如何复制可复制对象的对象. 它负责::-触发事件(生产者):-消费事件(消费者) - -它与 Geo Replicable 数据类型相关. 所有复制器都有一个公共接口,可用于处理(即产生和使用)事件. 它负责主节点(产生事件的地方)和次节点(消耗事件的地方)之间的通信. 想要将 Geo 纳入其功能的工程师将使用复制器的 API 来实现这一目标. - -Geo Domain-Specific Language - -语法糖使工程师可以轻松指定应复制哪些资源以及如何复制. - -## Geo Domain-Specific Language[](#geo-domain-specific-language "Permalink") - -### The replicator[](#the-replicator "Permalink") - -首先,您需要编写一个复制器. 复制器位于[`ee/app/replicators/geo`](https://gitlab.com/gitlab-org/gitlab/-/tree/master/ee/app/replicators/geo) . 对于每个需要复制的资源,即使多个资源绑定到同一模型,也应指定一个单独的复制器. - -例如,以下复制器复制软件包文件: - -``` -module Geo - class PackageFileReplicator < Gitlab::Geo::Replicator - # Include one of the strategies your resource needs - include ::Geo::BlobReplicatorStrategy - - # Specify the CarrierWave uploader needed by the used strategy - def carrierwave_uploader - model_record.file - end - - # Specify the model this replicator belongs to - def self.model - ::Packages::PackageFile - end - end -end -``` - -类名应该是唯一的. 它还与注册表的表名紧密相关,因此在此示例中,注册表表将为`package_file_registry` . - -对于不同的数据类型,Geo 支持包括不同的策略. 选择一个适合您的需求. - -### Linking to a model[](#linking-to-a-model "Permalink") - -要将此复制器绑定到模型,需要在模型代码中添加以下内容: - -``` -class Packages::PackageFile < ApplicationRecord - include ::Gitlab::Geo::ReplicableModel - - with_replicator Geo::PackageFileReplicator -end -``` - -### API[](#api "Permalink") - -设置好后,可以通过模型轻松访问复制器: - -``` -package_file = Packages::PackageFile.find(4) # just a random id as example -replicator = package_file.replicator -``` - -或者从复制器取回模型: - -``` -replicator.model_record -=> <Packages::PackageFile id:4> -``` - -复制器可用于生成事件,例如在 ActiveRecord 挂钩中: - -``` - after_create_commit -> { replicator.publish_created_event } -``` - -#### Library[](#library "Permalink") - -所有这些背后的框架位于[`ee/lib/gitlab/geo/`](https://gitlab.com/gitlab-org/gitlab/-/tree/master/ee/lib/gitlab/geo) . - -## Existing Replicator Strategies[](#existing-replicator-strategies "Permalink") - -在编写一种新的复制器策略之前,请检查以下内容,以查看现有策略之一是否已经可以处理您的资源. 如果不确定,请咨询地理团队. - -### Blob Replicator Strategy[](#blob-replicator-strategy "Permalink") - -使用`Geo::BlobReplicatorStrategy`模块,Geo 可以轻松支持使用[CarrierWave 的](https://github.com/carrierwaveuploader/carrierwave) `Uploader::Base`模型. - -首先,每个文件应具有其自己的主要 ID 和模型. Geo 强烈建议将*每个文件都*视为头等公民,因为根据我们的经验,这大大简化了跟踪复制和验证状态. - -例如,要添加对具有`Widget` `widgets`表的`Widget`模型引用的文件的支持,您将执行以下步骤: - -#### Replication[](#replication "Permalink") - -1. 在`Widget`类中包含`Gitlab::Geo::ReplicableModel` ,并使用`with_replicator Geo::WidgetReplicator`指定 Replicator 类. - - 此时, `Widget`类应如下所示: - - ``` - # frozen_string_literal: true - - class Widget < ApplicationRecord - include ::Gitlab::Geo::ReplicableModel - - with_replicator Geo::WidgetReplicator - - mount_uploader :file, WidgetUploader - - def self.replicables_for_geo_node - # Should be implemented. The idea of the method is to restrict - # the set of synced items depending on synchronization settings - end - ... - end - ``` - -2. 创建`ee/app/replicators/geo/widget_replicator.rb` . 实现`#carrierwave_uploader`方法,该方法应返回`CarrierWave::Uploader` . 并实现类方法`.model`以返回`Widget`类. - - ``` - # frozen_string_literal: true - - module Geo - class WidgetReplicator < Gitlab::Geo::Replicator - include ::Geo::BlobReplicatorStrategy - - def self.model - ::Widget - end - - def carrierwave_uploader - model_record.file - end - end - end - ``` - -3. 创建`ee/spec/replicators/geo/widget_replicator_spec.rb`并执行必要的设置,以定义共享示例的`model_record`变量. - - ``` - # frozen_string_literal: true - - require 'spec_helper' - - RSpec.describe Geo::WidgetReplicator do - let(:model_record) { build(:widget) } - - it_behaves_like 'a blob replicator' - end - ``` - -4. 创建`widget_registry`表,以便 Geo 次要对象可以跟踪每个 Widget 文件的同步和验证状态: - - ``` - # frozen_string_literal: true - - class CreateWidgetRegistry < ActiveRecord::Migration[6.0] - DOWNTIME = false - - disable_ddl_transaction! - - def up - unless table_exists?(:widget_registry) - ActiveRecord::Base.transaction do - create_table :widget_registry, id: :bigserial, force: :cascade do |t| - t.integer :widget_id, null: false - t.integer :state, default: 0, null: false, limit: 2 - t.integer :retry_count, default: 0, limit: 2 - t.text :last_sync_failure - t.datetime_with_timezone :retry_at - t.datetime_with_timezone :last_synced_at - t.datetime_with_timezone :created_at, null: false - - t.index :widget_id - t.index :retry_at - t.index :state - end - end - end - - add_text_limit :widget_registry, :last_sync_failure, 255 - end - - def down - drop_table :widget_registry - end - end - ``` - -5. Create `ee/app/models/geo/widget_registry.rb`: - - ``` - # frozen_string_literal: true - - class Geo::WidgetRegistry < Geo::BaseRegistry - include Geo::ReplicableRegistry - - MODEL_CLASS = ::Widget - MODEL_FOREIGN_KEY = :widget_id - - belongs_to :widget, class_name: 'Widget' - end - ``` - - 方法`has_create_events?` 在大多数情况下应该返回`true` . 但是,如果您添加的实体没有创建事件,则根本不要添加该方法. - -6. Update `REGISTRY_CLASSES` in `ee/app/workers/geo/secondary/registry_consistency_worker.rb`. - -7. Create `ee/spec/factories/geo/widget_registry.rb`: - - ``` - # frozen_string_literal: true - - FactoryBot.define do - factory :geo_widget_registry, class: 'Geo::WidgetRegistry' do - widget - state { Geo::WidgetRegistry.state_value(:pending) } - - trait :synced do - state { Geo::WidgetRegistry.state_value(:synced) } - last_synced_at { 5.days.ago } - end - - trait :failed do - state { Geo::WidgetRegistry.state_value(:failed) } - last_synced_at { 1.day.ago } - retry_count { 2 } - last_sync_failure { 'Random error' } - end - - trait :started do - state { Geo::WidgetRegistry.state_value(:started) } - last_synced_at { 1.day.ago } - retry_count { 0 } - end - end - end - ``` - -8. Create `ee/spec/models/geo/widget_registry_spec.rb`: - - ``` - # frozen_string_literal: true - - require 'spec_helper' - - RSpec.describe Geo::WidgetRegistry, :geo, type: :model do - let_it_be(:registry) { create(:geo_widget_registry) } - - specify 'factory is valid' do - expect(registry).to be_valid - end - - include_examples 'a Geo framework registry' - - describe '.find_registry_differences' do - ... # To be implemented - end - end - ``` - -小部件现在应该由 Geo 复制! - -#### Verification[](#verification "Permalink") - -1. 将验证状态字段添加到`widgets`表中,以便 Geo 主数据库可以跟踪验证状态: - - ``` - # frozen_string_literal: true - - class AddVerificationStateToWidgets < ActiveRecord::Migration[6.0] - DOWNTIME = false - - def change - add_column :widgets, :verification_retry_at, :datetime_with_timezone - add_column :widgets, :verified_at, :datetime_with_timezone - add_column :widgets, :verification_checksum, :binary, using: 'verification_checksum::bytea' - add_column :widgets, :verification_failure, :string - add_column :widgets, :verification_retry_count, :integer - end - end - ``` - -2. 在`verification_failure`和`verification_checksum`上添加部分索引,以确保可以高效执行重新验证: - - ``` - # frozen_string_literal: true - - class AddVerificationFailureIndexToWidgets < ActiveRecord::Migration[6.0] - include Gitlab::Database::MigrationHelpers - - DOWNTIME = false - - disable_ddl_transaction! - - def up - add_concurrent_index :widgets, :verification_failure, where: "(verification_failure IS NOT NULL)", name: "widgets_verification_failure_partial" - add_concurrent_index :widgets, :verification_checksum, where: "(verification_checksum IS NOT NULL)", name: "widgets_verification_checksum_partial" - end - - def down - remove_concurrent_index :widgets, :verification_failure - remove_concurrent_index :widgets, :verification_checksum - end - end - ``` - -要做的事情:在二级服务器上添加验证. 这应作为以下内容的一部分完成[:Geo:自助服务框架-包文件验证的首次实现](https://gitlab.com/groups/gitlab-org/-/epics/1817) - -小部件现在应由 Geo 验证! - -#### Metrics[](#metrics "Permalink") - -指标由`Geo::MetricsUpdateWorker`收集,保存在`GeoNodeStatus`以显示在 UI 中,然后发送给 Prometheus. - -1. 将字段`widget_count` , `widget_checksummed_count` , `widget_checksum_failed_count` , `widget_synced_count` , `widget_failed_count`和`widget_registry_count`到`ee/app/models/geo_node_status.rb` `GeoNodeStatus#RESOURCE_STATUS_FIELDS`数组中. -2. 将相同的字段添加到`ee/app/models/geo_node_status.rb` `GeoNodeStatus#PROMETHEUS_METRICS`哈希中. -3. 将相同字段添加到`doc/administration/monitoring/prometheus/gitlab_metrics.md` `Sidekiq metrics`表中. -4. 将相同的字段添加到`doc/api/geo_nodes.md` `GET /geo_nodes/status`示例响应中. -5. 将相同的字段添加到`ee/spec/models/geo_node_status_spec.rb`和`ee/spec/factories/geo_node_statuses.rb` . -6. Set `widget_count` in `GeoNodeStatus#load_data_from_current_node`: - - ``` - self.widget_count = Geo::WidgetReplicator.primary_total_count - ``` - -7. 添加`GeoNodeStatus#load_widgets_data`来设置`widget_synced_count` , `widget_failed_count`和`widget_registry_count` : - - ``` - def load_widget_data - self.widget_synced_count = Geo::WidgetReplicator.synced_count - self.widget_failed_count = Geo::WidgetReplicator.failed_count - self.widget_registry_count = Geo::WidgetReplicator.registry_count - end - ``` - -8. Call `GeoNodeStatus#load_widgets_data` in `GeoNodeStatus#load_secondary_data`. - -9. Set `widget_checksummed_count` and `widget_checksum_failed_count` in `GeoNodeStatus#load_verification_data`: - - ``` - self.widget_checksummed_count = Geo::WidgetReplicator.checksummed_count self.widget_checksum_failed_count = Geo::WidgetReplicator.checksum_failed_count - ``` - -小部件复制和验证指标现在应该可以在 API,管理区域 UI 和 Prometheus 中使用! - -#### GraphQL API[](#graphql-api "Permalink") - -1. 在`ee/app/graphql/types/geo/geo_node_type.rb`向`GeoNodeType`添加一个新字段: - - ``` - field :widget_registries, ::Types::Geo::WidgetRegistryType.connection_type, - null: true, - resolver: ::Resolvers::Geo::WidgetRegistriesResolver, - description: 'Find widget registries on this Geo node', - feature_flag: :geo_self_service_framework - ``` - -2. 新添加`widget_registries`字段名的`expected_fields`在阵列`ee/spec/graphql/types/geo/geo_node_type_spec.rb` . - -3. Create `ee/app/graphql/resolvers/geo/widget_registries_resolver.rb`: - - ``` - # frozen_string_literal: true - - module Resolvers - module Geo - class WidgetRegistriesResolver < BaseResolver - include RegistriesResolver - end - end - end - ``` - -4. Create `ee/spec/graphql/resolvers/geo/widget_registries_resolver_spec.rb`: - - ``` - # frozen_string_literal: true - - require 'spec_helper' - - RSpec.describe Resolvers::Geo::WidgetRegistriesResolver do - it_behaves_like 'a Geo registries resolver', :geo_widget_registry - end - ``` - -5. Create `ee/app/finders/geo/widget_registry_finder.rb`: - - ``` - # frozen_string_literal: true - - module Geo - class WidgetRegistryFinder - include FrameworkRegistryFinder - end - end - ``` - -6. Create `ee/spec/finders/geo/widget_registry_finder_spec.rb`: - - ``` - # frozen_string_literal: true - - require 'spec_helper' - - RSpec.describe Geo::WidgetRegistryFinder do - it_behaves_like 'a framework registry finder', :geo_widget_registry - end - ``` - -7. Create `ee/app/graphql/types/geo/widget_registry_type.rb`: - - ``` - # frozen_string_literal: true - - module Types - module Geo - # rubocop:disable Graphql/AuthorizeTypes because it is included - class WidgetRegistryType < BaseObject - include ::Types::Geo::RegistryType - - graphql_name 'WidgetRegistry' - description 'Represents the sync and verification state of a widget' - - field :widget_id, GraphQL::ID_TYPE, null: false, description: 'ID of the Widget' - end - end - end - ``` - -8. Create `ee/spec/graphql/types/geo/widget_registry_type_spec.rb`: - - ``` - # frozen_string_literal: true - - require 'spec_helper' - - RSpec.describe GitlabSchema.types['WidgetRegistry'] do - it_behaves_like 'a Geo registry type' - - it 'has the expected fields (other than those included in RegistryType)' do - expected_fields = %i[widget_id] - - expect(described_class).to have_graphql_fields(*expected_fields).at_least - end - end - ``` - -9. Add integration tests for providing Widget registry data to the frontend via the GraphQL API, by duplicating and modifying the following shared examples in `ee/spec/requests/api/graphql/geo/registries_spec.rb`: - - ``` - it_behaves_like 'gets registries for', { - field_name: 'widgetRegistries', - registry_class_name: 'WidgetRegistry', - registry_factory: :geo_widget_registry, - registry_foreign_key_field_name: 'widgetId' - } - ``` - -现在应该可以通过 GraphQL API 获得各个小部件同步和验证数据! - -1. 注意复制"更新"事件. Geo Framework 目前不支持复制"更新"事件,因为此时添加到框架的所有实体都是不可变的. 如果您要添加的实体属于这种情况,请遵循[https://gitlab.com/gitlab-org/gitlab/-/issues/118743](https://gitlab.com/gitlab-org/gitlab/-/issues/118743)和[https://gitlab.com/gitlab-org/gitlab /// issues / 118745](https://gitlab.com/gitlab-org/gitlab/-/issues/118745)作为添加新事件类型的示例. 添加通知后,请同时删除它. - -#### Admin UI[](#admin-ui "Permalink") - -要做的事情:这应该作为《 [地理手册》的](https://gitlab.com/groups/gitlab-org/-/epics/2525)一部分完成[:实现自助服务框架可复制的前端](https://gitlab.com/groups/gitlab-org/-/epics/2525) - -窗口小部件同步和验证数据(总计和个人)现在应该在管理界面中可用! \ No newline at end of file diff --git a/docs/607.md b/docs/607.md deleted file mode 100644 index 3c3a444..0000000 --- a/docs/607.md +++ /dev/null @@ -1,311 +0,0 @@ -# Gitaly developers guide - -> 原文:[https://docs.gitlab.com/ee/development/gitaly.html](https://docs.gitlab.com/ee/development/gitaly.html) - -* [Deep Dive](#deep-dive) -* [Beginner’s guide](#beginners-guide) -* [Developing new Git features](#developing-new-git-features) - * [`gitaly-ruby`](#gitaly-ruby) -* [Gitaly-Related Test Failures](#gitaly-related-test-failures) -* [Legacy Rugged code](#legacy-rugged-code) -* [`TooManyInvocationsError` errors](#toomanyinvocationserror-errors) -* [Request counts](#request-counts) -* [Running tests with a locally modified version of Gitaly](#running-tests-with-a-locally-modified-version-of-gitaly) - * [Use a locally modified version of Gitaly RPC client](#use-a-locally-modified-version-of-gitaly-rpc-client) -* [Wrapping RPCs in Feature Flags](#wrapping-rpcs-in-feature-flags) - * [Gitaly](#gitaly) - * [GitLab Rails](#gitlab-rails) - * [Testing with GDK](#testing-with-gdk) - -# Gitaly developers guide[](#gitaly-developers-guide "Permalink") - -[Gitaly](https://gitlab.com/gitlab-org/gitaly)是 GitLab Rails,Workhorse 和 GitLab Shell 使用的高级 Git RPC 服务. - -## Deep Dive[](#deep-dive "Permalink") - -在 2019 年 5 月,Bob Van Landuyt 主持了有关 GitLab 的[Gitaly 项目](https://gitlab.com/gitlab-org/gitaly)以及如何以 Ruby 的形式进行的 Deep Dive(仅限 GitLab 团队成员: `https://gitlab.com/gitlab-org/create-stage/issues/1` : [//gitlab.com/gitlab-org/create-stage/issues/1](https://gitlab.com/gitlab-org/gitaly) )开发人员,以便与将来可能在代码库这一部分工作的任何人共享他的特定领域知识. - -您可以[在 YouTube 上](https://www.youtube.com/watch?v=BmlEWFS8ORo)找到[录音](https://www.youtube.com/watch?v=BmlEWFS8ORo) ,在[Google 幻灯片](https://docs.google.com/presentation/d/1VgRbiYih9ODhcPnL8dS0W98EwFYpJ7GXMPpX-1TM6YE/edit)和[PDF 中](https://gitlab.com/gitlab-org/create-stage/uploads/a4fdb1026278bda5c1c5bb574379cf80/Create_Deep_Dive__Gitaly_for_Create_Ruby_Devs.pdf)找到[幻灯片](https://docs.google.com/presentation/d/1VgRbiYih9ODhcPnL8dS0W98EwFYpJ7GXMPpX-1TM6YE/edit) . - -截至 GitLab 11.11 为止,本次深入介绍中涉及的所有内容都是准确的,尽管自那时以来特定细节可能有所更改,但它仍应作为一个很好的介绍. - -## Beginner’s guide[](#beginners-guide "Permalink") - -首先阅读 Gitaly 存储库的[Gitaly 贡献初学者指南](https://gitlab.com/gitlab-org/gitaly/blob/master/doc/beginners_guide.md) . 它描述了如何设置 Gitaly,Gitaly 的各个组件以及它们的作用以及如何运行其测试套件. - -## Developing new Git features[](#developing-new-git-features "Permalink") - -要读取或写入 Git 数据,必须向 Gitaly 发出请求. 这意味着如果您要开发一项新功能,则需要`lib/gitlab/git`尚不可用的数据,则必须对 Gitaly 进行更改. - -> 这是一个尚未明确定义的新过程. 如果您想提供 Git 功能,但遇到困难,请与 Gitaly 团队或`@jacobvosmaer-gitlab` . - -"新功能"是指`lib/gitlab/git`中从`lib/gitlab/git`外部调用的任何方法或类. 有关从`lib/gitlab/git`内部调用的新方法,请参见下面的"修改现有 Git 功能". - -在`lib/gitlab/git`之外的任何地方,都不应有任何通过磁盘访问(例如 Rugged, `git` , `rm -rf` )接触 Git 存储库的新代码. - -添加新的 Gitaly 功能的过程是: - -* 探索/原型制作 -* 在[`gitaly-proto`](https://gitlab.com/gitlab-org/gitaly-proto)设计和创建新的 Gitaly RPC -* 发行新版本的`gitaly-proto` -* 用 Go 或 Ruby [在 Gitaly 中](https://gitlab.com/gitlab-org/gitaly)编写 RPC 的实现和测试 -* release a new version of Gitaly -* 在调用新 Gitaly RPC 的 GitLab CE / EE,GitLab Workhorse 或 GitLab Shell 中编写客户端代码 - -这些步骤经常重叠. 在测试和开发过程中,可以使用未发行的 Gitaly 和`gitaly-proto`版本. - -* 有关使用未发布的协议编写服务器端代码的说明,请参见[Gitaly 存储库](https://gitlab.com/gitlab-org/gitaly/blob/master/CONTRIBUTING.md#development-and-testing-with-a-custom-gitaly-proto) . -* 有关使用修改后的 Gitaly 版本运行 GitLab CE 测试的说明,请参见[下文](#running-tests-with-a-locally-modified-version-of-gitaly) . -* 在 GDK 中运行`gdk install`并重新启动`gdk run` (或`gdk run app` )以使用本地修改的 Gitaly 版本进行开发 - -### `gitaly-ruby`[](#gitaly-ruby "Permalink") - -可以在[`gitaly-ruby`](https://gitlab.com/gitlab-org/gitaly/tree/master/ruby)使用 Ruby 代码在[`gitaly-ruby`](https://gitlab.com/gitlab-org/gitaly/tree/master/ruby)实现和测试 RPC. 这应该使对不喜欢编写 Go 代码的开发人员的贡献更加容易. - -[Gitaly 存储库](https://gitlab.com/gitlab-org/gitaly/blob/master/doc/ruby_endpoint.md)中提供[了](https://gitlab.com/gitlab-org/gitaly/blob/master/doc/ruby_endpoint.md)有关此方法[的文档](https://gitlab.com/gitlab-org/gitaly/blob/master/doc/ruby_endpoint.md) . - -## Gitaly-Related Test Failures[](#gitaly-related-test-failures "Permalink") - -如果您的测试套件因 Gitaly 问题而失败,请首先尝试运行: - -``` -rm -rf tmp/tests/gitaly -``` - -在 RSpec 测试期间,Gitaly 实例会将日志写入`gitlab/log/gitaly-test.log` . - -## Legacy Rugged code[](#legacy-rugged-code "Permalink") - -尽管 Gitaly 可以处理所有 Git 访问,但许多 GitLab 客户仍在 NFS 上运行 Gitaly. 由于 N + 1 个 Gitaly 调用和其他原因,用于 Git 调用的传统 Rugged 实现可能比 Gitaly RPC 更快. 有关更多详细信息,请参见[问题](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/57317) . - -在 GitLab 消除了大多数这些低效率问题或对 Git 数据停止使用 NFS 之前,可以通过功能标志启用某些最常用 RPC 的 Rugged 实现: - -* `rugged_find_commit` -* `rugged_get_tree_entries` -* `rugged_tree_entry` -* `rugged_commit_is_ancestor` -* `rugged_commit_tree_entry` -* `rugged_list_commits_by_oid` - -方便的 Rake 任务可用于一起启用或禁用这些标志. 启用: - -``` -bundle exec rake gitlab:features:enable_rugged -``` - -禁用: - -``` -bundle exec rake gitlab:features:disable_rugged -``` - -此代码大部分存在于`lib/gitlab/git/rugged_impl`目录中. - -**注意:**除非与[Gitaly Team](https://gitlab.com/groups/gl-gitaly/group_members)明确讨论,否则您无需添加或修改与 Rugged 相关的代码. 此代码不适用于 GitLab.com 或其他不使用 NFS 的 GitLab 实例. - -## `TooManyInvocationsError` errors[](#toomanyinvocationserror-errors "Permalink") - -在开发和测试过程中,您可能会遇到`Gitlab::GitalyClient::TooManyInvocationsError`故障. 该`GitalyClient`将试图通过时 Gitaly 被称为 30 倍以上在单个的 Rails 请求或 Sidekiq 执行提高此错误来阻止对潜在的 n + 1 点的问题. - -作为临时措施,导出`GITALY_DISABLE_REQUEST_LIMITS=1`以消除该错误. 这将在开发环境中禁用 n + 1 检测. - -请在 GitLab CE 或 EE 存储库中提出问题,以报告该问题. 包括标签〜Gitaly〜性能〜"技术债务". 请确保问题包含完整的堆栈跟踪和`TooManyInvocationsError`错误消息. 如果可能,还包括任何已知的失败测试. - -找出 n + 1 问题的根源. 通常,这将是一个循环,导致对数组中的每个元素调用 Gitaly. 如果您无法找出问题所在,请与[Gitaly 小组](https://gitlab.com/groups/gl-gitaly/group_members)成员联系以寻求帮助. - -找到源之后,将其包装在`allow_n_plus_1_calls`块中,如下所示: - -``` -# n+1: link to n+1 issue -Gitlab::GitalyClient.allow_n_plus_1_calls do - # original code - commits.each { |commit| ... } -end -``` - -一旦将代码包装在此块中,将从 n + 1 检测中排除此代码路径. - -## Request counts[](#request-counts "Permalink") - -提交和其他 Git 数据现在通过 Gitaly 获取. 可以像数据库一样批处理这些提取. 这样可以提高客户端以及 Gitaly 本身以及用户的性能. 为了保持性能稳定并防止性能下降,可以对 Gitaly 通话进行计数,并可以对通话计数进行测试. 这需要设置`:request_store`标志. - -``` -describe 'Gitaly Request count tests' do - context 'when the request store is activated', :request_store do - it 'correctly counts the gitaly requests made' do - expect { subject }.to change { Gitlab::GitalyClient.get_request_count }.by(10) - end - end -end -``` - -## Running tests with a locally modified version of Gitaly[](#running-tests-with-a-locally-modified-version-of-gitaly "Permalink") - -通常,GitLab CE / EE 测试在`tmp/tests/gitaly`使用 Gitaly 的本地克隆,固定在`GITALY_SERVER_VERSION`指定的版本上. `GITALY_SERVER_VERSION`文件还支持分支和 SHA,以在[https://gitlab.com/gitlab-org/gitaly 中](https://gitlab.com/gitlab-org/gitaly)使用自定义提交. - -**注:**通过引入自动部署 Gitaly 的,格式`GITALY_SERVER_VERSION`用总括的语法一致. 它不再支持`=revision` ,它将评估文件内容作为 Git 引用(分支或 SHA),仅当它与 semver 匹配时才在`v` . - -如果要针对修改后的 Gitaly 版本在本地运行测试,则可以用符号链接替换`tmp/tests/gitaly` . 这要快得多,因为这样可以避免每次运行`rspec`时都重新安装 Gitaly. - -``` -rm -rf tmp/tests/gitaly -ln -s /path/to/gitaly tmp/tests/gitaly -``` - -在运行测试之前,请确保在本地 Gitaly 目录中运行`make` . 否则,Gitaly 将无法启动. - -如果您在两次测试之间更改了本地 Gitaly,则需要再次手动运行`make` . - -请注意,CI 测试不会使用您本地修改的 Gitaly 版本. 要在 CI 中使用自定义 Gitaly 版本,您需要按照本段开头所述更新 GITALY_SERVER_VERSION. - -要使用其他 Gitaly 存储库(例如,如果您的更改出现在 fork 上),则可以在运行测试时指定`GITALY_REPO_URL`环境变量: - -``` -GITALY_REPO_URL=https://gitlab.com/nick.thomas/gitaly bundle exec rspec spec/lib/gitlab/git/repository_spec.rb -``` - -如果您的 Gitaly 分支是私有的,则可以生成一个[Deploy Token](../user/project/deploy_tokens/index.html)并在 URL 中指定它: - -``` -GITALY_REPO_URL=https://gitlab+deploy-token-1000:token-here@gitlab.com/nick.thomas/gitaly bundle exec rspec spec/lib/gitlab/git/repository_spec.rb -``` - -要在 CI 中使用自定义的 Gitaly 存储库,例如,如果您希望 GitLab 分支始终使用自己的 Gitaly 分支,请将`GITALY_REPO_URL`设置为[CI 环境变量](../ci/variables/README.html#gitlab-cicd-environment-variables) . - -### Use a locally modified version of Gitaly RPC client[](#use-a-locally-modified-version-of-gitaly-rpc-client "Permalink") - -如果要对 RPC 客户端进行更改,例如添加新端点或向现有端点添加新参数,请遵循[Gitaly proto](https://gitlab.com/gitlab-org/gitaly/blob/master/proto/README.md)指南. 在推送具有更改的分支(例如`new-feature-branch` )之后: - -1. 将 Rails 的`Gemfile`的`gitaly`行更改为: - - ``` - gem 'gitaly', git: 'https://gitlab.com/gitlab-org/gitaly.git', branch: 'new-feature-branch' - ``` - -2. 运行`bundle install`以使用修改后的 RPC 客户端. - -* * * - -[Return to Development documentation](README.html) - -## Wrapping RPCs in Feature Flags[](#wrapping-rpcs-in-feature-flags "Permalink") - -以下是在功能标记后在 Gitaly 中选通新功能的步骤. - -### Gitaly[](#gitaly "Permalink") - -1. 创建一个包范围的标志名: - - ``` - var findAllTagsFeatureFlag = "go-find-all-tags" - ``` - -2. 使用`featureflag`包在代码中创建一个开关: - - ``` - if featureflag.IsEnabled(ctx, findAllTagsFeatureFlag) { - // go implementation - } else { - // ruby implementation - } - ``` - -3. 创建 Prometheus 指标: - - ``` - var findAllTagsRequests = prometheus.NewCounterVec( - prometheus.CounterOpts{ - Name: "gitaly_find_all_tags_requests_total", - Help: "Counter of go vs ruby implementation of FindAllTags", - }, - []string{"implementation"}, - ) - - func init() { - prometheus.Register(findAllTagsRequests) - } - - if featureflag.IsEnabled(ctx, findAllTagsFeatureFlag) { - findAllTagsRequests.WithLabelValues("go").Inc() - // go implementation - } else { - findAllTagsRequests.WithLabelValues("ruby").Inc() - // ruby implementation - } - ``` - -4. Set headers in tests: - - ``` - import ( - "google.golang.org/grpc/metadata" - - "gitlab.com/gitlab-org/gitaly/internal/featureflag" - ) - - //... - - md := metadata.New(map[string]string{featureflag.HeaderKey(findAllTagsFeatureFlag): "true"}) - ctx = metadata.NewOutgoingContext(context.Background(), md) - - c, err = client.FindAllTags(ctx, rpcRequest) - require.NoError(t, err) - ``` - -### GitLab Rails[](#gitlab-rails "Permalink") - -1. 通过设置功能标记在 Rails 控制台中进行测试: - - **注意:请**注意标志的名称以及在 Rails 控制台中使用的标志的名称. 它们之间是有区别的(用下划线代替短划线,并且更改了名称前缀). 确保在所有标志`gitaly_`加上`gitaly_` . - - ``` - Feature.enable('gitaly_go_find_all_tags') - ``` - -### Testing with GDK[](#testing-with-gdk "Permalink") - -为确保正确设置该标志并将其放入 Gitaly 中,可以使用 GDK 检查集成: - -1. 标志的状态必须是可观察的. 要检查它,您需要通过获取 Prometheus 指标来启用它: - 1. 导航到 GDK 的根目录. - 2. 确保您已经为 Gitaly 签出了正确的分支. - 3. 使用`make gitaly-setup`重新编译它,并使用`gdk restart gitaly`重新启动服务. - 4. 确保您的设置正在运行: `gdk status | grep praefect` `gdk status | grep praefect` . - 5. 检查使用了什么配置文件: `cat ./services/praefect/run | grep praefect` `-config`标志的`cat ./services/praefect/run | grep praefect`值 - 6. 在配置文件中取消注释`prometheus_listen_addr`并运行`gdk restart gitaly` . -2. Make sure that the flag is not enabled yet: - 1. 执行触发更改所需的任何操作(项目创建,提交提交,观察历史记录等). - 2. 检查当前指标列表是否具有新的功能标记计数器: - - ``` - curl --silent http://localhost:9236/metrics | grep go_find_all_tags - ``` - -3. 一旦观察到新功能标志的度量标准并递增,就可以启用新功能: - 1. 导航到 GDK 的根目录. - 2. 启动一个 Rails 控制台: - - ``` - bundle install && bundle exec rails console - ``` - - 3. 检查功能标志列表: - - ``` - Feature :: Gitaly . server_feature_flags - ``` - - 应该禁用`"gitaly-feature-go-find-all-tags"=>"false"` . - - 4. 启用它: - - ``` - Feature . enable ( 'gitaly_go_find_all_tags' ) - ``` - - 5. 退出 Rails 控制台并执行触发更改所需的任何操作(项目创建,提交提交,观察历史记录等). - 6. 通过观察该功能的度量来确认该功能已启用: - - ``` - curl --silent http://localhost:9236/metrics | grep go_find_all_tags - ``` \ No newline at end of file diff --git a/docs/608.md b/docs/608.md deleted file mode 100644 index bae58bf..0000000 --- a/docs/608.md +++ /dev/null @@ -1 +0,0 @@ -> 原文:[https://design.gitlab.com/](https://design.gitlab.com/) \ No newline at end of file diff --git a/docs/609.md b/docs/609.md deleted file mode 100644 index 23efcd3..0000000 --- a/docs/609.md +++ /dev/null @@ -1,28 +0,0 @@ -# GitLab development style guides - -> 原文:[https://docs.gitlab.com/ee/development/fe_guide/style/](https://docs.gitlab.com/ee/development/fe_guide/style/) - -* [JavaScript style guide](#javascript-style-guide) -* [SCSS style guide](#scss-style-guide) -* [HTML style guide](#html-style-guide) -* [Vue style guide](#vue-style-guide) - -# GitLab development style guides[](#gitlab-development-style-guides "Permalink") - -请参阅下面有关开发 GitLab 的相关样式指南,指南,棉绒和其他信息. - -## JavaScript style guide[](#javascript-style-guide "Permalink") - -我们使用`eslint`来实施我们的[JavaScript 样式指南](javascript.html) . 我们的指南基于出色的[AirBnB](https://github.com/airbnb/javascript)样式指南,并做了一些小改动. - -## SCSS style guide[](#scss-style-guide "Permalink") - -我们的[SCSS 约定](scss.html)通过[`scss-lint`](https://github.com/sds/scss-lint)强制执行. - -## HTML style guide[](#html-style-guide "Permalink") - -与其余代码库一致的编写[HTML 代码的](html.html)准则. - -## Vue style guide[](#vue-style-guide "Permalink") - -在[Vue 样式指南中](vue.html)可以找到有关 Vue 代码的准则和约定. \ No newline at end of file diff --git a/docs/610.md b/docs/610.md deleted file mode 100644 index 3b53815..0000000 --- a/docs/610.md +++ /dev/null @@ -1,244 +0,0 @@ -# API style guide - -> 原文:[https://docs.gitlab.com/ee/development/api_styleguide.html](https://docs.gitlab.com/ee/development/api_styleguide.html) - -* [Instance variables](#instance-variables) -* [Entities](#entities) -* [Documentation](#documentation) -* [Methods and parameters description](#methods-and-parameters-description) -* [Declared parameters](#declared-parameters) - * [Exclude parameters from parent namespaces](#exclude-parameters-from-parent-namespaces) - * [When to use `declared(params)`](#when-to-use-declaredparams) -* [Array types](#array-types) - * [Automatic coercion of nil inputs](#automatic-coercion-of-nil-inputs) -* [Using HTTP status helpers](#using-http-status-helpers) -* [Using API path helpers in GitLab Rails codebase](#using-api-path-helpers-in-gitlab-rails-codebase) -* [Custom Validators](#custom-validators) - * [Using custom validators](#using-custom-validators) - * [Adding a new custom validator](#adding-a-new-custom-validator) -* [Internal API](#internal-api) -* [Avoiding N+1 problems](#avoiding-n1-problems) - * [Verifying with tests](#verifying-with-tests) -* [Testing](#testing) - -# API style guide[](#api-style-guide "Permalink") - -该样式指南建议 API 开发的最佳做法. - -## Instance variables[](#instance-variables "Permalink") - -请不要使用实例变量,不需要它们(我们不需要像在 Rails 视图中那样访问它们),可以使用局部变量. - -## Entities[](#entities "Permalink") - -始终使用[实体](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/api/entities)来呈现端点的有效负载. - -## Documentation[](#documentation "Permalink") - -API 端点必须随附[文档](documentation/styleguide.html#api) ,除非[文档](documentation/styleguide.html#api)在内部或在功能标志后面. 这些文档应位于同一合并请求中,或者在严格必要的情况下,应与原始合并请求具有相同的里程碑. - -## Methods and parameters description[](#methods-and-parameters-description "Permalink") - -每种方法都必须使用[Grape DSL](https://github.com/ruby-grape/grape#describing-methods)进行描述(有关示例,请参见[https://gitlab.com/gitlab-org/gitlab/blob/master/lib/api/environments.rb](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/api/environments.rb) ): - -* `desc`的方法的总结. 您应该将其传递给其他细节,例如: - * 添加端点时的 GitLab 版本. 如果它在功能标志后面,请提及: *该功能由:feature_flag_symbol 功能标志控制.* - * 如果不赞成使用端点,那么,何时删除它 -* `params`方法参数. 这充当[参数的](https://github.com/ruby-grape/grape#parameter-validation-and-coercion)描述, [验证和强制](https://github.com/ruby-grape/grape#parameter-validation-and-coercion) - -一个很好的例子如下: - -``` -desc 'Get all broadcast messages' do - detail 'This feature was introduced in GitLab 8.12.' - success Entities::BroadcastMessage -end -params do - optional :page, type: Integer, desc: 'Current page number' - optional :per_page, type: Integer, desc: 'Number of messages per page' -end -get do - messages = BroadcastMessage.all - - present paginate(messages), with: Entities::BroadcastMessage -end -``` - -## Declared parameters[](#declared-parameters "Permalink") - -> Grape 允许您仅访问由`params`块声明的`params` . 它过滤掉已传递但不允许的参数. - -– [https://github.com/ruby-grape/grape#declared](https://github.com/ruby-grape/grape#declared) - -### Exclude parameters from parent namespaces[](#exclude-parameters-from-parent-namespaces "Permalink") - -> 默认情况下, `declared(params)`包括在所有父名称空间中定义的参数. - -– [https://github.com/ruby-grape/grape#include-parent-namespaces](https://github.com/ruby-grape/grape#include-parent-namespaces) - -在大多数情况下,您将希望从父名称空间中排除参数: - -``` -declared(params, include_parent_namespaces: false) -``` - -### When to use `declared(params)`[](#when-to-use-declaredparams "Permalink") - -You should always use `declared(params)` when you pass the parameters hash as arguments to a method call. - -例如: - -``` -# bad -User.create(params) # imagine the user submitted `admin=1`... :) - -# good -User.create(declared(params, include_parent_namespaces: false).to_h) -``` - -> **注意:** `Hashie::Mash` `declared(params)`返回一个`Hashie::Mash`对象,您必须在其上调用`.to_h` . - -但是,当我们访问单个元素时,可以直接使用`params[key]` . - -例如: - -``` -# good -Model.create(foo: params[:foo]) -``` - -## Array types[](#array-types "Permalink") - -在 Grape v1.3 +中,必须使用`coerce_with`块定义数组类型,否则当从 API 请求传递字符串时,参数将无法验证. 有关更多详细信息,请参见[Grape 升级文档](https://github.com/ruby-grape/grape/blob/master/UPGRADING.md#ensure-that-array-types-have-explicit-coercions) . - -### Automatic coercion of nil inputs[](#automatic-coercion-of-nil-inputs "Permalink") - -在 Grape v1.3.3 之前,具有`nil`值的 Array 参数将自动强制为空 Array. 但是,由于[v1.3.3 中的拉取请求,](https://github.com/ruby-grape/grape/pull/2040)情况不再如此. 例如,假设您定义一个具有可选参数的 PUT `/test`请求: - -``` -optional :user_ids, type: Array[Integer], coerce_with: ::API::Validations::Types::CommaSeparatedToIntegerArray.coerce, desc: 'The user ids for this rule' -``` - -通常情况下,把一个请求`/test?user_ids`会导致葡萄传递`params`的`{ user_ids: nil }` . - -这可能会导致端点期望为空数组且无法正确处理`nil`输入的错误. 为了保留以前的行为,有一个辅助方法`coerce_nil_params_to_array!` 在所有 API 调用的`before`块中使用的代码: - -``` -before do - coerce_nil_params_to_array! -end -``` - -进行此更改后,对 PUT `/test?user_ids`的请求将使 Grape 传递的`params`为`{ user_ids: [] }` . - -[Grape Tracker 中](https://github.com/ruby-grape/grape/issues/2068)存在[一个未解决的问题,](https://github.com/ruby-grape/grape/issues/2068)可以使此操作更容易. - -## Using HTTP status helpers[](#using-http-status-helpers "Permalink") - -对于非 200 HTTP 响应,请使用`lib/api/helpers.rb`提供的帮助`lib/api/helpers.rb`以确保行为正确( `not_found!` , `no_content!`等). 这些将`throw` Grape 并中止端点的执行. - -对于`DELETE`请求,通常还应该`destroy_conditionally!`地使用`destroy_conditionally!` 默认情况下,helper 会在成功时返回`204 No Content`响应,或者在给定的`If-Unmodified-Since`标头超出范围时返回`412 Precondition Failed` . 该助手在传递的资源上调用`#destroy` ,但是您也可以通过传递一个块来实现自定义删除方法. - -## Using API path helpers in GitLab Rails codebase[](#using-api-path-helpers-in-gitlab-rails-codebase "Permalink") - -因为我们支持[在相对 URL 下安装 GitLab](../install/relative_url.html) ,所以在使用 Grape 生成的 API 路径帮助程序时必须考虑到这一点. 任何此类 API 路径帮助程序用法都必须包装在`expose_path`帮助程序调用中. - -例如: - -``` -- endpoint = expose_path(api_v4_projects_issues_related_merge_requests_path(id: @project.id, issue_iid: @issue.iid)) -``` - -## Custom Validators[](#custom-validators "Permalink") - -为了验证 API 请求中的某些参数,我们先验证它们,然后再进一步发送它们(例如 Gitaly). 以下是[自定义验证器](https://GitLab.com/gitlab-org/gitlab/-/tree/master/lib/api/validations/validators) ,到目前为止,我们已经添加了它们以及如何使用它们. 我们还编写了有关如何添加新的自定义验证器的指南. - -### Using custom validators[](#using-custom-validators "Permalink") - -* `FilePath`: - - GitLab 支持我们需要遍历文件路径的各种功能. [`FilePath`验证器](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/api/validations/validators/file_path.rb)针对不同情况验证参数值. 主要是,它使用`File::Separator`检查路径是否是相对路径,是否包含`../../`相对遍历,以及路径是否是绝对路径,例如`/etc/passwd/` . - -* `Git SHA`: - - [`Git SHA`验证器](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/api/validations/validators/git_sha.rb)检查 Git SHA 参数是否为有效的 SHA. 它通过使用[`commit.rb`](https://gitlab.com/gitlab-org/gitlab/-/commit/b9857d8b662a2dbbf54f46ecdcecb44702affe55#d1c10892daedb4d4dd3d4b12b6d071091eea83df_30_30)文件中提到的正则表达式进行检查. - -* `Absence`: - - [`Absence`验证器](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/api/validations/validators/absence.rb)检查给定参数哈希中是否缺少特定参数. - -* `IntegerNoneAny`: - - [`IntegerNoneAny`验证器](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/api/validations/validators/integer_none_any.rb)检查给定参数的值是`Integer` , `None`还是`Any` . 它仅允许上述任何一个值在请求中前进. - -* `ArrayNoneAny`: - - [`ArrayNoneAny`验证器](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/api/validations/validators/array_none_any.rb)检查给定参数的值是`Array` , `None`还是`Any` . 它仅允许上述任何一个值在请求中前进. - -### Adding a new custom validator[](#adding-a-new-custom-validator "Permalink") - -自定义验证器是在将参数发送到平台进行进一步处理之前对其进行验证的好方法. 如果我们在一开始就识别出无效的参数,它将在服务器和平台之间来回保存一些时间. - -如果您需要添加自定义验证器,它将被添加到[`validators`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/api/validations/validators)目录中自己的文件中. 由于我们使用[Grape](https://github.com/ruby-grape/grape)添加 API,因此我们继承了`Grape::Validations::Base`类中的`Grape::Validations::Base`类. 现在,您要做的就是定义`validate_param!` 该方法具有两个参数: `params`哈希和要验证的`param`名称. - -该方法的主体进行了验证参数值的艰苦工作,并将适当的错误消息返回给调用方方法. - -最后,我们使用以下行注册验证器: - -``` -Grape::Validations.register_validator(<validator name as symbol>, ::API::Helpers::CustomValidators::<YourCustomValidatorClassName>) -``` - -添加验证器后,请确保将其`rspec`添加到其在[`validators`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/spec/lib/api/validations/validators)目录中的自己的文件中. - -## Internal API[](#internal-api "Permalink") - -[内部 API](./internal_api.html)已记录供内部使用. 请保持最新状态,以便我们了解不同组件正在使用哪些端点. - -## Avoiding N+1 problems[](#avoiding-n1-problems "Permalink") - -为了避免在 API 端点中返回记录集合时常见的 N + 1 问题,我们应该使用预先加载. - -在 API 中执行此操作的标准方法是让模型实现一个名为`with_api_entity_associations`的范围,该范围将预加载 API 中返回的关联和数据. 在[`Issue`模型中](https://gitlab.com/gitlab-org/gitlab/blob/2fedc47b97837ea08c3016cf2fb773a0300a4a25/app/models/issue.rb#L62)可以看到此范围的示例. - -在同一个模型的 API 中有多个实体的情况下(例如`UserBasic` , `User`和`UserPublic` ),您应谨慎使用此范围. 可能是您针对最基本的实体进行了优化,并在该范围上建立了连续的实体. - -当在 Todos API 中返回时, `with_api_entity_associations`范围还将[自动](https://gitlab.com/gitlab-org/gitlab/blob/19f74903240e209736c7668132e6a5a735954e7c/app/models/todo.rb#L34)为`Todo` *目标* [预先加载数据](https://gitlab.com/gitlab-org/gitlab/blob/19f74903240e209736c7668132e6a5a735954e7c/app/models/todo.rb#L34) . - -有关预加载的更多上下文和讨论,请参阅[此合并请求](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/25711) , [该合并请求](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/25711)引入了作用域. - -### Verifying with tests[](#verifying-with-tests "Permalink") - -当 API 端点返回集合时,无论现在还是将来,始终添加一个测试以验证 API 端点没有 N + 1 问题. 我们可以使用[`ActiveRecord::QueryRecorder`](query_recorder.html)做到这一点. - -Example: - -``` -def make_api_request - get api('/foo', personal_access_token: pat) -end - -it 'avoids N+1 queries', :request_store do - # Firstly, record how many PostgreSQL queries the endpoint will make - # when it returns a single record - create_record - - control = ActiveRecord::QueryRecorder.new { make_api_request } - - # Now create a second record and ensure that the API does not execute - # any more queries than before - create_record - - expect { make_api_request }.not_to exceed_query_limit(control) -end -``` - -## Testing[](#testing "Permalink") - -在编写新的 API 端点的测试,可以考虑使用模式[夹具](./testing_guide/best_practices.html#fixtures)位于`/spec/fixtures/api/schemas` . 您可以`expect`响应匹配给定的架构: - -``` -expect(response).to match_response_schema('merge_requests') -``` - -另请参阅在测试中[验证 N + 1 性能](#verifying-with-tests) . \ No newline at end of file diff --git a/docs/611.md b/docs/611.md deleted file mode 100644 index 5f8ad5f..0000000 --- a/docs/611.md +++ /dev/null @@ -1,353 +0,0 @@ -# Go standards and style guidelines - -> 原文:[https://docs.gitlab.com/ee/development/go_guide/](https://docs.gitlab.com/ee/development/go_guide/) - -* [Overview](#overview) -* [Dependency Management](#dependency-management) -* [Code Review](#code-review) - * [Security](#security) - * [Finding a reviewer](#finding-a-reviewer) -* [Code style and format](#code-style-and-format) - * [Automatic linting](#automatic-linting) -* [Dependencies](#dependencies) - * [Modules](#modules) - * [ORM](#orm) - * [Migrations](#migrations) -* [Testing](#testing) - * [Testing frameworks](#testing-frameworks) - * [Subtests](#subtests) - * [Better output in tests](#better-output-in-tests) - * [Table-Driven Tests](#table-driven-tests) - * [Defining test cases](#defining-test-cases) - * [Contents of the test case](#contents-of-the-test-case) - * [Variable names](#variable-names) - * [Benchmarks](#benchmarks) -* [Error handling](#error-handling) - * [Adding context](#adding-context) - * [Naming](#naming) - * [Checking Error types](#checking-error-types) - * [References for working with errors](#references-for-working-with-errors) -* [CLIs](#clis) -* [Daemons](#daemons) - * [Logging](#logging) - * [Structured (JSON) logging](#structured-json-logging) - * [How to use Logrus](#how-to-use-logrus) - * [Tracing and Correlation](#tracing-and-correlation) - * [Context](#context) -* [Dockerfiles](#dockerfiles) -* [Distributing Go binaries](#distributing-go-binaries) - * [Updating Go version](#updating-go-version) - * [Supporting multiple Go versions](#supporting-multiple-go-versions) -* [Secure Team standards and style guidelines](#secure-team-standards-and-style-guidelines) - * [Code style and format](#code-style-and-format-1) - -# Go standards and style guidelines[](#go-standards-and-style-guidelines "Permalink") - -本文档介绍了使用[Go 语言的](https://s0golang0org.icopy.site) GitLab 项目的各种指南和最佳实践. - -## Overview[](#overview "Permalink") - -GitLab 构建在[Ruby on Rails](https://rubyonrails.org/)之上,但我们还在有意义的项目中使用 Go. Go 是一种非常强大的语言,具有许多优点,最适合具有大量 IO(磁盘/网络访问),HTTP 请求,并行处理等的项目.由于我们在 git 上都有 Ruby on Rails 和 Go,因此我们应该仔细评估两者中哪一个最适合工作. - -该页面旨在根据我们的各种经验来定义和组织我们的 Go 准则. 几个项目是从不同的标准开始的,但仍然可以有一些具体说明. 它们将在各自的`README.md`或`PROCESS.md`文件中进行描述. - -## Dependency Management[](#dependency-management "Permalink") - -Go 使用基于源的策略进行依赖性管理. 依赖项从其源存储库中下载为源. 这不同于更常见的基于工件的策略,在后者中,依赖项是从与依赖项源存储库分开的程序包存储库中作为工件下载的. - -Go 在 1.11 之前没有对版本管理的一流支持. 该版本引入了 Go 模块和语义版本控制的使用. Go 1.12 引入了模块代理,它们可以用作客户端和源版本控制系统之间的中介,以及校验和数据库,可以用于验证依赖项下载的完整性. - -有关更多详细信息,请参见[Go 中的依赖管理](dependencies.html) . - -## Code Review[](#code-review "Permalink") - -我们遵循[Go Code Review Comments](https://github.com/golang/go/wiki/CodeReviewComments)的通用原则. - -审阅者和维护者应注意: - -* `defer`功能:在需要时以及在`err`检查之后确保存在. -* 注入依赖项作为参数. -* 封送至 JSON 时,其 Void 结构(生成`null`而不是`[]` ). - -### Security[](#security "Permalink") - -安全是我们在 GitLab 的首要任务. 在代码审查期间,我们必须注意代码中可能存在的安全漏洞: - -* 使用文字/模板时的 XSS -* 使用大猩猩的 CSRF 保护 -* 使用没有已知漏洞的 Go 版本 -* 不要泄漏秘密令牌 -* SQL 注入 - -记住要运行[SAST](../../user/application_security/sast/index.html)和[依赖项扫描](../../user/application_security/dependency_scanning/index.html) 在您的项目(或至少是[gosec 分析器](https://gitlab.com/gitlab-org/security-products/analyzers/gosec) )上,并遵守我们的[安全要求](../code_review.html#security-requirements) . - -Web 服务器可以利用[Secure](https://github.com/unrolled/secure)等中间件的优势. - -### Finding a reviewer[](#finding-a-reviewer "Permalink") - -我们的许多项目规模太小,无法拥有专职维护人员. 这就是为什么我们在 GitLab 有一个共享的 Go 评论者池. 要查找审阅者,请使用手册"工程项目"页面上" GitLab"项目的["执行"部分](https://about.gitlab.com/handbook/engineering/projects/#gitlab_reviewers_go) . - -要将您自己添加到此列表中,请将以下内容添加到[team.yml](https://gitlab.com/gitlab-com/www-gitlab-com/blob/master/data/team.yml)文件中的个人资料中,并请您的经理进行审核和合并. - -``` -projects: - gitlab: reviewer go -``` - -## Code style and format[](#code-style-and-format "Permalink") - -* 避免全局变量,即使在软件包中也是如此. 这样,如果多次包含该软件包,您将产生副作用. -* 在提交之前使用`goimports` . [goimports](https://s0godoc0org.icopy.site/golang.org/x/tools/cmd/goimports)是一个工具,除了格式化导入行,添加缺少的行和删除未引用的行之外, [它还可以](https://s0golang0org.icopy.site/cmd/gofmt/)使用[Gofmt](https://s0golang0org.icopy.site/cmd/gofmt/)自动格式化 Go 源代码. - - 大多数编辑器/ IDE 允许您在保存文件之前/之后运行命令,您可以将其设置为运行`goimports`以便在保存时将其应用于每个文件. - -* 将私有方法放在源文件中第一个调用方方法的下面. - -### Automatic linting[](#automatic-linting "Permalink") - -所有 Go 项目均应包括以下 GitLab CI / CD 作业: - -``` -lint: - image: registry.gitlab.com/gitlab-org/gitlab-build-images:golangci-lint-alpine - stage: test - script: - # Use default .golangci.yml file from the image if one is not present in the project root. - - '[ -e .golangci.yml ] || cp /golangci/.golangci.yml .' - # Write the code coverage report to gl-code-quality-report.json - # and print linting issues to stdout in the format: path/to/file:line description - - golangci-lint run --out-format code-climate | tee gl-code-quality-report.json | jq -r '.[] | "\(.location.path):\(.location.lines.begin) \(.description)"' - artifacts: - reports: - codequality: gl-code-quality-report.json - paths: - - gl-code-quality-report.json - allow_failure: true -``` - -在项目的根目录中包含`.golangci.yml`可以配置`golangci-lint` . 此[示例](https://github.com/golangci/golangci-lint/blob/master/.golangci.example.yml)中列出了`golangci-lint`所有选项. - -[递归包含](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/56836)可用后,您就可以共享作业模板,例如此[分析器](https://gitlab.com/gitlab-org/security-products/ci-templates/raw/master/includes-dev/analyzer.yml) . - -## Dependencies[](#dependencies "Permalink") - -依赖性应保持最小. 根据我们的[批准指南](../code_review.html#approval-guidelines) ,应在合并请求中对引入新的依赖项进行争论. 两种[许可证管理](../../user/compliance/license_compliance/index.html) 和[依赖项扫描](../../user/application_security/dependency_scanning/index.html) 应该在所有项目上激活,以确保新的依赖项安全状态和许可证兼容性. - -### Modules[](#modules "Permalink") - -从 Go 1.11 开始,名称[Go 的模块](https://github.com/golang/go/wiki/Modules)后面提供了一个标准的依赖系统. 它提供了一种方法来定义和锁定可复制构建的依赖关系. 应尽可能使用它. - -当使用 Go Modules 时,不应有`vendor/`目录. 相反,Go 会在需要构建项目时自动下载依赖项. 这与 Ruby 项目中 Bundler 处理依赖关系的方式一致,并使合并请求更易于查看. - -在某些情况下,例如构建一个 Go 项目以充当另一个项目的 CI 运行的依赖项,删除`vendor/`目录意味着必须重复下载代码,这可能由于速率限制或网络而导致间歇性问题.失败. 在这种情况下,您应该[在之间缓存下载的代码](../../ci/caching/index.html#caching-go-dependencies) . - -Go <v1.11.4 中的[模块校验和](https://github.com/golang/go/issues/29278)存在一个[错误](https://github.com/golang/go/issues/29278) ,因此请确保至少使用此版本,以避免`checksum mismatch`错误. - -### ORM[](#orm "Permalink") - -我们不在 GitLab 上使用对象关系映射库(ORM)(Ruby on Rails 中的[ActiveRecord](https://guides.rubyonrails.org/active_record_basics.html)除外). 可以使用服务来结构化项目以避免它们. [PQ](https://github.com/lib/pq)应该足以与 PostgreSQL 数据库进行交互. - -### Migrations[](#migrations "Permalink") - -在极少数情况下,如果管理托管数据库,则必须使用 ActiveRecord 提供的迁移系统. 像[Journey](https://github.com/db-journey/journey)这样的简单库,可以在`postgres`容器中使用,可以部署为长期运行的 pod. 新版本将部署新的 Pod,并自动迁移数据. - -## Testing[](#testing "Permalink") - -### Testing frameworks[](#testing-frameworks "Permalink") - -我们不应该使用任何特定的库或框架来进行测试,因为[标准库](https://s0golang0org.icopy.site/pkg/)已经提供了入门所需的一切. 如果需要更复杂的测试工具,则在我们决定使用特定的库或框架时,以下外部依赖项可能值得考虑: - -* [Testify](https://github.com/stretchr/testify) -* [httpexpect](https://github.com/gavv/httpexpect) - -### Subtests[](#subtests "Permalink") - -尽可能使用[子测试,](https://blog.golang.org/subtests)以提高代码的可读性和测试输出. - -### Better output in tests[](#better-output-in-tests "Permalink") - -When comparing expected and actual values in tests, use [`testify/require.Equal`](https://s0godoc0org.icopy.site/github.com/stretchr/testify/require), [`testify/require.EqualError`](https://s0godoc0org.icopy.site/github.com/stretchr/testify/require), [`testify/require.EqualValues`](https://s0godoc0org.icopy.site/github.com/stretchr/testify/require), and others to improve readability when comparing structs, errors, large portions of text, or JSON documents: - -``` -type TestData struct { - // ... -} - -func FuncUnderTest() TestData { - // ... -} - -func Test(t *testing.T) { - t.Run("FuncUnderTest", func(t *testing.T) { - want := TestData{} - got := FuncUnderTest() - - require.Equal(t, want, got) // note that expected value comes first, then comes the actual one ("diff" semantics) - }) -} -``` - -### Table-Driven Tests[](#table-driven-tests "Permalink") - -当您为同一功能输入/输出有多个条目时,使用[表驱动测试](https://github.com/golang/go/wiki/TableDrivenTests)通常是一个好习惯. 以下是编写表驱动测试时可以遵循的一些准则. 这些准则主要是从 Go 标准库源代码中提取的. 请记住,在合理的时候不要遵循这些准则. - -#### Defining test cases[](#defining-test-cases "Permalink") - -每个表条目都是一个完整的测试用例,其中包含输入和预期结果,有时还包含其他信息(例如测试名称),以使测试输出易于阅读. - -* 在测试内部[定义一片匿名结构](https://github.com/golang/go/blob/50bd1c4d4eb4fac8ddeb5f063c099daccfb71b26/src/encoding/csv/reader_test.go#L16) . -* 在测试之外[定义一片匿名结构](https://github.com/golang/go/blob/55d31e16c12c38d36811bdee65ac1f7772148250/src/cmd/go/internal/module/module_test.go#L9-L66) . -* 用于代码重用的[命名结构](https://github.com/golang/go/blob/2e0cd2aef5924e48e1ceb74e3d52e76c56dd34cc/src/cmd/go/internal/modfetch/coderepo_test.go#L54-L69) . -* [Using `map[string]struct{}`](https://github.com/golang/go/blob/6d5caf38e37bf9aeba3291f1f0b0081f934b1187/src/cmd/trace/annotations_test.go#L180-L235). - -#### Contents of the test case[](#contents-of-the-test-case "Permalink") - -* 理想情况下,每个测试用例都应具有一个带有唯一标识符的字段,以用于命名子测试. 在 Go 标准库中,这通常是`name string`字段. -* 当您在测试用例中指定将用于断言的内容时,请使用`want` / `expect` / `actual` . - -#### Variable names[](#variable-names "Permalink") - -* 每个表驱动的测试映射/结构片段都可以命名为`tests` . -* 遍历`tests` ,匿名结构可以称为`tt`或`tc` . -* 测试的描述可以称为`name` / `testName` / `tn` . - -### Benchmarks[](#benchmarks "Permalink") - -处理大量 IO 或复杂操作的程序应始终包含[基准测试](https://s0golang0org.icopy.site/pkg/testing/) ,以确保随时间推移的性能一致性. - -## Error handling[](#error-handling "Permalink") - -### Adding context[](#adding-context "Permalink") - -在返回错误之前添加上下文可能会有所帮助,而不仅仅是返回错误. 这使开发人员可以了解程序进入错误状态时试图做什么,从而使调试更加容易. - -例如: - -``` -// Wrap the error -return nil, fmt.Errorf("get cache %s: %w", f.Name, err) - -// Just add context -return nil, fmt.Errorf("saving cache %s: %v", f.Name, err) -``` - -A few things to keep in mind when adding context: - -* 确定是否要向调用者公开潜在的错误. 如果是这样,请使用`%w` ,否则请使用`%v` . -* 不要使用`failed` , `error` , `didn't` . 因为这是一个错误,所以用户已经知道某件事失败了,这可能导致出现诸如`failed xx failed xx failed xx`类的字符串. 解释*什么* ,而不是失败. -* 错误字符串不应大写或以标点符号或换行符结尾. 您可以使用`golint`进行检查. - -### Naming[](#naming "Permalink") - -* 使用哨兵错误时,应始终将它们命名为`ErrXxx` . -* 创建新的错误类型时,应始终将其命名为`XxxError` . - -### Checking Error types[](#checking-error-types "Permalink") - -* 要检查错误是否相等,请不要使用`==` . 使用[`errors.Is`](https://pkg.go.dev/errors?tab=doc#Is)代替(对于围棋版本> = 1.13). -* 要检查错误是否属于某种类型,请不要使用类型断言,而应使用[`errors.As`](https://pkg.go.dev/errors?tab=doc#As) (对于 Go 版本> = 1.13). - -### References for working with errors[](#references-for-working-with-errors "Permalink") - -* [Go 1.13 errors](https://blog.golang.org/go1.13-errors). -* [Programing with errors](https://peter.bourgon.org/blog/2019/09/11/programming-with-errors.html). -* [Don’t just check errors, handle them gracefully](https://dave.cheney.net/2016/04/27/dont-just-check-errors-handle-them-gracefully). - -## CLIs[](#clis "Permalink") - -每个 Go 程序都是从命令行启动的. [cli](https://github.com/urfave/cli)是用于创建命令行应用程序的便捷软件包. 无论项目是守护程序还是简单的 cli 工具,都应使用它. 可以将标志直接映射到[环境变量](https://github.com/urfave/cli#values-from-the-environment) ,这些[变量](https://github.com/urfave/cli#values-from-the-environment)同时记录和集中与程序的所有可能的命令行交互. 不要使用`os.GetEnv` ,它会将变量隐藏在代码深处. - -## Daemons[](#daemons "Permalink") - -### Logging[](#logging "Permalink") - -强烈建议为守护程序使用日志记录库. 即使标准库中有一个`log`包,我们通常也使用[Logrus](https://github.com/sirupsen/logrus) . 它的插件("挂钩")系统使其成为功能强大的日志记录库,并能够直接在记录器级别添加通知程序和格式化程序. - -#### Structured (JSON) logging[](#structured-json-logging "Permalink") - -理想情况下,每个二进制文件都必须具有结构化(JSON)日志记录,因为它有助于搜索和过滤日志. 在 GitLab,我们使用 JSON 格式的结构化日志记录,因为我们所有的基础架构都假定这样做. 使用[Logrus 时](https://github.com/sirupsen/logrus) ,只需使用[JSON 格式化程序中](https://github.com/sirupsen/logrus#formatters)的构建即可打开结构化日志记录. 这遵循我们在[Ruby 应用程序中](../logging.html#use-structured-json-logging)使用的相同日志记录类型. - -#### How to use Logrus[](#how-to-use-logrus "Permalink") - -使用[Logrus](https://github.com/sirupsen/logrus)软件包时,应遵循一些准则: - -* 打印错误时,请使用[WithError](https://s0godoc0org.icopy.site/github.com/sirupsen/logrus) . 例如, `logrus.WithError(err).Error("Failed to do something")` . -* 由于我们使用[结构化日志记录](#structured-json-logging) ,因此可以在该代码路径的上下文中记录字段,例如使用[`WithField`](https://s0godoc0org.icopy.site/github.com/sirupsen/logrus)或[`WithFields`](https://s0godoc0org.icopy.site/github.com/sirupsen/logrus)的请求的 URI. 例如, `logrus.WithField("file", "/app/go").Info("Opening dir")` . 如果必须记录多个键,请始终使用`WithFields`而不是多次调用`WithField` . - -### Tracing and Correlation[](#tracing-and-correlation "Permalink") - -[LabKit](https://gitlab.com/gitlab-org/labkit)是为 Go 服务保留通用库的地方. 目前,它已销售到两个项目:Workhorse 和 Gitaly,并且导出了两个主要(但相关)功能: - -* [`gitlab.com/gitlab-org/labkit/correlation`](https://gitlab.com/gitlab-org/labkit/tree/master/correlation) :用于传播和提取服务之间的相关 ID. -* [`gitlab.com/gitlab-org/labkit/tracing`](https://gitlab.com/gitlab-org/labkit/tree/master/tracing): for instrumenting Go libraries for distributed tracing. - -这为我们提供了对底层实现的精简抽象,该抽象实现在 Workhorse,Gitaly 以及将来的其他 Go 服务器之间保持一致. 例如,对于`gitlab.com/gitlab-org/labkit/tracing`我们可以从直接使用`gitlab.com/gitlab-org/labkit/tracing`切换为使用 Zipkin 或 Gokit 自己的跟踪包装器,而无需更改应用程序代码,同时仍保持相同的一致配置机制(即`GITLAB_TRACING`环境变量). - -### Context[](#context "Permalink") - -由于守护程序是长期运行的应用程序,因此它们应具有管理取消的机制,并避免不必要的资源消耗(这可能导致 DDOS 漏洞). [Go Context](https://github.com/golang/go/wiki/CodeReviewComments#contexts)应该在可以阻塞并作为第一个参数传递的函数中使用. - -## Dockerfiles[](#dockerfiles "Permalink") - -每个项目都应在其存储库的根目录中具有一个`Dockerfile` ,以构建和运行该项目. 由于 Go 程序是静态二进制文件,因此它们不需要任何外部依赖关系,并且最终映像中的 shell 无用. 我们鼓励进行[多阶段构建](https://s0docs0docker0com.icopy.site/develop/develop-images/multistage-build/) : - -* 他们使用户可以使用正确的 Go 版本和依赖项来构建项目. -* 它们生成一个小的,自包含的图像,该图像取自`Scratch` . - -生成的 Docker 映像应在其`Entrypoint`处具有程序以创建可移植命令. 这样,任何人都可以运行该映像,并且没有参数就可以显示其帮助消息(如果已使用`cli` ). - -## Distributing Go binaries[](#distributing-go-binaries "Permalink") - -除了发布自己的二进制文件的[GitLab Runner](https://gitlab.com/gitlab-org/gitlab-runner)之外,我们的 Go 二进制文件都是由" [分发"组](https://about.gitlab.com/handbook/product/product-categories/#distribution-group)管理的项目创建的. - -[Omnibus GitLab](https://gitlab.com/gitlab-org/omnibus-gitlab)项目创建一个包含所有二进制文件的单一的操作系统软件包,而[Cloud-Native GitLab(CNG)](https://gitlab.com/gitlab-org/build/CNG)项目发布一组 Docker 映像和 Helm 图表以将它们粘合在一起. - -两种方法对所有项目都使用相同版本的 Go,因此确保我们所有使用 Go 的项目在其测试矩阵中至少具有一个相同的 Go 版本非常重要. 您可以检查[Omnibus](https://gitlab.com/gitlab-org/gitlab-omnibus-builder/blob/master/docker/Dockerfile_debian_10#L59)当前正在使用的 Go 版本以及[CNG](https://gitlab.com/gitlab-org/build/cng/blob/master/ci_files/variables.yml#L12)正在使用的版本. - -### Updating Go version[](#updating-go-version "Permalink") - -我们应该始终使用[受支持](https://s0golang0org.icopy.site/doc/devel/release.html)的 Go [版本](https://s0golang0org.icopy.site/doc/devel/release.html) ,即三个最新的次要版本之一,并且应该始终使用该版本的最新补丁程序级别,因为它可能包含安全修复程序. - -更改版本会影响正在编译的每个项目,因此在更改程序包构建器以使用它之前,请确保已更新所有项目以针对新的 Go 版本进行测试非常重要. 尽管[Go 保证了兼容性](https://s0golang0org.icopy.site/doc/go1compat) ,但次要版本之间的更改可能会暴露错误或在我们的项目中引起问题. - -选择要使用的新 Go 版本之后,更新 Omnibus 和 CNG 的步骤如下: - -* [创建于 CNG 项目的合并请求](https://gitlab.com/gitlab-org/build/CNG/edit/master/ci_files/variables.yml?branch_name=update-go-version) ,更新`GO_VERSION`在`ci_files/variables.yml` . -* 在[`gitlab-omnibus-builder`项目中](https://gitlab.com/gitlab-org/gitlab-omnibus-builder)创建合并请求,更新`GO_VERSION` `docker/`目录中的每个文件,以便`GO_VERSION`设置`GO_VERSION` . [这是一个例子](https://gitlab.com/gitlab-org/gitlab-omnibus-builder/-/merge_requests/125/diffs) . -* 标记包含更改的`gitlab-omnibus-builder`的新版本. -* [在`omnibus-gitlab`项目中创建合并请求](https://gitlab.com/gitlab-org/omnibus-gitlab/edit/master/.gitlab-ci.yml?branch_name=update-gitlab-omnibus-builder-version) ,更新`BUILDER_IMAGE_REVISION`以匹配新创建的标记. - -为了减少两种分发方法之间不必要的差异,Omnibus 和 CNG **应该始终使用相同的 Go 版本** . - -### Supporting multiple Go versions[](#supporting-multiple-go-versions "Permalink") - -出于以下原因,各个 Golang 项目需要支持多个 Go 版本: - -1. 当新的 Go 版本发布时,我们应该开始将其集成到 CI 管道中,以验证与新编译器的兼容性. -2. 我们必须支持[Omnibus 官方的 Go 版本](#updating-go-version) ,该[版本](#updating-go-version)可能在最新的次要版本之后. -3. 当 Omnibus 切换为 Go 版本时,我们仍可能需要支持旧版本进行安全反向移植. - -保持对 Go 的 3 个最新次要版本的支持,可以轻松满足这 3 个要求. - -可以放弃对最旧的 Go 版本的支持,并且仅支持 2 个最新版本,如果这足以支持向后 3 个 GitLab 次要版本的反向移植. - -Example: - -如果我们要丢弃的支持`go 1.11`在 GitLab `12.10` ,我们需要验证我们使用哪去版本`12.9` , `12.8`和`12.7` . - -我们将不考虑活动的里程碑`12.10` ,因为在关键安全发布的情况下将需要`12.7`的反向端口. - -1. 如果从 GitLab `12.7`开始[Omnibus 和 CNG](#updating-go-version)都在使用 Go `1.12` ,那么我们可以放心地放弃对`1.11`支持. -2. 如果 Omnibus 或 CNG 在 GitLab `12.7`中使用`1.11` ,那么我们仍然需要保持对 Go `1.11`支持,以便更轻松地向后移植安全修复程序. - -## Secure Team standards and style guidelines[](#secure-team-standards-and-style-guidelines "Permalink") - -以下是一些特定于安全团队的样式准则. - -### Code style and format[](#code-style-and-format-1 "Permalink") - -在提交之前,请使用`goimports -local gitlab.com/gitlab-org` . [goimports](https://s0godoc0org.icopy.site/golang.org/x/tools/cmd/goimports)是一个工具,除了格式化导入行,添加缺少的行和删除未引用的行之外, [它还可以](https://s0golang0org.icopy.site/cmd/gofmt/)使用[Gofmt](https://s0golang0org.icopy.site/cmd/gofmt/)自动格式化 Go 源代码. 通过使用`-local gitlab.com/gitlab-org`选项, `goimports`会将本地引用的软件包与外部软件包分开分组. 有关更多详细信息,请参见 Go Wiki 上"代码审查注释"页面[的导入部分](https://github.com/golang/go/wiki/CodeReviewComments#imports) . 大多数编辑器/ IDE 允许您在保存文件之前/之后运行命令,您可以将其设置为运行`goimports -local gitlab.com/gitlab-org`以便在保存时将其应用于每个文件. - -* * * - -[Return to Development documentation](../README.html). \ No newline at end of file diff --git a/docs/612.md b/docs/612.md deleted file mode 100644 index 038c944..0000000 --- a/docs/612.md +++ /dev/null @@ -1,937 +0,0 @@ -# GraphQL API style guide - -> 原文:[https://docs.gitlab.com/ee/development/api_graphql_styleguide.html](https://docs.gitlab.com/ee/development/api_graphql_styleguide.html) - -* [How GitLab implements GraphQL](#how-gitlab-implements-graphql) -* [Deep Dive](#deep-dive) -* [GraphiQL](#graphiql) -* [Authentication](#authentication) -* [Types](#types) - * [Nullable fields](#nullable-fields) - * [Exposing Global IDs](#exposing-global-ids) - * [Connection Types](#connection-types) - * [Shortcut fields](#shortcut-fields) - * [Exposing permissions for a type](#exposing-permissions-for-a-type) -* [Feature flags](#feature-flags) - * [`feature_flag` property](#feature_flag-property) - * [Toggle the value of a field](#toggle-the-value-of-a-field) -* [Deprecating fields](#deprecating-fields) - * [Deprecation reason style guide](#deprecation-reason-style-guide) -* [Enums](#enums) -* [Descriptions](#descriptions) - * [Description style guide](#description-style-guide) - * [`copy_field_description` helper](#copy_field_description-helper) -* [Authorization](#authorization) - * [Type authorization](#type-authorization) - * [Field authorization](#field-authorization) - * [Type and Field authorizations together](#type-and-field-authorizations-together) -* [Resolvers](#resolvers) - * [Correct use of `Resolver#ready?`](#correct-use-of-resolverready) - * [Look-Ahead](#look-ahead) -* [Mutations](#mutations) - * [Building Mutations](#building-mutations) - * [Naming conventions](#naming-conventions) - * [Arguments](#arguments) - * [Fields](#fields) - * [The `resolve` method](#the-resolve-method) - * [Mounting the mutation](#mounting-the-mutation) - * [Authorizing resources](#authorizing-resources) - * [Errors in mutations](#errors-in-mutations) - * [Success](#success) - * [Failure (relevant to the user)](#failure-relevant-to-the-user) - * [Failure (irrelevant to the user)](#failure-irrelevant-to-the-user) - * [Categorizing errors](#categorizing-errors) - * [Aliasing and deprecating mutations](#aliasing-and-deprecating-mutations) -* [Validating arguments](#validating-arguments) -* [GitLab’s custom scalars](#gitlabs-custom-scalars) - * [`Types::TimeType`](#typestimetype) -* [Testing](#testing) -* [Notes about Query flow and GraphQL infrastructure](#notes-about-query-flow-and-graphql-infrastructure) - * [Query limits](#query-limits) -* [Documentation and Schema](#documentation-and-schema) - -# GraphQL API style guide[](#graphql-api-style-guide "Permalink") - -本文档概述了 GitLab 的[GraphQL API](../api/graphql/index.html)的样式指南. - -## How GitLab implements GraphQL[](#how-gitlab-implements-graphql "Permalink") - -我们使用[Robert Mosolgo](https://github.com/rmosolgo/)编写的[GraphQL Ruby 宝石](https://graphql-ruby.org/) . - -所有 GraphQL 查询都定向到单个端点( [`app/controllers/graphql_controller.rb#execute`](https://gitlab.com/gitlab-org/gitlab/blob/master/app/controllers/graphql_controller.rb) ),该端点在`/api/graphql`处作为 API 端点`/api/graphql` . - -## Deep Dive[](#deep-dive "Permalink") - -在 2019 年 3 月,尼克·托马斯(Nick Thomas)在 GitLab 的[GraphQL API 上](../api/graphql/index.html)进行了一次深潜(仅限 GitLab 团队成员: `https://gitlab.com/gitlab-org/create-stage/issues/1` : [//gitlab.com/gitlab-org/create-stage/issues/1](../api/graphql/index.html) ),以与可能将来会在代码库的这一部分中工作. 您可以[在 YouTube 上](https://www.youtube.com/watch?v=-9L_1MWrjkg)找到[录音](https://www.youtube.com/watch?v=-9L_1MWrjkg) ,在[Google 幻灯片](https://docs.google.com/presentation/d/1qOTxpkTdHIp1CRjuTvO-aXg0_rUtzE3ETfLUdnBB5uQ/edit)和[PDF 中](https://gitlab.com/gitlab-org/create-stage/uploads/8e78ea7f326b2ef649e7d7d569c26d56/GraphQL_Deep_Dive__Create_.pdf)找到[幻灯片](https://docs.google.com/presentation/d/1qOTxpkTdHIp1CRjuTvO-aXg0_rUtzE3ETfLUdnBB5uQ/edit) . 自 GitLab 11.9 起,本次深入学习中涉及的所有内容都是准确的,尽管自那时以来特定细节可能有所更改,但它仍应作为一个很好的介绍. - -## GraphiQL[](#graphiql "Permalink") - -GraphiQL 是一个交互式 GraphQL API 资源管理器,您可以在其中使用现有查询. 您可以在`https://<your-gitlab-site.com>/-/graphql-explorer`任何 GitLab 环境中访问它. 例如,用于[GitLab.com 的那个](https://gitlab.com/-/graphql-explorer) . - -## Authentication[](#authentication "Permalink") - -认证通过`GraphqlController` ,现在,它使用与 Rails 应用程序相同的认证. 因此可以共享会话. - -也可以将`private_token`添加到查询字符串,或添加`HTTP_PRIVATE_TOKEN`标头. - -## Types[](#types "Permalink") - -我们使用代码优先模式,并声明 Ruby 中所有内容的类型. - -例如, `app/graphql/types/issue_type.rb` : - -``` -graphql_name 'Issue' - -field :iid, GraphQL::ID_TYPE, null: true -field :title, GraphQL::STRING_TYPE, null: true - -# we also have a method here that we've defined, that extends `field` -markdown_field :title_html, null: true -field :description, GraphQL::STRING_TYPE, null: true -markdown_field :description_html, null: true -``` - -We give each type a name (in this case `Issue`). - -`iid` , `title`和`description`是*标量* GraphQL 类型. `iid`是`GraphQL::ID_TYPE` ,这是一种特殊的字符串类型,表示唯一的 ID. `title`和`description`是常规的`GraphQL::STRING_TYPE`类型. - -When exposing a model through the GraphQL API, we do so by creating a new type in `app/graphql/types`. You can also declare custom GraphQL data types for scalar data types (e.g. `TimeType`). - -公开类型中的属性时,请确保将定义内的逻辑保持尽可能小. 相反,请考虑将任何逻辑转移到演示者中: - -``` -class Types::MergeRequestType < BaseObject - present_using MergeRequestPresenter - - name 'MergeRequest' -end -``` - -可以使用现有的演示者,但是也可以专门为 GraphQL 创建一个新的演示者. - -使用由字段解析的对象和上下文初始化演示者. - -### Nullable fields[](#nullable-fields "Permalink") - -GraphQL 允许字段为"可为空"或"不可为空". 前者意味着可以返回`null`而不是指定类型的值. **通常** ,出于以下原因,您应该首选使用可空字段而不是不可空字段: - -* 数据从必需切换到不需要,然后再次返回是很常见的 -* 即使没有可能成为可选字段的前景,在查询时它也可能不可**用** - * 例如,可能需要从 Gitaly 查找 blob 的`content` - * 如果`content`可为空,我们可以返回**部分**响应,而不是使整个查询失败 -* 对于无版本模式,很难从不可为空的字段更改为可为空的字段 - -非空字段仅应在需要字段时使用,将来不太可能成为可选字段,并且非常容易计算. 一个示例是`id`字段. - -进一步阅读: - -* [GraphQL Best Practices Guide](https://s0graphql0org.icopy.site/learn/best-practices/) -* [Using nullability in GraphQL](https://www.apollographql.com/blog/using-nullability-in-graphql-2254f84c4ed7) - -### Exposing Global IDs[](#exposing-global-ids "Permalink") - -在类型上公开`ID`字段时,默认情况下,我们将通过在要渲染的资源上调用`to_global_id`来公开全局 ID. - -要覆盖此行为,可以在要公开其 ID 的类型上实现`id`方法. 请确保在使用自定义方法公开`GraphQL::ID_TYPE` ,它是全局唯一的. - -被曝光的记录`full_path`作为`ID_TYPE`是这些例外之一. 由于完整路径是`Project`或`Namespace`的唯一标识符. - -### Connection Types[](#connection-types "Permalink") - -GraphQL 使用[基于光标的分页](https://s0graphql0org.icopy.site/learn/pagination/)来公开项目的集合. 这为客户提供了很大的灵活性,同时还允许后端使用不同的分页模型. - -为了公开资源的集合,我们可以使用连接类型. 这将使用默认的分页字段包装数组. 例如,对项目管道的查询可能如下所示: - -``` -query($project_path: ID!) { project(fullPath: $project_path) { pipelines(first: 2) { pageInfo { hasNextPage hasPreviousPage } edges { cursor node { id status } } } } } -``` - -这将返回项目的前两个管道和相关的分页信息,按降序 ID 排序. 返回的数据如下所示: - -``` -{ "data": { "project": { "pipelines": { "pageInfo": { "hasNextPage": true, "hasPreviousPage": false }, "edges": [ { "cursor": "Nzc=", "node": { "id": "gid://gitlab/Pipeline/77", "status": "FAILED" } }, { "cursor": "Njc=", "node": { "id": "gid://gitlab/Pipeline/67", "status": "FAILED" } } ] } } } } -``` - -要获取下一页,可以传递最后一个已知元素的光标: - -``` -query($project_path: ID!) { project(fullPath: $project_path) { pipelines(first: 2, after: "Njc=") { pageInfo { hasNextPage hasPreviousPage } edges { cursor node { id status } } } } } -``` - -为了确保获得一致的顺序,我们将在主键上按降序附加顺序. 这通常是`id` ,因此基本上我们将在关系的末尾添加`order(id: :desc)` . 基础表上*必须*有主键. - -#### Shortcut fields[](#shortcut-fields "Permalink") - -有时似乎很容易实现"快捷字段",如果没有传递任何参数,则让解析程序返回集合的第一个. 不鼓励使用这些"快捷字段",因为它们会增加维护开销. 它们需要与规范字段保持同步,并且如果规范字段发生更改,则不建议使用或修改它们. 除非有充分的理由,否则请使用框架提供的功能. - -例如,不要使用`latest_pipeline` ,而应使用`pipelines(last: 1)` . - -### Exposing permissions for a type[](#exposing-permissions-for-a-type "Permalink") - -若要公开当前用户对资源的权限,可以调用以单独的类型传递的`expose_permissions` ,该类型表示资源的权限. - -例如: - -``` -module Types - class MergeRequestType < BaseObject - expose_permissions Types::MergeRequestPermissionsType - end -end -``` - -权限类型继承自`BasePermissionType` ,其中包括一些帮助程序方法,这些方法允许将权限公开为不可为 null 的布尔值: - -``` -class MergeRequestPermissionsType < BasePermissionType - present_using MergeRequestPresenter - - graphql_name 'MergeRequestPermissions' - - abilities :admin_merge_request, :update_merge_request, :create_note - - ability_field :resolve_note, - description: 'Indicates the user can resolve discussions on the merge request' - permission_field :push_to_source_branch, method: :can_push_to_source_branch? -end -``` - -* **`permission_field`** :其作用与`graphql-ruby`的`field`方法相同,但设置默认描述和类型,并使它们不可为空. 通过将它们添加为参数,仍然可以覆盖这些选项. -* **`ability_field`** :公开我们政策中定义的能力. 此行为与`permission_field`相同,并且可以覆盖相同的参数. -* **`abilities`** :允许一次暴露我们政策中定义的几种能力. 这些字段都将是带有默认说明的非空布尔值. - -## Feature flags[](#feature-flags "Permalink") - -开发人员可以通过以下方式将[功能标志](../development/feature_flags/index.html)添加到 GraphQL 字段: - -* 将`feature_flag`属性添加到字段. 当禁用该标志时,这将允许从 GraphQL 模式中*隐藏*该字段. -* 解析字段时切换返回值. - -您可以参考以下准则来决定使用哪种方法: - -* 如果您的字段是实验性的,并且其名称或类型可能会发生变化,请使用`feature_flag`属性. -* 如果您的字段是稳定的,并且即使删除了标志,其定义也不会更改,请改为切换字段的返回值. 请注意, [所有字段](#nullable-fields)无论如何[都应该为空](#nullable-fields) . - -### `feature_flag` property[](#feature_flag-property "Permalink") - -`feature_flag`属性允许您在 GraphQL 模式中切换字段的[可见性](https://graphql-ruby.org/authorization/visibility.html) . 禁用该标志后,将从架构中删除该字段. - -字段后[附有](https://gitlab.com/gitlab-org/gitlab/-/blob/497b556/app/graphql/types/base_field.rb#L44-53)说明,表示该说明位于功能标志的后面. - -**警告:**如果在禁用功能标志时客户端查询该字段,则查询将失败. 在生产中打开或关闭功能的可见性时,请考虑此问题. - -`feature_flag`属性不允许使用[基于 actor](../development/feature_flags/development.html)的[特征门](../development/feature_flags/development.html) . 这意味着功能标记不能仅针对特定的项目,组或用户进行切换,而只能针对所有人进行全局切换. - -Example: - -``` -field :test_field, type: GraphQL::STRING_TYPE, - null: true, - description: 'Some test field', - feature_flag: :my_feature_flag -``` - -### Toggle the value of a field[](#toggle-the-value-of-a-field "Permalink") - -对字段使用特征标记的这种方法是切换字段的返回值. 这可以在解析器中,在类型中甚至在模型方法中完成,具体取决于您的偏好和情况. - -当应用功能标记来切换字段的值时,该字段的`description`必须: - -* 说明该字段的值可以通过功能标记切换. -* 命名功能标志. -* 说明禁用(或启用,如果更合适的话)功能标志时字段将返回的内容. - -Example: - -``` -field :foo, GraphQL::STRING_TYPE, - null: true, - description: 'Some test field. Will always return `null`' \ - 'if `my_feature_flag` feature flag is disabled' - -def foo - object.foo unless Feature.enabled?(:my_feature_flag, object) -end -``` - -## Deprecating fields[](#deprecating-fields "Permalink") - -GitLab 的 GraphQL API 是无版本的,这意味着我们会与 API 的旧版本保持向下兼容性. 除了删除字段,我们还需要*弃用*该字段. 将来,GitLab [可能会删除不推荐使用的字段](https://gitlab.com/gitlab-org/gitlab/-/issues/32292) . - -使用`deprecated`推荐使用的属性不推荐使用字段. 该属性的值是以下各项的`Hash`值: - -* `reason` -弃用的原因. -* `milestone` -已弃用该字段的里程碑. - -Example: - -``` -field :token, GraphQL::STRING_TYPE, null: true, - deprecated: { reason: 'Login via token has been removed', milestone: '10.0' }, - description: 'Token for login' -``` - -最初的`description:`现场应保持,并且*不*应该更新提折旧. - -### Deprecation reason style guide[](#deprecation-reason-style-guide "Permalink") - -如果弃用的原因是该字段被另一个字段替换,则`reason`必须是: - -``` -Use `otherFieldName` -``` - -Example: - -``` -field :designs, ::Types::DesignManagement::DesignCollectionType, null: true, - deprecated: { reason: 'Use `designCollection`', milestone: '10.0' }, - description: 'The designs associated with this issue', -``` - -如果该字段没有被另一个字段替换,则应给出描述性的弃用`reason` . - -## Enums[](#enums "Permalink") - -GitLab GraphQL enums are defined in `app/graphql/types`. When defining new enums, the following rules apply: - -* 值必须为大写. -* 类名必须以字符串`Enum`结尾. -* `graphql_name`不得包含字符串`Enum` . - -例如: - -``` -module Types - class TrafficLightStateEnum < BaseEnum - graphql_name 'TrafficLightState' - description 'State of a traffic light' - - value 'RED', description: 'Drivers must stop' - value 'YELLOW', description: 'Drivers must stop when it is safe to' - value 'GREEN', description: 'Drivers can start or keep driving' - end -end -``` - -If the enum will be used for a class property in Ruby that is not an uppercase string, you can provide a `value:` option that will adapt the uppercase value. - -在以下示例中: - -* GraphQL inputs of `OPENED` will be converted to `'opened'`. -* Ruby 的`'opened'`值将在 GraphQL 响应中转换为`"OPENED"` . - -``` -module Types - class EpicStateEnum < BaseEnum - graphql_name 'EpicState' - description 'State of a GitLab epic' - - value 'OPENED', value: 'opened', description: 'An open Epic' - value 'CLOSED', value: 'closed', description: 'An closed Epic' - end -end -``` - -## Descriptions[](#descriptions "Permalink") - -所有字段和参数都[必须具有描述](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/16438) . - -使用`description:`关键字给出字段或自变量的`description:` . 例如: - -``` -field :id, GraphQL::ID_TYPE, description: 'ID of the resource' -``` - -用户可以通过以下方式查看字段和参数的描述: - -* The [GraphiQL explorer](#graphiql). -* The [static GraphQL API reference](../api/graphql/#reference). - -### Description style guide[](#description-style-guide "Permalink") - -为确保一致性,每次添加或更新描述时都应遵循以下规定: - -* 在描述中提及资源的名称. 示例: `'Labels of the issue'` (问题就是资源). -* 尽可能`"{x} of the {y}"` . 示例: `'Title of the issue'` . 不要下手描述`The` . -* `GraphQL::BOOLEAN_TYPE`字段的描述应回答以下问题:"此字段的作用是什么?". 示例: `'Indicates project has a Git repository'` . -* 描述类型为`Types::TimeType`的参数或字段时,请始终包含单词`"timestamp"` . 这使读者知道该属性的格式将是`Time` ,而不仅仅是`Date` . -* 没有`.` 在字符串末尾. - -Example: - -``` -field :id, GraphQL::ID_TYPE, description: 'ID of the Issue' -field :confidential, GraphQL::BOOLEAN_TYPE, description: 'Indicates the issue is confidential' -field :closed_at, Types::TimeType, description: 'Timestamp of when the issue was closed' -``` - -### `copy_field_description` helper[](#copy_field_description-helper "Permalink") - -有时我们希望确保两个描述始终相同. 例如,当两个类型字段描述都表示相同的属性时,它们要与突变参数保持相同. - -除了提供描述之外,我们还可以使用`copy_field_description`帮助器,将其类型和字段名称传递给它,以复制其描述. - -Example: - -``` -argument :title, GraphQL::STRING_TYPE, - required: false, - description: copy_field_description(Types::MergeRequestType, :title) -``` - -## Authorization[](#authorization "Permalink") - -可以使用与 Rails 应用程序中相同的功能将授权应用于类型和字段. - -如果: - -* 当前经过身份验证的用户未通过授权,授权资源将返回`null` . -* 资源是集合的一部分,该集合将被过滤以排除用户授权检查失败的对象. - -另请参见[在变异中授权资源](#authorizing-resources) . - -**提示:**尝试仅先加载允许当前已认证用户使用我们现有的查找器查看的内容,而不依赖于授权来过滤记录. 这样可以最大程度地减少数据库查询和对已加载记录的不必要的授权检查. - -### Type authorization[](#type-authorization "Permalink") - -通过将能力传递给`authorize`方法来`authorize`类型. 通过检查当前经过身份验证的用户是否具有所需的能力,将对所有具有相同类型的字段进行授权. - -例如,以下授权可确保当前经过身份验证的用户只能看到其具有`read_project`能力的项目(只要在使用`Types::ProjectType`的字段中返回该`Types::ProjectType` ): - -``` -module Types - class ProjectType < BaseObject - authorize :read_project - end -end -``` - -您还可以授权多个能力,在这种情况下,所有能力检查都必须通过. - -例如,以下授权可确保当前经过身份验证的用户必须具有`read_project`和`another_ability`能力才能查看项目: - -``` -module Types - class ProjectType < BaseObject - authorize [:read_project, :another_ability] - end -end -``` - -### Field authorization[](#field-authorization "Permalink") - -可以使用`authorize`选项对字段进行授权. - -例如,以下授权可确保当前经过身份验证的用户必须具有`owner_access`功能才能查看项目: - -``` -module Types - class MyType < BaseObject - field :project, Types::ProjectType, null: true, resolver: Resolvers::ProjectResolver, authorize: :owner_access - end -end -``` - -还可以针对多个能力授权字段,在这种情况下,所有能力检查都必须通过. **注意:**这需要显式地将一个块传递给`field` : - -``` -module Types - class MyType < BaseObject - field :project, Types::ProjectType, null: true, resolver: Resolvers::ProjectResolver do - authorize [:owner_access, :another_ability] - end - end -end -``` - -**注意:**如果字段的类型已经[具有特定的授权,](#type-authorization)则无需将该相同的授权添加到字段中. - -### Type and Field authorizations together[](#type-and-field-authorizations-together "Permalink") - -授权是累积性的,因此,在一个字段以及该字段的类型上定义了授权的情况下,当前经过身份验证的用户将需要通过所有能力检查. - -在下面的简化示例中,当前经过身份验证的用户将需要`first_permission`和`second_permission`能力,才能看到问题的作者. - -``` -class UserType - authorize :first_permission -end -``` - -``` -class IssueType - field :author, UserType, authorize: :second_permission -end -``` - -## Resolvers[](#resolvers "Permalink") - -我们使用存储在`app/graphql/resolvers`目录中的*解析器*定义应用程序如何响应. 解析器提供了用于检索相关对象的实际实现逻辑. - -要查找要显示在字段中的对象,我们可以将解析器添加到`app/graphql/resolvers` . - -可以在解析程序中定义参数,这些参数将通过解析程序提供给字段. 公开具有内部 ID( `iid` )的模型时,最好将其与名称空间路径结合使用,作为解析器中的参数,而不是数据库 ID. 否则,请使用[全局唯一 ID](#exposing-global-ids) . - -我们已经有一个`FullPathLoader` ,可以将其包含在其他解析器中,以快速查找将有很多依赖对象的项目和命名空间. - -为了限制执行的查询数量,我们可以使用`BatchLoader` . - -### Correct use of `Resolver#ready?`[](#correct-use-of-resolverready "Permalink") - -解析器有两个公共 API 方法作为框架的一部分: `#ready?(**args)`和`#resolve(**args)` . 我们可以使用`#ready?` 无需调用`#resolve`即可执行设置,验证或提前退货. - -有充分理由使用`#ready?` 包括: - -* 验证互斥参数(请参阅[验证参数](#validating-arguments) ) -* 如果事先知道没有结果,则返回`Relation.none` -* 执行诸如初始化实例变量的设置(尽管为此考虑了延迟初始化的方法) - -[`Resolver#ready?(**args)`](https://graphql-ruby.org/api-doc/1.10.9/GraphQL/Schema/Resolver#ready?-instance_method)应返回`(Boolean, early_return_data)` ,如下所示: - -``` -def ready?(**args) - [false, 'have this instead'] -end -``` - -因此,无论何时调用解析器(主要是在测试中-作为框架抽象,不应将解析器视为可重用的,最好使用查找器),还记得调用`ready?` 方法,并在调用`resolve`之前检查布尔值标志! 在我们的[`GraphQLHelpers`](https://gitlab.com/gitlab-org/gitlab/-/blob/2d395f32d2efbb713f7bc861f96147a2a67e92f2/spec/support/helpers/graphql_helpers.rb#L20-27)可以看到一个示例. - -### Look-Ahead[](#look-ahead "Permalink") - -完整查询是在执行期间预先知道的,这意味着我们可以利用[超前](https://graphql-ruby.org/queries/lookahead.html)查询来优化查询,并知道我们将需要的批处理负载关联. 考虑在解析器中添加前瞻性支持,以避免`N+1`性能问题. - -为了支持常见的前瞻用例(在请求子字段时预加载关联),可以包含[`LooksAhead`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/app/graphql/resolvers/concerns/looks_ahead.rb) . 例如: - -``` -# Assuming a model `MyThing` with attributes `[child_attribute, other_attribute, nested]`, -# where nested has an attribute named `included_attribute`. -class MyThingResolver < BaseResolver - include LooksAhead - - # Rather than defining `resolve(**args)`, we implement: `resolve_with_lookahead(**args)` - def resolve_with_lookahead(**args) - apply_lookahead(MyThingFinder.new(current_user).execute) - end - - # We list things that should always be preloaded: - # For example, if child_attribute is always needed (during authorization - # perhaps), then we can include it here. - def unconditional_includes - [:child_attribute] - end - - # We list things that should be included if a certain field is selected: - def preloads - { - field_one: [:other_attribute], - field_two: [{ nested: [:included_attribute] }] - } - end -end -``` - -需要做的最后一件事是,使用此解析器的每个字段都需要公告提前查询的需求: - -``` - # in ParentType - field :my_things, MyThingType.connection_type, null: true, - extras: [:lookahead], # Necessary - resolver: MyThingResolver, - description: 'My things' -``` - -有关实际使用的示例,请参见[`ResolvesMergeRequests`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/app/graphql/resolvers/concerns/resolves_merge_requests.rb) . - -## Mutations[](#mutations "Permalink") - -变异用于更改任何存储的值或触发动作. 与 GET 请求不应修改数据的方式相同,我们无法在常规 GraphQL 查询中修改数据. 但是我们可以突变. - -要查找突变的对象,需要指定参数. 与[解析程序一样](#resolvers) ,最好使用内部 ID 或全局 ID(而不是数据库 ID)(如果需要). - -### Building Mutations[](#building-mutations "Permalink") - -突变存在于`app/graphql/mutations`理想情况下,突变是根据它们正在突变的资源进行分组的,类似于我们的服务. 他们应该继承`Mutations::BaseMutation` . 突变的结果将返回在突变上定义的字段. - -### Naming conventions[](#naming-conventions "Permalink") - -每个突变都必须定义一个`graphql_name` ,这是 GraphQL 模式中的突变名称. - -Example: - -``` -class UserUpdateMutation < BaseMutation - graphql_name 'UserUpdate' -end -``` - -我们的 GraphQL 突变名称在历史上是不一致的,但是新的突变名称应遵循约定`'{Resource}{Action}'`或`'{Resource}{Action}{Attribute}'` . - -**创建**新资源的变异应使用动词`Create` . - -Example: - -* `CommitCreate` - -**更新**数据的突变应使用: - -* 动词`Update` . -* 特定于域的动词,例如`Set` , `Add`或`Toggle`如果更合适). - -Examples: - -* `EpicTreeReorder` -* `IssueSetWeight` -* `IssueUpdate` -* `TodoMarkDone` - -**删除**数据的突变应使用: - -* 动词`Delete`而不是`Destroy` . -* 特定于域的动词,例如" `Remove`如果更合适). - -Examples: - -* `AwardEmojiRemove` -* `NoteDelete` - -如果您需要有关突变命名的建议,请查看 Slack `#graphql`渠道以获取反馈. - -### Arguments[](#arguments "Permalink") - -突变所需的参数可以定义为字段所需的参数. 这些将被包装为突变的输入类型. 例如,带有 GraphQL 名称`MergeRequestSetWip`的`Mutations::MergeRequests::SetWip` `MergeRequestSetWip`定义了以下参数: - -``` -argument :project_path, GraphQL::ID_TYPE, - required: true, - description: "The project the merge request to mutate is in" - -argument :iid, GraphQL::STRING_TYPE, - required: true, - description: "The iid of the merge request to mutate" - -argument :wip, - GraphQL::BOOLEAN_TYPE, - required: false, - description: <<~DESC Whether or not to set the merge request as a WIP. - If not passed, the value will be toggled. DESC -``` - -这将自动生成一个名为`MergeRequestSetWipInput`的输入类型, `MergeRequestSetWipInput`包含我们指定的 3 个参数和`clientMutationId` . - -然后将这些参数作为关键字参数传递给突变的`resolve`方法. - -### Fields[](#fields "Permalink") - -在最常见的情况下,变异会返回 2 个字段: - -* 正在修改的资源 -* 错误列表,说明无法执行该操作的原因. 如果突变成功,此列表将为空. - -通过从`Mutations::BaseMutation`继承任何新的突变, `errors`字段将自动添加. 还添加了一个`clientMutationId`字段,当在单个请求中执行多个变异时,客户端可以使用它来标识单个变异的结果. - -### The `resolve` method[](#the-resolve-method "Permalink") - -`resolve`方法接收变异的参数作为关键字参数. 从这里,我们可以调用将修改资源的服务. - -然后, `resolve`方法应返回一个哈希,该哈希具有与在突变上定义的字段名称相同的字段名称,包括`errors`数组. 例如, `Mutations::MergeRequests::SetWip`定义了`merge_request`字段: - -``` -field :merge_request, - Types::MergeRequestType, - null: true, - description: "The merge request after mutation" -``` - -这意味着在此突变中从`resolve`返回的哈希应如下所示: - -``` -{ - # The merge request modified, this will be wrapped in the type - # defined on the field - merge_request: merge_request, - # An array of strings if the mutation failed after authorization. - # The `errors_on_object` helper collects `errors.full_messages` - errors: errors_on_object(merge_request) -} -``` - -### Mounting the mutation[](#mounting-the-mutation "Permalink") - -为了使变异可用,必须在存在于`graphql/types/mutation_types`的变异类型上进行定义. `mount_mutation`帮助器方法将基于突变的 GraphQL 名称定义一个字段: - -``` -module Types - class MutationType < BaseObject - include Gitlab::Graphql::MountMutation - - graphql_name "Mutation" - - mount_mutation Mutations::MergeRequests::SetWip - end -end -``` - -将生成一个名为`mergeRequestSetWip`的字段, `Mutations::MergeRequests::SetWip`字段将要解决的`Mutations::MergeRequests::SetWip` . - -### Authorizing resources[](#authorizing-resources "Permalink") - -要授权某个变异内的资源,我们首先要提供所需的变异能力,如下所示: - -``` -module Mutations - module MergeRequests - class SetWip < Base - graphql_name 'MergeRequestSetWip' - - authorize :update_merge_request - end - end -end -``` - -然后,我们可以致电`authorize!` 在`resolve`方法中,传入我们要验证其功能的资源. - -或者,我们可以添加一个`find_object`方法,该方法将在突变上加载对象. 这将允许您使用`authorized_find!` 辅助方法. - -当不允许用户执行该操作或找不到对象时,我们应该引发`Gitlab::Graphql::Errors::ResourceNotAvailable`错误. 哪些将正确呈现给客户端. - -### Errors in mutations[](#errors-in-mutations "Permalink") - -我们鼓励遵循[错误](https://graphql-ruby.org/mutations/mutation_errors)的做法,将其[作为](https://graphql-ruby.org/mutations/mutation_errors)突变的[数据](https://graphql-ruby.org/mutations/mutation_errors) ,从而根据错误的相关者,定义的错误处理者来区分错误. - -关键点: - -* 所有突变响应都有一个`errors`字段. 如果失败,则应填充此文件;如果成功,则应填充该文件. -* 考虑谁需要看到错误: **用户**还是**开发人员** . -* 客户在执行突变时应始终请求`errors`字段. -* 错误可能会以`$root.errors` (顶级错误)或`$root.data.mutationName.errors` (变异错误)的形式报告给用户. 位置取决于这是什么类型的错误以及它所包含的信息. - -考虑一个示例变体`doTheThing` ,该变`doTheThing`返回带有两个字段的响应: `errors: [String]`和`thing: ThingType` . 由于我们正在考虑错误,因此`thing`本身的特定性质与这些示例无关. - -突变响应可以处于三种状态: - -* [Success](#success) -* [Failure (relevant to the user)](#failure-relevant-to-the-user) -* [Failure (irrelevant to the user)](#failure-irrelevant-to-the-user) - -#### Success[](#success "Permalink") - -在快乐的道路上, *可能*会返回错误以及预期的有效负载,但是如果一切成功,则`errors`应该是一个空数组,因为没有任何问题需要通知用户. - -``` -{ - data: { - doTheThing: { - errors: [] // if successful, this array will generally be empty. - thing: { .. } - } - } -} -``` - -#### Failure (relevant to the user)[](#failure-relevant-to-the-user "Permalink") - -发生了影响**用户**的错误. 我们将这些称为*突变错误* . 在这种情况下通常没有`thing`来回报: - -``` -{ - data: { - doTheThing: { - errors: ["you cannot touch the thing"], - thing: null - } - } -} -``` - -例如: - -* Model validation errors: the user may need to change the inputs. -* 权限错误:用户需要知道他们不能执行此操作,他们可能需要请求权限或登录. -* 应用程序状态问题阻止了用户的操作,例如:合并冲突,资源被锁定等等. - -理想情况下,我们应该防止用户走得太远,但是如果这样做了,则需要告诉他们出了什么问题,以便他们了解失败的原因以及可以实现其意图的方法,即使那很简单重试请求. - -可以与变异数据一起返回*可恢复的*错误. 例如,如果用户上载 10 个文件,而其中 3 个失败,其余文件成功,则可以将失败的错误以及有关成功的信息与用户一起使用. - -#### Failure (irrelevant to the user)[](#failure-irrelevant-to-the-user "Permalink") - -可以在*顶层*返回一个或多个*不可恢复的*错误. 这些是**用户**几乎无法控制的事情,主要应该是**开发人员**需要了解的系统或编程问题. 在这种情况下,没有`data` : - -``` -{ - errors: [ - {"message": "argument error: expected an integer, got null"}, - ] -} -``` - -这是在突变过程中引发错误的结果. 在我们的实现中,参数错误和验证错误的消息将返回给客户端,所有其他`StandardError`实例将被捕获,记录并呈现给客户端,并将消息设置为`"Internal server error"` . 有关详细信息,请参见[`GraphqlController`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/app/controllers/graphql_controller.rb) . - -这些代表编程错误,例如: - -* A GraphQL syntax error, where an `Int` was passed instead of a `String`, or a required argument was not present. -* 我们架构中的错误,例如无法为不可为空的字段提供值. -* 系统错误:例如,Git 存储异常或数据库不可用. - -用户在常规使用中不应导致此类错误. 此类错误应视为内部错误,并且不向用户详细显示. - -我们需要在突变失败时通知用户,但是我们不必告诉他们原因,因为他们不可能造成突变,尽管我们可以提供重试突变的方法,但他们无能为力. - -#### Categorizing errors[](#categorizing-errors "Permalink") - -当我们编写突变时,我们需要意识到错误状态属于这两个类别中的哪一个(并与前端开发人员进行沟通以验证我们的假设). 这意味着将*用户*的需求与*客户*的需求区分开. - -> *除非用户需要了解错误,否则切勿捕获错误.* - -如果用户确实需要了解它,请与前端开发人员进行交流,以确保我们传回的错误信息有用. - -另请参见[前端 GraphQL 指南](../development/fe_guide/graphql.html#handling-errors) . - -### Aliasing and deprecating mutations[](#aliasing-and-deprecating-mutations "Permalink") - -`#mount_aliased_mutation`帮助器允许我们将突变别名作为`MutationType`另一个名称. - -例如,将名为`FooMutation`的突变别名为`BarMutation` : - -``` -mount_aliased_mutation 'BarMutation', Mutations::FooMutation -``` - -结合[`deprecated`](#deprecating-fields)参数,这使我们可以重命名突变并继续支持旧名称. - -Example: - -``` -mount_aliased_mutation 'UpdateFoo', - Mutations::Foo::Update, - deprecated: { reason: 'Use fooUpdate', milestone: '13.2' } -``` - -不赞成使用的突变应添加到`Types::DeprecatedMutations`并在`Types::MutationType`的单元测试中进行测试. 合并请求[!34798](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/34798)可以称为此示例,包括测试已弃用的别名突变的方法. - -## Validating arguments[](#validating-arguments "Permalink") - -要验证单个参数,请照常使用[`prepare`选项](https://github.com/rmosolgo/graphql-ruby/blob/master/guides/fields/arguments.md) . - -有时,变异或解析器可以接受许多可选参数,但是我们仍然要验证是否至少提供了一个可选参数. 在这种情况下,请考虑使用`#ready?` 突变或解析器中提供验证的方法. `#ready?` 在`#resolve`方法中完成任何工作之前,将调用方法. - -Example: - -``` -def ready?(**args) - if args.values_at(:body, :position).compact.blank? - raise Gitlab::Graphql::Errors::ArgumentError, - 'body or position arguments are required' - end - - # Always remember to call `#super` - super -end -``` - -如果将来将此[RFC](https://github.com/graphql/graphql-spec/blob/master/rfcs/InputUnion.md)合并,则可以使用`InputUnions`完成. - -## GitLab’s custom scalars[](#gitlabs-custom-scalars "Permalink") - -### `Types::TimeType`[](#typestimetype "Permalink") - -[`Types::TimeType`](https://gitlab.com/gitlab-org/gitlab/blob/master/app/graphql/types/time_type.rb)必须用作处理 Ruby `Time`和`DateTime`对象的所有字段和参数的类型. - -该类型是[一个自定义标量](https://github.com/rmosolgo/graphql-ruby/blob/master/guides/type_definitions/scalars.md#custom-scalars) : - -* 当用作 GraphQL 字段的类型时,将 Ruby 的`Time`和`DateTime`对象转换为标准化的 ISO-8601 格式的字符串. -* 当用作 GraphQL 参数的类型时,将 ISO-8601 格式的时间字符串转换为 Ruby `Time`对象. - -这使我们的 GraphQL API 具有标准化的方式来表示时间并处理时间输入. - -Example: - -``` -field :created_at, Types::TimeType, null: true, description: 'Timestamp of when the issue was created' -``` - -## Testing[](#testing "Permalink") - -在`spec/requests/api/graphql`实时进行针对 graphql 查询或突变的*全栈*测试. - -添加查询时,可以使用`a working graphql query`共享示例来测试该查询是否呈现有效结果. - -使用`GraphqlHelpers#all_graphql_fields_for` -helper,可以构造一个包含所有可用字段的查询. 这使得添加测试渲染所有可能的查询字段变得容易. - -为了测试 GraphQL 突变请求, `GraphqlHelpers`提供了 2 个助手: `graphql_mutation` ,它使用突变的名称;以及带有该突变输入的哈希. 这将返回带有变异查询和预备变量的结构. - -然后可以将此结构传递给`post_graphql_mutation`帮助器,该帮助器将使用正确的参数发布请求,就像 GraphQL 客户端所做的那样. - -要访问突变的响应,可以使用`graphql_mutation_response`帮助器. - -使用这些帮助器,我们可以建立如下规格: - -``` -let(:mutation) do - graphql_mutation( - :merge_request_set_wip, - project_path: 'gitlab-org/gitlab-foss', - iid: '1', - wip: true - ) -end - -it 'returns a successful response' do - post_graphql_mutation(mutation, current_user: user) - - expect(response).to have_gitlab_http_status(:success) - expect(graphql_mutation_response(:merge_request_set_wip)['errors']).to be_empty -end -``` - -## Notes about Query flow and GraphQL infrastructure[](#notes-about-query-flow-and-graphql-infrastructure "Permalink") - -可以在`lib/gitlab/graphql`找到 GitLab 的 GraphQL 基础架构. - -[检测](https://graphql-ruby.org/queries/instrumentation.html)是环绕正在执行的查询的功能. 它被实现为使用`Instrumentation`类的模块. - -Example: `Present` - -``` -module Gitlab - module Graphql - module Present - #... some code above... - - def self.use(schema_definition) - schema_definition.instrument(:field, ::Gitlab::Graphql::Present::Instrumentation.new) - end - end - end -end -``` - -[查询分析器](https://graphql-ruby.org/queries/ast_analysis.html#analyzer-api)包含一系列回调,以在执行查询之前对其进行验证. 每个字段都可以通过分析仪,最终值也可供您使用. - -[多重查询](https://graphql-ruby.org/queries/multiplex.html)使多个查询可以在单个请求中发送. 这减少了发送到服务器的请求数量. (GraphQL Ruby 提供了自定义的 Multiplex 查询分析器和 Multiplex 工具). - -### Query limits[](#query-limits "Permalink") - -查询和变异受到深度,复杂性和递归的限制,以保护服务器资源免受过度野心或恶意查询的侵害. 这些值可以设置为默认值,并根据需要在特定查询中覆盖. 也可以为每个对象设置复杂度值,并根据返回的对象数来评估最终查询的复杂度. 这对于昂贵的对象(例如需要 Gitaly 调用)很有用. - -例如,解析器中的条件复杂度方法: - -``` -def self.resolver_complexity(args, child_complexity:) - complexity = super - complexity += 2 if args[:labelName] - - complexity -end -``` - -有关复杂性的更多信息: [GraphQL Ruby 文档](https://graphql-ruby.org/queries/complexity_and_depth.html) . - -## Documentation and Schema[](#documentation-and-schema "Permalink") - -我们的模式位于`app/graphql/gitlab_schema.rb` . 有关详细信息,请参见[架构参考](../api/graphql/reference/index.html) . - -模式更改时,需要更新此生成的 GraphQL 文档. 有关生成 GraphQL 文档和架构文件的信息,请参阅[更新架构文档](rake_tasks.html#update-graphql-documentation-and-schema-definitions) . \ No newline at end of file diff --git a/docs/613.md b/docs/613.md deleted file mode 100644 index 00e7d9e..0000000 --- a/docs/613.md +++ /dev/null @@ -1,223 +0,0 @@ -# Guidelines for shell commands in the GitLab codebase - -> 原文:[https://docs.gitlab.com/ee/development/shell_commands.html](https://docs.gitlab.com/ee/development/shell_commands.html) - -* [References](#references) -* [Use File and FileUtils instead of shell commands](#use-file-and-fileutils-instead-of-shell-commands) -* [Always use the configurable Git binary path for Git commands](#always-use-the-configurable-git-binary-path-for-git-commands) -* [Bypass the shell by splitting commands into separate tokens](#bypass-the-shell-by-splitting-commands-into-separate-tokens) -* [Separate options from arguments with –](#separate-options-from-arguments-with---) -* [Do not use the backticks](#do-not-use-the-backticks) -* [Avoid user input at the start of path strings](#avoid-user-input-at-the-start-of-path-strings) -* [Guard against path traversal](#guard-against-path-traversal) -* [Properly anchor regular expressions to the start and end of strings](#properly-anchor-regular-expressions-to-the-start-and-end-of-strings) - -# Guidelines for shell commands in the GitLab codebase[](#guidelines-for-shell-commands-in-the-gitlab-codebase "Permalink") - -本文档包含使用 GitLab 代码库中的进程和文件的准则. 这些准则旨在使您的代码更加可靠*和*安全. - -## References[](#references "Permalink") - -* [Google Ruby Security Reviewer’s Guide](https://code.google.com/archive/p/ruby-security/wikis/Guide.wiki) -* [OWASP Command Injection](https://wiki.owasp.org/index.php/Command_Injection) -* [Ruby on Rails Security Guide Command Line Injection](https://guides.rubyonrails.org/security.html#command-line-injection) - -## Use File and FileUtils instead of shell commands[](#use-file-and-fileutils-instead-of-shell-commands "Permalink") - -有时,当还有 Ruby API 可以通过外壳调用基本的 Unix 命令时. 使用 Ruby API(如果存在). [http://www.ruby-doc.org/stdlib-2.0.0/libdoc/fileutils/rdoc/FileUtils.html#module-FileUtils-label-Module+Functions](http://www.ruby-doc.org/stdlib-2.0.0/libdoc/fileutils/rdoc/FileUtils.html#module-FileUtils-label-Module+Functions) - -``` -# Wrong -system "mkdir -p tmp/special/directory" -# Better (separate tokens) -system *%W(mkdir -p tmp/special/directory) -# Best (do not use a shell command) -FileUtils.mkdir_p "tmp/special/directory" - -# Wrong -contents = `cat #{filename}` -# Correct -contents = File.read(filename) - -# Sometimes a shell command is just the best solution. The example below has no -# user input, and is hard to implement correctly in Ruby: delete all files and -# directories older than 120 minutes under /some/path, but not /some/path -# itself. -Gitlab::Popen.popen(%W(find /some/path -not -path /some/path -mmin +120 -delete)) -``` - -这种编码风格可能阻止了 CVE-2013-4490. - -## Always use the configurable Git binary path for Git commands[](#always-use-the-configurable-git-binary-path-for-git-commands "Permalink") - -``` -# Wrong -system(*%W(git branch -d -- #{branch_name})) - -# Correct -system(*%W(#{Gitlab.config.git.bin_path} branch -d -- #{branch_name})) -``` - -## Bypass the shell by splitting commands into separate tokens[](#bypass-the-shell-by-splitting-commands-into-separate-tokens "Permalink") - -当我们将 shell 命令作为单个字符串传递给 Ruby 时,Ruby 将让`/bin/sh`评估整个字符串. 本质上,我们要求外壳程序评估单行脚本. 这会造成外壳注入攻击的风险. 最好自己将 shell 命令拆分为令牌. 有时,我们使用外壳程序的脚本功能来更改工作目录或设置环境变量. 所有这些都可以直接从 Ruby 安全地实现 - -``` -# Wrong -system "cd /home/git/gitlab && bundle exec rake db:#{something} RAILS_ENV=production" -# Correct -system({'RAILS_ENV' => 'production'}, *%W(bundle exec rake db:#{something}), chdir: '/home/git/gitlab') - -# Wrong -system "touch #{myfile}" -# Better -system "touch", myfile -# Best (do not run a shell command at all) -FileUtils.touch myfile -``` - -这种编码风格可能阻止了 CVE-2013-4546. - -## Separate options from arguments with –[](#separate-options-from-arguments-with--- "Permalink") - -使用`--`使系统命令的参数解析器可以清楚了解选项和参数之间的区别. 许多但并非所有 Unix 命令都支持此功能. - -要了解什么`--`不,请考虑以下问题. - -``` -# Example -$ echo hello > -l -$ cat -l - -cat: illegal option -- l -usage: cat [-benstuv] [file ...] -``` - -在上面的示例中, `cat`的参数解析器假定`-l`是一个选项. 在上面的例子中的解决方案是明确告诉`cat`那`-l`实在是一个论点,不是一种选择. 许多 Unix 命令行工具都遵循用`--`分隔选项和参数的约定. - -``` -# Example (continued) -$ cat -- -l - -hello -``` - -在 GitLab 代码库中,我们*总是*通过对支持它的命令使用`--`来避免选项/参数的歧义. - -``` -# Wrong -system(*%W(#{Gitlab.config.git.bin_path} branch -d #{branch_name})) -# Correct -system(*%W(#{Gitlab.config.git.bin_path} branch -d -- #{branch_name})) -``` - -这种编码风格可能阻止了 CVE-2013-4582. - -## Do not use the backticks[](#do-not-use-the-backticks "Permalink") - -用反引号捕获 shell 命令的输出很不错,但是您不得不将命令作为一个字符串传递给 shell. 上面我们解释了这是不安全的. 在主要的 GitLab 代码库中,解决方案是改用`Gitlab::Popen.popen` . - -``` -# Wrong -logs = `cd #{repo_dir} && #{Gitlab.config.git.bin_path} log` -# Correct -logs, exit_status = Gitlab::Popen.popen(%W(#{Gitlab.config.git.bin_path} log), repo_dir) - -# Wrong -user = `whoami` -# Correct -user, exit_status = Gitlab::Popen.popen(%W(whoami)) -``` - -在其他存储库(如 GitLab Shell)中,您也可以使用`IO.popen` . - -``` -# Safe IO.popen example -logs = IO.popen(%W(#{Gitlab.config.git.bin_path} log), chdir: repo_dir) { |p| p.read } -``` - -请注意,与`Gitlab::Popen.popen`不同, `IO.popen`不会捕获标准错误. - -## Avoid user input at the start of path strings[](#avoid-user-input-at-the-start-of-path-strings "Permalink") - -可以使用各种在 Ruby 中打开和读取文件的方法来读取进程的标准输出而不是文件. 以下两个命令大致相同: - -``` -`touch /tmp/pawned-by-backticks` -File.read('|touch /tmp/pawned-by-file-read') -``` - -关键是打开一个以" `|` "开头的"文件" `|` . 受影响的方法包括 Kernel#open,File :: read,File :: open,IO :: open 和 IO :: read. - -您可以通过确保攻击者无法控制要打开的文件名字符串的开头来防止"打开"和"读取"这种行为. 例如,下面的内容足以防止意外地使用`|`启动 shell 命令`|` : - -``` -# we assume repo_path is not controlled by the attacker (user) -path = File.join(repo_path, user_input) -# path cannot start with '|' now. -File.read(path) -``` - -如果必须使用用户输入的相对路径,请在路径前添加`./` . - -前缀用户提供的路径还提供了针对以`-`开头的路径的额外保护(请参阅上面有关使用`--`的讨论). - -## Guard against path traversal[](#guard-against-path-traversal "Permalink") - -路径遍历是一种安全措施,程序(GitLab)试图限制用户对磁盘上某个目录的访问,但用户设法利用`../`路径符号来打开该目录之外的文件. - -``` -# Suppose the user gave us a path and they are trying to trick us -user_input = '../other-repo.git/other-file' - -# We look up the repo path somewhere -repo_path = 'repositories/user-repo.git' - -# The intention of the code below is to open a file under repo_path, but -# because the user used '..' they can 'break out' into -# 'repositories/other-repo.git' -full_path = File.join(repo_path, user_input) -File.open(full_path) do # Oops! -``` - -防止这种情况发生的好方法是根据 Ruby 的`File.absolute_path`将完整路径与其"绝对路径"进行`File.absolute_path` . - -``` -full_path = File.join(repo_path, user_input) -if full_path != File.absolute_path(full_path) - raise "Invalid path: #{full_path.inspect}" -end - -File.open(full_path) do # Etc. -``` - -这样的检查可以避免 CVE-2013-4583. - -## Properly anchor regular expressions to the start and end of strings[](#properly-anchor-regular-expressions-to-the-start-and-end-of-strings "Permalink") - -当使用正则表达式来验证作为参数传递给 shell 命令的用户输入时,请确保使用`\A`和`\z`定位符来指定字符串的开头和结尾,而不是`^`和`$` ,或者不要使用定位符所有. - -如果您不这样做,攻击者可能会使用它来执行具有潜在有害影响的命令. - -例如,当如下所示验证项目的`import_url`时,用户可以诱使 GitLab 从本地文件系统上的 Git 存储`import_url` . - -``` -validates :import_url, format: { with: URI.regexp(%w(ssh git http https)) } -# URI.regexp(%w(ssh git http https)) roughly evaluates to /(ssh|git|http|https):(something_that_looks_like_a_url)/ -``` - -假设用户提交以下内容作为其导入 URL: - -``` -file://git:/tmp/lol -``` - -由于使用的正则表达式中没有锚,因此值中的`git:/tmp/lol`将匹配,并且验证将通过. - -导入时,GitLab 将执行以下命令,将`import_url`作为参数传递: - -``` -git clone file://git:/tmp/lol -``` - -Git 只会忽略`git:`部分,将路径解释为`file:///tmp/lol` ,然后将存储库导入到新项目中. 此操作可能使攻击者可以访问系统中的任何存储库(无论是否私有). \ No newline at end of file diff --git a/docs/614.md b/docs/614.md deleted file mode 100644 index b98b72d..0000000 --- a/docs/614.md +++ /dev/null @@ -1,64 +0,0 @@ -# HTML style guide - -> 原文:[https://docs.gitlab.com/ee/development/fe_guide/style/html.html](https://docs.gitlab.com/ee/development/fe_guide/style/html.html) - -* [Buttons](#buttons) - * [Button type](#button-type) - * [Button role](#button-role) -* [Links](#links) - * [Blank target](#blank-target) - * [Fake links](#fake-links) - -# HTML style guide[](#html-style-guide "Permalink") - -## Buttons[](#buttons "Permalink") - -### Button type[](#button-type "Permalink") - -按钮标记需要根据[W3C HTML 规范](https://www.w3.org/TR/2011/WD-html5-20110525/the-button-element.html#dom-button-type)的`type`属性. - -``` -// bad -<button></button> - -// good -<button type="button"></button> -``` - -### Button role[](#button-role "Permalink") - -如果 HTML 元素具有`onClick`处理程序但不是按钮,则应具有`role="button"` . 这[更容易访问](https://s0developer0mozilla0org.icopy.site/en-US/docs/Web/Accessibility/ARIA/Roles/button_role) . - -``` -// bad -<div onClick="doSomething"></div> - -// good -<div role="button" onClick="doSomething"></div> -``` - -## Links[](#links "Permalink") - -### Blank target[](#blank-target "Permalink") - -每当您的链接在新窗口中打开时,即使用`target="_blank"` ,请使用`rel="noopener noreferrer"` `target="_blank"` . 这可以防止[JitBit 记录](https://www.jitbit.com/alexblog/256-targetblank---the-most-underestimated-vulnerability-ever/)的安全漏洞. - -``` -// bad -<a href="url" target="_blank"></a> - -// good -<a href="url" target="_blank" rel="noopener noreferrer"></a> -``` - -### Fake links[](#fake-links "Permalink") - -**不要使用虚假链接.** 如果链接仅调用 JavaScript click 事件处理程序,则使用按钮标签,这更具语义. - -``` -// bad -<a class="js-do-something" href="#"></a> - -// good -<button class="js-do-something" type="button"></button> -``` \ No newline at end of file diff --git a/docs/615.md b/docs/615.md deleted file mode 100644 index a846098..0000000 --- a/docs/615.md +++ /dev/null @@ -1,294 +0,0 @@ -# JavaScript style guide - -> 原文:[https://docs.gitlab.com/ee/development/fe_guide/style/javascript.html](https://docs.gitlab.com/ee/development/fe_guide/style/javascript.html) - -* [Avoid forEach](#avoid-foreach) -* [Limit number of parameters](#limit-number-of-parameters) -* [Avoid classes to handle DOM events](#avoid-classes-to-handle-dom-events) -* [Pass element container to constructor](#pass-element-container-to-constructor) -* [Use ParseInt](#use-parseint) -* [CSS Selectors - Use `js-` prefix](#css-selectors---use-js--prefix) -* [ES Module Syntax](#es-module-syntax) -* [Absolute vs relative paths for modules](#absolute-vs-relative-paths-for-modules) -* [Do not use `DOMContentLoaded` in non-page modules](#do-not-use-domcontentloaded-in-non-page-modules) -* [Avoid XSS](#avoid-xss) -* [Avoid single-line conditional statements](#avoid-single-line-conditional-statements) -* [ESLint](#eslint) -* [IIFEs](#iifes) -* [Global namespace](#global-namespace) -* [Side effects](#side-effects) - * [Top-level side effects](#top-level-side-effects) - * [Avoid side effects in constructors](#avoid-side-effects-in-constructors) -* [Pure Functions and Data Mutation](#pure-functions-and-data-mutation) - -# JavaScript style guide[](#javascript-style-guide "Permalink") - -我们使用[Airbnb 的 JavaScript 样式指南](https://github.com/airbnb/javascript)及其附带的 linter 来管理我们的大多数 JavaScript 样式指南. - -除了由 Airbnb 设置的样式准则之外,我们还列出了以下一些特定规则. - -> **提示:**您可以通过运行`yarn eslint`在本地运行`yarn eslint` - -## Avoid forEach[](#avoid-foreach "Permalink") - -变异数据时避免 forEach. 更改数据时,请使用`map` , `reduce`或`filter`而不是`forEach` . 这样可以最大程度地减少功能上的变化,从而与[Airbnb 的风格指南](https://github.com/airbnb/javascript#testing--for-real)保持一致. - -``` -// bad -users.forEach((user, index) => { - user.id = index; -}); - -// good -const usersWithId = users.map((user, index) => { - return Object.assign({}, user, { id: index }); -}); -``` - -## Limit number of parameters[](#limit-number-of-parameters "Permalink") - -如果您的函数或方法具有三个以上的参数,请改为使用对象作为参数. - -``` -// bad -function a(p1, p2, p3) { - // ... -}; - -// good -function a(p) { - // ... -}; -``` - -## Avoid classes to handle DOM events[](#avoid-classes-to-handle-dom-events "Permalink") - -如果该类的唯一目的是绑定 DOM 事件并处理回调,则最好使用函数. - -``` -// bad -class myClass { - constructor(config) { - this.config = config; - } - - init() { - document.addEventListener('click', () => {}); - } -} - -// good - -const myFunction = () => { - document.addEventListener('click', () => { - // handle callback here - }); -} -``` - -## Pass element container to constructor[](#pass-element-container-to-constructor "Permalink") - -当您的类操作 DOM 时,将元素容器作为参数接收. 这样更易于维护和执行. - -``` -// bad -class a { - constructor() { - document.querySelector('.b'); - } -} - -// good -class a { - constructor(options) { - options.container.querySelector('.b'); - } -} -``` - -## Use ParseInt[](#use-parseint "Permalink") - -将数字字符串转换为数字时,请使用`ParseInt` . - -``` -// bad -Number('10') - -// good -parseInt('10', 10); -``` - -## CSS Selectors - Use `js-` prefix[](#css-selectors---use-js--prefix "Permalink") - -如果仅在 JavaScript 中使用 CSS 类作为对元素的引用,则使用`js-`作为类名的前缀. - -``` -// bad -<button class="add-user"></button> - -// good -<button class="js-add-user"></button> -``` - -## ES Module Syntax[](#es-module-syntax "Permalink") - -使用 ES 模块语法导入模块: - -``` -// bad -const SomeClass = require('some_class'); - -// good -import SomeClass from 'some_class'; - -// bad -module.exports = SomeClass; - -// good -export default SomeClass; -``` - -*注意:*我们仍然在`scripts/`和`config/`文件中使用`require` . - -## Absolute vs relative paths for modules[](#absolute-vs-relative-paths-for-modules "Permalink") - -如果要导入的模块少于两个级别,请使用相对路径. - -``` -// bad -import GitLabStyleGuide from '~/guides/GitLabStyleGuide'; - -// good -import GitLabStyleGuide from '../GitLabStyleGuide'; -``` - -如果要导入的模块为两个或两个以上级别,请改用绝对路径: - -``` -// bad -import GitLabStyleGuide from '../../../guides/GitLabStyleGuide'; - -// good -import GitLabStyleGuide from '~/GitLabStyleGuide'; -``` - -Additionally, **不添加到全局名称空间**. - -## Do not use `DOMContentLoaded` in non-page modules[](#do-not-use-domcontentloaded-in-non-page-modules "Permalink") - -导入的模块每次加载时都应发挥相同的作用. `DOMContentLoaded`事件仅允许在`/pages/*`目录中加载的模块上使用,因为这些事件是通过 webpack 动态加载的. - -## Avoid XSS[](#avoid-xss "Permalink") - -不要使用`innerHTML` , `append()`或`html()`设置内容. 它打开了太多的漏洞. - -## Avoid single-line conditional statements[](#avoid-single-line-conditional-statements "Permalink") - -缩进在扫描代码时很重要,因为它可以快速指示分支,循环和返回点的存在. 这可以帮助快速了解控制流程. - -``` -// bad -if (isThingNull) return ''; - -if (isThingNull) - return ''; - -// good -if (isThingNull) { - return ''; -} -``` - -## ESLint[](#eslint "Permalink") - -ESLint 行为可以在我们的[工具指南中](../tooling.html)找到. - -## IIFEs[](#iifes "Permalink") - -避免使用 IIFE(立即调用函数表达式). 尽管我们有很多将其内容包装在 IIFE 中的文件示例,但是从 Sprockets 过渡到 Webpack 之后,这不再是必需的. 重构遗留代码时,请不要再使用它们,并随时将其删除. - -## Global namespace[](#global-namespace "Permalink") - -避免添加到全局名称空间. - -``` -// bad -window.MyClass = class { /* ... */ }; - -// good -export default class MyClass { /* ... */ } -``` - -## Side effects[](#side-effects "Permalink") - -### Top-level side effects[](#top-level-side-effects "Permalink") - -在任何包含`export`脚本中都禁止顶级副作用: - -``` -// bad -export default class MyClass { /* ... */ } - -document.addEventListener("DOMContentLoaded", function(event) { - new MyClass(); -} -``` - -### Avoid side effects in constructors[](#avoid-side-effects-in-constructors "Permalink") - -避免在`constructor`进行异步调用,API 请求或 DOM 操作. 而是将它们移动到单独的函数中. 这将使测试更易于编写,并且避免违反[单一职责原则](https://en.wikipedia.org/wiki/Single_responsibility_principle) . - -``` -// bad -class myClass { - constructor(config) { - this.config = config; - axios.get(this.config.endpoint) - } -} - -// good -class myClass { - constructor(config) { - this.config = config; - } - - makeRequest() { - axios.get(this.config.endpoint) - } -} -const instance = new myClass(); -instance.makeRequest(); -``` - -## Pure Functions and Data Mutation[](#pure-functions-and-data-mutation "Permalink") - -努力编写许多小的纯函数,并尽量减少发生突变的地方 - -``` - // bad - const values = {foo: 1}; - - function impureFunction(items) { - const bar = 1; - - items.foo = items.a * bar + 2; - - return items.a; - } - - const c = impureFunction(values); - - // good - var values = {foo: 1}; - - function pureFunction (foo) { - var bar = 1; - - foo = foo * bar + 2; - - return foo; - } - - var c = pureFunction(values.foo); -``` \ No newline at end of file diff --git a/docs/616.md b/docs/616.md deleted file mode 100644 index 0fb587b..0000000 --- a/docs/616.md +++ /dev/null @@ -1,769 +0,0 @@ -# Migration Style Guide - -> 原文:[https://docs.gitlab.com/ee/development/migration_style_guide.html](https://docs.gitlab.com/ee/development/migration_style_guide.html) - -* [Schema Changes](#schema-changes) -* [What Requires Downtime?](#what-requires-downtime) -* [Downtime Tagging](#downtime-tagging) -* [Reversibility](#reversibility) -* [Atomicity](#atomicity) -* [Heavy operations in a single transaction](#heavy-operations-in-a-single-transaction) -* [Retry mechanism when acquiring database locks](#retry-mechanism-when-acquiring-database-locks) - * [Examples](#examples) - * [When to use the helper method](#when-to-use-the-helper-method) - * [How the helper method works](#how-the-helper-method-works) -* [Multi-Threading](#multi-threading) -* [Removing indexes](#removing-indexes) -* [Adding indexes](#adding-indexes) -* [Adding foreign-key constraints](#adding-foreign-key-constraints) -* [`NOT NULL` constraints](#not-null-constraints) -* [Adding Columns With Default Values](#adding-columns-with-default-values) -* [Changing the column default](#changing-the-column-default) -* [Updating an existing column](#updating-an-existing-column) -* [Dropping a database table](#dropping-a-database-table) -* [Integer column type](#integer-column-type) -* [Strings and the Text data type](#strings-and-the-text-data-type) -* [Timestamp column type](#timestamp-column-type) -* [Storing JSON in database](#storing-json-in-database) -* [Testing](#testing) -* [Data migration](#data-migration) - * [Renaming reserved paths](#renaming-reserved-paths) - -# Migration Style Guide[](#migration-style-guide "Permalink") - -在为 GitLab 编写迁移时,必须考虑到这些迁移将由成千上万个各种规模的组织来运行,其中一些组织的数据库中包含多年的数据. - -此外,对于大多数组织来说,必须使服务器脱机以进行较小或较大的升级是一大负担. 因此,重要的是要仔细编写迁移文件,可以在线进行迁移,并遵守下面的样式指南. - -迁移**不准**要求 GitLab 设施采取离线,除非*绝对必要的* . - -如果需要停机,则必须通过以下方式批准迁移: - -1. 工程副总裁 -2. 后端维护者 -3. 数据库维护者 - -可以在[https://about.gitlab.com/company/team/中](https://about.gitlab.com/company/team/)找到持有这些头衔的人员的最新列表. - -When writing your migrations, also consider that databases might have stale data or inconsistencies and guard for that. Try to make as few assumptions as possible about the state of the database. - -请不要依赖特定于 GitLab 的代码,因为它可能会在将来的版本中更改. 如果需要,将 GitLab 代码复制粘贴到迁移中以使其向前兼容. - -对于 GitLab.com,请考虑到在[部署 Canary](https://about.gitlab.com/handbook/engineering/infrastructure/library/canary/#configuration-and-deployment)之前运行常规迁移(在`db/migrate` ),在完成生产部署后运行部署后的迁移( `db/post_migrate` ). - -## Schema Changes[](#schema-changes "Permalink") - -Changes to the schema should be committed to `db/structure.sql`. This file is automatically generated by Rails, so you normally should not edit this file by hand. If your migration is adding a column to a table, that column will be added at the bottom. Please do not reorder columns manually for existing tables as this will cause confusing to other people using `db/structure.sql` generated by Rails. - -当您的 GDK 中的本地数据库与`master`数据库中的模式不同时,可能很难将模式更改完全提交给 Git. 在这种情况下,您可以使用`scripts/regenerate-schema`脚本为要添加的迁移重新生成干净的`db/structure.sql` . 该脚本将应用在`db/migrate`或`db/post_migrate`找到的所有迁移,因此,如果您不想将任何迁移提交到架构,请重命名或删除它们. 如果您的分支不是以`master`为目标,则可以设置`TARGET`环境变量. - -``` -# Regenerate schema against `master` -scripts/regenerate-schema - -# Regenerate schema against `12-9-stable-ee` -TARGET=12-9-stable-ee scripts/regenerate-schema -``` - -## What Requires Downtime?[](#what-requires-downtime "Permalink") - -文档["什么需要停机?"](what_requires_downtime.html) 指定各种数据库操作,例如 - -* [dropping and renaming columns](what_requires_downtime.html#dropping-columns) -* [changing column constraints and types](what_requires_downtime.html#changing-column-constraints) -* [adding and dropping indexes, tables, and foreign keys](what_requires_downtime.html#adding-indexes) - -以及他们是否需要停机,以及如何尽可能地进行停机. - -## Downtime Tagging[](#downtime-tagging "Permalink") - -每个迁移都必须指定是否需要停机,并且如果需要停机,还必须指定原因. 这是即使在迁移的 99%,不需要停机,因为这使得它更容易地发现, *确实*需要停机迁移所需. - -要标记迁移,请在迁移类的主体中添加以下两个常量: - -* `DOWNTIME` :一个布尔值,当设置为`true`指示迁移需要停机时间. -* `DOWNTIME_REASON` :一个字符串,其中包含需要停机的迁移原因. 当`DOWNTIME`设置为`true`时, **必须**设置此常数. - -例如: - -``` -class MyMigration < ActiveRecord::Migration[6.0] - DOWNTIME = true - DOWNTIME_REASON = 'This migration requires downtime because ...' - - def change - ... - end -end -``` - -如果迁移类中缺少`DOWNTIME`常量,则会出现错误(即 CI 将失败). - -## Reversibility[](#reversibility "Permalink") - -您的迁移**必须是**可逆的. 这非常重要,因为在出​​现漏洞或错误的情况下应该可以降级. - -在迁移中,添加一条注释,描述如何测试迁移的可逆性. - -某些迁移无法撤消. 例如,某些数据迁移无法撤消,因为在迁移之前,我们丢失了有关数据库状态的信息. 您仍然应该创建一个带注释的`down`方法,解释为什么不能撤消`up`方法执行的更改,以便即使撤消迁移期间执行的更改也可以撤消迁移本身: - -``` -def down - # no-op - - # comment explaining why changes performed by `up` cannot be reversed. -end -``` - -## Atomicity[](#atomicity "Permalink") - -默认情况下,迁移是单个事务. 即,在迁移开始时打开一个事务,并在处理完所有步骤后提交. - -在单个事务中运行迁移可确保如果其中一个步骤失败,则将不会执行任何步骤,从而使数据库保持有效状态. 因此,要么: - -* 将所有迁移都放在一个单事务迁移中. -* 如有必要,将大多数操作放入一个迁移中,并为无法在单个事务中完成的步骤创建一个单独的迁移. - -例如,如果创建一个空表并需要为其建立索引,则建议使用常规的单事务迁移和默认的 rails schema 语句: [`add_index`](https://api.rubyonrails.org/v5.2/classes/ActiveRecord/ConnectionAdapters/SchemaStatements.html#method-i-add_index) . 这是一个阻塞操作,但不会引起问题,因为该表尚未使用,因此它还没有任何记录. - -## Heavy operations in a single transaction[](#heavy-operations-in-a-single-transaction "Permalink") - -使用单事务迁移时,事务将在迁移期间保持数据库连接,因此您必须确保迁移中的操作不会花费太多时间:通常,在迁移中执行的查询需要在 GitLab.com 上舒适地放置`15s` . - -如果您需要插入,更新或删除大量数据,请执行以下操作: - -* 必须使用`disable_ddl_transaction!`禁用单个事务`disable_ddl_transaction!` . -* 应该考虑在[后台迁移中](background_migrations.html)这样做. - -## Retry mechanism when acquiring database locks[](#retry-mechanism-when-acquiring-database-locks "Permalink") - -更改数据库架构时,我们使用辅助方法来调用 DDL(数据定义语言)语句. 在某些情况下,这些 DDL 语句需要特定的数据库锁. - -Example: - -``` -def change - remove_column :users, :full_name, :string -end -``` - -要执行此迁移,需要对`users`表进行排他锁定. 当表被其他进程同时访问和修改时,获取锁定可能需要一段时间. 锁定请求正在队列中等待,一旦进入队列,它也可能阻止`users`表上的其他查询. - -有关 PostgresSQL 锁的更多信息: [显式锁定](https://s0www0postgresql0org.icopy.site/docs/current/explicit-locking.html) - -出于稳定性考虑,GitLab.com 设置了特定的[`statement_timeout`](../user/gitlab_com/index.html#postgresql) . 调用迁移时,任何数据库查询都将有固定的执行时间. 在最坏的情况下,请求将坐在锁定队列中,在配置的语句超时时间内阻止其他查询,然后`canceling statement due to statement timeout`错误`canceling statement due to statement timeout`失败. - -此问题可能导致应用程序升级过程失败,甚至导致应用程序稳定性问题,因为该表可能会在短时间内无法访问. - -为了提高数据库迁移的可靠性和稳定性,GitLab 代码库提供了一种辅助方法,以使用不同的`lock_timeout`设置重试操作,并在两次尝试之间等待时间. 为了获得必要的锁定,进行了多次较小的尝试,从而使数据库可以处理其他语句. - -### Examples[](#examples "Permalink") - -**删除列:** - -``` -include Gitlab::Database::MigrationHelpers - -def up - with_lock_retries do - remove_column :users, :full_name - end -end - -def down - with_lock_retries do - add_column :users, :full_name, :string - end -end -``` - -**删除外键:** - -``` -include Gitlab::Database::MigrationHelpers - -def up - with_lock_retries do - remove_foreign_key :issues, :projects - end -end - -def down - with_lock_retries do - add_foreign_key :issues, :projects - end -end -``` - -**更改列的默认值:** - -``` -include Gitlab::Database::MigrationHelpers - -def up - with_lock_retries do - change_column_default :merge_requests, :lock_version, from: nil, to: 0 - end -end - -def down - with_lock_retries do - change_column_default :merge_requests, :lock_version, from: 0, to: nil - end -end -``` - -**用外键创建一个新表:** - -我们可以简单地用`with_lock_retries`包装`create_table`方法: - -``` -def up - with_lock_retries do - create_table :issues do |t| - t.references :project, index: true, null: false, foreign_key: { on_delete: :cascade } - t.string :title, limit: 255 - end - end -end - -def down - drop_table :issues -end -``` - -**当我们有两个外键时创建一个新表:** - -为此,我们需要进行三个迁移: - -1. 创建不带外键(带有索引)的表. -2. 将外键添加到第一个表. -3. 将外键添加到第二个表. - -创建表: - -``` -def up - create_table :imports do |t| - t.bigint :project_id, null: false - t.bigint :user_id, null: false - t.string :jid, limit: 255 - end - - add_index :imports, :project_id - add_index :imports, :user_id -end - -def down - drop_table :imports -end -``` - -在`projects`添加外键: - -``` -include Gitlab::Database::MigrationHelpers - -def up - with_lock_retries do - add_foreign_key :imports, :projects, column: :project_id, on_delete: :cascade - end -end - -def down - with_lock_retries do - remove_foreign_key :imports, column: :project_id - end -end -``` - -向`users`添加外键: - -``` -include Gitlab::Database::MigrationHelpers - -def up - with_lock_retries do - add_foreign_key :imports, :users, column: :user_id, on_delete: :cascade - end -end - -def down - with_lock_retries do - remove_foreign_key :imports, column: :user_id - end -end -``` - -**与`disable_ddl_transaction!`配合使用`disable_ddl_transaction!`** - -通常, `with_lock_retries`帮助程序应与`disabled_ddl_transaction!` . 定制的 RuboCop 规则可确保只能将允许的方法放在锁重试块中. - -``` -disable_ddl_transaction! - -def up - with_lock_retries do - add_column :users, :name, :text - end - - add_text_limit :users, :name, 255 # Includes constraint validation (full table scan) -end -``` - -RuboCop 规则通常允许使用下面列出的标准 Rails 迁移方法. 此示例将导致 Rubocop 犯罪: - -``` -disabled_ddl_transaction! - -def up - with_lock_retries do - add_concurrent_index :users, :name - end -end -``` - -### When to use the helper method[](#when-to-use-the-helper-method "Permalink") - -通常使用标准的 Rails 迁移帮助器方法时,可以使用`with_lock_retries`帮助器方法. 如果在同一个表上执行多个迁移助手,则调用它们不是问题. - -当数据库迁移涉及高流量表之一时,建议使用`with_lock_retries`帮助程序方法: - -* `users` -* `projects` -* `namespaces` -* `issues` -* `merge_requests` -* `ci_pipelines` -* `ci_builds` -* `notes` - -更改示例: - -* `add_foreign_key` / `remove_foreign_key` -* `add_column` / `remove_column` -* `change_column_default` -* `create_table` / `drop_table` - -**注意:** `with_lock_retries`方法**不能**在`change`方法中使用,必须手动定义`up`和`down`方法以使迁移可逆. - -### How the helper method works[](#how-the-helper-method-works "Permalink") - -1. 重复 50 次. -2. 对于每次迭代,设置一个预配置的`lock_timeout` . -3. 尝试执行给定的块. ( `remove_column` ). -4. 如果出现`LockWaitTimeout`错误,请为预配置的`sleep_time`睡眠,然后重试该块. -5. 如果未引发错误,则当前迭代已成功执行该块. - -有关更多信息,请检查[`Gitlab::Database::WithLockRetries`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/database/with_lock_retries.rb)类. `with_lock_retries`帮助器方法在[`Gitlab::Database::MigrationHelpers`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/database/migration_helpers.rb)模块中实现. - -在最坏的情况下,该方法: - -* 在 40 分钟内最多执行 50 次该块. - * 大部分时间都花费在每次迭代后的预先配置的睡眠时段中. -* 第 50 次重试之后,将像标准迁移调用一样在没有`lock_timeout`情况下执行该块. -* 如果无法获取锁,则迁移将失败,并出现`statement timeout`错误. - -如果访问`users`表的事务运行时间很长(超过 40 分钟),则迁移可能会失败. - -## Multi-Threading[](#multi-threading "Permalink") - -有时,迁移可能需要使用多个 Ruby 线程来加快迁移速度. 为此,您的迁移需要包括模块`Gitlab::Database::MultiThreadedMigration` : - -``` -class MyMigration < ActiveRecord::Migration[6.0] - include Gitlab::Database::MigrationHelpers - include Gitlab::Database::MultiThreadedMigration -end -``` - -然后可以使用`with_multiple_threads`方法在单独的线程中执行工作. 例如: - -``` -class MyMigration < ActiveRecord::Migration[6.0] - include Gitlab::Database::MigrationHelpers - include Gitlab::Database::MultiThreadedMigration - - def up - with_multiple_threads(4) do - disable_statement_timeout - - # ... - end - end -end -``` - -在这里,对`disable_statement_timeout`的调用将使用`with_multiple_threads`块本地的连接,而不是重新使用全局连接池. 这样可以确保每个线程都有自己的连接对象,并且在尝试获取一个连接对象时不会超时. - -**注意:** PostgreSQL 具有允许的最大连接数. 此限制因安装而异. 因此,建议您一次迁移不要使用超过 32 个线程. 通常,4-8 个线程应该绰绰有余. - -## Removing indexes[](#removing-indexes "Permalink") - -如果删除索引时表不为空,请确保使用方法`remove_concurrent_index`而不是常规的`remove_index`方法. `remove_concurrent_index`方法同时删除索引,因此不需要锁定,也无需停机. 要使用此方法,必须通过调用方法`disable_ddl_transaction!`禁用单交易模式`disable_ddl_transaction!` 在您的迁移类的主体中,如下所示: - -``` -class MyMigration < ActiveRecord::Migration[6.0] - include Gitlab::Database::MigrationHelpers - disable_ddl_transaction! - - def up - remove_concurrent_index :table_name, :column_name - end -end -``` - -请注意,在删除索引之前不必检查索引是否存在. - -对于较小的表(例如空表或少于`1,000`条记录的表),建议在单事务迁移中使用`remove_index` ,并将其与不需要`disable_ddl_transaction!`其他操作结合使用`disable_ddl_transaction!` . - -## Adding indexes[](#adding-indexes "Permalink") - -在添加索引之前,请考虑该索引是否必要. 在某些情况下可能不需要索引,例如: - -* 该表很小(少于`1,000`条记录),并且预计大小不会成倍增长. -* 任何现有索引都会过滤掉足够的行. -* 添加索引后查询时间的减少并不明显. - -另外,不需要宽索引来匹配查询的所有过滤条件,我们只需要覆盖足够多的列即可使索引查找具有足够小的选择性. 请查看我们的[添加数据库索引](adding_database_indexes.html)指南以获取更多详细信息. - -将索引添加到非空表时,请确保使用方法`add_concurrent_index`而不是常规的`add_index`方法. 使用 PostgreSQL 时, `add_concurrent_index`方法自动创建并发索引,从而消除了停机时间. - -要使用此方法,必须通过调用方法`disable_ddl_transaction!`禁用单交易模式`disable_ddl_transaction!` 在您的迁移类的主体中,如下所示: - -``` -class MyMigration < ActiveRecord::Migration[6.0] - include Gitlab::Database::MigrationHelpers - - DOWNTIME = false - - disable_ddl_transaction! - - def up - add_concurrent_index :table, :column - end - - def down - remove_concurrent_index :table, :column - end -end -``` - -如果需要添加唯一索引,请记住,数据库中可能存在现有重复项. 这意味着在添加唯一索引之前,应始终*首先*添加一个删除所有重复项的迁移. - -对于小型表(例如空表或少于`1,000`条记录的表),建议在单事务迁移中使用`add_index` ,并将其与不需要`disable_ddl_transaction!`其他操作结合使用`disable_ddl_transaction!` . - -## Adding foreign-key constraints[](#adding-foreign-key-constraints "Permalink") - -向现有列或新列添加外键约束时,还请记住在该列上添加索引. - -这是所有外键所**必需**的,例如,为了支持有效的级联删除:当删除表中的许多行时,也需要删除引用的记录. 数据库必须在引用的表中查找相应的记录. 没有索引,这将导致对表进行顺序扫描,这可能需要很长时间. - -这是一个示例,其中我们添加了一个带有外键约束的新列. 请注意,它包括`index: true`为其创建索引. - -``` -class Migration < ActiveRecord::Migration[6.0] - - def change - add_reference :model, :other_model, index: true, foreign_key: { on_delete: :cascade } - end -end -``` - -当向非空表中的现有列添加外键约束时,我们必须使用`add_concurrent_foreign_key`和`add_concurrent_index`而不是`add_reference` . - -对于空表(例如新表),建议在单事务迁移中使用`add_reference` ,并将其与不需要`disable_ddl_transaction!`其他操作结合使用`disable_ddl_transaction!` . - -您可以阅读有关将[外键约束](database/add_foreign_key_to_existing_column.html)添加[到现有列的更多信息](database/add_foreign_key_to_existing_column.html) . - -## `NOT NULL` constraints[](#not-null-constraints "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/38358) in GitLab 13.0. - -有关更多信息,请参见关于[`NOT NULL`约束](database/not_null_constraints.html)的样式指南. - -## Adding Columns With Default Values[](#adding-columns-with-default-values "Permalink") - -PostgreSQL 11 是自 GitLab 13.0 以来的最低版本,添加具有默认值的列变得更加容易,并且在所有情况下都应使用标准的`add_column`帮助器. - -在 PostgreSQL 11 之前,添加带有默认值的列是有问题的,因为这会导致全表重写. 相应的帮助程序`add_column_with_default`已被弃用,并将在以后的版本中删除. - -**注意:**如果%12.9 或更早版本需要向后端口添加具有默认值的列,则应使用`add_column_with_default`帮助器. 如果涉及[大表](https://gitlab.com/gitlab-org/gitlab/-/blob/master/rubocop/rubocop-migrations.yml#L3) ,则禁止向后移植到%12.9. - -## Changing the column default[](#changing-the-column-default "Permalink") - -可能有人认为,使用`change_column_default`更改默认列对于较大的表来说是一项昂贵且破坏性的操作,但实际上并非如此. - -以以下迁移为例: - -``` -class DefaultRequestAccessGroups < ActiveRecord::Migration[5.2] - DOWNTIME = false - - def change - change_column_default(:namespaces, :request_access_enabled, from: false, to: true) - end -end -``` - -上面的迁移更改了我们最大的表之一的默认列值: `namespaces` . 可以将其翻译为: - -``` -ALTER TABLE namespaces -ALTER COLUMN request_access_enabled -DEFAULT false -``` - -在这种情况下,默认值存在,我们只是更改了`request_access_enabled`列的元数据,这并不意味着重写`namespaces`表中的所有现有记录. 仅当使用默认值创建新列时,所有记录才会被重写. - -**注意:** PostgresSQL 11.0 引入[了](https://www.depesz.com/2018/04/04/waiting-for-postgresql-11-fast-alter-table-add-column-with-a-non-null-default/)更快的[ALTER TABLE ADD COLUMN(具有非空默认值](https://www.depesz.com/2018/04/04/waiting-for-postgresql-11-fast-alter-table-add-column-with-a-non-null-default/) ),从而消除了在添加具有默认值的新列时重写表的需求. - -由于上述原因,在单事务迁移中使用`change_column_default`是安全的,而不需要`disable_ddl_transaction!` . - -## Updating an existing column[](#updating-an-existing-column "Permalink") - -要将现有列更新为特定值,可以使用`update_column_in_batches` . 这会将更新分为批次,因此我们不会在单个语句中更新太多行. - -这`some_column` `projects`表中的`foo`列更新为 10,其中`some_column`为`'hello'` : - -``` -update_column_in_batches(:projects, :foo, 10) do |table, query| - query.where(table[:some_column].eq('hello')) -end -``` - -如果需要计算的更新,则可以将值包装在`Arel.sql` ,因此 Arel 将其视为 SQL 文字. 这也是[Rails 6](https://gitlab.com/gitlab-org/gitlab/-/issues/28497)的必需弃用. - -下面的示例与上面的示例相同,但是该值设置为`bar`和`baz`列的乘积: - -``` -update_value = Arel.sql('bar * baz') - -update_column_in_batches(:projects, :foo, update_value) do |table, query| - query.where(table[:some_column].eq('hello')) -end -``` - -像`add_column_with_default`一样,有一个 RuboCop cop 可以检测大表上的用法. 在`update_column_in_batches`的情况下,可以在大表上运行,只要它仅更新表中行的一小部分,而在未在 GitLab.com 登台环境上进行验证的情况下不要忽略它-或事先请别人为您这样做. - -## Dropping a database table[](#dropping-a-database-table "Permalink") - -删除数据库表并不常见,Rails 提供的`drop_table`方法通常被认为是安全的. 删除表格之前,请考虑以下因素: - -如果您的表在高流量表上具有外键(如`projects` ),则`DROP TABLE`语句可能会失败,并出现**语句超时**错误. 确定哪些表是高流量可能很困难. 自我管理的实例可能会以不同的使用模式使用 GitLab 的不同功能,因此仅基于 GitLab.com 进行假设是不够的. - -表**没有记录** (功能从未使用过),也**没有外键** : - -* 只需在迁移中使用`drop_table`方法即可. - -``` -def change - drop_table :my_table -end -``` - -Table **有记录** but **没有外键**: - -* 第一版:删除与表相关的应用程序代码,例如模型,控制器和服务. -* 第二版:在迁移中使用`drop_table`方法. - -``` -def up - drop_table :my_table -end - -def down - # create_table ... -end -``` - -Table **有外键**: - -* 第一版:删除与表相关的应用程序代码,例如模型,控制器和服务. -* 第二版:使用`with_lock_retries`帮助器方法删除外键. 在另一个迁移文件中使用`drop_table` . - -**第二个版本的迁移:** - -删除`projects`表上的外键: - -``` -# first migration file - -def up - with_lock_retries do - remove_foreign_key :my_table, :projects - end -end - -def down - with_lock_retries do - add_foreign_key :my_table, :projects - end -end -``` - -放下桌子: - -``` -# second migration file - -def up - drop_table :my_table -end - -def down - # create_table ... -end -``` - -## Integer column type[](#integer-column-type "Permalink") - -默认情况下,整数列最多可容纳 4 个字节(32 位)的数字. 最大值为 2,147,483,647\. 创建一个以字节为单位保存文件大小的列时,请注意这一点. 如果以字节为单位跟踪文件大小,这会将最大文件大小限制为刚好超过 2GB. - -要允许整数列最多容纳 8 个字节(64 位)的数字,请将限制明确设置为 8 个字节. 这将使该列最多`9,223,372,036,854,775,807`个值. - -Rails 迁移示例: - -``` -add_column(:projects, :foo, :integer, default: 10, limit: 8) -``` - -## Strings and the Text data type[](#strings-and-the-text-data-type "Permalink") - -在 GitLab 13.0 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/30453) . - -有关更多信息,请参见[文本数据类型](database/strings_and_the_text_data_type.html)样式指南. - -## Timestamp column type[](#timestamp-column-type "Permalink") - -默认情况下,Rails 使用`timestamp`数据类型来存储没有时区信息的时间戳数据. 通过调用`add_timestamps`或`timestamps`方法来使用`timestamp`数据类型. - -另外,Rails 将`:datetime`数据类型转换为`timestamp`一. - -Example: - -``` -# timestamps -create_table :users do |t| - t.timestamps -end - -# add_timestamps -def up - add_timestamps :users -end - -# :datetime -def up - add_column :users, :last_sign_in, :datetime -end -``` - -代替使用这些方法,应该使用以下方法来存储带有时区的时间戳: - -* `add_timestamps_with_timezone` -* `timestamps_with_timezone` -* `datetime_with_timezone` - -这样可以确保所有时间戳都有指定的时区. 反过来,这意味着当系统的时区更改时,现有时间戳不会突然使用其他时区. 这也使得非常清楚,首先使用了哪个时区. - -## Storing JSON in database[](#storing-json-in-database "Permalink") - -Rails 5 本机支持`JSONB` (二进制 JSON)列类型. 添加此列的示例迁移: - -``` -class AddOptionsToBuildMetadata < ActiveRecord::Migration[5.0] - DOWNTIME = false - - def change - add_column :ci_builds_metadata, :config_options, :jsonb - end -end -``` - -您必须使用序列化器来提供翻译层: - -``` -class BuildMetadata - serialize :config_options, Serializers::JSON # rubocop:disable Cop/ActiveRecordSerialize -end -``` - -使用`JSONB`列时,请使用[JsonSchemaValidator](https://gitlab.com/gitlab-org/gitlab/-/blob/master/app/validators/json_schema_validator.rb)来控制随时间推移插入的数据. - -``` -class BuildMetadata - validates :config_options, json_schema: { filename: 'build_metadata_config_option' } -end -``` - -## Testing[](#testing "Permalink") - -请参阅" [测试 Rails 迁移](testing_guide/testing_migrations_guide.html)样式"指南. - -## Data migration[](#data-migration "Permalink") - -请比一般 ActiveRecord 语法更喜欢 Arel 和普通 SQL. 如果使用普通 SQL,则需要使用`quote_string` helper 手动引用所有输入. - -Arel 的示例: - -``` -users = Arel::Table.new(:users) -users.group(users[:user_id]).having(users[:id].count.gt(5)) - -#update other tables with these results -``` - -带有普通 SQL 和`quote_string`帮助器的示例: - -``` -select_all("SELECT name, COUNT(id) as cnt FROM tags GROUP BY name HAVING COUNT(id) > 1").each do |tag| - tag_name = quote_string(tag["name"]) - duplicate_ids = select_all("SELECT id FROM tags WHERE name = '#{tag_name}'").map{|tag| tag["id"]} - origin_tag_id = duplicate_ids.first - duplicate_ids.delete origin_tag_id - - execute("UPDATE taggings SET tag_id = #{origin_tag_id} WHERE tag_id IN(#{duplicate_ids.join(",")})") - execute("DELETE FROM tags WHERE id IN(#{duplicate_ids.join(",")})") -end -``` - -如果需要更复杂的逻辑,则可以定义和使用迁移本地模型. 例如: - -``` -class MyMigration < ActiveRecord::Migration[6.0] - class Project < ActiveRecord::Base - self.table_name = 'projects' - end - - def up - # Reset the column information of all the models that update the database - # to ensure the Active Record's knowledge of the table structure is current - Project.reset_column_information - - # ... ... - end -end -``` - -这样做时,请确保显式设置模型的表名,这样它就不会派生自类名或名称空间. - -最后,对于所有更新数据库的本地模型,请确保在迁移的`up`方法中运行`reset_column_information` . - -这样做的原因是所有迁移类都在开始时加载( `db:migrate`启动时),因此,如果另一个迁移更新了该模式,它们将与它们映射的表模式不同步. 这将导致在尝试插入基础表或对其进行更新时数据迁移失败,因为`ActiveRecord`将新列报告为`unknown attribute` . - -### Renaming reserved paths[](#renaming-reserved-paths "Permalink") - -引入新的项目路线时,它可能与任何现有记录冲突. 这些记录的路径应重命名,并且相关数据应在磁盘上移动. - -由于我们已经必须做几次,因此现在有一些帮助程序可以帮助您. - -要使用此功能,您可以在迁移中包括`Gitlab::Database::RenameReservedPathsMigration::V1` . 这将提供 3 种方法,您可以通过一种或多种需要拒绝的路径. - -**`rename_root_paths`** :这将使用给定名称重命名所有没有`parent_id`名称*空间*的路径. - -**`rename_child_paths`** :这将使用给定名称重命名所有具有`parent_id`名称*空间*的路径. - -**`rename_wildcard_paths`** :这将重命名所有*项目*的路径以及所有具有`project_id` *命名空间* . - -这些行的`path`列将重命名为其先前的值,后跟一个整数. 例如: `users`将变成`users0` \ No newline at end of file diff --git a/docs/617.md b/docs/617.md deleted file mode 100644 index 9410954..0000000 --- a/docs/617.md +++ /dev/null @@ -1,112 +0,0 @@ -# Newlines style guide - -> 原文:[https://docs.gitlab.com/ee/development/newlines_styleguide.html](https://docs.gitlab.com/ee/development/newlines_styleguide.html) - -* [Rule: separate code with newlines only to group together related logic](#rule-separate-code-with-newlines-only-to-group-together-related-logic) -* [Rule: separate code and block with newlines](#rule-separate-code-and-block-with-newlines) - * [Newline before block](#newline-before-block) -* [Newline after block](#newline-after-block) - * [Exception: no need for newline when code block starts or ends right inside another code block](#exception-no-need-for-newline-when-code-block-starts-or-ends-right-inside-another-code-block) - -# Newlines style guide[](#newlines-style-guide "Permalink") - -该样式指南为 Ruby 代码中的换行符推荐了最佳做法. - -## Rule: separate code with newlines only to group together related logic[](#rule-separate-code-with-newlines-only-to-group-together-related-logic "Permalink") - -``` -# bad -def method - issue = Issue.new - - issue.save - - render json: issue -end -``` - -``` -# good -def method - issue = Issue.new - issue.save - - render json: issue -end -``` - -## Rule: separate code and block with newlines[](#rule-separate-code-and-block-with-newlines "Permalink") - -### Newline before block[](#newline-before-block "Permalink") - -``` -# bad -def method - issue = Issue.new - if issue.save - render json: issue - end -end -``` - -``` -# good -def method - issue = Issue.new - - if issue.save - render json: issue - end -end -``` - -## Newline after block[](#newline-after-block "Permalink") - -``` -# bad -def method - if issue.save - issue.send_email - end - render json: issue -end -``` - -``` -# good -def method - if issue.save - issue.send_email - end - - render json: issue -end -``` - -### Exception: no need for newline when code block starts or ends right inside another code block[](#exception-no-need-for-newline-when-code-block-starts-or-ends-right-inside-another-code-block "Permalink") - -``` -# bad -def method - - if issue - - if issue.valid? - issue.save - end - - end - -end -``` - -``` -# good -def method - if issue - if issue.valid? - issue.save - end - end -end -``` \ No newline at end of file diff --git a/docs/618.md b/docs/618.md deleted file mode 100644 index 4116225..0000000 --- a/docs/618.md +++ /dev/null @@ -1,80 +0,0 @@ -# Python Development Guidelines - -> 原文:[https://docs.gitlab.com/ee/development/python_guide/](https://docs.gitlab.com/ee/development/python_guide/) - -* [Installation](#installation) - * [macOS](#macos) - * [Linux](#linux) - * [Shell integration](#shell-integration) -* [Dependency management](#dependency-management) -* [Use instructions](#use-instructions) - -# Python Development Guidelines[](#python-development-guidelines "Permalink") - -GitLab requires Python as a dependency for [reStructuredText](https://docutils.sourceforge.io/rst.html) markup rendering. - -从 GitLab 11.10 开始,我们需要 Python 3. - -## Installation[](#installation "Permalink") - -有几种方法可以在系统上安装 Python. 为了能够使用生产中使用的相同版本,建议您使用[pyenv](https://github.com/pyenv/pyenv) . 它的工作方式和行为与 Ruby 世界中的[同类产品 rbenv 相似](https://github.com/rbenv/rbenv) . - -### macOS[](#macos "Permalink") - -要在 macOS 上安装`pyenv` ,可以将[Homebrew](https://brew.sh/)与以下软件配合使用: - -``` -brew install pyenv -``` - -### Linux[](#linux "Permalink") - -要在 Linux 上安装`pyenv` ,您可以运行以下命令: - -``` -curl https://pyenv.run | bash -``` - -另外,您可以通过发行版软件包管理器找到`pyenv`作为系统软件包. - -您可以在以下[网址](https://github.com/pyenv/pyenv-installer#prerequisites)了解更多信息: [https](https://github.com/pyenv/pyenv-installer#prerequisites) : [//github.com/pyenv/pyenv-installer#prerequisites](https://github.com/pyenv/pyenv-installer#prerequisites) . - -### Shell integration[](#shell-integration "Permalink") - -Pyenv 安装会将必需的更改添加到 Bash. 如果使用其他外壳,请检查是否需要其他步骤. - -对于 Fish,您可以为[Fisher](https://github.com/jorgebucaran/fisher)安装插件: - -``` -fisher add fisherman/pyenv -``` - -还是为了[我的鱼](https://github.com/oh-my-fish/oh-my-fish) : - -``` -omf install pyenv -``` - -## Dependency management[](#dependency-management "Permalink") - -尽管 GitLab 不直接包含任何 Python 脚本,但是由于我们依赖 Python 来呈现[reStructuredText](https://docutils.sourceforge.io/rst.html)标记,因此我们需要在主项目级别上跟踪依赖项,以便可以在开发机器上运行它. - -最近,Python 引入了与`Gemfile`和[Bundler](https://bundler.io/)项目等效的项目: `Pipfile`和[Pipenv](https://pipenv.readthedocs.io/en/latest/) . - -现在,您将在根文件夹中找到具有相关性的`Pipfile` . 要安装它们,请运行: - -``` -pipenv install -``` - -运行此命令将安装所需的 Python 版本以及所需的 pip 依赖项. - -## Use instructions[](#use-instructions "Permalink") - -要在 Pipenv 环境下运行任何 Python 代码,您需要首先根据应用程序的依赖关系启动`virtualenv` . 使用 Pipenv,运行起来很简单: - -``` -pipenv shell -``` - -运行该命令后,您可以在同一外壳上运行 GitLab,它将使用从`pipenv install`命令安装的 Python 和依赖项. \ No newline at end of file diff --git a/docs/619.md b/docs/619.md deleted file mode 100644 index ce8cd8a..0000000 --- a/docs/619.md +++ /dev/null @@ -1,285 +0,0 @@ -# SCSS style guide - -> 原文:[https://docs.gitlab.com/ee/development/fe_guide/style/scss.html](https://docs.gitlab.com/ee/development/fe_guide/style/scss.html) - -* [Rules](#rules) - * [Utility Classes](#utility-classes) - * [Where are utility classes defined?](#where-are-utility-classes-defined) - * [Where should I put new utility classes?](#where-should-i-put-new-utility-classes) - * [When should I create component classes?](#when-should-i-create-component-classes) - * [Naming](#naming) - * [Formatting](#formatting) - * [Colors](#colors) - * [Indentation](#indentation) - * [Semicolons](#semicolons) - * [Shorthand](#shorthand) - * [Zero Units](#zero-units) - * [Selectors with a `js-` Prefix](#selectors-with-a-js--prefix) - * [IDs](#ids) - * [Variables](#variables) -* [Linting](#linting) - * [Fixing issues](#fixing-issues) - * [Ignoring issues](#ignoring-issues) - -# SCSS style guide[](#scss-style-guide "Permalink") - -本样式指南为 SCSS 推荐了最佳做法,以使样式易于阅读,易于维护并为最终用户提供高性能. - -## Rules[](#rules "Permalink") - -我们的 CSS 是现有方法和旧方法的结合. 这意味着有时可能难以按照本指南进行操作. 这意味着您肯定会遇到例外,在这种情况下,如果不付出巨大的努力,很难甚至不可能遵循该指南. 在这种情况下,您可以与审核者和维护者一起确定不符合这些规则的方法. 请努力限制这些情况. - -### Utility Classes[](#utility-classes "Permalink") - -为了减少随着站点的增加而产生更多 CSS 的可能性,与添加新 CSS 相比,更喜欢使用实用程序类. 在复杂的情况下,可以通过添加组件类来解决 CSS. - -#### Where are utility classes defined?[](#where-are-utility-classes-defined "Permalink") - -优先使用[在 GitLab UI 中定义](https://gitlab.com/gitlab-org/gitlab-ui/-/blob/master/doc/css.md#utilities)的[实用程序类](https://gitlab.com/gitlab-org/gitlab-ui/-/blob/master/doc/css.md#utilities) . [在 Unpkg 上](https://unpkg.com/browse/@gitlab/ui/src/scss/utilities.scss)也可以[看到](https://unpkg.com/browse/@gitlab/ui/src/scss/utilities.scss)一个简单的类列表. - -在类[`utilities.scss`](https://gitlab.com/gitlab-org/gitlab/blob/master/app/assets/stylesheets/utilities.scss)和[`common.scss`](https://gitlab.com/gitlab-org/gitlab/blob/master/app/assets/stylesheets/framework/common.scss)被弃用. 应该避免使用[`common.scss`](https://gitlab.com/gitlab-org/gitlab/blob/master/app/assets/stylesheets/framework/common.scss)中的非设计系统值的类,而采用一致的值. - -Avoid [Bootstrap’s Utility Classes](https://s0getbootstrap0com.icopy.site/docs/4.3/utilities/). - -#### Where should I put new utility classes?[](#where-should-i-put-new-utility-classes "Permalink") - -如果尚未将所需的类添加到 GitLab UI,则可以添加它! 请遵循[实用程序文件中](https://gitlab.com/gitlab-org/gitlab-ui/-/tree/master/src/scss/utility-mixins)记录的命名模式,并参阅[GitLab UI 的 CSS 文档](https://gitlab.com/gitlab-org/gitlab-ui/-/blob/master/doc/contributing/adding_css.md#adding-utility-mixins)以获取更多详细信息,尤其是有关添加响应式和有状态规则的信息. - -如果它是不可能等待 GitLab UI 更新(通常一天),将该类添加到[`utilities.scss`](https://gitlab.com/gitlab-org/gitlab/blob/master/app/assets/stylesheets/utilities.scss)按照 GitLab UI 文件相同的命名约定. 应该解决将类反向移植到 GitLab UI 并将其从 GitLab 中删除的后续问题. - -#### When should I create component classes?[](#when-should-i-create-component-classes "Permalink") - -我们建议采用"效用至上"的方法. - -1. 从实用程序类开始. -2. 如果将实用程序类组合到组件类中可以消除代码重复并封装明确的职责,请执行此操作. - -这鼓励了组件类的有机增长,并防止创建一次性不可重用的类. 而且,从"效用优先"产生的类的种类倾向于以设计为中心(例如`.button` , `.alert` , `.card` )而不是以领域为中心(例如`.security-report-widget` , `.commit-header-icon` ). - -使用"效用优先"创建的组件类的示例包括: - -* [`.circle-icon-container`](https://gitlab.com/gitlab-org/gitlab/blob/579fa8b8ec7eb38d40c96521f517c9dab8c3b97a/app/assets/stylesheets/framework/icons.scss#L85) -* [`.d-flex-center`](https://gitlab.com/gitlab-org/gitlab/blob/900083d89cd6af391d26ab7922b3f64fa2839bef/app/assets/stylesheets/framework/common.scss#L425) - -Inspiration: - -* [https://tailwindcss.com/docs/utility-first/](https://tailwindcss.com/docs/utility-first/) -* [https://tailwindcss.com/docs/extracting-components/](https://tailwindcss.com/docs/extracting-components/) - -### Naming[](#naming "Permalink") - -文件名应使用`snake_case` . - -CSS 类应使用`lowercase-hyphenated`格式,而不是`snake_case`或`camelCase` . - -``` -// Bad -.class_name { - color: #fff; -} - -// Bad -.className { - color: #fff; -} - -// Good -.class-name { - color: #fff; -} -``` - -应该使用类名代替标记名选择器. 在 CSS 中不建议使用标记名称选择器,因为它们会影响层次结构中的意外元素. 另外,由于它们不是有意义的名称,因此不会在代码中添加含义. - -``` -// Bad -ul { - color: #fff; -} - -// Good -.class-name { - color: #fff; -} -``` - -### Formatting[](#formatting "Permalink") - -大括号前应始终使用空格,大括号应位于同一行上,每个属性都应具有自己的行,并且属性与其值之间应有一个空格. - -``` -// Bad -.container-item { - width: 100px; height: 100px; - margin-top: 0; -} - -// Bad -.container-item -{ - width: 100px; - height: 100px; - margin-top: 0; -} - -// Bad -.container-item{ - width:100px; - height:100px; - margin-top:0; -} - -// Good -.container-item { - width: 100px; - height: 100px; - margin-top: 0; -} -``` - -请注意,单行规则集是一个例外,尽管通常不建议使用这些规则集. - -``` -p { margin: 0; padding: 0; } -``` - -### Colors[](#colors "Permalink") - -十六进制(十六进制)颜色应尽可能使用简写形式,并应使用小写字母区分字母和数字,例如`#E3E3E3`与`#e3e3e3` . - -``` -// Bad -p { - color: #ffffff; -} - -// Bad -p { - color: #FFFFFF; -} - -// Good -p { - color: #fff; -} -``` - -### Indentation[](#indentation "Permalink") - -缩进应始终为每个缩进级别使用两个空格. - -``` -// Bad, four spaces -p { - color: #f00; -} - -// Good -p { - color: #f00; -} -``` - -### Semicolons[](#semicolons "Permalink") - -在每个属性后面都应始终包含分号. 缩小样式表后,分号将自动删除. - -``` -// Bad -.container-item { - width: 100px; - height: 100px -} - -// Good -.container-item { - width: 100px; - height: 100px; -} -``` - -### Shorthand[](#shorthand "Permalink") - -简写形式应用于支持它的属性. - -``` -// Bad -margin: 10px 15px 10px 15px; -padding: 10px 10px 10px 10px; - -// Good -margin: 10px 15px; -padding: 10px; -``` - -### Zero Units[](#zero-units "Permalink") - -省略长度单位为零的值,这是不必要的,不包括长度单位的性能更高. - -``` -// Bad -.item-with-padding { - padding: 0px; -} - -// Good -.item-with-padding { - padding: 0; -} -``` - -### Selectors with a `js-` Prefix[](#selectors-with-a-js--prefix "Permalink") - -不要将任何以`js-`选择器用于样式目的. 这些选择器仅可与 JavaScript 一起使用,以便在不破坏样式的情况下进行删除或重命名. - -### IDs[](#ids "Permalink") - -不要在 CSS 中使用 ID 选择器. - -``` -// Bad -#my-element { - padding: 0; -} - -// Good -.my-element { - padding: 0; -} -``` - -### Variables[](#variables "Permalink") - -在为颜色或尺寸添加新变量之前,请确保: - -* 还没有一个 -* 我们没有类似的替代方法. - -## Linting[](#linting "Permalink") - -我们使用[SCSS Lint](https://github.com/sds/scss-lint)检查样式指南的一致性. 它使用`.scss-lint.yml`的规则集,该规则集位于项目的主目录中. - -要检查您的更改是否会产生任何警告,您可以在 GitLab 目录中运行`rake scss_lint` . SCSS Lint 也将在 GitLab CI / CD 中运行以捕获任何警告. - -如果 Rake 任务发出了您不了解的警告,SCSS Lint 的文档将包含[其](https://github.com/sds/scss-lint/blob/master/lib/scss_lint/linter/README.md)短毛绒的[完整列表](https://github.com/sds/scss-lint/blob/master/lib/scss_lint/linter/README.md) . - -### Fixing issues[](#fixing-issues "Permalink") - -如果要自动更改大部分代码库以符合 SCSS 样式指南,则可以使用[CSSComb](https://github.com/csscomb/csscomb.js) . 首先安装[Node](https://github.com/nodejs/node)和[NPM](https://s0www0npmjs0com.icopy.site/) ,然后运行`npm install csscomb -g`全局(系统范围)安装 CSSComb. 使用`csscomb app/assets/stylesheets`在 GitLab 目录中运行它,以自动修复 CSS / SCSS 问题. - -请注意,这并不能解决所有问题,但应该可以解决大多数问题. - -### Ignoring issues[](#ignoring-issues "Permalink") - -如果您希望`// scss-lint:disable RuleName`忽略一条线或一组线,则可以使用`// scss-lint:disable RuleName` ( [更多信息](https://github.com/sds/scss-lint#disabling-linters-via-source) ): - -``` -// This lint rule is disabled because it is supported only in Chrome/Safari -// scss-lint:disable PropertySpelling -body { - text-decoration-skip: ink; -} -// scss-lint:enable PropertySpelling -``` - -确保在`disable`规则上方的行上添加了注释,否则短绒棉绒将抛出警告. 已启用`DisableLinterReason`以确保不忽略样式指南,并与其他人交流为什么在这种情况下忽略样式指南. \ No newline at end of file diff --git a/docs/620.md b/docs/620.md deleted file mode 100644 index 52d76d2..0000000 --- a/docs/620.md +++ /dev/null @@ -1,105 +0,0 @@ -# Shell scripting standards and style guidelines - -> 原文:[https://docs.gitlab.com/ee/development/shell_scripting_guide/](https://docs.gitlab.com/ee/development/shell_scripting_guide/) - -* [Overview](#overview) - * [Avoid using shell scripts](#avoid-using-shell-scripts) -* [Scope of this guide](#scope-of-this-guide) -* [Shell language choice](#shell-language-choice) -* [Code style and format](#code-style-and-format) - * [Linting](#linting) - * [Formatting](#formatting) -* [Testing](#testing) -* [Code Review](#code-review) - -# Shell scripting standards and style guidelines[](#shell-scripting-standards-and-style-guidelines "Permalink") - -## Overview[](#overview "Permalink") - -GitLab 由许多不同的服务和子项目组成. 他们的大多数后端代码都是用[Ruby](https://www.ruby-lang.org)和[Go](https://s0golang0org.icopy.site)编写的. 但是,其中一些使用 shell 脚本来自动化日常系统管理任务,例如部署,安装等.之所以这样做是出于历史原因,或者是为了最大程度地减少对 Docker 映像的依赖性. - -该页面旨在根据我们的各种经验来定义和组织我们的 Shell 脚本编写准则. GitLab 项目中的所有 Shell 脚本最终都应与本指南保持一致. 如果每个项目与本指南存在差异,则应在此类项目的`README.md`或`PROCESS.md`文件中进行说明. - -### Avoid using shell scripts[](#avoid-using-shell-scripts "Permalink") - -**注意:**这是必读部分. - -综上所述,我们建议尽可能远离 Shell 脚本. 像 Ruby 或 Python 这样的语言(如果需要与我们利用的代码库保持一致),几乎总是一个更好的选择. 高级解释语言具有更易读的语法,为单元测试,整理和错误报告提供了更成熟的功能. - -仅在对项目的依赖项大小有严格限制或在特定情况下更重要的任何其他要求时,才使用 Shell 脚本. - -## Scope of this guide[](#scope-of-this-guide "Permalink") - -根据[GitLab 安装要求](../../install/requirements.html) ,本指南仅涵盖受[支持的 Linux 发行版](../../install/requirements.html#supported-linux-distributions)使用的那些 shell,即: - -* [POSIX Shell](https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html) -* [Bash](https://www.gnu.org/software/bash/) - -## Shell language choice[](#shell-language-choice "Permalink") - -* 当您需要减少依赖关系列表时,请使用环境提供的内容. 例如,对于泊坞图片是`sh`从`alpine`这是基本的图像对于大多数我们的工具的图像. -* 如果可能,请在其他任何地方使用`bash` . 它比`sh`更强大,但仍然是广泛使用的 shell. - -## Code style and format[](#code-style-and-format "Permalink") - -本节描述了包含外壳程序脚本的工具,这些工具应成为项目 CI 管道的必需部分. 这些工具可自动执行 Shell 代码格式化,检查错误或漏洞等. - -### Linting[](#linting "Permalink") - -我们在默认配置中使用[ShellCheck](https://www.shellcheck.net/)实用程序来[整理](https://www.shellcheck.net/)我们的 Shell 脚本. - -所有带有 shell 脚本的项目都应使用此 GitLab CI / CD 作业: - -``` -shell check: - image: koalaman/shellcheck-alpine:stable - stage: test - before_script: - - shellcheck --version - script: - - shellcheck scripts/**/*.sh # path to your shell scripts -``` - -**提示:**默认情况下,ShellCheck 将使用[外壳检测](https://github.com/koalaman/shellcheck/wiki/SC2148#rationale)来确定使用中的外壳方言. 如果 shell 文件不在您的控制范围内,并且 ShellCheck 无法检测到方言,请使用`-s`标志指定它: `-s sh`或`-s bash` . - -### Formatting[](#formatting "Permalink") - -建议使用[shfmt](https://github.com/mvdan/sh#shfmt)工具来保持一致的格式. 我们根据《 [Google Shell 样式指南》设置](https://google.github.io/styleguide/shell.xml)外壳脚本的格式,因此以下`shfmt`调用应应用于项目的脚本文件: - -``` -shfmt -i 2 -ci -w scripts/**/*.sh -``` - -除了[Linting](#linting) GitLab CI / CD 作业外,所有带有 shell 脚本的项目也应使用此作业: - -``` -shfmt: - image: mvdan/shfmt:v3.1.0-alpine - stage: test - before_script: - - shfmt -version - script: - - shfmt -i 2 -ci -d scripts # path to your shell scripts -``` - -**提示:**默认情况下,shfmt 将使用类似于 ShellCheck 之一的[shell 检测](https://github.com/mvdan/sh#shfmt) ,并忽略以句点开头的文件. 要覆盖它,请使用`-ln`标志来指定 shell 方言: `-ln posix`或`-ln bash` . - -## Testing[](#testing "Permalink") - -**注意:**这是一项正在进行的工作. - -评估各种工具以自动测试 Shell 脚本(例如[BATS](https://github.com/bats-core/bats-core) )是一项[持续的工作](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/64016) . - -## Code Review[](#code-review "Permalink") - -代码审查应根据以下条件执行: - -* [ShellCheck Checks list](https://github.com/koalaman/shellcheck/wiki/Checks) -* [Google Shell Style Guide](https://google.github.io/styleguide/shell.xml) -* [Shfmt formatting caveats](https://github.com/mvdan/sh#caveats) - -但是,建议采取的措施是使用上述工具并处理报告的违法行为. 这应该消除对代码审查的需要. - -* * * - -[Return to Development documentation](../README.html). \ No newline at end of file diff --git a/docs/621.md b/docs/621.md deleted file mode 100644 index f77b9e9..0000000 --- a/docs/621.md +++ /dev/null @@ -1,11 +0,0 @@ -# Sidekiq debugging - -> 原文:[https://docs.gitlab.com/ee/development/sidekiq_debugging.html](https://docs.gitlab.com/ee/development/sidekiq_debugging.html) - -* [Log arguments to Sidekiq jobs](#log-arguments-to-sidekiq-jobs) - -# Sidekiq debugging[](#sidekiq-debugging "Permalink") - -## Log arguments to Sidekiq jobs[](#log-arguments-to-sidekiq-jobs "Permalink") - -此内容已移至[故障排除 Sidekiq 文档](../administration/troubleshooting/sidekiq.html) . \ No newline at end of file diff --git a/docs/622.md b/docs/622.md deleted file mode 100644 index 05db0d7..0000000 --- a/docs/622.md +++ /dev/null @@ -1,509 +0,0 @@ -# Sidekiq Style Guide - -> 原文:[https://docs.gitlab.com/ee/development/sidekiq_style_guide.html](https://docs.gitlab.com/ee/development/sidekiq_style_guide.html) - -* [ApplicationWorker](#applicationworker) -* [Dedicated Queues](#dedicated-queues) -* [Queue Namespaces](#queue-namespaces) -* [Idempotent Jobs](#idempotent-jobs) - * [Ensuring a worker is idempotent](#ensuring-a-worker-is-idempotent) - * [Declaring a worker as idempotent](#declaring-a-worker-as-idempotent) - * [Deduplication](#deduplication) -* [Job urgency](#job-urgency) - * [Latency sensitive jobs](#latency-sensitive-jobs) - * [Changing a queue’s urgency](#changing-a-queues-urgency) -* [Jobs with External Dependencies](#jobs-with-external-dependencies) -* [CPU-bound and Memory-bound Workers](#cpu-bound-and-memory-bound-workers) -* [Declaring a Job as CPU-bound](#declaring-a-job-as-cpu-bound) -* [Determining whether a worker is CPU-bound](#determining-whether-a-worker-is-cpu-bound) -* [Feature category](#feature-category) -* [Job weights](#job-weights) -* [Worker context](#worker-context) - * [Cron workers](#cron-workers) - * [Jobs scheduled in bulk](#jobs-scheduled-in-bulk) -* [Arguments logging](#arguments-logging) -* [Tests](#tests) -* [Sidekiq Compatibility across Updates](#sidekiq-compatibility-across-updates) - * [Changing the arguments for a worker](#changing-the-arguments-for-a-worker) - * [Remove an argument](#remove-an-argument) - * [Add an argument](#add-an-argument) - * [Multi-step deployment](#multi-step-deployment) - * [Parameter hash](#parameter-hash) - * [Removing workers](#removing-workers) - * [Renaming queues](#renaming-queues) - -# Sidekiq Style Guide[](#sidekiq-style-guide "Permalink") - -本文档概述了添加或修改 Sidekiq 工作程序时应遵循的各种准则. - -## ApplicationWorker[](#applicationworker "Permalink") - -All workers should include `ApplicationWorker` instead of `Sidekiq::Worker`, which adds some convenience methods and automatically sets the queue based on the worker’s name. - -## Dedicated Queues[](#dedicated-queues "Permalink") - -所有工作程序都应使用自己的队列,该队列将根据工作程序类名称自动设置. 对于名为`ProcessSomethingWorker`的工作程序,队列名称将为`process_something` . 如果不确定工人使用什么队列,可以使用`SomeWorker.queue`找到它. 几乎没有理由使用`sidekiq_options queue: :some_queue`手动覆盖队列名称. - -添加新队列后,运行`bin/rake gitlab:sidekiq:all_queues_yml:generate`来重新生成`app/workers/all_queues.yml`或`ee/app/workers/all_queues.yml`以便可以由[`sidekiq-cluster`](../administration/operations/extra_sidekiq_processes.html)拾取. - -## Queue Namespaces[](#queue-namespaces "Permalink") - -虽然不同的工作人员无法共享队列,但是他们可以共享队列名称空间. - -为工作程序定义队列名称空间可以启动 Sidekiq 进程,该进程自动为该工作空间中的所有工作程序处理作业,而无需显式列出其所有队列名称. 例如,如果由`sidekiq-cron`管理的所有工作人员都使用`cronjob`队列名称空间,那么我们可以专门针对此类计划的作业启动 Sidekiq 进程. 如果稍后添加使用`cronjob`命名空间的新工作程序,则 Sidekiq 进程也将自动为该工作程序选择作业(重新启动后),而无需更改任何配置. - -可以使用`queue_namespace` DSL 类方法设置队列名称空间: - -``` -class SomeScheduledTaskWorker - include ApplicationWorker - - queue_namespace :cronjob - - # ... -end -``` - -在后台,这会将`SomeScheduledTaskWorker.queue`设置为`cronjob:some_scheduled_task` . 常用的名称空间将具有自己的关注模块,可以轻松地将其包含在 worker 类中,并且可以设置队列名称空间以外的其他 Sidekiq 选项. 例如, `CronjobQueue`设置名称空间,但也禁用重试. - -`bundle exec sidekiq`是可感知名称空间的,当提供名称空间而不是`--queue` ( `-q` )选项中的简单队列名称时,它将自动侦听名称空间中的所有队列(技术上:所有以名称空间名称为前缀的队列) ,或`config/sidekiq_queues.yml`中的`:queues:`部分. - -请注意,应谨慎执行将工作程序添加到现有命名空间的操作,因为如果没有适当调整可用于处理命名空间的 Sidekiq 进程可用的资源,则额外的作业将占用已经存在的工作程序的资源. - -## Idempotent Jobs[](#idempotent-jobs "Permalink") - -众所周知,一项作业可能由于多种原因而失败. 例如,网络中断或错误. 为了解决此问题,Sidekiq 具有内置的重试机制,GitLab 中的大多数工作人员默认使用该机制. - -期望作业在失败后可以再次运行,而不会给应用程序或用户带来重大副作用,这就是 Sidekiq 鼓励作业具有[幂等性和事务性的原因](https://github.com/mperham/sidekiq/wiki/Best-Practices#2-make-your-job-idempotent-and-transactional) . - -通常,在以下情况下,可以将工人视为等幂的: - -* 它可以使用相同的参数安全地运行多次. -* 预期应用程序副作用仅发生一次(或第二次运行的副作用无效). - -一个很好的例子是缓存过期工作器. - -**注意:**如果队列中已经存在具有相同参数的未启动作业,则为等幂工作器调度的作业将自动进行[重复数据删除](#deduplication) . - -### Ensuring a worker is idempotent[](#ensuring-a-worker-is-idempotent "Permalink") - -确保使用以下共享示例通过工作程序测试: - -``` -include_examples 'an idempotent worker' do - it 'marks the MR as merged' do - # Using subject inside this block will process the job multiple times - subject - - expect(merge_request.state).to eq('merged') - end -end -``` - -直接使用`perform_multiple`方法而不是`job.perform` (此辅助方法将自动包含在 worker 中). - -### Declaring a worker as idempotent[](#declaring-a-worker-as-idempotent "Permalink") - -``` -class IdempotentWorker - include ApplicationWorker - - # Declares a worker is idempotent and can - # safely run multiple times. - idempotent! - - # ... -end -``` - -鼓励只具有`idempotent!` 即使在另一个类或模块中定义了`perform`方法,也要在最顶层的 worker 类中调用. - -**注意:**如果工人阶级没有被标记为幂等,那么警察将失败. 如果您不确定自己的工作可以安全地多次运行,请考虑跳过警察. - -### Deduplication[](#deduplication "Permalink") - -当队列中有另一个幂函数的作业入队而另一个未启动的作业时,GitLab 会删除第二个作业. 之所以跳过该工作,是因为首先安排的工作将完成相同的工作; 到第二个作业执行时,第一个作业什么也做不了. - -例如, `AuthorizedProjectsWorker`需要一个用户 ID. 当工作程序运行时,它将重新计算用户的授权. 每当操作有可能更改用户的授权时,GitLab 都会计划此作业. 如果将同一用户同时添加到两个项目,则如果第一个作业尚未开始,则可以跳过第二个作业,因为当第一个作业运行时,它将为两个项目创建授权. - -GitLab 不会跳过将来计划的作业,因为我们假设在计划执行作业时状态将已更改. - -[已经提出了](https://gitlab.com/gitlab-com/gl-infra/scalability/-/issues/195)更多的[重复数据删除策略](https://gitlab.com/gitlab-com/gl-infra/scalability/-/issues/195) . 如果您正在部署的员工可能会从其他策略中受益,请在问题中发表评论. - -如果自动重复数据删除会导致某些队列出现问题. 可以通过启用名为`disable_<queue name>_deduplication`的功能标志来暂时禁用此功能. 例如,要禁用`AuthorizedProjectsWorker`重复数据删除,我们将启用功能标记`disable_authorized_projects_deduplication` . - -从 ChatOps: - -``` -/chatops run feature set disable_authorized_projects_deduplication true -``` - -从 rails 控制台: - -``` -Feature.enable!(:disable_authorized_projects_deduplication) -``` - -## Job urgency[](#job-urgency "Permalink") - -作业可以设置一个`urgency`属性,可以是`:high` , `:low`或`:throttled` . 这些目标如下: - -| **Urgency** | **队列调度目标** | **执行延迟要求** | -| --- | --- | --- | -| `:high` | 10 秒 | 1 秒的 p50、10 秒的 p99 | -| `:low` | 1 分钟 | 最长运行时间为 5 分钟 | -| `:throttled` | None | 最长运行时间为 5 分钟 | - -要设置作业的紧急程度,请使用`urgency`类方法: - -``` -class HighUrgencyWorker - include ApplicationWorker - - urgency :high - - # ... -end -``` - -### Latency sensitive jobs[](#latency-sensitive-jobs "Permalink") - -如果立即安排大量后台作业,则在作业等待辅助节点可用时,可能会出现作业排队. 这是正常现象,它可以通过系统地处理流量高峰来赋予系统弹性. 但是,某些作业比其他作业对延迟更敏感. 这些工作的示例包括: - -1. 在推送到分支之后更新合并请求的作业. -2. 在推送到分支之后,该任务会使项目的已知分支的缓存无效. -3. 更改权限后,用户可以看到重新计算组和项目的作业. -4. 在状态更改为管道中的作业之后更新 CI 管道状态的作业. - -当这些作业被延迟时,用户可能会将延迟视为错误:例如,他们可以推送分支,然后尝试为该分支创建合并请求,但在 UI 中被告知该分支不存在. 我们认为这些工作很`urgency :high` - -做出额外的努力以确保这些作业在计划后的很短时间内启动. 但是,为了确保吞吐量,这些作业还具有非常严格的执行持续时间要求: - -1. 中位作业执行时间应少于 1 秒. -2. 99%的工作应在 10 秒内完成. - -如果一个工作人员不能满足这些期望,那么就不能将其视为`urgency :high`工作人员:考虑重新设计该工作人员,或在两个不同的工作人员之间拆分工作,其中一个工作`urgency :high`执行快速的`urgency :high`代码,另一个工作`urgency :low` ,它没有执行延迟要求(但也有较低的调度目标). - -### Changing a queue’s urgency[](#changing-a-queues-urgency "Permalink") - -在 GitLab.com,我们几个跑 Sidekiq [碎片](https://dashboards.gitlab.net/d/sidekiq-shard-detail/sidekiq-shard-detail) ,其中每一个代表一个特定类型的工作负载. - -更改队列的紧急性或添加新队列时,我们需要考虑新分片上的预期工作量. 请注意,如果我们要更改现有队列,那么也会对旧分片产生影响,但这始终会减少工作量. - -为此,我们要计算新分片的总执行时间和 RPS(吞吐量)的预期增长. 我们可以从以下获得这些值: - -* " [队列详细信息"仪表板](https://dashboards.gitlab.net/d/sidekiq-queue-detail/sidekiq-queue-detail)具有队列本身的值. 对于新队列,我们​​可以查找具有类似模式或在类似情况下安排的队列. -* [碎片详细信息仪表板](https://dashboards.gitlab.net/d/sidekiq-shard-detail/sidekiq-shard-detail)具有总执行时间和吞吐量(RPS). "分片利用率"面板将显示该分片当前是否有多余的容量. - -然后,我们可以计算我们要更改的队列的 RPS *平均运行时间(针对新作业的估算值),以查看新分片期望的 RPS 和执行时间的相对增加: - -``` -new_queue_consumption = queue_rps * queue_duration_avg -shard_consumption = shard_rps * shard_duration_avg - -(new_queue_consumption / shard_consumption) * 100 -``` - -如果我们预期增加**幅度小于 5%** ,则无需采取进一步措施. - -否则,请对合并请求 ping `@gitlab-org/scalability`并要求进行审查. - -## Jobs with External Dependencies[](#jobs-with-external-dependencies "Permalink") - -GitLab 应用程序中的大多数后台作业都与其他 GitLab 服务进行通信. 例如,PostgreSQL,Redis,Gitaly 和对象存储. 这些被视为作业的"内部"依赖性. - -但是,某些作业将依赖于外部服务才能成功完成. 一些示例包括: - -1. 调用用户配置的 Web 钩子的作业. -2. 将应用程序部署到用户配置的 k8s 集群的作业. - -这些作业具有"外部依赖性". 这对于后台处理群集的运行有多种重要的作用: - -1. 大多数外部依赖项(例如 Web 钩子)都不提供 SLO,因此我们不能保证这些作业的执行延迟. 由于我们无法保证执行延迟,因此无法确保吞吐量,因此,在高流量环境中,我们需要确保将具有外部依赖关系的作业与高紧急性作业分开,以确保这些队列上的吞吐量. -2. Errors in jobs with external dependencies have higher alerting thresholds as there is a likelihood that the cause of the error is external. - -``` -class ExternalDependencyWorker - include ApplicationWorker - - # Declares that this worker depends on - # third-party, external services in order - # to complete successfully - worker_has_external_dependencies! - - # ... -end -``` - -**注意:**请注意,一项工作既不能具有很高的紧迫性,又不能具有外部依赖性. - -## CPU-bound and Memory-bound Workers[](#cpu-bound-and-memory-bound-workers "Permalink") - -受 CPU 或内存资源限制约束的工作程序应使用`worker_resource_boundary`方法进行注释. - -大多数工作人员倾向于将大部分时间都花在阻止时间上,等待来自 Redis,PostgreSQL 和 Gitaly 等其他服务的网络响应. 由于 Sidekiq 是多线程环境,因此可以高并发地调度这些作业. - -但是,有些工人在 Ruby 中花费大量时间*在 CPU*运行逻辑上. Ruby MRI 不支持真正的多线程-它依赖[GIL](https://thoughtbot.com/blog/untangling-ruby-threads#the-global-interpreter-lock)来极大简化应用程序开发,无论托管该进程的计算机有多少核,一次仅允许一个进程中的一部分 Ruby 代码运行一次. 对于受 IO 约束的工作人员,这不是问题,因为大多数线程在基础库(位于 GIL 之外)中被阻止. - -如果许多线程试图同时运行 Ruby 代码,则将导致 GIL 争用,这将减慢所有进程的速度. - -在高流量的环境中,知道一个工作人员受 CPU 限制,可以使我们在具有较低并发性的其他队列中运行它. 这样可以确保最佳性能. - -同样,如果工作人员使用大量内存,则可以在定制的低并发,高内存队列上运行这些内存. - -请注意,受内存限制的工作程序会创建大量的 GC 工作负载,暂停时间为 10-50ms. 这将对工作人员的延迟要求产生影响. 因此, `memory`限制, `urgency :high`作业是不允许的,并且将使 CI 失败. 通常,不鼓励受`memory`限制的工作人员,应考虑处理工作的替代方法. - -如果工作程序需要大量的内存和 CPU 时间,则由于上述对高紧急性的内存绑定工作程序的限制,应将其标记为内存绑定. - -## Declaring a Job as CPU-bound[](#declaring-a-job-as-cpu-bound "Permalink") - -本示例说明如何将作业声明为受 CPU 约束. - -``` -class CPUIntensiveWorker - include ApplicationWorker - - # Declares that this worker will perform a lot of - # calculations on-CPU. - worker_resource_boundary :cpu - - # ... -end -``` - -## Determining whether a worker is CPU-bound[](#determining-whether-a-worker-is-cpu-bound "Permalink") - -我们使用以下方法来确定工作程序是否受 CPU 限制: - -* 在 Sidekiq 结构化 JSON 日志中,汇总工作`duration`和`cpu_s`字段. -* `duration` refers to the total job execution duration, in seconds -* `cpu_s`是从[`Process::CLOCK_THREAD_CPUTIME_ID`](https://www.rubydoc.info/stdlib/core/Process:clock_gettime)计数器派生的,它是作业在 CPU 上花费的时间的度量. -* 将`cpu_s`除以`duration`即可得到在 CPU 上花费的`duration`百分比. -* 如果该比例超过 33%,则认为该工作线程受 CPU 限制,因此应进行注释. -* 请注意,这些值不应用于较小的样本量,而应用于相当大的汇总. - -## Feature category[](#feature-category "Permalink") - -所有 Sidekiq 工作人员都必须定义一个已知的[特征类别](feature_categorization/index.html#sidekiq-workers) . - -## Job weights[](#job-weights "Permalink") - -某些作业的重量已声明. 仅在默认执行模式下运行 Sidekiq 时才使用此选项-使用[`sidekiq-cluster`](../administration/operations/extra_sidekiq_processes.html)不能计算权重. - -随着我们[朝在 Core 中使用`sidekiq-cluster`迈进](https://gitlab.com/gitlab-org/gitlab/-/issues/34396) ,新增加的工作人员无需指定权重. 他们可以简单地使用默认权重 1. - -## Worker context[](#worker-context "Permalink") - -版本历史 - -* 在 GitLab 12.8 中[引入](https://gitlab.com/gitlab-com/gl-infra/scalability/-/issues/9) . - -为了在日志中获得有关工作程序的更多信息,我们[以`ApplicationContext`的形式向工作](logging.html#logging-context-metadata-through-rails-or-grape-requests)添加[元数据](logging.html#logging-context-metadata-through-rails-or-grape-requests) . 在大多数情况下,从请求计划作业时,该上下文已经从请求中扣除并添加到计划的作业中. - -运行作业时,将还原计划时处于活动状态的上下文. 这会使上下文传播到正在运行的作业中计划的任何作业. - -所有这些意味着在大多数情况下,要将上下文添加到作业中,我们无需执行任何操作. - -但是,在某些情况下,计划作业时将不存在任何上下文,或者存在的上下文很可能不正确. 对于这些实例,我们添加了 Rubocop 规则以引起注意并避免日志中的元数据不正确. - -与大多数警察一样,有完全正当的理由禁用它们. 在这种情况下,可能来自请求的上下文是正确的. 或者,您可能已经以警察无法接受的方式指定了上下文. 无论如何,请在禁用警察时留下指向将使用哪个上下文的代码注释. - -当确实为上下文提供对象时,请确保已预先加载名称空间和项目的路由. 这可以通过使用来完成`.with_route`上所有定义范围`Routable`秒. - -### Cron workers[](#cron-workers "Permalink") - -对于 Cronjob 队列( `include CronjobQueue` )中的工作人员,将自动清除上下文,即使从请求中安排工作人员时也是如此. 我们这样做是为了避免从 cron worker 安排其他作业时出现不正确的元数据. - -Cron 工作人员自己在实例范围内运行,因此它们的作用域不限于应添加到上下文中的用户,名称空间,项目或其他资源. - -然而,他们往往安排*确实*需要方面的其他工作. - -这就是为什么需要在工作人员中某处显示上下文的原因. 可以通过在工作器内的某些位置使用以下方法之一来完成此操作: - -1. 在`with_context`帮助器中包装用于调度作业的代码: - - ``` - def perform - deletion_cutoff = Gitlab::CurrentSettings - .deletion_adjourned_period.days.ago.to_date - projects = Project.with_route.with_namespace - .aimed_for_deletion(deletion_cutoff) - - projects.find_each(batch_size: 100).with_index do |project, index| - delay = index * INTERVAL - - with_context(project: project) do - AdjournedProjectDeletionWorker.perform_in(delay, project.id) - end - end - end - ``` - -2. 使用提供上下文的批处理调度方法: - - ``` - def schedule_projects_in_batch(projects) - ProjectImportScheduleWorker.bulk_perform_async_with_contexts( - projects, - arguments_proc: -> (project) { project.id }, - context_proc: -> (project) { { project: project } } - ) - end - ``` - - 或者,在延迟调度时: - - ``` - diffs.each_batch(of: BATCH_SIZE) do |diffs, index| - DeleteDiffFilesWorker - .bulk_perform_in_with_contexts(index * 5.minutes, - diffs, - arguments_proc: -> (diff) { diff.id }, - context_proc: -> (diff) { { project: diff.merge_request.target_project } }) - end - ``` - -### Jobs scheduled in bulk[](#jobs-scheduled-in-bulk "Permalink") - -通常,在批量调度作业时,这些作业应具有单独的上下文而不是总体上下文. - -如果是这样的话, `bulk_perform_async`可以通过更换`bulk_perform_async_with_context`帮手,而不是`bulk_perform_in`使用`bulk_perform_in_with_context` . - -例如: - -``` - ProjectImportScheduleWorker.bulk_perform_async_with_contexts( - projects, - arguments_proc: -> (project) { project.id }, - context_proc: -> (project) { { project: project } } - ) -``` - -第一个参数中可枚举的每个对象分为两个块: - -* `arguments_proc` ,它需要返回作业需要调度的参数列表. - -* 需要返回带有作业上下文信息的哈希值的`context_proc` . - -## Arguments logging[](#arguments-logging "Permalink") - -当[`SIDEKIQ_LOG_ARGUMENTS`](../administration/troubleshooting/sidekiq.html#log-arguments-to-sidekiq-jobs)启用,Sidekiq 作业参数将被记录. - -默认情况下,记录的唯一参数是数字参数,因为其他类型的参数可能包含敏感信息. 要覆盖此参数,请在工作程序内部使用`loggable_arguments`并记录要记录的参数的索引. (此处不需要指定数字参数.) - -例如: - -``` -class MyWorker - include ApplicationWorker - - loggable_arguments 1, 3 - - # object_id will be logged as it's numeric - # string_a will be logged due to the loggable_arguments call - # string_b will be filtered from logs - # string_c will be logged due to the loggable_arguments call - def perform(object_id, string_a, string_b, string_c) - end -end -``` - -## Tests[](#tests "Permalink") - -与其他任何类一样,每个 Sidekiq 工作者都必须使用 RSpec 进行测试. 这些测试应放在`spec/workers` . - -## Sidekiq Compatibility across Updates[](#sidekiq-compatibility-across-updates "Permalink") - -请记住,Sidekiq 作业的参数在计划执行时存储在队列中. 在线更新期间,这可能会导致几种可能的情况: - -1. 该应用程序的较旧版本发布作业,该作业由升级的 Sidekiq 节点执行. -2. 作业在升级之前排队,但在升级之后执行. -3. 作业由运行较新版本应用程序的节点排队,但在运行较旧版本应用程序的节点上执行. - -### Changing the arguments for a worker[](#changing-the-arguments-for-a-worker "Permalink") - -作业需要在应用程序的连续版本之间向后和向前兼容. 在所有 Rails 和 Sidekiq 节点都具有更新的代码之前,添加或删除参数可能会在部署期间引起问题. - -#### Remove an argument[](#remove-an-argument "Permalink") - -**不要从`perform`函数中删除参数.** . 而是,使用以下方法: - -1. 提供默认值(通常为`nil` )并使用注释将参数标记为已弃用 -2. 停止在`perform_async`使用该参数. -3. 忽略 worker 类中的值,但是直到下一个主要版本才将其删除. - -在以下示例中,如果要删除`arg2` ,请首先设置`nil`默认值,然后更新调用`ExampleWorker.perform_async`位置. - -``` -class ExampleWorker - def perform(object_id, arg1, arg2 = nil) - # ... - end -end -``` - -#### Add an argument[](#add-an-argument "Permalink") - -有两种方法可以安全地向 Sidekiq 工作者添加新参数: - -1. Set up a [multi-step deployment](#multi-step-deployment) in which the new argument is first added to the worker -2. 将[参数哈希](#parameter-hash)用于其他参数. 这也许是最灵活的选择. - -##### Multi-step deployment[](#multi-step-deployment "Permalink") - -这种方法需要多个合并请求,并且在合并其他更改之前,要合并和部署第一个合并请求. - -1. 在初始合并请求中,使用默认值将参数添加到 worker 中: - - ``` - class ExampleWorker - def perform(object_id, new_arg = nil) - # ... - end - end - ``` - -2. 使用新参数合并和部署工作程序. -3. 在另一个合并请求中,更新`ExampleWorker.perform_async`调用以使用新参数. - -##### Parameter hash[](#parameter-hash "Permalink") - -如果现有工作人员已经利用参数哈希,则此方法将不需要多次部署. - -1. 在 worker 中使用参数散列以实现将来的灵活性: - - ``` - class ExampleWorker - def perform(object_id, params = {}) - # ... - end - end - ``` - -### Removing workers[](#removing-workers "Permalink") - -尽量避免在次要版本和修补程序版本中删除工作人员及其队列. - -在联机更新期间,实例可能有待处理的作业,而删除队列可能导致这些作业永远卡住. 如果您无法为这些 Sidekiq 作业编写迁移,请考虑仅在主要版本中删除该工作程序. - -### Renaming queues[](#renaming-queues "Permalink") - -出于同样的原因,遣散工人也很危险,因此在重命名队列时应格外小心. - -重命名队列时,请使用`sidekiq_queue_migrate`帮助程序迁移方法,如本示例所示: - -``` -class MigrateTheRenamedSidekiqQueue < ActiveRecord::Migration[5.0] - include Gitlab::Database::MigrationHelpers - - DOWNTIME = false - - def up - sidekiq_queue_migrate 'old_queue_name', to: 'new_queue_name' - end - - def down - sidekiq_queue_migrate 'new_queue_name', to: 'old_queue_name' - end -end -``` \ No newline at end of file diff --git a/docs/623.md b/docs/623.md deleted file mode 100644 index d44367c..0000000 --- a/docs/623.md +++ /dev/null @@ -1,317 +0,0 @@ -# SQL Query Guidelines - -> 原文:[https://docs.gitlab.com/ee/development/sql.html](https://docs.gitlab.com/ee/development/sql.html) - -* [Using LIKE Statements](#using-like-statements) -* [LIKE & Indexes](#like--indexes) -* [Reliably referencing database columns](#reliably-referencing-database-columns) - * [Good (prefer)](#good-prefer) - * [Bad (avoid)](#bad-avoid) -* [Plucking IDs](#plucking-ids) -* [Inherit from ApplicationRecord](#inherit-from-applicationrecord) -* [Use UNIONs](#use-unions) -* [Ordering by Creation Date](#ordering-by-creation-date) -* [Use WHERE EXISTS instead of WHERE IN](#use-where-exists-instead-of-where-in) -* [`.find_or_create_by` is not atomic](#find_or_create_by-is-not-atomic) - -# SQL Query Guidelines[](#sql-query-guidelines "Permalink") - -本文档介绍了使用 ActiveRecord / Arel 或原始 SQL 查询编写 SQL 查询时要遵循的各种准则. - -## Using LIKE Statements[](#using-like-statements "Permalink") - -搜索数据的最常见方法是使用`LIKE`语句. 例如,要获取标题以" WIP:"开头的所有问题,您可以编写以下查询: - -``` -SELECT * -FROM issues -WHERE title LIKE 'WIP:%'; -``` - -在 PostgreSQL 上, `LIKE`语句区分大小写. 要执行不区分大小写的`LIKE` ,必须改为使用`ILIKE` . - -要自动处理此问题,您应该使用 Arel 而不是原始 SQL 片段使用`LIKE`查询,因为 Arel 在 PostgreSQL 上自动使用`ILIKE` . - -``` -Issue.where('title LIKE ?', 'WIP:%') -``` - -您可以这样写: - -``` -Issue.where(Issue.arel_table[:title].matches('WIP:%')) -``` - -根据所使用的数据库,此处的`matches`生成正确的`LIKE` / `ILIKE`语句. - -如果您需要链接多个`OR`条件,也可以使用 Arel 进行此操作: - -``` -table = Issue.arel_table - -Issue.where(table[:title].matches('WIP:%').or(table[:foo].matches('WIP:%'))) -``` - -在 PostgreSQL 上,这将产生: - -``` -SELECT * -FROM issues -WHERE (title ILIKE 'WIP:%' OR foo ILIKE 'WIP:%') -``` - -## LIKE & Indexes[](#like--indexes "Permalink") - -在一开始使用带有通配符的`LIKE` / `ILIKE`时,PostgreSQL 将不使用任何索引. 例如,这将不使用任何索引: - -``` -SELECT * -FROM issues -WHERE title ILIKE '%WIP:%'; -``` - -因为`ILIKE`的值以通配符开头,所以数据库无法使用索引,因为它不知道从何处开始扫描索引. - -幸运的是,PostgreSQL *确实*提供了一种解决方案:trigram GIN 索引. 可以如下创建这些索引: - -``` -CREATE INDEX [CONCURRENTLY] index_name_here -ON table_name -USING GIN(column_name gin_trgm_ops); -``` - -这里的关键是`GIN(column_name gin_trgm_ops)`部分. 这将创建一个[GIN 索引](https://s0www0postgresql0org.icopy.site/docs/current/gin.html) ,并将操作符类设置为`gin_trgm_ops` . 这些索引*可*通过使用`ILIKE` / `LIKE` ,并可能导致大大改进的性能. 这些索引的缺点之一是它们很容易变大(取决于索引的数据量). - -为了使这些索引的命名保持一致,请使用以下命名模式: - -``` -index_TABLE_on_COLUMN_trigram -``` - -例如,一个`issues.title`的 GIN / `issues.title`索引将称为`index_issues_on_title_trigram` . - -Due to these indexes taking quite some time to be built they should be built concurrently. This can be done by using `CREATE INDEX CONCURRENTLY` instead of just `CREATE INDEX`. Concurrent indexes can *not* be created inside a transaction. Transactions for migrations can be disabled using the following pattern: - -``` -class MigrationName < ActiveRecord::Migration[4.2] - disable_ddl_transaction! -end -``` - -例如: - -``` -class AddUsersLowerUsernameEmailIndexes < ActiveRecord::Migration[4.2] - disable_ddl_transaction! - - def up - execute 'CREATE INDEX CONCURRENTLY index_on_users_lower_username ON users (LOWER(username));' - execute 'CREATE INDEX CONCURRENTLY index_on_users_lower_email ON users (LOWER(email));' - end - - def down - remove_index :users, :index_on_users_lower_username - remove_index :users, :index_on_users_lower_email - end -end -``` - -## Reliably referencing database columns[](#reliably-referencing-database-columns "Permalink") - -默认情况下,ActiveRecord 返回查询的数据库表中的所有列. 在某些情况下,可能需要自定义返回的行,例如: - -* 仅指定几列以减少从数据库返回的数据量. -* 包括`JOIN`关系中的列. -* 执行计算( `SUM` , `COUNT` ). - -在此示例中,我们指定列,但不指定其表: - -* `projects`表的`path` -* `merge_requests`表中的`user_id` - -查询: - -``` -# bad, avoid -Project.select("path, user_id").joins(:merge_requests) # SELECT path, user_id FROM "projects" ... -``` - -稍后,一项新功能将一个额外的列添加到`projects`表: `user_id` . 在部署期间,可能会在很短的时间范围内执行数据库迁移,但是尚未部署新版本的应用程序代码. 当上述查询在此期间执行时,查询将失败,并显示以下错误消息: `PG::AmbiguousColumn: ERROR: column reference "user_id" is ambiguous` - -问题是由从数据库中选择属性的方式引起的. 的`user_id`列存在于两个`users`和`merge_requests`表. 查询计划者无法确定在查找`user_id`列时要使用哪个表. - -在编写自定义的`SELECT`语句时,最好**使用表名明确指定列** . - -### Good (prefer)[](#good-prefer "Permalink") - -``` -Project.select(:path, 'merge_requests.user_id').joins(:merge_requests) - -# SELECT "projects"."path", merge_requests.user_id as user_id FROM "projects" ... -``` - -``` -Project.select(:path, :'merge_requests.user_id').joins(:merge_requests) - -# SELECT "projects"."path", "merge_requests"."id" as user_id FROM "projects" ... -``` - -使用 Arel( `arel_table` )的示例: - -``` -Project.select(:path, MergeRequest.arel_table[:user_id]).joins(:merge_requests) - -# SELECT "projects"."path", "merge_requests"."user_id" FROM "projects" ... -``` - -编写原始 SQL 查询时: - -``` -SELECT projects.path, merge_requests.user_id FROM "projects"... -``` - -When the raw SQL query is parameterized (needs escaping): - -``` -include ActiveRecord::ConnectionAdapters::Quoting - -""" -SELECT #{quote_table_name('projects')}.#{quote_column_name('path')}, #{quote_table_name('merge_requests')}.#{quote_column_name('user_id')} FROM ... -""" -``` - -### Bad (avoid)[](#bad-avoid "Permalink") - -``` -Project.select('id, path, user_id').joins(:merge_requests).to_sql - -# SELECT id, path, user_id FROM "projects" ... -``` - -``` -Project.select("path", "user_id").joins(:merge_requests) -# SELECT "projects"."path", "user_id" FROM "projects" ... - -# or - -Project.select(:path, :user_id).joins(:merge_requests) -# SELECT "projects"."path", "user_id" FROM "projects" ... -``` - -给定列列表后,ActiveRecord 尝试将参数与`projects`表中定义的列进行匹配,并自动在表名前添加前缀. 在这种情况下, `id`列不会有问题,但是`user_id`列可能返回意外数据: - -``` -Project.select(:id, :user_id).joins(:merge_requests) - -# Before deployment (user_id is taken from the merge_requests table): -# SELECT "projects"."id", "user_id" FROM "projects" ... - -# After deployment (user_id is taken from the projects table): -# SELECT "projects"."id", "projects"."user_id" FROM "projects" ... -``` - -## Plucking IDs[](#plucking-ids "Permalink") - -这还不够强调: **永远不要**使用 ActiveRecord 的`pluck`将一组值插入内存中,而只是将它们用作另一个查询的参数. 例如,这将使数据库**非常**悲伤: - -``` -projects = Project.all.pluck(:id) - -MergeRequest.where(source_project_id: projects) -``` - -相反,您可以只使用性能更好的子查询: - -``` -MergeRequest.where(source_project_id: Project.all.select(:id)) -``` - -*唯一*应该使用`pluck`时间是您实际上需要对 Ruby 本身中的值进行操作(例如,将它们写入文件中)时. 在几乎所有其他情况下,您都应该问自己"我不仅可以使用子查询吗?". - -根据我们的`CodeReuse/ActiveRecord`缔约方会议,您应仅在模型代码中使用诸如`pluck(:id)`或`pluck(:user_id)`之类的形式. 在前一种情况下,可以改用`ApplicationRecord` `.pluck_primary_key`帮助器方法. 在后者中,您应该在相关模型中添加一个小的辅助方法. - -## Inherit from ApplicationRecord[](#inherit-from-applicationrecord "Permalink") - -GitLab 代码库中的大多数模型应继承自`ApplicationRecord` ,而不是`ActiveRecord::Base` . 这样可以轻松添加辅助方法. - -在数据库迁移中创建的模型存在此规则的例外. 由于这些应与应用程序代码隔离,因此它们应继续从`ActiveRecord::Base`继承子类. - -## Use UNIONs[](#use-unions "Permalink") - -UNION 在大多数 Rails 应用程序中并不是很常用,但是它们非常强大且有用. 在大多数应用程序中,查询倾向于使用大量 JOIN 来获取相关数据或基于特定条件的数据,但是 JOIN 性能会随着所涉及数据的增长而迅速恶化. - -例如,如果要获取名称包含值*或*名称空间名称包含值的项目列表,大多数人会编写以下查询: - -``` -SELECT * -FROM projects -JOIN namespaces ON namespaces.id = projects.namespace_id -WHERE projects.name ILIKE '%gitlab%' -OR namespaces.name ILIKE '%gitlab%'; -``` - -使用大型数据库,此查询可能很容易花费大约 800 毫秒来运行. 使用 UNION,我们改为编写以下内容: - -``` -SELECT projects.* -FROM projects -WHERE projects.name ILIKE '%gitlab%' - -UNION - -SELECT projects.* -FROM projects -JOIN namespaces ON namespaces.id = projects.namespace_id -WHERE namespaces.name ILIKE '%gitlab%'; -``` - -反过来,此查询只需要 15 毫秒即可完成,同时返回完全相同的记录. - -这并不意味着您应该在所有地方开始使用 UNION,但是在查询中使用大量 JOIN 并根据联接的数据过滤掉记录时要牢记这一点. - -GitLab 带有一个`Gitlab::SQL::Union`类,可用于构建多个`ActiveRecord::Relation`对象的 UNION. 您可以按如下方式使用此类: - -``` -union = Gitlab::SQL::Union.new([projects, more_projects, ...]) - -Project.from("(#{union.to_sql}) projects") -``` - -## Ordering by Creation Date[](#ordering-by-creation-date "Permalink") - -根据记录的创建时间对记录进行排序时,只需按`id`列进行排序即可,而不必按`created_at`进行排序. 因为 ID 始终是唯一的,并且按照创建行的顺序递增,所以这将产生完全相同的结果. 这也意味着,由于默认情况下已经对`id`进行了索引,因此无需在`created_at`上添加索引以确保一致的性能. - -## Use WHERE EXISTS instead of WHERE IN[](#use-where-exists-instead-of-where-in "Permalink") - -虽然可以使用`WHERE IN`和`WHERE EXISTS`来生成相同的数据,但建议尽可能使用`WHERE EXISTS` . 尽管在许多情况下 PostgreSQL 可以很好地优化`WHERE IN`但在许多情况下`WHERE EXISTS`会好得多. - -在 Rails 中,您必须通过创建 SQL 片段来使用它: - -``` -Project.where('EXISTS (?)', User.select(1).where('projects.creator_id = users.id AND users.foo = X')) -``` - -然后,将按照以下内容生成查询: - -``` -SELECT * -FROM projects -WHERE EXISTS ( - SELECT 1 - FROM users - WHERE projects.creator_id = users.id - AND users.foo = X -) -``` - -## `.find_or_create_by` is not atomic[](#find_or_create_by-is-not-atomic "Permalink") - -`.find_or_create_by`和`.first_or_create`等方法的固有模式是它们不是原子的. 这意味着,它首先运行`SELECT` ,如果没有结果,则执行`INSERT` . 考虑到并发过程,因此存在竞争条件,这可能导致尝试插入两个相似的记录. 例如,这可能是不希望的,或者可能由于约束冲突而导致查询之一失败. - -使用事务不能解决此问题. - -为了解决这个问题,我们添加了`ApplicationRecord.safe_find_or_create_by` . - -可以像平常的`find_or_create_by`一样使用此方法,但是它将调用包装在*新*事务中,如果由于`ActiveRecord::RecordNotUnique`错误而失败,则将重试. - -为了能够使用此方法,请确保要在其上使用的模型继承自`ApplicationRecord` . \ No newline at end of file diff --git a/docs/624.md b/docs/624.md deleted file mode 100644 index fd065b1..0000000 --- a/docs/624.md +++ /dev/null @@ -1,431 +0,0 @@ -# Vue.js style guide - -> 原文:[https://docs.gitlab.com/ee/development/fe_guide/style/vue.html](https://docs.gitlab.com/ee/development/fe_guide/style/vue.html) - -* [Linting](#linting) -* [Basic Rules](#basic-rules) -* [Naming](#naming) -* [Alignment](#alignment) -* [Quotes](#quotes) -* [Props](#props) -* [Data](#data) -* [Directives](#directives) -* [Closing tags](#closing-tags) -* [Component usage within templates](#component-usage-within-templates) -* [Ordering](#ordering) -* [`:key`](#key) -* [Vue and Bootstrap](#vue-and-bootstrap) -* [The JavaScript/Vue Accord](#the-javascriptvue-accord) - -# Vue.js style guide[](#vuejs-style-guide "Permalink") - -## Linting[](#linting "Permalink") - -我们默认为[eslint-vue-plugin](https://github.com/vuejs/eslint-plugin-vue) ,其`plugin:vue/recommended` . 请检查此[规则](https://github.com/vuejs/eslint-plugin-vue#bulb-rules)以获取更多文档. - -## Basic Rules[](#basic-rules "Permalink") - -1. 该服务具有自己的文件 -2. 商店有自己的文件 -3. 使用捆绑文件中的函数实例化 Vue 组件: - - ``` - // bad - class { - init() { - new Component({}) - } - } - - // good - document.addEventListener('DOMContentLoaded', () => new Vue({ - el: '#element', - components: { - componentName - }, - render: createElement => createElement('component-name'), - })); - ``` - -4. 不要将单例用于服务或商店 - - ``` - // bad - class Store { - constructor() { - if (!this.prototype.singleton) { - // do something - } - } - } - - // good - class Store { - constructor() { - // do something - } - } - ``` - -5. 将`.vue`用于 Vue 模板. 不要在 HAML 中使用`%template` . - -## Naming[](#naming "Permalink") - -1. **扩展名** :对 Vue 组件使用`.vue`扩展名. 不要将`.js`用作文件扩展名( [#34371](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/34371) ). -2. **参考命名** :将 PascalCase 用于其实例: - - ``` - // bad - import cardBoard from 'cardBoard.vue' - - components: { - cardBoard, - }; - - // good - import CardBoard from 'cardBoard.vue' - - components: { - CardBoard, - }; - ``` - -3. **道具命名:**避免使用 DOM 组件道具名称. -4. **道具命名:**使用 kebab-case 代替 camelCase 在模板中提供道具. - - ``` - // bad - <component class="btn"> - - // good - <component css-class="btn"> - - // bad - <component myProp="prop" /> - - // good - <component my-prop="prop" /> - ``` - -## Alignment[](#alignment "Permalink") - -1. 对于模板方法,请遵循以下对齐方式: - - 1. 具有多个属性,所有属性都应换行: - - ``` - // bad - <component v-if="bar" - param="baz" /> - - <button class="btn">Click me</button> - - // good - <component - v-if="bar" - param="baz" - /> - - <button class="btn"> - Click me - </button> - ``` - - 2. 如果只有一个属性,则标签可以是内联的: - - ``` - // good - <component bar="bar" /> - - // good - <component - bar="bar" - /> - - // bad - <component - bar="bar" /> - ``` - -## Quotes[](#quotes "Permalink") - -1. 对于所有其他 JS,请始终在模板内使用双引号`"`在模板内使用单引号`'` . - - ``` - // bad - template: ` - <button :class='style'>Button</button> - ` - - // good - template: ` - <button :class="style">Button</button> - ` - ``` - -## Props[](#props "Permalink") - -1. 道具应声明为对象 - - ``` - // bad - props: ['foo'] - - // good - props: { - foo: { - type: String, - required: false, - default: 'bar' - } - } - ``` - -2. 声明道具时应始终提供必需的钥匙 - - ``` - // bad - props: { - foo: { - type: String, - } - } - - // good - props: { - foo: { - type: String, - required: false, - default: 'bar' - } - } - ``` - -3. 如果不需要道具,则应提供默认密钥. *注意:*在某些情况下,我们需要检查属性的存在. 在这些上,不应提供默认密钥. - - ``` - // good - props: { - foo: { - type: String, - required: false, - } - } - - // good - props: { - foo: { - type: String, - required: false, - default: 'bar' - } - } - - // good - props: { - foo: { - type: String, - required: true - } - } - ``` - -## Data[](#data "Permalink") - -1. `data`方法应始终是一个函数 - - ``` - // bad - data: { - foo: 'foo' - } - - // good - data() { - return { - foo: 'foo' - }; - } - ``` - -## Directives[](#directives "Permalink") - -1. 速记`@`优先于`v-on` - - ``` - // bad - <component v-on:click="eventHandler"/> - - // good - <component @click="eventHandler"/> - ``` - -2. 速记`:`优于`v-bind` - - ``` - // bad - <component v-bind:class="btn"/> - - // good - <component :class="btn"/> - ``` - -3. Shorthand `#` is preferable over `v-slot` - - ``` - // bad - <template v-slot:header></template> - - // good - <template #header></template> - ``` - -## Closing tags[](#closing-tags "Permalink") - -1. 首选自闭合组件标签 - - ``` - // bad - <component></component> - - // good - <component /> - ``` - -## Component usage within templates[](#component-usage-within-templates "Permalink") - -1. 在模板中使用组件时,将组件的 kebab 命名的名称优先于其他样式 - - ``` - // bad - <MyComponent /> - - // good - <my-component /> - ``` - -## Ordering[](#ordering "Permalink") - -1. `.vue`文件中的标记顺序 - - ``` - <script> - // ... - </script> - - <template> - // ... - </template> - - // We don't use scoped styles but there are few instances of this - <style> - // ... - </style> - ``` - -2. Vue 组件中[的属性](https://github.com/vuejs/eslint-plugin-vue/blob/master/docs/rules/order-in-components.md) :检查[组件 rule 中的属性顺序](https://github.com/vuejs/eslint-plugin-vue/blob/master/docs/rules/order-in-components.md) . - -## `:key`[](#key "Permalink") - -使用`v-for`您需要为每个项目提供*唯一的* `:key`属性. - -1. 如果要迭代的数组元素具有唯一的`id` ,则建议使用它: - - ``` - <div - v-for="item in items" - :key="item.id" - > - <!-- content --> - </div> - ``` - -2. 当要迭代的元素没有唯一 ID 时,可以将数组索引用作`:key`属性 - - ``` - <div - v-for="(item, index) in items" - :key="index" - > - <!-- content --> - </div> - ``` - -3. 当将`v-for`与`template`并且有多个子元素时, `:key`值必须唯一. 建议使用`kebab-case`名称空间. - - ``` - <template v-for="(item, index) in items"> - <span :key="`span-${index}`"></span> - <button :key="`button-${index}`"></button> - </template> - ``` - -4. 处理嵌套`v-for`使用与上述相同的准则. - - ``` - <div - v-for="item in items" - :key="item.id" - > - <span - v-for="element in array" - :key="element.id" - > - <!-- content --> - </span> - </div> - ``` - -有用的链接: - -1. [`key`](https://vuejs.org/v2/guide/list.html#key) -2. [Vue Style Guide: Keyed v-for](https://vuejs.org/v2/style-guide/#Keyed-v-for-essential) - -## Vue and Bootstrap[](#vue-and-bootstrap "Permalink") - -1. 工具提示:请勿依赖 Vue 组件的`has-tooltip`类名称 - - ``` - // bad - <span - class="has-tooltip" - title="Some tooltip text"> - Text - </span> - - // good - <span - v-tooltip - title="Some tooltip text"> - Text - </span> - ``` - -2. 工具提示:使用工具提示时,请包含工具提示指令`./app/assets/javascripts/vue_shared/directives/tooltip.js` - -3. 不要更改`data-original-title` . - - ``` - // bad - <span data-original-title="tooltip text">Foo</span> - - // good - <span title="tooltip text">Foo</span> - - $('span').tooltip('_fixTitle'); - ``` - -## The JavaScript/Vue Accord[](#the-javascriptvue-accord "Permalink") - -该协议的目的是确保我们都在同一页面上. - -1. 编写 Vue 时,您可能无法在应用程序中使用 jQuery. - 1. 如果您需要从 DOM 抓取数据,则可以在引导应用程序以使用`dataset`抓取数据属性时查询 DOM 1 次. 您可以在没有 jQuery 的情况下执行此操作. - 2. 您可以[按照 docs 中的此示例](https://vuejs.org/v2/examples/select2.html)在 Vue.js 中使用 jQuery 依赖关系. - 3. 如果需要在 Vue 应用程序内部侦听外部 jQuery 事件,则可以使用 jQuery 事件侦听器. - 4. 我们将避免在不需要时添加新的 jQuery 事件. 与其添加新的 jQuery 事件,不如看看[执行相同任务的不同方法](https://vuejs.org/v2/api/#vm-emit) . -2. 您可以一次引导`window`对象,同时引导您的应用程序以获取应用程序特定的数据(例如, `scrollTo`可以随时访问). 在应用程序引导期间执行此访问. -3. 您可能会临时需要立即但不符合我们标准的代码来编写技术债,以备以后重构. 维护人员首先要对技术债务保持满意. 应该为该技术债务创建一个问题,以便对其进行进一步评估和讨论. 在接下来的几个月中,您应该解决该技术债务,其优先级由维护者确定. -4. 在产生技术债务时,您必须事先为该代码编写测试,并且这些测试可能不会被重写. 例如,将 jQuery 测试重写为 Vue 测试. -5. 您可以选择将 VueX 用作集中式状态管理. 如果选择不使用 VueX,则必须使用可以在[Vue.js 文档中](https://vuejs.org/v2/guide/state-management.html#Simple-State-Management-from-Scratch)找到的*存储模式* . -6. 选择集中式状态管理解决方案后,必须将其用于整个应用程序. 即不要混淆并匹配您的状态管理解决方案. \ No newline at end of file diff --git a/docs/625.md b/docs/625.md deleted file mode 100644 index 68e84e9..0000000 --- a/docs/625.md +++ /dev/null @@ -1,141 +0,0 @@ -# Instrumenting Ruby code - -> 原文:[https://docs.gitlab.com/ee/development/instrumentation.html](https://docs.gitlab.com/ee/development/instrumentation.html) - -* [Instrumenting Methods](#instrumenting-methods) - * [Examples](#examples) - * [Checking Instrumented Methods](#checking-instrumented-methods) -* [Instrumenting Ruby Blocks](#instrumenting-ruby-blocks) -* [Tracking Custom Events](#tracking-custom-events) - -# Instrumenting Ruby code[](#instrumenting-ruby-code "Permalink") - -[GitLab Performance Monitoring](../administration/monitoring/performance/index.html)可以检测 Ruby 代码的方法和自定义块. 方法检测是基于块的检测的主要检测形式,仅当我们想深入到方法中特定代码区域时才使用. - -如果要跟踪产品使用模式,请参考[遥测](telemetry/index.html) . - -## Instrumenting Methods[](#instrumenting-methods "Permalink") - -使用`Gitlab::Metrics::Instrumentation`模块可以完成检测方法. 该模块提供了几种可用于检测代码的方法: - -* `instrument_method` :检测单个类方法. -* `instrument_instance_method` :检测单个实例方法. -* `instrument_class_hierarchy` :给定一个 Class,此方法将递归地检测所有子类(类方法和实例方法). -* `instrument_methods` :检测模块的所有公共和私有类方法. -* `instrument_instance_methods` :检测模块的所有公共和私有实例方法. - -为了消除键入完整的`Gitlab::Metrics::Instrumentation`命名空间的需要,您可以使用`configure`类方法. 通过传递`Gitlab::Metrics::Instrumentation`作为其参数时,此方法仅产生提供的块. 一个例子: - -``` -Gitlab::Metrics::Instrumentation.configure do |conf| - conf.instrument_method(Foo, :bar) - conf.instrument_method(Foo, :baz) -end -``` - -通常,使用此方法优于直接调用各种检测方法. - -方法检测应添加到初始化程序`config/initializers/zz_metrics.rb` . - -### Examples[](#examples "Permalink") - -检测单个方法: - -``` -Gitlab::Metrics::Instrumentation.configure do |conf| - conf.instrument_method(User, :find_by) -end -``` - -检测整个类的层次结构: - -``` -Gitlab::Metrics::Instrumentation.configure do |conf| - conf.instrument_class_hierarchy(ActiveRecord::Base) -end -``` - -检测所有公共类方法: - -``` -Gitlab::Metrics::Instrumentation.configure do |conf| - conf.instrument_methods(User) -end -``` - -### Checking Instrumented Methods[](#checking-instrumented-methods "Permalink") - -检查一种方法是否已被检测的最简单方法是检查其源位置. 例如: - -``` -method = Banzai::Renderer.method(:render) - -method.source_location -``` - -如果源位置指向`lib/gitlab/metrics/instrumentation.rb` ,则说明该方法已经过检测. - -如果使用的是 Pry,则可以使用`$`命令显示方法的源代码(及其源位置),这比运行上面的 Ruby 代码容易. 如果是上述片段,请运行以下代码: - -* `$ Banzai::Renderer.render` - -这将打印出以下内容: - -``` -From: /path/to/your/gitlab/lib/gitlab/metrics/instrumentation.rb @ line 148: -Owner: #<Module:0x0055f0865c6d50> -Visibility: public -Number of lines: 21 - -def #{name}(#{args_signature}) - if trans = Gitlab::Metrics::Instrumentation.transaction - trans.measure_method(#{label.inspect}) { super } - else - super - end -end -``` - -## Instrumenting Ruby Blocks[](#instrumenting-ruby-blocks "Permalink") - -通过调用`Gitlab::Metrics.measure`并将其传递给块来完成对 Ruby 代码块的测量. 例如: - -``` -Gitlab::Metrics.measure(:foo) do - ... -end -``` - -执行该块并将执行时间存储为当前运行的事务中的一组字段. 如果不存在事务,则不进行任何测量就产生该块. - -测量一个块的三个值: - -* 经过的实时时间,存储在`NAME_real_time` . -* The CPU time elapsed, stored in `NAME_cpu_time`. -* 通话次数,存储在`NAME_call_count` . - -实时和 CPU 计时均以毫秒为单位. - -多次调用同一块将导致最终值是所有单个值的总和. 以下面的代码为例: - -``` -3.times do - Gitlab::Metrics.measure(:sleep) do - sleep 1 - end -end -``` - -在这里, `sleep_real_time`的最终值为`3` , *而不是* `1` . - -## Tracking Custom Events[](#tracking-custom-events "Permalink") - -除了检测代码,GitLab Performance Monitoring 还支持跟踪自定义事件. 这主要用于跟踪业务指标,例如 Git 推送数,存储库导入等. - -要跟踪自定义事件,只需调用`Gitlab::Metrics.add_event`传递事件名称和一组自定义(可选)标签. 例如: - -``` -Gitlab::Metrics.add_event(:user_login, email: current_user.email) -``` - -事件名称应为动词,例如`push_repository`和`remove_branch` . \ No newline at end of file diff --git a/docs/626.md b/docs/626.md deleted file mode 100644 index 2102163..0000000 --- a/docs/626.md +++ /dev/null @@ -1,67 +0,0 @@ -# Testing standards and style guidelines - -> 原文:[https://docs.gitlab.com/ee/development/testing_guide/](https://docs.gitlab.com/ee/development/testing_guide/) - -* [Overview](#overview) -* [Testing levels](#testing-levels) -* [Testing best practices](#testing-best-practices) -* [Frontend testing standards and style guidelines](#frontend-testing-standards-and-style-guidelines) -* [Flaky tests](#flaky-tests) -* [GitLab tests in the Continuous Integration (CI) context](#gitlab-tests-in-the-continuous-integration-ci-context) -* [Review apps](#review-apps) -* [Testing Rake tasks](#testing-rake-tasks) -* [End-to-end tests](#end-to-end-tests) -* [Migrations tests](#migrations-tests) - -# Testing standards and style guidelines[](#testing-standards-and-style-guidelines "Permalink") - -本文档介绍了自动测试 GitLab 项目的各种指南和最佳实践. - -它是对[Thoughtbot 测试风格指南](https://github.com/thoughtbot/guides/tree/master/style/testing)的*扩展* . 如果本指南定义的规则与 Thoughtbot 指南相抵触,则以本指南为准. 可能会逐字重复某些准则以强调其重要性. - -## Overview[](#overview "Permalink") - -GitLab 建立在[Ruby on Rails](https://rubyonrails.org/)之上,并且我们将[RSpec](https://github.com/rspec/rspec-rails#feature-specs)用于所有后端测试,而[Capybara](https://github.com/teamcapybara/capybara)用于端到端集成测试. 在前端,我们将[Jest](https://jestjs.io/)和[Karma](http://karma-runner.github.io/) / [Jasmine](https://jasmine.github.io/)用于 JavaScript 单元和集成测试. - -以下是两篇很棒的文章,每个人都应该阅读它们,以了解自动化测试的含义以及其原理是什么: - -* [五因素测试](https://madeintandem.com/blog/five-factor-testing/) :为什么我们需要测试? -* [自动化测试的原则:测试](https://www.lihaoyi.com/post/PrinciplesofAutomatedTesting.html)级别. 确定测试的优先级. 测试费用. - -## [Testing levels](testing_levels.html)[](#testing-levels "Permalink") - -Learn about the different testing levels, and how to decide at what level your changes should be tested. - -## [Testing best practices](best_practices.html)[](#testing-best-practices "Permalink") - -关于编写良好测试的所有知识,包括:测试设计,RSpec,FactoryBot,系统测试,参数化测试等. - -## [Frontend testing standards and style guidelines](frontend_testing.html)[](#frontend-testing-standards-and-style-guidelines "Permalink") - -您应该知道的有关如何编写良好的前端测试的所有知识:业力,测试承诺,存根等. - -## [Flaky tests](flaky_tests.html)[](#flaky-tests "Permalink") - -什么是片状测试,我们遇到的不同类型的片状测试,以及我们如何处理它们. - -## [GitLab tests in the Continuous Integration (CI) context](ci.html)[](#gitlab-tests-in-the-continuous-integration-ci-context "Permalink") - -GitLab 测试套件如何在 CI 上下文中运行:设置,缓存,工件,并行化,监视. - -## [Review apps](review_apps.html)[](#review-apps "Permalink") - -如何为 GitLab CE / EE 设置评论应用程序以及如何使用它们. - -## [Testing Rake tasks](testing_rake_tasks.html)[](#testing-rake-tasks "Permalink") - -您应该了解的有关如何测试 Rake 任务的所有知识. - -## [End-to-end tests](end_to_end/index.html)[](#end-to-end-tests "Permalink") - -您应该了解有关如何使用[GitLab QA](https://gitlab.com/gitlab-org/gitlab-qa)测试框架进行端到端测试的所有知识. - -## [Migrations tests](testing_migrations_guide.html)[](#migrations-tests "Permalink") - -您应该了解的有关如何测试迁移的一切. - -[Return to Development documentation](../README.html) \ No newline at end of file diff --git a/docs/627.md b/docs/627.md deleted file mode 100644 index cda06bf..0000000 --- a/docs/627.md +++ /dev/null @@ -1,120 +0,0 @@ -# Flaky tests - -> 原文:[https://docs.gitlab.com/ee/development/testing_guide/flaky_tests.html](https://docs.gitlab.com/ee/development/testing_guide/flaky_tests.html) - -* [What’s a flaky test?](#whats-a-flaky-test) -* [Quarantined tests](#quarantined-tests) - * [Quarantine tests on the CI](#quarantine-tests-on-the-ci) -* [Automatic retries and flaky tests detection](#automatic-retries-and-flaky-tests-detection) -* [Problems we had in the past at GitLab](#problems-we-had-in-the-past-at-gitlab) - * [Time-sensitive flaky tests](#time-sensitive-flaky-tests) - * [Array order expectation](#array-order-expectation) - * [Feature tests](#feature-tests) - * [Capybara viewport size related issues](#capybara-viewport-size-related-issues) - * [Capybara JS driver related issues](#capybara-js-driver-related-issues) - * [PhantomJS / WebKit related issues](#phantomjs--webkit-related-issues) - * [Capybara expectation times out](#capybara-expectation-times-out) -* [Resources](#resources) - -# Flaky tests[](#flaky-tests "Permalink") - -## What’s a flaky test?[](#whats-a-flaky-test "Permalink") - -这个测试有时会失败,但是如果您重试了多次,它最终会通过. - -## Quarantined tests[](#quarantined-tests "Permalink") - -当`master`的测试频繁失败时,应创建[〜" master:broken"问题](https://about.gitlab.com/handbook/engineering/workflow/#broken-master) . 如果无法及时修复测试,则会影响所有开发人员的工作效率,因此应通过分配`:quarantine`元数据将其放入隔离`:quarantine` . - -这意味着除非使用`--tag quarantine`运行,否则它将被跳过: - -``` -bin/rspec --tag quarantine -``` - -**在对隔离进行测试之前,应确保存在〜" master:broken"问题,这样它才不会永远留在隔离区.** - -Once a test is in quarantine, there are 3 choices: - -* 测试应该固定(即摆脱其脆弱性)吗? -* 是否应将测试移至较低级别的测试? -* 是否应该完全删除该测试(例如,因为已经有一个较低级别的测试,或者它正在复制另一个相同级别的测试,或者它测试的太多等等)? - -### Quarantine tests on the CI[](#quarantine-tests-on-the-ci "Permalink") - -隔离测试在允许失败的专用作业中在 CI 上运行: - -* `rspec-pg-quarantine` (CE 和 EE) -* `rspec-pg-quarantine-ee` (仅适用于 EE) - -## Automatic retries and flaky tests detection[](#automatic-retries-and-flaky-tests-detection "Permalink") - -在 CI 上,我们使用[RSpec :: Retry](https://github.com/NoRedInk/rspec-retry)自动重试失败的示例几次(有关准确的重试次数,请参阅[`spec/spec_helper.rb`](https://gitlab.com/gitlab-org/gitlab/blob/master/spec/spec_helper.rb) ). - -我们还使用自制的`RspecFlaky::Listener`侦听`RspecFlaky::Listener` ,该`RspecFlaky::Listener`将`RspecFlaky::Listener`示例记录在`master`上的 JSON 报告文件中( `retrieve-tests-metadata`和`update-tests-metadata`作业). - -这最初是在以下[网址中](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13021)实现的: [https](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13021) : [//gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13021](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13021) . - -如果要在本地启用重试,则可以使用`RETRIES`环境变量. 例如`RETRIES=1 bin/rspec ...`将重试失败的示例一次. - -## Problems we had in the past at GitLab[](#problems-we-had-in-the-past-at-gitlab "Permalink") - -* [`rspec-retry` is biting us when some API specs fail](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/29242): [https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/9825](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/9825) -* [Sporadic RSpec failures due to `PG::UniqueViolation`](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/28307#note_24958837): [https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/9846](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/9846) - * Follow-up: [https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/10688](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/10688) - * [Capybara.reset_session! should be called before requests are blocked](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/33779): [https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/12224](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/12224) -* FFaker 生成测试尚未准备就绪的时髦数据(测试应该是可预测的,所以很糟糕!): - * [使`spec/mailers/notify_spec.rb`更加健壮](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/20121) : [https](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/10015) : [`spec/mailers/notify_spec.rb`](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/20121) - * [`spec/requests/api/commits_spec.rb`暂时失败](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/27988#note_25342521) : [https](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/9944) : [`spec/requests/api/commits_spec.rb`](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/27988#note_25342521) - * [用序列替换 FFaker 工厂数据](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/29643) : [https](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/10184) : [//gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/10184](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/29643) - * [spec / finders / issues_finder_spec.rb 中的暂时失败](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/30211#note_26707685) : [https](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/10404) : [//gitlab.com/gitlab-org/gitlab-foss/-//merge_requests/10404](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/30211#note_26707685) - -### Time-sensitive flaky tests[](#time-sensitive-flaky-tests "Permalink") - -* [https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/10046](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/10046) -* [https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/10306](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/10306) - -### Array order expectation[](#array-order-expectation "Permalink") - -* [https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/10148](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/10148) - -### Feature tests[](#feature-tests "Permalink") - -* [Be sure to create all the data the test need before starting exercise](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/32622#note_31128195): [https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/12059](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/12059) -* [Bis](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/34609#note_34048715): [https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/12604](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/12604) -* [Bis](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/34698#note_34276286): [https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/12664](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/12664) -* [Assert against the underlying database state instead of against a page’s content](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/31437): [https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/10934](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/10934) -* 在 JS 测试中,当元素在 Capybara 发送点击的确切时间移动时,移动元素会导致 Capybara 误点击 - * [由于窗口大小和滚动位置,下拉菜单向上或向下渲染](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/17660) - * [延迟加载的图像可能导致水豚误点击](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/18713) -* [Triggering JS events before the event handlers are set up](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/18742) -* [Wait for the image to be lazy-loaded when asserting on a Markdown image’s `src` attribute](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/25408) - -#### Capybara viewport size related issues[](#capybara-viewport-size-related-issues "Permalink") - -* [Transient failure of spec/features/issues/filtered_search/filter_issues_spec.rb](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/29241#note_26743936): [https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/10411](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/10411) - -#### Capybara JS driver related issues[](#capybara-js-driver-related-issues "Permalink") - -* [Don’t wait for AJAX when no AJAX request is fired](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/30461): [https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/10454](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/10454) -* [Bis](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/34647): [https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/12626](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/12626) - -#### PhantomJS / WebKit related issues[](#phantomjs--webkit-related-issues "Permalink") - -* 记忆在屋顶! (TL; DR:加载图像但阻止图像请求!): [https](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/12003) : [//gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/12003](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/12003) - -#### Capybara expectation times out[](#capybara-expectation-times-out "Permalink") - -* [Test imports a project (via Sidekiq) that is growing over time, leading to timeouts when the import takes longer than 60 seconds](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/22599) - -## Resources[](#resources "Permalink") - -* [Flaky Tests: Are You Sure You Want to Rerun Them?](https://semaphoreci.com/blog/2017/04/20/flaky-tests.html) -* [How to Deal With and Eliminate Flaky Tests](https://semaphoreci.com/community/tutorials/how-to-deal-with-and-eliminate-flaky-tests) -* [Tips on Treating Flakiness in your Rails Test Suite](https://semaphoreci.com/blog/2017/08/03/tips-on-treating-flakiness-in-your-test-suite.html) -* [‘Flaky’ tests: a short story](https://www.ombulabs.com/blog/rspec/continuous-integration/how-to-track-down-a-flaky-test.html) -* [Using Insights to Discover Flaky, Slow, and Failed Tests](https://s0circleci0com.icopy.site/blog/using-insights-to-discover-flaky-slow-and-failed-tests/) - -* * * - -[Return to Testing documentation](index.html) \ No newline at end of file diff --git a/docs/628.md b/docs/628.md deleted file mode 100644 index a297682..0000000 --- a/docs/628.md +++ /dev/null @@ -1,940 +0,0 @@ -# Frontend testing standards and style guidelines - -> 原文:[https://docs.gitlab.com/ee/development/testing_guide/frontend_testing.html](https://docs.gitlab.com/ee/development/testing_guide/frontend_testing.html) - -* [Vue.js testing](#vuejs-testing) -* [Jest](#jest) -* [Karma test suite](#karma-test-suite) - * [When should I use Jest over Karma?](#when-should-i-use-jest-over-karma) - * [Differences to Karma](#differences-to-karma) - * [Limitations of jsdom](#limitations-of-jsdom) - * [Debugging Jest tests](#debugging-jest-tests) - * [Timeout error](#timeout-error) -* [What and how to test](#what-and-how-to-test) - * [Don’t test the library](#dont-test-the-library) - * [Don’t test your mock](#dont-test-your-mock) - * [Follow the user](#follow-the-user) -* [Common practices](#common-practices) - * [How to query DOM elements](#how-to-query-dom-elements) - * [Naming unit tests](#naming-unit-tests) - * [Testing promises](#testing-promises) - * [Manipulating Time](#manipulating-time) - * [`setTimeout()` / `setInterval()` in application](#settimeout--setinterval-in-application) - * [Waiting in tests](#waiting-in-tests) - * [Promises and Ajax calls](#promises-and-ajax-calls) - * [Vue rendering](#vue-rendering) - * [Events](#events) - * [Ensuring that tests are isolated](#ensuring-that-tests-are-isolated) - * [Jest best practices](#jest-best-practices) - * [Prefer `toBe` over `toEqual` when comparing primitive values](#prefer-tobe-over-toequal-when-comparing-primitive-values) - * [Prefer more befitting matchers](#prefer-more-befitting-matchers) - * [Avoid using `toBeTruthy` or `toBeFalsy`](#avoid-using-tobetruthy-or-tobefalsy) - * [Tricky `toBeDefined` matcher](#tricky-tobedefined-matcher) - * [Avoid using `setImmediate`](#avoid-using-setimmediate) -* [Factories](#factories) -* [Mocking Strategies with Jest](#mocking-strategies-with-jest) - * [Stubbing and Mocking](#stubbing-and-mocking) - * [Manual module mocks](#manual-module-mocks) - * [Where should I put manual mocks?](#where-should-i-put-manual-mocks) - * [Manual mock examples](#manual-mock-examples) - * [Keep mocks light](#keep-mocks-light) - * [Additional mocking techniques](#additional-mocking-techniques) -* [Running Frontend Tests](#running-frontend-tests) - * [Live testing and focused testing – Jest](#live-testing-and-focused-testing----jest) - * [Live testing and focused testing – Karma](#live-testing-and-focused-testing----karma) -* [Frontend test fixtures](#frontend-test-fixtures) -* [Data-driven tests](#data-driven-tests) -* [Gotchas](#gotchas) - * [RSpec errors due to JavaScript](#rspec-errors-due-to-javascript) -* [Overview of Frontend Testing Levels](#overview-of-frontend-testing-levels) -* [Test helpers](#test-helpers) - * [Vuex Helper: `testAction`](#vuex-helper-testaction) - * [Wait until Axios requests finish](#wait-until-axios-requests-finish) -* [Testing with older browsers](#testing-with-older-browsers) - * [BrowserStack](#browserstack) - * [Firefox](#firefox) - * [macOS](#macos) - -# Frontend testing standards and style guidelines[](#frontend-testing-standards-and-style-guidelines "Permalink") - -在 GitLab 上开发前端代码时,会遇到两种测试套件. 我们将 Karma 与 Jasmine 和 Jest 一起用于 JavaScript 单元和集成测试,将 RSpec 功能测试与 Capybara 一起用于 e2e(端对端)集成测试. - -需要为所有新功能编写单元和功能测试. 大多数时候,您应该使用[RSpec](https://github.com/rspec/rspec-rails#feature-specs)进行功能测试. - -应该编写回归测试来修复错误,以防止将来再次发生. - -See the [Testing Standards and Style Guidelines](index.html) page for more information on general testing practices at GitLab. - -## Vue.js testing[](#vuejs-testing "Permalink") - -如果您正在寻找有关 Vue 组件测试的指南,则可以立即跳至本[部分](../fe_guide/vue.html#testing-vue-components) . - -## Jest[](#jest "Permalink") - -我们已经开始将前端测试迁移到[Jest](https://jestjs.io)测试框架(另请参见相应的[epic](https://gitlab.com/groups/gitlab-org/-/epics/895) ). - -开玩笑的测试可以在 EE 的`/spec/frontend`和`/ee/spec/frontend`中找到. - -> **Note:** -> -> 大多数示例都有 Jest 和 Karma 示例. 如果您在发现过程中偶然发现了一些用例,请仅参阅 Karma 示例以解释代码中发生的事情. 开玩笑的例子是您应该遵循的例子. - -## Karma test suite[](#karma-test-suite "Permalink") - -当 GitLab 切换到[Jest 时,](https://jestjs.io)您仍然会在我们的应用程序中找到 Karma 测试. [Karma](http://karma-runner.github.io/)是使用[Jasmine](https://jasmine.github.io/)作为测试框架的测试运行程序. Jest 还使用 Jasmine 作为基础,这就是为什么它看起来非常相似的原因. - -业力测试存在于`/ee/spec/javascripts`中的`spec/javascripts/`和`/ee/spec/javascripts`中. - -`app/assets/javascripts/behaviors/autosize.js`可能具有相应的`spec/javascripts/behaviors/autosize_spec.js`文件. - -请记住,在 CI 环境中,这些测试是在无头浏览器中运行的,您将无权访问某些必须进行存根的 API,例如[`Notification`](https://s0developer0mozilla0org.icopy.site/en-US/docs/Web/API/notification) . - -### When should I use Jest over Karma?[](#when-should-i-use-jest-over-karma "Permalink") - -如果您需要更新现有的 Karma 测试文件(可在`spec/javascripts`找到),则无需将整个规范迁移到 Jest. 只需更新 Karma 规范以测试您的更改就可以了. 在单独的合并请求中迁移到 Jest 可能更合适. - -如果创建新的测试文件,则需要在 Jest 中创建它. 这将有助于支持我们的迁移,我们认为您会喜欢使用 Jest. - -与往常一样,请谨慎使用. Jest 解决了我们在 Karma 中遇到的许多问题,并提供了更好的开发人员体验,但是可能会出现潜在的意外问题(尤其是针对浏览器特定功能进行测试). - -### Differences to Karma[](#differences-to-karma "Permalink") - -* Jest 在 Node.js 环境中运行,而不是在浏览器中. 运行在浏览器中测试玩笑支持[计划](https://gitlab.com/gitlab-org/gitlab/-/issues/26982) . -* 由于 Jest 在 Node.js 环境中运行,因此默认情况下它使用[jsdom](https://github.com/jsdom/jsdom) . 另请参见下面的[限制](#limitations-of-jsdom) . -* Jest 无权访问 Webpack 加载程序或别名. Jest 使用的别名是在其[自己的配置](https://gitlab.com/gitlab-org/gitlab/blob/master/jest.config.js)中定义的. -* 对`setTimeout`和`setInterval`所有调用都被模拟掉了. 另请参阅[Jest Timer Mocks](https://jestjs.io/docs/en/timer-mocks) . -* `rewire`不需要因为玩笑支撑嘲笑模块. 另请参见" [手动模拟"](https://jestjs.io/docs/en/manual-mocks) . -* 没有[上下文对象](https://jasmine.github.io/tutorials/your_first_suite#section-The_<code>this</code>_keyword)传递给 Jest 中的测试. 这意味着`this.something`在`beforeEach()`和`it()`之间共享`this.something`不起作用. 相反,您应该在需要共享变量的上下文中声明它们(通过`const` / `let` ). -* 以下将导致测试在 Jest 中失败: - * 未模拟的请求. - * 未处理的承诺拒绝. - * 调用`console.warn` ,包括来自 Vue 之类的库的警告. - -### Limitations of jsdom[](#limitations-of-jsdom "Permalink") - -[如上所述](#differences-to-karma) ,Jest 使用 jsdom 而不是浏览器来运行测试. 这有很多限制,即: - -* [No scrolling support](https://github.com/jsdom/jsdom/blob/15.1.1/lib/jsdom/browser/Window.js#L623-L625) -* [No element sizes or positions](https://github.com/jsdom/jsdom/blob/15.1.1/lib/jsdom/living/nodes/Element-impl.js#L334-L371) -* 一般[没有版面设计引擎](https://github.com/jsdom/jsdom/issues/1322) - -另请参阅有关[在浏览器中运行 Jest 测试的支持](https://gitlab.com/gitlab-org/gitlab/-/issues/26982)问题. - -### Debugging Jest tests[](#debugging-jest-tests "Permalink") - -运行`yarn jest-debug`将在调试模式下运行 Jest,从而允许您按照[Jest docs](https://jestjs.io/docs/en/troubleshooting#tests-are-failing-and-you-don-t-know-why)中的说明进行调试/检查. - -### Timeout error[](#timeout-error "Permalink") - -Jest 的默认超时是在[`/spec/frontend/test_setup.js`](https://gitlab.com/gitlab-org/gitlab/blob/master/spec/frontend/test_setup.js)设置的. - -如果您的测试超过该时间,它将失败. - -如果无法提高测试性能,则可以使用[`setTestTimeout`](https://gitlab.com/gitlab-org/gitlab/blob/master/spec/frontend/helpers/timeout.js)来增加特定测试的超时时间. - -``` -import { setTestTimeout } from 'helpers/timeout'; - -describe('Component', () => { - it('does something amazing', () => { - setTestTimeout(500); - // ... - }); -}); -``` - -请记住,每个测试的性能取决于环境. - -## What and how to test[](#what-and-how-to-test "Permalink") - -在深入了解有关 Jest 特定工作流程(如模拟和间谍)的更具体细节之前,我们应该简要介绍一下使用 Jest 测试的内容. - -### Don’t test the library[](#dont-test-the-library "Permalink") - -库是任何 JavaScript 开发人员生活中不可或缺的一部分. 一般建议是不要测试库的内部,但是希望库知道它应该做什么并且自己进行测试覆盖. 一个一般的例子可能是这样的 - -``` -import { convertToFahrenheit } from 'temperatureLibrary' - -function getFahrenheit(celsius) { - return convertToFahrenheit(celsius) -} -``` - -测试我们的`getFahrenheit`函数没有任何意义,因为在其下面除了调用库函数外,什么都没有做,而且我们可以预期它正在按预期工作. (简化,我知道) - -让我们看一下 Vue 领域. Vue 是 GitLab JavaScript 代码库的关键部分. 在编写 Vue 组件规范时,通常的陷阱是最终测试 Vue 提供的功能,因为这似乎是最容易测试的事情. 这是取自我们代码库的示例. - -``` -// Component -{ - computed: { - hasMetricTypes() { - return this.metricTypes.length; - }, -} -``` - -这是相应的规格 - -``` - describe('computed', () => { - describe('hasMetricTypes', () => { - it('returns true if metricTypes exist', () => { - factory({ metricTypes }); - expect(wrapper.vm.hasMetricTypes).toBe(2); - }); - - it('returns true if no metricTypes exist', () => { - factory(); - expect(wrapper.vm.hasMetricTypes).toBe(0); - }); - }); -}); -``` - -测试`hasMetricTypes`计算的道具似乎是给定的,但是要测试所计算的属性是否返回`metricTypes`的长度, `metricTypes`测试 Vue 库本身. 除了将其添加到测试套件之外,这没有任何价值. 最好以用户与之交互的方式对其进行测试. 大概通过模板. - -请注意这些测试,因为它们只会使更新逻辑变得比所需的更加脆弱和乏味. 其他库也是如此. - -在[前端单元测试部分中](testing_levels.html#frontend-unit-tests)可以找到更多示例. - -### Don’t test your mock[](#dont-test-your-mock "Permalink") - -另一个常见的陷阱是规范最终验证了该模拟程序是否正常运行. 如果使用模拟,则模拟应支持测试,但不应成为测试的目标. - -**Bad:** - -``` -const spy = jest.spyOn(idGenerator, 'create') -spy.mockImplementation = () = '1234' - -expect(idGenerator.create()).toBe('1234') -``` - -**Good:** - -``` -const spy = jest.spyOn(idGenerator, 'create') -spy.mockImplementation = () = '1234' - -// Actually focusing on the logic of your component and just leverage the controllable mocks output -expect(wrapper.find('div').html()).toBe('<div id="1234">...</div>') -``` - -### Follow the user[](#follow-the-user "Permalink") - -在繁重的组件环境中,单元测试和集成测试之间的界限可能非常模糊. 最重要的准则如下: - -* 编写干净的单元测试,以孤立的方式测试复杂的逻辑部分是否具有实际价值,以防止将来被破坏 -* 否则,请尝试将规格写得尽可能接近用户的需求 - -例如,与手动调用方法并验证数据结构或计算的属性相比,使用生成的标记来触发按钮单击并验证相应更改的标记更好. 在测试通过并提供错误的安全感的同时,总是有偶然破坏用户流的机会. - -## Common practices[](#common-practices "Permalink") - -接下来,您会发现一些通用的常规做法,它们将作为我们测试套件的一部分. 如果您发现不遵循本指南的内容,最好立即进行修复. - -### How to query DOM elements[](#how-to-query-dom-elements "Permalink") - -当涉及到测试中的 DOM 元素查询时,最好以唯一且语义上为目标的元素. 有时这无法切实可行. 在这些情况下,添加测试属性以简化选择器可能是最佳选择. - -优选地,在使用`@vue/test-utils`进行组件测试时,您应该使用组件本身来查询子组件. 这有助于强制执行该组件的各个单元测试可以涵盖的特定行为. 否则,请尝试使用: - -* 语义属性(例如`name` (还验证`name`是否正确设置) -* 一个`data-testid`属性( [由`@vue/test-utils`维护者推荐](https://github.com/vuejs/vue-test-utils/issues/1498#issuecomment-610133465) ) -* Vue `ref` (如果使用`@vue/test-utils` ) - -Examples: - -``` -it('exists', () => { - // Good - wrapper.find(FooComponent); - wrapper.find('input[name=foo]'); - wrapper.find('[data-testid="foo"]'); - wrapper.find({ ref: 'foo'}); - - // Bad - wrapper.find('.js-foo'); - wrapper.find('.btn-primary'); - wrapper.find('.qa-foo-component'); - wrapper.find('[data-qa-selector="foo"]'); -}); -``` - -不建议您仅添加`.js-*`类用于测试目的. 仅当没有其他可行的选择时才这样做. - -除 QA 端到端测试外,请勿将`.qa-*`类或`data-qa-selector`属性用于任何测试. - -### Naming unit tests[](#naming-unit-tests "Permalink") - -在编写描述测试块以测试特定功能/方法时,请使用方法名称作为描述块名称. - -``` -// Good -describe('methodName', () => { - it('passes', () => { - expect(true).toEqual(true); - }); -}); - -// Bad -describe('#methodName', () => { - it('passes', () => { - expect(true).toEqual(true); - }); -}); - -// Bad -describe('.methodName', () => { - it('passes', () => { - expect(true).toEqual(true); - }); -}); -``` - -### Testing promises[](#testing-promises "Permalink") - -在测试 Promises 时,应始终确保测试是异步的并且拒绝被处理. 现在可以在测试套件中使用`async/await`语法: - -``` -it('tests a promise', async () => { - const users = await fetchUsers() - expect(users.length).toBe(42) -}); - -it('tests a promise rejection', async () => { - expect.assertions(1); - try { - await user.getUserName(1); - } catch (e) { - expect(e).toEqual({ - error: 'User with 1 not found.', - }); - } -}); -``` - -您也可以使用 Promise 链. 在这种情况下,您可以利用`done`回调和`done.fail`发生错误. 以下是一些示例: - -``` -// Good -it('tests a promise', done => { - promise - .then(data => { - expect(data).toBe(asExpected); - }) - .then(done) - .catch(done.fail); -}); - -// Good -it('tests a promise rejection', done => { - promise - .then(done.fail) - .catch(error => { - expect(error).toBe(expectedError); - }) - .then(done) - .catch(done.fail); -}); - -// Bad (missing done callback) -it('tests a promise', () => { - promise.then(data => { - expect(data).toBe(asExpected); - }); -}); - -// Bad (missing catch) -it('tests a promise', done => { - promise - .then(data => { - expect(data).toBe(asExpected); - }) - .then(done); -}); - -// Bad (use done.fail in asynchronous tests) -it('tests a promise', done => { - promise - .then(data => { - expect(data).toBe(asExpected); - }) - .then(done) - .catch(fail); -}); - -// Bad (missing catch) -it('tests a promise rejection', done => { - promise - .catch(error => { - expect(error).toBe(expectedError); - }) - .then(done); -}); -``` - -### Manipulating Time[](#manipulating-time "Permalink") - -有时我们必须测试时间敏感的代码. 例如,每隔 X 秒或类似的时间运行一次重复发生的事件. 在这里,您将找到一些应对策略: - -#### `setTimeout()` / `setInterval()` in application[](#settimeout--setinterval-in-application "Permalink") - -如果应用程序本身正在等待一段时间,请模拟等待. 在 Jest 中[,默认情况下](https://gitlab.com/gitlab-org/gitlab/blob/a2128edfee799e49a8732bfa235e2c5e14949c68/jest.config.js#L47)已[完成](https://gitlab.com/gitlab-org/gitlab/blob/a2128edfee799e49a8732bfa235e2c5e14949c68/jest.config.js#L47)此[操作](https://gitlab.com/gitlab-org/gitlab/blob/a2128edfee799e49a8732bfa235e2c5e14949c68/jest.config.js#L47) (另请参见[Jest Timer Mocks](https://jestjs.io/docs/en/timer-mocks) ). 在 Karma 中,您可以使用[Jasmine 模拟时钟](https://jasmine.github.io/api/2.9/Clock.html) . - -``` -const doSomethingLater = () => { - setTimeout(() => { - // do something - }, 4000); -}; -``` - -**在:** - -``` -it('does something', () => { - doSomethingLater(); - jest.runAllTimers(); - - expect(something).toBe('done'); -}); -``` - -**在业力中:** - -``` -it('does something', () => { - jasmine.clock().install(); - - doSomethingLater(); - jasmine.clock().tick(4000); - - expect(something).toBe('done'); - jasmine.clock().uninstall(); -}); -``` - -### Waiting in tests[](#waiting-in-tests "Permalink") - -有时,测试需要等待应用程序中的某些事情发生后才能继续. 避免使用[`setTimeout`](https://s0developer0mozilla0org.icopy.site/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout)因为它会使等待的原因不清楚,如果在 Karma 中使用的时间大于零,则会减慢我们的测试套件的速度. 而是使用以下方法之一. - -#### Promises and Ajax calls[](#promises-and-ajax-calls "Permalink") - -注册处理程序函数以等待`Promise`被解决. - -``` -const askTheServer = () => { - return axios - .get('/endpoint') - .then(response => { - // do something - }) - .catch(error => { - // do something else - }); -}; -``` - -**在:** - -``` -it('waits for an Ajax call', async () => { - await askTheServer() - expect(something).toBe('done'); -}); -``` - -**在业力中:** - -``` -it('waits for an Ajax call', done => { - askTheServer() - .then(() => { - expect(something).toBe('done'); - }) - .then(done) - .catch(done.fail); -}); -``` - -如果您无法将处理程序注册到`Promise` ,例如因为它是在同步 Vue 生命周期挂钩中执行的,请查看[waitFor](#wait-until-axios-requests-finish)帮助器,或者您可以刷新所有待处理的`Promise` : - -**在:** - -``` -it('waits for an Ajax call', () => { - synchronousFunction(); - jest.runAllTicks(); - - expect(something).toBe('done'); -}); -``` - -#### Vue rendering[](#vue-rendering "Permalink") - -要等到重新渲染 Vue 组件后,请使用等效的[`Vue.nextTick()`](https://vuejs.org/v2/api/#Vue-nextTick)或`vm.$nextTick()` . - -**在:** - -``` -it('renders something', () => { - wrapper.setProps({ value: 'new value' }); - - return wrapper.vm.$nextTick().then(() => { - expect(wrapper.text()).toBe('new value'); - }); -}); -``` - -**in Karma:** - -``` -it('renders something', done => { - wrapper.setProps({ value: 'new value' }); - - wrapper.vm - .$nextTick() - .then(() => { - expect(wrapper.text()).toBe('new value'); - }) - .then(done) - .catch(done.fail); -}); -``` - -#### Events[](#events "Permalink") - -如果应用程序触发了您需要在测试中等待的事件,请注册一个包含断言的事件处理程序: - -``` -it('waits for an event', done => { - eventHub.$once('someEvent', eventHandler); - - someFunction(); - - function eventHandler() { - expect(something).toBe('done'); - done(); - } -}); -``` - -在 Jest 中,您还可以使用`Promise` : - -``` -it('waits for an event', () => { - const eventTriggered = new Promise(resolve => eventHub.$once('someEvent', resolve)); - - someFunction(); - - return eventTriggered.then(() => { - expect(something).toBe('done'); - }); -}); -``` - -### Ensuring that tests are isolated[](#ensuring-that-tests-are-isolated "Permalink") - -测试通常以一种模式进行架构,该模式要求重复设置并破坏被测组件. 这是通过使用`beforeEach`和`afterEach`挂钩完成的. - -Example - -``` - let wrapper; - - beforeEach(() => { - wrapper = mount(Component); - }); - - afterEach(() => { - wrapper.destroy(); - }); -``` - -最初查看此内容时,您会怀疑该组件是在每次测试之前设置的,然后在以后进行了细分,从而在测试之间提供了隔离. - -但是,这并不是完全正确的,因为`destroy`方法不会删除`wrapper`对象上所有已突变的东西. 对于功能组件,destroy 仅从文档中删除呈现的 DOM 元素. - -In order to ensure that a clean wrapper object and DOM are being used in each test, the breakdown of the component should rather be performed as follows: - -``` - afterEach(() => { - wrapper.destroy(); - wrapper = null; - }); -``` - -另请参见[有关`destroy`](https://vue-test-utils.vuejs.org/api/wrapper/#destroy)的[Vue Test Utils 文档](https://vue-test-utils.vuejs.org/api/wrapper/#destroy) . - -### Jest best practices[](#jest-best-practices "Permalink") - -在 GitLab 13.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/34209) . - -#### Prefer `toBe` over `toEqual` when comparing primitive values[](#prefer-tobe-over-toequal-when-comparing-primitive-values "Permalink") - -[`toBe`](https://jestjs.io/docs/en/expect#tobevalue) [`toEqual`](https://jestjs.io/docs/en/expect#toequalvalue)匹配者. 由于[`toBe`](https://jestjs.io/docs/en/expect#tobevalue)使用[`Object.is`](https://s0developer0mozilla0org.icopy.site/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is)比较值,因此(默认情况下)比使用`toEqual` . 尽管后者最终将回退以利用[`Object.is`](https://github.com/facebook/jest/blob/master/packages/expect/src/jasmineUtils.ts#L91)获得原始值,但仅应在需要比较复杂对象的情况下使用它. - -Examples: - -``` -const foo = 1; - -// good -expect(foo).toBe(1); - -// bad -expect(foo).toEqual(1); -``` - -#### Prefer more befitting matchers[](#prefer-more-befitting-matchers "Permalink") - -Jest 提供了有用的匹配器,例如`toHaveLength`或`toBeUndefined`以使您的测试更具可读性并产生更易理解的错误消息. 查看他们的文档以获取[匹配器](https://jestjs.io/docs/en/expect#methods)的[完整列表](https://jestjs.io/docs/en/expect#methods) . - -Examples: - -``` -const arr = [1, 2]; - -// prints: -// Expected length: 1 -// Received length: 2 -expect(arr).toHaveLength(1); - -// prints: -// Expected: 1 -// Received: 2 -expect(arr.length).toBe(1); - -// prints: -// expect(received).toBe(expected) // Object.is equality -// Expected: undefined -// Received: "bar" -const foo = 'bar'; -expect(foo).toBe(undefined); - -// prints: -// expect(received).toBeUndefined() -// Received: "bar" -const foo = 'bar'; -expect(foo).toBeUndefined(); -``` - -#### Avoid using `toBeTruthy` or `toBeFalsy`[](#avoid-using-tobetruthy-or-tobefalsy "Permalink") - -Jest 还提供以下匹配器: `toBeTruthy`和`toBeFalsy` . 我们不应该使用它们,因为它们会使测试变弱并产生假阳性结果. - -例如,当`someBoolean === null`以及`someBoolean === false`时,会通过`expect(someBoolean).toBeFalsy()` . - -#### Tricky `toBeDefined` matcher[](#tricky-tobedefined-matcher "Permalink") - -Jest 有一个棘手的`toBeDefined`匹配器,它可能会产生假阳性测试. 因为它仅[验证](https://github.com/facebook/jest/blob/master/packages/expect/src/matchers.ts#L204) `undefined`的给定值. - -``` -// good -expect(wrapper.find('foo').exists()).toBe(true); - -// bad -// if finder returns null, the test will pass -expect(wrapper.find('foo')).toBeDefined(); -``` - -#### Avoid using `setImmediate`[](#avoid-using-setimmediate "Permalink") - -尝试避免使用`setImmediate` . `setImmediate`是一个临时解决方案,可在 I / O 完成后运行您的回调. 而且它不是 Web API 的一部分,因此,我们在单元测试中以 NodeJS 环境为目标. - -代替`setImmediate` ,使用`jest.runAllTimers`或`jest.runOnlyPendingTimers`来运行暂挂计时器. 当代码中有`setInterval`时,后者很有用. **请记住:**我们的 Jest 配置使用假计时器. - -## Factories[](#factories "Permalink") - -TBU - -## Mocking Strategies with Jest[](#mocking-strategies-with-jest "Permalink") - -### Stubbing and Mocking[](#stubbing-and-mocking "Permalink") - -Jasmine 提供存根和模拟功能. 在 Karma 和 Jest 中,如何使用它有一些细微的差异. - -存根或间谍通常是同义词. 在 Jest 中,使用`.spyOn`方法非常容易. [官方文档](https://jestjs.io/docs/en/jest-object#jestspyonobject-methodname)更具挑战性的部分是模拟,可用于功能甚至依赖项. - -### Manual module mocks[](#manual-module-mocks "Permalink") - -手动模拟用于模拟整个 Jest 环境中的模块. 这是一个功能非常强大的测试工具,它通过模拟出在我们的测试环境中不容易使用的模块来帮助简化单元测试. - -> **警告:**如果不应在每个规范中始终采用模拟,则不要使用手动模拟(即,仅少数规范需要使用). 而是考虑在相关规范文件中使用[`jest.mock(..)`](https://jestjs.io/docs/en/jest-object#jestmockmodulename-factory-options) (或类似的[`jest.mock(..)`](https://jestjs.io/docs/en/jest-object#jestmockmodulename-factory-options)功能). - -#### Where should I put manual mocks?[](#where-should-i-put-manual-mocks "Permalink") - -Jest 通过将模拟放置在源模块旁边的`__mocks__/`目录(例如`app/assets/javascripts/ide/__mocks__` )中来支持[手动模块](https://jestjs.io/docs/en/manual-mocks)模拟. **不要这样** 我们希望将所有与测试相关的代码保存在一个地方( `spec/`文件夹). - -如果`node_modules`软件包需要手动模拟,请使用`spec/frontend/__mocks__`文件夹. 这是[`monaco-editor`软件包](https://gitlab.com/gitlab-org/gitlab/blob/b7f914cddec9fc5971238cdf12766e79fa1629d7/spec/frontend/__mocks__/monaco-editor/index.js#L1)的[Jest 模拟](https://gitlab.com/gitlab-org/gitlab/blob/b7f914cddec9fc5971238cdf12766e79fa1629d7/spec/frontend/__mocks__/monaco-editor/index.js#L1)示例. - -如果 CE 模块需要手动模拟,请将其放在`spec/frontend/mocks/ce` . - -* `spec/frontend/mocks/ce`文件将从`app/assets/javascripts`模拟相应的 CE 模块,从而镜像源模块的路径. - * 示例: `spec/frontend/mocks/ce/lib/utils/axios_utils`将模拟模块`~/lib/utils/axios_utils` . -* 我们尚不支持模拟 EE 模块. -* 如果找到了不存在源模块的模拟,则测试套件将失败. 目前尚不支持"虚拟"模拟或与源模块没有 1 对 1 关联的模拟. - -#### Manual mock examples[](#manual-mock-examples "Permalink") - -* 模拟[`mocks/axios_utils`](https://gitlab.com/gitlab-org/gitlab/blob/bd20aeb64c4eed117831556c54b40ff4aee9bfd1/spec/frontend/mocks/ce/lib/utils/axios_utils.js#L1)此模拟很有用,因为我们不希望任何未经模拟的请求通过任何测试. 另外,我们能够注入一些测试助手,例如`axios.waitForAll` . -* [`__mocks__/mousetrap/index.js`](https://gitlab.com/gitlab-org/gitlab/blob/cd4c086d894226445be9d18294a060ba46572435/spec/frontend/__mocks__/mousetrap/index.js#L1)此模拟很有用,因为该模块本身使用 webpack 可以理解的 AMD 格式,但与玩笑的环境不兼容. 该模拟不会删除任何行为,仅提供与 es6 兼容的包装器. -* [`__mocks__/monaco-editor/index.js`](https://gitlab.com/gitlab-org/gitlab/blob/b7f914cddec9fc5971238cdf12766e79fa1629d7/spec/frontend/__mocks__/monaco-editor/index.js) - This mock is helpful because the Monaco package is completely incompatible in a Jest environment. In fact, webpack requires a special loader to make it work. This mock simply makes this package consumable by Jest. - -### Keep mocks light[](#keep-mocks-light "Permalink") - -全局模拟会引入魔术,并且从技术上讲可以减少测试的覆盖范围. 当嘲笑被视为有利可图时: - -* 保持模拟简短而集中. -* 请在模拟中留下为什么有必要的顶级评论. - -### Additional mocking techniques[](#additional-mocking-techniques "Permalink") - -请查阅[官方的 Jest 文档](https://jestjs.io/docs/en/jest-object#mock-modules) ,以获取有关可用模拟功能的完整概述. - -## Running Frontend Tests[](#running-frontend-tests "Permalink") - -要运行前端测试,您需要以下命令: - -* `rake frontend:fixtures` (re-)generates [fixtures](#frontend-test-fixtures). -* `yarn test`执行测试. -* `yarn jest`执行 Jest 测试. - -只要固定装置不变, `yarn test`就足够了(并节省了一些时间). - -### Live testing and focused testing – Jest[](#live-testing-and-focused-testing----jest "Permalink") - -在测试套件上工作时,您可能希望以监视模式运行这些规范,因此它们会在每次保存时自动重新运行. - -``` -# Watch and rerun all specs matching the name icon -yarn jest --watch icon - -# Watch and rerun one specifc file -yarn jest --watch path/to/spec/file.spec.js -``` - -您也可以在不使用`--watch`标志的情况下运行一些重点测试 - -``` -# Run specific jest file -yarn jest ./path/to/local_spec.js -# Run specific jest folder -yarn jest ./path/to/folder/ -# Run all jest files which path contain term -yarn jest term -``` - -### Live testing and focused testing – Karma[](#live-testing-and-focused-testing----karma "Permalink") - -业力允许类似的东西,但是成本更高. - -用`yarn run karma-start`运行 Karma 将编译 JavaScript 资产并在`http://localhost:9876/`上运行服务器,在该服务器上它将自动在连接到它的任何浏览器上运行测试. 您可以一次在多个浏览器上输入该 URL,以使其在每个浏览器上并行运行测试. - -当 Karma 运行时,您所做的任何更改都会立即触发**整个测试套件**的重新编译和重新**测试** ,因此您可以立即查看是否使用所做的更改破坏了测试. 您可以使用[针对 Jasmine 的](https://jasmine.github.io/2.5/focused_specs.html)测试或排除测试(使用`fdescribe`或`xdescribe` )来使 Karma 仅在您使用特定功能时运行所需的测试,但是请确保在提交代码时删除这些指令. - -通过使用参数`--filter-spec`或 short `-f`过滤运行测试,也可以仅在特定的文件夹或文件上运行 Karma: - -``` -# Run all files -yarn karma-start -# Run specific spec files -yarn karma-start --filter-spec profile/account/components/update_username_spec.js -# Run specific spec folder -yarn karma-start --filter-spec profile/account/components/ -# Run all specs which path contain vue_shared or vie -yarn karma-start -f vue_shared -f vue_mr_widget -``` - -您还可以使用 glob 语法来匹配文件. 请记住在引号周围加上引号,否则您的 shell 可能会将其拆分为多个参数: - -``` -# Run all specs named `file_spec` within the IDE subdirectory -yarn karma -f 'spec/javascripts/ide/**/file_spec.js' -``` - -## Frontend test fixtures[](#frontend-test-fixtures "Permalink") - -添加到 HAML 模板(在`app/views/` )或向后端发出 Ajax 请求的代码具有要求后端提供 HTML 或 JSON 的测试. 这些测试的夹具位于: - -* `spec/frontend/fixtures/` ,用于在 CE 中运行测试. -* `ee/spec/frontend/fixtures/` ,用于在 EE 中运行测试. - -灯具文件位于: - -* Karma 测试套件由[jasmine-jquery 提供](https://github.com/velesin/jasmine-jquery) . -* 开玩笑地使用`spec/frontend/helpers/fixtures.js` . - -以下是适用于 Karma 和 Jest 的测试示例: - -``` -it('makes a request', () => { - const responseBody = getJSONFixture('some/fixture.json'); // loads spec/frontend/fixtures/some/fixture.json - axiosMock.onGet(endpoint).reply(200, responseBody); - - myButton.click(); - - // ... -}); - -it('uses some HTML element', () => { - loadFixtures('some/page.html'); // loads spec/frontend/fixtures/some/page.html and adds it to the DOM - - const element = document.getElementById('#my-id'); - - // ... -}); -``` - -HTML 和 JSON 固定装置是使用 RSpec 从后端视图和控制器生成的(请参阅`spec/frontend/fixtures/*.rb` ). - -对于每个灯具, `response`变量的内容存储在输出文件中. 如果测试标记为`type: :request`或`type: :controller`则此变量将自动设置. 可以使用`bin/rake frontend:fixtures`命令来重新生成`bin/rake frontend:fixtures`但是您也可以单独生成它们,例如`bin/rspec spec/frontend/fixtures/merge_requests.rb` . 创建新的固定装置时,通常有必要在`(ee/)spec/controllers/`或`(ee/)spec/requests/`查看端点的相应测试. - -## Data-driven tests[](#data-driven-tests "Permalink") - -与[RSpec 的参数化测试](best_practices.html#table-based--parameterized-tests)类似,Jest 支持以下数据驱动的测试: - -* 使用[`test.each`](https://jestjs.io/docs/en/api#testeachtable-name-fn-timeout)单独测试(别名为`it.each` ). -* 使用[`describe.each`](https://jestjs.io/docs/en/api#describeeachtable-name-fn-timeout)的测试组. - -这些对于减少测试中的重复很有用. 每个选项都可以采用数据值数组或带标签的模板文字. - -例如: - -``` -// function to test -const icon = status => status ? 'pipeline-passed' : 'pipeline-failed' -const message = status => status ? 'pipeline-passed' : 'pipeline-failed' - -// test with array block -it.each([ - [false, 'pipeline-failed'], - [true, 'pipeline-passed'] -])('icon with %s will return %s', - (status, icon) => { - expect(renderPipeline(status)).toEqual(icon) - } -); -``` - -``` -// test suite with tagged template literal block -describe.each` - status | icon | message ${false} | ${'pipeline-failed'} | ${'Pipeline failed - boo-urns'} ${true} | ${'pipeline-passed'} | ${'Pipeline succeeded - win!'} `('pipeline component', ({ status, icon, message }) => { - it(`returns icon ${icon} with status ${status}`, () => { - expect(icon(status)).toEqual(message) - }) - - it(`returns message ${message} with status ${status}`, () => { - expect(message(status)).toEqual(message) - }) -}); -``` - -## Gotchas[](#gotchas "Permalink") - -### RSpec errors due to JavaScript[](#rspec-errors-due-to-javascript "Permalink") - -默认情况下,RSpec 单元测试不会在无头浏览器中运行 JavaScript,而仅依赖于检查 rails 生成的 HTML. - -如果集成测试依赖 JavaScript 才能正确运行,则需要确保将规范配置为在运行测试时启用 JavaScript. 如果不这样做,您会看到规范运行器发出的模糊错误消息. - -To enable a JavaScript driver in an `rspec` test, add `:js` to the individual spec or the context block containing multiple specs that need JavaScript enabled: - -``` -# For one spec -it 'presents information about abuse report', :js do - # assertions... -end - -describe "Admin::AbuseReports", :js do - it 'presents information about abuse report' do - # assertions... - end - it 'shows buttons for adding to abuse report' do - # assertions... - end -end -``` - -## Overview of Frontend Testing Levels[](#overview-of-frontend-testing-levels "Permalink") - -有关前端测试级别的主要信息,请参见" [测试级别"页面](testing_levels.html) . - -与前端开发相关的测试可以在以下位置找到: - -* `spec/javascripts/` ,用于业力测试 -* `spec/frontend/` ,用于 Is 测试 -* `spec/features/` ,用于 RSpec 测试 - -RSpec 运行完整的[功能测试](testing_levels.html#frontend-feature-tests) ,而 Jest 和 Karma 目录包含[前端单元测试](testing_levels.html#frontend-unit-tests) , [前端组件测试](testing_levels.html#frontend-component-tests)和[前端集成测试](testing_levels.html#frontend-integration-tests) . - -`spec/javascripts/`所有测试最终都将迁移到`spec/frontend/` (另请参见[#52483](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/52483) ). - -在 2018 年 5 月之前, `features/`还包含 Spinach 运行的功能测试. 这些测试已于 2018 年 5 月从代码库中删除( [#23036](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/23036) ). - -另请参阅[有关测试 Vue 组件的说明](../fe_guide/vue.html#testing-vue-components) . - -## Test helpers[](#test-helpers "Permalink") - -### Vuex Helper: `testAction`[](#vuex-helper-testaction "Permalink") - -根据[官方文档](https://vuex.vuejs.org/guide/testing.html) ,我们提供了一个帮助程序,可以简化测试操作: - -``` -testAction( - actions.actionName, // action - { }, // params to be passed to action - state, // state - [ - { type: types.MUTATION}, - { type: types.MUTATION_1, payload: {}}, - ], // mutations committed - [ - { type: 'actionName', payload: {}}, - { type: 'actionName1', payload: {}}, - ] // actions dispatched - done, -); -``` - -在[`spec/javascripts/ide/stores/actions_spec.jsspec/javascripts/ide/stores/actions_spec.js`](https://gitlab.com/gitlab-org/gitlab/blob/master/spec/javascripts/ide/stores/actions_spec.js) . - -### Wait until Axios requests finish[](#wait-until-axios-requests-finish "Permalink") - -The Axios Utils mock module located in `spec/frontend/mocks/ce/lib/utils/axios_utils.js` contains two helper methods for Jest tests that spawn HTTP requests. These are very useful if you don’t have a handle to the request’s Promise, for example when a Vue component does a request as part of its life cycle. - -* `waitFor(url, callback)` :对`url`的请求完成后(成功或失败)运行`callback` . -* `waitForAll(callback)` :所有未完成的请求完成后,运行`callback` . 如果没有待处理的请求,则在下一个刻度上运行`callback` . - -这两个函数运行`callback` (使用请求结束后的下一个滴答`setImmediate()`以允许任何`.then()`或`.catch()`处理程序来运行. - -## Testing with older browsers[](#testing-with-older-browsers "Permalink") - -某些回归仅影响特定的浏览器版本. 我们可以按照以下步骤使用 Firefox 或 BrowserStack 在特定的浏览器中安装和测试: - -### BrowserStack[](#browserstack "Permalink") - -[BrowserStack](https://www.browserstack.com/)可以测试 1200 多种移动设备和浏览器. 您可以直接通过[实时应用程序](https://www.browserstack.com/live)使用它,也可以安装[chrome 扩展程序](https://chrome.google.com/webstore/detail/browserstack/nkihdmlheodkdfojglpcjjmioefjahjb)以便于访问. 使用保存在 GitLab [共享 1Password 帐户](https://about.gitlab.com/handbook/security/#1password-guide)的**Engineering**库中的凭据登录到 BrowserStack. - -### Firefox[](#firefox "Permalink") - -#### macOS[](#macos "Permalink") - -您可以从发布的 FTP 服务器[https://ftp.mozilla.org/pub/firefox/releases/](https://ftp.mozilla.org/pub/firefox/releases/)下载任何较旧版本的 Firefox: - -1. 从网站上选择一个版本,在本例中为`50.0.1` . -2. 转到 mac 文件夹. -3. 选择您喜欢的语言,您将在其中找到 DMG 软件包并下载. -4. 将应用程序拖放到"应用`Applications`文件夹以外的任何其他文件夹中. -5. 将应用程序重命名为`Firefox_Old` . -6. 将应用程序移至"应用`Applications`文件夹. -7. 打开终端,然后运行`/Applications/Firefox_Old.app/Contents/MacOS/firefox-bin -profilemanager`以创建特定于该 Firefox 版本的新配置文件. -8. 创建配置文件后,请退出应用程序,然后像平常一样再次运行它. 现在,您可以使用较旧的 Firefox 版本. - -* * * - -[Return to Testing documentation](index.html) \ No newline at end of file diff --git a/docs/629.md b/docs/629.md deleted file mode 100644 index 15161cc..0000000 --- a/docs/629.md +++ /dev/null @@ -1,37 +0,0 @@ -# GitLab tests in the Continuous Integration (CI) context - -> 原文:[https://docs.gitlab.com/ee/development/testing_guide/ci.html](https://docs.gitlab.com/ee/development/testing_guide/ci.html) - -* [Test suite parallelization on the CI](#test-suite-parallelization-on-the-ci) -* [Monitoring](#monitoring) -* [CI setup](#ci-setup) - -# GitLab tests in the Continuous Integration (CI) context[](#gitlab-tests-in-the-continuous-integration-ci-context "Permalink") - -## Test suite parallelization on the CI[](#test-suite-parallelization-on-the-ci "Permalink") - -我们当前的 CI 并行化设置如下: - -1. 在`prepare`阶段的`retrieve-tests-metadata`作业可确保我们有一个`knapsack/report-master.json`文件: - * 从 S3 提取`knapsack/report-master.json`文件,如果不在此处,则使用`{}`初始化文件. -2. 每个`[rspec|rspec-ee] [unit|integration|system|geo] nm`作业均使用`knapsack rspec`运行,并且应具有均匀分布的测试份额: - * 之所以起作用,是因为"默认情况下传递了所有先前阶段的工件"以来,作业可以访问`knapsack/report-master.json` . - * 作业将自己的报告路径设置为`"knapsack/${TEST_TOOL}_${TEST_LEVEL}_${DATABASE}_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json"` . - * 如果背包正在执行任务,则运行的测试文件应列在`Report specs` ,而不是" `Leftover specs` . -3. `update-tests-metadata`作业(仅[在规范项目的](https://gitlab.com/gitlab-org/gitlab)预定管道上运行)将所有`knapsack/rspec*_pg_*.json`文件合并在一起,然后将它们全部合并为一个`knapsack/report-master.json`文件,然后将其上传到 S3. - -之后,下一个管道将使用最新的`knapsack/report-master.json`文件. - -## Monitoring[](#monitoring "Permalink") - -[监视](../performance.html#rspec-profiling) GitLab 测试套件的`master`分支以及名称中包含`rspec-profile`任何分支. - -[公共仪表板](https://redash.gitlab.com/public/dashboards/l1WhHXaxrCWM5Ai9D7YDqHKehq6OU3bx5gssaiWe?org_slug=default)可供所有人查看. 随意查看最慢的测试文件并尝试对其进行改进. - -## CI setup[](#ci-setup "Permalink") - -* [由于性能原因](https://jtway.co/speed-up-your-rails-test-suite-by-6-in-1-line-13fedb869ec4) ,CI 中默认情况下禁用 Rails 日志到`log/test.log` . 要覆盖此设置,请提供`RAILS_ENABLE_TEST_LOG`环境变量. - -* * * - -[Return to Testing documentation](index.html) \ No newline at end of file diff --git a/docs/630.md b/docs/630.md deleted file mode 100644 index 02f0c01..0000000 --- a/docs/630.md +++ /dev/null @@ -1,337 +0,0 @@ -# Review Apps - -> 原文:[https://docs.gitlab.com/ee/development/testing_guide/review_apps.html](https://docs.gitlab.com/ee/development/testing_guide/review_apps.html) - -* [How does it work?](#how-does-it-work) - * [CI/CD architecture diagram](#cicd-architecture-diagram) - * [Detailed explanation](#detailed-explanation) - * [Auto-stopping of Review Apps](#auto-stopping-of-review-apps) -* [QA runs](#qa-runs) -* [Performance Metrics](#performance-metrics) -* [Cluster configuration](#cluster-configuration) - * [Node pools](#node-pools) - * [Helm](#helm) -* [How to](#how-to) - * [Get access to the GCP Review Apps cluster](#get-access-to-the-gcp-review-apps-cluster) - * [Log into my Review App](#log-into-my-review-app) - * [Enable a feature flag for my Review App](#enable-a-feature-flag-for-my-review-app) - * [Find my Review App slug](#find-my-review-app-slug) - * [Run a Rails console](#run-a-rails-console) - * [Dig into a Pod’s logs](#dig-into-a-pods-logs) -* [Diagnosing unhealthy Review App releases](#diagnosing-unhealthy-review-app-releases) - * [Release failed with `ImagePullBackOff`](#release-failed-with-imagepullbackoff) - * [Node count is always increasing (i.e. never stabilizing or decreasing)](#node-count-is-always-increasing-ie-never-stabilizing-or-decreasing) - * [p99 CPU utilization is at 100% for most of the nodes and/or many components](#p99-cpu-utilization-is-at-100-for-most-of-the-nodes-andor-many-components) - * [The `logging/user/events/FailedMount` chart is going up](#the-loggingusereventsfailedmount-chart-is-going-up) - * [Using K9s](#using-k9s) - * [Troubleshoot a pending `dns-gitlab-review-app-external-dns` Deployment](#troubleshoot-a-pending-dns-gitlab-review-app-external-dns-deployment) - * [Finding the problem](#finding-the-problem) - * [Solving the problem](#solving-the-problem) - * [Mitigation steps taken to avoid this problem in the future](#mitigation-steps-taken-to-avoid-this-problem-in-the-future) -* [Frequently Asked Questions](#frequently-asked-questions) -* [Other resources](#other-resources) - * [Helpful command line tools](#helpful-command-line-tools) - -# Review Apps[](#review-apps "Permalink") - -Review Apps 由[管道](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6665)自动部署. - -## How does it work?[](#how-does-it-work "Permalink") - -### CI/CD architecture diagram[](#cicd-architecture-diagram "Permalink") - -图 TD A [" build-qa-image,编译生产资产 -(仅适用于规范的默认参考)"]; B [review-build-cng]; C [review-deploy]; D [CNG-mirror]; E [review-qa-smoke]; A-> |一旦准备`阶段已完成| BB -.-> |触发 CNG 镜像管道并等待其完成| DD -.-> |轮询直到完成| BB-> |一旦完成`view-build-cng`工作完成| CC-> |完成"审查-部署"工作| E 子图" 1\. gitlab`prepare` stage"结束子图" 2\. gitlab`review-prepare`阶段" B 结束子图" 3\. gitlab`review` stage" C [" review-deploy - -Helm 使用云部署 Review App -由 CNG 镜像管道构建的本机映像. - -Cloud Native 映像已部署到" review-apps" -Kubernetes(GKE)集群,位于 GCP`gitlab-review-apps`项目中."]结束子图" 4\. gitlab`qa` stage" E [review-qa-smoke - -gitlab-qa 对 Review App 运行冒烟套件.]结束子图" CNG 镜像管道" D>构建了 Cloud Native 图像]; 结束 - -### Detailed explanation[](#detailed-explanation "Permalink") - -1. 在`prepare`阶段的每个[管道](https://gitlab.com/gitlab-org/gitlab/pipelines/125315730)上,都会自动启动[`compile-production-assets`](https://gitlab.com/gitlab-org/gitlab/-/jobs/641770154)作业. - * 完成后, [`review-build-cng`](https://gitlab.com/gitlab-org/gitlab/-/jobs/467724808)作业开始,因为在后续步骤中触发的[`CNG-mirror`](https://gitlab.com/gitlab-org/build/CNG-mirror)管道依赖[`review-build-cng`](https://gitlab.com/gitlab-org/gitlab/-/jobs/467724808) . -2. 完成`compile-production-assets`后, [`review-build-cng`](https://gitlab.com/gitlab-org/gitlab/-/jobs/467724808)作业[将触发](https://gitlab.com/gitlab-org/build/CNG-mirror/pipelines/44364657) [`CNG-mirror`](https://gitlab.com/gitlab-org/build/CNG-mirror)项目中[的管道](https://gitlab.com/gitlab-org/build/CNG-mirror/pipelines/44364657) . - * 仅当您的 MR 包括[CI 或前端更改时](../pipelines.html#changes-patterns) , `review-build-cng`作业才会自动开始. 在其他情况下,该工作是手动的. - * [`CNG-mirror`](https://gitlab.com/gitlab-org/build/CNG-mirror/pipelines/44364657)管道基于[GitLab 管道](https://gitlab.com/gitlab-org/gitlab/pipelines/125315730)的提交创建每个组件(例如`gitlab-rails-ee` , `gitlab-shell` , `gitaly`等)的 Docker 映像,并将它们存储在其[注册表中](https://gitlab.com/gitlab-org/build/CNG-mirror/container_registry) . - * 我们使用[`CNG-mirror`](https://gitlab.com/gitlab-org/build/CNG-mirror)项目,以便`CNG` (Cloud Native GitLab)项目的注册表不会因大量临时 Docker 映像而过载. - * 请注意,官方的 CNG 图像是由`cloud-native-image`作业构建的,该作业仅针对标签运行,并自身触发[`CNG`](https://gitlab.com/gitlab-org/build/CNG)管道. -3. 完成`review-build-cng`后, [`review-deploy`](https://gitlab.com/gitlab-org/gitlab/-/jobs/467724810)作业使用[官方的 GitLab Helm 图表](https://gitlab.com/gitlab-org/charts/gitlab/)将 Review App 部署到 GCP 上的[`review-apps`](https://console.cloud.google.com/kubernetes/clusters/details/us-central1-b/review-apps?project=gitlab-review-apps) Kubernetes 集群. - * 可以在[`scripts/review_apps/review-apps.sh`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/scripts/review_apps/review-apps.sh)找到用于部署 Review App 的实际脚本. - * 这些脚本基本上是[我们的官方 Auto DevOps 脚本](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Auto-DevOps.gitlab-ci.yml) ,其中默认的 CNG 映像会被构建并存储在[`CNG-mirror`项目注册表中](https://gitlab.com/gitlab-org/build/CNG-mirror/container_registry)的映像覆盖. - * 由于我们使用的[是官方的 GitLab Helm 图表](https://gitlab.com/gitlab-org/charts/gitlab/) ,这意味着您将为分支机构获得一个专用的环境,该环境非常接近生产环境. -4. 一旦[`review-deploy`](https://gitlab.com/gitlab-org/gitlab/-/jobs/467724810)作业成功,您应该可以使用您的 Review App,这要归功于 MR 小部件与它的直接链接. 要登录 Review App,请参阅"登录我的 Review App?". 下面. - -**补充笔记:** - -* 如果`review-deploy`工作持续失败(请注意,我们已经试了两次),请在发布消息`#g_qe_engineering_productivity`通道和/或创建`~"Engineering Productivity"` `~"ep::review apps"` `~bug`的问题有链接到您的合并请求. 请注意,部署失败可能会揭示合并请求中引入的实际问题(即,这不一定是暂时性失败)! -* 如果`review-qa-smoke`作业仍然失败(请注意,我们已经重试了两次),请检查该作业的日志:您可能会发现合并请求中引入的实际问题. 您也可以下载工件,以查看发生故障时页面的屏幕截图. 如果您找不到失败的原因,或者看起来与更改无关,请在`#quality`频道中发布一条消息和/或创建`#quality`问题,并带有指向合并请求的链接. -* 手动`review-stop`可用于手动停止复查应用,一旦合并请求的分支在合并后被删除,GitLab 也将启动手动`review-stop` . -* 使用[GitLab 的 Kubernetes 集成](../../user/project/clusters/index.html)将 Kubernetes 集群连接到`gitlab`项目. 这基本上允许直接从合并请求窗口小部件链接到 Review App. - -### Auto-stopping of Review Apps[](#auto-stopping-of-review-apps "Permalink") - -借助[环境自动停止](../../ci/environments/index.html#environments-auto-stop)功能,Review Apps 在上次部署后 2 天会自动停止. - -If you need your Review App to stay up for a longer time, you can [pin its environment](../../ci/environments/index.html#auto-stop-example) or retry the `review-deploy` job to update the “latest deployed at” time. - -The `review-cleanup` job that automatically runs in scheduled pipelines (and is manual in merge request) stops stale Review Apps after 5 days, deletes their environment after 6 days, and cleans up any dangling Helm releases and Kubernetes resources after 7 days. - -自动在计划的管道中运行的`review-gcp-cleanup`作业(在合并请求中手动执行)将删除所有未与 Kubernetes 资源一起删除的悬空 GCP 网络资源. - -## QA runs[](#qa-runs "Permalink") - -在`qa`阶段(在`review`阶段之后)的每个[管道](https://gitlab.com/gitlab-org/gitlab/pipelines/125315730)上, `review-qa-smoke`作业都会自动启动,并运行 QA 烟雾套件. - -您也可以手动启动`review-qa-all` :它运行完整的质量检查套件. - -## Performance Metrics[](#performance-metrics "Permalink") - -在每一个[管道](https://gitlab.com/gitlab-org/gitlab/pipelines/125315730)在`qa`阶段, `review-performance`作业自动启动:这项工作确实使用基本的浏览器性能测试[Sitespeed.io 集装箱](../../user/project/merge_requests/browser_performance_testing.html) . - -## Cluster configuration[](#cluster-configuration "Permalink") - -### Node pools[](#node-pools "Permalink") - -目前, `review-apps`集群使用以下节点池进行设置: - -* 具有自动`e2-highcpu-16` (16 vCPU,16 GB 内存)可抢占节点 - -### Helm[](#helm "Permalink") - -使用的 Helm 版本在[`registry.gitlab.com/gitlab-org/gitlab-build-images:gitlab-helm3-kubectl1.14`映像中](https://gitlab.com/gitlab-org/gitlab-build-images/-/blob/master/Dockerfile.gitlab-helm3-kubectl1.14#L7)定义,由`review-deploy`和`review-stop`作业使用. - -## How to[](#how-to "Permalink") - -### Get access to the GCP Review Apps cluster[](#get-access-to-the-gcp-review-apps-cluster "Permalink") - -您需要[打开](https://gitlab.com/gitlab-com/access-requests/-/issues/new) `gcp-review-apps-sg` GCP 组[的访问请求(内部链接)](https://gitlab.com/gitlab-com/access-requests/-/issues/new) . 为了加入群组,您必须在访问请求中指定所需的 GCP 角色. 该角色将授予您特定的权限,以便与 Review App 容器进行交互. - -Here are some permissions you may want to have, and the roles that grant them: - -* `container.pods.getLogs` [检索 pod 日志所](#dig-into-a-pods-logs)必需. 由[查看者( `roles/viewer` )](https://cloud.google.com/iam/docs/understanding-roles#kubernetes-engine-roles)授予. -* `container.pods.exec` [运行 Rails 控制台](#run-a-rails-console)所需. 由[Kubernetes Engine 开发人员( `roles/container.developer` )](https://cloud.google.com/iam/docs/understanding-roles#kubernetes-engine-roles)授予. - -### Log into my Review App[](#log-into-my-review-app "Permalink") - -默认用户名是`root` ,其密码可以在名为`gitlab-{ce,ee} Review App's root password`的 1Password 安全注释中找到. - -### Enable a feature flag for my Review App[](#enable-a-feature-flag-for-my-review-app "Permalink") - -1. 打开您的 Review App 并按照上述说明登录. -2. 创建一个个人访问令牌. -3. 使用[Feature 标志 API](../../api/features.html)启用[功能标志](../../api/features.html) . - -### Find my Review App slug[](#find-my-review-app-slug "Permalink") - -1. 打开`review-deploy`作业. -2. 查找" `Checking for previous deployment of review-*` . -3. 例如,对于`Checking for previous deployment of review-qa-raise-e-12chm0`在这种情况下,您的 Review App `Checking for previous deployment of review-qa-raise-e-12chm0`将为`review-qa-raise-e-12chm0` . - -### Run a Rails console[](#run-a-rails-console "Permalink") - -1. 确保首先[具有访问群集](#get-access-to-the-gcp-review-apps-cluster)和`container.pods.exec`权限的权限. -2. [根据您的 Review App](https://console.cloud.google.com/kubernetes/workload?project=gitlab-review-apps) `review-qa-raise-e-12chm0` [过滤工作量](https://console.cloud.google.com/kubernetes/workload?project=gitlab-review-apps) ,例如`review-qa-raise-e-12chm0` . -3. 查找并打开`task-runner`部署,例如`review-qa-raise-e-12chm0-task-runner` . -4. 单击"托管窗格"部分中的 Pod,例如`review-qa-raise-e-12chm0-task-runner-d5455cc8-2lsvz` . -5. 点击`KUBECTL`下拉菜单,然后`Exec` - > `task-runner` . -6. 从默认命令`-it -- gitlab-rails console` `-c task-runner -- ls`替换为`-it -- gitlab-rails console` ,或者 - * 运行`kubectl exec --namespace review-apps review-qa-raise-e-12chm0-task-runner-d5455cc8-2lsvz -it -- gitlab-rails console`和 - * 用您的 Pod 名称替换`review-qa-raise-e-12chm0-task-runner-d5455cc8-2lsvz` . - -### Dig into a Pod’s logs[](#dig-into-a-pods-logs "Permalink") - -1. 确保首先[有权访问集群](#get-access-to-the-gcp-review-apps-cluster)和`container.pods.getLogs`权限. -2. [根据您的 Review App](https://console.cloud.google.com/kubernetes/workload?project=gitlab-review-apps) `review-qa-raise-e-12chm0` [过滤工作量](https://console.cloud.google.com/kubernetes/workload?project=gitlab-review-apps) ,例如`review-qa-raise-e-12chm0` . -3. 查找并打开`migrations`部署,例如`review-qa-raise-e-12chm0-migrations.1` . -4. 单击"托管窗格"部分中的 Pod,例如`review-qa-raise-e-12chm0-migrations.1-nqwtx` . -5. 单击`Container logs`链接. - -## Diagnosing unhealthy Review App releases[](#diagnosing-unhealthy-review-app-releases "Permalink") - -如果[Review App Stability](https://app.periscopedata.com/app/gitlab/496118/Engineering-Productivity-Sandbox?widget=6690556&udv=785399)下降,则可能表明[Review](https://app.periscopedata.com/app/gitlab/496118/Engineering-Productivity-Sandbox?widget=6690556&udv=785399) `review-apps-ce/ee`集群不健康. 领先的指标可能是导致重新启动的运行状况检查失败或 Review App 部署的多数失败. - -[Review Apps Overview 仪表板可](https://console.cloud.google.com/monitoring/classic/dashboards/6798952013815386466?project=gitlab-review-apps&timeDomain=1d)帮助确定群集上的负载峰值,以及节点是否有问题或整个群集是否趋于不正常. - -### Release failed with `ImagePullBackOff`[](#release-failed-with-imagepullbackoff "Permalink") - -**潜在原因:** - -如果看到`ImagePullBackoff`状态,请检查缺少的 Docker 映像. - -**在哪里寻找进一步的调试:** - -要检查是否已创建 Docker 映像,请运行以下 Docker 命令: - -``` -`DOCKER_CLI_EXPERIMENTAL=enabled docker manifest repository:tag` -``` - -此命令的输出指示 Docker 映像是否存在. 例如: - -``` -DOCKER_CLI_EXPERIMENTAL=enabled docker manifest inspect registry.gitlab.com/gitlab-org/build/cng-mirror/gitlab-rails-ee:39467-allow-a-release-s-associated-milestones-to-be-edited-thro -``` - -如果 Docker 映像不存在: - -* 验证`helm upgrade --install`命令中的`image.repository`和`image.tag`选项是否与 CNG-mirror 管道使用的存储库名称匹配. -* 在`review-build-cng`作业中进一步查看相应的下游 CNG 镜像管道. - -### Node count is always increasing (i.e. never stabilizing or decreasing)[](#node-count-is-always-increasing-ie-never-stabilizing-or-decreasing "Permalink") - -**潜在原因:** - -这可能表明`review-cleanup`作业未能清除过时的审查应用和 Kubernetes 资源. - -**在哪里寻找进一步的调试:** - -查看最新的`review-cleanup`作业日志,并确定是否存在任何意外故障. - -### p99 CPU utilization is at 100% for most of the nodes and/or many components[](#p99-cpu-utilization-is-at-100-for-most-of-the-nodes-andor-many-components "Permalink") - -**潜在原因:** - -这可能表明 Helm 无法部署 Review Apps. 当 Helm 有很多`FAILED`版本发布时,CPU 利用率似乎正在增加,这可能是由于 Helm 或 Kubernetes 试图重新创建组件所致. - -**在哪里寻找进一步的调试:** - -查看最近的`review-deploy`作业日志. - -**有用的命令:** - -``` -# Identify if node spikes are common or load on specific nodes which may get rebalanced by the Kubernetes scheduler -kubectl top nodes | sort --key 3 --numeric - -# Identify pods under heavy CPU load -kubectl top pods | sort --key 2 --numeric -``` - -### The `logging/user/events/FailedMount` chart is going up[](#the-loggingusereventsfailedmount-chart-is-going-up "Permalink") - -**潜在原因:** - -这可能表明存在太多过时的机密和/或配置图. - -**在哪里寻找进一步的调试:** - -查看[配置列表](https://console.cloud.google.com/kubernetes/config?project=gitlab-review-apps)或`kubectl get secret,cm --sort-by='{.metadata.creationTimestamp}' | grep 'review-'` `kubectl get secret,cm --sort-by='{.metadata.creationTimestamp}' | grep 'review-'` . - -怀疑任何超过 5 天的机密或配置图,应将其删除. - -**有用的命令:** - -``` -# List secrets and config maps ordered by created date -kubectl get secret,cm --sort-by='{.metadata.creationTimestamp}' | grep 'review-' - -# Delete all secrets that are 5 to 9 days old -kubectl get secret --sort-by='{.metadata.creationTimestamp}' | grep '^review-' | grep '[5-9]d$' | cut -d' ' -f1 | xargs kubectl delete secret - -# Delete all secrets that are 10 to 99 days old -kubectl get secret --sort-by='{.metadata.creationTimestamp}' | grep '^review-' | grep '[1-9][0-9]d$' | cut -d' ' -f1 | xargs kubectl delete secret - -# Delete all config maps that are 5 to 9 days old -kubectl get cm --sort-by='{.metadata.creationTimestamp}' | grep 'review-' | grep -v 'dns-gitlab-review-app' | grep '[5-9]d$' | cut -d' ' -f1 | xargs kubectl delete cm - -# Delete all config maps that are 10 to 99 days old -kubectl get cm --sort-by='{.metadata.creationTimestamp}' | grep 'review-' | grep -v 'dns-gitlab-review-app' | grep '[1-9][0-9]d$' | cut -d' ' -f1 | xargs kubectl delete cm -``` - -### Using K9s[](#using-k9s "Permalink") - -[K9s](https://github.com/derailed/k9s)是功能强大的命令行仪表板,可让您按标签过滤. 这可以帮助确定趋势超过[审阅应用程序资源请求的应用程序](https://gitlab.com/gitlab-org/gitlab/-/blob/master/scripts/review_apps/base-config.yaml) . Kubernetes 将根据资源请求将 Pod 调度到节点,并允许 CPU 使用量达到上限. - -* 在 K9s 中,您可以通过输入`/`字符来排序或添加过滤器 - * `-lrelease=<review-app-slug>` -过滤所有发布的 Pod. 这有助于确定单个部署中存在的问题 - * `-lapp=<app>` -筛选特定应用程序的所有 pod. 这有助于确定应用程序的资源使用情况. -* 您可以滚动到 Kubernetes 资源并按`d` (描述), `s` (shell), `l` (日志)进行更深入的检查 - -[![K9s](img/281606a988de9b8e23469c0de4e22062.png)](img/k9s.png) - -### Troubleshoot a pending `dns-gitlab-review-app-external-dns` Deployment[](#troubleshoot-a-pending-dns-gitlab-review-app-external-dns-deployment "Permalink") - -#### Finding the problem[](#finding-the-problem "Permalink") - -[过去](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/62834) ,发生了`dns-gitlab-review-app-external-dns`部署处于挂起状态的情况,有效地阻止了所有 Review App 分配 DNS 记录,从而使它们无法通过域名访问. - -反过来,这阻止了 Review App 的其他组件正常启动(例如`gitlab-runner` ). - -经过一番挖掘后,我们发现在使用`systemd-mount`瞬时作用域(例如 pod)执行新安装时,新安装失败: - -``` -MountVolume.SetUp failed for volume "dns-gitlab-review-app-external-dns-token-sj5jm" : mount failed: exit status 1 -Mounting command: systemd-run -Mounting arguments: --description=Kubernetes transient mount for /var/lib/kubelet/pods/06add1c3-87b4-11e9-80a9-42010a800107/volumes/kubernetes.io~secret/dns-gitlab-review-app-external-dns-token-sj5jm --scope -- mount -t tmpfs tmpfs /var/lib/kubelet/pods/06add1c3-87b4-11e9-80a9-42010a800107/volumes/kubernetes.io~secret/dns-gitlab-review-app-external-dns-token-sj5jm -Output: Failed to start transient scope unit: Connection timed out -``` - -这可能是因为 GitLab 图表创建了 67 个资源,导致在基础 GCP 节点上创建了许多安装点. - -在[根本的问题似乎是一个`systemd`错误](https://github.com/kubernetes/kubernetes/issues/57345#issuecomment-359068048)是固定在`systemd` `v237` . 不幸的是,我们的 GCP 节点当前正在使用`v232` . - -记录下来,找出此问题的调试步骤是: - -1. 将 kubectl 上下文切换到 review-apps-ce(我们建议使用[kubectx](https://github.com/ahmetb/kubectx/) ) -2. `kubectl get pods | grep dns` -3. `kubectl describe pod <pod name>`并确认确切的错误消息 -4. 在兔子洞中找到[相关的 Kubernetes 错误报告后](https://github.com/kubernetes/kubernetes/issues/57345) ,在网上搜索确切的错误消息 -5. 通过 GCP 控制台通过 SSH 访问节点( **计算机引擎> VM 实例,**然后单击`dns-gitlab-review-app-external-dns` pod 运行的节点的" SSH"按钮) -6. In the node: `systemctl --version` => `systemd 232` -7. 收集更多信息: - * `mount | grep kube | wc -l` `mount | grep kube | wc -l` =>例如 290 - * `systemctl list-units --all | grep -i var-lib-kube | wc -l` `systemctl list-units --all | grep -i var-lib-kube | wc -l` =>例如 142 -8. 检查多少个 Pod 处于不良状态: - * 获取运行给定节点的所有 Pod: `kubectl get pods --field-selector=spec.nodeName=NODE_NAME` - * 获取给定节点上的所有`Running` pods: `kubectl get pods --field-selector=spec.nodeName=NODE_NAME | grep Running` `kubectl get pods --field-selector=spec.nodeName=NODE_NAME | grep Running` - * 在给定节点上获取所有处于不良状态的 Pod: `kubectl get pods --field-selector=spec.nodeName=NODE_NAME | grep -v 'Running' | grep -v 'Completed'` `kubectl get pods --field-selector=spec.nodeName=NODE_NAME | grep -v 'Running' | grep -v 'Completed'` - -#### Solving the problem[](#solving-the-problem "Permalink") - -为了解决该问题,我们需要(强制)耗尽一些节点: - -1. 在运行`dns-gitlab-review-app-external-dns` pod 的节点上尝试正常排水,以使 Kubernetes 自动将其移动到另一个节点: `kubectl drain NODE_NAME` -2. 如果那不起作用,您还可以通过删除所有吊舱来强制"排水"节点: `kubectl delete pods --field-selector=spec.nodeName=NODE_NAME` -3. 在节点中: - * 执行`systemctl daemon-reload`以删除无效/无效的单元 - * 如果那不能解决问题,请执行硬重启: `sudo systemctl reboot` -4. 取消封锁所有封锁的节点: `kubectl uncordon NODE_NAME`封锁`kubectl uncordon NODE_NAME` - -同时,由于大多数 Review App 处于损坏状态,因此我们将其删除以清理非`Running` Pod 列表. 以下是一个命令,用于根据其上次部署日期(当前日期为当时的 6 月 6 日)删除 Review Apps, - -``` -helm ls -d | grep "Jun 4" | cut -f1 | xargs helm delete --purge -``` - -#### Mitigation steps taken to avoid this problem in the future[](#mitigation-steps-taken-to-avoid-this-problem-in-the-future "Permalink") - -我们用较小的计算机创建了一个新的节点池,这样一来,将来计算机就不太可能遇到"装载点过多"的问题. - -## Frequently Asked Questions[](#frequently-asked-questions "Permalink") - -**在每次测试运行时触发 CNG 映像生成是否过多? 这将创建数千个未使用的 Docker 映像.** - -> 我们必须从某个地方开始,以后再改进. 另外,我们正在使用 CNG-mirror 项目来存储这些 Docker 映像,以便我们可以在某个时候清除注册表,并使用一个新的,空的注册表. - -**我们如何确保它免受滥用? 应用程序向世界开放,因此我们需要找到一种方法将其限制为仅限我们自己.** - -> This isn’t enabled for forks. - -## Other resources[](#other-resources "Permalink") - -* [Review Apps integration for CE/EE (presentation)](https://docs.google.com/presentation/d/1QPLr6FO4LduROU8pQIPkX1yfGvD13GEJIBOenqoKxR8/edit?usp=sharing) -* [Stability issues](https://gitlab.com/gitlab-org/quality/team-tasks/-/issues/212) - -### Helpful command line tools[](#helpful-command-line-tools "Permalink") - -* [K9s-](https://github.com/derailed/k9s)启用跨 Pod 的 CLI 仪表板并启用按标签过滤 -* [船尾](https://github.com/wercker/stern) -基于标签/字段选择器启用跨 Pod 日志拖尾 - -* * * - -[Return to Testing documentation](index.html) \ No newline at end of file diff --git a/docs/631.md b/docs/631.md deleted file mode 100644 index ad7d6df..0000000 --- a/docs/631.md +++ /dev/null @@ -1,26 +0,0 @@ -# Smoke Tests - -> 原文:[https://docs.gitlab.com/ee/development/testing_guide/smoke.html](https://docs.gitlab.com/ee/development/testing_guide/smoke.html) - -# Smoke Tests[](#smoke-tests "Permalink") - -在任何测试套件中,必须有烟雾测试. 简而言之,冒烟测试将运行来自 GitLab QA 的快速端到端功能测试,旨在针对指定环境运行以确保基本功能正常运行. - -当前,我们的套件包括以下基本功能: - -* 用户标准认证 -* SSH 密钥创建和添加到用户 -* 项目简单创建 -* 启用 Auto-DevOps 的项目创建 -* 问题创建 -* 问题用户提及 -* 合并请求创建 -* 片段创建 - -冒烟测试具有`:smoke` RSpec 元数据. - -有关[端到端测试](end_to_end/index.html)的更多详细信息,请参见[端到端](end_to_end/index.html)测试. - -* * * - -[Return to Testing documentation](index.html) \ No newline at end of file diff --git a/docs/632.md b/docs/632.md deleted file mode 100644 index 0a6a912..0000000 --- a/docs/632.md +++ /dev/null @@ -1,665 +0,0 @@ -# Testing best practices - -> 原文:[https://docs.gitlab.com/ee/development/testing_guide/best_practices.html](https://docs.gitlab.com/ee/development/testing_guide/best_practices.html) - -* [Test Design](#test-design) -* [Test speed](#test-speed) -* [RSpec](#rspec) - * [General guidelines](#general-guidelines) - * [Coverage](#coverage) - * [System / Feature tests](#system--feature-tests) - * [Debugging Capybara](#debugging-capybara) - * [Live debug](#live-debug) - * [Run `:js` spec in a visible browser](#run-js-spec-in-a-visible-browser) - * [Screenshots](#screenshots) - * [Fast unit tests](#fast-unit-tests) - * [`let` variables](#let-variables) - * [Common test setup](#common-test-setup) - * [Time-sensitive tests](#time-sensitive-tests) - * [Feature flags in tests](#feature-flags-in-tests) - * [`stub_feature_flags` vs `Feature.enable*`](#stub_feature_flags-vs-featureenable) - * [Stubbing gate](#stubbing-gate) - * [Pristine test environments](#pristine-test-environments) - * [SQL database](#sql-database) - * [Redis](#redis) - * [Background jobs / Sidekiq](#background-jobs--sidekiq) - * [DNS](#dns) - * [Filesystem](#filesystem) - * [Persistent in-memory application state](#persistent-in-memory-application-state) - * [Table-based / Parameterized tests](#table-based--parameterized-tests) - * [Prometheus tests](#prometheus-tests) - * [Matchers](#matchers) - * [`be_like_time`](#be_like_time) - * [`have_gitlab_http_status`](#have_gitlab_http_status) - * [Testing query performance](#testing-query-performance) - * [QueryRecorder](#queryrecorder) - * [GitalyClient](#gitalyclient) - * [Shared contexts](#shared-contexts) - * [Shared examples](#shared-examples) - * [Helpers](#helpers) - * [Factories](#factories) - * [Fixtures](#fixtures) - * [Repositories](#repositories) - * [Configuration](#configuration) - * [Test environment logging](#test-environment-logging) - -# Testing best practices[](#testing-best-practices "Permalink") - -## Test Design[](#test-design "Permalink") - -在 manbetx 客户端打不开的测试是头等公民,而不是事后的想法. 在设计功能时,必须考虑测试的设计,这一点很重要. - -在实现功能时,我们考虑以正确的方式开发正确的功能,这有助于我们将范围缩小到可管理的水平. 在对功能进行测试时,我们必须考虑开发正确的测试,然后涵盖测试可能失败的*所有*重要方式,这可能很快将我们的范围扩大到难以管理的水平. - -测试启发法可以帮助解决此问题. 它们简明地解决了错误在我们的代码中表现出来的许多常见方式. 在设计测试时,请花一些时间来回顾已知的测试启发法,以告知我们的测试设计. 我们可以在" [测试工程"](https://about.gitlab.com/handbook/engineering/quality/test-engineering/#test-heuristics)部分的"手册"中找到一些有用的启发式方法. - -## Test speed[](#test-speed "Permalink") - -GitLab has a massive test suite that, without [parallelization](ci.html#test-suite-parallelization-on-the-ci), can take hours to run. It’s important that we make an effort to write tests that are accurate and effective *以及* fast. - -关于测试性能,需要牢记以下几点: - -* `instance_double`和`spy`比`FactoryBot.build(...)`快 -* `FactoryBot.build(...)`和`.build_stubbed`比`.create`更快. -* 当`build` , `build_stubbed` , `attributes_for` , `spy`或`instance_double`可以使用时,不要`create`对象. 数据库持久性很慢! -* 除非*实际*需要测试有效,否则不要将功能标记为需要 JavaScript(通过 RSpec 中的`:js` ). 无头浏览器测试很慢! - -## RSpec[](#rspec "Permalink") - -要运行 RSpec 测试: - -``` -# run test for a file -bin/rspec spec/models/project_spec.rb - -# run test for the example on line 10 on that file -bin/rspec spec/models/project_spec.rb:10 - -# run tests matching the example name has that string -bin/rspec spec/models/project_spec.rb -e associations - -# run all tests, will take hours for GitLab codebase! -bin/rspec -``` - -使用[Guard](https://github.com/guard/guard)连续监视更改,并仅运行匹配的测试: - -``` -bundle exec guard -``` - -一起使用 spring 和 guard 时,请改用`SPRING=1 bundle exec guard`来使用 spring. - -使用[Factory Doctor](https://test-prof.evilmartians.io/#/factory_doctor.md)查找不必要的数据库操作案例,这可能会导致测试缓慢. - -``` -# run test for path -FDOC=1 bin/rspec spec/[path]/[to]/[spec].rb -``` - -### General guidelines[](#general-guidelines "Permalink") - -* 使用单个顶级`RSpec.describe ClassName`块. -* 使用`.method`来描述类方法,并使用`#method`来描述实例方法. -* 使用`context`测试分支逻辑. -* 尝试使测试的顺序与类中的顺序匹配. -* 尝试遵循[四阶段测试](https://thoughtbot.com/blog/four-phase-test)模式,使用换行符分隔各个阶段. -* 使用`Gitlab.config.gitlab.host`而不是硬编码`'localhost'` -* 不要断言序列生成的属性的绝对值(请参见[Gotchas](../gotchas.html#do-not-assert-against-the-absolute-value-of-a-sequence-generated-attribute) ). -* 避免使用`expect_any_instance_of`或`allow_any_instance_of` (见[陷阱](../gotchas.html#do-not-assert-against-the-absolute-value-of-a-sequence-generated-attribute) ). -* 不要将`:each`参数提供给钩子,因为它是默认值. -* 在钩子`before`和`after` ,最好将它的作用域设置为`:context`不是`:all` -* 当使用作用在给定元素上的`execute_script` `evaluate_script("$('.js-foo').testSomething()")` (或`execute_script` )时,请事先使用 Capybara 匹配器(例如`find('.js-foo')` )以确保该元素实际存在. -* 使用`focus: true`可以隔离要运行的部分规范. -* 如果测试中有多个期望,请使用[`:aggregate_failures`](https://relishapp.com/rspec/rspec-core/docs/expectation-framework-integration/aggregating-failures) . -* 对于[空的测试描述块](https://github.com/rubocop-hq/rspec-style-guide#it-and-specify) ,如果测试是不言自明的,请使用`specify`而不是`it do` . -* 当您需要一个实际上不存在的 ID / IID /访问级别时,请使用`non_existing_record_id` / `non_existing_record_iid` / `non_existing_record_access_level` . 使用 123、1234 甚至 999 都很容易,因为在 CI 运行的情况下,这些 ID 实际上可能存在于数据库中. - -### Coverage[](#coverage "Permalink") - -[`simplecov`](https://github.com/colszowka/simplecov)用于生成代码测试覆盖率报告. 它们是在 CI 上自动生成的,但在本地运行测试时不会自动生成. 要在计算机上运行规格文件时生成部分报告,请设置`SIMPLECOV`环境变量: - -``` -SIMPLECOV=1 bundle exec rspec spec/models/repository_spec.rb -``` - -覆盖率报告会生成到应用程序根目录下的`coverage`文件夹中,您可以在浏览器中打开这些报告,例如: - -``` -firefox coverage/index.html -``` - -使用覆盖率报告来确保您的测试覆盖 100%的代码. - -### System / Feature tests[](#system--feature-tests "Permalink") - -**注意:**在编写新的系统测试之前, [请考虑**不要**编写一个](testing_levels.html#consider-not-writing-a-system-test) ! - -* Feature specs should be named `ROLE_ACTION_spec.rb`, such as `user_changes_password_spec.rb`. -* 使用描述成功和失败路径的方案标题. -* 避免方案标题未添加任何信息,例如"成功". -* 避免场景标题重复功能标题. -* Create only the necessary records in the database -* 测试一条幸福的道路和一条不太幸福的道路,仅此而已 -* 所有其他可能的路径均应通过单元测试或集成测试进行测试 -* 测试页面上显示的内容,而不是 ActiveRecord 模型的内部. 例如,如果您要验证是否已创建记录,请添加期望其记录显示在页面上的期望,而不是`Model.count`增加一. -* 可以查找 DOM 元素,但不要滥用它,因为它会使测试更加脆弱 - -#### Debugging Capybara[](#debugging-capybara "Permalink") - -有时您可能需要通过观察浏览器行为来调试 Capybara 测试. - -#### Live debug[](#live-debug "Permalink") - -您可以使用规范中的`live_debug`方法暂停 Capybara 并在浏览器中查看网站. 当前页面将在默认浏览器中自动打开. 您可能需要先登录(当前用户的凭据显示在终端中). - -要恢复测试运行,请按任意键. - -例如: - -``` -$ bin/rspec spec/features/auto_deploy_spec.rb:34 -Running via Spring preloader in process 8999 -Run options: include {:locations=>{"./spec/features/auto_deploy_spec.rb"=>[34]}} - -Current example is paused for live debugging -The current user credentials are: user2 / 12345678 -Press any key to resume the execution of the example! -Back to the example! -. - -Finished in 34.51 seconds (files took 0.76702 seconds to load) -1 example, 0 failures -``` - -注意: `live_debug`仅在启用 JavaScript 的规范上起作用. - -#### Run `:js` spec in a visible browser[](#run-js-spec-in-a-visible-browser "Permalink") - -使用`CHROME_HEADLESS=0`运行规范,例如: - -``` -CHROME_HEADLESS=0 bin/rspec some_spec.rb -``` - -测试将很快进行,但这将使您对正在发生的事情有所了解. 对`CHROME_HEADLESS=0`使用`live_debug`暂停打开的浏览器,并且不会再次打开该页面. 这可用于调试和检查元素. - -您还可以添加`byebug`或`binding.pry`暂停执行,并[步通过](../pry_debugging.html#stepping)测试. - -#### Screenshots[](#screenshots "Permalink") - -我们使用`capybara-screenshot` gem 在失败时自动截屏. 在 CI 中,您可以下载这些文件作为作业工件. - -另外,您可以通过添加以下方法在测试中的任何时候手动获取屏幕截图. 请确保在不再需要它们时将其删除! 有关更多信息,请参见[https://github.com/mattheworiordan/capybara-screenshot#manual-screenshots](https://github.com/mattheworiordan/capybara-screenshot#manual-screenshots) . - -在`:js`规范中添加`screenshot_and_save_page`以截图 Capybara 看到的内容,并保存页面源代码. - -在`:js`规范中添加`screenshot_and_open_image`以截图 Capybara 看到的内容,并自动打开图像. - -由此创建的 HTML 转储缺少 CSS. 这导致它们看起来与实际应用程序截然不同. 有一个添加 CSS 的[小技巧](https://gitlab.com/gitlab-org/gitlab-foss/snippets/1718469) ,可简化调试过程. - -### Fast unit tests[](#fast-unit-tests "Permalink") - -某些类与 Rails 完全隔离,您应该能够测试它们,而不会因 Rails 环境和 Bundler 的`:default`组的 gem 加载而增加开销. 在这些情况下,您可以在测试文件中`require 'fast_spec_helper'`而不是`require 'spec_helper'` ,并且由于以下原因,测试应该运行得非常快: - -* 宝石加载被跳过 -* Rails 应用启动被跳过 -* 跳过了 GitLab Shell 和 Gitaly 设置 -* 测试存储库设置被跳过 - -`fast_spec_helper`还支持`lib/`目录中的自动加载类. 这意味着只要您的类/模块仅使用`lib/`目录中的代码,就无需显式加载任何依赖项. `fast_spec_helper`还将加载所有 ActiveSupport 扩展,包括 Rails 环境中常用的核心扩展. - -请注意,在某些情况下,当代码使用 gems 或`lib/`没有依赖项时,您可能仍必须使用`require_dependency`加载某些依赖项. - -例如,如果要测试调用`Gitlab::UntrustedRegexp`类的代码,该类在`Gitlab::UntrustedRegexp`使用`re2`库,则应将`require_dependency 're2'`添加到需要`re2` gem 的库文件中,以达到此要求明确,也可以将其添加到规范本身中,但最好使用前者. - -加载使用`fast_spec_helper`测试大约需要一秒钟,而不是常规`spec_helper`的 30+秒. - -### `let` variables[](#let-variables "Permalink") - -GitLab 的 RSpec 套件广泛使用`let` (以及严格的非延迟版本`let!` )变量来减少重复. 但是,有时这有时要以[清楚为代价](https://thoughtbot.com/blog/lets-not) ,因此我们需要为以后的使用设置一些准则: - -* `let!` 变量优于实例变量. `let`变量比`let!`可取`let!` 变量. 局部变量比`let`变量更可取. -* 使用`let`可以减少整个规格文件中的重复项. -* 不要使用`let`定义单个测试使用的变量; 在测试的`it`块中将它们定义为局部变量. -* 不要在顶层`describe`块中定义只用于更深层嵌套`context`或`describe`块的`let`变量. 使定义尽可能靠近使用位置. -* 尽量避免将一个`let`变量的定义覆盖另一个. -* 不要定义只供另一个定义使用的`let`变量. 请改用辅助方法. -* `let!` 变量应该只在需要与定义为了严格评估的情况下使用,否则`let`就足够了. 请记住, `let`是惰性的,在被引用之前不会被评估. - -### Common test setup[](#common-test-setup "Permalink") - -在某些情况下,无需为每个示例再次创建相同的对象以进行测试. 例如,需要一个项目和该项目的访客来测试同一项目上的问题,一个项目和一个用户将对整个文件进行测试. - -尽可能不要使用`before(:all)`或`before(:context)`实现此目的. 如果这样做,您将需要手动清理数据,因为这些挂钩在数据库事务外部运行. - -相反,这可以通过使用来实现[`let_it_be`](https://test-prof.evilmartians.io/#/let_it_be)变量和[`before_all`](https://test-prof.evilmartians.io/#/before_all)钩从[`test-prof`的宝石](https://rubygems.org/gems/test-prof) . - -``` -let_it_be(:project) { create(:project) } -let_it_be(:user) { create(:user) } - -before_all do - project.add_guest(user) -end -``` - -这将仅为此上下文创建一个`Project` , `User`和`ProjectMember` . - -`let_it_be`和`before_all`在嵌套上下文中也可用. 使用事务回滚自动处理上下文后进行清理. - -Note that if you modify an object defined inside a `let_it_be` block, then you will need to reload the object as needed, or specify the `reload` option to reload for every example. - -``` -let_it_be(:project, reload: true) { create(:project) } -``` - -您还可以指定`refind`选项以完全加载新对象. - -``` -let_it_be(:project, refind: true) { create(:project) } -``` - -### Time-sensitive tests[](#time-sensitive-tests "Permalink") - -在基于 Ruby 的测试中可以使用[Timecop](https://github.com/travisjeffery/timecop)来验证对时间敏感的事物. 任何锻炼或验证时间敏感的测试都应使用 Timecop 来防止瞬态测试失败. - -Example: - -``` -it 'is overdue' do - issue = build(:issue, due_date: Date.tomorrow) - - Timecop.freeze(3.days.from_now) do - expect(issue).to be_overdue - end -end -``` - -### Feature flags in tests[](#feature-flags-in-tests "Permalink") - -在基于 Ruby 的测试中,默认情况下所有功能标志都已启用. - -要在测试中禁用功能标记,请使用`stub_feature_flags`帮助器. 例如,要在测试中全局禁用`ci_live_trace`功能标志: - -``` -stub_feature_flags(ci_live_trace: false) - -Feature.enabled?(:ci_live_trace) # => false -``` - -如果您希望设置一个仅对某些角色而不对其他角色启用功能标志的测试,则可以在传递给助手的选项中指定此功能. 例如,要为特定项目启用`ci_live_trace`功能标记: - -``` -project1, project2 = build_list(:project, 2) - -# Feature will only be enabled for project1 -stub_feature_flags(ci_live_trace: project1) - -Feature.enabled?(:ci_live_trace) # => false -Feature.enabled?(:ci_live_trace, project1) # => true -Feature.enabled?(:ci_live_trace, project2) # => false -``` - -这代表了 FlipperGate 的实际行为: - -1. 您可以启用要启用的指定角色的替代 -2. 您可以禁用(删除)指定角色的替代,并还原为默认状态 -3. 无法建模您明确禁用指定的参与者 - -``` -Feature.enable(:my_feature) -Feature.disable(:my_feature, project1) -Feature.enabled?(:my_feature) # => true -Feature.enabled?(:my_feature, project1) # => true -``` - -``` -Feature.disable(:my_feature2) -Feature.enable(:my_feature2, project1) -Feature.enabled?(:my_feature2) # => false -Feature.enabled?(:my_feature2, project1) # => true -``` - -#### `stub_feature_flags` vs `Feature.enable*`[](#stub_feature_flags-vs-featureenable "Permalink") - -最好使用`stub_feature_flags`在测试环境中启用功能标志. 该方法为简单的用例提供了一个简单且描述良好的界面. - -但是,在某些情况下,需要测试更复杂的行为,例如功能标志百分比展示. 这可以使用`.enable_percentage_of_time`和`.enable_percentage_of_actors`来实现 - -``` -# Good: feature needs to be explicitly disabled, as it is enabled by default if not defined -stub_feature_flags(my_feature: false) -stub_feature_flags(my_feature: true) -stub_feature_flags(my_feature: project) -stub_feature_flags(my_feature: [project, project2]) - -# Bad -Feature.enable(:my_feature_2) - -# Good: enable my_feature for 50% of time -Feature.enable_percentage_of_time(:my_feature_3, 50) - -# Good: enable my_feature for 50% of actors/gates/things -Feature.enable_percentage_of_actors(:my_feature_4, 50) -``` - -具有定义状态的每个功能标志将在测试执行时间内保留: - -``` -Feature.persisted_names.include?('my_feature') => true -Feature.persisted_names.include?('my_feature_2') => true -Feature.persisted_names.include?('my_feature_3') => true -Feature.persisted_names.include?('my_feature_4') => true -``` - -#### Stubbing gate[](#stubbing-gate "Permalink") - -要求将作为参数传递给`Feature.enabled?` 和`Feature.disabled?` 是包含`FeatureGate`的对象. - -在规范中,您可以使用`stub_feature_flag_gate`方法,该方法可让您快速使用自定义门: - -``` -gate = stub_feature_flag_gate('CustomActor') - -stub_feature_flags(ci_live_trace: gate) - -Feature.enabled?(:ci_live_trace) # => false -Feature.enabled?(:ci_live_trace, gate) # => true -``` - -### Pristine test environments[](#pristine-test-environments "Permalink") - -单个 GitLab 测试执行的代码可以访问和修改许多数据项. 无需在测试运行之前进行仔细的准备,然后再进行清理,则测试可以更改数据,从而影响后续测试的行为. 应不惜一切代价避免这种情况! 幸运的是,现有的测试框架已经可以处理大多数情况. - -当测试环境确实受到污染时,常见的结果就是[不稳定的测试](flaky_tests.html) . 污染通常表现为顺序依赖性:运行规格 A,然后运行规格 B 会可靠地失败,但是运行规格 B,然后运行规格 A 将可靠地成功. 在这些情况下,可以使用`rspec --bisect` (或规格文件的手动成对二`rspec --bisect` )来确定哪个规格有问题. 要解决此问题,需要对测试套件如何确保原始环境有一些了解. 继续阅读以发现有关每个数据存储的更多信息! - -#### SQL database[](#sql-database "Permalink") - -这是由`database_cleaner` gem 为我们管理的. 每个规范都包含在一个事务中,一旦测试完成,该事务将回滚. 某些规范将在完成后针对每个表发出`DELETE FROM`查询; 这样可以从多个数据库连接中查看创建的行,这对于在浏览器中运行的规范或迁移规范等非常重要. - -使用这些策略而不是众所周知的`TRUNCATE TABLES`方法的结果是,主键和其他序列**不会**在整个规范中重置. 因此,如果您在规范 A 中创建一个项目,然后在规范 B 中创建一个项目,则第一个将具有`id=1` ,而第二个将具有`id=2` . - -这意味着规范**永远**不应依赖 ID 或任何其他序列生成的列的值. 为避免意外冲突,规范还应避免手动指定此类列中的任何值. 而是将它们保留为未指定状态,并在创建行后查找值. - -#### Redis[](#redis "Permalink") - -GitLab 在 Redis 中存储了两个主要的数据类别:缓存项和 Sidekiq 作业. - -在大多数规范中,Rails 缓存实际上是一个内存存储. 规格之间已替换了该代码,因此对`Rails.cache.read`和`Rails.cache.write`调用是安全的. 但是,如果某个规范直接进行 Redis 调用,则应适当地使用`:clean_gitlab_redis_cache` , `:clean_gitlab_redis_shared_state`或`:clean_gitlab_redis_queues`特征对其进行标记. - -#### Background jobs / Sidekiq[](#background-jobs--sidekiq "Permalink") - -默认情况下,Sidekiq 作业会排队到作业数组中,并且不会进行处理. 如果测试将 Sidekiq 作业排入队列并需要对其进行处理,则可以使用`:sidekiq_inline`特性. - -The `:sidekiq_might_not_need_inline` trait was added when [Sidekiq inline mode was changed to fake mode](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/15479) to all the tests that needed Sidekiq to actually process jobs. Tests with this trait should be either fixed to not rely on Sidekiq processing jobs, or their `:sidekiq_might_not_need_inline` trait should be updated to `:sidekiq_inline` if the processing of background jobs is needed/expected. - -**注意:** `perform_enqueued_jobs`的用法仅对测试延迟的邮件传递有用,因为我们的 Sidekiq 工作者不是从`ApplicationJob` / `ActiveJob::Base`继承. - -#### DNS[](#dns "Permalink") - -DNS 请求在测试套件中普遍存在(截至[!22368](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/22368) ),因为 DNS 可能会导致问题,具体取决于开发人员的本地网络. 在`spec/support/dns.rb`有可用的 RSpec 标签,如果您需要绕过 DNS 存根,则可以将其应用于测试,例如: - -``` -it "really connects to Prometheus", :permit_dns do -``` - -而且,如果需要更具体的控制,则可以在`spec/support/helpers/dns_helpers.rb`实现 DNS 阻止,并且可以在其他地方调用这些方法. - -#### Filesystem[](#filesystem "Permalink") - -文件系统数据可以大致分为"存储库"和"其他所有内容". 存储库存储在`tmp/tests/repositories` . 在测试运行开始之前和测试运行结束之后,将清空此目录. 在规格之间不清空它,因此在过程的整个生命周期中,创建的存储库都在此目录中累积. 删除它们很昂贵,但是除非精心管理,否则可能会导致污染. - -为避免这种情况,在测试套件中启用了[哈希存储](../../administration/repository_storage_types.html) . 这意味着将为存储库提供一个唯一的路径,该路径取决于其项目的 ID. 由于在规范之间未重置项目 ID,因此可以确保每个规范在磁盘上获得自己的存储库,并防止在规范之间可见更改. - -如果规范手动指定了项目 ID,或直接检查`tmp/tests/repositories/`目录的状态,则它应该在运行之前和之后清理该目录. 通常,应完全避免这些模式. - -链接到数据库对象的其他文件类别(例如上载)通常以相同的方式进行管理. 在规范中启用了散列存储后,它们将在 ID 确定的位置写入磁盘,因此不会发生冲突. - -一些规范通过将`:legacy_storage`特征传递给`projects`工厂来禁用哈希存储. 执行此操作的规范绝**不能**覆盖项目或其任何组的`path` . 默认路径包含项目 ID,因此不会发生冲突. 但是,如果两个规范创建具有相同路径的`:legacy_storage`项目,则它们将使用磁盘上的相同存储库并导致测试环境污染. - -其他文件必须由规范手动管理. 例如,如果运行创建`tmp/test-file.csv`文件的代码,则规范必须确保在清理过程中删除了该文件. - -#### Persistent in-memory application state[](#persistent-in-memory-application-state "Permalink") - -给定`rspec`运行中的所有规范共享相同的 Ruby 进程,这意味着它们可以通过修改规范之间可访问的 Ruby 对象相互影响. 实际上,这意味着全局变量和常量(包括 Ruby 类,模块等). - -全局变量通常不应修改. 如果绝对必要,则可以使用如下所示的块来确保更改被回滚: - -``` -around(:each) do |example| - old_value = $0 - - begin - $0 = "new-value" - example.run - ensure - $0 = old_value - end -end -``` - -如果规范需要修改常量,则应使用`stub_const`帮助器以确保更改被回滚. - -如果需要修改`ENV`常量的内容,则可以改用`stub_env`帮助器方法. - -虽然大多数 Ruby **实例**不在规范之间共享,但**类**和**模块**通常是共享的. 类和模块实例变量,访问器,类变量和其他有状态习语应与全局变量一样对待-除非必须修改,否则请勿对其进行修改! 特别是,最好使用期望值或依赖项注入以及存根,以避免进行修改. 如果没有其他选择,可以使用类似于上面的全局变量示例的`around`块,但应尽可能避免这种情况. - -### Table-based / Parameterized tests[](#table-based--parameterized-tests "Permalink") - -这种测试风格用于执行一段具有广泛输入范围的代码. 通过一次指定测试用例,并在每个输入和预期输出表的旁边,可以使您的测试更易于阅读和紧凑. - -我们使用[RSpec :: Parameterized](https://github.com/tomykaira/rspec-parameterized) gem. 一个简短的示例,使用表语法并检查 Ruby 相等性是否为一系列输入,可能看起来像这样: - -``` -describe "#==" do - using RSpec::Parameterized::TableSyntax - - where(:a, :b, :result) do - 1 | 1 | true - 1 | 2 | false - true | true | true - true | false | false - end - - with_them do - it { expect(a == b).to eq(result) } - - it 'is isomorphic' do - expect(b == a).to eq(result) - end - end -end -``` - -**注意:**仅将简单值用作`where`块中的输入. 使用 proc,有状态对象,FactoryBot 创建的对象等可能导致[意外结果](https://github.com/tomykaira/rspec-parameterized/issues/8) . - -### Prometheus tests[](#prometheus-tests "Permalink") - -可以将 Prometheus 度量从一次测试运行保存到另一次测试. 为了确保在每个示例之前重置指标,请在 RSpec 测试中添加`:prometheus`标记. - -### Matchers[](#matchers "Permalink") - -应该创建自定义匹配器以阐明意图和/或隐藏 RSpec 期望的复杂性. 它们应放在`spec/support/matchers/` . 如果匹配器仅适用于某种类型的规范(例如功能,请求等),则可以放在子文件夹中,但如果它们适用于多种类型的规范,则不应该放在子文件夹中. - -#### `be_like_time`[](#be_like_time "Permalink") - -从数据库返回的时间的精度可能与 Ruby 中的时间对象不同,因此在规格比较时我们需要灵活的容差. 我们可以使用`be_like_time`来比较时间在彼此之间一秒之内. - -Example: - -``` -expect(metrics.merged_at).to be_like_time(time) -``` - -#### `have_gitlab_http_status`[](#have_gitlab_http_status "Permalink") - -`have_gitlab_http_status`使用`have_http_status`而不是`have_http_status`和`have_http_status` `expect(response.status).to` `have_http_status` ,因为只要状态不匹配,前者还可以显示响应主体. 每当某些测试开始中断时,这将非常有用,我们很想知道为什么不编辑源代码并重新运行测试. - -每当它显示 500 内部服务器错误时,此功能特别有用. - -在数字表示形式`206` `:no_content`命名为 HTTP 的状态,如`:no_content` . 请参阅[支持的状态代码](https://github.com/rack/rack/blob/f2d2df4016a906beec755b63b4edfcc07b58ee05/lib/rack/utils.rb#L490)列表. - -Example: - -``` -expect(response).to have_gitlab_http_status(:ok) -``` - -### Testing query performance[](#testing-query-performance "Permalink") - -测试查询性能使我们能够: - -* 断言代码块中不存在 N + 1 个问题. -* 确保代码块中的查询数量不会被忽略. - -#### QueryRecorder[](#queryrecorder "Permalink") - -`QueryRecorder`允许分析和测试在给定代码块中执行的数据库查询的数量. - -有关更多详细信息,请参见[`QueryRecorder`](../query_recorder.html)部分. - -#### GitalyClient[](#gitalyclient "Permalink") - -`Gitlab::GitalyClient.get_request_count` allows tests of the number of Gitaly queries made by a given block of code: - -有关更多详细信息,请参见[`Gitaly Request Counts`](../gitaly.html#request-counts)部分. - -### Shared contexts[](#shared-contexts "Permalink") - -可以内联声明仅在一个规范文件中使用的共享上下文. 一个以上规范文件使用的任何共享上下文: - -* 应该放在`spec/support/shared_contexts/` . -* 如果它们仅适用于某种类型的规范(例如功能,请求等),则可以放在子文件夹中,但如果它们适用于多种类型的规范,则不应放在子文件夹中. - -每个文件应仅包含一个上下文并具有描述性名称,例如`spec/support/shared_contexts/controllers/githubish_import_controller_shared_context.rb` . - -### Shared examples[](#shared-examples "Permalink") - -可以内联声明仅在一个规范文件中使用的共享示例. 多个规范文件使用的任何共享示例: - -* 应该放在`spec/support/shared_examples/` . -* 如果它们仅适用于某种类型的规范(例如功能,请求等),则可以放在子文件夹中,但如果它们适用于多种类型的规范,则不应放在子文件夹中. - -每个文件应仅包含一个上下文并具有描述性名称,例如`spec/support/shared_examples/controllers/githubish_import_controller_shared_example.rb` . - -### Helpers[](#helpers "Permalink") - -帮助程序通常是提供一些隐藏特定 RSpec 示例复杂性的方法的模块. 如果不希望与其他规范共享,则可以在 RSpec 文件中定义帮助程序. 否则,应将它们放在`spec/support/helpers/` . 如果助手仅适用于某种类型的规范(例如功能,请求等),则可以放在子文件夹中,但如果它们适用于多种类型的规范,则不应放在子文件夹中. - -助手应遵循 Rails 的命名/命名空间约定. 例如`spec/support/helpers/cycle_analytics_helpers.rb`应该定义: - -``` -module Spec - module Support - module Helpers - module CycleAnalyticsHelpers - def create_commit_referencing_issue(issue, branch_name: random_git_name) - project.repository.add_branch(user, branch_name, 'master') - create_commit("Commit for ##{issue.iid}", issue.project, user, branch_name) - end - end - end - end -end -``` - -助手不应更改 RSpec 配置. 例如,上述帮助器模块不应包括: - -``` -RSpec.configure do |config| - config.include Spec::Support::Helpers::CycleAnalyticsHelpers -end -``` - -### Factories[](#factories "Permalink") - -GitLab 使用[factory_bot](https://github.com/thoughtbot/factory_bot)替代测试夹具. - -* 工厂定义存在于`spec/factories/` ,使用其对应模型的复数形式命名( `User`工厂在`users.rb`中定义). -* 每个文件应该只有一个顶级工厂定义. -* FactoryBot 方法混入了所有 RSpec 组. 这意味着您可以(并且应该)调用`create(...)`而不是`FactoryBot.create(...)` . -* 利用[特征](https://www.rubydoc.info/gems/factory_bot/file/GETTING_STARTED.md#traits)来清理定义和用法. -* 定义工厂时,请勿定义结果记录通过验证不需要的属性. -* 从工厂实例化时,不要提供测试不需要的属性. -* 工厂不必仅限于`ActiveRecord`对象. [参见示例](https://gitlab.com/gitlab-org/gitlab-foss/commit/0b8cefd3b2385a21cfed779bd659978c0402766d) . - -### Fixtures[](#fixtures "Permalink") - -所有固定装置应放置在`spec/fixtures/` . - -### Repositories[](#repositories "Permalink") - -测试某些功能(例如,合并合并请求)需要在测试环境中具有某种状态的 Git 存储库. GitLab 在某些常见情况下会维护[`gitlab-test`](https://gitlab.com/gitlab-org/gitlab-test)存储库-您可以确保该存储库的副本与`:repository`特性一起用于项目工厂: - -``` -let(:project) { create(:project, :repository) } -``` - -可以的话,请考虑使用`:custom_repo`特性而不是`:repository` . 这使您可以精确地指定哪些文件将出现在项目存储库的`master`分支中. 例如: - -``` -let(:project) do - create( - :project, :custom_repo, - files: { - 'README.md' => 'Content here', - 'foo/bar/baz.txt' => 'More content here' - } - ) -end -``` - -这将创建一个包含两个文件的存储库,这两个文件具有默认权限和指定的内容. - -### Configuration[](#configuration "Permalink") - -RSpec 配置文件是更改 RSpec 配置的文件(即`RSpec.configure do |config|`块). 它们应放在`spec/support/` . - -每个文件都应与特定域相关,例如`spec/support/capybara.rb` , `spec/support/carrierwave.rb`等. - -如果 helpers 模块仅适用于某种规格,则应在`config.include`调用中添加修饰符. 例如,如果`spec/support/helpers/cycle_analytics_helpers.rb`仅适用于`:lib`和`type: :model` specs,则应编写以下内容: - -``` -RSpec.configure do |config| - config.include Spec::Support::Helpers::CycleAnalyticsHelpers, :lib - config.include Spec::Support::Helpers::CycleAnalyticsHelpers, type: :model -end -``` - -If a configuration file only consists of `config.include`, you can add these `config.include` directly in `spec/spec_helper.rb`. - -对于非常通用的帮助程序,请考虑将它们包括在`spec/support/rspec.rb`文件使用的`spec/fast_spec_helper.rb`文件中. 有关`spec/fast_spec_helper.rb`文件的更多详细信息,请参见[快速单元测试](#fast-unit-tests) . - -### Test environment logging[](#test-environment-logging "Permalink") - -在运行测试时,会自动配置并启动用于测试环境的服务,包括 Gitaly,Workhorse,Elasticsearch 和 Capybara. 在 CI 中运行时,或者如果需要安装服务,则测试环境将记录有关设置时间的信息,并产生如下日志消息: - -``` -==> Setting up Gitaly... - Gitaly set up in 31.459649 seconds... - -==> Setting up GitLab Workhorse... - GitLab Workhorse set up in 29.695619 seconds... -fatal: update refs/heads/diff-files-symlink-to-image: invalid <newvalue>: 8cfca84 -From https://gitlab.com/gitlab-org/gitlab-test - * [new branch] diff-files-image-to-symlink -> origin/diff-files-image-to-symlink - * [new branch] diff-files-symlink-to-image -> origin/diff-files-symlink-to-image - * [new branch] diff-files-symlink-to-text -> origin/diff-files-symlink-to-text - * [new branch] diff-files-text-to-symlink -> origin/diff-files-text-to-symlink - b80faa8..40232f7 snippet/multiple-files -> origin/snippet/multiple-files - * [new branch] testing/branch-with-#-hash -> origin/testing/branch-with-#-hash - -==> Setting up GitLab Elasticsearch Indexer... - GitLab Elasticsearch Indexer set up in 26.514623 seconds... -``` - -当在本地运行并且不需要执行任何操作时,将忽略此信息. 如果您始终希望看到这些消息,请设置以下环境变量: - -``` -GITLAB_TESTING_LOG_LEVEL=debug -``` - -* * * - -[Return to Testing documentation](index.html) \ No newline at end of file diff --git a/docs/633.md b/docs/633.md deleted file mode 100644 index 24dcb4a..0000000 --- a/docs/633.md +++ /dev/null @@ -1,342 +0,0 @@ -# Testing levels - -> 原文:[https://docs.gitlab.com/ee/development/testing_guide/testing_levels.html](https://docs.gitlab.com/ee/development/testing_guide/testing_levels.html) - -* [Unit tests](#unit-tests) - * [Frontend unit tests](#frontend-unit-tests) - * [When to use unit tests](#when-to-use-unit-tests) - * [When *not* to use unit tests](#when-not-to-use-unit-tests) - * [What to mock in unit tests](#what-to-mock-in-unit-tests) - * [What *not* to mock in unit tests](#what-not-to-mock-in-unit-tests) - * [Frontend component tests](#frontend-component-tests) - * [When to use component tests](#when-to-use-component-tests) - * [When *not* to use component tests](#when-not-to-use-component-tests) - * [What to mock in component tests](#what-to-mock-in-component-tests) - * [What *not* to mock in component tests](#what-not-to-mock-in-component-tests) -* [Integration tests](#integration-tests) - * [Frontend integration tests](#frontend-integration-tests) - * [When to use integration tests](#when-to-use-integration-tests) - * [What to mock in integration tests](#what-to-mock-in-integration-tests) - * [What *not* to mock in integration tests](#what-not-to-mock-in-integration-tests) - * [About controller tests](#about-controller-tests) - * [About Karma](#about-karma) -* [White-box tests at the system level (formerly known as System / Feature tests)](#white-box-tests-at-the-system-level-formerly-known-as-system--feature-tests) - * [Frontend feature tests](#frontend-feature-tests) - * [When to use feature tests](#when-to-use-feature-tests) - * [Relevant notes](#relevant-notes) - * [Consider **not** writing a system test](#consider-not-writing-a-system-test) -* [Black-box tests at the system level, aka end-to-end tests](#black-box-tests-at-the-system-level-aka-end-to-end-tests) - * [Smoke tests](#smoke-tests) - * [GitLab QA orchestrator](#gitlab-qa-orchestrator) -* [EE-specific tests](#ee-specific-tests) -* [How to test at the correct level?](#how-to-test-at-the-correct-level) - * [Frontend-related tests](#frontend-related-tests) - -# Testing levels[](#testing-levels "Permalink") - -[![Testing priority triangle](img/35460a8c847cde5f9e477c80231d7f8b.png)](img/testing_triangle.png) - -*此图说明了我们使用的每种测试类型的相对优先级. `e2e`代表端到端.* - -截至 2019-05-01,我们每个级别的测试分布如下: - -| 测试等级 | 社区版 | 企业版 | 社区+企业版 | -| --- | --- | --- | --- | -| 系统级别的黑盒测试(也称为端到端或 QA 测试) | 68 (0.14%) | 31 (0.2%) | 99 (0.17%) | -| 系统级别的白盒测试(也称为系统或功能测试) | 5,471 (11.9%) | 969 (7.4%) | 6440 (10.9%) | -| 整合测试 | 8,333 (18.2%) | 2,244 (17.2%) | 10,577 (17.9%) | -| 单元测试 | 32,031 (69.7%) | 9,778 (75.1%) | 41,809 (71%) | - -## Unit tests[](#unit-tests "Permalink") - -正式定义: [https](https://en.wikipedia.org/wiki/Unit_testing) : [//en.wikipedia.org/wiki/Unit_testing](https://en.wikipedia.org/wiki/Unit_testing) - -这类测试可确保单个代码单元(一种方法)按预期工作(给定输入,它具有可预测的输出). 这些测试应尽可能隔离. 例如,对数据库不做任何事情的模型方法不需要数据库记录. 不需要数据库记录的类应尽可能使用存根/双精度数. - -| 代码路径 | 测试路径 | 测试引擎 | Notes | -| --- | --- | --- | --- | -| `app/assets/javascripts/` | `spec/javascripts/`, `spec/frontend/` | 因果 | " [前端测试指南"](frontend_testing.html)部分中的更多详细信息. | -| `app/finders/` | `spec/finders/` | RSpec |   | -| `app/graphql/` | `spec/graphql/` | RSpec |   | -| `app/helpers/` | `spec/helpers/` | RSpec |   | -| `app/models/` | `spec/models/` | RSpec |   | -| `app/policies/` | `spec/policies/` | RSpec |   | -| `app/presenters/` | `spec/presenters/` | RSpec |   | -| `app/serializers/` | `spec/serializers/` | RSpec |   | -| `app/services/` | `spec/services/` | RSpec |   | -| `app/uploaders/` | `spec/uploaders/` | RSpec |   | -| `app/validators/` | `spec/validators/` | RSpec |   | -| `app/views/` | `spec/views/` | RSpec |   | -| `app/workers/` | `spec/workers/` | RSpec |   | -| `bin/` | `spec/bin/` | RSpec |   | -| `config/` | `spec/config/` | RSpec |   | -| `config/initializers/` | `spec/initializers/` | RSpec |   | -| `config/routes.rb`, `config/routes/` | `spec/routing/` | RSpec |   | -| `config/puma.example.development.rb`, `config/unicorn.rb.example` | `spec/rack_servers/` | RSpec |   | -| `db/` | `spec/db/` | RSpec |   | -| `db/{post_,}migrate/` | `spec/migrations/` | RSpec | 更多信息,请参见《 [Testing Rails 迁移指南》](testing_migrations_guide.html) . | -| `Gemfile` | `spec/dependencies/`, `spec/sidekiq/` | RSpec |   | -| `lib/` | `spec/lib/` | RSpec |   | -| `lib/tasks/` | `spec/tasks/` | RSpec |   | -| `rubocop/` | `spec/rubocop/` | RSpec |   | -| `spec/factories` | `spec/factories_spec.rb` | RSpec |   | - -### Frontend unit tests[](#frontend-unit-tests "Permalink") - -Unit tests are on the lowest abstraction level and typically test functionality that is not directly perceivable by a user. - -图 RL plain [普通 JavaScript]; Vue [Vue 组件]; feature-flags [功能标志]; 许可证检查[许可证检查]; 普通--Vuex; 普通--GraphQL; Vue--简单 Vue --- Vuex; Vue--GraphQL; 浏览器-普通 浏览器--- Vue; 普通-后端; Vuex-后端; GraphQL--后端; Vue-后端; 后端-数据库 后端-功能标记; 后端-许可证检查; 普通测试 经过 Vuex 类测试; classDef 节点颜色:#909090,填充:#f0f0f0,笔划宽度:2px,笔划:#909090 classDef 标签 stroke-width:0; classDef 测试的颜色:#000000,填充:#a0c0ff,笔划:#6666ff,笔划宽度:2px,笔划数组:5、5; 经过测试的子图; 嘲笑 等级测试 结束 - -#### When to use unit tests[](#when-to-use-unit-tests "Permalink") - -* **导出的函数和类** :导出的所有内容都可以以您无法控制的方式在各个地方重复使用. 您应该用测试记录公共接口的预期行为. -* **Vuex 操作** :任何 Vuex 操作都必须以一致的方式工作,而不依赖于触发它的组件. -* **Vuex 突变** :对于复杂的 Vuex 突变,您应该将测试与 Vuex 存储的其他部分分开,以简化问题解决的过程. - -#### When *not* to use unit tests[](#when-not-to-use-unit-tests "Permalink") - -* **非导出的函数或类** :任何未从模块导出的东西都可以视为私有或实现细节,不需要进行测试. -* **常量** :测试**常量**的值意味着将其复制,从而导致额外的工作,而又没有信心确保该值正确. -* **Vue 组件** :计算出的属性,方法和生命周期挂钩可被视为组件的实现细节,它们被组件测试隐式涵盖,并且不需要进行测试. 有关更多信息,请参见[官方 Vue 指南](https://vue-test-utils.vuejs.org/guides/#getting-started) . - -#### What to mock in unit tests[](#what-to-mock-in-unit-tests "Permalink") - -* **被测类**的状态:直接修改**被测类**的状态而不是使用类的方法可以避免测试设置中的副作用. -* **其他导出的类** :必须隔离测试每个类,以防止测试方案成倍增长. -* **如果将单个 DOM 元素作为参数传递** :对于仅在单个 DOM 元素而不是整个页面上运行的测试,创建这些元素比加载整个 HTML 固定工具便宜. -* **所有服务器请求** :在运行前端单元测试时,后端可能无法访问,因此需要模拟所有传出的请求. -* **异步后台操作** :后台操作无法停止或等待,因此它们将在以下测试中继续运行并产生副作用. - -#### What *not* to mock in unit tests[](#what-not-to-mock-in-unit-tests "Permalink") - -* **非导出的函数或类** :可以将未导出的所有内容视为该模块的私有内容,并将通过导出的类和函数进行隐式测试. -* **被测类的方法** :通过模拟**被测类的**方法,将对模拟进行测试,而不是对实际方法进行测试. -* **实用程序功能(纯功能或仅修改参数**的功能**)** :如果某个功能由于没有状态而没有副作用,则可以在测试中不对其进行模拟. -* **完整的 HTML 页面** :避免在单元测试中加载整个页面的 HTML,因为这会减慢测试速度. - -### Frontend component tests[](#frontend-component-tests "Permalink") - -组件测试涵盖了用户可以根据外部信号(例如用户输入,从其他组件触发的事件或应用程序状态)感知到的单个组件的状态. - -图 RL plain [普通 JavaScript]; Vue [Vue 组件]; feature-flags [功能标志]; 许可证检查[许可证检查]; 普通--Vuex; 普通--GraphQL; Vue--简单 Vue --- Vuex; Vue--GraphQL; 浏览器-普通 浏览器--- Vue; 普通-后端; Vuex-后端; GraphQL--后端; Vue-后端; 后端-数据库 后端-功能标记; 后端-许可证检查; 经过 Vue 测试; classDef 节点颜色:#909090,填充:#f0f0f0,笔划宽度:2px,笔划:#909090 classDef 标签 stroke-width:0; classDef 测试的颜色:#000000,填充:#a0c0ff,笔划:#6666ff,笔划宽度:2px,笔划数组:5、5; 经过测试的子图; 嘲笑 等级测试 结束 - -#### When to use component tests[](#when-to-use-component-tests "Permalink") - -* **组件视图** - -#### When *not* to use component tests[](#when-not-to-use-component-tests "Permalink") - -* **Vue 应用程序** :Vue 应用程序可能包含许多组件. 在组件级别测试它们需要太多的工作. 因此,它们在前端集成级别进行了测试. -* **HAML 模板** :HAML 模板仅包含标记,不包含前端逻辑. 因此,它们不是完整的组件. - -#### What to mock in component tests[](#what-to-mock-in-component-tests "Permalink") - -* **DOM** :在真实 DOM 上操作要比在虚拟 DOM 上慢得多. -* **被测组件的属性和状态** :与测试类类似,直接修改属性(而不是依赖组件的方法)可以避免副作用. -* **Vuex 存储库** :为了避免副作用并简化组件测试,Vuex 存储库被模拟代替. -* **所有服务器请求** :与单元测试类似,在运行组件测试时,后端可能无法访问,因此需要模拟所有传出的请求. -* **异步后台操作** :与单元测试类似,后台操作无法停止或等待. 这意味着它们将在以下测试中继续运行并产生副作用. -* **子组件** :每个组件都经过单独测试,因此要模拟子组件. 另请参见[`shallowMount()`](https://vue-test-utils.vuejs.org/api/#shallowmount) - -#### What *not* to mock in component tests[](#what-not-to-mock-in-component-tests "Permalink") - -* **被测组件的方法或计算属性** :通过模拟**被测组件的**一部分,将对模拟进行测试,而不是实际组件. -* **独立于 Vue 的函数和类** :单元测试已经涵盖了所有普通的 JavaScript 代码,无需在组件测试中进行模拟. - -## Integration tests[](#integration-tests "Permalink") - -正式定义: [https](https://en.wikipedia.org/wiki/Integration_testing) : [//en.wikipedia.org/wiki/Integration_testing](https://en.wikipedia.org/wiki/Integration_testing) - -这些测试可确保应用程序的各个部分可以很好地协同工作,而不会造成实际应用程序环境(即浏览器)的开销. 这些测试应在请求/响应级别进行声明:状态码,标头,正文. 它们对于测试权限,重定向,呈现的视图等很有用. - -| Code path | 测试路径 | 测试引擎 | Notes | -| --- | --- | --- | --- | -| `app/controllers/` | `spec/controllers/` | RSpec | 对于 N + 1 测试,请使用[请求规范](../query_recorder.html#use-request-specs-instead-of-controller-specs) | -| `app/mailers/` | `spec/mailers/` | RSpec |   | -| `lib/api/` | `spec/requests/api/` | RSpec |   | -| `app/assets/javascripts/` | `spec/javascripts/`, `spec/frontend/` | 因果 | [More details below](#frontend-integration-tests) | - -### Frontend integration tests[](#frontend-integration-tests "Permalink") - -集成测试涵盖单个页面上所有组件之间的交互. 它们的抽象级别可与用户与 UI 交互的方式进行比较. - -图 RL plain [普通 JavaScript]; Vue [Vue 组件]; feature-flags [功能标志]; 许可证检查[许可证检查]; 普通--Vuex; 普通--GraphQL; Vue--简单 Vue --- Vuex; Vue--GraphQL; 浏览器-普通 浏览器--- Vue; 普通-后端; Vuex-后端; GraphQL--后端; Vue-后端; 后端-数据库 后端-功能标记; 后端-许可证检查; 普通测试 经过 Vue 测试; 经过 Vuex 类测试; 经过 GraphQL 类测试; 经过类浏览器测试; linkStyle 0、1、2、3、4、5、6 笔画:#6666ff,笔画宽度:2px,笔划数组:5、5; classDef 节点颜色:#909090,填充:#f0f0f0,笔划宽度:2px,笔划:#909090 classDef 标签 stroke-width:0; classDef 测试的颜色:#000000,填充:#a0c0ff,笔划:#6666ff,笔划宽度:2px,笔划数组:5、5; 经过测试的子图; 嘲笑 等级测试 结束 - -#### When to use integration tests[](#when-to-use-integration-tests "Permalink") - -* **页面捆绑包( `app/assets/javascripts/pages/` `index.js`文件)** :测试页面捆绑包可确保相应的前端组件很好地集成. -* **页面捆绑之外的 Vue 应用程序** :对 Vue 应用程序进行整体测试可确保相应的前端组件很好地集成. - -#### What to mock in integration tests[](#what-to-mock-in-integration-tests "Permalink") - -* **HAML 视图(改为使用夹具)** :渲染 HAML 视图需要一个 Rails 环境,其中包括一个正在运行的数据库,您不能在前端测试中依赖它. -* **所有服务器请求** :类似于单元测试和组件测试,在运行组件测试时,后端可能无法访问,因此必须模拟所有传出的请求. -* **页面上无法感知的异步后台操作** :影响页面的后台操作必须在此级别上进行测试. 所有其他后台操作都无法停止或等待,因此它们将在以下测试中继续运行并产生副作用. - -#### What *not* to mock in integration tests[](#what-not-to-mock-in-integration-tests "Permalink") - -* **DOM** :在真实的 DOM 上进行测试可确保您的组件在预期的环境中工作. DOM 测试的一部分委托给[跨浏览器测试](https://gitlab.com/gitlab-org/quality/team-tasks/-/issues/45) . -* **组件的属性或状态** :在此级别上,所有测试只能执行用户将要执行的操作. 例如:要更改组件的状态,将触发 click 事件. -* **Vuex 存储** :整体上测试页面的前端代码时,还将涵盖 Vue 组件与 Vuex 存储之间的交互. - -### About controller tests[](#about-controller-tests "Permalink") - -在理想的世界中,控制器应该很薄. 但是,如果不是这种情况,则可以编写不使用 JavaScript 而不是控制器测试的系统或功能测试. 测试胖控制器通常涉及很多桩工作,例如: - -``` -controller.instance_variable_set(:@user, user) -``` - -并使用 Rails 5( [#23768](https://gitlab.com/gitlab-org/gitlab/-/issues/16260) )中不推荐使用的方法. - -### About Karma[](#about-karma "Permalink") - -业力同时在单元测试和集成测试类别中. 业力提供了运行 JavaScript 测试的环境,因此您可以运行单元测试(例如,测试单个 JavaScript 方法)或集成测试(例如,测试由多个组件组成的组件). - -## White-box tests at the system level (formerly known as System / Feature tests)[](#white-box-tests-at-the-system-level-formerly-known-as-system--feature-tests "Permalink") - -正式定义: - -* [https://en.wikipedia.org/wiki/System_testing](https://en.wikipedia.org/wiki/System_testing) -* [https://en.wikipedia.org/wiki/White-box_testing](https://en.wikipedia.org/wiki/White-box_testing) - -这些测试可确保 GitLab *Rails*应用程序(例如`gitlab-foss` / `gitlab` )从*浏览器的*角度正常工作. - -注意: - -* 仍需要了解应用程序内部的知识 -* 测试所需的数据通常是使用 RSpec 工厂直接创建的 -* 期望通常在数据库或对象状态上设置 - -这些测试仅在以下情况下使用: - -* 被测试的功能/组件很小 -* 对象/数据库的内部状态*需要*测试 -* 它不能在较低的水平上进行测试 - -例如,要测试给定页面上的面包屑,编写系统测试很有意义,因为它是一个很小的组件,无法在单元或控制器级别进行测试. - -仅测试幸福的道路,但要确保为使用更好的测试无法在较低级别上捕获到的任何回归添加测试用例(例如,如果找到了回归,则应在可能的最低级别上添加回归测试). - -| 测试路径 | 测试引擎 | Notes | -| --- | --- | --- | -| `spec/features/` | [Capybara](https://github.com/teamcapybara/capybara) + [RSpec](https://github.com/rspec/rspec-rails#feature-specs) | If your test has the `:js` metadata, the browser driver will be [Poltergeist](https://github.com/teamcapybara/capybara#poltergeist), otherwise it’s using [RackTest](https://github.com/teamcapybara/capybara#racktest). | - -### Frontend feature tests[](#frontend-feature-tests "Permalink") - -与[前端集成测试](#frontend-integration-tests)相反,功能测试针对真正的后端而不是使用固定装置发出请求. 这也意味着将执行数据库查询,这将大大降低该类别的速度. - -也可以看看: - -* The [RSpec testing guidelines](../testing_guide/best_practices.html#rspec). -* [测试最佳实践](best_practices.html#system--feature-tests)中的系统/功能测试. -* [第 26159 期](https://gitlab.com/gitlab-org/gitlab/-/issues/26159) ,旨在将这些准则与本页面结合在一起. - -图 RL plain [普通 JavaScript]; Vue [Vue 组件]; feature-flags [功能标志]; 许可证检查[许可证检查]; 普通--Vuex; 普通--GraphQL; Vue--简单 Vue --- Vuex; Vue--GraphQL; 浏览器-普通 浏览器--- Vue; 普通-后端; Vuex-后端; GraphQL--后端; Vue-后端; 后端-数据库 后端-功能标记; 后端-许可证检查; 经过类后端测试; 普通测试 经过 Vue 测试; 经过 Vuex 类测试; 经过 GraphQL 类测试; 经过类浏览器测试; linkStyle 0、1、2、3、4、5、6、7、8、9、10 笔画:#6666ff,笔划宽度:2px,笔划数组:5、5; classDef 节点颜色:#909090,填充:#f0f0f0,笔划宽度:2px,笔划:#909090 classDef 标签 stroke-width:0; classDef 测试的颜色:#000000,填充:#a0c0ff,笔划:#6666ff,笔划宽度:2px,笔划数组:5、5; 经过测试的子图; 嘲笑 等级测试 结束 - -#### When to use feature tests[](#when-to-use-feature-tests "Permalink") - -* 需要后端并且无法使用固定装置进行测试的用例. -* 行为不是页面捆绑的一部分,而是全局定义的. - -#### Relevant notes[](#relevant-notes "Permalink") - -`:js`标志已添加到测试中,以确保已加载完整环境: - -``` -scenario 'successfully', :js do - sign_in(create(:admin)) -end -``` - -每个测试的步骤都是使用( [水豚法](https://www.rubydoc.info/gems/capybara) )编写的. - -XHR(XMLHttpRequest)调用可能要求您在步骤之间使用`wait_for_requests` ,例如: - -``` -find('.form-control').native.send_keys(:enter) - -wait_for_requests - -expect(page).not_to have_selector('.card') -``` - -### Consider **not** writing a system test[](#consider-not-writing-a-system-test "Permalink") - -如果我们有信心低级组件可以正常工作(如果我们有足够的单元和集成测试,那就应该如此),我们就不需要在系统测试级别重复它们的全面测试. - -添加测试非常容易,但是删除或改进测试却要困难得多,因此应该注意不要引入太多(缓慢和重复的)测试. - -我们遵循这些最佳做法的原因如下: - -* 系统测试运行缓慢,因为它们会在无头浏览器中启动整个应用程序堆栈,而在集成 JS 驱动程序时甚至会更慢 -* 当系统测试使用 JavaScript 驱动程序运行时,测试将在与应用程序不同的线程中运行. 这意味着它不共享数据库连接,并且您的测试将必须提交事务才能使正在运行的应用程序看到数据(反之亦然). 在那种情况下,我们需要在每个规范之后截断数据库,而不是简单地回滚事务(用于其他类型测试的更快策略). 但是,这比事务处理要慢,因此我们只想在必要时使用截断. - -## Black-box tests at the system level, aka end-to-end tests[](#black-box-tests-at-the-system-level-aka-end-to-end-tests "Permalink") - -正式定义: - -* [https://en.wikipedia.org/wiki/System_testing](https://en.wikipedia.org/wiki/System_testing) -* [https://en.wikipedia.org/wiki/Black-box_testing](https://en.wikipedia.org/wiki/Black-box_testing) - -GitLab 由[多个组件](../architecture.html#components)组成,例如[GitLab Shell](https://gitlab.com/gitlab-org/gitlab-shell) , [GitLab Workhorse](https://gitlab.com/gitlab-org/gitlab-workhorse) , [Gitaly](https://gitlab.com/gitlab-org/gitaly) , [GitLab Pages](https://gitlab.com/gitlab-org/gitlab-pages) , [GitLab Runner](https://gitlab.com/gitlab-org/gitlab-runner)和 GitLab Rails. 所有这些部件均由[Omnibus GitLab](https://gitlab.com/gitlab-org/omnibus-gitlab)进行配置和包装. - -QA 框架和实例级场景是[GitLab Rails 的一部分,](https://gitlab.com/gitlab-org/gitlab-foss/tree/master/qa)因此它们始终与代码库(尤其是视图)保持同步. - -注意: - -* 不需要了解应用程序内部 -* 测试所需的数据只能使用 GUI 或 API 创建 -* 只能针对浏览器页面和 API 响应做出期望 - -每个新功能都应附带[测试计划](https://gitlab.com/gitlab-org/gitlab/tree/master/.gitlab/issue_templates/Test plan.md) . - -| 测试路径 | 测试引擎 | Notes | -| --- | --- | --- | -| `qa/qa/specs/features/` | [Capybara](https://github.com/teamcapybara/capybara) + [RSpec](https://github.com/rspec/rspec-rails#feature-specs) +自定义质量检查框架 | 测试应放在相应的[产品类别下](https://about.gitlab.com/handbook/product/product-categories/) | - -> 有关更多信息,请参见[端对端测试](end_to_end/index.html) . - -请注意, `qa/spec`包含 QA 框架本身的[单元测试](#unit-tests) ,请勿与应用程序的[单元测试](#unit-tests)或[端到端](#black-box-tests-at-the-system-level-aka-end-to-end-tests) [测试](#unit-tests)相混淆. - -### Smoke tests[](#smoke-tests "Permalink") - -冒烟测试是可以随时运行的快速测试(尤其是在部署前迁移之后). - -这些测试针对 UI 运行,并确保基本功能正常运行. - -> 有关更多信息,请参见[烟雾测试](smoke.html) . - -### GitLab QA orchestrator[](#gitlab-qa-orchestrator "Permalink") - -[GitLab QA 协调器](https://gitlab.com/gitlab-org/gitlab-qa)是一种工具,可以通过为给定版本的 GitLab Rails 构建 Docker 映像并对其进行端到端测试(即使用 Capybara)来测试所有这些部分是否集成良好. - -在[GitLab 质量检查协调器自述文件中](https://gitlab.com/gitlab-org/gitlab-qa/tree/master/README.md)了解更多信息. - -## EE-specific tests[](#ee-specific-tests "Permalink") - -特定于 EE 的测试遵循相同的组织,但位于`ee/spec`文件夹下. - -## How to test at the correct level?[](#how-to-test-at-the-correct-level "Permalink") - -与生活中的许多事情一样,决定在每个测试级别上测试什么是一个权衡: - -* 单元测试通常很便宜,您应该将它们视为房子的地下室:您需要它们来确保您的代码行为正确. 但是,如果仅运行单元测试而不进行集成/系统测试,则可能会[错过](https://twitter.com/ThePracticalDev/status/850748070698651649) [大局](https://twitter.com/timbray/status/822470746773409794) / [大局](https://twitter.com/withzombies/status/829716565834752000) ! -* 集成测试要贵一些,但是请不要滥用它们. 系统测试通常比集成测试要好得多. -* 系统测试非常昂贵(与单元测试相比),如果它们需要 JavaScript 驱动程序,则价格甚至更高. 确保遵循" [速度"](best_practices.html#test-speed)部分中的准则. - -另一种看待它的方式是考虑"测试成本",本文对此进行了很好的解释[,](https://medium.com/table-xi/high-cost-tests-and-high-value-tests-a86e27a54df#.2ulyh3a4e)基本思想是测试成本包括: - -* 编写测试所需的时间 -* 套件每次运行都需要运行测试的时间 -* 了解测试所需的时间 -* 如果测试失败并且基础代码正常,则修复测试所花费的时间 -* 也许,更改代码以使其可测试所需的时间. - -### Frontend-related tests[](#frontend-related-tests "Permalink") - -在某些情况下,要测试的行为不值得花时间运行整个应用程序,例如,如果要测试样式,动画,边缘情况或不涉及后端的小动作,则应编写集成测试使用茉莉花. - -* * * - -[Return to Testing documentation](index.html) \ No newline at end of file diff --git a/docs/634.md b/docs/634.md deleted file mode 100644 index 3b42638..0000000 --- a/docs/634.md +++ /dev/null @@ -1,198 +0,0 @@ -# Testing Rails migrations at GitLab - -> 原文:[https://docs.gitlab.com/ee/development/testing_guide/testing_migrations_guide.html](https://docs.gitlab.com/ee/development/testing_guide/testing_migrations_guide.html) - -* [When to write a migration test](#when-to-write-a-migration-test) -* [How does it work?](#how-does-it-work) -* [Testing an `ActiveRecord::Migration` class](#testing-an-activerecordmigration-class) - * [Test helpers](#test-helpers) - * [`table`](#table) - * [`migrate!`](#migrate) - * [`reversible_migration`](#reversible_migration) - * [Example database migration test](#example-database-migration-test) -* [Testing a non-`ActiveRecord::Migration` class](#testing-a-non-activerecordmigration-class) - * [Example background migration test](#example-background-migration-test) - -# Testing Rails migrations at GitLab[](#testing-rails-migrations-at-gitlab "Permalink") - -为了可靠地检查 Rails 迁移,我们需要针对数据库架构对其进行测试. - -## When to write a migration test[](#when-to-write-a-migration-test "Permalink") - -* 后期迁移( `/db/post_migrate` )和后台迁移( `lib/gitlab/background_migration` ) **必须**执行迁移测试. -* 如果您的迁移是数据迁移,那么它**必须**具有迁移测试. -* 如有必要,其他迁移可能会进行迁移测试. - -## How does it work?[](#how-does-it-work "Permalink") - -在测试签名中添加`:migration`标记,可以在[`spec/support/migration.rb`](https://gitlab.com/gitlab-org/gitlab/-/blob/f81fa6ab1dd788b70ef44b85aaba1f31ffafae7d/spec/support/migration.rb)挂钩`before`和`after`运行一些自定义 RSpec. - -`before`钩子会将所有迁移还原到尚未迁移被测试的迁移点. - -换句话说,我们的自定义 RSpec 挂钩将找到以前的迁移,并将数据库**向下**迁移到以前的迁移版本. - -使用这种方法,您可以针对数据库架构测试迁移. - -一个`after`钩子将数据库迁移**并** reinstitute 最新的架构版本,因此该方法不会影响后续的规格,并确保适当的隔离. - -## Testing an `ActiveRecord::Migration` class[](#testing-an-activerecordmigration-class "Permalink") - -要测试`ActiveRecord::Migration`类(即常规迁移`db/migrate`或迁移后`db/post_migrate` ),您将需要手动`require`迁移文件,因为它不会随 Rails 自动加载. 例: - -``` -require Rails.root.join('db', 'post_migrate', '20170526185842_migrate_pipeline_stages.rb') -``` - -### Test helpers[](#test-helpers "Permalink") - -#### `table`[](#table "Permalink") - -使用`table`助手为`table`创建一个临时的`ActiveRecord::Base`派生模型. [FactoryBot](best_practices.html#factories) **不**应用于为迁移规范创建数据. 例如,要在`projects`表中创建一条记录: - -``` -project = table(:projects).create!(id: 1, name: 'gitlab1', path: 'gitlab1') -``` - -#### `migrate!`[](#migrate "Permalink") - -使用`migrate!` 帮助程序来运行正在测试的迁移. 它不仅将运行迁移,还将在`schema_migrations`表中增加模式版本. 这是必要的,因为在`after`钩中,我们会触发其余的迁移,并且我们需要知道从哪里开始. 例: - -``` -it 'migrates successfully' do - # ... pre-migration expectations - - migrate! - - # ... post-migration expectations -end -``` - -#### `reversible_migration`[](#reversible_migration "Permalink") - -Use the `reversible_migration` helper to test migrations with either a `change` or both `up` and `down` hooks. This will test that the state of the application and its data after the migration becomes reversed is the same as it was before the migration ran in the first place. The helper: - -1. 在**向上**迁移之前运行`before`期望. -2. Migrates **up**. -3. 运行`after`期望. -4. Migrates **down**. -5. `before`运行`before`期望. - -Example: - -``` -reversible_migration do |migration| - migration.before -> { - # ... pre-migration expectations - } - - migration.after -> { - # ... post-migration expectations - } -end -``` - -### Example database migration test[](#example-database-migration-test "Permalink") - -该规范测试了[`db/post_migrate/20170526185842_migrate_pipeline_stages.rb`](https://gitlab.com/gitlab-org/gitlab-foss/blob/v11.6.5/db/post_migrate/20170526185842_migrate_pipeline_stages.rb)迁移. 您可以在[`spec/migrations/migrate_pipeline_stages_spec.rb`](https://gitlab.com/gitlab-org/gitlab-foss/blob/v11.6.5/spec/migrations/migrate_pipeline_stages_spec.rb)找到完整的规范. - -``` -require 'spec_helper' -require Rails.root.join('db', 'post_migrate', '20170526185842_migrate_pipeline_stages.rb') - -RSpec.describe MigratePipelineStages do - # Create test data - pipeline and CI/CD jobs. - let(:jobs) { table(:ci_builds) } - let(:stages) { table(:ci_stages) } - let(:pipelines) { table(:ci_pipelines) } - let(:projects) { table(:projects) } - - before do - projects.create!(id: 123, name: 'gitlab1', path: 'gitlab1') - pipelines.create!(id: 1, project_id: 123, ref: 'master', sha: 'adf43c3a') - jobs.create!(id: 1, commit_id: 1, project_id: 123, stage_idx: 2, stage: 'build') - jobs.create!(id: 2, commit_id: 1, project_id: 123, stage_idx: 1, stage: 'test') - end - - # Test just the up migration. - it 'correctly migrates pipeline stages' do - expect(stages.count).to be_zero - - migrate! - - expect(stages.count).to eq 2 - expect(stages.all.pluck(:name)).to match_array %w[test build] - end - - # Test a reversible migration. - it 'correctly migrates up and down pipeline stages' do - reversible_migration do |migration| - # Expectations will run before the up migration, - # and then again after the down migration - migration.before -> { - expect(stages.count).to be_zero - } - - # Expectations will run after the up migration. - migration.after -> { - expect(stages.count).to eq 2 - expect(stages.all.pluck(:name)).to match_array %w[test build] - } - end -end -``` - -## Testing a non-`ActiveRecord::Migration` class[](#testing-a-non-activerecordmigration-class "Permalink") - -要测试非`ActiveRecord::Migration`测试(后台迁移),您将需要手动提供所需的架构版本. 请向要在其中切换数据库架构的上下文中添加`schema`标签. - -如果未设置,则`schema`默认为`:latest` . - -Example: - -``` -describe SomeClass, schema: 20170608152748 do - # ... -end -``` - -### Example background migration test[](#example-background-migration-test "Permalink") - -该规范测试了[`lib/gitlab/background_migration/archive_legacy_traces.rb`](https://gitlab.com/gitlab-org/gitlab-foss/blob/v11.6.5/lib/gitlab/background_migration/archive_legacy_traces.rb)背景迁移. 您可以在[`spec/lib/gitlab/background_migration/archive_legacy_traces_spec.rb`](https://gitlab.com/gitlab-org/gitlab-foss/blob/v11.6.5/spec/lib/gitlab/background_migration/archive_legacy_traces_spec.rb)找到完整的规范 - -``` -require 'spec_helper' - -describe Gitlab::BackgroundMigration::ArchiveLegacyTraces, schema: 20180529152628 do - include TraceHelpers - - let(:namespaces) { table(:namespaces) } - let(:projects) { table(:projects) } - let(:builds) { table(:ci_builds) } - let(:job_artifacts) { table(:ci_job_artifacts) } - - before do - namespaces.create!(id: 123, name: 'gitlab1', path: 'gitlab1') - projects.create!(id: 123, name: 'gitlab1', path: 'gitlab1', namespace_id: 123) - @build = builds.create!(id: 1, project_id: 123, status: 'success', type: 'Ci::Build') - end - - context 'when trace file exists at the right place' do - before do - create_legacy_trace(@build, 'trace in file') - end - - it 'correctly archive legacy traces' do - expect(job_artifacts.count).to eq(0) - expect(File.exist?(legacy_trace_path(@build))).to be_truthy - - described_class.new.perform(1, 1) - - expect(job_artifacts.count).to eq(1) - expect(File.exist?(legacy_trace_path(@build))).to be_falsy - expect(File.read(archived_trace_path(job_artifacts.first))).to eq('trace in file') - end - end -end -``` - -**注意:**由于我们使用删除数据库清除策略,因此这些测试不在数据库事务中运行. 不要依赖存在的事务. \ No newline at end of file diff --git a/docs/635.md b/docs/635.md deleted file mode 100644 index c3d5210..0000000 --- a/docs/635.md +++ /dev/null @@ -1,37 +0,0 @@ -# Testing Rake tasks - -> 原文:[https://docs.gitlab.com/ee/development/testing_guide/testing_rake_tasks.html](https://docs.gitlab.com/ee/development/testing_guide/testing_rake_tasks.html) - -# Testing Rake tasks[](#testing-rake-tasks "Permalink") - -为了使测试 Rake 任务更容易一些,可以使用一个辅助程序来代替标准 Spec 辅助程序. 代替`require 'spec_helper'` ,使用`require 'rake_helper'` . 该帮助程序包括为您提供的`spec_helper` ,并配置了一些其他内容以使测试 Rake 任务更加容易. - -至少需要 Rake 帮助程序重定向`stdout` ,包括运行时任务帮助程序,并包括`RakeHelpers` Spec 支持模块. - -`RakeHelpers`模块公开了`run_rake_task(<task>)`方法以简化执行任务. 有关所有可用方法,请参见`spec/support/helpers/rake_helpers.rb` . - -Example: - -``` -require 'rake_helper' - -describe 'gitlab:shell rake tasks' do - before do - Rake.application.rake_require 'tasks/gitlab/shell' - - stub_warn_user_is_not_gitlab - end - - describe 'install task' do - it 'invokes create_hooks task' do - expect(Rake::Task['gitlab:shell:create_hooks']).to receive(:invoke) - - run_rake_task('gitlab:shell:install') - end - end -end -``` - -* * * - -[Return to Testing documentation](index.html) \ No newline at end of file diff --git a/docs/636.md b/docs/636.md deleted file mode 100644 index 69261b6..0000000 --- a/docs/636.md +++ /dev/null @@ -1,133 +0,0 @@ -# End-to-end Testing - -> 原文:[https://docs.gitlab.com/ee/development/testing_guide/end_to_end/](https://docs.gitlab.com/ee/development/testing_guide/end_to_end/) - -* [What is end-to-end testing?](#what-is-end-to-end-testing) -* [How do we test GitLab?](#how-do-we-test-gitlab) - * [Testing nightly builds](#testing-nightly-builds) - * [Testing staging](#testing-staging) - * [Testing code in merge requests](#testing-code-in-merge-requests) - * [Using the `package-and-qa` job](#using-the-package-and-qa-job) - * [How does it work?](#how-does-it-work) - * [With Pipeline for Merged Results](#with-pipeline-for-merged-results) - * [Running custom tests](#running-custom-tests) - * [Using the `review-qa-all` jobs](#using-the-review-qa-all-jobs) -* [How do I run the tests?](#how-do-i-run-the-tests) - * [Running tests that require special setup](#running-tests-that-require-special-setup) -* [How do I write tests?](#how-do-i-write-tests) -* [Where can I ask for help?](#where-can-i-ask-for-help) - -# End-to-end Testing[](#end-to-end-testing "Permalink") - -## What is end-to-end testing?[](#what-is-end-to-end-testing "Permalink") - -端到端测试是一种策略,用于检查您的应用程序在整个软件堆栈和体系结构中是否按预期工作,包括应该协同工作的所有微服务和组件的集成. - -## How do we test GitLab?[](#how-do-we-test-gitlab "Permalink") - -我们使用[Omnibus GitLab](https://gitlab.com/gitlab-org/omnibus-gitlab)构建 GitLab 程序包,然后使用[GitLab QA 协调器](https://gitlab.com/gitlab-org/gitlab-qa)工具测试这些程序包,该工具是 API 和 UI 的黑盒测试框架. - -### Testing nightly builds[](#testing-nightly-builds "Permalink") - -我们每天晚上运行预定的管道,以测试 Omnibus 创建的每晚构建. 您可以在`https://gitlab.com/gitlab-org/quality/nightly/pipelines` (需要开发人员访问权限)中找到这些夜间管道. 结果在`#qa-nightly` Slack 频道中报告. - -### Testing staging[](#testing-staging "Permalink") - -我们每天晚上运行预定的管道以测试阶段. 您可以在`https://gitlab.com/gitlab-org/quality/staging/pipelines` (需要开发人员访问权限)中找到这些夜间管道. 结果在`#qa-staging` Slack 频道中报告. - -### Testing code in merge requests[](#testing-code-in-merge-requests "Permalink") - -#### Using the `package-and-qa` job[](#using-the-package-and-qa-job "Permalink") - -通过在`test`阶段触发`package-and-qa`手动操作,可以对合并请求运行端到端测试,最终在[`gitlab-qa-mirror`](https://gitlab.com/gitlab-org/gitlab-qa-mirror/)项目的管道中运行(不适用于 fork) ). - -**这将针对根据合并请求的更改构建的自定义 CE 和 EE(具有终极许可证)Omnibus 程序包进行端到端测试.** - -[Omnibus GitLab](https://gitlab.com/gitlab-org/omnibus-gitlab)中的合并请求中也提供了启动端到端测试的手动操作. - -您可以在下面阅读有关如何使用它以及如何工作的更多信息. - -#### How does it work?[](#how-does-it-work "Permalink") - -当前,我们正在使用类似*多项目管道*的方法来运行质量检查管道. - -图 LR A1 -.-> | 1\. 触发 omnibus-gitlab-mirror 管道并等待它完成| A2 B2 [`Trigger-qa`阶段 -`Trigger:qa-test`工作] -.-> | 2\. 触发 gitlab-qa-mirror 管道并等待它完成| A3 子图" gitlab-foss / gitlab 管道" A1 [`test`阶段 -"打包和质量检查"工作]结束子图" omnibus-gitlab 管道" A2 [`Trigger-docker`阶段 -`Trigger:gitlab-docker`作业]-> |一旦完成| B2 结束子图" gitlab-qa-镜像管道" A3> QA 作业运行] -.-> | 3\. 将管道结果报告给"打包和质量检查"作业 -并将结果发布到经过测试的原始提交| A1 端 - -1. 开发人员触发手动操作,可以在 GitLab 合并请求中找到该操作. 这将启动多个项目中的一系列管道. - -2. 正在执行的脚本触发[Omnibus GitLab Mirror 中](https://gitlab.com/gitlab-org/build/omnibus-gitlab-mirror)的管道,并等待结果状态. 我们将此称为*状态归因* . - -3. 在[Omnibus GitLab Mirror](https://gitlab.com/gitlab-org/build/omnibus-gitlab-mirror)管道中正在构建 GitLab 软件包. 然后将程序包推送到其容器注册表. - -4. 当软件包准备就绪并在注册表中可用时, [Omnibus GitLab Mirror](https://gitlab.com/gitlab-org/build/omnibus-gitlab-mirror)管道的最后一步将触发新的 GitLab QA 管道(具有访问权限的人可以在`https://gitlab.com/gitlab-org/gitlab-qa-mirror/pipelines`查看它们) `https://gitlab.com/gitlab-org/gitlab-qa-mirror/pipelines` ). 它还等待结果状态. - -5. GitLab QA 从注册表中提取图像,旋转容器,并针对刚刚由`gitlab-qa`工具精心策划的测试环境运行测试. - -6. GitLab QA 管道的结果正在通过 Omnibus 上游传播回 GitLab 合并请求. - -请注意,我们计划[添加](https://gitlab.com/gitlab-org/quality/team-tasks/-/issues/156)有关`gitlab-qa-mirror`中运行的每个作业/场景中包含的测试的[更多特定信息](https://gitlab.com/gitlab-org/quality/team-tasks/-/issues/156) . - -#### With Pipeline for Merged Results[](#with-pipeline-for-merged-results "Permalink") - -在"合并结果的管道"中,管道在包含源分支和目标分支的合并结果的新引用上运行. 但是,此参考不适用于`gitlab-qa-mirror`管道. - -因此,在"合并结果"管道上的端到端测试将使用合并请求源分支的头部. - -graph LR A["a1b1c1 - branch HEAD (CI_MERGE_REQUEST_SOURCE_BRANCH_SHA)"] B["x1y1z1 - master HEAD"] C["d1e1f1 - merged results (CI_COMMIT_SHA)"] A --> C B --> C A --> E["E2E tests"] C --> D["Pipeline for merged results"] - -##### Running custom tests[](#running-custom-tests "Permalink") - -在下游`gitlab-qa-mirror`管道中运行的[现有场景](https://gitlab.com/gitlab-org/gitlab-qa/blob/master/docs/what_tests_can_be_run.md)包括许多测试,但是有时您可能想要运行一个测试或一组与任何现有场景中的组不同的测试. - -例如,当我们[对](https://about.gitlab.com/handbook/engineering/quality/guidelines/debugging-qa-test-failures/#dequarantining-tests)一个薄片状测试进行[隔离](https://about.gitlab.com/handbook/engineering/quality/guidelines/debugging-qa-test-failures/#dequarantining-tests)时,我们首先要确保它不再是薄片状的. 我们可以使用`ce:custom-parallel`和`ee:custom-parallel`作业来做到这一点. 两者都是手动作业,您可以使用自定义变量进行配置. 单击并行作业之一的名称(而不是播放图标)时,系统将提示您输入变量. 您可以使用[`gitlab-qa`](https://gitlab.com/gitlab-org/gitlab-qa/blob/master/docs/what_tests_can_be_run.md#supported-gitlab-environment-variables)可以使用的任何[变量](https://gitlab.com/gitlab-org/gitlab-qa/blob/master/docs/what_tests_can_be_run.md#supported-gitlab-environment-variables)以及这些[变量](https://gitlab.com/gitlab-org/gitlab-qa/blob/master/docs/what_tests_can_be_run.md#supported-gitlab-environment-variables) : - -| Variable | Description | -| --- | --- | -| `QA_SCENARIO` | 要运行的方案(默认`Test::Instance::Image` ) | -| `QA_TESTS` | 要运行的测试(没有默认设置,这意味着运行方案中的所有测试). 通过 RSpec 运行测试时,请使用文件路径,例如, `qa/specs/features/ee/browser_ui`将包括所有`EE` UI 测试. | -| `QA_RSPEC_TAGS` | 要添加的 RSpec 标记(无默认值) | - -现在, [具有自定义变量的手动作业在重试时将不会使用相同的变量](https://gitlab.com/gitlab-org/gitlab/-/issues/31367) ,因此,如果要多次运行相同的测试,请在每个`custom-parallel`作业中指定相同的变量(最多可使用 10 个变量)您要运行的作业). - -#### Using the `review-qa-all` jobs[](#using-the-review-qa-all-jobs "Permalink") - -在`test`阶段的每个管道上,都会自动启动`review-qa-smoke`作业:它将针对[Review App](../review_apps.html)运行 QA 烟雾套件. - -您还可以手动启动`review-qa-all` :它针对[Review App](../review_apps.html)运行完整的质量检查套件. - -**This runs end-to-end tests against a Review App based on [the official GitLab Helm chart](https://gitlab.com/gitlab-org/charts/gitlab/), itself deployed with custom [Cloud Native components](https://gitlab.com/gitlab-org/build/CNG) built from your merge request’s changes.** - -有关[审阅应用程序](../review_apps.html)的更多详细信息,请参见[审阅应用](../review_apps.html)程序. - -## How do I run the tests?[](#how-do-i-run-the-tests "Permalink") - -如果您不是[在合并请求中测试代码](#testing-code-in-merge-requests) ,则有两个主要选项可用于运行测试. 如果您只想对一个实时的 GitLab 实例或一个预先构建的 Docker 映像运行现有测试,则可以使用[GitLab QA 协调器](https://gitlab.com/gitlab-org/gitlab-qa/tree/master/README.md) . 另请参见[可以通过 Orchestrator 运行的测试方案示例](https://gitlab.com/gitlab-org/gitlab-qa/blob/master/docs/what_tests_can_be_run.md#examples) . - -另一方面,如果您想在本地开发的 GitLab 环境中运行,则可以使用[GitLab 开发工具包(GDK)](https://gitlab.com/gitlab-org/gitlab-development-kit/) . 请参考[质量检查自述文件](https://gitlab.com/gitlab-org/gitlab/tree/master/qa/README.md#how-can-i-use-it)和以下部分中的说明. - -### Running tests that require special setup[](#running-tests-that-require-special-setup "Permalink") - -了解如何执行[需要特殊设置或考虑才能在本地环境上运行的测试](running_tests_that_require_special_setup.html) . - -## How do I write tests?[](#how-do-i-write-tests "Permalink") - -为了编写新的测试,您首先需要了解有关 GitLab QA 体系结构的更多信息. 请参阅有关[文档](https://gitlab.com/gitlab-org/gitlab-qa/blob/master/docs/architecture.md) . - -一旦决定了将[测试环境业务流程场景](https://gitlab.com/gitlab-org/gitlab-qa/tree/master/lib/gitlab/qa/scenario)和[实例级场景](https://gitlab.com/gitlab-org/gitlab-foss/tree/master/qa/qa/specs/features)放置在何处,请查看[GitLab QA 自述文件](https://gitlab.com/gitlab-org/gitlab/tree/master/qa/README.md) , [GitLab QA Orchestrator 自述文件](https://gitlab.com/gitlab-org/gitlab-qa/tree/master/README.md)和[已经存在的实例级场景](https://gitlab.com/gitlab-org/gitlab-foss/tree/master/qa/qa/specs/features) . - -继续阅读: - -* [Beginner’s Guide](beginners_guide.html) -* [Style Guide](style_guide.html) -* [Best Practices](best_practices.html) -* [Testing with feature flags](feature_flags.html) -* [Flows](flows.html) -* [RSpec metadata/tags](rspec_metadata_tests.html) - -## Where can I ask for help?[](#where-can-i-ask-for-help "Permalink") - -您可以在 Slack 上的`#quality`频道(GitLab 内部)上[`gitlab`](https://gitlab.com/gitlab-org/gitlab/-/issues?label_name[]=QA&label_name[]=test) ,或者[在`gitlab-qa`](https://gitlab.com/gitlab-org/gitlab-qa/-/issues?label_name[]=new+scenario) [问题跟踪器](https://gitlab.com/gitlab-org/gitlab/-/issues?label_name[]=QA&label_name[]=test)或[`gitlab-qa`问题跟踪器中](https://gitlab.com/gitlab-org/gitlab-qa/-/issues?label_name[]=new+scenario)找到您要[`gitlab-qa`问题](https://gitlab.com/gitlab-org/gitlab-qa/-/issues?label_name[]=new+scenario) . \ No newline at end of file diff --git a/docs/637.md b/docs/637.md deleted file mode 100644 index 9c78d70..0000000 --- a/docs/637.md +++ /dev/null @@ -1,314 +0,0 @@ -# Beginner's guide to writing end-to-end tests - -> 原文:[https://docs.gitlab.com/ee/development/testing_guide/end_to_end/beginners_guide.html](https://docs.gitlab.com/ee/development/testing_guide/end_to_end/beginners_guide.html) - -* [Before you write a test](#before-you-write-a-test) -* [Determine if end-to-end tests are needed](#determine-if-end-to-end-tests-are-needed) -* [Identify the DevOps stage](#identify-the-devops-stage) -* [Create a skeleton test](#create-a-skeleton-test) - * [The outer `context` block](#the-outer-context-block) - * [The outer `RSpec.describe` block](#the-outer-rspecdescribe-block) - * [The `describe` block](#the-describe-block) - * [The `it` blocks (examples)](#the-it-blocks-examples) -* [Write the test](#write-the-test) -* [De-duplicate your code](#de-duplicate-your-code) -* [Test setup using resources and page objects](#test-setup-using-resources-and-page-objects) -* [Write the page object](#write-the-page-object) -* [Run the spec](#run-the-spec) - -# Beginner’s guide to writing end-to-end tests[](#beginners-guide-to-writing-end-to-end-tests "Permalink") - -在本教程中,您将学习如何为[GitLab 社区版](https://about.gitlab.com/install/?version=ce)和[GitLab 企业版](https://about.gitlab.com/install/)创建端到端( *e2e* )测试. - -在本教程结束时,您将能够: - -* 确定是否需要端到端测试. -* Understand the directory structure within `qa/`. -* 编写一个基本的端到端测试,以验证登录功能. -* 开发任何缺少的[页面对象](page_objects.html)库. - -## Before you write a test[](#before-you-write-a-test "Permalink") - -在编写测试之前,必须将您的[GitLab 开发套件(GDK)](https://gitlab.com/gitlab-org/gitlab-development-kit)配置为运行规范. 端到端测试: - -* 包含在`qa/`目录中. -* 应该是独立和[幂等的](https://en.wikipedia.org/wiki/Idempotence#Computer_science_meaning) . -* 临时创建[资源](resources.html) (例如项目,问题,用户). -* Test the UI and API interfaces, and use the API to efficiently set up the UI tests. - -**提示:**有关更多信息,请参阅[端到端测试最佳实践](best_practices.html) . - -## Determine if end-to-end tests are needed[](#determine-if-end-to-end-tests-are-needed "Permalink") - -在编写端到端测试之前,请为[GitLab 社区版](https://gitlab-org.gitlab.io/gitlab-foss/coverage-ruby/#_AllFiles)和[GitLab 企业版](https://gitlab-org.gitlab.io/gitlab/coverage-ruby/#_AllFiles)项目检查特定功能的代码覆盖率. 在单元,功能或集成级别上是否存在足够的测试范围? 如果回答*是肯定的* ,那么你*就*需要一个终端到终端的测试. - -有关 GitLab 中每个级别的测试分布的信息,请参见[测试级别](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/development/testing_guide/testing_levels.md) . - -* 请参阅[如何以正确的级别进行测试?](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/development/testing_guide/testing_levels.md#how-to-test-at-the-correct-level) " [测试级别"](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/development/testing_guide/testing_levels.md)文档的"部分". -* 查看功能更改的频率. 如果较低级别的测试中已经包含了稳定的特性,那么这些特性不会经常更改,那么端到端测试可能就不值得考虑. -* 最后,与参与实现功能和较低级别测试的开发人员讨论建议的测试. - -**注意:**检查[GitLab 社区版](https://gitlab-org.gitlab.io/gitlab-foss/coverage-ruby/#_AllFiles)和[GitLab 企业版](https://gitlab-org.gitlab.io/gitlab/coverage-ruby/#_AllFiles)覆盖率项目,以检查是否为此功能编写了以前的测试. 为了分析代码覆盖率,您必须了解哪些应用程序文件实现了特定功能.**注意:**在本教程中,我们将编写一个登录端到端测试,即使它已经被较低级别的测试所覆盖,因为这是大多数端到端流的第一步,并且最容易理解. - -## Identify the DevOps stage[](#identify-the-devops-stage "Permalink") - -GitLab QA 端到端测试是由[DevOps 生命周期](https://gitlab.com/gitlab-org/gitlab-foss/tree/master/qa/qa/specs/features/browser_ui)的不同[阶段](https://gitlab.com/gitlab-org/gitlab-foss/tree/master/qa/qa/specs/features/browser_ui)组织的. 确定应按[阶段](https://about.gitlab.com/handbook/product/product-categories/#devops-stages)放置测试的位置,确定该测试属于哪个功能,然后将其放置在该阶段下的子目录中. - -[![DevOps lifecycle by stages](img/31396caea61831939862213abb8dd10c.png)](img/gl-devops-lifecycle-by-stage-numbers_V12_10.png) - -**注意:**如果该测试仅是企业版,则将在`features/ee`目录中创建该测试,但遵循相同的 DevOps 生命周期格式. - -## Create a skeleton test[](#create-a-skeleton-test "Permalink") - -在本教程的第一部分中,我们将测试由 Manage 阶段拥有的登录名. 在`qa/specs/features/browser_ui/1_manage/login` ,创建文件`basic_login_spec.rb` . - -### The outer `context` block[](#the-outer-context-block "Permalink") - -参见[`RSpec.describe`外部块](#the-outer-rspecdescribe-block) - -**弃用声明:**遵循 RSpec 4.0 规范在`13.2`中[弃用](https://gitlab.com/gitlab-org/quality/team-tasks/-/issues/550)了外部`context` . 请改用`RSpec.describe` . - -### The outer `RSpec.describe` block[](#the-outer-rspecdescribe-block "Permalink") - -规格具有外部`RSpec.describe`指示 DevOps 阶段. - -``` -# frozen_string_literal: true - -module QA - RSpec.describe 'Manage' do - - end -end -``` - -### The `describe` block[](#the-describe-block "Permalink") - -在我们的外部`RSpec.describe`内部,描述要测试的功能. 在这种情况下,请`Login` . - -``` -# frozen_string_literal: true - -module QA - RSpec.describe 'Manage' do - describe 'Login' do - - end - end -end -``` - -### The `it` blocks (examples)[](#the-it-blocks-examples "Permalink") - -每个测试套件包含至少一个`it`阻断(实施例). 一个好方法,开始写终端到终端的测试是编写测试用例描述为`it`块: - -``` -module QA - RSpec.describe 'Manage' do - describe 'Login' do - it 'can login' do - - end - - it 'can logout' do - - end - end - end -end -``` - -## Write the test[](#write-the-test "Permalink") - -一个重要的问题是"我们要测试什么?" 更重要的是,"我们如何测试?" - -首先登录. - -``` -# frozen_string_literal: true - -module QA - RSpec.describe 'Manage' do - describe 'Login' do - it 'can login' do - Flow::Login.sign_in - - end - - it 'can logout' do - Flow::Login.sign_in - - end - end - end -end -``` - -[运行规范后](#run-the-spec) ,我们的测试应登录并结束; 那么我们应该回答"我们要测试什么?"这个问题. - -``` -# frozen_string_literal: true - -module QA - RSpec.describe 'Manage' do - describe 'Login' do - it 'can login' do - Flow::Login.sign_in - - Page::Main::Menu.perform do |menu| - expect(menu).to be_signed_in - end - end - - it 'can logout' do - Flow::Login.sign_in - - Page::Main::Menu.perform do |menu| - menu.sign_out - - expect(menu).not_to be_signed_in - end - end - end - end -end -``` - -**我们要测试什么?** - -1. 我们可以登录吗? -2. 我们可以注销吗? - -**我们如何测试?** - -1. 检查用户头像是否出现在顶部导航中. -2. 检查用户头像*是否未*出现在顶部导航中. - -**注意:**在幕后, `be_signed_in`是一个[谓词匹配器](https://relishapp.com/rspec/rspec-expectations/v/3-8/docs/built-in-matchers/predicate-matchers) ,可[实现对用户头像的检查](https://gitlab.com/gitlab-org/gitlab/-/blob/master/qa/qa/page/main/menu.rb#L74) . - -## De-duplicate your code[](#de-duplicate-your-code "Permalink") - -将测试重构为使用`before`块进行测试设置,因为它复制了对`sign_in`的调用. - -``` -# frozen_string_literal: true - -module QA - RSpec.describe 'Manage' do - describe 'Login' do - before do - Flow::Login.sign_in - end - - it 'can login' do - Page::Main::Menu.perform do |menu| - expect(menu).to be_signed_in - end - end - - it 'can logout' do - Page::Main::Menu.perform do |menu| - menu.sign_out - - expect(menu).not_to be_signed_in - end - end - end - end -end -``` - -`before`块本质上是一个`before(:each)`并且在每个示例之前运行,确保我们现在在每个测试的开始处登录. - -## Test setup using resources and page objects[](#test-setup-using-resources-and-page-objects "Permalink") - -接下来,让我们测试登录以外的其他功能. 让我们测试"计划"阶段拥有的"问题",因此在`qa/specs/features/browser_ui/3_create/issues` [创建一个](#identify-the-devops-stage)名为`issues_spec.rb` . - -``` -# frozen_string_literal: true - -module QA - RSpec.describe 'Plan' do - describe 'Issues' do - let(:issue) do - Resource::Issue.fabricate_via_api! do |issue| - issue.title = 'My issue' - issue.description = 'This is an issue specific to this test' - end - end - - before do - Flow::Login.sign_in - issue.visit! - end - - it 'can close an issue' do - Page::Project::Issue::Show.perform do |show| - show.click_close_issue_button - - expect(show).to be_closed - end - end - end - end -end -``` - -请注意以下要点: - -* 在我们的示例开始时,我们将在`page/issue/show.rb` [页面](page_objects.html) . -* 我们的测试仅在需要时制造需要的东西. -* 该问题是通过 API 伪造的,以节省时间. -* GitLab 更喜欢`let()`不是实例变量. 查看[最佳做法](../best_practices.html#let-variables) . -* `be_closed`尚未在`page/project/issue/show.rb`中实现,但将在下一步中实现. - -该问题被伪装成[Resource](resources.html) ,它是您可以通过 UI 或 API 创建的 GitLab 实体. 其他示例包括: - -* A [Merge Request](https://gitlab.com/gitlab-org/gitlab/-/blob/master/qa/qa/resource/merge_request.rb). -* A [User](https://gitlab.com/gitlab-org/gitlab/-/blob/master/qa/qa/resource/user.rb). -* A [Project](https://gitlab.com/gitlab-org/gitlab/-/blob/master/qa/qa/resource/project.rb). -* A [Group](https://gitlab.com/gitlab-org/gitlab/-/blob/master/qa/qa/resource/group.rb). - -## Write the page object[](#write-the-page-object "Permalink") - -[Page Object](page_objects.html)是我们套件中的一个类,代表 GitLab 中的一个页面. **登录**页面就是一个例子. 由于我们的" **问题显示"**页面的页面对象已经存在,请添加`closed?` 方法. - -``` -module Page::Project::Issue - class Show - view 'app/views/projects/issues/show.html.haml' do - element :closed_status_box - end - - def closed? - has_element?(:closed_status_box) - end - end -end -``` - -接下来,在视图中定义元素`closed_status_box` ,以便页面对象可以看到它. - -``` --#=> app/views/projects/issues/show.html.haml .issuable-status-box.status-box.status-box-issue-closed{ ..., data: { qa_selector: 'closed_status_box' } } -``` - -## Run the spec[](#run-the-spec "Permalink") - -在运行规范之前,请确认: - -* GDK 已安装. -* GDK 在本地 3000 端口上运行. -* 尚未应用其他[RSpec 元数据标签](rspec_metadata_tests.html) . -* 您的工作目录是 GDK GitLab 安装中的`qa/` . - -要运行该规范,请运行以下命令: - -``` -bundle exec bin/qa Test::Instance::All http://localhost:3000 -- <test_file> -``` - -Where `<test_file>` is: - -* 运行"登录"示例时,请输入`qa/specs/features/browser_ui/1_manage/login/login_spec.rb` . -* 运行"问题"示例时,请执行`qa/specs/features/browser_ui/2_plan/issues/issue_spec.rb` . \ No newline at end of file diff --git a/docs/638.md b/docs/638.md deleted file mode 100644 index aed4287..0000000 --- a/docs/638.md +++ /dev/null @@ -1,144 +0,0 @@ -# End-to-end testing Best Practices - -> 原文:[https://docs.gitlab.com/ee/development/testing_guide/end_to_end/best_practices.html](https://docs.gitlab.com/ee/development/testing_guide/end_to_end/best_practices.html) - -* [Prefer API over UI](#prefer-api-over-ui) -* [Avoid superfluous expectations](#avoid-superfluous-expectations) -* [Prefer to split tests across multiple files](#prefer-to-split-tests-across-multiple-files) -* [Limit the use of the UI in `before(:context)` and `after` hooks](#limit-the-use-of-the-ui-in-beforecontext-and-after-hooks) -* [Ensure tests do not leave the browser logged in](#ensure-tests-do-not-leave-the-browser-logged-in) -* [Tag tests that require Administrator access](#tag-tests-that-require-administrator-access) -* [Prefer `Commit` resource over `ProjectPush`](#prefer-commit-resource-over-projectpush) - -# End-to-end testing Best Practices[](#end-to-end-testing-best-practices "Permalink") - -**注意:**这是[测试指南中](../best_practices.html)最佳实践的量身定制的扩展. - -## Prefer API over UI[](#prefer-api-over-ui "Permalink") - -端到端测试框架能够根据具体情况来构造其资源. 应尽可能通过 API 来构造资源. - -通过 API 构造测试所需的资源,我们可以节省时间和金钱. - -[Learn more](resources.html) about resources. - -## Avoid superfluous expectations[](#avoid-superfluous-expectations "Permalink") - -为了使测试保持精简,重要的是我们仅测试需要测试的内容. - -确保不添加任何与需要测试的内容无关的`expect()`语句. - -例如: - -``` -#=> Good -Flow::Login.sign_in -Page::Main::Menu.perform do |menu| - expect(menu).to be_signed_in -end - -#=> Bad -Flow::Login.sign_in(as: user) -Page::Main::Menu.perform do |menu| - expect(menu).to be_signed_in - expect(page).to have_content(user.name) #=> we already validated being signed in. redundant. - expect(menu).to have_element(:nav_bar) #=> likely unnecessary. already validated in lower-level. test doesn't call for validating this. -end - -#=> Good -issue = Resource::Issue.fabricate_via_api! do |issue| - issue.name = 'issue-name' -end - -Project::Issues::Index.perform do |index| - expect(index).to have_issue(issue) -end - -#=> Bad -issue = Resource::Issue.fabricate_via_api! do |issue| - issue.name = 'issue-name' -end - -Project::Issues::Index.perform do |index| - expect(index).to have_issue(issue) - expect(page).to have_content(issue.name) #=> page content check is redundant as the issue was already validated in the line above. -end -``` - -## Prefer to split tests across multiple files[](#prefer-to-split-tests-across-multiple-files "Permalink") - -我们的框架包括几个并行化机制,这些机制通过并行执行 spec 文件来工作. - -但是,由于测试是通过 spec *文件*而不是通过 test / example 并行化的,因此如果将新测试添加到现有文件中,我们将无法实现更大的并行化. - -尽管如此,可能还有其他原因要向现有文件添加新测试. - -例如,如果测试共享状态的设置成本很高,则即使执行一次使用该设置的测试无法并行化,执行一次设置可能会更有效. - -综上所述: - -* **可以** :将测试拆分到单独的文件中,除非测试共享昂贵的设置. -* **不要** :在不考虑对并行化的影响的情况下,将新测试放在现有文件中. - -## Limit the use of the UI in `before(:context)` and `after` hooks[](#limit-the-use-of-the-ui-in-beforecontext-and-after-hooks "Permalink") - -限制使用`before(:context)`挂钩仅通过 API 调用,非 UI 操作或基本 UI 操作(例如登录`before(:context)`来执行设置任务. - -我们使用[`capybara-screenshot`](https://github.com/mattheworiordan/capybara-screenshot)库自动保存失败时的屏幕截图. - -`capybara-screenshot` [将屏幕](https://github.com/mattheworiordan/capybara-screenshot/blob/master/lib/capybara-screenshot/rspec.rb#L97) `capybara-screenshot` [保存在 RSpec 的`after` hook 中](https://github.com/mattheworiordan/capybara-screenshot/blob/master/lib/capybara-screenshot/rspec.rb#L97) . [如果`before(:context)`失败,则不会调用`after`挂钩](https://github.com/rspec/rspec-core/pull/2652/files#diff-5e04af96d5156e787f28d519a8c99615R148) ,因此不会保存屏幕截图. - -鉴于这一事实,我们应该将`before(:context)`使用仅限于不需要屏幕快照的那些操作. - -同样, `after`钩子仅应用于非 UI 操作. 测试文件中`after` hook 中的任何 UI 操作都将在获取屏幕快照的`after` hook 之前执行. 这将导致 UI 状态从故障点移开,因此无法在正确的时刻捕获屏幕截图. - -## Ensure tests do not leave the browser logged in[](#ensure-tests-do-not-leave-the-browser-logged-in "Permalink") - -所有测试都希望能够在测试开始时登录. - -有关示例,请参见: [https](https://gitlab.com/gitlab-org/gitlab/-/issues/34736) : [//gitlab.com/gitlab-org/gitlab/-/issues/34736](https://gitlab.com/gitlab-org/gitlab/-/issues/34736) - -理想情况下,在`after(:context)` (或[`before(:context)`](#limit-the-use-of-the-ui-in-beforecontext-and-after-hooks) )块中执行的任何动作都可以通过 API 执行. 但是,如果有必要通过 UI 进行操作(例如,如果不存在 API 功能),请确保在该块的末尾注销. - -``` -after(:all) do - login unless Page::Main::Menu.perform(&:signed_in?) - - # Do something while logged in - - Page::Main::Menu.perform(&:sign_out) -end -``` - -## Tag tests that require Administrator access[](#tag-tests-that-require-administrator-access "Permalink") - -我们不会运行需要管理员对生产环境进行访问的测试. - -当您添加需要管理员访问权限的新测试时,请应用 RSpec 元数据`:requires_admin`以使该测试不会包含在针对生产环境和我们不想在其上运行这些测试的其他环境执行的测试套件中. - -注意:在本地运行测试或配置管道时,可以将环境变量`QA_CAN_TEST_ADMIN_FEATURES`设置为`false`以跳过带有`:requires_admin`标记的测试. - -## Prefer `Commit` resource over `ProjectPush`[](#prefer-commit-resource-over-projectpush "Permalink") - -与[使用 API​​一致](#prefer-api-over-ui) ,请尽可能使用`Commit`资源. - -`ProjectPush`通过 Git 命令行界面(CLI)使用原始 Shell 命令,而`Commit`资源则发出 HTTP 请求. - -``` -# Using a commit resource -Resource::Commit.fabricate_via_api! do |commit| - commit.commit_message = 'Initial commit' - commit.add_files([ - {file_path: 'README.md', content: 'Hello, GitLab'} - ]) -end - -# Using a ProjectPush -Resource::Repository::ProjectPush.fabricate! do |push| - push.commit_message = 'Initial commit' - push.file_name = 'README.md' - push.file_content = 'Hello, GitLab' -end -``` - -**注意:**当您的测试要求测试 SSH 集成或使用 Git CLI 时,使用`ProjectPush`会出现一些例外. \ No newline at end of file diff --git a/docs/639.md b/docs/639.md deleted file mode 100644 index 6f7fe72..0000000 --- a/docs/639.md +++ /dev/null @@ -1,122 +0,0 @@ -# Dynamic Element Validation - -> 原文:[https://docs.gitlab.com/ee/development/testing_guide/end_to_end/dynamic_element_validation.html](https://docs.gitlab.com/ee/development/testing_guide/end_to_end/dynamic_element_validation.html) - -* [How it works](#how-it-works) - * [Navigation](#navigation) - * [Clicks](#clicks) - * [Required Elements](#required-elements) - * [Definition](#definition) - * [Application](#application) -* [Examples](#examples) - * [Navigating](#navigating) - * [Clicking](#clicking) - -# Dynamic Element Validation[](#dynamic-element-validation "Permalink") - -我们设计了一种解决方案来解决常见的测试自动化问题,例如可怕的`NoSuchElementException` . - -动态元素验证解决的其他问题是… - -* 当我们用鼠标执行操作时,我们期望会发生一些事情. -* 当我们的测试导航到页面(或从页面导航)时,我们确保在继续测试之前我们位于期望的页面上. - -## How it works[](#how-it-works "Permalink") - -我们将页面上的用户操作解释为具有某种效果. 这些动作是 - -* [Navigation](#navigation) -* [Clicks](#clicks) - -### Navigation[](#navigation "Permalink") - -导航到页面时,有些元素将始终无条件地出现在页面上. - -使用时进行动态元素验证 - -``` -Runtime::Browser.visit(:gitlab, Some::Page) -``` - -### Clicks[](#clicks "Permalink") - -当我们在测试中执行单击时,我们期望会发生一些事情. 那可能是现在要出现在网页上的组件,或者是完全离开该页面的测试. - -使用时进行动态元素验证 - -``` -click_element :my_element, Some::Page -``` - -### Required Elements[](#required-elements "Permalink") - -#### Definition[](#definition "Permalink") - -First it is important to define what a “required element” is. - -简而言之,必填元素是可见的 HTML 元素,它无需任何用户输入即可出现在 UI 组件上. - -"可见"可以定义为 - -* 没有任何 CSS 阻止其显示. 例如: `display: none`或`width: 0px; height: 0px;` `width: 0px; height: 0px;` -* 能够与用户互动 - -" UI 组件"可以定义为 - -* 用户看到的任何内容 -* 一个按钮,一个文本字段 -* 位于页面上方的图层 - -#### Application[](#application "Permalink") - -要求元素非常容易. 通过将`required: true`作为`element`的参数添加,您现在已经要求该元素在导航时显示在页面上. - -## Examples[](#examples "Permalink") - -鉴于... - -``` -class MyPage < Page::Base - view 'app/views/view.html.haml' do - element :my_element, required: true - element :another_element, required: true - element :conditional_element - end - - def open_layer - click_element :my_element, Layer::MyLayer - end -end - -class Layer < Page::Component - view 'app/views/mylayer/layer.html.haml' do - element :message_content, required: true - end -end -``` - -### Navigating[](#navigating "Permalink") - -给定[来源](#examples) ... - -``` -Runtime::Browser.visit(:gitlab, Page::MyPage) - -execute_stuff -``` - -在继续`execute_stuff`之前,将调用 GitLab 质量检查人员在`MyPage`上扫描`my_element`和`another_element`在页面上 - -### Clicking[](#clicking "Permalink") - -给定[来源](#examples) ... - -``` -def open_layer - click_element :my_element, Layer::MyLayer -end -``` - -将在单击`my_element`时调用 GitLab 质量检查以确保`message_content`出现在 Layer 上. - -这意味着在继续测试之前确实已渲染了 Layer. \ No newline at end of file diff --git a/docs/640.md b/docs/640.md deleted file mode 100644 index 7576d82..0000000 --- a/docs/640.md +++ /dev/null @@ -1,57 +0,0 @@ -# Flows in GitLab QA - -> 原文:[https://docs.gitlab.com/ee/development/testing_guide/end_to_end/flows.html](https://docs.gitlab.com/ee/development/testing_guide/end_to_end/flows.html) - -# Flows in GitLab QA[](#flows-in-gitlab-qa "Permalink") - -流是经常使用的动作序列. 它们是比页面对象更高的抽象级别. 流可以包含多个页面对象或任何其他相关代码. - -例如,登录流封装了每个浏览器 UI 测试中包含的两个步骤. - -``` -# QA::Flow::Login - -def sign_in(as: nil) - Runtime::Browser.visit(:gitlab, Page::Main::Login) - Page::Main::Login.perform { |login| login.sign_in_using_credentials(user: as) } -end - -# When used in a test - -it 'performs a test after signing in as the default user' do - Flow::Login.sign_in - - # Perform the test -end -``` - -`QA::Flow::Login`提供了更有用的流程,使测试可以轻松切换用户. - -``` -# QA::Flow::Login - -def while_signed_in(as: nil) - Page::Main::Menu.perform(&:sign_out_if_signed_in) - - sign_in(as: as) - - yield - - Page::Main::Menu.perform(&:sign_out) -end - -# When used in a test - -it 'performs a test as one user and verifies as another' do - user1 = Resource::User.fabricate_or_use(Runtime::Env.gitlab_qa_username_1, Runtime::Env.gitlab_qa_password_1) - user2 = Resource::User.fabricate_or_use(Runtime::Env.gitlab_qa_username_2, Runtime::Env.gitlab_qa_password_2) - - Flow::Login.while_signed_in(as: user1) do - # Perform some setup as user1 - end - - Flow::Login.sign_in(as: user2) - - # Perform the rest of the test as user2 -end -``` \ No newline at end of file diff --git a/docs/641.md b/docs/641.md deleted file mode 100644 index 950e222..0000000 --- a/docs/641.md +++ /dev/null @@ -1,275 +0,0 @@ -# Page objects in GitLab QA - -> 原文:[https://docs.gitlab.com/ee/development/testing_guide/end_to_end/page_objects.html](https://docs.gitlab.com/ee/development/testing_guide/end_to_end/page_objects.html) - -* [Why do we need that?](#why-do-we-need-that) -* [What problems did we have in the past?](#what-problems-did-we-have-in-the-past) -* [How did we solve fragile tests problem?](#how-did-we-solve-fragile-tests-problem) -* [How to properly implement a page object?](#how-to-properly-implement-a-page-object) - * [Defining Elements](#defining-elements) - * [Adding Elements to a View](#adding-elements-to-a-view) - * [`data-qa-selector` vs `.qa-selector`](#data-qa-selector-vs-qa-selector) - * [Dynamic element selection](#dynamic-element-selection) - * [Examples](#examples) - * [Exceptions](#exceptions) - * [Define Page concerns](#define-page-concerns) -* [Running the test locally](#running-the-test-locally) -* [Where to ask for help?](#where-to-ask-for-help) - -# Page objects in GitLab QA[](#page-objects-in-gitlab-qa "Permalink") - -在 GitLab 质量检查中,我们使用一种称为*Page Objects*的已知模式. - -这意味着我们已经为用于驱动 GitLab 质量检查方案的 GitLab 中的所有页面建立了抽象. 每当我们在页面上执行某项操作(例如填写表单或单击按钮)时,我们仅通过与该 GitLab 区域相关联的页面对象来执行此操作. - -例如,当 GitLab QA 测试工具登录到 GitLab 时,它需要填写用户登录名和用户密码. 为此,我们有一个名为`Page::Main::Login`和`sign_in_using_credentials`方法的类,这是代码中仅有的一部分,它具有有关`user_login`和`user_password`字段的知识. - -## Why do we need that?[](#why-do-we-need-that "Permalink") - -我们需要页面对象,因为只要有人在 GitLab 的源代码中更改某些选择器,我们就需要减少重复并避免出现问题. - -想象一下,我们在 GitLab 质量检查中有 100 个规格,并且在每次声明之前我们都需要登录 GitLab. 如果没有页面对象,则需要依靠易失性助手或直接调用 Capybara 方法. 想象一下在每个`*_spec.rb`文件/测试示例中调用`fill_in :user_login` . - -以后有人在与此页面关联的视图`t.text_field :login`更改为`t.text_field :username` ,它将生成一个不同的字段标识符,这将有效地破坏所有测试. - -因为我们到处都在使用`Page::Main::Login.perform(&:sign_in_using_credentials)` ,所以当我们要登录到 GitLab 时,页面对象是唯一的事实来源,我们需要将`fill_in :user_login`更新为`fill_in :user_username`只能放在一个位置. - -## What problems did we have in the past?[](#what-problems-did-we-have-in-the-past "Permalink") - -由于性能原因以及构建软件包和测试所有内容所花费的时间,我们不会针对每次提交都运行 QA 测试. - -这就是为什么当有人在*新的会话*视图中将`t.text_field :login`更改为`t.text_field :username` ,直到我们的 GitLab QA 夜间管道失败或有人触发了他们的`package-and-qa`操作,我们才知道这一更改.合并请求. - -显然,这样的更改将破坏所有测试. 我们称这个问题为*脆弱的测试问题* . - -为了使 GitLab QA 更加可靠和健壮,我们必须通过在 GitLab CE / EE 视图与 GitLab QA 之间引入耦合来解决此问题. - -## How did we solve fragile tests problem?[](#how-did-we-solve-fragile-tests-problem "Permalink") - -当前,当您添加新的`Page::Base`派生类时,还需要定义页面对象所依赖的所有选择器. - -Whenever you push your code to CE / EE repository, `qa:selectors` sanity test job is going to be run as a part of a CI pipeline. - -此测试将验证我们在`qa/page`目录中实现的所有页面对象. 失败时,将通知您有关丢失的或无效的视图/选择器定义的信息. - -## How to properly implement a page object?[](#how-to-properly-implement-a-page-object "Permalink") - -我们建立了一个 DSL 来定义页面对象和它实际实现的 GitLab 视图之间的耦合. 请参阅下面的示例. - -``` -module Page - module Main - class Login < Page::Base - view 'app/views/devise/passwords/edit.html.haml' do - element :password_field - element :password_confirmation - element :change_password_button - end - - view 'app/views/devise/sessions/_new_base.html.haml' do - element :login_field - element :password_field - element :sign_in_button - end - - # ... - end - end -end -``` - -### Defining Elements[](#defining-elements "Permalink") - -`view` DSL 方法将对应于渲染元素的 rails View,partial 或 Vue 组件. - -`element` DSL 方法依次声明一个元素,需要将其相应的`data-qa-selector=element_name_snaked`数据属性添加到视图文件中. - -您还可以定义一个值(字符串或正则表达式)以匹配实际的视图代码,但是出于两个原因, **不**建议使用上述方法,建议使用该值: - -* 一致性:只有一种定义元素的方法 -* 关注点分离:QA 使用专用的`data-qa-*`属性,而不是重用其他组件使用的代码或类(例如`js-*`类等) - -``` -view 'app/views/my/view.html.haml' do - - ### Good ### - - # Implicitly require the CSS selector `[data-qa-selector="logout_button"]` to be present in the view - element :logout_button - - ### Bad ### - - ## This is deprecated and forbidden by the `QA/ElementWithPattern` RuboCop cop. - # Require `f.submit "Sign in"` to be present in `my/view.html.haml - element :my_button, 'f.submit "Sign in"' # rubocop:disable QA/ElementWithPattern - - ## This is deprecated and forbidden by the `QA/ElementWithPattern` RuboCop cop. - # Match every line in `my/view.html.haml` against - # `/link_to .* "My Profile"/` regexp. - element :profile_link, /link_to .* "My Profile"/ # rubocop:disable QA/ElementWithPattern -end -``` - -### Adding Elements to a View[](#adding-elements-to-a-view "Permalink") - -鉴于以下要素... - -``` -view 'app/views/my/view.html.haml' do - element :login_field - element :password_field - element :sign_in_button -end -``` - -要将这些元素添加到视图,必须通过为定义的每个元素添加`data-qa-selector`属性来更改 rails View,Partial 或 Vue 组件. - -在我们的示例中, `data-qa-selector="login_field"` , `data-qa-selector="password_field"`和`data-qa-selector="sign_in_button"` - -**app/views/my/view.html.haml** - -``` -= f.text_field :login, class: "form-control top", autofocus: "autofocus", autocapitalize: "off", autocorrect: "off", required: true, title: "This field is required.", data: { qa_selector: 'login_field' } -= f.password_field :password, class: "form-control bottom", required: true, title: "This field is required.", data: { qa_selector: 'password_field' } -= f.submit "Sign in", class: "btn btn-success", data: { qa_selector: 'sign_in_button' } -``` - -注意事项: - -* 元素的名称和`qa_selector`必须匹配并使用 snake_cased -* 如果该元素无条件显示在页面上,请向该元素添加`required: true` . 请参阅[动态元素验证](dynamic_element_validation.html) -* 您可能会在现有的页面对象中看到`.qa-selector`类. 我们应该使用[`data-qa-selector`](#data-qa-selector-vs-qa-selector)定义方法,而不是`.qa-selector` CSS 类. - -### `data-qa-selector` vs `.qa-selector`[](#data-qa-selector-vs-qa-selector "Permalink") - -在 GitLab 12.1 中引入 - -在视图中定义元素有两种支持的方法. - -1. `data-qa-selector` attribute -2. `.qa-selector` class - -任何现有的`.qa-selector`类都应视为已弃用,我们应该更喜欢`data-qa-selector`定义方法. - -### Dynamic element selection[](#dynamic-element-selection "Permalink") - -在 GitLab 12.5 中引入 - -自动化测试中常见的一种情况是选择一个"多对多"元素. 在几个项目的列表中,如何区分选择的内容? 最常见的解决方法是通过文本匹配. 相反,更好的做法是通过唯一标识符而不是文本来匹配该特定元素. - -我们通过添加`data-qa-*`可扩展选择机制来解决此问题. - -#### Examples[](#examples "Permalink") - -**例子 1** - -给出以下 Rails 视图(以 GitLab Issues 为例): - -``` -%ul.issues-list - - @issues.each do |issue| - %li.issue{data: { qa_selector: 'issue', qa_issue_title: issue.title } }= link_to issue -``` - -我们可以通过在 Rails 模型上进行匹配来选择特定的问题. - -``` -class Page::Project::Issues::Index < Page::Base - def has_issue?(issue) - has_element? :issue, issue_title: issue - end -end -``` - -在我们的测试中,我们可以验证此特定问题的存在. - -``` -describe 'Issue' do - it 'has an issue titled "hello"' do - Page::Project::Issues::Index.perform do |index| - expect(index).to have_issue('hello') - end - end -end -``` - -**例子 2** - -*通过索引…* - -``` -%ol - - @some_model.each_with_index do |model, idx| - %li.model{ data: { qa_selector: 'model', qa_index: idx } } -``` - -``` -expect(the_page).to have_element(:model, index: 1) #=> select on the first model that appears in the list -``` - -### Exceptions[](#exceptions "Permalink") - -在某些情况下,可能无法或不值得添加选择器. - -一些 UI 组件使用外部库,包括一些第三方维护的库. 即使 GitLab 维护了一个库,选择器的健全性测试也只能在 GitLab 项目中的代码上运行,因此无法为库中的代码指定视图的路径. - -在这种罕见的情况下,在页面对象方法中使用 CSS 选择器是合理的,并带有注释说明为什么不能添加`element`原因. - -### Define Page concerns[](#define-page-concerns "Permalink") - -某些页面具有共同的行为,并且/或者在特定于 EE 的模块之前添加了特定于 EE 的方法. - -These modules must: - -1. 从`QA::Page::PageConcern`模块`extend QA::Page::PageConcern` ,并`extend QA::Page::PageConcern` . -2. 重写`self.prepended`方法,如果他们需要`include` / `prepend`其他模块本身,和/或定义`view`或`elements` . -3. 将`super`称为`self.prepended`的第一件事. -4. 包含/添加其他模块,并在`base.class_eval`块中定义其`view` / `elements` ,以确保在添加模块的类中定义了它们. - -这些步骤确保健全性选择器检查将正确检测到问题. - -例如, `qa/qa/ee/page/merge_request/show.rb`将 EE 特定方法添加到`qa/qa/page/merge_request/show.rb` (带有`QA::Page::MergeRequest::Show.prepend_if_ee('QA::EE::Page::MergeRequest::Show')` ),其实现方式如下(仅显示相关部分,并使用内嵌注释引用上述 4 个步骤): - -``` -module QA - module EE - module Page - module MergeRequest - module Show - extend QA::Page::PageConcern # 1. - - def self.prepended(base) # 2. - super # 3. - - base.class_eval do # 4. - prepend Page::Component::LicenseManagement - - view 'app/assets/javascripts/vue_merge_request_widget/components/states/sha_mismatch.vue' do - element :head_mismatch, "The source branch HEAD has recently changed." - end - - [...] - end - end - end - end - end - end -end -``` - -## Running the test locally[](#running-the-test-locally "Permalink") - -在开发过程中,您可以运行以下命令来运行`qa:selectors`测试 - -``` -bin/qa Test::Sanity::Selectors -``` - -从`qa`目录中. - -## Where to ask for help?[](#where-to-ask-for-help "Permalink") - -如果您需要更多信息,请在 Slack 上的`#quality`频道(仅限内部,GitLab 团队)上寻求帮助. - -如果你不是一个团队成员,你仍然需要帮助的贡献,请打开 GitLab CE 问题追踪的一个问题`~QA`标签. \ No newline at end of file diff --git a/docs/642.md b/docs/642.md deleted file mode 100644 index a492e6c..0000000 --- a/docs/642.md +++ /dev/null @@ -1,362 +0,0 @@ -# Resource class in GitLab QA - -> 原文:[https://docs.gitlab.com/ee/development/testing_guide/end_to_end/resources.html](https://docs.gitlab.com/ee/development/testing_guide/end_to_end/resources.html) - -* [How to properly implement a resource class?](#how-to-properly-implement-a-resource-class) - * [Define API implementation](#define-api-implementation) - * [Resource attributes](#resource-attributes) - * [Product data attributes](#product-data-attributes) - * [Define an attribute based on an API response](#define-an-attribute-based-on-an-api-response) -* [Creating resources in your tests](#creating-resources-in-your-tests) -* [Where to ask for help?](#where-to-ask-for-help) - -# Resource class in GitLab QA[](#resource-class-in-gitlab-qa "Permalink") - -资源主要是使用浏览器 UI 步骤创建的,但也可以通过 API 或 CLI 创建的. - -## How to properly implement a resource class?[](#how-to-properly-implement-a-resource-class "Permalink") - -所有资源类都应继承自`Resource::Base` . - -只有一种强制性方法可以实现以定义资源类. 这是`#fabricate!` 方法,用于通过浏览器 UI 构建资源. 请注意,在此方法中,您仅应使用[Page 对象](page_objects.html)与网页进行交互. - -这是一个假想的例子: - -``` -module QA - module Resource - class Shirt < Base - attr_accessor :name - - def fabricate! - Page::Dashboard::Index.perform do |dashboard_index| - dashboard_index.go_to_new_shirt - end - - Page::Shirt::New.perform do |shirt_new| - shirt_new.set_name(name) - shirt_new.create_shirt! - end - end - end - end -end -``` - -### Define API implementation[](#define-api-implementation "Permalink") - -资源类还可以实现以下三种方法,以便能够通过公共 GitLab API 创建资源: - -* `#api_get_path` :获取现有资源的`GET`路径. -* `#api_post_path` :用于创建新资源的`POST`路径. -* `#api_post_body` :用于创建新资源的`POST`正文(作为 Ruby 哈希). - -> 请注意,许多 API 资源都是[分页的](../../../api/README.html#pagination) . 如果找不到期望的结果,请检查是否有超过一页的结果. - -让我们使用`Shirt`资源类,并添加以下三个 API 方法: - -``` -module QA - module Resource - class Shirt < Base - attr_accessor :name - - def fabricate! - # ... same as before - end - - def api_get_path - "/shirt/#{name}" - end - - def api_post_path - "/shirts" - end - - def api_post_body - { - name: name - } - end - end - end -end -``` - -`Project`资源是浏览器 UI 和 API 实现的一个很好的真实示例. - -#### Resource attributes[](#resource-attributes "Permalink") - -一个资源可能首先需要另一个资源. 例如,一个项目需要在其中创建一个组. - -要定义资源属性,可以将`attribute`方法与使用其他资源类的块一起使用以构造资源. - -这将允许从资源对象的方法访问其他资源. 您通常会在`#fabricate!`使用它`#fabricate!` , `#api_get_path` , `#api_post_path` , `#api_post_body` . - -让我们使用`Shirt`资源类,并向其添加一个`project`属性: - -``` -module QA - module Resource - class Shirt < Base - attr_accessor :name - - attribute :project do - Project.fabricate! do |resource| - resource.name = 'project-to-create-a-shirt' - end - end - - def fabricate! - project.visit! - - Page::Project::Show.perform do |project_show| - project_show.go_to_new_shirt - end - - Page::Shirt::New.perform do |shirt_new| - shirt_new.set_name(name) - shirt_new.create_shirt! - end - end - - def api_get_path - "/project/#{project.path}/shirt/#{name}" - end - - def api_post_path - "/project/#{project.path}/shirts" - end - - def api_post_body - { - name: name - } - end - end - end -end -``` - -**请注意,所有属性都是延迟构造的. 这意味着,如果您要首先构造特定的属性,则即使不使用它,也需要首先调用 attribute 方法.** - -#### Product data attributes[](#product-data-attributes "Permalink") - -创建后,您可能希望使用可在网页或 API 响应中找到的属性填充资源. 例如,创建项目后,您可能希望将其存储库 SSH URL 存储为属性. - -同样,我们可以将`attribute`方法与块一起使用,使用页面对象来检索页面上的数据. - -让我们以`Shirt`资源类`Shirt` ,并定义一个`:brand`属性: - -``` -module QA - module Resource - class Shirt < Base - attr_accessor :name - - attribute :project do - Project.fabricate! do |resource| - resource.name = 'project-to-create-a-shirt' - end - end - - # Attribute populated from the Browser UI (using the block) - attribute :brand do - Page::Shirt::Show.perform do |shirt_show| - shirt_show.fetch_brand_from_page - end - end - - # ... same as before - end - end -end -``` - -**再次注意,所有属性都是延迟构造的. 这意味着,如果您`shirt.brand`另一页面后再调用`shirt.brand` ,则由于我们不在预期的页面上,因此将无法正确检索数据.** - -考虑一下: - -``` -shirt = - QA::Resource::Shirt.fabricate! do |resource| - resource.name = "GitLab QA" - end - -shirt.project.visit! - -shirt.brand # => FAIL! -``` - -上面的示例将失败,因为现在我们在项目页面上,试图从衬衫页面构造品牌数据,但是我们已经移至项目页面. 有两种解决方法,一种是我们可以在再次访问该项目之前尝试检索该品牌: - -``` -shirt = - QA::Resource::Shirt.fabricate! do |resource| - resource.name = "GitLab QA" - end - -shirt.brand # => OK! - -shirt.project.visit! - -shirt.brand # => OK! -``` - -The attribute will be stored in the instance therefore all the following calls will be fine, using the data previously constructed. If we think that this might be too brittle, we could eagerly construct the data right before ending fabrication: - -``` -module QA - module Resource - class Shirt < Base - # ... same as before - - def fabricate! - project.visit! - - Page::Project::Show.perform do |project_show| - project_show.go_to_new_shirt - end - - Page::Shirt::New.perform do |shirt_new| - shirt_new.set_name(name) - shirt_new.create_shirt! - end - - populate(:brand) # Eagerly construct the data - end - end - end -end -``` - -`populate`方法将遍历其参数并分别调用每个属性. 这里`populate(:brand)`有像刚才一样的效果`brand` . 使用填充方法使意图更清晰. - -这样,将确保我们在创建衬衫后立即构造数据. 缺点是,即使我们不需要使用数据,也总是在构造资源时构造数据. - -另外,我们可以在构建品牌数据之前确保在正确的页面上: - -``` -module QA - module Resource - class Shirt < Base - attr_accessor :name - - attribute :project do - Project.fabricate! do |resource| - resource.name = 'project-to-create-a-shirt' - end - end - - # Attribute populated from the Browser UI (using the block) - attribute :brand do - back_url = current_url - visit! - - Page::Shirt::Show.perform do |shirt_show| - shirt_show.fetch_brand_from_page - end - - visit(back_url) - end - - # ... same as before - end - end -end -``` - -这将确保在构建品牌之前,它在衬衫页面上,并返回到上一页以避免破坏状态. - -#### Define an attribute based on an API response[](#define-an-attribute-based-on-an-api-response "Permalink") - -有时,您想基于来自其`GET`或`POST`请求的 API 响应来定义资源属性. 例如,如果通过 API 创建衬衫的返回 - -``` -{ - brand: 'a-brand-new-brand', - style: 't-shirt', - materials: [[:cotton, 80], [:polyamide, 20]] -} -``` - -您可能希望将`style` `main_fabric`在资源中,并在`main_fabric`属性中获取第一个`materials`项的第一个值. - -让我们以`Shirt`资源类`:main_fabric` ,并定义一个`:style`和`:main_fabric`属性: - -``` -module QA - module Resource - class Shirt < Base - # ... same as before - - # @style from the instance if present, - # or fetched from the API response if present, - # or a QA::Resource::Base::NoValueError is raised otherwise - attribute :style - - # If @main_fabric is not present, - # and if the API does not contain this field, this block will be - # used to construct the value based on the API response, and - # store the result in @main_fabric - attribute :main_fabric do - api_response.&dig(:materials, 0, 0) - end - - # ... same as before - end - end -end -``` - -**有关属性优先级的说明:** - -* 资源实例变量具有最高优先级 -* API 响应中的属性优先于块中的属性(通常是来自浏览器用户界面) -* 没有值的属性将引发`QA::Resource::Base::NoValueError`错误 - -## Creating resources in your tests[](#creating-resources-in-your-tests "Permalink") - -要在测试中创建资源,可以调用`.fabricate!` 资源类上的方法. 请注意,如果资源类支持 API 构造,则默认情况下将使用该构造. - -这是一个示例,由于`Shirt`资源类支持该方法,因此将在后台使用 API​​构造方法: - -``` -my_shirt = Resource::Shirt.fabricate! do |shirt| - shirt.name = 'my-shirt' -end - -expect(page).to have_text(my_shirt.name) # => "my-shirt" from the resource's instance variable -expect(page).to have_text(my_shirt.brand) # => "a-brand-new-brand" from the API response -expect(page).to have_text(my_shirt.style) # => "t-shirt" from the API response -expect(page).to have_text(my_shirt.main_fabric) # => "cotton" from the API response via the block -``` - -如果您明确希望使用浏览器 UI 的制作方法,则可以调用`.fabricate_via_browser_ui!` 方法: - -``` -my_shirt = Resource::Shirt.fabricate_via_browser_ui! do |shirt| - shirt.name = 'my-shirt' -end - -expect(page).to have_text(my_shirt.name) # => "my-shirt" from the resource's instance variable -expect(page).to have_text(my_shirt.brand) # => the brand name fetched from the `Page::Shirt::Show` page via the block -expect(page).to have_text(my_shirt.style) # => QA::Resource::Base::NoValueError will be raised because no API response nor a block is provided -expect(page).to have_text(my_shirt.main_fabric) # => QA::Resource::Base::NoValueError will be raised because no API response and the block didn't provide a value (because it's also based on the API response) -``` - -您还可以通过调用`.fabricate_via_api!`来显式使用 API `.fabricate_via_api!` 方法: - -``` -my_shirt = Resource::Shirt.fabricate_via_api! do |shirt| - shirt.name = 'my-shirt' -end -``` - -在这种情况下,结果将类似于调用`Resource::Shirt.fabricate!` . - -## Where to ask for help?[](#where-to-ask-for-help "Permalink") - -如果您需要更多信息,请在 Slack 上的`#quality`频道(仅限内部,GitLab 团队)上寻求帮助. - -如果你不是一个团队成员,你仍然需要帮助的贡献,请打开 GitLab CE 问题追踪的一个问题`~QA`标签. \ No newline at end of file diff --git a/docs/643.md b/docs/643.md deleted file mode 100644 index 4efaaa9..0000000 --- a/docs/643.md +++ /dev/null @@ -1,167 +0,0 @@ -# Style guide for writing end-to-end tests - -> 原文:[https://docs.gitlab.com/ee/development/testing_guide/end_to_end/style_guide.html](https://docs.gitlab.com/ee/development/testing_guide/end_to_end/style_guide.html) - -* [`click_` versus `go_to_`](#click_-versus-go_to_) - * [When to use `click_`?](#when-to-use-click_) - * [When to use `go_to_`?](#when-to-use-go_to_) -* [Element naming convention](#element-naming-convention) - * [Examples](#examples) -* [Block argument naming](#block-argument-naming) - * [Examples](#examples-1) - -# Style guide for writing end-to-end tests[](#style-guide-for-writing-end-to-end-tests "Permalink") - -本文档介绍了在 GitLab 上使用 GitLab QA 项目编写端到端(E2E)测试所使用的约定. - -## `click_` versus `go_to_`[](#click_-versus-go_to_ "Permalink") - -### When to use `click_`?[](#when-to-use-click_ "Permalink") - -单击单个链接进行导航时,请使用`click_` . - -E.g.: - -``` -def click_ci_cd_pipelines - within_sidebar do - click_element :link_pipelines - end -end -``` - -从测试的角度来看,如果我们要检查单击链接或按钮(单个交互)是否按预期工作,我们希望测试的内容为: - -* 点击某个元素 -* 验证操作是否发生 - -### When to use `go_to_`?[](#when-to-use-go_to_ "Permalink") - -与多个元素进行交互以转到页面时,请使用`go_to_` . - -E.g.: - -``` -def go_to_operations_environments - hover_operations do - within_submenu do - click_element(:operations_environments_link) - end - end -end -``` - -`go_to_`适合与多个元素进行交互的定义,因为它更多的是包含多个交互的元导航操作. - -请注意,在上面的示例中,在单击`:operations_environments_link`之前,将鼠标悬停在另一个元素上. - -> 我们可以创建这些方法作为抽象多步导航的助手. - -## Element naming convention[](#element-naming-convention "Permalink") - -在页面上添加新元素时,重要的是要有统一的元素命名约定. - -我们遵循一个基于匈牙利表示法的简单公式. - -*Formula*: `element :<descriptor>_<type>` - -* `descriptor` :元素是什么的自然语言描述. 在登录页面上,可以是`username`或`password` . -* `type` :用户可以在页面上看到的通用控件. - * `_button` - * `_checkbox` - * `_container` :包含其他元素但本身不显示可见内容的元素. 例如,其中具有第三方编辑器的元素,但它本身不是编辑器,因此不包含编辑器的内容. - * `_content` :包含文本,图像或显示给用户的任何其他内容的任何元素. - * `_dropdown` - * `_field` :文本输入元素. - * `_link` - * `_modal` :弹出的模式对话框,例如确认提示. - * `_placeholder` :加载内容时出现的临时元素. 例如,在获取讨论时显示的元素而不是讨论. - * `_radio` - * `_tab` - * `_menu_item` - -*注意:如果列出的类型都不适合,请打开合并请求以将适当的类型添加到列表中.* - -### Examples[](#examples "Permalink") - -**Good** - -``` -view '...' do - element :edit_button - element :notes_tab - element :squash_checkbox - element :username_field - element :issue_title_content -end -``` - -**Bad** - -``` -view '...' do - # `_confirmation` should be `_field`. what sort of confirmation? a checkbox confirmation? no real way to disambiguate. - # an appropriate replacement would be `element :password_confirmation_field` - element :password_confirmation - - # `clone_options` is too vague. If it's a dropdown menu, it should be `clone_dropdown`. - # If it's a checkbox, it should be `clone_checkbox` - element :clone_options - - # how is this url being displayed? is it a textbox? a simple span? - # If it is content on the page, it should be `ssh_clone_url_content` - element :ssh_clone_url -end -``` - -## Block argument naming[](#block-argument-naming "Permalink") - -为了对使用`.perform`方法时调用的页面和资源有一个标准,我们在`.perform`使用页面对象的[名称](https://en.wikipedia.org/wiki/Snake_case) (全部小写,单词之间用下划线分隔). 请参阅下面的好与坏示例. - -尽管在大多数情况下我们倾向于遵循该标准,但是只要名称不明确,也可以使用常见缩写(例如`mr` )或其他替代方式. 如果有助于避免混淆或使代码更具可读性,则可以包括附加`_page` . 例如,如果一个页面对象被命名为`New` ,也可能是混淆命名块论点`new` ,因为这是用来实例化对象,所以`new_page`是可以接受的. - -我们选择不只是使用`page`因为这会遮盖 Capybara DSL,从而可能导致混乱和错误. - -### Examples[](#examples-1 "Permalink") - -**Good** - -``` -Page::Project::Members.perform do |members| - members.do_something -end -``` - -``` -Resource::MergeRequest.fabricate! do |merge_request| - merge_request.do_something_else -end -``` - -``` -Resource::MergeRequest.fabricate! do |mr| - mr.do_something_else -end -``` - -``` -Page::Project::New.peform do |new_page| - new_page.do_something -end -``` - -**Bad** - -``` -Page::Project::Members.perform do |project_settings_members_page| - project_settings_members_page.do_something -end -``` - -``` -Page::Project::New.peform do |page| - page.do_something -end -``` - -> 除了采用标准的优点之外,通过遵循该标准,我们还编写了较短的代码行. \ No newline at end of file diff --git a/docs/644.md b/docs/644.md deleted file mode 100644 index dbe7c0a..0000000 --- a/docs/644.md +++ /dev/null @@ -1,35 +0,0 @@ -# Testing with feature flags - -> 原文:[https://docs.gitlab.com/ee/development/testing_guide/end_to_end/feature_flags.html](https://docs.gitlab.com/ee/development/testing_guide/end_to_end/feature_flags.html) - -* [Running a scenario with a feature flag enabled](#running-a-scenario-with-a-feature-flag-enabled) - -# Testing with feature flags[](#testing-with-feature-flags "Permalink") - -要在启用了功能标志的情况下运行特定的测试,可以使用`QA::Runtime::Feature`类来启用和禁用功能标志( [通过 API](../../../api/features.html) ). - -请注意,更改功能标志需要管理员授权. 只要您通过`GITLAB_QA_ADMIN_ACCESS_TOKEN` (推荐)提供适当的访问令牌,或者提供`GITLAB_ADMIN_USERNAME`和`GITLAB_ADMIN_PASSWORD` , `QA::Runtime::Feature`将自动以管理员身份进行身份验证. - -请确保包含标签`:requires_admin`以便在没有管理员权限的环境中可以跳过测试. - -``` -RSpec.describe "with feature flag enabled", :requires_admin do - before do - Runtime::Feature.enable('feature_flag_name') - end - - it "feature flag test" do - # Execute a test with a feature flag enabled - end - - after do - Runtime::Feature.disable('feature_flag_name') - end -end -``` - -## Running a scenario with a feature flag enabled[](#running-a-scenario-with-a-feature-flag-enabled "Permalink") - -也可以在启用功能标记的情况下运行整个方案,而无需编辑现有测试或编写新测试. - -有关详细信息,请参见[质量检查自述文件](https://gitlab.com/gitlab-org/gitlab/tree/master/qa#running-tests-with-a-feature-flag-enabled) . \ No newline at end of file diff --git a/docs/645.md b/docs/645.md deleted file mode 100644 index ce7e728..0000000 --- a/docs/645.md +++ /dev/null @@ -1,47 +0,0 @@ -# Translate GitLab to your language - -> 原文:[https://docs.gitlab.com/ee/development/i18n/](https://docs.gitlab.com/ee/development/i18n/) - -* [How to contribute](#how-to-contribute) - * [Externalize strings](#externalize-strings) - * [Translate strings](#translate-strings) - * [Proof reading](#proof-reading) -* [Release](#release) - -# Translate GitLab to your language[](#translate-gitlab-to-your-language "Permalink") - -默认情况下,GitLab 用户界面中的文本为美式英语. 每个字符串都可以翻译成其他语言. 在翻译每个字符串时,会将其添加到语言翻译文件中,并将在以后的 GitLab 版本中提供. - -始终需要为翻译做出贡献. 许多字符串尚未转换,因为它们尚未被外部化. 帮助外部化字符串有益于所有语言. 某些翻译不完整或不一致. 翻译字符串将有助于完成和改进每种语言. - -## How to contribute[](#how-to-contribute "Permalink") - -您可以通过多种方式来翻译 GitLab. - -### Externalize strings[](#externalize-strings "Permalink") - -在翻译字符串之前,必须将其外部化. 在此过程中,GitLab 源代码中的英文字符串被包装到一个函数中,该函数检索用户语言的翻译后的字符串. - -随着新功能的添加和现有功能的更新,周围的字符串也被外部化,但是,GitLab 的许多部分仍需要更多的工作来外部化所有字符串. - -See [Externalization for GitLab](externalization.html). - -### Translate strings[](#translate-strings "Permalink") - -使用[CrowdIn](https://crowdin.com/)在[https://translate.gitlab.com](https://translate.gitlab.com)上管理翻译过程. 您需要先创建一个帐户,然后才能提交翻译. 登录后,选择您想要贡献翻译的语言. - -对翻译进行投票也很有价值,有助于确认良好的翻译并标记不正确的翻译. - -See [Translation guidelines](translation.html). - -### Proof reading[](#proof-reading "Permalink") - -校对有助于确保翻译的准确性和一致性. 在接受所有翻译之前,请先进行校对. 如果翻译需要更改,则会通过注释告知您原因. - -有关谁可以校对的更多信息以及您自己成为校对者的说明,请参见[校对译文](proofreader.html) . - -## Release[](#release "Permalink") - -翻译通常包含在下一个主要或次要版本中. - -See [Merging translations from CrowdIn](merging_translations.html). \ No newline at end of file diff --git a/docs/646.md b/docs/646.md deleted file mode 100644 index cfec390..0000000 --- a/docs/646.md +++ /dev/null @@ -1,584 +0,0 @@ -# Internationalization for GitLab - -> 原文:[https://docs.gitlab.com/ee/development/i18n/externalization.html](https://docs.gitlab.com/ee/development/i18n/externalization.html) - -* [Setting up GitLab Development Kit (GDK)](#setting-up-gitlab-development-kit-gdk) -* [Tools](#tools) -* [Preparing a page for translation](#preparing-a-page-for-translation) - * [Ruby files](#ruby-files) - * [HAML files](#haml-files) - * [ERB files](#erb-files) - * [JavaScript files](#javascript-files) - * [Dynamic translations](#dynamic-translations) -* [Working with special content](#working-with-special-content) - * [Interpolation](#interpolation) - * [Plurals](#plurals) - * [Namespaces](#namespaces) - * [Dates / times](#dates--times) -* [Best practices](#best-practices) - * [Keep translations dynamic](#keep-translations-dynamic) - * [Splitting sentences](#splitting-sentences) - * [Avoid splitting sentences when adding links](#avoid-splitting-sentences-when-adding-links) - * [Vue components interpolation](#vue-components-interpolation) -* [Updating the PO files with the new content](#updating-the-po-files-with-the-new-content) - * [Validating PO files](#validating-po-files) -* [Adding a new language](#adding-a-new-language) - -# Internationalization for GitLab[](#internationalization-for-gitlab "Permalink") - -在 GitLab 9.2 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/10669) . - -为了使用国际化(i18n),使用了[GNU gettext](https://www.gnu.org/software/gettext/) ,因为它是该任务最常用的工具,并且有许多应用程序可以帮助我们使用它. - -## Setting up GitLab Development Kit (GDK)[](#setting-up-gitlab-development-kit-gdk "Permalink") - -为了能够在[GitLab 社区版](https://gitlab.com/gitlab-org/gitlab-foss)项目上工作,您必须通过[GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/set-up-gdk.md)下载并配置它. - -准备好 GitLab 项目后,就可以开始进行翻译了. - -## Tools[](#tools "Permalink") - -使用以下工具: - -1. [`gettext_i18n_rails`](https://github.com/grosser/gettext_i18n_rails) :这个 gem 使我们可以转换模型,视图和控制器中的内容. 此外,它还使我们可以访问以下 Rake 任务: - * `rake gettext:find` :解析 Rails 应用程序中的几乎所有文件,以查找已标记为要翻译的内容. 最后,它将使用找到的新内容更新 PO 文件. - * `rake gettext:pack` :处理 PO 文件并生成二进制的 MO 文件,最终由应用程序使用. -2. [`gettext_i18n_rails_js`](https://github.com/webhippie/gettext_i18n_rails_js) :此 gem 对于使翻译在 JavaScript 中可用非常有用. 它提供以下 Rake 任务: - * `rake gettext:po_to_json` :从 PO 文件中读取内容,并生成包含所有可用翻译的 JSON 文件. -3. PO 编辑器:有多个应用程序可以帮助我们处理 PO 文件, [Poedit](https://poedit.net/download)是一个不错的选择,可用于 macOS,GNU / Linux 和 Windows. - -## Preparing a page for translation[](#preparing-a-page-for-translation "Permalink") - -我们基本上有 4 种类型的文件: - -1. Ruby 文件:基本上是模型和控制器. -2. HAML 文件:这些是视图文件. -3. ERB 文件:用于电子邮件模板. -4. JavaScript 文件:我们主要需要使用 Vue 模板. - -### Ruby files[](#ruby-files "Permalink") - -例如,如果存在使用原始字符串的方法或变量,则: - -``` -def hello - "Hello world!" -end -``` - -Or: - -``` -hello = "Hello world!" -``` - -您可以轻松地将该内容标记为要翻译的内容: - -``` -def hello - _("Hello world!") -end -``` - -Or: - -``` -hello = _("Hello world!") -``` - -在类或模块级别转换字符串时要小心,因为在类加载时它们只会被评估一次. - -例如: - -``` -validates :group_id, uniqueness: { scope: [:project_id], message: _("already shared with this group") } -``` - -当加载该类时,这将被翻译,并导致错误消息始终位于默认语言环境中. - -Active Record’s `:message` option accepts a `Proc`, so we can do this instead: - -``` -validates :group_id, uniqueness: { scope: [:project_id], message: -> (object, data) { _("already shared with this group") } } -``` - -**注意:** API( `lib/api/`或`app/graphql` )中的消息无需外部化. - -### HAML files[](#haml-files "Permalink") - -考虑到 HAML 中的以下内容: - -``` -%h1 Hello world! -``` - -您可以使用以下方式将该内容标记为要翻译的内容: - -``` -%h1= _("Hello world!") -``` - -### ERB files[](#erb-files "Permalink") - -考虑到 ERB 中的以下内容: - -``` -<h1>Hello world!</h1> -``` - -您可以使用以下方式将该内容标记为要翻译的内容: - -``` -<h1><%= _("Hello world!") %></h1> -``` - -### JavaScript files[](#javascript-files "Permalink") - -在 JavaScript 中,我们添加了`__()` (双下划线括号)函数,您可以从`~/locale`文件中导入该函数. 例如: - -``` -import { __ } from '~/locale'; -const label = __('Subscribe'); -``` - -为了测试 JavaScript 翻译,您必须将 GitLab 本地化更改为英语以外的其他语言,并且必须使用`bin/rake gettext:po_to_json`或`bin/rake gettext:compile`生成 JSON 文件. - -### Dynamic translations[](#dynamic-translations "Permalink") - -有时,运行`bin/rake gettext:find`时,解析器无法找到一些动态转换. 对于这些情况,可以使用[`N_`方法](https://github.com/grosser/gettext_i18n_rails/blob/c09e38d481e0899ca7d3fc01786834fa8e7aab97/Readme.md#unfound-translations-with-rake-gettextfind) . - -还有另一种方法可以[转换来自验证错误的消息](https://github.com/grosser/gettext_i18n_rails/blob/c09e38d481e0899ca7d3fc01786834fa8e7aab97/Readme.md#option-a) . - -## Working with special content[](#working-with-special-content "Permalink") - -### Interpolation[](#interpolation "Permalink") - -翻译后的文字中的占位符应与相应源文件的代码样式匹配. 例如使用`%{created_at}`在 Ruby,但`%{createdAt}`在 JavaScript. [添加链接时,](#avoid-splitting-sentences-when-adding-links)请确保[避免拆分句子](#avoid-splitting-sentences-when-adding-links) . - -* 在 Ruby / HAML 中: - - ``` - _("Hello %{name}") % { name: 'Joe' } => 'Hello Joe' - ``` - -* 在 Vue 中: - - 请参见有关[Vue 分量插值](#vue-components-interpolation)的部分. - -* 在 JavaScript 中(无法使用 Vue 时): - - ``` - import { __, sprintf } from '~/locale'; - - sprintf(__('Hello %{username}'), { username: 'Joe' }); // => 'Hello Joe' - ``` - - 如果要在翻译中使用标记并且正在使用 Vue,则**必须**使用[`gl-sprintf`](#vue-components-interpolation)组件. 如果由于某种原因您不能使用 Vue,请使用`sprintf`并通过将`false`用作第三个参数来阻止其转义占位符值. 您**必须**使用自己逃避任何插值动态值,例如`escape`从`lodash` . - - ``` - import { escape } from 'lodash'; - import { __, sprintf } from '~/locale'; - - let someDynamicValue = '<script>alert("evil")</script>'; - - // Dangerous: - sprintf(__('This is %{value}'), { value: `<strong>${someDynamicValue}</strong>`, false); - // => 'This is <strong><script>alert('evil')</script></strong>' - - // Incorrect: - sprintf(__('This is %{value}'), { value: `<strong>${someDynamicValue}</strong>` }); - // => 'This is <strong><script>alert('evil')</script></strong>' - - // OK: - sprintf(__('This is %{value}'), { value: `<strong>${escape(someDynamicValue)}</strong>`, false); - // => 'This is <strong><script>alert('evil')</script></strong>' - ``` - -### Plurals[](#plurals "Permalink") - -* 在 Ruby / HAML 中: - - ``` - n_('Apple', 'Apples', 3) - # => 'Apples' - ``` - - 使用插值: - - ``` - n_("There is a mouse.", "There are %d mice.", size) % size - # => When size == 1: 'There is a mouse.' - # => When size == 2: 'There are 2 mice.' - ``` - - 避免在单个字符串中使用`%d`或计数变量. 这样可以更自然地翻译某些语言. - -* 在 JavaScript 中: - - ``` - n__('Apple', 'Apples', 3) - // => 'Apples' - ``` - - 使用插值: - - ``` - n__('Last day', 'Last %d days', x) - // => When x == 1: 'Last day' - // => When x == 2: 'Last 2 days' - ``` - -`n_`方法仅应用于获取同一字符串的多个转换,而不能控制针对不同数量显示不同字符串的逻辑. 某些语言具有不同数量的目标复数形式-例如,中文(简体)在我们的翻译工具中仅具有一种目标复数形式. 这意味着翻译者将不得不选择只翻译一个字符串,而翻译在另一种情况下的表现将不符合预期. - -例如,更喜欢使用: - -``` -if selected_projects.one? - selected_projects.first.name -else - n__("Project selected", "%d projects selected", selected_projects.count) -end -``` - -而不是: - -``` -# incorrect usage example -n_("%{project_name}", "%d projects selected", count) % { project_name: 'GitLab' } -``` - -### Namespaces[](#namespaces "Permalink") - -命名空间是一种将属于在一起的翻译进行分组的方法. 它们通过在前缀后面加上条形符号( `|` )为我们的翻译人员提供上下文. 例如: - -``` -'Namespace|Translated string' -``` - -命名空间具有以下优点: - -* 它解决了词义上的歧义,例如: `Promotions|Promote` vs `Epic|Promote` -* 它使翻译人员可以专注于翻译属于相同产品区域而不是任意产品区域的外部化字符串. -* 它提供了语言环境以帮助翻译. - -在某些情况下,例如,对于无处不在的 UI 单词和短语(如"取消")或短语(如"保存更改")而言,名称空间可能会适得其反. - -命名空间应为 PascalCase. - -* 在 Ruby / HAML 中: - - ``` - s_('OpenedNDaysAgo|Opened') - ``` - - 如果找不到翻译,它将返回`Opened` . - -* 在 JavaScript 中: - - ``` - s__('OpenedNDaysAgo|Opened') - ``` - -注意:应从转换中删除名称空间. 有关[更多详细信息,](translation.html#namespaced-strings)请参见[翻译指南](translation.html#namespaced-strings) . - -### Dates / times[](#dates--times "Permalink") - -* 在 JavaScript 中: - -``` -import { createDateTimeFormat } from '~/locale'; - -const dateFormat = createDateTimeFormat({ year: 'numeric', month: 'long', day: 'numeric' }); -console.log(dateFormat.format(new Date('2063-04-05'))) // April 5, 2063 -``` - -这利用了[`Intl.DateTimeFormat`](https://s0developer0mozilla0org.icopy.site/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat) . - -* 在 Ruby / HAML 中,我们有两种向日期和时间添加格式的方法: - - 1. **通过`l`帮助器** ,即`l(active_session.created_at, format: :short)` . 我们有一些预定义的[日期](https://gitlab.com/gitlab-org/gitlab/blob/4ab54c2233e91f60a80e5b6fa2181e6899fdcc3e/config/locales/en.yml#L54)和[时间](https://gitlab.com/gitlab-org/gitlab/blob/4ab54c2233e91f60a80e5b6fa2181e6899fdcc3e/config/locales/en.yml#L262)格式. 如果您需要添加新格式,因为代码的其他部分可能会从中受益,则需要将其添加到[en.yml](https://gitlab.com/gitlab-org/gitlab/blob/master/config/locales/en.yml)文件中. - 2. **通过`strftime`** ,即`milestone.start_date.strftime('%b %-d')` . 如果在[en.yml 上](https://gitlab.com/gitlab-org/gitlab/blob/master/config/locales/en.yml)定义的格式[均不](https://gitlab.com/gitlab-org/gitlab/blob/master/config/locales/en.yml)符合我们所需的日期/时间规范,并且由于非常特殊而无需将其添加为新格式的情况(例如,仅在单个视图中使用),则我们将使用`strftime` . . - -## Best practices[](#best-practices "Permalink") - -### Keep translations dynamic[](#keep-translations-dynamic "Permalink") - -在某些情况下,将翻译内容保持在数组或哈希中是有意义的. - -Examples: - -* 下拉列表的映射 -* 错误讯息 - -要存储此类数据,使用常数似乎是最佳选择,但这不适用于翻译. - -不好,请避免: - -``` -class MyPresenter - MY_LIST = { - key_1: _('item 1'), - key_2: _('item 2'), - key_3: _('item 3') - } -end -``` - -首次加载该类时,将调用翻译方法( `_` ),并将文本翻译为默认语言环境. 无论用户的语言环境是什么,这些值都不会再次转换. - -将类方法与备注一起使用时,也会发生类似的情况. - -不好,请避免: - -``` -class MyModel - def self.list - @list ||= { - key_1: _('item 1'), - key_2: _('item 2'), - key_3: _('item 3') - } - end -end -``` - -此方法将使用用户的语言环境来记住翻译,该用户首先"调用"此方法. - -为避免这些问题,请保持翻译动态. - -Good: - -``` -class MyPresenter - def self.my_list - { - key_1: _('item 1'), - key_2: _('item 2'), - key_3: _('item 3') - }.freeze - end -end -``` - -### Splitting sentences[](#splitting-sentences "Permalink") - -请不要拆分句子,因为这会假定句子的语法和结构在所有语言中都是相同的. - -例如,以下内容: - -``` -{{ s__("mrWidget|Set by") }} -{{ author.name }} -{{ s__("mrWidget|to be merged automatically when the pipeline succeeds") }} -``` - -应该外部化如下: - -``` -{{ sprintf(s__("mrWidget|Set by %{author} to be merged automatically when the pipeline succeeds"), { author: author.name }) }} -``` - -#### Avoid splitting sentences when adding links[](#avoid-splitting-sentences-when-adding-links "Permalink") - -当在翻译的句子之间使用链接时,这也适用,否则这些文本在某些语言中不可翻译. - -* 在 Ruby / HAML 中,而不是: - - ``` - - zones_link = link_to(s_('ClusterIntegration|zones'), 'https://cloud.google.com/compute/docs/regions-zones/regions-zones', target: '_blank', rel: 'noopener noreferrer') - = s_('ClusterIntegration|Learn more about %{zones_link}').html_safe % { zones_link: zones_link } - ``` - - 将链接的开始和结束 HTML 片段设置为变量,如下所示: - - ``` - - zones_link_url = 'https://cloud.google.com/compute/docs/regions-zones/regions-zones' - - zones_link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: zones_link_url } - = s_('ClusterIntegration|Learn more about %{zones_link_start}zones%{zones_link_end}').html_safe % { zones_link_start: zones_link_start, zones_link_end: '</a>'.html_safe } - ``` - -* 在 Vue 中,而不是: - - ``` - <template> - <div> - <gl-sprintf :message="s__('ClusterIntegration|Learn more about %{link}')"> - <template #link> - <gl-link - href="https://cloud.google.com/compute/docs/regions-zones/regions-zones" - target="_blank" - >zones</gl-link> - </template> - </gl-sprintf> - </div> - </template> - ``` - - 将链接的开始和结束 HTML 片段设置为占位符,如下所示: - - ``` - <template> - <div> - <gl-sprintf :message="s__('ClusterIntegration|Learn more about %{linkStart}zones%{linkEnd}')"> - <template #link="{ content }"> - <gl-link - href="https://cloud.google.com/compute/docs/regions-zones/regions-zones" - target="_blank" - >{{ content }}</gl-link> - </template> - </gl-sprintf> - </div> - </template> - ``` - -* 在 JavaScript 中(无法使用 Vue 时),而不是: - - ``` - {{ - sprintf(s__("ClusterIntegration|Learn more about %{link}"), { - link: '<a href="https://cloud.google.com/compute/docs/regions-zones/regions-zones" target="_blank" rel="noopener noreferrer">zones</a>' - }) - }} - ``` - - 将链接的开始和结束 HTML 片段设置为占位符,如下所示: - - ``` - {{ - sprintf(s__("ClusterIntegration|Learn more about %{linkStart}zones%{linkEnd}"), { - linkStart: '<a href="https://cloud.google.com/compute/docs/regions-zones/regions-zones" target="_blank" rel="noopener noreferrer">', - linkEnd: '</a>', - }) - }} - ``` - -其背后的原因是,在某些语言中,单词会根据上下文而变化. 例如,日语将は添加到句子的主语中,将を添加到宾语的主语中. 如果我们从句子中提取单个单词,则无法正确翻译. - -如有疑问,请尝试遵循此[Mozilla Developer 文档中](https://s0developer0mozilla0org.icopy.site/en-US/docs/Mozilla/Localization/Localization_content_best_practices)描述的最佳做法. - -##### Vue components interpolation[](#vue-components-interpolation "Permalink") - -在 Vue 组件中翻译 UI 文本时,您可能希望在转换字符串中包括子组件. 您不能使用仅 JavaScript 的解决方案来呈现翻译,因为 Vue 不会意识到子组件并将其呈现为纯文本. - -对于此用例,应使用在**GitLab UI 中**维护的`gl-sprintf`组件. - -`gl-sprintf`组件接受`message`属性,该属性是可翻译的字符串,并且为字符串中的每个占位符公开一个命名的插槽,这使您可以轻松地包含 Vue 组件. - -假设您要打印`Pipeline %{pipelineId} triggered %{timeago} by %{author}`的可翻译字符串`Pipeline %{pipelineId} triggered %{timeago} by %{author}` . 要将`%{timeago}`和`%{author}`占位符替换为 Vue 组件,以下是使用`gl-sprintf` : - -``` -<template> - <div> - <gl-sprintf :message="__('Pipeline %{pipelineId} triggered %{timeago} by %{author}')"> - <template #pipelineId>{{ pipeline.id }}</template> - <template #timeago> - <timeago :time="pipeline.triggerTime" /> - </template> - <template #author> - <gl-avatar-labeled - :src="pipeline.triggeredBy.avatarPath" - :label="pipeline.triggeredBy.name" - /> - </template> - </gl-sprintf> - </div> -</template> -``` - -有关更多信息,请参见[`gl-sprintf`](https://gitlab-org.gitlab.io/gitlab-ui/?path=/story/base-sprintf--default)文档. - -## Updating the PO files with the new content[](#updating-the-po-files-with-the-new-content "Permalink") - -现在,新内容已标记为要翻译,我们需要使用以下命令更新`locale/gitlab.pot`文件: - -``` -bin/rake gettext:regenerate -``` - -该命令将使用新外部化的字符串更新`locale/gitlab.pot`文件,并删除不再使用的任何字符串. 您应该检入此文件.一旦将更改保存在主文件中,它们将由[CrowdIn 提取](https://translate.gitlab.com)并显示以进行翻译. - -我们不需要签入对`locale/[language]/gitlab.po`文件的任何更改. 当[来自 CrowdIn 的翻译合并](merging_translations.html)时,它们会自动更新. - -如果`gitlab.pot`文件中存在合并冲突,则可以删除该文件并使用同一命令重新生成它. - -### Validating PO files[](#validating-po-files "Permalink") - -为了确保我们的翻译文件保持最新, `static-analysis`工作中有一个运行在 CI 上的 lint. - -要在本地`rake gettext:lint` PO 文件中的调整,可以运行`rake gettext:lint` . - -短绒将考虑以下因素: - -* 有效的 PO 文件语法 -* 可变用法 - * 仅一个未命名( `%d` )变量,因为变量的顺序可能会以不同的语言更改 - * 消息 ID 中使用的所有变量都在转换中使用 - * 转换中不应使用消息 ID 中没有的变量 -* 翻译时出错. - -错误按文件和消息 ID 分组: - -``` -Errors in `locale/zh_HK/gitlab.po`: - PO-syntax errors - SimplePoParser::ParserErrorSyntax error in lines - Syntax error in msgctxt - Syntax error in msgid - Syntax error in msgstr - Syntax error in message_line - There should be only whitespace until the end of line after the double quote character of a message text. - Parsing result before error: '{:msgid=>["", "You are going to remove %{project_name_with_namespace}.\\n", "Removed project CANNOT be restored!\\n", "Are you ABSOLUTELY sure?"]}' - SimplePoParser filtered backtrace: SimplePoParser::ParserError -Errors in `locale/zh_TW/gitlab.po`: - 1 pipeline - <%d 條流水線> is using unknown variables: [%d] - Failure translating to zh_TW with []: too few arguments -``` - -在此输出中, `locale/zh_HK/gitlab.po`具有语法错误. `locale/zh_TW/gitlab.po`具有转换中使用的变量,这些变量不在 ID `1 pipeline`的消息中. - -## Adding a new language[](#adding-a-new-language "Permalink") - -假设您想添加一种新语言的翻译,例如法语. - -1. 第一步是在`lib/gitlab/i18n.rb`注册新语言: - - ``` - ... - AVAILABLE_LANGUAGES = { - ..., - 'fr' => 'Français' - }.freeze - ... - ``` - -2. 接下来,您需要添加语言: - - ``` - bin/rake gettext:add_language[fr] - ``` - - 如果要为特定区域添加新语言,则命令类似,您只需要用下划线( `_` )分隔区域即可. 例如: - - ``` - bin/rake gettext:add_language[en_GB] - ``` - - 请注意,您需要在大写字母中指定地区部分. - -3. 现在已经添加了该语言,已经在以下路径下创建了一个新目录: `locale/fr/` . 现在,您可以开始使用 PO 编辑器来编辑位于`locale/fr/gitlab.edit.po`的 PO 文件. - -4. 更新完翻译后,您需要处理 PO 文件以生成二进制 MO 文件,最后更新包含翻译的 JSON 文件: - - ``` - bin/rake gettext:compile - ``` - -5. 为了查看翻译后的内容,我们需要更改首选语言,该语言可以在用户的**设置** ( `/profile` )下找到. - -6. 在确认更改没问题之后,您可以继续提交新文件. 例如: - - ``` - git add locale/fr/ app/assets/javascripts/locale/fr/ - git commit -m "Add French translations for Value Stream Analytics page" - ``` \ No newline at end of file diff --git a/docs/647.md b/docs/647.md deleted file mode 100644 index 008820a..0000000 --- a/docs/647.md +++ /dev/null @@ -1,91 +0,0 @@ -# Translating GitLab - -> 原文:[https://docs.gitlab.com/ee/development/i18n/translation.html](https://docs.gitlab.com/ee/development/i18n/translation.html) - -* [Using CrowdIn](#using-crowdin) - * [Sign In](#sign-in) - * [Language Selections](#language-selections) - * [Translation Editor](#translation-editor) -* [General Translation Guidelines](#general-translation-guidelines) - * [Namespaced strings](#namespaced-strings) - * [Technical terms](#technical-terms) - * [Formality](#formality) - * [Inclusive language](#inclusive-language) - * [Updating the glossary](#updating-the-glossary) -* [French Translation Guidelines](#french-translation-guidelines) - * [Inclusive language in French](#inclusive-language-in-french) - -# Translating GitLab[](#translating-gitlab "Permalink") - -为了管理翻译过程,我们使用[CrowdIn](https://crowdin.com) . - -## Using CrowdIn[](#using-crowdin "Permalink") - -第一步是熟悉 CrowdIn. - -### Sign In[](#sign-in "Permalink") - -要在[https://translate.gitlab.com 上](https://translate.gitlab.com)提供翻译,您必须创建一个 CrowdIn 帐户. 您可以创建一个新帐户或使用其任何受支持的登录服务. - -### Language Selections[](#language-selections "Permalink") - -manbetx 客户端打不开被翻译成多种语言. - -1. 通过单击标志来选择您想要贡献翻译的语言 -2. 您将看到文件和文件夹的列表. 单击`gitlab.pot`打开翻译编辑器. - -### Translation Editor[](#translation-editor "Permalink") - -The online translation editor is the easiest way to contribute translations. - -[![CrowdIn Editor](img/6314765d395236bbba1552cc65c1228c.png)](img/crowdin-editor.png) - -1. 用于翻译的字符串列在左侧面板中 -2. 翻译输入到中央面板中. 包含复数的字符串将需要多次翻译. 上面显示了要翻译的字符串,并突出显示了词汇表术语. 如果要翻译的字符串不清楚,则可以"请求上下文" - -单击右侧的术语,可以在右侧面板中找到常用术语的词汇表. 可以添加评论以与社区讨论翻译. - -记住要**保存**每个翻译. - -## General Translation Guidelines[](#general-translation-guidelines "Permalink") - -转换任何字符串之前,请务必检查以下准则. - -### Namespaced strings[](#namespaced-strings "Permalink") - -当外部字符串带有名称空间(例如`s_('OpenedNDaysAgo|Opened')` ,应从最终转换中删除该名称空间. 例如,用法语`OpenedNDaysAgo|Opened`将被翻译为`Ouvert•e` ,而不是`OpenedNDaysAgo|Ouvert•e` . - -### Technical terms[](#technical-terms "Permalink") - -某些技术术语应像专有名词一样对待,不要翻译. - -使用[https://translate.gitlab.com](https://translate.gitlab.com)时,在词汇表中会注明应始终为英语的技术术语. - -这有助于维护工具(例如`git`客户端)和 GitLab 之间的逻辑连接和一致性. - -### Formality[](#formality "Permalink") - -软件中使用的形式级别因语言而异: - -| Language | Formality | Example | -| --- | --- | --- | -| French | formal | `vous` for `you` | -| German | informal | `du` for `you` | - -您可以参考词汇表中其他翻译的字符串和注释,以帮助确定适当的形式水平. - -### Inclusive language[](#inclusive-language "Permalink") - -[多样性](https://about.gitlab.com/handbook/values/#diversity)是 GitLab 的价值之一. 我们要求您避免翻译将性别或族裔排除在外的人. 在区分男女形式的语言中,请同时使用或选择中性的表述. - -例如,德语中的"用户"一词可以翻译成" Benutzer"(男性)或" Benutzerin"(女性). 因此,"创建新用户"将翻译为" Benutzer(in)anlegen". - -### Updating the glossary[](#updating-the-glossary "Permalink") - -要提出对词汇表的补充,请[打开一期](https://gitlab.com/gitlab-org/gitlab/-/issues?scope=all&utf8=✓&state=all&label_name[]=Category:Internationalization) . - -## French Translation Guidelines[](#french-translation-guidelines "Permalink") - -### Inclusive language in French[](#inclusive-language-in-french "Permalink") - -在法语中,"包容所有法律"已结束(请参见[Legifrance](https://www.legifrance.gouv.fr/affichTexte.do?cidTexte=JORFTEXT000036068906&categorieLien=id) ). 因此,要包括两个性别,请写上" Utilisateurs et utilisatrices",而不是" Utilisateur·rice·s". 如果缺少空间,则应单独使用男性. \ No newline at end of file diff --git a/docs/648.md b/docs/648.md deleted file mode 100644 index 41a694a..0000000 --- a/docs/648.md +++ /dev/null @@ -1,138 +0,0 @@ -# Proofread Translations - -> 原文:[https://docs.gitlab.com/ee/development/i18n/proofreader.html](https://docs.gitlab.com/ee/development/i18n/proofreader.html) - -* [Proofreaders](#proofreaders) -* [Become a proofreader](#become-a-proofreader) - -# Proofread Translations[](#proofread-translations "Permalink") - -大多数翻译是由社区贡献,审查和接受的. 我们非常感谢翻译人员和校对人员所做的工作! - -## Proofreaders[](#proofreaders "Permalink") - -* Albanian - * 需要校对者. -* Amharic - * Tsegaselassie Tadesse - [GitLab](https://gitlab.com/tsega), [CrowdIn](https://crowdin.com/profile/tsegaselassi/activity) -* Arabic - * 需要校对者. -* Bosnian - * 需要校对者. -* Bulgarian - * Lyubomir Vasilev- [CrowdIn](https://crowdin.com/profile/lyubomirv) -* Catalan - * 大卫 Planella - [GitLab](https://gitlab.com/dplanella) , [CrowdIn](https://crowdin.com/profile/dplanella) -* 简体中文简体中文 - * 黄涛- [GitLab](https://gitlab.com/htve) , [CrowdIn](https://crowdin.com/profile/htve) - * 维克多武- [GitLab](https://gitlab.com/victorwuky) , [CrowdIn](https://crowdin.com/profile/victorwu) - * 小刚文- [GitLab](https://gitlab.com/xiaogang_gitlab) , [CrowdIn](https://crowdin.com/profile/xiaogang_gitlab) -* Chinese Traditional 繁体中文 - * Weizhe Ding - [GitLab](https://gitlab.com/d.weizhe) , [CrowdIn](https://crowdin.com/profile/d.weizhe) - * Yi-Jyun Pan - [GitLab](https://gitlab.com/pan93412) , [CrowdIn](https://crowdin.com/profile/pan93412) - * Victor Wu - [GitLab](https://gitlab.com/victorwuky) , [CrowdIn](https://crowdin.com/profile/victorwu) -* Chinese Traditional, Hong Kong 繁体中文(香港) - * Victor Wu - [GitLab](https://gitlab.com/victorwuky) , [CrowdIn](https://crowdin.com/profile/victorwu) - * Ivan Ip - [GitLab](https://gitlab.com/lifehome) , [CrowdIn](https://crowdin.com/profile/lifehome) -* Croatian - * 需要校对者. -* Czech - * 一月 Urbanec - [GitLab](https://gitlab.com/TatranskyMedved) , [CrowdIn](https://crowdin.com/profile/Tatranskymedved) -* Danish - * Saederup92- [GitLab](https://gitlab.com/Saederup92) , [人群进入](https://crowdin.com/profile/Saederup92) -* Dutch - * 艾米丽 Hendle - [GitLab](https://gitlab.com/pundachan) , [CrowdIn](https://crowdin.com/profile/pandachan) -* Esperanto - * Lyubomir Vasilev- [CrowdIn](https://crowdin.com/profile/lyubomirv) -* Estonian - * 需要校对者. -* Filipino - * Andrei Jiroh Halili- [GitLab](https://gitlab.com/AJHalili2006DevPH) , [克劳丁](https://crowdin.com/profile/AndreiJirohHaliliDev2006) -* French - * Davy Defaud- [GitLab](https://gitlab.com/DevDef) , [人群](https://crowdin.com/profile/DevDef) -* Galician - * AntónMéixome- [群众](https://crowdin.com/profile/meixome) - * 佩德罗·加西亚- [GitLab](https://gitlab.com/pedgarrod) , [CrowdIn](https://crowdin.com/profile/breaking_pitt) -* German - * 迈克尔 Hahnle - [GitLab](https://gitlab.com/mhah) , [CrowdIn](https://crowdin.com/profile/mhah) - * 卡特琳 Leinweber - [GitLab](https://gitlab.com/katrinleinweber/) , [CrowdIn](https://crowdin.com/profile/katrinleinweber) -* Greek - * 需要校对者. -* Hebrew - * Yaron Shahrabani- [GitLab](https://gitlab.com/yarons) , [人群](https://crowdin.com/profile/YaronSh) -* Hindi - * 需要校对者. -* Hungarian - * 需要校对者. -* Indonesian - * 阿迪 Ferdian - [GitLab](https://gitlab.com/adiferd) , [CrowdIn](https://crowdin.com/profile/adiferd) - * Ahmad Naufal Mukhtar- [GitLab](https://gitlab.com/anaufalm) , [CrowdIn](https://crowdin.com/profile/anaufalm) -* Italian - * Massimiliano Cuttini- [GitLab](https://gitlab.com/maxcuttins) , [人群](https://crowdin.com/profile/maxcuttins) - * 保罗 Falomo - [GitLab](https://gitlab.com/paolofalomo) , [CrowdIn](https://crowdin.com/profile/paolo.falomo) -* Japanese - * 佐藤博之- [GitLab](https://gitlab.com/hiroponz) , [CrowdIn](https://crowdin.com/profile/hiroponz) - * Tomo Dote- [GitLab](https://gitlab.com/fu7mu4) , [人群](https://crowdin.com/profile/fu7mu4) - * 博美 Nozawa- [GitLab](https://gitlab.com/hir0mi) , [CrowdIn](https://crowdin.com/profile/hir0mi) - * 木村拓哉 Noguchi- [GitLab](https://gitlab.com/tnir) , [CrowdIn](https://crowdin.com/profile/tnir) -* Korean - * Chang-Ho Cha- [GitLab](https://gitlab.com/changho-cha) , [人群](https://crowdin.com/profile/zzazang) - * Ji Hun Oh- [GitLab](https://gitlab.com/Baw-Appie) , [CrowdIn](https://crowdin.com/profile/BawAppie) - * Jeongwhan 彩- [GitLab](https://gitlab.com/jeongwhanchoi) , [CrowdIn](https://crowdin.com/profile/jeongwhanchoi) -* Mongolian - * 需要校对者. -* 挪威博克马尔 - * 需要校对者. -* Polish - * 菲利普机甲- [GitLab](https://gitlab.com/mehenz) , [CrowdIn](https://crowdin.com/profile/mehenz) - * Maksymilian 罗马- [GitLab](https://gitlab.com/villaincandle) , [CrowdIn](https://crowdin.com/profile/villaincandle) -* Portuguese - * Diogo Trindade- [GitLab](https://gitlab.com/luisdiogo2071317) , [人群](https://crowdin.com/profile/ldiogotrindade) -* 葡萄牙语,巴西语 - * 保罗乔治·戈麦斯贝泽拉- [GitLab](https://gitlab.com/paulobezerra) , [CrowdIn](https://crowdin.com/profile/paulogomes.rep) - * [AndréGama](https://crowdin.com/profile/ToeOficial) - [GitLab](https://gitlab.com/andregamma) , [众筹](https://crowdin.com/profile/ToeOficial) -* Romanian - * 需要校对者. -* Russian - * 尼基塔 Grylov - [GitLab](https://gitlab.com/nixel2007) , [Crowdin](https://crowdin.com/profile/nixel2007) - * 阿列克西 Lustin - [GitLab](https://gitlab.com/allustin) , [Crowdin](https://crowdin.com/profile/lustin) - * 马克 Minakou - [GitLab](https://gitlab.com/sandzhaj) , [Crowdin](https://crowdin.com/profile/sandzhaj) - * 尼克·沃伦金- [克劳丁](https://crowdin.com/profile/NickVolynkin) - * 安德烈·科马洛夫- [GitLab](https://gitlab.com/elkamarado) , [Crowdin](https://crowdin.com/profile/kamarado) - * Iaroslav Postovalov- [GitLab](https://gitlab.com/CMDR_Tvis) , [克劳丁](https://crowdin.com/profile/CMDR_Tvis) -* 塞尔维亚文(拉丁文和西里尔文) - * 需要校对者. -* Slovak - * 需要校对者. -* Spanish - * 佩德罗·加西亚- [GitLab](https://gitlab.com/pedgarrod) , [CrowdIn](https://crowdin.com/profile/breaking_pitt) -* Swedish - * 需要校对者. -* Turkish - * AliDemirtaş- [GitLab](https://gitlab.com/alidemirtas) , [CrowdIn](https://crowdin.com/profile/alidemirtas) - * 瑞法特Ünalmış(瑞法特 Unalmis) - [GitLab](https://gitlab.com/runalmis) , [CrowdIn](https://crowdin.com/profile/runalmis) -* Ukrainian - * Volodymyr Sobotovych- [GitLab](https://gitlab.com/wheleph) , [人群](https://crowdin.com/profile/wheleph) - * Andrew Vityuk- [GitLab](https://gitlab.com/3_1_3_u) , [人群](https://crowdin.com/profile/andruwa13) -* Welsh - * Delyth 价格- [GitLab](https://gitlab.com/Delyth) , [CrowdIn](https://crowdin.com/profile/DelythPrys) - -## Become a proofreader[](#become-a-proofreader "Permalink") - -> **注意:**在 CrowdIn 中请求校对者权限之前,请确保您具有向 GitLab 项目提供翻译的历史. - -1. 向 GitLab 提供翻译. 请参阅有关[翻译 GitLab 的说明](translation.html) . - - 转换 GitLab 是一项社区工作,需要团队合作并注重细节. 校对人员在帮助新撰稿人,确保翻译的一致性和质量方面发挥着重要作用. 您作为翻译的行为和贡献应在要求成为校对之前反映出这一点. - -2. 通过打开将自己添加到校对者列表的合并请求来请求校对者权限. - - 打开[proofreader.md 源文件](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/development/i18n/proofreader.md) ,然后单击" **编辑"** . - - 按字母顺序添加您的语言,并将您自己添加到列表中,包括:-名称-链接到 GitLab 配置文件-链接到 CrowdIn 配置文件 - - 在合并请求说明中,请包含指向您之前翻译过的所有项目的链接. - -3. 熟练使用该语言的[GitLab 团队成员](https://about.gitlab.com/company/team/)或[核心团队成员](https://about.gitlab.com/community/core-team/)或当前的校对者,将考虑您以前作为校对者的要求. - - * 当要求使用某种语言的第一校对者时,并且没有使用该语言的[GitLab 团队成员](https://about.gitlab.com/company/team/)或[Core 团队成员](https://about.gitlab.com/community/core-team/) ,我们将请求指向其他社区或项目中先前翻译工作的链接. \ No newline at end of file diff --git a/docs/649.md b/docs/649.md deleted file mode 100644 index 3a80a5c..0000000 --- a/docs/649.md +++ /dev/null @@ -1,49 +0,0 @@ -# Merging translations from CrowdIn - -> 原文:[https://docs.gitlab.com/ee/development/i18n/merging_translations.html](https://docs.gitlab.com/ee/development/i18n/merging_translations.html) - -* [Validation](#validation) -* [Merging translations](#merging-translations) -* [Recreate the merge request](#recreate-the-merge-request) -* [Recreate the GitLab integration in CrowdIn](#recreate-the-gitlab-integration-in-crowdin) - -# Merging translations from CrowdIn[](#merging-translations-from-crowdin "Permalink") - -CrowdIn 自动将`gitlab.pot`文件与 CrowdIn 服务同步,将新添加的外部化字符串呈现给翻译者社区. - -[GitLab CrowdIn Bot](https://gitlab.com/gitlab-crowdin-bot)还会创建合并请求,以接受新批准的翻译提交并将其合并到`locale/<language>/gitlab.po`文件中. 检查[`gitlab-crowdin-bot`创建](https://gitlab.com/gitlab-org/gitlab/-/merge_requests?scope=all&utf8=✓&state=opened&author_username=gitlab-crowdin-bot)的[合并请求,](https://gitlab.com/gitlab-org/gitlab/-/merge_requests?scope=all&utf8=✓&state=opened&author_username=gitlab-crowdin-bot)以查看新的和合并的合并请求. - -## Validation[](#validation "Permalink") - -默认情况下,CrowdIn 使用提交消息中的`[skip ci]`提交翻译. 这样做是为了避免运行一堆管道. 在合并翻译之前,请确保触发管道以验证翻译,我们进行了静态分析,以验证 CrowdIn 不执行的操作. 为`master-i18n`分支在`https://gitlab.com/gitlab-org/gitlab/pipelines/new` (需要开发人员访问权限)处创建一个新管道. - -如果存在验证错误,最简单的解决方案是拒绝 CrowdIn 中有问题的字符串,并在注释中注明解决该问题所需的内容. 有一个[问题](https://gitlab.com/gitlab-org/gitlab/-/issues/23256)提示自动完成这一过程. 拒登将排除无效翻译,合并请求将在几分钟内更新. - -将 CrowdIn 端的集成暂停一会可能很方便,因此翻译不会持续进行. 这可以通过在[CrowdIn 集成设置页面](https://translate.gitlab.com/project/gitlab-ee/settings#integration)上单击" `Pause sync`来完成. - -解决所有故障后,需要再次检查翻译,如[机密问题](../../user/project/issues/confidential_issues.html) `https://gitlab.com/gitlab-org/gitlab/-/issues/19485` . - -## Merging translations[](#merging-translations "Permalink") - -当发现所有翻译都很好并且流水线通过时,这些翻译可以合并到 master 分支中. 合并翻译时,请确保选中" **删除源分支"**复选框,以便 CrowdIn 在合并新翻译后从 master 重新创建`master-i18n` . - -我们正在讨论使[整个过程自动化](https://gitlab.com/gitlab-org/gitlab/-/issues/19896) . - -## Recreate the merge request[](#recreate-the-merge-request "Permalink") - -一旦关闭或合并旧的 CrowdIn,它就会创建一个新的合并请求. 但是它不会每次都重新创建`master-i18n`分支. 要强制 CrowdIn 重新创建分支,请关闭所有[打开的合并请求](https://gitlab.com/gitlab-org/gitlab/-/merge_requests?scope=all&utf8=✓&state=opened&author_username=gitlab-crowdin-bot)并删除[`master-18n`](https://gitlab.com/gitlab-org/gitlab/-/branches/all?utf8=✓&search=master-i18n) . - -当合并请求包含已在主服务器上修复的故障时,可能需要这样做. - -## Recreate the GitLab integration in CrowdIn[](#recreate-the-gitlab-integration-in-crowdin "Permalink") - -***注意:**这些说明仅适用于 GitLab 团队成员. - -If for some reason the GitLab integration in CrowdIn does not exist, it can be recreated by the following steps: - -1. 以`gitlab-crowdin-bot`身份登录到 GitLab(如果您是 GitLab 团队成员,请在 GitLab 共享的[1Password 帐户中](https://about.gitlab.com/handbook/security/#1password-for-teams)找到凭据 -2. 使用 GitLab 集成登录 Crowdin -3. 导航到设置>集成> GitLab>设置集成 -4. Select `gitlab-org/gitlab` repository -5. 在" `Select Branches for Translation` ,选择" `master` -6. 确保`Service Branch Name`为`master-i18n` \ No newline at end of file diff --git a/docs/650.md b/docs/650.md deleted file mode 100644 index dbeaf92..0000000 --- a/docs/650.md +++ /dev/null @@ -1,186 +0,0 @@ -# Value Stream Analytics development guide - -> 原文:[https://docs.gitlab.com/ee/development/value_stream_analytics.html](https://docs.gitlab.com/ee/development/value_stream_analytics.html) - -* [Stage](#stage) - * [Events](#events) - * [Implementing an `Event` class](#implementing-an-event-class) - * [Validating start and end events](#validating-start-and-end-events) - * [Parent](#parent) - * [How parent relationship it work](#how-parent-relationship-it-work) - * [Default stages](#default-stages) -* [Data Collector](#data-collector) -* [Database query](#database-query) -* [High-level overview](#high-level-overview) -* [Testing](#testing) - -# Value Stream Analytics development guide[](#value-stream-analytics-development-guide "Permalink") - -值流分析计算域对象上记录的两个任意事件之间的时间,并提供有关持续时间的汇总统计信息. - -有关如何在 GitLab 中配置 Value Stream Analytics 的信息,请参阅我们的[分析文档](../user/analytics/value_stream_analytics.html) . - -## Stage[](#stage "Permalink") - -在开发过程中,会发生一些事件,这些事件会移动问题并在不同的进展阶段合并请求,直到认为它们完成为止. 这些阶段可以用`Stage`模型表示. - -示例阶段: - -* Name: Development -* 开始事件:问题已创建 -* 结束事件:在提交中首先提到的问题 -* Parent: `Group: gitlab-org` - -### Events[](#events "Permalink") - -事件是价值流分析功能的最小构建块. 一个阶段包括两个事件: - -* Start -* End - -这些事件在持续时间计算中起关键作用. - -Formula: `duration = end_event_time - start_event_time` - -为了使持续时间计算更加灵活,每个`Event`都实现为一个单独的类. 他们负责定义将在计算查询中使用的时间戳表达式. - -#### Implementing an `Event` class[](#implementing-an-event-class "Permalink") - -有一些方法需要实现, `StageEvent`基类非常详细地描述了它们. 最重要的是: - -* `object_type` -* `timestamp_projection` - -`object_type`方法定义将查询哪个域对象以进行计算. 当前允许两种模型: - -* `Issue` -* `MergeRequest` - -对于持续时间计算,将使用`timestamp_projection`方法. - -``` -def timestamp_projection - # your timestamp expression comes here -end - -# event will use the issue creation time in the duration calculation -def timestamp_projection - Issue.arel_table[:created_at] -end -``` - -**注意:**也可以使用更复杂的表达式(例如,使用`COALESCE` ). 查看现有事件类作为示例. - -在某些情况下,仅定义`timestamp_projection`方法是不够的. 计算查询应该知道哪个表包含时间戳表达式. 每个`Event`类负责修改计算查询,以使`timestamp_projection`起作用. 这通常意味着加入一个附加表. - -连接`issue_metrics`表并使用`first_mentioned_in_commit_at`列作为时间戳表达式的`first_mentioned_in_commit_at` : - -``` -def object_type - Issue -end - -def timestamp_projection - IssueMetrics.arel_table[:first_mentioned_in_commit_at] -end - -def apply_query_customization(query) - # in this case the query attribute will be based on the Issue model: `Issue.where(...)` - query.joins(:metrics) -end -``` - -### Validating start and end events[](#validating-start-and-end-events "Permalink") - -某些开始/结束事件对彼此不"兼容". 例如: - -* 从"已创建问题"到"已合并请求":事件类在不同的域模型上定义, `object_type`方法不同. -* "问题已关闭"到"问题已创建":必须先创建问题,然后才能将其关闭. -* 从"问题已关闭"到"问题已关闭":持续时间始终为 0. - -`StageEvents`模块描述了允许的`start_event`和`end_event`配对( `PAIRING_RULES`常数). 如果添加了新事件,则需要在该模块中注册它. 要添加新事件: - -1. 在`ENUM_MAPPING`添加一个具有唯一编号的条目,该条目将在`Stage`模型中用作`enum` . -2. 在`PAIRING_RULES`哈希中定义哪些事件与该事件兼容. - -支持的开始/结束事件配对: - -图 LR; IssueCreated-> IssueClosed; IssueCreated-> IssueFirstAddedToBoard; IssueCreated-> IssueFirstAssociatedWithMilestone; IssueCreated-> IssueFirstMentionedInCommit; IssueCreated-> IssueLastEdited; IssueCreated-> IssueLabelAdded; IssueCreated-> IssueLabelRemoved; MergeRequestCreated-> MergeRequestMerged; MergeRequestCreated-> MergeRequestClosed; MergeRequestCreated-> MergeRequestFirstDeployedToProduction; MergeRequestCreated-> MergeRequestLastBuildStarted; MergeRequestCreated-> MergeRequestLastBuildFinished; MergeRequestCreated-> MergeRequestLastEdited; MergeRequestCreated-> MergeRequestLabelAdded; MergeRequestCreated-> MergeRequestLabelRemoved; MergeRequestLastBuildStarted-> MergeRequestLastBuildFinished; MergeRequestLastBuildStarted-> MergeRequestClosed; MergeRequestLastBuildStarted-> MergeRequestFirstDeployedToProduction; MergeRequestLastBuildStarted-> MergeRequestLastEdited; MergeRequestLastBuildStarted-> MergeRequestMerged; MergeRequestLastBuildStarted-> MergeRequestLabelAdded; MergeRequestLastBuildStarted-> MergeRequestLabelRemoved; MergeRequestMerged-> MergeRequestFirstDeployedToProduction; MergeRequestMerged-> MergeRequestClosed; MergeRequestMerged-> MergeRequestFirstDeployedToProduction; MergeRequestMerged-> MergeRequestLastEdited; MergeRequestMerged-> MergeRequestLabelAdded; MergeRequestMerged-> MergeRequestLabelRemoved; IssueLabelAdded-> IssueLabelAdded; IssueLabelAdded-> IssueLabelRemoved; IssueLabelAdded-> IssueClosed; IssueLabelRemoved-> IssueClosed; IssueFirstAddedToBoard-> IssueClosed; IssueFirstAddedToBoard-> IssueFirstAssociatedWithMilestone; IssueFirstAddedToBoard-> IssueFirstMentionedInCommit; IssueFirstAddedToBoard-> IssueLastEdited; IssueFirstAddedToBoard-> IssueLabelAdded; IssueFirstAddedToBoard-> IssueLabelRemoved; IssueFirstAssociatedWithMilestone-> IssueClosed; IssueFirstAssociatedWithMilestone-> IssueFirstAddedToBoard; IssueFirstAssociatedWithMilestone-> IssueFirstMentionedInCommit; IssueFirstAssociatedWithMilestone-> IssueLastEdited; IssueFirstAssociatedWithMilestone-> IssueLabelAdded; IssueFirstAssociatedWithMilestone-> IssueLabelRemoved; IssueFirstMentionedInCommit-> IssueClosed; IssueFirstMentionedInCommit-> IssueFirstAssociatedWithMilestone; IssueFirstMentionedInCommit-> IssueFirstAddedToBoard; IssueFirstMentionedInCommit-> IssueLastEdited; IssueFirstMentionedInCommit-> IssueLabelAdded; IssueFirstMentionedInCommit->已删除 IssueLabel; IssueClosed-> IssueLastEdited; IssueClosed-> IssueLabelAdded; IssueClosed-> IssueLabelRemoved; MergeRequestClosed-> MergeRequestFirstDeployedToProduction; MergeRequestClosed-> MergeRequestLastEdited; MergeRequestClosed-> MergeRequestLabelAdded; MergeRequestClosed-> MergeRequestLabelRemoved; MergeRequestFirstDeployedToProduction-> MergeRequestLastEdited; MergeRequestFirstDeployedToProduction-> MergeRequestLabelAdded; MergeRequestFirstDeployedToProduction-> MergeRequestLabelRemoved; MergeRequestLastBuildFinished-> MergeRequestClosed; MergeRequestLastBuildFinished-> MergeRequestFirstDeployedToProduction; MergeRequestLastBuildFinished-> MergeRequestLastEdited; MergeRequestLastBuildFinished-> MergeRequestMerged; MergeRequestLastBuildFinished-> MergeRequestLabelAdded; MergeRequestLastBuildFinished-> MergeRequestLabelRemoved; MergeRequestLabelAdded-> MergeRequestLabelAdded; MergeRequestLabelAdded-> MergeRequestLabelRemoved; MergeRequestLabelRemoved-> MergeRequestLabelAdded; MergeRequestLabelRemoved-> MergeRequestLabelRemoved; - -### Parent[](#parent "Permalink") - -团队和组织可能会定义自己的软件构建方式,因此阶段可能完全不同. 对于每个阶段,都需要定义一个父对象. - -目前支持的父母: - -* `Project` -* `Group` - -#### How parent relationship it work[](#how-parent-relationship-it-work "Permalink") - -1. 用户导航到价值流分析页面. -2. 用户选择一个组. -3. 后端将加载选定组的已定义阶段. -4. 对阶段的添加和修改将仅保留在所选组中. - -### Default stages[](#default-stages "Permalink") - -价值流分析的[原始实施](https://gitlab.com/gitlab-org/gitlab/-/issues/847)定义了 7 个阶段. 每个父母都可以使用这些阶段,但是无法更改这些阶段. 为了提高效率并减少创建的记录数,默认阶段被表示为内存中对象(不持久). 当用户首次创建自定义阶段时,所有阶段都将保留. 此行为在价值流分析服务对象中实现. 这样做的原因是我们希望稍后添加隐藏和订购阶段的功能. - -## Data Collector[](#data-collector "Permalink") - -`DataCollector`是从数据库查询数据的中心点. 该类始终在单个阶段上运行,并且由以下组件组成: - -* `BaseQueryBuilder`: - * 负责编写初始查询. - * 处理特定于`Stage`配置:事件及其查询自定义. - * 来自用户界面的参数:日期范围. -* `Median` :使用`BaseQueryBuilder`的查询计算一个阶段的中位数持续时间. -* `RecordsFetcher` :使用来自`BaseQueryBuilder`的查询和特定的`Finder`类加载阶段的相关记录,以应用可见性规则. -* `DataForDurationChart` :加载散点图的带有完成时间(结束事件时间戳)的计算的持续时间. - -对于新的计算或查询,可将其实现为`DataCollector`类中的新方法调用. - -## Database query[](#database-query "Permalink") - -数据库查询的结构: - -``` -SELECT (customized by: Median or RecordsFetcher or DataForDurationChart) -FROM OBJECT_TYPE (Issue or MergeRequest) -INNER JOIN (several JOIN statements, depending on the events) -WHERE - (Filter by the PARENT model, example: filter Issues from Project A) - (Date range filter based on the OBJECT_TYPE.created_at) - (Check if the START_EVENT is earlier than END_EVENT, preventing negative duration) -``` - -`Median`的`SELECT`语句的结构: - -``` -SELECT (calculate median from START_EVENT_TIME-END_EVENT_TIME) -``` - -用于`DataForDurationChart`的`SELECT`语句的`DataForDurationChart` : - -``` -SELECT (START_EVENT_TIME-END_EVENT_TIME) as duration, END_EVENT.timestamp -``` - -## High-level overview[](#high-level-overview "Permalink") - -* Rails 控制器( `Analytics::CycleAnalytics`模块):值流分析通过 JSON 端点公开其数据,该端点在`analytics`工作区中实现. 配置阶段还实现 JSON 端点(CRUD). -* 服务( `Analytics::CycleAnalytics`模块):所有与`Stage`相关的操作都将委派给相应的服务对象. -* 模型( `Analytics::CycleAnalytics`模块):模型用于持久化`Stage`对象`ProjectStage`和`GroupStage` . -* 要素类( `Gitlab::Analytics::CycleAnalytics`模块): - * 负责撰写查询并定义特定于功能的业务逻辑. - * `DataCollector` , `Event` , `StageEvents`等. - -## Testing[](#testing "Permalink") - -由于我们有很多事件和可能的配对,因此无法测试每个配对. 规则是至少要有一个使用`Event`类的测试用例. - -使用新`Event`为阶段编写测试用例可能会遇到挑战,因为必须为两个事件都创建数据. 为了使此过程更简单,必须在`data_collector_spec.rb`中实现每个测试用例,在该`data_collector_spec.rb`中,通过`DataCollector`对该阶段进行测试. 每个测试用例都将变成多个测试,涵盖以下情况: - -* 不同的父母: `Group`或`Project` -* 不同的计算方式: `Median` , `RecordsFetcher`或`DataForDurationChart` \ No newline at end of file diff --git a/docs/651.md b/docs/651.md deleted file mode 100644 index 26849b9..0000000 --- a/docs/651.md +++ /dev/null @@ -1,542 +0,0 @@ -# GitLab subscription - -> 原文:[https://docs.gitlab.com/ee/subscriptions/](https://docs.gitlab.com/ee/subscriptions/) - -* [Choosing a GitLab subscription](#choosing-a-gitlab-subscription) - * [Choosing a GitLab tier](#choosing-a-gitlab-tier) - * [Choosing between GitLab.com or self-managed](#choosing-between-gitlabcom-or-self-managed) - * [Choosing a GitLab.com group or personal subscription](#choosing-a-gitlabcom-group-or-personal-subscription) - * [Choosing the number of users](#choosing-the-number-of-users) - * [GitLab.com](#gitlabcom) - * [Self-managed](#self-managed) - * [Users statistics](#users-statistics) -* [Obtain a GitLab subscription](#obtain-a-gitlab-subscription) - * [Subscribe to GitLab.com](#subscribe-to-gitlabcom) - * [Subscribe through GitLab self-managed](#subscribe-through-gitlab-self-managed) -* [Manage your GitLab account](#manage-your-gitlab-account) - * [Change billing information](#change-billing-information) - * [Change payment method](#change-payment-method) - * [Change the linked account](#change-the-linked-account) - * [Change the associated namespace](#change-the-associated-namespace) - * [Change customer portal account password](#change-customer-portal-account-password) -* [View your subscription](#view-your-subscription) - * [View your GitLab.com subscription](#view-your-gitlabcom-subscription) - * [View your self-managed subscription](#view-your-self-managed-subscription) -* [Renew your subscription](#renew-your-subscription) - * [Prepare for renewal by reviewing your account](#prepare-for-renewal-by-reviewing-your-account) - * [Users over License](#users-over-license) - * [Purchase additional seats for GitLab.com](#purchase-additional-seats-for-gitlabcom) - * [Purchase additional users for self-managed](#purchase-additional-users-for-self-managed) - * [Seat Link](#seat-link) - * [Disable Seat Link](#disable-seat-link) - * [Renew or change a GitLab.com subscription](#renew-or-change-a-gitlabcom-subscription) - * [Automatic renewal](#automatic-renewal) - * [Renew a self-managed subscription](#renew-a-self-managed-subscription) -* [Upgrade your subscription tier](#upgrade-your-subscription-tier) - * [Upgrade your GitLab.com subscription tier](#upgrade-your-gitlabcom-subscription-tier) - * [Upgrade your self-managed subscription tier](#upgrade-your-self-managed-subscription-tier) -* [Subscription expiry](#subscription-expiry) - * [Self-managed GitLab data](#self-managed-gitlab-data) -* [CI pipeline minutes](#ci-pipeline-minutes) - * [Purchasing additional CI minutes](#purchasing-additional-ci-minutes) -* [Contact Support](#contact-support) -* [GitLab for Education subscriptions](#gitlab-for-education-subscriptions) -* [GitLab for Open Source subscriptions](#gitlab-for-open-source-subscriptions) - -# GitLab subscription[](#gitlab-subscription "Permalink") - -GitLab 提供了多层功能. 您的订阅决定了您有权访问的层. 订阅有效期为 12 个月. - -GitLab 为[GitLab 教育计划](https://about.gitlab.com/solutions/education/)和[GitLab 开源计划的](https://about.gitlab.com/solutions/open-source/)参与者提供特殊订阅. 有关获取和续订这些订阅的详细信息,请参阅: - -* [GitLab for Education subscriptions](#gitlab-for-education-subscriptions) -* [GitLab for Open Source subscriptions](#gitlab-for-open-source-subscriptions) - -## Choosing a GitLab subscription[](#choosing-a-gitlab-subscription "Permalink") - -选择订阅时,请考虑以下因素: - -* [GitLab tier](#choosing-a-gitlab-tier) -* [GitLab.com or self-managed](#choosing-between-gitlabcom-or-self-managed) -* [Group or personal subscription (GitLab.com only)](#choosing-a-gitlabcom-group-or-personal-subscription) -* [Number of users](#choosing-the-number-of-users) - -### Choosing a GitLab tier[](#choosing-a-gitlab-tier "Permalink") - -定价[基于层级](https://about.gitlab.com/pricing/) ,使您可以选择适合预算的功能. 请参阅[GitLab.com 功能比较](https://about.gitlab.com/pricing/gitlab-com/feature-comparison/)和[自我管理功能比较,](https://about.gitlab.com/pricing/self-managed/feature-comparison/)以获取有关每种产品在每个层上可用的[功能](https://about.gitlab.com/pricing/self-managed/feature-comparison/)的信息. - -### Choosing between GitLab.com or self-managed[](#choosing-between-gitlabcom-or-self-managed "Permalink") - -订阅的应用方式有所不同,具体取决于您使用的是 GitLab.com 还是自我管理的实例. - -* [GitLab.com:GitLab](#gitlabcom)的软件即服务产品. 您无需安装任何程序即可使用 GitLab.com,只需[注册](https://gitlab.com/users/sign_up)并立即开始使用 GitLab. -* [GitLab 自我管理](#self-managed) :安装,管理和维护自己的 GitLab 实例. - -在自我管理的实例上,GitLab 订阅为所有用户提供了相同的功能集. 在 GitLab.com 上,您可以将订阅应用于组或个人名称空间. - -**注意:**订阅不能在 GitLab.com 和 GitLab 自我管理之间转移. 必须购买新订阅并根据需要应用. - -### Choosing a GitLab.com group or personal subscription[](#choosing-a-gitlabcom-group-or-personal-subscription "Permalink") - -在 GitLab.com 上,您可以将订阅应用于组或个人名称空间. - -适用于: - -* GitLab.com 上的**组** ,组,所有子组以及所选组下的所有项目将具有关联层的功能. GitLab 建议在管理组织的项目和用户时选择一个小组计划. -* 作为**个人用户空间** ,所有项目都将具有应用了订阅的功能,但是由于它不是一个组,因此将无法使用组功能. - -### Choosing the number of users[](#choosing-the-number-of-users "Permalink") - -订阅中的计数对象之间有一些不同,具体取决于您使用的是 GitLab.com 还是自我管理的实例. - -#### GitLab.com[](#gitlabcom "Permalink") - -GitLab.com 订阅使用并发( *座位* )模型. 您需要根据一次启用的最大用户数来支付订阅费用. 您可以在订阅期间添加和删除用户,只要在任何给定时间的总用户数都在订阅数之内即可. - -预订中将计算每个已占用的席位,无论是按人员,职位还是漫游器,但以下情况除外: - -* 具有金牌订阅的访客权限的成员. - -**提示:**为了支持开源社区并鼓励开发开源项目,GitLab 授予所有 GitLab.com **公共**项目访问**金牌**功能的权限,无论其订阅如何. - -#### Self-managed[](#self-managed "Permalink") - -自我管理的订阅使用混合模型. 您需要根据订阅期内启用的最大用户数来支付订阅费用. 对于非脱机或封闭网络上的实例,每季度使用[Seat Link](#seat-link)检查一次自我管理安装中的最大同时用户数. - -预订中将计算每个已占用的席位,无论是按人员,工作还是漫游方式,但以下情况除外: - -* 在订阅续订之前受到限制的[停用](../user/admin_area/activating_deactivating_users.html#deactivating-a-user)和[阻止的](../user/admin_area/blocking_unblocking_users.html)用户不会被视为续订订阅的活动用户. 在最初添加他们的订阅期内,他们可以算作活动用户. -* 具有 Ultimate 订阅的 Guest 权限的成员. -* GitLab 创建的服务帐户: `Ghost User`和`Support Bot` . - -##### Users statistics[](#users-statistics "Permalink") - -要查看实例中用户的细分,包括活动,计费和已阻止,请转至**管理区域>概述>仪表板,**然后在" **用户"**部分中选择" **用户统计信息** ". 有关更多详细信息,请参阅[用户统计信息](../user/admin_area/index.html#users-statistics) . - -**注意:**如果启用了 LDAP 集成,则配置域中的任何人都可以注册一个 GitLab 帐户. 续订时可能会导致意外的账单. 考虑[禁用新注册](../user/admin_area/settings/sign_up_restrictions.html)并改为手动管理新用户. - -## Obtain a GitLab subscription[](#obtain-a-gitlab-subscription "Permalink") - -### Subscribe to GitLab.com[](#subscribe-to-gitlabcom "Permalink") - -订阅 GitLab.com: - -1. 使用我们的[注册页面](https://gitlab.com/users/sign_in#register-pane)为您自己创建一个用户帐户. -2. 创建一个[组](../user/group/index.html) . GitLab 组帮助将相关项目组合在一起,使您可以一次授予成员访问多个项目的权限. 如果您计划在个人名称空间中包含项目,则不需要组. -3. 创建其他用户并将其[添加到组中](../user/group/index.html#add-users-to-a-group) . -4. 通过[客户门户](https://customers.gitlab.com/)选择**青铜** , **银**或**金** GitLab.com 计划. -5. 将您的 GitLab.com 帐户与客户门户帐户关联. 选择计划后,如果尚未链接您的帐户,系统将提示您使用" **登录到 GitLab.com"**按钮来链接您的帐户. -6. 从下拉列表中选择名称空间以关联预订. -7. 进行结算. - -**提示:**您也可以转到" [**我的帐户"**](https://customers.gitlab.com/customers/edit)页面来添加或更改 GitLab.com 帐户链接. - -### Subscribe through GitLab self-managed[](#subscribe-through-gitlab-self-managed "Permalink") - -要通过自我管理安装订阅 GitLab: - -1. 转到[客户门户](https://customers.gitlab.com/)并购买**Starter** , **Premium**或**Ultimate**自我管理计划. -2. 购买后,许可证文件将发送到与客户门户帐户关联的电子邮件地址,该电子邮件地址必须[上传到您的 GitLab 实例](../user/admin_area/license.html#uploading-your-license) . - -**提示:**如果您要购买现有**Core**自管实例的订阅,请确保购买的席位足以[覆盖您的用户](../user/admin_area/index.html#administering-users) . - -## Manage your GitLab account[](#manage-your-gitlab-account "Permalink") - -使用[客户门户,](https://customers.gitlab.com/)您可以: - -* [Change billing and company information](#change-billing-information) -* [Change the payment method](#change-payment-method) -* [Change the linked account](#change-the-linked-account) -* [Change the associated namespace](#change-the-associated-namespace) -* [Change customers portal account password](#change-customer-portal-account-password) - -### Change billing information[](#change-billing-information "Permalink") - -要更改帐单信息: - -1. 登录到[客户门户](https://customers.gitlab.com/customers/sign_in) . -2. 选择**我的帐户**下拉菜单,然后点击**付款方式** . -3. 对" **帐户详细**信息"进行必要的更改. -4. Click **保存更改**. - -**注意:**将来的购买将使用此部分中的信息. 本节中列出的电子邮件用于客户门户登录以及与许可证相关的电子邮件通信. - -### Change payment method[](#change-payment-method "Permalink") - -要更改付款方式或更新信用卡信息: - -1. 登录到[客户门户](https://customers.gitlab.com/customers/sign_in) . -2. 选择**我的帐户**下拉菜单,然后点击**付款方式** . -3. **编辑**现有的付款方式信息或**添加新的付款方式** . -4. 保存更改. - -### Change the linked account[](#change-the-linked-account "Permalink") - -要更改与您的客户门户帐户关联的 GitLab.com 帐户: - -1. 登录到[客户门户](https://customers.gitlab.com/customers/sign_in) . -2. 在单独的浏览器选项卡中,转到[GitLab.com,](https://gitlab.com)并确保您尚未登录. -3. 在"客户门户"页面上,单击**我的帐户>帐户详细信息** . -4. 在**您的 GitLab.com 帐户下** ,单击" **更改关联的帐户"** . -5. 登录到要链接到"客户门户"帐户的[GitLab.com](https://gitlab.com)帐户. - -### Change the associated namespace[](#change-the-associated-namespace "Permalink") - -使用关联的 GitLab.com 帐户: - -1. 登录到[客户门户](https://customers.gitlab.com/customers/sign_in) . -2. 导航到" **管理购买"**页面. -3. Click **更改链接的名称空间**. -4. 从" **此订阅用于"**下拉列表中选择所需的组. -5. Click **进行结算**. - -订阅费用是根据一个组中的用户总数(包括其子组和嵌套项目)来计算的. 如果用户总数超过了订阅中的席位数,则将向您收取额外的用户费用. - -### Change customer portal account password[](#change-customer-portal-account-password "Permalink") - -要更改此客户门户帐户的密码: - -1. 登录到[客户门户](https://customers.gitlab.com/customers/sign_in) . -2. 选择**我的帐户**下拉菜单,然后点击**帐户详细信息** . -3. 对**您的密码**部分进行必要的更改. -4. Click **保存更改**. - -## View your subscription[](#view-your-subscription "Permalink") - -### View your GitLab.com subscription[](#view-your-gitlabcom-subscription "Permalink") - -要查看您的 GitLab.com 订阅状态,请登录 GitLab.com 并转到相关名称空间的**Billing**部分: - -* 对于个人: - 1. 转到**用户头像>设置** . - 2. 点击**结算** . -* 对于团体: - 1. 在群组页面( *而不是*群组中的项目)中,转到**设置>结算** . - -下表描述了您的组订阅详细信息: - -| Field | Description | -| --- | --- | -| 订阅席 | 如果这是付费计划,则表示您已支付支持该组座位的数量. | -| 当前使用的座椅 | 当前正在使用的活动座位数. | -| 最多使用的座位 | 您使用过的最高座位数. 如果这超出了订阅的席位,则您可能欠其他用户额外的费用. | -| 欠座位 | 如果您使用的最大席位超出了订阅中的席位,您将为已添加的用户欠额外的费用. | -| 订阅开始日期 | 订阅开始的日期. 如果这是免费计划,则是您从组的付费计划过渡的日期. | -| 订阅结束日期 | 当前订阅的终止日期. 不适用于免费计划. | - -### View your self-managed subscription[](#view-your-self-managed-subscription "Permalink") - -要查看您的自我管理订阅的状态,请登录到自我管理实例,然后转到" **许可证"**页面. - -1. 去 **管理区** . -2. 从左侧菜单中选择**许可证** . - -## Renew your subscription[](#renew-your-subscription "Permalink") - -要续订您的订阅,请[通过查看您的帐户来准备续订](#prepare-for-renewal-by-reviewing-your-account) ,然后执行以下一项操作: - -* [Renew a GitLab.com subscription](#renew-or-change-a-gitlabcom-subscription). -* [Renew a self-managed subscription](#renew-a-self-managed-subscription). - -### Prepare for renewal by reviewing your account[](#prepare-for-renewal-by-reviewing-your-account "Permalink") - -[客户门户](https://customers.gitlab.com/customers/sign_in)是您续订和修改订阅的工具. 在进行续订之前,请登录并验证或更新: - -* **帐户详细信息**页面上的发票联系方式. -* 在" **付款方式"**页面上存档的信用卡. - -**提示:**如果您需要访问客户门户的帮助或需要更改管理您的订阅的联系人,请与我们的[支持团队](https://support.gitlab.com/hc/en-us/requests/new?ticket_form_id=360000071293)联系. - -定期检查您的用户帐户很重要,因为: - -* GitLab 订阅基于用户数量. 如果为太多的用户续订,则您将支付比应支付的更多的费用,而如果您尝试为太少的用户续订订阅,则续订将失败. -* 过时的用户帐户可能会带来安全风险. 定期检查有助于降低这种风险. - -#### Users over License[](#users-over-license "Permalink") - -GitLab 订阅对特定数量的用户有效. 有关详细信息,请参阅[选择用户数](#choosing-the-number-of-users) . 如果活动用户数超过了订阅中包含的数量,即*超过许可证*的*用户*数,则必须在续订之前或续订时为超出的用户数付费. 这也称为*真正的升级*过程. - -##### Purchase additional seats for GitLab.com[](#purchase-additional-seats-for-gitlabcom "Permalink") - -没有自助服务选项可以购买额外的座位. 您必须从 GitLab 销售处索取报价. 为此,请通过我们的[支持表格](https://support.gitlab.com/hc/en-us/requests/new?ticket_form_id=360000071293)联系 GitLab. - -每个座位收取的费用是通过以下方法之一计算的: - -* 如果在续订前付费,则每个座位的数量将按比例计算. 例如,如果在订阅期结束前 3 个月添加了用户,则应付款额的计算方式为:(3/12)x 年费. -* 如果在续签时支付,则每个席位的金额为标准年费. - -##### Purchase additional users for self-managed[](#purchase-additional-users-for-self-managed "Permalink") - -自我管理实例可以在订阅期间的任何时间将用户添加到订阅中. 订阅期内添加的其他用户的成本是从购买之日起到订阅期结束之间按比例分配的. - -要将用户添加到订阅中: - -1. 登录到[客户门户](https://customers.gitlab.com/) . -2. 导航到" **管理购买"**页面. -3. 选择相关订阅卡上的**添加更多席位** . -4. 输入其他用户数. -5. Select **进行结算**. -6. 查看**订阅升级详细信息** . 系统会列出系统上所有用户的总价,以及您已支付的款项的信用额. 您只需要支付零钱. -7. Select **确认升级**. - -以下内容将通过电子邮件发送给您: - -* 付款收据. 您也可以在客户门户的" [**查看发票"**](https://customers.gitlab.com/receipts)下访问此信息. -* A new license. [Upload this license](../user/admin_area/license.html#uploading-your-license) to your instance to use it. - -### Seat Link[](#seat-link "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/208832) in [GitLab Starter](https://about.gitlab.com/pricing/) 12.9. - -利用 Seat Link,我们可以使用季度对帐流程为自助客户提供按比例分配的费用,用于全年增加用户. - -Seat Link 每天将连接的自我管理实例中的所有用户计数发送到 GitLab. 该信息用于自动按比例分配对帐. 数据通过加密的 HTTPS 连接安全地发送. - -Seat Link **仅**向 GitLab 提供以下信息: - -* Date -* License key -* 历史最大用户数 -* 活动用户数 - -对于离线或封闭网络客户,将使用现有[的调整模型](#users-over-license) . 如果没有用户计数数据,则无法按比例收取费用. - -<details><summary title="Click here to view example content of a Seat Link POST request.">单击此处查看 Seat Link POST 请求的示例内容.</summary> - -``` - { - date: '2020-01-29', - license_key: 'ZXlKa1lYUmhJam9pWm5WNmVsTjVZekZ2YTJoV2NucDBh -RXRxTTA5amQxcG1VMVZqDQpXR3RwZEc5SGIyMVhibmxuZDJ0NWFrNXJTVzVH -UzFCT1hHNVRiVFIyT0ZaUFlVSm1OV1ZGV0VObE1uVk4NCk4xY3ZkM1F4Y2to -MFFuVklXSFJvUWpSM01VdE9SVE5rYkVjclZrdDJORkpOTlhka01qaE5aalpj -YmxSMg0KWVd3MFNFTldTRmRtV1ZGSGRDOUhPR05oUVZvNUsxVnRXRUZIZFU1 -U1VqUm5aVFZGZUdwTWIxbDFZV1EyDQphV1JTY1V4c1ZYSjNPVGhrYVZ4dVlu -TkpWMHRJZUU5dmF6ZEJRVVkxTlVWdFUwMTNSMGRHWm5SNlJFcFYNClQyVkJl -VXc0UzA0NWFFb3ZlSFJrZW0xbVRqUlZabkZ4U1hWcWNXRnZYRzVaTm5GSmVW -UnJVR1JQYTJKdA0KU0ZZclRHTmFPRTVhZEVKMUt6UjRkSE15WkRCT1UyNWlS -MGRJZDFCdmRFWk5Za2h4Tm5sT1VsSktlVlYyDQpXRmhjYmxSeU4wRnRNMU5q -THpCVWFGTmpTMnh3UWpOWVkyc3pkbXBST1dnelZHY3hUV3hxVDIwdlZYRlQN -Ck9EWTJSVWx4WlVOT01EQXhVRlZ3ZGs1Rk0xeHVSVEJTTDFkMWJUQTVhV1ZK -WjBORFdWUktaRXNyVnpsTw0KTldkWWQwWTNZa05VWlZBMmRUVk9kVUpxT1hV -Mk5VdDFTUzk0TUU5V05XbFJhWGh0WEc1cVkyWnhaeTlXDQpTMEpyZWt0cmVY -bzBOVGhFVG1oU1oxSm5WRFprY0Uwck0wZEdhVUpEV1d4a1RXZFRjVU5tYTB0 -a2RteEQNCmNWTlFSbFpuWlZWY2JpdFVVbXhIV0d4MFRuUnRWbkJKTkhwSFJt -TnRaMGsyV0U1MFFUUXJWMUJVTWtOSA0KTVhKUWVGTkxPVTkzV1VsMlVUUldk -R3hNTWswNU1USlNjRnh1U1UxTGJTdHRRM1l5YTFWaWJtSlBTMkUxDQplRkpL -SzJSckszaG1hVXB1ZVRWT1UwdHZXV0ZOVG1WamMyVjRPV0pSUlZkUU9UUnpU -VWh2Wlc5cFhHNUgNClNtRkdVMDUyY1RGMWNGTnhVbU5JUkZkeGVWcHVRMnBh -VTBSUGR6VnRNVGhvWTFBM00zVkZlVzFOU0djMA0KY1ZFM1FWSlplSFZ5UzFS -aGIxTmNia3BSUFQxY2JpSXNJbxRsZVNJNkltZFhiVzFGVkRZNWNFWndiV2Rt -DQpNWEIyY21SbFFrdFNZamxaYURCdVVHcHhiRlV3Tm1WQ2JGSlFaSFJ3Y0Rs -cFMybGhSMnRPTkZOMWNVNU0NClVGeHVTa3N6TUUxcldVOTVWREl6WVVWdk5U -ZGhWM1ZvVjJkSFRtZFBZVXRJTkVGcE55dE1NRE5dWnpWeQ0KWlV0aWJsVk9T -RmRzVVROUGRHVXdWR3hEWEc1MWjWaEtRMGQ2YTAxWFpUZHJURTVET0doV00w -ODRWM0V2DQphV2M1YWs5cWFFWk9aR3BYTm1aVmJXNUNaazlXVUVRMWRrMXpj -bTFDV0V4dldtRmNibFpTTWpWU05VeFMNClEwTjRNMWxWCUtSVGEzTTJaV2xE -V0hKTFRGQmpURXRsZFVaQlNtRnJTbkpPZGtKdlUyUmlNVWxNWWpKaQ0KT0dw -c05YbE1kVnh1YzFWbk5VZDFhbU56ZUM5Tk16TXZUakZOVW05cVpsVTNObEo0 -TjJ4eVlVUkdkWEJtDQpkSHByYWpreVJrcG9UVlo0Y0hKSU9URndiV2RzVFdO -VlhHNXRhVmszTkV0SVEzcEpNMWRyZEVoRU4ydHINCmRIRnFRVTlCVUVVM1pV -SlRORE4xUjFaYVJGb3JlWGM5UFZ4dUlpd2lhWFlpt2lKV00yRnNVbk5RTjJk -Sg0KU1hNMGExaE9SVGR2V2pKQlBUMWNiaUo5DQo=', - max_historical_user_count: 10, - active_users: 6 -} -```</details> - -您可以在管理面板中查看确切的 JSON 有效负载. 要查看有效负载: - -1. 导航到" **管理区域">"设置">"度量和分析",**然后展开" **Seat Link"** . -2. Click **预览有效载荷**. - -#### Disable Seat Link[](#disable-seat-link "Permalink") - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/212375) in [GitLab Starter](https://about.gitlab.com/pricing/) 12.10. - -默认情况下,Seat Link 已启用. - -要禁用此功能,请转到 **在管理区域>设置>指标和配置文件中** ,取消选中" **启用座椅链接"**复选框>" **保存更改"** . - -要在 Omnibus GitLab 安装中禁用 Seat Link,并防止日后通过管理面板对其进行配置,请在[`gitlab.rb`](https://docs.gitlab.com/omnibus/settings/configuration.html)设置以下[`gitlab.rb`](https://docs.gitlab.com/omnibus/settings/configuration.html) : - -``` -gitlab_rails['seat_link_enabled'] = false -``` - -要在 GitLab 源代码安装中禁用 Seat Link,并防止日后通过管理面板对其进行配置,请在`gitlab.yml`进行以下设置: - -``` -production: &base - # ... - gitlab: - # ... - seat_link_enabled: false -``` - -### Renew or change a GitLab.com subscription[](#renew-or-change-a-gitlabcom-subscription "Permalink") - -要更新为更多的用户比你们 GitLab.com 系统目前正在积极,请联系我们通过销售团队`renewals@gitlab.com`寻求帮助,因为这不能在客户门户网站来完成. - -For details on upgrading your subscription tier, see [Upgrade your GitLab.com subscription tier](#upgrade-your-gitlabcom-subscription-tier). - -#### Automatic renewal[](#automatic-renewal "Permalink") - -要查看或更改自动订阅续订(与上一周期位于同一层),请登录到[客户门户](https://customers.gitlab.com/customers/sign_in) ,然后: - -* 如果您看到" **恢复订阅"**按钮,则您的订阅先前已被取消. 单击它可以恢复自动续订. -* 如果看到" **取消订阅"** ,则您的订阅将设置为在订阅期结束时自动续订. 单击它可以取消自动续订. - -启用自动续订后,订阅将在到期日期自动续订,并且可用服务之间不会有任何差距. 将会生成一张用于续订的发票,并且可以在" [查看发票"](https://customers.gitlab.com/receipts)页面中查看或下载. 如果您在续订过程中遇到困难,请联系我们的[支持团队](https://support.gitlab.com/hc/en-us/requests/new?ticket_form_id=360000071293)以寻求帮助. - -### Renew a self-managed subscription[](#renew-a-self-managed-subscription "Permalink") - -从订阅到期前 30 天开始,GitLab 会在 GitLab 用户界面中用标语通知管理员到期日期. - -我们建议您在续订期间执行以下步骤: - -1. 通过[阻止](../user/admin_area/blocking_unblocking_users.html#blocking-a-user)任何不活跃或不需要的用户来修剪[它们](../user/admin_area/blocking_unblocking_users.html#blocking-a-user) . -2. 确定在即将到来的订阅中是否需要增加用户. -3. 登录到[客户门户,](https://customers.gitlab.com/customers/sign_in)然后选择现有订阅下的" **续订"**按钮. - - **提示:**如果您需要更改您的[GitLab 层](https://about.gitlab.com/pricing/) ,请通过`renewals@gitlab.com`与我们的销售团队联系以寻求帮助,因为这不能在客户门户中完成. -4. 在第一个框中,输入来年需要的用户许可总数. 确保此数目至少**等于或大于**执行更新时系统中的活动用户数. -5. 在第二个框中,输入上一个订购期限内发生的用户超额[使用的许可证超用户](#users-over-license)数. - - **提示:**您可以*通过以下方式*在实例的**管理**控制台中找到获得*许可*的*用户* **:** (顶部)中的( **管理区域** ),或转到`/admin` . - - 下表介绍了管理控制台和续订条款的详细信息: - - | Field | Description | - | --- | --- | - | 许可中的用户 | 您在系统上加载的当前许可证中已付费的用户数. 这不包括您在续订期间`Users over license`向`Users over license`支付的金额. | - | 活跃用户 | 系统上当前的活动用户数. | - | 最大用户 | 在已加载许可证有效期内,系统上活动用户数最多. 如果此数字在任何时候都超出了许可数量的用户,则会使用户蒙受许可数量的困扰. | - | 超过许可的用户 | 在当前许可期限内,超出`Users in License`用户数量的用户数量. 此数量的用户将在下次续订时付费. | - -6. 查看您的续订详细信息并完成付款过程. -7. 可以在相关订阅卡上的" [管理购买"](https://customers.gitlab.com/subscriptions)页面上下载续订期限的许可证. 选择**将许可证复制到剪贴板**或选择**下载许可证**以获取副本. -8. 将新许可证[上载到](../user/admin_area/license.html#uploading-your-license)您的实例. - -将会生成一张用于续订的发票,并且可以在" [查看发票"](https://customers.gitlab.com/receipts)页面上查看或下载. 如果您在续订过程中遇到困难,请联系我们的[支持团队](https://support.gitlab.com/hc/en-us/requests/new?ticket_form_id=360000071293)以寻求帮助. - -## Upgrade your subscription tier[](#upgrade-your-subscription-tier "Permalink") - -升级过程因您是 GitLab.com 还是自我管理的客户而异. - -### Upgrade your GitLab.com subscription tier[](#upgrade-your-gitlabcom-subscription-tier "Permalink") - -要升级您的[GitLab 层](https://about.gitlab.com/pricing/) : - -1. 登录到[客户门户](https://customers.gitlab.com/customers/sign_in) . -2. 在" [管理购买"](https://customers.gitlab.com/subscriptions)页面上,选择相关订阅卡上的" **升级"**按钮. -3. 选择所需的升级. -4. 确认有效的付款方式,或添加新的付款方式. -5. 选中**我接受隐私政策和服务条款**复选框. -6. Select **确认购买**. - -处理完购买后,您将收到新订阅等级的确认. - -### Upgrade your self-managed subscription tier[](#upgrade-your-self-managed-subscription-tier "Permalink") - -要升级您的[GitLab 层](https://about.gitlab.com/pricing/) ,请联系我们的销售团队,因为这不能在客户门户中完成. 您可以发送电子邮件至`renewals@gitlab.com`或填写" [**联系销售"**](https://about.gitlab.com/sales/)表单. 在消息中包括要升级的订阅的详细信息以及所需的层. - -After messaging the sales team, the workflow is as follows: - -1. 收到销售团队的答复,要求确认升级. -2. 回复销售团队,确认升级细节. -3. 收到销售团队的报价. -4. 签名并返回报价. -5. 收到新许可证. -6. 上载新许可证. 有关详细信息,请参阅上[载许可证](../user/admin_area/license.html#uploading-your-license) . - -上载许可证文件后,新的订阅层将处于活动状态. - -## Subscription expiry[](#subscription-expiry "Permalink") - -当您的订阅或试用版到期时,GitLab 不会删除您的数据,但是根据到期时的层级,它可能变得不可访问. 如果您没有准备好到期,则某些功能可能无法达到预期的效果. 例如, [未传递特定](https://gitlab.com/gitlab-org/gitlab/-/issues/24759)于[环境的变量](https://gitlab.com/gitlab-org/gitlab/-/issues/24759) . - -如果您续订或升级,您的数据将再次可访问. - -### Self-managed GitLab data[](#self-managed-gitlab-data "Permalink") - -对于自我管理的客户,有 14 天的宽限期,您的功能将继续按原样运行,此后整个实例将变为只读状态. - -但是,如果删除许可证,您将立即恢复为核心功能,并且实例将再次被读取/写入. - -## CI pipeline minutes[](#ci-pipeline-minutes "Permalink") - -CI 管道分钟数是您在 GitLab 共享运行程序上的[管道](../ci/pipelines/index.html)的执行时间. 每个[GitLab.com 层均](https://about.gitlab.com/pricing/)包含 CI 管道分钟的每月配额: - -* 免费:2,000 分钟 -* 青铜:2,000 分钟 -* Silver: 10,000 minutes -* 金牌:50,000 分钟 - -配额适用于: - -* 组,其中在组的所有成员,其子组和嵌套项目之间共享分钟. 要查看该组的使用情况,请导航至该组,然后 **设置** > **使用配额** . -* 您的个人帐户,其中可用于您的个人项目的纪要. 要查看和购买个人会议记录,请点击您的头像,然后 **设置** > **[使用配额](https://gitlab.com/profile/usage_quotas#pipelines-quota-tab)** . - -只有 GitLab 共享运行程序的管道时间受到限制. 如果您为项目设置了特定的运行器,则在 GitLab.com 上的构建时间没有限制. - -可用配额在每个日历月的第一个 UTC 午夜重置. - -CI 分钟数用完后,会自动发送一封电子邮件以通知名称空间的所有者. 您可以[购买其他 CI 分钟](#purchasing-additional-ci-minutes) ,或者将帐户升级为[Silver 或 Gold](https://about.gitlab.com/pricing/) . 即使您达到极限,仍然可以使用您自己的跑步者. - -### Purchasing additional CI minutes[](#purchasing-additional-ci-minutes "Permalink") - -如果您使用的是 GitLab.com,则可以购买额外的 CI 分钟,这样在使用完您的主要配额中的所有 CI 分钟后,管道不会被阻塞. 您可以在[GitLab 客户门户中](https://customers.gitlab.com/plans)找到其他 CI / CD 分钟的价格. 其他分钟: - -* 仅在订阅中包含的共享配额用完后才使用. -* 逐月滚动. - -要在 GitLab.com 上为您的小组购买更多时间: - -1. 在您的小组中,转到 **设置>使用配额** . -2. 选择**购买其他分钟** ,您将被带到客户门户. -3. 在 GitLab.com 上找到与您的小组链接的订阅卡,单击" **购买更多 CI 分钟"** ,然后完成有关交易的详细信息. -4. 处理完您的付款后,多余的 CI 分钟将同步到您的组名称空间. -5. 要确认可用的 CI 分钟,请转到您的小组,然后 **设置>使用配额** . - - The **额外的分钟** displayed now includes the purchased additional CI minutes, plus any minutes rolled over from last month. - -要为您的个人命名空间购买更多分钟,请执行以下操作: - -1. 单击您的头像,然后转到**设置>使用配额** . -2. 选择**购买其他分钟** ,您将被带到客户门户. -3. 在 GitLab.com 上找到链接到您的个人命名空间的订阅卡,单击" **购买更多 CI 分钟"** ,然后完成有关交易的详细信息. 我们处理完您的付款后,多余的 CI 分钟将同步到您的个人名称空间. -4. 要确认您的个人项目可用的 CI 分钟,请单击您的头像,然后转到**设置>使用配额** . - - 现在显示的" **其他分钟"**包括已购买的其他配置项分钟,以及上个月结转的所有分钟. - -意识到: - -* 如果您在购买付费计划之前购买了额外的 CI 分钟数,我们将为您的付费计划按比例计算费用. 这意味着您可能需要不到一年的费用,因为您之前是使用额外的 CI 分钟创建订阅的. -* 一旦将额外的 CI 分钟分配给一个组,就无法将其转移到另一个组. -* 如果您使用的分钟数超出了默认配额,则这些分钟数将在您购买额外的分钟数后立即从"其他分钟数"配额中扣除. - -## Contact Support[](#contact-support "Permalink") - -我们还鼓励所有用户在项目跟踪器中搜索[GitLab](https://gitlab.com/gitlab-org/gitlab/-/issues/)项目中的已知问题和现有功能要求. - -这些问题是获取特定产品计划的更新以及直接与相关 GitLab 团队成员进行沟通的最佳途径. - -学习更多关于: - -* [GitLab 支持](https://about.gitlab.com/support/)的层次. -* [Submit a request via the Support Portal](https://support.gitlab.com/hc/en-us/requests/new). - -## GitLab for Education subscriptions[](#gitlab-for-education-subscriptions "Permalink") - -要续订[GitLab for Education](https://about.gitlab.com/solutions/education/)订阅,请发送电子邮件至`education@gitlab.com`其中包含以下信息: - -1. 续订的座位数. 您可以根据需要添加座位. -2. 许可证的用例. 具体来说,我们需要验证其使用是否符合《 [最终用户许可协议》](https://about.gitlab.com/terms/#edu-oss)的条件. 请注意,大学的基础设施运营和信息技术运营不在教育计划的规定范围之内. 有关详细信息,请参见" [教育常见问题解答"](https://about.gitlab.com/solutions/education/#FAQ) . -3. 要签署续订报价的主要联系人的全名,电子邮件地址和电话号码. 只有代表大学的具有适当签署权的教职员工签署才能被接受. - -收到上述信息后,我们将处理请求并返回续签以供签名. 请至少等待 2 个工作日才能退货. 如有任何问题,请发送电子邮件至`education@gitlab.com` . - -## GitLab for Open Source subscriptions[](#gitlab-for-open-source-subscriptions "Permalink") - -所有的[GitLab for Open Source](https://about.gitlab.com/solutions/open-source/program/)请求(包括订阅续订)都必须通过应用程序进行. 如有任何疑问,请发送电子邮件至`opensource@gitlab.com`寻求帮助. \ No newline at end of file diff --git a/docs/652.md b/docs/652.md deleted file mode 100644 index f8ffc76..0000000 --- a/docs/652.md +++ /dev/null @@ -1,94 +0,0 @@ -# Activate GitLab EE with a license - -> 原文:[https://docs.gitlab.com/ee/user/admin_area/license.html](https://docs.gitlab.com/ee/user/admin_area/license.html) - -* [Uploading your license](#uploading-your-license) -* [Add your license at install time](#add-your-license-at-install-time) -* [Notification before the license expires](#notification-before-the-license-expires) -* [What happens when your license expires](#what-happens-when-your-license-expires) -* [License history](#license-history) -* [Troubleshooting](#troubleshooting) - * [There is no License tab in the Admin Area](#there-is-no-license-tab-in-the-admin-area) - * [Users exceed license limit upon renewal](#users-exceed-license-limit-upon-renewal) - -# Activate GitLab EE with a license[](#activate-gitlab-ee-with-a-license-starter-only "Permalink") - -要激活所有 GitLab 企业版(EE)功能,您需要上传许可证. 从 GitLab Inc.获得许可证后,您可以通过**以管理员身份登录到 GitLab 实例**或在安装时添加许可证来上载许可证. - -许可证的形式为 base64 编码的 ASCII 文本,扩展名为`.gitlab-license` ,可以在[购买](https://about.gitlab.com/pricing/) `.gitlab-license`或注册[免费试用时获得](https://about.gitlab.com/free-trial/) . - -**注意:**从 GitLab Enterprise Edition 9.4.0 开始,没有上载许可证的新安装实例将仅具有核心功能. 试用许可证将激活所有 Ultimate 功能,但是[试用期满后](#what-happens-when-your-license-expires) ,某些功能将被锁定. - -## Uploading your license[](#uploading-your-license "Permalink") - -首次访问以 admin 身份登录的 GitLab EE 安装时,您会看到一条注释,敦促您上传许可证,并带有一个链接,该链接可直接转到**Admin Area> License** . - -否则,您可以: - -1. 通过单击菜单栏中的扳手图标,手动导航到**管理区域** . - - [![Admin Area icon](img/53056397d59c4378696296d359f20adc.png)](img/admin_wrench.png) - -2. 然后转到" **许可证"**选项卡,然后单击"上**载新许可证"** . - - [![License Admin Area](img/b132b9b00d4641da41d2cb7dca5ea55c.png)](img/license_admin_area.png) - -3. 如果您收到`.gitlab-license`文件,则应该已经将其下载到本地计算机中. 然后,您可以通过选择许可证文件并单击"上**载许可证"**按钮直接上载它. 在下图中,您可以看到所选的许可证文件名为`GitLab.gitlab-license` . - - [![Upload license](img/5016b6014148674f85d6fdba7bc5bb5e.png)](img/license_upload.png) - - 如果您以纯文本格式收到许可证,则需要选择"输入许可证密钥"选项,复制许可证,将其粘贴到"许可证密钥"字段中,然后点击**上传许可证** . - -## Add your license at install time[](#add-your-license-at-install-time "Permalink") - -通过将名为`Gitlab.gitlab-license`的文件放置在`/etc/gitlab/`对于 Omnibus)或`config/`对于源代码安装,可以在安装时自动导入`Gitlab.gitlab-license` . - -还可以为许可证指定自定义位置和文件名. - -源代码安装应使用有效的 GitLab Enterprise Edition 许可证的路径设置`GITLAB_LICENSE_FILE`环境变量. - -``` -export GITLAB_LICENSE_FILE="/path/to/license/file" -``` - -Omnibus 安装应将此条目添加到`gitlab.rb` : - -``` -gitlab_rails['initial_license_file'] = "/path/to/license/file" -``` - -**警告:**这些方法只会在安装时添加许可证. 使用 Web 用户界面中的"管理区域"来续订或升级许可证. - -* * * - -许可证上载后,所有 GitLab 企业版功能都将处于激活状态,直到许可证期结束. 该时间段结束后,该实例将[恢复](#what-happens-when-your-license-expires)为仅 Core 功能. - -您可以随时在"管理区域"的"许可证"部分中查看许可证详细信息. - -[![License details](img/181ef05617eae83f93df5db5884cb3f2.png)](img/license_details.png) - -## Notification before the license expires[](#notification-before-the-license-expires "Permalink") - -许可证到期前一个月,GitLab 管理员将开始看到一条消息,通知到期时间. 确保您更新了许可证,否则,如果许可证过期,您将错过所有付费功能. - -## What happens when your license expires[](#what-happens-when-your-license-expires "Permalink") - -万一您的许可证过期,GitLab 将锁定某些功能,如 Git 推送,问题创建等,并且将向所有管理员显示一条消息,告知已过期的许可证. - -为了恢复所有以前的功能,必须上载新的许可证. 要退回到仅激活核心功能,您需要删除过期的许可证. - -## License history[](#license-history "Permalink") - -可以上传和查看多个许可证,但是只有最新的许可证将用作活动许可证. - -## Troubleshooting[](#troubleshooting "Permalink") - -### There is no License tab in the Admin Area[](#there-is-no-license-tab-in-the-admin-area "Permalink") - -如果您最初安装的是 Community Edition,而不是 Enterprise Edition,则需要在[升级](../../update/README.html#community-to-enterprise-edition)许可证之前[升级到 Enterprise Edition](../../update/README.html#community-to-enterprise-edition) . - -GitLab.com 用户无法上传和使用自我管理的许可证. 如果您希望在 GitLab.com 上使用付费功能,则可以[购买](../../subscriptions/index.html#subscribe-to-gitlabcom)单独的订阅. - -### Users exceed license limit upon renewal[](#users-exceed-license-limit-upon-renewal "Permalink") - -如果您在续订之前将新用户添加到您的 GitLab 实例中,则可能需要购买额外的席位来覆盖这些用户. 如果是这种情况,并且上传了没有足够用户的许可证,则会显示一条消息,提示您购买其他用户. 有关如何确定所需用户数以及如何增加其他席位的更多信息,请参见[许可常见问题解答](https://about.gitlab.com/pricing/licensing-faq/) . \ No newline at end of file diff --git a/docs/img/000b14e609fee563642c55e238caca88.png b/docs/img/000b14e609fee563642c55e238caca88.png deleted file mode 100644 index eb0619b840ef4c96a97694d61aab9a24a6c66b94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26585 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 diff --git a/docs/img/0050abd936ad2e13e4ad057a58611cc9.png b/docs/img/0050abd936ad2e13e4ad057a58611cc9.png deleted file mode 100644 index 8aa3192eb970101327c88261485c7e0ab500cfa4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11176 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 GLSTYc4w!fV diff --git a/docs/img/00cb101eb824b3ede4fa4a3914f95c09.png b/docs/img/00cb101eb824b3ede4fa4a3914f95c09.png deleted file mode 100644 index 3b615b594ea3c5989cdc8c2549307c7ff0b2f0c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2426 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 diff --git a/docs/img/00fd9bca0c7bdc64f74a24b691e0adac.png b/docs/img/00fd9bca0c7bdc64f74a24b691e0adac.png deleted file mode 100644 index 671fd2253d279d0066dd200e796d978e12d48404..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23045 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 Y12%CaWY9f7`v3p{07*qoM6N<$g7OSOg8%>k diff --git a/docs/img/0124687ca256ab68d34dd0918f1e1a8d.png b/docs/img/0124687ca256ab68d34dd0918f1e1a8d.png deleted file mode 100644 index a2b9e2e90e75255644735b39b53d64e9b9832b78..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40039 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 AB>(^b diff --git a/docs/img/01df5698e4465e052dcb7bf0ed6a55ae.png b/docs/img/01df5698e4465e052dcb7bf0ed6a55ae.png deleted file mode 100644 index 4c0b8147f57afc20a71af50a744be26a5cb2a3f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24451 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 G@P7buMb8BQ diff --git a/docs/img/0290c1013dba1b07f226f1548c8b6fd2.png b/docs/img/0290c1013dba1b07f226f1548c8b6fd2.png deleted file mode 100644 index cf225c91f8dadecabf811f0a08899d8538f7a2fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16365 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 diff --git a/docs/img/02f288cad0ff70d293c035d6dc434f34.png b/docs/img/02f288cad0ff70d293c035d6dc434f34.png deleted file mode 100644 index 1ff3bd975bbebd5cabbd076a3734244e6e1b34dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9088 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 QsbSOAF}zfwZ5#Uk0L|^B`Tzg` diff --git a/docs/img/033c41dc1122d52872dcb67228037524.png b/docs/img/033c41dc1122d52872dcb67228037524.png deleted file mode 100644 index f9ea1c7fd1d0d29bd493a4ef0dd1ef5e036834d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 82629 zcmb?@WmKC@@Gq1i#VPIuihFSgP>Qxlpiqhym*8%}-K9{R;Di<{?ykil6o=rDV#OV9 z`u^|zaL>6P@0a9cXJ&V2c6Ro8ezTJ(bu~piY$|LN6coJoN^&1jP%ukSP@acBM?<!F z`LApszxdQuwB#QjAD?y*yAMb3&20fbK6f8*dwI<dLT4;2tQRj{U}IzB;Nalm;^N`q z;p5{I5D?I<cnzSSqM*E&lhN{8JTO!>TWp$b=zF~q%_rOV!P>R)`OB6ZiLhmRE9_C> z&^0@#qg4+)z+LL~NQ0eH*0i~gn%<eoh;ReF<gT)!?j@U;<d~eC+@rip!8TQ7<b9T0 z?vM~6(aq<Rx+L3IjHiw-CB7oR83EjkjEt9ck�TTQkE*4k8E{5s`NTfLn}}k+BDc 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%0A#vv;Tk(utn8X!G4Au_8+ym@B?WT+GVQ4H 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 W@DyNuAuWCf{p6&SC2PJI1^pj<$T05! diff --git a/docs/img/0370f6d6a289b9e8237fcad4c7672e78.png b/docs/img/0370f6d6a289b9e8237fcad4c7672e78.png deleted file mode 100644 index eb6ec77e1f8ec80a6939577ebd7d29b7826c46ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 87254 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%0Av7sCzR&=o25H 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∾2DhOV42NnV4`HT+M6J`WdM=BvOc%S{9{K8TM6y?ppqXWR&(&+5Jx^QUx_5pI zWuiLU{iLmK^Ebwa{7-<cA?akY6tlAKSag9upRAaXGZRK>X11py{lRz^zQt_}Ou|rC zs@vA;(;qs4E+(=mtr<2ysY|ugG$n&F!H6Xo`M#{<S9XVzJB3iBU5rS_O>CkFjLc;N zhCace#(ZI#Yd)_+4%QnC!ao{H)hp;3@W~?<B<v2bbeC&#V|Ib%VNnJCF1$d>c$k;H zZ?i^UJ87sDbSqGoka|s5>rKq|>`Dx&(iw<&UH5P~XwL6`t4>%;)6m_K$z0taqwVso zv8ts9NcU!duA!OGnU&59KnUp2_@L4xs&CA{zwyXU-SIBPRhJNz`e`{*p`*Op+And^ z5=M4~c#3@NIMbpGPo|}<tMd5M;bp_6;+GbTU8lWgcW7TCqCopko8xJnl@>;1A^FC3 zt(~EPhrt8DJ(-W-=zupuOSRZgMhcwQ1#Q^(z8M!hLgu%WE^{F@S1dCYXS-&TB8CGL zDDw+}AM)gFP98>wxF7h-G!m6wwR>m4Ein{mxBu$m5IB=OF-vun;o|d;Vz)cXbjnA$ zr@TA-o)nseg<9h!Geo|fYsB&_5%vfp;l|s@9%X)EO?ieJdg&dQSxP~jjV!z{Xrp<h zNu+T)0SQzp9vCC`5sM*|!Bn?pd#X;((<!QoIp>jFNYcEfr2Fd9DonMF`?~0$z*(a= zJqM*ek#;$^VNRj?9Tg0r58phIQDC$$s>_(9Is^9E(-$C#%4&_glxw6vtrr{2Z)Ncj z7-MErVI#+MPGP2O*&|^T?=>FV`qCJ4k7;pWjbwFmLOO{2P~=P2v(p>FiCZe)Hs>U! z@-|v;gm>M!Z71+G(SCHgobgSsQ5D(_Qt>9Qonpap-pDqRPLWvts~ZK5TxZ88K-17g zWY!G=2^c?<9_?i4-(lF8PSkL<gM88Bt}Pj49y)srJ4X6scr-{J2w^<Ay<?-VC@x;W zc=P7XAwoPnJV<~a8t8$z_*Ll5o1S3c3-#%KemcNYem)1{N>wlJ68xw_;M-`~v6eD# zZ`fS`ANp-1zM5w=KrnzG9U7Ae6^g`qJZ{n7(D(U;qC19RL}IP3<|RJVQd>yJ$^Tv| zf+TnJo_^gKDr3YhZUG9dcKvI!iCMmHrXO4Rr3Wu=A5APF_T4QznAWH~(dTU{<}rKk zKJ^Hx5i#`f=WtXhbNsfz2{E<Y2mX_kmoC6?Lo>qfE<lY-7a)vO4;06eim>$fN~GW} z)m)RDzdg_~H2tMxNcO#B=yHSybPOrrxgtN~^XH!n=ijIcy`+HDM2|h5Gio-Ji|>k8 zxbb7Ndj2sIt75zVg$5;L1ikR<6Uyb!`9A#(bqH`HV8A$D^xR$)ndDt`%?C{c@;BO; z0k+bYFG0s@<@uAL>0|&~$%LfpAT3%j8*<53LWKE%hM)SQi?6@Q8LT&~#ield8saBh zY^knj{-tP0<msu@KhNDpDoq+y&i~9SSvo+Cy@iT~h5F0^CU<&|3~7xak`tC~$bo%! zpzEscjN1=Yyy~#W$N~2PwwN2uA@lHci2F`bgP0|6#mL0o>b}b`Ea)<Xa{H>*adTG; z)-qMesOb<}ST2{UPTEIl26`%W?l!7L^aqCd$&YT3UbYQau(F)UfVQE*exiTP%icQV zEj(8!c?pN6SV^XqewA*oOeC0p6Yv7&QqQ+sIq}Kk{_?eK%tq_5>8%hgJYW<|@5O_v zX+%6X%P2Zn(dBl&4zhn5mfAYnm|oE`2c^raaxz%I2pE++7=t0GM0yzTvY|7nX5(u! zh@ParzTi!Zlyi-awjzF`^K2i{_Q)>Fffi=1YV11{Pw?&#^6u{vJ}I%mXs<IpU{}<g zDDCGQtQcx!;Xqcc<bBpm^fjcpgYOjv+nh;uRFyd$>8&&-WpyDXWs!w-2Av`REz12= zRKx-oO8Thvb9$t3d#*=DB!CuGVFy4wjR60U^rCb~9)<!(i|Qu_C1yO8CAB6~Rq`db zqgiagw;5TKuclX?M-i1)hIzOL)u%I+j>HR^4_v@SAuS@$bq5^e4JbI&vACq}!i5^S zI7Hn~uCaTjyV$}2xaetT=(w-gawo6IJ{t6-ZQd?wuYDU17gbqt910@9OSJsxSA`5Q zHLg4P4KC`eehC*{ka`ZlMG?(_RoOOLbz1gmm8L>*B_XeOx`}qKGw>wz1sIzn^^z`H z1T7Gj0Y>5LF)v7|*U@s^tM(qG`8DWElAOTY1yL=^T_jsZXtN(S1`0k0UJ^Oy>?hQ! z0lGBE`%mm0Cp@4cb)rKGtyit14e2TzsjW<Hk^9c9y;?Eq1SNV4HlJ_^IVN@UU4G<@ zcW&=fJhgae93+sW+HIS<-bO;nVPKWE77zk6F~=!@^F^aB_@c~qI!dQ>CGj_6=S%O7 zT@^D#>KjtZ!9uRbkM%m+!n{|$1M}~E{1HzwI_WvQa_Dp5^YplI%sFuAS^6WfYT~P_ zr#@e9<y|xmITJmaznFSxr^6eEYxK)N<8YJ$L+`Frv2dBMwaZMe-L6Gwo8HAn>DuK+ z=`nJmy-uX^i!3rg2grM&13bVY1hbfWfG%`^Qh(?GiJJHv{K*Ch>$vO($WC*~fY$&W z>Q{8t=H2M5v)fk|L>>TyfagvGeqpbs5Gez?i9gG+KI2;5`UK2jz&tG3>-<Z+Xw>t% ziBU+Lm;*$VXisg6ss;WU9Nt)vKsP7w4(YK#1G2kH5Yy_XNEEhKr4))O*@+d(qLrHr zha`~LE0`$Yef(6Cy}{<27C2C4Sms_fPBD7HFb?m0NeW7K;bZ2Er;dnq&vJ-nwoaNv zN%I>**ab5>MGd*$_e-d+(BFW?Xh0|{VC5?XP-2rSl@70m#@=C;FJ$hTPCU6(D%@oQ zp8`q+t`p*sQ5LI&`YX+<V_z9TtQNK+6iX5f&cLfETPSs^XsM3LW?;aXxCzqDzN157 zux9Aj*>Iw04*R0W+0EC^xapYPM{vzVvdN1_<`Z_I7ieXZrF^Xq#ZGaS>A=J&%6Vk9 z+ab9k>~Z`oP4&C2;g@?|m+pf;<CLZr>5TC;8&qKC=|c8ukX#RL%DuHSUJ#Q7I03O~ z^0|@Tb?O;z&laHP+{>seFetD~Nb(uN%W%^NaW+1bt#n^YQIn3Del%dabL3>R@SdAU zKg^TWP8}WCY+MCfkkXvX7W}9mRyE}S5u+nKVsxA_xB+_E-fDg~JI6>@kqsn08Ay~L z%Iy#K_EiBrLr!dN@-{W!nq_r#Kus}nR<}Pu;Ob_f^QWuwyD3_xl#~9b49&+kZVj#k zG+MC!9x_hE!~zXOB<p~_&v^T=@g}CaemyiNF_6Jmesh2|x`@m;%of1^q)!%d{j<4( zx4j?pz~V=fM(RBB7j7v-;s(8ve1vA0-Fy1MgmJyDVNMw%B@(gOW|tu&lNM}HnuF~f zpd&oWem>fSPecGZH61K{xtc@aOCtVcML~Pzk~n&=-W#0Bn51mxl4h2)7=dT8`;2(= zDQ}bT*LoQVJI)ecilJ9XdkRcCMJ+Qjz~|5P^8}9~TLC1D<2VHHgi%pT*?6<k5gU|q z+Q)(KXfq@}D1+mg_ar{aCV8B^XTveyQ_+a4Ml3=lyWztRGhp+PQU{~9vhwVkQqBzL z$5V(edpD7M=$X$-dA&N{)lrZhFirOq1bF#kFQ?r(Q=JlA7IBQ*InmuBHGIZBtk}is z%hPO}<sLhs%(>3D^d_rr{thPen8hCs;b*MoeV7YDWkR^VCs;w*Vn`Sf;k98w0Ofig zgsteL#!(Da7rJ&P;1JAmYoDC6ML?I}-pPcTByceQxGB2h)UFdYv3+lYb~@$mpq-x0 zgCcnKkf@gkz~iTvp({SNRQzT;B(sfR9t5^aI+jTJrc{UY!Fx1g8sroBP}K{O`~KcV z%xK1)d`LZ1tX!{fGQ64GYQ6hhug`SQwqo-np(f6|b~`O=(}VuW`j$@wbglBqQ$f(8 zNuRRUlw9Zw6<zBrt)5_2cN6pvUEvAq|Btn|4vTtU+qV$}lvL>!kOt|YQxFjlq+7bX zLlEf(1tbO#kZvTUq@@NB7#O-6q&s}S1Fp5)d+oiS{k+fbe~)7w;~?vE-`9O!=UR_x z1qQmp2D4kIV;MsageOvNuIS2Sud*KMFmMT(kZWG9w)m!IFqG_#d%unWc2TyO9jv!6 z)nRfOxRu>W@@*NL9z6HTk@<7h>Zi{B2;iv)f9d`8)cg0ZLEz6U)(bL!P&95{F1Sm( z?kPLCbvn}lInM8Xml`{!Ts{WR7Ol=N&p)e*OaZ{5!crCAG1}FJ%t*@{5kydV`^AM9 zN%u+BOLTdGAxw@nqqsejD)ua8FN8sa<I1_iJLm%xVcg4`>Wc0ZIE{{TItK=T6tHpO zG+yoLvPSJl>>cwtjtR_!<EBb%&gu22=mZCU6^ekkB|1!upx00Nl*sA7NI#nMq@TQ8 z_$38=d?N+?p)EoN=2X}e3piEIy{p`|Q;&#&Zv#vY*(e$+CsE#M-X03m)nkE*HR=!U zPWYFiWIwnL78R=H$S=I}vt!qJr$q5`VMcJ^P{&HQ;5%Aaw&jORov?K8?!D<s)*o%C zX43Mf3<RHq*-{82XP)LQ@idvdO6ivsOykm`HmKlg*^GDIv6h>>#l3>aVew3(Dg!Zi zW$@ANa|Rm1={4%D0=}hw!+oEADu)-en_%QhKdSnpIjLTjHrE71ajWcW-0<awX_Ovk z0WV1oT2MNut0Q?`nGwJZ6)dit0NgP8>z%>7_}xDBue23>>MIt$K{>gBLO;14G$2sK zfCq})!|}zK13{7ser?(J`Y`8i3swZ5OCJyFcTw{!2`b;fhO9TRp~`?yUiQj*Ogvr6 zvmcVdkX&q0mhPC{g85zGX?!&7j`*e4jB@mm1D<;tLlm)QqUMYG-h{(qWG{Z3YOQa4 zTncsg_et;-@am{bpY|6s`f^SpxQ<Bfg#zvRl}v`-s>K`Ck1$S>_c}diD_Prbdm7i7 z2N#%GqX)Batq^|_sT?O$i_$Aslt|BZsYDwWjo2yoQRx}^bWbkKRDYlNCQUqNpYcf0 zQSkAw_!d?0je7v;cveV2jfEo_|9HCk()b*KLDE^odh#CB*t6;N*D90{NU;bE(R!`w z`*@j%i$2b#3CbsgLqwa<+uhSB1^*Bzq84hd>qF2l$FdQk_}NPU<nX9jw1`{~vbZ~h zrh``!1$koMIIvE<zpTHfwvuoUO12obm3I%<G3Snx`ICy*`nO(BA(S^FMkUDY5we9e zz;e7ae+7y$`FmwuhV$b=++^<^%~njJglRfxS8^_4Tj95H26~M`DEv1=Ps|nEV3Th{ zlImV)tMmgMkId=ON3j~D!9pkDh@uA8<RZo7qX@X8GATN8A?9TV(wZ!LNEWsD>t0)< zO=EIOGQ*KwM0IyB<hz8*CI=o$zR-K;?{d>Nx_XdsB$<*xfDO0;&(cbKC))(QrK8<1 zprsmO#9c;%q;Eg)bsep>f<!5Ix_P`!96DLDRtQ?X^F|?Zs|vGOI5GRhGa8}>ojgHZ zBeZ&$<^->Gtep=7l^Za7W0W;6O*7CFxCogBDCVlWUdlUJ=Hf#w!+B(rx;}@jkjbpP z$5TdTPJ0Dw>^LHe_w3t9<=qQ<H2X4l#gLJ#EU{8$tV)$`ydY?5hZGb-aj$#*loO~M z<yjd@(1PeY9wtk$#6Bevb&AMM3qM=bk49`0vf@0YexP$0Y)37rC1V)A*la1mbirzU z+{aLL?=aSA9oke5?yJR?w=>zI<<v=T&z3T8bs5sfAwh`BqI*c^2n+cHM-Fqb?_~_R zUA!;3Mh@4>_p3iFK0WRpPdvTVlpo5s^lmGyrHZnfbj4TR&$7mTuC~T!@JL9<vNW*( zctvQ^S6H25sCm`TLwjI@_ISG-RoV3wO;EU={5B01Cte_<QsyFA5@kE1!mSY-c;l!@ zCcEJujiX`rGT0UK6|<l$fSr8Tia8kL&iiCt&p69GoYDIrBwpcB8$@XO526!S+c{ck zMW5UtGA<MeN{f8dNe&sWm6mXORWof1%g~Fa(N&i~n32mD%TZl5Kdd_Qa+vEF#KMCJ zJpI~z+GeoS@x0{)P&itG?R2=G5&ms^LQjd{F0=p&NCTbwbB&iu@Aj#L%S|o0rw?>q zV~6Yv51fm2hz~;_bu3%e!@fHkF<^rJ$`zGMzLy`Nbks6};0Kk;?W$2f><dN-jz!ZY z$id_D7SH0G2iymy{HQ(w<l#5q!)tDTkTaN2BhXS9S@$kC+IU0nRX48|Rm$fRF!XpW z9wr+BG0u9dx6e=cKtaC5sr^|&hS3vB+X=_5>_+mPpiX*bH+A@`+S^@Rbx;+XugRHc z6_vB(DJQ~}@)Q%pI~&4C1M(NjQK{{;t0$H6kM57jSt`_xfV*$E1+@aQI`5yP-CPYu zJlI1yhC>@jI^Xgc7tC49Quizkl&Y`kL+dDAN}j$`L0M?B_Ag%pe54xXXQjZj<#sNX zM2yr>7Y!-nctUSmM#LTxkc`f?^Tpc$1Z0cDIHo-MZxf0ac&)i<9I^}u_b{kfy<Vn= zKvTKhMb$+=8orqnb{b2PfSS2|&tZvqWW<n%UJPds6@BERjM#EqV2}#+W0|O~ZMJp+ zCv*LHe_8DQO0b16!VH;EcZ+uq+P$OF72zjRb?cOnV=fhJ#<DNxLE|Gp`=|yUpb#9s zRtR3?Rli88z4%GzGK4}=>yWBpwPz#hFZYw$&UiKw5;FDZSQgT+Urr60J4>tWQ`Sv} zK@3%jbjiS)?SLU7Q+F-k{@o&yT1?s7MkxVrsg?!M{5e6MwAs(%xP@6T+=%fI-s&1) zXR2UeOSN?kbx~(C7su+rJ4k_IO(ku32Pq-YLHhd;=bNo?9*kLd%ckUJh<p9v!NJOF zE5*%9URBbEUz(^@KT*JjN6A4DegkrS&c(ZLil>w}Ugy)j2ydgeG=_iWF2r(%rUg>3 z9WOJs4a<|%Drk<_%V52|SNHk)Mr?d_Cy1TK{?rJT=*dAt<UXDs`t*LLb1652BZz`T zU~dZLeO)4l65W0L`5ovlkzlU&*8vZI?;|KsL@Mm}0SccL)zk|b%fOjIv<vJWs4s7o z8Zet-XYG^{)xu?h#_xH5pBCZ#A<fad$AtiYm`FAj+vS<(g(SIf2ffhZIbfqu%DQjs z{b?@on@h}-q$s<E5wn`(d_FfV`QB&z0Du?>0Ek5ZfcSV0bYf0E0dc<08k=(q)%xJy zwUWPZUrV-!x}S$f0@b`-II2Yk;1wv(EfrM^a#CWS!UUqiioU!8vG}P%R+wC}F;lSX zW=V1Ji?X$tI~3go1-ok=<+Ii}Lyb9lL)(59y8WJHE{^FYC6RI%)4-5ATjmufFIG9b z>hpEFa2Y8r?v>R3iH{#^a}wb#0z3tUoDqpc>r$eag^n+uo=mS}y*SlyqPFkGX1F5` z<2s)(;ykO-sD8nRv7sS8P0f!RGFOCBL2j}tH|Kza-uV}U*yVNE>EWp47MdmVmPB9B zSGdd1QLIt(JNehWC<c0pP9vW9&`_X@6eq?ISnTtL->O;H$6QaeI7=NvifBOTXF?zA zGB3uIu0Hq2F9tsA>)srQiaiK_@pvSWx5#^s(QF2%bnRG-o2Fer!!}a)4R#hIzTKU> z6?Z%GDIB^jr7*|qUKWh|;UmNp!Ht6GYXS*1{ER*xECs_2L6C%F>JAed?v;TEh)U2@ zTQkz1<1eq%-^SmhghjD9GtE*Tc6`@2p>jQ1Itr*~XycXB%Fy9fTW-s!_I$or>jKqx zrZW+caAFf-^4%f+$RR|^RSfyw2(;>xhwx}B@CORlyF}nq!s|#`2o8%5K9;*r69XLL zThwhU%-T&8SLRMF+arJ&$L`k&9zwZ4MW@HP>Q_tugi4mPB2V)x2S`b>qi6iLsIbWO zIw~|@+y|EhqtROjWlaN&&`nf0ym0TlqFhFJ%h{~nBLH0Xebvkht`+=iw9X9v;0XL% z=_fl#kPrI-V2GTa<L->&8}LHXexQ()j?H;OJ(&0t5a&+3%i86Hej;w#gKGsZT)3mY zk<(3x;gY=yA~6pkp>h?U7kp9rz_g4gyzBH5f*>v5WHNwSnG^&mERjD-eFf}_$G56B z@6CGvUO{G)DqE)Q)uzcI9T<nYfc${?W(^sNVe?D9?0Ie_(#!OzHMi+CZQH(!!)ya9 z#nSdj7eEc7WsCBTX9NvXqydD4sAH=;FG*++BdGMv>|;WVAQ^0vg}SaQxA<`hypj}j zOW+wRK|#KH>*;1j6K3%jQxNJuM}@rXg5KF4%18i*xE^8%=MZsk&txCnBm1C_Mnz+< zRH-E@;WAV!uj5jls?)NppCkyi8P8FmbHH{r;N0|k0`*sItCax$S%p^1@m=BXs}_7A z$xNr{98DVI6b9Oe6m;qs2g#q46*E3N+{{Dfl-}!j^IniVr*fJVs3V%s<JZ}ig-oT! z-U9lFR-6=AK415e-t{nT&SL`B0k1;qgeo3p>8DX^K`U^;0p(!aIkNfZhwpe<!d;#+ z&2nJG7;HUrJew>g(08<PDPMNU%q@Nj{MrO%zrB7QH^EMZBX0zQ_{l=_+G0*edb4NE z5LMo0C4mwMX-aCdiLQ1_c9O`LjpooXFOYw-*_Y$gB{tN`haqL6ZYdPn)67H(DJHC) z$*rd>%0Y2koCo?*CyP2<@Xi<CR;7+&ffF?=tvApfLS>**%q{}S^n!~j@zzKyX_XlL zDMDs;XWe`jTv9rNu20Mq`kAPwv%2hFR_x&_iqHpHiq|D-%EaP4#O4g`TSo+WGWS(r zyKL+VS|de~P3FK>xn93%)+;ahG1UlS-qw4BzUB3CVy52WaNglgWv7Y*5!m_rJiA24 za%PdLd^WX7*l_s63(pcM3v1^1mp-LIUrKsU><?>D63-IY)%a>_+V7bj`Ch|_=aiRz z5VS2@@*0HVx8OTcTrmqz3LFwx`t%&rR7`KftjcsLL9O(Q#&un_di?J^c&#ZyUEa)V zpm?z%s9BIj05GELh8i43>?%CWKtjXbS`K#Ucf?EPFW4o^uTVU2AkfEgO%Ck)wdgQJ z*Mk-uwvT3$-mxTTuWY<^1zPDN$IX3L$hWh~7v~2`$iHh{lMPo5eq^#!GpyrdE740l z{(*Inq^XZ}iD`YVhh2vlz>G@_cMZnB1lAlku0iA`k78ce$MmC^a2j!w#>(JTA8_UD zRbX*RTGzE*ok+0IX>gO98JYn3aW)FxSInoLFfV>;z6>nDHptFi1=t2H2^SJQxuedT zUT5AS-u>eHqmtr^m#r44B(0yzn5yV8{~@ui|5~6(FcHgF_*ud14qXJrg=%a`Ly)5U z)+t5u81PLF$^f0DG(aaQ`A`{p2d&e1Lv`$mm$?VQATAt7Bn-=mSM|i*%{>_hjx+8| ze$jB)y(-fL)+%Wn8j{~A4qgR8Vk3i|!i-Rp-c-owGS9x%YS{wLw_7BsJv0(X$UJ88 z!FF+#z=9`K+gfGzhd<1SOn8TK1RYj*tsOio^^TnK?}lp!y?o(czcsJVH~;(<3sEKR zkC*vni453u`i^bosrH}F!sV2Am<!#z7feus(bpHndt(zR<3h{a6KLpM9AVZxkOvSa zDnq5bA=k`L!ag4$3%f||3`uG;GZlXEF4?csSU)-4du>i!qpTKBTKEHzmH>?NBRx}2 z4bxXddQc;vi{=&e*?n|2mbs(E!Ezz5({P)dW3Ca6ooE0=?2?I!6T}2>qGIdRQI+E! z*_G6*H`uZ5L=?M456Lh{h(kg|6vcu#&6WEK#yCf28sZ80e)ttCbse#iivXLSnXag7 z5Rv|)j>4wLnaFlktD_QWR=?Z*MO3pH$IWcLeXYs`)FzW4ZA@0ZeT$R*!*V{FGvAJ% zFc@y#X?zt}K6goevQ?z|ViQ)_ZsToPqE>qP$zUHf7P3>qhd-ux@N#jb<L_Z$Xz+Dl z2+s?z1H*sXB3%gkhMbYdIC)-G+wV8zJ7m%sM;CnfSqW59RpEKzx<3GM0;)k~l8oA! z+<=^vwQK~uUPh5Otu-x$7}3@CbB*2#I>@V0(RZkp5C<`hYTWLqBfT$~?cm<tO?gvk zV3e9=dEG!|d*EYEq<y|qq;pwDYM_~1sV2IU`F0MWi{7*wiH0X+QF1$-c_gC^*ogn) z4+#UTj(WW{P-jMBqw_!*@`Zu1m~@OjZjae#aKxNCkZ=35zJf5kAqS(H(3eVQp#Y6Y zD?z*CK@{xO_h#(x&|~$+3|0YwUA%zB<)(A#seyykyN^H-sWVVSs#6hd`5-S)a3EF+ zvq+YOPS>Q@V^rLNuJh=Xd#1o28<7QWd%XL}b0{_CkKe1o>z9g%_RAe~zS79?0ROQ; z4!12Cb}!|zoBAb019a=pb&44tl>)`OsNhR+rxQ$reT8I-WBBsnetV){>$u(Nf$|+R z#h39jk1T_^9y9xtkm!x5bxK*_WFq@hupXIzG%@tKEGELdkAR@8A}t}N+~z>53T5ti zJ0o1kAbbbow^q`qslHBhJC}qItgm8Ls?kq561k+(j9+~AIxEFgxKqCu@sX2cP{g7d zTKbAs!?LvLd06}lS>XzA(_0s)X_b{p1lb+%QqtdJ!p8`Mhx%lZI}?k!5p%@(l83|# zm@y`wt>)c<Qc@#im0Rd~R^z`d13G``^nX+4H{i4^_-wspHLNSN8Q9;lTx|Is*WDAQ ze4OyQJTp$Mq)_Jy^5<yo(0do~fLw|3oBtZk$8&lY7#->hb6|z|Xe?U7ttu2HZigII zPTG?7;YAFrESU}Pd*2qJphUF&s#}j)-bn}>j-%2yjbAqc1#y{7vn#t%$}2T2Ix~GI zWKhW)JWG$BJzFR*)nExK13ykr;|Z3Fz%nvbl1VcjX;SLx)>mRm2rWyD7u^qf8cE2C z0s59HCiKF3Ql0)AEIEQep!V@>Y!vUNcwYb@AnZ@~kjwAJyd9Hoa4jHIv8ojCn#`xM zGRCNaMf#1m<nN|+^BYtUTf`c{1%&FzjA<qKdbj1y*A0MT(qk}<*3T#AXu$<iuwnVf z)peP#3^=(#@o^sHpaqFGI&F3;TX-*NsjviaD=TSjZK4Oim5m?1xt0B*NYZ_~uScp? zD<%FG=p7{;b6Oh$%V`BUh`K61+VQPw-miJqh~32n2S0cXc)n7_yg<q%qm0Ac8zhLM zLW`m_UIhYP()y(%crR%#F(&I-MHU#|OUgvCqZ*H!S^Q^0*t{&G8;S<}Kw01c7p(6e z4(?Yz^E9@Q8xBqEXAn_ndmZ%U2ovNPsNut)_T{0E@~`=FbFLvAqH7PzG}I`LZIAoR zB;JwzMW~5(mVjORsX2KFZz1gM%dPlf7hSUt6Ww+=7>Ss&hDt>s+}kqB_km*4uDB?O z<!1E!9ecBcYZftdi~zLM<FL>27m7%r8C9V<haVgSd5uD>Re<cBs7N(^Gx^1^1}bGB z>b0v6kUyW(=e({ZWrp}dIZOp?CO;#AKaj-pF70+UWz0P|e?~C!u;j3J7k2LxVYO|V znMxtPnV&tjv3|aU)IHVU6o5q36|47)ud$cArR}KJP}W~d*#oH#krP@vj$4?<uu^-q zq@=*Y%RgJf^Oo2A4*6{Qov8(PhtG16K4EC|!A9A%9Y%hTgeJB=GO|5YSG(^143dAY zCcTpC)>rR;ut)y=Z7%s7A|Q4T%wf+ToJCHws6d+R(wZ_<)me-c@sm^XX->=2_2u%r z8dqQ3(l2MkSNWa>x&=B1+FD$OMO8o+DxL#~dY_?a_HJGes`ZLnauF1(3l)!nA1)uM zaLA;={>`8yk-<<JHX00J>5jIH<S$wFf>s@79P%*l4_5SlmVfmrD!l>1LFYRY*vHmH zG>-G@tn%7Nh&G!vvA%}2Z<3#yEa(;n^Uos=kFNw%g3veQzqD)0m*7=S12Cd3CXY~v z7ViW55}!fM(cy_Fd8S>)A3>#HVzn}Pfx5*Z-JlM1XiE4xDfSv(0N^D2?eY<D5^kA% z6j*&Pf8!*4^T>qk-F6^EcFRS}<&J#=(LHN?PD^643ca{xr)#A-4xlujKiGbGp@^H1 zs7}_rFrc^ZA5-V}w=2bLo``#I=wJ|TQXACk;X?)JDHVkGl%_k-*TH*AU1DD92%&>L z$~4Y&3+>|SrL8ik^WrcynseCM)00T#hqSJ>gePz<p#`8NlwzKfEH$CB8dpLOl#b`Q zido#{Ejskxz1?<C9=hgXYGFfE&T{K6FdGD)!E98ObUF88;a0-qKSl$Zb4e+z0&_YL zx+xDsi$Gi4`u=={ezYo9?bnx9864)BWTD)vu5DUHLW*|J&w&@bg*=o?Wt8xgZ`K__ zx!#~8-oVlH%3_}2)%6qJDtnz8zmDvMsO?bI<B6wlKCvE#$hQJ+fuz~wPfr~s3L5JM zxd-;UgI&!z5CZsU!p^~GVtm>-<8s1-1?XLOqY)Zn(EucocS!gKNp#zs6>fi;bAu%Q zyTDMeG)7}Xg>F^bj7O@%GqqrLSR-OvAuBE;zU~g#j-!Z>e?f^o=e3GT1d9*Dkfqmd zC4-cR4!T`;>&!9+C=Ain3|8PT)t^UN(G1*fA~kKN3BEYhep^R8A$K(F*hA@^Had*v zxN2)Q;W|L3)ZC*V02m5st__7*JlBRo<R)LBrgQ;bQwk(%)&}Lvao_cyvoZy`C~eRs z*3Ali4j*>xg&PV7Ry{YeK2MR-!(X*cutg<w?o%6~fN$zdja4LICPW?}EL>W102($J z9#R+3*W>|R``On_qQJn#C!IZmTiBDp`B>lt?qgzoOq9vh0VLq4ub^<sf7(xPNEKOT z&Gc&!)%9<Q0-e#d#tqLihX+?3@!5^2N!pdI`~BOG^&ITU@c!Yk8Q{?_VsI;)W>Q$m zqbi5><M%CfA5GKdC#hj_8a9pgR%o_|JTWCpMIV41blL_D^i@Tm@d3ajehP*G*<qA1 zkK}Ez2nT3`$BIXCniup&6mU-`8NOqYq>%Ks`Ta`lA76ccUXlTS<j+g8l_mYMSVnZv zD>=58GluVN`hS9K8r4)H4>EhRlOR=f<pib^+cWW%XKPq63SY)*xeM>B>X^cSpWe5v zOu|l2&q1-f)}QcGU9w4x2D=!SAXbLY^Ue@5Z^^jQWRp<>f<ksb$pxW07uU!2re70C zM(elTu9o87xqm3;rV-aHtna?R{nnDgq#jB^$-eXq@7Ea_<;P!VWYQ<(Xs$nb=MOiO zurcxfLsS?UACPZq5v>yNa}{+x2X)B{Y)u~!M)Quh<dJ#^q~7)}UG4-ewzr6i(sSoR z?&oT6L*?*q86rd5mn(^jO3eTSaU4JpbC|bv&gWme_R&0y1rWq_q@j?x6YE$_ZzSLZ z_69*Dy#FcdK3q&_Yk4gutWr|y{v5~f{H{?@=c9qOL|J{A#v!S3HOFqi40P+G<YKZc zYz3&wpQbALb;g$Ma}R9Z)8&3{@dfD~Be&;mutxhBuL>_lr8H<+IY$u=AS&+X7~(t* zxR8u~QL2ElcscKjxJXllklOOE6GJ`*soY1&;=DZmI6DJWKj@}pf@q>9WA_!<uNlOK z8wOED3@JM)wLo4s)rsm00VN0+mAd2U7S!4oj`?AmdHc5=oWK9!;wI-F;HXS?OJv{B zK|h152_qfpnZ`doCjW9<o6e}p(_*oS=}1)f?ms4mE?e(oJ8t+xF9uo|)5HybC~9@X zA3_2C@HQ9^q9IgSpfZ4B;r|i2P_v3Wz)VvR9Xxs?C!CHt9ckV4MI82dtAqa40ayp* zB?-Cp_o;+o<g_;&TfZ3-2IPcO@+3SGL2<z43d3E~Umc}B!lZSj8q{Py<jA=MX3B`h zwti5*c&!k1k{~HBh(p~F65wksT@JXiQu2{XNl?>)VVvuwsbZ&^?497%8LHF^gRt9A z#S1KZ!9m$2_FJz=9)C<l6JvJ`olT?+G+)p>f2aId>6y8w_0U&TSp)c^{SQN7X8vm{ z2Ns=kHj%C9<R=0=o`2o+JxcH~p_RFKXr$IA@7Dqli2U|H_&rsGaKL<J{^H|GCiV{j zMIqWRMd7+Vrl@_x@E9~U0bk~$A(ToaBfFg8N6PyI06`?P_`VoE1=N%-rUEsk(NuJ$ z&&2D-c<U7%Y@Ix0&of^1h6MqBLa#LFSifBFLj3K-Z?7=H0D~w?3vViku>y4WH%%p` zw5X+Pr|qS$)}0-3_;KCV+7{~<e(ZB78XqU4r->9Sf1u<H`Fm<;iLiE7iY0Yo?J$fp z_1l<WKvw4TSVPRiA9?5G_c7srpBdIXG9lPwdv<G{yejbmzz{tE3^Ai9i~SlytZY%9 z^<2T#3g)NLSE&6^I^{Itm5^+Z^pBz8$2-m$bWOG|=^~S^7=WK~07P8am1(4cgNXT_ z0EqaWWQxhs6aW!>uKQ8^y4mS?`;gC2RR--AG+hEXl44#O4%qZz(mOi$U8tZ3d|>%F zmmj58??I-`UrePvX}7+@klm0{j&ynd>GOc}=S^8O?>kLp&k_E*UJOsCB*B1t(OJcV zJD%k|k5jFF*nIe{yzC)|{xb)UEtTS|7ur%VjM)?Iy1U9jwWhN(4FM#?|4nMR(PV?- zt*&?NDXi;ShI<N6_v)uI^;eDpQh=gzU5ZtcWl5r_nd;{3#}D$=3TOs6Hd0>#vky*k z0U@}yXJ4E$mF;Ck`*H$q2>+;kH-Q+ApjEa<mT<N3%T4&{VGr>sS(-;gY9$Zb$e-tt z9!^nO4UILZXf%7UVSKeG`GtOcem}@@i2~3!_~s+f20W^*9!xaW!hAog0+UZ2cF<ro zlQ(c3iKNcE_1>FL7f>?vJlAPjb{2n>ma4lJ`c74{D^Ps8YGqu`OK29mOhbLA6wzPE z>T=J&FtZ3QD&!czHqnhRL9oR6htTlzvT^F8TTv25JX?>ZfrUQpLt)ZvGT6cSibD1p zO`Us!Fd6(WfnQaHNZvE#F!mJ=xYk*LpW{t0gPG|Nmr~;~-)RLFSmv2ZF(htWq1bu7 z6p%mk$zX%E%BAn4JTApPrxA9@{E#0;$^#e+-}XD3k42BYSCCJh@<%qPja;aJ#&*Vq z>Z>C!X0bAIm3e%BPJRy`&Lmc2>r~Oc<R;cVFz<O*=kq><@p{Ud9ik@c%_DQ+WEr^} z1UFzQ)jx^HcY!Mlwd?Yhk#?qllyS2fPGET=p^$Cm2XV~|DGTMcE&rgf&_ZYT`^*@K z56<f{5t$V{QTp_#wKF1g^Uuc8YiFSp;4CBq<J3w2NKCqM79NT@r{vZ1mVv+JYXZz! zWhkYjs&vC3I`soh9w(B7JDvRKNRqv-!~KA?5VKM7p+6eO_oL2v9GV}o9v$~6B$5SF z1P!|9pO4{D8V*g8>kSo}+>&o*yJxRnhV&_)?yi*pE0>H=dLbs~?LW1J8KIBvYCIqK zxL+n+Haf3v@3V*)r5@p}r}WAb#<lUwTlmFAsc1j1<93H{Y$eAvb#@Ez7HSCr-a-NZ zOoWo=Fgr|f_7t%1k8oM>oSQT+a)UmDKLl1H(LK8u(QQrw)P+|qYuAxsj0+Z3oA3=^ zSAy|Ht;8MO{$&07ywrwBx%ictkhsYC`m7=6N3kA@$|lw!rb3k&nB2NopId#F<^1BJ z#TI+tx<j`Tuw#1@Ba6Rp`*gC#7!}0A^Vq%{Fc&iaG8gu5c4h<S!YvYdVkvb!6{Ybf z8VQUMZu=yd{eo3s(!tmMB-Kw_8`L1p6Dmzo;!{Xg+4`izN=)P7)j^b?U487&;0+5* z|H;xIMU9eVJb(eox#N`_AO~md4%pgv+t|r-L!JVoN=6H!G})jWytDM7mjG;l`^pG! z407f>)uvJ9>-OzxeSIAl{^=ETbt2?P!N|7Ygd-v3>%`P!dZQGK&h6=JWw6s{Z;KMO zRqz_E;f^Wx#i0o|1wzp^U<lNfW_Vo<Dcs8^JwSSlBSO`@beGR2S%81>T3{&2^C0IU z+V`QqT=`cy(5EP{^Tr>Stxw(&PFujI)oEoF;!iRA%dT{`&QTi9@0702-W@Jy@8HVB zBl5Jk-S&Eqy5jq~GDFCFi9%@y+p}~^n~{-NqZZSYlnJ1siaGNWUkMe82`NQ@Em6_9 zj)(<InAN#=JUFSQ`bsq$-%GgcvwsAswU4Ps&uE#>SJZA5q<P6VWzV2OV{x~Q8u&ae zg<|v70fpfJE#bAokc``G`)N_K%M$Xh+%RlSU^OY2jU2DeYQkc~$Rvoik^NsMhpPWB zIdnHq;_jILAzx<hUVy$X`brGAPRLL4I4LsODpTi1of5Oab3dAb_2%j?FWeU?THs~5 z=i9f_JDqD6hOG!+WpCPw;w0vgkH8yDr_0E_m@Ww-IP&aXi)TcJL{ry|k)iL6fG+`j zzSWUnzCujm_%00NEbVbO;4#Fo&L1fWhu}8sRhGkN?ek}&fvHu~wYDrd^`m4%O6Xmq z64Z;~eZ%TigpE1E)_OdL)_=~~1!^@!BoUD#JhqOqKdtzdgtqIPz-DukW5zt^lVVY) z6{|KJXF}yUDLGUX-j|)!?$>zX;3HBKQk<L65Z+x1L~QCa2ZC1bXNs41VblnyyCaCY z3$GF+?Z@X4|DGAz#j<RN4$=1WW*>4{nOIa$e0~zV0r4>_PZ(<~0t|bO@~-+ldRy`# z7-gT_U6EvicGb>l8zXa^4&Oh+qre3HN5~NG*8h+kb~iqe?rG0w9I+FwqhEeq@jVIh zmQfc!r-;cjHAo0s9-glSMqpbduD`^b&AgRQ7s*cggiYz*Yw-9JC-p#vPR6^u6wQL9 zz!8dK-KL39oj;_N%RPUpLO%V)BKeOt6Buex{@tQr=Mdod0@oJoaKW++<kLLQp3F!? ze+v#rer$>vVtd|(EvAae)}jhM$Vo|j{;R?Cuy1&BOFFTI;f0KR@D}YywpU<=w=Gpq zw%sR%YqI;%6^T*!KdZ<A+G^f9>HE`^#mW>RLoH^e6^M^p*%(G5xpMlqJnn;5>T&d3 zur|qa;BiTW`7CFvc0*&Le$X%;S4WLZJ7tN6-BFqyvb!m^$vg6eYrasxe2vIzxt+!; z|1@SRo7*eOkaH6WhX=q-#|q9Xctt%1u-b{$_9$&DtCsZ!;5!E(HRNjNEOngJF|xw{ zBQ(5(vbEcJ+4ME*@8UFsTgdfiTEsQ&?rN44Ykr&r33?999>n$cUU6fT0gU1K+CMOc zD|T{bJW7@!4v35TPrqyY_mH7SR}o2(<-3AKVA#!QHw+GkNNW|1&jFE1s=?EHR}G`o zm7wqU;6JvGuZ%sC$3g7S1!ALh!w&7G)p`6U$z$l_X4F>XKY|XhK};22zrg4Woyj)f zs39`VPPz(TFTQChp8`e9eZBH_kAVM-8q%zuT7L5#;2v5~+K@!WB_D^}-%4F!<aJhE z5KuPHVhkt20oi{uUk#U+Tvq%JiuZC21<B-Rq(xJcNi*81y<$B@dldxiX51pale%$D zYcK#-Lkn@S(TegV-X%xm9~M?TsLOcF`_p8MjCcw|JukAoN`rLXisPeUQgYL41AV61 zH+`mfX}Mm&Zyx8?oypsHo_E2u#47MQQ`eDy0UBcNBvwKHO@zqgefe0>B?e5;VCM7m zb#a>KR*(o*c=2r*hHZ@*&z3`yz&j7ZnHNm**?wu*gN(cv(hI0x@s=#N(}$HjuTV{^ z25hpOoYE*7AAOtXHsp6{hWWp!JN~d&!3y!=*7a%5_JWoq#S~A1Yku<m6KUwn$bXdv z-?TV=rfi`V7|7#0YC`>7=7VZ;w_3i{8jT=g)mY!gY4xp^Rg21qP4)q!L#4{w#5-kO z{I6%96cUtb*c)}~;T-4#nd#lQ1x`H6^V{&Bg8c_3dL6$K#1btFt85VI2^Pn7hFBK8 zIAr7YzCY|)&&lh<%I2B%@F@vnbL|F1D{_;rkSS7^3Au6!&Xi7=^7;YUS}t~)@xI%I zsD0=%^q6OBHY<gJVzq~!?Dnf9l*dq&9KXX@i3jG@miT`yc60({8lN6e;{z2sha6d^ zo@aYRQ!lp73(IFIfpesoc%aRc7&L}WUhC3cVuSoUaJW(7xL6m&e}!)=lq~(pVLIwf z$64L+1L|*H(asyEVc+E43VyooQSYd_E~0mv65!UQUiH^)?M&iIt#Rt!KD{-5ObS0E zSKT_fRXRqg)`||RC%$@pnXKDTvnv7uwcA`}Z7t(ioZ=ks^s|TvfGo?vGvgb0K>sQ1 z;+8Szg=M5<6|NWV>6bEqHT>ha{NF@}e=d=3aKx`s2@+leG*hWRttVfX<dd#R6D{U1 zz1iy1O|}NsQK|lr-hK#0Phjp39*a41(^>{m<nr$R8Mb0JCZt7cZRV-C1YN2K1_YF_ z4o{b@AKGsH-t0WZ?orzp1$fl^g=OiA*DE3xKTC?n$^wxOPh`W&kI?R<!uv~!fd107 zMcQ}ut3t8unz1LqlKjovTyN3a$e*Gisbj1gvlB@VIG}-ZA#udzb4K@(n_z$2&%7l< zlhtIJQh@hEwYqJ!MkQzkZ}Z;9MO~IQw{-l#;u=eAal{XM&He?r#0Q?r{2v9f9&7$m z8Fqj2)$aeDGZe7!30DV4uQwTscE@Isw)(fVlkcInq&UB;rvgQpT0;^(#uez)Wv;<j zB$_BCUJTh$jDM|2<XqGY5MS0UtUH&Ev0hVvz&gUdq?nzC_+>I5Zy{#9ynH~~Lp;oV zu-((zUO;7-8x{D3{7Y!D-1=tp&O*EJ){qrO=|}axw)~`a-kph{Q}bOhJwiT7AE}QI z3}g0(yf<B*>iU$o%EA-Ma$m0ZU737{EROHDhJvhp#AoAdFOtU)KwDMBM?H@$G4a*S zcLzhdf;!C68ZzIF39TTm_OrPjjAx=_Dxsa<v%EPdme9!keAX{9s`o#FhP3_M)!Y9! z&@lT%qKOYatFIX?@e*`q_#0taDw<b-9g(`VQ#jv1#nX*@Ol#H`@Je)1<0A|15QHY5 zxrb^uIJ%^X_|Co5p9b9w>p>a@Xr(TWo#9Mplo5%p7<jty;vn}apwjfYN`8em{iB+z z6J{&b9{tU18TwUB110K^_XVtg_XA0ug(*m`NRJV&H`JwX!(rDYw2GAW1OE3@!!FF3 zw|#IM%)mxY{Sjs56pQa4lSKay|1nA20a{IOj&P;wU*7VnM4&bs2aa$vqibiF$GmuB zvwdnj{N*ke9qMGxmfXsoSUqMs6twCH36`%hkeEgUabM|q1@}@ohW=4(DqM6U=5Wjc z#b$y_`GDFTBTAyX@G<u@GbQL|%(ZY?hY$S~Nsya4H@Y1*Ca3-|dxQ5ym@GeLw2Qxr zsP0*YqQo3~CdMUj9_v><DV%9&{Xpf@oaDzUC#C3+MEfP6eCNGlm6|c3i5DqYqbO8w zpN3U3003EUCeKFA{!yx}xIFHcOeVrP7ozv~$#xmoK%StJ=Wp*Z<{C6T1tYlSjp%V% z2cD#<C1b9se_;9zIy6@;_sMw(p}rr4C%~5P@xG~QU%Y%$H4v=VX{ARDwx~>hs4gzI z*UCAt2#5~3U7pzk-KGgpc(-Xc5+FL<GyZal|Ci_xy+}&4$PT+5(4Qei6hRTc$}-%y z1qQ>xCw+@`S(XMRvPD828aglB*Z&1~=q||NgGv#+?i^Wz1l*D?lu<rqx0w<B-j?y- z#fcD)(3-M(=q=FSxkDj9ncV5`@{}4FW@*uNX}ups_Wip!F^O<Q0yF>TI|ss%a{qcM zr-%7cH3$P933KKcY=O!MFKy$e>Y+j=P{|jkK(8q>AqKFFdd9h05+ONF4k|EsiHB){ zqgQ@&cByRqN%ckD9->c|DpM2XJWr(70QY@;K}MIcDrjL>FP7YE!`}kMHZsyb1I2*9 z2Z}gLdwz`n9z1NSsl*xq@JB2#n+ic`B!>%Un~DA<L$&%w9?@#bQtYwpVg<F0*r<g6 zMBl1xgmKuM=Q^A^oWcL|GE!k`?YpC3rW&rWXVlf0L$~KN5BH7la2z7+IzaRB#&>x2 zte2l^2J;`U7)QAHty&l%Ymcpn3RCFJC|$U=Z89Z}YO=M2Ubw4U=FNX<UcO7`y7Irk z4#k%gT;R>7o3x*5J@7$?2IU70>T`_lF)#@!MJAHZzVe0!;@mu`+0~14WZ|j1=2K%x z!=jFM@M}Bfm-aq#Bm8Zdo&(fCBS{|Idid+ikc{XvL-KsZfj>M+1g#0uD8O7+g`y@< zM-SY^o*#up(yIPP=5Pap!0Q%h;{lHv{1gx#B>wrR_iVrg*9Bu4lz%18=1wK!SeY$7 zkuFdzYBtHoyB`@f>Tx=D)|LY=4(Xp<uD=g=9u}22VII_T%v+~o{Bj-^zrh;ycY!+( z#T^hIiLz$h+ylzLQd)2yM<ExekuUphJ_~mqLND3M0Ouj^l1ji)BX~uxyjFya`W;V@ zoD<|=cGLrUm!IIDU(<q|qA+Dy3fr64w58(F6vH@kUZ`(m<j}iJMAyT^_a!^dyn>!S zql6_7$Rk`;(T;iZk`xBGp9Tv3Lzo!JuF05|?FyAW$Er1CbmJ>zvsx~H1g|&EK3Kl4 zH${-#@<aiB$}I$VO)#v`-PkE%uqQNqN_K5k^cC{<JLAk$!)xQ=(-{GDX&1*PAMOnn zKe_X46Yd<GlH-dk{vZe*1S=eJOXb<j7b;x2vb0cN@L5T#$#XgqDyz>(DM^Odng0np z)MIJ*pRmKyg{!Ws-R`Uu*QcKJe}IQ-`fhV$H{juD&kcC!B!Hg=KU-TdQ2GG2B?Y%= zT|xkNYr#_5Ik+0^3$cYpmb968(3~;BD=MhR<?aK4VmRasb3*PNPb7pw0o3|+S=~tH zJ8&>X@_Wz3HGTN!<L{3I@z2vTfKcpocUNc5>h^`G;l$)_XJk(7e~kcdtHe<YF_h<- zlyCjmY#%#1KQ=D%u7#JHc3bafjvl;{{EUBfe!n!4WqD<LLZPENLep(L(I#4&t{|4D zJc1!>9Vr?GcqQf+_=p9}5D!L;Pkq@*z5E?IG<=d(VVAgt((5@p9z<k&DD_O1PceGP z5m)uYM|hp-AJ0Vp?R2~2C~DoW!W^utwS`l0vGZ+pj+ahWeMhiupv^Q%R1%{fu(8ht z2LH<-aVM^=;B8);$#k_p&aib1>er9?3?^|%5rZme1~HON>SBPNpy(+Rb5gO!dl#0# zGlm||(Z(7aiZmLbr5x?>vnD44UT>1D4>Jg0FK1!ST^~Y(r)_5D{x=WR8YH&+AGU^L z%dI4ll~1<P>=Ii(yv~WLC|QmbiGm;rhbiK*>wo;F1#u7iJ9J0`YZ{}5^)mK#<hAJM z%6%?#9<VfK1O1B#F^i0<I5n?1ea~7`b(Y&t@8m4HxiG!a$+}aTub%i3D8SC<4&7|J z<fMFUJeCak7X~4j{~<v{sHB(gC<*<x4Ln+vR_-pYX9Q@+bgC@A%@$<rJgom)f(R^o z>4DHK<~er#c;$|v%I4ep2R{nK7V*m51ufM&E(*2P^rfG}`~A1yjyB@rY{qS6Qx<1b zvOKIBNVW{W8n$rN7V?EW*SBa&9fvZSA#u0#BdW4!MTv8<qy|7N+j@QgAnx|J*BkmS zVz<`wfDcSQ`cS1Db$jfK#k;wRn&U=5a)=5@4$sXO0#{21kqa+@4_<e5U1N%JFb4~e zD+LpUBMzh2Fg&35Bq=1XpM2gn&MUZX`C%f3ywoBuh@17m6pSdi-d4Zf0&Isg-6`PE zA(P9ud^ayE^3eSN)zJhV?3k~h;!Dfcr6DCs`sEk*1vzmE26B==YdlHzO4#_I%%=Ci z6DS3#_$4|7+9(Wx4xmcx{UNL_z6!_k-=6Hgcg;*bw_%IBNM3N!3tIiqD+br~>HbUR z5dLWqI{IZ&Ad?-=YjDw_)UcBTsmht)1KLC3(Fc`g4jnd#Kb0KhnR&RLy~9y|ls<JM zIy8rsKQMZO!OzZ0{-TWN@U5z;2oHPIs|QBpZ@B;Um0==jv#R=$OoNS$cn~6MN<y+L zQk(?xJ(eQ#X#GxE16uZ1YFauClq$AJ`;Syqe<rRH%Myp<twzDG4C!jQmBZG#J4k3D zMq_RK25Z`%eGl%S+o^o|?aJ_fA0OsE{15RV-W5=0b`u}wT@t&w3~3zeJA|57fqR|o z@xkO-z%RidIV%Lg52*-WB~y4U&fxSV0wsUMH`dcor(lB8ydUguETwInN(xgFDG(g; z6O_ouuo$gKvV9zr(GRfm;WNqmT!d^{wuP3$J0bdwTP-G)3T9(_M8#)r?FI2=SqqFU z?U*^<sZ@Y*y@lgmEN`zeVg7AxO{$RBfoKxQ2RhK;|21{!+de3S^z#QxuP7mMum?=c zFQ`-bT6NeLK(tUeP%}INs18fMZ(XYnM{Qm>aj%wwL1A9;Q$~(n_<x5EIsb$XrMsZ< zK)H(NQ~1bZ2Ui_F?ne)BYmxYl4>nYMw60ypg}BYljId@VV<|pH7pn7z>hOO>9Kwg4 z|A9DMXvZr1QaFrkrAsG)xV{!wOlYnWYem0k?O8lEJc@L6k0<~c8y+u=u*!EnA77_L zt$B=eIh&;NN*-#aphz{vM%pfzoJ%fb4C$FH5DS{BK&iBB$deU)%_}PaAW8k{vO_X1 z`)pqPpa$Uq=fZrB)T0L*3}0zM&Kqe?aBciRU$!}18}A@}qm2hMRi<li4C^DcYRRSa zJcG5+N-F!1k44;l8mo8t;nz$BAcv1xNI0|}tcU#3;Zl|K;EN(VhC51ES@A&Ix+K&8 zYvOROo?i~?$6;7__-aBkm?&0-y#gjH2RgsC()^K_hR6f{<$uu6U|LCRr`<-8fE|b+ zs-gUVCBx(#`iCz_K>|R%7k2)J>{5Hkl%Ohf9a@&Bg2C|l`Ffl#;k$v_^ob@3(Gd+o zdV|JKqP&LXrUs$P8b{{rdvSrtgx$Agy4uCMf@5-Gq+~U;8S1Evtdb^>tdgM2vkd=8 z8)l^{jNGmMOLmyf2bUeb>H9|8t{Z0ftJCxh=rrBZA1b6?z7Kkmx&tJ|m3=uL^KH+< zKdS~_$7tWVT&g^PPE*!1VNe0z3ysBEP7r7L8;MBH2}mPHWDvTHl*`aysmtu`keP8N zbtPwmp%rhThvl0gQ;R8n_sXKKdAn(*CqJN;)8eF!{Gdeh!Dua%xDDXwbfCYH{{+@+ zI`CPOWvAx=%@WGv5_1sENp8EFRO(Z~$XJ^zFKC3GEuEP1jW$RxcOUboNn3=Li{6mK z!h@XpshN&Hk4_`4o`)MuHoncU_eWOc&Jv0Z$Qumi`TBjQ*RT#S9!k~NTXIc$LU~KE z%|fu8u}lAt#Gxk@-m@7jP~2F1ULWkA^F!f~o%H%z;*Z5V=+hwfEl)JirEu=@Vg0B+ z4}rzeI;?Fr1-N!4pHMr+RYs4*I@y2#WUJ<>GglNg@5!LV`GvGH!hpu$^23am{Z(Gj z<eCb)|1EY%?L0hT%=2Fahzi2dT{e&L@FJL}0y!h$U->8zw6}zOBrP>Bdpl7G=qTN( z|EvdX+JFQ*3A7g3|NrI=|7hNUCQEb~oMF||GV3+tJBk)l2dU4K7+Ni>I$}-1w4Gsc zq=J7<zfW@hc1{~2O|Bf0jf_rcXn&jotEh(}JExVT>1@cU$O&DjmLI7XCOsLe`j_!x z+vK0|As|5fD?W61IrID{A2_~-`#F#w9$5?+^VAuNO?&+AKNP<1`IIDjpr4d32R(}` zOUzJfbh#d`Db~gZhDNkD;KOyTA@S*jcS`G!GAzP5k+%mQ(<(@w1SaRDwK>%H__Sg) zeRmztrsL_SPls^*p~#K?Q0`O2dn(Po6c~KGHWX&51&4e0Z<?><-6?t{viB^NEC*TM zhwE+-(Mv;k!J&W!t~}4*!NdB>rcqwWo(x`V`&)GCA>}ZPj>U^B6Q9g$WKt8-YBHYg z)xlnrqyO(KN^PHW-4jT1<r!?zk2&GV8zmOTG%6*ktC-q=Bz~P%z7`;UhYJulAP@IC zG}GsDMomQ1HXt(fcb-_iH(e*(!f||`g9L6cHsT?ILYEF{C8Wn(>CL~WtF#mMnGzt| z*g=HK`4rlF<|~|y`}a#%=HQjF9U*f_TK^6_{QUeqYYbZ~&>OlT>^uhXaJdT(GT&3K zGyf=_(kV0<0x8ADQo+%@zwrP##9){PEuCofY85TpL<cs;<a3u_7ZIh^x~LRRjrn!p zi{{4@EDjAO;jpifA3RHTStir<q4KOyy$%qGqLq?Aya2Vi#K<R<K>oTdUJ)@Dd*0gA zy!88NF}1xW;a0e6lQAGc9Dlcb@I{BUWjWauvA6H-ls*@nTV}_6ZIS@Aax|5J$Jsk{ z7_r<TKoM2|Q>TC@TiA=cHwC3<(f<u}2zMY_Vxct5WC9LEWjQ55B!O>Jk{u>x^5kY4 z?pvi}uP~MFd;lXpJJbudm$HLau_T+z&Yrjxsi_so+mNJQgNLRjKZyg?Exja79i{4J zV&*c;mKZW`_6(erAL!{s$xU!mpvYE7>dEF5n<KyN8BVTzn}Ld>IxlPW>E>tn<LAQF zU)`bW?MwG8{&Rfzp$Fd8I;kcok?o=FC+pRlP(Z3PX%NimDRyoI1i_clSIs5?M?3`Q zMi^xei{C!kxFeGhq`JhWmE626>LvTs2ZFzWXTTXQu3H5zM9;>_3mQ5~H#??FH6B1k zvdbFzeuDWSZKZ?^U3^qFO1_AIOu-GfoBqM_c>CAcbUvGn?9HwN`-koPbDL#2nmH#+ z(zvRmGE2ECMNos2pT!4sRh6(OAw@lXRia4vKIgwp4!0%(dg#L-vA$Vt-7aZ}xRoU& z;4e0Wso*pNR(+g0OPjL0+l4Cd%1-aEka|KX{8sp1M?ER$lQ!VcH21`sZM^lz5K-5C z=jdkIsE{(_imw{qH(WJNOw??I2N5Dpw8f6cvEPsq>f9|Qnzs9HGrq*-N_EKAn4+30 ziz-HusbY5$(}C^H)IB==BroUa0=v%&zFNsj^gek{YReS0217Q);oq9p>K<yWKxW2k z%I9gZU84~s&hx}M76CRZZv{S{1`!;jFo}Q1Ri-UiJ$a()4wGFodg2fCIVm}AzQr~& z{Ow5ldr!+>N7}M$DvK5ch^};Pv>Q8bvCDLuOxoX3`pFFh!8=)%Bm0#Lw{XINqqANa zLQV;7AvL6=eD^6uL(a;%CfDe@VCvMva1u%3t-$5g|2Obq3f4$wxlh5Y;rLckz;BD3 zx%VaaFN2X2KG-$Lu8pNOzJ6Lg<Vg%PNIm2ExxAS5?RjdT+>u{UvCeLRmKgSNcNi2M z6=`NQ6qRpFmeQb>i!@jL)~~wK%M;VWub!;z4wI-F)u~_IF8r&{-q494+B!=$roDC% zE8AH6SwDf*FJ~VsydW7(k>=H3cC#3wKme0DaM$}l3g-Gp``4ghBtH!el{S}OjoS#P ze-N?9{yDi<Zdi_AcUsh-3#^So|4-{8pwDXmJXm_z_2ussRbs`OSEKMvkt)D6O2c|D zCNIjYg4eyTFU-M+%4`J}7nloZ<s72Z9qofUd9`SSz_tYGr+S?L!F2hn-oI)}Ew$~b zG6Q-@g!D8~MulHns=Z+jO29YW!n-GEuE#6N(Ve&_+9gNj{@s&4tdf3rqSfRl;>$~) zJ7`ZS!9wM)Mw+X+X^iqQTXC4Ujax&|a(A>klZ`k6SWaJ1nEz||kckx&N}0yXCjWe5 z+{jhu2R--je}E4kRjS|AF$E02h~AociDc9}j*HKxP#}$b@U;%#yD(H}5!+v2gUVgf zioAb3iCu(gR7HKz>6iJi5qC)Hx6R14`7jqS9|CvW1R1SBHD=KKMU5J;hKQo?BPAUP z?8(UySBMS`Je7;~6{b&<=QA!3BwS(}Wof4Wx8<aSPhZ@h{hreXTfC^Cs7rZAFuTcy z18+Vpd>CQGVIC>klWcT;pih!^&uxiB#1!OPRJs{2Jpz~y2j_tbB5dn4U>MHG;%4K< zNR&<{o(NJeDB#Ilw|>|y9tV9xTZ<Bd^4RBk8}P4~Lk1E2+5D$l0*{ZAM}_Pcv8AJ@ z>QbZfoZ3uARE;Ob$8sAyV3;2RAUdOu81|0fv-zosG*gMLM%@J%N%RFCutAy-3t$jt zmnm4#PJ0vmLN(Hnayizt`?j|@d^%q+7Ha?dbRIzU*L41auU9#t8q>}^<k8-k{)Ys_ zvto<3nhc7;1ov+Wa{+>Khwn#=Bn)qVDU;a<68GJR>IcSs(hi$if8XhcAa0xJ6gd_k zF*Lj$pW%t2i7q09Vm{<I?vU^!UkB~r_YWifs!A~!!i%Nod;}j7hJ=IGx$_u#qQh$b z?Chx<`c|abqS~Psw#A#vQb>%QUx@UIAdQFqx}LO+<e%$Fi+-kaA-6%Pt=8${Cv*l` zzlD(*IBMjr=ySf1c-?|Wy@y|#w~M;*1U}pjkC>qR^KdIW>kk3WVzVob!u?sS6eW<& zoM+fl#UN4^c_ulJ;V#62G41#dn29WR0T<#Qm$99hLkQ+l&y1f$I{({-((H#r4{z#p zNNX8e*)|qny%s9B!L05Kj29@srp-O5M<c#Dki&&&vhVXPp@t@GvyC=3oAk4xvn?^= z`DbF9tNWzOmd0w!z8+xe3v^=ciThlm=pxw(<Elo5aTRDZDMc^83vLZ1BZPWOTdxF| zd?~`<X^tLi;sQY}0EveG@<S0pB)Q_(R=S2kxKe2~fzoThxoS>A(JQ4!W}X=;_#~*n ziqd@MoqqVN0MF*F8!!r{l~roa#xu~&Z;{kVdvqqgu6C1C7uCeW(;22C|BNigeN7-f zifO+9-{-Lzdn?xyA(Oo4W~BGsF2pMn-7<RAW7*9r_+|J6k3xm7Dtbk8P0(jHl?>`T zOl^I4ZJkRVPB+U;)?_0Te<_%TnNCG7El;$W2(?4Qmx{1T^Y$2W@kz;cM!}-VT(_}z z6#Ree3i3_S21P(h5z@*tAz~7rTu9IJ`Doa}9i@Wmp=8N><*QHUV=1V@3BhhgKJ+c4 z%J=`du5_doL*7t1s~MdGx*C!dQ(gP5u(p%o4GK6L!B0%7;kG%-Wn~%A{cEDaoSz|P zjc9fB<c0fI?%RB;Kg|xvyb>qv_UL~OO@@ZN;FvI2FAE6!W@vhp^k-SA>c1!}efd}< z_rVquKHG0MmmlA>e#>U?v9u{b4cFSxvu55~F1@Sdd~1W=kmrdN{>Vp%u*%e=w{QTl zU*d(pJbn(cx=CBDY_c(WVr|{)@g|$~34@O=E?qedSP=yI0zw{<K?k8NfC}-ispbKo zLWGy8ICbR+5n!NESBg9+kL+}9HOY3VV-fJLnZ^hPg(Y%FU}=^<cl^td0I4G}pDUF< zc<&Dhlt&`6O0{!vE#@)3@=#(2F~AIR;_iVXs;3XK@6T`FuKN<$x^**xph>|;kli9` zWvqW!RO<Ao@-rYq<f5fjc3d#`kRgXV(m#%*2#I2Hp&n0O4+yYc^gVNPNJxScw#TCv z0-SLjIQO0is^n~><b5&jt-AdPHzz9wvuvs`+iKALd0Oe#fG2r1cJbQ2Z|o)kYJARb z7K8q<p+GTBzSXOzWg*>}?_B6dh#sFIT3O`aT=ZR6l`3(|?P6?_x)Kn9+jUvnmmg>N z!8S_*&5N{e`9p+H21==GEGAS5s-FW-d7X86;azjLqckxl@cz?P((n0|jTz<tUvK9f z)l|0caf*nDf?kxWU>U)Nh(IDWVnd|qpacO4m=O>{0#ZT=3B9SHgMt_V6$BN5ARtJD z2uKrYMj(_BYLJoy5+Q_?bK~4~=iQn6X1%xGd+VKl&t7|<z1QAno%8#Bf1mHW9|RGJ zZS?zxnW(w7-=u)NZ)Hb*(m5gZ7qn9Rb7gUc1Y)}oKD6CF{Ib|^fNo5A&2(rzH`VE> zbk)FowaPstwkshtXlitVZJ*P(s&Lum<;Lz!TR;z<r)#MjF3md`KqWj45)AwarcYnJ z@?GqeVaEI3=<=xe;CCA;m!5cehgtABhlX?+&4A<k(;Y3KW2G&j8Rp9)H<RJFGsU3) zt48GdIOfBR?h1$g4ODvKB0o2#bN|6ZvQ(Nj$j@DEXW{oZ*Tf1(GZTqVT8B?ro40-r zbfB!eQ}3PBH`Ey;{;EAeS=Tm?l1+8L|M^>2DkK#Cn;Rl~TqbHpOx~CI<(KU;;EGTG z*BL`=Z%JrFYbB@4M{%Ejt?w3r^{>o>oAiQh|D;k&lX(%MY&P|da(|kx(OS6Zgfrl| zjQWbV1)cE^IK`pzZ1)sVDs>w|lpN}KTAVqAS74h$9jETV|F;y1Ka=hM8#Rl6Nx%Ou zfERxrD%S1~1pR+1-+qVe|35y;|7<AAwtubm{DUXJ6fUjv(AKT@w5<PgyMTXA_Ah0A zKN|d7n)goxk$+#%-&_gW0B7wlGB|&PXogu`){_=t1su<e<T9F4anuo_UUf6`XJZ>a ztCJnFJ**s}JJ1(7-skJMp!Wb?_88&hz{u@0@LlWhAE+i_k4H9j@>^4P;9IovzP`)@ zwirg~AuJ?A^NFo`YtzVxvs@&TDLNxTB32w11f!GI40~ZN4Bl%9rl6MHjgcDx)f0(4 zh-i*VrRqYKg?(kg!eComcee$M*;SqHi|SaO7t%~cvhIQMRoOimuQTbvuFTSSA|xQ6 zS?+nE;<0FSy^wCS{G1}V`8Ixun&*Ag@8GX^Pu}00YzaJR4^D5&Wj_GI(jw7qjh_sm zBfm%%C*+$ZHhDW-4sy!EZ^0YSb`ecamL6a`G|oqUWjZ26e3*_=cx!cDn-2D|?m!t> zIkEzMu9h!chljn`493V;%SW#B6VpvHG=S`^X%s6D1=gAIx{P5$R<&?$fu=ObW;`xZ zFL}+9z?+ui%oY(1IJ2D$g{u?YXy6g%*tb;-II_p2^zuxc=<<Nan<PDG2HGV<Wfyo2 zT1@9gd)2TV`iuKk>6wdbBHwjc0G~NoAff+I^xfM^>pcYSYEkKI;93e}!Kw}v9DFu7 za>J1EGPM?zVGjMK9K(;~qgooN4CV%y)C#jq^Lt-k5wTeR>jj?q@)>Y3C>nbjiH)qM zzBkD|w2)V8Z}ZR;i+V~9vHLXH$siNLIrv?3Rt<Ee$EA3K+(Fg*+oMA{l26(c<Mb?O zF<$QnV7{t#aa#fDT|T9&WLr73)`<{o0zl+>2rFTR4@Hq&;yZzg6RW&jsfe;8ufpNN zwh`}+&2vItrf(d;DT{8wh)%eFAi93cE|r#49C}_{J>b|+yR#RVja!l)<r@rW9>Iu_ z(1PVA&h~4*+DUb#z1s?RB4a!_txfb_I&f%uh1&ivC)UPmNG3vw)HSeUC668EkcvxB z%<|wd(Z&5PdznTPHDLt(Fd4XCL7z-fP}HE5=$RM5)hZa#YQMt2Nd#AcQ&Cm(R4vQv zi*FrB9Ejb=M3>~C==#yj`2qaKFF;XAv52<q0)Ny!Fvv<qkSdXQ2;iXEi`?Mx&ZH3! z4&7nW;Ix5Cr~POaHz$XBrxR|IQKVJ{*QsscHuRi?;J%wE6y?xLUqqGesK@;6{wyJU zM6R@65oCo1A9s&9@M76IoxEB0T)-JNHW)3@@uIE`kiI@N`i;bL3(z4AkC9k~xTeeF zSrCz(3|!)@tC4yrC?Q$u!d1ib5*G-`__`)-isjD}-PL;yvvCoj%+$M!;Stl>SJwCq zRp_}YNzGFm)TvcNGSpM+IEk;)l@d!+#Cw_Br?a{VDAL{25~SnylT=oJHts~bQuo?; z#uHsIcRhY@z5fKUa)%|^=);y<{X7^%z-2lN3<6Te>7jRs1C-N-!t>I`PnV+cV|rj! z(@iEn!=0dW9a_Ls)dxpr@-{K8kHWvrqzki`$a$<_ec<`!<Fd`8!n2>)JjK`T<{wuq zHW2FNL8#;BByj-Nsyxe83qMvR$_f!FV9mqE@4}epj9A;KE4)l7`kSKPb+z4##+T0T z?@@VjQEJ@|3-wd%QTv%mwF8PThxo-yqwzVEqniGVI}<ZlKZ~CQZMJK9*zR#!KC$}} z3-6li(zDUWaPX!uB7-cUj;SHtRFaPiGt5ttR`y)cS5BnwiW->v<iUZKp4-ynm3+sw zv9KS2g_K}9CVY3e(j)zSrv;6DQ`SuRtL*8O#AhX6Jsz3|Z0vE|=)sW=k#5Nmg?0!r z4jthON2$)Qv>gKTkah?LY)9!Ztd4K+fo_4jws3B$xICLCtQW=yF_Wk|QG-*=Q+(8y z#uai>Xj$ita`M{yR}I(^sxDBX<EdiSqkenxmG`Rd$5W&c>XC~&5FqW*V&G@bD>Sz7 ztaNT<@s7z17d?lvgtIk%lIwY}(V<@t|1>bVzdqzfItz=cDiIO*)qQz*TF=C6qJSp7 z`piYxUUUXAcaS$d6tOomcHf@rhHPtLKqH-rs@^27j>EZKy@F6L<CFcp?{^N_eLGGb zRMp{6GZpeZh<FHkjC{=~e0^`$S9Aawax~z&I)<a!vb94RF>%*^x6||177xen*MMP3 zPv3LPuvW@@K4Anuwk2u)G4-nvZ}Nprj`@h-NZXnMWnD>Ph~h`L@9S<Iy#AHd!Fuuq zce8-b*=hG_OPQeWev$0<DmA*d^XaJa`E1CA^rFhb2rJ6&zP?96oT8#SD0B{mNVe*) z@nOgy(pU!{*0a<~RmYcoQQK&|TU+Fxt@g5@$~I$fo_;xLCfjuM?QIw{_NIT`(;Q$i z)I4N6Fs)qB5`8j`O$6>H=tI(^5Nw1}sV)S!fgl&E<QtcB=Scht2scjhs!OTZVFe%4 zNq#gA#SN{W?_HHibb)W{DbTpp5wv5%wK^psrslvMSv%WJJckVcEpSLbJt#CIS0T${ zU$h>(kAmUGT-pJR&SSlv@j`5PCUe;y(27-F^sv)>ELmeT*7M2Nib2)7E&njq3T**e z_Q_AZ^EqF8CAhJy|Nh*Y4fvr?QG1+kkM9Qd?VB8`Xp9u?@lYDR<}3C5y}><?*F9QT z#i=I=rEXBx;z9%ENq1GiXa8;%^23q3qS;B<QL2zhxZ#C|#o6_5!25v95Z<h%1C-f3 zNR9K|#Ox~^_SzQImx`1dgd+<Bietmr)5P!&`%f&WSHdQn?l;GJb!+n6)Y3A?FUjhv zH5Gi?$aaml6K`O7yjO3+%E|Nxq3N%StV21u`p<WoU)ro%FoL{lYn^rBO68tGf0g1% z7*kZ=Yhy-3wou-`32miV9#+*fe<q_8C1jSqU?I&A>dn9cJ@6qNBJ>n`ukok*%{C)e zP|z6a2!FaZ!cSM!no}}P$xW>Zv|*TozNx$*rhI=gM+>7ER&)|Se8rel;j5uoZw;u1 zg(_mMPz{bbmAmelL-&)y2GX4IN;ffmZ<J0cxGrV!mhpvzL+wH}gvj%xJDR1lQ1UU9 z!=c)GEJu~6oLZDW(#rhw0m%&a=(QB8UgM|)UoSdRx!C;qRi4Nr-qU9sf`%4ZFxqxb z=U>HM{Y)BhNn_Ai*!|Y<)mt-U(fQ;R;TZycMA>@=JN{+l{TROz`>u2}4+(jL{?sB= zI#}Y0l&Wt-ie@u2JP;5J8#9E~ignJ)Ubbgwdj@p}YHsKpT~a7)D6DTsJjc`%`TSfi zm?S`IyvAX<BD#6}uq2)oNfA64!270OENLqeeotbUS$HjLrX3Ik;e5d%-cdCw9#M)2 zb(uPS%IBrvN8VuW>+?zvZ6IHc(?RQ{+4u%}NmJpSm(jH%nqGQytgYbVY9WjA3;At+ z!yt);^maZvkh`6x7=xW4OT7)=<T)Bukm!7Q8E*MwD#<n7B7GteBAnKa{XXCtgoq6R z=1}NrEn0Z-jTH;hh|JoK=Gf7k)<SRavdVfg!TZ_FKEVq=gu2<6$>TzS#tG$~kCaVw zt@iEN&OLcvXI>SXKg(|rJ9H=r_qVO(hLYD}CP~@#)uEh$pioYRF)ZR57=j~Y2EGA5 zvQ(8{xlkxt-gZs>!IqyciO0p|iOuHXIYEZa71=_@M;JzB*bcs4yqLa*eV;S^=FQ8U zszl$2v+@0yLgESN5;dn*C&MQno^c5B<+>LhA7IntPW1%i>Zq}9ITSnLyy@gFThZpl z6b5|?iLM6Ntyz$+Av+b#`H@qW#4C-HtXVad!$KkRF5dJ?5LN{tvL>(Ubfe84wp)DA zE(PyJj0#GVmZ&AwqXH^2b@kx{#cF0yI^v={X}9UB+Wp&8-5c;ucaEnS>@yfkH~~2` z-?>BuW)IHc?FaDmg%}tz*h^|zm|ncp=<d+biLRy#YQ1A0&jDWL?Ylnb@3egT9pLGx zRd2u}pYEX8nHxu-urXrqokIV`t52cgynrGG5utg)ozQ_5_hx#{vQNbMikxVdwe07n zlIMU^Iq?=W;?p;w<mMZv5caRzYv6TNluB<}fLu7Ih$GF&u5$?XQrrns*eW{PvYJ~$ z-6^YfqpPhhBdES)t(mK0X?K8*nHRpW(dr$q<SO8qpGOVN?#*<m?*Tyqf+RCBgPl1| zg=PFOa6+vdej%h))+yYi7XY${8H5z2-U9O~G0X_`#?Jp(C>gX$rG;Ea(drZlDK_JH zSJ|)^>dWA~K?8jwv)i}hdYDUUwe75$zV-Nw4-2<2NkY2~V>d$fGEy0IRf!e3Z6G(4 zx~?FZkAEUm#)rx0hLD!i8NrW3T1l!iznHGVP~5mm_1DEilL_ww@*Qin?1jw^?{688 zhaG%*Z#|fa5~-|!aTR3QoDgnD$a1}bsiJxWd<eQq?vnOWoPtVktSkj8H5%6Al`6Du zTsseV28?UZ>#4RR+C(8Hnm%7VS&7FT1wm+|?-&|BFU#?78}eqO+YFsiqSS`qilk%D zEri><Ye|aTwR=Idam~SPW$&K~vtgS+JY3I9ATzqBx~b6p$bqVXjzWg1*}RM^!$V=r zt;etuKV*M+*6o51*m^0D7u$>prUbK+sUl7o{4hS!YC+4CFV){kMX=>89%eleqr=9p z76M}<Pd9(P%KKn)7XN_Md!6#Psu`X8Lt4Vt6~_RRah2m{VchOcY6<sP0ypiU`0tHR zrY_7uq7S^9K(ZCUcad=i+1OSshE9BT=wYO{k^kGNOZ)@oxv#z{^bMguVtcD<<p?kR zqI3KibmH)@1m2<gu$0cEAWNJJ@rHXmu%jpIBhQyVY$3=Bi^O4<aSV(=ossI>- zyC-+*p@Aa5UlgIeR*l+Ur*=M;UkeaT``?3p&~DZ140lNu0o=6i0p=;<Y!_Kf*|$r$ zJ`VAbUaV*?47UoOBHdZ2bB%)cM(Z7E+Dl82%(xd>y{6gSDHzx}{nJdCFRFUR8<zlz zy6L|Q6|qT20@6GDnR%vYj5^1?SjRDSges-iFQdWc2>Y6jvHM*rk&gCGv`eY(Z$L%q ztJFD&Psao(ncS$KY-$)Hh}H|vRZcZ@0Bqsj;&XL0XJ0LGBS8*I!@gT)VsO(W*C;;? zAO+?|N`S3iIQG3MNuyD_KR#_Zjro&eBe+HUlAc8M_P!F;ONXew+w!i7zI~@}RcHoj zI^R9QE{rQeIp40pL*4Cv9j=p2QalT$@l|<YA-`%T5R9Kq8rM8!chyV9Xs99w$euxL z1tHOtzak6gfw`KWP|#6Z{pXSIp@#%+2es8Ux=B{0ygguy%y2X&jeL2>#?=mS5b*Nw z5RRUP*Sma2P4yIDV|lxt(3$ws$_J1?Gilq$+qo4E_Kyp^XNk&<pgg{WBZ0SS*Rau! zF_F2qk##53qsoh-9;u~uG47Yk8O8KA>eQ<QM;$_#+^AdJecPSLs_}V45<KR*>mSy3 zh2A|h=MxkjE~A;Ha-RDJYX@=&3n6SCo{Fx4@cJ+9IXuum+%atwUXaT7zN}vpfN=>B z9HWmiZF1`hqNV~tX^1>ieO;3l>*i<ZlR~Qo$goquavi~%AZYCyc<d=!qN%H!>q@qz zA11wjEe8ns4{+x%Ocga1uH0+U!*Q($JjQi4^Sa|qSs3WbNiakgq%XC2GhPlvYIPRz z8Z%E7AP;)1UMWv`nx4fs2Rk;<!CD=|{4DBf`_6mHJhk%hs*BC;CJVBej9W=XPS1mB z-M9b4qw$Au{+|(--@{A4$7}vdTmPfM?-7?jXzvAOKT0*(O({R@AOCRYNALft%KwLL d(3Ia4Aemz)LScYihb6?9^%?uqr6)aN{|<+4@%R7$ diff --git a/docs/img/0387751ed4b8717777ebac2706c2d637.png b/docs/img/0387751ed4b8717777ebac2706c2d637.png deleted file mode 100644 index 387b5ccd7cb45a388c9c6007fe72d3e2cbc62b9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5892 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 diff --git a/docs/img/03d3f984ea7608322b1fd6a7feba47c0.png b/docs/img/03d3f984ea7608322b1fd6a7feba47c0.png deleted file mode 100644 index d8e269f86f9fe046ac92b0b8fa19344cd6657a14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3203 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 diff --git a/docs/img/04b61606f38fddf21d194ee3e13abaa3.png b/docs/img/04b61606f38fddf21d194ee3e13abaa3.png deleted file mode 100644 index 40d57044d43a2d03d10436bd382f7d3c60458011..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6364 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 diff --git a/docs/img/0574a3e535157d8b9c5744214f19f7c7.png b/docs/img/0574a3e535157d8b9c5744214f19f7c7.png deleted file mode 100644 index 3076cd6edff029ff05a588c6307fcf7dccf32ef6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5966 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 diff --git a/docs/img/05a0790512923394006a9c3face18d58.png b/docs/img/05a0790512923394006a9c3face18d58.png deleted file mode 100644 index 6f78ff359e0b87c9e40227a27802d5297b130f17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3498 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 Y0@{8F$D!~RUH||907*qoM6N<$f(#J5{r~^~ diff --git a/docs/img/05dd8439c1da77198297616b4c4f8458.png b/docs/img/05dd8439c1da77198297616b4c4f8458.png deleted file mode 100644 index 5f482eecab97853a4776bef0e22dc1e83bc15109..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32021 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 KTn&8{`9A>7|KQdD diff --git a/docs/img/061d5d0d60fdf019ad696860942563af.png b/docs/img/061d5d0d60fdf019ad696860942563af.png deleted file mode 100644 index 57004dd4f549a1f9c9cc0eabf182fc2d6f9b680b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8447 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 bKpz%xp<Luxd-?cB1DdkDhFpb=dFX!usM!D{ diff --git a/docs/img/0748208b938145b0cf688cc0a3cb7b09.png b/docs/img/0748208b938145b0cf688cc0a3cb7b09.png deleted file mode 100644 index 951f7374352baa81221ae6948bb3113c5b35deb8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35750 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%0A)R6Fxs*T|C znXV)6y(}RJJm6Ao3Z^Xp+6;KKvXcTzx^FW3h@ts+vDVW2{N(?g8Up|0u;H|t^tD@Y z);c<NElF4!KZY7~bk{F8QUqdk6}XnPXkgHb{q@jlvWM}rPMfdkoQtA(gV>;cvsIU6 z%qI4+T+T!ULe?DCMPMEHKDs_S`FJ<FT^)jtY03zHqP0haviR65Y?;oZY5!bnu4>qz z@J;e@^{sdfApIKM{3JnbFf4dV0G_h1ng}Phh@h`UN8x~u*0NDbnMh5aVG~p~o8kB1 z-mGn9bAe9A!A9VJC<gH#o-)aX&&V|?4NV%t+8%3PhC@4HbgyY4uL)XhRc8m+o_wY? zd##^aQ4+54at+cKkWD2R@2M5|Jx_Ov_j_(p%!~-6Nvc+-R(mV8JrgwB{(9;prDflJ zt>%v;qID+K9`Y-(M`@37&1#r&w4|q~(RTORvxCQeRr@dbqyBoCZI2G*#gwguh+;iq z<~{RbrrP9c6>(sR-;J=u<ZHfQG)|tAnsu@PY!uZW>OuRSgj{dSqR<~70O|NCed=O5 zn|YhjKI#cea(IK-dVP#sKBnaTt3y0kYjIyLykL|OZjHR>5C|{baGmc}swt0t)edAM z?mv(QnyKd!+B9ATWPWjI+5Al7f7u@gdED{FvZc>e+tK`qYh#meuyV{KOMnro*?HBY zo@`^Pai@9G!7WRl0<-neGsic6o_FO}cli=AXeG$me>|#wUcK9KA_?9H1AwDFLeMvF zLcbr#ADS~(iGufo3JN9PF3N3SCr3~>GkD{pX(0kTLISi+6mV_BmXuE)tuc<Spb&fT zNH{xj#mSeC2<wTW{WUqG`|U%Fvy`AlQ<}*Z5{Xavw~nvgUKyrx9)f{6d0^K73q4ya zElai8%ZH(*qL^NWXpkB%C|W{ybJAfbSy#7Z{vv3DS5DR*GoZb~5xOgLA3G8{{lqeH z>nYg@yR=7$h8&_lW7Xpv*Mv&WZRS^Vrn2O&r2dtx==IpS4AF~}y%%PpRH@SwEXA9~ zWFgb<W&V>7I)o-FswB#|pqdva1uS2VXFrCpFJ&5>>EL9Ur)R0JD8VQo^Mg8m)a8a5 zo0>7SM<tiN^}~OImQ5Pd%+{C^yO9L$!@MA$|0Ivje_QgeG;3H`R*VHK7kQ8&zi>`a zLc05ywXhVj^G?qo7I>K1fFU#I$sym@zYTsqt}xWPZ`A@{93DD1w&#pbByK+bN+aqZ z`;#LZFd+J?U4C6Wvrm$S1@TICqJE&NPO^s6Dc%iJ`utZaQ{I^!JLt{R+Y@%h%3w?v zZZGz5qGB8K43d1UX3D!PbqMW2I=;PCp6O6)hI}{IvXZfgKK3^}MUh;)4^fs}{@e-L z<oS*stlvVQYt{bJN75zt1#jn5ua)oURH7{OmdgLsx5_16;lA`rXluw<ahm~7ak$8d z(tz0tji2~Y#a8uRiNz#WwNF8J5&5Ly3ta>HP|&q_8(O^eafJRoN|n@-k0W(zU61$q zoet0;Wfas}l*e2a69cQV2h}J)?y}eWNZ^M4sT0HUp&Am!1rFc)BZ2JbtUmT*TC<tG ztYfPuwOJQhbHSKBwf%<nBYeL9FwW#IjYXS9pbj#1s;Q3^bIqr5zQVKGBdv9jLG;_H zr0qWBZ;eGVaa9p4G^$r@Cq`gcgS5bmzWOLhp|7FEv?ip%^77km<mxw)LUp@`rsM@8 zB_GwphJ7iwGNvb&Hy3}wG%M451GN46-_C2M-WWYZJo^`t`UMBmOq9>F)Lf1^4l|EA ze(_L&M}AkIG;MwgQl{?d(DJDJ*fWq=l-%eiPqfcoM?ItBE;5nK8Emz2nr;GRA!&vs zf2%mNM6K=d1Z3&=?VMD<z{&`~%}u5C1%xP<lA$iHlgxpvkNGK>r}DG9EGF6is6E8e z>s+WkwXH?Zu^xV#XUUVeli@-DQ;bE}V6JD<vu_`C-2k;PBugXynqViy&)|*Z9b{P` zgyVj1*tjDPAqA-t>->3wx~2;e?8S`b6|}N|!>e#p@@+eFZ)W|f>}c*xaZq|A)y`Pt z>c+dIf$2MG>m8x!Ii&XWSoDwly!{MFsF!F4+CQ@>mEzmi%jE$v0J^f)+>&z&WIZMe zSq?>9o!RviJ@gKPzA^0sV3C?>HX}D#npLKsxiNCo;hOEOKfq5-I^1h#T~B^EjYH6L zis_|?j~I4a4&6ueyGHB1siw=#&V;+btN60AZLs<*gb*F%5h!Z3&^Hqa<o@KD2zq;# zps8P~(?;i`A;dH0Z6eHW&vneoe<<Wtv>E)%GSOJfq}Qn%RQ)$CrC1hhl%acxNawhB z41jSs#-7#1spJ@L{Fk2m?Y#M5A?fwpl5{`s#t1~tWZ|S_u$v-wdp}__V<}PZAw<5y zTO~(UoFNToo%5gv%Z&9f461zi1I$oAPiD5bSViOx@LMgYD0{))S$skPv5ODW(G{4> z22EG^t?}63aYqIm%;G2b!j!#)g`wvgBanqR{;WXx8JX5U1!?uD@tm++c?{l7iBx~1 zixPT4KUFIT@wJM;JEE^EL+1t$t$lPCpQwI2wVDdB`5x2Myi4i_uUx4$pd<9Ff`hO^ ziNK&BT*yTTG~b3%1SEQ>ctD3yZ24vF3h4PhZX|;Kf@+OxwbvXa1yjQW$b{=OC+-?9 zh^_s_Rn{6QV36bij<0=5D8)ZxFZ=|Qx?xhQg04yWam`ffps8AaB`TZ0Z6B?3P|nmO zIyf`lOQu~6cD-x_1F9H`V#ma=fAgtH^=y160?^q5vr|GKKzgmQ?(c)*f@5_^%m^SN z6n7yP1g-f59`zORfh??;Vyh^_EXJ2TY!CCx5fmtk^`BoiMskN|C?ICd`xZOfLGC~* z=BM*@35fR*RBXP<XQ$b2l3S^{rVk+k)Sg*XeI@jJabCZ8iz$&w$j*^U^X)mZU<5sC zZGUT<wKPus2|nZxMwQnAlS!y#Vxz!GZE7EBev(E<P{~{mB#f(oO46|XtL_Z37d6#9 zB@k_W{UxVI3U}#2e$cT|!DyswM5zWX;lpw$F@K9emI|`X^gK#*o%x#rGv1mg_49-A z%Sg0T!M2d5G<;yMkt6#r-WAY;1Uo@e);8p8%tN6ntCL@hgdu?H=EKvqzfso}%J4T; zoJ3Huv4=A-6fH~38@puIEVCZ9!Js6$ZX2Z_zE!D;bkv}EA}B8hEO`FxiPLrB>uN#i zms4jF@ir0nIIqCPAEDx~oX;(+7l}c<akZeE9t9<?!Ae^1rA48Bg_|mU+f5IU^FxMI zbTwbG_q_q#yxC`*HGK6RAl)rMK^pVwILy?6YeY9vNu{0TCzgzBEZGRgY&1kv9u5@- zElz`50h6cWsl$_w100y^OePel9jiWUzFeHA>*U@~z3+^-nJy*hO4g+?v$1jT+mz)q zh!u(sNTTlPY`lSzkq&Tb>}e!*eRzn0FkM{RuF9S+c~bnM1!c|iZYy?FG?XQ7ONRVF z9x{&FAZv32`ikdu6qVp?L1l`q!Tak=hv45Z>x~|#zy>EP-`#D`%ZY!<v$ZfZTpTto z?7E!{eKqjsL<Pa>{M%BLe1qwbP*!T62&7$VCE7CiKG5H#fk8n?2EnXlo(Om>TODH6 zp8zWAW&>gd7TUp=L}~lpBf2+o%)lK>qz63VJ=XtPM(}P|A>%Ne3e(JUFDbwk-BgbF z7ZbA+c-BlIeUE|u&_@uGUwVUpqtYIj#0cB|X=u@ZLQ^QwSQqt7UHLK~ocCb;?Ass3 z_|4TMiY+v{^0+|Fcm@LNh}=e24@7t7|8_%Rr=P*pm}D6|2Xm-_M33Z5Pj2}~f%DqP zn(oy4Ut%rJLccB`x2i_0q=9cWk^ztdTHN@welCcf{gywT^|!*vw-TzZoz_AM;g+8r zaUF^j9At`!<-V_UgZk8`O@Hw9!#SC%tC?~Q7&T^g=$Qs3O>bumY?v;p!R%6jIF)@l zZDL?MT-$+=-_flZ1&VJS)uiGsVEvB>l-NI&rd&d!e^vJv{cOEa5Ty(e>0(>>7B6t@ z9bqo|b@n>0O65O7y4pugeo!h<MaVS(wH+@E)1#`HE%2D>I173E1f8^`z(JC*Nus7B zh2^HByC9P#-F#iGXZwL8ll`X6w_S$_%xJMp#l&7}9Z346cjV-eL5r<|DUb{DRxcKQ zz8}q;vM}lQ4Zn^*biQbGXX(#76}>1sa;FGH#mA^Y^3@0uFy@KLva;C3V%y0PoeEGG z+j9JzXc4nt5Q!+JQi-MSJ%9IJ>IYc4_Q5t3TH=?jwWxb86(P74@YB%Ec<*;PLT{UW zG1rQgR&3_%BAyz+(T4AHx-opvBqrKcT-Qhff;^KRu;tTYeN3^>z?uQ)E9bg^kidWA zym>tyGw(Kz3tOuu<&R3>xn6}a5~0gx7(2qzvb<L!35m2f+M6Vk()aFD65vo4rSn+0 zWY!xKi2bJFf`$*3P2JJkt&i%~0{5IOV>6xL+gV+`^wb-*LSLT|CGP7LAH92D&VQWr z8~AwN&GxJ<l~V!*Fk>;1k$q~iQBrNVLEB47=@J75+|Njnec$4maGpw;Pq={whwD5i z_!}ek+4alz4%$Hm<^hdif2K<2y(lVp#H;k&(x+Sfpe!n1z5|@7af6*4*9Lc4N`$5p zo#=wqw?v;9;Bv?%nfb?$7|yGvHpzMZgMmB4dajZdO0ummbG-dR8T+Yj#UULGyqwvW zJV$_y2>vR_+D-eyTBj^TJjr=II?e3Z#;XBsas23?O83$Z+akz|;A?P%I?89QwiUi# z^(TMTlHis07x;!4TnggfLH~V$!&g}cV2>Wa_Sv(&mxi_jOgkfcRcSnBD|&u_#gB~A zB-nO-*wTr=@Or#j+euGRe<IF;iJc9~KVeo+Onm<$aOwE&dm0B-?X2``GoMJM{I<9~ zIL7A=#?#H?8OAYN$kpy1*;{IS46Rkmrrwt!f-bfcy>XzWbef!{J}nAiO)4q$2KgD5 z|A=fI{;d4?T)suwGyg4F`e+A53P*EZRX$cZPObT{FXy4(#(SGv^7I+<dEjV#&^eo` z+^0oulwqsGu@|bXbLyye{_VnC3mzIm+v+-I!!Fx8XDa^~RGm=0JaiT(5x+pxw(~YV zb~o`Z!^qUK7cR?FFzvvg5P+{8Vcm1&K@-(V4Cg)(>dWEKddA#d|GH-$aJI>U4lU=; z0!AZyek1UH_vlHUf<(x<;vzK?lAP_%VQvtu?L;Y@KR$EK*~~z%FnA~y=j+)}{UgF# zq_jwtaOv^K#_H>Gr$F9$b%|+k^<a}{_GZSDS^y(D{j2y8Y?3TEj>%G|8gR4oyzP%{ zfvOf3zL<WSyoA+gN2l#6r@JKaKgI0Wi{und-|p0nT7Ge$YC9h3c+*n~bjHc)wMB}i zmmh=b`1Zm1FIbchh9^ax70+#{q|vBqUUr(H3++Q(2ki%R#b@dS@?X{_o>96y$p0@) zEoQF<J=Z`D_<dZu^#s`FD*k;|JNtsZQU!c(Yd}e2;&1vD3UP<a@=C9L>F6+{PwXT$ z=f2PkX|8(k^u)ZSq82cYUknGQkm*FM$yUC3UO6ZUsqpg+)Sm_WMM(0}c+C`mwdp_U z^@nYKG@Cd|&hOwDBt127)<5+ep&=@lqV7nDCU%jcoHV6eN#!eprl4|DsGWp+4b$g> zJf7}M0@|1f%F;iXlcKCy!tZxirhW^TUq3k?+^`(WBCe-JTD@qBSWJAq{eT2x6<R3B zb3f{9afte+o#yEiCV@}F&)=>JCdD5No!?ZhS&A0j_r+A9qpV063BT0X@OFVUpl;o? z>k~~uMf`s2JKv5{xN_+iqph%P9A|e1Q<n;FW4j^yjH6Ni5tU_6S0?6tM|i#9B>q8< z2khY>M>HFTLPw~{#y!9HR3}zkCb;a$ilY)LG6VuJsCP`3#Loz!waJYA)F7&!K5|wf zItV;}!h{Ay=Am{_ZMXANi7s6JTqe~2&RvxvF}3CISY_w$MSz;-%R|?56tx29g=(M# zd)h4HAa%TkiYs{~m4O}bL#bP<b&LhFvf+|IaCrEu-VdSoyVyRA?`~{RV-#y<-a}o` zqg`yMkCGLU>hlrM6oP|Rl-)d^Ka$k_ej(5!aqiLlwKUqJARlk_cwV|gf64eb8TSmR zCKIqu;yTtmf8G!j-QTppY@hKrB`l)%IFj|3YUkq-(oqQfr02kU(83oRWa16dmvkM= zKt(~AdPN{`YD}{JJ=ne%Drz1@(DcWC7LN7B<j1a@@nCENgRLZiT}P2^w2QCG)v;)F ztziUoJvv`;J&OWjBEpK_K+t-P>x3Cek4^cAco#Uk<wugD+U;jL>lI!}0t_D2NCClt zbxOZdK1~bl@C_Zl6K)*Zt?^|+Xh~v`niyVY7Ax@Kjb0Fjd-S8I?;#AGR_GawE0-wk z%)V9HNQM_0Qpt@bK%P>Yvj9`Z%-OAfKC%Ej@wE~4^K^U};aw9#-IE(BKtVN9n@*%% zvhJQN=25?j1DjNxOK%>tT|gyt^B^tx<;0$&MtLIv|KbmST8%5Pd1Lk<d&8fS$xH3D z7h579l)|3l{55cqCI7@f@4r^I{<Kp}1iRaaiXpMj_{J6m41R22r>@hwufMttq6D-0 zwO4++(hhUEjs4X`H+A!14Ai~)i9WJk=Xs;3#y1@1uM|;*JFkxZdBiaHE(ckfkF@}I zD3P2|t&!dZY0O~BBy~o=jadaspc0hy#Zy&c>ISi40`pLJrv8+Q0J%NfWELb-<y&i2 zJdlN;PW(rx7vCiQPV9+19tnoIX03{<K@aUar~1clhz+UMQv=McSEO!pJ3JXtSiX*u zZ=WLe*awtOFt(i3u%Koa{UJ<_T84I(8Z}aOYNa<LWHOXk5+dK?tY~n`H3{W14u$fW zAR$&Fd;CtcV<+y1-8CF8idU{T@(PoyEoZ{U%4~-dIXNQ{zS>s79U6=0l&eW=84?tb z@kxNg`lHCyK(W7vUc!W`92za=ga$pg&^I!67=|@zLrmAER{DH*Upf2y0_jXH<pod& zY?J3Ob+LgSU?kUKB*wR1<b~vJEK)O2Gq%j<@{ds$W(wa`*Zx*;DX@A&9{Gnl5ESx< zm<oot$Do`ulEjGkHSp3E=vd>(j8eO)`D8L<KlO9A;sW+yiNrzyD}@o+Hy^496=p|R znztayPjGHprxhZKVaW`lAi)2(pyF0bMfIJ#f8egn=*dnG6X%4ljK?zu{Ls(EO`{St zc5!aDz#~<hSM$%bz2Fb!1-@|@sECsKzvd47KgtUO-=2WA!fM46YOy9-Vi~03G<PWf zzX;O)Ujw;$Lwk~9ZbjDS8_EYVwxyr+uB>wsqi*)iA1B6|aqslCJObp$ClsH3W{_g& zTK*d@VLJ-;E1$Q=13Vw!<!E1}nl~&GoY%M6>Z|!}k#}7G^2caPw?V2utn-$(rUu^| z$PKK+Q<`K80dCH1Buxe_Z|SVA1@I$!skY4YSh~RMIj27^&y-^W*_hCjM~8CvVUel- zm~c~6-sPjX_@Z(pO8SB)@6}+;6HlCY2nojE^ljyAbDU@4_oe3^8>t6=&p_{|xRVZ) zTO&kr1O_>N6#Z1qdCTvku3C@QuMbEd#~2_zct^#3P;23iHftMZVV51kgo6yld4o@w zr^58NY{su&Z4H;H$&KxH10yN2;7mIj%Q@J(y9po1UV0&!(;&ybr@s@-B;m?UW{#lu z;lEx&*E^cD3P<^);W_SUY8RmZ%#Ex(=~?eHTlM?%P6`p4op=tczevKFM&9X^ln)Y* zE%_jWd*Q~)mo`#6@U_`k_+`0hu^I))qGI5JVMTp{|0MF5x3ex@2{Dfvd<M$APRQXV zQo{l8tfnG{FzED^1cObyZ<a?4&D9C#@@ist<%>ML;64Suogp&AtLCTOkKW2sGyU^W z^**z|?Z)XvX(g>!;A2dtQjNmDqoXCOo=cmF85~&1M+A2j%A#>&l___QEp@GmtK>5d z3}}cPJDCA*fs}{gqjo1PpVI3G-#@*}7|=7I1N52`qR9NxyWc$bOAo~tY*c3<{5c$} zPvj_md8?oJ@s=5aTOd-Ph74J?^8X)f*L9W<DviI&|Fl@k*f+-|kXhe+T7CBXF+}I8 zXrjQ2J?-E%C)k<Zj0O`Hlm7trBnk;N#FpBd%b!_4vA~cN-@7*&%%di+?q_G~W!2ea z_`<#H4r~KrI6t71+?V!w5KrzrQI7<0sues2jbsV-!wuCrU}A;pOcEOC`+o*$lqPla zslcN|_h&kKhx6XjynnRWT_^qZTe9|jyVod=M^1tQMwDj@Vw^L#uPJx~R#(x=&!@zB zX0hye6qHc6S+76T5|}4x^tQ$Zu=Xz*N|P=1J7o;dSP4z<d2)<?d4-5EB!Yz`s75I~ zM2Ry(aMy9zJ5B7f)C(xGQf2%OSCh6`jB`tL!smD@b_}IC7{Gqqq3gg5Hwh+P<0^6P zlq@h4_RqKamM(TTUD70NvzK{{mUG)f!p@0|yZ#$JbN7j1if#oh!a{uO!G9)4Ey|Lf zev*WIdYhaeUp}+U8Qs09IvuG*qV<!UKkVM6McPaDlY*yX9vw%kkk9l!1(W@w1rTm6 zn-Pjm<|HQ6V18oEs-?@1x@26?O+G|yHP8PF;{N2{2-235g4Z*u!lKM;f)ir&D~%S? zFAN!Kc|JLg93*&f8~TkPB=S#Whx5(i*mj6z&4?5ckLT<DF+%p5V|`N{y;}J3=bN5s zR-t;T_Y0&L81q0$+AtR9mK}2B4EmncL`OVu29>(I<<EYPrtmz`zP+g-hFT_h<}t|A z*o+j?ZKegBy-z>wNt8(<h{r}!0ZkpZ&YoMzZeYQKEoWtS&osGT%pAt3W}xq?ouORL z6`?MnbTH4{Soi|^-MVy${4B!H%=L9wN79Iberjc#ukA~QR2RKBX&yCl32#gj96~<j zBbNKYB+R;`Pii+bg&}#kz>ci3bo?}JnLYE0!<L`YLA;`^iyc~XTQx6vV{85cHiLNb zpQ8xmt;v<vi|};V_kB-$XKUGcAgp*f(3>rld~AfZ{2O3WQpdb!pr8;_eC{O#Y(je3 zKzKD5i#^xE<6V<{$0uZ#bj;6tmR=r0yb(zUMSv8>?|fR@&;ZI$n;8uUQHh)jcVOQ` zh@Tgd|MSve(f$%$*`=^_;U*yMGuseCEXuKI^K$wKV{O<;>-zE^JlGH2`rnDCQ6*zp zEb4a3vS(4mu1c4ZvFq_%)~HA4Bl-}-`$8qsv4%<LT>FYq%R*NeP7m@e6#brMcjJR- zE6T8Lbwg79<yD*SF9wRrr%qqT_QeD70|HO1GF)b=Up`l8bB1x|ev~uE1L=~H8FE=) z1FK>dXg~kjQpSp|q05PPN@GkLc!9Zs8W!L4fT8ouaot<GU>J+?87?e>CKJ=ZN?1n< ztiR~{-I5<clvHujIPMqMfnC-}B_JA%$d(5Tl-_Z63wMh;`V;9H*CjAJ!c@p!vT>bX zjh@DCp!e>{#2vQZ!uOrJ2=XLo>RJ;sBp<Is$OZO}yh%znoxi9&&&}3yGJgO{enH=y zd`bZbj()@+5I^|!jnrX%krHxh2Df1gGdy)&_8h%-@~X^X=r4g&2@kPllJhG_n4Y18 z`>LgIbBpS>*?1mX1inVl6O%<itz%s}dz!Z#`+$u>Cg>h5pDd`E`I7Kzi^(lfe2?D~ zOp`|R8snr}84f7TnCgfS)>|#Nq?$4(xa&Oj9=gDY=)i|WD?KqjfS&60{`#;tUon67 zv!G1Uj+xEYi0{S$)qIF_3_3^zl#!oH^D8N)T;sTbx54;H^;bTtllt}Aqlr&~{gtq9 z+%n1F7F1c3a&GvTH=q%deMo4${c(QEqE$V5?Fo-3T%lD+lg^t;TgL&aTURzu^@_OC zi-<y0AbEDbtwIybs3c;$V(+b+B)8<H=|1L}ePCu@x@(8kmAB?RNVQ!foi=}~J(b;j z0ZLQ(E!M5Ek==}zG}S(<>_RF?7XefVW8W;tfY+VZigvmn81@7LVUjhMSpwX&326S5 zmxY@bLXkgZ!o0E~ghfM`GfRR33)82EdTib?5;AP9_7H&0T(w%hXCYoO!beA9sXT)? zW4sx=B+}y-uy2sl+mdZ>2$<w0e0eBH^*Jcq2gddH1q&jtdXDb2#E4iu?$LXQ%KKPA z;imIPZZ(Nx&y?Rbh<w@B>ZdskPuV4jo%>iYVr^}MMvTknSaXNpg+~e^-=Ry`rSN5( z<~uZ5omM@u`{?-Ox68K)cau%Ism61=v91n6>KxnR%93@i98vKh_C+a&9<U@3>9!tz zZO9OS)QoOH1nA%MJd~fgA6Rg1$aeW?L6@CYvw2P6``y!THlGNMei|Vm@P&n=M=%#@ zQK?;>paxi&6G^x^6N-9Jcp=R6Ey<<2YxQm5?}wM_Wyv3*`=eX>cR>nnATID$4b+~4 zFs&}Dd5=#{$+QI^KBT2VAdqqQmag?>1aTa4L)+y28g7g5GfRr(5)PVBR7^)gE)6)& z9W+@ZkZ9@}R6GeRtjbca+FFD(K8(qVq@<T}91GJUf^<_rLgl3TXCLq3>iA@k1g}9= z3HmE70%^UBLMA??8!FCpgcT>c1_tMy39w}Bet3Ntz*%9Lta~d7>4x0WTn`Wgy5lg= zcp07=+>Fng;n*y@EEWLpoJ7m}Jy&P!yj#Dp{%2~@*-)s%pG6@jZz(~{t`UZt&ZMJ{ zd7gfL@W>o8doyI*+q{5N!cvJA{tlf4*9U;H&xO17Dk*1foJS|ihI>le_keEGgZdE+ zR{aNCE^Y)uz4I8BefY7C^X<RcF<JdDwF0O<vp8>S<}{Pu%K)L2`HIBph{@ixM7UKT zqmmjrxJJarnAH1*d`XVx87Z%+EKy2gfhi<v@1lwkF=1~t`-oLfs5~vuYO#);Y-gnN z6;sd71`6x#K?5jv&XcRc)rdh>5cv`{9{-?~+lFa2o`(}Y;{%&Eb5WDSVM>%f+)?@F zJP<1;VY_lCn&h1cNbIn*Hsznm4xTK_iF;mDB7>=)TBF~Suq{0%8MNxtxb*L^s!!n) zZ;qC(x4!}5FtG6S@j7<^jzRjDMjt*fBYUQc1mu<lA-FcMp$XT5-@VA2E`&(AfzsCI zF@?C>zGX^;!1bxtl1lr0yGAPYN~TlC0tZS$7pZM~<BNbJ|BQ7P2?X}A%{qKw!-2(Y z!Ctz!>b1^eR9Ohf>tioxY_~IM_KYtP-E2Y&H=`YQ85mr`U)D=V%3xeO{7TP{R}LWA z*@M`xh_Qv8u+=0Nqgs3Lb$S$(dEa(3X0gV+xb~+R9Nd~YWrGnKnJbCBEa@&HLt37o z9RV)f;{oQNFr`z|eYg2f;9)Y9*$aa9+1*P4%N!-qD%}Yrz&Ivd%mIH5!cx4Lu|7l$ zO?Q0D31Qwu)}tklf&GK^3!$~7-jZpAL?D1y!1}P6qgykV-F(gqlXmC)dT_N{M}E!` zbU#NJX0-FoZ2eU5n~b#$2_*Z9-ucl*grCRrn3omdxAI?3?(!|Fh!)|)m_L_n{qiVb z;Mf_T1eXG)S+uPoA%FL?#!_;q>EdF8p7_UPWZLO8P$c4ngH`9*I1J{1KBVMF<~yV{ zZ$kQFO=tIq*CW3_HnkNk?<44r#I3A`BY$t8kBe3c+~8~jfmJbpZt}38d!@s{%XgtL z(S+W|X}qo+I)qXRB0|>MEcYbrYS{@wHaQ6nt(gOHjt{=Mh)R?330y%r*UGU3cBT&1 z#E|ZwNb9Bhpvi)pggAuY7DP*1Cm7+3T7#;{@$@z+zJ33_Nsfgw$}dBElhh^f4vcRD zqDN!*lHJ<4i|yJjfmHmlTL43|H+S&su8_J9tR!=(zHW_pkV%S<uN5N0)!`_tnrZ8} z&aE<`7_5C&_E5mSxA-skrj8AaqUL-+dHtGX$~?Fc@Nv(CAnd2XlcqPU5MJlkg~M@T z48$2?Y?v2;`M>)bX#!Z9P0%0$WDL(L8Vwu>km#%58#g!Ku+D2As~o@>F+v*QPXst1 z>CIE@oCXJm6=l~E%<kz%xr(-4t-aKZSekNq$)I1&BF<2;*z$!I4Sl6Gvf@i<Rxb^i z)I(dm!3!t$`tBd(e|dAZ0F>rLS8GK9*zMD9H<H!4crsl5tG*YYsKj!L!@Le3DbPuu zd3R$!6GaXKZ@`QA5FPDZ^1vq`i`%4=gNv@Yg?D@Y`is(1(xAPS^ukdfEX8k~C(j-- zW0fJhcI>eFplLEn2!L$16gh3$cX6}Y(1ylS^xoH_3%Z9Zvo4B7R)biB?nU{;%jS(3 z?&e%8s7X*jH*!G_g>`#{d4t37>oDU3r8?p=HC)|H4o^%Ak~8>Knh?@a-&v~G-K<*R z+)Y()YCeYj-WedTTSWwEO33x(xfuiY@RohwJS7q0FhcUSIaY?Dfhs*CCcm>8tna3d zg?$tf*yP|({KM9dA#;!OKQj815In3~AL+yi7>*Ai_kJL`#9;?<#;buCp(U>T=CyD+ z74{tLHsw=OwdBCUK6S%PdPpeqS|)<jtD*_P08~$o4+g*Ge`PkW+pYVEXq*<Ea<ZDu z(<(}MZY1_W1~cN#JDDplwOibBB5fzs1SM)^9&gdTc;C_-btHBrSwdNa&!8lx-5)8D zDgcT86Hw3Qr?uyv`9bv(b42bVs*>>a*z9RTN4N9uhkFa;cR=Rs2kCeWAJtt?YHK|M z+4Al8@c5irI-d<XXo@cQzD7l%=dqGfQp@Ud*fS{)%3s4J+O3u<Fut_k*tzPLJbReW z1=xqhtU-aM_;f0r_aL0-nwYTnfhHc^t4Deg30kV9EL{)uUxkm~QxJ}6Cxv5IK0@6A zh0kvf`)ru<jj4XS&!KzRgq;yYb-#8Xp1Q0U`yNGbtAv5%XauHu>~Hsq9=A4mSxU3G zZ#B6|-5A7c?iV@oVZ>I>DA&-w=7lRCG8979k8hOi>|bQZi5E2UvmS<NCw`~5&-pDi zYIvDi(b<ki>OhIT?pY1<?DL5Pr0D<fJ8Un%@c03i#<2H?z`{<Q2h!gDj!>_A^W4i7 zgOlj`=g-y5hRf0Xx#?9&+?60ml7*9{mScY+o%$nN`PXwiSl3D@VhCsMJo*b4Qe<{D zO6OwNMKC*}MLTH(T^i|-F;!l1ndg;tgD{ghE6JEQy#`F*HgN;N2=vBr5fZ6zwWB}( z8*?Hl-TxarWHW&}Q$dZH|G-`|-Tz6s#;t+YlpT!U_n!7)XV(kTRdWPYbmGB2A9cKd zkoB<fd{|kz6+zsCEq|+M%8%*_x}BCl7&Bd`%xFrQR)g4fAbRT+3%ax10r?Xd5^SOt z)>-@Pl`Hp&>7S-YvoQwh2O~fz>;-xih2<!ZI(WECb2Cw2*6~sZa_?c3?JL*{Yanl@ z!wuJ=xIrU|>Wd`*S8Rdm*u%Y{GMnt332)FXK&DM^y9NuF-Y*SFYn_8Orkm5D=I}tR z_Qd~63U4Bm&9(jo!Fq-AajBBbchQyRo1vGVTkt^~UaL8Ct1;7%VjKpC51~IgvJ*7< zJXuhh1>0qFwoHURPSEY}&!Mj;&YcC8B{j~=aA5H&k2zaaBt9!4KSmclA&&bn#ycLH z7kZar`iR%d=Z~T&SF+MU$($-O%hFL}h6b52F5}djIqx}mKSW))^op10?GIE!B&~yW z_@GYL#O*JPAvs3fTtX_2`8C(xWP-89Z)(B5krYAmyP&`>BwM(*51IGLw;1D~px7!d z4JLToSLE51hZ2fPp}hxe5QH=&IOf<D-0cSY{~~2Fc1|Wo!hmHH*#%i_`W-3Z*Yl6H z%fE$;xRl1&TyFZ&d4Fkx*4A-|(@pRn$Xv(NDIQka!EIEEWu#0?UqVAN#+vH_*fT8K zu&p=c|LPU%kU`p_8EtTak@>Cu9(%9MIyR>@LHn*qb9%SmtXI)0xa7i+N5}bzX85|b z`i43UleVqT<L|;iS<pu#%1(uLWUDS=S=a313^YFckRYiKGtlc|<mUYXNZ|qG$S!`T zdy@+eE-m9g%w`)QWKf!?pC~12VoX%t2v3$oDQ8Wz4JLPN+a>Som!k=+x6(`vjpldi z@;FlIAl)r*WE^S6Ex;E$-V<*xj`U_<r^zLy5uY`U&bY@mBFAl2zkZhxDVDN0mBZsN zuf9Kt6a}6C6G$fkh}RkMZ-Fgj<Y~YecTuNVSj10;FMToYLNu{lp^oEujM>jWN|?n9 zcab%ERBnqf9&BOZU?DEH$CV6&V-*-waG4r3y>ea&cpAGRaSwg-;bko6v@r`P0-gs4 zhpHtEj6?CUaa-zESPM$3n^ZYw->Q@NbMYa8&`*L>-mRZR$&eoM4N(*(%yk*zz>e*u zHbs_$lm1xH#Vbb#TR|ypcZq0QU^A2L*VC~`m!iDaE4)k^K1&(MibB8f_73WGU<X4F zbLK#jFBw~sFBOQENA4a2O|IU>EwF8B@E<$|U@H~{#}y1cdCjjGCZD0#Myza7MmkJ% z{s7i$2H!SrcnJ}JAHQ+-_jR@i^kGJl_G<651sNVCUtU!fb-3IoghdH+Ova!1l`L=y zUs*t9LVkU<ctYZ^8L9W~>DO2-@yEonLwipmmE|ckEoR&N^=SU#9Bj=~&8Si_%PdSp z7QSu}V##_lQH^7s{2?6;qN|UvY`o;Tzxy{@`)=9J*lc>~D2vFvCJWl{F?>OQ8!{Bi z3wezjEj#$VYcQ5!F6a9L2DuDFdM_-aF=^j3D>e!r;JLfBo8V9aa&N5Nu_i&Qfcrzr z#f}pLxB^Q-kO-os4tJ~McZa@^K^|}CZP1@zx>!04N=NFVp|Eb$An%0~DW;dH85t#J zDWHB2#@`iuui3#Sa*N_bCc35cV)mY#Z{KX501;$IPXG0;(un&0E03XOCOm2R_kMH( zQJ)KEJaLarXb0oYJ>7z8Ng7I97nJf7TNlVHBC*VcW{qr5!H;l2YXT6H@8nbJU}4Bt zb|+vHPS7?JAxtl;DEe1yE*S|Vv>?Rg4;`i$v|fQi9{mr%jY*s#K!pM-!d=7t?DxuX z(wgj&GAvu=+XvlYR6;CYfv+)Yjk(E#G4pUri-`~Q)P?|JlPK153Xi0D>=+7d+ffcP zniu;lcF1iLQ`#(nT2mD;Y@;M{t;H<Z@}z!eb!djc-m2eL4VAU!P~oMl3c3%jQ$V5t z!$LEi?ORPSnO|YrXiw3l&ziOm`1Yqy-EjP{FvND5j>g;6wHtf!`7&KAYbIe;wzC5} zQF-<x5dHup^!lc@0ktaz@N3g{T}5rwJFl8X!_^NVa3d6f1d1xZrm`L$sjYOl5q4A+ zmR|=CDo7w)eg^WV#6aALwv#xiR8J)hLy4^u0=uzvNI_Qu2VG2^*I2kZm){Md3)#+_ z9SCh&6oa)AgqyAr&D4JI&^>m30cB9Y;QJY%Wv_8wViu)AQfWx@VN~v-3j5$@3R--E zT>Oi~L8%WbT!Fqa!jytWmPVGS1!Y${zZBy&yVY4zb@ooPpkq%AR`vs&ckAaggvC#5 zK^eM%?jJ+0SyC|EnqTJ1pL*Xs5Eh5MN*7aMlHEnPd3eOiN8sH$uQ%mbjZYk3A;IZs zMfVw$@vd}ut%JyWz+aWS(`FMC$|HvFF*FBrJgJqNqbHEW=eAT5BZTaQ)xH>RpH&lU z^>9o#1jZiJoj<l9Mrk`AOfuX-7Rz@m+tDRPsFDxq1qu=N4JlzBRi+MhKZ^J;t}ObA zn&;D^>6A=sICp(&nqCHCG;VnSyRGyM?~&c>NnS|A<of~MB3%sucL6+Du1<aAn{Pjj z5=VLzN^|o|1B;s<N`7}}#V4Jh26dD!9U?kyeO~65dfOXIZSR|{%0h=6mODFaFs_H` zWs)j_dr)%uvjt-01OR~uRDf1?AjRbCKWDthV#sN-s6j)z^)#jSE*B3lv=9DOOER%5 z6}D{R!XF^|7oDucR`mikyAL7#ZfVMNSIlFR)2@zP<jrz)Az$o-^1ML+4rrRjvt^Iu zI2e*w?VfYCRCf0GdF8<ualxFQkZT%1x5Iy|<~@Q;P<v>9lr%Q?OIJyivT{mCWk1is zTkSRvT~ZwWPE$vY5;UZvxz-K5zQFHT352oy|7&V|T$5EpcDlO8+z=JN<8v!O**SH) zrr+9$iNLYXxE}%ge;)t+`}gwYrXLpWo+*5A=H8b({ad^(mam(BG(s$M@;^y0)tPx# z-aD=xPoGram;L<kY`)`l_3vD7$(OF@Q0;zGCcY!2>`9nG%?ft5t?F8_vl*mU_cjOp zpA0-`?4rxf4cUvP71_BOTmFoCF1+jJ>9=K*3eQEksyvJ-U$1e^x8&bR)*m%RKWg^> z|NG~M$5$`cJFVwKG7Oe4R}HOdcbXe>dhdMC`Ky5=vkMR8t$VJjteLawRPZT@<%`+u z94Gp<CGWTYu4LZ1IN5(@)T%GFhyN(YdDvAcSWi!$@Ok6LTOaP9Vc<1Wo#Pzre{;jN zp8~+H^!}s$&x2Heec0eY_4`Lcru2qAyHXYYhF$2ubC3JHho6_vw3{6dJTZT3d7?t3 z+?CM3h2@g#Z{C^Y5Vrc<YVEbGGeot2Cw{Oze&>NfT-?KQJ#N)--!J}$)MKU>OzVHW z_nxAsw!_5pVOQk~Kfm=1z45ZQd_~fM=fQ{7YyIl&?WUQC{yDb()Ya_#)w;Ltwyc#} zea*k(vLf>>Rp8|b6Cd6S?0RMQ{p!d0kGI{KX}9~e@t;|Lp6<NWFI*mY_)+}++y`I1 z>+6%}9QpUqdF88%vo4-mRk6zWLCW#yHSez0HQZWpNOkE#<t*(VbAD7md3Z`retz%9 zhv8QCN;OLgOSUvEv1;Uf`<c0(BRaL`=OSg<x;XG|#^rSvFLgKqTYvBS@4sz6J3VjX zY{{ExpEtx@*LM0<;5gs&=t*9sZ>)8`+Zy~!Ugb|}*RJ-t{G7RG@{e_IZzbw}F@N8} zG5_F3(Ymia{ITJ|QfuE>o1Uqh_dvTHc-rR|&8<I|?tlG$|NbXACk0q)qmC{$Jb&#+ z18|;K_WG|CD*NZp(zi+k-ZVG==5Lv-J$UCxDVe1GrSj`PW5dZ{#$4Tb-x+|w)78&q Iol`;+03NZe(*OVf diff --git a/docs/img/074834195e0c24213cffeef5ef08a9e1.png b/docs/img/074834195e0c24213cffeef5ef08a9e1.png deleted file mode 100644 index bdea937f04cc498136bc286848955e9187262bc1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33513 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�~RO+u>* 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 diff --git a/docs/img/079efbfe641967c936be8ed9b033bca6.png b/docs/img/079efbfe641967c936be8ed9b033bca6.png deleted file mode 100644 index 14355dca0e7cf644f0ae8856b02b5ce380406030..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15941 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 Y&+M<O@h$YY`WH??Mpe4<lj+z00z5u|u>b%7 diff --git a/docs/img/07c2c84efb64460dfa2373f1f75645ab.png b/docs/img/07c2c84efb64460dfa2373f1f75645ab.png deleted file mode 100644 index 4669fb5e6d55b8e73ae251ade310fd97b38680ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1584 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 diff --git a/docs/img/07e4663db45be7313a205a17ec342edb.png b/docs/img/07e4663db45be7313a205a17ec342edb.png deleted file mode 100644 index 7eacb23acc712246070a63ebe84855b3dc50518d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27091 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 diff --git a/docs/img/083580c1827d40263d500a21f072249f.png b/docs/img/083580c1827d40263d500a21f072249f.png deleted file mode 100644 index 7b3732beafa2e2ccc2b37268ed85347281522b12..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5102 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 diff --git a/docs/img/097706015c4d2abaaf34d0782cfac635.png b/docs/img/097706015c4d2abaaf34d0782cfac635.png deleted file mode 100644 index 5ba581a1e2e99449a88cb74ff0932f7960b50f71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24282 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 P`hRpZ?}N)U9)<iL5?E*w diff --git a/docs/img/09870a42c6e3e94e7553f338a65c0b6d.png b/docs/img/09870a42c6e3e94e7553f338a65c0b6d.png deleted file mode 100644 index c07d64ddf91c0b2a4974b7eebc6c81094da588e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5220 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 diff --git a/docs/img/098a5864447e44da06b72051af59b294.png b/docs/img/098a5864447e44da06b72051af59b294.png deleted file mode 100644 index 54b8c2fbf34179cf4833f51420025d9eaad9db3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1511 zcmV<D1sM8?P)<h;3K|Lk000e1NJLTq008d*006TD0{{R3lM+@20000mP)t-s=jZ3} z@bFDdpm%q7$jHy9r?EUdgo}%s2nYxX2?+`c3JVJh3=9kn4Gj(s4i66x)l&?-000GY zNkl<Zc-rmT&2yqi6aa8KV7St;3D+b$GFL6Iywd4}TqQ)fx|Fn6h=TwAzHTs+%_KF^ zfw;BPZ6$uB<>!06MzmhEn;U$JVQC6hu!0q=U<E7qKLkIb6TzIG5O$(>XW8rahLiUM zhkx(?K=}1f@MUQ~^#+qRW`{3-g2S@6REK|GteSi0d5%eTn^CLIsJ*^i;c(5lnd4i& z#SeVcDNN80I4Lqn_sG4zSSKrc?W}RKbt@+)JmrWl+^9=9DSyB&bt&QWd^w1m++JH8 z9;r(whgXmWoEoT8`1%DV9496Gx?I{W2N>5uh6Q{f>e|h=xF^`=oG&FDu5JY!Ryn{I z4NRVSr>PF<*|pOY^W}Q?oRbXT1T=szvL$X){W!nF;dM_(F4(Z0$%vEuIlEs&3QC-e zOj%q;wy4XVVA!z5?*#1d!d<N49>r%_yPR(M_YRB8y}9`dF2(y3A?<w~s}nBA>V3D) zdxOcH9PhtJ*;&*ZtWJFttY8HzSiuTbu!0q=U<E5!!H2{Ct1mj^4`)^FXWsF#@W7k> z_@qq47Z1S;Y{2F9*wD9dWYHsGG7IjfFZYIWGcR!ZW*gJ;4Qx%0PPGo(T42-L;wqgX zZ^l^UI}2|PDb(*hKZcBKarz*$Vi!KPx0@|~@Csb%6f@>MjjecwY;TGVgc+5gXffJQ zJ<=&Fknc>5DZq@Tu#b0$(KvESnU5W|r+5d`cet`koRSF{JB2x6$czqzW7JfL9>GRS zfGHH$1jphb0b4$H$`}!mQ-&B4F9;*}sfdq#0qfKXVsvn-<x}hl9=?W4%#1c-fb25H z60TqtOl6R24^=>q1<YUz=4_6SNwtKl21YNi{stzV=S>6*u`+;}8SP;_*w6#vA?&<Z zD!bQkyx+%7s<8pEQ)q^7Pb>y_46x2<o9ej+&pl!}`LeiV#DRq20k~{vthL1@BL)HQ zM8x)(Y{c{#6o(;;D?PlpngfVfA0lFVCSh1kn9Uev?Q&ug7UjV10k$?%)2}dO+}gl$ z+RV`4@a2Tj=Z?7VJmZ%~%bwmOEIm36>`c}Bv4Rz>U<E7q_hIcc<8*NL$3=W9*u7Dy zR#mO4TBW+Lst%X(s-AyI#H}WV*@&*Vdj3kd9Wvsq_o@z;;Wzi2X1d?urs0m<piX&_ z@O<EA^L`@^v&T%UtGWo6XW1hU>YF-$$ezN{<Em$PWpLQBMgTXL2EbS5dXQ<!l@at= z)k4!i<0H74TxpQ%xrER8_n_y91#CR?s~316U@di5UjW}}=gWPn8~9Eetb49%0rN$D zwJ$D!4gQpj9`i4V_yP9lemMcG)uX<b)4vAPF%Pt^$0yD}&a$+J)09s{OzNyqXCUef zM4eZws#dA~GpkyCrKn&9D_Fq_{y)KO*O)!&4jz8k+TfwL&0F-BU1JBp&POnrMQ`8_ zyK0V%STunRyeSqfH=>J$Y-HD%^EAfJVpB9-V+`Rq_U<QS(@gFH7ENF&Vzk0esm}-F zA^gbZEgv^cKcZ_4_DE%y_C%lSa&i~2XyMr*EF)$Z`|Vy&;o_9=OLmRf6EYSs!-Vco zH~UyLf$6gVi-=>-n-Wj_x3%SCok9VmP1l&^0}HTd9~6^2scO*#b}##+O4){K#06B6 z=Xs@wxa}HChg86F0!;1#7ENFXA{P-u4IxWJi-&V<FcuNFU1N-4nQBBL^zl+S2o_CX zQ_(GkSg9BGSPw+M6oVHq6%n^xW5X%7#{(#?W^xz%STuo|utLn)LM$iRET<j(Efx{) zyT-<tw9CotWI26y9C!5ieb{33H1N<@@5c&Ou!0q=U<E5!!3zEv{s;Did8F0+!`=V@ N002ovPDHLkV1mO<({%s< diff --git a/docs/img/0991c603daeaefcd2df14e098fa66ea4.png b/docs/img/0991c603daeaefcd2df14e098fa66ea4.png deleted file mode 100644 index d63ddfb2a4f382e6b171102fb15ac08d057119fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27535 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 |4hT=gOs&rDiCYFcRHe&Fp zlran=iF85oe5;_OCbjK}`Cr1e1Fo9*1d933jD}i=?fhvQh~GuSVrk;Ao=pgd9HI6~ za*sExY-jk6;C%;7V6>{m;x6kfkQfP9D^3cQ`_|QZ+L@!fnCkUjj-uwQx6D~5F#{D* zAKB*>By#kt)B3yv#H?F$F9peNBe+E;?Wv<!(HjUc8P<qv9-QgLd-Y<Otv&Am-+RPc z!+f5%g*W*b^BS{9gKpU#^|Kj9LTwerInA_t@=trxBSN|9fj}OU+rQa%r?m>?r-I_< zq>D7G_H_7-0@<}YR`ABDSel2BzU6}}hV!$X`~do}`>C9-UndPo*Gom|qK{qQBewpQ z*mda+Xl^9|5@PoWhvZxedp;Mi?l-2VaZXoJ#7pC&1;Y1Q`k}|(wXOPI86i!)IPo<V zvxg~PMk29?mFui)$}gX|%YCc-36=Oi^l+Lx?1Nqb-`zE~Yvv#ertToglSIuY7e&?+ zxNO9Yu}=w=Ox`iCS<R3J*>*S|AxBwqbkk?MtPhQ$7T`lG?xs0$u*ziQ10aV(=06m* zaWq_cxW$X<qhBfNy(4*ktAOgtGD6)GZKCjJp1IAbq)#mQ>#7W|0+sX%mOZzG1uOFm z*0Be5;OhPP<ig#cg>Mh*DE7oKpL~bPQYUAt?&YzEg}J?E7F6)OoUHD$mXUmelAo57 zsci2*xV)Ql_R{6d_kitx9TywwB5ZG@R{c_`=Ff~kBp$Fl`ZilwmM=H@IC{XLE@(kS zDU$GWlar6JjV|-<QjiQ$`;5dDS?PXJr8YQ@Vor=KEcwnM*DYhKtG=8j_+jMBHrM`) zi*Vuew2u$=sqMDYZ7FZEXV8k;45cDXO~xJ+{C0vgUcRXbkajK^N+={J%F)4=AMQh8 zN5cCBz{#SQmO{upjmk4LfG`TCgYU+tY-FR^J-;c2W)zp06@n-smyDnf14e~8&C<Xn zg~7`hU+>iBU1ocGo(wD3q1N>jU?AlTz@Q6yOas3c&bEw$3g~|tYX5B*#od3OTk+4S zpsJZ$XL<c^Ei=qY>A)|u?9sf2I_En<f*y#2?|!`)-MzjpLcWnYcyMrZlrd>}QYYM0 z|FrxLSLT7r6Nc0aoaX`mov$U=GhpL^ViLDJ(CPx>WuN{8PchQ4(Kp}iYJ=QC*WNis z=bLlgKw3yI*+)$-AegbQqTfP87_no%yG>W_Czyl`MoD%+_qbq4-m0A3XBzj={F0Xh ziT2yNIv2its`=$2_Ch(PWe#E+Hwv;{32RY6<G|B*P=0%SeD*X_=QCeo_3VH*H5GU_ zt7eN%-POn)Y{Th4x}#8ZT^YY!#(8<$Y7n#7Sp3JwPS$e_Lk9I47lS{hu&2o@GlK4a zOPaJ#aTD^kt?o3kVOLFnn3S^am*ni!jVx#Qj|?$hhM=8e4W69>U=t1H_&9p$_2|_0 zBE>>w;FmaI%^6;OHma&XSqEm=aD?gJw3**|3`6cEM}E~PP>aAo+|lKAa|rk0w0$!l zHe`m1nm_1+i<Dr*Jl$Pk+Xw?0T{&0&WTo@$;%yv-rrDNk!HQ-JTvf#lQjLc0cP(B8 z8C?>9Dsg(!6Ma3Lr3a+_efenmWDqKQ&?N}y%$||E1gl^FRP)*<((03DGuEu40rCL^ zVGTkvp={I<(c#cw2On`lTNg{bb!{i)=*}?M-ms?*btS(`8JuK-+l`|>FFXW$40@AL zzjP=y=I?)}<;}^c0o?pP$+>nEN)mzJ0K)^eHsRY72HsKdSk9~PdS_5|W3opNnfzQx z4^_-=hoNnGgP6Sqjx>>R>|A}>A+=B(8=R31_lh9{8UT+V-$W065tkzAyT=Ca@Wqew z^r-{XnRa{G_t+RXrGRbhP07V~eRf;NJcH2cxlp7#kDd|CEy6WgA%Y<ddH~OfV2^ls zjM{e7AV8YBD`{41GVI4QFg5wdUzjh`<%Ge}$5ywa)PNT*A3Si=YQLi{ISE)qHjz|m zaENaxZ+$g#5caa_KPY9}HO@;mFBg$ED=&#Wo~D?wkS7^cG9Ag)uCb@Uf(G%;$A*5u zS8EdWmk4Z)K5p_U$azU;MD6(jWbumf(1zS)P!;G#6n=F-Z3}*~HNw6K6`S3|{}(6k zzdySFlA%E2??@*c!`yTT&1xhq)G3qfvg_=^Gd^UVAo3|*D7re={l4#>w`!`&=SxDW zEk|O4il%p>*$D7h@aETTm6PW?U((O*!9i#mr*$8rC%UB&e|r`Y2G<}UmdDitn?579 zvQ{DcD)Jd<OZW{@6s}!3qyt**u4%bWig7o551uK<7T7}_rn2D#Tc(WSd^BXDj<CLa zys|j1m+0}#HH6tkP8z_*eqRmep-2k{^9SBRxJy_WI#@^V4|&3i{?7i=WO0R2ui%Ef z3;XDl@-pb4M`L$;l%~J`x|UA{Ihcr;@gJK&r;%5GovzGX6(ko*3Opv8d4-EmX84Uw z*By30j>mU=%~a!=1WTcp(Z{F!-<3>V<wG7{$+D5LLmsI0PI#k?2hEh(rn>`rRnnHh z0!!zUe`ATlD+UDgHzJVVC#ljT@G~A-LYSwpqRR6_jI}2Hzxw2uu6wlNnwdj-S}SK@ zxxRHmen;0PJw$|nX+?#*-h+y7D>!oKj{}boae0m8;R=dM%?V53)mn~)@#i-F@jLE^ zrvA}zS>=w$++B|yiI|8X<u%1d!RZD;RFb%&+}bkx+70&hVb`VDul<KJQ$s_;&ZN_z z5;#lCdm$#p#I6E~^JtiUH+R4s4Sd_KSw^OpJ0Wvu1guAelQeHjY_M4r8V(bWJXqr` z-gNbCPL_Lr6?iP=GtWsHQd^9yI04%h(~1j95)nF;fnS2jdR#V+`42~10rPX8fy&5b zY=Q}?S#7^LZW~f4(6e9mVBTdU@Vz(JT`<G6nzh;4#yXg4*<)g^ssH9<X+Y`D>+QFp z)*FwK8h$Q5<$}m#!#(L8LZ-rg288U7Ho9(4CpD}Fla#{{KS-8O^lu|of6G>`+gq|I zsVG7BAnqD%e6g3@C?aIZz%##Ia`{5JAiu{Sbib!WzQOl33`NcSF^Ga6-#^iAh0gf4 z)I3D5^^!P;xpjx5wro@w;_aNby>!HBgU<IirO*smOXSXzLL<N~Cc8m2P4$oyR-ZNa zx8rS^ghq~?upZ*<+XN{k7i1C8Ca$lYH>CO2(Vd4e_9wAT5VKnX#&$VL`_M&*(B8w| zm&YugS8JVuq*mCGOxN8Qj1CPB=MFz&9|c@QOE=5Pg)s^?k@`ywerxp5>k5eUY?AoW zVhAo=cO!ZrU7|RN+Bcx7yJ(h0bI4yUET~o?dEW2O#e)K3g=Ae0l~k95@eHe(No}K4 zpA~VBqu5W&<!fQ~H|0hxA{A!{+C=L|NVsy^h2h0?y6wu6h!JmpXV##-XnLijX{LjL zMKZ#~*Z18|h1n=lzs5xT-WNlZ1!ZpQsJ5!4IgB9@8g1p#n%*<3as9NbbItwm>!0!u z9ffB(;m^<8!t2Lcg$}^}o45!eETe4#P&|k478<+M7~9cC7^1wBJZMAMz}{Gn+>c1# zEbT;G&oo!Tc1KBcZ=5ZB_{0n}TpAJ(19F$))%upzNO2dE1s$Bj1D_yfJLOM7{1{oJ zf{xqVC)>*GZ-mllb~O6r|9U<x)G?L(bM(Mc+r9B)1Qs1FqV2*FF$cV8T~J-Cd@8zM zV$mnp|1G4iu@ACZ{1G<^(=heW;y^Nuu^1fKL;#0rZZiQHIX&J;Yuh)Ba1JqmI9Cf$ z7GtbtA=*T7II^oHTbQL(AGEw!m>_&)Z3hiKP8z@R0-u0g&?}LHq0LZlg~o~gVj75% zBQz60-T?0n$2%a1c#8omLzYpqjNanGeT%}DSClxZ@;Ow=PZVlNn;BniIQZ-<t1p#d zR1CCiRt&LHoMrxqK%Fsfh-t>;lCj)oEeVsR?n(Z|n4kkEt<xI@u!KpBR%M^Hkra0Q z;LU7c-1LRAZ8<e;05_mo`3yZM9(KH+yrRvhk2C^Nah0o7)amZwi5de8@aI%6rcKFK z(jY)i5MwuuxHfBQ6#RK^>n)>ki#^N=S;6@_MihB(wiOx~EOT_x34AEgi$5*^FWU;O z@}6mhg5H7En98sMSE2VodS3NErhpgxL%a@V-)c9XjhUM=r(<V>)`X?=_|<O`DVgGT zTm4W)t4D(CQ;a7LZ%a%3R#G@F1)qw8O)aGN)x}y)&O$_5f92GihUByh%C$EY<C*s# zX2dy(@gjHlfsPS-&W};p=Oj*~I~68-unwjWhVBqWZuhO9YKVr*fXw<a@tmQ26<Ji} zH%9`(oc1D`rrI2P$U_iDz}-B4F?;^F$0{c_>nl@&z-Eg}b8XImxRmx6x|{-xDY69d zty-Y+U6|WMWr8)Wmxjz*ijp(2mCc}x%dv7f+vK+L^waL|H%YB$2(uCW5G!($RT~>9 z^VAJlyV7y3wvf|Jyk%$IXO}&0*l(q?g!qYlHMFg{^13TXRMWKl$eNc9Z5;IKD?h7& zHF8>CCoQiva(-(8_$|8YAwUg-?GC@=8>P9xoBHB9V~KuMAI$~YLsA{mx@vx}cIy#; zgvToom`H~m*s9fE(o+)dx&1syYefEekL@fU--s*nwflOztwtBr-Tx9w#B0@%)8B;{ z^|L|sF^Q`4g^zHCPIdj1Ct7vexj+3=vg}*Dy>!C{*3Wo<Pl0El_K0okhUdi_Cct%p zi0M0wB{lm+hdgp^g>l*ep@e*ey>afgt@;}V;yj8X3u#J>UZ%2pvBDXdZRI^p5BW## z(x4%GK^k0^x9jg}$1C*bt*qtgTyQ^kh5oj|``fG)Ds40eLmwHXHTT2wm*tl*H6^Sy z2_r5Zfpm?euO^ey;u{6hh)I}3X(5kSBZqfU;Y$4m9z)&4zBAY4@rv31$L?NjsV7B* zc$wVlOm7b^>M6&n&hhA~Ji7&Fd2U;->^oj=m@#il>$GQHO90iiU+>Gz41=R+ls|Dc zjk$R6Bs##YBUytO9pxR?9*rlAfASTEM;3nh0$*hWC97>m5^iL<;s`nXd#C6bx_H8b zeU3b~8fgu8qfXgSUD@~Z@o<VGvgL@UY_MRoqE}=?Y>zWUz=Gvn{6Br+e~I}2uKM!- zw~+zp75HmJl5>Iu?yZ~!UDL0E?|JW^6|(F=5bN;A2X!Y~MkgoUQIYgVvEt!nqYRD; zZ3w*5)B45%#y96W895b$P6Hofys1IQrDc4b)JQPw5Fg`>E(7hKjz4eB?C&07b_ux| z8_M-912_l0mFw-`8Qbh<E|8xgH*(KIvT%P9xf~bpQ>K5}hJhZiLvC{`GPr94{_pE+ zSkTGP0diL>{&xTWMP2>p7<k_XH?g4j4tiw3@8G@%?*Dl@BJ2Y&3jymd_Z<OH3If5= zPxL~T`Q=gUku8E`+mwy`MlVC|c%my9;6V*$ek%j@ezJ3lIJSAJ54q7RL-5&4QQn!J zn8lG~c&ANwaH}!>?m;<qU}y;4z3F3%rj|IStZD^+hoX+QyQ0tjf{^=DE4ugR7oh`W z8A76aIB?>dr%2I*AA&es?(dMkdacT>m}lX(hCf=al?9tc2Oq42(D1(Rqfrt*337RS z3&jShMxL~6vUdwFDX&sDzn%#^;N_UD;n?LpCbfP&2F2q#dyU@AaxM-uVkBC6dqj7p zc76xFIVt@P2u}9?q1>N^N~1B1#tXXF(oOfSKk*|e59!FB{5<Ye=~<(=hYV1Me$c%U zo3-%zWELg3UjSYYom!pCB3o1Z*~q@iHP|G5eWt9tTN?bM{JC|ffNbfoc;=WGQmzs> zc#=r(+aEaeJ+0){<jLo`e%Ih!u52IPDNoQf2HHH)sghsl@Si?vDcmC-wun-182E+B z<et9~n3`D<_<f@*Lv$FGcFU^qgqg5={|43dV1bi~!(S))iFmOCtI%-X#-|~tTCX2X zZ)_TZ(O!1I7Ac*x>thBZBFcgn^iqFPW@xUv%yVv1yK78Bi>`N=M9T;7l!eSC8Sk6j zTsZkLx}1P-XPSZ5tde)XQ!&X<7%)%4eNFg{=fAGExs&7Uyi`SQp+?y|pw93^!MOUv zJrTJuX>u@1$8aRX&G(b*C6Dmj+IU_2=eE0yGH3m1V8U{|&?5M`w?v1>g+yAjhAO=Y zbC7Kq;v!3knMGLT0>>N5PVr)|Nd4bkJ4FnT)*)Lormj~J6qPj`WC-z8CHfk?p8ukD zWgQsdNyy||b=}vAJh=~NJKskTJ10v}{scVm4u7NZBD;SB0(!Mv+2JXPdY6shHwK}? zJN!Y$@);Y&Y1YHg&@-$l8(o$lN_Rk>qCclEdPV-b20R5UK~{XxA)XmVafg+4jqfoj zdyncu?lB*>L_(9I%~q^I75>|K;CFMZL^@-<1%{2GdFDEHVEmQBkS4agzuQ;fjB5lR z${6Pi_WPK8Ib^6nv+Xl#A4Q}3)*vGXdF*HT`+n(u#v$Fy7wyAOwos0@$tX?Oebygx z8gmrQ)D7+^p!)&-v6CcaLUj%FUy<I%igceBf#pqTc7_qR^;3R*`+ig=<%#8Yx-3NY z;=q-cY(R<$P-`w55#FFXjL2bMbk=f8h)o`&|4SHK=4pvOY%0{g9im3K+ES9(E3=z^ zsMOvy`b0OCx6_&T<(#i-x82<!<CgW9KnKHQ|5$tzDSmjpBX#Cgp&@wXnyp)ow#nhs z)~IY(I)5{eY@5Z{;+FNW*1USZpqc%)CN$=~DC+P#+ir+Yx^bSeB=U1U`(oAv=bt9) zv=lLVoe=@K=8fX!96#fam@J8q4`Ixh^w1e3RBCw7=*M}lK^u(;(-SbP5gcEMan4o# zBM@A)JIB4sO=QkwxI~&rYhXDH(K1Gmj0erlbYKN8Op%~0Xa<DA87yPfdxg0*U~ZRn zgBMBK9y?MfT=uO0bac`!zpayrrQ;*bCC#tJBjG1U+_!gr@caqL?|HP#DMK;9tViv= zKICX;PH$QWo@CTMjy=#nYTPpUeGq($9)8yqgW#@9^2-7bz65cXKJL|^!FVPW>S|pQ zV}o9s@8OQjb)}P|g&pp&%ky?l%je+w{$&XR32UIp{SKTX!6gQ`)&cc30Oj~*FFbR~ zX&&r9N8J9-r+;VOzx&AiwLD?&;+g-MjAs!s)@W{SXT(YCpSPA4<&oU-GX_~W#L2-R zcK6CCtG`#z?SCeHEu{(QC^+X&{@fEq%tn%c_G_3|44U!Wm1xfwpam)>oI3XO(ftzT z)E3kB9$uckXog>++ztp?&;V?!vg^5Py7B=Z;X1N%PDRtc`XBexl-$|>1&{nM^X&h) zW7PlavgrQ=1}VHqrLG>SCjkC9oqmx@<$w6f$U9apIil`-M0I{1++pjKwz|Q+Qq^an F{{f;gZ0`U7 diff --git a/docs/img/09a583a4343d2359d87040afc14139dd.png b/docs/img/09a583a4343d2359d87040afc14139dd.png deleted file mode 100644 index 315f78237a13916fa31b655b49513bb1652928cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6620 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 diff --git a/docs/img/09b8263a3534de004ff180005a876b4a.png b/docs/img/09b8263a3534de004ff180005a876b4a.png deleted file mode 100644 index fe128cda6f868901ead87a8a4c6378c4ed02ea06..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6400 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 O0000<MNUMnLSTX#s5*rJ diff --git a/docs/img/09e1824644c088dfbd0f2f9710fc7d77.png b/docs/img/09e1824644c088dfbd0f2f9710fc7d77.png deleted file mode 100644 index dab477be4618b18f64f7cd791ec8b267a1bf96cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3094 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 diff --git a/docs/img/0a61445809db70ca6bf85d986bf52223.png b/docs/img/0a61445809db70ca6bf85d986bf52223.png deleted file mode 100644 index 9c9b3825ab9504a24f45f455efc109d3b7040c82..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8968 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 ZaE;e875c6bN(9%Uqh+XBrT#GL{{jDgGvWXM diff --git a/docs/img/0a64287e1feef55413a5a906d02ec8ea.png b/docs/img/0a64287e1feef55413a5a906d02ec8ea.png deleted file mode 100644 index da392c83a18d9ba87bc57bd594f8eed28d043fe8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16807 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 WGDJ<*4x8?7fU;7GlBMGB{r?9ao<bY| diff --git a/docs/img/0a8b584e09781bad1c374f8badc0a12c.png b/docs/img/0a8b584e09781bad1c374f8badc0a12c.png deleted file mode 100644 index 0d1e5c1379a16ee4d352551d25231bd565b8474b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2664 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 WimAPwB!lY!0000<MNUMnLSTZACL@Lb diff --git a/docs/img/0a8c15f1fa2c2e0a210d9baae9fff372.png b/docs/img/0a8c15f1fa2c2e0a210d9baae9fff372.png deleted file mode 100644 index 7defe270352f2e05eac7f1ae56844d1716ce96f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11479 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 Ds9gro diff --git a/docs/img/0b5158f524983df0ee4e4aa152abcc86.png b/docs/img/0b5158f524983df0ee4e4aa152abcc86.png deleted file mode 100644 index f69d7eef345c58ef9c0b5adf861080804e8b80b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10382 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 WkSLy~=I(*vJxQpXSgDAv-+uvNY$l2T diff --git a/docs/img/0b804819bf30ce8e657ad538d376ecc5.png b/docs/img/0b804819bf30ce8e657ad538d376ecc5.png deleted file mode 100644 index 0f622411d6edba03c140ad4f44b5e77bc191882b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3521 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 OiwV@y5PQY-$$tRviN6K_ diff --git a/docs/img/0bc8de7b7d20af897fb8b38bb48663e8.png b/docs/img/0bc8de7b7d20af897fb8b38bb48663e8.png deleted file mode 100644 index 771a355ce45e2afd0e659d0bd3f5bbaa997d55dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1054 zcmV+(1mXLMP)<h;3K|Lk000e1NJLTq009F4005%|0{{R3e3WLQ0000mP)t-s|NsB{ z`}^hP<?{0KF)=a5#>SkSoMdEV2nYxX2?+`c3JVJh3=9kn4Gj(s4i66xYG9;*000B2 zNkl<Zc-rmT&r{+s6bJAZNa?jzbgvcpaRtHk3YezXTFQEjPItI6PL+RulY*rn?z%H3 zVTSj{&<^PMnI>)eZ7H;DR{&U8SXfx6UY+@VnVubL5Bu+s#4y3}KD>2dn((E!kbndv zm?qRcAOoue(s_W3x!tWWo5Ah-fzl3P{vf9(XYSb~%p~Dr-nU6umrX))qw3ZsVSUoz zAOQ(TK*Ijf(dHaM2CDja;)Vny909?8xIcnR9RIw~L-ZH;yS3Xf#J5rv1Ua{JKW4Bs z_%|NdsB3>qxUwREn!g<hfh~ep4h8!JYg=Jpe=C#(-yXq70upwH<F&n;=SQ_up7wD8 z37-*GfBhRO3=^`GCfu=C=&={dIFJmQ;^H2%C{~S%A5$ZQRg(8tot$Ly2%ZM%vaxK0 z-KlEyDG!Vg5@^R9x}NHYrdUl~F^Yk!Mi)~v9noVf&fel;EV#??Z4{)8an&djMhIjT zwB!0BDhN(ES)`CAt(IyuGP4zGA+(ccISLe^9xdA|Xbb48CdWcwKcUsSisoz<wQ?_$ z;hW^K8-mL_p=wmLm)Z$AW8=pt6+O9Q-f?ws@EQ~O$^?;(3Ww{TBRo$AeYx08-Z)bt z0SQPz0uqpb1SI@NtSyQgBxDEvsxdwlLM7G$U9jg|#akxxoLpf{sD<`4Rf)AU?6M?_ zFT-vK>{+f%Jhd<xYpL)#X^N5Xa@hk-QFKI8=<kSatffN!ODfWUq<ytg5U6%SREf1E z0WyOG8Eexr)@}$g)8=4`uor7L1UKyRH6aW%6Uct7-4KYn*rZnKxzN28RICN!ef)Le z<4lPJBp?9^NI(J-knm}&t*bM(L-ideZ(qxlZrD3?J1R3s7{!EJAXH=RxmOTml<hGA zmn>94SICdlqLxR29zr$N0{py}FEZMyV4KN=OL;exAE|}=@;KHXYhlFHa8%LO=XFlp zu?o6HNBEqI+LIna^=>Vk{hAgRcT}cvrr_Kc;iec1yb=A@b$y`{Yd6=HN<yPbfS>tN zSFGLMt!)PtLXCs!h?39^oT&!FUaW1t%2D`EAaXd0H6c-p(Mxag{e=BkEBCv&B*>le zb-i-Oi>;DJ@%IxB->oe_gq?8fYdJLGOo;>}AOQ(SK)|nJ9~r^g_n^-zU&Xfd#L$-D z5A8fRHLN@<GaL@DZ;by8w*)yJhgQn3Ji2Aaa9$x;dWvuNIX>%xqAv{Zm&CVoAUN9k Y1G&qoemtwJ-v9sr07*qoM6N<$f_byyfB*mh diff --git a/docs/img/0bef311ef1713ebb246577aeaaa012c3.png b/docs/img/0bef311ef1713ebb246577aeaaa012c3.png deleted file mode 100644 index 60e4557e72fd3f7ddb0a84a7b75a06bf75c632c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14717 zcmbVzbyQSQ)Gv|((j__49g32|2!cq5bPe65NaGCMp`ao;(nv}O2*}VOEz&V`56qAQ zOgz7r>#g^#_ttuU-FweI>)hC9@8910{&u2)o(2^K8wCLY0hQ)UH6sE7qIU!Yce;p) z{*7$;a@_rQkTTFQR>$M<2ipgMo?bm29S<Kq%>Mit5IlhwAh>(?E;%_l1qB5qCFQ+) z_o%3-sHv%GXlU|5X7dCD@^>}WRE&cc5x<5rH}w7paBvqER3(@0Qdo-BsXm)viuvA2 z!M$?(18M=?t=g|Yfdj7Q`5$EcE)n@A+d)xEK$j4_ffAP)=m<t_^e3}O+I9qAZ}&J# zP6%|)g#OQ=|K#L!mtvU-Bnt=0rJvx=ew-1b`~9w<CzTLFv>c2Kuv-ub=K@mAq-t=4 zQKDD)nF)%Jhh$NEqI>O%(1+cF!^uBG*ABV5PJD5;>(C&(f+&df>$LGaSbh3~P8gQx zeR1ed1v!Wk{+}QU9Od7$Z>-N3wTgRpySKvsl~@nAT>#PV0ct<Psu6i0;9k+Eme1$S zD>pt7t?H$B769DvjQEoN#{1OQSu;X)9~ow~iTG_6<xae-rp#_U@S(SZKTe85<eDIW z{*$c^S-`2JBHOsnQvzrUB-A!Lg|jtjcb`=bQ)N2`CBme&S9j_^iU#HKeT!c^yk-%_ z{p6%&r4!NlT&-*I#e|A7L&&}8C`GVwiw8;B-a(5-EObbeU7vRavho=3q#!COJ71Z) z%G4Zw5_+UC=xr2ySGgakya9;V0NfRdN26{SXUS$~0{R64OwB4xBJ~cUki9UCSdfA2 zS(|c9g=Ur$p75#g)@zA6hiX?t%TPk_A4sC()QrTm_(L~bq@R};OStI;HrCsdSfE<p z!bazyk~!^n$qNFyZ_dV01*6;;xY|ZbjeiUq>hORoasv4q+f+-8SB;S<;9t$Y=D>e! zB+P)+6X*tMbxq=*az{2${BWbA^Fl*d|Bh(>(nx0cLmsmg!~^Dt%-al!Uz>?Qa|bUm z2;NO!#Hm-9SnM<Hxn2v#w^ih2Z$Xdf8Re)^&*x5`-LVy&OiD-&Hu@UapBb{!vekbV z->Awkbl>CmSBYjOkyYiYmxJTuY_JD{(K(N~q9;(2X=JwAVoc>)L-!DX?pCL~?;p`j z8G%F6PZ#KY!eZe@8$l1WTWeGcJ$UzvJun$@`buEXAaLG=@7q*ay);;L-HcLA4?zHn z3dn%uj+N5d>cL!?f!(l8mlnE*r1!DeC3m57P-qI^S*Ao9KUl*+>mx14I*aB6!v}wq zmB;NMy7oPeG84UCzVio%SU6I>tW(@CqvaniyFkBV#XBf#02)sw2z6L#6fWzuGC1-- z$cGeU`9y$bDDcu1(?-{lY_Qr+rzh9Y`#4^&fFBI&gO(LOd?5Y8!YuuH*d6>E`wKZ( zKkx%^B+c+w`oRZmu@Da*b5R!okOEB|1Gml_b(X8xfIZSQUH|Qf)Wp5+2Sy+?iKFO8 z>#@_+cS8$p@~M%cs3#5HB8?ks@mZ$N(1jDxg7z;$re3bckMCAqtixT;T&1=E%R6x7 z^J50$40ah%3k_ktk>E{*(+57!^e(|`vicv897rg7p}p*x&Vj51#X%Sr0uCPAMZmv6 zGJ@FDFG<j2rOFql<~S8G>_mW99JK#r9fUR&w0$4Od*yiqO~9Kj-vgd)f(k}(ni!|M zD4*Ni?XY>E!6i-JI`p4y_5oAy4l@iw_*>!D2`794L~0ER^1S|rW|`o}_wCs{p<gna z^j`qxhth=@Ou))Fp{y^vvBcxMjgZ6xpb@4W0U5V-lx7#u_=UrkVn#$h7Uy7;k04)H zfx^y(da7!beX<gS4_8&c@O3Sgti64m!RMv2>E9bO&JLPMZ-KaAVytof+aN%e<6T1H zhAnsNB;}5V*sqD7?b&M46u^Z3?;Kio)1UiMe>bnt7|OZL;F%odTI`5LYg?0gZZ9Kq zNcZojFQT~dMxnlA^C3wmNR!F$%GMiXw1557DIQCb+xWf&c;oXvFvdZeXT#Kre~JBh zBcFP<BGQw2+B5%g8Xe4*G*U*JS5B4DKsDX5=Drl;9_F&%z=#YBVZ@_ta4JVg-!?Bp z=hL@s<_#SB<EjvPyp}m7X7ZSujBY$U>(nVrW0({qq}8n^Nz(wyi1-Zg%Y=wKO!L0D zhZ?!%&~L)>(q?!0hOX8i`yZ)MpGu3e2<I{@{o)KhyOP2s#w1%34bUQUAnbO8u<*8* zvh2|SRGk@`+d#PUr9SzeeV5@V|4#S0RgBUkZaAhqU!$fCzOBkLdZ6FqZYfm=+;s1r zivcVE3q&!NeUcvLY3cOuzU+JTM?D#!7WKt(4Fcs)-gUvu&n7GgYFyv+%sIs3M#TCv zo&A_GOHEW+IPDPI>Yk5Wjd{h8-x;k;4~t|WG>wqZdj2fPGBQ0K9q&S`^pU>!^;2?T z@H6Ok4<nd6wM?R)h&7=pS3tB-``2|CN5q?Y>F*<Y3EVMen8v8)d#k^pQ@k$4>ruA< z?$6bJNmG06%6Hy;#C|HdLxkHuE@sE9$JRCZy5Zw6(P#;LN4PZp)gn-8q;rT#{dfr| z2^Yn^Ix`t<kfaU6Dbe9|4n`$lC3BCEn}P*h@1`#G&h*8XH?OZAQ|mlk17uAPKE)UG zLmpzJA9kb>C}9iw2r9V}g5};xUmk*h(L|M|Pm}YV!&{FHPG`>U(ZwL1Jz~H+=`CqM zCf2$ikgyIF=BUZ1=8#SNH*oz=ko3RdF1YlIJjCpDV5#oiK{4R8w*z8%Je!vnb~{U; zDxoEX-!5OZ4bXmjm5T=#EKE$Fq_(V$O+?=ZbK{bySdNscT<#1e&p_Bzw#l@xGMFR& zuQVrJ6SlpqXNM(NQ{2>h!S1I9(a_a?pn&poHAYukFaUoq)~*W(hJ{P@k$4jS3MYgK zccg((Z1^wc?rP@G$Y7_V!B)$=04gQtKZK$9?M$?~H$~n0;0(nBhiI554pl8ui_R)> z=zYDo?#K)5&w7s2-3FT#K%o8UE$_m>RIrzbGo?C@y*l(@bnp3taQ#8t>qTMP>Rb75 z+XLUkmTAy~RdRIY|3IA{CN*=Y6=C>^2vg<(J&761y<EiSvE*G=5c*wfc!HC#>jF8A z;lMReu$>j{UI<1x9w7dm*KS=t+0+b;YW13{?@O0Fcy3%573jMG)RWqZ3aiDle#J6a z^JB^a7@FdLiCCXXE;1nhJ>B4h0ZD$^We!9$Lz3S9ce5~(cyUZvF3NxE^Lx%Em=x&5 zC>5j%$VMpop;^QhN>G<4+9=A*^F^Ha=@WROO<zxSk@G=t)#tv9GaG{ItP}*mv7L{_ z`wjxmYT`VJobLVsq1!MEzP&0%FKiFnU>9U`Ze^{SAk%Gs(84XG^ZUPX_8(4*hUH&O zkf10p^dd4Ks*upzs~>2T6;AMxdYi24Q*Ty}f9kSZ>rlZvd*OAgo?(ai@zkG2V8|f_ z<mCw^viQgLU}1AI{5(UePFkfxp~B@eWFu)$&c<c|$O1I&7u<q_S6fj4Hgy30-5qeA z%(0tU-C7pkqljl?!#nZb`Eoaz_Y+XJKd_s_NfvnjM9fmWhAgfay|M(G*ksw!%-!05 zhxz^X^Gk_-ulJ_Y(*e#|@F5%uv)WdZ1bO7UgMgP`xN@}Yz7}jv2GMv;EnjyW0M}%X z;Q2@8JJ6DXUHC4l{g%1oI^_M^KW0Q>L3n`BS_k$vA3Y2v%S;Lp1jj*&L|4<H!31EG z;x$=@-q(7}OMLqq&@UXuJ#r2nGKl7{!S}uVe3b@z)3&moz6;l9m`n$p|BpcRKewf< zawen+vYK8XB7K8sPH@<2u1WJWl0Ls-Kib2(o`qj_pjIp|tH^1X@L}drT3%f}U4Q54 zC*q!^+>Dc8=}>-pWFl+lPHmkJ6yFjlTg|TU*KEy;l2R*T=E<kb#r>Y@T8&Zp)XG*` z2BPA&p33UOwzgQP*yqk~4ohvTo1ZiW1T<zjk^5RY&lFvfv3vgAMu7S){!g|s8{js9 z>N&JcFxzBuKOl99hYpEMK`xaw-XvulxlN?vMv1|wOC%fEo9#&qD5$7v?#w@&2FTU{ zc+kN)#z4gfwzu)pXI-6eVj6tfmJaVY(Cc_%(pIB@ahe@PxfiV01oWRvS>UE9US+>W ze&hz5TUgEivEB_eloYgiQj>h$yxRUr-1WB^=lWpJX30`kfb{-Blq-{>^WYsUF_?pr zJ5P|xmeBs)qQ;MWwhwB$d`(Au8kh=iFNR1sW~e#LmWY?Q%?-d)eb)AKz_&f6^1Y?r zYz#}sxz5`da+P7ZNA+E~nJvSOuf`h=XnG`nJ3buCV2Ocix(!@D{?^u}q^D;ygJ@~2 z^h0ize%Uj6iD|yo45-y=dz+r_oIfXl9f~fb*JP&$-?5F$TMWut?3T=$uIsIEU>!TF zDUX4Z7cNS$m@iPkLUNccj)PMHTy(I@QICh(a-O1Ik5r$$4JKRKEIOb*l|kL=qtTA{ z6R9BTjlFDB!P(~OJoAlS4e8WJk1a@Vk#c15M#HMMI;pmcu;C1rx9-97s!eK?rmeH- zbc+cfKYDa5EkYU-mok<o5J~kiSl(WpU!wSxAL9#}Ar7v-{mx<<JyXHv=4SJRE{Cv$ zNnHPr){f@|6#hcSk90mKK=^(AS7XXU=(uoB801{w-9auD_b4Tx4;h+&SiOK8=l#Bf zD#xJXBS6s}KkC6vuh28OG5FgHRPP205FUF1?t{62^G=w++RaKoN`O@*DwqSlC0D`L zNPwl*jo881zGjn1UmZ(MxZw#MjMS>6bxi#Gw9M-O473PH0<O+Ld)r{*Fw%#Q$#Ls~ z?~Mb%3_x9AwN5dxN^NbBlilfD5Jh9J!jxq~71hjtJ7|zBf=%SoVsLIb-@O#F`WQjC zVrq})K`~7kZfdj$quLcEQHfZVM1ahtkJgQU7jW=f(}zG;BxPUeTl@J|w0*lly|O~a zA4s;WD%G*$Y~&`aDRl>Mu<2;Va3L`GmDG!m8Tj@ELGboQ7T;U7oBF*N-~-QuU5iE~ z9<Yk~SR(Wzj<H4fVi)j9#RwJM=bP57Tpd`>jraI|%@{pydZ6DSr0|&#cKy0N2$j2& z0XDz><i{>J#<z03y9aYR91U=10uRAze^bAHsxB_Ca_{q!NF#1H@P`uArQ8$K9AFX~ z5LHvc6B?)+Q6}|`{P)=<Ek`kfg87C_bY+#m;At1`+3;J;s{PgjlqerwfdQzKITHbS z@`9SAPPF5r<GZ=Fjls<1D8-CO#aVkBM6Vcp;;=XwAblyxQx{9}2n^?%f@r4VHA~;h zz}EU`UYbAU$WDPb#?6VQz}a&G^;O<|*k5v5pnKkXGm*Nd-bsG!Qti7t{x-uSk3W~1 zg~&)y`qb}Q3gXgOQpewcURx#11v1dXZ_e)>@pPkI?qbg2@^=7Wq3Kay+f)?%O&;$% z4Z?FhoC2OUOG-^iN)qZxWP!Wwd|K7TyY}C+`2XBF{?`Qm|3d`iM$P?}#g$?%6yvX~ z-)^>mhhtCM@mPt-?)0d-8eViK`qyhuRG35?t_CA2@zD%}eTT-*t!2WRGn8u>!JXl_ z0;^qs1YPHr>g#?OTo}#;Gc)H1!xRv}^uMm5&d?#4r(iB%`ag8u-2JbYd6d@&?kGjj zuZGq(@FgYEsv{Pzck)3{d434SZA&Y&OKaPEvSZsGP1$?SiN<a!ZVc81DL)KT%7On1 z69b<`#op@4epE!O2bvXB*9L`!u&rsY9Bg@=IDwHRg^0gy8s%=nF#an4ui|{`y=ZLz zJRE<sB#5M3pIdkBR5rNimq_oY@dPd=Ps=a&*XgJratAWxW?|$istIe%;HiR{H?Q=6 zmd}>F+&CRdS9pl{dynQ7P6XT!$2&lKe2v0Mz$=O6)!Pe+7Yh_njz*@9xx_K}Z}0x! zwfiDpdYe4VEts-bi;j<$jsHH4gYX|#TG&jDeX=3-2=k5xAnM0v3KHa-cli-ptTWEN zI~U6Nj2{+N7kcQqf`6o3qOGFxR`XcUKT`m{dlUQo-U0kf8~D3G%vl`_cgYfiPeY+V zdZxF4e-`txY2xk2Qu9xTZDk$<H(0yvh-A>)Wr=pQoMyW~`(O9wTFEEC$*LGcy;b1# zMw87r_d<Tps}P}?<^uc82tM{RvrQI6JJP(iP4|J1<5I<npE$Tl>6Irk`O+fiA%=-6 zH$Q2!WKU-1E;IOE`t8?lIK6RuW{)pByhpOZDq#Ietx6PA!LnZm!-~d0y6)kq*lR(! zI@rqK$zPLgaM-Y%>Gma$2oRsZmT%u^+m4>%>dtf;<~A4bqRc!?9Gi<zG=9Vx6HmQE z0vvZGo8{5@HVf^cR;Gtp`oxYV%X{^Et7%_6AqCnOY7M7|X%@YUx&k}-7Xs;EytuD) zVj+_p0_->96^@MHvnL3x;8LJf`?^h-sp4E4I+hUltaa_5<~7hKs#PYzu@K$wG&B#3 z55xpWO#H97MTca)q}Sk2HPg5c`fQp<7e4EblZASrW~yxiQ!am(*0}8^iwwWC_r&nD z#sWnCR9v&&1}z+2a@I+rFHU8?=QHtQi1Ay=ns5ei=7`DyY||;a#X7}qUqHRH6du)* z0`ufSDSFE|Vr0aAr#3QMh@_#C`!_+-T%z+hhxK>2@e1#TX*$M|6#4~?$5sYKT+4h+ zHd_$4(slN4Jjl@NRqZzG8$k!RKcnGMR2|P|OpEhc##j#Yn}-YnMwaZ#5%ZAOM*xvt zKPU~V*NW@Rx6|31eVv^i_zmd001W?Ss3*d}P7I%dF0ZkO{!M~(#DcPd+=#9c0H$Yy zNXNnwXfcqLc;QX*&8v+dKJ2$ZYUZ0vckD1-dt=$+u>iOlaaNZCkV~ev`Ub2&!Ytxb zv@eRjLw<HZVgZ##%5ly{_1D5B@P@gYOtT=QBQp@(izklJI?(SsIazPV=qG|=*YEoo zBaO!ZefsgQ*kEgNE55FSh@Y>}Gr3~Q|F$J4>5@rOnC7fC$7ISqvLKZT;4=?X{}Wz{ zr{^fUy$+G^i5^RD*#Q3VcdJFuIpyjs0e@XJ5NZ1rAwHv8h-Y4)C5Outk?c4A3Gf>9 zI%pk)se>^=ByoD^LY6Zh43b%PaDm(0@JSHROj|(v<IEw$NRfgeI{$#zV^8OZW7&Rd zGO<SLA-KY<x{9*4nNb-&kbVJT!PDU%EeaL5ZpcJoO>oX1tc?jOuIF?PO*dst!Xy>H zKe+gQA0w`!dMm1bJaFQsf7@x($qK{w%X$2PV6h;va9QwKn`m1bx#vv?w9ofQ(jjKc z$>xh`vzura_Tyau*FI$Ry{5k?o>c&8>aw8#A@$t>j`Y2`9XW$Gi$D}eh)#xoeQBmM zJu<yPMxt)1M)JGIFahKzA}E+9p2)Y>o4>QI(_$Fbgy(*Gi{phuw*F5)`|c<c(~Isu z!FKzC?uTKN!#pv)S2QQT3R@%@%`ks4579<wwCsQ+j$zjqJaXMalMUS2o+F2JVRZka zR{Vc~lIxxSC?oSf$2hPV5#o?y@l$K`)SX5J2VL>cBjnCzPOUNQ)ZLrQX1}F5pAqa_ zUkxHB%zkGs0Z+P~X5-~&q5tOo#-(1A@524h{zI|=Tfzxm#rr~9`+;=$;W^BDJHTfF zh!uzchF|q6-I7^%Y|_AQ{ibn|p%S>8URmYkbbPBXT)zi)ivk$<Q0cG~%F2QuXeSur z5C!cLTW!+JsB<JZIev%bE?Z=7qaNB0#(IgN{t4IYtvkQ+bvbGpL(sp8$Ocw)d2JQj z>-C8KEy<YjFc&ujHpXX({|WvZI)A~MQoV<CXho4O3vI8&hs7#SL{{+%%hIZ~`Mc!* zz5~A61d>1ak-jxJGLqB+G+HpMh=PciH0DYNynyVB?<xe)?wE?)X<@v2Vv}^sSyu{Z zy-8dPKN_a)6RxHDw7ys)9q6CW9=p$Z8!tIQ!Dn|0EwSj}1J3RkDd<rCP$z=ziG%h$ z1JUM>E1kZ_8Ly5N(UQE3>y1!e_b`<5S3I>z<B#?zx_MGQi5%tpotpvOB_P!?a9fry zE(_I$JnGM~!W2(8EY!%Wvb5kszTs$wa`HGTmJx5r&XmA1)lt!DSCP)<Ef)pfPO|Xr zt+k@BwZb^vC(OQ`XxfyYGb1LWefLY@+wI*d77hy%6jnm{Q|&3qW-~QPxmPD!ZN|mF z-VGch(^od2UaTcwTqNDI>qfHj_O3FjolEto8(M2=iROBKr+|84tk2#y4CpQkY|OcC zJa?!QF%u@p&9kgGBp^e%d?(Yem}lBTj?6dPM_+s=vT!-8ULdWF^N6x_qq-OJ!nH?g zrHe)mmW$`R!453}t_3ug0QhR~mZy8AKzwbr-O}8Q)6XHJ4UpNKy2X=fMQ(gss6~LT z6;o!%>R-_fP=C~B^RuLFlgvAa(MYrSaxtcwLQm$4B(!YJ#1IVmcl(~UP!*3{jKz47 zSn5Gi?8^;iSZfV)fb_&++-j)}oS^Pw%cU{fN8yQQAyQq{OL7XEfDOQ_RdHm=4T@Lg z-t88D$S|dPXkT4rRs!geg^Q-rbIf9i?cA_%rTcVet>uh~mFu9q@|YeejFh`)*CzUX ze}E}B*OQ2@Iz5k`Iv@QQKxb!d6{RgZ$BxOYS5>H);Jxk~(}g?G;RaFEaqNT9w8g@( zqG%cGILm<vVkrz!KhX8P#mOSD)gIsEQ((WA1(L|+)XepL7AVgRzT4frpEUfYw~cB6 z_B|=BqhKvsjI}QLTDf{BevQ%eJUcZ0LJ!S}oY@Xf^m{~H;7oEbVe@PCyVvXGT9M{L zgplWa?SaFawI`3*wJYsAKi>Fv@_i8;+<OfC(=PqE+p2@rR+#28`v^J$3?Lk3WA;Wr zv#C+>7-M$6!szegrPB&_N1VrcMtsIx+Ow<`p2q-0WD-I1vxG1NcSS~MC(9*GeRtaq z(~L|xR?cndi|Sg7llkEiq1&sDG4dL==lJa*7tK_(cw;3kDHE*7#d!YwJ^w->{bjn? zO0$-p)#Ac2AAH+84n2mdN(EkukvX=$S22fq1$Mi#hyGwRl{}){k4I8U{rg0@eWcIc z%OIKYcPsm~FE%s07H1yAo7(xDrC--1gG`-cpz|!XCm+nS*Ffs%8HPjv__-3V8b3Ih z*H*e7&DrvjKM~GTTtxzAD()$ZZ#$XzgaS2(K<d$-Dzp`QXkeBe+)}3N!qg&uU*?`5 zQjEXuKCpf=MZ0TabJx1zXm1fljMBb`N9*DujV8r!^3Zj6Gj$t6<o$m}S40Cmo)!WP zIXCdE-=4<8!&wzD&vh5PvfPMJgtjJ4tgIt0^swi~v4Y=#bLX!G&IRpXvON+FHtcPp z!#p1wnWF%Pvn(VoGF|LP)?`1t(D#2IM>+HXDm!(@!oc}luiS-hY#0!4U|e_s?Dx@> zz#q>8yXcvR(_M%Z*H}8qGaWuKend>7z4bFqRw%Ix`8T>NW`-;F+Vo#ZOoEKj>#`33 z!*g;xAlgdaRg)EZ4?<v?t%o+osxUVS&M_O3nwKnc?n1r9fOwg_H_hc$?molC1U4rC z`xYQ}%Smj7fB6~g$Dcs_uCwg_KDH=QFaI@BW)feps2O9#L8TS!l=wZ44S4bIx5DuP zu-b9W+o;;zm*;6r$Z}`34UVMZ!Bin1rlHNJ`GNwbf2hCseRLZXF}}aw>V3$6DCE`q zPbWQi>p-ScntVpFD0;#La!&fc0*u^t!4Xg=l`*7m-ul%`OhzaZM_E8iy2swZ*;nbK zTfmoki1}O$yhBq@HNfGO%Mv5|WwmEdQy)bMg2<c8GXhF@*^IR+`5x@PSVU4VcrDid z0K8pds5{V$ij$jHhjs5$xcCUvS-r`poSu?1lgJwS5HIMswM#aTU;8rL@XB&L>!G6y zXOOIAXdE)~5Yw<6&REkG?k`8j@WF@mPSOCV3B%BQ&W{bxg81Or{=NGb+{?|tOzR8* zts5tQcl=qyBMVu7V-s&)!)?c5-^a?IvA{Z&^2=xbF9bdNL0hGyEw&<Pz8E`F8}iMr zR3cKn<#WbD#nwtj8zi<vlo($`RHUKk(0G3-#H?7L2r=l5H{3XqrKb3`bm@C@nsFS; zx9$<TzFi8@#5Mj&)RPsZN?V+H{zwepnu%nb)17#9{Ps~znV^bo=)=u&2|c;KxA#Sr z8HROQSt~b@x581tg_FvIH!Vy0BDJVPbAHo{H0mk$ck~g2L1>oyWG}M&6>+=gz+r8@ zT-xb^n((U(>;v4wXk(mFs}UPDnKIqSH#^pKp&ugUhpnWPgwkG2E*ecyGcJf*TDy{% zRDO;;E)7lFD&K}y6p`OdR>+44Ubyn;sJ`t&->7|fbnggoFxyuTIa0t2Q>x?aG4W=j zvoWA#g4$|<X-z_^&a#JDd5`mz=&eS~E^0l%WkeP#U#F(O1x+(K+<bWU^_#mlJV?Pm zpeB5?w+pA<Se@Vo*wt-T2}s0^IL{u<t~`?aSpGf7B<__NI=f&l68BMW|6JpO7hZ_d zDR;HK%rZsNd>nh_(Pb%{Km7{hs4(`m%J{4oeSi5TC7LT-sy^a?qRG)j12fHA(`rhp z#Snhgm4Apc8SW=XfOWDR-)`Pf3S}k_>Lfhh)vspKlW#;pqXF})Q*`(*YoLZ#xDkm3 zJIn*LYr7$T`n{sHR+g@xnG}FMx0)u6OMP{9>Mx5g7M*G}8Gl135O--^a;a`{3(|9V z<L6cpG&=Iv8;p%a(xC~5n1%O{xii@Sg8G*kP1Y@k&1=_UP=3+X0-Gccs4c@E&d{NS z$%h$Kx(SKVf8SHO3Xpy&EFY)kxNoWD7tQS`xX{JG6$k{kOM4sSO-b544RYVDffY&1 zd?rZ4zX`)N@ys6as~pLAac>5(#Wb5bS81Q`-boR4yYtqXoj}ltSc6q6w{a`3cWtB8 zk@ow}q=H5?o%!0l3eiQ-Q=%~-<#aG(Mos(Fv&Zx)03)kUva^x~lQEiX0{x`SB9O}l zqsmcq_fF?%cLR~vIQ6n2VVWi}13q%IJVG%l=_kUp*jd2G{I=Y{c&tAq>-w{6+U=TY z*{p#j9>vXpxkU3HpSRGg+#Sz!K)vx%$Ax}=z|OFJJ!O!S&GtIVIp%lqpUzRsGxe3+ z*2glkcCFFAaz5YkA3Fw@9~DjeWLG`A)AjJHjP#bv{YXf=^!Ml%<FHr259#Nb%_PUq znhtS6^7kCQ@M@-Ey=8w<4{p*Yqpx>Iv?@{R@LuX!FF{dB5icGpgBjb=`%H;@gePuu z&@rhyB$yO&;|MYW>h(B`zeZBdhi|;Ng<5?B3-y&=?^fKq@jR<tvtpG`B5Y0qO^Wnz zR{Wb0+<t7+A|OjT*M`{*f0L!w3LWZHw#}38Y03n}pkGfPqqdV7K22rug4biO?k)cn z>TZir`P20TItyC&X?G?f7^4j36E=TW1^FVw4c|^tl(81&Ib*PazEF4cQyg~K3{vJ= ztdduOuADyx7oEtq+vH-T<&%BW*ajq%)gi0vGwq!T$nM~IXh?5ha_7%;mJ&BQTM0B< z0fIm^oGh{J5EYQ-dlL9={wmpq=KLY^hPEM0)TPg;26*p9_<NQ|O-(57pg69G7b|Ip zH@2=su5r>=f;k^6as{85Ewe-3<pZZHrON2sghE!6G--j)&Zq+RszE2;x4=OIIfEW> z?@(3uK;awR2^8H1Nv`sMwA$69_BArecJQ2-M7vASLVx=YxutXS`BJhrYCyEukIP2g z_L-)w76kMS^lcn;p%4z=AD#DOs{D3mZ_!n1>e1Xa(>10H$I*mT!RYl5Zqpnf#PKI( zx~HcaA|`W1Yq=MMFCj)>LsXP6x2DBh`Wh&eEk?%^wpb@v*q`?PiNPi(RjluF#-I}@ z{zBE~kC2_n#woVCQVsi}5YBbWcIxm^SUuKJ=2^3R%t>IGZbS}b|1E*L<iH}(Q)sOj zzu#6FjbY_<m6XI|c7bNwBObG5(@x@)10EVHWW<cNe?afkW43CcPrfr;N-jPo9P5Nn zu`a+Y^!upDfiKc4xNiq1C?6`g&ecsMtY^0|k*dAYBGK98SODH%1S%gzxh%6PU3-t~ z@czAKx?uR3YdwAVXJK^U33z#@t9A#j<?(qYJ&R9ZOuk+1TSG$$P%;Tp@ej8v=$Y`0 z;9SxldoMOvhKmPI8XOC|B$avJrWEr$L9=4lX{qu$mfl0WobaUYxb4EDPW*Si1ipWT z?qW3_PkpuHf{47+&V+Z@NPy?z^+-l-D*;tf*ZK`TzLuhYUbs3<5{9m4Jhp@s&8AEQ z^PqUK3kG}-8E#&!4KjgCfK+&goP|lnn`sxa{Fir(JE^TLb2RnSutepOTcI3hvU1Vf zc;yz;C$2%WfWHqPNP_6U@ZiB~vcLZl6nu4zLL=;27VNxUCl1Nm?|ti2@)+hyWUWD^ zbYx$o*@_xK29(S&R(VsN+_;)V2%3BA*b*(F4m<8Pffje9P_3+Rv)c7o%N$X@KE=Sd z?&+X?l(gO_fo>(OCsG<!A_@>8p4(#ADD)+UOe?BI)D*W{8fu}5*9cG92y&VTnRARS z#ulUR2<bh$%0RI7)phL=)>EkS)fdxM{(*2~<kay)u!?^%FT88Qp*0c}9qe!&@F|N` z*x>kHSN*TvHjTN^LilD1)txN`&3m<*G(L}kI<+eV??GclGiT|>k5e8JBV%^BO6#ZZ zI?RpP>p{Qnry5)vvVR^}W~JYx9b8_^3D-YXgRdPJF73;{u{qb#J2X;M>N<!IPnKRO zRmv+X+I{*3b(Z6~jIzA`rT$@NxqE4oY=-2u&LNAJL#8l^B9f(=oRAU_!716Fs`!NK z2Wen+(z7TBpsU>S-Dkzt^Kw^&Y1?G?V}7{AWd4kW2M;WKoqjPGKF&CM2jAu1`@CgF zeorFn@Ve#RD5FceF^PX3`Of*A0%u#a{C$P}^01$+-r{8pL*Z_-b>5N-LsL!Qh<3N4 zi<WCYo|4W029n%*78q)@^(K5WwyeP>nj<Ck&Vt?iC>2gqTHY2ihkE8sMi+E8U>6_w zMtbdzHDne=5_#60M6_JVFpeO8A^j$<-LTd>cFlwC_<YK$#-4H7&4mMllU8(}R*(uj zQvA{lFm+zk+351-{FgIj!%VjxgNcIj$aCFEJimDBe>J=m5OS6gCXSw<&LQ_J&tjXG z3b(Us<ElB_KHwH~{vA+Kc+xjocsu5*2L!O6dOy})99Iue^!GhWU-=Gct~{r0;f}PS zrqXh0o}OTJ+1AkuD*y3XF}RCUi&UV6+y_H3O8suy(P4QizE>hl5&bu=8-`EG1}mE& z!o$C9PPq4%k{PZxL9T9me?BbCK}wZm*V}h#^fft-j+To}cUi8gq;Y-;i1zuHY&SrB zlGsUYE*Ecd&%bkuT`5j@RgQcuvl56<EJ#le;9dR!$y>P(tBPlg%GXn>2pi<dE@Tf6 zHe1^>ls+)rHX!|wDibT^SD|r9)0DJ+^c(;7xp+_|abxe>`4&0pOPW#49YxYCs=;Z6 z)x>?jwq1yAI&^nngD~iZ!TxK2t~8s_g^IbG#<2N{dnG_;@XnWdj=c0E_z%4M`u2;) z11_V(+T2xJsbW3|o)wS+B2f&dy=T(B-`AWn<(ooA$S%qV8icH+d|zWG(Wc6E;1UYh zWQ=0vbJKViLGs?6pxdJQk6v8^9{>%V1;1(UjBEbcMTW@nm)VP3hh3*oIVgKhr;K#z zX3@$KO~rSv`XQW-cd9fFp^;;%7L25Y3%aGpd(OG)&DmtfU9QLJONJ+9CpPKw95+xu z>2NYv<(%==C`BMy3gD7`0xh+>ahl>UyRxSCC$x!n_cP07*D@}N{ZR7fo*b&gCLbAR z)RL&F{Bmc$*5P|(0g2z^1iLTp4zv7^aOE|`QjS4CrSYbUKkUQ`O)6j~qj65r3+#4^ zWZflht(+i)i^;NIm+ofD9FTopSLsI#jmG_j*KO4JBfEEN0vE^QkKYn19rJmO)yz|S z_)V)F@7XGTp3^hmAQIo)vs#HlR5Zc;2J#IzMjL*kX=h7Yb_N$=RwL2bjMD7|_+5q5 zwU5$-lZpC2mnujF{&F+kW2~tEw#+Hi9e+6Jk%6jmHq48a?l!E$XsIh^$H9YkDncfE z2bOEQR6HBy8Lhr;TFhS|;C4cQ2wgH7tiE5{hkWzV6}hNGv9x@(!wR6HZ2t=>Df3@O zOZckCDQs;{M0N-osy}Lh*46G<f!ga*R~PvS6^?;<yV}UiL$*_z(R&Y$IhNI2!j<sd zJD1r7s`7z$U5mgu-N!#X!szlf#r-~!NQrbm+|=_4Ll2g2RagyEf8w}QSoo&5M*Zfd z)YVIBCPH4Gucm(aS@7Kl>?z;v#=nNOwt$E1{>Cn8c58$@cJ2CBZ{fq0(ay=;`w;p3 zmQ3K&@G|E3!4A=VgFl`9HJn^XeaX#%JdC_tRVubfTCsBU{0ohTH?3p4MO7hHygiz1 zmiCnW46r=lIqetyp6&d;vGO@<ygw{2A#X`IKCms7oGWsr8Pa?EnyA$NDtnrIqfGT@ zc8>2&2n3O>I1ngzhbeCJZ?+=$Ea|8oMd-&i(qkh#IefR?bBAb6fjkf@z5X?b_g;^j zUrzQmAn4V(jCDO`b9ukoZ%4V!vFhT_QLPMN79<)!N}YgJclFS9<CNb|RI8PBQ>1N@ zSod<n=M_q%$?lgmZ&Vq^>UoVLbeib!t()!&6;zCSUHlCPY<a?8tjo2pzw&ms>G-hJ zOBZCMcl@mnb8c@!r0`AdZ-M+}%x|;Xqp9PtDx+o2aRS4Y&)U}>_zk{IXyc$BOY^3o zXV-bh)xC@Kl|lrTDCbjW7Gl|T$eQ-3Z&t^|sgD5urn&3kdz@!?!o6BCQYmw8;Ye0l z$1izay<dY?bOq(3vzjPkyIXC)i~43ObJeoClHU&tk+A=N6po+A;&pb{Ltn+PUuMQ1 z(z~#O&j=bXF6<kr$>LQ%vW%0$rP~HLe3*o2WIM5KcDU}a{FS!!4Q*6(dZD-k&3YsJ z=9>OR1K9Z17UF-SguY>)e0QNQ#APDe&+zf~6}r0|6)jmyjjIUVf$)I)%Tc18tqMIF z>nx!daI8n@T`-L}+WkWCHiy1*Q4Ic56DPQ_i)Hb}7xY0;mlL;=FalV0?cu<!r2Zl7 zL3qH03ZCD~z5UK%qJdujaMeBQkLWV|BZ)|s)7R6m$k(qiH?Bt&9iQHXl=*0P0wC3T z)_7;@@9r@t?g<=R=>W&f&_qEMn>tlu24V8*s;VewHT^Wn?utJ=H@b;--r6T5vEe06 zlk&cq(!73e2DD5Cgq4I}h%X8kmRuFRP^O&|=xg8aCtWlTHrP9*Sk$R05zl5}3n`~i z52Iar;{RF<^^l}Zh79%1ZWvwJmrVO!dIUvk%AqZ`ulG5msi>WW1uiNlwe-_o<+OVg zJ3{(AgO7#CvI4xpdr{t%9#~6l+9>wapn&bdo#jMNO!R);X0euy;*GTV0TIKH5T-&o z$|ZD1Tz~V+rWJpuv8qI~1=l>VJf`_IQgp&z0=1c7*xu*x?dc13yM24MEUL~%^HgkB zA4iYcCJR9nd2%V*_`Tz&vjvef)7O+g<><jreH_D+09yV1j<>E9Y2z-0lLRnRRpZJQ zWcxj<kqa?A37SMrp*o~FpL1_OUwih^tV*+!;aK|IC5>oj)(=2gu&xpFxdBGheV5te z+jY{Xb&7zOU<7QQKDez%<b*x+?kd8C5Ox>(`DJd@<%;kd0V}d6^kT1k<dmyjVnBZb zB7z!5wD}lT$=~7C!$sUEtKVSK#~dxUrZPUg7OCXKU(wO?GqEeLh~GbqCut|{xg32J zULBlUc?+9l7xvxnMO&u9X_P40pF)|1J3EGw$u<OOf+039(ImS>>$1Y9M7eK+klIcN zja?>BSxpt1eptaUsC$~rN_Hg}yh7|vzD_S3>dqdTFkzU_(8}(m{_3vUs|VKmN`DfJ z$L4(ER%%1q+=4r`%^NiP;&={TbvyH;k{Q7z{Exve2bpY*I!vXQm`a>q`B<ho4~m8x z4c%&BW)Y#G?#`Sa?c1zAqZgAbt>37$O_=`UVh(kdc1f<7a9=<2=exH)w?)3>^HVDE zIiBCVSyRFTl7tW|eGx~~51bNmKb(DQ`5vp7NzSS$+Z;n6shacToEBD4P0E%>uPs{a z{9SLsi^xge*}IWTcf&;*$4b6f|6*<Kj7jycgQ$>-Tj0ev0W*xYEIA!D`6kkL;Sct7 zEc6KWC29&+6D45X@5Q$3)n@xC0?vC3WE%XOLpr09D1MhRH-jg!k4D=9<A)JI%Rb$p z+1t=tZ;1^b(XVXa!1vFBSzFBc|NcqAGI(jrN*lf9zxI9a>*AQc?0)Bv{sZ?sZ!ADx zHn-rCyt{pf9QMfljYv8j51QVx%c(j|4D7CRPh3+s${_USmHBp`cZZ*5OzscQc!+lO zmOGsm%brVjx3i7iv<1qBz3wII<2%^LD+nF>q9mu^hV)(f)w6-;b}Ua2u~<T^yafd| zF-DXY7V<%VJRWg)!w^z0gVw}d=q!qa&r(Q!Z}r9-lfN7vSQESuTmU*qee|+q?m61l zf-q}AF6VH`M*e-a$<V*hbKw%b$|JxZVsgRC&uo=j0R2}N3<H-FGtdNpNN6nF#cb&I zL>z4VjNMv>{cqJDhfNx*IK+WHn&iIHOH2>%It!P5(jswj!qdvnOJ-OWuhc2lfL+Ty z{b8UNqC|gx;iHGq!_xwM#;KqCxuE*JQY5H{3F;u4G}+`3@)es!%F0+KTV?T+)sSer zXHWkWWP}oa%J+}681sP=^Ja>c4{x6PLKI=LdI6#Z{>|S*+hvN!7L?weEEpf^cW9?s z4+eezVL%+)lGf693W@+|8$f)DlqhLd%9I-N=K5bk(mEg=>wcPwgVRKi5ijP)h6>tp z1@@frnqLOJBY)G>Vp&3HnXGH4AQqYUN54j$FcCq~9`PHQ?n!!bOp(r~;WjeWHdZXy z-(!P;jCuYYB;ji<8$U+gE5{1y{J;xu#9LT>+*Pl<j=zKo8sGeiGKAEU!({X}oKiXR z3d&PEAU7A=p`pym=rZ-PVptTgybsiiTnu0<r%8dQ;(xAuJ<j{es*r?M8oUcuOo4y8 zDlGQ3KWEkiO+F76k4%Nf2EN%03M?l6qjmq?g)ZL)S?%VP@au9xxjlYE;%hY#@WlFW z$drAcW=*Az!G#fKt?#6vwiLf$fB|#cSP9|Cm)Z?>eAi%mQNx?unD5JS>btJ}-`rl~ zlS{;ljPL8~Z5J7d3)Qlq!V2zE;)XEUr&93z6Xu1wj$ktuP`GrloJh9?c0U!fU<Yv7 zrB=&1e6z`m`C*NfgIxr6`@+}PNDA!`XJp%T@J|F6SPh`yw-aFK0j~H05Dh&6I>6Xr z6IbzFzBtyCPE8<gdtJOO*m#9e-=G$NKRu+X8a%niWC6*5CoqiOEemAv7JZ=1h!c|C zH0(9)Y_>)xjsX41!m<4@6&Di#!B;Uku)$BzEF0Jbw}Tk|aH2SLz%_BuAuD}~(ERY| z5qLLGCnVT8a6h1XZZ7-{^R6t^aPNO7DRq{nFiVIWldfVMt61#!#9?cfmbxe87XbN_ zgY*v?u0+c9f9S8Wli=Ej3FfsHkI?p1ARDlb2qvqsD$<TFlifvyL4z>`rVwywb<W_) z&!1!OI79LM{(ZNSs}K}g$r!R~+3L1qyk%wScNvG@sBU_zC^``Ea1C`!{_}^Qq417L zPU)u?fA1Gf9%f!34q8OT)hPzJHy(FCa+_Dzy){l|3Bhmw!nFUJtJ(OPSLL@S=0)9o z%%3G(vW@#U<0^LD719T@PgOCd9t&k}wm)3IPyA`yn!x42Sz2M|{(XeflFZ%AM`EbR zhD(s#)1UZOr!n7ucG?8(l_OSMLN2*K1gRHgY8o<J{p~)`v_UGaQ^Nexqo>riS@`Pa zEE=84EJ2^lQoqLYnOHMAyd}wPrtoc?>pyS)i3Js&IkKHV44&3j97zt$j2{l&g3W(Y z{oRP}YqQqIxY_gk?9%wF=CV-sXY=YIR^GN%h`tJ{p4d}oA7T(wMgLwn<S+8E&|ZkP z4Kcc?uZ}n^0NP+w!w}$KBf!H|W5M^ik>0b-Ze5j~EY(^-TXJd>6$Y~ww^pO!(Hf7z zsUhSMw<em0KIcu}4GbpFgvIZ0Gndhu6=vv$thO|6e^F)z%6MiqxzMc#eV|-={3f!b zB3tX1J9-zJb#*IQ9GlDscEeLV%|zSCc*eq=8&xn!c}f3NfNiYd-Sw7*R&@7ENJf3} zljOTFTX7w}3)jh`FSF2J8aulfmS27!{zA7P6y6Kp!In}6=qLARf#K98dj{UjN;duO z!~B+^Le>rKxRF@X0~K?Aa8tGE-#wBH2_5mJzF+uLL(Kd|k2()dyXfr)(tWX1)8x{= zbY^CX@$-&U@-69W$zUc0{`W+kW&g+{k_VHuEDmEu``P3Fn7f`bQ-qp^jSg=X%2F+< zW;U;UupvME=#+*ebSJ#iP|sCG9|+^7dQ|OICs;l<cBAhge>_cfOD*L8w^sWP)64|8 z`&d!J)43AyH}zcg32;g6vdthU<oe69dF$O5wC#i~?1Zq~&bOwPY}*q?KFSi+53FS+ zBz;d$UbnHXwhH~qokpF4Z?9S#;5|;*T%YmHD`nx%v#}8Dwadc4UF|#KeF6)I;QL4X zZzXLZ|7_uKB7UfR&Lbxz9LyVG&5WR0d%o@H{|IjWD`CabegBg?G`jZ}`Pcsyn&ZCi zaf3_Hlj~DREIyryX3cRM^7K9okElWyo&o_Wa6HNcV{i@P0!{$a;Q&uO4hZVkM?jc6 zlK`UYJ0CXI&;Aj$C%%SUD?jR^*`iI-z;wfw0i77Bms)Qg>X59_LBa!oTT=Jy)h7P6 zSRmF;(}iAEV-A4JbLVwy(BNyjdrn+kpnl-x1@n8Mp>SPb&%4C<OZ{(ck~@H4999)a mj_&+R_>VU)^{)d72RJlP6uP{|asKP4B+yjXQ>#_Ai~29(ol{=` diff --git a/docs/img/0c549416181d6e18eb1dd34825b00425.png b/docs/img/0c549416181d6e18eb1dd34825b00425.png deleted file mode 100644 index ec29faa14b25ca9c5ebd23999f5cacc12a6d6703..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2497 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 LNkvXXu0mjfHrUzV diff --git a/docs/img/0d0a16295f0edf554f921ffda49ff421.png b/docs/img/0d0a16295f0edf554f921ffda49ff421.png deleted file mode 100644 index 7ba901418e8d6ff36c4fe312233bc5456273102f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46818 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 JC66qE{}&pQAGH7g diff --git a/docs/img/0d1089161431c5f21751458027d84535.png b/docs/img/0d1089161431c5f21751458027d84535.png deleted file mode 100644 index 456bb0c7e1080206bbda3246ea932a4d2bcd01f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6374 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 diff --git a/docs/img/0d1c10a8d14f11dd831b96878fc521e5.png b/docs/img/0d1c10a8d14f11dd831b96878fc521e5.png deleted file mode 100644 index 0a1fa8576c8ebb34d2efeeabaed01b28dc739bf8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41629 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 L 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%0D6`C;b<v6qhGov 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 WJxk*Hnw$>+0000<MNUMnLSTYSwc@S- diff --git a/docs/img/0d2f752f5d8c7352da5333f4f0d27835.png b/docs/img/0d2f752f5d8c7352da5333f4f0d27835.png deleted file mode 100644 index b19f2962d169588765b9c2b174d17af169b7c1ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24225 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ȓg>gsb`yLbjC&$sl_d{RH6qN=TxSU^DH-y_l= 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 diff --git a/docs/img/0d3f7491de96f0f5d1d30a594ec42739.png b/docs/img/0d3f7491de96f0f5d1d30a594ec42739.png deleted file mode 100644 index abdd6188d46eb88edcdadb72f9695b76065f2a32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19122 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 OK4b-+GpC$#yY)MV8u*$3 diff --git a/docs/img/0d59f9135c1fed79a51921909516ef69.png b/docs/img/0d59f9135c1fed79a51921909516ef69.png deleted file mode 100644 index 554a2ae40ee928088d8fe9cfd667e8c21bac4a72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 128533 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 MaHP7}G?7FrqdS#rUV06^rA4idTeHK-C*a}dv7 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 diff --git a/docs/img/0d6a90afbcbb1f9414d4a9a8437e49f8.png b/docs/img/0d6a90afbcbb1f9414d4a9a8437e49f8.png deleted file mode 100644 index e16ee6df04e8ae24448064a2f13ac89ed47d02c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19852 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 diff --git a/docs/img/0dad61d266449688c931d1703509bca3.png b/docs/img/0dad61d266449688c931d1703509bca3.png deleted file mode 100644 index 77d82ea2c7943559205ba81e1a28d0a124f380cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20643 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 diff --git a/docs/img/0dd0fc53dcaa34b76a16be18538c1a35.png b/docs/img/0dd0fc53dcaa34b76a16be18538c1a35.png deleted file mode 100644 index 3b2814f9e4194b563fdaa16d067ded004233fb75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63426 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 UPpVsaAt5d$IW^e^X|vG(1HUj*(EtDd diff --git a/docs/img/0df7602f630bb279bdd6d7dc6a5dcf2f.png b/docs/img/0df7602f630bb279bdd6d7dc6a5dcf2f.png deleted file mode 100644 index e80f95a8e94e5238c913045395e3a7c446b15647..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1584 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 diff --git a/docs/img/0e0e78d03e98ec2ac04952defaba83ff.png b/docs/img/0e0e78d03e98ec2ac04952defaba83ff.png deleted file mode 100644 index c6096f09c507c8142839e6e88fdc4ed389cf1e5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5199 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 diff --git a/docs/img/0e2287fb4b32bf9dff45f3255ddd45fe.png b/docs/img/0e2287fb4b32bf9dff45f3255ddd45fe.png deleted file mode 100644 index 2a5e67660bfc56dfa483977d52c0e5b3ea530bf5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31374 zcma&Mbx>Pf^e)_%0>#^6#VsVbyO!d`p+NBh!QCx5EpAB*#S0WD-r}wW8r&hc1oz<n z<^A26duQ&<o%#MrR@OOt?{)UcUhCP<v!gZD6$x-Dai2VSLZGZ9r~Tv!CiKaZXWP#) z(4Ln78aMP8kEZGe`Nzk{?d>fd9*^_$b6w|TaRIK>>WQWps~0a`;Nalk;^N}r;o;-s z6A%y(5)u*-5$PoFP&|3!PoXR)^TBuSpjFK>?|uCPLFBDt;rI`A@n~y};`S^aQf3iC z>{%V#c=ents{P8xGF?sXE2#ST7+}%C>w_G`A=uQk)?W9Uo3hM_cm!{os$9qB-h=5` z;@V|Qng|um?DwqgqqlETEw9sG9~{Xiw;<2<x&OU6ay^S%Bd|CN3$A|kx+VbY@0zGI zRkVZq`e*J<%wTLmif^wQ$KD3zvY45+p<BF>_M3l@#$|<#-20&PQL6D9%P{f~$O=Q8 z-m2kXZ)zpOnmjdV*YD!dTU3gzA3K=R^mytvo|iUD?kncIW}7uu#ne=B3(+R()-$}T zuy)yW4*C=k$$452mfi!C>|ilM_i?|o33(J1?m-&$NvHmlyOe`dl)rrbmj6a-7~~(w z%-yonjn*R*mU?{578vk_v7R#E!`EWwMy84}QQ2semHt<s_@inoKOujizYE{!M!|%Y zNxD-I6~ppC`}})c09*xd&H4zHm|<?8)RmsFO?-R~wOM2zxu0p=Qf<QFY7(d99HV7z z3{t>2luw6rfY{C4Sc4{E1A53_nhiD2)48$3R3sO2+V`mC+Wy~P`CH6@piPUrmiEL$ zZfoqj?QH_(=`~E2^)X+{)#ZKn!gk;)fkL_#9qXS!to|-f=?Mn9n<JhGMcPEz&)l?9 zN7<=Y--%78O?%xKk^EyJ?-NG9NtipDI&lY$0GIa!{HA{$9PUsY=2<TGAPTDb#sSjo z?cUeV|A~|N3mJ+J-@H{vB#C}*r!%7cBzre5#MuP4$#+VFLn5B+Y!%4~KV3ic%OjT3 zQ<N6=_>=KU`r>l+hBRoJC0H-^h&g>>o9&@?#z!N6EELxC-7QB#e4KXDojQMDU`tS5 zQSkt?joai8x8la!(D?a&60rX3gHFBb!zs)DzPXn3DUp5ODd(344R<A|c-U>sLO1-Y z(DkB#!Nb#xTWV>2m?D8$b;3ozR9iBNhI5wxvrT|-?v~nwYmUW9-PZ|9lZr>bE8)PX z8SFs!Q-k~a{KY#hhqUNFnx?tXXm@Pr<;Ai_wM#TsW>vXzK(=vAO@xR&#BUIg$jusX zVxLo%3+XU)rGu<YYHcJJ7VvKzUcv_WIYSwK>Zb0dr978T$`6^ThMG~wT``oNy4EVU zAC<I@0q8Vg!8Or1^o@2m#dJZfibhwlgsCIC^=|c3_3OM)b&Y|mU(~?%Ph4lcyG!Nk z(xKqPgljs!{*mUQEjyH|6+(d~IwdMWV4@{sHHpi=Fu*}Ao{Bj!Z?vmu-6X^qsy{y@ zR-W$}*a-U|1fY}-5}@1s?xF-CPBVT}nv#87V~IFanLCw3R=+-Inq6va27@S$LKeLy zqVGhvqfqSp2)YHnxa`IwawS?;L0Z8rh{I$aWR_**`Pp5iWvov%`x>^{E6LXibcPP$ z2rCeI{JZ8Z{1e+rnY3m87zpvf=Z;5znBXC!QSkE4pg_86&lMj=NTUb_yo<@~a_}gX ze3={j_qDt&oAHc}9b0*U-S(CCB|W7~7RlVl5gSi=ooX`0P*nk1n9b&@)c5-=Np6Cf z!vNH>3WP6Df|4~UpA7j6Aw}!3qsb+I9Ud}v!u8pqx52v&FT#dROV~Yg{G|Vz=E^ir z>hPt53t-ugX^feNsM4Be6(IatGPat-sAu(4(p2eyvmPReHHI!;n)WeX$%9Sd3!>WE ztUXS3<udrW`2@EUmDantlV8e3f8RYKW(X(#j2i~R8UFQ}`1dsf0b`37tT&oLvN;k^ z)x^0kbjxFNv170DsViq3k~L_(#J3cNS8kPNc3h856dMFdX2Mxwuyar4H53yoS{*8> zUnnllLEU*=B_LT!RcE|=Y6j)OWm#(8sYf5azhRVr`a~La5bPS>Eq0G*I>tO3K-^~e z$kdP(G&WUvPS5m!*J0jHYj4O=x_?&l*MI8O-p}qo(_XKl*_j~!298g7;;)Q^(<LvN z9@R3wK*6^3J&IpHOdz#tOuYm|DNQPa^5E581}W@2FfT>kW^X;zRz!7RX!?Tfp;FB= zn^bc8g_&?IiP7d4tCtV{D?bWHKE%Gf#LxW2Y*0h3SUS~S%67y(-qYPqfLes`&EY<2 zIO&tt%)I8VU;ZbNL_NgyP$Veu7Ue%}N5?QYbM>B5E(AHPZ!Dc4uGT6PNG^6~V(MK@ z;m=+fXj>$@>EGK<ow{MUz&o>+y_&jtRyN#Lu?Z@9yl;K7{O5K1J9i0lnAc1B0bO#L zdV8+*Z^!Vr!v9JO;Y>m7rU~hHe?uoRmD~Yx278q&m0~1x#hPD#-vzB42msb|ct)s4 zJ8uFc-q?QjqKE&2Ctz286{N5V>ONmIIkbA*vJ$PiZA-jB!84=j`~^0<kTL$}R^T^g zqb7h{^SdqgUCL?I+C@W1>n!4SvF#zKxFBcav5`MEazt6#SUmm(J0}+%w|H;f{ZXhQ zd%MJlL|l##oLl8v=Auq49byqi@3-<*3B{|HAepR@-ScE4M)*!4uP|>F;#reQbi^N{ zk_)d^A0`-*6M*7~UTIS1a2P?<LaCD^sNA47si|xfH1F7XC<Q2&q@KU1()of>3?H&I zi_Cbf)CON`7JCdrOy4+MgZFa}lLjTb&x5bR^E48yXMVv~+3L88HcPI8`Cwz498U~+ zcs49WeIx43aVkrw<qG)2_tN8?XvsRM2&hFYuzco?D_7O}hA#)4?fvkNF7d7&o__po z|FLVatDOHyi7*Yd);e}37}9X=8Zi<m!F~zY&FS!_Uh|!<LoxKTSRb;Lz3*)_{XC2- zH1Mk>-eSh6s-(Di<r#kPkKgg5dMEyvM%&y9c`X+D-&Qs6^gc*j<~GR~3c9uIh3?`# zwFx;~sZvw^C-7wytieCBz+%P-=l?cDm0N$zg&hx!rLrb3zC7wSS<;vYrhT~Qd#5A% zI$C-M)(l|sB7a=HNUgu(Y6Nz>_25HL=Vr}2HL*vj<{S7G*c&fRG@?PSCu5%^_l355 zQzb6l4$7|oEGx>+dMXf7*Y62-9UP;=qzBJ`M{p|{eA_#|J$EH<#%mb6?xG`<YL-Dn zb=uzP<YYoLKO`bW6f_n~84ypQS)UrMRES!z9RCP<w7xzu6)SU8>cyzkO71lO;GoV| zx3TurFmheWkHqE4_IXS_e(if&=kQgB2};XDXp$w*)E)NKIJ!9ULGjb$#>-F?shRs@ zZ*A{>oh+)0Qi+bI2wN6&RW*A`A{;5+uI3e=9TT;27#^-25yBT%p22mxZI#p;fOt^z zzK<$@bD1Bc*h)LCUW`NTnIX@g$}7BT{`LmIDAu%^a!%<SGSGQWE@J<}UFv!9;^)$c zFSM^0B#f_GA^3mXj;&H<euL?khq_m3G*8>tmnTYYLy7ybv8^SFda%<WR0RD8oC0@i z^zJFT+dVQA{<&Ln1+L__k)oYH23$*~jdM;&<i|lrCGI~38okI3iv%`lsSVDjS=j9P zt`?_yR<u8id-yy}k1J148>CE30t?U>%04AR9mAabOKsl43`A$uzc5oR6d+PxZNBS2 zavIMc0-a*zDDVZ1zeSxlfdnads5uGp84RYI>m_7kU0$qoCQ2t66Ha5))Q~SLUg1?+ zs<>cSaqpZ%{5^+KT-1i@tVmWxx(T&i6G~qj{q4JF0kxttws8KhaxZ?ARVL&wbGS zjef{hq#_I9Q4$%HA@OArNl(eaPCiNAfC)`yr*F(u#i~!&P#9U*=Dj4z1goEN_`io? zAD_RGQ>*PQ(3`<&5j*iOxDP9v8U18b+1QY>toz5P6ux>npdK7E3SRwY?OKnp?bQiT zYgd||aF-k`ZDu)Aygq&)WG2W~XgF7Z!G4y)CH$UBi8gXjLi>ziMfH28rEnS$t^mPw zwF(ag0sOc<9AK9JNMkQsa)lLRk4RduMUgic1!SIa;5=H0Co;R7m=Gz_YTifru+sTR z|9$Bw01bi*`n4+ftbSb@TiRDQ)GXkZQXly@#$;2a@zFFUa#X2}v$Wy4&xzUu^1MHK zI=5)5D^%kxG*q+#-qO=2Xz=UUb_Ud~!K%ShTB5G?KrBAQy`tK<rFjQLdB?gkm1}Ud zmo^cAYnanAqBdt8RQo>{@J|FZt#(8PkCWD29b*5vqzRI$$U3Sn%&_*H1SN8Ncy_;s zJ?&XiZNlTNsdnl+5$O5tMgC-p148Z8;XbG!8-J-Xw&ox}vEOmoYa%hMu)$?9V;YfQ zaYm!u#t}&Xw{81NT)%DhR-8D8gpQETtGD`H^#Bt^Ly<xm1Sv%v$T4O+^43SdF92_} z*D(+eu>4LIV`QNgV_4Rf&*j9ee$<ORzsUdNs4|hBga=4$+t4uAgzJwp0J_D+Q{Z}U zQXnvD5~mP8fVwRZ8YZ>Ni56=2HL}&CuIWFp6tcXpn3*49%LpFm(oILL&k*$HTc<q9 zZvH2>8TRN%#V^k{12(I@@-6}VrobLGmBk}6g18QA%!K<k=vQDI*!|U~{mj`WBQd*y zPy1SePk^?&mR{7@<V&~YT~}XS8a%!~1cX#rvf0_nXdPlw%E3>^KeTvu7^c=@MH)KB za>9{`zpl*O8y7<HGJS9nv+k;)+4emL;l<h0i>NBw6Sxc6$ETVK*X#6D+*$AOr`BZE z$ad;4>Ym;uq&QUC9SXJ!ZFJxb2oW*6d${5?#Ig<D`ox;kjwocV6gJpSB4O8kC7JGv z3AC)vRM1y;OZ?**@eR%2AEeVTZN+md+Y_~5+<&m|2Yz|do_HR7U=Et-UF@oRV~nA> zOf5KTY}r)c*=9>>Z+s{d(y1$g0eMq#!QlJy47jdtPHgYKAjN8ns^#~Eyz_+3tYl`I zItBl609PJ93#_cS7amX_F<Xbt@L^yFQN(wbxRK|B0vgB6^qGcCTzed&sdiixk+51r z#)i2oWODwwgK!|kj0-yzqc+l~Rt7>B4|Yzld`Pl3vN0+r-#hUCiQqEGk?75ZEK*Yo zt>aJhE%aEK2ek{~uLt9nVgoWNc&X@0!!j8h3?EO*bm+$x^6wMh2-e}!Bm3g5PLdve zH7|~~{Bcd{7<1ergfj%3h<-syvM%S#;xq?7%ebI%{@u#U!~_l?i(azx+e#iZ*$>zd zB5pN3X~HWH+V+1Llmpkw(=KW+#o?B-k~~_7#m=o69wNV*lZ7gV3t@uVXx~B4V@5@W ze&E#HY;g_fshQQbOeNJ4D;K_Xmfmf!sW{dTLI$<d;$xX9NFF^i&2Jp{b=dl>BRIH` zTJa<P+#(MH-!#}SR6Qn0y5Jw2c$z`9Mq1Q3SKvX!k&Y5tLJ&V8lI?YKl_zQ9tR%&g zprI)NO|7o0yzxD>0LCUTvQ{fu!hS%xkE{3{JppE@vJ-}c^<1^=onhSIM%m;<=XR17 zGIdpT0Eni^)Fz{acGF8QP+wyf4$9BHQbcmj!3leQC*Knp;K#kc7>MJZacW=wxToU~ zaM&BkLKQeeIM>)G1us><^g-z`WlBhfX_Q*rjG8b7SX<0kw|i2X!QySTNn@7LQ}?2h z1MjO<4_4(=`()q6z}Jdi7tjv9umbaz4$y4QJ^#&_R}HP5*Wd#8&U&?c*<N#SRi`&; zB{w(K9`9=@KaOaX^gH=_GLJHslB#Q!^4HR1c1mI&fbL)NotrguHxs#QGv)d8x^tQg zw!xJU%gV#+>*)*O(p~D}r!FJ3MvK#WaX%a1)Dl{F8bfUku2m;Zq7Zs#jiO%4WVW$! zy=A9?Gzay5x=d9Yke|5m5iHVWmPe~O9A@z~M=gV(L?faQ7LfZ{-$rP3bnmlCx2;Hn zkK=OW-E!aR;kcu6w}hT-p@i0+wcK59O2mPX)hnE)oNqC=zR$|i5)dQ)3fbbz@)?~` zbK}V5msaSl`pvdOalbaqkKi=-l2_+O6n5Q-P$IVSlbdf9hHiK=<^C1VuM_+}{}^$; z`9QeP)5J^4GzOrK$LHlC@>6^0w7>nMkk`L}vg7F;zclSnE>!NTKxM%{?){qvx9q9( zz3+iJyM1{h>(%HJFn$eW#*Xm4t7#m?Zrs->7I|oBDm59rkmywr^b?9DNskBC6Lf-l zRfqmc^5m55CfI0yJ%7r`&q>O^8+G7VNx?23=v_<zTumyWUiwvDL{*+YXh3A`KTr<` zooak|$a~aWKjpgIDjWs>o``0!?n=^mLzATKlvIlvg%?N}H}i|t-nLje@r|`!%#YO| zoV&S1kDYsSlvB=^_qm9;Df@(B;JnSc^-DuMULDccG^uPul(apzw3pdK*}NA21Tk2= zT-T`taXA0o3-cbubCX{iPSamq_bV7^E1V9miRfNYU~HVUv7~Uo5eWLXaj0}psJ&hh zOM`dXoGLIntIM3T?z~rKsQ@)8;np?Z361-a?M3yt00bSSYD`NvY`v161KkQr`Te{G zJ8`83CUV5c^!%Dkv-a`6tH_?V%?xwINZ=wGik`Q>RTX@_LAcYrF*T+{x6MWyO5R`V z@sc^qv2=}Hiv-vY*u%_<ma0$LpWgloG4-~ap*_*mD}&9?(<o={4}yM|Hm`$#)XM>R zNY=z4Z>#B`xE#SGu;-8Zn=~nkdzpz2hxa^R%V#rY-vNZdsK#r?xTb@aWFf_#0wJ7S zuydjCj$BXXKf1)G8}a7-3%~u~_W4RV2Ux~qc(PmZEmB1=u>VSP>thi-#kMQe)BWY# z9ci>@VYKIPw6$elR;LCWruzy$23>bHWom3$$Y^K09*mA18;So{Dq!%ft(KTJfpC+{ zdT#$&{+A1y#CdqiPz@V|xu3s$I8U4-z}pXTPg}|wtsqwKz7y$vS1Z)LrZfQ-q#O81 z#b0h<X2;Q6!kKDY=wHUX0v%9s(u~fwp64AF-!}1XCww>4m%5njv#6ZxZ7l09VafZT zJmGw&oRm$&L(PqXGmX6(_uLseQ<viM<QL3zDcmG^$+&c(=cA3!Ph)~;=bwlRNin3g zYy0?-&^(}LA&X{lnl?}QgE4N-LKI5%5?=0zn>(d#3t#%EZW2PgC=utARRLUGKV<nO zm-eds^Y`r*@5P=!)^jk;gv5+kqB#S}fSVM9t#^B*cb_5d02{Dq8JtOwC1AP^&nn?# zX$aNMP<z^gzZKoZhAKnJQm11PcTgc>D<OAuF0nd`n{V2rhNAA|<HR(w3PuSt@wD8L z7kBm6BvXHvA)%C$=yxZV!FFv>Z{p691ra?Q=A22x-K?6Apg!_Z0o|%UV0^k2GT0<; zziGu;QZRW+>vbb;Z2~L(W*PN7I}>H`Gd>|b9tps3SLjJQhFi#&3>4acTb79#QeP?8 z6q<pwc&3Y|)MWVdCOAM@Sl{f;i|=Hsm`<|17kz#7+$EXaNt%($TS<`Nr8dN>$&vht zl84x0nUPJz(zf=L%kbarkg;4d%GPhcn0c)i>+<?Vj#}NyKC8^(8#6K-4m*}n&C(El zz~dPU;P5`}$jZ#_m$rTG(E53fgK`mUQl+?j)o~Z4e5t;U5ph(Qu?*W9i^WdZuD;AX z2U!&2a`*t(sCNpS#EAswgLmvdOH0NJPyC|w;_K%Vbw{Yu3cps_jQijz*f>8;=|JpZ z&+obGL4F8c{o11!dv}nb*LpAmAGgCKUze?0se<({4Tzc1?i}loZN01-`9o||PmO)* znxDVOik*U&VFy$D<=Ev|w5MN4Y|X|XG?(0-EMysI)Ant^S;!zKP;aEb#J;;$0Oiv* zz|Y&->a2D)w|U{_bM}}7j9nY}!xA^Y_nxZs+J-cQ6BupiW)1lloG=Ad6Sqj)_dbXx z@^p?9Z%Mdpf4fMr3nd2udymS7s<-GwZg;*u_2+W*X<EZ*$H?!_lb(oW{qRmkyX>6Q zN3dyLD&qj3Xr@pbUDGITQf=z00}827$x9k}BhQz{z=7#tr{Rx+toy#Hl}LKx7#2>M z@<Dg^Vj_IC3x9Uc#K5v(q@6_b(8!@2H+;!6mJZl?G0w}xZ;}`+RM262bmQnFb|`s} zgJv@31%BFOf#|$4{HkS_JCiF0Z}K$wc{{udhu{lmJ0`n+JBaOLpI}c`ck+_*)HuOK zHBVpNp1&W<$(Z|jNH4-}f66)upYtqvkgsRG9+ySf+|L){ovF_;h}wq2a{MBR(!T~& zxQ}GJ*<LD|rB07+{F*SOI$+!0c(BkAH~V$Z&ObzyD0VsC4hfJZsy?h)WfaVf5wgy2 zEnw!B*9Bqr6cJgv_kNNL4_lLy0qDGh%kg0*tID8F&6jWzIX<)vApXz5{LlTLne!do z`zBfSWJlS0u;=O}K!e%_g?H3%k+3%rc^e5Gl!H8ha?bF~a{qWiFU}R%5DbLJWl>wj zBj;;fK7^DY*2GAJ1>f%*#$Cs`5KafkW$fjf;l$E8HgRQ$h-0Ub7N6z3br0wH9$TH{ zsHo-mp*7T;oFK$>47x2Kq5ec(omtu)RKg<0)_cc#Mdjurhlu+-VMI%Dv78Cs6x)x` zGe|Zb8p5sk5C)b_a&(2J^*~}NoCCmPfp8%RPE3(fov|@y$iW=3{KZ(a4kQRl!)3{0 z?JLF$*ZaIrxX+>h9byw|QOo}h1o>I0Jy8rErxiW_qBVlb%WjQc@eOdk(>)fy_Fi== zv?dAjB#-}jn+evlIeA{c>V_v?;cqHXU)Rf%PW4p6j%3yRH|9H<+bJMr*J5eZ)dPW& zckXB84<N?yj{y)6f&7xoS1Jg-<E+5tHvAml-Q&SkHpr8~bRfE9e>#Cx+2`6E>9dQ_ z;btq5pTwY~Qog(n7a>)lkjf(0eNjQIn~d{V@-Hl3m;nA;*EiNSrgT#Gc$T!S#Hjl! z_U>$pnSztg!7D8%CleVuQEKSpwug}<FYDu>lo(*5>>gE*<yuvA_X}690rk`s(D=5T zbG<i5KxjTw#7K_;o<g3k^%CPwPglWKrT<?gt}8k5%txvQ(!o{sS92%AB2~QTLSuds zEtp0H-l{?1Wr43a$pJ<gxFHej|0+kp6X$}^faz%?j?q}hlfzFGbzdmlp#i=xemNB+ z4}R3$hzF8e3&h3K%Y8Yp?Ubi+70mzDP+r39v)5B!Ow+xduU)y;&S*~*WUbb_nLYoL zI}=VJfOsJSe|o&dDFg)<fs};+@Q~6!=W7Sk3Qso){_aeF5`)Jc)PdSxY;y&1P^oco zWFd$AXQ3@0IXX>h00Egug3a3%@mH@&b5g+!z2zp>hs8z^Nli4-_l*aqYs*5LLdTWZ z4bT+p@_AJ#-BF`cOy9U98O$#9@XW`YEyJmCh3n0TiSOyO$(#6Q*UT3=jVlJChg|!9 zvZ(q--W7_bUy4%KFb8*7#OGL@=&JrMzmu1DY@=3vd*ke-qWe(=;&0hNK`^0irT|wg zb?-OA>5hGb9r}5#<(d`jvk^KPbB=gMkW6rF{Z$C~m=xa-lJT#{+mzJf922H3KUKp( z@jOGAl0q2;0ychIXZWZ!{e2@4KRi|#K;gJcP2v~jhbh8YxWuL{MUF`^`Ry{UBRRLz z1=D8n2FdnL=o&}4cgXyw;2Q#8;j4t>*xykh+ARYM&jg(l@f%1h@^nLS8oz)geg-<n zXsDu|OZ#)HP5jo~lElAle9rf9zGSa+6tXTk+4dfkPnpry`8PRb>sHJ{!okrX&mqH1 z^@AA2QTS0_-z{OF8-5}1m}T1UaV}q5_DI;3{Ckt@M`_wg-Vt+ZcXD^~0S!GFz?0=- zdVlXDca^G6>gf+J;cc>KtY>zQ7XV=cJe%*;=5q}jSVk$+#q(xJe6BD&J<tG7=59p3 zvCV+8G~Vj>J+Z9c9KjgSf_L7fV%Q@=!fS4Fx?69h3Iyqg?ui#LM?jaBSUe6CRw>Mg zmYj`yK=TW(Fyx`szeAK*v%+%b!UhKwNL}ble#*T-M)2|b0KSf3xmcppe<5y<O=^}k z0Pfq%`&ea3BGgJA(Uxlf?%^{);x`VWab**r>j#2IXD%rbI7z!ST)h-NMpJin<sELy z_tdvjo5O(8cv3m#Vrv0(Sq-jg8VJuc3-G)h@XuUCr_Q4#G_4}4GQoT~*kuBM<tm_- zrRzB1-7E?|V@ZP{NIs*x7t!FDOXm|eE$jQ)PW4x&VGN6yAT*0twr>{FtmLP6$oSUh z<YQfW3s{9QZLKwsPXlD>QMrR8mSo~ksYdf;Iq!^))_~=wg;|li;t>uUv9BW?P*v)C zGq=c8`omEhg_DTpmAw58CmCa5y!yY?y|1fXDgJo~<xGkeNhr2M(0><tl|}NilSSsw z7mPQTx7_<?68Pc|Vd}KAgG#fk+5b#jwGR7W-V0F^d8siEFUc4FMv#*g6TV*3I}_K> zQE|^&Du8tNpKyOaY~><ewMOWR2+dp?MQhMe_PD7zFaDt%02xA{UHiKPdtAHOQ??GW zs8F6Q<B-!Y;4)B`GYkhhC|=Y<xR(A7lvZ29Az<+0$WW^xXrN?RvHQ)Hb;`}`0d(U+ zU=~dN!r2PH+Cd^>K;X(#o&O{G@^E!c&QLj$A%oI8<!ry^VQxg5kBWpw&AEzvNE8OR z1(ocUX}R6n1#U1i+#z(t=K)gtO66k1qwg$nq%`q6p259R0&Dr>7Q(70f5G-?y$7qc zgbGHI-X$-nd*&*fW;Kk{8pcTO{ju5V0%4OYm`r}oGA!nmi@NpYs1b>MSZ>TZyK&u| zA$JWBswW1qhb;`J=#5j6ol$6eF36Ym#skpRv%92v@;!ACGlhVk{aNbhi?XsZ<aDaW z8*t%$<vA9;sWehZi65GMK3Fz5oiV9SfY<&K-QG5R&=UqhU2`>Hn&xRFrN;rbL|QRF znng5F<fLQyNe+&E{Fw<RzPe0Ca;SuWYiNGLNtyw|#HN|979ty5)FG~EVMIr^?iL~S zJXkMm_)A7qo#bZK5r4@6Hj+sPf4u?$6ohR*(9g=$IA*EH9U;CkyZc;;i#A|dZw7n_ z8!C6xso4RKg4r>Qo=PDInc?vob(ZvqxI3w2)iH)fWhQY$h6UC|`M~(%n7zn_{&!an z0*%`s1AA+SNpQfDZIzZ8Lzl8QgR-*+xhOO<zKZ<@pVbozQlm`MH_3!lsI&j8dRgYK z{i$6s{u)_4#XTsdkP|1#d{Hw7w$z*zrOv*1whEhvxQB8|^@DWwlNSWeGj)c%{!FZO zhmK4i@@zi6ghQU|j5_^OyW7;v{?(!8roX$MKg&c>%B?PRKU!TPws$3SW_+n^&uXg1 zr!KkIvK1p**I&$g17-;dMP8crI5OIF{&*ma8BzT|c;|m%p#OnG|G}VS)&GN%P9|Jg zSb`!&N`d0&*+z1)utb4z8Pk*s>7mj88DU}n+x*X9{qORBZY3a;6>Y{$KwHpO5H{2$ zKN!94M>ML;<dbJ<%Y1D1@l)jZdba4Vh1?@pu(e2z-il=YhrPnU?YJOQfRI5gz(?kU zRk<yG0mnhU(H*n|5y#mqivi6~S&J5jF)x3~kVsW3ylMdC12llN!ld}a;lJI(3&`~c z?Em0^=0AxVcU(MIM~{IGycP<>GOLMtU{}6Kp-rM1WKZqkAPo65yCwHK@qfAykG1{t zQO?-ai5@|iyjW7QIThiA(Q;w=%0C0Mfe@XBFm9199zmP9YT4Kf4QmHvf(?{hp~!<e zd?739*KiWLG~}xB%0kUmisLKww}~e72-y*Qu5N<7s&w=-(HX<Y!@%6M3Wv|XpTBq9 zPz$qtR^IL^XfuY?ANN2<XrPqv9Ij6CnV9Z7LEaldia3woU@c@7XOtish2|=o-bJyQ z)4bstun~+^yCJ??&wwbe=$yrkrdyG?D7e2gzq?c=mD`NCo{RmJ(-_y3mQ<p17Xj`C zNqCOPxo55J?!_RD`)VcB-StL63MT?^Vs#V}0<eiO9hi7}zkIeGYlRL%Ls@F?d-6^8 zR533vb+_w6FUzS4mbhbr$ig%~^>2D$ra{{d<)FM;uL+sDnfM>$AS%qB04T(2HacUG zS%FU9B(n5we7Fj)T5Hcgxgc<s&p`xlT#SA734cHb)gH(BP?<XC!jHtHwR`2^*DFFQ z@s!t?3S&~$Dabg*Bdp;<Z;uV!#D3hC3)0Z~YB!+*^qqmqZOT9csXx_uIp@3V;ydS0 z*Vr3qky0+t)1&OQw)6rMQ=^TRySYRPb5KT=pawU2ItFx1nHANO&tx#)bly$t3$vo- zs%ieZ)?N@s-uYx$1{d&tK|MZWVSDR)^RJ^l$hhMYfH^RP<Vc0j9}~}fkRTR@FAg;i zv!@mSXp}c~WQ=-0S%4yghJDQKDI68%^3idb2#UrKWFdoI%WHKgI}7^R3jm6=&d@5^ zZ+4-Rk3?-mXRowdDm8>Cp#{xvznJ$WS}4NWDZkJmX?)y>nv=i-JZ>3bYxhcRw#s$Y ze$t&}bTwx`dVF4iKW8=2sAW&4H~+)1J(1btQH0+5oxUX@IZ}7e2yE6i5Rv|;tp>vw z>|#|TGiYE3q}gn5GyU{+@#!pO`SLO3>8DebPXf>Tk{r?p1EhZfLEUvWKO+Gdll<>a zh5@C&fvs4Mrqni#bDRg56GWFFUoPC8rh2WH@FNNREdsyiG0R~{sc$qocVvK!=X^ab zGXE<_{QuZBwKFt|^LxI6lYl^J<rn&}yD8VqECXWnl83<{RGegELTnmutKJzv<9b|% zHB4v8)UzK4eay+F#q+pKZ=|ai0~3np9>&E{nY4ih%V|iL)d;^+mbFPy7hKd+=)nTd zM3GslZl}Rxqw%a+E&Kixi#bTG_f=VB4JwO9Sf|I?1pjW>1NZ6{li_?AFmm#jO^WpD zVo0fiagmkX=VTjOe<bNI_sBGIhquh{>JIcIQpdnTil7aa!x3bDAoVRx`kKQG-Gh+U zD>!<xdA5p3%?#Xc^@du_CGZ8cQUFHxtao#l6SSipCUV*zeVxK5!i~Iksm=wrjbZ@U z2<qQ4s|&-p0rp?W7P<o(2*+uM>7^Ea%4k2IaUC(&{?4lum_;JA1owq>7;L_7&-wf# z&pU;RLuFB{bAC`Pd~5I>fB9+9I6psieV5r^#=huuOZIZh%)cFTQa9Zsrm3xEeUir{ zSCkSd@nPTF4Nsa@`IHWCsZOdYTptpKCIh~wAD@vfj8TopDQ}G<;r0mID)QRB55jx8 z*p)n^naI&-qGbH0@08v*u0$w<)jYfm>IxGCyjyZfPs3?tK$X@tJJ%nUCmM3<pFBtI zonR47{OTmXP}nYOMN+u&o0B_#>}qd&tbg}W|JJGM7m81Y>n+AQA|?W-WQe;u>nhEL zTq5B&Ln>=TuWX#jY$Sc%*_*B5vI#N9eQ#0vw@Ym|Ym*Mmi1{|>pqZNeqI3O+Dk!r= zFg{Txnd?|UMDyjU=CeapfN-p~i$M)eWP|njPm^YU;>JqGMu~S-x@I9qHQE6&xKzdl z-w^yBx9r;e{ulD?ArAVV-r*1M(gt7+#4C!NtI*S47~MZJ-Xo>`oa(y&`Q**QspU&i z-#1rj^}Bx3wK_BEZt3|}dS~3bc8|0Rm>&N1D&l=qnSVc16$uU(kG1>^Aemb-gOSi; zWG|@2udp{={CJx)$aT{wdA}C?G#I?<Qx>@BtA7Z~AP>fv#_(QHy~S+*wQ|^y6CzFw z*HUp8VQt+gj|H68mV(0dZBb8@m+Tb`2D+Zw3V%MCZNNJeiPTy$t`_pqzt8?W69QhZ z>q_H1jOSLToa(t4xcn5;h|$c$eKW?`-f0#fQ75gM|F_XasSVrpw+Yt5X))j1<N^Hi z1|C;boY+9QZp!*k&rwua>_f|Dwa{s51Q*p;5<`eEro=Tscz=ws(-;%#xS2Sm77C~z z{`Ftn>Q#PIEgVbM&o={nPe>OrTZ%cK`T%pN-B#YhW?&2=xaxcrCim{jn*>rv-+}c2 z{c@nji9RK@Lg<Y1IGw(kKNboNjQYts_?!9KexLQ#>FWv;{iyp96*ah~7!ANUH;aGR zyy;6Z5d@gg!>0-1t^(FP&j8nJz(!dp0e`IsJeYf0;TGBut8Uz|{yLjliI9x6t^Zj& z&2-((_>r61W~E7sb4%$IbkHn?9<fDk42wpdZg7#odO<|_N#%@(T&@T9diT&~kst75 z<!&NZtKc3mxvNNnj1{Nm#tL@&E!Hd^em4<cHWR$jJWQtUj~!M_)ISo1N@j{oC08pR z80@arjU21VmL8$bdC27-%xOLn2y5Op`_cTHFVcap0ngYyrX2u42;QjBH%5RI)v~(? zm!`X)8wbHUPJ``?O4q#BP5chuwQ$@)JIdek3E&ha9w)#}G82*Wg&8gb#$@6!hNL*q zrdWAsP%-dyp=Tut*bQ>plKo^CH7r8&&Zr`B4lC#kSXR03koiEhrBin$YVUsZrz}8N zgx$9kPJVHI+{P?QQE0sjAb>YMezcYxMOyD#iBp}DnWYDo6K4w15$%E?UXc-QYS|Yu zdGVXfZpH(Y%BEc~4EWVe1JEpde#fj+Ht6Km{5D{`4LzUd4RX+oR4V~asVjp}Z1&xk z*~~}F^M6qWN`!{caNjqlf~BjIrfu(GS!`@X&3Jb|9WrHwdgvC!GSUs^?5ncw1Fft@ zeM6oH@<}VIU4-w?b!=ua2p~#edCY#vL-9f0=0c}KY8ZoZZ_Z`)W+AkVcrTaeRRX-f z;M4<s-1<xu)?uqV*Eb<v(=S|}C{PCSNnA%rKe@>X^QrvtVm(%wQZ1#jdDBDua$|tc zSACN`DQ-tv+=#@CM^dR8ncV}zHeZK<bZh<!mWJDQaz|GFf_IRaQ7P_naZE9+)=zZ6 z`BlzL{w?8UzEj`ZT?qh|h+8ryZq;k}hW$Lw2qa$W6Xrc5e5taa()#9LGkRA?tFklo z(lJ06a=`3h!hSGNh2><{|5G&ZByjEEEFB*|z@v7qQv8IX-IgoMY^U6NsWeQ<D6%T2 z1w(#?>x`>CDA83s9JpRGHLw4ZB}i|=@Au)FDzD~<PctO)(a4*8Pg<s4Zk|FZ`$Oz@ zUxvOH;ni|;^4*g3CfVvaAt0x0G<z4uDkTml?rm~t`VaKNz?6N8{|`p;e^+0}?}V5= zM)F6J%GsI{OxvJ+gOdut?b+kw>2Wkt<1HV~;Yc?lRQf3#&@Y_|9!I-Sf2)){(Cp+- zc+NYR^4DOt|EzHE>%|;pK0DMFeVW`g{C5;`WDN#qeN=^_d&xsL)?nvLzOz#Tt_Er+ zqg}Fm(I{AqDj=9LM^*h=Ssn<LP6WbO(0Z^O3dER(yu|s>MF>}%DJKJ<{kdrWo|3in z0#1NYQevf%)B9Bh9I2B3@m}O5^?(?zN1LV|6kl37)txwB(Y-?tGLvkqMy6Xm?ZSUl z?-8YXDM&A^jJkb6x6TbW?V3h)ln)T){yS2rs`ZXvJzG%=G@i{vNejSB;fcC6w#D9{ z$drG@dD|;CgZ=pcI)i${<U6iM))bnq)0@um--Dyeupas|=`hB2D)jD`RJc#6ZmVH@ z3mcf`N7@kkOWs@5{B~l#x||=Mh`}MUFFl}dx?D)`#E)p>)FOBd15O<Kxmg;o%_Z_d zQ4@K|h*0gn*?j>|aWOMUq%(rOGEq#TRuB7Ur6q#U8!&Hi&+sa(Cw3jDrPl9hh}liy zwvmiWnX-^tFq^$8_9_)ryI7XJF0r@39J995vw9)t!sttm)lzLekWgAcC#O<ZzToo# z>BA%{xPLvgjG#`f5}s(<7FIDu%vcBUk5uifV{k>=TF*2NrPk*dHSnO;zf@+QKLDDQ z{?Jo|lrOL)EZDEgQ8moUWr9J3dAe`pK2g4No&KGno8kM0d-aYUzA>UK)r{)Yac(WZ z<fffLDnRpfYwVT{sxe*2myJj?$}V-#PnpKdJR8NKa)9I#t}Yuq)TY1Q#p;lUZh1ii zN%1Iw9L*{s@ZZ9ZXm(rxTK{CHAEDl2wSg5<h5-(jt;n2$G=O<C*+!ALq)l-k=9#Td zDR|#Z`Ly!I2shlCnqz3zWr;RPg2<xRr`E_-2hma=eI68ZX9_U#O1W^Z82W3R-k5f_ zzwjQ?J$zdn7`nH(e)E~U;Rz=f-(Gh)0t%Dp5tNpG2G<REC%fNhG!k86k3(p&qpyCJ zZ-^qx+2bVR)g%Dil7=r@kv1!N?bF&H(-_sy?Y|gB4E-XwpfUCQy^sgOYL8o%=e~I* zY;?SF{vP6TLJ`a_MF__#tuD=|{KO|Qiky4_#b0<nKu33L=2F=C`Fs{5Gt`Ed{Kx$= zUcR#u*C2A;&Rz4%Ta<OTG8U()qYxL@Gh?+D-)1MJFT{tma=ebqdK!(fMS=+FYDS|^ z$tUu+N_^{p3?-CBwR7FuqSn_-8N@jU8wS(Zj1-x&LHxCpKFL(Vb|20=B=zqjS!a-n zW=z+c@00I%1rV#8QuWND=>eZu-_-3=`gEoj=%l{=!>;^ganNe^#^bWuTcg})k@>m> zNRd5aB(^}w$v)Wpu^iYfJ|RG{Y$PE%<I=0hNTK?!L%FSyCmFf2<T~ns6#kwmi_Yn# z(<U9|jk?^#D>vN@c$K)<(XhcEyvVh@sd=1rPN_C$L5p~H!)_cySy@}sZ%?jYW)={O zPIczRGVSU4C`%QwctA^|bx-QCLB;U9EI}hJL|Z+7tHi*K5+DQdYymTg`lle&5kyr( z;N=XGvUS%MNM9fym|tdwIewLiJvy|kxhjE&<pATanzE_hP6Xmb_31V{3yyT@zN)!o zw0+%$<AYHOvp<wy%_Up@GZi#M^GeJm><MMS=p2<oYynNrIOw#tiAv41qdD}lca8tv z8o~jMr-blA9j$|z;E<;QORUd;7X4Lr`Ecvje?6#+dt^n&#-X$l-EvBfC)s?3(WvE2 zYJlb^6HUPdOi<}7<ICu!UC`~-Fnd2|`qf5gaNASR>=~#{khd(`MbM~W`WDRCgUTYg zzK2w;3l9v|7Zno92PrkYmNY(znO6JcQ=Hg#-72O^cy@y0Gq%$ad!f@q-0ttKwxzMl zHN5}TNZ@1u1B9pHN~-?Ci}-h6&Pwf<tBFT2L;{*K!#3D-z23wl^&C!I=Y4HQG`E^- zfw$$yEQd}_OU&2C%hrpd0;7iIaz?0v7n6Zr`?oA8Y!ISse0Y!QObQoXF`$7hu%5Ie z)js;LbAvn;vpT@}4BUHS^lXP~9&|r+RRajloE-w?<oTjzo2CNN@1&HC9^t=->HAaU z0l`?%V6lXw7IlPwV9SUKx~MR~k5X#__5RlnDLCvDp1st3dE=W(hr@WyZ;yh@U(YCA zEUznuDLs4z1b<3}q%Y$$UJElL9!H^fo7_jDX0(jgIycA(u?;gUL~vxz3&v{?`>Mxe z((8D$rBi%@<U3{MhYsL%c`$zzaycD25sk_Sam>2kcnQy$1mz5~-ntNPJ$$BzN|yp} z=?tOE@4x0eLgY|I%-2lKNa5Qddg$X5=zU_@KNqHcZa*=`>xmmAOvLJuV7;ZCNDj3% zh17{c8A11R&M!M-S+ZZz!H|iZ@b<eK(+lttTf+8HQSj0GDp{EmJ#<-xHRfMQLip}4 z(Rv}t|4oXaEAm}3pjx-4{o{-OWI`oVdEHtx`Gv0NGG|BNm-qFJd@S?PR$4!4G83oW zqQEg4GAOo8jW$0w6|ZU@jEY_!b1f3J78YFe{uo`jxh|TW^-C{GUkfFHjg$S~RNL=- z>;A`#?obL|&ubP>M4p7iQ(ddlpda>VWB(q&WybssO<QdPus?Az{w6=2)=_O}e#0g6 z!^HUW-z@wsG?~)}x<>PeRGcShhPhHNUOxmGf^I<#z#eX4Kqx>F-s9VDf_6fVXll!& zA=YL1F5}WH`OixFpuQD$y2&`2sY7#)f92=bJnjp7X2jwc>aN)APqZM<pc!{Y9#X|? z<`E<w-4b!wQ{zT1jA*hFedYfBdE6C8%zFT0vz0-Y#B$^x3IM3~s;=B^-BtTOAKpw+ zu_Vf|E&G6>oDG@qFEwcX3$~0;^KdoT6=pz?sPvZ9S{z(!m^Ku>vZpm|TT+iNcjGT0 zy4C<7DjE0l59NMKcwvq`ZgyK^`o|+nb6Spr{xG#gE@ggu4G(646MK-}&nBA+i3-B+ z*^f!Ry$JvrKZdPSngsI>tQeNkFJd1UBU>MaCI=7pZYY&TdRxssJjl}RvbwVue9J12 z&ENhk|64iGl4G*WQ6(BU7)%d8(zXkRHT~$zFZ&f6l&*HG?44|-)7^jgny!J?MqYYg zHKj5W+(NhjR2NeBclG!hA|86Xc3;ij!ZSD-!A_WzxePXVPsg7Op@klB#LCFsPEdYq zYb+`9PB`phi|?atGI?_MY&a|vhCfrZ&2>faq@0&WCL}g=nR}Nt_)WJzewEd;e*D9= zB>)<mdFaj&RhK<4ZhZ#rLr6AltUU9{2hNLX;#G+3APC^DG#@dc8SxyPAyYx-dcSsl ztsFD|iu5sGO1k@oW@AT$t^bw`Ap5)xxT||E%m5UE6!GBzg#Vcrlt8BH6&R;mmeR*! zt-GU~D5Kp7T119sfpen4PpV9TZ3qmt!_~$>r*QOeD|m-pXwC4Dt73oJL?Auxu<Orj zY$a2m<d4SR$L7B&w!!4HhfM#43(fq&-!ME1+B(;jZf&k24iPB!izQ0;SmD|gXl_zI z{Lw>hZknGX_B)ibO|2A;Hwng|!)kkuGw`;(oCApN;WQclw`sVFQtqO)jorxL>*MAh z&0e_aj`%v0;QU5rOrOqXEk{*bV@pEH9&!Suix9wi_Zv0-SKc$C{{=q=GU96cVm;xa zZb8+YmqADzgm+23=1lB$cq&~BL+2@5{`yZsc||7m9ygOLQcUn(9yW1s>RGWC<UO>& z<;RaJ<p1M{KsyLdR(`B};-Hcr^b$(Jird59eXj|)+{VcDwfg>lG3fsrzW)!aPD0ZD z7DeCnu?-KNuzqDRqBa)TN=C4h@B0c~ikaxc&^XKocL|OJ!;}iqu4M6Rvd<74tj)C? z;)rgm>QBSb%5`jNFjkhJWF#CpZ!xS)xE3v(^PzhbO+PgJ?W$`N8sx~tmd7;G3qa9s z8U-YiC`g~b@Q&F^GG2W~Kmg~+{=iVdzs5PT##M$35{s+O3(hh*i@j;$az<@VY78u> z3pJ)m04BwL`c|L`0F1x7gBEpXDKgtxq2M!k;z|--AeHhV=0uZ?*=n)b_r^dM-A+>V zU#c>pJ(>G9==4&>(CA(_PmjO3RAs2QHHtiM(x+Hq#|K=G{VwwQV79WOLZtLy|Dp4% zQsK()uWf?c_Yp{(3;{rZ`bSI;dOu=~VHs3P&U3h{RG=|Oitidg1FbVqV5EMNK82$e z<_B9>$Fl>*#-%~<_~sSBWf^VubGT3=UW@|F0HK6}rE?624~-jf%E0okk;aG5l(L05 zr2vg|7wv1xNvfPuxS^;Y0@)hwHTaC=0*!IQdGJ~E`DLN%o*n`a!m&^lORY`>t{}~< zR=C3OB~L06O!jmTR$Y4~GL&L|g;87fQ!0&bDVK*f@a82e{^uSK2;aPgIwG4WRR#it zUaRas#+QDj!A-gQalOMTb|U8@NWP9GDsjr`=3QYZQXP}nx^Mnr)JE}y8p>{pcPT|G zr~Ngt-LZ;{WCS1@#TNCb9mv;%rcl`q(CW#5GD_hObY1yh=6{L`a*<r-6r|H4BsF~p z7bueKIpQsn#O&e5{@;gK{xkkZ$!QmbYh4jW6QeWyfpT{97H*##y4vU@Q^SBdNx=X4 z(9ui+>S(r<0+*pc9f-f0_Zv&J$dh9Rqqs)%whnyT8^t5kK?>=rZrW;Ja_;#vlYu&! zA7LY*e7O7@Tr5EtYMXj#0%>bM)Av#B3Zh!#uO$B@n)UEcFJ5+)N@TTE!VBj!gJ@-P z&8oM~o@(#g@p&8kuvTzNcuHkwL1*eToO#$rZt8TgZ|9ywsqkpP&vaQtQ^CEB@e@t& zJgMx)(n2V)77<>$<t58b7lzLVUTrmTH}!A$nZXWz+DwiZrri|ER%PC1hrOEthd63h z<oRmmeQg?Ua(uB_B^G6vQ+m<J-PZrjuRW3bA1<C!MRnIO=a0D(SXYORbVhga?;8Zv z3>!Mcaqb{dq3-`QS=Eij=jr$IJX<pPnM`r+^luVRjlT_-P%9)%OsoCiQ?aw=ZkVIo z3{)Gg804sjH7}@!Q48K2E)B03dZ(gvP)T#FB^N_AIo4*kI^tV>Xy_2>PQF5`$DcVN zwORayWs{2V)4p7Rj<@)(VXf78l*GEdWgXEKvfblWOgI&|je4^U{?RB*ZcQ2TP8gK` zoRljWJh`4xn!&Elj}A@~rWI*9x{-wO=9_F#Pb}jVRj=&Z1qy}I+338gZ`KL5+Pg)S zsG~j^wKk<&b7%Y`_jMq<t6f_&^}P2sZ5Uu6lY?`Azo}1I{cY=M(3nOQdJ&40!Q%ok zPH5!JVSl5>XguPQ!B^PN^DP3R1di5MjO*;ya!kDv9Z*y2Ch$efkJd;*J0;p@#lky@ zPA=aIzNEVOXmJOX4YhFXw$~e>;3R#56r=0u`(nC(bt$&xeR!k7qFe(0kcUrwQrB_V z$DO)I=zd1E0nN^diSM7+-L#?Kd#NjVucfO?NS}~SwT&=<ywJfadMw9~(2lR?l^Pa~ z0&l`7adWt?=Rtg43i8PUCJ(JBt-U(}z+|{gUzgo7=c!vAevQNv7xr+R5aeu=a?E`v zTgqKqt@av_A)rJzM`jk7$l6TRpbpTX9z_C8Iv3?h+;#BuTWxC<prx-DF-t|@Kc@fe zdD~hIdsM{quC)Oz9YzM-T|2DD`8$ZW^s>}sa%CktFBS%?gzzE}jRD<%GilK8<1H+- zPUf!>#2EIchx}=sL(v$LB}xm{tt-LO`fChXsM|L=om^^oNSF=QfZbak=&5iuM5>@p zOkkToD{o3oZqBZ?&=D1;MUK6Vif@*g=*MV^+=l6&#?)Ww{W*rK%a)c3qAn_9_>*Dt z%xPh3PJ$G^7{R=FqF(V+A48SGp9PH3ua!#=c0FBUo>1O!5><;hFKse#77jo|K)XP` zyK>EF1NPDaRGsU3giq>MQx1o)?{BAfVq7mv_y*8xeQOkKdW6yIOB!Qnp`~5sb@+5A zm!sWvzJiFg%PFBt_okH3{lDABkY5I6cJK|q%)eI!hIxoTsb_GtdWHZdcFG;qu=9JC zl+I0kL#x6fxxnfa&BE}7A0XUVEf0{BdB)xg@I2nM7;>{j(?%byvem1uU$Ll{z~5`i zcM@6VIll9nz^QfO4Ci=9){Hb&gVCVD=c&EB4sfja(XBu$MUqA>xv;quUU4C*nZDo) zOIf*y+oaDEsnziQK8<tGlu!t-8h%G+gPV7)Ni3@UegfQCQ8Ry#8i7tse;Z@<!bv^S zHONTQhlW&rO=n(R2{UPAq}Na93h4V9X?;X?H{vPa0km8A76R2a5iin$942*<T<IJc zyRl@JGIKvMCnAO6abFt7>&S9O!Koyl*S>WU+E+1oeXn)mXDuu{z_asK#^4k*@UvLW zp683L`%~ltLnpLEsh2VOU;H{i;_k;D;-1Q9;&@vFlK>72ju)^U+?{AaH9eXs!{pvj zzg6`9pq{a@Sc5Ff=fLwx!gsM>=iQY5I7|BP-!qL1J<L73?bTNL22?8)X$7hTtcaC> zbpW&AwY-B}4{F}pm&AuMRh4#CB6{4J9!fA)^m(0xQSj6s260Kb$f%M+*KaRl)kzi| zYMyag2fQk9<3ca1YXO73AC~W7%}KEobrEvH8D;-pWA7c+RP=R=st70usC1+gLPtP4 z5>!Ay35XCdRDsYtNC#065D<h!TBy<?G((Lv0V$zM?>+RQR0;JSfA@`VeD8aA-0}X& z$QU{2WbaefT6?ZJ=fU7DIE$of7=Rz~Qt<B7h!r-EcyLW1rwBn)E0`b4#vL_1f~fHX zMYHagb%_9*X?QU93a1G!f%j=%qV6@aZS%t?1oG6pSiK&hROLSdXa4{_{Yb#tz+7|r zgX&HeJ=|dOW<K;j<#Gb2g8Pby4$W%8$qOK2<PRg%PDpfYg^9Z8;@`9n1}L;ekX=rJ zah)#wm}WpNOtE{k5)0vrOmx5&kt0Q9)I1OI%&&5^6u8T#`Q=dPtqr4?wd*d$5vM9Z zZAyH2MevnY25lQgG8u<0Ftx)<^Zy(;*+F<`>bV&R^JHNv1~>HEGuD<cubNs*H9)%c z?R=DaGkvzUFnHP1CHzr_SgS>5)jJb8>#Nu;%77=Rny|z12Nk!C+sbbsuc`0kD=PHl zg{9H291Z06M=#3ZDAzw7G7C=Ts>xeIK6Dm6i#l?(dTRVlBEogTk9Xh>be835Q^C@8 zW7TczdyuBl)`m2vm)WK{`d(0wuKK&c)(yp6Jk~DHPQs(|`%Rp-(sz;QAu0H%#Ttp; zlwf~0+VLP!;MbY0-ciGD=Uz%-{NxYM<b5N4ewFF(WI`F)c$4#)5rY2P<R0+{Hu=T6 zBNk%G-LaJ%V}ukdmJ!vtt5Pv{`I-bishxJMC6;?@lqNqJBDhPeDR%H-U`$D~4*6XI zgkX89{vz5bfP#)~B-(Ot*t<7q202Eh^u`CCTXx41x-RUezm$&wi&8yJGA-g4ZH6rk z1x_Iu)wsOPPSs3fIqs_M9|<1UI-hBY>x4<K5CovoC=F`rPE*at5y>}qf=@p|YAJ`f zkph*kH)nNmQDDmAm0hnk$tO>&W~u|=qb^;a!XPejOm5rux>l7a+uFWw5D3O_=|tPg zBnfVwr*%!FF(7G5Bl-BV6%?&G@Qtxg7e^`85xP`x)d%}M8qZGa)Z*8xsIbQba{{R) zeB|c&TL2z|N9yveh8?cmJ1<UNXe__%6a8fF^>6<}#`b<mc=R??v55|7E~auN(a87R z=Ee^Ei*WayvB{qzFH1~TZFjQvuchGPMCQu#X`Swqw#7*Qw!`vB!OMHb{4AcJhzu5r zpJ2WX(i7hK2slVW#Vt*96u6q<B!&TWbp2pCY7-~2iM(z7P%T&yTrRi1ouy;D$0(~S zTD-9B$w#X_+@0+ubih{p(b`a!Pck?vr~DN;)}6KNP0{#7>7y{Bl^mh_afEz;l+z<M zRC2YZXWh#fb-zE|i6eZc2X;F3Dk#`kC=>17{fKQw7`zRJzt3n@8G!@Wb-i%N?QnmX z0bbOMXRb0431PI8AZ_cGgx^nIb&~!y+syL8mr0*D^*EP=rB@2Bb*<E!$}8+hJWsxH z>I+tQln*JORe-n1L7laZbafRKu|)0;dXm8iKb?)*i;<ppjq;$|i)$z*fknHX8*O${ z6ZH1NVQJ26(!!YSY658gIiF!AS~x$;>KU>swSqsy!`Nx|)<pCZkZ$T@)Urfu{F1(U znUUOMeo=E5VH@&9RIRL&{KP>1)P`o^mhC>nzfw~lHBw)0tcLNqEjKT~0$oYes*ec! zhPnThhg?}4ma-68iAAr>j#yXo0kN?JTtk$Q6Edd{)w-=}9F_8XJQOW#FmPwcvM{xx zNa3!ha_KX%8eEJbG!JegV0v%s9e6X;RWq7tA&OAG^3uyy9qQHggeO|ctLlzU>6eXm zc){;ZQM@FrY@1Q<^}f}OH}WCJtWq@jn5d!zOf0Et8g6@8=0`m3Ske2^N_LJmyC-(o zY&$IGseX4BryTSv8uvt0H*cldyNcTi=6xS$BU<v{iQ6;eJ*c&Pq_WeXa2~A1&dwt6 zDw|zIoBbDiL7bL*@+B1z!u!7BV^SraXBE>sN~{$5UYYE&torp46Bbr`Lh*7#Xz@Fc zlJiFhUSR)kezQBa52fzquVJj+gKMQdi><TilPTpWb!_ZKfJ91bk9C|cWXasQVfVGS z6yvCdX?ljLBHAyXrMdr%V11?vTn;UiiFj$HiK2FNzV&zM?ynb`(pRh2?cqj$){E9j zCz+Qfvo(M*W#LN^vG{o9q|{-kXG$dtkn*%jgsm^Vaznik*2*#JT>mbDwlg#sy==sZ ziM}=gH^Jija3^O*X{-`c@XUojtSWSLE*LzzEIz*7o=$x#yyJjAXsRbgS^}oON$Fi8 zvL)KcPzOqh$!-G6Rdt)rZ;6Jt7_;MA%WY-0f+3qqDkv*9Rc}z$AmZDnWaH=I>$;70 zLyd*scw&ri8c|n}rT$&zJkh3Wn{+tw`XaBZ^r^6Q%MumlznJv;S;k>TE}lDgWy6HK zh+19iNw-Q@)`P=PjNDDR?S#!W#f9)a{LwU=cpp5GevyiZREi<|36SDA4Gg#x5H1tT z{#6^D(9ZdU%cN}av11ZuoT)h9hjyN&x3@Mp&2=xJt|05$*3*&wEcRGqE<!We5mk1J zX-6|SEIQLhEq9?gy(O4u{wN*ZcJPfB?{c>df)5)rYKt=~;Sn+<i6%3SG6)UNFZhvi zi^N$n``;lqCWg$7naX)S7L8MH*ItV_%7Qw!;A5&y^;9u9gFpUGPwH;W-=Oho=JmDa zCPFQ=Q7)~IB_jYyY?#cAXnN%Ie&nU5&=SMz%0J*%_fK7gXRi&3N30r8y{~#%%2o*~ zT!)eu9==wXA8Y2C;#_!y6&F*^zJBxfgg85CK6~I!(*t}+UlaB`|7dG_T=C8CxvwM( zZe%;}8O&}N)(bk14Qzjr8PdP<+ibs6Ou4MX<=SkJiq@@kzi#hmNX1mN^Z`TExNS9K zRA)Q+xBOH>t<6&h5_M_Ww#)_Iz^xp7{w}^|$VK;uXTx>10WLY|@#+0t@GpX3sUZ^Z zIS6v>3M0J!He(M;fe~o3U&J|<aJw@GvExaq;5$1$^lito<N*>_$e?lz_b^kjsI4mW z86%Q)348a7NG&BNvz9!5js-~>Ae2fdT(Ae#g{>a+FwLkcOJskVcF}TQzj1Hik;01` zi6*S^?_DQ#3vqYyeRGbq74-zz_g?I@eEbB%89oi^e2@A?C}b?nOaClmzT|vECgIm) ztL`i4c5OIlYB#p#I1GSA!@fm~NqOt&D^IunZV7Z>j{{$>ppEV2jpenXs<O@4wj=^y z<#wCEIM&E_?64+Re1cRnI|sV{X2pY;|6auh?Z%)4i;R0(ChjOfdnts~KAnDZ3zw5? zZ53uU&1jj4Be=AQMT$)8Cg~6WI`}sK-nz#nN#Ndmz5=zbapMm@nfD%`)2H6gTKjUk zTtlpOEBZckCEV|C2v&O6v|m1XXG2`ztqqdAkLy-<NICVe*Sch5*4Ar??3xx?esL(z z+@B6qJq2$DN!#=z@^Z`D>9Nx@M`>P{Ve7OpOQ#sM41T-4itV<6`gRY2`&v%{b||Yf z!&jdCB&T16#a$+v<ZLNla}~d&(;SWGeH)>(8A528(kX<*1jTf*iHl}@*=YWD?_Y+% zYmBNgsIz<B_}s<!Lxd(XaNHQcAX1YE&fy<vRb$9cvvt;0b#57}3B6{{SNx=JE)`Yv zaCcs8e6p`umk2OPYj}K{`gtO|V07GVu8~)4W$V~mn5VJrQ3i+lG`6f9ZOI;tI&>{& zq{99KVuA}C&cTwcD`M`WeOl?Sx=NpMCT6XV$sq%P!c~J^)?_COc1!x&GSjZp)u+Cq zJhl{G<M%UAjkNeXKt;MbgisNkd{=fOTh{bBlKgeNfkW+L@rSx``kB2OGbEmmA<2sf zP+7~lsjV~L50hIU0E>ErB;R}tDhaU$f8P+&?fIgeCz}EOojbsS^o=Ux#W|fd$1lV& zm=X18%rpSFs^WXp%h-pm^|x8w1k~GwSw*|q<<2aWJOh4kc>C)<144Jjs%W|{=fQ_F zYCWgDOn>q&lNZ3*dYOP}5PmF-5$eiFp!rX(SU}N?lAY_tcazk0r;)R~5Mgagmh^Rf z{il#=_I~@{h-SY4>UVpqd6ur6_tgL>$34RsV)<%F`;G6PFQ3@~04O!TO-A-1^>20F z^GuKDg`YhH>)fa9C;&((b(D|Bt1i9@N!*K=T-tM8gvK{heQ&J<(t*~~y^U3P?cVy6 z6L;^I@3No%TW%ffJYgK(dqL*p{i}2S_;o=xB;{Xy&x;$r^?M;WvenRp9cPjfs(znS zJ_q0DVTwuXhGNX#I2Q$+@JA352+cYMVr!B+WC|ml3bS9&h_^QbGaPN&o~uh+W~X~O z`w@PJ<kfK^t7bR$3L)!z^TzO*(#G>-LRa5`E4k!EUtYgYNkYA4<C12vS}8sdpea*- zF0frcd-jFA>GmlEr_?A>EH8l8oqRAq*fT#URxw==l@fIU7TTipk6YyObf4>(I!__J zq!{*HB%i2Ci}pWv)Z*C4&~!g5^_aYO2$lg97PAcbm3^n{GX{TJ?WDKOMpTvVt$I1z z2(athFrHs?Ci;>1>kL%<EK{2hd!D)_`jzJJ^C*GHtT7Apa`~iA47~cZbvdPLx-N#V zS6uN6u;PoDYZ60UIl5<UzB(^@qH1!T*h}iSn&SUpm)zBs!#RZVL{9@Xr-ADIso^KJ z%AhBUf2mNnGlLLkng=u&M$AYDaO-rVSn)<F7ZG6X%jiBJb&(*=U{zrTDCiHkiJ!+1 zf8PasZvr)*fE7yduW7JZyb}eNv(8layG!Ir_ESZwFIf&1V;#8g2JO(n*!qA2dVKp5 z2(SSf;<(36>>ovd4G7EKB~eO^+&SMPWvaWi_M}GJoSf?fs24vELSFl))Ve=Hg-jRb z&x7|?5OUx(k<FQR*Txjb`|kc>pEfaOJ}>(YptW=F_FqT1GRA0UY-E(+-P!c24COms zipCT%JaQUSht-G|)|I}r*uKiP{gzx3cR8{)mp#6xdlEb4y0LmlpU1l)G`kpL<ftVf zN!BZT9XYgB#5ECS&ECzBi7zB!R6NnUbj_GnFAy3{TL~)pQq<%XJ|y~McFVJ}D!}C1 zvAkJo!@%;&=+WDqw-9Dc(i=``^n2HxNxsyEf61HAJY_srm0kvggof#x#3aaW&uB8o zI*zVqoAJ?<W7cfO4!&MYpr=La`}#w{b)^*;d`VGc2+JMknMxsg<47@G^j6m?8{j-d zdA}1iVxs%i?8eaR^$v%+Ne9{!O%2pk+X#K9#rhjIgql6}O7b`TFU#LIftppQh7#)a z6S>vU3R0qHsNCS^PtV0iTYMKu`4l0|;=wu);E|(xTdlIzBWddXdmb#ErcdmVphMp{ z#(sf}@Kzwb5O4f=W_10#{0GgddE*I32Ps_DkQSyzgm8B6m#p&wI(g`=kZq|}<j{&J zi~J051F+R_iYF#XxV`F@cL;rzBk~5yV6T1n59L9C*>=sL)>^_y&xa+`V3F&an$;vJ zJgL&n#jLWxnqMveJ4EPXwdvl+hg36n<T8F^OK7d_)ve^OnNS$H?l{Cg=us09&EN;b zFAsv~q~7(jDQQZGoZlGP2LtH|>50=Gl_M<@_}}SbqVtWV#X(s}B+4EuR7WrrD)(IE zXMJjve~qeiaod$`$(l}%%anR7VC0V4(igW0{UcoOv{c~8^hZeoz?jM(L5$Fb=WmNm zsywb@Ylq#)XUaTUEc!rI&q6i;W^c!oL;0Rt_M*|Z!q*R^Z+<=+_!qP`P{~66i?t$G zpkyvO@6%i@9==y(mu<Z(-Fjp%MHs@n(QXSmv>3X=b#Vg>x20@34)8r+Gmon*ycN9{ zDytlyp)6}!f}&Kn7GS@&q1Qp==CD1?h?rs2cS@@YRgW^O2^bM~w4w<0($L{IWp>m? zsYVv#6~uN>${otkS?3xN{D{Sft-F5}+z-3m&rnEXfXFc_TZrtEbIzjqFVILGm0Wqn zSn2)9Q`B?KSJ%Z&L!<RkDHyHW4rt*|Vh-Js#v>;DcU{Q?0qyFpKFA|u>!W<1b@m9s zoyl^D`ktRwRXawj)B9`P504Jm?Wj`4vA8vPY`Ds3&p(3pFd`Xh?bOd2d#fmlN<p)x z&6Y20;2LB6EjNRAHH*+scDE~}L$)?x9%!&ac)-8E2t#ibiF0XUa%@G(Uh^5R*oW*V z0T59(4bL4ma7oUCJi+AT9}Np>0R9Is9!;r6tNSYlp51OOh@@ZjyJ?eB{35hhkd3bh zsY(p}!vZW`_(l+F*7HepBi6SBx30t{*QyRvL^yuHkfqoTOXSfDMAiLU{wbrD>#t}g zn0*wKtx=$cS;?~WXWB{7dLBFZrs|(h6deA8p$esvBi=^0i`QD@2<U#S7!8%ZW>CUs zXpdz<^y(ej7-|2@c@|JF1&V3A8T@1I7}mp|Kd)ciHfGrVX7THbkV9H>!TFb%5FmYh zK~HlQAZ;g$h1|E&|J*Ec)h#GpDtcVlB2{CP<|x5<-g^I<^I=<hiC?byYACsiVw<)k zeE6?eE?zVGx51J|E|@Yop{=t72oJHA22`wfNXj#SiZ(LRD;!pJ&&#|cjj@mKw3_VT z=1bNg!~z%M{PPqwgARJ@jnqV3pTV$6ZD~TbgOL34Ye@X6Y!=?gCWu?OZhT@l`gg$^ zZH{an-oB4Z?Z~YFZiFxdo}#0GPVr)F?pl|GtkjRmIK}aBsfo!wD@H*E{jcAomb!{9 zFp;Ua1yx1=)<Zw0l1NVU)E!pFp?q~WO_b_b*b0axBQu`;xd)ddT!<Z+Hi%x2<xSJ1 z!?TSb=#2QJvt>7&7S4=}=`rIsw+kY-Z9_bM>0fzM71Lwy)G_h}@-#98f@5pQiN7l@ z7nne2or||O6){*wrEGj<aFzS=tal+epNEK`48+zX1&jKV+G2MTU9`7bZiTcIZQW)g zO=pbJITV!r3DWu3geY<`1jUcgDQ7umrF^i|lsb~<r%Z?kcU#ZxPODa#o>~t-Q0BRU zRBoNrOGVfcU`Jn24@rYvf>Z!170~fw9Yh%P;JFpz5AEjYP&1R#9qYDO+dToO^)pni zo7@hHs$HX64nJ$*@s40c?*YB|Ca`Xq1Ds^13TRI3)Ym~l+N}+K1&bpWH6o!}aM*KP z%UY{Xvf}|uN1*%do8DKSW{m+niAcncx=%*lkIx0@)B+@i@?v4SrM6Jnnjr#;{z++< zN#|C$rXK(#jEHmu?D@?si8Nw2+@PWu99zY&m~b~`EHhR1U9E<q4{2P1pXkU>kM(k2 zDD)YADZ^KyrJW=^^yDXWEHNoznblb#z>MCovLE7gJ_K+6)N$m*Kfd1ERB+ubCNd1s z8l|sF4{I=Y)W_Zn4OZW=#WJ<<HI#;7)?)R6L}aQI*mJ|OPUxX6TG*e;U(Hm7)=_lj zgaPG;5ojX5nY-B0qTu#5KqdDmRocmd-5E;-H4~PVH4y?yET4+3gUsF2`>M-cK)L^b z@L(KSq}d>13})EH>V%fb!#k#UGIR@fUMP-qbm-~a(be^lAN0S}L-7$<_}{`%RRhm7 zzfSiJ2&jzH=hR796(8=(8TvL9m|5FTPULa?(EvnZZwL75CehL@bTuN1U-9-$5MqPS zN@4sCPGK{4n6T1Jt_XB3KL8WKe_(}Q=}6)<Dy0?(|DxWt{76sjyAAjy(|7O#;ylpg z5RiiRs;|lV1!9FHCv@6hm3o2w%9ris?G-g(ia#skdzhk`zslmkQIGxHO-vVD+D>A# zIwm|r!4)P@hMaD?ut9{I<bObKT)Y+a{3D9OVT8@AF5W<^z}u)zIsU&}_9H+blu`S) zSkXhZxoba(`PSbH>w8bRDaM*WVI{8m&b}Xaa!aKYk{fsXP#LXR(f6`mdYlWIz`INJ zF8;wSwwe9vqT(X)Vb+SBoedl8Wk1XV$2x*Q-%MRBvA(tnfg739$kg<1h4s18#`l%W zQFT-Fz4kYHFY8ie&ix&{c^+i3n3XRH^nVhShY$m_B9gwFvb$nME#{S1vt;h1T5$R{ z*JR(gu8>f5XozbVT`nncJJ0#o*`>$Vf7UiDVaX2`5_;3Nt%7%z0?>J)dqDYiuod-4 zi`C>Az9_gtiaE<#Su;};h?LY&=Tiw|a-#s#0}_p+KYELUR*&4@O^H)@3A7nxD8YqC zcRJyBJ>hwW$NYVHcqig6!&E@j2*bNJ)%37s&PW`1Nm_JZHC}VH-)^6;`;Jc5reX0o z=gYx=kkv4udaWbA%^6@keO{Um=JpBhEgC>DriCrRiu9F%qsOG(4KZSqi+-*w2V9ez zQt(eQ@g&;f-gl@ikHbY8Zy5U4MvEr9DBP;9Ox`$DEgJceU;VOmgyA`FhNc@C)Y>AJ ze2nm}OkBcPh0Cn8I5Lxz=`}-4zKAQAmyH=JIqC8AK(|b#1vgNh44onh@c|BlN1<z~ zk4sa<0+_mD9s)C*&~bQBfRwL#ssM~&-Gi}|#iwI(H@B7{qmxu&vhz+y#51`&sn}+V zb{8l4TVVg1sZ_TAq#<}pUtLM#BhAE_LD~0v`YR%=RgkLec*|P**lG#Jf72f$SkGFv zAEZO7W>JvFVI9hZ^&tj3p?KV0X=!R;b+U0Xuv!9Aqd`m`iq=h{<O)3H_=yqZCv0;| z%%CJva8-DaL3-%f-+yg<du-|q6nYBI(f4lDyyr1_^czQEYmnjs=g?m4r1#+We*7=# zrNw|T5#jQEV=$j?Is1`%coEgO^tGy8kh>?@zjI)Z&6b>qCn*^jjKe;Kzw!Eb@L>=E z<{P(vWG%9d%}4Wz9Z3?U{kbVlV);!A@TDyH`(O}K7grV9nKqhMB$x0!)82v1f&Szf zDrLA`6pvYp=v-IM@+kz@z|F-SiVYDe7}-&@w}h22-=1EG*7B|NQjCMd>RW9TkcJww zX(ATeaFpU|@19+&;oi2tNhLQ`ywyH5N;go1T0Z&m64fRs?+?lcp7SX?tnpvHUhUdC zL|K8$&?+&3v`b{XG^syy-SSLtZ0>!4#Jd2-T(t|JnU)CPuz4XKm5&G9!=Q4hKevHt zetrUjK5=66mh1na1C4nJOul9mkq2&ct*q)Kya{(VWElD6@Y!3nlU*?{0Q;;z4p_g3 zfV=5?e%eBCS3;Py1`FTnt`lOw-Nc`D`)*Z%v*7`I;x2J_@pSix5pv-TOGQ$}hs>{% zQfc4e3@<AT@5V>mG@O)7$COxX+b7Ede+Xc)5FKHTjr%7GU$jRVOkDML;F^T2F;+Rv z4EqVUs)thkU$wP>i#ukEHKxWck9t<&x7sWa7E%&+OvBfYs67rL3Hn`!44ewZ_>L`7 z;I0!2#1<$sRCVq+XRx7cqu3vb*mdN%d3pM87v04z5fQBV%W-v?KB(!?4ZK5fDTeCA zRWB=9gM&Lt1XQC*<u~|<0rr$yAxS%|sYR@4T@(+%7Ct1<Q9%V0skCCjdIS9rID11^ zweb3Eyc5r$B0+SAI|w%ZNMc2(T$vE#0#s@BhA4%ZK25=5LlT%)dkbRW8|H5JlQb)> z$$0b@doLdk)|!qczX$LZf%TdwNM9qQ0L-SZ;5zr2hq!h-a=T<leU#zH&;r={w_k|& z^$B&c^lyN|mUELP%hvvI>(>^kuEQ%aW2ty|M!Nf>h>~IGa2w8EhfIy0T28a%62mZq zsu=0gav6*FxO>yTnYwReLh_iRRVBl*9m8Z2#tdyx__ya6Le6J$pyQx0)LG?jA8fxv z!f62T#Z92)m6!<7J6im6hBroL7f4>ya$V=aCoK8jIo#E$e}XcB(e#sg)_VO!T<u|= zkH?CrCH!!R+9^DI(e@GqU=E74N3_-pVxFwr&5rgsDtwF@TsCryNYHYdy8Wv~LxdHw zBqJ7z2rX?qir%!1D#NT}37UUP3tAEZjs%eZIW25=lMC>=WuA<?f<P48MNfzBQK?(d zliksB{C)l1{fvt`!SJ}Afx?SNV*{IWtfbPG*mm7ufW@(gAI-c`3!XcQCCp~7>g)tB zE~B?P<NQjn`Y}fFvIDn8Q+4C}#135TMOI`_SVgid;AS)<BMB4<=q(DUwb}`An)ZC6 z`o-Q8Bqe+Pou#r7MBc{RV?pjI>pPH|mK32>O?b4j6PLApaiO53MH<}X4HSZ`d#78! zc$2{IT&6$Vp|%TXcQ6GqBT21Hc5TaPu92-2$p^=k^X|qsP&|dn`l#uc1KOq2BPpV- z$h1jzb6nA<Y+=^6ZYdlLCRY#C=|)#W>7TiUrsGP8!=p1EdicO8+AM=sT>lUuY)(Pr zk4arPaK}W09j-{*Q9e{w9F>BbO&0cwccT$2mCG#73R+!m>2Y=Q@eEFi?#dp5oq5xw zK<{?~hB>YlfvBJrKACs^Ex>QG!SV~CH~4nS^gVtPP@hNmWMGF~di=?GKoAN=ZxxJi z>1bel#t{p@#Auct!~8a(pygMep2YJqmW~#3BYk(AIp*9l0>-c@T~S{E`HpEWzVsCv zwotqplV<~(_l*{eG%^1A86T%<U&UHQk@4$|Q;gN<2mvU8RZCx=#QfW(1Ygt+9bv+} z35A%Y+D=E@6lX0NG8FBYE!6gUo1o25^04jAGXNblAR=Ji#n70x<Cg_3ATcRz)*<i* zREYla^&|T|##K37R3)lz{`TC!8egP=Emj}&RT91&#v5xvyyN+S^;It-E)<fR3b7_c ze2=PQ%NN!||9b|85a1{fAvl2AqY~e20$TxUPB}Fp?Cnq&&5V~Z=MOXLBXb&T71UnF zzxYp!3~2w+p^9u3GVxABT1H2DrEx`JmG%z;H}*|fM+hzxCJ#2fDK3xOOxkO9Y{9OP zjHih9N-4i&mS1C_iQ!`U7<9L3N%I)q+Lo92Y5QnbuCnh&+q%@m!~g;=NO)%Dlz-KG zS<etURfg(y9ad582WZ4E>eIkAqK{L)<+3>lf*}d$9z<aSCgGvS^7k=|aw&(D@SXmB zfRXJ|gtuoA5sx)AdaCl>B=6Zao0GdC9P;xglRemzX!8#+mKjB;rKmpF;t|SZkT$Tx zCP_c);rd~`{7g^FQVnG{V-L_wumnR*@thY7txpa})raY>^}sAklGA_i0ObTVl;OcI z%&feD=yneLy3-`Xw_miV3erv~_n(YkrTUcc{|5UNj7h(}j!NnIU@H1Mk^*61CaSjd zN-KF}9$;iV2kI$y=;&%b<2jeTqJ&zv$wwCJF;7@r7-n@>MS3FMA?GE4B!5EpcuB#> zP1`?!9VpcVb+>JYc)E!-#uHIbfCFej8E#rtEq*lK3ll(L^!3J&{b=w5r#M!e&#CrG zU1p|_5!A~>sxqQ*xgc4v_seFY9p+p@E*^_kiqY5t`e9iB<Q?I`i0y}qZed191YG7j zslFY2Eb6i;mF@`5?qz%gko`P>l=%X9vLvs;c3PaChh1NFr)QHQEy+0tsDeN$WW!@# zL=zK*o^@G`%xFR2T6|NZ+`qS8VtfC!E6ebu(lk+>CI!@Y4JvT<$$TU0`BzKYb2mI{ z|KZD_h#>dI7wD}QFX~~HdTDnEH#g(ny+{@OFDHrr;TrLO;646#Q;Glj`TvI%#s7Ay zFnfw!l7*O#s(Q@yW%xvl9!1;}%77?Gdh<*aRcv8E6MKHzs8opC6wms@HU)tBFzYJi z41P(L?q3F)@Bu;deAJ+17sWYa8IYr3;pz$<SMv_I?EwmM<>EM&x}v2B#l9t6K`B(C zn_*^>W1Y|vG7hI!;|<kWy&3z-d-J|~Enwt_#s!*~wQ`LeEZoKO0a&oN#qj?3cR^8z zB;Lo)Hq5W(``!`c@z||dt(_fn8)>a#VSL`zCiKyeLOJgtztDVvP%WGKiub0CuTpQL zJ95{rp_Ag|O$6b=F~Kf2_i2NsA4!ww)^uO*Pc58VY1Bn%+TZ-zA+3_1q*_y$r$P2D zcSxGdhKJ@CS7xsxi8CjRt_*}!L@lHw%E<kf%HDe5o`p`*1pN<#{M=@Z#&RTAY?nsk zRmW3}gh>PN_(zS!8iV_v-ZEr2ls<YxnZp(+an1CA()J8sp5F*a`|@vAtAFrMl_i)y zu=5eSu6_O*XMEW(L-q(e5<6|ID%J7e4P)ky^TJ$pX^y~X#D2^)X<PtV#+GFTmC5^% z@51U@C5Co;!|sOAzQ~lLqGmrC#`<razu$Na)Kb>o3m`pC7pik(jOl>^f(*U`{L*e^ zdPuowg_Ny3iz|}Nc3uPNG8jJXEGgHT$J%6nu+JjpJ79}Vo7rXHn5NRu0t8(I>Z7Nw z9>5|8l+ny*Gr@Y}g2E7Oa__1v0yM#q_YBo5FJuVS+RPa<mI@YrPrhzLV~i@1SM}_u zyNc)BQ+)8e*#t3vADap><|Y!*#p!byKMH50YrgZA2lxs*M`F%e#yHexqdCG%=4$;d z2Ew0%nsiC;fWyq<<fj@^p!S-eCJ&KmF+bRb<Ek@wdF~^@yKLjY?5}9R31<YNNc+EA zs{FrMzd$hi{0zJN@A*0Yt&UyS=I5UU7ti`5HAC&`T<Atmky|K!-Fl7V#>+mmW|roz zH1cfrKVQJ2#B+@!4Q>9}C&;-B#2{^?j4S^47K$ju2?HuUjcUjhe2xHJ(-u<cIzFe% zW~}`0R#XZTga1&t1BhrDt6AheD>kRAVC=A$5Gvy=gy#rByj<QV^Y7>LK9>pf8>)fO z;d4-{jvGz)@d?CgP|faRbubKKdE68a)`ld2QGyv2xh_a>Ml4~dP=ZMSJp{ZVh!YAC z$LITfuM_Tmg0v`6{uHohrvZr*<mrS<^NA!NHPHd?NbOz6%LPswfrxJ#G&~t+qoAlV z)cT?ZOsIl*)wepV+xewr8h;uw8DujNq!Aqox->-#>-|x-b$6XhHPkr@i6YtS!RF>p zHE_DMdAj)4D^PN-Y$_5!9VO4-(jZ0h-*`(hE3jnDOxX0fMD}OmAMa?NF#7cV5orZT zU#tt{jmc(9m$V7yW>Deu@Ol4**B#jTkoSqshxe$$)5vzP!gFXQABj&cS9aa6*<8Lj zd7=(jeXYyxlrOiQ7_f2cR|MI^PG5%$Ih-C0$!|Vh_m+~Y6&tVMbFle)z6d<DoXM{a zL+7+-UZbc{R<3Eid{=MR2EN&JsHaIC%g(jprHSz0_m(fL;H`~%>$N}*XF=eRQC`@} z4M+Bz3D2}(mi(QcO;<mr@lsT%1`9u<W6`P1=07ro^t|F>R^srOFlN8$5-xOp5f1X5 zZ!t4KZ4ZlOK(W4uaslpQWTN+jE8BIk_z=f9%?;Hq?54SCKh+Xh-)2)HgI{RW+l1@$ z3{2Chyv}J>l(8lpV<mm_={Ka??>g7+m0T`Q`8=KZ_yifspAaLYGsQb_D<dG45&3D8 zvfNz_RngK@@^+HskOJAVmY+&FZ8<s?=1ZP0ELknpR8QeY?>w^5#9@e%*`GgIw02%; zhQ(^TyWaCmK0TL6yY4~eRclJ-N*i!}0-N#o@uz)Gx4|owxDS9BQi$WN0J-Z6B^!;{ zALdeLo2!s9#A68!Y#GXtB>J(7QCk?iO+Ab8u)Zao=99UePt^L4N&T;PRPM=A$FQ`A zk#<na?B0%<QXyrxF0*_P8HcE~>*hczy}o`!|0~}yS*T1gFnF22wV?f07{~DD0!0l= z;oI8pxY8&{>W1v@=4SC&Q(x(cDwY4EK|?n0sV4<AdHCgXsP6y=Ozxe(cwuH6Ih~sK zBahfG^KUu$Zs1&!BPc6Pj}KG1@IP#lYf&0O)Lu*JFy?9L<Z<Hl9G3MNu4Fx&vV@;W zS;1n_jaX&ZdzfF;=AU6#OQNzQvQ-HNoyAwxq&nzLja5g6qom*c0as^>Y^`1W?y9>? z-uv}9vq7*uu%uVym-&|Mo`kqZh0ThLu5li9V%74C`Sg}8#gpcTQYURZ=>ex3c?JH> zl{;0GT<}~MDnAZwRHE-3?)QC$&DVCOn$?f?pvf2G^1tpLU~yJepwr^#?k{1FuvT37 zrKq>=;WfmoYgkH)hF52sr<dBXsq=NbiPO9I5!Tx630>JX_3E2%^q-RIH;b>H4GLNA zfCTj%9#Zez(cE?gcqaF>zb+hJJV8dk-k?8wQ5zCsb|+h~Q3OE7v&>d9H-D5+(aotu zh3QPAf}e-`=jc$;ST5aEe=E6F_Ic2VX1cvJKn!XM$=h1Aw!<|ex$u8!eG(y-u4vBY z&!QwqzIoJui7~&oxNB`)?T^E=4NOYAi7T?%L@ajy@&@v9q3{k80Yx!J@m?eU;GVIm zs&r-Q*A-}t|2*m*Qn_>{ewRw4^z8@Jeo@UA&e_4IYDdF=7K2X_{?z2hNp0`Sets?* zzqaJ{{QeW0ofAUK1^IMa7|L;3CW>RT-Nez|wuUj4z%g}=gW8lM_EVW2((xPe`JP%g zA4$d*cW1cV7=c1qbrF&vWxLm_8nknI9(4g*0@&i-@6);380K!=azpl>PTW1HUJ+?@ z6I9o#@Sl?*#mmu86ED)WcVg?ui{<d`PISNHdZc{oOg2C+qmQs~)rJJZZ4bA#gaPw4 z5J!&*oqn&P>T`GVKP0X+B=5<s6XiIAY5sOfF`E^>Vf+)jtkz>993u2<QQoK;edg^Y z&TKt~V%2qc&G9PXdy=*^N*;a<uZdVF<-0mf$BF;N)Y!cs-jcbCmj*8vN31QS?Avf_ z%<kjW-Dxx~$b{jr>*(o<Y9s-We*yZN^fAioz>7ghkpmj8$ox@mLh|zKn{*z?klZyU zI8B%IS7E>&>CodeYYyoc5@X&1dZ&0^Zg$Y>XP78uzgJ1U8Ad28YO|?i3KY(`MctQl zJU(#M2x9!&o80)-am(@5+WspciJIVg8^oekSb6WfI+;H@#78M&bKha~x~OY$RzaOD zIX?EeJ_L^33axKrq_Lb`d|=5Zy~NIkv;F5bdH*1<1gxekdp#zD1$J{={sF~8J(>dQ zmGu-wS@OAz-YOR#mbP?li3(3vs{Z!<^O-yx6$fMLEro7k>%_!d3E0S!U%eU(yf_PI zXrH2P;V<yi&b))oWtVFdl3+Vb{P{!ZWB!2eb+@Ll-wIIVr7i4;#&%DpFPvFK%uHYP z7otMhwn)_jgVtw2I_?V_15E(c5^#`mBgU2jM4l8{;d4ZyOFzx$ud^hoXOQVa)S4I| zJpDSdYEI0=ZL_<f=W%6hQhxwi2xLC#j*~9QwEbVHMAYGjzqXb?3<9_dXX;W^ro^r; zgL1wJT!`ZRI8tBRm2r0q9-7`xQ+UoQ9p|mz5PZ=*NqNav<=T8;GuQssH0b=#A>IT! zJ0l{Lgd3TEvh^GaVW7gTy#PzT{v&|QShFb|9q`x;2-EgHsOnVGq5Qk=sn8?;S4lZ= zPZvEsY5d%N@9M_q(62$-7e0w+*b~C*JCMJ>rk3xI@-?-e1U}4gRMbYvtzA%BTEK(O z_?<63(VB;NzCnTs&)&4y#evTBMF$sAo2lb(W%16y`NnZ8Z*u!?10P<ECA=(3X^MA9 zwy}apKy`440;UxlPf<Zq7mkUV5aQnff|Ax3@7W9gK6wY+#T4*)jz@1@0^Mc5x#S-u zGHExb&mD15GBHY%;8WVm!00|BNcwKvKHzMTUxjaUY1mKPple*G;U)IJT>kv!W57~A zAM%nPcJat*wr1qcIotU+(4|JvnOh^?<!no3FC({$V>Rlmx_|aO-q!%h22hbAy?G}x zeYE@Cj)GiHw-kW>(-}MP@&8y0|NHX)(G2fSsIOGLg#?1>GJvYPx$8oJuj$~eb9SrF zFEuEjv?N6M(_X{V5buAjfA%{oB<Mhg7Qf2HoWG$xv(-dHG;0cWe<Qq>4G1}(V3)1n zN|cw$2Z=}LZe`P>JGfJ|q=wbFX;JO3<U)ABMbAZb50PZ$d8BPzI%>MY?qB6~ME~2s zM#H71YP|1u^wY)6rrVrq18*1!{E;`Wa}%A^tH(DuI)s=P13JcbMy{1XS&Se2EDtij z<!$hA$7V<$wPbGGi{U{#s<v&H4jgOSmfrZ!Zq^uKqget<IH)shqNzn-&N#VH$A;^j zpZN$4qg`};Uc%;BL&=>3$65h(iU(Rvw@C5kVkLPnia)bbx8`=Ek9;2m8Z=xLRj!MS zHiDR)*0eAk2dU<MlWII16?(+x^#U8B{+1peXnguD12?h9Rauc*l@;J&p6BJ2n8bV> zAz#NIi`Xy9Sg!qO+*B|Y@gJY6z&b9XXrzn3qoD{qKFsvtEk1T*AA#6UJPjA<ML&Q| zELF8|AY#}{wIm&8gBgwEAQ{H^FqiN=FhnhIBF!FS+s17CI`>!;8@n#x#AiU^WY}6L zy75aU7U6%=`HoQXp7O`+<X<x5wuTmyD|mCOqk8@`20z7)RFdvBlpC~VO2Gb4(d%#I z&n`-Sc&`26V+?2()pGw`_Ujd?ZU~Z1Wlu=mdPGTyA*%OtTT|GB-76cHf`AAOK3R?_ zSRilW@^#Pyc$%eU{$4D+eGOU?wNd=i*)WzV-Ts(qUgWLUXvSWhcNp__(|TtO=^hv& ztULwPV|A*uiw1PQ!1!rERF{Y3yG4~@z#VWDgw{U7g4ByRSn%-!_E<RI(cx#2x|g8* zM-uNgjef0pM2hg?+!&dHdU17P#p6b0-7cXcNgv~BSuO|EFN93XBB;2DZ6Kq~ra{wK zr{6oLmuIyYY*2-C?sWh5uy8LTi6tZ*M05y>8&y2Om+H`z-Lf|Ilw$r7P4UBbUB#=C z4&9R>AzfTlv+*9x__U0Rx!P4{%0=}j7rD3iv9uKUCt2K?JF>!)VUZ&CvVrv8H)039 zudK1%OkdXZF~dZ(<BHdClk|p!5PP>;f;?UnAHshjbPGU-)f}DLYeM<<@i5ts(XcJ( zC9S_X;8g5$n^_090b8b6mKXfmCd29d7}NyVhMuWxjKW7BRBUBT1@XBV-L<jivE8&{ ze5yq9#t2Cy%Tr*dn4akul|=r2NBH&W<y^r|mhWvS(J%ZZD!QpW$+jxeZ&Xl_1=$P^ zc^+f2ByC87cNME79-V0Oe<Wm}0_sd%#u~^$MA6d@veGGM2!xiy%-%msMB#>DG#gLj zz?-DwlT*8wo%5pluHxju20x^CVxyn?9MOwHF&k=p&im^63izSfke9dd{XE2}Aea4{ z-=lbK-Q|1SU##VuR^kLc&wMZ$xv@9Hc6<x7IA!-;_c38$^+L|_#amaT%idJ+F{SX{ z*}W5jWAcoWoX7^PjQ#nLUFEORHE)jFv>6h?w?3_OfaRvF|IRAy2>$LUj@i@LX!Hu6 zQ;7MK7UnToOSL$^uht+*dl`aCwVoK2D(>~OC?6TT^xm5UB^6ZHM(Hh+rmy~N&Zl`G zQ~dUulwj*UQDh6#UStXl5N{-0nUN2L-xH{gj4$Ve=C;iwPuBnP64`IH9}E=ue}0U` zPyO2v>oN<iZ&NBw{HuI)8}bhJRs`Q+d~=x_5;Sh0zQ@QXBzQVoq|(+K&OOo1THa-M z6g0kgT9z!raq$@<8%YA18oF5d?du#Q#jXl$<j&|lA$ZDI;VRrcn0{D(YvrI>ht-u) zM%SO#bb3lR`!2l<M+5?*m*dkZ!Qub3xY@M<Z1(({ntSAVomX`afTI9|`mBO&)9-T? z@WV{7xr%&VAp84V+h2))tcKUIIG0$(FSV<NSZFb~Pl}+C)s9xHD5)jB0?pxQE+Z+j z(i2M_T(!%H@-TT5WO?PdPzNK4D^#ByB)>Riu{s+sq04*(WdH^diMW3cp@eOl3FHvH zaF`Xzou1vAxD~J~<DpRF@jx-Qu3(MiGWxtN2la6Slmpm){Mjz5XdC7DnKH<7;o$Q; zS+h={r_P~uzvi&Yd{n%^?IVa$KSoLHm20Z-=C6}6Q_!*M3>m&5G<@%&Wo&OW=ft1z z%;VlA%UD)~H+)UuqWt7r$sosJ3k>wPY;*B>S!18y`R1)st21&^+K7TC>uNlMfNPqg z`zZ!CVdsk)Q&l3%cN$3<E|6gkx^Yqf==ndXn@n3>W-y=5lIXvA(m5CXc6V*c!0b$I zT4GDibm=s|_qOf>^0@<9{I<VsPcXQ(2@r`N`Uf>D%eH5uYG@vFNW}$EBh$jSF8BAQ zwxsKVuEdT67|N(xB{7<vbsf(wihn;f+&!x`H|M=cAyRk6tEm=R6kzWp!YTK?ZY`g` zr3Tirvk*hi5&i5jDC2EoR7B#rf1(oNqV?P<VYx^?8FdR?FST{8xC6T=0$EzgibK?s zfwbMzUpq<?-S#c*MsL;vUhOwP<f{IB6x_sv{gxT)J1mr!M`lO2yKmlVXxDW`%Eeyr zj3G9^g<I*YC6)=R?iuiq|2|tYQe+(Rw(e6{NeR#Vj8=zG;)SP5Yc`?LhiUE-BH7fN zrb@;6zzfxCN&U-XKqiUSVLZfpP%mF_t5*1r9W0<fALV^T^MDQfw&5LvS!c&3V7h6O z<XQchCzHKixF7rCJ3^s*;R{PNcqsv}TWjkuUX|`E9~nSoYt`s0$vjAPzfz)>_Q>e| z#2*D9LaZj=3>fr($G}ln7j&$K!FJqS^l_eOd01=3DmYb%2%FxUV%wfh_es1P7^cc0 z85dA3x6Ma0zPNw!xnVt3fT1>uJ+Mb*4{p%IJZ;su-ndIpYBo{NkcbP=N2V|?4B0%{ zozVCn+VlUD9{s=JvIHCC*3hL=+r7}kbdb?Mr?Sw?7(j|%?+a8z{}+eh|4ZG}M*i`V a!_fWfEbEZU7Vv`UD;la=Dy2_e2mddEun@xl diff --git a/docs/img/0e27f7f7b1dd7b6748365d5ea985238a.png b/docs/img/0e27f7f7b1dd7b6748365d5ea985238a.png deleted file mode 100644 index 49f920b8917ff9a1a5010ea439c08a51fb16d196..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27841 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 diff --git a/docs/img/0f7aab3f307e6b54ebe4d00d94f1da0a.png b/docs/img/0f7aab3f307e6b54ebe4d00d94f1da0a.png deleted file mode 100644 index 649c3d6d78d028b55a71bd3e82e65b9f1f304f31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7831 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 diff --git a/docs/img/0f88b0e1a49600472f2922218cec1ed7.png b/docs/img/0f88b0e1a49600472f2922218cec1ed7.png deleted file mode 100644 index 370ec4c0354bb499e3dc6f086dcff1e7abe8650a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13089 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 diff --git a/docs/img/0fdd144a1493e4d21226f1b04a5d336a.png b/docs/img/0fdd144a1493e4d21226f1b04a5d336a.png deleted file mode 100644 index 52c337db9bc37a03146f6c14904396c821d09f16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65023 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Ç% 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 Nd1>YQI4L8){{zo;pVa^W diff --git a/docs/img/0ff1ac0799b3b8867f4ebefa4e22d786.png b/docs/img/0ff1ac0799b3b8867f4ebefa4e22d786.png deleted file mode 100644 index 630bf35e4ebc4cca62c744f81b5f9f527b33956d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20932 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 diff --git a/docs/img/104374dd85800b346ef75734f6fd0b38.png b/docs/img/104374dd85800b346ef75734f6fd0b38.png deleted file mode 100644 index 3228c8a50912d8368e8c269356dd06117a77382b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9120 zcmXY1bzBob`=`4EWppdefRUpW5M+P?(w))>lWtH_Qo3sxgdjN?B`^tLFzHf4HYtHo zqkg>a`}^mfyU#t}=lXkh&t1|}gU7T~Y*YjU1hl$3nnnZ!M3~$7H3{);Sm?Y<b1NjD zLQJ$SuWr`XesAyWXliLmgbnviOn292HM?q3P*6}(Qc_V-QBzaX(9qD*($dk<(bLmA zdYv8<5b%rYYHFASFYMYZMpc3VwCB(9mj6zkNHdpN^&W|Ec-c+5?`{_u?QYA*fv!$_ z5ZQjlU9D4~QU}p2KPKjsoRZJH@iH^!PH$!Z7tBRcZ-eIGC&8)uHw<Gy50VH-q66m_ z(9TD~E0XfZ@o0WA4|O$COk(FCJx3iGE;~9cKkne$5G|(G0o<;@qVfX5hB73A3rMw| zq~1q|5aW~b4Pw6aIzIJgnS85!&t2~`!U6w*%ILL}x>$zI#3w>G)EjKA6CCB4B6|Ku zy5fNz%vf<N-3e~UE#gNF<|dBFb>t+c+7DC*{kk_C5@>lXgQ{RQ?)9vMrIQaX4eg8+ z+(#MPGtoy`NPE^|j)+zmZ`8(JiZKqj&$PqoF%qaiYf?OT!|#dDmoaWK@Y98;@-LDe zuPdgh#1AET{TO5WI`p{t3aUV3zxbHPQ{eUgL~Njyh7z$c^hu^V@*3?n0EVE8v_(35 zuc6cNu|SfG^E`$1%Q7->vU~;8?nkDU2Ci6B7S=+75=-J7{<|RmJN62QDe9EA2leGn z`c}LG@*4YL!*%-#LF3h&y$Xq(NZ)i0UfHV6-LerVNl8D&^utRJhj;)1?76|XDU)P9 zfO&eTUJ7MLt!Q9Nj^G^7Q1-cak3Be>N<lti301fl^=G{qhRiYus&w%s3XFwo!1Pk3 zYIRW#cL>2cPaK|sB#}T>!ppcmG7JsR>3Z)J15SVi{t|VHAJ=3=<UPBZK;wqv9(>N* zc>`j2qlhU~7L3I<|I<WKr)Uq&#d{LwHgP>E2l>PnE2WX!@`nNmx=Biq2E8m+k#Ruz zmrZK4P@x+>l8ERRR08gl(84&?r{!^7cbPfciA(~-X?_t2NBa~$aC)<@;Info$cXDs z_$Hl9JXGND%dGNx>m19*BgZ>wztjw7^0Tm%K|>3&%h&lN38{?qfMVe8=p${{&y;Kp zF+PPVd6+$>yQN8sCt4cGz3ExKG6Wt2R&(6s;29l_2L!Dd6J)=qzYYAYhL|Z*!p%3R zY_uN%#i*V%B=pJBgSNC{$5D7Lr(v0w7K@%2zoh+1mIJMG`>zsWujz_tL<G0BPzCBo z$%PMo$4jPI7U~Lpkx41ca3gb~#XMGDX%=C3tu#o&md_o=x%QKTXug~|C3jUsvY}2b ze|{_;)B8bCS?tXC!ni_0eW<uN_RB!{Omt)xY`LHp<N|kxv4C_#;!9*9YKj<b*E*Rj zkL>h+;WFiAWYBdM5If572kvS{^2(&phw8UM&A?nn(L*@ll|XsWxzr2-4^sE73}pA* zk<m_<b=<v{%h&^*1cw&c%69CvbQ;Hrvsnk}>WMZG<DNY_wsBQzoePND30&U|Rqv^w zZL|7;x1`6|u7C4FcFCdG$AUUAuVThS;`ZcVM+@p|p4OJ>=t9;0wNQ2L;U`n9kzB8d z{w>fHd2Ty`+lb3*r)j{IwgB`&q$hD`4y$&%Dy)bWEt)hgqOo5Vi?yMNQVu|Ezo6E% zy1TKNJTk@*wYS+)`_QtW$a(l;w|s(oV%i^7TgC%?<W>km%$=G0B;wY@LD!z7!k~IK z5pDCVT=i2%!N1=W{)P#h$duzyQEe^@Wf5U*oI0BDb;wSwSB0WI(7$O>BAPBMGItj! zLwr?;&Muk@WQEF~IId#X>D7~1PU7YaHQBh+W2zUmVW&&K^(&bVZT_6_3T{=G6aN|D z%k7$Uw%7vkDPl}jj-QRpsGr8{MqFxqFU!CtJ-MJ1Fv}o#v8ik~-eDnbdS-4;v{gZY zSCkK#rU3I6H^!(w5WucaEZyH=%-<7imwsEm+Q3tx9#m^R{x9<Sk~O8+&Ld25YsiLR zd1F>qHmE*k?|$MUL)0Im@&rbx&MF0Jv64r>0O;Cb(_UmhUUuWg)+O|FXUxZD*T(Bd z*umNz4?M-@LJ}$3SMwPwe_eiR4(vjg$E^eIq>%rW6?|X6c557}OyJ#VU7U+)A%T-d z!rA9Bh&cm>FiaaYETttQkA$&-c17>g{^9Fl!b4SZS0H1f4bfHC=6x4D<IefOqU*jl zS@1&f#?XCKA3(t=!~yam)RQ%HW$I%(7OB2x+H!B{feR{UA}qIjo!I9)j;lHRd;&`n zVS`SWw9}JIvZWDI2!jP=SHOrTDJKIWDkd!MeRRttsuw$Va#2(g@%fzh47IkOmlsi= zN&%ny5O7hwk|LbnJy0x>Y((|f=g3XGCQF=&8B#8QTs0C@Pan9;r0VzaXTRe-Sfh4J z40s=9wU!tDjW~3sN*be?E+Sv?07y|Pr6-=s<mrl69Mz-5X;Hz)d&B`y#hMg1#|c1a zwU!Bl=ftt1FEOz|FCUyP=?&Z(onKo7i9v2E{9RPjJ&8+150oB9WR_RKtU9|0Fg(Ce z=f^5=^~tukQPFUP3O&F=e|PA>hy2JlE_@JvG?r-NezQJ-P2Cvtu~bQM)5XIB4FhL9 z2WMU>&bHS9P#%=zqgvI4`QppN9;%u2gRl8Bf5rRHH0Lupg+5jkcu>gD>l<Ez(Anl% z+1T+31*4L+FQXK2T6`rUT(6*kAA{KRf1o~FsRek&=21@pwi(x?%~eDDs*rF_F+#<3 zS_|yK4NEE8VmcEuGU1h-q9dqH{$TOkDd-^dw<1wU)gF;XyLcb;30y(e4P2c9iDHHb zZWgf!&O-Iz4Y<1QWGu`*u?@h^)ARMhbOz^nEhcj{5~+;}n<<Wioz_W!Hv*i&W2urQ zQk*go6_olt4HjtZJg6jNPr5lT$n-Bl*^?S)#(+D2*b%)@*;;JXA9nsGZ-}Enq6<*G zk`fAX28%6Og)@oH{zViAi1Mo{6v^&-02kSas8qpMf%ZxSTS^->QB?YB#=m6wo#5{W ze2G=+dG3JGbY3aezW)xT-t*CZ%Fwqwbti~k?B-KJwuU}7NvnQXT2m&GUn-@&I5qx$ zQ-2pRI32@b<@ryV@#TKycU(v)QCG+Q(gVV9I<k_iFPrc;6B|LF7ATIYJ)A4fyILRB z6g~F!mf3{^o5*d`6A_7cpLC=FThhVCneOV#b%zg=m(gU6N7FbFl;NxF76N#lG9`>& zD!<=uUPzL~S!$rY4?m9Tj8HV+nz$TlaSm0f6CO<=pQ8$SdC?6b`d+qig;h#z4E9$? zF9Q?eBF8oJ%Gu3i?;t4f`JP0$B;hqe$)9@BbgaJj{e5l>KV(v&YFq7X$*w4!QVIU3 zN^=tKxk1P~0i@f%3w`VbAGp!MpBcvg?Ru(66ufL6tE#D=2YLK9p}>_-`?_LfwBYfs zhjxTqiE5;{_BuQw)tqKW5YPqa!x3}=l!3;q8WEq%R6~mm-X68UHTDCyLs6q)JAv#d z(Ig+pb{M?D0WbHH+tUT#LKtCe&2Zd!OW5kZ)8<cs%qj2<7gaU4{TkCxKoa7wc1r7Q zd0=k-`lBTG?4ln5)j5WcpzW-@y?IrH6$nG~Wa>{6){t!3xm5*rT^8&Jmw?UQ2mY{< z3@lgm&cE&~|58}6a<}?+^8Xx#&P3ZjPup{a=Wlh(6-GWBi@`2ep8B^#MAW&xyMhF4 zC4Os)1yP|XifqTT|58DR&?B5m^T@k@9U<#{LqU$0mPA*PSDGD^bU~hOP9<3516AS6 zvVaR6)SZCiEY9PFyn^1FDq^d!Rcc4<(%_!-%e>wT7NHV_J!!7DCS;BAEWHLXtKXn6 zT_=1q(q;IxZO->HJ?CFr#{>2b9+`|4&Bd6szsE)qr};<|`4A8A>vZwW?sMuSr;c2| z?iCE{;u?g8hb(mSI$oA<s(R`ajL*^dHheQPQt6+EMepaoG*KXh@!;9eoCHAvB=@<J zC>fz=JgrW}amqbb-QX~FL)ntyn-$r#f$`5Ac;cB40d=MPE|-Pt?DoCz%9JmO!&y(C zARK>QzkFAs|6p`dAC{i0XODZqdUId>W|7b_1)X6}Hq@YeZ`=U_01pjVtbm6`XG{uf zS(<}N*pRm?d$^(Vmm($wh1Y@dC4&acrA64kw4i5>!{c{y>)e{7;I#VONtK|Laj094 z5bD$e-nVh{{YzTZ$fv_+-CtSPPwI`GN<Y+YvwUrfhx=_?irq~bT##T7b&Tp1KD8>P zkZ2!3>ry$V0Vu>4hT5M){MN|Oc|^Jl-exc0_IO0JwJQVezC_~W+b{$m?n8<3mQBfJ zt8y}zSPn_uTdU$GGh|Le)tr&}<0sJ;ZmOa>`bXebe2t(H>6t*+M~%NoN2+v!OnN6a zlS~--feeIjrbN?dMsyygBvsuy>#G7Yo!$u4O#pOC<Si^teun*PIf~cIeVTVv8Ju9a za}=D_?eI%mJil_BO7z2aXM^%OHlVuBQ}`?M5&xuv%i=-8%B!`)U8SwbK7-^;ghFEJ zBuP$9*Y`V;oPtCcd9jmtIAlA8OcM6z&2XCBQA0Rwt68ulmtHusWx26oK4|k{bBal8 znq?9z_V>?hdD`Q#JED>{l?fb@3#Tin?ewhjT_W1$Zgz64#VB|!_r+=MXboK5UY4Hj z^S-|@@Kq}UQq%pezI;WbY%gb?994UJJ8)9_#{U&O*8ik<x_H7)C99k7A6#c%seS(# z=H0V<Y_nvwQ=;T_XB0l_GG-}pBP_k_^vEo5*ODDwTRHe?Njx~GCd}pA9hPyL0%PT9 zDyy=fzg_lVTUSN2%chPsxwl%#VQ6_Y0etqGpJgLdcnj%;(G$0$RhNI$U;#vP*EaLp zwIS^roqb1iS3#PZHDw;Cv{!H0j<T?49PWfra~{SX@0)EzLSv)XD$O0-@OqWW!<snP z$T71UdoUx20oqZh&${-U9j#@D@DNPSvK>!BFoL4h-+<T(ntWk{8leL7{a6tlnC0PF zwwg^|j0B!5ZNPUC06b2K7=-pHxm4Os;^wH9?|CXn^@n6(n*`x$do#?m|K@U*1yV}v zu|Dt943Cs)GKF0SqAuPLlcRzTMB(Z`o*DuS%%rwQ)(!Cw$xu+AB;Ob;0i4$syA^q_ zJdOjeJr1q<4h>-h!JKwL*^ow2Hua9w1SuQn(l~znuDU#J>R`7p6XKVRkZS|z#^gK| zdseH69yAcbh4Xl=7Koz0CMk)3qE6dP-+8O*1U5+<Xu<o;zU88g38e&UEw)l-E_L#v z*!|pghF{j6H@Izm=vc!)FvvE$sVr>(9bLS&nMVXx_&Pe*VU{0$NGeFC$~JpnpfAlI z!h2B1zwYxkGIaKPAna0$QY?J4@B2!w{%@n0s-iuAcz%J+^<S%%fe(j{0<xSp5is?# z<P`OcN8+WU{MoWqEd~OB%n(IE5ss963%8#Q&hX2doln;#_qq@5rI~AtMAIK~)r>I9 zeQ8TVZ#*|}2jc_R()f)H<#k}xken$ObLRX8`#dF4vuxepysXEez+|jz!9Ep&5zY6A zD;j(^Mm-bjF1H_U?ZdwsubfZ6Ws!+BqTDFq@AP}eXT7s;?VbXLP05xsX7<T(fj?g9 z(zMO%g@rsZ+3Q>$3#bzbUs_T=?AIveX<RuqTGB&**H}_WP31jr0LiY3NfeIf&zz1u z!xlt8>}-B8;!4`=icOUM1L!n?h1$X+gc|+X4IMWa{+Lndjjo0xjY=F|+e`rGF0(ME zKXuCfg&aTpvm6;J@ATA`qnShD%hQzabiF2NUo1QPC}2+tHrI#KFRMaw4c=cARLSa} z2B7wRC<rGGhxPV21^G0i%3$&n9M6@ZCS(zX&gE*u4a}t*qmR4JRAi^ziSgH4ItLcG z;a96A`u8vyo#(oagz(z?dtR9&mj0R`b>h(0t~x|0$=6p&aRYCCnWm8`j(C*!dTL~a zRmt+9v^Uqv^5MJCBrMaG0W^>h6E-Z)J2$OI1`p;=%EP5)<oW!^!revNA!|L2Q_c)P zJH>yqAPw|6d03}!IPuLFnOMU#43eS=5#TdgK6;uN?6}sqqIWcav(*PQa)tOO*fK_U zRKe6X3)A-b3H9wbKVr@Ky}R-}^nubgU7-U^E2AQT>gdIcPF*4_V(edp06Go<Xbgc| z%^`mx#J`6Q_eJ6_y~>Pl5M0IyhsXA)rpJu|kx6DH>Ah$t_~)QTx+tcdf*!ulwqxmp zR~-Q9;$u;wZJCsrbLP||<d)^ifP#1g8*D%F*)PaI`XM%{z?K_xL-_M~6mrHrEUrEW zyVWQG`=wa3FzsG2zHl6Uon00L{M_$)CP3ED6_LMe%j<ox;ya9^ewlBXVTgUd`|51t zNPX+B>c1;VOm%QQDpDo?=GBqZzDq_d*R8Xmez-QSK@9w%>)-TJJu$B4Mk-y(1-=(F z#EK~~B)3ty>qiwbS*&y;Xpz~bm5*FMUy}++Eg4=q9}Npn=I$}z8vJ)AyD|$Q^i)wi z9VZ#ePa8B{LUw`<(_h)*q(WGf<IS=b^DBP~uxMJUJB;vzfBvo)?W9V1^~DMPhZcDd ztX1*}@bFa`(zxntD9KP%$v|mSaxFm#i=@gf+t=<r{=gbKZkBJ%j{ELJ+&7=Nxqskh z^5X$9sxxtP9BYG`+;*u-8pukfVn&aO=|e%1A>~wCRYSDl5N;06(evVTlIrZ<zmt|N zNN8zOVr@j@79oa!oi1PQq}->D!Ji{VJn_|lp9~rsZxB73Z4ghlV4wQI6vazY%ffVM zPwUD=JESa7g1OAUcEql?MF1{SOSocv#%!X;)I0F1(Gm_!SQY(=CjQ_wrzTPoPOH`0 zwy2hGXH#tSd|<-enf@e*I|00yF&fr`qD<33lb4agUx}bT5Ja5G9Qzi;K+0HMmGjD} zzZ;{ZTG@|EMGMlLND$(Ubo{0BF|WKd7AB2RNe(XMR;(DYvv8E*cj&vk(VicZEFk5* z5F+S1fEO_64wyp{K@K&H+0zXXj*V<Nk`7LM*QJS(eiG6bdlv@LFx`=)c}Y_q)zF2? zmPF8!e%Q+*k<&6umk8iC8}gu2M@9n9RB@%@9FjkR9DEkI{5VuqI38&%l+I^gS97<- zDJZ~!Mx5byg>-<L8X`tdGb%?Zj9tw${N*Ytd0JH)c~m&jueN;ZIt7OGX-lHj6q#0n zT;+nZijko3LpE~Ae#o-Tj-xMKQ~G)v6AxzW<x4#zh?7beD^xieOemaj65Xv%2ZN$q zs+l;VDo69XU#FH-?`m=9dFV_H%r*N%Qn23IvqSln%)u7>jS1HV^{Ia~8kuBPXpvVO z(9NU~IkMMZTO8pF0{zylgTGA&WVR7k@9i#K%RP+`-p}gdm8KZwYdbOc@#c)e{9fG; z_t4YYB(*6adM7Ox-77Uw@-QY-WJwiAa15Y#(0%0?*y`-D_?XYuTEj)xiM+pid3k=) zcWdT3o6=m-yEt`|<91#8XjAc$z#ey56W_Wfkkk(`wIKJ%f7xp9k*d6G*_@Zc9Hrqt z$`OF*vFb*0AxOiPlgvBMx~3tv3&Vw15wcT5ZRe7$1JZJBMVS8z^xq^GFR$8Zrct4s z(M9-9=IP+V{5V!aoXu*^Ba|C9E_YVw$f~<aNrEX9U6JT#LJrFC=CzZ@`efA6oo>dL zt7*#6h)c7q?}GJcG&RG7BfN!CM{>a;-?%o}o?lKraA47P&hU0p!@L@hW^8s8B@FH2 zi$4P3vjZ|8>^{=Cp)5m#Y^bYJZvBj}onoCh7@&#`uAzeOMALM+2n(zPW1l~aRH^vA z^Sc-ENjUde*aM)~#@WWX7R6f>7X)qBUcI|VjMyc~8%KcNNSzZ^^(-fX8%U%4WH6iN z+LZ~vKrb}5+0=WcV*Bnjhco_?3E8%k<Wx{fBwJ5l0DU2UN!rWC($UmCNL@^m1W>lh zo^TD7%6(=XROr+o@BxTip!oHzWp8yV=g*#ERKp)5g=Y$HJcm3D->i=w_+7dzsj}hx z#rQ)QVpyD##IIX4b;u09vQ))l9D50BG8{WN8?t>U9=)4s7ka>tdA!6_C!Bj{g7CXu z`0dG`(cQ<aG#ZGu+Rd#y@!5Sn@@bv4P1^f$C@M{c9{G6R^i~(m)18b;MDz6j;+N7d zA$dpREuEh(tF^=d?b|#S?{|1zEsNzK4i#@oWlka#xVxTb(!WV*?%qzYq#BaM*$3s| zAES^PlJ4i`XvEf-YdcF;&}U&OL}*xC6VNS^CXoI3-_8VD>!SmIdohHw@5;Xg_P=k@ zDo2vUKj7g0uiXceDmdQz7+kFgtz9{fG6|I7-ha*75#Rv-XjVu=g>##nc)zwL@yUQe zjL>|!L}}Q!W?}_mTwg8B9_~<cNW}ESN`RB$BE!o0-@YV*VKmXfRtT8u_rWLeBpqTG zd!eu@3MAO2(m+aix$thjHb1y^ByfzL5pj@ZkYbWCn(+qTTGDE2Aqh9|eElg;nQVYX zMs9neBBMzA*8A9&H|E;ovU!aZQNI%_{zw=6X{+58*O8qF6b>I?p*A82W0_k&QKFi< z9j48a7YsB*IPhl)B8fMIcdHfZnN);e+l2n-eHo;}QN91XtRHoz)`({@hhFrTs4cnF z3Fh7r)%+z*CiAkGLJ<`-#HU}*@^(2-r8RMGkcov{!6$B%qTF*I$~xMVYVPN#g&|^X zB)hXnfwpvDc+zk5Tl(*a%UxOSSkFX?@5kaEEcb*9n?ybuSpAJS9+bXT4TQv-d4~TL zH*J-kxjTBMG%vL)lyLCJNgVWQP+AVM>QdJk@bmv4W%dtbJ(68amIqlZ?0NLUxP=~5 z?@_RedB;9KegO>^bE=T%52z<kKCTklkAN$Ml)2XY(#bu3^jVOt`F4r_mjZk(nMTim zXOjA2>pkkY2e}7F^+_(5fVv^`A#d1Mr0w(L0qNY;$^5hl#oWyAe~$H#tjM$gy#=Q( zN<maN2X{;7Ef)lcc2!OGORc~^CA-LcAzt7a4I^UJjc7`>|5mQTHQu4ssWNlJ#<ZL* zpG!xAC^a9Vg4G_RzOy5L4zY8N>W-QGkGgkLYA`>z4cD}R$<t{^I<x4W2wrT~w3%za z1X*ZpyY9a*IY`Y~W^YOjRTyGn(dmh=rEnIw?X!k_^77TT*VT0c<Bn{;ReNrsw<WVQ zzW+3#j;NAKcMIovew&t0@NFrw*8C5qbx_))-FbnV-gn^|ZGN|jB2<#2s)IuSC_5<4 zXTVudRK5RVY>ib4+`^Z8r(z!>X!KH*>${Feic8Bg&XP&m%N3zRd+7SxQiX(QTPrdC zAyL?Y1a_O~OR#o@SW#1IhY^bgo)4_W!~a1%_gQS!YI1`8)3Ho!?56}tM7Ozis@cH1 zL{o^y{`+9<XMsLL(gyMJl-Lv<C5>CeJ|b1#c{0|EKE~IM5_ORodEv-O^uHD*W+wAl zKD%wxTeo-Ly@#YLyMA4`+79TR``zNCax+7|@uV#fb|k4Ad63WC??`=lm%AUg;K(Xv z`wXzj!(jS9<bLC7ste6;0$Uj|9pnZ{Olo!asq{&Sj-E1W6fU;W9jaW%flb?|qetQ3 z|H0njzxTnPRVwYa)Pek)kLE+<eyqe$Rx4h`+v>VIvVO82GxqV(6Ln%54HolNT@phN zNMBP!d>vWY|GUe0?nHEJN9?;S73T~Jap4}{lD_M+oabSsHx^QVrI%?HYoNtNF{xpz ze}(qrENW#Z)gf&YMn_n|qEMArrOT~h)6{josE_!(s|O2D47^OQ)6PdMJi3pE-`tp= znRN%8egv4W^3>z=hz+7>A-+3y_MuJ*AcW{wjPWFJ|7O0c{L>%K8mb!coHqQm{-31d zx5Hf~OgouQ6Dt5yyTuhb=v~Y|Zn3v68{EtRO{0q@C7*nSzpQ_~;6A^z>XqYPDS#Yg z%9>a|r}AVM+xey8FOfS^5Gfw}Rw!-u8i)Gn<6pm@JD9FiP%Eq}Kl0T{zR9=eP;H*> zSpyby%@F(JZ0GKZUSvq=l<=D8`YA!rcFSS<&MaQ*OGIBW_KW9$axo9)HNv^nC1UUh zb@<W1^<GN8ney0N%HtJs%(>;bS^<`DPEEBkR>?qHi?>B<Dr8em@7;S#V`<L3B3cp* zZ`nO+rj#E$7VH|ch`MMEv>SUuUyeYt#Q}q9_@MoB{50hm-j71vx1aNRXnM7)5UXl^ z9V|bY!dGHflta}o`Xt8NHtY`NlN0~}(7UM@N(wHi_de0%QJ)=wUNNHLL==}cC5*~C z1A-!iLilp*KFc@d>|^_IKcGEt)chf7LQh6%tbw0CVJ%5oH@5%%U@X{g)W0W#7=YfV zHSh{fTPz(k=+&lUWF}7VLT;vwa?I9s`8BF6vW7?)1}j(DaUfayKDN2t-zHu){4v`u zzY-P3)veOgtzxWmY_|$IIZ4^}^;I*d!CcftAlpO|eZ0TA%3b0(aF8R}*}(i+x&`A? zHp$WkdrPH6-^IS!a?aj+45*KPB^wx58}dQl?qy&<i$rrw%)YtOYC9Q?T<@6!o|OFF z2VR8Tgx!RkEhS8Br=xZ87Y0Aycs$RcSMsdB2WeL+r9ioH#Ltti5uLkzvl>sB<HwAh z1Wy<IRIz^HvPv#`ANcw2-3mK)*Rb@t>%P_U-f)*y#jTzl?wR)Pkn{C>u%5%;=}TX) z-@o?-e=b_ugaRk2*^F19A-4{fj@v8v^JlM|gi%gUnP!vAIDk?>UvDHKiV1ljvTX8z zIk{{v0{GIE2&!P#wC+Wd^VOtflpE)Lc5>nxPF`{TS|qLfTl~K7!`lZLrA4c519a=h z#^=0Kp2t-mVF-ls#FID=SU?C2gxZpT^O!0}6jLe_JBK<RLIERTFlyA|X;6^-^5bqs zQsI*mxZ=CO_kXFmMiw{e$LE7C1aDq1MalwiPKOi~WHAUoc);<RSy=Ib_q}9J?+U0@ z4BYm7zS2J2ZBdUD{mL-r8d`;U;;#I)OMeXb(DuEB_yCuL%w-tfOuYuS{&BVLo*nne zlrcGKcb|E-o47F`L`pb{6qU~C-d$B+)c72m)^LB9vAp@Qhj3n#C3@0WmwKvG{vE0C z3-G(l1F^o?pZny$VtW3K*If$2g>(|=f{1Ev2Q(mT58r#rRZ+@Z{WP9#^_I*CaV<P5 zaApfsbF#<Aj9gratU#o_uvI=h8!HePjeP`A4_sIJcOeF4y&+QGw^pVehXm9=AEwS+ zNui}CL}V8@f*Yu81ueKwW-)y(E%;v?x3lmnG(tP?j{0nGdP|>6xbNba<;8cxt@jT# zJ|@+D1avifi(etTw85K1N6|K$vgCA(JW3qQappO8WOJTUf#+U#!h`j2+SXt?2|%SX z0(swb6Y9-F&Z!X7+Vs`@^7q;V1wgIZWd2$wU|c&us*yRp<(_}Nd+;gZee#IWI8Fk& zvZ2^Bo;TI2(tc<awMHHR&0*r)`Z!$USe*PinaxtT)+Opovq!RCji~YbVv~Z^T1$>i zE5ZdEL-(MuJNS&Z{XTuyn6!SoIoqiD8G8nSt%s-f#OS6A@&iff7^VX??xgUha#OUx zDSdc<Zp0NmZ2D~L@eC~Z`D6>fT}MFmN~{C(H6^Lz?hWM@`3^l$=9~jshK~mSxc+<m zyY*T34Hxv;<1@1MAg-r_v@PDJIw=XrcJP<*bTdDhwyuv3aJI?apyf2C!^7p$w@(SX z(X{h4WWS)JukGS%%ng5dR$Eb@`;$5V(u${SN~iHp`KHO)9~uM(B<&TCV;jPt2_iq! zUPO<CS+UD6(Rp_+*2WKNcJeH19r<&NcE|V>?>s^jtuF-D*&Lfh7Ipw^r|C-U8ZUo= z`mxudKIvJUfq2DbfE3ikieD|upD%av#g1`3WtsPX4nP0fp6Z%bC$8z)i6TSmG&@Re QzuXY$Y8hxYJhYGfKXR<n)&Kwi diff --git a/docs/img/10fd27d874d8e6ace6b74801909782ae.png b/docs/img/10fd27d874d8e6ace6b74801909782ae.png deleted file mode 100644 index df0130d12ac56af8ca71baf1921fdc9cc09a5c11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4403 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 T@q6R+7X)B{G(|jzxy1bgc56IH diff --git a/docs/img/114dc1abb6412aca14f3c3b6ad3048dc.png b/docs/img/114dc1abb6412aca14f3c3b6ad3048dc.png deleted file mode 100644 index 5612a9ed9c893ba3b7a80285b7afdb901d627231..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24567 zcma&Nbx<5p(=QwXECdz_!3nSgcUUYq3j`-D?zXr~a0!9Mg1fuByA#}XaR?TI2iHI@ z&vS3pSNB%ERo`Dzr>CdSnbW7ce>2_v9r{@s3xgEn)vH%nvNDn?uU?@9yn2OPih}$? zNpO#)dAV>v71Tcc`}gno_#{3dURYQdv9MUv*!aFwgU7QA9UcA6n>QF37?_xtKp+qc z3kw??8wUqxEzP3()hojQSxJbR$I6MXqWj8dog0q~-yGmLo)PqAFekXx_SjvimQ!%f zdrClX$F#Cj^Z8j9k&Sr$*FO`5_L@dZMuwG2SWQ!1Qxgdt<+Z;U2>0&-F**u+a1v$2 z%i#ae{@+WtFin7XfZzrS4>X|u6A=UVtLckBLjM?{<VLvqMSlgy{H|;PN<wW0zJKd; zNwUQN)=oBu$=QQo845(|^W2K-TkrjJei6<3!}OhKM9TdHN^&BkBI<O3536YxMV}L~ z1jD(t5NwH5%9|N>IpCc9Lm4MiN)6PR$u{E`tXfYitV;5SjL{QwM*|O20lIqW>rt4X z_Hz;vny_j9GO;EyWZx7B1Hpol3?V+bIdT%DxfyYI^Y8|M$bj6rr}G{0icEk4JB>Uu zXU4`rx5%PBpvWI)-`C}hW0=f!`XWnt5*jqr%mXr0mPrqfd+^>gN3Iu}TWj#O!1Zet zd4_Ww6)69uBHRw{S_eek@@?u3HPH?VGI_B;)%Bj*jJwb8V<9p@VOO96*+`{UDLN`c zCKb<xf?+j&_(Fs3ubW24_LZW&VUV|i(X?~B_}5fUD@l_f(4*%+8Na0%V4Z$d$K>uW zh8H>JP#*S)B-0q}%1GX8lb=Ewjo_WPc5R$HOX2*0nI;>qVx?r^`u$Y@^~AK5su;)( z@o`OPJabMG<pj(Wf2RE4kypB?RAb0AW<i-cZgI*Fm82l*0FwWydLs|W6v~V>n&uj* zo2XraWdEA0xcfUKtSJ&Ltt9|0LcZYLsdf5cdTwjY5DlQRru7=ny@c?;FWXllQiS&Q zHjy^2V{+5%SIp52_7UXCtAR#VS;q{J%`S3F;i~8=kzVG>1}{+s?@&Fz0a{yXuB!Q` z%@hg;kATWQGanzkhwG*1n*j5C)f-;_x}Gzf94cRPc&q{b5V8I26=N}-k=3s1VY4!y z1c`zGc#Q2tfB3%0z_*f2z9FWAH+_~)0|UsDA(1!p?zo?JExK8P8mQ-L4HT%T$_h^m z<{KbQEe6Nf>KoJHP9&16F;XTA;WJfHkP=X{cP%Y1U&jwoZT6c4pj@4bKf?#ndow{4 zvs4!~K<?)B0wLEJSsb$wj}<<_Q;Dp}l=&lLvFu{Ax)t3K1KiE+<xPw`==9UdLGXvY zCLP-&%z8(%lix}Q5Lv)?@vBS2C=oa4P6|b!hENRfV&N}w29JZ~gwDqNp9(G;ibRVl zv}Jue)qW{&1!F9CW_SgU(!yh&%);Mzunet8D-UgT_C;M$$8D9C{(dO%u)1dy^jlf7 zNGlq~?uB1U#QY8pW$X%|I^;>uLAwr+ervQV940daf>%f@tMlmm(cM$_5yzPoc|SmA zHtL7t`Lv(B!1NqdDa^Ys=7N?C*<hGE?e6$`7hWp%nfmZGJn!Kh`+94AgA23h-@-VI zUBCV|YA}OdNiu}#Ie8Js`%@DKjsv|ZG=2<3fKT-gYxf$ty~Y%${b%iA76pD_Eal?m zQyPn3ze-Rn(jOdWBys&2cmQh>qquQTUwez`eP;5Ow&fJ<$q<Vm6+CZebZm+^UtAPd z)Wa`W{&rRP=aDx8%#_cmCr+6R8F)%PfXpzS{Gz}6*m@@avBk7Ifw=bH{PUmgtG<}S zCD-TuBhNW7UubW1C518c-oqZuz#u-L$F<l{kKPd-@DF_KoGQ|sRRd{Mc$BdDcl~_M zu61$Q_w2fv*Nt)U<zEX7yYfZ~ZACcQ%pMo*z$FIqNmZom=yDc*9IzL(sYvO0%is|% zhC^t7AZ4v~*2TV_?7m8g$ZPJvK58Mn{W9h%a2ji8_&5Xdusu<dZ#Fr|V|e`1A!g01 z7t+3y_!Y&jkA3-Eq@gIK{Ep21B+6FC<8IB*kz#B!eu1<lL9_&IeLXpP;B$5^#r)6B zDZ()P@@>Dz$P00%>Cr(-mQ>qs1l&)G^Tir2=wd=ZDBymF=WEIeW59i_%1rDZFUeJm zN|pLM+3Wy(y?R_YrI^x*fg7cp@2R_jp;WQ9)2841XFf{qu6nHpd*<c7-VA;kc-VR{ zaRWcI@bI<taL$UYl$T8dla-#E^89rRU#~lU*U#zA^ub?kI=yWM+iYTJ_}q3zbsX1e zZWlH!Ia8L|9_VaF++dSPn@^oR*Rj~r5w%vk!*zV8k?YT2$%103wI8`zKed`4$awq8 zlVMeTe>lZB=MW^7xg<<_Ua{QzTz#S`-|e`#oYfl_X(s6x^T<dJgSJu&@1LG$n8y66 z4uvFN&KU8(@7wnhNK+d)bl&JTjNsK($N5bvn!4$1r<vS>iC^w4l4g4?$NG@onAfNn zglFbY#%_sqt6aX}BfN}#IED(A$)D~4uxYsYew#2p@<7Q_+aZw`$`%azx$qPESk@gh zqcM|+fAg|PU3xhFiR$v4ZPU(m4{wm*Z1S?2%lFf;C(ZEgvx1m^yM-#_AZ(M%&#gjB z-`~FM-g0F43|tIh%t=}SKqg+tIZM?aH|8g0X_{`&h{vlVoyPNYl%-t5ky-3fdNdiz zamJ3v%&|}+t1jVOljgZY&+Sf^I3W)7)%oWXCAgR`@9l#_B11pGb@*#I`-j7kLy7M` z^_vB^pP246`i6cHK$X!`F4CpB2$z2=JVAnGs0NB}tCswD65A}xEi-y&amFlmU~HS$ zF?C;>sQ{&4lmlB%evuR`HU?vIl}5B?mLI@%)VMuk8xXF-{e>1#h(ALVQWm6>|C1`| zP!0uWiK9RLouzj@zXBYXha<03yvJ02IW2o0F>#gq`*ZF(FH9Qe)6BX@W22_Z5_PTd zioF@`D5Jn^7Jy`a+E}+{F<5hlMAE|9kTp1-F7e2M-L)>nx1*eo0DB}yU*b8Z-WVD` z|BnHlw)LJ(&5ZK3t%YRBMclj!0yv|CJOx@qy)m7BB2CPsfjd&FvxL)|;^G1268KzH zgs8KsU5Xu7Uu<%5?0&)EdpzXkp#u1N2<%u)MY5a5Bn#L=NRpr!b*DXcjXY9NEGp?2 z^^OqRR76LHQ^7+$+xIfAK))rgfNfegd)Dh}`4d>+lJ1(75FG-O9wow-{@<KhSjjEn zb!cn(B6!z1*RH6l?K8r?7}2CU!j?fRW4?vOqzgBF1P73%_XiMF0me;|1D{j;6}zLz zQeT8aS?wZxE!M-=#h_<TM)QYF;T$g9{+#2)O>Yz70a)fz4!?b_MU^IYH+pKIH9dzg zd99*_cyq4&vGw94&rfyPA7Dy<hvHqT&bioGd(pHM+?EPRzRH*;?9;CR<|#G5gW;x1 z2&*1c)(@O<t)MYAWM!~w%!ZhNbZxOW2<zSE-69ligs8!Qzl>{5@^u3->k~Q-nXJ6- z#oDt@s*Tr8OQTtXH!zo{^S_87&GH3PbB#T((hgA&(2x#oZc2CW9P+H`YpQpAy0Luq z`xnlv{Y}S>C<ZTl{85pIQsfIVV3KQ>oL?kfor5_c`m-h0oww$NKt;9d*{P)n6M0qW zC*~mKh;efK<E<;Qg)|$tafvEd`_nrtrnYZ>7vS{^jzJd}z2l2m5q>h8t{EpiK!^7S zh2;4#Q7UP+pJuv?RXguXWc*zUvfD73D2lcd3>0;ux+Qd{bfF~v@MH~o&bN9`Tm7f6 z{JIkbyEVR#SF!qiy-m>5<#haz48i>^^Ec4U)bsrqHnn+(aM<nh)bel+ciLf|?vsaN z9brN;R3OT|^kZ4+4^a8Fq2%|(ES^9M@=FX9l0e}Eld^cOD$mRx<Ss5&Lo?W-RRqMp zJssG^LzEXhI<59aFp51o<fgt0hJKv{*9rA|3z1X0G`DxIXHJz!#r#Q&ta`NA7A8!a z*a#I}-d8^d(?=wrY5ImOPv!CE6NyGRy*`rHGOhg6_Lo4i^eqB#>Lou4$AFixT(Ji` z6;8oqKH*#Uz(0Nc3l3_k%YYp2w`kQ$WK0cP!(uUJi^<O>EFAiw41ZAICA8<8xS~cS zb08(tcnwb!_5Dlr25Tw+pIF!mrjm%BHZKZEVhByK$6bk>j`lPn4ye-eUQ*Pi)HB27 zcrq#?97*rkt=WQrGT{ePKHmqC+`Ei;Tj)5!2!-K$ORN<ZvJCYDcfvjrHQu^%l598y zIW;}OA7QvCeFlqcV#%Oc{M}zG^^Z1n1^F=i?A&Krc>;oZ8u#P&sD9aIQ>cqABd>YV zILm~&9NPChXOe>Z{E+!HIep?1V#J?QQZjXgC+vc3vw83Q!t^V?O|TN`gm|%t0+-3> z%U3D`l1obOiA;=VV_FFX@#x9@#&T4~Nz(6<zP1UFE{CBO1yRO!Gmj9&2&7G??lW9` zOMhVU<b`|pKT6~om*-o@;FHKW@szgPFqZY6V&rd;s-&cb31kFh3-C_$73AN-+2q|N z0H35aQfy0jzI5#qALOT2z7paP6^H^2$PA>Mm#BZb_!YaG3Jk*$851XYhgULeNT(;B z59w5%DJ>LgC*X)JYhfis5v#-bI;z4&f{*4a2wtVXhjUY&V>XL$<fIgzDw^d}jVEIW zNilh$??f@RYV$-(PY9=zq{joT?bIvoJ-m#hK2REm{orESIj5)GwKxp+n^fTvmZ@cE ztr{o#5{*C&A7sB6{@NOi|A#NE;!Q4k_`Z0skQh}si9?VgZ5u5~L7WEu<NG4CPsR0< z!8JP`K*z^v@1h&GEm1EKw!w&cM^sU-)T!ecmbFG|FKEnPUM=n$^75Ee%G(@c7X6X} zEfl1|p@kHh8LNJ3&*(cJg@GMGfBs-`_qY*IWgctwO-Rkof%+jekA*Gw2Y9+{y%T35 zKSh4*tx574p{me)1(_E#gJUP)lm0hm)GU>Vflqe4(|nqqcSm3xKXM*D^nF6k<phPy z^snD>G2$jOum+r5Be5dSInoM(3n7gxZ;5GsD!X7=iU{*rZV2$FeccDw4}1$hv)_l{ z+R_j~50Uj4?=p!Sn1~pnv#|YG{of$*`tfBe4$U9Zz}0wvjI|NjhYviz0VhdirbP~l z7cE+y8U^5!pp@PMcab(Go;PW;d9&N<C-))e?iG3*$!<thY)LWOda-ilxX&y5eOuMb zTuQ-KW7`^GToHnWeIKwqFE+qOIdMZ=6upBtdFinZBY`>QFh18zSyn40fd?e{%rOvM zl3*?xt^N<xgojs)gM)Z@>egq#(I1BXLEYv>N+Rx2t+lD53_<L>suZcInRHGU*i4^U zWa&+cK(~fvO>o9^mP*iEUEO{xrRZ;x6xm+=aPk>=ob$0+45nicGB^|_DREb>Q+&2~ z$85a{(}SBU$nBIeeNkj4d_a(DDs+`{ug0IpkQ|dJu99n$QmD4_Bk5s1%t&0dc1I{7 zp9E4QPzWDFZcETwUumXTAJ>+JBWMpHbK$tp7@U7y6Mh)7bJ6mp3ogz|r%?1qa#m`& zsK*&jYXqi5gX%Zpipf%dCQmB(CL{my?i>t$Js(k$(<QvtaoIEa6H0;ax6P)dX1MZ7 zb4dk~JGuh%@+SCU_*DF&^H377!rN`(u<h6YCkE<PhXmLluV&h2jC<V)#5%I;JWHV# znt&glLYpFgn!1}8K-sGB<*S-X;Bli%A7w#Yz1Hvb^eEL331X0{XuO4%nXj>zi-30x z3rEaI&hBz}?k67w#V?KEqm)_8uF1XhV&%d$p~apKRBy0M^LEsB|6j_wc}4~*_ZoLa z0BUijNx1j(uAHfHAk`j=z?P6dK4z7?y_vnX4KG9-BGNLTP{&<0C6U?M8W)slN%*N? zDa1A>=^kU}k9hMn$g;g;6OB#P0CUf9u}s$sngE%h{;fzcine14m9vQfl*H|%678C7 z2yD(+3s8Fg`l6ST4Mkq8ztrMca45AURxzW3=#fp$g9c#yEzPngttD4DdPV!Rn@uT) z39N*n`5wCp!01rXRZ9*l!i&VbE%h-%)$zNPOSHnfdD~I;Gmb6WdFn|0v!1+yse+mu znXO&xD1F2ErWJkX)4YdV_TimBDc95Feo#929h4sP#29&>^djd?;**h1lU7}yb2c|+ zhUPS>@y<EL$d_SLDBhQ}M|K{*P!n6WKM&%dW|dZCx-ZI4GW`8x=)0od+3pMCDH5(B zYvT$t-*dj9$#@KWC-V3%NJqp;gtCl70rtb)eU{?oi7ZXA0!2PLw+b>c>Dg7&WvlkA z;b@PmSUyR!?0nZgb0dYFgi@fa?G%3tnXECa+U_$5yWe%09#W@Us(Y)RSQNnJhZ_$$ zk$%Itq`@q5LC~6bpOG&RUk@GH)JwDy@M#k|x(LX5^l!t(Ns{Z9<z1U45DpD8s<9aE z>|r^^7iXO|wV+=W|5Y1a0aXNk9y68Y9USPxBEeh*hi1YH#U_gI4i*;WMGjc3n_MO9 z2I4kugp&mn^+phb9%SvgXy;Te6Wo{v$I@nabd$0Z)ZQ0PPzqdp?`qtZ-1}0n5?*-S z=Q$btXy#F=k9Yed(K!~iys-l#JMs8J&_^nH1&7Bfd0z4OkCkBM4FW&h=uQ9e^2vTL z5%e7GKXHop+r1(&W^W3*4PS{!6&s!h>6&S`>@=@B7?Omiq{Ro!t0%oCn9ayd>f=8e zKD*v>NQ@4ttr=NEd-KzCL@nq_gbS<fEoDLwo)_ycXY2LvKc90Q#1GUw*SyoRuTzfg zo^oeefhvaZ#fraq|ALhYh(B0}&^b&b<HOH+czy3r92mO4E^#Y=#Bcevt*h$u7)*3= zpd0V<H%CxNiXA!b&#GuwA&#NrgaK+c%j;}M_q!V`vR~aPrlpX*^}DRGg7I1kk*}Nx z0%7zPVM_a^QmfUW$7r&(-+gqG?h73*Z+k?0VLu!mbCJv!XOI+e=LV9uDRX}7fGnOv zC5Rgcb!@ir%aj(gU0UyR<`{;C_TK$<if$maWcb&0SEj;HF1jwNK=x1Ys^zdxlc8&% zJk$!dUg%@_ZK}v(<Acc1K|5<-#LwNkz;UX*Un+cq16rrC2??fh;n7fAk*{+<pYPEr z(HM}<&i(q<|J^NY0`z?THs#*F(64Yrs*n6+KL5osj(>PKe^>Q%$tRb8K_;^7U`TKZ z<699%Bu5*@K<8&c$K~@s&$h<s@oBOx*#)HZx7qHd<v&~u0iJUuOe9DbMedGTdODFl zVV->J+zj!{ktEq&a16O1>tt8{YYP?IBJe5PS^u?@E<<m09{tm5M15$w(kWBq?hcJS z7P4$q{HU(*U6Jx^>!0e^`x+|1lm2GkUot_O6;nQ+y8zMO+eefWl<A^Sfc`&KpZk{k z1YX~#P`~F^$=tKs5K+KY>cb1mkhdQGlHyj815I2>VYRU#o+@hAIsDml3VyPM@cA(4 zlXLn;3B{#Ec#+bW$eWy!kCMz5w|e>X8>a250V;*PyJgoFz1MFuT)Uw^moo;;UsE@y zOg8AAPQPRjj6wP;MmJ}sek8WNqtCS6#xDgomS>+qN~@zFhWpEwkKeX7z%o{UiDkqN zaAcZo)~<0F*niL^FrS?VV8hpkaGDLD9V1&J|NTXxJpBiWH6|&T?eh4sjd=~r-WQ_D zg?_nD|ERg)XKhO<6SCcU{Prf{Tp$f8hvI7B<Q3(!rO1=9JF!o#AUE>gK=hEQLkS5x zz5ycl$~!as^wr7~_D%g{pWNHmcpyy8+4a=&UX_awj*!wvHos%&4iNa^?b%5<TP0Y+ zH(KiLt9DTqcn=tzR%*>u+sW$t?NIS{HkO;>;wfZD>bPL^(V@1mfnDTqb_66aMSm!m z_~2qZ^=zCk3z*4`f+YX!nqllUK)Y!*?Rh$J7b9`G{q;xmn5UGzK>{L}oDPDQ*!>kb zMHB1P8efhHh~Cgf+Fl0KWvB`b8`Qp`eF@oG;}#KJ4d8w3u<q_@I40Qg3^4+lg#%;? zk-;SlH>NKSm3-fH$f{sxgLgf{DVLMF27P65R!~SJhrV@va{C(8Ew6GQi?a<5WzhQ8 z9fjocL0D#$Jao>_uNGVa)c|Y_wE_dSZDJr-?MAa&eYYH4_)3qMLY-prfP)+sS2I0@ zTE^yQK8}Gd$Umol=SQLg01}rct23qVMH4?MXDI%WIXqq$hgT1S4)t4r;)NgV>wu&& z_W3hR;)$+bEUrPb;hhwLK8~!uk&imM;|CCztO;`Gf_n+S_8e-`-IX9gwN`2<LYism z=nma)Ur7VtTR;v4@MKr;1}|O>7$iO?96{W#d|BZ8V{7y{ZfPngf9e##mVRM+VOBC; zxGu~h=pHE=#5UPKN_q{p(wodx@3BY%livC~{APAFvt00*%|7d6r_9v9L5d`U;V#3B z<IQ5|bR)c)lyDUo*6wCjVFQ|utcAX=vd<tGv}P&CC6Z~jV1&{XNBtDt;kosQp^`QD zr@tHM%Ms4;bp`895NS@dlLdE2*GJuBhX;|<i*vjrJ06DHz;5F=%X)W0G)&15miWA2 z>;W_@iul)5*W@@}LsgHM1>2ore!ZLe>Z$SUim-bOV{W0ne^W&_2fNaALwV+J#_@69 z&v4R#ClRl*(8NPJ?_>Nw&s<`p+-EfG?e1Eq!_v|h>DexQb{s)0T$CyP_*Ltv9}jE~ z!^89&v6U-6&ry>x4$c>TtLFAq3z43R3z&I*Vn!)J5uyRPEcHFEimwI<1pB`FDx;5| zSB;;YL73?bfdtLtl+QbT+dH?|?Ca9j!aOs;%n=s27^KaHytcL1W6r>+GZt^IrQU&Q zmso~vhxv0a1QYwn)=qk+XfmCU)f*N0Qyjq+TG?`WjEV@dvm_ob?my}Q4r)Zt8obsv z5uCpCWZ+N@Mc&Z&$Qe0_jzPafcAOaK*|jg*Xg6<ul)8vW$R1VgL(+bAn5MRyT+DM< z$`)<`C%#aMg^?j_7bJKyMx0Geweh%d^mgx|us!a?A2)LxEa4$0I3K*VW~7NSi&z%D zJ_u26MfVLKcADbSyhWQ%>nXT&EL+1riUS7Ns%6rDQs$K957*f%rH8dB2?Qu%sB80% z<6B`V_zY;XvrNGhx?<a;Cw8h`X3ac|bO{$o`*4wo@(=OjUm-WB6eDHdUWs@?vt~3d z6&%{gKMy?2wA3<t;$Lc^Thf*&#A<WyRcFSr$X4D}c)&E)nW|zeb~fMX?qDs7M7!)0 z!{uqs6u!qwRq{)vSy-7ZSA9E})&4F=*L=~_*1QVCMdTb?#2-OoGCy87X4Vd90d`Ee z3gXa>qlmd~>RC3|PGJW<+V2^0_~CBo1$%Gr7`w|f-BmvlpDo|TI4f98ejGN%onk4_ zE_shxH_1W+4Z)M_n!rgYhX}-9YTu6ab4@)h#0rIZlVI019FmNv@wQW^Vk>)33uP;$ zrNvK~nydOd@9p-r_h5K4RAuyIzj3zE)8I}mJ?Xg!EE)fmVJgPk3rfFxNHQw|IK`sr z{8IIC4Qn<l(~`adC4LHX=7OAa>!!+>&xxt?)+#ZJ_$3x*DploOaTBDw7RPx^aXHc? z$9x{F+K7kr%qdIkS<VV+zP+5>RZXkgQ16Tu<dnj+$YU+aFt(>h?bv`Wy?jW<n0L!3 zy3arczSHFMS1@XYcOAM_jH(~EHt%%oQJeZ-$yN5rh6Jx|S?8*CI~D4bQ22->^O*S? z+l%hmY`Qrn(S#PGkG^)k_+F{NV4BICEq+7i4g;U6*{35-iRIPfJA_UBI+0`3+^}lD z)veEU;RwcaU;49GuC1)1c?&EzZ`Y0{w|JRQ*byt5BKev$x^Rl8@EgL+1cyD{wIv-< zDZKMK=jXSd0<$qwYUWgvsYmBfLQtX^BiiZi2wgw2W>YKcpc#j0{kP9L<^qT=;C5B^ zLPtEe(Bcc$yl48G?6~~yeA$5QY09)vMMbl{bVbdC+3{@Z7t^HwMS2XxwNWp+wl#qF zmhYxinOxE@S@Tqyh}g6_N=r7%_Vt@=)*pe<qwzR(br?d5+C_kK1tk{Wzga%tn!Vm# zawaV3`6WF7JgTUNXD!@^2**P5?QEa4SP%U9YU+4cCWa#xi_T^BOKl5vq9;167t~;_ zY&Kj)2@*E-%by+j#&Vn-ewpGHg1~A=aX+ekTNSLWKA*5)s2a2HHK{O;1!H_;7yHd< z^z=<CjVVvJ>!bM<XR$H&KYwlU9&udHS-^Tyzr$=EQpy2=h|vPYm>KZCe>`d=M}uuY zW$HTyn=T3Wikdb5`)US@@(WpgdV-senDrdUs;o_oty~CawR9Uj+w#N<ASpkI<bly| z5k;2KoDtpz$&(V)X9x-RGPdK9CDf3u>688>!I)BY%I+Jb4`e(>fBYZM)v}bL&C=9u zfw&hHxNDl1goL#pa9i(tidf7TSMC$t)o`|V`Z+MXrco;p);Y1L)?2F1Dn**>hLsvc zdiqsOJ14dXUG?-67xe{QuHYQB$WCCIDwSn=UaVK`jG5(|)m)dFCZeN14Du_q>bR5| zot$UyRVq%Uc~dKe>E5vDLPsl-53^rU{tc~%>zt0eF~zDTS76{VTlN1tv+nSL(J{m4 zScMsmJk;$PiRS&}O^o!92!7e3+L1`68sutD9g*@ate$%{F=?uErLhrk%6JP8?_a0P z@AQCngUqHm8Uj!BbOE_R3+Y=Lu<3?w{c5s3sMQDvG0E~n5oTXTPg2lY)Mwsl?iwL> zB(XQEYdW1(I251BVZ2l~fG;mT4I$Zm41Ct&7nZ3`Z?q1+ByhD67zX9ohVNJ-${nha z;Q>H#S2S19@jzKVc(}QNR#9LCR6~jAEYmEc<XVK^MR?rgcv850M%9ScF>AF@xxq2| zyw$fiOLhfH5)zjX{3*laG>mpSNASpelqJgG6T*l=sisTXFkW2_TTWL(D}RmUnmq6N z1sMv0CygppQUn5D)R8z-=5SIo1JhUH`wY0I<5jeE2mm^>#!@u2_70xD00`al{IO5U z`5)%vm{@gLehYd-t-8_y--HgNi>A#@s;4IdaI`-(ytCsRcoNZRMvF^PPC;SAygW)^ z9W1-PbBNa06t=E-NzaElx8xOYTE?yxR9U)hWff^p&3q$uC~uPl%t+M@K(EC7(X{vj z+hXD&W_CC~Cb5P$SF}hZ(_2`ZYAH(zD#UZKH)-|i-%F&rjz3Z+;Y$8yiredD@HtjD z3%b$)@0<GJHj`gI^FEZ$-8pOI6Tx!BCL_XYVaOwp<PS#g5aOKf-?V6j2!hP3gbmA8 z%2UvIMea1RYFKQHMEJA4*FXqSqpgD(&J;6W;h1Z9tAz(4_k=0bT*-oI@w<rCL`Y}d zdma`Srnz3vpj!K7*fV|XzyzxDAztgtCkbwN>rlW|DM#l8XYI2L5d+ypkHBFo5{AYb zb+dX&myh34n@85vPsYV6vow!{v_2^1zaIbjUe%)ErJ}&Z9h`b|XqJ_UQ}-IDR(IlK z@m+MY>T?eMyV%0vNJKVr5NJFK^AcZOVVBf;v=HC8G<$|chX+488dBzy6e{{IUNNn3 zVVH@jtjTr!sMj=4;_^zhXV8&gOb2E88+!S3+*raQ+pW}k3vxzKr1U=t1BViMFvC~H zOa!xX>0JaY_bP|${uRqRqpUqfk2|dfYu+bu3))`QMEN9PYD#WcaFn&XuN-+I#M5qx zTPq3m6NDnabS1ayY{e|8@FNZ~>gHQuOmS4iy;@rV8e>uynU*cILX1*?I24Sobs(Sk zJ%L;Pg9yun++6XrMH0H5D4pWD7TzX*R0}ghxSnVcnpvYU7v+aPZ(DVWZtXa)R|-c> zqb8-k^(~IOIEY{|+{(N55+a{Q?7Tg!O=7h)=!+Xb4^ly98PD=eRjG6zjOG{$DE%-J zfan=2-{Ds)=bK*sRsZw3i<QvAzX^Qx9wRKE!^HHYV}(%O*i}2ZOm}PVMD56FTfF!$ zgfo_Hmrqy*+sIWy#Y0WQJVU8rrgd`cFBwy$i<b%OJJ025!dKN=*(9sqvGs1=Cqlvq zj#Mfc%!f~=ZKW2|w*$9X20Pi*2O<QQt+?6c<~XxmuI~1z6Kz!@0EH`X5!*7UwBMrw zSPNS;nSFj0b;rLsD=_Y+HOlX}q9I62*`Iu%II|Vew)~zh_7tTZB>>7jff>TFS=U`F z27+v1qRudd*uxm5Hd(V*I$qFuf7{LE$+nRFv}WCfQ_rZB)n;`{al>)nzbOD2F8T7p zfE(&bfNE=9qPwu87=XNHz(eZq+DwMoz*L{aMV@={7-(UpiOw=$dmu)of&br#s~mvV z_oL5kr4_?+S?K{u#E(ATz>0_pXENJ}vYYl+VILWoiW38eUBNrql8mSSWWV`NVuO!T zw}Gi|it0KZrLS`&z@f=+trJgWR&a14M}OmV_VQufC%k^{vot#&F0gehaFNFe_-lay zWf|iSx>1laAveQ?o^NdOyO4LR_n1QOdhcWUcMI54fX>k#sEU5?vL8kXN#vgLCI`!@ z%5TOR4ei6p&t!)rzc7(WE*wke=;nS%E8i2iRP3H5G*Qm(kdiFXLa98s7kC_T9V4_! zbS(CGz#2j6Tp0Kmh~0*Fg+bKm6x~!+PGG-8iuL$5ScGPVu&9|c^3#b_C+Qj4gZY25 z+)?e0Heah}S(fgQ&zQcaK9t}7h17_$C8-0f8ToppCx3sa<@icb;*=(e?!3pLy?AKS z+W5w)qfpfgO0i@EF%INtd;Los?R?5yp2u4{zAWSRk5k`@y%zS67yFNC%__|%4&Uz~ z8mM1Q)0N$jzqaJXL^nE9zB_TG{=^kkRg7^%-@t^Z8vtpKdSVk$SoKP$-J$fe)S#{$ zc{xnQ`^;*eYYs@SE`?$>2pO=F%%|SN)@<^g^xi)pH1HkUYLtU?_m$bD&cDmI`%5ir zTJwCwH7?Qrh-<5FIfPnKOQhSnDM@5BPbmnXTBW<=<V5FNv97u$iczew_6!DN3b6y1 z7T{`0mQ^RavXGjb3oBC3bHlx%uLCOQUmYEEtci>E65u!JO38x*Y8v>HU(w3W6qqIx z#L*bbYU)-n%9fT?g`qupX1GD@KMVq??qVc$Qw&(;OkyCaL>c?U^OwNG34QzmGw4)M zl!988Cw=+OENPAq2##+$_bWC1wuY5Znp-sp@X<7!oa+I*+G4Vxv-EuJw^NQJy2}LR zJVsf)7cPs_C2~S}D<-+5r-}dxinVb5w@>u&5|k%{K;t+_62}qUFi6hyXA<Q0jx!!Y zR0dQ3z5G`>@gQRyd1V&fk{u;qabuJWSl3AOoa__!g90Vx67Qm_>tQ`TfF67<9#5WF zjqkV!9zQ5^&EhgF94~0>$#LsNsW@=~a?=j>C9^{IAb_I&n+J_Rs&AOG^GzJW;Qf^& z2!4jvQkHdjF+2xtYv`Lz%lVJlN+uqncO6Y0MKMy;b%{&hbhd20r4yvvChwBON0OY0 znmawj<x$6ld0TxN8OupqgHT(}7tSziC7hK!D@0FFsVh2p!{uPiEAvlJ?_OrL8zNv* zI6;>P`&97MLs+C4p2e*DM}%E3hT4|CA5=HMfZ;6Pl=9QliW;Bl#a|&Pl#ppy-JwYu z{{LtU*x(-3^WedGh_SneFFUG)+hE4ep7<1(dCK{w0hkK7Fg2P+>H90Id0WvR(Aq86 zs!4Ny@ipp-`pkPFor#^}%kSRzxRT|0NPp<@kH>Nrd?N5aj(rfjs7qWHinUmviZ+~} zuP9})Q_bp^G<)YKz{OT{ZxndZTS4_Hg%Sx7rWp6VmLzP7Eiwp~pr#|WYoWzvu>89~ z!5inq(ZBz2!xo%nFLS6T*adI~hKD}I>nD<#9E8j{3teu;x%CdL9aS3EWTBy(LRzKG zaOFccUKCWc1xdgSGpkf+eB&#{8ES>C4K%uF3tZ`p8QfG~qUvvbpsM4LtbT&5z1l%W zswCmJ(y6sq{5-DeEnyx}%3=(oK#gmNZ9*jdp7a^<@_vY(^ya0QPs8ufIGv1&42RG~ zo2UWkrNSQMe4wd22A68;rxr<jH-o)jc|C;-lV!WUX34@eL(F$xZ#gWGnHiHZc7Y1> z<Zbym_zW(uBu?IPZ}1l{*9<KXG+geRF;eB|^MJ8j&sYN2)A+JWAp%y?jJ~QAo@D`N z(=os3Ob)Q);EaIep=XX(Q&)r5E`4O7Daphsg~@oG-=8wMkCLf0126h#I%=#m<ln8- zf~=UnrVYhwddiVhg7J#T3hES^rkNPh@eG>Hhg~25BtBvnW^xNWYL;@{l;%FTGQpp< z`oEbX!Zy>PT5MYtVqB(^`n-YtK0~aHtWOuI#WKIB-f<$38Zv|)dx_J`%GS9Cz>(qW zpr)+JL^N%SRDw9=SbE1_iLd*lGf9X{aG)o&mey8O#!UWl@ve6+P~L<QTdXYd_}}Ld zo*!EdP#i547<Y+GyZ>;oEnuU`Ny-L9hG>abp&?yj4LMHusw$kIihr4TuQ!sGxQX!2 zQXc+8b)=&D!-g$OfQN1H_3qqpylq1IkZ8X+fh~Hx>uHR1#u4|JIlC)%bnk4ce~Q$P zx+SutKkbQ7|Hmzrw)%1T{L3ocQbLLC9;wwE2dpj|LUg=^<&IGeeN-%=(N}c`#M;F2 zj&9cLjKZN750lO^rYd~tZ!7NJ=W_V;&^KF9XO>>cj<)`Q>8)<;Da88U_`KO07)5Mo zTyZxP5tJz;2Q5f`uc%f&;l`=#bx#}(yZozutQXUcp@K2(f}_ry*fxpqw|_Y}7uq$F ziT4c6)=EP=PrOR?q>&a`Maj{25Yj@KFc@<I?n<kmvzx@W2`^pl#m`qY1?`^OhMAv^ zjz@CteCn6Q!}zj0w)O7q+l$pjsv{#0_g*qt_f9NA1urRHk&~zCV<o8V@yF|3p>>oR z#)GhfIG+|><SEglbtdw14^w4afj^!tN<p;ElNMM^SvaKFrtht>dYYs>ZsfYTniD4J zMazUbd9!Pmoi*z$7fq+YV=p-bQdWuIYi7{!n;ac5x=!k{${`A`KuY1>$WEb(VuTuk zC%VJf{`Z>nq=j8Wg}25fvd)I}Gf0OdL~X;p$+p(?xiMtGW$d!Qc(N|frtE1ym38pi zBZ-piuBPlT2RJIO{cXZwv|gj6Bg0{wFzFtYPmrxNw>!|kQjes|Kb$a%_s&8)e?|73 zfMFmrM4ObA&9H8!%%mx0yR<;J*K7>~q4%VkDv%P{*JxYIa+A)8T0xOM=@+Iy3%^ic z6u4Xiqp|fEoMt_N7h|UM_Nbdi-fMbmd{*hJ|B#p}H}2ag3pl4p(AUwZflU#P*?k!v zwDO;_4G?NiS-DiB8Nz<W?$)Gf7#7kZUiPKmhT~8;cPZ8Da=GEumn7kO!Pb;tAg-=> z7%;%4JC4)P<O9~$j#zLM#BoxzF!#lzJbWz@+eQAj_;MSi3^8>EQJk2SIM8qmHYWu+ zBx=Wbo0D}fX!J590*RN>88-P`Bmlp(T@hIn{q}xIlf0Bk=3GDWzr;CF|C+Tm8=rVk zUANDeXoT$nFH0M)aymZC@Rk+ot|(IQPR#B1ZS>ETNFF4Gs`zBSYzAIg?KywbB)w^K zm>z2GeCEp!NqPJ5U(JRVvHsI>kdb)@+H;sIRt{};%ZG#zm>CRuc_64AhPnQkcCs&{ z4lS;g{EnEJ;q+pxp6a#t5=LFXmku`@^uY0eB>XRirv#I>*WcR^e;VUUGa5x@{-h$N zFS5k8(b;LrU!W-Xx*lmni$S?j!FE!w2;GT(H0vSf;-@Pc{4U2*L{)^0H2T3nBie|4 zOaeTpdjX%K8oM%@J~?2w8_QsR!Nk~h>FhVoZ7LQ7D^<eJW=qqhqn%_Y4^iXQ>v0e! zd84*u5UmQ4R$R+kUwpJS^Qqd1Yg2`R&K{rTfzh&qNOnRWPc^<(kIL?^My?jpS3VT3 zd(~>5qqp2{=~IQ{?;SHsuRF3=(tT6cG)ILiQWLJ-Q>MtagTLbaTP`49QVrC4UmNTe zCy82_0jPAURa>CXex2k^j}sAZt}UuNh)-5B)#fE5p<PBWvWk)CAXoq<LDAm(z}r~y zQWBeJwx|8H(v&iZT$VU$anR^3I(<^`kxEM7*7umi1jD6V&t8NiBAT!O<S$gtN4YW? zEUmi(d+apK@>c%+6<*QAc1!e%k_I6}$B3D0cPV+~^F!>p9!q_uy$3`mAl8_t|3#jb z?9n_LVzvW+L_|vPy=o&s$p`_LyIJ?!HW(m_2^Kf((GJ$NCEUX&G1`kn80*_t!IstC zfh<alx3>kW$c+D%kZz643#>!}=05A}27eWRh4ZjzQ9Z#DSJJ7H*RQ$H;?ZJ?spvHZ zOL^{@xt<cXJzKTK8&k%Z7vVP-E5B7Wa@9N1+^y||WhHDH@VSo%UjIsBP_^=y_hA+f z9H~PFTRNPg?*`G%wMc8)*6t2iX>yJ}{XIEJ8$rVI{K}Bz86h3SKq#F?&ufQeV&Q+0 z>h2?2?Mqi!*G6KC@!fueXZ@7Y{~dok-#Ff{-msCi@n9R(bLeo014!v><puHjQ@<7Y zEW9r8YYb}cQRg_)$h)!2sIr?)xcLqmt3<oH=?6;XaXh!?IM5kx(bEd4t(;5JHEjVd zLL0qWWM0)`#c$7ciVM|3H2`EDyW1yTliW@<<<SrLo$4_uAhJ%PTQTzPp-^`a?c;?k z-hG1*#cZ6bWGk-Byp=@+A_kS9uDul7lD|#=Cp}lds;8?eoem)=A@z0HuhA9E@=Z3k zja&0i<<7~rrwRc{IykKooryB6ihpZ=?~AeXTFRqn08sBXT{I-q!>NZcrcT`@SyCu2 zUh!@Y4DnFf86nx+n@qBNTpIf@QO|8^&`~k1Uu4`+jD2wPo@4m;SQE9FT2eLVO6Fty zgo|!Reb@DLOUf@7G~xn402jdJRjtHKNY2W-$I*_)1qNA6PL|j_nNxEO{d@kcw+)lN zS4+r5vjQ;3U3tnDjA<npd+Lr=O>)1(hyS;K<G+m_|0Uw)+OwZ!Cy`Noj1`M+4iwCd z+2qEL5-5w+rTX}$(9nKY13eJ(+Bimxm<AW{2BjJnlTJeq#LE~4@tG)L!cnGR!Xiv? zu{UrOX=Bod)zt`IG?HELI}A9=5R{nN`{9zhGX>5e;|LVyD&9UDtSJBFSL=qy$T_U^ zKmd3XmD{bus5;SHe(i!VOtFrYXW*M@x7?L_6J;dG+o{ffFtr%(C9IoRo&ou4Yd}o% zG1%HVSbi41V4{i@S$Y}G&H@KGXQN2xL~zcjL%^1LsdZhQN!}kkutrIxN}k3aue~~| z5>wfBv(OC+W!TUEEpQiVN1s2fEZ_WpTkt=2x%`hTcdZOJHt+5EoOMwsgiREXeSKX* zw03GZ%xQsm$8bw!A*z7)t)oR8b1@8B#5BXi4OLQJ`s|phJU02#>U1$acG>BQ%6&=T z&YN+VF2eaI%6CZqgiQ6QnP0t~MyF>vZ-5EZDilJ%X(`CH+LqX)ca}Z|BG#WYZVh@~ ze@|#*$%Sq<OG*+*I!DX7f9Td;T0r@ZgCv32bliE~9O@MGA(WVVJ)wz6*Pbu$&6}tZ z&{8~v!LP|&wv!kae##cfAv2u>@p5fF{^?MyIpEPSl|!KOHwjW=t1B!+Ok+8cV;XLE zLma4|q8(s{tJZi03+RJlihVe7U?;FuMv--8=$(5huze~LID@=t<7O_MXZ8T-!X^3D zl=IavD0sa<F9!rr=Hx+z_<>5_xA0LCkH?uArI=I3`aQ-5pwx*07kv^pJ}Y>O>+$_h zv%CJZO`<**0TZ2A?6qNH$wF=VYV#O}is`<5U_x4TcR<aEt#>uFTn``|5Q*eT3->WG z`w{^e<z?9yfm3XK7G5h~mVjTB*m_M&kL83gw`5rDEB>*F|DGnYzhw)%eZOO_Q>;I# z*owr{iKe4$!oyZ{+n3IqV9&LdOxPfG(z4@I-lFO7aeWC(aA^d-4~E-s)-JA<mct@o z`Aa}P_bkW+mL36FK}wr=?)=(*ISh7NFwyY29e>9FzKzb$VH<1>+{xX*;^Q-F4Q<Z> zuC%zVIkgZ$1-%yMqOT^iq$ngqu5+A}q8)Oiak2%n&e!ia_aVPn?P&m!#sTemEvR86 zYd$+(wRNe$QVCL(pXvtrKyh)bTxnoiZdQa>Ed}|j(~pZx&Kgv3$3E(>Ld0Y6{W>6% z10UbqK@Zpd^Yhm@V(!e(Lh#cV2$?DFiT37Rdr!`gpjt9zQ5J+_uxpHKAG-$r1(@fS zARMK$-h+Mn0k9?544F0t5D5A#h%o^<_pyVZuo&M4J;1VXsZIDx`uln-w+UP#4Ym|3 zAT|eE%AnotII_n<Fx->@Td2eE{RURvAcHR?UbSRufhiOPyjc)soIGKtFVpax5dCS# zvsd>2UTUlb+2H{cfj09|f|FL7@79?2AudP(pC93FIl~bFPMp+aor@g0wsHk+(tuC8 z5jXu4y@dH$7^4S~jRTwJ=60Mg=$36QOzJ-ZqLyI~gDWsl(UQY!8U)o4%<)6#^sSF2 z`#I(lHp4aYTJjD(gA*8@kOJ#Qu37CBk^AG&?ZpMRmy9L+pFQCJZT@HBIW?a6jce$= zR?ujoK*7q0HDE8}hhf?5y0?Hgp98AvA8H@~bt%oJNn_(AXA6{SW2jXO#H>?)VU+-E zsYa$8fx>PMH94xlgWLZ(6GiAGzBUO+<|;{97AS8bvSE?{mPL?^Rle<rfpkrlfd`)4 zJRQ7iPZCpZ12j2?7qlC_rZLp1RC6iRUVJM1>407)Vmh2hJ+euQ)m`dL9KcBHs)6bN z!^NN~t!MHG2ddzZ6$U~A-jPVUYCz=K={~+~nmiOEh+M<ywE|waY7BT0WrT*WuG+k? zznC46y`o;u!$jmfOQZ?RUvmOg@$FR_SUs$uFoP<IcAo0GX0QEf4=PXj#`=Z^DDcHN ze)(pD#@i_qkq=avs*qqQ@~>R`tr%RMB32p%(KnhVJFF1-k(j2ZNaiQh<5(2Z&g^x} z$Msi~xV*OV%w)0jz0JqFE{pJr6^%g&;<8j`qCl*c*OeY@`^w(JCvr$ZkpcB4{}HlL zs_i72uTp;FVO!OJ+FwG+!WVz>6?m0uh$b{hS>fI<vM2{37@j9UEOz9shxWUxc>?Xv z|FjhQYHM^WJKB3q>mF9zgrVt@%uz;XW|FRM!|s-l{;6*Dr`LSeV_oZ2OTOl8n4P16 z51z>|r!lc^ER9yYOWFJx{5c#yq(<4%4ZM%#sxdY;Mn%3Kjn<M502nWR;lIqbYR0bW zr=w7C)uxnSPFCZOCzfPhdIh!=DEv~2B`YStnrL=S_A54%621YoX!Ky9*cbB?DtR-K zL&YhROcvRh@-$w(!#PT%i=ct~Fh_5iP7_oC>0AiZ9*L&ZdG9oJNeYa9^NmsqO6VS6 z36xt0|Es7niIxWFdy#Ob;NQl>zNpVy*smWzs+JBnd#$&c5;^VtKs*?lfTdRlkmM#h zVM*c8(Ym(Ci{Z&>N*Aw8b($REX-b?kM*=TSoA52a2bL9>W!*Bol<jC@urWYimD3l! ziI`UmRi}FRSiJPhh+Qpn?Lb>3wX4QYjNi}vyXtWl<=yyE3);SvGL;BJilM`bmw5g^ zM#KNNN%RAoE#0J0^!D^P(x|$gVe~p>J3jhHSf+Y`Vu6BsGzr`*eP)nzm<{!Hl$Hg7 zl?iG0Op;zC@Ng;~gomzk=Blxn{sSakvY@4YJ2Bg{0BuFo@tT+{>{MFWveOl6p`wwf zr73DlaB?7=+rjR88~9D*DXrYPYjs`VReny(|FAp)e{|W{@CqL{c$McBk(L7#rV@46 zxAH^{m8u@IASz+%)8<fFR}Gsuh;@rvEJR+{-gS>SuygUpE$lxxVKLS9a$eI7wD2l> zc5=A+^)Pr}POcUMo1>&ipxiWEKb~Tjc=sx26kKAUbY#7C4PqQ%vg90I)NXtR#Ysm& zY8roO$eTi~7UD-)RR6o`2#8$eOYDr4=p6ye#M?-}gu>6skOyOGbucPDmyC@%!%G<b zNHEYi8w#Or7I(x;nAaxgh=jn8R>S{~?PC5>w@56TYkaqLYcOXfN3!r`$i1wdRH5?` zNw8`92DePUD4RAh!T2PsW`v@JZ)C&3g2%=YZ!tmi^JvYp3efAfK>1Dd&od4(@sFWt zf2?#rs=v^6{!6c7(E7qvgN04?Uecy%t;{SY!T8DbD(AMUUM>+m*4s@GT!N0~Z-#qn zL_%Yx<wr$wHR-BR8Q_hk(Sr;B@zS8_t~vx_?0dlE+|N9!hy%`Q07^k{*kx1H|CW_# zTYFnsPkIfahl5`B&c*7#Vi^6VA75PFfU^E4^|2feT;8Ag0%aqF@!*PXqAt};gaznj zE&`vIbx(<fS-MgFY@ICQkomto_WwNUt$w9x(HQ%JZLtoWUW(i1f|h%3P+c*-$y%*m z1JVHzbist?*zBb~2jx{5C|MADh^q$CD2tsHLfxwDe1#jj(3Ex9)I^KrBtOLx5t~l8 z^a9IxQSpimR%Xkt++k&?_C?J^MIQj`J4q+wwwlg!DEx3zU5myN#qOd9mv+*!iKJ1J zJmBlKvlzK5`)d0_qIV6%yGIp-*KSWW1+!(tIp%^qMRb6z;DcH4K2r15xXKIs;$)cD zu9P-!d13erKr}BVK{T5s*x`<2>xC~N=!RG=y$u4mKHP|tD_=0W&N&Dm4kVMo(OKN1 zXwIRSPd-cu$ao1Y*2>A{|6zgsF|(`X<P1G5wVx=nU}_i`TnbNwg}(s<7;^;5JtHN8 zp0t|cmka}Tz%m5pr63apKkEh#nKN;cf@{Tmv=?h-{rxg_%z)^WVj|)ouY1Flxz)_o z4Y^++9X;g5HEaxn$kv=#U&7MsUhS>U!-}l0NJAP?>Q=t$*BZT#TQ3^+Rr$UcqGPA7 zYz7oi^H3*t0sNq=Kk1acv3J$TcA??^-}i_-OU}wT_F0IpHe59jwqC#aBG=!xJoPR@ z$UkuEb5h`aeOJ~fh88sCNubUo%j-hmy%MBJS+&-<W!yq#OZ1lp(CMD3?qgA&*G5j? z6m!UdFHJ5!rKv(|C4s79m&kGJY49l#Lk`Q=zfNNdu{UV{bK2NN`_vjmR2s+Y_Qf{z z*PLLOrPvbWY6*}aRx7k9NF=M`($W-Fb)L0ZOlR<j!4@K`Gp$zm_=8^LCjH2N%)|P~ z?16m!?R-)-JPap0YOrb)9NNaBOB65Spsw5q9@aQqWA6x?(Azx3JzYx|G@e#6o%UYT zb_EZg>~G*o_>il`K|HQr>9H3XSsc}^OsN}uLX6~4jO29wC>I{HpkHD8fk6M7#Cr2$ zZ<)Xg!4>L#<&f=?33z2e*&i0T<G~fk`^^bc*{`JoSiHuTIy0P`2l=KhVILy8NckTl z%>+89uf6RD8KO0&h)mB|!U<*wsq;s_Zj|MDabY%Tm7kR*LP#~wIqC*pW||}`MrdaW z)!yJ|JX)Yj3rlUI9}<5quU`?_ZUnyX+O0#$?6GpySe5P&gxm7H0Qvu)alw(!(N&{5 zm!qva2aBtfK0x!^VTA#(irv+CFbbl=CviqvBTzo}9PpgNPcV#+ZZHgLUb4q9c?egw zI|U~8C6G~j5WsCS5!US`yhpW+nkv#Sj{taH&iPN4GIMTTVUrgSl*|>%bg?2(UU&`; z#W2M{VK<AZtoI56zLxNU?);Zv0ks1nw1eKRz?hdNOT~)B&Qt)(FZuA&7vPi#shTXq zdjWZg5H$;e|D5?UV4bT*5F|jAguBL7<HdS2(97z>P?$(t2?FB(S0&#W*3`DHyOv-; z2vraQB4HsYV8Ddl2?){!B_JTZBfS$rgdj+fA|MC`15#q>U785eYk<(Zf;6RvqLedP zYv22v{o|aw?~nN;V<gX<nKNU2-}}B_fu7^AaKK1YQ#!oZG<5L&OJgMje!L=6AY!Y> zb89{JoVK{X3hwxOLZIC$l6^1J*U;U5^0gw_SMS8n)ET9-Y1T!e(y3y0967!8yJDws zUy~ARMU)*g&h@g)q8Ho{`&iDMv@%h9!A3HjP&P?ZAa9`%yYH}M{4<5RE}N>+0r2*0 zPxsl^akEN?X?5*cBK3q4mwVFJcdmGzAq59$T5!6+GA*n?OMk)omC>(pB_C|q5b)Bu z<ptIE*LsV?U|7gLcg{{>3(gI`!nIx)Cd~aFTrQghF6X8I`z9kfp1=jM(eDaggRPDJ zT8V}21NT5%K=oV(pF>p}pNPazl~B=nh}3hCan~{9DbzCGfXqvog4rvyzIt8dUfebg z(v1t%>_rzKPF81s3Jo}y+}SEvsFW$V5PGnUHE=*dsilhg3IB7iiGRl(O@Bn#(|^{y zQ`E5#uS8VCSJ22;fTsxPUUm|oJpk5<v(`2253&?axgeFp>2i$C<o$v~<Vhg&ogj?T zAI4bJV&|mT6k#JHH`KLJu(!OhZ#<10@R-Av@hRwI3|#e<QP><7=~gzAEY1R?N7V?K zI#=BuaW=@%s%V3)3q9zILJE1i`ZwRJoR&pe1Mc7-j4|s5w4BJR5i~mVi;Ou9lCRw` z1-Vu;eAEijmF;T08~_rp?icKaia!EuzFjRLb{ouLWWN9juislfjJmBp4`Ep=%)Tb( z+J!5a((1q&%bVCDR@MyB@KA?yC{mq<^16z7d(FTYG_vkw76^D8;S&x;z#aUBaeg4l z$(|jo>f#0Vs(z?bwX9W<X<)y~UfFD>xo8Bd(Vai12C4TQP#%JqoPNUmON9El)#k^D zsbf*ioa|zH6aY7n;!=H&d>lO3S;Y93@|;@mg4oztW_cu)|7Qn#-Y$fi5(ajOwf0_o z@VZkQDn&^S(D^tVY|{$}9|16$pJ_wM4@6yoy*c)mJ??@XPE2cjR9x>nBAwUbP0z1q zmdw<XV8K{BVx2^{K_|5PQT4>e+Rtu-SDU(9U<^k_Xf(S|mVi5B7c}FpqtV=K5qc>8 zQl`D0bOi+e0x543(bEd#O>GzgGDoIWLZ4DqC3sS|m)M1S#l9ENWCl>E0a3g}UKyB> zXFtD(bB>Z>T1B=%n=2aA29%zIIsQs1gxU9gbP!x^qZF}B=ut{3Z*nxiYIS+u2&e@Q zvDtT(H<3n^fqP-a?0t!_!x6N3!ORU|$YeQngx)1xHMm}Q_PJK}68S1rb4vnT>@HI5 z&PS1=1eFrfMsq|A{22B&d&luEAkL~FE9gCrH%-?;TWDw@(H>mKuZiu(J(jwYEP*+G zLn|+*Ircd4;j(}WVrn+S7D#B0KOD+OtiV4#xYr2{`CcyF4sGLLehc|eHIELJ64Ijc z<l(nO){lyfU+Aj&<N`$ZWDoZGdaDWT&X2S=BPFYYe^2;C+{N8_d-QT%_p8XC{u^}p zob^^zvVqPH?KmE}{d8GhRIENTOUA<Yeo=gFXn{3`<$=-7<aEwpl=hFz$~U8l=!&mT z4P#HX#~;=HiH_uS(Q3UnZSUW1xIJtodL2aGbNg5uMaMMrqs5)lpLrUxlJk!)VxA;d z1+-n*vWj!ZMPixY)b0M?I&f4eH6Ih%#Ud_kcr9GHspPRs=c~~8HLJl-sC$FpnKccX zVun-K)MCl3<A$p*tlsM>wMA&!f-<pacs<j!#xx(anH51TDfhJlQzlm>nuJ{X`Q2WI zD*!YzH+PR2lQ$gYK;%L=0;TWrw9`Qj+{a5x3G{m%6w^BLn7ju%un7e(nNNUHveAX0 z&Lw`4PvnyzP5()AvjZygq5MXc*7#?7e*m!o;)#bj_`YmV5Th-TUiB^@otXS1op@(| z%L>3zoNVLx%|Q#Gk6&J|%xfeg)6wviL@);<C;9`AFh+t=H|+6s49gFo2aDfJxhn69 zwmjlvVGU^>5S>0yA(t>208*8w26QGvcYV?0yCyGXuR(k?z~#WxeT_`D$)}>@Z)>kI ziHrQ@_JZ;f9iM!sEAVjhqjfx%aa4mNH2r<tl@zKV=GYj>o6*LI32QOB?eEthEUxg$ z%aW#-X)ZZ305>i7NE#9joHAewRI^mgKHXagi>SNri1(;|2;b#w#)khN#pR*@;4l?e zjEJJt!G%W3FE_Zf!*sJq3?3G7_Y{FrPM;lU^!yEqC(JnWl|{^46jCx<o%TOO22d%B zN8{RWh3g+M?WmWOTz_9VZwE*(FPgE!vBn?tRBYrEojJl%c}9(4y(BTKb@VMj2SK#T z6pUkBOV(UbUna%Y4|O*Z=J~*abZ~rKb_-!F&!q61Y^_R|1B5g#Q-G&>6N8pDA23{s zX0M#s$oZHyfAL%z(PvPW4hN@mJdg#+<Gf)0>RVSaL0DAzVia=9IQYp=JH22b>9-dL z5RQv$g=o+S{zRKC4#+V%znC=0?4wLUCNknyX_*ZXG}pz&ELWhhD^p;a6+52-zE80H z8##=Ls?Ug-*e1*yfHVMOo1q65Tlkl~01Pr<FN9qJBB!ZCl{|C<Y5<nQ-<;Y);QE`^ z#Xz;o*9aSwV=Xufjd9!R#(xOir~wv#a#@ZB^ArYZ48e{#4RiMXFwFV-ImN6hmnlzF zys=~dQ5LFRmenw~E$#~Gc(sa+QZWj-Y2ko+`Gn%v@H7+V(FE$1vFu|0tbQZH)RDCm z3uiTKdmqFHe?nc&vyyOaPaY6;?u(P|3RcUk(gjVRY;y!TRl`xmL_teg15!eq7a8Tc zYXn8$O%W@yBx5o-UAM}C@e_q9vLPT%26E>lMI>C~ZtYqcsiCM{aD^H3Nd*8|U;9R| zRc)Y8KLnk}#$)KJQjrwniQtxzYg|iqj6d<YZ0qT;eE|AvY<o@)<k}?&)zhd1M}j%z z5>8!di)7@fBYcvJO4icfv9#dgjxe+J{m$iW#SP$Wf7=+=3NJK;B&U%h>t{pVpM(09 z9(^&e{hqJ6080g=O6%8`YkQi6&CMOiwjk`Ib`<eqLqq>s7x>kN*8j`D{R@CBN019& z|MCel;vpITgmt6z<NZ2ugKBOu^SJ=D71{7{A1UbJ&=eRH3ShmD9jS9iYyD_b0}i~} zcOdNWq5Zz#gDn<72EpI87rP63LkD-XbL;a{AoShQw4=#%0I-B*^*RjkqFaRr)4ty2 z8)EKSEh>;A5D<ZUSyVxT8tD)gf&(EA)e)Buj(OAk&6mN-Oe(&HR;CA~6d91=hagvd z-g1Qc`Pu9N)Ijqd<s`O-T$hI9B_w^TO3?|)-7IolP(p=?B<G3<t;)4Fa~&|EiqJbW zVQo{Z6L#aAn|{v-&Xu`1qPCGZ579{<Gj@gJ6~#?}kp^hV*U%KamgU1tooU5b0?3IC zuaOii%IC-e5v_KPDO#cD$bl0;8G!#&X=v<Udwf~bVMMHgRl_G_^ibE=Ftpq0suaGa z#KWxP-p0-hz&J4drvG<!v$D9(Dysk7JYqMkAIP9L;swk2|4r(~S}h;B@mKf9r_V+* z6V&MhgP)ly^By#=w%6pj<l^55afZ|BIQURs6S%k93pwYHW|uMB^qe)~Mr7e+z1&l# zgU>d>yavAFm4;%iP}6th2tQu_*}=q}<bKn?$zO3)vx^Ft<J;ivJwAgdq=70KL^JlH zsE)&AeF7a>tWYp&AhOxcs*s%T^Bu9$xL#Pt4;n6W(A&OE$7it3zQ$(uLC2-l(2TCg z>_Qh*?wMgJk1f$hbNT%HVDzR;0dN7^Wp*EN(ic7DlyKU8YsnnPDMaJ>Pui!}1(_{$ zTPh={8JHlXi>5yS4Fx#=H!IOHaib5F1ld=yL4<5gbb@QEk(qDNOV8gJ*wExOxRhrI zBdp4>7N&Tvy43NPmSjko#%dP)VkR_SQ5o)&_(~|Q8!c@T%wuT2@+Be~!u416cnKzT z)VS|h@f#*CU&UkN-SAokjm)#uF=P2w92>U)_?O-Gj!Z!$_4ZfZ=g5CY-~XQ@IR<gY z2E{%1R$S<{n@4A}XChCzX#`-_hfn4YYKxxB{n+H41TJAk>_Ni=$6KI@05tpO_&eh0 zLv2S_I<r-k|D@~&tz4u`J$ySTQ2ed@lzv=bL6b)RuMJUr%}pcK6FE$@3b>A*oO;Q> zjM6*nfZd16s6*_7wf9@3e+zEcfk-e)Jx5X`3;yX2=3cvs4&2Q4EBRc7e%uo);?cUK z@7&(&=f<zwV{1@!kB5mS@+Q|-+VEbvB8%b;wQD-uc?T6v541O*q|*#ccv(8jVJA3J z{fegb5=*^gu(NLX*A?!~Po*+ubvW54Uk$i5HXHJA{o>rSopDGY0K1)g<ol38kE?63 zXXs=9s)?%!$m;A0A%3apX`nlpcslLP^z5v3O!Wop0hDw@mQ23^UJu}4zUeBo)p83c z<kFg(S(k$mWx9z@<dv7VSB|Z!*MA1pPi&NmPPq}NNYR8owEY@IBRi`p{Y9NfVg;Dv z!6i?-b=Eb`(u>$cBwIDJccA=~o)f7&@H%KliOIzAxOkk@`Z~x@6~`S}?dUBf<`dC^ z^HxKV3q0+5i-i-AQ<1rZ0{hAi=v0h;ncYy3DbSUTN>=LFpK7TQNU`J`ALKy!v@f-H z<LXJu<E;G7Hd+exe*s~|Riai|o6IxU8PSZNBR_%mLkY+{X(&eGkKYLDqC)I2;lPe) zo7x3sH6iMQQeMK2encyIL&75!XfQI*$OJL8fsrA@q{}AeT4g5p5QdZomCuEO=&;wq zyJJ2HJzKHtkxPAZP0S_z5rY>jwy~QsDO2QV`q5-w>4?uwzW^K+@Q15$)4^|ooso_) zuGJY;6D;<q(Z*j1FbP#J9LzqZ_h8=M`<rXoLR(&`A=`9s`^Ad3=&tZ;6UZHR7up3C zkCCMhi=wQd{H9>jmyzaK{61xYET9wS&SPY6&1LXLxxhWqx0%q+C>RZ<AB!}Wwiief z0;99$ZZ`IH!)Y<$$QygszyiLl&c3$`Fu2?5w&(A!gV#(%@|K)J7>?Cyd~uYU@n0pa z6BaiTrn&yNZ53w0<}ce)bRLk}>cR>CEj{Sfsk#Fi@zxa(3g9xP>?Bd(r3*ayi~ta= zBnYWMpK=74`2e0w*RbRN`yB^|jWZCy*R^95L`HZW&^+}o?07F@n%gwxX{i|;j?|>n zDN+TUd}=U$HfS5~u9mU3#sX@_rQb|MHi=-IJ8-90KY!LhsGB(#Jx4adFxoa^C-BE4 zhbt!+$7vMo8;Tw6v@YcueZt3|U3Xwy+8_c!;9tQIF-Zzd(<T#(H<2Tb^vSieE~)DR zMJ`TuOEJI3H5I2CWDGoAhnqS(*EV}_tKDED)tPrC9eMb&vFtTS0rMqQp{Z>@LyX9p zO3Kr%q#prG*|OKFrn~1xFNoTIG>Ai53ep)gN3x6MrTh%g0eh(i<A?5LoEsF0F6bil z9f(*S>j2b<6e)N@jiGb}k&CX8N}`aCZ;a(TfdWZ&20}9%IZIQq1&Yi-M!S^h073U) zgQO2(@pg<wE<%K{^_X9Jx!hI>^8yJ*D_hY@TNm)oLAI*UfJ>U*E~@_>I3OkU!b{7^ zD44&>78-v$tSqzhVZ=PlgQw&|^W)N@wd{697HX{p`wg>!TZ^OA=IywY+M?}&st;FM zp$BfVNzL@lv=FiC&|>)F$n%eGCD+Z~%=`Weo6gr~8h8I4F*LO%`WeodKY@gAZU_T< z6c9udUqy;LD-J)mA<BQcEU&(04T6-nfsHMJK4f&ClFYTYcFe)!g$|+rO5ph4mfF96 z7M6eeZ{vLjM;kb;oK>Ubl-ROKOGk6@w|grzaB(yEE|n%-ceDF$FfA}T%^*>HWC0e~ zMjQSZ?Y_l%VokXjbQjPkD1qXG7CnGLW57ed?xW$&8Mefd&o~NHGehos=N@Q<XHR0g z;`(Uh<An}dGLGJP=($tw_#$}CHPbEuzW>D>|Asggul|0tpLe07$E8fT8`q-Urw=;n z-i>5uL6_wgTpyvWkKNO>C2sOzobelLD5uwUuI*3tagPYGYJaM1e$EBC(RbtcV$-Vz zS$`V$j$|t;XNeIE3Fh-WhoEESt(Y~WYOs}XpR-xUkV`7Bi9zMZ!W!@K;w>`@3HiV( zsTSO+{Yb_^`+FT#uouFyq4A->wA`eN6{`R4x1!sN#vmXWB@#=*7~0XXO(qw3p<J&C z8#SgBgcB`A3|&Wo)>BG$CiDl^#Ed?xK~A>PY6Os=5q5fVHQibvY;fr+KX1MzZRSRs zpr}B7Ck|U%kmb<J2gm=Zb)6J1WCJ0^zCaq}+4*XNe(FIst*9J<3foy$&D-A~;p;6p zwms`FXrjKnqtO??uk4kzwLZBx;f*r37=)vaoe9wD)8Bh2XROb}4uO9NbZ~nCMgufd z8~47Ny&LE347r0&Ff%Y@SR2z|NEZeo?9QmzMC2H2VZ=>Lo-Ttjh%O45z6Z4;?y?i- zgGzv8d}mL8b*}O@4}ILWYU9JGE2G_`eK`o&-4o>Fiq)4-@{|c#;7J*vV;RczgGzPU z?Uk{r@AvF8<-E$i&+W$~-aXwwsJDN==st|8lP2(hndQ~d@IlNS(52QZmmADLbjjn^ zVUpAOQAt-C8rg)%CGANjD1|?YxK7Zpf#YB}@AR29IQ;`^K$}5S-OOUnyz|We_+E)c z(PdFMk!(r%Ny&p!c*u7|vS%`l{8rhlMh#ec(wIk|*Rg?xH3frL=giqJ`Cb7e9Eouk zc?rPa94t@u?OX9RrUAUoSuGTq0w2x=#NRq_T^(06AojdMvdlRb-@>T*@}U#vtH9ZZ zqd$ibFT%`gs{Zp>)IU<$zwfZ~(IG60aygd%wmNM;I~E^}Tb!FX9ae@O9jMVbWhERx z`O>7T)YG(kGIojSdi-ka8Inzm=f~rehW@>g#HZR_>xCA}n+$*DXP-~dnaS+c?8pp^ zO~gAtY^pq;dYK5<m*^*tFv)kuy^I?2j4PpEMV5$n-$5S1OLPx0F3;|k@%EY@JKxa= z{H;X?GU0wI&~(p%1Z98vl&d&d_P)7$0Nqx8jO|1SPh>K8`Hwr?YR<$ai!R*2?2Dwa zRgvds3<qYNxAN2c>|9v4k4C^=*vhT>y|H=epOu^}<t9yNc?`#m#vCD;quf1FirG3& zCi~fPVA8<jAvK%s6Zt-dx~3VuTr7uAI=CDtp5?+G4h?kU-0;XX1BmT!rxF^062qPy z)}DNTBaX19W}nCa?zP`=i@-?9M!02BXE3m5-F>DkyYR|zE!-S@9N*ewTcFpqv()2Y z%jgrK6nCNH#m@4!dG7>`U|Xc4@u#4`M<BA8(u>p;%I9y{JuB0GGJOxpe1+^6-*kQO z+s^K2$c}_@vxmKo{ed1%v4WR$OF{O=Hn!(P>=ROv{m-2_y}m!cWl;&PekhIArHA8z zLa0^b+3%wg#k1Y5qq%oyyMby3EsAFq6)}nq9}m|>pROoaAv(!Fn=gv=q{6;1g7$8- zX##0W1(6^&59#4dBz6$PQqgwG&{g*2cz1huqhu!T&d`SU(c!X1ef_`^nC;-5f4$;a zef`8Rra{~9%>~<|u-xF1#@4_eI{AdB?B6cr4VP`URg$TEb2w?yM2mVw#j~S#At!SV z$7dnx_<^%F^B*CnzvQyo&az(o8e0xI*<5yViwT@l+j`f%!`E{&(o!ds30?5IEof$% z<s(qQSI0E7FeCj={`u+2yP2lb-<xNW6Rrv&pUTn1vmmtvOiaPR+3$BfGiUR{`k?3B zQ8oHzb<D7y<y2uiO-sG90@5Q`wO%sWhlz}HfSp#*Y;OJ9wm5UI`OOxceTi(Hi45@s zokZP=L3Bpk3^2WQcu%}@=P0+T!&*e*EgYni4I5>GEH=g2wS_32kxN2O$Rz`8q)2^{ zeK!5&5XHHCbFid5KP2ak3iR0J!Ux;HpjDkBoJL6r4C5k_Ct;R^Oz*;-W#<Le{2p7L z8qiNtTRR@>!ZnrJRHW~z@MBse>4v`rb>!Iwx<Denqbk4Oeb9r`P8#I`l8{x?cx3I* zPA|Va8Zew{R?IO`JXVbvkQLkKKE6>4-kBqjcTcJKd){kpgk20sTebGfZ@=v~8Z;bJ zowm^(tAgGdU<gmt7~Rq6xD}fqrc%OKOJp#<_AnweXZf$*I$n&=E95<dqyN~xhQn_7 zB!c=rBj(m_u79(_<(Wa&kOcqICQGrW`<uZK7KB=P!+RNy!??TUi&|%#T4>_nN?iY8 zPUEo@PfP6G3BFw<Rqmw!ez^<GOtIu0=kAU|weSkEcvo6L;bs@q64BXlPXjuU_!*&S z`O77z@xIv`&qI2Ix<D~i8@nzSS<U!YZWDZ~5If>y??_%k6O$0suV5gP_O3W#Y=fWK z<SqiwI~=?R0Ka8)LLA~|>yu}(&D`us2T8%1`FH)lVvcXltvkqjha>>xl-|3u(t))T z0eb+YI1P60Ck$bu^!Hvboju_TJ<VXF*LS+v@w?wzuJ#Z&fgsx)roOs$^~<vcBtTJG z!@n*lp2ek|cAT6HgiKqYMRm@YLR^6gcBy#r_Io{u$z4GinZh85+@DvJNtfiQL#|-P zlvIW=K8JasS_!s{IZ|tLPgj?5d4Ybvj778}UEoBHhp9QRi$4<TZ$t(!i`rFiN7^4H zH<%ZF0cYQi@6B*-A|srmW^v2gx2c%&Dg0IGqInBvbKj?w+<O0o6sE+ZF!p)%#nH#K z=tV05h2Ws0&AM>g4<K6By(EEklwM=~*QEWExc+vHMzQT0XwIM1-t^hmlEWm#d2@~O zZLX5t8x6Wluh{A1#><8xxHvN6Pi<ZRHEq<8ut#ILX#>*Kw>o$1y&+f49HHKCFPmn! z5$3y+$)3u_Mtit~2Vu4BD0ceZydUjl{;UTyCqaHHX`B{kvnt!$2cSow4^rf#H1K_F zGy_fXkRKjs#EQg6h%BQV)X{oZ4Mv=jRgiB-cT6KG_`JoZOFaDFkuW4JMC)7HP~~}l z%ct2YSH=1&Y=qQgUpHXREVDVUYm@C1Cgz+j0Wjgks*2!QU)3K@*Q+l(Cx9}w1ZjrY zKXU-`raGUg^7<{^bf++VI_mPZ15?CQcvNO<CXhP7CtgmQuGe6VU2Ox*!Ogjxo2%nx zW%Re#IZj-)udUB{bje*UqoQyeUiEkrIFq8>I5@*Pv)LuVAg}jA!qSs05X4Ieo&f6H zhPw8~nideMr`0mT{n_t%cd?hemlo=SZu37~m{+#dq{oxWo_F~;Tgb;pDTGW->I#I5 z^6KOnawj3pG?Y^Ia750~{wDv*kFP#_u;#ez=INnxyHxY6c!%oMOO6vI5Bv>T`xw=M zuA>L)^@>m0-_I~cbR6ClO!pi_6~*hCm%R%Qt)6pSbyIIpbqavjdzv&a=))z{{yWzH hH(wsc_U(+qpP><VJ(|M+=;Z&0hN|wJVr9#){{q{ke5C*Y diff --git a/docs/img/1162f64da937aa1ef37877c6b8930e1e.png b/docs/img/1162f64da937aa1ef37877c6b8930e1e.png deleted file mode 100644 index 77c6ee8fd4cc19d228796742829df100e0543bfc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36884 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 diff --git a/docs/img/1165fee2238c55848aeb09d59c76cf7b.png b/docs/img/1165fee2238c55848aeb09d59c76cf7b.png deleted file mode 100644 index e7318320a0f006d210dc153c4ef0e82d51cb42d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11335 zcma*NWmMH|^ey_^#olyFH-Z8J(jl-x8l<~hx;r-@NQb<HbSNN53P`i1JET!sq+t`% z!tvaD$Nl&}=hG8oJRjCG)|hLqxn`_}ngTu!H4Xp(_)3bhS^xkA0RV^`3i)?q{eAu4 z0pQh8)scI6c-Y?C_e^uwN*Fq>c{OFAx!h4B&MS&QAh5Bqad2>OadGkR@bK~R2?z)X z2?^_{8Y}^T^ShF)w2uGMVTh9750P5#H4RMDlOHoe#p9_>I@`-XU0(DqEuEw{Jl>62 z66*6B?Ru!dVN`T%nqID>{qHgL20-v<y|NqmACX$Fh{r~6EGhf{ytyvvQwX1DI8{H` z{1pNqyE)UhB6$dlerJW`-pw<AvGJngbj+!?!P;<kX#`6`<y;|&(4rfTrMBd>)hB87 z2|~jh`#702L1mVR<;K6_#0)YYK*q@FL)@C0%k|)IspvM6nmaKbp(p6Km7eW=<Qfn~ zsT!6wuJ3)~_+PWH8<J^}2*!kig@K{tG_!EVl)iev@R9pH1#yII$aqggZg^uy4fBkh zu-3XpIgudE#xbug6v?YNV1O1L$5>m40ABdfKQ28^Z*8u>5`8o;e!7#swR-hTz?kAb z7#Hq-axA~g`+?^U0pC!F;bm;|5GA-V9{zezR!D4d0U7`u<ATbwTg+v63S{%zGb_9O zont^Pnnv0d&^u&aX<<aCVr2Lv?V8`fJs{)|Dca)>a6C93v@M~<Wsyu`*R&&HJj~Eq zeZN2TeO5Hk7e!{%yn2?D%s7LD$gN^mxN$>}(2;yJWKdr<)#AfTbdU^^+vXE-EzT_# zi1in?t2<x_nna{HP`+_6VnTYMAI*cD2ty))|18$T3H;4HlZJUdG=cf15RBYi98H1< z@0-y*^_?Hr#kY+-ANHIKu1G`+yFP*gHg6$`fFptOz#z{W5hh7Cy^=4pIVP}Dvzizg zio7Oqbs*BPd?&wyoix2;mn)MMbuJiszgE#@*trEbL3~Uth?<wy+V~;1vE<)0v2jSr z!K||cO?pQya*CF8Yj|CzpNV~Yy1Y%zwM@f$Tp1M#+YB1vCdEn%bCbV*`Qc<34Y|n7 zy-_ixT38A!Yh<S}=S@_+i3wTylc;z(xtcR*MMoyDUxQBVN1Kt>TzXV>A8XEuy=83y zNX$0tJYIhXMU-KIcB$W}$sqkU+K01fi+;|N#HX#|gwMZgJSWsYL+irw{!jUw_Mjmd z5|Ai+6fO!Cxwc>qVGpZ7MRt*r_{S@ft&^1HUy&~${$|9e<a!osl?F$xt=tv$JmJg~ zIg~ZcPrjfTd;2Ao+hYkE7cj0*zEZqLjLSFo?y|84pzsmx8$Iu{zRH<y=#Zv!Z~}uR zQg3Jvm2_;@NXoKmP3|3~kb5sukPZ5~B<$JtUVuJvvJsAp1e*RgN!fdQOSA<z$xxYJ z7pgO}PQw1)fFEqqBu)EehPF^jtF>2&4G<DVi}}Gb`U!LxcK^LV2}+?xn)09gLf2Qw z$wZQyY|N10Me79t1`KWwBmz(l?x`?t4^QlcevmJBZHJ1hSgi<nlcKpd_HhE~q$439 z?va}|O*s$h%7FOc3+#iNF_+$0q5*you~1tr*On^o$pa2gg#R|;%C>4JzfcfByhTk* z1CQp-v*RYtiD!r`*e49b)1;A=Kvy2b=mR(jqBe{(Xx;$c_W?ca<-9}vjv@9`YGO0f z{W5ttbJN^`Elj<Hw}0zHU_T4<-k&_tD+Gb2b$=>n70K2RmBTp}55BUQi5D;W(bm3& zPzSUpK?<MSI~yyJXG4(c420;kn6uStsDNjb1h&LP<AihJ!(HQ>zb>V{zM<&nKA@^E z`qv;vANI&kFSCBL@nh*~gHnp$gb9v`n5F+Zu6_e*6bReL{_!3p@K`hkmCYkEgqv3$ zI`8!B?G|voPdoV;H>=d_!Jhy~gJo&5d?yQCVQguVnU04*r+2OP_J{fd@H1cWdX4B~ zPw(2avj38gFn6=C*yW=iwRy+ud+t_s!QoXtFG3(v&2164ctQ){<LT1LX-%U%_;zt( z?<uBtXSr%QHXc3)b=_=5CMoL$2<K|@GvTlA6y!QJA?&DL<1A$;mSDuxA;31AR+oa8 z7L(nIDwJ2!7T78gf@&qpd{>6(DW{C3K<Z^FeD2(4SPZ?$El1)YZv+gwXROnC_2h5C z-u^`JMdlHMGZOx)*wxICE<W7;kt>W(ILk3_REMuDjghI@e~LZpLQoslx{e4}XnFv> zqPE_v&Ej2^Ic35}@y`8^>-96NRlZZhmdIylkuAO@73h)hDT$qDx*<R^E=f@Y7l8=P zu#O&^+)dOL`JrW~KY>O-$Bi>7{<7mN$;B*;Yu{7Ifik+_D<k6|n9IMIqsqZNn`vP7 z@q20b5;;^WGJ6am^b5OCjqP5ynq`rOf2~pjtA`D4Q5v1+sIQTeIZTMm!=f^Gk@*7} zdQXjT4>l2k*8jNFURmEPH)Uf+;Y$_9qE^_z8Er(9)wq<8siE!*&D4&MKzt+bdT;PO zFJfl+pi~zp-&=do>Q9=2MSk-{0*PqvXjUSqHroOF>hbMJ_i?G5#%Z?e0%1=nLoJWC z1Q+N}dlsxt*{1)`sMz!iWZYAEQEM)|NcWwv@`c}sJFdkwcX=Qxo}pvVGfKVOxPQgG zC6_`b(NmYe9kxb54e}*YY~!}zi2Uu47ga}MIm$6WI1`GL1C5?mgmKRDCbpWp-F4F5 z;r+$zBR`nKk><lBe<r1&qt*2m)Y_oD<dBC7gQTFoaucm@QQY5ODfa*TITx<l$bkC& z1fZ&<$|1>d5X}#Jc6aJDlq(}Um&w5K`MG3hJW2@e9cMceM3t!U5{IVsiJ0v}uwYyU z&zXgQ&edlR+aY!47`YVZN?d_ktcmXR_dE4e2$FPx7t*-Wtxz6iX*m+DnU|~aHhU!% zckELiYq-C69<atk|1@SvrqovtcN5-?v<r6*N9J<EY}^M;oTLB(8xGh!JFB_8P+}}( zPxUYKP<5SWaRUmiO6~*gJlOpB3&6})ATS%4Sd0H&LLXEgw(-J9hP|7-CCiCmkTKH5 z2jueh8S8lO;%k=xKKnUX0>fZwi+HJjiR>(+reXOL0s4DJm4T~7)N<ekid8Yf5Q7{( z<^QlFFdB5fweXq%)3zRW_|=1h(5AweY9@i0$bA#_nLmn=mI)l#8iyi7SIKU$q$2AL zDJ(csl1|TbyF&pv@4jPJ+ATghVz8d2H0OC5LICFMr0sZ)TizgpS`48B9ejzhWR2i0 z2EH`bM;pqo#zF3OS&YJAUVtUzlR(aRR5oOEBw=(ph;OzOcIQx>0)O=072fdv=A$$~ z4D&+W8PKNa>iOqE#!v2Tjbv~^J@)l{2+9qdP3)U=rcB+&6`6`}AP#=LLLAAqBp?Ev zR&zr_)<@^|1h>-td@CBvH$5#Pt?vFjg!OMpff-k9?K5~vzKlb~p}+bqKlxGz8C42< z^Wef(B|pAr6Ih~}qMl(b?1>a|armm0p;mS{Q}G%LG|@WPqiqWdz8fD)!#J7OuVZJ~ zNt|h~$ML!f2|K$3^ve_*L;LW*GwO>DG%58!*hwZqk(Sif(wcW_ic)?uMZocXy$p~- zyw-~RBXb(Anizx)`YO-#_+7=m>R)EgXK;5@;Qmc3S|#JWe<WDcOn%$?&J-$p(-C}q z$(o}u^1Mo;&lbCCPNJOSI8k2m2T#h<(pq4Sg@zZZdwB6n7^&5B`e6lPJnaYK^p6;d z5TET@!gyz)AUwXK(MVTAHtCiMQ6yH;3!0@;agmg#go$8Ra<##-$Jq`xdpsklTfj0s zrsxjvM$Kkipz68ER=PNFF^Xd&d@@jt^Q+3!u#ztkdNE3(OU{HSI~St83t(z_iuujM zW~(Uj3zjFJVCz+#|6HD|<UGfs%Vo>8t5^<qvo577(o<s4@TOEdrUKgedGA9IpI`{_ z%t4y%mr?y#-)ra6pDNJOD#NdYEurBOf5A@Hkwqs#3YD0p6~+VO-a@R!!iW@ypCH#7 z>9>a-VtLo4_~w^$Iub3NyPTg*d~3OnnpAx@c|B00kA|E}e}shOe5#QmZ>p${AYA3a z*x?C^6b54N?5tRd!xQuWBM5^Q9Su|k#t6bwWKtldv2J3}N_vwYeq{=9_v70CE~<LP zw3mMXzIU;cZ{a5bQymEw{OP~7tN6;?X=^3m<#Fz$;F=vep}&80`B_jQ>8gHs4r9bv zd{)4+X2}SfeHq&OcebRpHqFeHgDp<eYIY)uiV+%XPe8yMpc~Q`O{eO0_VyQWlI)3c zo`(^z0NHup$o*da9dSMn;G%H93!G+fmWNPM01c1EEUK&C&v9lERyaci;D~EG6GhwC zdmu&Egvr!UWF@yd9z3f^`X9&!ZhfE@@6S0z;#XPo3-od)Qk2Jb*R%r?X;BUDhxcU0 zvLKp?ybei1V1A*|B)l&@5cEGXkPNXHBNWMp9B}r^%QfC`oLR&<9Tw^468aimAM_K} zLUhq~E~goG{xQ20_B$qeYUU6Z-@%kp$Ts}o0)jj!$EE!Zurri!16BD<mq!?edHTuW z4Idv6d)YC3u=I?lvNiK1nn8zxXnz{s?DtkZ5fWOI&+?6++sz6+#_Yw{{qZ!DFXfqj z_c(Xs=2>>j_Np)Hw*APub!sIyl8U}lC=%Vd`)i9+s?F}>+lx01Ih?C^hR2QmJ#q!( z3PNSk!6ORE*za5vh%UyT@Kn~_!X@nreiH_**Za&`h_R0<iyVE~&!@H;_nFzs-zf`B z2Ctld`c3ZI@f>{nw?nKn#y*pqX>JwyUt+fl;TL?$L|g|?!1<BwLjHn}@iPL0uAhWY zx;(uA8lUirbcgK^r*=kxZ3=YGgPk*m9bzVbwr8cXgM^h`{zhAR+0Jr8b&VQG#YGDp zSY0STSic^XYP9{BdgIYy_4F{ObJ81TJF8mjV)#mh=g>{lZ#h;>^LSdMFm#~#W4+G= zZ~)z|x;{7@{xgZ?RDjRoP{v2Z;O-#c>5N3pX*F%b+^)iPYq*^ag>)Yu>JaNrzj3j4 z+$-VE`=fL5Du^c=szFoM8m2jjr62C>Ywh;M<rT|f%-b)U(Q3hlQfGS}bY0HK!Xc2> zoFf^HN_lS59*47^%i%kn>ARS@pVNsO+{PDX!=(;xBIV>Xx`AIgD=*&?x+6zkF8aJI z>u6xprDq^346Uud=%0I;kag7U!aw}d6eVZ+zPw5{t=7f#3-`~QS!rWIl-T~TVCr}9 zT*Mq3flQ$;g-Gc4J5r;iI6aqQ^SYnkKtlI;0?Wc}Z|tP2Zqh5WGl%ANdMsXQ<MRWD z0ELeZq$62?T*(q(w6$K)*fKldg*3kYUXAPARYYnwC&+tib3h~YHdFi#aM-4OTQzEV zPMD}6Sep)^CbFjoYR5s1q>Ml4(#9MId<hnG=~5D>-Xx}!Z{W*bS7&}d%?aVFsb#i! z`DURh+)kfq!4O?&HjJgMA1QqJnZGghQN5*=W7?`GjB9GJNxD`X<$V9hC$W#scPYFd zS>M<+^oK_5&&Ms{TbqjPZ^R?Yvxx}evHpxX<1Jl#O-(q3Lv-c4#NVre2pu6hqiU3k zFww=w#z0O1BSM;Ikm4cZCKc}>V}p{YFH^yDxxi)#S7j4{v1YXV$l^C!(_CX0cipu3 zXUemmQ;Kn(T8((=k~Wft&0-Z&O(3X!Ku%pYwp!G$!u1|>lYAipP95LPekN5zH{Uz& z{8V$l*39r3wYX(O&bhpRXIOCBRyEDE-rE`H<&cgl(G(%5^*(CekEQzlE(;`3v~O6X z(yuCIw(o2-5f^ziq3tYFm~CKR6+R@!U#fr{jy`6UnylBPNbxPLl23GbsHcwU7y=bb zm^2d`7&M6&J8l<pKNyP?&MwT$sxBW)@;x-xIb{<XoMF-AQ8@{rlS0zQ?h*F=ijsdm zn(%P=*pzQBe{<A9G+<%1rZR>3_cH&_vPf=)Kz}HDKS?LVBrA5X!z#qd?I8cq0boqA z6HBpp{z^z_B+o1A!`fE!va0OLA`;E#M|eplixrQSeQT&nkxY&Y{e;bv8a<T6!k&QY z=j_`TZF?I;LUOgp%>ON`6gO_Qe+l=cgl#kJ@cIR$!_()QudGmZq+WfB^H<Cc%C6e{ zURPcwSE0frT>nwC3J=K{$<OJ~WU`cS23CPP1uR3MocHfmUlmLXuxURSdVghDd^$2x z&t-X($z%lZ9DkN4>#@<5AF1!v;n}N_pJMGbB?9Gn{`%bA_8%7r8?>8k-L7gq_P2+Z zHn_hbZeQa=jvgxR^2HNbdBn~ZnF}}4g=c_H9?hq9LJR)4ES;0*wL?xQls=1mn3)wA z0mq}Z*WIr~#S>829%v3bf+yyKIBz~q33(z#$w&o=6HvOlL>S4x!1pDv?!r(Oq=97; zfBL+J)drgTjb5FI82K#-0kTs1IUzlQ2cG1=GEN+hA>uWRdU@Hf$^zK^0<-RX^(!Ug z6bqU>`sU6{i?z-~Fo{qsm*3eUiMe&^KbFG@Y~jg>K|QV}jSc#F{GIgNx{p^wJL&eX z1;?!cjcVQGO@Ul%rI3LMA2@=~8hRf0*bC_b%itLaz9$z2=JP02Uc*)%gGsR8(LgCd z=?o~zyaEDiW=I%CfS*btU~zHjsjEeYskmc^1S;?|CSRVdaw??ePV2EBtG{C`nmp*m zikFKPgs2eo5G}C85dH?;Qb!#aw^oa;<%xlJ05&m^vj}jApwQFT%@24AjPG|NYO3v~ z-*c9S6(X%-#InXsK0S~sA(iV!lEnXCp^n|)TZ?g~)0f9NM(_KMq(gLC+JF4#*1qMq zM7Dhyth0LInv>G1iwjJ@57G-GfZ2<q$arr_mDXBJWo`n6%J=-(1HE2?<(MGUb`4=t zdnP~Yv|BePe+Q}s+Vzp_ZE;V*R;)V)1X<P|X$6vk2*VIy*MLPgMn?P|>Bc{!%*YNB z+(<Rn9>qJv?d>ItPwBeFODF%w!s0rM1~qRV>5AlGu;`1p4;^l4<k4_*e(8hA*JA)x z_?5Z<<ZJPDy8s*-Irg`Go(Xx;mJ*#xJ;>lr1d?K09yC3aM@B-%<LOjC9yIq{0J3ve z!o`0JVo+^C0Te2);BNqwg>O_Cvth71^o4cmQ7Kc5HzwgR?@@FJ6#*=i3MWqzA5I5l z+F5R8y#1iYH33Q{tRXmzZgWp1_<rKTF0<@C#*L$1I1#%Tif^5U{fU1)50kJQ$e(}A zMu+I5mD%2ne!64cOrQUU=IID=j9N=f>qv21_kMfcFMqFPKC_IeLxk2I>S$yteuuk+ z8gw!tj`?^W_H6B)6NGL9cv{`@{_R7#8Kw?5lwG-}p{Cm#wHoS&Vnmc2A-#ms74PVx zLw>rT_NAG?jC9c$mY1Oz4AC6{Yp7rDI-DNwH92^&23=C=bs_#+Dzqij@JECtWvS-t zLgBK=tLUUcSNl&BA8P<&RAzRBLgtMu%a{Yk@;OJw6v=O%$3KVpo_*JSVGi43KCa%_ z8hK$<O^vv^I5S%gmq&jc37TLAI;E~+fGo-2U}&z~Q!Q`dcMz(0&^sv!EiRh`fceOE zW|vb2sAh-yH*;187Z-K$$-f&|t>~IIJ}Wl1dcAR~Xne%r4fYxze|;0j&PpSeX*0kg z*SlkC&u<JORIkZm&EGM(N1e!K20YSKeq>gSBi$;M+#ZarUQDq(Y{F^}%Lm-5QqI52 zunUuEcmR&ejEtSK0tN(GlF%?5uwo;)ktsiA0UKmcdn24}G>Z!Ho)Kk1>LQR@F`;<j zRX{cA*Ol$OO=#OD=sGnxfqO$eOSFKL?$w8AX@!T^2-`q*8N5T894gZofIc!JGiF=) zuVfpGFe4nQ-~N4rPr<Z+1&lF}N5YHr3Brkx1H@p=Xn?M?y%%~p&)Exo{_Xfqlor^C zor$@4Ps~f3<kqONuzQR|DrZm%#t%;;Vtkp<)?+1Xx_Z|jNFu82$USD!>Y9PzEjbvf zDdvG%i4vkANO@`;&csycM3e&7gtpY?)pKdg=Ltf~HOCQ{VSMP5O?XVg9g0zJp5x*( zJ0(2jQ*S)vWJ=;2O%wQ?2+GlA2}iMcN)JVM_6$LZ$^AaK^WiD8m)loz#mLUJzX$Z? zDV?J171_A0$^SGqf8Ru43{<}X$e`5qBX@^!yt5#f0Yc^qGiVxPnPu5CDC!9%sQHUL z>NPQ=AiS_&LQ8xO(Hx7O!E(Uv&cSZJSwkoe{IV_*7v3RgXKFE=JS;0XQ9)cW%@L#a zX93s#PYhbG>ZWU6eB=75`$MB(kr3fB#z$B7I~U}IqJ~1`{@}m(Cl`~$bJw{8`H8@o z-10~5s#N#n8|0HmPfgj(ccGK;CtvCl0bOVm2k&7A7mg;{Q#DCunYrPWcl@OHP2LhL z?U*p0aD~}hensGfbID2xANec8`dNZg<PwcDGipwy0-s<IQW!_a?IY)@A4F(~a8$3j zTq`-r9o#4O09=d5WQk2(iNDjLGJD9F7FLtT8`5G_Olf|Zdv7_L<Rff5PQ&I!EDV$S z5P5o{JUGvXbPZ?lqk@d1_UF*Y3>~^z4F0!|emwux*DqvQBH=F6cYa4G^|<T3l2KIY zC+=>WpV>K~XZ0eq@-i2_QVTZ0wV(E~@{62L*afglyP`cDNw0V&lyqiAjPO^2*TtW# zP3+SVgpx}$-IZ-0G}%>ZxD`b8CldV+GnQ-iUjii)k;f_~D7CBh6z<&ic**1cX(BVk z@YsSBligF^mSTp{V~buGw?7lMU`tFhUV&|uR48rf?90iyZFbBy;<3JZp>e45ibW@W z>2!tjaCT7c&+5&jDw}E0oC}jK;Yv7>IQz^k;U5N_=Y?hzAuF6C^*eHZs*V$cq~5kj zqx)Y5c9-awXB`&L$Ef9bUUduRHSzEKmx`&#W1~S}PR9nMV#QKB637m?mv_>W6S-k$ zl^*kp5vWK%#y1_8t86~!0b$Qg7ernP-2@BYwQmyRjbutPt*zlf+K5q{tP-VrPX$I! z?s&n0VZt-*qR+drz+`#V`YaY&EEd;~pcvZMIXZz>i1LyNI9bR_3YvIoyJhB2XNGnA zCna*1PJrXRcV?yL%u}!Xa76RWL<Nz4vuh_8GX3RGC&SM3{xe+xcs5j4BUom|l59OG zavb+HQau&?lV?}Q6B>xmt=l3);7>&!QAQNYrt%>rK-w#Il8i-+=*U2$TtzqZWAlz} z=bcf8Qjyo6;n{znN?|&TLnx6f*1{2JDScUY$I#9`E}x{l^BE(goZabsw0~!YlUJ~k zm|&?Uz9IOHPpidjzz<2GAeyh;?@j5}Q)86Q%cH!L(Iv<cgcTkusm`Rp{}Q~sKEG~W zw?GkM#)7iD;dqh6H8J(^q-opVS|)?mk?d;ZWXQwKP%%kA`Ns}2kW9`^H3%HV@wjJW zpYF+aapW$Ca9|+Ii`jsp`ANPff1W>fAH22K$`GZC90wg$Mp`6Y{nw7oW58nJe2Na? zQ4!mUx!*i)*Y}6zXMHIV-*gV-9DY<|r{n(y_1#Qz>$Tt6>A2&6m);9oKR11X1!<#v z<OaxYc$Z4Mw#Zjq4esUXQxbR160=GisPEJ1V<aaKXql2YHEvQFG;47S6Myz!B`Xic zs@JsXWDGPZ%(!v-3}Y-y>4$dV3O-kLU=Jvq^CMjYIr7k9$3pMDDr>$Y{nHMt0_P7M zM5?3fFBG7%+oEPfc~4S}*rT3^?u)weeSW2f+%769n_wdLk_=)u->5qGB-S{v8AW_$ zBg<)fN%hQYf)U90eVT3-FI?Dj^qb?`DFZ2Z=Uc5CFGJ?!$Ww(;1BQOWXL{$n<0o8M zmKQX{lL?YiDqP^!NCCQwFCBFQRG>SNRJCx?Le^Db%DQ?@B}A~G6@kSgboy286Cxj; z0!W*dAXraFF*9|s=oIoBWE<gc)W=Lmo~_}4Prp2p$PgC|jTfnaB^N%mKiQf2PdRwU zU?Z~}Ruct`zhtohdw)}@o>7&Th)6G1a%OqMu$rkllFOr_m1Wuh4vv~5)QI{`_rmxZ z+~N5TvbSOkqb8F3VP3yfv}sceG30>)O7x3^r(dzIon#AM6Zrq*xILESA)P@)Am(R2 zpHGM-<~=_WuccdN{kMdJK7B~7`VosN{1vMtOza*@V-@FN66lPrk=`CXk}L;Q?>Rxa zs6Y)oOl!e#us1zhpjf^!3-Xb=$`Uu5>Xt$6b!Ud+(FbLdIy%sHB`@^QCxr(i%w*BB z5g_V8$Aa>7W<oEJb(;9fgyxjnonLbq>P&6F`~{GP-1EW}y{yR`^65upy@1e|UMkSG zPVXX)DkUhJkcO6V5LHW_)gV&1h9ApS<0&@#Zh?HB(w6TZ4W^<Yu;4`5ecAv@o^PyW zkQbT=g1K?6VUzK_drvrVt`FRF_inpYW@(Y_&s4_Uy6YM_2?iZ5Sa~x2L!&O`Mfx3; zzt@8QW06*Y+YVH+s32)mN?OjtoI=oFr?w%o$doFD0{ym<iFw41yG?+=5f6*i!9OMP zNnJ5g3IQ@3ic;NMRa`qDjU^fJc>ChpwaO5!g|CH=yC5+?Q)NNX7oiPpY_pfDCB#T< zE~_vnsDE~<le&hJ^H6>vN9xmYhs1GfEfYR?3OQqE0b?q}3kZn#Rq=5Y<O~~ce9+qx z=1>i_fxbM1GfHOiT-nZh4CSxI<gMEm*Z4Zz^=O8hu`r>0F(+1`uM=zOLPDn!Bq#VK zkCP<TVfQ9p$WKm@rcF5`@Aj-=uwtGoI1}>p)ps{7PMNUt^nE$l5`hfzE$6$D!2@&- zB}o5cwbYiU*^8&Aq<^T5^7-MlZs;Sbx_-|Xh3QUR7Y$Eox;pY~>uVhyit<xNs6}Ez zMV9wXt~1W8>;rqTBfVB&0oerw6H*HwMn@oz`ZVVedQ(d2wsTpVXSANKE%$xqHSTyS zEuNRb5S9Ob4&is&kGj4{5B~dRiv6kWfTR=a;)x$~DUEvX`_&t<&RpB);yC=w*5$q8 ze>Rc|pAEaf981DA>04QrXCN}PUX(KrhoAG@RmJa8Db9`qBNn;NNS8%Ka>nU%a_*%m zd^)kt%&w0GBE5&JV2;;&(;cm;7@LntlE*yv9Xn^9Ar+b}k56Z$n0NKYwQ3|yfsJHh zijaFkihs52|M4^gKUwDud__flTly#wfY@z2x2j(p+BOaG+<vTh`p_<J^v+bc-ZXkV zm;pdi?oGX}|A;g_>Bv6H3<;8;hoEr4el@B4^FU#%1bb6)i=01trML=NAyl!;wD^_6 zrA_1?*OUsl=774(k_89=-JROEzBq$MA7wqWKKT-xasFHltNv^D!%6dPO~I}UIn3mM z9YlBiJB8_AhabNAbd3nRp=2UHOzh^aNSRew#FYVZ65LCE7Eb5YoW%C0;WGH{h4(e_ zAC?={j)Lg{HSMl$S%%7y2FDuzorcRmoi7f~YnXBty-+JUg;*o~pz}{^df{%q?<0b$ z9)cF*67<Z2y}zj6e(LOyIOS0&kRnUiQQA?oqH$hc{WRPkxSYSrkC^<n9X~fad>>65 z6O37qb39=sUsKEJo!_A=bs?}o3tSrYu5uFin_z@YFG{vw5%{}ihmUk1VyLjp(pU-| zpcl**g#_8*VWKy8Oe_M0mb0}~;mUvdEH0VS&*Rv@O{P_jU#|*?;XluH5qx+zop`t3 zUrRDVUnpNoyk|35h&1|ISQ>kGPg$wpLH^<<oQG62Z~bU(9+4GWsW1pGqVJN5gZ*vY za53t^1V5MOMe=rD6>C#i-$-37D%(q8jE36`R+i&O+@xy4ZkS1>o`)Qd1QqcT#}{P! z6&?kjq*?#Uf8GX%n3oclyK`wXfLl4^dJ*Ajn-$N=cid@GI|Xmr#s0CA!Kv+uexK%V zo&Kd7TUUZ*rS6*v0Da1X>Pdg<^10oMWkQ<Z{Oq%*Y904-`>!z9LkQWg2Hj_T=8uZ^ z2^B)#oO{C3$YBKoy`JQsNG6<bJjcD?pWKqPwgUys+;2y>_(Al+$;VR>9+T4FF_CYA zh=cBqhr?w1P$<~dp7h?Km{lVWy-g`ng6qw3U#AU$zXf!SDqkv`hXs46j3@VW>k9n9 zBE-!F=3R9HWir|ZUmw03-{^a%_w;`Us~VC9t{MA+K<{^vlRbKOpSPacyn)A4#RDtT zbWuF|L0n55BAFm^bN3Hk@{7Z?Ca=CK6wDvUxb`L27+hg!>BI=(h1&vj50Rp4(FX6i z!-Y$}hpp{?uMr^o6sN5oPz(DUF+m}bvSt2Q)oj>`{+WYFl)qLVv%>O(er6w^y8g*8 zPW+)LEclzr;|mD}3e$obWtO$6oZ+jW;N|yoh?p)Zw!Ei~7nUIHhZD!&629~`Gc(Cu zQZool*-($w@AcNv9IP)-dExfZD|3Jtlh9-_ia^iwWu8Rcfj8AR)ycsrTQJzS3_olp z<Vs}_;n9ZE@lyO0X^cl(+;JytPt6c2ySt6+R#;5tvv|3NRec?O7fQX1q1&i1CO<;{ zZ{pYy#(2{%#K|-O|FEwWoaFl9VfwLw6l0XDO~lU)yU}c`<dsPx&Q_T?Z3aBb9I}2h zc!7QZdvTEoZ#X@D+lLb>%$weVLUMmFmpEB?HdeeUQa}{g&|yJ-!U9hcrqo6Q7C}73 zAbnnZdWr<V@i4ZLq42W%FBK>r{sy<hcy<klZG9k%#YIM<I0j}6%1_v%5Y6Sp?um#P zo@4U99y_Ri4B-7AHb|-qJ3L0i{qj}70g)qg%~u{h_If4)&ctdO`i>eDp?@fk4kHUO z^FpHz#rD#wu<0uQMM8uWxw?B+a2hRvP(t`y6&K$@=*lE_zPwhJ9`(Tl@N^A#bWIU9 z_tm^b44yosalHKne=%jt47M3hwa*DfBSVD{BDmSKsEVYreOlhOCPcaD+CwO_sDP-2 z9TAEaLs}&p384g;_wzABgNw*ou{Prcp%zq`*^qj-49L;3ARMjEOS|^(FH#EN)F5n0 zVx3FDdiHl)ug5?Rt#Hsp7j;Oezw`O^@PKThuR+JIdpR-cK@jY(9fkVA1|AogsVn3Z zKorsyKsBMe=j~j$?a_kJn8HyiP+qz;YF-{0&04&{&4RuG=}@G^#_>02*40a{yd-+f zcd|t54tpPrD7=6&ktU!j-@;lTm)$e41wwx|sWn4+ie^f$J*spb5(i?`_;QD8Z)2Rq z=xz=;5p_jE3Ce6frJwHw*-(S(<k3_wz7iuJw5(xdE40i=R|Ry~qma&6RCOI#CMe^o zfO)KjX)RiP08yxMCYgt-PN_l`nD$R%6_`gn$Zq~!LZmR_%A*55AV6}FkgS0>?Nn<a zwG5LKy`Wa1s~DBL(BzNK{@0#3R?-N}GdP!(M=VYCfmyN)F_=D;)5?P!*I^G#VX_LZ z2N(3q6xTl`FCuSdbV4I|8>K(5Sqd_!2nXKFu&fy=%AkcCA~w{Z&C(>g3rmc9)|2(% z@@#Le7xKXMQhP;PqtMl{LP6K;)b@TL+fm$X?SCaBX>q&%WTlwfPjX1Vm`rH|CE$T3 zEWr9fxM+?aeu^IH5uZ84^ZJZ`WvkIdyhbj4q=~s!Q|lS9<je1IDUmCGoYmz*oUQhd zOnqUOsjd6<&*=G{pyB66n!l?VubSlSyJTsKQjUd5_N`oPnk%vGUo|x#1dAu6{<ckR zKLgixD+S|{nda+oiAt19e0weVkuOJ%GL-?TfE^NL@ULCBBFbJntDih(uJQm9o6;ZC zSKAvLJvkkg`FXTQS?q^$uB@HS{o1JOuW&grd*pJ8fTFAYcW&FFLmPDsI-lOO^O!M& zbiN;Wc1-9K@5-{;s9p8YJN?gaLbFO69NIB9sxBNDZMRr3#eYsyJh9sT*Sli*9CNXD zc3kggaG$ZVzDg7#dG&F+Z!C93(y_5^A3JXt@vrv(>)m@G|4fpnLBBRADPj;I5B4JL z4CDYgwEgAp@gaxdRKfKSv)VHYNfDSmN%M<?vv)sk7bT{&(@c#XZa&s2#dKJ2?q&S! zbeK!&Jf=U4r2)lK+GmBE%CG&f9l_I~O=(>^{Dkm}MfY7%J$!h8vErxogjst?cXeJB zwv8<il4Z_kUS>*~tV}-<p~hp6I)cr=n{<{l5pMRNbyr5j1XGz#qC}o&6f!G41j_>V zZNSrK;7+BJv9=3jazu~0UpHKr1qq7*`VM2i9u4J_fw?iHC#dH5y10B6^Qm%C2Fnxd zPGll#<kl^7UVwx9?8qje>thp`9Bh+-C{*)YUkMX^3QdS&CeSbk>X2t&Obdfh{xSIj z1$S8B>L@FM=6J}l8hTk+eWec{$_ge%;eOjx&tq_x2}K(a!7-?2o<Yz76%qV1)7p`l zJ;Bu@djgCREh<V%<jnd=FEI44?6F#C33=hVyTxA=uA+T7LIVm-1cWX#(Ja5f%@o-9 z(YLV(jK2Ua4Txxu3k`cXr3I^%3H@_0K@$_@OL)@h*)CzVSJuib$a$=qsP?j=vA{P! zC92b!$LFvd@YIDTk8klq*X88dyDH@n0jqd%%S6-6-V+SXWlYmfCF|ailNda2*+>SZ zJtB8z&nf2%DmS;su3vF_mZ`xNdX~G|L4YvSyC*!Tf!zj+3p<z!-ZjT>vt8qhFH@!n zz72ZIL+FRs63Z*e1|>-N{}Sf^!d3hKt3m-%rw^dCZG@Q;&O!D+XE2~7rzTr1V-fMc E05oUzssI20 diff --git a/docs/img/11728974fe5385112311ab02ea56783e.png b/docs/img/11728974fe5385112311ab02ea56783e.png deleted file mode 100644 index 7bf908e2f2417218092d1a1ac1228b33519f322f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19353 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 diff --git a/docs/img/11b32b9624ee5e827950dd6f126127d6.png b/docs/img/11b32b9624ee5e827950dd6f126127d6.png deleted file mode 100644 index dbb95e771a08491ed9db5bb83ea7f57b52d41173..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3561 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 diff --git a/docs/img/11f64bd49fd604a4644dd54ed7e423e8.png b/docs/img/11f64bd49fd604a4644dd54ed7e423e8.png deleted file mode 100644 index 3ffbcf14cb4847af46206b64d592ce24bfdd6ebe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 366790 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%0A&SB0rHdn~$sov6dhh(<aD@ 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�}#N1zJ<W7jm&!a1~L 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 diff --git a/docs/img/12208c7d040cd738d51605b7fcb55237.png b/docs/img/12208c7d040cd738d51605b7fcb55237.png deleted file mode 100644 index 82c975df531ce7d3610ea1201da300ca97c67e80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19442 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%0D7#(%E# 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 diff --git a/docs/img/12e557e74666b1c90827cdd5bfe4d87a.png b/docs/img/12e557e74666b1c90827cdd5bfe4d87a.png deleted file mode 100644 index ec02aad32ce5e8c29f6b7e64b660c56f62179e27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 539 zcmV+$0_6RPP)<h;3K|Lk000e1NJLTq004&o002V-0{{R3M6e5+0000mP)t-s|NsB$ z?&~hGW1`o|Q<vQRqbXy>i~iJ^2nYxX2?+`c3JVJh3=9kn4Gj(s4i66x;En(p0004| zNkl<Zc-rli!EVAZ42B&F<C+%GuA`MWmoe?!DtQ2QsJKq-1=wNQ>o0cPG^R|N28T(D z4{iVc=)-oL6d*;46e&{t`B)sw%{Hic*LA0FJgIVPZQVQW{o=R{jCZ&X6zNHo8K-*6 zM!SnTYOgv{9bEFHvUIofTzFQtrrXTtFyCMBq?)p7@LKVoJ`(uA>I24}REE_Pl3rQd z)qMuto->l(nQEvlnldW5LQt6HN@HssL?KOjQcY21)_`)f=dfaLT!lgi)g?WtcGM7D zW8+_7<Nc2gz?l$EdQusNG_VBV#+MojcYg_x6`XrgwG1%`d2o+4l&<rWJkR$5GIL6L zQZ)>*FeOM)6=gj@R1AqcsR*)U$Qm<5d?*Lvaw1QvmJ^|Juw5nMLt}?&lb%%ASjVs} zP8+_MRPhqS=P6p^!INs|i*c)Cc!YF6LNm=h8HP=ZVbjsD5k%v#jmLie)3H}n4UWAU zZ$K=E>XM!sZ9ui#`VDxSqd<wHMu|h|%)4+XDSPGdXrtrt*9SGunoi%j6e&`q_&1SX dAGi5zd;w6(VlCH1f+hd}002ovPDHLkV1h38?U4Wg diff --git a/docs/img/136df5416c67f2d80606b4849658e289.png b/docs/img/136df5416c67f2d80606b4849658e289.png deleted file mode 100644 index d7a71c08b2474fa25c46f8f771dc4677289a736b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 710 zcmV;%0y+JOP)<h;3K|Lk000e1NJLTq00992001}y0{{R355Q0#0000mP)t-s|NsBy z?BpJ#R;_(HG%iVn%JL<SyY|bB2nYxX2?+`c3JVJh3=9kn4Gj(s4i66xO@q)80006} zNkl<Zc-rll!EU245Qc~K!B?j~>~)Jo9sm*Fkxb50<<P594|^^mJb(W&?4ndqr6p=} z@JLAjdpw{2@tD>`$&w|zAKPs*GmY|)f7%`=*K8aA<eoi#-t}RkHyb4!{eOL7nC#C@ z3BKZ*2ogaeNCb%>5v&tf@9U3xyXy$LK%~OuEAVh70aL{{ASkvFSl*t6uH^RwS7!m9 zw;(u$4Fr-1&!oLK<a!?{tGv-|bsV#xd_%pjZJeYuFA_W#(roiq$BV&87HnQnmxs}{ z%Xy6eL4t0mG74WIbJVk{wKqLS0!L@GzQ$p2;g$*588jE<b_iTZuj~MZvu=r_s}i=A zT401Er)vpU8QeH{BUV(^$%4{hOji&Uc$vV4*lgiFNNgEnTAtChV-aRi0~>_6#}D-e zSM~|+4nc)Uppc;BG)zCQ+xG;zP@~*~IXH<84V)pl8XrriWdccn_kJdL#@%ryP$H5y zBY_vm7755<p7?JdU<SkQ5UWuk_1%6XDAC4i`+>xba?KjhOb``NjhZxAsRfpDi2A6% z!Jc^B526CCnlxCih0x>XVjWx%&>+Lf5(xGK0-cAra`X$Umx&-wppZfc9j_DU1{pX@ zE!3z5%osC${ZEj|Dn+U!SyBsnjett21#NWBdLQ>h&G?|M@wh}SAjS#->aRkXD-X4? zAH<!3X9Bdz1N1q`e$cEEbW-z$%=;e!GOzNzp)!YSnYY)x8{Ln;ofE-55Tw5o6G0;Q s{*$bqKh4XwooMd1pJ*mamh3L<4MEDI6fEc#2><{907*qoM6N<$f;PM}CjbBd diff --git a/docs/img/137ac74ffc45b0c50cf354baa972ca89.png b/docs/img/137ac74ffc45b0c50cf354baa972ca89.png deleted file mode 100644 index 051d660e8bbc5f93dd909fa6e984aa262754fe46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42870 zcmc$`XH-+s`z{z2MWrbsC{=pz)zDOWmrw%)q)7)UhmKf5Kzfrdog~!IBy{OjfrK7F zs)XJ<-1xim|1fLrU9)D*ojduGlYP$F``zcf?RlTQ6ZTSDh3qcvT@VOFrlzV00fFvd zKp-Mgq8o%3yR3vO!k5rXO?{=StE=;bYk&W)h=_;;hQ>9bf6x`_Ps=dhzJ2@7ojZ5$ z-X$R+AtfaxBO@axC#RsG@Q=H72Lvj-rl$B@-*<AOvCnf#Gj0<ma9`GR>VDKj61T^o zA@j@GROaiIA>7;h-d2N}W%bfI3l~Sthz0{{H5mU?-0X@S^!qcjyEo^a8@@JV4!jO} zH=Fs62LyVCCx`_h27zM0AkaI^H4rF|90Ym-5L)2`!BrXl@6P_~;D3Jae|7&q?)ksY z{-*=qhw!sqJ)`<8H%_LeXhHd^-r(s!H$dikct{~{uvBfwW`*g6Z#7l()+4!Frw`?{ zI8{7rK4oRTY(WihmY)B;mi6>pkU8*T|E>xyQ0l3CB6s^(lZTxA!EL!vH~&Qoov3Rf zWHafQo7t77t9uh?oI$?(!&h$_mbRor^j)*fQ0ITH!OyxSC%d|CuJ7&T2?Y5TC<by3 z@A*TLqa*<y01CB$;pOBGgm>Rzf<mr{8i?W2Zogz47t>W?ccV*py0wn@1t~`<G&0t` z{ikD&&qa`~;W`a_@(I0WZ<{gGcC;DlxUPH6O^1nlClB+;4H<ktLXs8nau`#Gs|_XP z!5!G;$(o*9Qb6h_r-}(}$wfC63Fl0!7XtE)?T7$J>A;h7<*knpBl0U<_}R6%UHyuh z%A?1GZYUr|Ti-CU9o>G|n&Dc`+2bP(hKWF(Y9;emSlO<nV-}|Q_^4w>_}S;=N5$an z0Cm{u_JV8DRvg$vASf^=dY#w=hyfb|b2wF8T<IkHg$LtSka1<~-qTpmzk9nQB5!$l zp3(T3@6(kX`thfIuO6*(#7JAET+NLR$t9*_>3umr+C^RtYWyx}S~Ap~>681sgjyFU z%Veqjo0KnP4pDy&zd+=h?#;-#tJx~g_+Rcok|m3m{xt5^q}>px{DA2iW}-<vj9A}Z zONRJZtiEf)e*BXwkd`<661v;l*C1u2UfHB?Ai!*-2bFPSPmwNNSGb(Jo}5zx&@A~L z{z(($a@lp_|18Y_F<7GC#$*(@<-f|7$nyKRxz8?OaeVlcUkhJF-dE9zxZ!4o51-wn zb84k>^xCp^Us4me`T3E2NHqOp_RriAw<H`2q;8VDp!WQm8+fE<bh_R1TKkXzt}fg! zw`<<~DUc@kqC4QWb3=EjlVu=Dl8CGvv4C8PrPX%KYHXgDi}AeYxSrT@{AS`s5>wP+ z>s!rJgeU*94*lovBKf6(G;+V)gO=<*7+x>a4u%Yp@)r@$6bn}G3I{IBdg#VuEzF%g zfO~!i_Uz~M1s=zG{9JCkrn0xC87vkf{9m|8X0dO&81T^*7YgpU%7=b@dyL1I7oXlI z=)ees^G}!u&4}!rn-O~2?@pcQi^Yy+qKvmOg6Z+Rn6!{)J!~(D0bJA_Mfu4Ze#XTc z{6{v}KK$w+cP4AeJH8~yQ*zS}?$o=Ny_w5c4sTa6Vq(HRm0BhLn2e?}8;Kh`I}F3_ z^3o{O0#!}3dNHS8w1Rqf(Og&X`d9f^^!hV{^xrahO2<l*S~3cL?Y6^*yXd@@hA-IV zq67_3YIq6i<)Q)OqdDYE`c$@z7xeSCP<-Ee<uNf57kh5Qv?r?o_x0Kv$>9L9R_nF5 zPTjofgE61`r}kna6{avW6|8v4tn=P11y;b~Me>J-mDTw6V;<tYgT63KP@-1vwFG$% z6GMt|uW!u=t7kwbw)G)r!0B9gzg63sgRn7PuKZ&K)B@RSpm$=Z9VQcg3@T}{+T0b8 ziwHWzLKb?Lo3^!mWBn0%1HV*YjzU+_-d<th+geO)9;x|e@%`T`g@!~o^T;i+?`!#i z;qeD*$2PPFiEd@l)7o)#iPVL4j;%r8r&{zmlx9%J2mFE0xZea42YKG?j);BsyQI*O zU6!Nj^XYq|Op~KvO55{Z=^aBHXCtTl=z_<KCus?W+ze%ZWf<Nhf`tndO`yN!oKh%j zZ))N3!oh#El<#ueYb23%`BpWRawHZ*j^G8P9J0@Nx4Y)NccAk2mywPlg1eu++j-yW z>n7}u9*UQ>i|=7&va=T9%4>N=SRP>a^B{bb`PU}{;+ZN;(CH$3>&Z{YOBaJ$HTF$C z16JJvHv@drsdvHj8{L|**RTCzDZ3!zvB#afeuH)p4LSAP_4ui#RhJ5hVPcDC@o0*y z)W+Sf=SKC>R0q*L&~U^;mj3g8#91*@zio1JRyY-V>C?Ep_yc*9y<_BB8#PX{i}*N_ zx&k)7Q`Iwt=*j2UzhkAfUBH8{+YS=)`e-O{P->D9Xn27HZX?MX9N-b=cszE{LwQhK zuUr&zq_z?H%K#t9BwAlNVV08-h&&phY24ezTbRH{(&9Hq2RG$?d`5HVO#!I2Tqn1a zrc5=yDU~F8A&if<g0VavU6w`bSuIEI75W;x+KRDW-VG*Yvc@%!&KDvsDkPTEa`2t& zpz0Qg!mR#p%?P;~h}}UkR$^7|r~A19UAYC)XYS+dm(^gSwZ({Uq1EK~-`{jI#iJ3> zj>nCz`P!~(^=k6U7p`iTj+OXyOpr%fMZh;Vn#r(-wYk-K3!P(v1$@{D&gaCYbx$XY zIyl<|CEVZZFx5w6KAd}GVS3EjweRDvNyE>UH(v$N+ef31dw9+M79Vuw--Ac&Ye>j+ z#2?flwDULhc!7+E-`M)RpPyA(ze*DSfTNECV(##HWFOkcmn)tx=Tg?(4{sBMV+tJE z0K-rV`HT5Lc@R7x3ge*sT-<FvDSZ)@HP1<7`w%I>sFu+Og&X3Coru@kg2Tl@bW-o$ zIAdkm0DTXE0$N+`q~XwW4d>F(yv^Jhtapp|qXu!#S6LHhgSLp_A{Q`c)nxgZ1OT1v zvEzjJR5j^iZ$Ju(?IA}y_u(4Zv1ma~$k9n4swbJ&)f;j&V3x%KKse3uauUCYKr>C4 z*yr1=8n_CBLWq%Te17z6U-(&-PY*|-A+FYOM~mu_8TD?4rz3VqvX8hJZ4DohJ~BPt zej12!{w50H47lK8ilXf)gdC+%T2^UVMAMaf2t^tsM{_O729@|fiXI(9`1d1NlhcZQ zwegFO^b3+!iw!vGxVYQXgIu2SPm|Yp$xVGv<kj#nOEoxx7K4#(ZsquvvpBSef)~Xp zJ_o$hY+^j$jyTir(nmsk@W?*ox5fnqMU^ISSv{vA&d&lCn_PCj_S_;v52X?WB)nJ& zHFYcjKmFEebQA`Oi_R~FS|IT7CbW*BLP^;sQohV$YX{rWIdr1+Ro#LFyqoD#p4s#! zt87!Rgp1%E8Pqav&BryLI1(8K0baz~M^K=qi9`x<fAO>>{I=rR9zhm-@BT?~*<gRv zcsIl-yoNN3u^b<jFF?Qcb7gdjNiJ{G7~h1kSKJtAP2)?9m!tBzBG#P_$lKJrs{&bx z9u0qp5JMAeFwnyk$#T5fC#k#TR)WnpkQRs71z^c)E{P*rdY7FT-o7LFiFk~zypCvJ zlY=>KjOP&+F_KUzYRCYbrN3~ZHg^3?cfm<AY^3D`&8)y5Q}aa1X1aGG&c+wp$BzN- zTZ2uFV~CN)U7C~bjd#dbRZpq(7THAk^_;Lhtr+R7`Zq)-Tk*-@<|ab}UO<lQ^YE73 z*>z7;*!qj8t{U5(UqCEIMk>hy-pqR>;SF1D^0+cj1W&wL3ogfOw;RG_Jr^ZD6J(6Q z4B;5fHr-fwzn)SC$-1_9pu6gBud6&L@0`8-6JLCgP5UH!bM>pi5jRnCBfS|u6&J-+ zw>Bv`2?r+T4)@w+oqlP+a7dfQ$!kVVp#d-In(}#gnRMc{7GM3a@&Cq@uag*$_6{mR zu)@z?hR$mofaEb$R#Trj#<341-7SR77ju`DLt9jKD~PDTt42qy+VPY2*ram~?)Jf} zmJHTB?IwHTNShVz7SxR`MSOU~jO*b&79Z6)ima$MN_RgCqC?h`j{2IL`=4JA<7~Le z2{BiDHr)is-^0X7`z9*!L1&>rsh4dPNSse@x8(6wE#9llgN<qW+TN{sqlx9v(dG`@ zQ*SG5P%%VOt)h;|khHY%^?wA8&k6gmdkuZP9#)iAOs&uJfm+SPZy>BcSWxZsC%8_4 z`uW|%9+z^7SF3$d9~qy6L+V)6mI}8R{Tbh7Jpn8N3tiM@EVuL-yxIbRgg_x&meJUL zT&*JYXv#|!n%Zoo?p>)0yquGf51uZV4QNG){{WOEvt6K5ssB`WOfa?3l9=!4H1yO! zeAF=|DhLp`nhfX1{icOGjb1HMsv<CeE9Nuirew{RgQek;FVZa;QaoPZQW*__q0LKh zltM{TbZexOHSVIs%<QRHocc?*Y}XS}Be^{C1}*rR7iH2h{WP6rZ*}G(qiEJuo?rb* z_|^7KW&`>cAoiUH$P%k;^+y@~dO3HQY7t!mMz=NfT%4^IUE@Wt<>!(bkFBnMTqE)} z#0UCm3N}p`=dI?+Ig(Ut6f&n>4mT{RL|pvQ+t6aJ9xLAJboEfmz{hB=w%I*=LKoD# zF<*HYSafq>){8UosMRP@vl+9ar}?A7Bv{rT62uPA)$y<KBC*ZN8hUrr4T2wBknOV= z9F)B{j2)1%j1-J^Tb)|ql^^4Mi<(d7WbB?uad~$<74Nj-)q~2ej0p7mPBqI2cC%ni z$voSeYFzo-=cF$OYBt2TX!tc&p^P52Fc6^Gv2epo3nKx1JptSj1pgeEm);^^Hpr3k z3B9@C;qCt%zs`5PaGWxEs}ywoAE5g`A+G;9DEnUm=>9K2@_#%yL8^DNs{df<|4$$J z_kL#zlJc6C2UW6s%9-8^f+f*P%^gbDTBL1au_0nEQe{e!sN#_ReORxdH?U^+qq&z+ znMZG^ia8@5-SOsEjWzca#aJr|0W5Fn<Bw+;He=DsUzTy3^;J<vOZlz=Y(Sn3GRH$D zwIFzg7r>QIkh-`t6CieC46bBcaph*7aLMwYH@->fd{gq0E5+!Iu$%$gI_y2h3Vf0Z zM3QmY(ihrFz~twLh753p+JJD?mwUTC9#;ILcE$h<YR%PG(%Dsv_Fiy*5|nPPFGLWe zxzRvnvV!GWM5xsUpPtO(uQl1A0v)TV0qc97PC=?RbR9v^h$eH12emJd$}B)boC#0^ zfwGaO@e6j?e(5XE>_+qjctXZp(-lRiW6g$je>3(H&wSAyETx;5S#+cDi}dYg8g2Xb z_tA<BESao~!V<O|i`f}QP5I@01d|dYs3&*v0raV$cT85;4Gu?9awYyE06hB|7qMIS zC93X>-@cqB8Ah+}SyS9$1vPVqE%dKV1~i!fsBgwV1R9e0Ae4n>|9x-yqh-tbnBAvv zC&@u@>R6msa^g|GVngisE&iyxHEU;Y@A^Qy1Wwn=yMtX`{8$$}y98fVsGT5h4zR-O zbMyVmPOP(fQGP?aT9<DCwTSDW8N(ai8YRQ;_e;6V@7Pi=P1<C4Lu$L3#(O$zet)2u z_{zpqU#!3vAUzz{u<hFL%OBB%Zg|A6Wtc&cNp2fTl7u#ZI<hcNCqegI9|i8!P52f< zl1Wf>Q2#DI2$i_@5|_96Oezpjb07)ra#h_7-(KpmwUAr?yT_nari!<5$SE=(m4e7n z_T|LY^Lz%qt7QQ&kp2&e!I7B#RLNRlQb`AxbLqM0qE0Oq(MLA!`Xf@5+q_p@q(m*t z-mqVz)GSriNjAkGS@LBKuOaTmCFLCxs*#dM4s9{MBa+<wd4V&9<IZL!U;$GeUZ0QJ zt6XTyfL~~zivjdj#H*W`^xn{Bl)Hr85N&w7?E$S%UWh3ywYzc)b;oDOZI{QkLJMlU z`DggXT!|X2V%QiKjzn<v7yWrZ#R7Eru}i#6p=w<vw@uXdDmgE_>6afzHila%VO@)y zjGv~@Xh-nQG;@IyuwLTcO39Ro@AKSpZu4oSVd_qPsHI|y*JXnXHU{#)nwo@Nrf))P zZ;!F3czP!N$Z3NmRreLclKs%#dz-!I4aTux7<#>`O5aCz;sZ&=oxU6zKLb!pS{ynm z)dzn=bPKvuzajom@n<%#E>9A*NUyPi>(gs)<DGxH(;cqEF(BNAD|<qHV&gzAG*F4C zZ?r%Lrs~h|P^(Z2vFGSqf|e?Gc?9+BqxJ<eb}^>{)(%ku-MV(mkJNBUV#o(%eW^(( z%)~Hex3NI1<y>o~mqSou$nl?zyJ_KB0I2aBqQjO`>-U2!fP2tOq^n-Kr;=6@G3r|Z z4`3RLZk_US-p9&!o(M5^-;&ub?MCDRb_Oq#o}uQ`+xeBp;^(J3rQ?QTd%d5)*`At{ z`sqNK?Cv5mEhKA=_YlyG@V=6MV+w`QlD=Y7rC~4%4{=yQVS0wy06vHMOqVv)_{}`> zcePvq3qPe1E+%+T16D}MV#u%xNlE@$ff=Z!Oap54z$-}JRA|3K4c-^08!0;6jD3VK zaeu0lS32Q4Z5vLSjB-iGJd~h?$<@26JpY`dEqzyV+I>1(9T%yNO8|-mU?b~X^Xg<1 zB5u7%g8TM$f=EWk7C-UMuQp_Oy3a2Mj&>&FFJku}L|ErPb@QofKtp{1E38uQJtz+H z_s9}iit|k#sExZ)8O^A~OF+(n+}4uk<8F5`in#J!7g~5d0X-#qL&j<$#7M$?IDy5Y zwOe;Th5Ttp(7DE);FZ0T5~W;xqA`g?Q>zWS1m`#ua7%5eYOGx-NvKDPUIPa=7;`oA z66@P;I>1g)R>s$kKEYsOqv95+gXFBn-bLDAwIa*3oyr_qTov&(<%CImgp83*o0zFS zNhm?{-CUzgntS;=vL(q)YI;%~SE8f~V^o=1LoQ<-G~bngnUZc}qJh>EuP}%y1|dzZ zk-iF{{vk^I`2*+ON5^@ToWKB@{rkOn5nT>kqCK|4pq70qlBFCariLS{+xEuT<600m z=EyW)3H#A3{29hTdagTipfB45sA}(Si<W|?K`nbFa^lgQMMy&i!GinaiR;FB;UXpy zB2I^Y!r+gSzT<vCfg919;xEHRIn#>SCTtq)a2Z6}J{PHRi|TPbgduyfB-sG;{!&4^ zFr=rmK2NN{>7Sw+<6nd+#UxA%^r@`MRb)XAL)@QkAq<SfY^o>9q62}5hVhqt?ZSf_ zs-7!>0BoXY3A<x~8n&v%zBlxEY&aUjzSPTJ7krO15p7oEEH_xkZswu0YzY<l&dzWm z104_HGwDd^i@%vq#$*ai^Ur_q*Zn=r=7*`sDSEZ4RiR{j{aq~|u<l=3PP8<v7K|8f zm?mu_IHpa0cgm#i+E%sG$n}|Q9Y>~d%H$uq7BEr7@{0t+-g33qST!M5nW9|VuSt9! z4-(z!<H$Kr=ZbPNLd+tb`aI<3t9TmTGNU`lAn96XZM=F>Juhcdp*q76`-{AX1Js}k zAGv~(*UTeF%y-kBMFi3fj7&mBf&3$g(X^8oeRp}Ck?wRi$0ROGMPfCimG61Yps}e& z^u;SfSgay{&xIk3drI+REa_QPypBXi^tX-HGvdj<@amLqP2QQ>^RdHrglT+(Zg*nx zXc3<hH+b_f{1zW*>-}HTOpOcH%*S23{d`b9fsyz_EFX2Uj`82ij!n}rVwdD*CO)HS z`SPh2=25Q(v4Ouye|83LfLfw;U7}i=Mwd7J^|?WFWG|W&32$%i==G?!bJ<UFLUrCZ zjemS#`CukdilRuD-~=(~CCbGA&FNB0fDM6$*kT}v_8-FFfA8?KYDZbY0pKgq?4JZ7 zVvcK@FM_YOdgO!8=&Hy;+vF$B!2yg{5j;0Q4b97Ivza9QU{Fi_g5a+t^wo>}YoNDB zhrA}`pm#pq!E&bfOX9>^AYZrhjg#-g|DC=#Cd=ErQXpJ7Lw7}CNSLA_!@vBMkevR9 z1Non%t{(}6$$#fc&Q7LXD7D!^bCSvE(yg*LJl8<-rubV{S1c1b23>X~^?%Qt($zsN zI!Wkp(KH&Wzw<ZOUJ#Pr=9l=>v}6sO=cv*RYS4BN<S4jV1An^j0bi@tv2X}2Cj!lV zh8)TN5ez;n6WyBdi^9mxjw2wotrOQk=eOZ!f|*A&iRi22DX-;?Fr7H`+IhfH9JO;2 zn!8<L2z{rJ7_|K$Z&NUM>NWgqYg+`)x=?yvCu1xFY_K2?Dox+zN3oDuQFbc0q$`^U zP0qhnn&2=&f!?X)3s7I?ngCbz0-hFJfTaq=$A~sJ?-{OCOv7j2_JnWq2l`ne`VBWn zc97qg8~XgDhKTtXX(ci21Dk-DSFGQwc><c#g-ah|GX{gAFu24Y?J%HWsLLq{o$;A} zllE7-I_`sA2_J1*epHgCbR=|o)rac+0I$H@{0)$d68^F>mM|-Acwf>42J4IeARgJ& zQ1z8E(o(YobJOtxUA@(tYWtA$4JyY3@R2nO1if1^2KuCEkekiP!Sz~}b#Lo14vN*i zbU`yv3HAFe*|(gu@ZL*(5vevlW0IHwSc<{XaFHNrPR9}Zuo`NM6o{~Ju<lHje6`iy zSi`)7h7Pg;vFXk}9klgS_3O*3_|4wX^EHkV)roM-23)q@B3^lUU_;}^QD-sw(z{Nf z>kg<zuLOO?-kQ^Z-ik%D==v<mOfAjE26?h6lQ_nEFD+!W3q<9Ys(x>O<CEiWdg{wA z@*~$k5#NniFx(&;<N?j88RCLJZ@OJEj3WZ-%3KYsiIjdReirCWPNt9Las<W>;X;IJ zyGm9uDsid%RxwG%7leTi`!IpNqfm#Ly}lGR^}u|&=<CbhTz)fG;P~=EiLr-LL^`($ z*Z`$I><6D3H7K=7B%y3jN<>R1p?P8Mq4)SebHZ@e%dOd>j#G<SYiwP)qfCEWRK6>c z!(y~V#86N8j4NHJ-~pWX&=j_$Zt|0c%{KzQGy^42Mxd5Tf^IFApY<K7!v?<g-OXn) z%yTtL{+ntRFTuwg`~}RYf$MddS6`R?=h58ZXTLtMQCw{unF4wPZ|ha?{(USd+W7)l z16S>Q*FRWFg5}MvLJF^qH;;F7%rXOM+&{de$OQ=X5at;N6pR(9&o$7_a~*3#5DdK^ z;R*YBd34579xGqTy1CnKv~ts-5y^no$A^pizE0!;lyoT6+9(MzAM~plZ{BKT=hra# z9?McrLi1kSuyODuJXfqv;`)?2Y)r$##25g*qk#g!BoXIp&CQZ!+H&S<P6_pzR5yO@ z;$Ntvrg5<trCu@DJv>1Iy2%CtVFr3<2L+beMvKu`fpwT2C#D}`H#!(u>Xrl$+7%KE z8aRf7o#YuxpCeVA!K({G@g3wFW*}+%aWmM_E$r&J^cJ6wcj8N@o^oqXev%P&7Am%P zSR<7?KBMgG9QI7(58zWTRgC{Lj5@;(Q@-A~$ju7;F4NjpEVz%SPKtKo6Y)wze5@8B zf}-`MQ9TaE*Y6vHS|ai{1^MhqD)5&p9k>e;84P8lO8>kUj`VK=pX@(4Dz^Vd+MMt- zlRB>>3EuMs!8NeBSz#|W4g>O{+8sUNcN04XW-1ig3fF!Eu2fc8km;{4=(Y8}xNW|| zUIS%v0!K}tLwO4UfX&d<u&A7oKs+b2y=Ucbl=iPxwEVW{cI6soi2sZ1S;0R4_w*Cc zXMURk=e*5#5g(n>n&sZ^j42@HH+Vsy<2s04{~ndiJx;<gEPoL4rMAci)Z)eq)Hg95 ziq5Rw1Ra;;Zw^OV5wyG+j_Hv2Nbt*VRp9Y#b@!{uLB|>S0>z;N<tq6%KyTgthyFV6 zUkH7N`6tM~!iMkE`ATKtX7Eb~(7U6~tDqXpg&+?ZXnW?kuQGqL`9ICdfi)PdA~Av- zvmcbs9ufk~>MMe;za%v|N`JC`^=$QjXY_kF8)K_^+)D9wd#@>&F&T`Ze7pTI%jfC_ z^5OqiV)%YKVE*U`0-cYxXO}A}5gxcklHy&$)0_EhAd*dP{!>QC@*4cc91V~0vKq<E z!Pd(6kSP_K)etJwsf=eEa;3E8dh%lhLWOC2?Z=vE+XKEDSk_E5ySUu*4?lHc(SDkM zEx{u+>*G&3yT|LR@ZH`dD+%fPuHtf@ZNHMiwQdBhKUas-h42BA(Y42}v%j9F7}Rn> zXnx%xg-@SPTl>Gq<QH(0{F6ZqS1{cgB!8hzY-@<SfT-{sIWL_s!WD?9-&ybj6E*dx z8RYmoh71E|DUjqy^u~1vaf@IgdOTSzJ-{P}V#GhW!>XFK<8R17H-D3HQ_<^Q(;ED| z%({Z{uQuPmy=7Dsa8KqB#)0;WJqzsh3ManZqGJjt()0z!)E3FV9gMfy-Y>^tc4#L{ zljV2&haa+Ry@tJ}_qvZPjdP>?SGIw`N$Ta^e91YVuvnomBDfduY@e)-pybH{mqvph zvec%MJ=~9cku?o%*~86b8ANARs<!x=eZrLF^ktHOV@hEy?8LyNo;OniBDtp-t9kjt z&btlWAJdV6;V;@jYyX%B9VbG3CJM{H8#^~KJD?{jirv2$=9Tsb5WC81+t$0}yHZ<B zymH`J8VlbGaM+X~z)@GLWx*BQBpygtiboE#l5bG7@b}K?M|ie?Dw1GI6&RS!wfgl+ zsRU!^EO{H<G^?KcsU^3~-rBV3{sD^y;#zZ86!p+f6FMq?tLBTgM;(V!*7A9<c%D>( zgnvrhB95A2YB*W+mlhi!V~tdXo#gb-m8{@2JBBqfRMS*(*YDo}&3wS{qrPoO49D?z zPUqO0-+$)X?mB^(qN<%akS@nlPT5CdZr0##^%bSL?fGEvdDPAh&EEMq=qQf{;9M4l zN-T@OB&O&(OE?`tMx@F{5(N!yH>Xt@z7jO`3&sW7CZL5YH3s$g_5{aZ9)8@s^VGL_ z20_ASY>p3?vYq1h(krUtAn}05R!ExoCgy41EMe^v*s(yqzkJ;ozmd4Hr+MLR=_;ED zeguFT9>aMH=#ZwmVyA1xn2mo7);)rYH(cJKG>!VX`xSNWXph<nF*SAMrA}4HQT4yp z0~S*vhFu>bUrJ}}kWVmtds9cS2fA`TV9AFUSQ}284-W#Sj+lYHr*Law%8gO8_|HJ+ zR{OSzXJB?BT9?R6-1zFkQEt+khW*rC8_&|E@K2o_;q`wDJN)3Lx<rP>Xdf0JPj4l! z^Z~rm>;b1)v3X^?(Jxh8pfbMGky!2t;Cw-Fe8)@w)FYr6EwbISJ(#y?j?~T{^w6SC zO{V0E>Fr_JBWPhPdgrMj1H~aR!KMfqX(<IB>6Bl}tNZ1+-WVY1ySPpN8Fn0HTDx?# z@zesxWy%guOD|wl!v!^=7otJ$ELZ@g-z+y71fqUYVv0B35?kO#)iNTTAfKI*=>N2f zGTqj2UW>BdDc7t42&V4_#d8UML#b|_da(gZGeOOUI2(v0n76-E+%gipuEEn2E)u5H z5|!sVue3Lo4ym0nauNt`6<uMLc>>%gSa4Y)T1wBYY?$){>Qe+pDISd+ZU`!D0;_$< z-Iv1Gi0>xL)Iah{=Lzh4E0J10wyBEmd=kVXCI1vMTVXo$Dz^K*w?t+vxbm7b+x;8c zB>APY&NlXg5pPA;)lbW7@m90Z^*(g(2d?{Y&5I>PnY2AWYZ-Od3J+)aVMh~G`8{8| z1f5O#q$L*fu%yB^WkJyX)wL8qHUMeK-OpMo0eYK_(Ve~Y80*R)ZJbej)z_bPghwt+ z<LbPR3ZXrX3ZZ8!o|Rr57e=8wV%K>sCljMSvnbO?Q@>fWV^o7lJ~B0P0iBz`={Qdt zmfvfcz}Ld>H5nmG*@!$B#GQWkUofM{PksJw`)ZH?(@XMQn_}0e+&MCS?A}__R=#C% zJH1-uvmQJ?TaQonCTRPXaaIaV^47^0s|uqVX{LQ_qG>*V=@~3E?Mf7z_00-K@P4yc zBG9qy-$3xR=WO;3NjlIRgF5ctAt9tTD8NVDwFs*BZq^vzyXG~Y{-5KozN&&2evK+O zum3L&L+@(aML5pqh~<y{X62(b7##1&AGiLhzj}|o`~QBV<Hzj;nCA23#UNvj{t)fe zHpSJ<c5|U4L;I#>e#Eu^<M+}7I{SN7p?Rg4`<H*1E*t*@_i=)ADXBItd%0hPI^DV2 z-olvz6K~#QWM4{h8?l)jgBn)P_E(cgejEwEWF&&FhcEw;zg)O7J*R*NkRb&=nWeD# z9!FmtUvXT?8~l6%P#9?4ujld)y&^QaZOi9vKFkx)-4nl6vo6#@HBu}28PgbE7WIMB ztniMWrf^Vzo+{31F_p>=)b*;4J%YR7TT=yh-X;*IC3cHWYKQ3GHKv4Xkc(@oq)EB5 z->kw{)6!lLvR*_4?MMFb<gokyb%_%cSVU_0`dfu_7o%s#jc7iGGjQ5jhjSOWIo^c_ zB;GDw<W`oE74D!i#BHr3bNM<HwZ_};GieHU?2~CR17&}Z8VIjR1-?&Nl4SCJ!CdkM zTkeD#Zz2apwBnZeI5Kzi3aZAke#j><jT}i4Ci206Glc{5Hh)g>uFL}W$aeeEpiVAS zX{WwsZ?Ay1@NL;r*M5dJp=Sr|gsS$gke`?T*in%GPmd#QTVDg0JB~FP7fnkYXMU?* z!g<SEeSs}{dY2tS8SpZ{bMd8){o0Hg%F&J8#PR4Dw4L&+rB&w1T$gbwrVMI$T4wol z9k-vU^`q0bqCneA2~iqLwTQP5!atGv)nSD~6z#-+1x~y*mxzq*^?4qeTr8}c=W3d~ z!2Wa9eM92UO2UH?`M#<|p(f5#Csmwh37RUOy;s-R;ai7Ffu;ERv3Bs}?m$9fwY^I4 zi0!rPJ)>Utp`-J({?4>}{;_B(b5s_M7B-xXIhR|WoZ73!wT`b}kCd}3F@Ll0U)KXw zvE@pF&+wUR$cRaAD#?Hpi26>D-k^)75($CWzC3V<hAx~ksNsOiy;4D!*1looemVi# z;Q;u8?!j=x;n6glh&~*{o*GUgDiCg9*SAAiYGy@4fWiOizNhK{i-Tian1NsF689B4 zQyuYaBgt#&DTvP<8?|T2^>&ESU$(I*gIF|~Dd3#u)`OS|A<!WeG|63dn=5Ap3Av0N zhzC<Hy5aeKi6IgMD%#xM@2%U&FCNZ<;18=Pm*$y-llsfMkRy5vSh#ai5uCk1ZN5;g zD(n-V%@dtXSnD7krJxJZlvu{aROd_Pwa`yiv%0>y#=uG6+YyV0p2Bqg1WJXDCQ;Qy zU@EIy%=Ap<EE3(2B)#MBFZG<-t(SW$KD*>^C~bLFrZF)8JgoSjVX9l@VHIfL?Sq1E zZ-4Ep;=`XN(>)uDL9d+P`DRkq07eZ}_c}q((fk>-A6IbufyYdjpM_jLkdoMs;Efn0 zuD)CS5jsQV!d?p8Xlti?c|!zJDfUv@o7WJwUe<S~;jfS6IZ_oSvYO)|aHRhM6?-6* z6bbYld_%vNaq9D1^eC=gR8x;x`5G{xe%YPl*In73`taee+3kRqO8yjkAD@f2&73-~ zEAZU~{8I(ZoHM?W+@V$<J!FeR6>tIs%MF}V9j{B`&D*>~X1r4$JL1~4O64=*8wL%t zGS<!GeEqc7;-S2W$v&%+d4!0$Dp3s|Fmn1R{Ov*Q`-Q4n;fSB5vx{VTlV3MZ=}?`c z7g`e?uoG9D#fC(O33}>N-@u?L@ceXjxv})eH~O$tDKUSo*RmTvdgO?OM+TYZ@d*V& zM`j7#4y<V&_j|6XtUjiRaG#issoa2&>-~f!7@)qBDeaQX#z3V<ZV^^Zc0T<=Sz;*m zGm^VNFq5#_;|V}O(~t|+*yg>0aj0a6Ro(0R+(#aqQNMZbTsaqIb1?UI%MC9EI^;3i z-e~Ye6%Ex$_|VKdbzA9MCD~wY`FmJsB0lBes#ReL9QnS20^#dPs>;7}%z8WZaDu!T zt(Z8sIC_SsMD;TcHillw8Kt3Jv$ps3IJXJuj_QV?``x`^$?T}F3?GV1t3NmgYg*LR z5}5*la5sXQ-`033@<>f>HhQh;N5A@f7sG^4THC3BhRT>5Di%deF=^rvszH?WwSM5O zfMlT9tiCzEd<I4n`f~s+^O^c$z_z(Z*_71rZ*jP*jVYH~wW0<0^?-@wtYY@ix4pL* zL)j144u<*a6M%9iySVtv*UbVaOvx7;rOwUc>G@n82>jW_>1IfO1Dy$1lJ&&Wb*dXE zJ|*E9cmBtslpmLOU$=>rQ0U*N(4+`eh`Y@vy+z*V(b7?<D$Y^EXR!3=8L|tK5GSx; zHTBKv6t(&oxjD$#8-p%{0@VxtRMM^*%`8w?WV>9ofQDj|OXVS-I`|hmJi!EDyCdzA z7RM?Op>ye_QCWGJfUTMEC&^di-ucvUXjp>YjV(skXG)}A9o1e`RocYU-M67mO+(=t zVq+mwHGXbTuie91vs0E-h7|7r)ZDJ+z7aQ7HA{ea45X~Uv5}*a-lu9`xxXunJY)|a zw_eOfpefK+VFKd?(;h_%tPj$SeAJ#VMw;Xi<lbF{8x(F76Wpa9Yx!_b^Ec~cn~nr& zd1|^I=LJ|S+9j4d4lI&bszef=tUej=U}ADQZb~=KOrim5BGK_aYe~dLL8tz;&6=~u zwQy%_;zq1N?NrQ~yqj-rkCrhfVDfty%`Qy+Ucj_*-S13EkexlRUwgfhx0Pb=cu9+z zlbJ$A-89@eTK)5zG@l3KCK=bepc5p?Mc0t<3~1sW<=E04_oXw`!~1+r$vH1k-<Nyl z<S(1|uiyqgLuq5TAV-Q8uwin_x*qjkU+Lm_P{Zp5)bRRxOA1pPQH`p1UOKx%Y;IBY zk})01P<Ewo7L5#>k}nsJj3pyFjI~WNljQe8DuWoMKKpi0_da6juuuu>qj{~k+#zUt zW=d|g_%km3vkm*b6{~xu>)|((4^TwRY}p*B5RFxKh14UZ&c8oTlm&Wj)Gf){cR8PS z7{VMnlZZhPd3h_Z!dEp42<zi)n^XnIgUI0lh%#-QCaqHg^IpE<qrLTq17dL2Tx4D| z?v0*Djw)iwRilL&wV21kU{svQ2e|vNt^$jzQ*mO&dp{>mx%~ho@$j$9WEO7%CgQaE z5eu(HSL*tmf2LuSA~LC(t><5ECn6{q`a&{34gC~qTx|G#*z+ha6DBNX$PhGl+u7Ww zabbm<;RUrRiF3J{Y2arwrQ!Cnt*sWS5gJXM60|hgeb*;|&H+|wfXNV^t8GlV6x+hB zflE})c%<Ub>h$J-N8QS0(Xd>qmWwo|9Y2XHVvNyNtUmAls^RQ5wBTq`USik7Au=i_ z9{3>5dp-q#*u9@uBo@8JY3`7(;*)*CF1?|_b%P<n_-Epz-!d|n!Ncfw1>Q!|c1Laf zl@=-~%5qX*c|k|@Y3sgp!3s;c5?(;t|K|%lVPQo(WVvQuh`JSD=d%K9ejI{}H89#8 zlCZ+&dtABMH>%Y<%-5p%P_?aYszX;UDPCMfDg8$4zIpgh^8~E}s?@*6k9wry_Nj&_ zMNk4#HwyS>R2gWLa5c3RlZnvr-eJ16Mcw7@YiR~u!-^(}+9lx2RJIz7dK^dTkIUj; zcTVsuO0U>fzBLd@6v-BRle4DP*~7c08xX?-P-WU@f$(TGHiXzK4N)NjiwqM0A7RaZ zPxwxCaFQ`Ft+pRN?9pgYc;gnI)ZVB0?|qjAsu^tET2+7Y3}M5JCNi4LkD<0<Hy>-e z+%UWju@!osqWL50@I`E5WR*?znkzcKkFEFHUjEGzLm0$@0XT|Y=cGcqc0Kh&EYgn^ zEj%iRKw7aLiH;8=sP#0ngk?ARb!kOSRdFON<<FH})j0t67tdMjbZ@$0VPS&W#9n%E z-f%A|dR56E6YyCaw!B?SJXjT86xt5xMq9C~MR;gfhkvqZWZ#F$?|&6VMtx|4@dA?C zMre=6G4Fd~alEc(ou3P&XR&=YK~kEN(~;BHt4UW!5xK`=C1&eQ4eW>5B{H^E&3<(? zm9Dfo6E)@^x(|gq_PO;K6;^ES6(U)HbR|-F0J==O(!XyYjV;Aj53(};N~3-hQ9rs! zR)HTE?gHn@y$$!}z$Y!Sl+Ppef{{dEY3&tWh)UbH;#1!Hj|mYC3nu%5!o<4xQoYx* zD&mm)9#xDqPygC?$#q>L(ptTW`N9;Ht?K@{y9sSSnn741N}mwjlBBZHZfQ~x<rDWo zp~t_mT8Z-C>*QfTDolN_MMl|DK#nvmU`?xn>}JNBzmbC`!8l!_!w}MnN4A=*!{XI= z-+KdGtRhOQ!@v9hEJBYL#g~wjFUThg53f_ak8@fL`BMyje8Sz)iO5ZOC<sVviL$sf z<eANDJ-Nvm@zvvP-CoHucJ=<=N*rViOEnKhTyycz;@F78W(ERd9pJ`!`%N}l?Wlgm z39y8SflC4r0Vv@0Z*_j*yiscL9B)34j9C88i$YEAGN@<3d(-=JZ}XjCxN@FRo7eUA zSx7@9@Qf|jsnAZ|PW(mk&;#shWq2oY%@wR0WiArGr)`QX<!I0AMDVI7y7&qL(;5q| z;W(E$frl`i9N&)4u?*5kNj0}Sz0d3BuYrovOr9o5&vr<v87JYxq)lUL%A~Gq$WDfL z;?$mWDKj_aDK1Ca?ELMUw0*)$5VTi+{(&7EDdgxnQovDDtZ(4W_z;8tgK?|u%>ore zSaV8`dUjMn+Iy=<3k_?mOGPhpt8Qy%0x&ik&%bbr_1Lng`cb!#%)F?j@B7l<&CiF) zau1XKwmA^h?28O^xC8<X7I9+(map3qdZlemzecf}noR`azA8LM+9W5_{!Oi0B)`c2 zxY1IwO=+F~*Lk8{Xj`;K(Y^3I%`x8?sM_gf{SjkO%cDE9Tk{pdD@`81E><X;!b*Tz zOj(XJ<3t4LXOTf_YtC~3*>&5p2St0d=`BwZ>NX=^<D0~s>qb;#jDfHPTAK+hX_Z7- zlpgdLM=4n>j!COhWIffe!wL`6m4~%Jer{`7V=Hn;L#+NR*EXbmXkv-bP?3n$ujiHX za%@qCash`B658aj$|ye@&Qi|78`BPwiaXd<E?&H7CR?!1E)5}9mIG*AZik6ddf$Nu zcoRuXM!Yg6lL$k%so*;-HqV{n(TWUhUJdB^Y92}9X0{wAalY7nI`l6=;0J3GdhMQ< zy`*2y6#r*|B7WblyFL@MJEjcbLTJelwoQP;5H@ow(sU(XTiKmfFGp*ZjiJm{o$pQU zbi8FpSC2_!%5g`iDY~D!;iV9qcWk6I`8)x25*AWd&)s2sK+O2!X-b)PepFP^*ESV* z1_mKe&D{c>%*k(S+?nxcva|Rh)A^nz@MDd12K%)(x$&64m|tr`;*+W~7av1HZS;3U zhIJ8~Vf-Bj?}Nyekl=)jC<DHW2dM|XIAe?H#MH{nePHD9rwL5<6FBb8%ob!=<#64+ zzIQ1fNDkGnv^w1VFwi#B$fh~pP@gvW>Gv*MK)upLpQYPmfNJ4b!Fgh``cUJ5DElh- zJ$FI0HjbBKQ0!GnJpr`$G@-!>euxT<G`7g#VG5rc*ps){0CX2Z1?>Fh3r`vgm70ZA z?nQT8Q=W!ijGh6y$nBFVp0F_CH;SxL=0lM;%11}FE0UK66KD3y{P}~>+$P`!u|h({ zQB^nCU*BU3s1o4NwWwI0m7uQHukl9|h`xyUCg(uw>^vw+SrGJO2zS+Em@&?>DK1*< zq!x1VkiE*Vv`MV5^JY@5qV&ku<#s$#mBkQ$8wFp$Rb*IUW016oVfe;$^p`@)`1E%e z8d+rqGN`iWynenu|1-Sz11)XjPfo4$(F+sW@6k6n*S^B`E*xFo^_XCNbjS5)**|d? zQ0S~J`4n7pDpS>rL35e_-XkWXVQ&4azwdg_7V06jRp!WaEvgMv%;j~#Jrjg5Q+||C z*J<uyX?Yeqr}lM{p7iuk#5F4wl$vc~_=iAWfh6&1Lve!-beD6XE{E<$W&!3idJx^{ zgAT{b3%lv{LpQxjAN(jq&*M+8&j^K$#*x!@8CFZm_w{51z;6sl#C_OjC{Jcp-xC<M zWpk05P*52TK<<B08~w4{ujxcJ?Dgc^z(ZhKa)Ze-($0l*Ox#xfHCAb?FvtI<pUnf@ zHxsYwn`t>=uqq!7`vtKO@OH$i|J_#Lq+FmKTWwX=x*hWRZgokq;0&QOLtGGe(y^lY zC~q_Sb}^X9YX34QQvZvzR*>Q0hX81ei6Pj&4mZl7?sA4b@P?<AsClBV@WNHz)}#YJ zBsfao;j#TS-O9tUT2=rmg>1FgAS;U`NK(!E569m9(_HmdsNc{B%0qQ$PbL$RDYJiN z8>Y0>DGp^-9Iw(VYcGj7{|)_(D!1^a<pZIfm_`J223Y=DoHtmtsM)mW#WN`=XiGWs zazu5Y!I;>;e6Gw@uFlZ5>f3wjEg|SNK<LlkAb>>;f0&!xvHOUh@^-`w4NYU4@%7f8 z)E|!h91M%>MN^Q}dTinsf~sp~_?&TSWGpdY)^9fvFD?ykiCuRZH4~X)H5t)fQQ1*7 zkWBMLJRO4$XQx9hAP?CMvyqXwIrMIqu{0r_ws_c;7xi?7UjHLEv~t+$nn01|q1FD{ zx9glo=cL%I<q^9as7n|zRZMEpDlfH<1ak1RWn4s;u_psz(y1m2hi0fAibU{Tzim*0 z$my>SD);eBzPQ7*T70U^J%F(NDK$wTqD?a`FV%BeRaQMH!ZB}EWa#|u&_PH^)VQOS zA%zR6w(gqpi-o1VQTxPp`>4uC>DM{RfMrU}*F6OY1a-tqy2=peekUWXwnuA&9p6UY z8;UW;r}8mq3OCx(!f5ejF<|n|nTi_Nw&^vU7foBe2vGwKxtrrpxB3S~%lxZt;>09^ z&al%aJ!#5_M}y5w*lmcgJGnvyNu%Yr^oobM(K^PgCX(~Stvkz>q`Rr%gdH|mu@qWw zZRT`i7kE?{y;G@%6D`{42HT#vvKxz|5Url(FKq=cxtaZuAiyW+F{xRIZG$B;>I}^k zMR_ulSf=ec*PdZ>hu-Q>-pdCL1~+rq1I4J*B0NmW#Y`lL9qc-dt?!B_j)|NF#{68G zg%=9qshzkmpFMJyLcbL&4>%tB0Ygrr$vO|P;uhni9aPrh7YM%2-(vo`4i>VHO6qM= zLJdAQ(hy3D(FMY(ZJ}-%S^R+5JjFpsgSBWBvDOqmEn(J{s0Q3Yo1E9d8MQZLwrP66 z#pc<iL}C<TU1q*^Jz|;hYl*7?vb4r*O5ThjR3GNPdp*loTGE)-4B)^Y@0J)CX*_mn z4l!1F^rn@xkI{>nE?LET>%NE9wEu5`*YW$X@NZWBA}+3J9<Aqh;R~&Lo8!_(fxvpr zl*^2#@lU=V`cr`gEQ7S_+1}W@0+e$K6aupC^d3DfT=*wQT0KH&Pwh5TYEAJIw=7FF z=rMCItu|R&QeATt6~|&?A7yL_OLb)cdJ)y|X`3OeAu1)rgm%?~g_)Ghm{V}P++0Xj zJ`ppjpH<$hi1%{Nr9<Jpyf*rdcmQEAQz8zphQm)%WH-625Xz@cmBs!S*o}M0LLLL7 zAbU!^>3eP5X#O#MtIAK#&W3C0F&`w=bIsVPFJ7*RI7}@4{*b(~?CY2nyU5C%eHR&U zn{CX|?Zv_6Bw*cf_S;$PPbbxgH@-B(!U3C@?Xssrt41JT>g5`&li;s;Q!5@sZSGK= z5BzEZZ<#rP1%0EFj<@3<=)#oic@$|{#5uD?S>sdvW;E7be9u8HKP#rBZUl@JDwmNO z6{~~G{^NK{V<*F?AEzr~e&eXUbcdqY$yB<B8`mgvQ?d#3ZgiuyCL`HxI~r4k`B}E& zmUF7C1&glL2mOK+PK3V|dQc`m)X5ubzBvSSoZMLD`e>Y6NIjz|%;;p2=1R|RW9iaP z71SVMAnZzSr<I0HEhuGG@*<aV&@@q~s=!x0-K?B<<fyE_Wxc^}XgZNyXHxCHG2ahA zq>g$WZ1VfMp5_`xpet4Qz$q_k-{rvxR&VJh@x>*BM#h0w<dBc+U6<r@s?@n$F70Z3 zTy)DRJy}+-u1+r9L++bn0qV&WL_hGgp4y6i@p=vs;_u7IDeirA1BH6M9xsycYwuS| zerQ+r{on=|3f4jqKW|ix?^6_B5P8~ceY?v+>YLT1re6Gj`q*q)EI3@r`FitohRPiO z!g$ldZRg@!p|~-}_jRPMg?E{c-!GXU1;TvzM$_jP6LT0o=0yq8RG$?e(cF^P*F(rU zTRXo%0kn<s!q9E0lt{cuw2NC9Mq*fL112qZOrR6G8CEo5Ym3Xc*x_-lYK_$8E;dc! zl95v}Qh^8aMrt@ii;ISs_V|Tt{h5?90Svibp>+wnq+_gYu70%MuC-w&$1A57^P5Nb zH%O8$4$T<Hne_Y!eWwaPqS0eG_+~s)`iNZ{eTNWaBi1CszK3`8sx=iQp57YQVeE5z zhl(TlH6+0Pc)a}eqsbVeaw{R(YP{LV!g}BRU=${iny<OdZP^Fapl1O?Wo8YX4vjTk zWRvT~r4!F~x=UB%^RkeKNs)s_cC6}>7f03%ACB!8cQK^t2`{kXP}aK63MRVz!$|v1 zE%;NW?EBUaIu>WEEO#RQN^Fv$A5B_zG+1(9wi|m|<uEB@{ELcIt-|48tGEMg1S{#q z@GWP*zWx_8pJk4=#6JHp2E=#axzJ90n~(dAWJr?ZhpCFP!51n!7^9V-lZvREiCg;B zKE@lTiL@gkKZc%t+=`s*RCaF^#MmvP8{r`x_PH<f!7>izfAp<*9h2@oSi6lMMU8bw zHoj*$)lGD|&9VA2xY|eM_BShhA$%sz|M^94xngX?8p*~f8h=JG_|&G@z?UrO0!P9| z0Gs=tUcaitM7>zAQm_^3m^9##Sa2A<Je&FJ?qa7QAd=ObD0V7W@HUW3{+6BdEwU&V z66tS$9Ntrpu}XqHMH#wGK03XZ$g#(*Vd6@1GCu^+ga)tND)=_)@J6<?Lv~;BPJ}$m z#3zq1!D1Xbpzz`%xo6^q<Fl^GHJ%?k;F2vvuN%h&hZiE)4I1l_>tvTOS*vS=jfh@N zb^6vMVEg1~e2rm7<6}-K_QQeU@pd=s?JcxBAw~U;sw5p~qn>tRj&t%-z1DAJ)K&0h z@W$`MiK1W5N6xKOdi7*h_U5DqUQYa%U#RAHeS+;EK0DeOfSIH)`pqYwcoP<v;<m~T z4$R-Zg=y*9euOA1pE8Yy*nPqV$K~p<Q^s3ma+G9m@U%fb{FMX6qQMMWPoUe9qaaPK z=R>?aCaj{EWHo)C{7C4%$=k(Sbe4lXzYi^u{D1W;kHoYn^fX-@XBKUIUi*7=mD~Dj z!E-Y&_T8VCm8|>Qp4lXh-opFCOIFumtu|FXX*q$Iv!gCgtQ5O%Z*%^*{WQUwNth zocZmMG+hBcwORTb_-@trowua@o3AAc{HM$L0ZUfk3cT0tKQHwhimeqH1jR<Vv_?|+ zM#mnom-%db7x-pH8+|Ldiqk3(WpHGo3>(2^$wB6-lj~L+)nP$n7C=~m7nRo6u3Y@& zcjoFPyk?Ct%yrc6XC~AfNEaR40%Kcq&4i>3wlYGlpGUaIMS5?V2QGwK=~O%h{{a7u zGqPgfmBpH^P?=Hw=?Ob@;=Fp>ep>!!>&#t&rqJ+GxI^sIq))fFLso%h#W;T%p~f-} zhGSrd7-Dapf*I+JO$!8JC8z1O3F6I|n*>;FC1gaqs7q0Pu>L638B*oiIK7g!^j3#y zbU!<gFDpr=@?>J~dY31TekSwMq0%AERz0HFwn_WEbV_ST4##oi8u6CN&f7Oovv7$( zoCy@^Z)g{bOfT1Y^bW68TTCTy7q!>K`ai45)W3DvIeQ=%_c$;`Mr#$~&u_sHS=^*1 z_d@t{cU!s6H5n*O_a>;pl0dJoa&55{&w6$V5!P5CVm%%`a3uVl$p5pC?{(peek=$y zXXz3<X4OcE{Bztk;kISV7<@RCl@TP>@XRBWUw{)d!xiydwX9keTkL6SCd*;--`IQ0 zpticeU$^$wDA1xU6e#Xc+@ZyT6Cl9?#oY-`sR6};2X{?^JHguGULe5(6ekoY?)0Yr zGk50Bx!>;0`F8U$$*k<XSN7UVe$TT!&JaMc6lOUMEi1$oBu(aD<RO^D_xMZ_IF;;D zhQze>Ap?ss&`w`U{|Z65+J<<{us-W(#j}4&1Tem*Q#|_6sg>??kya6ME}YsBYH=-X z<+z^(Oo<J8-j_=oW`cVM|Jxbh*X~Xz+HayYAtbtR*J8(rxYG1!501{Sz!+wQ8;Lb> zh4_xTsVV&X&XdYR+g_!K4>J7F%AJTnV#J`$0?@=Kf!K2{FpLn4$}obmK=)r`s;tCF zAGqp_TrJN@<F<iE-4?l`Ze}{h$Zh}Uq)J?V5hB+#%1&_=8wyN}(c$}V66^T3>HY53 zeD0L>4sTt^6Lmn`tMf*-Z18Rb)00%_<l#0fB7s-CIt>fScYl|@3uK2<5T&UAgA&kV zM!9t>2#Q1}6;eag_UrPEh}eH&C_>aGGRllN%`o%0alVQ9Z)-QpAn+0`%-fXQ<B*-Q z(?H2@^rR^?%2(&AU?^J1t%Y`=Cy}Q@s;{QyIjF`L!XGk5Z0*yJw&*q)Dc4HiY`hxS z@oGwzv(K?%PW%#P<54{y`2x)JEXKgjz=H!-QRuVz0rKBZ*@mOzdxWsbjtP{7GoZF2 zvhw{BZAKa0V}lyMVI^s%ZWqAqb&EJ?q#@7!u@9CM#A_yFuV#Npf2CT}bpP#}ME9iT zvndr&B$4(!pIg0H>uzz~rO8;vh}~eHSibdIW%;g9N&t5rNJ1wbZJ;|GZ|c2{A~HK> zztDWl_rMvel-L)3hw$^mCQy_!s?2~{ZN-~S$e!l_nC{0pVr`&Vc#p_9AmcwKqx)Gb z8LO;OyJeC0aFdG7()^K+MB{zSxV`SrelL~Et>KwA%djr63H0LZmIX5U<K`%g0*W@d z$6j29o%#>{3N>ozn-yNeX%a$5DIV>--INI06D@qtT++b44^KY;_6F%Rv@?Bm{M?MJ z_P<+K&M4S!Kz)&|<2x<u-6V5JbJXAy*SZC@iy4>a)^8Khp?qoOXf4_rp0}*EHo5hH zTMi?RY*JCwHr@T|%`tpuQ4x3ZGYLc#{DJ1@#OBr<M33^i#8_i|R5P#1D7v}6d=y%A z<pC$|8RyY5z}H#YatgZuHb_3Fh6eH6`XJ_lRq_~Mw;Smr#>J5120Z3#6jz(kxubn? z51q*nw3<2^H5x^RBE<!zE@Ns5V+b`m2Mxa4*P6sSL@|6CX;-G#J!&N_Tp7iq7-g+q zU`mILm%(-Lr7^MX*?`5+r7`5Q4Ew+AEFt*@+q37_vVn=(qn@W>5DFcl$Bt%MMo<xf zG^`!HA`5oi$#cK2iHt6?T#WZCMpLT~i8*gJ!`qUV7Iu%&8b?Dv66PK6zYM9RFSkoo z#le#`!DU#3<ky5`z26~-E-Dp(OILtnJ1ReQ#@{;_*qgbj#=vF;cxnv5rYGqgKP;Pp zf$qO%%Xs+1)8vV)u|@7L#dR!J&76~}<n^}ZUwHw(kQ~<*$MSG6{g7{XPW^f9G_4XQ z3{OsN6m)WCuIYhe!zJp|7uDzzG;jG`g6I}o@D=9N4ylbkhsGHm#Wyux9-lpG03soo zp;R+S=7?vVT7_Em*1A_A3&@pQF7<ftDXxarqrQYhYma!zjKMJG5GxQ}|D2)xK+$nJ zsPTL%hzA-W%NJJuB7EE94^YKef{=eFgq?T^^p~$ameT9@>&$qxg{<{}`GZOE0mH*~ z!c7iMg7+GC`(PZU6C~^Lk<EUoSq8oo%mygep}-tc02LUewT{I3rxF;^OP<hdQXAAE z{JltTJz0*4>-R~YKl7@PneJb4pcQ`<Av*gla33py*cShZPJU0(+m6n4k=}Cpsr)X> zpx1Jv;Y~GY@dFmBCaAK4B09aqf3j|`Z%4Zy5#}q6>TIT|py@D{AbOrV5UGZKwN@x3 z?*h+uMyQ@}5QL)l60`Z(_o-o|4zJ!+^s?<a-CST0bVS@U{v#)*>WeWH#c24(YwQc_ zRkjtguFE~qm%)UD{ddlzAaze<$R*5zC+c%yCxHPgpX#tdVhuVwzJ9y&=cHV6vK$*{ z>f|vv^Zh&weih4$`W7%6thymUpLq*vs}o_M(xyp`?&p2+f$3p7l#q)z$*RVKfS<Gy z4N84^OPYympjl4i;tWR6*3r)F3vHI0wL)0SrPp9!w!sgu8QyS^B;a{tJ=zd&h#+vh ztxyyUeM`};WO$tOlSx(q$Ft*2nj+>cRc;K$GU6D^+cfC#deA`xHcwtq;QC|)Y2t2I zOXynn;>NqOGaahqg^O1n{?^|>zJYeeSMs?FxN%x)G-Nd1o>JJMRL^R+^%!j~=Bkfs zp8E>=qMwrLJ2&q3uh}L{gADj3)v_8Ujh>IJkz#5c3)?GE7Sc)lRI69~SvtK6$5`U< zN#sO55i>6USK*i3gIpm11@F|Ss{Mb8mhOs1VJ)6NnA@;dYIJKg07uPKZ#tl>qvf6H z1oY+9b$Zw{FbZRlRrrK^Qd|V+{)3nsR(JMm@zuBvqhKWMsb|VF&HO@7#Vw1DgOxlA zR;M87(Hf}DRImoXzC2Et9&hV>VNOTNSyTU;WWfbfeK(S9c0N~qh+xo|EAjb_1d2KC z=0sbIJV8^>EftCgYC+XO5K}GG>s#OE8t|KJ+14b`PWHy6;_;FE&rU{;kY2)C+p}#8 zd*&)7A?H`kt*Z-YNRd0ngsD<0JL=m3y{YpwFvZQmYTKgB>+|0p6DUEw@pH4W+-L;u zOU9x%D;cKAl@~Z8ONwEq{61Inn2>Dqhi}O8EA{>Uulzt$I-P9GI?+`txO@9xXk;(s zw)16-bM=UZ%4M^i!r%s`t2u?)SczxU)gxk?5Jvw$|N3w`@_#Z1=N-~YGN|%KlaThM z+mFp*f&L@_9hEDUm8{TM0M|dP>Lvy)M~@>XkWhb6XN@^*P>VDj908(Qcpq$vXZrVc z)Y-}g0P=>2>i^A3{ojduLKlkwj1gjlSIR&z{MznJ?yodnz2Ry*0)t!syKPY$PDs`- zBw((iN=Q$#`nXb3i2iQusT`!*F{ndwen4`XKmPkd9Oha`7zu@k*f3rN8vec1E8Gph zk~jW?Pzcf%x%R95-bMA5<H}g|toVQN#8XyiT1U={nlo9%+>`Suf^dzHgDl!*2)Xj; zvz?P0$XT0`BMFIPJgw}w+24r`(b%6Ld={AI^=@u=(0nfu?eY*ZDMdK=C1Qdvtx-qW zC*R}u0YNjNbVGSVj}8g#(0bcRwx*E1`r_|KD+ZFXWwWUL?`UX~(1M4HH>wQcB)T_v zwIz|DGw_)&9IZ+Q2Jy;2->b&2cK*-NP!&~Nm7FPvF5dKqT%(=`P<-66KVdMs832c{ z3$!-gru{)@;`=`(CQ42=<=YwUMlN3qT^*Yj$z+sE5(-3uXPZ7I?X_a!Q(VWyxBs0r z0Ve;e96|}nxQV$L@B+-<=$1<w2jOqt{U@D_&T4o^Xs$kpaYKvt6mJYoeQ>|rIe@2o zF$SlnadsuJ&y{wCBb!}z|0=5$fEb)`?q)S!Uo2frJ;YvT*{TSh&?lk)F>$RTh|BOq z^w!-+W*UP{(pK2yne7m1u7A1QTYgf&-V>wqa^UHyp*-2vBHsSi-#?(NZH|uwMsg`j z6(^@!dDBk}1~!C*F*)h61E&a-nLeV0o#z)puSI~UGU6rGXwR)Yfu|}QIX7Am)|-Ie zC}w|k$hky@v!&@j6wgf+UtD!#Wqwql28pi<3EMT-BdADj9`09OI*(t=l>McoPe8ZW z_DTM$z9}`F+*WLdBqAfSRrg_o)IQeZ;Rz}JH5Ee~`YX(WaLrhtEM~0tEr7jw;XJnc zl_9Ek;pLJv?lRQ^r~5&^f1gqbbFiZ?@7`K~W3KlrJ3Dgd@^=^aUL>CVn%exW#xN~% z-{a1$RslpHPAu#=Sni1={C{qlKsB7!eN)nZHMqwO^@|}Pz-F(YWl%o}CIa0FM;{Dq z&;7faR|`Pj`~T}M`QKcMi2nr`5=yvLxQhT%|EoRoF7uFl46D8v;mrQH$!X)^|9*g< z=|&i#@Q+lXt$W8HLda+l?f|z*UWU6+;#+4>Z#e*-3`z6<waNN3`~PQV{~wvzUeTNo z?Ni>dHWzcq6E2_3OhPg)wH>iVfIF?KDXD_tO%;13gR;0<+mLHGb5%mg^ZlbP3Oz$8 zqv?@z{mzBYjZFuy(B)P|M{n8oMTXeU|DLf8slf0?7E+S$tQ+2GWIVY}<r@Xy+%t++ zbrB}S3mBRPxe0KJ{#ISMAz|7oa?2$B#uTxA!99EK;Uo+@fQV%qIf3<Ev*~9}iW(`H z_cqy$pm2u-VLO5SC;vjcF&ZH?l`t0}kzJVeA6W(G)53=Bwc>bmjsq4@{HWfXQ#}68 z=r;;Ijm5qrc6FTV3dE<98|wBASsS0ZYVqmc$;LZyTX;-c_b{+SecP^Oe}^&o9s0Dj z?1t4nzsS4dD@whLSDzq7TrE7Ado$8_>^e=|IRAWOxZKsNjXP%pVjdKL(}`S6h5{G3 zc0M!+7c)Hnm|XI}1Uea}Iad5@p~EVAZ21NI_Vovcs*dI}QMSRvslavNAh3V=dwIX2 zfUllm^fQ&ewNJHY6kVEsjEbArg~)1qW=UTMJmOz)Yx*lKT}$8DHs#xLvwvdV+7VbX z$jr**8j^~smH|7rC@qY#Q3w0tPN$+0Y!d*~GTnB8j+^kU;?>-v8D(x;W1|x1C0D)2 zXalD>+0#0*YmY2nJ*q+qDr4Qovz0P*mu0T5;jY!tseJrg-gO|Dghy4|8eOqI7V`IQ z$zg8DXbX-);>+Qe<4xVegloRABf2&0#V?x6-JQ*nf{lgdHO}X@m)dj?!{HM=ncQwr zKP*3;spaFqLVVhvz6+bYl%3PFfck)@(_rKH?DHDw;N|8h#w{5#e7JGtj(<dpi)2F9 z=F~*vyy6T)Wn<m3%^UaOF#A}inFhwRVbVm&lksFH+unS|3Bur^(3K0Q@(FIBR;+~& zn5^Z224gFv_ykZdoa*iK0a>p54=(US8j)m~UqvSYH{Ola9fQI;5qkP2oR!scO?x4$ zbrhjD?S)*NwTSA!eF6T2gX1?n*^(N_D15IL6Wr^;zdEqXj@+!mH%g^>k&n>3ZMxYb zgWnC<_$k0Mvl?$^udhEBTMr}&jzjeaG*a}NV|PvXH=!xi0q@WK<T4V^*QAH6vsWd! zk<BiVmb7cvNhWTcAUiW>q5gpL-|WVF4Og199BVDBiSeH@LwQa9Qlt+#`K+BhbkG%5 z4B6<enJ-!6vHM8ls1I+|>X-peSY)NpY<=@0iXHw|L9eonYN;YxRsqm;n+@KET35P6 zVsM4}iV;CjCH$^uz3KYefVYz93^6wd4CBpse?F(_KcH5~Jj&xAKmng#BTk-|eypB~ zfs9jCzE8z$Spk&A9|0J^vnS}pnuUG^>*rm_DBF7BkiS(9Ae<S^+!_-z%GF5!_tgRZ z?@&yHY48^7<#1TQ1?<51$2077RHGI6<OD|Fa89$e)0{nmC0F{HFP$>Dlc4^N_^#QA zkw4-8kesy*+d^oAQ|_INl!JGv+II)!NBJ1)pZR9gE}{^OYW2iOeel)lkaj`qP2|QO zC}iX&l#kBkt}mBRFjg%f+jOjgZ?Io$Y>01G6Ue=Z#tas@>UAV)uQ~75*~}hST*Z9Z zxfqVy8ZG_d1bxEIp0E0}-dcU}D;<NpAR@|JlbXn-;Qmq!*Cbr;&!%TGj56M&fqW5O zRyZe_0$Sz0euWs+j_QJCP-yHXTu7gF;=)oa67!!w^35o<dOM+K#~$K!y2>D4lz*?k zf4wd>C^(CUx*zO0r6K{d#D=E)=0^?rCZ#xryS=H2Hb-Z1L8ClNlAOxavd~}Bk0UYh z_ig7igQ|;q60q8!-0gtukm+-##FH@ms|<%mL3Y&i`I^-{?w%V~rZ$M@a!pcZ!SyDI zJ1QqO1*z?r#5ztwR>`Cz<#;zKfMD(;KU7E-jmuYqJi#__8T9wtBMd9+T;<|+Qd!?m zCm)WD-51TjXgR=rqC(s5&&6HWa+$jvxHR)+RIi99pn2zBP04BCBk@U{?8lt3S#%+# zAUcL!X?+KM1oP*@2~wIK><{A_KzuVHY_=WZeGeofiS(>k3?ZXdNhsKuQ+A!ty>WFE zOf_{}-Q3)}EY^lpeC6uMkx~;;@dyzHDb^PcAqQQ;3)>d6o6T$RBmAdl`;z8AaXl$} z4!uqjHf-kC=Sy1v<0HPm@#WWRg4j1%l_hl)bD8C6Pntm-e$?oE-DqQ@d2JH(@vP)5 z!MD6xXpS1iXCKg=c(OO8Euy=;8o)vFqs0?vdQv1G#RK1>!?iUZ2Y~6*qYfN+VMqG& z)YKWl@x`rYVHy=KGmqUqXbpKz4KBT*tEU_IK|7x30x!>a<09>N$A{VF9T(VOVKQ>4 z$mE6(HRbZvOSNtR7IYE32P=qw?QvWgHpjpQO=0q4F;~KEes09i7E19$gYJ|%(CYW8 z<(<0JJW|IQOnkVGZySJ*mxu!t<>xBL>iD;UWItJ!$6?fUIF*{4%AWC5O!)<+sj;bV z2g(@pPhac=6u*2qUf>AYk6b45wB;P`qjZsd*+L2nYTqBaxeBVrr+c0s>t*G@25CPV z`xNzHe7*m^zh310;u9hRKBv1BZ?ZQ@t~L&-00ADCw&|BkinLq33e@fimge&HG&_Bc zBps5F&>EzT4RGyQ!hddGD+!}~Wgr%znP?3Cy%i0r^r6=t+ztvl!238@VUAaabIvQF z5{@pqh|n%l(i><${f|CMgUD9Z--5Z8YoQhS&lv(Xz4zH0tjOp#Dumhl>bPSpjZZ65 zdL~$%*1D!t94Ob#i<(=0sS~D?`2F}Bcbi6ypmMJ(VXNV*s6}T{C1c+y6%g)+bSR|3 zIFKJI#`HdgmK|z@=6u-=!UepWdTWKHJYBybxSM@KBS|v~nS2gqfq$nDmhw^7ZQD~$ zqIcA#YBE!frFUn*)Efc@i;$ZpEnHQJM2*fukHzXU8lYLg^4j{ZpJk0Dw2p17-TrNB zvfv?EMNYM^xB%?p?y0c&Hn7uiKQ4u{Jv|K=aA53v9nf4dXx$&?kZ+@=XQgSP;rV;q zaE)KVloW{D)(wIJlh^`f7~DPBCiZ`ydLJkc#7%EtC)W!3PK!W}fghX-Flt9Le;jz# z`^VL1zop`Dy3XO7@qUy86WLEj0OT}<cLo~<CDe^|x1k}mW?KC&uU>}LY#II_JCtqm zTus=(jeCq&|M4HPF&;<3;Q>6`{`QmGlit(YiW_>9gU5oTHoXC#2DYa6246%vKTAGN z@pe#bfgOl6^l$LoH~K11>-i!H^)55WU%j@%R8>jdFHaT9k-c(d;MiFf5ok|k5_7Xu z+FvYATB&w<fENE;AlrTRd!my|cX8D7zvR$J%+{sh0ldj_>M*+u?fh(B=XMv09kLGi zH2?>2E77fWvTpSzOF!iB1OzsVnA=3#m7{m#&ffyT1hP+qH=hLvE|(nS-^D~AfKw<8 z&L6Q|SRTST>>V%ZhP__0CfB?H>;hi)+X=w4yykgk1t!u;ik&TUy5Yaur1+R13RhoR ziuc6-7%&+k&fbezJH&55fz-cy%BSKf<-w%<`f3exJV@F!2nWrb?WXp}Ky{)DAG5Y5 zP@mBcO(L#8ye{upf1&KxpEt+5b=zpPuhcwIc~`_iRRF77A(kL4nIF%8J@ik&_KSH< znXC2jc~D4&wCd-0iGcYy1yh@Dbw3{_9osfb=8W{{oZ(v2+MFI#20>gP8#Ej?>DZ6i z87PObQ<3RWP}bS^e&oao=GyeA_FkY5u<d9oj3znjY=_xS(WtHZNtN+Wm{<hui0`Uf zEDbAs;w?y<|Jk&bXQwUVV&p28B4TFz<DR&2dgUkeh}_A;TwlVu6_%QYXOg~}O7%{i zdQ+?ldAcn*MhSKnIk!Hi4LC7!<tu%yPdr6aqD~{r>Dv$7OYuCU@-P7|HK)2+TYLVL z__ORCJONjKCu<gW8ZrpNp)<*mjyEMW?|YCFuX{=3(LwhC6FwBTUeMPN=1fI1>+v)Q zBDxLJc!Q}4$zBj7m*bRFT@+AVjc195vLiD-t$#sanhkj%?MY_#A31Pj=Jjh*3&0xd zSGcp7!sx0ve1Lbj?|f3#!^vXjzg&*;=0L;>?H{h@vMg^83bPEqUU2uip{j0aj4mHp zJ&E|&@1c0_`e~>BdJaxwC-vHxLYW#~Vk)!EnyKSm({%Pr{3>2!9G3hrYTd+9FacXv z=P#b5Ry|o`HERQm@F-W4B2pg{ON7<j<IWC!mIw#ttG_K^5DTafqoB3VehEgWWayaG z)BP95H#Dk!Ftb>-A&dXP27PN#2Ff>Ms#Z?s7Y?_wnVK$62`_=Cz!LeMKvYNmuwiDs zL6B7y2d;L>3CYO!?xZK4@f2blq-0au2(F9wgz%xryA>eq?iMi7poxQ(p}?LO(rH~4 zA@?^jN~b~JM@7On2sjYIbFu<V_8L2-O(9p+ZV>|EMsV?!{Lt=isit<7<fsvrXzkGm z%yBPJrQxN@JBczsg85fz|MUIU#QR0IB^j5@as{@a_)d$d6cmfLShpEpZ2$NNUeb|a z*+$26veBKy3>}7?bG{a%L?Y43WI5C12gmDgz9R%5522?`x~W?-1B3lop+RM8Ht<lN zBU3&J?QmQ&MUm<+i(NO8aL?PT+F<9M)ouw#;dM>hjCJ>>ZBkc8;3SYuQg`i-X#1(A z%4N%#rCG{c=74&{7yYF4Pl=Tq!|&MyIH+w#iQzKIr!^hJqBz!b%th-{yJP}Q;F^#j z(mQN9oWq%s9(j_)#s4@>EG~wr-fSA$HA)KtiaJjtClpo5npzoa@FWjrcWMYwkc^W} z|K@=2Qj?qxPOm6I4PX`NXrnp1;C5!{X*BRs5Ptq4%4cWFS8U_~nuW8qFe8_rHueC+ zr=q09DP?xJ#j!OME=2_kQrS>vrv2(06wy`lr#MNhPu{v1H!T9+fV3RIiGOeXXqq55 z8FA<DUbU)zQrAb?<&w`;7~Kf;T~pN6$WY{1^!L5;9<QwoBdV;lctiz)l_$oe5{Vra zEV(LZf(A@@$X;;THgbhiJKWWieZ<P|iINCkQ#3oFn>!&I7@Kwpa$WW}&$2Z!`}-Wx z@*7cvcwt)tq6@#D5=ej3Wdg0!N(&~i(m|!P`}Mvt1|@A4E2K`}`Ra*a-e()?O)G3O z$x3Dga*o&Dxq~r+h|0AvaEWS!5$gcAG|S999Xkm8w=$J$TgU2Kb(7oR8nsmW_X>$9 zj+{UJk#SdXMDgX4jtXHCDRwo_Grv@@&U}d;Wde$IBMUn9*y+R~EB&KsV12lI{x{=v zL7mzrP8%ozl}09mw~q^0q9JfIp*dK^^tP&*?V)RrXSn?#t6Gg)vjHe^QrD<l|Jx^h z*~zlk{q$QHy;tpM8dc*zyA2{Uh015$$iaMnZdd_k&_m5V!nIk`|K(~q?BzM*BUM%& z`0o!h#xqW|f{rd5vqRbuCW6+Rx<*e{DHP}qfB(2&kz5P@5v%{IMRC;?0A)l9jA-+k z1%S;+K<kh5EXU<Dub>EBM@g*|XY~ayq493y%GnkKAUcyY*=$(gb0YEP?J^~m|J@9V zw(h>IL!S<cUmfdZJo{Le8L&zU*pOI;+BNRvj?6bc&f#S(y4TG^Vl8H6Bc<_8dZ-a# z-1}$@ByOQ5AtjreozS_paLumWUhdhzM)>2)(T4L=L7)3tmFn>gS5rZ>*^>6(h=QS+ zI`n1QslqTmmdlJQC)qpPX+Focvw%1Nb5N!Leg1-b^O<uBMM^-c^|KCm>APV50=8ci zG3a+C6T~8Uje<e;t=rAfL=IiLK2;5`%Q#1>!4Zy$#y{i#G;fL3cs%L?e3ak-WsiEU zu%Q(L2g+vA;hM{KwF}WG%MY4lB)>PMQ^;qq_tXYb+4tB213s<3b(($B`*I~Td#`m< zDd)(jwE4yoOZjZ3M~AtJ!WHoQFym~2t5KOBK<oTAa@k(H;6Ib$@1}Y$W!pGPtn*%E zW^#p)W5_wT#|oO1GuH}rPM<XM+TTr}HX*+dcMGR|im}%y6Xcv>mESp}jetzZ$2&&b zd@dWp6@wl#$g}h!cqnG>RwJfT8x96$An{UprPDpqA8BUzqIR15<y7T3WFor^p3Zy} zAA2-kbtp>x9uUq>oh01j1FDyS+%JSpjSpotrOA9%51SPQV@wJjdd!UHKMy{kmur?K zkW>c`(c%KzW}0}(g+HHUo=hMNR7R6ML#rU}%y!{4OEs_*Ni=-=L)IDBT*MqO=Kx&S zeb%Y$Y>u>GZkKfJPUwE~KEfJA_sCQ&uX?Y`bM4gx#cBBQjZXTj-%?W`YJ*RGaAOl2 z88mL-`n};qq~6b429}Im+wqU9C)CO%`}ylxet(-vJl=cdE4a;+CXW%&7|_=*dui5B zLb83AI+dsg@LbHAzi$QYJQc~*E(s<0qEqAeFJtz!I)T*3G}PguQ_oGfQi99&zl2I_ zHw~yiGr~(Y%s4ljeOg#9u`q{}Nk9*-+U(0E)hM*;`{0z%cD%bh+Xv))Vti*W3ttkY z)p(1{-mX1PPBE-hzuK$HVfo}&E}>F)`=HUQIFdrCwz|Lw>Ip4OC#H^CVimQgS`O$) z=+)-rVs!`lANnUgu<$0rqAJX+CarU+%+so8^~BiGuO<0#k*v&P*TdJjN53C<=INB1 z{gJmh0(fy&11e96PB-$PzWUtWPSjpWrl~Kfxc{3uAYX;Ks3b@dykzW*=5A}_*v!hy zAgJ%GgZH6AA>Rp^%~tQS4`I=DfY~ZnIO)AmREmEsaiKY@1DdqFQj1QwdEcGer0C(E zPV19Sn3ILj-h2Dr*UuzUgq3|y(|wKa{24)Vi?tp_^4_g+Pip4zV3c{^U%dX3*+<Vk zH5nu6d4$WKNKp22a1B@ei}HF;zQ#lv^RXX9*L#5o<gO=|Q2AyV-3y|dqjeV4x<ZM% zadc-(rbD7YYD6qXx=3Fs<A>RvdySc5ohnO3T6@!7{!kk2t?mFA#X8Qha-r)YAJ|xa zUill9_<^A@WEeRy!ly45-=bH|sRW^{IKE0y;r;uB%x&EIYv^%H69<e(R@0MbeCx7@ z!Tp7627QpI(_69K$xla9<$YD6kp?RD-~jciHO?8opa?~RCO)%zONEYmb6{m1!*=Er zU7K6LYYonVShYL7-=7&zuzu+JNyZ^kS8QlLe{W_?cT{$9_o$Ck)>8C_b1F5Ri7*0W zqun^_OYE3$&=>JGG1v3y)8QNbFLXI_RKzXR_1v$7@LUOOCOOL@xvFa7zhhFkyIlC+ zWq{k0xoSlmKpKxhMv-YUEpEUxq_%cL*!P=yz`jN+@5M3=n4%KE88>+0r)LF0(DAYF z2}23eBTd@o2knxN=vB>dMF98_y+dJzu&!wO+X8J<b|~#|?N=>48Sx*_ZV5iJY#SAT zr)wt*2qKJfZM5j*hf;}YX5J_&-!Y=Wu;eSWybByu&kFc9jci_$00jI6=njEPdi|B| z+iExLLPEHpWinV~OKCZ0{hK1vx67{1WDQIudvKg$LTK-7eCYtPa%BATCnu}>0!6@| zyXKBqqpGXOm!vjM{pvWDbKd|S9x=&v5(f8~Z_j_<j;oA^?KaP9<CPnj-g0q1Hjp%T z#D}%4UoF=mV-qZ~9+*UGbev&<Ayx(GOIgHbofis$wj}1ssqTRbVM%uLdOHbDz~I`c z^R4z@#?`e9oQ?r>W#-4p4TH^lPap7bC^V7JZ1l1vdntUBxNv7}ggy5T;^y&Z^z@;y z(?A@=UkAc@`_DrNrSFuX8CammL#Y=CgfWy{oo*+1nYAG)zK$F*0i{7z3>7j`+P3G4 zMl3H#;g1&GiVvn@heUq$!M6E%WjX?CKZ#o<1l7_;(Hz7n25&)mfGR64-k+ZieNw}S zq!sQ)u9c*sLUqT9T_aoI%|!-$;$TJU$Kw+pOvuK{BqOvvn%+p=^++IP&1<3OC<~tr zT5XT<wsZ1lKM-M+*-XGIHrQAqYV+@DvS6JHIKpmawFG6V0NE|r_OWZ_`@7DWW#dn> zrb~;964fA%y#Ym3jOVN3GhIf|1i#+l_b2XYoUB<FP!c12(L-x2q?Qx0;cShiv{<of z)<IR!yK9Ce9yery-k8B-vb$Gb@`*&}^9q7~j=<y9Sv(o0@j5J0erl6k)~JyR0Z%9O z6d|*(qp$tduOv`(%S`NLGchkE-m888t=j9)T=87$(isyW@pPu1rnx-+lcD>uzWK@J zxPfzj%rbHF6R)h(2fGY|@Hu(YhH+1`v3kL3IX|V*t*ijsdQxX@i|*RS>oFi$thv=( z1~}J(ft!{*5Y?w@j1vs`DN8mVz7&3rw-owfwVZUn8eiDb(F1{0UcPdrb;BBodaknb z)pHUwP354hA_q@(fMl_U&Pq*5cKGCB%7ZmsO3>X}SPbK{>8$%|K7wQlPnJ=&Z!^12 z{dx&@sSL)g=aI9^+kGMPhR_O*@kbM;B^V7jd~z632~(PJ93p<_5)7U}T6Mk(okS9W zxT)T3iie8poDYMkcYLf+1g(V<U1zHSHNUqz{ULzuMbaC2^qNntl>lmlqzUtr=Pq)3 z>1p#pzf4j2B!{R~WJSjPjB)E>Nfb;d;+V_=#n-oa%S0lZ@BjoCC@MjJ78+95{CgHi zr8tunHTo0|zKhg_<X+uyAJoiOZIl~BKL*w~Zo<HE4a#aSwX_2|3@;0%-6zAl3}{FL zMaPT0{u6WeTN&)^vgnU+*$)*>1PaM(IbkV7ThO&si==S$;(z8M^$ZE2QRno_6bw6C zYVDH!57Y>r;RjVGy|87KekUGrQllVfz?iX5gf*AJ?cD0={85Vdj5qUPL9x6?qEk!A z{`hml<*`><BVcMQ5+xH&wpORto9X1ADP;~JRv!-Mbl?I1zURsY@vJ$}HDpp8%Qm+1 z%%$6itzP8%!jYHM15Tkq!IDA`*hR6(DE!znxpg&=9`@Il1xGB-V~=D56=jQ2FFZ%n zM;&5u7_TmcxNaJ{5!(8t2C7B^4C@WbI>e@RXh?r2`)Fe~4G&)@GHA_*i8H!>aRS{n z`KqxwtqOtax?5`OW!OdN8A)`8^)wfB@MH4c+QkKInv?({rjZ7{_l-3xn}kV=LnHG| zCxOoKlJD1*-y3?`hmZ8<`#rLBV|MCm3RfZPxf_stV(!5pkI&vksn0I5r9W^O%z_m} z5B&1%%olc;c@-bc6fBJNie@&s4%>s<NI<>Afu_Y%yOOgy5wp*-!oq(xC?q{mdqJs) z3rlxqx^1PE)<Qn_S}jQgaA*{b6}>}C2t8|xz`h-<O)9^`TIn^s|DN~oL{8U+M~(mW zKqnKiLy>F3L+53hsLVIdSg(&~FDR89gr*3Nh7jyBl6RaA;09>6VlE@0>2t|dH!8Qw z0SjtUnbY~R+2>p<b1^&anA!K<mV(0y62t<&rH}heZM(1L$3GBEwK*ze0c9Q4Ohp$E zZ3U#8-UE4QpONXZ1IT2oUqq9Aq(o^Y6er3~4w+Jiyk_-dYwoGjQ?1+xm>PUzjnrS2 zCm_>KN*CgPW>S(gcRozHu@tsVgo9bEjF_sp=~Z0g#%}x2>e^E2RpXERd9;a6=-mqX zatqyA<bd7#AGQe^$TQ}`-DXhMv3zWhP$?07ep`@_Es%t-yHh}^VHW}JgjC`-M1Is4 zmSEtW1_=rk{!m+$3PRg#`k1VJ5rpFFnN^+8_`>no*PW4H<Xu0t6wV+)yw}25OC_21 zdk|Ezl;#+;>TOzM=#wBy!GcAs8+iV`GYQm^&0>LwRNKv|<0eVqfqJv3QO?6(>EuuS zTi=aXni`owtgwK4a8z<_!_0Sz?JCXR?&y`LR`qySVWlvoFI<0MW#|QTM*nkOOcTW6 zvAqPmXb`22{lzLm3yn@lAZszGUR&|v4e}sXRA-zd$wLnZMBF3(qRuTAF=Ox&;fU== z?f8lRX6YAdeVQ{5Ymt2!*jR9e=Sltn5j9N?idVY_8kKzkg->*@{rZCq+l%S1`O4>i z%kag0342?Q)sY4Gi(p<h^xBBgfY9|a%O$tdse9bI;g4l$0ye#h@}j$ufM#D&RWyD{ zBmS8434U0&Li;vQy|j7K!>tkZ>bgK|{sg^B4w%uLqfi#TUvM%2fBFmL71ybjAvy-U z6uv_nWCkgeVkNn<H}fc5lIMA8^!3`$Tf!fum7V!J$Fq&Kw3X<6kEgD<$!cVvAYAcp zOGKp~Xq1=T#2?XO;gS-@e$0?R?^TOW=sI$8i`eP|m+Xo|xgZg@3pu?-Qc}Wu;IQiX z*HN?YqPTccUhbin=gUHioqp=Ad{S{qY~PUTCoU1nJo;dz@@Oac$z)<&Z&+$+gz-Js z1!N_kveUOngA&L>QKRBMtyzn@A_ZF!`l+3esR$^G<henZ#ABQRCN%#TuIdw`#K^<( z!vGc<XloK^Mpw=)vo)z1J#r&YPR8$dx4Bg;Lay(Y21QWYuQTRT*TUR|uD9b9r|2D% zN5BD*hF^Pp61R;{()>~@%GX~ZS9wPjRS6=O*l)%+aPgl5FF5<>Y+A#~MtO8a@Z!RM zXw?Rm5Uc~UDbkGeSgZN|4~>#{?yXU3v1ZC9Ftj}U`BR-?`d3xK2q2@gEY|jgGY<}c z2lBmL2-qqPVOQ`kujc@~l;9j@^%Q$@bZg<|0IsS4m+UhBv~rExgk$mE0~$7ka&##_ zeJ*`rXKR6$73M+1$){*zifX)?#nf7<TBm_B)f|4j9FuI^>>;Aen%iDWFbK<y*}fDv zP`LQk@XSzvL1Gck^JMHUft7#8qSZ7iU%Pxao8w2*3)lKX=NlHfc!Fi=51`77jXG#V zzRrqsMc}vai%61Gm=`?AR$X?Fm0Fr#aZZ>pEK*|BLz^-LQK@*IuelH^p-^?W_={#D z4+SSGX>sKn2vSGwH!daClUDSZUsTO@<rn7>O)XLIcYmY_Y-D`8vuI>%y67GT5?WzB z;I|@Mm4XlAPLXr@5KdVvJ7&wej@=!oe+y<cf)YVEP6UN7Sl!;KjgO+6X6rN}4&4!Y zu7IH;SN66T*0ei?yU9V&*@;)k>2el?_M+3byRgkyT1iZu&2F@`-@Zl{vcPgidP;Nm zd}#Z5nzwna&IZCRwbL2-8(C};x4weXRoosmiLLiN+LdABmaFQ^Vte!z2+$c4q;R@7 z875u@iy2d{n;xs0Zhi-(IEWqdGQPj|DpBQ<cnseQWViD8<8DAZd@+}5K#l8TOOYH2 zuf>Zmjs-#I9TUC_6Z+D&xT012|4su^iC$1}_NjNG&Ah}AUV7%ekco>nl4C=^GOhvW z#NFN2DM)yCtJO|aK-V$~HREgYVxxxSMLz#jZ3?j3#Ayr#?3bTqctxOU$n>D>oe@0V zEbxFC$gB=CFouW@$%4<70tBqF@;0?^hg<86y!Qt7&P`?|Mb%BLtfEtFH(U!YTM+zd zKbdfw$wtDJ6SUtd%+0RSW4krN4?#E)bsRx3<4veqP}WKD2<eIlf!;FT^!{q%&F*8| zVIwyH;m;26K<)cM$>lOHOgtOcl3mZMTN5$AKK7)lVtw*@zS#0iq)?o%HI!2-)qE__ zt5yYX^G5v~{_g>qwGJ8?o+2nrkP2{4Z+|PKT`hm22Nq?C&`qarwHQ=X4k#&7@x-x+ zlGxi3`sOoEq+o<Vd;Y0(=7b3NT&)*1=TQ`g>4s&!>0iU@KIyt|<=!qy+1eUK+4vD3 zRdzoRfJJUF`dz+<Shsx9vwsq+PnZe1u<Di15jAO-I{&bB48GQkMAOT#@=FA3AF$|^ zwM%k8&KO4^Q$gnx$7Fdi!;-Hf*y7YXbV;-j2JA-KSukBsc50JnY&0+QDyt=hJsS@{ z&+U5|;f3aoq=J>Y<jt8m?H0=<7vA`%J&&ysuVxJDCdm<u?e)d{F4a0^@MX%5%8L0~ z6F1fdZ)-n?sVR+KQTmn$p!hNmvDMGa0@iVF@!7vniDO77OYRMx2EtBnKtH;qc)@TU zJNHVIGKsor_uY;nOHQIS$flJ<Wgjz9x%#Od5yFVvSh_mAP5ZBgEc@CM{|w>uymIIP zl>uMXle)4-2hE0`1@U+0evOIi1m@U7B3op6aC6v!r)bcN1kXg?>0?>^Wf3$)xI$mQ z;42$&xoP22AyKT;uvF48wr>^2JE?mlE-a&zBV}Fjv5@{#eT)h177GiJDy5Jv%nve} zrmV+IS2gKHC)y6{<1-Jt=*eGoRGiC_)rxBbB!3s#?ddwTOCL!)F*&Mi;4b1YSC;X$ zS=nyO_G<2Nl-RW7W*7{YJbGpR*B{=57<@L(mQl0H>xrER-(0Lp5qsUNuq4#B@wS1< zd{uw8t(}P=pc@GuALLhCi=qVtJS;gRP-KFKgnz0v!S2Ch=xj2cjJ(b{q9n0ZnqD3b zq$}O$lyLT$9B!tsM>#xn{kf7WyIUGT>Ql*<5>95SYu%n);i^6!e-vXd=F)?M_Ae+s zJqj&?dp{F76h9MF9(WaFY^uqL^=RRp9u!JkJ?mW(;l%8}aqfG3D)?kFh<-<5(Y5lU zL$Jc<wmf<Dmsc$eERzX!g@FG?ukPw9Rg+NU&Xw^l8=rp<>mUCUx`R>vR$~=a-CiIe zQt}$(L4@D>y88&(9TQN9R#lVzB{_MTqe#d3>b}?)A5V6yTm*jQ8)OFo_&zx#LA%;( z_S1qNS;{`vp(WK!ErE3sD0(_igphZqYs0Wqtsq3~E|W<-1xE&7JklF%+@UA<9H+tT zv)_V)d&Xz%5Mz=pmiS9^U~tjfnx7$RG3DKE+G?^e3MVf8@wZY(BV$gG2TU01OT|;G z7Nn(VDEG9D#g^*ZUPgr5eYNB31wdFUCQDfiZs2_y4I8laQT(}DV^3?zS$EAw^mLN3 z)~ZbV+3;iHW6dN!=Efc-$Bkr)`NirN3L=xkJfFiT$_tG<5bZtEAaZWu{}|Jb_}jkL z+o`ElQ%&H9y+`JLnvEeV0d6y^$7w=OcBJdwB-PsQ18bNYX@o2gVRbT{^B(E?-A_@h zIafl_=9zji!l!C1E#tqLR0D{Wy{7HgdIDMsbrvU>)F+>Qeu<FE&gJKcytz0bEa8x` zX>MzN!pO+napKn=cRk&A)!2Sdo?nz>XxSb$F<bDH@4-j3?9_&2&hoJ>!=86lz2hf9 zMMubO!-L^ldg$~=%(gMKg#waAdV00({sTuvX40H>cZYj*lsfDA6_WYs)P%mwlA**B z+kU-W;O$q4nGP+xew=TjC-etf1>9!AKh@S<*ksDkbINVMD}X-n_Mnb&uyH%9YN;?r zyKZd~>%}Mm_}Kzyl>40)lIXMaJgF>$Z)Xr3ftTEAnT3upe43|=>!~7{6xZY_UGb{6 z)1PHVexAvc!nBqz!%N=Q?+DJF$Quu%;CsVF6m4&_kd3df8=jtO)HEA!+-;2<&913p z-4YF*lqa=BSf#Lf6)DGrr^YLAqc|}mRQmvH<W;Ih*OFMN`QyyAE8y>-o~Ti5+H;y( zn2Kn`n9LNls60{0K^n7sQEj`->ok!><g<8F@=i0CO&(N0TG#Xip2reQtA_Q7{thvC zuW~YP(1saZ2WgD3c$smyVY`>iII}aOxFwT4LA64_1iCzjCT<m^LmZcpR1A6e#jP=r zPUQNFGFv!j<vCvCdQI4T`p>H|%Zha#jRmk>wj%jzQu>J{@-8{%L84GbrncguQl<u5 zV&#&4Z<$6vj|NKQg-#KTVS1f|tyiS2xkIs5utm&{8pHGA**ur^o?=S+0`u=}C9G*+ zehFVC)f?VM0b#ef=pD*8DCz$tIE~5b{#=vt>rijy?&QSSLd;m8;?NW;q<U>j$yTwX za#c;!kI}#!;;vj^2E5^|INmYjBC0k9#Tc;rg!!N2A3mG3j}Q=UEY(9B?%a1W6kXum z!eJY%Kb!7MM#9I!+QNCzJr)P$Jb|ewm{P4q!J(Z9u?_Wh+*?sYxMjg(!gipheKQiV zL*R{qSCY?JiKC58(#M)JFydnu-uv+sS2E_q<<nu!3Bq@<;}K&vqfNfyz4*`NJ9}~I z6-}H?jM`Zri&RQUGgq(2v0ut#D+xm61u9bpZ-5ia7n%|EVISj06<muEeE5Z^5K|iY ztD;pC);Kh{3Xi1iZhS*}z@{_ttT_VpJu9KDU;lwzW#h=f>+Z=9{CiT#)L+w6M*SPQ z9Wfqk+d>UA&p0vhj};Etw(;l)#+RWy1q?mkf+G8O&nULDep}h^Mwo>2l;5`_xYQVo z_N(#7c>%*#WeXknB)~$gRbyG~va*omwSuzwDRoBIUeE{$f@-Es6pgolE=JW3X*q34 zX4CjOuTuZmjlEZkrp?StM`mL{&cw0?j3_!s%dgcDvw?&SVWl>mB(qFiu{DP~rcNa6 zQ=3}#6nGn0MRIuqg7{`B+q*(a%~MMcdgw6NaA9OshOQtzrxDiXyx@J1xN(u{F5uWw zMqY*nSL2Z(E8-EIZ3W%O#o_^fTLOIsh^d?o`wDZ5gOwRpYn)?O4;5NzUyBNGN0A%y zKgbbJFovkFCsw)vz$we|i=0i{n$Uh}jdd*~+{OFXr=_`h-A*sbpf>eI4_PiEhV&R9 z1M^!qDwiJ;ov#ckQv&Hc2?mLhQobXdEN?CvYz1Xe6rRu7rETd>ndVb~nw!NqQX0!y z+~el08NSN!0NWb<U1bur6uR`pY^x(RVM+v5Q#h3&SB|w;A9=8T5SzI&d0ZPcY*5f+ zO3ca{(r<hl_nE7^K<HPr59-C?EXF<p{q9KiqrvGcC`);4`=JBYOm8uqID-4xnSFcs zss`ttyPV*+q0#jP>u1}~zi>{@v88|ads+LZN8Ym{K0waM4{Y+vQ3Mh7T9`@=IfwjS zy(F#S=~cvKU2m{r3iw_m{skW@^(gzSFm~10KMxU4k=|oMAoEfnzwSy`4;MseVld4| zt&b=&5~hB-cvh5Pgr!k)0?lI&)8U?)eUBC*HR^G{wabV;U6cky@~!aGNhlbIUlC2v zkQNF}9!F3ITjM@`ANhuTYV>ed-npVfpINcqgDe*3MD_Q8%Q^5=;x&FQdY711^Zmy; zaYB_wd`pi)LGvY4fZMi!JdriM<2j6vykpoa!L_<qxay;GL4S$E84nt%s?!9zMQi-} zLs|aL4x(~nvWtWi%&Kycy=#&^sjXehq%vMNP0z&&?M${|j`Gon{Ka821QW*AWEjr6 zEKiI%Qp;}a0jREzhySd8F6mcMO|1RXx{MW~!*PFyRMf2H0PHT<Ji7AL^JI;H2WFDK zl0oU!qC<LChX!fFIk{jC8U8WjCu3=ICr6&`=;HKa0T(CGb_J*HQTz7-Pw=U6OqUbw zTw2unV=YAWCk3c2rc5_wg(c-x;Vw1^YLLm}Y%rH95?*>Tps@gRf59oxz`M9KYqQ&< zbz>>oXauDrwDHGxn_C3vOJL1Og{${Q=RPC)vupSZ)Lp*1NXcTYjoM0ncO&o$l@$ku zE<*g_$NoE^>Vq$>604UKMz!oSC2}7*VY!g$*+Hyb6HSUo4XDAduR|O3+g5?*twaU) z`L=608}3){$>w2MH9r}C-mA}YtS~v9j?f%eam;wMYgz7sneIu(rNLxNn$4K7ODBAt zvm;;Y+wuLLnn7)*sMx(Ox)jq`vSGT%z3rOp=sX$F>6>s&8@#f@!ISN@%i94aka@-~ z?-?Uy=jFE%s*cqjxz=ScT_E4a)t|V2Gc;)(Q&F<ohIwjbElqrzKdkN1p?Ls2nCTVi zv((yHd0F10dUS(kgW=`F#_WQcmk8_K6Ya`nZ4*aoh_TtH33}Pa{~^*F%9kQqzOzml zd{omkGyGF7Gga^-)Xox1Geum~ziE&m+Ed)N&fHrMaAG5jBOp!&#XVr^tZ;E-<w#V1 z&)MU#?#3Zj8rUak&-WAY2Gk1VuFx6z5%U7vXeQr<YJlf1Xb_B?;pF>RvcBJZBUFVq z6PW2TIdmLWQYZf^vM&<GhMTkT(YLGOn=ia!p9&~-{rfXus$g3w-Z4G?)G2jMzxG%U zs#0`e3O#42Zm=B&9)E)D_0Wi*!1b}-oA5*tBhxA2jrhl|DkEaqK}n;MUz%Js-~XIR z?{yYaDc!Q2-P#l{VFB5|G{KxwklFe{moX)ka>$OUFXwsCf~2UcV|oO<-*)#um*sQu zdJrgjM2a$KIc;4w{q{@Vw=Cz<5C(JwzMw((m{eazBPP_PGD&0Mr{J2enM0-RdWn0Q zl<dK7LP*dnk*3zrpUSsTJtF==H(R$*yY+=y8GK{xEFu$2(&Hk-`E1E_kp1!umZDjZ zv>+PuL}MR=6k1t0cn7KN3l&WCQfanMU6Klt(2k;Hmk9A4w)V(!iB00eM*qcF-&0(C z=*6481dQ9!2^!DY)52b?<hKkJkp4QKg!_j&I%)|Ha!uM63dK4NXRd#&dq7T`^3ng+ zcK?KmM&#IOuE$Iy8)x1yi6<ya#@NX+b~M;K=3U@P({<4jy=nik&p!S4St-^~uC@23 zQIf)Mk3UGhRcrTA_+!?w&SS##K62PyXwv_DGmYMHlmDV3`lL_4g|r<FKEW0(JxR`O zUZtTH`OJa2`Qk%#5Bg)8e3pk{D&52C>*j~fb`$$!EcRXt8|U|P5z`uXXU+5;TAW{D zFn7Za(<F<j#8fu4%Q11s5zOzDAz3XZM*wvD0;lHq_K!~<!nHT&*2l&bg9-(jIXu1W zR5p}IHN|A7s##tVHkc5SMQ79_z7-RpkSg{#sOFUM@ByIR1W?Y|RwX}2E*l_MIGSB< zsaqgEcI-x6(O6f19-LqoBXjvdT{HKQ%hcK?nF{1Xr`!&W&=4yxYf4PEsn`#FbHYB# zU9+U>?pFitY|0N&yT?pbDx-^&?>t7QB{!8^7+%iN<$07Vi*a<t2TuR+=~WJ;b?G`j zI+)3KS+GUMV`#{Z_A%2Z{m63Is)85ayTBe~t+ZH9*RGH_{_8QK*tF}Zv3XWtH2dP$ z3hH`o;{9M3y~Gv6OXHsB!C`q$A0+Scp3i^(d6eLYmNpO}uK4Vvx$dM%va#i^>$``A zQmG%v%w@4R0&p=d6tc~RC<u_VVQ2Uq3_f}KZej9yD-oL{9Wv}RzOv#`X;A<gc}|o0 z;sxZfL*y{Az7#EC4XFwNLAF(5^4F?mZ!EBF*#;?&Uv$6xAkMQocM%zVbxywP+{WRn zd(igH;7+i1x4o#Td%x1y__pbRqZ8J@SKXP++v->{E$vyxlGV;VM?Sb;5{}aG)RAbY znECUV3Ng^?8NCQU?i;7e;%Puj3C24JiQB~Ig0Q<HDiFso4mFpg(jKM!z!wc!s8y*S zAa+9$-8l?n$W+V6LYhVlU~Xa-pZ?utN>SLsnM^+YTZNLnmAe&Vk+ncnlIiPWwH&3p z=?f>a10EC+P|{@PJwW31?{Y~x7RLKIX+XEH#c6a2u^CfOYek~l)Hy=g?D}Tz5ZWCv zp0V|iFYW|+ES~x?Rjl@Rk;zX^Eax9Trt989_UoDOmAA~)@8qkCS4u!*G+3wF1kYj5 z>b3LsXz6G7zXjbRj8FgM5v6#h2I(-K3p`I`@K!SM8%YJ^(W^NJL2b9_i5K;<{%}sd z{JS(8m3QBIJYw8{oBfO<0te{#715IQ{duh94mnxg_v#As{aWvow%q|59-U^%s+;;0 zuwWW;<3|y2j0pDuV3+I;I)Xfb-ff@DiI=-Mm3%!EQ~uNIZP*vUcoW2AchweH6M!pb z((Tnqr#_j!`BMJx^)rc}2ZSC#9p3Z?9E@#Ym2c)j2W%@()eur$-;cd~sBIGZkm?oy zM8Ckq`%eN5*Y)#p%mRL3|Hn6QHNLCVPq9;I54Nk#{_ipW8OcQMeDg!F)v}!ifk%y` z-)CQrJxch$+B?svrj~c%qX-=307sGD^hl8|N+?0VhJXl23pMm2HM9^QfCT{o31TSH zk)DJiHIPt6z(`X`LJ0w+lhBK_pf`7|_x=7~?|VPq?|ar>GxN+|vuB>?_v6uPJ_@K? zZG)#b<wP+it-QqqOFEb-7PV69eMWxqC6BwIH_+a~OHz+z%$A<SP7p}&3m=B^{L|@` zkc3t~)oZdOlOn=#uPO>iND<?W6*22RAZ(km%yiZCD88E1*}f?F$K7xmAF(u1U?=gg zy2FN&p(8fT<@1vQls%gMs82AKRpXf+cL05;yUz?;SDWI#qP&tr4anex`}#QMcW`Rm zdY3Rm$_*@-DiNX57#rUU{D=^lsR|R{x9wYcYDyBBtKUN4zS!|d8a;U3AuF63|74rJ z1Y%BplC8&EY&6|8{nmIu>gdeT<Tjhn2-mW1>eAHrAf-98HnO;+<6%kJIRLfj-n{0U z4~BxFKT`$g%?hw0twXL#D!95`^AMe>D^X2e7SJtmC(|ZMH1BxLi>z@^XX}Gn33yAv zyA{zqpo68)o3<i1_lLR;m1T9kz`n+mb1Up&7fg=n&wFZEpX_X-h=`q)e%amWVb9wu zMDAa^k1<M281fzoaP`5A1sLq3l=vBk#uer9-r#C)-AD*vn%17Ctas^<(<u8^d#5w) z$+Cxa7cE}z|3Y-9c!*JqD!#vTj=qu``kic@g_wFy@Hhg!Xf&EkFg73MCWp4r7{Qk& z!#D4V{akz6k`CPQubi|A=_fug(sz*>d#@$HW1<AcC+fCt??=6@7qX}s8VGP|zsUHD zsN=ZEXiO1X<zP?j;D|9^3gtoh6!n!Oy?63Yqc+U_kPnJsK}^&U-qn}$Q$K2|GIZZz zEDQ}ly#tl}Oalibyr^t_t@NzcYJw?fdyC_s_c?Ivn-L`gEPbWKQ;VpQqMv;p_L6S~ z!yfHyw63t9CK?+NWje(5cu%irq6mOr(a5NV%}Q+=L_2y5zt%~#DP6ywWK2uC1w~41 zQe|3>UH<V2b`GXObMI2Av(Gn*Q~k{g;cLVflMbnsPxRday@pd4+%+e4@{q2STx~V5 zD_FQeB>MAluXk+ykXB-yN@&jABc#Ym%>{5^NzND(g4x)yjV%w$iyo7a!Bz2ca$4&< z@3D%K^W>V2DQPBC2J1}~jXXbERTsufZ>g3vtAW75YMA7LerY+zB}_o}6>lCZ1Vp3d z`;DlvKJs&wUETOezK<&F)ysaoFLqerlDh8k^f_V19mikq5p{_ez@~3K!i|Z(cK~M6 zn}xuUFXL<-IO4+EuD}FVEv8cdS(Dw1t`uXcM}p+CliwwyoQ|6EdjEb#nBYu~*$>3O zi{Qg`?wq9pdZ|#3i@tp=T+I3kdE;g`m(X&FrBW2N)Zy4nF295f(+E;7-P%ML0G@1^ z_y<P3K&?)#&F%Hii`j7W3C}|Gi&K?&CDrOw3L|1vZ#>cvZyHZwcnMW@9Er3mlMe#@ zwA%yx?$V`q6)@Znsj=o*2lA`5zGj#>)+fCQES}njdA;u+(9JbVD;#iCFKPEivq#Wl zNe2a{-TkbTc(Ww`&+>-{u@Sq9s<r<-E$lJgbX4Y<K3So34^wTT=l$Cn(u51|BlA+o zZ%S76ANx4*T<lq`d|5Z?n)&MI!=c^poQ0`l#|A@w-|v`>KJ?Fp=|HbX@Jg{A)TFGi zx0o7BBr@;Xi$%`pwur71*9PdVruTz;s&jVKtUa{?LXl>(xbc>|@$|P_#>?0R(N3u3 z^Ks9A8c~&m&afV#Fa4&4<F{Xa%D!mnW8`+ET4w+7`s97m?k!tora|<tm5ClZtW)jo zvjaCI0~2NRttzawr0j^k1L>T>>+St{_gk6LdumB`ETjzBWtE)GcbaQ)J_$SUzdPpt zJ>uw;)jlB8U#E$$;r7JGjMIhJd;O4~rCme9VXg?Wj@{lKqYC;xEPI}dgbq2mjS`gI z)+Y5@KNlx`55mdQWfP*zt>6>k)EiC(^$nu~A<sg!HzX#_s&h|&mwuY0FNYd6*G!*3 z8TF-l77l8)8sx6)CYD&IzjW#gN<L7J4r6$S{eK91o~yHUcFyw6JZg;k37avC+_I@| zOT?P=TE=wzkvrQ3rvGk2@i3WHy$LQS`S7*)L|ujW&_6ftN0J{dZ_AcFd*2)A@Cm7F zV#8%BOLYy8fR@=fi5flArROze<ZM)DR95W&?1>)sfSNp>Ki<0RVaGMkJG_G77i4TG zuwT{wnIr6dw3z|KV?YNGpKvIu<OdT4ITwrlF~`A_Z7+K<McVv5<l%{i5h$(`wCAAE zal+U^4T)BE?LL8t53HT?*1UCj({o5HnVeH&H^pc4RTzR5_`7buS;fPcwSu94nqtDI zA4+844w-c8;ZdfRhsSa<GU_pH>0hXrMAz-oxPpdFEHi5^Km-#2ZzCI(A(YYC^wcmN z-E|aBurE6NC6RFSg7~7s;rG0YXy4J+<umrn9tFo$(OU?l?=5l1TC<(-5HD@*m;|P% z>|-<$4L6Uz{gk9#nHd@r-xKxzUqgG9u){pDzN3?BAUb2|`ux@QmwLFbdc!!icf=Ij zZWSeApONlm68ZJ$-EN3MOG>vd;WG-d45-45?R5^$D0eS2?**%H8&{1y0XpmBm28;I zEu-O{=&~aHk@n{AOs&?Jl_wXpQX47tyKKp{!_ub0g$vn%2QR(0@+eDucAVSW{t5-F zs1q0SgG#G|3oeQJ>R0>8b*xw04{s}ozr`K0mMZ=6%<2b)brhey?dXBoCe=u?Fsefb z6tnK;o)v3S7)zMrx~jYrDY1K+DPoo|6_`U_u+do~xtKG2>JE#%+uQ7H^V&ylu5;Ig zSB&+1@%#~~#I>ZfsSF7TL(ujenvo)!^DhQezfU4#df-DRgrUqPpC`ZN(nLdduRBTX zB!m}ry4OaS?)9eeZgn|jTJche9*SwW8d3lHxlFMXi+$ejnL9w=iG`eBj`SMjseN*l zrLy%+u?rFo8Vg+OxwMK4<Aq<t1G;kzEg`|c>yEmI_m)^SiM6}i#;&9cpDc?eY)Fp! z`1hnT?e`;v8QKDifq&Tr+83%_@mP{}*LfY4!&8#A`D3Y|m5q`{H1ilVq<jUr>tK)U zuItSTf4BuUQ7rVQ#)=LFe%rk^6SN)5%Q6Ka@nvnVNc>r>ozt7n?DzYvX0Qg)Y8W-} z>#m<x)O8k^awbe_=9=Q7vO8@S_XXCF!{qau=(Tb`{~LJkA)~?Gi%t?056z=^j|j7k zqu3hI?E|bH_w^2S!gRc(hYcYo!h+FDw2@$VFga!@dEaWlxTd*=voc^*vk<sWZzc}D z)ZM}&iC`s@P!3S@<Bn!N$RjoNI?=cM2F4Q?TV2t_MgA(iU^Fp^`r{am4e&!3m@L?p zB8D$n5&X?GfL|;1Z9A%$mA|zLR?m`_@;T%i23ttcRw#LRw*KVUr_vhnEI*48MX<nP zPSMeB^|>Mb`EBvioqfjRrf}SOmW?Kw2F68RU^kO5P)d_4N-Bd=tZ*OJz%HP%>rxDd zD0S}mh(5)WlzB~K2QwJwL2TSo2ov3>*pjK6p;@);Cw+$bs59&S<&+?P#eBd++piWn z)Fh&&c9t08{`osKNwewrtPAQs-vX~(eDC43`(*Ly-JtIea@`@9B^swPYBpYGtJ-V6 zN#rq_L^?=TKh!Rs;0sYpX(j!_U}=>}O}8BgC4G00(cqr7G*i+8k+cvXA@RKptuM0F zq0PW)2Io2NFyNQa_VJpdcf8?*VCxF=Alt65Em9lnhB{WvSIGqGG}V|NJ^eZ%%%Q0( z=I`pKex|D(M3tkQ^L?hGk6V$($?h~|WQM}Cx0`Q#Xq77b+g`fuL93~j8bCTHyOtLH zCTbwv=p-|M!KT}7QI&L~e%p;Z6gRM37h_Qt&}JOGjPT%ee<?lbHf<je_SMc-;u7HG zX+q=EU>K#qVj!t>NP%_|+-L!X!&rwVX$Z@d%*!&@0lZ!vl&=Ywk2<F7^{$E78H^$i zU;~ee)P|Gh)8S$Mgp1i0!zWkse=b+yRK}|F%Kp_VdmHjj$o>Qfi3yF-A-^XKdyAH` zNJ4vTZf$%agTJYl;2l@~qRaV(EJ{c1nfK#_NUug@da(nj$JqTTZXB;&Zq5bEifMF7 z$<O0#pYbnA>W9H+1BcOWW<s>yw(IOeiZjjfoIkQT?ID%{>VG$OG`o8>zc?H)NQGN{ zA$4W_J7OF<z(zoLU;#5934k&~kp*U{rL;ArsJM@^KIoUds3aR#Mv0+#?gla0q1D?O z+-u;QaY_6tZzA<`KczDEi#I~&aPOq^N%^9ENt}E>AAInZ7_+6%L6mbb#xzjL&>o2D zzXi}HSqL<N_7tSFXX?i5^N~Q!EwfT3lJDJ|eM6Jf^aMm`sD97TfWL^33#z2a$O@U; z#hpB$iVM-&o%m<FbFm)gDMuIerkLCnm$y(X@IU(;UIh$mR~)>1zfhn_g+GtT#$DCg z9PqoqE;|gfrT8z`PZd?;X-_4p%kfZ^l0q^cjm>|?5`}?T&E?uX(xR<zC>_T!)g|*^ z{M&`mC$dR#6dS002Oe}^!!B3+EE4a6+SmD7XS&2b^h`fUs`V5V*DMSM0Qqz>a5bJ> za3`w!MtvHlLqsOGF0lVenH<F$TdK3a4W*X`{0-Q_-H>t|=S>v91o9kvZrpE<UA$>P zt#yE$mmU33V2^}1(bnGJv>z|Q$3d9kq~$_Emb?a<4G;)Zsf`yd(8$Dn53qEMbys<o z2_^D*T&Q=>c!F)o!hNT<G!B`+tBL&6d-x49YzY3AYxk<eO+CEQmNV6mdavQiq)#A0 zI^qOVM|zJlJSGdc0m#a#p+#YJ58R^uXjrF=Fg5Ms#M{6iQ}q4S@ZC@}e+fBhfGNCG z(nL|>bHaK8usAa>QXGi3Alpm!n3#$b^-=Y{ux?ujp_eT;tE+>+KBXpAK>7bO2OaN$ zyNYGb9Xl2%dn=Ufmwm^ZLj3pp(dF2rFmk$Yv!5IwU|ljv7AN~m17!iIgP@7VDgV45 zuMEs4_Wq#WDN_<%B=p9fV>1tI9?!n)dh`94eP!W>g4Kp~V$%0IvU2#U*{Sz6e@MB8 z0eVQMfmS~2knSsyS!1rwvm4rnzNRQ&!*F5NtM|?>QWM9DU*%fQr&+u#<n^k;UAL>> zA2OG3XlVU3!LD%NX=L|vUI@kcV{c3*&i8RuA1~gFraxl(f5WNceeo?XjhrrXCZ6(_ zWG&XRW2(GYFu_u36kZxorqaF21S)-%u%bQqw3eH|oaN!SDyaGEjv34nR=z^mZ<$4{ zYtU(QuIvp>48UGB*jHb=*CvIw=Jdubkr&at_xYk{hoQAw`&H{$kQ)HaQQ;%)wC!i} zGBq={Jf!mCT#<|%X-Ed_2F-moG+$@6TvihT0;gl#e6<Q8zS+$EP^cR<kYZJM?wMU< zw>vCg2p!_pSVtpU>N4|WdvmWsXKg{?4u)$6j@JoneW}gdm$V20Nf{>xpR+?XP$Crx z(v<$vVa@0k<6n{}EoR;>eE9~`d#<=J057X)qHzluRu3gXHJJ6El^aR;I)&R3?z#=H z&VQBWCjPc3ImgnH*07(E{XHnFtj=cswKS_N*qu1vHe@jOy8uUDfB<Crhcbj@Y}!ow zYItLmQo506g?*dS`>xUEG~B|MwA$)nx^&oLrEajud~5YAhLz`tW{1Lq-`<x#k{>Ho za<ar+RW;WqboE{?y;EXHU4XQ;&7tE*g`KF?d<&Ila<e`t+OdY+&cu-pi)u|G5d~P9 z=lKz!6O|PNM!r>##~DsC7eN%|2#2)$q3UT-eWW%ukD=2VD$;PRpMxqmqM#`Xc1T9) z8T(=L7**q*Uso|3F;3v$9Sxy4j%a8DFu>@mn@{`OrZ4@&iTzQ~OP@N&tT`~;x1CAe zo#*x?xRO5{HKgIX+IfB6yl}mU4Q+}<(P>wnS~(!1ps}|EK7Uv&tJ$-9Kcx<+2>01Q zce9-p#tbW@hk(Q&{(Bc~oVcp3V8Rkon40rOPe6iD{L^BI-q*-IpNy}lKC3}%Y_Kuj z0);_cTaJPvNf1w2(`>7GjJ<91oFeL_`$gSuYk^YT*V?VXkOx)bJ0z}>IFkOYp8|5w zQqzIR01i&0H$SKUsuDNei-3aK&bXZ4dTrG&Foj-f7|J{wG+t;x^%GisSK6g5Cr#+E zLd`3W!Br}_Q!W;nXVF%Y-j&`wQqhQym5T5Vc@6NsFkG{?7xU4%(2#mXM8}tu;sbc= za_eaf#TJ7IlN7VoGQQm04Lr18O<JUz_*L0JPFShUDWEZ*D&rq+D7wO}O(MD>$B}^J zUkY;?0jT6wDK^~#NFC}h(b|sk$c=j020`lz^M2|nYVX=IObeBqvt>Q9UT4+6w7&A| zi9eC)@&nzrfzGO6OzKC#c0JWo3@WO2I8|@(1-p2m#&+!_i|}<wDDlln^(Y?_sP3S@ z`uNVX7P7=ad=o@Ngk%KnKULKzdr@<sM|r-;CyX)a*O;$yz9zBan)zFdIvX2XJ{US* zJr!+t{GzHaEx}?VbQ1(~yK&9$s(tyUl+gtCd#tFn@oeI5B5^3khk4?R-0uf649|zb zhVdCwSAKB<r|#O9Pl>n9SgUUb&`B4elECRWOGYAbTZ8jb?N4!0_$sI96fG>kGzyxA zFMbolBinL0NLv?ln{qCg-W3f33#kQ#aVZ!A#d!Rx@|kJnH?t52_J+qa)m6t6Sn6Kc z5=qQKnfasSlD9vXTK|d}@7^<C)Hx@Mvv5B=c5b{W$y93sQH#?dx9e$*9_{a{x6#)) zyFNVB<)C>2yxTr#^fZN7$^L3v>|&?mV`jy#fM9a^e(7IaUVp3HTJr_i>4_PE(^by) zg@E!&p~Pbc!p6QYI&PtWJ0B-vWLR+$4J}jEx8^utsq!elugy&DnDJDKmT`q^*laq2 zsl)4uR$kH0{yeTF=BIu~jIE>exd~}@o3L4Nj1uDAuX1(GljSD-GkIv8qhZj;?z<09 zKLunwrJhFQ_BgjT@V}@o`TI+mHozP!2su@6?CrDece@w}x91QFWR}kbY=gkd?0Q0= z*poZS5)Pdwlbg?x9syJn0$RTC5i+#QE!p4%E5dl9au>hyXsl8XpatA8by6#FVRd5X zOOE4y6--7azccS)qmZe-kN)!iQMy4kqWXNhvZRSY7`L<vskn<{aU=JC-1_!NjAV*d zLy06i2U`!XG5b}E81)5}%-ny+H!fSX?A6?D=Fa;T7+7dk(dyKV$Hx908L9w{nc9!5 zlIh5z$U&je9UM5%LFQa#i1<oQJ~u#J=q5kA-+YJn#UiI;8$gom?+7l4fQx1Zepqy= zWus!&HFLC-xpNw&9JS$s={u5-3X>=Kn_jtC!(_uZDVb>JO>X9uO7pQ+WXfO~(NNyW z?jy6nO={<HhhY7QiM0r~vBc$wxo;H_?}v|Q?i{`m@vT?)K*DmF7N%aa4`>Sjpj-7z zn*t!bVmo;8Z*o&p6YU;sTqg1?K^#chS0P+sv#2obYM(hL{BicoaC@_o(x&=33C9PW zj}I6wB0i3X5j(#|<g```q#U|O_!kE+>=!gDo9f;+7a2gB%J>$@58Z4^fQGHMFc70& zy*4`LoErlP*gS`BFtK}m4z;KqsX4bJ8|Ox{(=l%tcqJm(rc-;6S+36k|8q5)wNr-> zx?R(s$}m*pO~AVpy>RNMk*1w?-V=KzZXS+DonU+eV@5hk16ocaPL6D~SZCkpv=@vX zq|sYMV!p)bK%V)t_5IYI>BRi>YDf77n)$KBFonC5DaT(j`E{4{&UD(*aIok<H8GPn zIz_)2x6F6dzQc{-i4qZYLCZ6F`;iP9R`O3#&#~><z1?X7V7^R)<+<*ei}(H~371_w zUP8PvTd@+1w#~x+GVZ2V5{%hp>Ypwjw*OZo-GADSagV$QH`Lus*T^4!q|v~_Sbe?w zv%|iVUb}M;-3i{K97Kl0P6<_1b}zB#x*}Q8Gmwq%IK5}!#^M>r%R}(OwPR!~9iA7) z^4mQ$`sbVMTYkN0`iV+@6Ai>##U$^+RU*~qrw&F50`C1o6aUg6!PmkJme;yr9~Q9{ z!qLgQ++Bskl}37v0mDY%>ovHO$(pPi2o{!2)}1~NFokI|r<{~>D=9NEma~Z58dz^L zeQC&s2zj$xE^<6{qt|7Qhx&v+7p9uF+D1>Xx2G$rK=9P}pCYYus2Fn`U)F8z(=QD> zY1?Cq8htlP3^}_XLp1{P0dj>WIx{;0r{EdoM;~29jMf0Rpo{Pn(sYKcZ2F9PGdUMn zNp~oxBL=K<Cghb=G5{kuJb~-LtXO3cPp5Jzv9ZK><slJ7Mb5K{ltiMx6bSBNLFNL} zjm3!N>4}%K%Mf3~6+QAlQKcn5BXsq1u=u_*mM(}QbgV`ZU-rj#>Q`DcwAWO>1BX}= zaG@;x>AijlP9R6xm(u_qtV=u=vL5<U)9wv>YJWQA%mtEVBeQguuRQ|K^q^U1VbVZU zN$EQVwv^Kvg_ko|4^j#U*m6ww261v5t=K`TtsF}g(?h!kxQrhq8huD^nW@_`YgINH zWfUh^add4eLamSMu8sO(2?wXdNBK5T_ag<#?hW&t_-3-bZw8VPW<t9+BwfzF#;0ts z``<ijhHWY0UtT>nC7XXts&LYsh|(IEZ@VmJ<Kb6j^D)B_bz=!h%tn%cdqzC-1%+j2 z@GB?OfU&|fU^5LZ*B9Z%{mh<j%rrI2L!}hV-aQU>QHO&(hxrxEVI^T#n8e4jM`Cey z$*-txB&aa_HQv!Rx1HI*i2CS<dsKa*fmpKWzaLo`OXe^p<oHE65j{X_77Ftu5$qu5 zv|<A>nGrsCqjYW;b8t*wmHq=uX#A%1=fDOk4Ta^ItVKg1>qUra+~8oQ*Od1;P#Jdz zkmdI|gZ__3V|Uv7(QX4W8@8ewIe)Eby#;QZfVfx7w@Fvea&{G-S=}g1!6S5rn0w9r zAV+Gvs)`vBA_K~=-p?$nkylAf)-f|3`xi2d#w$oDxsc9m!FjzaaeOdOWB2JwqCc}r z$LP33Cc{3^#ue?`ZiwP_qOz6!b6`on6!NPB_ru;bW%?2eV`J?&Ml@2*UoB*nB4>`J zt6R8{JR(Grq_=`EM^mRJ?I08A0VxTidxKyldQIrx%w7K-2^*H*e-qD)X%U1kqVNkF zze#A$A9rKAqgTD-M3^hVh?(ZXp<s|wi{M`7zn06gg>R@ITd6W2SkiFRIwJI@!zj4m z+r1F)1Lh#w(H;@><!)q<)Sd5Z{0(1VcI1SY=Q#Lt%j4h4qp;4e2hD=f8g_L5`lXwF zr$_altT|W?t8LTQmS6wHB$r~BUS7LtPdvvmtIotV@4d=lVPOofEr<!Ruxx4NLbX!v uurh;x5dQiK>wo%f`rqgN;}Kx6GyWiXrR^)OOV9pyBSSrt2Q~McU;Y>7nleNH diff --git a/docs/img/13b2b9b44dbf46de0243edc068ecab42.png b/docs/img/13b2b9b44dbf46de0243edc068ecab42.png deleted file mode 100644 index 825cac669030588a0138f4f0bf7caea63d1dfc4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 394 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ipSN8&+|K|)b5eEkcCnqNt z7Z*1-HxCaFFE1}2A0IzIe<D-zJ_ZIxQBN1gkcwMdr`qN-849?3=PA$ptmsnBDwONQ zb*tpM5^Lu)B_UIR8~f*PzCIx<ZB|Nmw#}!@(d%o|>SHG7{?oIw4|wn(zxMm1^c{yE z)D?c$=2^4%3ftP{5#Qxlmu;+TX)$BcmZ<1pm?EQF99uB|nQDXTYSk%wBArfVb*ip@ zx|-8lM{=5rk&eHbj=XO~(#Z{f%o06S4j1L$ndB+vtrn@%nG#_)wJJ@xJM`B51M_@! z=5;hHT<KIj8^!IkD}RGgA}2@ey9+)3rC*xlj!*J0wQ>A1^){zdP>Y+OTGIqojYJ!L zKZ*0*!d9*sC$!_*-<@J+-Yd5AV$%eX#8n(`cRp`is&GSr<C`9br{JvKU$42EYH$9( a!oOyF(>=w{foZ_NW$<+Mb6Mw<&;$VZ3z{MT diff --git a/docs/img/13c910771ce7fad76e82ba7b8bdd440b.png b/docs/img/13c910771ce7fad76e82ba7b8bdd440b.png deleted file mode 100644 index 11e2c98a84eae322af0f8d4894099f5e1cba3030..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13629 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 Q4@IM)s-se<{PM&909}1|;s5{u diff --git a/docs/img/14110c067c5c98646bcad82dbd3be10b.png b/docs/img/14110c067c5c98646bcad82dbd3be10b.png deleted file mode 100644 index b3be73a5c864aee43bc02c775ab06a1bf3e1ca24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8859 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 H_pko~t_^Es diff --git a/docs/img/1427a32ce32914c8100f7563817e3d64.png b/docs/img/1427a32ce32914c8100f7563817e3d64.png deleted file mode 100644 index edadad37cba80ff392e8a8fff946ed09fbb958d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5320 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 diff --git a/docs/img/149fa515778bea7ce86903f0c8d9b31f.png b/docs/img/149fa515778bea7ce86903f0c8d9b31f.png deleted file mode 100644 index 02612e925812ed64abd2caf364cf4cc65446d326..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6241 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 LNkvXXu0mjfC{@4h diff --git a/docs/img/14b1dcd13ed2d776e5cab726504e2df9.png b/docs/img/14b1dcd13ed2d776e5cab726504e2df9.png deleted file mode 100644 index f9b1685bb48a623c105bca7885aeac338041b7e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5119 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 AasU7T diff --git a/docs/img/15b455cffa86c3a9234ad8c30082a4df.png b/docs/img/15b455cffa86c3a9234ad8c30082a4df.png deleted file mode 100644 index d81e29bb512d7a941545236f9f9c4f211b64bf9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34197 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%0Dv&bN8wu&0HkI+~mteu~(JZj) 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 diff --git a/docs/img/161780e2fab1ff78247b22985553ba96.png b/docs/img/161780e2fab1ff78247b22985553ba96.png deleted file mode 100644 index 3337df4bf2a4b0864a18405d0bdfe909211c52be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74499 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�KhCCxZVeeT@Rr?GbgY1R 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 LO!u>nedzxHei-?l diff --git a/docs/img/169af1eb67d287048e2bd4de1d3a178a.png b/docs/img/169af1eb67d287048e2bd4de1d3a178a.png deleted file mode 100644 index 60ae66c23391666d2d703b479df229e971a969fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18061 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 diff --git a/docs/img/16db6a809ddf03cf101fdbec905d41a2.png b/docs/img/16db6a809ddf03cf101fdbec905d41a2.png deleted file mode 100644 index cb58d4a31b41b0191fa874c6752f3e3af78df94b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 178086 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Ξ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ŒK>i2x3?bkm+a3B{+3 zEU!ycp6Q*cp9OT@4O(&?tEkPnP)g6`ix1oz0bNbrgUauGYkcu{8*S(vDO-mIe|&Ty zX7=5n&mGL^|E*vg8Um+vR|g_VAi$uC#q6VD`zmBAxlpH<+9I=<1ue+)gdyy0U7p_1 zo2>@jR48A<)M|#>%v8i>kd~SukMmdV-oqwNI>fvV(c?#sT6l2=l%ov`VNKCzf@fWv z{NTyoYyw@QP9ckunqG4f5ucRf?mtD2O<h3lD}%!uOc;-kF45(3kKr8Jr=9)_r;<~I z@KC6{b@vOjuHi?EE>{F;No96Yg^8u8zfkh4m-J_M3CJePzuHadDnmNzW!8xt7wXF{ zt)`do78_SBPFwi3)sb|&yYCY1JEp+<b__(gJI?JG@SZX~*g1(Me2&EWB%Ym7_#8jF z&APu>oI?Mce?raMq}44z2k!ga-%|dd6FrmHg-cKT@6C|!&CDvoz2X{^+7+~#`NJcP zjYqbe7fw)s3R^;2qK7ne`3faw`ogrfJ+yhX1bC(+3?_P~a`hZ%8F82#@UXrx(t2et zna$F3`l+<KtKP+~Bqz+nA;{(q<g-6Y&-Kh>K?xh!<XJ`k`F07?gs{$)93VNR$h1Q3 z4cj2@%&L&-t?hXm6DGcyW7}tZ`S0^g?UJrW@RfAUH-PqfPOL=~i^4wF)s+Ry?v0DX zBV-;~^?p5|V5^E*4S<fKwa~?n`Cvn3#NRZ5Y<XK_F|67Vc|IIk9LCIMTtj&f6>d+y zG0@eE!X7SWcJ0!iWgfGs^j90tfXL9(ej#ytd!afpvzjAa%P5nu!|N)l+&?w<*ka(* zrC}g`$pIzYG?-WUzrqB?1#CgI#-j2<;#{tRy6Md+yBSum<<&@MNsRM*9{aqKP>Gea zs;Eun<TCRUL3K~?Is-+)>orhTc0Xh_9-E$AD@34C3t_CcURPRAYqK%Rl;jQfYEj9d zj~e@_!15@T=CYV5A~9b<(lqaDPYMm@WjpK>{*1&|^KOl%rxKkr??&InQ#aetZIS;z zL1u$l@h0NvY`F;|O0?6O?v%2kk6f`wilcy{T4_@ylgrHv4ZRXzyBKD^Wt>d9qZqXb zHuaS^HEUTLat5c9`d)91+P!|jF9Yj$^mQpA{Jh>}S0f(G*hIAXE+L%d*lPQYIjSq= zQhp!X=p9D;InGL?^%=9W4k2vC@r1FrGlCNDKz{LNkj45ll{iQ8f80nEzK+LUCmqp# z0=UJwyY;SD!i{$N;pvk+^&<>w&>;p&y|E%JP6@)m`D*6|B@e6HAvp8TO1q@pC}biV z+PCf<*sG17o5s(kepRjKZoYD*<VfChUd%q973e(Aanx9UP(&mu<Tl(8smKa$oZb~u zv|wY+2*@FPiL*j|z5-m~oYAsF>^%Ga!M5OXCvoO@^CjRBO#klGI(`kln;Z_2&S9MT zOD@Po)Kf*Q)|zBchOAk}T;aP3P)E(5wOrW?agt-HZi5N5eoNgrl%mk3(q&kTAL%md zZmGtc%1wG0NvR<;dpo#VNusfx{~6x{DgzLiJY|~>?BuaYJ9_t7{tcdAu*d8d{N_aV zoY$G3Xj3hE{AC!J^yWtUA0(TfZ+LX{yqa}lZOo56uDx1O$4R=wguI<o%C<2-Kpy@S z)+N!QM+M;1{iTk#*f;C3ISiH#b>7e`PO~lEik{}Ai@T+(Itw`DJ1TNu=b<kggtEKE z;}`j6M84=Wee}YJu>E^@TD=&WnS=Z6z)W>F{`eqpir}&z^QEvIs>Iv|SVsFkQwYL# zDUXpUMHf!ssR<sx3m1LrWcGFEx$n@d3CtdoVSv@p;+0E1=r(v<>L4v+duKfAmEPe$ z&C09$E88%brOUA1ZB(^9SA{9DsWmI9&DlLzyWwCfZ1>HNI?f}}-8GAC>c$-7EyLQ| zNRNI8^!xp}6ddT<eqHzN&VN|!g_DsVxEtr?m7jgDq&^LTc<Rt2_C1jQ+HP7o{b8^n zO-|V(blTU~?g=+RZ~Ue6{c(!38PTZ)$JKc}Fpp8^dnlYG6a6@*{Jotn?^hc!F6>w_ zfb%tvhlrk3&~5^;kV$$Sdf(<bp;x68p;4pXr0pK)gO@_!YV>-|Z39~u%nqu1{|#~# z9TuL51<+mTKhh8ROjd<`4jt=u->>+VK)pXdV<Gd5(tn=wqwFp<aAvcH5~IuTir(~L zBR5j5oCiV4GA{$-5hRIiPL0o3ssw&nbsH=9F%*_xJv~<akvwQ?s1QS=&fO3F2TSKW zv{34Uf4K-V3Gn{hNcsi!<5psR#<#Umv4jO|?%)C#@F8m+Fv;@sON|;>pPzC1DxLHm zmW6h?xem*?26*H71JJ{2QX4LD7ah?LC2U=_hPlI|({Y<i1;$R=Ho(0&s-uu2R~B~9 zWsYwx98Ac|Yd^t@g3v27Y6@qql~zv7JH{oR1|maDAGhzUCpHYegb2!J;fyXu%J0Vm z>5Li(D0Ko^%HocMgx9Y>IrP6f=7<pB+(<VkFEh%&?@hqvUVz4Xf48QdKIjmPwBY~S zU%2A1nGhG;vPuKT+sIff0KR7&u-gniQRO+)3aNA8qqaIjJ@Ln00i-lEwPG>=aWT8` zCB5<u?Obyr0;OL4!Rlx|#FpldgY0^bh;U(NV4FG|?;B<b24~$SOc(Z-oW`e%We9pV zE4uSm?aCHhh*ne9`#ATVvjYGIVAUEI2qsx@M(!@m9)T-J{J|tizSG#te!=aq**t?> z-g09Fuqw)7x?dwg+;g@o)p|4hc~nS7P<Ab<#Ix}-vsum&xV37eaqn#w=8FwXu(=A{ zYf;=PfEtCIIhT5@7%eFfT%9Ulnvu|7e#v3pzvn$qIVB~#q7zSk^;a78MN9wK6-;~v zg&Y1VXT#jwl4|0USNH*ZxE^%%vGH~><%Js>moZS}g9}Uzaiso(?%d;Uwx1H0J-&{v zH-}Sq;gn?IjdZAolr`AnW$XBtd=qA^zbcgP>{?yMkB&uE*%gyx(1vfy{gK~&>0N@7 zD@(?is)<_Ke;hWMH{||u9HC&`WdCM`BXa*=ZSw*L=#JyhQJ#_|8sS-tI^Nb%yxRZL zQp>~jI=iFnXzMxK{C(_AwAm|laf<JgWyhvgrT}&x%{$VepJ$_7-ur!`c}AGGi8LM4 zmlPlr>eeo@&QECKFZXBu55x<V)1eVBr!lRpk=KbpK!?=iQgB{_={)_EbeDqv_m^VF z2Dx?1xM+Hu|9E8m?qEf--hI*nSe`KnL6IQB>+?CGlW=sF7N;%b_LWH#nQBe`?tD`U z+=0&sjVRwMyEf4lg9U0mu<7wxs$TsniXAdx)Fpk!2n!)tbvx(PIl+=9%u-Px(a1ld z4V2&d9oV4mMBN3J;Ib@f>4g$d@*!Q0z_x<u4W9B$*<eTk0O-<`lM1t`WZOUxkh=FO z1|ocgV_%}+AmUL;srztsmlAx5jY5hG_z1@|%<bUh;O24EnV*|*R<vqFSii!Ur(I!0 z!qY;-zFQhkVFXRiG9-h!5dfYR#m>`Fgw9~+_wF_>wa}J=;7o^t0r||jp^-mMV4;X( zL6x7G;j~Rpj|_cOn39Iqb|~gNBCZt4-e`VVfNNK}v9iEhH1B8iep)bq?rTJG|H_A{ zo=AotH!uqoL}$Jwt(laA?Entho-Yf%w(X}MZ@5zjryBDcM`LE=u4G$vH`_CMM;8dH zic7wq`4ZC$LDBpf4j@dw))VA2psH=RW~1Zw=JS8Rr?vq8&QP~RJCAr1Li}-Pa%-m$ zamY`hQDwm>clj!IiIgX5T`qXFp@Hbb1FpsW*Kv!esS-#|t4I{}{X1j#{3G`$+ODr; zk(YaOlM#OPh%elu8a<~#*S`=uFi$8)qV9SERYc(A=~)21wk7>fm2?RobbXr&RvLc{ z&@7N<+SDcf?VP8+vvI}vliP34u1&)^{0HBA#`U0>QWP(;@t=1@Yea8TH7q1f4Z1S< zyTQgmiXm64Bx0+HOM*#NgrM)qd#^TC9v!`jKUor+1+k6_2kbf)0!}5b-UN^<G5|T; z*<x<(usCQ`dG(tM%U0vn&#tER%?#T&@jtNcO1K={BZMf^d-UkS!E@{8w`7cnFYPhY zpyzD`0nBGOyxEtvPIyD0fV<N=qxCLLE_3Sc?$<vJl)r(r`mOxuk|N`WgSYT969Jt_ zzxHC$vh3D2|KpKe;^sP&EnJg!M$nl1V)7OAtL8>+2x1;DXw0S;2>To3Hfsf{mfWyA zmFyr!9u>(QQJ>;+eUTh~&lXa0D`)9l2(pWN9crLP@&r!Ti}kZ{vh;Y-a@HheI_VA7 z;qblghqeh1^?IXK-Cqf74BY-Qm1^d_Qb~E(*i)1vtgJfNEQ;q-xagaG%IHryzrz>z zpGEgCpGyk<G29GR_ees)a+N=Qd@o!vpq;%$vl`GA$0r2B1IxFX@fx%z2(c-dBR?y; zP>_=I`&NoDz?HZotHXjy_<meKKh`j8#azNvubzE13j8bt7w<qrtB-`Nq+j7jcxq;) z1(w!)`)Kh)3BjHj{iKH|<cmU%7Z|VR`G^hlbY*yRCpG?*qeUQD(UJmhhAQFpAN$8* zicl7smN0h#TJIJTIv_%4cS&8<QN!jT&XJ@rR}VYAYGT0#58(VO;MfcwE>)x}*Ca>P zVV0W2K7Ffue=H!tJ@v#?*Wc%e%ilCV8h!6zT5r@jt7Epj4bhMZhJcXUm?^NQH?n6F zA{BO<nl!@HD2&r5?#=F7d)_A1l3v)^bErBGqvC`4hrNwAX_d+U>)AkM-d=CqOJ@sS z{*(}l?#M<<wSGCdp_hz%a`_fXr?&uJt|u~R9>Z=LFTIF3shM>Ea-G<Rf@i)74-dyt zu7awKYh>J|8g1f?Tpf|Pyl+1qhNFEla<$e;0=0W&dax0vwJ1ml9}>Bl$b>a~vlSX$ z|D0uRlJYU{Q35tg->vG>gef?XI(a5yptY@giG(0*(=+csBI;9o(6}=<*Y%i^tkc$& zH?ILVDMTP?Yq*CCVKeH`6*?51EVx%lxMjY2-QhXBK3w-CDan!$9EdxLh#34*+9*{i zve8jvk53rpkvVA+PL00Cm2TC(H$U+{<>2gOBHAC5v3jf)FU*ILFE`QsBLnH0`h$dS zKu2iCGCUqi7Q?6eFk0E~I8m^hKQL!vj1zORCosNS@h@6I1D?BI)X4G%ILJc$a(S@^ z?t8np?#k6x<`bj9G2fbZV!1`^D`e7b2CEf1%k4S|&-;-k1?+?efSCAT-CI)GkTSNI zi1eaq8uH=(<2pR}O(ruA0==z|`kxhMoB3-GN6I}N(!r>gT3v>=0Wh&s{-+%F6Sp`Z z0Q8(t+?NuSGP|SG*lld`|HLw=!p?7tD#iWxh@n<<;qe;y36LobFvrs&OU^hZ$t13{ zCjQ}6>tmMkiUz-RhBc($x@=k`-Q2mtRL`>roRsRfZ7Hr!ce-84=?!*PdpHUVJ#l^N zDYTBl6<W$MJCLL*(p&W@R6Oo$0h>|<>{T!ymnt#rXY%{_n%o^@IG~Y<O+0=}+i40i zvpiRg1)o{tb@fW*R2y)!{P!W-K{nofqeo?Ol!<plc4}QyLxJ8LVp13AB)$Ttb(P#c zY4zWj++q@8Akz~_zYG4heIDJhw5tHFa7a43eh)EA(t*XD3#spyTTkW5@SP}I+7NR@ zU2diJC%4%i`$cu5RD{RY9ISNIp}rf2ifU9^t~67y!c-(ZKUWzfQk;)w>^0GjYGNpN z3|NC)USxQDfV6jM((&yg^Es=pV&yuo6g`G^Z`<3CmL1Y9co~zX_mHIYuisf0<WYos zw1idso~)Dn9nPP^>GT%hl%9dj+GRJYP8#tu9DLMJy+eOwf6%TPa+C5tJJlZMI5wqH zE7^t7+IrRt>*DbgIOQIcH=Tp=8Tk~0wjaMZ@z)fc;q$x`kEzfI!wwM9#!Y1c%N4*h zL&5=Tzy0@uhBV08g~xiuX=q(y4%9!}ah+}^WAl`eGY7aO)!an&5cK#h5-Z{?WYV4} z4xC@ms>_DL+|1?A!1pmD@*_rY!vNeaCgG{&eI~?d3cd?J0faD>H99r7sF|X+jD;9> zuVBWtJ{#azdHB|-7fFhb(NK8NoYoqIKq8*af3)H0HR<KOoF#0*djI(rci(*u`}6&P zL=H=1@EzRlC8;<~vMesMIBEEHQTbjvBY2hxX2mo1wn(vak7M|!JLP5$GX`^=pkG=Q zYKz_|-(4tjZWQwlfJr97iXHtuP@W;R2o@Z@)V#fJEePHENSH+m1X^*p&A~6+lx`L~ z<@~bvd0@NR8aBZ6o1AGih^JDghw(~swz3b9xNSNST#LQNISFI+==`|9gO=Bz2va^0 zb5Ow{u-Twj!>X4yU4Jt&e2EIQobg2lPJLx9jsKxCk-Pg<<~G=)Y25njnC99Si;cD@ z+MV+XRm=IVU9`IIGOiFz*Soe>r}dU5G9qOGU#&qD<vOcvR2@J`Z@G_0)^v3pI}uFy z+zzQt5@DV|O{gzxKYkP&kGQ{6(mIzJ{H9E>+G1S!2NhKd<m;C6sma{!R_<@7*3$tr zjGAonT%97B^*EZMH)1YS0&8zw@<Okxds`bZBGOUqmpI0rRgxVQ#0Wu|eC~&VQPF8y zZKz9!#}e>X$iX|N16J|+RMi{@#VJCj3`{(?^kM8A0e#BcjG0-7Abq<9LPo65^6o?U zH=K*2$m!iHzK|#H>E5Un-32?E*4h)V$kix``N2P^qZ4zrPWZ@_J{I2qhCU8vW5yhr z<e$$LV*zkS0o;>W;d+d_R_$Xdz0bE<@NvrbmOyV<AOtW)kg2e_$9kF=nar<J@Wo>9 z^H+dm3@mb>Q6jXQFoxv7x=qU=3y+0#Jtx3O7)l^xXikxIaGxg*?rrVd@{cA?TBq-G zF7xATk_g~(m>k1DL>iUAxL3Hi#S?An*HG-t-YGCdN$DCHg@R&u3W~Y~*cNB)sMU@% z$=a+E4|Iw?4oAzeUffTJjgYTJ81g5LH+@=#0^%JG!a&|nIqd$JL1Jto<({m;F)_=2 z(+1dd(e~n9r!tpo`?DVx3qmE%w0NjXD`j^r!{D&FjFulxfxihC1H4NNOQ=5=kOyvO z;}UINwGUnF3vYG9(?6>1=MMiM_x+&WmgiFIx5<oQq*<evYvyUZ@MKruF?LcODOCSg z&(P4Y#UWpfz3dK7XOQ#rI87V~zL-34IK9ART2)+O&4Fw9G-Ev6T7b*`OeW-I4J|5S zmoOJLQ+jb-8D=vksCG&qBS@^BWH1*Nh|J`SHI$vE#QXA?r21yLr&xmJB>M|U2QN&n zF>Zw9+{^$Jira2Z_i?DJM{=H>!AQrlE0Utx58sjB$&)X<87r;`SFbKNB+#3O{ff)W zrDMOj>H_HF@13Qz$+c~PJO6uS+PxB#CZA;04_a*=Haf3iQ`I*#vk?*Is(pZ46UaR7 zjWpO@9*e*dw)^!>@X=Kq-@+%u`Q{2*oGkw#;5-KQ;r&UW09kk<c_`tqWj}J-(~H@a zN_BND>zNIw%=x#~aq!Fs*@1hZkrYzA9d^o#6XtM{4v5<Yl*~%5NlXj+gUv%+)!_AG ze&C#^wUII+BYD=qfg`8FuAy^P+OKs&KQl4Ud6FAua#t!@2wS+qoNwlI^#~Kr6U=}% zm0vLzm?pFgtC|lhhNl@OS{ebDUfUyecKu_&^-B+#LvoI0gIU4VcZ&A(agBq*o;trq zE8f{V_AXA>KONy`x^mU@!_a?N7Kpcn2^H*?P-lNwfA)4AQx9}<0V_GcCBWHa3mZA! zoK(O4aXlT$;=zQCI3!Sd#9gn&kNMnteUI={=LB2aW6KbIznp3PCae3V<6~Zo4uXDO z;STvt-s~3hm?ciGk|!E}$n!IAc%Xv>QgOY~#{$0_y7X7gi4Vqt0tND%*b&q7w|894 z7F46-wo5h3X&#L6L=n}0slB>MKUhI&!i%fDUlM{`7J*pr84!HPR5n5N9f4O2pS@O@ z=Bu`vJ_2{m1^h~huppm_Wib@KE*)p6VNvvP`ZNO-nv<i}a&KG2{Y=0R_#~W{FdY)x z$TM!OK>}jXOgpk>a~Gy^s^d6jqEVL$UM-7Qr7-;}UUy2I>)S*l+NFpt<ZtW%k8!Qi zk7JP+&DeFcQeLh85pzqxH$NtbN)od`{=6)!=hsA6B}i@@JNdj;Sjc_H%zan2jMO!G zFF<Do6vOQ^m%BYkfr4zxax~2?g5`x~we+W5q$e%jS0|Ng?6LJ6zFf(VaC3=1)tU{| z9x9Zo_bUX^Pg5EWuKk8`ZTHtkVvv%T<)h~eB?T3871G=&n7b6f)PI9m5Jj?T<`%7p z`Z&N4XRJgd$&o)f31&s?wrlTas5YW8CQBDUrcHJ&-l?(Teu`QgXb%=pk%UWj9ad)x zLnTb55#&aX1^Ns34>zfXuEy6ZzVC7lKRoFzT+6R2jCd4Yt5|5!Kz_%mRypF3{kr$< zy-c2iv(+^Aj-^FGAZ|^mG1yg(*SZj=BItM}B-8=e_n><>aw;7W@xY$NfIM;gjcNd_ z?;NeQWz2OU^clTj9;vC!wMY<elP^EWS!QIu%G1|YxC-$AE?H=(xDH)ySaM}=W^nhQ z9Pn=MkZ!m<fZ>?j!Z81Y<O#0SH{0b4K<Wse!Y_(5dRJEQ`Q4Z0Zi2KmgZOKHAh!U- zP5*iSL7L=)>4L7Y>GtoHybu5!fE!x{{w{t5C`ia_sJt^tXnoN}P3}gC0*+n#3yyjC zp;grFPK08UDf+-bY)p7h9ynwr1za)r|C;lQveg(A?RiUsZ2_#Po93SfJ@Y7vELdUx zZfCD-wWY;KHjL0-f_v_qm8JYLo7mJw&29{<>*~`(nxPUJ=l$qL&DcPi!|%M}@p`t& zee~YsFaaxCdvJGzvlU=(5_5LQxU0bD8VOL8MtIt9vCCq1Ozou*9Y=?=JLfYr=Qb74 z2=I(EyHX`1XoqP+(blrLY3~2h1={FBmrgi?O<R**_55v3JF3_wGVGnSA3wy0{0_8g z%l2+XSr@8#Fr-=r9{;ulced*O`FciQjJCG#+pdn4<JMiHJi!SoZEe@TsU$0k8l7<I zNQkR5^?H@f>72#c7Nef|-fFM}=Daz2+S7aKxH?D?l5lI4L`AbZP7tDwbZ<DEM8Su= z2t6iE`JB2sr|0`LBqxKIeX!2Yw3@C&ay}6v`$R6Yt59`Oh)1W>5z)HrPG~C-Q*oG3 zZ&Vk#CpR|D&^p)lQEirR?}5a|`axXa{;s}{c`UKYB{zmbdLyckRZB1BIpcOEu%x)z zDT;TC`tHfmRwo;Bb6W>#A;x1<23yIQJc&``SBDNb#|k{Jx1g6EC81s{@YaJ9s)c6R zXsJp;B@Sk*Q{@CHg>$l0!Mc1$LzN`gcfH)v5HTW}jYWt|R>^sRHP_BaslMB7D4l># zL-Rug4UwWgG_yC6v`&5+QjU@n$$Ik`_i1*!msJV-sFn>cFI$eBz_D1cM!tif4C!*S zjcSXI!su|hs^iuNV~V20uD`$m#T6y;BH*Une1lO=E-Gmn>RR<Vlb|cS`&S?E%wY|? z#OZ^<uE)W?Fb8BqygTz-5jMfF=nufhQj#8~gCMd3{-u>iXA{i?vTFApp8<Z(11*6~ zE|(*yCO9TGM|Gpn^Y$xVd_LZIQ?l<TYjS^yH709sN_CTXe!DXt81!ysb=M33W$Y!? zKI|3;AOhDOad{|4B|{yx=E*#Db6;?n&vq=294cT!t*D=dZyh+LjY@ow?IhC5&G2n* z8xd~@BfRWmzfzoTm8WuFWbk)%WVuWJNh0s?`Gwzaot6PxYC=saz8vpV<*yI!4FoUA zMgI!%y4K_X$c$UJ!=?tGUa9V%Z`Va@W)^-*wT%1-T!u>0k_y8hsK)#7P_2E>VL?tW z1rj54R+h=T_v)UlBciW~`v_U;{>1ZL0Pmujv-G;Ut58D`O89D*nEK}e!3|$cv$rDR zg3Py4KqA2IqWsph$D$4g5-QY6{a_NpFWPJ{{1rL?fe?AqS$c=|J+*-qo$Y~gD@jA- z+8=1ps&GRLv~xYb$BDmP)tt<$AOY7FLvUOmS&t6c=A=gio-DtAxs*ip)IoEyaPBu% zMW@$^H$mdwhBg#k(Rg!dN&d6gT}C=f!qKW?QYF}=K4{b3R<p$tf7(0HD|*&}hm697 z)s4>T{mSGNVDi3bEf~Jo`n>q3)ek$Z;<JF~ocmDmA<T);qNK=;L#9>exgCgk4M_F& zJLxObBOpX_U&W<g1uW#`WyB6pDwf*#ln2$*8YyW$bg2`_x*ox#2tAiw=c-4&ZsN4| zbgvHO8p&a{A^8CEH?1%Yd`lA;wGS9mR0Z60`{Fw`XW~qi&I@}Grm7`o1bg`Da?3!~ zh*>>&04gWtaMM(Tq1&-FKr-Z|)=k1O&07lu52U4h3Nfq2$3Uqh5GcdWfkwF7^vYCq z#7OH~dm8qa6ZWtW=JPCcg)GIb4qee3aZ^=~(<I-39ym|%tFfBY!T#fFE|u7soICEu z$00rF_+|BRW=uMsh!s}$^2IiYVp)mO&Ty-eYq|z!z&gT%42jlp8y%j~u!FOWqq#{g zl^cdr%Iqt%0SVbMSCCEo22kHaLwc`EbCW&W@!mj<zq(v3FHF86$Z>T|&b%`H9%~vY z&j?=cs*5JTle0P9gB(_5%k)DlGO~ETSpv`nE1LX?a=?HRlu8gUMKx!C%PIM%qh?C< zds=1OXUp~~Y9;jTux71ARj<KU>ng{CeQ!93jtuqG%iHGt)PU&<eME;Jq00qTeILe@ z|7g~MRfS5mgD!XZx!;Z2DNg7goX!Z_<a5gyJyz|ZFS<+`b?uoAlZB%<pOIFz36tR- zwUG21;=t#ye@Dw>Fi$<-2`NElKoh8)4m}O9P@YEpW3ixtPu1Gek415!u^N((kv}6% z1JzdIgleq1^{SpWE$0oXb{=MN861PF0**)g#T-MM%0@0R-@CugsKAqem6|jEy#URz z?T65jin^+U;JXX-S@rE5P1t2uKIwGalTU;XZUae^(+fkh>7B;}&saBc7+w3_;gKW; z;98>KqYqMtU;28JwRia(5H{I8v=4-9O3a0&E3ln(2p3bC^jkkCocfY$ETy8B0C{pw z{;)Qe33G0)bh=6!#g_81UHGmN*pZZoKOMlE;<2baHJxW<Mt>Ie$-njbC1p}nYH%1o z^aMa_TQN%46DHy7!E{yBurZ##Xop$St*tNGXc+iO`?YT1Gu?+qA*m$|+FYI&9i4Z( zp(TSZa$KlWhlf}=(mLQT^X3t|hQL&sHJ&>MJoH~3je!PehFiy<isno^ySbg%h4fmJ z=!rCT=Z4e9R<|5mkIkkbL^UPK+Umj>C0YiM_Ah`#ahYy7wbh4nYdq#6kGQ{0u<i6r zhmYE-??Mg)x!m>xB2av{sOv(Bsi-~n(*f-Lc8*lvn!`wa=@`D1dbWM<RhU17P^nI+ zXJ;Lr6mq16+hSm7CV@^KG~2`&ZJNr?^$b3&q(JK%b;Hz6fA`TU^DPRQ<E(VQuM=C= zu*Gf>FBTT6+X&z8l4gne#o_90odZ!awy3p(QXdGn8Z}5hioOz1DnIlN(pL4Ow3u8* z&5q13LZksImv}cwMn#|_0}oaUbC9|U_CaE6k+)-qGo;ndqqGb1b-9hhY<C(ebB`)< z1jPw{0SpPYl@ROJJT5+xl`6wR^IAe+Lo3KDJe42$Ou*A=wM}>~{makO;MKEkyY4Z+ zekP-dB~bYVQS~cE5I2W#9yv|U*kE81QO=f7G^VxBsxU!Jh&Jp-DXJG$OIIn|SO{sW ze07J+7^5JM$+fQ#CHvtTWIJwRWOy7F(zR8}C(6SYvFcwNo^Mi37LdGT=@tsRvKq>6 zMByljRf`BzyZ@=?+0A6*3*2Hs9?fh~g%scFJC`uJ=Oo#-iErzjpTWix#e^Cu`}so_ zPS!9?jZ+0mp5#cw?C7qRl!QZp$(dZ%C7`fzE5dfUr9ais=%lKwZ3azctPR3KmC9_S zTuRP<tS)Wp@G;w8ayz5Q43^is)pi~|=}1M``F8z;inE)De$0R7>3ABfhH8*0I9D<z zl_TPByY%+&m*TsjUrc1iOr>o4f%#DhEgT$s^~%Y#f{BgtO3uP&vy5xe@@gR3@B>t9 z5PVzciXae^=hUvP;}GBzU>kNGci=ayJ;Gs+uz0lgP@MjD@cjrEC;H1zSNfMcBOfQp ztQnjJi9*h?%6el1!0K=eFvHE@KM)TU2gJKz@(t1DSJhRsR;~px!ecPgB-hFhHP8?c z)quCksc{rDkv9HSl}+yR&X$lonP;8p#B9eO;P2kbY{OW-n8v1Vf62)Q6!&r4EDJt9 zi(rFQWn7=U&jlKu5^)#%HG57+A&n(o5Yn16FUYD1<49Dy_Appd1=dsYj~1tRc}J12 zL_*2Mp6>D@#^p7NwALHpKh$V#^VmA4=WB=_4nRPa`}qKAuRVM^>!q)Q1&4Q?YF8l` zdT6RMFv#W!7hy`rg~zHml0YKoQ}stvl3tIGJ@%O^Y2p@uE6c@};+90Pmd?jC0k-T4 zGq~8>g3K+Pl&M+hbs;s;ZY5@s@9l`5*MXRrnd<>0<?${sD{WL?Y$27<S#+0~aYcJr zS_nH{)c@fgIQecJ*@zorp-+3;>^>L<LWe=;NV~<OC?%v+tP0kc!&p!6^lO>j&8x=? z@af=jx8@l5HaYoiAWd<!7BIUkvDkyo@Q>wG=Y2=xz6-{*H`!#5p$9wCVp)7>P0T}X zK2+QhL+{*kyfvfazoomzY9!iPpR-As`Fo&4`t@yb;b{V=r7cN%hg-gTtHUg#wIX=O z@}0x*{y;CW>P!PW^tcbcXh4TJ4(skLMKvv03~gQuW8d*x+e5`Q<H$wdq0L0kV%DNh zc2!dK{U&!|@NDVmLsHo3p<H_^Rc|T0`BIiJDq^L!(uKmJPB}X>mgm^F(Aglwx6O7u z1L|&Miz!PKsmMp&a>sCVZsb7vLpzc!O-N(J<NY(L03qWafKtdEoKpz;G9|6KQ8fPa zdck37GZ?3>3zhF%_>~K7z^Bs^KhHt!u)2nxvc;T^JtVg#yugOxojsE_Wh49v?4Ym# zVD0q@Pa?>M)XNkM)^b-VH-b)8QUzX$c~}X5f8cn?q9lwjo5V?vGn4&z{G02e-8zzR z>ToaagVVQxstu1jtb-vfS%;huhnKVzSQZ+oe`=B4V4-Nj@o0A=^a0P=)PnLMx`;gN zof-G?%BDT!-%Y9o^+KG<+y+0lErg{u^~~H?542L>vV5VrbZG<4P4ZO~2sF`N>9E8K zZ=35w!<v_u(2Iciv1X^F$uNNeZ*h{HnL?P#^S%!-_B^(d%<fBE_b~RlIa!U}2g5?{ zPK{PqbLYPgY|&08!Z7uQD><bdZ2m9oj1IhXtrfrTJm{mL0ro-;T5a!CtqOU_?&7u* zWY{nEl*GG8{8WE#%y$~*@o}o(JL(u{UoMv{;6>o#FsAY#ql<X*4}a5D^3ulX%zsVM z?11xZ@3j6JOX+mlA4#{ZLLs6sfb>I@zg<=zef+Uc_T>Uldg&irEPWH@Q%6Ahx*9`t z0j>2wi<5C%FkJtSX|^?!^-zN6=S_@1k`-~XU<%ys1h8#v&MWxwogY_u$rrqHlB6YB zh<E%bkMXsr9u%%w&$|Q^RwrU{+QAEayu*TY$IoJJ)8AGJN-{U2`G1<fdnt}w;q_u1 z1*bJvapV{~kRqKDnIeP8y%Ehd-v!@-&0|g%YoC!E=4B~UK{~3~lAVSNiCwAR{;44< zR(Z7B2E4;f{Nzq;sDbPzy31qQDZhBNd+7~rn{sOj?GHuJm#Kp;OBWy0qt(TnFN}() zP7ladJ7GJLL@U(qYAK3%U<_G+${FZ%Mp#_uLrvPWg*J5@O(B%idMrevhxt8qA+<+d zTP<83xK_if{W<W|h+_#`S!i>yeOE`EL-_%z+3x?v%D2#4gSi8qVhO=;L^Ak`i->Sx zq!gxQ`zG}0$otLVn;NKn@@ozsN~qlZyZbKFxL3ZGMO*&T6$j+p6E4+1WzVe_?lltu z>R{%R@GT#f9n8)3O85OJzcv=7+4(HQpIx5G2|vr&$6Yf#Yc+HH209a82?#vNCySI6 znvZNhdw^|q98NSuZ=<f#`8Dj`DRS=!U0^P+7wBSQI{|ugpXqWnfD0!*REB6pVB}X# zyP?|`%e^@p!_^175AN_sdi#3z)x^2dJB<_td>ptAh$q&Cew^Bhh&nZ{EX`25tyVn} zjDKRPfNGAY46;@yDcU^;NRkx!OhyB$fnAOV<bxwbLNsNZj-gkR(fY+rCkGLq?@{p# zaEJv_F$?}tiwJTz!)J|?I5v|G6iNNK2H92OEP{CAa51`p50x)iv8?)Dm8|g9Iz#q9 z^`%4TeVm(oO7skgn7q`KH_&ZFP^f@(db~~jjw2V-BN)N?m5gdF?m1(^qF!c_Tfltt z6A9>=<QYMJiH-rf802en1{s4GE*<`BwAqql`I#-Ax}VTwm%^bt-4a3f@|OQZfo)v+ zRmp#=LT9b59cS{R$2e%fv@L`wWcM;!ekJ4bT(@Q$$BMi(+RWB~pIu2s9dsY6Hsy3N zMmjaTYRzmyv#Mt*wI+bg5BRL|gHviPF&T&EuSDKl0f(jQ3ACSh#ooqQQr1zCnBy_9 zXAOEwgFK)Ukw%{skwfC;Omm<BB(LFB{7H5(Njhl|YUgD@;~lp4-hBD$5)@<UnB^u2 zT(TY4Ms4ugM!=t~H1Za}A~bpWcrUy)OC*(zH=t}f{Vt+4CQ#N{?kKi8&jn~(!CBQ3 zC%MkU1px682?Yvzxm?1O{9yS?B=29j;{?!uz{+?b?3&&Yw6EJ?I~r{*lXjCa@!5cy z<*5BB3NM!s?BX?eU<A#SthN@m411n4EbRq^)AKQN-|3$H9eU&g(z%acG9q~EE1o`F z!2`y~zuk;l+M5D}o(uS~S0-_FYK2uPYAfs#R~`-;h%4)?kriR3^Ye9Zcrkc7>IsQX zu*4AvzX4cuD{kw=XY0a#!JaO+vIM24F8gBe2(c`;zbdy#vcy%e13TN0cpN`9Ahg=6 zv7qThPpzHyE~N+^O&C;7RHM-6dSF$&gSOrwZJo_yB2E<~<}Ku)>xzVqiYu$mwA!z* zp``gd#t>^Fx=Lj=-dpUh7Xg%3H0+P=)*)hB7=sPVo!>$Az-s#mzr9-R4!h%*di&aG zM1I0%J}TE&?Vs?Ep+Fb~&BnbZCQn=&XJexEH(W}GT&|Sie%HU+j&TtV8R$w3+HvaT zuAHQ0hU;#`=ljDnvo98b{$&(;0vgBv@Crn^-aqX*cZniz+b+AqQsSe=-ePQL;81CO zT!q<5R-W&$zYAZm^twOG@BFl09uKbp5;`FD5(7H(vO9X~lid=+u#Aqvi-Wnb<Aw@- zSBt%vZUlGhrWSfKpxlhIH;>WFCeBhsUfL_|PLV$QmlYOq@Di4&Att$XWAX8pcYfu< zQpA1T@*+yp#+TG!2Sk5JmYY*h{dd81T!Iv`OG$8-aDoE(&|vs(N7q0HeL3L_k+)Z$ z@--_|BbPDfRs*n9BCWOb36vO6<EU6=?VnOpVT(uQ@w$hUXRi%CR=pO*P(9Se1M}P5 zwVDiRFe@gtsIJiGyEG?&^+Nb!_ETe%hlL0JobcP$QV1o8Rb}5RY~)6`BjG$AbjVz< zi!oY3kJv;?q0ITR|L8Xyfd2S41DE`UZvl>%+uZ(3ONA1$^)1YP^wXMS@m*v-#ZF8m zP-)Ea5)^0;5x9G?%O%BBL!6pC^}}Oc8rDp-fCe|M6NfZStu={ORb1^@JS7+K4t~6| zBwSo~sYE@$yUl57&sU1o5#Bh@B+{-m!df4kX?jwF5naYsJi6li2xXFZd$$f56xfm) zA-v9i>WuigyVSrJ+r6}n((Y9InV#!>Hg7tp1XW^n*~+>H{XTILGijUVD{daYvwm(u z4%&&mtV+MNs8zM&<_;KbQ{k)E0te@qCgmF*b{tK{xIhP7BS}E^kni6Eepw6dPB?N~ z7ABQdCXASG-3&e)Bw1BoW8w?i)kD4TE{=$4jInqP=oS=aty2VLDp}2S3tKztsY(CU zER62p8r7b_uX&p|^qn_|hb9cvw&itep>?y8L&yu_Tf{+y{5_q~DmJ)Ukd7nYXWe7m zH8&z;wdGQ;<i7=67Kh)jN<O-KYK7@3O;n0gUv7cvU6UeSIT{Lq)vOWS!1N(rs>hV^ z7;MxvVV(+3v~zOmU3K0=5+(2kQ{D8$w)#1auF$9qU+EE%Ko!=%2q9WB_DAcp(I<ut z!+N__#|AF{+H$tH1t(VgqHJYYZeb0he$-BTW8)T}@2kkWj8ZsSpY%^))LlT(ou{?5 zgWf_q%DZM6VU-yoaALLKylAkO<a7fv$9r;Cj%6{jp;Jl5fwMjy5)2fI{A6sq;`gW0 zQ`dHbboq(_sZRg4w9NX*AtYk=lk{9M3;fu#nf!YKd@p|yfkNBmd@2VeJrcPMazG1B zB1eY1y&Z%l5KL&UIlhCtoSA)LrnQ%;B1{{E@b|KORUdt0bV_H}SG1$r=><B3xo1*G zkI_e}WrB1IdmLL0XwRJq_L~VSTAL@2pXU5O;eLuV+=3~?*t_|VKbCIw9;A8PL4qk2 zFA_fmm&G5QeIh)I3i`xM(m;Zl^e+u2^Dm8hTu$-1^gS#-A@SY*!gEzWW(~FR;C`UL zaSYY7I1>4E<z$3Kj(-wBBE^{pu|db48#9EfgBB5>m_0pMsi!Ys44nUxG8!Ncm#+pW z4fhz&g&`kmx;_bOBRz~=4oGS0!Tvn@6ZlcYfXnnVq3v79=z0K`L7o%;q7UVybU^%r zn9s0(iPOI_GXVye(OP2^ywPraYp0k|J;t>@Wiy@2JD~*bX>`-P`9?k#-3%e+PO-{? z!sO-@`5k1wBrHbW@Y6v~+WSLG#d4kYuM>_5g0E0MAHKLH?FXcZC5}CC4Bs3SHBJEo zdlv49k{pc{y><{#)l7eF9#Mo(d~f2K^9a`(Ej{5O637`-Oxhv#glRvoubThzuKx5+ zLPpPJ%U@r^hTMJ$>hq$LE%>n(9xB7n;xqe-96r^UljZ$BsCJtt#kMmb(DYbEpr$^V zv-1h}hCb@`X*$K^ZqVwR0~DWzaKz$bV|Jna0Y?_bAZIza-o{D~O?ub7NsEyoJ?sg4 zRi7qg2R^B#+=Ka<{nyFvh<KP;n@hSk1tyFrVUoW8xJdf&&v-<2FF-suYU(rJfa!Dy zIwbhDzg)O?->Ix6&05Q^i$9ec1?C#>a6wlMsz_T^78)@X)-jN!9Y@zXsql0wExs!O z-jPLmDH(`wZ)(_tx!BEaymG4eMr<acJNNEsqt=+y%7Pv5x#_}^e{ozB!n*Yv966vV zmN`Zo0HU@WHkXFrP8Odjf^H>2Fy1|ok)QwQJ|7_^dtFR&25WAp-n(!RXi+G5_lGOR zvlq}tR2!^>l@n?^>aRt@g{XMVs7;rScVh+v&#W#Kzgs&~Vlfupn)KR$AKC>zbX;^! zE~qgq!|A`rT2`nN@1!?7ZBMiggGLu%2W)3ToLC;D9R|kWLj1y#;7_u-vrIw*O{`Y& zsEO0QV^^>W;2O;X|LMUG4L%hPl^7ar_eVo5*N2Ld^-u3kAF^Xybb^@)t_w+OKEvE~ z71rl`$XF?iB^1B2K|kt+(Fp(0XJb`Jd&;}UZJMX*L#!;@wmNvN7<Cd5?)^M{91$4X zu`mr0)CWhRw>dd@J8bS!=7Mfg<zu>C1EO&zY_i0DKT%4DlKl3U^;L%ccX?2ApFRK@ zK0(S1!@dn8QaWB|p(F5S$rp)ma5C8(5I=k@vLK(C_#xqFXah9?tb{GCNk=l*XhhwK z`v3@r6jQQ&lxXX8z8|NBBI<GI8?C&3Ai@+hN|6?Kb#PFj9R|2&n+(N9fqt1^sB@|; zFwuXlX>mr<Z(bU?I9g&BS>h^=Ul0-TNQDUfV^Qu8KJDpkZ=~T(I%5EsLi^NY2`B?o z@hvL3nX^6kyk-gRYY6e|95zV2rpj_IN+%u=H6hwOqI9*MRCUVmex*p<(J#@6h&G?r z4KuT4#?Q6frI(_VMU_X(+~aF7{11p1xGaV5QL`so33!}2!$ZJDp`U@?&G)6Li<G&o zbSZrDIeSk1kaxw!_jd)G%Vw5Yj|tFEKUMiFb9r;?R7G_2Xa=BFux@vWi<&7m3y<Tx zNk6eIj9eO=nGc*NUn8u60voahX|9&2*Eo3Al;|qWc<Nd6N*>82ZpuvPt!BO0x}nrV z9;bS*?z%M=T|sIdt53AcXCjDai{Xw<&~<g>>9PD8muynxCLS2i9F#AXiNhKh>;LLE zvAuvhx6B3@{uqUQ)U!7PE)>wPn1PD5OsfcQLe8NzuZ`9ZvEi$CV?Sbz;mML?%7S`h zaX^@#FD&`3Wbi)Tr#wgfs=5P%%jnH?!H1Ja1|=p91Ii6wK13JhzgBuVg2zJNyVwf3 z@IZl>)#v-Mw@|FHGuG!}O{l~hmVY<NhH^DL{(S_PUHV6qx=(sC*W5^)jsw8~E*-Jm zt4HrSh1lh(x;Iv=n{!h-|5K}t+aDBNuTN4_otrfDo22p#G9y({lqk<EL0zB)phujN zhEJXj*+pFGSL0ZLzvsog-}a8?)hK(G7wEjV%g?t#<r<qcP_cBvy?P4-TLedE;yxO4 z-Bbo_ii-c%f$!4qVfxtwebPt6t^Bd`=E^$7r?lP#1F}(Dpr5>|U*+PYX*FfF`micy zzP(!+Ypjh1Hl(nx?I~Dt3pt9N7nHDu(@gc%Q&{8PpckkyW}kEK(F~Dm(EPeU@*}u4 z`?YX$Pom4#rpj~IATvw&vkAXji=6E=n(LI~pYBDzhi>>;&?+3sVT$0tD#Ka{C;#?6 z4vVksQGo-Hc}xP7Yt3cR(?Gm(G|`iX*;d>J@90PNAK6+|^sGv}^V8~m%r3~Y&G?l# z4BuH9OL<Q_<UPeX@@{l~bMrjM6yEMwQ=-LKv6gag_rA$!t(carzygJeZM?1KB-)xx zN;#(w%vPK`QF~}f#UdPu4wtRp8f^sT=s)udB>Wfj;6Fg18A4c3tDV%joj$yMDgy1m z{^FC0)1J>m#WfVmty4A-avNppG+02h|Em+D!nzJ^=x{ya4YTsJRd}a9{4>E}4Q!>S z?R63>oO(W5!E(E>BKI8?RhIFL=8y{&^vdY)J1CNASOkyjgm_6DS=jNzHmQqcR3K^A z$!7SlN{k=7t@XvftwC}Z@ngN^b_g<9@o|=p^HviZ%MA=IK1WN6-~67*b2zG%(IP#m z8jBlQQ^rL2Y}{5lI{`!D0%|0<Z#o#WNr$2HLMrN1{=)rcvkN8Z+286tjrpjaIUmho z7|`iEB_pWerZn3)VpaP;lFl+Ns-_L&K2m}pDY1lvgmf+q(jYC;olA#Hr_vpw)GpoK z-JQF1cP(Ag>5IPK_S@N+Ilp`6+;d(3ORG3<-2}CHkp$13rLBcxoCJ{o)WzTfD>p{m z?EUTVJs)zA;WEk=Z5o!;nAI)4BR6y~e#S%-YKs{|UHUyOW~B{^YPLDu9NlN<<h}9B zP}q-fEiC;NR&{_<%k1<ybp5MEl%ELAg8a8?Gi&C2ce#(HdaQzVsxHU$ia@Mdc3RZ% zan+Z5+Q|6JQ)wd@plTsQ#~Q_-3{d~W!%UY-k5_J7byTKu9EVgExm;ZOpPv`%IY(+5 zS}xkYlk0=CcU{z{G?T<Eyn0)S;)3xaLeb->d`I0TI7ItSQKh2vq_o50bpJcQgA^zO z%tKm>?3Fdz%U9YLtP@tpoTq1-RZs5H$8QaA3_KkhRDXrf{%yb?u5r9?43@Yw-a4JX z8q7(~x5J?A!Aqr7f~fU&%QfF{G`{TmY5vUJe{O=jfNQS(EdN-+Sf1`;a|#@t55fWF zRL^;{*kMWNjqeec3>)?1O)y)7)eU8g>cne;Nvu><N{2Zkk#nte@9Uj-HS*25L?$`e zr;sM(#>S*)RX%u{&Kb>mOhH;GFO!iVrLL#mzJ@v6#U4ckPUgb`E@QQ^Shj?9Dt-Ln zw)*%O&J>D11gYWplRroJ|BAF(JCa4ZW6N)M-&>@w_E`9yeER526`+MzB~y9JTyf*5 zV75&iF3pcr9qe0|e6OO?i}}F2X!tgNcAn;vgN)z-`LM8WNea}6xA!F``&X`A=RA%V zsVVs`Goj^C$#1&Z!K5+|cKAEpVYB%=`{5)ZS^EuGQ@VG1(+6V96~T(Ru}08WXM~XU zoBp3?GJmJ&`UU(%F{Di4v}_3f@*;2RL8As$aq$rpP~naY+^(8Jgm#S8V8-z&sLW*H zYvUi%bbMYer}{1(4$Hm4bVMgzZh9pPj3~fyq$5hLRb7+>g}&YQ+pKqqTAvOqpk{|j z#j3XO`ze_13=Zk@J#n|6b7P`Xy(_L*@y_qLG;?#PnXz2efj^D_l6L-e8B;rNTW^<m z<okGB6^1Y0{3I<$siDdyE$RDXOG>)W!TE8q<dROY6o6tK5=I6?_@N@e-!)jmWHfLs zU7Owx^_8HS)D00z=pG@7b|0+reY#_Hem41#`AimFCYfd{)~F_`t0qY9c2&;LPFqyk z5<`H!#2T2BV4?14p{~_3P(m!grJM@K1KuaW3Hq1mL*|GW4Fk-EoezJHi*|@D5{$-5 z-;V#duaH7thxvYBpx3bpz?@!LzYlc;UI$lM>kkFDlkAcBZ`+S)DJN8y2Q3z(wxjoi zQFU7@)BVgAcdkP%(0QhPH)Kd+9n@862+?jN3({272G~@PWpO*B`QS>W+#imLBL4Hn zMYYag)i@%g5S-;{k*~93H1s-gEr2VB!ewsR|N8LH>w7Jpme}sqwHsNtkD5Kv2z1(e z$IR@Y^KM&TDq~sfV6gP}7H^*T*f({4X%77`3cB>zg?x4_V-$(VsD#E`=FEAcBI1{o z-1rEfiq6tzC{Xy5(bRs6pfVnwK$PwR;c`wV8FD`=?;@HNjHz*3PzU*To0>9miDfi4 zmE{FDC-7o|YW4RNZ=k#Tycoo^A?wcNn1cuF?k40fwQA@7!9`>Oa;vzZaQ`g~qUv+= zLkNQeSAK-BvU6@K;Ro(|Ocj!r@p1tm>A$64^-{CSvOyM?5?XkvFRq#G1wrsU5Y%`< zl`QSm?S5aNI$UKu`K=xYJDKE;$b$_UeIj8py7jRyBxRgWJ=m^Onmb<YKWzJ^nIj0V zqmWE;*on1r8!5jcm8*h5VburWbv_}zuy;TBCcQ*p0ang`ogCN5J8pi7<tuCZYLGXY zNoWOGZslm*#ZG_R+;Ovh6%}zWk@@_R{<LhE%z-5t?rT~-2Ez*$Ee=q^zjSdkM+J+d zCZ89^pt79XSGCYM+j;$j^w==e{&FzQwn08GKkp?m@{!8amSZ5Ofm+0WP~f!RpQBW? zPC0yx@6Gb8i_4w){y20Q`tViSiGzo~AYWWCC|!I$i9&7Goy+MY>FwX!rO{P<h^PYh zO3+;5cB>v%+mYB=hHZ}qsYes)!Uf&olcLBigaszcTU8uh<!D8qjix7`2_#5MnyXAp zKF`v?GF-8!#<F2u{sQXd$uRguE%pl*rEMsHK`Y>VLpM(};ev0T@=Jh*EWJq~v#Ymd zw{=)p`H?1cJk+&wP#z^Yn|I6=i9F%a8e!%ES#+3t_|}E0crwcW_f}^Wg|D3y>~y&~ zn?CR2<FIyp8~_OAYSf=~B%K#!R3d<N6FG2wJ)^ZKbKm(Q<y2??nou(EQ(}>eJ&`Im zT#H2n3msiw($>}4{?JgTGnv;lsxWMKM2!FxRK{V3IX&t99@WZ~L03p$qQG!fB2Juf z;*G<8>GvBF?v&sa+wi?~Y06q)P*^uOHMvWuzq=NmYmv35Dz)QgB5{M4`tJo4>_OCT z8Mm?Ww<GPI_>6PdCjr}{20#J2$)&*Z0@sM3pOk&-{r*X)7=HHtJzY7&bym91Wk5ks zQ&&dyI)o*)CQI@2l0F^C)`!PYQfoPAQhO^*pD`WA9e4de9ppc;B+yAClP2Z-^pcI* zwu1!Jh3qx#nw0*i^CFlfF)hrL%6tD@WHQxGVYggR0pUK^@@TV~)Cz4NSp0`|!-4L7 zS{Yv)yE}IKbaJ+9xA4?JwIc{-q(*{3xIiB(0=RNO%koxDczlWO?a2^j`N|v`b*TER z7EvgCSF7^tnK8Bd)14oGDWkwg0FK<YxDg%C(ixvf5WweY$RtK%A2ZHBJ4byILFZ=M zuxz*1K9eb27SHbV#h!*{s;Hb=bCvob|M}0+l&9<6ry`z=|DHvkvjmoQ<J)%})^CR= zR$5_#Mx)%GJko*SfPl9xz=Lc~+$Pd(9P25r=#)EN!o*}Bs<CYGx2Z%BG;vp;vj!Wv z`mo5e^|xH;Cp=*o%N{G4X<1=uuN_%1J@fjazwpIJyHk+oDY9{QR%$AJvo^}y(jW8k z4M-{1S5Q=3CI<=!@3%KYe+v2+bvz?K|NXFQ=izIA-I~a|Ti~qTRB+x;$9d7m;{My1 z5DI`XnseX<=6(OD!ZTc0(?TpZL*A)Pi}lP)7(?KF>MO}Q7w8tNx2@Vs(O&wZLdRp? z^ExVVa*v1AX6F0yJ2qSV8tBaHN(sqG?G}pCwDDvl37R3bS}fR{ksG&6ksc;CZvt|w zudIp7yVTG1CJh;45QY!Fj<#*FJ*<Asf58BL4vxOFg-*ANu#*VVqkZ0?{-jX{CA-+T zut!tsLpoFSHzY6(LQA;7nc(YPxODP(Da%Wl;^^V<m10)g^v*`=VE7eM1WPexdOEk5 z<w7W2Jj6UAhhHMTVcXT|ZS_VWxe@eT8?s=0V%9gNekJtmpDIKs^x@xp@&*{QSY0vq zTk4mi*?1p%1(i7*9x{YnR$n}Rr+N15cs#kzJ)m2_PDH8=R}!In%ORZstsRRZ$R7r4 zQF3f3S)Somu&Y1cIsq8(KSrn%xCn33^qO#g>D6LBmUXL})jpaa46$tpwo3ob<($FA z^hA1HG-J`%lxk4+s@a2n1YB+Fz$>-`w97GD#Iy>u1SN9YV(gdFB{V3<;pCd@5PqEs z%7~se8_!<kdK$T0{P{Qk@){Lnkr!jawcODhZR!V1e_#c#Sn!jArJIW(SjcfdndFHX zmPY7oO0W(V>CC_I*h4e#M)FI?T*fO`2N_io<~8a;EYc{$w)UtA+qS>MGH$1yzUrV= zVWNBEu$_`W&=zoAJ4mpye@d+-$Q>s}+9xm3lClzV)%Y)u<vO$;FUYN1l4^a;B@GiY zSU+%k79cMA!15Pf;K$`?f8-PFRBYSgA-vkX>i|LfeYQ*r45pLEm2h}9^$P!^5qC!; z@IzDGR%F&7yl%|Lx4GcX8!=%52{6xA11&GJ61qw5*3QUejA(Ol(+vx})epGe%brO- zKTSpNYI`|?CMJUtlU&$ZP$8z2N`E~uxc!j}Xx6<LQQ!Jw(ezNf;&ig`jG9V7S=TD1 zh3j;Fj&t?u9{QJI(%NzB(|P;ZF@uyl?tm49=%$BV_H!syeoKN){rB-L6kg?(wN`Sl zU{cY&q@3zp#6uJPCvq&mk^9=>MJxz?0_UZVfR(PgO<L;G$EZP|!cv(r_EuzZDnAon zJqtB^m)PqV$Ol(-s|5x4vz}dm!YfC74o5BI(pk49_?zp2@2|65{-+t{!oiDZtNWmP zJa1bf5q4^9i=PmNXPIa{>dtPm7r-$uUGnPSUCMC(aZxM!mb=qC+i?q%P$mtP=gHpD zUIv&X7IQf+;HPrnGAlyC>gZgbqcvhObi0ekz3I)WoUu5YjY*L%s06Uf#cmjo)y=l& zc&`VcGdQg0O!zNjZA*3NqM}QYMN<#)ti|;q%%vVxL|B67C@Sw_5;w_Pyb4dMT=)(t zTnTTU7|dl9@UWk&2CwpDCjEaPUpJo9Z`%0FFOKYd9_NBGTfsEZiKk0D`a@7!g959K zmIRgQqO*(xW?Y$SLWfZ%!un$7HyS)nvdaU^p4EX?0}$<ldLn&n<|6C0KeD;!Tag<1 z#-+#UJ$pjCfGB{zufy;=6Ros6&L}C-7E9B&WTaX$4g^5{?U^L>tjcgPDAxM?`-qRm ze=<9c4qpa4V19P?UYxx~O$fQN8T&Q3`WBe#ev{hCAIjB>(Y>vT{l~L><hFHZ`@ia@ zy+ZGR;aft45Ej368s*UBRKVUi(pOX^HE1nBMV6C0it8cOquNg)**T7N7FgWS0xhh5 z_*28$m5Kr(Qk=JhvGk-6V~xMmU7`W|;y%|m6iL;FhcY=}<@a@5g8bFE{SA;n<e`eb zWSmV@GGm3~@|U@>kB{!HYhrf_&aqub_B(Te^U+4FiQ|BB3eDLDyYAp;zc4a1`<p@f zS$~L7Z{bOru<t$4?-M~IE5G4A^cwL))k_94#8@bzDlAr<Qe&&zp^cORs@S7`{h>n8 zCS;n#dz8UPK$~=0?(X5|$I;N~*f68(3ib(cA4eV3%%IVn*}C5^f-`LzIFP<8eoD<I z=v^W%@%e({YsD~}k|voT4_XDM)~c}EGOA>>stCTiJ>^W}c2B<+6#`U68});)`)G>c zCvemcowrII^9(b3(n~((RMX5~4lhT#82aR#uh$;VwAT={8>9`2C&%`yeNZ>U;V3wT zRU{%duh)y3fVXzIvdnT;$_~tlQ4%X82`-!CibIKc8$?f^jFk4LI(+tRGQb`+d89(D zF6griQ?(MZu26Sj-3`#4ua`~WeDjFOE^2o+Iiul7(#2l22J4x&haQ!$cDeWn=!3$P z-73|@GvMnsu9?0x(oyNKm<YI&l07=5tkA>Ch&E+n;AO4q;h3mF$1jwodHbiYJ8KH> z+B-vG4nB9oXzEe*=22nNy>$omTWf;?Z{BlEtCOQsPrq6S{&pTNe!QTzYm3T2mH8ad zRl1<=x0QRT1xG)7e(uh9K(&3+&5LLbye(moS1wPPr60~5W@%EMCKNN^cm6B_I)g!5 z=O`9Yio{I3Vc#$fQ6rmY)HZj8u<#`iN5F8?bDG8d-BLsIEWOn>dPfb}nK03_7jW^E z*CJP0Q^l7*ue?xquG148Mt`r~8R_4crcW-EVtZbEQzg*UjH8|^&a@7G2vwpJqH#5h zkNbqSLn~0HX%45h9$?Y@2ByJ?E-d2ei7HGu^BU**Nq9eDOX?Z$B0Iv%<+k!`4j<Nb zkvg?hCB5a@R2}Ya8m9KvjG5qp$T}is$o!gxydGTGg?d>=x59W6f8A%V14}<zBNw2j zSV04?3=IBW@}0iMp$6Y@EY>?rK=wYPh@_$U;*5tmH2pl?{ZXglfr~6@n<vLqKZ+Bf zDOgOmH%jrY2<CraE0+0|F_=Ptm;j--1&Z-*?vseB9e^i%_`>_9vj|_TU86z+JzCjg zF(Y{@mZQ?}_|W`{M2sgj8ur?bU>VG<N0v6;yBtxS{mH3@5!{}H;gWYY>~;KfMGu;L zKpyk%9cv{|c;0`&u=!-Jn44m@<X`+?tkg~1j$2J_o|S>GZFjdvs1zqE-Q1F7Ox16d zO4gkfKVFYyNx_8&1zm!gsjdrZlu~%kUlj;>d7cZ=xT|3aa@(%)oGE@39xGN7njw0d zdha$Py^q=Og}F4J%O!7x<6AL?7d-}(%glF5UMA<Djgr;OlvH}Gb(=PuT@TW3<*<83 zHzt-M$H$tW!f5a7REG~>&u8Wtw(tFOFz$0ycNavmafxe(2*zIwu%bf}3m$R0PC0LG zpLn3FYwLxUU)i6dC379U`}}OyEQNp4AE#kBORs*YQ959Hzgv{Va#H$goLF3p2-&8D zqO5!^)M(2-pRlzv@sH45sNL}`5}~;!I3jz8n|U+!<V(T%R;^m+0Bwmx*)w+8E9H{W zG%lmlZJVp7vJ-dkq^LR3=G`wsZmp-jKdACtQcn}$kJb4)C!+*AA5Y;)T(3D+wDz2j zO00vMClLPR+?(Suui=vETd*qsu6H}YdZFO~*DdevEKNtvGeH8onX)@^8C!d)x|il) zUHN(!mI~(3Y+WKAfplg@f^RHtU0NG!RC8EVq?F^}{suYxvwXroGrxYhV;L<{Fg7!| z9FGk=y)^RFPH=7G<eA$`sYUkZw^2alcd0WdD@eugFcZyEr=qh~jSQe+{>cm0&r?L{ zFy-2bxN$@%<TmpnmZo=3Ck6v6Fu-(={mJ~#mITuPu69M!RsYFiCWeRGy&Ti?k0H!H zzF%p@yLV^&&Fzva<&;uW_TH;Y44gM<EWiF~>ytx~%KSs=2$q5o^(x{ih<kuSSp8)` znf6`$;j1(O!0SyG()M6BIj{>G*r<A)S6wv~-Msv_6hMZ*F6JqZDEFCMEh(km@^zgm z1^!4J>UyQ$p_qtyxjh6TK{2?_Q5gcb^+N4pysG&MMo)+y`I5l+GY@lBsQN>3yw&T) z_un6?N9Ki54YG*TID6iF=eKG6B3xQ7o=}{S`RY6C0s(^`lv!3n3WPl;^G1f_%Odd) zlvj4u0pXXr#o<&L_Y2eqQKdNMGG^MF5aT&YHq4GzIn6cdJ?AQVK8b4Aa<1fzl18rs z+ssTe3!yCD$%qs{g^vwnKCz8WiBFVP;2n$Rv&+J(UYd8>g)P+)@iLBNMEh+N8VD|W zR+4LYq4-;Bh(R!#1gsH{nxfL<U!qGdrASu&RGGFF;yQsN5GBZoh+GWgoA}8abEHC< zUE67+*BGM1UR2b8%{0nu6R<yymN@-or;K28C3&iUspqB=I9}odkfr(@T2WarKhN0E zU#8Xm1=F(Fu!f4g9295|WU}hcO_y*M$#_TN?QAHrBd@)w02v*42#-WHho=Nyt)-j` zPIkC;G<tt&ZrFy0?RI?5UoL36QGjhI)x6z~bg6U65@iWmF^{YJh%WHEbFC`FzZqCR z)+xn%QQm<+4iIMmf#4ru+cH+MOe3#V-Mkozng`m3-sQJ*oY8%i?MT2SU-&YI!|U=| zX=LTvv+v40bzb5+tP4|EvHQoWg@o*|-jchF>pq`z4E+Xdk~Hn-v%MyU-+{MU?)j9# z2<G_@aMy1-3=oYAlVE$702Te6(V+IJBPn@ouF635N=MUp#3hx81ZT=$gFuy=Fv>xr zReLf9p`|*myhS*UueSPr{0mJ%BN;6zgX5);?<+A26Yx6}K`Ae7-x8LgKhzC-4-~oZ zo~kYV5&Et-V_P4jzLr)-9hSbf-zBf$>S^ofvI8VA?OBl)?gB@igEH`89`Pg?#i)r! za7k=7n^O>->j@0W?+xUhnfb!;iWsAGIf3@LXl|*6A~&N{-QqhQ9phJUDoZU1>7qXz zrK3a%h#v$KTT&xQsnwjdIPiQ<8^DsPPK?7=D2+;~mZ)I8OMN25z3rBf^G`LWkplUD zO3m*;oYF=lMaQj89S!Bh26mdBXJ^gihj6#-zB=2S*{VYe-hmx-_jKPo+Sn$8y~b}1 zbNQ3bhXc4kO+Fhwj^6B+e}Hp&vL4y5ydhbXl2|VBhf_9N#j%#Ej=jS9VKNNMsC?xH z@^3u=)7(*%c}RC2ub|ua^(KLYL*@R}+Q%<iJlVLLrcNCUCHFQZsz<^ss19hwQ`d9P zo!%X*iCW<y@yZlthB2nq<5B?(hN8@(XYRWBylEvzsqB`n$m#y=hPJPUj_XjH>g|`u z9-8iU4;ItE@E0T)c0%(xFuUeys`JN&(^GQB=WJbe-|C&AN{I4UClzI)s8cv^*?i|H zrHL`5K-e!OSBufzOO6RVzMB599-pD&H65c`pg8Vs0ynSxTEYa`k8E?;=?aF2*Zd&= z1hX#5%M^4Bm)Ts2O>?!bSyqLx`I3!(Om&!=!^1x5*;%TidI<c0pH#iZCEV~U+7DHu z`~>Z3Nu|G=vH%i<l|g!E0}#K&J<UUIV*RQ<-AEbhJ}scByLMG-mjN!XKem5WEpEga zx>Cfc*!rHdFmnd5y)I)w!-I9GL8ReJaG_!>OFWp5bu07A)m}QhSs5N$bBvCPDxq}+ z*Gyc$m#DAnr5LL5Ig%I^PZ2%UO>=jT8EGsSIvavRNwO}GxIk?lOOLpYh;$#>rHHcv zuy$T>>W<vktDt%lNd|NEYQ`ZcI~eFqsY6i&$^KMqWhNt>;J<#l#JQVNHU}JLYeF02 z;;rF52fKn!x+w2syLlkp)Nn6}m*Fpg>o-m=mg#bx0yg{$$pY;<F>jwQN|`qbVfne* zd=w6&7B~5B7MRcdCv{gJLbE(lzhQjrlSF<R54@4vhddE>a9%xv?&RH()^tX?DvH%N zawhqxQy{QU-dx%;KP%-EX)I6C-iVZ7fit;d)Tv6Xm8E}mCgnB74}%04h3mLpkBYPX z`@&2id)49)J3uJM?bU^$^C<Gi{SlIz;;Cd6dg6@3bJ_dEpIHRr%hS^F8EIteeft&h zT13}R59gr1mKfnT&nZVl2!+L9O&9KL%-$-VAsUd)*eD+loxJ_MbuWJc=bUYCW;Jz& z0lq&*x1-nqb`bzm$9m1lMXLKUvNr_{#I{nsQ!=Y}PAQPRp!}SaEz9t}oq;d@TvMF3 z<TloW+jp0GsMxLJ$E>YQc<?dE6o1>rzhcRDVwURep}@S}JKli1FY+ea=$(X4|IGMk z+`V!j1zBV~zi1C$c(>jBG!moC@klb2w@^t*XX0?#JI|Mf$!HU!8C-@!>uV@0>^qHE zHn0gDb9si8^_Dw>4C2(p6|XFCw@$_UY@!@pzW`wQjX&H`%oL;lsP_;c#0lEx2C@UD z8rkQ&qwMf*r-<fXn0=lmnLtsku+N8YG*(|8hq*PsH(ozIko^g-V`B44o4Hz22J8f{ zk#m5e3m+d2qVKyA*l?tSM0vObrz9G;;g9P2A`YfiWP&PoD;Sq`D)XX9M#2{sSE__g z?NU^espRVBdFoGw?FIe~5QZMp%r#pk4lU?R+<UUV1Yx^#VFw`+Jx{{o_Xe2S_$4~L zmWI@xg>z5(M5WF9M`|t2-+teGCeL(@icugDI&(tW$0x6eh>;U|fUoJz2>=&Ca%azx z%#RnlyK@Ky(OiCI$xSQ|3~Wabyfk*(ZRn3VJ#A7o<+;^ND*pCJM1sTU%69l=$CDOA z(jJbr88*_$yrUMDBkc&d!J}K6m*3#tlUMy{U1Ku+`-f98<S1=CU<xUacpN73#u<!S zaK0NJF}GuNh>mI3J=2iSA?IM~;A{WXBKDlO_6#ei<^UmpqHKKUqaucTTGK{P57Yi{ zUxoBG34{BFg327ZO;cH_fRr|tOSl*+J(BdV{eMWzb{Lv>4EtaZFHJC<^>BQ*wY4k8 zNy36kbjHf)c+`XJNaw3)-MfMU@+}37`}OM{Xl71~U%6f}#1zW)^l{r(T&I1=-sd29 zj%(Ae;X0m<%|}I)6gCk#O7C(0(b;%7N<JU$+9!duec9}xcisD$&mN;)5%@j5L*@0S zPz$lwB6xZtRQ>#}_1&u_%AZLt-o#AIgNWkoFlAU+u^4Tj>t8mxBR`l@&jo8yr=y2c zf39VY6<!^nR<1>o2Xu}4`Hbrh{4z&&|D81Dq3wju|4N5+wO`o3tkbZndP<6KWm9*5 zw@=gNAB*A-bo034HsE?}h{%LXs-MxVsXJg$fu%<_m7O$|fBOA@xdi2M*a+JRE?d$j zk^;`Y9IJrIijnbcOo~eac2F*CA(&-8ryQ3zaG9Vuq_%&%wIsfY(-)eecz-C7XBT^% zl(fHe$35n0!17v701c82W?-*ufyJGyuBQNwO2N>SzRv5ke<a8Glf#h7k$tBs>HBXa zre;TDUl!~BOOQ6J4n)tR+Lh5aQ?zydOtEWMCV(O&)nELb%cxzaT5U-z&?B&rn2`5t z?#p}Dja(a{%TVuQ$lCWYGmz1hG=W#UW-VU9d9rx%tTwM&*Wn>)Kzt!w!rR%;N<^u? z!BF=i{V1a=7>MgP%8#S)S3OPR*jCf*qsJ%$wDD%G{G7eL{$ibCcge=U)R1P^N+LGM z@rVmdh*n)=&jdC=P^@`BontQ5a_G)d$XoL&SK3bq114iXKPN&|F3?+;C$G2uU}IGR zs`N!go=Riv-p2EYcEiZ%m;&}mT?q9(FGr6H-9?ZBfp#&W47;3mSJggYbanW*rvL?I z7XE+PW=xJE?f}0V67QCl$3_n$Wc!)A9Um&9(~6@*g6hKGiwJ9!rOy-%B`MfVO{q#* zlG&sxgC3o4Kkhl?r$a0~Q@l}B6L2pNLldK$*LAYxQJ|347|#Ld6&!<u!fxcsic!0P zwG=(K4QVhtgXPSVYy;Wj<0L!NCE55>MSrGIj)3ZjMmjF!c7ihH-$K1jzu~JFc%Gf` z94YR=!zZWJ+E<Ar*JkF*dy?kqO*|@Uxv!;GHj3;83P?AgP(|{(HNM3(r=TvW<IbM` zU7qouwCM{h{&n57FMrp2Y|kYsF}r*ztY!;uemfR!eIS>Oy?ns@ZDF8TYYqj<7>p&Z z<j3y4zmy_TeDeLl&dchxv+q|L^1np)XY|m!5{P$_X6<IqBhW_+jF_{}ZVYVh=nb%3 zt-EY4yDM_iB6vBE!;A|5J~T|pH{8Y>!ltO9Iucx2IzT~@ckU7ui`rV6k7q+I+n>!f zPLF1tm&We)v_=9|hT%d?CMESLA|!!C!-Q}9mdtH_^SBV&Enrc`2O(5fg?3)O&FyR! zvjfbzq?3!BD8x>d#;tjSs`^H~m<!0M>^7B`RJnxREzey~#Opb3y2w>m8zlk@_5oN` zeI_*|x6UhWlO0ei9H1UAg*IJG2|jIcMGsS;231p^_EF{h4<k!Jr4egy^+f2)$yJ5~ zB!p%HRo;8s*xU3l&!$vH7J#A6!rc^-67Q{t+SY;ge=lNuv9g|iQ~ndW2x2Y%;mfOw zIYBc(1HDn-{EY7Qg(imKtFf#21*wfi@aZOr%@Q&4K1RJ3*GTcW9w;%oFx=Y{QF@(; zjcjEdcTqU!EuzGLc4+KDj2=t`FW|D*BeIgT5>Oy>1}~#~CoAK9V+c~`sw?+8iV$IV z3<R<TwQ4l;^IX-}0V#}0qx)53Ih`Kj(*?)>K}qlb+hJ3ImUHaHj3UuQYAv-!p}Db= zuvczQtj$%}@`2#FUzSJ8Qu&KZ%L+!73c-{Rkt>tPnrv_)&c)u+z{VqPH}!~M5?8a2 zxbQ692ka?r4xa%O@{pvuF>39QlA>y!&y5f3S8tYIrW?}yDnko#9p|_3k@zrFAwP*P zx4VY~{HtF(dHD<&H$Em*X^rA*_ZeLZ7OF*{#uASv|H;JCok(aoVMTXesQIj-NSYuH za#@sWE>7w7>dU4%o9s0hV4uS#Fhlm7m^#D-YOew3O*UR^%^-1l+KRl7>CK$A1^6%z zWC^6d>&ywp+OYa5{F9C;%w8pxCOBQX{;M9<Ts<L+bxsTqY)xzwa|BBItSxavhC2^? zpH{Cuh#_ouEy|~DmW3Iw`IMKXM|2ac7hb05jy`xC{|A?y0~rsRm>LzUIyv{HtrIhl z5a)%5Wm`uecS{kNWRI|tHedzH%#&b`nWWOMy!(;u{3BfFgQ7Nv&Qjm3_E^Djv2AT4 zF?n=aB!~K{GQBpO!b`{bpLW;q1^i;?JR&B5>z)63NM$3IiNpbRkOW=j2rxWKxL!tq zu#N4=`>hkqF8Z_Pe;^J%o0`I<+Iaif#!Lb1TQ?=i|3+a@YT|ozaGG*?0y-dqL+#}K zMS%neo+S{GGqTAXTN%Qs_!)a8$8g&_-Le!5aoFmQDRaSXzl9n6!%->Zq-Wal4;H5j zbhnVG;h(t0H~D-gt+C%CDrSi&rMek=WXJzaVi_mpUg<rr`{X_{qQw8)R?xqVa&BQs zf%uB$G?rDzDP~~cQ>Qq|2nmEL<$L}}V_G<y?;PH%gEsys*GN_sN{IdD)M>qV>g+G6 zRldh44ligEE}KCABB$<XiQ4_#`LQUkDctm}TSs;3v*E<`{lH&5_Q^u&Sr|R5kA-Ng z>z{=>H%W&TI`po2D%Dkmvlm-&{F+XaJc&HqEMG9;SrokGixd|A(y1XzA9=+hN3>J% z`=AiwRIIM~X>3l!lC+*ZBI$nkT|QpQ`4nmCu0lR&`D3OO3uTo&K8;v0xy+}D&nfz< zE$KtP2HiK~E(x(`b}az75Z$N!zd}cEzqN-!?#QdK<_(r%d&uHs8QN$7jmd#MH6T9l z#jt-CXp8ynWhtwG4IuR{*~OYy^}OW$b9CQ~2weO_4^~uv#1iIPo*WG?1jRK%KcF;G zq4AZ7%Fc9uY=CUp^1@CGPco3v<#<zZxEZXNRk&X=NK+?FoYIf@(Vt4;hPzr<XO*RF zqv__W!uc%Cy1(Z4!{R&lI`8<tdbAh-oW~{Y$REf~&r_W_jS0=nD$<m|W7>Eq2WMM1 zRUjnQ99}uA2IW;MzW@42MYh;l%&KHPTM@f$1P`1BQ^4lP3vttpuQ`J{C3w{W1#HsJ zlLaD-CE5*Ye7xcho`2(x&B_IHRpY8y2DIzno&IL_od}~O7ijr+^^FR>J?Kcb*WgKF z+p;=g**?pYG__xfz0XrwuzjMNW1a_>@?Nnnz>CLWi0L^MGj+kp%RY~_P<V%rThcT+ z;g1Zyc(?g7Ni95R-!trwfuZw{&Mtresz(qvGIkkxFP;iw+xY!>QenqV1zDZrR@CQP zeR@&I=CrxpJH?CUVdA?$OQ59v9DSLV%;iVI*DeFKqIo}wV&rhvclnHo*v9P=LSH?! zPXS;&hf0*$U%jr<YdlKi+*go53)d{O{M6f_*a^2X;CVB+Ut=eM-I&QuHx_hdJMWB0 z+STQr2%{GJq!zF*#6wZ9(!#BJ{T0!OGBqK4*32_XsHvw;4MD$BiJ^BD$S--`eA?F@ z<dj@q!H+b4-OEBnTs?8H`}8U1X!nHTT%f_;Q5rAcSwgSH>q8UAdb_1b>4G?@WA+9* z2h5RjuzIv3Fw8eoTKR@dSl(w05Oyx&*jYmui)=<X#%nq=ddw>l@QV6xr7+#%wtGz9 zWnP(v?PHF&a_y*Wm(DPXKRJa}zWF9gNb3p5I^M*U{i}-!uz`mNGSv4{jQ4~nM8`BX zm{!*tgd~rAQ+rWOB47j5A8$|VY;1Ih)+<|aboTF$&MtEtXsKrqm{d%84gm(e5xU^9 z8T%5xD-`b1dETn=`i(i@R}4a)5l=~GvgEFhm<rEM%WP`iZq7K3^lKIptTbg&)3ix2 zFbxRv_$#|=Gjx2a>EC}9vZy$cELtZuhs5rTUrulAPsK>3VasYVKQ^&qp(Wh7Fa+Ci zi+21tXi0cMW$xVSA9J5RBS$O9LU;T5z0=TGrORq<wdcXz3`-}mZ<S1Hl{8IQFv}S{ z-=uM@q&c_^#ZrYeY)a^MK>!<$sf@PgL`KKH_{n?eH7)S3*7G@;^c<94Yj?-Y=NH=N zlK;J#K?p+@d`16@EOv~_Kp;rvS@h!_d_K~4xzss_Ny`0GTk!5Xe?W4vHg+>Bxlya) zFcjYXBdqz6IQbssyZaJZ6-&O7wQjg~D@x|QPl_yLFJI4&K|1%!(e#0MKUfY}VN)z- zKIiN=@p#m|di)ol+WcZ?l#QP3*(8MpaqtuEXO74hY2Gw0niDdRs6%$q&7m|WG5=!A zAaoSo(1exE)>7eB?*0{FJ6Gbu^a)NMjUpoGmt%<4A=KmdV$V*V{R;^bSj;knAZYkX zPJc!`YICC6?wl?gPHgA-*uj07+a+dId7CbslVX$N=C!K)2KG-%S<del%zq9_Gcs0w z1LO~!#>LN;85^H>?aEyn6?|k3FKpEhjI-n(yRgy|MjxEV1M2VyLgU?}^o<Ms16z!X z5G@56@XA2EW`-)GiJAC<6_BUC!bWs1q#@TVAk;WJu_9?NR>Jvs5Z)#kHuB?m)Jp^5 zeWU*uMlLD<7U6V!z!de0QMnglcddx>`wW7A)5(qcu{UFKJkZuV?zW?_VNOxbppl^H zGl*2=nj^qlzGp#S&R(V+3?@F+!+9Pb>=r0P!aL5)q4=A8YVt1pZD;7wwM`6b>6atV zS`@&$dn`EqE7;*zG!L8u_b`u7>NJ0;tjqrA%0lMY-)^J_Z@aN8=zGU4X{!;~`qG8C zVJ9tM{{~|l6T!rDGjXJB*&w7t(;7kpoR@VxdM{FBW_6h&_5c&hvje8tURV8r7c?a= zP-*KtR&T{3GN_ik!nB?U>6+R`IKK<@D~0WiKB~T9hm~Eeed0k;_7i6!|Cg5bEaK7} z0`&VVi9WvYAf}#(jeV!<7C*T#)BW=oKel!<`PwFJKoD*%A$?W^p4vromn0|!Yy&ik zyv<nx+u>+2Ydbdsvi>8TV%S)3BFcURni<&JuY6cm;@wh@s2HCsM`g8lv`rYBO7*Oi zT<O9XP=<I*{$24x{sYy;a%xfI=(&qz_8PMQYJ47{NQ&yVGEMAD#mS_%l4>VU6f@_J zyjZ)3x(r2$7i)ZfBF?r68ABCOf2G%Z#IcH9{XT8WWLd#x5u_@MV8%0P8w?1UH*O1? zZPeWm+Mnu#>RluYxm#iEEzgeOL;fm#PSByZ@}idwzb_FWJVOsZY=4OOTSwa~gMy4& z#1(DvHN^AXy6d+S+HVBw<j2YfD9jjjufV9_ybA1QWf(28EUCsMxlZ}~Pt|VnCxLeF znxZqAYTMUot2L^#8B{@XcJAjR_EXVVN$XRNOFq0FH6r8Q;?IpMpRvEnWixpD#>RS= zw4pj;@SMY$3x(B;OORL+`vW{64VPuMa(G>Sy3K57oj6{QC)R7nRX|4egqnj4`sEM% zs~AoK|FSdF+AVmSXY_Ixu$8&^$J2A**s#xkX(22G9(szr{jEd2r5<OL%#ndsw(l(y z@<0|%dXj%LVcOm~K81k}#Gc5e4XOG2Y0T6A*y$*-WDi)lq{^D`n=M=vDM-A;=|`M% zm$_W~G=*lL_ozJhOli_>HkMwHE<9n(VDNw?3cz8z_ho>9#n&J@<1s(ATL@&4+ayu1 zy`QmolYCCl6Z>{tsH0k5n2ctK;2Hb<Jm08LKMeWBbWUujG#MS>oWrD8A|OgZ_h|U* z9o+tCZGHMUDT-Ih`8UBHsll0@ld}=r!Z{elWC3$cVbsxEBPjbMD`|S(vy_@-P{=O@ z-Lvgl+aGvXJXRO;+A{(G4E~5k@wDOdC0jJ*@vBJ;?c~3wrc2E5jj=C|e&=fEz`D>p zjynM|Oc<q<9$iXN2P_c(*QYg}gT+L~q0EWG!^>6;+aXw4+QmG%Abtv)qrGQu-dZ}3 z!bx+oHdq#*v@E6`4&7(2i;9=_AFKP#_^CJ#m<YVBS6=3h;)|xjclg4i6A`oZe@l)P z&(785h{wAtA!&q~0`7;c?M^<>en(I9J%HUC$5DUw%BRN&UK)fVanK6-lSBR{ON#JD zXoD&IMUX&sh}yNK&mcGrKBZ03_IU>}*~_wIJyhV48k2NBM$eZc7jMYERB_fL{7-!T zoI;GYQgXMwra(mmUY&1#zktj_^<dUfO%6`Go46uS|8k~UmzhcWzTo7Y>yq%fg<|8! z>8XZqpxq^*uAd<|Gy>fxdo@aFjiblTbT|28skC>EHErf|%(JGy7Z~;N$pmymX1dZ6 zwm_l!MtfP{|7-7eOyR-4;M<^47Wrz+=7^VGNg}!hzrP^}`9}j9X+(gHGAwjK6z>6j zIJ%qXDEO~0(seN}`<jm4j7dH#Haay?cII|p+op9`{}L#M*hkSi>AhhV>@oYD_lp7X zfutS7jXz-H2PY?JV+Tw0?>_x>y!No&viEFkd;lv6v^~x7>j+=He%pcILf@upE65+8 zL_`O?M;ctDv+b__SZL}>@I`DoV_~5xWn&Q+ufa~wWuuM+q1_d?57-SzrPdmRk$*}p zw9+-Q5$+4v-0+tJN$vX@;s*X&NYJbc2a_HbV9WnMg1GEEr5`$9JJ{*_ym3FY8zRln z@P?|p-__aC9B@deO3mq=JP31tv1YN0$)2iwSU93)cuJ?c<O)Wcq-2+sw-HW#>T_}l zGZ0t&Ls<aNiD2j+#~NzG&mPb0PP-j|%2XX=M+&@F-uUNM;;uqH`6J#gJF^y@<oKV1 zEbzdhE))$m$(uJ=C+AvBlu)y(IMf20AS<yEl1gSq0Tcezotfq6T%{b#b5H0RC$~Q~ z7UVjfykl&B-#Uc+Bka1PXy02$mC#WH^NVmBiFjl1<YnQz5-MElra~cGi<UBd7vHQY zmA_N0gb*TQJ7>$Zp!kX2Kvo@zN<L4?^g9w}RPXn}AsQ2Md&H}wClZ=8PH}1xc3+AC zzUuwh9HFElgH0y2oT=g|CptlROjszB0sjW8lZ`Oq+Se;`X&P(T7)bM*QuV74_hQ|J z%km19{S5+mt_Vm_KOj1Y=FCL=#-?LFp;VEe?G<CKQ+oecvo1gI#WjPd;w140ZXhh$ zmn*<&<j$yQEOXU6{Ftd)#{D=r?qKD7A%In-yY-Vv^)E}oZ-9HCRCZbpL_>(m66}Pq z<@WZ6rJ!bKjM6lpz4@hsg>8O1A&d+B3(^1&0U+7FJbY@2-%Z&X?QnP}B1Z~4qf_GP zXB@sp4!T$aZkX)s$8xoI>GN!~LfZ-I2)T8yZv-XJ5)m%Taht11LiFQ2O65N~#-lu8 zuEcS9<x?K2`VvXtQXlF$HlorI7$H&r=aQrLwQ7nO**n>P4zQ=IwTH>kNs7qBlUu1( z$DO(bck%vFaW;pPVCvS#2&C`=Sivp?=w!D<dOP9`+Lv$;_rP_$y82k>LCHL}`3#j} zSgIVaF(K8aSWY+`f5>TstIhI^k>l7$$sUUul5y*W_p9Uo{!OITQRoHjR+3RRbM{T7 z{;Ta4B?Uk6tg>VCe^vXLU|WtukUBL<Q0UBhZ=e_F>8nzJs(+gi#}ApD5AnsA6le;d zFnKIw`1D~}`EbNzzw?ixjQ<>3`kiL|g~gcw8+cOmb#3L>;_~H>nhxM|{vAr23wVM( z^SsK=j>+?ejt+06Y7lEH2ijn|MrysD=h*qrMNq)&<zr8OB0eC+<eC+AMJK!2QLGdC ztjRfK+OXA#S^yfDrUYkZ@)eomN);ia!IIbD7B+jVzjp+%I|LSTkKS{;r-r!G5GBvM zVvwG>qm|x^;3fRs$kW65C(BVlT)p#w(RFgU&4EogZ0_%STWA+>vV;Mi@#x(9GYPZ& z)(u@Ta<ey~!fNyGHa5AA<%gTBKbudKT(CYEMEctWdTyXb1q$H9?&!Y@U?*aa8soV% zo!zk9J%veeV<8a2Zc6Td70Yc%j!(Da%e`Ewh*`s~(Rt(Z=YGYR?IZy@<Vv|I@VDjY z@y5vvDc<x<eEx7y6^Fbs@EI%il2>*@po8@0uz~pHY7cde7oe`Rv`BXvI~V@ru_eKZ zc+2G=B;7pc_&jvPb}(ZG?PLEOwDF&B#_hTN^7^#3^nr<$jEpM%c(|d(PL>$8Ul`|D zd_H5qG3||Wl=1driN~fvh@?%;<ltSo01ql>SCWv0Pv4x<dhMfBAy<>`NY1$43#&=) zVGF+0&c-0c=TL87nCku#L??2dck`sbX1*Q^|DQ2B-5A~cPvRZVNHSX+hO%l+>&}7q zdhf3Bx$*b5_xGwd&K$Vh2IT2SJYNhh1!kp^xwJc^aZHP9qxdr=1$lelH}!?%;M4+@ zEu1y-Q*TrV6&DlDa`gl8q%6|fT$2tyj(;DKPFfY;=|TKG2!YJumk~)^tyK17g3VlH z+rEgSW#O^o)bpd*)-Wmzi8&iRALo9p72Tiwq<0VqJef7BZc}wNi2zE3vSYuOG{7;r z5%Zp3qM$nDqTWDsd)>3dU}q-eyGHkfkmnvi=w5~6U$YaWz3O@hY5z3CNAOeF%zuTH zqAO>qB*Chj-YvB!>;}cc=@qR3?e5$1Pl`xT8sIw!J);1=SDEnQX9_i9R<odcm#+xS zYjBNaJi?WLst;^~3m3v_im;1PPWeF2^xeYY_^o!LOq9q^<bT7WceK$PL25_bx4K_q zou<@n{C?YHw>Z8<>ER?sRSwSOAUA#3cck|c4&OB8awfbRPI|0`QSf=aW<Dn_DRCO1 z<DfC@4gu>s&z#6{<A#Z*n7!wFL(sbO_Ccpy)WzO(AP#bSL!2msfc^tpT%+!kyC>is z9oyU%9oe-J@GO;_^&NcuP43XksTmZ*=d?s}-8B7pEv05SqNdsv=U|}p#-$Pq?_As- zKP179yD8r4zpF_zohq6pZ1zjkVQO5tb7rn?giE!3%azO5OM&xK7cW%qcT9lZG5*4T zC?YQVR}&9XYb~UkQfX&VCOjcHVrX|RW_VaIrAgM7b~FavcNiW{1Rb~2pD#T~$Hy_Q zeP>0Akxut@=Oxh31H*c_b5_Gvm}@_PBRoGgiv*665@j$JRr}<o*52Z!%NH8w%NzZ( z2+XWK{2Cp9<2U>u6%&QcC!l!J!bnd<OQ#zu5^BsPZ2Bsf*O=Gdnm=85(LVMU&(cvO zG=E~q)uWtihpGoZV{dV}!a{aSB&nLEk(;1_4^o~bz#BD%t=|)n&I|&?k)0pD{PfyV zgaSFbNxJXopYPH%?Of9ePUM}~SpP8YrAY_@cs5U>kYRbGlFfNptwxCa8nhiyg8l~= zCgB$6Y_Y9a+_TO1)Y<@ZrREzA$d3I!8tG*Y#<~TtygY)6s9glwR1Y2MR~Srp&EhV^ z-|J@mn?d|R!18g6_wCiyE}Dl78;{6g?gG*A_6O$4R@oj?VUHzsF~(G<y^a%h$*IOq zj(S$Q8@5x)x+g1jB-By34{yB~=){@8(Vmh%v(Fu{3!%hau0s(4uHxPL7kk;NKgnFB z0?Jf(oCW?3DPMQf##6<ezU35$S*AY2V=9nu!u}+c=78iBgrd^SL*PJt5#DLw{?#J0 zD)49l8OzRht(@bq`YY1|tnj>KO(=9c>i(BxTXX^3&fpU%r(*U+co*tipg>4Y7jChi zIVEwfCi=+V+ON!qqi5JI?TFaCZs&q+48q9D_zZ<4b>&E!p$r=kG$RV5RvCilqVWMw zUb7hGSefGoSF~+p<7^jDYuQ#`(gkZZSA!{4qMYLo(fs;M!VyC1zr(tCUs@{VIY*zz zyW_zEfqdP6IDiiw9@mn8{4Jw~v49kZju#Z>S6g)w5nv)2)Rn_#kI88MN!J$3Z)_Pl zv<Yx?tbOSn3&B7F&g%bacIG`a*Y<L_d4GuCH)Tj4<1RT@MQsGpQ+az)7k#TOE4m1t zmq3gJB*LA4f50OBH?DqYyNTERXIcs!l@-5_@W>C;=N=1#Z`B-N2*PA%(t)fB>4q10 z5$^tA40x?nTi@8m&PZc_w@0DTE_`D)^g!nQC3Yc9olte3Gka|;;4@9s;EJ5lEXIj* z@5+c^dNoVS)<0+BU-tCV)A^b=e_7TX`qrLZzS!ZDb|1a|i@R@i-TTXCx!+q_KPKg^ z_qbP;M00`d0lRuSDm#jUMWnltFzJ11Ljl!x)LJct`2-i<1kO&mr?q2d^k9k>1I5WK z0f=@0+lv(5(<R;Vv`urpzlR~tou|W_AC^%*g;N$z_jHKEnxE0fP~P2<R%u7@pM>rc z=(K;#l8VCcoemB9>gMmcrZRo7hWLT*G`BMfYd*foR<Kzl@dJ9=@SE#fGq_sz+KDSU z$sJN`C$0sSFGK))gkSx+)Fb~r9T>iZd)WllE9;XJ*vHN@V+sG~F*;nii|e@0Kd3<T ziUOr9?a$$VPX2X399s#0RBQ??d3Cyiv8BA|o<NbGv!S0iIz8xlf87^TLu9FjdPosV z_jtIK#{bD-&R$4at%<F)iNppzm*A5(a4Bj`i?jQ7m!HTxx`uLT=(K*qcOh4&@ZWM; z-v+~#uX(ZEPvjt~GMq<h5+OWdoAt;RBQJJlbx;wQ=|MdDZXwl~dE!~c#0yoW!sRS@ zzfhl*ddwy{GfkSKc$F;Rm>P|5!L##Z-mN^bWxIf6pPy^qGS64N%d9nMJ9Xa=hGXdY zVmMC_=?8bO8~7pFCZ29S{vjgMu3t_TCb|1)u4;MJWC5~*s38bN4ed?mXJYi=l}|t5 z6S%rnn2(dv;YHQ*tio$a(CUee4^5t!a#~_7WeR*^m)dyYwi@e$3ryGaWQ9xM{*!6S zGY;zH1=R4DdrhJ+P=3CbuoEA;szP-$%K-|1{es+Gg4KbXbTQbiJ3q;=A>LRmsPJ0H zK_*uAFkQMBD#)(I4eCVnb?*Sc7DS>2Qm43{pG)9d4+yER5;PQY5t{nVmU9G#gxZqY zFm2AphIM^5PbEOt9w2D+Rtubml?va@e(oL`J@W$xK|Ot09d;whHbVeX?akqKeflm5 zyD8n6V3~s+XWWd@_?=C#p*Jd58tR{NblBBwg9|tw$_bJ$-jyng@3*P3_p;x*!irC% zmooWp2ZzhkRv+7x+G#SZtaI^5YE>Odcj(Qv_vTt<l5;AP>}_TPUi=!g|C-{}kVxmi zk4qm=$MTEcx+!2USH~4?rZz(82c0{6PHP6@dWM1~y}DCJ1QjNYH))6HiUM^=_)J=w zab_kxDxbsVsa*i+jOpeutf@JZpR{pCWhW|o6r8&}L4~#C^1-+xFBE=28WBqQ7CE1s z^1RpbnN6%utLzBh)D5V1KR@`7#NHWVQJE;2CZrpH_&uF;BHrsPpOj)ZSLxtP#%`1M zQ6T*Hhx!Q@CmQO<4-a@{6rn|WEL=5OxpJf|lymzQAXvsk-Q3aD8+1|YV~xD*Pg+=Q zx;w#(H$i#BWGi!}=%flXLimQ^WK(+DR6}}A&u=(3TpZ#ygxmoTiT=!#bbk9s5#6~q zh7V-n<7PJqJ&RGh9rAMNHCo_(OR<!s56&wFf^1e7>&h7WFKOcyNy7bn9A+s#Lvnp} z{R2N)jS~{nE(a#@Z;sWm?{*OH4cEPIAeWD>{h~fo?}8oF+}mS$&W$*wxx2MPEVXon zt4%)x+wjxDn>ugI&EkL;+r?RxteWaR@}>X%l6ph+sJS`wgWrz@Oi^P<@!@2;FbAp0 zb44iDM7e&x`DH-9tMW2IH_#L=HdoK|jS@Ztl_#&doX?h-AIew)d|$S<hgjQR+C)Oa zojWsjax36cp16^-E$%Bn8p{;tGLC1~0u+CaLEQ2>k#~gJX!&fmd#+Be89rnsYNt`T z-|fR7Mc(C#=~;K>6KlLapB*X2PqwGph#?MQcxic|Y`-IcB3gj~b3%4Sg?s{4x15h2 zx@C6kWmpRv&c*7<=O4WlXW0uS)x;{*b~_~r=NxVU)+5CFKHcgc2^D63;ij$Afl`92 zH19Rk)6!s4zh^p+@8#8>FL*>cv>yP12wQ6BIIGMQ?P37|GnE_9CwbMpuZYm!BVuc} z5WpqZW7lj@J5DmqkAcp>mG)1Pq*JOBA~Hn~2tO37xnS7G+0tFPEJ0;eFK+mH4-*~^ zH=X~rY#i~zyPzF2$^OmaSJA5XbHQ>OQ#;?ww3y}9_JuBI77Vb){#V*}hBetd{aR>J zMd>Jrf~ZIhEf7FZdX*woPz32Uv{0ogy*CLUBB0WxNex9ngam0pYN&~#ln`2|=Z-wj z|9#(co%7*bC!dl{W_Rz|naOWvXJ@_H(V4!iohoFGX%*mR2jOTSth`HUhj+60`Q7<b zjhIckM4DiJekwVqsXO$RniMU$rlva(8NeI!fOgMvA;JeNEtqe{chNK5_`%e9W}8EC zEdZ0#TxU79q5nA+mN%wh>@>3{QEY#-CVz3`x#mQBLV^4M>*Gt)-5S18cNrd7|C-eQ zF>|L1wYt&Ru{#k(-to-Kb?Gg&Hak$-Gmvu5LTG7WSj(8@j1Vohj6UI}iOYJIxd_fj z*EQa1zqZV(DZKNk`sZcuJ(2sg4HRwyEj$K()K_&My}Ek2LtEP6D>Aj(Y%L|y0af#s zkhjq(^)%0phQWog*G>6$JaC+=ak$Wr4(V@dHP+)?XC@wVHyjhOwS6`5HKAChs>lD0 z#qHwTr0XLC+?{GWSs&Rd;~bl3k|YfESy;5+jQVMAIJdOLqXw7Idtz8fqhLZYr(9$0 zL$`SepmK&^drn=^j*SeB=H!HgWb<rSdqqsTPIcqk9<m<}4N^tfWy=vg`b_jLi{wo` zqf)wu1?<&!8O7swjKb=JyQ-goHl9aXFiY0=A;(Oh9n)fQH-HkwfbH_7up{#2iB3#$ z8QIC(+|5Qx`BFHxS2<URP^D>bOwXEKKYVVouc<x~xNnyE2tyCkbx|2)idTOFc^vV= zlkEDGeN{Z{oB6<}s-T$iu7a}4Y-}Kfyl{@EDH&1Kl2`3jNlnz99V5jK$6PA<ECqbk zx9e7qHj}Y{TxtBu_OT5+@&FyEeSZ&S*PC4ZF$>`oSi69N1wM1nu)=;UObcI4qk}%$ zkOSE!RtI#W(%s5xrH0sPOLszkohW!P9pwXepeM!@rc1dF(RxR?r|<N*2&`RfsL^$< zL+i>5!87#_LMeF+8iFkXrS_STP)Hy#=IDBoD(6hAZ}9KEI&4#rh==%zNCNCI&e6>* zM0X5iu)uI=4qQ~~ZLsF+XZA*O^sGlB?LhrUwjh%(`y?e-*N1wgz2(<-W(S2jz=@TV zxVL*|5x7y!*vHI0fA+=P#O;11mDVf>s`)xhW8J)&nkkqLyF1=>y$be|tR2^kdSigs z-7^23&eyK#YV-$$2gl_3Gwel72;JXlwA~rY{ru_2Vhmyek#m+q=xVnxeYX(Hy>3Px zkFH7DwU3<yVz9<by~AjRG4$*KqYDE51~w6RgijH@vOU)oGg5ODbnm&c?NJZvBp<Ks z*MRXbuV3`7PSsx>HrOqlun~w3;_2DC%pe#!YK<?d=jqxBTSOY)Uq3A7lg8n<=gJVn z3;MGVHy5ez*&uJzE;#4j523yHb#75ePI=a<p}u@mx((LuI-jqX@lO|faxb3~rd~tu zIR#dqF>B|0!PoW^FPg|uPS#RSXXbkh3Fe<0=)T|pLRoBuM7_f0>xSSxujYm?uI&1p zX>aZo<$kffRu+yN>@w=sNt8o-zCw00ErucJ4dg76C-+jK^eU}Qi!3LVEca#t6R$jH z#ISrBco@XXp=Park(ax0+B0?+WflhIvSL7$ow<t$%DhleEYW+fiXHl#n`+Xs!4ZX> z-V0Kd^N$Sn`cv?%rx{y%E!;d@VO`#vUd=md1~C9>!wc(UWF$AHI$HPn+P@nYtj2i@ z-kZ#Ze%D`YUgT#|ZuHHD;(r@Wk5HlA0%`D}G=B8<4XP^`Jwm^RgK=HF7`2)N?}sDG zj+|%U7RtRG#lq^&yOLk&%H^mAc_89$F3uA&hbdqjo-?avFN4!ZYiDi%1?O=RM~YWM z@4m^Rlxaalwg~{Wb}r0b(T0N=zSeXV2o=!3p|K!)JvQS)`F`~zYj-1{i!uMZQJlVN z=X3#E)k~?lUxMP%z|LV1cG_nv`0%F6hhC;wSZp^dmHbzft@M;2s-*3T=xd9e&lXpb zM9~7<Yz^_`%{Giix2MaIdDRML1?kSuKq>ocjj%`dzqQl>EHOxFHzdBI>}X%e8pJ-$ z7bmmW&;+Cmyx$?J0N2Fx8HGoxH>`KVA3M*E$o3}E_fnb!D%KfA`#j0R_qLqHhTcJW zm$)PD%VMx29U|MpMUP`zu4Zb!$@_g(w6ILd9`zVB;WWd2MDNqSs`rO?Hu8DzFM-th z;g!!SpLkG6a=6KWPmYDIonyUJLRI4PT+@u2p#g#&QzOwb!FIj+;M47FC>J6UoF8Ip zwez~>M}}=P+J^4awo7f{Pr@rFzk+m)evNs$p@NV*X5$SnO=MpmQUt9wG%@k3_~rl3 zP{#P3tdH0kh^%}qk+tDqkH<fSlD8(ZJl=f2Di^B-61CAoYtA?=%T8F&w&8yACRU!I zO>$x{sJBddI_DvZPze{G@zJk={``vP{^?4Cy~6FhC~Gc06!zd5oyz9DDA}RsXYPCe z)*06<5#c(j*$^f8rKyZ3*sj8aCcvdzECG_MW4Tj@aY5g5`^`ZplAnx0h%1B*!=S%K zG9r%(&3mw#x0h0RiGrdWAcRn*q4ATmGu~$&<}*Y^qT~_jQ(1(2?Nd6|*_fqooHVmL z529|3h;nOT(h2vQRj#&j1b5%=qKpl=E=nkz)%$w3YYBYvsCt=jPne2Z%IuXC`*qUX zWP?y~wcRxKt$O@H+O}KYW`Cq_HjCqk?&th&Q(JJKcMY;${O-hc_1RhV<4R(`UyZuR zXNu2WkUQkiDfdGbj;Nq%Te>&9&6QG<ZxZ9iqmX^CF#%vtFaP@i9S!q8x&JiOYa+qU zSX(xB^o@y$uC!W*$a6U^P`Fn9s~;g4s|O*}+FS|a7vD~f`x%no22A~723^NWNL!F} zU9bzm7cvWVikqv3G0Iz!55Z)|n!FN`kI`AG)Be3CI~TAJD}NbD>n$Ca{o3bS2|tS! z5W-G-fz`SjLN2J6!u0gQE`)if7b~-WShV(=Obfm29#h?*{HfIgr)&g&tIsJ~QXUeh zwd49|&(CE>&JoiBz8TjCC+yM91s-^Ofg=bW#9`ocO!Kcf4ri`=ztO28R`^4-2XVoP zYAf(*Esbi82+m!x7THT_`_`yra6PY9NY2^E(rm(98=I`Q&Kut^U?_dwT-7ch&0MlY zd3FVg@O(P@zAakcUpU=PTWU>v%6XZ8M~9w{Osq$5@NMLBs-4ib?Y6IN{3tMu*11Du zHWZcv<}Ux#+U3@80-1{@EcYK)R@ns_CREtkAlG<Z!^=NEwOxL5chmmbk9gRs`^oxV zjF(@(;LNUza@X@`Tk<TBq}<qbi3M)OC5C5P&1IsluDfX`J*^AO9>p!ugfp<bGTJ9v zYjc3*6vIIPko;O^*LV`zN-iU88-K&$S=Eqt2TVRIakYU7ajt=K*TPEuiZkP5F-i9? zZCeKiQ@N3Dkib1?n|Jhci0;+brGlwjY$-dzY8vcv&`d7e8`RCm?tWrsRu_21Lv}xw zp^Foi>pib~ZZp-}4Gznm?4le>Nz48S*izFAZ2VKt8jYh1wAgQ_cfNXKZ><|gq;{d_ zYaUqN=aBzhF{NnTe33^|Cw3*9WmWF+4fKwg)KIs-)mO~wPe&tqD=2Nq*iez2#feq4 zU}}@Gq%#rnT~_GgxMxbs)1o>>j|7q6hGAGX&%$A=`inSlK!k)#%KmV9vT7J%ymLF5 zDe#v071MSs&0H=6Wh~{zAoaS+M3j78hW-ubLKlcvc-g}PlS=YyvvX)R`Q3XZ_Bs*5 zR+eNhxLs&_?)XW3G?&@rl7<V9E)U0Z^cqfms}j=q_yoab!_f8INU}H&J-En?^hNY3 z@CTt_ywV|j(Aj6-ipY1Z?WNor$Qf$mG(XfeOY|_cH1UlRj344!t6esnz1E>qPprRq zybn9bJE@{0bPLJt%F5JAB=-MOwM<~4fs~U$6HMq@z~A9cu`Mzt=YBJz2il^B>y2(v zSII1g=hA-!WiJh+8Vy|IZepd_@=;2a1O9%J=MDvo$*vl%Oo=+mE(CscWq5e3|Fo@T zDt~))OuJr%;lZRLt_mmhh3~>iU_MwtEu*dJQq$L>UF%>g&)IKWCOi$WC%nNH{Kzrm zmKoGTdL`*|xs*_X%9y*nONd8!O?ghzZPd3cPET+ZpM5RofeEn6ywWFkkP~#S<LAaI z9{%#rZmXWT8s~)-Fm+jtH$e`5K;}^oQ+($X^;i2!)tjrhbtn(@Ir0b5#$6tt?VNoY z?=E%mPe*Y*f4BrYgQI-$7u$=VyK=P_&rp`tpLX4yC-py%S8v@>5^t@N;PXEzZMgdJ zT<!oEh`1|+gWVJZvM?^7okTsX#x3lb?nUd}&^rgVQ$Rk-v!zDc>CCm9;8iqV8kdrp zBp#KsH@ut6L23MM(!5ZsL_}<cey^&WN~T7r{A$FedEW)z<?5iRt4Nlbj<&>0%@MP% zbpr9*<nD#j1~p<+fby!jAK$?SLVgJJ-fV0zOdwMC=SjtE?r08h`!$|;^np!QW>u#N zy7z~vn#GR2IiU#;iavpy$mn+5yw)#FEImN7=7frNU&)3p*{0EWRTRi(_O}<R+>oph z&WyYL)<$CKm}UL<6yNj#%YmAR26OcT=^|3_ogi$Dax3C)#TBvbZKwZ?ry;^lB17n) zd5<++IjdY%?YY3v_1_%GdGNd6g)AAK60o(O=`k;V4|ZgSv%X|3w8)f*c^OOJLq|QU zRsVUF9Mfj6#0VR$SxGZBpG<bkIaA;*sg_Zp_$<5J^<uI44S=;)@4yVjjYMl?Wo5~z zQ%+d(l?0;yNv}n}Fhpq2uf@gu*@GW1ee?H&Up@gny%AIYO>$uITaS&vcwPLwV!9+* z?&~OvL>iCS^?ce;Ra*nxq`K$m*(Ter9G$lU@SaEo1F`AY`MO8wUo#MQj16u83e;XD zW{TjhCd<(eBhb1s6?#|R^Df88uD=#tEUAVeU{a_v@sL5z8#5I$MJ)&(lb3HF2seE+ zCts#3xLJleh&2qME!3<~P8gb3tBMQtE}|#n+>aQ8$EmteUum+Osy9fY=$i<K2kk~k z!n~T`osDg|0B0*V!Q8QQ2Pz-J?QwZlqf^a^_jZa6PlV@2!$T@o+qS;G34%*W=iX-s z)<tieg-5fqMr-6$Hqi+P8ly4c0$rD-)+GE_dYO@p{{2ofHc|EQ0{1EXM86PBzAK{U zPzBL`FR@(j7&rc0b4&Kl#*r2?e-15OTZ_!O(s;x4d~~1j>k?Nl;gI<KK*0~LadX1W zNln$m2N_jIk``x_D%d7X6N};AQ+b}mYe%V*Z=Q^r49VL|{kkxCoa`TgsUMK?u<7#{ z9A3}4Z8_(tuUxYsqxb83HvbyqTk|uzNRpNa+n@;5vBcKCN6yK#bj6h5tLxgmk}3(p z1TdmzxK*(1YLfrwq2__cv}-8FEJNS)TdX`IvUuXAKT~s*OW;?=>W7sTZq2%d3Ds}a zo@3E6G5TM-Ls8+S?DHIdtheTZ>WP>K_1AyeyV=g}9oqc0f%6X!wR5FH-)?Ka5Z<&K zQ;2CzpLiQo+Y|5Fq?Q((DJ35!wa&Jy|ED7M=xNA;OZGv7Nap;=Hy0xb?|_|+@Ay86 zV;n<a0_OP;=yAXM!V$g4{$b)mVk_nyJp(;!7al)415Oo)v)I@W9K(A|NtJet?RTss zw(Rx2A6pk`1BH;;t}z&f?2mE%IpE4{-8zD*vgy$?lzQW(lSQp;Sjp<9A`sG8QbHo8 z3!dAz(8v+t5^Nxm6)VSCD%V&_jq=kUCmsd2)5Y!>tr5|x8$D+uhE7;RlJ*l}e&dip z8o!38u|YSa%BUv$quyT;#{YtzTmqf(92l2!-l4STzi=~im^(gn#a-tLJD!7b{9eea zHO8v^;heo6-KgM^7p<N0!*Q;Xpl-7xn}K5*QFt>9lFOJOW_&<I1W3g9&l?{JO;uvX zO1*xuCa!!CdPu+CtcNd{zcYDKvYSS#qNDv?Cehr=bqRl^gb%2X1g@6WHL&&t+@wBu zD%njRoC7Hn3x(6oD~5ddYoz(1sML%SKA><TctR6s<zj0lWiAugQ-9==niGMgTXOi8 z`Wnddh7W*s&GIsUxYs3k>Lsj$#vjr)8OlzpQ;Q4gNLpeXfnV1kZ<G{q=M9A|sRyi$ zqyW=`|KU4r1~3Qzg@M$JpE;!N2J<1>FrfGqDcR*x7QdjbCTUOLQzp>LOHzICgic;9 zM3A%v(r1~nw4D6czT3#chBs@0u}B|JJGcx_U0qV|A4!=bZA$8Q{#Prn@&J(H2%IKR zzd#UQR@VmRt5ct<npgW*BKZUQM$-5t{ywGpIl{Z;zwFW3Nh!Il>j*FnAp4)KByR9Z z^H25t7tc~!fQJJ9VgrSpOSE*UK?<sj{f30vz`Z9L?x-8t1ms|*s&clK;-*>YS(I=e z+%4h&y)O*hKLsoarh6$<l@eE};4nh0s@c{^D_JgHG(x@3zgIz89H@NzA`;ZozMSrq zSKP1^n>kPB1HY~7uid=boM$f`>e=$HELl|ymqQjeoG-kr9!-encOjdP{w1Mf-OtJ- z6-p4$PCvpR@R@(_x92qIMC($Gd|{}}4wirlofAFW!>tNrL8tV>IuR$0StR+%{h?D$ zOmCG_&~^;zA%n_?Y!Z*Aa`G_fMzkHo0S6k|&%RZ8Ii0b@Di@qTh$4<M=Um(w@m&{I zmhXih?NabpZl_X+B0EfjCtgoGLPq>I0Ute#0D7pDW5wK(do#v3$3oK{g<}xKi&xV` z2nC49^*T((D%|O1y;W3+BP<|PBQ4|PIrR}b-8Ung-F_W59)5rK#u643is6K}c*@%q zP^3%Va>PNQ@*Z)as$JRW==sXb4U)_v7^j|gx*-lf%t5+Kkst&i6IZ#<)95m$%QOFy zEokU+p7>doV#2nD&e>RN8JFNh%U^u8KczJ*kIDmg2%>hx<3WU8%r^tU@Y3#J=7|tK z<%OggL+0<xTC7LQnt<d4-^32!STlJIZ9m$jh)KORYaP|M3VjeCy0~i8ZhxIUsIEj> zoApa0m92cp?%TAylfwEVztsU#9Zms_2BrNB6b?_!f({j6#A7K&e-_n7Px*CW$6>Z8 zT&j37T<(tbPY9yW<1fFG?+sL<ASx}M4-V*F4B;T5U*RWC$7K4>A>T4NjRxVl5PSA6 z#qjhsqe{D*jK2hu2p`&f&u`gf5d=^fdFNYK+=9I=WrZJMwWOg>2HzzdbpG8)`~nAx zCWKuOal3+i3}wO6su#8?y{*_M6VUC0^W-kbW?rtJA`7H5$Z|v(%@VBb_Q`Qu7qV+k zj=u<_vBtPM0XhHq@ze(!ko-#TyNC=@pU?oc07q~!=xDc92L%th@uU=dIqzvDE)!=o ztABOw;6oPSi~#d=MNg8Ru2n82vXSE!Vsz)D8xGTCkDtl{byu3*R(W;s{2DY)I1P+A zlUDL!^y2{R806y*l(&+VW(_8DZ%YRIUg;QlQ2pQuc3BB}bK{F~+~@W;I3Sr76~~+u z4+iB76=^~2cRoik&XeV1E+G*T3JbfUxQZXTD7g1`<HxD9qIP*Ao^mIaEBuI?K-POh z;$4C909a285<XVmajt7$yxKU46Um-X47!ynUq}njPXcGkH-&L)343V2@x2e%hUUeC zV^tTUvui4)a)sA^xO!r>3fJZb8dt1h%wz`<nf|Q@+dSu@U;4Jge}|5G9LC~Z_>vMu zafH-&KVvfF@1rnf!OiB#?B^r!DGN=of{|rjI(SM`p!(wbrt`$3z+sMA*+E&PX*LLH z^vLH7O7|mpaD(#cwOe+j^}|s$%mYO7&ckf&aj|hyU1awzDVZAv4zjeaz1FJDoYY$s zP**>^;Ko!j(so4;>H~2D=ofQ@jI=olz%Q|)#i@pIpA4NUy7+a0FY<*~e$2uq4p-)k zvSF5U=%n4vX{*A~D^&7w(oorFpoddp%j1M*`@qEG)-lQ_sQt;!WoE>otOliu2|jFi z)E@E@B|c=~H~0&R29=bQ457;zvqs?HQZ5&vctRy@HXnW>3#9YKP}%I!d{An+sQEpY zRY|1vBN<pi_2KZtFoHoiNJ<%}(!%rYtr9Cou*93_vF34jKN)VdwDXl14u4ROOC`d) zCwK!InAYtF8+mT6tx*_TWKa8D{9-Cz@X>?}Y1%M9ciC>nB6*}ow-;`!v*IVa8i;BF ztL<#k4rFhsXzPkDU(yJxdE+kIwMh<r#Ky%O_XM@8b3v3|swPSdr#(>NVtNl+e_K}f z^TUzIH9H$rTWB2U`uOUTPXFuO_4qq%g_#hr`DOj<?n2u&`3c~``d%S~s!jA+36t$5 zMATRo=*oQ@=3Z{iij7DIvCo!nq4*3k$Cfs(*R1`MPO2tCT~XTnHuJj$+0LE1EGoKh z7Y*1%JEm&K;NFEuQ1U>A2+!=xk{$R2hi8!WXNl<mlcW1SbOA<fCFbkm+CEKN`Zw`> zs~2h{*zkf2J3Q~VXV6NX^N#i29|uf@4*inFp2pj~^>Tu=Vh8THIM>-6J~AAU<2^`v zKTIrEDxsM`#>QPD&ulyjF5N0e^wO<OgS-rlj#VBPel7#*-cwE9$+6R_Fa?yK{K3{H zq)+`rxaxR{Ka<_ZW(n!TLA{;__k)zMci}{Gg#2q|bBc4k#zK!Ncz409_k2C56iz-B znJ@O0dz~BDv<``_NOmIJ;jXOt$yM{7Td9QkV<ffsk>)n1+_|X>!v>XXw0S9DjDL&H zcFf6dc7tEDJQo%#4Z+R=YVN_F?$}~2`$70sryTaBMl?|?rJwy(q=>N~gKHeb<ATA- zYEgjI{x+=XOX@=2dwv^KL!M+Xdqc)!|J?lHau3kPh!^|BCbgVk2XP|1rY&ny%#PU5 z_BF-s^@6)Z_5JJ`duxiXm7S$lZH3(xhqRJ}v#NQ;kBTWPMUHOA?8(6Ddv<I(w^Ig) zdszutHFwopkM{-4fLm#I!S`9Fe_m2P@|L`O_s<U9i_J2Nob5_#3`S{q?^|y>*1aj| zV#%*rr^b-wu8?l|!!=EN@snp(Bf%><pwu36n-lhKdf+HK8(?-taGG8$gK4urUx0s4 zvA;rME>#Cdfw_h1(qB?$=f8VpLf^7yn+1sgAVa}NMMCJEThQNDA;W+T6qSx$4Wo^1 zSZ0AT7Ztwh)nQ5ygi_>2$!TOk4=4!j3X5lJJ$HW`%C?2-bBU$yjOUGR+EGRR9e08a z+9)z|+q0CrP(l)`Wt>GANW`N3CU59Y8sugGRS1x9Z>IN7w^kR(jhU5A3%jj@%qc^k zpt`ebWb#6!q{kzYPQetnI`pQIxL={xi_4VYyqDXnPf#}J6%T6H8_s3$ik!ki+4|vh z3P0>8n4Pz$1-=wE02i3%usx=D)buU__ImRjkPLcBdQh7=en-se1;|&Ea2D$Nq<_?r znD_AQzd)<a&OLa{bWTUibxYq{>BoEKYLEAsi-!!(RAJy7$@yN5&CWw|6Pf_(BH`D- zv(Q;qqt=yxbcs?7j6%OOq{}8A8{^$=f}c7HyGeqY0Ei`4bO75KyI&e$jMS3k-5YTV z`}eApjzt7!+<LM9nHn3^m34??pT^j2A1Q$G$p@=HIYpnlz&>by{v?m+CV*qrElKbe z(#8eHNrtdkn;)QDrvEc{C->vSj;5L1|N0rTH0v>aYC8ai|6*2t>Gj)PyQXsL8d;|h z6M(z95C@pqUkC|L6ZscCs}hT}{(-~<xlrg)=d%jTPc<raESv;av;PNGRSJO10k|3l zee13N<rIznr>nmo{~NU4R3o8MC>M-Q)B5l2FEbDMtqO3zcU#_(4z1&W@EFNmxPX$9 zQ%E5X4r9lu2iz3AMe-%`4KZY|FZ+iKRSxAI7xMwRy(jf{dVS9zuCl;g)Hmyvg%C9) z-wCq$l{5knUHwW58k{x&7@KtV1ok)42(HRSau$G`BNBusWn`cJl;l?cSQ^0a|Bd<| zB2wc&)Tcy%*MPclO8qYpAQ4Od8#QS%|KDTxj)y@xj|cvaM%d$;8z}F|_eiTh+9g^o zFP~S~HD1eS+a+%P4jv?}BjC-40|g-bD0^@rt{6pcSMGUqw?fW-Yb`JC?-TTv&rNgm z<{#zW?acrqf+KRdL~#r=ia<yfSe;-;ccFO8!@*-6*RXM6POOEzav&wv;<RHZmsA*N zDK__2Xvo7U5!}x0KEKbH!T*pdxyu_o-&CM{Fc#8UpHP8<Yf7-)_3nzA%DeU(kt1ps zh$fytHVqc;D+2fpaOH-(t41Pc-Fd;cUpXD8WuW!orvVP{)`MMiK0TZCZ4;J^z^VvK zx}-@}j>-40MNXlv1EO}y^7v)RO@-cFw2(Wzx*jMJ4sv$9XPm;x2ptKzT*tBN7lrQ( zo3`5<)2$!0J}8^FykvMfq^7%kq3yPUa8}KQE6Vf6GaQ{oImf=iQpU<29otbMGFAD% zM3Y)R-e*`(8FbyrpXncG{6}mK)#fY=2X6%!6@u)HB*}sY-K=t=nZ4_I-hLd$aSDj! zR1~Z)5cn4?E$P~N2Um7e1`|pAL@i!~GqC89r5w=Fmf}N_9Ky$pcQ_Xw*;q_tirOs$ z1G?WOh}@I42OMFNv_gd1O|>~9?b|xxPk%_CzuUcE|J_ES`+{wh>{=aie#(zrh6d(S z^Ky2II78jzgYg%Ret){CqEPHgNWwa{Lf!X8I)Zh$FTeBSEmqpc5nCdo5|XZl9Mlqh z(--AsR(3ZdKdCGPl2kweeQ)E5Z$Kf~7kl@-Vx5B*woGq&)Q1s8GjUk)9ZvV-SKx`5 zl6cr-soj)Qo$+uex<S=t-k?H>le9-EMKz``z{lG&jUHzd(oEQZ6we$GQ?VSrD&A1Q z*F0r;I3E*pn6Er8JLhTbxw4;K*P3R0MRQW`e{Wp74|-ko?6N9_3%f7ceI3{(`l~(T z9mD}^tHVLY$9AmglvrBn^pIA`=HyEY)RZb$C7iBOp{wNbPZkEU7cKu4OXGG}{i^fq z8NLjC8!NJd5Xo@^Y?(ZbgyiMt5uNZ-PFbdCnk;D7b!xrWRh`$l69d%q0d)p!fCo7| z_GWm7w*32wqV}$i@;mOFP}lM*nY2M}me0#(>=*ycbKG%w;n|Oqbf!QT2j+a#^Fm}+ z4*2Q-F;KuvC6c3hhg4TeUd+;RQi$WMc{ui?&MsuU?r3Whlmt7U{f4`gK`GIQh;};9 z!Vr}6kLmbKjnW8R9aNNfPSYkb>cSQ1b+hAKDK_4fV&%S;%ERJv>uvVVQtE-Vpq)YM z>3+>q)kG~)OPhZ>?xx-~S1{rkYMvUCQmC2stUNV3VT3dA(UTVZUU1lhe^goA{rF2V z{qm_8%97F@Pv3He5j2mVpE4Um4@Y4BhBE$7cJN=L2Ux#<i2oYzQ!Dzf9VBsr6qb<w zSB8N*E&nmS|7YU~s09$WIW=c$|Dguv12B}-(Wxr@UkvyE>)5^d-iL_di(fLNMF-o@ P055fAod*?4Ps08e0!c8> diff --git a/docs/img/16f0d7c3d19700b0e30aa6c1528acb91.png b/docs/img/16f0d7c3d19700b0e30aa6c1528acb91.png deleted file mode 100644 index 48a212b6dad87af6630565d1e293f4bfc6d216fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 716 zcmV;-0yF)IP)<h;3K|Lk000e1NJLTq008~~001-u0{{R3Sj(8O0000mP)t-s|Ns9T zq*?ow1kZ>k<)wkn;rIXLra7?C2nYxX2?+`c3JVJh3=9kn4Gj(s4i66xtu@-600074 zNkl<Zc-rllO>dh(5QeAhX3n+R71yf9xg(6Yu7#sqCpqLCL#tkq`v0ZAvx^#82FV|3 z$zfM!_*!^&X5LvaM5(2=WaIC*wbyu?yVd1Q^uq4-w&CB$^^;tD>77%1e`EZ*xN=uq z`lRODjr=UGK3{R^r^HYE#83Rh|M>h~{wd#9Rs9Zp&S9G49%eX)@2U5vU97*5zZy>X z{h56G9{jKFgnwTAJ@I?+U2`>GQ&4%@cQDk#bkEzUiWatiRwMY?YD<h|ntu@Gmn#Vy z>_YyrYgajivFXNi{)KBQsP!<Jr?qr-^q=)ezoAwFe@_-R^V59ez&H%XnSo1D?e#-H zu<XQg;Foe3CiU-?+Dj|c$q(GvcW;{L6`lFOFR)(_*VB9un&2q-U&M&|k5Gi9=wbA* zZpwcf!rQ?;fC@d*$;jubQofCR3=nYM%<y;8P#r+#cOdr&2GMSy;J+P0QYPY$7*_zD z@_8HmANgE)45*s(-wX}o<vyp{ytv0$|D_9+8Nz~dZYKXh<I0yKe&&z(#0A&0`o|O$ z{0Hh6)y-J{>U}Ar|8x4UJLR`gW19are)~87tw!`^GtZ}89xLz>I;h9_PnQGuoU@y) z{{j-Q&_4(L7tlgfS%!E^U!x+z7D`k{;pg}!hyLk-4o=-x|9^u20AcI|=SpFj<g1g& z>Ru-ST5J8I-&zN--Xi`wEwFCsDOKbgAI|^?U{Ie!r9uBtLy4@L6{aUM{_&f8{_Pij y{w98U|4RJC|4;m-zdtSg{cY**kEx}$T>Ar~ucPwW6L%^A0000<MNUMnLSTZj5O6I3 diff --git a/docs/img/1780684b75826fc70c4f9d6a00cd9984.png b/docs/img/1780684b75826fc70c4f9d6a00cd9984.png deleted file mode 100644 index ab566831623543117b9eb9ab8bac0fabfab2cef2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10009 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 Sh+}KraJ1C)Rcn=BK>rIkCUivr diff --git a/docs/img/17abb300a15db5073a41bf8a13e53bc7.png b/docs/img/17abb300a15db5073a41bf8a13e53bc7.png deleted file mode 100644 index 0cf3afd441fafb718eff65d3fe2596a1d8dfbce4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22629 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 {!0X%vQhR25TA~TWGGH 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 diff --git a/docs/img/17d0ef7b105be8069a4258a758bd25bb.png b/docs/img/17d0ef7b105be8069a4258a758bd25bb.png deleted file mode 100644 index 12ed0d74698ea73d38cbe870dd140c2279b59a67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23208 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%0Dr8C2a)id`^!l2s>G-cg6EoNgIAp-s8(c>Jn+<~b zcMc{lSRJ3H7e7DszyCa{KMhXBcuIW1=qlGPXUa}PA-34@mqM3%-f=hqZ74*<4!v@- zZ@&~%=mIyairsyKGqMZFC(_m24SGBIp@woY2Ad9LqU1ZgeI3`P^I=CU+RA?5UaF;z zc6xLMamzxK!={y8XYajgN#F;nL`L}6Ti0zCG!fb<Hlx=K{U$jaw|{fb<A{X=qVz*b z=DVb?+aDpyI?9;LH29=>jPKf*K~6BctT}zhx`nxYvH2c|!zKv+Y-W#Bx|zWsl4}D8 zwZ`9m*YV{OoNpgQB&!`E{w(8HSXzeI^rh$mmt3@K8l7=@I?F5d;;RE$K>=ch1W8>u z=Qp&!_?V<N3gb3c>Hh4)3t#@#jM1mVl6^a4E4K4N_+X?7cV~%oAC&*BcDwdrL464G zfb?Cx5boYCFDEniuS;H&E!j7@a%Q)cS?so80vku8nKW(>{=8O7nubbH<DCzJ1Ce)5 z5fYU6r<(SHH=xWN>l@Lbf$bLS=&PwXz=v*_3AOS1tTZ|j@;}yR^FKt;f7wqG8~?u+ zX>y<HZww%@O`-XJ8A_=ur2d}<HT{<zQcEULsQ(hBNaWQ@y4!RNy(OXf_p{0piYihT z{Ij|%g&~Wu*C;7;Boj#;q4ELtS{K_(oY)C}zgtztzX^MqQB*-9VMzp+w+p%o75S`a zazHQ}ciuR}{|WM7{O4AzRX3E%*6;o}%L0Ig;3!5Q1Gfc-G54O98Q{q~B%;@Zc*H$G zcdLOuY2;_D72eZ7$7`Ht)H48`WBpG?=9#ZbsalKvMx$~UEY1*gwwvl(D@5d_oHun! z@9fqhiJxPfpY0c-WP);ZX%})k+R|rBUb4c%FESFTx=nUq^(as*28cCxd*4FIOct(p zNsE~G$zk&Hh4MiOB^{3Gl~!8e-wVH*AaMq~xdJRn^q9Fjk#x~l&cE#M<QivLcBCIJ zUb$2;pZ)Q-|K+6OIv6+5S8<Vr4&=M>_I+?{eGf|k#|+R}iE11ar!#+zN0cm^yi!&C z-hwJ?^_>}LI*LilLRFai4S~*id`LHpXs*sUKL?_yTNmav@=vGlh%GvfH_hZfrp5&L zm7hv2{#wvj-sOqu6>61jKbIQHDW=ERDig?gft;LHqG5)n@yjZiYmXU_i;ro?<F}WD zAuyhy^${pm)vcD63Qd;pFloRWwYz#Bn^VjJz&WFVVOIcXYKdyS@h3B)!%~9-^}<kG zBjcgT2$Tx1r(Vz?ETrE(Bi?Wa8FR;QBNZ7bpfs}y)0xY{3yKopO!l!DQE26*L3kql z_^2rKr~@66BGgQQSK-lxuPOTNhz?dT!*g<gwUozwCl-19Y0J=3P@lH;$D8JkLs0Q` z@-J5a`g;SBCVs$cfyq0j8G!K&;t@V5`NG0%T(S#I1PwH~YdsH2qIrjk*-n<Rn?$^M z#3I{{%4F1__c_>TU7sW(UfS6lvV|U<M!ex^|MmS)?_Y8?(bYen=AT3wBYzCKL#iJ9 zualVg{}??QO3Jvw%J;$Y$zM$w+9FJ<b6>_Kr-#=Zf@<6Hp^{VuJPluofIPEo=}PUZ zm|h~_O|?f{m-D;HKP#OvaWc<rzk(_ICwT{5GPRW&ywElh9t`Gp;^%UuL-RQ>T~F@d zOc`*WKjBEHHB8@=tJWSS4l<xyWVfbet39Fy=)(}T?c+6pwhGq6oDBxIguIvwX|j*k z)jn79cKmUCR(T&NW2ctRS?cxU+}5+{J5kF3_uXbj?Hh&FXCf7rv!wObVU8^+F=xPY zV}0UwtB`l%nl5RZ*5e9U%aL~s^J|+)8m1;a+ev5A(?=Ks4Ta{LVMD!5?3ze2C>glN zCQybn{X)`7$Jl?o#c*X&s3NIu5l%I4A?7Q1*ML;(I2Kjb9I<{UW6aWUJ=Qnt2P$&( z$Mcuma2nWVzm-^f;_u%#yV;KoJ3GG~?Awdgh6!j)gS+ocDc?h|{=Ud)PrTZh<6=>L zY4t-BEh#jdK7aX;xV=IOoh#i5`*5qc?h}E@i*I`PlP~JkCkXu_R9=KE);>FCjwPSI z`nzWK1fuHrM)5myGT%H_BDu`3F)I8E$@O8VcDl35b`LTyVb!D~`rzv*XfH@dYlTJR z*PAVYXEMPiD4Or#8VBH|n$ce3bD*zEy2h5jCt=L7^ps=gVyc_qLYCWc7K=;^e~`{H zTheZz0jt2w=++@YXBc<dh>xnKIb1UC0pcB=V<Og~Y>>pe+=RWSH{V;Vl|?I*o()}l zbV5O=9?#~8hzm;#j~l;&$-XU*kx!>hYf$8yZ-4}9AsyDz<K+D2l&)e~?w#ZvAAIH) zP1{*U<fU>E95z)2;o28($wZ&y>it2a*^fCCv-G~L&OGZ+7LW}p{+xG$a8DPa@XhNU zHKR~ovH$d@=KbS}@|-1sPnaW*6qqgxv{^HWQ99PJgJq!?-qd4ssglJfm!uN0DXb#7 z2pvB0^tT%7JD9K7LX9@`84G}nefzc%15yZ5^RSOq8@wzSVJB)_uLzxQIK4`anZ>Tf z&pMdLv#GbD1%;tuQ9x0$n?b^r-?4`I(V@U>esaLlnIV4N^4~G?&<I`iQmuGZgNSbA z{+@Dls0r~Z<im8O*t=xWVWW(nFwGG*^`QAgM$4LRv=FrYH(2XrJrvKa-!1-qmn=<# za3@9_f5_Hh{sIzsV<RI?;8BgY2`{F8w<Q7RFO_I~{0dOWRFo|?ES0>Gub39pWA;MT zcZ-niDWK2m9<bTr*{vLF%{Ht1AR1?S4d9>ec_akw-|2yNt?2n%C=XFeQ-hT$=NlHU zYEa>=F%r_zXZ0wqMl_7ZU0+l50DcVM9*R!qQ~(r}K}Bo|8PRtP@$A00>v2z<(Okf^ zT~;<zNH`fGQ!EWUBsm3j4VK$xSL-kAVm6XWZP*9#X#_>rOp92T=$gVYh96`Fx?HJj zRo%fsM8On+F1S5;FjL@GVdBy4(MWF3C79nnopgt%{&-5qx@7buWm2Rbu}@5Yt6z#2 zllSM!UD+d>!p>bAo>fVG-shGo4hNEb0CTFUER!Dv{!und02Pz&CGbzpg1xnJ)l~U? zQ1j^OLIBBqtDkP!NX5><M{Y0(+Gui15MY}%B_!1g@9{o}>u=e<=+49-2@fbw5hrXk zYe_{SQq3PqjA+=ca$zMEAOEe~yPhFlgSH|~s0pMxYvZ~VArCMGWgrpCJQm*Q4c_BO z(OMt0&D_IM)d?RtwqxG$VWUmW^>3w_xEj9#3&ADdpx0;U4I1O4_MlceBdaCAc5y40 zHFd+f)5x`3M;#JIhXOw;f{qGC=wrV|`nd=iYuBbsD=`*~+$Xjqe51Nq^Hc4QAfXHz zhk6Md{<I=D=Z&d%-x7{}?Sszzleh8x<Jic@Xlw4>O8bV<+A)X9Ernfh>5fg1K#bXx zL3EeE#D3zsJGlG)xEDHsjFwq+QpdY*Yt(v-l76X-t}uh^!ORxV^|SYs<@3XyHP*j7 zlPiACR&r~M5`8H1?}L^30igMYG!lks-1+MQ|6yg}Bn87gQUSL}0ZnLh!t*@m!mMMa z&lf%+h+!qad~<R$8vp!SUr!Fg-wn%rdnohWC)nSmVZLqoJZ~Bhz1FE(JkGeS1lGic zD!gTeoax(Mg-9Gtc8(Cw73{hVKM+biY@?e-pF%wx8S#hE5K?9qS+H1qIwt1p<YVGE z4kr!O|KwRPQdT=0W+MNKpq@%pTwcu&q>ndfvbpY;z)hHbFe@*E(nk3!Tb|@o>nmp( zf8C5Qq4CX*I6Imf!+vC&<wqP9^B6oxdOE5zDxX6sZ};V`G9Ph2+qrdGMa&V<U^Cm- zL3<U~r#yOT<LnDs3@jgYD@4go#dSmoY6eDoqOU<rgRpdJ%$w#92=jXhuUQCrAegU< zN0g9wr7G3#jO=@AHJxC>D_WU^D}UapyU;`}tQF6z%ETN;CRSN|Ila4hbv5`&C~xfX zRlZwxqsk5Q(}LfgtDT?vk~SS|t9mwUI4ihfJ+@-J)AN2io(C*M7W}qV*1H@@Yce=+ z1@nkAD<#ikR9>1Hk%rR7B0N)LC>c>9WY!l_Yr!d@_$Nn9OMA?ss|D48Dafw%{>a#j zbFH#1zA9_V`Ob#gXl7cjAGiG-SW9oIQ9$OS_BFex-c+|aGO_7glkuRe`a=fk6dHfF z#{w*RU8F#)6`A~V$R`&2ymp-}f@?L=c;m|l#F@gf_s!wQJCSS<>TY+xx0grCFb7*R zvJpzwuiH4*gHs9>4$sXg@uSXxVc0dYe3@8<B&k<!*R_zt2m|E1usbmd!jBhDJ+GlT zRxzp=>d(TFIyrqxl*H#05OE6TwrK{az_^PFE&kAF?UbZNk?maEl4k&<mZ99S{we&+ z>nWjs`hZ2kXcxvP4oKyS`gjU5?>0mTI@&;o0S;=@W8y<zkA|^4)A$Y#?PW@-x`LU{ z_!+Nm$h!@IFvhN7R-dq`8#d|Xml2MZT126p0ih4}5(*=JKm2yyj6($pb@MzELc41( z*thI<rog#ZgHt*ruHU6%CRAR*6dxgh`e(f!m9GE`m}l`*G3T1w#Pb3@xgvMSz|=Eb z#?WA4C_`}59FgknB><!#SzVLy;?%PUl{s)f8_-io93scw!1K_re%2YZ%zm+pxI!&P z+PBdo<YNYw*n}xrz{Qvea&>ec+O4ib=@sPH0Kw;;jxdUq8c&yJ+sd<%G<?%&cl|ia z26&Oe{3E>`!Bd1Hpa*}bY<r<GUYPV&CmjhM|7as=kRM=wBypuV%HD5Oey4m(H9u~C z0KA5w%Qsv-k8}FLRzq&_;7K8F01u^)p}9ESr3383ti+ffy;L-g7<|2Z$}Eq_;+IgZ zeQ&n&t?u=1ID0B|lK?O!1ko^WDqY4RqTp4x>Y8zdD=Ko3<Y*em4fxc`iLbjG-+i)% zNIgTm%Q0W4$7iz_pP`bmbGx91qRX)fkD8_UQs8%1ER6V`x*G$FvWqH8NWK@+1?7G5 z5z3p5``$-l=sx{lNB#>*NlKBz3XOjgwZ9emJC*+*4GBpY@L!1u^FO)UU&(+M3B>+e z&-q*62S}2VxPNpfzYx5nI{$wwJ^w0S-V}PwHz1Bt>eZ`&hI|3rA@I}UmG0jURr&3Q z1D+mqc;>g=QoB)BZkVzA6@#IMv_}MQcC23^sj;T-otNp^`ilFa4qYQhSssQ?H5ecE ztti5+81tuh!_PJ64{r<F%ByZqJ1QB#boGNqyAh5g+{H|fqAblqRo|JlA6-m09uI+o z;}Fk&er6vh)tDE!E=R4xnZz@A*^Sq(sp{dqY{!9djfN>)gF%%RgEr_lmXeX-1}G~} zv<vmHo59tP{(ADwfV?{XTQo{_#(P0Op#CiP#=EY+se2(8%F-`;sJg)gUJtZeV(#%V zBKDq&ttBY^Krl4@3?d6KG2ob(h8oUC^^V8uk`Fs*+!9KOFgId^EA*Z~Rf7emp3>5Z zrz|ZyZ1}YoW(c<Fu|Zr%cvX{3l|uhmG~w(uD@xfCu_(Q9`&(gL+3u?Rsg)%xLe#fc za-7yqMbTQhsVGV*-c$t7G7(rJf=n|X$<I<j<o>Ez223DKo_!a=eA0m@&N14_Cz)J> zbR$9c9_k&cx1Wzk+6ZrlXOGNX$y!n0If;DUZpKN@388cHzJlq)tpQee9+t87f0Be_ z&ZuI@UUUg`+iQwzfbq_VCo`0IX{CGP*QRFYlqQY@klFReO!{CJjMBXP)vTh#?H9v8 z;R+0evqQ!8J~mWo6ME9jcO%J%0}v>~vYo`Ku7r0)b;a6&!Y$69VNVPaZL@ZhOB1)h z5ABNRr(&YgC7-w1umLzzx#+jym@<=ZRj~@FQVPh=Dair)*vY-`I5Jidx>sa)S7yi% z9UupD%_f|R7sxFDXsgM@ID#OF^{O^lpYAZ;J$6Ih0DO5gck4Q5lOp0<$f&OQ^Q`-# zBvdHIJaG(2Z(D~3*rx3Q^WLiRH#mp%n14EU)im~Sg;`+G+VT(n%|o+-wXp(p8N!fP zZe^K5jtHc1WgzcE>U6=EVzIZ3_GsgDj;Wqjh(aHtlaC`-3}0oU^p!mNY2mFU5EDM; zS04{=Rf5KLK(xxtzT$7++?@VoF!0<NtMqdyw7-{^I*Hf5SfEz|yEf&V3DCbB#5?7i z$QeTB`{I_l&S~(=VuY@#E82mf8*Q|jZ2$52ux^hh!sNv+uoejtdpZjO!eycpN3`sF zM7*Dqti}4Vjo<h)&efi{N!Rk})CiM$=OowXCP;_+c}ckV#zTF>UrYvM!!JY9?~oO0 zP@1$CMUIEs>h=mTH_}C_KMEAe(LBW@>|?;-<1P_9nK<ilMTalYXJgo2Wck8<;Em#2 z16~K&+!`P=Fy(US@VDP3Zl5g!kF9gGF4&WO7L&6LtEaW`6FWDq`qnX>Ag1~W@4mx2 z46Bv2JXz810sOn|>j&6x56)r|@f<paIs?f;wgr2t3L1`PZ_wMYj;?FU^_7cQ$0j}S zYnVVX?z<F|c-H5E`v&W?0s|zUHAt!~$c5s+k%UE<C{L2d`6rJirINclRfWgN5u+pl z-#_%y|7F^L$)zGzbe@r>)RaSEMXs-I?IiIFrrN5_jTAyGi{5@UtRsTFSuOq?T)S63 zLj1ysQNq^OhUOoS(5N{V6jdMz6t%rz3v6hNl`C2bqD<1D{@VzL{}BZO2}siIC-04C z<49t^|MQ7|{i5n+bjX41JcxB2Q^#cMJ%4yTt_eqs|IHqzOWC0QjM=XQD}pt5?Dpbz z(jRXMwA~HR=VSlmLH!|Fa@+SfUO5Z9mYe?eQJ>Oirz6p40VA;Oda6G2y5cEL(>is2 zD4e#R|E>jZloYmU2HGA$chDFuQ+x9enrKJEe7QOz`}ly|XZa@pX)KHOZp10x2v4o* ziJ9z{d9)_ABOPp#60N`oe8+5i(O5Lu{X6rjfh(R@GNGtV$B~qjW+B=_>pDE?G2vAB z{=Et#DtuvG+5}0iR%^o0^*dp>Upag#{!evGQyfWPrxanJA>D?Ia=?cA<6Zye%-_86 z>H=>?u>O?h-rrpxS2P@fmUn<p-PUO3i7^@?Z#(RXvjsSHO$q~l*!dNV#QTR%wXmIG zsOxlHL=Wd(31!0V+-sY#9H6fe-^cPFY|#PA@szw3!Q8#)Bvm0ukvWtja^;Xakns(N z_e7Ew0i&ZlT+-;AMfoDkI+K;U=?xw_9G77O=%E=uz0*6!(u4zG768m76>)a~khFgo z43nL=&?HGV|J&pKqnHdOm8<^4;Bc^dB<(`EN(soXCx}*GunZ)Wq^aWrd^P_^4`JmT zlKa(%+G<M8_-@h6BV5Z8A|nNVOkfTvo>AZ~xW83X3&uwJv634TTYN?S(M1SOgI?nB zinN2!q~O1jQWE0-4=MCd1pcp5vjZ*tR|NW3tog4!aWXajPj3zQ8=Kb$&Jb#T9i}HR z{`terHN%8gWmC|CI%-?ul~DX;4otUp?FhK-%nLau&;_1}xPxugUBDE`UM8Uc23tmw zJ(EO&v43@{Slbf>=?F>Q?Y&4+ZvP`1{fh|(p$z}l?MUkCM@$8y%dpTt9UbjfvIF-Y zB#t@pe%G*1ime+CKSRj&h2h3S!e_-V7nVUOLW6E1340*u$$6=M^l|*5LJK~)Iflmk zBopo-`yB^{>3`Xp*U4{y#U_U7$<|R5N<Tt(S!@p!u%T1XldbZN+V4ZxkaOD<gf$=a z89y`|Tfpd(kW#FBc=((aoEyr}GSBrcTqbty4F{yIK=C1j%8?bhNcdK8PtIRvMQ~$Q zF|fHN6)1dvFAeG2jC+$@SR@_RQV;&_ciN;)P=A!uHda0EeQ|LQFVfOIk2Jd3+G97s z6|1w0s$;enTGDcB3oN1@nd=Dp#?-Jy6My!(aq8<bLvj33yy0Ec?Tor1>SZnJd-uPr zRh)+s-xnUk`(5M09y=f!{f+(2rWH_9vz-fr_SD!tRm@_-xIJ!YgN*l;EYjuRvX|`T z?r@Fu1*h4F4*}g=8L^izTc*x;_unb(_CjN#)J1&WWL1BonmPWpxq0kW=jZ_XQf<w+ zqw2+6aDKwLlxcdtV|dU?jumSE%$Ko7VcKQ#YWg}L<DiuhnfD;~<mj^Yvy_0^sJYpP zs+O6Txf_4<t|dzI>gUVuC3U9_!tR0@H^&~%>qW0A=+T>U!L&ivU+BFTnmPKf-)>{q zB);2WVKRtXy_j<;?p!nZg4K@wu-HaRU@5b(lwM2NBv)gXezkQX%!RVH%+Sl{JbC!c zdHyAi0;0uqnY6RZ2a5=cTORwZTqArQGvCa_tH;acaEYw6oGjmMNyAm_XW(jTc&6x% z+--4vXZ8=|zw6!z5l`X#xRqPVVuaT;fcMWlXr~31q|D@zJD2_CC<w7zev+j9Z`UCZ zA_c_WC@f4?413P};JTEas0`=HvZQ#Q6*yItFzETT%i`vSg1a*vW*C7C(BQ(hav#d- z@y3XM{&13%bS0iam+M9hH`fo$n-=BRfp;%)vBGa3JT(~S`W7?8$L>o_pn1RJM+-SO zm4<sn$Y~&F=Uzela<6ckYB*)Q0#u1sFEtzBtw@HO0uMdfq?iJ#IXY>L@8P#%=Ca1K zH7G+)@j_60BmMD+=>Te{YPg5!l9SIuK&vMu`dxr`oiKPgkyDYdw&oAcdd3DhdEVrY zH?DackCV<H%yMM1)dJRB%nySZ{W#V1PPB8nQX!+FOhS{;QNOI?57U+!@^|oA8q1=x z55~#g!X8CThs7y|S={JPq^L43ARd9@x^J>xz9d>L!Pe%}4JqY{?tR&eODVL%;7~Fo zmFt^z(pIS>p(}$v=yol<yme5CkSF&UMfs=l#XONtkv&b#6QP09`HYYkm|v8}AzQ;4 za1yr!xV@j&yg~^XxE{cH<)D$Y1<V=LYHs#wM^^3Dhk(>~_cXGlIe$o>4{}BH?E}>4 zppov(c|4-`h2pxhuAf$LVN*IhCqPbmFX1LOLr`<3cO0lr?)k%;=0EjUTuaX^Z|vn< zKRG~jNHnVD)-}hQyrSi4&B=U!$WIqX=aQ|dF8?%`n^y2`zM8N$*8Qxzyv>^|E!9Q- zSKV~KWZ!+2rpxJpWY*1}DFU+NN`1el<DAJ}FU)jIKDTPO>U_-SD08~S%+_kB^ZyDt z&v-WbxBr)-M&q*8C`wSZ394!p(NJ5B#HyWIwW-*vcEzetGpfC;B6d)-_DXBS7PB>q z5?b`1>v#SB_k;V%{owl~kIwUz*LfVr_xQX&A9~yGVEGDyb6;eePh`VJSOT$t`g78p z@U%<#K}&cu*sS@NOVQhn{Q3FzY=L%O*Db}ZfSRUSN%I3C_?BW0!7E@S7W+VTk0A7E z`vUZ~@N|jU&M)l0Wzh!}V6XwQJ~$^M!E|~vAy=YG9>-s$zLV<h|F63^0E*;aNjM#2 zBW<eQ`NsRAJiTV4NR4O}1c)c?%Sfg7e-6pL%lXgw&j|7Fh(RJJ{)=XJl>ZBD|I-XM zK!AS<yMLkW|1kakjvXYX|9@*~|1^-jWeU;;eUUJvvKnCu+rx~?g$Mir*u9{Q+#L^{ z@knIuFlL$C%KKYlCotzkNNMzpHI&On`Q?w78v>N(@uHSpcnZ9bn%^B*S;tvh9rL&S zk1cbyU!Lz`s4?N9aC3#lPM9Fz8#`p+ZG^LfW#}AX70Z1O{!~BuZC6`OO?W%ndM=y- z<u;Or<^Wy$f+cZLOjTOgdAdYn6%WOff`iQm=Q+hce&neo5zI>${E3u%)E&an0bDe> z=UnTf7Jt+T!z#{)P1JO@S9b~<k=^CJA!Hz7sxJtL2BU_<;Y-HiPR80ZM@gUfc`XH< z^GvkA*Rl!FLqkbE@G_uxHk)p4)keZ$5uFl<eJ1VbOG-NM?C!{sOmH7a9yw>)hU%Md z+plsdvZi3lMQcJnhX^ir8!Xsyw9GvEfN={nq}ZQc=E8^FPNOK<Enbr7>_p7=Chb-w zCyjqNHC2Fwz9*Ss{Nd$)3404wzV7@a{_Ow}`T}<Pi5F`vxBZdsQ$P<*@XTw`=hTJ1 z3?PG<@+U7~8=j<GjUL~YQr0a~vZY?G#7!)AFx~J&6ZTHS!n+GT>{86z_qOD&`JHH$ zFGR-)&(^s(ia}*GFPGxz^|Z&oe_t<T>Q{?xV0>a5zG8W;2|;B{ykVN_(3<${QT&K) zZLx$Dt$SaZ2(!NZzNgH?+W3796xS2q$igN_fNx&9m61&?THS0BIPWJLBG|Op*O_@k zo{D1f>jr-7dZ#TUM*5_<qddZSr}rIfB*R~E_f?v9?VW74Gz7t8DHbfT9h8s<Q}L#2 zQfs6D>fD5b!%$qQJ~+LzyJS=OcRTNj_?^zP>bU06@8C&BH@^kOEFN9XtSC@?z&t=$ z_i=YKd**Q$4}&r9c8Csf9U4d%r(mbu_U-q;Y=RBK`1z4&;;*Xl>#{$OZn>fw13LR3 za8ZqG78xDT10(J(#P$nSV(cLVrNHiL<cPVI{!D^eTT#Y|&B*9UKwDK8@h3im6EUoP z9DCY-ZhZ69CfPLQv|hpQ-HQ0ewz0dbZhYHg|BtV1AUeob->>2Qk!Lpoy$PyZY8sG` zJAuz}df4oeH`Gvt!|^i-s+8xeCQbFYs7$L^fEaC&HRH@uu;qG+VfEZzX{$#o4`?Dr zGK`rdN6S;~l~G~xinb;AA+nkawP^2pqbbktYSG$`7LdN8+)%ao=jGNRijPKpU}SrV zjIGU#q9PFi>P|UogbXo(iDU&QcVMRa)b`a|)w_5zU`n9n-|3*tQrJs=G7McdW>k+1 zqoi`_t>8-ffZwErEu7VVBzFxQTmF@l*i|>~?;kA;YX7my%?gRenSL_-W{<fpm@<_q zxJUbCZBq?WT0dshYKCk~!SO?M*ZoLco9levefB#rJCC+}@g-BV3B=+1C7*tV6+c8E zdP_~8`E6&gwmx0ey{G`)>8Kvyg9<?3>Ds3D+tVi{Y`0)F%EQRbhVs73VI=qvB{=Ff zjzk9o_K$;~?F9q%=NG<2PwUOPA31n(Ia_Wc<pMZ491_BZ(iOK!mK!wd9_Dd~@ecYm zN>O|kE?sV&4)OH-wu=$)##3@lvg(Iic2$NGv>gTt%BMLWKsl77%zsLJqW%0mT*0PZ zjpZk`&G|}g6ngTqx@oo@-9kaZnK^qGZhGW@ySxi9Ld;^Ny;^Du*<Zs{%o4?(k4xm% zFAn_PH0l0^7*CodX7X4cDeEH5PLx~N0?|4<VFKlp%k}O)k2~^6B2YR1>>xaFsgu6Q zC|HsL?=Ka0{#s=_6*Tm$qLdr5&TI}=B&CLIP1^W{LM7pGdw=EZH(G|o8Ku?@lJSW9 zf0Y`#!x<hzTp+f)XvBymWN8WtnevH(oqqi_Uh%TRxY5e%mWF)5Owm;;Vy}SXHnDw6 zt0!7I-iznVX({9=@&|x$QAm#=j2O6a*Z)Q%12S8<Q%ZXZng97Iq+yVq_QBTavNxXn zI*GctlGXo>`oC;p7|CI{^Kec58fKA@5CZVDJ)apWv;1oQYyb-iXi;3bS^L+mlZU;; zhfJ=|bikA#t`0WO+de$g+7XR~2MIMS^O0uhNGUojXo(8~<-lA5J;tG7nFk3bTd5Q% zI}^)?ES-gyMpy^p^}S688=c*qkg4H)f({hm>g7IC(0~wD8qH+SdhCDp2qUCrR#_y) z;M#X0+@~e54+ZJ6MLGJP80XUbC_UpVHI_a9rNGt~2Ss&$rXpQl<|lsA5z1i`z0l6H z_5F8JiyMOJmJHOWg?2(N$urq23ELU^>4@#!k!%fAm@%JiYb{Y8?PrfZUX*<FVIxbB zt24XASl9RX<<G2~l&z4Z{v@5|2W4~0Q$HofDPO8jtV@J1#fUU!mwqnN@=d7r?x#JG z=ov;hF8z`lHx6TL*By2Wa-#WDT~!A6#(Huo?dhAPo@oi1V}dBQBG2VSVk9dyYC+$3 z&8Giau`ckSN&+LyFhMcMq36it>_-dOj)A{vr~odd)*%qW#=W06y|of-E$fP(O1-Pj zzOTN2{eFt@EtD(AQ0&iqx`Lk@<~0_mvX?2o)WK9ho738|`J*TiUuJLANE)_i2bxWp zqSi+52CWWOAyn0@SX)>|nV22~Q9)a>H#g5j5qSuMnTT1lBa^=BX1TC?A5Ned!m&q- zq6rNxfbS;qAR4g<AzAO>)Q?`p5!n>_Z6fy;T&;()M%rsC$`t*ix401FqM2Da4<;^9 znY{)P>+<v4)lDjfML|*i&k_h=A?3J)uX$2(+^yx3VYq8}UGGRWYw_hC&x#Y}@P!|a zU`hNExeWG8nl)e1+>GWl5^ELPwiGtI5O*SyH@{bOeiQ`PoM98x6PoI@_XHHNx}8h> zbEl?=ETd@<gtbv{N;-ZZ+bf~R<XIQ>A)UJuCy?mLsjQb1Bia#Wgb>gCj&st^Xj90T zVwGbE#j;z(m4B9)v-`9emI<;ctka!pwI4LZg&qn*e5Wp7HknMl=Q+SBSLB1u*kms} z7(wG~5XWLGI{L}Qd*y-<K=~q@T78M7B73f^O(w|b8W{*iF8=rD-;beLxcB<<JediF z#kLu1=kb=R$56UX8{u>s<O*=b8jrKdWTP8QoQOgvRI^R!;Oi}hiMs{T<>`}7guYH` z*qNM2!mQ<tyGZbB2JC<h@<ar-ivfz!=r@O3$IFR7g(Tgtax5pkenBGNCJ4H@HxtI} zI(G5;+Yb~=$5r%9F?Q`y{tF`gOm5M+r&B0x6=Q;0hQAm;yv}trgreyrKQ2tm!k%nQ zyQw4lK!7x4^?1+@tTUYWYgNBs!s@2K8X#gN7TS-7Rr-jCJ979GZAI+CpoYei5+NOv zuLb!@H}uT9zI;6@-36(w-N@q(FFiyA$6<x~^86&j@>lP5442-fijB9v5MA&UA>X?P z)$`Gk2zB>an8w5NbuBFU*_`ymRTFXK5tAjzZo1;Tbsr?;4|D47esFZENb_h?&fL`j zmMMHaBIVTp#7QTfqz8}^h5iSE`413NhXef=hWTfbC8-jm&Dp=+z<>0Gx2LST7<m^L z?laC0C#y8^!WVo>dje{09<Zip=8n#{&L!fqq0QU-Ii8(r2P&$@Q%iZcZ|ZG|@6gtV z;3i%n_`w*QmkO`C1+qzYT#LQqlY+N*l(P_d?o^vJatrAfu3MDF-gS0t*gci84Pv|C zP)_eGe)WRyiJ~aFpkGLfCR~#y{6hH^Zof4Ul(d#A1nvEd9Kg^NM0b5IK6@Y5G6ddy zHt~!*&pw+=_0sexqr|2p#p=8*Kj!FBMr8@)9aiugC9h8dO?-=8;0DKIg&D-zfJZZj z0u8fGy!@iS0tQ(c^6DUX2H@-IRF=xEYkZ$SHcca;WXLD$BVJQYw0E9ma~Euq;@KSo z{9~>ED0meT^^7KQ**K@saEr@Gh8*Czu=K-h?W+)E5xAv<atXyDnl0ZR1jjSu?51vs z2}5W}54^@;1NR|}OBTNmGjZ(1_Fgof=XHUW?(0Hfj|MIl?b^!TSBu3RE}sKgI$a}l zHWSxaKqBN`F<KyNdj>qt(yagNVX4sh1_(hrGWtD<o3g&?prtEVf9A?GW!nM?L>;{f z$v7_9^!`F;(^R_yPAtlFdV@|fhUpvZI1UarsJg7DHpVDSdP|sNYQtyAE>acfi1G82 zBi-z5xaS%2VP0Ot{)odQ`%|Lwfg?bJX*%ph1v+B@w4UdBKy=O3Ied)H0lIe;vZxcH zd1$q)v*_KP1?{)4CTB~rvj4F<?}>3#`t`9vc{HNEnTBg(xcuSWTxv1J<;C5){!2`) z*e1rVeIV1eQ@c3={GER-mQ2WQCvZmM4YyHtY$+xGJemfil8SEDQsrgv=9+_F{fwHY z#(YNyVIm`@0U5rRKAd3>d{{>4mBdM<>4u~vHg!z7`B0bMHsd3GM5)dBUV9JCJ*|l_ z&5&$T3(?Az+MBNV4LsQq&RUAGT=Kj2<R)|{f0W-9>j_*swPI6vJcbp54+p0#>DTu? z4GMEPD?wX7{$Rf9hkP+Tl=K9hgEO>Os(M{!d$FAI)6R0rMn|}KMYe@zyp#fe;yH1~ zGB&>k5v4$7<sbAqKgU$JlhAi0Skznx3Dz}nEgRDH`^X3eAldW{MINIZEweGrcTFh7 zAJD|odq(8{@k|G$8cM>gq3$Nz1^jT5)U@taU%aU}Ivp{c!lK@!2K`c6txQUypuA)- zd8$4I9Hw<$OyrlU9V@Ok-fyLhlkkRWnp5V~b;BWtrcvbOT2sr-yum9NPDqlu{!2)k z(69O_cBXJM1N9K-IFb@V_c@2P!NtlHGIe2fmLyT7r`x?MW)sqpNgpHKNQQy6TD}HN z7UUmW2j)a$Q*Z-9qC+x;(LP-jseSs#Mw8fD`!Gh=nXh8eZ^8F_N&mh&A;Yk`8*W<X z_zj$W6H5x4(*m6oojVY#FCn7t8UdkWfe3o~+k_(@sq*%YY)tu^3rA(!(gwW(POU7b zdkD_NTbGRGMi0ZYrFh+#*q=@nTme~pHS8gRb=rJeO&2G~0Kp{JZ)zE=@>-C#V5hWe zs(tHck$c$1Ddq3?0imtNG*{f2B%?OM)O&6}QTTn(L`l$0*Zp7-7FJy-f{C_f_-=J+ z`Z284W(xhhp(uCzN!=%S?E$=fP#xU8C%;?|p1R3XWK02wmv(o`)F|mM<({0r%>&}~ zGU48Mm2}S=rApJ6hv{N#wj&VY-`v8^e)hFu#N@nRN*}ya$_)l9mQa0pu(w34yd6{7 z*1tV<<KaWtt9vV-=daJ9#M+Ilb!^Q`Jc1@BOB>t%-s@Qw7wpw_Y~*fQ3mp&WSv>g2 z+QrdM#F(ioUEGe;fhGk~>;XNF<<xbTdf~RR*mPXSUDpMrr&D+zRM($>cIDTjTq?F# z1(}lv2YP?1x<4*NEX99X#C;jvkc$1YRsp%09#lh-S>=0O<paN~Vvd8PVjYP@ZOkof zv@NVJG@lY9j=S@U?M60->R&X6K=%vc&O6>^IXA867D=fzV9(VDbci7TU$Rs+Y}_W@ zlZ_c8#~*PzO7~{A$6tJADXQbS1snT>P{ER*i)VNof@5mAAATU!HlN)Q&SOP@gjSay z{TXqU7YWp4-WI!cRgB|IbQpz+Wyu~ZyWJnXzEdkpNzeQ`DU22D;Ihm7%P9B0s@x)O z-vIVb9qInT7iI8O`B@kgEuzQ4ZxSHuA)YGliZ^&@wU#pfH`-GDqupz*hivc1g|zZD za#F;Yj^SS_&kAyzjg}aa@Xz0%hXgpu=mer4o!n5F8yA8{;$}l1(JMf_?~hOgk*iI! z9G2C9AKu`4HPU-lpd2RyS_h71Hkl@?RIL~}1ad?U1sNro?z-^Ah;^(e@RUkfxry?8 z0N6X|MMK=^E{P^{aC+J#*%P!Ir<d3pU^XwjGr_55y*n?W6ab!gK`I?8R}DV--~csg zm`vU(<I|Lvcgaw5t(5*oCR-SR<94=WN)BgE?|62|++c_O5}eU<OCa=XP*I{6Y}du- zos0lE<1WapuR~6&zB}mqsL*6uow*%h3{Gx<s(Vq;a<CI4n6z-h$0O!y4}Jrb7l?W) zx^^qg<X1)EnCWpooA_~Yf8M~2CQ4D&e*U@@+I8o|{`oDLhcY|C{zzw}8hnYFT0c_# z9W!LTQ~fQci79=d%aasV^;IWnx9e^?l24w%LGQ)jLZ^_P3D|a>;HCR`Q%D^=%ZV!b zMlxjNg?U3IkN7aE0g)zQ1maaZqN|)KZ*;$1*ml4H1f)Z#$(jG6;9!1G1y}?HF$mtk zv32xfUB(xFylNHpSNemOz4bv}zFpG=I&SCKeaPw-#s0i1P+Jwp;Aluuq}*Py{krE* zZIk7&S!IG${j@AE{93|ose1X%2MH$$2!q{%<jf6E*XXLvjWng4lc>9|xlE)al7Bi8 zoD|HM3w!isA1>SmI{}(tz)=~~5oc;Dw`)AM0&@2EQ=JZmlDu|qC+Uq9;wrC?8uMm0 zav5AsyHRCJIM8CpTAy}M!83W_y0Z8vp^qeE4;yPF#)6ubQiSnPT1+#U|EiwMUfP1G zV{9`qe!TxW&_%*SrXbEUGfThUiwto?j<I3*bsSMeJb@>iIKwEqGaoifSg1;wCHh4P zA)TGx#|!H9ds$8~k*=oF0(sH#sc$a&)>rmDQ2hbp_;r#Ht(E-HH^e`&&c08+bWB?f zx=c9-*08E2=unlIczCx?wuq9uP3jAXCT}MLzWyM$lt^&m-)H*EfRi`A#v*u6EVTK) zsn60P?lBQFDdhoj6t&=J88MW3CnICuu3&ejbXhNiI`c^S`%^&`Iw76a8K8x;`B+a$ z-HxUK=Buq&@xjgFlEi)=O)@M5r-ix5ykP{U*!`&62&tf<h7hxi7#n5mDIi8~y0Njn zh*WkH_wr(ISZ{ByAqyYfN}?indsMBBX;r-PO%yxTgRv#zh}x7zAg!H^`=h%f76Msa z?H21219oI$%u8R)NruCUgPrbf82e4KrDJ(60mBF>avXE`8Ak%zoTsq&S<~7}=jr~R z8;7L8V~g|-j5MzA4|ZkHzyt~UBXq@ltI0CibS3y(5P!tfu_okk&Q04smSXxb0xA-h zSaUvxCsK^m@o9rK^{(dBOw^gm%<*TiYu5K)-_Y${Px<mGH&y2-k8DPH^i#33?vbh5 zr$8)<fgvTv_z62l#%~s{nZd>eo2e41qBP2I+fPlAomK!keK~5l$YM5Vi_7sQlW7+p z#f%O0(ahym_3EFKJA}?TK24v5Lt!-RQ+uDV`a~kysR7B>>zWR?8<26}hq!(7FV2&v z8!Evo6Jt5^87qf!DLCd8s>dk#@l!Vao<^dt<5vWq-&lz{+OxcH3F6B}82o0e18l!C zwEX2M-s3W4b_BVq@9+F2fBIHhHio6N-;ZI}kz#VTp89G-q9a-6AnwgWmh^kUAts#V m$IONX$At--hrq!<WXk$Y57>`x^^l^cuR*l*HLD-lMg2eS3vass diff --git a/docs/img/17e23e08ff33b405e039adae1f73cb83.png b/docs/img/17e23e08ff33b405e039adae1f73cb83.png deleted file mode 100644 index fdada3feff124e2326de96a65588840b0b9a0c34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 671 zcmV;Q0$}}#P)<h;3K|Lk000e1NJLTq002M$002M)0{{R3SVwH_0000mP)t-slF};P zh$u&JOrpvvpK3WnNJ{ni@4wfZ2nYxX2?+`c3JVJh3=9kn4Gj(s4i66x2Ux!`0006i zNkl<Zc-pm<y^h;349A&^bT{kb2QcgxFl?Z=T7}xK9_q`Q<&-r;VZZ)SUleVt?a~r~ z4TL}cNs*KU&0h@uCC~w!`y$W+3{6vmvl7rc$GL@dec-zQbT1Y?-D0hK_XnVTM$Zji z@VQukrvp%1`|E09vG;j?za3&g^JYKh`TDSSM!O%<gyz|PL(l32P@(`V{?i{$#{){K zVGH<AzX#w7a6&>If%gbJoB~?E50MoDpfd0!q)$mk;I+KWl>l`tl;dt8M<#*G4yDHD zeYKDQML_MF)h?ck5h`O$PxFA2f=$GBu1TOWItB5SZM$<Em>9tO0|9B;oHxa<OiqIX zlwK6@5+MX^01|K#kOeZJ3FyOA%PkNh;6gRVa6s*VpSeaRRl=xCsDm6m031LsN(BJq z4D$rJiuBMbZXE36L}l_h8U|nqrT1?DeCP}$Bfv#4Nuk>TCIY$uoJc_z6mYGY6tu6D z@<8+p{0Xk$hk^kx!8E2irFL96kQ7pg(C-Z}O`0vU00?=aLa}*Z3Zv$gJOV<B1cW5M z?trk20Qj|pnaq_GFzGxn+UR}<fD|W6&`n&k1;*HoDh=l)?oIkUHnid!oX^9U8mig; z2HG|t<qmk=0YPDZK=`R<Ci4E-o)5WSNO+Y?zEEo3a1l>}bgDzcl86e?&iT&T=0NsD z08fHjKBImE^t&VI4?sy`82H87b{p4Fym|5eq5lt;`zK94<o>rutlR(q002ovPDHLk FV1gj0AdLV3 diff --git a/docs/img/181ef05617eae83f93df5db5884cb3f2.png b/docs/img/181ef05617eae83f93df5db5884cb3f2.png deleted file mode 100644 index 889effdbd786e226a99411b46530470d41a46037..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36736 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 Der2{E diff --git a/docs/img/182928c540d17ccf275438850fc7592d.png b/docs/img/182928c540d17ccf275438850fc7592d.png deleted file mode 100644 index 3b7f74cc6bfa885370bcefccd5e31138700414f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14125 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 diff --git a/docs/img/184e7323733c8aa9331e3fbef102e17c.png b/docs/img/184e7323733c8aa9331e3fbef102e17c.png deleted file mode 100644 index 84658aa5104a439ed312b9545e623aef3c8c74e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16040 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 YhFxrd+hv6^cVE}OV{p6Rmd)$`0mZpY5&!@I diff --git a/docs/img/185cfb126a59b17e7d802717876f8725.png b/docs/img/185cfb126a59b17e7d802717876f8725.png deleted file mode 100644 index 03c43e8fcc67fcf8bfe292b059d777dd36d83ea6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 202030 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�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�M_#EW1tDnEpB8ddQ5W}YiZZL-X$ZX{f&E-* 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 Zo&10kVq$GM$lEH|mj%-4!u#$XNova#n`i6h5G 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 MLP5Mr)F|Np0c$QlV*mgE diff --git a/docs/img/1864a1996bbb1636d65648dd8b0857df.png b/docs/img/1864a1996bbb1636d65648dd8b0857df.png deleted file mode 100644 index d29a1aefbc14f5c0850be3a6a4ec07ff8f022002..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14541 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 diff --git a/docs/img/18f2b22b7daf0beab9074c6695c99960.png b/docs/img/18f2b22b7daf0beab9074c6695c99960.png deleted file mode 100644 index 6ce5a3c3a60bb8e62e7912c5dadec92bfceaed05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 134390 zcmb??WmH>V5GU^L!68U-cXwLcT?)b7-CHzBa41%!xVt+9hf>@jKq(X}El{A{^uOoq zp56VrAKrV(ynE-(&B&eky-9+$rV1_=B^Ck#0`6;7MO_30^fdU9kAe)R7<=6B!!Nwr z>iSB5|Ni~@boKY_{9$5#`p2dOzhrPi$`yk;1_lNuCMFgZ7B)6E4h{}3E-oG(9zH&P zSHEW^0wMy!YehNzz|D&=wUABKW&ePfpbj_ii~EOMQ8S4NP!h8JcQBV-67px)(+}oF z&o7PVU(!V%(kQg}tMe10l({e$>w9Z@@FpUCWooLbp7U+k0eJfQ`r#UU3mGCF;Kan~ zM(&re7dS0E=uG^-Ynbxoc|b|&?YV%r(I7HumQ^vNJ{+B$eHzNn&h8AXt*Yva473B0 zlKwkL+aU(}`j+n?D=zh=rQo{K(iWfQ)C%LfqX_tDnT)$p%9Op(=ZBjM#Jtdg&`=OD zDQT8bRw~^~;_kCf77?7i#x|Dc&SZ%dTo#^q7#edY=_EV*U@5g=<hBugZPjzS<+oV( zerJC8gP$pT{DAx3C06n9v21jm1KK(|k9IJ1fQi!aT22vvOX75ddb^>rq0Xa_UCBRb z{vH3<>HjzBmd+Nmb%l?%V~?!@Uz}AU<hwO51>SsYjND-3UIARvDQLr!7k^%+j&jDC zETpdVmV>`#hYnALa6Aann3mQN+Yml26=EUM;ssHf5|F(;)crSVhR@rBmtzKuBGxT= zj{fo+t|K;OTE+HYecm)kIxzkI=eeHFV-`jClUIi^27`mru&QBd4*Ypz&`awUV{QQS zJ+F87BB~vndpsm0##@+@FKtE=iy^2w^B;TO7Mc`BV3~7a&Nw6cYL(ffjKiMRRL3Cy z+INn@zxuj674_kOznIE@L`}eqK=N{39(%iV9(+#Yjkt(E{TIvMhJ=89Pehh&za06( zn?0%vM64Fb?$+6~tPVt+8)<i;OQW`@{ecfJn%ytBlFpT2GwLk6-@0)>>rIc13GdE% zy+e5O=NQuwp)*x)@uz>J`<?d=8<KqoZ9KoF|Jw|JmJj}YB~d(Nd6Meti*V2Umqs?5 zqgStQB5QjS3pP35-}e$uA8;!cy7;;4!DS{PGudqPe0%cG4{z^IVZo4x&wl5F&%_ju zbD-{cU9zAc={$9Nht}hGK+vw#7T%Z1$mcUedWS~^pVkW<qO$%66>i%;hA{LrmE$ra z@6!a=_LPcthz8i4yEwWmjv@~u;K^k8dzr<F+C%<4><{W-H~;Mq1NL+-j|H++OHUUG z$uMbP@0lYBn;5@$-#1_y>&(23VOp}}ea=>scWyo7PZQY_@;z)=?PLIvhl`yUH7P=Z z%2++$?V*lxIJ=n?A{6~YWZwh)3l7vB3BO6lD<9+0RsU~KCZw1J9UnR9OBd4jSC)EZ zk3b1(nPNz9#<4eHGj&vNZpj^)z$aL@m47F7ZQwftIt1@NElJ5oFZ#*HBmbLgz-%H9 z%IWo2p5_VYV?;3|`NsF1@1SV3(a#wjKv1tbWyg{a1t2_^=AT7GLgKKk_m4eA^X7Yw zd8=2Cj}2cjY+qc@rVQZ~;+)CHpC<b|p|l*EEumc9lBP{Ut9EhXcq1G)PmhEN<@(yk zMdD0^sbfx2@h!gxrr}r$E?RuK^!oD^51-NjM^1&hW%QHrmxp-`YpeMW!zSMe<u@h6 zIy3mrSuGI`KgAo~4cs5$F8mPg;s{AEQ!Dn**iCw>4W#YxQ4zZ+5r1Y&%^hZr_$$2u zb!Tkt9k-z)u#fY-6YgV(6Fr@5etmbw(o}eiEBAXmC+yDYW~h7wM2$p$f2II^Y?AZR zWzk6XbiaAJ_%SIM<D^S$s<-KIP9zO*eSF#vUuj(0bRXVe0RrO#hM>PN?!NgnL1xB% zADaK3JRG?~cN@C7I^G4exAq|rw`c4q2lpe!N>8Jd4P_ESZ*a9=te^c+p?GN+0nuG_ z>w@myaS!0DO&nI^cnYcd?_CCYt050#hZ8rF?sKREaieZ0KKfLX7v0XomB?MGL+t9Q zH=A>i*b`T3|F1&kpRFGX#>jc`3fQ)cw@Ekmn#!m#Waf&QCv^&tw?0OVEF6`abW1X% z5_w>TP~9paE~qsdCVB6&z1@mj_71(rzO|o^V;{r-cAoWXZV*~FUH>TjgqSzm5R=}w z`oLhHp!S)}=Du+395Y~S&24)h!{6+CoF>M7oWQ^{w`@^;ppMDC6EOnUaxsk&IJA2N zDrMz1eSe3E`*R=(f?kGkIL?pMJxiWL_hhjr@qvp7NFMOPVuxmk?Ujc~%Gabojzvdi zkuTJ;N*;?tPPov@syr)T8a_e9#h(%DD=iEd6@QFZn!oy$Woy)*gaHlt7djeoW$a(; zZ`+C^Wjf5WZ68vO{LIIaRlfeYy^Zfem5os;iEpIoL5qhl@O}ad^M_t}(kLXdTJxCh z*oALKl>iE?K8J>0Az1F+gi+vQN)#;@bf1mUgy)UF?2gPLdCcu6LouPOyfH=cnHQ4o zv;j%Whx3S@j}&3Eo>iKNTTRJe?7y~=hQlF_<DE%-)Vwq-bTb-^MJ{;7m@;Fp+`G~^ zTzNGGk?ubPN);~R77n7udC3c{QFJrD>H6_e%>Q>Uf%ir^2<bL{py1&W2~E5yw^xx0 zz!G?~oe6>5p!+a8raxOI4Gui;21x_A5QBT{%K+v$Wp6u0*vVDY5L>uTJ{$=GIq?w< zxNgKr!4p!d@4(dEtR7>m%%T&NU{^c<^g9Zu{7|(~%;rbNN5`e*wj<&Gq^B-bckZ~m zu=p)YGwt>J7PDscltTmaf{y8BRkBeN6n#(!!_cQ-b9J>Yld=1mhj4V-qfUSuOxS$V zE*X*(y_=+3m=&ONWfcmRp|0!saJQ?|or_UTwl9`{ulz`GGWLBy@j5Fh$i+|@Th{)w z&IuSi4i*!>bfdTykFP}UOnTeb%&F3ZFFg(@iR*MfprDu53dtSQyYXVdjoeB-Ye6pV zS5!`^Y<ZxN!8B#!)%J3xa)6s19r;CQ63O7#8+6yKqzAlE2kh<QajvUya(PRWbw&Ds z2Seo>iZibXE%K>Rw`-%n(ck9fcWqZN0&YW<S%`y3oB-LyhvVdPUzT2rF|PdnLRz`3 zA?t6nK}{I5>Kr9I4;1%dnvs%c?eij*yT>$X!GuY@bGCtby*s1sXyH{IOBA&FPJy>} zLR!hl6=nkZp7cP8XTE>bey!Hm78w_ndAgt9;d#(rqw=Lk>u`rx*EKYZd~hc6ytYJQ z65U9U0+6{a7Tk67Qsqx3D$|et)XM5BB2}WG?Aj`4FeHyZ1Y;^{LL~wVt|G=2@bY^} z?4b>9y!Sx5;#t=nBCmX)#xGo!I>(qN-Fr&^wVxCe_Squ%2t`JMpFb4iVJI7tP$1rb zL)_;PHcU)&z<iS6FmZ_S4xeI$u`8q8_J#Z1b~y;eyN@|qrYgBpv`J;ZBL%!&;~q&j z!xPq(dhdxjXl~wd9K@9MV3G2G_gh{0QZpXnAdooIN3A%gwtaToSD4JRAS_WY^{uID z?vgKdNV5GY!T$9e>II^tQB<gzEzE4})2ne7C+Ky`#RJxmS&5~lEZR<hyH~)|6Yl{U zV%RV}x_Q`eJ1Ik7pa<vF=M0r@`WuN9@_?zMn-(dgt<JYV9*RZYxx=>A>5$UMRg0x5 zFPtVN^k9_|nuX+@iMHxmx1y#kw&R;jNgYI)5AT;fX9vDk<P$=dDFgEb*=wiTXpkC` zU4u<&h<ww0KEjB-Lz6cOld0yWg+xRn{MYv|y>uTmFvJA=ztD7-K5V6Y9aF1P0&fpX zyg1nbk8qcaZ(a98-1<s1xxT|Tz>*ZvWl2c#ks0KKV~>iFp_}uXJolY-1RIpQ(u8Bs zg)fDe;)s#(Z3~Y|R$7UE?+e8v{xxJyE{GO8&Fc~C7q<j=%Q0v~AB^vqWM)!BIh*@4 z$#r(mh^pJ6AhNGKsjrIGjs~-FS2W&i;^yJ|5lbN@JSOf7Ah8$B2rA~*?z%t(z{&ay z4R=RBd_e70NF`Z`DpR!~y`ss>x67|zQ?*{QobO(Q_1G0|U&qqwteJ<~P)x(pi-EvV zv1!0adQ^ZN?xpwH!5j!2tlHg?8NGS;noVG05S@W%|2$tLYF4f>Y9o)E!3J~}ko9BQ zB{?Ac3MMwlx~6@)0d_?nB}8+aSGGe8mROXiGR{nwbXQWQb?ut!XbBZZ<ab3(lTa<N zmETu)JvNJGLXUiytMN0-yu|jkoy@b01d|08`On(n=gX$p^R+z0OYYE|1U(OEviV~^ z&w=u`d8xQQ12>sRHg2LF9HiEv*5brwtc^lZ{)%Kc)m@dobSL+l5A_M9=KEN}e`-7* z`Vc{)x_!*_-%O`mG#WY*A(J?a2)-#-Xud?JKQ#FoS0OiY4J8={^pi3w{N0;@#6TXD z;ZVO}%#yX*Opg+S#~#(e@+;I|Q39re?>n(E01@>pX*Z)PC$eAWp^XSuGdPZjSZ0Q@ zvAtH$!<@6ZQz8E1j5fO@a@QEZtpiU%b5480xqWp&RCIXwE(mlkB32JDph3E&!}KVG z-Tg+^aS=f_DX`!|<aeA`K~V`s*4X()MsGFz;bs*XTyW$jM{N^icIRUQLyl(b$;w%g zN~fEelh7mw_JNUO`z3Id$vUJEJZ^FU8v-%QAx#Atr|-XhK^2>rB7CiRnFu);dJHvO zZM!A}3sHzM34>)s3QVNkKQ0H&-xJuwBw#<A39c#AR3uG)^+6zJZB*V3E%!e&LzgN- z3m?3l(x2MVK-AKKOrH-18OqY#O@$<)FXx-)EsN%}eP!NXEko9N>HsS(Dbx&C`%gLd zj$tJVco(Pq-XZ*XT-mDAb_2$EDoInvzAc&M3Co7k18r39Epdk#mbNgCDm8krD+F?; z>xk6t7+8NK;el8xfF<x6yzPY0?S0zMyx_}FBSfYUxpKjIuBr%ltY9SB+IO9sd7GSY zOqd<uP{He6e(+%�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 diff --git a/docs/img/191e4984d9e1aa615a86fec2b6d42dcd.png b/docs/img/191e4984d9e1aa615a86fec2b6d42dcd.png deleted file mode 100644 index d22d76eaedb0dd4aff443c363cf42c66d72bcad6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6960 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 a5o=*(j?n&l!q+9R8(J`ZwMG^D=>G+yVm4p^ diff --git a/docs/img/1a097c142decf7d516165322a0f7b880.png b/docs/img/1a097c142decf7d516165322a0f7b880.png deleted file mode 100644 index d9a5db4e0a98789e0eb04f942b30cbfc4d59b166..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26005 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 KxcZT8)c*rue+!5J diff --git a/docs/img/1a1b871d7e874d4f8e2ab4905d000509.png b/docs/img/1a1b871d7e874d4f8e2ab4905d000509.png deleted file mode 100644 index a5c7565370b115c2edc39e54cf84203885039ca1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23623 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 Vqw0n|o(z6NR}-r7PR%a*{{Z6mBtrlI diff --git a/docs/img/1a3371a11e14e221f5c8e0e75e327d08.png b/docs/img/1a3371a11e14e221f5c8e0e75e327d08.png deleted file mode 100644 index f48d0bfb9d6e02717098f07cbe3552cf9c073699..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21193 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 diff --git a/docs/img/1a3f578f317c266ca4b5d61eb91d025b.png b/docs/img/1a3f578f317c266ca4b5d61eb91d025b.png deleted file mode 100644 index c3c88c4aa8ee8ecb3d1e761f15346dba8a5d4392..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74727 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 JPDHLkV1gq$!~y^S diff --git a/docs/img/1a5840885de676ed33d7cdb688b26a12.png b/docs/img/1a5840885de676ed33d7cdb688b26a12.png deleted file mode 100644 index 80c0478b58a67bc355f348e312330be62b8fbe53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3290 zcmZXXc{Cg78ph2~MJ&}QiFGukwTsjiMQf>1Td9hQJxVM?BlfkO+NHrz5|pvVS`DS5 zwh~cGgrZ8TmQ*Y)ZQ4;g*W7#O+?jL#dEf6m=lknD-}gMfH}$%;nE;<S9|s4AfceiR zb{rg>wBvIc7w2)!r&~uHH}&h5_NGTiNAoO}$)#)1__~A_D-~#i!`0T=x)>fF9$sEv zK0ZDG0Km`BFCZWwC@3f-Bvf~xnaaVzf7{&Tihab)`XeiBS=;HPlG9X&$LGG!{C*=G zFf~l9cP0jZpEp$hVCSQMw))#vP?riAmGNzXcrIIKR-qpxUiW3RUX<)=HpUP&^YrwT z8Ikuq?+^drt&+Dh;B;3n3x*jq&yTkN6^Hx;KzS(3<N6ZF1a(m$&9leR5|qyS56$N7 z$AcgjP?s3BAsnrOo3s69_?~>E&K&CVB#Y2U!`q%eC?&F2HSl5&@rxf5MQP`Uw%f!F zd6_`380jB%-UB}9MeU;wg8jmU*o-k~!v;;|jZB5JlgEBOPHphugpeF0175fnX0W@* zT;C<x<PP@U{4GOkExjWnd}|>>Y(ED1sVFG++{ru{ZEo!D1X%6UsZoy-RY9n9>#Lp{ zxJVy{mhuCz&8M9^NkO$xW+zCsC1eFYQo~6PYT7T+DrZGPR=it#tRG?8L0So3^%~f_ z<Qe7KGEh)(h=wN)-J#skui16bEVUeP7<<UYT<VCNr)Qsq<JkktYjn!fUZS<e;zFZk z_$`NWu1j<cDmngMVq@iro6N+a&c@`_4VW=L7ojvW{-WLzYuY8uxHT>Qa12RZcIcn$ z#Bfgh`ie(@vA$mFWG~YHhvaPTa=N06viwx~nP1>YWpsp3_19+*S}rJ*Xw~#??22!7 zbDH?|l7q@J?MnIP>G)R7(C>*eqa_&K=2qOAq}ZL7nr{jeUAomJ7n;vugI-xg+m|0k z#S7t{&OnW2nG}?J*?8)S0N+%IwY^pZeYJXilKQ3*S;PvdDg-Yht}eWzv7h~BL@da1 z$SG>z^~#WKTThp6A3}Oxa=D8!#i61Whdh$WgFf;Kk0|-5>Za9qDiTt16@hs(D*hH3 zuWZxlH{($DFjx)^7;J+ptJDVGmiJq&E6{4%F9%0I5m72IMNDW7+|-h@R)X7_x@;d3 z8lNf|$2(^O8(i2zkrX2`%mIRc6f?SY%!)19g|i>tDScciExk8GU0!%=CyXqOwldT| zdY8*pw2Mj{VV0IU$2#<xIA>s+<vbIe&YL>f?dRHNi<pny)nD?HSxOwQU+;D#R+%sF zqgU;^IVn!EKsjoJ)Y@a9cT7D)w67a<PVZW6$S+e$X|G<PAT(m2)k=nxCvjk0sJ&Zf z+#}Te6H~`5$$G~fku<04TJ$ku)nWz4H_C(CTReN}sw9%(D2rE!1~MmAQG+79OWdB9 z5J^wkh`wX^Zo(J2VS=kLGjsxy9RR|P6QLxMO}CC~4xsQdgYZ>36wS$OIC^YE<)#_n zXXiGj;@7(gx%#NC8JM+hur_XWrs_z~Y@h-a{WunuS;{L1a>Idc%njkH0hIR|@9Qar zR)YgxLlJFZH}2ot`hg}4Vw?whe(H`$1-A{iDmA1rg!=&r7<b%b9hs#y9e7S{)(c37 z2fy0LWV4$<4OIsLp((U|`nA8Juog9E`a7d}56AmC;GT{_?TF0aq&YE%gOB!d(sq2? zE>as21Rh_~{ov<@80Xe0G+>^Fpj35Z=#wRuMM?STLv>mclX6qe&Ilm$br%Q94SUA6 zit>hZSu!J7Q?Ws?VC8@@lpX|UH9C!N7y3VzqQzcltrB9N(VB98j#J=Vw)hAxW0g8V zgO_HLpi|B$T8-=BPqb7DDc}F907iS<=5+t1ur}3}GJ92GK;BaRuHMIFV~|q<n@8;~ zv|b8CD#BbtAFK)DQg;X#;lPB^)&UxMa-qe-t?)Cfa;+^*{m!eLr{r?qPfr<yM%892 zj8&VAuDr0I&&)Y#T6Rc?u^eP_UVGE|KuKDxD30E@b$OAkpXsK3K&59T1R<$n_JNP` zcAw=RN#y1hZ^Ugfwlw0W{YJ)xoWwRRUUw;HoF6OpC{%TkJ<8q=#ZH$U6$kX5IrXt> zKXiaN_n|wSZ6LwizIUY3=?&lxEiufhEo1aM8bH4Af`)uzt&7<w_lDp5$N4!HD>E}T zr;$7S2WrqmcX_Obb@6}v_rLZF{ktdsPy6l)Qqqeet8q65g=Y#z4l1-|1CKgEs5O@R zY}s~U;KZ&1DaB_!y7;rvd<HD+R_^SjV$4wtEp<~*@=d<u!q+5R7i0KCijI5~<90jc zLIPWcF<D)_y5s|{nQ@PjV4NCa5iZiwWa?hLxUsEG5r^vuI_XIyX7X9Pu$BvShpkrv zhLRQREYr*z)soJ4kENXh#MKW~fMPglX*@(F!#S8=t&GbOpJsI^b{vg>zs(Jt91h75 zNi|=Vps_m3J5pR=L%GdK8fHy}+){#YQ5cK24Cpd<xrJG~I{8~mJxLT($Ir@hAag{O z=@iv!PH5>gh1C^}&B$NctwMrThvC_x#`MJL{Znty=;8-hr>p)ecg|HbPzpB!8Y2C| zbLxic@e}ZrU=v^AO<N`1J^EsVbUpAj)8pc*<Uqlb`pe0rBE%Q}0%{<*0qNyD)9c$X zJm#+WCI3upngEju+u&oo8IumJctM!60d;vuLcV{AWOjqTN=VS?UZuCP>R0!|k};Xn z9H<LeE*iEfj31ZoN*Y~rr@frW3YLSZu5=(*AIz!av)pV2_ng;bc3m)huRXYC8<1-y z{gfH8(f7KZw484WEzc<8M#^uUWBaBbZQjbPO=L^-LnpMZV_oozgf#gYN{z)P=j2U2 zo8Xj*dr^os4Z3X80@#>XmU{i!mE`+)P4&RM*Hg|ZsG9Mrjr=mE!_FVppsrse_k53P zM$8T{nI{KG%DY)23jTp2f*lG1QI600VaJ2Ne@}#FawrTU6_A0@qSrh5{WhSC(2MU* z(}H@pF?x-PM$%$?*KtSM{`j-)?Ha*7h9Fd)l%~}!ebpZ!-wm+M|KNn<hx&i)@TWF+ z<*n;=ssn%-KHZXMFNSYckISfZI}|!Y`%L!jaRmKI9k@iYdeS<&Q?l{7+1AhNom|7) z&2F9gA>I0l&lo${IKONA#vqy6o!}L5N5e)lxJ?>4gv-QrKSVnyZrb81|Bvc)S;c6B z<aLtJrV<2~F&U$qkD&~;MkZjeDHy<PDyKoub_J+^FJG-+gS&4I)!xoXWY@CRr098q zbC&p>9>Q}p8k(e-Uei%-@d#<?0WJ0r>Vpew%OaR>8Bk;4Z>O^t?rs}lCCO8niPf?I z;5m=dN1rcj8Ei|%tbpV?vXai8(3aa0hiTfRD;FM(gu*BI+=!~UG9UlWi@>*F#9a(x ztz|cBRLL`j(_BoSqSp56Oe%#col-s1M)ax6za>qc<C=3fNO_rQxQ>ce1Hh)Q_29tg zUnIBJZ<Sbk`2w+SzhdmH;MiqNZ@-n7%9~rYk#@5v!9PS6p*=cLEi3@*6bi2kLRRs) z^HOFkPPnVIe3kwHum45HPc>@2Qhr;QATOC&!SxeZ*vo_4oB%~#5bGvow9WStp9>6X z<ZM8fb<x8iA(x%=2|`v#^lb>P7|*=&t?%Ybf_E?Ige?t+*^r&qRLAqUKi{o&{H(E& zHY%fyxMGq7x}mjBauxMf;%x%<W517$=CKW)ii_d=eng!T5{I>-)eEGMPAQj7JJjQ@ zN(NnY%TWpg>+wA2qE!<gfQ(hxAE&zL_i^`A_+^QfA%>fc>PU0KtTWv}d{^UrvR2!U zH1l^TQ}e1fgm${0k;eRe$4F8EQSkT;>o}jDDbvftz$7<^_=iGEe(~MXl$pj{MX|oj z1oQa8$q{au4)#LQ`ttEj2;zntdHO6SrkpjDLA*C2{ZQNeokLzKaVP3p5R>qlP9P74 zxXf#^xlj%hSZ(;V!RRL8EQ%r=HjcmT@s1vnnJ_J-7bz3fJI^V=nf)YR=4@_@8}|bu zc+%Ne5=)oE#N@Cn=;CT1WlVr)_iu?9+g_Wxp5;4J)P6a|ix0;`dvMUOp6-+I0tsQT zWLA=~oR>%2gYwGhu9J(gD*~Zk7PQ0aly97M@&))0>+my^4ne5%si>Xe1a(o`-~Ngy zjYQwRjjTvyM_)Wnj#U`mOLce^_7}ASQ2$7cf0O)Q+Iuk5(VEIzkTIWUUnvqDB#+qf cd2+<*XB`!RzJSs>URF5FO|4BH8@d1bFVI0$Q~&?~ diff --git a/docs/img/1ab2181cd0be5aa7d8e96f16a1348ef9.png b/docs/img/1ab2181cd0be5aa7d8e96f16a1348ef9.png deleted file mode 100644 index 6ea70960e7b1c9b7a8d04cf568f4b8cf4b875c78..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7722 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 diff --git a/docs/img/1b109b486c41c14a03eea4127cec2351.png b/docs/img/1b109b486c41c14a03eea4127cec2351.png deleted file mode 100644 index 1c6baf9d648ae1f62832322ef63477a77407ced2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5591 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 BViN!W diff --git a/docs/img/1b69e9fcb692fa835e9b7e06fa856aee.png b/docs/img/1b69e9fcb692fa835e9b7e06fa856aee.png deleted file mode 100644 index e8bde94d7c795639f8d3b3e1f3194a3f89542fac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33589 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 Do|DgY diff --git a/docs/img/1b984d904256e7a325a4cc30bcf71ee1.png b/docs/img/1b984d904256e7a325a4cc30bcf71ee1.png deleted file mode 100644 index 130d5ccc03b294324770c0e691d159a6d51c88ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7905 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 CumJ}E diff --git a/docs/img/1bb73cd8d699dd8fa617c328abafb76b.png b/docs/img/1bb73cd8d699dd8fa617c328abafb76b.png deleted file mode 100644 index 9cd62c8e9f94f0d7102102b93c5b8fb1d693e3d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6896 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 E3%cwcC;$Ke diff --git a/docs/img/1bc92f79d9645e6ae51aff10100e5c0d.png b/docs/img/1bc92f79d9645e6ae51aff10100e5c0d.png deleted file mode 100644 index 1a1bb82c612670151a8b18cf04e92e6fcdf94eb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65608 zcmV)zK#{+RP)<h;3K|Lk000e1NJLTq00t@m00nvk0{{R3f$lkb0000mP)t-s|NsBx z<>eZwR533w@bK=nzQuTUdhf@02nYxX2?+`c3JVJh3=9kn4Gj(s4i66xYc<d!0095f zNkl<Zc-rj!Nkd~vk}eFpIt<uK&5+x!x?S%&xd-Xnx-Np)iXudA;VMvXyDwFlfB*B@ zZScbs!BFYunSrKrjwCSi$HvEu(be0U8LR(2`k$^2wZZ}z{rAW}m61-d0*wB9<e#qY zw8HO*#_GS(f4X|ail7$y-`Ia@L3N51(TGx9P^{2Z{0fLhl+l0ff4cg_3iT}%D|EH6 zLjP00LKpEX!k=GpL9s%Y`W5O|=+YRJVuh~fVny{V6c^|}^(%VSidgFtjVLX9qW`Qa zMc-JFd<(1LsQRCY%Au=Azk*?fIuqreVnx4Lk%a&%Qm9h_^;e;*N32L8C_teobt-BO zM^~p<krNhK7CzjhhuP0vulh#TDpvFxgGw0TqyQ<!#~SprpS|p>G8I;vj=IGPU?$YZ zXSydxKY53qO<(gl5{T;R5-T7p1<-pR_HX&K%@#N^iWRzEh!r(oLGOJ~o?!OVwPN-P zZ%O?M^($x$>SOa3vo})y7yi>2l=>AGZKw7_3!~mbD_--36f3&bimC!}JH-m}QLe?C zV8zQTgVnF-7b}RtWRS!CQLe?CVZ}@FLSs-pV+AspY^rsrPrbim@itgd`$(Qe7&wj< zdw+e!TC1e}tN9f`;!re1`ymBLZ-Ny-zUkws^`bpeE#R-OT2mFZe?hF^^74Tl7v^nZ zP?n(Lqi}_40|i$6+v~LAKUCCyV6DKuYt&<gqy)!fKP+$I-}8;I0>_{q{YQh;bp8Ex zTJbj(?N={Y!OE|9)QS?D&uT$4dGGF4c)WNczk+9F9{mjE*TB|aU%6DcUkwzio9!?x z?%z=@X2n)$SAD#H-ood$-^NhHN&E;&Phf><v>mBdyth(ZIGylo@$KEzVus5BiIGuI z!~98d+xWXh_hl^nWN`JcYQ+aD#ZcC}sl}|i)!5-CUg@7Cw@pH8F#v2I2|pF<QMKYD zeTwC_YQ^Gb*HVxB6-e&Eux`~4BL8?Bzd~Y#k>Myp>!4Wi@lbI+pfz8;BUaF=Kq@`& zoaKH)tl)K!Fsrpr!lgj4qFV8RP_aLd_1(UcR#=j;E9$`z<lRD0{;l2$D@wsvyf-tY zX<ei$?1)mRR=h7%Y^hc(-UlpZxbDf~Y7bsl{yuI+c+0oLid4)I6=Yd!of><BV#Vi! ziuVGG8Lb2~RVkp=c<~-s@iw__kYR-xaUrlbQ8h@l;`4YF@8?+%tO&$l6dY_R{&4&F zo2M_Ht`5w<6d2tzny;Y3mWqEfo|hptA<(7{RIPZ&wM=#sQj4Q^!-@<LSvDt$8RIC+ zN_Y_-=5HL5%KtH~Sk~Xf!LW{Z+-DhC%~xhv&IwlF9DXCG|7XC8yiYu1n_a!aK-o-x z(&v*eTt=nX?RMM8O{mG$6+89!d-Uq=`>U|R)+oNabDloIZEe-`((y2V(~#6?WOln4 z*9!R?ZEFRQ^YkT_EJFj#rFh!g{@c-N^8a3=6_eSs_dJ+Q-Tx--RIic1^c#WvyL)79 zZ(n@%gW>cCwc>nihlA^^6*s$GHlfO2WI3Cm53!)9I)|kGst)<9&%lc6VP`X=Xhp8U z2rsQFR+u+(Dbhcx6_a5ozlpD0D<1ft1fIYOWHHTnl!3bxtqxUD@(2I-6<V?X{J)cv zx`SbE9+FVJLh25mr4?a+d6iboU$FhZNGn$HJMVUz`}=|x1@X2>@LO6@zwHBlb=APb z345+?qR6!0+iY%z`^{!b_Sb+F_U%GaV_0#3zF@(M!}%C8jA8{NMhu}YE0o2M?p*U| zZae-_4&GKP_J`Yp;p|7W;(1tczIdHhOx%YXQ^X(Cii@lj9xF0fe9MYAAi4PZe5}|G z@;g4T=SX#6jpxTrxfmDG!g0Ud;C{YQNUHk$R4W{E-HusMAh2T0ub@>N0hyLH40|#) zCsRht-c$;#6@M}2`2TZ%r2qG(T5&$yI>q?BT4CV1&fQD3BFAO7yRevJaWD|MV82he zxx;?NH>?%wr?sM%``8);vet=T5RHjL4F8(DwZVc~CJ1?h@Kf<xs8&2Iwo&wtH{XI* zK>RG><8S9P_gnIxGJO5~ioessieeV|FIg!LjC%+7f3=)&U~W_^{v*J|)cl_})r!Mm z?G(dYY~0#@My+_nX!}8}h?e|fvAg&Fb~2&PY(azS(HuPg_u0@2XkZ1hsi9<hJyv+7 z@RjXTryuTi?ky;<p$q#K4B!?Ahsf8M$3Lt8HT>qklG`>H=`Xzv8wP|=86Sp&C-GB? zuUV5YHl)x?eC=?Uy8mlsBue6pYsEC6#9zE_Z2s?GW+&mvtJyE!<GA_TZ1#Vj(u$j5 z2s>K5-P_zdqv8I0d?N2|vxni^!*DlEU-#GawA&$q)9&tsKeF2?{Oxi&*~DnfCLDlw zkf;^M@pVZ1NIKnJ>Uwal{PuQIUZ>YHb?@;J0C(cl#MgW%;3!^i;{S4!BeQ&1__#nl z!Fa7U`3-0214gYlE@#8cGH07%MRvEn%0yN8eR1ctVsd|fuwAU(FVFoR-2?y6$?tdn zOLf0qch|iLn_;-WGAB3d8~4aR=RSqsZ8r7SeseQJ0D<o&taym1okC>Jf(lQZy-66V zS}jB?U^olgn2CGEIw)o~CAQ(2!y)b)`}vjlDFq}V{~=&SEta1Qr|$on*+w*@<62=R z;l@s!X8ezP>EGQ0|69HM>tELg{;&LmR)jzLZMog|pZwhaxEzYje2`?}lzLeH8@oUE z{^Bwn>A$gi%k5o!AsmpNUtq1cjBn}p5r6zcd83E$CguG2i>;4MIwyas-`sU4;WcpA zJD)!U5#3)zXnKh6vaNg5e)^N)tu23<^Z8*o@X$w9_R&_J8!LiZWN$lP@nP7-FpU4I z|K;A@X@-Bp_zm5!YU-Yd@8W-{;nNT6@cUfElh^4v2-lrPF<N_vWtKTTP%mD^3U|P_ z3;*73w_1AmUJk>N_iWzAwP<3+fw!xt0VI!3q7Iy{vMI58m@mVp+{2&J{khiE|C*s% z*n&z0E8M$BurOeli}MIp{4M#}Q~1As3CaUCDi!~-|L;+)n8ZJFxh+}&NbR#${F=5$ zi=MUalx;lnAe|9Kr#{9zh}Viqe5<H;rzXir){3)o{yw{2-kg)o5-+<ACkL$<l429B zxU46{3$2rEx;y*zozvN8Q6bK2z%ds=`J0_6h1w2RL9rn{U4B*Jle-5tJ#iL(sd2|V zD_Y?{MSSiwULhU62wGA0Pg>~VvBKC8i$3()<P_mDT>HDX!q#swb+xL+j0%ub`rF`j zMx$`+c8d}Y^xii9ltH$<cj~_QwBc9aKD#>6#w4&HiHoPO;%~{J_z$lY=HhQ&3;xsD zK~o1B?(hG1_oshUE8Jh<{yP3O!fnxt{UPjn)4azH*{^)a-}-Qv2U~c*?g!tO{&pL7 z48L>u{b5RW5Qw|x%KiD=@#~5E2$#cmNWUj%L>|@io!REBi~2ae`?qBhWcQK3xgF}% zy@!oj;diXlq7|!$#nPYbw$yyW+@3i3bX(grY;A4>o8${StvI?2zYzatTOcc;Y6VJf zLyp%Ug<s1-Lo32BHEYE@{8AkdctdG|wBq(KXxlt##d&;}b-;=gVWL4xj}`9uOaJpA zga$ou`0KC1>$H87COt?6CNt`7x?lX6|D#wF-rws0Z09vQ5%!q)DNXv6Qwqf>21WA~ zCFW$aXMy143BTfR!DRAI_y7Bgx0e3XY027YhQ|<p`&SaPm0FSTVp?yLRvgAZaZm*K z>g}4iKSHqzeO}Y=1>qFGA8do&wN5XrgKT*r!#fBBVf2sBf&=dC((`cG6nWd}y!dOK zmg|K#JuN%=B;ttmzv-wIx8Y9`w8DGZ(YXto)wIM8-3890@f0_(gY<RIy^ZFSGsJke zbDpl?TCpnrb#SwsXx~nfR-F1f?oU~?;uN+?D;~nHYvBRt*6$*2+i>oH$B~79^Y7s~ zf68sa3M7`vvJPLv!Nb(s+~55#%6hNua1jvX7Dxm1PaH&NV{nK?Q2ehdY$6B#7kZ1c zc<ImQf&3u9avl%8<ygTQio%mw1+r&>-2W%~w*Qi~0-RP{{xxWU^@`wrtbK0JKBW}} z4$^JXiifxf+@`<&8B}X(o#gv8L?I$59;9y`v>;ebw{hq2wgKKjyw=R)iRsse%$1}S zr(T+GOB6g^4+FQ!zuSj-`Fn)xJj@GL<kwIrJ)2f>YbzUA{1j;u+j{HqOkhRyEf`kp zhaG>OQgmq}nFirMs9F(yin!IxQ4A{O^=yh>Jw!X?)LVF`$*+jJqQS&aHe!YQwgBLh zs}3UkzWlIo&n~@Yy+K7(GX~}Urn8yXi13H}>VKhJE5hF-eoB)*rKx}1;#ZJbz?|DI z`H5^o*~&5qkLN4?g0bS?vsP?2f1f(7@SgVcNv#;}rv}{?tytXLWL!A#JK?DzZbjM{ z7I{B#*7En&YU#Bi2%FQ2UstQu_KfTxK`Tz(^FccAZMfomO10uFUmaGz_~XmtaD~-L z`~=}QjkO|aL(z)E@Y=W4suUxb)$$=}<AMJpuImR&n^-_NtVJ0s7QX0X%do=PhIyZ# z7mL(;>}OajZ1}ClU+S>9vQ;bMZ+Eu2L0S>)?$d-7NiIqCL-Z@oy~7XNGye!o`c~eO zgtuUevMs+N`l5apX#GO7DG>gk<(2RvaICO=M#l^{A|-blg{azvPz?*pW5xfAS`hc2 z$+NWLfW*|+RV#8}K13az1>iK~p12ipV>t9$k^esFj3mX`qCQ|+0ol^_j__Ty$?q-8 zSNLBX+{Dj>wIX`T&(n$s;ngED7cneQw>GI20dn?{H(30N5SU%;h*r2?#^yS@RA+I= zKZuWR+gcIb`zg_i_>GcQzz|=UC#)a|t|Sy0E2bGM+|$8=0-v+EwUmMLC;e+-MfwA; zi&jJoI7EI$!iuUDhth&FVsH(lp7r=85>(W5M)^pOXvJmZkoDen)e7@mt%#ApdfU{B z9GoO>Mf{@YNh{1_TCr|v#Uh5BzQ?zoH?-n#kXrFD6s?%FwBnHY6<8}KNgL_bmi~w# zi#G}4ygpxuGN@4UfwTf})OP(`t%xVgiB=pAV_Jcd6*#wx{EB7pE8Icbc@RLK_a@_3 ze<Hhw#ESFbYBu}DJAjKIP3vfR3cq5K{fhJ{2^M3&qWVs=TJDt6c!(dZ!q>ARvso+l zd<y#Jd0Ju8hMaDZ1vS5NYmK(cImuQ`ss)v8$Gccio21w&cz8^A5dXWI=fd0LZTJWm zrN)kE#df%#T~e)ZA7wK;e-Tz(g+ZO^`(7PwpR%Cb9}t&{KuJ;T99-n!Y>YfiN^I^S zW~!dlipfpX0HhV}S8!h}C`cC6JjI}}zyR?pF1?riHT;$##4<t*>M~eYxLW9^1)-wV zG9&dK$-O*`S*LaI(Evwgv(Fjq@AN6hVo<mTcUJQ=$=60KSWjccUoGTh9`Y*^2l=zK z!oW$C^l-bMtz=Yx0J{)8+}*{U&6dPwl0tuW*bmZoEq=u<J+S%}xXfXiDoTV_K>SS- ztvCp2!zZ*NdEM39E_>TF+P40{%j_I(k<TBV*`A>fNVKB56$^{=IA_tWJbzj%!Z-F| zwW1Xe(|y&iIKzGgFs39E@xb~>RB-awb{ia-c?bvkUnhthgZc5>GTwMb>OD;Ujh{u7 z^MB3#0bxb{lqpsiKV=Meh<pY9vdbK&&0YnnQbh1Isudyp`q%$7Ut`tB-`pMRwc(jq zap`2;|6%g2k41$*V)#4%zRPxteTd>!+={d(pcqv2$B(B~E9T)b*+EJS>SFDyG`tA= zey)S2R@|mYFV>2+iRtIZv|@_2!e1=bqxl28t#Ozlvy&7gOIoo`KOW}T?1kE&iUPB- z;^Wd`#%lEt6A@n2pVErock6gWf`q6Q>sU{lqJAO&dseW5Q5ZnXZCihd3^Cs4n|o95 z{@Pc5kXBFD;QiX$R&G1}<{rX#+-%eL*c5B{!G~}7r-bw=WgQf@)66XA^dMFTf+4LY z@KlHDe}tM2U+M9en9u(Any+|<R-A`A0blzUZ+-IaIwqZlyI-=Kx?Lpwo}d~QzcCzy zY;fKWLSCZ8pvnPw2Z{L#pWi-(nCGxLtx>jfj1>=5D<(dHyM4m12r@Yjk$|X;mr>`= z!{?c&f9V5XmUljl*$*$_Yf&8-`;LlMoZ7lY9L7+dcR8NY3U`7}WCXKmQ?z1!oV~1# ze{-KrT_dbu<M0wz#QLZ2K9lET0dt5B$}OP<_$eAeKEjODd-$6#;V<g<j1;rU$)594 zTJYV}R}KeUW?V~y0Wb;wtfuQurv87Rk=tBVKc*Fb^Yw4mE5u)Xk7Uek`_1wHJUcQw zgq$|6IEZ2s!)`&87pWH!x0#%WjUm)c%=3P*343OeVkZZiE!#mLoUqtzgWqs>?9OxW zf4t3p#V}u2tr&cOhiOIFl^(^4xO0U+!2LRHQZ`+DGn8VM@W-5QhML<>o7nz<0Y3g+ zlfTVaK7u#l&z$1i_9I$xIMgDRMe!?8>>*#sBCMcP{T?f(p|JEJ)C7j}?hZXh__9>O z74>rrC_->M!{W2fe+HkoocTYY`(@2@_3<Q`iSaLg=s)GDNgtcHkyu7=v$UvmKGDmP zAeDWB%^?0!FGHtAYClT#PtVbcT<!z|DLTr<jq~JK&msCChq)dp`<ja!<~c)kP)UmO z0eA<2Qio)7P16Bt**FL>EEI!UG-6PT$F(9{ejDRYxAE$zaB4e`HBbMQx3&`f%9|J~ z2)}3;P_dX8^6_Q2d`c@0azN~`YDI}boe%Nc@XL%?VOs6VCE>lCMWI=)ymGi#kB$tV zdGQl&2^snb#|Px*#3k;_U&XdV+KmrKN3AvzAnYYG+OrL`>8R-aBYoS`qzivB|8(ye z>&lHed8W6Ws`ByeB3KiXT5Nid%pL4jgpmIbBMM*BktZn_pQYIC9E-IfI|#&FbE&1B z*VB?OTD8KLSkDmlB*|WU#THcX$ek-xEvWK#IiOQ2Tu;(|<?Q>rgH*hm-}!ugnKT4w z4|q*(Zx=L)H;LaO)WuA~=PFse@C4NgU%}@;K}h?+wrGXF`-}fe_+8Y7-%aqthEg|b zG5-sY-py)i`^^(@Pb;pte&sD9OlbF4{ES8DJo1;F;X;?(IL_F0pWyh|9B*Qp`~UrI z6X(6;+vjk6K<dZOx62uOVSFu@HYiuwLY6bmmtf@%f}cMUrvcf4?D($qSifrCjVyW- zyl<6sOZ*1;(n}O_F3V<jd$Aa{g3aJXpDTRTBYCE6{XHrlR1pU&gua;Cskxs|y!c_) z0`22(Hy4i$=ZG<=qAGwWKCs91JU*zuJl&;g-eT<!*8EGY5TrWC)y(W=(kBO(G6?l9 z<bfn#K{{25@S?r5hA)4P0mUpgYu*eiECHy96$lbg`QWp$Lbc+hA9!x|M!QLuTc$6| zL9B1@@iC>rZAliwN_xFI=K+42r;W?l-x4cW8wXMX+$u{0W1m_prvF-6F&PHjZY^4> zSqJy>qZl=@6;ZK*jiN{Ndg*5++xrQgHjvA|4OY;GY?C?3OT(4?+V=T#@f0hbyDo?7 zWjC~9&Fucm4`N@YleWdYZ87AePML_txQOh&^p*_C$OTG2|7!vbwb{ZQn6aXv7Ekd( zDbMW7*YW-RD85N%MED@4e#(1h*#urWH<C_y;Il7Y5r86yWZp6cB|}|F5gR^7HRx0; zK5%icc(180bjxmpNoh|)rTL=-1lF`L=BdZ>Rr|IvD4G@_wJzebK3N^8TJa8QaXk#% z510Ukj3h=mONF-@8qx;h;UxRq$Lv*jTdc@>O?YO>$XFDCezNOGwc<Ur;$j$f+uV!y z?Va2xiWMvxWr#U}ymF8x6f{N?KkxCoVg=>Cl1>wGbaVpPCs-H07cY`8zn4-FgS*xN z#mognQrQ}IBF;t2-k{Gv^|(-ZVm7L`&28s~)TY(Pf?{o~`1|XW;%_S6uUvi#eQY^; z-zoHEYzvOq7x%k1G8-~Ovb5|l<an8DQH(PDA>Irtiu_wjM{Ym_s7s)jt$%x+R{V#G z_p8-ndE<fNe)Vojk>-fv^foGeDv=?}sML^Z(4njOa2i-@Jx)z;InYClnzzbVAlL#h zhINY*T^MCagV$+=Rq1}cZ?SR<R`2*LoK-Qvh7Mp`2@UAN{R!35A~`Ucff##i3)nO! zQ@%~Ug1{6~ZSHP!G-GS;HA=Bo+5RED0C?AJWo9Y`aU+~$2wMR~3lz---~pVPz-T@O zQ}Cw|lzJNrs!^s3IMZUDg%!FwSTn>W(6Ig)+W>JQ4D!I4UxCx!?Z>vvEN#SU-^SY} zF)!TKK}*5n#~Q~9T^(oz3)XX~DVur)1#B#FQYh+2j65zT495z1W30fTHa7MQ^<G%k zlCG;utQd_HRbD|O(V{v9Yz77JC@p)8ibSf;5x97}$Sj`KVTd;4A5ixL#fpBhqV_lt zBimNL0C6K*)RKb-&Ef1ZuTO929uZL%gZkMUbR<M8!#Qv>iI}imK+L8gfV#TH3d2XV zld-0F6g6qdLFN{vu%X&DRuWQDWyHIH<xkg&qY^ix4R<UqMd|{Bv877UvtMBwWf(vT zuj%v$j1|D!^$dm+@tE<ev3zqNeLecQ!U)T0De^+LAf5+Ef=`wCL;Z?gu>#Xx&|*F0 zH&Ay24VFX+YC5-?<gU?UKDoD;VaU^;{p@8c@Kv5dR5?!*6|^#5SC3d>Wq`D#@^HAQ z_EzJul4LL`h&jQ?<*q03%mIT7cg)XL3KKIXG;%<yJ4lrvPAlr_5-WJ^E0&Hb?4*Sh zRb-RFq<rvW4Tsti!s4aqv^*)9^d|Ml{iGiNyuFAtsnf6<gGZH-9<f6BztZBj#2u|6 zB!(3%K#Qr*Xu6|O#a-Xqrh*gu6MxtS9UE;tB&}5x9(8qy6}->X@`#LO#nx?R9MhQ2 zf<vETSC;#8vZ5%=pfvicAF^_mmH~$g+bcY(T67+RGK>#Oioa>N4J46)IlY-ifuR9f zLGMw`HA|BlmUaNX>LJsCk;Ys6DM!f+bamoau<GzukDBGJ7qYd^uzD%O>@Q|Gam^!i zeN<9QpzE~{aXg7B165QjvKp!uU1LRq%0TpFgCrPaMX1z$;AkPbQrk_gmeZ6oJMP5~ z`G^eqZiLfAWHnSN`o;<tsU&r<lzo*rAD9dQaI)J1ZS-ugaE@fVMb6Jw&dV1+1Y+Xx zW)PZCG&HNB?sms9sFWu_={(tdLj;V8edQ@;d~0ljHZ50ulnRH*FD8M0(L)j=W@Zyl z)F3)U%~y0EgTjeC+JewZY_%NcQb5aFpYg;y8Mm#&h8mi|N5(+QuzT_$jkXF!B>56U z&`$Feom)^yfSOi+n~s2G!VOU#Ug<<~031u8^?WP;%?!I|JQVGBh7nY8E;v-$rApDS zw_PlJ8IK(yG#gPDY-m}^JX^SQT5TN6s3CcD$(b`|g0)rF$cPuq<kK&KR7bI*cW;}7 zU>ecVCi4?l1Jc4RJ@uArjT{(j9;2WYwdl`zSZfYJPEfVHD3Jh3W%be3X=JvN-vCWW zODU6mYfT%3oSZBfI?sq;Mdc<Gnjr`9nU_3lMPY^Cl+!B|Yf62Ju70s1j}pZVL=C=h zrWA5Mp5=73Wxke3U(-5~@vH^38s?tyP|%=bQe`V!Xt6$~!a`MwzWoZcd6H*HGq#jI zMzBWm%MHg@j$h@aN;D_VK;&ir!-!f$9FR4;4Xn_vqb{|=N@TDs3tY2ZAhQWp(vJb- zh{E}dhW*Y;m1ssBIUFzle<XGW*~hl5EDKeLj82Qx)eBZ|F9I3bwElt?4nYf3c<KT_ z+2{tv6q^`}NFNiIcOxdsv>!Go*b2Q39U$CN(fm1d_32kMHd9euinG_eJ&6@G5v(xn z#&EzfsVa!%-SA8a$qw?&hphrxS_5KPpnx^4>gqHGC7e?!NdUCciDuuR)#1vzcW6?= z^2$`2gd?hfqDLu_0LAHe<Y5CnSV-COUcg2>p{hlneno4}iA>h9N+%l7E%pYCw%M`w zFl9`m=mEmB0MI8frO6a0pvNDQS|@xRMBV_Tr`%LB6Xlsztl;&rvu;;SDJoQSjuj&7 zFq<tq{m)w3oGY<nrmKhDu~j7({{Ge&cF&5(raa4E=SLaxN)A2ABk*zbN*28zeRula z^fCX0Kpu;qAi@W#6&<cd5HpMdN)_hhUW{qx`}NiGI@H(kS#_0HGUF7w4qk>IZ}Gd= zcLa2u`YJ&FDL!EuX-2;rzK;`)>Q{8@SG4M5aqf;VW3V_WNIrnpS+aS8)pm@h;=}|! z#3;q0NhlI5lG=EPA5FCgHUsi5TJh0uzJiswws}58BQ@|oHWqDaQrqxxrHy&^?OELD z-D!Ui=d+a!QCMvl)gkLO!nIL_vR_w^F{nybAiID_be2@g$_5?~rL#=rWCsO|m*h4F z*wdsNuONYutR8M7s^0^Tou^-jk$&jv6)V^T$3_XN5ji_CGK@BQnn$pL@ZpcwsUvk1 zTX|#h1ew6Zfs57WTEe;`u8ovLSGV~JI!ppUaLrONG*aOC$Vo;4Xj^TgXzozUdZMH1 znb|KXMhxx{x0aW30Agk%9D|njri#Ily1Ml%n5iut0M01DYm-=)1D|(M#-z}}k(FSi z4g>?%4~KLN*Y}CMIb{>!mXNi?prfDw&5|zlD|+`U7zaVa0T9)FmWGF@0mN$vb88!O z9jeg=1UqQdsYQp=sJSBS=gd^Is9Cj6Oh%g42#0COZ1-3}p@9jUWE-%kqNp(;Sg?~} z7$A+|Sczy>nX!dX1!=H)T0}L{;utZ_jt&wQVB<8bVnxS(g>Ci{8Mcv9gQ;x%6)Pm& zKlZ&jD*;K2prTwc6I%vz+Z<8Akis%zE7mr_aZvjDS_jpwR*0TwVr+|1cP%kwW7`E0 zXT}O4dW=#7M1}-sA4E3<$pWHDeS$k3>ZEO2UTc}B%?8bA&1~OTL3*(3I4;08y9}<1 z28d=DsrnVHYn7$kEN%}qz%O8F3Q@8^5iSu%m|N3-H5kw!^%uNSiWMDW1xY!eOtvKx zsA)4aWgr_%OLKpK)S_CFRe)9#AO|nryu>(_fwi_avWp~EU>E}}?^Rc<P^`e#5{~WH zj2o&A;S6L{X?R436M<0MKVb!%o+Q|DOamqiA0KaVUcxj}FT8D5X7cb!x_ZV6q6Jon zEuBNeoKo&)OVNHj$sLmn%?4}2q$bmb_;|)SUI9(kUQtbDbNyK7psud5f`w)c9>Z-K z1103(VKJMSc4Uw64A_DdFy=}(QsB_2@N2L_vrrT>tXj!Irqa6l#R{60p!@}5R4Oz5 z+m+yw=O1M_j1d^s%td5j7ci4;Cpu`-JW@9TElNUT89>N-UX_t9vBIDcKa3Di)R*(j z8Q!A>|I--BKXczL=Sgc+2R5uPNyWyGYGID-x!|*3_=pW%U19}535$|aY*7!@82E@C z>=B+2PS{ULG+H?hQ3o!;i1kK2U60Pw;f(qas53&oh^{WNq87rDt_m5z$y+>|3@i+= zkv<7voj+jO5^Uwr$VMkdW60e&)hq};Dj;1If*J}m2Gz4x;KC+O9mwOPa#$W~ZF{`K z&Q=$mRZcx(Jy}_LSQCBih74iHv4o?js*<TZ(A;+4Sb=s^Fe4LyYL^=?5~QIiI&*6* zDkakot-d>h`D%qjATxxd`olB=&djeMr5(KS5T`bDb?8@+>~#sD+SaIf%JPkCj;c*F zf)!-g3r|(smephNs68>>5jPA{)oT<}0UrA;dn#&hSj4MTExN@DBnXeB+i=}!gJ>3s zRjtn^q#QiLORmiv8bf*|YK2rSsA{rCi{hzvpCO-oH)43{sH2X(ZG;uvDP>c$dDv4_ z+mh))oFsf~>K#9l_5!i;KRJ!1-QL=$$dWwj<5MrNuIuX5+a|*ziEOp!)3r#+DJzp5 znU~tqjMiq)hF;)LDEXmVIX)gz5~K?wDS0uCMrEX5tiV2nNLG+!FeQyK+>gfW-jrTu zWJqzTMry^cMEVa}bGTW)yA@Jm9k?wgpDUPFd?;2}F%7km2BSlduv<<GC@dZr+?F^~ zM>ayEIh^nLm59cQ$*4wP8&gPNrdea2<yf{vEvSC6LO2ebvW8@nSp-$oUsz1@(Hzqa zrDut7(1<)5ZPEZ>d2Z^rh#Uyc-~p%6G^EhB*}I`ip;*zPp)C6}9)1FXaHeVusV0XJ z+JWkK;Odeh{$i9J8<aiDyD3u+MM<S|4z#0+_RW%NVO?EDW=9%JX>P7&`YaPd1Ev8c zKx)Gq1U97purblTQQh6N`&*Up6<CUCH%<-$f;!h)e7deKvBHip5zy*t#C=AGaMQtE zcshM!KPK*r7(|aXv{Bt{#azk;R^Z$oNu)!APr;%J5?*7HPS@2jR@7!s!|Zab65JOa z+3F=VvfTMei(WY$Fv(Qi>gfPG!KNwv3KSEg+y*W7=SC}t0i8nMJ64do3P5fs-rc>7 z9Ir+5C}BWAL7|42$sSma6qt;F`Yzc|s0l>TYJt3WK=~6Mr;?=RD{J>Qg0rv`hv@1O zD@Yws-p*%JAc>41Ys0+JWy*Q`WhX`>_(~L!GwH}c5HPY$T1IO)?HXn4kY%|OGUsWy zH4np-1Pf68p{{PR0@sX&pI?Vl;u;4bIT#krL^AKvHjKcgMGh-iqEL&6bQ;8<S5oQ0 zsLD}Mmw~3HT@GPQBUA*fSR1gGU`5^_boGoCgd}O-!2;=u2pjNrZcGy^tY9+7u8NqE zM0R`@LT!+F@R9U<L^z}0L<PXiPRrPmwIX8$9J>1tbJA;-{TP*zKCz<Ks@Bqt^I@Q) zDuS`TY}J|83-HbhVAKbqVvj(I0id)|Mo=j<2khb0VQx!e^95Mp6YLN78@J+B99CF3 zGWKD?R55M^x_ZQliV?_ga3;mDCZj4c4S5Zk)>K8|UgGtrhPA{omlr6bla*{t2Kx=I z@G(%bj~rB@)H{|DgF38O8)I@%%UMuf_#ft`#k-&~(lJ(0!@+Ln&aQAzPd1yWf8uy^ z<%DGBwp6p(tS3&HX48xC9JnXGg-e86x-DBllfyD1IG78Pc~drJFwI~@pmZJ|8j44w z&Q2@BJYi$pcW_!^Co?;HSj?u);jy~9jzN{eShF0y4`=@AZ7{#hiM#pk{EAZucYkw^ z>h>-^=V4`7L%ziWw{X+m$g~(-3ocS^lo+J?=s+eZ(TaDfi_}sp6}}!T!i!7yneQA{ zoG(`X<9~0>#`~dlvRkW={p;o{$oO427}n09Fc93*Q<wzj)al5XiFb#nFW&h$@HY#S zZz=PBi8EQ8jU#ofsFtJMLx<)9&^lc}iop}yWB?y9&JyQWtm9iggfHQ>BHX<#nZKXZ zxV;yCHM;(#V^Bq6FNdjfKE2eeC+_d+<FwZf2)3v0mHF!02Q|0De7SYc9S(Q+mQHCw zNx@c2DUO=jHXSV=%F4K%(X=AL;|X|#3n}X@e#J0+`<k?3`LI~plKC5FzS)nP0T%pW z7z2d!M_$wQ`LV*1lI(|t`-4v1tpkk1g;x@L;I-n+>xma8hZPHt6Kk^#IB}bAIr%1{ zI0im#i&kw2I$A@zQN`>PG^HyOYBok5<7h(Bu*+ew+wJb%=RGy{FlYr7Z(Gd9YiPxK z{4rUF?zLZ4%KjCxg7xh9A5KEPdhvI+-kykiD|o-+!CM4A6})vXIV}KZV40Qsk#0Fr zGf<8x5piXG-j-B7(IMEj-HdH2F9{on$IF|_gP5=I+U^{ouMsPZ`)0N=owBJFzf!^X zuGgqm+^UrQYhnejjquWa;9P0@Fx-2o+aDH3UPL@r%)vkQK8Ab3`KQC#YPE6?@-3&q zr{rcM4cv@C6GeV4@Mb?E>{xl|_*5%LftS;QWDoOzfzD~lSka&|lzzp2JhiOtQ&^!| z@h^)NbPTVvEM_yO8Nu7Wi=mqPX}}8ST6pZ3`a5<t+#W>ld!BDOg%fj<<@7E_xKC1V zO{@STn4|#ZqIs&sf~=O!e#Lo6RaUHMafLLsqPoy9Jf;=<kKl-|Pw!XIVvS^BIM4|3 z${3lQ2dr?4;a?B&C?^s^D_S+JT<J(72CGuyJRF5+qs93|rsfsb!9FtSE?#p#<txq? z9w-r3G>D;^T2bBYy+^geA<0~Y>|ZtpMTz(hQ~1@1%<*>c!KjPv5MofF6v_~+IQ8YH z(|l`qO)G2hv9>||&8p5DY3wFxEe&hcMhzgWnhm1<oUb_d1%e}3QD(n3wPH;lj^Y8# zRL1_5^A%Xi9u`i(Z$g-L1<tkhX4a*{4DVMs9f8B*SKNBn!Z{RBZfV|3hFC@6AT$b_ z%s3wna7G;zeI=<9$%bB@NcjqH3HtJ2<X5y<(^^{bD{;0p`ub<Yib~%UC1^W`m6sN9 zd%p*U<t$iB9v{4pIJ+QVg)gjwU?Ln(^Q~=Q1)ERG_jtbP%VKrQE+KpCYVlQV!6U?& ztde}4YG-eK=pbRm9B22(l)_|B9Xs2q6@Nags8W+8=<DEphKUciy8ZKTm>!0F#dq&Z zT!zq1#0p3aJMOi!d`m_`7*>kGIAlp0f^@C6*#)g36COdZnj;g82Ax>XhQ|u;svLOf ze#ls{Ky;e+39MKUXWMB-sKJd-ZG1sk@;co8=z<*Y7K{60Xiaw8?e1GSBtCh(*<7WU zZ+7TlUGI+-Wlt@8t&iaQ&EB~X+u`nb@EN`N@iykR4|2nf#|n=h?zN47E!~o??^=)t zBqc|DZ#fNvG=^igC{~)zS#ZglB(t!|6Bx62J72bPf0J_C&Y8MjTZ`ho<`JyOp2S{$ zRG-^JP_mzK<YvH_lKMNoXA>+c&UIF{^zt_q&yU3lJU-YrSFHV$Zu2~kbx^U!$%g7c z|5v;j!hP>d#KI`I)uvm*+!tFND4ChH4PD?hik1xbZk#7_fqWRU#q+m0|9FyY8!9pu z+wV>*tdBx}XJuUDSi$6b?L|60=MOkzT9LvRNpbe_qczqFxK7$cUe@(Neg!qYoeUi= z0)Y4k&4c?(+4#p_13a8MDZklW?YqCOv!;Bg-#V9dSUA5t-vZSzB)lXT#3}Ll@OR6r zGz_6PY|LRobT{QL@KN;f$;({g=xZF;+grHw9Y<U5W#EBmk730bcD9}T)_mPL%G@Qb zm}EJRV!zFg7EP?!l7n@92v)F(*tKfNoAGve6z)xCUR-kHk<SU|-PD-nET(|NEl`7I zw7r{W5gPM~rIX$sMu|vo*p(}P4I3YvJOKCq5gL!TVvS0pe#N#(tiKl|zaqpTiqxho zUV)0B0Q>dPEz^p*AulUfd^A?D`3`w-5rmL^>GKciVCSIPl;cPvSS_SEE7<wv?cHMB z1n&-_<5Vme(+vj3rlwj!jb><?f|VS`PYdzeA*-wSRcJ&&8!Ha82LPcz!;5eACj3@! zC{~2sf44<?;2fJ^oHnrHdKeTeKHjgu#5I&#GC%;TthU}hxO3k40;-V_;+VFkph1!n z2u4{sTg=kHte8ZB*m79Gh+#GAVq_)oEF!IQ0y;*iFi<@bgSx~X!c~xbD1j+l5E8Xw zlJ@=Us0Z8VXkW$yxnB{YT5}6QIaEMDECyu=y9}1+2mvVP0MYUGwgNITp!66)yXM=r zhjClpC`2m!(ud(}`$8#bez1}Lvuu{I$cmGB7o~P2H>@|bVwqisFX_RwLc}DBKGur8 z^c2MHKda4k&<Bncdm*r4Ola#;6Y2x8qH>Il(A8I;IQ$hCiJ%z7WNtRzv`lv7?RAD( zK#c#ad>E98FoaJTS|71BUJSECS#E_<x+v0(Q7Jj4R@m%BcvEUpfnb{8<5#H_w?*zD zpZrB?#T+^7`&w`N31Uz{Dz}@1g##KK-``JbVvVo|l70um&<w2tS>y~f*l^gWRn&XY zn1<IJa*2r*IE^NaGSF{Q2au0og}tuPq|>Aox$SPBS4mBSR)nW6eXEnnTCwL-CITz2 z^J4-!x;`idl}DtSHsuqVbA;*%5eKJeeZvf|?Gbfi#BgE$uk%`2A&8~e#4WSdN2l{r zIrlR0T2R;CqgZhsjUd16-zKfdTl+aK7Ni!GDIWSFg}@s53L4*13H@NK;BC*mHm|r0 z07TFlwR&WbUSn(o_a%s{!OAl*RV^P0R&s@unL|PqEm^n1A*bz#WRzr6D^kQYfWV~Y zBu<mJV5C-{O!W|&R`TLlQ8nmVsSrLs24zc5xiZWc5ht}NP>bccNnlp!5l93U%cLl2 zZ45<aWKXPHg5MfMsA>2JNiiCRU<GyE@eJ6OR!kx=c+ViH!!!!}obT``1~uFtnSudM z-mh9(F%QSiufp1@R(yC2DoFt9f2+<nvW8N~i8!i)t_HLEwL9%B=N!QGv+WXaKDyZA zE<%~#V^c42jH%TSXxJ#5$Fago_8F4nb=}&DwS@B(?&XLV=jqW^3oB|Ge9+MB=ZHZ8 zi1s*WQPo&Wh60bZV$1dj%7i2AGy_dnfdB-XWXwjjwniY)=J2uU-?V5Q<uaODQG9^Y zq7_lRCnR!|EUhnD$nSHKBkILe`V~|w6e~VK45~Hpx;4NNj0nFr<`COf$dr#%;sfbg zjisWO4=2PanzdrHh8D3mh8`hC9zNe}1S`&SjP<r?#h0J~Bm|Wo0nJvI?6uEJC{}#- z7!(#OmOl`lgP6~4+MYT~umK@L7DqN3r%C;YU>dJA>x4EC8A~)N&W0U{3FBfQYg;P< z2<#QFVVxl0Ht7b_iV6?$QK|nsZTc086`v~xWsNLQ0@gIjN2_vA!pI1$w6B_J!jZwK zz(?7UGFvo_hOs<XzX(N~iKWGWgO3zw5^C;OLn%1h#oL~Q^xYv5<$@d+TMQPHZI${4 zR)pq{u<lhtKRyOUqn2#aOM@I)Z0jHq#I_lr7|DPbUI&EUoN^){{9$xZB!Qj#R0-NJ z+lprpN!GGSeG|1JxZBaW$XF4*jBAo)sP>eng+Mk@){-^SifzV<UsWzYK@6&F`>8y` zids}gqz`6<xiVj(G0)yMM`eRd>5-rk+rsI=mQK(B<|Nb-UZB2%CA@|NJLovsajXc^ z9|KWED}q97Ys-;gd{9v@^23YkSVBv*B4Wjv%H?Ok3e5X0LPyBVHqav9pcEWDAT;i- z({}Az*kNRs1l0!InupcbuoSx>yXA1j7}`*L3w^t`R(vT95=AS#2M)A&iTd6X(lZgN zVsC3Z25fWfpk}l`MZSVsAR-P`jj1-B4KsHd{AZM<Uxc3MXkel(B(;tYriJDtmBD6% zA+4uMP1Ov?x6qr7Xhmt*u3F(=xscS%YqNKJJS(}0_2la6%H|iNR;+Wtc99SxqDf&l z(DgxBVMIwa6&NFP!gOP`Z5A_Bxg^R1Im>Jc3Sn1-w04ioXN6|TAoV_sVG1ls4NHeE z{e&Z0F)3cc1UFmUP#XVz>N<FUS?^;txD7eIQbId7r~zE-pg!EMK*QsV?3JS_3?QCE zQz;B1J|>0~Gz=o7I#|(+@ZYJ+ZK>k%p?i!40Yn)HG?RE_aCloQV!nEA5LQ6!U0s-# zR%9D1YQ<UBieJMarJrIEmE$zOtTnSAh!qyQo&*hAMS|HU9;xBxuDE2~H>}SNyXEN} ztYFF{CAdIqZGo44kg;Euj1eoo4<DrgMn-|hu_C78&ahUb!j4nJz3qeoQSfbUD@v%a zk9+UtbxKTlLZeY1gcXL*k04c~(k80XJ8o35k@QV>o9FCWSRv{NY08c_y2^rd79B2M zm9U4<szA=gGo}?^lCzDp;t;ccV80>={LwO^K}d8jj+QskFPZSHUAVK^Y?aR71F@p9 zWt!$Vcv1>TXT3MdK3L+dJ#3{hj)KwxQoav5v;s4!gBbs1+1yCW66NixdEOTF2v+P3 zD0>&B_e%~-@fZ}6`%^+!urP?|CLzk9rnWzaUqQD_fcCU4Ub_vA*Nq*au(6F|bJ^(7 z%y5e`J~S#%_%W>(SdxGsCz#eujOWxrq2{3pVGX4G<Vh<I37HLLzNs&!w0Nx!Q3L8@ z{R%va*F1&+M1v&HKAi^)V`*z@0$DQVuEu6%h>Bx{fo2d{me116xGc40{>^i+qJ)Sl zRxCw9-%~7U*3=hI57Wzs3KgFME6A2AI)7x>0!~7=8odQ{h(SdFJcocB4a*v~8&xSH zJ0gcr+E%F|P)sQVgVet%X_7~<!VB-OR4a_&aN0){2Sp8P8B{ziF&R#C2^DOI;qj>$ zy51Kna3QIvjbQA3e7a*rgpooi9)L1Dg=fpV6%v|;b%t<?I32)Aq{bT1sRv<2u_7&Q z8Pkfr-OZX>P?_*aU`4KbnkVFmYO%;t@BQvY2;fGQn%t0=b$uXK@HjuAIcUvh5xiy6 zEiiV3LkE!?i|O%%7s0d|IB?5cbDB|mJ`1fTr}S`g>itMB-eYS!?hC;2W^+^@x<_aV z(lTYc>l5T<T_1%NIFB__{YUp?OD1&#BRg(m1?jaDMXU`z5ji6=8FI|#Ym}_FV2V`B zizAx_yDw4;4W|By@)fvo)Bvd?Z@8kCRMJ`6P{d@D%cSL%BJyBhEFP_n3~OkehYaA- zIBsihr0D5@Hmtp1?Wr^H=gC)C5+OCDK*_dZm&{d0<w+bXOf~;2o0^Cz$zpLfheAY& z0a~Mx<aKlWw(%Zf#F81QcYppm*SOK2$%2x}YiLDh4bBr7T3~9?MEGV=ZLyg~)8#Ax zHkvkP0ahbw-l+>T!r0HLKt%Qg+T4L-3s%R2RxbT%ylvriT4N3Gk|qj+y043iO={}u zxJ8ni5CpN9PY09t5wvJI>&z{nhZ;VbJ`)IX>F2~Bq@%meoqXP^4Hvrp<+Y;0H3<zC zeeO-Leo;zPnQ6+YcuTAxIb=(VrVPCx8C7K2CjeSMXn`v_&YSZs05LAG-^I(Y;(Vav z>2>|fV}&JIVZo8ieN@c7Y&L5&dlY%#d?X94Q)M&m;uGOgJbKCktt==|w6>_tQP|*F z?%MDIcaTi~jGEcL1}n57;!oyRpxt>k4FWu~l@-%6YQ1va!S0Tiu{P#Uu&QzcLPXua zcqu~%xIoKopm{mc({!+Ns<pS<O-cMo+>rW?W|zeao$Yg-+4U#F3Xr4PVYl;Q^L4kb z1Av$#US;%PcaLdgXh$^QvD!%e=x(3!BwvbDg<BqCV!cYZ!8U5?+SuQnR<P0&<~cy4 z7^RkyW7U5NR;W_^iLio`b?=-$q+J(b2rAe^WMj*;!4p#i=uA3bb6ad35P^LUe<{%i z2*mJj*3^==3;(GnyWOTa-U9d>KHAGcG9WL+ip$+L>>|4UJbnf7JMGSir$>P`9>z`B z4A5q}EW*wykV$lhv6bgxLL_OoY)nK#b{Mo-qX36sVd7--VE27|6cXvTpq;Kbko%h4 zwyr-FRxn$Bx7)1>R*<9|3Akc@OETq)bTDzOU_8e-L2gJ|1dL<=WEM}FRB7tVL6?I* z)0%Z!OIt!>vav$gd%AkW3c`^YCBtdOI$#C(I<~7Kh3>wW!^vhd_42dXd~*+H&aX9_ z&3ZDka6G+mhj>{FuZ3fRSz!&U1c{dom+~JV91i|cHeG5KE)@=+9J?Q@V|Uhte`heq z{_SV}tuOrJ@E+DP#kddWyrIeQ?(PcByfkbaWUae3vN3}X7f>1L*srKF;UZStLELdq z{QVSO`aRsYE6;%H<nYGbd~+7dcMF&9?r*y(xF0+B*ud{Wv4Y#{eH77A7cXVVrQD<M z#->Y6;-$g|yY!bh*xfok^`qphH<G;c+uglCJG_TA2Z5K>>+*g$45cKk;X{=wBUB^W zK*#3k>e;VA(Wc#<mnv^T1v&JVlzaVaxIgtX54}jom&{~$>)hn{(j-v^2hsKcrOWh~ zTln$ZsTG%kNxBr|ONH3f+IzF>piA!XmH$8<$--wli0>7Y!+jR_e7Gvjf%AYe4P=Qd z%_IF4x;n#(A|Si(C&@a$+}*Ek(w4m+?yuec|IMj^d+E+eq7%*U#=T;1qA1@jz2f{H zZ*962>FjhVGk&Q_x)g-4(szK9opq1DUAV&`VTHrA`(uY@-`v4I?sRnG)W~a#v!G@r z(q-`kWYZc-0FBWBiWR;46*dq5s#tLl<;#if)NSGSL8dNu-b}eQzuy~k;zc<c@ot0v z-EZDel*6VD{tR?0iu|6w6r@XqPvjZv-J$zVYy1I|?DcrXb05)T(sbWhSnj^T-ZsUG zMuMD;-ypLIR4w||idr3>Yr1{D;?8ZuUhb^7Vcd?Na@FoAw{8D^A1w7tFOoJm15Oyd ztKdZW&N~3>5E*qp@~tWC-j%%diAzn=rGj++?hGXNnJzta?0ap<SmEb8xKHOVcj+PN zWH*g=-@25j%OXIQvEXcOKxa(q>J=*xNm}?3Byb&eW9M~)-^#<QtJSgJ;GK~ZpyS@l zviB=OPI}*q@~tsJD{haDmb=@08{T4b?^ezT06cLiaQBmRTW>u%r`~-I>-~w_N%1S3 z<~XdmpN5;|a(NlFB3MziTaZnpU~RCnmAnomFfXWs()B09idyd%cUKb};QJ_dCfFxQ zI73+IGK8og#C+lgAH3oq%HI=Kgmss1bGSE{V(_d>O(M*!!^heWDjHBBs7JvHpKSaZ zPyRi=*ScZ_uJ0A~Tc$-7T^p4O^QMZ3VnqTAj}X7_ehHSojq)BUjAE1rd>qwT_$NWk zy)zKxo?r#liXd$%EEQs<PhZMo1*Ggcgt*ewyB1z`ZmVD6vBEp&?kuDg$*%xjGGfR0 z4rt0I_xdH&(A6te5RT&DSGaBbE@FlEji)ikaKD*(HL;tJHn7Jb*$_5(cZn#<A-Vi@ zcjw2bPxEcGWM;G3Q7Srr`cfGyqHz15nEwDPuMG?<0Q||*-*?By$FnP&umW|vHb^}w zg9#r+U@M#`R`iV(xOh9}@OIU54_m8qghO`1`?fbuQH+ltc{mB1xc7AZW*@O)9sKEh zn|aJlu7UD#qsK3m{fc<%?{_|0b-9a`;vT`OU*V<q#)C<)dvXlQ(o%HM+9#Q!1xJ5! zN_2G`gTh=-!HoHRm!drI`!0&+J%qZu<Ei!Vv7DJGnzz=+Z%qiNeh;D?0!Z$-iBE;w z&9v~>=5li{<Bwk|V?_*E{eJH~mJp~70pITsqP77mE{;N2*9U;@^2#KvK!Q#?j!Nqj zpIlQbu`0>5Vnwf5VMu@`#h^k?Avn0}*g@ep_>f$<^+^bKJN-T69Kr^F>7F{-RjhEH zwNHiLuF`EC9g%d;E7;?gDlw?=i7r!3$Gun4=_KB!2$|1ohltr-h|*@PAdDo8zo0pq zBRN*0L0wmWT0sXhCQB+{#l%bE{%*JN{;-!5=M3EV`|c@c$vdgOKi<U+{-Bg;M63ud zNX&7E+d4cVW5tt~qF8Yd$`zM8f7-pT)AFaUGp6~Ir%nSmH!=4ZEH7vb=&QsAoQ{y0 zQ;5t&SC3dxrKJ`J1*~w!%sQ6u?V>+^nF2?+c<J89gkp8yO~s1z8kAc$E%h0fqFAvE z-GL^=b8k~zH(^DpxhgN_7yuSQ>AsXq)1k3TteXOlj=>#;8k+4GD=3#eB&>jaFOy$m zRe3nfc^comeShN<1Q2A?muENw$vt(oU$FvAdM)18T9UFGKY6KD&R0b7jWJyt<=@vl z?XEIbgqW;@BZ&DBUr_7Qe65i!e9AX!A7}OSw$Lx=>eR0wBpKEGH{hjZIXlYR>1uZ5 zw@zzkvz32lIkTw_#Ge$(HcV#p_OIn*uv?MnWS+cKh*#Ai^|1}sM|b0Mp{XN(&RKj9 zm>s2hKx=J-H<mQq;l4onG9G%NSkY??iV<B@^WR#^u@UFc$0jyYVoF{DgA|9%bMaGi z!>T3RIn{)D>Qd>6Lfr8kDhFUZ(%KyIt+Ce<OtoX<y%;S6r$XoRzZ5Ha#R|%GY3LkC zYk+cmpn3FZKMxr{XKLL;CYr5uPlipUD}8WJT`CdY#xs_`rzE#Qb5@~-v`U*@!3t;$ zyeA0>!uB!Zb!&NG$9@H6tr0^L387yR6|})8r`ktG0gqv&U9Y$sFYV@!UCLst_&qcc zVfTQBv<OxhM9WM@d6AFOB<m!aTgY{Fb%+&+wT70?Q3?${Yl0LK-Ne>WF*XR=GsV(w zj;6baOOgJd-$U6gDrRbs@>lvE1_#8^rn9-_<TCWpwQXCmf=;Kl(g10Vqo^D1=Kg+a zWGAZO6HM{w3NgY6U5XNn&%QOmY=jT6T0@m-go1{VSRv-R)X4?9y7ena!nZXKxIN|$ z&wmlYP)wo83IF5;*`;_>HJjBUrUn~1iP%tT=f<0|_ixP+(A6teSW7t07)_WJQ%a=+ zYoKue2OAh2lgBS*<m^`FE3i>tqT{+6L570}{e(@zSu*8DSD$_b<HHo=g6NbKG3?Gj z;{qhiIW|v~Z`V+RNOTwl-pYZ~YmTvVpkOYK&Kf*ygEd!Bk|<qW<|}f(s<DN)n*Ran z%obEZVdz#%hLj3i7*Ps*DLQb-w&fq!XUGmBkaU@X+@qwoadQQos-&x1tT5Ex;S|W6 zyxX$j^~`#&`?H{%0Vefk<WhVDv29vQfPL%6kV**+h!513S$_D#8yZ+p5$O~wxT#~f zaM2;x#h4LJs^O7;KI_7Wl*j0$NGB<p?ZT|QMxR}S3=L=`))L-lYdPgPiE*inbepe` zv3nV;AqZiZAp*o%#@A#fSq;fzj&XS@z{%(87XxsmAq*YF<tJ{5rOpx^{RhnG!UyZ> zH3o(4aw9~l<rb8QkjSE{x`PG=)9qX0k~OVM5g9c|bu2T!3=i~L5W!m(QIj=M3>Vo5 zG+n)7g=}ITwM#4se3IA^yM~2EF2b_QW><n-N(7NA!2p_aEItGC)R~Hq%p}(pIwKqx zf9UGguMkw+GRA2d4`?MFCtIS9i3r!?NGuIQ(TPfE`gWab#5v9_s=sRVQ*csQ%e{U& zj##lmu>w!nCZkhLBN|0aDw<&Cld_u==P40#)5pg{TYz;eA#LL%nRHwekAJZM+qk`j z{0ha2zWoZmrH{#U(=o4xkp;T5i@`y}acG2sX<GyU8}r>D4<~3qgIbN5-URND0<vT| z{_-j#-C_mVGjX)EQ3BB@?O+ZvDk5qGqM&sd7_SH6FE=uA#eAZ@9hUVFfh@yfZV3ul zDf@EYeuZVh8r0-Z8$CtZt>HePf><b(8!V<|8`(SFmxL+`Ir$}sITS20k1ZmB6;urn zp9ik!Rjg2~U_(o5bhQ>+02Nx1)nFy(AP2|8<5jDz{tce>06a_*@A51i&Whnte3zHA zm=TyN3^?zI6_d4!<LAN(OHx}XSw=Z%MdgwRv*Ju$+x2a<RTPI`=ByjjS1ikyTUzdl zZ6i|HWE<sDFjAj|a)$5rr`X%6IDS5?z*R$7gjoU@8evv6DhN3yO@_Yan4w}Bv2kRU z4?o4RDK@K%I@5G~kr)N}czryH7r)C|9=RVkw<?dH2P=3}GY;6}gcozH4c+=Fe+HkM z!jj0gF^&(FS5?8s))Gm)gDe1-wTU&|C<+Ki7(Ha)#e4h};EzA-<Zg1W^7whM0!^l7 z{wk)JWTMALW>wfAG1D<8gr?tWMuAjr-~y%OPFR_?=J^f=3L~vaRJ&L_iWppPzy8M_ z{PD*>U^l&1&*HQB6_!=Z(Xwn|I2m53B+5XV<=wmvy_QzsCJKg6Kx$lt2$KvT$2Ht2 zF3w<?Zfg(^?Ys3?eEs8poL2l{_wM$;t3ZCb7!-}qP|twX2r{Cv#tg=0a8#7V((6>L z5J53c@Ml{>p02^>LK18-jmi&dFj5}ccQBy5M!0|fZFZn0)aSwqMkj+MS`=rn$_Yag z;tfZfno_KB0~q&!Xx}rU!_+drn^Gs+MyWZoo_H#sM7a2Sy@OW#!~OfioUCuADv_TH zE12MmK+{O1hWfrTI0THE5Mh!btoQ&RnzLDJHZOW5Rej74Cq#t=EgFU$3D|P&e|rn+ zk3YT!6YBfr+LQaLRDKey0MRWiXr0EQ`m$UK*CS;(FfB~7oZ=5!h||bd2+o|*Zg9@j zMwn%rp#=M4rSNjRdTz8S%X~fIAc4g{Cil*<aF0|fKLJ*lMhck`88owX#JixWK*8Y( zBc<XT8Af_kc`ky&2ejD|NV^0nG-;_>gH^L#G`kE|4$SJ7em*xaJTrXsaGF%1o&er_ z`o)`2H<L944@1`nYXzxw5(O8PY>&z$iXR!_@Y+U0w#-^vLGgq?3Z?OAP`7~`d^f^t zDAR|g#iYP<hGW%%+c}f!mubbB(2A7@3%~w*6@f#w;^VP`29%7%3f8MeZ7RlO$wjU; z+}hx*x#TC{9|cI6EN{@@!Lt#07uMGpeV~XU!%x);$XfBWobWZ6PygdhDEBB}hOW<p z6}VbL=DP@sza-|6J$JYqkLHbuI}b*9zM?Xn){6*UC(C)L#0NA|WhEKaNG$EGu_F1} zNge)Bt@u=a1+elymJgu$U|P`K7Gpc=7@#(5#@FBK_a?at-hIbQ%Pru1cC)F-@M0?Y ziOnM>RMd*EKT|9IC;j{H7^YRJ{3KXG(g>|VK`iY}7!aUIc|cqf&K`oN@nHm^N(NHD zWT%qlqrF(>qcI_sg|ZqrhZ5e8Va4(03Tws1W|M!d&Ly85d8fQQ?d~3LqE;Mlz7eem zKoL<wwc?Xug#jL|ghry;lGpgoY6w-UD4C*hP-IA%QM2FDJfZAV0-oICnGaGW-|B#B z<n_uIe$=nH9ERbxYQ?^LIFIhb;DrBS;h&o3rw@ihcjL9fKk*y#E9#p15R_)}J`Yx) z-Cq>Ul0-FWF%@Kez`NrFgC?7{RivFtBQ$wGWETaZi<0!R&E6<r;VIdzLFzvq!HS8K z?qN~10{p`y?AufKZ?NWkQJy{s2Yap9q61T4_P3-Kzo=Gx60D#Z2|7s?YS5P1EYt}X zDFRm8XBgL#?DMl!8~HRNIZ(qOaFEQ0&>Wx2HAX(e`Fmu=$M!U9#rZH_J^0(G75l^7 z9u6@d@!+3wIN@&d(@rbyj=WYJ42z?asukv!Kj^Y5l^?DZmR356Nvb5cYMLSkvc`gC zv!ThNUkCCvEH_aI)ncm!N`Kj8hc;|j4G5ONcC0O<k<g04k0{$ZseW)^aNumEq!ou= z(6@_l(BZ;s!P;v@e)=FNjMIv9Z*^^}R!o>yC{}zDtY9VAI0kD;x~);|)J|VBzoO|t z<LRd?&&<!rSq{dgk5bz*$SP|(8fkUgY9D9bJJ*UKSwO*-azBz*ct67FKoIK7!5(;@ zV|!Mfj{ddN3a?B~HEPi67vyiNR(uw$;MqBv3?_+c!9hzHj!D9r7P7K!87d)WbBL+n zkOCfD#qQ8p*&=J8pbTslH>g9S^)FX&jcdi}YPEW(TH%#sKWfFnFuhznoPtw~{B+fd z1<iN-vZPq?-zt@##;-6SoK4KAVM(>0jNBU5kwHqQNXwltRa(s!oS~Wf+L&qz8lxVq zfd-+CDB2R{7k6G-ens}SqZ>UGtq2asew23i^5Oh&K0!|hJ@C2hpe8lnaX^4Vwc^wG z6-j7i3!5RMsR`e~xNA|GO<A`_i(;lV#8mc@N_47JQ$TGW+;zlTm+1FP%<3Tda}6P7 zeo8AAL@N>oIFNWaJ6|}+C{I_cm=mlxh#5T9iqD7@VnC$qLEu#0RR-mdUqb)XBH5>E zgexs1WryXhfTZD?Sb#Xh+oDNh^HG5?28z<ire9IDVm@<gTC`$bvBGSB-QFGy`_6^P zPd}m+YC(NYtY}c0H63YEHEa2xFVvk!6Xk|XnKaVw!ijESS2fzkML9^VFDDpBT104# z7M`_%qhTx#_ej2Co2tUGUvWOz6q@yVaJ?|)Y3f&G?J+AJg3{dfXYwnM)XlnGE$+>x zR(#FiaIq#asE4E#hl^nfgFhlaU9=*EsUEUc+*rkmPwQ6@qklGAcKV;?*4iT$RFLe+ zaGJHk=OHGk<ii((IOE9|e&nZ%R_wcHA!YIQzFn@l3H3iJm7f4BjL1RMWy?>Cp5gyY zksfObc}%$<Zvh=+$@T5%wN2xB{%)pRzx9e8`ON%hJ_95N!?;%L4~xy#$$Zj^gJIYN zJ&3P+<H_gi^3z2t;uBFTCiA^}qgwF^u|njlp)T*fhH|@fuinSEDHL0tMMtDpa=l)D z&XTK*UE4OE&+i~Uo%kH|IC{%}miKGSn;g{&2&oHOsskVV!)exvxru4*{B+TZ@Wdin zP&d<?=|r{S6Jmvx(SF+~;%L-5i7^-CVw6}zH0?F2))})WW0GxDwl+RN`y24jEuw40 zuYas>yVgO4g1>dGne`99rK3XC>}AlA^z=b^;I(4nlwy|D=j8kTozZ;7XVZ$-+!T-; zd!m&SMhEDjIm4{WwAnh^s0SI%YBc7Fu}J|>C<n`8G_DGqKJc+MnGq;~qiO3X@ibI| zkIBy5d;^U^eKxFUH$6AHI2%WdFne1vgQ#ZqptXYw`%UHuc~OaFQ(Q*Sq17MAdRv=U zWz;2ayKcTa&*B%Y4*X<(1)pak*fSe;k09A#M{=w%tb0%JtO>50X5w55d82RKHnJM6 zMvGRNW63FEO?=z6x0|jEXeIfl!-}yEAKS8{WLJXN>WS?RI7`+bTPqbJ!f}v<fn!SA z&{;{R*77T?9LG_S;++QL-P~K!kf+Y}r|`D9Uu#;dNOS-YpNZP)#S^oPfYEfK#Cc=5 zMA_60r@fI$?vY`vrbW|iITW#R9GuML&Hn-r$YqOCJgBq%NxW@C2c9<iH7l`SD)hh( zwyZ0cBP0!ostcw%Og+&+R`T*lJ4VyTX3jV%x*CDV4;Xed@jnV!{Fln)C-JruHHKx8 zN^Y1WV+lBAxwKwr3liq6v83>BbW|}=`hGF)i%k$ng;sog5+e$H#6q-2vi7|1WZ~Zw zDn1ofAbvio3etSXx8p-paRp)B?L{?rBfi=Ssj|Sa$YRvy4OV$BCd&xzYa3R$f%g5> zVxmy-sr(8$;Bky81F<nRhI<M6N=x^8p$EWwsGH@m;l1!%u^FgjLUt`3uZr0i2LsLU zt|-B^?>&V+*iipJ4M2S!tUx>*Vm7uB`zswbXIZkFa)uK&KiNps%G9wbV~m(z<WC9< zIv>)_VXQd<b~NSp?rH(Q{MR4<rMZevgcV4}>7>Wzq=+I-EwULgH;i+FXSZDvdDPGk zaV}~dNrULG;0~u@kempkiOGiIBl4T~TVcGguFruLv?H5V1T}iAQN~)@BMs6@BZkj~ zRvtkYl3T}H`!$6oBS>LMD;=3|*Jk_Vx`L>2Sh&lA%1D<nC|VvQn%7!{12m$~xmn4G zBmgp;E8~Zl*aa!4F;=C)3B$=_Mzvf*tJD%|)<!i*5NW%)uAZ?11Vvzbm^>x4OxC|F z1;N`spQ2|;B^52J9jj5~tm3WFd3?kM$f2%Q%%YSeh?G`TWu#xMpp-YVB2NrAC5*_; z%D%cAqY86oXi>Jp79%Yysp8oLWc7)$tR+d(s*N3~h@u!`)PU+0D=1~YXfhC!M=56p z&shVRtHLNXEt5q{Ycn3(+-czz^=WuD6k&-boNKkF#nQk49n42QwXPmxP-Gw%ZiFBv zel3*{EE&Mu5kg8!wre1C<d#z%%lcPq<X|vs`P@^UCc%CMfXE$kSKN?zmNj&2nXaC( zq6!BauvLw8%W}$WSTJ`-telKWQs2!85gQ@~cnmRSIb<A8^<yAm$Gblns7+Oi=01S6 z{Hcs|iWQb)1;{qM#)u*Acas4W?G2dh>0-RRZFtd*0pM7F#XJjWP`0r#U)3*RE|Lu1 zDpn{~;E|+)K%BSXu_9R%$6+E*B3am#Z+4f0WG%Fe<DA-h{9{mDK%rdZqu@9({irP4 ztys}3Rxmb8K5+us{DOwriosxIS7&3n#C~3C%f}e}d1Z!3QWFKRhV+4hoF|57uZlEf zqy8hSqOLx%f{LD)-%B@E>L-xmSw79EJ&V5f3en3@qJQ3V*Gy95(v+eblsg*J@3W+& z0TwL7%^n|69;oY6`4x<CLl{t`w{&Edb*oQ_PdZ`}4y{Vov2N_Kk}2kkgRF9AL?o@j zdSrA4XIIeGD^^gOMD|QnP8cHSjK179CxPK@npTVRoCx!G`D8Fz=O<^mkWduwF&Bkb zC8^PH^i?go#tPmuDr&s><RU(#p0O)&{{zn>rPWWU->t#8V@H_OY`YA+N;T`AZLzB3 z$`J#E$Xsx=>FN_Jcw@hq-eqX~(lncsg#TOVH1I{~oR-nF1sk1&@)#pc<yggxjP7En zu_CtC`s(jReWUAhV+CpKXVid=G9n}Tr`h0l5be?oU+PcRD{iR4HZ~Ny?F{hzqnI7W z^Dwj)i|`+6&8+$rSPa?tL}IMd@(PR;)J+%TRv5li#GvQcMjnoSNILFbR1>y3D3UM3 zlM^iFMk^VuhGsjDK}nu87Byl9eA!cROHsr0X<!9TP0JD3G~y&Cb`#14LebWqWrjYV z0g$YRl7^7=>FMe=Ujbxz7m(3h#z2$0yAhM3GHLkm>=6MLSr9Adk8uuii&&i*V*ztJ z@YFofZX|i8B{P+-p7Rx$PZAfC@}wT`T?1ZQVJOQ7c0HOj$}H7Q=RD##7LD%`lZ!W8 z^A-$2RBOh{uow}WF7+!|%+=jL{$^kWO}a}m?UB=aaC(78(}qlp<eMh-a;gSo!?#hL zV6#<_l{~VXqW`zDu(#nk4^@l4vBH1|4b76WEN2$B3-fiD%9I)b7@0EQrKeJDSQ$y9 zg%p~dLBP$l(o4v~#e@%<`1zAK8#3YBaO+3hfi(0qFsu0rlt9=H@regN2y|f&21_X| z-M>|XRM3uaMdAGSSW-<E$u{`VWHtj$0Jb75Y<T5IetJI+ke^01jap&A3SJ%cD|*jY z;98*VuuivAc$j0X$osw%B}za`VWUYqC^He<vu#eIuq?VtE?>+1INgY84S7i)<}ztT zc(597!B6{jUz9K+r~#!|L1HyqCn)aD!Qen*X#-Z^2#|j;d~Y&oQtm&J<(Bj~=zgQY zp*4y{^aoL_An;;^vJ}m{9PT%6C1=Ge_>r*>3vyvlwNR`eqO%=N{hj?V5)?dE1ck}L z(`1aZ)UqLHKt)xMdXN+!$xCzI|HgnwmZYl;Yb47^`&vn{*JYewnnG^wtN8Ecu!4Fe zTJX_z3`#JtZij`xcNnnZ$YF+;lFjCu7vsrhGc~K@;nWYXzu0V?;H_r%c=OGRn12zY z56xtwJO?I&#T1^FjkFjoljYGSX0!q3{^VEz`_4j)dFzYKmB)(7%+4Mbvnh7CjrtXu zufWo?^<$(hJPgIJuwhE{+SsLg&HLZMS@k#08b26*i!Yk+BCnnWkr6Mvd@Kzv*z?V3 znJgg{F`RFc^F$N&oQM_ST1)r2@BAS7#maxb?*z~kD>Pq$<#@Yro2hd{7fv~xRyeGH zpa%;-S>3I(s1<Px`)!yg?bQQ<7kes_%p?$n2TZW04bFfrO1qJXMq{*=^~DyZeh^(% z{{Mg#{+KW!K4?X_duw>*yQ)R+Sb_YCxp$@yhX1NDsKepT!Nl6($8^srz-%}@a@w#s zIvKpy4Bsw1ylnmL!a$o2A9DxdiDS&k<+F=HPQfF*Pn0%<afz_ry>zAGSGW)UHEG52 zVX?FpGwdo>^o<oXZ3bq0wmtQ-^Gm@B2Oq}W-hzMOVeY+cfOEgOJ`7HM=HS%EP8?3S z+qG?vjK{<`oTaldy#gdjC!wDz#Z5e!M^n^-?i_p!YO&kx?%fwU_1=@$3aH*TLJC!j zUa`V(3MPjYXAe#Z9u@}$D_}VFk^NH#BWah73gJ~_ec+JA@4sLD7JLwFcHZ)ay$L$g z!Z6ccCMo22VKUJeKMi6u4Wh8EhGNWDEc|Eo5w?I8rbK4VyAF%g^*OPEPn!b=2<IWK zbx{3^;cT^9ZO@#MbeGB`Y>4oCEjaLIdbs_zT7C7eG|M)SUxE6DS~F4U0C}0vBMq+j zq>&LCG}D-K+jFNCQwx)d6&5w%g0`r3ov*<2Orv0JPo0c|cd9d1M2Fg0O3vF}Tt%$# zFIoH5Yl8z0cbihix6P@HIF|vVoP@lAf{(%zo!@xG9!jj!+y<`}&wj;u2(=ZgFlh9j zVukt@v{Bn`&nCn7u=!`K$Xa10+Yp3ZIYjU;8E`6*u_9^3_Xe?n82Um;V=3D+Ek)-O zRWZ9$aUd+TSTyOV0Q6ZdQ@-MSVPirvVg)otFsWMf>sMsPamZL<wsU7*d_`Ds>Z?qr z?&X^hg!SHbz={Km6<6_~Rt%~Uj-u{0Zv|{rjx++Yma>er*reoiznrf)_epz!6|`tk zSGRrz(1{Sve|T6NE)4c7zJqftqOG-Ec(cO>|J29+t6#Bp$B;@WJ~PR3igD^-Bid$a zTN#whsIeu=63ggvsFo3%F6Ap6W=xI!im;-^cB`w)d<Cmr_4$fZAEt@HryPUwv8UrH z%%;Zgtii81^jqy=zzQGAS%3AhC<rwlOrGheBw8*-BUOw_jds9tE?JtmYxOS)%G%;r zM9jGL)m{lJ=EfS%sisQNIaVN9c39yYiSGz2>_aH<aQ=qRS9q)l361X_I6^Si2LF5! zBu?-H(1AmQ_dpEjG9o5hIXyY=I8J9sg7Z3_n5QZIXY}6of!Fnij1>#o*p#(dSEpFP z3+NnHtej765muZJ^Nr7K55v{X;Inwc#=GE~>yX=ySm9J>?z|2ws#}3L*t|j)C}FbX zw6t_u0L2ObY+YHI800!1Fv4f?cD~^2{wC$N?cs30Hhk2*VnxqbK^xsd0^8Z#2eBE) z-%LW@D^(7C_dBeA%|BR!_bdF5SS&S%CPRm)?E~4wip!5UgDm6`WCqWVv3OtxnT`aF zQQ+0D2+KNm+kL6+cc&HB7jb=Wu@dU)6Dv@KYTR<21qFw5?}*x5GwZC5VX=<&v~wqW zUwzH257XWmJBcY`_v(YMnKhEjvWT?Yi!GrZY+?njfJH@qmJiGrnPE=`y4Y9;6}1BV zw^?s*;nK$qwl&kDN}*VRn(Xq}P;2x4ZUTj|`+qr$`LWqi6w^RDc61cvbrpGz-9bkN zfVB$MkrdFRS*Fy3v<b>k)uNOKGM;5kvlY<tve~%&<&RM8cm=fYPwSw%#R@~(*GlfW zYDyR+hvpQas*OO#SDN1ZYxxOQaA8~7ZcL;>Y6hv`vvHP9hMES4ESZN&I@3-1po#bp zIVg;Qq=gkrU4Q;H1J;mD>Xfo58XPFa;u(~4ugS=*ckLo1`eV5^EG5{os*2**X@ z8{{!On#G{UVoi%5-=J&=bIx16ct=Oe<w}42xqr-fYQe}^6$l?H>1?j;%MNd)9b`^5 zkCu}1JxU7&xCO5fh7!}hnft*e4%Dy}WjVmZit)rVQO2u&h58k>1)9x25_REVj2Pf9 ziDpskh>ig;0thUpD6k^Oz=yF&-a%Su+fs5s41~D`t1%#!Bap6MbK8gyzunczk_VRa zm$&*uTjRlurK2C)_2OdNr)03GWgENY?ZJ0!&<haVgGS-5&N@=8kXXShv0H4Hz=K4* zB#Dm)!&)X22xLAHCmI)&IPBtbwxkskyrp-8=2g-$PDVqsiWRmxoT%cixmRPEGOfug zl89DR`bn%1v+N8FV}WD>k<nI;JbZi%8w+NToyO+q@p4;Toni%H1hBMEr%7H$n&^PE zJKOef6d1|jjf(mB+{gyyEc?8cqYPKP3Qr(ruCmq)t1{9fR^(_5pV)4BhXSulA~Fc2 zIJJm0Dc@_<JyqIfo;TxVOOgOYFvqq=v!H+g$oydO{FzS!e8`QiZm|OR2G6lVBnD_( z5Fh@688}d>x8Ss4lk3{`gECDGe98u%yjRhNwq0=U&=iHD9+cs6V3m<x{R-w*7y=P8 zMT`bD5*~b3?8hb?(c)N(5_Y^?1IC!jp+#a#$N~}b6L$Y;jk=sIhUO)KI@_uhxQIhe zBw{vCgHnbyPNVdN5nV(g@eH*wmYga0^+9ssqUu0A5S2yKfH6lkqEv`&q|u6@YSC@J zf;bi^V+M3?P|3E{q9Pcn5pS^hQ755n@^UU6v;wxa#gG7u8O;*A49^Q2nF3&&qa`(8 zp;%F=HhAQyNu6Pt^^Rzm_@qWQu$v851(0K12rs!|Q{g#FG@Vsh2}8&*V@v7Ht(ci= z8zZ_21E;P&v7&J60iPpp`Q%eRJtfMkbb~F|GQK0r0Y-BC9f}YoeQdU71D!7hHRMFX z#?nV&$x1P0Sg}H}f=~uD2fEv0%|p{`m4Vk9pB3g4bH3TYRhmsG-nH~zNYe#~yrB53 zV?kou$W`k6imv?%LP2R*sT`pMX9+ow3<Z|5cQm~Cia;&58dX$TgX<M3_gQ1cJ<6e! z>`7zD{7BLsnsvI06&+&*s(P)}MRI6$u-V(RfRfFoN<NcbXz{@^;to`pTYP$E=`^Gn zV?`s)O^{E_r)&nl)P(92D@@bBHoyY>jP#F0qUbO>!u`bmp>4dD7M7w7T0Uzn$;bhZ zh%u%dIl0xak|@kEMJnBa4D6=!$946H6^(2`YwM<yg=rqy$g$egou##?sBi<}5Q=XB zn_DEBTE_!rtyZNG6A5KInA1*8NL{`96-L<Qqd_7vcAGI3lcA;}SplsH^F#^BR93eA z8>T_P`8dR<Wf^xPTbV5WCba0I6sYU!*soy2BzQrrp=9E?qlnZ;Sv+Bd(PN5XrmRSu zRUMi}gQ;cnTpFo4)AHUKH3BDe#sia3CL9zidc_LT1R<GXh|y9r00bEjz5uh+S&xsX z+puI@kud!wKS;a11B-cMAU*Kt8k-M5rXvyJTE&V^v4S)~2&@qHi6xmed5&dvx|qG) zC~smjRw*X5Q_>@RXu=&4Og20ui|1mndB%zr{rVL&gesg(In>u;@oOgG@PsaCF#PfA z3Q<jk9Ub8zGd|fCD?+p4ww@?w?a}#^IUcMrsGhNc4q>!pRJCj@HKMvm+FT4#T26?V zXGC%r7`|GC<v^pZv^yM{6}L5aZ<$+CzYp@kOHr?`4)YaqfCbEsLez9dEpbdyM!A#l zWForZ7DNGDWMvpDKOSvoNjp*tKup7#pdmEd>f%PxF|Lxt^s<;IL9wFOe1&Llv%8&# zim$u1#TA0MyNFWVNIQif3M4`@elEMiiq~zs+ggNQQDQ_y&TPAZo9HGFMYA?Om64t! zvsl!2ULVZCZf#6^$RiM$BHatTsw3v8X(EE8p2^g_MmP&MkMmR`ORvZY#FTH)n#MFT zrU|rgQL&;^Z@WR8vD@7_Q9lT}K}(iICtT^!7X5i7jYiEH$r#x1EN}>mrUYAr<A(7N z&@>90o5w~MBjx54h-yM9R#dFmMXVt7u&9ugmkhGW!GubuK}gQC;$&PlA$bz+cx%K3 zAJW|%UqQ1c&E7#y=ijWE^+PjXvwrd=ma}KABeeiuhZVFCDu|QQigmyW_vm<Y<>YEI zGn<Vc>S89F&6G9hSmGMv4ZS&dNCu=>;Hf6+XloyEmIaU#C2gbYj!#%61&XLnuz?lQ zuUM^qSf+o%C7!7iZmEp_09KG)a_3E`h!rRC{{GJ2nHoC@1LYc60h|+AR0-CSKsJ5b zw8nyQ@0dz`D_BcddRhZ3k=Mc#d@Rj~@ry&nD}U1~`x7rQc`gRPQo-WYeg!kQcX!@| z@>p@;mB9HIm*Mt%)RNtI%FIglaO@LHKB*j#5@cthIu}u4vYMyTJWA>QEa$fw=Ra&b zR~rUtwtG}EU%09+{Dez9U)JGBh5VIR!8(o1?)yp52(JzIs~e{U`@7w@lij^jnBBJv zcUxkvV%`IQY4zS&I#dGWlowu|`xw81ErsYPU`$<knWk^dykj9MN|Dg4nO(j5SH1d) zmr$*Ed%q&{-joWC-Q9tce2*2sJF98p?q531Fu&iMuRc2Eo<v=wycJI5=Pd52OV#3% zYM+&rv*Hj|77ipb#ipn>ddZ~|!{^K}f?WijpHVAjFZm1WdNo#{Q9lkV?wo58EGQ2P z_V=CL_dZ6xbw9}52vO|8H+kA*fx1ok*e*<;#`zM&1Pk0uZlE!_)wEKS4JHQGAVMpn zR4Y36E9zLdfE5lL*52FR-8t#F+_{HSYr^ffqoc38b<58+tWcHZ4oIL2)k+b3NVE0? z4-MnsL6(~p)VP8Hx;ZruB{Mk92a1y^R&=QqxDukswbKe`LPf1`&p4IXcSe)bj^uS` ztl*X4EbwC+`!?+ywP+|(<uJtVdGmVMa%**DvuOdX39Gn}(DD&9)>i0Lt>_dh@_$8O zJwp7x`(?MD>~7sNP9>aT7<00VAt;~CXm$;a?7?Kz9ckzmz1hI&5ctp-?6AnPTdYkD z9`i;Vn9rLb#DR(x-TD<3D~iZ?gt*+@MXWHEV8xYRQ(B@;jeanqu8)sJCHZU8;Yw>@ zf%A@YB3qn>16HO;8P##mAv%lFc>*saRIKO}E9&Nm{0az}ir`oH97Xgi;;k{PM+XTW zn^7UBWwZ1IOIZ**s|Jh-6j1gi**4B>FWaz?80&ItrqU=MlxjsESV61r3RXB1D#oCE zB-UoE@Zl%B+*lS@1vw>>^|>-%98WOC<V&`dzOaoDQ|<Yn?_!ysj_W%No(>7kga)s< zRST+DtRNi?DYp&YZVLH|wLJ*=is)DP`|frs##jU84`egFtejz5r(M%#zlLqYNvF{C z895`5afy^zFpmB<LQzba>dDX1iq+513ILeRtZKz4@heD(zGB71hnn_xyUotI+!-s( zZg+pP+wm!3KyqO?N-F2F;8OGu0|nY#A<Lo~v0v0OCt8wN8#&7=3Igd`T_TF38WX@; zBK`G`|M_99SpE^0Rjv3uSV7SuV1;!!VOG0X4Ve9k7@EDqw5)VuBe404qXab>D@3c1 zq*CAo9}Rxk=73f<Xv|_BX9_A7b%{`Ad<HDQAOHB{zkg6Gz6O=}#~+VhNVVc!{R&GP z>;hJR_aV$z?{u4t72utW-M!_rDX?@}G5cs_LXjlfXpFKTeG#S=g?(&>o=8=YIhMeq z#1xjA(;}N%@%117^IENdKYXFmFMoWEdhy3UR4YD93<?ZT2I43l;2$n$M|p0r3D3`F zrFoM?lJNLc(yb~)K9!0z69}9|hnJ+wt_?h~ulgO$k*kEffVU3{RDss4qY<ol-12!u zD-N6{%$9$A_193X_*D4{%bKy1!EW(<FJHx)pT~14NGOOUn)ygAq6EB#Lo#^+6<#B9 zZL+El*fH`g8csJIhFnV-TeFT@=8rdhrmxhBKfXrODM7^_>sM>VYB^h}R{Tt?;0@Kd zl(f=@ae{k`B1t3`Reac1@CjtCg~&3~;Vyjq3aN)OoQwdOTTPxcOc8BaF*(uNrdqTF z@0X|ifpM*HIP;Hxc%}HqKc3-kKcW>d3+;JUwc=;_6*vorENTl3EAT#!XV+QEzEOZ< zr1WBBv<gu20a5MOn3;-*c4V2Am2NxMKEg!8=xfQanP+H)+v#7a6$f7fQdF#X)Px$> z3h+JJUNNj{#ZSTt+0;WR(JXc&Eb$vCJGdoglwb~!{}W4yccL~^Y(SaQ42Z#xGzu$w zTmi(87hrSsXw>%U$n4jDyjm;%5wRk>6@NS$<Q>%th`a@!<3P3IXJG}j<`&U>mZ4+s zaMzLWd<mB`54Q@2GcxB3&k1WWh|}RKWasCJc62k+m1p^<vVutQSy=J)^;i)?PhYG3 z<koAnVmUivcT_8W9#%B?2U>)$h-bE8yHIZa2JMYCVl*%re8h&sFvc@BL!L2vko$6^ zrLe|GA)}aX^E|BZX3%T3!l}g9Kk#}DRzTH-CAXneD_$FeqV3ASaKRF088Pp{3crFB zkK@cYs(u|EYf2n#rdK?=#2jc2S8Rfw2oWP59GcT65#;Cj6|aoUdVk^{!HUZ3zh9vh zNELvCg=)oXV^DJFG}~lZ`5Z2u;uA{o#*3Ry5gCr5Yz9`&GD3<YYS8J&1tSvUVpyJR zzhgxGjn?ilwP;3WoB0Y)r1c!E_y>Us;%#rnF2O_{hh!%+)ry~k6(ZQf>BYpfMlMLG zla$SvsJtGSXrM{D(R@eC=4>;Mg!w<L6}G{sBh00CYW)Q<sEL<s@$6n;2znALVzL5T zQT4^kP*?D@R!p$f1hc7X#gAhJm2D$tn6`K~8hsRULaM=&CQ!Qs54H;DnOI_t@x?fL z)u8U+wTLyFZe(Mvm^3Uj<4LXf+Qf=fK=ve7h*gBzQ#kq(<tMdbc@+QQd#V*bh827a zs_dC)74JRf!_xSWHI3AUr9&)GsbTe5+Wg_bCh^IVT;8o+NefMrvfPXf6MG(3Kq%Lk z3aGd@C%fC{U`0sc{UIHT{oS3pAz(406%HL@5qkK^OeocgS78N>xzNp@4d|uBF>PZV zsu={pc>J4#C~afF1e;ZdQH-Sl1*-^yHN+Q7oRTqeK`@V-P*N)n{s_J@Q;W+$q;>ZS ztSI<$;-F@aSYd6gfS?M?sfj;<Mxj(Ieh4dsl(7<08Hj2P^CA<hsn@_#+iap29~l6= zSDTx6v<JKR`7-ocGws-iwqw0`Os$^MiclNqh1+MB>(eLR^trizrdE7y<txJ3H+N5J zg$IYpY&Ok5sbis9@oKDKtVyOdmq?C<Z`AXl(G$GW0;q9sEuYzF#%wmjhOOX_Ncq*8 zh2>n!n`EEFvU^Ex`@lQP|KQdS1Zlq9y&NlQWH!J=Td}BC9EE_a%|Dl_6+fyKjaCFJ z5*U1597{8Zu4m*`7)Ew8S`Q_0gHvws$`3-G#^x)b^hkT`d}9a=suwoT%WW_J=V<ju z#tNqzU;l@S^gedCpQ#n)5|iMSv=wW{oo(c8Gk06H;<Z>Ir)e>6Zd#ewpjK*72!Qa? zLH1cU`N6r5-J(6?d1+Y=BIfFeQ5W2)sl6rGyLdz^f~%aAB3AfSt+)*?_fuMNz>*cn zub2c!d;b|)!Cab&YQ@jS3SLUb2YKZ~SU}bq%$kWqPK-90bv}qtE6<N3jB4biX@Lk- zYl}jOh?U8&h86OWz-&vTo5_YC(tEq<6IwC(W7LF-TJa35n5kC01y+z6S1M<W52I$- zcmpW4M_Lu#WMXgwJCFe;I`e3^A1jR_-Z-712QmRqzLXVX1w@DWV_NYwtUqcQIKzsI zC$+--@n8QnlCQ{EVPA|DGu4V8#|jicr2~H(GlEPjun(f#m4s6%XXQB4K#dL=nQ`Z1 z?LaUXWF5%wLlYiQX+BY5d^<x)QW=kE#V^t7X%;ah3+hR&@RM4ob75Yp6*JX}x50|M z;j`}0239o2&RI_B!T4{i80=Mv%DAVITmhb1qw`cL=O8wpZ0;;IxNV9%<YaCDw7wCc zX&%=KTGvOC7D1$+ffd4x`iD`!;#2q)V$=`KpYae;Bmc#755_jBTuDDfgZ-~zVwI6Y zmbQAdMyR5K^j4ue`7WdqQfdU6VL7f9|442{!>@p6dfOOuLdv5G@yoPgRgX}u_&G7C zDvq|9L1RIGnFQuZ4BM(eZB;PwUOi^x3xB3eu3(vXJV96tRTa(&#|qQz7ko0e{YP>u zT8Zh9*4}@nRzR!YC@R*;(^?Vp72%!2jpi$UP7Df%U^!YywlgH#ra6@e&0K*Iv&2HH zx{4JBa=)VXu_n$zT46}J6L{2>08aKW$n2y#pN#0zs8+x~xLbitsE~a-c`}QK!Q#K! zlP}BSsaCuZR*0@Nx@|X#K6rrzw6KEZv<YJwv1mk#Myvii`x%zAU?P$#Hi4MUMFrG< z$V&<t-N6%B!QBc{#AKdR@qs-H<{reech9T%FtOTXIWt=E@snaul*$Iz)UjS3Bcnee zhajfq;eu5r<iescB*|boWf~&y1P%<8PmK(&;LWWh0fV^|NPosNv4Yr8HMhO*yn>O^ zzBZ+l)QS`5tM9eTZbfxqY{v_Ycv>C!ldyuu{1Kay6)j1!@Re6aQEG#cNkdf=K~64$ zrvHnpv07XqK#6x+6gaY~1-C6Rbj%;{5v=%Q)UEJ?XICR-;O!<?X+iDn?w2<>iuFh( zxi2DLtwK4uR+9g?RsfGQkx~f|EfIVoq$O0w3^Zu(L@RIvt;t1Zlr5))SETa~$WUQv zu~}Ayh}hpOtD9;Lbs<>sNENuVe@0t|nuG|gj_sFp9hpFqwldmv^i!~c_d3^rDw(2X zM@#gu0mPUtfwWzVExw9s2@T`;PqX4%Oh{tJ9Q{O+`k(79GTubpR8pEztaz;8)ekxt zX)kSQ#iYfL=9^rn&(Mn4p}IT@zJ+$E{v52JIS7m9h#Fa>M}j$qk9+4i3(}*}?4KrC zKjOuVg-jV$RLvZUqC!@9j{R;!m}d!%DB#`=`?v+g7Zz+z&GaNz$lmYKOK`@5aM;Qg zhg-Gchy4obDD(0S(t-eDsAD5Fz$gO&Cl}~c-=bGFTS6MN8v|Hs<$9ravoyuPeeouV z0Ueu1u!8h%81q`JFdSx{)QScZlr_)NisjN)*ISuyeiBwlRy5gkM<-P9sn(2VhOr$0 z8yF!NM9@%rTq1=?&?r4YZmw%ZZ^shWrpbbXX9xqQc6b6S4#t@X8tWBUF?tDQNqhSk z6yXsE!9dLWs`(r)BiS}(LAs?(wUUF=5VC?YlD<K(iI_m3(GUnANj8m`!P@B8Yq!BZ zq7}j2#wD*u=CxY!%TuE(9@PrWsJSw#6+a_iVR6HpXm_CY5iL?;g@koCmW>M_Ydd6B zHwyzJUUN(Q6Vs#}DSU-ZwuO;GK&F?h5%Gz>?U17Q<&S6a{ym+q`0v+ig;Dn9x4{b1 zpTn#uLC8uUQ~G{`IAf7;311u217e5)G1Jv%X9TF~wz?vq+1D|`cSS#=pox2u4+{ML z4nIpPrazz+o~eJ<9AKeZ@oKDSj$aW;Im@SJ8%9{n)e6}-b|mva@Pbi2QBuzwEoM}O zWh{2hItXe&$>qkW3z-_iOL%4{KS?Xh4`@YFiz91PD}E|gRO@Kg?P?G<KdlvJ@=NkA z?2q^r|NTQ+;mxNbodEXpu!0XiaYpL0)Bixy>pVj%+_S5v-Q_2;crO~+t<xgkC0{`b zM{}gyqL{f&&)D(`evD)5{Pp(YN6@1!dVkY+mY!|N@$@M9iTHOT|5%^*^Ek<$w^l## z5~>w%ov)DG$JWM)so_qXof<9s%w!P#1oXHbZQ1KEvhWqGI6Ar1;>xCZeM63?pO7AH z*=vpKiAaNLMUPk^o2naxv$Q*!n%*!%SKjW1=J~Vg)X1hJdF9so$`X&pCoruc8K&`h z#rIdO=oc&Kz{VCmF(1{~WZHj{B0!WhSz4ppqC*!9H_!-H(bT$NdlsK&Y+M+x+EuOS z5-Vh)SBz5xLcwZ9KeR**7^4W_yfSnQo~1c*(<rjFf_g`shOnbKBocTVpZvVf;)7DH z`18h~9vd3hVA9~DPi?b;!aO=q7_$tDG+K*sr_Ft7X{BGyo0t|q8|m4$a%2Z-q<zs0 zRn>|=BUZ>QmDfHP%=M8&GgdZW@NIe2pAbbPWYe!@7-Z8IAXZry44=ivKbINlhUK${ zWx<PTMdw&iYXosk6Cup3=KDw;Du^<q=t@^sW<>kVi!B(-2;)!|)A1-r5AD8YBfjV` zGa~^}IN{HzgHo;d^J0Z)fJVD%l2wZvDfo0oYg&B_%zUwkyxfxBz1m$zW`9#|0|Tu| zs$#T&m_%I6B4#VKohM$fqFB*=49bYHqN(i-Xh)75Tm+3eBT8Ff33)l6-$k&(%KmXS zx6+cBD`T(%-il#LS0OG&Y)zwSgtyeM=sjN{OS4gnH1Y;y=O_<dH3GJT`HwY;bF2_t zBaDrc52oidZhSHTEn1W{?Y24UuUe3*6}@6b&7)CvOU(Qs+7L*%lo1yo5<uaAkjH@E zhNuJ^#TwM370wb-Rcajph?#dyFG6yV7{!Xtu|n*iz-GqPgqeuD$}FIu!emvsD4Hq@ z&;?o)RpKKjEurgar4<>EAtu?O^T%3EO!m|I6-)cvQ{YI2{54pS?F^ZAYqe*StQ+ta z3^DYPjM>5oKtX3NGTt@XWyGM1Mi!+p!?N@RV)!t;KitwzKR)J_3#NVLZyHuV@e-;P zZ;usVNI#yTgR?Mq2ky9Q3_B$=VNlf)j~vw=qq_TZX@pj?p^*a-BQ-eM*;aiApGYaW z4QonpL^5Bx&)c7QiKAz#1uU%!`43?QG~%O{w#AV#5?G>W{RVX!7zvZj)HfqOZ>8#J zu(9F9IG%}0c{-_IVPt_7v|M)Cy4S!8vwH3Nsh4<mAC*GI>#+hE@5vxxql3vfyvml; z;N7Q8Yambu&}EF35!Pazu}~6-#JHt{l`M_rHX%SH)tdt-SrG^ai`Omtb1$)crcx+W z{7Aln55%*atdE=RmW|`Z6@4HK_!e6-$)$-Q7{pg#bLX*#0F7pHI`kNEv(ZRbqs$8E zr5jkGtE(6k9;(8eR#xRrJ!{KIl$*TdEfR52oWTlOiF*KYtPvw_W_cGr$`SzBm>Scn zYUF!_szujWLC2YJXI7NkRl6PUt9bOJV6l8bT`iVpzOP$JqS*@9w(2?XXA|XHqQ+3M zqGPP6rUQr(DturBdlnn{jER<bxeXHvnsv2?T35Wno3gVB_FF!7(#o21903r@3XJKz zNoSy|3#>q`Z_O|$&bjgQ0G%IHAFvED9T17sY=k(?vVp*&!rMxQHO3FiDbz^C;mDXV zYZ_gDy1K-Qy5U1B2>>kpW=Tww8A}$pdeLcj29=<*c`>|Uo6fca-b5~gUJ{=~UeYog zVIA6yku^qRI6Z0wo-kp@CM`B{de~55gIEYF0_`CJlBVXi3$L$brc>jVjj`i3<f6Zo z7oJF9vtlfPu0FA%MvnL-2vh?_vIVq=Ls&3IrlkQFi%5>xhHt_rgtbzBJap7Zg<IZ1 z#li`UTZGQ1RJG{VuV^M0TA6L!j)&@)Xd<I#={Uham3xL2bdWcZW?*Bmd6h1WG>vqW zbA)1HE8cuZ^;}n<SV1GP+$1lVZPJQkNws;iOPW@m0&dY}83@anYXk*4Z*&p|OKK`U zD%?`PTvC0ol0;CyqHnAK*1aam9~woi7%QYJEc&>ykdH)wa8$`Q8u{3pv^w#C6OGG~ zEDLB}y`e#4TnedJp;*xvYs&iZSkGy#!;@1WIU7zDYto@4@@+It!P5*p=|NqNR?CNo z1hAlNV*j_6`xrE>r>oBx6ti}yM3*Y4hSZOZzGglLYR|S!)<DS<1?@@@>I#D#WigUH zWCQLoje>kTO310J(-;&Dc^XMCDZ-heuiJ7fiufFeMSyjMTGMEiW1T~dLK8k<n33+V z$@BCM!I=gZoIxxLsun$Cg{84rT3JN>3OWH#_BvZSNR`D+MNXTOmC2O!XyKF@8;>ej zZOEMl2OJq?$p{d1b%_;*@DSj7RKu`BOwg8<<U9e<*uFW<An&51jt6d@YX!HUL1Ea6 z&jRfNZ_zQ6-VRlZzOkZ6ufhC#kw?jpDT*T%v9`s8(3oJ~$j6~P1T>rw$-y?#pUt>H zN$iRz1e*Z?zu19B4XB>6qQ;WY#OeSQu$cxz*_tA@hBJ=ko=zl5tN6lZ-5@aM^yM;& zOIx?wrW-GmZPR?PDHp=?DX&j%hT-0VEJ|0k=r&&geEZMckJGQinE}EH)vU<|ARW@@ z^KkcIm`e%*Nw;K0z==07wNfMbvV{7OUD}!!kDD+9ol<NEw-(c8%u82~SixpT_<!d^ zT(|qfshn|?4_g&ygYnv&FT!1~6|E9)PT6VA2+JTY6(P)mWMo<Cv$JyahHX|mv8b)F z*YWGl+cUg%b&C~%?V_R;2g7$1lwvuw;Wje|Flr}{74FHUQ>l?zVwgaxLGTZB1~;;* z5QAZMol`j?FE-~%a@z_y#pf>4*B#caX*9Ze^(*LzI=i>o+zj`d&D5?i-7;gJ^cq8$ z{c@#J#0v0KURIFO3hsPL+(83cqAk2po0#WY%1UsNiD>m&xaS>IEUqrLL$>&sbD^ux z7!(V|`mOitur?&XS(KxgRKqQ<K~G+~e<@)FVsJ7nlq9<RDE}Yn$)h!V$b~3a(Waat z{7%g-+4N=;j}pfCn`!;dMwOy-tYDLV{GEeg?H|mhW_dK(Tp8H-a1@whe?J^_Je<y) zUq0D<b2i9k6HfQH);O#Hm>s#3VKNIRI@vnje1n;c!4h6VT&4@{%!niud6b^evS4g$ zM&JH0ocd#&-FS<V7S^a*bdD8tbg%p2vBEpdxAtM~Y>V4NXJt60aT4SVClh>Wzqg(* z9-K&B23IvcHwQR(mdN>V=1r{g`GY^vSbxZG?wYK71Ay|KbD~*VXu?}7$XpG{wQt&0 zhBZGJFB-IA@(uQe5L>83Yw<{3{bB`Al0~d=Kg~mkS_bFaKnP(@y;vr#7`!NjXV(@U z;!z$eoGO678@+ZL5AnxPd#5$q(HM|~W(};sv^!%HmRgnSh#Dch`?Xi)?ZTT-b6N@& zkJQy;42log4T4dy!fC~P>16ubiQE16hxzK-`4j%w*>HN~rT%JqFwBqKtM2H9yPZ3L zaL<2-s1^RHQ+GLko3TO;$R?$ImJZ+pLPJAKa)EH(Hm7Qco+i})6g(QQu)AS!pLbXQ zr!G{b=oBj&Jwg#H!cV6aYiA;zx$Xbd96En=;?odb-n@34JIN16!FKMBy0zwE;jqF( zg;@oyxHYS-*OIln4cDZp0y0&MCpH?Dfr9@Av1~Td+j0sM%l^6lV^sFeI16eh+&m~h zsH;b;V8s~mzQYPgSg|lRJbIYB|J^AM^B`+p=$*7rlO^JweHh&HC-)93&O@FfXvH+Y z<lWgd0Nd~dBSC{@!^-J;4gMNbq=l<*QH^7>bljSt6btVPIjyL}Ek_E;m%9G^Yeoo) zYiaC3h|C78n0xJTySx|f`D(R#SU|!G=cz`U!>pG6)rFTK2Ox{>BBuF*i{bU^!H1<H z{xpX&in-U6WPujJwm6vy83D!`T<nf{KrO|J+W-{<A<1dh%pM&rmn;48=l(Ghy+V&+ z#WwA$5c3trOT9bTXTXMlB;ac=&WB)RC9Ux4<X^JESD_&<L8I21<RYMew$ic|KoIkn z@TiRjR-_05gt8Cx&Kj8Q+OKHMUIgS<I0+BPQMDopYQc(0sv`2J;)Urv#;Jl|;a~Sy zF;Bh<nuWo_L#)XHKyVwdLJr&FPbM5bcwQt!3-spUOT{m-K#^b2G+xj73g&7*iWT!v zOB*C-<#XEs3oeJn)zLNrLd1%#4?!`kfPxjW8i}_Y*_wHiTp`T5;+-43|C=%GP&eN{ zx*p1!HyV<3b&nNK`W1dmPqNf~8X{mpaJiFT5wK!0al5Voj1?YVE|XtD0!7?~08!+} zMqC)7MzTK^Uzim|v8a~&c^ECIVJKNV8h_B$H&!4Lj*%GD!pY#pRrV_&99?x>Q(qrO z1cXWcWOSp{P`VLBoFFL87)XxpF6o953X%fSJz^l;F+#e#MY^Ry-^=?aA7G5#bI*Ow z^L^sexc(m>lk<`J4`Gip$~_!F6~*vXeJ9@IFUBf0LS(N5MZyzVgV3*ei}+>=5z5q3 z+i=!@3%(8<@Bh@78eWd(!DGK_eQ50{U`%rtSLQ2JS4Xe4dCuP)q)bk2LSEbBc7y(1 z?tVD|v+5C7?|h~V-Za+k=Y*0|WMdq;zL@OxN~LO)CjXS-Ev86E;F>iKNVov$o}orn zXVlI9;7&F{Dlxqj`=$>E`pvCw-&QLS)n~%*Fi1@+Ltf*~=*$S>#H;bNj7Le-!jCiI zB~M;XW#{K?Kb>;w>xuv%2sWv?Ountv4fvcHCV*@C34bzx0`V@sDs#Zdd-7p0&(+an zKnwqo5!w9BUr74wEn~C$*LQMJDhM=tA*=BmAY5o@JUKs1C}W+^bb?WD^Vbpqaz)#0 zgLEMyqcxlj2mOi;9Nf$AZw{?TK=wZ}2s_iI2c{Jlse$LgfS8TFZ8wNlq_Oc~FgQ@y zKiXH2U%kDd-&3%Dw1C;$fvL3S>P+)MWdpTUOb+Z-^xEH?apjYp(%A7Q2NKKhE?!rz zB$a4L3QB-}J<4O|NT)R2g|vg_5kCXIeX&!?rGDoXnxpW+gY=KO<g>MwH>Lul3y+E^ z77@7k{U1l@DA_019QCmTuOq6+ghy$^w9cDlem6OF<|qgMNjV-zuze}~n&$dQjFyOk z1oE)iB+)dzo-)OrJ4Zk(Z;Jt9I04OTd`@#0zJ-fl%gq>0lbzx0wfc1p71FD-^a^Rl zto^!+fQ77QvzkWOwg|c}voEOeWQ{3y<-;A`eGJn$Q@o{X#c}cYYp5(qVv^%OCsldt zHsSK?hh|IDGZ29kF8^?GE`?viFTd{8t$ZUzieTa<0L#G9vExXT^O!<*oR--yq39ut zi(l{FGo`+@h>(pmeRzTu`QlirEBV>NP;fr6;xNvWXWy)tvQY@72gL-FwuH#|WSV)i zsA}@(Kc$B8yJ@*;^y^{{4-4WfWd|OvbQ<;=Y6`zA=QCQW6f=uLPfgXA#Al9#uPp{D z105GgHM-snFk!~O{&1`m6A?6v^89PMkbJR<koxY|YGlFHo1DiErK_im1TtAduYNPG zkInxn2Gm^Hy|oMbp1hM|mUB)z#aY}m+TE49aeedA6S#43Nlwkmug*@+QxENms^5S{ zN9Ag>1=BTFio^dzfV<U<zhQ1>E!=-=AE6EEQ`@IRRVZW@=*?5MX7d*@dS<Y{qial0 zZ3eokgeyI2unet-)GZNXldQ1t)&Fu~q%%KQ`OryYw&ag8)mS#u@W@2@RU;CGW5u5? zu(t1jh&D<R)UQwpWLya2KGjdzGrE9E1eF=!JD?o8-3?tz{j@d#F6ZR$ehkke>5<{w zm)2D3e`G?*obRL1_QZW=%ZmPyjfN<Ha|N^zJ}Lp@Evg)NR+fhLHc`ln>r3G=`Hsbd zUx2#tf6Gng=VLO#m;UsvkoJ%kwp0hM{3kse3T_5j6db7iYRCJu%Kqyq<%(pFc6{>U z>z8;&Md5h6;t_-v8BpUXkg|q|+?&d*b2n6(%KOZ&EPf2~MK$(jnKsiD@?eB()BEjX zd^-X0r-7fl^VOL+OSz5PjpETwi`g>X9GBlxNX845Hz(_al(S1VsWiS8Cm?CsK@j$Z z<9CIXIye#?M8xc9KWEwStNEH$<sSn@v7=o~l0;1KSV<<m#orM8MR(Tz_cbm?JLC1U zV$84h-CS@?XZbkX4YxJq&z0H=!00CZl66|juNuDv=BdzK=nk$dvsO5>jvvjFMu+Me zvUa7&kGiqgLJeyid02yAS5%jydd#?Uj^)ujj>`DDeSPkwv0b=kE`XkEV#Gq3Rw(}Q ztGzm#HVW$!;Zk*nXHW8ND@_7x{<zc~8;|5V<R=jo(0m>K*4-;Pl$dkx^f^+C;QuW{ zp;567$$d(o1EykmAVVnFXJ$A%gPhv>B#F(v0ZMf}48?PNc7>w9d5V`_&Oc^Kh?J92 zd|#vaTP`zK=jOBR@A$>~JgZ5s3N>Ntz|?2m@6=1$K>2{Q3CFe|Ji2f~zeyh**kk+F zn%jTcIWnandTqKJ|0XdbRrWo?PV&3M8*ZMt4@O1O8Iy_TrO#4`s|YQFA`sA8-;iJQ z)=}~@8_?&qTA#?<Xu@$|uUOv=RdfhHGW|F~8Q_)CJ7fQ9oM+qBLkJwL$XBg}+7dBn zk8-t$k~gv?lJu8Vup>$>j&5WGb>?Nt3Ls+e5Z8tuz~NazXHsMWQSNCUuW(;!93VY{ z$^hw@=DJY?j@7tq$sP8^$x6QX_fQB6zRh{fpJD<zFcIT}P7rBGsN1gx?txpncDVt? z<U3jw@wm}A+6bfrgF_nO3o_>MLOHH?;(QaT8rNjN^eo`n_IrU(iLAu-H?O|Q1`xd= z4)TyLrf3GvR6;AkcAei~h7oM!9&3TWy8S`fHX!zf-cSqmu>w4pzYS3^4AIO&$@bSG z(Q#Xa@(f~;6N}C!qn&#egm}Fee)qbrjUWP|_?qbnV<wa;kcQoX&m;2BFfyhXsr$6r zF4a^QIJ|8_x++-5i<O0lu3?hT0_6+Rq5@BFModV0RN3cj*i)rR^;N4LUELwDo+<ZZ z5d^7zjG3`(xb6ZCsdfH*sW1^=P0aT>@CidzFqN`>c)DIi^#eg#+{ljs`0=#9(qn=a zN=@vY0+%A)k~Iwte;}f&2C1AGwZzmEK9x<89hqwczeuruRBj4lN186ud~q#J3^up4 z#-pO+dC{XYdX8Musj(|m18V6I1AMkt(lCe;iM@*@*2HsqBV5A+6aGPY3dsko>`yn4 z$p!T|g&?JhN^;2CMOLkB?T4s!mYZ|P$jBpY)`_S6Z&=vpKWz=!5s*CjkdpOAh^S=> zPL5>??xM^ulC<Ha&ab13NQR7ZZ#_56E-^=05c-&ZYcG75?OCN=MWM3xf(ezWepG4S ztgT*}jjNo@JXjOh&|&xRbymcWS>&i^r7koRC@B%Yfcz}m{x=vCSU13(byfirc4OQ- z5M_V#4re0UrdafyJF(jZIRp3nxHe7TG=HFqx)^SCi;#Rz07om0N&^?5I2->rzu#m+ zzc)p3g~x)0dl2))nzb79ZUTh+qqjP8r1WIF?iVdwFfyhhM<}GEJ2U64ES_8fx}#fR zH0K%Pj@C*M$Gavs3Huq*Qhz*k53;g;`s8OlNR#&=&Wh~9<xnD?gz?g>D{Os(C6f`y zfBOepDox*B2r~8dXK9Z2e+jJHp$Sq$W$KAHGNGs;sHc-8YfhEUB8vTw^*a+thYa~Y zH0c@q9+y!IK8m1-J}30g{n8}W4A$x{JQ0P##fsImlHkmjSZ<B!AK>kB+Bw)W{d#uf zYc-$I{ZRsv&8pCs--lQ_gBL;*{8jp;4RJ}*nBl8MmkQ2GZwEehX7?}Dk52NyR5IEv zF>|zc*6j2>sU_JWl&K%;T7hHW)bQYem6f@ARoVw(T8BrW9%`b#C;bOQPoAxOUBBxi z6xRCdC`Hevb>Q+u>9f7+n_IxBG;ErFU3+#yQ-<}`{@||Q;A-(MYUFnGcWd|2L@<7x zd2nI?meOR2&Y$#hQppF6hOco^qQ@8GB?gN=oAjx)?l*(C3^8*)wd@xM2a9=LqSeQ< z4!J>rJ}ypmq;&;$fnj<|B3pkhDct+)@$HSZ8cQx6_k5d(dJbVv{!#35wdSNr)~O`U z8ZT(0E!b+g07FsxGZXhs(>Y^I`wM&n@<bPDsU*y`aIcr{a*p_3{wiq|l0*$(MB&(U zgqz)FaD4n@FiGr^S*4;@fQwg()LTh4azELU4auHt`AgV|%&6UC&BteuaD(H!rxsmv z)c*h_AbXiG=zKI{zK<te@L$VEWhJ+vzmDZ%eChQ*ck>ZXF76y|Y0_|A;~Bh__1`od z3g4F4>tBv-*HWYtZ$Iw{leb^bmCm5H=Na!gqKMD(PHjRD|CkdI#bsU(%&9ggCQt9l zd~eG(w|Mm?um>pGR<HfIoJysj*SP<0DI(7?xuS-hSedQy<I%9+*>>I0H`mR@ITN4K zyFOB)d=F-x-7KZ2qPt)H!I!|t#`$(**=+5&-7n2W$lYs~cVnq1vyyh`=H;7Lln?QD zp^SOg90~9S@j)%P?iG<#!}@!Uaxn9|i<_a%UulN(N9$uZBnR*e2YAS!*G|mcK~%O^ zYjt4HXVR3r#faK}tDREYuZP6o1&(~|tA9R5Dh=DCPZ&9x2Y&)(C3G8Be?52YK1}ea zF${?dIlNb_bU@(M!Z;ggR2Ge)HQfKfF7@UQFPPaKsMQvgblCeR`-Ylb7=H=<f?&gf zB}F~ZHEz}7Zo?s$lZO}mld7a<>MzJm#Eqb$iw5~=-<Lc5zWfpXYS?;raGUH>eN^dJ z5|63M&W)IIjj&9tzI`Zq#?HW$X_duS7)PZ9U$sdr1b2VDRR4E-*tnyxJa2>Ti3-=2 z;3*z;SAxf;ZK+_z@%%U}1Do<_t59SBFV9G}+?}J^OI3C<`QqXCrzoap2R6UBR>4p0 zgw6fC)1<pqxP<Oa2EPgA;j6K$l=c(LI*f+tIuD^H`yawtaZ%yE(BdP9Y#L*gTE|mm zCpt8X9)}^6bg|##Q{8(Y+m1q?cYXd+7Ns8IB;?){mi0@^&>ib$GVvIsGnQ*&MVKg; z<A1umwWAE-P}e?#q>U^=QTP<TT}b0vvjfyRDb3mUvtk6)iSR(ADjd9&gwJk*!lzV# zli@6~wPvU3FSF!QuFd119EjywXgWc2@iLZ99$dr1$={*B11TqVcSs>mwY0mCK^$@J zE5`4P9-hT*<^26_-u5Us*?>&f(EQ)cB0Unik>u_<4wMkaR$yO&kN@0K#D;aY4nBSL z+H+8)H85tqbNq5{akCfmN~3aMoy{%zr~GH%kf;SY)X~)Ya2e{O?1LDI<DwtUkSa+e zV&E28H@oZ=#$<@=|CwVpvc#j$gSj!I@>Ajs_<_~Q$IEH+W81b2YJ|$R6+UDq%@$VI zZ>$(dnq~IK1c->%*1S(N>&o3B<vp1d$|#5TOl7V>{77g{yn5exppt2RX~h%WJvGE! z;B%;)fLC8XfG`0I=H(4|_0Jy)8Jh9=_uhCn)=|i-5>u4FgXvsS7YH{`Cw#jzG$idP zEhmbu;W}!-Y3|q`EJJtU-uQt7gP*X`I2f&-{KS0q5V3SaE8n`-&3LG^l<e_(z_#b{ zA_eM5;kR-DJa&miw0Yas`za*tN=UC1fw7ad0NlnNQWgLYK)^<p`7~UpCa=Wao>n1D zr44lBB`?@B1K=Zfj+Y=@g^Q&of{^z(kQeHNKl}OH4(nkAY9U{vRhO7TALS7jf4B23 zpZs93KA#(IQ_<RCO$`Z*kZT5Ejej3lWRMtPN(6?;K!4+sTlCCLsz12m5OZo>xE;B@ z^=<-BGy*rMWZ8Js+J$t@>=1g9IzQ9=2|n`}Q++&k{F(t0*B7Vs$orG$<9~nI(JBrX zFBil!SoEJ8hb%tMV6m>G``(ThSZ(GQ-VGlh%BEwaHx9{c=xZLryItSd<EVaGM|=37 z@n2#UhgOLoiqGOn*UIQ#FWxh3+6K-Tm^OcB$QpsAy8cFb9dOICv>Yt6Y3O*m;a-?D z=-5b~WEh%K9k<dAP2|?B3Gfo6kefG80))nda2iLQ$BOKpR4??2g;Y-I#6Y#l{BHuD z5{^F>#llQ@X)c`n)Dq2pYZFlkFiy&(GBegg!^RZd0k9n(^9i4@kj#*_{bb<IWH}Q{ zV1E0<!;~^yw>tK$b8iICB#bBv`Znr^|3J7L5ov^<nAsZ^wGESZl~*5f_}&cM{D;LH z8eYX$jA*GSi$MoYOpiKFMo9;KV6X0)9&8?UZHP63)+5$%j<UQhuD=jb$LiJ^S^J2# zgT#Vl*=oc*AJFf8n9bbsHquM)&gAX%p%3dxIU}fg<(z4v`rrFPOUqMi65@pa9Au10 z?O`p%NW`m@P$FYC4Qm{#)N|x!67{@QHwP-KK^y}@VXebeN!DEGqPhqVTWxMOVpX%> zc75mKHXWd>=pE%#yY+mgA$Zw)kux|q$hYd6Gcs9j5YQj)PvS!GHuiziD?2EvC(z;q zoy(Nq^}`=fP_93xe{Ol@A1z4~5fb~$FsJa<ubVz2Z<en{LU@w`FvC;^j(&c$SEg-R zl@3`q<IqkChk$??bHxvO{LZMnKR>yH2Gxltc&luXv27shRBGZ<Vhz-n!JjokY2OEf zNnJMLWw2;iS^d-TaxcRx?cw}k3>UDVfv(AQ+LsjjZ8kxJ{#p8hx&QB(4HROT#6`@I z&i(lsfSA=l80M5%t{2eVDm_mlOV2e=aTA>U5A?^3NPf4P+}N<Cu?%R^lgg%GDIUgq zJb6&PmO1A9>Pt9pcKQwqi`uuV&@AP&ExWv{>$S15jclHn`0KBUdYpZYJxG}Lo6>xW zTiz&Mf1<MdQ-vNj&-DlA9-$%)=2YeU&J1t&3x5ub6sA?XGziliKmT*z7mV_MYyQoJ zc*}p{CsCW{rHQMs6Tbg&AH}H-A+3ecWg5>)=i0mcMV6lQycWyw2#S7TLnu1ix;1+O zhreg)8!Vd&lTTId{=qUbAkHODq^2?|D(7`hz0yE%JR?yF5&Kb3MoHFl#9GR|YunJ} zikn7g&9=gdD2|ogrMwAFaJq3?XQ>M1D`4>2ui?`IdtP>rH8}m}!6MKJf2$u#>v9$W zcD=5Cg`*~Jk+MnX{hmz4UiQDXY`!m3!Z!TfOiLF0d1jO(e^{QGRp~#^!79qd<%qST zaZV?Ph+~kt3S5d|uP&RKu$6N=dsoyR4l)&+vN9Z_UI^M|n~wAj`sNmde^a;>aAu$r zl=#g4$K@;rT*D{ll3TA%F6{WgUVLG&j;wbAKkAQe&{369@Xv>DI*T@(YXZzyahU+` zbrcxgU&SYyoR|Vy^6D7v*)|?193HS`)cFtb&GwClN3-dYdkH!`q>g*_73*Zoz}gzP z`JQ81DE|Oqx407JEZD$I&zu?Rm!aA_8%$}=JdME$o*vEe22q+n9;%#c|CiChdQ*pn zO0|^P-GS!c$M+TOCw7_0Bq|1kn+lnvRb+~+NqrbmXoq~a5!o-37?4r=$jRFoZDK6U z%~{4WhBkOmnvI+~SIUM~&X$ha@eOgk>MW34U)=MusQIX<hAo>+eZ(q0781S1X8LDG z3;2(SNT~Qt{bb{;m+1&BPKrndf-8ymde$2~LL1OGRecacn!P^ogoCAo-^3;P)4{;) zF^xCk-Jnh`mfp)nm<GixeUp~l4DX<ssv<r?E=1XhDoVV{@y?BzDe|*+1UdJ*9gZ%L zH9{M-);ya+Rt#Q@4Za)%Y1Jg9)|`zMugcoeCSD7GA-Q<bU!+#qG-PoN#)3v<f&12# z5JaN;G*n)op;Om(wPwwQpLYlA3r1tiztZMs6lQTPkR3;^nI?_lDXsi9mxnc8#3O4$ z1$6d*&EX9vq3z0#?8wZ%oHXFhh0eYA>5Y?3#IgTDc6{{J))|k*GpvVG7}rniv+eed zkimoQSFBI_J7icpsRKw+qqEIp;_Cz_iPW7mI(^|hWWH8lD<cl8AKE{POAK=*p<1=@ zSO{~bDl<GCuYE&d-)n&|Ec!pI^y=tKGZJo2iGs=9#L7D%*7`QHA;kk+(vYe)=P$(+ zJ_xANDI0M=o}&m6^|1}DIUd<VugHP`1xGQ(m|se)Z88-d*`M;w;(}ktJ_}}sCzV=` zqWBE&4>#nrbTrSLvZFc#cT7sZ80l=hNplJWzkOfuL{lYr;K^oTswMHae|UTcd72r} z6$RSb$#UK%yw`DCjvXeX2^5$4eIZlDM<r_gB3^cnMu&S+F%i@1eYsq)S5*_m;0*A% zmg^a95El!sphmxrTn`)nNt0;7Xl+wR`6AJaF{<S9#0#Q#FPvUm=|6ne<|Wi7FCVua z^TV+bn8YbTs7!oFWeY7sM?^`5{$c0{;y+s#P~mWTIK6w5k7KY@0n%ppkbTA#>b8Zx z{+KUu-_bkfWQ!(x^MSUz%DgKrOW5_<4^*~WqKcsX#3+_%G4v%PQ!p!C9>-)UK6j9O z6WsLOE)8VoAi_kGFnXQ1Y9%sjl=-)}VDe)f7*XjD(^s+r&-Sq){6_xX!Z<#mZ;Ig@ zusHjB%Qa0AFQ1`{Nw`;JTFnP>AgEmqGNB4ZxSkeG8|u*KPMpNe+9NErg<HGl-ll`T zYoe@1Ibm2NTOt;no(I$Lr5XP}Ibtb~35yt4Pm&41R1x^{{N|5|e1Dw3@wE7J!Ix|J zV>3-eCn4J!#mky5g_VXsD5**_W&%@CKK)Wow*dVTMoAiI852%N=F^{lA=Ix4PoxLi zS-Kit_~LFzJ^8VkTO2cfX!PxfVmR|X6li*o6b~P6lF2gcnIY!oDHAGH{lf9DBNdB} zDb^#QtmO`=7RqkfNl^9D+@wQuqYDQ+ALor;l#Oupm||?-$=mIEUcV8-1GH{)VKoZ_ z@lg9N5Gcze!?uSr^IP}D)9)UB-9BInbL^<(SJO1t9lDPEPaamy3VyuF4Ve5U?QcF3 z?jnxloo06h_QiL^W{WT0copi&?PwXYb`6>JEB#~L3k2$;C14}WN8OoMyTW$@Yv||y zY{VY*#@^z46Z@IWI$vrlelIPjaT<;r{&~0#!Io%kdc3`$QoS`-Zm8!<>NEM{H58(A z=GbEXbNy0R{{;Uw3VOjr_Hw?v<ckN<^G`{iqM#Ws^s~<DiNwd?f79RBx0pNv@G%W! zCYNQ&OJEHA+)K)Iy!L%<pYZnEF&Z+~uZZHe`XR#=D=#Zb_Xya2%NYxaG6QYwt?+g= zx9p#DbHbE1K{S~k&K1TV>lS48H9kn=S)7wAl%%QNc-}Ddwx5i;gjp*3K5yu=0oi|( z7Qq%3JjVnt1hs5%DFnkG&Hcg?3gK0{30|)(ol9^FB6DW-=vGneljsKZn>~p5#b=vK zWf@I6-l9{r^_<5n<hR7f(FXIm;D5Pc7KGDt8BZt`tG{(8s8-pdEXFuQ!eA<)Y}UN% z%^N|=&kO7~_EFD|$Z8V$lw96Xfu^vPzAS0rNa)+mr^SWI7v2}gqP($1)HmgnQBJQ; zM<%~+e#QNL6(;n8Ub!ch>-6&3M`-vxZ^-lv9`YrxG2&m3oN}3FjB5?%z_dhvf4g(Q z>X*y)_IDUBpV&ZgluIPohEVe72Sb#{=9xgnTF9q&JH6n08mh3-TFVC}Q|do#rgrZQ zQ|Ohdx~`wJc4UI{o2#YoFQK!CR0Z8UCpL%)`Z-m^b%_SgfmYkCu{qNMvxjurf~`wj z?{qfdu?muF&66mtQity$HmI>lc36cj#X!TIEy`bLwOGx9kZUWf6KUs1D`c5<;5H36 zg8!p_)uV&1j1K{BB!KmQ>Lc^~x+Zf*R2nF~ea`VSW>f@*;?AfqC{eUe<>Q>4R6xIW zo=1ZHwJ#>hdFy&!Lvuf(+V*99j4>cynZ)0ahHg;gqmLJ*;D}%u=XoEXY3A;tXust- z2R{oCd7vyt8Wczl;by2QV95rgGDe>7l}v$GC?x7ff}=o+02?KP2cA7ZBTT7qv&$IJ zfdlpzKd{n`acSEMN|aHrg5Hxu;>}@6!&+ak9}Q})q;wXO1GB7@$2O&iki5>zdko`p zRQ<aKLe?-ee?Sd6`p5Vg3`qBTjG)^J1Dyh{uE6Dj-HLP}`}Q~%rH=8YJ7;?kxcOYu zlh0ryd~^2U;LXlgcG5X8c;xJ0HE}WU=D2zOo)evd4ML6RLwt`f1H$Z!!0k^19Z_x0 zk2N?OFi8GscAZgsB)Imkn+FKOmRei&o2Tq{c-=k+{=oZNGr&f(M1#+=k80qne1`VG zk1RRa3KN%~3)?n7_L;{UGzKpEO!+IbiFpKOVR26mmAvP6L7XL=%2cdGVecmP=Lh9e z_u9tC^VfD4&!so~>edeoS_33}>M9TJIudAfR5zbk*fkoLatsRb`JE;574oRk6F-E# zuQ?bkN(n9qHQI4yGw!`QDv^sfy0ja}Yt@s`6ptLf84q%59`io|@i|JjL|*~@QkaQJ zPFSu?p1tlPSB78nV)Ob>njE}LkNyEw<!r0RwrUyke;WAoJ<}*~N{@yQv)1*|O|Nxr zg<Ea&jeRi+QP>lcSq7?MI$k|%ws#=*Azp4tHk&Za;L7=5>jDl+nZ2+<;ea;Ei(9uk zX*Y#m@f$l`^cg?aw90i3>c*#i@kEzyo!5mrC1b!k0`p?9k$3aJr+T53b`e_N=^qgm zEn9#arZm=CSKuS)R{m7bu6@~+rfL&xDq-??XX@qV@!HuzgEKdsnoZ1GW0k4OSWH7h z53=?Q(jxbfWA9F>f~O;WoN51~y{>JTWjB&}X%M7RfuKS~NbA>Q!*yp>Q7R7=rlZJX zQ$;q2U4~BFD#AKHQ3dkjXw3%&)MnQN&3D!E4N_K{tU{;hE9-vhknwfVU$E+|zKkR* z?7ae|byjh)>LH-2VeykbvZy*&F2|Rs$_&H6q-F;i!yK*jxMhRDRx*YFKVLo!oNQ`0 zWHMD{zs_a|pcq)53cCV}w`R<tm9r<T6I4K@^f>evdmHJ55xDuV7|Z~9{ocyR*u*Uc zz4oZOqY?a%t~zt<&H9)fpjfRo0HV;Bf3$WK1v@`U+m1(LH;L<#XpQEyob;Qac)z9= zKBd$*;O;;=ER;xh@porVeeTLs@ytX(mjOm8xXON4>#|g;E9tzMEjan>=lAJgIf<Uk zz(*BlbF1kmM$r{(JyKn4Wy0`Z-na@j5SU98xM=0!(oFeL=omnZeisQ0wA$;*P5WH; z?W<mlOo#$$0d7{W@oqKCN?$o2%+>i+$B0N<k}>pK3<7FI6ot0Z(?j5LUE((!C&E|N zr=|`s4we`BP1es}Bj=mzDk%F59OihBmBl~IezrW^*6;lt;*F7f<6=<njp-R>1v9$7 z_>KTXlmW<xvU6)6&@8_=vn667A_!Lv)UU#N+l#h!Bu~X+Vj$_ot(5qICRyQf88_W$ z*rPIw#<Kgu3soz+rH7DnI!T;mCJULFliI8N36b<o@j|*(@#tC!1K!HJEOCw}PGGMr zwOSzc30-R0^rAX&NLR!@8f+#U4L7n&8wn%2;e`o#3f7fB`m}9OXM9mZMlETvck|f8 zwZZEyY{si;7k{IsdbiLX#bNsE@aHjFS1lrldQf!OOjwFuddMV^IAb8j_m}NDG@AMX zGIGfig0#CsvS5qL3OUDp+*jGBha`8Fo<ab(j~4Krx9!Ox;X*}l04II9^u9Q)S-(ZD zSwnKnGMxP1va&fjr5hMMpL?e9_PPuCpCdt{?1e9sg@jxCv7X+i`DcIQ<L1+iq1;7U z2W>;m`)UkS+euy*5C?pPNdQ7|lnS@RH#wtTZG+Ar*WI909b1=BuB>rDU_=RV68Syv z6!%Zj2>K#LvwCZxTm>Z$&l(T`NY}h3KAIpM0x6(bLkZnsMtsoQf)dc^doKtGtDxNH z_|hl@?t!ElHNdfPWwfWB4E(h=#NE(`^<-<I+8%Oe-h9*61nE_cnW~QfOfU=45TNg* zhh&n=TDGvj2Do5=6wK5+#Peg!XFvK@>?3l``-Q_`U?gY|d-ERHe7lkS6v{U>tT6J{ z*Q`LOOVMWoV-+E$0)<gN*h~~S+um!cJsVC|bgd{>|4jwBH_hHD!rO0=OFvkmv1DJ= zmVLiNzAv4vHF%Ir@YBlGum>KXuqKFSO3GLddvqQRuKxKTo}^fC4e+2xf<t5U4qMD9 zhQ-Fb0fZA!Qcz6{TF)<r7Qj`hp05ob>}K+kRdYd?;Q^vw$RYkjiIbBV2CDygWV)*4 z5i6uzH}-(Ou07Xzq`8|JKbYx`s;Hll-OYq?RFw)<0aL{1uGu?Uq;YPVk$^6?+a!VH zrxEUsB5(z$AY9|9p>n46n#tfD3P>`!1z~ZFie{clE6a43C1LT9ta|m<VmVg2K`cTg zTuC({+W__ITUI@graD>@<q`qz^>_Nm$*2({W%-}-9a87nT%&;zetLE>Gzs2LRaZJS zkWb~RptH5}AEYwx3(+GaxL;Z#sXg`xqIRcfc0Drr9F`d{{}fN?>QvqPJppV+hu>O= zcix?ls|GG8+Lz>a-TYrn1q`eBs~}LBB8F!wV4E2wGx+HeENHCqtxFxnQ6}68eB{_0 zkXK&E07Q5NHv$aw8Krpf*Wi>yVA;tpB}{$;80q&Z-T=hKiWhd%1Yv-tgrAQRMqf|9 zz5_+eVE%&mAHD|=f~u_r203G(`p!(Kc99eI%5H(@Z9D>(t#@p)$RJ?rgdFl;twlOj zQHfk@_Q^o#9r}h!gXR_o3DkiWQ4Gx;7^_%jqDJFB16Q8kzXc;O&j^Eexn<w4n5SYE zj&bf0;Mvj<DvefOXwiQkXib&@n<l~QB7@PFu-t#2dO-eaT-Lx5SqL^k)r^3Czsi-Y z0&ax#2j@X>^rw^XNc#++U^49+60COve)jp%x~ob>{p|aUx;c|t-yI_R1L;dz9&>>k z9M}X|vABJsJ*v>elNIh*)wpcC_e96>-w)VA6P}UplK7I1u-0cI+!e=pnxGvZFaZBr z?i5Vfn3{UC2sEkl`KUpj!rBJ+Z<sNYzb}!+Ap^GN%8Kahk0_1>Ic<?SxTCYPDWGfd zqk_D$YdQL(Ep027>7XFPt2`yc%mM{c5vwz~(b*h~6R5q-3mKuk&j_fZ>JkZrO-t*5 zmd>CwqYa4vIM(14KdT}7{gm+(va+Ojur$;+Ve+K;AToN{iCy3bk06+x9;R#K^u<!x zRqmV98*y8)=z?!f1j&ob&01KOEZ(66d|7XJzRL*If*}nP$k#_|xBE2)=o<!{g}cVt z{ez&;1&<)B!@u2~z0qE7`xR@KzV2Uz*HRBfw($MF$;G7}4IKO}(?zWLwt$TFH>~G9 z1Y*F2LX!X`6bTmEJCXN;I&vx<93J{$O-U>(Jvd*;iJon}=r_W=uzEeh>en_XNWZFl zTI^7DT+op7^BLR0S*kne%x3MPzOHik2r?#>b-z*&7-Kp{r5RfnY`Ye{y(a91`SqJa zyVhkrda<j&H7+zOHFx&?iyy>{UDspkj^w(=(~g!G#2o4j(iglhYUP#!GOi#^PhfAx zEh7YYjQI-b!tWJ0aLEn?IpoD+w=WpQuxXgKFw^W$sYOg+*DSrdpPfE`PEVt|q^v$+ zW!1K=EQ%QZXqZIIWG7isr|!NzrLEy`s?WzEuQa?=2s1or)1b*O0q!N2yLCE7hpNU| zvAUVl7j60{57Xogx_YczAC$}5dGWB-8BgrsF!DLlY*egu1@&zV?IvFMrH3|sB;4V$ z#2j<L43(TP$R&XJ3;>%|62!DG-HlqglJOIk<jr4RG#OP>GR!BJ&nRw(rIujv3DfgM z2cT#V5hz&66F=(??Zf19d5Q^)*+4ngLK=-?r%RE+G0;9a)*jOQhoREFmghEIA`GVn zA=iPl>_Q&4uT(Opd2Rb$7A$az9RF97Tfa;MVZzN|h?ZH^mIJahx-)w%Bt3G?rl_I2 z{Y;}GL+}�~Y+fXIifjn7_?LJo<QIO;^9sEWw#+fr}=y-qNVLx^H+hsVS<hh>*=S z;Kl@+cEs&((0@Uj^tyW;K&|NRg_c}<c?BjRyxuktd?PaM52mDo9CSV#xG@eHUalW@ z^uFCELscZu|Nnl$I{7D0Kk@X9Eghi=ypE8w{zEs?^&v!(Tz838Fr|xX;$27hSMm-Y z03XaA|K>xrRmA|D=Oief+%1=wD?8wZI_MqkZr9@e9j5$}Aq@mzRxyQyQ4=0aCQvF@ zQV36KyyyZ|xmVBH#C&G#)0%i8SyFF{LDIQc8e@D=#A%@t>>|K8zgo!`+7_aik>3p` z<6m~CW;-y(V{Pld$b50^wqCJzbK|pWY@py9^*C$p6cRTK<TwI3P98N!7A+lOy;T~= zF4Y9}^*4hrSOe_e%`F@z8?1hBtgj!GTd)ycb;+1-sXvJk-?I}IX_Ux#vD~ySBGppq z5Ym>d{V0KRPLmTr4Q(`3(cA1!^Gd)1U2ZyUrcnA}Z&ztRW|e;Xb)tM`KP~?k>%v_y z(eJLsGYZYZXdN$LLFZiA$#U=PpsC0e?k`53L2M}9Y+Msfgv?^_b*lsW!~nygn>)KZ zx^6-G#8vIpDOkz2CB^#<7p)82h)qO<*=BdegtA25Zb|#nu*&m4NYp*FTm5&glHVS^ z0f|vZ%y1h&Uyl3nkp~(X{N$Fp>{>!6v6noT@?`(!u$NNnb9W}Gb=pt)3}2`}(gK>2 z(ens=3PyOME(!Z%3~`?)0(mPUcnS4MIli~t2W_b(-Ct908iy|+uXG-GB!`_0xb12k zp(cUD*MVhsA;}~XoY}6dFtIEE`(jm>5e8n?DX!$p(1AFZhXC))7x$o2^}F^!be=Ep zq<`>sb1kdIb|NCLM6tC4(Td1(KIUSrzXrcF#t4W?HMAoKV)9RGBziy|c#Ilyz9G+E zQZ$f581^x{o#lnki^W@Cqt~dLJ@hWYt|wo)fIrYO-E3fV>~}A94T%^8*UM_2f-f_W z^1wVW6~d6=IuUI^rdpL*@KYYZ?seLnKrS?p3|(h)nFY`C4ME_pjZb)oAVOXQgK-7O zA%qOO*}ec+QB{0H4dedzN9}<eIVA4w|6A-r<E+#U+WPjCTl2{wSf3dI0|gk;+k_`2 zJIVcTPa%MS^7XRtH_0-EQ6AWeCy^xH<g7g_xp({l01-bWJmd&*P{o6{WQ&x-jfQA3 zNMCfeN--Dg%|Y9is{hmg0G?DTUUy{z@*@?XQ>akFnCaavE#yR05_q<5`r>B)Sm7%? zs9-rH2A*y-koUHlu-5D&@n0(On$+9>L3$Tl{SSbUmQEGGkp${E&4vf~G5&nFBmm3& zHhXXi9(DQIXRC?yy#r}57y3dSYt+|XYxy~migb+v->+cdUDh}^#USm_Yq5Xtp+}}6 z^zCCk9|Z2c<jzYxO*2Xkn9FCdP|~y)J$Z&+W{I>|n?CeU6BzRI@Qty`A|eD61l;5b z`wrNI39(A(Y|+F_IN7F|S)A{OHGmkZds}hy7o@=npm9E!$pe*EgeJXhiSw~|H<Bh| zj|5^?^Ry!UwtNT0`jMM6A@&8DMPlydHCV3xE6X!05RBva1K@4UA1*lAF006Hm|%F; zkII>I$%T*Rz%o0we;K~kqR>dO{dF}%28+L~x!1E%srmqLaHysN$;Ywanrj8@dav?W z4@n_ozF4DyI+J7~KaYW6J-PL>Q1GgCm{U@YBqfPDFM$8{wVsY_fgp*qYCo6GK~BZl z<YD(|*xYQ-4qxDz_Fot{qDDq+df*SLUrzp^3{ub|=fpEDy#^P92_e^~kZfb4uei9u zc?OdJtdtibE;`9kN6AxYtOoG|LyQ=3I7zWUEA~llV4Iy<-NR#f61_W1+%JOq_CE9d zy31s~<fsZH7@%;9FVXbBAvXI%HFBn*TnymC5=B&@YVW}bSRhrAmDw1o_Mawl=nnZ4 zZ;}x<fnewG#r?jWZ8iEF_Jv{+kO{J6r|JqsDi{KQ1VE4)jP$>2_+W5d-jX{o{SCMd zT3tn@p)iemHSCMa0yK$l(L#Q%j1W7|FIfbV2XPgpzMm;CkuGiPRQKA$^ryRrp08;( z_yQ{eY9xhxkUVsYY+_t#v6b9;YnrQ!D(tKYGMicYbnMhG&H>x{4<5@;xp=k)Zq5E< zYrbZBe?~$cW&A_$JjYAW-Tg0!KS2!e>6xQ=F;P2cdkIexF}ws%cbPk685-M4Q97AH zOp2eI9M!8AagReSixvIo7^xv~2CB&qC(8jGUq63`$yDHyz+{4)fn)hFT=f*J*PRJ+ zmD$FyKBs5^*40FF)6N$X1qbhmYf4SzcQgx{#Z^auR!l0>!TWv>n2>7vi%_XwVx58( z8)TIjLf06FOz@gr=`p-PjV}?tA;r*PUnub8-^q-zG1GqmHv*Cvbpp(_W-`<sRacfv zlEIYe9gp{8gY-{Z1bVrv`pPrmSy%U$ByQO!#egpr&-1%jMB0_B$-w#a@7R7$>45U) zcH7xiu5p)RkM@R|NCy?K=%&Lb2CY-Ea!M!S+w%8gPu|`t4>Fj|rs{WlB0}Hi3+lCl ztR$OzI8{~_82!4R+8&Yw7s{h#ojE!IOYUcJ<rx*&O$HDA$3y_SyUIX@UAPTM+DSL@ z(15I5zfY?$JCA*G>5~QC;;8#BtqeK8%<GwQO1J}ApQ2bJ@s%|=fh%*eY>h_nFW3vG z0u)^A_ipwD1=I}V0#tZ67koNs7TJzK_*KHbkkX-4mfZrBfJ{AOmAum}Fx-)>=5Nst z6H*vq?OL#_EQCV-(Jkj!BWA1(Y8^hG)#-Ad`9wkrV52&u(pW9<dj{LnEKRl%)-N>w z?NL?6(vr{KcI+S`(4W)y`)A$50#(RR1kB^#)m#P^nKYXm0VL)nhu9<EO6{at0v*S_ za$zy*vY3+~c7%#3o1PiHw)$f>&9~RlGBQQ~d6ycfzE9o1usw>s2=n;`{`ImYjr7)P zGpI4ho+MrNzvvtu=TPwPk=;IFea;(j*!F6X#D%xx0mCfdA__Td7jrb%Ye>D%vMGKV z_FqtOm!p-8Ycv?s=<ysVTRFe{$wt6H=defeS3mK@h9==j91Mrj2mge&0wKjo>)i$N z3rw>216qc>`pR1w0%5uGljp)$n{Lu{FW<?%d<=1#Cc|302q#)>Xo!|c7(5QSLhb{U z+TE%+Xw@ybye$2d#O$pbp9xN1zN*-R7omr8N|4`>0!cacPHoc5PD~As@k5yIrT>K6 zrSPmcR8hxKYN52F(}=IipkuykX1c{|bx!Zv>C(-lC3yI_ZeH)YrgK=lHTx5|n1a41 zQ(<>d5sjFsuO@=?;hbVTJk#r%KP?{~Y-)3>H(;leN=A2PDk~kObK#V}YKL!H9J=Y3 zwi#G1r^o$3G=?9!?CYgC`<-VsQvT?`(*yAp?)r0?5C4Ju2m4iKtIkRaJfZc!l~XyX zt@c;ci4%C$B>mfklCCG02?*&0DB-I(B;!avzCGj3&||NVrzWK(Nfv#e{K!)^>~f^; zLQgKCkFO8~UUjzFRQC2Uc@bOh0X*UuAcPt<f0GbU-C8p6?E$?_u5&qfoTG`8AEO)& zScM!XvcU{A6xxuQkB7`%e}WqABzyIofspR6K+<yG4Dztzo7nnuD@>8Z&ZoZ<)1N_K zN*+FD7uzwrXRfIt2@AD0YXDkwd2#l82)$&o0Gm|tHYjfX1zfdLu}5m{lc+{($JG<z ztt4pyhIpr?(_nC<i)T5Qeb(Nf02IH<iIN9b$q<2HR1<?`z|PF8!d}?1YplYyOyG51 zpJbW~er6ixJdX=0hP@e<T#Df1D6lwIn6@nymD3?BDfGqYpgj@|j6N(7^TSr`+<<2Q zH2%Ray(ZyWy<lkshQ$b4nW>;avspt65TCwN$oaxoHxq&12n)~^HHZ+c%u@H(O|7au zEm4w?=>=hgiYGj`mIW7PF=$f`kG&Qs>A6!tiPjIpSMQLW(2D$pm^*9oKOvqJu)P*% zAl16n^-cPo)>9J&-;n22uKUY*mtgbZpr1GtQ`lz^ezUEek@E1I%~6|Gt!pszBl=t9 zmmh|Fg{L7dZvtW5EDpb%W{&vJA-AUIO`rC%sN$u!JQNTryP4pE!t1BrF)Ia<t6Dg@ zywzqDoWWesTDVa^;UwcR#EOtB-Y-r39ntot#m5a7-13wSxFdZWePl7Xf<B*_V?%&; zi>aIwNaf~}i>p}UHN@CT8oizq_=ab~OOxa78jQyNv0rH2iv2lIp!^(i9*UX#5I=%p z%R4);53K`|QgDwU6tt^aX<^>b^ASp^Wl9%o-}Q0N?M$A|H4oZ^F5?it)a3aV;zJKw zsmSS{M`GXoe@4YpK}Oy`2FFSntMt|1u2M}1zlEl6{O4?sCPwB#W(cq$Y(?Q*R#2s+ z!#p*1?~&|F@Rg6TuMe8YCm`}qz}~ol^e}0+FO>cun}00FARr8MLrq*>8U)Iw9qX%| zmQlC}i_D~d0QvbnTIq-lHn@gCe*WTkY4-)TaMdVstZ>D|ei!NLv1P1sbLAu3yka}> zabW$Cj`TyWNHaqehv$cTjbmlDZ?J@eQ$mRza8v`*M1B~Kkt<u+c2TA#1~uu%8M9ZN zj9eY7NFT*Qlitd`q_JU2`-KEI@b>grJI#Ma`It28656xr8H6$t3CC9m#>gZL<O49N zBe7jdiNcp=n0pF&he`DbI>nIKf~wyN18ym<cl+}P5_p>1f_}f7Y*FA%`vS0ZFjy{p zEqH2x!cSHUV0>)R{<Uq$zFLtRyrf9R1@fn`mG`Xx!{-}P4JQ;&bu|%ynY0GlkOAzD zF_e$GA=N<D%sNS5QvDGVKwo{rfYO!@Y^FxJQ$PEQO8J`zxw-;D(=^k~gP5v%L&>wX z2Uy!CfUiLfa@4e~^~d&KWO>e)E+y@zZ}V@_kH7#<#11oCH(V{_=J=RWuzL#vQQm7< z5(h(Ce%ltjKrTd@lO+UjL3@00Z(j}Wwf>zRUYsqWBvH{(o&>zP91RcdjG&yJoB|rh z@w5O{3XK?W-_}Zw0@qXW7>588F<QvVqq>LxFw^|Xn1@rf^y7<wt?U|%H`$@RMF{a9 zRvEklXVNhu!Oh*7JGzo{ky^L5dH}o{F((8K&$CHZ;R)gac0M0FU`px1^Zh=pe=@kT zc>{tV2Z_Qax>@ynZomMPF;fvuL>mNnal4!yXuZkXDlrr8G5xTSG8spL0Z|0)6jL7d z!u+^40E~9rm7ZVnu{C>MywK`p!@n3S9(}XyslR}^C%fT^wupG7jB4T!O(P4fhs6Lt z9kkWhZ)?00$U1PWilqV2fdO!->yjWYmrDPg%pFM*O#t$Dtf@Tx^IJ>fdmDc%w!mvZ z0aFMzgwGX=NEH$i5TO8LzgKHE{%b#P6?DJ+9Z0XYydrogQ$&hGo&U*GgDgG{4054x z*2s?5)q>IJ;FVC;^*IFDxtL+F8rG(QstBi5OaNFm!wrZ0PH*Ut>HW_DD~lEaVs|g3 z-H%>pP4fCeMP8gd0T7a8*6Wo%i+X+`gU$2L3<3z=YQ7bp0HW80tnUYoR2pST0KrQG zaY*`L@2%qMAQvMuIfE*O_P|xm^*yz>qDYD>KPP>g-SaC^0}gEfg$XYIv&M`XS#WEG zKlmXFZYT-*i6p%P@vFh^-xQP8C?mUP+G3oTlzjF*VsFjXQPvwOuL!_}9Ls2zzyZYP zy}vO2FG%MB?Txea`VM-xouqk|+iy1tj1_<Jb~0PB^woBw;G^AVaK02w2-MlH&gZr5 z+Sz!KoN`Ow*(@s$LpJlDs%^#Azx+nfH~9YracKrNh<AZrjYISofa<xfkh7IYzaOB~ z+i)(T-6MgrD-tU}RuXDp(83uXDsiEH3T^<wGC6X6m|;JDtaT9F{awMa<&kgIrTmN8 zw8oXBg?z^@N;FVy@!cT)5wh6M#dy!f_Q7Y95SS%1X8{1$b-9S~f40W_Wockc9pqiM zX}NoY@~DTsI;hXNLJk~d`po-SL5D0hU!G!ws=Q=7zbWgC)|?LapSQg98j_G?gy`GJ zXb0&`S+{h|y^qgl8G8<k=Zz=nLjj>_3}lINOJ^}o!c|{8S9dI&)_m*CV??x8{rk)Y zYcDdvq~5NZoWpziq7$?5<Ei#OaSMz|Rr_#(;`MX^Hbgk}OtID14Hcu(!lE?<_zfYj z36)%T$cm7T<I4-X^9j$#wFd-;b^{lSB(<>yZ)?{bT0VRfJ9!ca113lBLk-wF9Zytl zQ<m@g58U=+q+Q*WMo*`=Mco@$fJe)aXKbx4uX`pG+65#g032Qme=U7=$K%bc#!UvJ z(qy>;@g`A|hvr_2KM-rr7SaW&YmQZpYLz<AzY6%i?CQC?YIf;+`McB$HRGobFR=r; ze*b_<3HfCO%=BWwukst30Jbs^=It2M<@!Zo7l%$Ml=X2^XD#bRhqvoKu^1f%XS#pd z+Lo3ForCE5pG}u)q6gf5KT9Px=1pkJXc;#*hr=Y?C0xsI);R&#vTP_ZvuO_!!!nn@ z??pm_Ilh|f4;+)B5zFtk-9%5n|6zz2&~NneItb}ROusJ<c~af+(SX>R&GDc6^ikc4 z21fd@oR;U<+VigiS$VVG<t8WWa{AmL6I?SfOew`7$f9Db0_;u{qm!-4>&84AzovL? zHkZEU>!8onb`9Vf4rmR?t>X03)XC?xc!L|+a>|XJ=~E95-zA`#e0oL=)n?Z%Fr~Ub z)D39*D@MHUXNtvd3_`#w%{J_D(*?Q^C9RUlGdkSw=Ors|OOHHO1QGwev?u_ddLSEj zc5tkro=d2hW{SVx{PB!2yncNLQk`DdzrJY$!wZn?PQJmmmT1u;<M|_=CMe_<^5w~l z>l5is9Wu#%AeK{%8(*nfpkT!e|3MyUl~dU7%?}=bg{{aUWjyU~{(=oM1~4U(z*Y?4 zU5ALR-HMKYuB59aUe`E<3ZMi9+X(k3@0(J5(JH`-pdURZo$D0GIgVuRPRVBLTc{y{ zr?=okxN<DMM`~S>mrlvJ7J<7yefq$oKZfkQx}pm$p-O{NOz?gVL7OTATQg^E^GjEb zpbC~WerFvA>BcVL+|=qe%=p<bgs(@*^SkXi_qd8t;c3mNu4E1-pcx>VazC#fiK8wn z>;6vK9LkCZ0FaB0*{Xr1)#K#_Of&vuU$PM-wLspy55T(Is^5K$(j~sQs1saCU6cV< zLb#N(rj^+#9?&8HjBT`E=nGKtT!C+-7QLIPfNqt1&bKbNL`E2<A03txMU*?^g&^hu zm*eO0Z3tBF@J*HX6FK~!`QDhMqwd-)4B`-1$0+g_JAkChRQQ8p(AZ*g<;jsrCJy%D zMGYwME=L}-^6EyjA+Ca!N$CuU<zd7H^9x!1wW&5Yh6+UF50;mV6&>sCuDyQ4&A7jR zAm{~68|9xp9TsNlM@<;YJXje84jwPP=96vC5`1wzQvR;tik)k5x72G<X#HI>OC7T& z_{cqt>?2joTF8=hcu$dPT|nQt0$`$Fo9V5N0>N~((o*^V&O3ZEjvJ*J^y4uQA%+BV zibicNmc>u=d<Svf1Jg#(xxC@ECr=ooLP*~d#j<`xW9LDT<LI-RsoZ!Wy`Gt`Jn1@2 zrM<%$1)H4&%y+fn=&}$`M|zFp0tLI&SZa7etS_47cgbD}LS_6HKYJ>tq~jL!)Fiow zrbXzaX85BH8bAElmUdS!2`%haNlzg_o-#P>1^syQkSA>QZ{)a?xeTuB(WW@L_Dm9h znnXk{!4%5*0A68$_<oW2f^WRCgfGn|aMEF9%uZs;{B@PW>4A|XZcMUw!R7~FUuucY zpe=p69_J*Ut3Oq6ykrGQwLuir)To$35157Z+;w}al)l)bGEQ&G<XJN>&Dpa0`c0e8 zUoCHo0`fk6<%n3aibF3pM{SxJF5&4pf2MqS-B<qVwB}uB#Ql^tz*B$e0VH>ikvQVd z`W+f!HZH;rmq8l3xbA7q(AD}`qeN@eAc3l9%sQ&h*Pgx@u8Z;#okD}y{(L}S=XT}T zRMVee`3oSJ0iKj5>XA5QIjM2cecVVyR8y<ATy(uhwZ2Ni>pSGd2}Ejf+T8ir##U8x zC)F3-!IZB(zDcM_0)CECxu1!1JJlNK3*4Cd|1{(<{XVOU73as^AbtjMN^){Ptx3Xs zdY$&GnpPPgKw7g&dEK|PDq3vcE0$RSbm4?>YSM|!UE~dTHmk#D9xKm8g{W`{&5}CS zJg8y{k9|0S1n6VjGSceuWP@X#7_bVO<r*w}NF0GJ2L#jvT-Qi+A;&(DbrKRlfL(P* z3$Dg7XF$jmwxU8$UTBcz3r)|y|C(9>ummDPtZ?llBL6c2VAB&6M`G^%HY_AH-)IoK zNyiB*G*H!kngs|HoMV9eGHOWS15=yNzR>*tKKSCs6F&x^PZuaNU^byUQ>7>uaX<C8 zlF9_o)9)+w&mm<D0Pb*X?Eed52>RJ+QvIdL099c+;YP!~;NFsLc7(eBg$F|Ev~WY4 z3qFo6FTkeE1B<^@FZacbkx3c*4j9It!&Y=dM#VX>UXPdGo0v7?D6O-Gy@7)dx7y=D zEthDpC$Iity)D0~_9^%!!1K8`9(v<y2m=@`2Hl}1J7-0&F~`KO9uI(j>|xdYW?~Q@ z=Z<cZFB%&X(w%ALnMsTVC|I4=ia$zm&;<qR+*7tZu#pDFLED@+t=Hhi8}OH&b;}m) zO$TzwH3m7?**Zq0p-B#)`Tuow=J8Oz;lD3sY3wnUtZ5;m&?0N1CZaULjD75htl6^f zG_oryWsn*SLqgVJG<LG@OZI)=_jAwpcg}ge&gs9>%gi(LJokOw*XRBDT-&fTc9)^z zr=Dv+i@_{Kais2|7LeW%-WE;IQGdY~RZwvNg$0=x*eHX@AL#Y_uLrHuBEV7`33b}; zeb$Jonzk&G#=q;wFHF4m86}ACV#VeLKzqBJ;6F11+g@HvZxFj7CU;P?#AYM$V1~bB zqQycwN8G{h2$Y#6fByh?`HrsULMne9X5qBm!nAid{X#Y8i8a*iX#2|5wexF3A^qs2 z3e%`xLg-gpzP{8sL86ujput074FBB9e;i^ePSZPT!EPkCtuXfpl-V0knB{4DVUSgh zR}0M+H&aRmyb<JnWCm#b+x&IoS3XHX8p<ivs{Q<*%prDx*A^fL_6Ln-x|F?9NSOM8 zq<;H!P$LA~V|5$}r-v-oaOnKIh#b0SPk90b3e5(}>-U88^f_RUAHco~jG?d(6+zXy zV8>~G5u(fk!`>%f>xB?A#G}g(cqf~W6lHjGqpk`shj~r+jRh#0#GQE>1{xDOFe~HJ zypy}?uN;Jr-+Aws?LsfpgmesNaU21F<A+}}q0jd(LK1|3ZVfpcYt1|!Efp>=lN@C> z4k~$PUpMA0_vhbv!<2Ji0vTUv%`;vWyOkmC(WkOU!}%m#!<AIZbS#TPYalP?<vqoz z>O1{jHLKW;&O<hT`Sftk?Pkg^q0g#xu&TKhW9P~isUgX=P4{&em$1y~XOzAMlJ5Sp z+XGmU?}5D%oKA)uc{0#Y^jahtS=HcZF$Q{8lg3E|@7p_$y3OO6F+w09*}gM?9~Ro# z-D7kq`S_xwNIHdm#1^eaJ9+Qg4HaR9Ov#m<AC?@a73LJqf2?rZ*&d<~yONgB0cC>a zTHX3_?KI5SmDcm1$(&3|@jS4X#O0TG%u^nY9-%B#ISjPMhh8*pRaP_1RBq?%?QTp? zao{0+1muR4DZJU`GM<js*b6VcmFOj$gTS|K(ILA^qgjbUH%>zzdsKV%YpfHVl^~OI zk=YAxnB+fRc&k9rAB)V&*{Swv>lqDj|AVPLgpfLOvr+i_S0BisPq)+Be`85Qk6FC& z>k}wf<;+<n+?QuGhpVBa@vC~}FEL8w&F#dCG83)e_V43GG7wqp7-;m?_)_$JILF9B zr}##N>8I`8K<Hx_2OVr(;X)Ab<3V(t4k~po0zK`gUW=W3CiGQSll7?E*@!uiINkbp zM#7N%PwXc)^bP*qb=}xbs62Y@qHaEKlikd?1Q`R6nVX~Xt!w$Cp%}4pG)FJ-(^5qz z&onAoGZ+Wu6GO9BEHPI>+R>&GWkF`}M6gJ9t$MWJX(MQ~Er@2La;?1))h0x<3lsS1 zT^<s~(4;Ak1PkV-Lq1WgCFF^O{h%m4lS-w_Zoi0T#B<O$>Z3enSvPFSvRC<(zmo1k zq4@eaNE9@zX2-)9WDmJ-z`$B@K@&*a`_Q$&CoX<u`~7gFze=3Av6Gn}dHl1NrPI`k zU6JuDC$+&VHkcWiwi-k3rZs_ogk}~*c}6L5OG#~p_zd<R?tJg4bpN<RCCl)dAX0*F zK;lJ0CKzDKvCwVUKZUF_mY@WH{j8h?lnDNcor-uDhVEjejTD!{*xLu_e)pTr=3kaB zycv`+8av#;K#ke1-Ys*uL*x2c!*7QxA^(F!%RE4T0#jFSS@Ff%L0=t9evIX05@6dB zr+12EUW0)i)drXL6FmhT+O1CHW7H~?H+q3g>wRPeIskC6LaC3B_=e8AUH<7JJ@m1u zxcK9MZ%94rK9drTBF>-s_~4{gSCYeFn9bs%KoGQ+1CLM!z?l1|R8RS$17o7f#&9_L z;ye~R9s>Mv<6jOjDm~N3#}$^2GRRv7wf>pmVDe)0HtJB1c&zIevfjKM1*Q4AOxV?W zV95r<lv2Q@dXur`nemG@nqZ7#p^z26IsOP*VM=W=&Gw)Ac4tDN8@={p8^$HTZVfYD z(Pgy|YG+(9l)o8bOvzWgf6EAaP~zcl&itP-=RF&Kr^KUZojjLUUwH)i!{7G<t(ix4 ziZP;Vy$aM=lOhaBJDEZIi(m{#y$%qhFwYf^m|PJl9fbRmI32u~CYbYC-)sUfRM51t zx^}~$X0xJK$utC<+kfbrp1#Fx&Bv}?af-rW01Rto52JSB#V@NO17Lp*C;)_5ed3v5 z%9nDpdlj~aJ!S{#8J7vrDN2~b6DbDpAFx_S7(g(U%54L)mn$OpyAjF{{NkNHuAHF8 z+ITZcb}B}pT+9VcOHGq62SU{rP}u2PkxH8Uf;!-7p^E+xrPl7w$DVo%bRj^0%hH0z zXsRfYkx1&0%%WHY)y{Q;9}D6sDAb75Khn!B7{p!_i7SqT-226(_5e^%)N6%>R#FeX zw;y9F^GRJS6+KGbOG+hY%C=#26OKC-V2#2d+Y)p{m=?dj=mDyfZwNJS_)p+Rw|Q;= z-hVz-KSRZOa~zlUbGj`Uko9hI{xv{U^frIEDo+L~v$K-+j5p%c$Bl=X4yARFn^gE2 zt}fB{RoZ@(q`rVIp*Gs>VYDd{1GGx(A)U13!p2*m#Q`MxtGo3>+w)}c@^$Gs)IaZ# z9Llt^J4nIhs>D5L(?<ivne->2TYdD!dn20OotY=+ZmCBP@|0EC<_TR36$ON-lAM@v zD0Hwor^IJzFv#Zva+0%^b8Om^|NX!1x<ch1r5pw%17+DEJ=e(NG=sNcOpgbOiC>9y zFs7QZn8H9lzcuF^>mH>sjGhjqRKZ^B6tBUMtzIjX8}g#RL-#@!3hq)CBqeT2PlybO zYw*%zu<@GD*z7iO^4S-{_l*eUu(YklA3|&;d15fCMBTOdH-iS^Sc$V<eg%6RU*$#& zEfYPY?!<Gyk~(e>{K<J-`8r|Pd}sfa+|G>+iwS{;IpM<3to9(BAeG^U#L!J(=1!@l z_Zw8_+~sKfvU~R(a|chtVE?9>`B6lUtcWd^Mo{}YXkvD}eSs9;ga!KZGigP0wa1mZ z6uUPJaQohwdA&pW=;u6t<qa3F{GvEhn5k(H%GtJRSnRtdY-poqXA<c(wj(@biC3Km zgIFD%{1z+a?Bm7rwgo2%-dwpUqg7u7Mxdbwrg_J&qfDu}9}=?7@gk3En(|2vlXfxc z;@J3qe$RrCyDdlR9wSXBga#ROo%!&DoyVkQ?;Iv^uVOXu4tn}AEH}(l#J*|7gc}(g z;Z;5QePX-g$Lh@RH0>PYIC-cJvNERl!s`Y<cmZE{v7`uzbOgb#4sLHb&TLN>vUPzZ zzH>HzAmYF2cRY68#*(8I+)vsXGCDEo>N_5VU&M3HiGw}}FVl~)N%07}bMcNQK->y3 z^$jW8ZGX$QTj97+ZT{Q9u0n$;;^VMDWlf<MV#Gvxy?A-;NX)xclb9x-O$kH#rnZhU zA^%xAFdo`Y{^KQiRv5<$OQwdpt-g_V8C}^Q>uK2A65@Gm&!Z^t-56GM`jy5POZE`I z(a&1F-2aJ(cxh&7Np~UsRUzXl;y=X@uWrSp>AQ3*^Y1EVX^g!7z1%^a5*h(iE;kI* zzDnZK?!Xujxa>K<*1fP_W<mCG!DS71PipMiqH4ZD$ErteScfE{#rx55=ruC^j&Cg{ zDYwcug!o%=xoy<*h$ryIS2%g^{Po;Jnklnm?5<2*zVer)<@~fiGiXEFkYD3ckaa0) zg95ZurE0#8aA#OVcjHHd#%;Tyy>#T00&%{eCmKdKk-Ni{j|_nl2Soh>ti9JU)r)1m zA~<YXOKVh+ck!N@cjD5VO*cO1rnMXBAOq5cGyF0)P(ZGZ6l|q=RrrsI+09;~*|Llc zRMBuwUy<*_0{ex?=uAVH8|~AdpanlJan9MZz+em|CKMd};>IEM^IQe_v5F-xgAuHu z*q@A0)7vyUh7>>q4D<fi9T<&zGpGq;nvwZ|$T!33D*X~Nhi`LWkiT!;L|#^k($y4? zJj94BJwBI&Op13@Br5$*dhJ?X9AB7bL>rQ-W%&(-_cz?xFpG-DLDBNa%k(zV52l&w zFl4c=zVrCq4iY2_TD*5^3}u1WwaAg)a*$}rxXd|dn&kV^G~{)_5G{8drlT|m@O!F{ z5`3uZRJt&>0>{Ki<_NUYz&h-CxN8?dn%+vcVVrtG_y8(n#Of+2-TsHr_c!XT5;Zcc z#%>KZPX38@vZ|fOHU{&!7MDdSP2Cjn&;iKb<uidC$)SBXzk#L<<|jVfqR3!G`y|Aa z{1PI$bl~G_r>vwC{%d-$@U1CIs}m}@c;Wo~m^8uu_+yQCz(g>#DSfqPkC8+!zY*f7 zx0}p}&y)5^=g_W`6p4@%LyG4x1?TjJFOfJkhiLjYMV%FbBR_!=DT=Q+>0qRY4Z-pF z7)Wv{=U=tBOW!UOorC@K`{y#&l~N=@4Lg*P_(s1dlgX^_#J3JUAjS^zD~!utcF{T% zyabq?x`r_>U&<S_3;V70_ip|t^Zb6ArKC{?23Ybf&~UUUFe5uEy7vAiJ}y}jADi@! zElJ!wSV$hc*NluUYd&&9kl#U<KkBwE-*8+MXZbbmog{GZ(B1P)N@wNTh4XnNBHSxf zbR7l`cC{GPwq4zR`pPwi3yfIZAWnXVYsf!>U8QE^y%-p-k~YU*yM*1octe+T`x&LY z#L0@9!#%9{5u)8nQ}uYin2{=?0q)T|{UW<=r4a6{42<sUL4`Uj!%rUL_6T>*W#d{> zmte$#Na<*Cu?Wo+U!<M1ED%2Bjl(VlvE5`87VlXz+o-Yra=qs<%(+yEqnbviSyF_+ z7@^l}6h{B2HZp!QHdm_*TUK%RYAyEA;0|CC{B;`=52BP}?aNWGy~PsShw5*iDY*28 zVO98yc-^|H;blc?mHyDvU0$@GCma?@bMm)7UQB->a|so6>2Nt-uZf`hzPYHU*$oi0 zssB2iX*G<8X%Fgq#jVbd?Mhg;MdteEr#W}}>3{8y%iS%hrrF6!{M^Di7WDJCj3(-b zq=;7fMoQufH$RW`r`6X&Rt(`AuqUPzxJH`BQgd$c1sT)O&ExHJl5_Vn><0(UR8h`0 z1qpipR|xwEy#cFwh;uXvSit_`d<G8ZgUhdcLk=1_KessWJfksF_X{D*@EY*}o<GIL z^K<GvEtFU8y`!g-rN2qY1q3)+|NfUQhYv^O_xmf!7u>n}<7P(&I)J+aXbn8Wm~6&c zNJ4EVaOeu={yNSxdwn>lQ;kWk)gl5R?0#;@(hZuaU*jn}4sbY-Z0LbG*%ps8#qsBl zOAjDU!>}>U98!Wt3TE(D`x(!9rX$FU`+O*((DWLnDJL6EBu!^B9+{FA3FW7CjxfK~ zMUH;%Lo>pN1zZUSjh}z9AO(Ajps`U$n4gl{9|(>dUGG&Qvfn{DR#+*gRO<1J6-L-8 zz!Pw>|3k6?m>qM&96=*>GQ@jQba4+7%#O7DhQ^=jw5%Mjx5A4^ieSJA>5CaW^YRKS z%-f>pA{h#tbaHGu*GvCEsx%V;CDr3hq}reXmWX#y3)@9{SaRP%oF4j)fjI&USv;bU zaI$*8#qqki&Mk|f<{@$4D7Z(u|KFCiH7i{w-k*cF0XV3<K{<{T!ey3X6!xJ+qjqoj z!>1I@j4JX2lZMp`-P5es0MjRB3PiI76nnu~#x3oW%erIGpw02j=YW{Qt>EgowChoa zSC1gqnHL8LSe-Ob&xJq2J>SGYzdbIw8x@Usyxjc5k6(*O#q+*Yb`$1Y#(F=DSD-RZ zp2M4hSRFnFlcY6Oq&HEtI<N-YQ8&9@uz>;guz72F9{X-BS892%cBvHbKi82K398k& z8~NjRUnuGQ;Y(6~0fm8F<nwBqedzp6U$UZKwqChT#@w^uf>KX1=81n749Uw$4{6_= z36-b7U7w1X_|}!+M4>!d2tIru6`WzKHdQM2p>@{2)Y#*P|D6s#wS}Zq61_v*3!}M_ zT}*I_;>l-DR@CGWZy9`K`A789mwhP57S4?`=qA62yp~@c7D?_e8YmuCKqlP(wj@_< zBo+Rtunib4yJlbcRe03yi#luHvb8G|F8r7N0*~9`C(L{t9{eVkU0Ok6Ui=jwSx$%7 zSIO-w+hs$FlQ6K9e5`IjX|d~87?k@Oq`!$i-|Xk$uvfbb@AtL0ON6Py8X1{Q5}&N+ z$HVWA1%rFAFU+=1u}1-_Cr>?IaM{mg44sSjUhmX3^@hH|?cPtG96*C6hsmczUDacu zoFoSO>&cEra!L$?``d00VcUnP8?g)C4OD(h(Vsl8mqi-f>%mapv-~{r(Y8wc7u6{# z$+yCuYueXKcZzJC{?Q*41+g&y@O3EG^soCxRW#N%xb4~+Uxj9R?0(~m&0?8tlnq?I z<8&vp3Aw|Ze6`2>pRs&bMiwxQ%H7(0LAwFh9os%}aJ>0Dl0Pb0{sw<L2Jj2kt_n09 zdu^t_3pj%~=PzyiMjA4^Ph03p)6a+Hkv5c!BsH8n%5$<&4rN7rImX~5@0CQ?qs6+! zn&a;nbLQR41zAU*55HdVoBR{oV~w_kORo>`t(p76o9)cM{wKgh$XrH)Vc!`YP3wda zBV%K6t4<u${)BOT4!`}4T0$)C!tjM8?vwSe2a-*)aV~T6;nLD?-FrXtGNDv7VK<~c z<Dhk)T`NcQPGK`^Fcquz$40~oD%df18iGs^DHMMsbI-FI@}%PgQ@Lc#^5&fD^15r@ zMuj(8g?4<kYgo_1V4>IJ^>pwc&-0OI#HQ2PysD*98arF0i9c^vC75Q~!;-vme!t80 z@USI7HL9EQ9xpeJu{<Fp)?%e3&0~)+pL#)Sjt6FAFx`}A7Wd@K`>kc?b_|Q1{zJ)@ z<1OFw+QP#JO0|UijW1*mo|Y?l4`C+Z0hvdO1E@vGIdVwm%Dyt5ZXu=4#W&;=qQV?L z|Hm8NviNOa6U|}eTA`~?0A|-O8`(cJU>qvK4aAXWUWcx2kQdxCibrN#=aGhI)tg_E zU#?xGSs2<)XX$eush$5*(d{cQ+;3PjWJT*UHw-<=J>IsI6yfn+GH-os{7Kt&D-ue; z1r20(xZl%uIB;Y|LuA615DGJ|c)#rRKGS+mb<jR|>l>6jxP4(N=hu-(t87K8R_<i* z*~<f=?iD`NNJFqD6<sa-&lyw0ik?P!T)geIv$Hd*fQ+ffhs8b+??wx$CadK5FNjRG zrwuge#&$rfL%#lA7-q|<hs3wObvSh;!kr^!v-p@wywy(b;H_ia1Qi!pt@G19F^Jb; ztdCQ~RW00H7xT?D*Cy$K+bu6$+cv?4thdhm8;Sp*1p7Xl-0;-#CdvE<jmAY}cK7z; zly0?j1Dkr;w%txP)U~7Ab{ZvC@zD1iX--`Vf*g9NB1@x_9?U^+!@u%qQI%3aR0o#Q zY20eZ#MIqW@2%f8TMXIgGp{6F)WRt|Ufxq*hbjr@vbYP{=OHMTZ;8hP>NBXb4m?OV z^?adPOwZbyaS!IarJBBJTV;xt-$j~2eZJ>8bhE6=rTvX+O?sLOF@tV4tD-q{x@*ry z-4pVt)bzCuio9wuYH=Luii;7y#&3s3Nq~oHr(oh86b`dbpK-hpaztN^N#koLngHUi znGhw49O_~I=bB?eo@>sT%bv#`Ken}MIuxdm(<JQ8FwW_sboPTK9`lgVHQ|1Os$eX8 z{Xs7fWxl?S9j~!|VWgEq_t%Oj1P>BU9T_qbG^gIyG}gZ51(hw1c4`rO{vSL|n!d-g zGfKaJHKR_b3lJB%xlj>w#1izWr#2$Vb;GG!aM7#%%3I23w)}SRo6<wr^i{Z(1O2RF zFi$X4@~^MF&l`K5*KrS+>MRotC=M_>ozCf9A^h$*yxm}j6~+OD<vyq!$4_GkTHe>r z9a!l0J$~#hu7-eZ+YDXJ(N)RO{e!7Kx@hQeVa$^ChHQ&2tMMvg^OLN|5HNQ>0Hm!A z{CKc8Ggh1g5$@fo>ovZA2Fb7k@UNPqr{PMBHPf;s{3Fyv#gW>C&v#00T{0uTxfVLi z1RUZqp0MpOa<R2i%UwyDDe+`B-x_a@5gBuGqN!7P<h|o28>>A-`S@uRXoCaCKJEnc z^D?>`=(l~dg4Vg;!B=5sVxmECn}We-Aw@M3&vZ4j$ve)O@ru@Q%4%Z`U^r~^@Q#PY zqU^ps1o^~RkJgp<ASwnub^>D*F7@1miRR2_PmjORBQ`y1>v>$l{8M(!$SX%$p@Hnp zkNT<lql>(@Jn{%HG6yNvc+O+Hd9557EE+v_P#E33{QknwZtHP99%_7zb7WH1mHCHw zxRO!GbBatN+Y6_B&~@s>G|s<|H`msR_eEaY@=htZ6+WEqp%J)Xv>Fb@X<hqemB1&< z=8azuG1YTlnV5iC{cTxPzf0}^(EGtbk?jQ)ioM_8OpP!S!7O@KcgOks#CG}+n0m0^ z5=8wmRsXa$s@E6JRE8f>hjDbWl;520x3A)P1tAl#x3pPP(m+2jZ8~@4t=y`tOdU-I z?A|HZD^PrFU^eYIKY+#x@XOx3zNwHeMDs!DQB`-C9poC?>B)YPZ6*-9jBKd+7ANY; z%6a}Sj<mECGav6a{X_Adgi7B##dxZdOB-O;!%g-xb`ErZ#q2G5!S<bi-}b7--fQUH z0ks7IJf1dByS+gOq^1F+v<9PE`ECRH`<*W3q6C*-0J-j|mJth5TNJJXKyRUzo%}W) zr2j3fZw=@;v;nd2I+9&BXgSYJFK--U3eV{70-i9gQ^~((I|!@!dQnhhcbY+t>e1Qn zSAQQwD3L2KJ*Ty_aZk%-%1=8xQ$~iQ)RdXIBJ^(#7NY~|s+7WXs}G8t7!xP~8v%w* z#-KC#*q)IOcpaY+(==Yqwi0w{0OdJ=vH<knG#Eu9jGQ!$J*veXb3YX^q}3S$b?Ch# z45?!@A6-3T$GL7qv2BpzOiPESiXNPuSDP*>l+6P?VyyU1I5ZZA?orYsgDVSk5q0lF zuMJM`rd-FjF?EAl^Y%d9Hj36#%f^7hfPuXwGugNQ5Ti(q++Bm7$lGtDK<^ibeX$;r zyxqmXt@#XCrs^PFiTxR9C%AM2qfq^GO7dRY&=!-|+G1!kxu#wEzjmm_nryQjnpI;x zZl;$@8-%rp2G8eluH2n*h9PHdOyC4b+(cW^mm`eM77V~>zHqCFB2dd}i2ougbJjr& zsDANnkAose7^Bqf#Q&cS6ET0r3;*%xMdrssi{vm$%evi3d_*Vr<MpR1Ydav%@m?V? zcw~&H6J>Fu9(>xhz_J3?WQ40p@tp#GQEPGIb10au3kKT%H}rTNT20uU$$t<ry35cl zt)lZj4Mj|QXjztwKK;rUj**A|Ri-#4{Pk}Snu?FScgVwSzyxcqf{#NEnPj65?4?B3 z<*G@9?v<{^enLI9K)y^tHdn%yZ^%EUCq`Ma-5Ia(^?OULHdarQBf>na>^>IroeOYr z#X-Z{g&blPUXs-u<9hkszMT558>=E!US#Fw5WkGi60Byf@3OcgPL(~K`gx1l6kcz~ z`L$nXiPWKtYdwM(<c(+CDTp6l9%)({lZbrw%I`XXueBkSbGfa(Y4UE!=iyfLocvQ< z9cRA)PH5T9{kUsvGwcvEnyYGG_8s=0>*6-7<Fgj%VmAEiA!U*a<Hz%I92``Bnf(=z z6)0&<6kF{*#%1>2bpHbF#K0Fkz0x^--lH|O1_yo*OCrC;-ph<S4Dp4tm=X0-n57`A zNysWGUeCeG);H&On=Ur&XJ|$GxVJdvggY#`I7uH!636dGK`$4AyBlABu|H|lmlgT@ zXrCvU!9G3gl5kao%CGUJJZXKS=%t1KsUwYhT4LWA!bk>T3)h#Jy?xlSu`%dal9R0d z?*%UQ<q^M^4D<4Ro4pOR9t<!+-pNzu1EoxcDOWU8Xse{veg9n2carwrS&`}!*x!FY zQ8Ue@z5G-MKg$c;NsZpzNJHAxAs*kY<@I$>$<L2+q(=;?bNpMbzC6tkfqPU;V^vEm zpYd(}8Fkr6mYIV?df4&*EhVq~V;>!mn<|)FV63m=<9Z?z7FS}$A^9s?AKY0P*EXQ8 zh<3sC4;8NyD^gEvV^$Vs@AG~wm5X?_dU(O1HQCXtrtV<QUB-mEVf6R^Q$`N{?=rF@ z*|Eal*5Up>SHcSUwdkVP+LJl5Rt5rZa!JfM5E^eWkH@<wMj(S{+ekbz-Jsq>eqftE z5}fGm+xz+rRore!1&aSruB3s#xjsI&VR91F)rxGexN}p*L0u7HR~0k$!5Qxl#*-EK zB<sGfUQ+iK$*xiZ)*2=^gL?J_DHf#>=U0)ky$g2E)|<|)>*Sc?y@*NvSL*ZCFGF5W zL@S##z2V7b+d&?z@gDamVxh}r=qav*Okeo*92DyuH|(E|&!Cq~_cY_-yxoCrg5R}C z-l7Lv$pua>(`dz~kIyZtIQ)%4vO5ggCKPvUPsrHr_pEx-i<*+x99n}Rx~A%nlR~Y^ zqLp;;9(t7|gDtC-<KtssyFdSN%WE$+abBGDa%(!W%9VZHT64)VKw}OQ<C*k-3&)b{ z4oA20(j4Pd@b@h+jaF@UkS2v5GRTJ;qfK`(&ACwuNU{0v$JFK_Px~|t1LJa~)n#mR zq1l#gn3poN=49qw==W9xu)|^5;|<=&G8Izgl^vPg!)0*Ri&vl7zQRKdvroIk7nG&x z9YK93+WnH-WuO^iOq7hyqP|$e>pfC3Z2!FeKnL>`q_MP{mD#s@ZFq>ezleSJ$;g}< zqC9~5gSGd$l0Ez!-}kJLYwZ72hylfW$@}z@xbFEF8~FWbmW~!A$99q5S=bZRoM1t1 z5{By|JXXYr&m4XY>Z8Xn|Nqy8bSaNaPn7f0tW`F}lK{52k)000Y<6?TRPsn+X5z`` zTnlB6Kjcy6$7Vm@TtI>RA}4z}wfxaaN#rh{U)&Mq?D@x-3O}IR&C4XZz&HO!Y{V7{ z$$vh=Fq~h@8HV~Yz!onfZ0x`Hr0J<(f$J|{h?CUMxuHach(w=3BP@EnXb&#Z+{uaL zlx$d<$WrRtNmD-$E-KgY+0a!+A$`fa*KT?l+^;hXTiC}$3sgZ?GzG$fsRh64-PT0H zzYTI}=W`o3({7PxW=$3zZt%jb6p)5t-ekR8zx8K-cAuZ$Zph1vkJ~j)z#<pBe?QgF zkJ8T%hXx(g$lE^fTxf911049W9Bp1wsh3Q#k&#`bk}HTfsUDy54H360Rjk|&6v#9C zji$}vT6R!ou;G&GEzz<c6)0t#dUBfEjI1&={a0Ob(M`A6KD5gqUs0?QPH$5QJQ99m z)Se5D6#{RS_EyS=4Ef+O?<7TTH$TV+V6Ko&P4+Y@;kmGQ-$5o*;|mFnYC?EEj)5by z#a<CQz*Hk|w^69?EuJX57j!j~NmQQu5Heb_`K5eopLPS<kg|R<;~i4n8q%m5rmv|! zW*h?5>{<EA`pcDSJ_xVj(Q6FTcosUKt<WI!<vC|vnHNv-UR<u@!sWvJM=2y*IBuP* z5`9p=Xq;KixWYjw_NhQxG|qMD#yJo6flh`ULzW|LW%3J-C?CWv!V{8H0{P|tE&bS^ zDLXG2+`>p$1xD*sN{D4+Nz=QtVMJg4_mJ9gJ(WUsHPjEF!WF&|zlUQn8E$&~Zjkw4 zAJJ6RhEG@H`2pq$Rf!d>$PmqLihaN6VTmXmKVnq<9Pio#xbO3cI&4|y_<Gf~+znW+ zmTjEU9A?LOqz#5OvE|ctD(v>3?<1&wo+@h{9LZk0_Ip3?Y4vo~uQQS9vI}%ao!!}h zx&FcS=AYME^YZYJ_rWZ|LGnoYQv~X#w2cyo*g=@ZJ9#bI-7t<hTveBDyi;%|_6MRp z134L^K6FDax!BH}Cf<a)aqJqUVt=V0wDiiC+C(`T11*d+ss^zo64v0~>_>{OO<a8K zN6mloO{fDfU2hoMdhwT@uydIs?mzMbaw`T3KRY5rv&CI`EV@K<2W`s8JqNHE;2mKZ zj#xSmd(wjH!bl*B)69ufEcz}SK|-CCW_;{l3&Ai9kS+1KGB0hHwSnM2@B)mY1pBw) z)d47yS7#=561Ki_$pK1{XxYQ&#b~I(&6qTa!rPcue1~~<V@MT7R|EQ&od@5D36d~@ zSWp3(QLh)Jzi2mQ5N-d=f=5h${(1yymR#sZ?>E{JZi1+*1uTni*1OHO&|uFJMZ84n z&7UUJ8I_v&*=|Cf39f879?hz-#1(brmNsa=)nXdsdM_a-w-^7J3u`z}Y6C0nJnGaI z40{VNGEpg(P~vgtR0aj@!g6Vc`G#bM#DdhWR;(9ZB$V9+Mf;xd3caOo$ThZTVAdl; zg0@v=bC^T}EXJ7rXnoMRzTbr@hdt6F(OSGhxgzeI`do5GGt*+1JPXpLe~u+^q2!uT z-vXpU<XBuOu`KVPA`IOq`@x;@sWrYUG?t8?!T`?=LTjIw43n|X%d3x4oCh=F2eZ)a znaHkyRK4^2<GUgoK^G68Mc;~`6lI{JjIm-1#dW)~285ZT1L`LzVX}R`2QZsUHjOB* z;4f-?ec)m^cseZ^M9q{N>;|(qfEUexC=_B5&w?*)vU`EAmlXLlgk+uLfB_)QfnpF! zOd>dLr(bLUMt_YXNS8~O0fWs4s1WW^HD<s8gf<ByV=9;2lOuNC<O$t;V}S=UoRs|z zm<eD(_G(2Ou`l4xr@b%nm`qIN&;|x>n=@rKko&&ysokn%;nMw0SlZoK{a5>+T@%a@ zg85VlFN#q3JQ4GDBXRx{yFY=<yj}>(j=G+gUU>*fg~FP-0Kp;-K7j?N#6@0MT3F=m z2f#3GBH5p32A?N)0@FD4eElK_-)U<V-FOPj<&tUau;=3Z)9F3nV5A*3xcPx#y$22c zfj)qNmv5|^GgQdd)#T9tg?%A*)><G^N$-4&7Jjxf@Ft>RznkJ7rC8(xN*usv{QlZ| zfWq*34Td_7f;KXOjRSxd;29Bk5_YHHI*~+`bEUWYBC?ByXK)ms&Wf+9NukUhd`~ax zIS3HF4@{7*Zs0{K!Fo;v*_cwld<N<=PM9cP0?3VdVu`hBFG0s<jUzu1K<giv&oR)1 z@dvL5y?cIAPLTVF!#m^9EWIVdY(L@t_uC%$S-18*DArB|aLmhcO}gy_Bvwyl06XBr z0I_tTIC4SejNx*sE5amU?@=LDn;<wT`9nWGmF#{x4<dNx7hTDa+vWEumJ2X8E9YaO z)U&tRk6HlH@QkD9Q$ILsmG<d8EZv4dHX_a7lWDD12_VjnDvQ<fmlX#KPYEUBKuN9P z{fiHI@4$l>4*doPsX$nZB9LhVEbbrd{L*y;e0j1sK&Lw4Sk)W>=fPh<04g+9r`wzQ zf&sYTYe+7&>?}Y=7J;|%3@=Ez(QeW`1!+!1Do*8>qf*#Z>i^6=AG+h*|E|T(G+ecD zHX1ggmP(UNiJ-OqiWdctNbKh*mm9{Je))}*dz|b1*IsXGj6CR8L_lxL|IIU7A^5Eq zS^=PGLz5Ek?u>@_Up$AbLZ9@aPj*uFPly^<kX<CbI~1RPLZe+XVYirgJlE^D%B4Lw z0E8kgSfk^gM|@qQCx`lLcY%N9217#g{d^%VhRC69w45#@{uH1>i;Imi8SeKeZGDHr zB<NrOMU}c~(CNX5-$f6b!uO0swt!zgR*m<9D}qmieDYmalg9pqmKuOSVt4*n@o7i< z!W&;LSdV?pC#4l#iXB{TCE#S9@^SRvLi%5nAM!bXp1N-}^xsweTEjUIm1*f0K22>J zEe-W}Q=8oer@iN}=a0%TR8vfgw}C0U0mL#!DOL9|bZcxtOJ*Lb-;>>jz52pg@|;L@ zXUT@FLX;F~rt9{pq>>xF5D0=kaRL3nZf8eKbNmGy_YqKQZ))Jk4*rhxru?Og)rBj_ zrdLU4Mj1>Zjs56=UmRQ(r+L4JO}LWtnkZBd2#i99l*A**Lq4wV2LP*mYYa4!0Goy- zubpu_skLo~&(8t@>N}g}8}bKpvb8P5?eIfDC0Sw`MVST+oPGp}l_+S>p;zgVNY3u4 zxo-&QTlDJ2l72ESSGl)gPS_Z5%r2$?%mVGz835zP6?wYj>5{*kyu24it#brHd_M+t z+56T?KfZ)JY<>k%`c8M`w)uBQJEMs$R(>ZeL=sY2#0WGKR%f@|doWn0PR9wC8g6Yr zdik$z=f8#!i3Mm)5%ycO1-bS>x^&sDI4BxE@N^%n*cxRko*F%wkIW*L2%L-wELX@O zEjG`BB8xw0UmD-HQNPOh<Ex)LB7dhi^Gw9nA6xQ?leF_8zp-?*QhTYyd)6)3$S7g= zZrRM2CD;$B7MrA*-Qg|29rxiQA`xJ@lR6?uYleAqGsH;|jrf7z;}4zaA8Z6x<6Fn$ zcG<*l-nF2q<6L*c|0g$KCIu1+eFx0Z=e;yw$Hae@avO6F8f-(6TH!5L8<qO8^yu}K zhaf_W82HY}&w)rv57;XvdPH2a4)J>CUe~X4@{(kK<goH}@Wvw3f3R4{+|<zmc5!61 zT<y@S4Z=)+V%ib^hOV7hQGhmW+=Zk^!GGunlu9nCbT!L9NzzEZq?Bi-uy$cRWx7uf z@tH^jo7FD-&dtH=$WzNhQUd=_hpvpRV@xA%>o8t5kFW#r745Ui`DQv{cD5Ep=J+ae z7e$~#bpDtRMDC6=pG=6?(ta0m<2^Y7O_2);U<K|Yh_rYJum!DOTk@mVmt;J}dVcVt zsx8&4^4AQFJ=kQa2@o=iLvB_SlHN`cX>)d&&!Dba2QW%V-igoN`D<rBzyrt$b3{1X z;*r<dwpm>}+L=#VG<B<Vjq_x;0%VpIvH(F9l~Z*(F`9&Nb-Z%S-!1r?^@P=-N8>R# zashP@1q8u&P$|<8RAltz?k-P6jr~Z_#C?!+VjYkL${@{mvk7^#U*+1g18FG&q!3TL zl3-~{s(z*ec>Mbb{*B(|uAy1iZodQrOhCSt+3AYE2x=)&1f{YZH(vf4KNKSY($>J% zSZlQR+hWF-3<=BpuY8d06JFbd3CrB@)6AG<gQ*?(vcWu)(V8VVo$H>p5QBW>85CB? zIs4rwu)4lcXDDO>P5?)_$s!}8qkU+5bytbUN24MWTrP+Oxc2@>L6l>YCZ4qm81}IC z@?e+iAY==50Dr#9#7hR7kXZ&w7!XGJENHLbh$LM~SBg60e4~whStynrR=NeNw-|F@ zAs=}AQrnS0(~Aw3mA}f$E0FS&D0Fonq+->9b`y~7zPjo??f_OpQ6wF4e8tZ<V;7{V z-1g(WeS6T0A<L>*MtF~Sv{yK;ctJN-@8>V+ycw>97VGLGOhXD9_Pv=P;za9OEVm6q zC<bi8MgqPq2K5fG;PZ-*O4rt&QW}PK+(Gk;#raf*)EU}G;7YH^j{d>4{xZ|~&M}MN zBtyDvJMSRB?Lj$O9(IC@y{`n?g*r=53e~(piUO?^McAiPD>(yF1D`tu)uT4Upgp4Q zps7zm^-di<0$-ap(>z-7HLx$Ebcep;)Ig16At|z%^~F2{&Mgn*;tMb}n?by19ma4W z_3}%j11OG1D?hDANheJV>`Z_k1`)NH!624WSJP8l>rpW<Pnd*+T7meSpjzF&ZoC#J z8w7Y30O5D8#gmwZ&Z%-mfIad6dWUK132sU=(dKm1CGA_;YJfD%giej*&$?Ki0hzV= zR60k$Q&Q#g{<^ySa;9OAQk*@+<Q`$hb%F)Eem=|5<xq2ur=<qsdL~pvBE?MnD2r?Z z6)NaYemA^Gsk9BRTnI#Dr*~_*H~B0<yJB9I|8PZo0ZRJFrHi4o5#2w_3NZ*xh=P#J z2aIZpu4dr%x6M^yR(FkZFByE)kf$#&qco8*KYa8IQ`GWH^iLnVQZhUIue~gv`u>-z zYr4M6#mbb}4l1p0tp(%8yy&e=C@0FqiJAdW#1mZXmL@dP%Xf->ELH1@z{*~?2Z^_8 zd(l&_!HDZ`r}6)j`CnoF<o4%gT()t(nYk#m<oTBS5=wC8=3Y{T8F`Uw55;|*Qc@K@ zyv_M{I|3Tqr=&vfzKBY23sk<?FNyq@<_R{;yGRR7)w%4bBZ%@D5Jz(h*%c_At!ug# z4DLnH2!66N*H6H@fOI<y^r{pH(dn|6r#LYJ6I!-GV?$}aFA`uHptR+nN8ly?jP-QC zsiZ3XYj?@+6dz|l0om60vc=B45p;S1a-cfpGE-t_4w3uNN&u;kVyW}Yx=vl-#*-9& z|Dp&iy)l}O;H}>@gX1#Amr8+)$ef!0oBkmt-Tg#db*AnxF^@FKYLdlX0UUDGbzx@Y zwWF|JB~3Rm$_(nj1E`|j(E8E@WJki=qmrsk1Xz#3M$$%*=3OQ&Juc-l7#uTKh+rId zMSw&!$Q(+{FAJG`ehF--<e4gn1u`ofhX(9KzA8t@@Qc586Vuu{z>?C(`~76kmpsPu zG<_`Imh5D9TG=WCqY98w^@h>2FdDxWbQ+R(^Z?O$LafLh)-()DEqTsw(q7d38ZWy0 zMP4~XcIU40YqbAPqJ5>gaKPyS30VIy)0K>>#rhw0b#A=97(2rbkHl6V8SSVPb=h0# z*`BXzZcM}2?az_(u;CcqFVED&^mDn2)O9_ylfU#8(FR4%vE2T%((omc-R$quQB%51 zQoDm!_g2hEx47o{b?6&~+YKAA@YnF%t1C57l^5;36H~9wJY}NcU}2(hleX0Uo%rIC z(xDD3bj)SPn>zRXq%R_&M5s6Jg;8qp!w~b(rfTfCxooS~nYfC=wFm|NILKX;Pw?1e z$|LP0_a%*saoq(>YE_$zJ3&H!q1XjS+FZwGiKCKaAD3+~RYh^|77f+(0`L2?+I?eh zW^x;GyL=K|C_S+fk+x#v={JKeC25EuJ~M=h?IH~=4fKYeUF47;NvI}YRaN_;w)EK$ zcTerA?9y87ebp#0Z<c9{hhOu;$7ThDsh(NoS$5q)qKEjrvk1Z|*@wkF6X7K5)(bta zUF8_f+_(p!o^lh;&8u|~lS?Nl<omvlZ`V=|fsS%;qWn~GN&X@$t<X23{I98>=F<6} zI=#<tI40=ih?736z4(LoH5IP!pncX{!$FxG1IBZs)Ni8Nx}f<2KDR@wpaaibb&0mo zkcoTTnWsuf9-2K~rMyFNE+tGhhks|p?+LR6mGTcax{ml4kI*7$bzDAL=3*P6k`gOx z?QdcCzWe2b(}CZw8eiyZzV3OyJHT@#qbRbL$|%)!N3VcBS75p@N>#-Qsygo40hOC! z;nq$zV`$6^_Srm)DKT?;%jo`_Mw_eEapgkdaw*l_3e#L{cF~n_Nc)vyyR9IfJZBP1 zKqo6I5%0DakxXy|uEpQ4YRSw#t$(8rIFzsdoK34YRO$^<qc07ns=i_9RQO@Vd9bsW zoLbeJ_<7CwT>rTs%#q9OngWG`xi&{bd}ZE5r;7(O>RVJ<Gt{C)2pWFX+hq*mSFE_= zE&bAMeEgsAzYK^lf&)5_eWm%&0=_qQ-4!80bEQOp-L5dl#BZM~sH1F{<{~Z_lK86# zmnX5iZX+8$5A<T$@8<`i9p7{FYZQg{M9V$Ieli^E3#4zjwg7qiVRx>3;?m%#e6bgw zGz+8CZ+{ui*(~2ivw)H(4LJ_suc?zfX<W#8*SVIrSgjdc*L;T=87(W7s|=_eZkJFY zY1}3;L{A=UZj4E{T`2W17rXTn4WA0TU;ENQfsU2R0aP{{1+&LAxX(KarWJBUKdq2e z-F4g?-%6-{Bdi2cyY1ORO5eU4(+gVR3T!kyJuSTc2#La0nq(=WW;t&7z7vAvRxzgb zJ*syO3B)=Yt|h5#{25lj-d9{iRJe9JjTB)j6g)IJ*Gq*G!nP+dslk11(^QOk>G}Qh zBfoXMIc`0+52e=0Rh{C8q7M76A8hsZ&cMp)shx+)W2Z1&o~*5cA4cw49^rcLXtQ^2 zp$ra3PrF@yLAjSq1Akt3cBGL^<C*=g`L*%o1>@lE+H79a+*4QLUkN3YkVY>mJo=E* zR$0U6KYRC_^E71SXD(eqt67q-cVqvX;g=nX{GM5_2W9+(bx{&1|Me7m!&C?VODUC8 z&WsMgTO(a)mMho<ebc?AeIU8L7E|f|!Ph?4A-Y%c?(owR`4JK45cVXP>`ajWsV35l zb(lv+T`Yz{okIfEwuLpbmO73wOub9LKh&Tw%jw$qT`YC%5c6w*bpb-M;lZz5(qgcg zozIc?^u?X$@bSUJNy;JscZ9=l`^&%Pna41yr%Fl9GWBDI?KM1=znO`QSUbaW10jZM z%b4h~LBU*K^-{CskQi*DP-2``RP*<_BqbA@wD`4Jv>IGh^{dOnPcUUh_9UOnb(YD+ zBP$i*DQS22Oec;84}(&EHy?|i;v|^pvP?sM<>e)u9Nxhu&3wjk)iL`16K*ADkzriy z39i(ivffSWzbd46I)DazorZ-t#%jL(8%W=K^6!~;UWN55o;nb<5qqJtY}<sy`QD*K zy*$FiVI-O}Kip`Kuv2!>@@+-)O8e(CZm5&VXWAy1$ET=YQ!hX~2DL{X6%7UP{ZNn( z-twAQ&QUaG`?{aF`q|QEsd$|0Q-kNbs%8E>C5}Nlr`%Jv_U5o5GjS84Z?E>X`h4hn zF`-(VGffq~+D=hL@2=Smfke&fQmRh!wBhLsZjboy`@pM8S$7|bR^!Cq9gk$!?Fvv! zO1G^)a<cy5$sqbf7|~WR@(IS$Q;r%P$3VVxmpjMkHwYXZYLcc_{C6&Mu{T3+&W3-2 z{R#CVeF|TAms;iwKh2ev-&P_0ws~jnlCc=nTY6tEFEVBd^4{)J$km!}-8ua67{*fx zjI<Dh|JfV|0}<V~;pJ5xpS~DWR+R=yp|BqZ&!bL{y}#ZgKfV9JaYKB$<9y)hqRJc` z^=d=5%C8TM`_J7{!_$?=4hZkmNzf7BR;%*u@awF2=GX{WBMpJ;O4Z=Cid<A3uI9!h z>z`}ovC|mcIYA3MwKw_kz5JF-?dIQOe%o*w3Rb(|tYWePS8L4c^+38VJ^U-Iqa5R? zofcDub6(A;Qxh@y9`4DjYQxK#WvO(@VzcXaYcJHW8jEd(LWW@N`ifOYXd_6-kfgT9 zdkZRy@X#F^nQv`>ezGu*M(S+rWLJJQRRXb+-<M}rUkWi_xtqoO@FKsq$CVAvV)>It zhICkq_c+`c2;}bN7YLRqh~R1MpKq<BGAGDaEeoW%;}}`uwWH{(<1_5;zMOi)nbpJd zGYc{ic@-s+)K1k_f8N^?`sU;Nn)a`k?>Js%mP8rRP{~}T->IveBG4tJ9ZHR;&SQ|C z3{+=jxAIa4CZa=lLVq%r2(pM8Hp3$C$Kh-~nB=aeN*>;r&3YV4{Tj{+f$zNhmy17l zKlSr1vBvoPsPZ<Z>x@)Z45WY1p2iHfO1TfpX>XueAG60IUop&wGWlyjts^&vE=BQP z)Ar#S<jrnu<XIEd3602BW75l-aj4~|ZsW6^wDGvq0=@eu|14iq0Eh3PjM`bOl~4mx ztK%C-?awa?nzk5)`@z?|eb%SWs!7}wv0lJ@Zg0eiHU9hVuW>Rw^G5Qzqxg+mEq8^g zEVG_=UF_uu@V<M4nkmUE)iFS(CQwN9{v=zHL+lP||1Md4>SzY;TH1IADQ%`tx7Zju twUqYmd)?MBSDpKnPr-Cf6Sh}QXfN)C%gf;Qw@-mTkKq~*bCpd3{}&)XWorNc diff --git a/docs/img/1bce7244cd585ee6d059a7aa1903f194.png b/docs/img/1bce7244cd585ee6d059a7aa1903f194.png deleted file mode 100644 index e7d2b80c8c63adf2d1c61962d3ddafe8e169f412..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17447 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 diff --git a/docs/img/1be5fea51b824b103e9b5bac12136a90.png b/docs/img/1be5fea51b824b103e9b5bac12136a90.png deleted file mode 100644 index 1cdc02a389bfc8999b512f6efb121491f4dc7541..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4878 zcmV+p6Y=bcP)<h;3K|Lk000e1NJLTq00B?{009*Q0{{R3L{p$O0000mP)t-s{{H@c zeSYro?nbVUu$q#m-R|YnvxT9`2nYxX2?+`c3JVJh3=9kn4Gj(s4i66xTm*`}000u1 zNkl<Zc-rk<&v)9m6BiS&&zOYubs&7{wGGYdwIr}yz1_Z?*G>9z1>U~?{off0uw_fK zWPXI~q9%me!v1(PBh5z|MnYW5rCiE?tPI~txwO=!T*`m2;Jf&DDVOptj0wyy;5fH= zX{>OVm-i&hOF2pDWc=F~ebWh19PSH49T8=7e$fxkEw`FCx46_(ZD^wZ50+az5mrES zl4KdlPd=1^ZvHc#Ew*|TV-;weX@I!m_TE2Abu?v!9ZX|+?Un`C*98?<rB~F5*8(2O zVsZgBmN*M)^!Z%CH0}JEplbR-lEq11OjC(|(aCO-p6GY-1R+rk-;WY%g%5&%UuM~> zc-=HT%;w@{!9QX)%jUB+pN?Kw@bpHAKW6LMQq1{Cgi%JvMtqq5!Yo<J_x1waSJ7Gj zuhSbW70?uVG3IeERub)GsaO!uUT4`^4y1DQbNrjM0cH=8_z{1NzCCP!M%ifi0Pp}( zyo=#no?f!3>5ZW4EJ#P@e1w70@i{jNSE9$AL#+*<EPuLt&ccfn(6~!&2KlhBbTs3G zIRT~fIo)0Y9nhU&Il`}`z{4Jp)D+N>h`!N>=Td9vGOt7=d-Swy1;ZZehy2G!6j1mo z6=c{Oh!MSiErEk7U<RWBO%nQ@VxB6k<AWqf36!czpfNRly!;8vNWA>f6SJ+=zfgmZ z=3+G80j1LlDA$uPf0lv9Gg1~+>6L1|luTV8MX3zLcv+FC7-Su!mtCK=ljyd40{U70 zWULRO7yna8l*%aM9|e?8OQ8HlmuR+;sF3I4*;+{ytUCHCpvOA81u9bUHz~uI+I%C? zbeJljon@?m{$#An(VUE+7x&6K3XnzLSosJX1Le~aD811onvF792jw~L1PwY`?y5)^ z`;epx=u}L_i2BZCHB8d&C~!j!ErC+!Ah<?<z*euW`Z9lzR!^-Ke}&nC44-XZkmAaw zpFeDxe*U0IG@kt;Qzxre=i=F>2M8JYq1JU8t4H68u6u8X;)9SDx1TrCw;X?&eLL6) z{#pWBu_u52)IWh=7S9%?)<okq(Pn8V-hvB4fa~uPma2fR>*G;C;!Y0=0$?NqQ0s@w zf;Y|_XrDIm3n;lv7R0d6QyQd)+Ot4)nxpc(u!ZipBUV1+V;*3BF!XLWu)YDkU7a7s z_S$rKORL%lT4kYH<hO~n+?)CapMDA&XT$tj7YeNb@s}OwBx}`spsg89y6WF6I&e-t zn(Y@1whcAJpuf7*9E(5JuHFr_el;+*t*ei*+I*9RM@#j~W#IsN_eelB2HnX*)e$UD z3JvuoU9JJWFQfe)2()rn^y$6OXggS?%XOfSleR#?j>R;JVFNymE+;oj^~-E|3-oUN zd=HOz>+!v~y&q0K44)_24+WI@bV@9Gz~rwq`WpsLD{RNuWc+}l%fyxWml!D%j}6f0 z$@t6d-SbD1=;+Jycye|3yxagK;+o)ssr62xSZ-qU=s2y@IcOBFq{~Rm4J99b>TPv2 zzI*&~JNbS$A)xf;_I7f$-Zees#PD;b)}1WSJ++CrNxX_KOOVWmpSn98{W$sZJb6+; zheHPXYYUY5G-=70sI>$N4PF3LyL+rc1pDJ{4h=}AJD?=s0_fdDN%T%ibV5SiNtF4t zlBnop{#s`2V8Jz@7Fqz3E@y+~AY&bkp%3X!qO7AI>F?8IG?`qHjy`_e03~f<WhQE^ z0mWKxg!PW9sn56Q5!2<EES`Uv59fu|(<@m${k^-QHzd(7!=DT^>JpzuX3<QoyYe!o zDZ>CDB{`yR1GN}Jt=B<E-_(EtydKsYsMkmdt|!Ba>lQX12LnZ6G#0IM2ZIlY;qul> zh(8K8`qC_M^lTOTI<BXO4>ewb?x$$r;wAS48~OnB5e5{^XCZx+&K+zI7drP)=Io(; zN&rO!Cvibjcf9Xh4S4wRX#F3SM^F#tz_#-~_3Ef8kA@u_^9mtuo^e73_ig08C!o;( z2G$j7t*-;uJO|W7hc0U}bU<L@gjm<)0EuCkJh284D`!zOb`Q|Hm9VZ#Sejl!ThG~a z7ig_a9+NoG_(?c`Js)67_z>k1KYA(etbpyUxx4otds>c8sEx^>^-(1<pcY8L*{5M? zQUi-66+^Tl)X$U-ZII~yYV#~`f{q4{BJxAJo<~<w8*ha-1`IBatHab8E&4nxHr^Jj zP9|1;?49~T+4;w2KLoX&q25iDeIqFRmE!qP_pZyI#JaO{#9{nk-52_tZG1N8@q>3P zaKzf4AH;?k)@FZoql{3Ws6)Fr(dA!5*_gB|gJU)Y_m(aiNR|V+onnACNoB)vHu0l& zl{rcLXt`A5M}5o5;zw(ZX$Oj?kDXQgC>rKoM0r8%Oyfs2`JY?-C|VYI&oO?~sN823 zKWcZg&N6<~w2pFS@uRSZ?{Mn)QR9rHPdRb?s6MBN0YW}y{HW{dXB9t+zCPUB#*dn= z3Y8J{EaFE|crM9#@`oeGkD|3JZPJ)i#g95s;68H3qZpF*MChh;zfBWM`DIv1MB5$z z3JC5*4{L{7{Aix6QqvD1&HSa~SWGXirejTx;Lo&ID<!{F|4CM>)mKx4fPqzmxN-$j zSj7m&p21Qiq|cu}C+YR{dMaNZ`IWGCty)^UTr<$7HmM`5L_5kxCRm?85zf)gr)hG- z|E{~!Rk!ph*RV%dvjZJ5(0)NGi*ef24Pc2bSAi0r8z-y)gfU7IlIQB0+P*tY!hmKa zw53Q-Gf?!P%T=IhZ`#jUDM_p&R!^z4t6-qt%l7l=AyJ#<fH{6NO&Dm3qht-!sGqNg z(+@-X|Bq?f6-=gom%*b{vy*o@h%`?I3A1j(-pS|yUu^^Q!+4U7IQle$$+z3P^>}h0 zZ-D0X$<>yIGe39PyD@&0nts}wrqicnoKB;4GD`C}?ey{`OO%60Q%r@d+3Cq3((a(w z$><Wq6LWchuC@U>p4>gJ>GkUV@$T^#hog?aL<;DSxZCMPiiS&mZW@)he~j^?$*MPu z$%3BJL6SrxdL2Xw0ai^fgGU#!tl7y_5NRaIAKf@x@BzM>($VM9WKFGp%RtwYySvH9 zFSom<ANTn4l7>T5;~V2gS)%D69Y3Y{DjAN_;gEoiekIcCRq*IS1#ogKDF=~mfksP7 zxbs3suO`1H_s<IGaL7QPw?Ok70t!7v!<nDEhE`+zXiCPEM9b+fmT0_|a@|Q(1&<a$ zyOL~gfX2Uf`9KNi?M9-vEKv@f+)0##xRIz7?;vw7&KToIl|<Kx($RiCN~R>y?o{e1 zs|o>CHOXpa5NRaoG~J7ghzWN#C?v`{dPNd_<}g|MH<~CNWuB}|gJ^i1?P7b)gOM?Q zlysDAxIcW7R-Z=vnndYPT0IAk5>Qo>u1@?~0p*X2De{51u=?8xTRlm1g7k*NQP<<| z43wC6+Uw9~Bn^io4VX>e9#3vQslk3#_)RM{_;)>69R?1e;27B5@gylBT1n4jm9o>s zuXKQ2ldivm*?z1?k0Y{7QzgXJ>Y7H;&9IbQCxrLwDS&!=<$n^S>qi<sZ*I~XQUmg& z=w<pys56HSRj%#lk9sd+8RJK-9{wMqVd<-UIX@4-_OQ_8@S}g=oxTJGBE$f6a;z-~ zW5XIERKF|SY6_=ek<7QP!L;~vq}AA?uX#c++(WNN+h&G9xW0NBEM^dTC_qb@fPWLB zpXi}%T4)(+tXYy!2tCTD5i;tNkBwiLLVc>m-iFYkU9ci5*mHiexgD^rS)zUR(L~ja z-%G(J7`Ue~wYy9?nNh=R8ty56bGgKiUdsC_*t)(?*tbVgJeQ^J=50Y+71(yT)vq36 z)i*;u0u?F;OA)2cbs2pnV)q&FoUzC9;0NXP9lv1!4&RDzr$2{VjX3xXDldUg38MC8 zlEAxT!<rJ>V4@+JM=e0L`aPzq_G({w#Y*%m2;=w4u^Myd_vO9Pt@MyL@378_#B^J- ze*X-P-6ig27Fc(04GuO0a5XT$$CeU+Lw6JCZB4<v20Rd1t;ysDH(+ng!|K(7R0j;) zvQEJ?0QLA$C{7$de$?mj&M|(}I7f7f_)#>fkVl{^o@xB3O9Rd<eiW^#0M0IcwBFq- zclRB{k8X_q9OFk#UH7@>ABF0S<GJM@1^+?u&ErSgmXqfn^~`PI4fK!%ZyP^~ws~=J zcKJtbG6dU9qjl!;l<}iAgl7^zYW-3rhCYy0dZ<0i9`U2tisGPo3O$%51jmm;Ez=PS z_oA-l3uniOAGJ5L(XJpA10E*-Xnn#09q^1j18C-ezVKV+A8nVj$oh2X6+bG%^N(65 zUNBr=8fcL3L=V`qAJ|AY1`V9i(orQ^wsCsU)5PdqlA;=C7hXUY9zaD{{?Ve(HCI%} zJL^$)SfIiANBt7lu_Mnci8!$IjwKZ)=ebWLIhT>4NHnUujR~b%GGI(r;TPuB+mi>% zKWg?SqCQKBV?q~_I7up;4zq*^2*-D>i6#@5-NuA+tu?byszS77DC0hNC&hmGN3A1? z{D028ont~3PzJ#SkE8Eod?y_egI!E0$K>&OS%qG5;(5hMA2SI{Cs9_6!EzyELKRR+ zg*QNDd?$0M#V#ha29zGOIBD|&-1$d!j}5F15O)`nAS<9kiAc!6OVLwmyWYiw)`5z_ z)9$3-5ZRo6)Kv0sBa$e`gc8tYzGNz_6mTKqJ6WRiINO*|*3o65qafoxcPF9N8~NlP zH9Or{c}MMrgFeTE4#@WZSxPEAV3S_R_)aO&B-_S>iowR}sfwi59QV09d6=nlN1g(7 zs`P*x8a-DiuxSWx$cJf!=IIL6Ejo<rH02*{%0TK}q9kokAOrJ{Ha2gF!-sbHfWLl% zHzYLkW3NU4gQ?o(*<@Z=8<?=dAFwPYtoz!|Mcu;Du;fQYQxD~uqk)zt07kbSS~CXM z$G|gw5<S%teH?x;(iaz%X+X43w5t_&RYmRjM@y@Z;Kcx-rgq@yZygPULA#Zp?>VRq zvyI=vMZKd#)0~u1|DcI9SLldy>Y+aQ)kwL`IrlK2w+5RJg|_Yi{n`OTXBLh5M~zyD z4YP9KcRTc2zQ=&R-5q(|V(v7=2o78>@uQdWK8qz75*_omU~#EJ$DW4n4T@+>J#8aa z*9lN_aiHcp>nTOcAH`aN(Q<Cm%56$jTJaJT4GAByl~dU?IeY*O*^3LeB!~xM;wK#& z3^POxE+_2qH6!#ri@JWB*%H_o9hjT}DAPRD!a;GDWE85^3U5V=!p1gFi^d#Ahg=hb zb^*oCmPCUi3N7pxyiUPUOwr4gbxim8-41NTv;E2$x^G#VNdp(*N8y<D$B@PW!@8DP zIri$M-#-7Sos^wx{!!c4gU@;YdJXKk?_a+)v9pUGwb}6*<{vc+^~~c(OY3&$7e5N` zDt@#!0d(H`*E=VWFY%*}QpAs9W$qY+@ZI_F^!wKbI+*x2@uN-i-KP0*L!FcDUk_Tt zo4MIr?_ZCtNX6;%kG8OYg2<h4|9Y%7Sd-h2N40b36|wmSl>kjwB2uf0Vhi$$o>6+5 zGL<gbHWBGw``2T=9yGDbO(N2jN=a5vM5+Tj#Qycz@Whs)5|MHWt>p9PG*MYdWo|8% zMGd{4I$;0$R#P5DBGT!N%<p+U<@eV&iAqFj-F5u{``6bm(Xne=k%;sYfm<aJwfd(O zCw;q-DG6QM!?)bO9<7}r=RE8?fNm0zGR|bQwRq0@X$QK`{`C&)ByYSADx)afo4w|x zI?$Ymw7QS|5%#YyjplT>9`oP?5>x@9-MH(Qh}5``{hs^RgLT3*QfWPjF3n{IOd@i= ziAdf1*kgbRgK&pTp_C}6lT1oL7oE&65ovWFd$4)|{`=S4pE1ffUo6|i7HH1tV|@~l zhU{bS89(Z<ETWfP#e)eb2ZV|ahlu(lBDL&ekNPZa=>GL+8JUQS%ZN|~l*7QIp72aW zTHVKf&x~<se+X+_acCk^6c%~f`zHUf)2HqpiAdY*U*F!r4N636T%HJxA4R_vtg4i~ z6OmdbjNG^KUXVhgk6qSezeJ?aAWye>p?QY6y2fJ(FGlZY1uGyl^-%8p>jTz&A%MmN zI=J5Z*Tcc-qj{+`Abu1YGc_LpF1Q=B?f&)Es~0ghzFnF{WY}H^MgCITnmYu|^je98 zrS&}bulE`Hja7a8Zwvdzkk-K37w*u(16x?C^)Q;eA8fsUy=9UMZGA6>xehJ&ueVLx z`p)V>*^2R0d)Qy%M=#}4F6B}#<x(!?QvQwQ|8Z^HhiqcK<^TWy07*qoM6N<$g3sH2 ArT_o{ diff --git a/docs/img/1c1c9ba40bbb3c1ab789e70a4c4d42e6.png b/docs/img/1c1c9ba40bbb3c1ab789e70a4c4d42e6.png deleted file mode 100644 index 0f35a62ff3b4e0f9099adbb8abc6a0db8180240f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1123 zcmV-p1f2VcP)<h;3K|Lk000e1NJLTq00Bw>002t_0{{R3<Sf%C0000mP)t-s_xbw& z|Nr9V=V)YYp_!Q3y`q}9+4=F#2nYxX2?+`c3JVJh3=9kn4Gj(s4i66x?U=%z000B- zNkl<Zc-rllO_Q5A5QeQWOs?t$6<5ods$7km=xh*it`nd*TeF+wzIO5Zw*`zp<4Veo ziDye3TCW<-@VM1#2}bZ1u92g3l#bF-I!Z_BC~rZDLs5o^7<XMUyIV?;V{R^`9B{@d zAUa_Jm8PKbGLa!J!Wonk@&;d3L`|eo*+Bq_R(yjCP^Br+AhilMi00;$8p1@I^~YtY zzEA>asdMxdp!EirwT;qkOFwC;jn3(A@&PNN#E&TPpF|E2%e4{l+5iO*)-gm0lq(e} z>ka0>A)uRqvE6PkBa1RpwuexDSD;{kSeA&h5RIiQ4G2XfTFk9CAg~JKU|}a1XO=67 zg~m2bR7bf=d^JQ~mM>EYrP`+~pJMAJN-udI3rtu$hz5^iomo0AY+lkI6aQj}Sguo` ziPhnJJL6{jx3ONLq}h&x7uF7feumpvvM}x_)nt%09wwD3KcPrcyO8YaVIfNEwUl!m z2dZwnG&si(_+;rsQudVi^<{`ya*bw#bFOD36X{_F0$VRp3e00F{mOQUlCrT(G|^FY zk{zWUq7t#64_vn^`pj+<%_%GHVIMDFp5|vMg_>%450pN>*6klq@{%&-KF&m({jnpU zI|VyRN9ic<gz{l}$JeB%<df0y_3)>n_5&2wQT{c$XUdUul#bF-I!Z_R+bDnjYWVNq zl(PfMg5C~IVbzAcI(kj2T7Y0ef_MIXXu~e29G|81R|k|0K**Z@ag)x`>jomzv=)TC z31$7Ol#iC{v433AIePs_d?7poHx_hQ%JJlY(r3IO10sK7yl5S-+Gp=fNPPSmz<%SZ zmQ3U;VW1`nMa9V4p_fz6&r+@rR}al)VNEryx>)YCkdg6(zqIa*Ze%{IrgfA;CRV<w zWNYovODW&Y&QjKgloYFi49{TW=Xnl$n$)6c8bQfvK|Kj{$D3r)!ef!CX-P$^?3x+h zCf_M#c2tQ{OOR58`n=rJ)UKWjo1C_{p<j?fC~ILhd7jol_H%j-r8hZCIXj{(Y&I4x zS(}%8y0DQgxDk@?Q8q%7<aO`3f^vMeUhbmYQ#KZ+;n_BpJ54h!7{!vZBHPZm^gKqA zmQd%og0lW~%13%$YuaTHnw{>d6y+tAqO@H-l2#9hZzLaN-P`IGlw)~BDOejazbh$3 zxz(hoT8bsvwqACX2%^kN;<MJjrV`EhIm-3%J}zX)4)&IvCe`nn`}a9NcqY4eAKw+C z6UzFSGBV<DZ`tXsYCLv>)5b3OPAIdJGf`^KMCsmtNl#SR+~Q2MD@5)T>?j?jqr4x= pxAFb*ZF~!MU;iDYqx}C;{s*92j`WxQaGd}E002ovPDHLkV1k9w7UBQ^ diff --git a/docs/img/1c4eef7cdb82fd840a9facad4ee93d6b.png b/docs/img/1c4eef7cdb82fd840a9facad4ee93d6b.png deleted file mode 100644 index 9ebe002a85d4cbc40e8e3af64259d27c4675f802..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22126 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 Ef=lqv&Hw-a diff --git a/docs/img/1c78b1078232f166ee3d03d64f2b3907.png b/docs/img/1c78b1078232f166ee3d03d64f2b3907.png deleted file mode 100644 index a8cfd35269a967f53a15b66e4332484e60382473..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1854 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 diff --git a/docs/img/1c96e8d94988240b7dc68ae02dbea405.png b/docs/img/1c96e8d94988240b7dc68ae02dbea405.png deleted file mode 100644 index 06faad869874f493d9eaef75e6658595c146ddc1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65438 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 diff --git a/docs/img/1d54aa31264e3f3b98ebf2049669f910.png b/docs/img/1d54aa31264e3f3b98ebf2049669f910.png deleted file mode 100644 index d3f5631fa1b1838abee9ba2069c8fc4be6e22c15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9903 zcma)iXIK+mw{|EZQ9%ue4>f{}hy)Y_q)Ue|6zL?=r5EW%ng}QcloBL}RH;fYp*KZZ zXwsX2(mPV6!#6(H`SHE)b$*=un9OAM%v$?i>%RBiYX|p8U5Vxb(*+m|MuS$C*Mh+) zRbVi3aY_p47kJB)x6s$UN2)psXJ==Jhlh)c6Z1Q}^8B(^wP7}iy;BK>)YQ~)IQ+te z3l}e5ymaXj4Gj$~E$!vYmlG&n%)wx{#L)6GI^JVzMxa+hdtc_Jn7%gKg1q)k(hz-* zShoa6`_81upQLsxqm-rV=fLM@xj9d-$o911koeLH<626!(ov&9BX@Br*v?lO2AC-v zM)=P|AOJHU|E~koVxtxX4-@s*C=JPSoxR-Cjemm?U?*HEIk$Cw#FF$V#=HYz121aD zqZK<pl~Tg~7-(6HvKo*ZU=S85IHU}r_W|iboQR<ABYr{7!z=cStn{iM$^W!F1>TtU ziUGc@(i!>Bw<dm0!^l!%Ubop0Hpav;RJC4j6nE5_P@7q!M#aiu3hm=<Tpxg)`&lW{ z+95;Bx=$>oeU(J2kwy`Ji1OZ1B~hJ1fFM|6uSNKd!*r;8>xc^f-O$81@$+|_$T{s_ z^<NQuMhI-oumQ*4J0_}%>5?l#_fQyWaQzY(q$Kbt>*pmGEtlsOjINs#Gg~DBU^(jQ zdF$RHu;~V4_@{B45k5*S=8M`XZ{9FNjYV55(400k)3eHPFG4NLpXD?ta+|qmR*Fdo zGp)%z<Eua@xhi`~o50qD_|WzlmBu))$PrU}DSm%FTJiX)4epzEduL8xkc<_XxD+ky zzc7a`|2s7QMk)~a^1axC66Ws=CDQ-#6Szn5Tv*-zx9FdYMt6pTw%$EuybJx?{!zCm zPUT=z;fUz$-<L}*BqCaR4+?)TIWT0{M!jMa*tM9l%70MB97QOia)-;;S1ihfVmZ?V zsncyJ35l1u!cY%i1MHfdYW<vc1s+HzjLEn^!La3ca)AzwXo%r2Ig|fFA+m0ao+D1o z*ePE3By8+D<}r>}_0ocO;7g`x<uH2J==-nUCsKPy9nP^ca2XBSmMaHyj`8TftI(b{ zZ0W*f-Fe&E{{ur0n36vK!wzP@*C<iQ3qvIr6+FUeTXe{jJC_QEhmMYa#Bkq|iU`BJ zyY<%S63!wxA(0qTzvT9yj<h>)W&rX%T}ql4RJeGpOLTUsa|pRT>P>lf!CiF_e)*;< zv5m0fyKqm`TdOqVmx(!v(Uyeb?Gv=a(%G?!uUM#|J~~;mw#F4_XDfqJoCopk-wmzc zycuX$LYm9Q%`PPw?}&@eDyaCFWYmR&YlQLEnCACfeXGd$*fG4OFc&YJsb(X{W9wU$ zs++=3K?T2i+75A7j0QfuWxz<gMaZ4&zKxtK6?{oZ)WO}qE*Witeb+Oa67S48*GsY; z61~{=jWNI9ondXw!u!ly?qyioZ_ev-3L3awv92WU>q<xjw#|(;UN~K%3+Gt`s#D|` zQ0mmaChRW&pklMc`;u2Z3w)0R!6BY&^h+TQ-Ts8igUhXM7|>7G4z2+Q=^N;J5hbp+ z-EcG*a781C9wiEBjEn%8gbWF8rbbU(XGtX8o4%khT-NS#%ld?v)J?sf2mZC}qkurO zCp>|B$Jlr0<I7sqn>2n*p+!<4kgYZAoX>P5EU5Ve{<yHj`wj}@N@1kZq5Oy`PVbyf zROL=p+kyBEr-k`$p$=skHmAXv{QCnJZ6fRk`xu`!+FoHl(l|GsBIqL5OWD=ap~<En z=p2);p+Nck{XbHeLR&nQZ!Al_Lo+kaealnJu}H~hJasB|t3e^{EL(ZKcl@x;-N#XO zW$*abMSQ5psFh^y-E3t#*In}jmyYKjz4cwogvs@aER0)}UqgwtBw7QzB@w$^pOVF{ zOulok+vU;t|4yqfKV&421qf};UXdo&BvygV340PX>`!kh?yO_OxsdEXpArmgU;LTV zcM_Qpyz!d~>~={%W^<l9nm>+GjQd4}I!MB7?H0Yg`vw2=J+S;U)baSb!Iro^=>_V5 z0`-C*4Z>{TFkZ4$07j$?B*1zQ%$}jok|tYt<-Rhx7m}%)fI2t2WReYSB_~%HYUJ)0 zJiC|Q9TEs|Wdhe-+!E~fsvm<vV9--RmdUD_r@ZWCzu1Sj_;_D@NDLtu`qk{_p=`^* z0UIG93YQO?#^S_~!N#r{!E|35XH{(45NVDUy!60_7}DG%v18rh>+z~$^AVNohpijR z>dtOTmYS<llXyap*YWL@q>pSgdXZ$g!y7k>zVO?l(P2*s#3K<qortBCl}%&Txp|2` zp2)P8rf7E4*f&%0?NMJ3oY5<+l1zDw6naCI64WT?PVDq#-|)=BK8N0pTFTCkg%OvA zi9a?tx^ZU0ZLj=RPfNnaKW~xd)jP|f<yc+POS8_E%)ma1hONcq62*KMg@{SMDo?86 zZ*vNrKZ94IDrJC2JMYKJniw5h&m%Xy3pbl-N;$1-Lhkw(V6?bfHs%!#T)ES~wg^z= z8K=K0Qj3^q)x17@y%<EE7!gFSFMY%|`moQ`5U{S8VY~|eD~s8H9@N3tnGMoEMW4%! z@0!K2`1<3{yf+W-m&(@*f#XgO&fBA}ocF2K=hhr5=0fqy^(PcJ<NgUYr1JH!NVuQb z8W<}im^6z-P`7Ii#~DVcO&1e3Dy&G&MumjRxR$g07T;JzGj9hg+wR~9u&EH>va+;m zm|#v7kko#o_<F_ZOg=dnfdvN)Bm-*o+^eW|BrBz~E7*%Io<&b)jmfO_AcO=^Q^xjw zy0pKs9%kAr9f}7(c1u)9ZFUib!y*^-XGc~*wo?1k$_F^r=n6S0b?FG&QJ!H2UKb`0 z+b=cc;Le<IMRi}WVn0VDvb4wszTrCxNJ{&`i5bWqXmJ0ZJcMD%|4q&fb>eJMGB>?X z)_#83?0o9Vny_z`jE2@Ce{Mr7>epV7m`x&LmhL}E@nw4&rD}Dos1BRhxcT)TQL+&t z=da=J_uETLf_5#3oQleu;V;fLUBh#F@QQ}3znW3W7T=AUzAh(StB0n~48RX)u_ksi zE)sLvWWr1$hNDLSbcuZ&CD*%!g4qL6t>d8AO?>bIuT_MHD{Aw5^mLphd=x;kd96Vm z&>A;|F3wICXt6=`Kgwpm`JBA(Oa+vSbwNBQ+^#c_aHCm`u>Yih5BImV!=6jyjW?!o zH<}rEaV=U(mw9Evc(Dj&UlUgWEFx=Wmbl&-0~UXHYc*Lw;50n&5!(gU+hPbW`>XCx zXl`1%2dHqfJv5vvHR8qL1*z4u>g5#@woOa7)EByS`n%lA7?U1_1?P^Aev>1n12R!j z;cj=Z2>Jfs30-%@lEm-tmtY))6Z+A`Dg|324efQ+1n0+)X-|@kPzFm%1oW0fi`?ms zTSx8!+_c-F<MBpw3(!0w9+-KGv=&S0^x88gR4U{xI4B9)PjGZimvbCN`L7<E-OoI7 zy}$M3D9QF`y6CF5LwM429k-_|m^GI1q=18xQTpavQjb8-?VR|5!?|Cd$BO?H>iBc* zvc`tKC!Wr1nazK<D$Td#kfMDIXxjUeI6LN#d<8&NTD834Z+RZ2v;>xtNY;Z%%1->C zpk3YlGeZ#yx6>i}WXX6y{Or^Gm>1D)!~IE5viXA!hAz3aq70W1bTCl%M6DVlEAHau zX=g?n9b8?uBgCY7KPFUu)QKb7;jGXLvCl7n(?h=7B-ADekuhwwUANoKg4(YuZ57rX zy_H@2?QkG37+5PIx`~lpgm;iCg_@i24$nqDCYI-onW2ZDt(J1G5A~OZj;^vlGcY!4 zeoXjuJFKs$jx}3mXu$&g#|<T#QXmMn<a^zMlQO>IaY=xc-Bv$}<YOR^q%PdAk+8e0 z6iVQ1K0YuI5KRP(d~(>fazjVuq;gAV-w;C_WAu3A?RB*j2)X80HA)p$8L%c<7>3Kr zytdVCgxZ&rznGE!jo?ms?VKTJM8LC`n5eS#^f*9{_h<4CAL|?k(fAd~t#JHIG@G7M zGU~R|qH-dO&$Ut3>|ia%em#=#Nh02i&>vRgito?8K8IgrUr_ecsF|W;w7NK%p7=&; zX|3$BKesURq2F>3-do^7t3Z{-R*u+!4)TLX_=BN1xs+6v@b6)Ccf$o@{J2#wNLe2~ zT3))eEUpGjm4w$JB31PTRIJRrjSKIxKd1yjfuuaLwP-2ug9)uFw~j^P)M1XryY5wF zoeW{ZCC6KQl<?+U%uBjcOF~;vo+I)ErD<OGRPSj`>m$?>;4Ap7{GHo9B{tL|prqm< z#Tx>+8;&i{s2^_2>hamdBp(Qo=9lom%Wf}GM*lutt5fu)gOXOf5%1@SOfSv3SSfn7 z?WujX9{uO0d_~E3zT07nGYp*sbPXE!lpM1k6I4H-M8jt=%0szs9>#ZF+Gy7M5Z~~m zM!)%&2bmOZv=i4#Ja2PZ3E#G`G&~Jex-y8l-5^1qDlpW4D&_OG-J&`gVSTOK_fj+0 zSoY-1ct(XP8SAs6{mLGtzQRZ`*5t%q^}`vRzFW)=Tq_NGKDul2T5ba2invnt$983m zCyPXIJ(o3mE&^yie01w)P6#0`Em6Q)mv6d5ue<H@q}$R~aj|xibDidlX5Rff_LWUl zKCiv}5~FfWYS!?}^?6&y25GxrKM{Hw#-%~yCFEyZRj>RYnr|m)#CBBaxd;5{LGF|t zUAa9eC8feQuP>+lX3gjWw~RF&PxAbTvK=~be>t9}JO;D&Jl<GWJbH{I=$Gif;?dd) zk;rg<aNS)GARhEtm#O)!;kzcbY7@jKN<uDlD3&iYMZaIgOB4*p84xX=zUD@H)B~<+ z=NV!N?`alG-dw0VNgLC8KCP+AXW+wow73_dKMhx^37FFZsS+2gA~XMRS4fl;>Hjnx zT&vmX93AYti^5RNGYrHe7S8>yi)SF{aJl}>0ltPo5-{H(1|?&pm9<B-3Xe;5A+3G` zeQYwS-M4R6_++SpnIL*vEVi)L9mk=zPK;g)iw!X@t>(%r<6J7ZOS)5IQO`?nFMRI$ zqTw>l@}9ZgNhqkT(#Pd?6n_pKUAC6qFxklL;<0CUt-_upeZ9sf(md``=~(nde&$7G zH|~Vemv=09s?&FncL*X@!FDBrj5~$=$ngm}+hQ=$d3z4jbO?)}FBLTcRXw5(*}J+) z$@az(GHZDjgGEHJQ|Z#(n+7SKo*(EljruHbBL%ZG3*7}q2uc}ie_TyZmb<OUiV6Qp z8M>jzSgy9LR#dn6PxuI%<%+$l36n-K#P7A4K&C^rqWA!(fgY!_CQEzuKkviTs()>z z1<V>SpH>;a>&I99fypP>qvDroa!Bt^J}m2Nw3;KBtR2nOvzBtyN@#|A3KRK|)|Kz| zaNJ%JpIO^cZ_9Gc`9j~1Zwmwi6_&cUblH9CZpP<aACFxyOg_(LSemgUao$X7+v;-c z&Ac-ChquSA;za6ydvlucZ5lbY`Up1IEwpNi2g~?a4W-W|7j`<8r5>9+L7vwM!t;w5 zR%x2#QvZ&o*Y#YDQ_8B)Pa?l2Uu<|!1Fdp0Z%U{i{nAUpx|MQl_xpz}Bemu~#z`-S zZPwBe*^BD@dlioX#pkLFq)AIGZ7Y1Y6Q`@xYu#M6#$75sIGn(16Bpo^-IX_%@8@4B zR?}|1J0$hsk`>E=ojo0!;L7=*MAm@0r{up=8HP;qvY*Q;)LUvlZ;GbKO{RaC-<w*9 z*x0aZ*PHo0#U4K=9!+s)H*;&Sm<Yf8XZ6>E4D{?lE><Wl|K;v&gEaC8*=2B(zc_?B z1nHR`Wf;)MalyxYG1A6j>K^M+gj*DW1zu=<boFg((sU^X``ak6EaXSXx5bR)*3HCk z#M#>}c>W!0Efd7AXDk^bjfjBqyB`$1%P(`67d0WzlMyMo*STHDY2{S3{!T2q5c<h5 znq%u>{QAAl1^02E-<>`?bA?B*?`8q{Rl1Kwk{Y-{ogCY(Rjj}>Ny0u?E544tVqVX2 zYSs}m?V5_+(e|fR^$ljcTuC7|bN6zMZ?abVLrM43U1Ek%1=CcRQywtY-9HOWGM~4t zkSz>hmJCjY>+0H)ehHt>X`L>8+@7ecY<Qdf;NZR;8hq+e5>jg6<Hp>OOmNmVQEISb zscByedr8z+xotnXWgn!VJwcVUqV_xESwD}Qu}A5S&Vvtp5>LZWl?QlcyX%(ppC1d2 z#L1M(`4e-{2_+UwhNx+ZbyeHr0rt<LYqHbE3+~c%=sTg)Pik1stjn2|i&ANwgg)lI z>pXMG>B2eRw3B@C3g~WLIF2jJ0Bk%GqN{0)UEeal$`q|>$1hbp{w-7%5}v5X`*EDn zO840MT6<1<Dkn=<ljB_94G}~70}C(l{<QT)Y8_kTFd31BN^9MlnWj}H+e)DsvA4Nh zF>Zv+0B)glLo=2|jBo_n_Qe+hJ=(3UA3o{PJ*=g%oQtBZR(91ol)t`9>FTn-W_8tM zw)?I<`f-n4Y_wQ%s8&ksLCzB$08C5~Ki2pGIMgdTVg)dXOFevWk1%_FEjK!po%x(O zE)xGJLO`&5T%D<zmGy<stuuVt6E9|iWruW~+(*J<*w4k^3L`gv1^7o1bgr5dPri)! zEa|4!lg$!FAsJp<dAFh_SE;(iQhv2nHRYXDZz-01PTeQbSUmFKAk~;(&?msAtX(<D zCn-d>HCY#v#unGjV~<wK8yn~TCLe>no!g6N0^PshwcjhT*!@8F*pet%tGGX!g*(#Q zt_n7abi7WjhHtDr4uH(FfBunrn^n&u$WbkIVRl>CU8n#u{Zx`qkSF{z7QypPT2d<5 zs02yGes6PJG>Knvi3Qf}<AF>gglBV3EEcbFJS$vTa^dCR1F6!GA;+>N2mNzNOuR1b zFsv6goWsaxx5&Aikz5I>b`6Xk{%(=u-+g%q0Y}G<{KzM~U)20g>2pC%Z84`8QIXj2 zvm`?-+R^aPkd2LVXtL$Bx$p<TE0eqX=G}mkoHrWGK{1Zk`}m`M{ot`UWNxc|`NzCq zm8<Rh8gQKt!>b6oI8oHM1`lqY=!E&7mVwz34SDCfKD^dGF{!U%JFChvw?Cn*X_Bx1 z&Ql}LqpF1&=tPtzJ%OH^Y-iFb&XDMZKNKz#O4)aJ!fZ86oRkoVRQY<IILa!%Tk|@q zZ3QI!*WH!jIC){DQmOoTeFoiB8{?PnTBeO=6{HM{^0BXKKalG^F1*OQnt8@wm>im5 zk;(61kd`hDn8rG>@RPCZN!Ns2S`y&YMON>)s21hJcicNDn-I5Z-nz$T5K#P522Zt& z`w@=+jGtB;^)V2!mYjFr4OolTNKDV@U<5i%jKHxK@SS#H<?zS6TUmXS;XY+W=%0Ij zaG`uzW6RI-k3UfBoW>c~(23@FH6#gY=0vQgk`})7w6r8)5xxja?%t=!JJy=voP#ei zkKmsoG%r%>&f%WY-Dc(%8%?>?Wj7Ef7_7I#xP(^mPqN>2m_}{Z4G$pJ;oMBfNu?Q? z$jFCJSdX>WI~D6jf9SWK`8jT0%`_rr96d|aHp4xK7El^*fP$YV65VjvCQz6TJQ>1M zZ$j&(mw@#+{AB;!H0W$y&&7-LrhN2wy)=wqBNLPv=h1R_g8oOr$X{@}TRx1HPVPIl zZ*C@0(tuy8UfivEbo!W+XhD2NuIQvYJ+g`qWkW@-b+fF`e)b~AA{>%KwjY?m_e>C7 zVt$FaQUo1;CstC@(z?~s@_t#<gv8a!A2v8jT4+hI43HAS(djQe_UAE&I=qY$vB23L z1IoqYmvk=SI5!2j-0ERn?@y2tYVOZ2vDjrmX^J_gs)6tLoC~%j?F?DfqDy_PT^Sq1 zwm7nTw=!ZzJKioaV{cixE3G$XsDW&>rlhU+>z!YXBak(OMe>E3B$jb-gn2oAJ)UE# zw|s0BFR8+kV%GOs`QbIfehmt<TVk<Yj@sO9<4VHfdHV2)t0VjPfM;Qo`ht5=%9iaD z#S`%lYnNV`EPQqOP{@m&K9}%YXGdP*@cT~9{j~e32fr;!AK`ZVE2GU`*nC{5|43-- zurCJRpW8E>Hr%}H7Lq;d|LnU-YZf3^byq2I^x+PT&joDBhX~>H!5#5E1->W8n~Zr` zhw{RQzU|B;8#bqOppSFhcrT}ec?dD}%7zr&Y13%Pnr&3l7hflKjrX%w=X@xqpTcVL zax>OUSgy49u`Q0z8T-TK4nZOV0BypoBf^1z2cY`b)`NOW648Q0l(;${YJ+aZS8TYv zW=D_l3m@oWrmt{8)7t?Rd>qg{813Ddle~Z$K!OC8T&`Mwwor^Lj>a9QZHrFD2+$LH z9_+<A8cf$k6P&G;9kGpNc2!E_uY*G+PB*U9NGLcJ8w-IE%iXgQCfp?_i*&`ihbJRt z@-0VGSMj)C3+uPEUI9Et(~n%ffmJ=C!%&f9Ag4+oLt#KFc>@Pcvg`#`gm!Xo7JPKl z*xVfI;emhDz^;G;IN~42#|q^%c_{AIA7d42#bUT2seE8&$ohz-A(GSU)MX-mS)Sv( z-6pV(mZ#m&evIzxy{@G}uNC0nm6h(97F9bljPHLf>srN_-NENFYxYguyVc9O{ad`{ zRzx%>*AFkjBa!;y96%|Oa9c}*`{eZ+DPw;hGaZQrTcBx9Q_sz2-(6r_W=7o}X}%ae z%}|q38mTxQuk2zOC$EXGzga`c9RTN@TC_nz^@%+jxPH7e7-b&5%fz`llX`~87-_*P zkA-X|-qUh0!+k&L;ktUrA{~~GMPwQk+g09=HqZ8BYelA;2xW|{&p?k(8xz|0Mc!8G z|90<|?#tmg&mF-3$u%!uaNKrHJW2b}6Vi5cD18G<J{?Y%*)0-N)*K)v#;EL=dO-;) z!<emt<GIL8v%03uZ_b`~?$tGN-Ot$1{6h4!?pu(qV^uofqU^HI*grRgBRCJP6qwvh zzmwS5@dI)6PCJkGdBZ8la(}6TQ<();v@hB>Cmomwt9H573-lnqv?FkQIIA{zDsuqh zZTzh^_?H|&^BvX4&^(yf)S)I~A8NBalOf|qB!}79p_Qpqfk0i5gK8D=#jcJ@Y~$L$ zbt6Ybb~0%Si4X*1p((s49SG1tR$PYtS;ceWwBCtGr$pWql!59@zp_zjl#Y#o6Lj;& zPg4QuNP==?;lC#Pd<FejQke_b<Za(1!cbDQJW!2mu^&O37D|8#^P;V0sY6?P9*a0P zNp+7n?Xc3oe5E2D()Ny>A1Mn_f+_gJO^5NXZ!&4_T`(x)jGAKYji4|nlfSd5Jxgh7 zhTG}+Xa8>>?K+Do;C6$siy24wiTZT1)X#t>zJx3sGU<uFvJWQ{B{L|qU}1m7R`dga zKlt<a#2($wDdPt>Edw(;$h;e+8wfY*DT}_mu_e>^r^puFt^rTiqgm`l6!5(;A~#sW zzs@x_i-QRxxh_H8?G(%J$weL_zK}nZ*GQHw+-)zjlNxh@<?eonLMBe5FMfF%$2o4z z0Qr<)B#RZG^&7|`^W??-1qZ5dy!JhJn5U2Pp_!V23D<<=4|4`ZQjDx3wkdBDDT_vc zEtKf8F<Gur8qeUb8Q2g)>CR&BbGYdsUa-mLTp(*6C%k2h+^39k<`3D4C%k2i!p9&j zg%}9=c_aPLM=p)j>?X5^|3DF;Ief-Kgj0ATxnvXW^*GhJ`oW<H=KyG?Mn1AUY6=09 zt9uuAY|(<j1ej+{2y%5B^2i?>r1=geek@OJ@(~C;_cZlIA}kM}O>QNFoR$<8^{FCr z@Pyl=1B=T8DTtJwe;s3d7#(aNl&S<?$)(yE19q5#fj}crR@hY1;v94v_8oG97oN`O z^(rJ0wu+sO<WGkDiIWBc1CZw-N1?WmpZ-|9{8h-#s&i%o$_8#4jNgFDgiwe$3hu^# zT)(!s>$2g1G`;I0s0QV0mrraDnGL+hx=t1hWUC4J2KL;#WZ=)jY8>Rr^2I7n`4iJv z2!tZSbig)MAGCTAX?+xE%q!DiC*5EqK)ac7&U6^D-WpSD2HEIEoD48<oQLHSl&>K2 z^uLgsq=6jXje+N^wI)NPAkYecCnJATJ0uS%0$~Y}Hv{fLzb?->F93@d;YIc&lyrmL z7c=Z%+gX5w4H8O+8iG7I5el(}NVM4z6iKLmP>-c*LJV0Tll}O2UBj?7kw7)j+u0TB zNFiWDM|HS{fF7yCPAjqheS;ClE4V9pksVG%6k?QJ93_i+P$KM*NSW_1okA#z35MX5 zqP55UOKc^F8d(s=+}-5)(ujOy4Z&~x6#)Seh0ibxgOU|H?Mx$iC`-PIl~tL(32{Is z5AlW!ia*Z%(j{K9RnNcVtoV!K4pj6F5jKNRtJE)JRAGS(zkYXP{aTSd+<fr`+rEGp z?V&D(gEQ$X?vdQ(5s-y3f#v%jGQE{p-*bv*fOLvc&?yLEjeh3Mvj4Y(JC7biic<iv zL*@_5C{N-bECl3Cl%YPPnh5=Z@v?twiu@Zs(?c71h?Osv(yu}}Bh1_DF9>z1hOqzX zE}7379_CRfT}Zg1@yLW6@{z@qoR{p-FOhl|ii}ZX!97T9G(hr!I9Q!0I^+<MI@}7^ z{I}&eGXlET$_Kv!T^@?CPeWngojNs!5`3Z+4$-oKkO76YhQN7sZ%<549mc>5mwiS> zk0p1XL8-Km9okT?V)1P~T#Iv5MPHC$gWcbgSdl&+XX+Ztq5}~h2iFlOCHZg}+cr>a zOF@LN3B)B&4G|RswJ5qk1#tFRB20?bwA6Txdx{!MKB5BUfb;9fm?BFkpeWD(5wkB^ z)6PzXGSs|e(AH3TdNdsbUS$v)M6%tGcuq7q@;qd$`a2nvBM_k=Ioz><KU9r?l5Tw_ zN-d~bKee^BmsK0uKgcCG7ux*`Iy%IY1)}CL^%|tvT%9Lzf7Ks5U1TPpIKg8Y%v2g0 zY<&cSh(hZ3hwkW2Q*!UQ1w*gQ0oeD{Ui^E~=OGA5)3e5pJF{?JG6yO3jNnBGyk@@W zD?a~HR33c~O9rVm|LR}Zr>uE<{*`L6Dw%|P5YIT!VUP`G!}X8+L6G!+x-m<u3dMVb z7}A<}OA;DI7<i*yj$|PrjwD3AGxcMEl4ZP<sRa@PY@;0%W(RCq%33faan83QoT(ug ziaDzde-`{5Dt?_meRy_keTe|m<3*nxrbI5dz<9vpwzI3#&sZRez6l<^#J>}GZT8px zM#u{`UYwQ|o*qJU+eJiBYy(ntJtP;-DwFUAmU=njGRz+a!ip&W`|t$;Ly`S|2mCi@ zkAqHS=a-YLVB=BfLbHDa&kmk??W@wvEMS12|IR}AE%i&Ko|C+A!7Q8#3`&r@>Ve$( zwpA5;_qPjRg7A+FJ70r>-=(!8>4yhOii4@Z-LP#bUMCw;*Hj=O5NK$`FAU>BL-gN` zAuM?fCA4W72o3H<&_!(-VR39%d|$*A_my+BAOAdF@qOJBb#ogMuBa*LAs1MS)|x?& zSm3Z5L0@ZI5OT3-0<UQt3mgn{n1Z$mhUcG{q3;zELonu6US%PdYv*TZ2)roV_gkP1 zNwdhpyO1v>16VlTbvmhn$}vg5--)~eu%Ofc(Sr3dL$`C4$#f49jkf2BnMrK!!Rwoo z!~)E5F~$y<Eo1`00$O{y<^#<fnWK8V-0y*y_rf0G&78(`l6@Q<LZH;Oi-%6CL2(+- zM$4Oh+}Gc<^x%ihaM<lV!N=;Q3VDk`8-pb!vxN;6s3jhkp(X4p-u<e(EpB_kb&HqJ zd~6^om(&WBTC5jHn&ZT)QgUUajA-ZA{Sd<!6+J{fmHzsJvyvA{4Zl~%JX=tzKBPzR ztNUldPpx}SPM-1n@o8{Y{jKW~7;AXl=gO-D_a8v;oKNNK6NG3YDc^NRzH?}W%b4Z9 z+<qyKcU-#fIo@Y#1d+j)_w;iUfZ+!wPKxpuPJ50DnFG$)FDgo4D!_3(K(d(p3<Ud0 zRu&pG8mp1;2KeEx2%+kSp^@8I)D%KVtt1S<5HJ|oG?(oM{%83Z{N%>bWsGxIOg<Lx ztuU4etS^W*(12MkF~IZk(k8g#hKuocpG=-PzGbX=h4GTf_2;<P)L{K-my;E4;db)4 z9f{+fCt3>4A*?o5CVveKoivZTB2$onx?01zz|mXv`mXt2H9Z}27btAO+pfP+Aza$J zzxB*eUq6*t8ge1F!5-^+e}2!T<d@>S3c-6e`E}&|wl-VLzTl4>Ai@e){();VbJ!G~ zFpy(f>~@+{+O(Mpy$Vqc3xCg|W`+CXV&geU!WTB-!}$~PUjb)R6~a1C?+hClr1_cH zsVo*eD9y)e{gE5rpJ2MtM3uSQB`4mU0Ie6QU@8UCC1o>)COr%G5DcM}GCw6|`c)Ad zvoem2NoyiTj#QiOxa#2t)+C+^crI5t+|819%q0Lxc()1od_R9V*|dokyCrT5Hy`|h zXv%p3c(a{{*a1^Y1-zjDXI#+m`*0jjoL!Ii&4OmOcf&^eeX=%^mB8ehxP<dNuG=Mx zj88fsqLuEbPMKsLl#)wYv7T=~1^X5j=UVm<yNM#(&MzWxK!EqgLs^S4rw#<{zx4ow h{ihxvew|F6k%49VXCKZdv;EzZMJuSw7s#3h{XbuLvJ?OS diff --git a/docs/img/1d8faac0ce4cf1206b5c2745df725ca6.png b/docs/img/1d8faac0ce4cf1206b5c2745df725ca6.png deleted file mode 100644 index 434fb1b25e655802df3c79feb6f71fc80fa29f95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10338 zcmZ{KWl$Sj5G^hxIECO)90~-t0>!0xDN-!BJCp*&-5r8kaVHd)&|nQxAh<(;;;zNs z_uju}zjkMLXYQRdJ3G5`PK=g@68<ZyS12eb_$tcsIw&aUAQTkT*BI#kMaCCs!~ZiN zEj3+*r>CbshsSKJ+}wWkF={fAy_*kzevB76;o#ul;^Mw~^$HIU4*&q*<Kq($5D*d) z_TBrvK|x_VR*{#{{kn8)GVZh7UeBgsVvpCeKX5p5y+7w?&w4m=v#%$1+_Egu>d_hS zX)8DA1@${K8d<(d?wW*(YD*%^XL_=r0c;r}epc-gdEWTg66J)mE1ccj@hDda)mGJ1 zw`s%S_$P<x3f5tlbywls+uQ+u%>?tg+}qRjIf_pXu@z<JE+V;pP~WcmGrVRsy{sA) z^ESVQUo&pG$J?=4GW|z(P?rh?s3K@=@S!cYt84s$S7UT$XKNm{oU0Tzrm?EGyl3_W zZxJD~Clz{;fg57~2SyYegg%zr<<fJ1u`{}RW3(QHnB|3otkZ;2E^cN*=RhD@A*GWX zW+P<%@a~tM#acOVb0OB)@%Zs_SJ2CY%jFIsHsB<X(pkWAGdV5V?xj+C{!{Osh7TU{ zsUM9;VqAlJ*y;oHgxb^o0@+RF4STruL$Og}w`e^;{9f)X>G^bHo-+GEfJ?ggDZ}N) zo{uYqnPiv3S}w}zkS<94EOqoA(!7`(?~0lmr+IoJwX(Xlwpxr{UUR@|c7m|h>oe@O z8$|N>yU%6rEPG^U?Sw8>VB2KtAN$MlNVB}JG$9A5bva~p?~B?bpsTGn$A&N_8s>U` zacI3-CDAiN{`V?XkAvprtW(CP`&6wyLC5Z5ffru0ALF%K9^#P*qp=R@_W?e)=Fkon zTF(%TVWPa6){=h(XEz_PS!;5?EEcqmeoNuy_uDNux-J1M$1c@6UHD*_AOq`1tsi{5 zoa>^YG-3DpH1Zz_$I2Ez!cXp(w+ngm*)35;9QWp5AG@fKI@hru1}!f`4O>#!CAPVY z06T+&gR84qak+5pVZI%XUkkLjpSDhRi^&m}udNrUY)4yj#K3c+XdjIPqrK;5;3~n% zBaDgnSH4|`U5CehareJOu-$zRLVS^so9$G?^P~*tZ~tb|kXAK4o8=U+BgDZ_s3idb zuxlLlO>`yT{vyL_aR}A38TM^a$ZPR8^PH(5NKEL)c9icU*dWvpJeDKe)-`kh$>eiT zqz&s3fIvq>EaSI<yJQaEp1n~bzq|%f%Ba9}jZcF4mcx3!J%tDYn#LY(PyJ~>rWG06 z9@Yk)!x~pi4QWYH;F%E2az~s*r(9l2M!o0nfTavdZvd*Dk#k1=1dhTmpWd)>b5p({ zExeBaW<bjn{7c`L#S8GV+CT$3yzc7C9bYXEJoEyjZXahl3HN;iE3b;oaUx*`myq!t z50wQWr%&4c4AiJrJhpSe9yFF?j`I$2qqV&T+O{?t=3GaqKhRp|I7`j2!FJS?Kq_vr z#7%(@tqAf7PPqBij5DHbKp?mC+kEcmeP|1v`6Zs)SZTDk+HbxjI<2~LroxvhTu4`3 zZu7gRz=nYa{P+#Xa8A_pUC+J=zxDkId~h|YE!Xwu$B?R3`Zu^i1jCI3WPybR97Ta2 z4qo8c`vXTBA4{ciAQ0+HTjK7;+GF4)zt9!3Wb2EkkNfS7{?$Ke=g|9I__#^V=fKdB zyp>hjXH~!@MhZvlo6S`A|0YKa35#m_|LOQm3|!L26adRyvj5N2|6Qzl1z`6v+->#~ zda5&dzVlA9=89Rf^B8qfn_b`zGR@b0%K3{LAM-=M?XCeGxqcxETK)ZNH*fYOfvoL* zCn(Xfx04*<5{fPHjt*k<&Tq7D2Xe$H<{tWP=76#{&T?t@@6E(88WX}+M#-5X35!)a zRUj@&lwj;>P}>|d>2$7KbwL(lZ-xSLM%$f7w=w0->3&rE<T}bCssG_2FUu!Hs>eu= zch{?|n@6Q@_S1*uHoV>oXJ0APy-ZC?f^nB)mWRJ(zg@EDTYf;R6z`jze`Wvk?4_O! zfx3E3Y#13u^;&p|I80}{s!Hn;0A29@wZx4Ts0Q6DE=D?}B3bUzH;ebx{B8X|U=7hJ z{Al__$<+guxEjGY)c4os`o8<4$E}Cz5bWxP5NU5VEaJKa)CIW3Nwp;ip#J;oO}Ox> z)l9TsiLIauFW`p|ZBF%dlGKW0Mpoe+p)~o6i8$Ce<VOSIg4U$8)mh(cGO5nlWFFGf z{)3Gmsx|Mz7~Rq=dn07?kG=~Vmr1o(+(a^EK@cY&)JM)o5?{@>K`v;0DxuwwT7T1} z9cx_%-7;y*xB?z_uFeAb7V&J=`HVBBV0N&CTn%op56Q+)fWh*NzH)<Zd{@zRxJ4fv zC06Y0d1uz0{^lUsT1!oQy)BR<&9lmcdHT9W;U{GG9uui!qX*%z@m4#31>f1s!=J2a zb<KXsyvG@mJ<=_v<R(?Y95s1~Ws0IzT=n8DaiMgDC#x-9RYNBq*{DeiU8}Nz9b7h( zF4`?+XywLBoarZuA|pcCS(tb+&-lbQc{^_Z;YvH(Qzm|s@1s5D53Wqb%=ZxT85j6N zAb|4c0Bp2{m~|Lz-UA<w)vW<&KAQHpi<}m=1--}GO{a_+zd_JcmU|U@Ue1bSI0kCA zntQSd-W9_PA89?Eka*4xqSbcD(fg%UYdw!<6Cv@^(g(SYrEDylkVN<N#Nts@+*pM^ z`f3)e0!oLS9A$K*D1d62GUcJNjz@pwm83*{<*?Dk$BxoFZ#w7Ss0qg_VTnx@q9*X) z5@=8wx=2m8Yr4-vHBxwE9>9sK--mR`Rt67&`y?Bk{)v8H?KtNjO*5_knCoGYlDip6 zfbSZeYQ^Z$%tXSK1D3*~jk#Sx1(Pug^x{SvlL#izjW{Z(m5~#>bCtp(^HlHL^5zMN zAwIMga(jgNH+LEpuC!R*>U~NEI;nKAmrwc#JL9X*J#&;$1XmYN8xu-(o9t#by#@80 z{eb0l+VaCMJF&la9rwO%_wM-o7ag={qMkY_IWqaUB<}W9-{R59vrYg@@3}hi11pP9 z=O3nY84M)y${_B&ss8&?Yt|$mBM2ISWLo+6nBF=#s$dzOSoN>9=@^J&$qZ`K{Xqwr z=8(9xqXPQOoQa}i(Lsz+phU1*X3!J9LyZ*$PubnZexurFd<yTSgu)UhaV)I-#Nstu z!;oCRuW0K_O2LcVAPF=8t^pTf3+DA9wRas|O#;obj(?t^t@Pq=*DN7sB<AgjYsh|5 zD$V5|*ut7s(kDGb8c3&M;mqZl$V|qlDXZ`^t}M8P-BXqMvZPjo=$oS>nB1>&BZRob z$%hbBDv>bwwZUG|$j6=;q?&&0r#*MuHjUPHSu!S_gH|qmAPO?Xfbe73v|UNHwu&U` zDFsu~H9lB6AMifQk6}ylC@jugX5QvZ92g1Y3DR{!ZyYSU+A(ZcP5sgrLy|u|*UkS5 zz(2Hv#n-h{2UA}6NqV3Rscg^zThw(v`+}fmH~Zq)V+$_XKkWX4MSJxpSLz?cdMky9 zBF@+X?S69Lvakgi<QcWgr{z9yKjHhgy~mo~Dpt5VKanQYJR=1TwvoHzVIhOPg=qUf zBWlQUPdcoTPU3#o4^xP`&%zv(H9BSNvN$&b)9vf3F`Z&**x)i<zIlU$-rMB4@1xi$ z(ZatR*9m0p6I^<Lvg}VEze6>%j8NULDNN?ZR@*HEv+gr9EswNm=iT=kjmXWgJ$>6m zWgK}Lu)qr&CuAUu8?)M*zv?c;TehO{0pe)!{_l~!lGf-;rlC=<M<`0L{?=rLb*!}A zfO@~6j}76s-h~{axa)g#iJCiq>W`r9<4$LXZnYjb$0R28KWj<EQi)UMvxJx*&%bOi zb9K5qOz_fgGR~iPiMnnBC174XNvCHq5z*8vb2o~{b_yv!nEeb_|4I0K30|bP#)ha% z$5LZMzO_?<OSnIC(!zNInnescnru!?FLdaTd>Y!9IHC0Bc7zqh8mqHW<qi?OCx=is z8hGq&?65JLo{QF?3pTaADX*dGN~(Kt@GqB90km}~m6OD#DB-XQd2vNW@NQ2<6wk0} zjOUl@WL(^Vs+&ZU*_UrS!JG9E@3?XbJZE2*jF*+AIkDM!DLw0PgBz2Xo<bbsfCnR+ zIeKkFS|mZi_xJ!+NzhG-(P?Ub|GL0TaS+fS-RhKJ$+qZY{TLs31^s636LNjpueTD< zdm?v6B*Xcc{=9Ru$t>{3NRD2x;r#vW=H*u<_`2Hl>IZ14tH@ZEbVts$CPsN6Iq$?6 z-Ff8CKbH;1nkVUtR6$gr`^&GhP7h%)D}7PkLWtT|*vh6i>hDdV_faK2RnO6Z9EB@~ z@9ANDtKd&k?oT9l4}E`E=mmk#=HLYezkdL^$Rdcd+W)mA{I5;GR+b~`kyM>AsmfJK zJyJzIIauY&1ok~h^O&AB(RZl?fb3(tc12;$w$_Xz!b((;ed2ifptne>#~sH0;iVuo zRA%^XjAg-IBR}qSMHv{3g3YYAfB8G`F%mcoxw;>gX3s-_s8IJWlLX@73JI1vQ2`_X zCIhT@>)$mVehb96Al$BOp3`gAksLaQ>$jA3{0&Bd1@?Mmm^3e7hi7aMK$QZe{e0JQ zkeTT9mCV4K3mN6=?FH<firN>vQXIc-TomQJkW2|6<J<QE6je`2foSU&Bl3HFbm!)# z97j?8Zn+Dt=ZPwBJ!?Nm)BxU*gQ|nfr5qV{L^Nhnc}qXMc2n0fFxGO9U*&Z>BHJ&O z?$zdN{N3I+@5&Z7{`|KacSe^`M=zmKl-BcN=b#hV*fauo{7K(m6;ty3LAv%zx&I}7 zhhrd@$MuL$#P*A8(A=5WqM@}@LA^j)Vcn5X+}6#(y1o{GMlNXWiaLJ$H&GVvIeHI` zTm&gWy!MOP^IX51cD-5;tkvjP)k&JW@r!Svo^S&9w^66wV9ApZk-!JL8#k9G%yvdQ z<vJpQIr*Uy?thZ9<EvsZ^&3n-&{UVl`gJmg(pluvc*lhuZPdFE)wK>a+2|N%n>C!$ z5^W^$?Yo+n#4ikbVn_Q*S!i|aE@zPpqP{^*-z<?o#y?Cve7P<+BA-A}W5gn66y|*X zH3sklPi}K<Vf|ZvgX*zpp(m!@DlNuF(4lBS8;Vt}Pk#=;6-UFWZDxcY?pmowF8ulu zz#a>KtY%2$AQ-$+AIxJ?)QI^MzDpm;HTO!61ECeik5$fv3!$t~@qslSEfwl6E>cc6 z7`vJF{6x^0ZmzZKt}-KH>$^+(*k*4)yjhnD+T9$noyNT#%?Nrd2}UuyaE=I_ykZ)g zPBVl1Wl1cXwJRFScc2D{gq!BWuF&h1Nmf*-G}HbUw=DUiXq9M797yg~FdN=3guCB! zkTtm5{EaK2rEA<^sTC||bWHl*zBOM6`dW@3O-_1y{Lm&T9@~);Dk4(uLEVryJ0w2z z&+ILT4P&H$v4bP_{`FFdbTq0iiRFfgMOwcUASzlTukWv5<0%eMqa6Xe5^I$%$ep+S zZV;`Ye4mz(7r@-F2s<)_ox@(XFJBXy@T2XHhn5-g@pAE_`)La&g3|Ebqip4mg1&P9 zaP<_0$S*z-)1)~cl`&n>$Yr{3>dB*CCGMD}hg>}~dmt^{%pAi=zig!UU3d~GD>g9F z3WKBGzDwWcD=+I`bi&SKg8l?U+2YhtFtB9en$5e{yY$}<gPGsMly5)34D+d-hC@LM zDN^Ezlr#cg=qKaRR|@|K1u$OzD#?)1<Q_GovL2%3E%%!R?NFZTPzPkqJ)Hu}Z_^Dm zp(N(XU|g1@^ou|qEVPPpFfe&aLu&U|@H8b@@i)sA&6Xsj$J0;)@9DxpF`Nx9ze<R% zcIFh$R0A&B)pn2eIs`y5BfwNm`=acSM@pWMv$#ObbV-PIja``fX9FM&k8x2^#<O7c z<(*cw$QzhizFgmT6|6Naf*j^6w?xZ=O@N@E>3BE+`V9H~lMreZxO?`wCeV@ygDGzN zic*${pwd{3JpjocXz6ry*0)0Dt^;g5V=xb@awTiV%{bB9vQ5_t5c`UGEYn}PPM3(E zQUa$f&IjT1%S3Q;*_OMZVYEV8Au^Qidz4t=>1d2MFeBF@1N8_JfVM;*LIfbbs2O9v zAg9fN*Mp+<m0J6N9tREN7XOB9i1O8%tTYmZG>*3PoR0U-XedT~93@?2z)cjj)E&P7 zsufjgJ}`;r;w%`hb6X0VP^-J7c)+)q!5%Uy2O>a17fO)E_$)~(VJ1njpY5<;`|QI7 zGH)M7JQz+dr~A<H02MaLWSY}E(sneH6Y5u0f@GoK?sooZ8`#wL5N^~jcaCQr4}gLi z(C)NZzYnN35xtv9Dx~DZ#f{cqX`VEv?Y9xSxftg7w=4*c3otg2B|(`p0Ou?t3vEi# z{+cr7i5Du2_nj7NNqXZLRCp`%^Gc`BeR@>;Cx$7y`W9j!9{&}7#E`#bI@It9bC7@N zkcRIFFguZcIpjVQ_n^m3OMh8<)`5dA<3BT?rLYzMMksjlA5N^u`*`J91G02JhMCM) zO93(KvDEKaaa5(lt|Ha*Ax-^XMU%5Dam#pqp2zgn{yi8uqxio3Paz;K5!(SvAAf*x zm+TB605M?~6m#&!=-i2T0|y`BYy#OHU-v{`m(FJ0a09WvD^qs&u_yeEZcyVfA&4vu zxn_BtE1ceQN7AXz7^75vWZH-Xpqr_@U68e3YHI(@9w!HEXQ23gIyxC3(}(}(AHo7a zJ!}pqm*G>)lG{G$-PqX$Vs(V{|4E{jBMW@FWlS@QdFC7TEMdb3D5hGOZ=@<p3KfwN z{c~rp%%;^{!wLBNOY~}|8ln{zmOX))3*sifk<+3HMZK!jI%2wu@js=8^BE8g>Oyih z=R+t&d9q}IT^PLsF9-HhdlmZ9@#-N{D6zm%wI?Ay;%MSO=%+v0H?l}7-JIwX$-)Zh zh`tp?CILm~<tc7Wp>F*Gh)L9$0{YE{WJPHlZJeKyxACLe_wQyXtFr?j1-OZ?xdewH z`uk=wOo}B%mLNq67Q`K5Dk=fY`s_d!_Ia{4QgK{c`p~1a`@Wwta3jWnT)TsCgDyLi z6+n7+Vi7&A>(5Xo!T5%bsW^fcmmFfnm}VRNc_qnxDoS-bgq(L;17+$ZA`Y+292;3f zouR6g^uR|$WeMh$LVAQlM5bvxQHrAH<^xsE%F|O&Gug@QfSbTibR$zO7dH)H>f{2K zD|eeeKeVIVM(hjz8YI54AsHNqkz%@P(yT)P?EYm#b4U*;dbHalE6dbKc_vO`hBINF z8IM*FMr>k~WMf1`UGk#z=e@SeWoW6M@(csyPIt%gBjm7ws&c45O61PEg^r_tm%RhF zhmigC`|0r*m&Q?-Qo+E___j`{bmqhNIJi~L7(7W)McsT5Gtgr;jkV;VBi)jS*gRCG zgTDn$fP$?=&1@jp;IsL*e0h#*rg<)jFrY#zfqx23sXb7Y_?lo-Z5qj|&sRCUlETN^ zo8=fC|GA7Nd_C$BWwX1t<?$N`g)aM;W~h!Kz?OkR9#<;LjgG23&bQ#3nBov!krE9K z5`qU&(@3DBU7y79$VURP%QI)fPegHsY7xo;GG1>ns!202U{&51Y6uxfvAGe(A55X~ z8XKfn`q28as(Ca$BHEqoNfs)zcQXL)B@3{jboRZ|axz=3FqOhJmH~Zy5yRpi6`|Jn zdHYFUk)EsmaiV!&iw@t0B$>b_XPHvQD1oRgjnAe=I?e<1hRmQ@q5T3?jt3cFifOrr z+T-O@g~H-&sun3vv|FVx=@T`X_Wfg)njBF%*B9+*eS6n;Ar}mDT#(3=4zSFPGwn-K zO6$|p(a{m77Pyl3&cc}$vA}Ph9zy<|sH8mJBfRlvCl#DdwzkG$enQ%qC-R`OR5wgT zj@CYMD4LkDdSXFj;t+Z%E$yMFu+v3o_;ykn7z+|&q8f<Apv8w*w9Ezsm_oKJkrWC3 zMeqPEaqB{P-#q|qAIy?B0#G8iaj2j2aUb#}YxwO32+(`}<GvSK1hn}%FfAioEr1h_ z^xAdaZuESprJpjjT@h%q-``JldQ?J`sc?;haJ*ChL-{$Hi09@K-nBmA+&_FUGWIBW z8SkL;wpMT`@wVZQENJ>Ls!uF4;JCW@=1f^QmmymBOWEFq)(qE5H%GLz0bP#vn|CCP z$p;`xSj3G7!})mjgAg>^0^00!G3)j$-0<k`=IwkTFcE9$&N+5;RQv151wD@$?>fGD zxo7`D^@~bYZ#<*$#htI&*%bM`Wc{i7`h90J<xxg!jQWgCML8Fr8{d^jV0Rw`w||6x zI4Y}jDh3Q9*&|`yIrmTy?bK>m2sVWfI=?3z=RmYR(;3}=r9_1eQ|HdO2Dvn6jI+h* zd#NJXW~iLAP#<%fWbb3Chx9z{7-s`aMV{zfi<YQkPClw*8`hmA^@({87t#4GD>k-$ zs`1sDh>XVUCVZ<8$7Z|;BQ6#B0!rTk)@tbi?v~H?8t#fUtEG5rv4=!PMgBP_UHN}` zW;<RY3$i2q<w1ai)Z&G>Q*`EiCcIl-SasS3cd&74RA`(aOHRA}N3-3h4#kGT@v4Gq z-{q-_C@KkV3@i~JW~qTxVc;{Rc>d7gS~>1-Bl-`kXwaOrCq1ZU*{ao)w;tcypo>lH zT&@Sr+}bNm|D0l`+<2&P7XH)kQN$6s$cl@zz{9u2jKVe{T7`Ls(b(r)7k5w>$^CoF zl~2wQ&w!iu9(SYVmi%vBixq>l1BTF3a*W3#&koS_&q?l%W8PK1Z`z#SbKMi}D2q%@ zFFfCi&c;r2yaeog2CB0n(e3MYff2l<KW+oldw6ig@LB{$`4+8vm+CG)Ew_xobbSYN zA7T388t5Xn<RtvfRkO-7Aof1buzZ^=L!|I>`~;l3n~}1ue9NZIL36KUk!oI;L(+To zFn&hAwPip5oVWhHke;RH>vVtJdCB^e>#;=f=<H9&_Pr&e(>*xA>gC#OA?(1~$ICK_ zNFGE4w`m*m(jBFZdZ4)Dv(Dw~O17jkiBUFzeq;<ma$F{{ML{cM-{N$3+3K&})D0p? zGbi=qJwGU6nYl-EDbV#_c$wamV5a4b-Y;qgI-at$TAY=fFKceTYc$o8rRrZ7Y9}<x zY3|&z))w_TsA|raagdF}G;or*iE{ciEzAy6V=ip9xW$7Zk2ze=c=Z-Uhn_yRlu*~U zt=(~(8|?7P6sSQZRYU_<$n+!dC8?=6mTQRBW@SHTrIG%2nKPV4pP$G_0I7egFA3^a zF?OHU3VU+Nc-2_@OK*&Cg}{IABRQng$p%lr$jaNWw+Uu7+vbW*7{4FQHXe@@Cl$3; zX&&P2m^DbySI~}@Jn@tSX&h>=y9$E3nrkmGuOT1e?lUoM;1Nd4)~)rPQ?A#XB{mT| znCto{VF=hBuEp^O9moEj(@Bgsd<MwzT94=RpQ7MqVqhjC`tX9ljTog3tIyIixGn_U z-oE1Bz6AgvLM5Qk`_Cpq5*_MHu#N%RjqJRhqZwISU22(_02n9C?uAg^U<}is51D3) zE1PE4+PB`6`0H!``zP!cFQC}nj78t;uuX;xLzHE`DkmKTikl7PDWQ_e$bUENhFDHK zw>2$c`6n(meREL+e?Fw_2uuiHrK1+^kJhhk>TY9OkdlVJDt%hn4oYt9Fz=8P#~OD= z>d`^O@?~lLC;5hqJ>@>vP3xCZSX;Pm0Bv7=0N*Sa(ptv*Gh#S)teB+Z`Sc_<{Z1}4 zHA<nzii=!1OZG^vhyNn(=btxt$FGq;0mM<zySM!d*Za*!Yb3~W1GBmY*_EP}kF#h7 zxNC%sj-3>Yi!nldFJqjWZt=5auB6#4t1N5cC+&`fq$FtJHwLrZtyV&`PJVxzDbxFE zhFq~`=n`q*<m89^gleXN4j!4g>TU0_0rYTTDhiu2DB|cTD+}73dT$W#Vlr8bcboYk z*Fe-Ntb^QKj%lxmRS25sCu!=+-`Me3-84~sJ{<6F3Fq{D3MG!;^JUEF>yq9hOm$Sx zQZQ>+GW?H5!NT`7bc@*tTjg$mY**h2M-+sKV$ja)fCylf$#*XH*m&X*EXL3=yq|}c zQ;K?!SOR-*r6rsw#<iK*WgAS1#}gyA&9*8`H;$FY;j+n`6fvld@CG>~uc#~8D^TKi zXWoH2%i5Zhvf_p6^6;CoYVHSh$eHwq0P}P%+rd-5os(^t|Drh_oR|;gR}wsa1>>6V zJH)~dH$j^Trl|~DI;`2UGU`6r;EgAdoj0u*=_FAQACfB?0;~{ra~(BaIzKknJWLyt z5kIAJBCTs%NcEWVinx5F{+jdRa%|~`kJ#vc+>5aYN$n9mp=gnJ+h7AaQfqeX!ZoZ+ z_=EjhV5ElQV9FdL$Lcf4M5!M6wsfMOW+9S4C?@u+&PP{dk<I2_)a0@281sd8r+p8z zzRGv-TgZT3Zet|SF4`Z#XFQs8=Ho#fy2iy6?v<BwAsC$h`{_xIIY*BEzE)d5%?TLm z^}C!Q&Hf-f-y!v5JNv*4a6}UDMl}Pe84o}kL<_l)(P9)Mn*Av{PWPHai8iw&H7+<X zKh*9W&b1k+Wq_k=v}$LvTF)?0X5cVdD;rcqlr#bYZGKC5B|yoVwmSPL@3|qX%P28D zl=>Op>Ikm8c2E39aVTI{S?u6`*sjGGQl@5|f;-q%Fp67Z0gm^_S<@89g`jaWGV))G z<C>*?%xsRV+>xw=5RvMtV!~@;2%@oHO0@HJyUXyC>^QDy@w}|U*a?4TX#2@|0}B&T zP#BrtFSZe%UNvHQ@*9CVW$;G;UX|R$80$RZzgV!enK(7D6Fv(8BeTOj_|FJJ0cbiq z{LPLzda5m|5DkUCAKdYo(HV|1(Tukb|Iy~ivXsyA@9(tSM_GV`mQLLs%uihh?Lh17 z5zoUa;&=y~8CFf$cuGeSD9bkd1-<PJ=Z6pDf{{ClgQlUT1aAuwd)Hh<1}ngfbFi*j zh=?a+9t1gR^z$kPhZO-zu|dzMKxK>k2`nb-K3AkFFH$`G+#VM1PICBBtIQd{s}T$V zIlMEi_k`{jG2@hjgp%G9ExwbYa>!D*!~I~1C##==I}_K&1H+)HuSNSs+V7~dxi_ji zHh^2>SrCfIm%=T|UD8d#97HOVD}Ju~`kjWgv~zN7=6)a)B0a@Z*$*GV8!D$HwagUB zvGfg=q>sNKDdn(9n7DTIqOt+BcrL`KF)T82s>n!oAt<>WIO&b+U(J$srFqP_l7?tG zR<=9mMeBi5P?RCt<(Vcjb=suowhpKZf+P4D&xLE`JJf}tLJ+ra0a#e0;qfDjRe%=o zuV}Gquh1&x@Jb~#xadaFyGewdtb{v%CyL}C$+i~CKBe4Fd|0XDN4X|c{<pd@l<~`` z#6B%;@b`)zWoLeb?JB2!6wM4K$QZfA{T_Df#$GA}Qce_;$_Pm^*C7v2o@WqT_#*=! zcIFT}PjEP{IfyD+@dTb`<D}hr{0JNtfY?yx0fgndUt>__$Vgz8bqPNEVfP&1%P!NV zPrhfu$4ajGDC1|_lF!T&wmE712`#-reF#++=z$&>;MCoxM&9s`gNA6$5x`s)AKvAv zhyA@x8Gn~8Gka_`0x?+n_sOj@*hF;tY4n|%;3hLo_B^hfNe@<h_@>_>Xl#N?WtvWO z@=XaKej*!XI?cvnf+df2Dm*$PQl}`CszPH0%CN2y%vo*Hrage0l%}%G6gb!@qeb<F z-S#%@{Y%q6Xvr5QZ&t+c2a3)c;Y1SMKEl^2MhnGsJl`gO*vbCe@8q}d4%SAkv{MsY zrvbiZ<y|2Fx0tg$?Nm0`1`}24d_$D^Bi||l@6ZwmiUE?_7L3dqV4Q$cAe3k475^C% zi7u}^VEyascm;-3Q7o?$vKK09NxRr8NkN&m@UuENj<{YxYVi=vU7ZTqW`4sfB=PFP z<Wt&C%$7CJf%<Ersol+=#h}F>g?n(7ykTOfT4ST>y?3}d45R7?lZu8`H;T^P({;O+ z_4_DT8v4g!yzs<DcPcEjsY;z)$ex54qwsgVXqf?RsaZW$`CqjbMG_B9hEimPtJ)yn zfeCzH;2ZL?DY5)Vr;C{wmU-Rcu@fRr7d~N(V;mx>5s(mC4wLM1w2!i?Z%hcjUFeKn z$|upyQ6o40KcPg%m=TpERP<MlzshmByezcOARMg&$yIzK6vUmYX!Fd~J6UPBo|VoJ z41=N=3DY+Xto$K4+8>R~CvYcq=pqUwi1_y?8r2lNHmmsrehi@DCKB<jq!Zh0#XPbR zPzm;@r%xRM<Xk1OPPhTA<60dRVQXZ$F;_B6#F@mx3>ujc8Z(Vou68Chrn1cXCR<*{ z)P8BRj@~=nbp@nRBPdK;J-BQt=?d70wO1|OUsy`wyT~<Ytt+rS2k%5=$YS9ZJXxUW zi9IVh(R}b!!|i+0ThgJE$SLb0_SLQsZ$jb<TTw=$HPVcbI8IWKVrB~#2}Q+jUCi!P zR5UeOh6*$GE6x*TXf@F?PBDLaj8@Y348{HM@EEFD0z1BxGE-dEsH)DcFtw|QVgaq4 zL>VCzZ5zU$?te%s{<LoF5LhhHgi`b?l~*%B3b05u*@>VYpo>=7nW?X7Mfw7>D5Ox7 zFwr-Z14OhJ*`;_~paaoxP@h_R<sW6m>8yv|u)iPvrzq<GDQ!?q-!o4)rFf)w-P}}I zTKCk+xwz-u*h&sLHAf9}e1}p#_wakm!sy=Lz~-x2fJ3iR%J@~pa0JQ17p&O{==fX( z%0x~BuqXzDl|06pPGR+8)Ex{=$+a-$!DGp(pR&F>48iRH#HFEcrW)*O1E59H*L>h; z!!NdjkDSSB^N>|^fcyM-u`<o2XpVd4{s}2tQ+=~So1pXJqVAlqj8t4x!1-?MYkUWA z{dn6lVmp`B(c?&De78Bv3R_KeHw9J;v8=8a8>2A1_YG)%))85q_3O<mHCO0|rGE+u ziun?lAZD6Ny<NMr4unuI6^-Y?muqQ#z+NPy??OLgmCHSUPBS>%{qW!Ap1Yb=Hp};7 zk;tJjmt*;P3$O)DD>Tk_9Oc{15vkinebh%C;0t0&^aU)|rVF87{xG$|Ks=@gZ*C8+ z{shp3S)n9TGKdXb!JLGbQGrW>Z3(m{7F&>E^#2&O%i&IgBv`GXwAXl%rE+$ZxD85q zlPf_J%z%0WW;d-;Ynf`atF2oI?O1tkf*2)=8IBna8~@cO2afV7G|g&IVvqF)Vu3}? z?j1SJ*%Egk-yi9J@&Cv2)pwTd0FTI>GPw7pb4N2RN5Dv_|BCxWoMKG~V3VxWHdZ{P zvwSM4Pgjg=vHe?pd3XXgkAV`xoZ|~^k&xi~D)foVds$(A(ICJx9z6g+_HO8%O6n2Y zAx$8Cj69Z;oKoitAJ||Ng?aXczP!M)_mBpQAGi7c*G>OZAETLWn*W4SX7d5|*qp9o kQJx3+-&*g=?q87Rb&`wCvuVhGqCpfD1r7OnS#aq80M>lpi~s-t diff --git a/docs/img/1d9bd6ef20c22f103a6d120b8c673b06.png b/docs/img/1d9bd6ef20c22f103a6d120b8c673b06.png deleted file mode 100644 index c9c932108db67f46c961ee6dce72eeb19a46e091..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16559 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 YPely5Z}I;70|AVJtg1|{l*#x12Wcv%FaQ7m diff --git a/docs/img/1dcfd40d9306c4cfb80013c0cebdcac0.png b/docs/img/1dcfd40d9306c4cfb80013c0cebdcac0.png deleted file mode 100644 index 221115c8dfcacc97a7c825f948bb8adce8736911..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16288 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 diff --git a/docs/img/1e0213e85ced3ac9dcc079f0e1831068.png b/docs/img/1e0213e85ced3ac9dcc079f0e1831068.png deleted file mode 100644 index fcf79604e283ab7f24d4d68e310a03b6cde81b28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3825 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 diff --git a/docs/img/1e1a93a55568355165c7529b5326427b.png b/docs/img/1e1a93a55568355165c7529b5326427b.png deleted file mode 100644 index 1dacb5dc1abfe4b0a7b46af9ffd0748c5f10df0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 209667 zcmce7hdY~5`@d4uZfQ}os?^?F(bAUMd&P>qx0s=&s9n_>wQAKSR$|Ad)GD!J6Fc^f z$j|$}-@oB^-PdzH$#bsfoX`FFoa@|o&bbq#t*J~w%0P;Thez>2<*hCr9<kNkMSY*( z?n!e8`tRLMNLyY1-ObI->G2^KC*Q)_MxpUru{O8q#_uZOtq&eNAR!?kB_$;zBO@m# zr=Xyqq@<*xqEdf$NP%|`5AVa<H~Il{dssCen?K3?q%C3UHd@Rd7+lKmk)OHK`D`?* zS7bq_lA7#8BE^600Y?W*%vzR1a<6|}mvESiLJ+<8@9in?eL0*yZg^XzFrB+QdbWA( zgKfGs3;X~7^+fQtpk-lUfBPD~i>tz6rZG#_o%{d80pA*(80@h4FRHL{Rsf%I%YQNA zz9|HDx(^vt{}()bebhZoX~ty{edoj#-S7h!(;WXYYa~v+8rO8Yd7T?pgIg!e%wGSm zpC^LWK>nf_|L%^#v#@ELIqstR4E`gstq<}aBH&v|CKiyOhU)*dT)=AuP!W7J2wcn* z&fL=C&TeTeHEA&4>w5kzpwMA<CTiI3Gt_@fVb|`;-#i66NPTfu;qFu|_#eZ?2o{6Q zn|k~L)6Vu%p|@+-$N#b1WAB@O+iVUfWf^@;>F&^fENoE?m&9M!<7SdZHTic^tZ_Q+ zKZc7>8=irtY0>fTiN`m#x3=F*2h8G1dDDB$&HJYtSN_wT<#N%q)oxJRR}QGlyeBvi zd?k2D%?klZtMM%W&yAsWB~|}J^GUF{$nE{9b*eGaxsBHLzX(eOJG%_$KbwC6mTOEU z=R0#eYq=ZcZXD&diYP-Dj(*d)AV69<J*eHy%CWK%`#-d}tF&+bdfem$F~EiU7dLw4 z4`Tkq&K*BC7SO+*8e$YSylK}!7xtvH$i=k<px^)TaZj)XZ1BZdZNzDTiZ_Q#;uFEv z|IxRK;_EhKm#ysy`s9`WCIKK`5*BbD`hO&>3CewNEf7QALjO`{!bXE$2W!+?{%5o` zi*u1ZvkLyd2yqwd8i?GwK{WT2n1KV}KQ7!k!5ZxJl{1HAouPbR{tNJrnB_(5f5{#j zA`z)40(WIiim1KPs8IS={dMnu4QlKkQ?{ao_cVdSFUf)z?){gfVoM3)#uN2=#fpSO z-vkbpH|0vn)y)3?73fRaL~-^5u84QwM{4tIx}9AX!MXq88&_<(V_de;`%@<Yi>F5Z zgN<4Hy_0VoYE-Va?SJ4}+V`&5vr}vNUnNu77}s`peJSOoM*T<8u)QK1&gP=5#@jfP z)%LF8zrq7D!TxhWlK=N62JXrUIvq4QSikD%a{g;fF)$%C$^6OdPWwCc{llbHrHLfG zC#?l-V`TSdNa7hw8Y_LW>HGgD9{fU$<LftWgteee4719s`K{ajoJ!q{<=+2mMh>wI z&u#sf01C<4d&O|<>l(WQ+XRC7z5Yu%Rr~4lJztmJc`Jds9+?VJq8f=~lj*th|LC}c zEn<7&wTx3<EcKE5Lpasr{z*C5LUz7n$U?H`KfU8h({^;LMd(W7t7g#IcB#g_CxdJ@ zub}vuUt<3^Iu4Vjr>=}==6JbD#a9tLrWc?qJ9^~z@=nZ6SnjN{AWk7LVq{3{hqP7G z_A|ZK4z&uNDB9Gi?Ip`Rm(ycx_xDa$5wDvG!ofXwFd4c?nTIvRSQ&iVt%TJ`JBl8` zTu6<tqSA*+w<mGifoB(4`K-)?GhJn)25pYO;itNYIz#M<(%e4kGFsS3u%GIYNz0ps z%Os`nKk$do&>Op9C$u1J;9@A2fHm|oi7K%b<1rs@EWNJGx`^^0zSUHM`RI-w?;^dx zwhgD|4P?rTIo;7082`+CB*G#mg@)w~%A_8mX0h7IDY~mDIg0N0#hE5GAz5#qdD&pL zdi^y<la3(@w@TYDV7MD-*bQ;kRyF+l$?YW!?C)#ux@L$AT0~l6t8ys4j~3icaf~o+ z%B%5ri>a7Ze+AZcT<BI=zh@9r$1f0p0vYQS3Vy4*aVGKhNE^klq4uL?^Ljed0dt1E z91lELw8Uv@;m)zqe2a)j6RU&FMFxj#0)3G0FK=5t6sm)QDlOX=SbJ^<s`AkVLE8&% z`eBRm){TTm$pk~kmb1g4Fmf|+%M$HgWVvabtfiF4<>8VqnQo)ph+W+^BW%}M8tPRZ zCg;Z6ExAm#v|wly;xD6i2l=P@@_{?dTP7qR8D>M1bFhO2;@`Wiu0VkHb9;sFojc*A zlIzZ>F6^pUcEb~v+7$lwn$q@b9r&HXESHv&ShFuSuxD`p;aKj1)hBYTaDMrUR?Q<j z#;`W}?)_KeVhV|5(Cor}FVS>7bmf(|%=$}+-6urN%{{&fm(LXzgM`U~5koWQi)VJH zX$6{RfjA8AYPn2(B`=nb3MDyE_vf?#&_T1{zCQ@!=vPa-H?1z~mVJe6Z1@nA(?`Re z-H{V0f5`v+Wtj8GHw`kzoL`A)DA~;j;>we+p7{Y}u0TM-(d{!DIfuXvM^(NG7JnE- z=3j~Fd6W@hQ}1vwuL3a)BE)dUu)$u3ypVYSZ*Pe-r%8fRZA2fhu=5Ir1zmI|A9$ct z6pp3JpNYp0R~epQEl|~_#*z_KmT+us80PxSnAR10?rxFCx2pK-xg=rd?BiFaP{^~& zmwTGpirPk-=#hVfaRiJ;8E(>=S5|QKXnZSDGoMDn1lX^}j8sCT3Qrnf->$#}+k7$_ zK^DqW#zpny#S8z`D9wvu6H;1<EYJC_tJiskCWlc=H9}HRv{0ODTyLkW*9%-!PuGUf zjXGpDJ7Q}$@H~1=!|PRZWN*lxoZG9+m5PmhOv}~;aT*)w<hCsB?`ourJ3K5X`l^B7 zIHiTmf|Z=Z*w`i@Z<bn(T=VQOG49E{MD+x(W(a{L<MW6Za3R@vPBCR4nT_!SH)5#B zXTkTII(!1tNx3X5<l1eDAfD_KEhq1ZJaRK~j?R29IOynYRLYQ4n2^i-96tdk*;L%r zqh+`5N_$15YgRC0uHnasj(Z#R^@9Z!xn%{_&j(6kf>p31SI-I!c^<lOo7?)2{ES2s zAb(0{`mMd(65MQGTT^8x-fiuNVDGVMDEa3?pRI%<DMpjJ7cV|(Lm|j#u4;}L4*+!E zVZFGf7m_b#^H{IZ>*sK=BP}TX*MUd<!6k_+Y2_&D&q#(Q;I_VtT5ZpamCC9PBDth0 zj}G*Cc8Wqy1aMKERsX~J`nO(zLIi3M3wqd+c`(K_>GIf(Qyk+E9qA@`78vY<vA@c9 zE#5hr9oC!uDKYIP+u@_J1Lpk$MNd#IL0h;5cT&RS<>Uc4YsQgHn-;6mG{>Nm!lm1_ z{g8k~dnbi~g`<6B%?;M2seO$r=1dJ54f->Bd>4aw1$Ug1P<&^9zLQC|@e&I$P%X5d zLfTCFn!`%S)maI_vv9c~jizjGwmE@y7xRB-e!&B15fJLTmfQON2*&O6h{E*A^rxL} z55KSVw@nt+@p(<Wd2<0olBf&NdH*I5xSKch<9kiDAtbDksmRQeS?Ced8M<}NyvBQB zl-<WzL4PA|;gooSr4wpA*zXijnGkup0^ahmB0p$!b}9Y`I_vF9eI$2Yik&AqcVWHR zsaV<zbEgH(pLI7ziM-tCJ8!Ef&b(kn`iyyPbI>&KPLwR_kjTR2VDwOPm$n7B`@025 zPSiOf5N)&X6l~#rfyG`qk<Xu;ua=<puqvp`rNqvzGIccX%-rwlJDD;i8?{EOOga~~ zFQ^Bha{FclbJrk}lO-tkMbTSKuXE11!l1Hhp<d|HJ|ML?WWOPeWmH^rjNesu&I_}- z3%yV<WNd5_&-9rH-va7|a=+vOHMJLE(B2XXZD4oVupx>09}1_k3snUn1@zyJgMD6( zV$eJ1XRpxDP&tXH0}KoUD)ipOe%rlZ8NzxL%g;{<F78`G!_tN@Y-?SxS+B+EJ!R>m zn}2G-brkWFp8^pe8Y=NI9)AhJ^-A-##yr|z2=;|U_8$SYH>E7jOGM7(VH5|U^$JUA zn8)<CP34v;@-i^Yd5J1HplY*GF0%k}R6SG(4rujv*J?{_hU!$0qSHV+lBgTR70=VW zpd-7^)UZ?-($TT05c>ug0N$9qVDZ@9bP5>CrIZjXOhl|XEzTb5&p9??^iw^}AynvB z64iP1ORN(;h>D5sjRW_p@~w-D3-np_0f%_~aMA^<n=<nD+K_Kg3&qMo(2fli6a*Mw zAKvbsUm&j+&}zt0=u#W})aFO^eA_e~>ag1XL}jjhHrye}<Q)f};mM0gEP@{NcCot) z8qi+Rg=CpagK1&pC*|e@M`0V>(9wj3Ho2qB>(G<M{eFk?NQ4#|rD0CR57gE(SD1^^ z7UAWH9-|y<zcJ2TyuEZ<nl@CEWJ1n{x(CKighAm6YJ5w3Wanxai%dhbx8_-#-^?`! z?4S(_Ku$OO!(nsL*9R*($Zrg5I_<vB9{)P(t6`<au#ncTSo*kr&%(eIx6YB1AB7W6 zSwWZ^csKaEci7<<`XUJ#*s%88MFm^B89Nd(2emrz>KI81)!EGXmNj}-Gm;h@(gL4{ z|2tgVJ8IKoS@dMXMkv4(>W{eSC<~T&?EVePfV%nvDrmNSAx{-weP2I>I-`m&pz%-? z!lHfZuV-h_cfWHB%W1#qsk8IupccQ*#9X&JeqIRu-Z`-o8T9t3l7EI#N*A+1H8PAh z)=P)>O;s46&SV$;8Tq3b-u5G)ov#Pu=I{!(bpm2+wuBO&2jZZz2#UayU+u1I-gUU~ zsq>XfwQPl?mXq5CWXz`9V`cJ|wvY*Hu%^N^A%ObRW_L}M`B4cPDEb<OSB#xd!s;LK zz~UOY-$i-L7WXfJ{&gSaxpAPvVFYeVmy=pxO93~3`Mp@~fM)((8_YnRTiDW~U^KX5 zO-$fw0;=$R2}y~qcRTig6^k@nXd!z7T{99uE69Ux2~j`-Mf+q_9MOgzbE6S>1~=32 zRP1g(ZZ+mf)JD4rmKM)X&E(0eV7&u)<lndCodC(hz#c76Wno3lSJs&YdZTcP1^2KS zf##dV>G39{zz0+EmM~<+zQmM5EUzALW38JCBQfUJ;W&w$NDrH#G|4SbjDuJDWAqPf zTJ|w+2@4l&y(?|iX~;!n6t2HJC)#MY?o`ih`tV#kXM0nm&Y26r=gOEMvviOdtV_2i zA=dA`fAki*B0vNpx-Q}|_0hCD1Bc;i`16K8(hgl3hE6XpW3k&s{9~|%^JHr)m_q9? zA;tr_Yi%>+?}zcfY6EY(VZvH44FR1?7*@%&nf+xI+!Q6ncMY4Sr*^~-6+IuRxqgQ_ z`!$#fEbU(!=YPR;e{rq6R<L7c?hEyIW#ttdR37S{x1S2MT*T?s(L_UY{mGE+*Dp(D zJKKL3v^cyPbg;X@2sgYsA4TaASB44Z*fsq%|8N<`qgCj^VJBdcF(yu<<1nyW#e5ER zn?bfQ{oUb6%>WiFX^BJCs+MFM-suP)54DHr!7^-+Vy{NX6fS7Kv*P~cF~<;ZjH${r zRQN1W$_cLLai~EVb>Z<~%->D-4wsE}v*=Z20L1TdmxlKOpxH(d4&B|}PSe6h4KfnC z>G1jvzm|hCX|Nu6FCMKRSA5fOS_Sfpm1{>ufSFsdLGkQ4u)&0Ru1j3e<0x3-T&cPF zNyYWb_2Htv*1X{Q?}hPEo9mLxj;WLS=a}1zf>T1|h<TK|KM$pbI3&kdP~QCyp_{;w zM%~wb-L9)!3qA+g5HAb(G~7+8g}-|EdJal7Y`)5B_h~9J43Jm@KK$K!+wjx5{AKd0 zV;apuM>5MbXoUrhXGYo&$zd|Li7C~owi9*EYFaqSHC@=9q}9?Yl&{Y#)ABWPvtjMW z*vG@JYKCLr_1|2tk`iLOY5+6Ha6|4+7ZY}z1*^B<_}}A<DHEe&SGlE26<I(_|8=xT z@!WTp=y}aRM^+iu9fPEfgNF39(61OU;GNsxT;uw6+c*CZ`sCo;PiG09E2zaX)<ny> z3Isb<e8b*?8N`<jVa8-n+iw0o_cYgZOnL{xzd9p79}SmZBu%EjkRA=&mz_GFZr)+N zwXRe&DrlL8I*&%{(AFKTcpIE)b0pKe$LjR8gjRW*6RYT6hgT}ilR3+`+P$pvYU*uq zc3Ft_pZwledT8BGf5uj4@p<~^7T3MNyIBKA(p;h301!ln3|EQqbgg4pkVnH5TEX<z zh|a!kZ<TFY2v${baNx(BD!ITR4}E(Am13QXPU=mZdSWSWix!&Ng@hI!Z!?H6e(O&E zl{2C)ZE35q-n?#HFTPv+WLs=_BR2`lj$AaZ4Q{>)Xj$0aOx0Sl_>-mtCI>GqzOQe^ zNok#l@b9@LxDB?>ffo8FTo!&^cxZQ}*mFA5?tpOhNI737WiM5?ikb7jl|~aogg8g7 z8#7I?yKsTViN!ZvJK~ys!Pb%3(GGU~`&QY0%KV}T`G&a4x)tbfU(m|t{{7E_4S}Bt z^bT(FOlH2h<&l;0HZ5xVxb4{0Pm~CT%QO6=b7c%YQ9RuQ*U2OJ%UF2`TFkqk{D|?= zV5AGOAE^`fL`HwhDR6PE8wOsP(jh5WT%A02hkr6Gbk^z)8nL+;T7*7Cnf%Ut+l>^w zu*%&DU(gI)irAKKJ)`fA*<v@%Jx;>{1n-NHVWcEBk0aAkw;i>V4n~r|%R`=$1hPn* zP&8SCzzmuj@#9Kq$#SskE*F-l6{v$58eto%-<Uy6T~S(gB&otYwC4?%$l<P3;!t8* z5KHOYp+%{<RTiFHwuRMXQeX_mA5w9u4XrSYMrXPny;?M_>v6Xw0yzIdJgC%oEH{kS zzF>~f72JV=)n0?hFfx1**%n#~P&=JNgXn5BkMnRFku?I@M7;cCYVw59cqT}KnHD-Z zDuFwm)LJ0*vTN7Z)B9^t2XX5(6~FiU<lF9xOMU3M4Fr;;NEf=V`B9=<vfUPyBqp?g z-xyg$#!WZx?zo&@c2rjE6!=+$VQyrpANtb1A$P8F5o{TU>gMOKQ<!4fVahNBdMw?o z-F<qB7|^r`EnnjGUpW==xmCY~&?7s$g?Qz8frEBgX{lDs#=_)KrLrR#^j_28kq6+t zYt~Mv*<Lq&!T$HtamODE<{x@s1~=L?Cg`WrdI)tykM<Lc37wg_t6a+|77YSG`kO22 zjXOv+Dx!>eV{82S$kQ&D$|5V9EU!vg*Q!kJBHh@+MXKy=yY#fbXQ7w<L-XicDN*O% z-L@(<H|DJ|C9-lq8dtLOO+)K#<8P+<5Me<^PW7M<4#sB25dM)}lM#1d(i}m0@x<=c zQM-|BbDgBCYBnWtmdq0lqq;wHI=>N9Pu9)jfI~0$y*iz9C330${nhFn{ti!x1ZRm~ zyRRk=hZ?n<nEFgj-7X5;%+t(L!(X&pAv@;x!JVnH-DKQ3W#^2wz;X{{I67io+9zed zt$xL$__k^PN$(@BUvoB+xOywh;?%dW;lu{!%d>WZl>TTBfbaOPm`1DU$jSqW0`N{~ zV9O;kxpE0MJ1$Z$$}Q~B<8tzDP<rQ4cqFr3j8~cc-ys^=3)MVh7{pIZW?c#0o&;jO zq%5iw-Q*hEsmmB~UM*|e{eZMw@>n|932(5EV7!F?_F=tNv;Y`0lAZq+oI!h-wl4h? z$)N=?m2Q^E{(B{?Iq+8RQq=-5W6{|A)xQTa%u%K1eIkBNP~dw3s5E+&nv+wU=+mY! zf7($!+iLx85Hqa)U4KmuFax#9h4EvK)R>pk^ma*q>HrkRi_tA-Z;MkI+;SPgOrqiY zpu$1}m{sW+qefa|P|%;QM0yZW-xKKdG+zZI5+&$XZDmz<b&b7h;x~2?c7;Gfl|&hZ z_+42kY9V0#`s!dt&T^tQcOVikM7sV#>4D?fALxPGO84fY2d7jiktiKvvS3THLgYgI zm4RS;1q6G$dm`ANi9xp8Iku?HAE;&0k<m^yM`m|pAWajan~{-EW;I23bgh8I&(Kv@ z{zY7elg@EJ7FI%Wxg1f5S?T7=TxuO!*$a<@v)fpM`P5lVQq)DY^tuxrAh)Ar#hP69 zE<<Ttp`NB%XoH7=Z=YDtcojx}3%TAlhy0Uavm#}_x2pJ^uC8Y_fotkSNrd0EK^!T6 zt~P{%X>Zk-MkjNN@e>}deF0Via>n1mrIkzxnB#%F6<1(*Wf`r{o~j}>e+8oLq=D%B zYD>^ihN+~`1xxpogA0F@+r_x)`w_WW^9X3Ou%NXu<1^D;VOQ+BNR*roxyx<Q^wd{8 z0=;Z^<_|Bo$v|db;zLUod-Y&RS`Y8m!yAXrn#!idsNuagz=+3R&gswFIVL1V?K`T9 zBf-oyJvKhGyN>A;A6LM2kgkG7o0((x1*Z3jP|FbJpRA_*V0bGKh=_(=J<p}0=G*hN zf&!Kj-Uj%)M==WX-eZqK?Bx0ORGkjAg)aH%UqqXVeQr3!R))6sLHhZ<t0~0c?QY6} z9(^UI9gn)5<L;a{j-x%#V_h5JulOODiJj!DxJwD5BE|6&WMU1852ydwfaq#^%t&@x zWcwh5H2%nMkDnAGG~V9xZ9suqaMelxk-HTc8&YzYYlkvu8+wreCeB)pbD?s%5_B-D zMtRnt$*Bs5HwjKKNhAibQmImBuV(tdNb&{)1X5MfBgn^3;(@^|vvobo)LO5d|9t#` z2-Bnm5t*EH-R&Y6XC4*xx2Ifnh^>9HV{ZH^A#j&gvAeKOQ(P&*|6l^kpgN~3X^X#O zO;%aaH*L=i<xPlwBMR)vF$EO~x}>sM49;)+qgm&)CCD(#1(fuM7>mv}4?W<kg!Z%_ zE=zK-vjsZWvt{}2c=|Ll;k|kYLfL~Bl%=}Myuj?h*$gn&qYqDQ^w@MQn1pU)x;qTW zUo2fvH=OewB?W~QjhWu8PI(&D^&q{=o6H$aR%@LZrDAPn!oSWDjR-}#5iT4oaI{CT zW07BgO&`qYAqfebbOA9nvkSaJ{4cUhR(%9tLg&GZsiqVz&otd!s`rC)gC5njhD`{+ zqL7m0+dE%Z6)1fHW|%@XfDc2`BZq50gl+rH=m`!@mQJLNtII4vm5?RfQ`gSC_$(b= z(0>-?+(QtED6@#bRlCIpExjP}U8ldHE9l@&TAr&ksPMJO&}Zg_pelqJ>@Kge`;4Jz z2;Tx!Z?z}BQmpR3Tim*rKGIa5eMHorb$N-urb6>g@&24TmTQAG<?Bee%v_Nycl%w5 zlaUp;y8{&vVxCS(f!QX_cUlge%@niHYoyJ5w(n`251N129a?t4x=~thzBl^s-aSVk zfbuml>9R5mf<3~~PkWM`l+FE_`=W<GOKng4B}F2=Cm1jeYtV1OqNdR}4;L`>HZSya zCA+StAeGEy)kZ^UX|ix4xV-y1**Vo%$)Bl0+u5o0aX01jXU@6mCad9#f$|8p2`xaO zHbfTCbNKI*xakCyTy5iQeuhs3g<S5OW~(eZ3^!cYL&$Yn+4mxs@v_pj5mPOQu|JSU z5TtqGeB{Ohap$^1i3n*~1YKo|jqFYhbI|i_$|cPwk97o&h`;+4hE?>g2}d!fwSo_d z)W50;@3kKKXxYN9<lF0UC$OjqW`Y93(hCfXG>!MeA%?(Qg?S}ZiQ-W+uFVZt&7P#K zIH|xY9EI*)no^USNZNPsSUYuFTDB!DJO?l$VIU}WIwyMucU80=HHczq=ubs=i$-B< z6L=G3`XH-gZ<*<qY-W6h&6sn-khu5{FC(Aou#Oh-c?I7+_NIV~LDrE&PK`*WZuf{b zjVx&F!S02N?v+c}ji2{f41g)#`Gf4g?Tc_(o`7Xi#yzrCEVlCJ3R=(-E;+LTATWH~ zaTpJDaTswAUMqT@{afwk))xSu(bVRxUsDlP<KyI7C(o9hFLX-dui)dWfLfE>{cJC| z9M`!x(~{xa+kCV{Ayyh;0YEK}{iO9ECT~*T+!@MwFWYe&P4{_2+U?nghVb!y;#25# z9x`Rij>e^_GUp9C?eI#7eG&t@(II=>O>a0F0k!HVOcH-x|494%nTr{z@l3LvoD4oK z@q2lL$>Z`L!-W=9W-1AG2h1;bm4p0fqmenDEHyr?Q&0=e)XSMS3TLY<0Nfi5pN8>L zC6w_h!@aam&cQ*rL$qhi!OLG4H3nvGwlPCIWh%EhT6lb3P3Jg<j79m=P3R-;kuRi_ z3edGs3)>jn$+G}9<g%QmS>0X8*6iaKgG`6vHreHFF|p2jp<X7TD6U>Ocq?Ez{B0R6 zgd;Q*jmU{&Tf9BzwT@fjj$-boH?eNxuQpAcDHDeuu~WRLE4Lykug)wA8g)0B+9qQ% z`Rx2~#bi~4AhZ<KaJ}-a5tn2tTrm)3@w@%NZUCCURLEbS`a+;hD%!yk@{iGu;dc>& z#Tlb^LavJ4Q}bx&>OA#06Na77hu^#PfsZ4dGe_&*!(_1~G<s)HP}rm~g7jAbe-vfg zju+4p(w$L7q2iAYuB@2g+Z#^Tp*rbmVEXqywK1&Jch}WFP>d;k%K0>?OxQ_K^eS=^ z;4C>wkRstNNkM^dR0nNBt#+w#^FuN?;hnzCpdGEsmYp;iO*xQz!9V5VknOvCU@>QI z>_A2<W$V)O;;kB!3FtMGpMQ)Rd>I#t^dmzG-u^~tQx&9MPjOolJu9N}$bEFi)!mi4 z(jec8;$c0Y@+|WXMh!2`LDZ0IBT1t19w~+MV`)>1XNI9m3H_E{f7_VMoCpD;u9Z<! ziy4EjYc$fYFKWN5J~=CGY^3tbp2}%z{s}v~IOlbUL7KXLc)45S;zAYR_`5~mE;Y#D zaL?d~w6~|ISeBWzyxX>O{j!hqP(@>koIEd)qYa??mSCvB&cp}We(~>B9do~>0UKu| zgd|X4qv-c-o@vm97&rgEspyuwtON7r98noKV^Qu6l~2>x;^Ofajc6hN{)N__KHJF* zNvPhA)GcM!S1&cKgvI0SfgTY38UXJ3h8lm@vW$p_GX9U%EB#`+Loyvk|LK#c>(jUU zl)hHdPv6L@5o^xNbw+{xU$!}xw`>;6P(gu&x=GEVOVWFVymX0FRQcau?cBPzWZbz! zXE{8v+*l>|OZEjlV|UBKQjN<OmyBd}sIdS@@+nyYrz3}UCWqQH>6!MEv)%D)_U7G+ za5Tf$_r8;opv5iR&Ady#Iiv>cdNFA~1{yT{y@;4?rPx2oQaA~?zKJ(LfRHHe$%=z2 zg=Wx;=R6Qcpquw6g5j>gE}2~Nv8~s_{<TK&229)Xcn|-$uyUn*xyDzaeU2syolBbY zgQo|p5jyzDPE^S{vmd#=w);43-?;qI)%-rUP}UFIx6JD1qLcgm<19gS47pmH$?=ZT zH-|(<ifQkB=|7c{{fd!~0w3qHcI!!Ksb7DgAdQDe4)cE0c`1{e(-kWIH<A9|=u!M@ z<jO^Hr+T`=lTUBszlGMs<dc8DHl|2jJn~G~_~Jn#<ibaev(nTddFzD#<FNxWdQpNP zQLrDM*gE;oGyG}%B4&v!)+1`NDwW2NlSsz54fj9l+cfwGTaT<iZ)6{d;Q3Z{eotHQ zBV#R+-s_^HB))|u&M~|gU_vuel45F0`j1!l<G(fG87Rgj?DvL}l|3&g=aFyO3uR?< zS2}^v5jj26+>}-#3F;@)>fxIUWAcriZv8m7w>?p%6vfs~#Er5rPeOaiSMn6W_G=Ga z7C3sP<zO=3)vG*|nlqZDJnc2Fe>SE3jM{#+k)4t+oRXSU)$O$DOmnVuQ%K~U$lk)^ zDdd>ZDOTC_!t8BUQ%fIKnPRAl_0QkS?ufs>BLNZoxA-oriTUOvo7qVn9)rKkTzI^J z!8v3m+SX(OBdjCF1C&>%VC3!)_15g;yEt@Q5lPyo&!|E*E|Prv&L=}7Yicb<b9R{9 zPY$Wzdo6tSR<4rKDnFLS`m*Rm(etJLizdBVi2P^_vU1I7_fc`>v`!UC1uW%LGxKt* zLSqe^8p%tM&W!OSznq6&`BUg`zq$0w_5~8rqw$yZZ}YFo9U<IRc#NDs1);pj7YO@C z;;1*pb&16;eL0UaJ?L`+%O%`<2NWjOMTD_W)>1rq7@LJ0AE4Mb!XEvuew@`C)lOUo zzgP4fC-|^74`(fE%($WYAtWw|kw9AM9P+7I3>N}{$QV@s^{7wkpXRoWDl)(Kblhz= ze=*8*P#Y2UNv;EbxUhzez7F}td`z)kRD&1WhNdlM4dFlgSgc$@hnLBT5*ul#1B{QP zCzaHA>?LqaozyCSY0KZgZ)%*UDdLwe;W@B+efaV>B$GZK?+fI<e{eG~y=D3@j$Hxj zfRXO<bTX2sTOq;(%5cKz1xJ)H@w0el&raR>2&A}ufq;oIg~ii=!<{s%C~KCTbsaTc zmjE*Zj$%3qj+w5<W_1wb;#o<8D5VHH4l8ns^sk$ItgBN*QtDgxb7<Z^%ZYijAXO0b zz(r^xn(@<9ewBx(>v~zPqNBw7z+Y$%!FZm76z(zN@)u-mzLd7`HBE<F)d=YvH6mqZ zn#Z6EG$!R2CAplBLl4I@*#R{?STPNBr*Q9#kI~NI8sxyh$M?wj=iOO<id1XPd|bzC zz--s*q(m=8j#C}QiDg;N{<um`>>J8g9&w`73RgPhvZI1kaUF$;<B;e`CoquHUR_g$ zo-;}D>uVj$dWem<dhVZ)UXfj%<ewsP94}QKgIzM-j`}>hVh)6=jz=ei-rvinpM8fF zSEWuAB8&5i!81UdFtLeb9Z6JPZM%NT*wCjRFz|EuD~;0WoUHt;`RRq|3kQu+CieHF z+OHpSY7;50KObaFMyWi}h}S(8i}0rQjX(#yR|Pxxli1DAymxvRSe2=&B4A7Aa@ejJ z<gNE{S6S6up<KjoUlpKS^H42^E%}_m_1Akdl(ZVT05G#b=Hw&S#eUsWj!(~2qh=+@ zbIv|U-GvBHfYy?8R>ua4L`!BwoPvGKU?UtxPQKmF{gXN^Smi>OYb$ZDFz1P8ns&fy z(EabJdHNNW_uR4c_l<2=l|EBcNfl5V`uq6V0VnQDs2qLDVqjoixq5Wr>s#0iW1zli zuOxL5`ZckK_!3mS*z$Woi7z&V80w&=V}Ho>xvmJTnO<dGNbl_9tt8FP!RCJTEUFE_ zCz?@Xrm9pFZU1$Bs)oKp<ul59;=XlHRh(E>-g}CMb46991(PJ-OR;VZ?*4SvmLt2^ zhct$NX?}Xd0&~4L|CE$`b?@MMTKMn@H}S>^jL5@PzoUS^FaO85E!23$E_bTyK3#SF z@MEO<*2LtR3$5nEQR0UhQ}wevY%F-ek##~ZCG_o*(=}!Z*Nh+W?y?NwozQs3ix#pS z!lEf0uG45msRx}%HFT-c#Uu}D1^XaAO2^MQ)m<}>vwp7}b6mrD(#zjz;<gh$Mo6kM z^*J?ushDK(X6Sz$)nJXv=IyoL-)1D-5}hr~A=dNn$V0Nz+dmL{Qal(BlIuDPSUfN; zc}B8rKsFL-Wso%glssQuE}S~-(-cD)k^MS+<T3dZVt!L&@;tUHsw46DKDDF?12NP( zx_Y%ul{O4)FZx?~CQt7DX45If_t7f(het$cM|^GR`blK$!M~SOB3!=*cs55rn7;uR za!db-S&$z|tLrgdibXxqGwuFbODj4^!;Ww^>$G9+crPh>t?n$^t*n|!_T;+ct3xN_ zL&S1uhR8Ku5kzRtXiyro*=Z~cfY?6FnWP63k1RWR`A?^V((}&h4PQzALA|8nGM>4_ z=PjhgXFmHoKd+R~q}DNd8r%9@tt}6fpLgN370KA&ELuh?Q1nlpn$Pv0Mzi+y`VBrU z316NR-j0>=I^kimr;L~>Pql?MWdN=BQ{MvHzuaL3Gzsi<^?p3X6Myf!bgj@c{B)o7 z{`+Ku;zgqRS36SOuS{7^@jt~)jF)m<)A<B`MPAcp=yFx$8`%q6<eng2yb9n*vbr26 z8qq6L%^Yt2x|x8t`^XONI5J1rR;FXFMQ1N%@T5Qb8z6+W-KkLHT`_z6gRxtn!q&-2 zY`sayYx7q{m88~M7pL}*`)wZ0*{v2P&`x2O0!6F@i#|hE-rG-vYc$DlxKc|);|eDP zcGBKlNgt3nMpFRDAv|>*`ZK<~V#HoVW3@A(2XLRKraw4WLY%XN7(RXbXZeS~NXVY_ zQDUDJ3s=Ciz4&11ft>qWQ4W>iEZ>Kzi+~$6t;~-G^tf$zR$C1vBnE#Ec_#CsX-Thy zM`l2iw+gqLIIg~t#|trsss-^u=`YnjCh0UK#ggC=_hz^{(F{9|>+}?CccoWlNTNQ{ zuop{<PPg``il^Q`%wNaX#0#l<90Dl2{L=Th@M}3ilP*V^I>BSUe8D_j;;6yj1P;=* z+NvFWpSjl`ioa%#=OxVI>S)WlKLeSad8R1&-iph4>1l7--m3(>PjA-d_5Wa5&5U)b z#7xH?C*IFOTezR&vU1mWwq-=043d5M%Pl3JwW>Humhx1(`E`V{6BSD2i%AbJDoY{Q zsf;?L<SU#>x$R-MZV>(+_wTe90miDM25;6=MO*stoT-euDGO?_EOv$zx*{J<bhw^U z^>Y<>J_9RqkZ9h__4siS41F*JZuA7cB;yMHs6%8c{(hCTZ0ySl3FDWHG)IVBgs#UP zE8xo_H{SzyJDw6^ZJXdt+=Z4Y1gAABkw{&hyd&Iq1-hEzvr8PGZ<KYWyw*-n<{_su zE6h)Lh#iEy18`QxOW^l1EJxFVHp_LC%n^8w2lp69qg$mOAoEka5cr_3w_eX4n*OeZ zK=>jm9RDgoznn_e6g&?<{-H!V`drB=J~P24MdjkdJ$)u>+2t?Jc&(cEX7GeQ;=hU% z_j%ZKN^*}(8oshJ!*&0oW2>~(r1xc|g>>p4vl}YhRo&-#h_-45e}$7K424!>wpZA7 z$_t1<aOffq#keKZ9OoScjg1F$mc2zeDxQ3Xq#4t^v7Py@eb3@XXvMdE#XxJ+YM)QI z`S@ohA(@L+R>^y1u15z|C*G3#YWaV7S4uRKb>ybFA(}(!Tt$iSqtD+T83RY3AAFqr zqgY2Tu|)q~iu{kbVU7Pl{;GFU<A}-UH3(~NN%G4FPLFFL$lP;W1*@tG*Yl%amsa0% z?!UDW`b*OK2=B_|RmgJ}0?MQ~`LDZT@ruQ`Qeh`MAV<RFiy#%y2i8=>2(yj>rDlJb zaWYS0aTciuYIOYh>xR+zwZHk;{ASbB-t;l);~NC%e~@A<>UUt$eNEAAP6ChzTClB$ zn9hH*VdX6=qLJ#Cwilihi}QTO1(u0blurI2-0meZ_;|N+=y6`WbH`pAW|My=V~L2y zs@}imUD5snd=>{=#U7$}Gr)>&CBujO62>3Y1Ym!tmy1e?sQvZ<GN}B>Y?|C53rIx# zW(#;_g%>DO1E>2Xl$H1N!vDliTd1Cj;c_GEx#utW2uV&)U(W0wd#+BlboJblmiNqK zG;t%wV;0C<K1l^fM+w6s_?wWK>h*KpsfJ&TiE0V44{ct!w^wcCMG>6_^?+=skzW`W zrx`Cx5Oa`pw;m1%_H2XKXobjgC)XMHNXTA)W75{Q)DHOQ*-V$+nSK?1nVO<(^#i&A z8XmU7d~bb5ky8e09P`t+rNIEZn3`R$zuymVyB7sOgTTers#<zeN>u-%j}iBd*d*7+ zb1ALF`MzzW!C(Ir@6Uy$Hts5fbz{`h&#pV<^eOkG{dv)iz`H{!P_V&Eb`EDog&)ev zsBEO(rl6U&k>kg4iXk|K&R^ovf>yrs0{}avYx7fOSJ^~a;;LdFIu4k&Z>mfV56|Z( z$K>G{eOn;er^9j;S8iz7@5r;-yj6Mjc;2-Uj~$f<+&@g<eqVJwQ%m7oPaHop*oe>g z{`gGtK%ivfyL!*!h<9=24&--@VsXOx;n(@Q!vNL4fm!d;rFbH8w4VHOC*aM?PQLIX za*G%)1l9I^rd__hKgj%;Y2@WSjZ2sX<(P1Fv42%|*OAoY1@du7BrYv4%ug&aJAdFk zHtK8J#AET1-0<@(m#pg?b*UjcZBqptUwhjF%+pRU#-pA<`Dn9_r*o3F_gbG617-Mv z_BI7D40GDI@?_^nY}oB>x}Ym4azTK<A~IDr@;%ZDsNwSx@%&3s*67~Q;VlV@K6WVZ zJ;Ix#jA6j8xi8Dvw>!b@4DTk=H_v=*icM(wp#X-By7hEW#m|{<4m)t+;}$O+HWwya zcG5VWAi<1a6R6NYD;A4&lu0?Wd2AFu<SDNm)OI{61!#VF+7hj)JSV2-wW2ajqS$By zth+U=PKtfj1ncJM&lh(tu99Ue3;gI~H1Jol3)3&rmn$ne$pe0`vU@(>!7P;P(qi#* zD`$3#K!=s(%-rvt1v{qz1VVguykrSc@J|q_s0&@yDvT9859V#q5f!Ag86SJ6*k?Jg zZRuG0DBmOBIr(Xkh0v3G!$}NE+#kYDUwK)nDegpq8d}JNE3CB~g}-?m4_Q5oxk_DC zZkGIaDV{7<auP1hM(u0vs=P$8QN%saTo2io<Y`z=dQnM|oUVS+^YI!uKRY7SfN(#^ z6AGA0P&xui$o9)g8GNs)xsNY4f!_sVX&M?~DxykOJP-agCm!z0d*vlpC!VW}m+794 zi*eJC9a3r6arTsvaZk}!p$=0dGhb*}7?FJ{%(}|EgUjzYIX9x)TRS=0uuh$EoW=(f z<(a&ce~k)ZQryNX>|fS>8^}p6;P6k0+M@Kg&{0)v32PVi=b6~8S9NM3#FnhP`8<<i z)9Qp5na6N<(teH5pR~|ub&Vv7=E;x9x4_|xH*VjIM*Ig5_1`&D-xVgeC^qkBz7S|W zPnyW%e)WQ^JjGL+EfZjZ&l@KoH}dSWxkqi)$LN)bjdf!EG)T=Rjq%LnVwd@Gjn6pO z*#}x$M)@DN((NX!Iqxd&+w(;!iB65WSonl#k+o!70fEJ{1cRO0A+eR+i(I`X)=?qP zpC%G!B}|jfzxzZe1#4_i=4t#$;@cQ5aDU5#5{M-7)&VGg!qdM{pbFdGK*D%x^}@9D z0`#V^-LPsT2ELa$hd4*2dAw`cu|slV_}fE*%b1!?Gn^|!-^6{_n=s}(pao;nytkkM z7K6&ymp?9sIDRbg_-mOi^5%+zr_!pCwKs;N^OP-ZxPN9x=o1+F9~`>vh~$QqHzMVy z-#a}J>h^QB+?%eOZOYs%IMoZQ^glf}^C-vl?)2U$JD7PWBV^?5#1fHVi#eo#YWe9Q z{^!xi=zUYpDqZX%^H3($S<uk()SFkh5WR!Y7E_mK^y590Jap;Idhd5ubFG9&F0YN# z+PLdQbVllgi=0`W&{P@BKyvhYR-PWalJL^&Kc%0ic|4Xgi2>86;0=5Xyz?;}>rd<Y z-o-{O^`6=EulJ6RR6M?|2u8RL=(foU%>)#*_cxjiC<{JS1d`Syl&{$W*>%`uJ09I= zJt}_UV${PBM{0sF6=c^78?~x){3gDQ9#uj$@esHIJ&aB&YmsMExy@2QM0`NSDmen{ zc0fDa9TeL~ur$fB6EnABdb>NLa50yTKA?(}g{KTG!FVr29Q#Y@4r`w_Xa3f+;Gl!) z?S~zBkDD_!xWDjZ#)cq98tS!LKEr;~jtBHNKWt1*ksEQuRkD9dG*vE8^-=j@g()(( ze%jXW-W)y9gI#G?vTLAN1#Re2R7C&m2Phw%V><MVvcK|w#D;vW>aQ|jxxe+rzZiD= z$|94&Elq)E@IF{*4keMDSb#X8i`f*`|G|7TcGhnHK$dnUcPLZKUl5g~r4^ZmLrx5> zRXre)%U)v9#B@&=Z;J3N-5!S+A=3Q?Gb6#Wy@VJjrl=^>!m9K3Hm$g2BbfaVFODOo z_Idb?#+UxjkbYy%iO>3kzK};u<BWi@o#+>-{0!SoZi2m#U0TYPUmYW~(6}a+Yr@d& zKgEK-f+xOdn!iDbKCm&uqLEdY=SuOLpq&$S;QsH_IYOOg`M@ir23_BghyS~*qb4Pc z>rjkeOuE-hU=}3<?v>!|em{yO2)`khpsKs?s;qg@#wf2E@QTm))vR`sk3qKb3ZZNv z=+uV_7xc8e?5<*9S2DSMH~T{9HHOVwWIsX^+tk;pk$EsQHj#mEAXBKk!*S3uS2Xyz z>uJPM)6nYW19+(SlT-OZjRO~jcc_*cz5|x>f`7J~7hyX`p*}sPfhCT99~P=JrBr6w zq>1Dg>lgMbnac!c2*`1yHw?d|OH4JtI&x_`=%#4XQP2z8&x);n0FtRsn)6UMhkk4i z7veUHGwSt?++u}5NQbkFu{KC*O-yk#C)hA7iT-?E|0c8)bW)0bVJVSR{FrbbI$WD} zI>?%+)O`k&wSV+^p9~5IOfKiBhL$s(hgw3nOpj;VvBrcJBZy=kIBQ&!!maK*G-ZE& z)3LVS$TbiK$LbbaN?VM}$ufCdD7iyp8yB*g-^m`}LYRU_8wW$%IW0o>7=qA=EawU! zU5{P8mJXg%uxm<LqGHpaX{bO!P4LX^-Nrpr8!N0BTMyBA;1zrV6&y6bGJS+|A<m6J zk~X8|w<dF&k4M`SelCEPF5Io-P7N`N!c`iYuvgPwZ~TOIP^p{s<+{PB0fP@vDn!$* zdo&Yec|CYpVbD9&HL(187y4eOH&E)_%y!}V{zY`v+iNKzv(OI<QWxMf`Oa{3FRbl8 zgSqQz-&Ts}0i^7;{~MFI=O1@UGG0HLRMkHjqgXZ*+91!$E05*p3mm1jF-~ZTO*#YC z7#=qT+rsRYUL9<DKp-%Uu!<)lJj7swjNrZP#oF)|uEQp$Ht-I9qJifTV#zI5zo8W{ zqOEDr-o`w_qWW`n?ACDkelBzx^)R=re(n>Mtp110A94~2N1Pf)n+;^~647-Iy8V8q zCvHZv<gPzJ2daPD_VoQ?GOt~2rk)mz73m`#=g(_Lv^gu`2Mb+>?YCMeKJ%z%aHUi6 z?bl$|`Qw3W@K~vbd3XcMjZX}rWpu4k<`j}*+s!Da{otzmc2<}k-CA7L8p!gq!lp#i z++dnXZQi@F*VGv)w>TIGe|$Bo@W*ofTt~AXtza3uy5ylD?BDW@^^7|We{tK*5YZQo z{kNYte??~u*{m|AV<YVBiY0un;3rnC+lG9B=dAJcs6a<G@w!U(*`zlt4WEP*Fw<#6 z=WW}DoiJ(}&X0Zcd?!58VDk@4@$4raD--J6sPvh5Ai(v7OyQ4R+Y%~xad2hukKr(u zrfJ|43+%#kH1cs5;7tj)m^gN2DReSBc-oeBS30^mzyNR?a@aj39ahp`Ue{6{tx1NN zIpb(C1Q2V+@6vBhQ1h~W0$-hy-W^XHX){SKC<B|ZN)NCz{Cnk;;8`eSpsQVCTfU<E zd<#Tb)kw;dWBT*PLA=i|Z}ApoOm~VM8y%CeH_yM8lBgoqrfTqNIvY{@3Q*9`?Xek- zAI-Zf+f<xc1wV;w&VSINfUrdR%%4xK71vt9a9Nff%CS4zm3wJFD|z}__|6%rY=_cz z@v^TwG2v~@;|TQ$Z9l;`-~T>;Jp4I8!?oxQ$~Pz73O_56gV7bwD*iFuNM>6-<UxBJ zh537??B5aHC;5>E@6{G=3<*-TFvSZS)ozKp7!BI<!^wE1QM}23qj@76_?CIb^W5ep zUJ;w(+-S8|i<Nj0(T3L2a{C}~RDHKNnbG(Yjkj&~xy=UP%1&-3XihszwQ3O+iE2i1 ztD8`cn*<C=15fmlm&OIs&jiN!bsFeTHknz)F-QN@WR4tu<?1mR+`!2$oBj2-rhvKN zyv<BAv2)x_#ZK{P(JNwqE>2kFesPsdTCQm$vIq%lb1`BafAL24Y|{%VQT@BHS*|bo zx2@$t8EM|Mivo7u6^C8yYk~0}eHPxc5e`RP>B9^+%J`ygv?P&zp)<65ARWI>mUgi0 z;$*MsExe-dXFr$!#_Z}bD(JVzQadZKb1~`jY5vneh$a6wG~<aT!|U3nl-Oehbqv#q zQBOG2PE&ZiLCV5Nwm-njHl3V4Y78wj@<*T-GB6~~mf;UjvB?cy7YU7sbo=wip2?Ly zBL{!K7*h$}%tNN9rP@6$FNO!ZXDm1a`z01#a%CvX-PjB##QFBL=_0!m36Y5~^OF@9 zMnYrA+S5e?ZpS<7+O0!yVmaDIu{i=>xej1Ny_u^x0%jvmMaDbaHTB}WM!K;0D@RV) z<OVe_-%RqA+W^Fy)py6<nF`@|IiG+H?E5@rGc(OOYRbPey1>ZLpzryhuR&69t3658 z9MaGBS+cfAp^&4trBPFM5xVf55OV^x8Zza_NxKd0kJ-OF3LFe?(5m}_;rvFory_br zhzVSeBMAy$;QDSVo*?zS*DB5TxgsDk*2_oOS4U4FHidEcJ&&EYVFH=nXVh2yaXraB zMq#3{(W(TsiWqMF#UF3qnnJ#EggRQB6fY8MZ}b{7pg)UxAak&8T0hR|L9Kv`Gnvwm zPLQBM)H5^7FB`N|bEK^b%fL*v`9%K;m(pEsXgR}1(CeSEtP<5WSz69s13eSp-GN>R za@s}-QlHM$hYzi1Z2nvrUsxAJHn@X!RYj8Ahq6yQD~D-ccJQ9+(VdvuOmJ??i;D3p zDEQvYbuIpNfqR%irsyiJ?DgK{i${Uc0!LnA4&-D2)^QMlAjFEQzu5|Y!_7CdleiF1 z2vC^c&zI_bS<&5|I4Qz6bMhta9`fN<T#8v*U<>t{DW}TUQXR36&EgMy-!VlzyQ`gL z#=lS1EL-q}^3>|l3CYTfA0<(OuW7Q!@Z(R5b$<j4D2RkAr3Q%V!qFH`H0}8wEeIL4 zlw&!lFD*ywau|r)+;m6+_P00!weJ4gL*YDTyA>q1No&~A1tJrrl2w?tU9TU=3r@ZC zvm(bhN=|#4DJ$f<S8K6H$sL4+g)Rn@w=@+;%TP+(70%Sikiw8}c76!*yGAN}iewh{ zrxIhlZ!*?(-ibEu3S#wit`vT&(aySYnTuqfOURh~s=4{Iy$Kz8q=gpA4UYu7hW(|5 z%19>dEaRFB-#@;tiChpkflYYTSS^uHXxen{z;V^MYs;@3w<3HMFl(1DgfvN2>paEO zWTbvQPelvU*%AniUk?qsFS=4Q#<a1=w!F!U7nLC-w+3=H5J{jKA`Sk=8Yt8|!qXf! zoDgfS?c20dK{^Et#PJ!NT$iUM{KGz>H@c$D(3Gd$I{~o1tX%tlPM$g9kRQGU0Y8N+ z-jk6<`=vDkZT-bZrTO;`>kQzm!M=Ob!Xq%|+X=43EUL^=&m93TxuvTb3O(^nnY_Lv zL|ghJxjx8Ux!*<--x1I@CW)ogsN3xNb3MQ~<H}_F;$E>kTPPfd*(Xf%U`wgaxt+}I z-&AVC9Ty?b>A^zRuO+HI9(A9;IK#ui6i-4eS9h0)zO3R2^YPDYAl|24YLq}G=qlDS zotw+}4>B`2I4ez4I<&2O+JG;1%HFbdIfs_55WHZ>D;<*Bnx&4w^Q7Q8TK1+AeOb9i zR?w_Za2;v|d>Ii3jR7yY5K4|pges8(w7o?5-i@kG#dhEk8m0WBE{e98O<st<n<$m( zhea>52W?$d`tcnEII=Q-c2^)s5@?~O^ir;VF++JfVXAqjKD7|HNbLMsKUStbx7zr- z?#g(o$5T7zztl@|(*}CVWl4%{s%YA&j;_11u7ZIXqK&h=4|_j5`Htw#oRs<RND)X{ zxhsG^5t9G$=ynnxbuM=|dutZ8r7y4Wer=&Y+5!Qo9vF6G<LsD|X192HS}Ph38jl>` z>p&nd(@2(X5B(sAL`Il)PhH8NnlVK)!ukF+e@0#pHCxBWnd@)yKV9x+|33gtK(fE@ z6&qkHNGzwgX@DdL_eiS}zMRNokTwLd%@)X14LUeiSz<#ByY^H;1?bhO_QijLg}v|f z&rhSQbFRp}pQnXwh0ro1Kka+1wH70L3_IQ}oilZ{oZ8~O856r#B~OQAo!p!ywic8& z3p)?nuIsJVVQ*RyR99Kznh-gU%=Ea9cD~Kded#%na>_4#!J4*W>T4^N9J=SzM?p`$ zWIJ$}Zeh!{*0S)hu(kYIEbO88vuX$7gM}S~TVsRAeqZy{J=AVy^`;-E6@B*w=iITx z+c7?slU4)RQjWb`ObfQ(`Og@`ws%jJssPG5zO4S-vW?rzU)l%dw6L%Tk6~;5roq`x z`@CTPRC5QX0nKOy+)o|+4~QkAv_@GcRBSb*uS0b{N$fDN-c4eAv!)g(Qz+XoRM~*A zdK7LoRE~k~eARHLtd%U6Ev$iHPXj@0fngcvQd9T^enSkqO}OWCouVZdyB*<vfB06O z+-$o!?SHRPuGGD?1e-6AB_8i?59(`~73FK?n5SxV>fv4*!s+mB-%E+BEU_O}`zk5N zt1IN|%l-gaVjWrHis{)-Zg?I2eC6=B{Z0!mcJCH;|F!hwJ)bMKp+_oX6wcdKv=y?A z#%=iz#IW5i4e;@yUGHY6eru^zsb9kwwjWko9=hHKom#9xi0<2?`K=<w%I{LDI&=%$ z2T&?dtWDN!cYN6&3|!*vyzS19En00BcBG{GWm}J70r`J8mL25wFHfHeUitsOt;}R$ zZ~k(G1-l)t?4+*`8T|iR@ixD`Rg~p6{LkfC|MJ@WZzYZ@QzC7~mM#nYq1ZX=K!4@# zIAnDNGJa5%4(KUlDl`ji1#*G>5QRrE(XE<lzf)&y-0wwg9fEny2KEj<oxf}Ngjiy^ z9e~)oQ^%B5_`bCw!lBN(n#QTI$u=K*<)^<}>YfcYJ8{6hoY4<=JD{?ZC9a>ZjRbJm zo?|HnV62h`f3D#FVPT<xUEn%)r-`uX3>9^UKa3c*5ow$|PWdo4VZ;(2>P>EQZ(@m? zOI$J1k2OoI?UU6r=~(Di&TU!R8m)guEV0b{@Kb9?1X_7vpE}mKVv1j@Q(e>G`~PY; zWO|+*kbN-6V6^kz)oZWGfz}^5-mNvOMwug6$7w(3md^h)el4@aUe@W*#DCu}7i|0V zmtG_2IFD1$634WTD0RLP87JgpAm0Nm$eIYjWu%-G3OkzUpC-dz>e;l(qe)U3B(9A8 zp%$8H&HFjIsq}J|7!`XetHil)t!0|{@7b;MxtDeRqh=o-+le1q0&!Z{a*(G}FQZy5 zc>Xv~XySPH{8(&FJ!~s6bY_)ZKU|q4r6l>KyTk)CFzc}GusUMcvT+=q>j&$l_ZW6J z%tjrd-&)lKu47z&wR6RjYzArnT6+@8O+1vXqyT(=)bsX2`xu4$ezj#Zip^?!NymrD z?f?G$c=D#Ex9TOlG!~xv^IKc6vku!1YXg>5-tkknmGGlm*#3y>=iVCPtkq$EbgrJ} zcsB>~w|d_`81>=xk*+c9<`wK_e(v^ve?LMU_AxfE_XN_9nl+Af*mBMPXIR*FDbMTn zx{9)p5#0W$pw_$I3$Q0W<jL<DMROskV~WXGL-sin?Cb{0G?Pfi?@A2HMI}K_VnM?Q zpRv3g`>Kv4j^_C<sKBc8zg@}_M?u+_m*<ujzI#&h-;La_-|VxIj+yT6>QzmG<=vC1 z0S)oapu{}hE%~a_KifXJ9dl^?=<d1gM0a<S8U`E3%P{Z!urstM2d;<Om1u5`4vPrh zJ%1gVkMlap`Gj&4z^XXAzn>dvlT)v>QLwvbaH=x7o^`a*cFnaTwkEQl4ZSAHhR*l= zKIW-`@2dGW+oLI4-1Cz*#Ni--+#TyjyTNKVUJ+DOZ``iv+02#KlqAsr>GUdbz5V{} z+<vXP+QVND-+ue3SN8DjyMKIJ;UyYbSy-Fo&a8<iNURB1q*>b}&LV1zC1l~$pc9IN zog_BN?15f8aC$0OTU~I-8kLALonVW3FJ_4i`};8JX1zpH%#a7KVJOh)rH&{A;xtXI zjKbPmL8x&${*yu3vw_r2s6?Jb9l-z%nd6`_I1$R#8OKCZM%7qPJE&rD`&P@t-gft# z=#+Q_eGsBpsLgT1ghvaFLYd)q&>q_4gK6mOIqf9sq)Gm%f2%MoNID(=VS-q|9OX_a zRbMSKdima0IrW*F);D~Us7>k`Ee5(+*}`J2rx#*Lb~V<Wko7)v{po^n0_g++p>Z)w z%+N{DyHR9iie0u6)f>IJ!3pE0yCE#crvvhgB<3c}p`lze=hbb{g<+G;#Dboq6R9Xr zHoJnflB7(i8K?>i3WDE*XcHl7(78!<(9z*on_FyLbItAyMLlJKVagZ+XS*<n%_2>V zjWG2{kXPCL(j#|RjAJk?D@B2hY{^9Zw(T>cTjygF`9HN_ZJ}d>sUu}Muc&}J846W- zgqd8_So8_><pePff+BS2+!}VhTBNepuobdoT_Cw2GM^Rmzqx)jGBnO503s7@j?D$h zf<u95T{NoejR*vlt&pIu=j0)OW+B%wziA{3sFRooat|sBf;Hw$hpM8aAT6>aLkyY~ zK|-3o-BvAv$%&|^g?`S~Z{Fp^qHzX7@C(bUVaM~y>V8RY*zs<$&wHSdG^IU`13H-z zSo{8G(2x7ak`X5h%WT|A^yd;2IMW}+hy;;}lT*Uc5KaJ#Z9M_#WDC6jGQi+yDa5ww zWXK3^MpftGBm-BkT~c5V?R|*8Fk)d;S-G-V=fN_Oje!zeqERzqpr;MT#H+|$By)Gd zBr=JbO47IPyszH;BukMu4S*M<H!~7b1&k<KSj5APrFYwtDF(!+pAHtRvMK9Wnv1xC zr!r5#JH))1PlurS@VRI4p~VH2Cqo_-_l}x4e^X?f_-9zyL|Cu5nj&8~%EG&o1D=;z zCOaIdEJX`zL0T-bycjVdy9OfZ=ecpnaa*#m41c_2VRtz9yj8)t-PipvAm9LQd&3~f zkle;xWpZZQEeUiQSrN0$=?l!n-sUiUxF|%65-5ry^6tXG#laRCxCTrTcE(5vFYXbM zD6HPa&G+w50_qYnAEmKT7S+(&r3-;f)WHOoF$kUXd#jvoGl6QJk)eif#sKw)ee<nz z;;Eeeu`BlXQ?Rgef?3S`0QVtHCgY?Cb=!r8R!=a28uJwM<uHX<-E>ViDS|3xNJuer zz=QS{BkAdSqr}+<-8#mi68_o<$|=lH!AdMM!R_V|M>H-Rg{_K0M9g{_5_O=)oL?a0 zLsp8@(}*qJM8PqO>|TbFf^aiR1lIuJhNL^_)KiX1LmtoOG_lx6&5oI+85U$l{q`*r zG?;G`0Y5Ng&Ph;A(76BSKTU3Oh5vC8S4DPVMhJ5Yj)B6NCZAHEk$uWb5E@B?pfQo- zP8mxv(7cZgJCaoO2u_(r5X%vtKJ3=P&Bq)2DMD2;ncVW{%A*Fk(taZX+3&=kjKe+k zJ42HcLOijN&|G$vwAGn>9FT2MELxJ29O8KaVZ)($f=mLTV@jg_A(~1w#)z@;jE0i# z86Zc^Q2W=0{0Z;-0569vP$$?%!!{hHA;uF3d@27dLFb<x|KoT+w@oQNv+z`y6On~Z zT;LGhWFuE2l8aO18@R_~KM+)BC}{Pk#_}SHlAoh3;e&1+r9>Gjxh@j_>U*$7?sKDy zQcfGe0imj#di({nt}x$hg6V;kxP4F#BtBV{l|n31)oJdhni=n~1Ck7u1WKN1VZn6= zCGkLA+jnP%@i<79c5P&7mxQ&GU>!2=I26vA)`&cGqCk)&pz)9T`S&9`mt(^*LnRLM z!2ma5({~Wo5Voa3Gh~J0aD?QYl0^*k$O=Yj*e=qu6-H(0(oejcCEf{XEMc+8rn{=p z!wVAPZn>BPmUWT64G1$#W{^V;nz}9-80ht94IDcbm6Jm;y{EF!wT%j~!bP73A_bS; z2iI73dQ^Ta?XK|MNF0{-bA+N&)+^+&xx6n->xcJ+_QeE4@?iLlOui>rP-(lPC;tiS z_0=F5jOBUB<$mfFm#GiL?gW}%i$ahA0+prZjHT=>32Q`5fxFkCM%OuMf|rB2lgo8j zRxwO7h@cP}iw#beA#~5)qG+7o#t|itP-FP6uz>(EC5f9F)We0c?~uY(%C%cE#882Z zBC_BqM@TE0Qb_tB4oMZ8NM^qms<=`g2wdMx{g7}FA>S{E$M_yg4mj2Ll)1Q#vWlUI znOejD!9StIr<2(M{70v9(bTW5xZA2mBOr09isrH%+h2|DFRXf;^XS5Pa1s!0*j6Vw zgZ#0DRqiDk5iK#q%|KD3DL~vM_B09JfcFF`0|d}al3b8R{+ek*=Kf_E_^VJR(AdI~ zG*zfc8B@a=@kbl^KAHoS)HMlCfI<}*`m>a^Cn2viLzoCc$9O`N6?KR)7yG3>-(r+2 z@oQiW%&-Z2k{v3R_P6}!Z~vZh{%?q|gOt^B2Vvvpft04*mJ33VhzvOpd|ucwXU5t+ z0pIH~0N|ymXYmN|XU_F9gu*|zu;MC~OQ4#<0t~4-Ok|+hR9V8X4Q!`ISY4Jn^}G`{ z|0Qt+2HUAnm@xs*5r$`Bdo>0g{c#Ix4AB6Gh6=*0T}V-YyEhh++TyMkn$UnQq$@_n z2vq{`;9#mKZWydf;gc2G!T#|pR-&3J7D7opcWhQlDFp0iQx;$jk*sNIl$DSa8a!%w ziS#+(&;u|~;(#DYRXJT{oejd>kL$3sPn*&XLW;>c!7yenP-iGe#AqJ{jYCys-x|lU z5wdy~4l_pLd>)=;H-Jxt`gw;$g({sXmc4>(c~Vd!3rp@7O@@%U7yOQAO_0`uX9TAE zeIGMntR{M9elvy&EoMgjp^geLfbz*YfRNDHO*vIsvHCZzSpA#7ClU+NlJ&kBY0khu zZ0ZTcQWqXoW;jlj?2ro$>3AblawruMTnhMUqHE5R0*?9tmYDo-y#xg(M;mGliYv*v zJaCq45aCr24CY86Wr@}EY>*Pi;&qCzgO_V)yUa3F-+5%aH4AvOwS`rh43K=q-VtMV zFt=99Zn-BX5Gy`wNO51W*r^b?1RYE5sXN#@u|V%&P4Cy?#Jy2v0FtcsH!Q!u^?OR& z2g22rdeS`oL*+ul6B^BLmc3uZu*TBt>=0$HaslERsM{kTS@R^NWM}{>Bc{RD+BzED zt1+iIA4Vw)R0;;sa)drfVq+Fo=XE3!sen2g2U}RcHduu8%$QCAzvI<^U>z`HM3o0< zA+c_lvay&}qU22M9#PC`BNSYN7AOJfI2RhaxDwO62|LS^1HrQ!##sa-cO~LtLU6*M z6H{1DqJNu1Ec!QpZvau&78d<J0$o}vCM-Y_5+Nz8h5%bwSR80|i06c}XA2AIS7Y61 zQ*^9UC1pw4Q+T=%!_q#cA%|wE9*hp0rq_l|H6GVF04lf>$vxyrAN@4<hJzEEkWT0# zY7AU#0Z*MCI>Blei3=OhmVm1oEn3_~%TDI3n@y)3(4%+{1KE#tt_2)GBx6{5P=dX- zM0_+&IIFCwVrEKX(5EPQ@yAyzq6z=#R}6{=#$hFcxJ((1kHrLotu2;t1a;aqD5NKF ziJ3;|FQ*q3@Z%&1eKB(q_FGFXX1(_{rxWu#D(5BuL~Ya)j7W7Mo%)$@L1dgpoW4H* z*v`xqI=$5)%upjH0l>|ozZ4#=3V@C|o}IX9OJz?JOuM@Ff>Ek9H{B`#$fK%h+GWg$ z`O7Fx2ObGl$%w2oREsGVaFCYdm@Gg^BvhTbZV|gf{)QjLQrsUc=R{fwOLb7+SA^=1 zUewVQ_6NG<EOsj?1I|MkXJQASAyY#-FK5<A5@FIAb8=rKs&I8sm&%eN2Kw6+y5EB{ zVgaZ-2{VX=YG%@n*j`yN4Dx!EJGM|CGY9v>Om|#}X;@=stBk3_dSuWKSq|*!P=fVg zdw&2xXv`@ZwBBM_n+tQaR}fI0^OLyeM<EBUI4C92O@&(Q%_kfeEesP6N}vscKO0VT zo0d)g*nfg{>L32fjQ0hRh_PD+y0W42phSXb7L%JIQ7H#PKHBzSzcEAXT#~tj>?|Y# zyoPC^_5=YP7v*T-E&E}!u$SRoK-6ThqXW&E#o7U`7SX7JX^a-KSzBWCO|IvA52y)~ z%(?C544O&MJ@ar}b7F+ESD4^25LJ<wScOB3mR+R@;|T!Tl!RRohGZ<zt-%M@fajT) zVP4BZZf)P$)lpg!@e<L(#(b^)jRuxBpg(An6?)Z)4_{Qdz|TNJ&-9Qkjxx?+`c$SF z0*o=3YQznyr$QpJ3+^<O*iq8yQjO|%%K3tc4qU{r;vj^enYoCNB3?cE^rpDEfiK5x zYaZE}B)S<)qRp(2D%)y``AlLykfw?efym<7Am0RT89ig=w#U%RidSS7N#8?l%@n;o zg+5w|gfGFNL+Xx@%B9pMIBG&1fg&)uG`0K;X5DCEd2ceN>-=N?3xel=<V)zFF_(&R z9TprD4`l($4!I7;nWPxj1ZpX~`vSOgp4+z#2!0gsG0fv=nQ+(=I7bj^jw@gl!>Sif zjlrd}E**{+>sOPd)kzg5C)Gq1Tqqf#?E_C4Q*$g4#sP-!5MdJMK2MB{%snUUl}rxF z3eOu%g%U1C7n)_@IctzhRM<`Uv}O^YAJblxXIK;sF!kxIU)-LwN}-^yDcOokLcIJH zQ%R_oKlD9M<Urqwg?ufPS#5a$OhFMQmFy0%;&5#R63m#q=D9KDv%$hfp=dI0UScuk z`A{Lxuy;+ZV^~>cYQcbM-s&Zlng!qi7PlZq?c(M;J=0W#(kcH5Ym~N$V3sv;Y*9~s zs9sSbSAm^I66_z~G#0u^EeMebR#x#(yqN?cP^I)+0O=$_7zkL?n(CX8;tt4(C_!SB z7NLVFOcqunXQxTX-hTW)Onm>r?_u+#<S2#rQMa&))Cz>G$GpB0*(pYF04G-j2IGn~ z%omZ;vr!2cYhso$eZpf1nF_AZ=n6Qon<ZDu)S84{Q6*~eS#Z23g3SO$pb%#2V)Lcs z4-I^%?r@%nQ!E6gm$kPJnG^83xcqtneHbxJ44V(L$Y>7WuN)0V^e<KAmXV|+0!v-7 zjG(_T9<2q2xnMPv(smM>gUNw6R*nM{O@3*<^Ag9>U-_O6VASaPU3g5o#@a}vSCG&+ zXeObAgV&`gUn~d!;RY7vOtE0h0N9wYQ{^U3Q3m?Xr@Fhy{7(*(2kiiaQ+jfCsg@r} z{)D-Q6jE8>4{8wHm4u%N1Y43?RuG8B{E@0Dy<mI*X8?_OaOhaDkj9TdKd|tuXBa=L zq4U|iX_AULJ}EeFX&Hz#eXZGW7b_Nl-rAqd?D+N4FJ_79GCh1S^xS91ZhFbEL6bl5 zJq@sRyAbsmRZtanUlVTG6z?il!stP^%I6x;BssaBLHLC(8x@_BUXG>u6m6?UF|p~Q zXuGb%D#?<}-c?Rh#`uV?&`Y$4Df41IO**dnO`pwdy2+XVU>0BxNONU~?<F_DC>xCt z9f8Vp2^SG(5DJ5hi4Sa~PL`6W`!q+^2o45R@}dER^GZ1=mw*@zGQnJ?p}dwZD*7pg z)sSZY<JD9wVVV4)Z|ZDJRBAKS2-LPjbLGYc;fvh4rox@5%8V2i{WD!sIB<s3vi)+- zSb7hk24K_?q~&eb7m-d5h4HRfYTR?MJoAhw<E1GHBMg5Ad)0DOh8_#|;R<Z;Mk2aU z<<&q)KIvjWz{oS7<_R=Kx5#}6;b>K{j7-onDsE-CkrDX^nzY!g;~_2N5&>nR`R|Yw z!juL%Egp^7g7p^j0iISd>KV&1Y-n6C(pz*`yW=BG7s-F@hO&^&2q>1YKO2L|!ZZQU zA9O~Aa2$o>EY+AiUt$cKawd`yuxadfg#s<72Z7(wBm;_P&hes!wM!OO2)BfkO@>>6 zK&#p!YZo-%36Z8ME3RSG1)!vZkv%ud`9JbkIfEcn{9uRB6e2vLnG)q#R=K>8-;q@u zX;c*_;K9mHFp!f=fap^*!i<6*Q;k7f?(DSyz#|+FfOr-bmV4U+jj<#+fJCbN83AbM zs|g4zcecIm1R3rCh%sta<!Y>PSq&*RgFQ0Cgsma{j`MS861Wh<qQwBvc+$s0OsH{M zN<%TTKeOEhPAAtGve;u0Lnk6Q!VD4Q{h7OoG^nRf8su&zg5856y@ed$qI!#AD3#hU z-@`@~062oBM{*k!LSc}q*9CJs7&&$fv4qLRYRAqhA*=|7$N)GcrXUk&c2G1!7V^lU zh!CJ<hFr>~0rQgzl*(9k7MC$y@?s2!k28jv2->rkZn?meripna)T43EpbgJYb=|wi zSh>iYWY{K5av^51&jsNc5zwBxqGx+}Dwfy<#tBi<vGG<1opeRUl?f%)JkH9%wj3N2 z&nzhcZvqP)xe&4GPZw2lOF40KjUtKm!lP3b$hJg-tT9OpX<@M2%VJY(45JFN=ipNN z5?NSWlt_Pqp)9A=jdwo+fm`H!aSAvM(2j(vO}r_=j)PNRDVGcOMmTd3th140GD~Mh zZL5KIEs)*|VeZ@=gPBN`IDSONutam1r<*7oe|lIdoG&1v2ZbJA4Q^4at@{6-)>vW_ z5^f0z7%DMv&yxjetSLzwuRxGlf#{l|p#_(l8;X@X)j}X4&WmJ`ByGt_nP~8^)TWH$ z=Y|119W_{bh)mo;8YPG{=G7Dnh3NCeYCLXl;Ibnz6tZ9~(QhGjVDYcYT|Lu*4)n0f zRW)?aCxSgDJ(+X}=#XutA*spKS}x?wd{$r<rASjXC`c`m&4FhN$Jdx1Aa?Fh?U?pG z<x6p@Q9>msaR?gLy4Kn{GHYEvD>OKz$^}sbKA3MH2E2pH)F#GKcu`HmD>AW<Hf|AK zEXF#DIbA#ZP8KXI${R3gzNR3~5fJRmSjc!$&og9v`(%^_rUi;ltaanFG9bvq*ibKW z_99JIC8S_s&0rM;JTB%`qE1(;SyK%&#JHv!5MCO|ssfbVu?B`P<UrUGETdyd5<d** z=mK<AQi0cUiX~TNG&x%$%$yZD3}#)6QO=9Zy4Rm=tzPFXBferJ%QsNIjqo!T5WQh< zH5Zh#+0@Pb6cTlz!g5z74pWI1)|SwO{`|OGIXoE+Q!xdYUZzymRtYR_Mx8-CYpDf@ z*3dv3!48Shw*~(cTjX3+5eiF`&4#3m5_O!xRsdpf#%&WJKY=npiawCDDhD&IiINo3 zyoPkhZk<CuB;rkDFS;g5Jghserpfe%VmTMOr)~1M2znCk4nzxUQDY(29!6f(aOx7Z zva&D*M6CHQkpc`x-%Mj}%;zmuUBEjwEWjZ&jL|5#)69X;ET$O5+$_=#q3>mujh-;f z!jyTCX)3BLax6Y&QJ+9!L!$+VkvNNf+OkvnRg+Gx7hM!QW~w(yLYr8KiWK!jJmV8; z&zHD65jDd^1(_O(^zblWuF&Qi@C0HpJzz!^7*q<g1a1yWBO-z6GHgwzna@t6zET1? zXxc!cXGkGCs^pO8WD&1sA0n?u-RlC<X|7o3MM2%j@W_IQZES9iDFx9)rfdpSmBeE; z1Ev*gsU;^jbRt{o=w@{|=4I7rVfn)oh19BV8t~*X@&T}|VS56F5E@eJSk}hRV32B& zA5MX!VAd2Vg{iAPssLadfhdfpF=G!CZwL{WxiLo+3FlF5LfACokqv3<MUihAQfF*o zEjmeIW2U0q1bLfj#FYwXYdC;|{hP!c%qcpsB^Z3z=pP^z1taY&lKLj(^|<1-g*B6< zOe#cs*o{8ZV-m8$M0%pEhKIZn%2|1E@infOS(&3T(9F5A>a?+i{_4`g0vi;jSTt){ zT1ZjHQs-z>%-%pQuS`X0$r#6w2A=A?v8d0DkV!|vVwGA^X&fDPAXSl+t}uyR1i5gf zdVz@mE0$ge1v&xKxQ#$MH^Gn@EkW25=ohiDCj$e5FyC4Roogyb5UwrY{|w;5EdM%+ z6qaf^mtxpaf>yU#7c8tn_c(TS!hI>`sfp!DEae#_>B$kZ31fyZjtK=eUy4+_aWms` zsh-C()i40q!C}EnsV;Me0b%Vl<QAa(7T1e8P(--12laG<un=f70XHUFa~8~D7ubLt z)nac3rarkAr3+BIhf?8@C=^T;-EG)(jav#$(*<Mcjq}~evqR>ObXaXc*&iq!jKD?~ zP!$ZO)gZv2LOiIPHsGBa6OF7QLP51*GhhI{82-N|Q0D~;%d%1cM8zZ~A^40Ght0h* zSOpSdu0(BRvfSO`x+0Af+=RG5o%SkSayN4ZIjAyNh+E7EcntZ&fW`{3zOOTrobslx zX)vgHk{Lp0gD8;+`(hHSx}>APTYzDD2IEDlT7fgD9#*Hj;&PWptOF$jRg>;#!031e z1)*=23Y8j4zCh_q00+h`vQ~m*kYYe)Tbi*@4@q#pU|}sugRF@hF>Rt~9WM04VkbD_ zt|MPRsXeYhW}YO%)G;S8qUN0?|As3q8jXlZNVUxvHz_Z8azZ`f8;fNc=Jx`Br$O=6 z7flppQRWq&Nqh?|=d^N+{nrsHQtM1|tJnkueX$HTL1+hNvXfpEB;cqag<w~ZBggxq zKB6r77NT;CiP%*uK9LtLZryaj;w}+oDhqH5V`qSK!r6Td10*rcth-6^MX2AzAuoz7 z3kHyufrGP!3hr*nIN>p(rP|s=%>m0OE6s7uHuBspP?tf1$&!CV#W14f#)df>vLGC- znh{0-hH=N!fdLsO4@zRJ3WgYKjrC2@2pf)kcAiakg{npKZqn&AV2Z*t2s1<nzk*ts zm<2RK0Mv;&p?v2L89OU2E(rt5G0Oca4m&2c!|p?!UmAHygC&cC@^OzqJaRVGQ5}P5 zLZUhqK4k_B<Qk$X*gaLj_7aI@Y+ILL4SQ_uGV?!N!DKBkk`tI9jL_g`EN`dW{b|NI zSEwr3LIItfWn`;QAq1CQb+W)&==zIY8`;8=@Ehg?sL($<f+gx-8aa=|M`BRCHn!;| zfo(;BrVxdvUAJ!R8zB`ai-vRTS#l3$7JZ@RDwHTK2V0PI^?bW#;z*-L+Qc8{t6!DR zgME^ct5tzUN*0A!V^s7Kj~v+zpkD>R%(Ri4@>8br2WIkO!z-#{QId?Ux<>AN+N||* z468}}A=GF>V1x4l^Q1~nNN$D>HBmwldJc!ZOsd9!%pDqH3&A&ncfzcU>bpj$hX^9l zOejT@RaWMbd7h|cj1t}qxnPG#H7jA8EO?EOOfe~flSv^chIf0gbuvjfT)=4?njFLX zRulzGr_YYO1=4g`ba^<b8pbk+v<>D>7$u{l5yptb6hO%tv}I@ljVMYDfuexHq|`N5 zMG0gWcMa3Lsq{<3c8H6N6N=IxKq5Cd=rDs9>|v}OBOztxR}S_v(`<+m=8H;NCJE_e z#6PP@PD;3(AQTgkfZ(=4lF?ySjMyclF$htpNJh>h3?-D5sY%2UxU>l(;Vqya0xFd# zJq>%tsU%354+1xWE#*!Z0fYrsv?YiN1y4IJCrZu^IP83QnQ-)C49kTp%u;KDJh8g5 z1YZilD@t&E$dV&In*jrfbUao?sW^d@RRa?rm2g6O^pb_eX0iyrCd{Bk%0B{}hVGWx zQ=t*WM}m|Li!tL4PrOacu2~W}x0tI46c8wt>Xa|g>>DA94Bk><AVfwQ8}X*cHoqlp z6j#nd4+6s+vJ|2$#7`3$U(RsZ1T2Cy16N9s@dvd2&=l$<ao5;rtO+;dnI|k)rl^4e z)M!L4<nv9VjJ5LSVTfL%f{<wvb+M4^5LxKt2m!ECW(FDB7^SG8O0jeb(E&pc<V6ch z*;b-eGbSZhNd)RlN}8sPWDOYX{8Qp+V0aa8?L=eD`E?;Lmn%ust{D@Dl1y?!ZU}6= z&MxO~C<FY+Ei~V3oY*kUB^I|v;seY6KQmAuSki*eC=02?)E2MY;Vc*j7;g5)j*bC{ zK!Xzyvl6NS%787Vp`^FM>sjpn=duxqm1cOMF)CxWrO$1|xX%T_!WN{)<Dg%>asZo5 zE{>iFRt*4z$*ScFw0`ZokF<3lSf*W5W0f=(oiHtzND$GOh2B(}thsdJs$N+Yj4iA> z{Ay7b1pj$Z)G8`)3zaYoaILDuixU#|N-+*($h?~mTs4!}_e$MwQEJuz8i}Q0RrbX> z28;s=Y^;zY(g4eWe53h<F-73}d<?1>mcvG_nhMRb%E@A>!3{gm0%WRG>^Z|!jbbVe z8m|xy74k_4OE!&sjY|uQQz>ntT+rawi6ufnE;)r39&;Px4=k()77)wI1UZGP<^n0_ znk);82F#PC_Dn|N1s{kVa70bOc9mQqpi9j2Bq_FAM9W63qYwpjkcu!*R8xYJf;Ml( zRwNQZ0F)rM0PCs@qYM-Zfs}Eggc+pa_d%R{3AeFiP&by?Gw6QcxQFuH5~d9H5+?OR z7P%GWjuVxbga~<2uWDxttCG=sOst6rZLF8-B2kkpEXRt1`ZJfwm&x@rjT8|ryjV1_ z@37M>LUUrbWv2f}`(nzhJwWCYwQg`v3it|tGN^i-ERiiDJ9FX;?rRL7#tC#s!2n|Y z#R%HG7Hd>>m?Lb^MAP@Zbi*c^qL@5?jJnJu$uebDMj_1z3UW1qLGS^gg%!=U7=tve zPNfRZaRE|sMK(*;lUqm?*_{S@fFLE4=Ri_Ei*QaDM3`~Qwx^hVTCwVttZRvZdO8Zf zQx7|5))YwyG_+SQ9sSVdK>l~z6EAQ&1z{K@KC{4ukaXfra8a3SFRg^97aYNaMg)Fh zjYFv#tNp1Fh=KGD+JZF(3Q?)70QvOP?83tFOMIT|om)iI_=?SV09+zqvyFOkNZ^P8 ze-<;~rm2pK1<t?`LWKS+yeMIXR2M506bI}A_D7YhXwHO$UQiQ+kx$kKT`qx?E@Vle zSx1g3HgcVPyjP7}obwJ&i&FNE?1^PN8>k3^EQRlY_3sxros???!~Yqj0ZRO`*~d(d z1r<EZmS^yx(Ph#RnE*X$(FO~vp-0rx^cH5+2*eraN~kViZ<;A}f$WkLZu`U#qm+t~ zwsFF|1Siy37cktZ06LY}FpT?;m8<hnBOrjbO;#+f*qRyWj;3bFBK^s0QWIo1%JxX$ zDe>@35t(e5QOBh0+}Bi?3W9N5%z|YSX%{_N#IZ2sH8G^KMcsrbAWSX+2-#~Uwn7tX zHo2$|8~7CB+@ibyYD_zPF<@3gwmjsm6pDlf-0!K%Moy~bnvTZO4iqbtsnEH&geXdd z>|oF#G1^`T?khpgL68E7<H-TChw>K@uk&^VGCyD>6j?e0{g5tOC?w&t(FesqM8jBP zuc!y;IBbk;4mB`QGWjZzxSKi6O`<xkkeaU|H`0nb++(pUlTL^q4JlC(!kfnuUFN}B zT3Cw}F_6$gJ~4Bd7|pZBG*Q^C<tEjlXGd8y>Z{NoiiR9?##}GNpkuCZ7e_ieo{?Hw zo!G)ISXc>AIt#Ay+}$}4CZ=so{aMgf&DrmeO)~7hR$#rwDG>VOIEvv-Bao!TQWiz& zL7S43gV3?bbRIBf#FJx8Sc$F$h;Jd0tC5AUWlq(D91DTCPc|j}dED@s$Q-{C&{<-+ z`Az8=Lq~hUpmR>tBs9E20U0C6NxserFl87+nmQ(d6hgUg5_&{0aypI2twCu36TkES zpnqwa6r!uiLiI+lB9q7hJBLCSfzzA~W?`_fzsW4{O3dn?k)&>9_o37!W10lTnS`4c z*}?|%!&zMO42>w0RT<0yueMUBZ?+psxi^(4L<ttwbP0dcsJzVs9_2ojO1Fz7kQ1Y1 ziCzFAOYYFpP-~^)18xD-MZ=B_d?KLVB5-_Bn}GBc$V4VcipE+(a_o^rpPOQYNDHGZ zgeUZD;al!LieV)VD+xX-)5ropV<2EwX!ha=Doh`XXm79Dvmm9peu>gA0)22rEi^D| z;5owO$G(GxGBgE1i$yUk6XD}DmHAMOQ;={dTiYx|K|RmO!cI)T(SxV2SVX1~T*Yw4 zML`i!W<_$=6<$A~CN3CaA}+~HQ?Fn*)5f?JL!?7cVxFQlxHyft^-NhjO9MDYlANLj zVzrPJBr~py<eJ4MEejPj06r;>Bt4U{i+qT5qARcn%a6%FP10gS^O;h4nxJY-Q0Ycj z7ae|cR%Vq7vO7~7CJ<yz=O{d0iTkq#os9_-Fvxxf@ObDj7z56iV2TNNB-SwvJYza< zM1yl{$W0s-1DUKNK~#9U>yj{>VgV|osYbM_fHy=O23!z@d8~XHW*WIZgvwDGSeYWq zG8z~IL%x7aS?n5D4B2$WD<E9+a<UAj(<ZzcLY2EoG9kFUf<_UlJt|8+j-kHTtwZ4H zKr5z63S9UigrYgPYbfFo$ekK0*cp>ZPQ|UKfiIEcm5{2mFcm0Ap%E51n;$4n51IuW z!s;sDN-S4YwU?-_v4o}T(vXKe$RJr{v-)gITa49LqX<lx^lGMNO#<N&u6%4nQ3x?c z9t<reGRTN|$=2dD5n%pNYI-A6kvve`9GNO1HshI7XPG+_F)mV1G#k_an9qayvsUd< zmers^(Giih7>^Ksn~727Vn3_~sTiac<Dihq*D`okHCNL)3jxG)yz+I`*Q-?LCuo#0 z1SN^Pnlg8^%0e{@`nJ6V-7$#>ze-*DQE^KZb;K~W<B?I6C-ls`aV90kun2@*=@9|j zj7HoAikVYOSnz2u1r>2UX*(i#yAeV+BBxeG4aLi|1ur$!1}vc6+}D7hRby&COdpBD z4~FmyO@yS36EP-%rs}UoYI#l0FksOY)y{?b?a7laXIe5&XkZ^qDQsTJoX{n{gYZ2T zAG5HZEf_ykF=L5JJJ6I!PUwX?J(6hXGWB856X94SP0?!T))^jOVz<@E2^=V$Er7E# z@I9r6LLJ0?V0Ykc(6EA^Y+&CcD^U^#iSiLK(-LxH-bm<X-e$qYl~AcQl^&rjz_tS< zW>7bSt!;t!pLEZGpgG8Qxw;fVpppZeYZNnyA_>Z6c?aNTDPlGPgJKdHI8~kRH(_r) zO1sE70S^H-AOmkvQQ^))`w(7b^8xxe-hB1Q#Y_n@PjgbWd^BrhDud@lko03kD~!!# zoNqO3Eiwet0=FCs{wZ2m%?&1uLqnw$q11;^E<yt}Fcc8DRBIe>aSwg42$LzpWFZQx zEW;xqi$ZxUCfJD>9&FnYKo&2mX&+ixbTL&HJhfPTAC;*^#Tk+{79I=juo84q=qa1i zrKtoMEE3Kb(?R8}jWTb>%tb?uiCR67Z;n7H)ze!bos_0b{r=5!`!O(8O3K!V(*QO- z@bS-&?GK;#uNu=c1|8jC;m-TxteGQ(YfM60%!J5j4<+FQs!L@63p(4&spZloM9_)p zt3^Xz3{rv2c~ah_9yd(OM20v@%qqFRo^#Y3OKBi`MpUec5oekvI3qDqAjiB(Xd(#V zGrCYHB4LDWCPb)2%1<R&si-80Nn@{9Bz4b_r$J^TSy%IxEh0QkeC!;iM5P|(fgG?P z*Fg>}#*vEB1cl5qaN>@ck?X6^`}Xt7@-s%9da^@DlR(<#s<s7NzkA+}qSSebkq}j@ zw*`BtCDIt;1a6*2s?y;ZKy}SfabVHbG<CTR1y3YY4AeDBELI5d=_%COHH%amLjY8Q zx`9(sQRY1YFKq67ihTt!TN%ss0n9F;C}^B~iJ2BzRBs3Usgo!qM2zNi265_#2|)`2 zAl6yyd#XJQ%8F2O%ao8*)|$_n<rg!rCMg_f(AOoCjwP)XAW0+=nph0zl>)Cz+B%4m z(z#$cYsdh^+p?aOV2pjgxG$EnSlIIZr~Q$b2~058h=fVoX^)hf8o^oY%*mK<Q4Qj* z5`=On4~+y|ic&9&mOvm4<9Vy8Fu1nOk_$+{QSVPoQ@LA0@sjk+MF?OmAyGXGc?{>K zYN-aWJYYK$ik2y3LyA;+?PCcOIhFtu=5$gXjSFxS0esXXb2hLP>6AbSOO?nWsLw`q z#bnKez>w+Vdd<9gO&r>JKLm6PB*%268aJ~w<2*|R_VmymzJB{<|MvCkQ6f1$Y;k45 z3d`R0e~$&L<BXKIGLg{FGEKILY9vR|fVYGpXNQm5`OG7pscp`Y4hVT0s0kSgs}L<G zICL61jRhVb3ULbSlX2`UEaQb>6mB00pexQ^0k#2(B#X5_f~qLLg5+^juMy74b7?%3 zP)*R~i?+qMe!`D6kYJ_&()$2c78Xl>aj8mzL<J%Q<HAqsz&GVOtHwT`9K$leWx+`v zwl;wdFhFfPym}GC%Bo@LVRKJ4vB(QsSfHZCNBL=5Si-@W<bfrGcTD;-uW3+p4cUyK zs~x~8!2yIl-VGbIO~iVxT_{Wh%rRj~V{3pA@DS7Pq2Jp=&#PgRKek?|C)a!8)Dqm1 zNh0Ir)3vaiXk?_IOqhbx=1G;Aw}yQcRi=?qFr>A-Qi>KZ(u5I;iPQACKh^yT6$*@1 z*Z4-Tr{viz)$C$tJ85ki0Rovx&-2A2OtX}H@%?Yvz#g1|Za<Ipi#OlC9mlxcefwH( z>g8KW=f3RUp5>+-@9rr2EDzs~ZBM!RW&ixNEm*A|zj>DW&2fsGZ`E+yL;chCy_c`s zN4C3qE+5@)temi9m-}yB%4nNG@zy6N>X66QeqCr{P_AIYKQ#27%to<984xwynFX45 zT1ql$s?rA2V91ar8ZeJIBAM0{+p|Su<f)9p53p1Y!9p;Jyua%8=w8_|l@$(z!2%qn zXjEMgZZ$Tl4-n&E*xA|KaATuT-CVd7H$53!nBj;)H{#V$;tFKDV-`RKn3FSLXb5ba z)E`wonO)+$)ag^dwOQDz6mZ(_4=u9X*6{Z4?T`009raLOect|{n=!pVl)oP9Bq|Z` z<F;VW+piYTKGeU|Q{43f-qt^D-#hOgzwE90(c8g9&*eDQPFyVgldNQ%KjcRW-GLfF z<+S;;bdWIW6Y@fT#lj-YLWp}M!nrkKDibD^(051>$W=N}s>IG!NU30a9JDr*D#Ofr zV6%ytr+6nB7WW1#mnID*&@s=CQcN1V2iZqgC}7#F(PsRY5*`YPLqiN3O{Pjz5XX*2 zq;Ow7eeRY8iNjbjkJ7`I;DSb+^8#L!L*dskY>;~2{!=Zi$(MawYg&`Ib*0{vUk7W; z_x{i-IQRQg{b2cAU$8Z8b*u~a-2OS<-2agAr?Si+s|)>ke=G;PZzpUg{vmog1RxmJ zxQyk~m|ujc)^$b4MQfcfltlIcYa%pF3(I&z>4RB&kP!?K>c+%Ns>(9<oVT<!qCCty z799(PSY`(`S(T$CQZ}q1lbZUB89Hni%CJT_8D<G3-T_qhFoOhvF<hTm<6@SW!(rpN zOc#W}Dw+deq>GRRcZ~00idZuxM7EQ;u(}H6WPoG69e<rA&aAl))m(0N?rB?@?JiG; z<HNqJ&Bxt&i(eo1KX!G&RtvkYAFQ@`cfWrs%llyGZOLs5cDMcWe*be_Z0E!Ac3bG% z|3Cdw54O3_H5xv*)qmRmxH)a--cI~bOl+~~F`O4kOaYSh2~8sIJqV~k+wy{-Rv36p zVMdtLQAHs5bV_;}(63>}9-l5|Tj&f>!Z&j_D^Cw2ETXCgP>O=056wsF9b_4FubPpC zC1@0rM+8M1==WrVkm_RK<Px{Ik*@qq?k&G;#K(u&aMc9aMwFLEo;Y*2PBp5KP`8Ff zXO4Pglp+vI08=We?ADx4SgdWYTMT<!-PTqf)zfP=rssY6`=4r-Snm(5<oc<3zpc=7 zUwqnvg3x_=$7(+LRL!q$zv|j7U*4?er~Qv@IaE_x{ObA*-QFxGC})}$)}r(WSvznM zon{xvaZQCR?1~Wx=cZ*rJp-rH(q3*R3lG-&(kGAMbc1Z=Z)5(#SUn0i3@V@Itf^iu zHrbL6IP)_gZpTu2k^sK3oU#yTTv%A>n^o{G2r1=psFBjI#T)W1RCyFEg-dhnO!Gz; z+6N+V%3^!PlD<ADAWw2C%W|<EyjjNZ^x5{b%o0nIkEt=Nek!)_q1JCUYx`K=FTcuv z#)9n@_O*Pc6>eKu=g>a3y=VoX_EW#z->nO`c;00(7h`;A=eqmLv3kkdfAr-)Ru*<i z66WS3cfw1Qvk&q_s5}v7SHi`tyg6P5%CV@WT(%L*3#t-pN);ja#gW}1(QFpcgihy+ zouML0iW3WBCK4o&P>M}+2<r>RQupNuRXwvkBV5k@MVJHkifif(Af32CnG=L_SOC*B zMBNe^3Rld45dzPEJ7bD#i!sccR~Brl667^(U_i}#NzfU~%sOJ&ww}sbDmQ-G*SzlO zaktyG1*_F4HVa!n_@{dA`{F~Nr|q?y{o#3x!D;{27VLJA&xdBc%V*1?zAwLO;%f7t zpLV<Z4y4GHol#rnwidH>dlfgAWiXXTt#HuUAdT2Z^VV8{q)3=bN`N0pVpm3KQgYc1 zLFkt2LIQOmk)U<WvO8>HF|4%(Xi`Gb4RAXP5E4#rbsonIgj$nngHC;fc^UVhQvG>g z$WlpoK@mw;gDG!lKV9=<8g1gRKe#YGH{weo0tSeLP*vP4=lhhqYyk*jOU8*iW&Q4c zoi&EFiapvjt61{4ho@~-)}KSPu*d4}*1?-dr~Xd;W?OqDg?#whb52{#+t%d$!HPA# z9~O6lBVU0J4O8mw#wp>B4AVEXgGQRMsDHL*XwP7Ip}ZvFZn7mdMh>BRs0jh$yxeO+ zMBQm&skKarPRlR|me>m9ymuB*k$?r_-aY|soq>K-u9`XfEZ+r`&xo^!7#IVAuqm+t zd1`p5tj4szIwylcUx;Fvhbn9~i|)EkRD{wl@QN)NRh49P*;|AC*pc3;_5_J!C8|gE zCs*A%L7}$8BFakoTnuOlFUy~APPKA_3syXaEyq9oT(7iQ*vFPXF7G_-Tg_)XN-5WD zUmOdzylZ;fN;+e~j%0HAV3a=O37b?!F)Bip5QtY6;;QBvDA)pq&BoX~3F|*1B9;6w zAtm$lFhO;e^I3?hN&pcjcT61yOlU%x8Df~Yq!PClSxy{SN)*b8Mg^<8-lY)GYZ?g4 z0Dh7HHYTxL$@Vg_ui@G;k*M@U1i`kF#R;802rd`2AetIRNTH7E<XkgSVkH*7Nbn?g zYot>kw4X8Ty<6ClVSXu<)zf2X<T;iFYiMD$e$ZMB+ra<B_R7s~wN_Iv<K?ui_Vb~( z1GSHqLlq?B{h@}f<wo!K?S0aZGwd4)^N2O)72+yc#k|}V!0`qxKWMzPSResvBa7sJ z&eNjIr#klrL{vh}M|B}e4}xYoGn~lTYZ|9|q_fZ{dNnsD5*TIOX<wPfun<XFJ`fiB zJhF(P96q)tDu3mOGU>o*_B)NY7|9y)*zZF^?7^uHOA<$C%{9XjfD-uB7Zl`%73zZ$ zP`(xbKEB7;GKNKk%K1HyVNI)NT0eVpI#hdGhGAG(ff)8j{aCWFJ>T4}Wmhu4CBiL# zFYj(=J^eUU6oriZ)O}mHwoEC(FcBXCgL^$YjP6>_3JP^P#tLlYhz_C#8jz1d+!dm+ zY#-VZVv1Hnw$~^uT!BOwIhnkIq|q#q`%YG&1C@m)U9O=ZRS^5Z><l=~Mr89d<qMTb zi=9g(SuX-rB#TL6V+!fe`$+gej^rsOT~i;0v>z}RD=QDm0#j>FFwGVg+p~=aD{*{$ zWMPGOiy6ay>dD{o&hELTl4_yl`Dw(krQYLN;`(4?47+=lzJNuakJZusQa*C`+>=h* z=T0pkzAbBhJ90ho&9j3AVabTsNG>(Z1SE^ff)H7!_yZbFr8<UP@O+e8RWu}Fl)!pH ztWP6+0r93(&JbYz9$_57Zb>%500tX)5HP8%jD~^)GRF=fHxh~N1X`diQW2OiD}{>0 zG<pO`>B?NjP|>2_X)z<OiQ5L%dR^;N;y$Peer29|OjY^V7(k#{&a1_ey}_md9tSwt z%&fJ}5(8XFg)D5X!=78_wyvdZ!IlE+&Ayd&3O=cR=+oxrjt|-Z|BvYQQ!Tny3wyI4 zb=Y>WYJY3UdTc4@)4^ILsG^;YeVvO&80s7|NZv^lcvaToK;BEn=n{I26g<EfLmom_ zbh`9Jj0)_`(`zESf)pt>NT#nyBme_sT%f)oSg|Q_ga#i}kOo*%4?4E+1TGXr1Zl+d z0`HSi$xMSzJ&RE%WdH>B2Tmc8RP&B;WJWey*jN@sor$eN*P?S+C=2w(7Klb+sbieZ zFl2ai5Exv<5=X!Kp+X7ewEz9L{h<!oZhv_GrLE29Q(1x~-MhWmV$zCOdfPtOrsAja z4p`XR?Hj-Ce{RLx{nwY8vD$zAZQrxYrHZqCwOCj^@BjQ#UYz!Czci#1Ft{RJn*~fd z5xb?#kS@V8nU2#e0N^LO7IQaB3*X#V)(MQ~vLaM225%M!A;d-&3-tu(<&K2723c!U zs0pcNBITqLWE$9<B4N2nfN4Y)$0Rc!czppX0#IF{WRInQ6ufJqox+`y{a~z^Sg^w^ zER?uCG(x@D{a7RF=!29>;zBG3L?rBhjq{qiCFj0%2}^9sJ9saM-goG4`D4ct>#5~@ z^;8$s_H!z$cwmWZbX&pyvqIayQ7`3;SmM{76)s4{mXoec0S#W&j#oPX7K8`TrG*@} zE7+5zsw@YGtZ-piT~%ak(byHX$Yudo92R|9GbwV_z%3cqTm&OOzsZn)QBE0KN`?}D z+}zw&YzQpbgOP?((wY`F`gW9wGA7SX+ozHiwQDX(pdcn|mHLP@GgJo(cd)P~=_`5> zb2>A6yq+PJO$2?WEaw|&Lll)s185{lNnhyJ*%2efd{Pg+zH+Y1r~a`t+Pt;(Sl_Hz z-)&(%ekqpnrE~=J=~8Uxmq)D@wjAiTe$z%Zw<ewIpXzd!76#Xpv*|DUYN*?ZRSP7F z`shX`(`ivqlYF_3mb^0)TtvAE4ZOZF<%+fv#dStOXaaA--Vy>|i&Uto6L1l&8G2SA zbE>HlqngW&K(E9O+-yHZl7%>Ifs~eck`brD-QVV%3g%7-QzT;pgh>LNDeS5u60nCc zY0EioGZO100RYl(Rxjr=+Xm*GB?&EJ*2osJMyx9?iwCQ*5}?9Dffr)fP?<!%mb*Kh z=IHLJ&DLit@Tgr~HrwB<R&w;&Q72K~qvo301?}1wwEk%x+4~~w?zw&c?nzA+P#;<~ z1l&wW69C4jGJ7g7T_u%RU67BDHNY{WXle-<E0%m4hPJX}6sdAW7F?W)pr%ZV3GKPW zZI(?e@L;K~Ev#{R+o*HRmKN4XHPOh4ACtl;ukC4MO8g*vqz4VElA0_cGR1<eO4NE5 z9a?0z)AgGK>r!0V8t~IOy-(?Gwy;69Ph$#%b<jSDVa>IgA`!CZ%T#sAOW9pp6QK8p zM1)Z}!-W4FG_55{?}9Rnq4Y(VY7)T-l!XlI-lI-KOdu*1DG1wYKrfKyh*<<FA=4zK zb@E;sA?TrQ4^f!;Tnu%5nuCHIM=6NK$Ua7DrgZfw%Y=iuxY{6!30;n0WEGXJ%<0~k z1t$P4OhOc>d?ZPF2ZEq1&6vR)qLa6adwWEXgs{YyO;p*TolP^U+_3G$P~{Q*mJ8iF zX1G;QYs?~eMCeHy@K1YFq^xE1rg`mNNQfZ<0Es|$zqZi#Q-`U>B&T7Est^N_A&!Jv zK2(wQDLGxS%{ZENWlcuWfQ$@kvlw9MWecmitQlxdh)R+wiwH15*k)7^@F%?D)fJ|? zVB%Y3e4(=@m57)bb=b2R?}{;13K`q+N$(g!VMNhvF3ri5LoPrxh#Lf6muO*g1xc_T zrX-SNiEo5db^>uCbJ1x8T~mzhj*4FD)`<kTfD}c`rm%o$uHDz9vc`5q)@O(HJ56=e zB7s!ig!Rnr$&;L#1QqDqf+Ug``=D?awp1SUmOK<?bz_d+E(pe3j`ITCXmUG1<NPv) zH6$W$xg`beTRMwNf;09pFr!)^LW$XC%M;gvL0PD<QpU}cD@^9p$+3fpNnokE1!g+| z<~i@mN!!W%0d-0fCui3zfPxSRUFpxKgq?&|BO*rRjs61*%WX}@O#?H3yzJH?4?Jh% zI9~F?0NmB5168p#a9ZbxK1?Q~D!54~O=`|IViE(PidY6?z^gicqOm?O(FS9?0Zeao zyBAT4%=$p8#pWR77<>kAMN-~1aO)|jp`)!M3+vSyl`KT2i9d;W&_X^8G-%`V^K_Go z+ZfRS#I`w1o2@HtCZbdV3vO><)L7JxdA+R81!0CJ3MZo8MIfa69Tr-RA}q>mqN!G1 zNubnHk<iM5iGn5bKV=l4-lcQGIoE8`^PL?DisUDPP5zMiCW1T-1d*D!!bf>^*4~wo zbr`&-a*Yw-HTTrbMo;voqf%L-eRA9oCP9>=N`l5(NabN$mkDttNmL_NzYeF3H{S<D zVwOlUC#i?{p;=uu5up)y$TD1ou&$s^E|ONWxn~;$XB?Ll<yCSsGkVa`!fLD?lg=&7 zG^)-ddKKgnnw!dkRFz7s3>ryE!hl=<$in9I<oJSK5_Ha$tpKqkT|=E2T19PD8eCg= zVxcj?T)j&|b}GYbRfEWjdp?m(mC}tGrN`O7cf3S~v_%b6YQ<RO7FJ+7735#k#hQu* z%ms!=Cmp5{por%`T1RRWCa*weGhRSwG3yu_HSAb0LL3;BD#=UHv|DgiS7c56A^`5R zG|??oNpneucPVqNYfXL$aXMW%4r}<D2F9jD3Iuq%C_pGARcsL#uInuE1*winNTaxQ zdRd-5WR0rsA|aT<C^1y96YUAei$Plwpen(33(D{&H_;aLR&K15nCc~HtqEh;g9d8o zqXRxu9kH8Iqruu&hTMg>`&dBm8d`K?Q6pF&LD*XJ*6xw~bZRl;OiVbmB^qopE-M<a zt|VN-s9w;yPq{dc=UpztQ)`+mtSUjsoE4I@21dzyMuZ0?0y+!Ip834c$or2h5#VfE zbW}2@0Y0fnhCe!@sH@XH=!a!a&sf}3VdQ5-(`h36#wgKYK1RU7MXSF-?ldNZi6as@ zT?U#S5c{)WquIhLa+0cRbo7IS93rY#7%5R%N}OMWt0&f}tQ=yZkt98+?rG4$B1~OG z0{Puz4M{N^XUs7r1BrzJpax2s%@IdE8qE=rhmh&8s$|6&U>H^#%Ed*stDrNPETj2Z zjbXY<)w`5(!-|c`0w9WM98FbJK~ld^=&=Z1)|G|DQdYgqCDIAQIqr19sDFu9my{F@ zyqXK87!8mEFjfv1GNL6CZhh%AEQC^=^g8L*-3JsD$_S5A1Y5O|2CDZ}@IxfgR08@+ zti(dsm6CjJ3@0?o$Z%~Q(n5=Bhh=~XR1lRCK?Yz=4RNq<FSOGzE5H<WrDcpcint7@ z+f#$<IP@|MW1^td5b;(s)lQ%yGiE%4ZCMjkk}wcZj?K9b182u1Y{<qDL&~L5Ffi5Q z$&e`b@LuZHiE3)Z5bGco<rr%=3tK1%DiSkbdv`K*q<p?2X`xEhf`euFv{|WG=kp1B zoa-<JH49vfhSDzr>{}+w0y%{73iMoHCMnELXupv5SE1g}8Ol;4fVfRl&Y1<Yjbc4m zrV>|l@*%lBGnvGai=dcA4J`G|c<GM?5-|eS#j{qD%amBZ4v6N^biBl$MKroas%XM0 zav-j(IijEu5l4_+^J+ho5<qU;Ax;TEVyp$pB`mQ93O*ztiOx^ThS}P}8c)yA{6^?p z6(-+>*eXk=^vT4^2JY%;wy=cMHDRubQ2CC6IZh6y5gy@o(yPTrLb<}wN+Mb{3ve7K zNl!iS#w5mmCS9NtB>>%HZ(U5xU~8pmQnB|6vts!RK~YA%{-A+9{Am@^ux6JGvP)D7 zq}irHvf0ui4euz{ffbtNC%BL^9d4o7{sf4d1r4<Ta$m603JZ!Fi^D?l9uaKdm9MeH zto1T-gBtj7Ea)J(ClyvJYS=O#V@Q}0ahhtrS+3Z{upR+TLx7A+-bSjESb9@O$iQA3 z=pl@^6$>3?(>;x}WYem6LEKa>TG$1kJTwH*A5A2ChLBoD8~`nwIa#xKJ!h&-WtBkD zB#36&uuv>cBC<1e5GRa9yEpcMK)$Ogp@-7Y^9n4ZCK7G~@oAp!(pW(cI56}47?75m zET-#7p>VB2!XEC)MuMdaBh-7EXN@IR&TN{5At3^gOi~pKf;oyLRyaUE0yQb4JTRx9 zNr2hMOo<#sB#9C>GfvPz5-M5x7YQd6_SZp$BqY$NWL2W^hBB0Tg3Oe)Jr<JRnz3Cf z8k;T`MNCN@+H9B^OJ!kxM@nRs%$1f53*uwNDFLx7m?h*5D0<>!G+Y4W`&-02hj$Qi z<tUm}>lO>D8UG5kFWv!+DBnGW5-3&;HQ<%~b!F@4yp!W0e4Hh=l=;Z484yoG{}Cq> z&_D#tm0)jk4p=3Ut}_w^c_C)(ssJQJ&g#_OhGSw_;#W*y>O!yEk=lXIG|-I(t70ss zEKskBt4IWT47e6Q!#!yEv*24oOd?8L6G)NNodG9gGmVL<T%@M`50Kr4`9;v+peLpT zOEu(awcwynMoW``_|~NxvY^LYqRk{}0H`i?1T3nq8Bs(lX67x32~vqyNbfZS+Q3IM zx}X*-VQk7veb}h2Xo80hr(1+NWLqO_*Fs6yx8v?wcvl3en;DfzW7{Qb%dR;OJ^7Zr zf&e@S@NB$EXNIsaTPPwB>T(LiOo3@7R56o!R>XrVhvzEH7EhTT%jFsiQtcL&fpV3D zLJ@NZXwirbt~SQZ7>f(lxEUWon##7oZQ^1?_5fAYj7Kzvw&=pbLIqi49ybU}pt3!5 zj00{8@#ujBf^*#5BteBVfI9%Wb$8@+4V*wHdCtwYGb-g~xrfrC2r&mH2DDe`)_{{4 zc5uxP%U2o)O}ulxmmlCSGnA#lU0eg}1jCm!KdwM-;EN2|+*JaHn1vFEA!`HW1uZlh z0&kgScs~dzLZS=tpfjgyNIxZ6>JSD1iC2(nW);I4m*y8$#+2>08PtieT8J&>1X!Cl zf_g7mSPMG4Y~e!&j(ycc5hbxd5RwAQ=n`AlML^SA+!Qd?pEB<YOI=4}6~jgjd`mgg z^lXeCBl^P&$u@FpG9x{BjVwq-NG3#P6Z>;puvySa0)>pNENnth29YTZXh0405y9bx zeQQO9%xDkF@&nDo%ED@plvkNeXDHPS);BgCX-+^GLq|2M5)Y7_A}mo!ojCPEVQ*E+ zbI{-zF^I}4OrpRF`vyWjUV`4aMRFhkk!*~!u)-6w*xuslQ70aXb%vGeH&|j!6dnLa z@!iSEts&RAQm=~+`1oycZ|GBZH?r9~bd)$7ZW2)hJLLM!_z7BXYmD@;BmEYBeQ!(k zr}E!AfZvXo(|1GX;BVI3@oBTel6U*m4l-kk3coRO$7Y0f+b_p{@w-5AVLQ`x+huGK zH3i|@?LRkPg;dng1Juy9OWisY6#?~=$DHW2*osa7=P{;X5s*xPK$eY#>>#oo+qxSJ zQ3wnDP9hnn(oz7y#4*k~^0tBpfNI8U_n&_4#a^=*<1Z-4jr+1QRRu#cTqtqbtz(7) zef4)?gMnS@=Gg<=?{Dpxx9`V=KUAmWuWzA2+wR(jc@mkCzu~-t++S!Esr~d`AJM<P z_XVrn!pcJ<W)xjuymb*D74?zd{;Ozn-8P0egW}U|Q=kv~2SM*c+GIZd%Jf+7>A}Uk z`gc#SjEF${qA9Zn7knO<0~u*Fl`MN>RALNCve>UZ5N00#qG*t4<b>d)l&!)@=I#$3 zM`YtCT^d^~VsosEf@X~gpxr?VIri)ahQ$^Azs2>1Gtcr4pbk`mE(HrrH9~Bfxga>( zS3uU!f_G+rEruQWkwRmL7WSw2*Wp&z1zSbh-;WuW*8a0C*udg?^L}L6a_k9&u`x!i z)5hJ-_0zkxQ<&|v+~%*<!fMf|9pzMI(g7ix<J2%Wjq0(JFq5Ov6zIFxvI}$zqz9mp zVdJh)K<?_IhlE7+WQxQtv#Dj2%nXpmo$o3a-Vs{ng9pgTR=-6o&}mG5%>Dzm5Q&&L zLr@8GA*7XxQIXk#V~VAXSCo?^O=*NK2ckn3<^f|9t9HS{hNMsEwxh)i(w>_0QnJEG z1pN5&*)F4VO3OmSy<Nl-BXXeXE?3@BKkfJT*SVVC-`ekO!E(LCbL-#VASqdY4|5!u z*)dEpmt9e;c~RQASlF_9hk4(&f^K1l%!grO68Yp(m9|N89jAqz<PtJyUh9{pzO6-U zX0TIz=Ph!#MaYjVY^8)ey_%z=xO&466lj^M!ouf96HVEB3Pw#6xhGgC&BlY0WD_5h z8ix`mglVK+4w7BQ`d225j{q_wCH-s^-V9j?<?J$9cowV#o=KGeX(fVU0>x<{Wpr${ zL|G+hJ%Y5el0FVk2?|BbVss97kFe+YsSmNlb1Hq=gM}>t-S_vmsjE^gthF_mT=h0U zzrJ~vZCcoc<PTHp&zu}egn~Xr%OY+Iw*2e8PwQ%6-|N8a93!j3Vrm3yo?-QV|D@+C zVsMP5r`x(hnwMCWaESmjxObr)q6h+>9*2eP|0|@++AXXtRS#8p>f5-I*Pdyh;vO~V zg3Mvkf6g1bu6mi6;U!TSn<cQWp=643^MfF05_*d*xXIbV8ga<-E}(+Ftx<hB66FzG zYGn{ZL%X_n#wrXN%2%2ZK|;_t2Kum}iqg*+%Z;oxy37)fM5+z1=yt!ae8BS>Z+arO zz8Y({T38eAWp8Kw^(}xxM+_TU$du~dSiQ9z)%ViFPw(}H-bdB({r#<6oTg8b{LLzH zUiCnVG}pE|qg?uJmDOuY(-q`_A~;RB={40i%YsD<+jRa;uT<GV8x|-Xd>_0WT4aRu zisf4B<xNG#<kdjxNHhZJyz>RLfCBTcuC=)k+Uy)t6J+2;YE8uz?zG^{JCw17>ANfl z*{@ZfopBq1N&ErB%8{#}+lmC8RJb(f`4=^0N`avKA@=YpbB10<IvIPgxBDOG1J0`3 zUh0&aZ(o~*efjp(yxd|vzkQoC^W|H~XV#=s`DfX(Udp?hg?;$;G`7a_jdr;D&FACY z_MU$GY9-sXokQxEto(Z3KHmOT=GOM-nshRG?<;IGu*VYC7V_i5l3b5clckjlxhBuH zi!FObIsM(Se&#>sLewh%zI{~tHEF%3+pgACuJ&dB_T2AB`q8#X^?1{-xh0jK>wQQ$ z!S?I<^!U8(d$wI~TMu{V{r2b6>rFezJXjyPhc;IALEP1G*zV@8{IQ+=rd&Y(a5?i= z>91pNE0xMP?M!e!PaWwht-4Y)h|0P~vVSP=MuDS&935ndgW``tA+zTohz*c%o6KQ@ zI?kGQDh?B3$ccNUF^L?|5>e9qf~Wuy`e?2p8*PuNcQ-=J$HlL^b>@Kfh~(k12vx!E z_0#)H^?!HU!hI_N>cjSr_NQ$jeBWMl@A##Bpv15;{weL<+xM6HyUnNew|cnEOmAC2 z`Tf0oelyP7?;kah)V}+p9IhR!tj_me-NKfUsb6{@zT^3^C<fG9x~WOy5=)+&R6$ky z*(~4Z!?}tNSW(;4vZTxEtV+|xZ9mVj_O|JSJXHPa`s=NWjr`aS^n3Z-dFbALs-OS4 zh#i#pwZ_H|`(L_9Li^VC&Rf$!D1r&aa2EZ8!?C(FP3J_KSV{G#U+Rh4*{eg{uB=G? z?VE4VgzaCBUff?G(k*n{n=NVx%1ISi9;|Q|DsAA-#JVvBiO5O8u_yyYkqnhA8TN`Z zeb+?rIx|YdV>{Z?B(cdWM1rc&+6KHl89f?^OwFPIwFH1cc15T~Bk)WB#N|S_4g*SW zk5(3}Kc8RUZ{J_*!hNqxr>?kdjj4=3HXm5qpKA=;KXKcNFE_miQwQg#{_kJuX#K16 z->=fYEB$QaAoaGoh5hw?W}j}SvU?TSYVsdVsH?8HqV}VwpX=+#W?>(v|2xEd#_#f{ zFZ);RE9fvJg_`)!c=_*BTE3jT9Iu>pEZF+dmbz{WR_d4bWi#1VMUrvSb31lZEorJl zxBLIBpJ`_=4)wf`evcqOgiYxL6pD&&j?XdxBxVb{&=#i#5rv&V)$uz_G7ik|p-VAH z*?J4bgc4i=TVvzCa)fA<pfnECmdp;5=FgkSslOjn;GsDt0fPXxt4KvbiEIr@PBE`- z(05Reaj{z`KELw;pYUc>OKx~uS#Nh`iES(CsV$Z5sNdh8?%u17v)k>xU*BI#47>ev zxBYWloNwFLtbFaRTFsKSs{cN2Yx?P-{H?wB{#0_&+hL2zetOxyw|#f}_i;PJ+pfI# zQ~mv3ho@QCo4Qrl%+8#*DSqziUFXAC#BX}4*0)*M`~9K#uBHC6Z{c`J37_{*H%0pP zwEuB)DvRyd6uQKA5BndxQZ(9~w-x+(JKDJle7$XJ=}`Vw_r0p@RTlD(a*o~UaaWAv z(?dPT_5{Bio{B-OU*0}h4_2x*H#LSnJpIylkL};b`=;+#FI(%`@BPY3nk;-7wUKoJ zmySF+ECL?AM<oX|aRSEXfW-8vIT>wWiB&^A6#`}Ru5ed`3nWcEtpzEim}D#MGjS_3 zZkm}nrkT4;W|K0(NWKv`!xc@aqVjdhI=~7}=*P=3EGqf+N<CWGvRaFmds8CWZPm20 z?DuA2YfSr7vvW0ZyuG(A*oXShvVNuf`{uoUN?Qu6{QGrV)5Y4pmIbZ9R*SlQb^G4K z_Qv>b`P+6T8^3QFtf^X9YX;WP!ft1+-lc6ztBGx$>cag~lbWp-_I1}D^=7LM&%Nkc zCE&MDmoIOh*#7io-(U`|gj?SHa%jrcr)uk7dkT45sDIi%(j?@!bL@&M-qdvuZ5_3w z)3&zSW%?z3E-JaNHThK@Tb0J%-Y@I0ex?g&*OOP_>~ppAuj9)%tpevcM%=|&8cH<+ z{z5MpBS2+^Vi3;F7*+L*W-eU8Nb)=UAtbyR`E8LeDWFOeKE#sp(8M~`U9g8DRkVnv zF*Yfq!gVa$#QdIND_6p&z@pYAqwyqLP?8W>Gyn7WbqfnA@7rqmtS%n8+g4LqRr*s4 zT<aGeTGggG&Mk&*peX&dWpL{|5A7TE-z5uGewSl!A8$u{|KaEP-q2Eab)gn-yIAV& zWZzr9`n_kb-)2U>PU1t4TYFgfx%iYn7hT#afN9Ob_MlHod{{K}Mp@^+#GU09|FW6a z=WbxD>9#7PH@2~|NZSJ6o@uqPR)qS_|6VO~ufui~`}^+d-WQ?U^4DGea=FZYJUsTf z9CJuom&+atwqDt8U%yoDqkmboAR!IgqA#v9VJ+vWp%B?UG-PdX=0~Y=$uylNqzxAf zE|!YrDE00r8HT&C@GG^0$E0#{=Yg=u=_SZVAdD{|KB*N6d*)GpG&CQCnmRY_DxSz3 z(`VQ-uOHT711o$TtZ89K#r3Bej~->1&54C5*RcC_SlIWHk8N3E+1=HTz8&k*dY#{> z5UK5?5AAS2x{bDGoVP>Q&ow~R?xif)x3>7}pMIJawua9~dGAx8FW9R4K3(KPFN>TX zyG#6YbuasbC_0$cN*?REe%V_GOjrpayMb*M_WZcp?b@j9s)c>5U<j?Hnzr7~zweJ_ zeQxKd|6dP#KQ@Dd^aXn=U)~N@_K^Ksb7!`fpARkAJ=B8JvDK2=^;dEFdS%)+9+_WO zX;3Id2!#@E+7KQQF)JC<EW{<#V+WI9Ue%!E-0TG-pu9T4>n<0Rz{OghjBTGsuV~ z2X#ADDa5cU3+R?A<F+7*wWYu&B(6gUN?0fAq)-y0U{BlkgrsMDK_3=tfn)wT;Qgof z=jY<GHaog4n`-4s9k#rG^Svi~i`{Dp<6nE0`2DTsli!M=Joc4ZQp^n^Rg9|b-ru@~ zEm`ANZEo;3H_IP?ZONzdPkHZg^iR{mnicn4-h0$AENn4$b<nm&(=Ajj-pm;G0OM5k z<IBpr`K_jM>iRO7BDm5`cgqD8qgy{$jbwFm%la!f_4%-cucz0th6(9(-)g+tkxp8^ zP;*i>m((nLOC#0VQrjsXickL9UJVP|R(`RpGZwF3CY)Wu3S|@oA{3E0-$Hkx65WG_ zI&7Ga77_MAQ+-hjH&o083(K``;E89w!k__&h7TG|S!<3lz2yCq$?{6B5z#%NssP_S z)j8N{2IXB^lL(C<29L#dxx1hb%NDj+B($*Kd)Bs@#P2nrHSP9tWQ^;FA6gc-CY^fn z_<Q|Tkxu;^-80r&J{^{`S=b*vZfzF!;e9UHmiYP+ENngMdv|I2g4JPR?fj_Cd^W>X z*KxJ5qdBc1|5_ckEgJjOg{;eh?Kr|>x^*ttnwu>P_UB<Wn}xmK-|dg5Qok;5X}7Qi z;cU~wRxGi?g4I?d8Vj}@s9xo5U9dVVZ2k6qO@22|q25RPa?)-#CH8+>X8?#Y6pI%C zGp)+7sR0&^hSU56025PuxFVlTD5@qPZBWt@kfs!595+_k4cbUbwHY*B6c1<+b!Ni$ zLF77ErZ8gA$pmRR%$A_B7rQqt(mZJH*qZd}OXh#3mZliC;dcAt`?qRG-`&F2((d-o z^G^eLSTejdOT2lj&rdbNeA)hV3>H?Wh1Io%tqb=1`|r=)CAOKVb_-jw-nAmzwqdle zJv1zTdKkVXSXk^)J2yXgzyJFD%l=rhRBiSDdy8QQmiTmdE<eQ)eSVo1R;Pt6b<^Yd z@%$(l!?r|LnI<iUeYI*~PmkqT#l?LosO@t<c8!G(ZSO&sxZ3AW6?^3tc6>Q<%4F79 zWswwH;DDi!IIMzEGh*VnGPJ5hx@L>^mu0UMc9a5?75PPx;DIfyk;=77EJlTDj;*~@ zp*?2M$-9U(JFQMb0)Qk(CR;50KuZKRGKByg1BYZ`*IDA(DdVX!u&|pQd)ubdwn%F- zXvVM)&0cQrsy)nVXi4!F3%f<NJ8g-hl20z(Iv&Hm&P>&|NS85eafwTkX?GK2*k6Z* z9rN<Nk0{2l)<kRXdqUNUZ(J91k74T=J=Ey;zSnSm=w@DRzz}Z>DB`FSeqRr2ZKYUG z1*3)4oBb~b`TThLAtQz@NT-&V>K0a|w%64K>-J?kO}XmfOjaM^Q;lI&rb~a{UE>kM zRtw(S?ikOCjlL?Edb<D#C=1QvOh@i5qTaMjk*--%NmH&0p)i4Ip!6{T;DSo-8`hX! z1(j=-#|Gh2OG)00Su_En-FV|lU3utsn}iNRO0VZaD?`h;O-gmuH(Q75LJX^k75RLa zWx8$s{MhYw+d{c*Y2B73t_7Hp8UD4!um#IkQ^PGgTxvPbPt{@$3)`x-KkBM|Xo;xT zicVfwSpEK^tm?L4rDutCWQlFCEWG!2`($As${Mnpnr_|K1*;WEap;lG=jLRVMDlU; z#N3u5ZZ&YnPYn;%On0+<chB8)atvE5+^6O*zsjX7aR>j`q*FQAHZr9i{HYX>Dh{$v z((><iA^oyP4BM})TG*QH?q4RH-gI>H>J(w+cI<T5KrY3qB!t0m<hKeZg2Y?Cv4*6V zf>_Q(dHEF8pqCgSXJnKlRG}iI=aMaK5X@sHD+@G|Ak(g~tmQ#?(5Uu^)dCx3<WNSh zh}8$|<18`4Puf|^rr**vqsaPGMLLwV`Btr{z7GrgWB&W6QG6{H);egS*I_+|)mDc+ z-ZT``@lp(1|Nh-wVrjM7Zed6L_2zvdpnF+oSXgbi!PDV5>zDWYW?}0g?g9LNTj7TL zZ6#CyQY+8&)zEBQua%x2Tm7|JSREZW1=mm(SNTefVOzIOwXpRdwT@fC|EG2-HwCKL ziof?|E%q()Qvq|-YpR#~V_Mi+PyW*DuiH7sm*w;p$ajSyZw9#{#<wpzhPZ`FGCUU! zp@EYw0TqpO1P19|AT`1TW>C&tYZS4-pR?5{g0LbJ7Mi|g!7DMzsR*-A8PPR)HN^-V zLj8Bf7M3~$EOa94a&KMMVefRQ;9RCp?Fip4>(|;c-jEBwzm#CM;Fd~cTCQUI_t)?5 zBRYM5{@!BPU;9VDzrVd;3|p?F9cEjo^|y@})?$|Udp*mvu;uVCgTU$i&1PqiVHroK zh24za&(&=_d~37+@UpKKR!6ta7LWEUafxBi`-&s_^Gihp9ydGp+Qw#o__~?P!*jt< zo%X-~7P7>Bi>r&PF3ZQVe1AVacv+{QhyQ$>7WUJ2umZk1?cZJ+s_E-*ZLrI~e{U^+ z{j%%X?`wkUZTo}GEb;vE0Tcr?@{LK7Gl-2U3}n>A2Epyyu3baPETsEiq3$y)zM_JG z3CRJYDa|+z(t$ua{t<qo-g_iCM{x;e5-{(?wqRk&1TUg+7Wz?Q`%G<ANB~M56PAeV zKZ;?Md-cl9uRdW#5>`5u_mQ@J<IFJp8?eM9OMLr2vc%dJVk_6y1advx4~Z6b)?t70 zEOA@a9ZOse@^2G!{KG_77PhRRS8WxV2B+VCD)@iQS!`f0|NgIm6@HxHe`^c>F!8=6 zOMK|qhgv!vy?39x32qDayl+-oJd0JZ#KpqSBGHkt#IHSw1<dlkX0<x_f82)yK>C#) zl7%&75WN(`s$RwwuBrUER>Q;z8sx&LQ!wd5aI-5lu?9bzgdjQXJ<_<L3D+guWsz`N zZ)L<QK;TH!?21u^EiJ54nKVi^I*Z$iRX`a$aY<Vz(cx-E;I+I*^>NFiY!2%C>-Sn# z-E3)ZzPat4JLOs)+6w%&ee|t=WqWg4*!ui_ZROg!?pvW~nI$g3;U`ZzwZq@Ow<kNh z1STeRoAO@{4RkctP{lOex0V?FWwWT~N9`82t;E`ab5j<`wl0cEET1}bikNfnVlRMT zEg*}{bKPwV>ZxKM+`@KD;ZYh2sht0|;gP$AEd}s%U9j~FI?BA|V1KsOc=I;;RZjJq zHXr@eO2H2m{J*W-c4gLF;>YpjYU{_m4a&uFK3HHyfu(B}<&!bkvk>xyer!-g8%jV( z{ffLX*bS{oPAPP(nXPn9vZ4+Vmm#$!cGs}33rU_??3ITVVQa`3OSg~&o>EnpRwtE% zQ9mLC>?1_K(5<5Y4sn7w@PK+R{&wD{-iLnkR3%^QXKwENHf}1ezCQY=r*_!dRjOJ? zYb3U7cB(XeJ`0zV`dPc%wVkeB@I+(X-TAZE!s)aN(o689%dXR2-?a<e-93%E<DmC= zd3hSHOB<S=Ipc=u{^93pE_P3*Ha0u0w`7YDFCk&357T0==SJ1o$nJXcZja#Vz?I$d zuI?ARshd~t9_DNNG9hgQcpS|LcaE;IDiM^1h}ABb*vl3+DccA_ooFerf^^D5Da${4 zn|RP%)o?gg2S{vAC^w<#P#8v-QLWllv{-Ok6Zve6m;>NH>y?YFC;(W1>XJUJ1O-@_ z_!_3JGYTmStTKHS&meVz*BNFRH4XxKnkFJPhzHD^m0lBUT0#qONyY+4h{-|-1Uw*O z11Ai^<kh%PQw-9*!V01i=$0_~VX@|}*vf$H{OB%*f&mFPTWZ$UKvov^6@c(5Ws;yD zHWdkZm$C(Eu>tMbWM0vfkwWfX4QA6arMtyv3>FsaxkjD9DClI~ryf-*O=2qdBMU1Q zdj8bea4hUtsms^ncFGcuc?h1x(!xSRg@QY8K%!>c2Z-_!7DDh0i5Y~BX~;9vt}kq* zeq@P&SBIOBY$u#wUwX%yl4^}J;U&=8>^2dJG}uOk3+&vm&;nyPQK`h{TbCiDiN>~% z`s7ADg4YD%&CWE08yqS$F?k;+W&zVHjKE{7mMkx`K-f|ifSKG`Q$z!8cR*4qLmMdg zCdy0DfKwt3o<nWAT-yfaUQS23Emen8A+4JiT5W}AGITG@Vjh@U4yafpi?)GzN$Y-C zS#az^K@TXo6&eH#l60!`{*Ywe6N-RM0oiQs%bY4GQzp(E41-{7Sg(`-7$e(?qPR%| z#eMLq1myutNcWyIj!FMF=12rJ+o{B6xM3g<uS50yDYu%MKZVGfrr>%b+85Ehq2%H@ z*^qX@t~evB1~f2Ktwic#)L}4GV^;4`%cOHSuGDKzf@^Wv$t4RrlhdoU?ov1w&{!Pd z^C?meO_sG7&|XBP8uTLqPSIySYZyQ^_ah67C{WATa17~#t2zqk8o=D-F+si!Sh+~7 z0W%W>*v_2Kki?u%)pITLaM~bDj|rOR8wcqNqN1rTv|m^jEusjFTu(4Upm_%@0dYm> zB2ui$<SG58%=j}KOA?Whs>DV)3;PW=gJecFAUZW_<Y7FJrqZq-%~lvfVTMst5q6M6 z79c4RPXl0<5=oXgjx7iYAypG^?vz7UXM!A=8?&jsg&#G&1Zcvtw;30)up>D1NEt&a z<|SQ<Ve<~g+#)j7l9`0vK=~2)NfoILU|w3NjzL4BGqNs9`aVj!qMYY>G6r_{tlaHC zA1pU@rNV~+*`GNfkS3}H%M-+N5ui$;sFNfC_Nq%?5pnvUCP%TUfR|yww4j>7K|*12 zsKXkmD>KFx=^A*~;INodC8khy5nV|OLN3Ut(7TemN<r*8h7C=G?yy*h1BP#HAuCP4 zH33JW{2W1s4agQX&D;e%MM%So7^2`>E@z1~RJx)9j-jD7$R;^`ma9AZ$_>in%Ha*5 ztRb@SdfjB&WM@ScC3D1;6O6nP%L-6t_-s?twr3novo`lk(;F)bhvmS1CKlQ+l`Hio zAsZ8F>A0aGH;JNdY$Sbg-ZI6GbE7PA$ns*AJqEF6EaRn7GD?;_Mf2I3pe}jx9W5dy z%-0&KCz8A#Vu~~q!C82stkx2cMH4iFyb$6lu9R-a-EpD8r<Bj&{5SNvYj$2a5^g8C z(5=I`HCgoWD+E-A7*5OpnUYg5W$F##qNXt#H0sAUQ_)PbX_0uyqt47`i*=P5Qcp+c zuUS|UeU17ANQ!4E<r332W?>^;NMRZ8P;rycB`^@<AwyGWvWohYFpI%X7@&J1ydHBt zOwnLmO`W+GC8wGoP!<zXxF>}$Y5^k<U66rND;%c*BuK8gp9*TkDP`{h_cK+HYejSi zimD$<L9xvcePv-O?O-g(Hxfb@kxn2$1u-<q?jfus@Kf;?VVaW5vDh%TeZ>?+i0Mrw zvqJlb(kh=tWLQ5@>eGWsnuo%*j4l^~*;&#agKJ`uwfSaj-WDVu(G&rzhV&o{|0(bT za;TNTJ7#zRlT;g(r%f1ncnLJDY%nNO6!shoGT&wa=>*j>C=Oe4Yz-@+0oOo41@fX? z7J&9oY6u8^DzD*@s+#(1wgUD-AtA#2HNX`!SZunBrb_;ZD!@swSZ?wG<3y^IbFcH1 zvlmLw3rg}tl1nH#06&}<Ky5<*lw<-w;XY2q$D@MENGs-DDvB90x^oW60x>mixQN#d z>oDpG#y4$hVl4Dx$qo>i(AvU6c2{E^WO^?eFMw?EBpS<&c4pujVl1g#D4dxm7B<7S zJZL<K1FziEYMiMLBSM*YSDjH=;0-Z_iFLLpYRZj$n(@tm*Gf$j;L_1Gxd;sE5mWq{ z7q0;JSz{c8iUYfg-8vGT&IN!wgIh$n+?a!tbsux!VqUSv0=e?a!iunL1|`sWkuW0& zK+{Yl))JtsE~Fh!TP+h=QqFL#NhPr-ob8E3jY7|hDsM{wFiEmjDoOwrP7-5*BkS9l zw`DKAZwuQv?efa1xiQ(mBJY-D!c&V1O+Euiy-B1__Jl2OLR=gQm0hnyQF_>9Aqbf> zN5<X1X~p*_+}P}5VoDaZo)8=krsOqiV$>ZBbX^>jP&39D4q^6JNIywx2;s3KY8;8> zNH)@gz|ZS?ngAIRS~-w1%OWH!IDCfm?+itt7*<19iLip#%wQX7rI{@Ajj9s3fpQI< z3H+cQz%4Z);5914I$BE?p@;jG*m8#X5!jVbkliU$;LcNFn&QGGOqj|}7M|V$iDT@l zBUJ>N`;=S`GDbN)tjW)aVm}ZbArYNL3yV1845b>rDs<-CWMB84^F!u;%8H|)qS-31 zja*RFXgqrlE%X<sX%d7=0^DXK7y~mjBywSOs3-Xt<j6t_rh;oIkj_qGAHO&f_cn!A z4q+BRxFeHQDPCuWz|!Ny{e~;!vnT>iy{#M%a5OC1Kr>-cNKI@pvfz&h3Nor1aM8k> zhs3%E7K7Zy3`)D2YecZcr8Wa-cnQhPaAL^h=hh-mq<g9}&Tm6CcEytVLUWs=V-4Wy zneGcyb*1;_0gPN^{^znfw%@9vnH1&5=;?Hsa2khoe6cqpV!t^nfSl@7<K{L?L`sgC zpj4ocl=+nf2qW+jC?@@x&p;)Kh-aqC=~gPHKW#xBZ5j#40+0byUJhtT9@xw)af7yn zP!5p`Dc8i9In6mE$jb#m_85Gir(g(E3;t$;2~+7HNP9^x?FGJb7qjGoi6y^=rNanL zs3B#AX>hzASP{f5sQ}l*Vu413#jtmn*fSdhYVK?1f85_l^eB|FHRcjS`N_9T6IqfP zc)nSwW|9(>)ApIfLYoE6B9vttcZ-H5YAIrtH3mxL2htY87~~WxW42Or>W(sn5KbtD zM4q-WB9E}K2@DC@X@zZJVKMUbT7hWJA@Ifs7*t5#Q@lt>H|5YK%JJBe;NCbvYLpmM zXd6#0bVRxs*;pkP&5&g&ZicRm0FfBg8DeamcR5>fxLWr4MMA(wHZih$K;xOog>Ic> z08A5U#n>xYEI5>(0{g2-jA0S|&I=z!(jX8qLtO^fUt&ygww}vzV+HKs%LS{4=`3NR z4vg=iNHCEC_+(7840<SZ69$ix2bO%LI6a^kCy3ArxDVBA?GX?J!HHrqnd3zT?=G~O zL%^)5@6Mb37BwNIc+>dl5lS~^3{nTZL#~ZcZ$h;!TjoJ2(g}&M@Q9Sl)EY#xmHUrX z1Bp3Jq_!Pk`4WV|?1BP&0Ao<h5G-s&KO133EXri2z}|2VhcG$kk<~>*EvDiyD@#c9 zRVAL_Ql{8i$*mw%8Zc~zGD^QoXp~jNZm(9QaT3&6f-1yL2%Mjr7kOKASuos@IW?1! zTUcY`DAeb7Z0?C!d^0i*A&yyL@+`ZXC~yh?&~?wOv86!BDXvh#fwK#cbjKUu^R`fZ zql&qbXh4{@VPK+vO8jnIKIW;firk8N$-<g047i49%M7~02&Fl_Hlk|Ab|#@}ajf;I zg7s9)F)E@Tjgbb5@ttsP4Tp{D`4{xqZDpiA@Q40?@(Cb*LJCYWsTzwtT=UBf;kE#q z39-;a45U0VVYf4gteFWBDmWU6@RbM~LhZ%9aww@IF+-Y7SfO0$)M`}4Te7&tf)ax@ z48fNar6#sT)eEc~;GP<KC{SotD#X#w!t9UK5E~&Y0Vx6s&)D)l=lw?(mR$kmmZ$8Q zvBYOU`6XBa;Law_RW(VTq-6whf(dCbBTHh&#;WW(94F-&r6M}+8u2bH0Thi}xu`fS zk`R{evnf*$EPcq%jX^YJ+`ySFEM!r=)@F>Kg}fQgEW+6&aD_z7W^yM3HaW<kGG-GS zZG;=#9EK2C+{{}sNI8nJ5$qsiL6Aa4Bjc*N+_cF^Vjf>Y@2{;UFU)+E$QK)00+j1t zjs;$3i5D?!iZ-Bcl5SA3S3ZONkgf*8hq&=cR3Z&Kg$1NH*Nbd6?~AVR8Oja!i=xZY z!YXS<!EU9<<E#;n!zK6uNQ)j&5^0D&qy~XvNc%+awP+H9B5;-0oiGleD!E`mEM%rg zs+ch^A$$;#loD5{^kS(sWabRuAryQ|iaWVvBY@Rcp^YpjiWG33x~Pg0WQhF?3GM`> zbO3SLw-k1aM`|=#SeCvE&1aV^EMshNV*|bd%ebnL@g6A_<C5nhO>7*`={kg^og&>P zlH7Z-lo@!SqGO)c8^PcNpjm3jR?afQT!5x(1+hdb<YMTzh#RpJe_*BO_7+kezEU(K z#5Ln|Q|FNe7a+MWu<LOSCjqIzS+k{0VGJ{7R`mkHEz*}E029EHnv{B=c3?2eLbhsp zn5x8W6%OVAQVpo_<YxrnlB~9VqhJb?g9=WFiR4}>0z`T5)Vd#5SNPJTF`%Hg#XTKH z*?A*u3#3uz^GSU#p1p+RJ;PuS>l#vCp>Nz$ai5-}EaF(ov?u0lO(GOt=8;&)9k3sO zI?bJsx4V$jPF-M;D;iddCisG~OQNB3!BnF7xQ1rk(0b~d2fIv=P;h_9E>tmj`H#3T zw(D9zs7W-#(Ld2pSoaP-AQ7~644cCJ>;VVRCb$SnN+>{|;@CzB7Jd~oQ@4W`sl&o= z%i;qp@g&<yslv4hRFpSd(M)@jKwKN*LZVTXa}mSFiwJef<U@`C2z&)o7*Eel7`K*U z`G{jA3#18i`S>P86^6ht#6=$qO27fB539sn=F~K<PmKs9b14c)-O8mJhDJjH=_n7b zWeHtN2euSg89~pYmjQKX1MLl^?2RDXBj%rQVwvZi0)-@s%C1V{$O@GZlEU?Hw1Of@ zCm>W&G&Nrgl$I&?6{2xbA)9s~OMK_VI$U|CECI&n=r9?@m5Y9S7#;OqCTEU;pxlVs zC^cZ2D6@(==?wO}$x`ho@20ep2rSH7?xGGWnViJ}77w{^DRXEG3u~6Ee<Fdl0{m^v zPe=Kf&<6;^Lr`vy7IT)F_+5#SdqP6dw+H4qbj1*ur5bFtEXD0ID^IM2notpuq}8EX z6RcpyisT5-!gLE@dW3WchH8k=L&6Co-y(GdK{Nae)X|uUd=$fKj4y0~%DP|zmD5~Q z%QamYX$xsem9>oxZC$n~x?8lcCZOzOno9Re8E~VDsfl1Z5<5slB7h1cOWjqlctfEV z1wtp&L^CN7D9qIZ26@0t1v{vkrCPGJ$I!%hdqW5q2GS`Ts}O|*iiN-=CE4HhadyB6 z0c<!C9~kvbvr2Qu;{fW(Quu@LBUh5t(6b_e7Ze=3RXZ$`bc8Ba=%PbkhmaZWE$%L= z*D>c%5<JtO8>mVx6`CBdK;eqj@Zja@BuRl|Yv=~Gh-;&YidonfLXB}zlS;{&=`~xZ z!*JpNqr#;iu?h4hxHFMh15>1i4ulDfmt_0}T{dE?rvs@V1nvmm)Ip-uYlVWV8u$|7 zIT~_`DN{cH8YD!4U=KBqM@D)Z5kDoRD&fSFSM^|eV#h=G;UfR2Bq*W=Vkx45pe!-3 zdUYJRkvFb9nf%FsF+gnE==Qh}!y-932n*<f7@m?cz%@iE5JNY?A`}erNR%r{GQ?D_ z#Bjo>Rnnlqp%~r84pUJIk|K!@FVkGd3t89M;BAPJ_gt^Wnx`Xx$qSw2(Hg3?7;R!_ zEKX4d5<zI9zT{Tbq@<~8G3ydUXY~>pC@u#LErBs236x+QYcXio?1F`z#+RzOnF(L0 zLBQe$VT9I?IaCRW+zI%^SW}4cR${&OB4Hc$Gf>(Cx4W4<U0GNnCpU%zPM-x^e7zxZ zLj7&kTP2GG1ZwO;#}(}WmMZSx{b-a!qj-`GbAk><fe22R%`}wAs*cB5*U<6@%pL~4 z516;0Bk8Jt7d>>q)#y@LRTgx60X?b=aOpd7U|3_azJT)w(OE>hDcTMTzLm1<6ASuS zFrI-vJy=*Tw%NLJ$~?T5jJc#PL6u9qI6<EwAkK_c*P%9HfzAiqRWe^|O?pUs(43f4 z-~*%+%76i_!h!%^SelwQdGG-Uj+`wl)vB@o0RdtlFi$6e2_>PmHSVZpzz>JQZU8w4 z*a1Ilz-3z?dND-nb`xj_=HNoVGCs)^rsyIz4t8m-U&q69YZb&_Ag{rmvT_RH66p;Q zx=h5%nyjDv8*uAv0Yx!n@t`DtMyOuyqnds;e~CJ#L{@Po^aMnBf4YDXVoc;O+Y6=C z2`7=r!AdDKDw8pFdhkdH8MMw4qt=+>0*Bx<<Z5tjS=x$q$-9UJTh>Vn`4tK?+#hB$ zt}$ntAi4}4N^BD(M1lw<R9%eq2<qugHXAU<j6}mGnBad{Akt;Y1=A3HTlg;!&j+A! z$kAz}TQ_$?*}*hmuMGs5A)9EbxtU%iQsCK)Dr3daWL2xf1<#&N=&vwu%7C=KDaV=A z5GAWxmu13_1$jKftQz2jZq}e1)G)Qh0L)az7<S2MXZvIQu*%9W<c1i#Gz3}^A-X#y z4kPplBX1V7Vp1+jk)=AdNXO6sK5kTFVy0{eB*760?5P2tZA971e#>m<B35F>a9<T% z9A@R^1ad;sKm<%=Bo-yqH7!kzDLTep1yzoKhbEr*Wx0DHd&j6evxSA_Y_3WqPE*ML zqQ;X@BMYVR)w`vP5+EdXrpSEbW!S}rqf9Kt!N<hg28SNqmw8r;m<5@#pq9%^1oU+} zoj=$QJFUB;Xpm)c#f__SN!~(0z;1Y^^zlrDi-ll}Akd6kAa`L{t`PKCe66G1<~;<r z2V=mCVG&EgqYf+=o=H^iLZXyjP$lGI@9-(jk_1z#_=<2VbXc2FTPui4O%jXAy+w>G zO0f}fU(N?X4dtwbqNvJZu8s$)E`FmiM{Dd!uz8CejKiuZ*9%OD(MMU$ab2v`sN-tn z{$|xm0heSFuaJnnZwhgzGf7}#Qhjqtt-sc-lUm?Z<2(_h0|#+;z5oj$H&UCK1oWzV z7L+<-yet7Rj0kWdYaz{XDrC5CZz!u^OkyAEpa$Hk2B=q9V-kfx0u&$E9r0>|%=oJQ zL^P{PS<#q*Lw|+lN~S;LJp{W0(Z`%_p5^ZAMIsFI+eBGzNV7u-D<c3qr_X`M4>K&r zX?zPj=SDsP!#TjiRhIg}UKS*lLcv(bNsV;iLe=Af^bLrip!b>T<4}dRi&<h@kmeWx zNq{v)qlI-I)ljwMCGNydCPYRPx}2G5IsO;v!3gGIEP6^fdtYF-?lp$=M(BlDG3lF& z<%C0^m+Z{cSaooU{9OH0B!od0=7ix_)a^ATD#XmnV(J)pC&M)X?}_^heX*HkYaq}} zt}$n>33jKU<J{v8TLERv63)h4;=z_Bbl~}l!MD;a*ad$+)&x`{X(p3_8al!T0xSm3 zj)mTNL_}DaWF|~U<w5ud7B<DmT>9W-hjlSAjoQVO=28NKO4w}!I}2d8so;SnM`Oq! zM}V3XvLtwUfEk=C&lcgE0+RLvs%BO;jus(m;UZm;WU4Pt)?3O?QIn5Q`Z5HesuAa& z%p+kfRT3D5Of5rxE>Ns!$ZzYkg&t!mxn(9pjgIk^#_|e5*GP#Ui6#k4lheIm$7^bY zhz|nkzBH7+g!&&+Av@5AMzVb0l9U_WLC69y8umdytn#x5$yCLzL}5Y>a3L*m?Mhx@ zEEa7VvZTI21?G6PA(6X~{R)gmvCd!+@vN$!oCy~2k0KsYVz+64JxE}vRYHyHI&_MU za58ank#x~WJc~V<$36m1p%Q?->cn}8t%n+t&ZwSA&Lj)3M)#BejH^U<B50ygK+HQw zwH(+!qlKNVJHbuTlyF|8aXr1Hw1>rgj;e_eu_05ap*JAO0kJ^L=E3_P=!cDcs2M2Z zW!?bcLQ|<ob{?^vA-a=A_kpA|5ck_MRi3%GJ?1zC$_DKm7TZ2)&6!E0VrB81%;%t( zB_)@H03n!Ev&ki4387)Srd&gA4D;TdxHeU&Nl{aY!eSdfLyw}|EY+9vatw?2=s?5C zI*u}M1ZAS2mUUPIWX)@#Mug{4@G{1*vCC>0X?0cwAWBn4q8Q8$fN!8^CF94CX$R-I z;vhkuVFfq`SM5SStZD!<n?_^^6a`g?vCz4RbDlbwdD0m~s&g*b!jwej;FNtbS-|1Q zRL{^hfMPY3Sm$=2>9WZSUtt?q&Jx@5&3W1sB~4<YP?(Gr+rC(d9B-BtyKP}%4O4Lt zM`&oGG=}BEr68ijb$m0y%7_pasW2#dTf#Fcr-eA24Zi+D+gl|>GD<t1t{8GJ{&3CC zFiRHP0FzK;(A@9j`Fm5s;wD*a7OEmj;miH73ds~Ei)FCn%(mD<(lu{oMi~8tg#{q0 z@~OP%$UrXxV5_kDX3U9w7nEHT2iF=g-DVOyW+PIDPGbEpgo#EC0h&Sk5DA5{5pf40 zY?IhVApLJ_MU1u~s0c-V2yAjyYNBMPEu>oj^DOJ;E83zw&Qa*a0pG|##5P!1W4?^U z-{|%paa|ECZ3w<GS?DcbsoG}^bW;ThYr~QT6+%*#hN1$EsRLE0&0FF|Fkl?GXkjfN zBxJ!A5_n4>l?CHxmX<hrut*^`vl0+k5YwPC)fP15g|ww|W}5sgj~+6xW|c2iO1Jn_ zh?H3@mcvz}9*n9JX$S&Huo5k-SHT<_A=j1cGIn^IULqSnF({gE8tRX;#7dVEAX%Oz zC#WP-s4pz6NfPjjB52%xrCc{pSRhV|%}_^`N~J+p+3bS6CPN=Ysiv+>ZJ8*IjK>!U z*;)0-G@`)4TQ-1XQZ{6rCAL6ulW?FGE7g?BVlO`BDwh^^(Pv`mDI1s#N?F^A`@_rZ zIdf_#YptQbcy^fU#2af6Vp(FxEvysM#Vm;JO%jRku>z_QKbM3Uh=e}%s1aG1>t$H> zH8U|#;C)l>ATx=1k%c>nU4EWO0h(Rz7?6l7!+p?L^8^@@4Gg5~TSR@P1Q1pzbSlA! z0TK&qfM8n|HGB;_(Ng*`5Xw=RnJTh|P(-W*n_R{co5e|%`QspegorlfY*=nM;>YZT zT~v}J*)o&R=L_z!&HjABx=6r)As{?R^jxs8f#e*Ky*biM;VtPwy3cFqeE?Nq&P)ef zA*1*%TUa;QEMm!9hDDKxppA++aS>`+jb~&QJjHDuN#|B~qzknW<I*dJo}$#(y&$|| zWD57YD0PIhuA@mdLb6h8V-gWh8xy5C?l>#X4hs?xj<!K`78IfaerBB|7AA_={`<6h zy4yWHmH)K=?do6ZKiXgJ?#c(+pX&$eyLa`C`d<0q-FR`gtABWEhkB~7?)vfS@9~v( z<aWGvu6opV%KrIr?A>l$UcJ_KzIK#(u{*!gexdy;p88G9cl}<+|MvsT`xzH<cQ-Gr z-{fw5x?R`2+Ht+(R{L?`EB#uZXf($A<GbS@?e9Jy?Et%{9XyApe$+Ye{YL#D?RLjs zpXLa{ar*;mCvOk#>1o~pULAdRKFI#fIh=Q6YV;%a<K2xr-uW?~`k3s-MfPvNU5=X@ z6Y9>N)x6>{xG<B(1@_7FG@o7{DY(_Ar~VvZijSF9e(%PUei{#sp1{)+T$GROu8+XZ z2l)x-YWb&E%tlPGMmojvQ(a=^4CUH(v|e}fo%vXIeZBVowJ$x5f9}S5g|CfQ_51C+ z?Gtz7oO8L&FSWPs{MdKnjBO0ZH=oAG=Vi4k-1VCp_jKpi+P?qP&(;3_X&hkQPyfq2 z?$gdk<7r<1yrwZ;aN|!tLStzARgK$(_s7`yLHhUnI{Ljn!RX@Q=P~IZPjLHBJGg;) z1-rgh`X`?Jg7V|XI~k*Wx8neNK!m^Hyz?=*n|I<@RUhOIM{C@XUxVM}IAfjhecalJ z+}(|5Kc?mG4rbCg>C?`iEKUd<WtevS80OOQSqV@7iJuGq@y<tl4)Sh1pD}Hd+joI+ z0=gGa{!i4Iyugof#ZvIFR8#^!F~}})TAADDlq=IHkp>k_)u1{hF^e~&Yy`IpQSc3z zn=tQ(LgNP@rX>pU8a11+kTM|t$jhD~F@OM}Mh!ggDfUX4L(e56WC(GuSRx>;O}}^p z2XP>w2ZB$T=HCKj#ND}3E>i^>UIpMKv@)aKYltSO)@qPM_or{jqfXFX0TKv6R9S3- zU<E{k%L4C*F)NRXtfY~!xM2Z<0dfxXM@`zOS^X5BpUwp9B~GUd@CcAIp)9ux$T7E_ zAVSL$nmu<Vf=54;>?upv7mZRvM4?6&$dWW)p{Oou{bAWbR&YVpBwR)pSbGeqRxCJb z<U7>_^I<p&%#q%mFbcSs^TYY6sR=13Apu3n<uVKP?UY-jV-e)X=Fq2*87aL}C%<4W z&s38HW-c=uM}^$sqdBo>3raN3RXd6%MzPe_<%n*73{?8^b*_O@7OId8m7vv+H75oy z6FzBKhebsmLB{T3W(Tqm+K8xZ>RAhO)=MBEn>bqT`&Tfa>Mfe){Evct^&mmzyDK+U zDwdzATWfN=84Nig-yxZ)s?1+OS!QUh3r$N7h(?SFQ8u!!7r-r3YHxzGR8XyPA_k|? zQVp69k#*U|vPXVnCJcAQ2_R&|YzbkWX~imWZKF>_XAP~-04AImQVq<Y$lZjgW+E4y z6zvK!%ahqd6{Rlme@J23Jw)i7#!YR?fB`$Dg7YTIReq;L1E<ON^pU)WYAY-c;14VR zyTD7VjHX*~O0l<RUX2#jCE2cIBW;KlF=CEOex#uKxEEMW82v_#^~q*oY5tOhHSDAX z=M=ZWg(k8E?HUOp_FgvT{zK*!owyG~&PZsVkIXLNQlbWhTp(!Fg>V5=5Xqu7iHcT= zh(=wU%IJ~mivEIqYe_|8NjHYO6uT^%hA<X9qEQQ~!^xe45QMCs<jeNiXY36SF@3;L z2Q-i3ISgpS+{!Pp#3sOhk1Zw2_`gIBBgDTnq=8(SPRVv*mn{bc%Ea#2@vpwB0{w(d zv6rCDL`5_+!owo|!%!&GfZ73W+Gu-W+GPmHypC!?ibTCXWbXDtcwey0P9r1)bfE4O z1$3c{ZDYTzP;WU@OpI<{gA}zPB#0Z{S>nvyb-xq8x!A5kgff%LijA|El~fZSF47ba zlZqc8Oqc<w|FE3M<1o8WsC8UGi&;4?G>MvDaXol?1|TF8GHuk#425-wnZTramZX08 zQVff^2@F-0G<Kka!AzL+__Bp{BnN^<1B^$7Aeu&@MTRl@E@>+oBOxw}Os2ydr=d|^ z1YSad7@T3sr{U*eqAU0j27QSjEeU{Gl6XgL2+fzexOxi)oRz);bCg5ZK@OB@zeMFy zCqQaiTogYwhx42xlcf~l%Ak8hVT(d-ZVbp5B`N5~_L&P1a^{aA+%r!h!!9KYz#lhf zGaeSi>RyUriF$6R_EIl3a9$I(X|~VU5FtX^aaGEw1r{OPZIDGrnLiFR1gRHTS$K^s zXdrsiC<W!Z115nBc1CW{Dv8ioAZZFpo4f$PF;6^8h`wBd5aB|N8lf=&2kAV*kb)|z z5wS!t4i>jV4ej*7!jiDfVD5q;f;D3(qQ&e<GYw)O-J-xs1e${5peQqHkyBU}oGXfY z;EFUBf_=9mT=u7I$OQv9DTI(~5cW}FXt65ctJcicrU2%Iv;a0is68!XSOR8hgrj)o z%qSzOxyLIBEP_X_v;nhJ813)Mw!j!pkC>w%yp{#gVjBZGfRVS;yrX2<cEo6-WMNea zzyi#wsDGFHicI4SF#}_62|TDAv}bYh9B(g3H_>vF8VT1MY=N(XjD#+lTs5~;E*v0R z{B0rj5e=y(;4gL<EoA8|Wx*|2Sk652!V4WjA#sgmv;{-hs=>+<d`f}tPzmB#_r$ff z4rDMLGf3(_=B*^a>Ne}I<_QKgby!xj1OZM0BN~{(0>QSbXl$Z1XxLGb&LMx@Ahrcy zB^?fAtVCAUaAvukF4_FC@zfD2w?!4?NOEq(QXd;vkjq^liHQuSh9U+)vq&oM#%f|o z;0~JzI)Sb?+$h$&<HQYIQxb?%(d|OU6t~J2P@jgZ5@_IjRv|wx^-W>}4n@YOPiZJ* zv*6I?Jyl8BGE3)m(?RW{G=ZZ0py!OCN~ofd4ahFmVU2c4%a^U$M8FWXwVUWeEbUCJ zm4OB~GKEQoz|yu&Gk5)CQC`ES9fa(;nXGW*iH;pX97dsNa5WU_aRwPfiqk^gDeS*% zHLHnnSXkJglB;NRCF78(lN1XA%d~{yup5cFXh@fH$45@$TMS}VQ#XyKo*$J(jH{9) zKP-mS<V$6p4NX_(j3t+7kg@H<j73n^78dC|q3op)Ul2;Z{AssFIw3Ebxvd@H#QeJF zVVT!7KsK<=Ftv|{f(Cgev=heW2rSCYin05%m?YNNooXEQIKTmSMjCk~9bX$2^g!pT zuupn;qeuydjo^?63{5v0tSW5dih3y~ksnF~G~iT%yju*Q%~+sUBJ2n$<x#oWNg|BX zs74GW8VxV96nc{j;rTUbNC&A~%_(ap;E4@OVnJDQ3eZB-Ndi{bc@@c2gZ>Xe$RGyx zoQ<<h0a=l!B#a}g+;xVb%+m@>ED_+N@^Og_xu!|o$CeqsK!FtWhe84-L@g-lWx^d) zvdrZ%Eq-j*kO%-!4y=^p{tyeAM4EGiYjHZx+oBOJ#6>YUmnjGNvd(a8epah+5Ifgb zQUJ3p%mj77i3K4YT|<*3wF;6)!#dxYwT-1wJkgN*Raq$uXCjZ6YHVGF>=(BxMp>Vv zTn3(ORO|)P&^Sp#!P9Kf7Nlr^z=XK-4v3D6{jkUrXMv{00=cDP&Uj^EIao9d@qs8p z*>Rj6r-D><>{Pd)OQEcP0UivoEs__AF%%xhG|9TU+z(WlkwFEEX}HPG{hH>i129L& zxN4H3FyaHpV9&eRIvzo(sA`m(7ZNtXLSpEV3j)}zXciwk>PZ8BoEb_qx^*NB#ynHQ zuTzw%g^*bzW26JINpCD$Se?#-N!VC4>1<duA`v|re3K9hD<uLQjR2vyF%Zqx(Sn7n z+6US?i)bx}gRyYM+;B;?kMnXtzMNVxVU6ow_Ys6Gqec~2APMmeKJLkr$RyZg1;2l_ z`LaoN6?!G&Vau_in_kUDK`8B5$kI|5t*!LiQYIGh{TWnDggn62fJ#qD<PkIM8dT5| zX>WWQCTpOX@qj3Tsi;_xDG=g}B>CbLcW1r;CDE$nMHp$Jnrf;ro2`Z>){*ssg*Bvk zGmzgRy7|i%)(9D5rU<gM3sn9li7=ls(h`NV!4NDToiI1NC0bE)OsE?=qXj_jfv;90 zl&2Ada3qs0rcWd?XSf!Rz|KrO_LEz|a%ICJ^{G-{zov?ck%R%H#Zi7*Iin4<8APOD z#8GaJCm@c0!jh3Sa=;p4U<v(Xir5!W2uw=~$qW#@g<0ZQ-ZsANi6vT0D16K@V@*`z z=0T@8I!{7JjZnTFokc?UQJGbhnb{27hFoD3LHv(#X!TLI&V^K~CPoGZka&9)s{Rt9 zMFZZ%0zn%=w<sdFB`3+6h?5MCMqSxpgIEE{B;`*mZ|Wv1{e@r#jCtmfkZ{pNBaz}Q z6nBt@f)X>y!dmP~S-MIJC8qHQSFksUx)vW<SW6am+-=ZA&_D;|HysFRLr&J!ha>t} zWtkIE&)}nDZoxPN<-xUuO~mLDW^!`<H0ajY0@mid+d7O0R!wKd!_D3j>0~Tz0bpQ< zNX#@T;8HXdp@qmDp=z6oG+5(eKSvpJN#UtcVJ^r`60ldv*TPbzMO=o)J(y~u$;nV* z+Vx-)O_Jm()nU1OddULN4Fb@S<n~}k5ZKBcMPw2+WISNZ?v4fdW(f@Ein1^wED>Rp zUsB#hJ$DX$v4Eb(dazllb3$f17|tBSYW^HkO9KFwI+9{#fsjqmNrLq1NTP0(dk?K# z?n*CZ6R;hFDxe=(SiMZyx`6#KGHJS97qF#_F9CO(YO^VwYo;qMIHfXq1g(O=>l7W2 zjtCTjEfn-@f#qGGj!6aX0%KhgpW|cMoJ*1brmX+X-ll&SaaNc`7x~z0Vk8qsAb`N6 z_+QrLMb`CkP-mRct0_SsBNOO44HTOW+aY`eCtZznyF+aWzB2_ayakNWz9_U6a!}mp z7xTbe-L{wo3CULyvNuRNIoIAr3rj-Ffck`XkC6PGU}dw=Vx12mB%+?&(;$!ljCLXy z!&8mKZqDHlNkUN)O}%fDkdI2$b#}9j+2Dikrr6tsjJtu<fAj^1CYp$ppfygjM!m^( z?tcgxnr?;jGn+Ap+R}AJpAKVKb>1*j?9^3|Sd8q&L|4IjL7Mww-A@~HaN?BF3<C<% zxVXxdd`#=`?$5&twKxf^(vi#7iMYx62N<G~s;FQlIAlQt^bS^mXTUDCUl$bESLHkl zwjkjmC3Z6CLcljg1(+qbD7wsPTMM<_MN&^$3PB>aNJDXl$@CTpTcZ-2YNmtMytr6S z*b<5<X}03fS|(ydvt||}R0-q+$k7M#kr2%-Djy-k!`-~Je`UGZWMKsn2Syx{gS>cc zVH3>&OkKv?E^?I`(UCz($3WUD*!9UkVC05!6$`O^*jODDb#Z!-vVHW?j1XZ->~i?a zp2V`t+B!=0a}5e#5<4IuWvI*sipWcqP}x$=`+_b+FibO8U5R}i$Sf#fYb5DMY_P_Z zG<;y(sFR+Z0xeJ2rv*7LHG)WR&7)?kqJ%(1_+>CPbSl|`AR#12Z1y!kr9`vxGP^b_ zW&tI7FBI6pPAs6UF<N<=m|$rGM&WKF;qw5YGvMto61`O_Tr)vzYLHMM(8XQACRELm zEuf}hOC0`C_@SMhnx{GJNK)}+VHtX1axqK1qAAeTey$o|$BZ6~DFBO^B!$j3&On*( zg|yWv)eAnbupFjh50fD7$0=cAx(g(@RfEp#l8@g#9@@r}u9d`|hjq?-A<jb0r?$@B zliCZk;g}MEL8!Yax^FCm=J3?9qTut6`i0vyA1iS_ojhFnTECnK|T^OnG>a2lpv zP>GwADs%QFiY{o#w;+0`l($x4f<dzS<fBEZc6U6~!*1Y}ktj&Fj$!9iRE;eXD30W? zXs_bMC!)x%ZwvTvkTfL|yWHx?Mv^h5TCfL)VKXHOyU2@X##OeQwKvp(wWP1jbuMH| z519z)Dx?M$&oDr}7^GA|4G_anRSulE@C%Wd0Z7|S^MjyV6Hs-;1DenV74LAknRDW4 za%F-Ns|mNw5}!GOTE$xqHHz4#M5ih85yfE*%}KL^cgR~uA!-Y31)6#{sKJwAP_Q~t zadEYMQzaTA(Z3SIDiS6vQN(aCWgsr9u`ZCi=*z@hxZf7g1%da-{!X^Ank+2&t~xce z2pAvHQ4kj~r<#$4MNfS4*(mlBqZtUEh%vYzWPCJQSX)%UW9rdj*-;_}H&$(pb+nlz z7Ex@of}?3*L+Log`bf2@%hHR+Xg}Crj4!e!Rt*}x%xO0}aBS&GQF(uWA{A+VEa=M# zmEnLQAeMME$M&gz&4jfR3?`{f*{QL;tYg>!yA2zu5QZ4E({z!zSMTJvu&Kwy4wM^R zP19__o~hUgDN#laVGmwvWKs3CTm!}CTz#~Vq*pZOETlC{Es7~=PGT#Gjt&}JQw?xl zQ(<*q;QKSEU&yL`0$1U*V$eqtU<n$MAqy#Uhzb>Ep++2$S1XaJ2seGNJ76$~sfe5o zq5QXnAe6UR$@;ock1ay^30$M}@Bx2i%&rgwQG&X#2ua!@bW-`zE>Se0W9A~#$!RVy zxLH^5++t|<;7u=b?wI9gOs=p1v=|xz1~h<o?Yvc!9y%oi&CRwUt!XNqDp!bTXu-6y z2>G-x=DjZ#(6B;`zT&_g*h7qZjv~&;OfDqxgGY!`?Sz2RRWe_p84a!-7cZoIRb$>< zLj#OZ$;9)R8p_bg!bbNTyYoRxPBpeZ;&U>lO0o;33(}iJjDSn7Db>G`WgJok3OfyW zzR($Liv~8tTmsa^NM?3)?Ojx_BiUOe5p4z3DxYyK@(3t{T>2sp6=GO2aI~9p4n#;0 z$smGT2&!9ZFczL>DWlD`7(A>Z3p0Dg<ogKq%VGq|NFepfy{7Dk5jmnUf(V4JJuVf> zlZ4<?F(Y6pZA+UwO<uFyo^RMhr^se*7P^B_p-m{y!(F}((-n+yBkh?I+cq)=h3-kj zLNaWhO28bn5!*9v5`YV{tR_g=Gm5K~w8XqZfVz;980$@<UYp2=7S<cOMRM>j4m`zS z6unr6RaAkdElHs89!jT5wL`8CDn+uwO{9q<Vvg^mwl-jPQOQ+bY7;fW@ysT7&Az-4 zCmWBMu5zgwxI93=(}Zog^7nEPR+8+!QTkVq2$H=WL66*+B%i^(hQm&I^VFWj410pT zopj+A+@KI<3#L2_u86xbEp%#V?iO31(Ie|>##tGcAC1ef60^_Hb0#F3ig`X(Q$<h) z<4Y~JBCaj0Gu8(oLJ3V48bsp-y3s7b31bPGu)`=BAjH^%6tD~y0*+MFR5c~QYT{l4 z{ZI?tRS<cRhNt(cL{c~l_&kuK7H+ULV%x%9$%rZn$t@9SMJk0VjQPgQu<_Ig7%#$l zWq1dA%SIvyh!j#F6g1Z(fiM(0Zvoduusw~`(m;<DaquBQZHf*E0lE1*>WF8FO#lH8 zf#JE=P9Zy^+%_pm5pqH>fE7P*op`=EG+Sz*>1UYiWea=9+2n|PmvwR0CQu~8&r*pr zf}MmtyPViX<*8s{jc<-QBiXwE-3BFoM@Z7~=`G1vIPWV0&4~yc1h|A)q$7d~@4*lw zW<cxe^MV2B)c>LjAQ_~RIJPwl!6`r<D5<E72xE3om?Gxf?YVU$wd+zfz%X6F37nw4 z%d%9V!UJP!8p<LTsH1IBSR6d5E~&zGcHu6>>0%K#2yrnuPY*gDN@us=LqpgJ)Q9ji z`V706B_2s21<%!xp<Y8IWT;mc5fs>Eh^dxUS=KuLme1(X{L1tpfpW!CGihiTw-uEN zK4pYrDLV3@{UoCkDM5mh1QlOUW0;yh5VV(Q#T1lWSOiQ`nb)Xe6&(!<H6Z=V5!xcd zWk^4gSDkm*=#o`$bdC|EiB=)=fnb}iLV-d;f_hH5*kXcu?#l5NFZPJ^!sy*XF`1G6 z#&j=>`USehxk@F>Zk9TcxO5R}P)iav2CJaUWR@^X!f3e+^OFeiTV#REkkx><U5kLN zz-^?eIgLs<T514bMm9?zLSJR9jlpGd@CdkRje$2Q)+9nXn+Yt_K<Wf=Kc28ENq*cS zgwo;|vNi=dfI_t3cx3?-#UCK+D2~LvR80u*J|b;P7B&}m9r4OTVL90wu}a`0aMmxU ziIK$)GZu!#@$OiRJiZY&h{67XdQPT^CJy{{V*n8BC(!SH(ZU*dj2;Cu4pO;s)SbmN z0jX+9<>lxhAmuM4D!e%n{M$eQVu9C3LAU@J{2|d9OgyYi<C2jPL@8pf;uBCtu_^*F z7lfaT+FQ(VVJ2Q9bh!pbdB){3l4h=0^@lreFY)CuIYl(V=E(!%&Bhud5dssIV%DEE zXk12svMmsp0N=3HbaS}~_qcLb&7$xaxmg1ZfVbgX+?9+4k0S{j#V3(<2YYWd*Fyhl zmN@97EfDy@!bX~Qi>MpJU7Z!B7$6V8*U*1y7{`HAqCsZUR1?HDICDasbC{DwD2uQ# z9Zx3q$GKZaleny5q^-1tFPu79z$rCk8kKz*A;qCPIL!(|h~2x_z|y&(VG6K@z-?>` zu(T}obArAhFAoW18x)4y0)w19K<X(9od6~?Q;-FI0x1%K0<qqfcMa53Q>;a*#AZa- zFeADVqyA}K$d3jdi4W?q$Ven1?JygIjlC!0!a>-krj!G<hHD1XDdzcrxXJMgQ}D-# zbf4fRn)9pTnI5j=X+XBv?9Bu>@ef#7N*~!IpGS94NHz^?zzddiLn3;%uuLesu&^dk zSr`Iq&PGPo?a`;DnoO{TyrBZ(ZzQn{JZwvxqeC0QqJ{NgUeO;ALTH7oQ`QQ^0Tgo1 zX6Yw0!Vzh$P~(Cr=DIXw`=G%_mjDo|jOQ43MX4u$Erz`#V`7*l4md6g)bJYPO=dDv zM1d0WbNF?xYRyS1P8_a0(>3wI;t#VC&<v~J%97fODxVVgHD}wQDru_1oOK#jS*oIG z=zfk<ZuYNfQgoY;bPE!CiMLlhwT^HGK~YK5KqD~Kt#X_v^gvWNb<S0;6&fzjRLr^Z zmVg^L!F3`;f%ut%pMuC;0}L|BYBJ8ma-3|80>@OK&00Nce4z785Dk+A>DSP)(EHy> z4nuJS7BOrf<G_|dQO>Pdj7<zZ0ERBj1h-{TU=se;n13_C5}>P^v{@7d*T%A{XEcVe z2v)~ACgd#Lvd!kQUlzMQSwM&7Km$~l(f-lpFg7c*1QDw-m>349+zdBaD3FSBT1POw zfSy5OIg5yB3rpG9r`OcH&*YCJ3#EE7q^FP-GUCy_jTK4WnTRMmXAS7=%1m1Zpe~E? zE1@oAN!jiNA>)oO-d?hZ%LiFv3x!OAP-B)X%u*JOqmX_m%Np044MT9uWK;f)q1zX7 zKN{dv3tTWYFyiXTy$&j*>|!y7WszZt*yz6Rnn~PG16sr+(x*hefShEdS!PLBj$5aB zcMG_%Q92>>JcAAmr4&v}*qW-?G%{ivR|+g;8cl*Y4f_;e02xHe0MbROGvF3uJWj`F z>5_CwW?B8uCblwe>)_70oH=hJEbz+{40-H<ZTJ$FIDl)g)=L?im`VrqH}O#^%OSFy zLsIWEgfZicLE~lI_a3NP96x6f6fKfCO$I*#QzcSwmEtPns1>UKi1_9t*^oqKJBAo7 zA^m^|9gKN_VR8ea901ERAx&UuByrXtDy6zw`rHGW<8<Q!dn`0k8H`q`redz*E^nYY zmr9tH+N~u(m>>zF0G>+3leSW$nUhe1F@Q@Vmp))qCXJM^)HMWuKw`xOlDwh=vh}is z&6_(E>?6Ib1_Esf`iTahG3<dd26N{6&fo!&*w_<#2Czdr)}C>l5Oz;RS0(32y|lEj z*qxCa3UDBn$RA78|BjNez;qX9tLl<d3u&R<BY|QtTlG|bCUQ@S8!>pP8c3TnkILHl z5v=Pe?sF!y`IFrv!{-rdFx;vcd-0UQNCv1--vTRsYN~;mCMiKjH|vT>!l{R_(H|2g zm{JA6stIE8oIr@i{ep#!Oi4k(QwYUxM4)9VD=Hj>ToAu??sYKDDwV{_FM$Qfa@lbV znkf)~#r7wr0}#e;Ffmj>Fb4~(LapW+Hfnd@5F?T7b?`(&9b0sT5-@5_j_TtKmgbtI z#RN@OafE3vR5Hf44b#<5Vn&=lT%(d$h~?&RNI#n`^%t<aFybIqn!`Y$jT0!;i7djA zErwf`np`NoZk$+-!UxlySn$_16-e^jpF_5)!&(*?u|Qa`=zhlMDUs6&y37f8Zomf? zQGPZx)GPoF(6c33v_K7O9C8F0g2wV{c*1glY;<6oxb`I=^0}rh5~>H-%<vl53o%y- zS*X}?maCmk2tG&>kkTk27rYn)P&!kI78Zvh#4tHa%#HK$V-(g&=;cWY_TiW)hmz7L zL`i}9NG{Aq$ch9mhR|sckO6$LF<P|@`tza{d}{^$3VfmUF%yFjG+C}KtUon_pj9<U zIT~w>m}t%jY3xpN2h>b*@gQ#hM8ZaOEDd_WyxC*;$epCA?=H4JWq&MLSPf-ZBZ~Vl z72M*BhO5<BFU&nN$jKEvPr#KS&ow)g5h9;?w<ZSM0!1Mw2h36?Rww2=>o9t|o+z*? zCibHwaYA|J1q_#P|FI`v+2AwEDXg&&5EKTrb9PewCJcr!xM&IV=kQB2=<1qO;i^eF z%ruL*hWgkALFcsS(i*ZsFN<r&atw>y1Vrr!&3IAT534kWNV>qzgb{z16J?ixxP~S! zMKd|R0j&bcnuhqC7qEd)iLEUxQ}Nq?-pomWc7_OV(W|i)7M2~`P?<OXDz<Tjnww&N z#IVG~J_t$EWDBbq<R7P<QmZd9SnArsYNU*F;3;Z&hL~2U^UfCRoka9KAGj<)7mGB% zFg+z_D{cByhFFTwd=jicXiU(Ac<SNbhn!BPL_UE8!?FY{!p4h!mk9AGSxf_jn36HV z*rG=4Op`8119^ikDwGoWmz>WFa~cahtWb|5jl9rO9dcbRgl>vGl?M6yXss17JwWrp zW2K}nuLP$@VX0K%LX<zJ_r<~WfeQ_=M?z>ML6|#RSc2410+9t30#?-FYAX`ImA^(9 z6)Ytfm==EnHT;wdEgDnYTz+NrK4?i>&N{mHNX#jsLGm$LSmpe)WIBuwx^<M)uw}u9 z#gqt%5|B8A4WYA8u2ZTsA$Kw)JSM8yl7+R17~uef_FvjPY#mcbklhUj17-virm&eI zQRhd9n7ZIp3c#5a+u0+|KbgY?EvC<XQ+7`#Jqo1ZEv9HpS!Hs-K^Zj=3X)#3gomb@ zsueku5AiY95f&Dfn+YhMr>wCiE*y)L2AP+eYFty#go1pz^h1(C$~Za0E^50R!^Xxn z5Pws0&!+&$rEVP)WPXYD7mG-q7%v2}AcIUkRlie}oJ8>G)WEi`+$K)+NJ>U=p%lpy z6sT4nn9Q+k&y^$I^a2=~vcwj=eQL_%){JGAI5m~TI>zjrTA(zM0}a#g^Qc@~GNn{M zCDSC<I2b-_E@&7KUdors@)$-feIezlOcFuz1D26bG%x`Jiy3m?*FrNsYg2)H%@i$B z?t@u)*m?6M&*?w*b2Yiu3{R#?(8U;*nO}?;lrho+SW_U+^=d!mFqF%6EFzEF?&xj~ zJZ(gCrE<~2T2hYYw!?KyL5WU`Awwtpq!>biJ#!@PVmmdMfJnj4^VGKpU2zYsnohxa zhhECi;F-!Q5`j5}a*MI?BV^tjx0-3IEpm=g+Qi5neLx<KzEQ-x+KMuaq3akNq%39# zL<ST|Luo-(E=n{EuGmzD9aDf8$NY|k8V0*=sQE||b8e$9)L|*4oUn}~))+{ikWXD> zk{5Cg7L0*kzA*-6CVifti6V;v;z)*ug2~L`FQFa;Pm77FB&xi60e4AJAQGYvK=Cfx zNzlR?=}W}G-b|xUL*;(=-EC!I<6=soCAu-jKvQDGw!k;ww;V;wC6qJK#!AGQ5UFO1 zU740D$$mM9uMY(9`o_izrtL9>1|gLN?U4x(vw$fYhyx`qAOdO|>AL|kaI)ab6s)k& zt)ppsFcXRGnfgH;cJAg9LPtPSLT7^p*);@~mbV`M*MGecPLP$9AYY!+p7jH}{r;F# zLb34#k@+a(M23W`@|R**QXyIGEvZ)#`GS>emI-!==`X0RThwLL?0vh#Vyp5iAQh&^ z8~6}4`C1A+fT@%jrXxFmNasp{F_WH#CmQAHEyr`QoF19$XIzyYPgVfZWF%rS4G_W9 z)UDY|l@(sr7WG<~%|<Y0OQ5%e7K2Lau+@}+xLAj!oG!_o1e5_hx<E4IkLY2){XAy; zFnO&oD^u&Xp7uvgQdb&9?91<$qm-NKj>65?L|eUm!SKOB8Z*Ox#)dI>sqGGS2^|wx zHzf(TF=i>Hwk?t}094;2sS|J-V{C02XqRn4!ZxF3PQxRwFJy^hCPGqkbs&C*Di(2h z&Fw}*^v8XQAm2`CP`bf@zsyxuOI%U7)o8$H!A=eVgz)Gpx@nW2&q4)Km9ctAf?$Mo zn_-fm=$j@jqD9r2H7fKnmN<BaixOujf`leZNF#2CJe38ze`5kc=$uh*tYh?Ad1E`m zQKD!hV^8j$%g<5w2f06po*(P`=kmQ-X6PeQ-y><U2<b8<?3(Uh{Z_Z5lWvuS{3gmq zwj-Wi1wo}+Jcd`H-c%*vMLF4T+YZNt66dMnahkRHpa$CgECL5Iky6YOFJ!T!+Z4dF znyiTEO8XFfb8eGPi*b>Ph>=C~280w(Ih)Un*BYAA1whPpsnW2F$URg{O(Pl^nn{k! zXp|x*UYxnkToM9=3D(^@!8_CyN`I#Dorys;O1;(d-q-cIKbQzpb)^T#E*<>6Sy-wq zOcmEQs^@x+$D3`zemZO~f3Ej>F5d%;MfLa3j~KF;Vs~7sUe<dmORnYAtt{A38cQVF zf?0f((<{n+*HI{cf*{<>-ov-NZ7vB3uMW5XHo2qNdi{jaXH!)_(j5w{ILalHS4{dR zD|K<tJQ$)GRhgiSHL3|!L~~45{UF#TXaU$HBwZQ+h(;CyI@c5ls-f~2&u*wlYB4R% zj|Qf*QhC5)xd{!MLNXwB=~D)1cTsLqlaQr_*xw8(;U&`dx#ZWjmfl`AEBmTT7W^eK z23NvvhK1FP3+RcTzF_tA*ez@w)X&Yr&e6Fqug{N><B&=q$|#fSA~XxTD+~Ajpx#1R zSM#H2RB}hjfM#J8SxU-*fE?Wi?|kT|{k;GE|DdmT5eO70`o{qx4M5aVL)`MTkkEHA z$!JrTErp4`Rst`;g3~Do_{b7jOEnw^4k<I(8N(_xBm}V-V91l8&~Ao67i7Fx2#SP= z-28z+W|4UDkc!Vpke;3kf$5YBVyG-L%i9;~uo{Y7>N*!e|G)^}X-fQ40|T=eS1l&v zPut2n?+=^J+kN}Kt-=40Uy9jPc(Hx$m*PB|e*5<HTZ?;t`Cq@6q>~btp?N;Io%4Kn zdHMSFSUiOLVPR|VNm<^pU||QNZYWt4iN}(&;u>qU-!!dGkD(S3XW!}7l#8_OfFm*0 zt5@asc^v$FP_9;4$WZ{K3%Kg-d|&`bsA(XTKjmHYqBfN}U^t{$l);U&Rn?|Es0SWV za|S6cQBRxbsg!g%Jbjj66^s|;B&h^Mv;qU_;OQ3$fiP`(q}}KmyD?)xECjK_<@Y<2 z%q#kA4YjV27_|#Xr^Pn7l>AD_!%(kpm%A<1GCfb*@~d|6a4f5L``6*2=A!6@{?fzU z{r<P@A3s{g>akc@4b=ZkcXckIWxMzu!$w4E`SqzUSVdr(`BNEIoQVK--Kp&sHnd2& zg|#55*$cB^Vf$392NaFzLpPB1ADnozWr01~+U<KwCQe6T0qlwj#=xJjK;Q(v6s#gh zM!zJYd`na-vnspV<3g**fN2s%0k@$jb8tZ#PghqDFo~qm5os+{bj>3Jp|VCmNa)Ot zsdT}H7D*XC*fA8a-Q{1a7}f$GQ(#SkR_KU@H-(8j2I5mQkLPVUwrIAl(eZQO7kX;p zZu`Cc!J4l-$~s0h8wfduX?Z@ng%!Jb7Jat6Z(rMG-u$wEe%cnSe*0Pv^itlaiJ<50 zzjsfY3-Db3{9KE_`m(*feOX(MNMH7k&*kVZ->Rd1SC8_1dVH>zvYlD(p3C=2V!WPm z`{#CuvO4d!&*;myr+x#c*PHf%dI{z0^_X|(!*e@y`^V;Il$UqMoBCUy%RrXPtcTL_ zPt&`j_DiMjm9Z&TxVahSUE40{3Hmt=Ge#&6sIlkDl(5*mm1Dt31J45HvrH)uDVz+} zAPXd@-ijSC2@iylDGZVeoI;kwd$_Kz5>w5Tqc+TWLvbyVSQ<Ia9__l+Hy~`F8#99N z$il)7vaG|hrxA%VG9pVZwaK*0y03n3eYq{Z{|ak#e~d5wd@3uvE!e&3c*l$hPizX5 z4hvhyamKLqgP*s5?tkCc_*qIwTegey<GC91YP{cij%Qnv#Z-RY_KITUe{9!%D0|G^ zb|G)gsjU}!yg&T1uYP@V3I1R9zGb<MBw04XMB_Rj(ztGc#|B$akZFAe&8z-_`G65b z<7}xbS>NBkmCtaGOi<nPXi+_d=@H2UP$&Qu87~j_P1#MBVCDFxM5HO~F83`zmN-9q z*c2k9t>>xcuwQccVC@ug=&{%Gh~>jS=3mOHEpO(SmtSq)NcQOYP&K$O?|3=Y^p%|Y z^OiWKokhBLdwW^W6GI?}mY8t<764@=g&In|u^r4Dp$vT&m;@U9*0ev{&(Cu~((jJg zF^MDR@KVNuCn})^X9H+HD8+hWfe8yzPXrxn|4byxWgxni!eXQOM-oh#dDttB!t)x$ z77gpJ4B}NM;P9r@VzBLP9=Csyx5X@P(?z+zj(=P%*8M8k*Kzsf)b2gy%hLumJNWao zD_hrc`SvQY=ymtm#eR#yR+nAw*_W_&F@@tUhm>Ulu^bMx2j?nrG1!Z|@TNZdNvr!W z_I}(Z`>653Q+~#7@vzIWYFM$WRpM|8m)rhgPgd`LDgnt(nx&U?SzDyCYX<u!1u-Sx zKl$@++Zool=2#vBgVCyE*F{IVK#Qp@DDWYl<4E<OAil-ZkR1+bq4fZ~#Dqrx(6hy& z&`8xRoc`KSkTRm;u)gs_sTrZNCWBxtr^+^&F;GN4Qx#Kb_hHzw40Le_J5jqEJ*<ih zoFsi$B%qWI9|v{1>v_FS){-A~Suf(J{L87h+CBXto1E?@gUt`kR@|cMP=uyQpc)dh zhph(trBs=hH+Q|gOTC`77kplhdb>H*j_5HPlqC~*yZxf4a-ARUmS^AHY-=C(YWroA z_MiPtw!hou<lZda@^&M2%g}VP%g?m!yjvc#JoC#TdD!&&*ZH_97f*fV^3v@TUN0{F zxV6n`SK4ajm*e(xI`idOyTiU^wwL+S`jS7OoT(pg%c-WXq&;sr=UqR;bjFJ%f4<r7 zBCZmPJ|Q*&2pfSILYy4F6^%-6phVU69%fMO2rP@5@;KDi2ZIT`f`bFWER=fqSo*CM zHK-*AQbCwVl5lcf^00vfHb|@~S26M9r*|3HnLrn_K~iQptS2~TI`CxJFabkEnyjOi z&hmQODxR0ssXXOhu8R}c(;tgfynh6PwTtAG$`dic5fabIIcx$>EEnq=@UYo-k2Oq9 zPg;KF=4|#;uj@~f=2`dY>OU?K{Bo@?#`HOz@)ByktyW!%PK)(get3zZ7lSR=(d%8= zkxuo<$80ib|9QGDk!iBF0_0d;LoeYJk|kagV=wP1*U<8_vVE53)Ux;Ghvm0)x%~+| z>}U19P=4O)^ud-hyvQHr&MQ(jkye@Up-x1juvw1Onlk5hACQ0n(GApmSTZ#sPACv0 z4|+;Ih&IjCCN2eCy$(l5K8C<$#oU*n^ckCCN<C%oz!GECpglgpDaH@f&Qyt`3bvQz zOt=#lMmLSBo?3dJyZZZO&d934YPyOy)nNM{rAiDQHu>l5x#HXma{$&p?0)89Z<EF6 zNVB$eb~%78PWe<$Zn3uO{IXBQgpa%O*kmt@qwG~;%ggEE#XfGmt#iFyUS@fIJ#y*+ z-{e^O_>_y>`H2<km}A@HuAf3HndQK~^>^~KH`{!;vO6W4Ub5`V#ck$e^c*%@bm?ws zd0w{Ga)$YZ7qgbvyD)DeR7xR<B8M$g3C1GREaOC&wy&WPoe)o_yiq(l!c}6D_%<p! zDo1k>-l#+xIZQDq(%QF(RY&$F<8fgLgm5^RINHS^-!3EP+yq-sK?+T1Zl-<MUb1J# zAP0}~C>+jR)OZA8rPn2%)s5w#6Flr2^sxO8GT0hWAG3#4B5wEmK6}`j6;3>Cy?ixq z9#*a5lrHzpW>ZXLxkFyx9+wka4EA%eoMauA|IvmdEFN~BbK`U#SIJ^h`m4EcwZGn- zZqtKOsG1&lncle`zvdFx_4Y6Oj@+uR(N19r!}lFHQ9ZuYXIHzF+#!3C>fGx)kP=gr zu9s+i-rZ(%Q?lN4hWXy*tgK)@Ks4CKCWTojS{kC-pp&Q0Bxe)Vp<dZgi2yPU6C%no zVuO|d^oNXGgVL-7;d_WzWaeQF(kYb1F^LqW?QJ-Tl`;y;K*}<TP}8^!^+I)&NY=ph zKa#)OB!}IQ=Nhr_tU(jPp+Pr9bFK0z*F$b8B%XWN#kzle+)@s^OUdJQKYbH^HYp_j zbeQI_#bEQ7(SZ{Q3e`GC>4-Pm{pt3!oM8zh<#qM287ftgPNjXCvBb$>Z;rLJbK3&` zr`NZyZ_`WVrHkZY_oagLR7W7bSnI>)u(zK=t5=_Py&+q}fgB3lHV3d6XU?{tO4be@ zw)(A7rmlsudWPvZ8C!*@$~L({T&9$XnaG5nE=)LT^cy~l3o)g2feNEJc^v`j<7gD9 zG#GYE02;4IVdk>drUY$fW-dpg!0b}Q4XXy(8SXf1pD{$Jl5$bX!WgL$vABP1Ko6&+ zw$pR*v{%eLY}eGGQEjg+M_o<&d>XZwcKF+6s;Q<(_%^3_x_!>W=Jo{Uu({}TS&F&L zB+mrU%N4#^oVd<Btd&dLnuonDp<*}K($_gI_I9z&wyo*fULLEtFC-O9Tz+Px({(N| zRfBy~zqRAj>GpbeS>p2azLSSdE^u2C<#(-?Td@>iusNc?t<JxB*qnG*N7_njx0*kf zy;cX^a#$0Oshh#JGrZWg;9y4xDH-@9g{TN@5RIBm@n8`tFf=-)67gfI#u-eNAUV`& zAEJjf95FYUiAP{#Xi(Y;6FSz2cMTghFvlC-x<a<v<yciGOfQ%|K-q=%L4m=P05To6 zu)52g%VBLo@5VD1H2TGRB9WvN50fl%`&rB7^PGo0mHvl&*o#s_9zAT(`Wvdm`SdU( zE<NGBmD+0Zu(?ikC>QYY^YQ6=cU_A~>B7Hmi6>%-En|s`J?{>8$LeA8g_#a<vm7GT zoE1Inu154%`F#{Dak02|3L@{1+g@}k_oV|^^RT^nl}_)bouXHX_v#3#i|v;@xzx_E zdRPk{w#0TkKwvubVY%yRI^lVy%na(a8i4PC6psZcWh_OvMOCLZ)ee@driM@lDzt)g zi#v@9^UoMOe$=?aHWv{hsCE>#p!9+h{&w&zh3N>v@1v<sV4@M~4z!_jEU__=T|;>| zjt0aWKdJ+zHvU6NFt^)uVcK&Zc6T^o4tv?2jIA-`v8?Bn%c>&N99C-(Da92v51TIc zeuW-?UCv~ei%30(wd&<AA&0e#<a3wfF2V9fY7W~fP$>z1x2vhB=dhozb6&jckMBw; zNRL0c#kEs7Rf8>afxGguT65U?X<uxwbHMRbI#Ic}6+LWr!08z648g;CkHBbd49ld< z*)a960b;MJj6V~kFJQ1v*#ARQ0T82sVyh!CA_&$j@Y%-QJaQ9KKBW>sjb4evnB9=u zjAry9oR)w#La-6fz#5n|sa6D7CKrqB+_a7i+I0g~v<Kh}6c1`X_2n)q?ocyup+XbS z=dfHQu7PX!uyG*WbJ%j{*&NmsrgicI@>8x3wJr2NxyYN_H0dzA;<i#tB>j`O?}jBV z9(Gs!d7ai-{(JjB%QLnah?GVNPu;^ly~>IBT{{m;uTe~~p2F3>w0!Ee(>ku7CHIwb zNUSB*UiJffm7?cO?FMPhQriqftuE{0VRv3b9&=dcTytfNpcNguo*KDSE$}f3spJ67 zp{qk{90oP666-iI)93hn*p%mm`dmH;vH@Qe7l8t!18xySgck?+i1plHz>xWKi7=2m zIKnDbfu0s6PFN_&OJ{Qr8$uX!R<O_?qpjGgPbVRdd==Fqh?cDCsd(7eDFNJ84-0>^ z{Hq#lGU45}#eDQBAh$=o)b)Io7>iC;+8s}&OPjl>1<3qVJl)N<x~<$vJ=GS8)^@5@ z4=XobbSnL;oT?}1`XsM1bRp-kPx%O^owa65u6kc&OhY+^)+?^tPHCCub9-AlyY2ER zS@3bU?+x1Pa;o)%DLywJ?Wvt%^{{n}>6RL&=mQunKq^8y^RPhH3YwHG9XpkvqyCZU ztoa-8Pt+rUD^FQ$86?30<6tsG#XR66fy#3n{N~YIgVAPV$KL1|2$f}nB5N#LPlji> zo*>`wun|Z+&Z~N9s>?OT@W1a836Gm*=EQ0>^c6Z)`Xf)*Eq1f%9(J>s``yt!?4U}1 z#=}AmtEEb8sY|o_)IID?4!=K_FDGLg(u*#??GkjO)_jiJFYhuGIj5f6Pwrv!!}61U z-B<UwtH!<j_WraO(oM=j(~hy&jlNz|%VW!7mj@hkHd;>MlqZI5G0$K3z38ON>SKaa zmp4<N_$EisyT`Jb?cTRKaJd#=r;|xXTQ-k&hUj5+yBiSS-bz%Wg>XQ<hU-g_aJEZ4 zd4xD<3z9taAm77gLDe3hWg~_r<)Rp9g<waMiCfVVb^dYX+4v~m8fNPqaH$@m+bC}< z@Il7RqbLV6^vZWOn(OCc(K8+vfW$!hEgIzPY&^C8Bp;$pAMyM5hcXI&b+}WZF-PC0 zi`U#3mA01W+*we}ay+by{dNyqvBbqGW$-`12rdiwKe?g`p>I1ub)}2x<?W?<ywW4t zmGRa5g#E>?3>D;9;QyAR?EMgLa|5X!`7(#9$yQp6xnhaa3`91a`oN0*&ESnTCTCI+ z#^7Poe$d7cZtKsCWva+cyKWHX244QZwGW$~mp_f25`v(A{K{iyUIuZeVly7yLDm~_ zKVD@DN|MOaAQ%D~TS|mN7|=M+VELf~gERXU`m<;$s5&;2M4{nW#a{q($8{g{%f<tM zoK33^8=MfW_;2vAI!*x2m8+nOXA@uCKX0Q;!cg`EQKdGza%PT{Gju^xDyf=(UhGsn zhuze+j#DMQy)BQ^%VQduDW7nz@Vrh@u-=qemuv-=9Q;04iI;bJQw+9bgDDnxo2=%T z@LTEb)RM|(u2<#Amo<k?%TM~Q95?5%pNpB-Q%L8P?n~n~Px)$jo2+^BE)(n6>9!l! z>jIIut`AS=(4Y||;z=If9tt5(J;Mw1u&2SpBEZfjgW17J5RYz91M)_Wjnku8Bm}-a z{%UO;#U61SLHW}_&y&T`nj1ilC%<GlMujw(V?-cebzM3j#<Y?BKMu^}^nx(1)36wA zz1~I2K&mRg!NZ!d1iJ~!5=9nnLk(TyaUq}E7v2#qD!G_-nW{+R4S5BfSkK6USbab0 z7^yg1>JZ_V`RmwRf&Aa%;5VTGpoPcjYSSl0<CvK0-QN3wjhTOQ@O^Ew*_RLOP>du^ z(gLAEy&kTvs13I`@LhSWt1BxJ%Uu}zDhJ3jvv7u@DG1xJ{svr*4uCi2c(+c|7_?hu zfHU%VTt`ZfQrrNa5)JC5%A?o~el@@ohun`^pC}*@ghr<x)`SYpgK!>IkrlZ@s2vtj z$k52?C<VB_O=PZ|Hdf}pQ6-*8%g!29&7nv7DdT1y4@5^1VwkDI(OrejQ_s|^<J@Az zN{4}B9Xc20yHF6@&`|l4K)Y!k#Z!-)X3}6%0d$cXwuGmR1VA@T4B2qw`4o=3$TNmx zV?HeoWh7>!#*P6*PeJ)PAOJ0TSc$UK8W@{Y2Euik2{MK~VN9(96@^i-Wz1CxGFx8A zHaLv29&g>*V-?73QXdPG><!t30kTDkVE{7<<E@eJd<fx<aoenT>6Y@F`mo4kt1kD( zSB%S9(bY|glaZLPZ|;Hxj)`t3iE1J%@2u#~TBUqZ*hqRZ?5vnlWB)^NLJ0bp4hA5i zY*x=<EzO8F@RH9!bx4jRab7_D7BVQ{e*vs5bQ9VnIFhv(D_e#P45=72P}Ex#8v?Z! zynqzZ2M*;UVDaQ@F?haW=!MMorjxK+`1?X&Z=CTpacOReYS1&fCW{~sL`fjCBESuu zKZ;l@jd_ShhlAt0ZF4!7!_M_hS(^w&ooLKrUb+UlL-kQ4FMe3~_zjbukWI^2u^xnS zSlD?`$);{LYhCoH#)h!K`35^*zQtgPTIWQIMDvI7qoch~C(Q({C8a1lPM0c>pjw}h zm?>2gZg@86Wn6?AC>uG@<V_$n^3BLap-8L_LeWTc6lU@uwKAiG76}iDrD&p|05)I< z(9#$kix4@ZnFf(OQ`A@2DEh%zOTiS$1|((B6{q=LL{>lRVOi)e?7+rz5UReNLDi2H zOw4RDH#xMa2ay@pzL7x|Etoim(H3$V9yUbHKp5i{A6rIpSR;U%$GF5h1e86b_ol)G zp2$nsO>6Y9F!Fg_9jxeFt~%r`M)i1$tk10)D*U=O;Uf)-OenNvv*8kp-z5Y3@bWdF zn1(oBNiqPhLKOxWV!)}&8;KB>7#XqYopJnbgZjIUq|;+n&g(u*L*HvPiiKhyLDXSb znDaXH%D)fk<cNNfdKC!g0#m4BoI~WSU5*U$8J6pF)>I8Pt+U)*<E&6jZZwW`4WeTM zu*5KM?wa#pb^cv<`EI)K49hG^)Il1y5=woQMP|D1+8humuatH9N5B%7#z9J$<<fD$ zE^G)4AqZ^Fin3P-R|?m2E2wFZ^%2T<Lw#yewNQ-i=%croVW609v@XTZ3HP%oJI4AM z-bkbi%qBUk8GS{ATN-mBBiy!U6Xa)~^RSH~am0L}1VS|KK|B)cK?;<Tc-2FQ1=R6a z*2S8z60?corrI{Kp!GW-*syE@q@=9VVn!^;98fjK6oGgQa`U2$kP@3S_W=x^OH@>g z4QP59yM#Tj3o?faQ6z|IDeL2^S7Z?Eu7Q<}*jz`3TM{TB&1KG+41?sDFsm2Z5inpn zk;Y^p<RCvghV2^m<ugfElr;f%rqQRyffQ$7WsI``azF{hWUQGvLxe%G?rfEK+!mtY zG65~Z8iw7tF#}=hr-2OLkgZ9e;5FH5r%9|tLIBQfc&-sX2phft7eAyCDT~unqEwk8 z(P?otZ$p7!qQbT_SB`~*QDc!(=?%sm9@_p2u06J2sX}YBFhio*k>)DzdIS*GNu1Ry z1xA{^qot27iM^ik5Im$%O85?xr0430;YR7BJwr1m%1Wy;u?5}B1pC<LX{nLTYCDD= zPT|YPu!!ma0RR9=L_t&w0-f#O=RIs6iKU&EE11K@9$5=4j6$-+SBI`(us+Cws3T|a z^EKn~1M~VEUk$LY=mZpFfZQC2z?31Z2Hfux0b(2CNx+D!5WEF5JeJ=Kq+H75i$i{C zI!mn-_Y`;HiV7VPx*3Gv)zIgej@TK#E8om(HQEg7c+yH?Djd`g+HEG-^k)eS3B+!M zG7cWreTwR!)2s8;k>lQB1Yj6XfWD@N-XXY7b&5!5s}BLc$$)M^^~lUpbT)@Y4h<3E z778`HVzEeLpf(hAh*epUYzMzDc*SSR#Kgc_uS~{|2f~i1jbNc$COB4rPA-H+LCe&F zz>8_%(5LKe3U={;Fzmz({gm)VB8zp%VPWLW1`lhYdTK*a1&go&LJ)fE9rJH87G*;t zO~b{-mzmkXKZcJB8j+@?q!*CG1a)_L1FoQI;I?AlWS)9EXh??YCNWbOW(6aTz~_Vr zn(2XpMbVKK2z<lCwhK>(ZV5cXg5DMic?IADymy)Ojd~JqOeKxNn%GA$go0Bwf^cly zVhh5FG>jcTUcUxaBgR#kZJSYPiU18&%45g!i1+R~>!$O{qS`grm4<xEG<GJP6yIS2 zz?wN|ykq(woC@ss#)FmaJwyIr0WtyMj#&$&ao9RU=*nt#!ZODZCZ{R`X`)v|sMWz= z8nZf>PJlx!KNM0hF1bZTORRY-UIrQzmn6Wa#EB}pKRcJh8pjj^v(GRG>nJzw)Q{a7 zALs}G!vQa)SV|oIj>O4hlPHtOL<n}?!;&x{^|I*OR2?dpP_e?KNqG2Lu~GngK!m@{ z(VUInmI+@<LEoJzdu>upQ`EkJ(*97P9KyaB0U~>LM17K24IkFVW)SXPfi6rYip-=o z8c|j-Kcb)_j)QDsN~+z8G)km4s1Uta#9bNnxkA?~6h=rz9gh%Ed4L2}lJ+GJJDXSd zhKG%+UYvG_PSj2mtLei;A235c1Dy=|Lmh44H39@`Q=KD}@s)R0%F0+eTSO-E5z2*O zF2V$6%7DRx&>ETYm_QEq4TH_LPfGP}5|fFLBV=Ni5Fhvst<0g>QyybuXTG)IVJ$Sp z;nOjp1SYl?$mR96j<(dEkpev`Qmh~uBbm4fY$|~v&?o6TY>mMjq4?+hyP1n+rB(}l zUJc4X5|p!zvMlcUMN$vZSYQ)xMn5+XYt(FGkisBI=-p=Sp@bCH5RV3==3ITl%XY*F zM^bg(rv1w!tf<8{ET}I)yhPU{0U1cL5YsMT3sl7Y5#Wqzt$A;@nE6naXhV_T!iA%; zD$><N!x=^o8{pg4r)NS8+Z#VJcvuT$+hEi(wo<%}AEl3D$%lI!>_G^pAQ%pM?;#w( zj4<D0IRmCpqw_Jst8z^))*E>THQ4AQ2uQKdGt}Z4;)kt?a~^i+09tJCK+`mOSnPnn zoC4Lc=QDCN+hdc?E`&d*uS4V@m>r;oq=eDvvD0C25gVhV3`V-C6(B@=7pk@>)=gs^ zoF!_64q`hh^cxg(t%IEL2q`t3a?vhJXGWEEF3^T5F@pkOD}<~G6jz-GLPxNIP_5d- z(6Qu$)krE6sLsjYqV#f$ZV5ndp*wqKP?MdH!~}T2jH0KqQ8bQqbo*FGY@G~SOCRbZ zu=zO;8#{m?x5xV+jX|2}03F5fUn9PQhZDf%)Iz*Yh|{?aPMAUAP@c*xTx3GrwJ~%7 z^*=&$SVjeT4*~29`4MDzm^X(u8y3>J@XdwuE;twQ6O7UH8ns~NIC@yDjED`aiOL#_ z5(nBQP(Q?`QDwtM^zy`FaHgI;EVuP#l!JvNBEWfrAEZmM_e#w)>`{z3^6dp%RW>Fj zG!2S5J!eqr;5q6jT8~EUHzJ+Rb^s~mgA=eAzL+udy2fp7oRAN!vH0$(!p`%yrkxgO zLhFT%jQ*-dutCAAbYu#2FmWL7Fp?q-Q~^k?>p&5cQKH)>`JQ2s+ha1L`G(+*g0pSK zGopF#DO8|MgsB`1Ue3!w_N`m7eS+FDv56bn@&?Loux;y55bJqV7?0<v1Frc)NUz9U z%2iL{s<iM>ghk8__2Rjc#CeG^5MH1dPe@nLqMq^fBOsVm)4$<iHI6@c%4b0VLAdKl znQ}-Xg(F5U%@|eL6^7zDsWURCkizz1KxJN9Zy7q?$^x&gVjD^MBMu%mw#PM!b8;mL z`=G6J!;e#lV6i+GOhyA^8GhOtAPzX77wHX&Zw0&K^c`88&1CFB;1Ctap+gT>hOW(X zDXdZ9S&_wz>D?$A@Qswip;23oYr9I#ScWchnVUN$G*7DmHqyTlv~-k2fnzCx(>$Uv zWXpO6>C^zQ%HYgN_1{93R$yq_Fl_1`79g^bwaq-`ppjS&w61k{%g;{3#8ylpjInHn zR<9AY60pqld1B7RhmGH}VuQ%1{3RezX?!N2VxVgQU3EH98ygCNpFj~8saSPT`gn*# zRFPQE#@Z<9-%*KWJ|%$l7#LZBVKoh4JTHdpz}QP)u<Ed5F!h<ACdrLREF6TAC9<24 z7l`4F#p(TKuDCZrc}0V^b)?2p9jFG-(54<%4GVgPt`cAcQBl;d=+JI4XoihQ1!EA@ zu>aDgVP^`o;^1VMEX1jChyC;s8)HUwfUx+EVj5+NEi`<vj>Kucf5B!kx*zijbf2UQ zPQei}3UHuvuB8l(Q5`)jKW?b2AQ}aDGi+!Z$xzKvnPLhC<2cjVWAH6-CVSTfcO6qk zpD5RIjE3yF_~+Y&Fld_IqG6QCT`$GB0znW4)FLzRIK`jp&@XSOpsGsWN9G<DzCRsY z7L^fruNN7Lype2aqF#@mog(u(ZyH=Qj6$0<Jx(om1GJIg_=<!}I3lebxuoP844jwA zgp~(`g%I+@V&T~GC&d>PAU9!(h*?KPI7l-*1|`ET0fSnGz$D$3HXPEAFbBoV+qG|) zk~eg@0xq7=X{b-Bq5G+nWtoh<yAh=Zk7*{T-lDLWvPQJ9vWErm*|2?LS(t{J8t71w z-xajxhvGICiHy_PaI*DG&gZZ`1m{U1e0l-t<h3^O!YlR<W>r4LoXpOisRgPii&#?n zWIUA==pHhsstQev3jobSA8BZmL?p2Uq9{-H48#m$L4+z@RA_;kQ6s;_7Lc1tD4awf zgHk^{d{jeYOE4x-La=ZdYyj>|M4)h}eBubvHYOfc0cvWH6!weHV6dIqPb~!0acdK% zPSSvM3cxoVd$H7TQ^Ye-tqQa?Vg9Di{tY7bW;)<`BE@ph5j@+61x80o9{_Kwv(Yr0 zw$~9=W&;2jpw`4F;dmFNRtOS07z`;z{yQ#yDT)q3FgQ^^<3wrm+|A&3t^c+QAU;IT zJu$56Cj8rq6T?By{%zqdn?2TszYJEh8sK;=o4+~%Rg`P6QP`KE!2>;Kcm1`q7emx( zxz?hQk&w)gvQALrHsr8uMzg_DsLORkKZA4#)6Uv_0R_OP$Z>1$%st~_Rj46J2oc3@ zr@tI;w-!2!p4?!MFAOsoGfMF82mzo4NEv&oPC=&{_#7Y`fldoj(s%Z{mO3rhqS}($ z=l{olY*T(q57PWkdSGvWl?S$mY_vWpKe7B(pVQXMao}j1yjs7(O<yk0DKA%_Ro6D< zIB9LuU%)oL(9XunqP72T+DUENyV=x}+?4ZZZ@8U!K4Lus+X$DXbp~+`1<8?UioH1U z0+<s61G56Q631AL=J-PxBtW2tW2ttoFC3dgbyG1GLmqiFabRqMh_YBMrOd)K@@Jgw z!?tKFV#uggF{$*=<cuW3MCUATuuajY$}tP}6KdfcI+cuQ*ASafaW|G+CShW}J72-s z5|Tej*KzqR|5N|3;F_|@6uT>r?hmQ|G?!Gb`b|52cXQ@Pv*O-LDz-6ja0Xt}U`@5V z$7)=8-TDHYO||fiwg={uvQ2+Z+i8kzw&%LV;)x>DUI|SHTzs682512%6rEb64>3i^ z1)I}2cCHA%ve3&A5glZ&j3QNnQG_;Z2O?YS%6gG5T<u(Ug~(cr&sqiuDgFM;JZzYU z5bhgE;0bpbXiO=T+KCF|=Ymi!qa;2y9yOw4RJht9u}cdhCXv+8Fh*DAIP>1NK|65M zuJdw<!^N-7;pL0Hxte?xmwJ1-$eUlP9&3Xhc4N((ZmO5e&)T@xtPZjsaHH;_t@%>3 z4XpJ8YTaVWv3vo~X2b8xsy$X)&c<)`1K6~OXghK1&&jVSf%BeQZOr*e?f5x*2KA<* z>})^;Lw5y9_NKoDB3;ghZR$o;`R#-TJJzz1{-6_wsUY4dK<t@DT_AsRu|I*a&S$1| zT2RPEw9x5e`-4e8#yUi?Uew-X533;0$+V<OY`iFk)OPpKrl!WXit85%D^Fva-G<T< zT*b{vku?;f%brkc-lw%?R_v$Pg%*#sDTk|8QG8fFigp949#%KtKugBao|%7Cf4?zz z^W{}Go9-{G!`0@GOSIigty!DDueuG@1KOr;2AjI?v}3muxBk}CPr_)$mIsG}9U`JW zg@tAGVAWXGXE^p4RDowPXhr&(jvjUdPerJc`yIntng*y-f3uMcRwPiwkC1_pfoKLc zeunwq3Hy+@QMukX4vUcVo>B%O5kAX(a~Y*P7{oQ?wHCW=(0Pg)XwcBHAUfvqM=HpZ zTHJeyNUNh!ZMk5*_;u6#R|^`mA=OV!d)C=}UwLAE!lv3vcUaZ2Zoq3+hgiNEtsZWp zHKeV6ed8%-ORvj4&7pQ@XzhKJRJHwGx0`yN<$(26S~O8kzrB8SxaFOcSCFX7V>08M zvS(;Lsp?C-RHS>XfuY1l7<2-s;>NFn?<=is)uHJztAu*=1#M>DS(tph<CF}i^TPOI z?2H<c3PBvv>vGR|SW?ameIp&%9fsKnh#EAGSwMGPxm{cNPGNe`9D?nzHGr6@M<QlC zfyM(qLd^R4+k5rt%r{FTFPmD2X*Or>ull819ZoIbR1XV|ZbR1IgUjkIYn)x|qI%ex zGL{ImeCsuJHV9Okmvsk@iMI7))D%^_ZC8`5Yi2EAsHfOoqwiA9s9Q2n&A!JBW}H(3 zHY<>r07ijmvyJ&5v6kaoGsCep464%1jMAJ(K%$ILoxrY0rf<QGQ%Y<DZh9hKAsYQ# zzwQU<rg{8l0d9OYheZm&t^|wdZ{lDej^@DOMJk?w7T;Vzi_5r>G)x9MB;p$LSMqrO z>mKU<Hhv`pKF#02>!kJOBEG~}S2u`S1=3cB*|@LSbT?;S@ySj!C%-KZY<1XLr|Q9F z%ZIgx)9t^WPHGK)%K_a9)-!2!>hhx1fqRs_X+`F~r?ke6^)R__I-5;@OKn%`T^*}? zN{fR1spg*s@cP);#RO<vQ01U20xlEdaW9K^3~DB(p}%cINNK}JYcCM%B!>+uU6EPQ zBG1IYfd|T{OjRSKX*+<!&C|F3Yq=<&WB!Mv8W2|lvnzAghOnoHE+*&%vAu>R2&2Nb z!l!DC?^N8Ni=yhbs5u%?S^$N+p^8O*rRA+#mR~kG%Ye~6Y%Bh39`9N@yZpGnzrWiw z%h~AiNA-94<Z9qtbKsj#&3!F@T;JdSTwP?k`}${txVzeEdbOKJI$(E#%P&{?OsfC9 zxxfEVGu!m{%?I-eb@z#-I@HY0!}My5>CJuYr)Zn>=DZB14<BnPuG(E|KGge9<s<Oq zG%6Agzv##p88|1fvt!6AGmyY(v`G5OgR^Bv*k=rk@n=yN%i?G|j3P{?t>)x`Miax_ z$mPDPlKJuF`K-2%L4`{ZC*}=K3OFpH#Yn@};`E!v*-#CX?j|$M9N=!k-gDA+-zI@p z-~hJp_KEs5Nk3O5WXGbC22&M1-?TnzzQFJQnhp4nEo-@^Kepg<SzP|8J~KPSS|lnt zpI+Z*%e%TuPfP|2>Fo7~=Ez!EsD{rsX+!8P+nV1?HkR&Mo_m!yiN#>=-7%)u>H#tr z$Tr=9mPg!_9Y>3|eE2!vf5`7Py}9m#b$R0ov9k7tls>d~BBOH)BPd*L)G6pnnd{9% zUlOj+Fj9v|yHLzQFK!apID}~E8Ix)<lIR<&7;?N2I>-Tn5eXC2b&|WT9*Dy#Oc_Es z`#DZ0j#YXz-9D9}gcQ)G^C3Ti|5E=8fk(iHg*=cj2BTq^^R)f4810S)#RqSWbAicV z)Apn?w1}oTY;kS(e@$2Z_2PV%zaAg&KlVQDa!r41sb~H&Ti{$ux7YXC(Jh`e*~#N# z8@)ce7_4Dt+^R#HWR=C@$^pBDC+EA|wfsotvRLoq!@axA<+VKGwVs*w0#rMt<^1v+ z>5=ntFx%u^Vp+>?&V&E^|J`_3OKWw@ik0UB-~_G()guiT0@@tWbdA24C%6R$_5sF5 z)y1wKYSJZOP>mCjP9}ZQk&8zoVTMVR(~0o{X15cNqXs>PD9||aBMa)hf2$8`0u`<f z1~f)thlwl7ofY6ufymztipVRC=n-s2P(y;J7ziDAnyhv|P&IhA5lDp>gS8-rg;3<^ zVQa+s@KLixB*(PenLKRABP<tq?bu`#nYTx>v;2_ny3aPTk>t!uI=kGPJgnEQY}2jl z=EGg}iM0>gIxx#W_jlD?(jnyHzISUjiy1;q$*gsCda<_`i#87*S`?qd-cQ9{r(I%` z-dwFUS=p(eBwjy|yc7Lgw;2h7mt)38Gc0phv&I1tjmUKcnE}crgW<`9AVe7`2@0<| zKwEhPTx6InvwkWnLytC`?WB?eEC{3;sEnb&rpK8ov1)8g(p#>3nzE=b?VwyM3QD)w zPzkeHIR6^^S4fS}Q(Z@jCx4kDTuF-NdRYGd>hY6Z-7R<BJRb6@ynnn)&sy$S?D}xL zJ;<x1d#-t1uI_YsM)`XmJ#6co*1~LZOgSdxsL?%a%8@q?tMD%E{m<pM?93XLDS240 zKK1hR^32w%EeC{FXfmix^{{0NsdktilszoGuGg`(0h4NsT=tJv?2?)g-<1MX3LmUx zz}dt09&$rUrPru&1kWsLAadd;)r3^(L_(;Fglp8p4H(?cEsGEdh$jiWV}Mmvpgy(9 z@Ccz4ZJfJf*e^{`+du*?v1}G;7bgT5$aOg)hbK8~18g#nJZcXCKZtUS1FS9<=p``v zm%!5AXl#HPpE1`x<_RMiRx;A%83)ttlP<CG-t@HH?oNvtUoN@r=cKFpcKKzo#8<~u zo!X?7cYmE0PG$XcyZo|vUCn<l2f1q=cKMbUn_jZd&D9|%ub&?7KOM5~%N};~{_*iH zTW|VVa#*R6<mKb1tHbi!;c!?k?wj}bAC^N@4{LVy`1mP%*qh}il%Fq`11&$7Csng= zNT>9SyR^96wLIYRkdL=X5qEz6awd5{xyi?E4ccY-Q+gjahvn(Z%cf(bg3{tlQz^;c z-108$)4THKa!#J_eM}F!|LgKB?GTI2a**Yv@{@|~kNV;STk1p}ycfqV2Vd>Mev!#7 zdRQ3eX{xiT(=y_as-nnlfM6&SQ8B@`f<mnJo^C)%fWk~1Q&h?jXTSvWIsWrG?3s$G zDq|%~COPcrQ;o&zfvkks;NzS=^Rt?9cgu+9IUnP=D<Asi_>^pPFW03CRqQbdAt%G# z?nGXvpPw}wY$`fk)b;YXeR<qs{>NS24K|xx)JeYa;r{-wrNnceeN%}VukUk3byHSb zQMUxP`JpKpUH;Yd{9IXX9=0B~9iX)|ugarJp*An&cbbm);IDO;Ec3n=bCZY7=Xd|1 z9`9r8%A}NgIq&3-KjhcTclTUeZ~QFMNzt1t&rOfI&xf|QspR#a^N*U1Lz}~tIGQ4B z2@wYjDoo0`7L(^j0_TC4$>%Y_ae>E=DjnAQopIV1_5%-mWwysil-;pV)Ap%N)+vUf z*&soS62#Buu!_VT#L)|Lm4>ifC>R(tS~zm=Loi~fwr-&v&Wv#uDTIP3IfN&t?O$>n zn+<mHu&D~Q_|n_O{&xGD#bEXI_RHqD80cxYU)Gif-frZ&JW!8|L7%oeJ1v&{dinox zySVCI(PT|__fRk5WU$qq(j{J^#$o_J7xPP*<)(I!m-{dB+TsdJ8TVZ^u$sfxXS4&f z9M#AwYuQ<HmH4u~MtMLr*y3TAyYmx27CZjny{NitSbZD$&s6PR7B<Do(?)Y$-cx&X zT5@uFa~~U&vHbl3>)k`6j+&}Q<aw&$OD8z2#<>=rO$J(9c1(T1&Acudd`VPrFadS$ zpb&|DTBoeR+E^DjhRYj=?zlb^xX^(~gYk)~h|>k6&^Zqq2W`;PA#D&5!NrETFe8|a z7&PYN(V?o|i}q&1KvO5w^Xw=&)Gz4+J}x2g;$gFcyj%?SV*9!DTg$>zt`47eDTq$b zviiWEa>YuQCoK2ncF(e&Kjmy#A2#n&=XAM<|JSm4+?B#=@vuv>T(0T6n__px!)6Qm zxY(GMyfR<sKbLN4^02n~aJSfSGT5J&N8UA@emamo+-)|s{$t(4E)MOlo6`I(ZJkXm zUTH~NAMWHPyU-8$cx7;Baqk~2|M_tL;qK<=@@Gy-^V!xnw<!s6e$j%NC?58cX(~-E z)_Rj|vpCu1l<n$+<yc`;(UVw2!Ak3S4-3cyBi>*mE`1Adq)ur%N&N(wTCfpMa0^97 zMf8#c!V2u^HZ)?X25RG2tA+70rtuLVL^tFFR04Tn9ekF<Mo<^?Ve@2b7>%cf8;ODs zL?Be&4s0Uc_(6Ize5+>hqtgnUXdd=*`zE>D+a&^CJn!{ls3|;73%NWcr4M@z4@`zC z?Pn@IeU#e$T(0=PF1{^a%_)>jm+M`r8KurgzNJEMHrk&zH9X8IXL3Rh_tuh3%O;ZY zz2afZA+r5nXWzUj&78m1{!Fu-?qT1xN9twiEajrprgV);2%HV};}Yn8)H+>zu{_~& ziRF{kE-!wuyy8u2t8Ok!fM4ER-bK<gYKK>A4qMNCvGP<?ZY`&G*{`SGPI}U&q_7&O z13=}_Sxd}jDHOqRhz7y)K{Jiy8c0*2piy9vO4mjTDgq34;_+BjZjREB_I&79MWy#Z zi3m#b12u?qe|BCliM%TPvpeHqjclL#DTAg9^G#S7g-|^M(B<LC0P`B8M~FI0J4X@l zA1_x^O+8BvdznCodRh#2ai-a`Za*&<*zt`Vw_l3EzDb_c@&o0R4K@FKyZy4qi>LXV z?2UBsuvR>5Nl`y$J2@OuaGCPNhYzKwE2X}gto$K)Sj%PHe3aZ%DIRunb$GwnOKQU` z2KN3j-9Dw4tLbO<umzl)J#0GsCihMk8@sDEX5GVTK9isG=`D76laKd!cim1uN5J{{ zH;aeODQs=KmKeC~A~*LHLzTjZ<(v<PWSu32-#pfHTx_=v#upD;f&d~z#7;f(RRYk) z0v6u2_6E#3!jUA9(GSp7VO>C=oQa+r<$$oYuh`-phi84XwL=D?tb#BfoMEkXP`VlA zq?n4=zR`!p7#uSHQKq>OVroQyQu7$o{;1h%6p|o^9pJ*T`mJG*xu46`DOGnDgSG5o zQ%g46q2^FH*OC$z>h<D@KULtwb+PQ_fxGNk(-RVA>WjbVrT~s?Q<GLN)>QYnSY564 zB*&N=oB8ZYRQYqkI2A9I;?JK;5470E`;r)@`!4T4mXg%{T@Sd6G1c*(?CX=AWDl4; z?529y>cF$htW~9SzJDzlZu(hVyJZh)^<FE9@20&uwYi5a33YoX<&gI!dd|(F>|r-L zNas4G6{3m=<A+_qR$+<EDAe31q>>G_Wrh?6>LNukFq|OhimEmW8WGwKbjfU(afu$5 zM?%$|pOKsh5OFX*5R2~4>G+(sPN3K5(-MjT^07_M-@rK9C!;J=&n4^(XGo|;2y-VQ z{mdz)sLjJB(BY{@xL~l0Yt2PtSv;&|51SuY3^qL>2iLa{hgFAqpM9cx*w(7lT1qPM zadLqbe3Cuv|87c)RNceoc5e2trF!+()Q3$S7BJXK8&N!LB}~fJ^Yg|%td<;Bn}=-` z-rR>>e5f0&mZZ6yT>dk8*zEu9dgftkyx*$C$zcCC*{-_5HY{|;GqyrD5li<nP*+tH zm?kA2OuPcRT}1S~S%g~51s%!5C{a}seWwZY^mcG;Cz3V^j1Ap}nt%3SLU}G|=p{+e zK$I|#hy&mu75FyNNeNf4FbONdB9caOdW01<NBt{^)kO;JfltDtDvd=4q6i{F-F&;r z2CF59eJT#Kg~XTJ+rx58(24iQ?M}$UR)f{_1d-+b#XolsyU`2wuoXB_3aKe;ygw{C zUBMEUP_dSmvz2ea!&)smRS$b{|MT5dHrSMtek=*&Ro)H??7nzd>mD|noqJg8@ZaJr zukJtGZE{GQ_KLr@EIC(@yN4|XpFM1j&)b_*%wcQ1uc;Gt$S0JN-tta1r9Rc5S*1Z0 zhK~sqAQR{<p<ii4PKW6#8Y0DU*g=0djK$FeI?etC>m6lo6~|`<`5<WoR);BcEcf;q zFbv9R*pL*&1SO#i1n0jot;3w{%-G7zS;!=Vpfr-nG?_4Cvh`22<>HrZlNls<&gLJB zpR`N#u#4eZD>{`s+B@5%3UJP0uUih=icP0dk;)jy_Nmp1tb15%Ic!BEmL{fV6G<U) z8&TZ!yPAj90xjAU4_iI=|7K&pX$IR|XafuviWrj)CA{e#cGKX$<?xn|QFGYr61`?r za@Y^8#GO5CK9IFHmzun-O6>8zmUnR1-()k`4{i3=J*??e`7j6<M7?Z-S#Z$P9TZm? zr)oG`69Y2~kr&i;hJ+b4EET6)r&{*IX+aTH$I%@$e$*1>ZcYSoDR)v-eiNsYF>^j; z=+K|);Ccd!(gc8_LLtr_lNtc2<2rQB(TBzoP_UI~a-nae+U4i$ICD`rwRNtO2R+qx zjvV%SSZwjNd)QaGdR*E$xk`1F4Se6urv!-~6+LYBO4dAV&h>K9Dcgj5*i9=sb*srW z+?=0g4||<6(!b`M^QPBiQ~jw<ju#Kx%Fd~{e4pKW@vv4sY?&=+<)WIy-ee!@8$k82 zrNpiI-csvsZ?5);qK8cntVO3(v}(*XrSzRZ6fuX@SsMoGoMQ%MT$(f}2S)>h{)`5O zP|&{`dMc=w4ruq_VF~2O(|<5|z^4`ZxjN+3DC!a9Sq(QF^J=%axDLlA_RVP>#aSt% zk#zzjg=+W^bUfo>J6{Ad<5&PP8%lM+Oil}~w>!&@Q46?fFUQ43PX#!!c+m`uNGPT^ z*+7#wE#q~IbKUK;RW}ct`mz~Naofc4tn@bB!`e;vus_!cp8I?Cw$7%3kaPR<9z3j8 z3~@H>Y-QKk!`{`jcvAp_%Rz4L+{0>f**W2SXdbqBx-u|OF-v!wa;_g+TwMZ$+Q-Qy z?D}s0x0IaQpEZXyE8A1?us>H1n{(LGx2l9RrE+!Hl=4}x5_f-vH1|Q>N`3owx4^(+ z#J`!&BIkkRB%*LhyVqhVY$Qi9aP4ysi)B|MPlM<}7Q#^4kTf=XZJ1yS6&%$t%JLki zQ+HyW$3}xJh)K|0QqggMhovHUI<mt;i3rM+xny|c&_)x^0N~x>VVmr4`{iMa(8Obb zChGNe_dX$=j@wV~6N>4${dHfEPP@nSgjOX!ZNI#4NGB;wFLHnXDZ_mZhx?xs&i3a1 zL&n`Mm-6GM<yt;G<f7C4r+0a5)IIEC3Hh$8!@K(o`hB?n^r=k1<$lYj_qph_9O3@H z5wU4{xvRxS%9C=PxEwIq-iP-Y+H`oI5WmUgeySrjA088IV>y$b>+$Z|EWzcH+GbqF zLz%n1zt68)?618!D{t;#wmkfO_TK5ur3C$5HrVv$er~jH>Gkg3e@Fo2hm4Na2wT#T z<-jEB9g{l~qHbUftpRNurg}^VGIA0cg#cVbT#9(d$Uvh?utaX-Mm;`KAW{H#K_(ix z#t1_ZwM<zV_L+Iu8PX}LBU*qcGL*$s<{nmO(~&xCmMT1=j%BW1PBWxkziIZFpu+#N zO$dq#{!f<s>*7JLGG<r{X83c)4ks*e!w&a8>~$?Br^hz7!ivvpAmR+nOWw%d-Dgly zy6L9l1iOc=hO1|}>(rHqS8xBu<%zs6)(@w=r!`w=~CgFjx^`f~myw@ve(y-HkB z%@s6Q+D^^Gmh=5z%dzk#fDcp9TydA>&GjmAeFK$wwZWEa(RkBySP7$JBP)atizDNx zxq>%a1)?LSIvi7UKO~~YzEy_3fB+ky`xCl5M&JVs$4v%eGh;IW5w-xO6rfKT5G8~% zI_qH-qi-7&tW*_gVIhef(tZAwxCYv1f>kl0k#rzK*3oW}oh$#9a1%>dY{^g$31xWs z;UD`H*2=qIzvNQzP2rHyQ|a1VF7EcGz@V0OmABQy%0qsfp1Oz4m*>yRMSNKeBIEym zuHNcHUd~nG$ASoM6ig*yyk9aud+0dhhx{YsdhgOdKj$j(LxJ!&j-}<#4;5mZv*hk! z(`!98^l?frH6N#J4arsCe@I2Ae7rUuU#1n(Vcvb%RQ8t-C37y*faT3KgH5%o68`5m zms(HnlfgdLw_L{pZ_1uf4OTVMbsAX|$iod2&Mdpe__v<fvC_Ob_CjNcn0E$opny++ zh4PRNdQC7nt6drg`O+i^R)&U7)t!hehEya5Ej1xdIhzPjKUXD=gWn?OQ1=j*S|}2a z<5fcu4MjX!y23r*kzg30EP!Y!cU&DlmB$|ZvM5F0f^?E4e9MW`CQZp==l$x+haxl| z2`D42m2U2THbZ@xM)tH^!dIW}Hd*=R>Qi}0EiaeHrP7k37EL8fOTWE8Y%H7h`#asV zL74RC!Rh=fbV?dsM6cp*#D#Fmgsj~h>WJ<8yE?m`J>qhLT?3@-35x;eG}`)`14$iM z&PiabPqhYh^{KU9bJ~3M>7ezEnf4r((P=v4QcwzGNvq3MTYy=Jx~mb`p!2~pBN2N7 zPsBC`f!<BRSPy`kp{FxQYp{wgSfpVEi)T%dxHVXf24;)rtHg-;H4AAef<hIC06GDp zy1E}LxHFHPArk~^5<6o$3S`3ggtpHXzm%SRmjk7mlIEh*Q<-d!!AAJX9aW+cT%9lV ztAx943O1WgdEc4EyOIZbSZi>?rkt~BgXEQ1v~qE8oYSo9bF^b=Q<`e_-hfcudMYK8 zfzU@2(Qvwne&B48sSZ_A*!Jc&evWEgx2N@Px*%3%JFd*eo%SDtCmLc7DlugiW#rdq z)-y!ef>HDmB}zLWL!WZjUO_LD_XRR7xRj&Hk3vUO8I@=>52#FRhFA;mpmF9F^(GXj zb)Z`!-{d8pKr~<{vRJ&0s>NJV2t@7T*iQV4Y(kAQP>7g@=C(#3Pf=5<FFh=|>gD#< zUL9MTMwHY;u>lOKeOQyvm+JK=pMKf6V%5g|rF8}tLl1lNa~|Mn4IA*v8-LQqJ#Ia8 zr($VV){<iVaCde8p}G3T+Eyu<TDS^a<ed=44Qt6^5Bc33?#j!SH`juI&J^yX$J(V0 zR7nN_^n~h0PorJRG7tm#${=(u7HYI+I>LTLr(>y+r{8Bu%~Pk^5+2(aib~q1fwW0_ zE*L#*@PGom7RFl-@&sF8jS*6njXAnKUnN!=dsnDb_u4Voof4T{)IEkeIl_kHT!UcG zsSO!2(n|rM2&LqnFBmESr`zi~kDif;sp6{=y450sRGN;Yr<($l$cdW!$<F+*P2<fP zTX-ReD1ol#toNgVYwo<ns-1qtI*)3zE%4UWeN_+J%TxVKDwS~)CNMXxYFXB`3o09N zt`}Jkddr*Z`aG585o84#zkla9cRDx_-Sf(8ATV<%AZb9x%!--JB#@#~KIhc8VThD0 z-0_gkWfCTJNmxV~$&442VwMI#10@Ka2GUP5HyxvR^|NGE6Qz0_G1q*{!ww408r-|+ zSPizJejr%2GE#gNp5dTZMTrs=fB+7R+1!6YgC#@#qNPfl3|F{%J`l3PG$GAVmMHW- zPpd(w+DOHj$-8<)X({Ywv5iKgWGFc0(lqMfvGurBZG-Nss{Ewm-5Gi8mQ^;^x9(v< zsY6{&r_8Z`?D1`VbDm{u*V%El|4rWp%$0!5P>z<d;8h1>?3F6At0;w|=z2^e_zkK0 zkVRMqtRsoP`|P-npikNu9()=xHedn9FwBJ!KpR-+`k;^ZCLI-ll~o;5evyH2)W=lM zREe>53Y`<&>L9gb!DxsXu+3$((-?|=QEv>n!a?#^JZ&IRG{lLSL32(M3EShR{Bk#s zkNaM26xJz1NkN#Ihfl0n=i$@G4QQ`67t>r}qxo&Ya-P=7Mss!e)D$tatJ1g_q_)sl zyTY7;?gzN9GB;%U{{3Bd?p;W$$I~|Pu-y;0zx43_t}AD?H`g>~H;O_$=BL^CUK`zV zm+4XMv{Tq0wGp5&QXVkUckW?<nH!20QAL&KOPS4x6<Rqe@8|@JY@5~rd_D_6@i4}I zO1Kdbm}b$TjwC!VtP(lNLATBnLiTU=VFyi}keF%|K*G`&b!0t?M<}&XIO-yR!lM*O z2*M%+<fDyy#Y*FdBa@~n5cbhLBLX<OQ+4IJPDj{;r5cC7HpPqHhiwI*=8@DR;qJO@ z(>0}<E>5?mrktaN`=ZNPv9jc*1+%tsd98l7+N@7E9?>_sNH_Gh&?QGY9i%}H+sIQP z-ma#tk)K2*02C13r%GX@@>c^MmN@kxg0yh;8w2ndKBpYw!gj9+dI#*!gux!c7#KNf z<iru0^XYTJ7C6#*!rKUdAF6NN-#>$NQW_$jbV(y?EX@1&Y?oLfR7Ued6u3BnI8vR$ z1Z5wbB(WvM97T~TUWhPtI*f%y2eH7%S$Ehj9|hN{b-Bh((_C&MubWK`_gZY)<*sVn zOZtsX+{Qe?Z4~?J$z;C#Tj&jnkzIAJiR?9!<oe2O(=ZR&TkW?hN;ff)=7bG|t6P(4 z<2kHtNHZ2blja6o<VJ(uc+gkli+qezxvT*@xR0vAAecC-n21Jhhp6WaWn7)JKed57 z^)X)4iHF4?7bd{5a)zbpxW|Mm5`_68Lb6=<^J$&H4H0ozp<Nt`NI@gRjD2XA>(fCT z%iNq5RaKNp<&5hFSd1XIj+-^>g)xc^CL7u=qX6^h63*@?H%(u%+mw1@+HvsB3c7lE zSEXr{8*7bMKMW|-H4m6rQ45oJ*Lrue>>_s%{I=?omxf&8QoRP;1W1gNYuGB9MiyxE zY?_dzXWMnUPDhcVpf_%zJvY>8h%Yx{6VTc%3ISk8ANwR>5&_g-2~&szrC8@Qs1YNn z3Zf8soY0F~23-t8WtzZ))IXs?RoQv<t-a&9hvnHC;NdZxCV(y%VKX#3RieC;p*Y($ zBOy5TYJtWQmU0c+(<7xJJe9%2QkpUEJB56syj<6y>O{ZIVVb#X^t#Tb6(=^}hB4?w zg-ME;H(r137TY51ylsIK-*nVM<!b3-k{j4fdLats?X=6^Sy%DtQG)g2mv@;q=D~Om zyX#A|)$T@!_1%oHhM;1BUdD!5S<Yc4^gM|a8{l#Zd6n|G>nyZV7MvJzz@D{I(v0;M zNV63xTofZXiugBpSdU<Zf(mPYoZ}^)&DhuoI_Pk%iHBw4CYWCADJIv&fS-Aw+cO$n zpPUqOeqa??;d+RK1jej3kO0U;A^Z2;rk~+IeVg!3zPMWxJ;$$O<SK)*k>cQ*YrvxO z(Eu<9StcbnHXH2<od6E4C|onRHmTj?L*M3g;^1&x-`QNiif9tM#S#w&?h`>O(~H6+ zGu_caY_N)8CYQ4h^*VF%Dd8&dphZy2ywPMr=Skv-oec>$o0bI~TJ`i*ILHF5CsDZz z=eiQh#7^ao10NVk@LW9=%Bffm8Wsu{5-`s5#F$vm3ZOt@$kh!6KfnM&TxvYfq;Lr9 zm_H3Ivp#br%ma;@5;22Rx?f-}RUKQXlwnGga#0ER1J2&!*eDaN^*OT6pd?JJU{EEA zW#Z^zZH9<wbx`xETKe3@>0}J|kG{D8G*@ECVSLd=9HSyKQhoz3vB-dQ4p#x8ij`U0 zxoyn(1Ihl$ggy^Fd31Tk#X3lgU6$Lx`;T#l1sMs#KN(SI@)R%wntfL>lYr`0oLuhN zxey$@6ZBFg&wA?KZ5R$Dj0)uuwf0?`5Q82b!uw|Zyzxj4`3bLHC6To4I2Zvr8bTvV zz^J{V=#q@7D9kr<Zvrx*gnu)j$zgy+=jLqK)`j2=G|6pL!?g(fcrIuFVYf~xE)*kl z_X+|xL7`oOekR1>=&RHHb~iyfIS-`?`Rb6Gn3AJ6^MaBD9HfT6kaBQg#Er#U91tu6 z(9%evBnb6PKG}92D#I6`BZ%Cw=n)SByg?dE(1Oz_#J8@3v<k=u3atetu!?Em4`~Mi zM)_}eSfb7}A+|}QI^C#?A#z5wX~4J-Q(>rw6+#`tm08$~N#yvs95xh!Fr5*cm%(6t zEKaKuWw6BnAHcjlMiicKHNp%iZO*=TqN@*aFp|u9o5TqE+^aj~=M?E=!<EYs?UW}` zxCkqKn2C`~NP~*i9jcbcu?!BW#~L)p`Mn?pX$Ax@EC3@wcjqZ~2=05N#UqkR*P(L9 zodGvGLbJ$AaVgK=lLmDaq@7cV1O0TBn9(K@MmjBkhHN6<irA9Qs7I<Zs+1{djExL{ zcEmV{3gJcoJdF(XJcI*9%Fb@46xh&!CgA}3W{W6D1=y<rVWY{|L^hGA*w|wPs4YR3 z2UT9wmtrPIrZ@z@PwZ0Vv!71upxmb7q=KV1{VHxbn+CmV!z?TYCtU`GDK_E(NPvI} z+!_Z#WX943lLm1vN9QvRG+{C*WeW5K0zW%^YUtZE5U$%8zR0jWG42^qTs#&oKwd;1 z)+w+slC$BxwW|Od=2-8upkv1KGy@L-1AyW%oTu)F@E65Kx*;12vGj!?60deunsT#v zI!YvG%A+_MU;&t~1bt~3RrB5qA`Q$#bs^eC^0><7nh>e<fK~~0-@lg4+{5}?CF-kT zqxa3<LP3eita!Vc3^N4}OFO3kr=AzMBhw}1tEQw_Ks|C#&Xh75g%UP5`1=&ZfT^)A z2p#3Q>B43F%g9@$0M5}!kq{@8*qtiToP<zOduRe4&4A2@^LiG9F;?vsWbY;%X}{=* z1QFAfagNn+ch*=lF`<@?jR?l}G4>hp*o<vg0LbTHeaaDckXq#T0DT*XhH1K8hdh9( zDS8&{#Ku4y5j35N15H(_wjqq2C~xa-?qP?-5Z<sbz@+Bd7Ai`S1~%#f_OM2wIOUYH zg1XZhYrb4;P-QU|4_O_i5w$;5pKqg(uyp7P^tjcaZ*D!vpb=ufUa3^$9dt-|j4Grp z==1$HP{rGT6>aG=mZRei8<NN%+iSShdXbFd?%1ob5qdv0Hr`;^)iv;1AYG#NITc{x z-C3k+kWlz)p*Ck1A`)n_$MA|O_r02jd4N(Ko1zh#Nl}TT-=-QEmob>u07+_}_SC}$ zZFCr`!)BAa3EDo9kY8jdJP;W`l##`4)?y!0xxj5<SO+d=(j{|t$sPbgxD5OPnBTz0 zZLFT)7md;m87Q;4hAm_g{d+V&ahfI6D2&X#?bwDfnCMVeZ}aMp0%di(bcx=NIkVJz zQ5v-ddx?RlgUn_W-NfF&MNvhPrchuPY@u^BhkT5RwKwlzs`t<=UL-(vrXh?mOi`3p zMaJ-6Bv$GH@9Y7Mk#2<!R|c4cgbxAbZ|VhWvpy^h5ri_UAr*~si%=<U_6}17vKU6G zMw_SOJPg>=2Xq?7SV)vNkluEw1MTI3*z%jO_|dFY2!u@o-m)Fl>-EajZUUr%v*C)N z3>u~&a{<%9Li7LZVU-&RcrlyILX;K<M$XPKWf7w-nVg1&)?FM38O5*oYVDt$#pV#U zzLkp6j6v$e*b*9jjJubyPef8ShV(;m4jl}`6vy5mqmAWk6^hrG|1ApRcpb(x3T)0j z?3KpHaLL9590K9Qgc?&e^{@!=FbEjJtbj=5>ac+>*5YKY1~3(*1Qu9n6+i;iKk5Y~ z2XHGRp$M-GvkKlcW%gO#N>pPH8=A(9mJ`%32^z<W4$M5aL<wRj$r^5qIEco{7k!or z>Q#8=*p_BRv?!jz?~XtT<!n)UGIIF_T5zK)3%m)7YlR~0Fl%5c8j5QwEM)_Z*c@^n zt~YK#>14bHO9hzJ*-Rb)scoQz6G8Fm#|-I&JA9u+gAo`iYAB#L`qgd|&oZDSI?%@; z%S0JI7|WG0S!-Dz6hYz@=##iWSrX?Dr!`{}f`0ROrwPfSAVIVfzv?KxX5f=L(X&qQ zkH)<*Gn)ut6D)H;XrlZeCA_G-CM4ouf$0*+HxzjzMo5l@eoVyN8l&uNY?K?P(>PWt zE^clzz-g#^A;!%JnA;&nLuI@jOW6?XxuP0Ym@{XH0J3f?wbp@HFzk~9%VUq!f#!ww zo+*}i!>EVQ>+nXgL9k%3EzH#numS@CrFFQQ2H1Y6Sl}3k$^_~_X`Nz9U?w_BvUF#L z9YllXxKzdvg#=9^M%tkFh7-HPK6*B2*ZBG>QB8&b491ls1EcD@61Jx&dKZBY+rvIa z3aJq03z+!mcgQp~lDu$BOG7DRpj``yjlq2?XcVgs{jae+uPk0Az%m8#kWQk=9)KIB z<2qJ`Lo?h<D<l)79BI+;S#PY2@CF^=ir?_C7Rq0(C5Wt)*xI2^D0Y~z1*hJmwFs@K z?@X!QW9S5pFCMNR1e~y<_@)_3m?_urOk$tPxl}pQC!!qd(I<2e4JQMI`Lwa1X`&O) zNQ}6Ip1@%%I28x-Sw!f1I%We)g5l{Jz`$&h=@=7Jhb@G@5}oQyfoL(+nao>4Ld9V7 zRx;s883BrB0MoHDV7N4px*&>O5zc2$u>@BErFa%Y3H-Q+TvAC8-9p960`p+yw@~)v z_+t*7umMZVXnvYj=#2!3z!f{M6vnU`Ppsgc^{@`3A*8Ylm`|q*A;|)jIp3aPuTY_k z=oTB~O>1}BFtf5)tu$dI?9?(j$W|^<v#Sg6y1|c;5E@uJN}n+(f(NN)`hr7`WrV$% z4%!uS56g{e)fp8MbnCrE737DFKMaz@q7)Ml&m=0V5;{&ct;l&8sk6KjJuEkMyTuc_ z#;J=Pw8WVn6PihgpgJO8f+fBpk}M$wu0Y$1T7f<sOk>N`6~a&pV+NI>jt%vgVDctm zTUV+v3^-wD8^^I}2ZT(d0e#pStHdfO4`fdD=hE6hX%zNN+RzP9sAufhSfq*27mmK{ z6JJf~FH$NfR&GO+6d69$$+rWm0$^zcDHbHuzD-FfnermAbe(i(8_yQ>uN7!XNvVeO zRtg)8yMENji3&~p@%UAa6ibRUnmhs<LkS^Ksc<o&pX=Lzg)%W0Ww9FlZ4YY$0K9Hq zy*Gy<DpCAHMF&+NiKt1+Y9Z!FP~2<~l1H8bl@6s^fN?QSRZv+Jp~vdSXE+!&$R%cd z04S2EgiC4*HbFp^D3*1~v9;(a*L1LfMaezwWED8FRf(las*D(QY=YS#A;>VVEN46{ zxim8>Nd&FN0P--?38*L#oFeW#bp7J!6La^Om)7VZT$wZPJGwE&=q?sT)d%Sf;YKDH zrbX*k-rv}KJY|?+iHE{~#yN2tUxVsoI(AxUe8VuSrHkJJ8^MHxNkwQtw^v-J!(B9O zM>D=)d0boLP874idE8+D5b@j!WQmmnG3XcLmx}It*qJSYG9U*h?hGRWP>E18Awi0` zZ!0C4z=qEV!^qe|cqY|J4y$7m#D>{5ta|7WEIUZt4Df;x_l!7y8=`w2m6Bof+Ei4c z&W=ERB9!@1(;0eQVG<A=odnVs$le0dKqW#F2m+CL_+~k*r)(Ox01ZMt0R<F`92&LR z$4TK9S>mP;_5y`KlgkJkt^%?F%h=r8q6-d~5{a7}XK-vFE3$}l_C%QtW`ZH$Fx<kK zJFie^axolN$9>tUj+8|shAT0WYUqH~;>qa%IM9(1#Gdi6!P7z@Ouc%<UF%>N{QfvA zmC?g?8E|7fJFp;!vbIh>Dht=*5LON#Y$la}qARdni%fbPz?3vx6GU|*(;OCSi%9q> zfkxcV$f)GSnYmd=a{vQj8dwpKC~8y!GLay983?s{YD$e_pB5v4zf5|t`0?OA)8p(e z4-X%V_oiAJ7^jX5K79fD8Y9Wy;N}OcE)cLz{LAQJDY*~r1P#b7Vd}yOF4u$tbL<mG zJhwNTg*%DH(lQewr`j6TSi8~yS~mIsH7MN-$0sZAWTpzaUZD6C1Q^J)+U(!5hK{Oo z#2h;Q$V?QXF&*%m3>4FISYnMAEMr#2Hi2o}X>Fi-3Ofsnig80-QN148R6w)EJc>HG zI+({V)&nRiH~#)nK-_C6CNjcu1lbQJFEOATG(yPwm7;^xjKWqo6Az?NNBN_KN$x0d z<8wD2`~-4fa#sy0#a+s9aZkb1jK(BXAy<KDG*)%EuKNsvaWyp{nbg5gW0grJB)2?c zJ?OSGJ%q}nyFIWHGclr}^TaFGLeo$uZ1}yq=RmJ>^RNK095LD|GUcE&2~B%!SYZWF zLy1TkHcH!yMuDsWt>QZ#=E&48P-gQx?_qJ=F~pt$3a*YOMYJ+XP%uib*`4;f37}(R z0d1IuQHT7f#=$5+Z$(*yDAO7`F{VuM7ka2e^${DEC{1WQ=tv;a5NOhPxDFy~v0`Be zF_B?JT^K#a04RVgP>v95Qd~Dh-S)xgxt<Drelx@1a!6k+&i=tji%!5>6696eWZ<+) z%<XZCyE^??==+gPnVHU%Fhr=tU<Qp$r8JMrvY?HN)bLnSv2c7$N^S6p-mmSm28I-J zUaQg&`yrz}e4IQVH}S9&QmD|>B*Hr`?3&KlxA}txT#o6WuVNGy8o}+9uhL*8-i02t z1x1HhENsBj9y)l~NKfzhvCcwmhQ(@##Y2X~=mi;ekf`|~BT6R7%NgolVk&1cU|>PP zv9YKCsd=Y(7_;qZM?tZr>hPuh*_}r^Y1BoDL16eyu$&z-C<8Gd+%O15CIQ1G5(8D8 zs#tQd4*)V_)afa##)&Ko#b60@uy~C(#EuiAfcCAK#u<!Qqo3+5>OjmhPNw$_(?VIv zXvirx3&syjFt1R8s+c*PZ=&U>Fr2M&&cjL=M`T)tNY<kxUSouBQoln9(`~{HUPJ$= z9VH!HPkZY+=}g)zv@*WlXh28^f;~dRRVMXpbU-HKWxxU_6^W*2r8>MCqSQbM+RStH zi)fJOVezAIF`Y4{3O0ul_9Kj(_*6u(A32lPlSnVsnFXSnm_<qtok1-GIg>c+58Ts1 zvBi7#;gmaWL&?L2JXV7~BE{-G4<Z~Q0$L@u4d@QTNJL`fCdlz-T(cgVl)#hUyWbdQ zqOiFUcAU#!M&wo2qa(_XeA-+H=`>1B=%f*%2wboMmpSpU+{M*a)K?~?9VY2`)E8%| zLOYIzI3`tM*9XxUymAaU4jS;x0+&aX3PVb`4+ESRW%G>*(;~eRR)&>`R1}C3xJ;~* z5-x5Wh)FdI$si40!OS~R&tiXWgp@1s`smPDB%hCSlQ2#h((wTI8p;23nuS7+8VBYT z$HaAh%^Tr_TyCxJK%6OsG2l*YEJ07QCj%k;0Wa#3sa(ajNI8yuhGAyfaCUOS8D&G6 znvhOGs0nZ_WD!U?V3S=z#)()R;G2|8+BwDv2nwmJ<$W8)LS|rp;im6UL{J?|*jO1e zQHi{*fmRmuqq#h2Fzn`RJUaETe1$t>TsN~Y1{=}mRM+Yg;}fM&d@lP*!@!>!Xog}i zkq*uz*50vHVVK2Y=0>GH$^ij;p+m7`MuBQvZzeHA8;YN?9RyV5LU}SF1&wN~$P=xT zWF_?Tm04h;4IsUi1w1oWbd6!$+{o5|{0%f9O2e2)W-`DC;;RK$j)Nd`q!ZzhBA<nc z0~BL)#!Xw8=Lnc3ACn*`C8UHJV1u(ls&L1{>&+%(djX^R$!F!QJ{FM;4fgI<Ol6$c zAb-b9Sl%9X;ys&cx-^Up#wrZ1@zL(iTct$eCqn^g01p8hUL2S=B3By$5vJ5_bwNcF zDk%}onRL23Vfu0&FAq`2Wb=Segys?uC!<53$pUfQn9y5PFbLmE#1#5y6EUdM44#bJ zY3%L<yTG?#N(qXd^ROG0*&HVfg<)l2h8|>pZt)IO-0kjdknGh7O%hJ5^5}sLW4TBr zr01X|FtQ^9kE0nQopfM*5RCALJw-{egLQ1NIp!YG$FK+1xiexvW91kj$-NGY2%rGZ z)qsQ0pju*X6f=z+#g?c=JQh#k3vkhC*mRkFwSF8<ZV^C{f<OT-7|OJbGbRXu=`HLu z2!(Kd41z9U1q0utc4LF#6`;SFj1FL^tsx*+&i^*&JuK6j5$rV<l#HroSRF+ALztc= z(%peFGN7OhSCx^02pjYboZ0e?x{eX`iPA~k#4Ji%Y7{{-9X@np)SbuHln{B3#D|F{ z{hHVlwE)}+fCd95X$lQ|%OA8?al{nyR?2QzWE{kRG>}PPpj#YBO@*Pk5r8<+w;;S9 zImb|%#bPKE6ag|?BVWJZULJI%`SSo3LF&F5c0|~XOq9Q58{MkV5TuP8hX%~(IM&qv zJ~I!?z+<oOjO}BWBbnfcWMFT``g3UKFxJ_0lB4zBg@!_OF%rcJ4JI)Y@LwzD0m}>c z>$b@oHm62VZbYfD?*m;1;6cF-CtkH0Axaj4@m}`~bqx!Fo1y+Nr5ZS;&07O^OlgcX zlyb)o^br3{`p`hrXn;l<w3Is0Gt4gy>_0|<0LlI$N7#h>ma$428-VyBfiktmP8`WI zm|y|RI`Er26)?I39cmq6%%VdHfC`73DG3|NwFS-*)kshxy#K}aD=1TG=yluBc~#Qc zacCg-H3lG<#fmSA8yF6K5JiPj0m1r(?p3$RWSWNV2}P=gBpD{5+@*oi%VD!NrWC`j z2<fI0e-?{t#^C~P=OJ3dY!m`9A)&mvta5K2Y8&v=DD*Lqs7q)xV51bPFkTW@-1~&3 z);SO$vcXyZ#kuW6jnpyW$eT#by9rGgY>nnR;N2Q0!s9*7;|5SK!EiUFVc|l_IB$3J zd00Uz6mjwboeUZ2I5Z-{GQOb(1Q2-PK^1N;;J2(AV`K|5v>G8Wqjw%`0x6!r@NH6L zkh8#Gj@j9B!3-K)wvb600v61eYzTJ<A`}lTU`WFik-FT2H;Bl&va3og{v?#Aq2X>a zM2&{!ZnjFOup;T05jufKi;x4VXBV+&17p=Jt7U_{T&QY^%&N2maR$U9RPP~%3N(HU zxPqRScOr~oC0%ybx1{g}Ri;799O=X(B#<*}q&=Yqyh1caEgS~0yQ)-UN26Z0OAWRh zp4d^QaG<dr2Y_G9e@85_68S9VCHzh!5Co;@C4wzf0L(Kmz7U&QWN0yrVum1GsovdH zWWm)+oa*P&u|jnQGCcAMit&Pm605+_lFs=56&g#S)E-PdC?udzjmS)!!Bm)*97`d9 z5X9=SSGy5z!_%!p<ABn&xINlT))c#-N-}{o8mrjJ7^KDAMobw1>)<v$GY`u(w4oLm zrnCZVV`Tmh+fYwr4XcX^L(@}c<c`n8dDYp5X%@?eW14NsY{f{h!sv9WR!k4Ykvy~= zyrGUq!KR5B3O#F#DP;EY=u?!78i=Y0Gn*(Hq*S&;_&}#@(1?1+q(4Nq7Ep1J;u?+? z^9YMX-Y*I4<O;nB`ntkY0(PY|kgWto?`J)10KXX!Qt2>?&8&c`2zO=_w~~uBL49Y+ zRk^52&>TDOVXsEz5g76e)t;yl8K*WPF=iyAoS^vzr%w2V=?EJV6e<!2ccKEW661-D z0*}@U@H*iewcxBti^fZ06C~_piU{^UOxX;Z8Egq8$4;D-KE)8D_0Yr-4RgZE+%u?) z97Y##I}U(hqvDuF+PdH|b&59+&U$baMq_u142Kpbb;HLMINQvW$H4+liiYVerm)KO zWsH#B?~K_2VB1uuY(6p(gb!QaJcs3JeHoFnlvxeE8Af6=^|XSQ41v1wDAnj+!NANy z$#Mv4@Y+^AgC&j^p~*nnqB`cVacTwHZm}5}qy+~SPz&r!R3PFhOhN(=%r6Mzvv|!A z4BSLWMcRff)lhE2VoM2exWh<JB)Tz5{um-`W0u(y6oakS2I3lSm5IjdefYQp*?F;P zI|aXqkRq`|;y4#n?Bkk@5<EU*K;ak5ZNg`(5hIP#PtWJD7zFv$ml<6MfnP5WnVW<n zxY-Q$F(MbSfek9xI_0Dr2Sb&JgB0Ps&KweGc}SdhLaa-GO8OQ9tbbA^pj3bKutqQ7 z%oQ|I%EEU-!_YJ&HS*_8P%WKiv8V4wdxT+UEo>G_`ZY#01O_t@A(AsW#}G+5!&qJ& zLbAxu2z$PN*Q!xB+05IU8YsRc_CXlBNr@H>!>|b$qEszh?@Dc>Hi_4Y0eG!alOlX= z=W^I7cxk*2uwt(>X~6(n<%`?`X9kxq!gm{CRUwcKp&vFbQHElGCQM_3Xi-eGB{B*u zPLR(;<S#_lW?WJ-1mXw^rV^8x!KKn=F?6QQFlqr+bVZMxEOhe?y2u`__3F7o5tvE@ z2Aa?|v_rVxV(?eTFb!cRz(J@`VWc1sy05Y9H}|kZd_7*_17R+J)`POnFg<KILV;7- zh_Mya?zFL>q72ulH3OQ|o_W|=%Pl06@TO?0S0j0hapgC9*ifcmFqD!M{5XsOg@2>u z9cfnru7(0EWQ_<Rx1I?{U7Eo86JdIJKF&X<-ZHZINK8pez7*RU)n_;d8$7H=(y~y` zHymXE-e?J9p@2}O*btq+IPbQNMZh7zGLBt1(vg{}9}6giu@`tRB-U(wBCPKjp^)bs z?ja<Su{+4MEMUOm9s?1023~1oXo}rQfn*_|I-d2gL)BmaYO#l%kIzd0n*#H%1qw0M zu-}@<&};`9LKS0M=ZMNY%R;6cc7mo81V*5|k)XdD&_{xLMHXZdtZk5jFkV$a9fa;} z)L&N$!PyPz1WIg_u!>HG2**rcSmUjW3Q^AO9VMfB!hphx)8_#OXwWC-4!2Sk=2ZAf zI?yu#1q-8$D$MH*Qi&EO!Y3Y<MZ!R|2B29C*HIQGLTz64xy#NLrBTXHc;wL-!)9Tq z<7|}}StkM$u1&9~h;!->9B_N#Dw+Y8tan+kuxrsz=?sFW_<19UlY5xLjeJa?2ca{7 zxs5mqPIxBmf)P~<&|0OY3jwAi$b*TJKpOFnE2t~T2<qUR$gsi<BZ$_5U5!y=|2B;K zi9~S}s2GBLA4``?xb{N@Ep+qfdpE=j>PR*f@ex8Pp@Kf7B2S9gNT#Gg77l5wDW7qD z0aYh|43kORz6#|mY|KaTb*d1Z<#Y<8j@(D4SU?8ov1<h5WvIBddX*q>dj}DLS)**k zw1@tR4(W7P#GF1Tat<+kiD@kumx5bkaQM{Y*U;`)LZA+9G}sTZD$^S;j`tntR78hU zH->c##eWS`<xyq@i@7??zTyzWq}~=06-WZW{XhggE0N~<^xK3z&vc|pQrLF;g=(NN z7mXnz?g!yPB;g4;ta43FS*F`WFmpl%0IY=cT%=E}zyv3hiO+L7;dZ20sMUGQHli80 z;$k}X)<T36%C{2woe>VyXPb2pCeo4b)dSv+!ig=oJ}DiVtAd{y>1Zf5=82(4$IOsI z3a-gvX-lG*H}i-R4gg1^mDv}S!=6E}8JY%2D{IC~7O|rRxO&6*++c^Hp{-D=Zjy8p zfvGu@YlMLT6LQ3j>T@2J6l)BI_#&nAR2C^Bwv-BTRF%ewUBy(%A~RzTcU5>;W!68` z^EvF4mzl<AlrL6|th=<W5}X&oN)T<@2*>cPYaHsaSg0K*NgRdXo}9eo)WgDDtN}R> zm3%Z3cEOmHhK?X*hCFUPc4CYN)euXE*fTIMF3R#)f=qzD->CkBc<4EaS`8=$b|sUE zV6Ihg2~a~Y(|05b^gCvOv?e5g%9saI;0X>=s4q`nI_UI(fCe%M(zY1D86ITfCRV+s zVO%ls@W8mL5|n_6CH{F2>jDEVqhh2q8MvZBgjbbC2_fwn3-Y0^%zUF>E{QlrQWG5= za_k#`29E(1s`32XFeu0PrT+GM!I;MADPvUX)$#7FgHc*Q%}yX1NQ<O6QlrRyj+nie zRvR^)Pz20tJTP~lRD5qpD4z_8VneY6jb$*5q%~>?<0KLf@DD(1{?J0DP53>8Qh;}z zNrHjlp2`&VLq8aSBZ1j+;AY`(W1?|2gl@{gO33BUd)P3+IVy;fsX$|$V_mM`G3^Vw z8>Z}vAOW=SVgA-ER*AW)9i`gLCXHC5B-|j#fQq2TarWS0`PGe7G<84)NAQji45Y{9 zo!clP*f3C_tBTP@2zaF0iq3$Zy$KVQD?}X7XI!cVd`@K2*HBwm#<CbevrL5KK|9Ti zLVp2dZ)Kw5Z2@!|N&#)`-q@6Vj6aMbSSXr$uMtY*p(k#Jio!igHjQxw_*bAa1DgKe z2J^kMD)GSotB$^jYOzd*pi08u7*hc3lVJigP*BvKoDtsuZO|}_*;8AKs&>;1IV!oC z$cP4xA0Sh6`Yai+AqIq?N)${H1^rVjX=`LVGh^Vi3YUpR2WYkpb#NW}D+KjHNen1t z3vpirc!C16C~JG@q;KIz7$zEG4{*xdph6&X2}$;xAA`EcT%>k|1%oXB5jcFQlQ-?t z)`H5M!4(@<IENS{fYiIaveGAx;Lf#mkQ&%bbg0;(5U&h8ZO+N15g=?q2TG$7ibi%- z;zD8-VbqN?3k-hj40V)uGM(TDz0r@PzyVepTH#O&LIyt#mKJpPLKy&Sq*V8|K{T9b zf3O-dAf4zT5q@HkIkrCt2)uB@TmgeSV8b-hV2W^q9R^|8E|jS$42S<<&$D5KU}EzY z#ykR`5oq3!Z$cv!S?OB`v|yK)9lCZ(`KTFcqfH{cVOQ<G7Pw#`z-r;m^GGMsNFrFs zv|gjaG^;4b<X@;U6j)eIBsLRFar~OPqbTSe%i2C+#O$Lsb`fmIwV_Inb#c5tnCOAf zz1+!==xS8Q6r*;1EL2WB5gPc2%)ukb#IJ$wvC{e|llh^_Ad)<ut4Fc$Jbq;;Bj$(; z8zXX-mLyaP^Nol|kRH>>j)jC)<D6DRC)ot9Buo>>Gp%}dOr66t5LWT>B+qDCgtg%u zqVX&@6&0Q9B_u3ovBaLdDa6>pO35vnOc~#?DqE+&yhmoB2@zdk#K&VHl@!HLN@u** zqNc~(DuPN3xp9QmTI8ZN8AE2=7=^&;hRvtej|ti>arT8V2UD8ODh+{c#v&1WZqK zW=IM|hZ3ysKtb<hsJvUGzQ7u6OjJx`^@hm*EY7<~Y{AEpF-Y^81!@5k6&@`j>LP=B zXtCwKkLv`QAv59%DvY(9!DLcLmvIctgmF~BTk+hqjv~T^^F3oJ2MNwFo*T0daM3R^ zi|W__vjLqtcJeh~0$HAnvu>`~8_AiPTP4e1GqFF+n@3Ud!L$b9BpZz^XcF15RYi4D zn4qZF!@!&1$k#B<uEe2E+^Q-Qz$10dERen#`Y7p=6ga6jl=>_tpA&$dU{%ei#M{Ao z+yc`XDa@p>hgVL>d?Ra{Yd`Bimqy7uK!GSYnpv{2Ff5Oc_jD|@ir|Ylr@$^Vm3ZEX zBTkReZ*iK_cT7c~C=tCeI7T&y4@j79gYfC>fDt!2r=k3$&5VTW#@PwE5|W7Gx=AQ~ zm=ZA@&LOB`|2o3fk-0l;bRlVm_I%Xem>>k>Cu^NG!Jv8;^h05E-bUU96W~<tMQKG| zP%5~^@glCuXz0%BFvOrb0XhwhGGN0u)`c6k3YqEY;DrZzi~dy%m?@(1?{&Wrf(ao2 zNgTUForI#4e1vDP#5O=wSoBy!TE;t13`eQ(h!cf#+1IG?s543eW-6voJ(dlXb`l;j zAr;0zjtT%JV^KMavTZt4#72nLG-{8%nmHyGU&2h7bdvz@1P0Kd&8stI9v#SlXJOvZ z3UW#k1Pj@CFvVF6op#8gp9sw-8!A-BVV=Z+6R6Kl3HT%q)WxiMumQu$AX8!+FPw=~ zm;fV^gfk`uP2^b*Yq6jjnf%Ndw+B{_$*1q=AZ3<Kkgqb(N{HKS6bElP%3-~&w?Fd@ zr5$^^b2f)nY#MuiSK{8rrWul09>of<;@*;*as33qm+DZBdUbWUx;tDQ(!cp<zNMwR zx^!0`&{xt8?ks=u<MQwMkNSZ0Xa2oBtRAf$sQ-6><Mb6ciMx7!ex`@MR(`3kaq#E& z!{B4usq|yFcXZ(QT;I_F&gja|VL0u2*#6$(?8>k0VfAyo@{b$Ns(+~Ef9*ksesYI9 zd_Dd|+Bwqm+KV3Q<FDY{ugatAbMD%gMW0*$DE;kR`F9w;{44yJ@qF(3d$^-3sGrvr zU2gv3ckl`JZyB$X`a#_Ji~0*3Y*dCgKMxBjFOZ=V%$0#5lQIRR%|w;yML5OoibXys z#Bp&BYlpMp+j?7XFaLHW$b7)0Bqf8mGEgLG#g4Om*cpjh2X~kVh}S^N+ptxRFc9P) zB8JpZ=f?7$F_24{`R%ZN=j-hUz8!{MZEW^z?tZI>ji3w`_r<g_4th^eW@FzI;U`g~ zit6)*)kLfk^f$cT*4q#3VUbOSv5K|Ue%EXoYFg7Ov4t5N;a;q_r)<bJ6%dvHTQ&_d zvm!tiXJ@LCWcZP`^KSjl*V~WmVNo1nQdC~9_5-@AmOM_e#DV+ECVfR><0SqG3Z-Yl zCNRpPu}KE=G1POFf!cEQu<Pwl;9(I+Pa=l>5;stmu=6>r0cRKp!lDLpAV-H0Lk_7~ zrq8>tqgaveB$0az89&QYR)bw{KYR|0S3cvSlKmZKf?a2@#1gC}^6Ue?$^@D~GHRZU z9@gbS4YheX93(b(C(~_WtHG|fAKJrqZU&zNFs83NKpxtPxo7*ZHsfqYv5g_!>?CLC z;03YWG;A`|rzn=k{1*av2+7wRcD?=R9#)^hmZcna)DAzRz^=$vR>@RpoW(|l4sfpD z@UVuxCF2S13bG|HP245DTD^MM_4Z@uu%=J~Hr2pc8$7I>^RQQ8&Q_I1Vr3NdHANCr zg}Fx6fefIlk5IHe6v|AAFiOe8=9j!$zw`C>qvx=JS12$798eiU&w5xK!7-c^1cDdT z^c4xTi6&EucH+2JMeanMYF-89x4`VSdf4^$gL_zzcPAp-hH5&H8J26`&g8H(S4~Xh ztmqwP>^cLw_&Ag@x>#qFg#4TND4Y*;OBfwobJ+Fv<9pbU!t$Wf)hI?NBmN-eux4DI zf_T)R{Di<k<5^M1Nn#FbSf{ekfQrN4fwdyc*XrtF*V_-D!<HiPyRY^3D-5pXqLYxI z-<(MNDrzrDpi(fNF?2pip!+nL@?p^qAVcN~etfDyOA<3{4!hodd=Hy%Uw^5$`#nE| zDY~rs(@75NW@>?<QIPuHbRx$oLG3|g_6TY&0RvCqJA;D+HQ&|4uD3sdht1CE;p;w^ zh`*+v031HJdvfKBX%35YDmoK-wK(hw{xfLS6IX=O2g#t;oPK+CNFn;>a99HPG(MQ$ zz~LZ)N_*|YuD3sphc#IYHDA^BCq4uO{ptwMv=2)Kt3c7%Q}(|9+~fRnJ6XS|Io z)VTBWdb?Zxy<Gm)<2Kzs%JSECFN3JXiga3UKe~r)5$Z!tVSo8$ug;2>+d4w>EH*7V z#T?cU96U&c3-I@lv}&&=<G|d6&y66D*Ndr&+_=Fmwweq!(#xjtUO4B6r{DW=>HYmL z=kNTVeCOpa_FF#qI!S+5cE_u7Uay`_vH!6j*Ipg=-+r;nUw-=z{yTQG%P+t6f&X*= zd0c(?@|!>5>!1IXi~QT)^Y8e8UQ7;aU;mc>_x0=F1`kWBv2vC*(a0y7$b|QyYmt}` zaiz$}$^-}SAlhl!JF}c5gEdPYR;t1NbjHI{ANE+k$d=fiyH-!P`N!L3KiKB2;mo&Q z?!4UYzf~^C`^qjo>{QP3db|Bxj&R$KH6BE_Ps5$3?Y8~#_WYS$%<g&>Utu}GasurP zUTwd5nZMpWcP|{^q91kgvBoz!`-I=#{wo*xk>1J0cDW9&_Tj6uAH-m<yc+vZEcTcG z^UL3nUBV8mMty!Bmg84r0iW;({{jT|2#NsdH&jSKobbfM-abC0FMZ}=jr*|ei>%l4 zIZM-HaSzAksyV!S<{~|ucIUr*I(jmUbPcDUyL^>y)3cKKm2<k@*?EJ7JCECbfgf*w zpTQ3HvK-)I+t1))yZ_e=77p<0aD4L{4R-zspZ<*oo4+JpI{VeXP!C%!{az*hh2oDC zM7H8h^PTn$q!W^wBD;$+6OFNECQ?T>kIw3AjX1PxMAX;1uC6T`>{Gh%ckW?9rXf^` zgTcN!^R3lyvv`b)=PuIgXAG8({%Uu3bzIEuw7okm>lfS4*UQl_x3@Rd6-}?u$Ng~m z{&Luy@bu0&yHE0MuaypP@#U_a!Q0)pBi&EW-Ae~J{bqxme!~Aw51Ti(V6d+~{XjWv zv!5l0{aX%)Yniwio_kow=bxL_F_1M65_z5F2`OW(*QKIXh((Pd8#r){JgnJGGuZt1 z84r8)`#tP+vB2Unev85Gzv*GiVfS*}Er)%Q*IRqFz0JQKcg3l{c_xwOJ1>i+Ui@As z5$&ZN;I#Xe!~TtCa{KQy*ngvkEpf{6Nq)>5%)@^DTMCJni~Q>YxLEZZ*5n&GEU8}! zx?55d@1m#3Juzy9M1mL8XmMTK;9(_u*bDTql*6)z{d`(dM}7Ri+sDOuEs^xEk6+}~ z<6`*fB`>=}+d%+WFQ?PC8dge0^<lgF2nKso^V9#yKW?_$FVc>_{PGX$7Ocmg<n3|_ zr(~?R%iCDoTzT#EE-v%I<>uolC%89{^@P%$H|bFCKbLcOYNvPk>0S1Z`j5L~deL$Q z`uO;d>_+lhj>Eq!@9wyJOjWFR+uaumaIbfMUDrD=Yl{78`H1)L^Sk)_@<Ba*^3Nch z?U(W*|8GAWpc?GM7S14B;o}!f6TbK-d~@9XYW)CjZ{JZCTpyd?->c=Fr1<0?58L<Y zLGSW?`j7X=ZK)D`Ngq%<dfu0A{;~Z_KKaM}DStWT16nSdn@=g!*c~48+2-%>asROW z^1?i9zL-mucsa#~_g*I!^sr72aW;nynyVm9!75L6wFlA6|HOji0FW@~Fd2DR?K$j| z*y}SMHuPb00%(`DN_8xGW&ZO`{-*0LTpe2R80B($U5hg%>3qGdrJriB<<1LFQ<E>P ztJ;f1%axN%Z%Mk-q0<g<O8&O^@#NHx<rybWaG!eBBwJTGqv~Og^(C{ZZ%-+;^)uK> zKiP6Zc2SGz7d;7X9<l6C+23A3ioH)Jy`0k1X;-X~51Y&L`*PAx@c`9eFY0mXN0PUx z&rogJdJLoRA@1sDu;&th)%RDvznzw9WBEFt=vzpq*AMWz9d4Um<!d^;mJc{T#$W8Z ze#ghJ^x7}R!&)-eza@kHx_1|=?qLZybS8%dzt^6R*4RV_tm{^~ng}s|yGzv}23FFZ z>s4a)95(IwqlYc<5c06wFG~WbkEiTm-zOjVDLwCy<I=a)KB_^~l20+%<1RmDdBwwN zG1%SVAzyjTVBa6Jug`n@#rDhlV?TO2xBBLm3x7!)b7A=SCZF<>_0_6zDUAGjNC!A= z7x(g%JZwFobZ0V$dPZ;aGqgq)@6#psYP<c*!>*md@&?O!{Uv*#x627__sK7%cl~<% z>HQ8%TCa*L%R557^Y!*iK7-{F{`K^9u`BU?KWzRCmIxsoUAKQpe}w}ygWZ(~AfJIH zgFWsbBF~>wH`wK`owWnJ-R|Bkdup$C<+o7Z-{tn#?e6VPkGIR;>CaE;M3#@>OZuo! z%eR@5^LF&?*DoK7hfSaQ<1U9kmd~IRKb8-1o4&upscb>J$Cpz?CJ+0!)Y4g!+5P1& zdxzK`K*+RJgwEu!EIfuni7iZ4dI)-0?+IDg%tT$iHu9tJ44YMnclXD-@$Pk09ikj| zSFDkWPM0}0-MfdqDBo7iK`+Wh`ef-buhVt=ce%3apQ^#WS*}*od=5|f!hPjMC*79A zosQ-H*SmDx-d=9sB@e61#kX%x{ZKZGw5Q~w*Vs4Td6}I^@_NVO!Y+$LOYS}!ku5P# zJ%f7E>15N%<ekP^AtznGul)V#|5OK=v&MR7GR*Yrb+X9)W!{B)Kv6$~Q!1hD%2D?5 z0M%eqBkAO4aJs#KLRmUT?VoVs>bxjkIG;f>&s+TBmIKuHx4h(O`TRENvs`waS2+~O zU*kpj<Wjuck6!ns@=<Eq&#qdb@RYu^U3uB$sXv!bFFoefi^^fELn~d_>|q65Y<@^X zE_GJ_b2+RT3(6Yl)3Iw5F>bTYgwsfoL&WRG)|qW;A6Bss`_w!v^o0f@@pK6spF+{8 zn8H)K5}(Etwi)cc*wT*6BG-Or4tKR0EEv3&%qpGdJ{j@xO)}WeZ+FXc(-nMEV#X)0 zkYsb&xxwZ;)9)8s@jyAh%tf`OS2?C{XHZW%yOzbZwqut<POrbd-a#+9KCj%FUpL)- z-9Mo6;QV%>Mzx$!FRkGLu;}!9*X!A*TX3*mYwEwGW4-l~wHKbM(bf027~AR1<@WCQ zw4Beeg+X;kYu_dv6b$wj`mpH*mUnZVV+zZA((xz3DBxvy*k(TuH6+fzeDylbfd$L6 z^E*2a+fB_hv~IjtLu6?tE`23k2^F!!$l(ZD0P-BtX;-0%rV@x&DTjSCHQ2p(JR!HM z*UQDOI^Aqb_4|H*f4>a|Yx!u)D=gugO{&C86qc^4_sKmh2Ai+8(`|AU`&O{khvl&4 zMP7r!mOGc#Y${8joLzQ4m2_ThGpVn5eA5kfd%qlSf5`@WY6X?@XUY%W^s_B@>h^!` z@6%;_U2XGoeem_ppLg7)qbKmn9zIMzdN$abe4KU$Jt=P?v4O$9dblt7z?ZgZy1`yH zgU#=+8f^Bk>Fd1gFOm(me4G8~wTImd_6ZF3SPZsg9E-tzT@Li7moQ$AhiyLWYlb;3 z@9*6&_l_qnIjjQxcm8pA#>0Yev!Iy=_EFDVLEF5WFv)B{08Ilxs0~?i*ozhtx7rGN z*v4=Z`>@9`BxZxH{vZ`}-C%d+%dUQ-6*z*2E#{K${4(qEp3-B!?s6*km+d|o?C$uK zpZ2y_b0!8`@7(n*q<Gw)>Uq7&9(H1|Wh>kFjiWfPi&`XV@2`54>#g5;+4jI{u<3-~ zxWT^ZC8JtgE8cgDM=y`MEXQeQa3cIu`<&{xaq^njQ#seSx1mE84EC6^>*Ld_@*?G9 zC<c3c@}swaU}msC<qx+SY_24x6FmO(;yi4x68|mdu(<&5N$jCDUZCb`XE~j^PgT@m z_l^+a{mqGkK?oFyOnV!)su!EFz(BR-*SSi3U5ic$?Nkib$irHB!)Fb)c~~QZy=Yg* z(`c}D^IhD)0YhRd9@dJvJham2J~n1c#VK9?%bC9}6{m6)=9G22JG|ePT>%ZYRjb?8 zmg73lReN?T{S2zX-exhveje4{Q$5)r3a<(L&hNZj-rgZ$jIUdAP(Ppi_puu6ZFx+x zjL*UcXa@T_eNJSsSj@S`D)D80^ZRyy9IcK9YwTgO!Cr6wlE6~1ZRQWE9=-Ljrw025 zJ?!gkp8I-fE!#t{-B_+UB@den0w#72wLIj*H9DV%Z4Fm8CV)BxRy9MJoeB<y8gcc% zNOoc9VPOXFI)52&TOan6zT@g)iG8At<A2k`!k5%?*R6z*_}D|@W4oMQlfib&%jK(A zbAx?Kk2!9C%9lzld1!TzPyI!%-C%nHcj#@WpW5lQkl5czIfH7j`J)XUb~&+AiNbw{ z5_c=<&g8GnJG9FK>M<xJerlo6`_c^g36EY3_EfxdH`v_;p|iA<+Amr*ULKbZz#jG$ zdf40GVN(Edv1=cLf1Bm#ZC^TPuy1p%K7EkayLu(QEQ7rgX-$@g8WQL8Ts&;+gdAFs z`mBfDu(2uYccX_T(Q4?qdX8!Xy0K=qAgxYdsp}N)ygIhF&UKsCq1V$PmhT4J>cCG> zP?GEWCv-$R@tW}k7oE~ECLXpMzLpTZeDU|cbl}7i3+ysd`BdtmshoMev+f{kmH3v5 zPTjry+TP#s7MrJ+{ZjWcxNysIS9;oEO6c{oi=G6xvvdq|U3#~(q3Gn9-f1U%fL=5H zNlGQT6`hpfROQd|3Gd*YJ`EnW=dgNw3Lds*5K#JSeYsK>GdNu~*!n@2@|v|rzBmut zt39m`o86>)SUU)DkQNJ=<*@3+!93)u19_n}P_RU{D00q-!*D_h)Y~daaEilz&CQ%_ zu$Kw>P%^J&sT+6>x@R7?7jT~hLdw$CX;*8zATL`L_cFJ2@{Vy#)yjUYRfB!ymr8z- zZoJ#NCsrV0F1nWf!$sW#UiU^#TRC}Kr&XOxJ13vaPwn(Ba(ShBSU-b{ZdqFFTiyKX zTPz27l_OQZuFIX-j;ueU57gAQPW}w?(XGcMe1Q7m>0RUwbvc7nH{-D5*y~*vyV5YK z2Vf6d4^ZD<@UYeFY7VQdIU_yf#S$AEY}!4ct@Bhqr<dnp`#kL5%4nTs56gX6V-I^y zTgNaI#vxbqux5Zpj9jIyylkzdV@8CFfmE$#&ApkEbJzx)XyBseVO7o<?3dI^UB0cu zKKC$B1zAK6t$($*ht#gq0@}ZocggIQXWZsHzZ{yumeu9E|6<prER>F(PB1%=yPHx3 z-IwEhso?+1ZTBV1!L$VUpHpjBHdouv8+SAr9C^7rT%CMpxLD5X=)S3*L60)O$V~?F z?De!yUSv7h<@Ds8yVTQ{yNtYO8ECn4IRkxn>n46I_{YuL-NxEyu;i!ue)-gQ`&aJq z+X0gCEeY;vx4+){8JtoZwIiKgf3X(gET8a2deiySD`!9+wjH3nzvyAN`<rd|u;npN z{pb$oy1VmDbaS)4+oTWZU4G{6&5~R%-|_zH^z`C9Y^O%EufP2Ae}4I;dsqXc6QhC8 zDzJNF6f)07qgqo}#c_DUMi3s&u=8pdV>7dVqpi89g-n$?ty3Xt?qS>L&&*)8)-q2W z>2}+ZPCbR)JD%|=*Gq28SZn>OT*Ivln_GybwEDJz;!XffyqJvF?K{e^g>YLx`o3;J z9-qEWMqEmw)=sY-wkCP68!)h75stmzwJniAwurJ=50Fpxv$wL~8Mp4-Pwms%wno~M zSAffB$p@(Y-Rmu#L36n6{WJt%`h+iQ(YYQVc-VS?x2@=$x?y+KU@yEB{VE4Rh#tN4 zPj9>H;ZrFH?*laP)ZWSq^RONN8**6ou-X&HGf1Z^4fqBga*bpZ9mM47?1f^y4(B?j zi#p+=V=oxJluF#&G7(;|#Mjww1`nHl%yQUtCFQ-nppP0n(33Bm70ZR9SM}n$Y__y3 zms5G+;$byoBl1;R5bwuo<CcFvKfvCKG6}_=icWuVO!D^W(xJ#t)d>IIPw!%PDnR@W z(g1i?nnEa$`D#QD>E3t6LhAw2$^OMh_3EANXY;VvXt4D&sPFUDF>fI803{$uk<Ytb zKZBfY_KmQeUHycYhkWtVd(9rU9-zFx5E3t;&-Q)72k&c=yS-gL#Cr6;@8%$^dD!c1 zLl5r?x+KBQI?2F`s}eVy!@ES7xOmn{l^AjO=a5cD2*R$@p-t$@jo9U$O@i?3M4ndq zRDm*<zwxkEM*mNr_Si2n+CO@i=-Zr5%l8kgD@w?J$gk^TUS+12R|lIMsXj&zGvc>K z5mS#-nOR;Pq>uA0kGU%?%vT3&epoop-cN72Vu>-Pon<S7*Vnu{43BB=PxFcRbzKi| zHGPAvXj|^AKdz<+Xn(bLc9?x!^f}ePbWVX&4lunlEY{9@Ir=w;eBS~*Mh-8KvF|F( zuVq6u=)-DfO>{Fmk8}c?GZ=`q=9zmT$pBRx2pPKyypQ)_4J&B)NFT57a0(SgDLdvZ zzWNOY%e@x>!~HS06JJ$4N_v`Ia*9pj$?f`E*J*fvum4pv-tRa-rnx-)7G|ntOZd$X zJ#+i!kZ*m!>z%yN+o9KBi_J98N*=b>STWu`gLIlH-2kJ%dRAIt5uhatMPn{8nIRZh zTuRdCg1SIu7kuuos0`LP{62$~4gL5-ZfegMtWI6sMxHU)SBG!IVK?&a7y0Mk!m}n) zQkUO?|0`2*+ueWYyk70@a<KnPXWe*#w=0M3YDr`(b>g0x|AlAKpF=und_4L)jD)RO zZq?T5GCu}2<{%8~EaAb!c5mwDY1Wnbyuoz$ZG+vvtgq;Iur16D_VnA#;XB=qz1Hvt z80<H``7qM^f<0{YekGAjsqC)`56L>OkYhfFbW)J@fcUtZQ%#4pc2<EehDY1s*<}id zdbkFSBNYTvaTqKJeuRwX*{|(|eMJdw@Glzd&R(v;>L%ZQ$3y>9ZzfflK9^$Li*>M# zm)IJ*zr~ar0W2|H^(DtVKdqxQE@w>T-v@sLVr1<IVy{@W8goN7MGwnjv+iM`G-gJ6 zSoQo@ZJqV@&4_vPa!>JqS3TN|bwfA|9NzLA(n(OBPJ(?|<6|<c5u^BQdmJcdbv;b& zGr8(jt!CGKOYml`LBUJqH+tChw%%Uw4YYMwWzx}uWq@6wF=}U#PC)8pKEetlr&zga zU04Nq+U}7pM7ZQ(6>Pd&Iy?|47>x?ctG3R1`>}5a^skNtMmqkh(ZilcI*9<DNwB42 zz3`)fS&<`K>!u8$cvqI~&eN*W4^9a*78#MC9}Sp|)x)m0AKk-hbYtL<q<Pr>xa=>_ zBAtT#GDty=P$vPUcVt6#L3Z}AAf9Ew2!#~qo;{bNgXD7sGOju7dizs&*v4B}++&X^ zHRQ0(EYBgGL>MxmgJx?7M%Zv%#h4f5JWM6(zgiz5GJ;_lzpjV(?VziNU2i|Qhpj_0 z0Tt+@a0da3m1;icnEx?C?MbWksaG3MpvmN+KLrX@DE?LvJSRnE0#s&1mafj@YIyme zYYw~K{u~|_81gZP)j~=^uIfDVzcuR#aWG8Qb$}9&&9U7PX9f0V1W1yROr|z+TEU8% zJRlRY=CJGS$IoG%NXaPdtx4#?=hEd_59@H?q2eSwbH~wYcd!O|YKwM5dllFt9EMm? z%I1HVNMJH<Z*t9H*V~WoVF6Ew;E3kX?l7f%&cg~QR$<dr2-#~ksYRnk<xu}JSDy6A z8x!jJny^174S`nvGLbchU2i|ShZSspk~_=)y}Fa$LV3o+UXg;;=wV&LoswmsZ>o88 zH9;p{Gz^X%S%H#wCSJo*hhrd<aq9-HIqZ7-!9A>NvC_b5Gm<MC2n**`;$}3BKFKF& z#OGrbk-<^e-OmI0{;@j)q90haqFlA~gph#|UTF2O>+Q$(u!nEm?%F7gI^o1Dhur}C zFU`0$D1!z&>@m1AMp;cp9pn#%EFpB0hQ^S=%a{v911oW{^($My^!4`R-tG=p%YTbm z9*XH+-L?OgrEagij`X~T4dXIEzyxpyQ^HD!cW|&iOa-d$lzZ%~8e(cZJ)hpg{%k$; z)nT*V*4vMIyE-`EZ@=Uf^GyYQZ+o^%j035PH7e5{mfFO_A`G#kA*3l)vNDbs6R3hl zY`0eHKLDy&qy1DSKCHL(_QT$;WU!(bwwBbf1NEQtut?~nks4JR5+C}o-AG|{UC88n zo(fqo704ioMe-Sexjd#@U2p5{$Gtgeni5kXgsqg7p7*dD<|GwLMkRs;vE_oT91_4H z4_Ott9HEGPA?pPvmK1?{mW^Vu>utULX!eS+D7sXBOi;!-hb2aJM{~0h7@@%&)_bTO zJOS7w;CLeZL?;*b{lj8V-P=1n;3u6rX1%SqAMxg~D5&8W{MAO;1c16{=3zHz>FQ1o zIh7_iXv#neYfx=cdZ2l!nOdw6j+^r^LK(|9jdh=1Z$GMo?T(2XF8Ei2{gGtGIS*Ui znfmY>%0qT0VW$)}EcGgYj+HCRt{iJLO{=KzZWuRoYE}}>Yrc2=-}=8F?|;qjRQfdK zp&T=^2DBtSLlFa(UVWwh1`n&WQ6T78$!Rxx_1-HS8RdC;r5Uy&ghH?XTmSb%+N;WF zkCQaF3upL{__;nTXy8yU$g5C_<FLR-!JC8oP%|tq`P>~-Sug@wAs06o9a_WT_4Whb zJaFxjkm^G^){VxZL)580?8X(d&|1s|nCHrp9R#7?J*BkM=#fY?(ThkbT<KPrrB!+z z4I~%qf9rog%74v&B7?9_+p*{w%R@JFEU^fySb53HNtZyeSrHXw4FudC2|XJxL|OB& z7GyZiY)WOOF7RHgxApczwsf#XX+S615cSm^k=Lw+<Gb@7*059s<oz0ZMkASvfl40i zC(!Caaz|zUa21QNj80lESa(|gTmSpP{_EWvATMLWZV5whu}eCw5_g~KEK3F~-)&O9 z2ivF?+rscj{v>E^9a>=nXOzrP8U2iuqHlw6!h|G$*5B9PU)=8!s;t04N~7fwKM3%| zc^_6JK#*H6rdp-KiGZ6lHZu!oq-K-QC5AZy1Z(x4kvb$9hJg(8;<^V}%Z%6G*WX{{ z@6EqjfDgt74z*$(uy~%A7+*#s@X!nq4&9}8jIn3Fh;-`euQm+tJgX|pQ3A_hP5rU0 zzpuZ);NPR~Lg>6%E7EW)$Gp3GhWVdtp)*G~OTW{!7&}x6s7Mchu_dG+IjMaJUQn^U zh0z`MXk8c&qX`um>Tm1s>+dh@_ufk-X2kfzjm|>YsvQV%t`FPzCLsBA1`2WGHI(rX zkXJ{fQ`E5v9#+xYa#cH2ySwx(KpAz4_*#Eoe}6f@&x$g^!)gObIPIA!)0s8jbT)@Y zV|SOTQsdu&O&F$iz=JEFq(W~8ML-~`@6Fd%?sk7GDvUc;E*5LVPOrbOzkmPVNe`pL zB!Y(xAuBjo<yckE=)*Q+hrTIyX$0d@*S!K6x?Upkx)l<;32XOE6nZ!rH>X2Y4Rpn` zp7Z+q`umIcJtngzQymQ<U_+Qq?KNDra~_teI^aFc=}04ysl`TYv+%y7)S#BwU_eR$ zPSq;p(!k&HLA|J~(7E-_()#=Q`*-{u!30${M@V?8w?=g2Im04xkh7WqCqN9{+?q_9 zYNd3t2<9>MU7)E<N}PQUXJw9E8Yc>LlJMF$nJ3nA<of#y_+9n9hXqKHVyNjOa!mFO z{hxIA**>gMP1#^7m2Jx(XPm;4`m>uEgwj1z?p!p=P)F=tVf7hyAB8#`C+zF*>+gT; z?+AE6Y?EXB5sT!{Fb6!G@vuPGGFPv&Uf(sxNtm#vGUu;2;bXmL3Zl;DP8FI_Mr2W3 z#Nw;~`nyKetQA<i-d@7Zo~sKJudmOALyJU%VIkqex2wd)(*x!t!B~4zIn#($d=C~- zz<mfoh}Im4-GoZP24HDJ_SOE@5gR2I*x}aob^VW62Mj?NC36lX4Qi`CjjB2$OEbp+ z>a!l!qtVXZW-W~sApcfq#kdtUxoEQ<22(xEL^&pi<>MA18wA3m8a$Q8>{~Uub$wm` zgV(JihPr2M%Ry7wae>1a-f#1;?nS-e<Wh4s4FXK{On9K780`GuJ`t!&kSxF;8rfsb zXFDmX?^))1n|i^{bNF?AUH{Lm+vtQ12!$Jz!4R%s>b!!AJfIp73g7gwtyDxhRS0tO z!97JC4t04tmbNnlK9!xvkRB@3v^8R%tTQqOEL008R;J?h_T4ksaUMpn17dL18VRPi zftv21i1}B0?rZ1zu+C6HV>ilp{js8jX)8_jam5QN+@M-V32WO~G$OQUa9#j6B9qBO z26L|K>-xWMUBd+@;uAB?^E$W}N-gAJB@&-;Z^juyyWhM!>tO{fr#W?NMJ{?bsG{L% zD?%bsj9I9M>~zGGutpCHbTM4(8fwqKy?VE<uj~K9y2b+08R-p2O5jy%i23)}*NA(N z5ent<KQHLqNzoL&XT)QeBZU$1tg{?e)nQMVl{Y9OB&^=-F&!Zlf?@^%lpOa#fL5*R z>-xWA9i))Kn_{~HJFh5S-mhBgSRm8E!-D%mR$+um%ss4PiK*44m4VGLFw_mbgOC-` z%jC4R+naR~3rtu`c?nyx=E~3mro^ybK2XFFJH@)buK$bc<oSpu$%3!4nD-IP034Tw zQ2@gNl#z$MJCnoW5Uh46#gJGt&hShaVQh&q4*DpaHo+-oLjg^x(uht`fqz1gy~0J| znbl%lU)O)vx;I*TjRom|N!-ePYOf)|vI?b!T%4MkaRVMb>tQ*E^->tH5ku2R;f{f( z)UgrTRiz=4(8$Qv%veQ2EE0DNlOPFwF3DKe*Y$tLddw|7($iV?tDu_-Fav}-A$+3a z8AcC#R=rLTq9G)sVaDa1Gij?%Gg+HF6kN1n<EHZ1OfV5Osfd8&p-jw$W9_))b$wm` zXV&S`0(vt89Fs(PM91=C#wd+235UTuyAyJtY7~)s*25wSqgTONk=jsGgK059OByp- zCkgM`ur|`12k}Yms3|WqS%`y`WI?z%HQ!Cv^>zLCt{Xg{cQI7P#B_AULG()dgm}O> zAn!LokD<$RPQ4Ci=bhZaf<%u6lJdcCvTr2T#z4LnNuU&GdpOD<@k!@l9bK#|`~Zw< zU0>J#sddm&bpjTkCl%6(GxtM=C0q6^&It;0Fkw;+J1oz5STuPJh{o<9J!wX~V3mvw zR8$_KH(Zhdw$LW2wg80_fVk9~xxIR)!UR!aCkT6ot?TRh?_bxDu?BilvzdqOh(2MD zN=U?x*GFMjtPKOo;Y<$eT2%rp4<lAd$G4{E@^n)qS2oPV&G}?JGWOyWz7j+ZpaI>3 z4w&$7d4x7WTAu}4*VpymyROXH)Wq4MrVUN*kQg&mUI;?yMuyoZ)rO(Na)#51NA--1 z)vz?HP~9O03P{0?+pw*ZYS3~r0~f9%0l8w3Y#O@E__s|vONKml`0Kj9uK%X>=zMKp zNRr5?CV~U%EWp84W^aiC;wj(~>MY*bdDzx?L2OmC6`ezwG=vtcaz}9Iu`8?~`PxnZ z#tLR07Q|y=F25G~fRLGYECgAv>+AY&T#v*iO+5oetaR`%7Q)5OPloLqO#B3dR{{A4 zc5;T7Sh#0|Wc$XY*-qeSu4dJ8Ty+|7EG;!@tX{?Le26gVZn*#SgO46oeSEfcZ*|By z5Y>Tc|GK`e|E6^to3uJ1?bLvOBG`V&j@iRnsLUDz4SHv0f^<?NxIOklAq}-?(cj=} zfx<1Y#G(K6h7dHAj6+?NY6oN{M*uGJPN)v*{;cck`fphGUpp!mDF>Y!5oA?Kgb}cL zIPTrKi)|!Z>xdyU*4%i;!@_pbt2yRM8;rARR%V`rdtJNwSRRLOPEaX=fJZRzaE%K< z>Vp9wKEFh$Mh)mqlaVZHU0>IqS*I&3=6^OvKUws!&S1#$tQH^CU9`qwa0N|(^YgF@ zSYDl^oZ&r~ze}AUo?uR);Yp}bEF@D08<h{(a(P%-Gk`-2+5vk>YeE*auCMFo*E>&x zxHgWW+M)o9Hs!z!=20J(1w{@SQeO=*bL0TG=cjd)d?KgeT{P0iZro-ihyr!a#i3Sa z5FL27U`iX6V$q5n^H6~D$5{lh)X@dnQP=f#{h9TlK^ewd2G3+s^eL#3V?GH-X8{b> zLI({xIX4fhPSfuoi2y_%P|giD$O5+3+sqA$EW|Mdp|1wH4(pS1#8YGNc3R_>P#uWf z>{$a-W=LnYS=ZO~XVwXpK5?n=0APo3O8-eorPrH*>r=wz51MZVAPtqdhb273oDa$Z z$z$7=0IwyEHEughfK*Z=7Hv*B5{|@+q5NjVAjv|xp`A<h<aK>re||kU(4p2U8nHtf z5w|_=8|Ptc+P^gnOu3F!Onl~Hd5D1OUv{Ph+-0IwBVMb$7Lbc;$24hZ-wf*0kdAf< z*|Sw}4YHOdalEe|Ze3s3zqt;BJH0Xr$(}YkVUVV4L$WYyQ!d&;(wHWJWR%pvu8G4S z=N`6uW|L?NrmPA{YOp?=-y6bS*jCYqT*U57ea)-G-i!?|{dG9lAhknh=6_=uIcQh| zGY9XA>-xGrtPcX^h<=LbB{Dh{rip;$PthZL8^^FNr8*IzY$kqp&chlaj&$4t6#gR! zzafxG1&RAxhw9a0f9bBP!+{Xc%YUcsZHN<c<i6eRDPA_}Qwz!Mpb>k?PNf4wy{2Fw zu(z(S>lOyG9c>q>JcZTOHH3R6H0`F?K<eVhint0@Buc__0A9mqd5K9s4kzt8ha*}n zZ#y^+9D1wikJsDnQ~KkS?69N1Hp#i4wr?84OAo@A7dmeD!NVG7*Ql3e^A?nOE`sy^ z*z{f3*L58Rzuck*qO^csg24d1PBmhFIMPJZAilJa@}Ad+)z)yLYF7xddzL6JOKE+8 zF68hAWoFas?P8Y8&*L`PVRNv@?UPJAY_4S=n}<c6AWC`{Z@u{I{D@Z%55Ja&Up;*N zvi!{VEjMR?6W0^*$Yot$*S)X7yu{wDK)wl}m%t)#$2#edjG32vn9|sA#*~sh=~HLl zKsvFA4TKO#Hf$rGoH6SY@iLVIEe4y+^3^s+x^0%J8tj{)2`%7ZE!NfA=e2n2?RJ;$ zes#>hY5i?^rSv1MakWolma(p{>#Qsn_!_7<JgdK&Plz_SU7cwY%4Ibo-7CPpTaN1{ zo0nj8KCPohbmlMtNQ!ga`!)W3L`#G>AuQ~ZJZv(an{2TCeFP7S5$!AYu&f^I{pD=1 z%ac{wZ&H8TYd2W<aJ2FF0IX_VU)LQ1)Qhx4cIf&wEx!d%i<KrF0F7P9RRu%>Sa_03 zSdbX%b68>y+sVU1<NzV7PEZsu9fw%t{4rb?*IIvE9=E$Cm3=&JfBlp^?9FkP0_9hy z?Jm33clW<;w%x<(Fa=S5KkW{Ohh&qN+wCWLm!6>8?VY9_;Qjkgr`_^Tgj;EEeXZ;3 zdS6!`j72<?VcS7xOujg0=A<gs#RhO~=*TkLs0=Y??tYw`hc%{x0}Mw*JbOJF`Qt)D z4*9%$*zHq^V)wEsaqDIAfv4?XO7NOp=3>a%58r}^B~+qk$ETfc?6jEa>*`#emP6jA zXnL0;=3S3E9Bw5nJiD&1>q_W+1DXh{z6tBfogka~DkQnsb3%gm3UK{em>iec^jVjD ze%8Yxs-d4S@=SSuhjF_h9VdTWa@g%pk|Wi9Dj6sH?FL)I*!-9r*tQi_DzZ`CU|Bq+ zfcIiC(^C$!FY_Molr1?uD*a32N0eu*>+8A*_U|XfV3#(wf#04c>w0u*4!2-i9ORGz zO~ITKVS-@lVPS^eqjZ2o4j$GZxztV?fv{lOvow3y+gx*6jB7F5hviQ;*kpIxuW4bk zZ6*w306M@Yid`-yx_H!5bKWh!`6*S3@1)psYjgqOOb<<LU0>HbzzG?{m_`uC*O(<A z8Zm?>a-g08_W}&eAu}jp_Ps;{2b_9Xoq-Sg*?4y9XBeT8N{kwnb<LYi*W2A<ikI8n z66wAw*11Hi$0ba*)SA6XZQA4ZFY<QzV=?606drR9iyvY6U~|lSnLPEI{J_($gv9lX ziib7cOlr{JoHy(GfA_k#WG7Vk+ErBJ05?^Ml%Ajtq=2lDv*9+rr;~|MMUsc~s43$F zQ=E5UNE=x(tW&lM%{y=c3oMTLFxNRLE&tvm=Xsg3)><Xrr8Z1*xG4$UK3%8#FS3VK zN;k;EO82li4qonfy_2i$_DhRCPCMcr?{E`<r>*Pjy3uGiAbt%9LzOhAI*d*U%A+*q zB8s7*^^sK+vy&hJ4HX)z#Hce5do>r4hFu7}Cj`94<?D$wtiR*MR8QNd)AsW*d(dAW zA4+W8+B&Cfu={Mo7s>fvc7%nO><o+ES}gJ+8*IMgdU^ihn0JSghjb6yIMJy!B@7i^ z*Z(`$9pzvENYVfm6fF7%rr*%{MCKV}7bZ@Lj-@aY<UIvwu%E%K4@)9l$o@N_Y$O5< z3tBi9LW9=XN*?z0_RVp7w@rR_+q<RJV6_@-20y({E?1j})rmlWd)QZb19*~BiQa3@ zi@)SEi5|A|Ubwuj*}DE;yKcQ=1B`3d`yUnv`$-^%C*p+v5=<MtPHQ|E8!;N%O}CqQ z4VBN(oDK~pA#Su@mTE8Gy{rQ0idg)iNV|By+l!ROCIHh#FDf0AZ%jz1^v_~z8A6;5 zRx{E`u{9h>uhJ90{&LKj@l!s<>)PUNu;rZq9-Db@@a)$0|Hkzx6rS!i=23|wq-a;v z7jhFoB~^{A6Ft|Bq};?0y!<w&h=D3`XEOK1SZI#7C#Zhdv0??o_UXXar6_!>C5Jr} z81Ud>^U`(luveu@j8lpPb<&1(dJ^!k>DAsJGx`ZVEJ%AOZ@BCFf8%;fK;ur{aK=&O zw8yl_>Hu~HyohLa;9;!+4PDDP0G&*kcTs+$hqW=CjoP$cdy-Z~Q&iaj^kBE<Je>t! z)J?dC>4v4dOS-!oDFx|f32CI3E~y1U1ZfHBj-|W1yBq1HQ>D)Op7T2&V5j~wvorJD z*ZmAwXbZogINkSZLOP)6$JYluCeiPF@MIIMFtqF6{X}MarC0_g@^54JHh1X&P&l|| zMjC(<E1|E7P*o5fK-su@(X{Tb;5P#ct4(xkB1RI-OsjmC5Q2dB2g@Bs);E-Th|%P@ zRB;j`qu*(TW&#O^!P;43zRT7Y?*}XrjoV+Dd<-<QR+&tKT1zxmI$|~7Y-Os_2nBN$ zrsfl^CdJuh_8GlCVTBK2ksrc(IwCfGt8{PjvvGz+J2o@xt2T1drr*3U?Fqcl=d#mL z#J$k4t%SVeCf{YaJRLI7jVl3Aca3LgRpJy>%3t_;fzyy)_c$-<blt5c(x!pDyV2M9 z08|FVz&<XJ%KHyiYHIVJ;7Svdi^gGA`B%AP7t_~j18^%Qhvp~zg_8Q>H1ephfk(l( zwBi=Hr0ukLGQX!7H`ngl5l`xSRibwj0D{qpUU7KlG_iEC>tnyM8%T^`@*;E->==i9 ztRvy1$nn={z0*4jw9RxLxV)?NKvs~3Q!~}su*}c;TlTI3K-v0kxb<bL=A3W;3+D6Z zZfXu~TFX9GGMpErUAIf0?Q-#N;ouU!?a=WkZb9iMmpG<H*N<7@T?F`6Rg{t(tfb-c zh2Zwd?*6se%9e_IyH6QC2f-MOS0j8SKEgMU^@IsJ*H&TuQulyB)1KE^$%@>#9CbT? zC#2>IXz(Hk`V0tDdV8atQ%7CAq8L^c8J1we#GZqPbTTPH9wN%&M+bA8eoTMozPw4x zOs7)6wq1>?($d@o$EJ;$@>__8oj_%|ZJtBJ;j)zdrqOp<qA<~~Bx3-1E7_ika^{z( zi62hJl?Kybr+QZ*n_Hvp{xN#6ZTHtr)TpJq*U&p0rg}Z@0ndf_jVSHb5Cm5-7JBvX zHPWjk17g$h^B^>Q`}J|>!6sj3Fg9MOTfGK%f2(l87>U6zjAEm;%+VrO&~l8z0@qx5 zpXm#lkaxkTR4I=2eWNLRpt<nYI_h!;_zXVwyHZp?Yc}Y)%aY3V53?q&5;B?MO6)so zrFNLB)TcwjV(Mu3_qL2*Lwy&Q5gXx{vl+5vns5kDHR&W94Qw4Q(l#>Uv&*|#;ChQ= zr9KiIDlv^_O%HKVH^M^_)wo;)0hfU@tKhqyD49w-RrE2~Mg)o5)%sFY#6!ErKNT;H z3~&^X7SG7SODQ;VdgO|JcQ#YPvEO>^@k4w0``@A*ktQqh(HV~VQ(ORiMFc`o9|NYP zvhH!_Sc3Kf{eIliV*sG+!FjVwdY)zf`LS&pOdpyh!|lj$WMlfOUB!R<ZVmLA3m5*g zPkN&Pks~V`8uSw#3xz64pqx3=yEilYbRg1vZ&j;0*56y*eQefsIq_Wml^?BDh+)3s zhEYOxAMps7o7Gs^?TqaH{B0+g$5JolAn{U|Ng1D~LY~iC69z*6{&X|V;xI_xAO6t; zG#$0nhws4pb*i3#dypyTerrdtQ$FnXRzPbX>8ExzKhV;07>Q$69T~9Zl_ra?jKpl; zL2E;Mxbv6#MWMhoj|T}g3=e-sC4ox36p?Jbr5V<b#42b3&R(K$CAGC@rD2+GF*(}c z7*Yjf+iIf1JPXLtEx}wF!l9cvZqu-5k5j(f+{@}oF&J9*oOJ~`v7CiG_OyM;4<H`O zdE17gs%SAVD1#9tJP&;!w<*Tk{G5U2wp|GgPPx-d(Xv1lhz~tcU`;bs1Yo9Hmf*ne z0dJ9IGZ6|mbd}9r;4isO6Q}kd2hnbqxfYIA^A;7va`yLFjy<FtM4Fg6KmH8s#8Ri+ z5+N;ML-HfDgY?J{!%JX=58jo6K}0%k8Q7Uil0yQ;c}>}84(;O;(KPh{Ty@4Zx!Gm* z+6og}B;xh)M+k~D3nTMK;@}GU&wL(BzfQEnsc<dBk7`*y4SZmvZgFJEyE~<F)GF)q zLhF~@w2_}X{FtS{S_^ufs@bIAl-<zHnj27Xg=AJO$X@nB_{%~tHBYg5$43l1;Q^lq zSWpN&wy_t^`2!8k{NIZ>UItN#MIen!lAd2Ei@Mt?v7=~^)nPvx>n|R{G1S}J?J7p5 zlw7_MEsw<(ziNH4HEgm^Dx1D{mAw{0D>?_{q~eAD9FY=RrS`r1YBTh!<wvOC4p#Zp z0xa~TZ&uk8`VD=qGL#?iE6m`!Xq5BoHCEa$vabq5@n{e6ZT)q_n)8?#{)-F;n>P7o zBBKs!N%Y1`uar=F20cx;r-~Y!Ujk0yCq9yDqV;=HBXGBff4pQDQK9(ahw+$EZ6{YS zqqOz1^~9FYNfsdD6z@Zd@o%T7cmW`p6x$~T0mN3t9eMt!+AvS>l)613HvC5&k+&gz zM+VX+ORq>!6PAYQ^fQHS&a6AjqTS?D77g3FT;5NW-A}Qq;ikDQc4$7y>))gLKmRzE z;279sJc>$VqmZC*qK{PRIF7egi}%X9&Ga*KblNhJUy2SpU?g@WI_P#8l67Rs|J-@s z`trsQ+~cfoypKn{Cn`5b9FXa$?jDtjha}+0Z_g;FfUq46zT<(jIhx#u;2fn5ydsEs z67R$T>ot3LGj3$>?_&X^q7^ghc6mNnX`Hl^SajpE!|xFe<PKKn>HeS_)PtUt&6ZYP zT;5>=r%QA3v2lxNA6fsrEfk6s@s5ov_$btpB3Y)Fl*^bi_~{zLjF9B4>Ow8eAn}Vw z-s+TOCAW9+O=4Pa6Ir!gE<uxu_PPj8=*Lg4P@wgf(U{F#*oVM^GQ!!0^J<b0qX!zK zwe}nf+SLz^zx!?UODYkuvLpoG!<q=?4t_*U?Y4+ICH|Fz8{v%|0dQZ&^P{Fq8Ljg7 z0a>8QY-b!;05fnyN+5juEhCav1iJENGiVq?RK95D7B)x*KV$Rz$HytSPIS~K>xyjQ zA`w;aEL{ZOjvxbK1a<lO?Df8qmqTvYYAmb)uB@RG%2OzlWr@IULo!b#x+kU-3XZZJ zAAqX*$uud2wgtzrMw*l6@o<cnY~|GA9Zk@NfpU6xsE84l*bL7D&MVv=jhu1y@vMMP z69P>z^m)pFJC4)*lm;`!<UpWU!Mo@)#k#E<F3O;8wG@kt?KFItPF;krB?-iKSnw=c zsY8!RlTfb1-blEhUj4vM!K<n2)qYV|)F?w_EKc-DsNhK5=^%ZA8UMW}bqF!(lhpe{ zWlw|;{6Y_ypSIO;%D)&gds*$?!fZv5b_rD($y%*liKp9m$AQTi@)E0#hx@H^Gd*2M z4>QkJ*H?ZZ!%#CWgQehY&?!B}pe@cg_{wR&iXHgF#Ck)L-#_OhgyUWrZNa798_qBO zA@Mgw^A;?7j)iV0{sc<%2`ppMgnH@Sn55Osw>Rp;;u15Ymq5Hqw0e?v$K)RYvYF~k zd}VD|a=4YYQ(aZB@lXSL^qob6+JzA(^irv*07Rrd*J$v|+xW}rT%mDU3(}6I?%%gg zIGCG5C0N#oVb=u_6^I$uEMX6T4-m4i+qRa?{8M(t)G5-ugij34Jkj-nJh`7VnCj>) z=KW8gf4?<sVq^;K9#X2P54_(eW+JJGs?-rTt+_f)Pkf7J?=rw_LraIf9yQa)h8LDy zik}}NMB<M+#*=Z03-)^BDk7HCucm~;WXxlCvn`mk#X-v$yN7Hcun{Uy3H9V%RI#Uq zeA5XzZo&;VeN9-@%|on9P!C?*28Zb72InWP@(uZa{AECa6-!W?!vE<yNWNYIH%w{^ zT*+jMe4LpMM)vj6x!{|J*hpD1-0L*YrM*)|qhn*>9wOZ(Wm@X+sW_VZI!&AK8-H{b zg`}_bC9I+@@?FK=hiC)MI{I3y0ciCfSqfCi(oA`!$=S*HV66-T+dX2c#`hjAH*8mt z<cd;-Uo=%dsub8Q%hKV3a&pXn))P>kG&H~G!_s=wuTM)lFOvB<{2hO*Ic`~TNdo=* zg8-%pYpav#tJdOYdqUh&83WSq2AKT2a?ZG9AMIKi%4xrZ#gPv_JIUaHwR0M^_dN49 z4zMOzb&5UH$}&Pe<23`g^W~^h-hS>OP?qJyG_a(!!=C?s<zfAl9sv_QMf+G-^*MwI zm;F~oTZdRWqO8$ZXY~~Wlq5wWsbVDJ9P!Tzg59y2o%wkDGDD4y>od(bLLz<wcJF+= zI#o}NL*aK@n4sfTN+F|Fegk>rrX^vfLV;#wwvrVnmqlbt(G(ckS`Gv&tUUb1fTa+< z(N;Hc7s|_Q=wCH+;Y&*^6%{a_n|H)=F`0^N{u@ZhFpXNP<}Y3wZa%mS*4;3c<tVWh zlf}cbel4L<<0=tjhdyx<xVLH?G%+#X&`zX=bW)X2!cqPz>qXnM$|6uI*35nd_EI(% z4)@rxaMV|Ioq~S)#q9;sCY}^xy%(DDUCvo3gPW|A3B@%SomXi}Kw7CtB%Ex78OrTS z(R~YJgX!X8lZ9op;tx2RR9bB@NBud(KAF(%QX(G4C)pw_BWMN8N$3Dqb!A*w*uQHb z$7tD_g$s}!pfBE~w&S$Z3#kg$#-jY%<(=c>r#751Sn-^e@7rZ*!bw(XD#eF+9g=^U zH<NYDbyyLejEAsZ3K&$Rs~lNson_JylS1W_$7$`Da*~dtHg<_;3=0yq(`Ok(wgeTP z`41drDA>ELkU~nKf5%LR0ysQ9D+rG9q2Z75z~zA)YSo59I7gAN;II9~n_U9qd4KGA zQ-wZcN*w}6fP5bcK)xvLB!h|5U2#<;Vs?0w+XX}Pa7Riw0NcP>_z7p(AK{H0p~@)P znaqH}D8g(H2<RErz`IZ{Qc>o*$j!k^3}JdZPM$UDs)vORS*p(#5390IJuNhnBS`O| zjEJsRa@8Zy;N5j*9TQL8Ti22GE}Y-0H&2c4SybT^klSk~{T%ox&VJ&l&{r8I6YX+3 zoWUO?)|sUhm@b)Lwnm<QHx`5|)Gqp?{HLV*20O7r#Dv(6KHgEFoi8aE>yZ<s;tie; zA@gP|;x;M1auX%9L8+j+DE~ng;geOlYWfpp>EqXJQnq1&$r7Rx#GBzbJbFT<6O}h5 zcq9}B%@TDXs`R}y&#f<VOLWA8km=t0uZ37hcso3$EP1iuD?=WvPF3{6$@#~Qj-v%$ z+{q7ALjXAH=^?-%<-MwIo@S;8Il;Uv=wOD9hZjknjh-D%u{0!FC}@KEC~-FGxL%37 zmjEGGg9BG|Xtn;slK4?{`Uo7V`I7m1Yvh@^D{+Rwvk@!ey=%@>e+puwvzTp(5}<qn z8-4o%5!KuFo!bG16DDSpQN2~PJjfxXZ&XBK%tM5jAyR~DnWBmGU0qLZYa9!G7M74Y z+HG=~9}h2wvp`chUx+>`tsV>NZ9;(lm=2tm>#CzkF09h+);zFoD1$3sp$YSOpB)tz z(V!GCSRX+vH#|vXspMxQPNG}_?#y!}&L7IUhb5$Itl5z~O-kBCq(fE3$h0iwiS$Ar zQVqFmQSI|nA7jo?R5t-z=AmOwSBpkW&NDQ`0gsRN=GzId6Q^PoqJ?EzP;_R7)GG!P zp(kP*5oqk;j}aN+KyDHeBX(?YjNGVcREphDyx*YjR_6{-I8lm2HyzOvbD7Hzq@LVb zTos9&uaeZy=5531q^l`$aazfR8iFV`9M!kYat}G-B94kP9=1-BQFE%RgmOD{Xk@Uo z$o+h;{EVR;_e|@<=vTNXuv@u-L@q8l-bl>!;WeuDJwAMg)1l^tf<Ajk)=c%qVNL(K z=GiuCOdvjbzz0GUN3?#1u{fTT<_xWBP2WK$hJ?bSZmh4-;zhe+1rs`w=WS(?NUb2m z-tNuT7y3oKZ~5f9QMpee&6X9UzFLbVjxvTtk#xTNRJ2cDv{8!um_Y)#bDFfqxOCQB zpUI7A|4O7Z%Qt`Adl4h2VtJ3E!kwQfWmy20Go8Mh*`Dj`XFsPesUn;AK`O?v>o@1| zu}h?-on%T<U2A=@T&%&C;doF*!a5|fEV%+_7hIqQ!OI2r@@V03Y{(*lnwP;OI1yBs zbHxX8`b8edUf)v~e%KW2+MXg7Aa;T*C>Ha6d&q+#|5kix30e50q&gz<i#tp}i^Nx$ z^g7XpFYD<mbCXz&ZtC^@+hEgRc<9GdAX6DG#atM27S*E7yk@kUCB62d#jjjvRZ|tM zNGC~JhN$`Z%AuUheGu#2asYxxc<5L5<s*f+)rEzZ)SOP>u;@5+acuJK9!@*U9q|u8 zD0%W-94TjYlP0l{S>CyIP}@w~ScaqY!vc8^rr`STPe7->NK(zNec-X($MzNi25xvb zPtD$%XuAR>Te<|&`C&;0eBe7g`R`?Nqu%oxJyW%SDLnHycS7}+vN2r>vO@i$_COSi zSUgoHw)}AJ!Ce_CezbHn`%St_^_p2+9=q16t`HD%#Bh)=N@55`^4H8fC5cR8`i~1o zG*oi}Epe1c{R{Tus629$Ma#3ig9uH^Fo`W)iXE*$J+PXgtk1rf$y3bc18UzkO3_Ya zM`d4{5E!N~eHj<#&lGWnjQZll5ax#e7G^-e1__VzLlqJ}0tYvkLjq)fED{sMgk5Wu zNKu@Xw_P_@!Q_D8wp)hhnx|@RuBO}kbr1dX4ybqXnrWb_<Xg#UU2(I{!z#(MsxE^U zZ_`&Ps4qIn$wT_Z@s?>9?#TnT`SXHnzr3`2kX%>oUs01DBE7}mVxxdw%;FB$fDx~T zod~Z5^Ty{7oAq=iO}BBdAn!6wCd~-ztO%AS`n4`SUmSJByTkZu;rUc_ZDdqtF*$N- zrPEiK%ZBv$8LecFGAq{wCzPm{*T3n=<wu_wH7SP{y7PV}e+gaxosj<ip4Q-W<Q>ln zLSfluJs@t#ta9s*-{a>``kS4x6SF@|UCwiIR%b5fC>v7)>Ur_}x)|=04LOF2sD*k9 z#&K_?F$5@LA0lUS{Fm><%|A)kf|=CO;6cXkuW|UgKQen1%;n_GWthbOD8ro&k36C% zMZVGEMb5*JL+p@nnz@IOu2Me#=ba&VJ($+S3E=x;oB05dVK3}>J5H@v$X}WVgk3dH zusF#1f!q@m^!iv7Mp0<|#*#1*XpP6RS=`yp%BW_%{Acc5aD%909&bGPL_&C1HxQps zlYT~6Kb~?Ss-+g;I0-F**C;rfB>O+tjZQEXa(*sdz~%P6C}3?|DS>dyPDD`s+BjSY z+fsMj-o+<d375g~ukIJNOm$~{>Q?gqG^ZT;wqtiyr$C_DV>+eYo3Kt&CI)}ZBUiDN zRt16R9G!&Rvg{t_-6$TbTm4EM`0?Nmn`SWarSc6#jQN}7O*wUnKL_ldgKLF6ZD1FF zUHewPPhl&}C1sSB`@;nHeAC}2I4QI_)Biem<*{r@RMHdGKZYv9+63o)0*vXyluI`g z%)3IM)hL<~g_g}DF)L+@AI)IAqtYuQAw%`}%x<{EcIEfDBk43fN<has6z1O{1%!DX z=FFUiyus`flYL)sK}`QkA>7}90C*K*k6OBvHvV2AEyw;pX{^vP&nfDY!d<U)cZm8; zXC0dxExewBC|#54w+4GVszV}j@1)N>@3*tu#_6te`()tV<#wDVe*Du(i!&0FAvcX< z)@~<a^{*dRL~n3mWo~zGN~+Jvz^fv>R}dD(D=L^Xw6>75&L72^{ZH!L2?nwIKQwFx zA^SrX%baV?2XH3c#qLx@Y$R_|0{IvXG_S$YA;}BW3x`1QeB!|lp7AB^<x;RI_J4jR zjb`Wn>%*Z@LDLNuw74W&?0*{?g(5rxOlXC#hw!GnlQs){j{SDwF8Wz<rchWbRzG5x zU$0;eCePl3j5R!8f__FvcLi;*=OosGK}T}YqEqV7C<Q9^<ADN8NqvBM@P_yunSG(R zJknRlEu?9UYHkX-7mIL-v;cwZ*!n-kHI^uhw~Xm2a_o5WOcV*RI%V49k0q!yjWOZG zc)3_`Yuh-#KXp($H3m$>X&yZMBn}%$YT92Jw6U>X!DT4`oly7*|C8D-Q|nPXU_6d- z`-dDmOaXh`CduAFR?F2h*FWse32nH1_HLdzTh}QUU|_Dh?Os}=a@ddqELF~0?CGLb z(nA&YasmFj2P@pcqL1*B0cPCa@9tqBK5tcZ@Yw6)-@8vRhgLOiTg5l>*{NJD1BCgh zYwl}d+7(5<>APlqhD+!C)j@xvsD<nXMo542*%pLS+Fe4H7B<XXCZuD}2&DEr+sqiD zXZyYeYSco;r`)fHsa=ReUTkxu?^o36TAbV8MQKg=*%<}ydwGj6k*p1^t^qT^$+Eed zM$szaNbfDKiBulw8U`|(pSuaB9*4AFYyhvdFv|L0LwDVmt+P5*pT?#vys5^)1dcaS z95vp?Ij9rj-K?TZ6K=fA8AAgco6=mw?l8B4t_~APr>2XCA1|s>7uQ#F`)*B3;Iq_y zyl+2KUW?aK3G-d%jKo&2bM|*0zms!M@%iZmGftu8f&)9A^NOvrtEKjl+9(|bVdgP; zl1_*u9HOUN?jo6E{ZtwKu%zwRt1IwcXoks=+5~Ird<!2G#0nMe>z9@8-NpS)-Pg*W zQn_kQ&YPc}#r(UOz{vrx*V@%;Z?h<$p=aiC$1U!<YKFHJe}^ZD%{&|gmVfQe-(76G z>H}cbF-QR8(Jq+BiQMjhUYFDp7IljIGE5o`%iF<D+HK({wQiaDevFD_#bS$bEU+x) zx2GvqBVl3op5NN1rV*SC3+U93&%623+^CVZcglI)lD-BTFFHZK0Z+<*AAqo2(tR1= z4vx+jPyf{_P%-TL!-ln{P_^A8A8--85@xM?3$ZmI5N14B!Z|7GG&r{zA?5U6*#)M) zUQm-fvZ0j6ggtc)C_Or-V#A)dI+v~8%SQ$r0;e;q4*-32s|>P4I-+3bPJ#4$_jf~< zN6vR?uWZJ{K^>ZlYigswx>6>OXJfwQ>c@cr99>IVAKphLobs=VnTk(b8$mz7rs}sU zn_NYHEgR0Wh@AydE5weE0qMOP+Jeg(s$8jujJS#okJdkrWt(E011G&re%1YDNPqfG zONYeO3Gy9&+yhF30RB&R@%Vc-w!TBM*RX%NEf}AnB=*eN;7P3C*7an=9pzaog4gs% z563Z-kVn_-g72{`Ab1M+tsy+AynpE!{`e<!?<P)kloQ4H)T6q1_bz+3bpI|OXCE|* z_-y!`uoxKdLh=_vvf+`^ILST=1ne)(UFQuoG}LXH#e*xcQ)VM3U<);9F^Y-#Pb_Rr zC8FWZu9>{RcrC2MTS}qiuQ(t6LRJLo49y9R14hT}LB5kU2HWRXHS<*k<frbmk{s{c z-`rNbyv<iS{fvEob!8>IJZ8Z3j&ns@Y|rK2P{v$AoEgt@Bl}Yl4Ud=qB06f12}?N9 zxD)6N*Wu$YMVtdY;(n*@0%NAy$Em&a&pTOB%8%hoEkRC#g_(VNfQ<6~iCSpgQ^JS* z-@A4f%N8+b`91gJ_d73ASzGR}&;^U7wXrM6*TqX1{e7mm_3Unr0yo_kIyvYIaLg)# zEM#FJLp@Ym3|3JjPHieLKLQ?G$xgR{b)QV{;RO25f$uve_onFQP^R~G+I!q-?seFv z|M^m-?gI-o4(6qtTAFF@spLG57z8`qZz{l*a~J)YdT-wdB!B&q3j(mG0#+(q93FLx zVMK6H<7`qovu<^V3{Knf!TA-TM8$80f%Fwm7O|{J9|KeRyN7>8lfd?WR{1K?eZ02) zu4;b<z}lX>k(t;KKB7i0DC=V}NHvA&q&wQG5xYa|Ak>9bjA;m#AR`5;HNqdfsG&RR zNG)X8e0P#`2sukY(qIlVHG4TD17w`fTk$UcHy)VRkmST2*q9^V*I%fLpfdihn%R$a z%VT(G>-fQAsD{Dsfg6zVRY-C8FDz?0CHfX)n7VIS`-Y42CBz6*!*~9C=Y=&(<pv@u znC-KC|8_e>U>qn&M?c&r)dKEVUu3&7g1Ihn&-NKX`wn6rq11Eh<l16%$D(Gt%ov!x zN!^ht>wEWC1~oWc)QLUJ&Hb#uh#G_cJYMUEYK8k<fOyYM5g0j@e_u;Uz8~%@YS=M6 zOJJ5FmX;yt>0<_CP<wSzR+FEuE*gH~9_e%Vxj15AIY!<1HQmTcqXNBjLb772&uhUJ z|9E)OePIa7_T{p4F%qUQ_@N=Z5%j&Mue0iX`{|8uQeT{|<&|<C2kt~)cB6S!oSI!{ z%gScq^Fg!mht09G>Tln^1$V6njnF-^0(tc$uKfI2sT;*}1S)S}uqiCOo3rV{5A%68 z0KwxNLtd#3NMc%C1UJ<N;V(R%AA~ZTBVdMG0oW+UUz(c!SX3Ju+v+h92N#IO@P@r| zk1?1Dk4=UJS2t2IwKzK$Kl|lYG^PFms=1SREKg<yTYTTD6LoSe7O7i(nbv51dHo*y zcf*o!r15(6aK9=esqmzYFV_$65kjQqly3d8Nq-!8<GIo10C_fCr9mgS`keZ^^&Dq` zh5H+m&=i++#C++|ZR+OOKRO2H3&98X!iC2iv|(Hc3yedhMt&H8v#nmdT?F+pjy&^| z(XO5!{o2drSKg$U-#@$5J*7r_46#si4;+By@3twb!|%+m4EGbh4z?R{c!-%w%3pcv zIzKL`A~tNA>EW!Ywi#hB(1On@q89{UiG+yP?W^$}_05D!#k?1O7kZ>R<izr9zbgmG zhzTRQqYt2q`RD~ln>95ihr<pA+c2F2TXK23@1hx#7l)gbh`2cu3Od_a7Ayht8%6!& zS@MqWg=ZWb__$X7Z#65`5?)94nMO2;P8Q1%9{nD#Bst=Kf=>E7=(%~vLw=?&wtPT# z)+2huan~b3Qb$idsERUUEiUuBtX7qEyk4laG>DdPmER|Y{fhM*hn*XCoUD;_`q@1q zM{$Ai@VaD9L_M3Q0s1l1()cdtg7|w^&0pa%-*|ySuj|4R%cTXl={?yhJ*E9NYMu-X zHj651*ir40I%WAGCVyRER?rc4GSoRW!GSVHYeWr!GBj3v+F~nmKT?0$YFRbazqPBb z-oW#ocK6;tt1uOA{3#cdu1f<eVq3H#L9V6she<<bd3I76`)n5cD?xBmLKR=BQ7BM8 z2s*x<uj#a=F+TKA(Pnx)uziKn0i4n8aOrp^lW<y+1CX@ZSF7EfOv2owBB&c1EVR_( zBsfU%_!?`LJ;w4Xml9+UJKwaH<zVMcSS5NWMeY4}tX=JEt$-nXye$>Fmd@1Y?O^Ax z6it40w5t0bSrTB2$emLJD2*B4CID~my^a8x3!?xC#CZO9rTGP1QTXvmTwut4lU+2i z&vFtYxJ^Oq2MI4#jKUT6Qlc|wF*Rz_wmyZqFU|6qq0^Rc#Ra7eiNQZhyTdDp9pe#D zG&GrC)CuDq(G@`<y}C+8&osaRUFWqT)Rpx%6~hg3+gQ{6UcT7r=ur0B<-bbzfg73) z4O{?0oHG~gLu$PirEn(N2fs@7@B|OA1ntMtbT4imOr+kuPbz?d<Y>tZqKD>Vo5g?r zfYa2A5sAjk=$DM_05`oau)j9;`>3TTb%qlJ=DX=<cUiUrh!WMZS;gSn&E)|$n4sX) zhzSO4b%K%662OU6!JaZr1~F1Fk41D9);c89X5$(e>)bbMXN`|)boV;QIOOHu3M6yh z)ZEd*S(*Ib3BF0H6)5OG=IBl3u-td(Q4!rE`Qw9j1Eh{@2QBMsC@n$mTc-^H@pg0E z14h`}Eu%^5^Q!}l;+xtA5)tWQk1N0^yqL{oF<6MLj89mM;RT%=j||8jKsuG%y%5+6 zKHFGYgzSta8&2g^W`DnHV)=Ju4{`-ipc-KJ{3&hsv`Mm9#J{Ll<&ZHq8LyttZ0X*! z5{xs`F*x*t+y*pL)cWgldm6?b$xg1=Q#dP%!O*t#KI%?TTV0wtR~IatJBo0mgQ%Jf zD3gPz#Va<YyjP?Uwk)MCwgL~ySORQ6K7J$jcod2cNofo^h8bAiL%hM|`(5&Xz5jGP zX}y@dsJ-^5FYfwH;YAbRHb*qXsW?zCwX)f8U;Albs?H*e8VO>bX@kx+SmSM#W8i(H zUj82=Y{jqU|Fg{^#sd=moeA!kMaMOe6OQ^K_XQCa*Eaq&sE{CCd4`nSKT~XG99a=) zy=Z$Ds8+)KdX{DhBlJ@JDP-DoKHgd4JXlOZm=}jvl3>f+?BXq(v$nedpOAK~Gq+9{ zxIyz(7oA^BQw&q!KxlHM>K}r*Q7>%ZP-76Vjf_r<HQN)7AbtoT2M6bslEO1dJb<RP z*LcZATS8g&X`H@(W3wHWp^9)4`m!9IYgPXbfV3_*o1xN{F6pvtI9j1hDeI@MX2WVP zHD*Goph|fwSfGT0=(G3YG;H(curjj`;e2Ls&F_)-(`Gc?B;(H-{tzzKdgV!;S8e&b zSauIYP(gSrFaCznd+&_8aP;;dESi#tvs``#f)C%nwf(E^5SXkAOTB@x!W1`}H3D=* zA!B9I!5ad6uDkzHi(p0m+fJT?5D5;&)*(L-Y@!#A>YA11_8&}m9*m&@h?rF41|)#b z0#ik2(dYE2oM`fl2IxY38Ov$^03#=7k*r%nDofv=*p)jAe=<hBoY)%q+jSQ#z55yp z_#%I*>5Sp!6PZdXR;l^7kS%3|CpGLfoy9YJe3#Xb`^ABlBSpn7r0dwo4d%)CccK_L zcpj5BAgj&2I-dTDx8d0sVVS!w&|)0^<_U}0D)5@>IjGXUbP5W0%Q`suA4PZ+Z1R`L z!Pk$@Yd2=f-vIPeJ#w!i-^}I1r?K7&KWU1erWY#J-}faCxj4srZ+@Tsdm1VOGZ}q? zmI*9=SJt08^71KyIsT{PPe+@UM3QAqmNPFuC<4}U2jE;zY$^?wygFk>IG&mnD_$#K zpV3}FgDw4nxJffIDEGr)F(Qr-r4Rb!NA=qZ!6#MUIEnA$@r)?9)eiZVJ)HQb8+Cu% zJO@5MGrh)bd_Wvx81JgiDifG~T}_AS;hu!7=@vp3csv7{NiXh2TQM~Grhsi74m25O z+|jSsCNsFA`T|OU?V`_X|ByAc=d2+eS&iAp?2jR~a7_lq8|ScP-&-pr1I#54>3Jun zWv(89e1SEzND-5mebJ7y)0vv$PaTLd(eTpw^5Py$;!rM=pBy$(G&zHG5PxQ)$8=t4 zOdQuoqEFICX8IG~`v)i<X*+UEdhw1$)cH<AZ>lWFlS&dN@jqs9_X1lNPDGAW^Dd28 zB4dJ_E5kn7ptLy_iKil?2TqBFp3H)ZJoramrug*ZH^oX#6NDry?>!zs|2NZr++cJU zMZ`Cxmk9TF-1rR7Ik{cr^1JM3iTvk4U8@R*NuUUtSuQI(a#tQHS<L%iM*+bIjp=58 zh%pNDKbige{pYR>kE*DM5l?=)Q$$O|AsIg@fTNuC-WigN`1edNk7CXon>SlAZ+j2- z@S)@%K4KP^E`LY1xMq=V``3H=V14h8p8MY)8&akb66B*y4>R8_uJLT_N8GrgpzBA0 zJP-|#in1eD>=fCFM|HNsLy(J*o~SP<6z@8HOM9)q{fA#dwi13|^{OHcSLJEKQk^JO z5WozSLcwQ^3mX#B-I}#4Dr%Mb)%F(3(V3LSa?hLRnJqXt3L<p~>qc=V!NI^T_8;c9 z<cbRP-#UDCjtL2=`K0@fk$#&+nIY$CpJ7wgN*A*J#mkxhwPGguMSzSJhv#c-;89?= z9l|?@f77V#87GzbkIsd*k#>i}kvZt7H$7-tG|*s_f#{gdByFYlAeV>w4XvbRn~<vd zU{BxVBP6m8q2qqf@UKa6AZ*toajm;@7h+=p;)wH9iV95+4`fdOwd(Lo-nNkH)M(=7 zdQseOPHM^_;4SOb5W5tw@<<C?NfM`a<QMl+p25JE;9?MzG4f-T(GIayXefve3lXVp z#<skl;wS3^+B}?Ep)3(M3o?sq_+!6$OmG-l1^Sr0)$zFU1raI*Z963UbhV}O-9PB# zv1)3tQw5)x%c@K*T^^?ubuCj~ESiVIP`59>rREa*-tmV+n`&k;asp*U-MOuhLpx?j z!5iOz{gUsUKkr)INCM4ajEA)62IR%cOb9vZb3Ksske{HRXeeiXO#1KusAZrm<6z1j zhwvz&QT}BR$%4N47dNFq?qq?IPTUc&<J?KpgnyuDvPq~N_W0eYhC)%(&eBM|&M7fJ z-uLmO!m}~WFxdcj-M$u~<luhRCrvDjXm=j(DuZfjXnR9K>V0?Y8L1HaVP@k5@eg0u zlws9B9sldgozI`Ux3jH0gkLHhGjstq)^#=3$jA0>7Pf{2vN!oXe^lfUo4y8}Fi)DZ zeGzz-3tWEZGrkwoJHd*5=Zfp!#AE*3B>5j7^4bR#3x^;o9`*N$nX8RGiP0F9|Mdwf zb(aE1_~{Or<NAz1rCC~gs2dT5V{aMZO?OtfN9RR<Vlh=HMC9X>4|IqXALWAsUH_Fe z0o~Kd?1+L~X$B}7MH%V4v(Sf~i>91zmwJdgkyxJ#TFR%AjJ5VxGWY(H5W|?9jP&5} zGl=v8;*@t6^KL+sXo;iz%>HqBTVjf_wAid+?O$_EMP|6A){xMs^Pql{u#=+L+h3X{ z&Kj>@js_hymiJA>x#_R^(Sbbu_UslhvvjKiEye^Vdk$My65J&f$0(q~e>mPlB?W}3 zf!WbpwQT$u`m9Dh8m(e3Ag-TtV(Yru_t#oBV~bbYCPo-eYnewPAI}zubn7ak9nd^9 z!lq<knT9&c+ae;}o)05lUT6$bRr;f%OJ6_l*wTccQ!j=h@mqdZpVW)40hRrNi1E_! zqi13*@L^h2Zl>w(OYtrQfHn0E&5bfU^H`l(<0R`haA%nRm2_cLTpmy$)#FAP8)O9; zVUVzU#t;+QTn{Kxtq_=Upe>UaayaVV#s6hQh$%y1Tcj+~j7phnSy)9(b$~vFX?4PQ z_1|E*XKAAGMc{b+UV_L}bg0MEVhhq^E|=Vha(KK=!%?IsHKHPYBZEK0Q?-v8g_Wei z*hjr}HS9FQJJ$S2TiEhl{hMvmzxGsDQPlX)E*k(SpIZ(HIre}IqzT@rjxtdnKQ(lE zFoPA{<vcI@@nTD?3!jV_^~wZ>qtT9a2RSDoKK-FGL6*#jE7vQglPI(c|KPPbXzp0q z*2%b6678`VTWCPXUYS`RnW~_>p7D_6N`D_8`G+tta+yW6EN5CPI#Dk9kTKyvIH@HI z|J`~XqIg2=AXT;2*Z<~d1Bj?#iukNm$bc0^w_GJ;B@7x3Cc1=3MmTfB<}vBcAI@N* zlvHQ57}7s+nyL{3Bw=O|HIfWGA88P$A^I|PCs?-yJJkU_Jh}f-o<LLUVXouertQS9 zj&eC26$VTnuZyMu&fKuJDd(N_HxtepQ>=dq{{CPs|F^UvV5!U=?%Y;WQG|WlL;#aX zd>IEq97*^5ua`H_jsT3-@-MDvKjRXk*5ok+NI-G(`JABBlv9toLr6czg9vGwK%osh zZc-!`iM9&kG%4B}j#I0F`GiXW0gnlGCn039uiT+|a;^VX_H8Sk7y6+Q<1F3ZQ!JIA z{!r8r>1ZH|5;7Xc9Y>16`Xg%uBu+3=M=UeODiAN6x13qnOZik(i}71LI*R`SU}_wf zVFA(i7bzk_!oP{11%-vAL~rd$FCl2#7eJPj?5Op4-|Su#pnz!5WS>h>)<V!TqC|qb z?Yk<sRmz%(tnZ$e(NCJrd7wcf&`AMFn8w^pEXMF>dnzBge_N_>rANA=U|go+c%u2V zs^y63aC;reY(Q(|XPtugYUlPp`mSRg5!pxw1|^NahV(b9gjU>2ZcAo5{P47H`Ppd1 z6?`k<aNGOVB?sCHfAqh>hc`;~<gWc|>%G`_;rb8)rA1s>xLP5qu(wfCI~aKSW*a*o zh2U=$XJm^C@%}nnwv@wIUrtV6fcd=PG%E!)Z16}<>%Z+4cjKJvaSss#-B>=Tq_OQH zG?FEa|7-CYl+LXG!)yrut^?n!08q5qw#JND&vSrS;!)U;pfn}ouMZasZa=Le3x(jS z$8<L#Fuh33%gu8>P`c06DXmW4tz2FO@-UyqxlQoz?_jIe1?3idnC^6>A|05F8ch*P zhlRvIY2{)8MU|~MOn>D(no^lgL9&D7TAxl+M~LxX$tE~5Iz`hvBCAw+%LvYV0hB7Q zN$Y^#ma+~l&>{a@#D|N|ax_J4h;Y5f`gxUN4=mS&<X^Ncxm3@lx3+=69AeCNe1%Pl zOtOBvzHWA=Gqf=tJ2KX|n=f(6bq03C9Ovnl$y1lsvP$J=j+`$4n)#_3)4f7-f7!TD z6@u1I{#66D-T2MZz#cBNB0h7puDw5KL%%}>yLUzbNj6Y_@EV~rU*i5CRr1VY;xAN; zPucKP1D+8}vSMQQ<LYLV66z@2zdgcukyELreID9ni#tH<M@8FFhU=LRo~ar4Q!)mB z_(XAS9{RYs9{juuWK~g(@pz=rV5DklTHZLGVu6w;-cPgT0XL*>%ER5N4of5;Ap&A= zlmE^8Eh7>c6m04go;!?u$nZ_SjEU7nQ5GBQ;qP51%V9kTi%Pr(ox-p2_He?hWy77+ zT&>=QAF>&B4g5U7gV)NKT+m+G#-pd`?DI(#_%;y3np{w--9qLFu&=rfTc*-YI0=Oa z{6`!?RLs`7-^fD1D7ve91+yv<qgsJCltO+6dTp|+g%iAFr}r^vvzmM6X2Rl;IQ3qD zn4N%NiZHMsoa9J}sGJP5u6kGoM-=uiJe}IGmQ~oSmF|jDq}?U;veG_v$3N39d7Yku z3$KTuDje+AiB=%JlpFz}D(1HS8|UhHw(0QXODm>A5@5@fhwCNDK+?0@PeB_Gq)1l_ zx)(W$i$!5ni_%p>aL7>f=Yu%1LPp#n4fkhQEkmHDd3QW^e}nsmN(w^g1hIv8X04Z< zylX$DQ1${?m;1=an8>W{$DI9D)ddOnV|dB%b%_&X^?`EdyjJ6505%`Iyc5Z9Wxacg zl42)nsou}6xOWq%VfCr^{hKW?^zn`#+Mj)4`Y!)BwowLi&{Ye<dpnuPTmi&qkUGeX z{*I%VAU;v}KA3Pw?tO8LhbiTO*JGlD)VU(fYfVMh+Ib4@pJ)3v<CMKX^t3H$DM^m5 zb;_p4r=jcLp8iHS*N}~~u?!8UJ;Ab#@*|h@TneJJ)9dUsImY4Vk7-kfCok1?@GIUA z-cnUDADD>MR$x<2%5ccD;%g&?Iux$FSotU4zH#?;El3uC%J_M#&Jg%9yU$C?T}FuD zrHpE?_V;3vKXvLB@#DrDabph7KbxM18Y*t7(!r)de*(sLZtUGUnf{n&y82l(PS?8p ziGJM6og?_bbmHhsOEL*Bvm$xA{|v^t7bvy~Y<^{_`<SGt_s?pAW{KiO2{nP;4s=QC z1M)<A)Pj46%wv^f94~oKZcH<E0NE8O&d#_NI2*7u`r*Vywyn+fdVXi{ebo}OUp?^h zZY{{)=*1_0!h#z*<=Jgx%5}13l=#bGMchtJ(3~Q7%)O5EbhtWy#3Fj*YZ+>I+CSzU z5@$qyfRXTJPE36Y@I?nLk>+nBPg0SIIRbc$bIU{5QUqiA6f;!dTD~e#G5JQ7+6z{Q zWr#U7F##t^+f#!YYgK4Z5DMT?yLQj~Ta0AU+<WNQ)@$PFO`c?(glik%xH>}2;ICU? za2Lr^V3oJo#@1`{7yrvRgTzMY?Vq^Ip~|1)KS9sp)eI**a_}eu;SF&G^jm3Nk)oNY z>d`FsWJh5JfB2~v%Ym~j#o=$?{E#(gRCDA^FSc%o>EYu2bX{Mq{q1A4<Liq<#+hqV zaNDx`^Dhm*MG#*f;X8AEe|6}H&)n8nSmM>2vCXsUx;NhOxxzm#ow=%RUoON-0!%h- zha4HhR#17(OsP7ju;Yy)k*J}6F^z?H&-67d8>8NmmyAP-F!1PeKl!f_P~<<m0Xv_u zW=n^9xkN=-8jB`=-C3Fv(IQZL{iF#p#h*8Qc_ThGhEK6|AgxpDeA0N(Y2?2A@=z-A zER@g6)do&h>OL*JyccqY4W#lo%jms(B38<ysU)_Z>FM1G*K^ZTVi4sujXvl~x;e-$ zinp#Cv#YAB1eEhiU8t3N@hdZWp@B_h9UZ69GwaI{&|XeCEr0oztUz0yx>?ML@H4lR z`x45BjXo~kbEz$T4lZfcvL0gYACeUZUly*DU=X0AIm>?Ih=B8oa;;V|b}kiZ;gi@O z@(H!})~TLqys))ek9FIjn0cc>1w*rqiN-$ZT`$EFyo(nYm6x}e>>u6ziZHUQ;BR|s z)T)+p1kCja3*ey|nK9p9q10=IWNX~+xzDD_@3spH0*u`!r)DLb;$kwu8?aDHi%tV$ zcWNbma>XaZ_niWV6D#lL_}4ynMD+OuztnKnT<od=m5KuzFU~JI)MFF9j#>1##>^Bi zT7zPQv`$xpjF-%(TOpCi%_fxM_RC`NVv$@ZW}Z==y$OiJspvLzCB;wbIGA&aIEX?t z=gBD%MgBquahI)&Q84dsd+K{wu7LxfM|BZ}(*)4?GUHSrqm`yvTdX{%zA6|)c*P=2 z<V(@G7w_`hKSo{QeGdZ5-Kkvi4;H4c=TNP(!S#KmJ^Z?IdmX<Y8u8?4ykXOezTr<W z)d-w}T_R<x8_Ncvn)rg0lUMkU`1fNpg!lkzJ=MYy;=1SWsyvTIOp|mqAAk2BQsOHE zpgQ>Q=T0lho8FXmhyJSN(g0A0!;}8?h6}1bVkow0Za(Z<`U>hf;GicJ?8P!gLnO~7 zXKlzmV8?@Okx|9>&QR3&rOcsccHI3X8iOX!nLX`L)R>T{dg-qJQrZgZ;S&1mcLMa_ zezTM+l%X04gMHsD1V81Iz;5;nn{O3~;;(P_RO`40jtr}3Pf&l<hgsiWK4aahS|{BL z&EUD#RRs@$xbPYH5L&<zK|~2F?KnIn#}<>j+bAs3cvBIQ8GZO~9q8xQ%OOMfPcG87 z`5NzT4wksTe?4tob~s;$QR!}z=#Ez(-9m@Vm|PThwCw>KIHFFU1hHxN93TSC@iG0m z>Zgjr&)F#cAvwcH_7aPCB=tBbV1A)d>P2>ic(u@<&@{zCF%$r1zUWcQ!j2|v`{TSv zHq9Dd3tn~c2CP{olLe$16?w0anio4<4SX+=aw^w`nIgjxeEaruZmLiGsISN^bpLha z_uSN*68y)prUQs2gMT6ie{QsBa`WUE1to8!&z`@Z!QMUuPqd|~EBp@5m?X+)M$c5F zW57!`v6nIm*v+zoS6zY=;G`s45j56!qOJmncBn@{kD*Jk)UKpY-knQq>_P#o<wP%? z!4VyMYQztifV=?Z0<8>E6WNn@*PTdRyZs=^x{lW<>+<dJi_T(jWp144YclPu=RY-H z?1L_kI>WR=Avgb^xWZsG*Pc>=YL5P|d{IuRH(&4hsfqDObG&SoYM~PY2Sw`q8<9*Y zSdYQ8OMkeD1eT2o%F=dLQP>Q2?;qT|wY$3L*i|=kOqG_xQBXd8=^;-XcA-AM$W`Y6 z#_zNpK#2KqkXkFC+(4?Nce#gvue6b3WRNd7ik8gu@~qdIO}#g=GUvYU-Y8obAQ_8F z2g9DGYw+JO)?Xg(p>con{X00jJgIH=u1*9Oe+%XquFj{eyz&0*g1fM$uArvH9ClOV zKzxn?#+qAh`QM-zyri8w7L02q-b+$;Hi3~djr+>H(sMx1ZPl2%JlM4pXv~A5Zt#-P z$1;s@b%=HbLh@qA!(>+h$)rsH21&_vF&HLCc<9|+&a~bK?^QCf14qhDL7{Mc;;Ib) zTJD+SnFn^!aG<*W^re!gLOgl7DdY#5O6H?jT5LC>SqNCS>X6lp4*J*I4BQxte?|~O zv2L%KGe%A9pm)^%hKiDyraK+}k+?X~O?f$oc@36SV&ow^Ir_`Hs3gmPkQTosjuLq9 zjcm5lem~(f$G*XzMFw93FJ8IQte3_Y$NGVtmyZXK@q&sHvDT{K2M`swn~H-4v5%{V zzBSzrtu(=ukP4^tM}Dk$qyH&Idq2{(cDkQ|h{aeU1rk|nW286vWNtnhh(hA#af0%A z%dzh>U5C{3LLg?4y+_IC>%f9UUp(qX%k&SCNFPmK&7jo1`0KdK1BO3m2`m<_-qypD z>L?`$e?dL8E%TeY#z!4bwp`-BtVaq|wy94gYc?mZ5scar-<wft5$n&z(tU8>(ARH8 z>MD`iLfAj?aYG${Fb^~bu$$%RaJ*Y>eKB1k`W^3=bktykqes@S!<M&Kp0yFxKpx>Z zZBZchSw>2_@)u8B70nx<2}&a}v@NdZ)|pZ+A{s5%QqWUr<=3J}PE$Fy4w!?bZfhO9 z-9(v#G8*9-Dsl<?5>&^$mX9zR7Y7<k?rFPoqSt*pgnuX&9I?2|;~v7&yS{_tn$;R= zRvaX@1cqVQxjBWV0;cHB;RzwVIr0y2k#f!5UM`{EB_$fHuXJ`7b-q2kWQT3FDsFCR zryKA(|9KIu0BgquqYxgozECat4<!pOCVf`LHxBPOK6b03v!|cDK=bmH&!1_2ymAJ# zxoJ_bZDEB4n~1q5S7+BI>Ljz@BD=5_`P2>P0DE=5uQsb%-ENs2ORj9|8b8CW(!SP% z7lPFv_Q&4;85%hMc?rq=B(!t`<E@%Oot^d=6!?m19|l^)#l3fM1u*Qe#N8s4_C2p> zy|Udb!$L$IcF70ObfEOMN5&sw=#pv|KZ|4U210K+iPmZEmc#?u@t5|uT6==lyUzx( z7b%u6g{CduKRgUE&k1&!x)gist4TUPbZzxv2qP+n>72K|C|5u3vGax}lGb4GDqE!4 zM<!+E_=L&T%4TWhX4@c0l3u*j<8H%L;(sgP2x~bA^S@e9PjF`NAw$ZSw6rm75p3c! z83sW={B%#l;pZIR>s`=XE$T~?j(yUQaN73|ShUzD3k!UH#Jc~I{I)m!_}}cX$?G|l zB9YaqD&fkr?R3Os{LL7?Goe9c8=!QPsTXaN#)@_g>A+yx#^U^VG1v+Ze-G@~i*)KO z5wf3Ip>Xd_fNprsWo}8G;_1v{o{&n@cz-h&N4zErYp}(-U$}^=2545?qxC^?VWMM$ zH@Ui&PI<dk@Fr=F9U@;aX!q|q-X|*)r*0mfiVFCQABto-#9!<kG9tg%4z93WsxM4d zP;J%ZYUkhogOL0u&Ni*$gUUv)-Q2{l8<fZ2HPJ7zZub1kZ&=&4UkiF(Fm){#=)f>J zym$qLYlhJ+<lKYv9;h+3SG^o`o2f%Z2+ZozutSg)*eigAC^JrQlZp0txiqOylc{Ym z$@oSSJkx11`2?)3PuGQuHany3+x%9>b1ECw-EMXaNgj9ll!+BeY36l#mYJ$FUN_sf zNN8=IUkA;YHWHj5e_ynN&dP@<;mreA^}|fPy7s#sV&;N=K77{yR=CjmH0%m_|MNiC zQoHbPE(sazLD+?=Ol_k*6vvNpJHagvHK4q8FB1Yxo5UqY7_B)$HkQuG>ce;BC~m=k z*UlkhcSN~%AE?|@=P#0FWNj5@@wO@-&CJ(fDzn^@2=ZC%k$TZZh_yZel4LxwdgyZg zIf4p&Hh&2ouj?GJ_~uK>s`mX9lXaoZ)T5rHO`y+z^cQ9-s0`@)l<Ik8h1OJ!5X8@@ zC3VwY^?JAj??CccOPp<G@dZKFPNH5*rHFsVLgb4iZJD?>6B+mSLjwXLJ7?0-?JLO? z*JHflYgP2dfmwHHLy(Ir#Rvl^C+&#FOsc!D?^mA(&V65gdW`9VGn9+Gg7VY8ZaQxJ zvQgDj_KDMsv(PfMm&_Y|R>oL(`F82GJN&Y9l1i%K5L>hY5r|cm0uqNk2&aMUDsH!N zxE9RpEL13k4!N4nrTuDS;V|Se0<bLnHDWk1bT}q&fyr*<<jb4n-AzbOvOL7K8Wv$0 zz6RAO#vzpSvwZ>51ck9#IyI@yH&;75qNtC*dzj;Ss9=sXQ!xXw*|Qu$^s^->kA~mc zoFIxD7QW-QqG!Zwo4U124v@BSs|E?<8-W*XQBBLqWlrf&D}A#MBA+8*bpCj2xGE1~ zh}<{52&xm2b9^~dIyv6qWcVgo3oH5arcb`h?5GT6rH$-AyXap#(_!wW8n4|Af`Ljz z_+fF#ePuu7o+Qs@Ljx<kLQ}uR00KAr&ck>>>4#Zlr<PGM&Qcwt{{z23K)=d9Pig&F zBICtilO4+2tzG_OvC!@QA`{qv!9L~xFSf4#*e~}iN4U+2u_ofV(~dnXj7P(pF^@&o z^*?6aq)WW2E4~3F%7F(o+G>abMhv?Tf)ZY;zodvVe~P(ok3m1P2fEGYPI6dOjS^_J zDnL6}|HFY!m{1#6y0{`mlc_e2Hh3?m`B>V6h`}Z+O(q|D-d>ac{d<^6wz-FWyGv1V z4vmjbm)qlKO*Z=`nWtT*|DLj?*0$_*%4$zwu$Ivk4PkLiR-dguuUzlWcvv91q< z|3lU#R)Rg99iV+eQ!hqI)>t0KkW%B_ijV{-VNJRR&s2#!?$K-_^rHgJQ=`f^0WWLa z7<)Q#Ko{{`*0wRnP->Xv>o`6*ikJRw9+o8btc%Teek9O!<(0gfdDvv0a(c7;yxhIM z&5?07*nKwGeL+0w;qhT>sVLR#FdFRD`^RLc&0v3he2gBJf#aPHsG?j<*Y!VW-7_u( z3p7DG9_Yc8br_n}(8g6Zq3+OY7Z&4gBOhjfdUv-x&0&$&*h5GqhENiX$0D~v=-L%a zEQ}u#Wq;wLurcuWT9rAvOR+%hl2~$+o#?|^2b&`1*;vywht0pF(D?RZcd^TfYc^QP z2D`lGt0se4Z1o}-Y<j@HR++NtYVy_jX45M1bkNwKg}tu-XV;_u3&mc;-we18-HYjP zX>qL?1qC|yli?-pEKy+;z++ZB<6(RIh_)2N(k{o$%-KR456~nlm6qwyaKCaJR>v}N ztFrkfVwNoO!`V7<zVA_ZQaHcCt67z}8SLxZ#lP;7Ibuj$JnUkQznr!<HQ4NBb-Vrg zYctsNbN9<~v(QmO5l!oo3hH@!i{jSx|Kz$M078+q0eTqinm6uN=s1m6=YIn4zbnW3 z7cLQ<fuKN_sqM2fXBj7K*d8pXT*T%J&ht?C98v)@(5$w38`;>ywt|5<^PB-nIW0UE zFM75{oMK|AqV>&Y(uaLha@Zv#zSy09y4=3Iof+(Dm)o*ABz`>@?5h+$f0mpDLk>G& ziE-~TQN_7`#d_ho{vTbJ2~f$<nb3oQn8=em3)H0yH{=#3g7%DNzef*?Tr6g1^<lk$ zX~s5W*e=2bRG64m$66Y;VJA#+q7eR@V$@8>6^!^h;v)b4;UVX#59d?Z4<ERXEAu{V z?!??Cr}#!LcgH8)o`S)aqElL3R&x32H1n|O*Hk6m<_8wTonSTqYD%P;MiIZR>;KVp zBq8w{2VAd_V#ymXSW|^L+S(6+PD`(Nc^d^P!vqS1cr>KR=NKm<r>gZ_61NL$rEqZg z$P9^<G;-O>JT@9PIO-)?%hn|f=iyeAJ?xnz_OYa}kC8!VRwb?)w)@(g$(`6IG}zpx zSuFIFp%KY<F19`Muot=Zl>4vg80~o>hc!fgG3k%PG=ZUHUH^})&pfP-m!q?tHjm}O z?SLj8%hN7JZehHZJS_8pB34T5EYc}x^^6*LQFp``v9IhWD+v^omSrq-E1<q`SjV8k z-kmB<B%0(L_QTZ0e#rMMPF95jf}s!lm&eCrafr8v%!Hg_6Kt@{-(TJ>4|<z^q_*tt zaN5p1>}5Vkk}TOBw;4e3<vjr>4ivITh&<3Es08%Oy8droSG;bu(~J4_YV02)Q8$A8 zaqdh3P|z7!aFk`BA_s4;4#Dp`##wD0o8ay(kh3xEgHe-W@RMBjQtWA21p2eWP(Wiy zfHPKi_4s%;iLEK@h7c(;51Ubj`@&&fV8FXN<$AoWZJm9=BtBKd;eLQ7mX^+|CV`Mu z3%0k%`h=&chjlhEbqtx{2z7to>-v9WJ*v4jx?N!r9Zze$vea<<8nxpTp~;<t#RV;e z(G6IXwIP#kqkwi!AJ+F9!z@__327*rAXigRb~NNXRhbaZASo4fesIJWVJe~KdsC9w zNh|h4Nnt-yh|{*9yI`=piijw`q!6}1BizGEf%c~#?{k{E-FYAO(miaJ^U6{7{jZy3 zsr7lm!%i@5{;l~(sDj_-y8drnSIj`ULxU+Sn3oy3p8(dcrlX#^nh=lZ&|%{Kt_-{v z-uStj<gjr_)j3xKqoRafa==uwK6*P>nvQTA4V0}@4@(7gP8(8CoRipxu?hR3c40L@ zEiLq6(PlPs{#NsdDr$TFp{{dKDoz_4K%icZFdLW)j3@~FgIU-A&Fd}kio0fo6hxe{ za@oOgx@IAsQ~>!ZO5|8%Ky$2w%D`U^Udzt2CYs75hYiG}dd^a@w*}BFn0X)KVCgds zDkQ4e21Z*1PDC%glC8NDJG$6qF|BVPi}yqS0ldUDnjY^s1aN1BO<Uh=+g7`-|A*Gi zFb*^(EJQ?51oc6U$YX46bb%Idwqs{UWc0AaGr=xV=L76<`iBJ?Ii%#d1*M6;!NWrN z8L`L_BCQc1LilAEHZ~+h(wm&bei$5V8oYb_=%oO|kLW+oOMKdXxjD|5Dz02(+c!sm ztqDt+b^PMG{%>BN!i#`MdmPt^?G2}OlYmP==3eI<j*O%jkq2jwGO6jwV@RxC%bI%F z2-|lrNL)=k-2+`ELmpWED40>z&M1W8Kp#=7zt2f*jEPfs_VJOv4M_9<^Ss2@b#Qj{ zun6GfAjmno=(DqR{olTh(r->u?;TK|YBB54UTAL^I8cgTV|NpR?_qpEBhn&poYf<r z^{_heum;SFg36QBnZcT|L=QXBE>U8x5F*~8;+2L^Bqkl3SrS|NJtjoW>?o{1fcgJ) zhKlj3eR&4+gic$BO$8x5>$?8$TNi*oMTk=OTtiss6Rrv}ltS9g3gdXy%#ka&yd+Vl zGVkhOeEH7Jxhk={IaPi)er^-=Vgx#~nt@UC$K2*L6t;!2)C?n59!pbK8@nm+iHIW3 zgF5D~ggECvLR)7uFH0Rdnp7hTT^N2MLZNm2UtjlpR7qU5hq*n(HAqwmSTG<Y6fQ9f z@h9v6K#Xk!Z`0vu2K=GlLOKQ6%#g$Ox2F`NViArSQ%2z^H)I?26$S;$wJZ%gg3MaC z`G7Y=5}TdwM;tz;4M)GLwvPAbv=3VV_L?zZ-k@FA|J8LRRc2$XlZNEc)#y~Q59^cK zO0uEinGR18jCH60Z{rZyqWvcCY3HVOl+{<m)Vu`RG;eM>Eh@?LbgDXI!N}l2A;8Ad z#w-9qA&TlHX>pU`6ETH-G%RORFZmD1Vb9(UM4n^4?L~}~JW^q{uK!!sMFsU_0Kuzn zfIXh=G~dyhID<o6fWa&di!6grH_CG@dRSI#Ki5R8(>h}}6nJU8l0<yv%2up{-uYzY z-k3JrC=&*=R+1INxo--~Up;UZn_I9STc0V2T*~=A>>uZ0eHdS9X3<<@Q$kH+UH_NY zdjW{VRfT10s8I_Y+0L-WlPX3CLvhuOumK2BFoF7GO;Z&jabPtnK*zHR?7am<HCbWz zB<KUFsH;Lir(l>~Cywo50&@|nSz>3nKL&`bWb>X~Y)WB24jn2l#(!6RSS5u&@h}ac z*$`0CyI<G;+4Vk7O*{<1qvA=f`X-7U+2N`UP4rr54rDYIimb+Nc|=Nx!k9q?CO_+8 zjcdP7WCc}gV<rlO9vOE$Wt1l9^f-0W$Q*lU(C7{CNPyjAMD$S>o2CICH{9<64{P69 zAC`g$oK_ZKq_nWn%ewwAt$T?@I%Ve=qmm+&8EH$B%7>RnLIx|;I#TAAP^i>;uNDQR zS(3`V;oYoCtU5s>S%5nA5q{xD5{PGsBJC40)kR`RohW9(+@bRL5Is+s|K<{1Y(f#+ zVAS43*6*9c;#70r0mUgbTJY93dgNGK*Z-+?ML7%;fIpF?p%jc#$1=>m4IUOL183S; z=K18{Y_JWbiu}S}fIX|N<J(XVVSQlFgI@IR)Q0j&b(>(A0O$lw7KK4}O6vv>+c&Hc z6LJGd?BZcR#vKBh$ohRfY-`E8Cg-G`Lti6h0=BOI?se*&nIP_{xdIZm&^U8LPN$o; zYKZwDTvF9ANP{IVfF{9|yv395TgS9YjI?p191o83S}S#H?8S5>meI!JDk0pL85}w4 zdnvb(c*Gw+zY?E7D>gY;Bg_VKzb-kfeK&)>1H{~9Y{{UKrxNs91e5x8{kN~Tysj%3 z$N6<A{gub5_Bbwh4%M-iih1Kq-&rR_Yfa3GJ*<Rly%^YB3`=~N&!8XZ`#(+e=wy6V z91JieMfXG;)T?_x67>Ld5Ofv+DTS!9nqIcM*vE|ducJWy8>mASW$pVJtlo`O%?xr0 zgjw`$ic-wAuK(6`<C2kEt0C50r()`g^Cl2#HtSGKmphnP8+SvT#fFLbZb_|kDeTqz zK+haYT!Vj*io+T+c5zrVHfH1j1&l(MEdqvMS_tuD-X`MNS{vqj187t)tBd`RIyzCh zSNJV#zFQJ|Wpzqg2iTaRW()QNphV%F#C835tpgdT&(s8PkD?X@CsZ8v0)z<x2{kr^ z?hJ=dLk=s(BA0mTRM^mS9=6l7c-Po8VENlv{sg5DG|8c!tK4L!f_vWvAUieYjWr<% znLy~?Uv^WOC-P98IeoKYR@mOb)!pX1+^+77;LyfOVG?E*hg{4=*Y)4KZV|&Y)_w;~ z_G!sdiO0y01{JPZC)Rd?^41&yTy1?>Rff5vQTbgnEU_UU`UEFsW0%HoQp{l<tfNCn z%}_I{DX1z)BsixHhBQi_yLtTKIw9ITtcgTMIRVX-^!Uxy;rra6u^*IhJ82aLFGgfK zUM*SIzqKA6BrzuPI146^<X?eVV8G|~@~R1#9V3?v%2-nmi|XrssUzUHJaIGA))@+~ zZYcb|h4@&RPt2I~bf|8dceh7*JL`oQqMaf1r#X`%jsfLEWjXc_kAJte*BT882!FEQ z>1L#o;G0>`2z16r-_r$|a@DWv!}|Fig`iNQo)w@QJZ$XgD^seq`iK$1z6A<m;eZ?3 z9yU-K!sc)$hXwF2k@e#nr-=k-Hf-sa3D(O1^E(r>?o&!M>42hlUf~|dWUL`qoGShO zVzCb&EpA|a6GQ2E{Z95OLsp=8;TYL9{U>2MVqJe`T|uh~v|-zY8iqR!3oV9~7jIR> z09hTZ=0p<~t1Q7jBHKzRwwU4;;^FuC95y7JFgkBsn}&Rr^YN$+IlE{Ll)%V?Vj{qs z8z8N;wJ%GS00cdo$Hl>Jpwu;DH30wdJ#L;x*u=vsCp|XWy4m=tuItaP>!1M}B%}u6 zw@FMy<@@dv9SorWU&E;b5_ZDQZ=`lmMl=Qixo7*Z5DC}Nfil_XxDnAH?&YbHOB)xn zpPHApO*#*Q(FCEgtn@IJ=;Y3q4<A0pFGdLaC?Li4J-Ry7VONcP|InlJ&rN+Z!+ycK zerCP5Pmsw(yE=+M94Sb1;AyN)Xh3ncCCsy#($#4plAExFhe}Hio+<LG6`*JOu)@rY z&1T7Hpk$^D+3>_)xC~52+CCC<sUawInZy}=!OsdDClG+t*Sz^Cps?!#SSABovVDjD zNsuuR5-JhyfC+<QmFs!y`m^gg$%}f~!?;pop`JVjgyL2pI5R-#A>bTGvLts9(D_vy zM(Fzp6t6i%oia|C?=C)@3kWS8&>11IRo^p!px=g6!zK=rs%UW_4v>sImS_me%3oM| zXM=|o^5U59|H1!rl4|7<Um2Q$kchckpdsXS{meQb;(-{qhhd(RM$G$AVGgYdk-$Xg z7-pa$M5kskNmZIo&~axlj<ue_5>JZF?L*LRrhZn+`n5j);68K00>{lBaFB!?6r@WP zZUS{t%=*(DWTxW$uMYQwuaiDe{XX$<NbWuOQUSG-Sqan-GHUDke4VbGU>2RPKQ#A4 z^*9!mhiZ+X1_zo&L+vRMg?52C2K7rHRwp5MgxGg;+svgp9Ap5fVv{h>YZL5{Pn{U4 z4p=9M>ZI9W9M(XW7FF+fAWktJ9_!V{Ll`Cz)M*Y;{QvB|-EtdOk~NwcRPZ_>GI-qr zJB(XUQ0M_Lp3g7P4=@8O=v(SY;d%X2`#0Chy^C_YZA+93mL+f#C=`IooqsFW^6YU^ zi2alQNX$)aRzb#Cxlf%?meSSHwsl^&-~~HHi;ssx)dh=4$PkXWdUI5+a~4Tp{tae< z;9ZjepEtmMyuhnLF1@!*Ry^#;f{tQ)ka%MW$DAjI+Ay|OC8mZp$rTyIgS`DIc~~l> z8rZ2S15j+38qk#i<iDt=!(+_C^*D)Iz#Q(FPOz@qIzc&YP{9~>co#(*EloL*4FJaA z)}y4Ab{C61CiI}-VO50qm_`qa(A62^1mP@|rEK7e*NKyp$dV%i|B}v#Bf!HFb(@nn ziUSEo4~ucIbeNFIc(v1@qX|dzf6<?wzAJpsHmM*Bf6+{U88qv+^)SHZzy-jls7&=3 z@uD*?-Ut<#iRVnZGO-eC63ILAfU^bEkXLARNXuYo){uYHRz0i@5D^1*2`XL!R00NX zs1Fk-ViiGnijoK<@s9W>GhOkpFfA`IPSBHS)fMLE(CiT&!TXc$OH9L6hTgx^(CQ@p zZ_~mSL+5QBp`1f$mjO;R;i=fB89#5Xs*LHN*O~bGHv$w8?+FxPDwaowsEUFA>mGIo zvR5w8gC3ToVl5`IfoD-eQ3YU<5k93;4;uxnaAM!6RS6qQm@dR22!lD~1|QMh<o1f} zpK;$OdX1pu#QUy+HAu0ej%5zqkhXQ@4^mO#i3&1tAQb>BO~=@STDLgUzz(IDHUsGb zFwU6wn5F_stk0z}tcS{E?=wHkIKi#lt_NF{3%t1$5XQu_=+6SQi4k<f9Ns~bGysiI zQ1(O*iyt2`ehAS0_7XYHF4!aj)s?XHkGem8UpPUDxR_?!j3zel1T!4Zw%)@wjTcia z_sWW#@mRufwVNPGF|W9W%Cso-J6hyqOhApYkg8GT=F1+IX&Xo0M2B)YHUg_d42Y7z z7iUVCf8a&;Neb#vIV(C{(n=S9vsZ)Sm`cPU)_z+Ye-S2e{<H4G>p~}vQZJq<#2Alr z5l|?kFL_&6u9O-pFqw_xGN$Yn<9In+C5T9c`E#dXa%i7Zujs6|*XPCuXb>?f8?<+3 z9#$t1533dhSG+g3B5DhG76*27-id(B*`kNVLM~C?$oP@s)P-*o*zwl&Vz6%rIsu;k zarceTI3^PKB?zWyI`0N>_%b40w{>Hw44o6TjM*+}MCtr^SXqiGu?+qJJ0?O!N2l3C z30mer0*Jl8+6qNXMGH11Y1s4)!%~BKt-lH-`7m_vVtS$W+nFT2JlEC@6s$#@xM}!E zL5zVUKXJsO2AKc?BsM){b^KHA2Y?AH%v%JJ1))LXQAV(P@&wyD!V5jbX`<m?gB%Qr zzYC3eFiuQ74pN2h$%G(+^HI)TD^*ch@vst9u~w?YLqle$`GA@Z@-7)fo-_pz7+Z1t zDb&O0GXd^9GloA=DV0)VaJHBy4v3gxua0HhKjD7#usTRIVFI!;q1iv%AR4i)V;f9k zOJd?-(WqimoIY<Jdj-4JS<x8MIt@_9NZ@JQ7E#u;FcBhvvz0z9hR`0lgE^=W2dAwf zJtXp|DL@9)6YkKd!QLwEXrbxM9=6wi&7$Q3N4e-Y^T;h)Oc?*j`#$+($PUd29cXde z1hg12C`MvM+d5G$0V2ns>T7|Un`)QVb1YNpkb9^}9@ZmD<s!5=qD=#ZgK>s4NNG@G zl&}UXNGF^3X<)2CS#HDvRs>WaJDkHpQ<n?7#sEX(F$nk^fRvK<BZGdIH+oDW5An2u zYoi{?pKzaEVifHR^y(^+L@_{o0%&wwM;`1}%%LW2B&iRq^n<AK*w}UAhd{r;N$en% zsuVJd0ox)F62nG8F*AhOYgJ+r!VzjK+t`LRs$a%wPL@~i7^GTa)&UEFf|NGW7c+1g zHy=nAG-Ukh!vKODJ;WpcJHQ`$AHE;MeBU7Qut-xo)Z1(}Mcl4a+t&NK;et4vpnn58 zO+|5D94RRx!yqDD!wzeGEH@k#whgvx6%5^B_zg%M=;D8_56ifH_OKMDMu3v=B%Jm0 z^0KM9@jDhmVV>2Lc1PnC^sw;G)Wai`0(F?gD)EK>nRsIE(J2LF)QIJv*F@(hrcA)8 z+xoEXSE>w5#NpEqJkZa3Sho#g#E##SMyj^Rw~Dbgks`{3jK)AYX9ekmKnopAp1V+t z9$INdG#+9l7LCZ~Dmoy*U{n#1C?SVcjm%Ou!uh%l7<RCUPuU_NhS5g*d)EcwsgP0| z1X#gg;8+$M9edItqTkkKK&ZElqnQQJIC&QsmnC&}&ro4Hr|%BBR$%tQSnZUIGUs<= z8J+;eh(*bD4;z|Gz=76t1vji9R!coaw&xHF^l~xNu?u~!ifKv63pmI3O^7<>I`d`I zy6bvf_YYcEMbu0<EA!CU8)Q0nvF?f)s<W*V(8OerOB@DajO7;Nuv_;hIvtrE`N2dY zA^|K?bt(m?;HgxZt%f#iX}k>4!!oU4oUd1?5@TkjD0l#;ZVu71zBi(Bj-#A3R_HYv z8f}o1Z^ATmz&kkC0%)j@mqx_`?C90@-G8=@JpdD;umz5E9W~Ixo7Ndk2f2v9`+6(} zAjsF}U)mkhNzB_KKo17HKk<P9piNV4>?Op4=4IvPLuMXU9s4o%Tt`^t8uPzJ45ne} zMk8Q(u3`yevpyxuQLKM}(ZhNW<D|?%$Js0Jy%9@w*Y2u}@|6__s4E;ke|#$2v6to& zq27Vgh>g<$r5d+^ASkx2ch9R5Nt;j)qccbN#fejw^r737z0za`L&jLtYrsH5%nsJr zB^wuso%Xh0*1I)9XAIela2qBVvJt6a$k4flr@c7rm2L!IQT!j$Ig7zgFfkGtnv@xE z?8!K{M1s0`PWqp$cN)u%b5e<k1gL7NjC>`EWL;)sxNSXX`J1nkVnPS$qVh7&ei2y^ zLZ-Y{ViD>@%-Y@Nsk}m+i8kn_V|S?^#6}Dy7My;AhmEtEJd#UXHOA;b1#n2$m1Rm4 zIE+|eBNwDM9AQ90jFJiwi8y(HLE+z!4`ZFX>DeN&{^#qof%q<`zS$va1Y7s>4XmQn zl*Goibq4V$F#yunj3lRqkV6XtE8N%}S#@<72qHZXQ@YqYcR5yd8>Ke%QA3X&cqmlX zJZ#jfCSEDpmx3f`6owQ48G3-<Hyy$*ns8m+Qv(xVsGH>f@D`0&)CZUXJH!<%D2g8_ zOTYitbxb-fGCb?3zCE;^u$Amt*w}oWHh=!6>rf0Z2kD~w;Z8P$D@L_e&rCGXp-gzW z2<apU)J1R+GhuR5V+<E!xY}LLiihQ9Nl>ot8$=9B6-MK@18TzJ^Q|GQQNR-B+%%*H z*5?Qe2m>@I1YitMThUW#gaJF$w;Y=ylr+Y%Us#XsHI8pI?*Ph4Bu-stqlOeVpem`; z{`X!t>JTDz*VMxTJHIqpRw^lY$<$%-62`D>z!Ebzu*)cedxJ)wbiAx0h|<P{yXCVJ zZJnL6CV?@xAMH<25d~?1APfX3fL;^AR9$iS9U>kWxo1-K=z@UA)D&CAA!48VSA*d? zp8{r*a#a+;`3>tWTIVrKKYa|iATAgHrzX*z4_kr_qbq;UbsW{|Nrh-g@RY=HMzrcg z?rj)Up`n2Rg*?lLxIV%AhE8BmN_@)LsGWLP9m^g=mnk+FY<zRn&44J`=is6gW<~A~ za|GH(aoa;Wihg8^Py|Rw?5Rwt#bu2Ecr_3G4eM}$nG9oK%=jXmg9kD)3m!H|t%NVZ z?C-sf+DoV#5j?CB7RvwUo|!7OT36~IkU28Uk?}LVGXN9yK?fN1FKwtubFMg<)`3(L zrUzS_B(_Bdi~|XR2+^U5M$~{~D7(9oSj_WoEy^=?>=N+zH)_c#OHS{b7%@Ru@cDr% z%dZol-}u5h_jwr%GM1-sc#1wTfly6UgVc(|BFo=<ojoj~=_rs366%79nZOulFU=1g z)(|&^)y`EQX-u;qq61nA!2k=VygVvPKTV}Ng1FC+{@DbAgZxv1`T!Q@hKQnWY;P%I z#-{ya4!Y67H6k|kikuFhshLAG9flTSqwU{ZAHs2+q@axGFz@|<hgFWN1TLrcWjpTU zZ@kWoL9Ppqp<lq|<9JBu@Xi4aGJtMv)M;`A5LUssFfkH|s*~tjU@v6&&@6{_G(INB zJWoGDa4?RY>?-0|Am5WzkR?V%apo{W3XQO|o;K5z{|HCpv!Hk3T7MEo8vDlQ-A@>n zd1f8+<3P%xLkeox1LNvA_pcSFeVKq}+|T}&>)x<t2?`YwsA6ckQhMgwsfkV?gdWUx z0ud8Z00>jfF<goTNQlgJWbVhZ1yFuIi*$-Wsow$(1D}lZI#b9GB$m{swRk|A(`U#i zM5`S$WDYfq`67_lV0Tn!4p@hbSD#%UB3?sE3{*E%0i+10NvIgn_d9WPENluo?lphE zbsaLbKC6cDoDnqLwIO6mo{jZjBJ~-${RZ%?0tA5SIi0vG4k-{TlZ2W!kh$#U`mjQX z9gk1xeF0M)QB&xw&%(?^6b~y36B(#@Ql)@0PGolyl~914ln|BXsf>A2jVjy?jG>^K zp+pM5wr(KeO0d$9M!^OzEQD?0f>5TfQj#k|1c6R=_P^6QHLL|^OJZ+d$1<U@kb6MB z=?EWEAF$FP-wb&xbelqc<5XWVuxPuQEvS*KF#qo+Lk{{Zx4IBQ6Ov}GF%8EA;=4Yq z5H~QBSX2|6h}-oNgSj?nz-`8vMW()(Cgt#0jkZ6m54e25V=y|aVMEocXjIHb89Ned z!K;oXSAc$j-^$-&9Y((iS%hlhW&mVraw*6{Mo4#-dV%6$m#Ji_w^@C~sYA`9gYGUS zAO;D96L?{@_dY8+LD$cbf5c1#F^LB98yql2nvTe%6yXv===hdPP}o5fkQxgH>V+Sj zHtAH5MBk|Y6Z=&vsQE~h3KO1qf*~IvnMmb6f~<*dt4vu;hOerfFwX;M%um|r_TOpU zps?G<Qvfh*F>Rv|tOM(*w}V^_I(91zsYyE-en1h2s>GzIJ*6@iEP5btVLgYP!dD@{ zop*?F+?_;ir|o_(E{Ut+#1sK)?1LlMnK(@;2*qZl5)l=`(O`eIh?NR`+A&j)`!bGe zh^L>74^hU3da(*<WC&mGSB1LDys?U4pjDM&q~*I_4+)sFBXtQk4YV>tDoK<)z*{Ml zvoxS7U>SrPGEiUX*_TUFF|R==Ya5{mW2W4;i<KPK4AAM(ZUdidsHT}BQ=wt#ic_P) zQ^7!c2pKPLI~Xn~j})nl6$7ps8Q~V-+$MTdy{n4>wFG*KVZD9cvD7g2u!fyMnT6ZE z4XZFyOoJsf<2!h6`@5_gVUxPXQoW*#TZbByDU3WK4!%S4f-;-X)8T6Z^x(fJ*8&-v zgj`ynB#C9!xrg0_T%Ie|4#)`I=ZJLj%z9ddkK>?DrlA@W0u3){3iw-`lVF}K$n<o; zK9YWB3w+eKRf{MpWQ((~K3W^I-D(6!3T-@I?Bvc8S6aji5K5!Q*z^*RQuuqUN2q|| zTnW}Ej8%t~N*5M5%oy)vVGgnnqiCcwhKlQ4xkZD_dM|57CUYe~V}HiX!>SiOXC77w z9cB!aWkwkpNIa2$0V+zMT@?GjbOKa}Gngg_l~nH92qW`*2_i^?DwwQ6@3>QIXkhDC zr&{%09*C=K&BM;9%_jp2P=!{gBQi>R=>Jj9|NXB6Yk1qJUBysCCPbYfLvX(;UAuzE z<hoOTVi>SRi4BvW<gf<JGDDRI4#6C9<N(NLJS>cjGYMQsYAy7ua8vTelFf72pa{?G zcLMDfW|;%(3qAt%+svq6$u%>MiNJPDu;_q^yT~YGKeTQ&V1I+?0<vuO@;&3vh%8kH zjWps*<!~Oi!oSV>s)vR2Eokj3QuJcZ$;cmK*$&lQ5@n`xaW_=&$i`tDjf0Zt>Y?)0 z+pF*bQ)nV#sZGOH=5I`$QIr~_E7&SJU%>3~Ab|qBD@g63CuQwP%;Ljv(r8)DZdC%^ zquZ;obe`ct3oaBCbX#fI_gb8?lE|jcKPqO|L)Jrrci5;^8EWK=?D$)(heSw`$~P3| zOn6wwP)Z#Y=R}CJh1v{|$vJluUB@G@;N)Ayz1d-cGdT-^X>R>ZtcgP0BpPHoCJs?R z85T#LxCo@7ku~?kop^g7%R^21kO}n9le)0XNr|IFAj;aSfEx5FCGN>0(+;z0Wco(| zYC$!^e#)faY^*9l<ufysDxyZLBBflUv;S__b@(Eby$010qV$u{JOv9p%TUu)!mU76 zVJs)M`R!pd(MhR^D^A9xRW4+$Rf(y|7<n}W8pj>$gKm7(y)XcXs6>%dizx}R@Qd&@ z$t6<A^uvTf%<9K*T$w6vvb**7rbs$sJ>kVxH-HI6X-pZvP>!IuU8fV8ICQ<_R2UUA zrD+`lukUd^1Z+l0t4=fmSl$kMYa;YTNA_Z2H$CK2VJ?!|kT%VrdIoD6Nn!fQ*^oG{ z=dg;<1p`-T^cJVSf0*coj1YIWsWvXu$KX5CNg1E5-GuP`70ALxe*}fv1b0Qe(A@Ag zj6u1>JS%U-zO4}p2RHyznJ~FdbUA{q2x;934Tywz<hxzh3COMuQU-7Z)-Q~y1-|5A zQA7*#mYFy-5)Y6gkE96$K$2!%JhP^HjIQOdI`9$uUS&bKrlUN1)X{g8kT{ZV3Ffdo z7VMa8ps0}8fkQTRoJW=wOanJS{d^dAHOA|mbJ^mBL9jO_O+>thO%iKmhAM@;!v<8O z#i0=kInhuxuoyFbuj^4eif};)#^bLmq>0FM%1%n!jOGj>WH8>*U%n#}P00Rdti%Iq zmgjsy^4XsCu&X<bBM4Q2@6aZ80eCHqxhd6U!<Z=0-Nm*It1o&V#5hP+(J(HBm<^Q) z{T*eLjMqRgz5yz-_S589H31A+z3~b;HI?IFUlbUsm|P}E(~Jz*6E3^&d_ADts98Fw z%Yg`l!KMlbMh(C|s<+xefNUO3>x>CZSs{ZJPKRl86eEBVBNNlCDzKyJ_|#v8Xetl4 z^|PtHTeCQNrU7t)l#DV^NJ1-=RY7P21TZIb;Mhq{_+Wre6i1C@nCdgYfvQf}wy4Jy zXq=QsW{0@Vzax;?lo{79=n=#Yg0PSYZGUu8e!uH%w;dORmS@KGs9|Q+40iq4D4KI+ zcQ1hWTVPJbGVx@<)W)udj^5w<vqpSuQx9v@e54%TdFdh<1Tn1xe7EBwY!V&9Rj7WY z*IG2POX)<eHsqpSoM&YY_3uSx(h}zK7jllv^t;3{t_dUj=xP;X>LKgt!9PxO=!{WD z@jOk*R*55Wm~Hw_*EM47f@G6$-&KPuO8_SW?jbVIT8nCo3iG{}po-D4Nx;pR1fqk0 z^f3v$j1ncML1Z?q5)&R0@%%clq;nQU=`#(mk+`zgx>a=GW-*5p8G;-+S?d9f@^^<J zB5X4;onFOV(fbN|*k~W#ltWxbs2F>l%Af4{G8ea3crpy&AEC-g*Q?FC&ENaFXRdIG z1xyrVc0-I51nopd#GF-Y9bi9*92!`UqK4%(b;7QPS&ZXJl==%*Vz^v^Z>C=Otr4s7 z18|{NB4dh-I4YCsjjkY~EckPVff8nvP`g3JJ|g)C!frsBF_ask7A3t8q45J<soUe^ z5LfxBNa%x;Q*M%B+W>w)rqY=__q$!USga5cL&+wKB@=9)3|E2?WxgSywuNi7cN2Ba zL({MWlpI3RG|bd>n=~d&Lt^}TQgaeEpsiA8uuuu4-ED6JI438zL4F-80uprt&}%7F zo3a0a9c8bfQ6fWq4lDpjxB`@69aCi!nxo^Uno)TW<a*J`k|8UjCOQGK3`0AHm@gd% zZhPi#)7?*2kV4<*I&EGOVEhQTFpD(+8orKx6`j<CK*-_dCXr`bcp_zx5;uyTxI;XK zd6iTDxhk=8CD#b1ZrFd~5RC;9$ioJ>fasviQ<IFF(}NBW2MZqoDfDS96&h(+cR=Xc z6#%<}Q5isKA2(JlVNRwMogE`CAEnv{Qx1dBQV*~Pl4~U3h_iK2XAi@M-|ae(a)8`; zM7u+y!w^hp1DPk#765^%3Q;rQ3@w!T2?nJS+Uu&MxWcVWgOY@fVIIt(=!!n9M9~ey z-XzEDUhvSX)9E<zuoz&1f`MZF9U4BD{XOHem_Eb3kwR>#17Mq)TE-sJg5W9%CWZ2= zjA^i9y3oH@o5|Njs<z%;AYzyyoQ^!qwvwa|YGq@ZwX&|?%{r6fGCp63SxaT85_{L& zhHVtQ6`2EEe9olpv2k0BI|qXQlwN%VzlN|0Hv1Lk{{Vm%taxzU34tHC`~5#?<Vbf$ z9AX+SUeYjW@xW#O2Eu|JY?)+<1fO77#EysQd1|J8Gi~Vi(cl=7XU$+E@8D3MO^?!= z6@`8G^XOq!p}c59pP?!V?R9xG89)^5;?o_|329h8_vLi1ex9szWcgCp2^h{XGDDqo zY|geJ$T8FwA};KW8pd4VHmscbDP(LKMu@zjETP)yomXYXA>~e>O^L*JYJ^U(_*{jC znD`~Pm|Aj<u)n>|&JvFT*QHVh;SiqeVVmErKL`Qx0^-m8&f|~29+&0w(^x}Q;UfR- zp{(BSpF)8vB*N3mEzH`%wy@hj<u`WO8}i|mM_le<V{%3UBcA$zRqGO^oMwT{@9P7f zJJs=)&*8E^j_cI+dU@-u_8Y%8Ru7a=IP}aZ7FKLUw1^6}0qBT?2Pp8Sl*Q4u0&he| zv<CXa@q)x+?A*gnp1~E`iK0d_*aOvRZx?g3;V34d94=JQCJ$SF;O-Je(T09!dHwz2 zm@ZW6O`3nm<+Rc}zCE<4;K@Aqk4!f>*Z?IZRW9hYH&b_tbG4FonCy5jZzNKaP?S<o zECPJRW2EfU&h4pf-)VsbvGo>%?Qdfz6T#hiQTCf&?;jctTTBSYd0-ov+~eR6)kY$W z%$!Io42_8k(|IUl6ToP1Xmq_hQu1j%2eYAH6142nZ+2@mrxx_Ha2EnWs=hJU?z|Wb zHOy{{$L$rdfR7ZRGC@6dbE=~4hoQ9%Kmj1(y4$DQeY2Yh(yZLB_fN^gmUno!c-Uck zA}(f`K~#bgWchY?=cj!4a^R`!^jeFD)ybCU@ZlUwyFZL2hcREx?l&E}e{hG;uUt;& zbv>ft!MQdWJHFrgx(u}P8XT;$P@RqZw%peT1;Z5`S7RKUb+uJiD-M)v9(*DIFN}qS z`L_wzAfT?~3s~Z*hc(v6>k!7p5SCjCNgp4Ns*k_O-DQ7R?#lc9{!@PPB{{(5vG2;l z`^Tpb%bn}wk!*R=yB~k5Ijrc1{r+Kj#AW}(`(^DzdIDyxL20Lk&!3j7@?cW!Mj~l( zy#%gP6#VJ{6*dXmQy@D;Z4aDqHYVWe9#%sg;dL_L;$b057|Gw3Gdlvi%veuioU_$H zp`FrVu+&vrK8K=2SRULD?(Hc>D)<+%PF?4w%rPi0#pVrsjiw5?G9KA7fUO$ObK8vl z%>)L-WT2{z($Na&^j@YmC}0aSK|xcfcdK*-OU%lqsOH5H9br9Q?GNV^U}`ek#d?n^ zL|u#{d%jP}$z+R8k@9l;n122>-B}#-VM#pm5BH@?tZ&Oh&*h)nvK1&bb}f=woe#?c zQVhr*cF^t0277y8hRc;4*2b;5C)=S)ynJxW3**>DJKbbeEr-RyTIjX57~#l;XdQ`{ z8I_aY26$KrIV{}L!3}T-v;O9bSeJ438R42H%*QktGd4kcrSX)=FN#4mRPI@<625Rx zq>S7C3}_<Ys{dsx`Z!I<N97B=#I`cqX^}r6{j>zY+1T`44AzRl7OPv9UbT=l|9i+q zs&;#l@~Guu$-`ckhc<&PPw<3)re&vcPA2hcIl}qr>ai4R-#?y~zf-g6=CnNLlsCHf z`%kB2u<sv}yFV>wzdZcdqW!z&sp;tN)4$8F<^9iT@gYAw-M`7lw&gh~={%LgNLtpk zU8TDZ>9FZJ`Q&ac`{fKSZ?5tY%aI%1$NO|(Ii=L(Bv<eDpVE)%tkb7@lV3v169iv= zIea;dycb+Orc=1N98Sx-NI%q1XffEUbfol_v>x1igH_OVQrgA8;dN#VX)&nEKmrn` z!N4rd8A(P)5y7gc!Cbe~9oSHSjQhDpz&9e?ooIykGrPJdvns~E-@Fg2jL8A@CQtau zHCZhXy-hB1cP0<J+*>^FJ{3Ur|4erGsxBxP?8j=>`C<3T2mg9rY`Pfi@`N9jdq-+4 zhU!GBvD~M>my7@W>6}AoeV0A??)*k9xu4tR5GB<;ELZxwT%lV0j$NJe-Te0Mikr_) z{ZlfCRQkToJIUQXJ>@!|WZqH^R@TyCZ_-OH7NW(~UGLxT%Ndti*!|*R&*{jPkNi|K z<V!yAE*)?=k=uM`^{mTFq@vwz2~hCm%i%v}=bbjl^t4O<P5S3hcAuQX=C_^R%5B~A zl;O2pKYS7Eu4NjrXcN&U8(HYF3Pr;f!f1by0qMenay?r1P#x(K=2+sumjt#>fG885 zoCGHAb@e)*C7<N`UHGt{=n@a#rfZ^mSbe=*sOd`ipR07~os*p`7w8i19<S3vN@<rL zKGom$)i=xkKj?LFxA!}FyH6I-`!6#dhJ1Y<YSFIPzEwYM$@MO4$@;9?!J)eQ<jarp zdS6YXJ@+VA)!pY{e1FcSQx112W>mxd8VX2_7Ro7RgRSeO+m+uI9Qjao@mD2s$g%5n z-kA1>e%4Z7qMZu9{Pq6-D@REl_H8-+Vz9S0im54eGU&eRrI#8$HznZrx4n++F#b3T z)I|+WW8CjD))1Yw(O^K?kQ)Ltd52N-vHB%MBLjT_P$P6Wz9MBCJS?*E_w;E+9~N;$ zC^5k07}|lBtKu#@jOJl;TPK-i{!6n1$d0#Us(L9_kj-+rtnMYRlpmfX|8;4r%e^NJ z1XEDm%f;FK565bBpENZf-{yaxa@97!OxjIkcenqzTTbn;ob7#bY<f8?TSciFFL}7V z%P#)j($0|{wphZ)yX8$RZ|)(L%dXGqc<t%?hxEJUJum+*r`SF0{^NDBsPsv`Jv^l5 z?EUVNEh_)3B_=s7Cz~3_$$=i1GkdUp*2~k6cq;hv*U9HDpN|%UET?ceEL&~;A%7yp zV6T^Byjvcc4z4jW0cZ`eZGFS*Lm>{=po|ldq{RLVWnCrl?CD$$Y4SFdsuHwDiH{dJ z!9=I7Q%8batT}VZRB`fa?qP|Bl@1&r_Rjg6d}=no?qQq3-lwqakZmU6G_n!CUaqQY zu%$43UYvxz&8z8$A08h|eEcR``{U!ew}|3Yc>7Xw=$HGC2h~(rN-j5DuCJ?uzT~cO zEjle>sb$MLrdYaFY+mOL=a2yhY5i5Poa!}`r_L_Tu5$EQ*6QzcSqBe$Uk;Xb<lOVU z<PRk|!gL1zklO!ANq6(G`Tu^_8Paj_Q^A+d`%5}XHpqWSK5E{N>g#GPI_2Ll&(Ck; zIAb}6c#!L>-{3mV8LGMnt0~WcQGL*ZWb5M?Q6<s1v=pczg2F3uoH)#wOFl-VEaH7o zr883n^7BsWi}-sRhuU^?4-3Nz3L*n=5MvdvCFVN4Pj=BgtTuy9adFDNj(HQw?lW0% zG1!B+Q@t%_%n5D#>3+f{jtB|uz=@PdFFqw_faes4FIV{D#m)t!T>7x-GJbu?wbOGi z;A+0;-+fBYvh+iK*pdTFe&|y<_H8ZZUh-N#)@?~cpYr#S4fZM9V!lFd4+ZID>Dl?k z&iDN*zpe&*m$T%f_Ore$JD%SD)K3Lp{<_o(?vp|0vw4*R2+a@5FRt1Q_O5Ir27OpX z`OyH(`_|VZT8X-&P03CJPMayxIv^lSl(UUZ8@H(AK1y(hDlAbQ6LJ#kPd(T*iCPc{ zSL$f_-7_8*MSTK4Nmu3Up~dTc2QCB;`$n3<)`&G<<cC@hJ~R)T{a#+xy&LQsFxU}F zOs(MEhw`Xwu#17_ytH`H+r#C)wK=MXJ!VTv{^y*#!X-$(FCeyTR<95CDjV#RSb1pv z#j=<`+ufzQuiKO%rlM6cl=hNOS{$a7L^B;Z+1v7Gx7(dN9Ax)C8?1H@+t2!Ps2O=Z z6@2;p7SbbbQ#Ssv+uhcP|2q9pOf*-C^JyO*>dwIP#!<^9dbDqFJx(--6c+HJ>NsCV zS}W-(4HBP#5k+c)0Yqz)F%cUlFv1k{00glPaw7lxcpFxsr;uu(avx5X-3q|=jW z111);8a=Fs#F|T^A9F}Ncvx$Ja>_zar!@Q1a@g_{f~_JWR$jlk?CbTv7;L$!b3FX? z`u_EOc03tDQ2Vf&{m*fE)&1e;@-EL6x?C&8$J-ntKS_P4d)Vu9F5+ajwfvl;-{pZO zEr%^mGw*m6=~N81d`gG1tAD8NX7{kt&$<Tb{Z#PfuQNWY80_o5xz&nru0pF|(J9r9 zQ$1W{I`GINN8k9mz?&ehu3jB71@Uz#2O;Nyg2bmbyI`t;V8-lWEnsXQduD<+olF-2 zqnvd-vXcJ>fQ^tcvOSl>8jP$XtjavJ@cLQxgNM<>9#UGBi%zP){L+g~(Zl*`vfjlH zW%N?cVL$3_XF3Oow$HA-=~S*s*S}_iRV`(ir_25A;ku-Dmc3s_I#mywF_i^uk=>c* zoG+dJF*(z0PxYa4&f!9Rx5eu&KF%_jDZAqCVbcp8^U*TkH~a2$3m#g=+zr;6hwW#b zV`%YH!I#fgZKJ_jGgy%x5|=)fp@-Et@QCd~BEtRV)<H<so3T2f1y;pjDHv9@*+>WS z`1J89&|>jfEfLm7$Ml&f3mk;l%S}D2)G_ZRllRCvU=G%>#2!v7f!rf;pL+dlx8HwE zp;^W`+^1f{F{h;If=W^6A=iORdo}}`?xTl2*sk<H?u+$)__5@$#pKgZL4(#JhQ&%A znH*jBu*vV7Kc1iN4!NtN9qFXqZHm4>=axtA0Hp)wm=!#%MGt$oKb%e%_prCs!wTlG zcf~{;=~P1E5-sE;a|tAFryllFJ*@hv1P`k%B);9J1D>Rouu5nG9(IX4J`}*&5vMRG z9u^0%?VDZ4H-Sa8US$C)A13?=4PKlo5CkZNDi0sYcMqJ-Rw1%6^G<QcGSf&6&FPjZ zmJKzmUfnVTMm*<X8>0=4|C#k}mpP$JiGfq8I76Erb1QMN)n8Ks@czR-H&^$cmj6@O zmi~Q;9(Mo3rSucuBy&H#D-ECJ2<Zv$dmmO;P@?+FvBtX@A()CxH5*)<RWjdqwGG)q zV(o5IcB!&l>qyPhW(;ufu$o+4N+Oq>byw5l?DCSqCckH64qIW6mxPdBJZ#w#%0{>B zQ+6G5*t6%bhNprrU#z+poeI5d$zhM4%Ty1W-|~IM60?XDO@}x_PQTH06$Ck;HyosG zx`QIgfL^s+O<#!(%>c^@06QCo{bWWXqZ0vdp4r1tKoG9ZdU;p?U-z)Rd4*&1M#O!F zZvQrgU2+2mrh)-}(mjC?8UP{nKiR`}XySc^H5@F10*>toNDN?uY|3?to^!mL3~X1b z!j>8#_V%C2@8@v0SBVeOJgg?@;_KX_U7}3O)^ZffvTgtY002ouK~&C8v6NtEIc%<3 z6%VT=bk0@bCmC~C?H;yNiPM&FddM*DbE$r18@;U_cGu4OZLMRsQ(+IA3*q;r=(HT= z>QoFi*PHZo1mMKgsn~X`5{L9c&_)Oz@C~h#N_G^msT7=nGH~eI1gb<GR30Eowb8(M ze9B0KMW7|bqhe+<WVJnT7;4jT=7u!XS3E3~f+J@WfHI&u_O<}u&IMTLP@^>BRjMpG zRZOV7%idxB&0s5*_@E^UKG%o5sx}No;+VpABzE30F4bYR>Fv8(qs~Eic}APovFbLj zYA-cUzodfL`M!2d@0*9U-q5T`<g5Jq>S43XYuFCYVY`RT6{+fB^O3L01fiCS+EL4s zYdGA_`c>__wo}2EudtMl4H%KFJGZ3Hx$=Zn;@jTGeVWKr5I2&#d(psh{cWs|nw&Z) zdH^pIiaQyxH7TJKkw^`^JbJ!nUnW7lP{QmM0-rRn{&Z+YnA3G=qDFD(!0os!uk>NP zkb{GT0-1aeR4%yx{7<sXQ?3cWb9n3W_`8D7Ep<y1gOE6R*pHXo_{n(WRD}H@eYPJm zoG%wTq3>#DrmXd;X?XASVZXQTVHZ1nJQr7&U*xHV8mT6X9`?Nd`Tf4ksV%4YbE;y$ zs!v_>u;urj!=~2IyISn&MW_6Pj2`~s*mBr(<kPwIf0obb*AFGb|Ma1t57U{|m%hrU za^FvdJ?yfWW0;hor<cyff?reAvSbejYXj`r10PNmIrXy$GmsD?^a^3C>9?^?aAJc^ z24;JNh$99Rq4~H?H9my&SrC3=cBs${>mQ;rO)2&-z;ar&N<7-Abr{6JZ9pmc9`dm6 zVI|VLF#{W*yg;%*(~Qe;2XXiAbSeq&RU$-8=a*_E{T0e<<-+jM$pHN!X;;7}gtB|j z{o4S0o`+4v)tht0&sHZ?{9m$@LrLyRW>_3}!4jAI$I|;fSaDD3i9LzTjnFdq_y5(k z+Zyj5&X~iNgtEBwR7<;;hH5TDhV{h`70mq444PQZte<r_6@2;Y7LGJ<e~KP%JGlA2 zkJr8KSmJVU8}&HjD5X~@nY-_+uJ<C&s7iwqqy8o^=J&xBV~C?ps85aOqany;^+NFR z3<$85IeSpFpvrXbAQMR#={V7Dv4(Uqv&h-dJH7sKARQZ6b5yTu)A^0F#>^s-__-F9 z8VqeGUWO-zH0!z^1T9|feJEG9R1ce7`r%l5nZ>NyM9v|%bsBI&FBLDJX5r30DpL_e z&BK<yN^x=N(D%1JBwikr!h>@OMHef%+820mDHB|Z!4?NukDShUi5w26+E+Ri2*v@< z`kbe9>Jt=S{yI+)A4`k3acN})a{3Ss)mPL$Y}&~FSIWWZ0*q?dk#C4=Q(t?XvryL* zlh_}Hs<6$bY+W)N=tu!*kKF$<a8;NMI`DN`6+;7KdN^Zc#IE$H;9+%+rsA^p3erhK zKiY^MpT?8$dsonaY`he#EDIt69pG8b{=9!u;BAM=-pKpgzbA|P*v;wZKGu;>@9Ksr z*4?EPORAN`-OYnvC#Pa%`f%JeX2Rv+yD+u1yV+%KsQ&Tn9+o}E5!#HPQ$)Dw$(pu; zK9oQ#4F&dquAX&@G9JpaAC5a73`upfn_S+`54d?yAB4Dhpz#r_Gru+tR+|jSB6F9^ zO1buR*R?a_(zWlrOZ@PtosQ#hQ5MaZ-~&9YH)fOohC!@2f)H2c?9G(|#<r1DB0C-S z<RIB#W=JQ9#W|YyhOSTYAY(W{s6F2BsD+grTSA;aFZ8fvv&!?n3LcvR2V~DM<VAAj z1Q|w|ATcsx;~2)1O_aqaX8;_MMTk-!v(Bd=6`j!_rg5c{z-8AJAIyL_-zXgfXH>KZ zBv&i~7pS(P#-@DTbqqh%6ET~5ShE=bxqpxD;cya2y`#b(C_mX^T_^BVbc##kzO1v` z_Q_oh(rp&dRHWn7VbxRCL_>GvTL{hqIk3u4NS&Hfg(e)pOc8nFxpw!kostr?>m`nH z0s_m-yf~=7XDXa0$qcj$y8U_}^+H-n$cg|zt=`o}Hbs-*Ba8ts&i8<qqaot8zpDB9 znU76XmfY()W`I82bfAo*u7GtfW?bZnJwL-@h`}3(#J7LtIyH^^&};j|sd|g88J8zE z1P=u$5@;L;Iwq4&qeis(;iAS-0`{;p)&ua3A!y~#o@r76&_89IP(xZq{K{K_hjbvt z#!+5&9g&yRbzPAKUl}Cku9VuYG=j^T0idJZ#+A(ZdpvywTN_LhE$(i`-QC@#IK|z9 zLve~r@!;<6E&+-Zhv4pnqQ#vSEq-~wd!PFQvYFkP*<@$Vob$qCP5+|`Jje4P3m2U< z<9HHd0ed#U$pB3h?0Ivqr_CBrbz6uo9J1MR?^N1f(t}#1f>NWP8I7C*m`zDOn4rx4 zkc_>&_*x%!w#d{E;jGDI5=9Bac_37B$HKAla+D@JD5P@4BM1@2A#Mt+!}K=D4u=_Q za=?3<G^EH_;4DAJ>okc6w4$mLPAc;mXzTvq4D~Gek$w+qmH1RV#jD34RfN%+FEeWl ztB?0h9k1*M0*=;@a(i1rNtxN^po02%#|q-6MEuMwZ2*yJD-T6DuewX}q3aL+q__qf z^mFN|i+Q${BH=nJ;K84MhR!@<y}n<aO%@44E(Y7MA^8ypD|UFP2+$=@(WMl@<-G## z@$>QnV1!>5fKB@mMIqYlKwCE5h^gqIV!f<)?;a!B{Q)P%J#o>L8Tnw(V2{P41C8-0 zMX3tcR4AoXjkCqM#ru3!WY!vU*eR;;DnX85XtmN=spy!A^ZG;~R#l&0MTF?5GOw}P ztVq6p;Px0+#Kq_ib;=!}W3g6Bi9f0TmWgtL^m~3KmLGfjb!Vr`>!IX~pA{44kY~%& za3=N}tx}sC#S6BvU4w$p+}fac8tGz>eOi`2X#`M^*<4i()G3G<@X<1v8$p^t8x|D6 z$oK<SPb7i9&2BWQKz1)xNYNRP3jlEaB3BXtFX6C^j%bW%Wb}*1d8@?xVw@T;$Z|>i zS-bWw+hXCo@uRY@rv!>PJ24A8J!PBs8|@Lqd#aM+-Lc3OpZ+?-(@uJ4K9j{!J+}*V zH%Z<z<9dInWLhVui5Yk&p8S|a5gvFR^7SH-3*ki2%;~ALK#*UM601*TKIJ*}R0#fZ zinEvz6E}#M+H5sv&4Xk%kgX7BLGqk_qJN229p-OXpeLJ642<7pV&ZZ{QI;V=8EotG z_cy2zATXe+Uv09kP}=UBm<vCDn}?~Ho&((5P-j;Tb4Qg-&|8j3*C0&ep31xopAD?u z4;BOdvMcRGX^d6S;3*DB31)YrsWasNRz=9>XT>I5Etor#MZ*7j3q6@OU_DoPrJMa; zY#zxKg?w~4!s+nNnRaH%`5b2bWm{Xvu0W}a97VuF18!>XK&p;1Zgz&+NvA9e)e?V1 zs3`Mv>L&&qTzEABvVyu)v_bxk3LDhtcyR{mK>@q(EiopP?|-9lUA%Ldm&w+>gqGyf z$O^J$RV(@e$T;|qS3HV_hPr=ECKMTtWt8KN^Ps95_tQP}Z0(Vy_Rr1Ik;H^IiAmQS z{EK0R-AD4HY;M5(T8CvJm;+v2;he%E9{dra<;g19*b@Ou3@TCIc2{D^cbDWIOfXLu zr>j;OmDh%;`9l`W&#Rjg5DxB|JHERxz?^hTY5h?8Y*-SO@h+B;V-s{x%5;2^gKNS< zj?%k^KJL_}dEPSXoiXE=^hO|+xMQj^0r0AVS%I8M{5K%p_rYKUvU;>RX<}RAVXdV< zcfUC?snKPY4`RvNOhgc1aHKoat6aIuB!vZ;&%4#*<v-MoTCgl|NfE&Z<FY9hG(?7c zGO|u#x{MElqR$#NSsFf9TH}OPA6buW#dpr9#ANXNElx+H+SHL?Uq+^(p^kAT#K%f7 zYFhHt2XUUGYW=nK42e{L!O6m8^}ZJ`{Jf`w^EroWyeLQHuB8i#VCRpbqkEA8e{5*w z1PM-UgX=fk5~wS^Dc@+LwJ7<A^w1DaqN08CNNQ9k?PCDCw<4SyxF{9j2#<D4u6nIj zSfA||?81JszkqHuC2Nvz1^Phuci;`4E`#+f7Gjf)8fBDixEkt()LW8~aKG}9v2WJ) zF`5<)7cr{zAXQU{(=&(B5!9k6Z89__oyrDQp3@uFNBugj;F-kvP8enTcdNX}mJ+mj zHNm!kUJbWCtHRSVezudYXq|?#Qkp9uO<ZalgHa&-Ulpg&O;Y`GWI!g~elYn+DdAt> z<_)wjcicJ4Z$Tnc?qbij;G1x9y49j$C>Rz0x`IlGRd!${Y~YWQ8#`H4>Ygz>94RTw zfyQA!HwTs1^;05#d)&x)DA9c8JB;^cPl#A#$cm|zM#&215C=#Dm?vi)sh?<;Xc2<N zhNobxLVd+Po{>|eLL6GzWF^d5M&f{-`T3)V78BV6d-O#o6g3qziRK5OaVuAA8$mXz z?GmG4Et8}!f>b*SI0g{|lc}<_%g0gpg+gxEBn6~l>BJ^SQoIp+RWmL<N0o(ahNOHv zw>qrX+K2UvVhCB4Xu`*kwe5e<?2PTH2x-H=mv~+^d+Vb|529xUU7oP4+M&lPA<Wab zC$B)I;~O<4mXbwT;94c3!TVS;$0=f*!QPBq>jvZIeL0INsRCIz4a2KcOMXr};Aab< zGEnt)!~!BjOwHXTkn1WCI*xgF#IPk-2e)4)%cZ*4xJfCRjQ4lV{JSdxI+1dWy3^s2 zfxHn(Wm2Uwd}WXqm}6-H9rlBA)lwZy*Cr$~CvP>L^zG^WUBKH=*24)h<PzQ=pxl#S zb8RRH^T`Q3o~$H*1X)09Jd3t54b}KF4uz$Qx-hj@0hqc4?g@j@OMdBvm{ZcnM;6XJ zP$PD65eK(ujcZwvO<tccPVw9Ve;r1-RVZoJ53U-*FWHI{31d)nM+8{v&1bft_a&~| zJ?-#l5U!3+V&)9zAOP`>D8)CK75{0_2|k;(L!F;f)M(5hnyG)4JCg}qUl0BVZP1<I zx&mY2$QpHvsmc`shWYuKOgO77<ZmnJim_s~0P$H~m9KRN(E2IL->6}&R(uhta|*W< z+BmG7m2<})?Syo(g8(~)4^z(bWe~>UOu!$a4@A*%Gz`J!&xbA!mC=Fg|7S{JjlC`@ z-*+urV(|mb@RWZ%OYjP@o3LUX{ikT*0)GY7Jm-+PjUdAKrfhV)J`rbSsouNR>d&wE z&~GR_8idu*9nx+{h85<&Kzl3LMDdL{d$g8_r>es9>f=0>T;7~KtMb5Gl)Z%@=dUQ| zfPX=qL`V<xp#eylf?Qb|S%DO_{z%ASkBoy9>g8&dt*U#R1YZ6{!~nv@&VyQ%@s?RA z&iW}XyFkN-aFx@YQ?|Esjig<?wH8TV6qMxPd6Z%7H>(KE!M6;1Q^JYY2`v@K4;*#J z=hPLE^&E8al~nC4vQ<Sk+5}DH1VYK~(qdCaWB48JJ_Jby=v6D>F*SU7BwR;LE!4f7 z3fMP$osi9{e0dLB&!gYPL3o_dsG9IJa7eBUqWozWXRQs$<vcR|=t7;}G-)VmAj13P z1S8*&F7X^@2lGq0;IxQIER10?#ikd3jR)W_LX|`kJAA_N@jV5k8z*S!jEqW1{e;0T zo6z|iOn?qQBoQRGPqbw_P>`Mp^~?}zy_;YI52L-!@C_>H>6S-jQIIY<UIuAu5(k!u z)>yrN{dYgm9&X=0*!Bl2dP5<;>8^f72qDgyahhBm6Cr1Zj`{<8Nkh*L+t#1r6Vvjb zSY}<X$PS++j+=qPDoKl-FliTmxPC_avg3ccXbQGmg%}Gq#$7k0i!gcK%V16Z&Ba%) z8Ap#Db>Y8a^U_71V!bI1q)aTI7gw@HvOqH^Cl7zdRcZ!5XW_zt5tdoxw`<@UFwd(k zx~!052giy1?U;8#ihldiyG9dTK5w=;VB($aG$JS07}}Cwl8st+w-V<e1Thnw5+&SM zFTmIMPAnyJGV34gCz;u@8;DDYQ&v?^*pX6uyzmYosEbZSzWQ+XNqL;U=Kt`haN7kZ ztl18VVO*w+|Lm=dMZ;4xDxqaCnwGyMsa5s7rFmY1njGRAg6Tm$RFsVQ;x>hC(zBoM z)X;aEv3={n<`|wKMVF;0P|i9W9n{JkYK9|480}%p_GF~!+Kl|!l>M9u&`l<-IoDX7 z=rc0W#d*nLyM*NNjE0z-h`hT?;F&=&d?nSW%`szCb>CaYp?9~-lz#w1Zw4@<JmjBk zkE1_5@B-htfVV7<qgy~;Q7|aCLEeEJ=6n0K^D{%efB9CH{`z?LzZ*AHfzo15B)@JY zOfkYS3;6Sbkq)c@fhn&bH+>-ck7}Sb+|Q>Ujyv#Xcc45YpA?xNoLCds9+^!S!aqww zquP>wA;W%*SfE9mXv;du$SCvf<EQ?zfS8l**he*G=zA66h-KR3aOl;%h8JL5QbY=t zDG1t(^e{m4;I;g-LHNzDR_!A><g+&%n)~NlLEUlZ7?RQZ;tFg~q)=s1_ixT1Zon_= zIe^i5uUqn$><m(5ua4oEeCc99z5>2faqMncwYlJC9H|B9FXzWt7+nxT{yqp>PN-kR z(1f)7KAg^jhEWx$mS9l|oY+@_^?yx^Szy47igc-fwMu%~aE%#9GK1O0_>5#e=*_6X z)k47=`4<6`Bp!^_OXeUxazT}@-xKF34QicRsn4SZQ7fbEr89>W*V=qv@YDMpylX)@ zl_L0s(UNo)+oaw6rQfHUS}nh27HehCAl(tM7I~Q&Zt;sKYm&1O;oe{NP2$Q_*{Dv0 zLPY~v)+`*Xsg8nJPty!z&~IE)U+=g%FpA)$qB->t*Vp@V(fwPP{`~LU_(Rb}L>TZ` zjsjkUgIIhzjq`NeqoLF;(CAyAY2lq@mR4;B7#ur+e`Ps8H8hYAtiFYN9?Viik}Sn; zd>(d>=1C2<Mu!D1UiK<LT@(L>ALo4>aMvwGL_GNRIRUXpkHj!S9aC1cCSu_#ZxK0E z=wM?COOTt^a)MNfYQ-WxLZ7)w-|<3{S1t`JNE<=cihkb;GC>q+Q}kRplwLWsRtrE8 zRTH^Q>Ebr@+yyMRTOo+RZSeStEf#z8mN`mucK6fMB0X{O8<YNmO8U?-6~RFMp(low zF5w`Cp&`VR9-+Fz#3%$6f~jeHh~yik2K9|U9f(kbWjZ<qXUBb&`LMYTHf{)ca9y(u zC=8-P;W=(-xCJ2Y@`LN}T9G=uYKrFv-0~0t0Eqj5uR{E#up;^oQ+A=EQj6j&!wb}1 zHBrW8gW6Wqu4Q4_@G>5;t?DcU6%00;`27YVJwJ<Ad4?<(SJwm3n*77(q>$00lVM}H zke2R(cYO)tKV?&e$6+VEj|*d?5Pb^EzE=-{pul3uyh~>Y`o-cGr4BPgNxJ!uiVv#m zL{!$KF^i}-UeHeRXW+|3uYT@+_8=!9q#lbVt__njG>Rcgk{tMEehf<15i|Dfaj$gc zb+({n*GrQ(j4#uWe3a$ACKX!Ey{9gTVb%)pfFC$s%tp6qeuG!Qt^R|RHn8j%W1PqG z!HGi9p#dIKcW%Uxb;V-2j`}^eQaq)#$BZ`AcvD!{)fxL4ljQZ2*8{dNO^fdXwrkXr zAve@ek%j18W@HFy%^uPNrCV)wGgRkKM(pg}N*>qLr6}`sH)<7}ECA;hi0d&upSLYH zD1{NsfRAE5LHZ%YY<BVQ)-!zm5y~}=TqurNi%G7-Wmr&|yr!W2)SveNWQOV&Lcm8Q zXw9jU4kd?UtyGyb0J}cUDL$=9+SG(aEV0y&bQkh>Vbzt%(&3e&4%hj!;Ivj!FSQk? zReKDlFgGl$!Pr<UCljly@W@S$Nt8u@F*5-41j*-aEkU<S#P*RTL&}vGV#!k@_LQJ^ zr3bsuGp2uq8#@RbAtZqB-Y4bR<*Q2;6;O$RJ?aq#)VNvOIg+RkmBr`yN!rOS2oW!3 z9dQly?`{i>G9@u5?A7s$>=Nc@d8n#~;MBqs7gwwO9C0ATZNmU7QulX;k~}7^C=P%0 zicQ)9jvZ<-$4#u1$<6&f#`9lC$e`qDIb>Xv#YzQGMIX3lkay?0xIVZh#{w6!*q;2U zrdnSJFwbb3VqEE?j9nWHeRueiqzGps4Iv+-J(}8|s&wra{1a#hg`LQ(OJr;0Serjv zW)2n^S`!tjPoFlks1t$Ijc$m{L*IN|$F{rNat&!TB&}wpTzSyxu!J?SsOY#g5k?4> zf+GjEO262>Ri2SXx8TVKL;ZrIITWhXFbJ+>qqkIT>+Qc?kZlp`Ph37a0sp}oY(*43 z_+YwNG<f7o;jB9ZK^N3f!=kNN<En2-x$Y3WZhxaSsQMxOFC|E^79-4IiTrAw>JI{A zybUJh0VSawPV{y4WH1^&p0^w!lZco~P^;EMDv&S8i4F(7w<Jya%+ub6s5=IZYtToI z8et9LRrpj?_(6lAg70;9rTB(SYQ)V$cH>=`>Ao!X^PMxC4ra9k<F7H0yl|CtE_2;j zxOhY~%w8SF^yzR#<moY|Y}4<bhII7K6p|R<1aWVmP_EmLlMt1(TS%ntdYPtbxZ}vR zdylPU@v0Ey9d_7sq>(Ai$raiKu<$V9#p7XNQqRVW_%?~%RK`BfAR`c92_=o-#9&7f zkJNTx#v-X3F(nW$h0)^dq*9I;>Ku7D?qR64B)NW`L8#E+Akq&Hh6-ZD|1uRr+$27X zcX*MeUC&v{T?`0KX2d#EQ&KXbVYrR*8HgFn`2fGA4UKuLL6Kf2)eMfccTg9p**S-& zpbjcl#SFD%QBt7!MM&=mqpwFu5`Lh6&`jwT%!|G7xQ$dKoyC;hVtC>$8L1WA*^)JE zVKy!2@kq|*7omzVb$8<6+r_B;OWn+HRfi^jA_Txc71oz_k=Rg?xaBCxrl9Lv7|47^ zd%4gsne@FJ;g3P<Hm7V?l3i~?4h6t}6DbzuXu?}~eyV7~UYE!?5@kh=2I9?9v&V+% z6E=r;CNls1P>3P9?wp`JnHyQfF0}~=xd|sl2BKIJ%J@c2P+qRk!;8}xYw&B2vJove z$-jLfGwhG58o7tP>ZO+nhsrI2>60D<fF18+Cb@v9{YgHYmh%SL58ic&5lA)uToPg9 zMe_*@8sz&d>IR=XP9X^CQQsXuT6cIFd`O5gdRZK5UfZ8(aq;x!In(0cv=o?r<ba>F z%bV7+xnYSy`M%k)jr6ly#TRpzv0hmTc2;9|k!s||l-x`y&`OQt+Xk4&#+J+Lq!%-k zDkOg{VX|z)i@BDxviPGL2rAiwwHOjivWCdExeOKj&8q!d9&Un}tY1U+Em~1@`1uqf z^w_>i!x`@zr_gCy89t4z#C%g95>y=G2ToJdvd-&?O|?cC<2;5QwHF!u9V5BPRg_*W zhm5QiwI`x|I4M+@X|f@taY<?Hf62$O+o7cqAAm<sT<ICvlmpFuWc7K%MIW}OoY`_C z&jV5M%!Yg=iynTt(JJf0n-b&8hTFP`DT;0v6L)8KLV?UM4~e@(sL=I{Bp19>24yNx z^ue-vh1d+KH7Y39;AO<qs8yWc1Eh_Pf{O={VdaX-eymfo`d)mG>7pF<HGy!I)1YEb zLE6c#j6jz?BWVWRQzWi!4}V7C874!YkGc+xcGmM3j%5o^T>z#!ID{h$<r;=e1CSAn zj0lD*8;XMZN-z4(Ofw@%%PoOxz80OM0;x^RELQ~~PLQz1%Z3+g5y6>scOUp&%Vcrg z({tV03_xjSs25k4^=C^+rcV=L6c;`Zd&)r?6iEeRe}#;2?%2}>75q5uRzSm2Dc==3 zEmA8W2uWiWy<jg(bxiA3+%G}V`K|68BgkQ6-L@S?M_wVEewV-|ssFdzu_}QC5Sp!9 zeTDM}V{oqX4FAl&%c=e9-#yk`%<L_oKGQB6$G@LOHKgX;8|$j^ybYd)o#dcI8jb?V z*M(dSv+|%ZSL?}R!aKvrz<%;z8~7CalmvX+dD@$nc~|vYlIdF1U1)TfSWx}$Zs5RS zru+0!Em&w;>;d`}<zCD9W?#Gb%Q%&jc2iu3P<SlPl;p1=UoGQ?V-^LmRz7KeSAO*f z_#^OVj$&<_UaUBe?j3@Gy;aHq9M*akT{i%4zCpKn&xu!F+i%}4`U~F8wgsZ!ITifE z30QpTUH86r^%E4^85PmTFco(t68%vsaogDReFgI_HO!^VOzf3846{grsBss9XV!?5 zi<Q4HmnF#!2xf498kHOQP$a(BAV%g?Lrru0d8hM*e%-072eOV{gJv06)-^)1=e)(E zV{x?O4HXAh!zk%vSEv1XN&w#k3*M?HMT}Do64gn?_;>m~-=+OifCwPlmNCd$IRFU( zQ~>rv&e2p3@k&uNry`Nml`W>8f#bf_k%JG$uHbRVqonPk-Ko3~*>>hw1H<@M!}%Cq z$cnlGUD<#-ku`hUj8QSo3(&r$#5rar%20y`QX#gXx-GV%=Qg1A3u}M<{BLYgvcK^T z5RN`t*TcMczFj8tIvtqg{bzaLHYJyE9K;nln><Njp_b$j^~tU^=k*J@BhZZO>~TsY zrC>CeY1IQlV)1#%C(B%gs;yP(xLV9Hi2^Dpn^9$!k-5dKph?0eZFBwOV|0G{xH0kr zQEDMEPahhmGHkgDr1@8i?Mkp_rTU+fzK4&$6f~lg*NLMm#wm{N!qJd?h@Cidhyo+N zwSFbom7J|c7=4N$&9L6|OGb|5jpv!JMv(OGd*g+OsX!?!*f*<tXWCu`eBs`#8TxN) zkgZuMk5k_g0*1J;o;y;06%iSs>UGqNoT*sZstf>(NH|zzbDZW-)z#3Wh*1w`ak6hi z^xVt;w@{r?-JT|Pc~Gd&zijb3oWV~znf{LxuO-L9>if~3!U#zrb1{VoKg5}-2n}jD z_TWY{z|QTTE&;Wo8A+?SQS2@-3$Dvx2P<#zpVjmW9p5K#mTf|%J#Uqo7rw|M5?-6s zROsQssmTAn?u1-7cbJ$_Rd|ZS2a-;DAK9!yX0w$O;$UU9Q^y~N`ph2cU?3PK+gz7_ zg!$auZ)@90^kL;1xo(8p;|@tJuE^gXdG$9qh}VX?hP;6MCbfGqI4Tm+&<D(_&&Zqw z9fA?Cg`#y8RE2(N)8_5#llP#&o$JjbzvuMa5(f7VeKR4}Cuve$UhL}}wq-m5^uuc5 zBH1t^=%jf9UH~+KHWe9V{Aq;|M%SjP7sh%S&%w=?yZgO)%W+cK<{yg=7^tu-3#h8p zRT;V@Vp`6cR889ZsT7f(3SsqejCte;+{>K1wMOYaU4e+?Z4B`g;uIeGkB>KQhX8v} z5FOC^vj*$@XK3IIcdcIKqT7p@UK;$eGE7GGM&J3>Z`yQOpAaYKv;WTb3b4-CN9fSo zf7X{@b{PIkZT1h203a?4EwzL@nf|cP<>C1|=K|B0Q$-2WKcL$=azwLx7bxP^7D?0J z?EW_&;V$wAbYl3Xt_3L!5~hY$egO5+0X@}=xZ3rLm|#FV)`fXA9n-5Pwqa9CkaHR$ zF+Y8K30bkM8R5T1?vSp+pytNs)&QTU{4YydzG3Z!E97pk>s#x<#J*Qz<}#?K#rais ziGsv4#4cg7cW~)mE}`1px2HkdKPEo<&o7NH+efqS4&-hBK)7QUfmA?~<XWy>QEiJ{ zB?Ny;On)QCSz~WsywKwSHv%!oXQ~B65pLq%hu0v9M@>%y@u2e8mfp*Q>8l^B9)a?i zFGQvX;2!a$fw#5?T@21@AGCHlSz*%G{$T=+TkOa%6OLIQ=T)E9_T|!};TsQm4!xyc zM*kW_9ory<Z_kzQ_CFH$+RHxZO%?>zZ3wLVb|UpQ*eKq%B+Hdj2Vh{mmKvHBmoCWp z-^^9WO2Y;&3+Y!U8xzfr*5|zV`yLFHuaMYRp1e8rpL-BQTJO&8sWP@#+Ffr7R8FT| zGiEOoTnB$2Pdje^&P9^%+dN`972(sL0vM(Lt9*B;D4GLaIApK{LN=?;;0IheoU;E? zetr9#;Ue`hLojLfzZrsmz6L&Kff4Ky6pMS?<?yKwiC-u(M7)n)n>$5MOfV8-fUlr! z4(#90lW)L>>KKH#7MA4Xfvv)^x!eKr-j(*^BL~n`V&CEp=4e;Iy|)l|Q114|`nDy= zJC&y+=Yxp*m7%9>aitJ_Yw)gfz?6+>^6}^FzkoikTQ7vwS;BL7z{bAM%cZ~LZ;f<8 zA&6yzcu4n+%PmNNRX9|1tw6b%=%~-^V<zBr@fu{+7JEltyWX{a<g<LM$!d5r^2oJz z)p#-^6rrOGmlf2(p{BEa2&@2ciqS~?hFF)M)r!M$aQ}37?&}?Rn^~{jkGm|%eK8^T z%6XeX;|~mek^md|jF>MP^ajy$>P7ht&Nucsf>ux5JD!|l)ffcIXWx~m{#w))O1$Vz zJ}Xh^n!ukJ1VUzjBbnjw+1vDYY2OWDcFqq7cqS3P4x7g=vne-T_dN(TO;vw+3;Zdj z=(}_c+6OdF%G3_5Fw6<bVm>GC1~n|IfnIKI?skhC$Y+70W+{trwrT~J1zQ)GPm>3K zf-r~U&pht8t~5iJgB~Y=ug_1qDaE4Vd0bn)TZIzkt3G-GPr#HMF><XAP&fkc-Q?vI zNJsbu(=TA^3#+Z`!`~FMufF4E^GMhJ{sA5R_B~sxt9}75S#N4r`w%h5Xu*ce)Nr)x zzu#s)yFQ%o=g;f-njJt1b=NVSTz8H7`K4f-uG}U16}=R<wyOvJcJH_)V1Mw*V3M28 zc<`CJI=^^Ze14}26K^2xDU{-ZoITDb{virDBER==J_+!7Uu^n)QVMM4I0PNy)De%F zpe4+$d{Xw$jp^*-@r7t-3NoY`2ff%fcj<Xb4VX*lw#;C5ebHNOoYb=$HqT^uNs7g- z+gCt%rti|K*LXa8fmsD<(JpqrfHr);teC}!90X(zU&qO;QQccB`!dUmnU}3R6jr9# zm6sMuR35B4tulS_HPP(WWAkCG^sWeh_Iy0>O@z-oR5m-<?s3RnD`so+h!ov1p5^YF zuJpS+Iey>^6V+E1p1sJnbxmBo$Wx-K>WMf-{i?RPB`tO*<C}9S@sNm#o4N{YEq&l& zMDRbvtP12rC>-$42CulQbFY4<3wsTiVs9JnU|5p$Yg0nALtN0YbpJ$`P&JIYS#kB_ z1K6K`?)|gq{fIemKNkKlFbLT@an+v6>3$Nk@YLn`H22`0;<nTH-$R%6_RQ*Fs(O|9 zM{4kKe2nop$o82Q-2Qd<c@fHoJbV0v!%RH-7z#NO(-zL?*m)J|nX6P54tbf}d<^nc zbH9k~6Dt!)3pycre+3?hnx&hu%S)I{(E0dmte=5Tz`L}U<ew0)J-p&w$_fYQ#BP`( z{H{0%Sqf$z1^-dkPc@TL4o8fG#l0|}Pm_9{ue0+gF~<;nl$@R4eN4S-WiW6uU};y| z{`KB2=skn&g}&VvNMIruU2$x2M8Mv$X=D07QuR$Auyx-|A1<Kr_dLoxV!d-UdPjVm z+=mLq*@-A=PqzOfTCWS{bK}y2!6j*9YOE7u)OG=wc<QNxTkwbD3(|DBcWlTe9nBfJ zuJdF=w!q<jTXT!BsY69gru+QC6%%5iZ~03SN9e9|tN8D6LEj+rFxBP6Z_wqjv^^m5 zuNbwD)&<v8`=`!AA^r-J?6KQF#Vbz7Jg>(eGck`US0^9EO^)!U7m^#@_GTLz_FX19 z#4}1Oy#wi@pC1D-g&cn={US2Xusi^A477)wHLY9I^^Gm+*H<6VPXV+NkKD(Ew(1L4 zAJunf@N`c9>UfVmqGjxrzk4{m^qF2uh28yYeaY~EXpJjyR5!aOBGevq3A2APf5Y0I z(t`MWV;9aZ3zGbM{EsLgQD-*;OdmT<u1oN#Ru%q<R!Y{x)6iB<kR*I}3|t{HUTJf4 zM&3r`*j6OdAh*^mVMP<rBcZ?t(Igb-$jtu#GXTa96+R=Q9_X>c8DT!r91@~7GT)h> z-MivkFc&P^D*d31>2jBX?v~DI-roW~L?3^CjMhxuEY=408hifLm~cM0qcRI=ykFy_ z72<mE%(Metpe=B)KNRnJ<V)07I+ob-Lg+kO=2k+O|DIWF4~#6nyR;yeB^DDZiiCZO z^9nx04+{)<F>^UvYWW*;-JH}eD^TVPdbmT5LGXW_ng^C>y#+^>zT5URxom-JjzCPb zZFy6E6BC>69~FAfpFAXdN73D&^*<^0d0PzsxjlEFqT^qZF88Tm*R0jRusP<g+Fe@~ z7sHQ>%4bfU@3_w(Wu)g>itj3si#6bOF+}C$lk$C)ae5J-N@9ziqBD*bVET*RlWH&4 zW(K=Z^$$Z=-`4l;?!(+`l<N4Ky~O8v^GPDBFjcx%iUjG1+;0Srgm!_AO2PtX;H`u9 zY%xAU$H3U-MsmOV?Ae{9LU&|@+G6Q%4Za7*fCKRL$V9<jcC|mG@}8<-+dO$oH*p4` z_N)AR0{Z>FN=YHll>H<B_Uo<X<+*nE0J5iwYQZERKMC^r!jhW9(X(=Oy6!`M@;_)l z^Q>0e&i{q>d(3v%_zOS;%t04;^ns9rhxc`d&$GnmyBwy82)R89{E*dQb2GXy)h~U9 zd=MESeUbJ&=KIdc&VdZ>N3pw@#nMGw8-!RYw>zQLXG3bsus~)^7EGmwIrB-aU+EHO z;7&yoRnhbHr-&rQ9=foe7=&1pDxYr{(I4~~?+G%yBqyiMt(Zo2C*Y>o*@7z7(pevU zTpSKPayPIqL|n$(-iFUlA2XT{%piW4<nsr#0&}2!pon8SS^z#Q9CV!pt8aF&e<49z z`A{xoI`kL00Zp5`gbk>Pp65D)COOQmCbM-dyI3nZk)tPxj87Fe0O>x?pik}X^Wa`J z4sJe3#?T`4){ifT178hr!|DqMHo)v=<Fl1FQ;4RGe)?j41`@))`kNFP$E@V9cMq3< zt_HaVp+NS-rv0WB^(O|G#cx%Md3;Sv(Zw|3<hthME335>qH*N>?E>!eig%f2e)CLz z`ev#tUF#Q9h8WKp-bIE+h~F(J+Vl&l%wa^&1Nk7e=AfffKp{QC^Ai!Ke;t*Z1HGqz zb)!e(+>k&J!nAqj+^C5oMznmG*tb=FKZr6ib@M<0FbP8O5$1SdEbk5upk+A$%q~Ps zqi$QS>UHqk%D8RufO+Fj-)VUU%=HB9gsrcS+x5VDuiN6tp-0Up*E)ACE+CuGah=kJ z=bp*WWuU&?Zj|bq+Xs4n<H8wr=C`<<`e<HCg}M;D4A2;n{bCKxu``kU-n?sJ<tN9= z^Y76VFhQzW5Dcx=)B9&?*$Sg^bI@Z<jz2`;)m=D|d_`&Ao)faJ`K^=PD;D9ImrXdG z=NKVYd{2i(IC-E~oX{Tv>jU{AW>O(nN&IaU7+Hb~SAB7WDM9VJySD^B{L<>{!H&9_ zF$;x8(8Emq4lHfw8Iv%%`kJ1Va2auMwFrKK`+5ep`Tn#viOMi4<hh*ZdDpqj+{AU| z>T90x|8Vg<m*yY1c--^f|HH*=<vJJUl$~r>9s?dEjB(VMUO`#UCnoTeFMcXte6~Z! z*q`ev2h5duhC&BSThIIs0jL)25*|OxLI+kpsG%V32Q^A$DSFkO&)VWu&LBfd<d395 zt3WWCx+Fxq*KyA21hQRK`9ffZ9B0G5-7m@c^PkU*Z|&pDZ^x}jI0Zh};T*vRW8(2b zYCG$FrZ#6@Tc022RsfXNf}MyPo+3VcLVjWNL6slZkkp4frXsflss9U!O-+ogG2rd0 zrP9Wf{t%`m*sf*MhH@I6GAn_I_oWQo!^g;D<Lv(Iqq)QTx0l*K1GYkQv`MVEa#F}U zArO)x6}062FkqgkJj_iCI0R&#U6h(G)RJ!>h_e!(dk(ZAh6SdhiNG>kb36d|rprl; zg6f}PfPxiY9^CsJgYVEj^6Kfg&jnS}p`$qQ`SnlHZsiJ47wH0qUl(ohI2?KA`t|Hz z{!jS}fawt2FYT@VS`GKL9#`N)j3eN)BdoU&)L7*xLf8Jb!1%7Ww=!sHTl(=qSYFmX z^%aT#XP#6LwiEIT7#=O-H^%Sd3$%=STC!Iyr>?#E#kI}+SDt@wHA5HokCp#DY6>A> zL+5b9#ojTVsrNfY0+kKokiO>r{&h6VNw+H}nR^r4ut1ZYpp?<8`!D!1#yl%FAbjP3 zIUIO_{a-AIPn-Tyepae=>+ZGlZSHc951!!jO>fMz)sxmMdPEk4uJ4dfVf9f$PVpNy zfS)$E4w$Z;3>?CIq*iK2XXJNnyH85}PcgR89IX>72<z&8M}`l*GZH;)BC8ic5>hZL ziqWSD*BJkrNF0Nv1;jDEiHf5yd>S1hwkkCqE}nf+b_TpUOgq82ork`o<MUT%RLole zf={*XMES71x6dbF{x5{?5OI))^n)EdZui8?ECc{nBx;btU!1<%uy7vd{_>Olg}pSF z-P+yY>NM@=;bWe*UQihMy(Lk4P%gA5leC)u1n`GfdVwq4@B4tD)FeUl%ktVZvAPwe zlWJhS$8t{CEz3Q~SNxe!%+c@jFJ+9(>$aJLi~Myyf5wpQpG(_@m9;<rEdj-F1@CKM z;?~U1p#1yvC2sRsq#Eym-s9%>9WO6mAAQaaJy+SUQ*=xxYK_~Amu~DpccsVl>D$sm z=>jLN56YCu!4nTw5r|QsOb#3xY<9<p(p4VDqQ$hkJYeZ6+up}xu`lS(gj(e#;D;ey zgMrN%I7K(Uj_Z9jDRVfR<kcd{)VrkhmZ3azG{3UHO(dUH<hFKE#&;Jvu0HhE9q<pr z0R5W^`Tkr&h-EsBw|F5bJpRCdJT+I#cgpeb+QF;iI&Qe^3~-WtV;jyRnBN=VH=F;X z?bE<$USWe;OJa$$jR2<E8>_RL*&A8k*dH&U)%Oee?^$FfYTI0y7wE_Wx-zY&fUon> z-IgZ}2}=qB$v__k0KD6fNtUKm>!#pp{Y1K)q;icpod-u7bQ?|;hb~4x`rKE66Nh%Q z$F6|8`isY}xE<e_+)Zs=k1y`wF>~un4jT@(2XQ^F4amH$Sw2|7YA$7`ky)~0>en4I zXREt+)mCW-QBqrT*Z&crzEwYX)vso-_UD{=S()YY{f!_zKiPac;doXMzcAlXaN?QR z&H^9Sc4;w?i(tC_0S#vz-hh573<g@{ePgX(Yf1g9x9D()WW3))BI~!1A0}F;G=k%g zb^bIz{gQ4K+AGfScajrw)|V1_x$K?&^=+KI?MZby+EK~+JDV2(W>Hv@q{YbcEs?w} zr>N~%PZ8L#7_Em4A*U>5RXf6#H>x`<kg;%L*9DkI5s}twkh+lHw-eT>t<k=ht=~P? zCTsVqV6M}pP6uY5mwlBjz(So@kHP#(zJk1xlaMD9l`du*uFoijh6hkwXow>etS`Nx z`-%!Zcm6ykE%s7Te{-?f#`*7IAGCmHr%f4FM^3P;tNOw0OTJ=gPR-|<Pd+dRcrJ6q zv;ute!tKc6G>18VBF@&o4Mj9GX#V7ScWJ+(1zNMn{Nl#F0vk50%n&hf8ZEi%Cu$<j zDyA3D&%yf?ogyO<6u<Z$h-y$3xtsA;vgC@Ndp#$JvT7-J0G&LIDfbI_)Rr9G@Ol^M z+f}G_V30-#RKGUjKY~^8c$ez+3OMg{Fh{L-v?JWt{wubY`$NWDqOvRaG0#$tg{1Rm z!6meqicMY4!jq#IYiM4U!YG6bJM5{Y``&yilkNJ%&5)-kwvQ6%b|UZsUF$Z9VN4)) z;^%aXnn=|d^U1l7Z+6XS%?#Y{&vi2n(7vsyCPfg8ie9uu&R8B9desZBkJ|jF3qb97 z_+WkRLbQXx@O(YzJC7G39aR_56APXc&oguL#sQIqFDiY<Dg<D&zN+k&V=Oe$@AC9v z?(;PWIx&s?Z^iTm5{;D!MVld(ZBzW5B1}?8=S3)~qgs=7i)7;ISovvnm%zRGs$pLy z8-?i%T3g{o+oq{A#$*H5oqlV&JzAxqXa3_hv1$Y&M9jl!ZXguB?T{m#<~nJfSZL!C zP%lkVTkl}ERe}=`^{1WGtE=Z5CP}mE!-o_*B7;@U#(V7(s0U#v?5xM>w0!%LBgC7O zS=ELRa*yyOHz9MztTbL;N!n?hwwvdFb>FT(AX9AJTTuN(i~o*3zkGR@4r`O2J!3?1 zz338&NPjxYrd9;R_qM|{D2A06;b>n(O@?R1t&l(<Q5fOBqP-}l2o`B*!B-_fHSId3 z@~nAueMI$VasnP@2|r7HZEF>pRsU82AGl^m4ig$vYVF24`DN=7XCBDKeTmrliE=w4 zZvTr8jh`9?0kil@o(+R*7~23TLL6b0Iz39zlB_)Dq$}Di;B|F{!q0L&vv<=J1nluu z_^!6*>Y|2ucXTk@-0|YydGbnFrz)mLcZpk120^W&Q(+?!kM6Lp@fXWS3n+IJ63l(N z1T%0AWUV)df5$7##;@}>5{b`UbpG&qreD|3>hbbB7+3k7Sj=-MAr+<_NS;FXQQ{?( zKil|U`4~=sU6aKD(-&i*?czH`FY}v=Uaj}mN(QBNakTAr7*8K<;X95|ypQt;>=HoM za)z}6`RWh*c!YjC<*Q9FchIU44Z$GS^~WXHaP`Vo>?j4!U6zv^Grbm8jZi_c$GszR zXeob1(mFA0FLLPWInHgy0!GXHApt12d<v7w^G%1`$Rmr94a~JJ@E~KBhLNx<i3Dz$ zgb-KcZabyqo#!f52&pcRFLcR&4hxv8+U&i(xVLa25M!;k^T;IU%%t%0SQ&CIMM3&r zB?U+(WFr{RDQC?Sbp-i<PHx|qISRXhsoC!rhn4RavKsWDkhJ#s((C`?@)-TqzLwFG zG^~rqmfA7<M8ycPgSJC;>8pAV(c)AUIxdK0X1`7Tiyqq#Am;~UXTbWqL^#HfererH z?`GS2>^BfSct`k+!0pSS6LIbV2n(KN;+Sz};DgDKsD3{2D(J;CGh(%I_E}~^>(k9^ z-@fae%z{Vj*=S+o_m{>47lXIHr@y0#)K?tO6kF??%~sI_qRWXNbx(?W3C^xGPpz%D z^*8_M_f~sNcnrcF-U|d{4H>qwJevHaO3ySg$5FD@Hue3lJb#h+HD0$1Tl6*OT@~=& zvgzL!;J7i4USDfpsWvA!ZX;OUv%)P}c)u*9h+Ro!R<=J<URa-B^j-92I<~YO0!YS+ z(SQDwFr5cR%q?SeX{YMlaC1w3*Adcos?pcUf32>$45;(d*Rd-nb~LC#@L!Lx$58dX zhq}2n;_cov4T|rm?u60l@N$cn^56V;$muj{!KWnyM|bJA)Mlc@NKXXcjlXXRgqf&Z z%FG9eb$>}=j)i`2sTD3BAn!N-^wspmMN4Vo!gy(iJ11rH&GEbG3dLW)iy<(-iYxaS z0dA)0>?INA+1y?Nw}Um{MM!1q&g#amkPqcyw6;XWOTj(VAmcS9eK&>p`t8qL9S_^5 zpW`MmNiFoZp4e*2*D*a1(c<j?x=zC%Bvm0HJ(#g{mU#(WbGupgXaCYjq2JNvq3cp> zT4{VIjFJe($5QCXukH;n{w1;WpI{x89N(u=B-it7cYS>VDR!CEK0O6yI%oQsl7DhB z^?JU6dDmwMExN|R?5Os(scQK-n1jTo#j`N~n-^b-puTB|`j1uAS~C0l`%~5}PHMo; ztj;5IJQ=OVz70sZ*>CyV+Kp!0hIZftGdVt|PC$qKP6{s2)#;)AdHdh1DMj-ZG+&v6 zB!+C#5~DS>5qk6*m|I>jgyipU&ObRjN(L;uKI<uK>xQ2vV2YQ^T8SJ#%ZdF2PJ8{j zJnu|lil6#K;uVo}@#giO+jm8)6fQM~{jl#zb24P7g;_gon+vyqjIX3sp7K~Kb4gjY zk*nD7SBD3}?3#zhFF})Aokn`EF6Qz8GMK&m=tJZd=+TxNO#W(rUVnA@7i24_<r<ML ztC25mk>#<>r&b9)y6#uRSqnRbUC(0l))Iql8uzDSA7m{$;4HqR`6rb(to0C}<K=$~ zs+LZdwzvmvMPA$!?<}srUc9yY75WC#X=Z66#BMdVo8B70-=EsT3US3(lK7b4dgn}Y zt>$QA`0I18h_>1aWS;X##JpZlay{$#FUP2@mLJ0jIliHavVPw1%-D?kZTjDm0{&)I z>_$gM#2KJe#uXIzad-4qYMlxli^g-xjV2FTzw))Xa6x8Blh8lCVZdR@Vyf}`zf^Yq zoUm<=0Xfl4>3REi4KvGh!G|Eth%B)>rs>v)YKhFIjZ2q@zO`rctt*-e8Ee9eU!aBB z+U_AhFggG)9&sex#|Q?|Xx!<Oh*&^X_1W)l;{zA3mzsukh3r2u*JIR}rUO;rtF3<b zk=LSEB8tV6^T)k%Qd@QPZNBSX@eF%|Z&RhZ$PqM14ZY`CgdA`3d2ub#a<CBI1g<t? z)al7ezE!Iap-STzId%9#u4}EP;7`6?q%%(e?9;Z0GfSA%RsI(|Gl5u5*cJc0ux<Bw zwc9ylU+%+wQot!bwXTjA`1GX+m<*Ho&(`0o#_i#sKdHEJ9VE75qRtI5OpfFYybpJy z4pMsq)39_*S+*t;{&V-+1~_NLv6&%#h-->Bylp~xBW^aWOOBH16ZXjFxOZZ2c;7Q{ zpZH?a!mltxz5+=|b;_i$MSxANvTOJ2)r72?pUTH`V&uqtTtmX(29z)l^=kX+_pkrX zvi@1EX(%VrvF#MTW{zjr$0yLRGUU9gMVqetxQH2w&yogh|FRgHeJk$+HS@N-sF+_Q zs2AhuE#o+vL%uY-nKz1D=^>!<*UKM!4B+mvORkf&K91hHT&u9bbrklsdkE_FXyOO8 zL>yH!L}f0yh5g&zL=RPYJ)W*gr&UV`Rw?O%WSvQx)>pc}`cRGzL(a};>rZ<6-oVqT z{zy_z_OmFjDW@V1U;Qt7^|8xMIbBqx0*7--iY?R}aeO`K$8i2Pf-;PL-<L@<mV;n& z+@siN-OY#A+j{H2A9&K?rF`<Qi->CwvfkA0w$oM_B$54E7u~~LSC-tMK#y@rAWIK_ z>!pIFa=hrbo8x@|y$=9R50_s&C0O;4d_A>pD!E>^c5lCPdTlgwQ97*&R2vRAkS~Sg zYQT}87l@wcz=%XbN_g>Em<2g3p+lCyYjfzA0XuUEC!XheYhY%tDm<6~J=CO-9iNZC z11{p<?*ODVTb;VxJ{zasC08))m7U~5$eOh|d41+*>J`pRv=+)-gvU+>*Ofov9e1g; z43d*VWhfVA?uUhc0OWK}DujkVw)XybhQ{SMO{_g5$;M2hDYL4Qh@f|2Bapx1_RD-< z+KQ;ot(NeIaj{_hGINN4!xjzw5+KaXN6ZlLV@BaeU_E1dy~~-I_2%e;POzk^!I>&t z#d+OH!$X8P{3p?Kuph>moUy}OiYZUT$ikf^`aOk|!+yv%JYF!PNTI*JIxteK8kfnt z{&ZZt<71)kPr_9B;qa8>&TtCUyn~<cLpOHloU9EI;l!Ca;tWQO7*RWv%pGG(#QE{+ zUh}gnyOjFJ-%|P8K3k)UU4*vmEXB78;$}2$uC(7t_=^27i69XgIYc!aX9YpyXoezG zvY?z#2(ernDnL0_AxuQmUr{Af5@~)+MB3t6$&0ZK>E>|0Z6Aa#l}mJv@+BVp=PnL| z$}{!Bh|SlO&@}F>zJJ4_3I>nZdI$9Lo~v3p83pyQrJ;MC(wf<sV`+%UcmlzHTu*KS zf*ZeKPy3Rn{I|kced;{%OkF2S^XIcfY=)N{bZ7h%JeAr{&1sCP==Pya0_Tn{WbeGP zh<0%!MQqT&S-y*vUW1Cib!keYmkaM$Z~eEOz)fW)_0zv-*k^)v>y)`@l4Vt}YlfmN zzWSIoVpujssVaFLjBs5w#Wy09<pH}<lv@0L`nx64m?Hhr2K9bM+bi!Ap5;Mw%U*$o z!%w1qvt)F)GDP2H`MX2EUGHb2s_3I|Gb%G3fNH|H*_8i4g7;kYoNy`}@y93qRitte zQx2<?|Ckf^{Lf9Dt~jx)0>5KOby)+$^UsDNo9n)n2`yB2ilL`f$og-z<Da*w^ruO_ zk8qQS0q=Z>wwQ1fTc3VNXHV$d8E>#G#f(bd{TF`GXA>u^HEWb_n;n5Cw773Z>aEwJ zE#d)kJ<bF<ermCuK2Ub*M*z8KiexCy9KQT%zJHXZI)oUS`(6D=<+c~-QuT~bOJ{TI zPi=2U4O(pYFC_>NxbTU2#QQaVE4WejX^&sRV&31vThM-JkQ4Y!GZL1KUJ)m$RRqFq z`YV{I$NEn%961eGvQRO^n-M%&wEefg`%doeMn2AY@UB&@p31VdXO=g*YGrYj%`f3d zJ1~SFUs{zKqhlOJ@R9~$2YpHOL&I2!{Wg9?TsJ@xC_+^JX|NRgKa2G0SnLh%m=}U` zj(f9l6w`}9*rMksUw8i~jLPhQoLt(8L;fP_6k-_ON`CtMT?WRH7tSgU@8mfSX=Q=T zL$SJRL<{nt@7*>-X*3y;NZR=}pR1VP2Xk3BEvBFqw90UIl8=X<9#`HR5`obERiVV` zZr2#im&mefa6Xa6_CwD=WW1kt)WN7DC2=PI3nR}S0eT&l==M<a1g`E7Lk1Mf$}Fg6 z=noKWtd0q_4HX3DSwY5yJ)9Q-<$6XNe{%LUs4@9*sXG)$;Y%=+!-&G#yB_k@|HA3m zvpXvNrEYjPUJJ}PSF90%1R5c$ZaM^bL*AAoVSY>1-3*ztZl~%a1oY$8Pc!cgm7<_i z${L{=`tEkg#3Bbff?JW2Aa4JKW}aubg!=ecyhw0?iU{05lNu$?Tw;USAJD|`kvNg1 z@mckEBgYpMSaJ2H{@gF7t<AwpFj~uVD4Nj+<?PTBCs@jb@Cox{|Ao}wvx=qA;U`8d zEZ7)DSWafVs5oe4mPKKa5c*V<0wmg|g*cy;YOcj9?%>M0FgGLCZYKCWoS6uIco`M# z@mXm0H39PfT_A2`&=|oaNOC#!5EM6#e~Vk6x$=T|>Z*f21WL|ulW>rJQi~5m5F(wM zy))e?GZK{!Xo)AZ?m>~|o{RQmleVxr44ZpSfkyAJtN2kU$dN7qblw+o9OjA=gk4lR z)Dp(ID@;PH*W8~mC;OQhHQ>>)VH}aDLu~~avIV|RC##|Gz|+eNqsusLoC_aY{C7%! zJh9x)vn+A}PkBkuMw#_rqEUzwYJx4j8X`Xm;li)Qp<ljAvh?p8ZG^-n4J+s#OzYlE zWG4S0cVxbpnm!v2RO|l@VD~PvWI_d}{%09@HD0jAs1ar!E^ZB1uEP`+pfjjW48kcr z%2PW#S0L_3Vmr9>x5FoSuv6-21Un|o#0=$sRjn?@4FJW9z})??JDtJOXJTLP{V#2H zggyNo5^7;<sD+IqVB(>xHRTnVDti&=Hh>(ykYJ@b&Y+^Epo<?BvX<w|G?f6SK#N1e zFdn|s?iK%-IW&25?A-Lfwl-6c?*CT%;9GYKHRjfdQ&rp?vDXouykG>#f!H!4(Ucna zGjqdzjat;_i9+x}VQB-#U%bF`*n_N(Mftek$ZUfvja+%OfKmcXf!L>w-T$Iu{tSmw zgpoNS0Any<BUl?RGaS~2+bbhsIZN#f1caBB=MW?brO_F+iRD3SN2rS|(AoBlOVzhz z{B$3Q22H8JR}GdeiRAo67}EToabumkb!~jZ0v79)JI&zd0ECJ}58ScsF+LJWzC%s2 z$dm-JUGg|?q$MvU3sPmwkZzo0G`$J*3B~g+IrU2~A7=dC5O2h%cJ#fU|J$puTphEe zUWCU6C*2vgCz$|E%8>d)2<rn8t6O0bmz%CE>X@xg9_BIH2gNly_QlF94kAG$ISfwN zeLQi&?V1=E`xkT)U<5Y!ziS7vK?Dw@<7}u`?r#*X)1g-r*%&Mk`LE+BV$A5*_paO{ z5G_EaL8lTdCpuy~nC{4ofV#uaittEq51Xg=DSOgvP5l$ixk4<%(`D;_*7f^g;xCUc z>qqi67oQ+)-^J8E7Blw3At$CtH~Q;0ZW=x;k>w8ExHk>P>mwqkq{fUXoFO~I$ug=> zGy(bOio=sSafERT{`U*N-|2@&dItsZp2^ZplRl+Hog=BS`?R@yvGN2Wt2RFjEGn*a z7#QXYXi`)OL!KztA_Rn!?#`6eB%ARKQjnMrjc<(cf%%(0?0Wy}ckG7e&j(BIO!8FC z6Hei;f4=X&zt$--s}n7iDsTCK`wEJm+2Tb1KWv?aUsS={=%pnWNvTDU?(P%;X^?J~ z?(SA%rAt6sKqQt}x<ObF>F)0C27$Zy{_gwUdq4LN*t2Km%*>hdJm2R#v7Nh-&h)f0 z+R4588Zx|SoW6;9gsO?PVngijeV%tPPq$5s{dD#6<*FYP9t*p|iQdQrvw8LmxYdl* z8}x!;0_D;SD5m@qQ7RHWJJh>$UHQ?mm87{CCB3$pqntaqgNfS9;RIiE)R@0d57fcm z`2fA`F)Z_JIvP=0{2xH1lS;r|4K{M%XJS3L;0P3|X=9eo{R5B489XsoDdF>}2jea= z4;E;GC_$%aEIRlz;zeE=30=DT^Q8ZB89ZF6!$a52Kq_pP>ik_dsw?CrJ6qT;ujF>t z3;zUw1?*}iw)}i{W#Hf!rkU9RvjI7d3ERHGE)#yJhKbVGa%7D)NBneFdxhu0L0PUY zT#Fpe@e7F2SNW4hs<4|U_!Wz?ulPDB0z<7E;WnInRlry!BQk;N>aBB-Chg8XmZxH- zcI(FB%k{;7bnvaE<VfFzAYgu6A;!VX-7S3ld?}t9W8=5KP@4Po%ixRc=+Rix_ZNMK zd#e}mOH+fpmbceb4*^M!0SwHSIcM|!g->};uJFbMUHi6O0r!?S_52v33h$%>9C_O_ z?ta`A!7<`ew1zK~bFY+%<~WBpp(byHa6PVd$?QxR258N?r=j9=N!H^<KuQ-9Qp>5u zs`F~){{Xs5A9O<Gf0-)r^Hi$Gc$WNHl2Wr6ImbdFXPj5eotYfaGs7eiSZL`lP+S6- z$adptv}V;E`!~0)%tu6Va^TOO{aHjxHI4#gpbKF_Q~5@!8Iw4vhSPCa%CK%YTyu3+ zc?-Xj_306LU^VzPKXaR-z`D1b!Ry2?!ukP#&p<7UT6u$NWePpnYKDnW-nS&<D{iGf zcLWN0=El&YW8#&y%9;^6;(u_?-u#1uQ;$K(!fCCkUjq_N`G4w-m&#)${}l7@6D3C4 zw9K$BO#)l6d_{mXo{0!)C)>Z)yiUB>0@cq)4TFT))M!iQlI@;oN)k3qQ(*5DWBBsn z5dqLyOSQ>sGS27;5W0NUa4%WW76}C9PfgA|>>rJM2to_E__BJa{JQY=rvpU}mu8Lx zA&O$Pf+3@6xWgXkEv06R|K#n$Uv&Sw1k>NfKF_3On4gY|XvVK*<0rw~oo=SFU73zD zuA{WmkXP!~to)v*RwyF0w1ucDX9<D`F68gIulPe*v;RY<h67X5&J=Fxd}l7jN*g(v zv_nfcL8yCb?C+O4=~y`S@zqCFd$<bN%CV)+Uh6uc!nxE2@a0yao4igxK{NP};Dg<` zkcboDi`<rwl%&Wj`@`VBIHs9{5`0=+Ruhs#hN@Iz49=*L8~<YKAz)SqB~p2ZkqvzM zRJ(JiFai_ZyD6{8cPUFBvpc1q98Fx@rKSW<idianL3W<mU4w8IH8mTCXqAXc^}EKm z^8h;K_45OLl@02aSrJ9enBgx7I*c#x<nCZ3AB8{078Um$rfRS5o95Z)s5-o3vfS+L zwttH^ChO1(_@Vv<NO6^0K#(X%BXvHphdR%pJ~|iSji-@X-^K6wdCk^s!ha=v3S}+w zziwO#MEUu!FvUqk8Sj%U;BC$K%_MH>1N}fT<-*ZdCIcR!72p);^+q8|)B>B(M1AOU z3*i8@!|CyM&fa0qTg^}gumh}Y+(!qNsB&%lh38%7chqon^b%i;4cFf<OTN!n{&jZq zExJcIO{muulVx-S!sGGY0R4q&@Nf@S$3y0m$6by3TRv2)#z=Pz)t7bzk)tr7%hSnS z_pUT@{5&%UQ&h1O$gkizIX1R?KPnq}Dm>Q^3ft#Y!~rO4+JbY!zqT;QV-QvcJQNya z)DF*xxsoYesT_BD#&=&(n+i%SV#h0lH%YMU>lvL^1tIAk#pYWn7R{P0A6*;Y1oLDq zdCog7$AinFIVf#0?#ESRB^OqDlk<fRK#MS6`B~bRSoS@yB4fOFt5k+w*{W8g<|H!` z*Q(J(T`+0MT3Vk&A8=DW-<$JiZ$bN`C^uoUM)#-mAABqNcOB{vuMWLuTp5ENwI7eq zw}U9qGraNA?Tk;M{6m%tnBoCPg@Q)d14_N-#2JFPhVu@!xP=DpaM$N7vblxkAJ`UU zy0PPCnP<%k2+&W~2$jxGdIeK<UxH)h_jMxnjVa;;Q4hQAL3flc@0?j@B4g?O!^hF9 zWmQZDDcF?~z5Hg5uQ|dYzWU>8C(tC4c~1?8^0OsCy6C~5jPzp{O1}BMP3&XP@zsUi z>hyDPUJ0;|l4eBvxZ57Tpz3tj?PSEQSB7V1*PXA2WMiSCos`8!Wp!nJchm4==>L{; z*KTefoGvAY{Wn;P_mV}$xBfj;Poy+(<~TL}`r+Bmy_rVYhhIXYM)Bq)(9;yEK+pnT z#O}33?T_8&5@BpOS2_?CoC)z<fvSL9d8}M_A}kvn^h?A9Jh9!$N9QGR)~H^4;(bx0 zL=^E}!@F(ux@r5-sC7d}%JJd$pTbdQV&Agi%Ixmqz4^bYqNzcS{rIBZ*_+U7uF$TG z4##?@Iar<d>3RFd4=oL4!<3Kxy*iO9Tt$?-&&3q`+l()0yV*GQzE-BZy!s!j^=8nq zdaY-Uy~f#b|Djx8ehQct;AaS&!>SX>J!et5hfczb#-`qAZ~s-{o$0yWPV9GtFCuLP z<aIU|6HKSBF@bPe^p&k_p-eHV;3mdc1ZAi_E`#}OoR+P!(-NCZimUDgw7<3coQ<yW z@6E8eSH<4v&mDoKmRXdZIi&B~vxzg<P@6?o!5ZS7d$sQ)zpa7nGy;2NOHd(`3;ZGQ zgq|%<21Zw}i8v)O@xJoNJ+u|4HU%cMk&7?kQG|!#?oL@673beH7zp*5nV1?i_kVIr z7TGubv<qH`i<jM^XbWoo4?y#yeCER8gYpuaO3M(@huO;k*wL{#OI))N*RsKP_>DBo zD|lA^>&#x*JIX8Lf`ao^?}zcx%Red~AU{N30HsV5zW+Ed?=cD-<6F@~K_o(IR*;zz zwYS+fNPNW}WWyym_$)t8KjNu2DBUwUlfPY+J2OtLYg+I#O`uBKg!Z#ln)kpx!);;> z9dv#{b6B3u0s6qY^$P{cI&U2tHuxHr?K7p@ENDl)h6ee>kWUzq>2k|{J7FKV2;&QB zRiT*u#}Se}bA;bqcxT3ZMcKnGoz89VR>3_zc$DqEQ;#>^L#))9D``G6_kV-#wuNpd zY@tuMg6;6kX>))bu&(hJfcKf-6FPj9Yl_!&8YtC_fT-1VCSk;LTy=8C*0H5+?FMjF z9f9Bx^T;TG4XsyL)x9E-0oK)<BMql061R8rflW`?f(HS0ef^I;ltIWL0VQ?M#TNG| zt}{g2bK6*Mdj5;>IskVOmlL@wa=X0#CAqJXU}c=5z#Tkr9h36~)aeI_ec+>M`s`;r z(VG#GgQObG#paGSmk@`|RlzZI5qpS2e#g@DORJ3+pg;M#;0hEa8X(}AA@piJM07Zv z;aiI@L&=~wCP^4lD%)VG3}7FQ)_5NDkmJG6$J6_s+4o*<c7MhVZk|0L6FP>q^*-es zN9j<$KJa<YK$dMn9~{dC35QG0Zf6|!-b<6|S}Aogx?x|0N51vgB%ZbZN1u6e_QK=m zKkoY3TXzUVODpL17Y{uxS-}rQ%~`j|4&Ou(0rOaOLQkwTOODG>_$zgp()L3p`#hX^ zpqwfkp1uUhvBG>XBNUVjz00>c?;m;=kLp&)kH%}};Z9XX4Y8jo%H>F@SN5oUi?RSe zsG-gN0`dOCiCHfws<$x5z-u4=snQ1`TVd4BzWD3%ykj6605z}M2h1EWp#c=k!^X)| z(#C|$s9#q`j7XHGycS4~<gVG}97bTNyR-W&x)3z8y=A)xK2m4rd$=cnYqG%#?^u3P z68(?Kv^bMc*?JLXgma0#<rvHM+qbsXqi&vm8<cV9vkxO8TPL3)>9n)Hw@-e}tTI*b zEd#7cL)WHcBGrh1tlsfL+y+LzG(~>h^dRItgQL_^!SH)C7+u}pUIkZ+M0XfuT#)eD zzDD6H1Gl%wi_F=yIUoth*W5NN{&2Bu;~lUE;(a+#28tMbnYt4*Ew+e(@@CNahXG<+ zMM|Uh%)ULe(cgcBE3iJO<n>y5C0|Hc@?uB|!;JyuS;?F;GalyGUsI5-**icj-W9UA z!}D;V1<c>b!WE=cng~ZLdd<2pJcSD=w)^s1Gpen11yE|kSFY2?uXdfsTuqGFb%jZd z%<96k*+j=SxOnt{d(I>omXsV502~4`oCnw(GKsDheba~wm=XD9BvM+Vorsqg#P(-x z@!u$l@tN^wZC415$cfW}bjbwhz$7m;r{0_2$2IM-jU7mdUw+vgK3f=fL6d10&g%0X zncU3{W>q$^*Hfk^4v(W4MgYil-0aeP@D<vJ9l3lx+S?G{x!v88<cs`vc*VK}HEcBC zdX+&4(4Xfi{JHWn2443x#jFSnD~Vd>jq%JEn9L=cYIP2Brl2cnuZIH6f2arboy}*N zFgB?-NaBb(3(fuw>2=65@4A0@-rd&kfT}eKwz~d0MNvDAe9`+XGzjV@s|;aL?jhq9 z$CfK6;i{>9|9YVQ+Cnk2;~m+f9CO)wvW#mID(@`8!tuK@_#B7tDYC(bJBWqKBJfIK zgoi*EgLCo}^bX-1@t0^t@g``TVf@;dRa(Cjy|XM^<{*SDm1rG^YX}k<I}&pDgL6Vn z%g+l@Kag);SJ_;h=^k<>rSsK?7L1~~`H4p<f?mE-4HEFK4egH_YgCv>CPV<-HD_Q? z{928{jvpi1hSKwS7IgdQn4O-j*?NtkxhpGW)(#G{J}J5BWTm7vg=hL{Af1HfDq%A9 zzdN&wClRLQJe%Rc)Y86E`&zBv3-1R{zeZpkDUIq?oN_~0);Ype$2)r96p}W!=VEVk za#%%6>-?UaW3i~>QHL8uJd8M7JL36AK7yr9SlH=5rv|Pj3>^4zsvE^h(Pf5}1P#gR zv38oJNYeO`DE2js&RiQ`u)MoHFKsVzN9!Nx`nNO&ij;yoPzCoRIu}TNhTsWmEe41P zY4korgBv@mNA=MT);D6PWN-OK<+r=Fw&01?JP94Me}#R^Fwc=dXQ$*T^w;!yJP`O% zPWl5fgFV(%B9|mBGxxijo7tz-5Ep<iL;<CpEZjvY-8(BBIR0E~cl;Zsr!ByL0-bnS zIVDO`exDV^Qr}rIHtvp09L3Sp*`tMhdY47PTQvA_Pa*$Z&8wT>qn`lyBtinr|D`wH z3P>QKPq$HobY-__^<Qk2`2<4_kVn7x>@8BzIJ5f}IeeSF@_>A-<K@u)%=SbUF!PKK zgoDdi$-PwQqur)A>AaK(tHhK<+Yar2zxA)I^_`$aA{}qI-S_Y`BfMzG?bUzlZvWf< z&71v-Y9IKzY`6iX(Jc5XnIgvW@msl%j#Q<<NTs@G?$kY`=mv|Aa9^5+&~8j$*n!#k z7jkypb?ktNzjZ(Sk$SCx2xV;FkZ81ZK?cPJL`o&c@i#ptVEXmq5Y<k;C94LNZ=Wjo zQiB~~NRwe+8QRgSWLMux#-4k4ISO2sOvjE#s89^ros{zEWQsM?0Vy5m{@|erER*D& zdQaP3I@4&eqE7yqKJ=?|L)19B&T)AW{kM{TV;MenLW|@wwp%JkVda%{k;A(reGEy| z)mI4QE*&gLy)O!UD~kDD$^=!UJIEF7%ZQ6J??0ouKksnZ=U~}w?tW0d0keRYR@tyb z$-3r|6@<m6$WNt_FCqcgWgUnK8CQGbZa^*G8Vi>s4($73_#9;Khb@U@D)-ttowZ(Q zKUDus4ZM^{F4`)D^B(VM+_^4_<zEMIuM6RSkMjuDBjGWy%U&qyn?k&XsE2tOJT1RM z4J3dEigp(=J)c>giTOb#2#!~oyLDp;(r1z!9%dmMhQllJD!Z9tbtR~HZ86v*Lf&nf zQBtjS$r0075A>Groiz0XWAn`T^W9wY-56v%TGJ#{_oZ9^nYL^VMV4XWY$;E(W*6Y) z(sT<%f5Yo2RgK{-$DAkZliGW+syXs;6C|s4N`wtB<P9>j{ti2)=(VG{){Axw<K^6f z9+fE-JJYBtqkg2<d_BvFi7RFKS^pe*{W#AOAX^h*$&@h*|Gf08jzBTXw+R1hXr**8 zf}u_#Yg(YLWF4X?pcMi7we+sLx6N^!)WDu^hMM*yNOr${;G?MGjTS`rxzT?z-apx9 zz3QZZ#I?A;9Oa%9;?s!m`}8F@Vkc7W2&Z%T1AeXNJ}{;3`#w`Z&->nglX1FZNVL>8 z+7bP>IR!?IJkt3W0?1hB$XN{x28=iN&?j8S$yPR>izNqI-147(-k*#Ue>lEeAMQ63 zJGcgH-op9M{qxlzjiVG}7L`^7nhou^`-kBtX35C!L}m3)bx%esK?U==^m_z9Cw=n^ z)?X1Mv=47UHTG)Df0)sUOvNq{N%U#;4`{Am7Ju0zFMWXMeqNWlJDmTSl_Yx5Xm?<6 zC2pP;GhebmC6HuN7qCAc#6D%Dv<1}K0#4mc%<+IHL4OF%G_0^3rJS~qYC5sF4dIuv ztr6GU-7fqYIk{1JbUtd-cykwkA0f7MwJe3^^Gr$^xFQ-6AsM}QO2cDm@9As4^w9yj zZhq$G;9=zcBSFKu0ZM%W#NC(rdFZ@bxz9_iW#7|n&#u19;-M|`<C!Tu0(pqBwm-~1 zwm`)ZZCw$8Lr?S)AFY@(x1nRj3#36Aawa_G51QKWg09j8@Z=GQTl;3d)bG-Kl00s@ zn=fdjlsyB|b+4jr#XocL<sh0eTKLcNLp-2kk=R5~1ptXo!$nCJ2Dd@QVw3A5nShKg zrmvssJt~AZpxb#2^t*({R<Oao`0KFC_Q?H(l)sm%*jK6yzbg!Zbxy>*X3NiL%>w2A zz&zLMk0;Q%v`dJtifHL&8y3!j$z>`sL+xqJC-9+1SvHJr^bfU|vu}%rFx=~M4_h}& z)){ulnuiz6Y!(*-gcoHIc}pDOj0*dTn2(M}-upE^H-k1w!|O&L9X0DscSq;<eBFB~ z<J7*s^P=`cAA<fceEFJatK|@IxVNuT27p*Y%YOMIBPa7`Fo~Dgh1x&kE>{6-xV7jz za>)xHD~L65$M-}^5sA~Kurv{yy&xvFE>lB{qehi}Gp0q9kQrY-ok7&*3e<aP0Hg!9 zSM6Q#4{~We4sOS()czsBz5Ae7J~xn{Oj@a2`((>h$q~I-PLlDpS+4Oh9?OHXO$rbJ zCwU4*D()=+QKm0q4Cn}!>;4OD(fl;AwSl<P8}F>~DQ<-Q4E_qFCc%vBd*uV=`qm)i z&!9LN-|+S8#a4^B`MRAneX(>Q57jsR6m57_kes~Tk=d)0+QsFgAiHZbI`ma*sRwyt zw{FKFZs3(n<yCYo6EaJz^d2V<Ys>=t*s)fUhoE*EDN*xv2=B_eq0IoB=k01w;qnn^ zuxGBLg9*FE>A7?M1e62N1{)%#iz}J%GCeJVlWi!Zl!Oq4Jd&qkad?OW5A(f($AU6I zucA7Bwp=Dkt*IO*X0<uIj@TU9H9Urud(Xgz5q5d{r$c0VJ%gH`SQm1db%=8!C@7J( zj6ZYqk|s1@;i5>z5@D|ik2=r&^214S(w8eH$XGJq6>hcj!XU4t%CZDrl~88|qs{tu zF7e1^4mdnhD=9}_3la(-s*jl(Kd|~g#!8i}?{EX61{AYgKEpr`6489PBj`)PVFLOG z9(HpC{i0gGKv!A!56y{xw!)4;#%KV@?yKt&`Kz*b^<1Z(PxEc<TcE+(H-1TpB=0|s zJk<}ts4WCInNZfosqi?gkyz^qp6K`+n>Wgp-%$Y_lLCz3BoJ)hJZU;g^iehYqQqxr zT2Si<Wh--=bX*O4^*uZ69}&|RP|#niZ95oTMf+OdXH{AE`GE*a;w!IBmT$-$uS%^Y z(O-tTxAeQal}!1$^%cBb+>E>&v=Q7_K)AG$FELu5^U<H(i$l_}BQu5z7SQ-a+6@Nv zp{lWnFLKqtimij3zUmtIG8oDtrk}Wym6CC&sCu1k%>5mhpZa(&dL2VCYyM?5ps4<B z0Xk0ETN!*W`0+dXPjmYpBz7k5EI${hw;ZW`ZdLkS?7L`*vWwgzC*oj-BVFoNDZ0&z zJreo*-70Wi&oZOO`zmLcB*8jB{p8vTG0(sd(+IU7%f^~*KWpy!f_Brg{Rd3WwO8xE zrAn1cI2^V8xa|Z>Nh&34*;L~`Li%C{ZN)}mh)a#*v4vLCwiB;v4sge<RcSN0|M;Ys zVB^`KW|F;W{Fhu>Y(hAX^62L|_K*E3x&^JJSaU2DDiJ&vchlTawK<C0G3`hFfUS~@ z{nOXCzp(YOz$A(pB|iatnOdnPN3>in*1q~2MoV@|Iz2RP(GeiDzP7Fydu<1ymslq~ z7e7^a^SemfU-6AKw#9)>KZ<1R=H>F!U4MxCA&xDBR|_~nOZbmHO6j-`YxWkwa|)uc z^t`)=kp=cPxFEiS*Nn+-rKGgCwVdNADdcyrm&@Bd>H*cc&)ga$I-CacqU|@z!kyI0 z%nX+O7JPELBFDE(l@4&UXIhV+=??h?H3CAJQbLq1fd`Iy&7`$MEG_(i+ski;+l@)| zbGV5@@qNgR7Nm=c)vEF7Sr=*g>pHh1hlC|D5ND4ex4HjtCv!sL3}4DRzcs}sa?`yK z4V4qrj&S$OBFsXRu78zUd6Nm$i;Kh@L4U_04=m^Dvc*s$n*n28%$6}PT%H)%z~22x ziqRD6rjYuU<nf%d+3~phl%8dYf9U!){}4DD{NWXOa$}OAdPTKltZwUiUeeD5KRNAI zPJHZQ*6h|=7w;vimh1iomSlmm!q&?9I3+;`%vQ#pf60GW3Yai%zRi?6Y&`wVl*t&D zov7vO_xWxYxx%{xgv{sA+&t;6UDhlubl@eouWW?tIFKa6dw<4avNiYs%e9=B%sCEk zhu&U`c`Es8<~bM2xo_;)9iA8E(WKUJLk1n5z^2Kg+>1Mhm*3e)Aa4-Tf5N5D_=EiY zs|*7^K)$MJ3*^BdM0WnjTrerd6(?ARfjsy880ky70|hjq?cBc%;8U&HBjf?bNnR&- zWU=g?Y}nwCdA`K7m#5=%)@~>Z{jMqL)iXZHU{$cA2Eur0G#doYz()^@-f->|sCXXl zQq#p3!j~1F4!OU&8;CaYnxUn99E#ljKo5-eVz&DuLAJo8eDw>NGDoD=3t0y3g+oyX zs(uMZ5&9(;Ct{_4lxk6r2aU(^!ZY(lS?8#67b6hZg<XSz8_AS`f=nsQTN8WK+x`vq zZo0cUe@b07I#d7kVKRLeiJNno2t&~yFarG-S_b`7sGYEpBBEtM>+?;iOfmNI1QuZz zQxhb;sMycarC^vq&1vHUC?u4A>U6VW=JSM@$Q_M2U;%8y6fGvIFMJ7|<>bJ2Aj7h4 zWW+GgFZVi!pTzsNh^5c{g;p*_QqL|`9j^1{hg#)K@Lx<@x36-YiuV}or{%=?u)s0d zm+vihV5C`}VQB_$Bxs$v)bQq4{*K(EWMiH{BRy7Yb)_WKaLWEIIk2hi5xR~D)tG&w zbSix<b88)xk7bo~A3;TEdq)_9il_;m@Y)TPo)aEhE*Krk7J1|c(lyL51Ie{m@S4fO z-%IVeXSBrBaPjHgJ|R>RRVco!1{s^^?KPj|tH!=e`rpiVP_AOt#%BIAs2Huu_nY#( zuj!;wM^Fol6`<b$W{cB{dTKF2uoTL7b;X1<73F8vN!-v%H6F!DCrRwUTo3lLbCkzj z#y*Vm=9XM5tT7N2>GbD2cBlGj`nOU9H0)k2zXr#xCHD{EgSq__%!}bTLSt1iZzH)U zUmb^kM-}zRe@>+?8#$q<T_w%o8*YiImz+p26gLokoJm(iq`ztMrAYG_NkLgA)@$j@ zb*#Yb1}6CUrGBT8uTc^}iG!W(<=@=6oj@0lWAmy|pPb-><5*`}^39mcg_x=DE3w>8 z(WIY{1EhR+nyhbDCs160=CvltghC`D_fEsu6NYbY*ItgfO{JVSzoJ``W12%#eP<zs zGcTlG9ka-#ZJq)UIMncde15)5{<3-^nUTTbNmZnVET}3oS7uu14^_rWDY_tz_Vh_H z1)3pYRB#W@DSz^8X>c7!n|_+$-0XS;5kAl4AE01;Rf^eL>-fc%FAipcgQ2KE9_ytv zZ0VNgVaU3Vyf0bW?Dys(dW%+l;?qU=mwquE#!{gSbz}JVzR%pSE-}3TGnsD-M^Myi z31Z8uW=@e#d~3FJ8)k1Ex2D3ra2%2SUoYnYFR^p$nqLx}KHqSCDZd`~s_sYGR~K9u zD{oN&%%M(PWR<V_URYA)MlA=^qIy_uQj-)w`ep(zy<cO3_DJen6(tbrr@>{E=v2ym z1)yy4P)*8$X_wG<>r>CkeaQYV$Qyz^5|bCj%<~yktmIu|tOMWq<ejqWK}yAfO&@9b z5|e1KSzRXOvsQ~<oW4Njb1p&rjm4%JV676C<el`*;H6d-ZE&IzC+;bLP?pJLdLBMT zm#c8jxJPx+n>Bj0W2~k<SX2`(b+A50fJP0FR?^7%-tp^kT3tYKR!IeCacvhubkA$P zirDY;F(n%O(%0%UAgmJ^)s@*#;PG}}B7GjDnEOkFny)X&najLG!*i{1a~u_d)4nhr zxS{Fvi!*DQ9!dmSj6g94vJ-KD+CIs54V^OqNR^)FF~6LDi%muGe3$z5vpL<;y?*M1 z-h5DWwUF~W{5b^$X1yK@t%;1GdQT^idq}`8RVZBu^n{Ap+Xwc-n0$1|Yr@{t1Db~g z6J0{lFdHTWEn`?$Q#?kt_LJJP$0HR*?Soz(U=qa4s3JT!dsoOj@#`n$k_s2Si92aq z4PA%Y5>uTLp?JZUf3z%AL|ugzy^~}rU7~+UcvDu&FEk4f8B?k$%*1@8&CdA1xIWHL z9lCWf6YBkBm&O`BhKc+V`F5ld@fmQd_Hc_Jqbf7CAHO;)Ppr)tPD&@~e2hj=eW=m` z+S}kC8JFPQ<Hl6KttzMJolaA(mFB9GFIpV$TR|L=Av3iL75j{h<n}wh5}&qOuE-pd z7|TTVc{RDbl%OEmTH_h8VBQ~hkNtQmiI8d%TI_^vVX!RFBFd8mM#&~6`J#*Jn<_^! z=by?EDpG8_BTA;URI}k`^3~<Gk0S|9hlTqCUjt**RcV*rG_VGKyUhEM4Q;_J;cZcQ zwv~uQOErLEiQU&4&KfknNxwYi=AqSfLu@p^r0i`vh8yulzNS(}_S1=d$j2H?_tD98 z$1RsqGgsteF(YDSF=h{-PB4pwKdzjLw~Vj}m~y#a(uhK?oQ4E3iE?A8t=n|Lo=Ft@ z2_85Fe`ppS*Fn|wrSDVdkT<1{nS93?wkfEeeKq-O;!pYkVpT&D2ZdkDpbL!Td1-+z zo$wQ-LvUn*ugWl}jzWJ=M<a<5H-DPZ&Gd{gQDqf;tO6h2$Zk5?1Z%&~rQ{K?O6D|= zmskRU-X=?!6@1Y#|0y$N&VMq?r_pzBCnZ+)O$L5hU!B6Jamn%>iPN!-{pAmZsFBPx z2$-v;A8u>*rzWTMH)((VCAQMg53yVk#5Ymd*R18ZwiCtHDhYIHonJd?^cK$88w!m@ zCG8fIe*Gtz3{g5BfZ4DJp9cX3#N?IvbCvo!+aC$?vN#Ymzqe4V?BzDDwOCHvAY>+p zRg`g8SqL~ONI7$coe}hxX6o1fdi{GehObiZLCc~;VL=?XJ7Tu@_p5-Rb-x6PhT`v& z&G6?1^VRs8-|G&wVuPPLizGkG;h=dGtY|q<dhe;PW}=<!{4JO?6Q@=(V3zT7?*op? zZl^(TB~X;*RBZ-}76H*v4U_gNFJb-X_|o%sWq8_<=w~HM1Cpk-tAt+{xlzYQ{+W1k z0(M-X=wfSP-s$4kQ?dIM@`)9w!nh{n(Nw`79A9qhywx<7Bhs!h9it1&BRQeJn#=OI z`RZmwQh?Ne;=4~YVw%Uff4KAfDg_k$ppxdLyN?r%rRst)<4G4$vnI+$-TauMG|U1g zR|5Bo^M+`EVGYU1RM#_61=p)SZI|-w(R4yDyno?=wd+0&BSE^~+A6L#1j~Ac&%!S` zt=9L|Jqv4+A+udS41;T?@sP_2uhU-grKr2OL>~Q9wZ62F<oJw&Ss#0_L@9^O$_iHK zd#@El^X2eW*SJ8@9!h`Dvc;^rd3bfA6M&CHdY5#p*Ih5pp_rOJv9p_w9AiSPXvE0T z{9{e*jq0))mM3;1oeN?SBx8JV7j#>(ltMYK!e4lCd{+3F1au1l`0W530e!=LaX!{w z@JHWTabIR^@GzFQzk?d&R|4=oi7FS{M-5swUfcQ<RJjoSr>|r=z}r&~Eo@uFz+!wt zMo37$o*xr!O*Yf;jMEK&OAQqOdE3b?ygSas=lV>fKY70G`}-5;L;2t=S*(u2FX1fk zrYVs{epz@wJ|e=0gP+!<YI;Ah$n8(?%;^5a!#*ck-Y?qR57p0Owq?;onttIpT|Gkh zYUx+i!UeD+Uqvh*K2`5x6~aOO2ACC~YW#l3oDz(J{>?WcS{|mzT=`7i%mV9(D+t_F zD{OaRsz$t7S`lP?;v-@@70al!9@xlAme^48@K3WaYTVa$rZ0D?HF7;(Ke_tNw4EPb zb;2|7drBiq_?n&&6y=hxo%H+?w~??KWxJwW+)cL%84fn`$x)mn4JMZTQZSNzp$}~4 zIq4rL!ZHz3bFHB=nvUPUOInEk0$QraCLkZBO2hI#O|$PopmIXgo&m2uLO5UdWd*yW zRPWp4jAxtQvKmhF7Dx>|HRU$*d)4$vx<idLwEa^V0he`Lq}<<N8JE)3cIclUhSEv( zC@c;R&!C1i0JAd|cvE-V(!yu7#x(9T!=}u=HxXHw_zs=T+ZfFvUG{fJG)(tP95XUN zK?+*b)A-ymyFgDxP^C^OKTXH!fQWs4-w;E{`ljMOMdLuSc{^$I`<{C~R-X+nB09Hm z0pLa@Cs7{XbBtF6eE80Z;i%;3m=5S^MC+-O?<1kaBuV-uB=>Y3i^H^!Td4Y#p3Ne) z*_Lw@3<(cI?O6lY>I_gQ)9wRB1&J`8a7?b|)-t&$uyic7GD28LCl;t}^lqsJNbv5h z0UVNH0uri=07I6AVess;nr|1F(zO*FJ2C_F#Mc>}LYTxJK^=AcLPThvy!+m;2~yAr zdyTjCdnk{IL#0qr(Y_5y2lE7;;<(2VIj}z|yXnDy$3&XBBe?a%hZDEvO7x?ddN=<) zXv(&-x|jy3m?hy?EKu-QS@FOWh3UU^3_SAm;#h2Yz9P$x)%a!=j~%sIi?;4h1S)>p zyJ*WlbqnZb&Q)|=JtH%?Ho=0zO<0L0i1ts<t~_|E!EW;2|FL)}P~;s3+#gpIc8UUk zFyO2$l4f|%ND_nw*soh6-S%37wR6PBUOrU?J_N~5j2~#>RMb7E45~!!y$qjid3-lM zx6}P~Zh&Te2%Z;e=hY0b31@D<PeZ*dx2gYar~wK$dUV|G<NSkUr~j~pZeGhwi|!9> z)GBzrBIXs;(6}!#_a}4fUkC-%xsznd17P>M{Eoqp9T(g}2vTuxUM!pk$n3l`RW8#k zHqSar^=jVyl4=W+Ohq#OmksO`wP)V*FJe4U5vL$CZQF!)IsO>lgN3V2aVRLL(pPn6 zBNB%!E`v#5bE6dcRU`=?N)+}#GQ#upVj?Ry7-xrY%U<jKF8zIzaX+|l`S!hNGQan| z&Ec!*_QTeIn+B4e`ZU;8#qoLjSx}Dn(>}w}m(jgY!p!+|L6+EUk3i66lS(1AIkP?C zvUa!0wMq&8XXjt9j2|xAPwt{Rw#ZX_Vo^xO&PlR%1n(a<I;SjdZ<4Qu@0wEi+sBQD zFDVSq!o89K*LM=A_i$U^W}wmOjH5A}J21Y;)j3dkdKiBy`V~EZZfLHXd5%XWfi5ao zrj;LQH2DXH=qw2CY7dkkw!@pSmjqT%XGDUfspZ`CJS!X-FG1`+X0OGPwC{~6+lT6N z5AA<$o#_wQ`$(aQOFRg_E`2ZxX?@hYpYaSKuUkIUT+4ZcFxpL!*X1R3S*hi$yYIPM z6U9s!eE&`OiTZNap=quB+`|fPxC^M7-duj_kGM?y!S=KyD%N^`x_flGy}2|zt?-il zF3`vP@pSLh<(Bh-ma?i|ZEvIs+$wH(wH|i6cT(GiEvg+75cD?-HArA-v%0<Ccx3+X z*3u&|q%|Y6W6~1391K1z-cE!)GJ|1_dm95q^rTu49J?5oypBYwV3c#-y>c8ud!t^| zW_^S1(Q;cZzpO`59eEA68sFI`sQ2%$u(qXTcFC31BEd*8wk@wL|1CD@2|*IE^mtSB zO=xdartE&p!yW3quv0}MxGl=@%*$uS<_^w2^2fuPzz^CO5phg#aUF3}3;wH@shst^ zMyB|x;p$v^Z&Yd`)>OdUZF7`7hQ6~LQJ>n_<Q$Zoj_nvSSemtpmVPXh!R=$mjJn>n zt4LpPur$~D#Ut-^f!Xpb)8fYLbwQWjVj_=KBAaK!8-triyNj+e?FKl<*Q($~v2BA> z!?T;i)OP=wc9r{nSBzd&Amz|&C*$McoH4r=X0ZpUSi+6d8<1c;n>Z`_?L9z&BO7>e z^DRebXys^~wtea>u^q^HC%Qr0`2Sbei8Ks~We?3_9g8jg<Zfa*hLFG6rti5kmGvnt ztY2&^0Ux%NX+)?q+&&iOtNgYEKr&U+hg@}3N4`K`c2fz#_B42p`dmjv?5lDMH#@~y zh-Z5UUW#i;Jy=zBbeI4fp^2pymG=6NPpg^b`~@Q!SXWA(g?e=;J^?zwCwD`y2yNcD zHkKv-#^2Yh!Ux@1o1D`=r%l;Xg2erW*BY@HZHEhS=>s=)z=ywrtnH2oQa*iW>lp{^ z=VrD#34jyiy0jplp-R~xDe#uf__5KX*GFyR!+Sv~pmVuZ+VYmV=(YRB{Tb^<e&Hnl zZSMX3pk*5g;6E5sN4G7C6cu*+0O3p+@1{Y_)Vk^Wml;?(YZup$g|bmop(nF$)SL~6 zNB)c*)6{zv{vKOsPNL!bSwmc}#?krHuC`MYqbOtd%2$8-kk%g!cjN!<m(!_Q-|Swp zT2AteI=_D?Jb%nWORB%Wzuq<n<*?na!!3G8Euq`TNp{A652<F|?+Rog*OX^ki9wCz z5AKXw4F}R!cg}ZEfxhOR?y!eU!*#M<D`&Z3MK##NeH7Wjt+UYf`bt!d{HSa2rco>* zuo)cS@n<RER#7<~Z3Bq~9MHTho}C)^H$EhE^TpGL+2cob-(ASVY7My%+6!?fzVlj9 zd+r<!S|it)?nz*U8?#ocyuB*pkfVF@I69+}&zoA|ogI)qCq$zl61<odg{dTNi$0z> z+!t#HKQ5e5J5#FeLi-q|W!5^aaH_0g6rSy)V_3ep@oB7}O(%D!atoSXaaid31=74J zeM}YB%tG%R@YOAF0N!xe?e688WzJZ&(J?CpN%m<|LzDJx>OX57eN;<g#^%J(bv*26 z*^jIa3qh^G8$6b8XfrCF&7~W}yO#b(j}<8y9AG8UYz1HMyXaWQn|{oPx2=P5{TV@% z6s}?+o8G%mnWRt0TJCpsBBjY}_E*p`LzYWWZB%ZBW(4zXL#MaUc>UL0H@EacHnMpP zz20}J#&F)O%Q-HNQB%RAK%H+UpJqU&PMQ@}|Kmu$dx&A?d)N9|Zn2*?-?lbpO@h1! zbdS|{HS79s>bf>m3i=Z(mLcXza~0aGDG5PAZS8FB23VdxTRwt^2HB(Cvc>Zsg$DM` zp^Pj;;Z(g5jTO!BLmaH)16>*cggN`<3t|@dqWK+cvxQ-GI2sYg#P>LS*^faPFz^NE zhTFbXeC#L=lrXC;mt4ygC*z%Ie=m#6X3|`SBK*)~_DUH|p_ULSPh1qQi|@5{$~cz# zpY^I5D62qQhii$0@mPF5IuO)m@oYCltS^jl9gH+Xx>-k0x9f4e&UzjVr1o6J{Fiy` zd_G60`fNA8lGDbP0Os3@iwtvr)yvk6AFk*(tP}^6kLPFUPJPTj_=e)dk7Pqwt>Uq- z2G7<3vZZMHVp0BBHEr4jiah_1?JZq5g<D{w(10)G0S=MwW(E#%6mHJ@UysKTYO{pp z=T5sBhIpbVEco&>bl{jPynZ3ft`uNedpU0~+v-^Gx?<12#qq_DF%bt;y8{rhLVy50 z+BDV_#|1E6`G4EoK*n&Jn^c!Qv?8jbO&&EPJFwOk3U-CorEO?b5`Uh;z7iv@Y*|Z+ zO#)_Rb8zcmML<GY94YC@4%B^gd`9N|_-2|wQ`3v@)||RvL`Glcz^tejt20?+5gc+= zB}Ur2W{MwL%dM&%2!7EFG&TuIJc<h|DfsNVRwy4CSnVWDr8|AXg3Dw`4=kSc@dyja z`9yF36tK$(Ev91Ls{16HK((;1lsK2?)4&d>eq>mlYoKNKkXB{U4PVDigw#y}Iw}{z z5Czc);ZnR|?5njaxCd=|SNbRFe4@9|uZ*i+5pPyI?inW-EG1Uq+0W*HYXkJG{7E*Q zu@}PqtOz0eKrnKQB$a+CGEMN?vOBEIc9ik9Cv)(~v)R;Ydx78Q<HKg^LhI-jsO-`{ zr>0@4{(cx<NCs>cAq#lmfcqt7tHt)i`+!$%qz9TDGj5kq75tEZhiI_qRJ;IhQd8^1 zbfc{G8ku+q+ySt&&c+As%I^TClVy7Uzrwb)^DR(2At0k-8V)oLrH-wEYPBOk@;?zU ztfKK@MVT^_J4^Es0PbCT2pozo_`pK8b{QwW`*ctHi5`a}-q~=z41W0SQf_VDNr30j z=A&ySKwJ!+xYSG^t<;=j#@}#Q^dKV}mMsggE7;+Aec-?-WJugB9TJdEl+{P#9wHrl z4AF9@hO4rSgl?wxK;u{LX+&AJBZicuk;?JN#wx+n^M@7JP(t02J7{D3n20?LmACGl zk5Q{~W=~ma#uqz{JAs^HTm;iWTQVZkr#K5K<GeXHoG^t{x=Z8Krzpd^I^|9+b8u4- z3y{ykh_ZSy&^PBEs;r2gpzPE_VhT6Y&3TBPLmL|)w`u9Fc3d-hFL6*a{IwnSTja~; z3#&LiLnc4xzkpAE4&E74&mI$Kh3h!{JIY6P5JvRI(vPks$?Y1tyI^efM#hdM8KK0i zm@AV%<bh7aUP&L$q&74Gdc;m#Noi)b_dH6}5M*6k$uY#kNmybA@8GSuqFHBtYAbGU zDy&mB?BiHp^Yx;gZaxCPI%WzZuS@U16KQV-pf(%yrcj}C1DbE{<9y{@ZcYu4V0j%z zh03FnpW$;TJnIwwZR$PjbZabzwOxyEMoQk^tGWLn5q;v>IJyU3uLXDYBV2I3KDc~5 zIbjprT7-kNtW_$7H7X)(^_w}-yo?SNkF=YC*Gb#w*V@}lV5MUf@rCWFLqnVwIEAbX zkEpIQrfNAscf0N58w!`usqY^OuU>d8ebfAn9>!<KipR~Wr{tzkqqsO{TRVv=ZmHwK z*$9tmv*{lt!9C-(WCxWZhdOtn=<!7n33=bD>^!5#g+BAn@$u_D1}t*;T`$6#E{*Ra zC`w-+Jc5j|_>S4H1;@hIViC#jmgw*GMvGV9jN92RhAyRW7a{C3XQQ-CFmaREhj3=w zE#3<~UDWx@)T_E$S)2MAcf+>k?s^=d6@4<gxe>R^*y%Ue-a1KgILu>{*55xEh#o|{ zAkytFxH0L!jZ&9`PWrQT%VYljD|OVoF`Lz05V4fJ+%njOSG#k;##(%k(gR$cf{5ua zXr`@G0U$}_d{zUyOcsEQLnAE_``GTd*$VMm??#^)5i)PMYf<#=WEPIaJJs`EUNeQ^ zKSXXGY~O#Io^4{4fLq0qY7Hjegksm>K>0(IC`~eQKakC?8gk8G4sGWIu~K?2wj7Z@ zHu8L7-_$JMH*yJB!n(>hfzH+}(ROwX%i3wK{Y-G%13^6E1p7gRdy2mYRq7S+5pZO- z@MJlp1C|DhLwERj37UmO89uWmj!tRwVfpuus?bxd1PPro+H?-~{+15l``gS&*>58w z=*BB-;Pcyb>=Jr0aLe6ElBsMg*1D~%Hy^cPHl(6mI4i5hU!4J7KGC(WZ=Zl65`!GJ zb#`I4)ixKwlT4PHrc@}{=Qb3fH+J93lNrP!{JYbCRij!Kl?W`C6rj;4N&ax+G8*G6 z#bakSPP={D$L^_EnA-cWJ(wH_1J)&ZT|e4csJio#R-BfXOs6&Q@Vt6xo<^!7MoKS~ zFpd1Ns$@C#!eI5iWBrhw9`LiPSl4f@xXW6?8RIV<*-H)-nNDKh$;3ZedtGJ#Z56y- zBdv*jA+O?4j%fi7N1O(-RAC>fR?84EM=4bj1{wCFE03XuIhKy1*<4cQDL_U?;H*hS zI}m%(^FBt<UYenedEqH1XmSN4$Yunm1GQ`Nz}Mev^etA%90{I|%o_D3Vu*BcXJIAZ z!P1$@h^6q-qxKFHk3PD_#Wq&J{G<)n)riv8`?LP;D=nXhFd09CGLp#@&a*>JCJqfZ z9M=$BFP@-e!=OmW2B$WG{Y$~`OB4Hb^Iof<dE`bu`$RbkZBg_Ly}${k_0UOZ>fd71 zHVoHl+-Nf9LbNdL-GYMfergDqG)d@e78*NgWSu_+kBTh7P-BVW*uhMd*PdINYchs& zaTYUm2;$%hGc`S!!30dHVZBljT927nXAzR-tK+qibawR&n+?JAwki0!_2Ranebqa5 z@XSI`!Z#XyC*qF)p>mxcpQERu*KG2UwckzYLtuaHy*B>&$O2t;Vma@5k3Y}{lMIz~ zAvOuoajgq!{y6k16tz|k?-faRccO9n{>f&jZ)a<Pa7NgHdau_Bo}nLe)3H!d08XjK zC~Nyfhz5AXmHtVe;jQFxH<AQ2`Rw3=qo|YS7homK?h-6VoKOGw$sBSmQ_tcRP)z>Z zCAn79TXSVN0YyUfDcx(a!>f%C1(8=8qMg#RpTM!v-zQ_t>h;Vp!Z)GeQOi8mDP%5O zv+%+V2b*;oay}QhB);`Tam5VZB(=kKOhD`fP>VC!K_;$w<eBNcPJt<lvdE^7+hj#l zZ22ZYgrgMPzPWf2MRi~Zd0;3_5w%>ihD#Dx%Al;B=u^VcTVh~cf0i2|!(sq~S7se( z4-RJ}f&{*B+T~rzlq6&^okV!~!jE~z1Xcc~2=DnMPrCStXfzS-MO`#%0UJhfU@p%g z89W{ixqT>H`8f*v=x@98AS9Htk%fd9*}1m#Nt5*E(>gN&<PNp!xhAW?Pv@irRmfxV zbkSL{WOy4|!UALrb>0(Cy8Lv1u+Ezo3G)gs<dF6iFo^2Y=|~*pd;X^yuxP;UmC0{g zGKgR)QlJ@d0qf;`0glU?4~d_^VHb1XVp}ZAepU;)4RkI7q84VZ3g8^!0qFVkl--Im zv?C(*HXn}Ic!)>oFpTL<+MhqV^eJoej#*n3$RyCpI-;@k{bD!XovM40B5I<y4=MCp zhg&uCa1T<!lB1&@p!-8{=AH-=wa(U@P+rm-O*FgIrMX=h2vTlz5%LX^uTGE3QQ}gp zmOi_E<jGkx*OW~>!+xq+B%FV3Tg>?0I>#e;AXz4s3RA|#9vhppa@E;iN0etJll0Lo z_jx6;XFy+;)NRC7n{($j=H!Al!un&*k^Qe0S?*<AKOc<Xg*tH07l%x=w6Jt?E{0y? zA!ihpZuZH~oF%xeXuDnkbv{;4M|m}CbD4Tg%>&!B5+1@*XwdCP2`fnH_%0pq3q|yV zM^3mbl{Th3o7j>2#$Np`>9b!?A`ul&_tPPSm&?v<KGw$|Y--QJ+ibDqA6{D>s_mx6 z@W>!24d*No95>J_LADG0D0^4PlFdwiOBps}PoaeVUo9x-u<trc8`Hn_#CaS;o2Kob zBdX?TcGO)Od^DBc()6T`E3QDzsDNKd(MDL^W(c>KFCt^zs}P|d%{`KEy@@G(y@tN7 zM!{oUr-dwEZ$a%rF8~mSzlB}P^FeT0@m##v#uQ1>UB3!riq|q^#MY~t>GX@c>szPQ zBXX=Tzwl~O1=VFvdWxx7odMlFL)s>lKIm<1+u<BgmfEoPPU{~<`J>ge(ENi#Zo{0^ z*c7@UNQpeS3oG9lH*B+4@DK}Mb>1QVix^RqS<RZnMip&lGm-Q?Kcw2DGRkcFJKyH) z?K8-1)Z1I^pDZEu0w*#wf41_0h{a`FH{>(7nozNJ_F~Coz7;*v@oXKw3IS|T@Bk0j zxJ1>Sb7KDCaoP=jMm&{^=BcSw>ofA$B93PrXy#VXD82$N+ML#8;iL?Bor?a0!|24r zS3UJQm>ai%$;D}$E~!O+CBkhq?!i0RbglmpO{s5q1b+PNjw5^>q87EMG_`XM!x0=g z3WOuaa8ISsE0b$w90ulVt<e<_y8ld|COW`}i{cL2jFsNNUgeR>GMW8#{YqsJhDR(z zt~vu}9NR9%7sc+s-B|xg7A{^TXzJRl2G&WDpjm3*d?lRYW&@#2l}tDs@~#IWm*W{{ z0o4I~^&Up7T7FAUCpQi3sKRP5b{H#{XaCFdG|JI2^Z~yrJ>v2R0;7;oF3jlQ8QuKd zaT6T!CX_Sed!}pnFO@Q%4b8Q@f%082_1~5p-<glTRjBbbQ}X}(M!olNt&V-W(4-Dg zs2F3(RH?U)b=8^#@NIIWIxTkWDy{8@p<26;>JBv_xGpJ=AUi=>;ph&E79yQJ@kUaZ zG4dY)xD<e)@`|m9M_ZjqW=op#TLrut-|U3>YghQryv~~`<g`B&s-uyLGNl_9%pZV! zyQxnGt~2+gakVqMg*-FyQOc~ZiOBItBc1-au{@VW8fg~Ivos=R?P*9S2+|wyi&oaW zjRacoi{xlR-%z`bBTNjqb9aAYr}N1m6`%!+eraWsE?ji9no3Z9XVxHu;{T7T8+ouH zcv-^|V@jYgUhpYbFK9w&#yTCwG>?Qe?~OZ<*`+M2HmF9{t00a>ueDC?g6-_pZ6a-} zzumAPxIwuAixZ?N$HnfUMa0JW4}iJy_~U&kPRx$Pnh%a$x%o8KeIxl)M4Mc8a#(r1 zcub#BcI9X24^?pif{0qGEThBgoTX%P&!C(55*2ve=y>xS*rO#SvNZAMzi#Uc&~N4& zH7FIV#Z{D*#m3*df`jv&4UJ7tT0$(QZ-sKBf`_UjB-|JGx@f53iG|BH?FeR`Q_aWv zH(BZ5;?NTbtlA+%7H0o?&AELu%Gqa%W{fNgm4fnZ5O@lcCEPARhlLcBZ+Wux!uv;H z6b2SzsPB;u4V$CqG6Y`O_mp;U@eOg~Gp#abl}AXuhw}6@sk*;B&2ErEC|#jyvDa~7 z&He{n#46JSDh1JC{MtmW@+olQm1^tMM2natMnvmGruv#A=TQBu$y35eME~8TX{Gpt zZuVmve1BI2<JI}|40Q4yX=A>KHEI$;ak*LIcy*z_X!K`bU=jY-X0nEPx@^k@mM%0# zD7{(vcu|!W>svhwwtBJYSeQ#$npP$s<8H-RpW@(Z)f|9XKT8-PE<shVl1)WE^2;bV z!nn08vHV^)xj~f5Tjx7H{{oTTJKMf)<G1-*mKiS`uC!!`3as-w<GcuD)|YVKOCr|2 z?(cc#mWWH=ZohsS!4!|t{c73Vq3l=olGhpPBvgUt^~s&PivYp2H&{r-cSd5Tf~pA3 z#tIfhcHfYv*y3lUy-5~4INHB=uD|lkoki@2J7|O$OEq`>(kiWI(4?ly;Dzjm<$0_i zuO($zm_lT8Tcrky#uUsc=FOS@@UL@ydvD7o*0pl{Qyf&|jqIMLUjs&%+uDDII8=-% zNx92{H)`bKt+*s|gbPta?M2ot?SNC&ihbM(>(HE3?3hA<Qc_MiBH%Wo6Io|!(e9C2 zoe=ozv9`$uoX8H?)IYB5lBCE-Ej1nwe^nr;Dv2f!+sw<k2B8T4n)IPI8JX(Az#=@1 zHtF7C;bb`M`yxwKamalLM3S}e>PE#AbIZ1~hbR7X+LspDip*cmN3Sl#bWe=V3#rNz z(TEPJ_<alQLb~yOIe8l0l0w+`D@iNa`GX3IrANb*B7VQRe*%Z(aj2T{!QeBtmeY)* zmd|AR>gD5zUG)!EG>|33U;`kdiVow09xn|P>1%*Nj~v?@>+a^M96R{~dr9xA$yySf z+#iapYW952Gk@$UGp*O3$w<m(<zUc+#l@Q{2<2Oo50yn25#?wNQ%PG_rHl5!ly0i9 z_+N`rh}tDD8AYnyCTi35m_=M}9P<(|QD5Lo1S`JA2Of|mTD;OA|A&aVXR$kWy<@og z@CK|oVa-;$xTLO@<$Xe=P_Yd)I^{K)>+v{-y}O>&6v7(#^1nDb2ZqSoE)HkA&E{5{ zH`}&dlWp5>tIf7;TbtWB*_^F*vwP=xKfwIw#yRKK`CaGOc=j~Nc}BDq_OH<|u?Lhm zk6I<Oute=BgQ9AT)ZPCwkI)Ugs-q4NWBf5FWO#-ZFO?<JgW`FL);Fg$Q;5?&>QP?0 z(8`j=6&$IA)&Dj^%OFwe9FNyxwf$=hcn;r@G5x+0lK=T%UP#c^3kG~OD<>8-7Gr6% z0>55gPQAO=8d!VuV$F3j*^gSekeMfp%+N`kT0$I><VnNj)r9b;ssZ&oD4EvLoWb%^ zNO<8t!^8w3i4k3F#LA?gXH_EEeUmPPUd{JEnDA?^;r;W2Mv(O;eMb}%6{Gx@FhlTt zW?I5_KIY4^ovvjHBn51~J5eA28@;B*@c$&EN)N~pgeG!toq@lGl?>z$3cCEfbQXg8 zG$$IG2!b?7KhyOn@PlbAD~s8ByQE%bP?vJl#G8I;h=u$RO7WDTRUF@F5+j8;p!(1C zCTbtaSs~zSjo0(mB`JXJjdcjjm2RpU{$ee3_mqnxU(PvN<*N7?$>s1k;4WxQ!~fee ziO=$*xCZQTVr9>pe2Koz#)JT>xVC_^5<W{-Lv|P={l(p71+}1&CDr5F$iq%1mPf8M zlCq@+>0e5Fxk3TU_;j)jVh6Pt3H<o#PnRA<QL(s~$?D&<=m2HEbXV4O^-rgAb&+hR z{%c@CgLnsrJJU<rMH>yYeUk^2NqwfLDc;w}8=ry~zM8$yZW<kg{ofa9Cm;5eh+c2W zbE@QUVurIdgf+jFhE1&a?@1<c!ld%R)btUl|41xBquu0l04!v*&Vi&tLhUTQ0vHH+ zl52CYx<%|?H-8d`eTz2Iv0o0bQIAO==o+|>(XGd7Q?f-cJ?adcBZl41BfTOjBVk87 z`p>6=+UsN2$mmXCKFd{{F;zlK`{mdCz8o{xCq?C%#tdb;#}?QZHAEJYJi@E219Bs% zIvC?Ob8LXg_G<oNhKR#95ptf&tuAIuNyh&<dQdM~j83Oon4I}ckfMZ&fD+^dayPEg zv4f?6x=97C`jJAYShBVY&ToBM$Tzz{j8(*cB7tfU^*APf8%_qr%N!deW+EwvF)6-I zQNsQ=e6On^zpI`p%}mtJLdao;1PDj>|Gwy`=wFFYLhRJrfJ~xo#Ut?I#vy)i)P{@d z>+<ed{V9Qp8}BWW%VMXw&xbnvVTq7~#n`61#rt1Sd~6_ENvBnuI0Gd3)>#v*A~z)Q zJlxbhw+YV!UM=?}SOdf$A!X{O%ps;-A@iTme5>@UC>g0j300|ua7E*_3_&91wFx~l z<sE^N1|QqfQU86^tCrs#(N;cOAbrk<S_g_f<YyzyFKAD>CO&9_vs+D5Z{`Fj0-BXo z&_Zm^IQcY<%*ORa3M5&P0<Ux)F_51a0tyC9LS+}S30H-aE%?t4AJ=A!0#(G@f@ObR z?FC<>AXmW*!c)@H$=ejf*xBri=#jN+#s^<QiHy0}Rt(gw`*)eVDf8COAsvTPQp{qM zEE^L-QpXEsVv2Qf+ok;s;Zpi991Pg?mAro$tKmaUk>a6>UDXY~BS4<S+$|!jggYt+ zQ=fkaKtg3U%EBb$7EoX<Gwiuh&qWLIYmkn+$Eb*bC^~Nb)~I46ND3f}%qa<dzxzMP zXIB>wUKF7;V~VGr4{I<GRoc+{YLg`8?(Zg1vC7G|U=$6UeOgvxZFYx+Hx=6kCv`XQ zLkQ85tt$&E<(sPp%vq77E3yA)zo5>ZR%+z@e*rbf%dlwA{0H7D1QH4_i9`om6wY-s z4-*W^Ji`9ZHSd_$+mS(A9SmyCTLehZU{RXARLbA*%qt;WFK`vu7*T@m0nMaX?Jw|H zp%PhCGXGDJHP((g$=S!5%`LkKC0^b?!t}&ybaq_6YDBfjy5zm@p4%-(v#-8W2pDI^ zU_un7C(kNncX6^_&z4n7!za&KsHar;!cJGSHtpA<BX|%A=b=3I-^}mop1Pw-Iagwe zIgoJ&q7G|eD2wS-2ER(`MAWk@q1b<PuHe&;K}mQ1tTk`&8(VCMux&@A>{hT)qanql zUgh0X2(KA+2y#FBRd~E~`1b#)UscpMMS3U;Tmh^V!!M%^T5T=JNCB~hLAA_6ZY{&- z?&2wJ`}-V96RydkPf^jOsd^*dv;Ts13VlRKX`I!s^yXL)!hjndoM5g;AE^oP|J>Zk zsDjo^`<Km#9URPOOKgR9jEmGV9J<}Oq>;$eRsJNPDpZ_GylBcSxJ2wd=PCg9)D|^) z5yDjsh6Rp%1^ACG1WnVLnm`G|`ip-B;>dsPoCR$l*JB`!4>?QUwFJVOzHF)wor~H* z)7=lX<~Yo{>A<3Cj@h<a|EW<+<59~i{;D}_K3<!_FuPOsZ^lr?9}Kpp6w9?8Mp#A| z*1wQJ|BomaWS5s~II^ib&5JsT*~Jz!NOMT6MYWPr8Rt(I9QkLO*B-?>Cau6_kfF~m ze#o5;&m+zYhk~LBdi9AgRhDqy2A($dP{e)fP$3v%iqX?4r*Q4R)hp5?eBy;8cIlRK zai>#cNi{GM11X=a#I)%_5sELneJ=Yfi4J9o)0>g>yO=8j(fDK=bcH*4ZZw^Qw1Y=< z`8s*?3L+>zcF6^b<!E_aBk{k$bX{9xjX;fBtC&R0CXuV!i27ama!VO9FE~jA2dq<v z)>wobAvHJav@@hN5?Nm{g<Ow(%8;#%&gF&5t4zRtphNf}-m?*%vsksDnW-P}AL?nd zJNe{`p(E0Q2jd<&Od<m}Um;ds&^OU8oWwRg8b{jAcXleQs>aJ5$G_H6`jS-iE2sM0 zz(`mRP|?8HUGxD*Wv68L8=;0HiTr=EmiY#FGypE^c#?KNuVkp;;4+UW4#Mn2zAdp` zP77_jy`~^(#Ujfd66&`dkxyWWCB6p9RNq3S<nUjdPg@kh6YuP|{vq7`PDPh)^O?B+ ztUV4iZqhAsv+RT4NVu^=nIM91sHRkWPaX@EQ%;9wVt42f2>~AyQ;1O3j*kF8KdB!P z@-n;32&q3=3}EP;<z-aEm)+v!N{t&u;0C?MwE0y0XGp`o*5=)sqL{0>3iby83#sr6 zW>0eRQh~Luc<q<QJX6?nB4|G;l#y?c)eO-f3gc=-j`o>G)f(nEv%@cpC21N|4QQy( z_&>jA%g=!yIuP!!rAq$e<9!3|NlQpX`pffC%LH2qNacneqzWdt>e3^HDx%(6fzz0; zVbH;nP!jhdsap<Q=kXIE7fC2c<BEA1y6_?U>4ofa<z+w)kAoBIAh3J);`JD8OUi2` zkeFs#rq<5VN3y!{JRX%xbZhpEuCLWC18rk%3~Z^L2ou5VSyKPL{o!n*mv0v3h_A^< zNm*`D|CpBWR_~p~9yA90f>&CpgekNBGZgV(UMzKU2@_dQ1fMTK2KBW)L+a9ggb>{L z0y<5;2}X)y9QrpM(_OOodBmbL>TiR7vm&56$ZHC=qhP&E3gMO(B~~^z81(S9_$Mj< zcQhf~eVa}2u#&Ci#mKU)s1>D`?b{nz{lp~c{1XLS+p@8vrViWPJNSOvI45I`j*iaF z&E0c6kh489%e=jQoEEixlXDaFnG!UU_-lTuqjlr6-)2BBka@s9ak?RiEE&D6SMB4q zsNdDE%761%+ZXsOn;HhLhr6QfU5P#~{nz+3Ey{Jup{@Tfc(gkBpRpJ-w0crK?=KuP zPQ?T6M#Oyr`@BK0Zwrq1qTGRH!pm{*fX4+Rg7{K{L&x8Bfo8W1E}7Z$UyYPqwCmq` zZ&Z}Hcjr5rb(qXfLFXZt*S<+FGM^QF!}aegq)!Xihw_50C2eLMVXrawE55BSYvP9A z3Y-L`wxc~S{r*c5cQ4DRIW97)?D3V|xs$&s66!Wo=DtL#&tS%fBbpL7_OERCoeyq+ z?IUaKq|hlKc^y)xGTznN4k*_$UTlszkx0+-rQU@7hr~-E2qYWAjt|q3FVwhsa;SO( zQISE5O;8;>B+O9_US&wSn*xAKh=Vv?iwH_*hL|i^HIYRGEeksw!;+L{v0m1ek`>JF zD1tM;JggU;hs3!xtpfDa=ACt1)X$nBfxk(mEV$)-_iX?uA{c&9>X&flr&vA}9AZoD z_XDrpF>7HoSV^3Zk{T~l_7=DlLjpHT^?|VaR+0}6)Vx<bhgLe+A$-8-3fbJlfuYM4 z)%Q|u{jLoWT4c<rlOzPoQ1<d^2rcAO)&@>UGAtE*B~wo=Nk-%=!PR^E06kr>e;ZD! zBKAzwcL7y<Sz*^EM*KA@h-eMZLXj?!a99#{U<e9NYGYJ}39aPpoW^)iREkug;clyW z<jun+ZT_qdv!#Jnu;>ZR<~!W*9;-<PJEq}v?|p;wpbYs`O2GTp+k3A44f_pC(sWpX zq^hC9MEWTc<O+fUpD+98{5byiK4_r#<*7XL5Um0$H@FjSVB5kzSPM)+elaY1A!ooK zF&<5<T6nVm+i@4K2bfr`1jG~f$&&&7#{guS`@vH@M{HUnrgqf#JDPZ7qimf6>T^$0 z#u80cY|10w<0PoJJppNggb*|8IQ*%M^@980-V-10IBRGGO&3l-8!gEqEL=P6w!M<r zlxIT-($xXnVvjL4?!!e31rPpr=EhpomQ6@mMvncZqSrluD4tqD4c0XRlIR6RzF@4W zr45Wluo#DG1-&ZE{acZ0H~xJYe?kPJ9JB-py1xMYFdTL$rVpwL4tYK$`C9u2x3ToE z#;yvnPOQCXv8%7Op4IGfijdms@(@H&+Hi1L?esG~F)Q~SI{mSO5m-|uM}U!K45h9m zI%iHzLODXK!13iYfDYjeW&}gNc7iU&W{xz^Hl55ic)3ehYnvW`3T7S;sz$rNY+)2z zDNU>5C|O`}?Z{N4eu)sWzik}%B?$=sbw0`T_l4+q!jM+ztaa1BKU&8D<)@CgBb^Ht zJ`lx50MR)i;K)V=wuv<rLX!Qz6}qW=6bHSrEV&!ORA$YljXWeCvNnQrZt(jRYAP7d zmfMt3lpAaie&|m1<4ELrus9_Usai%uTI~vET!ZAhc0x?8_URXR50nUqV%tO{tBngP zqRp3GpY1}C<>401e0CIX5QTg2WK=oA3lAYcJxQIUbxXT?)bK@@SMVNG00VDuvn{5o z7yPuv&j)}5{B1n3&7wHqwi;p&0g#dBH|;Y<&1VIMDr{!XIp}|G)~i3SvVJdNh;<{d z{e$I087;9<SAU?0*3eB@`7+u>_;tltoUbaJml$5Y^N2T@49lSSJ2P@~qbXq>DPZI` zbY3Isn3>tuQe~hOX$QP6+kR5`2%&$!=`2A1GpGJrBLPFYj1?ijfjZWTiz6B#p?Ji` zzG$UK$#-=AwJ226wgZBq?`^?*by(#Y&N?9mwlXECh`0gbF6$6qNJOI>;mPPU6M=}X zqw_vGnn6UO%GUpVmj9P5Tk=Z(ikWL{9Xf}SchbYNcd49O6u<65cT*-}$HBtPNcB<! zB3oD-1+nnKPm$$ue~zSz3pS4eXEr##{h<-4Uu0e+|BebF*>sLa8ezx6RmIUz^p=|I zK2g_-enWRYh5UAwVu((ap<+eSufq}@6X^xYD~C{cY>&K9@vMa9E3uFt#xt!q#jvVV z_cFP#R8q9TI@lf=z+CZS7yc9<l-n#LCO)qnZ4xy%V16`BWgi$Me{QJ@It4|>Vw2Bp z`0+%#-&4tQg=Zs$m(;BR#FX8a)Na^Bl%}>1z!Vu|MP7YL2!X^b=5J5lGkosuC=q|{ z7tF5)n(&7<$iE6ge?c})%Su8;*y@dsi299@_$vv?3AFpz{apb<uTs5ZZxGeUD?vH_ zXD4uYuO{Q}E8xr{LbUw3jyIhreTp?oQ~Jy{p3%WuRAUJ1M1liCQj&-xiY5iEPl}e8 zuAJLB62Q)G{YfA`M($QlY9OKx_Vtu|gt>hih)cFYNTvK?i_SSkelH<M$ag*QnScp& zf*};YoCz(#KT6Q}c;p>2=usJch`$gKWU!vZi}tHw7#$Pv|Ab}1zR?UK;H<AZFqU&S ze<Kxo7;k&^%Cio#MUbYf_S63iT+^LgF8vpr{d`6gZ**H$g;rp-V%dRl)0iqu_`))d z3(JJ6pA|J0BFrodokwt{b|8z<ip5zfDHAiFhDNzKy1&G<gka&iMHdr<sgzALZpO3& z<EetIoK7wu%pkk@;?;d6ivQBBv%1VPf|@^BX(`#V{bz3PYhwH42codG@l9i0a*c#d zQK4Q%5u&8&^;4|lOhD`Wx3&O3RdZ}liP9$GKIvbyLUhD#NFF@lj}x;|h|6DdP^>tt z$(k^iP#B89|IvwdOr7L=H*B+}7lmrP9*6oXbdS_bjV|Ob#y9mQ1x7p4hjQ$y_$QeS zN9P^LJ^AFpI>fCFkvAZc1)rz`A6bf37Z;>5G%UnjPy9DTAmOc0*Eq>+=v5RV9;S!> zXZ{*sV!|3nRmDir)&d7MB;K-VHAx(flTPxl7^Cg)<sS$(pw^P*GZRhy3P{Fjk*;6? zw8&K{%jz%Oui;LKD*Tkw!0LZX5~6(A1ouv9aR1Dad|g{2=0`;`7G-jxA?aCtM=heW zPTtx--fOu9Qn26<-qeV+zINk?3pC4G4-saT!rEh_XC-nnB3Sfk_m<b0&1@HAYF9z& zoh|PWP_7^uErw)=Jy&GfD|-KlF1L+{PhaM8s12vGi%JeZ4VHzp3Ge4_O_1xjzxK-u z*Gw4GC<;1^=3l;Ny%Go&ft^FqQD(+rks>-&Xju0=h;`NK;dCG&&>=YV44a$PgT+lx zU9JYiBG3%HSS?ie5Vf0ze}6!M9*2De0qp9+x~rneAh+1z#8V#d0?jsG9{ZGl8(J8{ zE;{09bC}oR?xjWav8;$w4w}4;-(yInDU>?W7}(gWrdmhXyT8W_eg%||swTqxdrW2; zN16HI<^c<>Iril5J@Eb=y^raM1GNRoEYLi0FbmU6{}XM^PhFM7Mj#Xe@RNkE3!y^# zakQ(TlJ1e3Q7jfh<2Vfvy9d@Fd(L{KZcSPZGXrM6Ks#59f(ZU>C1E1r8$o-(*~_g0 zwPLb<KYj%&fAMXn95HXacdS#4Xc&|75!_rI0NsOuG=zW8@@dBvV#h2IP*pgnuI33f zl@rEQW%GMC_WVgb3p-Wvj!tnkb9J+8A}*&8PAQ_sDzH%#7P*dmI)ZJ}yPOLmf9kM; zSTzCSyU5W(rHMeXQcCdH^f*Em*>bQ_rTTgNF?5rgo5RA#jnvg`HAVnQF*ftP(mw=( z55K7KYDA|~qa(wWRcw^QP-F)(wH)8wVU6%yy`@CNPXMDod6&QJWu3i$6KvYcg~TI> zBmwRow|@xMBXhol*_B=ayz|kLv#NO9gs2Uc@+JH&G|(}^*#v~qH>-xb%Hw@1u|9Bj z3rrhp_qfciCC%tAeS%#Gl}3*g)Zn93N-?9E%)Q3NhA<_!MepVX`Y`h~wpIsfJQ8HH z(fZk*gs#e=LgLLnx<Lt~>Cf2fmNPi1ZPVR3IU`d7jA;>kF6=j(5{3^+21HN{sU~4? zANdB1-*!xpkxUKt;-N^ThOJ#K(11m}8>$siY;p81x%e1~nPA&=$wSqod0-wA1m~TQ z->va{7s+LJL*G2qhTKCZ-r7u1-;>a8!>8!{aWXNb_ZI{c6HSJa1uID|btboQY8xVB zk(=WM;?8zXCEtg=Hx2eh#4SQaU;PSQdEHkR6a`XPq!ub<Ury88f;T~;aZik3L}%AO z%$Io7r>3?DZ6mx_P4}%+#sQwoepJjpWWzqv351ar-Yu}GDle6+ha_jS4*iJuE@txp zDaf1pC!F@jOKm}qpS4L;*qGt6I|Pp-Xm_X^iqX{MpiPJpLXA7L*KE5)jSY!EZezd8 zjudy;gK#tjfjUz&<`i12&%iRX!4`A@5gIBt4RMT$5$otlXeXGAC1qYH895JSeH?GA z_$v|fVytMZkk0i|LLF)gs(3+YV|AdxBLY&@nKz{yiwiCWWlFGCO*s^#&k=X{yU_UX z%sx%p_(C0=ghcZNr_BdZjTdGg$jqhbx&-B5hYXF4vaB}D-Q`dAS9L??X$B~1e>yB7 z)-cqz%2HGdxQ+L=rydq}7;<<&ZXo(?;5Sd&g(+dSvRD~wzGuQ=>czUpf!d6-&<zpp zS5r_OMy7Z&7}F}Isl7|ccj`oMWW#!*S~Qp>fEXOsIScty-YjfP1~i8}zju|uMkQ!! ziFX~PNgzv?1ZSu^x~2j57In%9j^52zYekX&f_FY)8YwtT09>=V5^(W(wc4_TSsumX zv2i-)lPpSp#YPpZ=_hUv3uK&GXD&9&Kipwue!-aNh$av2hC49JKp+NoD#-!34uX<3 zktR*@SmcTdD*!!11{D<9eySv%+F;Kv@E|3BL|L2Bj~A&Rr@+AOy@PT}aYc=@sDbg% z3_EI4oy@KSX_^vZvqQkq^YX^ExUwn03L$1DoSRqmA<)kKlW;PKLFilUon%i_rG;ta zVqs|$OW)^Jn*jQC$`L2$!rk(GwtocFewS3Ym~>dHxnK8yBf|g3z>w6}8lr>$6%|0~ zs>!<k39K;JiL5h?;kAlztwyaK<pEYN8)8BR;zcx;RwT>t#bAfV3X!%JJgXLmMcv<W zMG3nUq-!SfoIl#S2Q_hdjJ-(jMR(le^$UrtVRpboQ<;8*%P$MoNa}xQ)~FlIK^0)c zXx@{F6{;AVW25vm#~BsPRT~*IVADPxpdjZS>qlfa1#kvSVeKEXdZ!|)Rl-k6ep!>M zZCW$}02PL(3iR!n5M<;v$rXUB15qA`IQq0umjFubBt<%pKQK53s1)W<Bgh)~a0C$| z_Ny;h7b9Zpa>*70-{mTQ888`cTTsvxp(7*5Bi5)N?ZxM^2N0fh$ql0Z@WaOtOrBLE zXL>WF!yRp6n%E4(<gO-g>2m<Fcnf+;B?lm^!#WH%l|sG8u{|8e=n#p7?wKSsOgIWC zxfruNMaiN~2cQk(c#U^H$hF;8LB~Uy9dG}QvHoKlW00prsF7U+8Sw5FEM7z_#^#z$ zCZhWy-4J+5D8E{tU(B|r<Hc90X1A#?lA_|S|EaW^fG_=&9nR1IDS_k@8J{B#7r%i? zZB9)W^JK}LmDVME{$2Fjg@+t0Yf25e@cUMr!}Pbj^i7w)hf;ktr1!g*i86YbWZrHJ z9cDp2Ua!!_l7-*WJ_i2GI)52tG{1Ox!Ejx_d%S86>fRQ<#~M2B7x3pT^Cz61Pkq0* z0b*1V%?of~@2n1_c(kKp>2j#);}A&AuGoNgb@mENjV+?smkK`^uHZ381(^8QA}KzD zcCK$Nj00}(g|>x!&vq^>`C%lFp9N(T+j(lqGXlD{9~(b?gQ5>K{$9=babJ?0<lJj2 zIHDJZZwei+y_z;M(e?Mz?=IfEcHR}54;}&Ll|^Ng{V7Mrc2;~W|Ffo@sJU7F7}0#r z2h=L$u)HYJgon%}-?;RyRzK`ktGwKpCWCJHpY4>9l9*xV4$XC8cw^VGZ6xoEulH!y z#mBpb?7<fRM3@7(O(8H}=oKYlIM9vPJJiolB{%68OOjU8jkfY<^XI*HN06=J?%0TJ z0QAJ$uQ8LVz>eGok%XLmAY`uCh~DN4vLPOUg?^<wKmNA^_vGxN4E8YRo6?y5M$(xK zoW>4~eKDH2DA}~k&FnEUQqI>-TcNdA<%-ACqb^oS?scYi$fTf2igG_4d@TrcePgQ& zKtRwxa-H<OjKj|(mXs*Xt35{H{A)j?JhDD-;2Q|k8r2zfxhuWnBIbKpsDip#a^C(i zycUu<Y1bS6*`b0@BPn~^oB7)fsh72~TC#<0fk|^wb6ILd47TXc*eb!-LZ=>nmLKPu zo*KvPJayYwzCjJcX$=>E?YZWO?&<nWc&%$vvUxDh>#*VjE-oq}vI?_u=yvi%e!FsT zL@iGG*k73|*HtGaeWW^-c-2mOa)gkr7)kzR@d2R#ysV3@Q89ZbiN`6TkR*py9&w@B zip#5pk17BAlNzj;B<;oEXgG$|LFoR~Xyu5ftu%CHM5wHn9d`1XtR<!2=gr5Z@%r(x z!ahNG?eZ%NBk9At8CO!x#Dp2|xT96Z*xu5#0aLo)45`+Ui%<D-#4(+hphuq%hT!`4 zjj5;GdI9by(8$N<t>?WW>IiUKv+OoW@qF$d)O_qSUBlR5;Hslb`k(?<-u&JLy}HUh zFW-O#3Q4w$=aP=;9VHcVON?@N+_98Fn=kSP@cSdoUx@{4O{djF@NjI$=1QphvMm^6 z#rZ?r`OE<Te4;pGVv$V-JIX<V(Le*{!|i_QxHx(FHIJ!p>ejESZa5bzwyG0v^8q&F zM-e^mJ$H#^sq8tX@@BVTo>he&jeh_QOV~>#>9Br%V2#%GGVz1&rx4kP8d?y&?A^`u z=G#F>l>A)FG3}?(>-6d04ltoVMjh%yC{GC~`5Kg>rhBPE8JgP^q&Ejr^o?WaSRu+m z4RFwu?z0E6xNc8>VW5yur->CR;>Cy;N!T9?!Ic`~%%SK;m`N$M(f><Ar*lh1dLr|+ z;PUFhFK^3U@bS1`j;&ZNVT%4-ofG&r(sWcdW@_tmzS^>C3&vNkwH@RN`~ltFy;WLB z(|w-Q4H?_{D6s*x;8R?I;(mIHi3M^@U|~y_mvQyzsUGX?##%FWAJf-lfj^q>0Z0|| zuc^fPcrR+D(-#8mn=jJ_Q7Bkno%Bcui1;cW##u+k&x4nm^2x#F%y>4|Xc8d1glv-b zO7jILvUx;=9c#{0{ae5qjaTLDZ)#Cvi90NFmrKmLJ0m^j@eCFK7aMe5aly5qX&(bQ zv|ix+sk!sC6YeWr{q36L&)0V%uw?nug}42Db7Z8svDcNsuk7!O;{f9p^BjNQA4i|( zO}&7A-rZ~0{%(O6OT>nhD5i?F>e1&Y@#YzS+sP4TWuxJH?sFQ>YhieD*LV)sq+Lf4 zi=E+6pJ>zYSPkO=-IuXN_<O>vU$`Z^um)kUC)7V`0V=cnDmY66!`U)npcS(M^nTa8 zkwcoO0KZ>2mANlvP)aY{y6yRKhTyV-9$X{G=jXd?Z4>I^raje4ZZ6?b+OHZwK9+xH zrUCSe@7~*l!s{l}OX}@<Mti=WU>Y?w6N_I#tl9Iv&!OB(^ATXFWC<D<U7r-(?&G2K zMECVmZf99(eY88iYfR;~pZ1rVs)T+WTx5-P1C1U9zBL%Izgd|ljz%|nN`^*4g9+oW ztnopZSZWzYq_!xkl<GcG2eM7Phoj{FMn!OsfvtZ4yEy1shlk5TO|}JH7QXa~xYr{) z<pvM3wtWmG@oMh5TTVZ8GImMlUhN}1_S;7{9?P2C>E`|0h(TP!7mD>pr`)Z*A{RK^ z6$N#VI^7(+R)R)r+DfDkKeH7Yz)J6D3c)AM7hV!S-d#8L2l?10Jbt0m$H<gU6etHb zuuI12chLXE<KsU`1Gt^>-J%jKbIqLhh{xI^Ou+}|V@hFw&rJ<@{FyyCtD}V;$rn}h zg5mk+i3N7PUDM#{cXKc+KlA9=>|<s{W+LTklT86<a@~OYj{CaR2E!xl`w2RP=LT|L z0SaP!6b54s4q58jHD4NeT?6xsKH9xi6eCJNcT;2;V+Vj+t;N^IsL-BH#R|_HRIcOt zs<oUSzJ8rs8N*HAm0_lGKLWtp1bdS2Iz=_x2g_gvLrRvP0yb6>yZr=f)d1yHdK{3- z-y6<tW_#RYRf1x?9rO-4WdwVkswMR0yL{Vf)Cu4lO0~OlK`n=%Q;McHj;y{+?yPHv zd5ISezlR|O&K1B9P2abBWu%-|J;A>Zy@#<iW4=HEDdt*l-7W^<XOv(oc{gNbI+@X$ zx;!aYUi!)V@%jBb=oR#i9qYTH0#Uj#+WxV)n*1_d6gs34vzUU;$_jh2a4b1Imd|3g zG!*O>YCLz=;pRYMGWf`J;85SgcjeXfzT4z3@)OZ0FD@asV3}#0!IiG3McdC$vkt0y zv`Z@$rN$Td8mXS|2Ru+nVPRsvQCo<Ajv6wV9BD_o&54&{R2m@9bJfm5d7v-Qx@pgN z-4yq!#C~=5MDMn!%xtX-dIeF_eOKB+U{DrGT+I;(w&c#oXi+j&;IJw^roiG=%^EiL zz-<zqe!EscX_rsa*kyC&vL&c_J--t&-0yjuBy}aab^YbWW906N{yGWoUK=^;RRy0T zcJK$_*4Q&Y-(iEcDPZ5AUJ})2+W36lgQhq`+TQDW+ekoUF?--9V=$*HKd1L|?{?yL zX`8~!W8<iYf}TWtG|Kd-{eyiK)p_Wm)V7)`8bHY^gb=+scu)DuGx12=q{=W$-a~}B zLzUZbDXQ#4LpPxBGg>X7%rzBNtnRI`hmTBdD!aDwtKVs^S9U7a945h_eCwv2!t^KE z&laV}jPRBxaE4<0S`}~9EV_K;=I*}(0FxiE;>IP7m}@OV&NBa@NPE&G@pvY7$d&<< z<?6Bb>D{YSGiFMpyC{TGxBWh&5iR9_a^^MB#21Q91+ub7I)Y7yxQ>8k-z2_%Eyqd$ zLr1_A^2g~*qmqh!&+SlSil4T8-%6OE#og|)ir7KNB)%hX#Fn0~thdD*2v!emuPnPN zY92tjPf<K13Jd0pY-qa9_XIRx`Jv??k7`$_(N>dk3G2m01?0?~IIt~j4a*8287-{P zQ{}NAuxH(G1~DgYRB&{nOE;fD!SZ(|gKr@p_!i+PpUE&bsj_!Dp#H#L?dQ*;T_i`= zX$YH}uiujsrdg#1)-{(8{#f3H<@ncBly_tL!JW6s3r&J6eAk3;KlDA|PRe>xE-q?i z1GTQfI95si#n;=|If3`nVC&?=S<cIn7c4yO`U<{IP*_e`8ULvrBfsWl+&-H<V!Pp7 zuTS=na@IwaCv=?d7`V8pM$>Pe5mW#IXf+a_L~~L7RyuP_p?z=vP;5{aqlfUI+$IpG zK{k0*-~Y1akAlmjB7VwQ-S&9o8_t1=L;UV*7-ER=>96FFJ718#_pe_Olxm#+I8e^x zDeIz4u$8*OA6M}9EDno(y(l&fP#=F4Dy#iL)2^k_Kd*DJd1Sb|8lj7plQO^gj*i&l z?mbghCZ_ez4Lv3!<L$1fdq<1Li1dBr^@sb$XKpYdY;kT-r?S(Lx~PC4lhe&#Z|0ph zl|r18;(}HBIBh}u1t###N0$eFTFHx&2(mgVUeX|?h}qe*(?04Ny>zP5a%tyqDRp6l zUl?SqS^Xf|K{IFOt`||alT5`;56U5vLtf;eAQ!8XL%Y`9`#0%3TdKTH7MdL{cIPA% zzwY|BqqSKRyXJMlKORBL0ReWC;scJ}2_47h7UEsk%JiA1e4Ky9ZySY|V_hS7?LtJ$ zvY;ItA7h9>Jat<H0^ywJP2P=lL1v&|Z^xs?g95uXJz++y$TcD8@NZ!#&Bs%RXT;hK zl}A}~Z&yx3SQX+|b1Np_6ehEy6mw-?qsG2%=Pm`uof+C(m6A>Ach#J|=IU)knIeMA zGnhUKr~Byiq;}=q`8$wu4eYK>W+U6md1mm*s?Y|dqg(n|H(;IG6e!={D!`V$+)S5n z68%w(?b1(s3Va@`xUjpn+kNWxjNs^da3DdnjrXMEJm@K1Kj|`B;Dd;qh`rted_BOR zR$b{W{Na!728PL^da)BoCc&euc}<PA5o_rTX;B!WVIB9tPY<kcG;Y`(b~Q?1gYFTy z(KD6SV%HTbOusd>_3)NOT}E=F%KG!ICP221Hf?qD3;vBtC(Woa8Cytq^MvWVR65r0 z_R%rYlc#vv?<9&@>_Y+!lR?>cGEWAhfOEP!T9n4&-MbvYFx!?vDeGQKz%sn`Rfr>{ zw+>O<Ody>9B%I`<2U{&snrN(Q(xY%_<wD_B<KH@b?6)wQ)}LLW{%v3MX)<VLR^}`@ zCO6q`8yC1P$(?Omi~Mzo`<)NEV}X`fUS@sX3;zzoE%iTXS7CKKrdRMZzruy&()+Ro zGrF(7z{*5+>C~_Zx}?lPZA&NaMx2e=M?4Q0m*CQo`&r3}Cg4OpYYb<GKo5L*S<d|Q z^Qmid3aQ%N-<T<@Z_*$g9Zd>{);+LZjUhdYj-LA<Ww<+ub{MYqU`NuHFJ70S<8lNU z2W&?Vt`YG~Q8@aQvtLxf*Y(HQ4X9{}*Au=r&T63k5USoRva)r%);cH9b_JdRm?{rs zHL5O`;EENBLz>lMF-tLKSsi>$o-|3_YF(*H^#GAj(}?v;{0Lp*_YfX&qiMWf71=xN z!o-T~{199<FBY!Bmo8T?B5wyTa$?z|nR{vkx|xqbWhCPF#x}7!<)u%g0`_K^s*<YA z0(qVnU@#^$3vcQeAHasFX3VFb!q*|*wF%CWU25_|w)iYtBA8#BM%Lk)*=)bC%PA~z z2@bpAM@plaW$AaOw{5Hy`|lQFO>{AC+DBvUANQ-gL6j7XDLjwWgl2$GNnsPsGe};7 zJIUCaS~T7t@%wzfqLtQssxFA>6)%mU+D=}LxLJFR29}`}RzRZi%$3l=e2)rC84zQ> zR+9BY;pE!=4Q1`Le{7T7Q}~k>uOK{kEu;B_0GWAtWCpagl@F>yRu}lOARF|nqP(d| zJk4MvRQU`>^qq4Lr&8~TpVvT3ML(j#V~A@k*>i~Ekp)bRgeVg4=!p8eu+Nz!%IY#{ z6{bZ~QZ$quE%^mmm}cv%CrM_w>o~ufG(qPHUulwG*~J?fenwJM*>;oPc5-GE47dKe zn4r2Bk_UL04_<=Ru{1EH&&5^T<4hz@r8Vw2%S-9cCmAT>*U30S@|e3Bv6fA&R(7j2 zqT<d0Y`)ZfH`a^Lz@Mbb%g4P*IN$6=#e|SN$Jz5xq4BvYOTyK;7{582C?WdRe2Q;o zkMf_}$5)>bV(IRrGF?q?z8LrKfTTND?9S#ksN-8P-_2?3P5A@}GdLKg;n0z-iF-+# z+#_epwl@T7+5cjxkQ$X<y4UBUGnB8e3Qq-Co6*mC$Fxwlvw;)NoQ)R5Q%{mS{mQb= ztZC*LULHv<V4gmDPFF=~HcehF5~zt$)>j9nUXoIg(#vJi!~DyAOzbgtN?Df);SX!y z^)UV8acDb-nU0!p%V4r0#^lh58b`_5cx!&PIjZubXUKDHsW4J9iK>ei?qh{PBCGcs zKQ!8>ZCrAecMA>#hYDDtXl$-7EQl{|K;EuS>1^C)=7U#OW2@}}GW(Aq(nL*#Id_wp z3A<iG=$*4foari2d@g5ay)y;E%t{8O`G)zC8w}NX+*wv#2%~SO>ncGS8H|u(G7(?2 z(%u-32C&@Jq76{>b)*V+*rGIFki-*h!{Z`C;+jTa8TI&Ve(Lj!!Xmz=t5Ect>wn6x zg@{U)MA5VnB;_M_meTUz0pD<_+38?lR1zdlnJOoc1d$f9(OhhNHoof|)K48oBV+W& z^H57Jej{LqoInIP+F#^d3U!PZ!()~EPXMARC{!+9Ot`(-!x5GyGz7Sqv2)NgO;?JP z9a_n5iSR1Rz&*9g+bB#pf}~=m5&ReZrg_!T!Y574tG$S8Da*e?N3ifB&ZD|HY^4CF zeF}hFt{^e92`JzG2ZJAE=Y%8PEP(PlH+g2s%Q`kJDpTt~t%6hv%$k15gV;E$#DA%# zWYanv6{qfsM6nDnN`51NrRzJf2jhTsI)sAM4biC>I+fQqu#?id=iMD-MCpTzFu!eG zg^R_h)Zy^ti&0J$`SfqBodUix8z#*~L+S4Md?9I-$Jn4j$=b_<(V!mbB<C6e3+bh3 zhJlA6H+ZLig-}EXWoZH^_hrSwRdzRu?@9-y>iU1Hes$9S{I*(D7jv)fL5z}(z$ZlF z{vFDe1QPnanEL|8L!5dT(U$`1ujyfsRAeU~I#Gm0&g;b>&84PM5j)E$_}(4S8W46l zN$dRqi7@Pkww&5+lXK2Pi&D@O8B6X1gy0|rOq}F2*ox#TsaZZng>p~`rh)5+>whif z9rn>1m_RA9I0(3)F=Qxnk2(pE8Iy$w%Yt~|f@4{p&eCZyJf}HMvvLK}LWvn9Nby*B zM9^JpCt`<Sc7IdBAoIdHW@iet6)X8LKuO^Y{h`&NWu<bMT_{=D^rHoul)~?4aX54f z-Cgiz+;5=^wEay(tEsJqpxoU)r3k7Jxn^$r;;5CT0$Z3LIF%y$D&c4Qgcz*jf2yES zQ(4UR*)m@85eA#M(CxqkZupy~NZLWWk|-t_`MjhYXiIvo`iUzPH&HZEr_B+{RhSmJ zJw6yZu0I06LICEjY@HImCRIwRuI?;CK3gQDu}2<XTq`ps<88#mr{Bc$^lk%HhJ=`v zJCvP>Y!#3FT0N$^2r2=Wt|XA@S+i88HM)!(yS4{wRMn(Z(rPe<NanON<_}vq`w5l` z<zIawfMmHdrKOldwv?;VENj9bTf)&RD#A%m?%K*1#5x6yuOf(dEiP7nx#}6bmPSsn zCnb1h77!s)kl%vt`AXf0o%b5|bwq<FHk}L#NKaY(2UOX*MgWZd(-0tZOsvrRtS*}1 z?D5`c+9yWJ9O_1W9cc~~FBy80T*^Fwx17>2jhoBk^gI>>N~U){bc%|E3;+JOfG27a z6`Ypecga^$t>))yE6VO)#gWTV>60A(Efl#fZH}7|*>~<&x!m&PeNo>ENu*ppD==JR z5zHrvYcPHnFpgSzlnxGtbd(^8`<DF$l;AVntQF90R+I_cxnvfb;V9E7TK&8ZK>Pg7 z=OXwEe<p$nAK(bZF$~R`cB4s!#90=K<AGdQY{ucszAEIyH`pu9Cdzl&IKSAQS7RLb zc7#`(220M~J;xaSrT*JBUxwdtxz4(x<4*|){t;@4jzk9?ng;K##KHZWKWmcRX4*Ul z<2DZqk(?=z^eA}FFRvFPr^bm)e{DuI4m+JcUc1#qf8Uj1`kKK;P&5hJN6fu-O>8d2 zvIO-p7c;aR?go6EpT7MgzOe9MZ!TSf_agU7GsgA*-K<fcKMX+Tx9lg}&=lbjc0gJE z+7bkEdxBm=Ei;&<suA*-dhh=wsu1Ev=Xmx@DLy$zm0D_nR%i)`T_g(q8XC32<JH<* zA%7wXB5Jd+9P$goThr`M7O?-kS&TEdk{q$nI?hc@4JaiSL~hc5I$@LQ>Lnl)cwX;N z#C?#(*TVf?jV}-_VXld2*KE14|0_j+opgMvzKxqb2%maENW3a_WBfjFCq|Wk%xVAM z^C9ZG+p$#8;$*ibVv7P**4;#U+DsMv4maCa`~1Bo#jnvtU7D^H%6y2mwW}>Oe-uGb zF}JO$qQzZDAX?C}Z!eNqhg+!5(nbp2az%=cI{@K}RvBslj*pqTgeJY>sBSNFlT3Wf zVXa*4Ft$icNh?S`t>doSRyrgK)?OBI-)R$@oy8?XvivVqz=|?P8w-5@JeIzMJYM){ zD|kOTXcX~2aE40fJ=J7MFHvei6{b8JLuAujLdl`k_)gTz{4;>hThoN#pw4}(@YQ|n zIiIwEQ?d}I{9<*CkF{ZH2N877llFQ;pEBS%3nwtCAfP*6p^IPYxHjh1k>cXH>&tmm zLw>}d`%)C!<No7E+Wfw<ZU=@{8^Plc88*v#sx$(-5X(XAC?-3|5c`Z4WfZBey|zdu z*4V&|`r(gVJv#rg6U%F&#i^refSPQOHn97)=w`=OOl5Pky3MH6iTP1X)Gftz7f&_h zAsy@X9~K}0>*{x;?Aj5)qBZx35-I3O-6Y+%(L{@=IJY3;<H8e|dIv`r0ax1QfgXp? zQ&R5tYV1L2Df5(i0oWWhRlgiQq(0C-#INx;D4S81^;!>c#Qtq}lD@5pnc^67PvC=Y zz0hf>fYx`6Cs5m7Q&e?DNm&_)vz9>rk~P1NZj3%72DwRQ%T!_)=f+<QQHuKR3yFsN zCr|7L%9H=dOx1VlIy$f9<vR^B-1wsYtlJ`)#*VXky3Jhl_uwZ@P9h&pU!8=1FEs}P zd=sTy)vku`Z;Qqmej&Iu%G_Hg)H9xnVY(x5RR%^^R4D&6H=wT{p4DKizC$y2C{~{| z0*Mp#3&vHp!Y{HD2nwxnMQ9336TCk<;D?6u;|(9s(wY5Mnh&!zlYde+yRNnRg6=*2 z5Y`ZI&~k|?P8u&ufNeEJ;iGVEZ#SBi*Qm5u+p!;6ptE`emxiWQsHQf`!nML<(id-F z-x`G{w1$0R6;rDz0R?FEdtSL>*I;L;JJckYC)^^p_1te<XEETPLp(KmI6pfw^*T{- zn^hWge6js;mlSAl<?kyaS@9;5(sNUJK+8@M#COs&^AX^+P8KL+#FFUkZ_s~!r_#lL zef=t(f)0LEsc}#Ga0@W^#FV|gcypHoWu-pdE!4PhPq?!C{(O|>`}oJ!5|Qyp`68q( zBhTPGW4n|+XF6%oKo&%gzD8~FUKOzS9LNsbj+z0~TZobc$=*;uV+sc@-fg+(DxaGf ze7pxubXyo4Ltji@k>0{(D+T^*JVy2&s9m2uPWqLzgvd;9#s{jI{z&C)p?Np;sV}b} zi9-X@2QWS7=%?3{%B^?&X^_pd_8I^0C4+fSMR@%9@SBt2%{q0p<)?&P0s|SFAJBbq z(Vcv1B?-Ia4IuZf5-0L^wn`FsvZo2nwI^&PSjqf26*PK!^H+bXCnN%qK%+M`;zQtP zbV+j$w6npZVG>1bj1@;AeL>bLf!OOE>SL|k=jX#t8Sf9ONnA8;=f($0@_OkpyD$e) zliN-4=4pqHNsf)V;4gm2MpLB&pB4h|#EEo&VSgr_?bt#kS4wMX`96W3{^2I45=kpF zZmX2@@0QCQf3}~QB7RKqBq{=sI|7eag7{n~UWM7$29{L`oXV7*y;}u8_?E7mE^_94 zztD3A<z7GLRIIJAXHY<@1qm@}S^51U>I&31xXiZl$xe{Zb6OGh5zKl!wesi{X-cT@ zcudN{Y$(V`d3_u}=LEQ^az1ec&D^rJ>K*H%?>}&R$jLn8JB^3D{QCetW>GjTWs>}4 zaU;!10>gf8U&eWX{=V<6(p1l|jxR*ZlL(u-yUWU4w7#oF8x~?f(Hp<Cq4muYX1NOi zbdjfdjVLa2kl|b)3WfiwC6mFM%1&X<=to}LH`fiJ4M{Da|4+O{fjCd@-1a8)<L>3t zRQKU~N#1F+WMzRNMd2lvW4*kwMlD}$=6{(xZfRNzJUz^~86m+(*y3<n*j_ReY2W%6 z(Ck>BsNNeP*21dQo`*N{-8MAq=YLNcuT1vuD1YVrQ-f5qh|_*r=V+^<BlvrED>Y0F zn^MpCs#l<Yw!Y_F)qH1VGwu$rM!BUx7cjjo8Z^J5`MGPBnDg1fje15E^rz+S`+SAb z#KXOpfCKsh;kFjuP3gPPNpHam^kw+Np~oNByP4IXcIk{NAKm`zvf{vd$A2(6!{zB% z^L)3RS6CLF{`_5ml=m%L>6<1Qk;9(I`edtcC@Yv2nt%yl30q~^fGLUYL%HBxRT=4K zQZZZY*-Lx;cl(&v-?X*ikS~lA^eQUwJroM4$;B$)PU*6Aq7sSPe<%d<4Mn`rS^j(S zmH2~_Zva_IO;dH%+z5SMiju>uUL@6i->uXzNz*rdo9+1Pxp-Ugcl?dpcaMzYSuf>w z<7TJ}#U?(yjQJPt-su#di(k3#l1lhF!$J%#N6oxI<KF5Mb|T=*BKKt-X+i;Bw(;Ft z@fOME)%=9pOrCm<AbeBa%)V|`W=D`;nw3(%VMbPJ&a4kZVoS^p9=|%uQxP?PT<lgk z=ms*b>b(JEX*v&@B+Cv=7yb~1SMs~DeWeM?zNs?02H~vS^dE~lDc%0)Fx>jOc8QgT z*Kyd`(*-n53*a5{UA-9@vtVjla}n8;?BdByM-0{l?B*L}I8X?`7F#90s*KM1Ue^~~ zNuj(}3NQwly-u??E0@vRKhM43R7LGvIbLY1lVx8|1agCa8<FAD`uISxlbagnt8W>w zdh<hNFe+gCF~|TzYwnVL8&hh0gL-*ha>er>{pkMk%Wwl9t_$5Lm=Mkse!N5M;?LqL z5b3d}l7=UocHP%Qvd-qKdlkCLg~Yx~vVvmusXkTN6ZXSr`tYoToveNZ_U7FukI5_l ztT*8LdB>YUQr8Vm`hw|0*mucs_k(g}EI=Kqxi`=tw?QDFZ;NDXD!=`Z#<OSrI#QoW z%~Iw^Q)5+P9n;}qoaJece&nUUejx9ehtKI-wGZQ+q(_2!!9qsGk>l4Ob@vmo4VCAL zF-`AQmX0^07Wupm?5c~qa)0?Xr$v1G*G|O(p$6P`#T?<(6uxPzZL&<gNEx-3Mw;Kw zDZ4f32ZE)(B({9d$vCndPu>|RdKC`idp<e&Io$kxRf#nl>&#w#l+P-GW8FP(Rv&x! zMm1jIg1<o(Z9*#3ZqLQ(K0_nJKT;X!*R6Q^t?A1=2^1w@0etnpR%zpbFq$I{#UpvC zzmSQQJQ@q>?|NK_l9jC${aK{DJ=~K3?qt4el;xzrf>yQXL&Bc)n4f~*HGdK{?4<LT zQ<$T9)Ej(&6!Vbi1*K}CX`EiHCvSZ_(ib>)|9YUk`gnj^`&v^8e|t{f<9!nc<vTd} zs9yaroJ=(AI82PY|LmJJ0C$@tsM+c2sPhmf7Wb$7GQew$X)abTRck}{6nqK}Uf(Pp z)TNQ1tLI<vdGyJRddSP**{3vat!;Fo`{%tgZX-na^}h9_Z&R}OoM!Pd<0crZA#qst zcbQ`f`eJKS{1Wp<PoC;?b^gHIGgIXVT8(PJns`B{Ar9_9i$sGC>4tp&y<-w&E{_x0 z!Jn}QBd6vc89JV+5o5n^g3=FTyLML$JY5WPjwIt);G%z%#?0h8_S=n7QR6z(IRW@{ zk+KMrO5ZXgwh4|1AQINr0c{BibB=Ndw@;=Wn|W(*dne|XH{;ts)qQHN>8r(i4rAXp zNbfsw-pOvaPV%ycExn#pIh7iWwL6#-GWvb=@VK9uoS5a3J4`s4n?qJiThxS&uAb8= zY=p!^4BG-|b1p75V{`P_YlJmeI{g<@NKq?NYSws*g;<^&519G`x8GJx={r({9sU_9 zoeBkQbLED9dntlV^{MoG=2+h{GFazsueo)a7BqHx1*zHAkJO+VER%ZESvEQB2uAkR zKcBH*^gD=-oz^R_`1h7Ix+ZkYl@E}(Nw-8=$Ztx=az!xh>h@3`<7}n{v<}P|zZE&Y zUOHA<G51&<M^>)AzC7Nf9&{$oD7r4uUA=db6>-?AjYie6i_WItAE;n2rSSYJhVBD6 zDVx^&Ll^wzc-rAxjq91oNABbI(%0F4{`VeMa9to)kYG*PvayJDKj#FQb7yb=$ybM# z!(<i|*{*X_JsTXjQ61+&YxjGf`&6>PFWaog{jv-kRHly&Wa@a*1n!sM8Ya1IIbYV% zI4ZhJD!(`K7ObY^6YprBdc-y8?`^QWPJ*(}eAsVf@p?e{t5w)#@}=8_F*JGp!CzL2 zX8M?3RgJdql-<nE^K1*VBLaQ~#HOcQI}dlv{sGwpm<WMl-EDE(#~TxC%=8%THGz6g zUFWhD;y=q9m0#^&HVG5kIJ}1PIE1_Of&O&`cQX%{HoH&^o%92Nl11q~MWv+1X^DYG z$s9CUxdGv}0D`Mx1c=_<Lpc*@Zc;JYixgF83+^xX;J{Zkf<=TAmlxF?gZ*7VT(>9Y z6|W=yv8~bkA0&ykyWj*sKBBMg)U)5IB7iR#yRh-Nt>KZ%=0%V^kCbx)%%<5g<|@z# zIydFzCJI5y*${aOYYnbquy<Q#r{2l5pPJ+_D;EbS+e(T#>ZNx&6g51&_H+6dDBj=Z zQePqI$4mbcBwRdim8vdptk}L3zSMP=7vFAIy(@3rB+!(;?FL*Iw4ppmLOWmc3jy{J zdLoz>Mm7mYv{<?br*n|SW3N2FuHyz78xM?tpE6S$Gnwq~r5t_Jy?afyb)ZEJ*QRxa z0phc%d?I}^0WjW_j*KUL{SAkG!&S@OCtZ=2K+~TRCWL$cW9}QfD{Y##W81dPi8Jv; zJGOVMiS0~m+sVYXF>x}njU9VpCvUF%+xrim{@81Et>f%M_t~rJDC+diVJy-4Z^$NS zs`AflM*QFU+B?LYZv1-AxD1{7$+crdk4PS?B*Ufz{~~y&NZKG}`7@&@dLdR~XKLwz zZlYfdUO$?75Oot27O91&5p-1=F5p#+=Wh-N`dfMzTPLPJ{JBHBt39$IaK}$(37lhT z#(pJxEij!Yy{|igWZb9EHt*j$9yir~_<V9%xEpRQKuq5HxUFB^%M^n=Douf{Sr2i` zmO#1Vm*2y67xRMcm#!IrB140BC2Wn^{-w?Pst&RP=oZ>-HN?uz{_${NE8KmDMMSq; zRk`V_3)C5;oL=elr=zPnb_;<`6p+yF)f3>go%;Q7@8~`XcK^Py=Vx!1mxf!86YNC| z>jQOYH~&PmPry{?;~s?mT9V|0kHresA^YP370=F}$Yg(o=C1dg<Ath+iUkpi3Z~Ez zXai_IVbWCCn7_TK@O6J=6g~yj3_1OW)-Ya{k=0h@KH@S%0JcEZiR!Dx*i0Y5=XUQl z7Gh`loa7jpVVcWqh%LFf(C*=jIg?{OI?qr0W6#3dsJRG=<<C{)l_-p^MOhGd!yqnq z%TM<6pO3a~w8(azs^WDclEp1afA7i1VElF83~mATzq3=8zy#l4x5I$IDD$F_NtsgH z59gWO?*M3^{<5{bo8JA#mqYc~0eReSwK?6^;jg@8x0r0(>1c-nF0A?Cj8{s942!#U zymXjtBN7DOEN>-$)8s7SwCE=ko?VRR@_Z#4zu%HE$8^0vO0`@~cR1JB+m9cumNP0a z6bfD4x3LY28XdCEz>pV}A)w^qBOyT`<8mxpflut0()X7mE#&X)$Uqazi%}-ICfs@b zNNszpb;lL-M|@@^45`YNVZxud&5SFDe~<e0S^2#-4+XIjYv4o4i9=IJCOb*0SVcwF zgS%Yyb5;Gf=n&5P9R;_1qj}?M!{B}Fn!)*D;jr})ZZVcJljD1*#(}{0IjDN}aid90 zm9J4nYAj&5@`b`8tYst|OY*N-I_S3rG-D3^wkDE>*Zus@sKF>hB%FuW8)vPRTa6{Y zWQFb9yxiQkYx@hkp`_F#fokXzr)i%3mhsi%6NMPD+5VEHWmQ|VZ;x@EA=R%+Lji_O z`wJndO_*j8a{Dgx1mNR58pv<b{0HA#80TV~{Z>_`1={BbUX!a_Rae#%{ih{cy%1XO zi>mOR;{lI;v7BP?PC_-LQQoSH1mgKNp~nbSX#1Vt+brNpDW*(2?3iWn<d}k6`^R|Q zIX<1a;&sgOu@q~!30kPP!Alp{EMp8%4h}yHz>F*UQOHb?1?+QEbquG2_V>%J8P$ZD z$zB1ZAH0GU<_*S=ExmgBt#9)FCw9PTU7==UtK21!^tCSPy4+V{F_wNOUEc1#Z1It+ zq7IkV<vu~)BBza{d^x-0SmdVN(c^=5EKqg8(C+(|@V4d^`{zf+60kF*yRAbCaa}*+ zTs2v-@qJ<@)DE~lriRE!yr+%{D~sUGZ@e;ck7a}J*=S7bT{f`wAa<J7(7e#sO%uy9 zo<g|E-~D<RhTu82{uNo)You8xmpGp1)p!g$2qO#4<0ae6CIv|Ql(KO{>S;If^IUw; z!o%GyOY!+bIaB~jLtNh!C_{g-Fkg%F*t&)BhvKV=5|ATuu^IEqeD54cN@`Z@XsV-} zxttP_sx#bNAhLQ!%bI=OW7vjYXI<~sNl=Iz|EYrzH@!ZcR*m9)?WDDGq2c>nfsJ1o zF?K(ev^DIum7oAUlqR&5x#g+4)!OY62b5Dwvmc+#?w<IL$W_1Za7J(I@1JY`K9A5+ zrVgNgf2y@dFh5qh-2Yr7@m=}J`cNhK@8Z^R`HLQA+a~6f;7KRS;r(4KEaV+{)i6le zxs<5h%HgHTIr><*Q0<k<Yj|P74Bm}j*{bRJ`dn~nQd|2t(4YECu|C6|(Bt&r7JWd2 z+usyyd~PiMyH;b(I#2qwI_tO9Z|UC+czo_2RB++X>bM&XYoq~^hRM==xCyz<r%!E! zI!NBCo5i1AJ*;@322{Zcvo{hL3W50D2jT0dbcvvJprU984H&wNOwyVCfcdy5L-M3k zfmkI~$tbqDcSZ+4yTKCh2sU?IYPiH?lfQF6i;s}2_u^^@y3Oh_>rE-?wG`$!#mOCK zKxwl>1**Duno#`QTCUc5a<PfyNBgtfd$Y@pkD=IZs=5NQlTQJ&+=ihoSaRc!^y+F` zNAqsQ*XxEnHPZzVk+f;&c<@2{99T%?%9*|`taGdSr`PMW(wzMQ@o*dBhXsp>17+w> z8{cb0?%*bkpC6m2U%Y$zoZxd=P*a_$pS^ZK#Yf2QHladFf5z0dJ<-Utxs41cxbsrT zT=iH%2K%;l9^7T2+e)o4A$Kj%r#pLHKm1i_F7?OezY!H*GNCJX1!Gio_KmlNy<{ns z3AD383KOh+W7XIk8U_rkQtI;N7{}CL=aM=^egLH@w$^!d8f?zlV)$Qf)@ywASXiAN zx1qaJBkOGT`!tA60i-=nKMir6=s%J#yXAN1c4u<)`sI7-!G?Z0QB^{#?0$(!3hlfq zr&;ZFkG(%XZCE#%tM<oDL-F$#^Z3x6Gye+O+c7ls5VKxTBb#UnhL(1dU(QsB;)bnp z-?sGZ4i&&cO7?PeIep%R73MEvXX$#IoHDEWvFf8P_8$s7O}btaMutq1p2f9F`np$R z!|D7&h<}-t1Q2oK9eqp!*3WYnljya!eK3a3rWa)R9%`YO*9SfyI}G|84v5`^LIJd_ zAHJ4-5nc%#Pj$mp%Y4E1>rxLdtw-60f+vIDCFlJtzs?Etlls1Ahk)SA(4?xe^?Ujd zkj1O-2-^0!z0J5BwiGr^h6jQ0$x{F&sE+{z1M2u$3N|!s3P5TO7^w`mXbo^9Xc~`^ z_bAJk7hm(8(uyIFJc8Hb<#>Qg^)RgoyZZNbnwZ(^KAmTnvb=rpZQc#AFYA8b^z(ay zoOa0RxMo<gQKXhYLM7vYa?GB1j=pG2ard3amU`vrA}(>(oSi$Jsif1YSH<6D?|Cf( zCyE0nwVK~le{MXFg1UWM^sA1hZA?z=j_3#uPRCoeblmzYS5&XD1)ZBK-!Ik^Dl2bt zju*eULm2%8M#ZgtUsm+pL+Gn*cRL&P*T@M<y0s5fk~UY(Xt6|jU+U_dobKPiI(z4y zmk9mbVf;!%+zucXafQ|w=O;HCWZlKj5I39GkIoV7$Mt1%DO^M+Zs<p<C6Rw9f~tp$ zoWQP8ty4GRC0z1CM&R3U@C*33`}-KBF}#D$tdxe(DdA_vj}w^KZ>5&TpUN!Ar%zVW z7HA|pNGR(Ad`+jZJE&nOdlOad<s(u8Y^iGNrObVMGZQI|Ve*$pJ$P8?c7iE3%zp(M zsKvErq_`pcYSJrIwL;#g|Mjd$Y)Eg#Ub#Fe!5$u6!c|OKmrA$rR7FJV%I3gIdY;T1 z2j&h|rHT0*%k=ymt~aX+Tb)Ro>_7tA3&iVtdoof@tPv3_`J<kuc+i=5(6E(#cBnF- z@-TcwjftmA&4`S@hpK%{H7tOJ(vAvkDL|8`xlVxRK#&i^xugg}g~8PqP1>*#Z=4oQ zb|<IsRN8j^eqc?@ThUCN6IOyo78fvVyJT#XIacmr?IW<ld@-CW?G*hl=t=x1O!qgW zh0kZ-zEUc3<$kVOQ`tM(A}{6N=E^YLCjm>yD2G|^X5_lRP?r=Hz`ibTeuti|Dw#^6 z-6?~kV{0J<eCjt<FxWv%nFde@d3g@mTApw5MtQ7mhP%?l_5KjdPUBqySfsQ}r3hq+ z*B>Ry0FL2f&oUf|!b9jiut&;l1xx^+-C$7&ymYnh)eM~>AB2juE4{;XK>KgKwhQis zL%1Zq<IoYmKi~thBD{QE!BV@LCRUJP>Ib-ZxDjmAu}-SQmeWwdWK;61n>K;~;<2Yt zH%H0o03De@4|JmunT1a7Iea!8pskO7>9jY?T8V0<@&vfJDX1V4laps!SluQv&>n)+ zBy}Scn~*O7`x|#Xhwp@AA^Jri5x~@v)DZ3O4CeTtt#p#=>ezk-LrfIpUe1OK$rVas zh<e|>O&*yT<~>F<DA9eeZtwOcyb@@U(gmjY=es4_`wB|2SM!>WHvW0iMtLw1L4+vP zTc)5H<F&@JQeg^JD=;C#lA~U~1z6ZI(NpP;o=^%K>HH3^C{@~*4{@><bLTxT4bf!H zre(^2w<0kae7bpD)GdX0q@e#;=3ti4!_ZWBIxI&YbA~A+I3|8V(kvwBNii2jVu8rW z2^Am2alf6FrBj9$E815PkEn3_A!sxhWR08^9-omeJ&fJPk#Z$2%eAY}a~YO{pi-8; zaBss>mJoDX3gsr&7;wsIbGm?a9tuctIk4EbK60dyY4a4FHQXBurtHn@3t&LSQ6&jE zl7&i5$Gv>}C899(@qU#i%_K4#Q@XnEIJ1)h=?;#PfM>E|`=-;YYS8O9mc24Xjr->& znEz-baDTAzjAC3G9@^B)+Fbr(skvL;s_3(CFR~oKA@xlK?P+<&(=}VJi0oGaPJZrS zqgm{(I$JP1U#*57R+%s$6g}q7SC8mYo6To?Q$6g0)E%k0Pol%YSDTruxgYx=W8~pN z3<|<fz=EjB4aUQYA{h5)X0RT)8__%sU61nNAFY22agWN=^+zvk;EsjEk~4F40{?cx z;)XeOJk+%MtBgB&0+c2!X!~{w2KM;$3Lc$p2|0WjviszgNIg%JY-G@3aj}lXDcUrd zh{*G&V2Mgkel&zq88H&FXT>u0%{a)9g=b-ar%JO20M{IwYxT;7G(!$s!wHoXs_VqC zp4n__Njmf%2fP@p^Wez|i{M{B`@9u+??wQgYG$;4QVIVAp{;3KNH@s1k!tQbV;=?* z{2OwVH~Scu<wEf9t?D`mCjk0!{M@GW#eQWgBYR%w>#oU?5*TpgT+`Zwq7@9PQM0}! z2<36XkAql)6G?!SEk!|lNK==EguFf<(>#(nQ~}{hRn9dfB^2sQyeXTcq*C5s6N;ep z5qEb#zkff}j=W)#yoEy#lv#}(;ZJM%NzWC2Ck0&b<>SZBGDH|1W_nDbhyUs%#!|6; zK@yQqlpmt2omIVwGdDu;HNJMKjWozNoAiC(q}inR4CZ>DI#L+PazsH>PZ-~mrs}67 zFw+yzQ*hn;!A=L_7c-95>%SIlfSA*2SHMHJP?K<2y3HxGG6PayZ%`E2i_tAV_Kb{q zANyD<H7;-!k0*273^*&N-^O_7A0T28$z|LyJv=Jo?ZN{BBnYmeI9V2PUtSO^3eWT| zOFI)3R)hp_6Jg3bp3GqjF1r#Sotx!u9NLFNE=f3#=@j*qV8sKyAhi_975GAc=gHvr zI2!aQk3owC6%=aB*j4Drx>bIH(oV7bR?SK$;M-Ec=uKQ+aA$CoB+8LbMrY&-P;)-| zG0!eTur2xh8OV$uWAag~XlaaS_l#<Dm%>x(*4{Gbd*Jc$jdc#HXuVLAzfF;PKNIV$ z%e8h?CmzwR9JeJLSfw_=spP<BcM4|Cp6lS(a2zs=JG_LN<c*4g*}^&6D@Y3fMr-9W zsTK6fh0%Y3@O`{vKmVnZ97PfiX0o}>$FyUBGR+mN?t%4lN6?WTGQ2f`j8rpRLrl#T zn32fl@Zx4$-kKC>st6nAylMtksRf*Ir#5mRFWs+<N?v@7>0t98I7x$b*O4L-e4<fu zUekNG^1zCWPFaZaFEY83=dlSb@V*pu1^l6qidJ(CaU#{fv$|mqytz%1X8J%Q`I|9% zA&zc4<-Rnlx}w^<&Q8oql<}aTGLAw&ELRAyfPO|o4V54Fj=VmgSw<9>A>_#TPF3^| zCv{Uh-F@6I9+Il=>(ucG5}7FJFclz}bI>Nj{J~*l#S@fN;(kG6Wq2H+lIfc7JCS1C z4nVIcG`p%DQ!Jy>^WTG$O3N>n4M)A%0Y^v3h1ap#;#1m9hDe?&BW3k+V{ZCCD~8Pa zSBSAbq)%#4qA*{XVvdC%IPx=ieUd03IE|UPq}jbWQq`G4FKbdn{Ca3vJbTE5XvoAx zhE!~E(`kADb2%({O@=J;Ss)2>vOM*l?C+A90;Y_0`O?w$ijH#Xb~KHnhOcOf#rupc z#xJbu?3cl3)q~yf9>-}}sY^){&aSNWiij&(Ygz1g%C9$g=lnl`hqc@lN(yVBd%(%& z2xe2U_{HE4EebhAL^U~y408vu2kmN-&<I6EI|ixEIF}E^UMvLBei`Ai2ko>T6L<bd zYAN0F%H%j}r(i;~caaEm;o`=+0VN3Y7(@b;J{x#4W0y3E$w)Cch{I6#^oHHk2$KUH zS5+#|s<w_+{o6@4mR$O*pfONr0p8Kp$Q|4gzK6yvLjNF<Qdk<%XveA#Y)ackXYGf$ zDiRfgLK*r>rbV}0RKi;Je#ai~0WzHdhi+hx06HT(#j3W}c*dL{$?Y3f^;hR;M*j_E zUT}esQtcvZ!y8xL2Sm3K=Bk;07*LK=ls&=K0*-A!XoO1FqI64UOlgsFrTtu+B^SU7 zVJMt-zKLbdH|(uIb`v%<q0_Qw%UWEPNCu~=SVA4J4-PHcuncVZ9ir=^Wc$pq{)VDG zkModQLnkU(w+P8fMFb;Bvs~-Rq^_g}{@tIuzQp$h0zGLJ6C>CS-I+7Y1~L8lOGKu= z{aZZO`d^i5KLkV}HQ64P{(V@lGX#W;<<e$P+ZsfN-2nF>%+*}s0Slc>OuBr({sf(r z3KH!fjP~NzFw=RpC;w5+)G`k7Ipf56vs;+SNz8VaMl;7w8#}e4$+%rUwX+>;En_Nh z*y<>8F;%HDE`)<gg)glDqsp&Ql>_&rN(#Xq@GRx~sqkb8fD({rM6671(#+mRmd3l! z=avl9nXj5<q<J?Psc#W-_F@dALr0+$Jj@W~aZ#U_pgO04!Mj~csP8=$hTBZ`tEg2$ z;hdD=?j}6p;uxe{z4%@k1pQ<kG-D;^n#a&g0f!~tBe2-Cqo3D;nlUei^a#olhf?mB zU=&%!hFg?!17AUg;*w(yJhnz~d3^+B{#*ei1&6j}915<I1i>>X@Q6yu6_n5+y|_{3 z9b=HGsaeut`ZtXgtK;HP451yMWZ&lNooK}7>ccn&e=NnqXowD_kg&tkZ2`pP_VkhD zh>R{nt=;%<!x+UEu?QfmX1H~vh*UjlcSYo*Aqy5mt!m>HvUeVfwM>0}$#U`Bv@=V@ zKjPO!h@GsKlP!z}chg=wnDC=UYNTwN+-1<9dI8;W*I02%lolmbN0_Qg#(YZgjUp}u zpefl<h|cINWquZg*(_aI9ghb8LI7aqF@&5uQ~lyn9Q$3NqZIC1Ul@QYd~w7gv*2x+ znyOZ6gs~VsiH78-p2=fTk7l7DRGEcfvgdQK*1X17Vb&Dd5HL#Vq#fKbN)04^qucE0 z)=rfGL6J7=LU-;AiPxdsRAEBVvOnnnDVLPVhpWkeZ)5+6Gpt2eZYS+Z=7`uh@UrK3 zkT+ZABJx$+&fps&AYljKYM{Uhpq|)Sq7?ed#`<M-p!S<+J7~RYS412xtvPJD9G43Z zJlGxg7J0#Ea+BE3l?g)1bjXJuJOjbP&&f(W)HW{3cQ|H01b|ZdD%m$i{8p(!mh7Hj zw2>(e!ysKt$Ftus9Sae~RFlMH@z@n3ZfE>V-pg=l=2Y<h(#5d=qW-VsvBd&~%tRX_ zN=jz6G>NKAva^&ch{rPEI5Yh8`<;{ucz7r@#67b8n4`#qcD)sUEgP0pS_%UblfYoC zkW?x04>D!bPchV_Tko_ahT$xus)LI#Cvn#s;wIwD8ax$7vW=OtD8%bv?fJw&<ONTo za82d5?l#l>6;`k|)ruqbaCA(;jXlbuoUn1Mj)uA(WK3RG4A)kA@q1`Q+{(jF0rRu6 z$SBR^P!J2kS*o($E&?Xji%_;)=ZJM1NdlJzK+{Ysu5ni?!Vec@tB+?Qm3%=o)E+5F zj!%W$J)_==erN#IU^&1%zkg#n!*HB%1?n4Rl!qKhMlxYL8eM3Ot#I}cNXX|+u9MXD zTh0_o+~}7K{8@O(03^YsdoQ1(;SQ?i9n4oKYD!1`n-z?Jj|xRQX(WG-<EEUYTG}O| zE~~}`(kGXUQMSJrUU&VewFJb?(<tYb6yn!&b)@O>4kPS_(=OO*y%jN7zJSVs7>C58 z8yj)qH}>5bL6Cq+V&_2b$7c$)`%4kS!a{o<UHPM2EIe@1F7}w@8x=O$4z(RZV8`O9 zf_H$4?5S`5{ub1wZ$^>hhDX8**g#0|Sm>@Iw|K{>EPP2N-$4hIZUi-S;E3ktKOX0) z!K0pY^IV!~(dcg%xcydbeC!O)6md>#i|^<Gc%q&v#PmrcKQ_&PKaobAj<h%Kd!pFd zN!b7Vswo}|!LVG3rGao(NW~{{%b`2sv^2(NtYEpLQqcaVjU-cB^FTMsT<I{!4}A>h zAUy+N3hh^%yS(L9TgfrLFnVNt1#12E&2wQH)-+JG2pm`S&yPR%R7>o#V9JFlW9w{W zxrvP+vWL)76`F4Gei$(g+B_<pGC9O&@UZ~^npcr9V^Y_MfNErEaH@+eMuGC8<P)Q` zAaIPqQT$PbQRJ-NE(d!f7y|cFDu;kH!qe!Nav?42`JM<XHPv4*t$Z~|xh+iUstPfH z2Mc<;X`5JK3_T^-CZ*~?ez9^}RRs$d0EI(gXsX^pz^jnIkwZ;7>G3jPbm`bQxV@Jb zAYsXi9&Guqm8U&d&$vLA#s~-6#&X9ez{G6d>0`}W$28Cfvq9R}rOv~e0Nwc}7?A`? zPhHc3wsVihF&t2Ax&i?+Z2GrcKQ#1~E}8fZPxl8>Gu@e%u@bEfA7_m~bb2YxjY~G< z@V6MLzAiqHF*00JQyoX?WJo(m@HLRpzXtI(5{-%6KPKvj7*PtB0@hy^q0TWF=og%5 z>2OuQI{~&I)UAeySm;<3L+ub(WS=00HmIS0XpoFHrwAIq)78oAl5_+aeyQrE`1-2w zyXq5zoFbXOWg%3?#}0u=x?)BvmS=zz`3;42lQs4t1c(tz8iW170UjPl<5Rl|kvNU~ z`!<;jM}vqlu|e=Bq&<=INkIT7(354AYU(h_7&cuL94l)v(LtZ!g`KUrc#NGnmTUcY z+Uf4e3ff@0bd_br`ls(urk4hKb37bHy7{z0z`AA|_^|gFC4r<wtIjgGD?+S!2tBmf zA}ab-LwU)fV4KyRYMfFlE03c(Dcjx6loR72U;1sRa*GxvT31`_KF$_QuOoR^X4?w* zJRQP}Qu>6TX#Qe7A4LEhbCoy>;;YMw+1I1_rJaHCWk$YAj*2B1w(r4|o-7=kwn*Be zTd^Dqrjm~89F(b9r%5`E3&o@}T2;3(t+Er_Q?SG>Lzi#4NrketDf-QiMeGu^w?C8n zoJ!z&YF{A<l3%%DD^6TIXBZ1vSV6V$t?EUsq4&{)2Qynqp2}h&RiIMvNv5c9tWK9< zfM7krQ+X*n@HG?+=7(9$DrUAT-}{D&^zcU8znKs^)h9npgcYtyjwVQ*0eY0irp38_ zFWdfL6*-Bh=14SpdPO+?X}Bx0u`y-e0{?Q9%ly8*pbZaRA~+-SA84Qm23%>u4zL9l zoo}uw;Cu3Lv{U8*P@cK+)ANXx5ggMVRtaYP*BI!IF;kqQzKUL%1d>d|%%l11wckx8 ztiG!=NGRjGmCTZERZrn)q^-WW34;>v(C&gPV!^173tdfi*$%z|(_xo_JFJ0i*-WQ( z9F)Zy3PP^DWpNuJ==xSdNOJo6%D8_%kL%3_YA@gZB$i`He!p>d&^ylLmq_Pw6m^YG zK`-9XNhBSe^t-BS#k7RYbY<qD2a*5RO+LIa9VT2>6^T0NVY(^Zvn*9h9byhXEp-zK zSq3q{SL`=`5e*og#NMA$S!`!1&rh8zCc}y!uTD69*j(6OjE(^*6R`RgCS*$DSml45 z(N%NOQvsuC^UxBT2<wRF(N9}e5UdWv9yOrYGW_-#KK%ve^Nzqx`+(Ru#J+`5nuBAB za@17SxEc`a{BLlWJVvA)?6<;XzFq8IK}R!ch6aF=F*@oSIEUz)oklnQynRLVh|5G_ zWojt=bSR~X<uTl210&~!mx2SJE@96F-|<^SX?`X>uEbwBU1v=aap@Vg9vAWax*Z0T zz<OCslSxA3<^6Kw=R<Wh>F8moGW}=y?2?GMZp_Abu`sFu{M7_dMV7b>c`!4+dJ0?u z7>}eu%d)bRYS&LWu^mf^0h(GItx&asw}zl81`TV$;E;-QPCG$ScXrc;@}rGFTy$<e zPZY})qtk>G@+xjfm`jFItz=7tlmL7jhK~K1X+yB?EVLa_O_z&+Q_R8fnU;Nw^0I>8 z2Pl-mT!XROlIDf1rl=3_f(5@ATez*nLSc;;PKnWtgDR54hU$CsM@I+a(x2e5c&e<v zFGh&^kyIza;n!HPPa|A<=wB>sOpn}){Bw&X%fWaQ-R(-Ynu`)QF4)V^gAE%3o(g&W zLS`30Hs1^+#PX6_gmJ{Uff(=LIQqa%0Sia9I#w$ToiBFXhuUshrajFTNcE1Fc*Yh+ z|4>*g5}miksX%CW1<RJggD6Q?4t)(aDj8!hD4H%(yLEh1v!+Vje3G}y;?vUiW?vB@ zi+~O0&Bs*0!n}s210XGt#&TM(VG(os?*wBy>CPc6%6()P`jVuFZmk?K**^29O4DW? zLT{#>5(Wvx^u8c;%F&o?g^O@km2=c**6pUdlU^y8-&Tan2YOY6qo5V3&T)mnq6KBQ z#!^C(&(v0&W<a);@nBe_N2QsS=Grt`9J3tt4T=lyOPBg&7C5G3m>+5!u;^t<rnPY= z^e9B*a6K2Y+?~n)sbGIo$pw2&1SkAu(#5O8#Uq~j8y>!|;~~OqHl`%1o&hDIl79dr zMY%gy?QdQ;N|cld^zds<l0u(sW+LgP8SBAI;2eZ=rAXCCxnoCT_?~F^N}e`Su*EVe zGw#_+>()4YW|f^wc?GO?;x;_@F211CMi0%k5pOBI90K%KVqKf<D2F^A=s<%jj>Gi; z?bIkUtG=vEc|m*#dNh;w)P>v*-zhER+fV9=K7L<rZH=6{8~&NJh*5nu9W2~_8p6T- zP#(kyAnw$H_<1EuNL9o5AEri!4m`WvZa1^G2pUvbLr7XIc&LBRf3GC;#RaEjnsSkg zxv~nzxtJ5Q#;$?m`ZyYiW>1bBB??_=@ZKuORE%6w7(0`>8S3=C0!MriReGiHmgDHi z%G(pF&_2Ye#w#RulpIvbzflz!Xzyl#7{(L1)gFq8aDtdG4}x#~Ex`+ah0n7DCYRfZ z5dGw6l^YXm;-m9^dHb^}zr=|7-Gd{sS?$r(L>+q!H}>C$`r$1eEHsVzhH5iMnm{j- zajj7K{U%L)YEb(V*H<%<kz(KPU-81He){Uxwl4JpS{gXAw?RZ@OJp@UnDRY=5Q8VJ z$iP^u3*>RRZz0Ik!=a75xWMNv0Zmaegmw$rkSqH2bhF214jUbKgJTc1q69c#@a8~s z!XO{_rIuxYmbCzI_Qp;H>FEb245H#@+S6S%Jq69lwf3l6QcyW3-B+1q16RhIT#BA( zlSQePa9kxC=Cfb;vLf8q7J9xQ*MGY~LG0WcYYGNi+V2xsP(a;thbjms>YkNWKcewK ztQ-SZqGe*I7W9G19gqe}EUusnf)C6vkylW;@^aH@h3|z1C00J|g3Sl;oDSdr8>6;P zbFA!AuCPeoVJ5C;krnSqb>z_8bGbyu3d>S=Y>MiK{Elg2wBU$NW$g_P^^+qyup|P@ zH<E+sfHu@MlWtL(Z@gRr-0)AuN_2+iUr%wGyg55x*@)jEA%JfY+RS@L4W}awgDse& z6fz@3D9P-yay6bZs@u@T+iKw1q9@E@)fmg}V$nVuisgtn*f5c?-*o?A6wzolaJaxN z7P*>1;nd6}YU^737DitNtippHLD8S10lQj68)A#J2nz*F5yC2^H1<SgHA?2{`3V4$ zXGO_^T>`eI^=)mj^`zLQxeDf>m)15nh90{;Sd-XrX(Q0n@c{a`9KVJM6f<XZW_ew{ zg?k4$7au=)S*hhsb^+Axya|rR5f|!Ys<=voRU4rmwDoNkJK2I|wAHtD<)uMz206sD z29Hxl<U#4sX5;H>#n>7hqG>QKsa-P3gfj8N1h<7s6G}cbt20q5KikmC{8JxKm79U8 zi}|WU784mt=9iVR&_rMYSMw5tQMQA66S|8Sd_p;=&#rJAoqM`>#ox-kE-W4dn_*fj z5TUh0kQZ*Yz@2)Uhzw0uFc}6&BPSoE1XD-yPlC(Mj%oRl4xSKQ6zszk9$?rMf#7V% zfRA1)%vgqF_N-G$!$%;Gkk8@1LhMKnPYTG1XVatv&zGao>CU*dM)m-lv)6NG$F@CC zMr+FdmA?y)-ynF0T!^~x$j9xS=jG5O!|t6YJ_$*W^yDg#ChBcCI#Uus?#vRUn?KkY zvins1wd^@Vj3n8*lR_8(??s=8gEfLxCRb=qjJ}i0iPw0<jZ-K?k^QF)PR2+fuS2`_ zN4!EGtq_RoptLg=Rra<bkM-y3T`@<7{|=rUraSWl@9E&GOeDl?7!<0xECFJI-|D|4 zi4gYCcgFaxiX8{DKxL1mKlyC>VTUPyf4%9<TSsMxh|R+>!yvMSwb_^{3Ze%F`ZK7e z4SwCaHlz9Re{Pcu?C?x5RoLv|EZ3atG$x5^q|6?&cuI7ii|Ix29!1uzTH3q|pW0Vu z2qzzk=~id*8w+V{Fje(SNCJ2<v-6clOjh_F1!FXDa7~M$CQGL>4oG+*N=G5+gSmpV zyoiNy6kN3SwLQ=8ku<2qi#FPK#q6ygvols*%XK=S2+r!6!|ZLo&d&hd`7*w2!NEF8 z8~>1Bi3)s{<FwrFzkWethvDE%6kj`7Wn_S=^WvPUkPg$!%#T0P@GB-MLBV?LgpmT6 z?M^px@%2fZkU{GMNg>qB_i}I#=(ccl_==gzrX6A~tpvqYZSW(iluHSC8bUl(XnXCa z#yylN;uAF5=rImp$CXrp39u{+Ip#^l&{u*y5S91T<T+0wL1kC+x&KJTHlb&zPr|vS zo>#rZhQC!KwFK&fD`XT;jWCZmcVI3luxAxo5$v?F&^nYhper!m$x)yMTp3pdQb&^{ z_lyiWTdwqH{&N3RbG63f+Q$P(Tef+STdIKEAfo?x1Ph?vkwoK0gj1$;a#)CnU=UbN zKS~f}YxZowY7wC;?!vytLtBoisub^CxFS-~s<wNI@5(CoAR3~-R4fQ}5^2EzRFo{) zQ$1xC(EnQf%!x^zD2@ug^`%BvZsGlo-r0gv)T;uzN@sA|Z(s<7h||^TNB=EpqfH^r z9=+Os{pYk!MaCnMs)Rw%C)*7=%{>6f(1&*vzM3oqM(6UR0XbgDRD)RRL!4GwWZIz9 z#ekt)LED)D&Od=$D(g0;cq6qCN8!T_AP0}87Pm#EVlMC`hG$Jt)}chw8ma4vknjv; zo0QL4IU2nt&VVr`en`&1<iKsT8;<}c@S&5Z&nUsX%>7mmB=pQk>8CeA<0@!Dd@eW# z$AAz`WNbqD*E}G%%f)I9YWY)iZUpH|P9}MxfHk$fy5QXZ1I1VIT&i6^kYYl@1fF<j z;J~}Q5yFOtA%N%5OC(Ga5msD6D3GOR!i4fCOcoq6dxkEJZC3=E$)GJzKMqcfL#5vi z4;tD$y3#&*|9A1!sy_9xo9DtcUh2vvGmSRVE7v0fJPwN)3UG|*#BmOZV7@|+Hb7-5 z+D5x8o#r>T1E1Z57kEUhO5noFSsna~min6O&!RL6xV+q1m4FMSDR}K)8<OfI43?G> zUGL%1IZj3K{f|V4((=D&upmzakYHV*kMAueT<J1=b3?+Y7FNko@XXjLxg7X{P7Yl? zE{QVih2gjgxFZ@a4|M|0`Y^?lJ-o<7`!jTr)M6r(kuM6uWp$Q;%xF>y%+@Mydnol} zsd_AtYm?+dCD|Y4{-K@Z5vB0ikkLJ*yHB%rCJFr0lM~b+(fdWd5OCB9qYMmoA^K?h zv_TW@{K{-_Ke#)U<_Bm1FNWE(HtwCed6$)3#$5b(EO}iqx(NYFv2;{${?Y9Wyh_F# z1D3J10gcyDs-VdZ-dH%)rmfov@rbbZ_~r#gg;tu@!@NQ=T<aVJHx%jI9|`omf>XL> zurt1kma{R|u@shlUnVA6wgt1uIRdBxD1>}ed2{&ZLRZIOSrO=ThSKA0t@<0wmlP|d zLp&;Wep4&D*X<w4$Esow*_0iTeP|19*~7n{c?TT=uV}dP*5aaEb;r+F8M4Icv_Ly| zE{ya^j1F9V(mw|EUQCOoat0afa>GjD4GuT>HjnxEv&Xc+kmm&f7T@Z$O8SN5i79xM zfjT8bRbruD^1XF!7{lF_Xt_%WT7n2yZ6T5<@e)%Bl!GoN8D*}BJCi1{wViv{Ss)Gw zFT;)x2n);{kGDp`RmOk<Y*bz40LthIUdqOldf)6*TuWtfVJ`IyQSebjYL>s1zpwO; z9E!QAk&q96l&l0jq86Y#5VgOOf3v$hHEmBKj3{XgX^zffm_$6!C3JU$3zWo)*cV(` zQ5`1enR!x5mKqIW9W~?Heg4TAigd*t<`?9~zKvKVs3Y^$j`SMZam1*KG?7}tFS+q0 z?m%Y!3UswN*!Sj2jx!%ilKTy<8bt~gk8r|a9Zw<~I8f{rC5eT3K_7AE09J(;cNNlb zfiOkZ*SV)6&d~3v1zU`EHN`%vJipUA(ml|^51`0x3SwCn3`LyR+z)&zcR!_Z*G)$% z@60erpW#aG&9(o2;50<R9)w?XSa*sL0+*z0jwnDq3MWv~Mcm$wAno_ZIc9dG`BkCn zGik2qTeYi8j4|#2znuIUcsaAv$f0AH*eJGiO&JDd7?muaig*yGwcznCoo%YQA!XO7 z)L|qqFJVyu2Bt&|Q^2U8fZWIr*FOQq_?mqR-XuO^2AvVdeiHIJrek_kg)$fdXr`-d z?T2H^Nns*v?6X{wVaM|Nj*{`#0k$Z>A}D($+holxQuPpaGNC2dj?&;KL$&?nvb93_ zx|sV-DEtZT9r==arh!>AKmIm*Vl=F~Buu3-&4Cqe^8T5dz_{VMQ#amo$=q=xMwd1Z z#J@OM{Lp%QEC3UiAE|$}&A+IHOB1M?GI_Vr`szm0zVmdsb;6zFeo*Ua$mlT(&6-j! zO4?(xEz;c^-=y0!e!{~(kK;2iGEs*aE=4S0Z$#1$OQ1?5BsW~`l<{EFpnKxtQf8r9 z?$0dPIFzttgGnB8MJ<jtl_LVLtc|GLaBDVaA7WPx)&CwU5{Y2C=?FFwP|E})g%3BL zDI<2u5!X_poGIvs;(@h2<6mNm<A|{jNi8EKO|jVJslJ0a5ElGkJlFQaQykqAXmEe? zX;2<?5Rsh*(;bC`N7FH29Mh@(t_$6OLBlS_rcopAm-gKdSNe8!qcW+7$3QLUX?`Be zC8ZWCmNkUxFC&<rUYW)PlzrMPMvd<4oS2@1?rK}CDfRd{ys^573+#a=b^S*sguU&6 zSkvG4JIPng+^86fwb`;t%Z46Eu3=q7@AHGU?v;u!&S4Sz!5JP`5TZ&lAm52t#MeBv z;!Uhb!K|P7Sr{+!=Mb!wETk{h^QuMmxhPt~5$NH(Axhh(Yp8QK{Fnp`XPP`3OZ!3% zPB~U^FCGV{r}Vw5`MNye+JuAake$MAJ0&u;$t-el6uJz#yfLm{%jf4<%I4xCw<qWf z3mtJpffFZL<xeQK>XZh^$i?ziPQuihj10DNS>o1Vv4ye<gF!dGlctU_>H1-bTy%^2 zp4h^OS&dKsTOy4J!|@%sc^ltpMTUYT{>*N<XaJkv!p#K7(qHkP%PW-`Y_nAzqe(Pn z&1*b0Ea-z+WT$w!)x(!Zk*6L0%08<!)bjUbT5UzCK+axO{rKM#?0}t%vAecYGWBZq zFY@L1$?tL?C&8sBCV2?Ht@+40hUBNPKV47}x>{NY^Z|EB4dB+*^XDYL;p<b<VX`ZJ zXsBpJ7nWR#gSn0y3t$+ks2wIV9`SO1=2ee+z^c$vi*xaT)VE$tMH3YJf&%5@n<e!W z$5pbXC~(?m-QcTrBBjXyK7gb=%Ivx$?HpJ;LWB=>Qz_?TM`Ovd$K!-VA1Bup@I!1w z)kS?Wb^kpCUiEQPC*Dxs=nHZMM}mNqx6LIRFCh-%nlO)+1n`cgmpN;XZim@pX{1VF z_PwxSMDJTf+|U!lf&@ci4ycPl*V=(e*gy4Tt-lr8p;0A%W1wO=z=KiBu{aBv1F>mB zFmVAOWmbnEf~Yp5N*{`uxIC!c3U4Tk8~paB8eTfDUp1>DgK-%o+n8tsV3~k7D!fdO z`5sd01^fjkvskpUF+Xlq_4W;3Z%fROLe@}~pj$50A4z!zSGo!%(M=A@$#{Zh9F1U4 z(xbR(OMI|h+SN&do-fpliY8YlmU#ycN9tI=Of*WT;KyMxh_pQdkYM}}P5LKUYIsE3 z1X1bPjf>=^=H!*MN9e;Ggu4Yox$|8pE)fY}PP=%5&Yp6OT`*k!{LK^ucB!Z^v<nUf z96^NRul_8_f~r9g$5tsUOr+{Bs(7_yUqq=TzlGAy;PG6v%12y7>~l%%CMH2dhcEYH zg3RG?0TG@Y%ZnG7!<uCT9~)5Plo`#d=CO#|xgfQx=SNJp3z!0FFS5plOhG6b1;6ea zzKM>C{qX$dpu-5qCOjC&AHqR@M|H1KH9FWIpz4jOi%9{lgqooeu64x34pL4QxPgIX zvsXk4k!3raJk39S>9w-X9H+xEv5C#2?DG`ZjW-)Eie6&7F9Tr9XqCAA!@T=d^&;bv zBX}Z06qerqxLMsjI^G|9RD0Obb`w`621|g?vSa|A0qmad7n9ow$UZp*+5)k6qGBom zCA;0(a`If*Bcbke^<C5R7nm3gPkda?<yg14N=d32?c8*r%wx^n9tSY@4c`r=F4t=f z3~ox5L&H=<StsnY4xr&y2sMp7iDtT95B+lm*9?3VqFUm$b2%FvH=l6CV0{Cqx;%NF zGnv3NxhsTwBDMohqrI;uA09o3w-D#PejtM5<&<$Lf)M3>B5?6e+4utX>&MlzVjO}L zW{gZ`P*M0gki)-wn*@y_(9@=~)l8CFeq}~9Qf9667K~+>m|pWOrNmpDB__QS+PenF zcDra@UO*|2HH;sOZFYA}uYIf^p{W(l&lRF36x?ow?NP0O7c_EUtL+J!ibs~p35pMw zErp+#kU-g^!aL!@mzZW2kMMKtKGL(#dom_wX4neMObq+Z3YOaeHrhs2h(}{$G<RHB zwrf0J5e0KJM#B?4f6QeD2F776BO$7$p$&=YWEdYc31{ozp6(i#q~aWf$Y1=IseWC} zYN`dVIYpt}bSpv$Ii*aN{fsf(U4sGTdS5HlPjt5U$|^MS7yMpzvdH3ZbuGnAlqTZ- zE*)9<Ahwm<-iyHrCt=s#%%=jdX9M@Ms=7gGhEZ84)foqIni|cVc0}K59r7%>RO#c( z)=2E_8$9I-xKj9FZxTyL3Gs5we39}USYE>;R(dEi{-mFECQvCfReBuA33)Y@g6N7y z$4)wzc3kxXFTVKxh)g5{wzUY!;VSA7aEz68nz+~MTE%?8vR6MJ_d=&621%v;*|tv8 zLv+_&sM*Vis~so|AxRv#0{NlyM-&$fK<l4wHNFQ5!PGXa_=<n=HUs^n0~m<Tb!D|X zAYM<+a6oV>S0exTa{J^aTL>sDO+Gn&2H$o_*t9HEhMtA*lC?RHNDfD%;ARj-52FXj zT^=;;thfe&mWKD0ne-@2On@L<W^_NV`oMrCK5sn5W-Li_Nyi|o9jK!DcFdU{QeS9V ze#rgXF`uK>?lOM{&-7qzYh$T6*dW**g>J6uXl1^9nw}@lz5YaG-yM9g4>fU)>%!FT zC6I;)iC6hpC$Cu&(*1Fu<20cS=9F@;T|Uc2A~Q-L3?W*T!Cq||+zPU$7R?nWo`@D? z>$W2Z5?4%bl0aDSMB(UaFrlL~V9oKOuoz@>2}7jZBNwDp+(<&Hn5xss@Q{QTmaO8H zUKB<s<^<0sC1si5+h^pBU4{4)oN9w7FK4}n)7Et=rRMau+vlY5uhgioU`yY!#O^l% z?htNFaZpqu(dt;g6KfDdAVx9p0BxQ#tt63>wqX*wXoou$Pmo7l!l+I3rzHtFPb7|; zB~#3@5%N$8r~bimHnEb7-Hgz|R2ZYwJzv~?Kd3L5FVKm3$tZaM*(aB(umkf{A-y9u zJP*$Mr#5PWHc=2m70PH?5@XwDL#`FQJR&qtbDK+ENmBr3jr8qLOQ5maLvjGxM1g0p zh_wkLmElCftG4)ogXCdyX(ldnz+*^(ATPqG`$Co2A9du?Aq=a#8#iHonVOw)VfVB7 z1U6Jjy^Jge8fGo66xXF>%rhCiQyXUZa=VOb{93TI#_kYTJCcNUc;zib<2oVkZy+D! zmS5sqf=78&_X8a0Y{w=7eFD)R4EoWEw|F*T{`LGw8qr`#ie)4jJKtG~_{+;U?mHb2 zE1B9tPW*5(HP<hvTs2{+DR;6!zx^|5zN_H7Abei4%(mAJWkuc4Sx*~Byy|2MShuyR zA*)pg>nU<!!@8yH(=rg~<B3c@t>2+TI{XHI(@p()RhRhDuZRSB+;BWITsSyw#sqN= zKydgaPc5>(6c?SBcLPdF3Elb$AXx+1o9CR`MmVy>lPEifqs37X;W1zf2Aa!aHqxRw zEXSy29R`F?94Ub5=8D9}k5QZ~a2){><*SNFQmY%lm;qMSMr!JTmm5?ILliP~*L?6O zZ<s{CESecf)UAHogAmnF-Vg>D7n+|b91-*^_=GD7s~kAK>Wl6Pt|@?F-G+rVv(b;c z%G@fw)qjL~b?K@=zwdxtxLEH~o$8{d3!{F;o{<4GJpE}#>h$gSy)v6m4lA@iSx&N1 zBH})uA(f5r_H6-}`bLN)R=?3CXwn`Pu1tU_lu8FBsM|X1%lSmH7LMQll~0K)`ik>- z4+PwBQ5$w_z^#NXgwTYA$?$KsIz!VjGgm=sQZI*yt&-?J^KO&?^fSgRu025C{3iP+ zp!`mApIFx?#rJ|uZbVx-a)kTPBHdm(rY@acubf^VZQWaB4D3FaNX>FSbNvs+*DJ;! zmi3=)-X9x;jJxEMZb0`3?ia4(f8%iJQ7h~_26#?s7fFP3w+-rY)V;UNzE?lQKAW9( zUY(;~w7v**TfgJo@4tFJYF4BEg+Q(8H8cR>>#wP<n>j1;H#*ng+WJIt3N(A+4|BJl zYqodWcg|V3?N0sMTURGa``6%~bkX_8#x0Z-Z>vK8!B5#O?LDi^!tdJ$F{}Ght;MI_ z9>$(kOK;w)`1C*Jf6y)N7mq=k>~1Hl&#DFwXEu4(nxxHV_Aaa6Uo(7>-$=JC@8yS~ zw_>KZ?Mmcc6<&#ZgVw>frg}adBi2t=Q;2If4Sbht_xc~~QMXdAEZ>~Wzq=ji-}nOz z-PKRCntD^^I&5Cn3`)k#g!FRVmp%wt=eG;}Xy1WpmwLnAkGLDnuLZqp2fWpd57Qnl zow*nE?|Q5wm22gByICu%cVYLmElItCjgLWRV6d$2^GPpeTeFQUulI!R(7Ap1`rC~k z<ii4a7dv}b!xkY?i?t%}cxe{5MZ?P*J&!Lm`L%AL4<UK?tW7zy9%GHy@6oKrJ_l(J zeU9QxxweLy-Xolk8E#J=opR4}^N7uHoC=3XJ;`!UnaAquSN|mYm^Z&~X1t$73vWJo zSX@dTFX26UcyArpox687_k;%jUmHF_H~cK3(xU^(Nq<jfir#<frNzg?((}BY%sj&~ zo{yc;q&bR;iwPHv-hTv~on5K&zbl2LEVI^DbO{eqBf~%YICWTDboq6>H@?o`wx8a- z`R^r$2KxwmHf{S~F`vW!z5V-FKcTTQ%~9q{OkTF(hTw%=b%~4H`yE4ZC6(s$iaNaF zc6AVIn9P<?oE!nh&GY^t=vwl_)2VygkZRT5iFcE9%Gor_WHsrcZ{D4uD%SEF);Fqs z&hh*CAJk_qN$U5LN-K%(<Nov`_S@GKXl=p~|A|?ZcxaX6;Q<H<uF9WZzMQbQhWKU! zE{6`D1prKRwpuIk@zb<f#<JWc_SP~jsjev0x<1az>{vXwSG9Gej({(;S=l_BK6=JW z-vK}#>XZxAgD1W;>j7#M_-ENfPKDI~;V&{WMq9@)`&QD5&RgHXI&yMUQ9G8Y8oLK; z1AEPtAJmU(&I+$}|C`_MIN3ur0JiQt%zm{=5AF{Q7R2MLe(?~{)oSlyzP#xnL-|j% zC)kbU=fmmgvoLL1GWNGk!AZ2T+o(s+45cr?tmNv7wRuYt4iA9<AZyKb6V$cLe;*P? zwurg)A+)*NVN-sct#L6)z2YU<F!&!FSx)_LMNZxRuMCVw_aCT2)gqv`D_#-=LX4Yc zNoyPZP|h5liGQfra@n75$~lL97-7MJNLC9N&tV(qkM_4$%K%{3{l&;tG9z&>Oe!zc ze$?nHdTxXq;A@whuyHx4_5=Se?idIl;<S7j4k@A`HYbzQgWjHXaIm0<`-`U;pRZ@Q z4LZjEg>j>PV2X=z6BGGyf2TfGBPQ0P{(NS29ub;^ep4N(_i>=`%+S*uZ?E~`)%vOJ zV@1AQ^LB6d`K3P~&?E{TK4SgTdDQIxpYIKpuB2K`I9m?~ii?pPUwjVqjPK54ePgnf z)>>gD=XoruLmvnY4td9La&o=5_IJJ48~9K6K8RUvFP8o*#s94n*667UdbTw5A3sZ5 z!_sJg$nEmeRy=$@6aP=UuuiYv*Kqxx_Pu(0EfKuChnh-tzpBPx&xTOf9b@pmd;!Rt z4gku%oP3Y!7aq^_Qgv32d${oUpJkW;&HNob5&`EWb&Gul=eZZX+aH;6-~YF)V6aZ- zqkB^0zK-6Oy)LfB@ZhD8xEBub%QoVf&iC{pC)YfEvyg2UXS1RT+paWLzOYh+zBeFb zx!!Owo?i`tf9#4$kQgrX=7xnJ!+R>>wBRX^A#_eFIE0Cuywcl#c?9}^pK{210iEp_ zFE-*j)&m;O7v2J$6%dAD6W%vWa)X{yIU;sj>A^ZfHQ+QSZz0`z*6lmtU(S&KBnIF- zY%~le{;mJMe?O-FvV*6=z^2W`{p%pdzpiO-?SpEb@|3f6??Mq%{noo{%;V6b{vhi& zahI0#s3CQzQ1x*MM0VS%Mbmti#?rG0qW8xu`S$zwcRE%-rn5Yh%RjXS$vkf-4|k<J zt`{T@I(h9vm+GGN54?g$xUJ74ir-7}KA6s)0WX{vL)lVs^Mn>e?gpcV!~Ns;9~YIO zF5~0g4cms@YkqzXNZv2=>m|yy2Bwl_1R+iz-b*bOtSC1Wm8UYEzf?~OMeQ3kj%d67 zooY3oxp*gakalHm4d(J0*m@<odASXfllzC@wUiBbDj;kVJbjkb{52%?mqyaXqOwt% z&6w9lRcQFh2y?03@^i6|FGYC4LW7gHa?efrY+li@%c{1GBmX&LZ%BhdKQ@l@D?U|f ztx#o!n#(0&KlscqOzt1vhb;pe3C3o|LilkWn=0fUTxsLl@Hat&c5WWK=oX|N-d?j~ zc`c>ib-s47q<h79oA*jLv<ohdcb^q~KnG{|z>MX-s3m<K*FGz==jB%EE?<5tA=6|W zKldCH_y6_wo&Rt?QQx9>2~nd&CsvIXf+Pe{qpxm>PDD$htr8_V!RjQ49#)Ueu1@r_ ztQtgHomJNI?C-vxzu<ZC%)9wq*EMI(_sp3yXXcu7=rV);+Hz^)JEe~<5Y*9{P!0K8 zTDh6fsqBYtR{z<<w)?k#8v_ND3`4%KjIoOHozG|{l(oH)SCC&{`e6|?G4L|tIgldY z(0ru$@r(<kZPH!JBip5ZMf1hHfug9(5Px-}QWFV-aHa9n>IIHdZzAxVqo|ox8DbnQ z*IW8AWq!G+9SGjrZ{9izn7IP?ZO$}BH7fPRGo9SGLj<hYjs|xI9yj(TZw0gO{t3P| z5O)-=4?Hf~g%?}BZaRhMVaxVIdoA7bPU=?jx1!KnjU*23{!=*!Mp4z&to;1^i(R#V zVjKkoI(S~^fG7JLj1$?jgeCR`b|x9yft4AUl_%kKKr1r8T|gtvpx)FzuYJ5AA-fTK zTO#c~Ty7vKT=6czrfTTsw(%K4G=|fC%$;VW`U-P6L!8$sF!;}6{n-lO%%Q%*7lp&; zV=ePa<q%Td@N`LMZ1i%XvBHgJmxhweZ$KQ??k-*p4xWI|yR7H64>$<BBI}eYcJ>AH zPFGsD<a3srv?(fT-D9pAo9C{Yv7wvV^__#+|E?e*e%}7EOQ^AW#(?v`Jp2)36;rMy zGNYdZ&i_5nS4rmIFpmaJ`OOhrmAM?G<mWjKx9lhjMRmB$if4Bh8;n^!YzVaCyw5M{ ze{g9U;1uvaz@{;>z4qF`sDCQ|R$%nBf+PEX`i|bdphds`*p_Fbgp;m`Xx8Zs>h<Ry z&J}ga*0OcvkAx@(J?jt!O97O#cb+xE3=`Y_(mZe>{?sp+PJFECa(-*c<N$}kEET5W zBMbHn6{lMf^`8BO`oM}}q_*XrSEWBPZt0Q!*xIj--6xhm!m**qG4u%CTTtLCdW2YQ z(W<iS!%S^Tao&0++SWb)^W?N=&a&+KpLoUbNLt#HrbLjg+T_lRSd<h`Du~V6H~S*^ z(UXE5P=L+#PGXgz=z{gNx3%w{Z2i&L+Hpsj#s$C9lohH?=|W8r$51gUnVb6Rqb<Tw zbkrr#?_?^Qfuf^a_2><SjCGq+W}#Z=N{7o%9%Iu{mvM@)#!QILK28eFw5N6k8>dw$ zg*2b<jtPt@Cg*LVxGdYc9y!MjAdj_BociA}NoT{#A7^tJ<qrNRn_WF_bV)j6&vF>a zvPN=T0_@n{8}!n2Y)9moe+X%ERCFC{Q(!(m{Lu&X*v4tTPWBeE%~=-L!@m{z)E;s? z8;9(0W35$pmy9mP-X!BQxUPo=eiM3})n8dB0+0&HL3c?$W=NEa{GrsOAm(b;Fljnv zHA8u7q}NHD!h{<p^1;VEuDd(2GUp1Ioo?p4OMnng=;{M9_u&qyA0qB|I0<wo2rl}N zhJK~0w|*Jw;dlfZy<$kU0q3F@Z@W&L;j8ocPcOy(L+|zegu>ma*e#G_VeE3_HIY!q zrMUmSR~^YrjbCUQ&KsmQ#_L>2g)Wa8rAlWD9Gxqky>rtGwjmStR@T{1`?EQDym->J zi~1Ku?<k{GiO1MPfIQV53P9taBv`ctXL|bk^tDr57+vDVnF=K`z-d7tKX<f}h4=lh zp@{$||7xv1?%9r+<1UWue{)d`cprjrti&r+*gCW9wmG}_9gxNkKkbjjni|$#%qL8( zKV5!!JD<<u_czIdCsO#Ojm}lhH0ypHIUyherrcO^UCtk-8z5(*+C&{nQ?^&~{L>u! z=VggLC5<r*`w3>Kf}<5af_-(~3&veb@y^&kyNqkvZcq?=-;?CQ8A(M(M)Am8OC4wO zKsejqv5&LhJhljg?W<RR(TV?CNlJo3YkG0c!WU+oy~I6DO8WYLmmo_2TTy-mgY_}c z(b7^o{AcI?TSah1#tZZD@VvkK-^zb<Fh`@nb#sa<<JY(T)c*!&M0hqHrPaZ$#|3|r zlU=FuO2~5le=IAd1AOHz0Ru{Z^DnoMH;$M&A(W}Q`oNbo%gcv26>!d%b-rP|>kXzk z?L>Tk_3HMT?<1yDI&GOjyPadC`%?54BYkIJxwE%x5+qCV6Z>ZG7}$4$G-a<qz4KkZ z73O;%uv(0`enCB}n{=0|6siHRyZQw<O<rd}gR)Ez&f$0L!@%42bg!NP4U_#f*~IB% z0$JdlkedEjcCQ3v1$Oe=ppxcK)xt|*5wG(_WH+w$Y@o}xhR~Vvg@rKno#=Iv4{!T% zr&<<`-*L~(fyHNxmGGF?%MTWNPO{B*%`CG+(;U{!q$K0-f@i+?mPD`eK~@%PZ$CZ{ z5BiR7xF-GY#Yg5t5+T0^=Ox2bp`T7>aR16qfx~Jxahw1X^7{cO<wz!>_i{Kqf_E6u zrDhso5VnxRT@wWX1)SA)kO*6J2)AP%?%a}SI2Si~f`u;rIIzC9Q8R1|meO(?XyW^{ zeAa$TCS8rai)BO2AR51U>IY@l@Ka2?|M%I9SLGuW+gT$&CgQjWV+~(HqvNEl(#hTv zkGAJwUMDUU3~ye2xU#3#FV-Rn2mY~3WVHo!hO*YAffB`Z1U3rK+K21&*B@W*6LT6< zci536Y_9lSjY^=paN>X!GMx^yZRq5B>bvi~i45Hpy^jO@7ld2-r*#5v&cornVYBTm zg>B2vJ71%%eC5ysI1~@-QBBv!Bj3I+C-{ilCMaTFs(*_|G=gZ6oOpJxE9r(i-H+tn z`!*9yPFFO&JMl5%#Ey{gQ)ELJAWE7z2{!>_oVmll99B*z07TaOl(xE!W5V3k)}E39 z5y|XyvJY`xm`QhWhe}B3c(Lvj*`y9mN7qH>uYVVw4$<C#wUT?e4b<E`5~1gsD*ojq z<G|_rNH%Qn{h{Jv_k-VA(Ht@IVvpfHvutGtD#A;wxYiodA(H<#b{`ZOj1hajD0_On zeaae6MNnQ9Sd}3WOZ5yAY)26r|MQTL<VpR0M)i#!wXKjF%jKG$?`yZIZ7Rc)EAIO- zn=9|;+qE1)bAJ5yg77PdU#>gK3dAmcD3K!irBfvvA+L`buDJ;S2nH0vV|H4#E2pYO zx!MPpQPtnyqfaW&>EfqlPMG^8AT*#d4to$?=ysV~VSk8Dq?0UmGj`~%XtcY0iaD84 ztYGmt(=Iq+6K=-We67-bo6$N_9`U=?x&z7@DWv7UkZJ%LqurwURQj_I*O;xKqhq=W zGB|s~x{>3sX+%k6?<M8qM8{}(`eF1+aG-Mp)={I6Fol>jIeBcCqCUCm>n7Yh&l2qN z!cSUG=P-d=cpJN~DTE4!7q$EG6dRTJXFap11}aW(&hzt!Y)tZgm}M~T18$uSGcs;y z8545C6sLqMsVRiUeHn*=isAMxEi@59B|+LVcW#|vqKJKR(<bUnywP&<`FG<hPJd!H z;im6p4(Cfuw5tMr9pimi_%4Nj2;wOhEAdg7M0(f#0fJO|%dwh3+2QinCizuR$HS@O zFRgth_0VC6WueZ)?t^8-wB6PC*Qo<#P&L!{&-K(53Ys@k05>i%!lXK3rW8y~V~JEy zf<2(~Z>_h`VpIfuq6k=R9AgBiWN(5J*aHZ*CBZIpTeoC5jjFB(bXqN!L?}RlzP)@} zZq2XxJat^BI0{<$Bpyiag7=l&2GDt1>u7wy9~q>Z^#SY8U~EAt<ZY}~nZmCDt_ggh zxfec#8Kzw!dduSlsb+yMEb|Vy>X?&DB7bzphvB{+tzAg}m=7KVcvj~GzNSF3**s{x z?nx&dV%bCh!Ta{QN;B4?hZC@6qbQ=;-f9qt&Z+EGTEqRm5M`Rn=xG>oG<pHHgwr)m z5$%X`c00tyqbPv&7|d3eb8{(Vcu+kbXG~6h0Mdw;1{llX<dR(jCUwvy>@Rr}wpNll zK5+t~`Lof9S@l62zoNf4p2=J=z;|OV+=$-ZXfPOm&#&q|nq;0QY|IvaU^6mSfA1bu zBhxStTw^a$z8{bP@`ZX=V?aookll2!6ou<EZ;f;z$M0Q#%Rl;fqONOh{%UT&-jUwO z1GxFmIRSfw1LK(>efzR4vTX6eSx&@V>ZPtd1~oTwnqTf#T-jzDqwI+Cl283e86Yvw zwg*4mN}c@mt!M64`3VG1{ET_T^GTOMI+Fmbb|%+?>`-N6FcgWV!dG{%s<UbLmn0qV zI#Xu~0fL+DUoE3BF(8tLp=3EXSk+PD80}r462ojG!y%0p!KIvb_W9_7`tVC(Ivg)~ zytA4ZOTS<SW1KSd3pCfhk);U899>S?5DdC_<BPCL(2*v=lNO8doDys9fnHX<Rp8m^ z=sk6)gAG+Mims5n`y8anFx&T!H5Npsmsozbw}z!q;HZYi4DmUOhni8&-?Iv13b6G! z5m!k^mo*u+;;_b8Wbp?^MYJy;UNCZ$LmjJtwbLfzAC2_KWHt{E`vFxeK^hQXh#8FY zhJ;ZKzld&gaJg<q21i(hj^NwE;X`=dVcm1=TMAd%;=-vt{V+bIzn40?(j}MeTBz!L zCs4c@Ob#!#nx=7et&l$1f@vy&leZ>r6Dy*&X+&%`ZVsG3Tq$<MP+*-X0=5DXX%X0l z?cFtOY0P<wEyCp~FK=P`_9MiLEAvCke59foYLYDv%p+-cl_`+Z!pz!bRS8#o(s%9< zjOiAyJpRI-Z8gWfW{0qjl?lwIM{iZs?ax(Iws_=kt$e&=N^EJlQHurzclcXTPoK|t z1O+u?vw|^KCzZGDY-$u0zkOe*3%?CB`dY76@7hL}+WSR3UGG`k<`xibLzTuPj9M=! zFS)Yz!^$~+89m$Z4eB|qT~6qH&RPfUQK&l`*ozlUf!)@Y%^~+a_}zn&+<XnL`;W2> zK1Q8aMz(g&c4EzzuUfA^4USzkx2Xo*qzuA7DpnBA^*`ny+p6c!_$(Bi`8`~wK#Z`a z?c%50Oz5b59LPhY-0nv5&8Q+<qxBsEyv$ISJ-6wI&d80Bl7%h6(Ck0bBIs?nmg+_K zmPE6SZ*u?vi^0{^MrxaGd)5Z>x88S~Z>`toHoPauUjvbK0ALz*p3kOffMk{tn`v8? zBt+au08-Ny#e3ed^PLEAR}j%&MfNv$7G*Gn%#l`fSK??Wntlh0*yR-pYM@N`FuAkQ zRGxZ*+$=7QN)5hC{G+LeoJKX}Wn4eItJ*nhQa0XgSw5>}S4!Qor-B6ER0srE1#czm zG>{^n-+K^Z{qmStHrIdIoNey!V%EcdoREv=o;WfD#EZs`GC<)3E`xy&7I$RBI+kvO z5wqu8=sSK>&n-E?$e1a=BVI%ZdA9X-r2y(vZ|$wOL05kEPi*s(rRoK+?!MzKQmGE6 zAwq$jWfwX>Miz8NI%;bzuRvk(5|d=Bv{^Rg?;T5=TECy!8i~5Q0_^-mhr=NBu3F4_ zk4+JWQ82|nQtWAawnj9)==U}5Xh@U#1@tS(bx1WK9rUYKnE`D=wA!;)FR;*AE0LFg zcd>QS3ciTVGjreCLTBtBpM$cE(-&vZW1YoC-n$b!UGil2a->YfjiI+QN-472WYV;R z4c34|-{?=-Y%Y1LyvDvAx~WeU)s5G*^>k0IH%gQT)i#6w$yF}h`Llu=c4x1y#zX0p z?%D)V)iYu5H7-|_?(`EAuU#b~u>D5Hh{G%x*o4j~yXqF5_^0jm>EIr{tL+J8kMYM| z8|zX<<nP{4JJ0Vb4<-J*%zHG9G5g5!P((%Y=x|0nVk!4fCjGKe(9LLk3j5MmA6N%f z^X_>C|E5rUm*jituKe8H;q1fYiTV-@?C6WA%;nWweE1Pla*H)~8Fj`ezhStOuHpN* z&=bnq&D2QLfIx~8%l2ix-A!pAKEWpmrR*`pt(-iE-!;?4d6~~2yD-CtDsn9KtD(GG z_4xqQS3OTA3$q#U92S~weq%l}o?<IF<*a!IVbMl|sWdGBAFhx}3=EC8KZ=s=L7;oG zwhe1#;%}Q{xMe@n2v^z&o50g!H?e>Q6Z3^5rZ>`odgr_9lY*KJP<~So%_jj=ruw%t z_FO;(Q{zDA<fpp@*iOYC-erKjahLG>_Js`&O^N_@M-!7}7<+9*P-gygoU~&!oxtMv zx2Rj_D@;2N&&vkEF|@aj-2FEZ;ZGTd15Ej93Sx8#^eB<TazurfC%b|6pp|#=<Abm; zzQx`wS;y##^F_ldo;YgW*fTE-y(e55lpWUij;;qv<>pCY-mPQ_VN!Q_xI1A>_z=dt zFPIjW@_c&6D=K2&!9)sDbMt%iMGv`G&_x)b86vxV_AT1yj?c9uD}qfNMXUL|SZm4M ziqRKQ9(SkFX>X4)isd_~Jz(Gk$o5);aVc!}$uX9KTRsu)n|To4+bh4@F<){XQU!X~ zN^F~<9Dn}{1y0cxo<nYm%h4yRPt8sAapKV%mW1cNBlN;We>)uSDfpiF2L|y<s9%>b z1$Ma3sq<@V7EO(@-2|Jvl>7ugy}k#2@BYadqhPL84<+%A4lc97MWb1{{gAN-WfCYg zyKWl$TST!@_2~Y5nJs!Gq%RCrlPn#*Spw)4e=A_GHxA2VK&)vSkH|1firXS6GZ27- zUo-an6cwL{YS`?a+eHUY_;{tI?f*g7IYiL>;&|*qdAIFUT2WcQ1an!)!)HKSJKNBY ziA=o#A801}aJ{2zA~sK<7W+Yy5zg|Kg`Vk&gUiFJWSQvApog}JF8A%CW!i75E3&b# zqd^{zHQP*)xR8I<UrV-3D;UL5tw6fDB{|_bBowY~)Jbsj;XHaTUsltNq49GY37mG_ zJM(I#wGrM&`#4UiXVvy8md&8=T_f~Aj`$gEshXFklnS3{#?cW;<gCx-@ZJUmCk53( zOQ@6sTl#1_z5R1H%}V4@oblAzQ#n2hDEpd<W)Tc>fQx_dSy}OSQ%>u!2<)cg5|&%Y zO=NsF9jcQ*`-^*=w`3HSFwAS5&Z45LD0j&HnUwBTNZ--E?NxLHqTx0*JJB!NgJrE} z=lu3B&iz=V`jBk2H&bigfB$!X@!UPb?m1Av;qKVo{?S9xVDnq65FKxLfb;3qreDx6 z>-@Wa7?AymtSWT%siwyLnjhOQZ248Eir=N!vHAd%oabrto$UJCO}-T;NFDE%Uk}uJ z%YB-p&e`YleJ&rFp22o}-FNXv&cf&XgO`kGO?#)dxo+M1FcxZ;ueaNtBFQb(XF$-) zKAdRjFZ_*cC0it&2}bj+BAgFRx=x7ad6;|EdGc!M^+vJF3n3!g=$7PYA<bh)D1Jgq zCLToE*wGa3(sQy7aWanIC40EX&JXQei9;}J-VEy3^{gy8gVdH(Qvk!d#t@dXXN908 zuf?v~uhXd2H=6HsZLd5v+XQ{%X|?=4PC>o#`)>?>%f8>l7$YVNKJgorfBdJ+2MGxR z2uqHO<UVGUoALg9TPK$O8W;}*mqzT%81X+*<*Ny(hn`fe()(WAI&N9y=C<24jtU@4 zNe#Xx2ByN8=vH%BWgo_VoH*dCu9yCchvBqk9{wbpm=5ZuYAd;d{(R4+wg(-VJEAY1 z6L0aCZHn_mk0cI7^S-33_^N6F1nRK#NI(uPUNIXdNhL2$VY0fwj--3#g4TBaxq6qw zAz1D{TyDR&O(mgZXj&JGvarnJ#}8sR`-RmAx-1#cdH>)#tDzAQQffCsK;Rzk)bjW- zMG2bKl%Ut&lCsVS!TNZyf$kp{gyVNkT@UFeiLHZ<+MdI;5E}L(5*v^ws~VS9hHumE zgg!kLKH+#z$S)N=aR`TA$c#@@Mfrsk2g8?^b2qlflIhh9aB@23xXJR`D3qF(arSfK zy$pK#r}MC#YjwZAlP?rddT~^2_1_oQ7wNplL5>eGM#6v>owPN*!0BpP1C?LO9~Z(& z1%INZ|A&G}NSb}n&y|vvEE)`%>0j^|$GXoqJ((*Falq5cd-}=B9=xSe0o_4>kHJN- zRIbrSQ8QmRNtAPFM=Uuu5t1SJ=Xvc-OvaOzUkqz>P8t9J0rrW~!J=<(Ks;NB2+AeG zMO`v^e90>x&uJ#Rt7RgfX&FtQ%RDtMu5HEax4L>LTYR?enQIR;^*I+y!|O-Ya*j>8 z?N_8&<>=uAS6%M^$YDgIs!ND{S*8$V3H%q1AYY<A?)V^5hDMU|iqPYsaMsa5HZAwb z37uuA9K|E;yqdrj`%cjEk_p(_7eRD9R8;c?hQWzNS&Fk<#h)YD3-e0X7rt%}G~L~O zu%V*u{BDptlXm#Rx`jN_Q_eT!yBQ~XIY|dM{kto#Un_TnMHp4vNsi2;3O2)iYjJmv zM{cEz{f&4nI)GrCK0&{)m=;BUU2!)KEpU#?P}jNjAPhft15eR(nEIX|k9hF!v-(^< z5{(`PiY@m3kz63StCrhh4UD>QkjPjHG6gOWBoIg~j8)UYhhVT49bckX(a996mZUMw z3$99TAR_}H&e0PPr!-+5z!dKO%>>uNtoXVdD!GBn5@5{a_4Nw%b20=OuND6r!!UY0 z4N@88PeN=>7_crGtfN|0&gMct4AdEZ?{rVfvCx-N;4R1P4!Kae3i&mA8{OUUPkMAd zshXitY1;K;$lFvkIpQ+17vrz_<SUZ_37Z&U_ed_h?a8>6`P(+k#$&XW<?9Ur$Zy7U zosQ?@(U>pE1{UHklH~dHFM4v1`nl8saQO?oqX?LWTNl@?P7Dc;RxQ}X1rl>C4;0^w ziY#rHUW^}4iB?qK5v+ptpUC8I3yjm=3D)qG$B#;41XCiU){!NF8DluN>#u%gLV<&Z zKzqT5Q|E<T%b;%-EI@DpLe+prwY7Forz3;u$O+{Jc{>>{RTaS^)ZE=3JZlbQTHC33 zDHoz&D2ChdW6^k336qUXAIgyA#IwO=i(gkp^mR%*)+gA<tPGQ`RFF!l$a3jZcmC=l z->-2{VHW4y1JuCH!`B&yTOkDNgbc<eWVWqy8+5)e4e;@wKKsVY@c53gg#O}m<ys() z6-X;a<z;JV7S1KNNpO=vsxt~J8<pM?`8;pyCv%jqmX8l6d8CkukD<HyLydBz?|^rG zB<#iB$!H03NQL)=$bOhvFb7hgNxHdw>nXT%&q^cGj`0IQxaq6Mj|NKQ0P<Cp8YsDj z|9Lb^n3=V1YU`xm8XV7d#dE7G9CktVPx#wU!lpwQ<Fo@CDjK^$uupkTiRZ?AZr*$+ z4XM#0E78e}U?X_)aJ6UM>iY5yq<Ae$IO(tBZuqDDj^w2TyE_t6Ade5lT_&}+dIK=o zxoi^#^)f)*%fx~V!(D4EMCe)O9;}H>siRW`Hn0LgMx~cS6ZcT~dbtCyejThSg<7z% z=VHm|cTIWYAX;<>q^z6s|GHo-VusMCzpcJ^o%Ngy(0Zq0MfQuC&_U;c=N$ZLT_}Y~ zWAdiM4AM{4cQ0w<63CM&<SF+0%tI$lSEwbAwo7ZM8P<E+O4#occ^|@xd%VnE9luf~ z2$6>KEyhwkK&tUOFq8N^)B$vrPil<@nY`~Ks|nqhmDQo+l%lLtnBX`b{8A_}(KXND zP^6+&8&dGKFBQmcE*JZ3{y`yuAuu>BOUqk0!5kQB_$SE7`)fq!0b$@Ymwtv>2^;af zQy7$ody$i*O6;0<7fr}WQ~HgDO_dj-22m&rSI$<=4O_H-!(neb@zn`m)Eswb#+Pgs z16QFO`SJCqJsrQRU`o|rT98PYtK&AUhGFEd=_)1%N))$F(V0;ZRIrBi1{~}BK%tH3 z>;*R^?q`8;Q0k|f4k+}{utMb>Ro;^;Frbp@t%10D^#TAtC0)&0Y@Pp4bKmgD>E4Jo z=e8lt3u@$6=*kaKONaAH{?kKU!LGx37+V@p|GFp^k1+z2&oGs0&P9|lnC7mi4yAui zs@lYZ*M{7xQ%dGQwh=nCJ`AL)M3WO!5@KzL*VJ=jZf$JQa^L7Ogt=8ujGX<)&_v}y zZYTfh;fy>;XJ|lZw*gZWoYp_=OAeCT{l_*S!H2g3C+?bEqLGbZCgGa=q~J5kY0HRj z`nsM$v*}?~0H4~{ASqtN`4eow#wXbJlY7*?cG7LQ<i(Q;=0Fs;wK*_Tr`N$`UhDBs z!f&yl5&+&eLY@JaGLMwnW51(PAb4HVRXCX%Z@Q;^exhDl-!7N8FOVObx2>4tz#6;w z03I{*xd)G!<HEy(&xBkHQ|~8BPIE5_=SuLstiETO?Jt`Zci7iAxWHFhg-<P8heJK5 z4leREyV4HQpXp!M(=GyeV0oiRth%=JK9YAyFDlnX{e<kUC96Vt8%bheicr0MC5{ph zu=}i`C8o&TRVYu}WkQ%h`mUH;fkpElck!ZNW8%m;S)G&+g^(J!q$Vz~iNCqfs_;nW z!D*?|t#$5pSs!&#v>kAWP_T8Pt28nh8X{*FPyFQwjkienOPRrfOzVE6b~LYuyF>2% z9#y*K=Iy4B@>Ap$T*hgJ7|S@R@uZhu)Ejp0GCF>`l5#`&<fv|c2QO9cuC@yPtmkX+ z+As+Brj6>xlQ#G&o<owO6&moUmNeC7KOp9+x2DIwfY0>@v9@(N>vA5eLCyM=)mm*7 zAB~*siESy5vEcPl@FVr~VrD2^T)pV*vc`U}#68l?!`Eew6Vp@vtf{nq_$mq_Zz`*v zs<S0=LspKwCK3zDU64rR!}tgFZpySkC*#fENY5nuT9NP0<GTe~<O}C-*hrj3cy=y* zrnL(tl=LFt9zD#k;=)t|0}fiD=Vrp688g=Tfq%s_3i*b9_n%~2Ha?IWqIyE6`sM|L zOMUT>{GTVw`>dsAX{sv(+db~i94nr9T{g*OpY38Cl)Y>YTHw?|CNO=kMG50&qUWaP zhl4O$ZW`h~2-^ENIL01eviT-A@|UU5HX-_%PGb147YJ56?D6OzF7Td-wiHK<O9A;# zsi-h{cP;RDT@R~%)+L`417z%3s}kj?yoxoCkF)CQfe`DOn~&+nkbBFZk}`zFEH_Xa zq3sQ@kMm@5FkkM6Rq3mUX&u6E=~Z<r#=I+PI^u@nLesVj-io?%iG0XP?A=$i?B?Yp zYTl_tN&uW!(Lj+K-1(4s%lO;e2t3gTm&nL|nfl<cJF?U3@*mO<Q;I$%-BB=u%8vuv zGJh^xeI+72dY$IHYF&8mS>H7|sSZprDZ;2H$ctK*Gvjsfv$`Y@#|Bf)jd8mA%aKnk zAW+)YfbA~YDbGY$X@p6AuOvmD)qByp^5q<0B_RA)B(W79+jmB?44$rM+A3%Jb=pj2 z#oc1}IOtcrd4AKG*%3$SFIXl=M_N#A<^Fe$#rIg<FzzhGQ%3I%Lj#F69oHravGRi` zPRLpTpll$SOK(`hKxv1>6qq}~x_xS^lMXk}T@R#gaL32UMQSIg@QKfeF{FrbNK3P{ zETT+5$*{@>+Ftzu%!E`#W1jWr0`NfU1dwb<1bO5g72-!fL-{3H`e8EQpxxy#lR-6+ zt-xp6eq;wfxe34RchhWT4TDW!O%~B{YeDqKpu4<EeZf44vjfKFD@$G|8X*q}zT-Xb z1pZTgKC6ZYL>&>361`Y@t9l_uU3kIDB!96aURl(06Mjf0sA%idPZ}@S#OGa?|4L<e z+F-hO4~yHC9K*YR5EQi|&|X1OEigOhGcxi>Ya+LW3$oHP=~N#dZXY-Cl3zyrGmu}J zf2J%sJAh!|Nhr768Y(fv<cBtX<U3Z^VNNS@=D<yL?=^K!T8UGdglMp-I``5DYq-PH z!Pw^Cw!icmo$>PCrM7=aJYyVHJGXU^`LE;J1!l~=MUOS;JZ!@x?%Uf<hLO-WGxK)y zy{PQy2LNhvgDp5Afqw)Or<2EH-xF_`Wce@ivYqZ(B1N@QQU_bvM<Zijy(7QveJrZd z$TI8!a_+L(yJDp`CBlduJo@or+=y}}K3UI%>>ik$ci1ORIZ%hLq)hnMX+;P*cdw5G zVxRnswIS)j3!QJ1J$i69KUuL!Z8p8$gat`YU9s{kX<n{q&4h9N`=bwVjgz$t-fw;~ z^W?s?+m*(r;qJv}#ph?2X4AhV{l*UskxBp0g@pS~sU|$8ay~Cr8V^_Ayw*{vdSw&# Fe*nJD<#_-A diff --git a/docs/img/1f5aad8fb69a4afb74547a2d31fcbc66.png b/docs/img/1f5aad8fb69a4afb74547a2d31fcbc66.png deleted file mode 100644 index 63e4c57fb16ba58aabfb259048f48b282b116075..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 242543 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%0AZH zSiO#jPId6_8^I%BOBd6{l?9M9Cn?zC5ksU#KgJVx$j}}5u-o()-y-&b!*Ix0$=00d zhvX4adJX?xzdHIs7w@i#O<$teaMV-DL^AZ^?@G#JE!^}D;_hzNsEOV-_TQy7zTfjR zMPQ2*zOf0fMG9!erFLY!YLCJJ70ZASKwztjb=y|JBEl|km8<TQJ*~!Myn6F0>o1{= zKc_=;d7}RDm*FoncBz4{i63c2-Znt@t_1r@u>F^tk0I~uzj^t`*<Ij5<0g9<;fY=B zX#JszJhrmc;FAN<J|madBF?fcGz~UUu4KU$E_^w%$0gABGlWw`S(s32+wRHMV<)Zv z6qo0^>*n@>=jPNTWn5&I-->MeFf^0$iUwqFv6;k$FvX!fo|cylv-z9Z!;y1T*jn@^ zUSW3+N^2X`1#K+W(9f|=S|@vQ(v7LF`$iksg^-GujVx`>qGA8IMK9lVOl(^Hc=P+u z*SUj74<c-BhdB(?Oq5|tUce6%#5@v@T&y?}nuYm2yJGr;M8$z7iJ^bew{t!ZIX~zV zQg~{I+T-++%5q*aed?vkt&e#(^8C8I0c+==@(BC`<Xdx<qUJgjlI5PO5{v$@FS<>v zh^btz4ctL<>@=ZS_=lOC(Ooj%Cwgjrh^mIWk`x@jw;Pf5eOv1cj}@As-BX+!L<FPq zhz>T&slq@&K(TosR&fp*16{v$!?F~ZX=HC>s{{W5MAOj<Xq(^q8Um5|uAo0}!8{KE z?=C(FURL~PZ1%_VC>Oq9l-@-*(xUq&eHUA1Q9l@z>ZeoKO)#@ovfMV)fQeJ_;n(Xu z{s%Cia}Vg!Cl580s{HM7UoAjw5QXD#;lna!QRDtO`xPRv)WQyENiVL0jCc0KHy4Pq zyEBOE?Z>bt2d;Jywd;$pJ`Td!k{;ox%7TTCQSv>mtq_&hJF>z|df=Cg8sK)>3>-9o zdL)6$f>89WmLgr`=pyi0R|X=#!*F_u90|n{+lnWxKdw7D&A$KeTAcocSg#e{y6<W2 zc7ou5JF{W;IzRmfIN^i@gdm<~a=f%zLH0%Z?dJE&>HEO8B<!AuybFd4{|9NtY$a+r zZCUOo%a3cA@4|?qtImdT2kSI5OwR)?z<I*T*OzY42sK9H-)(Pb+KlA+(C3#ICf2In zZQahL|2$|s_%di}(0J+~)I7Oa|1@*mY2>7@zi2xtE_aMNj88D0`??vOu+}Fzm}`;G zgg_hP30kG<QqocM&84{~H;H@vvY$LHYByI9br@8ei1ixuv$uQzq>o9yq5cW!VRJ&9 zL_28GH?VzLY2;yR>(J5YZd}9C^K)+Vgw#aL{<91}hWisNh^um3pNsu*BemC~pY1-{ z9kdn?l+Vj+c9~b)Co{Lyl1cD=<E$|_0zq;bymAH%<NYn0;JQP4-(em6SWuKgOG0hY zn`^_|f!ik%jy_G7#fXYXNQZB2uoLAm+@bl~2f6O)14<cTt*BzxBC&afjl_#=;AF}t z>M<JgrkF`Z4c%K1@{_grU_A5iq(v93f?dooyI+|CF57eR?cKOd>1DwBL!(T~UX9&8 zBNUF3Jz<yz*`Zq8%XCS!m|ENKO0&0{j>GqKakC8m{k1J`{w%HS+?BASnTDFg%QbY* zx1W{_a@S2c^I#338KEM0reBfl(#ibpHK}#WxUQ*rJPgP>?d!O(tUsSKF*^p$2P!)u z7yIWdT|iJnjzgQ0%Jm#kxZh!yI`j9p)-uwi3%SzqSD5sf@Mj6Ws|Wll@uk_;J|Y^v zesCw)b;n`|<({=0vB%jWemM5ja(PWm%g5RZKJ;89@-W|T()nsrnGItT3tp$2{q=yI zy4lL%@8dAzXA`<ywr|J3;pQAfTu4|B?ElztfIdLHmQG5|sk>en8JWR!LfHHp?bSH+ zQ^xD%&n-Kh4XEMGb6=f>W9564#XpORW;|ZG7j}fLk56A>saM%O=mnB}0CqZ*ax>%^ zj^-dB4p2^qFx(N+szOh&83sH=J6M3M0rWm)9;MAmASKuULHsQMi@)KYU}-7fhyb2z zW#0coX2uDz-@DeF&RXN~&TV0=hp<0n!U+FFnQ&{K65haXvkbsQUrms=`FLV#ges*0 z*{QM6B-<mxo|n@W8Yt@GyKkifYVgOc?Hp5OtRfYh<&M_D*2%Yu6y5c~H01l-mX^Xz znAqnqEpb6cn_8V}bZ1yA6#Hdk;g-i{$)h-VUy`n*Y{S5}C<yYQ`_j3(ISWkV#yrlj z63~LGZBK(7kW#p9r<7745X8Qcg+l6eWWOnEu5P=<uT-NSNC>8WuPPPhl%Rb8MeFED z1Dgl0(8Z>%hL$<HVhC~R=D+U5?KZEs7UX~b&vR{ytFURDBPf$pye=IoyBl2)K$$qG zc7s47o|>wdr_*w|hSq+#Ke|!lX}!Gq$$%3c6vqJ^d1sMZ14bWKES}(CLK^T{&Bb|} zJNKt9GC^`u0hzELZ2c(!JX(Gen%Jcj-4Bg{uM~zN^euPO9m^+l`S3pPnV%2TXep>+ zQMSf(^w6|<);aDzDv<IiK8X4?)6)2gF@B!a98S~`VH}LBAGEY^y=Ilqcy+r7ZU7dq zRlXd!X-?pHVe}k&piejVWzhUK)7E>ItFuaH3hx*6M5k))Yh@RGL>V!iV*{&;EI>kv z<j+r(G2tS$vXaGib928w`uH1-@$4LIVqlzVpY;&nlQhd&cK8fWz72UAuL)Xq=B4|g z)&j-T1t$?Iakquh?-S&Rx?N?rDjR{8%SyIZJeGa-KV2s_7}eru?DJy$&DNQl{|FWP z4A9l{4|$k)Qd29^R>!00-{q_hW1;K9^&t5)OB=#{J-kW?6k_)MU5>9B)D=XlY1V<B zW}BrpCA+%CXFX^~t)^tJ!gDoA_=?%Nqpmiwvd?UbC2^GdZf1d2MmyQ(Yh)2aG{R9` zm(7sw%errakYX{yj2|YB07Lw!9P#p-9KH}N4FfNN11^irO0F`^uohyq1A;TG6QE-v z@09{x=@;biCGdyrb2u5X?DzquAjTH10=6mGm{cbxV;0sn;R~hxx%IRM6DVnn;l3EE z>|O~ktS?$|m+~rX67|Bwu`Uj9bp@Gc&~5mwj3~kJXvSY^T=s?Xv-rF|>&!0<cIM;( zE|~ZuKM&}!NIyW$j2U_6?gEMe=7?IJlI`O<z%5^aef>>n3UPJ4ZS{-IEi4!i$tm_= zMOdSW6F7>Z0p*gcce{!)O1!?>D)8sv=WmP8CmDp+`OX;B1&(4e{t8g)%34#gD#qfU zi<KY30$z@J^d8Lr({)59@#PT31?0*jV%uM4xHkC{Gl&i*YVI3cHL(5EW>Wm_{Ubn> zm;I4)US=gkdkr~f(`7=SEL^*AW^&W?Y=V9q#tyk2-NvzTw~qSc1tKbs)Wsm+98`%> zX(a@W^cmOE8kYxY3AP+E7GF81^BSoE1rTEQdqYj1ldOgL*misBNQQ;qHzkV9`+~;} ziYm(#F3jae;|Bj415)?>vD8eqATJ-{wQ;w;6R3kA#((u=+gV5t{$ncZw^GVKO8U8> zcd3S`VZFV6_7l0w_=Phv2lNP4%ReDyU5%)-{ln}jl%#U?^H+|f{|d=r!J~BC$_l0P z;&0!B@xo5>`?7nt2NNI8O`lKL^EqA^>hRq)lN`HQf^VRlL4+G~t5#E~xH*sD?i;mf za`WU>eD-N{Lk*!$xY=YV$teb9E45=?zPnWvC&>v^)bax*sd!ewwGImCP%e9lGCVy{ z6r6&!1j2ddJWihRoS5zZ^%)i*UP4SixY0gHed>pu1O1hyoU__%&sDzwW?AHs_NTD& zgke7v4A>6Z=*Ba)QY4jJp9ir~2jtM!hQc!4uULc9FJQH8J`?Y|V}LiW*ML9a%;}-Z zY}Le}^R&oB9W-CIbC=5v7~1)tK~GcMi)>sZ$w6Q8J5i5!+bMW(#Ug?ty{>U%Amlks zG63MW0Z$blHmgeWEzJT1>@*fE89s?AdUo$fcJS63Jm1Lxi06F*7x7i(u>KNeTltHz zk2&ZaqJ~FtfM$9{dE{+F{_VJ}A_p`xFLzVXIchmk2xF;>v6p5lxe@T)-pv=+l;>Go z;e%E#rZCTcsK*vHVqZGe$x;m?!?M9+d-e{@a^{Cw`eCX%!%nZR<pRRc<Z6Xs_)#Az zKSY4=8QCrkSS{F8S`xbYrxojxj&}vFI%i4O9A+`XS!RkQxjqd~=Jze93iDbhFtS%@ z!w`B6VpqZO_A~MF|8lAAZ|E(}ArFf5f5=2ArYyUQXi%RvrAG`WsETO?=!pcu)#evq zsd_tukVjGCP!c+r3No#fm-<euz0*%O*4@G_hg_#OIoM$350=CQ+j*O7M5^mXJgC}z zc7uLIf5OXpd7%N@(y5p3F=!Pgw}OX^NDNbA>`*q<!l+JD8|?Rwr}dCB`9z!McVVTB z^UG+<zXTEZ@)0TMOw+@F=J0h*mOJ8gx8-kyw>Sd)-}AmpFxkh5dALAaWaP$zlC1W~ zt0eMM@&!-soqw<N`uFvu*&?+9B}D$<#(G9Qb64wQ05@0&+Z=}bs5FS}d3aj)1<X3c z=>877ix35eTsXwOsm4%gc-)j6QOtcEx-#TY%Lp6VH-NjM57DPgFTKV?R#eL9(Ai!5 zWf!rY_f3VRZ6q5`j_=J#YP(II(25@Oe6iF?8Kymi&fN0L+Y|JLi<~ylP<bNz@Bs-< z3wez_R@2<3*KlBbHQ<iQ1!yczS7~}etJWptv@$%CGeM+!%j0RFj#8ln!y1>RmuqJc zfGD2LfJmnsk63eLQ<fw}U;c|^lH%-cw9Ykjvi)6f#M^>Rml){?^&FAeY}RR#?IrY4 zG9y-~6*WC7-LldoPMAxh;s;f?6q7epi=+@FYkM~aHT*o^n(u#x?a~LbR}IMDrBsoP z$8Tj_+z}+tLK8liBL~<QUlr^5@V%!^S?~cC4PRYlrr(s3Tz=%o)NzQs4kCmh(h$84 z<`#Hcq9=r!-G?m>D=_RJTYY)6MEVJiLqwKRkT>=NDbKEp%fml~K#K5J$J^8dihn`3 zI(iVAE-;hX$}l5JC?hE9#5x99I}TpYj>IA*$YLT`LDnJocA_hp4C5g2*L@eSg*A<T zo@w~D>1Y%O>^rtupJmXGCBC*_*Os+Jd0I{sLcBKX3co-1v!w>brX?`j%4qHN4>~8D zYR1RHP!!b1?Jl5NdQ>Z0hpHi6?Xzerj+kF!TeY9@;hBM3aPViGAeV0eXSD*sR~JHz zgCM4X{6ln74yEPkL-h6A`QcNV-u=b}9NmZ~iHoq^au2}>#tSu*Z(sOFs<QAm>N>FE zdyqa0+t`mY8kK9AoHO9hRcm0o6DYXDwBgB;$Fo@iG(N~Mg8I+{AQL&A5(4n#?AqkF z*%>}2a`V~k9~1FtRyHm#vKx)dU+{UduV^=Kitf3JK2lBV<*CvrHs{VJ;oN>S?><^b zr4{IqxxNPicV%9&1cWDBiAR|o-W}nZ(NXlbgdEo63B>qw{&>F%WH)awB(1OG%QfT) zJAAS7uvGFl#>6?iZ)KQ`%BW+#{}`3=Rcy1lol3E4&z*Ws6?sT&9}Lm{$K7!g>qX(G zb7qlLO#bHl(KZAS!I1l%(i2V(ZY>r)GPo*}S%gjND3`2Gyvg#ebsnbl^gcWk!@NHH z4hLNQfBnYxvpZ7RUe#3zR>G&ujBz=>_vgVilIOULXW%Ya!A)RjA}*7_<1wG65bgS` z*;Mm;!|7>uqEhV#^+<S^ThAwA-|SDRki~P6IfkJ#Srwg^d}H2;84GZp_{ZL8C%<r; zG{t7k5z5%#>8jgOTH}z<?BJ6Uq;O>7>^T}OJf*75pg5oG@k|6J`+#4B%z9ENBWhhG zN7kCBKK(l<GI)T!fhaG7F11fe7<-)Z`iwb)0R&)pg-YrNL4<oau=#M-boG>@?i<wq ze#0KN9BeD)F>RBZbB*=E5ddH_D;(Hw^-j>ckTLJ}DG*ngJ-DmeNQPz=D$MrcDD{2Y z&R(@8W0}*ks|`|eAC7|x!X2!+9q%Cd_%y8|ozRN_rhA%56HBm0DwL;0`h1y&w=lIZ zPvq}4A^7;@b%9&XtE9fT<1;uC4Qq<Vj1pYM%_=kQa~vLZScob@;WVIf$kE<>7@T7c z1(VzQ`=u2^P7$zoVE*9SZFoWsStB6eb@jxm{c-x8>z~%e1?2d{7>-&rWLh<_rDgP4 zHiO2vEw{J(%`xa&YWEOmlfQDlo+UgvOwk<&x9=v%y7}4<1md1rc3qyYqc#h3b3vlo zc=-DQJk6V`^ES4iX#^&Xu6GWBK;jR*%WdYRFl=OH52>-<4!FRvQ{b(*&5n<aIKQ#4 zGvKu#Neau#)m5(Udsi+0b2&0!J@xm=^$IhQDhi8rfQf}u2~G4A)OlqjA(WO1B))$v z$^bmI_||xm9Q1MbG6bLZR)%<~ZgKqZuM2BgHm3Te8Tt~+lIXxmUQK*<-FnK{7L6t! z6VVi7X|6KWmnh9lNSNQDq2^0k(L7)Q#4`J%tihoCT<c6Td4`HF9>#`?o-|K00ec>+ zFVbv=i_ouGmKU^|vMWt1RDoTs?*2G)_)CPiexk1l?YTT8IRVIGtlYT6Fp7<F)I&ds zY<WTpa6|ZkMre0K5qlL_2r9yEXea><6=liANYvEGNiMPxR#`@bp<)<F_gt-;R6s25 z__BB^f+1<`@U7VKf<{nWuG~elOk@K&rxyLqPP)SMY01;K=RF%kTJG10VVs|RDC%4q zW)2i_b2X8t(6E_|b56ae0wJN=vLFw&$diO02Z22{>8p@r`t0ieE)OmhM6KckK-g|z zOld14m})e>8Xx}b-VzC}zEO@wrlcE=IEbO5WY2@>r8LcR3_Y%n#;d?@J{k!`X$l2E zqs#<Q2H-+}I3n$={m49R*H;;D&G{rnk0S4pz=LXkX&fp}(9y;E;?vz9YY(&&eYCP! z<Qg_=R>$uIK?@4^xp!Zk42|oW-&**3Ynb9Gfue6O5a_$~LbP<l#CvEF^RM<w<it#w z6wu8{TAPT*Q-Vr#kS2pHLK0M@?>lJo?J>TT;jra)oe+JVInh7VHsU3FW-1f121jFG z;|F)OIQ-Q`*a>^2H=1IH@?3&+T#7Q-52!D8>Tq1=K9LODTiECoP?<Du;TwOwtHu;M zDo`>zbhMhO!-rPsQt?G1Y=yW0g)ETsR|KUhc2*{7jYy~)e~l0-UcdLF<h6t7LtGq- zg4cfBfxXw6Qob*Ac1uC#Or@Cb*uWy=k!?+>a57a(QQ{+$?(#rUv$TgGF)mPVd?MqR z9m#P(K2%iKXP>vR#b8-;kiP44O_D?BaF>gGx9Rt}br+oB@b`7seZR3}n%77SMab~U zY+64s#RA{9FA(6UyqB6uLMxgC9wlSMHZfwKSy#9vX;iuaj+A)`rwJ`3sydb{=&@KQ z#z;b4Q`Hr!v1>_KdQ6Leu)YL_#bagO(Hm)+k(4>|aevaQf@<j{dz23zjhN{jYVnC1 z^uOrCRwt@hG*<*%@?zL42vH5odSuU4J@}(pCG+4?RE%N5#WA>ukA6OHe6OChVNfQ+ zEX}1ylcofeq_&>BtKU#;DIKX2hTCvA^m~@ex{PE#g`}f`^j|#fQypEdQ|OE<$RuGy z<!@T+e&1Jy{9S#8aD-zPqY7=hYv=dSfNM9ZgSa7XA<=?DFTTb-EsZ29kagvE%j=3Q za*W_WxAK@Q5tR#Nfrc5qU=Tyu@`I-Sj1&sll`X<(5u{ZBoe&}@x}0le$SrtW?9C-h zF3nC3FC<feTDj648Hv#VB<Ueu<oCOfJgOZU>uobMp9xLu5NN!Zd=9mQcu<3;tMsOH z?*si@q7rvT6G<u2z-&Z}co!Lc^jrN-(|2IKx5`x(;-aq})hxWDSURKAPzdLbf8hCI z>ssv>ie<#K_n&ppH7iqi`dOKe^9}>jR0IXtvZ~Nj4a2QnmLa$0!13U;HsS#KtrI1> z6@Tem^GDJpSPk)mW<>^Qs1uW4$BN=`;itXXeVBm^(EKksuSU1Xiwu(j?6fG!0lZ%; z>9Og(V!;j%(yIV<zMuj3OxU%@@k+6))1uYuZIz5diO*j<;?O(ndhkZ)=R2IFtJp&? z@RLmK=Fz$WS)0yS?k5^A&Z60MqTu*~`ipOp;i_r+jNi(29rx4)MxT?jyR@A<hqT5i z&f)$uO>t6tk?nL{D)|ND`#`CD!va%>3dAqP;^JfgT%46L?`KR%ZwkH3obr9Dj6B~$ ztMS<bC!F(H{urcrOCgz0q>}(qUYsOV0sd0L{T(?mbE(`X)gF&z!OB2nDWj9lJPs93 z_hhiLK#SV{Rc#ie>v+Rr7+c6y=IF3X{>JAereERhFuRk%KbIpf_eg1O2bK!1^=Uc` z<Dq{EQufo=JkFs!DX4Q>eOvERTBRr$k&QZ|#rPAX$x=K&87sz|ZK}n&pilqtZzu}5 zPq(mOk0^@6Zn>)^77+~0K@`zeVGxR#@7ZCDmH!?Lz4SI<9fBWYLdWh=u2^`9W?d+! zE$T6c)}unhkC>P3Eb^(*QHyq%R%Kljk)cw+{9YCf?~eS6%(~8+OjPl^yF+fr<8?I? z2a+z*7_HGKUb9USlI<xy)o*kBEQTl6N14Gu)RPjt4b=X0Z27**W~(ab6=<;RmWftz zptL_M_{l3?4>p9%!GX5^F`A7jqvo{j_#LEwAD{vGRddO7moK<UqX(l(2t+~kSM#!; z!M_QC@iAP@cB=^Sjiys1r{>DN(6NBuD@-7M--pD;l~|h$zw0=Ihy2asSeIfEt6CBm zEpm0e@pBI0CW9>-6I~;&Pa)NnmWcu;LG%6>^gU009pvcEfy_=N=8uFX$u=+_Od77q z-r_7-#@$ttw8;{a4{l~h8)^!KknJ;P^rgIuyl=JYX&e_&8Gm1R_1U7hQ&XYN*278_ z$GWZe;++1A`7@6?o{4kpAc(T4P^<^N>O;Bnj^<v>C-~w8E1$m)S)2tZBuv**U#vKQ zD4tKiy{{dGr9peMg$>%}G2<o`|FQ<+`=D)TiDWBp;HqKN8ToysPK(GYApnbO-fbnj zbI<xGJ)Bv42dT4>n%S?a)NxFu`qhAKn3&pfS1(y&|4!s%6l#bI(U<p<gXGdf+C-s| ziF|&c@yugg*=bQHb#Oep!8BXWGCj(nufm)l`se`wNcOM?{N9cK!LE!{X(^3?;R&hl z!Ywxa1<5w=1UTHA5q8PJiqBI(Ui6ycqOqYG5j_02WdeH!`==xtZTPjc>6`H(>ebAT zlL$AMb4a#or7+_6Az+d}+`uPpI9s7m;dP?3-qCvM${FW9eEh}NK9sgkO#5A8k>_Y7 zWf3uUD@j%qNuR09snjkUQ3idYhJf_g1WJ50%!N6d4?bi1|EcRepyBGizj28kK|%yU zL=U19y(E(8Bm~ieAbJ@w7^6fIk!T@$8KOle>KMHZMi*t6(TzU3!6@%|p6~Dbd*A<B zf6Kb-F3#QO>~qgKcb|Pe`?FQ-yAtz5{%Uy0+Vd+_IGS$#{yqQRwA7>~_~R+l=`)2C zGJ`3-;hW#bgh>i{4np|N?SH{YWirBOE<JO*wx!5R!J&zjjw-CfYb0UXqMHnE)T>^< z-u(H)ul+BSH6sZOAoE$>`?>mst2>#$Wd8>}&ylQ>rxPT^A((}GM3dAQ^H;)q;_)A= zX8#^Be=f(IB92d6M5ov^%lg-}NPhmiug%lfvv9tf;lHI%XccL@1mewel~i;bYrZ`w zuPr~Temzm|xmFhpjtniwsaY4b5wc{AB2!xeK<y1FM?^<&e9}fn`N}`(tcWEtLUly) z+v;z9Sbe4($znqEVC{N&DXS+M{~mhNGfFy0ONlF9%HDDwAKGnHx!O!qPxTqz|1X~F zk}?_gqyCXIUHn?9VL+<xi3QEUi)}|Sr&8}12b_YSw6+b2xW0x)uxe)RC!QGnn)bS1 zJZJDN7PH%F#F~O(;-+@baoHrt#8R{w?Q(2oA0P9h7h=x$p|HCw>lq0b2g%Q5bB<mL zC0N#=o~}fB*?MdUvEE=wZe_@^bX1p=e+zRlwHBXp)!M{THl1^rVKaMa#NVw3n166q zD+3;wlFcV)UvL)vGJmd71vCnCxmhut{-F>k{$`IB4cgY$35fjR3{BmA`~I)(I!d}$ zSD%o9$!ZK*IYFT+&-;?37bGv&${wkeHbN4R8+<P?b|8i|VnS76ZZq?l9@1yY`0<_T z$3%~r7$|qlU~m&`on-&Prq1EJpRK!LHlrnoA~BiDC!P@}^B+$<yFWeVy(1@79|B8c zM3?vZ`=@!9<K2HiRVA>cwjojPu<+IN3SG@7qRb9)8=PSUWHN3v2Qwdfl~1gHZOBlr zPO{%g>3k`!ktMGf7MEH=tHdF=;~3Vx_4;7kX4Bwzd{2O%cUfQQ$rIPN>Oa4nVn04J znlG|u@%j&RfmXDHw8s*(o@(K_Rjv~DbcZzA=lZR%2Y%a;dt>*HTofq1i&@Kl)!wyZ z+0yp1cdXQ9S@&q`;`}>0t$J_%PgxaRkiVJ&M+O5@)UrJ)vkv`BNF`?9?kTU?W+?8P z5$>aQDIwj#&?ignzYH}y2^v3}Z&@lv)~aTVTp&*Fy_J3A#r0yKv5;l=`ggqBNK>)* zhVZ?+9(nXD4K_h@^gA~k18e5Jy!4OS9GCrB!3D+V#$k7D)sqxN^1Hw0{Rm(5YAt2( zu|MqL2tPFZ1$sMQ`_CE9Xfi0zs0)AyKm3rGJf&m*a>+K%iLuMr9qipqU$oo!hU6wm zCz0a)a!vsJ4BBchiOjY-Mm3(j3t(KW#J(NH3lX1#sh!9sqgIwd<Zi{xp|Gr5!pH?$ zpm*YuN8)W1@mrPr*P0gP?t0acg72P>v!jxedc?@TSKjXCsO!=wpcz-F>mtt?_Ry8r zP^V9BG|rnA{=Hd})g+y17vUT)F!6bE?KBG{&mFa=)jggq-{VW{vS(D)s`fKRzsNE< zw~L}~@KOh?M|<5;`3hP{2%vDT1wIq8&0DbZcy&CaMoyhhKcIbBDgE-g8;YXhT>8SU za_27J+FN8Gw}oY8as!Lq+hlna7uG@78wW5C(TnH03LnJ2$B~5MP%KrpKI#oj5?}%J zSDurvTr2s+sh0GqHc-Ud7n>sNcS)+uK3UpP8LN*hRO=;`K%=>Zz;l))rXyvaZJtj2 ziKBz3@;-S+Z0lrRp6W@PF=s2)^5O%tw$c{(c~`97BIIGuvnCx50e{k8dXCGQi<+ZD zpl@+zb9GW4>AYlnQu;dK_5Ozzq3@Xqp_39oN$u;q<&An-5?jT+p6c|7thDe}Ff4B3 zN8wE;j@IT$6-BQ1Gozn#6<6aeT;CE8D8l&`4duJzcEKtb-CE+0NpWPE#rzP~2If_y zFB8n26Ldh_6WQQ&ydAh6qA;i;k@!*p$``T~nM;Uj9qDC{b7E)%ZYk#5=g)CzLn$e% zXj%;LDDLgM2tq6!`b|?Ei1!;E+XOw;-yR*-tPK&GCYP~=m|R^Xxtr-r5$dYSe2(jK zUX_UNqVv;yZQ~32{e1~vYNEVZhE7X#iLOo%spha=o&yGX6O>H0DU?sc#1FrShuvQ- z)rA#q_Ike-fJCiOmoX->InB1UZl%5@epzNfak+~U$6XuP-X<^w<3v5&cMgu)nV<R3 zFPn6`D>sBB?HrsiqkXJqnSN$O1zD>;VF+lgi{kIx_Mz0RV+1k+Qq`wGCiNK&11Vu8 zGQdp9;@SYW*rIoH!t5^vJ`4RZ5VAiLkNmUe`eOY)ZIgC=V#>5kUD`tfn!iDOlD8?a zAeYZBy-shw`b=nzn>Zh3>8r7KDc&2`DV{Gi{UA0$^NL;f|;ZNlj05-;NJKfDPn zD6O6O$qb&nfzF}5A?NTRa3;SbeMp06ES;l59(wmV@j-q<L@iuM4N(J6$Y5EC;y`W- z0iwHlFUS61<EA?WZ%#k{(BDR8XC(xW9#)!=-a=Yh2l|8>z{Wfr8}`WV!*zd#P*(W* z9h6WuUcBe@gS?~0gg@P$<e4%1Z6^-rtH@BOyZ(nnPN1%91a1iw`7|RujVJm;Ygqkc zG5)*CTtlAHdi%M*j8pZ~p!Hws(p*Gj?P#�U=%CHkT8dS5?t1n2+DVpQoun7Qs!? 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 diff --git a/docs/img/1fa927abbc0d78f64822dcc6c7295cd4.png b/docs/img/1fa927abbc0d78f64822dcc6c7295cd4.png deleted file mode 100644 index 24e40e88cf63bf2152f36909290c10f60ae11a63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24299 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%0D*+n!r?d(=|{^kXmDEBUNCx^-bnLRiB+ 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 Xu<RK~BXOf%Po$@9`~<D(67#<RWw2{q diff --git a/docs/img/1fdfdef058a3092e25352089de97fee6.png b/docs/img/1fdfdef058a3092e25352089de97fee6.png deleted file mode 100644 index e563a48ba8807d6a3b872b60b833431c4a69183e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14046 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 KWSO{e;Qs<O-Ni!y diff --git a/docs/img/1ff79a3af1496b3e864efbcf5f93307f.png b/docs/img/1ff79a3af1496b3e864efbcf5f93307f.png deleted file mode 100644 index 1a3328be136ea9a5efa06ec40b5b9f7487670f6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9958 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 M$g0XzOPhxL7leCZHvj+t diff --git a/docs/img/2066156f84e498acec96cdfb63d2d2a4.png b/docs/img/2066156f84e498acec96cdfb63d2d2a4.png deleted file mode 100644 index b0d6880f84cfc93dbc3f20ccca3cff9bc5d4dfee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52004 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 diff --git a/docs/img/206da14c2b9fd76390be58e7103b69c7.png b/docs/img/206da14c2b9fd76390be58e7103b69c7.png deleted file mode 100644 index e30751e1271dc1d5034b2e3616cf9d01d6dc9e2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51562 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 NEUzwCCi5ofe*sY)`IG<v diff --git a/docs/img/20bba5f798131b98df30aaa9202ccfd5.png b/docs/img/20bba5f798131b98df30aaa9202ccfd5.png deleted file mode 100644 index 301a5727e4a0e90cff67804c3529a083600661cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21587 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�B`w8Wqt;0$KZn2VDwFz!pRP6532j5t1W7m*BmT|SInirsjq zeAhA(kTPiJc(fV!2oOaZik=RwZ)(6(yO(0G>?&~fl_PVspn~Yj!?u+NgG0;NH0AQj z_FEU1kvVA1!??eMd4is=rocatq;6d$c@F)5Xb=v^^j73U%Xf>sxu#X8hT-Rau9rL~ zQM^LmJ69q1ye8AFLKP#l7kpfkQ6rCKU*k^gPNSZ8JY^l}i^hIBxnr^9_D28tXS+vj zF#GeGR-1%MHL^u$qx<<Sg!5~yMsuYi_4X>a9@5Jm^L;sci)ui&|E!&6Hhr=(yrZbg z1(rn%-2#(f_HGe~#tbPB;aR?O{NxI5`MEtJCp%uaL@QyX@04cgYz=tAqH-1$<6SS1 zM^KKTd$+>I6-~_!R}JcoR*9S6g7^Yar~IYIsUSvEDzFN>KV_@o#nCV9C0y!3>9;TY zNn&$uv;H8gGI_tI+!h<3m!Mu{@5|B0_IlvNg`O%%CfvSRo$F_CGkXi{gP`~}U$ypv zlPUyPHa1av{5}<*k%V&8sEdnfOmHtcXXY=_MZ!Ne>0xs?y2CxIQJNp4&9b4^IbV)8 z$drx9^T>K8kXIePudbTaEg&UA7fujc!p(eDuo|p4qcmlmo$dwEYG^ui&QBB$Oxm#5 z#+ofio}uJ)y!0@Kk-ZsqDW~4orgV5KVl~V#1lYyhj_c=#>)bIH@<fm-;o$%-_3IZr z(dVgfBu2fA8DxZCD>oO?z60sHBL3a-kZb^4Oi=hg<TN_2{P=iu(eCkpz1%X(tS<v9 zNk7J8Qv*EM!6x{XW_7XrtogIGvfVCG%0=tW4vvSVYnSgBS@<NSxTHOS5_U%Tcj?jq zwSkvtz17m#@T8|QagNL9zg0gXtA&jBp&$MjJslnL9(lTI8)uTH%&~CL>W;{Fh&stE zTu3&29)PZWS3iWA-uXpp^5HqmkCn5AO;B|1U`mO+|BtH={0Stn^!J6{!FpNKH5+;a zuY)w{8DD}@OQ~qC(RON}*uS`KLu2yefN?!rgX{ZLoxLzM%newqQ}^hNJ9UY=BYKxb z!~hwE>s~&S=3Uoc2Os>-u;(^&%9Yr&D>l8*x>DYIM&ZMfjpX^8%fEG0)PI-7Sv~-- zPYWfG#A}OGx?~~`D@xDIlzNZvR!eUupzm%WC)TduK&M()wXKkYrvxwdWeLp`sk@9c z@9AZ>T#tu}YK1$mKehM3CCTF9u~>drlKhd02Rl@dt|c?!T_B?b`Fwl5ez(Z6Y@^&4 z={8xtdfmvFc<Ad)K@8%@Hw1J;prl>nF?yEx1#OJyUw?NdzVxQ`B4T}&f$u_L)S{gs zp94lF8<O|NhdQSn!}P3LCH<gs^S;CcSxja@(X`#?otG)abLx9{SE|ov4G)cnd>&|u zhb|OtA1~*Jl_pwji{e7axmQ(!&GFE)?6oe>l_|+@XxfxsMvM%eUeuXnHH%qmzIRP# zKxbKGhsUXv07G{ILJ{6_mo9Oc{6ryJ?Imm@qDVq3f^>&-s=sT$p~t_l$Osg0UIIIS zv;a36E_0g;p=;_O@jj>bUH-?FbN81Z)IZ1mYw7Rz4~$XYB2nu4&nqB`ntuYHmlgo} z|AT*c=sA7wdE+$bFs8VQ`_e}ui*<s=n(b7vdXPy`yAFIsZ)%N~P>x6Jq2N<!EK&6( zdEh@yt^Wm|cpOqmYq?Co5v$GA+$nbHLrYc0GN8=pgzI2}Z{{)#*#1>Ws8paz26Qju zfI1oVUu6oYl}Spv5XdvoRrc)eXVN<_F<uCqC*lJi2@;ufLk>7iQo#9Ypj(Wp3pLji zD3|pMP;%~Xo<HbDV)E#nyiX1|V((tbwf|ioQW=crmnh`FOK-knNEb$y&z*Ld?O<#w TLmvhzp^MyHyqs@4?Ti0EtyeRD diff --git a/docs/img/210e34a4dbdbe21aba5083c6f7dac9cb.png b/docs/img/210e34a4dbdbe21aba5083c6f7dac9cb.png deleted file mode 100644 index fb70dec5262560a26b923cd4a597ed6ffe73c1af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31160 zcmb@tc{E#X6ffM?+liuTYAHIQMNn#}v5KmiY91m~%~OaerqEVfQ_)f}hSof*F^LFX zf|8=<l8_og2{AQ-2%q=6>;8A|THjsYJ%60D)?VlA^9=iW_HXa~d*YuP>#?&6u%0?~ zie3Myj@hYG=TWCl{p0fw%ZX&S#{zWnkbQ1wp?iFMytue1BO{ac`Ljte2;JKDFr@3n zix(FzT)24gA}cE^8ynlDOPAQ$**Q2kI5|20c){{coeI;|*U_>FonB`er4d@T+Bvxk zWgE^G-)%sArQY+UUG63nrH=Vk#?~eyAEv7~q>$V3e#cLsEO(yj@9sJEWN!r{7Cz~` zzHxRg=800ah3QFa{{LK&=d78sYSkAvC7P02PD{ss`QFd`a$K3P`w!}R*Lu{|cfCO@ z_8(D9&cc8=!QXG($b-ypVQA<N{AuYYM5^9Amr_S}9DyOCB2%h+TDm9T81*7db|!@% zNszIo=%rsD+i17R>e*@2xf-?Cc^c2GZf4Z=3SD3A=<Vg1nV|8LYYjCW5tWpPHvheJ z9EkZegHbmxZItZT-1l1c(w<&Crbhf|r&ou#X<&qpc4<5uhDUIXE7LR|6DReF`Ia(p z!Ay8`Z`I+ad1*lfjl&L4v}{)Zi&}T%VI7?DtmJ2<(l(uoy3a4Zaf{mZuh^0e_|<={ z)ZZ`c#>(<?P-FzidR#adzi>zaIE8%9Ba$lOffBh#)y~zNbPOsL>28Y0pf1v8UZPJ& zeH*Io!Yy>K7oK&jq=rC-36|+lOnM@JW*`0*$cK*=F#7ztv}RSZ6mkNZ-(O=kHJn2h zYak{|n$Km_5jCaXk%w1GJyoK1R?<AC<J;9hIj8)P!JsG0VRyNZ?|7wi9&6Rk1lK+x z{+p4%i<cgG6W&Nnw7B{^JrQ&8x{~PVjGmmrR|67tDFS&dWk=P9B!0Ig{`KiB3LsT! zUV0%aQ4tj~sxv$gV6f>sK<6;Tw|f~M?RoAOEF5u6yVl9|t5rA#`@$J2KvhD|a@%qs z<@1XfIATiq$~!PTB5|3${YT^Bd85Ae)lM$c<ybc>^(w*BJ!k#prwYbBxw^3)Y`jd} z?VbQV@u=aF#_t_lo?lsB+flc7yys5YP|bT7TLw;UcA7o{feh0b55M`NZ#>IWYkPMR zfNt~jqbF?fFO<LpX)ombgqBwSV6aAwUdyC}n;SYd#m?@0sOWr+MtdvmDU{(|LLT;P zX488Xh_rm=+Sn^*&A>c;vs?G`xf158nkpZ?<DV+?2tm;ra;*(GcJ95SK5^#Neki)% zA)O|6cwF{q-x@T;RLpVF^K`%q1YcA4WQ!^n8whaBs;mMwXKBywpcPudZ<=G3&+h&0 zlcKY~7mO0k$8<fN%oOO6pz58+i$tr_3xabB`3y`w>{#UeA~Mzfl-UVg0C(TfyE$|K z2PSqaHLe9$x?PjyNa=SwAIdvlqY}7TSAD-Y=@xbK_%?BUwK4#om?@ck=g{d|+*S?a zP87n0vFj<1;9yPPPUN1ScnPfBG~$7(Pr0;peBQVobqzn0W$zbr<;_|)KoJmaXm!#H z-V!^)io|%!MYtY>B+A{&A(2<ILRSPLG+NHB*$_WrivEOsy0vxZTZhaYs#<7B=DF&& zYLfftww?{OHW{uL=0~aF6R$?qk`ZFXRYn%;35>5Bf!=kxVpI!8gp|@@>ge{9d{>w_ zCk^&-HI!rrwq74E+#Poi+VpB2enbpiAYjxZ2M{*X7k9PAs6PS{yX>c3Z|D<`s!-== z?!c2#GdD$BKRdS03;wo@#{_40EhL>C;!EqtvcG?Dmnelq%?B=1_8*H>#_W^l#(VqG ze&|>`?&Fqp%}Q*&XSdLgwV963p^Jg%cf85;HgT|lCcEnb<K@~+jxq--JM7`1-RO46 zO#<U<7-1pFT%N9>i>Il4crmQ$DTOry0v}={ofq1UD!y%xisRYZ6XwA|ggDi!v_8w` z#dI7XBS`2VkaF1hNq=~2DELb#u=i;sbN4*Rg?00BB(-M~>>Uv_H`P1iBmkpA)Tdgj zmo=Wcw_mO{k=VlX)4bew_8v$^7opC3!kz)>md$FGZeQzGzM)wc7tL%876L`a3`B$n zuzoI>M13jFNXllV5k5u*Ir{e*A10PYjHGH^4zg_L>@TY@g)O@nN1?dSW9<yv=O%jY zS?UHcKCXf7mciCl{EGiby%bm}@<_9Bb1Rty;bG>bk&SfE8?ugAANUjs{7=+Pi1k!! zxN1DzLNdmwrc<PW*s|hJp)e{oV;Oa=_x7a)w?<$spBa)PCeGmLq@MPIF~67Zr$Nq1 zg&dZ|t!G9cLh_W?I>^+BsKS67u_VU(5ng{WgsT?UojJS(R~;CrT*ndaz$}KkN)DuT z@uG2jQo9JLcO+|?g(B!YlEA(yaSsSMT1b}IT3a!@4JsMwbF=6rZeu1|2<mBLd;O8& z_0a@-<$Bg+tvp~JiD1(oRrbV_3sxY^02zL~smC65FCT;6c2;frpwQ5N<eyPM_Io4t zh76}|yqMv?CCu*^^Q|wVzkRjh+npY<#BTR_>1<a?%wk}UYoSOu^j<r)xT&aq)R4Ya zAuG)m;}~S8QN<P!P<Sp3lCO)Ws6sF?;u<vPx+V>;fIMk|{e-`xje9;0fm1cl+~+l1 zlEa44h1&80RVh+**fNc=`*bu^9VzT{vQ4(XC4)=JmY0zrQ9d_9YF?@o-ALVby?Z%o zV@w9RAX^v}?OfSs6h1v^uPpbycK-uB#4HGhH5#Sr2I7l@C`Dzz=*;PCLWOS%xZ!Ub zI(GVXF?jFYiG78W$|~1qqYO2WwqV<%kkvqZ<Kb-XHs;054&hrQ2)tjmqy5USUhs|> z8C1L<$b$qnYHAiKJv#g;BB7z6q%(kTTc5eHmCa+Z=ZXUrdo~rNlHxDIA5BNFXJvSy zk=#>vhXd{})8{i7U9hXCbOr}DxFWk}Omw{%pl7maqrco`2Jg@MWn&wb9i<qVEvFsI z$>7IJ;d9@Om<|)@N+<Occ*JU@;1)WDp`P0K6MZ#6Uu!bAS<L=ue5Lf%=G*x}t8&r% zzV(v^8nLukkb3ox08UYmkrY(@VoJ_4?ul8|f#*3v;I6l*|L{OoJx$_UXu~<IcNZhn zGSdf<FeDU+A1|Ciy-xSELbo4P$es#)?->@7BRaKb<%e_`4(MZM%TObk4z;Y3F82)2 zfCDUT6ieOhIQ&12Zf9C(%yw6O_DVbS2s72^0c5T~EdRVCdX;rmR^01sy#Cv)lw3pS zzBS;;MBK0rt<{$@^2cI#AefP)lja23%@VKG?MM`td0jDx5OJmtXo~-HYUm-rq({YQ z7}OAoaFMc(K_{oIt1b!U3;r&Uf|3vQwPza0sYSbOAVq`l8kKVL3FxUWAzM0*cm`L6 zHTvpC6`D`>5Qs{%+U%$DjET}1UV~lyW8coO^mkn*2UF6C-)@3m;kl5My<u!vSo*Qu zN4j((92pf-zom16nZR~b%+AISFV%civfjpS>{%SUKV)>fCk8CDP<6mZ%s&h!9cG)J zNVVXqz<rg2cQ+=P)$PQaerKr!VA+4Vv*F7W&<w7@4NLj691c73KKGwu6XN<JCe3x0 zEfd|KdAy8T<o+!Oqq+smC=D@PYY(j>c3_c96}Q2!61UN+co4!syXBq)ECQzHtw%hS zp#a#p*P8a+0r6lBd-0)$QpZ_4>e|6&=)~8-lG&+ZXG=<|wc}3W?Ngh7=WCK>76*R> ziSIXZ12*pF=O~=AuNs;GeFHN$cHh*>*FYyv|EKZ|#r`N*Bffk2{#K3rtOh;(KYaLv z*cQR^zQVbw!MnLKiVq*}FED=&b*B`wI%8M7x<4*%6zYJ&-ui6&u*0>S5v%2W#(oTU z82fM0_5U@-&AWQsIIfy~;dlJiu?Z!7IKnq~wTotPv=N|iZzMwVP4^5M`aVtG{XnM` z7`>28#sn^tlUEPd+y5$up7C<sy$W&6`BqcX-CSEHB1Jto0(LX0?fkc>n)x$3Z&A^u zBAsdRjJf;s!n5KKPD*JLF&4wdk7N}5IX+Z?3qrcg{WGOlD7|qJ5jnVZMfV5v7#!#z zk&C`2*bVYw#j$Hn1&}nRmo?PxKt#4;0Q9gtTOu_FK%X3oA7VGTO?7)BJOF8mPo3Jk zL#>->)X$53tWT^v40WEL$dCXdHv}D!TiD56<>rC9qrY-J{k>LqD*-;HkWwSFqg>QN zQpw0V0WsuIR9gPDN=s?q_+lLqV!k|RS^WsKp^RVvi>=q&=3X@WMMc?wL$f{ieILA9 z&<1pd0VmD<WV#CD2!PcCtR2Mh!)o{y9N>WCtn+?+T*Pw&9zz^R_~ombvDn|5vDlKY z!eQ4WTJs!$9a4NBXfjkj+RKX4dIzE+jWfuRTvDT%fLahEfN<;6r|hrL9Z6WmZM6@x zShlu}-!s2wL}H-DzG+W)_hvAp84?-0Igcn?-#BJ6Fii}APfFfv-zemfkw|gpai3Li zDR}_84>=cpy__B$ey*J<Es7X7ZEWg?KWpwbYR1GdYTaQ$uQqbv88oW}uj03p)Hg08 z_+SVir?vX+S@rlcF(`w?E)b#1|JFv8C9!_FsGRT)O2*!3ze7EE@$&PVuaQ;Js?`*w zfZWQK3-c2Px;xFa7qpwD#0LKBfw~VO_AZ#q^yf#7L$0wsV;mDWW_S6k8hhuJ*L|Zm zfHQMLNgfM%-I#VlVcStHz&{IhobmqDLzi%+&z8e&jE&!jXVw*?k2T&;72#BT6ENo? z7-j0I!%feyZ|^HjKmPdUki>Z_>tKN@YY7o4$w8W(jJ%@BZeqCC>79W+*^8{ezAj63 z5SIPFFT?9?GpAk9;WxaFF7MhY!Bww&6~4sQ&c64pJ9@qmC8gWU%|(|*bhxyB%R*Y* zZb(GkqiXzgXL{~Cl6-qARy8X~v+<xA>$xE}7rqA`Ufd6uu{`&hzPIc#Fq(=-8}-a~ zD;-6~<7Z5DwIkY$gbl+5J+n7cB3HKxIcJv9$^ct3OSJ!0i6dYc`BwBC9=TB=j@C3T zG4M&p@)@<HIUGxF7Tmj0?XK7bh$^q^S>E^rw)=6#hsQUHgG3DtU2MIt;1w@;DFgU+ z{Y5b{USSK*+_n`(;?nyn_P(_FcEcwBp}YZ^(EQemIWB4uL(W8%F*Gv2(!(7f=0w;H z*9jOTQRtAOy6^a5Jzv-EU>T`th;C0DeECVXnzMG`<9qD!QEd4{r87d&;9YbSG8vB9 zLPs|&yghyAf?8{3@!w3Rt3QjWvP|T@R^V^h&qYR_bkcp|CJ!9A#bWAkDV=?h9CPra zLf3D@$Ir6*oe`ej_m|2aYaStCChY;-l==Q*vrb3Q_<=tuAwq~#z5!buRsB36fw$eV zFC%|KE)<9A(8@PX_;29LD%Hr{xa#S|hcCT!Cnegx6x{_w>Mb|L=$p$M(YU4+&10Eb zDdT#?nBb8PeufLl^V6(hBzd72*YO_iuQPMt&P(s;c^^E@13g}cUQ$v+pbX62C8<ru zQ(bPBt$QP}=SSE4z4X0yl2L#wA->J_>n*zVT?PsZ1bs=c2!O7WS9B1Zv95Ds`yk4? zitMlFU#~bCj+CG<I_FOYvNE*b6aqD(YevN^t&<Fi_iKt(djfo28wxI_R5xw6kvT?> zm&&%mYHN<JE%`;2ywgv)^J_*+Pz=9zXVl!iLh>w5{lMjYWc9{b0Ef|0%axLMM#O&u z^PXlQJ}bRDXPba(+QU75p;gMMGReW$$_rHq@^5pc`qC=j)Ji>W_UNwmn^hWq{pF~! zFGR%SIrS-VL#n{)nVR9DV_mkc9KPa#t-Ww&nQl<@vEQXv-EnsNIXx|Zee2pB*n>y` z#}D@w?}O>m&m2Q826N69^VVn*Fi9xTB_ftPS}P<YbM`~t1rvS%eRzs*qB%Sg<=wqr z{Fbk+o=uNWK)C(BtJjr8b4bo^31smC!D7tmsqz*2BZcf$((KgL+Y7jP#VmRY7qrT4 z#7E#k^a)7J7i{Xj5qibSgcuF(X4dc`O@;&Nh~B)&!P4<JPyn)LdeW4*TjODOd$}8v zjA|-44#r`dXBvv-UX{kdb5Q)W0L@i9>Wag+^lx{;3S+7lK_aW;M<w29aWmqT=gm-o z9~#c+#BC$ckQvhp4Z^}#!ragsInx4ogyIS{Cftl91f(WiF2P3o^qhqLy>ISqr@+#s z=zi`1sOg88t>BHQj4oRg;L=&+$q69dS9~-JUTRbyahXoCCBGNXfs5k-PwJNg^#J_} zP7)oyJV=*(Wv+>f`KofcaY-o}$eKXT0LXdqFKtFNzk#}_kN?2M?BR}&N4C&8GhKbc zCE_q@=PeR7m#nc6D4uwDHy>y>hlJjHl7F3I#<EmBG;;yTiyS&JR{FmwgYoA*O2~Zy zlsCJOMxtf7kqsXJDxg1lr_o8tuI5^q#`|d(8MZ)DZwnAY`Ejf`?q}Mtju=Csg74XB zczOYgJi>@Bm{{)iL1{08;efC*3p9Bd0ObZ8`=vUicm5`qd!Q%3-WcLEx&3xWjJl1$ zEk+CnR5oz~Ql@I7t+<b=(LuVQ1)gEfXus~9T|_VybtVe9NFlz|tSzbdS6gTjUD`aT zo)`|dE4Hy;mR<|H4Yq7D<ao)Hpw3ymkAH#XTvtIhghAT|g%rDIf@ekg+Yqkv$@r1k zZ52&Qpb~|6te}u{XMy!^Rr}z&ln@|UxcS_!J8;=}B!eDoxKb5(ObbOYYB#cHq9^ab zw^?SmqW&}zrT2Xz!F><7A(JA|CfBleMyeN$HF>hXhLkOsWxACKl`xQ3o>x-7kw8D5 z6WaBgEoym?*vP979_v=4@R?uvC`x!(^;eYf`{}4pd^mAT=2x+telcyMCm%i+^VyRh z`8U&3<x1jT<Rgi$zqIAYbgHAHkyAh)19PIzSayWiHLp3-1`AOnK<#LVuWr`2BJ=Am z0po$z23R#k&}#;sC$i1AF#hvY-UlliVSIp&lyAfkakvXwG(?>XLJz>ZzkBzqb5zOm zo?$?H@h|asI5ZGnI$Uc1AYul1Wxoi+BX-uA>4r7{>9A3o@B#Qz-~IKXDHjaqSRM(T zIVjxqQ=t7wy*MCxaCzbtO+=Tqs%d3;W0q-hV#x?%0A43r{7lrOPUo?AEc15pz~Q)= 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 RqkpxXp0?4w(z}me{trnvH}?Pl diff --git a/docs/img/212946086e16f591c716728308d49ca3.png b/docs/img/212946086e16f591c716728308d49ca3.png deleted file mode 100644 index 3d9c01aae9304f43a297e682bd6bf5149c176934..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3477 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 diff --git a/docs/img/21967843cf3a12bcfa5e39a39b1b3f69.png b/docs/img/21967843cf3a12bcfa5e39a39b1b3f69.png deleted file mode 100644 index 54324df41ddf7dd53a4b58eb43e941804a943ada..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7280 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 E0ff+W_5c6? diff --git a/docs/img/222aa4a1e09c2312446d0aa324c6f193.png b/docs/img/222aa4a1e09c2312446d0aa324c6f193.png deleted file mode 100644 index d40e041cc8429378eb5f8d5d9ef508e414b7f5e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32156 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 ZB~9l(-Q>7|<JNcRUNpE+aQ@D({|B}>?nnRt diff --git a/docs/img/2257f7989872604ba6ce6506ba811b15.png b/docs/img/2257f7989872604ba6ce6506ba811b15.png deleted file mode 100644 index a1859df48955c6f64c49232695b47ad29e032e87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4641 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 diff --git a/docs/img/2279c6b38c41208a2726d04b0df15c37.png b/docs/img/2279c6b38c41208a2726d04b0df15c37.png deleted file mode 100644 index 9ff313fb6c07f4a6fd588692ce649e5be8223037..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1246 zcmV<41R?v0P)<h;3K|Lk000e1NJLTq00O80001up0{{R3-Ml3x0000mP)t-s`uX`I zsOeNvV=kN4f5Gd)<@L9VXzkUe2nYxX2?+`c3JVJh3=9kn4Gj(s4i66xb8Q)6000DO zNkl<Zc-rln&2QT{5XHv|Kdu%k-vx?nuL^b-xl&lWxzboCz7}+n-kELw{(VEmZT+#? z0P7+y%7?_3M-*lM{APv{OjJ}<R8&+{R8&+{RP;;f&)-fUUpRg*aao^0O#%76E>6L; zepf&is0C_)T2!DGs6QRl`HzPBwB5M-*AZd&wZ7+vPrE_2J4l{0)Ij1Zp__5(DeIZo zUyM!;aQ<}&wes2>o+xc;Y>2)beJiow<JU3Ny{W2vouRf@8*v-|a(+-7T6_a2pF{O@ z530P82djQ@2vxPJe;Mj=v&OyaGG&iI9j8g{{=s+W2XzVyhOi<DH_k}TV9ADtAR25- z>7OH_CIr~ke(*!U01Bgdchlddpo~`msj8Btd%D-gr)Vj4q>RPC!+z2>I*OgP$|*({ zO-CkPM}Bma%&mcU^?S^eu5j>Y<8^dZWYnf5{TTzoBcA*tJ?1HKR-BQC8UJL$n?qd! zs`N4}WVoSKfF&E6keDJuEAk>oL?d$`Fw{AP2_d{Zgc>&#Z>{o3(#l2e$W_;$l8f3V zAJ-N%1NM_Prc=gT8P!#7hHAVqAM>Npd5Z_#y2`Fy47}m)Fd@KQwY;NCeZ*6nDCH?# zy!DjUR`q%GSwJ29(l48^lr_}>$u6Wo<VG}NHpvkp4ur{!p)SNs&~PmMK~h`VWT?rj zo}pqZq}yJ%Hm5)D2bOhL+4R9A(8)D5_NJ$`>CGC%;5ifkq`&1lnt~;V+^>8U01i+c zmzk)Yc7Td0F)*?_wXH(pSLXp0Z)rueq#AMfl7v9y21)NHIU@6ru*^{LL9u&&4617J znd0cw5h|xYpc?bRjZm?lbf--+rj60$avFVVO@KvvlZ~b<S`|j#q4UAMmMjiU9*E6H zdkEF!3c&S6^&3?6%~{mcAq?nEQ-<1b3koZN2$ldu!x))Pc*wI;F9sa5`Y)&<Lxp{^ zQ<>2>sL1ik>Hwy>0A{C#<Wh!;(%X$tEq^l=LrvWM0rla*9&;+68S`$GX?6RSt!soj zBNWqNDi%`_mNXB`6+@j1L;zLJFUQDCazJ|FS2UN4752;F7*vY6vT^z+k4E&w%?s5| z2lORg0OZmNs0t=U_K#4xnucn0>KZjQL&ed6>SKo5|DB<d-cA3t;VCKH<IEczfhO3g zH?OJO(ZhhE`3KTJpx5WNgg->ssm~Ga{&b1FpAxrz!4?)rp!Vq9oU$l^=r!@ZOQr`@ zVDrhqLCGfW{zi8Qg{rGM+ID|*a7Jt3-)pOKHv>ilxu$Akb4?wg>Sw4ezL`8_%Z|qh zcnUtjd0bI7Lya`AhkCxfb&W_a0CjWuHPB#9JI{yki{Zs9s`Sc*jedBzKiOx(impBP zYyX*C>@NEEuC!i)TD{UQFjsdvsHiz-e?ukEa`!Uo;?+>qTP(p*CCXi@a_g@^El}SI z>bw6-v_LIR{qZ`@k12jHAa_)L_ES_;R8&+{R8&+{RCEUV2iCn=uHi93>;M1&07*qo IM6N<$f)}k)!T<mO diff --git a/docs/img/2310ec0a03905adc0774d21079604b57.png b/docs/img/2310ec0a03905adc0774d21079604b57.png deleted file mode 100644 index aa37927b8236b1a74140f7037c6574224acb5c07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24633 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 diff --git a/docs/img/235fdd047e32990019bc08c92ced8299.png b/docs/img/235fdd047e32990019bc08c92ced8299.png deleted file mode 100644 index 1145bf0b207e41a5c6269cb58e6a99dd79e12f6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9236 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 diff --git a/docs/img/23b032de89e1f1056b75bd7ad55823ea.png b/docs/img/23b032de89e1f1056b75bd7ad55823ea.png deleted file mode 100644 index 847166f384ab4d5366640d4043fb5207ceeca4b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7469 zcmaKRcTf||7i|h9fdHXOC!tBN(u;wBbfgJHKxv^Uy-E))bO=R|j(`Hv5fG%KKxopN zic}S;ibzx7@x6I}zWLpmoxOAC&hF0a*|TTwCKwrNQBkl`0000g9c>L0004{t0D$r& z;OmI7Mq<o$Ct;*-rg?dJsod$cytZm@W3zv-?H*sz)LAPoCJuo>pin3U1qCG~B@70m zqN1Xvrlz5xX*=`30sz?CbTrh=o_yT18MpZKcE;RYGmugx4AXH|@~Hq4SDRPw5tbp} zQ;U>$3t2U}`g<^@9Z+z$<ON?>o`RZuhKSPdtz4GjRuPix!T-07*6UOYBqq;!anmtW zm)<-`nlC$R!Ee?VCppT;oYLKZUJCDb^voJY=P3y2o}?nv#Y>ck>q;BQx;dKjhcF|y zhn&S#st8UU37>(N_;>b{Ml9~^FHgNm(soLpB*zF{GB)igAx=)_!~T^$1jRQgBT%w} z&s$l19%`YO?!M8oOsrK=dr^0KyrqP=VtAoW`%L_<ILW4Dml$U%&xOM~Qx3^^zySk@ z(w+g#U8EsQn^K1mARu`fM>HDf+8B*`sLffzI+BG@IKzd>3MzA>I_5Xp)zzQq;2jlU zM_&G)dp@!I{o1E;?f&!oz)X$gWbmdB-y@|EewtS+Ik)$DL`Bg3>)irkQ!xVnPH@er z-{pzeskqt$KEz4d`Z@W%*8>3Ib`bFI6++sv!DV0nGYw|U_6=XN+xv?d|6dGD*>Y$N zj2h<Gg;k{fb296W%i)vB_&aod^&IH_ejSFzh*bh*#mN8}f;3zC-T>5HWs!^yv{{rW zf}nX8I%ID9U3{N8J3BV1ElCWh?k}}a7s%anMQ>dXRKx#!#xSrPmR`9|dliZHn0aIG zABfQ}qe7j(F;af3CB>^Ym18^9&G6g%*TL##mEacJQc39o8Oj`Ed1MyZzA96cw_x_< z;dx3a+vnS|<8Qcg8CLkbw!43(Be#VZZ+AbFK}(tO3Z4Q*6F~1kYND6)GF)^B1<u-E zG_>`+B(kxwk%fKP=``)(4c(+dHydVpVz~dY$QuIOLwP(9i0Zj*!#07P%LI0YCs`2` z8%Xr~ueIiZ_TvP|Qx-z1n)DU7IvsF$+c>+MEH>&3v=@++={fMIMTA>Jjg?ZHR_m#$ zmXY?-JMMG)XzOY(5Fn)xym{{0qHc!${RNGBA7~~`y)1;!!V$>oxg;FO2~q##K!-F8 z<ixT~w)WWF^A(}p3-fdAC_(H`=x1>1YcdkFQkV_+eQ*x)@^=O@3eOP7>;r(;N;l~* zt_Y)UX`6vbHeL)-;Sq>6CUo~Cyqt{4bBq3+Bxk(}mUs$5Cq@Y8XStuk^Wfh6dg;SH z4*It+(L^fPoD7w`Fuo+{ymbJ6q`qmQi{jj6J{qy$vgbHZ#miS*E-U^)<NSmxs3$i! z%hW0=gPE6Nso_I#n0H^Jrv$HvwX{sdm)!N|-A_i~)t^;hg63D?7KXIy$Lt(%#N8z( z1pHXNF=eDE?+T2)alx0hazhyC&>PaE#fV0o<uD)5vvAwuUaJR2;ut6)At5;f(fxVd zQX1^G@&45(9-BGozfS`x39lBZVG)xMx{s&kY|M2m>e1u-{OFNkO*Ly@@H-8raK%4m zFwEqbmX{5o808_dz~gUcbL(xwP%;2$(9iTC^+@nj<>NrnCVR-B;oW}FVHe4JgB~74 z1IrrUnCb&!sM{HYI8|li$~dk3>IM`ozhmQ=DMe;{ueHNjVsR#>(4gkMEP^FPbgs+E z<KW9^LhtPl1dCZwOS=kEB3O90JZ4Yje{#_%7om4!MJyjNb=Ot2F3h+~PO;c94;q=K z=*BVTCa#H!QZS&smG5qa)w-{<M|n?4sA^8<?|_ir3OfN_{A00V-0;uuul9wXEUR_9 zm<az!D`uuoR})faL!~32iBut<Dk{#s0`kJq>i1GXrPH?xyGaOx-ZF9}g?_&}0MNYJ z%LjOo*I{PN{I@6I7ohHKVVz}%jxG*Vwm&L(9Q%(Bl^1kQhf@3@E!1J1Wvv$xJyp6Q zCN3(_C;G+CKNs5G$wOtsTGCI<&exfJE2X}k(stNNqCrsuPFZaNlqPf-J7AN9JN0h# zY|+j}+6#L30npV~lY!^VF0q#65hnV<KiykAUXsM5N+x{%fkfbZpOCtm0o5yX^*DRa zO!y14j3%r55M&05&PWfQlMVyi*UW&bm0Kyh#<mkR%A~t3)61`F;$0eg^na|e)<{s~ zd19O4gcqq)e~gw75|GbQ;I)9SlvELVwJF;>q?`5}B3nwRY)f(gbZQai{f5ay&7@U8 zeNnt07CR8kWM#AMqTb36Qp8JB^*n;Sish<GnZLcOAnGnn4Of;{HUhCt<sp|95e-@- z6%<r*%`eBEUx-4qZ$c+MQfACHT^|WRnOyU1%}qelk=s92UgtK?sb%$=)dGhF$#tvr zUt0bdXD;=#3ZyM~QW9b^k<(?X@PbomdI|d(e~2wTYF^&XmFS)|1_x{@k@l)WZ<SVv z0zAJ&)pnTQ{h?%Xhxsnt#zl3~KypW|5c`=onw-mE1qu)AXqC{D-qm_y2<3Z>DhUcn zwhgdy(B^<cD?Y}W+L-JxaQ0G%k!u$v-=LpecPF&Ylt=0i43$iQ!~Gz-@)QNXBtc8D ze1(Y$sd2>wU2<3RYp8Uv!(%{|c@ypzat@HAu?9~@soltN9L*WrpY#rhp<;j4qD+M) z<F^}M8`?Ve#LnVR36tMEV-<!Za8js6yXDs?qodxr<pGHwaO+nOY5Dh$Q3NPJZE%fT zgoc%O_ZS{hA_G2-w|%>ZzW<aaQiZ`Bwhpiw8hc7;yjP}Qrc56sTeKnfwD)T8mNsoQ zdzFrmyZ&0WE|6IuUC>=ESC^rIPYCF$-)N}#@)d<J@o0}36wIFkcpLR_hHID(zH4X3 zZTy3Ypu`fe7Qupzd}PbDs8<?3K++-68!BVcs;QvgPm%_5c~3U0BMUi_({K2Sbp-xU zL`^nfP$jXPoNZ)~&|;Rub4En}9n5lzX^w+Di#$_{hctO(QWGk6&-f<GJE)yA`KNNG zzW!~WRRGJ)pDmL91)#lA+O3e(wWmqpaJY-Qx@`0GvotbD{1Y?^$1<Bx<I@sO@&bYI zA;UxeUhdwvz-<i;Rbx#wF?<LDRftVA+VzJ##hS4B<U)fpG=6&FT#?%bv~fQ{#g7Uu zpEj&(g@--&5ka=U(r3!RvZV7Y*=k3SA}mxl@ADwI2V>k2g;}J$=-UKt#1>eC6G;Oh zP(RmP3(Bh)1WAdOSv#oUlL9ypMjXCX{cIq*d0-=qCHW(Ev14{I4ZU0=>3FMu3(H2h zbdi7@F(_?lob*2kiFy9Kn~h2zstr%e<EhpoTHZ-K_o5=$<-F}A-F&42u+F!mB5*2F zx^(vp6NK4y6;WB;g_d~R9Y}ohP3+$eZ96k(qkMo`29GHO{u9WDhBV2bS!aM`?K!Kj zu^t?Og-BDYwG<YU`-mO%IrAt6&n!T3z9svP0v?}0<s!Cg0nTpFa$-~OQEdeqdvVQe z_4ByS^C#VJ#T^aTmdSk(LaDPID`t|4u0}54RwbJy+qh(+9)LRZESiNfN$1d`glWg6 z)8`~4+DM&zG7|~RDjE*g22nyPF{$)5oko?|&#Y^ndDCJ~X>w<%NAACwVw2`g9;b^q zk?`1l09X_FXU{GiJ)P4Fr$64D2KkW2t36nhgAW>2cJHRRWj&?3W#%54E1B7yh&1VE zvYVKWYmO8Lr-T)BDw1^v`tiz_l4@)#xzGTAu(>>+dk3xuMnWEe#%F#^O{z~|M+0uS zImOT@;V-79rAY1vs!qZl<4~v={^~{m&9o&B-H0o1asc){qJmVHLg6JTIwT^x<4;tJ z)U(Wi8L5h<$zX(T*((T9DyTXVIc_;wX*Y$Yp$Hy=#XiPrFArUjXve1uY?4aIdq+~8 zTkTG*rf~6!B_fGKk8b>PaHk}i<Y$Z3Qtbw6O7q>qO{F4dEy+Y62rjGM<ptcLw6Bh% z7PA+_;tiwwA9=_&FVc~gih8?gR^X_j_aE7Q3P=d(@a&+cr{fS%(4iod-_%dmSH!R~ zK!#dpua^`TOOXIB|I371Rk-_EB<+6WHxT=kHbuJ<vyI=+XF1Su@hRqnL4({Rl^hov zFig;{<i#|}MsI9GLd$F^5I45QY<ZKey~@eXg-d%d-KQ*m31&$0Xp{Ngx|1R@B(2NA zV?uu^#w>G!>G;N`@etLxqN^`;1<y~HB*}rqCnlhYsq<afT}U`E7<3x;WPcUfKxg=7 zO-xGkDIxK>CIl&DF5B|I%@*0c3dk)i2LesHFTS<L}l0ILF23#%#~9!z)eb#?$av zmgIp6aK=#0e$G+Q1%=A+Ltu<Gc=Y!|HB2}%_Wy5R_pp<f2SnSW=`;n5va*d?XfLiH zyI{X83kdFq*`b)>WHCTHuK(O;NY8niT;v$s3G(+k%5wNc)p4?pQ_CJ-06^nUlOMMI zWrvEfHT<1*cs98)+6>8>_546sW_&0X2Iif-$W6r|Yem0qfIa+CyT6rBZ`}lCylnFr z_r}*OY<<ku;hpVPZ}~0IG{!Rl=+jF6;X1PbwAa|#R=~p%N2i;uCP;^ZDz_UWS)9|K zE6*1ed*lw0$I!2~ul#P8Y2C+qED*hM`ags2>HBmo0(f`3;*qDgUt$QdL$fB&@7~|q zX&NUks#V3T7}uo}o`*<Gfuho0IX~mo8+iaO4W5v8WK0+?W!ZdFD(HP7)zYM?5bEg6 zO6tU@@xiz9X>!SZ)f6`wi#P3GM(I(>q$CFOKB;$il~zhDs-J#P7wDCdxW8<W8C#7~ z9wmGh6OlEX5tuLyg|O54$2sYLqp(QPnHioH1LCm0)+z}_TSFBadzrt2TE5aCg2EpI z)h2KOjtQ&-j9Gr_qb~)li#_NGn&FF87BCD^nUd+wH}`b$s9S8}j*kXSgIgnzgMm(+ zF6;K@r>mFDLSx7`nJk}^2WN0h^u*`6hzqveXQ9F<uO(G-q8r&Gd<?)<Hh(mRiHX9m zzzrCc^yqqtV`Ao{mmosqo;UX$P-uH;3%3`rvHWnu($1r&*NJ@PB9&5*Sip^YFV0me zf-sqw#>`Jwk;a6^+x&1%PIZ(Xp(y5xvqW9f%0>pu#?id|5LFEdCFS=s$mya}{aVPs zF<5L_YCenKde4KB80r7o7>~?KSIETfDtdc(znzY=UYesznO-L~p3g&8-pjS}l;F?M zk4N^BC%e5MeJ@3lqtLjMsn)$bSLO|=(+U1s5X>$18q50_#<Fgow9WKv4bb?GNgy<m zCZUy?dz0^sRD`IDuMFD8^E0A9meEeWmn2^}a{Whz>rAIH4*odJ0;1D;*9JB=kHCO6 zevsC^@=Mz3vp>iVa5wV1vZ*>5x*ft2_3g3kE+Gbw<U`L!eVaNg-$zG5)M`SB`QoF# zBfc2Df@}~f%Mj!@N6)dKZ{GgdgIz6Z&NW4Zm3dHJd1^w6*InH+PM|v1sqhCPZP1q$ zkD#NK;_V$cHkq-k5g1{;TQ+D92yhF|b!zT(ArJfmfg4-R6fqH3O21U<*1(Ev4uhhR ztF#(JDQFiB$)a@$N6noFNVFGUJwisxz=8<JS}@UP-Wo?59(%HL@7gDN20PWMH5f@y z)8wgxbU@a<AzqX#JTfhwBrbQ<9J|O<hoWUQ9$3niK3Z?$cvh0a7hN2(^6ud_I(#U1 zk6UEtz@*_FfkIX3osuDSs%$wtTvFp7Ki*CMrpE`ax|N4W-#4swZ_kC52UZ}&Zee`2 zLGQe$FVvigtX<b43V7xKJIgot88H=iiU?hR{zn)11{yoO1e*DpBEbE)&YOtn^t5T! z<!<gS5{-ucY0AQ2@vna3uR?;^;9wv7ez_4zgt&_IHO=(nB+$>0FbMeYRq^<>zZlmr zY=2EgyVp_w_ORNw2hWhVX|yX_RO>i9T3;{+6uWDE5>iWJIsA=-Z7}3$hjJ3Iq0QO4 z&cC>WkceG$DqxyXC>)Boe|xB<+)Pe-(?Z|;#>1yP&fffoh9cR)Vgj!E&Vcup71VGR zaULY=&qAp^bMhPb!U3iP<mJwmAV}%~s+QDkd_A7!P%$$W_Y5hv_jWeyg>xIP4Da() zZ=|F3b|JvH3(L*x7~qXL(O6u!bbekmz=-x*fB_n@2~p)kupm)%Ia7(Id$vWJ;i**g z)u;z^60%NQ)sNDgrenU1D#VEH_})Eb{m+!5aDv_4<~mSK6s36J(^Ru-#iz(M{kYYB zRsle}R=Q^!y?Vt6(0nUm0r%v46*tf)3ZVZC^4aHOeD`2H4v@s!RYDHyzxdU{tu_V= z@?T7%G=H3e6L7bHTBuNJ>+J|r5`9z?+_&_)L4ogLtG_pV{Y>)Bf&Kz;aRnDfQHEU8 zzfTPEVy+hA*R9QS^id&McOEBD_(25iGUbJ~v_!2Ba5K{XWNsM!7?*`}gd2W8TZbdY z2pfjWq$YaXKNPL<MI?+rI99bS6<|+=D9Gd4_@jD&4W)U*CS4^f+e;K<gksh>I0d&B zK3V#R531-7+N4+s)2ct;PG?I<SK4Z1Bk0dD5Oy4?b-vHWt)jEYdeRuLcU^`WXfvdj z5=^zB#}TU-=Q5vH^RyMF_PPH-$&FQ0#1FFIR~<(giA=lpx?E98yzt`>i1mU0W|PLO zYV@jr5g8Ajy`5EI<LjI62dURD0qavaJ7W(jT$WBu-?#1fshGqyCPO%X){0psu^a}Y zTJJfgvMC9%xO=#}1Rl{P4XbX>en@8Vv3DN42IhaL|9jn}W5TY{5BtBD=6?s`|6!F) zN`Be&@td$vs{v>ar<$(ooiAbkvko|_qvr*xcXyFfxw_TPRn)|M_JwQhkMrMe^!b14 zxEwk!iK5z@sZpDh(>Z4H89l##6(ODSkv<z6D8;<)^8WOHwQ0YYX<s|MZdDSS4U!Gh ziRC%7;zGYD3O|-AzeFypWU5;28JWhxC8JnOoQW^{xc{&l6xRk+R&|k$7Uk66(d&*! zPB7OxS93hthNH`S?&x*CkCT`75vUEmnxY8VW`{HbXd<+D?kH0Fh>SD^?AhM`bGgB| zx%Mw5ZI9`an>+j|a>86`b{1GHW~|(b@fnSKrlPtjfG*<8*f}{gx-3e!!z}6HcjeQU z1@uf7U*BH-NfRf$D|_#&XTCNj$e#<jH297f2BVEL{cSDdTO#OdD>hn)`!(z0F6}s! zxOgTec>H2;U!2Cg`rcyY>)amC<FQY}neJRok2Obt@80^T)Jnf+uWh(jQPjhRh2F^e zD`z6tv2kRBk4K|bF)T&kImczGxou)JQ&OqOcT{M>=*I!adYUCAH1^fh<>jM46n|c} z9-e4mra!fdw1@P0IT-59qNfV|IQlp%&8r)xW}Plu8EwSx?A+va+R1pnQ`NWK#g|cJ z=)5<8F6ikwee%c1Z5(?~6)6uyNnO=(?msyadUWmu!WGbR7HMMshQ()90OJE;RVnZ1 zpAa+c;w6jPY1<D5MU<ZU3Be@4EN>tJ2a%40h68a=1_+0;mCJf&H~ZljwuKPy(cz*b z<kyyXdPz)w1!{EJ&^F+pRh0$5D9B!X&{|hFQwT?Qdh<9<gkfGtDly`-EM6<;4t)Hp z9HqdAXPyAnssxI?Eu~Lr`rPHvt%3PlyeRocU<Z`BwR2zZh8&^hxUya)iq89WVOZn+ zW%kK8uOj{mr0Ex)(qZ?o@k_Q4yEOn(#K@cLME`>`VE^nYAwOv%|BSXd*cU=zZ7AME z;!pjh|2@FZhC=MT*BCT%OTLVEyZ6y;^X&RHnle%4sqa+~$J-ZA1195`i%Ugb55+wb z#S^{)=?M0(X}+(&elbcKE>>Awth0ScEwX*q`q#NQ!L0S|c#rq+IH?c0RREtxUsC?~ zux5k@ex+Uh9#^6p0Hn*PZnLPcdbf|%Z}%?9NK)?mlz~%B?2muy>N#<VwlAZ8`{MFh zPm|BMs)F%nwx8U5ULv~A;%n8}xWF|>bF!VBag%$(gVoTLy^xTBIvO3-;$bUqTGDc% zNPS5)1^_E0o*C0+x};!sE|AyH&op+GNuZodY10JoufL0JV|X~xOO$!en~9r%0G{in zCz`pluk$bbOK2JsQ<E(f86xcN1bsS#Z(Ti{NayVbs-Gu$up^2Y=9T{b{2|;(mJSl; zpL_@ySt36Lu~UAy9TuAxWu4I$nFoN}i)yfKaMBJE?i4pR4_a>6pE;2r0YHT+sPBAb zpCc!uG$ML5)l<XcD?UuY3!NW&LMZc5(GUAvmYJKqoVh*#41yvz)e0sH)WTfA_hWR| z@94`qg)D0tOnCS$7KE;RM-w}hP$eNeG$jXC*Y(|It?Q>Aj}0kVB5Oi9@&;%h1URc~ zcpKBd`fr8_VfMq9f79S1I9`kXrxOkDOKUy5(YO-bG*FbFg8$YD{D<uA;)F;n(OJTi z3;TLW10U*xD_Q>JM2zj#{T?{SA@2ORWBYDa%lG{Ujp8Hf4iCX3JQ#0NFiF{RS}HOt zQ{he|4Q;Wwz^YX7lw(*gS?_#U1B~`b^0ecWS2^qJ;@pqX4~ketH<GUvq^t?ZTAzd9 z3(G-eN@O(PLP2Tl*V%m&<m`2p_|;R=P%?S{28V}sy%~a&mrLZ|cWxJ(vTe<J)3av( ziF~fb<L}!W=O#rG=0ipXQSQ5$uZPpv;`b_91t<*78|`qp_HwHhw_8~NrtVG~)~q&q zh!KaQ?KCp6wt*szxL*GEgH5c9#rNoMKG4D(OD)I!VPFJ-UV*zPr!QhltLV0tOBQy& zje!nnX%*$Z6Qf~ru_YO>3U+sY^qF&jpSB@KP%NJpAckcqhU>ARO}2O2igEU7`wsHP z#Jq&uZC^Hmg#|1yEPg4m>5It&s`#3H{X@ACy2BG2Q@Q$Xdx1T72~IXqo&i@I$t+Hl zx39%Vns$;4K7?VK0(2kT!SpYOg-Hb#PVTKve-h9$kNoB;squsj`&904Q3j1*+@0$b zlQvRU!)T;QwuQz&nfuh~GxqUZluFMoRNog&O5^9B>)n01N~3`}4yZK^DmS30r!seK zH2jt>i|H6UaLxL<->H!DefC9VyB}9s&Gw)I&+Q&1&Kn;pLfS&-Kct}M+`k{3e@uMj zt`JcsQjw6^3+{;RDiDeNDL3*8dDv~@&xE$nNUk6oojq6%l?$)Q$&#Ln((Jy2DF?mz z@+$<{6t1Q2TK%tZRI0^trz<%-g!!Y5*e%sMu{Rs&5#q`squ`Z`&^*lhpgg1KGr;rs zFX7MnTlG#`(aSe?ZDwt1>jYyLjI*ou<!>CsYWq7xTaB5Wb6|6)J=&bri$fxa2iki0 z+4-D5vLiwkveiewIbnhpX-&Re)0yODCt8@7vfT7Hd*PS|X2&ukJ`y@7hsgHuf{V0r zr%!QibqO2JSuFvz;z5tU<iAwk)xdZdZ3bpxM{vI<t!Tq79&H}WYnY4YA1RFZJRV5= zST+;EUrV&#u74*LuAJ#5GD5d=^S!}%_r+zi&&?fy(fox*&ZMTzbLg+zT}O$MEppNK z>|zg$vllJVYia3@D$GlvwMAU<><LZfHB16F9apyrZzW2Dfoawo$k1-_#~W*fALV}q qR@|BIw(!JP!Ozl?XhkXnuV_wH+z1j$#Q(lQ0Xmw78g=TnQU3>>b#;jV diff --git a/docs/img/243c1a9fc7dab75d6576c27470e73bf0.png b/docs/img/243c1a9fc7dab75d6576c27470e73bf0.png deleted file mode 100644 index 0fe2b87e8d30a1b49b9277ba085dc05fb082174d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52199 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 N+C8ni`ASa%{|EJ{Jd^+c diff --git a/docs/img/24ea9a3635dc27668b899d6785917b1b.png b/docs/img/24ea9a3635dc27668b899d6785917b1b.png deleted file mode 100644 index b8af583951ed282d3928d8fd5d2b8cc2934b894b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2142 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 UcFWM$fdBvi07*qoM6N<$f>10l#{d8T diff --git a/docs/img/252e40c4dc029a21eb939cb40f715d34.png b/docs/img/252e40c4dc029a21eb939cb40f715d34.png deleted file mode 100644 index c6d35b60762697ec954ea318486567c7ed4987f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 188467 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νi9B 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 $t(+)jAUrq~%+Cp5i^=e*2*dAaNNK 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 diff --git a/docs/img/25892ec4aa99429a91c30ac3395379e0.png b/docs/img/25892ec4aa99429a91c30ac3395379e0.png deleted file mode 100644 index 20bbe25e8762d21320cd0a5d11dd6a5b6f02c983..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8601 zcmV;KA!go*P)<h;3K|Lk000e1NJLTq00IyI008F%0{{R3y(V%p0000mP)t-s{r&y! z?(ixqU*F&3a&mg7r>{CWInZh`2nYxX2?+`c3JVJh3=9kn4Gj(s4i66xQ6ZHH001E* zNkl<Zc-rk<Nmt{@vd(B(tV378`Zh!N)+)(f8!Y>71s>LLZL9Zv-nsSnUyc!xVlsn4 zeF_(4j4|N+6yq0>k?QRGW^d{nf^Q(cf#^RF7lnHImS6umKupwgx52Li#PC@ll3xc1 zd=?1!b%0RM-#!V5zul)le{~@K_@Ddy*MEO;ApZR6f%y9y2z&eaPXOX#u{;<MfBm#N z@yE~qg+Dfg<=Oe|<&U$oMR?Kqbw7Yul-0q2`00T7^XJdt)RR(OPkx;LrXNzobNkHi zT74Q27iD>NKp_5(fH>Fj%cc4J0uW_++XdnYvAHZ)djRp<g-V}@ti*5nadvTi7$E-m z>2%^RFBxZ(ANEgPpQkGa#H_qNo2*9NzhBNq-39-6{BM=3y?{8=vGfZ-oNFM?Zw~{6 zmV}>w>Dx~)8E4J4gX3Jk0RzPEYM7d2pd08e&dSSbWUSZXOk;AfsHWxZboB6gT^hBn z7H5l*e&zIfF|EwQhd^8p^~dqqBt5@Qt}h=2Vp@(a$^!!7Z-0yLu#LFT5%AfhI%_&_ zpwvK=%ju{*TU?B$Kh8(XX>~oCJp|(12ueA+94&4w5To*9G<yt)$?fg%y1q!yF8+0S zJ$wv^a#WUw0^&am#Q)hRKx<+d8_Pz&$FqNT1b?y8Ydc$9>!n>*7uEFEs77gUm>JCy zK-^9>Xx0x|Ag-tNsPi%lME&pjwzyDd>4my&el$u|s0NJ$;#`AXmItyCKgG=hp_M`c zak&~AAb$Vtfw9y=zt9U@XymHtwYl`u(ym<NBPC*1o{c0Bw^lX8%PbJH^UK@vLS2t8 z)ve9Ue_W|+3B*PDL%WUY?2~{n-x&%ZE>-y`5IV-Vs7NC83azo68o?c1R<Vs(1R$<0 z5Z4X?ewhX0>f+o<ga%?->V!18IKGssp#|dnqXpto)o?%zudOZ+5Za44)#yruUE=x5 z+KBr0e6+e8T`w&V=h3^pC|5=zjE$HsOKT&R76^Ws1!8jjZ)YPe)o+(eV<YrmmOvPR z_~^irfw*8CuE~8GAT9?E2yG-S5R)H|Nrd+r<*oJ_+Ms)P5Wn4-jwAH*3j>Ch2=l_u z%N!85&8_wtR~m@q`oaK_TuNhksRd$m&|D*O8aAM^K%`zGJP^YtWpeSVzr479V`O<= zoqe#!=<pH$kv_wu8ZN{>Q>BS-(%+Lp+lahKpZZm^*IlORTY=Ex^zi~Af%rozhWUfT zWMz!rY-pTSb#XH~zrHMzCk0}<{2Yn6C=VbI5moo6P>epO;Rmn~9nSJUtQfyCXK9t= zzu!Pu<@i#?=n)WKeftK&-|!m<&klZ<{5%u*T?F>A(sx_H*W2lD2)=>%2I5g5%I}-K zsZYIu`o6i4sK@UO;S)cSUSB5oypNZF$cysx|7G~;IJ^Wz_BE1_c^u%=K3)O>zf2`Q z`!Bu##PBOkIDDe9d_f}MOMwV7+4(q#iNJnJ1UQvMbEz`SvJAureu1(4GKoMkPzHw1 z?EuE|C5gbVl?bi93LXN1hcM3lln4g|JT4GMBtFhef>XerN<_jEL8~vaEVmz7_NWbg z+s8jbB3x{xA;`^#g~FksFXG4GKvL0fuVLS&U3}+e9m)rMfcF?LOGNg??$b%cV>aT$ z;#aU)ZeJzB+X!>j!s7ERvJoE=O#*l&`Nw#T!s<s65OJ#zS;?F30lYod9|%2<BUHym z6d6f`UWkn|-hA&-u=b+wUIUD=bn4*m9S}Yor1bbr_XuA5?594*5uiH8()-X10+r`1 z9lrJ6$%PH7dM**xeX@~Y_vzj|UE8<avv$12Yi!Kj_|uFf*@%4E)`j;Q;mt$HQ0X3n zpoGUy-a8b+&*HvuM6z+!@1eRfpGRu-IX1$14YT~JowtRM2n)u^PT!?li`cvo+!iRh z+E3j(hK@p#JtbnWwV#eiLS~;~BY<s0KHrri5m{;w+O`?&^c6|Bc0u#TUf^ZBMTKFB zPumCpt{T9LbUxXL(>1EJ-L&n^rdF_758AEyeDGYu+6W^EC+&^16~<s%4zF$7iC$A{ zfbbHb*Ouz1Hyz6Lse7jsdr1U&jrCEZ=8NWN2%9mccWW&X=JTOLZ1571XUAI(BdkOW z+9BXzcigroTeWVdYQAiT3QxCcyiK<2N!6|=-~v!@1s>e{{L?+&QzCZh9qf#1z~-nq zY77uZ&0um^AZ+aG;|C2y>x9A>Oa1(*F%N@X)z%t_dEKgc+urLdcCUpZ(ZbShwZM2j z@^N`kKL31;L?rjgCb@S&q?7T`0Fh2khljNhD%gm^0<qm*g<L~_dwhS?-Vb((Qw?Z` z^NGP`eW#K(Z>LE+Tu+FZeM~CsBY35a7_{v+0Fm4;l>s8ztUoV~FhG>^8{sv^_k;G% z0|Dz+17S?30V3BxXt99tB=C_>7D`_2HBJ}h+NwsQ4dia8fvC0Pm>n1h8Cjla->HG{ zxrYAs=|-IfiAdXp2Lion=sPu@D9*Eu2smC&+yk3T*e{OI*Z#Dbmp4aO*~X~hTFo=H z+#FmYTpVFsMc&T5M0gu<yv0*15twcVTT+c9Yb;x3RU`0`PxBG`dW|3v`Y#M7gZ4hv z?o*vkG!WHRogU0-P_BWTYiQ}W#<K7dp$($35zuZ&S|ZjOh_=0R?(<#)f!bK!kwiE% z@ZiH|pB9aG<QhlK;W<n48d+X%YZ+NWrCozohIKpI!hE|P&ez6$+JH&}p~lvIB194) z*a((6$6vl9`y3AsZX+;wjgW~Ko~nE33X$V$zqa)x@R5$81;=3oW(qw`<zM}FiGW&t zibQm8#zv58yJ*@{D<Q8$hv2r>5tsLz0WV-?N>QMKPI=xg5%VkcIW{5}+!S$^PVqSr zcX_3tTITJHJSPT(e7*@Gjdz)-eXi$q4N!u)Epl1uBBPJICJzG=%itvfLlq-L4vd&* z_4{4dfG6mD;v(22fG2CHdP8WCffSLpa2VmaUe`6u^~$Kkl@Xy2LA%A;WyZ-V1cHmD zJoR8D2c^SszvV?6@x^rwTj0qbmk7D^u-K4E2;!+z&IweVx3<U(aGz}i$^wt2Exl;C zZvg<W7G*jCWHQ`Kd_3XRK?Mtmp02`|Z3KR`YWNVl=$8DV0Lgm`&LKFdqzlf5!&^}K zlYN&6CT6l&L43ha5Vk6;8e*CO*`<&=c>91%T^i7O-5>EVpmMsQsEQ4WuYGW;l6aC5 zLC%#egZoKPeYX+zU52t}L2(31z6CgI;K+(?gq0YeRtO(AgvXSGg6gT)D9bYU+7YXT zd2H4qnHKK^z^4!tRds9x6EqxbI+_YzY&iYmIKo}+O!iTsHI=}&QDGzz93M~|fyxIH zA?$(&eM3I<?rmhrwy;B}AU6g;=+ITcQ~GNUA>oo#9SHa8GY-#S_1bH|1KL?}>P*(s zUs0foD^v#=H4Y{y83T^JRnNVKcX}o+Mj%(|CB+xBsf5Q5(VNL`z!4I0AB}Pn4n6Of ziS>e92`z_1N?vqm79c}v$ru0*HiHlVh)ApVktH(8=<D39A)bhXK)8TNH~|!Po6gX4 z7~w~q-l!gT=Z82#=(4!pA|hgm0FEg^vQQB6OGX8wmKpDGUlm7e4p-!R(ngS9pxzK# zULfm94*XZ%gdz$O3j(sic_PrSu~6(6N0=It{(r?l+<k^>pl6n#D-bfJ4z`o~M?u9x z<bDGZaS@^}U>Nu1BTRe5sV#1VOLq5ZHp06Au1v9Gb%sN@3dK)=_!$vel3EGI`xV*e zU_MmK9T?SEZ*kD>#_cAV@6^$<ZPc;;KiB^cWFwG78zMwNZ0PZ7LGF|zOX*dSy#*45 z`#L^iu$-u!1!6F*ChKCMC1Si7PmXq@joRkBbaOI1jE!(XU<m(!vn1dv>`Vf=R8$-| zapsM_{W^#bWo56Eh}B(kXMs2xCiiPJs<Bq--O)tN%)|8lKsEwo(T3b<STqnZ#c4PS za|zvKG?-Hq5!YTef+V8Z=???MxNSGb+o4{4t&+`Aqh_Ys2=nQI$lGB4CBFc^69$-# z6T%{O!wXU1Wg@RDjLpklgCwG<kA@D2B1cv2BoOymp_2IlYy=2ajrj$LqY42400{|& zTg+4ndV;#jxJ0zC*J#E|Wq~-g3$BA|SRm{xCWo;Rr0l-2g%c1I*hn6dC4wx1QyD~& z!jZ0opWQQ#XpVLch{3LG7Fi8DJY9?%1BBX^tF$<t9L8$^gq&Iu45Dg*K_3X8U?aFT zqT(M2<fY8Y_LhkBPI>p)PS)*}T5I>YRThZjc9)vw#sk<0>GMUM0wvdmp?_9Lgs1XQ zlsHjF6C6hb=3Digj|eG(tXv^-Eu0>qqFg<q87OPF@g&g`k&OV=|L%O`6g$c_e4H)V zY7vG9iy5Nv2P~W*>L>~Ad3Qc>65Yy`lJ$#_qdMAwqflBZhNP7nO+z<Ph|T)UM*!<H zaz6w!SKc^q6h-A7XD)%NdMXOKBfb~^DH0JE_k%!C0)iNkmNK%8m|p4|pl}nB8`qUm zeXfSHjX>z~cASb)vxAEIBS?opUVE;9iu6{!+<BYz#zqK%@I(T}$rcLoUWQjdO%kE{ z=>u+{YN-9ee$S6kBCvv()eprB8Euilh|Fr2x8&p<1;^L#{s<Klun>Yru6=SHIP}6` z#A(YP0}4b*rh=`+e%CdE#zV5ih@f%_C~ZxG_<Dn<;~wx@iUU!~P`$OqzE2Bqq~)@n zAtjHLfO?|pc*r}X843!ffn&~KaJbM%`lb3ENBDNAWxcAW-mop}8$tD(@1~uC780wc zn8gu^3y5$lcu<7CON6<2RlQInjf7c!wJ4XUqB>5ntAVmrQCtlmXnfAffhbEAw=efI zj<DA{t*81?Ra+)x32@w)?L#M8GN#MrP_2%KNj*)QWU5wDG`Q5obXUmIK=w*FUCMhM zN7%PNs7<r;aXm5XnrUDrOO-auVx{WENdwd4;qgs1nxr$c8P)rTs5s6o$Dv<{#DWRl zUiU}%tf-pk&x5IbyIMh#E4}n$swy;+kxY(<E0r#;221lz+5ZukOlD|6D3xqcN9?`V zFzc~2pt;l6Qfo;*(ejYgbv@MLp>^VTxUB1DS{;`YZlB}A4u(t<DOTkoFt=a!JdUvM zUSm+}JL~bSYNV4@GR-ohC#%6wON4&BTBWN-5ce_l%MJq-L_4N~`RsdSY2LjD!iw?I z@P;s*S~XZ{wW)L*u{4jT8VE%U4uHtlkt0;<$n#`RNJslVQ3MoAgng{tXN_t(QOjba zW(tpI8VLR5u)2bJD0{*H6vmBaqIiz~D2ebb^)RT-ZDQYgVgf3t8tqhPW~Y8S)j;Sc zhl57dg4RTc5>^5Q<9v<FV6V$Q)5)jW2!HcHMA{#DJ8puA+NQc4GgLe$7J_--J^L&Z zU+qqs=-aD9O9X=0UlEoTC6?iW^Yc7yjH~A;$|1n{2yi#zo^iy{bkscZ-Pyrygd*<| zI62odCHrA$;}*zndvXqfnBuasSh~-@^1W<?*$#g?ZkxfxbVQ`H_DZGgbkJ^1mFJLN z17%qUISq@&9fU;iHZPz}JHa=EA_#~<J^M*S@ET^X>*;26Z%TfnUAisjYF(_gA3wSo z9WsuHC~MI@hP1Jl+s#n45Jr`Y7&lHcM0t7d$TDef)M;ay$&R!uOYhZqXa-2k4z(Lt z><tG|2!F&zgrtF<XOcTam|?3Ah(`X<C&L>A_lzUb`B1Be0isds^iBiNwyntmx6MI~ zB@rtic^Y1vDCVF7*=HIHgX}+5f*F2&95J{fAeI)0T~^psaC=CJpa_u_8kyy1)=q@Z zAle92wADu_4gfVD?-yBe9FYbfjB0GOYMAK7{6B3DW+OsTM-+7tMSBBs+`venTr=}^ z5C`1Cj_f57A&wZ8>xlzmushjkV_B>9VubT7E!M-sNdz^}L9{2$cM_37q|jORUs6vh z_2N<}!FyYj+S5h^iKyBwdWkUZb7$S>7OU-`-5pdlK&f~?Z`jetBn$Q1i`9de$Ol{? zVJYyDwQse13ukHE#Noy+b%5|ZGce0U&w|+8i6k%>f#;bgO0L4Mi`&Uw6-RtF5Yk4- z-g9adjpxis38B~tgsnx6I5_bP={mk5vW$U9K1(9JZ3Et#N8UhA9^}3#lv{#%KMPX8 zrD(H*D5+w9C4z_lLS*8B0*PqLC&(!p)P}8OPX%!9&5h_l&Dz-W+9%NN0=}Yzk=)8F zd#yyOMnM#L9TBLiNOF2TEdZ40ou(^_G)YAmLhkrLv7M{CJvPK#VM7Pd2+Us3kD&dT zqE!?`5JVm5D7!<tHiG&^y2ZXoBB0m(5x^H(v^ubY0Qb}gV@kP*+%-yGhcKZHwEqYe z8|9X7B|7j`JZC0E7SQz?fubUy@R4rA{?|2x=rg@UjZ-rBR@{m&ZG?=OkT&=TLL*2{ z&#U2xaz2ovc1q;%A<zs_Q=MXlnrgw6t3-7_ne9I-5g7<BBP6u|)QxqJgQPGKv9f5e z2eIBLOh#GKRdO&Pi37?k&i??}ojoE;IjQ~gZV5)bz1;auB?=&Q5iE?b5!6aTc_z)a z><rr3s~W!F8!y7}laIN}<i1bR;)s-nsD&1RLyk@yA(A&CBpB^|dO5Pp_5mV4ltgg9 zXviaJ_LR_VVI%O7$dX&ufm*O4qq5g%m3<{bAd<(}yg?kg5+T}sgvaY-mr8h9(JRA? z?Q~MPQWv-JzvwlxFS&(tx=`2%j;kVx@Z}1++?~jSc5#J~u1bW}vJUi89PyPv$Z2aV z%n;cK5quK=7Ia^3aOspmMc=XyGW#qMiWymE5kz~stZ$3qS`hK~zzrinQ8n)Y<QQ%b ziFmW~EQ<FTODbLqN=;NliIC!r8AyJnvoR8QSbiv$sI0UnUAYR$M@htEOD>>%uSAGQ zE}rbIR7C5N<{-xHm%wqfkPnMPUKC}4>aoh;E4)U&d3ia*?OQx+5xGxz<UOM3m<^qT zJe4nuPw2E^W4z%(e-ve&=f!@9BZoL5pSL%i_dCt*Uj(8(Dc&g&(5cOUQ2DrTOo<^v z(H1|%Xfrj9T+#wzpuoLsM39K_Y<2TMChlJdr}E+Uoj`<$u&Qg*fh<+Nq74SZe*iF> zgYnoQsZlO-)6!6CFov%AVow_}HfQL~x7o>jcYKxA*=|1FjN9ENJH2^UBD5a9D~|B* zVyS_cIYvQ0v{&>*!Gmm}JM>tz6mUQi`qZH)Ms=-`c!k%<vePU5e>%PyPZt)5`K;WW z+-EzB(9;spuCJgd_Kh$L7O#YBc}5#-oz*?HD$6(?K(R?9B-u3f6FO~1qHGLhK3Zti z$h^JTPa;m*MYhgP?&n!%f!Jzese#alL@t9*qAZ+5%r`sZqw=?V4f7y1ElSJAu5M-8 zkn5>djkLZ>ZOcAqro1awOs)gky(4%3T8X&P%2C38JAuPt2J@SB+uqk6h@AssUF@D) zj%wTOwoTp@N0@a|d!e%ZYfzU<tkkj`E{hUW++#}{m58H@q=!mAkmO}mPYbIW`%8pg z|NXiwiw+Q{i)Wl@Ufs3k_7;Pgpp^X3UI^Ak%wVbpO=Y^WmnesjiDsg>H(fO6vt>z& zA}^L@QL24*0&^U3a=+FKn#VvK&#s<X&G_9wbO{r%HbMiDHdS(EbY@6O5g-Wd#Ul1X z(Je!@l0<ur;&_qgKI_^qju<W0SEsX)HkPZC&B@jRk?+cUd-F6ak)OU7h+qRxtVGyG zYiA>jL>M4&H02Fk6kNwGB8tanvx7AfV1kIzLQBMcbEw=KTejQ61XU;PE}L(iL}cqt z);{Mnj@lTA;@P_=;t2EBy=vGsu55?CRSmO%r4r3R^6&)S109cvCWDe_uTg3vlkGK8 z<e6N<x`#S@1rV=DT9U_80DV!7YSe`@mU<N{-tS4_IChf|q^>$K4AaID(=x;n_&z@3 zIj2#2Akt!g03N04P)dXesI>c3l~$Om%I)|gmL(K>MWEU78)6uyi7QQ*?eq8dWS@EU zT)L5u9T1~;cn$ZyQ*R>z88wa545H;AB4NbfB_28fTqiRTwl)((Z%E%G5hu@?h^(|8 zI?GqZEA=9dEP<v~(ngl4Xdse>4JFRZ02NOGR<fnaK9}2D5r~?P;UgYh>qv|7Y&KiG zBiDeKRq>4UG%QgL)KPLI8*`F$z5wtZVgH=XxeB$Hjo6FDE+YHM5q4hM+gnORoQ4CF ztf2|Q`3uQZc%omDyq=|oxS1}pzL`nGDM|f+y2hLN{>SM5xY8xJU?>?JdG00J!hv$D zCrgB^e1>s_&aUV`%Q?+Q)-~RFD<0+=f<_319;A=~JJA7E1Sy`v2&3pwRK?Uj>@}<I zEz9^&7CW4!5zQ6>-l#&2Wub#6v=;^}!~wZ99TfrMAO-RB>Kgg0fe=g!5ldokGpeXE zO!+0MsLH82!Gwys4k`HTeO;q7SxdT7j3(8IOdQyqBE8CIVP0IK$=ba?afLf%qG}It zQH!{_(7X<E3Z3NZWH$wet^00V`Kpc?%05A{YKQ)NiWre?h>Fi#LEicu#y4`;G0G@3 z{0{8-)FJhVZqulDIlfO0e}$N$<PL$jE)-f9-NSzNStgQ8!Ejh9=hx6ViVH<E1&YmZ zAR0`l6%WPS2#U)3eRA7Fn<b{6OWsY+M36IPDEI=|0l<5Gc!YMZZG;lr8lwqyTpkDR zl49S9Ow#bF0b!hU7=fzdq3S*N8mhz3bWY#lf*^F7@PO^A=;fC^HKJm^hmH91liSEb zfIM4)1_A*03d-#{D9k070#S6EiMYe_7Ck?41v>@;6g=458#j+Cwv$SZ+!4)Fe0-gt zaQc068}i0Y-qgoi3;^PsQrHHu`%T4N+uVHwvRC!Py~fyoo_zoi4>obrX;Tl9NwFb= zXMjd?yO`S%L-^S{?Rjo^OYdy*h#=3~X5e0Vr|hQrv{8$X39&;jX}pn{4nm;$r6Kqh z+j-c*LKJm_V0`#Qh5aOgcX2&7Q^ZV{II^z{+ujDv2iXWQ?Vk2vJl1rtqPYpgUb5Gq z1RTX#MzD7?8BGhggH5|r$L)08-syX_o9`6Nx2iIeM$B}Hwr$pJGj2C){oG{UPIl&d z`r&&5Dn8m8xT~DHZ{_G)I$(rnT*?jAac0hzfj8Ul={3?jXv;O$`Hhx{w5V0PSP!)z zB)gN1+xe#@qRcmTr2Z~%v_$NZZ8_8r-)SSFgduLI;%p<@(h6cQ8<E*4qizm0#IM?0 zB6fPMwO5U?+G^=vqxq_K(<Q8G%p4F_HFg87CcAgp2+k6q!&HY_CQ7aj6%$ZO&S@0X z29k>f8M&%gNW@03b-Y8p^y9YGE7U;f1-Gpkn~=_j8i-}Pvp}q84hRj|diE|G5f%Mq zXdq$+5VP`yjSyRy=&WEWa>YcBOF{Ry5$2*VHyVg7jtPjX+@5AWxH}rAJ1-GxJqbXV zW9{D)S%y@S=O6&rGNnX-bOlnO;9(|@Q8g?OJo|bL2ZXBAiGH+pKp=S&bJB)hxRVG4 z1_Y}b`r$is4eXK%aZ@!9I_6{BfZIcO%b#qaphH0=m$By@DhI^E96N-&#HofcmfLdS zrb`@Mo!qB8*x_0&PBw#k{VH=3hq0yaFqVj-P^Eb0Ae|AdI)DM&2+qW0S5dV6M>MzZ zDG}?oFhH!$K~#6^)~QBf-RIOzmq^-XzMZMHcAq-DO6J;qj`dS-Jhdv`(?x*-cKnF! z7NR~eVEF*za6oSO06CIB_|)E?_Zf~)K{|d=%u7c(LZ8nOfOx+OO)M0hBbb@ip^W$R z^!{{5*##sHkx{bQ6jXP<3W$m5D3IWSDmNg5>b*pG&k)Fo5J4$sC_rv*=`al_nLDu= z+5%PD=7^#U{<Y_Pg!^<-oB80VqJy?1txeS)5XqF{0}ng7h3OK>oJ14_yeilDI;zfG z!KLe$2`y5{6U#sxX{(}xqJ@<dnHV*y7p4AZp$NaM*L4kV(CeY9CNp>RU>)}jF;hbs z8g|DYclL;yS0x&QS(%$=vLWmv5m^r;LSbzNA=g*-GFOBFika5XnVL@XHfU~Lh)8^& zP+nH6{CKe}O=Jwv+e%jwxrW+|y{%^U4V!Mdsa6&<3%h~kOxebC=Ca}=K%+tFY*{eR z^Tn#HisOaps_VUt2#kuAh}5nZDyWJwy(!TEF}SIkrRk<tq3KwT3!w~ER>B=l+DPWB zyedbFyx7Y|e03b*F07S^!PKs{QcIoU+?Y1~^rkZ7<1yMJ@7)Ffbk5$1*w0csPAw6O zYLVx!;v>E+vb0##3N#QC8z^ekm<^Nq#sJZ1cQVmm0@;I3iy0l8z%+%6BXkT=tcr5E z@)FVeliR#RfUyx1FA-`qRf)3^%Pd3lCGjpwaWRvrJ;8PP-)lN7H4tTGj3xGd#!R@b z&R8}oc#Wl@$ye&6sqD*^Tm(Z96JZrVJW7HFPAJoLyV9|x{$D87<2h8(X$sCpEF1e( zrOIrT6xv8))f_KuV>)N-N=$^MbXzvz`X^1x?W!2n3)_ngs`uw~d5O>g)s@@aremP0 zzA;nM(|XkyH>$sc(EJde#>Bm<5N{4PsfLNJ&8-Y+SFhs;9}k-ldoc?IeT>daMv-U{ zUB_Eqqg~@+w5R@L^9<uV@{rm0{xk*sCQZ_nbvWrTM=6@)Cigd@_zDGW<(#eA7w$H| zs=c-{efen$v|W|cOEH8mIvt(j2}BUh+Jd%XqiJ@1x*G=G=LLz#z6OX4qnzsDZccGH zp_ptb_CQmEKBx!NFYUb(h#_^Ry<j6geejaMQPGOYgwPp6lQ2-l-PfI;VfGHi+$IQ} z{8^@Bh>Y9MUXq9}x=8{?j)qtAh-0AcYZcl*qM15A-i#)BNr9md{N<)}1KigMgxsbm zs913>MAUsvb_IX}N|Y60k$Le^!r^r<00Cbj6VR<r0S_NUc@`n>*$Zu$Ajivy2~?_c zN~UM>sHgcQKH^Jn0K)OfF-$;#gX}zw$NEJCu9&}sye*1PVt|)b<4XWg57e1=WvK31 zr*cC)JUD5C&1F3466Hw@eV2%E#wjA(eQu#bI;~E{oUNQ+C??!N<c7j`z_-1tJ_8|? zTJQ`QpOoT_DrZ;GX*|qSK|DzVMQ(0?MXx17915X8&iN%JkEe!sZz1LviczQ3jUG;9 fhv+cr9s}|Juv%sMJi50s00000NkvXXu0mjfL-<VI diff --git a/docs/img/261e6c6422bccbb978c24c0728f3a593.png b/docs/img/261e6c6422bccbb978c24c0728f3a593.png deleted file mode 100644 index 577dc4812829880cab0a98d34d27a184c909aad6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38450 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 diff --git a/docs/img/2629e4ef9252e4970d626ca424e88dd2.png b/docs/img/2629e4ef9252e4970d626ca424e88dd2.png deleted file mode 100644 index 0642c1caa2964d84818ec0b483349c4f8e53161d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7285 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 diff --git a/docs/img/262e648fe4e99ca02b386ebade539097.png b/docs/img/262e648fe4e99ca02b386ebade539097.png deleted file mode 100644 index 15570c619a8e5f2f2026f864e4a451f2db726726..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6050 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 diff --git a/docs/img/264ee345c8d001f9b7cabf52e10f47bf.png b/docs/img/264ee345c8d001f9b7cabf52e10f47bf.png deleted file mode 100644 index 1042fd3dc067b765017e4e36edf8b6b941cd6075..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22959 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 diff --git a/docs/img/265f035427185c0998b05886114d104b.png b/docs/img/265f035427185c0998b05886114d104b.png deleted file mode 100644 index 7bc218af356d10f3bfed49e7eed5c6f774599bbf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7478 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 A?EnA( diff --git a/docs/img/26b5d3ef6b515c199d6c860ac62a4671.png b/docs/img/26b5d3ef6b515c199d6c860ac62a4671.png deleted file mode 100644 index 68143805c0a8fdb5b3fb527e4bedf8468bde8953..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3739 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 K!z#f2?!N%0PUm9) diff --git a/docs/img/276614fbc4ef7b7b9f7a445dffbc5691.png b/docs/img/276614fbc4ef7b7b9f7a445dffbc5691.png deleted file mode 100644 index 2c64b681dfba44b42de4b4df30520548ac160a32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44672 zcmd43c{G%795-B1wn7P6NA#m|n+avfmV}fD$xInz8<H&}G}clPLc%>{ElGAWvTtP@ z+_vnyqOmU->sV&q>G|h<pYyzbzUO(~bLO1;KG)p$wS1S)_j7%}*G$-5BmEPc!kmW= z9Xerf^M>i6Lu}xoL#%LC7G?{jz8%H9T)Jy`PnW@9^!?eE@#~qJo6D&CrJ$e?85t@1 zxSXAxor8melarH+i|hFD<0np>;O6G$;o-4<trd9aPyv_04efi+MwU|`&ncC`<`X!@ zhw0fL<jT=a1LM-P(qHe|OLHq*ubLZFr~Y2f+22d^(t3}zgBwWTQxlEY1?`~Sc~LPj z0~1zl-v2G1?!B<_c*=?J!@+QI%Iuv?{nM<h=yKM!qz;x_M}pxGh&S+_(Vw2DM+}%Z zd9=E&pTZv27F@AK9Q~<fBEb8!_5H*ZuA+9_p5ouKfV1JaI4RZ|EvW7@o-P*f6RCC2 zd)KEwrnc*o^IGv%+401+Up|{>?*|}DkILIV;@vQ^4X3DgT?CXrkViXKM>z*Dk_z{0 zelXN3`+uy4Q#cnf)ZxR(ko4_M;_Guz8+?)rS=iY1b<4*kcoNh2GOcUsQa?;6{B-by zZoJ7siU}Bx{*uE8$P~wZpgdd~mR;iuPWR!>+Mr*^9j4?wY=3dk)LXw0q~-axa7U_> z+G~43j;a`veRi(q^1EYOL<a&)rC($%B(0=wbtUM+LS1(%X~AEIcVo*|DYUl)iaGA) zc`aywJ`k{+wy(oedDQw$CUbIThE=r#%(;07U9df<69YT!jvHuqS3Q_96>?CHS}s~- zbjaKaPaxPNjxHUpAL8Ah2X3tfERnX_<)Gv(1bcvXw^~G&=dvAPGojD80m1ky_ixQ0 zwjvf?&`u4Y-B?!GE=)Vw9Fp$iSvctYvx!n6ehSiNt7=!0{*;fJnGyYnVE0v?Kfd7T zL{Qvp=dJ?wpQy58cUvSc_=TN%oxW|7*P~V*Emu*yU`?R>>U}<foe-9IdqR74*3Nz7 z0c)K~(zb1RMFg7upJ_!Hy0-p0bJ3~31J0}(33)Nx9xk2B#fsAZz1I%PP-hD3X^lJ{ zgEQ#di}G-BH@x+YRm&umcf-wSt2o8-tX?FnY6vSYHBGQ12no!*PWLeftm*k;D|>FL z$z}ehKHu5D2ebO5a&}HkZoSgK$FCc3BSodPxgXJRKP}A~aA+^;k`ikG`(j|kYj%k_ zJ0$j1t;8J5BZ<M;SIp}Wwwx)!vrAOITZe-s*#8fG=B{t}M=Lx}U+@29>6kLnqLh^4 zZttVK@YOhx@oF!BVe^f+!l1ju{?Q8uGJH7!`@11l9JF#zQ`CWIdsw2y**TI|)v(Ko zTK~+mV$@0?G())NBK1Sr*wTFR`ovdEq4@q~W9}Ro80BT!6i-3gzC>Nqi$9o7a+-3# z^Phye4RTGa@87N$8oA0z|2q3GhSmfd3+?{Qvw@MbQqdYRO?VO(9w<3re1;Ffus?ln zZN~7)Owqn&O~1{s|NaB933VsUm6X1KKPe6IzQuU{V0aBrwF&$2BcFW%jMmCV{c5pu z6h!D)ZCVde_b9<z^4f1K?k@(7I8c1Nn;6v;<7O<%Ehp%9)cER~c+38Ez*93&iW?Rt z1IsmDi0+Lj?@Gf**mRy1T<+;e`9@nXXRmZIZ(gd+=`+W!SQFIF&@$h?8+R-3upE)u zsgoTYA1DkO9(x#7`*%=QAy+ZxQu9<vP7I!&X*_+_m+q?7sY2fG-p{bu-=8OU*bw^J zf<`>ge3dz)758uQ4@o?hLelpua`Da6`jXGTS?LcN?^fK@_?l|pUssit=bKdYQ@$+e zv`FU#{cS;a>A(@0&m5PB76xU%0s2RpIm<Z<XVXX@V*o96M(MZp`?^8?-zOzh?!Qxm z`Ec)zrZxz!wZ46M$Le)@#46k(ez(AXN766j6Jhsz$7cUbV7giY^>DPEg<c^JAC&$4 zWbb&tCD9u(Y;&Z0A!9cTS-Y3DcC2r)j3?&k{z4fm11g+L9HC%hN}*5Y>7lbST`y{L zI&Fz@_dZ1D>S*OQeDK_n)J*?y?BF6Rx)vRHSK7D;sO(AxJ3QZE`GYIt5np|{iXT1o zD?FZ4>fO&*Kd5wbWKgi@K@WXz^-+3SoO^_#=Q(=H;O#vRn=Kk<sa4p2-J^qwn3qrR z{N*k%lc1G>d7TceA|M-yR?_t=e8-es2$8I7{M51X7~U(6hQjw;msL^~?Du6!2UZ7_ zf<Eu{KY0%aK1ru5!31w8;8-`g$#AZsqtG8wx7B`+ja=TR^QVxS3vhWJhjsYntPO`B z0+n@u`1z`R=O36np!i95Q+iLa*dP8E=bVlduC($AErUIS=qh!IeblXfwz{vs5^3c= zuc}NV<J=zuJW4C7Z!m_%>W83i%3_-k#zAyE+(<gqYfPn-1l_g?QQgGs=<iss$Q?G- z3s-~`g02f|_R3`zR(aD<na^35Nu6h}!0NnEf%i2-><C_m<UBinqqyC)5-d#k(j$CG zX*FvUe>s%ZF;o=op=#xRVs6KQZwJZ&>yWbLH@K1`^KHAPAdcppsD+oR(>E0<g+^kP zVTHv2pZ<;_KGj`(eQXHZgnNlT26eMNry1!Nt$KAKi;}MlQ(B7rtA@+xEn_%en%wW_ zON_ej+Gqmy!ILh-Pe!|agDR`W=IqwBXD4^3r8)F^M;7c}V&^itffR>$w&8kQ^-FAN zg^%4s!z(8*uADQINf{b69(E!a6>=j(mq;t{vc}pQ0%7~*kb*6yd-mPZp@{wLj)00# zbZuSk4Tp>7AwRcFj=mVo(W#6RCAMvLq{z$C-)SZ4+Pla;B4B-JyYiQ$`4{CcP;Oel zFnNPXS({fcOPf2Ki4E3FKDI4sVY~itgd)qmVN}%~`z3J>!N@7$%!%GN<2#?mJ`;ZP zdRS<?p|Ddo9CBBzknFN5Xc_NOIkd8avnyyhR3X{TW{bL(%hDTcG*eXF2Ot)`QH{hx zh)ra#2mK($-YNA_%kQ_zDqDi<D)xlUC;b6B+*wqxxJ3lR{pX3ML@3|x8(?xW?xNqi z6Ka^UKR{}Cv;w3K(g!dFn$+^4H{TZ0`hayGd)t9v{3oTd>orEpq$`kim4AtRbO(8J zjMK*EXnayj86-OXeJp$-Hfiz?6L_AuK7I2h%l}}1s<}2H%0>SDHWqasX7#}`Ca0^z zQF_E6Y$hzX!|X|?R0%Y=+hJ3c_u;6(m3Dkytz=!Xhl}SUg;|r7mrokxXHV{0SDMli za2JVh?6gEcshXXTXLlD75YME(bm)47+nJ5?v3sn`LP<Nyi8B99j#(2>bJHv&ffwys z0bhr)K61fn8xV=z`Q$a2ewS~g1VzqWoE;*5iPQQzilzVFYi~|FQR#aUws)gfSo>*e z99Gquz}EMywD9ETWt`jDpu3poSAx@d@^taB!*$5g!O(S)TPFg3V0fQ+^wM_&6<}GR z=rPI<<>Kz7MEXlHAL;)+9P<CeQL?&EgdYml40coIInT;|)lR;7sR7(}RjRv-<bB%g zJMrkH+K@}2vQ*vhSVob=Ts4Y*0fxo{#U#smxK8&`;{Irmz2O?mF2ws(8<=#4Mw@YQ z8F><O?WhU+eQl<9u?KgiVqYwMXL8mwEQngqgOSvA=C!-=#Qj*U@*aQ?KUnkjlk-Xd zfhT_P;7QH!y;Z+I-`8c1HVh_}7Ado8ul}IA?><-T!1LG1wks!bx^+?u+XS>C1o_+8 zU3Iz>i9j$$q?Kx&alQm_KMs{qqeE|MRB6++yJ<!Kh+xc`!+JYvhCO1)`wdq2ulvdK zvdZjH+TE(e{o4|%Lt~RTFimwh{s2vCa#&ArOrG3JDzV0YPjPQ<rPpimC0*uYuHXg5 zG3rnMjIv`Qhvw1Di&6Q_d8wJB2NHnKmTvhVmZR#pwqqkT{u^0K6^frnb3W&QwqvlW zr!*EQf;1&&2Vs=MStUm-h<W)%Hnc1U8p<{WTR+<T%7Oi=A}AYub(*09VU(n6`E60r z=gGD%oR@XFQN(svg|ZHAXj>Z$8jkkR__QxEmy9gfZL97YvnRlg0Awm!h?6(C^9_a5 zUL3j)6ux$Q5U|8KGuv^@&Xo756~JS!AQ%?laizJIz2oN8t8`CWRd7W?DAp8UJPlZS zC@;<Lp4$Jg$c>jZMG%T<Z>^1QO%(k_^8W@fzSXL*rObv~5{#!*i<rx6B5i=W+*t`y zS9lLW^O22ko*U1qd=<;Or~YgAeU)BpOS@I%mpgNRjNlFLV<~~^1Gz-#uj>|th=_k{ z#3E>5JH9%4L*Zy6d{j01@lDRK<bP9C{H?$RnhUVcZb#VCWCCEnMd3=UDPoW+X6iNx z7~qcKK>KJyJ&zHaRlKy|^kOqTal`;>&S~?LQGMqi5-a$Bh>`xkG2!&V(`v=j$y?>9 zUqAh<I)nr-Kh^wzP^)!6qkF*Ez|;tC5`*YhRwa0R=FX9S%k<?1)xNHy886EBTaX_{ z{+;}|y=^6|=~giF<Vwmf`(?|OM+aVoQ(vvpJ{1H#^~wuei_k&se-fv!YjM>xDg$RP zMDf*q!`x2@tD`$>$<z9S60g%_Hssby*OKWPTi$>9mg=6Y_<DM91l2vcNk$;3$$y+@ zjOn{|V&NH&9q2k}1^|#b3NJWGU9G0m6*C3S8-=iqU>Pc*LlnLAIH6sHZL30G`03u1 zNJ9p8$brDv^}JODgvX?6yThLy=wH@f<I*B5%tFxpL!Fq#c`e%Oi(o_3n$F~1Z+}IW z6u&wPi#kpBA;x3Y8+{m4bN%Yz6FlFb6^};c)qv!>ks8XxrJMKr!`m6-P6Qe%v7v9% zCnHQm><QZx;iF$Lqxy-}9wM0%j;2#55z76&(9N2yAcQO}D}8?woGNlPd0R=xFHvvH zN>tOgk{|e}Kqb?n_0&nmGW`Q~?r~MoSV_ba&I+Io*h2(ew36-J>w<N<UA&cOht`nA zm<5Fw@A%0UW_?tl(_aeHvytN1S~MMQr!}c>bim(DEc62Xrr7&+Y@2<hx=4}junCVm zG`Co&R{mrgW&mN3zNFn+6~YY}Vj8zUKGL-xCt!3Z#+ymC0-IJR;ZF;o;?Bf_H~7gn z$y0Aqvu#o0Rabx1l{JJ9?qJ(glNl!wT{OJ83>*_nxWq8t`p;hb^65}pRN4uVqj2F} z6@al$61(p<3PC~fY!)S32<W=r{pR|Ph}y+n$SyD5*uosK^1;H$dQ+iLCsr`<73VAB z-$VTAQ>rVcIal``=<oFw%KwR4S)82O?B6!twh--Jf6QFwk7!)=ZIuj0Gs##8dPzUX z`t{01X!SAorp3I^x&&g?^>6Xc9@dG)fS>EY72rX8-N87F#MAWEqc8&N3s<Do${A}q zExr3DVp`J#$*w5Igaa3iHbiqnz0JG26}hxUN28HmUxHXeTkn$g3meUA1@1g+<*c1v z*g6n-9U;Z<NK=T!NcSuM?aFo^z#I$sM#r5+?nV?<3-sSUW?B9knX|h$2t%p$2)eDG zh8VFiXXrg?f=7$OJKwy^Q_(wDt1C9B7G<mIpL{b#uj#wiDChOVb6Sj6zE5mdR&Vud zpN6U%S{Zads4Ih^PjacfRpX}_?_inS1Uq$_UbhgvtflaHzs%)WWA0QX*sr4<@n?a8 z@n8@5uur9Aex01$$+rJwATcQyVIr!=*D)qJHD*2#UtE1}q6;Qe^S&@!ZwK?+R#r>u zp6KlkswK&#?RtRF#?K`x<Z`)iVSfjEdFh}gzq)WCFuL58wudcASZ~`Z6nh`u<XoS+ zC5^}}tlrwj^qhoM(XxE=@0u?&ta@6ja}bQ`ymFJTQ56^ecodI#>?kXXg<1?Q@b+`u zXWvh>52|a=nWoDazY*`Njevc=I#FksjKLfnY(w7Wco;)BgBB#UZoWI-3}-|qQCdo% zei@m53(|tm8dXb3fv&G<aaO9p*xQ<rjP>}iMa7!XrRWp)2~9i&wPtj%X@@$ym{2Cj zkP&snuk~mN01V9Lbm)@8T=0B^)@)A(hk(A9)g*(a*p?G(St$8)bjDHsGE;Y#K}L&w zLM=1MtiFqmqjK&lE1R0Bo!cb*-Ld+Ee7}HT)WlzjvUniPrrYGWSB+!H=-+&O_SB?8 zo|yhNL5KXi-&{PWUjN`E7g!eKd3Uz}=?i_T0~o2CH?W28N9EVe7sdzR+n>!dyivMI zuY&69W)PHn7O<$yHGYqfg=dCoGg?7?sC$!VgB<yz%}&<sYI*7HR?+Zp%qTL_Vl%=} z4Nb{JYKB^}`5+RRjkL;FxlsYxy@~xp_}W(Q&(s@|ZgHPOWbgffk(0}fny{sJabL58 zxcqXE^ufl&Kh6ri&C3>XfbPMpmeuiV(1^$Gxf4xVQO764VUhz4(GAbW|H$0nUZ~F1 zM+&6n1hz~cD3+8U&zNkwITIM5<I)iJ=Xk+~G(+z1jDxi5jfLta%6?N~=MEy^<~$>3 z=3Vc0^y5o3LWKDB&4)o{_9)atRjQR8s=VoTJ=IcIynLCV%z2t@8c22T|N5pY%uM!+ zhVa|xnx;YcoZL9=EetA#E`9iv#<~A4PGJhrO2_GrlD~abZd$kH#+>1gk9zb=#pJKb zTIKs3DEURurUy-Aha=|Yh|fXS4Ps-GZq317^bsAsCII>$mXp<vZrma8WTHD82NQma z{nULI$6>fjRiM-D>K$h;ABDm(YeHUPQ&%>}_xpySw2$KE>_khioLE7jRVBdPT<gKN zJ0GX+%4FWUJI?9>F(lp|n2<l`Wyvm6?}>aSJe@ybz|pyzincmkZ#Xw7>B=dL+={ka zBKaiO-N-W-Xv~@FV)T<K?!Q(GiFp(JCLrMzB{hsAx3Fhb$s6^dYDf3j6g|F4LPT}> z%inkM(LL^%zCo(;lhHjbCxRRl^!CITzyhN_`{Vq<IO$BTrmMZ)gfqY}dr`$(8#RwG zwxY{)(6lZ#FAIdKYt`et!lbv+fkGQ5C~0qe_E$RD;b7tHg)6*ML)epw=6XgC<Qque zdd%}Pfx&3LqtQ~Rl?WF4dfH>7%g}nJ89v45B<Qzm%X)@1$Z)r>3ojar1sJnM`$0j5 zKhA);+hJxIfW@q3N@OYIAp%h|g4%r|>>53V0w?s&f|(Y8@pqLL#{Nlosj$md#I!EA z#N8?voMRtBJB<vtaAjCddMchXFNV~qNd?jcXtzz`!F0k9!ADdn$39@GV%n|_XwdZT zfSbXp3N5YH&AqCCBg>*{bc#?3G(rY-Of!ByuGeV{r_?bv?y)<Uq3Q0Ih4O1Fy;T?Z zaqU10$wh?jzF1^=K-<3Ee=>oAVhhi>TGfAXeThW>y00+Tut^}?Il$6$KFHWR7;udK z+9dQpf9u;ZkGL&+KzfQSfXO_*8YRE>rA|HmBd{ivMSbtnkEH9zoY(W;7~H<@P16!8 z@tGbHhaT=7YfvygA9mz`!Vuntu8ue&X9^j{Ck&1v#oMM#3-kNa7&q6ePMjupH?BNB zz#d?`Ws0DnbBOjc_tkDMxc^8Q#SDm{RE6!Phu$_5FF+F>PlHsSiVBkjyck-l0f>pp z_(4AliKqkpX+?`^Q~45TH<yv6SCgz#YR}ve2Yvoj6MKhj0pa#P6}r(8k#?a-0gdhU z66jlKQ7;_2TwGTsd03BRDa(xyEI{A)aAD4Xyo}&6??sRal>Axad-uO@WZ1>9e_5V4 z4M}Q5&X`7WF$6aU60Z>%Bzp({#3D<r&P&fk#UA%aktLgpDNZm(HlHM$*F+{NbwT?> zwk<x#Z*(_zql)p@|M(9oL$yM(5zZBX4v0KH&xnS7-yK?d4SS#1+cymz26Lmsx*k^L zg}<K-FcjH^7}>$^3Og7HTG*<-yP`UZ@8DJk4=09(zIk-(V^t|m$Ff`YKD5|p_S?f3 zixU6qpMELz(8<^j5p-jM(6W4Ll~KH_|5<SD*E_<tu4{;o=vv2%=|{agBv1&=;MB57 zdg5~9mQsFoXVq!bevh5@Ppw*y)6MlZ>B9x>7KuKKg>;Jt2k+2P_a+Fh%n6aUsvj1K z8Xh-exB0DA1)N;Bs_^n#_i~aHLky>f5VA^v@~Sp}jOSfg!*#y=IM^hK3s<#6ww-*) zl<KShY|0OzAhR|(r~BW9T+7F)4Xw+s-x8_(a?*&lpm^GlWCoJEGu))B?oV8eVB+Ho zcE7(NW?@-b)PKfbAl8K)n66i6-HTSRUb!ZSC#=L-Ovv=Awghdw>6(;ODPYF>(ftE0 zdN%Ng;H6ob@L&I6#li<{jGgTgsdk?il7#s=cij`nxWxwxLDAPf;eJSI=wD}K_cR4J zos|xHqNd)rWr+=rHP(T3!}ZncR4%GOy;E3OAR(E%%eAE^??#D{`=5PjI)^-|e&>d) zNdy^jb@Kd!dufyd()IR1d5<TWR;N@tgFa3_I(QfQj`qNVD1P6bJ-tPHvr&Q!N0ej3 zXCJ4=xkdWMCk|jTCp(Ck4~H|IhTs;ksbNKG-ybgnuuSq){K=|31Ot|$L4$?CsEQ9p z6#1LZL}cIg^?2tyAxK_ru2l*oDyH19di+&ohm87&n)$6^E+9W+5b%sIKk!L$&XiF@ z3zKrR+~l*64jRU)DENIVoRI%^g#6R_Mo3fxW{cY-=468K_amURXH?E$6ZB~}Z+aDd zYtGMM+P22Kp}DrST7@%NI&EW&MEcc&u3D|yb4*v+uyhjGoiPbnpsNC2`LbBSm5AOq ze{R7(XGEFhy;>eGF-0R8KH<-ds{?A@Yi+Rd$a2q_kz52;7A*pLCicI6{+JQfFg-Ng z<~k-m7A~4wXC-g9(9P%Hv2}D835@m`oea{1AM@?=2z=9p4L!WswZWRXzAei=BkCI* zbXJOwGpBa9W=^E7U|@$bWI2%$B~{;3j85r~8t;4gbjYG^g`;*xRU2jzyLr`*JiRfn z$nSRKe@j{Ke@)4BAC(<lyUNGV;eC4AdUztu-Y@Vk-mC_7ac9?h{dP55a5~GkVRe<d zD(51aoYv6VfyX92(sbbI_uLv|mSBmdzX*<z+~R%gdT}RpW}*aQ!C&QNUGAdRurBwb z0w;h`)J#ayPZ<gJkx=Z9ss6>{_Q?bUwPVI1M*oht>f^t4XW2(OsHSJ`{GfiS&JH9c z0f9O1D*gVfT1UJuCQRB#$aptQ`g=|nixP~F{Lrls&_}DUy?i5cxvYLlp`%uF&LP%u zAH6?4^}KBEl1}$WK<i0&W8q@toF>LKwS4ga*z4({mW<xnTo9xi0+APNDi&PbR}|@~ zk<UoJvl^@75i;VUiUmlJjgpo-q4W+0Ygs+UOcO~!b?4sl1V3{7Qm7<af|J_q5xs0Q zA{T^{NTX4R?UPm-Lb<g?DxIEQ*J!9IZD+7wn;)98<6*KwNqb&avF}uk(B%ld!apu( z*SBD@+3)9`d{s8o4lOh&>z$UGYf<~P%Ys}n*}^hT=m{-*$I0wK73$)lItSezIoT4D zu7jGH7qUo_eIYwbOO-kwY-31&cptH!L-#;@NJ95#mH=E?Rl6OSUsfuN{pah5$ZGqY z@FEv(;nvdMgq;T-*OtR|x@Guep{1K(;j6U+(~sNjb}hlvX=9j~nRRV^|Mn>j`JxR# zr$ZcySr+gV!5r+gzR`EPTEAaDldcqn*2rH{K!#{$uC(ourBLEeruX(DE@j|TE$*Vj zYS(Li86Rq9g?PemUg4zd4Aq%O)E69u5}!FXJxj&Ns-T(6xdH)#cj{MLoCGE2__C{m z;L-M~6Z^t0fw#cdACOjUR)t2he{C_w)z}#MOY(Y_HJ%dDGLwO$?bKhWYUgXge|R_M zk%914=4(^a`aGB$gUDl_E<g(Q|6OgkefTe8`7$3^_+P{O@yVViLBE#|*(8o&J@5V? z?ONfl6&(*SH9rq?CdlUcR<(XcTX~iYW19o0Y2g&V4u_{5a<a-@l$1@PY?Xgkv`=vZ zdFJ=3j4R<MCd8V+<B-Ust&4HdAF@LU-EPG-&BqJdzpqs?gXI`{HnZ4CZ+Ss`(5u_R z<WhkIMir%Sj{Z+j*#)a<(UAcjgF8Owrib`57iB^z$dKe9XAs|Z^9ypO%Rk%7aq+)U z^<HU0Xmzed5NGG`gH#DIj1n7v(0I6djNe;?PTB+7nw{wpwI9@Y;kis8BCMn9NO$Jt z!Y?{|fMVGn$DEh;)ck7nuL`Lt9{k-_h1R_uw#Yx%if<anJds-E3g&h|z1!5yvJAK6 zsi)?*F-)0NlV*<l^EQ(CyL6QFlZYWgJ0<Rw=He?C8Q4QuTxe&IRW^HK8~LBjpNGog z2is8&T~}dAMR}e%{Losn%8&LN+2)#Cf^?an#0=leS);E;<=l5;{arXp&Qw+o9$?#J zgVP&O;(1NH?{6%byiUFX*?zyE2=q3+I@VU+hBrOw&b1;adh<T0T#u?PUH|;l{tn%g zEplph!Ii(8X9TWgM^|7?xgK%IU@3(DarV|5trfSvy?*Ku@0i2GDqm6UIes-RS0AMg zH`qNB+D*QC73POIaWzj0_uo1ZcBE@XQ$6H!dRKPFI&u4;_6}PE4eMDKSRl8>=kw$A z?UUEi%=KsOR<mc}i@{Cjyn1Oagz1bbrgebP9eX256gb8w_oZzV)qh*2iivibpQ1X+ z6J`-fM&9d{03mdf;c@%y5HmdtM>4x%f}}v(q^}|8|CG&}xOtqJJ>2E>UG#Th54O^G zPl-OE-7QOeTm65xS`*H)KNg@8&(7Jg(}w<682<lD%TsS#EbTn32}`?o@F0$2x^Dss zg|h|2^#(&wMyo82Nm3ezn3iJWKyx~K!qZX{eleVlGVO&;V59if{IenXaM@`;G*$oQ zdy)CMN`<y~d~M*h;cMOhh4HDs1Gu`bR_4Bay2%6RbiXF<Hy*gG81jf8h2rnbl+spS ze0(A?7yR_#D{3akw^RKM`fyaYAS+rDx=nGn;9-R_tt)P<UF&X|>%`JtIDu(Ywav?{ z+JX**;ZF)pZRA=gCku90llN)j0Yy9U0$9=!A~AOzspPTLWU4;ZoIpxu>hD&K0OajY zThV?tYHPR<li#msEffrYO)(_4*DRN}m&?Op&#oq%c^q|yRa>Snmp1g4=Yke4S+(D1 z%EA(!_zbQCV-1Eo-o4cxm4g&07KJsbXPat9u3_0LC7K?GXCxjxlas#eNg|vVW3~`Q zmTw{cWHd$YF(>-JO~?8dj2xL|lHEfKGXEB*2RN5P%$v@rA(H>S=OD#w)7b>Py|z8h zvZTO@jw*miamUJi?`l3NJ=)XH!c3zR?7=jFo=arP^ruhH?rK_bH85+g%+g7?Y=%Et zFBt9iIb*TyJXiQ_=Cgw5jQ(CD?Vl4LH`n{Xh`7B$I6L<q88{WFw0h~EYR7~<NBs|m z+Hm2YUZxlKY-Ttl<}RqN*HW+T4F8*56eW{dmdh4QA>oKp|N8r^Mxd~LK^B~0V-ESz zJ5jF9ls2?~;on!I81cA7d;HxQJS~A)v#C4--Vya9o{oMdnpA9=vtOwG8D{W-spL0S z5m>d_cJxA9iGZDH^m_`~0c89FuQAIo$rr#v-Qb(eFKra2Z*LJ$H^<1G66{y66*ehM z>$F9SIvQ=J?C?X#GqxDsrzS5=ZN1~pm<U*1Ns}>eD|o61*)iuaE3N8`GRosEh81qU zno;}LlD)qo{VP{-{m*sH2V+a>r~aMP;q#lg=d0dIH0q!}dbP)*jSiTP>^l%5jom&q z#^gifi=GGnJmyDbK7gyJm6c6^8U4T=0ng5%H}ZVj;sfX$%==)J(!h=Y(_M}_3;Dlc zA|?6@iBF8pTPS$qj=$~n`po=gHrekAtThiq@x>LIcX&mZ&#FCsQvVa%slcpvZD{U( zGSlt+2`4j!UAgdheW#kn|AHyIC*y7;gt=qI?os9_?>DQnE8BVE@tP;0`7o6Dlz{eK z{VM+lARlvauzL8v0vWTa&HMB%+G^4@b)ahwq0^l?iv5oXjg?QTj)P~}y@xIS%{}EC zQdXBaRJsL~xW~Ls=yUvo`w$(6<PCb05W9jnikYij|Umr_a+Oo961Tcp{H>D~= zqn={1IY_HuEc?PEFcYoW5opSRWR}v^<{x{ejZa|G9z~}2ZWDeeuzHzMY}YGHyOKQZ zg_x4qvQ`auTa{h+KlMn{A_#vR{HS<pGPlH*2001z-}%lA&J!_|^H<HlX-`MmX+?Fv z*?^dCCTYoXP~9{176No;`!H5*nBg#_crdo;cui<Q<D+}khnYT8>2g9TX>W5}&nqd~ z0Z&gv!oMp#)w6wkAvi6|M)ltlzREItPoePV|K7`J49D<zy+nf-_0{0FYc<wC0l8Pn zD<fa@gDD66%!2+sD{tM|I|uX5idl(WZh^mCJU_Eh2a|~E2gd<p6RwZ37d<<uz1M|j z%Ka_x?Qpk|7uzlouz`av30fi$Q;wZ_AheifbRyTP98Sy7ZjF5U6pfm0Q@2nlCjFFA z4-nl;&cz=AKYA|6P0C&>9KWk1^GpIIkm~i+LTJ89zj@f*zGAy#7vk83n3cuq;W%Yf zZQxc&rpk{aV~_rxM;5r?ut_MPk|By&v3dwIilsQew_2Ql1S$gi050QwlQYvV-uR-G zw+LE7&|l)m;+_&cRj#7ydvqlpU%AX)S8~ojX?OBE@L+#xNCR4z>Z!dVr2Vx$C}4x| z(d>fCcf)0chjE#k#C5d|f(_v#7iqvK2!Ge1v<|4Zjsy@ts1r<uq?xWcDIaDW0+Lj= zY%hp=JZCdr(xXk9h<AU=8CRyw-#gb@w(oC_Ugn6RPFEwS)D0;E#Cjv<pV#|uOH{kc zOK+Y}eQby427f3ZH5Ea{CWY<NX@%)S1Ri1w|8GqtuA4hUOZKNUmDC<`z|_<p92D2K zKzys;l7E#Z-=IDEMh>fcaP5DBep+wDz>wfBG>51w+|5E?qn_F9oW8fxxb!uglF$|F zdwTuzEmfzSx8F&X4;qPG@>@s2no}lbq8&?Q=a_S+xEhmguYCpt9XqK4-a_8ABgm+s zNb#5lE&5#Y>>UI6Z-S5$)dr;*AFaXi+_4^)+zBU8Vvqd{24wV$)rEqwb9ay{GJ@^Y z{L}|ADX%Cr*&@qir>N;L(%5dR0FYK*r>@QiPL?jxnO+-fVT0c#qC(J`C1`pwFlluJ znnexT75T3KL9mkXbX$%6y8wnjaWK<Nb3knJLK<ii+lJU>=mIii>q2*C_BCi=p@jL& zdWx)gIX=(}oYp}ZbvnNNC?IwS5^TqvvQ@3I2kZWh|2|eYW0&@d@*7X`f6piKl44<x zuY^I<kOM8;PF<xnH9rnJZm!A!K|CE)0nZK1^U#5^l8%MwbZ#tBeRE8t4OglKO|nA0 z(XNCa)Ud-J0!_g>7bRoL{M3+HVfuM!&&on_tm{vIO1ISqaqkSH-<O_K2JI^PIX5O6 z$$@4d8_saya#rn?CeKsgY&gZDU@0_n_Bn;i8b8cAvhi{ln+T^a-pHC*uv>k&&Seu5 zVZmb$YsOuIP5^aP&0+ydyin8YVs&<)0k00Vav+s7w@{?xRsLImOj;!6&A5ixYwDxE z9!wMmWL9(>><Xa-vVnW#*XYR?luhb+@C3&<Z$6L^sXG`$S=M)`P~ijBjvbn|^`-+| zS4q`lP1K!wWP$%uXh!|e%&R?{D*sDRlgKb-Cjd2(N}l2y{}4w{bohM~1&=C$rl&*h zPDpKSJ~3R%9sEw+VD-l5BE<vk!B{RkJYF7HUAB`UbSO-Ut^7`qXKsa}mz0<xJxB<s zI}90+a|4}a{K^rKbWA}>TO?)@&Um(N8MD{Xuzu3WdufP*jX<ZSAfN^v<V33E*=5UJ zXdD$d+Iv8BKO1Xp>l`n_CNuYCqC+*DQZ~W63^`QbdHDdNdg{ije|C$*NrGMV@NKo? z{nAng_uip+isYP~OuqMSJF0f%MpCHV%zakW%4=K99(WtK1t7FeLGvP3o0^o^6?A$U zfwH6m?tQK^M5U%a$4;ypydSh$yKSW%!@XT&qCZLrRH!MZQ@32RDo^hT@LcHbYNir8 zre}U{y`kf@`Y=ksc62f1-bziKv_;Wtt;F{`ivLjkm&zPe{rJIHZjU7{JK9_Ye;mb? znQI1P6|tz@q1FjtF;_!9;}@GvV*a4ucj}H9(yI0>WUx3{7_g!r&Jh=s7DBPdfDac} zM@J}s4pmjFzo*FC&{C9Dhh9>YR}ibHN^WRA%eG?S()!66zGBf>I`!LY$^hwV5SX<9 zE^FX^BEAqH>cdfrI~!?i^ar(6Cx~_r$Q7ZFRE~~mrG7T!wXFy`4y`NO;c33W_I0kR zoX-b2S`IxO2&Na07ALRJUbqT^elPU0w_fxPQ|P)&!g{FGGGcXp^!~=x5z2g0QFR?c zd71YtN9sXBQC^!w2zuhTf)C^SUu!THa!`$4+0lz4r#*RzE<K>=AXk_wK8g$sSfjRD zy})Wd-(8MJ8BKhkjACA94DdTS4$mVHTGG(6PxT9m5ORXAL*v(K3w23unJV&`NKTrx zNa{F{9ie1rvof)Y8jrM6A~7qNEYP&u%<A$ob^j1ZKqFH_kp-KCP;zpWT<+S#B4++) zk@ofA^Qn505N0LqIab;hBlz2H)s?^%%EX2u^|8gA$!@aMiVubzG8ny6_?zDkHitd~ zStOA=W_I6H@Ef$ilM+t{sIga_AgQ}V8l49Tjvcr?F?UDRqmYb)Dy<zT?g;R2JmlH) z%dTs|8}EAtnl3AXYBG>krSUvV)R+T`1`6(yH-iMDA3om9N7d$EqX!6sWTwY$0nt3R ziGzvmY40gUCAb>#)IZhlGmu6P)#zyEn*d^R0M4US7nLB>WED^O6NyX}Z>F}p2X3zu zhuIux_xQ}WS8VymmvE=bc^NEgYe1dHl5;WMU$eSy%ug4bg}tEsis-T3I1jB>U$pXQ z28?<3u8BZEBX07c{#p-mX8p5xbb^d7)zO<|S(UsKyo~cW4!yR;(-*uea?KZ2c&vFq zf{a6j-Fs(c(9SB~;f3b6F6u@wGU_5Yd~zD{&<9_}OK7IisZk|IBQ86Wpc<)VoXryM z7-;;1TFwF;oJ;BR?NviYSv1t30(<GW%g+Ms{mO^(QYeXJ>W&J?S39uiOn9k6E)UQk z`SxEv;fENOH})QA#N{EaawJ89DP^`5mEl(*I$QN?!L5$*g%~fV2<3-V=CK<jDyP-V z1EpzRCxC5r?@Za(EevwrgPL?nmZA`~I=~Gr0<A~b;m7mur$$lMoQsmr<&Jv~Lu%ry z9XKjCFzAH_AJ^+{ru+Y6Ja%-8zHV<-Z<L&=|7mEw*ruYa0S;>?l|Y5xQ0_Qp^ojzu zjp7&P(}y=%iX}d*%;#6`40-zUH{px@Ei^3{@lYiy@WIUnQ9^V?_>?y78M<b<puKS1 zM-52Iy~35WVvipl;WM6mL!q1m$gNQoUXj4|<ahE)Ti>j0MUHs}FEpwI+iOP!g1G_x zJ;dp@^B67`_45@mQ3bLYmWi_qL2K>=v?f0^YfESi+ZvEHcf5yv^N=v<Y^xgf=hf=q zHZe;qQ8ha{;3DWJhANG?g94{#PPa>g<2=s*nb{6%zU^?@dJBj6O)#x7qpIzu1*7~< zt)I)BS#>a405G<y5M_myo!4Sr<2IUazoKkdgOl}egmEj5Dh_mc`?SnOT^NA7Cu#l+ z;sU3)i4c89K_(%Ld;OP5QG4XtX6&;zEWSDvZPb-S`4)@5A5pJJpxE5T=D`RjL9;Xp z-2mak1M~B(0LV6A>;aN~(i%SyC^O2m3>9zqQwvX0A?ykyx&Pk@+|g&^G)*O&3U(%d zb#$W2=v1L1L#3nlXsDVffGsxI&-H+^ZKJ9x2d&McR>}y}zT}Su2)|-=H>~PJ8l^1K zuK3niKR1cV0lhb`73E#+hBT1yQ?a7_Us(^l!QL_=)anM3<$!G-+u;p@S%1bA^UZG@ z)=f^RnL9Y@0Fb4&OmcP3uj?DYxY-VSwT)Xg(JP99&8D=69<!wV@5iBbkyy#tU+hp* zQ_;Q@%G+*uo%j%CC76N~mxcK)#5Fnb6=Ocujm1!OSilUEnYh#P#SP;cudMW|)N_$W z-b0ie{<F%frl>E>z2rsz_~;Ikz`17J6v_Wh^nm~n9qYsfMtH+Uja#})K3CSF0e4Ia zg>P>tcF<w?LVFbOkY&L?-D7v{EWl6+q5L_4vMSvquwlQTYGq*urY?^7z!`7aGjMOO zI8WhyxH1uvaa0Y^0qsI5U)t)Ic<USq+qM;tu=v&Z%2wgtpQFpd_eXCZj5HDjZ?C<1 zIDOby2>(gD_?GRhTK|>^$r7H;mwnZU4h{1=<98-LA1$2kf7nxUbs+caRX>jrt@pe0 zls^|Yb*ZwZj><7<J3l<C*Cy!Zn0m>lW3K`6iJe5MBKGHl^L|k3PQmt1W%vh9ot+^u z?y^U6onnr->ExCNV%eFN0;Mx@OG4D5rwuaC@;}UR$qU|l2Kxnl{_>|#0}&R)Xct&5 zD1&jy8}|dy>~2Dw5T@3TccS!6tnW8jr&!ZIAP8~1VDbty$pJ0$LhCb+)qZ=^<WNRi zcBr&Lp1@RPtNuz8!aLSzwUfqygWj|xGlAJ3INW(?v83{iR@GzQk>77+wzkUdfv~U( zSOVpX@jZSoQYkPw_n<0Mmr?Tst~87{cu{<7G776v>yNQhH3K}|)!>Ta$Ib8<X?lmw zFI(}sdzzr8_kDxip?)*wnPf*HGfnTA@K9Kj<Md`*kX$UYu$Bz=S*a&-5;J=ZrT6C% z1u2G~jN{gf%;V(e_agM;>+V;)e)|SNOuro}O0W_}h?`jVkPE`!h7N8Bs_3iTicwud zuO{^>H{a1sJ(m$esLgep-N#B-0{KTLExeite$B*+gZ+0UIHAZ8Qj2N8eU0G^3)rLc ztqUxZdX*1!7u@9M?P7ge(`z&eH5NaL_9(z6Hizv{19%KiAls||XJ!f2nv~zZ+!w`i zK=~}N_jmzeylHcN`WQ&D5VZt>=uMY*-L2)r&umkP%jDZ&O<B_K%)r}0s`5bZU7C~6 z^70U7OWH;`D#8GK$#z$<no_dLy{ptIVK_#|jSOIvu*y;*_4B(uY0BWAgbl*-lu}^O zaM<A1*2IM*ZsR)bAeyQR*fiGMcFY2ZNHmGIO}%#^=<3hH+6Gd^MikJyEcXBvSmR0s zpqbN#f9IW_J=Gpt9r`BE^y|!Mv1&-CgIeB6-KasWtagxwqfG?63fe~NseN{;PA=1& zHH5CWF86JaMwO&$7YEgk+e=Tth(SlZ2bq6}71ha1GsreFw@IB(s$Wv#it<RHtEif_ z)kC|o5X#9ix58GcdW(V+X3RxBnj-IrA8Dkjv{ScONXhS<SJR>>CW4^Ft}gXOpr=di z?(<gupMWuEP)FA**g)VpjW&4Q<UW(eKeF&W3zKsbUb)F68j*@}eJ228kwqgzq<Ebq zl<iI+hfv;*@henH$U4hHmA0=@Q6*?`HYD7row{@fX|(02I-W#vYVec29B~zz_6GI6 z*V8g<gB?J>Ff5*URUfv;+EC07O-fEiD$#E`g1z^v{NFo8$9BK(I1F-)^GH`%g%W{f z+{luhu_%~TP_|nNbj_D35y#ZTplKsuyQ*0I1hHD39|}+)O~@m*dXNR2SQow<!AwrK ztbnahIST!t;Lbr8#%Gm(9$0^XT}N51Y!OdDy3RorOeU9Y<nBmtJpC;I1vhHKtsbgM z{`=sJHGcFb-1s3g2TF{4TBM~8sV(C?CkA)Mk)Y3|M(WTAndoN$M*WcBPWAf80gXz7 zewxtjGMd^^hzbAXy&`oNBDCg&0-MzDQAlI46nh@f&%RT5`R?&MNjG<Y!`@TuVPMiS zwLF`-|6~$tK4??|dUe6A+8O8qAS<6#Qu3>1>R6Gw;$F_^a`t(sVcWVw<vFE-+ZxtE z%?qOlz(zZ9EA_bR$Q2)Z{Eev5Y(uhJe#IeB-v%u6BaL-q?gKJ~ZKNW|Q{j4|%5sb% zZbIz@^q5Pwm8wjj(2_`^Nm$ls`{Cnyav1}vw+g@GyzYB{%AkD@1R``z)QHJX9cZ7H z6f%I&J!llptVn5Y-BpOKwhbEICfe2G1nlv?!XTF5_ob~+0vl7!0<FiA)ZMJo979DA zj@XS_J<Sh?!Oi~V4%~Ng)JyMSbsN+KaV5u@&<ojA3_c=gz^VrOn4v3ilD&<}5i%?6 z{Vst^=TV}Wbf&)KS>_JJSPptYC%rA&3IGW)vpl?@eujl@1&jo>t^uo$Ux(iZ$==U( z*1tti&K+V{dE*y}V^Y92038%#Y0$KM+RT4~)`_o~*lLe=K&CRSm6UmD@2V4M7mGF+ ze5Y{18l-%Vq_}p&ok7R5RigG4KG)DY!d|G)x46$f<6?oi5%$1;Oi0kdMxp`ty!{y) zq^k%?wNVYrs?bPrpF6^MKTvsl_;=b$C~8GWfgN(VB=yD1cjQSn9FieHkP=u1ha@wW zliWVMHT$?t7xA$}<$X}go5a=*hpOLrNBNj<q!ZA>GBW%U<yH*+PPxQwt?Fv4n#rUx z#fH~B)rPXH@e9Rcs)zHQF-J-w_ZC^+1tT0lE|T4S88E_PlUSCD7Kh%rOv2m8J(1vi z@-$p?D`BbimTPX_e0A?uI1s@-?*`fxpZf|?i&}Y{Z7c3hujr3pRb{2Ji!GPz@qik9 zi=_%F{=VpG3MHYa9bq}Kni@Mi9QfLqbp1L>%GN^?RK|K=f{Mkw@oq<sW$fPF%SLfK zczdl8`L5qRoBMm{?o6KRrvR5$>Lpw##n8+00XXZ$gx_;_fKg#xlJ<7(q^>f!=U~vi zp+>yPw9H<|{DPVUSQD-bi_gjFDN8>g0~iN@bzau^0;ExI30Xn;9yg?8u#?Tq>U7i! z@MVIb0mx2e0~X+6)l%`8)^mz$S<YDP$&o-n&<5N)4C;$Rjd1su-l!YcdnYzfD_4rD zR}a8`nF%skY0~cq7(I{3+WK|@GI-SRC+@iblhX~Er+cfKPhP&bpIm$u>Iv&IYN2xY zs9O6Zy*zM<rWg?DxSwH^V4n9&&V+}2Sij$N>R5EZe;+9E=tR60m~!Gz*^E&W9Ln*X ztI^?Wqi!&Hj304KMmBn_a9sQc^_xb>SQDH{-6~YxVB`5NyIJFBh?WT=b^1XSgm1ql zwJ5K=Y(DT@6-`mo3wgIpUG=IGm0_MoHh3a-r42_8_%VWVD}i1M@tul(?+s!d%UJ$F zL;!&@)d)bX<)K7T7?w~)O#VjPpB_W5h=6>a)7#&m1_35{m3(hkA@QTDq27Q=v9rA# z$yCe6|5$+NrEmeoPzuTd<dVTmV(}L)8h68^jen4ixBED%Qksg?k3!@AO9CKYl9nus z!Z^}Oz&1bYslCG$AFQg0avw7v^u`@202?P}mt^m~qPQ+zKgdcvBcrjjM=I4AGeEA) z4-v2xFl*JjKAeShWAY<K2<VgYT}S*vk-7lOj}yT5gI(zL5@HZ3fH8T6`jQJzX@sw~ zN8GQuHpR0sib^dlQXlZH7+SXD@hMjS0=PT=2z<qw|0_vA1yIgf<J$2diNacO7FA<f z{nw95Mg^qlCQXJC)j2l_9n@9n$w-pRbj-z9XB_bGfe9MXIH;l@PId(p8*qgw6puGp zL}vaE`1YMN1Akpf*)C^d@=_NLrvgbA>oITbRh{gHRct|u)%X7)lpM=&N~Sx3ZyI(N z%vvUt<_%N4!Pr=0`?OV8Xwg_MF}d&Gslqe;_q9!du9w~w?^5TS{Fn5=S@SC^G(a)< zkyjE2G;amO`X3}1hVTQ?=b`u$JS6o1J8=4`_YpASC2EH2^QPfUE`$?yQ1wQpqF{dG z3DHxe<nw}xf9&``uEZOYDHM*B!rnHVHxp_nECO48PVo`P-2W1J94iQURix@W*O^j9 z8cCfx!cnYV>|G(@jh`FB{-EY`z{zA{^-?#c6v&!_b`7|ogD-RiEIzy7@2EEO*QKrk zBSYsdT`n>VjkRY@J{Mk6>@rd6YKzx<-*6t94nRfu5dGg@+cKdIP1PR(wv9VT^N4M| z1|xuNAuu=E6?MPlz2pa8(95pNy=I4X-aN9e^(0sp33Le~SJ+T1u<xWiU$G@>&k!Zi z0U!7k4bO|#Pz$GgW`SOB5z*iswkoOrvA^+S?tJuW0+5;p5_^^EpA6;(kw(T%3OpZ< zF5w2}?$==tPwIi$=%*<0n3B{UJ+Sp28SRbFLyAW(g?gdN0Ypu$_x6ghGRPHA(L=el ze_tviRp%9tsn_Jr%btUrA}I-mMf17)npfui-N8L=P``vueS0ph9O(L#(*JiERhyIV z8Fc!e<$q&gqDVB8PI&4)_+*V3V6kk3{2ZQ|6AfP`*b7GyAzeYRDNbKljJr7bE+`VP z^!qHpOzNqtrDAOfo6qj9J1GYob!Y5qgHAPx152dxBcWJ)?hbgqU|^BhMeQz95BLw9 zbp^VN8>qijKu5Nnq4~pr`?fuPECm~b5eP*o;o;Ipl{xl?45T0f7AX6xu@~5y%sogB zWC6<*=YO7d1^Cz$ttN*An+u{fOq#xpB~j#ThNY!Uz?%7w)0ZHs=)&TY2v^P%&_#Ws zg(K>}Lx7Yp<vx(LZ1Nd<uWJfcx`8ul!1)hZpRO1Q%b&RdMi$#=eL8r81a(5Dca18V zJiIIBhA;!(s?vU0y8t;3TSIsu<Z#X%So%hZ+hQKV{TJ23DZ>|#_X|v9z^rC?7BhK* z2KWBlFec-AT1b_r_4Y1tLt$OGQ`QxKQSjr?v@oQLQ~V566+9Y!&M}N@Xpaj(gKS+% zkz<Kdhr(pf-HsgCWgd$pAFdMpJMX<alxy>q_u+uW<09xGMC~cs@4%{hEt48>X(Lz` zE8!x@A+saZ@<?4PoXKIC5{%w1f&zN7OaK`%)Jh3aUCFPF6%~~|87l;uLDaXT<YSWi zii2=jKM{Mp+^kt094a;|+Sgq<?{yKp!&=upIK4M?7K~u-UzZz0vjzD_m>|hkC3+h+ zDA{(3Kxt)`^}K8<YU)I@=6?V(A(RRm)%gXx(MR{Bpk8TkcCV-!S-5=akP*z`YtF~^ zfWl(+i66MUm#^*s5vMj#M&89^tDQLCV}MKwiur?8CmAqS82Whcl3K#Z=u7NROlra# zvosPAyV5#zgAcl(Q9&eAsn5XCWt?c`$O?eyk23Tt9&^X4IyqMS{tsmjhr%Av<-G1( zOQFQELdPKk>$zZ3vQkmrj=8hc*OR&2z%~<jnwSUE$zO}dWQCDddMh}Ce861?i2biT zSi{!T+i#eetHsZZP+q||z9`?bm5wiTFFSs`$nxE=z8W%hk=|^8oaiNkz&iUhH|SV} zO3gNp=f>hitSfG|1R5Dcpf%$tfh<r?&@4%P1WRx{i9YG3f3>A`i7L<h3yMB$g~d5v z5wlRrr)H8;fk82P=IBU2eDvJr-6_*|lt4v@^Ji-HnmD8+w;ftCvdd)&woc%gYI%+p z&ySD>3Hf#}$wSx%-20Z3hk`s%(G=7hY)NNX^>MV|&R;|K6z^rk`p-vL0+)!^7Rtfi zv>J=Y9fHh8=9aDTpHZpHwiR_UP?J+BPQ^%L5+2=dIdnG&CByd*Fi#bSse_Ik-n2s? zlP{dWz6DAgl8F{}co*c#vIG9{%UW^Ba1Y0Ut(c6bTtl@tyLV85UCp@P&)RS*Sh+`p z|E^RDDXV9<3S^_ZM~d>YJ}{GK@UEMsN9b~CX5bz(9*wn9dFpXvr^Qs{p~0@uFM+L^ zdNSZ1GaddD*d9S~%av%R`j8;IXe>Uazu~0u)vv`aggaS)%>PB$dq*|V#eaj3j|COM zf{Jueipm(2DiE-Nh*DHqhAM%8QbdB3P*qd}gs8}bP#;A>dWxtJib`iF(mN<H^dg~2 z5#P&i&%S$h&z{}Cav+mQGP!f__xouVT>3N6ZiDbQM72Oc<dZ^;=NU9G$)7Yyb|#2# z6KniVZg)0zX6w+#`**dvb$#U`tR6*Z_vSjEL=0BkpeMwAKA{r=27ZNFg`7#C%TykG z{BHGN0x2oAXLlDVFLNtzix`!pk^eanE8BK4bYaiMr<hVL_j3i8U~1?-9$!i>;Mr(q z%)P6Qest*&tLI7?Si*hv@2%SaG)ttI%`u&RX1A!bvIdOgYRJj@Z%>;1Fzm*D_Cc91 zX8%Dm!eT+|=iL)IA4oX(I@ea0sqgdmxsR`Oj^&i*SB)FqD_71VQU>z{dnA#OCm1O5 zWmnnw?g&ymF?kCiNr1C=R6cZyi~mCYdlRXAguMly(_U?=mfK;!9NJYIS0K;6*`FGQ zK@PO?>biKi&AJE-7cX;H(tVRio5m`IN`}urDA~+a7HMu~;GcU;hG=!Sx8hl^$E)5} z8hU*px~9gcFnVOa_C2>w>X1Gn(0%s<L)6C+7Ik_@NSeB-#vB}aMY7%^^UQGZh`0bE z!14?Tq1N%+Q+mE}3o8_oUr&O`pVQNwj7hv%dvvj;uJBI#pthC}ks?l{+=7$#A;#^v z?!&uC6mbW&9gIR#$Ov?r0D3n@DtigySKXsoqMzP*C)VPEJJ;$v9vFT^S+mC%9rNE$ zUBVr_ypz$>UCyf4;Jx=d{1T^dUn39u<COCo;;{kp$`qu?xo4uU^4y28e$bHuBnUnh z2&V7w*Hkt01*<k>mj;~lh#+o>2+%O4!aNhvz9+;E5GE6<^>GujYCTDABGUNKmGo^K zd>%v%^Y2rz5oMswjt!&QkgdnF648%4ohBKs^}UR&ht$WV3f7CZk@DS^BmAPb5VwmR z><_80S6t#_4x_Il?VRio162YOv?J9@Z8n?HS-;zaB+4IB{)<<3a6*P1#s6He+Vj91 zWD7rYGArJFWi0c8x}q4taKi2Bykmv)#bjX={X^)B+j;&;R9);`2NUg577qJ(E1d@n znfHsD;%Mp);k`)ZJmay&Utc36ItNOw#r5BL6C!&x-@7wm^>YQe>kF%J_FljEjq+hI zid56MJ0ZbB)wIgC+7?w-&$Chm)gb)8A5#76W*pS+Fwy2x*f3r<#o(+pJK_6dp?}+g z1X0Um>=(CS?MjJqH}=AX<^rWT?CO0cEK_ZWtd2EJ$jc$kF%Fbrc41#U$>nvy0!?5a zpH>r2qLf?9a&_AFkqre*z7BgWGhM9NJH>@Mj<%(-x}veS53tw8m%oBFzo);B>^$7} z8={6l4Yr|}+n35aU|q{sG>oubB;fD}Z=M>hl016z&$$62<e&O*V`e52%#QN7OxZUa zL+AFOS81fZ5edej7EH*!yhHzs0u-^d3{ic0_!2P}KzOZo$P$+y{3VFjk*)0E+;=26 z$(e(HyF+5|%aI#=kciboNH9z@CImLCyPZf<OsufW@BhLjJg0j*s@-9s0L6{I1|Q<+ zUrshj3RXm&X_->|Wk*B^hMEZI(Q_4=O1AE_;a{pOf5t6(hFyoylz-3~_Ucd8WGBfh zQxx&98Igt1j~WYbk{Up(9n~h<Y_)a(zw^=rC&b?N5mrn$c)N0@If;qt$)S&})tQg6 z+dfF;*8{`*G&2DrRg)E(|57sgF#1OwmGSu^6@Q@SkOd-SyQB6)oz79T@JY0eegR9A z;9}v*d9eaz?&6j$cx^?GqTII{s0x?a1i2e)#H70aD<di4KdiQc=|Gue<6jCguT=dO z3TusL7(B&98n?ftFZ6`(K|#N#Nz6KlK3*BkI*OLw`GZ9>L?a~A{r}!JL!7Ude1?)U zY$I+shVmr|6FyR^<4B1T>BbWep)|jIv1F2vt&NNp>KIsY3JqB4@5m`170$(h(u0uH zbvw&m<B}vi9r@((zg4Ur+Ek$(-CV-dxFxULxx!|jBc(@p^~ysCZJs08Y$F(6faG`E zQ!)jWzC*H2r(L+rvFdpdxQ{!Y1FP&6%(KiP!Jqy-!szpSVY7RRq?552l+2Pxm6DG6 zM`<Qw$U1jO8-zxD<-3(rx3Z-*g!_Pf@_AH_M6ZSh%Thm-(6@~sPVrXTn{I7f(rJ@x z?x*v+z#257Nu$MgdKp^+UH8t4gK|j*GSXo52!_PG@p1FKZ8FpOVI`E2mFr{$QEyVZ zD#&&O@lTx_BU;;Ce};*_eG_&&82=dj*4~utxSke$_tTt?N_BN1N4o1+t0F|jBf45> zIw@a0F!6wjB9x}ATB;YhozXL3Pc{6|p~)MMr9D=v^;rJ={+ReHDzV(qOiP(nNQRRZ zS}o!b>|F!5kWOmdqr%WXddpB!g`J?p$U2t?Wjd^1*Fc@$vA;dhCJoBf!z=y<kSrgR zrhqSrz`iFuItRZ`b-b!L6c;d=<VY!yMbk^k9^mfb_L#5|3LwFOVs&WuZb$e7FGA{W z?+n4Z4lHOQp$<-$XSs_ffvTj}pm#3k8Q1H0!1(`YFfV*oXxKdH2O5%pAz5({mnG=k zo2dzaS_ewNG4yCCW_J{2M>A?uazJ9ncC<)kqp-85k+eSh97gr(aPAnvZjza>CHfv{ z(nJX2LWqzZMM=dt;USdy?x7yn)d#WXJZ;`V2om6k?w9qwHooq$Fq(7W^NNr44Nlg; zjntdfImpo$iQNxKo%KmCvH3hgUq&JKG)XO;jlcT#bixfp;Pm)gm+-qHZd(-~a|xSV z-3MnjI4MTqg1>#yDfEr<4u+@(AaNbklobV5oudbekA<lq)sJ@o&3U&YA`rdL-5X;= z6DtEOd>SOk1z#*B5t1F`hjw#VJ(jt)VOXrs(?5BuXTIv=)qM9u<|=gXy5@B*KT?@E z#RUvi5>-s}Jbx#N)A-mrR`m;4MUozT^m@V0>jIaJ=Dl?uVPz&C--&CBx_mOEI_M7t zeLF$6d|L{D;G>ne_`nzo*zg-9>$L&wm_updkB@oCJerr0bAKz>V{51%3_$-a|8&7g zk0)7$BKpR(DDB^6c4~L*z*=jVZ9Sd2N&d$4d8B-waSN^;HgrzsyK2c-cRAFt6LxO4 z-8y^^;%VPLP^Pfi7c-wLW^K2#1r-v}NvWFqeV*p8jQIP58Tu>hsf+ejkFM2wtb0v& zXwiS*X*Ece{4J8W98aQT0V9T4pw2imL73V*%hX_qf&p->_G?WCW@nBR9k{x)KvzBw zeT6A0q@O2}=I-&JN|CN7np2FsSXU68;|;C(`v^`BZ@=2XIR-Mqv}_WcXV0ztC2uzV zjklV|%pSS}=Yvj(AX)^3J-6&A>1$Kt4{qkq4|GIAR3-Eq&Ycf6reS^Oq1{It3czR- zMWR&@FQ0Z2?E6a#wJdnG(g83QR$-#7pHv77B7Vr+gT72Rze&l2qjaj@ilgMr$zlMx zKEQhakiL<LW^P%`gy#wO%@AFe?xZehXHZ#GBG@C=<hJY(s1ksIomluTv^fWwI3biK zhjM>O<sXqmW~>m2SW-TKP{yH%pQuA5)@Z+lPtG~~XUlrK0bFM>2DLJ`pRqJ&qD zon_b3R-PPC@A-CA#xHwYD7Jt@bhDYchR_67v{irZAOawy4+1FQl*v*Jv&?Q7R9kFe zRFO&&lhUuv$4%`7`Y>kf@tH0xtbq&Y_^_lyCkLND!OG@eS_3ToTR<e%$&c`|Lwi6X zR2P0Y=8Yq#_8>_wU{cp<7aJfxZ}3wjrY!o$n^P-_l)Sv4-vvlbcGhCMb$lXU?T#~7 zOCwDS%z06w+<|hIs2k{#S>=Xe_J?7^aj1QgtVzu;3Bd}iZ3?OtE{@&#b?3DMMTLJx zo^lv{PzxZxCK9EIjtL13&^ADioSfm+TkmD^zLP(-Etx=-3Qul%Q`|t@hf6{eF0@It zcb)rREubV$p^jdl18;hab!tJzMw&7aL>^c??xwo{T9yg$dGddG?nmIq??arMzKcUt z054>-v&>q*i)_7&L|0kg9`qu#{d_T-U?enFqu^r#*cYiXE}~mtI!XeSsWUPrv&Hd^ z+3Vd&(+>HzPLv@w-o*6I`>PLKD~(5O2m<KEfn&vBm5nOev*U;m)!vv>>qfzm*=?p{ zJwwY!^fD{ge!lVZ%d<iEizxdHr)K<|II>*PPtz|8vBDd^T+>~+v0xEr945OgJLEIk zzI>|PAcsm$>5Cg$x%=>S?waC?Mv&CF8y5{QtvsMRVk>K7Q?)yHIam4bPS1Y}2jQY% zGwZu2g652#&RJEv3nUDO%`z7v2JEZrsM-d?H*70V7tQpbXUlnEm{%Fiz&9+e*?9M| zP{zo<-1iRY0q6uKTXN<)Y4M`y*}atouiceCrKxl7Nj|xop{w}mu7O87`9|8ySY2*Z zL}r7|?5}SEw#jkvKgIO|&Pa~nGEvv5p2)CcM{~l?bk*(l_#(0_?Gh;eTk~?+`ErpG z`jO{Q@L>PEfjAxxdubb{UOsVBo;;g;CLzc1?7Uc9)%fYXxm=^na9o4YUlku6lTvqX z);+P4qhcrY#d5UR!#<XW?}dNJ?cXHP9VOqdx!v9JnVzNvC+p6SamOOUapdp&(6yDe z2&VAiebQ>VC%|Gx`1q-fRd}c!F3!*23z_$yZp;;Yg5B$_;u;(&hFWujTpXAEb*6@% z?Dl>up!faJ*%QO9m9o6oWix7+gr2I|=R<PA#h2HI);uG^zQiOa6Z7||S}GAO)y}&z zW3M3s<y`0T5)Tj0QmXYCaQeI)=Gvb<$OeW%T-G>i<&~9RO8yEbWh<d4i1clQ;qts# zB?jJuV5sxw6=Y-qtH=k@pgCbhOCf|LWSVgctE>HVLE?Gv2!T;pyjK|)1If1)XlJIl zW;*eflNSnZY0C~gPvx_YSUp_qG|8$>&bT9AvTcEH?W%hjpZiS;^I$(H!rjfP`H{av z#Op6wZxfK^j$)6TLg#V?o--RX^&sAbQ+p^vVVV*k7C6FxK_(z(#yPBJhMXi^lH638 z<Sd~P-B|8E;q{7{)Vb;MZw;Znv&_uWpqS{$A&Y!;JX!%!BdsZYMvsWU*Z+q;@|yox zg7LzMzpPqgFB{v(o3o>V^{3Jh$VFp{{?6FGqiPPdGrx!E_6u}Muj4fR^6Nc_V*6ga zSr2@3Fk^4Zsc!@3M!|ypzl%;3H~Lgo9yHH1GFj<Zd(g4hSc~SX6GJK-4~tMzV7Cp` zO4~RVCirz#CcRYc65IMa>9_|G8O@2RUAaTQEumqYreIX77q+7;J+9QG*Y3LSo3VW_ zf`_m0muC9D^E>_WbyLhNlRkf+A{6;s-eY&F<7KJS6F+i?GRL%Wt1E$7f-kP283&Fu z8;e@qyOVJwXT2G#FZq#KDA*HGA3Iqy>j!JXMb~lL7EJ+WdoM#_a7)>n>9GC`lNE&% z3d$PS(lhgX3>H0n#gIQ=y*>+&S*MRzguaqct4|o$n3X%oJoTw0tKf9$)7olPxv3|F zwvdMfs@m|KQTd3O-#_nc*ISyO=D?bsD66^g?dsBEA+E%c(h+@;?rq+XUR=dwoGE?S zCZR}p4clb?u{?&JNYQpUU$y01{u+zktS68=KK*)1zQL{5v#rCH-*qLOwuA)TKcUzs ze>GuNpeW&Gp{62@<aNuv;z{DGtDd^1D_4o2ql9?=JrGV>C7y1FntM*F6W?aOgyp{U zMZDl|syd?jz@g~W6RU%E%G?z+&|kten3A=Mr6w1%{$MXOl7lWgz8}SV)&O0x!VLTS zs$y~+_T<mo|4|;3UL0IJHmnzO{bZEpk+6MUh?9V3F_=JA*ihOg`q;y5(xHG26ZIGJ zQ%0Pm;On>SuIAh&*sMSA#vgG0BumA<8B(Xp$V6@{n6jt34x{WnsNPfT13+Qa(NY-% zqqo4~ZLqisGi%ABsZa=UvL+yj-8qnA9r=cRXKJk_f|)q4H^MxKjy1zw|B^D2_KL)D zh_O?<?V#oX8yZz`TZgrtm!><OM8ggYw7Mu~KJ373bP>=dU5sq+Aazd4e6L_R(bAMM zD@pm=vwG;?Yo*Is(C-VY4v%fx(tS>$g8&NIWV?J|6XMmXjO2=-IvQwqB4iZ3nScx5 zn|Ob}1Dqqth`?YUgcl_nu@Zn)DG;etM!fP>8K5snTWPh4#NG+<RVks0(I!n5tZCE4 zmlz}}z-ep%?i?LAm6%f2B9mfO&v4y0U`Y^HVc<OpNgaHW3+N+EsBZk{gy1BR9{X<% z_rv!kEkIG^t%_u~2uFe}*0!rhQL^N3ZHlV~cpa;UmuZDc2=PpDwR7v+tH?*ZEm@Gi z9J2orsaNUVO|?^Fr_0Ea9xhIlR9(@!>2&WNXQD23UouH;&uK0!9!kL7E3rDO(H!b- zPkGO#??+P{k+e9H_Z1+D=3l?{9VeTSd0g=83&@>BI?a5-%&=jOJ&d|F*h9zO#f!Xy zZN|1~yit1?7>X%<VO0rteI*YttUfUCbFjESl)LDl)*DLVOC-Vw{VC^UDMa0chE;M| zUvXCjkCu^B2{zM2$}yT4P)Y&j--(iC8TAjkc02ETq{X3&Q);T*uT$R?)C#lt`BCq^ zPDGjrVfs4auTFRL3%`9M9t$HRwGzZ(j_6G_#IkpH>*7D@0$rV7xg8s2rJF1wP*ReG zn9v>^k9-Y3xXyBI4rG@Nc{Jz?o->(FvZH|7-B{rLGl6pi!~JNqI%-+;h`@`2ITpkJ zmN<_@IA9FONhLdqNVz=8RrfIdJOLRcWdCcLeVa%**)RDs0d#>T)xtG5=7kBk(Rq@_ zjHwio<;}_(%<+!yWEQj*@k0%7T|5;Ko_K@zB|Ygv*R~oERBjuHqwIfBXRWwOvb!vL zwOm2Z;L5F!Zi!eeiSFnr%+W{uhl1TVLk*Y5i%FCNL<(3D#vzWWc5f%Mfow<Hyo-r< zc7T`K_D$GRccAR|pTuvcx*n%Wq21mHZ{npw70&Gp$UBr&-3{7Lsai5Cgrt+HFG}l8 z0Fcv(=UIfPCCB_*PLyF*mf(m4dggjpEg8t96JBCZ&MfYQKs|iP@W!#0MM*8R`2sWH z3{>ei7P}4MExK&1i`4yl+GF!Z8|T*KN^_FxZLfVH3kkl&D2b%g^BHiGXeC+yNn4fo zOJzj&36{M`D)a3yVTpF@h*f}j2)^?XeOyW&@4{pd-ILz1YqS#~$pz7sN>i^@NY+&6 z!YZA}QL%Vc2u(-F43X#}LX-#`Rd=omW4g*Nh#-_(L{0J}H%_)&^eegP3-_9rMa4L3 zg}C{CW8t&dcm;2YgSj;y)2iy1MK6x}s#%KA#&g{$)mg5*u`G`tpyk_;Xv%%8gE7ey z?*EF^EU)JvsAEtj1I1sdhm)G63yQX@G11c`n8b`<c&v%&MtXOWV0!&RSL8QesG;SG z;Mj2j=)I^SgpaLXnW!^%n(kCAp2x~+U*89-PgGRPI(-3mK^D(e<8qdg<{NVjQ;kZ# z1(RJ)NV20EAA7PssUz;6M;+0JTU{K~2bK9z2jwj^%tU0!VTgrqgs7lxyM>r1!Z|kB z?a(R6n3LceJu<!_tuzLp*voS*WrHoujW!hU_b6zYBeAS{Ru@`%$Zh!ZSBHC#7_R>| zD-O=<SNYe*jGmIVqkNP=*=ER;)U)&xG-lsFE-E|O`W82f+6%(<>$}?PgLxNx7<e#| zRIL?i=iC)^=$s7v$w>GNQAIiUcix?LoxhV2>~k0?KdC@85mwVUST)gDO7rvc)J1rg z-#Vy?wMsvTr|-qpa0?$}%nMRwWDEQJSW8Yq+*cW|H|dF9$sf8%Ece+v2t_^g6zi*U za3JFEg#>~FzRcGuy>g*pbW-PASA#9+AP&l;UtQ$w5jo(P?<BaXO{8eCPFsVL=Th*b zdzmTv5$#q-Z$HK8#N`PsNN^Kk&=yS=R7Tqz4SFTN#6s9~_W4q|ST<z88I_T?yTe`` zTG{UMQ|KAV?4cv2NERKQ2XQM}eBWHeOOG?+u<UW#Ax@#eQU4#C;b|f*a#f^j@2z)c z{l5r?@o>^*Br*K@Zzy*@(b!$T_DUSl;EOt%H(kFDReJxtmW<ujK+_36D-KY<n|M;x z2h_NrBg&4VvyX22<;WLq70}F<;vx)v8l09zJOlxh!GVm9qcsL1t9`jBH=LFA)98{G zsuxS5bMyGv2_G1R_d*+M_gJ~df*G{Aq8jK;>MnF)Nt(Z$P4*xW;L`kb<~%=0f{j-A z**%sMJ4zholj|W=Q9tp%*Ut}Bhv-jW7S<r*8+mmB3F(Ynl0$a@{uvBnziGdxq|-r) zIK=Njwg4+2uM;ntN6JLGW>McW9&EiHXIakG=4wP+c1&y~nB&lLL!^9|1STp?xGkB~ z=WGPl^T7Byc9U`y185AEb^!>Oly}I1ZLJd7?JSEjJO7c-<5dKBZ9KuSML#E&<tj%3 zT_m6?mg*k3K$YUC@!8TFNQ}62V~o5P!4O;xp#Bl7V;Nd=3EoTICj$^tLg90{Gl}7( zVz=^(frH_9poVYWux`M6Ys2c_*`3+i^_%p^$X+#>EfHuN(KZ}=RiAXZZu+!9zF)$W zJfMhjvKL#zNCLn47zqRp-f;4UUAl$k;&uSX`nw8tWX<e)-CTV;Snc(O_$|vatlF=m zihQ<;3w>c(U-o)y4yu5(GLPFgDOu*KQm<R-y6Tk8pjmxP%2&DN?2_c40x0TAFNBw) z`of8(6GMZjMlLj9Bn=tpn1ZM>fT7k2*?)7R3VG;F5q0RCzU?qYeoA^Fp~B0simv27 zW#C<I=6?r8mK`kLl<<*R7$a^T2}0Dr^vEb9BPXHU57y${>)bXLzAfG`<7YqJ`nsGK z+-D{&-FArf3|I@MykY5EZ;!?mPs+blSLVHKX>|0RoN(LRF>8}Rq`eCfuVwYzQc3(B zCM}L0^%R)gGgd1jaX@9qnJQM?n^SE<eA%m)rh!-OGv$oyUrcMNm+lhlUtCSFNPwfQ zapNE<7u@p*Z!%W4F+Wck3O>X>97WGAIs)Vj+C-mXpgOV=-FYZ_3I!^}H{QC>=Eqx| zLq5EXBzc^VerI8ulV&z-(bPe+$ZpR=Gp(U$UWJKgpBPq?)#NEYfyAvtt|Pa;M*jKk zeI)S39|Dr^CXQxqLrjm1gU}&%^gSB8uJp%${A_z#bey%;Q&MV0MD2w}epFL)_+pwF zeaaW>aJ!H?@l-3;D+mZ9#sCF(6b*x^@B+>4cLU36%Y-#pz`sKAH*qA&9fHb5FX!Jr zB&Y2zNM*HZUa^%?-L1HBX)~`Se~v1ucR|;o*$i<CGD9N9YyCe&W7ky?f9LCMhtadb z1Q~kRiQ^r1`M(HeW5z&Xt^Nx0xQ|f;P`OZ&xMV!4OxnpljISH)07CeqKrca3;Afph z(<{lsH(^mA6Eb^$i?A7#6uiL0YZILBx778Fp8_oj6AZVb_d*7b)RHp@QLQ(sPaq_? zP4j*t6#cub1Cq*Y|NcRs@5aBw9uT$m?iIg(P^F17&CxSuWGVwJ#MDUZQ~~}=2pBZc z>U=0#S4s;BaHW#i?V#d3U`LUgB43$Q=)Isv70hGc-EY!?j8NWS(T<`G+bFXO7YIqm z5M2XE&b{J}mv(@w{f1xfwO_rTh27Bb`IjGZ!S8BEaqQPKpS}h~B<6R)eKHP0+ndum zzOvYEv{IIppkrG?HB%7v<bv<D{vWMNHuo_G0}0#~%eu8O8H6-s!~Zj(1F&>G?m-d< zSA{u$fB-0wa@iUdSMI_<-P@UdWoi?imyxgsaq>&`|NQp~+=kd)aNMnb0i-H&61uJx z6V==tDfK54O1UlZn@F&@ENBs=o|g}@@c`;%T|Jv=u;?>Mmh?_E)hLY6D0~Y|@cnZ2 zadG`~MR`l-60DL2T)lqY`SslQFR&Pz_`VOQL(vP<KZkF}Vl96IK>Zws1U<)IRFZEv z(S0-0Kwi^W2T!El<0-DMASzeKMWAqHCi@xX3&jmi)r!p8`Ass<zj;FKM24RdP^0w@ z=}WlDq5}CnB6gGs23``1DEz@xG7HBRGLE8Mz()Zm86%+@glP_ho+;_OWYvXrYGXw_ zKq7F-W1NKt_w+PTO&W^VX}=V9$9G}Nc8$HgK&aqI`5=L&Nd3kY{l2^z%`}7>j^vL& zC}s88XnY|{+W+U5;zn_N-8;PdIl*|TT{0PRElxnW@9W9VBm0Gs1>AFG1QQ0auyi{$ zk5seUNUIqi4h<X(meFMudQWky>?m)oRy_uWH1>qvy^*yD(8DS2cPUqcZaC>W@+mCN zF3|#s=sFeowDuU{#7qj^OH_L;a!egsiX*73R*u$cf_1u*JaZSZUShn!-qf>TNvD>2 z?zQ314U+*oYse|qhzBh{$<gx$@Nd?!z;8WsioS)=Hk+N#L=}}aUgFI3Mh^23#4{{1 zW%6$zmFJPr#)3nt3|AHX=^9qfVLm7`GFnCwxm^(qbg|nIAWnZHfC6~4Ni<jcO{CcQ z93RQ!=<O`;tZ1JO2EO~JJrBVU_#{ioey7kmsqIt6(5jID(hP_tnG5YNNRB=eFCal# z2Q{LPYU3EeuoQ}K9B{~ly({hF2z|ncxvgoofi<#FyZjGIl<GRjf-6Xls``E98znRA z3CoevS3$m56y2;oxu?FVYlCEIv(LAU2m}(DI<AA}J|`I%=U`jcV3*BI03_6OwL`Ks z)R3^C?#fD;Cbq#gtv$WlIEC`)>yQ><-a&63%U*9}Y#Tu*5o>uOZ5xS&cpXCZfV8E+ z8u|GyY|>%XTP<?lj1M2#Y#1j0K@qm6fGJ=QlzLO%lss9q?hna@rpuXPIlx1^>K%A= zTQV-VtBTElHLER<kL^0evbbuRYtUQ8()0chcK_ayl^w7*$Ik#V5{3^3zPaY~UJeDR zS`&?&W_Ey2?!C*R8ar5!Y*qn8Z7X<Fy93p^k1?<0Gt+AyVeg)8s_&7!Jtco4^v*!X zhURzn0YtrA<ucsi>g8#((OGbtv@dPGu9u8yGoi})1+A0QTN~8S^g?o8r-dUyMPtus z*d9wZ)y@ZzCBJfUw6fLEtFWhZxZA0@#qDA5Mju$V#;OVvVg9{RUPz?@^!K^k&bZd+ zhLx-y{qZkeI`6Gj{AsBVE?9SlznS7X_f&8{0)RRZb1*_oKh6N{bV@zcpae?#;9NQe zgr4>&_j~oj560!fa1sGoIQHL1G#ryyPnS7yBYl$m+AQL^|L4z8ntvyW9Uk`CeXBM4 zvzLGy-)!U$mj0L-2Re)_jQ{rp^C%s7;y<x?2#E%~=kSGhTHYEcpEso-1cP}|hf2rj z9k%yas13iR06GYwXjUPrC6MgffyyFH;fqZ6hv`R3tc17&`!4x0OW;WC$QM@ZL~O>6 zWj-icwBvwYR&wK}x`%hh=1)M>iM`Box4QFRJa(duJi=CnXI3t~ge;483N;+tNAplX zlKT^|YzxtXM4+FdBy|yH^xL{x9g4`S8+5Y5pUbJ$0?2ClD@M<&qn8`bRB^K^xZ0$z zcO@2vpokW;P!db@qLqC<V~5jAQsUe@!ojWY+dFt!_$Gl<jst_1HLU5z{Rk<~_5u5H z*CXxlNmuTHUT5OV&z8Z<(BIK7T&Y@?MzC@%`R0%6PUoCDoM6WJg-P<sB}Yesp%oHs z%(m*pxWnIfcMH|HK}N?=Pu5f3l5l!8^)T&3^d3A1a(z$Cw>j%uwAL6&qSq*^{7DET zB(=ac`JPUsV0IYh;hAuWg?DiT_zk^&)18~J{Mz%_laNlE>8nXcI6M5v#}&0$lDLAQ zv0`+JxxJd9nRBG<4QJGY7iD`RUT+NL(80|F8?g#*m3_W1ACP;m#t*_On(?M`s9qw8 zb4Cpg%0Q%!1NT>XmmNGMUOpl10hxn4LK)2#dZ+=*B(;V2j3#>LH%jRHu&qA-!Rj{} zAAO+5VP(lY-fxFEtulLz#v$rHO}W?dOCP-9Bo+JCf$gg2VyCwh+g0TsMN>2h2Mx!p z?#u@&ASsW3v1WE#{&LxWlhRVbMV@u$nxBN+t8s<}lQ-PIB(tpEA6Lbp`uZ1`e5n8* zp<*B8Q2VjZfOYn{3Fk=lRpYu_9gm}>elxPQ<Z*`RAw(H6QbN;-`TaHAGAFuJ*V7pN z+Wl{L+<vX=T-?H8h%%NoG)!V&SfUA67N+6ql`TrN&_&u&@;9Kjr*z*}V!I{*al8d# z7=BWA=r|~H@<nR61b)S_^36b=X6gjn5}#v@I3zLaR47L8w@rl_9zqjy#t^WMRPSqo z%D7cda6psOa%d?lYTehH&cY+c%2r5a9CktdlYN@s2UejU=rUFr36qtqq$}rOGoNv( zFxv(o#BT#$0S$EEM*E;Tx?s4Q1V^do&R5Y&xub`Wk@HCP@oZ-w|6n90v%Q{7M54Ot z$VAw%&PLdagP)qJBwrzj&!DUX@0g5RcQbhJWiMUhXRMv<q;>#3rF$tk*cNemf*Csm z?ND9K2D%WA>rH8IdWphrhE>b6x0ipnyTl3DI~ecS3{Z`;^S(}&Q{5Z>9Uz~Yq?Q56 z)XP-r<W2g}n{3L;FhYH>pX{X0E--XL%*BBelQqvIA<sJ}Q!2P0+ySbps_;V0l!kTI zS1i^|aTf_l3^g&z1(G;BF}p%xQ%FejHbiz4GR4|;9&rLAENk;L1K$oU1#)^GZ(LrH zCM`$4y3QSh>EriT5X?gZJzB7RFDwz^$`Bw@a8voQ@)9@U-ExL0eSTAA5fxp6X@N)b z&xSbWdmp7_YP>?XH6~U1Gw{yKO&)c)hN5+HEJ?xn@&#Go#vIeTTpaxD&71?}<r&rX zyoWDI!5XpKIIghae0|6tP)b-#{VImi#NebcJ!J!^(wcw+I72Ipl-escw;n8~)!aLl zSc$PGT_5yRkeyXGFM#rNG2xzx?@OtX3hq-DzE$JNq7qt~y3Q(9FffhHGJk?$FQ9($ z(^41%KfTX93;$}t5SjXHuL^{MP$h67nO?M^V%P6u^QRDhjY*bGJ!SX~_X6?`>D6Wy zTinM$5%!HlVcoEd)_^8jieM+?Qvk++kM&-`wg0Kvh%><7=I9PuL;fmmg6I(fON$SU zfpIgR`v86Sh5Jzv4Kll5%8kvEaR7QAcHvw?qG<}hW9M$dOarU;Ul&!h+(7;o?Gw?k zCN}F;%rr5dF=d}fTJK|aRp-AT2`e`Z)&V8N18LDFMSIGHR434TTHg+xp;Lj6du*HM z6qH#fSPB^d;lY;0*GXy<jJ1@_sEt^M+I|HsWptl8%Cgy$?cUD13r`EEHnIv^C-ze| z?lZ&N+_4*mPDz~)WuXmG{wJYxK&R{1=t;#o=}f#ubmL5rIuNYYC?b&4D-0kwK6RC; zkdN@p)gC?-*(Rg-y$CFaE{KYu;LfA;lyS|Ncv0}BRFgez5m^r5qja1Mpt&`XsTy0> z7B@-ipLOzyC!I=Q%EN$I=<F_3GZecn%dt{o_b5&I&jUj`M{V-~bkN}}5}FN3Xi9ml zwn6?&-<|T!Rax2462P;%2yNb!j-Lt9fx2h9;l4lczHiw~{M0vc$pf(V(50fO03})^ zh-*MbyU@%H${F(@D&CjT%Vs;!LOdpxKvH}OKT4dYNBQJ2dQ_n$@awOE;KjMWDXK(D zOBmL;2@>?$FrEObtD2Zt+)sue3M_}bU2~$Dw;gM6R54^jM+@G-8nLGwQ+xE2<r?5a z#a`tI+Fbp5D3p*?1ZMp^x(OLupNb)s58UiHAe6-6dhaoTzn^wn#~9HqM6w{oWD@<; zoCPogF<gx$n$*#BJIW*zT0Dn$K|;?XtKh~wiRyJ!+O!gKoRsGRc30v=<X(w>BVU2V zBh6C|qdVs<eg|v%c_I;S&%DCEO@|CGZoaLun?&*QLo^_8%e)hPC~iVcvU!1ZJiF#a zq<oGhC5heM3A6BLgArNh6Xkb+=N`K1-f9n@ykKIVf14gnw=S-2v7%wcrQEKtYbq?) z+<MQCZRF0S*3rBVJZN?C#yD9^sb`sA&DiHFg5;v{oE!KP=vuw7V<^`68p<^+W&J&A zpQtd(PIy0*LJIZl<2*FbE*rfDtbYh?6GtC>`W74CFaw`E_W8Fs1&0A+-trm+YCo<D z-?#naXNuI(%;@fog8HItyetqjmAUs>zE`O6IPQF7Avy;AbW;sbGom*;At!ZDcw<GC zJl`A*!ge^t(q0nX)~naqwJultXU#OhcRY|1&A<;DUl?i`ytLu?76*Y1V*Q;jNN_f9 zp4GNGUVnKcbMCl=uMfR@sF`V{#Ikyx9#si^d7(IGsKF)zE0wcK#6Hw>Yn{}9)A_jz zxUe?SA3oC~Pkv(Kue8Y&R#(11iF$jTd(o30jfJ7y$;gP67((ApB)$4q_pGPA+QBVX zkramYv{)I}Z%X@$p7V+etFTBP2y6(r0!Cp||0jb>Q&6;rOgoOVp+vGz^!f7@HdJTe zrBT9lg!eDGKMLdUG*jvg%N0%zeX^rmnk0AG9iBCSKgzY~x70K{s<s8iZooAv##i%> z9f#vUG|moYkCth>othV{5?#(=7m`C<z@{5#51`6LJJ8MIO9jXS*VLn3IMgFe<i&@q zB)5+@&m2GnzH#q;ScJuWi21(8NMe18J@5qBmn*>bH3gzq^V&(O$cB!YBCBm?0#bXF z5rI-})&tCRl(*qA7NwhzE<K7o!GI32h?>+N79fw<*K-r?mdDB<Y7`rtyM!2*a<8~Q zKQ%G7`yNRxP!&nD20k0LI}V-m4J|CWRd&KYgjRhTDha%9WD`QV9^=izvqf6kMpQQ< zD%27-e<Q!@e+&Xz2sm(kJULNr@R>J<E_$m0b>ej-&)N|86zd?VEfCrw9zm^177l7u zI*DTP3B9e0=q6d`F!9}W-1;|3Ma~br#X>r!zp|<#tSy#ui}l$(HCzxSr1S|OnLGlm zK|ox8b`y&3L8n4NddY7fU<2@fk~OYn8g@7dpr<2MTt6Vc=%SJuaNUy6C<7&*>dCFu z`FjwJzS$_qs0EP(F$wfY`~F+JiJsZ*(F@K+Hgh|aZZF(w5B_UnK8`;Pn<itSv033m zmR{PFgoU@)DlO-7Z>{8Bz7zB-d?-+PMl`1!Hf^;(xw|4FvE(Ig3o0;+Tj%^K@oF3^ z==rPtT68Y?%+e!T<%P0jQvR=hEpk1BF6qUMw8{+xs&efXoEL`O3)k8TwKAHojWk5O zEf6;SK5n``)*^4~#dQhFy|KD>CG|<YfX5!@T9JCA5=}2<aeL|yHFWXiC{4*~aXe-{ z^MgS_QSN2+K92)@`a04kkJk+Pc+>E$yG{iSi5Pzku?-5iM7yDZ`UQ0Qbw9-7;}?k6 z|LlQ`4i4lZ!2v%>OX(uT1H*N3!6q!LnCE8(VoRb+^wtinn~UX~xMXu}TF`XC$IFww z&-4Vgd%me_?LF^lnY?|rQ1M{uRDXu|FaE!a>*uEaQH{gGegRK!YjwYgXrwf%I<O{% z@=|UmVC9df=c=23jO2zp6q%9ezxL(Y+%O-pX0Lxex+^_Ur^Tc3Fi!hxF6K698;=&f znB04?@CVqIVdc$1ffec3yva}$^brYerN~U+ww7Ee=<~RqKD@@`M0xFU*R-x@pDC0( zlwA{lo{}P3A8xOfp?@h(4y1mzH;!ufWcYp?GhhF;+KvP_*-IM*{<Sb|9bYmZd+ng$ zHoQ9OLJ}(uSDmH(esJ;cD{4_<<S6Y}$?wcx%#vB7Ihj|ocEL0`s~rt98Z$40T+~_X zvQZ0OA12(UON!2(D>kxuFfH#?Q|Wl3TMo&*uK~=ts~v@_r}F&cA{3WxK>vgroLG8s z4F37R-08RJ(%~M@=l$|Ig(vWHHSNrvMRlR{(lGMrtGCQ_oTsC$gW2ClB#Yzv?|1}q zbJ}q0tD`@N-Eh_#zT{)O0p;gPf=`Lhz;Z`_Hgzf>k4~=(oYcQ}r1ZZ8C`#;8v7dSP zb&OnHQ+expM4(sFv4f+5hCNf?D^~Bt-3z81)X!%$dsg~I27V(~n#$Sa3AA?=#ZNrG z?;5N&718>|+`-MgMxo!t%a!0=A3T}kSTKIqYeC1zSYR;Eeh%y`WcX27dHT_k;nuGF zlEQJ{G7~0VS)<)(v*qje($;G~rYD~1?NH?eo_zQK#L%1wfz~{N^)u#%UhY9%zHvui zLERW#1hz>$jS`C-N?E&Z37$v%Hz9hDhLs?y)&DTxEp3WUl%<EKR%Q0@0pK(w>t3NS z!OFS3_16t4;#?<nw=O`u(Uh>UZQ6-&pSKgtpJcrSwfx4i(mS8(qAx-?NK4Hy?cJ`- zz{9zVM9Ljn;9Y{@TK?yeO7fC=9uGRl4++MRw3-+;MJLb@LzgWl=O<hfb<ZQ_m24}i z)jEH<mKw=KLZ5gQcRY}Q0QVJyTAYq?nftyxlL&kX6FMvIa#ca+w^}=mrZ5w{oz%uE z$gdX@>E+ppjf3#|k!!_g9gA`occ>=9hA)lT2`y7(+dFG3U2`O(FWfdZ%2fbG@&O0i zwBd(Zk1!7blzHk}@^kEMJ=tmt0pYNs90~_b;o>ex1?^rPRe*<$13xO3@D}f6CbYp? z{U>6oioS^=y4G-C%+T{^{5L5VxFVHWs2vBdHL_3ZqwxU;HHP|M?fEFP3~rGM+Bj^- z$R{B2oN)svlk^rxC5e-pprzyJN|Q}A04%xV_N+pjnLo3TrGY+yRnFf#ox@#${ytMh zJ#SJ1ZXglckdrv4TCNpia-OE^$N3P}(Ob>PQoS6=i!`gFe|DF1gCzNYF{m_0jjY4d z=n;gia|h>Uz7GF9gm4x$Ep-!K7PY%~13KT@Uqjg{-1;D;5G+O-%JGZ@8TVT5cE}(4 zbaGR#c#q~*bSdCrc_SoYdnU6{5^CTu3vVzhi_ePvas{xl0YugQ<@+xDM<PLdFH*D= z)ru>ZNWwrsgIl&SNBu?GA=}~-b#i}rbNP!!je6hRoB#?W8zvskf-<L?wtPBD#pYXK zm5G6<5&jJXunU(akpPTQWdE>Y1+;PM&rP-(E=to+b%Pf((gLeH+cCtQ#xeO80{3m3 z;?|0UE#skyD;*#u&4n$B?S*ZAfT#j~BBiw!Km}?{e~p79b>yxZR<GnaCf-i~$)+Yw z-=xg%AoQgc&|FIurli$_NfH|EXTiw<>1h9rJ4q&}pf=$<9ZKINV8tXgHISt6Lp=hN z_JAJ+m33wAw0&^rQ|<bcinoT2gB58G6#XggXv+T}_g}dh-XT_qEQlxy%B!ARTOq@s zO2L=hLeji(@9oq;7{gQr+3#P(t>yJC2MW1fdQA&N!@R(L?_ZS%jy+H!%Jve9&vEe4 z8Z}Bxd?wrK9vcl+&9r}+uLs*uW;AE!JED8vOeKN5pH5uzQ!JWdd@}l%VX1=NGYcy2 zB}V61X%e(HbMRduSfdL&U?{d_$lCAHn?t*uDEE#-(I+d1T&Etnw%{Y@hYfUICfrSM z<3Z&tQ?T_H$uU@%5WXYtM&$dz?sj{6Ohdf&)g`Z+%Ypa6wrA4JLf4Pz?dO;pLCYR7 z^;~s^GS4hNC=f-OQ8udc6uZF0vvq#0dsF6N7>JV^x?!7KSwMk4xQIHHlIL1hs&&|f z0|3VV0cy+PBM{2^R2XQ0$UegMk|^AC*s!1r6O;A~FU*}7+1y-QpG;y)`d`6+yZZi^ zjvQ*ZcMtL@*M%kmFJ3^BLCD!MGa&Hpp;d^GG+9aZpo1g=)!MEa%_wUvY4r9{)WH<J z>9DBSi8ZP*p@EJP+zV2pDLvpa2mf-64u)%qCYrZ>4=7n8{>H#&6L%kC5f1P)2?zHj zorw}7Qnn&gJIZ{Q$7H{dhKl)65y5Z^n$in3fb$e5$5wJbKgOiSKI<=wFcN~qk%&1v z5KXv-RRv65B`)6>uOTq=1<~$Lj`@JwnF>}#$K+T6awB@0R)^6PAn%p{5?7&a?8tmf z@<Z$!%hmtx49abFBIf^&g>p@TH}d`>8p^o75+KOHal^k7v=gbMm2>fBEGo?}(zfe3 z%<p6IMWKjm8i_S>SZg4jx|mbjK|93;-gIjz^v!D@LQ;YxD#r+rfhyBtWfy|V>E2@r zu`4S1$B<7PSbQ1E{lXPt<JBaPqs8ir!y}aro%f>6Q|ikDFL|r=Mq{&b)XxtvPe;nE z)UG*@%}gYGT-{}R5S6pBmLZBP97GoW{b<S9h(QD6cf?>nlM|07$ePB~76$HZhJS3c zx?=sa;{;;4_{s349ruYhr6v6wsGw6k?UubgYtw)?1HfXu7Q!!$q=weDc@SNv3hr+< zE1_5xZAgBGRb#CzMWUKj%2%=v(mkI)#dUB;<gXF8>7ftTGkqM@{!D@Z!Ef9-nG*Qd zUqwbhCuCF~j<u!{Dc&;P%Tg}mNwVm~!gw<iug-&<eOw=fjZka3mCs}OKDs%o#gI<j zZg{X6%{_ShP`A>y4y<(HHi(j8Bou@0v!R}wUNhj!0bk(+`0E?FG}E53W+<F2g5sm< zGXDM>@q<Pk-Yfg3V1K4p-}T9_TuWx*o%HK7HQb?#Wl~yO(8xiwy~50V-i%P$<BO(A zeC5Wo@#^Nt+1z>{d0tATSX{o9sY}tB^`dxM3k`D=O5_?sv45e7JZ){!U(LdLj2>6o z|73{W;%QA8m*@9h{!$aVb6T1ZWI2)|{cVJ`>npC^yz3-(cA5R{)59|bK@L4LI0=xH zx((Qc&1b5~gBhJh2|sG_7G(Q?Kl?ok8=hiDuYp3uamUT&B3SE2ZaH@&H+e?Pe7W-* z?rgb}Bke2?>Ivc~sU+Cv+02zqcbChOi8q&PCxLmagcltnF#>eqVw^+@C+!$6`OSEv z@<x&_#?YT4*XqXc1OzPWJ(C9shfb8XFifasC-iB7M(Lwn`CSmSPw%GBO%RF;=*2L5 z^F3GR5}f}1WmQp3&RN*`w`e`Mr}9n!*k|k@^*2Z6_e}P><*XW2wx}^zMTS&CqwD`2 zh&a%rd8)W3`KBePBYLs~e=pU5eIx5~JrTi(g*O+ptb0rve)e~-S(>|z=(*2NFcauj zd+ic+L{}eFOPz}HeRpf#YhLWH&9cN2s3H6NOSY|7mrIlcNd)EwOy=^re=9Lx_8AcQ zV*z=(SpBj636k5k)=!IXZ9UM`?(~ZKM`%7TaOqNXmi2!n0iEGCZr84qW%9gxW<^6? z_Ewk~g<$Nkzy~Bop=bQ@2RXpSz@QC`dB&Bj9d9YVYO)FW%EigAR#-bf%J$s5+0tn* zK}!xX-ni5UYb2nHH-*$sqkF)`yeafAczp6jp(POm_0OnG2#K*KNl3a`qy-K>yXAi$ zv~ex}kAv5<Ap4dbPzXl-@AUtiVdDu1WGnxl2Y|CKmx7H)CGUec;qx0W1n+PdJiYOT zd$xcu+btlv`5}mV22X+q@FaLI$&CZHY&?Kd{R=+W|IYzDVH^3+QV0xd#p#j`>a>&c zv(^g)g71U>?niR3^111_KlZZv1Et)$_9p;*%X_CGHg_ZMec@Q{v0|Kij$CPg`LIvh zsgyOz(H=NT?q=@Q^;_38Gu8*d?g?vu3BS9*hrm6=&L96<ot$N5wnw*}x_9KzMv65E zecw@En<CBgdquB{^t)r@<mNI2W-a-r6E9~?Y88D7Hokw%%t{>FX<JWTmKx}wZk+51 zrcuN7dOXu>j9Hxxdwu+w-udsOE-aR+<QZah-AW5<-*}z$;{P7SzMeiCQP__et^*wh z%9{8`Iu}x&+IjxfsFB>Ro^BHuK(8j4*GmRHMZx9!PWrzF;rR~IPkXjzjFW_+#IKhM zJ*htUMsu_>=vl^Jxda|*cLkQlx^6|XO~*P{+%H=o@GO(+qbD&NhZ}xrGo!sc`JSg< zA^DUkg1V?3@{&!v`T(O+^gbI%%xc?j47UcNO-*$z_13Si3b?U{hOc@Zru!!n)-FhI zLO)9-98)KLma%HuO4Ae$uoA$HT}(K(f^Ph0B-7~snIAu2Qxj)%(`CKs!kWWGJeq%` zZLMjb!sb~aE26!;FV(wz;9;A~vTxYj<bMz1g7%`)dO2uXZ6SBhtdQ{Tf!4H$^sUaS zCq1UuvS2t)7$*~7My{#0&M$m*RXDbGg-VVuGlgmsEk?I`Bu!ddg|EiYuLh(E)M@8m zD!4S;Ec_h4Izmq3PTo5?k|r3vd}#CRs6|5mkN;rdndWP855=D@+Y^fkj)eLxJ;Sr4 z*uEyKZ#?-1`n^2mIeu^N#AeWT50GiY1AXZ#J1!^d$Ja#sjRPy-NcxrQiE~GjCj+ee zdS0kpUVCMV5huA`blZso(ZB!wN#taMEgnKFeq76q^cHelzGNB=K55Q7ioZ$3)ePNx zIzF9*nDAFV_Crxh>lq*uY9cM~UPi+R-t?-ym0N!5gU*mEA2r+GW>`I0T6}LVeIU9( zvAClq(al_<Ec>)Jh$nT<O9N+YY5Qj6=b^W7x$hLozD(2K>C%vR)n>MemzQ|fiqF!y zJ`es8J?9IpVm~4%+&~w^amvuF?^nrmlCSjf8C(S}B08t*H_vpXsmbmn*K0pk!rJ3L z52@P!x_8<e?n$Vmdd9bG@$bXWD&I|NIqFqvGN*h>P->>#f1!OyxV5R#3^P1YPf18q z?{vxMO1OXLkydnhwBrjV<N4-MuKZ(Css^%qGv#zU6#<A@eqhq0K{6rehGB(nz5yjC z_s5E!72>-;8WnzDGIVKRrs8t(52qIqL~I0Xi%@s1nx2rBCGC8`$mUVVjhxce|HL>q zlxRe1euSMG?%kY~R@Jt-2cMSJ`Hyd+@pbeLZe5`1$S-g1l}S~V6uXR+gU{=bxms1W z?^R)#FuqvgsB?3<LU`3mtjd0h%7_qMI9Zp)b9{VlA;o*rx9;<>>>1yJpu$)`dHXkz zfVub5-KBFM|E=<sCSnhLG~97=QGZ_FiJphF*CHC2G1L~mW=-R-+xtJvPm2jjdbpkz zB(!9+-fE7r&luU|zFIvlvi1Nrw$$)ywJrRJw|QorL#Ur|wYSi!8c(KI?Nzl^3so;U z#Br^Bt5xIn(qQ~Xuhb>bi_*_}F1@{DyZmb!qA3-Z)ySHb*N@<JQl=TA%~!a-rAEJ3 zn0~sg4TYizDXVc~`LuzwV>JfRP+eNHEzbR*!i7KA??mUJ1CLy^ysi44UjIafO&b;b zeI&Z~yKJ4^%t1{KXe7@K9gr-+d6vAykM0qtGW#{dErQSgA&H&y0K$0@4}-Ong>CEz zJG#BUb<o>x?Nw9~(J=~J(wFePd)#ly>cva%tJS$|HKVcLS7)Z`x0#N@S|)s2OPAPR z2g?~*6BJi_+pgv3kh$B`Ldq>&`Jp(euZ=tf1~U6{2|+*`m3h(pIdA)_{-na-jw2cQ zc=p^q!okfn2lvY!HLdK{znHO*^?%k;*j;QPy7!LD@uWz~zdIy?ZEVC*i6Irb+-DVQ zp8WXN26NXvq)*@XmGOqlMF;cjmR;+clalZKoE9e$(Hrf;>#kl;@PmPO)dtamB*neM z`+mB@<@R)HW%OlYXROV0>dDMzFciP_ctn{-NQtM5q~1x?ziS!pkm1Qh$rC2@6b3$X z&V+g7K)p@)<cAwxwfZ!62GouXVjbAi_FG9Gm%m6@&-Kl2ZeD+1$cWWtV!v7*Gaw(H z)pMWpbaE7v!cM4M5TFk6DYiYA{jB-4n%BvWhFuP-o!H&*w4r_+A89=t67WvX++X2w zU35_SCC}ZB<@2-!>8IR-VKXdUdp~ubBgUcBcAINjANx*Eru4`t8iltMU+zB@k9-9? zgt^A{_v7Xc8tW9?n@w(@2y^hyv176UqjWj$72nazN=Y=uVA$s2-HSTVm$wxYcXhHH zEv@R;FpVPn4)D$2@DaJhNz!S}XF=JQt6N5w^E*g+I+g)JBV*2zvXk<x(Iyh^JT8AP z6SZ}<xAWe$dgfEL%`-|_ePFsEI522VGF;;Sw#&@n|F^B2|G)p)cTNawV$!6+uKjg( zz4C9`@?Yz6u-8T8n_XHeTda%E)c#`5o?S0l`<odo1h%eOIb^uVS?$n2)Ac(n`8TDu zVTs?KcjW$0*`R?DyR%32SZk3Tf?MnYmbd)DE`K~;@ZhUGzG6^QeB$SO#WDGK&+9=Y z>yJlf@k#x&h2AW-;!}Iwd-t>UX;N13rE|XG4WY?rBRb5rg@rmp(=PTeQZ(;B**H3_ zP+ORGOe18LB=#g)mL6S|5ZGr`9yPLn7Ht2Vcy{Ovc&Y8TIi>fBi5L3>y)x(GHrr|J zc$?e*tI!{_T0UR-b<THPA*q3-D0I{26=`|ME0$e5Ga>i)Yf@n8T*cD!b|`qLvG0El zyO1QyuWH|Zz<@gQnA__~0d#c>=_xnih1Eggt*NcoKfU>1m7P~qQ(d^V{RBis1VvFw z=u$Kk6FQ+t6)7S;^cp${p$MTU9cfZS=!k&yUP6mVCkYXdPC$i(9s~rWdN{ZL#Tnz@ zm+N9*tUbnFW4&|EXRa&Le?Pt$4D4OqpI{egC6?{Ci9r5I5)2F}BdboHtV{Hcy8BEX zuqFfcu{VHSVIJ0uG75U<!{_O}kfi-7g4<07`K0a?G#f+U(dO6v+SA}6=_R6x|L*be zu_bU{>7#`Ll3|4pzIjhh<>x^gb0Tf*Un#Wg{N>btITQ8S=C`!hMet&%rCh!gDeaUp zg|L2*ABJD;@@#z5;!{_GMEv`G8yGLTy7bTDZUHv|AD1&xwz{P~&1W*qbIw72GmD;o z|H=!ZbYU*<Rog;p&rUL+i&sT2C#voQSRyYvMZTXUjFzo;Z_bGnluK7A1(7`u=Zo3* zYcu@O!F2+or`SFx;}9#rit*>{8AzNjNtY#S4f)0lkly4|wA?1-^M_COqLW|u4L3Qm z10c{~Qf9dY!7ebLH52|7E7ZEFP#n}Hr_-uJbI+Pq(@6A3L`U;1M;GK$kJysYLyc)d za+Rw#2b?K)L^zGvHl!NOlpml``>`-=xH7QR?D}|ol3CKS%nqP{a1@N8ywc<RG=DVS zjcKn9BqKNx1&a9rl=zVD=KPf^e|B=t>{i=8E@uY;OTknEc{?ueJF7>rjwaR@a;)je zv&4`<uMyQ(0yr2Y%HMDXiM{{{8F%$vJ<x#1X>&|wznk;!?2ePN>RJvQPu&T^c*LSy z(GK)$hh5D;1s5b(Kx-(@mDA4>0kO8!Ej!xGln83v#~q<XQ{378nnxh1xyvgD%OA+I zF1HRbR#4LZ?~vr78SR5g<u-?i5x#xK8FL0OLq+$V!6l75;Z53}bCv5Q;Vw7um}6wb zl>vI-@jYYGHIPq;xzIaHbL!TCUY=lE&V$u<DayV`I?vfXQq{3E`TWkYvnP9WCkdfr z_e7?B#A0>(Kl=eAg5P&=McBt>KfndV9@=`e8c23zj2vy8s+Rr@@mL-sbql`rAt$6n zZ^pIUp?Gf{y>FeRa>%2^!xh@?W{kP_aH#KvKAr`SMUS|DMc}Xjv3AG>k;cst5k=Q3 z)pf>Xv)0r<`KmPxY383idMm8)kL*hunB1(a`@bcMG%0dM1#dybOc{eQ9=SZk2hOL9 z3)P+*zXt$(!r>1V7yh*;1u5+OxquMPH`s&1{6Fr0C-Jfo4o}w}(oYvsZ)oPP9xSh* zv1XJ@W^BuHxAbbSq3?I}&n92r+7Pa7A838>ze507&JoE8+8x^d@t7bu-IV<ylAnk+ zKy4D+cRhMcJlV_?vtIs7se{UwnuaYdrdtq|;XxN`rmE&ML%y%!0I}vto{<F$PQc5Q zd#e8La}t2Du1GNPaP>srNAV~$d9y;kV3oM&wI4jURJ&83#=!`<=t?9wwd{(GO<d-n zgC3tzo#?V6XUhe&p<YhukrwPd!T}(5cW0>$y;^OkkOuGv`_K`Q=+<!wCP!ixgH$)H z4v<lnB08PeJ_nC%jr{o)*II0Cj@j^wmFQg~&G#MYZW@yoij}B0tpt~k(M_%TV3u|^ z(Rl#EO`=tjuhg})o$*GAyFGQ#o+|I<*@m*HS(v&a^^9*iLs;sOgUtwWH;FQRKS&`t zSG;pzIV-3v=FpPYKA+I_Hc7&^{Q_~GG_Zqb%`eksRm^o6foDhBUcH@d4SsD00p1<^ zea$4YS*jY@ZXT$9!Z4ySO_XyPs>bBj>mC2KiWXuD{cQFz)>w0U4}MH8#(oz;LLGEO zg`U`b<DqGnGp+)d%YR^$adbGro~5Cu?^KpgdF)alalZP*A+@MdpwGm{Mo($3LYiE} zbC%r)hHhyzD&?t;`u4G5B9$>R;w~5NCXcX0+qF4Isr2{F_vfCuiWFGPE3Q(jFukUi z@V#14s!O};vt6}yvKYNuY=LNPU)#q`38mH$z9WT_XC)uEOsB41{0(zZw3%~)W8#vl zbEX$^Ga6Q8_3lQE#2licXpwTSB-m7nrap=LADjKLT!JKcoM0za?)Tgk{y4#QC&bF{ z4qC{Rje4SnpZ>1ufOJI;Pbdi`1y2~Idqinv8}mhYy&83{bbDL|(bzz(*NbhdZpP^5 zNh$c(oZp#uUuo|qwHU>NV0Ldl{#qS*yxM1&Bg%V`2qklWRN13U9yi*1+!Cx65Lfk- zR+79gQ=HchfnQULW3xZ4O-ajf#zv)-c5EZ|OIJO5OD!H4WHsa16N}uB;P-PU?(0C; z=H4_^S>m>@k<sWBRP%Gb=p53V;H+u4xk8HE*XlR1oq}1&2N~X3O_ntrm^8~!hp!@R zVK~`Yv}99zU&BJ%JQ^S_HXuegzs~8!q?Yk3YRJ8>f1n?wD1HCV>2udy7dqll^x;~h zhxjwVI@HArB!yJt`7^#VqLYkWv|zecA~BX!$24tTU*!<taJ6i~%E6&-)J=xg$~xj? zJmuh#vw!vjY7o^zyY=IxN=iJZDd;fjkbC{?yM>%nkT&l)MfEqL8oQyUZHRSsjRkT| z(CG!%`bTOX2AI|?rhq4cH(tuBXzW?QCj?y(qK`jM><#xmM$RpGnX@UAiXn8%y$+@N zju*F-&m|tMi(<NxJ+^#A%<h6e+qG+tKYeewOZKN0_?X`YSmqtTMsvqnj*{Lc`d08v zGnMEzd8p<6X!TBV+iyr9IkX(4G*6xwqMs7?wjR02G~zDfb)!rEH+cd8Cfgmu`8K2J zEU)lJ`A@eELG$sg_CKn~6JyV1@vUiP0>fOA#KdEDGU6D?x-(^Fq<B4d)vB?Q?am}b zNXsSZgHr|a&R?rAP2lW|i>PMV1!?1kzSrkQC+(6A%0|1uragyalY13(_`u1CbJW9F z0)s1$`fAVIIzLtOqu~JEas!=+C)LooOmo>>hA82V$QwPS^!A6>oF$)!4O}S)`cXRU zMX)k)CF^bK6kpw{&5B?8=uOwOtW0o?*Ty>+_N^n({d-J=tP0P^m`}0<omka_@Dk4a z$`-49?*ZTTc2*DYQpJ;INbK$(?QaX5y^=)_Sa<O*8*b@$7}BN%QgI)^Oy0OyIQzPO zW`qHH&k3O7h4b>XbRUc+wL2!b*Gdq;tXU&#N0;vPkHs|aUl4U(ZGHZ%sayPD;DhX= z@}2k!<&=im6}w4<pOQg)2wL{NPuPB}v~GhqDydSiSKBV;@%@p3#Psb#i7w`WF;jSl zMa3>DAU1@!4}9&0^!t{)9{XAZVq;{^3)S@7ud<jMQgvtXVC1!HkL*gL<t-8i-!)|m zxHn~LOq;o`dIj_;#R;YOr}jzC=gV00&((H}=dGroc$Y&Xzac|}+D6v)4UIXop~*D9 z$8#N1i5VWtS-aDkPG1gxd5pE;QayR;E2Ou}0U^BQQSA>#KJAVe6251t2{=5M{c?9# zC9geu0tqM93H7p~?{MB-DFL{Rt>O>lxl=B3NvM*^+v~&ExTX4>4!bqIa@PGVBgu&e zczh#Hp~n|6q@B}~j@8YP9j|S<gNFpLzgc~k(BtH<Dje{2!OkwC9!ol%bqwW@*%iP8 zCLKlDI&qS)o41(CjgPRZRL`@rPG<NsVajA?{be<$(jBb`6n|Wd>U$4@(IopeA8hJp zD(58o=F4(Q73Jj<gzc|V+;>?^Ox8y^p3&T-H56CZp4*Lugxe_~+8iYXH3~k*=s_Q0 z!c1w_V_$g+U2jCbQ{4Xm9T(I7qH+wfeCphb0_SmLR@$ZFRaa={Q8!((*6O;=+-@a$ zJc`Pg&n`08wo`0o;g^VUDKM3|F<?-q%bhX2J|P8a4X`F^-Vo9Omv$>>rs<kx&htG3 zy-9QWWd7COn(%TKae%A^beyHn$9C5nBpfO?A@2#9sNJR_LDjvYq_RtHr=TKGH)}&= zU@>?6YEu?Hz+5lb8-_Td5^Nm$lHq2alk>cjnym(<MN>L0x4Y=rTpnwCb|6rP6J6uO z&(#vY^V&!9O1(6+ta<u=;0Me%JehuB_PLG&<P|Jp4Yrb)e`BJ|7BS(<VLs~Y6TdN+ zvq&%V!P_g*jV#StO2|oj$7S%-FJ!oh&K7IB^oWJ4CB(r_dOJh<CD?}_)g`>q2Q9rN z1}<V^%@LOpm745<6|)o=($YM1adpSc{mC&zF{%u})hetSTCiU7=wEZ|qKX??-MawP zgdxaaJ&`zOOo*0vh<23#R%(rj_n~e}2EDtvF)g%|D-`xB`0GHgdkAQm5huf|<zM<V zeWyiK)~K)kA(|~;@+mV66PfaI_UkL=eCC|I5u1<W{?3LknWtS|=q9JXk&wB8QG5J3 zA1jRxhd%o}XR2-{aX)e5%dl;IY+snBi6Ry>_-YcO%2G~45lcRt%i7h#apUV_p@*Cf zr2xl6QA8Q&+*kdKUVYAaeygMU3U8Ev)+4ytdu`r=^&c-_>ayChT)YCRG3}afqsz1V z|FuhA4oiYI*+*yM>=jRHZXUE+fU7y?=W1~uyye_~fUwmD4r~q~tsVt&k<##K=WL{* z&5KYT!u7N7K@AHSKmMrnmKTqoe+9i4c<O=U{#w6*tBtR5Df8mi)E4(;O9`~+pXbIV zVvAzb{j|!nh0o=%fP(Zf=Vz4s%kYJgjFd_@8hlR!qM>#h9)1fY-`UnEi?bQL=ANUy zjMde0z<=~S*wz3~f0L#6gw2_ko?4<@Y)KPVbUi*B35ZOqBi2}2`=Hk{EZ5=l>@XgC z|69E93hn-ewKCU^vnlwKta@zcQcW+Sq7ikRk#&s+;5606H&`g0?`+)hY+!rTorv>s zbwmLQ_5P!0g5oXyq9h9Pb6`RQA5mBR%G1)>U7Sz8oE1-b?_5r456v%YGDY=2n0lG^ zLJ#aog;*~A?j?r0ib+*Va6;_^8j|%kPadPKaqIxmhvKxSji#6M>&01^hPzyCzm9p5 zhMv<(^AgtSUaPZ#2!;sS0Q&bP5?TMC^KWwohOfzi%7!{A#mMZ39KS|fK-u|kS7hP9 zRdLcs434RG(Vo;@aX&D%EF}lWW>$zYcxDleVzbkK^>TU>zW^H65lkC%_R5ErEzbGi zBl<IC0OG_ejVE~oaYSDe>||6nsop+^rP}!WH&}kZe>Oka6c*l@B(W;P@=l68<2$y8 zV^Oo`m+SX<0yc{QpC%>b#!yTiB1kd?34b_0b7luly=Z;}ghRwQ`Ij-$mdv&10x)98 zOLb>^Q~=mioj3WS-bF>(v!R(gWmB65*i`zB{61~1>ews<R;oGbk~MD|Uc2=wuq`=7 zEXAwa*SdV_`eSswM}!=@W)~+snsCpDY-nd5`xr4B_lMl>+K^5Bu!|Brs>nCs<Y8+V zCr%Bu)cMy%L^^|7k5*<jf1?_4ekq9zl%Ur&MMuTgu1Uc>Qqnjpgca>2FF`^)<wBu{ zg`Ws7EqK(~$8hzGp2sO~Yvq}FEw4<h3?HT^(4i*kD6iGcw8oPzbtD}6sqW11`iCgb zd)}YdsU|$|dkgYDrEKw#6~zrh6@h`C+^<+|hOf62z;n}0QW>+ilXckO!3l2Yxy-+< z!SKxf>y4%zJKasv-_7ezBB~?@^z75cem)2ww=}kBY@HZXh-jRweR_gVs2|$!?3hO! z295j?sS8r%{?P^H(r$ZFOkBYQ++RO8Ilcx{H&VCz4@G~JEs~8hshK3qF(vKjAQbZv zX7P69PqUw3GJ0n3<W`T$v)ppB_H6_7koV%?mv>HmtC`}(2;QiINlW*+xRQgoK#6!W z`ZN&-_3Gjv>OP@BkOTQp;Bmsv<cqAG`qG+kXtrbP>MuWPw~JzvXP`kr$MjX4n>fom zF04m^?ozO5Fe)(5%;|5c%>DVq&Q+90HW+jDX~95lWc)*bq`!GAt~IFXc(hY_TxCkv zs{jU;^)`Xg4x&gsEFs+eE7Q$5|8kdG1v1p&f;Sl9%lJK)(|}Czu1@kJb@d>(vW&5L zST|N;jq(82T{#*~&kA>~+!;MyP6J|9dY%OVw5JCXqVZW1vSNd^hh|YDV*Aafe=(Pg zkd&<aM^o)(fFIccIOh~cD_VTSyFmFTzw8@vm}fVMpUJ(j0~=ZTPpW8hDG0-C2Q}e_ zBeamyk(S>D;DE9&Hzi68gEs(wpNRpm0+q}TerXjG;#v6A!UKUyfzr0oF1Z=z*mY9U zfqe`9WAD8rY|62f5?RVo;=yS2-33>QDik!nQ!YT=CXtlV_aDqG=vT_5+}A%st`&Yy z9X$h*9C6L{p>Oz(a*S)`RBk4{e5Eg^(TU|q4xa3;c(nUM0?rmx`(A8Lu}bP76uZ-v z2_`V6E`Tu41oEGS{FR1NDSJA}?IT>Qfb)r~4n=LP=B*C_43F#|L&f+heWguN4!WK5 z)oAhMQSY4dJE4lNxBjZ=n!FoW0*9HlsK1^5S#uz}7UK8Ivq@{m=&mR>!?A}^vhgBo z*|;&tNp2xz+};v3J^wqzm)Vo#9E%+I-tf9u&EALFW7k4xd#{5+Z-ObpxxKx*Em%oJ zu)XtF<lIZm-B6SLWYv!)-dU(xM3z{wV$VJZ@XCDosZc1@r=1t3KKQwz^PSlQ<>CH% z^2}3#VVvqd3QVml$H(IL9zYv;QdG5=SR!<rej6;IsLKWBHBKgpvwJpFT&2IVTTuNJ zzY$WAjYtdZvSz*+O@hu$|9-4o$h|9?FT?+MAE*D#W^B%OPoR_k>nXY8Xn`$h9;Voh z1xfL2Mj5j==8j!d%X#W+)z~$iW=yM_DQA5MQm#-UA7NY%WcSUzz1D_&1r~JSWDN(` zJW29^%enc6_BEexW5V5TLtsTf6wOVZV(6<t;rD9AK2_YU{ex(Z16XKaJ><KL(Ujo5 zy!~YpV1N#LCGC~)*(;LEqWf;i6I2dU>~bkj@6N$k0HlvDI@~d@6w}aDQlZ5u$DWsz zLhFmXBmICx2lAkjN|J6SZFnnCjPIlLt=sa_?~u4!T^ui{Hm0(RjGP>FHpRbfiJOer zEq(c6?6;nAqX0Lr?O?SjSteR{$>J1J`hMM;r}iysVjFLP-HxUO1%bh-92qiHFnX7a z(Evw@)zp>iS^up8UtfdDS4ZW$lKW>H^$ez59HLlC8-GZfe)bz#3#?O$E^z83?zSyF z(bw-^%pnEo$1XjsVR@Xxpy4v=Zl4w9b$dU&yDHyqFgPbghQfMq2#RqJ`16hBc7VNk zg6!?ZI(^vEX0tMVFPOj0)1I#imPzF&wx$3(;BKl?5bRZ64sLm8Pia#Yel>VGIy==l zeIW@M$Ts_mV{oniX5&>&bfQEG{E~P&orvFXXbcLq>iUF2#A_=8x3pt?aGl?8U|J9d z2F)WoSRY~M{sr^Yv8%%ip;S7FH~fErex20eiiSchrx>lV&ZSC>ug5=AhZ_}j=rkM> zo5G_xJ~N5ik6?$wZHbUIwCs0NhFF>PThN&@yz>X)hm4I~g*KIGGK+~1zS$L}MBwNj z(T4Y-<ZWxCoS<Udead~#TDcMjVc<DD_H(=?d<06q%`ZpLdn+%MuYL~{AefZ$F6S*~ zpdsi%%tGEJj*(?J(T*ahYs{b!6C}sY`Q(y@|MRJ`0Du>M)>Os8j`vteLoW(c9{tI( zj)Ue;SC{4(*=kHTDuobSB8R+v-G-k+KkvG14LR}EO4F67f%ZYXGC8_f=#G6IPKZk2 zBcW5|Ivupaj8D8aQL)Y}^TpK6F&BLFq3sZW>Q+>}{1NgtV?z+Ihqg^p23t+8;wbap z^ioeskNOz2`o+gU3RD@h0g?iLjo+FLeA7(H+I$Y{=3J#YrD}b;U#Y|VJiTxoBmUpF z(DrWD>pBOO^kB!(h#&pFx!1DC{(EE}?mQTeHWGI8SvvPL7j!r0oN2&&Gr#Ykwf|e{ z3(B5fi&lb$1eY!<IRzH(q#vt1ukr|%tyRl4m2Vkn_-%Ng$BUYPc#Z#b-2{H?*h<!^ zBZDR>%a_sw#C(~r!vL9aD;q3&Mz}gl1Jym#_{D#$!U~lBq%~O9C1JHt8ctIMBdh1B zwBq9Frp;-+wsLi0ew08hrNks;YCDB~PHa33zxQJ%uKFd=FwK<wtM{skCyvF{;X;Xu zuH_yMBjCv{x4*26^MF3QvF2nI8!r=@jx5eRE@OK^_q2J$ZO?BGt?0RZq%$-}BOV~U zFK6-YtOR)E^Uysp_-N*V5Yu#V^8&1AH`OeZ1`dx`rWi4AM5l~huYKxw`SZS&A@u>j z@Vk69b?i<eZbt+p^(2cX{MCUrmD|5FK_}+yJAE6P`cNXq3B|dO?|k=&sl~5LpL~>> zHSu=My$YB$tCABxSE!{DJG)O%nTXx&zOujLPOg$sg4cw{*#aS(BdttDKe#Go!m2{Q z;*uj|miK@GauJ_~@uS}dM_I?|p8xw0=<Ob`6_v^{3ierD(PLZT-=5mMNyo>B?s5c` z@Wa2dKARSXgOn1>^3mLR3DE&i;Z?<%_1fchARYS3!KWuq9~Rf&)pc%Ljm<aPpW&m+ zSZ)yYoFc|J($dPz++viW^-WTFlZmEqxmn++KuW&O5EKUWpiV|7DKn4W9A=f31;P>6 zpw7P+S+*5oo(g6ET}H@2Ltb5%B13bi(n!sJZx$EJUnm*dI8T)`0JjL^kMggIm`a<Z zM};2%4Vzu#L3Ka|K<Z>WATi=24$yeS&r}DTsePpDVq9yyIH!Sog2uT-fCC0h8jI); zU7`2~{QvQ7*qt78Rrz<I47T`qQxjsqth27qb%#6EZa>u2wtW_p8o12T+;cT^l0xl~ zPUX_VH-5TkuaA<O1VbEKg)Cbo57!SDuL@heK8Z#ctUG6L+WMx^o!1oSmG%2zMiKAY z=OjRK?5U&!w2_tWjmp()fkJ~U!_&BhXs&xi0Vd;z>(FVZuoQ15FW_6!Xq_<KowcAB zxI70_cnj$0LOP`gl3ueDP5#>3ipz5$(PnjyY8Hk@`LviWZZwHGc{5EhBIp=iOc}(2 z6k~fv1x@&Bt2_FX@1rD|{h{(rFPv1Oc&t!q`D-DLU0l#*da)dhwumKY$nGG7UCCSY ztq4{l_kP)<vN1<8&5y>Qm|nU=#G_Hy2p;a$r*yKvP&uKw+rKNiT-GT4(hLplPQ80y z{!&{8MLIT1Of)PotT`pB>{WNgocw?aUt|TkS^vF#pDuw0l)A~ZR$qsEd5N%4xzO{! zhUU3|jN{57C}df7;O+}D0|k9BsdL4KTQPHT?Wj|;^|^dOsqG?r*AA{e8+fnkNbbfv z(r9?GU{$`*O2C&+cm0jB`fSp0?wE<wN~Uy)M6x2ImQC|zE00{Y1ZU2q@|~Wo>t6J= zxV-6X8V?8N8Wv!sS~rSw7OQOQPHvF_?(+}T<E&R3B^6Rqyo1WlTZvkk$HskNrcstz zl<(@D!5XIf9J{`(eheeHJX6oKyp8qSKW9~SJwNR1JO#}RFWe7xww=iB%lmmRK!vK7 zl6L%eQTFG>2RD_=@OK>pmUYnR(ptLc=-UTjq_(@D1uRXVzUsN{Ty}0pOlPjY?zp8p z#j-yqkVyl6n>GKfzA$Fvu%=NjG(t*{oN(NzcLn?{%|@rEp;I!jp}OY#)eLA}IC%Ic zZbP_9>SzCcZZDuXlfN*tON;hZ`-ca?pr))ulih~QW7F+o@qF+Wffwg`@HR!nvQE08 zG*;C--awQDgm4t>+_ZK2sn2s5C9!DQa#@259ZIxaOatb6j}Lec=2wH~*oHQbRA}hw zUeKILFxUMT7_vqRfnHk1{y(H+g{Hs8-5HrArje`RB2WTbQ9%wOorXH(O6H|Sk=nAw zv*1Z~K>_E;UB~~PA*)TZ9MF}+A5Q{%IqUqQQ{NS8IiOE=JJECQd#m`Jn~oI!VrQ;3 zeW<b7`<OK)m2V}DXJ77(Gg4dfV;Lgw{2g;=?1o{)ufx%W@s2Xf$r$%g<9{ZY&?0xP zHDzd$>4Do9DEWUaXJbGU_2U<HXKapC&mMRoFEhu%s<TSpqUIeJt)sct_O|y5_iAgu zfT=AzEnzu$`Ma3^U2M>18`hI#^!@42ay-NM=T&5&{{QQmqJH*&uY8-0%U~D;aETz# zrilivwOG9sMqiT`G(S5eUn=g)-(x0`t*S603O%i7p|^LQuu6Fr_;k(w=3Vfl(1e*N z_Iep0gghjF_A16FGe{oo{qd}a(ov&Al<5tR6PtZtapeD;o@AcJjU;xHF20!j3{k^~ zZv${Ed#O}i&~Z2~_UNPL^~T^QiWgNag0Pu4H^Q$171Itly$&W!&W4?I>g>?UpKZgU zDz9CyJW^aV;zSb{AYPFfo{oWx3b*FZtRVX(P6d=c^zF-!w{0^!<LIGXVmk#~swCNL z(sp^x(4JNJOcsRg{#)Jv5OQFd$G^TcXnsD3rk!-NmOKj!<q91LcQig%8Du%>G*gr} z(pw}7&u{qv&(|v|5%_BF{=JD43M!4+>O;uBDPZMA)ybJ2;CH=+`t-}WvhEZ7Uz1pq zzq^>T_IZdgMZDx6Rz3{7eXjneuHbPnGWViwWl6Ga6{68<)baXJXQWf;3!@zwM08ZN z0@{VSPh_O*{XOF%WSnBGC9_r4R^FnqB8toO%@;z^{n;lQ`C&IYSiBnCT(C5=V}O9k zFz*~(Jq&G=gZVj2Ec$~z2ZuSKQxv{X?cBBYh*YcT{;OGs^VmZoE_UAM96Qx}&>aT7 z{Q`2LC@?7;z3iFpYR2ZSn|glI3&gy4yo0*wX*2NbRQStsGQ}&O9((mq!Bx#WhpE7S zHQlG=!$sTU%=tOFq#d6g#LUsFsQoVwcPcPAMLEXM7Mo**Ffwh>m-9#k8LYNiqcj#{ zHyJhc$>$;M2;C^$6^V)LoO?h2#IsALM?3h>yD)9^c1{A5AZ;oiHf6;ybTY!>m~JP* z+AES&y(lpgD{WH47Qex85pYm6@`o;ybLHI^(4X1MfJ`rRTm-8a%GOb3I>k98mD2!> zGJ#yD!CdZ4F|Jj*GCK;#y@ek2@r%U2>~CPTKJl?Wm-(SMlPJyM<@)(&?P94ZnLg%L ziO?4Jn*EdAl}22nRE-o*8%}tk>*UDbDnHNQeQhA2#Bxdn-(y>h-;rqjc)yy!aCOWH z>l4~~EL;Ev{$uvK)Ywfzmyrlh&wjRLebpw<a;h&=1U9^n-}Ro$PHOHt-0|!hXRf1X z@-gF1b#KF^93{y%;v<+B;lj}6Q-@T*F5JehhF*ihDlisBL8k_7-#|}S;y2|@<eg@% zlcc1Mw?jC*c<OGwbBx>7A82=Q$R^60cd&N=o&1AkhW3>Fx@g%bg8S3-F)vXoqLq!1 zLhdzDNYkT)lgZLfwBPpLL83I@Kj2Y+Kk9mBScKymybdDp@3PP=BX?J;Az0v5mjn=d zrKK4w6*yXKx&g0g3t1t~yn*}e)C14$2IlE^bM28tm4%DD>UkZ%tin)XZyV3F=H6gI zTcAHerunUNj`%$<!0KJ#lMaa9!~Ib=p=}?2i}e^TEF?}PLBz{2boxsJ(BASF9cQ>g zi!G`Z&>+Vi*W)U;z{jM@@mF+gJ@edg#__sBi(Q})06J^Em>!UCX>6}g1@2~-s0UtQ zixp!HSPW}4=g?&;=OP^4L0sU&EaM2xbvWJ?pTd*uf{cgOnL8}8U|fY)Ea})K(-v9u z^6TEzg%radB<D)8Q;Nm0R-Nkdj5hzvFz;=jLJUy2=Ak7yxyE^M`oZy_P4Rf=Ws}`5 zx%HvXU6HSe54VhWY{y;n;59Z#?it5qQh{Vr*Q;fH@g!mO=)m`@1JWzDnf53H9_62? z=Qq#KtDrESe4c*?jLk>L$t?H*jZwj0=*kCq!9|%RtzE5w-pkhvH3VZP1WAAQYO8{x zQ>6VrjiE&gT-eR8_+$3}vJBt1-DKOvj*@0d`V%#e8VK??N*^S*1v0KQR>8z??w=YE z3`+y8VWZ2@xWENG=m{FpttzDQjjg_FzdmX;sHAYx|JeB9l=<#Tbu*TM{&*&I=h!tu zIl8db4w_}zEJk>l@7`R)?uKu$P>4M8kzz0z5K&Zj?MVS>EZG=8rS2-3Ats*XnON=0 z7K_q<U-{KP(V)H|l1a<ftjkILY$rL;zV=Pyd<aZRQ0clXrxe6Zto=xk{dzl>gkL;H zT)3O|**9o~%kGI&RV~dkWXYaOK^gb|dG?CD`o}Oja^A}>6=r+o^3hb&RjpCB3I88t CBM`Cx diff --git a/docs/img/27858125d0f3461e373b06413f40e616.png b/docs/img/27858125d0f3461e373b06413f40e616.png deleted file mode 100644 index 861bba650361792d1ae6851dd732ea558701000a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37657 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 diff --git a/docs/img/279650b9e9c3ec26a7d6f0493bd5af7c.png b/docs/img/279650b9e9c3ec26a7d6f0493bd5af7c.png deleted file mode 100644 index fed4b3030aed026538b04b588b260a9d2dec566d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28332 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 Xm}_kgn5s58`z>`9?Z@RxmO=juc|9Fl diff --git a/docs/img/27b77c1cf5861234d7e06b742e7cbf58.png b/docs/img/27b77c1cf5861234d7e06b742e7cbf58.png deleted file mode 100644 index 0e394d63a1b4496f0e359e712a78952f9b38af90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3236 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 WyduUUd)om30000<MNUMnLSTY~wkxdw diff --git a/docs/img/27d6bf9eb64fd8e4298e7a2a8ae64983.png b/docs/img/27d6bf9eb64fd8e4298e7a2a8ae64983.png deleted file mode 100644 index 35d4828dd55dd0dc6ba840ddd651a27b0afa7d9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24756 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%0Ds?Io43y#gIvE7ms@2SwJwO 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 diff --git a/docs/img/27f5db1ffe5c715ccd311bccf93665f2.png b/docs/img/27f5db1ffe5c715ccd311bccf93665f2.png deleted file mode 100644 index 209bec6356901650c16cbc5b7d6fee2e29190eb4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26530 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%0D?qoUw|5)~-5O*jm~c&4n(lSV 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 P4vC(&@q=nj$JqY^-t=u= diff --git a/docs/img/281606a988de9b8e23469c0de4e22062.png b/docs/img/281606a988de9b8e23469c0de4e22062.png deleted file mode 100644 index 912d3266426e8197c1f51acf6b56a4f7cb3801bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69375 zcmagFcQo7K-~X>w)TT;nRhLm})d)(WRa&(-wOUkaS8XCGT57je?NF<=iM?WPqSS~z zO6(OOLgJTx?)(1!zUMx_bAEs1I45sOuJ<+G*YojwzOHax?dObiTyzu^6pZRGp6OFi z&;uzbF0WmoB)>DD*lbGvBcZElsCwzrC88?DPZ?@c%QwZt$FKRQ&p&H$f5l$CdX<)z zmX3~&o}Qk8fq{{ck%@_knVETxxh<CB5(S0&vnPhW)7wN1kD2~qYPvC-WKAt&hu8<r zJ+~0DJ39`W2;=Sq9*icUnJv~}Rbdr*QNgVY7;)Cm6-(lw6dAal7Wl+^pXHhLS37lM zkq3eA{9oWe#J#^4s%rLeZ*eYp7aK4>JhDMwUqOCu!m?L;v_U-~0r+Tq`pQeN0@K*b z8PyHju@Kpy(Uh1Da~BT&ar1<P;SW4qxccAudiu?(>KohL*<EYGV=%&A4#|LMwxM~1 zdFX%#6@dz-C0-INf8~0*5<K!<e&ptQNW26W30A%IbQ~HX=v)L2!U{nm8F{4Q+@p#I zMrWa;r|T$tIpc}7bb;ah*~K!oiwz|6F^VaG{G-GAuw#P|$8ckUuOZ_UF(F~z0;YC* zcxq7-ZCaw+Hi0CZ+&foge}x0*NsYo0y4J%Kxgw#H1d|KsC#3gC5vkbo7Qur9;b1uZ z=p`SzH5*^-DM0YpjN;PzsaktUt6!~zG>+t3ax2_|Ck{V@tyz0(Mrt>6WITydyVzVn zlEh<t#{YB0KH;#eN#NTt7>R%J@5-@T;W1+#b`)OJ$=lFY!s!baXqeF6$YFUm+5lDA zusFi>J1`rK=4c@b$gOEvKte2-yY<K&<$MIzNg2DV&osbpp-(J=E$l4hzC^R^g|pS3 zJ$R6z3DbTJ^ATX3F64Ba&?OZ0GOVYa&9CM-JY7@#ua>wz-I2G2`)9rKE&g}^N~FBK zHt!~wwT!ogk9WRwxOGh~`7Xr>QrZmpqb%Q-v;>B{Z3+^(M@LQPZXnJ~e2O*}YVm1p z9|uOy3diATe`|uCBvUO!#ds1Cqbchs-q(x{9>jA`s;`dYkqqsbZp~|#Sga>;qNH6C z<F9KDxH6K`v^9t{YLp0ZJCF}tf5(#8>hP~^s<4>5?^d08(=ZsA63Ch#0&Qdr2$kSF z$(A+b*Jtz*xYoJS9r=ts@)r!Z$7<}7yRVcyH!BDz5@75JSYuHbCq8(I`2_-J95{j) z;TJe@Y}t||JV>szz-x%Y|7WML9!=OwL9V@%=n6MOo3SjOud>RMZbBL1q}h*2zjN7R zw5LZHJ&6mL3n1v?1gW!YTmF(1f<Ffxe=}uMmA)A=mq@kWnXG&*a@oN$Z?^ac%!g3q zQb%-K0Ua6}MWSjGLzeZtLHv1Ro2a$xjWKIZ71OO)*o9NVYN$;dVKy`f75=9Pm8<MQ z`|A;#t8KEitn1|$mJforqlX=Gb|lsYM~v^h7)>Lb^+S&H9&pWdzVmq%zKJpr>e~2I zHCi)Oa)~%ql%@>J7c}cq^H41(uAEwDfj}4D9AEjE;4q&-?kq0b<%k4#!;I)_L|wod zb8wYS546sfyLNQqCPBlykt1zrGx`V^=p5$DNFMcIeLWK^OI@NLU0_2Pb&K_!lkN6p zRQ}vH{O{UYOB_K;-T&;+c0@}`VDjSWnG}~?abL$0g1JcP?co3`e_np%rH$(&sZL@9 zpUs6RNTA^~S4hdTj&j#agi8s*#nAUFvVHpjr8au(()o+@t%sYFL(z^SjZF)#(CXBX zQ|!hJvFt2{Gzip&oK0J&=w%KOqRAs4&yGq1+#YlV+To+JL_BYtxjXDy<{BG%e%r`2 zL{pa<3DiK9UKv=vT9|y-{j<;68oXv8R=wbn$cI;u7F-&*pvW`-divblR$&g(e409I zxHGVm@9O?)9mSbZvlRW@`A$#qXACTx&T?7r<%14Pq3!(7xhlBy&eD31TrKtJB`bYX zqT#nY=CIh)j4wAtyrXI~F+N?@(MKTsfhn5vDI%#<R&3jC2E>e08Lz7-BVav=XjA!Z zamx%Dc6iYdUn|BaF}J9Wly0QCl=YS<<uvVE^U5<^2P6d%%Q*e9M*S|~a&4!)Mry+v zYYD?_zt*M1KMc5&RyXHoc!P1TJkha}H1prLdX4wC-Ec0Jps781#K*pj_gQ#Fbyy4F zG0fGKjb02;6hQou_H1F#ZFkFPE*O#0-r`nA+E#OW<z)qNI7HiEVI>?ysbCaH&z*ih zrTN)hRNZM+RfK0q&3Xf!YT@X@Jy?g0D*o)FxS~tS?%w-PDVL_~9^T?cFehI4|G{y` z@7K!~Xa`<69>_Cl{(L!u1Q{1u7jZjRCzEF7&eQ~=dC05Gx{*{r{)3TY#;u11evjbM zL&7kOglF)5s&oq(ZzKe4yNyuAU%!xf0G}B(rh@`Lc0*k|AC_tK#l4YU7g(ZhdAY-F zu*2PbeEzFOcHKCIlsg27u1sqfhd*(nwgryC4`!0ZtvrQX%JE2V?|tOO&KSJJ<aQ8> zQ&_O7or2>9B}wWm6o3AAESwOq@1qLm%OBvHiK!8-ejB&Tib|=XeM_ok3rgVn^LWni z-%NK!qN0~4?*ov9VQ2UC&bt2q(knn6sI;=Du;KLMGv)rW@%%UMV5A#EOr)YN8~U2) zPK^Bvn75#->9_Y!FSqM0#PP^Lb0U`ee=ek0mM1st9X7nIdi&!lBO#3Q6F_uHa7IN# zrn?dwV%+nyX}W}N@%~w;8P~+-u&8D&0W0p(v>}R5+(+{)@#8SE+e<Z2-=D5C$i#EG z^!jlx)P=BFGMw)d+uH_w`sZ%?shIWyc~a6)a(@o;F_Jgfkk+O18Kkr-(Nx5%8NsRR z+7L1{HRC*%O*BKn=G&l-ZL4dOg;r=w;pm#a`-MB_S-dbnyZ6QIu=ip17uAT63mK_T z{DlqXlao|2t?nrXuK*BOL^a6dnul=3`74+Ytl)=?7GmL5v(9uxRiduSyC2jW5yaOD zRFgM6iP-x)dy|01-TD@pt*y~C?hL;4V`$^Wu?uc%QtNr3wqxgPD=BJgOCNEA%4AaM zB9b})45O<xpCX!OE8owxF{!J5>_y%{hqX`gH}C&mXhzP_{|-$2NJ@7Q@iM1nV!+YI z>pKgA^m<z`t*Ok7)<&?*Q1Jz~7x6U;i{u-+ez>)D8CTy38)1#XZo#riv$aU>>ecrb zuUGUkBcCp#o>v}Y9{#A?stj3LIG*_Ufs*@S6REi5{>OTRPWuk4w1}+pR-QNPW#YIu z(vX8J3Dh=GCu%!VX9ll))k8!%UYc*@6Flk93`X6qF>Kug0vIG=i`47^9M_=FXfXF= zMq8JLxTB@1r(HsJA-}uPXLY)#2I@GUeeT$p9;6(aj{06zhVk^v;>4+}cD6VAweRkE zAntR(mjcAzPRLp!CADBRtxbiMXJy{}Rnvg{B`nAlcA`bxXIV!HO_amRX^TBmEG<vU zl2SWQowkwzh5L}-5vMQOK2m?*nSShWS=~!@*tqc8ZfN(Oj{7lq&S=YAJ?0JmjZS^Z zYjmW8{E1!|=H46b%~P+(>!=IL_f{!>?Vi;QlLm76)o}T$UHkFP;RWMEipFX2Ux}DW zqboU+)R{y*FIk1ha3n3G-%_t@!?tvVj{b4TY2?^~Bv$Qd0QC->#&u!D_^#Y>Ejz;X zkC(sGnlXYa#uc)UiOe_paU5-l10$SI-n>nkcx(SHqoyzS7%|YZHv{tiQBK}P&|B%H zX^(_t>8i%z@;~i01GVQ!$^}4x_PCSWZF)f8gP%J_<+c@v&sFlnNoz=3$2a@O_c{`4 z^sgbtIjPX^MpC-$prm&l-!;?X6FrIDVhQ|~PfSv${DXfSgE_~~!am<qDSCLsoK`OS z$%sZ)mtsU!`AT7Px+=vB*qN~=8hwq^dMAzF=3p<(E$^9)SjWzvObW}BpFPo=sFz?> z=36pSr+UG!ohb-}(+%Ml;C5HGT{L4eLqxf-X&Wou^&176pEj*eYs;t_ODC%n<Ag1i z`X*Uq-oI1-($DCyl(LK%MeAnBd0csTah)&RC~H+<&abJ;M1GIh?=b6QXZmv0MAay~ zoDaIa@ZhZTodVc&DWARN{G_AyS_<3%G%?*aZg*UVypMQJZ-|E<g)yw?{nI63q;$1Q z(m(v`n(y<f{FIZJpUINTGMQkR`qaAXU2t{w#%B{k+D3m0y;nEWG3#CHY`*HmWx6XV zfZ{_7lLK|f0?mH{R*Zn)UTwQ##l?Hf8{XRxtjDk4$9iI<uWB;(nVYc?Dz(ycrgS`$ z+e3Hw`&Brytd4c4cvj-pRX)N20QXPL#BZS>p9+E+zI6>N=*$Y*uJ(A8-|H&7x7Y!U z&U&8My8<X=qRSh6h<Aq-IE(tFmWQ{$Z0gm&*g1S-{;U7Iz^uFbjx4tplkr6Aq%!3X zv$Ajgk#VE)>nK`<@_28C&=N-8(d6SziTTps?`L1kQkOnttsH&tIeb~f^DhJ!OKjXc zwZc>gBVQL2)=U0adhY@IM*Uy7cSEj|HKPj5^+!^8f_-{rZb-+l7I)zYdq8RgYA;6I zzydq_EGz$>>G?zd?0eAO1x;JmYi0Lo_VxSb@yR8fHGz$i=!)??2t|GdO2P7?*i)Ol zc|Gtf|LJMEu&6;?nOGGztVf4_99&(JWh>YD6SZ-~cjN<BtH}|}|CV{$Thhs*z|NRN z;1vxAc$70E>0;0H-{~sQ6VZ1OCcsBxi@Cw&{BBiAMe21v3Bp%m=(N4<BC}E{p6Fj9 znq}cPpl+v+vEFx`hayU%4vZN`3)7fqUmE>sZ$q9z*z(#$N^)w29%O`&((hB&JTCa% zjazq4^UgRd{w(-)_<J58?#PS{G`|;t?8k?$zR+;lLNSlNw4sGf1LBH$pI@Ci^CX7; z)8mlhL(z648Wn@nT3QQqypW-VoPL?_m?O(Y7y7GGE^V~1!!=rU(54%PHO{p@1%wmL z@E<SV<l#Nid-b3yT}JztJ)?eJ_E_di$df|yd{QHLtdR_9=^d{5+2~)h{;SD6%CZ~} z>}uc~tu2aa<>&K0@W5vl#$_IVH-A`|6%8^K;kTiFC2h%NLYZpykNpw|Qj@+#$?ok- zo*csVRyUIPBA`z!Q|||ISJyR__j#V=?-%;5d8KWJ5VaeeUJK{T<zI766>|kV2xtq8 zGA_)0`CI0FZZ_T174bQn69avPAkwT4laBC-6^?aC$XM^4;7vDtL(I$c=5PFv8+9F< z5C4S3#hx^(U*YO`C1>mQjMUd=xW2hk73X{1K&n&D?dgufy~uF#D)w7Pv5x<sm3>># zUbo?L=XdzC2$MUlCf~-Mb;SzM&NG`0a>RZ9dc+DfdBPS3PWz<A#bacB>cxnrapVV% zVWP1q&khAXyua)8<llS}AV>|JsLt}4s5`G0kaEgDu%t$O_E$=kKCQd^J8s&YBP2ay zz-C437T+?!DI}scEI^0wfb!VgnqU3;Fz}hkTcuYay0=oFO<~eMcbcCX!i*L8i1l>C z120rQl?IP<Q8H0-9}BVNz@@jMPz`_#=FvZQm^yfXbEG#=lVz&aVXIX>`QHxX!;&Gi zY4*ec^FAYKTY@r2)8Dvx99&w6{Xgqx_{X)(D+NIUN)_wel^ey6w31`uj(<L~a!kG1 zezbb32aUw4|J4r>IF24eL+>nj@MR}9J-Xd8FeUBCo+-cu0oY46!sAA1ap2Gthu0&K zyh_6Pm$_*tNv$5Pi2QHXxU6TZpy?ut@7ytp<1}ZylIMmQX|G`(V^k9UjP|fVkvvKM z+ojxwuCKw{A7KpoWX4rI0!#PG=!JZiqc5?c7uWyw$b{8eMC&7qQG1;6wWN4obo6(X z7NO01=i0%{CjwI^E7sA!E;7G69aMIv82Y)LSC=G2P+{BH4MJ~cGWC9r8%^0jJso?S zra$`S+D^9*2m2S{15Alm+Z|}Ie-~2Q>^e!}^d>R|I^}uJd%rCeGs18mBIGG}^`hVS z8qH|_Q@0nNjdHRDInV4ESk3=Enj=Y?{Vo$`Lgrpak#y44YCp$+(L~2o7(6T;j$7=^ z6(Du(dM7^D(f&yyEhLt~R`hbel^AxNtAy4Re&T@ByT!sRMQBkhiN5jf8fNS_)r2#D zzOlal&)5hj4I<gzECMW7-VXj01hcH_c{<3IjgL1ME&3#?o_sU;W&k7|FHruu|2uv% zl_CdmYfAfKtt~yqsq5wDlq8D@#8`oiD8Iwqp^xDY)M|I}9QV9Y`FQ4=fuyxnI8W-W zy-%E!ImlBV_S@cErc$XaPM>5=sb*wS#pJ+)jz^g=gz@IKnY*Lf3OjWRof<UXYvJ2J zM}ln74EGIa)}&lF3~X@gKVq_Xbmf5*P}1p`D9-W`a#28w0z+t{JBLXiBFK$(W2Mol z(6Rl&!pT|Vn`qWEj=tp_^HL^9eMRnR<W;HvvLZqc@ZP#p?{Y+%ng2Z(7<%56<R1N2 z&wjGObA;*bZ7SiLMbh|G|LrhiAPkM^jfe(N^y#M%L%#5yv+CVLU*uify5*V^Z3f!E za6Le|%(?J#400i7l56+Y0k-odSlQ7lYXBz!D+i!{M-97t0UhH@u=0iq4XH|RI5_Eo zgj}@7UmPwR{mi?4hz#6EK9G$3TM2oN<iuw9_X^-okY*}<y`_?N0q53&nANi%BJ4N$ z^8mSE{=DBu=2U9x>IY^U4>w@K5-(pypk9(k@4*8g2n1A|-vkkBaSJO*@(N3szX`8q zOz74t#24rOb5@e14bBj8am$D}viSJV2icCmUEsWsu@&`r5unIt|Me|Ca{mCCh(a`X zdO<^fIezjD-Mk{AV^YyjI<=aMKVQY+WEeO*jJ%(%#Xe!y`hH3|zJ&YCwaYBCF>p2t zA19qJd4`W~lBV#p<*WjRAGh@Ivpn3a#(_P5bG-t$#0z>b!dEx+D7V524Z=<&u8Zbe z4riXe<nR%-;e<&9^r9DU7S6Xm2;M~T#Tpk~RbD8*E145yyU&@;xjZPaf<0K!MYaU) zeAk5fIYC+icqiaz`)0QW1yXcSMrqnXJIV$?I~qBc)0kIByRpuHpA5I_4*y&ttS>xp zgpuAKDMg@)jIQ?uc+}qtLV=)}_kgtwkPF;Um9oXzlRJvHetI3Gu=BH?iv0jRuP-%! z_KU!B`oid-ez#C<qFQySLH<3BAurLa2CNyTZJW-x?D5@$++R#tz>D}<!+<4h{`Mps zKx)GbNOfY4%;U}pNwepUacLK1L3O@b%?EEJVCOWh!>KylvO!X%d)`$W6IN_Wb~F;h z3i$M+B}B1`($S_p9s(hn?V$J~^)Jt*jTfp{j!&i;Cu&A(HwU*CHaF@3OIjLQox8%8 z)=p1P3%W3GBdZZxMZ*a62M1+;KcZdPM-&=|P3*#~#)qvBRch(mh@si1o=M1GadrO7 z&);ex8$LuO?s7|m`i%3+%V9;u+C+y1UHHs^xSn|GHHZgMzS?;0&!C0b*?Q5XubYuU z9KS%dd>Bz6vfG(Qrky8M>lf4O`I2n=jVC3et+<TUHLu!nR?a04tZsn!$u32=SrN$g z@nv0eNWNOWG0`^XivkO{SDy|p_~$FM?j{i(`qs!2eWU*kw;2w@{2V?~bI|uno+2bo z=W3T&In`#wWy@=j9C0{b3DNJ^t}RrwrWFile9<AV4B`b|__oN7K_@36E&Dwl_G2ny zsMmnDzbse%3Gq4<_2=dFi*Jw5kIp*{kHC>1gQWz0k($JoK$nXP^yUb%POG(TihB$7 zk(XMEBmt@My>o<l%-v;CC<IKS6)~f!yJz}~xuLk@gUiFeq5!?5?sXJng+p{R%_hZg zij&S{cNs4PTH#a4WLKBPaYZ@_Kii@_ZGKaB!phPl%+;<M1XG5PB5ER&3KJ}MwHBN8 zvSu#KU*{|57)l*ET{<dgwy6D%LSD-6lB!gsKl7kInbg@ywyh`DIkMjLkgSOXe`mQo zQ-FHA7V))yvFnpX#htmT2(MPo-$S)-Yi!F!L}bYnpv(u1uP00puo+zu;<prvADsl_ zE!=1Q_=hASP!3cPnYNj`w>szETum;A2)HM8FG@A5Jp{*{W<37rk<`*~<HbjmxaLfZ zw8)2~`O6wOmA6xVEXUD*Hc=AJ)23cs3d&?px_KYH-n&r3m{Tu#=Us1kC}WO98A&~z zXts_LC2-E3>AgxO2051bswH7iJn)0C6cf7vOes7b#lO1z2+_B+i$!gpg1c#c4Rl%N zit=bArn4$u5bUEU7Fs6M!n7;7<@F-0f4UWda^~&7%6aAM*=}FOfu$y?wg7jXI$0)* z>2{LKL{2`=@zQ0Axb_Cl(Po*KAP&;i*L-#;`pg2_WTigNK0O}LxHbh3yw34Z9^v*? zxC)eZF`HKQ(sBM$*x0{kQN{Y>MXA<(6KR=y*9%zQ$zb|dJR*bvSsL_C9Pns@v(fzV z#rDBLg*)m8LF$f^?HhKso4k+-T`|$hAEKS$xn=AaN;ctIxrIdopDu;kld5j;Xv3xP zmnKM)>Jo!vt>mn+nc7LX^=jPZFw}Sk*&TY*5q!0@Y->7zHFWFQ?GH!0$`jEMmT{I^ zBh0Va-jPRP&hoMH`?Yz82MCbCy@hO9;x#AZzYJQuGEIt&_}Q;X(Rj#+nlbToWfMiw zadHiAu3FzBnJP7vk+TJO0kZ<GWT+a;y_nrXftoqA@QUVE0g&!1SM!rKxLMgqo<WEO z!~zlwvb_9_-pU^3{gfqVu^)-K351>X*dqz2C8W0+grkyc)a!srxC50b4P5jlMJ9yy z;8cSL?uM4mR{8sK5gTNs(21LKs(a$rK)q9C*moYo%kq8=Dc^uUr*at+|7}k-{53DE zSES<|s@2s}0|H!3v)n;NkSD_LzmTz5)Z~Okx`j39(!`X5oT24`nIX*eNy1kg%@|xG zbAWBRTI*^MdJkoSG;iv@^6*A1sxKBC(%tzizFcvIAT<sDOwu&Jrkx8yzJLfMgm0i6 zkfbPt;g??DliRyYzd!|ceOf*i?U%Oh>cTh%_kMvW!SP3!EGAJfXPanES{104rzX9l z+#PSh=N+tz!^DQ6PUc%!yTBvxqFWGICuxTJNgU^yd>M0XpvY<X49#Fm+eqf>Vbr2y zyvpn2qk88Hd1tozy1_~(P!uhk3T!u9AtL*l7}|zOvz{k0AQTHKL16?e{L@nSm~Nl$ zw3%Df*vIOF$=zfhA9m#9t8<b!i<cip=QeyGAYMat&ZIub=7QL=kVn!^JL5|Vg`k33 z8L_2(Jfv4m`w!{-;OZpk`3?%cQ=AoTJFd|VZqah2j!Z2ZK<TLa>Qe(FH&G~c26%HI zWfl%C*wb3T$Jm2OCZc0jC=LUL_v_4vk0M*%5D_V2&T^d@?WCxWqhTnck0_%H0%Io| z3Ua<%PLZ*w5I<=t<^QveD6h^`0qt<7?ssROgf~CAKVQtuUJH7@FJHvR#Unf0;;!pp zL_EEpkg@wkwvlqRXeMNNzy2V=q@~R9Y=D}23&0`*OF(<DxnjNL`UiWzpg2{GTcA01 zUsKQP{15vi_cxw@*kNj>|L`WoZ?L2GDTLDh*lAq&K9cku;`oiz*kdG~AiV{6KiBG1 z4qaik`N042uj@Oa2mSpchn-0`2?%hTzUM>6a#A<%B#7o;55jS%OvC}fqn0TXaqCR# zVFbq(fT=lKcL!CFjY8=Z2otDlGKv|fO&H*Bmaxt8Y<<8|Aqm!^5$HMeS=Z#lG>Nq} z0f^d7b^Q4!Lh<jqGT5uHiFnO=2$ZlBZ@Y-|IzzE9c~oq{mkyKn^M=>_I6icP_zG*D z;>v1LKU^&K?W1>nqy$e|UoPL6dZ<SU3=ne2884$eqlrFHWM}zK2LbNWJfT~otlO58 z_l<O8AAyfiE=jFKMGaItjPx%_Nk5u|huC|iXAc$ac3=crF)A>xUnB?@!M#CcdZ#Ad zjbbdk1EVvMd%){cG~4k=@v3z8`Ou+rjcJ;E3&%qQrfAgw?`-ewJ@ftIaQgD7QGgFI z0Bd&}cN&3?08HxS8Aaat&bbZv^!KJO@sDg$j|X}6XToJ6H$kA3YW_GWV`4yKU%<FP z9jh&}bS!nSX8QvKQiD;=Etem;dkFs|TNlo@ZRLLPnt|TIvE=Qvl#WliM3>TImcWC@ z2fL*0B-I^MS&_=x$vQ=M3gv=H3m+So{0RKwnVi%^w0+*^;bJPM^x3M8?j>vxH(9w9 zv}58oP#m8`ELOJnIln8;ta2~B*&U&RE^oo(hen+%Y6b+LGdHw2fl?AKLrjyp8fTAE ztDkh+HTl`EMf24qrhTY@J&?ab@^z$~@?EW8%wx0z`zOy7-TylnAMS@8x|u0OJ6pms zA(Xa#NR8J_J_r`FkcVjFX-8b5NZ2iwC%4iAf*MYCvu-ki!?p{B|9Ep>-9%k#JoBP> zpVWPj0uWJEw@v4_S*f?{TlNU)2;Dy&i7qB!9oBQb^RCCd{}y)7{=G;Ni{5J?K}d&{ z?0(cOdqo=#TL;hEpDY2Kjh+mgTCmI)u_|3}`zDUUdcZ!y_U!bZpxoc;omcU5cN}yi z9I2BR;ujo2HEBZ3=n1`4qLSRfw~gk8DMZ*{_8Y%`M8`F*T-0*;MaU9alW(HJs6<rW z9zDA5@$B%x3@OPOsk*Rqu7bJ_CoB2<EtDf{KBGAA=+x)`{TEA+Xc^qcHy>Y2*7pSL zOv~IhXU~m_0o_5?K5;d0V6Xz<v7!OQ7-F0%<`RKAn*qp%a`|ya$lpC3QROCC#{V}6 zkO5-P5@!6r&|n2eMgx9+@{6o+6B5XdSNDHf5nefr-lNp(c5}F8hOe(3CZhviP0qzF z2#`>&?&JC6klKG8{UM)#{buD1>Ukb6d$=nKdfa+<MQ8o)Ta!2-;;|Q22eEn>QNZ0n z*kJ0}9c@Eh-|WJOmyL59u4c<ay0h8Z#Ty$9{7~t<ONye^Amk+=xI%5%+wBx}wq!yF z{=>@-=boVZ@gt`ufd>{pfY1588G;>+MKx~u;#6cRg~MPAa&F;<AxAi`Tu@?F%N!SG zNmE`*H1ifW+z1Axgv4}b?6fdT%(&5K<1WqQfEJ3Gf>EZbU!>BaP|pkaipDqSKy<)Z zU=;Q$e!J?=-<SkLkJQ6C<NKO9&I3}rW6d{#cfo_=OOiNnHHeQF4(mK>;|mZ958%B; zoI71FwV6_S^j)&&Htj_SI0O}a8jQz@povq<AuArM`+g=#n|g)oZ;&*FF-b2?zlinS z6G{%XmfVosKh=^$WKwaB!xuon=O~70%<b%EraO<A8r%w-_x%ixw@};{6ivQxPGG@8 z-1bcW1a?ijLH!SmZW%ilGx6KM3iLB%17&U1_)0kY^=MddCDc7e1yY)`B#0?4U3dmF zh5!|Se7^qgL6p*`AE_Y2#TVBjCq$hK7E?#&jV9uYy>jAc?=MW<OJx9xn-^zTT6<*< zB~3)vx*HfNK!!_8Oyalf`yd(4NiK2MJSuvglQEJh=>2r>Xo~mk?^-q<Z5nAkajR%$ z2y5?ReaT?i8Fvmy<07Oxl85l+sTqP4(Tn&k`pa}MBs4H7Sdv?uK}SM6{>sGQ&x^KB zJl{E@NDy?mphd;Xwtm!a%uu8c=)~+;U8b;D;0!ev#YJ9fZ!}r^oT#WNKUf9$0Zmb{ z8lXQkn{2029}wr{DRj5c`OCoTqq8=s5awbUZ-Tp&YJ|f8dN3+!@Dq*gba!)zz=biq zc%@C}3kqILb>F<C<(0;l{RO1}D<J6A83NZw7;JvAgh0LTzLil;gFjz6oo>i&Si^n> zWlE*p`rt?1NGlMgJTeA{T<%>BBSRDdBWQn6q21h}Oa_f&hk^?4<1}lea5l5q0p*=% zts2b(d31pTe>4#YNj^NkgvCTqNbXG_@@{a`?h<WUy5?jst>+#M`#p&3hOC_fO{E3* zA5|ZV37UG<Cw26?`?$nHGcOm>sjsczFDUh$8UO2(Z1QK7_rNj@Tf5SJUb@M8XV{8^ zQ;)&XbH6efx`3Nm8B$MzP@+ucZWXUnYkZ9Ce-rqMw4^9i9V~OJzHh-NG-N$8qEWqv z54TaAv(_N9?=xauu|*s~k~f|i?;#r*o#DXmDI!nTf^V>WU|&Ws+;2ENW-LW!(Y91r z{p1rak~G(NqV>Z03FqY!Wrgwn{owYriCr6DkVt8Kd<dq28Ll1}z+dfV0y!SM$5wi) z#>SNVE%PW9d3WM6McG}^#Oy`-*b74H6<i0v%s<kqG6)sc`tBo}yMs*3*01#D-QJWg zOz00qLmCHT@<O-;XLg0oi+J$?1^YzNa4CkW_e7Zy_{>Q}+bCb&XEfi>;|Q>wAL-m+ z8a~7<Rn}{z<)RAwo)9@OC=k|&0wFMPPQF~R8$RD^-nV0tY1h{#Yw1MXSdT*|8D=Fw z9}hJZJeR*R9>_N*%CbiEiSdTy4Ll4+Wz~NBu1|lXaRnRlI(RToSF)+LN&1pTW2?t1 zWBm?Q3ZQ)Q^2&flXFvT(6VzcR>3lpBC0(U(smCEBYRO+1e2~P~X2w_+<9fn30jpgm zkCA-g_AUk)z)X2`0wkiTUqQ4>+B%j!ys+%MN-LtpW)Rs;1eFSCHSB*_L?!@I)hIHf zY0tPix-38a6fz+S1QDH89$Xse$~!xF9Ez%t!MJMOA=e<~e+?`*?rx8YkP^z#-q56g zk4<mt85zjrS_hqMM2O|uJh}eiEd6Ljsx|z{RSWCdcv`LlPI~|SGAe7yLb}SdZL0fa zRV+W2S-w9K5zk)CkP?7oOSeFo=ac@(0r`O;%N8M8zE>s<<hLA7chb!uu0nJlYQTs> z()lqS;)}&v^{o)FTJ$4~OCCkylK=_Jsf=AgqTgwh4-Y(pbUx<v`x6SWTHS*|tryT& zSq$byf1!mnw4(RWdkYA-SWqu{A%SIAd$&=%^!mp;eEPY+ZLk|@WpIEvw|kSSgC;M~ z<P*xyNz*B{Lr|&kM~Zw@`$2ugveac7m2mOLD_BuPss|+BCv*~C^f9lmJm~mRC3n+% zQKKJ=H{5^}f3M>Z>DR=W^>=*m76C**k;!;@L=o3LQDmZ2j?!7^U%UnHHTyp#h#e$m zvmwCs(yT4+IS>4e+Q^dBRJH*LhjJODzEcLLaKc}?^G}b9T3xFoy(W0{edx<%DRX&x zbr1?`A<Qky2)wTMg=j<H*S@mrBK^iyR~wOwqDaNW#B8mPQ8fY*&00m~lsB1~?Y~RE zDIbBeeRBO0Jf>NlOwQ=xW6ejHRDr4&So))PDA(pmO%59uN6~uQBXDI|7*6B&50rPn z3lTS}2&ux~GxeGMoQv22ru1r_aYi+DTKHCnHcKH1;t2r;pZdX%4shIk9dzIS$U{hi zF(~`!(4fxI_CstA;xQhqcjj^S5e>Nc17VS=ccZrNjzj>#qUM69Cfvfp9*x^$0!Au7 z+8v2t`~!D`&I#TDE=({pXWf#q+W6GkkoclZWjwJq+}JAW^z!3TxFiaChUme}F@0&p zahGN#lns}t5L0?)2T0Cu%DMjNtCs|J4c&P|Oct~5sWSAX9etIuW1+J;xP>y1cLJF< z5U|jp!edNr59VGn`~)2+GzoePsVUlEfrH9OZ9l(QLDK#(aL8DHhr{Fca~U8U<8XNV zO<=$owel81CniV-#1(^*JVUr_i2)-&-yJSJC^{fuhs4Q@g9c;`%NQs~KGc!}N}YMA ze1GPA{mpT7E)D#WE(N@(dBW}X%df|iU6>J46LbCQyOL4bSB~tH`bu=&TPM2iB5piz z;&Q7kIqIeve$_<^VnA^s+<4*)VL(|RU&ncq3ALJzHc|m%RSjxMMaS-aL`8?aZwFUE zDam<qiV|Q+)-5b&Fe(b4E@`*g{blsRMXLFK5mMK_{Km4!u@eqd0BRiPX(w$b480Q0 zpe+vZ!XV#zITJ%a+15aFZot{_{ZRGYV~dNZqDNCRIg_N>ZMXZ?#*x?eUDA{MY3S#I zgNfI^Bqx4<$nZN<@haHva!Nm^snj_kT7YaT@1QWTsOOTPJrBYhqw7;i%=?=qr`<xs zMQ2<)+-sGu=C~=G;D5dbFJWUBVt?XO*{^la&VE9@@DPANpYo#L%}#<udtXBGEyxd` zV>03q8i<&P{rV{!>b;*P{;o43bDFB=HFORl)`d}d`|)(9wycfxBtbN;En$YoAQn}v z+?tvuKgiEU@Ob63s?Y-4$5lh;+%8`4uyUr{R?8(>)bo#?Ie5PYO56ypYv`(L_#ota zLO9$!kk<z_8nVu_KS(oODgND{JevrJ*m6jJGGG!fA0pruysN_;g(?K`al>JX&xhE~ zl8}v;rb``3YJ$q<<s>@pM((TUbkBv_NY|aJSI-OvpGJrzuQ;_m3TSx+{EV`<2LqCG z%0zElR{KmM0Xo$B@UmnxUk{?)P){;F)Lr=lLlbnlgx{lW06P}SxPsD=rMm)!4rdNH zxoW-~BDJ|qv_S851EEg~aH3+v%C?V^L2g?LiZTVIZT%XJNBf7Z-gx`Fe$2ob>|HWn zExPV&n$PgSnX8_c+q0`syEQ)Cd1`&Gt@!LoF=h7RcavB@hbm~bTc+@vfDI+^N0iLW zyi)L%diw7xYlg#%I198;?UFKi%WrJM<dBz(0x2d2TJzobIf-d&%h~kh*eCB(>Se58 z3rQaRaEQaH(RsPnl3y<r#h__^T$-H;%G~j<#dIe}0U%~w%;e&)`YB`r&t;gRnb%bH z0~Fa4zHP1n_KvbPcwOWS0(^MjX?w!RMU<z%GfcNc>9XOSHBq-(?scX@;XhRSelq*& z%#3*wm<P`K=vV=%Euo{Syx}!eq`z{$+Hq%s6H*cX-hqcI-o*Zq#KfF7ag?hzsJG;I zG3_^x0avBZTL<Y&Lx#f?aBjMR*AhJWW@KqD1pywR&%?@JuW-~2mef`PmbrE-7_FEX z;t)aLBZ(E(p2uhX{vD-hQI>V#s+SL3YjPZ#{scKxg}Z-aoC1^^FiDApP&)`1dpt6- z<?G&>eC8L9us4@`tO$0W==Mlr<kvmJ`mJEy2T?RZ___Y(!_d_SC?<_}UxASwB!_71 zJF7pSZP&6Ol^O2^N;0F{L6TZ7BSchIzfwMl3jR)-y}+4w^EB{OE_d6o-Wqn3jZLN+ ztN^=(qB=X%Ry?vmB0#>JZ}BU>P<dFg9%NoC)*@-;hn>DVwB{^<1{f?s*R`G3b9-%M zHERT4wLPe%FZrKOKmS>@i6XPY3a{@kQgPMU)>kIgd5%>Z$HDA@>>`$@tiMXl{-$h_ zO*Wd=UzG5ob0~$%4$AG9ms>61>suS!pPYOi>pvJ_+T@%km++sEXEb2)A3OddH*$Wf zudfd=<|+df5zYREN9s5-+mYce?|^_<#%d?*RL5;mq$wk6A36&wWlGmCV;>M^-vvC* zY&rQRZ$LbKAzlMNyYG7Z{cs^HRzB#*ZbjfXl0%J!)q$t2W6Q<y32(StP_KfBE25*g zP3aMkelo;O<*)B29(*8rh<4Dr9sLGXW^jg`S;3}dB3V1nJq`Fb9QP!vsK_X%`{P{i zxjj!nyoUGK7=>b0<GstwIgg)1hBw2^cX_j1=XE(oDX0uEl>tuutc;G#{#ty_(VE*w znsOR$TPrJwO;kZE#`!`taAknmCbi>fP7D=uILh=<XNp!g#&#@P$;#8TYE(hE`aN3X zu@W_~0D2)+*1_%YTU)UC9{+fHKIB9pXe&2%E8*N6ougj><>L8<u+k~_Ct(A6FaV_s z`7gBd4JX~0|ATZ|aZq#OBhjzgJ(x`){5E0+m+-r)fBoYCfLzm=lXs1yeW_nk%V<J} z@c7FImnsYm-sG{H3AoM7@}Q%YJkKxi+Xc;~3nQ?XELax8f5%3bd=G$95N#wsx=i@& zxWp*u0`Lhno<;^bMT^;;cf4<Tn%RL;rH_S@kFv9ht(!~4c8fo-g<84r6=D~oPI16| zQZacaZ3nMu`@<-YhQ~s*VJ&86fH}arL|$bO+Hq@rVT$eh|BZIXe}OCcg`W6yOYTV% zQJ{EAS^R(HMaTGcGxfeZEKJO13Ii;EE7hIFd>yc+m5SV7#4mFy*2)ZOR;P_zyr#P) zF><(W!IZj18NqvH;*58K4F~$No8yB6^)?Ck#~R}#nb|*BTu8nuJaBVzZMtE6DABcy zyn-8WoII?hZKx=`T$*yD_n7-l0!i^3LbfIx!3JLU7+}7>{gI$6{+vtz3~=zab1mR# zfw%iU@szDDm}qBd_O@u;#Dn+EX|mFPVj?ubE^v)hvX2JKJ&KJPri73VATE~rme|vF zK2(YpbG>57+?9Bh+v^)Tz)OD*JJy1~qp@sKH?uEXIoGf3-7wx?GZ`aY6fN%$W^j(b z-tY7n>y4FKN6~bHBYC^|*eKMiX@CXoD~oyuXm^*uqF@9_nG9$LoJ8gb!taLyGV*er zNkZ#eld>csqTgMxOVylQ(Z}!8_1BA<;(PuoYrG>Hy~g<2%d8=hfs7;Y=V|bc<Xlkg zd*>$lY5KZgnav|cA1ZFZ_k;=6mjU%8hYV+_Ni;s{A*!8}-bTc+UBtX&J?_WPgj%qe zHDBz?mIo3n>`Skv&|7Kt8ht@M`nujdCBr~`g?0;bYjM9N{J}qCf@$Va=bGC3Gv<JB ztB<H$IpoyVTrZBw9n!7962|;o1>7b>VWs*?Sf%ZTy@&741araSsQFPGQ8&-1RmS59 zP#>1rpAvmaRzJdr)6viw)^dY(Ob8@T2#90_T1V!5JCRY|bB1~o5SNx`jNMy$Shnf{ zK9Oc8+Fx(Pj<#<z8wUK#xnOJfD9~WjU8gTejsM^AQ2M^S{gZ}M93%TsV#U^5Kyky* zdykDylhEmTB#7>r)TYaN?;o39u@8`eEoGitD3Yed;{dToZm-KeH-7&<((h!yHhTZ3 zb%eI*Hz%nFChDb9`5;hKC5UVU+_X{<MP^8Kge~m`rKU4qpJaA~K?U*WDw!6@vP=F= zB;Ia20;20z8F{4*nba-BS&K;jCmL!S(K%g0{3L1iPMewz?F$iQ<IPm+t9)Z>Sm0if zC>_wu$Y4hE-Us)MT$n2vEUo9+&C-z<mAJtcKQ`%2MXzhg%#268dN67^^^%GsoysEG z)NP5}T3&M)H19J@t740VzWply^`?9DAv&8|CyVv2%G`|e!c|||H}i6iFn#Hq9=JJp zU-~zy!J__ONR1*qft<~g{Xhhmwl{z)%Lf2@Ogzn}TJOH?6^J18EMi}TaBiRmz)dUo z?IR4_DpCNFDO#okgsGVrX06(YxjfUvk5LUnQP7J_q9^S$G2av=kc@gKX;$*m+XYga z^@8#K{#dOL&;+_fF~t^}54!gr;urX9kK$Gf&t-UQF=(to=6|s2I}2QusP9_RHL1>3 z;U>|zyRQLO0RNKoGkp9$bc|ivs%eRH`|kLg*J=l+F8lKDFvRJ=Cc<2}IzdX4VcM+y zSOMBKS1ofxaB@=TqYNaN{B<}Chd8YnOoCW%S8u2DWm5Le6?-Jen&^7K#a3>i2pouI ztF*cJf?v8zJjHIp?~lL@+QC(d_uB7>y&#@`J!aHBdT4Cw`@&}oE@DM<Ibj72(ACf? z;rB@(oi7j3!a5_noVvVDwmxlhOYh0Qg55%;nBP;1M#v7fw7WO8DrYmj*rKd%CT}Lc z;V06{d#=#qEjXXCw;r!1Lrf1Cq1K^n;~;YM5JDo)3u1j>>ozyTZ!<B}&&Zj-EXhiN zVlyzNnP*~Rh;4!o4P5p0Q+r0!iYNB#Y1Sv|KSBQ(YWRn_iJL9#7~eE=iM5JL!q5B+ z@wv@WSHr7(1KLYiDzpy`)+3@P-O`DEis0S#++XQSwl~GA({C0tdtQ#1hA#}0Ec(yZ z?yq4u;1_LX%7~x4Y{GF&@Y-9m5+SNXldG75`-%@J|Mey2ekf|b<<baYn;dbB#fGkU z43g5nRIf6@yPmS<rj3_%7oh-1G9N^t0Zk7lp4WmXv*f-`IT6*4?a4=lcuE3`J|?~D zs{TU(e~jxe163V*>y<Bw0zVMD?+^dn5cDuUa8SM}#My!AxJgDLC^v*@!fiW%G&j5k zu5y9MV0jlztPL!5p5vPWiPSc$v5x{=+g;|Fo~Lkf9?0AF_D8ekUCh|~<Np4qeSfEU z{crqje-ydoG1`UM{%%$mRK9KOA$R|0Gv1siUliK{rJP`tKx}CH#Y53e-$+qKy!sN; zF{ALE>*lpkhBX^wD^BCs-?s%mgyI!bq>dfBs9&nkZc?^IEn{aEJ-kH)iYo)Tpv+jr z@6@3PjGdSD%)lne{_UjFWR|sS2Zj&Hr*|MDazCoRo)-RXO_Q7zDOCRdWJRh|_Da?C z&TZ!nr-Re24-F+TZZ}oJW<g&L*SweIiS^#7m=M$h=Um@k)+h5I(*Yc+rxUzL=(6bT zH?O@3UZm68-^F#UWXY!p74uEGarby>YE&}|7l2~TZb*KU!U~~-q~xs>C|8dqN{aF4 zYItYOks)n?zsVJLvB?w5v$^jbyw=%wbSkK)Oa2erY{e^Ci^AK%QV7IM&F}ve7o~ju z7Z<s3^-^)M|BJrZ%03NJiKBG5WurhKv=9saR6angtUg+>Ijn15RCeJ@#oqD!+ys>9 zVOhX}r+Cb<IirwWPf%GxD2ZP_X`CaX^<o&Yj58q9Jrst6u<WyZhc1qhS8snnq@(Hj z33+oIZ|M`M-I847N~-81exq59k{#Au-Ohe0SF_T^c-`@IQ&}SC7z1brm#*wMe4Ot% zcb0jP1DJ2+Z(HRio3u5hFl|{4MAx)f8lHE0d?_W!!MxE)h}46Xa&`j<tT4i~h^-~F z36VsNzB~Ip@kU{m2&~2aD0QU{n-qJ1R!~VLake*aL^OgEcWS~W$0=E`H=|>~qE-tH zVXDe1ncMzw8zPYGi(WZbFjf63@9hrjVm(OtSo)#p{^jeMR`q?08oAJ4ug7*WIV>mz z;`jqSKX-flXNpm{a*4}5eaG^arX5U{DNOKq`vnGp8MPmhQss+pKWu(hn-eNYfAZnK z!=pdA(e+jamqE_PE27*kyR^jkF5h=|WfX*fdkjM%iNFSUk>h!Xqg{Mh?T{;bp*K`6 zRq7T8LjtAz3o^5CFJohFb4yAl(8S88x_IPwVc_v_-lUP+fgE8(K00_J>25#M(cBLL z_Se4r>Ezyazb<Dp!}qz)R>`=5?fuLjQC)Wx(-)j?Nzy0VqUIUk;k0D&A8+6vAoR~d zb`|ekZIL^=8ajbl_&xA`NzX_=X<!NIRt8VX_@yN*db~Zf@2A=E04UN-tH`%$VKNTa zDGZsp7bkA>y~ED?e!dESqT%GjLrrpMM6T$enYo#Jj4{|;d>1)&)A8@BM2Z79xxTC! ztZG3<kAJmmnxKkt@;S=?p%rpX+Ndwl?7uGl-)u4s_xa&`_OjG8!DZ{)^J0_X?rwd; zM?7Q{s^g;=xOdOvzk?>9FO^=Pg)h6lBqbY@#ch{~J0iSnaO4Z?`5d02<Y-n-9!&gr z*ff7d^cSfQizjaZf)acYhzf}u{COz8X-6@NHSB|(y~pc%QDa!b5ea_39$8B><prNx za8r`IZEkh&GNSRX-t+D^2lY0>ixic~9f^<FCesJvU-gW7`q8f%{&-CwD2&n%Cfmjt z>`yo`^E7-e1SUIq*$j`)5ExU94^Bl7<Y(d>ElSbHrbIpcEzsxlj!@LyAWPpj4SvTD ziQc~)ymZJVZFA}{d+kFCOZ@84zvKxoTkv4PMYSF8K0I2ayg6Go9|sc&;K9l*P}<5x z9>@nH8e#(B&(PCzI>F=(;yS!GV^(ol_Z{2Y&Qnyg9)s*caZ9@-F#}vQ?kJ;}3<U9S zE3TrD@r)u50!F`8Py!JgFvhGL^66J4{9qgYHnh7|Z@d6~Z<35Jk92O8(TohfLox4{ zshvQLrbz%_mR;%LMb}5*>bD!ccyeMovy4qz2~kTI^CT)NyecC(6ALIb!%(l-30wPT zOM=hetZk#(aXP%5V+W@LP9UI<S6gE;7x6ZGf9(jIbCUPECSl*~5g%A*8CycH5{70@ z{GAoHPnOW{0V#;Z_*K(?d}_Xo<rq8oxzVQAqi~{jYA12iqVpB_0YJplKI7}2X}Olk z{?zPSi@c;SJd4;^{pa0wkQ&nA;KGf)q>XBVO;%nGsP^Ky<@LMX^3OGUCgDL_k2|ym zI6n+DmFpV`9rJnGwI}<8-7k12UOQb`#l5KGv8ekhn`8ml*ijzO|DdMTLJ3}!U*!<J zJGdSM^tIU_dw{l(TiUX+W4!c&yeZ|JBrpe~Lt2eh3nP%eV1A-30nvUFHLY{4DN$fq z>U9{dwR7JLZ+q8rMA_m`SFO>5`kbbmEmV@zQR;e~w~Qa7?ugK@wYT?D1O@MXv=(h0 zx4eGDB_uq=Jkg@Z7a`S<Hf;78c(o77UU$dSCvZccJ&HWm*Wh7VJ@DEz_?`Y+)ayFk zZ+t#ao$J^%`-Kst>hJ<G=A}oz91`cJweH`BZf!Pf{lY`Q70Z!fF*oQXzo7JC)H?aB z9Z!l3{Z+A|N8s1(hv6(H-;xNzh0CJ!mTT^GV$G`JXlnnE4tXc$P;Hnjy}_o6``WI6 zhw(QweAd^blqh9*Zu_q<z>r(gys<SRdv88!U-}BVgHK(k-A<_hf%l7vwD^ZOj2+sS z?*W;(0tyB*|Flc8!}Z*xUZe}SR`$1Qn83O>N_)8~!crfkx@CdxO_mL3($h~pgo#SD zG~EwMJfSyy@d*BdZGz6k{!f;miKPnV51w^Yx0$z>#PIB#^e_V-r+;ZlGyk-z`q`+~ zC(bSmpbPV4?BHFsFF9=yG_Cy|?ABa~hwv#%MPN<ZU2_}-AHW|$hBGzRIyO@qhsoK| zfuArC+0ReK1TT7A09weNJ~^Zs-zcS>E};&%M?||@X4|{zNxU_-0_=r$U#U$>lVWZu zbCMSNvmX(m={bFhN<G5Z^+q3vrPt@O$svsCUmaqM><WZu!iP*1$f}(a9yS_{@?fSU zA48fsu*t?3RanjfNa+4SjvB&;z%eT~2B6Ofzn?t;yY1t>^IVsHI07}cpJM#cYadM~ zv)Fe-`bUdyuDB(nblwmqP}=9Z-(GDP9^Bgm;JdoEQ_PjUtMa!*ztQ*lSZDucvBFI- z6I}2E_1?3nxH#3^59b00o@{T_$c9k_N<~9j;9b|f8~)F5n1II8U96*52sY&8DXdgC zT6Sx%(C7-ho_LCut6uhrKt0|>iC=@$zWqdsdJ)&sy<gwX=SHr;Dl6Z#`;<iBA6A@< z_)Kd#4WM8!h)6MRmU11FzX!?ePN@i4xC@rJVTwJu7wmICgKTX@qbT!NXpL9r7)QK` zp-=t}J`8c~iLpQ)^lhSYpTl-`1+L@M(T{2RPy_q`AED@0u!Fc4{#@{lZ*Z*D>~X~K zwe>LJk_BCuH(B_Z@=Ipr`OoH#d|w=jyCQUR94_JmW^8eoGpV(d)9_wq;QJ@HwU@eu zsw{ubTa$Bds5#`;)LpqZM%}&9q3%R^s*;=HDGT3%QNX2$ceZpDv5racmIvGW=yL2z zfyx%<bz|+QF+@#yqXQEGtEc?aIq7zrqiKl{O~*;1{7*{2ds61U=03q((qwtvxsLi} z_ota4#!m+FIgNekMy>>j12>h|RmaB|BH;-RQ`?OpeKM$=ougnpqhZ{hj(*?}2l2r( zpoFiuhRl)=c_R;Uu9ToJR}<fAapme41=<P&1*?|LiWev#r1r_b%Y=qZ9I9??H~I+t zSAi;L=c;IR39ak(Uq9TEfKDY0Dos4|i%Q?5+;)<?IX8RTUb%4d7g4<`BA)Utd0eo1 z8F0Lfdc0ox9Hu?^*P6~ddOUDvhnwUa6YyB_OMWbO4616G)A1x~x~iyX8B2b6p3M#R zDM>^hU%qKUS$GhAU7Xgr9v}bgpq@NI4-Vw1utD`-6Knq;*4_dts`hOk6_JusK)MtO z>28NmK|(^MJ7iE=T82hKx|;!!l9HD0j-k7|YlvZBhO>F!-~ap8`Og2WbIw|47VN$D zX7lW)pZmG*>$*nRT8juPi=F;~ME#j`r!{sl#)Ztr8Mvdv92e+)fv&M)?O@7;r-cP$ zP-4?1HPlt{N$rx;jamJ>8Tpx+dxZ5W1APS9G;>dA3gsm0?S#HaTg)e&ro%`qU|N&Q zH#3um-D7L#vGpGyi&)SD_s1@&9SqXzQg}A@q^#2;=vG`wfA#9q?vfSk2xKtW*b4wF zMOA1OVgCHrlOA`Kl8dr+7^7>_M~pc92@B^6%{Q6qX+JO#y=$aemgeu_{=`oCg^fy2 z-HYVL?)IwTC$&>flAk{;4`EySH|vBp<&!NPW9|)9jJF7J?@Ak^pGPPoF_g_U<6$K$ zl_Ozf9-Uh|2xT^zR8{sM7@h=%_;<M2H(05Ey0wsPk#tf?q(>WDnp%37dX&IzXGZf0 z2`}`a?E<%DtB^5GvCqBnqHUj0OnbSzx?<^$A0_g$y1!XhD)(CoDg?UBNwX-Q-ohn1 z8H}HJ7YRzhZKqx{T~_(51#!tU)hui2jcZgt`Y0h)IsSTPz|<jE)ABxeA|fs1PvDY; z!q-PH0Lu<=N;43t&XNAD$I#tTzB91Sw_?{EPfM3xj-(!l33Da_rs4}8riXX_;cq;= z+58Q2muuzoLVat;tUJM_nmrp82DUePhFxU;vDQYTmx=?u41+_3LjkMJ==mDpQK?~< zq!tFyMGck}Y#<K6gZ=C7VJGwdy-D{!ebOADqt`QL74mV`uiqMxEvOYEASJVg`<5>^ zl+U+5G)#LP(leK9*f+HQzFaW-=JlQo+WZ>wwVB~rH<QtP*@OWxPpio!xN}CV{cc&L zht|v6gh{EGEqxFgz4ne-M=xgRPdQ~QEJcDWIXLQFQ<?j}R#<<g1;G-ue!x7kw4B=> z=3qR`Egh+OH&s|HmgcCpNL+L7FBVm68_})9xuH4K^;#WuWw7cv>Hbx1YN7pQ1XvQk z`_G}ybNi2U%ZJ?p-5GmZTij%CPQ<R&Y|A3D0ElN^QS_L?Q9l2s;70wF4Prl{Fd^&4 zV2#MM#8tN4A+7U|D+ieD4SkchaiZxLZx9y9HS!z1cN#o6$$#DR*KsU#N9Xw;icelH zhZ(8+$h-%Oyfe-OK~lFW!m11w+fFAlm7;&Cm0dfxNVj1c@=DB{&qb;YAPMIJ;Df2T zUDHT4ul$%Gq-7d&IsiqWdLzaTDnvs_Acud2sg8&?zK!m`2STYUxaf5c+|Gh?;%jH+ zE~yOAZP<b*`Pyd|`KjEnJ=o;dem8*3TAuE^-vi)_xRYq<%9<Nosy@oL{vw8cLhbS$ zrKGg&?rNtw>v=r@JI5{f-(kc+7$8@I;qDarn-htjQhAf_`d%X5)aqo_*p3$$3ry2w zznSaa<Tew{pn7#uq-=rLy%k;`8_c;ny_QM<qG3AUM=G8q$4O>S_<p&pTNB6h!>SAc zjjxZdSynNYgul0z4E2X=9sPp?`UPpMh)~u>@#8pbQ~yS3>4eJR;Dk2^mko==3(z=< zgR4YZKH`ZvwbtW6np|=6@2Y@^fo||-{^dvsmc_kA4g8iTNrLRTdLDC?Ar`W~ZV$oy z?;&WaSEeB_Wxb3$_p(jTelLHQp}LeV1pW7duqC3No@bP412LI}wajl2fjyjHWhN{S zpmsWc7vs%ivAN;U=bED|hlr<b+>6Z+^UK%ZqMEsoG?RheG?O@8L9xZGr6ZJt^Z|^u zb!+$@%DrBlDjSkv;nj4g+~CRIRLkKHGYWTYB@b@A)Eb4_7<X#y2ba)vgFiPfSA5S2 zA2SRKnRUasd?yWRm3j_ZYJA48wQnnrn)#-JRg;r%Pv75%0jd78^}o<In1fpHt*9PO zrtSUm$|vY2eta$W($G6&Xr_P9ia%XI))04~A&a)G9`yRIeyAZtMLpg8QhGkNvZ$H1 z;*n^Xa24Ab0W<HRdr2P(O}z=vz?dzKK*%8UQl;xqSD4`0EgKjnNfCT`Q@K^Nb=?Ub zolDvqHCU%ikM&!eY{P6jE5ogIF|>AY2>jkierRY&@_B<<zPQ}$g}4b;$w8PNMGycI zQKR!0@D_*`2wTORv3`2~s!D1gA9Y2Bpry?0u0Qn3u*B&p@h6+ijBe4b^DaWu{$tGH z57<Z+e#wLM{lPLFb~Zyu#(tj(o>^OC+MZAD1lPB<TdqtIdW1@PeuU)0b|sJvi@guR z8Pzc}CX8h~^CL8av~+RR9gg26$0z#0sD+2UFQI?Dmapqr!buw}yEk#>e*an<wq*y0 z)L1F66Z}MIRtx9G?ZK{HeE>IMEBI<ZsSsMx(q?kL)kn=WP}K<7bjer;nnopdvwPvK zTSQFFk3+LB2y2@TyH&5*%WZ4!ApF_Fz-IbFq8^=jL0EHtptu)RP6}H31}S;#4O%>7 zba?0DPf?PiNOnWAT9FU^^thHq6u_LAan;6(IXVW7i78znx8h0z0o$U{1X!}j5S)o7 zVXg}(cO)o+F{DbWy<;hSA~qR2JobC0T<X@uZ+}=Z34!ot#+6KowB7?b)XX$=PTa^J zt3!N^J^6s?S`<6N1SPic%6kYG+KNu2wfpv{Rt0dJ#-M4(ODBGWSn=b$K7eHx^2ZB= z)#8IQM_-MN;lG}SULM^8`~U&4wg`wM-0`C~I)K!BvgC$w$_`SF6xbOtVyef3s-J|f zRcNzba_X9Wro2+ub;)4BsEY3V1zzjJY1t}4xhFCYn|otRDtyjr9TD7?!1kZWOxV@< zP%hPvOr8pP-3q#fJBVf{N!WMgaoH3Cz<V@Z=EWB2O2ss`n<TtK#(x+MQ6=?uInj@~ zqI+>TBQ->JIuR1A^#dB~fZ%l6nTd4<dl`6n$zEe?^^TCAVw@!3+hE)i88%F*b2i>7 zBeSfbE!Gg1Q7T^5We4bK@0){u=((FAXvg%4yQ#Y7zY7@S3vDK$+;52h6XrEyfPsGO zhE}iHWOCA%2o;%pfjB&-%FuYBE5xt8`gF?fxl~Dp=(Fr6$;VU))~^NkVVMlKY{ks& zpZi%X<T%7Z&p~T-zC6LB9>v})^<d_a15xq_t@;<Uj7Kh96U%D`V3gzP0AENA;eLUX z>PDF9VGGq5v_c$E<GFV6nZ2v;8_GJS6sUK=aoCpK&6ugZ&9JMpk;iqQRO;HI3c=5v zHMwQ@R^AdpbV1C;p~&G;mo!GLl$Vt0G;!GE-=x6q$S>Z2VPs^_*9u)YD`Gb>nsJL$ zb9s%T`s?M%M^Sz{$<;Lx|EjfqDp8BP-iz>(csB8ej;&v{Z~HckRIEKIRxFz>pyw$l zwH{cXFMq)1V*r~Dn8R+|GQzN)X115aK1qul|7HIecBmKr?TwYB^06zQ67EC_fL9&> z9l-XvJq&HF-5;?%o#I^kTMpR$J1vD9v7uLMJ10m?Xyh5z8Mr=a85Z%CfM#kGscCKD zA-eiF=^vm(tJXBrTQ<Z-ya_!h_8b@vkEfnYywS8?EhCQwdP%HU;m(b?N5Nj)LXJ)U zRM7UlDk<ngXfg&ecynv}il)onB#iQ}$S}0zq?dlcgjltlUEn^P)!m##_P9c0P{2#X zBUj+}fu79ju!Z}A9A6+|`#7<iqx3+L+4n0o#QvkAS=3G4>;X^pZmvWe{I7<uS>c%I zLzWxmJz<N>8}WAI*hf>gmrf6`SWBO0bR<`)0a&MZZSVE8oZS+4k>RePF!T-|Y?Hx0 zFut|Oi2Nl&zpou3BOF#fzZ@OD0nc8Bn^c?D2Uboy+$0(bU6_aq8kVmgXPXFuPm-8K zt=x=RvIWi7O$Y|qKu~Px%Sn3Yb9imk%gaN!DxIj^iudrnp%*Fvn&N^50H_HB)(Y&~ zW~TnWbzHi{&7o$F!{5%vWSU{)Pt`xrt+NKvg;;#hRXm~vz;6wyAWKcSZp9w_=->aK zga{H^B!ow}mpGv+8@whR;KBf<X5sV>YcAndPla@UT>m<IKY3<72|TG8PLwRtx+N$o ztFwc82Ke0R6$Mks@9^d!ax(%Iy?pUNzyEK;Q2&nK_}|o3z^@qozXvN^alHsdLyVZ& z=op}5bg(jsjz2T6<~*!QGyqEa{@$MxQ{=U0LZ;Je2$8{x=g!{`SLLbxM>dsH-*yi4 zIS$x|*xT*i?%xaF7v+-r88A+(lDN3EG^KF5ll$c;??7lS$?=Uyf5L3PhMr0Rod+XC z1@o7Zk%Z;VhS0ZwTNk%?cG;{Zk3k~W`Gb13hf1~Qh<9hkF%!f!RhN05XQg;^X*GE6 zQXQs+A`BeArJ4`4el0DFNDLV^KW5h6Dt+<S=iIhLZj88I>11|aQ!w?u(#!L0T%_Yy zd1LD#X292%E0s4FNhO^6Fw%+o%%$X7XLlF-#yqcRVo%^KU%S43t^HZ;@A4cm7TYCA z5wIMFe}eb6>pP~9G<iUTZA+T44-2cC@1+#A8udngy-1bRe{m27Sc9a@4VW4_&-fqY zHYQEJBGx#yAATj4>kzJ<^Hsn5CKQ*4nLIUI;*|6A{DS3>%S+Wcv3CkPs*0cy4R3U6 zFT-P}qISRP1Y=3ZrH=*Qx371QaIlE6t|fY8zzeJj#2QxMiBlykif<D;j%U!GJNNo{ zO;ded?PieHcFFT(ojjZIgVhjF@7PL$T_t8)dwq?67=C<|t$K%!X=ZkZAD2;k>EUhP zJTcG_Ly75ylNoq-p|_x1AaL_ULm4Z`|F%_PZ8>}5bu;CkdXG<N<zCF#kE%I&vTcHb z+n^Q<g%>sSnLJ~aEIGp+9Y=0QEg>Hraa0;p7M_<h-_&}%dv)utlWt!UU6I0Y7&lqf zvi0o&h-Rp$W+5Tf03`;BT5HWEN(Sa~9u_cZ2HjqMtqpUg5EGV`riwSc&HC{q!P;(B z8cGx1m4UEUA54lbPJHh~Y86d%Scf3+z7l+zEJw#ZmP7t%(Nx6-twBcGy!PSfcfqM) z3y$iG^se*tMi0Edxdoup!B1kb2>q(zBymVry~(#Xd77WcIW8?RgShgrUAKDzW}&xU zE0AYGHDd4Zww0q+D!y;htYEsZdDL5AdNEhz?Qsa%?FYeJ$vbt`95OYdS^A<5na81g z>EqBbz2hZ99}9HpUqxKuh@c<imL1@4yD=g@u!)u*-$V5E7;9{`#inp?wK>1CKnkfW zi?BdbbH_6Y#(%Ex-Du}+giHymGpT1|1hSCuC1rCm(4x+{o}w}0CS(RGzXyX!9mjpP za&7W@5AX6qgi$XRR?M_L6T-LQLNqo!cet+TlqoriCd9l)ZX(X>E9sLmi-xo$<-f|V zX1gCmfcK%+)*T2MUCyphr~Qd}W>i0=hy%6jUKMb#aN1^PvwH~As``*kM+%U#_d*8R zVXCa`D-tX4--g9#2c#prrxS6(*5JVXfqhrwBehv9sL|&#e+}c4v9yHO!O7JUf|T<k ztP%nx&n#DD7pSf4ePfOEuhsN;R`Nw9#@+L^zYar#AQq|{v&)WHEA!89mcuy-9mtm* z@gs~GYkqLf6Y7buU-seZeU9<X#@2jqRJ058mdes_bCFbK)l;-bR%CraA_@J`lV49U ztG4$QJ)B)3xmBOdY1~#)@?Y2S5JA&NTGrsj-CIA-z+%nvo8~?S{E|!JV;D+?(WqJq z;oPsN&NVniL}E38?m!?<z#}M!)h#2WB(S)pgQ|g4eB)iq7P|wypabXwQa(=TO~u2x z#Fi7Pi#%n$+Z$zZ0k$EicSgmB;>&Dc|D-FS;H@G7h@W7PA15&FV=mSvx6InsxBSAU z5g<OYw9ButEXc0CKsr)$N)~XiClIiYqUYs|FTj6kvZPWe+LT7Q>>7MAxp=C-i<179 zx}A7nv0_%INXOk;yriA{<{co{goj)SyeW0YIP*e4x-(0t$6tFsl>JG8?WphVg2ov$ zMq#&a%^_D>bA8^BJw~~|_0Q<5nu4}xiz&O4K*xwcQ}>}k#VtKEiBk_B&YrVH%{F#Q z-nH&Ep3C`5sr26us?jq)0c6m$S)>r}mx?QI3wTXG^t@r<<?##;hSihCxZJ8y8Au7Q z0f`@v?$-}Bvf(m{TqiRHAzl`If23G@?>&3BKDz@;KPS7RE4rSD6>?Yv_|`wZx6s71 zPh&Q9PD23Y=nViGQb?!%ct1(lmy5Ybv)J!^0>E&KcF~9ppvmC(eVl2aN}XFTPpC90 ze;KpUWlOc!1#Bb1<+NHP77zBbP|5ciexp9rdc9&fnthyW{|@Qs`jUTa3J6h>*CwM0 zTzkp!gA9x>{jR|-4>aIy(*2=kvIjutnfb60@!4xpvn@QG>NR9Yv(N)`+GhJL#P&qg zL&cI|#o43uA{=!rhD8c^&X{X#9db%&M;EG$+slZA{cjZNkOG|DEsjzAS@)!HQ8RX; zMK>Q5i4v{fdS~<q?ZEu3LS5yIN^g8A3?LV&Z{`=s)5lCtIk<<>6=pmWB@K%Fccb`S z7cW3qabliMZnZOasy1Gj{t(;s^LC<2J-zrb^Yy~w?eNn|3J}dkjLY29(V2Rw5F@`9 z2khf3m3yiW$2>oK_FoWBo?}XsMO6RsIcV=Fq64kX5+&ZWau+`8l@JWE%9Fw`*~`=h z3zlMyS^OC4u->-C_dMAvI&%3AE|g;8#b;S0&jx7Mo96!vY0g$!W39&^n#vNAnj*80 zhr)YcUOU<&#->Pr*aM4rJ-o+^2G3xSz<h-V(9gY{n5!Au&FYU?G$}i2#P6ZmYBBm$ zPU)Z1_5u}PP?8$(!+E*8uUNsk>fD1eN9sdJ*JRA$yiyg<%O}eD=o{BDfN$<Hueqe@ z_b2<4D4(d8t?q&a9R{?97Ht?Fo`Pp?mFvQUExgK~QTBq^9dBkuetK!eN(u0Zt8h8d zPu$#)14ahGHhHTNlh&sFP4jG{wB;_Yn}I&}a50Z<IZ;v*2SY4kZ5ZMYBUW=x9{dxS z8e1EA_aO310Ad=UZzn=`yK#ne{Y#<+fGl_H+PBUIx5|cyp|?aht6u;JCUWjrXUFd8 z9iQ$_KngHnAOJ2C_`Snq0#VV=fL`3i|Ali0(DML|51f$;bi|wPf0aJ$vUy66%t>jv zgmYg`7#ZHiY;=P&0chuye`EB~(cEn_i^wIH=R2*c##CO@g#Mfp+|-%o)C*P3FNO4k z(896>-K7lMw^)d@rU=h6>n&=}Li6)>n}b7o<=?xn-U3KehOn^gxTC^S`(yZ&YGHgM zjVcrhJ;2C5$oXt^1Y`d8UR@j)a6BCTlFDOU7&)likXW5dtA||H(M$p6%fL6wVqTWT z9A^X1C^+<v;(Y8LKVO74L0BKMEDL0wY~`(YAFa!aU57_B#JhBZv4zyN{7IUAe%Zup zNYn%bHonq%)c#`nOOF1)DNG|c6ccz@Bp(~;&=d@0jTCwmPSZAr<0?W0^}bOqC;v&~ zywoTK@^(My-U<#xjhbP*nVIUl0?_()a4#gyDg;&&4BH<PA45|j0Dxp<FpMJ<Mp&;@ zKGAdZrURTUC{=^7rgP&s@P{q)@CZ4688R8SI`8z!7>6G1XIYoU&ZNQeX0KL+gI$!f z1?_EgzMO;C6Rv`Ce!DG77?RRWwd9?vy=QJyP|yXY!2^SZUo{NtZdMaeDMpYMaAU#k zb^*706SA|{H7zoJXW(G|)>%>`fPT+o`>1^YF&SqT5^sIl?T;tE0$SyBNw6~SbvXEP zO1%oV3Ugl<f4Zc9asKS2_RC{2X9R)kW;5|u$ZufX;0D1Z)+RhSK~mHO->SvW_IHqq zgEZGG0%^~0JN;)vv7|b-6d9i(B*Q6*>{Gbj=ws7~zx=6=Bw8?Q7G(px4PH+)q7j_Q ztR;3M-k1K)@u-#q8m>n`8RqIQxSXzKjsbZNfIZ*bbRSf+e#o*7b6JrKh4pXNDVIQj zaxj3h<=lg~jWC+R%CfViB+NrO_ug8Kz9AfaDkt?(UO@RSls8JCw8zO<6NNgBaoUHy zn0MTawz^a-Xk{mD-_rBanquhmNCe74?P;_y?*YlJe@<85W9u@ZUvqS}wO?y}A~rHX z<FN`a)Zbq|uB~%KR#Yr#at}gzKYZ=Bi5|G8doaGerY*wm{q%OBGV0X;@nUqczi_Gj zCPRZ*ZkcF0%TrKIQktga->mxQS8R(WfRn-v3BSDdkl?^Y3e3Ozxj(ZFgUNZTl;`a$ z()_#3(?P0vor8KTo*o_w&F4{A4j<QG`^z{hiv)BC=?EJBMRT59;jaixsPWp>vVcbZ zJYIGDbifb*+vM)u-8W+!29`ZbrwU|coh#hmN#wCf588TQ1P1%EBI<*_d3KU~9JvE~ zLFF`-@7OqQv&M_h#0i>`Pi1^v;+vz6gi{o~Z-MkXZ{`a4YJK*u-b+tMQ5}Y5t(l1) zzeim$t-_^5I09jtw$IuGiJ<?k*qmIoM9|yk1UqSyiVoR%dP!BpPlhUe8<zonPf-=R zLrQ5af25<&Hr?hPJKnL_!LlRQF+l40obH878U$26Jt(iRlpK1MZnP)(9(W}*wS(Jx z63&0w0uHDHK}zmdovT7n*t_Y*bG+&9ujeZ6ZFiJB6h!EEo^J&dQ4c*MSxec689;=u zYwdtFW8px4Mmiq}2VBR2Yw$cgIU+M}wEArS*83B8Rfx*`y3uUw77s1-!=Hu4bGnoV zDV7gYKSY2%Huag5m;gPNeDy^4VI<cq5U=F=Du7Bp1U&=+bKBaA<7v|T^3AeV9Zhqu z#~4vc9(j^CYlX|UJ}cDwx2KsDq*~%+AX)a$-z%)#`&KRBrp`6y?}LoqbzjKY2I-+( zf(*`&sgF%{o?ScIOqbAtUTH|CxhA>l$7-<rfc=T6Uv<4O1hh|@Nui{^ut#T}`_Cfw z^1_oJ4P=y-=siKYUatiaWdX`48RjN6jyD*u(Xj}j&-BpGuND`eNrwca{?70EMep_6 zM!MxMP&CUwI=OnX=Yt^lXOPL45JKY(`Z3rBh^i`rt#c*b4PYPfS7fZMTrh<_0fb`& zbvsY4#sEqU6)jK74R0bW=W4{V@bEh<z=8+YJidJ^0D3RHTSgvM+8(}uy}H{`@RPXP zaN{0ljst{zfGH-Au7sv#C*VL1jL?roTPOaMY@sW9R{(0$2DH2Jm`$9N1J;!1_M;H{ zLwiN0zGd=dhIrx|2+xlPH}=MyJHw~IdR765BQF2LM*nATe)Q)5Ei3%Lm$4lkh0lQR z;a|b2jQ>y({-ZY~_ODRYi~o-wy6>RkxVz6#U=uqCP`Y}N4xm~m>~H}FLrz86XCUHq zm*T(2|D68sFa94N00Bs)|Ct^t2cbVTE35u(oJ9?go_`7g-?~=lF7VLUJiouu-R;d& zS_&onY{dp-jR;z?!Lw$xG4~WheBopU?}Z2CM(X}2Iq|PR2~>h$saEzr=S~x`l_iA* zISU%~FC{S8q&O2*VW?kB@(Kz&fb#UNWApv=N!QrovGWL6H5EM(R$r<&v0pjRK6ecS z?^<(&-cQfy-Cv2!dr2bIbwF`vBPfD_xtZA=;iY@A0*6-Qx9z+0gN|_fGD@7+?=tof z3huXR+uA4((Mw?kR8@qcE6VUJV6a;nt7gQd<@Fn~xWwD0Mo(*};k(Dlpd$UZm>XBO zIw%jFF0R4gOkP#(cGDf*qU4et6HiyIDz`&ZO=G(fs!2GQTjsj7oS2WO{?RUx9t{gs zyxG}V<wrH3TZq4cpeKKi^lxa8U~Qk>R(Kl`#8n6DHs3f<w1JaeTR%R}Dd*#0K;*1G z{0j-h+f94`4_rUq|E{X6>*lpP%R_%rZY22<wRHQEoegM~bY>7w;w=Wm5G{3U$Q>(K zjU+tVs_cYabQ{>Lkn?c0P;=E_O`mmgr?>wl_ka2){37R}BR)xGpOc5pE9H#bxITkN z88fzzn>@|suRCvFO70Fx1HA~|wPlUhFOreazek>($|miP4wE9VZbJ0;_bU-vrC{g~ z?y}tLp-h@*ZYvsus{4_b%o*d~;&qaTJPN-YxvMvgyTX1`ML-&LQLtrrb7G-)>XYGn zf21{(@KRfu4ysGGWiJS&_b5`7Ao-BYGTlD|9RiBRXO^LZ3h7bRgYk!Z>FPRQB+y9~ zxj;)rniGS&JG(Add$%=l->e??@$JA0uynJps&Ci6uLxK+`M`|W8Kx~hl-(tB?-R-U zSCS2sNWKY3mfR<xK(2tQ4geDDSavMGalTE$MTyzG0Cv`)iId|5_PY4bMR>zD*QL0z zu%AVIuvn#H_DQonJUlEiM4QI0e4>?1O$G_E1J#Xshe)eJ%mcQYHxOEbbv2AwdCTdQ zjYIbm>m~TVX%o`KNYK?L{IExak=z3<wVG$+p>L;img@e^MKdK-Z^2z7^_(Vh3fK|B zY8EOprLv1D69v|=rtC7s=b!OqUSm!{t=#Jbz2)#4JTaAuu9(#_ov(v|o*vW+)^0iJ zUv@;1D1;&%SI@Tsx!+o<xR8dlq4oQj_7DP!KFEs5i)Y+KnNQ*XjSA2skhjP-L@%{j zYVA1e%YM3Eb9B?694Cd<iIv-$Rceu)9`AK>TlD_z6GYg^dp5QWntqXQy3u#<YTp`X zbTmVI6(Wb)+{%Ed{0or5H`$vO`24KR4by}^=LQGiqa?i>K%?bh9T2RCRt0INx(r?t z5B<ZgLRuoMS#Y%`w#YM%JV@KU_Q+pzSvP5CW9k1wTSt!l;UnBPT~=z-`UZIn<CP&y zZHlEHnO)^Kq=o)7b{Pnuv1gl8rFpm47Y9w$@sFuPJQ_2VU8+eGqC)U7E$^f_av}p@ zI=WLZSa!Ph#OkwN^OH{xL8^*T2LDW0o@@|d_A@x#@*~|S)F^isMoOyx?;m&}DlBd+ zRHM+rUn~7&B`mDK6!snoxO#XE`NGq=x6bURp)WK3>-Jsj{-03)f1mF31OMyZ|G4<~ z@_*d?zkB=+@A+Q|0ejKXyJ;Pm*MaTO-I@NM(?9qA|39Ereplk%B|8*7I)w($VD#7e zE1^!yg*F$`T|#4GV%~qfoGp~jD}>^3ZbddWG&R|Nn4V*s<pQQwhS;VCw8^fc6r~sX z0@iwdR{!O-{y%L(EVHw)V6YGhyK&X>Mt^(zW`X?mtRqUwTS2SPLvOM1pE*0IZEGsQ z5P9t0GaofE__XSRA{Wpc(G0Jj&xEh5o`KZv_JK%I1ZSmr2+Xdlr*H}?RTI3=4J~%{ z2%U`oUuh(MWFIDgHa9diP%)9G6r<CqrEPC=6uCfiQvY@$Jg6R}mk@`Lp-g&{0D?eV zNZMI*>RlbuDCP$2y!4#d`IBr+9eSy_w*`B$D<EB5!Ufg;z{2^HlVJlT7DBJ{A^KB! z!1`q6N%sz{(5_h%9mCSg6FaDQ=c`u)zUN_(J)FllunE&DsMe~CL}O>-H}ZTBsu_!# zH2uYgnOEqoJ5cF^=PR<g#rocU4$R^en!nWKnXPoXGbh5!q1UI$;a?Xuzq{-G)?39^ zSK4mA^O=WP|Hpqy?}M-&99Hm~v~2L7fXxh+-X_1OOEo$l<SA50&4Jyzqd%P);WpH& zY8f@({#3R@UqUC?dz*@9ot_x#Mit+}2jj1Iw3G;0ToKA+(aoASrtfGDJXTgT?;tNb z*)t-B(%;c$+^*!%gCX1b^q3OO+iRGXnK5F%jZ0s7+cRc)VbBqIuy<+4xkT<<F;TM) zuPJp?2qRiRY}t?#hx8Lr*bgJYAJa}o*=K}X2Sot*^w?Nle9UO{4#x`IYT?U(QIWbo zH(trM8#4s0v2bJkc)G+Lea>}d`*Cq#I+E}BnjLik8}vN&{2m%VXH>ijvCCM=(Fn9# z@eMy6G%bFIJ}7M8`is6<;GNqYPO9n#AH2yCNuU5;B+>;o`y!l~_7zfH@g1Oz86(xI zkY5eF1uP;u*vqk9NeOPw_TVU#_u(A4+3RI0Ri_;X0C{b>Ibdk0glQT-DpR+Ig(x&3 z>)v<=exkkX-Ax6cJAi<I7AjEf8^?8EI^_dnucrXi>;Pum`xfLaKnl5~9Gq6cnZ<fS ziTHfJ<9#XTZEH6-oGLt^EgP1Dr00>t7kR<>1ItyJ=(^(?kS|j%zff(wuM|8h61TXR zd-ruU)Q}PmZH4YLF#fPDO76?!@!h&}o6v&z#!IB5=k?XxB{|glL&nmfT{!BBW*cU& z5EG>7SdzB8cfN(3Tmj<A)qe<<;(+)f;Qml#_~ON@5YvLTwt*e8a@xF-D66etozg*3 zVUA4<9@NlKS3~C_TaS2SE%#yed@tt7rER_Cb|;|4$S}lBBrt-20?W69wYyHbttkQh zvG+mKvfkA%bUmjJ1)id)Oy@r?&AVqqi{fX8h*QpK?D^ciE|C>FH#gg-$_R9;v^RF4 z-0bemmnAj8VFMu0=YRJDMqm5_$Z`|M=u5o|=Fn2U)@9ZA@!N^!{fQO}8(9v50nMe~ z6Fj9-OH<8Z=myio^{Lx^texwc>)Rqo#_CNtO;V&Uep<6hyH;J3${i{ma}}V?Kx0<X zWB{M_d@nJbF@Ve40!!|`$AdWu+<~TIYT~Aynu$_7IS2G4NclJ>B^cH;Pwv#L!3}%< zX=`f1=LIIW@id|Um}U`0XX+<Z28jTLOGqwULUN3VfVNrFn5*fkivNR;@gv(2_w&M^ zE#y9S4JWG>=f$;r7h6WnUMy}3UPT>OG*bJD#C@a#uzaaozXIt{*d;Ux4JrLM-N$$; zB8nU7lE!CcA-_VgK-IT%=QM=V1vYW}>K(n*8TzO^wmUQX-OmH`y=y$xG&l~7a5#}7 zx5IAbEifK|pI%B)7u8S?wPSuo)+Rus>dp&Bt>AspvW53AdpTxwZiMVVT;(0Yg2xp9 zNKpY6|D7V$e;xmG@xQs36X^r%x>8$MjvQaqxcGCbJGW1#K4)Yzbrn(JdVGyRkH`lU zKy<rRhmY*F#(cCVSW6Xq9+Y`n&9}cNtbZP8|H?Hc%%gpOFG=!gE?Foej5<Z~jfk$i zHAUR`cs2e-h2pN>BSA5P)lm$lXN|R`F1zs{h;XWzopM6gtEek8^zC|t{>N_&PMAZ< z`D-mpv9+ILR3|-S=gcm9Gm3ZS4`!0w5~*EPMU43Rs6K8O2DU{byHcMVQ&BL30(Mk> z`1SVov`k9!Z5n4>#Em|16l2NyWii}7T*F>qhY70=FWXof^<`Scer@}$^lTOW@c0Tq zL|mQhpieF|uQ%vMN_S5z;{QfmKS1cebc)U+bk|N6x#`<2fD(|e(sc%~v6lQWe`XWp z(LZxp+SQ#|I%4%v<>pbYgv?U27qUC-DnqiK4+lO#uccuY^Yti5z7-rbu9+jE`|_+< zaW~bHV0eA}RDH+i@k#Grc!A4KJb>AYTwDZYea$*635-%NV4rfR7Kzm`ZJqh87ru9V zp=IIy5yUbt2FYd1EBax6|J)lhQ^Y9fB$?Qx4*%iXqp|Bn;EgrwpJ`67rwrrKe-L4f zA)bXXNbJ||A`<hRd}vp2r?a%aoy;`EaE!q@*w)9wSK-&RvPEmwb}Srj!-08+{+xOa znYl^!L6q^uLz(Otq`^TJH{R48V6lLm692kQ2i1&)B)!v01VJrrl|j+3Sr<ND;9GXe zM*;t6nvtn)XJ7BQ%t>uy8MV^bX8K}j3{B^j>u;%wh>FJKD6y*y*ZgZ-d8i6u*o!PF zEwI{?-UmdG>>RH;hH+>oP<1*jQ>vFD8g~D@#0d${%cjnhdH><#SiYUc`$(1P^^%S3 zQ4B<_B2gsl(g(JAlvjGN5qp8W&NdotDr*B({f%y=b4E1!NPg=&+gh*0VK>uwK>Djv zo9i4ZgVG@|sf$(D<bd<dCW1va6C@kaH!z2jnYZi%7hX9{8VWB#Cb9Jik%~CWTd0*2 zu`00|9vrwZI!|M4PW@sBeNjCc;ckR<{4(`rI>LXklHZ!w-<mQ&EI#N-*o*TmRaOHM zX^j=-DAW6zi!u=MS4oF{Bt`DoJTTh<F88K*)Qlo~H#mMAP~`GHCP^gfP;J}VX&eoO z1>f90*Od8NaOnGeLTZ-pDA>M=)`j+rrN^EIY0z-m99y%?;=q@K-v60a&h8g7zE`(% zj3g8bSUI#>x2lx-C;1q38ofJ8ZuR6U1F6Y;UVMDDSo|Se0cSNYS*h!L5~)WH1JsV) zYUZB6MxHkT1N3lDcd744(HmR29Vm(u((%uIQG;UIBFN7~&=k}l?t|tV-W4Z<`e`>x z=+&d#`iSb-$wqe<GuvK3@LC%iK!XX#DC(w-K{eh3jG5aIC7e~(75JIqPWRT4kqMr> zglu^9Mq!%D`)?Fy{hkPMQjAsj)N{N%LFthSq(Bz|&^ps~%fY{KS<*^EJ-%>4dB~wh z;)sDj-Ua7?toWan86!YHdw{yy*83*?{=4U$R6`KVDA~t32lE6DnsL_5WB`bZRSVMC zdO2j!rED|-!}hepaB7Hun!V^%%aa1n_uimtF6Y-8&q)U~_Yn}(*s3G7=z0RsEVB96 zwh2Prr(s?5F?kht(kJ1+atWZ$sIJsU!tQ-fGXKoTM6mVAoQN4b25DJrCqK??L@)Mm zx*^z4sHS=@)*RQ&R;!=r>v`xxx_&=E4Ajbknj5MSkjogS<C(kRh&6OypA%*Yw0qq- zO?MZVslYaz@NV4GEDH!;WnPrG72nDO>P1U?7Q6s&LKQXRrSC~nx7?S^k38G@_<P!A z<gDN%x%k7W@-ol(`)JsdROybDYZ^Z1yJv`-UZOL%j545pAOffvTXh*w88AGSWX;~r zM@-W1EKA@J6-%*-aFl<Uk;z5e5bbDnR$ueeYz(qTBhnTfuPbT_e1&E?WsTKUwBvn3 zR5?7>Y5O{P`oX7wHu<?~lrE7;-JbTt0d$Auf4$```^DpPApd%I`S)>(qFn%_<|aPh zgGy1g2Xb`~zJB>+548gekuV|j81r&M5uCVJ)t!)oe<&1+X<lAPGynM7_B%j1Y0hKx zy)W!}t;Yf9a?~r)AFzwpgdU^sIAL!GS|v}G>qJI?6vJyb0BzX2eoTm)O3SUj!zjkD z?jmvPNC|aNe_~iUwY0?1bWnU0z&IX$ff%?4J&^tL1GN1jckZ1faq*4U=ptC7073D~ zB)szDvVelbuH&<yKcz;D4@Ha@Le{B5#FALkd61fjw0q*lOTT|L^|CJfnB0Euuw!qw z+GX=f^bv@|Q<R!olz1*X?FWp#Z7b2>bTAMe)-B2OZT#uY<k>xNx5Zoz(}IRPpx6&= z1!oWTHhK!@?zBSU;#@jlOsYNqy3`Kj3U==-e?^85QvW^*I5^V&agL??{kvuR_jni1 z0{$1o38J`;*Q0$3yD2`UeH98nfNywMtLEJB#1Q2$t-&R0r}L&QPhY|%v7r)UpUOdV zAUlhr(wFfOGP9}P93UeWrT|(Qc0Y}g_3YEMu-J<957_z?3c{3c=Hm}~ng?Pm_@Zt; zijRQ?Az`5R;?|eIcR1L|RY4s!LtGBCvv*-AL_-A{a^7Q0U!&#N5U3{Do10f(O0TCY zs-J4-MwY1Z5nj$!W1VWZg7~!_H8U3(Qn)@MqR{UIH7Dot=)cT#`0m`2g+Z|&f5j5> zN4flaDE}}?9Mzi{&^)h2n!prB+Lez?FdhMRZNM7*QRz~}DD=A}12**2p6qQFuT%_W z1h?jyk+S(_<le=W#a}Ps#1qd-4iJSIV=e<UyH|c)=W8Ih-bM991tsD4ch5Q_9S8|m z48I+QpjJjhzNCERp=kjx$HqV{C#x)#8e4?*DRZx1J7y3FSvmaBQnLH*MrUuijOD@1 z(j#ci*e9)|W<mMs+Wu9-YT6UY;WyC)vdYvv{E7AudRcD}bdliooXnSM3J?x^?12=C zh4tdsB3^R6H(lH2@WrQX@~tQ5TQ5p$+dbU|uwGq=Hs9Fmh)}%roHI@w`if)E{X><a zfTiOB=!Lr@HAJ`%5=hYE(}#_%$8Tt>dah12ju8~tJZ<=b>B(nhS5DqOH6>#UG9WYU zNe)Ab^xHpivH4hdrw4PWviD0uFF#i#$>;pcYwcdGur%0j4qSoP<xQJl?2;w}OHKAN z0tr_*u6;z1teAk~?-e`tlLGqPbk&Vl9a8sJh(-Vu1#4?xdy)T%TE1{%ko=9&R5eo( zDvthYL60*vHp`c4Q-N2|GC-~L^(Rn8<WnFoe<f|=_}U3|emHcA`v}1LUHE)uqLo}B z7tY-?1CIMoXM@_nGj+q>Y~KAFqYpPMgJV$?KL*ONuAf2@vX`Tf@U^uz@-N}0=BDnD z2NI!#l~P-WA9mO=;5so$n=SaD*|?d8#_aWjdh0drN7|AlN=Du8H0FIBlCcAo-25hC zV4K*UQT(^kwQ4es$X`OW(&6SZM8Z#59A0*-KHE1I*pn9xSLaR7x9G=+vyvdYs_X?f zzB=4q^A5zEo~6ZyxOU*ACX2)nzL<+W{K2B2@&kL{0OyrIcZpW{VnQYxic2P0hHSqp zn$uYnPS;|lh%LdV!_8#4H%#~apd?(NB0I}i<VE#MPZ<i<KVpeb)E{+{ZLDDBEPdJ} z9njaSP@Q~t&8a}ofW>1d{Fvkq;|p&hKYkeNIW$q~1LG43a5cx55Mfwhw~(-A&F!zA zN)769=$j=Ha@u=PJ(el8mrOqrC*An_N62t|3AK@K2?E3G#VMvdXqu-dy*w*Q)I504 z%(_6O_z)}g4EzrY=J!+9WD^XvS*GIf$v@sB9r^?QLPjnKKN9N}T8u^$KvsV}e4XX= zGi9Kowr7OXS*ACYbOnyZ?-k-q-?mk2Lq8c+{&HvN<F^V?Vn|??FU4;B_Dy2(w4bNx z#j3z2o;tSyzDft!^o6pm2H|7B4Ge$&L_VXAVLGfIJ88`luJNmx*F4{M3XfUtYd&IG zzN-l-GD%vcP?jWJSyEM!W7(ex_9jH@#4GppC=kEU@J`C1Khu7!c?oO=b=75?m<z=0 zgS?<nb+xeSr?ykjVj=5ELt)L3BopSx-pa;fO%*(fx4K`J$g0&DvZxqdL53iw-7F>) z5D5!B5iZW65!};XGB(LAn^8IS6lCk8!4xw06Xf%wIrHC5CDBm8qwg&&8YEweuvk_Y zaTj>SseBw;aojnXiN{H9Y;=zdqzH#$TnA1--@NL(IP*=7{SA9hNy(2~tTcE+bmbiT zm+fkqg3zjHWd`b#!wsgps#cf9#(;A9^HX#k`f%C}SL3-%5_+8MvvsB)dYiL-Q+SBO z(bH}IpL(cULl9s^;~4_A5E$iyrEt{_o~}!56Q7T|G1(IiDSem|nBa5zr>uI}am2bz zDpdWE&%7aGUikf_zMJzyt@teZPltWxLmtB2Fd3^i?V;^kKj}Pd%aT90=hUlZ;EBMi z-ui~$H}mm)zO1K|aER#8e@N@QR~>NQJ&XFpZ(D<qFU0C^#fOI%8sYt$vt?=ZNE4<{ zqoO))D5@*#SRO{$`U3$`8=9AG$Fi@vkgO6#C>`Nn)~Xaq=PB!pe%z!dKg|%zjd%tV z3UazeF$C2Cm9fSm5vDKNk^$us0rO$sPVt^kO`iO?U6~`!TYvR~JtL3UIz=}>Z^!-` zb&UC~L{#&u(Y5c@P9ED0zE}sCy+?z}Jvw-_MbJ)9O&+~3U~LeyLp6!95jhv7HjJ0E zd5?oC{A;Li`K>tIe{Rz5SY2A%o)Kawa(FJIdFt21@Q1yE-%KElIeBl=trfhP^ZeL7 z_Bxc3D^6#nNkTCQCPw%gK187C`h|hPcY5$6&Rs_!^swIVPc}8Ild$}Sh4-1p(%S@O zEw1zK@@rRaIV1+dYV|bO-(;p}qs<$>v9WCW6oI}Zq>A6Z@=-YC%BO7u?+$V!$nm_~ zrTpY{iF~*>b=rQ{cAL|H932Y>I-Pxjsra`+)vxMHz^-b}taF>QgcqYalrGVxv~aI& zyKMnc{G1=_Jnct%ni(8VaUes(rb>9+FG2N1BBx{6?k2&0s~h+vr$L${^Kb>!RMd^o zKw#YS+EU8u2bdV4V4y0VRZ#iEL?8Ybi4k}Rg>%3szd;`C5k@?ns}MfsuN|-;oK5^{ zHG%W#mZV5z++HCVMwoPRB3mwHhPU6Ic6w%4-;fp0FSA3WYH=Sb(2|c&Enx%9nT~?} zS4q`YnWc%F_=7A-ujWkGmE2OZcS0No0Srbg_A_&r`zWzmKaGYn^=8VJE$3lirqD5V zmxVNashgHVq^-nRKY;fCQdqtws{ET(^C=e5^(Drf1H`2Cct{`TIEfDXaklY_B&@SS zLKI7XHOx2m9d)#XA|DOhm`1voVW2HP<k*ibmyH;}`~jR=Qem3iW3iJcpSH6eL2MGC zfCp@BQBu&BRRONFa@5v3kBI;l(Ku=0{9Hn&WL8-l8ox<Dg=<e_oedXcd(i;~w^oHe zWH86lhFND8s7?;!KQ>Z(3_09}nO-oKNYOC+&AO~ejPUc-I98XR<)ifj5R(1ve#3nq zaUm8)O^L_Wwk!`V`dyAiAuiR&AYg!)9}V=^ELCp|fP+O*5*}N|)Bxnqf8?kV?jK4I zkxR`w_)QsR5Jl+X7Adgqu8{5AG1v3?Qz+L3nD;(5LCh7A^EYUynX6g?!)NYDe9pdU zmG=O*nytVPKG^ODQP!k41YjQz@N6s8SI@x2slhOTTs6GSGUplgh?w4``2+c5mJ*UY zRU0LQWNSvPjhDS}Ct6a17nG`H47YSb2>qNJz%pdn;B?$Go@@Cu(+YlX@BozR%&V#H z6AJME{qg(8Xtv2)9t;%1N3)TR#2~oe^zZLpkZSe$q&qs#1i=|#5j6^^hQMqo)_&d! zT#?j>+KfOC>_IygxW0*Wkld0VRUHF_0j(kg>&bs?X?x!XRg^&V7M>Xocc=C0-~6RB zZ05^OeodmyN6)I{kSP`W>y(N>Cu$0+<L-uc2Ik9Rn1&WG&Reg$odnB9F`kI|FzWL7 zy-~k4X!E%G=?{CpSIx|(YFT81n781=f>!vi2^4GlU5W4Oq!rl;dpVM-WQDhZE6g1a zxMfAmjOHlfSe;iTXQY(|4+@hKK||<)b1<mH(s@0nQmWnje$yp0h~m9B(dNnL3+qE6 z4`G3mgx5K1k7(4Wxm-R0%1`bwX~r-5a3L;@B(30@w7`Upp;Ioz{?7sVB256%bP=fM zdXjwq^A%h7mfx&rDw<%y#P=uWCeUfa+;5y3j_>z}wU;ygc+uxrWrBo%|Clce>GHF0 zzQ(GM5-<i5z>%p;5lKV^ZSfbuhtbL-)=Fv_!`gF`Qn2hn`iLC01u;s{oQSdsmyl0B zuR9oX4q4RriHHWL$#~MyB-<QeEmdm#fZUeRf(})yoL~tsW%L<I-Oc3h^E75EXt5Gf zu}gbli{whhD$I0qasecf8$O(C0ZJi;QhHJ?DP<AjcV$?s0^t~WQKlAlM4$dn-nWv> z6l{|mmc5(SYdY6{NlaLvF2ePlG?bIL-Gb~|!4#kNsuj&&^igrS)K)T){1nCJnb~}A zYQH%N1A9S;QZ((C#)~q?On=;ivMTX~yXy*a8A>wJl`}RYQ{sat0$~u8oU(VW-*Zs? zC%v5Rt+qzozDLjkXZ0Utw{Oug&$m~Z+reWb+(0Y)b}Bw{to{@s&1oZ=hQ3KMr=j7i zSL|7glB&*%#3v9eeB%bIHgUo0eNvRxpeT+|?ybl%7{;Z*CD5+vy29GTbIGCNQ=k4! zrc<Yv5N3>v75~ShoAZ&)2kCHeEE{756$^^)`&0Hfo451amv7wq^~v6{7A9}m^1PjN z139>jyg#fFp0G9UOg73cqo=f{_-^@jCc|m!d1Ri1ab6suPTR2Mwyf1x33fZZ%Xeno zB%D}>c6bA^KgkA#%_PdlyJxU#GQfWB!u_j#0t9tzf|wOE76!hDZ2M@xDpKvtg&en6 z91D%VPIou&`bfWjXgioyUfJ8WBai5bxuysYEl=etyicVI<9QUX<5f0b3iPm^G4wK| z2rBYtfFV3lHX(kKA6Z3THta0%`*7Urc(y;S-KI~JFLg~yNMc<U5L3KBFa7~qWuEZ! z`PW;<Wq}8ERqbAhYWYamXMUVha|FQ{w$+!xs{CPHP7A#;0R9u*V)o=UjR7(wgx4S% zf!W!h%<QH5vl;)`Jpv!00B>+gZWJ3V+bHKlSbr2A0Va49`Odl%+`m=KBfMoxsb=W6 zRZI)!Z*G*1oM+4^F2uI_kWCuc6Ahw%i?u>T@gtm%)fFW}?DjN~fm~q?Q4+f@@vDB& z3v%wZ40#t^_yhMpA=7J)G0(GB-Yr*fY>%!5=x5e#5^Vb3Jk~ef8*;ymzA+d*BwPAq z<qM;)qjo)=w8n)}_{&2>)a|8FwV4hp)vKS1#HhugKUY#L%Pl#p4VVu}+QD-+duiOy zuXT(SQrZJw#e&x^BHA;%HpUvxMiaKQDE~g2H{JEq)a)0QJ>kI1Errx^DDyI*{N#NB zQ`r5Gb-7rj$prIc_qDvHC^HB^+YzY>Xa@(z9rW(QSko9ezn|-^R^W`;n!!kCOXW1S zJ-Y27xwf?J@8c?HC+t#^GuaYa#fn9ksSK~#Y@u_1r!bRT7rgX|Q|sTB84!GpUi<z$ zUQ2`+zi&HO!_W{@k$py_L!polmHdz$SI3uv+F6T}w-tN+G{}Bs$tzRN&VKW8LP?SP zR-8V288f#-Yj;jz-_Pcilb)<a5DBnrx&X`fQ@WN(oAvO`w`H43x3V+3m(BkUFv<8T z{B49nK=Zvfow)`hi$l0;Qb9icf-xPrOg;B}yARCNomx^)B`uk@b8`Yu#En>ZJvd_# zwEK&UTdsm^%et3GChk)}tLcj|E*6(=OW%V;Q?mg>pLY^01qKCQ`L5^cNI%`9I;MVm z`wSZ|)a&m(&=$U!b+yu`vPY-<vW#+PBZ52LP;|X&Er;o^@^2YIl0(FwBmP?dL>7#G z-lkkw8TvAi%RDX6cU8Gl;JazC3ZMAw`X=nlgn*|nC$YGjNI%E9yc<aSE8<YvV;TWp zm+ye65<MV;x|$&eJVdV^<qL_{<erH*1>Fg>N@x=gHTrkEpF%F3PEr1f@`pqdfDmim z*y?<}^NGx(EN!p26tD3^ZDqRQ&}Jp^AEW~H|N36yRFwaT<KD%)?mqvg3qTDx@;d&) zEkH81rVpM@nh{!bQ1Gkqs%BLnO`+=hLx-6Z$j1!Q9W{6IM%D5+>Rs7IsTKP>&hFR; z1x`c@*M=SyNi09NrsT(>P1r$^FP>5)7Wcvn^z9OaJBwywRq-p7);_S-f9W;H6Z61g zA~v%nNS=G+n?bEj_O?ls6*81SSlDMV(?7SlyZh+iDnUrGEukC#JlA9T*h$nHJH_v3 zj}sI2uP`d52tJWAX}+O|P#9QH7EJ2aD~}Cw3Br!RV{IBSwUJkgJ3#%JkxbDq!L~Z- z`CW_2Puq@8Bd*+hx+v?!dANZQKqqW$&?2YfI%~Fg012yY*;vzg{*XnA1CmS4ym@c2 zN*lTOdEzolvzFR{YTzn4fx>o9;9{OxDaduN!5d*rmTc=Ly@^Njvdr|2@(l4Q_gopn z<k3$!a#nnM=&KZDsQwjZcL2pwKghV1jR|RDQc=yScUj{#^!w`Ru~<LN8vfH>VqX{q z-28*++&+>-<sR&Zt*V)_-{wpM4OT3a6a;(dntPS=Qq5yTB#L}9bKaG4xJgdGJaglO zM0?gGQ%(F^Z9C(xJEp$N7-4V0`T3fhYNhsLQXc+40z;q&Ao(1GDUgjHhr`Ea&-y)n zoSU`1rWzp*?W)6L=m2jeF1IfW)O|6a@ObCO7pivnji>wKOl-?Ud2Ag{59wOp3V<E_ zZGCJirxqLaA%(5y%-{8LtVGf?d_7pe*DV?o6X#)Wdwo{fE4<frHvV4^<yDKcsXl~3 zmxm%N@Wx%buRFH>l9gVzgQGuzl_^ic$t7adt1sKz<fyv9Y&iWAj3B#&<%DN?`Z^+} z7ujaj`nn+N<u3B-GmDD0Su5c;vDf&L?1?!ih6=qR_*Nu-_}I3}4<|K4IT+qHNHYp| zDm(d`SnQC9f)a&Q2dqOPTHItpA3+apwI57keAW4jE{|6K=_d5z>ZdQsY%`74ez}Rw zxyyR3;q%A(xTe+T33pzP6x&#a^|?<=)L8r}^`UVuY1xv9jsk}XvU{A?j+1HXzr_IX z`c895;32P&ZcNJ|M`x;e?HL7$Hbb65n;$O*Pvnm`J9z_a7-5_<I%>mT)hUVScvRB9 zG6ZAcT`}Rd4Pk*K%-U{#nwGJz=&h`dUShsI8A1>c&l^8ttRV)KI_}Z1lo7dcWrxN< z7Ni;D_MQAg=fAD?o&M}u_zqHlo36ydimr|7jF(M6aBl8@XeST#?ZL+qj-Gm6&BDS6 zqOepb-{GauiE>w}t0}bEnQz?6CyK)F>R?%_e6`J<&%$h{^hf1rg^GO6%VJQ4cWnR5 zD@A=CP$>rV6R^wgkQj5w)60sNKYL{DzU!kVQhv$3fcp+xAZn+2rGn<=|H0N-M@7}W zZy)KF9y+8EhZs7BMoP*8=^RiRBxC^TMmhu;T2w?}l<tm!0fX)ukPsNa0Yu+}&-eM& zdSxxwV)z60KIiPSKlgQA_dc|Ly@k#oCilNR7vTTA%XaB*0_cfi)L}&W@MyK28uQ(3 z5>R?*k~*0VWf06x%`2*4jmW-4&aNmnDk6`2h2>Mj22xR=sNbt&xgu=ojsW>-q^O+& z^lpXtcbQhQQ>16r)W+<&%PYp+a*taYG}FIP`hWJa&F@~9Qx5>aBvJYoC$<^+E)Vx3 z!Y37_WV>hVC5(^K-Kw7*=J_-|2Zf)oByEf5c&JS(I62$9JJn3kKP1T>ndc=mkd1q6 z>LVIns8(Ci1vZLvK0cfrA)J+U1O{E!dBk^rCI+1tqk#7esFu6ZaF8N~lDZuFGfMgN z!<_>{3z9F3p6`omv>Zo<s0i2ZJ1_L<ibPbVia3@mM{*##qRS8^jf8S_;OO_$OoXQ} zGzGmNWp6~(uO=9GdnYWw;NXRAC3)?7zvljhTJ|_?o?HGUOJK2yU=7R&?r~9FyRm5u zUm>O=tmm&+R=oZZFWvKZma_s0UN=AHew_*v|3m0O3Vt}Kb;R|%att~%ag?4{)7LxU ze4elExvup)CaDU}9m$U&wg#Uy)ne8MgaiaP*{t0zmKprFTQB`SZJ0i}-nNBQas&2s zU$2eoLW#OrpYF0zS%D+?L8O`bG3c}L^JF|kj>X}O0lmDyvxE(a?HdI2@?+Yvq<#a< z1&oF=KeO#8E`3nrmd^}qTQ)Wf&r9hzmmy5+n<VmLhCn-+V)22h+d}R0&O`l#?TI&# zG#&<y(LZ8&e7~$dM!H`TAF1Ok4GS%{1~B?a=j-Nfz9g#n%EQECVC3p&_>?kq^<6y6 z$^kxF2@04X!CWrJjY?MdpB319&8@}7#aN${SU4Hbv@?OH6QAE>w&Argz9@DawSD;F z2{U=W#z9{>8(<(+H&A!R-F&M%R7(g$)%VqZQzokTgb3d#aa6GU@u*g-7Nz*(;Y?w> z{S4V*-eZQX)F*+EmlUVYc$t~h`z|!@0~oU)4*H&X$i!XI7rG#p+(B=dmB?;G_<5+z zhexc7ExHl{ofI+x+G;_mM6{XlN0o%V7{dsqO#APjp3Z#3wLaxKm{G&0-y~Ft=~6X0 zDqiXDb=y~rrTj*!ASJ*}eymYQx$NsvLb(b#N;k+GVU9=h$78!6XUfr<H+P!Pz0YxP z`SSRSTT|}ZDr569QZ=k_<6(S9s>fsvAqO1HGWO^q`)-trmBVvE!=*KxrNFBQXDsFW z2^QuCa#crco8FfYIWAp^VjefH;m4*&Gzf`H-HNY1r42c#U-J}tPqz9v;hQ0Tk1tss z^Y!69;uO=pp~7pD*5~K-kb3WP>bY-OYYKi_`+B+H<&e8UKw7v@!JTi293px%y5WVg zT(*{33O$kdM|pk}CErv^T3Zv*PTV!731oC&mk7@l`}9gXZU%-yE-1kvKeR`p>ta&t z+Bj`z#HDx~`r(XoVu*tkCkvu0((r*TkPD*89fdvgMZRTPgd&w9&_DxP13B5>bQ1_j z!4M73ApCQxT$#!jDVy$rl&^@rhaqdWaM#z7SnXxswT?fRyOEu+XJHygwyGvmuN;4p zNKd-8_q9&+H#2v_7H`|yDhXadJ}Frd3x3x&%X&SBc%KSBvyW(B$5mw7aPOuh4|+!} zsNs_E_0O?D>0ue7Cqn<pQ0*GD2hvE0Qv%LS<XbL@1^z5%p+j@Y>#IADl$q(7QLy-p z+bw?_m^81iBHvGNLwUt+cftZ2)^F{+$kwW)Xbp0=mFW<o=t!S$g(>3LKdG=q&J|cS zdh|!vByFS1ugA?G6weEd1P|qP3H=rQ_atXGd}`hJpclEjyzl0M%_lynpn=8d>%nEI z!!<@uAVq0@x`{eyiVWsGX!>LIi2#bR`nuPJiHkt*<KozFPjl=@isg0c-Fi~O5Q{7D z$|@|=V_;Z@C`IZ&N1NJeu!%De0(MKE-_nXZ%ScDg-keX(%=AH@yI?YPlYA?dZ0y~b z6DByZb;{!<yazsiHp0XEn(dVH2X@gs(7S#TI%3Zbng-fyX(A>g(V)3qwkphIdBN1^ z)(Lu#4J_baU!$U*m$Zgm{m#&WWlDY?cd}uO(vsH;8%tO)jFWRqjuDrRLDSJNm7ZYI zB(nrLYPNMb7upy(($+{@9IUJv7S5tM%FSjG8#_@mviSGw$c7{JZNoVGVU{266SuCj zn>qVlBg2=jN+4a`St5cP&^++HAg+ya>pJE>?RfxiHy~cD%)>4R^T8{Kt#Y*JzL)nY zm^aerNp{0vrR?Jfe(3FE3?3(8U3ES!juP@U$6n}o8;y^sEuJcWN5D!cERdamW0#SO zY_w!};+I3uEa$TDaJN(;Ze|+2PJ52k$}31cKgHhC3*BBt>XQVFn!!06!e~n4z}Z8t zv9aS=r=kVxbfZ2Dg{(bqYzI*4u7AzetOIv8WgN7j&urLQ_JvX-x;AN-k#|dBpKHKT zEPH|ep$C%8th!?fkz-Aie4R|2daq@G6QvtM>^Q#tcGH}+x0Co8d5r*+=(u+#8DX*P z7tsPV&AZL~;)Rqb@44@s7s~W`tL<_hKS&C_S5^8W&ou*8o(P=x*fDc2?ymJt_Y~*O z^QLus!q4Z;rqwByATpa0nUNrk!fuzucXBf|9OL@HyI`>KGAL9JzHiQz!~qk_x8-E0 zC=%j$Up3tSerdX$b7prWvfT=#Yg6n0jM<@?P$|_p73;iu=JRB#;k1B^VOqJIdE<wv zo=6frmBf5peUKRnKs{!p6Sdffx$WJKe|V#pj6gRx`qu;`Fab{N(0yyA#lVc==eDKJ zmZt*UA}tG>lgoXq_dyWSEFv27nC#s(_Yl;WKB!SBUHWbihD|Zr`XI3vW>5%Xd(t0E zL990kJ6r3vAWsERy6FdO&*OC+4XW$Gneyk$dn_YBYKM(A_h&k(n_3T(6N2o)%o&a( zPOlzjq-VS&Lsw4w9DP34NOi6Hylr;o(_~3)=uZf2_`b{_u)q9>sjEx|mHjCE@lFL& z_?d-rQx;B&!P;rt#PW}bfnbxUx<s!ZSs?ccBpFF|3Y+8b*KYB~Z$U7K6$Kqcq<??= zWJ8T9O2R3~3+Vjvvfzd2AOFq>XZL&PM4GF8K-sSqh@>VyqAOQ5pW>-u?NHy~%NC*O z>)}x&Y9#umVqU{Oc!=6of>p@-Z`NO&jpx|qtBzt+k(!q5)vf`yqDOR(%6FF`0*H;8 zO=d7Nb4~kLp1}7Y;a|~#-Z6zfJWS}7pp1v$u2}>RKR2U)`J51>;fSFfub4WQqSs&@ z>S}#Q&yaupl!ZYtWENw*`F!5<339T=9uFb5sdlviN>B!a0J68d{r35-7dZxBKVP3M z@dZs4@(jo2hHjzzwziq(j_%dv2L66S+N;P4TO(`k3H^+2>)hw>qcGD62W8%4!ibQO zcju}Fovt1P_1t9Ac{{?QMN0h~&)S8&FM*!eRL%6a&n#igP9PO94?>z4R8&Rnrb#82 zkF|Ow!@B;!9yfGA%|q;>->;AOLvo|0t7fJIe{zwtoAVvfHEm0zJCR=oVkG<(31$st zs6P@x?Lw^(r%jD?>wfM=tnKPQyg!(pa;<5u@XqmGd$jgmf}0$h`L4N4r=CG*LsESB z@r;Y`Sc+`jH<jI%?!E;Vf1SiyW#YXk5-%Z+4n=i1ln_^#HJ1>;+n0dm!b4<4CTM%# zxSRYr|7q+hkWgC1Dwb>2TCUGFg!u*lHU;3TV@mA1k{IjWTt}1Q-{Uf`Oy2(=d&2+n zDrEY1Vg`6?4y=#hn2%GO5O;J({72b84*+9knd^?Q<xGjt!1{K|YYwAe`3zPOG*=b{ zO2hVy`q?uv0j#Ok#*gjApR@UWhT^_~G=V)zuUD~AboJmJYlh8vbYLNy+|zOEh^##p zP90nz9#l5Qt?=RRl;Qjt;BK6Dz_3VkSjotYY({A)_?BaOTHUIvU-led<bR8sFi43v zQ|8h0|Mt0l0`df|2JV^!SJX0$@Uv6CSU9RIVlkrG4C00Z@_z4wSpt)zTT3Jo!ki|% zaeGqkDFUCr+4@6XIJCG;$d_E^NzaSQ1QK8W6oVyLp}Uu8$fwj>Ul=WqyKcBBy1<bw z8yPXUQWGeUCpZ&#-`73kRnq)n^5)hdkM(5GZ|K*zN<P0g4N}MyLL}*;EtRh)bIJ+G zlhIL9PtLz6cLA^14z_H_b4{)?kHL2jf<Q}NZSEY$_nWw&n6^v9J)l%80u^(c?BN`e z?5_0=6$SbhndImYynf4qZc1($d^}3-#gfJt%gS@Qymn`0zZD7HNn1@H@M}I%y1|zA zxFj+<!&Q*zY^o-OktEQS%Wbj8-_M43@mdbtV7Vq<yLgeERr&e8**Gb(O}-3Qhn-|< zB9w62rlF@Od7EVFu&4sXNEEeBUq@)|XqU@b?>fRg>a=Q!5QoPBKjyKbhe67;2v|;( z@Iu9n7ap++cO~*8?SujX7JtZ|f3cS!Ih21eDj*;4@UE!#c>|AiS@6btg#X6&6TVnh zHhSa;&Skw#Ui{f4(NA_ckK7fn!A)i0*K1WU)At<Fv?0$b_X82Qq^DeG)hzMo8zYqr z1Br}lFT)L&Y;U7iHE>Bp#mgKtK*H*Dq_eUn@ureP{pD8ft@jUENav@!3tISmTckqU zJ0m|=h_^=|o$S(Ce}MVRDf*>0n<Rw0sc%e8Q7O%d4zezImu%}bNN^zZ^F5ps`&fq} z=vI8@7G@NRcC42&cFjQui^<BDov(#q$UQATw<AUiw;<sXr2Y(0MSZg^bLM}tM)jCs zP{{Y5`DvWQ&geC{d@`7K#zCG|;YnkG!{Qw$gBNJ4oP(Zaw-$ndqRiSM(<J;v)7_|` zF85WT`*qv~og=08BTlaDmnP1cc-q-joD5Mu>w!R{X4+`-2-P8_Pv8TVEPD~Acin91 zti9oee{8wJ(e0tj-~AycLhnNVJjnZWdo%iyf~ym>E-*ldudl@|oA}gjSIOMkOg5_N zBr4N^g9kDNnv_u5Y?@{W50LbqVX)1!V7)ErI7lnTE5hN!1JJf*eV;v`7fyfF4m*9k zX>T`-+yg(GRN>vcB!J-8z8n;k>2f`sF>kB0r}%HizS}YIWlHE*(aClD$9mKGk#Ccd zqt5Ph!+0u`a=4w16?$L~vnFCFcB$DTP5TA(CCEkfB&@wueUVShX!<iZx||-Y_m$jY zDmBKZ(^zchTj9RlOVOJd7eN%n;($_|7Kitj=k9~%o3B&pQgy3hBxYC;^zrEY8wkKM zlyTDRMj^c)n>hXgLRhbYmE2kOwYyxX#+;@XU-uOkvU9G=$AFC-2JH$tGe#L(Iw2Wf zvbYZA18%PAqm>Ywn0^q2bUIP7c%a~Dkowa>a=P&W0kXoN%{L?OUGd(=!|mz$1fR;R zF5A`bwQ%mS)$uq5o7x63Nt1U?y&z+knGpJ#f0lapMm+ij?>){;w9-rhS_T;NDpFYJ zW;fv+3O&ssM_itCC)=LEjCDf@C0>+w>Hmdx6aUpW?9uY)-y`~KVKvKzHJ5|U4E6RF zG=pgv{+%1-4C_uw{GF3T&^6PfKKuKc8m5s+%)1nd@^W+tF>nU>bT<<1z7#$+#GW8F zzZKD0-&ubHOT(kTZ}xR&Zax6E_(>&F?7^XEEK6Xks1kjB$ml?<?kKBPc8d29JUQH$ z*PMo2GaEe-EfQ2Z*tN%ePPV5+vBxHUPfX7)%X@@un7(9&t}J9wbD!8^aa(($Fc4<> zi|O?TlYzjMeoan`4xZq<DTSQydLpa!xyw(^TizC|DM4UKXETLm2tyQn_)vbDdmI=# z0ZYC}U)fgte$Fi|Y;Fm+utQbr{6%cCKq~O`Hl3-BC2BG-Z04SjTI9?nstYqAMC*9o zsA*H4_I-2SIj6ESrl^I9!P}+ue~zb)Gf6r$S5p;OIrllSy;O!mWxCg}C3X*_oIQJB zxt(eSBVSrMSIn)YCT;ORK5NOW9@#ku50KVh70ZLE!iA+Lo4-F^r?>&04D4^ZIJY!= z>ge8#`A)01i56$stOJ86^QN$!se#=a71L(c{5u;&ulhy+oghBoY-Mt6_im|btdv!> z1AgosDe_Z+e)e9N(BRWQMe%l=5}b#Yj;I<xHhKzmsNy5kI7zgX;`T+}(DXfF{}@xV zC-|VM4z^w0hq*(`Lc^tWGzdj9CFtErtZIDj=vgIwoIOQ1@Q~Mo4_PwoMYFH?y8fS8 zh(1XYr$b-`<SYMp2+{hwpGEsD?@-Q#$aJ{Py?VeT2?s+SkGeG-oI`-7czWf(=jFn7 ze5aQkrOX<akt{fM^juN2bU_;CC<tU!&^~b3WS~Hl=7xeeQ}qmj&hV2hcJ-4ayThrQ zs&a^ee<(uJa_B|!znU%nnjaZqoh>Cn1aZB36c)p(%k#XtTOzzifR!lN*D7Tk@up~R zsVwiZn)<kw8^i<=UAT2VB9GvGO`;nXBf&ff3|u?hsUM6@h`4sA<bl9KgpNDy#)cIf zOc3t0MC~gmU#1dleZ;4kDa|6@B;EtKL)IZ8eS9beBGmyIKIy@@uJ*=Z8HYVK<PCXp zD8_$I{Xr^OlVA7@++SMu-Q$*XWDmxC?9mq|8TBy30;cu@8ws|b*GOM=+zHdpATmtU zf%|`$*V5qnN!1d$?IkN;Ah-f~qasG}d$9rDeC_GyETdzOm!l1LWNy7oyarSe2#NcB z>s0PO+}QupEKBYjE^&JrF_8Ow`%;i1c@A+0xVW)hP0PL)ngagY(NnbeSGToL4IRSd zAh+@<IXTd}u#3MF14Ljbx-FT-I1xm^X?0=!fbRDdh|xF?XXC_OfR)>^*Y<W5TQu6T zOP&<k)57m*9`^BmWOHZ!6tOclvF_mJP$|yMy4@hGA60S+>r$xB>P`%H&awpZ#_8|R zx4-?QlXbs!XwI;~Js-fMDewtm)C~*2loxASKpo}@4z06<mlm;v44q)>T<YKjzuhW6 z=0kd5y#VY7z38l2%q+#=;R*uQPL_Sk{KC;)Bqx(~wTfPp#FF)eB7Nlzp1`TAb^Eg- z=El#_2bADzQ2lVKj_Z=AO{0N_ID@zwz!3v4-tSnn-Rz?STvUITByO`(pxB?WZgxsF zDF3q=Ow6=XL4tT?Cj>gh6qNufn50IZ`FAuB-W@*RSonv!eV(PhoPMX4I?3`P{lNS= z8WcTl2yqs-uqmWLfB@>gX3Z3u_=V|Geoddk=s{^5`*^O|v1;RwQQKop-nxh*?+?kH z#w<2}*l#L#!l=#XZe3n2vVT{aAk=SBn_W~pZDsl$V@^x_3#>R)LoHVy^_!hrkIv<3 zf4X65(e7!Br;*1}Dpfp{q<u|km$FfezkjjT_K_UUfT|gs$oEx0@oAmeZD})c<u3gf zdpVDK59Lc#K6u-g#4jV~>14}Pcv*+2ZmF>~J(Y1A1MPIaR0b}@%5Mg?rQ}bP&|)K{ ztZZDrNIiM*+$0DKbfeG;qLxlT{h=-05lBI|%4WPjrFt-~bD@nVEeZOZ(>HA;BLTOr zfz3UXw9bT6g6(lij}jm$@l^DLF=&Ig5e?4&#on)sec;(~t2Tr|bmB&(%aW5n?Eh5W zdsxF$3oM%ca2_f|)wQR>>1)eKTJuDuzWJ$t!Fy*dS<~i`Gm{rgWa~EAsopBAy|L_0 zUY<?IVVt5gCT#)lUi0|Rq&u9GnsuJ3MagC=7b{QW*Sy`+-Nzfn5Yf2S(+@oB^!dvl zFFa~%?dJrWBdL}`k?yCMGnTKF1ar|pjILgXY_hkTsSveAqmyLTNU<OGi=%0n&obZn z6XU&M^7&OhL~8dBW=>a-h1h>r34Y<2k<vh9>Aj%{CiVUU7E5+$qILW#wlr{pRxBCf zCa!6&NFO(j5Q8t>K$r+uI9+3imgSQHR)`ejgZ|1w&yXoDW`r!oblNMMTXx|!?_bOW zZR3Nq>YP&_xskVcuMO|Z^|Um#<;KrMqYaiJo5JR3Zcytu+sA2RTNXX$tXOT{Rphi8 z{pV8oOyVaDA8A`Brux>p!#M0Y=;o8ZI-B|zM&sOGgNlLuPhF;14%}vkjb4W7@imRs z@#E$zW5F0-4(8$OYLmf`#X!|=JNjhxHu>l9`g$tHb^2r9kL$dAFDX_beGIrHi8tI; zz%ldw`YQe;DQdzF8Rg7GOt<BM?NH12M{m-J><r8~|4zUP???wn4R<Q<DiNc3xR4nQ zvEJr_Pz_wWeEJHxdt!QtStO>tb-xoCno}nM2cQACee2NXf8ut5#$)T3+I_;)TGr}& ztY)XSvT@bX-$unuMig(3PSq4MfZN~f-q?6*%~u>{vYl+<Nf78d=YJ>qHf01+ve<}p zXpAa{Gg0WQTF|Qb&tJ(W1#flXn-yeL(z{Ut)JqXV;$jrWfqxZ;ieO8yp`2P{%00Wy z6luI3;P4mG7fFSxYu=@;G-NR}K4bl+qB%18>3x1!3xl^c+;7R1*nH2G{7913c>bLO zGJI+mE{q6+a}rA?4DgA`t}fpbegnqfe=6$6s^1l2H>u<%%|u-^AXb1k#WmHzn5e5M zuoyQ}@QCfFBU|LzV+%G|GV3<k#PfUml0jdFgW+ZThF0XuH*T_-`<B$ZN^)E<|3{Df z3l`a570K&3kAfq7mjB`Gk*8n8PI*)946u%A6)x$EorNBr^*@6lB|HuF9{#OqAyV)M z3dG=jZ4%|8A<jtuZUVW?lqC)xD3>~L+BQoGRnSpaHSX8719^Fu*W(g=dN8$ttrVa~ z(qW9!iS0x9Z&DoGY~@yVqUFV@=Y9%st|oB4@YN3hQa<MqdYzd0yL}&*ieq;lynFqW z_q+iJ6afGJ1`Gc4|9^e+KR;AZf~vG<JXU^;j`=tR7WyyzUi8VFx~DMPrKWf=6g0%7 zwJmlDKVSQBXV+<6=!eU)uFD4qEA{*jJ;A-d{GD$<NPAu>uK<-LacT_v(~n~M7=Ok+ zoITowLsdVrZ!L1J6+*?A`SA>70tI}$C*hcq*5ENMsRODZ*$0bLg{t}Q-ffPaUy4i9 zg+KgdUR4O8>;W&jacJdY+%CN4G!vtFL}wOs1neau&-;94*bwN~vbCYXom%Z17kKBM z^)qg>%gM#MebgV}`K3Yr(zy#sPjS>1euhuN_WNLRZ~R|j(wKi~cDJdV`^F+risk}f znu2is8?DRNVwE}V>PgzIDDFDs0SCYC#UClJA8Z#0O<sPziAyp>Ff6EU`@G%XVCsre zg3ZOUNxwrudI$=Fe5S4i1=QR%Ft--X=?UX}b>Pmn6JvhG-3y_D4J-1;s`c-G4it^z zk41AFtLPAIgn^(KuYw?Y`FzI*?BkInkYULmj-+om&3%Jqjw-xzvOiS?k>GaOM$R!$ z&e6~QVeMm=pAH|EA-e^59bg`-m;s5~C7ReWKLST;;r88iGTU1-eYxSmAX-SJjc85> z8KU&VP~zo*`A6_60_5i<qR51ZeH1$3m<aHegPO#j{U6MTsc3h!K)jsn4`0;)Qh5Iy zGn8#Et;4n#IRM+Pl9(;zR1jeQ`bpTxhL<z$)!lT9k6XqL?HSH<ee_s%jJl7^^~64& zdAppmwWR(`vU8v9D<vCNwKNzossm>-xBnvnFZ{`<_^eSPZ3xH}k|!wGE|C01>>`P~ zjt>LLA74yJSUmb5Nz+&xeQS+u*vWMvWHitxa5GV;N^!-U51IGG2vUG_3ZLvNIW#1l zU1vi)bhztj;Iex5k*tW&o~D%0D!$bgq7RROeJ+jj6%zQRr4~`X+_zC@CgZ8{yKNw* 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%0A2!M*p3&M(QS$nwZ2JoKrvVbLFPi0WZwo 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 Lg<`e5Md<$lwD7&| diff --git a/docs/img/2823aaef9502e47fb72734606099a98a.png b/docs/img/2823aaef9502e47fb72734606099a98a.png deleted file mode 100644 index 3bb926c684a522502c6b5c697566c18341751ebc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18080 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 diff --git a/docs/img/28300ad671ab6b5aec8525cb2a7af157.png b/docs/img/28300ad671ab6b5aec8525cb2a7af157.png deleted file mode 100644 index 1b6f902e9958e5d30456ed541bc28d77c776e91b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4419 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 diff --git a/docs/img/283011f90b0969b60cd202dd293525ca.png b/docs/img/283011f90b0969b60cd202dd293525ca.png deleted file mode 100644 index fedf36e1476f1e66320da0748c74e1051c337744..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6686 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 diff --git a/docs/img/284b72b1bfc8d5679fdaa384932b3b8c.png b/docs/img/284b72b1bfc8d5679fdaa384932b3b8c.png deleted file mode 100644 index 343cc5a3116249723f50407a042f28d8d376550a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7126 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 VuxZuPxi#tlYRXzqOaDfO{4cV0RYm{+ diff --git a/docs/img/28ba73ced40f830058c21c46c8291bfe.png b/docs/img/28ba73ced40f830058c21c46c8291bfe.png deleted file mode 100644 index 686c4191307a49437f2366eadcda31bef5fdb976..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2602 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 M07*qoM6N<$f?Z4XVE_OC diff --git a/docs/img/28e0f270ca5b3b728207d80c19a82d71.png b/docs/img/28e0f270ca5b3b728207d80c19a82d71.png deleted file mode 100644 index b3ac97b273bdfcfb82f881bc4e42e6ca27d02132..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 199213 zcmXt<cOaGD|G@2aGb$@vDvC=YC3}maQnqZaZr7gKBqXau_KqU+4tr#0U1UAic9HQA za*b>JZhgMLzi^)CJm;MEd7twhueaz&dRmMOTnuDnWQ_N<)t``&(IUyns79zLNiDPv zY#yW^Hy=HCsv#zR^YrxefsT%ytsM;w_1x@iV?8=EA&icWj-H;Lfq?-6ft)*cj**d( ziHV7snOU`8u9u9QjO@O;%2Qupqp{Zrr;Sl875{KE_WOkgqGR_zaeYxSD4+EoyEh^t zmU{iQy+6ZH<jGdB*Cggf&zpi=+$!b<m6^}vuP=_XKFLLinq0KE-V)0B0_%1b#RrGS zQ#HBHuE8XXAiE!OGD#1q!OLe${LG-e4JbW);8W?H9<H2aEEg+%ilFd=8~Z2z{hf&! zXcm88eF<9W&E<3)V_Z*W;a~Znl+-_x25i2Ph`}H0{QZlz69{fqkE=sJ!(2p;XfMuQ zPAE$FC_Q}F3Wf<j4`iV}C})xSbOIfglJAAb^n_xA3zeDb2)9)J4gvvWto}%>1HJ8l zQ-Par>4}jTURFK-s>R>gC{W0*0X>HwNrTXW3*!&*5mumm7->2@Jn*wu=ltfqK#g1Z zg^8Wb+5#M<ng7-%oN)FvR(=Uyl-OxqO(=g;QgB1msbE`ztvj=<QTyNYMH0>ya^KWh z4gl$vO&#fh`xtMf@>h+Pr#Dho-E<bQ#zc-1zC25R+0rU^0zSkig`@G3zTc3%zo@6S z^yb!%f&Y6g3=)wBwJk2jHSnF7_d}XPMl7=^n=J7LKGmatzRv_D^A@dKk8KO{CK|<| zOBG08@?L#(2y1cdT#CtwjZ}wKW6{F3uDXHK<G0&_)0JpJn|gl0sQGB#F<!%=xpqXX z8Y9zt3@5FX0U50Dra{BPpA+`uZsV)#F`bcgFycc#VEGM^Om$GD-cJa&UT?4;-FySG zTD@_6ZOEG|vJige1v#{-{eaS!*e83r_XK9C4O?+E3Z@52EMF6DG^mbcJ>>CkuEw6G zO)p`35<Yb{s|vWNj6W|URLZE<8@u$)#1I^M7d&%}7X>@&OfW^g2G!X(A36kWSA;>W z5g%~JJJ&eV88<>2dWH-zANqAfc)6^T?tT1~VBYZxjwu624GGu!*T0Pa8dt4k-a-$e zm6BvPrTwe0O}B3<^=uAb{Mad|LQG+PQ=rEYkER41=|Fgi`^x?uuYT!Q=u5KgH^#tK zd&@h^(;veLJ+|F|gMR&Zew!D_aqeyT<~jl2!?&3e=pyl~=3#yLi(JsVuYA49Y5H*M z+umU2X(x;T{&K^lawAS3v#|r!`-URH5A>gM(OyZwG`|$wuOry-!?P_)xqI{Wp84C( zk4fkg-2f)4oss2L<kl8DjWH9jd4 tsm6v<Wj~0?CT$%6p|l2OR?P7?`V|5vF%w5 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 diff --git a/docs/img/28ec7a2f016b77873dfadd5ab59c447b.png b/docs/img/28ec7a2f016b77873dfadd5ab59c447b.png deleted file mode 100644 index 167832ad29e19f46cefe1e3c91b43e44c9b5f4fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3965 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 diff --git a/docs/img/2927b047cacec2945671ab2484aafe9d.png b/docs/img/2927b047cacec2945671ab2484aafe9d.png deleted file mode 100644 index 9228e2464ed72bb1c22266945646cf98419aa7bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 136321 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%0Al;XyTtZ3ok`pZ<vmhuTHR;<W z_~FQ$T`-3=>7Ylt`<g8jShfl?;6m^x&y$NjcvP&M74S(FFv#l{aW#j!FkA)A5SUR} z?L`O>mryAi#;A+n8VJgPfcDbaKYMj($nPSVw=<L~F9L6AJ#jkCZy@r9a=?-g$ZznP z)bNa0p*~uUW2KF!z*W(g7lN2jf7x{qQ?-TFQ)y0p!iG;DeaeO9^mLXYSl4JScyt~^ z?L84QuI7y<=IoM$QaRN)kDA0SIc>A!pg0x`fOGv;O=UCuVmXzVvA59BKsrr<#uIK6 zkuiDcQlL^rP&^luQimGdk{oM^!X&TCBq{7vi*8K0ltm3iEqDoI$uU|m*NSY%LBP$G zGKzvh5_24Mxn&SYH4E!uth!)Ds9D-z-7S&Fb!wtkHd@M}T>9_wnpr^8rU)FpE*!24 z4FS0*>T3L|V8Mir2VNS>0ehp3*tFYbu@3_4S2I0*nGCF$N#ODF>SmLYFR@)+qZMCb zQangeKyp0RKyfh*H+OBWe5#q3fRv)6N@bbw(Q{s6)drSG6H_LJ{#>m-B%i#Pz<vVG zzIjEnfk+7j56SnARi4s<vb1D>F%1dG1S_~M3yhXINQdr1gWnQ!>PH`O2qM)OAkM2I zYfW1#l(LkVEkaV+F0zv9O6gfj0m;hQP>ymb1&c1q%HqHOHSqem&ZmTASVBM$u_(Pt zK@VJyvjGm+&caNLlrZa&^m^d-?$FE^Az4wgyIr16ef=q)a!I3U_M7tqODwb|AuqH9 zCq_-xI<<!FESm%At|gXN)~L;(nk-q-)5TR#fItKr@Fx-rULcnzKnIrPRpbnzAfm(? z$e30Xli+L3DyeC7g6GOsjn!X7POr+sx;3l2B}qHYNL7<!jElu+UzH`U;)Vl8Lds%Z zl(UpvZ6v#SAwd6|?LvsFqQKSP<+Y@09@)AgSu!k)_ow>7<li8U<Oh}#3j|u?or+*! zwIr)Ihr53-4lcV&Xcsa#E?J5#ME!3oYwko>SYwoN8^W+DI7&itXRWEaGt`OE$j(AB zD$1b?#UV-l#B`CEC^tv4ke*9(Tm>$Ve9~EANN}4bNmk-26`(E6F7H%LB5TD!#wlV$ zH82Vqc+u>)gozV@Z__*<e^HyAshh!Xi6vk|=Sc~kOd73eTA<mH*gpuoE%HJ@HVdjR z2bmQG#`ETc_kZ_m=H)E&BZZVUlEDL@2Rcd1UR*^zuv9bcvIEDqo$s34+rw9vcYks4 zx?m5ho7oI(Lw=;+Q7f4h$HwZSglw9O7U<4Rz#}{Sl9Xt7#%O7*^P{P_wxAS4DN(K# zm{m%%1Sp!MX)5C)SqgedVW6qHgOmlWW6T)KsZiFl2jdloGc4{7{`?@GCT2wPV#Sp2 zo(i;*cQ3^Nz@wnbZ$MGGNQdC53o)@v9;b$kL(Ig=@<J58S~)Z&a|FrTLO`O_zx_3f z9+HA3a?c51CB|04Go};+VS4)Ps~}yijW(~n@4htKn|*t`{pVu)*Ujy}zi!*6`7`6H zA)kvd&)-_kMzZ4AIT5`8nU$5+)w!mLuAmFyDs#Tf)wMKL1ChC6vILzKp$8O@AdWaE zW*`|&KpIJ2K!$~Z3M@4Y24bpbDJfS`&cBcKQAvzva0aETNH(CU#0pLVV{Eb&8}jj& zxJp_!;Bm9Pgu7pXt3NXyNvt%dF*$vDno@M~LNH$~!c{Du4zWM_cX(ZRksvQ8LFa-( zKiCSuP8H7Si?bo=O3nfYtQ;47vuOW)`_IGtpZ~Tmw*U6-dX8A93|AwueG{<$UrB78 zK*u*ICc~6Y8ner@%mcc>RUXu!q3kK<U(~q&LB>8^WCfK_SO(mnAYZ(Okwc+KtnQXe z4a*|pRCaI`D<()tQ7X|10PSWJd<yk!1%|6?5c!2<rF631A>k?o6+oIys!^pW<tS9! zfGX4wbSjzZFl+STiC5xmH1pLe<<*qYK0mbI;&tIH!gG3%%@0%H^IXkfn9|j}5arVf zdf-!Olp5bG{@JvDHSNFuz4+&R_y2Qz@Ks=e*K0|cHR23T9#5*P?9(kc^ADK`goJXR zw16@YphN~~e6-}nRH&*Ct6iQm*GrTlDGitg9yVVr*B#W5FFrflVh(wM>HrEb!Acn* zh2<E-%nxE1Dv9x$!I|V`qO?F|28{~IK(MNiESw89ZmfWg1a3iSzSpFnTT-$JbPo+1 zi!9vLp^QYSQxZHajYi>><0^&q{_U@2k?jH`H(FefzFk9&Ta6J_;hZY2^6Cj|<;c`| zLFnzr`M>AezZUKP9_Ih=_HgHP!CxkU1zv;M7wZr`uDzs8V5n4+l&c=98PftF^?&lP zlsqQ^mM<cWqRx5PD7z6C=>-&4A`gJ<s-ELd1+T0KX}=_|%|e-T^K;<|?y=Mh)HbE4 zFf`wRj3ZHA6<i458JOTCC|My;cLy20b<Pd1dAcNe6r_pQm>Lb$emUVG#lwM4P(pqQ zS%icM4AN!A>5~41LIA*7QU2|(!7q#447K3l$}FCSDyC?S<xwJQ(i^`@etF)<P&@y9 z@y{DetGm0qoBwV0&5bWb(ft3DFGP{9Bl}Q2>W9f8rPY+ykwlLgjpnt?$I=`j8zNB^ zh2;dfqbnp$U^>fOrWkZVkmW>6mH<C)m6AJ5Q6VK+rl-U@-GU|Tq*|jAnP3Kyf>ln0 zR1I2`#HyKrCwUZ+LnQ9{U?yTk;sguKp-?cIQgqFs%Cy9CNS3AsT=F#Y0tU5pDv8c= z7@~3*{VM<F*Lls5DnsPmN}}y4A0aWM15fiE_r}@CocH6@IV|~1hNJy%aky>%-|hc9 z9NJ{Ixq2N)^)>mDYD(QI9{r=i8mu$wp?yOV%H)z);1!Z2G)X>2Xjm5zL#3h85vwmK zvL3haSON<qd8}hTA}zsHU4XY07lW}N9GSdjQJR$WYEZu^g_A+CN}ZXjT(LEiD)N%D zAXN=<T4a*a$bN998%<Oa@)=XbDlH((A-LwC>K*b?pruChcvgYlA8@~djMZ4plGQB8 zyZztz8rWix(WGEGI=I9lfHfdSB0i;hUI?mk>n=Qb?UF*cl8)#5o5i91_u=-RhsADg zW!B)pALP{~&&rku`PiSF7!MfSobs6qN}$}<0=Wz=imJU33!*hu2muzFEbp4)gvo&o z+=aM}rP$W74oi-t%Na8>O`#l)irWHLg}@>hIXei|3#ZKapor6uUlc)~>vPDgoQkwc zo_dg#y#kl5>~h2^OOclfdhQU9O@TT&kum6kHR39d$<<gAE9=jo@-zz|0AWS{?XMxg zP-izXG-&gDhf-p$X5cA%<<&JyM(A?jE{$0`mwml!5A)k?d$(_I?sm8TZV!Q0Pfwk^ zx`cAxRBGhWxJrIxkR_T+gHU4)-0~&3$AE5(Doqlq3RV+Ha-Tm942u+<{2Q8RN5d!t zSyi&`OJk+r91hET2c=|+TS<xUG?Xl5rBbCtlPnmLK_^OiyHS|dvUoU{`v__>Kz83U zPY}md411DHH;_bmfNv>9Sz#74Afvp>D#h~<4zkOTA&WCM8I;7|`I;32f)pLJM@q>p zuw1Mn&Mrqk>Yn_-kY?EDa1q7@+WeoJ#?tElx}V$KZvM~61J7pbnNQ}edHj?777kd$ z<`k8+gee*m(_@BNjn+g`YLeGI?Pyv;z`jN`E|z*hy1_)b0*y4H90l^m0>xBF%*`z> zm>3tFR0Iz-A}67&u!1ldOd3tDxL92Xs2Frfx#kp;77D_}TM*nE4&ntQI&)#THNZD< z;+Sj*{fIToYpDM}_WoqejVsyGhRq^Hj!h{k#~~)Av6K*_rfSHnDN}6DRH;ZtT|hnm zsoVeI4&S!kwE?hEL$c}vM3IOH1mJM^-qx+g)V-_FZNMDM<Eq8Cs`_B}t;Z1wY^#Ng zIv-aH;_Pv*4{S1AOI-c&K!%II{nv}#&42#u|J=Oz@0%C@+&HZ3T3t0<ob*H8f_KS) zZT8*0N?|GOEtCP&dzx6s#K<yZBgm$x*Po755`+SjPOTj9NRZzsuF_^PPsG)NDIDun zvwkW-Eo#n1%@UDiA`B(KY5@)j_RI9y2$LSH;=*knV8?5afgD9S486^IkzHMi_@(-s z9#^FcVe&(<jWF{_5}f`x^wjwv_hr3T>8*7XV&);wc4czk?p*b>|0>4&OI&?WUoMgL z`qh8k?QS0Z*WJy3{jc4N7yorwtGB&Y;U#AMi+B1%CYVNby;>3>p?l)e8Y{aZJO9N= z5lb>8H!V}NoC(~{sBA-8!FkivBfGU`Hj6=Aw(#<S33|XC5l>laNDw7!=pr-Drn<gd zZVH2V#knE?B+>vjs8@?n3V-diLz?2M(s38skPMoMI(Q#AQ!Y5razkFBt{-di()u5~ zj}LOc2zTwizf&>Xr!|2j0cls2c|APIiR(V_`a6&JQT6(-SNHzc|9ZCDz53t(efMAg zy#ONq$L-3s*;qC|qFw`M;I}PRqRWVJ(Ih;Lq1KsPcLv#41&pMEo3qDNjT|Va8PJPn z!<2CADkrcfLvLe*y{iK?6LjG)>`;N0IoY<f&`f*E1^R|mKLWzO*a{0L2o=)aq-s84 zzUYym9Z&WRVti^q6*D2210*LKIBl_P^hLSCByZA$z%z`q^P%oj^aJyB<g~4}-<h&| z$Xi@JeB)FfSSiuryg&Hz`unS>f8H(w)mQ)LzhCa->&u%%27K3R)l>;US9!M-7*l>y zU}#vD!S_rVCe^CNzUr|5OKQmm#DNOE7xuUeb=y9^rS@`xNZs;gX-RNdT!m%;wSr1w zbxg){;N~XV76Ohf{~7^FNwcBqg%K$cZ*_?QW=<eF(wRga?68H1Nlk=`U~t80sJ^HJ z#5fdIYemU`7T~j>BfK&xmHw$=XML#qm`e0aCE!P$MjZ+tt+NddnZHv!o8DWuGx6}R zOI(eYcMG}Z(X-vnizl~t|NF33Z*Ml}{+G#KEcG$p;ZF)3U>9T3u&jmKQh388R$ZA^ zGSGsnVs=Ym5|E|%jJPV-6-yYmOR5`HAf6|QniMgSlnTo=A!@k|P?pi;<u#EiC~*hl zY7vNO#1*3Ulk~uV^xz;Cor|ji#$m*Y92=@07)}?6wiOsU7VA}ThqOm>pGqSPK@btr zyX7>3_k2I;&o?bq$%15*14gQB%!aM8^6Fe%1yHW8emr1-U;dB%;@lUl&mVujxg;)0 z@YP|y`X#qnaiZ!SVGu+!bo)MMgq}WR${S*mRi-U6Z0%dVAo6H<n$(jkG>+M?9Q1dn z@WB~PE~$pDAl8h?JBX@@A!oV^ts$JVZHx8WTgR-rsU0()oA%&A)PBy&o>kZ*Fjg+s ztA#<D8b4CM4C5)4e3o4#rm#yE@nSOBIGSv5SlzQVx(yiWyG-Bk{oM}(e3`LqB<Eh` zIANi@3e1heHGVR#vUjro|I-Hx7Wki!AMeZ6|2$rA&u+$AeROre1DEn@No_Tb@2z1F zrc$Y1<vfGO$}l-Nf3Kx*SSHz*^Y9cQ&`pt`(1~B`bFAPt#z1L;LdCuw!kgiVyiX=N z5pYe%aTWL;srZ+~Lex=2qm={z<GV1f4ur2Hgk{C(gB>dLi%wqU*$n5mEw51~zC^r0 zQb5!=E7rtPOI;RT1=(YpVZHzR8P>#yVzR0eCxNi#5>V3Bsy;PeC0Tuay~hh8_|>vR zA3fgI>L%i{+kN-tg9Wwp5a*D+;Ci<tSfz<^Tr4d_<F`0D9AT3)3@Sks)CbaPJu59C zoRL(%*0V_<G!30=O+S^L9L{QIE$#>MOlE&qed!bRD#^Iprc{#%V%tp=#QaALox#0D z7%|2NIr5QWkRS@vokqo~k<wzpk%oh8c*UAO&xrdad{m|3yYV>&DU?)UEcdm0ulHS{ zM9!HS#Amo9k;%wu!2`5*a=wao#^IDaxW1}dBI=Xp+gkmpbKqYN&gNhCd;sFp+Ron& zx8F8Mi6I7TLMt7TUdG-8s;!J%p5Ti3Qcb-;=O|iY8Jr$yc<EuPU^SYPRtpH%lL4Cz zg<55TwIDhbMsc%gYZ|H-K;j51zatDpn568a#nq%(jY?)P@Yn-6b`%frM5x`;pw)y| zWD@yMCOwK+Ou&m9aLI886D$9KQYfJJcV9(6kaLAMsQJ9nJ*iF=GidGfe08b=<MSWu z!PT-%|L2pAtGl}m3h~#aTK((y5$Sv9lz6|zA2_#Y_tw~9qI~$pS(IW48Z^<lj3nrq z#E%j>z)~b;=;ewo(<cqKjz^;<)#Tt<7R?y@34JPb4uCK%q)lNPj(`*pB$Px`C`FTM zq3QX<y<9Dgt~q+HT;{F8^Q*WjR=SiHRcOd0Eobp109ardDFHT;fh?}#8YohSs$4hh zJ>Ex3lVN^Z+Cd=$pP-Ao<*IQiPU4no>aSk?cvbh-kU9eElilbpZ6lj9@m*=g7hx@L z_#;QO#*Syws$D&cvZjVG5aF7(76b`LZ%!7vKrV;_d(jr}ODAxT(z&fh(ez6+mpyv= zN5iC6TEjXK>Ml1{t8t7~Cg#hnD-aK>a3)E10L-t`+lj)OrlX|nI*d<B2k#&%1^Rsh z6^M<<L=B5nogy+NX<Z5N)<(V5EZNG)M0&*gx?f~gh-8!2rb`M%r=@gkW+06^tq&}& z$l<9UKDfGC*XRhWi}L8<mItQ!NWmxAX@(EWU;D>gWiw~Y_qalW-H2|1HX|2<OaX}s zye{~dLHsDy5TzOmajV)AsRtB}H`h=;C6e92DdElt0hOfkUyDhEjFA)SqeZTjStL>> z;V^Tla=AYfN9DypsBMW~8%fi0WOPhAi*DZZiYxE2C4Igvu6h$aOrf0m$j#TKV1(JS z&7IUV%-;LCZ&ys(V30I7+Fq)`msZahXziqqVNvjUx&8I~zvh<x9s=wCRvUQDfv*jk zmSXJ3yTsMO%QSpZ1T89?)D|ws&<zx;r`TKxc#Vw(E()6@BLenJ4w0>H5<`NTTEo2> z%=1ZYT6v8pFK#W=5_K&Bywgw)jiF*O+#8nEjv^+Ut;N-GqGsxDf)|mniit7omnH)w zAIaCV*idOtBDb&f>)eOaV`Ve0a%LAM#MGO#@nwM}fU^2~xnDinmc4tVQGlsL+UN+? z_{G8J*y>K|10!B-^~%-5>+8q5J$drX*6IQVE^;)DMe(-vDqVXU_%@k(6f%DGRMS2( z^SaDQjSz7)T?9Whtu!ek7sq!4i=ZrwQ`Qq5uu1{~h0!-jeIQmwU&|J&6qium!EZdU zi?AmSd3y248~~V3WGM0t%!5!kW$=;c=4~TUV7|0LLcR|yrRFS~G-uGt1Zq_zJtTF~ z3i|$rr$V^+)9)LDNQX_j$H=h&P{~M-s{ml;+r-tbR~~+uPq<int$w$_mJTT}%ZRkY zeX9&OCOvh;AJs=KE{di`r7co0nibwCPe@!1m@6Hag=;^ibPh34kx7(*&FF@h38EC) z1|bHF#ZqcLxgyg8f~>Jn69YDn<#I`lIx;LmieDst6S|ZV1y+FxoN@u11}Dc!T|*5$ zx+I{r)U7Udt}3hyvQtG@aQb&u%oG>ri@m@5n8*W>%B33e_XSJea+1{kH_pYW`Klnr zBO%<!-|Nq{SpVmLJsZ8HUsj0Wmy^bSOHs0U@^;Oo{-h~fNFBVIBrrO6Wk0qo<N>c) zlL175$AM>unVLDzK}lr7l2t*ix-{S^dArDB4Kz&`i>)%)Kr*hz6j!l7XS$gW37~Ty zxacSY7$3o@)1{N}*$b;k2~KkGFxq>P11=(+D36qe^_8J#Blo$lHT{TS!)n#bIiUkW z^!?m7B@u!IgbvWLR?o4h>>7lJjVt+dADC{5hp!%f`Q_)&w<hraeE#D9H*iZo|8-c| zplg^=(}}mPS1~(>HI17)%VD@_Ul5}X^q=5o<UkAe2c7ik%OxLKEGG=<s)|{)lmVb1 zWY|QbdwN{OkO|eT)#0Lzo7G3K7$&y~)Dy|mH@w%(I&xCZKXvH<?ZnkB0d9(VfL>Mb zDrxLUV!)JXykE`k$`x|bgsVCYn7Yz2EmgS$VDkDN?yD@&%nEg>3vd>_Lqr-X0+zO= zab~^>w)gf~eDdJ0SD!!MLhFCMyc;?2_v>0sHdY4gG;!Q-lLdQRHSt2^Ibk0piYS+k zhLJc#`61v>f1n=7I^-$62~A~CYSy(RRzVXB;sAWEJd#OCQ~M}(3c8EN=F&jbRbhWl z^Fy%{rLj-Z(}T+B6eXaqBT(326IIKPfZkRR^~f+atMq|%z}Te1x7kd~l%-%I_W_z& zmO<s9dZ&cWOu63I{h$i638cr7_gkp$NN%$gP`iA)xY{yeSC7BEzW)6Aix>Ol`r<{S zmUd4USM%!#gR~?9s-gH^A6KCYOzg95L{J>a9(cgbx5C6gOw2tYgop--*g@Q$ybm0% zCS;C=0l`|1PDBuOx;b65;C*MhM20*nUa4iX(}}niCOQQ)1g068JRK!&EJehV?pW}= z$w{vY9OY^b13(G%8igRFK4kM%iAeJkLnh8vxCU}2n<>>h3WhiS=Y8ED%uDv^8yj=v zsahON@{<4}JkHju55v&M<C3`gF~5vYA3u3@_iB;we%5RC%YC(4Y{+8aL2I@L-S`uJ zKTTz++n6PN0uYYW+NkM~Qn8dtN=t7eu39BJ*^P!3%av&;Y>Jzrb{m##5O!5*nDFW- z$V15t?ijwV;@IM9cF3(Xn(ow3hNcgjWR{NtC|OoZQ<FT+qOjzLrbe@(cDVu~%|YB1 zUETT$nvG!Ms-B}tb_P=B|A?!VaOSOGIrE<GSHv{`Hp?zcb09`TQod{#@-6zn1!nU8 z`#)a&_4;}P0uSW=?w5xT9|B?uEnK1-wom7CQyaOW!CRWyf(zJED=bLH3|Iyefx&r7 zQIT8Dmxo>W6N0=gu4Y<wfqJ|I$cZT>a}Dv<s>T)giR@SkqziIvXKBCA+@UgrwlnM& z0{!F+8Ow;c4-^SpGHj_rBO_@gC4Gss3r#__XdYSyCYh#qFr}$xBgf=W*EJio1%}Rl znEaT^nS_~_*|;WEZT{T*s>KagrdEjts1xOq$Pe#x#2e?UC?NN7^=iLZuj;4&-o5%C zyWOK<>G<7WR{_H+brT!=`PaYx_0vzk{Iu@vp03CA$?g}jYMwn}X4@Ax`oI-Lm^SRL z(nbG-fhAD*{;ty4S7o&A^_TVsv_FddBiA47ez9Sl3zfx@N}odYeiypk-lNGD4T7lh zpWE-uU#W<kOxUMU!4gO`8|N~^5TY%->Os+{E*i1SMa;B9Z;eVRQ^g}r3MpXt2m`5I zIrPiyFRkf33#q1)=6e=Lxl%#Yw13I`1#|wYSy=B+zfY1!m(Bxl=)feQ>n8Gu^ETgN zz6#mp{eKUB{A)e<pEq|e{?Gs3{g06YfBW!(0)<O!{bew5_G`5ctLGcCRd+YkZgCIJ zV$KFsGo}IHqIk!6JNEm#@2y^Kd6S+%?l+O|4r}%M<$Nw%iE5!ra~jEXZO^h$U7zi? z_ekDtK_YZJ+}$H3?P8UXl_J*)lcBPXU`;(&*hTvD3AW1&0a#`mI|;(jW^kw$MjGP+ znSp)769S@J6j#$!qfN@0V_o@eWooG=^b?C_)yQ|CKtWWBbOrv@`)*m|;&Vp)t4Vs# z7!1IFq~hvp=c{BoEEn&?2Y<bK`QN)2H+O4XUH;$w_#^Yvwj^GDn`?DFrh6V&Z;#?? zlsRK{QzR1!ZyCLhDEs{B(YD7v`!4n?@VaQ~`N{q$C`P|V(r*uIb!m>p)pB?Wy6i6H z6jyJ*!I@pY_iXp-`{TG;%r(~kci&-lV|u-r&<zYKItqJ_Izd`K<w~TETQU`zXkV`? zi>t|@hk=xn#be4;Hf@&cvY_ZqV?>Q+KgO}Nx&tQ0<0=Q{X^lAVR4BV9O_>@r`RCrp z-o?e5z_nFPGA)&}?ugPj%;ob9ePA*Om%CSwzx?vqey#3v;3cl^|9|xJj}@GosnUq} z;>C;oCH&&W(>1Ox4|-zt>b<8p#X=ZS$B@hoqn)&HnSe9<U)`^}!z$aa)mow@5eDmy zk*+lU<ohkIE{FWdk^_?;grHz*LY24QNCsv-jAh@M>s4_4Tg&i^?*V(FMXF8Qny+T_ zqhPTeruy971@x0i{>ez=vd;A?WJC<Vl9L_=YcL&qr8$jic41VdpzCaNvkS7UM>4ue z1>sCaQYr!$)-&QNDfGSr{#o}c++vl6qA{uPV+b(od5Nlq<mC19)tta-%cFmM^4~Wv zcDK8gW^?;!8P||Rzz$yJUqAiZ?&+tW#=1%>+{IK{W>uaMP{(jE<~jEkiWg#u>vJ9A z>i(-Ot_BHm`?#u0v9)@(wYoe5<7y{pQ)6S>8al3yt>pIGpmDc3xtNC^y@0J&B=iRq z;G&7)Bwtge907ewIMOt3-ZUbL%8Ok}#UxX1Li;9VQ`SfqA)i#AG?@VGcFd6#HwFYc zmHnzusgfj_aX>Z`b6$AHn8r+k4D#pP2f{Tt=__<N(XgFlyhj_c-04<$-Pg}o3u}M< z>%rqEcTevA_wLow2Y&wWN3>m7JB+^My|rfCuho399OS3_2V6aQJYvQ2P9Hw+xcczL z_niWN^8E10e(`+yyuPe_z69#UNcq#{elGXd*u8vz`T2`|5dHMoqfghD{q%N!XNjxN z*QfjB$^OCl#qM99E^p%M)BPj9+<*J8pYETm<LaSaee(U`QhYuN-~9u>_<lW^4__>Y zw14?0-+y}h?WfyXx_Yu4^zw~uQ6An!t*^1X>-7-p)Aci2UT}F^%VF)msKa5D!3(9` zTim&{RKX}^Ts5Rik*1BfT0mI!CMV(zG%}LtRqpZB`zUgopoxSeS%4TxT2xb((t-<W zib%{8CTFdfR4)a$JP}tNeNbN7{=xT2S`p(pXH0C8BbGKb4hR}lv4i>M`D$<IqfGd8 z5m$Qh;_g2$U%dG7@q=r`AE*iT{PF%iqGsOPJzo$`u_T$FEE2=&1OIcs<hN`4Z@aZW zv;J)T_ELB5tK$8W?*4PT|9AhzzoT$J4?o{8vKQ;qEU|t~W7om&{oRxOcWX(0cf0@W z7v%n{<xMPW_><i?xvbLB2VU#dzwZ8hyB<O=zw!Mc0N#GHzSMe1OJKhJ_I7<Y>l-^f z_rLdVZ2iXarvACTi~U*H{b#qU!y(4)lAZr_vlP1Pvp-!oh|dp)fkB9!K};@z4X7eV z46_)DN>G7@25LZ9;j5&-li^l1iz{+v3qs!tBsIm=qhVuMn(MYWup3h8jm28c>n#|n zFmC}&t@TsPSzJm;f69FXc!3y9@22RMW)*k?(%fOUlExXYov+T(d^tORefV%g@Gl); z@`)3OlPw4PV$D16?Ut_bckyt4iLUe6wPl+7RdR2o>TCm@!(ys!tt^XlS-#6cS&0HK z4nNoZT-V=zxsB&v*Xr_Q+ge?|`_2A!RxIRUt*%G&bpQXik^8)L_sz(GmtpHFOS6AW zE>Cn=L3#UV{p}iuwESpYtKT1%@_P4^epB1S*0a(tyX*+dHnD%H+i$mLx5JS4M$!zt z<Sp5DmPhg)vbtrY$}rkHl^Y5cNf6wvqSLczbIirO2%r2L0X;~%mxX{{lwd3mzLH~6 zp$hQ=U1)}3!!%ipEHf1h&NMCa|HJP)JS)-ccLsJEtB6x$!8l1(s|{-Qy7?+G=#=_= z@Ye?qA3XT+x?uJoAf);inQQRKWktSvvR?#Cl6iac{N?VO^#S`!_p|*EZg18jyuW+& z_}L*O?Z5r##S(~bcQ2l->vQ+&<^KA9a=ZT???2l;f3d&pKiQuD@w1yJYvuX)_R*7N zmF$0e`RV$SpFG+9=lODSmZP}8tf&29SX{l@KkbX#HRP>Nzn*~G-OY<<`-kn1^zrTP z@b&jkcHcd}J`8<so<G|M$HO;jnNzI~Tf^1zbmI{JvfDp;*-pM0&(6azWFo8qy2Dy( z<VTqkZ1Pj4s2SBKJhn{j0#uRUSt722AaB@{gar50<20fUC^%-N5nil83k<FjOoFQ> zroXlA>28$?1Q_Lef)>($@O>O&k|k0Ua&Hp|13Za6<ZyRiS8s}|RZ_TCL*x2OgM;^| zzO;2`$JPB6y}u-X+O6H4eI!``0n5+#t7Hi`pY7Jq=`XwQzg%L?^6Sg;-KWo=>@V)W z{<N&mn<auRi|DD}U!S+1KUQ?b{u#bJ^p?Kchq9YkCq?_0U7viNn|!l>&6{<G({Xh< zQJ*Z^!@d2tep>%s=S#V~)N&j@-7NFrr@5@xeJ1?PVMF}Ok_xXm?l<dYf3-bqJuAzR zjzhe^KFu#n4{AKS4x<vh`4ad>Iuwxdt@K_J==pFrGP4N7%h=Smx_twxL9$X!KoThw ztf8)nUL_<bGKJoqEdypm;m8`G#1!5KR&z4Zvu<WHB!q>$q|i%qY}2RKf8>23T3$9h z00961Nkl<ZdNScbQF)9?LA`1kS3?vW^87gl-mm4a%9%-|O3^o}$_0AZ{Xcxp_qX2C zFY5?pxmcIA8hO3N)t_#H70m%TRJp9OPi}u%F7U%;y-yRDhkmgvFWq0))4Ha=$rXI` z)1xgxJFM0HlKIQ-@Z9_DVf2CPc3FA5b?xpG?5(%7G@aJub^q5o_}zVbh^tG~Uo+T4 z_PiFJ%hFum@csw2?h@-aw#asG8{{s}phNs6*I)l;JbU0UOkmP9XM&i!l1gWlyxrSv zq1+ZQs6J7MtB40>+B+mg!`T4(TbXHg>uEy+$iV@n7*Li$D6Mck+4enwhlJVfly#fJ z<mMxck(K7i-sU}p0s9|+KbRH-6ki?Tl@l6*HepHbCOt{k-+%3VRh2-cFcjg?8CpOl zJQKILx)yOymuU0-8p(G58qcw;)uqn_UD_2nw6AM_Sr2fHcb^_Y(6X%85h?E9JFMk( z&8{$|LtI^+`n%;D`&Zqs)%A&=9SX$t4J>8jcS|K1jH^p>yyWI<Q5jqC-^bN`HGTEj z&H8Sa)xP{}UvhqPxE7Ze%;hz1zmeR*^04L3ZtWu-4sltW>*K!dXV+m=8))zh=G0p# zri2k@6b`6N)szWS@r6bRQ2+}G$7jwSBtJk|D8WxFPB1g=3Ke>nA`~81LG`qJo0`Sq zI7(^Fq!+|_rCc(d04v>Bx&HY34Ie2HZ*UTi0G-w=Z+YP@tY#QD@mySm>xN*hL9v3c z&B63!v<q%=bqh56wYA38#TD}V!$-2Nl6}FqeIj4ntzDQ6wXht-{^DN3(^6KhP1Hl$ zs{8jhT+|vdm+{a~kG6NUVIh{k_K$qIcAmDlnz3JbyI*!s|FRUqUau}q<fS`&P?B2D z?Ygp-19@`0wr}^@?-FglIYgxu-n+a|$JOm&>w*8Wb-#9pmsyT_|G4q&I1J^ZA{;<q zsE~E`*dw8fMn6?&YEaR*oLo41Gsh()>{8KAN~lr=rPEx=cINB!b!4rt471*$J`SJ{ zjH?CT>2Mu2mk@4RFX+OQmx6P^A9)|zmo~g?5P%t3PUPi;c2oqxKndFOYvQUr5ZGFx z&h{v=;0YtA*AZ9a5LdrA#MPx`dYIBIv2IzqOQUz2ejG+FTlaVgid%SE!fnS@-M<eE zV{CD?MqE809R9XDv~IV?>v~Z4cl!gm{bgC$>;tb&r!{7e)wIUdZ)&Nf_s6vMdh>vS zSpQzu>~{y?aUPa%)%LLU>R6ucZ)2_QpLW?mmfrLB?0pykk%@%QDBw>NY*K62<7$=c zcB%PSX==bO?|syoEegLzd0dsAp;rJ>K&`)QPIWgtFcJd+B24?70)I&%;u8E&He*6D zrm0}0QI8yRJ;^p2QRol4FF&tLLQbUQoiLs^rdVKLmTk36Ueb1Yug=d`x7eFT%aDlr zoS+wr<2)BvbB%J}j`?aWap-0}sGoK>FP<;S?BVfKTn)t4P+Wbn+`eCv&O=-c#?|X( zUGD$fym)b_R}Z<<z1<hPc=qkGo=3fUy)ub9u0C3x_W62=jJW!2`R1YET;u8nY5s02 z%9pw6@}2RpwGX_;)x#k!2eSKS{l)R@I1FC%iCLRuuFFOqCZx>kk6jLBQjP|9Sr_(> zMQw#q3FB(g<+xy$8}y6>U&rW|kf=$prH=d}iUfD3hMHfj8dxcTuOOVvCEa21lvr?o z$bB>frNWLEO*^g#3(l$HMLaXwhi&iWd>^=7YDssrm+EFmqJpLf-JxDh#?{!`!f}YJ z@#Uw_4xOE~f3p^<2Vm}~SJ#Hr{%gh6w0d>RnNP;msC``h%MxFoA+A2$y}XIf9xb7e zec<qVb-Nzc)wqBd9_5O^S_;!cc{);qLmm3f;S$;&c9^gJvLzO=;X$6NUR|Ui$6+)X zMwt)+y%>S1;A3B>b1D+KRgG@yP-&jTLiEEO2Qm^tW*)sic<rYHh)%{;x&Be2W&%m3 zdDqA^q)Eh-%8rDp((IR=iKi_U%MFdzDk@1#{_gt)lnGpj%7H|kMj*eR+~EO=4>tDK zQ+j^Bis}^24$WGd4=Rog%!Lo%8GT^I)yGTlxfwm4&%a;N#HY*iE$z{Jhq$Uf@Gn~* z_;g%do2>h1RK0q$9s1I(-ABtMt}Qd6h2OHGrViK4ZvW%^H|r?p7xjT_?E}Z?1AqSg zA+9dv<bEGn`q%dqSHC^H{b#%V>peU4fe-zp!^75nY}r-DA@1MPt7S(Rec<JdkHbh4 zMU)Q}<7x(hp+(ilDpDxvU{Qs*8f5<r0s!@v!ek^G6BT8BVAvVBGq<^G6$D!ZbjXP5 z(LRgKG=YDz^yNEc=FS*GCd?`ddgW!vWwq=INTc6-AHu2dofQ%y$X9lAlp<myrwrPx zi|TA#E!gMK3?ZNwk9L(bOwf;9!%Ed5?j7Rlx*FH+>DmY02C2(IF5moYy>Rze^vzPN zuJhGg=c}jV>N>pq+abO#RpZr9yY0}Q-5la-tZ{V->W}u}^qcKdzTH3X7c24zadlb! z```Fto3Adfy>@)}&;9uVV)$-ZnO(0wI$Q^1zN)x-c-V-mISw%w5JkqAukN3H`Oe`m z;-CNN#p(PZ5#oR#)0jq8TBg|A#p^NwTx$(ASq!^74lb?&_P4=JM!4koa##aFII)s* zMLANkrBzzeCR!&n;ncvP7NDf#dz2#s5lp)J!Y}MXK~DbfzYhYpQkN2@lSbZYb_JAG z1!`M5^eR72@@z__twz~};3+i~?uNjIG?u&LYQ+{;R}j&61Gn^S!7c69gIwryOA}@} zD&dx1z1$tzwWs3h_B+vW^|PhN92=c<U4d)8x}cHvtA1%YugCaozaBqXu)3&M_wRzZ zrTxFZtY>t=Dc!F9>jf_L^w0s`ul5&f%(}Otn!d@cUafxEs8`1!E`W$fD~Mt|d+0EB zHwmt|aqDZ&xRP#AL*~!oYPz35u>aDHTq>o6GihCqFhyKpo3{uHvf<CHSYmkHiF6$p zatOgu6!4&Qj+xVzNeP4KnqWIuChc8o65+@{=spPCQSdq#egXl%0sSJI_Aw(3Y2-E9 z^XGix5)FhVP8GUHgPoRPbU1jJB<j_utzLb0=#%E5UR^u6-)+U|qTqB$2nVWm!voj3 zxVpiKN4>gFdsnnk#%C)Y_z+h=->vk$HL@MHp3j!!S-+U#>fHhJyLOIm4)J2c1LtSU zk49WwP|e?OJIu;T*!sXR9ya>GdFUU1x8kzC&81%LXRmP>aezU?_c~4GjP|4nzG^r; zFJ*IF=+)#ja)HE#KHzap1Cw8Lt4uWiqfkK8xL~lp(^VrNK9x{`O4l$;9^Wv_6=@dw zTIx`%U{B{ffO<$@fO1oULg@Wn_k+U6Ci5DU&n@zqSvO`<Ub{@kNMn|B^HmiBMOiKI zbjZ#sQiO{lqv`{1aW(GUE~J<B$IsS$ad-3mVawd#eY#%W2hNRnHix+Scf{50e&+h? z*?r(opY48GKd(=2m$iDRR~LrNe-?1W7rVnKbIDwDgAcJ@&E3BaJeze7_}Ag%UU@c4 z&3U_9yF+Wen)`S0bbZgu+xhp_7+%lS_OLNujqMOeExtT%d-fQIQG+5+**%Qd4b6~R ztwrQei*wl|0OEA$IyTM-Vx{D2fg#(5mFa@`1@&jiyY>?~R%haJPTw-ymfn#H0+7xL zFiJu|T~~zpEz#8BNtc#Jy|cUhZ@phusuy&hDg~D&MX58^mJOk81;nG0Ad*vYwbH_6 zK=;*EE9{z)(u(LBu+I84t`8r`lkXc(zSPUlJEwX4eMxWZ`QZ(H{)1fXrKcbb&rco$ z-?9JM!_nV-*i7ZCeE9ug_qqB37D}Bkpj)v&hOJb8{QY*V?-$q7Wy-ZdB$9gmFb?~1 zBY_TK?Quz@bbXG)A)18e^6ZEJDOrz#qor#l!!xyFRyZ-Ey`Zmb<Sa$pF|&fgYH6DI z<r*{O3<Pji!FhX8kBL~F>bIo&5fwKYOkmkVnlC4<zJYZti>nf5Dmu_AN#{0Eu+#m0 z_c=|YRUJiGGprBiNV5L9s0Waw!i?_Ze6=eYAeBlzcSnqb$sR~9%F=JG{4~%B#5|&| zuUT0fe)Y<*9H#5LKG$Ebp+~c=H@Kc`pW?N)-fU`60eRg@rB~Z!_+Vt3`?Y#?xHz}N zYXtOm1|LjD2Zx81g5cp0LHXXEeRu(cW8=!KrF^k=hXTrBB6^6A9$-7u+(omKL`wwX z4@R+S*xcX~q$kcaPfwFOPBbGcxcuPcoaoLVuA=x#*uA$Ofenr2Wj)c=N2^T1tl$j* z%alLjzB*sfJv9<|hJg!fGL&e8jiiKUd8Z)iR3Eq+YQYQyhTv=x7GNxul+u-)MS?{o z`%M$)kzBkKr?<w*7?2h8@-<6Li>sn}$uE!N3=l1Yi=pH;rRM7L{{~1hNiSez3f(tJ zF}mgv2d5q#%iScQ&L>5>no+&sOzaZ)P-=fi=Hx~FzmkZuc?OyrCG{u5&u!86bdIa$ z$=HP{4J}Gd?+n_=M!QTQu3{`}O3R6@2I4l=l7bW8*5{%vL-zacgFsYtP%;S_w@;dl zn$n4_6En6^pJ(D~IZ*?8m9CMfxp}(@Q);m=b)zARw+4>n8oRG=sC32`iX_nXv?|=t zG$A}C14itKW7sdV-pC#+Yz^L)KPe;_RBV|1vSg3wdV7MXz-_thmI~t2)c74AdP-X# zz6KKj5Kik!Ae655wlScED>U(oswb(J4x33pz}w?0+;xa3FU*Fm%^bcKAyt*2xwX@- zOQcm%<+i|IO^W=Fq6DQzmB}#w_WO}Xf)}y~p$N3pBIC#aG3A5=9eeK-oQ<nt?uP}Z z)8=u&Ur&_EkPIvoNQEUanM$gAX_vAoK*2}s)KVp!$NVQ?M+S~cF+y;;4f=25n(4TT z`F&7@x~5z;>0O24M0y5L!snzrk-#Bt@@^xb0Y1Ud-N#a`v>6EF>M(y1Ie8j^*h&S( zOJm;NQ!1bg4C@#Q0&9g9jP`;ix=D;vDS3mv5w5=(P8<e)ly;tp{0sgC{z5`z;&<F< z&4;TVB4}w~g&szOox{O8C$vSFV4dWz+H%jBdR_1fHFa8*+=Vk*);2IcW70R6i9Erq zn4{arQYMZW^v_@~vEZGijRL7qYv2SPzrB%6FN)er*_7VXF?$$MCY6lYf*@kEgT0JR zF?t)*5O}OgC7T7N&epVkBVEo9-IsF9mFa;c7G*b-lz4I~!TL>uou2h2-R`B1k1Gt` z!eQ=OM{p<LmIeVHaaI0WVHO(5E2%;UYmMK2zi4W1IRvaano3v@vjsuics50A0(l!Q zZH^OtU|a5UPG0RtA<?SfsJk?S)#wjyGLRG%Ak;JWa_2>zfDDVP>Y%hH5L@bq8UZcd zQhX`d2;+msu)aJ@*hS_SK_4Dm(jvTU;b4?SHvk9SV=Y+ABd(6wB}C^%K~En`CLALf zSJCnqM_NY@6qq!Vs6TbAg&;1I-tR04a$JqxL6@|Mg|mKCjf=GPA7rDEC-J}(SuXlZ zTMZ=xJ&<~S*ZlxMunS8X?rOQ{>T#o=b`jH_W&oto%Rhx%3ib>vCr@j0I96oxFM{-S zM!0!~Xnf`^#mpV8GflaV7HeWM0la0Ma1c+|vyIsr&Fn9Ftly0dNzPJcvnE@^WJwm_ zDTeupX|dWa0eOXrR$NDPEd#YOB2yLHwO7o&m$DJsz)?fxvCc0rwmp_pK-O5b(tLwt zO54_X)_G$z=KL`Y+0+T9$JG-&8=>>`0+Z)^Vf$op@VoBArUv2F364qAPgI78y6l6N zfG2~dczD`}XX2{bX@q~0)7UBoy!0nNl=PO7zarNyB}*qlIYj+}48~$y1+gBqjoCpw zUC*|x9P|}KnO<SOG90I_7LtM0MTIVOkjlI{wK2$`xFF*W8%kq-HaRV4^Aib!(miHm z6=iaM1#Lh&qaHmlU|qv?(thW%>eNyKgU`pnG92^<U9q8u0=)Z=BmkCROhqKW#nl8; zC5;al0zCaO5W^z*j<k8xk<>O}(2ztIyEuPOz)MXa?qnZ0;GtqUIpky7ng{?G^DpXZ z!?tsld16MDhw>nf2N=sEf0KerUnS^}MM;2!u~V>6OSABD)O!F5S88jvFf4?u=y*HA zAa$7?!2ncmS)aYsrfci-3VJ!mG=bIRpa&jly0UVcBEZ7-bZwB+0}H%2$$_}pV_Ng0 zC@1XjD*BH%T2^h}%!zz65ioWAc~zH0{J`=-T<^5&DrrF%4EVp{K5Pt?93;GOXOpi2 zc2l{45NC=%3NSrJKN(kl1gD3|N=b~PL2dNTb9E5$MUb{9QpzB!YD`@d5a@yfA?va# z_?tMoD#*ty%f@L-OcUa8PhkYEG_M!;lrIYOb^eMe#O7|Djc5`eDHFyCSW`t`7Oi3q zm5a9Ooptn?GN(wCl&0*b0+N28jlxSCL*<MvFVi?olF8A-7M@2l-|#A_ls5}pNF+S! z@+5+hohq2mnP(|86X4`Q3!DP&Z@Djh)e~_wg5X=KN9Gh)30&!cUZQ|$hVE(H5(s!L zg2<p5lk8==9QvFAB~fhM%LusK7957s0&S&FoY?TqWbIBVC|n8!-~|?O_Qg>KXozVP z*`tHj$N(6w%AD7N860)jr(zCq2JUOEfG%BtDTp$6v6``3z_%x0>erIC8J#Coij`%U zLbqMZqz4B_>5%DfQYba7ZS^1oRw3*a7n^uu^lLBB-4f6&!{nGZA6$AVB$wW9Nh3kL z`+YRowh=VzRmplF5tI-EyGx~ByOS|G@YLCQ^~XqWtyh>E_118*G5fKFr}!eU3rNYr z1jYQd8Pd$43112;kk^bdvIr;@me<;VGcdFdDxjAVd{~%OxB+8wJfCpVp1Bu=o>-A& z>L{a$g26lkE>a+`Rk#_k_Q<4QDN5~>=${Eg2h3~3%rl|$Ta%DVB}VC!{f5!WW7=le zvNhoYGJw)BER&3haDCyx;TR%OeZi!}#YSMRDXta}4DlQ9>yt%Mo&x138wVCw;s0jX zN}!ruL1$bqC+Dk)i`W8_OW~lg3!%20{852+?tzL5JBeX=30}tKHA$kPzX^<oJVV1K zEupcL_FieMBt$Jh!Uo`IOr0oMXv|nN=+#?T7bxZmve@i*OSQAN-&6$|?5fO2YzQ|L z%rJ5q?KU8{5<54kWq`b-nqNi52DF4RFcai7!JkxV-@_IZ<c-t}A}$g#qZNc7l{Rh! zq@Xl#V329#FBrTA+LaY%9rRB3`;+ZcKo6TrGo*1K#_$G8;%<p*ZhOBndDatsVEAZ4 zLphKZr8ycvlPcz5=6z`?N5L+ruo*Ix7y8V0fx+IaRr*YWTG|2*sGa)50OA@!%O!7R zDomhrO0$f@LlcTtKFJf`Gno4y>6TzCO(4PYh%8dRjj$nV+6_@8kx{LmLw$_-Q^0Oq zg@RBq7KG;KM`cok{Oi)DHbrCeJZ6LnJYg^i!<JIRrYFLLot0GZUEl`BmhqeK6Y!9< zUFXC;(3B(y%V~sV@`E8gLn%C-tXCgkY;Mt{499@y@rjeUU=`PiW?LXHff>Qi5usV2 zV#ZZ`O0dng8aUjjlW>l{%v5twwMrC;<TO+?(U{_@HeD43T^DDH?+NLz8CWqUm{D|) z7#J#^*{YgM?llzauvErg?4DM0RTAD87#C425!{_V$b=0?L5ZK}ht92%t~A1N;L>$= zLs`ArsaH+9=2AWvX}ioM!bEZf%rw$g6qS76^}b|c<)Miytf)qLB(IWGVWzN7LTRh4 zOny^bRr4c_8j=&uN&86}w2-Q-YVML}C~Tt2Hb6Ghz)#4a02!%bTxD%N>Fg12lA5rW z$JHt)o0#oshBx9B?TZQ>#@%zU95$XYy2vT6Lg6UWD)A}npkDQHT!mb&fCL^_m4Xp) zl_t+NiK^Lh2@2ztmSDyd+UL2yxJgk*Aa>_{hWnQ?46Dv{++m>=lBh@01$YbK$#=f* z@FU1tuq{^30Z$Ya#?obZ)y2Nh=J~q$s!$+s_e$+70sG~2%s|iuOKB_PY7wy{D2PFg zz-zTgWJ>B~BGpnqwZ&R6;BoMLnl@N!Q+NMa+Md!#KGg>%k(hCHXzrAXxtMHgFbo0m zQWKL*(hiGc5nX>Vsk9WxJPC_X<?kivrP?Ay&_PffeALjHpRB_J5HA<hvu?BL9|<ES zIE<SVYNpKs$l%aGSQnW9)k#(*N~I)I9*gf??*qia{twiQ(AG#sqewG5NhzSEh_?a! zYwtL(=>xM9nS^<BA53;oMeZ!~{!ChG2$L&F@l;CcqCqyBu$rgo(1rl${Eux_GlM8~ z8`GAmLys*KgNlvRmUbqypdXsV7FYScQrB#8(qtRjv`PCeH%WAqg)e(k$c9opvksgI z#T{;X5U*Ei<Xp>QhrR4A0^OZ+eibu-L^hyxl9*H;S7WleAZ(&$4MS6h1BR~(k{Q3{ zen5UB%qyI&7F0?-oHI>GkE=zAyaK0xy?5GwHL>wj)31seKHU=2hU^LyBKBK{njo_Z z2Sc#*XUw2~AQvn9a-g>t#+BCU0D;5(35?QXP{Ok2XsO@WX~wajpSZr&bo4;JpdzA* zW)f)0Dq3g6gcUEdMNQ?`Ok?=*nQ{aX0_rp*Dh!%R6<B%{EQWD&LQ1azxh~4-+;QuX z6+W#5qL<RwEDp_#xs1q~30EB0q9smhVtp4iL*M!S$+((?vjcUnbQC%cP?Z8b61LGj zxE!DS`M8=fH&P2NiH4DCM>94rt&8AI&vq%`u-*<et0E~EG}Em-u2SKNay6w)qD1OR zQ~ROTeUdj=n2K@AO8u6~xxsr(Jn?H1*+klcuu*4&E;?mS3#dJC=^>Bv+UPshEv~f2 zMbg=XvRDBQVehvTRy6MwT2UrIGL7y|PD!(+N^+hzdW}!QPeMz<1tLg(ifQlg2?X*P z%FqDM{;u~UOucv($`1Rk+0sby)i9+w2`d;*cY6cp=c~rm1u=sKP@v@_&5@dBdb2s7 zth*5JO%t9*Cm82}GHdFy5lDeyh~_;X4$vLyl@l_<LUD1@Rq6v5)gp;~2RED&o!YB1 ztN_HGOIL{@XM{o=6?j59fzp!ZpJGEPSG~c0Z+UNNNDIh;@QICK${>3<r85gX4~%;N z0}aAI(g2N>rVfrR+-T02`>D>Q7jg!>O+@mWE;91AcfDVxUL0U!mZL}-kefEv1Vh-G zB9rr92{m(?XOoj!VUU<XWQ}lx*aD&`+k@(;D0$O?T0FB<6R}(X)<DG=LU$(!iq9yT z8vl&U9JoYH;NTA<-jC*mnG+8X7Pw}g*Tj>N58~}nJLE)lY|tN0_IW*^vyED(YQ`h@ z{sRnhgEN!dGZ;)%ax1EqK$7aVImkeNjlTD-sU4|CZ8#@Y4c}6Ll_eYzwZ&Njdd~qH z;BedWOp}DFAlZ*gm9Y7@y-zfmD${xLDoOmv$qvpaZ*g={&`}pGimQ|Qz>-(asVkc3 ze<sHm+5#rBgoZ8z1({hP%6-;}cvC8flI&@70vlOR*#q>8?*C`9^Q2voPfNj;V91Md z-layML5ue(uMf&c%+)asid$`L2xA9AY^AP&1fq_0f%YFmF9_ceru$@+)$U@ZsmK+X z=P6fn$i>8w5oHHc5P}jNC!iw)B6RW6z^5rJ7Lf_bXpmCwk15SFvOjEes^0BBFK&@e zGbi#U>@i}pgM+0a<0>fIWfYa|y`GM%1v%G%mKIT})Lt^U1Lb2xlebX}i2A_#3)fNV zwi~?xh?Gnh?1F-pri1Agmy{k=c9l*UOR0pQb{(sco6d|D4ib)`6V=eksu@y;{&8p1 z%#a)q>rQfsY*O251)IARKUEX6YU+O%plU@*KPyX9TT9_?q<Bi=SxF8~5?BTX9Fdn& za=JcI{zxE@JL<&cq19T?^B@KQ%TypEbE+rb=6->EkH9PF3<ntD0_z}c(i%4XqEHm$ z_~tBs6_aLZsIbX5*~ClS30=G(hyMioQZ*dss+{=KPDNFrGrY>A1uN)=>DJLP8yO}j zo&qIH;f6vQXqp20RNkk|pvAk5dK*$2=}>6*^wKP#Ton>V;o;)@3YLsrsfvyI^{_!@ zs~8G(MDT{mpi$`n>aoSqh>~Dr<83&p8WVNHr2j_4Z|KLBQdw$+GjBB2GPq%?hgf-J zOOV1byw!aw6lPNSl9F#tb}W1&Q#ngbj(e~XA<3;?8&`iMaTX)#YQ_r@))}U1P%&d! zN*%P2Jc2lICah7eg<Spekg0%J5yV1h6<9DLOd>+WsFH+3Q0mpBo*FySLs^q`wbn<W z2$GCrnrB$D4-A;rXj00TG)%xMDH)Yk#v?(=-s~!8>7NPuujy&RWd$SkbQ#aCsAej1 zNH3Qqc@nWr{W8>;eS(sJ2-d5Z@&n}`P1O?fau!Ra;1i_9sAmvK!1cS`mqH<TZ$evQ z+W9;_vpoQn8uJY4YgjUKXZWigtHX3Eb7FYH&dd_In#fVddWb=KOF4CjP=>Nm6x!Pq zyMXr!n!nVvPApc^Olp#Pl{7N@z-rn}BUY;U3aB2SXHzt$(1U_V!fZw&%ndqvl^$2q z6BO*4N0NH1ky-}RfC9bJCK{WBb%hcxDQ^X{R-3WY+r`$m2t~oIv*+}tBNrn6DGG5V zm+OsyNyAMtAzy%tf{^I9zaK%W4`fLKrngB!MKh~UYr7Y#etB`VZZ$jc=i+K5BVICp zi!!nNAWWzzyiT=&G`)zV<h$ih{ag^vffo|hzn~%ECIqN}yNaBEuvGRem(G^vETHHO zYX_xc5=%)8M?k&~TrvY~2Do2YT3W@1gF3Uw>stFeF%*V^qiKpyeC@QBkKAM?PC8mI z<(<CZ43-v&l-?-7Ou=tT5ga5UmqDgAi>W*jS95wVlTcA$Y$vIhOgdgobGov&+gsfi zUXU{NmEn9RNr};ALS6Kvx@toHcp{r&wtZF~n3ZG#lkdRGf`&i=*sD*BAe{0JfVd%P zUUpFwcJak3Iw`f8%0}a;fH6Zgf(gn)GoUU*>35w(mF04<N3VI{Kr^XS-sd1GA=y$c zsa-B7dWF%;3hAwBl^rS7F|O7$N|xl9g(K-7C#<t5s9ZpW7sn3H^2>;0kw>T%7dl2s zS6E0&7xi;1Lt%qCLP8AJ;K`F>rRmz0Xte0dzSDip(W<{m3AAY;jw&|IXA@~d*<?cj zDj0FrpP%gmht*O@6Z5D@gnviEB0eNbf_m|ETs>N<RbFKjw3DXpLUPiDZflVYJrOq( z(#qu;Pn{=0vD;C|i6*CukRie0e68zLHWv(rOLaljxm7?yMYvXyV8zg>3#ikIfFg)i zS%U5?77JnqgD$gqD-N#uSQ6ww7f*(Jl0Y2rp2P)?lrh-{2J;!xswSua%K!;Jl}k<* zAXZ8Y^X=~oLX|lMULg3rsUBXsyVOg}q8lP{%RF$a*UrsX1>Vg#&ab>kl#eseC8ER= zOOWy<nfBKy1uj0d=wq6PpaC@It_B_Hp=wUsAhl|PCf$syiv0$-f@nezVOUb?7>zT# zXr@oa$FRWJrsd17+eW;sGt)(TR_Sa~^tMgWoflp@*ux-Smz*F#bKQlpX0gp9QvxD4 z*u9!io@QYV-~x(asGfp^t9Zm5O$kAmmEYt`3-i`D-8Z8lE>;`kOs%B?Zj`!<XmgjZ z_zD6p)Dt;_Tk8FQU=J3_C=vn2FJ9Wf)X0`5$dd{rv|+6!qgEA#=~_Ys&CzhN0w}9e z0Nq>g%6uz`tRILQC|6gYeM6uY(5@a=%bIzqYB!A+&+E|UCo-C~T9udz%`zH>7-5t? zbl{SsL0ao!1*Hg82xxN9a~%x|PQv0MXR{x`(G%Ce<SBuZF?E*I#-X&YdpLr^hu%k8 zJweeRk<UQPeDi&_COFoD&x`lDq~KLj_9!4nY9a@ZxN7dL@_RX>W2gm3um?WsqVb?P zl)w)+VnSsD1CIR_$pZVpfUp-d8k`~{@F>Iz3d-k66)>BJREE1*bU(tOOxznu3M>=S zm$s0rh!&ex7)R=l(W<}z4VxV+DQ7=PvS2o07l@$aYI<Bv^5$u2fZ&YwTd@GHOcQdZ zCQ=^jAWoC8gyb!RBGS0>1_(^LuSBq3O~PBrc$(a=Jeifj;k(AwG!9X^&s|r+^w}%Q z|6yKEp>&9D#F2ZeetcRVSc9|4P_tOCCfYLv+E5inXl!QVq={~s=u2B4xcB-ZPd;Gg z!W|7_1zuA$SVfE_*Y}6UC$f)pJKJ)51f$^BY<@91qLeMCR}aUq$*H=~98F`dn9SVN z=t8%c`i>RmXP7|on){&9ugrvAqfa=k_R6mbt_A17Fu{R_fT3UxA|7jstIov@Lihmh zcYBF~!5WxhP$fu6l+Df~h?#G^Pt8fT#m~moa?+=$!$8KQG{d4?bS&NFF0Nh^SHln_ zVz8xKJj~8tHag|7g_Uc~UT2x4|3F^E+?guUkni1+EVGg{w|Y#u3<@pfGKuCLNjHL5 zUz(>K#ntK@4oSK&>X^ieUX|VgiUd3#)vlQZ+nh8og)O2ks$^oR@iGw_>3Vf#kqsmL z26&PZ6Gu$Vq8Wt{U3#P?LTnJSJ66dtX--`zbobIoxKmt(v`&~*sT4>fd|d9<U1#q* z{;iT$;ziF%UNjk;AtW7>%QBBJe64A2ye6)4>Q-!>8m7<~n54$`R-9&kUFHI$)YM^g zY+8j|Q<u9mhcn-bB0v#7pn-IX0ZXU8rv-I`u9b}@(iOc5#Q3Dn;Y7=pJ|^a?bQ}Pd zUhOusab&+cCLg(yL%Yl^6B9RD2!b+RQ)DYxAQTD(WkfR!x+Z#Y0%-!)Y~@7Ho7;~K zzDj8Mp{XOFMjArg>(!FWo?ynV4^hx|L5Juq?wdcHK-PW8X&oIj(~}m{eT9{z*NYNo zoC&IaJu_boEV2H0SinPkup-Qtw9HmVg8VVztWEzAvv6j8>CH%Ati>dot0#{J-qTte zbn&EbXS$AJO>q_Tv^27X)QtF{&I#`D|D~D(-KLB@L|jaBh%_Pg>Ft2Wdo#O|U~ts4 zuonumBee;q%dVEqV(9!@v&LX=mINkGA{RmDuu4v-9TlfoAxWJAKveW2ej;dno6x1v zL@-Qn7pt@P$s~e2@e%7HUF<FGSPM!WhICc4n5kzHrg~Dx5Rj~J<&TnMPP&f5?8|88 z9>D)7k;cA@9$<;pMfoe_9WZn8Q43VI4dN4`?a~9%;)86@$PFV_AiSotf+7-|DxJ-U z?FyEHu<%CGEx`&${JJbPc{UVBNT}o#g$PCdbUDC+9cg8FMFUY(Q)i?KZZV%Mhcgz{ zXDWev7F0bYI*6(_b82p;=|_7vKf>|AeT}EV!Hg);N-_yh${X*q=5B02Vh=KTdo}nB z&2FF!0u;;jag3*X_~6d?uQII`$2Xh_>>^Gy>{D;jx~O_Xh^y*xVB%6li4Txny4Drs zcy+a-_fN-B_Ft35P#3P4w@_KB4C=;A$O?)Kl{Z8+CLGktIJD|QLT(7z`GokTr<SgU z6gS?I4Q-%AG6yzWdaJ|A(Wdb^`4$>rBEnVpJgz3eAd(dTuMQT_7{9Y2CbVEm@C<~e ziV0IQZHs|HAZ>CvjXsW<Z@%A+zw}Bf;i|&^E9mbgWn#3Y67<_Ce%*gKS+72HAujYL z+I4UkPsb^&{fW2=EE*)a5}Xo&T!V5R$%H##U|wZIN43W(R>#Sl^<TA0;qPZz&ivUI zHrI0cf+}H4fhnVEvnx$aV2cBGN%Q4|_+|cK!t-T9{{(Vrb8Jg1U>?|^1ZyOZbZ43a zQS^5V7!J^6H%-n~S7^Zi${YFC#K<6p%4F|4u0m9Y?sqIsN1l+Hj1y^7e8!}z;2Z8o z+DER>%7Sf}x|o3v4cx#BF)-NjxLTCdKdEELHO3$jKqgs-r`Yc;gG-nzRf&eGoRd-y zX80x539Ak;do(Ldcm#H@!_C%MZervMM>`bIIl-MLcq0o6%Z~XP2@rqHl6?GLQ7#cs z-z3GGHBbN=MG|M3nvOJJb+tR&pvW32Gh8STCjy##vx*88k0+4|3N#dZaAjsCM~gL# zSAh&3*HH-}&NE_KA;Nh>)3T*_^>Mwq4{Wpgn&gRtN{OZ}CYZ=T#rMT-ils@R)UoNA z@X7w^PW6E&aTGU^oXw3OgQ;?i8afg$s<25{8YfZ2l;TpwyhRM@VoS2%EMv-);nH`N z=>V{VU;^ncQ(T=qD<)?LK;FWWaPi4=$~pN~3{5TF<~|~b|JmTvRj+AULPASHoH*lj zT+JCA5ELeWz<QCZ09s8WzNN6EIj6)PNX~}TfSMR-hU><~lSv76Au;TwWhIBP*ihg< zm_#eS9nXf1j_ypVnGCdXP38xlyjwRaY(OB{R)sCIX+ITL6G?et%ApabbVnNnSChM9 zCHFbflDd1GX=Y$VUqf$1?Z6a6?5HIfY^WL;gqGq=WU3&=;J~*;4~-f%q8+$yFl`Gb zyAFyA_GvBX6`GWb^D)&eoxDW3zY*34RVLUZ*{HXQ^=c+5Z76W4$w8CFOlJ2S2)IN^ z7+Tn*|4c7fO$;h$8ho|2I{}p;r93s&CXbJT?>YGoMp_A$ZpL`-ezaM+q%B?MDm<=| z;YxUqbs-=P376|KSMKcuo{OuvLdx`!5OFr`t~6O#m?gFD0I+J{Mjy!?YAR@YBMx^B z$f9wJ?@z<U3xq!I{wsjhjr8tdX0D_rc503zX?jZ;ImvLS;Zg<5KJ8u5<MtT|^cQ3- z-F075w;u&B{Lvy!fFW`cx<DToTwdu=G&e_j6GTX0<46qJlcP=e+odRxYWM@+)=iA; z9%48hS)Vuf#Ad!T`9Aq2TQ%wN=n~1m7%n0hKd1X>jTOKaNpR7WM?up)WFMTI5@VtV zdy}%hm{!-RKCtveBGdKO%ChlUAJ`}vv{|fR0q&}$jt?s2l?5w2)AqAki~F<smkIMp z4%q^=TTxx#TYWU#2yQ+F_mpD$Xp-TevxG6gv-5Qw{)xDny^lku*9Mqjn`WOg$*+<z z1|<$C)+D8EQaH49drO-BW+>ePI~)w<qAy(r1~C)Di418sfoG)<l3D<CyS*L&`%i8N zl%Q_@NNWYVM|;RXPcmckeT~tPigT<%*9|ij68x+|U}o12bXS9GGMERA%i`30H3(5+ zersAG60&xL6!m`OT&f6@^lJ&n-IiKU#-X)@i&BXM$_ME<VTjX&*<%IcD*9)$Y#pl9 zX|_OIzbT~1`!2}O1M|1z6OdnXy~>6oA!!_7sw;qjkO?cvBg*8Lgj=FmnKd>{VZO>B z1_g;s&{XNlXTdNhVfZvwCz}|RU{4fjr=Zd%af<}ZKoV&}c~~DFmx#%p3YC{9?uT1$ zV>Fq`O(rR_O37AU@(q(KPF9i;FAen9FMVphD$xtY)yiYuTc|yzE3j&o^ebbkP4=i2 zPE09j!8&PVP{m*kLM=l{^0a4k8n=g6W0f~L%E}fipu1wB@PEmdLqc?5$zl>x7FQ{1 zSO$lslBKNRGZlj32$dk<Q)*NrjH-<fIlwN+r&!~C8aeV>NpGf>8AFD_9b`*FU92?y zeHxL)k&lAM)ePgF*_B;@U6$3Ju3|f~vvFNfBU$!1lo_M(aIwv+fta9_3E`<0AaFiK zU-CdNLDvp>3i9%@O6p`>4Jv)k3;?!SGudXJJ9i99?{tH-p=*;(zNBfbGO8jt7*|y> zNj>N<=8PhPgFK>L6(tp1veszqMI!j5lOgfp2@{b?FrW?HI{gHVsuJ>l8Bj$N0|^+R z5RY^A1~Hu%oBUN^w8|l6CLEC!g1P=UN%Yl5q@OV~sjAj_Lqhd8XR?=1K1{M4kp^*< zI@cL)k5h7R#eD+LlkV-x2!n!-m?V>IDbTk`ztX^*uFI0V>4<icXG8PehB7o9v#O}+ zA$UE-#5<|{>h7IyFHABR@QOmhlO8UMB@kCm0VdU~2XH3=#!AYg8_5YWc7q6xjfu`z zbgLj09Z5eymtB;G!{WoiENOCs6;@2UbQJuz%H%B3+bW1A8@esc8_4Eo$tW=?SGYhI z>LH;7%b1>Fc(Wky2?`@Y*~_Nc=A;{EUTvgiiAmU$?<5;cww0!bIsd`Is%|J(e*!GW zwV{B;DPWWn3R+>DIW(t}#$M}QeTu(I-WcU#@Hv%WkS4PZli&4WU*G+f+x2u&Yq^n< zY78=mO|d;gN6#aG?G#sMFg8zEax|1)a<VvP&7?Y@jG@n^>XhDgs!V2^qa`JtPSDI9 z+{DB}E#U+(Z7PZ;D?~KLCntq@qHY8~Oumz(Q}S%<$dsnS&A(07j`d`TD`y$GJCLO# zBhA^gFoQ-u<86pSAFa-;R>Gr#aF*nt7^YEu8XNy1+N=+L9Uf@fJ}xX<V?uK}u9jRw zt0A*)EN0s6(x5=E<*VPcRPSC9I$0{sNJ+(hQAw&vh3n|1jY17z>*~5DtsY5VS1Riy z>?oDfna~Ys`bvk>)DQzMv*1;j9-NmHprV+R1R$tKqXMJ+5XMW_9*Q~vEJjFjB^9yE zkV^{h)(19~Sb&&wM*5T?(`xeORkW0ry!oNXS<#7Xv<EDJo#wU>wC?NVpE5}$iXs}a z(?o1ITCSN$Sa|b#;Y^zW05{#`*z4jd2%=WCO%q_M4wv<TukL>1?N{TnW%untN%bK# zyLCx@dbh|<j<ymXz4w7z6Q){U*|=TGN|V^>0vRCDIZpJp%^;3SNI_FoQD&Rdj83-2 zRRfEck2%U{T}7aOniLSk5@#2r#E=4d@Mg)AF^8sU&#Jb4QNN*FPC6(TBRvzY4*&zo z^hHU&Ph5}{UUCT2K!$C`l)q1LmBL;Y#z^3yrwNh|=mmC-4?O~CAO$+v#J*{ecY3~> znqEzO#hm1I1TFSoIQ;+hZ(XZ**Vb+T2q>g$B^XdsLu=Z)({(|NEL*eASOygnERj`v z5%bh?L~{AoArCjjRnuL9jx)jdF<(927BCYbWWX?=Eo#k@)@1>23Z&e39sHT}%Y)O9 zz)M}k3&Iu?i31%yXv0viVp_rFqBDMi%P9jzS8sHXNZbJXp3sAU5@CgnLP7b`bdpnF zV}O={bUOJEw6(&(`qpgOHp_A_@-&D#*#~x9sPPrmTV+ryl(Gd)hTj}km%u9cYujU+ zSfq{5(`Xc2rl<vzY;i@ea*9k*%2pIe=E4=_B@tw1%DeWERi$51k*ox593!bzqhTz2 zpGMq<i|B)`i6tEqF4UxJiK8XiBT)yNgw#lz(>$YuZ%%2!5_n~*Iwl+ec(~1viYC|w z^<`W&y(Pufpsg5ubzqBG$kPg1skm>=jTX!ib}>cA7>O*g$^x>QZ((xgZ$g}g)GS)3 zo|>;Vqf_V_G!Q9rl-AUmej(p2tiJLusnQhY@+k#txHX|e*?c{al#6mk87`SXUnOJ> z1P8E|&E#S=rDBV#pr7_`W7;1S_)G4Mlbj89+9R8I@eY#kIWrp%NYpoeA}H8#jH5Np zKnV1}^(iss>DE`y%m)@zEG9BBqJmZ%RE4LOV&yS~CLsdtaTU%B#NrpgkS5EV=20~H z6=hBXpk!CmxGTmfL*o#ri&PgHtwUBURkRH1;n~T!T9F<mLtx_cp4hDOhk7+$V(mS> z|Jo>ebvLc-rxNt5bocD^UTnGd3?aj5vrChG1?-G6Vx=|{zNUq75(>xbQ?jIuiJj7! z9<rs8m0+w_CqS*t2y?QDKM_}p=z6(FnGw2OK{bW)4YVY_zWm*tMGIBZaE7=bfJKcx z_6#&HWnD%%tBB44?x%H4iQK4ZpCivjuGWa&Ap=ladP++;rm4cQ9CG7bs_4ZP_O3-! zGHdRFz$5U*9#`9=G4qU$VWFmSzG5Zz=5z~W)<WyMu@v~VYxU{zTKzRm6bON$3yCf+ z+|zB-moY(Cn}{U4M3r=aPm7}nFtqTdc{Cb=WeBmFSg1gXKvZ7r%z2&wP;1Fq!!(mh zMu=%jN#f2<AOm;=7&P9L>D(v>nzHjof}FsdcePj}W?L5Z8%(XWtS|<;25?mqE@0yv z!lbUCqV{zwTMNnuOj)|sg~cNmTY!$9f$mJlyg0!`OTH#DoN>R@+2~KZ;773@(@CC9 znNp{#_~tA{B;?TGtZct<|E<^R^}V~h2X{wFuz*&Hkxc<pE=XP(Tunu}$q{4grI&8x z)N;zS78a^}vmGt<y#+&)HGpUU$|MW6u*JraYo*i8N3{%K<Sy*a34H}w1Ia>f7G;rc zR#LElHdbO!R!pjs(qImEw1=S-`a#XY1qZGI#$y3DAGNrG4K$zjQ?=H7;>dvqc;_gt zVrVU$r=&>Yh<g)5B*TWkbHZw(LEVz~)E>CmKHbn!gYTNa6sL6|%83?G6`|iKz>VoJ zf%OpHVXdC{VFaCga3W-RL{cETa~uK}L7%A+Tp35*7AxEZRKFS(A|RGq=@@(R)zgKm zsW7OMM`Jy~zYDd8Y&(rBQ`ASLQc?>ZOxg(4T{N<B2DFR0eN>of34ClJLzxt~qA_{o z)DKD%UFCvQQ6k2x5Dx`n<LH{Y==W?33{g6(D9e1>lWjK0j^r_Njbb|$Cb$SZcw<<~ z1}BMpwp_90C@oM5S1@o{zc?FLOL(?pJ=i*mt5$EVzi@@5_T^!%zB*K}+dnF2uTONL zt_k=?=1#;z&GRENi^-99mR_2nFXJl3paN>&lu}WGQ(!)o3ldt>0G{(C4Kl9UQY}yg ze6Ev#x0L}pp_GJ-Em4*hXThnBsz}oe06D2PyuCAmd!@=D0Tq+aqa2yl<YDsb<kbe1 zBoY#DWl%LDI&$_kM^=KER3&XW*bq{4T*w--Ars?hle{!=L~2rI8kZ(Znc$EPxv~aZ zah9Aw%K+teYQ9>gljGXYlhwl!y91p)wRj`$Eo=4ZA=d8yxwpa{t^_IE*Q+mo+5g5b z{ae3KsiCTf2RHbS$5pp14I`X3eiqtWm2mmua7vQ>HM`6?IcScnmBtG-l~Q<|+sr@{ z17ZH#@QkCJgt3n>odMS|)vF{1V8|jZ(3%qm(+MPj*wi_QmO{;q1`$h_IFiLH>4ivu zy~?4$WuOsRf)yqZRFhC(qWFk2n`7d9Ng<Q6BlMVwaKiK052rv#WJ|hIF+#<*TP6ho zp%WbCwK>=r+m-X+bRU@J^OdfLVG<kNrD|d6jzH|`F01s{<)4?!%3c1sj?R*=m&F?| zU&YsJ<vP}C(F0fdlQqF=sSVLxgPs-wjT$-Ww*t+Ulimd2DnZX_b5N-;?fsTgFkWby zLMREgliIn}8rG&RDpE|E=3cMn#Bwj%RhHSK_viuWSVxhYT{RCprq*nvXJ2TGlzD>^ ze5IbVF)GC;Fv}7>g0GXH5=o@95VMTgTvaZQ>NBy)fgyRyn4f^`p6+n!aka|KWeVuf zq`+g6Pifi>o?V>wU!^7Iktm#e(Q@wACrqpnSNALN>3&^4jr}^kzh8temw&i0mmGLm zzW2}#{smxWb0j0)vclY#Ip8c(;)5-{w2ZVQrkE}YE&G*<U>k9Yt7-k<)~hbZ<C<~~ zjWSJQ9`nHrH<MMbrfOcS=Eh`7ifD?uHBQ1yHsNy>E_pe7i#1{cBTt%O=R|g^Nm0=u znla%tRM=J>%TJ@(Ie9mvvGySPV$5buaWYX;adJ)H2)NQ1gje#_2CA9_(M?(oHVQ#1 zo%Aamq@i9R1s@-tjjQMkK+`>Q;$2oj+mIr+p%nP#x=5D}($jm(pZ)*qH(&Z%{UwwF z-~Cb$?Fy3)5jl@}MM<D3ZN3%9{!qPIYm#W4G@vSAsSO2c$>vj;qQy2c%uOu4ac-vF zg<P7OMcKHHq%!l_!Z0O(HA-z8z<o}T(Xjq_v5)Mc{!?77NS9v=fQ-EhV-Dj?E`?<Q zeo%C52u+nahT4$WyM-`xN?F8{*_@JLpoA{Lo1DwBQEXbuP!Hj>Ytr2BK3G7rE~$47 zf@9?*Kcz2p63@(6)7%%}mC``DgnUKUu4Zf@q{E@ryTr_2u13?B9Gq>fzFG@ekE@h? zEyJB)4}~2ZEK387YwsB)jM~w-O7r(94H$|I6-iCelmO!r!_IJIgUpv!V(bZlAel$B zDbi5NIBip06*|2vG{}@Z%n025`M6<~De;?aM>>N=xXDN-eIOSO*8vXm$n3aEi6dux zvG5&j1^Ak$b~Dqq+#<39bNdxlL5BxKjh?lH>&3$NRm0z4morVNm>tZ*BtibLqzgHi zr|3m^I<Ed0ljA}eh!6s%Itz&VLWK3IyV}<3K8*g_poi<YdbyUWOY(bItNX9M##$|8 zRdjCldbQBx2<^~iQh{mqY+fbiBuH%9iV0IO7L5XhQkf#*VFGBx<hFtNs-}Co?x20E z73J1gW&%kN2RwQ33I(8Ox$F)lwQRfzL>-m*O~|*1AuM*bi>XF0#EMA=xYCIajGHDj z0afNXt_Jz5a?{1?0~Q4MVCAUjB&BP*YE@-S*_Fg|5}!WF<mqBBg)0cFzFZq~XlDsm zELXg%)AQ9yJ25Fgrb~4`!*b7Cf8EyV(`~KBSgWtP!=$x}6nKrR6*evcGN!D8mR5vc zJyx%lJU%lfo7gI_C7>cfY%IBDouidAn-o_Q`mh)U1w|PddS#u>QE>q!)zTtef(?0B zbD2weJb7Gg`6fE!((8|czN2$PC4NF0+1jo$0R*qKlO|TK18f$;vW`r1<S7vJ;3SQ5 z0=Cg?#!Eb@${aM@3jqRKBX>!$83oypQeg_ZSya$T*YQ!Kr3}!He9NykwyV>OUk>l@ zr2nco17#DfO8Jc%_ZZ_s@kU-BSMOf^98+(}<0=w-h}}*=H0dU#t1gylx=AV%`VXSm zs83Y|OR0c%OlCME#zsTNFEJ|*n3_!n%g}Yqz;PvO4(Fa56Pxl>kg*^SkE400|3Z_5 z{i%eKm}%n{`XmzaO&gNQWTq$Z-~p&JWt>r1UN?KDlKx2PF6vZw2<KRovT`MzhQuyY zMw*o6Ol-&GrzoBUUtI_7!$<=LcEuvQV{&5eN6XkWFNnD5UH7d2s;hP-#%w`kx5ri3 zC04Jy6ZPt$tMv5hHTCMXpP4k^X2IMIik~NRQs~D*c5}+0Al>f7ET@jV<<p3hYMCbn zdicOHOdNXa2Bz&n$(q{K8d`rMA$nJ6S7_6)W;I>Av;qkuS3+rHcY3U4TMi4KZt6KO zh-eTWb$JP*Dih^Qcl#!f7UHD^Adg{Bq9n_gw4~2z&n@})jzh(egDxutptHlnMN$BY zQ05EzkOE)}<Z6=92o%HKhyvU)iMETN8bO`ZF|2F{OXCR@+MBF1tPMGei>v!{ANbyi z{9RV)(|fNTYyp>j;HzJi1bc~?SZ2Vm7^gfVJadIuoEf8=B7e|unz2PSW>U7OX7#3U z0dk<G+v%<G?dIc)lz@Piu!|s!BU=Q9qcW6?MPdh15mDrBQBB|Ds>YkhAw90DL7NkQ zHBFbdSi}+4*W?}c2V5@R+s@`bU(Di(iJ$7#i3d?8H)K;Lz@jRBsiOCkfQ@*PU(kOK zc`Q(yvCJJnAG(>_c_nNPtZ_cBhWo3Qu|tVjN*pegq_<tCLB6pMrt4t!#n1cL`b&KE zbKHLwU%fh-uinRe6-q%eUxm!Qe1HSV2h<13#o|o5I0f-c({aV+R}d;ji!WwX#DwO9 zKHmh@#w@JI!peYEOOmo?ax4@SFi?WDkiuuVoaywW3PRbmQe^{O-}53jCTp8C-yQL6 zNbMzzgM0_q-X8~_00#@JsY$RQX$j&edao3P#0VlW#cmQ|iw;-i6Hl3pcPz|=xgaDY zD)8ZRz)!tnli$ju26K=|nBsqwFwp1f)rTnqOG!p{bxsRom`L@&SQpS0aZCGk_-Y&E z2)FdLtyRM<{TfD03zy_hg1?f;R3Ep>HECLllW)!Ok8O4U(XE=}YO97qA_zXB;yLFe z#VauKL>x#U3EB!Lxm4*9DJLvqXwq8<Vf5z`zz8B0$Rk~h2i7(i?9%-wZ5t&J$@;*V zuDxIK#){X))dJ5cQErGZFU*tEB@<f8={QZGqBZ8Lnme;)f(_!Y#$<e9*3$4uFuOL@ zzDav}8T?Gv)@jqT)B3<BcaUtMPa2UV6_|43da_=s_WXLm1OIwhorix|oF3My;ensF zrD1543z>T=SQ43P0!Br^{Ja{&jbEYMkraBAiY&XI*zdsIub`b#(R$mkN-kBI8ICZ( zqyY-uNqjy9WrD-_oKl^3A)t5_5OgRXsK}_Dnd}~LY^vN6x^VFYtZQd}3Nna-?_Ek_ zMD;4Ep2n)zcA~vFW~;*SaVAcoWz<qsg`qOK<7H{EMM3s43;J)+z#t>drHLgw<$d6^ z96!0YB-NEB9Yd4jNFZ7YZC4{Ai8-KZ{kKb_9R{x!R{{Tm&<-v(m;FO+R!~`_IG!1* z0~)L<j?;nuz`TxNhq+w#+eL$-Cd{t%6JcL&@LVocAe}UIgGg_bQK<|<PLn=&;Uy8v zWdEr;LI>3dcOt+zlyOz)*CT#P0IFV4hMJa7(LBMi^=Z>w^p0f#EFyWBqboq7jH_MY zCd6}1yff9nEt_Lu=OGI}4e+lj(v@SN-Nw;M@&YRnT+hbUqGo2WYnSfz13JFEUDnt9 zUD{}xOsX-1sfrTdaMSxT0vRB}l1-yn+5}v$^6?)4P<=AYVsWDQn3ix?5P77)(mgUL z_a+<q)OoOpEV}s=2NlMFw6_uDbK3H&X7N%H!yxSEX-6ikkc&b@Tq;lk77tEc`-C75 zq+ozf3c4f)GODhB3~x}T@xi#7lHP*F5;4*NSK%sY9kyPmwemA8SQr>P(Rb=6N`rbA zN|N$XI(e0_idH&yc+cnKYNeq!m`z7o(=kjiB{c*2y_%z>5P_wFFqM?8C@OlEd$^9+ zV=@uo-YE8_L2U~y!wLt=G-SLeO-zmc;?)ls!vdKvC%%Yia*V5t%CJ|7W9MzlfOFnX zQo?8<XomVj6fAvXe4Nkwb!<0iY};t8#<tUVW81cEV`JNB%#GD-lg3Wk_{sP8e_rgX z+0S*)J-V+mbLO0AvKl@L!|@pDy<eeU%xp6jTb8&rXyF-aNU>JYd!g4*6jceFbsQk& zalS}Zm2inIj_;(6tl$LAaa@x-ITZ9kqtF-7ZG2hNQMxwNjw&`=sfl*m3`}RSY#}Jq zKoYF?v9<F582CQDHBo_uwUD(tJCwgx15>MWNPcCOo^?+J{7eOw#>2!6yt{KgxmBFd z#cyIdsII5!4+>5Uvc)6|_{)p$IOFAEE?Gq8Lj{zg*-P*={pN7};V8v_CltJm71aGT z6{P0@Uty`HT&I3SSr;Fv9JT6<pcZA5xeI6T>oU=EE1n)|MOcoMJMim2*;Glh*=_|2 zjYtwluQF)Svfxl8*eAwrXyH$vam`mu4gPi*ZSuFR*CvK@;cN9BSfqq*Gj@SPJkmM3 zdADHjBIviVo04WpOUvI5x!E(IphY<toV?Wal~&-GNv&|M_H5|Xv*D4G#pphn&SW_Y zJJXQQ8nK~Y9xLF2p4GMNw7%4kUH<1*#A`s7D!nIpDh>-7ubb+oz<cL<lqL#?XeTaq z6EA&n=rej>A3}wEN63tY@8|{h<+@AJ_7Hv@idowxqh+BVvNEa0rqA6atv<g*0S+YY zlYi7Ow<=SGouJjTl(<Wz2lboRa%e5%iTW+GXc6*8a2}s=%C|)+oz|jJ6YIyLP9lSf zuY$$WdHnKu>U0GDy;2&dXdy|xKW{gShjJ{Qr6|8by3C;@IqS08%qn>7$&J%HrUdF0 zAnLdgg-}xdsS{<XyO`qR_D>Eti4i-Z)fcF<#uGUQO|%J9K?_gLXuwRSi+M2yq@guI zh#Ayy&L@+g3|_kwms7*J_(d0x@Id%`6d88rXlb$&No7({jZP+8Aw)weeCS>9@@>2d zP~*6&s|n<<ve6tLy5D7zDp6W2aTT{js#CfRNBF_5=n}KqhnNJB?>=f586Ml{>a<ln z<Pw!gNMSt87z?%47^Of*L<2#Xbj8K#y%ODe&ldxvafr<xr}}*$k+hf(KRL4<ktBcM zgq(5hOtlU*O@|V1ehFnR+l-|;mVA%r@l$Xip&jo_J0Vf`<7HJp?;8{jFt+tTraj}h z#O^NYqFi}S+h#GDzgY3#9H#bc37sP3VaK+d)0C(}VNF2C6@w?ft%ALpmN0ZT+7B>B zw(d!%T9Jb)Is-)yl)CjF)VnGR_b+AT5)qWT$++f>CN>3#>w0k1U3vR9D0vG1XcxQc zBl*pL$`jIm?u(FxeLp%9roO+hm&P@9in!LLMU-6d%|8Ih-GACtAY&?pa&XHc6;KaZ zwxgzL(Ax)_tnBv;Yj-Ha9@HSdPv;2`kJ{jV3o6gX=U&cP`;`&kR!7_7lLgoM-MI~A z54Wtl|4a?lrHOy3-UV?fED|cAM5aE8z`<#{y&%eIko|@`4B#ejScMwe^J6^2DI}kp zG4b<C0`(9JqQD@nd9k{WFw~KHd`(KX$f@O=GdEK`fz8S){C34i<k$tYMC@4-t*WSd zYw-m?Wb={&6nB0_I;02BsBLv<MQ(|kSiuV66n$t-&g=3>@6;1?BJfDqKv>1aXs;|U zcC`l^uWfU=W2MCzB=t!Nu-CnJHmIYdZ}99@y=YLuqXvGg{-B;@^2Q$SFYzuDL}WIF zN`vU6?@gM}T-Kb|O$%zjzHCIRS9@OKQNjRyAl(<k=rvDOy2<*BHrLF=U=4?oXs04m zfqucZ)eRe|ECgNKOPYMMm!r!gX9xJ0!wB>&ha+N@Pg-wQ)*w)=$8fs4Ii$pV3_^GO zDvHTTo<d+sY1dgMd$l+PidEQ~A{ZoOc=$nRH<uC4-)LvQO{R4GE#Z3H*Jw~O>GD(# zs|!F#@$aPlYMnyD&W;0BYZvv9t(gs%PpAn0$exISPczE&*Cb1`3>5>}fcnhT>Z{pS z<4kzJu1~-`jC7Q|<Vn!1T=s(=Vyy6^)=U~_9v2d?86tG-o5`4=^MyNO{XPn7jy$(d zb&G%FFpX6rqN_nKT6wp19xx0}T5|3W%^^2<JeBW6;VxJ<GsILtrM3d8F$Nh1&`yIR zj(Q&=mv(e$bq0dR)~0rt*)CK_=LsS~(1VltcWduBDJ`K;v2@7B;m2qh-{8h0mnALo zE4#Hy>rf=ITGT(sutSkI(z#6`W0z`t6v)N69-`_qrfQ(5^~)9N3r(Z&gl5av%2-$h zW)pN|G>grf;5b5}Si}cX=6n6$7%RX3W<;!H9RL<~I`~AIb>yn=e?<gmumWLHnK_%$ zotW$lti&nh3Q+$AKig3t&UuUh=A7r<5qSKcD>^sT%SS9cW2~05g^v`drYlf2r#U3- zy%T~0rwKWcDg~)VT>!YmGhJ<EX?)NeBo-y^by8^>v9XhPH3}6iR?+yWzi6pjV@1^r zsKk{`L;j3rQ0*c)a}S9!L3bi_LL=fm5RomG7yIi_q&Nhv01(1pluwT01i8PN#RBQ_ zmhWD<5_wmEHk7$p270mWVn?{<qOvCi)VHJ@`BjO45-+L19l;-K5{6PBWrA(=1y)|+ z&~MfiTXNzB^$Em%%JbUf02OodZ&h*5pkVytvuTli=8rJjD=&la8yie)a7CCpImVX? z;<5<(`iLRzWw&J<ZSIYq;LaSxbW1GT5j%d1eH$zsVr|`X<#yvFzAV8+Dt+W7lodLr zz(=2SzVFx8`3frx$^`Yxs>r1Ihoc$PSfN;!zTX~#!IFJB731b}8x=e8^w~sQIt4sm z1rTw}N!=3=n^#x>wY-<p*;&L3F{4ahD2g>?o~|cmuAu-nf4~f_w`8DbQw&25^S~v^ zmR*f6-m|&yRAe^pMB2zT{bN|Gf2pydmcnbf)J<^On5m_y6tb|zL3V5UM}8xn01Db{ z8ol+GNzpkST3*5WnkDF@G<lq!g)or{Vps(@Dt)$D?O*~27t2|53W+gVFu>GQTbEP5 zE^~&GHB%5PTbuNHMUFd54*i2T5&vH9ue}sL3OyfHu~su~OvpVdZ!+5gta$)cc=Bq@ zy$?5vf$Sl-a&R9vj<-X<p4vur35-W5)0BY*pEVNRu^RsSk%&y?FFxt{UGV?}RRSFE zqgfc104F1*NiN+n%GnG*I|5p0ECIw`AvDbhWxzlqdS1mVHqY6;4+vgT$u*TgS8l#Q z))fK)c}%RBFj}ADo+Zi$HoFSO8-(2kQHA<Fp7VshB;kdDhba*Ar|o8uj7^E3g`6Ns zA3n;YIm14O2yEZmk?`$p&;SdQlNy-){G8fwyX>i)F&%m%JIsW(0R|60sB1&F0M(y9 z_H&Mnu_|uEADmo6^Wy*Ocm;2MJCVGl(AnbW`~_P~MTW^6MO^iivw(mW<C(UfH*r@) zp6!DkN3@h5SmjiKNI#QiqM5yN!R$eww81ASk&3_|sdA(nKgJO0Y6bWp_a&p5NGxJQ zZu`qQo6R~>F{`*Aj3Ve3vyyqfJK_v10{kG8qR~N37#&jMw!~d24O*r>7#BAGilgY9 zp60@JIQ1&KqzivOP3!Lv2Tcz-Qm|5wE?A0QI}JA!%8dX9m=pCpY_>nO2QFCuoIEeJ zrqUb#sc?r{$)+)!q8*Q1Go<zoWq65gM2i|+^)rj3lY3cpP$}j3TWiHeN|Rwsg3?&A zoyJOZCqrS)t_4;Z{&8ehLO>cJWRN`0xFplK=F=7SZBPy0sXBxdIk$_W9#G?l0XMLQ zzn-KT9vEE6v*5Dmd%Z-Z%WI879LKg->d8sVA5K%=alNuF>otZQw3iBylW5eZPI2aj zu2@=_|5n#yT!b);vr<P*Th|M*Os&~7AOWX9K@YBpCt4n*?#uZViWK54?XUXpmz_Sy zOF%0M0p6ozvOnv9f$x*pZmDFAS~>ry0-@N(ck6mWN7pq*)`9p8Z-Y@S`+Xp8pk}^f zIzDewQlMdyO>{+CF>aOPq6y&E^x97IfO^%hSQnxYoWC5qJUJtE`1zfvDw4d<c&^%S z@~nf-g#|Q+ZT#&*wQs^>7D9Ng>+a4U)4ad~n8)S(K5hM|sWu;Z<Cz=P)EUQxK2<&T za)pZnIHcSnU}xhF$vCnV86}aF(#i4Jhx^th!J^0$a+jcrQiF)p$0Yg~G6?L^V{g+{ z+RUc4FjyeE3>df&UYty|@?>gP;Wl&27$mtj1ZlGoMnc2v1&Zr_msKRI;_RoKs^U0! z?8`Vj9pJ#1X*E#PSGYx=9b3>I%Kq6=p}`u&mC3_3ZTQ`R-_uZz3X07@PX)N4a)jk! zPd8e7#LJoXktyG5E6(iJJg7TsQggZN{bstm_()sgF`zq<bmD55!cJp6DzEXOQUA(0 z`N^Ucy*UyNU-H$LvqfJ13V&o?`iqA<!Gg<3ygX+bP4P#F5hh5E=Ifjmq|G@LrW?ul zIhA2w07hkd?;e>+J=!9NdoY#WVVkR(qJ%-EWTBiub-6)6j)u28Rn}Mp!M{ej2`J(A z@le+Io0#uBVm<W=XJ2_6Ta-5brqlZoqfffKgd(}ypz?0E<?0J6NGjcE8){DGjr}A> zRv%F<f?C0{%y-O%l~8K4tEFeq7FTIc80Ad>1G3(F1xG_!Bq`glWs1Zc4Q(>mMlf0S z9c#RZ3gF<IRmxV&;L4~uqbE1k2vG@1-y`A`Lu#qSYEg&TS`}iRGhGerIWRXGpl6Yq z`SaN~LSgfVFUp7UrIMXTljIx(-q>ZHy6i*?D#RAe`yB2^GT~4=ouF`cu0n{-w8$+7 zT~Qz^a4nNDA(+zEvx%v??--4QHEmC8h1u5WPipkFy4rrGBrT-MnDpD)PGV{B`bRif zHX5lQ7i3^j9F{Sb;1SK6Yh}2KA=`-BIl+Q8G1RBYw8&<3$}782N9QY0Sn-4Q2W`Jm zCO00qn3Ck+!;wfw7w)(#aeS{>WM-GSCSqKwrQfVA&pRJNS_iLZq{YBR=W8{nz2!N( zQ)FR{;-uCC_(0NUBNjKU!dR_5^q1H|k~OG%0FGa-{ln%Is5jPlQ80fzuw3GF+5g1} zJ4NTG!~sP=n!lYR)w5v9Fb8|$Zw@jrZR8+k(?gkGc(KqaO6x!{|MlY{$l|$GSRP^# zMa`=Kz#xuluC=?|vS05rh0jJp8ho{MxqXGfY7gNy?)sWb<pT8cNjEgcJU#|+Q28K6 zQ<Jl#CL%d}DuI}i5D8aZGLfS3)T%6#i=A+@2xG-$S59c&>d@HtAYw5Q359oMb*0fP z%q*&)_x#PDymx_tARItq;Kirvg2CN=j8FA9S=e9lld7fM+>!8k0KqI|NY8K43{gkM za#%9RPUTb80M3SGl_E<y%pla1;K1i;orHU|<;VC?v36)<Fq1*+_f-3DXt3#2daan< zW(rsCw;CI43v>{;DlI3s8>T|-Y-UMZEP}+r?x4<L!3V!zqnM*as>dV?yA<P)4E^dz zdC|j2r&KLN2I=mC%h_Ll@ktc^(^gDTj9R!<(hcA4+m4?<>ZqqRVmY!7Q=Ia$Vw5kF z9kFo1c6R8OlR8x)EOf>x9s6Y^TZ<$Z7ASAPtPY1fb5B!L^h<sge*WJ`x~uY@T?*BT z{vcRXaXn`)nq33|i@M_5IR(RzQii3@Q66G=53F8(EphF)Xj!S45N$J&pq647e2glC z<_cu#hNW)ycqH|#Obl^`tvfYD$XU2b>-vx^2}KcwL#~UNNsu1T1*`%ZcBx&Etq++j zPOh{$tdz!7tvUI!0lRKIjg1Lh2TJ@kzbIQz@z3brd#(>bGq=Bv=SD#&&Cx3;ZoGI^ z1S%EjmIfh$eavp8P{r@&Ul_$iy^%OHvyuXmMbscxurDNH&HT!yNwiC8T07}U+Ak7E zv$3ERFU?lf+I`Xq;t*AU$j7<d0vPYjjE*p@7l!!S>a|xWgiR14iEzeQEAb)qteSb4 ze0o~Ct!fbR(DhDZ9t=QgU~AYIe@x+{wu^>*8LA&0g#D>CO-YE{01fXb1U+RwEP2hF z+rSrK3|UabakVHJG2j4ETDM>oKH@8B-OJ2HM^&2u<sDXco%B!tkwOKe)F-wM8GD}C zg0%GvA6|@l)fZ&fK;vre5nrSVyshTthz3I_1PcCI9P_eiO%a6<b`)#K6!%FL6l`ex z<ppM9^7$DyH-crPK1z)!0XON4gi)C8r6jr)6^TAU#Lfyv$&BPL*n?Et-ep@qLfvLm zkv1(g({jGZ31lf(4>wZT(Y4VU3i2N?TXlxK(0^VQz)onDtuOjJbY4%><B+&T5Mjrl zW(F!KXuzsg7MSMJQ&7jBG1GR++3lSr{W<)Sit20P6NuwwAjat2Mp}$Vicw;P?d;4o zs`>CrjFVRpV&L<&Wx%1okv&JUTqBWy?L^s{O&lv1e_)X-cF;u!9kL^1r9Z7wUVJGT zmlu}Mm=?A4aDr{Y|F~p33Nl>pZ^%;c?JiXLVJ9=&gl2Ri+=iuQ?Yp5z1WGK5{%8WD zDgO3WehLy`8~L}nQZ>Z@rdIh^2^RZN80JxO-0O*$b=rsEA)U5(tU>%Q(lnj5G~}gJ zwC9R}6_2@%SxQ;$?H-<y;kXihEZj?$^XN$e7V>s^C(_##=TygBLy4Vu<dC!$$3bal zS-J%|$ISn1Ck6EHFtXT9?;9}9)r+H=qO!m>)iEoz=A+h-B#^RnHg`K&Smf?8vRQCM zB*)#iajmu~D6uM9Gt?MAF#Obja!<+MiV~d-%JmnT)gUVd<bJ!fn29pL)GM;}!)Pu? z4?;+x=C6#Vz#avjOQS2#*>RY8Txk(hFaF3O@SUsQ$K>ks?&+Komsi%3I%R-~3wBbf zse1B)0p!}$Xu9+&M*gM4CAwo*WEV(%bW&_XqJN8K&N&F}5?9Lc<=iEzp*{FwUygK} z`3p+DlOd@>ML^hky~G@f&pUW8XwCF%QlXS$RXdqeeQiW$I4%RsF_Ood1&X+RBiA?B zV+<8~pH14yKuA0e3KIqRniRB4JKf<U1m*}?^hCX|``^P=S-PrUjWM$jcr%1&jhPiz zs5R|YS=<zt3}y|7g8O`Xd^8onX0gtTBP(kO*r8w8j;}c;PpT2=M-pVIcUDKyr%Pzy zm{P@{8>29*I60?k3Dy+_0DMFC6l9#{Ex)yf<<D3S?FQtP+xY8gEF>EriHFS)EyC#c zaYsbi$JjNt&L8uS9P+ROITLl&Id8?hlerxWKRLw1Zsc9;#Tm-1$t7NX3;JO}BrEL- zzlP)x;>DK0rx*xDtD4#Q)0noDhY)I&?kM^_`NtZ`0t%jiN6G2qg%-WQj;E37DdzFe zAEqk9=3ybZun|mBF<!w)QWmIqqs!c?CoG?*!`$EWk{|dyug<?(_V63_C;ba);D^j3 z;|ynS_0?A7=ju^^R_&|NVRRwYphfD`!H3kqY%pteHwh*NNdrBriEyC5o|i;jP(4Lu ze6dJsQ@UFSVwGcB5kxgj%#(89Uc!5Abuxv!M^^pzRZy@Bb^9e?R(E%M49~sT8cN-c zxu9B`G-8rb3rnt`l~zeXVE-ez0_B0lnVU?`78ksduB<S>m2A{i4=#kNzy|Q(Pit&j zVhwy(&1eDsGjSST=j`i<?POrKfIwN;x}?Z7M~EXyQO6|c>|#&r`Yt0$+BN^lH`hg3 zww(Hng5b~AtAv@S)U_LyPQoDC#4z&}Y+x|UU$4d0kA7~fHM)>QuN9m3&ZU{^Q;@b< z+MQ`SON~{lz}P2O$R)jho6qyqR9iI#28<`$fIP-O<x}UvS6tXjZli@8Q#c)LpU@s^ z#xyDP7k5I)tVzZ|6qR*VW7~)A+)h}7SqOJf$UlepkbaLMj7QUc`lJ^uh_Z~~DyyBQ zy0TSS(WFB9tqzl<aPmHNG$txOaB~_){`}FE?gh~xp}B}SjH5A>x82{R5o;7SF3vJ_ zRY~ZSosXg)`@L}=tGb%$7s?%%ZSqE%fS<}v^;AAAWWDlK1vQ=~Qk$kqOoKq1TJ@5O zrA#W@YZd1^uyHc9l4nKrOApD$$l>$Q>-{bRGVW5__79>oPey;WbiQ;h7Z%r(65^GH zP#oWHWZjwR=$z1esDo!q#bvccz8=fwU@lFMssg@dG>L%w%i`dj%3d;C*iy*!p=KLy z@|BcQ5=~<T#rAIy5o`Po(~+K%HV*|qOKB;;PZs5nsf`?_eAO!nK~AVlQ&a=inhQ?& zaBr_@KXP<7(|J#K=3t9!;PKI%7C)LaO3#KvZ_cFkF+gP>BavFY42trXEGE@nlBrM> zcR0M#w72<1b~3;xo{m3DQl$#vkA2iAWHH(^$vdhmFWQh4ns2Cp;6a(3gQ)xH`W9<# z(2=?4l9*g{qY{Wp*%zYeGAFuAv}{Wz@M4v2C|L3U>g6aSzpIeQ{d=zT2z?|Uc}t}^ z1gYrrfR}6)bN8|)q%N$AG*M)0rCcIH%L)tJ%%UQhXE}iIk`-iN%sKZD(P8}Rq~+!f zcozS>@2uTBRKo`~6tXmfaNrSva`e0ix)Unp#+Kr&1WYq-hIPXs=oqqwk1t}h)PJd% zPqVk2lu(CL`jeukW@2F7pd|;S1+m8?DA1DFevE;J*+bqFx`rX_XUf!h?T<}!4gip5 z7}*u;(h332NR;e2P2@-<8C7_kD*I_)ENK7P%^grHur|)EV@kElx7)(Z4$^{hn^(9L z-H0y$bfsl@An)#HX|2PWMKn<s+SW|yAy_U%S8ZN<<%hsOV=*&NZU*JF4Tk5Dc>Z3} zgs4d}Vxdz?Q96L#@T39Bkf<B!(SWH%!i&>r>ue@}Dr%kyO?lAN5J5f8g@XD_?KD#^ zwvIItV3uInnc)`RB>`w{AJ2_?SR`px`tLHF@~6V3?N7KVUhQQHDvV0cH5)rsnGjTA z`S&kw#YDU$GzsaJrus#l*p`eINZnbRmV6MX5j-v4-j2<ebS6211|?J{NMK+cif>oD zv00fGR%i^3mlzGjr(|&j+2s6`ofF9L2#xdL>~r?34VK*MeldazXHwL_L-RGweAZW; zQ!Q1+5}=2Pp(MSWzrI;~s_G(Pe8w7drz8G%@yWcziS@8!SP4^;tGbC9h4h}3J>5(? zHx;OIE!67!&YixPY9GOz1>d?3Wh2*yL|j+imh%NR=i8@aU`)J=D~0qE-48^&%f)k+ zeTHL7Q=iLfnZ4d`<C<+S2r$mItrd2N0BlyGZu3UoN-HNMukuaw)UqB)AXR>fG~>-> z$_7$4Evt1hSe^fH06?;Kq80izM8$ICA}x~Gmw@&Rb(8tGAvQJyWkorG*iSu|)CK_p zQ>gk(IK9XiVS!2>?AFd4G7daYOi(s&jdjO<b&ol{lm6y#w6;z+$GV)$+>+s8>1L+_ zMR`aW{Ty!({wg11-Za$~=Fb!tE!h1Hc6le;uc;7>RH$|Y)OPuLK9l&7dto=UhhY%C zE;&X>MyU}WuqHiKw4xTnNFKS#CHU7&8!&ha+zH^C4R;xlAa&B3KmbFs)$<@aEsOP1 zTXR&a{I>!wA=xVJg^6eGO=gQ*%hMa>VKnPR9r)pZE(3v9nQ`|`>)<}0Fd)+%6&hG? zIxR}U-ihhUqxE_fj%l|4=2r?@990KRf`gGoKE)TBIIn0R+!BKv7*+olwzZt|FoQdj zuAH{|#SR8SnklDEPtF|vD8Urf?Wb0YD;2xcg*xGfiVQXZYO7=}%0q1#i1Rl)T)x@v ziR|~61(d%K2tl6vX&4h+t%x~RpAsO59kmQOKh2~^X^LC>J}LfBCx;$gh7JRVTGo>G zTkDfgHBV3R^pw5dmnjP%(Nwt%GfqGM@Rl%E<Lq1TsavJa9R_F3ojRP8^G|tr&hF`t zOFwJJ^o1wWDizTim4nUdS{<F9D*`363l6+=3@~%q|G((|bp$Lea}$~#<}*wZsYG7& zrgC9$Ylm*e4w+k5vLVPnoHYOZ1ODpYm_(FONu#Z#Dbt{1wR&;s*$$YPl~kL%v4d!h z@G#*<K+qEw)Bo`m(Qpbhec|%bC+ie?pONnV@Z70~@u4*LvnJB1E+#qR`^LcBq51!! z#{glUwyQXu+o~TC=TmcDe+D5ob#|ksvC{r8ytYAj^3V4H&N~nw2yd|$k~z>C&C9?Z zwtITAf19Oa4^LZu*G#qYWl+tUCTGoj=_J6}+^?--A~W@WFD6pY<G(-Sr>UlTgir#r z*;Id_qU9pjIr_iaL7#$1nuYnkXmeT{1eGJXW2cx8k5b%WY5&(^=uto?ec?5D7J^>f zZQG@v*lf^>7%8mI51%jnp5&9RcKJEVe$ADVb89eZs(?8Xq_X~hl>-gzht}7|K`DYX zTwFUYw6n~>a(@<#k^dTG$JxDVx|h6uYDdavF@2@vu2YY#T8Gq`e<O42@bTpUAg26y zy6uP4>w+|zN#CXrF_lbH;`x82zTg@dHSo4y+srgM(T{Zic*(i){U;5F`~MYx0|Vr| zdOuYXY$`PGX-0=<vr<jE$P61_{udcsWBzbwXE2*2d-%DfcsQowlZTx!;B>(9-{6=4 z6+bjG)vWyuo+x4Zx23(XTm?c?pK~BAesF32-|(5xoMh_v=x6ZFCuv3V<k5K_Y~c7c z=o=0EFZefbjURw>H%K2K<gP<1`O|}T-#hc7v;9~6|8EgvgY=J=jnBv8#sXaw=2M+D zg%<-A4E#UMlvp}G8YVRPEeZ=7GB!3RuS&vaV;@fKYTN71O4kD3N1o?XN&n5xlMs{s z#_PE#B;EacqKkHO_h(vcQ@H76?Vbd!W4=%%@O|Vkr+fSTcc)Lgkw2X$piUeFyjV}V z_aSv41@So39-LnGJV5RFzihTW_pY7pwMxGKlk$Gv>Iu9`wDx|m+RHZrddL)BJaz;c zv(!vq%*O-W>y7*|+`1i;)z+1B<gw1p%x(O-jdp|tB&XNvLGyoy-1LEkd#^TPw!Yz| zTNm%^0eY+8iw?&ot&jFv(9U5=_qMQ?0ddwopp=rcJS{Xy;uUPr=hIm$;(ONiOuJi< z7Z5(5>GW)em`=hnKL*NG7J2(a-Du<xXlWqy&(EUZ&RCJnd9%F2Py)x8cS~p8d~)Vm z(!h}Q-s(*6%}<|5B(ClG3B6rwBD4GMq*BE0!*ki@Y2(j#^bt=XmcaUibdS)9$1{<O z#3PTuphDJ2f&Qm|)^!dd|F&kaVg?8YKA?@mBX9mK(SOcjGlOuE7n=`FoyE4<(`&w3 z9)(ECe+xP5NE@!7y6|GtYU`})hb4P&u759@wH!$=MwTx{BFnqC{9nc{9jE8fryrB} zufSI=JAuLjhNKU69rFnTolk$>*<X4-dUaQKf33aroay!K^gW;SC_Dabc((h<VO?_! zaPIjyWR=eE3TS&j79pnhd;xW|wxLDdpZ9F#T7)}{-MwFJ;dOZ3t8MJ|ulw^RxP9o) zd%oc5955R>^Jj^$mJe*d8^;54?*sC48*+ZizsOF*we|^_3gM?w385GzuAO3q2=86U z50x+IYmGS=0$(f|nHJsI{hU92?We;Bn6kDmUS8ar2L9SHqX%v>ix?JwjnBU9_-zi< zUkM8cUg|c0SkW4u&aa{V^I+1;+;C`Zd7OV(zWp8Pc$xV&`x&z1KWTKd%Y|Yi@ag;F zbgErs<Ev{+Eof_J;3;NH?7vm+(=)eB_3`ua33=s3)W%M)8IvLxjVD+DU%OC9PirJ# zN3h5H)urpyb3T*kpNB5t`~Y8V!9>r*3**}&*s6zA*tq`b!_FT(@A084zB=u`@p^5i zE6<x4_|N9=YvId7<NI?*WX0lp&%DE<$a=$F?pw>f-cFzuVpq@i!Yg#}<mC-{jEGNf z;KOGG9~YfdV<y%v<B*rAr;W>})Hg?wtv)@M{l!!xqX6&OKwX2Kfy9A}_dD|)vBwW4 zWtY2Gc;B(ZB1e|By~9Tq=Qi6#!Ec{q$48Tp;`^pv8ll@a#Z0y++A|Pd4|nF<<8tPQ z9^<fuxBsKHE}VRr&l4*M_#sf6Lz>ZjTlm3W3u;S#eZmS|+cVOh$EyA-Z$i%*=;MYE z_n}89QF!(K_VldW06HvwN$MAT0A6wpJewM3B;KEXJa5guN50VN^JEk{2pi(9UmEM{ z7=lkdOCLV1NZxXF`db2zUE-!iM3^Vuu9V+!{(f)z`0pdKOJ0vA^6cvTV2V;It-CC5 zTMg1HyBAX1CwKA^t`|0TnYt<<eja=Qdh34nN4Ni|>ZxhnyOU0uh~MI#@#^wzZckv{ zncXBCx^gp1m17542g~q0x<n?9ob#5gyZ5m$97#m)G4$2)&OA)_`rAv(_m?%pki(9% z`BkyA%R{~d>iT!zI5*)Q@7v!SkNJnr#^>#U0XoK8MmLWs5XKHyU$yb6KF>$D6f{-* zZhq>+)=9V6==Y82n1QeI;(#BU#w$I6tjK4RI~O`Y+rv)Q3!}F|;cHXX%jNx>HzVN3 z`_|><rNfhze)@})kFTqzr*BJL?^^>a`oBj<!V1$`&>{Paf!p6><I_)93ztAL`Q(=$ z-^RBbGb2gRTJiQOZFe@D-On`b??AbqN+eoW??D}bXtwDM|Lh8Jj9CVzFANU=@#B}K zO~Qh_EjDu9GQZi0h+-A;Gu$SB1*KXE5_^95Jnmq%p!HGLfv(UL3nX&yn^sSo?Tizy z80$$e5cWJ^cC1P|Q04yp@H|$&D0DXj?!X)Qir9_-IxN>CC44;o^;zxw^?tl~|26;K z$1Gb1!t_R0y}z^4N9_~orjBs5br0l=3=H5ihkK7HUGw`)S{(7TdENGZ8UzX^hF6(V zaQ7!GHsiOf#yj?_+VNb!>l#Mw3<&q=Hc$CqboxGgF8btT!d*fuK_uF1SAo0@AiS3? z^uTX|#~9kA7Xx<&&hFlW14o_DfTtq?ac`>8o7vbv7Efab``>TVwcgLYT8?lBL*Ua{ znLPBpY%qhdGwHBr=I+wr<E3*OJV&J$&xp5N)*E!JUzC{n-(Xj3JS^Kzn}EU?pfS^3 zlEsc+tj~kv7DeBigC4MuG-RWA>C^pjUbVr&hUpZfEb=KvANsyWf;7+FM4b3!Lpyqd zes+p0_vFaiQ@+#svT_Cr+}X{G0dDbXHn4<W-quF8O=-Wn;rG2ebwRLpcz%|s)p34y zB6)noBF6reW)5o9*HjH%U0K%?a|6RjV5IOoUZ0jW-DoUi=7*no)u$h)UZsf8t&h85 z3@f^+tL{Wcr0{j|^m9j3i1EAaeQ@TVozFS(@jAcsWEfc~68HUTZBe9<7vf(mHTC<J z0PfE7U}RfN_Uxw&y6|<2ecdgNNMKugJL`V=^hKTH#c*eORwWp~#Y1mlw@ibd8*7Hv z*2<y*q?XAXP_6|jXG(hN0u!}XF50yMH{Y%|mZYB_8?`<{JG%#|94d+aLAVNptrdDS z6x7{;-bP5=Tm3!mMpECF_k^E+Ra(^TzFyDc#5H~#b(|gaZHSzUM7BNq8EZZ!S-ib{ z-!d*_X1&?b`D|#8o4e1Bt#Ma*Jw9~M2R_EU3<PfaBjkLpV}bT)M9um9%kcF8&O;uP zoz0$X#mFsDEPF{!{VJ^);WjP2sNs-sQAeBX?0~;g(22r3o6<Y*yBN|sK#{tgHSQ3W z0nd(K8SkGt-G%U5qp-ukLMGb61!PAnWO2WKz^}c+fbQbBaWFdTKw3u6m9YKxlBdA! zC(G6u0r>#%UuEW3g_o@YDQ2%+UILln9n`@R9DY9iNJ{a3nuI7#%)6)?8uYEEm1}<v zPO+lVyauiueCt?Dtpe#CWr71A^>!ve^B?qrPM?eADQVp{ZAU`}&Rxe%<A`TrozU96 zqi15kvxC&Z`~AhgBfQA*+m?}~UDiK%JvXHiajzb)5A$sjLaV2^UZ3nyX9VNzexKet zP2Vxr)r=eJdLxG`B5nAuC-<Lz3kwAFu4;zH*!=MZYl=n7XQ|FO9rKAS8x!-&ALn=K z!N=^R&GlLH@DJl8*M5couvMg^gYgqI>BqGe{L|)^7e13r|G^(1$+$)JXIKL5?}y%K z9U9jxq|arOodQ_91POmOjGS}xMqj+XG49>FM->$oT{)%DS&2Nqb<8{Pm`3yV9ekpk zJ`01LYk6&}BcP%$p%~X#ifw1VNw`pGc;A`tBD-I^?}N+V9YWl@m)<vf{vzbOYnK;F zFd!eO9k`t&3sT&hvxleX%)AXYti-o-&(FQ0tq%yUUmygZ`gR#oWwCUKFx0nidW`cM zA~21cCP3Ey8oVJL0}<RZ>)ZLWUi~TT;QjE~nJ?_UdcBL?%0*85j4yF;dVE}v2qZ-R z?(ANgyGExG=?)4yvxNhGum<q_Uvhlf7!%|Aa2lH8ui@sr3C@-la*MTDX(C*+lrLiK z{$G0jnY*`@g1dyB62doR{C|+}2$d@U#IlHN3|{U2%g{f;2z%a+5vOr{MMHugpDO}$ zJj;zW9XuV+LfrocGkwmQ3@m?+fT1;;h85$2t%u&S78*&TDI6#Nb>=6GO8|yF6y!D_ zv1ZBmRd(jg79i`Ga|!?ZzXbp9nC3q8{Iwm2MKY1J5bGJOeO=i&KWg!nyg}b5%n~Ux zs#7HU7uWE#`ktPd_X27~)ZD7m`t}nif+y4GKS&hd*w_8bWBxuk@EjkYp=VG>FlN0q z(PT}0$?JT>J@8))x_V1}^StbaDO!iSNOc4ELx)<eEbF{Q_TJCZ=?mgB5SH(2nesNo z7aBT#ecesr={f?;=2EEHhY<bl&%f*uYsaeWrM?4)X;3eW6;)j0%<mhgE}_?wIQ@;i z_Wy%dfg<%JPH2C?r$?UbAx^m&iJd+egv1=B<ytF{+kyXwR$k6Pzuf#jP1P|or3Gb} zP-ESb?BTE$!@~X#+XYw|)D`yyeiCSQZtayjr7!--xbt2t%~G4SMgj{vS^f_IMs*5k zot+&3IIX1@YEfz`%41erBkgozrZ@hFN}IHL>IG4>KM&xF$5TRH&~UCK;!w$H7^2q` z+k<-Z&i|{cA-xkyUAfPWpL<&QFQhV5>|Kf$x8C5$uk0@_-T#5Ejt0=`!XDWWy0W)9 zm$x5sHU8lDxby<K5Z44?WY^jMp>s!c;7G3Jy_@o^_T6AEG-q3K_=SBxJ_EY!2vMSy zK_ATOf6uDx;E4x7mZv&%uPYK{+fRUIO%rM`5!DRruPY?{W}mrip8{Whef-N7u@k)i zjh^^^?-*Yx>=S&^a6nE(tU)sHevcwp_AajM@~C6$BObVZqu(JRPlAuWQfS``3}{#$ zy0!M=7zaOlKhF~7BY!OVJ-Z52DBsnQau;Tv{LT{$4G6QLwR)X;WVw;(o6Vd1=@)Vy z@>5VablEj8pr^9_Rh{(XhBdy~)hxFV++f)w$4wLcP{ZV)(-33VB9^cP{l>c&W86FD zdRV=;tbF@0uj=@)-N2vcb7mZniC0tlr!I9s<MHe%=Z~N>$L&h)q~|x)2Q5;|J}~{y zHKP6M2Bd*(0u`dSxwHB@zqe9lp?%NY+xzc&5Xc3K?B)jc1O}SEYrn6<<kd|8pr~N? zsrEj8HVB5uzP$dH9e%&I@ZZjkcN3d=t}e0bVBf9$3w$2ibySn^E3~cr;_vF<@)uCE zY>1Bwi5uFtzwd3^ag6GT#9k-PXO(lscpb#@EBB27;}<(8&So|FUcmV2@vZvyo$Z)h zBC7zRs9o#L$z$40BZ+x|BL^^8mRReWQt;X1c=ppwaJeTsvMist|LMJ|!_gstc^QA^ z*UzQGAYmy(ku9~I`keRt8=F6`PwU^4pxHHohW~z+Q?%q4TqAo1#P;5L1H5V<&$hlZ zsElkp0V)RnaUcK25GFL$HQ+BFgw2gBiE~m@UKc!4fp#RVyqt{bvi%L&4Y&vWTQ#|L zFSZ{rc-t^FJCE=fkko@%sL%6iQ;gRn{L!=WgLZDtsC{pF&z)nFD+5KudLusIW;D+i z{52Ot>%i{GTY+;$(f9jgN5R{-$)fy)*M;xvN*jVf2fp-g%RClC?pW_fK-2(u^xwxQ zxGbeGT02*62H{YcBF!gcZW$G00tN0xzr5M86EF(Pg?i|1)JKC!0}nbM<m_KFK3RFV z#u0`X`ZR*lJW+kWb8XX4g#MTey1Wql^6Uj$u4b?lV@~tt60I-Vi`d6b2BhrL-B0V) z^yz16Ohr~H`if}Zle-Z9Y(kEw_#s1;SoY%^iO|ENjUDVLU(;LTjU^C2O2Wt6fQI_S zje#9~@kqSJ06^f;J`A?j)G-(bzdrEDbWn;7N6M@%Y;LMy5ZjXm?Y^=J3{Q+9A!4)0 z+;IE2M}b#w@Z*vNiFZ-AGo7rai8=Iz>^e)Sm1_#|8PUB~$*dc)R4jb2ezH#O{ix{N ztFF8(4Z_oC59?=n-j)3%U8{3xl4q*XyS34}xGqqmv1?5QDGna09<bM0=@B<fJXdS6 z<CGfax<0@XQ|E)3Nl(WF+VS69Jl22v);Nb1-4CB62<ub+ArAfhyFJlqW6|69)Y;q& zRg;<&ZgQ0d<uCe5;+|Gmgw6R0>W?w6d8mpT!GzNF$Ec>6@u%3PF>IxZJk^?6)w1-p z9<@N<yylD9#98OsA)>P!-FpwT9d6m!))wzPu@VqaB={!zUaC?(j}BsjW<@(bKl?&3 zvHNp#P~W!t9#N!`a&)XzKrGhCiaZ<q@MReFQ(&s#AsXz#{YdHmZ*f|~nOp9_n%nR2 zd}&#Kf~F>Kh*#ycIfKE2hGmItT8ke)pg{!qTdi&wmx}_jWJ0HAY++@SC%LnvMiLCV zDf59lk<BMrb@ce%tJb9Et&%>aQi3N*Gyy7-v{?5h+K_=&f}7h@L0)8^aH=ECRC&aa z%1x6qvR24zK`+_4bQgNeUX0{nBKAQi6o;4VNZ$#gP61_DU+{Npde^K8_0{rsN<_su zx0#C<*BL2A%S=SB=sfEaS=kDk6NkgmOVpCDSg9HaRio#1*S2SAY$mt_kvrXZ0<>J} zQc5H(P2xQS<CGL@R-%?BsQ8gaHE%ALYI2l*=6p(R2y&W|A%9G6x911gq&3`!EA_$| zmZ=N19;ca{r);SwhBVDSB^;c#3zdl*$e@~}kzr26wy8gsj^%8ce-B7;>LP(b9tX|Y zxQy}}LM*O%C^;@Mz9a`&X?q}fMT40%VoIG?Zm6lz5?5UEhQa_Uavr-c$l3H?&&ixT zmU0ZK(}hX%CU0~rfe;C)dNErdZAbRYYi5qpmX_*+l2&pUwMZ|szGsXc`{F;L2WI=o z#krQ0xiGbRuM0rlb+o?l-r~ChS>YR}{KIum0dK+|6PHmqim=UIb+4VQy2t?=Cbe*) zl=bbe{L04F1eXR{;<bopMWblDE8^S4!gn%5-#sgrs)l~fs#i8Jb(THQ+>=M`(}|o5 zV;phWC#x|CZ?ZXYt)3ue@ts6f<=eGq7rAwn027T?f{A~moon8~REv9~>qq*JRWzqs zra0lI+lj!rjf~^))YA(2es0Ni<{0Ejv%;Mu)cg$i`>g#vINOS~^U@HA?zbAKxhDQ) zs$4?=g=gH9x;}GmIFei7Z2^=Z`cbV1(X?*4#*@ScJf;u#kuh`qdI<s01IhGpF4+k? z**wnoG0${%gHmmP=}$fIw<}g<hao07ddrjyX*oh*D9r#fEFC#<-?`b2SoHF1^8LH1 z(ewk@!T<vfb~%lSjDx8!7|z_P)gGHOKbzY)$GKaHAt0Re6s)Np@R^!{%Nr(it{rk% z2k=76)|RvyQRYxz_zX{|vEg^Qdng%9l?=J^tAqX$YZ<$119`U>wNF=`x$i*z@2bBk z!pCXy7iZt<zUj!t`15E01RtgArW)<!Szm9DY1qAq2rCWgh?{&5C3T`pUG!(Qe8j-X zrQFk<1m{$yp12d9R1lj=Pg=9zqe2LOpG{L&xhCBhrGNcIu)RhT6Fm>Xj9=-d)=>Yt zYff^BA+9v(A0$80*iM@){vnFYvsONA)mUWs%CBY0dR{He;u&wzjXv|^yRTfs@eivq z^OFk+em<b4iM&0tGB?Y2JZ0kjQNKE-yHiA3B|dcB@q;C);X^XQ*e3rEFDx@10CD_b zB(^}0&P5uxZfH6OOq#nM%t<UF+DSHy9d^#cRB4QJdi8|NQpz~-j=;)~@H){+WWDQ% zIqpz@6Zg0#J!EQxN}1sM-bT?R_l_hSEC*)MD#+tg&8x*zO*#|zs?T52cG=^*7JOC7 z>u*umb#X~0WBf;&?+$6lOSVI>lx{g(_Qn$B1%|~wXit2i?#gv^ZM*k~VQo?4f0WzK z9DoT1!pQ_BsZ|c4Gx_2+r~-pSHAUCn<ywkA)~=KpX&?2PLiMUX2;AKS>H*h5^dCPD zu>AM)1R^G5*cxdE(S`oN7^9sm|0%QVYex$rACIxhaA&B;1p_Lx^J|*q<MuZ&>#$6l z8wv_^Y5cp>xYyfO?&9UnVx%L+G|#dus`{@I%m{M64K~XJamjU3)9~WgR0CpwImP6Q zaC_|O!PvW0-S$&U6U|C{qhez*D`R_*O$+Ht`-|ZqwX?3XWfkT6p|jOuW{a#z<$9G- zSm{OrfDO#jS|OH<In|WtlI8stOGNGX%TW3AsM^!PaUJiby7R-(aU<*&%ud|pAm_7u zcET@_7~t@(+n$r$^+@v@BC$l0+MlU%pY%GgG_xBz%Xf~&>!7)*Eu;2gg5ip|MPnbi z^$WFJT^ayadKKXhCXK}V?31r(tpvRN;_SRu;WDvF_nsfCq4GK|sS!ZPsh&gH7FsY{ z-#ASM(nAC*2zOQe_0&jYsX3;!v!+(}5GBU#;ykO8$1cJhK;?Q~uN|6QX(9Pj=gUF` z7dAwfMf=}0pN~e`qiD3l$$l}s^NB?8sj9KN+rg<hY3J6;j$Q=s?N5u`0f2KGGQ%pc z?-5y6piv8CEE7$!@`#2~2N+J(aI+Z?%GHpl%WFK{hO?TXDCUTtA5^p8O(vKsZ^Pkn zRw+zZ22%>I0`awGf+yyMfjNLJL<!DbX;j4Y+9oNSrL3CEvuaXFCK>WwGo}m@ZQu*J znP!~1VHdW`+miPcxrAOJn@SlpUsyST-Edg|v=dakSC@R_GDdZArgWpBECeG)t;#|d z>63ip4Qmimw{q09)LCqV7<NXD$KMq?5v79+j^3fQixMh6^;gX{dC0^@pEgKr$kceK zEI+>?hW1w8Dk*KlGb@Zhh*ohIOuBn>Dssw0`K%Wo@H`}$y6ASZ7>Yr;TLN+$*MbDz zPh8svlB0(jX03Y$5cT=!*3h&%uo)|#jf}mbvqn&a-<EpZWE@vns_S7#gO&=+kaI@) zCr(UbVFAX~*n-xEB@DpmvqM0H{J>Ucs-g8(VuxXb6wAGGN#v?SLERHx3JisI7Zrfq z+pQ<iqC1V{BSOi79YWzaP%vQ5)xaV6BD8LWY5k9x!-=BF+eXPQInsEL3qCzpkL+s= z*No_-uJWo+O!OS4=m<e|7;Zq*4v{d^D#3C#hM-bq_yI4$NmioFrp%8RV6>c)qSFaD z>V*|!-6Xz<Ccf*iFwYqYJoElNJ~h}m$Fg^a>LS8UH<LOQVt3KWJdxs$k7lkHrmQI< z=9aqY8u)lf!?8d{L|iAA%r@>p0%!S}<PkiIXH6Egor%as1#x0iI>%yJEtUb96-a9u zZzp+CQ|M`SdGCj_PR})Er|@eQv>VqWW(p+Ilwgp@9I#9CTz#T!#{Q#-$=s8P9D;P@ zMo?TihqW3hOgReDFyarF0@;>gE9n=&$ie<X16=B{)b$S<G*AfDq9g(>AowY;IT7k) zac6!GwdyqKAgQ;RFY1LYnSDw5qoeBykj}AjAmCb)R&NMvKw6P2cZ*dO-!AbsvUmU# z6&D_z4|g&|wWz^TapfnTDndz*n0{@1B=EI`pj<$0^;rhKwYH0+19O@>Uq5%mSnPF$ zBxX&l22CQ3Abyl!tqxjz09AZ4x`uhQ(3#SW2JV9JTyf&?rmpGusbPnpS_w6AA|PQ% zV0A-<)y(eNzVBjdhhx-2(TH0FT@eaNiobsY0c(Basc_AY*h<iqu-T7k2r1*DRuo`p zGpfDL3>B9LRUzC)VYlO4mqmMYy4wHbYh9RCl7ie*oRQoVYFzEUd@W|a-!LZ#D-EMr zC@Qt{L<(9=-liIi)S(Qr0b<Sr7U?iB?iBYjH}>L}A5JBJdHC^PwZEG$|L#K`WI3Xu zjN740WtJ|JHrj@dHq`n9#Rp2IoD~AyY4hxcOKLX0wqRP`UPMGG;$&e!UWGkX>;6fn zCRK-S=F`CS9#AmPruRL$cSj6rW5$Y&A$Ie{o`LAD5f4w2Wr?R_JxKAUf)HvNRAyjB z%yJ+bXi=&))qduntI!qdlL6NIr$X|SDO<F#okZZSyN@`@OI3L(v@DQ)OSb4?W5MTX z9X<TqL{?u=XqEw}_^m`=D0LvDex9a~vV&PLl9;&=JGeX;vVX%AJ6jzv{Akm=g}J5} zKr17oDuqlgmaTzxvx-90nhvIq7I>=%+PUFt@e4d=d@cI1x_k~h$;`__Xp$Jxhf%LM zv&wI**w9AH5u_8N2!W~$qS2`}ytNJvEzM^dNvnfYh(<4z5m88Q#BDsRW|M30O|tYJ zHjMK#0e{+S9C%f$8B)|XsE<qX9sJr~9<gKWvY7=S+T2}}EuxMdq&kD1*1|WU;R@Xy z`lo`gL?I4;CneXw`9x&c=M^vdRQJGODB#FLOMLuDA>)dt5*2-+@TzYT9P8U!Tn^^Z zEpCe}us5~K#pt5L=s}|FICmy)AxWMFYzDIpoX9sKFl5d|7O%32FaAIs)?z=UFYANV zu~27Vq-_>OvRo%U9}QCQU*~i)8m26f(;v@fpU@P~dFBwsp_DX7<TI(O9<Pp(Uh@do zn_n*)qH9=OL?_K)+ZZVmOO<Yo7P~JJa^_X%>_wfd?U#YI__OKZTxR$3G5;9c1u^pE zWe7!k!vZr~wXysMIW3ce?;i6RZ_?E>i)g&UVEAa6AO4>0=VB2*bXewcMa(>PUt{(D z1cH$zn?AF(X_*EU0<EkALNLA+0W>O-aTKsx)q{qDUd_Q#jjT3XG!DkBTo4k1W?}gx z)USB|T%a5`XqJhO{QOPpOC?1WM#(k%7pfS11ZAP-Rjs8JYi;oSeYUsKm*Cs8dj8iF z1%fe(b;YpJ_5}@1JXiyZa$y1t<Wx(xGpI`+|LnCH?d<i8`|0sHpr8V!PV0R*6!KTy z2fs2lS+Swg&e6^sb+oA=*QDuUEZ|ft&KI2OD!Pnm(=!+o^)CCX$&7vO9O4C)b6jE! zrWQv;R@_k>Qz9&zTuk)y(sN19jvRzCP^D@s#PZ<M@0EI1Q-Ktf**u^8sWeP&shM*O zlx9MU<eDIn;DliD^g&idG~7*$GPqXx6qf)g5KS8uH?%?q#Bp*_cV@wtY%ce_^(ddS zHmqZ~@6I4ytQ<bKr>R|&hRC}+kkP)4gu}7Cd2{1R)jEtvOflQ~Zu5zh@u<w-r2=AY z934`o<T{2>8fmrF+Nj0)93If`-<+t@Jd9M+0fYC8OWpdiQf@P!cctsXii5n9N^4Q{ zH68;})kS5`zp^1ra@|@`wbB=31+Of6&xbLst577bn&AII_LGw7%XPrShmXgpAI)VB z8BNo4?j-BxIn%_nVT@0%#KL&9pmI9|_p6B%MFpY4Fw7djGP9K&um2>MD?40DcjYIl z;>xn?Ufg(M*zMwl$HFq4^MLk@J~7xhP#ipfpBTGgM-tOIGZ_f6#Dh|kU59}bYF+K7 zuvhqcQaU=WZYoxTVlgXL>f*9YH%I5&1ZZby#$>Z~0y7Tg6>pwo?Idpmj|i;dA22|q zNioB>eTT$lykeAX9I<?z8z{V&2og}>9{<z1`KCIV@%1dpI?|e2h0Ig;{$#8o7)alw z!OIy#A+QQZfoRzn;Ed0OOIW1KvRd$_rSnmQ(ykDk9)_e2@l99kM+!Ho^27fF#Xvg0 zfzt<h1-LtQj8rEtty`2NI}2pnJ+LN^>(Z*=hUIlbdR(PCQ6c$qzE{|yqi|JqBS{@* zmLoyPAJ9GNakaIxX5_TPuh{~xm{<;F1|tnSE?y%s6ONDLDst61t~w4NJ+786z`n@A zNym8EXNZV&LQEfVsnIuuR-}Zjl<xK3145%IKcuw-S@aF9IgKxC&Wk`va!ni62GWnS zsfI3tZsJ?zudPZ_i2^1|G^I?3hj{R@RaP(6D$<w0m#lNX=E*_cj7lNIAk%o<MlLM{ zn+ZMF6Wg4q=SV5kEi8|#z2%qjb>=C(I0x2yg}5%;A<!RB%;N02O%h2MS6xiZDB}cJ zl0nwRDddo>b|N|=S;8ewJ~*r~b&FglwQFW{$`iQ0VrK>^FT^9#<7#rT#tCj-5qOL` z1X`~nt|nPJn!kgYN&;QXZRMEYy1Lv2)FVDUroo>}WEzBU)?Z5qhJj^(x{GibeQK%h zQ_n?=4<A8<aY?%)xbvLS2PQZ!Ayt<ONC3Kf7&XkM2>@Vwv>~mDn07T<0lgbc&l7Q# zJlOv1%Ld^97Gn_PlEaXuuvs?}0rluw{Z932NSdD$f5z3cD#UYvexqq4H<u!;V$EOV zjrU4S78L;+y+8z%RgMJ4N7>hm{v!eb5>T!|sXjxdi8?rjM6*dBU82?RLILP5^38O* zkYb%qau=DPpp*C2EUYjH9LTqlaAhyBB>hT0s+v^=lu?O^j2TxrlCjkE$~gswK#2yF zC;eA*l29{6_<^PIk$`D{B$;UjFoFtH|A<VFd3_3~jw>57DBZcSUbvFQWJj<Vzzs?( z*{9w-3zHG0Mp~HY16!fjT8fOTuAgYRfEZnM#2t4?kNU{gEHKDmw%!HgY0`lj{m~JE zt1TVN0%)&omWf;(C9QRidca-GT2j5$@)1d~5gSKwH5{48!5FJSjqgkWKM9vJQL9XY zzy;PKp!o#QYJ7?FXH&mqbHAO%6HuAr9I590x|5qK5B+skA6RgIRNpQ4EUb(Wovt8c z+#ClOrF`cyTyvPP2a`YR3cv=;AlN0Tb5&MDQ{ar38l@3Mm~}lwEIwA&;j#h}6EK?W zaa<)02Dw16JS?x50}^Kh3iKwxwiAdl;EpB+pWUbugWS;>MX{1h*VyR5AO#~1^g)DS za&0Nn*bE21)<or?P7d4)yLH9L7tN9NxC(vqv~tHpt-R)RkpN8)RBDJR4Q%QpjzDEX zNMy&PNK^vokEU0;be1rEl-WEzUp<bijw0$oPMUj(d`CJKf9M;x99mA8G@`amO4%Ak zpkU9ClTM*^%Tpu@&_cY-3ahb8GI2@VQ@ZOwvC{_XC6#Q_M2UK}vnxlYiegGoutV)* z&@D%%L~d6va@Xihkh#lKB-CcXwhKyMr!$9?6qAG;?Y-)g<Rr@gG;(ROl#>{z=~HAB z`bubaQ@yVMPSU&s^-C4x5D8MlC8TyrdP~|Xk>ZH_bX)}r!{Ta~0-z1|(#@mR<N50D z!`^<Sj%7Z0_~6Hf4<7vZ<AeQQ`+wFie|)h0`*8X0!v_zy?;d_KzJ7T4-5-Daal5zv zc>VL>@Y9FuPsbPQf6MRpFYfQHclZB)sRGUVz!sl^@=-2$QiKVQE|qEw#rm`kni^F= zlj{@Yn#WRAQHz{}php0`Tb_bi!HM1|6R-kCm}MUEz^=Ow*aZoup!vGo5qJPWDjr21 zP__n@z{r<PYUN|62!JBP2v-;y3BOSjwpJ?|*a39-+$ZgvPh1>nfWcb^%DM^A%<<GW z^4{HtzWpM}|Eq_G+kV+R-v2djy8F1lwLS_D(KjCYZGEoowywwZdGyo%g$H>4hY!D0 ziI;S3Fzj{`ngay`tqEnbfb*L^oyAp1h?asnNoZB<1Yv+EkPAhU)dDDMim5)!qyQRv z*-;adS3_pfnFC<IC=dmb2o9h6vEnt2?4!79NpMaGZMRuVV(-P?ptp+owDp23+QwBm zr2*rAhUw-WX0x;FwS8b}zHwkeJx-fkr@7Rv+veTf^#@IWuU_7%Z2j@a_(*OK9$trw zIvp+5<G7k>z&zvJgKR~qv^dhuFG}T@L@|W0lEk=}wC5-EgQ-fe^i+d~MYCm;rjXHW zy(zA$Lr|t82!}ycfJv$KVf_l78p@n^Kurp5n;=*Pl+LL^8v#@|gr3a$lt47N|4ef4 z4gJMdiMVR$v@`S7oTW(%TfLAUpa2!s%n!$L?*lK@{bIfQWt^O=hw;(eu71p^&M<;_ z<2Ce`R2+bt$e?jWYfAZI4XCdKRBel}R3vJ|z^VF`Zv^=M<*E`y&y-u`h3eIuhK4}& z2LntcApF#(vTETtuIAK9Htbq~0+R-GmQsgNt0dlEriNL<pK4qIF)1QTF<_n?OkIhb z?Zu(hsn0ay9B#=K1&-pX>F!!R3n{UyuYdjEi{k5F$Eo@J`XgGa4>4OXEr+rR1Fhad zRaFH!LMC=AG4+D|aT&&vG~kv5Dn|%39f_7{X@c!jB@BWFRUTy&1|<c}P6=0bVF9rp z$_cd44@l~d5?g1KVQ`COxTWD`SlwK<&g}mJVVf`oj-Ub|i}XlIQ?POFwo5?=ijZ@z zHkH%!RZ<wBZ%G050$PaMu~ge%KK<aU;{K~~Djs}9YjupU)e)R+kIU3ys%X4ps<~j# zrlU03Br@v@UE2n;r{snyWp1*L5IPwyj+G`k9kaH*D+NNKNJ%1xJYn4>Fgn8MQ$*Wq z4uM7IQWteh0;qzgnq#J|f~EnWkp&wUP{>qdDi9V|4R2jAMa<*4YV$G4&7Z|BJ<Q{{ znow=9I%ocQ<8}A{-F^7wadkJ!y^kmbj`-wygwUzzmjg|}DHG%g(7vR`RB+&GnM?DF zgIJy#v$Co)O1Vwx*{6ZxG{$ko(To9r9Wy@ggh44`jZ2Zq+n^`IeKxt?k@Ou2o`yBQ zq6zi|KxkpCMp%e-ro**}tQiRIDfWeuVyz5`!{c>K0BWE}g`TCv&S{^x2Pl?`+al-E z;&e?vhsMX<N3bgHMpxvcTB}#z8w8A~l{nIY$M`zoidZ(N3-ZW|G9chUwdx~AFESq% z&NJbu)0a;|AjUil{Ms`_WD#XA@Gk@nF_f{m3Sz2MAS4BlnU+&G#U#U$@xow9E#XSH z02E-TVluo9qkUPcM{yNIWYS)x(*?YBlBI#|Eg{KES5VAK&&5^a!pXloN!CyT2iYXh z9X^V+I<AEuKeD)*2^E`k3{YiI`Lsm>L7umfLP=&vKDg#;K&E^Gk{Lt;Wga=q%5g2{ zxC*2)R7?gX(>0ZiBs_V54csPT0fAo94V~g@(djgulr~E^6<aw%b#YcIIj<gvN{FUR zwl!Vi8I-nm)0sL&ta)pWtDd0@Xi<h+`POUat56g`iFzasV$vQ(N79cYu5O#>M;KSr z70oF7PJ9|ihg_^hI9UYSdQ(zIvO6Wxp?{OEWMS|&O1P#iR%+ZpBal%3;hCCFSA+6P zOCn4GhV^Q1IUtw@josyq-g{3%0II}&>K_9+4Y&f4o&;Gb3oeKqS5d+d8h<jlDfE|h zI;*wRHuaB5O9G2kv*a^<;3AZx<WG$(sYH}=Il{4Jd@MQe#~4@3Y*GN)2LK`oXD`m+ zDV~Ku&;q7q>SdA;g9-q|K57#2Efi%b3Iesz9I2et&S*Ry8DEUSCP+&8Sp*mtWKZZu zL`_DSMPU-SUt9S~pK)VkQ$I?r*deo%012XBoI#>&x$7>t)>Jk_`a_{9bOPW<#g4wx ziPQSP<|EpdglULQ9=MYE)z0~m<iLj`|G47nmm%FOx!z52wWv$p^m;aK3u7EKG5}X2 zPg<zi;;00C^PJG~>3E9BB+P<~6`E9G0YvDfr0i=c5;le$t!2|+)M7OC9TUY&@pYlT zXrP0MV4JSF6b8u!<RqL;8Gv?BpjK856C}6T<W`S&z_4s|EM1wNsus%h({VMEJVfA{ zp+#0ExkRYiw*7oGy`|Hd<sUQ$hLdH&o~GbS*+WL-#+fk`r4j=YTjoRpqI^OufEOj` z?*R#kBxzODRJcvniT%GyIrSuWL+kS(Lk=Qd@XDM7y%6O}!qsI8mJLIca5)qQ%Iu&D znoH)C)5Jq0GZLd{$`UMhU}oBJ7Be>;dAfV6J1pmMTxI*a&hl5o%%vMh1v?*)tAK!S zTi8cZuO5!^<BF@->T7C}reOl`fmK!}!9}9N6xQLDDJgb!l``l*KqO)@4TWa~ygGt? z=?MEWGhNp?VloU#T2J-9<P1j|yll%<6Wu~Q)kruc%5B7N1hTN!cqSKZx|nZF&3M`& z6&xQz&Eqi39r4909L>V!Q6(|{X7)PXHnqbtsor>&XTwex-bM86uV!@uP}@JEKJXU% zKf1W8Nn3l4KwScYV#XF$?PioV0Mm|TYoO_GB0SQSttzt?9j0$4vXroVQJZ>l#Aqo< zX<nI1N5>#j=W2ud0QD|r-{39GrL4q*eom13lHP(^O9VfZ9ZVt=_Ot`qgy=pO1hbFK z)g~3i@yn&-FiD8cqBK`c_@_~#`>>Ur<*$kj;erOH0oG~^rOBU$XCF~qjgPJm40xy; zZBejFYJ>?fi!?v%#NsHo0-01YjM515fV6IclZrIC8$(GTwF07z(wyxKPZM9%a)oe0 zAvOpMGzbo8S~OxrKQZ5Sy=cbNJg0{`jkcwa5w1H|RA4C>0aqH<C{0RV`3gip$hD6& zotB_9b%VcCf;W8*&&5^h(NQSK`U*iK<6>_0(Ztp9S$u5sRTNJW^314NUmHMRE>(Dd zKr|z4EFp?p#w2E!n1;ffMd50oS}46-!ZUz*02O`exsIg_z-mwlQtX3-cb;j93MBzj z?1;l{_&P?1scB*x3Bby!2RSCekdtpgs|w0nsMrTKQs3l5T@f5haUNAtw+c!vVaf}M z39|<;Y%{On*#PlKo$h2GPwju7*S!C@`e3=8>;tdI{n5o$H%rbSvXwhF=qQ=y9vZES z<8XS`QZ5e&?KA;~%38(Ia#AB7)D>0fQYhVGVGONG(tD_Wl@oG7eXq2tmC~~XK`Mm< z4M-_hmO0g{MQ1X}l2K?FKuY81SX`xxE);=Xw;B9%THkDNrIb5@$5k?0;pdPvJK7HP z41d-1*RV}w#N1}kPSGuedhc;{S*Tx~Sgdzr_xl**YRqvpyb?;tx0vNxWq4do4ZOXn ziMYyL71MLoZYFY20mwf_7_BkjZR!ZBM8F9U^|G-}I}BIO{5%sR%$P66R&{}|Zkk7q z+M5C`WRibWWy-P)lLfcS9Ev<rl}^LcPjNL3cbN2kpqrmsU9RI1b6j;7pL6_Gs9}U{ z6G?M4SipiwKlY~gxK^(o{QUFJ55C&3*6ZVX^&^a{Us46wtk27;O?T}z$A_t2HQ5Lo z7FL95ra{!&47aND&4Nu!rMw}lFWW9-OOoeGAu&@jJcq=;S>Bd8MOkZE4P=NT7BR>) zo5RebT6HuiH%dW%gUvb;0fN{`9lq{RV~7P2s-k7{yy%jjUf4LBmhQ7ql1#1Y_54-E z)gI60L}Vp*%g99Ub-ub^s)xAx)f`#xw!G*goUaxND)=dIix(KRp*><>M0;ZN1l;`D z;T)QDjZwcf9KA5u&43}Qi;K&hz*6~eKm#f0M4)Uj-GeL8whmyE7*`W60h~0LZjoVt z;7Jq|O*N~K##&2Qn)yIO{bbHDHX)rL<R6{v0NM>yABJ8*c~;vzi{jX3$*qyWN&nSs zxHu;<8UFbp!zTHo5s&Y0t?rlV&tGke_4;HV_@kSz20gluI)9klRgcSx{^bxO43khU zYibrPe~8+aVMWP#u-h#dCFqJLMx&RaIe!(s4MU)Nzy(ZG*p$e@-lNz#;DaXOMuq2s zR0Hzs@;;5ZU8%eV1HNYTqwq~yGO~R)pH<VQ>!usTAF?xqfIfb?#Wc`m1|waM@1#$h z@LDCk#E$SMmMZ(=eG$C3wYs*ImJE3L^WdmnU61@Di>rgOISDC+O-D;ri#e=NgM)F^ zM10KDC<P~kYyAW-f>5mfE&==j*^l<oYNJl2>lIQJ3@Eph6ShbPPxZI0-U9EvC<I#O zd0&uPkJ)t+PV#6G@Vgw<04`ie2!K{hFjkNRac)#4#VWi(3QlP(RDpR?qb!VgJ37cG z=c^T*xt9%{=21<~<d5E@POVj}q^oyWjBg67`$hWmgK?Ytz#m~;{T?u-z%qmGx;Zyn zk-_9jZe-?|#9?7t5e7rDR;Q-^+CaH*b!R|bH{Bj^imPglB_vNO+@)>Q#ilvrbB`7~ z_r>b$Pi<omrY?2bsCy$KDV1JONQ_}E@yHnK^e=Ul&^XQ6^A_*9cU_T>mB1&GrZA7@ zuwl`t2TsLRPSUfhe`%tnARK@!J8Nl*t5=6rbnosLEu)rWy8i|RiTig?Utg^rZtIHu z*#qk~U(KtJjb|gbMp}nbcO4)w^w~?J*2yc>^P5l)xUcWzQ+0S#l@#tSE-^I_)X1rv z>Q#s$(9~`q8lpD>DYt~de9Sc?M0T@LV>$XL*~K!=L{k$@3N!?MG2o2=*PW@*Hvg4$ z+pc6Lt*pLvc08^cN~4J6PnV_{`>R~$PWOR}MzUdMQBzzM@}(dwb4W6{RyVoc`&z44 zcQ<dnR&RfKLs(tc=(t^<=mVdRtM_(Wkh}fnefEKYzCm9gO?Q3bs8(1VRua!IXFG>= zmp}|Ng_bff4|aZui4bDgaTOVCLa&0@R|#HDq}B=)a})K3bXXPVN{vfdeOGY>RdjXN znq_N)kSe%zi1=m%6dh9+b4mAEIu>dsD#s)LH0j7LgT&T-c9G+<S25!4*eOr-fzcPw z#5N&S3?a*fx75CMLc`_mX1V=harKqf;+x{?FK-c6*Co5G+6QwVcsWeplkV@HYOOwf z|7-Po7+3<+((BEjZQ-bJC1{|7v!tc_Z$i`)VK&%vCF#6O@5FkzF>z`pZ<rR_rR5MO zlk`<B#8oOFgpq~h<`nW@F4pH^g{`Tbw*w{_4>_R^J+8vNc%&3i^T!T3r|#V&f=H_6 z!KrRQT3kK$$JGcnsMK^8w>0SG7FUbNO;X`vQdk_d!Es!D8ZY#%udd%VuJX4|T=-ud z*64#5KOYyYXX5H#cHjKbarOT0-TJ_$r<n%&VxE;QPz_E_^$JlnR@CP*WyG0HVgOY3 zdV}84oQ)PmEU~vF9Z>1W1bCDoh1Bj+3f|6`F6v8Ul_Xcx_ZIL&mIF*3g67bIP39zW zK@t)jq&b|7aBl(5L<bKKsK=hVC0gRJ<tPd%xj%ADjlw?JXX0vjT<v+YI{D2G3C2}c z0$i)NzrHrdz5d-@;0F)BzWeo%3;%q5gj<^Xz|VHy{n2sto!092$&ZjhV(wN1K6yfj z<qZd#s+?FtbK9z#OD#bl(k8G)(^SUQq)v8Wcwv5aQWLD02-Jz$k+JSFvGqhuqQ2ZO z)F&+zr9Gq+g;gcFG=q~GHfc`hp~(xAhOUc;+G!aDR(BGV33}e@YsLLEu{g$1@=K$| zC5swUS10+a-Hgz1w@g!`CaQdOBNLX_7FU1mj_$smTtn(wSAMlDtbJU)dU4%7->aXO zP<lQ3zx&6n|K9s~i%3@wtTnv!l$OYPcl+yc!Fo4Njqgdj-OUG$tKU=aC>bQeFU{c= zsjdOCnShtG^ddl$R9@tz7S^w@M2M?7m5d~Z4kZJNtAa?#ZnP=%N!MvSJVCS9aM?tC zJ+4wfI})PzXxLgw4&{fWXP2m9km`gp+ho%NtB~YqQdV1<a#P~I_u?SsmnQ(lu4;A~ z-I+S^={|6Uy3@tDn#4o^WUOsKwyL&P|FJcceu=wZ?(S~(1?W<QzP!8L=fC%F7el%0 zEg$~+_HO^UyPIFPuJPTk_m)2J*Xu)HzB;7LS6#x6a&`aXe{5Z*<G4EQNmskOZDl>* z;_6r5W36uc#?|xnpZ(Udv~GW%?{7c9T7Nm>Z@a6WMLjt@!T6oSeCo>Zz?~Bjk!syX z?1g{~)bNa?R|V7+DhgTy0O3W<an)sTQLkoj{*%WbdF|ZhzfM{hU0h(bJKME~*{lJi z6&hD*^J<g31}D{tL8#Ck)v~1&OZ8l&;fZoQEwky7$C^QRLz*mQQ|>Mxu@{4mPQmdA zIwThe%Ou|ResWSDxQGt-dNl__Iaw)}`oa2OPQ=x9t=`<;-rcR=y1(4p|Fd72H{0U7 zzyHo%yxf1i54Owq_6zp@?bEn-c<9&rU;O&!DaJTgTeW)k>h9O$g7t2s@ejTC`($0A zpX}r7S4&)dw%h$O*6O|8ZvElc`yVbp`p2`~&Gr6^@BIEgknZm<;rMoW{NH!GEwA4F zdV6?+pVsL8?9oylFR%5>QCt-wRb}e5sHh(t?iY(t08A*8*G!|XPW5WhpiTVqK;yUE zuy(RI3(3xO8I76CctpZ8MvBEk=D2$YD{o+x)DoJ;TQ<Q3I>#(LEUqSewwtaNbd94; zPv_0jS<xZ4!b?s@ze0IyZK}c0dS(jDI@NikS{bkLU#(Cty4sxsMwPvd0-7<5SfoFE zBCalx^6u`{i@W_*zQ6nO?$uZOD7s&(uU_81+T!Zn-HUx#eerU6=o&?zE^+ni<+qlH zE`6$B(2m;T>d!Yn@8jwkRykq48&~;{-deg^SI&Nk?r!$$>i+WYSgW_Yb&V}ccK2vm zYx{ryv3zlD_pi2}-`=c`|NG&qWv$*G?k-QdU%o%>pX=}Y*SM$F^C7NkoX#L|Dz2J& zIn}ac{g#ZYB@+lrLe#NZAK?B%@tL2wp#_1`DR>emY|}~Q>P;l4?i6GXi-0H0K}~wB z#3Ul9urPVeQ%kj5IC+!;3ke}CUZpZ~8qKIuiNG0?Br&Jl26s$<bVoOJ(I7jh5p9xq z+w1Vme6=E`fqchRbMh|CiJSsG&sSfq@$Tw&iL2M^6lNbK?;b5_@IIFQy8e4utB(!? z)vNtNUB0(pl}iv^rm<h&Jzdu5l0o0UncBb)etqz|xaxb-e*N73V@ZW?p6{3I_xm;b z>cwtr4d35AdU3m7$$#IydUCt0&)uVc?$!tXV)y^Dd$j-gvb2|fzyIW?-IMRPTKLtI z-EP?k)_?!9-u=bu*>%2}fX6nzJR2OKp^C*-Gm9vfy*KIiqThxZp+!G#$jd{!uWV9Z z=KrKXFfa{7+eEly1mw8{rv)rs0NkTFXsZC1)vIz#qUgQxVG}LxB;mkp4k`$X*Um=7 zp3qNlBq$3|5ZFofyc)<rZRD0K)km-9Ff8ZNvBceFKHUcf52-;835CXTaql9)sXrO( z1FtiiLtK5e#n&aoYJU3le1E@Cmw%VFeD`#u!}pfE`yl=G-85d^FVlTo-Da$Bs#kBn zTT|2fOK`p2$GasA{(W1kf8Vd&Pxkk3Zw?Q5wqLKy&zA4m{hPy>c3H3Y*VsJzRyRxF z{(gPZzwDmg-~Z0-{_%ggvECA4rx_D&Nkb3n2ak1@rc+o3N-KpZ@8q}0R|Etc=!L?K zyr=56R1=(S##NzMVPipP>L9PTGGM33VM9wOzu9m}89@l)QS+LeI@`%bz+UgjTAH%Q z%egzsl0Ak%Ot`~yPl^&F=~9mn*k-uidN<sb6%8Mi+l;3^Gha=^m_R6}7ceBxi-e_? zgY_Kvc7MA&)T_V7`1j?_uZJ4-X{_1pxc_pwuD@Ov>9Vx%-9EjyK$rHvb+s(l{Z9m> zxH`0f_sQ=*uKqkXg6~F`-1ekp>FkzeSxZ&<{k>()-rLsdvPR?Ce`5V|_m6E+KV5%` z_m}GQYFX2d4z;M(>bL74XnoTCqF!>}-F|cU=@I9vVuAvn7Y6;>$luWAmo7WF+Msey zR=;Hi!A+#YY?Td?V;J1T4jAkk5Wf-)molZ6!Z27ON7CG_78x;{^QwgC?nI!@_BLxw zZNWsGRc1{+S4_X8l4Er_!4j~3JfNI<9?OPzkmR006mwagEs;<7z?#cKN_fr}YXf8I zG|%S8a7Rsn2QAf?gj`{Cjh*OhT>WMAgZInv?(XLe3o+K}(lmOxJovUBzLu=Z?PmG% z{@wneLNYb9aE+@6Q1B5R*!QG+YZ&}~EhU$=cPJ&tT0K<OhgMJr;I)Zl_YZ6Nn=P5< zTK#5QtJ{<Aez~{%`=faF-HhEYx@N1BBUG57`xPD{s6Z_pOI#2I`4oDCBP4Z+Tdjm3 z>4h|aPzNMTHY$jf<t#>qlST;W0<6W?N-dTnW5}988&W7q6B~neYS9bQW|_bbmd3DH zWP%R3`xfW}9#@%~ptO!aksNdfkXBBWfu=lN)y&8sh;^2~$`hA>5QnvrAY@^2wYU9K zec;=}T8%?oy}G;UMiJNQAqp>Tq+gbRdT*&y7mVWiTleqo-CYA${MBK7eznxAUmeBO z(QJQcqtG9(maw-hy=A_7e;u)Iy`^o*9+uj(!y4<gs{3neX}6EN>#x~bU4!(~?Mash z+}rKTYmRRhEJRXTc2aBwBvtYOl5;5KsZDHcNk1B!*(wD=Jxt#=!co7fcmvl}Ym#Id zGhmYR;&{Je9;b#g!wH0FiYFIbgyp}zSdplw+rDa(vbZV%=4ubiaPQ=RB|wo(3M!zD zn_O^NSmlIDU6{xxk{GH)NO`d81lX(L9w+<2E%YM+ww$f!scylgs#@z@A6RiUu3qj} z>jAgqarMP=TUt`fI$q=ItK~aS<K?TbUtQh(EauIX#nq#Fb=yj<Uj6&J%)S|GbuB61 zuvP<Wb-n+|VXc05daZuaPr47x|M<(Jd%M8MCO*0DeKeCzq3I$tUZ&BcEv~9NDS?#g zD5_6BG5aVLSxLBeXN=0nn>_BII8zFm@k=n9u&9K&36k<+4qk5UEBaW``&Dt(OmZA? zoWw<xlox~gDFGp2x_%t%AA@vjuc64!<yR)^Vfbd6)f0wNXey)%j_uxQ|JAu4RT1Vp znF<JL=uM8v;@o^yado5HSX|xe)vFal@b!}Kj(YWaK@;3xgX^6T#D_lc^4FO@@Uj2u zv)y6dvaZ$pBd+e=F|Iy3Y#wint3N&Z`*&Bn=NQ?nTysn_r8B~~S^|Vu*&=F$P9uE^ zrYK2_T!|;0)Iq?wTvL(>`duk-3oM?jUQHU?G-47Gm{Q~dtS`^SRoE~xuC@p=1Qry6 zU2$!Wc`WBdcmq5zDbUYC)Wc~Bkdk4s+w~@fZky5QRNn*uY9l$Nqjlk*ZZL1l|D^va z1u6luWcRAem7~^DHv``sSC?e<>$~ftxcc?o1|__IcK|9qy;@iHgC)kUYxO2h#?@`v z8piN&ez+&C%k0_BTh^<m*Xnrq*|pkF`j?w$`$xapT~BefPQ=yG?L~`%BUrPL5%mOU znleafQI0I2FEnI+6T}u!s>0~liA1V2X+4UonnQL_0mQG4FzSM+7ZD+2WtkNe<_~EZ z1yWkP?Si%K!1_y+SU6ufp0;gj(Ndhu+A#ib52Q@`p~#PQK5l{Hr{O9rQP~EHHhT~7 znNIeBLB-49b`5p7gg=1^SLN&Cs@JPaH+OCKPHS}?+$`(y-tF>>3l?IjUYD`!{yY0b z_~y>&s|V=P>A1R`aqLN-tjp{#yX(I%>*w!FANU*fftOiKy!>uy0U!Fn=ho`dD|&c+ zHV0mxZ+WTvyZvE5yV)6kwO2`}U=y2K^VMXLsU$7U&IwXu>1647B43nS0l1|g4O1>i zl3=5Y=2K9%ZTu2Va1?mbxa;hwlH-~)$u+5}0GJ?zGX%ycbbB#ARugYRUeQUW$jhGN zYQvNY`sZNRTJR4rMrrUf!Wi|VT7d(7y<~T;U*Px}Rv(yBg)D<y9j=#Z6*gpT5pRyG zw|B2z-kqpdAKWgurFFKmJbL-w*Eb7pX#oPSP>NTl<LV(9cI<x4arHo6y}zWXC+DkA z*LB<T)zkIrK9N4GZ>`m*7FV|?U7l?J*H61gN7#K?cY^9wHanMMm|5BsJdl!ROaKuj z9Og4AL+u_L;)bz-lcxR;pGmZC4P7xFLDTOv6%`A|jtMHT7XWab;wsYOMvq`>Gz!q9 zuMRN5;L0X|RC<&$`j&aY$)<8X$0;d8%pmEW()keIH{+{PT&<FvSxDebY5aLz2u_rw zw&v<^6=&mW#hE^^*Q;OO-re2)dR(u@%l!{-o~|7Ar)#~sU*$J<D-7`vV1H#?J&3nF zxI4wOIk6}GWlcx-A@7sj?!^&q>E7;U!!12}vEmBP#MJ|CiS_EEr;MxHlP&|D{crrm z*XngaiVS_;CN#nI!jyAp8dDLj4m}$VCb0wQi?ssq`UFg^PR7+X#Ug^Z=L9*?X;ex_ zQsN&A4n?fRRkXVZa+U8L8tB!Y6`7_iZ<8K#-O|#-l(dAzPl`$8WG&qmM2#vexm=8d z9|jx5IhVyq^QkVQ1XQsJP;ZQ@F&X<6hwPv#(1=Cp&1evuSgQ{_t}b+%wa+`n)&1k{ zZr0GbA`h4ET`fGDr`uYkyhIOJf4=+2mJG*nT;-nh>`?43`R&qTdJ`V_%vxO=!8fW` zKWXg#7FX{bW;zET)BW8y&R^}+HmRUxfQLAWt3B9j^a}^8>`TDIqRbCepM05+LM6o2 zIAip<N<3^occKk4P|i&v(hNx+q!7tZ!!2Qg48^jbbZIzxIXU7Yhd?-_;;=Df(k$V` zF;;0jE}p!~-hL520;&pD23->9Zkv=00A{V-W`vZ2<{%E@b@Npdj^wB-k@~t!H0jNz zV|Yfj@T;HCP&~gnqMu*=d`=f)(lK;hh~qu!_7LKpJu;rn(^EW~>o}VOuRNQlTC4GL zVE4DU8voo_vP--99!E9@j3KHf*8?sH{CK@uAZ2S%0gO=#36gguC4*9U6oMy%in&B0 zSiOqjhPDErSWz)`4lX4qB7Z>;lN3yt-6Xn8CP80@nQUEti8!Q7n|8Cahr%`R|LLv< z$+UgaN*$hena-~%`I`XI)o!^2Fq-+JctbSrQVwN8jXH>PI))}3Nn%4%j-cjAnaSq7 zCw<^iur7J<%3r;n<Lc=i+Io9D-ZX#d@y1_$gZAOo<LT>pd->$t6D)o<4U<jtg=4i? zzFJVBB6w;F37Q(QESMC;3DUC=yH!Q{#SyOy8ejpXeVW}1xSSDFAcCq=vWRV5U>(O* z$fuo(s}MCUGr0iiPuMTB0YP>ki*+l^%M|$me|9s>G-I!3yaAGeaddj0qQ_oCQUJaM zIm5Tk%vWI?pH!5^TuO$^Jo}9YuJ@?Be{}#roY65nJDYmV6aMK({Qcw<4qri5i)FUC zUe_o&^XUK*-L@;CFo>$pfK_jVi=$0$hteFk>#p}_i63NGU<Qs6Zf=DlmQH7wDtC=4 zbwyKq^O-MkI0fS02&DxzQPJ|GHPu=%ndX~WjnPxaC_hWpt3-5JIuYa{%K3-52$+MR zpbXTj0|I>xx6}yyE}{a8b7g%3cySb1=kIN;ZuRORs{VYW<(;RsYChm?^@$62ZS%Mq z%G7#mP9ksH%*>_EywYUA5N!vpt_m<|lXAvYiW`&xfolTv5v6E{Q9!>28RDH;h{ef1 z@HT8_dnPfZ39c%iza$6B5w^sQO(4w{BCx_m#AvP#2nrp2NRBo6!L*JVvUy7_$l(~N zI5m>iZ=aj5Vgyyr-G$03Mt;Ec4`}22^T=3N>8Y^#+v4h<zq@=1YYdC4SeqGBS4c`h zn9>o8SM0JXwUq9=_Wh*bznNr|=CNkCN;JBZA{05mH!F0wgGwxFPE*c-9;}myaG_6B z)((lIxC+<1ng+_ifIy&^)2d2CKaH4HIm<RCEu)HgufUT*`N7%xx{4ZzWiH9ER~B$s zez7P0S2N}PrMT+Gn33V4JNn6qKJfbptcNDB7mar#?fB??;;63VzK&rWIk`Hdx!yvB zZjP(LjC#Zlg#gnk^QAf%tEO|Bk>=FqakV5_PXY3nm|)dI%Yu+%XBOc&Vi3F_?^1Ny zI;vOUdKXd>Y}h8vY@u~T38`X>$D7Bj(mPOTodOXp-pz4br3`z_;{6qrwUL8Yb5F0% z#?>_O_n?1lJ9}v)4s7;lbi7ZWxUZJmiLiR`p8ELW>h%~4W-_ienH-ln%!t~igx!zg z6tZI;G?tR11-Yg-OhJg<1RObozysP7dcCR{ZzkkspeJ6OZ>X>?>Lr!oh%3-$R?e*8 z29YQ_sxgB$--1fYkehLajJS#sH0PnLbpj$xl`%~(ADVYlTt%W?M!%74$7G^zF3>0A zY7|ClQ#U~%F2&Ul1`HY=@6~^`JHb;g_HMi8K0^Ohd5zhJS@P(UNUbqMRZziz#c+Aj zE7dlg5CsiH03mi0#$;xdZH@ne2^>TzEUqT?#Cz71;F^Z904oefOheboBZoymJ7_Fh zMft^KsoYZHaHnY46>X%Dn{?1D&PT_{%gaf1iKr6+<#jd1px2IU0F)y*&la9APu8ms ziqTt|t*PE#L8t=KYwCaHd-pYeaHv@4vB}-Ict1X$xZ(uPv>Os9f0`(0lG&8HBwC=n z(p34AM3zdKjhH)2!Kb+Dq2ADepm8Fg_gsTi@oYtvW>AkoQHEO!2Z+-u;4!G86RhWz zWin+|@;*+M{f5Su%3P0~X@fV#Rl(~Mj`3BH!Jvz~yGM@l*cw=%`*6o9$t<3Xs}Cg# z+roLBG69d7VJ-JW<(%)gUR7j00#MwIZSG_9iGzS&5g&t{&lqm33U$r59nEa*3%&}M zLSp_?l+2Boy^!K4u0qSltWldPN^6)QVod%wW==W9Rj-L5QC@*fOX6fjq~Q_YoNW6b zh7wRJ3DWEIK?^AW36%a5dvX+GV#B#(H@ZkNp@tfoy#HjGl~TupO5~wNIKy8pgH4&l zzLYq!y;e%0ADElF_ZzFOuCI^3`;qp6zc*|ERrXMNgi8^q+nSn-rK#eDTlR)GT#Y(X z5L#$GQMu2R1Lc!WhQ(<h1w+gl#w86a!z^S1j(7ow$d<{)#I;uiw81&<DwcqzVx!?N zs>>owDkn2N$vY&uqp%qeuR%tPlC;VRk7f!pZDu!PcMIlT5%e@FHOF2TSA_&=87w&6 z1$);t6H)1U_Ytg$yRGQ|*ygLS?De=>Wisz+wz?oADy}9=L1V~Nx-NaCFI5v+;bgFm z;%cIV&X};L@`y`<k-}xz%t9uoR#8I6sA09m3^7~ILR79UFhv5ZveL84xCyjh#K^2N zAgkQX@CGH(W`J=uS-ZnDT4}T>IGx;ZvQyfz8Zc>PQGjA`X1)r?cJ|{0i<XvmP3|Nr zT|bJoI=0V`ZN7>OMCdp{WOMc>OS2&s%LKDM6?DWG6XlMEN)e}@vm&L(RcT{3-X4?@ z%ejzGLlTuO=>oi7*D=>oG5rivM=FLZDUFU2u#^F}JG6*6Mdu*St0hteX^1qW14w`g zlwN`mp@C4+0;A}I!xk;Q|BR)^P%Ej`(|ur=luP({AW%p0KC-V0;FiGri>Qw$uExhV zUquE|1hBO5kkrpg78UXubBsTswssXvE`*78lU+O&W@6)UH5_lB*kpRxnRH3Bc5s+B zN?UzEC!vg|ZLCeLNkI%!(jyV(Wdq7l!#s=yhe^)lvNyDgt^1aFBrlbkd(q;x7eGo7 zswRoXKG3uyv28P{IRQb7JU?G8>d-|}M3!M4ir&dcad_7sQCvNxt@>f-tH?l9k|C}V z2G?6-rfCrjDM>U8()z$Mk|@XthUx#9RBag%7SUOJ)NO1b=&y+pIBy8kkZdDzSZxrh z1qENQHc0_ZM=UCL6eCu2wo)e>l4QyKBhn*|zf7iq@g*<S&`eX1NW<@^884S~LoqWk z@4uGYQhpjD@@xz7Y+N<7<yo8^Hj^O_uk<nNC9b}9zUs4;(F{~vRko6eHWVb;leT?; z3_2fnYdqwnzAv3ZUZMrf2##<{`bmnb2|uy`pDib+@G^{TVQ`P9v0@-Vm77s`1sCAa z=nMj<?8?nhNOr1k5s5cONB-D2j;oD}m!`Pj2$WGyOqgRbv!j;+Q{be&nWk;y<2f^5 zE#IBe=#-k?CM;2`R$U%)saIdq2UbH6hM0`26pD;AD6P*%)X<ZF#{`iduR91MQMOVG zI^n<-5uFV4*V2&_qEYq^*tjmJJXP}qvL(r6HXi24jf)A|YT6h={*Qf?LKG6EeP{ua z)KAi<&Qik!s32v$9Q4&gXv21<Fd$>s(LPd>7D$*Oz3H0?&~+}ZK5StoCT2v;6!A7) zVBm}&9&&g6;TOf|1II_lvq@;t<BC&ts`+Xq`v!ry3N3>px@ZL`(`oh%{rTco;Gp31 zRg8lm%hrt^h-;cdZyCHOs0oIa4cGmoiYz@eD3zHiA`D-xXed?iV&>T<HKoo%S^>XX zh&>XIA$kQmItj-o)3E`cyV6Xj1A;0I3~8i(hSxji=BvV0bw|nMf1n8i(;ST%w#EJO z=?7mF_g{?<_rdi?v{oO8%1Ow1rMLZQZ=VKir?`mZpq(x%`!Mzwqsi*+Dc%#%-sp=N zdeJm4s3>FNTb9yd)@L0oM7zW)(9SPHV3I0QLZY|iThaw0!1pb(H@Q(1#v2h7)vlvu zUt%FfOn5F#M0F;67j=>3U`ZVO*xj&1T8AM3ce#Z4$+#MXKY>9QaPtI#nQnucC0%{} z>jz&HU;jEj)z3eswfZpgC?k{psPRRmUkTYg#MPGVQcRJlvYCgwI6#<;HKTP+RWC-C zW(?qi4=kuS6<1Tl6fg)%l^vUxSj<$<3@Ri?(48X9@DWIT5*u8lzgScz+gg<S@5WRn zB+*Mq+o1ImTE_`Q8NBP#hoF<jKw-uNn(;PXIn@VN(opIfR>5^F=C}$s&NleD|G|^s ztAmExDvtIM6|74#lj<fldZx-i<3^o=<-yQ&FK*Xe+!ghNQ?j~}f#FWC1kc+Y(1%HL z7^e+vWkX^y`GlebV7uj>6Ws!toSq6U=m~^yr56Q2U{VG#pkV4?ELv%}R6{i8Xj<6D zj_Zur+O(8_sVToVrz^}rJFc29EQKgWTuqqTpXJ#EA~FOmV{-F^X^zF!LFd2wz>D?j z<z3I$>c<Bk%~E}MU505h7ZqVnD_Vn}9R`!0ui>HTu7DH^06HnCaafW>P@Jov$e!@s zC52C^pd=&SHV6)jtCgVKMFi~%sfi}F7H_8_ASP|PLIY@>s20xWymgXmGJsPgiry)) zz*0@n_R`w4329KB__T>k&siaY@3!evTrE*fL(Bf$d==i&JQ^WV+x|0=2#@W$fA{MC z-G{#YBH{FW_~0YCJ$%rZ+q933ial)NSzLvDG<3wg`_g*Cl;EL9u;gL_2{OWp9F_w1 zqFi!`NmGJ1@AYaWEZ9=4JW>>dfy*E?iyB^B(D21bTk<#uNnxiZ*9i+{WZ!0wvtX|| zuKFZ3eU?-?!zE*Khm-wWGL~9gHA_5TE9%X0wH-go^cmv_k)pj>mRHN2uRicn{gtiz zzyA2+<A)DFhQBCdhPWC|2k(@S7#pEaWyl1eX;JU1JzNCg1C_Lqe_a{(N@;I78NZnC zTVFx|98d}>OlV0>60ah0+0$>l;j+S5X{q+miIHxMAx!;oDlaIC4I4`<Y~kj9Dz0LZ zT0j7&BgE2{Y8>$hRS>5^z+sph#Z9?!OQ+|nN#A45wW4+LAS(yUBXmW!-@9JC-9F%- zfb(a5JoTy?I4RdK9A~=SSqR%kC_2QS%LavAufnEbW-UgT6>3>#Nd|kF0)JH|V6Q<4 z4?v8V^HJh>%v%epBO;v`Wy|Ag<fMX}=}xYe^p+FCkoq?ks==Kps50Uzz}4w-wX97W z*3MDAN<BxdeqmZB)4FlG%N*O8%Af56(}1Xf92^5T`Wq5^W~OYYl@Gcq%D7tB%c=kH zf3-3unQ)9SO2l9#m8{ZWMVhM63RG83*@{4!;?tX+M`^qmP%yBLaG-~i?L^istuWkD z5`h#(_Ga%|L3PS68g-i#69UpzPObrA^8TKUljnw)$q)6kr6sNft{zDSG?8Lz`ZPPS zX0$*0&*|G@sgqvSAX81(*hAPp(NptPPz&i24=!Y}D~LWp+ig~h1$@w3nDy;xeXtMk zml#PYb%!v<c9q4|ZtAG64EW5HQ9n%IS@u(qcMmGw(bcVJ5zNI(>q9nS1<x(|)1^4I zw7)?E80$0ASaz8FFp3!_58ds_B9d5Kj+4VWsxZSWHjFWK%}lqtD4wNAR|Y5op<PH4 zG6J>_YeL;|wKUW1-h93>u1aqm3KePEj*Xv$EWu>A`Jv-#!h<p-<MV<48dXCQuLPK= z0bc{rF^JeN+H9z8l-!$4?;D0s1rTl;AG(qqB8nl7QZ`&xS3=zmY|b>bZjOaeFM)J2 zJD_J0tLSQtu0W_styGnz`rss+%1Mr<Fuwr8UoD?(<Vb;qr`d~S(Ha;!NwXL9kB}0h zjb1s6C>B-h##5c@16N-r38nOKGJngMn&*1L+<qMY2aBpu4FNs!L;ocSS@z+I5eC3l zb$g+e2H1@hLi?IajxC@x@78hYmTlJW#~86ihC3rAF$d7}ftP|xSJQKnXxR#K!?fI> zevFWv>Hosl8Fnw4DUXC4st;-i1Ex6Gtzk0XN$Y|#UuswPmit$lGI(avw}wI&0T1`m zphw6r?7&4Gr8tjU`cXaOROh!rAskaxTe84lFO2*CL0dSZS&3?`KKNf?wDl!GUWg>} zI7KZMIZ%5|o226ER|`}vAb<{%8Jo@caII5VpN{Eis5~3MxAk-OXvHsMHJ*}PU#N!y zk2GtXS3@zIL^f#E@Ug4Fj)JBDRF%6dO$e4J2R>0o)(Ht37a4g84xGRvCeU2KL&$NN z=(0Rss*_9kx%n#8<Pz2hg%~c1mgx;B5J1H1L;Znyy+iOm@L!dfuFK90?m<DxuA-Uf zjKmAm;+jx=EgBDn+MJ#~F_THRfK~a1j<5mo!O)rN)u5zmvBGt`33Pq?jh6$AkK$^e z6JB%!$@YO|pR;7YRa&f=vbfhV&`iZ-M<~lQDw}(Gi5M=)!Wx_aozV(<aAI0*qW?xy zc)PeNeqCzUYWgeznhX#*i^{(DKkX%v(qNRb%?J4l`+q?a2r66EJy^g-AyuCs*r2r$ zWIROx*hJWVvnq<x^DdelX21%rz|?7iN+JgE5HK8l)jDE_;X2j^Rly!m2T+fzsYaY& z%LV(=ej%G-5o+(O`wG$3MJA&;m5DfxPpu=POy1Odt}tbu0Q|Doe5<QS00&+sWASx{ z@)~_$uUENPbM|3JUtOc<V0*8{+TZt|z`TIiH_F?*@4w)sAh95N13N9OS8;KgZ3b~Y z0LdgJrvbw?vFQ>p-YV9s?JYdX!+1xyDBA>$LWAL$&~{M}TT8FVA1G!ENlj0Ss{zey zDDFZEv22k^_)~Jh0mlgF9o1mga`m7oCs!>fz8RG_XwvLzutImyxvH!oh`8!0{p;fD zLzT9W^-#aMq|sK?84dGIf*I`x`%~1g)nKwX{Ccl{(c{UHXLK4A2XRs^Da9}}jEp}9 zQcD>Q$^dL4+Blz5<g5gHR2UneV>(6@axDUZk=sHx9Q2QZ-aKne;j1*Mg%_(P(;*{s z(84P~t8?IGm{mMM`egwy38a;3n;xkKf+*V(V(j4*=Pi*lZb<@2qj2d4SWv>I&81#9 zU)3|1^T2Uj6+9a(-w(c6i%?EFXMecWI>l98z#x|u7i&$#LyxPp=S`#JgxWU=i}9fq zT_x?<lE`$LqQAvey^j+56lTAeRib5Kh_MPpP7!m^HlpVaWnt7=o?q5PkKw2$a0Gd? zJ#U@uT-r5QCe&#sTT`AedU&G>TC%Q9Sxe9aVO5N06BHQ^Y}GJVXX<n&uA=k_>cKQ_ zY7jsqOHh&YYsO6C1O4I5oE#yM```CpImgvfsgFrcPzXB!z%TGf<kpmw<dH=ftQi9& zn;<N=a?(06kU?Qbv5v3;qek@#lU3H;ZM{@8mW)snmT@%@S4FBX*srLS3~QcksZK;Z z6ACjgX&C~v88W8w97^E~0*WsoiJ8w(z*-pWK&7YRs<Fuv^EjZrQW^5;`Klz)_$i^U zFK0{xY85z<Mb_hoh^uDdUi_Fei+Znrp$by@(@>H$?=xY;W>sr8a-5WHan;PWi)e|Q z+$6-tn?#ndShaqVel?8>s!70*5MOE6BXUBb0MJ2s&6%EP6HpV56OiQ#6WmM`q!r!- zP@~H1G~`)svWzCQFJd4(c_ja9lW|ZHv6_$L>M{DGf_UpHP+3p+f!V18&J>Ue`Ur_C zTbRk)$@n0D0)m$0RevC~Ql)S)Q;d=`=oD9>YS<%gT?dt>+|4eAn{AhoS2?4H$nCMn zQlLjiA_qQyHDuG27*Q)*9ht-jQ?bk9YNiV1fZc@^e?^Bb{Z=xrqC~D~!=6<hj~tsT z$#x4<OKCGlOnZ{f=g<YNqR_L|s~LvL25b_Z@LipsoUa15MceD3@Akw#@VH9Zm->KN z@Pu~>2XnsHzu;RecTTb1T5rkgRqDN0p-$5;G#1amxMsGE_#}KH@}7Q_$Ye={{$^Pf zLxhIxko!!@hJYQ`6Ur{GQQ#)vl<AU<F?F9dd>`g9ndxs3z(C~dLdKU{c$j*!IUhqe zp^H*1)>haT1SQ$tL*GA4=o!XwjH{{M6^H?lvpW}8*{M^0Rp!5)&Q^xikD$)=VMA-B z;ayU~IT=9ay_dh*?oCS-!ByHlaU>T?OYuTnEtw`AsrRS1N6ZegObM*S%Yn#JnnM3P zyrE6vhV3w0L0F-&q7HMbQ{0@1B{l~Rv-RMH*Ub{FKQq27;iJ84J;l|QLRBu%KGqgU zH4#y&4Kkt4OQjf7LN%EKE$nbDUCM}btLJe6ot&>?0%n+MY`SS|d1YxW`_tzlKU@+V zb6o9<+WfuW$6wPq)U47>2%)?Yla)76Ga@DyZ5qp+k*P__&a4IxU5m>4P0hlDMr9GN z3PeoI?18Y*UOA_=VM#DYR!UkqcImyXs9da48g7bHT!jKu_Ict4E-Pj!41+^ZVSQCi zInbQ!IUv+T>6t1y{d9V5C#JA9Nib0<0s{v7$v!YF4q$hZ#(IE(Wb^OJa&N8P50nHe z-BBN+Xm|Pk{*vJ@^!6szt_teGCbRg8SrDY_O!kV+#~5bY?7~E$udB+LbQLqd?uI78 z?1c%e*rW7EOM5?5Xp?7^M2Mz#j;YfK6jv;z`y7DU6I0VCLFX|FXWNY@F$2aQmOlqR zpMq5Z%`;T#m+u<`3CSV_s1FDo(h7_^b@I(SGhfv(*aQgzn{I|1GpleX&W07^2Z*ac zeLL6py=TCV{sGMywN26PFT$<7b*T)<?z~tF$z%rLwJFmfi>pCRJ<wH}tpoAU#^kg@ z5y;>@{i!4$y<8d%aW#QH(7wdQ+9F88?v>hDf-Q%{5H#`!gxyT-fD1%34eBX?I}!VX ztGT%Xs8`7z8X{yiEvz*C&mJZ^_j_y%#?+zO*2A;fXw&2kwvxcDwCEHOY{0Jq$@#va z`v#;bVc!aj(f9UOVZ2JpYNaU|Ws)K8R^DFWLej7hJT%-Cp$3FguU9k8Zf2&I>)-}V zz^IYrZWp>(T4+<*JZ~cj?US=pK^!#HG)nn_Y`7Yi#$45C?3kK3Cb%f$0{vuaCW+N! z#+q(-T_D(&x!Kw@hqC24;a;r|JOpQ6<G%{cCZsi>b~Fgnz{f$%(r7KEfo$H}AJ>WV zePm=u@9!@_5E2IvNOmxi6uCmQ)Rw%KTNIHy2p(yaa4(YB5ky=K7~+`DW|$UJfd(U~ zfA}#c8YJ#ko@{dFTrBH?2|}flGGo$^Vbc_ysBjQT!FZOY$7$^{*BNaD7XZmXHov%R zT~UF)jsys_p(ORFCU+o?L7|L<A#97Wpbu<2)@h$O6+m;>K)%}$nlTA=iM>Gm@x3oq zCw`>QznvuienvL1YO5d$l=EMy`6Vnf5~Q}ai%Kd2dGG*8Jb@ldlSDfmSHm610qs$9 zC^IHLPr<!gL*2sAanf8tN0;hAG&h8t64|3d@u-w0FF{j6QxbySf<~TZ^e%UU4nhRF zLA#0Un{xPvO!vswsGjW`_S)rpeaKwo3Y@Q3A0De<B&DY+fNrz6I>pynL*xDa$#6m? z$)c@n{NBJ2=$3=umBxI*qN@l~5S5pqN=-0OgB=u=Ud{~zocCm0ZMGER>IuP0dYEU} zAYC&K8ZcWsI+AOun$TuIDng~h=BqPGy%4G#=0H2>5my5eoD({rf|3!&5$`fjG<7!B z%LMLi9Onophyip#0maJVkXdzzbWP6tuR<uw%2pFACT*x9yl&<D_+W7rz&cpZmXJd4 z=dW&9Aecx8v`i8x&4#>)hYcVBbK=FN$5oU`=@Z;?1thTP3<U(%Cs+e1IZ(JvR_EnG zk%A5q1=TSpjRPxytf$!NCT>ZR6{Hyg*l%K+3XUWtOiLBfPIi(ILQ#1FxfXaugVcmc zX4wG}odK3@C(YPfu-}rJ`&$21Hpo)OSH;~D(v4`Hm7q4r=HK^Xm8zA98NBEU4a-0M zFZ3*i#vJC}MTB|g#NCG866HbWW*_3JO%T+-Qf){DB<fg$mYSw_0>n}$RPx8kU_dFu zHmisO+#n_Mn@ZXgji}H92k2rZDz&l>RT@W>o~mG*V^;5tt!q4QIa<@WWXL5lXv)*! z91hZ6Geh-GzB~n88*s6Ts_SJy)Ytg065(rzh@xW$;wtqEz!sj<=J)l7Vo$)9OPH@g z^MC$d<eNlHElD)+sgkRKtOPP)nUGzLlI%#(eIkIm-!OX*A@7t1=W0{W$Vu-beWFlR z^HPWjl1ms0NI?WGVIK>MfjXiJ8cgthF&S^bvDysUdnt^oB+(WS9PqtsUp$!E1VLae z@nZ8H*39tED{~hp(FAb7IobQ9NDb%wR}JBtR)L&|tHND$<v{9BeSo++K0A4_B@xw7 ztgS!)FEf2e9RP&6fKD^{{4kzPVlq>>PU!2Vwo;kpIL*OT@<mZ(JDuw7-7h2wjE*Gz zV6%4bYy>9DaBL+|)28U*97Z+>dcRbqJA)L}28%;4x4lzbbs=M6r!WIfn8ZmFQ~t3w zaEpn<ZjuljdlqDcpeE4HUP-O|*Z8ka$nhheG9yv-E*oa~*T4O~muf>)WAZo!%%&VF z^QSIVj<u3~Pm?t1Osr8oL5o!DA|-?YjcNh$JSrEVEIS2Hf$V~6P{vi5W5g-%r8J-w z^_T}?EGM%PfR-3ndm9?2bTPNGs{k4>#iv=axY%4Q6M)kqROAiX$BxEu75pc)>!e-m z*4?w3*>Yxd8PlaB`+z|Tq^w26dH+=vHl8t;pja+bE+6#v9h)Zi?=$}$*Ax`!)NzCW z<a=MN7>h<jGa)fzqU?<}k_5B?7t3_2vzrt>!;6WeGABFuBebgemYsppj1KCD(_)P< z_g1NwS-&rt;h-O$=J`~KB7v=JXquCSYiSbVY6ylOvX-lf%x=2GX+b`@9-WkcBr;On zJ&D_D01U!<QmLjZO^v%kp;vAB?Lbfa#EC-WohTc_fsUDur-Hpf6(y$LPx4E3O?-Ae zIiE1g`Dgzn=d%LaxJ>q_!d15tYM;ne1FnD}zY6IZ)HE|~hPWX?-NXzRYl#wrkp(s7 zgK$2`!Y6CQks~0=TAM5=y4j$^2Am=6$cHsGHX=QAazHM?EL0VTFff8Xkj7nfh9%}X zic%Ah<FI_6ag{A`k&KyF)Erj<_DAStTs`l<+A&!>ykNl<7S{`nhA5*nr4eh3f^Yui zANn_F)ztzE(#C0|bxoV_pZ1q*I^YFAl#`P~bci366eX~*;0A*w+A3P7W~L#wc;y6B zw1y2-V47vgYcfQ9%be)m1%X;Ld#rkuVsXG$BiZXsb61%l8*Iaw?1F5r0I5iFa}CG` zX%HwvmYiYPU}_mPPC>%gu6VcQ2G8M&0KuZn0jJpsOrZ(Uj<Ff>R&f<{4OeBOOgS>R zWD7;oGn)K16y;C)8*!EU_?Ti<Qc>&A*V)I&N)D<yr-qWh)hxZZ*s2Kesbs<Bh}8*m z+C`H%XsA%cy5r>uFmA(XD(T>o>Ks>^zJokFlB{g%tW~)b254(A@uf*QNU@OpObH5F zlrCr71@$;74PtOv*u_mqOIJ3>yD8|_r%lX7kqIsq0Y!6S9YE&BvqXY+PxXN>x6AEv z`}l4TPU=EjZkOBT_Oabg)T<9Jx6AEv`}l4ra^S}gf4uy;{JH%3*#7(xarNhS{*A9L zo8;woxxM4<L?8IF@-DZ_?f;G(_&wZyzMS~W?Q(n9+aHhvU*hWJcDeoE5m$fyO}}w< z`S0@I<-fQ7?^L~dnb}-!m)pm8yZS?N;Gf^aZ(MGd+yB>ZAFL022<v~w|Ksly8xtP$ z;7@w>^GD_XUcK@7-uAbzUh`fbyyiL1{p|F!z5ZCP-grJAoIK*IH@@@vwa<P3_*q|n z1)P8M`Ezpm>UsTZJ$Q@j;lXR36W{reec<aq<^QY0-$#G!F-PC|v;W_}+%^9_I>wWa zev98e^=_|EJ<t3cXMT2d`q{2tdo2ElGw<I%3EX?_JD*<r-1qJH&%Bc}$8_rGPM(wN z(^t>=b9V0ioIT^m&v}jadiDQcANczJ$^_^7|N3|P=e>jLGmpLgf9$%r{#g6K@1BId zSbpW@%a=dz?|=2`)vMPeTl+^Xx%}Z#@0bFA^<v!L-#hh~uYUe*De!R`_~H#I(EdID ze0}z}_eb*l!5b3SH>J0)|CzSq7cY(;`_<2{Neub_^e$hVc<rwbpX!?mmUF4-+rOiC zOMzc^wyxfI?ylaLe!t!4aW&TQpV|k0@#63qf3^K<d&s-)b6@S2kMr4X_v`w_?&dZ7 z)9qV4>fG(`H{-~@-km&|&mR5uR^Ee=)*L_o^{Gd%Z{u{Wxg6@FGrRE>p7hkBy?Xlv zy*~YJx3kw-9(((b`FBo!qSw<|Tt3F5+fTdQKVEkvZxdPHyy;y3womNcwzYTIDzDz+ z2(MljSO361@UldgMY{g`^Qqr>m!j{%`XRr(TR+vW?rwJ{A9r}S`$w(OcX`wpPw_F= zCtqQ?^so18bsX7pl^q=gR>=DQ{;M}1{q~BzLG52-e^6iT9$<X-;OO|awW>GJhrQiB z9O^uZ!(-O>a6KKt^{MANY$3P*xPIXOtxx~=-R`b;*z0AL?tk#?AKH1e^B$iszRUf8 z4|hLb+hHt!zFt37zVrDLJ$?;+bvWwzO`dosXRZQ&)X^t)ee!Ib_}%%{PQRbC2a5N3 z{5*elAK2FFi#PY>UY|rhT-WN=)$Z5jU0$!3`^n_uYI%2SKw2O5wkhzo2-gL0`1=0M z@#FTd{nI0UZ~dirN`bG&BD08db@b@#@ixxJgyps0u-V_=y-UG#`;U|RdhZE()VgAQ z@4q_z-oKiTKymfTUimdC@YSi;=&w#3^|>(idsE<ddE7gvz*l&mC!gof>;r$buG60% zEbG+P>d)_<kmy|=Ld}D}zdpO&u86<iyu&MKt@b&(dSfp2_ur5aUmacpSMj;Cv2ILf zFM)HfeWg1m^Z2tvgELqCvqyG>hethon-y~X=G5=%b+7zZx8L)-zd0d(&$lHb`Lp}L zW37Jm;^YB*_2RA4Uw-sks97#|K4y7={l8CsKAcso=(S(;<KcOhf3LTlWBK=IzRI(k z?TMdQM`w8p*C(#K^`*97y58PkKkng+2lk3je&*^w9Q=MAb$95{sd;gD)QiJ+_s_At z*{j2sKX*&%dVS`<Ke|Rw%xjT{FHjR-ZEy8Tnd#vzzIdT;=&J8`vAy$Ap>N69;Zgg) zU;OB2@$mQZ<@MOB`|zj3TaWL$-|F?6S6?fu-d=h8++G}hegD_?TU+*b_;;*TOa4z^ zM}6<=fhCypBl_$4GQ8sB##bl)=W$%0D%4Is`|)$4a{ANzz$e%0&%H^VT*B7q8L{+s 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 diff --git a/docs/img/2a301148b56e04c50113445dc7280c15.png b/docs/img/2a301148b56e04c50113445dc7280c15.png deleted file mode 100644 index 461fe295303c46f92a4225ae7e8bd7bf07871c67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4893 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 diff --git a/docs/img/2a62cf1a17a5306e4d6cd91c30149941.png b/docs/img/2a62cf1a17a5306e4d6cd91c30149941.png deleted file mode 100644 index 3adf7276ed6bb0ca4b10311a56445fb0f73fc15d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58433 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 (zlS;cpF2jZLV7-2W+0*TAhH&*S1 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 W^thEN%kxP90000<MNUMnLSTZlfWR66 diff --git a/docs/img/2ae8145aa44498bcadafa3451ee343b1.png b/docs/img/2ae8145aa44498bcadafa3451ee343b1.png deleted file mode 100644 index 91f93becd33ee240eb25985db21e387b08722d8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12393 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 diff --git a/docs/img/2b38faa6a2c817e4d1b8b32f803db372.png b/docs/img/2b38faa6a2c817e4d1b8b32f803db372.png deleted file mode 100644 index 60f091a0e5e1f99ab04e78ca9638626efa5d3a7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2414 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 diff --git a/docs/img/2b49f82a2ff96781b55685367813e6c9.png b/docs/img/2b49f82a2ff96781b55685367813e6c9.png deleted file mode 100644 index ea847a5cdd9e884665188b106209ec91569ace81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7382 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 TZ<?PTR8qk;K=r&kk6!#2QCxD& diff --git a/docs/img/2b66844a710706131349b467b399b449.png b/docs/img/2b66844a710706131349b467b399b449.png deleted file mode 100644 index b3a5029444ef8e294ba9f7fe833510e528ba19e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23345 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 diff --git a/docs/img/2bb7640bbe66bec0d43070f6f4053758.png b/docs/img/2bb7640bbe66bec0d43070f6f4053758.png deleted file mode 100644 index 70ebf6e70d7692bd6fda9ee93d9a722c5e6ef935..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8465 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 diff --git a/docs/img/2c7964b63403cf1f03ea9bdbfeee96cf.png b/docs/img/2c7964b63403cf1f03ea9bdbfeee96cf.png deleted file mode 100644 index ac35818c8568e55bc7aa923bcfd261cc17576b70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15284 zcmbum2UJthmoAQ?BGOb81c9h1h*YJ78U$22sHjNqO`7x)LR3Ulnl$MIl_DZ7^pb=o z9YQD6&?J;V2ql4pB#)VSGw(O^{_|Vw|7NY7b<e%)-g8#Y-RJDRzwf)B9vf+MoZ~;o z#Kgp*tMlL~6B9G(_&0uv`S?m*hR~DagUn-tXAc<+#`5y=<3j7Z_wId7`-(s|d3tzg z#XLTH_ADza>$!91*x1<E+1WWbI5;^uxwyC_6MuYWVp37peW39ycxp4d-)~)!f2$;} ze@gC4<0fdV&^a^t<HYOo^b$V&Z{74@Xrb5G5tU5)a-`A4s(Y4oA;ekP*5a!tZBM7n z5g=f&#MGdZ&a`^{?7M6Kk4EwO{M8Klu)!1M4Ty&*R%WR;dN#$jELrgr!jQRd4JqQk z2H@F3h+mV9F100|oMD7}U$gf?Hp5+0$Z6$(mNzuBwH_kBV3(&|&>hw=D3VqSmmBxu z)U(+X`3)K+pTVm?c0Zvowb=o4x?5d~u0GtRDe*IGr=v*DEU)+7XtcBVc)KGlPveCa z54#~ORCo!^Rjrm1G&AMd)Mt-f;SCtyMTo6GJ9ElO7h9_=_PF$*F%HwKdb=h=zlZNp zzO#y0NNxAiq-wky)<^IPWq#(cts;JSQ{WQTBg{RCxlp(3FSCvDmK&;QR}JSgK|~aV z6;x$+oFP4#KHY`|<U#8YHRFF<7o1mbOQ)??2Xvd00+n+Y@-4n{IRT!7f>sSXQhh-Z zqry71{a&NiXQ_{oXmgUgnU5%*Wk-!ST=-B(pUFENv87wx4&+bSH`|r6B0cY&tHO(K z+~L~ekqpGShjXvbDzr(pHd;+Rz(_AstL%&`91>q7dZtJOXX4wB4yYxZS3LSxFIxNk z7_@3qgoDhYAew71O3s}Z@TyKOIjILLudzB{!gm!niJv}3M>ku3KD;LTXmktRo|+-G zVkKvFgXQnU>xVBg589_+nqSrp><{tB==1Khlile&LY5)lW-EqUkbHNOBQI5n6Fyh0 z-9))nCiw4};w9E@W>kT!2B6MQb-m=3yF$(`yh>GIbWDM$hSQ8%<irebRL8Hu(#_f^ zew*@m<<Zghlat2Wx>s)7&E21D^arx{<WJu=qbu*a->h~Ndd}sE#=_$x3Xws*4bpp| z)1pMm{iSGcwY=CzOrN6rL)!Lq{m(zsGi?pt7@0kfcyQPe9&2w|RRV-=!nsHXa~fPw zSq>)J0EsL71*1Hjhs&*?IPrt+!Bx@)@5-FLY_5%zpTCDL*t`64je=an6KN^q_akfx zB{c+v2^8197eD*J#-m9V4x2LFbg2}`OrBq!mK}8B;&bfI`)_~;X>grl+@!W7)w4(0 z-}>TIHRN?JvCLKV;l=lHMKV6Ous$|<ZCld?*8U?tf={}_<8`zHm9Wy=BaiNJZ6^`} zkj>`h(1_BR<T;HF8*1VJ`JU&b${xBLXpHH_-9L#mi>5PSBWR5x`$C~G)bqdkp_NP2 zSp}G=3*2|cZ5KufUk9H=iGr=Yc)I!?*P9D0Q#+rYPA;1m{xe3FM#r5OTeHjuU`MdE z71p=pyZ?lSaC6g<DBN@3q}REgLyNg|A!ce)SA1T3{)TlHO18t~aRj#GFbJW@c;RsL z>JDwNBc73C2dKf{Emwcy@p{Df^%C{1QRjd^Rc<x#$h0SXWUv}E8|y;&u$!?v#b3m% z9C8W2L9iN#2n;I&e*JKFJ8b*)>lN*}dLD-CZfNO}jX2fK#hOr)J&{Q%>))G8k#u~L z`kjX7?k`E7$PCP2UTv$|HujXs(((QixUwreO_}ST#!?Q$5M@7Vy`7AgL>&r+WNVkJ z1vD~~hd`uKa7Fgvk=fug&}y5bXDzX;>L~J)s#--k;wAbwcc=BR+dV^|r-+YZXp2PH zsY2~9FTL%_`($`!z4v7NL7=T8@nBq=i=}WjH$G~--A2T&{@j<|%u`jC+%8V270=<R zX~*kW?{`}!OrQ4SW6S`9lkcaJ_CX|5W$(dqoQwLa85F~nBcre~-!Qckj{oi3uZBMG zhs|CKPk_fCRVuf8&*SW-_|&H7Gy~}qe3|{$qz=KN5HFWm)yt<Kjz4SNL__Quzf<SJ z_(sSfxDd7Qd8r`0likX}6Tj?b4IIF#+^4WY{axVnBjwKs{4JW+Aly5L>AjJdNe39U z;cH?z6+3K+zquDbN0RU6QvOvSdAFIG@k=>=*I`@`f4w}aS?DDAEdCqe+rn!`(Erbk zJy*K)x_{A0Dw{Kx#`#nK1KX2IvB8HK(3oy}kNZ+Tw||?(TUe>*tUGQr%&lZ!PCy{8 zJ$u?0p{)Mm!}Fcb?WQDW>??54_u|^`N1BrsS7pH}D*V(nD#W``w1J|BF_un-+{%Xr zJRp@3X|gohS{RHy>fyuz?+SHIltQmhQcfq-e=k*ujdxIwQTa4OUYQ^tM*DnQ*lvQL ztLF}pLEVk1(^UJ#!fvPRT}Y6Lv}Y4pqCxC~=srR&G}AW0wfZvY!#SrFci)$0oU|W3 zB3F$vrC0H#o~@pLs@2RSX}PYr@xvS`^g!cXZ@+r?%=2jhnvwTXL=H3T<)pr`;D#bO z-htiSao~|<NBpMzWl0zL5edMVDoZzoVQg8_N8X8XJxqPBL-shCx#0?u$@(J6|BeEY zb)27FN>S!xk<9A7&Cm44rAP0olpL_4Vd;zDppe+mRB&&vFyaN+^odW2{Dacp6w#`T z&(W3rpD?>pY`jm1AhIBdd9tR!b3$rf=(QAV1MIL_<7-e9{0jMIP{e}X1h4w=AVuZu zBL%am<rs+ZWffj5chgj$X7<3}_56#?56<uW!9Hfaby>rl+ff*{|Bmh5xk1cL3)cm{ ziZf2xFZ|EWMbT?}b7V{KU$2^2|H2nhsb*;M4CjNbOLxqWDcl@xw96%h>**%FJo?o( z0O_a72tr|)8=iUr@*(@xjCHA{h?f2Ds%so`Z|IMIh&KA(+i$#dt#(<;_1>^_%uR7n z48HOSN*-TW@l`%0e;K71kOd%zsV|DSCn%D_yn;#@4M_^E+mlHS>^Ann9kEEmgQsVn z?(g2Wc+LA=J{5dbQRiyCb2j%CH(<gp&s=uq!3FXO6J5OQg`UMb-#18;`!s`H+^lfP z3sC?z2qKN07{9g3u97F?++bi+*D=BgbisqYY7P?bAeO^|^7@}!Wg)hOPj;G!Gua$< zMY5Xq<v?J|9MmFj^KRW4b)E3%XmSOc;?$1nVUzU)nayfC&isJiz}%FBsuEN>{zuVe z1FRV!is#17bX3xPfp5i=UUE#mC&3LVp%jqy_zMU+`$)lSO4nO@dTWG?_<hN<ow4#B zX`H$_rie8KW3HM_l4<iZlcvLH1uvoMZ~6q^^l!;rESl?18}=vR>@L2W67Bhau-pI~ zkObcZ(dgE3#rXX1*@0o+nOg`Vq<g(Wbij?&P7ccQ3K&2ZzAGagAcN`?%CQ^Zdx)4# zyqr}rAtE<7)Nh0cxsg9fMyyq$6(5Gb!iq{gwW&*ZHG&OdIT`rt6KS99qE-gvaCD_t zp}eKZx={7aJ#tk+a$We;9{D$TzmzhECXy-O5$|0WFWZnQy7h{J*Z!-zp1WW%W}wB! z<gV@`739Q-K!?jF_5O;?X=l-a<9^1`kV8c%f0YktL2p(@+BFP&s&gIOqMtw6amebh zRX*{pMdsKIVB7K{%I5@?u)VQPrdAeM+-TB11hAdgIUmy*oZ{=h1Qv_h{~=q1vgGp( z>Licc-?Tqice{c+({kzhM?#q+zsnRQ{N|5EHx;B!7f~6XKl$bE?x#+&7d!M8w?%)` z+|qF5>l|8&;nT(?aH+&YC-e;YLS>=)y?B?IBO`FV>RVBrgWgdya~Dwl!-=j~(UnoM zT!%PsxEIc7$9P!Jxi{GPvE++MDR9n2(&12~hteTLH75fWh}*RSEKmB?2G?#-U2!W6 zGm16NbX*yJL6$`W=bNgWXa?LpgrmE--t&}N)drRzCoX7;4oqCHY!vpDP72Ei>a{*& zzy-SpL(3+IiN0DPEIkZO{RKo8ZXT8rLY#b&H9-PpN06qdTm&=LdP`Hpokzi!Oe_dz zKlqvQX31(Q5a)mxq_mn~S?uzGO|EU(dtcc48=cVZmh!3#kfylroDXC}^!&XIfU4LN zb8$1bGU<PP5m!2->^IbkW!5D3a~v>|swN$vgh$%O`V(b*X9i85?5dgu%}_bB{T#z8 z@DsLN*a)>SF48{_5`*53AFwZo-DRLNl*+f>pl=NjK@JpAoe6w66$jaOd7iOi!I(y+ zdITR8tBWpW9;j48*Vf~p`?zO0ZG`^t;Pqnl!oa;uh96;}yG#h*^8aA;lERD?6n4^^ z3-InX$Gg9N-LqOAXvfaRcQhOvHO||{A(SaEjldue-9o|}U)bh=bqk=dVcE%tr08-R zkfj7w9CCMtvNeX+J~|_BK6A=BK8l6%bit*P4Rw|}^ki-=EC;Vep4-SYtpwJm0jCHH zJp-aUXBx^jse{%sU}5Q#3WAzZaPR)cD2LmGz|t*b9l<a~LMj#V*z>*h5f5po60bd+ zVmT?jMI9U%=k2pDg?u?xAae9Xvb+?yq<2!@q}%-(!G(OZj=d9diL~^JUq85O#cH5+ zYCQe|L1<KHPt%5@Tl!1R<*^q$Kd;Uk_k?bRL6a3X)bK1^Ew?HG-TL1MKPTf;&Q{o9 z>w<Pm_fOYHmsD3Y5mQvQ4Qwuh14LI!6a>a+b+L9C!0yHayTwGm>BTu-_dVIfAU7PW z4|Gl{gZ9P(_s0+hxo0JLYH;a2_EKZ{$UPy90gp#@_BNaCC&+EQp<Qpvo}j1b9Fn{5 zMFz_zXyuM9+)M)o->};5#z*uzOItyz*D6y@wa|GJD{q_MsW82|n)iJhoGd(rIk2XB zNwu|9eY%!uJ$EkXmwGM#>1PyOYFP4S3w_??mch&mGR9c`tmVuqNrcC_he9W3j+1+G zcp`>8z4vk_v97elS|bYzRLbu3Cgn*D3pK(xg-Nzeh^pcw?Z9Ni5+;1TUnvC>N2u4G z_y2$u6AZw3=iPZQHPMN*_=u016vA`CCU3-y2$C#?q77|pd;ca%AivB_U+SG|D9uuS zBZ!rq`5bzZ^>2eG2wEB9Dps7|&oUlg3hE=-Lbr>aiuQX3s1KN;ED{`~eUR==^)>i| zoC9ATQ>md9R`8I=mtgGlDZF~78qwM#he&hK?Mb0^dG%Jneuu1s^)88Q0e@GedQV<; zMw<<}UMFhLhGVF2Tj+x(w`AgsVQSR5p$jB|Tt)$^u)|@nW|3boLym+b%SL%Z0n!Dw zjN=Jje^Mty)hO(@sk%GY`X|gB=p}a_Pst$zW@5dju4&@c$_+CK!c3n|8um2W$B+;4 z6S|AcI{{eoz42lfN$Le^jzyr}%)Xiyd(y+{k6fqZ354lOZVKx!e+{HG?nBu~us*up zRwc`rTp9*R&{E+l4e^TlCRN~bb9yskp&K?%?&xW1+C0E)M_ip?pE%4he>d}++v~#4 z&tWTVRt)qW^)Ykhg~)|?2$m%U^yWIg>`;Y@#H6Efj`yw)BIG;kyCYO`5PeJPI&aXm zr<cbWEDyo|GPjSWE{|N1O5cN^;}vAoJ^S3KUutpsnakOSVWm7lrI7>!zO`&vK|e04 z?&b*ys3DCI@m;MPN-Nqj^L#<AQKtp89=M4a!Ly&yCq&hcQU!^>SGtX>r?NW#zNHOa zhG33VF;Jq3VAza+<i9o`m`lfveUsQ7CcL!5I5W7M<-aj#Szq@gY>Y}=j3z<Cx}959 zo=DfK5~Y^eytIj&d%co|hp8sm=f`^>y{X}`U(0HI_&!#}_rrgJTvkse|2RAF0#z^T z#EF4iLltmke-jC?Y6Q&O4xICG9u8H3-i@I0cc>dbl-FMy>o1m39djOGL&k@bzawsF z-G%B(ZYY<yhYWox+L!|yYED&+8lt!v2F3@Cci>?U?m`Wxz5PhxrN6<sWgAKpv0CQ- z<&0nJAnUr_p9|G5X$^BaOAs4!=24pIKm&39HB?R!gSIxAh^NM}XKOAs3@C2~htIP1 z$v=)hg{IX2;L`OXX^9sfjPC97(EF6WH7NaZiF5?6<h0cpOuf2Z#1SO+4ElM%?0#X) zN|WT;MosTr^-lFLJGf;IuB+{u51F6$-k9_j!_~jYcQ=zxAB{&mCMNti8+W}eV)4;x zT|-%AEBC^7iC6l?G*1T~6ZHqfq*@gPu&4f<SYqAlaU#S@I-5{y_PQ+HUz2r8+yy&w z`^{4ccmE^NuZm*}NK=+TjJkrAO7*-(JZERPILA3(bBxY5?}eFhvZ`!z|Ht;w38^G! zJTPhW;>N=;o?d=AqnTyzDaEW=cV%RJmLWk9<pdlA&W!r0OS`8l5p-@^VAanElD<9r z-Q=lY8G~l{jJ2@O7u|x?5xSh}0<im#-W)y>GtE^@t)}KoRdE?#ZwHwx4$*#?Aje@i z2TH+%?%OcL@Ed=9*Dw>tm|9OzV+c!v*v<PR0yP}eadKuUA(p@y_NH#uE5C?^YCL>j z#8dvGtf4TXEeE{llwHu9ZD!>~20rq`C=A`7#*#7mBZFty8%#^^WkWO2&xA_fr=>dx zWa|CbS7ddx4;H$&u1*z8^meb`!tPQA=)Iox-)HBk##;m`<aLx9)W%E6^@mQAwO8ZY z@bpI4!7>lbgt@yp>2u&?E)^E{#YcN&7(b4BmFN*N!nf4z;iV%?XVEUay4s6@1*N8l zxGo);gQH6cE>HVEbK1vVot3#hI&_Ago}^dc-O+w?%2xute6~l?y};96nA>|w7)zcy z#aD%PTuf!IcL&;|zP4DRP*@$cwYYhul!Uw1vwYb2yA|N65JaNSE_-YrLCQ&nm-;cr z1zR&mRF0MP+paNt()*sH&~7WB0~QgQIj%xO7>xJElmUP{*5oYBf_++(&`OZe^lH+I za$#oy)bVA1$z(<Rc9jWNK3A7j^g;y6IZ<0Zq|HHk02oR&UFBE58%7{CtT;RU9-(N& z1~QUw5DMOIcp4`BVc!Uyo;26T(&j}e8EdtJElcZ_{j-k7rI$qrhdJXOR(pd+8#`90 z^f>P7aVHG|2;hIR9>D&wQRC$X(vHuD{C!&^qSIi87FtQI$2LtUN3F_kFfjecOG0!! z&*S8Fc<rFzxD9GD<6bEH&=06CF}to?zxF8sFsJzacHROY_c`M`x0=*4MUvW|DT_0g zZMLG6DbE+%guSy@0$a>6bFh~I9{1T)b)sLeeE3l2y=#h!X8s>Qx&MFxuU@{luTci7 z>(KWZxWA=_kw)D9BMz^Px@lpNjGvfDdG2W~v$K<eceu0}WJic)$3hD^!=9IJI+%6X zLes}hM}TET0wkVAD^mY-oT6dnJc=EXss5llhmG1b<=DYi{8>@j<Knc+jfQg4TV7A! z4NTPdK&HRD`=M17Nh;Z2<C(6MyZarLheJ86)X&Pa_q<yr9A~Ot_u{n$*xKR5fr_%g zVd5Mq&ZMgT_vU`@-BWv)F-ayY3TEb%8x;U*)5R&rjn5e&Q_I%xJ-O!=N1ivO9~rv4 zTkCI?r5{ec(9N$tP1!->&dKCTx65&{gCQDtO$z#F0t9O8_NeN`@aaB;Uft*IsjC#i zS5kfca*(Cr;~Lz>jSD4L&2z)E6HE;2Mnvp98}Zz9*)e}Z1N0_D2P_?IX=CU%8#4_} z-sG!5jh*h$(GOZ)N~0b%wdDva!b2;Q+V{+by#%+?#{UXj`|g3hIbieD7_y-PHFx+( zGZzit$tJ2@|LU*tc=R%v%Tk!V(s+u(L^>XqFK$o`e0mxV+bp*UCQZEPJkgf}JoL#f z?>vQ0KL~eBs=_Q$6ECYTfj_g>PM$=n`;iP}cJP^WYl<ge@VI76+#25}k9a}3urOY5 zpvUSY+k!X%muUxfFj@=~_Cb0B8j#*gVF&au3b;UF2VW!!(^hqBTT->F8y}48B+CMk zK}g^%J;!g5blg1vTej&x*&cc?B~ymn<CV((we<wB%q8Fqx|&O2^UvY+(@e@`ELa#9 zI42$Dj*(q7l!cXL(!!81GVHW61iMKH0I7c<pxwhz<=y3WfS3)5FVx^uyLZ3zZ-M6e zt7j@k{KLpzqeRI07YdWt2GoI@bKb!9J>90v!FDQY<1?$?&TpsT!<P8f`&ffZsPxlY zD4RT<7Y+)mJD1E<1O4i^M>fypGyPNiYR`+~oA;eumLr_wc4aNL_F=q@E#OBCve??5 zZ5ryb6rqOs57V;cdaHJdbRP5n*~k{B5|6$-kWD5}!hr#FgNC8&(obJvbDPj#AqRM_ z!U$TBi+V6gO)RS7UoX;br?--Md%}rn&Bq61&)>hD6PZ5GJ6q<Tw4z>4YWKdcc{uH= zJ2sD;8g8AxZm#F=`n6lZ8QU8^$On)2D97kbTM@xBT3)BleA=aH&PDNw9DRKdPEbQh zrJMRnx0Ip7Y_X<WwDiIH3V=bxeu+PIdSR;L1J+Ba&M)CUyrEXs9_Cn_n^D>^s%d%4 z#5|p)VCt*BUeh@3@v2K#xPRf#30;9J_U8R3OW5%q6l8AA8=B+@)A7wdTu(e*gPYe} zyik1SXzY_FzeP5WGNye_q6M4nm%_?6H8GfscNB4JUDijIc3Z#}iV-;iq(Rv+uM8Ci zw~A~w1!t!Z7oLK)=M*zPkC9npUoG9*^IPZ$3|C*>yO;kMmQ2jVTy<-8@w%_g-i=G} zY+(L$T9B&S@LL%VJYF9d=tXdW5p)+=!R2W+F$w{)3-26O$s*%De&dw}Y9*<!M)-~a zbe9U7icL{(_gxl)<WAREsHbY(>=M|a@b4=QEL7~_=nUDD!B5&~gi8<#1wTZm!+vp- zkf_u*-ZsZ;1p2+}05XmGfOyPS6afe!ZS=Q3+!O|)M+V3e=A?^QW8VXMWh}Oq=8oy@ z%3?--SePH@T6-kGQmWzyDd67VI0#r9U27x5+>f4PNoBSGF&F36&R2GeQT{)crE*>Z z>GAkGb%gfN4$v7g50Zf|%7R-W5)hg7qT3u=BYgw$Ud8Q+2>J11j}(6j)z(uION%6+ zTF)~i@!CP*Jcaw-0VCyH;yD9jcZDFZcxC*Lo*hHb0X=B}l}-Z%h`KhakCB&MsM}2h zQ(J&Q0;0vRzLJw^uJTY><An8XDi|Dnvgt7?`jjC(9}Z)p{UwqA8`u8dUJq*#B52Z) zp`Rq@-qK?|8Hr_4gSBJ5)yxgg_Wlb3Fc>tL1C88(4*p3d3?RZXz~}#Z_iyHMPtlYz zg0e%+cBIb<>6glJQlijKVGp{{jxSUZRk!_MYmL%i8%`F)8z1%Yy*Cf&cr0YS^4i%E zx!dp`*L9X~pO4BD!NoU_UsEUjB+2<M!w0AEHbV^$3Y~2n+uDAu&yhU$pJSrdj?R<* z{5A<Cpw#OK=UNXp`j1$Vz^y&5&=ohpK%wZ48NSmk@I3V>I6o+tFjBTg<@^mCCrY;= zU*?yQXr>O{&GgvR>)JWX1@qER_%5yK8MV7U5bwM*Qk6ISL#}?~lc?JY+Z&{BarwOl z7arq0$@FFJo`e@)6H7d<M>`jj>p>Iw33g2m_pa^w9jVUaAXOF+b}e8Q(?DznOG2 zb9YrD;Fh$0alQ*yE~sK9U*5>LQpu>#Onb{RY~-h|-kmE_97>x$>tKJ7oG6#+1zCw; z4Q`6yY_-8THNnGP7I6#GlObojqlGFth;H8DP09F(90}nuPgU`!phwBEBgyE<aXno( zpZum_@1>X0dLvb=)W7blWCPJXB?mxZ)$U84_Vo8%c~Y^OI{KVxF6Ov;6s~E-u+&eg zW|Y~lljt&}q>}U~!(hj+Q^xIQr*Ch6id*v1&YhWsj{dhapPw3|&%aUqbw7T&Isc2l z2AnSyg0bAUj2Ec8u?<7scT5uSSeYbre^=u$z37`Y>C<{-fVEH`fM1`!(K9^uK>A5; zU0V3dzNp2*Pt0cJjk97dZLFJoJvmkS=E+(@ObJ#WDs+`>A|G^~8yWlJ7o^&KQcErT z8?vyeBcmiePpj0v_!GdOe(A9r$Dv|&W%SQaUy_WJ)PvZC#hvbpT%}D?o6eQAh^v_^ z7cx^lecdAUf4HTWN{xuIubuUs0<n4rbZaUb;79Z{&AJY*B(}yBz1++5mC75txqEtz zlqhk;_vCMK7({pQIY+!))6Gg<hU^NrSl#<P<)9eM8o`Qx$r48qt$&}+$<rAYm@abp zV;DtbEcC(QCo}jsIlXtP0{FDj#ZwgYwP}&=vnQeK;<A_LAn4cV(50sYup&|2oIcHt z4NSQX`Ny@%+e{Uv7yND51RehR+q2>|()V_REyeL0wmBrys~01v)iZthYr+MGHqh70 z@LKgBttoG$StVze-iONeyJf8b#I7qjONp*Ab32u#L>A#6s60F0&!=y<U0q}AvYu$h z?H@vth26YNvK#LRYqj3Z2#6Oxz4hz2O5;jiX7ZDQeVuitTB?~J$*}I0=~Z=(9~mos zR;ghFdsQ7%+~=t2UcP3p8dWzeTQSw%@aB|m$cOY|mjsm)P@cqQmkqSe3yQw@-tJj$ z38|XotW(MAe5Q!{z0OK2l6i(o<;lJq0VANN?<2(}Hdm`oS*cve_slH&_GpRfWp{_F z>bf4IVg%;tpG+Un1%kYyYh};-|G886NStzJXA{$O>w+_fHk3yY8>B7r5T_Z?VgoOu z8(v+?-Y{<dfp=Pn|C_z=L&&B-{=)j7?4HTwN7Ge@!yX-E<mj{v%x3WUfh-B%`6|Hb z3(o}K>!&=DRGtzzz~$E86nXsq4akKJAN~)UlWV%v)losMwq8!^Zzt&}d?ny(zKU3o zTaL|j+$fxIfHV=CjeKP~3QwhL-Aj|-)3h_*=y`@N?93Uj>nU?t#sKT&+ttp1KPUDW zP;%0FYQ;O!$1zPxda}pa5>7E-tmBV>zSGvIYMBr?NjZ%lyS1wp#auLvj7O*&O@;Pk zXA?ywCmS5(@Rcr@Oet{O_gUR~{oQ@7n#a=90dIF{CM3=*i35_MY#O1Q_fM={#_&f~ zaL^+_C&(XHy+qZ7sOQL6ia<zST?G3d9`XV~5LCPxg!L9lIw}c*G|nbWL!a)vN2nOJ zA=MhKBlnMCbAsD>83BbK(0VyTtv+0+kvAFPc%D!`VE`i|)PKY~7)O?9opFNgPanOW zGx#8n|M6SUtUtqRNf(NB-&NZ65gMqX#s^~JgX|Goj@d8bLdc37R1!XeZq4SrLZPbR zf4ES<tU*)hu&&tanRFy~K+`A|O(v1E@js06gw&h}@NJi>GL$+e*qcf1*{Z!7FK#4V zo@|;!nX^ge<mM-NZiBqu9cYS3bd(OZLOki-ljOLOa&NTM&aSFq%X>+%<RlzNCB16g z?ap3%>ZN5FgFE34S&JcB-rve$8_W${X;wQ<i<}G=6$ZF6(#o#l&?;tlIILaUk>I>( zFBn6JA*``O(ooab%vP<D5#!mH>7C_nD;<@xrakvQ#=={pQW}xu-4k9%<1xg&82|Ed zwKxY%PB!~rVF0z>A(#}}rnXVx-FeKsZB?9tx*>>aT80*9XNiy@L97bt8vw>58`O6r z=wU)5Tle(a)jB@xhBXKEXB)Chx#SLuCE*X@7pzat`E90rv{Rf#bVWsL8g5YqS?Jnz zz&dt$vmc4J|B>V_E=yuA*Qt4R>T=!AoE>22f(ft;IFYfq^EZ4brZN|t75IBRdoy1G zUK9OMxk89n(&kC3+Qhd{o#*`rG+bN)6!eDMpH^IX=hG{QrF!^}gKwQbEdbldD`{+) zkJc17S^1pKR$^DiYPCNkyMq@t{gp#g1PA@ZxvLo?3w`Y!ID)M(mufZa%23k75{A>~ z&89Y5`^Os7T?3pJ3Y$jy4Bb*yJVBjf>6wq%M*;^BgP%wHtQ(iA@R^me^t@`pp<};} zJ<~T!w;uKv?Ya@f>Gdi_x+Ja9g2w^4_nPWY0i$}b8H3#iM)adesk-kn{bAu-TW9@o zyOqtIp`nj*AoK5h(MTPv;QC=a(c=d0Vtz;VPacO6%}Z`*a@CB_Y?ed0#M2%(31CHr zR7?LU9q&htPK^~psfJrCyAcZ0w%;W~cEjGP8%04XBX>R56NP@*p%2kiAEY`hFh<+W zzH`n~+}S~m7g|(+;P?x{ibdX#e##qL<5pe0%Z9w&F{M)AbvyM>{}p3CxiQf#c+jnd z$*A4=m*2(jR%|?vLaXVGnBW$&F&tJ^T#Mi<=$m0H=`b(s*sN53EjY_XXpfJ+a)nCi zSjg%037!6IR*Bs{^aBLmD8!Y8*5OVD%0hh$R^AjV@=(>{n=h5snPJ*j*R->j<}`Xt zyJ>0YXIU@7lbI8ikNsbfRve<KDfno@ACR66w{g}KxlBdnfX+lR3%azO(W_ofXcJaL z_}&zTRS+V0HD$5{|0m@AKRgTg{&Vj8d8ud2?heVVPOls{+4Engo4*7{JgqZ$ZUWvw zDtH6<15MefR+`kD9=kWZJlWMTh@t|4oyq>{D!TC1<4WHz|7`Je^W(<tu966UE?GU7 zq%0I?@lBbOYOdRDe$QQjt@2g1U(4@3|HT}rg-<$NefARP_Hft5?dsU{8pP5wVZEl6 zSfz7Bg8(PL1^$bFKF6xVpFj1vW!qDGVl1l1NGyHy4FBbuVoO504=WTbu9+(?$-siW z>iT)NJoettW^+?jN-vtM^LPl{v!@^no-tDfid<n=r-Gw2RVQTBS>L;Ny@)@1b2l|7 z`>+`6_UVG`D>!mqh)6k~qwan|`^Om<Mq(vjqul8fE<)bP$M<!<oe*_3d3cee;c|xr zPg6=x5Q6w2Q07@}jraLO&YcyLJNvsUfANbg8wGdg^K4?fxhX4VL%2ZjiJ|Lc)No7Z zCH}OpYFzlT3piLnns*9T9|^$lMV{#}(*L>(kty|%l|7Z6KHd{vS%xxhpg|mgV^+B| z#P9h1UbW7TgGzc#l{gh2y5TjuCXXE-&=b`Dw-d(8aTx{3lT<&B-2hN(#6e&fpzC1Z zIh)?KppfGC?#<=}0fbR9GjM@9+a*mJQEljGUG{=L-oL>*+GFID7zK{9v~R20@oPF} zI0<)a{c7y!k3@ol7fX-9`76yp0)G!$?#^g~ZHS&RmD=O|e!y7xmbRqQLlXJ8VlN-2 z2Di@5cKVf|2B`XXwg|#Aom8nLRbSbhBF;t&5k!9T@6f9bmu4r6(=!1JL<E~N?1$Vu zc-5BzE|2<8NcjJySIJ%KV*lnXmW#6eBV7SiI_;kmI(evdX}C6$@vej@i@_=;Mh`99 zloE%Q|D#-w`0s1=|6S17Btwqu!*6}wvw+8cmIJ><>N+H^1v$bJ;k-M{RPXNatkS-l z{R>n!N1Hwx;DA1iiT>Nhjzm2peV8ziTakU(L(s@t=Dy+e+2a-xmbdly;|B-&M@F(+ zQHA~2-B%_9PF6GRU*PV1sipRYx79rJW1{PnJ`3IX_~H@V%{S8Mk9B{^T^kKpRq1UL z`!Y6>>{Y!-89T5T=195h#+M0Xp^>=+3mklDMRS~bdG`iahu^?wa?TTx;ibNJudP>y zIz2fDqsU}rJ-|gPFf<u{y8fJ_mi3h#P4nL$I6o2bVzY`IH(8&^WxZee@M#0k>My@w z<%n1@7EgnG<#0&)npjZ|;HJjJ=K$+93vB`S9I#C1RXTdY@{M9-Kj`PJ7#hq^W<Fbb zqY32mWd3<KXp^}yBgoBCLV>rlGvjWdM;IY)%P-QXW$v}Z)y5jtET9i$;pgjk$^9F8 zU{9n)@^z*QvJ^gYs}_BUda1T`DX<=h#CBg+?w*Mo%K1twg$hv3uCgn7sUXpfF|#ha zH6D>VZeam3;gN7$_L{{K)qs3gx=-%Dwv%!6!=8Mb#4CeeK=$884uZMB=gz)>zX*&D za36Yq*n@PPbg#B2RStB)iL@D~lH<Q)j}}&X6<`vJVdEHV#5W?n7msujA2wK&S{SMb zbdliFs?@qR<ZC>0DqtS=Ma|@_EG@S5<Bjcw>&U|EkRC(S)=KSHHwrs-j|tl;Wx9G3 z@4(U#wC})MrXSx_h?+=~@vD^gnU<3igwQpi>flmTP>6x;(MWlGUT!)fqVsMJ5&su0 z6TS#mXPJR}V%)!AKJ6|UWdY>zE<GUppU}wxf9}0+c=>Xn#yYh-k$R)$u%L*88d~AO z{epnm;O0xE;<q6X)(ks42m1kc{3MkKxefCQQ};TaaoIB7jdpgToa*9$J^#KEDIwE& zqXJjoXt2)0;2nlKWUpVyKyrTxTM_(X*KkJ`u<@khUbisE+j8{cbqM)iUv~YrHOe(t zjf}swYO_xPr~61d#hB*#0li@?{a4W1ua4ueK$W;J+WOwtTxmnuPy3d>sp9^Licox~ z)5AL^vJP<DHqfw&gcWJ@PT%Ym<1MP;Q{?VSM{qU{C6Zy~zWCEp-a)mLHT@C4n-pHy z@LwF|UWaV>&>pB^>5VPn4&cup^!tn8z|HqQZC-aiABOpUQQthE-^5*Fh{UiB4M1H; z%5Tm#(@##ukNEC*Twx($GZ0)yE%Y4>i}O1R|J0s;Rk;0!)a@S|*37(wHrl@+6&M>C zup9+j+YRlW&}wFsu12xke2XmP`~?^cx^zS7|JrE&={BUSa|ZSFbrA}|w3o^TQ12%~ zuI}+p{`hi?7Q*GjEr?gIsy|AC)^}(pagl8Q-Tn!tGWf)CZrf1=V{?WA*>0hO<*>wK zGzBjW-<Y#eYo=Ss9TF{u-_V@o4yiBS(IVvz|D)4?YoM?m?}BlR+ed76077DXtj3zn z8F0{abGsIWr_=IsGyNWhE%b)ba<rTk2Zz|1BYj(M48A@4BX3HzZoz<dDwGu&1dND! zmos06IoPH>Jg}yO4nG*Q0P_~_ev@toEs7{HWU%p<X*C&aVaW_rdlZkUP$uLz2a@mC zW|HsSV>n6xycwtdPHhQ>$t%z)6R@7X9L5;KxMv<+_XJJSr$7Z}W}HQv(EGp1`<M+V z;QYn~TEeZJzpv!8bgEbmcw2Ki$-?5RqH$_dN78Ndxj=vN2^xa$mQ&FlmpyD?PU)rL z?mXqh7p~iIDT;MdP%<4<a83q(I?07pJF5VFTpV~ut2!hj=vm_h*V)-C!>oj&+kre1 z1#gbbNhB=_m`Ho?=p7M9D4V&<Web?foGW~Bwy1;%B5kPLr;jSA4_YX-J$YKbnGTU2 z;2QCF8<A7{h{&1D?G5(?M3J9mlgi`IKNEOg1g|GQ**Q@$CnIF6e{N5-__>>RkjNej z$qhuE6y*$xLX1XL&vptavyZf<K6fqbgiT+^#@F^Lr#Pb;jybI;mdc5oZ|mh;`2!z} zbt7oFO0IU2me$?ul1S)&xh&EY8(-{bWG4XYphc7e^&4+t795_j;$@10i!0ziua;Gb zm0yKvoR{4E0WVa9kqsZSfriL($oS6bo~aBvY`hqP1PZt<zqP%!-537A{iiU%AbY6I z5hC1u=#cxi+Z-Ku#jp6<=1J^VjO*_peQGIe;JGHmz`c<u(xg&DxHSMU(Q)|%P4xOp zEV07Idpts%*uCi0K8JCuzm~zA=~xd(E&4TP+@szxlME4<$l6r?wy?zUN1V$!K@Okf z7!be0NW!>7)dk`zovd5};F3?n1EuGVB?PF99R{mSAHHn0?R@`R^=cW``bZn>dGH#p zDB-79!-dw5ZtfpWWu>Np1DG+e*0}>}uv5C1sav+8UbwR?h8M>T?C3c7n8%J@I|j%M z*n#U~A29mr#)6?R@v$t8;W&c#G3zR6%itX8>Krg7tq4yYU9W@+@CdBwGnGpZh+4>6 zc};$zEfyFj0Zq!a#XcfnwQH4t$FG1d1CTg~cG}XRWI=Jfy|+23*H=-ucPt6u_rxL7 z-mKzSY6RrpnsqgiNvpxvSEr()r$zBmYw!%;zJn{ZNZ7G(s3KleE8j|@mM;XAWe_+W zMuaRoCw&qp&q$48os11n(qNN~m6kJsj~HJ&Z%<H`(|6S{fL3~7AyNH1;WQooD@o3x zAismwh_somYBIWMnIz+-4wi>>k~gzxH@bV=jg*V(&NY)+9A0TQiL9#dgR5yWCF{TD zq>>E2<{ab{3q%nk+#Dl}pja2<Y((I>oI{<6w>N-cbEX-4Iq%LK(8bFEuZnFXk{XOQ zJZmP%A6Og&nzUa8`(#0jXBv*BB5&(1QZJOT<Ep$RxV2=3uB@962uBf6OjO&&cZeG$ zBmQPCe`S#{;vPHn!pc1)4m}N`1|;ej$h=+x3qvlCG1;Ng&P>F=W#^fvM%<M*sgI^h zU>Ya=f>0S}sZJS}A08S&ZDvn9q(iK9{tA;4AbH~|gi2K6r<torC~v&d-*-<9@*<#l z?EW!9p2uHqoF=V<DYCjI=k}t%TW`h@HM2*m1I2&%D4pQk8&`J1IskkuoAKIPCxlrE z^%q_acKY@#MSh+>c|hNtyh@;Ue~mGY2+Q28Ia~y54b>Y=uDik}wNqloL-Ez#bqRZ+ z5pe*O1(x00`+}l^s}8E$w3f6CZH0^|#W*0+bct8@YeDh%n(m`o)Uc|K^1cXY{&CW9 zzWE`dnUsRR`nQv;rk;T)pZ0w&CGK8W91g|u=D=0tskVfqjLzs?QF-}4qwAt!?>!Eh zzV#zT19Q2YP}{48EeQ~G8x_8;b_yA)kovk1{nn@%<nJGt^ICa;M%6W`+`BzJ=I0si zI<ySSqO~mTPmsx43~xe_^BUHX>XC#xnMU|SN22G(<>`_ur^{1afEgkv66`izp9mRa z0BveQ-xH);$n4myb4zv6w#IMij=Yd}P$-lS36!L^#|yuu-@veR)Y+IUgRFCxcul1u zA@fjGi&spHM)q8k!2hAN2D>K#GF=_i*Qmm6DMvX<nfujdI=CEwynY%3<voxVW1{Lu z0{$(t{)a^Sm?QhoycqT^B<2RCG;~cvnwiAgD-=rydhOUaavfkV)3)E-93+ow>@!p1 zG;gx}Q+DnjO3;5J7^v^DH|u7w3->R~17H5rSp5%7_P+;tQm?>fEk_4~g2k<){N`2p zC<`)Pe&-nE!;BNF;-mTG4+xb31{n$stD)~RnD*rN;+_YzGH3^3EeB<8J4+6m3@Dv? z8pGINoLu{qapcuVB$PGNS@>y5@`u^%^!>|&j05Q};U}pK2rG%f{Pf>d`2U)k{P(iO zW8?#{cf~jj83$PdLFu@D9r7l{n3dG&0C+wQYHC7XQ+h+&Hr<tfZQ}xMN~hT@<WSDP zp%F3Mq3*js${Bn|A<szQKpG1^zBAmmu&vc7zLie67S>9aKA`u)ZDd9^Qe&ZKsp+5Q zsk?UG_z&v%{<|35(tH};Wt$cS=NcnMt8h{hwJGME`n|B0I=y9>(%ke-Pz+>S{}Vdm z)A0~o&=3-X-B1HiY@@!!8pH)1J{PwXrT${{rQ==c-@$*d4wQ=q=2(URqmOZ*G-S94 zPUXd*;%UvlXuHj?2Z29C<}*ORnHyiOC_`oh+jHucp`U>f^Ty7`VC@{Wcwtsg%RwBV zFJ(Pz0phIj0P3VMyaGK+^U3$1P*Fb=50(mtnC^$6$M%nVO{F~_9)IWY^huvfu}5pU zwt_fbQl52WOl|BfGln53hDbj&c0N0Rw%w79W4yMrB^n!@iC@yq;O<1-(0kDK4*IU{ z;1+nW)kZ+7opE@<AiO`KgABcDazwGfXfIM>$)-mv|1!$YPuto9Gkw|a4<62F>z?<q zcswi6n&Tn17o3;MO*L!JqPyA$uJA@ruvXr*{|c>ByIq~8a<CsibY~ud-h4Pg&LUt> zU{IMfEAO1BP$n;emcC7qQ|v1zP=nfgwd(O0os7S*cF+oEuES%Jhrp{=)JY$?5~^`! zlx%e`9^FBfa$5p-^Ww4n;fOX6CkEFJswy=}TZb`YlAcHATo^zFn<<hpj3SLJx$~U0 z?`Yq^M}pOO2$b=I04|lH9Q(t_3QNJuaXi)Xi16<ID^hCj-^FXBi*q5NRo93w+d$$` z9N-D1qa_R@AAD4Jm#Y5vju!;5c>qdFcH)bm5$%sL)MMZkF<rh=t#Isw=r_=4oU!pv zs!`j~*r(kHz!cBpbNf~LqveI|s!zXs`&)@*Xmim-k7p0zY0lIr*(rz>McUmqV<~6o zi?RoX5jujQr=2L3z2Rj9H`6smkw0ZeK&153Vd-)xc_!|PuWD)?=oN%O1!KjU`oeiG zB!uLp)uFhQX=>1>8LY{BK;55I3b=1mz}+bIj894jIp<hhCE}?ZnL61Rl1=jgL3y!_ zYniB+lQhwTp^n4%`-MLJ%|=jZyo=NT3-w1iSFp178Dd}fD8;(qfVIhhVy!OJY`xiK zbpWl4W$X)cO%v5BaXwZa{)!A<QD2FGT+!<5HjzDaSoSf7`DYzGP)q&Egh3_Hx<Ief zcv+&|1SZGHm*#O#9tt<F$BhGIYL~XkFD$E4h_WIiRk0)$?5><qA3kC+s&Ddi!pznL z!m-$Zbq9;8pF0J?`a!x+mWVe&yymGvm8ovv@Yhj=M8dK9?Dqh{#{GbC1H4&Pug1tM z#5?TVa={u5rd@L+<->~OZ*7^9)C10MYh^M|Nh=(yp!ycjv&S`Cd&`w$hsog&D314f zroeZM0L@s`!#W*MlgEkmnT?$UmPhZxew|_v9h$NX#3AyYM}P3p9-01Xp5ps<^yG>Y zgj#N#pZ-0%${tbU{5O>PNow<@Vo33{iy{ovdpKN~!BB0Ci+UX%&X`~W<5wqSu`TpX zJT|GN7&b(@OF`l)wqq3jT{J->+r~qaPXC{3=)Y7j|8{yDb(RF(a0N>U-d+8ss~4o( zX_rXBqU)0tosD0l>)HT9?gS_lbj0}94ZVdV|4e#vfI{<nK$Q;=u69Rd#v%-?lB?!_ ip`icC>0mE~(H7FIezQ{I)$wPzOu7$^9+Ya@zWZPK38P*B diff --git a/docs/img/2c8994d4c86769ec5151192ff555b261.png b/docs/img/2c8994d4c86769ec5151192ff555b261.png deleted file mode 100644 index 81e5f6f7fa28d8030a99c82a59a3d0817513a52c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7412 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 diff --git a/docs/img/2d13f3059b88ccaf448646ed61f70d47.png b/docs/img/2d13f3059b88ccaf448646ed61f70d47.png deleted file mode 100644 index b5b4391905f23e6f03988e025c013c1b21d125c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10002 zcma)?Wl&trx9*8C1j0;$1{fqExH~fh2*E-^u%N+RCNQ{5$RrTlf(-6XaCZpq4ucFZ zXz;=P@V@8Pt@_u!r|R^Vy?S@A?ylZX|Mpt7cYu<DEFnH6J`N5Jq1-zu6&##LxHvfX zWFJ1byK}EISnBS=tt781eRFd&k6D=%eJLX(D(3jhtzl~*T<>f)84nNd@#Dw%`1k|_ z1W%qkAtWRO0)Ze9Nayy`ohxIKoRoyBD{9AUz$f8-m38zHW%iGGjraxP*_^J6d!l~& z+a`fSTe0#Yfb)6Fl*N_3W{*8qDK9z(XA^C^$@hhzhj@W%mj(D7S$CuTM_D8Z7sCE> zLf3ku(+0j`mTZ;{Y_g>vmz8a+0D&LXGYEZY`Fy9$x+Hv*dt37h<$GJJ;KM&#Krb$b z^NRQ4i>GLR*B8$6URx+PSs!kN-i%SAc*C~mrK?%%3kw4fM@ANYGK71qQL#J2oPu7K z!-*}%!ZkM71T}}|Chcl1m)L4&<$~R*lnS!qE6bI|;UoB#shYFbRP3>vh@%y=_C<mE z@qSYSF2J{IQ4ejZyD<0Z=~;kq_xB9xmBc+^_N%sns~vHA09s?qYKDkZTpe=o+Z-sE z-@GF}-Yy#_u~^C?*Cz2<3OuKWUYVsbOqsDOVJ|pzo*@FL)&6Gf5LD9rwc3?0<n@T? ze%RLqJ^f-yVDHN+#NUOV)K^^VK?2G}%+AikI^&5^;pR;os`@M;frR_H6*X!FVM4GJ zL|N{O`;>jHJWP4hD{5enpx3N}S=kb*UkPOL)E`>>-u9`h{QJ?7+v2IDE(tv;aDQ>a z)kUXv)E1(kOfM#y0!7;4`-{xMtE4v|aot+4jr_q7!c@eJFL_?O756?@OKU3?9R(}@ zlmB>V|DTHZV@Esrxb)$puRdqh>nRek|0wT&Q@r2mhyw{f1BHohyf1SHj+&pKfWkl< zn%a4^0iG}YQmN`F8l@y<bU55gmV7X-|1At#Khro($p4#I_-vohVPs)jsEN#3-5sp+ zz3t~AGyuuW@>Y=we04*3S=R7aSaaPJV^`uq2LPa&zD#uBlH-G~yn)cc5NGa{Mai8- zX^~&1q<DSz7Z(kI>bK2>4@5S)>_JtCim2^uuKGt(^FF4)zeo*$uqH9GdoBP}1T_aV z<8xU)o@v!vh`MV89?ijB+1BWaq*JiCrcu%IA}=_IpSA5a(*gD($^S0A4oCE}gaVME zgNiN$c176ymw_XE)}z($1<UUosEg)Gi}>GzvU*xur-oWZQoe|{N%SIMU9AaCWzM!* z3v;EAg3HmPiTrK9zpxqhxS+jWv)orEU{*$YpI(tO%_^NbEp_?%&*u^h`%p-nzKdb$ zXYm-smuoO!1`$YIk(R7$+u9VP5*$Qm7p|qjl`o)O>l;OJy7|pwCRD;`NbmeU*z?%g z)<e>yzFE*E@OGqt%DYRkp{8C)OBURaag3#s?ehW`LQ@c50GB9+S6W)X5`{rA9y<1h z8K=II;>)Q$t7E1eDIY>)u}jh6#2SAqXIrUWYI>Jj?P6gswY<xlmRwG&Pv@zdYnjOM zFV&(dD_XSrMcoc=`B<wE9*}pNc*SQiJ1Z@2fu8Zv6%vdGsg<dbnTzimFI>6n8~f@S z8uj&ywWEc4o9GW+%+Yh@cKkkjWo8N0{>u`5f=i3v+L}Y08Z)>A$%_QwF^I~m*h1v8 z1aENBKnm4@oH0fsdRB+Rbrt-o+$Bm^zxtF`%yUC^azn(;yljmVMlupg&40PRwRU6d zz|CcLF;{Z!F$8)1$YWs9o~T!f8GT*C(BzexnEAy&GCAu_J6NYqG2mBHoi^VNGZ&3b zrXHf<jJ!K&56-;uX{I?2F?nQ1w!EEM_ac7owy}O)P0SHpf>4Pmtwj3r>e&CzI;_gl z+DD9=@ha#|V^GVqIbB7b`M6XR&PK|RHvU}D4gNuDZ#M~<Ut23o5>DXOb+8zNk#JHh zm@kHxRVg*J8Hz9qZ0KNT5+Uz0%fzB%_m_P)Sw`p*-iUk?(wyoq818FuG2OAz7{b+S zr0$;?bLQNtbhBepJbDKy)$H&n&zf=pSn;9#4bDzK&_3HXh72gxSd0;Vo$6_IlP8rZ z7K}rKV-e)0!YqtjqFq~)j;as64S_aHKwHRVE_gfR9M5gjEASlA3<ac^wF6qQ#D}@9 zt+5z79N;%ZOOL%00?`uj)kDNLw)3`Cbhm{-QXE??rd0aBBEm0DoW*m4HR0UzDM<3) zlx;Amcz5aG)@&zrQbwFY)z@F+%)lGR0j%1&d;Ivuq|4P+0Cc3v+}F}oZnOaGH4k0r z^1La%xt~ahA37UIYtqRMh|WsA@D(r0IPE<q;qk)<6)#Ktwn*!D?YU;Vy&k&UUIfLn zySUzXV0<9^_=`0{2a0YQH}{4vmnBTI;mD>fk%fA%y|>@bo{KvC^iR2L<x?Az_TE3F z(cdoD@wjJxmc>{RD-v&sCidu~$6}Upe4cYPVCDNBxG}RMs}Tz>7F?+WeA>6y6#<I1 zn+Xk)^BisMLstffx9H-~#OdfaO_-VOfuISKitL(Up`Z~DxE%>guI}x=6`w?8u!i_L zoA@|rK+Sfb`G7s4|8kkm1rJfT(wK76>Ff?QyX{`;@^<IimeuRc7$XVJ>tUdA7X)C9 zR@I`fcfP@o-KftlkQSo_y$>fHUh?Q&zbd{m3f}V)y%5d(mVUC<Ay!LI6*J9GOcR@; zMpazBPer`Swr?YjE;wVoq^GnDG4WwBtuO*$my;f=GETp8--Fl;kri-%-nWQ-N&=Gg zbiMF9&M2Z&9FZ&HE(t7kOMF+(#B@-#a=hyqFYVO(%H+u?GL^d~7I~@XX3Pedx^&YE z(fy@u>gDlWl&!pJBLB?fQ_phW_@JW0QSSz~CLf>Jh>%*;KrrFr8FpCsar2;++C~Gm zu?Wkah73{h`at=G7&p4!A+0Oz7-WNL@p6hFd8<|t`{}b_5`eZz1l?9_bCe_~Gw3!& zSrD&|v_w2Wn<bRNqanpR-_%ycSd&-SE7vKRa<&t|q~vm{CKswExTn*tcKYO|S~tog zmPG|Wx1mpP<>R8IR@3QpxDV)febp>3L*5UtHEPCEi|aco2NqqwzOINtHnGF!Ez2{1 zTPGQ2WJhDm=*frxjhxVN^W!g6Qs_0Ot2EY)Jou)XHMx1T^|E0`s8@`H#55PFyE?Oi zj{Nh77p0l&9H)~2OI@ozEQSfnu{*HvG+F$Sp`Zhjs!f@3o56;~rys22Bq&=3s*eTZ z?z5St2jVMvH}c25J}T?0FzT?q+iLo~#4QH(X})sp`Gh8Vk&U<ZGyL!(p7Olq-Cj20 z8JazhOBEXJEQ?RIHeUee?|Z7LPubgRx~mtV%mbMehjaU7<e}7Y_0n6(6VL+QmoI}# zrleJ!<#2B*$cbP+WXtkC$v^~UFv{CP!*n7~&jh1YfBAqas>xHI%*!pKuPh`(c{S{h zg%fMvG_b0`O1I4Yn&Wt(*t9_1RP>jV9+9NqfSbrT`O%Wu;;B|;cJ$`T(BH!{){A`O zE~TivOrb)t1(ggX%=mkzfJNyUB&ona{A$04C07|45-)K|_H|#9>At6Jc)E-LR2)B% zLJ?@c`oLL9?A3aSJvg&z{@gSsufWwVg|*FqE3t$Wg`KCsnktikA_eA#UDVuqG=d=A z<XErsh(bF%iP)D<Ob|;H=WCxd8O_J5ArXPMQ*LU%-ZHK&LikK_H_?8OZu7Z(fkz?* zfBWsit6mT|D};!4Cuq;&Tf-rwlLk{0Ef1rqCy>_}aLt}bXl}suv=;95!owj$nf$i* zbMkM&!_zyCXyJe}9~fYUoP4}swx<d=qs6;OQ8vj?Pz2;pL)wMlu(RbGUl;Jw|LEuY zge&6KcxH7q{$@TV34hG47!b_4PZFa=KEqqoEglIeoPIUxX8XGPM33ul)9x$*6)3W= zKd-t-nB)~O5;R@dy_lB{zfcFwUBRkw0;$9)p6CvffwihcYwc{HHyFwE>^X~!FxMCv zSso2r<n=b+bf>n5(CcT4h7f**mrZdybnCCi$vdd>!{wS_(eQWKoewSFqx@?UQ>g)) zZ=a0+G(S@N)2f!WiK1xwT220^wT<lqZm73V#uP1YH8&%EcCvY6@<$bElHLGuljvU1 zGU7NeKAf_m_(FRvb;*IT^G5kbBIh>}@%gQs<<s6a=HWi!SLA4Ss?fF%oEm)6NW=hS zW~OZUkr4paBR4)WINJXZ0cEM*bXABAjp>&!;Jw5ykCcTvheKSwykNn|`2^WOgTT~D zJLoU@-!T9x5Rhtl(GTk2<i+8vq%SO@$qg8D6~uSS`L6ThQ$VtlC_~;`w-3&?(|CYQ zNA>7|AeN>vH#Id!8C~=~<P&tZ+3T{3ddEOt7yUE<ei1VmC)};=AjOhq^3-SSRu5ch z2hQZEJr~yA&3n<#+iN^Hno>&?7J8oHuvDY_#X~;s?f24DFJXQKqd!0u&7{~z$L-9x zPt2YTuJjmciN=ppCIXr4JVnV&03Ewzkl9wx3dH=QnUJsJ(B47Sr<8j(H59Su0>viK z&Sz7foY^CZ)&9O6B#(83nsjzNa|qZ>-(_1fU|a8(*$XRsCh~6JV`ipnFol&D54<QZ zicD)$*Lx~XN2Hzu9)O@a>BwG$^S`wgELj5#@q)36e;f5Q$p%A!_VJ5sswAwt93c00 zQ6qrE32sqr)Wbt8;*Sugos5>_(`9$3kEOUq02jz(rscVwB<dABvAC$`p*^p<_zxtc zQ~XU=Fh%R+Y&910&fHPNS`G^K%9FpGp3M1Wn}5?$8dTQS_mtt^`2#eI^s89zr|Oj( ztXXAXnt9i@^|rE<G+;*Rl%Hv7WjDA$axKjqS;89kD1V(%2APSUasLDHdIV$A2^=_> z@C+CUOH)XYyL4lzd9V9hoQKCSWk{X$^UVlwbm|z+5=sQbPIPy<mSB|Lvo-TRmuCjK zYw@<vrIaT)BQpxgk8pVn$8F>pv=f%1mfD`g>bN?tBtmNJ!M~P+pNZsp45mWNGCTFc zDk(J9EOloL>pHiWE(w{2AU^$heAg7q*~jypuaDTx*B~7au2^6nb<+8in^Gl-UR8@z zmmwB@mfE|8q>OxbiH@JSx3$>b?Nh+bGjg(aQI2Y4!0s`|hR7N@s?Y>?(zR1%w8Me# z&wIC%Zmv_08#u|GU;pMh)ar)RoVQ`}>nju~wHYP?!%1z>j7L$N&&KN~OPh@iS7d}- zCYCMW=#eh^@AqWoxou3_+_b%)W=Bdy*lx2gv=4rzE<uR-w=3}%sqKZ~IPqRlhb_2C z;E9kVpnkq6bxf4Eepgb<VxmlwodH=|3J#?&j2)cX&#{P<%g<g=kr%ajO<2pro1c=s zYYQ!?y<{N@q8>0kKN*n~>Xq)OFgWADzmB>ZmWpAifQ;y-Vj>$)$uDPy=J0GCF=npP zZEgT>6#<v}v2l9W!aqfF_o9&~)!GlK#zV2Vi4o;fP)hYtxz5v;W7S{37^(>r$jwFl zN*Rx+M!bMfN4lQ*pL#Pdo+tdIPx&bc<qRI6ZUnBK?o7s0xCXIA&naYLYV;ZOhT~j4 zwP??he$)Vyz%F2~c;*kv2l6-E11d{kg6ag@VG%k>VVz_%9oF6$FSch3KeCoVv=w@D zO>&MaS_tM7RAr;w-k6&2&^zjoKvtN<F#MaU%g|BLd4`5V)WzJ_*vI7&as4AZly;B) zJY>laz}@J7!I%53Rn+wD<oD>NqwMT!A>Y9#{{Hv!-z)U|sSmqo=5c7$af@Qhh>r=S zl9D|Y%h~!7#S*oX-j^0RGX9kcvy3$UiF<)T6U60FCgjQp@F{XShx5tO4h(?^{L>2J z31TpFLVs`N-cT%H(?IC4%t*IeMk7gEZ0Dab^^8q(UurzQnHH#@14ERGh02yZOlgGt zk(3;aU@5O7R85xQq_(~;YE5o8MtNi#)2KdPZojm7&OsC#(!RmX8PV~=*zstD<BeU8 zTz{OL1?5N3yS;^A*}i4h(-!cgBMQdt_guCA__^fZM_7PnuK7h0{)a8bBY$ZA0)P~; za?*yxDrtrhdRW^R8$c<ez{*NAKVjrAgq9&-sC^w@p0^2Uh8$MeUtnbMjY)FF`*cF$ zAyHua`K!J##zb6ip1P^m$a?aRSp2Kt4;QCbld?ns4^M&pYf4MOC`TKuMbi_?)e<n} zd?mNg1EE@T_}Zz==r=c=s$e#9JHs!|kt!R1E0RHj>HKeG4d0;#=o506^`6$9IYRZe zy9h}A%c000Pec5^8#lAk+(+h-XOec*e91N6?U_FQDSDV2b)2s9hNR2?a9y5%j3d!K zSq9Yey=U>2sw#~VBd4GO{XGYvg!mdU8gw7g5cg=$e$J%BAX|D;JaVkoT;0M1ib<(> zhcDlonXNvc$nX<GlC{1ENjRsjD(SA!rqNh-@)VbyD_gp5mpHd&%oXK!VarQO*!PPG zf17s*DoW&)BLP3!TPl>wz|2O|7aJ7(P;Pz4MC_@C@{&i58ag?xg^vcl8$Tc2jO1$; zhykj}1SmjXQ-vzZC`flWY<yG^27lT&D3oV#S<bE|0<36k@?ZaYIU*{PW(s`I-$S=? zQ+ve<e)V%rI)_7GFjRqwdvKnLd?-C2Sj9d;KAz`~OAjn*VdmKn{510q*r^)ybLv3? zdEC{HUkb+i@nD|DTD(@-QJ$=M6A!)ke$to`d=g_({Y8MR9jRw-d$R4wyCwW$ROfT@ zWLx|DT*ZY44(F$6P*z)<`4rxdK%aHq_;@n&sF7b*q^G;xk16;tVUe_ya$R4RZIb0L zJ|ZY9&GD6VDg(;|qON#*<?XAO*k&<4j&WOmCf^}f^u8_D;yIL$qw-vhq5=VlW)C(Y z1c|R;Bl1mju44SA5(9G}T0qap6IQszC#I8rsRfY+Ar|CmbYfV5&r7DdC`f#=u#2J^ zQ7EHYeD0cM{iloe`+UA8ap8ZI9s2ijWjB$mj>3cxJlX+yN7dXCuC54u?l*<YhRa9h z${1Ic3+mV&-0$=Zb}cde=>gubKJm;4mB=F(p^u*#33!7|D3v^EdImnSCWFi(^MKIv z#)xx~lQ#XYaUWl<b!n`7m-oLC5s-U@ym6F5O)H1}EG$<r7nF9{&QuF<z50O6&5a&s zNDmcpC{9>#5ZRrZx0id9yF445k<x-66x<r#cH<GhoG2?TUF=GurSc(xhoiUu>b}`? z(>Q)o0W<ICYDi?yJG(Td3*U(83IEEKKc7hD{AkctWJ3%Za<0$926DvJxTzlbOSD}5 zY<1L={uRz_Jlf;V=i)u2Wa2&iam&lCfrsT;x^gka6qN?vY4F6omc!Ps2pnO&uZYFF zbo~Az-9P4C{U7t6^!(1e`ZX+lzt-h;pxU5CVo{i6u6+Mc2y#XxjQ2Xv!|TxcE21Up zk;8wuyE+1YTT~W0z_B6~S1d~e*QUErv+`flx^*c?1i2%TWYok-a6S_>NzF2h5l&k* zf3n}D1@U<7cbyXfelwZK4X7TsLWp!2o~Wi^_eJk>)bAWXY7D5;0ubxvU@(e4QBH5P zY0rgZk+!+2@Czg3#E}bTV{E{#q}YU`-njs`tFg6zG`z|lw!)C4tf#0kVqe1b0R#NX zmEH{7t5FC=)D`zTIE4FjCU1;-QF!ciOJp?N&;eqv`1Xha^W@*bI?-K=i^IxW)=a=U znc2|(R0MCspgJ&T5Jdr8OGv|1ZaeX~?Fcpr{e|<LECrqzPigWW9gKQ?n)&E#D?)=q z8&(Z-g7_Gp$k}q&Q^cFE8|Xf-La?qaUJNw*i~}cMKC>UuEr~QN&+V}PX$5TDpfWS| z0Rws4f9`wsT=v?BKUX6rbie6UUw}t*3!tAi*Hn+mm1i!-+*q_rcO@K9%1peUT%I(S zz}1V2Exor&2p}^r#1cM>a29n8Qkd6$j4T&-4Vly%{|x-<a#+RN`dbm<<tb1z(QW-) zaOkT4*X%wIyjJ-G1YHP$;R?<-ei<Gu+wBIEXir-^th37ie=l5}tnd9j++)0DV=Ab* zxZWPPa5+4G;as9l9*QvS0+Y}pOJ9-pDOXCpKVD^S65i@ICVGSo<lIjuZI+Eq{5*Qq z0iNa-2(jIdv^d;kHE&b)zingR`Oe%IMyqY83CH@V1fid)k%df4Y^GPhcvC5e6DgcK zRO?oB%}oG@F~Y8LY$;BjI1R9yM9|mf=IoGcUGu%(T@vB5seE;I_7R`$`kNTaZ^=nB z8KCZ;8U@e-jgOOG1{k#So7JiGWPB1b9BgYC=%3BDP9*r;o(EW*o(r9y?ul!_)o*Vc zu9-!qk2xHa!0PJJ^C}N7G~tKB2dUvUTVUCRHEH;@-XQg*P5-UmVAa9pg%z*NgHKV4 z#%KH9#^qAWvvn~Fd!D6-YL0e)P1gk*KE-o(J`d)sW7|rbi4T>Ky%Snk586pxk*BS1 zIWQFVVI4ZW1fqp`Bww`vygSzGH*(h-VYNPwwa5r>H~-dvGyfR&LF6bwYk%5r&#(Dz zFOSw}Q>L0ziqKc54}^s^MfukjOALYdo4oi-=fq|H1Es<n9f)y@o#$<y9My$?L{Pnj zo?92^(Yt*igtC1Rh!6FK=9jCJVSo<u51}2S-x7Fe!1+68tJ+Scmem{E_oiVzfD+82 z&D2ci?`!N`PFHRl{>Ygcuv+0iF&lQAPGX%K|EX-L)8-9h^NG<OrUOw9e$~qZ;sD&P z6JB4RAgf#r^b&_`!@&-fjeTsT?`4-3V{(O15@85IHalnA5n+$ch-A|rk-1%V!<~qR z7>4(lpS*VAauwUziGM_&kZ_kmV@0c3sUS7;qSNr%9jN#-pnAuj);ebUJ_#6wn5Qe6 z6P5nlh9Igj>uW81V|q%lL&D>+x#vOr%|ftq_|-wq2(gdP>vv{V#QJl#XX~DJ=uv_U z&OeIOQ$Uq%=@$trsYfaC6WL@%7jJ_cOG#C1HK)RPBCXvq%dNp!BfTJEK<PI@rkV5Q zcnwz9bxxX0A*zI^L?Ns<3@H!bX5{hI)qTCO^Et_nD;rU>%=x0}Ol9FPAYe+j;ri_N zl4_`k!pQ<zN||7B>~fHrlcR`m1sF6b9U0|$F=iKzY4uqlc_H>4kpk0ZEQiQ3MEVih z+4i7z3mx1mE*77I?7w!pmG;Sf(PM)2&>gp`$GaM^bZilxo~60NboBbW=tJv;R9Y~u z!>g}8K)n|#SH7DH*@urwD!k0PZ|Xo))fGuDL}ZJ-SJN<!KDH%-$SK^VvI{mJeLg_s zE~O9n4%42_D2c76_vJfv$&qK#8v$5kBbtr75Ya0g`HI-(q2_{q`~8rfg@&Gmt3gFj z86uG3)}8T9<)Uy3q#L!gO1PCs6NG4?$4IDGE#u9b>}rj_weB|1Nr6pUzVqvxQoae* zNkD2{$UBg=G^G%Ah0yE8Ag(P*dcOMe>^ocNJp;gWMp8gpTF9w(2^<{2J=>=^ClKem z&r6)!^<CFbPHP?v{V>8^^YGrnh%eIF_U?kg4_hQ~zz=cmdIIj<8F#h+_R|YQcyy)R zTda3GF7goxs)qlez*!9XXT<-(0ca#6nc#zXN{MPISGFB$gQNAYKzCE~$_An@{@dx_ z1p!(m7ANfPx-mVmu((rTPtrvh^7IA^&%<B$7t?nR6HO-X<jP7D?YFZP4s>QGI0*J2 zI(Rbs1sPSRtRUUhOSz4qvo5!7KHCYHURe#XkIe3uu#WbU$~G>^temTiEiN9<U0AZT zxQw+^b3T7|EE+l_(dgw2{7ksBN?>WRz8c}Z?!~Q-uUy+J{bE*7yZQG76U<v$?2B7C zA}I8h;5ARNbhSXcHIIF`K+sC>2s#UM<ZosUxUF*p7);FsxGKg*n0DJ}B#f;tDv62% zq$NELNGMT#a+39^oHVakTG?z9wjvfHhjW?JJt>njs~kh~*(rS8b<#dBwe(;wwDx13 zg%WnECAuA%@lq|dx@T@SrB5n*(Git9h295~e;Zk3&k`9VR-YHXN#`ybO!5<?4STKx zY3noI>VI8_h7#^Xj}5PxL-{?deEm+!l+}G|E1><d>x)sA7F<A>1zb~7Tk8j!_J_`R z5pkVOx8`Hzzg(v>A1P4^8_;4+5D&33WH~m?r%ZHK!oGpsap3Q?_96M!gtdnGe9U#} z#IV?&6oazP)#T1+%^8<;jq2zJKLsi_UCDN|y6S)Lol&NImr^UuKMwY*+NqB46GXa( zZfGPFisd&=h9VR*(;Ba62zNS^RelxDoKH9Le~9p1<rIxeVmg0&J|8V&9N}LTYO!He zK-~u(SMW@jC{4;k0ezk}7e2A;yNb*pBRt}<GPyT7l4QM#;~ZoS!e9)4Xgz*7J@|x) z2sCJA5d;Yns8}8LSGf6`;jq8SUm@-j=6BMe>`p48%v7~twqpQ!$Ny5KW?t=i;;=yV zWqO7BtsaM#nEOhqhk?^}X_mCc)MMH)fst$RS(cIlb75vwDQAs6CCc+PLQR;AD@Rc> z-AYeVo3ik3o>~|LNTcTIMh+VMOMYA9cY^)ucT!JPkmlu__<q1(JoKsC&UWe_MEzHH zCPxnE5~>IGRS4oR7p<NN3xM@&3&=FqMIJkspj;)gVt@%X86B>2wtYg$so3#k5N6T$ zB8(DcHa@Jr?N1E|g9D_`UC!^M6y!yTqH=pdiMqD4=UhiiZ9ryC25SEx63NS7+^th# z1J#MhfBM5X01(7O!!FPDcB(LR;DAmyongHr>AMpcbb+0#Y^s3B!7vg%(RaJZI;$X= z5XuCru%kp>U|%uU$V$$>_hq6)C0dChxyT524)=zKZ+6n|RD5S}_8G5qy!8FZsm5Q? zr*I1YfzX<Hx7lN9A(945AdiiVnr^6}fe7R420;ajN-Z)4<LVPvsDt3zZo3ORlKd6t zu!Z*uMx@^L?<5n#WDku-hIj4B@f!F6J-~d{$>Az6Nra`or1p&G%GTJ*E3W*sBwGJ} zsn_&6&97?JAU$nhz97qcTuj>9%#4M<!uP?kKV~XdKNxYh$jxx_b~cQ`kD!Zktyb*D z)b<ZA9-M!}XPia4{kE@ug8R$U8EHwFYO${=BAE~Wn>qi1wtoTkHFi0b7nkq>*jF2! zl}<=#jnniT=Z;PPGVos-+CKe1aQwg6QvPT3(Ys*$=_&aGu3m|&!TbAdt>FI%-``4J zYP8+yzrjNn?CDIn1Mf8qtMNI~I3p?`Q0Lq9Rsrsg40|(9z{B1QrKNd^b+z6wQ=-_7 z_^d2I6ADZ`#zkdEE)D*HrdD+k2qgXXB8hEw<@Rq_1lkTJ9~=53d#*Gpgtp(2UA?8< z$|9_8p>uPh*4RoR27y`PN{&FN^IIIer9|bw?p16oPo2t4n-9)+(B>;3)iK|3E$eSJ zw9YDlS;x!|5(TSFBiK<W=?=#x4XaULW^sLru&c*pFn{y|10J5HbOq1ZxG^QJg|61g zzv8cRs4EETJ@M}jc4nIH-q^4i;cwb5IxEN148JOi$Ph}DTl+VAc0&$zn*!`dy}q71 zO0lsy4&2)^AWPSXEl<zd?%zT63_`S-KO08dhC2^H4Ij)-6cOw8XnQET)a(89!!+vb zU8s^&FcI$bTUwY;&N-lsKYa|^DB<E$md#MpI5KkjLa-}*W^$*}c1jcnjMYpw!p1la zmXns$c&izvQg+&rL^vrJ$WYjkS(>|)!*(EiC;RBCJkl6=9_%@<rl{8_X`6(5tW)9R zx(MCoB2Dh$;J}~c(c7PcnPw%*+^TEG#%-iBVnAO_iD#qd(}m8(wdQtn?X|;jVcbI& z7Kf!EYxK$%YsM~gj_hT15ht8$V%7g|fbf~r-J!iZIbuWre{pC|TBGaKWCqtw?^0aI zxMrI>Eb4IE%PT8sdAO0nM%pqVK@>J9Qh%o4X=jb8PSRs{N_SpQ-`)P9Jm?zQ6qgmC z`{iAMcjbY>ASL`{9~=1Erxf}OSpgxm4$Vng<CJE3Ne0s>lCJUQR%~g_85^c)l9jw< ze!QwKB_!gpdgvYqsOJ2IfrF2O@|=ogCQdz|hbSV8nTRM(v;gOH#_RNj4#e1R7jOeg z^bEY6gqut7dj&^os^0GP9SMjJIu9vP@lFqWwE4H=xysjqAw30ERtW-KlX`c4<=`v3 zI}O|;+}TN*7_NHU$FtljC+UF^&aIuQ>p)P<Fdr<2BK$tKOfr%+blbQIx#P+1DYIQ_ zgZs60_kNE~(%>{g*L7z*a{jc6-XYgEmc;L<x^d<=<)p@h%>)xB)q0(2cvx?DY}h6i ztQO!`)e~k2C>pLTt3~t$F`UeXzMNt={P<d+A7?Nq<RO9xR5n^giq3X&e^!_68V=5$ z<}5`V*KAD&0h}TZ)IYtp5SaU+|Dnft1?N@a3W3G1vEji1D~J0eb2(`o!QsO{>P~KV zq_9YJQ>}v>Y)5*UsHeZ*i8xJu+V%M?CF<PHiqH62Sk#wLb1(n`#>9?$-f6tHCF_+N zvQMti&)HbI1|r$;jBrODIP^}TZNbU-(1nwtt|3mCSwQCQpx5`wb^DIhTFVexi{T8) zx#};YwInZ9?TIFbCu2+foW1*+TrGw=fM(I>Wxq|-0!`SwYTY9fSF!{u(u}UY9nd)i zypx>8x8$QgQ`4J4i5EkMS@lyg1^LSF-V-e=#fb4eORI6NP6-Q(6tSaTK93aj;{uF9 z2+Z@ZrmJs(H&Mnx+a1{cMP5s*Xy0A%HB*)>N?;czvj63dlh-@wi!+cgUSgRD;D1CV sImX}~&JX}$gZIDrS?K@mb7gd<pFuwmvn8^|`%kN!w1U*{w+7$-3&<INr2qf` diff --git a/docs/img/2d1845503f8ff90d4dc71459313e4e62.png b/docs/img/2d1845503f8ff90d4dc71459313e4e62.png deleted file mode 100644 index b32f3d1d04aaef7a24ac0739b427bca423a20f04..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13310 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 F{|{0Y`q}^h diff --git a/docs/img/2dde5152cc249727c2d1016051d52131.png b/docs/img/2dde5152cc249727c2d1016051d52131.png deleted file mode 100644 index 2e88cc041a0ccbf9c3eaeba86f6572a9825664ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1011 zcmV<P0}T9$P)<h;3K|Lk000e1NJLTq00A8U002(}0{{R3By|h`0000mP)t-s`uh6l z=;$jeD|dHyx3{;MnVHkm(@;=Q2nYxX2?+`c3JVJh3=9kn4Gj(s4i66xglUnc000Ai zNkl<Zc-rlnL35ir5P%mW!4;dtxe~cCSAj6Ts(9R7F~rj=#)*6N!)^Na-!8aKXI}hL zx1lfdM&H3UNP|D`uEa74fZ?YY{+F2W8w>`6!C)}FIb1QRemu5i&tGT@F#%wKtDpBt zx6^<6WIg&k?l$DZy;1d?PY&}x>$9g<766>`sl6{KV2d25HFL?D&$f8yG@twPv6@3L zSW@1e^BHLJncv@_a+=9{Rd|^<NVBRpANTP#80b^+X??6~_(*xO<rq(7a7!aS)pJl+ z{3RbIga9lh8}lX5Cl*5XRnJw1^>f;%uE=LP#<ExFQ)`OPe6#a<%h$jA%mICzX}7Ly z`LWGc0akzYTzjW|X#bhtH!$BRtmjoNvk$S(-jC8xy0`tujjqsVusXFrUxfwuA_8!l zgXE&jU0m-sz3tCoyWX`uF}Fv9!C){LdSVnjeg1?^y)|#205~@E?M?pj5gH+;FI~op zemq*gijN~uVAM6LMJV(j6uFHm>d;)D=d)}tCx6q&zHvfmx~nu*A@N~jKWZp6wfu$n z{HhP7CM+;DEV4p0YAGR;MLr0|F8Rb=v&hzxsTEtRom#=A(zdoDM^T?wCK1;tP$qb= zovq<PRi&!9(&zhR6H$p!Q2)*+JZ%2z1{xh}_ZrB@65T15c#F-NB^R?@0<&?#a+dp> z1rDT_tq)&qQD8QnS;<9&dh2m=zR!JC<icy{m(<r>eC;B{L-_8)kIgH~AqAi1Rtifd zVPQ$G*I-vbfg&H@!znnjwme83iAh|Z?}IIEF4~k>g1TDKHvaYW$p_znshoV2QWs>k zz|TIUzE>)RK2_(lRZ7w<$`|@LIQu-Cdv6pJX?*l?ClrddSRA1N>!<U{urjTo2Nap% zkbU#n!g2}85C^{d4BJ_-#0Zj4bnYMB;yl}9p&Wf;{BdCypQ{_vsQ0bUv7G6f60nXw zm@n|}x~24#FPeq<qB(88&ZNdICO!z+`fzbjRr57u?@(c)q>F>(;~dMGd={HU=R@@j zb_D+WErulG5lbH=PcKnDab`~XkUFVXZtl+WVa*rt!?^RoLJ}Gu#K;Ht<e=T3(T7i- zd}zIQKDgfLgria%StOBFCb-^bUbo&C$sLrq-dC@13*pnZbxU*iZ_CH=z+f;K3<iVY h|BCs4KZD`b`5VYOzUWOL@`wNc002ovPDHLkV1nHY>JR_` diff --git a/docs/img/2e1001a11cd343049b87ebf60a315e9f.png b/docs/img/2e1001a11cd343049b87ebf60a315e9f.png deleted file mode 100644 index c4e3bfe3e9432a12fffd6211cb5dc9930ff0f916..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3050 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 aytu4@{wylOb$YLP7qGl)YlgpaGyb2S1T4=0 diff --git a/docs/img/2e2c36f66667fc52b3fb3681533dcef7.png b/docs/img/2e2c36f66667fc52b3fb3681533dcef7.png deleted file mode 100644 index 10fbe41d6f6f476a4c057bfd8a27baf152632165..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3062 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 diff --git a/docs/img/2ed1719eefb651778ccd248f0bbe577c.png b/docs/img/2ed1719eefb651778ccd248f0bbe577c.png deleted file mode 100644 index dc7f37b2b774abed028a6b84ac6f857fc0db22db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7520 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 NLsj=_xiU2De*o_Sq_qG5 diff --git a/docs/img/2f78c411d32ee05e95a1984ef90b2356.png b/docs/img/2f78c411d32ee05e95a1984ef90b2356.png deleted file mode 100644 index 1b85f599493c2d074b2e3c0152df3b830f87a02d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13029 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 diff --git a/docs/img/2f8e418a69825e31935272d55cceae7f.png b/docs/img/2f8e418a69825e31935272d55cceae7f.png deleted file mode 100644 index cf2b436579426581f0b2e281cc57a7265dda59b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27675 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 CG2rz8 diff --git a/docs/img/2fdc2024eee83764328fb015ffd4e392.png b/docs/img/2fdc2024eee83764328fb015ffd4e392.png deleted file mode 100644 index 9bb64605cbe9d6289d57bfa6d80a07f2c011003c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5612 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 diff --git a/docs/img/2fe480e26b1b89b82607729986e5b13a.png b/docs/img/2fe480e26b1b89b82607729986e5b13a.png deleted file mode 100644 index 8db70c71febaf3523981c7aaabe911a9658bf3d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57800 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%0AGDRP1{>P(~&^C#Et;o!N-H_k8e0BfJ;e7HE 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 diff --git a/docs/img/2fed535a429569e1ae792fb3960bcdd5.png b/docs/img/2fed535a429569e1ae792fb3960bcdd5.png deleted file mode 100644 index cc8f7fba523501c283eb081f563837c2592d1383..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22338 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 diff --git a/docs/img/3001efd4ffb849af0c15eb8dda4d4050.png b/docs/img/3001efd4ffb849af0c15eb8dda4d4050.png deleted file mode 100644 index abe345be14581776cf0baa2408b85ae44ae3c012..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17983 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 GLSTaBawz8j diff --git a/docs/img/30152366655be1543f687603c8d34d96.png b/docs/img/30152366655be1543f687603c8d34d96.png deleted file mode 100644 index 02427f1ef6ed1fe01f9bdcf696254a8ddaa563b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 416183 zcmbTdcTiK&_67=qAV?9UcLYI@UX_lB1f)roF1;txO9&unEVKa935bLyO=^G$5s@a+ zLMMc%^b#U9bROP&e>3mTH*aRoIg_)`*=6l-mA%)Ox2DE=^t4>GWMpLY`hbUKmp1`2 zvTF*I6qiqadkKqQ-egP-Ep*v9I7LK66%-V>l+1=lMoV&{Oq{*=0=lnVyGBDpLrY70 z{rYt}Iy!oKdIkmtMn=ZRtwQu<<YZ*}54A1AXEz=6UAdJp1Ot)#?9c4*iq9kl6_Z_$ zRYG%rC^qX4Dl*?*S1V3DC82vTxTl}U6xj8fY3x1%4&vt5e_OVTE7YbCrj!3u3bcHa z%YOauM{;biUvKDt3nju;wfR5g3Z{-1``^L@`|nrDglmBRd(lr%OXa^WHVX;-=SAxg zrQT+D)p^zb)wKT^jg;4HuAXH|{a+7Yzum!QU{K5{vKu|<0r?X1f6s*hVcbS(lf8u% znxGVxwg2|gY#rw&ppWK>5jhL?k46CguUT>own?dGcPk`FQ}f*Lu(fcQm=YWO-+^QE zdVym$6N7e1`eAyL@`RPppuHJh^0j|6J)j2c4t);QB<&7;tC=F<hL;b`Pi0psRKs=` zc>nKvc7YH;V{`eqHU^@+u6h1GMnQEpIB|!ND(FuS(0mPwQ7<UH6pxU=An3Kg8TKgk zZ2Z)3`E2;Io)J*FiTx+K6RJFCy<<JqEhXEaGQIQO!c!B*KlrC~-W`6}gQ#O!^Vq$O z^_9Pb<3kxfY#n5mu3uOX=QA_i^QD8Zxw$QR;mV0=pNxxoO!^Vxi#^gH^X9u^ws-Jv z4juZ?ai(H$SDI3?Aa4w<=Efkw{=zQCH3GoPcUG%PfgI?6^N<{~wr;*m__ubDbUOVm zSXXiDIsW(9w&+Q5KjOSBV2#@aFhvLq2nY#jo|!Y$6{dv&t@w4cj>Drk{y{`a)!!vV z%FOc_YAVSJ%NsLYXcs?IY7pN^1T8;`7>k~5w9adoG0Z=!g+KE2f(EBXfd8QfFD%fm z_$2bCYOWn5o<@{6X0>q8KA|Io7X^m1pAcja2VnvAZTC*}-=uFG5JNq+Y^&qSpX`OM zI8O%5!!9K!{drBUX!h$o_u~y0;a>jbm1<|*OJLl&Y!rMAy0=U&g_<0YoHXYNO|X96 z-1dMRJs<o_cF<do3{xw3<*dy_D>uut-j=`c^s+J0wfeEW)p?aI1)WInxTIUmPnsZR zSeFc9N#_u6nD;B(S98dNJul_YOjLtyaIC`HTTHPEj7$KuQDm_tgnfD7I&YAzok#}H z<N7}V!0vy;%Me`KD@HXP=naCZCnosRs&C~D6Y+d8afK0KE{3wRMkL4Hx$@M5xr$=! z+pfRKO{<F0zKqeM_&xQiM+p4T(!`np|6%thhtTlx^A2tSIP_Yu0U4%#Dtmap))%aj z)jxA2x%DHU8UL@hOu@my@EHHP)li(Zz{v5ukkGAY1-QK(9G7o3v%jWd-sCkkbj-&G zn=P_zXl4vlRK?CoSSj;zNj7$Y!nBV2I`&N#h&Rc-9jO6&Ww=W?P&6KS`TG>ySD!?_ zidT@w*m{_EA9tLTE!^G^x{{=MadMIp1LBEBWn<Mmx7Zioz?F|Zk~a8m8&*9+rf6nK z9kd<=ogE)E;I}5#c8tFNj5yg?E>^?ZBL_;hmLHy5Qv=v}62J@OW+z^;!Dnk;_Lqni z(NrF*8eArLK*F%}M@Fo1gV>IDO?90f$%w7HL{Gl<+Ow_47i%L&j|#^$gK;1BJxql? zj(SBg@$VNTsaz7>&qEX&6AB-*V^5DxR$5qT%p`S>{R2WG6;<2Uzpi@Rm&tM<>*sm8 zcd)WL(zYvu9=(T9FP@;Q&>XBx*qR#jxm$?KKa6G;6~-E&l=XhkU0FW`>?IT4BHvE- zJe_E&a3sLW3+bB*b(;&cqq;RZw)W<l2|FpF5k<G(`c{&o;bXB1_HPwANBhVzA)09| zoaAqZIeDdnsoiM!ART3+-DutQXG_N)H-<JnLfa30xnH}{0?^RdJ>M&U-DqkwJ(*=M zj4E!tAPilDU7h337B>?X|C+fKaf?d=S<&`A>BeSejp(bLOIa1D3D^u~^X^;_V@Q!y z@4)KppU!jani~(IXNMT@{;P#XVCT%%6WW+I`Jx6;u)O*1%yG;vHsTTjA-}ZR`f|T9 z!BnstOo*E5U3P4E<29}0pIki$_*y4?B(NJ})YQ8AY<trWI#}TfsH7>XVSz0RUMY#) z>p_9(ncBCuYPNn#>RJCzDoNwLv~NA~3Rlb?lc&9?P|<qF@I0d6P&TFzDtI%(-PyId z@Sio7CW8&dRC)lAyI|$Bm(9o(DtIu9evpXKRUo}i%hW&!X!g21C@p7HI;tIxZ(P|u zS=?Qnu!K&(&jj1n`nvvNBO&29G?Hv<+MFE5HhC!7q}a|kUw@9=odP-R_1_S7Jqcp* zZuw53eT+KOxmd>shV>o&`db-zL(-};FC#Z3eEf@_Kb?0|)e5zk0Gx~R`1=<{h$>0q zqIF|)c0ufncRuy1CSr*k)14f<SMl7cv`9Nl_QETSbV487sB!7yAY!qLA90Fw{WAPX zsv-|DKCikQQh0pLDNn1bLp-Z@+7*X=SB7_;K&aR7<2i8q#?x`g@=4jz@#K5+iIpA; zHpO(4mbRGNP&dNwCfVd;g6_O0QVEKbcd+hxVE5d1TfeyL_7;s9wJxtf&NFsu04P5N z<PScq=sA_lOt`CvEiX--g7P*cBy2?5WnW1P0YrZZBq(ef9uJi>!8DTS*4kE}=&Q78 zqq?6&e>{&3)+Wb@oZOh<3(m5Z_Fz-Yirnoln!g56-k7D{9WuBx6}s<S9JGtS`br#m zkoV%FG8=63vzNcr+G)9`X0zxuK<$P@Xi(OAtDhqIJ!Pib#jPk_7eJ(y%|ZvtfAGuo zjV6Xo?mH+uJZ?z&0BlsC0BNDuAZ3oRJPxWp+!Z~WXQ>_GQ>91lZiG4yy`&QD`IHp9 zmsj#ond)tgUQgrD*Mw#phF1~-)#7B{^Ax74WNBB+RcAwjYo?xZui%K5v5ilo{hlfL z8vp$4-t<&L%5m!o;BI~QuY6~~Zs*-IyK=F8vWliy1gh%#xAj8jL{lmRl0Xb<kJJ8Z zVm1EU{{<20{L?eq8vaJvV-Stq2USaDo%ifbKeHw2Vjc4!r&g7Yjj?VqPN=aDOnb-! z@_MRE#bTfW*lK(Hkgsa0vzKOP`!Jsy`Czx`R;O(qeux%1i7qQXM&`BFLS&YYCZm=r zZY}2}m8G>P2b8wj;06Odv*cnlCP<(rg!66~*!lZ>&j(I2N8d0<HkhMRp=#WCj!u%- z5Z5x9zG#mlDYo%WAJ?%%1Z4$<Frj&Yd~G({)ODcdZrA1%y90Z)Pww)};4j@T_tf#K z0%wNL(M+&O--W|K(OQ%PYE+xFrJSIwE^!ze3?%Cx5}%fg!8sa|A%L}PL7AB`O)*dD zju-O_7P9<#U#>EA9N}$AB*qoxrr5pSjRJyYf^PJNIb}2wUT?a0vY`&GxSTs*ir^p- zh{daNN8vgM&j1PB3O%QG@ur?h``{!IUY)jVJRWph@#SLWj~M8}zq7K?tlw*YZwL3T zCm)aBz*M(6Ha}`S`hu;W|BCCmBMOvUA1qu155TtQUX1rv#RDSA<9{L}pnH+g&gA-f zi&=zHYJ?G+V<zrblp+nRQJ64!1%qdRodfT~;U&6L>H-s#ikTZ@2@_Qmh=z;<(e-)% znjtnU1*X=H-0ZaVmFV4j+%CoiK|{}AJ)gGF=L7aHe6n!%@`##22ek@SbKZqB6xPJ^ z<f6II7Z`+3&&B&Oa#$}5P$|$&c-U0yK^NzxfF~3Z{ze;k>?_@mHJ3UthiB!!*X#;b z(E5SP<xW3SQD%Iu{0BYJJo$!uYw&9aMcPsX>E7@~v(CT)e*VT7VkuZ)AGAAaHyEAh zRJp)RAV#*LllWsIqWyQnsz`{Y_eB&cdOBMK3qzA_h+f8=aN9-=UZiv{%=h}pkkPW$ z3&ArF^0fyPW<+iAE10|?wu9J4;V(7;RSWhM1G91n%}AN!Jo;NXWa-VNVYL^0z_c&> zK2C#5Wm#M>prP^RV7<<dhUVF=+p&94Dul^s>(lD<GFGT_2{h#EfyVy0kiHIZIExBe zlY|;S+!!h&!+@w@lO89>WkPaPl(r31XgfVnBgvnj(y%p}P9fYrg`evQf%&)r&|%yc zZkiB>rY3aL#m-z+m?y9aDDP3?KJiae_-J86)Kfn<cB)(Jc7KLYwR9zh@W)L}PL;>) z3!T1ZSiveIabNvLi!vCf2WzXZeT#C>2hXmb*K}R5b8p1U;Qh|eyMUkVO1NEoyz060 z@U`%dvxgVKem``J3Vwj^Mk0;%l0<DITKuZJo-9l{2txOcXJ<N?U{XI~5f`@fvIt!o zSR28Ie`Mu}`xF~_e=KHrzWg?*-IlUQMGYf}c(pYe*xHucG!Y82)3R-r!u*j(ggnav zYjGJDPy?op(VUd_+@U`2Z)e2rp)Z=aq|ZN}jC^%|lbC#kGyNiOxeiTz7O_x1D@yf1 zV_#x946K0Ok8NBf|4fmwUX5!+qh({=rX2DH&vD63H+KI6nmbxtJiPwh?f!A3T*j)w z-B0Sz;r(ZY0qBd9P;dLc2^S%t^A`U>bAKnrl&8(?7h^9(&vHbVp`37R6k-X#5)-yS z1nNY#9{d5hUIQjE*K$`$wMpU`n;p%Wc$;lV-mNB!5Y3F5$>+g80VrPl5URL?;F&VZ zvIBEOQV767*8%>Vu*8W1I)JY=yzE<KQ<AS}X&`KCe0ia&x*2?_{dIHz4V_$2<iP_9 zOsNBhmJht#O;+1|h2{FAZluz~a>o6};^MuqEVbqPH&*f)_mCPxuE(fN%bV&t7*R~i zwTtq(S@=Ar=Ss;V)K+>2KJ35ha!1RyH}*YB(dbj^lNs;szq)!?fWb2QDE!69$nQUV z$IczzM35r76-b{l(pCa2NxmUzUq`)BpT|Ar(3_Y^C<DS1fH@|l+?bpSE5#CwOju>n z0Od!8(Uy(YzSFJdVk0HGec^fRk7(bqHM=a({c%t>`wncrkw!<QkP1*)aLe63bn>0i zRm85$nY?d1mDX`xEq8Fhs62uTl|{y!q!+EII##RH3p<`Rrh;WwzvZ!c0Nk1qi`_%L z;%RUlbb*?tFappK&i9fACFC}M9cLsA1tOvkrlKXMF}~YYU9C7fM6GpvhII6oy>ry? zzx8fgCC(g#9L+0LJQ4{+2b9c4H*jv1Ld)4?B`#L)JOIzPpV?6)*Q|L^dU>RB69!d@ z?Y2-s92ayP)R+A#$;t@ylciFnq1n!>ChI94)OZwDuSO6AZv+~L+$Z!xE+)&T@Id=& z+N7x!TPx3_qME;DV5c{NXOmm2^>$U6x>}LGCEv`+*UX)+)qab#(K<F(6usEk=mFNa z+4+-v$h}z$6Ix$TqzSgKJ?3{O)8{Ypcw}2rgTM3?F}^D~@jNMlXSKfMI&%9`8uS!s z`h=gQdAoSO4}A~c&A+7UKbkvrb_4o`*~V#@aA44==9=lRm)ip!a^|A?1(1>GkIBe- z<iG)uAy$EWosVauy*_+Qwm1Ro|5=eH7oWX3-3rZa^3Wo5V_QAgpqyv({(UmH<F$8B zfblWXlbKfD{8^z<O)K!*PEvCScKC0!vUWvBl_NF9Zin0GLI=8G(F>UV_Iw2Ic(L6Z zxw;-@{%QO<69vYDRv^Lv<$20AC6Z4d$KVxXgGnk?(ishoTre{9$;jzFi;}i%_@(Yk zQz4vu$-LEHmII){xJ=GV<YELmTeENZtO~h4p<8Q88vkNLm%(+;_i_>>_qJ!!c^i5C zfKC<>qzQFnx3l&e6o6fAyfi-j2S0-njq~ESFL&2PWN*=mCkFH?fZ7ncn0tk&?N2$L z;oj}fCtplBkGA(G!|~iugzE!B`{PnYy0yt3*pQ@-tuJ&>Pwyqr)=sgH>(y2Y+HRw^ zVG>uWfSc_n8d^L~|Ew1c>e8oztSry1E;MCu{S?FlmrD%j9qIae7L;ysrcogBH&6V* zC9h{>1(w|K$Dwb;c^0d(s1Rc*4TT-5ydIM+_fX!I1V=@k<D({`dnsAPMHEnt{1r!9 z=u}SU*CeYM$<m6=M`d$I<@I)#F44cyzjj4Lek}~$wjme)Q_8bXYRe+DT@7eDQ%#-W z5bev$AGtv0Z90QnOW(tvKg?(g^6NbakNu9%ojq|ASDc=++9mUKaPZv*$RqGZhhD|I zL3C`m%XL56cX2f!52^BosD6h<D_<oh&JKOg4W_HmQE11^zTw)UPj8#3^v(EsW|t23 zc~6o10LNJu+uznc28sMmiuAZs=_6C-)#`PD<Gcq^IJRG1Qbyi}D)4if`MXpd`7*U` zX5UZ!qIgA1{B}?Ccb?mv8xt<_c91WAK&u6NlS<u7@H0dA;(ChjqO%I?>H2-dqVLKe zeADGopOO2e`*NM@<ZIQ1uMw7|wK3cUb=`AbJW~r_iOIN9$-$G?1S0o^EFs=pWq1wW zDYKJIE$q<fq8?^I)38-GRePp}co6o_12Vy;?Z*CQB0U<>N@iPI{q1KYGzip0JUf_# z@$%ju{jl%}5>}3Im6{Tf?UfTAkf76%ivT1G;tuHg?^jMPqrk;cEunP%fZ4{++VZJL z-`;fl%kW7r6121`Qjh4z^ysFjAkMLwCmV{4SE0dtWM-CYAIM<AT<b2nhC~N4gxQ*a z&-vTLecSUroPo8K`b2D_;fE@(e{)}d&oXniN!n2xfJx9L(RmwRN$dL1+>5y0l~dZf zdA#?#!>o&_qkXlq<$6KGi6UyyTy*sFS<^4KwNL59GubHH`B_jV+u)f2eORri-@g+; za&m7ti}ez4uqjV66oSHZ9{UcjbcFjVUPo^zqq%GI69m`3rif_es(3^9CaEm^==x<5 z`_-<1T{L?hGSZvy8_NORLkaSfil=ypAdP|55Z6pm9O}xS<b*j8-@#cayKV3|VSZB7 z36yVNIU!}J{^|&#OSd+*!2|=^JF@%Iu5`F)ra=a72^>vy40Kz*j{95Ckc4!cih(GP zMF7ewONt^w?PDDMNf?Z_JT1&a(61+Uuiq1(E&$;=50sFEGwM_Pcvb1Xf}mgW!EafD zjwi({_8HE%t|yYDp_-N$7+UfvhxpjzC-dvt$sT|hq!N{d!@$<qhMjffD#&_ZD}7_8 zR!=D0&x8&p6`d!;p9Z~pHobm$2Ab`5ju$O$i4#=ib(RrVrB@(<s<DG@+skP0?`<Qg zA5QFg6PJ|(=)AMDm*;z6jbCf9UnUN0uxO>-iS>7CR+4`wr=!@v<qY#5x0l8%O?dg! zp3Ow!FSbTj9Zj_A>av?!W9*&*YMoMKg(<wc*F=xe(1!@!iM^XRC!~34AqVZZsR`#3 z_SJ9NgKHlhYVeKeWr?>%R)y|hUKi>FYcP`aM=aliD!ga-=pp08lx}8}?Es1f^}Y7s z3!>JLQbH<u*`rF37w1UyXcHu0YP*^g>H-FDq^PBc{GBe~5irV@J(wI+aK<R8$jihO z<A5<pD$nyv__7SOPWttIhc#Mn91Ox<k5d-~e_3Tbn}P7_w8<BSNa%~+&G|N?(zmz+ zQ$ng#RM<s0heY$z-6uLYWrhHE{EaAAobkie<6Dzd@0Ufa4baG&y#?4~Jk<U&FisiK zkYZn=IX*_)zo4QvY$zOHKdDxhElgL4I%iyq-PI4a96v$g{kbp$y5QGfa^Wkf8X5`U z)@YpPeK_MAc{yQKqnb+yrmp*oW52JgAHx*GlW(`BTpmy#Y=;D{3_5t`pHC&#?!VV$ zzt}h&2tgeen$J`dV|*`UST}y=Yvl^!hEYrBp0qN-;jZ^GodI12DoN1<jx;NZd_1Sr z<XQVsA?_*iHQ4UuQPlhtE7Cb1xzT}u2^#Odj;{3;Yn59Gm6~hap108m^EY?(civUg zIX>H86#MxaZJhIq7F_34a<gY%c8f3Np>@%ZC}(o-rk2Bsh?zDY`hAvoGQ_yIvQT6z z&rMfV9yPQLiA&oY9z2uPdQPHO)N$&l7S*&y^Y0X?bJe(>s9+TZKm2IhRC(}RmA`bg znGIQp_8grbRxGo@R@tcYr%5e66Vj;3gu4TFRSETZXxY0CKbwG^<$Q*8{n^sRHe>q& z%RzZ@U~o12scSJVn#67AYIn1`Y5Up`kvcU`O8)#S(IJVd*np_f4p&_-H7{)wYAHl{ zyDHnff0{0IFl8CLxU?RXKjE-R37Z6SHhfW%Q-yP)?0@Dij~jAer9yMReJKVsNbu3` z?D4^t&!PZZUJgy)P1*sjEi;T%fQ>HoM!krGI!HCa-;MEc?A~PNUhC9(tFE3CP#L6p zyh9wKyEqF2gDkOOc_&!SV8hE3s@Ypuzfs^TP5S_l-JcKbEx6#jxDelq01fm7fw*7o z3|NWrb#%+{MiMZKs%N;fGwhBd$e}nNehzAHZcy<HKH?J%l=s%M0{%565*58?{d#6Y zmnqlQuF}(<5mS=HzWA_&+kj1uVbhQ6czC>yYn?pHDEQ9oBkDH(daY;c)^3-H@r*l` zQ`J-t0cAVmb;->Z8y{<vs;L3jr#4;)N^WZVQOz`jHSm9TB^}3vy^iv_fGF5so`gHt z<yAoFM5;j-?aeWlfdC5RfAxvzTcsx#O}80?x;zzLjg0lq=N)l2UUAW=Y77<M0)9Ov zwH7=Jg@pMQD~53^|6ZT7NRr2*@Y7<pNqvJqi-2|B(I87um)c{-ooHYeAgrbt?rLCr z+TOac5{9f(mSbFtjD(dq5mSEG?j}C~jJ-T<jpp9{Z4I|W1~w?Y87IeBj@e89Objz$ zo)IJ$3!Y^Xem>UQGB4$DSgr#{XC+J;wtgzQw94J0s5uwj&*x_gqyJI}>RR$1PZ#3r z(8fEP%T$=pfvU<jwKea*!Sg2O7KL&9>D_G^z~d|PNTq9TEqcfoOZ-3$8`aKM^ZnKw z?-j^xN^{PkmjMzyKF`3aER;@m1YFk_B6#HuzFl{^$>>7ywewdS-^mru*_~du-a(n4 zB<fRY(`|<DpF+nql_xfhv4h>xc$?(<>_43!$@}$$b15G+`L1lRMB&&so;S6tZeIHA zWP&zFn&nI@^OTiwXj#yMDQG>%%aMs?!~4AI@J|z6gM<03JrnL7YuWJym4Ake|Hvpa z19u5g{)k`DNE}yEtkLUs`F;~_)O0B+1;_0KcU&BrJqLDK9XEF<-Z{KMTsa;YOtm5X zZY!*Y_@9Jg*{^u+z&c_>RWrUx;)gxfgX_Gd(RR)IJ72B{z}YOhu}w!zDVGE5FoY@) zAKQm@MXO%-8Rpu;`y4*C+j+KQO>}5gCVd??`ciV@|7>;E*tv|ed-dv=hKl4>WU@BB zAy>n)u|e7OByMf2U1h_TukxH7HimfMS^_er4?iR!MLvdBn)J2Rs$qw@v5*MRHb6%T z{(4W>{s65CXsvXb|5^XJt>uhVMr{78Cl{+=CL9rU<6mxPuzWK(ZgBS1O9_6tfcz$R zX*Nd%*QeOScTy+SSuKjKh)lt?ec<__+mFUsv5WcHdx_1frH!40IkA~wCW4*nOxLVd z8mq-diBUJERq=4>Nw}x7H`9XlJT}x<$dkm~d(&S9b2|S?dTVM!I#19DRO<2lb;AYj z!b>+aJ@^NYz`g-$=KMre`C{)P<YH>}v=AFSd718T1;-6C^E|el^mT9=fB(IeH{Z<4 z_gCM$w<R1x5Y_jqO7~SfsEU##$J=D5T{?fj1hPiu!(<Un*f-dW?ekW4dEb_`{&u^) zNmFrpNG5{kxcznrH<)%yK@MlP4LvZi-SJWgk9;HyF~t9X?Bsa>G$9v}p$+5dRK^3$ zOJx0GgoDk`|4Dsbj(VRf-f>VyIRlr!VwAu)*&P02R47|c`_VO7Cwz|AV^EiWzW2QE zq>{+3ppA8&?BigP?_GFDm`!;m7fywvg}3zM2p)eBp>L)Ctn1#TzsUK8^T_V7H@|h0 z4TXF_RoRK1Cd<{J!T(IcNU>EuW)WpqR<4`~w7n&I9Z);*;@W>wuaMMOw>keXCEos) z>Bf(pfw#IW4YNH7Zh@tz73Ob;S3qE>n{(g0n?MKm@g^Z2D8bLZ&AiaqXDOJ}Jc2Zq zpV;i1<VH3v{!CW372mS@tl$UfBW-kaAk7(S95g{wz>f&z@f{#M`nl_vH#&!V$*320 z?(@qdsQB?Njz9x*9AHQ(;N|c7w>Uv`{cI_Dc#=y!wrH}+sHLt$iCZ(5k!O8A^D7FD z)g*$O;GLylJ8kU5(Bu-mpZmQm<48~S5aafh^jmi7<yl<QPGMA~%SuM8&xuK4LxXpV zPJGRixBP~x=)(tJzkA>-55k<<{qQ_OIXv54h@b{26ZpsS{W!Ib_q#`(!~UfgDRkuA z*_T6?`Qd-oKmBR3ouaV$Jfv#w2Jq$EWYKo*7@Bn%@NhE%8NK%cii#@x4fL<^;M;gL zlv730Lq44py&agH)O~7~=JIuG@?hJP2&z6YF1v->xCmPL(U4x1mz~SNjbliEG9AaT z3tF{0vYXO7Y&pX3(N)q3v`2?nO#jPr=lQmO*_ymAJQGO?mBHnG$x{_dY+$Xeo_D?x zZ%2a5V}p9d{Hna8HQmOO%>pV5Hv|l?_dDdSRpWYQ31ijIkz4zezIQp$!~`9l#rFN7 zeY*Zg7SPlgwpFa&CmdHjXy1ms%G*%_UW&vf;+GHe|8;7YF)(CtAuBR#c_JI3@0%iM z^XYGM;e%n?MV{e^jo@I2$7uEog)m1cqe4H6wRy^lttsDOQDx%QDUsU;^HlGT{mNSh zhbKz-tD0Rp?)QPYS=tnHo+8_ZMm-2}=}HHLp1Z$4JEmxz7|9CfwJV50{+EGQdL@V( z^8fotNZYB$NGIO;I?0x8B~CkY<);xxzwn>AYF;fI!~T}vSAA(WMTV`jvsr`X#-Ppl z*g?BWclj5&KyOLM=kKU}S3xVyw)r>P?nk`P&zapkYhNqY6}db>CPWdW!rf9r{cpK} z9C%UtJ%iZbFY*5)1)Om0`A~f6C{&$k7zlx&Y*32=6c0o=8bdScz*xd3RlodsAOuUD zzXfvOt7tlc&=ZhKR!yNA=)oJ0W?SHXeh)@wOHaQvg+E6%$A<Za#E^C=z90$FcVs#o zRUMG&Q>|HccDU8*fibxmv;P+Zz&!7ylUFs2)IK287V_?uUA&3w^KMDsh9Dr};o>f; zqo#BA4+btq9lg?$Zds1oU%%RWPol==RxoyBnodamHy7MvW6%E)t0xO2kK)UeY?Z1t z;tM+om)qrJ7wP6iwb?jf<u9`tPW^whgsT9MzvAc%A<of*xxTr^RUqNxkuSTiT;s3m zfvJGQy-;<;Slj9dq_z;OiYB`M39{DSpT8lpaWnWurAAYQ33Yt}O5dIc{YC@yB%MTS zA|u+MryP@EE0i&gfBUN3eS2m(-5snZwi#6Z%jqBtU&cAARKkWVYm?p|BqR4ac?Mt6 z-IgI5ZLZF{kJ_HW^Q`;aL~t`=!kd(=p={5qvkSOGa?OqGQuohH*<2PBBCQ;r`-b|_ zs%C%uO_CCwGL=G=?a$AXUWxe~1rFdggX>5K&sS;+aPU0GDZj4RS=pEWN3f_I26k*U zXn;5T;*?2w9hi#knbupOK&Z+>HwtNfC&%8ZH+VCVzC8ido<p5Mgv!weDJxg?OSd=K zH8(U3`Oo=0ubGLvwp=#V)hZVOjz9+-2XoT}VZIvS_fL*Y&HKEsoxCmhnP0D$g8MIT z#lM!NVydH6oD!)t<3(_hScv+B+z>SBJtPI+wi@8_BUc@e&(9k)7E{d(etzju$g5T1 zb{m)!paYXtR<#0}H(<bcBAEDLeX=`X^Jha4Z^`Ugdj(ejahX<u)tLxB%ddPNd@*To zg{Yj&bujU4e`9;={{JLB<z3d_duGQjJTpy(xuM4SE;{cy2Ad=#r{i7tgw5IAE6;J| z*=Id#&(C&pkwk2h`BqNjxLuyL?@NX)SJ8Je8TMfJf;_*;@#&z=flNv?ZoB>Nj*ss* z;O6%@pqbr@X%v=v#P2+{TG_ch-vOOM8v6gn)%h3L{SSZt!l(aV1RyXKVy2GJ{^FEt zHvJy$4X20k3q}_u8kK*h52g#+&rgr80Zgikj{j48Dp#PRHoxbz-VjNd+I|ItMS`Z# zznbZPT?6PrgWdjn>1|eqHlD5fgDDY0Ix2FPm)tqGrNB?eU6M-CZUB=Tu=#n2O)Mhq zBJi-JBl-1y<ukyQ3G>zOse<ZFr9U-K9;=*wzDVn}Pr`qCw&cuuQAldyGI}AbOw6HW zeUP(bo!4!rKTo2gDYm0ex04<ykvWczVqC^6FV<so1pBGat+{w0M;BT=oESdNw1}3% zgWBbdmVmo_4!U2>V=Xpa9ixsHY8O~7Qmiq0Dr=D9j~cp#C)iaxp}E_eofN$!FK3#_ z@J{klfmVtytdAtPi>_^o<0*Ai+BORWbePu%&I4o-dPJ%yP97RGCoouGc%EI@=hxI7 z3Wg|};>zk6Z>`*z7qW;xS8JlJM%yOekacLHATPOh<>3flfk!KLCy-0P2;H6h;2PVf zrXO2FL6*iRBw-FStx7ZlK;<1*hoaVTvkRajt0pE@!mQkeXQ)maArmE`b8kD&xF9`w z{mSb&8iQBxU?PN5)cC8Q#0v`p0-EONrTL6MxQY$7*md5QOFo=+y4%#((QQtSC?nQ> zo$rgD&_tXJr8E76J}Dt(58R-zxF|B<KVk9wb0f_LFsR01v5m**DYCtJkOgNatx2yQ zzD4zEt#drLkbHK<WR>X^2;h#KA9P>YihF&$Mr6r}8@r)!hKcE5%fO`yPBeS)G{>}S ze!8Li<K$lHJ<Q^JMPc+9?d$7{0K?7U;?J+2l5s@7atgcQ?IezJ#e&lHvT%;%YmdJo zKzC)WGCDuLmc37(DO{K6!uDPwt-|KdV)|$^q8G*x9uF}e71`T`{e4W1@KP(jQX`B` zrapLD@%ysmG2`?L#{d|1J+egF^X`p4rbB~u4I7<=J5O5c>xpk)@O|jF5bWDaYS~;4 zQ`eb&F!nc`PCp=?=ScAbCRLCy<4#)KuQ{yNG6m?I+6(FnyhPw4-tmFOnN8d{WOsG~ zx*pzUeRS31{Fa91yZXG?cc%~eRbI0MK0$~_?)g)ug)%8#f<F+}!Lw%>fOLt{(=?4? z*qLp51fhQmFu9etp73O*U;4a9a(-ITn2z(}Hcc28jlTGcFIBbD!|&GPO@H-5F<wlA z;SZv|QP%c^bUmD@RewYIX9kNx@jj-$`Y9v6qh6UsCt;lZIMNLOt{wk-dr`1L`Tz<) zB^%RFV2xa2Jwr^L%=<Xp7Bm$P4AF1@VUz!w^45S)oEg0^H|>i}?Bl1i-~da@hS`JP z#o?b>=4QkTUH*1^aV5(lAU&`S%6rUsm=eJK;vJu3h8|nakIxjbZ-oFaFlt553MlhG z3(|GRy`d1~tYjR$TI$Qu!Rp230{G0YWfrp051AWg$;fi*z6rh@TNXrfJ5B7b5m{>P z6IKf_8I1GY%~HAw8{Q=@O>4tM{nQ&h!M3H$+MEeo9Hv(sXUXPn9aa~aeW<?~?T&7X z(Gb{w#e9dsp#8`1^-ub>G*_0M`0O0;pX_funW1^5mw^+`!m&qm8KdevLtJ|e5l^qu zsv3w%af+fpedb~@X0`fCdFO$&?9Q{e`}r@z?fy1Vr`q$S1<Z72{@oz+ZZYj#Ta1pZ zh0lGXt``58?0UGDuv>?Ey}4SCwe#&rEV_LVQS9XU7vP>0BT+KY&*(OqYQ?K#)-5eu zJi$F*$p?daJ-H#jlR<O8Gb~m^f0YI;Nq^Wd1wz)0lj)Q|&$*6rnF@HdS@d$B)m&fT zREgdzQESI|0{*PlpLqDrKp?hMpu>BBvi1k+@^Xpt*FPQgy}9<}NE;*iH0{;>wZ}IX z-$-Ie?d8mmK3N<LUSEssVy9V`3B3au$ff$rfhl-MZ=U~3^=hiyA62Ufp$}!%o`*j6 zp(b&HHZvsiu+Y^hkn!jZhHl{{Y`XB3ky&NMf%}gw3KYatZrtch75-z0v7QmkQGYnb zZRqtx<K@dWo@gic8~XAH6ib6|bXhE-G`1~YW!9|j)}x8JeW(0ep{6q-JZq27>*&@- z!7m;}(P*TI@a4on%s}@m`yQsf;z(cY%@zOnIPt6YD^tsZgNl67VJjc4)HkTHQB9Wb zG$FL8T2z|DcUY9B*C3G`Hg^c64BxV(jLev|7M~Y;i_+DN%q}}W-ha!bpu>D=3@ozX zr)`d`=43A-8#f+k2MSxtiLO)zWtQtZi|GHlyZOs8zEAigKw%O8^jg0Rf*`J#D6V=x za&v_L)~{6ny(6yV8Vj7Y_I6S7X0KC4pm{V+ty5O{ZyKW!YLmGM=P&R0)Q`=8)9<Ek zeFvy02o-x~Eh*S&zEyrDDp`{rU}|s_ieSk7${ygn=yKCJNd<9j__O0jZ?bLrA|??! zn&#<;zv|6-oJvUQ>h4~)sfW_iZ-miG(7i@Cd`B4Bx5)EbOdm2AD_Aw&hy_~bLliS! zM8vedW0{C{d?I0F$`n|h7+zCr!s5-_SN2#$*r3#wT35DScuv@};D@m(ZL6sSdnc0& zf@T^vHpTbw!S8O^fq;+c*klGa&p(3!wwNX5m3>tTH9oThC+kp;$Z(i=vgvfd+ayVR zN}RU@N3)^Nzdvm~OYh&gd8^mb{p%f6{6n6SKQLB7I*VLEZQL~eg8Mo%lur9FHysuQ zrL+TZef#rCzD>(~Z-J@&^Sa(E`N&MR70G)P9ocu%=pOkX#GG0~*J2_u(HwYt<Vu}- zbZfZn%{_X(fTks@GQJy%0vTNu!TevmbYg8fhF?56(Uus#{%AD<^{QNOj}_uyE51{7 z*UUgPg2Qao%KiSbFik6x?z7(Ha}-a3;zQ`&M4-#BF1<eAza8yV7JST+zYFI;*B;Wp zV}s}fkYxE+oEmg*T7EBbk7~$3UQE|+yK3D>8H4X0KZz(TXyk84V|O{o9Gm~7ax#Ni zuuT=zFTYpc3w2S|I<^kO6B%JLFvx)PA80jrU%(1us2ivtj(PaEfKgHCw_fJy?fSU; zVzWOF$v<_vXITfi%qu()pk#LppbFn%8aacSfuS$$Tyot37z*LNrAWgJDx|$}pn2La zH;|D{=APR9XqLYk@9e5HhW0LI)_hJ4<45{n1;~WEai+mtN4>Oow-gr;o&KGSVV!sU zM|C&1?otEd3-MQ&7aV2iyvYNm*Lt@Ww&NLK%!Lmb<Kv!NJ&V$dq5lG~<OC}guNN+R zrx;j-d=ehM`~DrQ;eBzM9<wi%tUM((lNeWQywKl;e1O)pGSfp^R{%CPja^4Bgv+4& zJicZAK>NaGb7+CG(CK}G!_|7Cmrr5(gkQ6n{25r}g!46zP9UfNiBtNhz+-erMN8#r z>F`WObQ8KuLOAQSaEYdFS_})8fRRHyxAwGlwN5iegniij`uPGckFbGdevYa=6m@DQ ze(!g8;c6?=&J^rS;Dc$%$O`W-QEMj9K_w`^zseH6&Ur>*E&*U+AAfxIQv8ap<@0Mj zud~9J1xj?k+CHlK>jJs1Ev&sPNVwyZ-4>{n6U+ate5AxMQ0#uq{%xPE*q!M?$KXd% z`_63Ps7Fu)`CAc|f!+9sC66iS=NmkU?;+HBb!ZOeDVjWvJmIe)o140N<|@ygLK;oZ zyjSbfyE&Lg4Pu4sWA|9Cd`$CEcgdLhYwparx6lky+dol5a@9S`(9&b3=m{<mF}zNu zy(gNav-Z7SajT>D{+pMsd}dG0lrFf<wCa&$Vm?|-;(M|aD*AXk!*-D_AsZ1BzBjD@ zz^H#;_{t?kGvc_eVU=G6tU{Rt^zamc28WK;mCg)U`A)SlqD&Is`FmXJ_KVQ)nr)j( z$g!K~&}?6~!e>hlD_L(%^!?uS?bQUzy=(EMe^W*{l6VzI4$Cg)&>}4VAP|c+IN5Rd zyz67FTPZ+PUS+g)iITOnT||A(E7ZD*;8FtOW^uV-B5xQxe7jCZ5cf7!@NEwBqflje zDOAJV1dY7A#App{3rE^z^f6e%I+x=<JZsY6_yXCwNv039pck+~jZ>zE9eoE)=UUGO zhz2p%?H~fv1dP(Oxs(Vx?tTv)ZiqRtTh-F*2F8!$Ih*(VUnX*lB#A4&3499`nCwa5 zy3?Ux?)aWYw_QTMmB6ALo7V8@D50=sVTj5gA|!WWX8#s6w3z&N+li}4CXPs2*CnC4 z%9l=nB?l0_I~F8ulVW4+*jCa}mqbYWs@2(ayG_e*V;snP-ci~ywAPIK7|4`)3%>52 zwRfev_;X>?qlE1*kQu3=SxfAw8kS<BAPl1DWanp75T+X0davnhXU4VWW<Nyw%=pf3 zQL-Ssapfb#^O|YcLECO1(90z3Z~RTCLQlo=&Al+*=Io$wsXcF>YIN<!^6M4Cb;ylx zyQkpT_fX1T32jEmn~;@)$KADe?z;9hvZL1<f7r-q$0kx>0y9M(>6^H(T)k8GZ5z5+ zuAV0Uvhxrm@@CNmfaNP8)~BDZO>7-K3=ce(Z2{b*4Pw97WDxwz(r2j5q5%D?UUk2E zwb$|a<jfZa>qd7!ych*wHacu|JZF3>vXSW43)`bE+_Z9ReB9uL9^ZeE2R<WZydY1a zi>$;w8nixkMcygnT1_M-gbJ>cy;Xe&JQ?1fA5OH?RO}Tp>h<KJv`ug*C3*xnZOkj; z-kM*EL!CR+<r#o?aGhLVVzBe>b!~#o>#XP?pbLNtwikAt9^hevyO^9iZOgle1P<+? zFFEaB6PMAe2BC7bhS%OE{#4(2*KiG!BGUh{+Eh%*IApzd<Q-2%=R@txk4%^+qK7?k zfcZ|MS%sk0OwkG-yfs`lyzD7M>|*QYVinI1ONlKR<@PEbV|Ce-lV7@ko32ijR^xHn zSVsxP&@X<&AQjB>P#myE<@vOivaPC&aGi~m5=Ei6bepa&dOQTxvbMS09fCxh`^^ZB zgq&=bQk42O><3Lq|7cPsxKyZnSY~j&DZUX(n*HEpA3W05vI+|bDZXz)T7J}&P`SYX zr_)(yYmM|iVJ)S=8b7Zm&U4-CJ!6a(mAIGRypC{)B}e3V06avA3X~x$2x?f?vR?&5 z-De8K&7cmA;1+}vzCW)fXc_1f+WWkM(Q^XsElqF0e`?6)0&q(Gq+OqTZ+Rx8K|;K8 zJXPfG%Lng*@nWCu%DrRLudhr!>TGNjXMYga$Q-`fayH2=vMcC3VX)vk40|6m^ZOpp zX?B$;N;}{hz$bI)cZnB^3(@&NpTTFAy;&1%u+$+2Md<wH8b%e4WjqgFIit(s74Tj- zt8dR$2f0(<w{DPEf60Hz90}Q%73TF^d-I6olezwN#r!qpO5o%r!<{ta-CHnAdLYS; z!-joAed+qhql0<*Z2MEa8ASvOu?;63tnBfpO8)mwReWbMheL>$fTt({HB+_m&K;0d zuWA}JUS#zx^kZnx^aQoq*_*bT(pDoYf)2>6Z?cFK-17O$t;TmNyuYHR3K)x}Z(OYY z`Xr<=uv^n*&HJwX<}uItG(_PImx{&IM`(~yo0JYTSa8vZ5&+D;Ca*NJ^;l{bK2#+( za0{ep;cNWl;quZ#V4|}-&&xC(TK4Pd`pnq^Kkotz-E57?qDsQ*9#Fiib(+$$I1zc{ z*6~PZvp(S+Bqdg%0PJmlAY;KSu^Z99p=W7ILPDL~n=j3CKo0XQ#<k#y?d$N~V%Hrh z!m3$F>=-!)JY%!XXggC9%|`Xc!<9~-B8`IsqetMm39J~RO<-WsxK?dyC-vPhgvts< zcxlSTq+&b*g8kOxRgEYT5|hwj7Qdk~qBlw?+nAu{Wd%#Cw(UGw7}qOG*?4%e)mE42 z2yR_99)3)C6m|db1}-(n_@VmEqJg1Zo?4Ymx91gTeG{zw&A*(SW?@K2=|n4IbX%T- zFHu1tq;b{WeuK5m91GWZfwLA8kWBos6+gdOqI?K({?K<0y(bX+;<-h4*g@9uIvy*& z@;pmEdG9Z?stp};1<yk^iix-W`ofz&Y%7A!O04>bpv=Hg;loGrsd2WUOI-BYMN|Mc z{4e!Ae#@vW34s!ERWruOw!V2Eg!xe3=@WMg`5l_`mtksscbN3Ak9$a4J@76|Sx~iI z!rA;u5mm{pwR!2G^I!&zm4zZQt)eIW_3|PbvbPUIVjHtB&pN!dFi%G$#q;m|vRye* zLymImJW2a`$8+1nuATfAMW0C`K{M~R-gf=fi2&44+_1gXL=gRb(PNJJ5dNkFN4F{R zw0@mj@0PY5lACJLx80>7f$vsi!BOVsLRqg7#3gn@Nbg%UsGF=VheTxSXWxQsnCVzA z?5Et+b(sMUc1K3Qia~7@=iN?-mVvD~txZ&g=Jy538JJWG)4P~+efD?a4{PF5ZdIoK z`k3p!-mJvZ_Kdf()9^Rd@0|HswKt2Zk|fw`h3BlAq`%`7h0%+@ARdw0L!|J~hPII@ zbVGtSL+m+3J-R6S^AfuTr0OF_n(>@$=xMOxO=Efi%icr{E=X3UxK~A;ntV~rC8y?b zlAJ+nN!ybS75O-5kUKI^1MJ;IH)Z8a>XiIZc1!Z+s9otS@?G)+iZn~3RmTeX>ww6H z+{zFzd~I+zG6PO7BWXyY72&i9Y*S0&PwKWbANZhJG`iY|<~OMpD8dTaLW6<i-rlO7 z#A$X0M|-;d=%yQj0!25@eki>PH7pA+y3KOj+4qi%rP${Dn~;76xeJ5lVqzh)k`4$^ zR>UQd{Nrk~8!)B7gXa?l`r(bCjPrJ_<*xd&VCPl_SN;zMupCRhpeX2gb@%BHT&PF& zrImO{+!R&u`lZYWt0$ohuBvgq-YM>&GBeljfw_epc=Wty<Sc=9g~z(xbmhG#X$}>Z zY#5P3<=7ceU@Df`as_QDROQKn-9H<Y;SLf!g7Gg4zAht5{|dY<mLXt*=VgV9Lq;x{ zR&C&i%p#qnrEg?YsK0Y=y7V0j9Qnh>6lr@tGfh1xB^d;X%KSYALStl{A}v|)zLpOd zO3A0g#q7F&a3upL;PW;7vz^kKQw`P_L-!iqXo3lspwN4h@4oAF_xnQCn_K(a`o>s+ z*9P<ey_xnfj-@V_Z>gs5MKjNA8(bFDgsbjfz0oyG2Jm6~4tu1<Wu3|ZlL?#=({%AR z`l^?tYR#6gC#_4KCXrN-_9FGvtdIFqqZ-z4Vl;srE@qv~#!>V4<5~D*fzzCyR88XT zn0YCyyi4kaoG@w}tP?*p`*;90gi4z8dwCi$!Ic5mj=ziSq|-j$HR?5%qtk!+uvU|n zbnaeBiY#gm71W6Y30eO^pl;8f(DlDe)VKjJXI1nn#I1KFOqkvWR5Bz5Yg6>S?S<7~ z^9Gk)Zf3eXr}J)|&L&>Vf)B%bJOwf#Ix-FnoQ+ux(qHs*X~g6fUP#8}Iskei)mWcY zh9~|ID|S04V_{8|lNDaH2(}P=@x7#X;#*f==UxVN>R0m_oa|SMm(fi92J});1%{iB z(<~`kA-9aS-XgF6`BB&wP?isO@REpBmP17UbtBWq=<srGd|PWN<54<La7_OSDt_~g zx-zAV-!V$fK_9)<^j5Gv-2n6$ySH)R=}&Fc`XQ$m=J%{yR(LIwmJ<_!WNP^BDe8aM zfo|=S(|d2YSj=sX(6|c92U9-J^+vO<_=M0oi5CjaaHKUV0DgJ<GEK+{<7&s0%5UWn zDBW4xj87|6NA*&j8nZ+QeOJtG=%g8x^TFn4Hm}~)!5DncIZt*4JfWk3Xx&0sHatZv zq!bj)(qI1P^5lj9XQi}QNt^^q@;1NHj%=;*&cl7(ZNSn5{Ac(tpHlTt0mRNJo`<w1 zMrIY{JNsN;QppZt$Aw~%IqZ)97ks0JP&G@HKGgD*h-gEIu-7xd%K_t39RpUQX}zl^ zg#wypiuJ@H8T3<lwAxwA@rZe{d8P8n2Su!z-}~)u?>D3TURJ?9vcle3mm9jrgEB)k z!R><du2Z2KT_2;?1jObWSDNH|81w|8%uCh}28R|obRwNAnINVj&~Z55ZzUoJrsRpz z;T^rO2O}9=dxS$BJWZHyfe+?z=*?0ay84H)(BR`Fvz<@F0r!w0Jo!J2rGw;jk_G9- zQS;{aDl*}xw~7l(4pV=4b-JG)!G3>|u)32r_Y-3uoH3RDSOhFC=$5)k=KJ6wjWht` zv27QKb!O4AC5rfP)L6WyCyMeqJJst(h}!IbmYt_lx#@TjJtd2%Y}hz(Ss>Gw4s4ix zs-<EF`J+HT?kdr0|GI3OD`lNU{p{uXkdtz`)8O|i>FhD`B&m(DP{i*>@Px1qc-E0i z8yV3Q0Z6z5RghYe6;9F;Z5!_bJ1BdVrd#f3p6HsiCCz=YZg7{;e1=@S>n+-H!}6bq zWb5-t@<zRnpury#Fd^-uf-(ulyyN*2RM6lWbGPC@pK5N#B?xM7Hps&{f<H(Hw{3hA zZ>}}s!%)KyX@{FW16xfYajE27S+DoZDskAL6hZIErq8kC)e$w<0Y3vXxW3p7>2|TB ztV{?{c%W;gO{m648{5OX#UiG3;imH0o`PnhZC7<4lC|8x{4IU^LP!D`+k|Ojc@;a@ zd}Oeo$EWiRF0M#dPplJ(&m-LyoB0@(;Sh;@3LJNaS<U2xWBOoz-uXjjj*b2Te&tL2 zJN?P`7i2iPB^Nix+2#UnsluBhYwjwx&|aBzC(WH!zgUf$P`PAIAA~IM=rD&?$Uyf# zI@n9lfAP03fdV&(mgv<W-f`K7-^MJ$e4W<k^BpjBVto&2Q$Cg{dl_)$4_tcm$GpK8 zCC&iPQq%9M>7XT!w5_R#4_Uud1uay<yU!hY%#n%$YZ8;bL6e3h(24pkUKv*I`Sc8~ zXoZyx+zlPfZPD)o(MmHbIJV#tDq_X4Af+(CKGa-dgMA=VZj7KyF518Qy>VIT{_Nhl zS?jY@H$t47KIYe}7im;40FvLruRb%l9$?&7doycfSSQZ!O4ShKxbd|_ITV#vT7v+i z_Ywzlc)w%WmNQSyqsTLpkUg)-x?+>uYxJ>*p1+t3N#LZ^l`PapUW%pJP?JV&O`?6a zpR4h&XHZ?IfuYH#d7K&X8FTGHo*VFrgEP!TG&d*a`U7`Q#i1XWpp$ZYN!1V~zg4GP znRbQWh&mIgJg>~q?1FFh{lD+<c&H&yxH;1ZI8h<yM%Durj){qc{2xQ(_1A-dy~cYd z{E=^dzhU_X4j@C=kX-K~r07cT1;Cj~oLX7qZ9}&nCdmp*qU5h`^9ZaZ$I$YX@xd^{ ztZo*eCSli_y6+^s@9cj#!{VB73&6tt_emqteBzkZa>l;=jh*&0i%!yru6H(W`eJuw zzp~Ha_0>PItcQEuqJm7~sthx50qra`Fn{O$g9v~lQ&N#gywnPhV~UrB4`&+fvZ9JV z`&q~q)y5RL&icH!#xJr8ozg?7)n<85*`M`_?&zhz_DKc7A1IWdF3E9<)tabHy8SBD zJr#&WI^8&V%M#f6O29xER1hxVFq<4+Ouoin-T2r>3nPp0%#HdY3w89qHliUvNYyC! zP4f6-`*=D({Cmho;_t$VWx*0XXSt-dGq|l52C!dMdvG?7;PGaj4mn=WaR*#?c%+&u zoVoT=Afa;o0Ny)^vOD1C{Tyszw5lGndCl}>Yj%F?(H~_sTIJ?HJ||^gG^TcqR(EcQ zK=;}w-(HMpPkW!x(hHmwpLJTEu+^2;Fxk`Tm!`6@t`(uxp6IA7yi5!-ao6`zzJKkp ztZa_9*#85MKybgJFtZA;2Zxw5OsguSD!cCclh3YQmZB-&$OK4yrH0q}N)6pFQ%|~m zpORB*f<Ej4X%?R6RRTzfANggw_|?-cywvqAdq7&YA6{K|e|M(hQnvO(nPwZvYzRp{ zx$F+|DFP}yZz$47-&Hl+bg#d5uV+^}$S)cxl{mTjSy>O3dDX(X+0T6~IsJtIH7xba z%sSNVLGMLwgx;|_(`vixMYmO>y6ZP+qJ%S<MvI8}(FjNZU2zFj{ZTl2v(X+m>xdMl zDjuF)>0&_$davS4i|~HZw%v5+nUYt6a?TMa%mEUnGV9Y`1v;95rb7xmQy^Y-n1Mgq z;D9{)$s6a+u6#6+n;@W#@RQJrJhw4`tDnPc6Lyp<f;=SoG;h=`ZfwcA%_B{>B1H@; z2@@&C`xa<y%h(mgyK;JO>5E?_g@C{?n#iwq_IYUkB^*-GT@ocXeZ|U#Ff9w}Dm7TY zN&CK9)bPRwAMhE{$~)8P-SblC#J*g#%X0@vy~?gz@Yik+&kZ1*Ywh>@vco{ud9|Mi zBuNidlRPA++Fk{-#de0?F@?@l+d>G&s4L$p+j;n0J%o`(h+&zLUCjE|nGp&M+ljGp zRynyVm50==9Ug_Q&nnWAt>db4<}lBR(v|Ve392eXRUVSP_kN(oZd|0)I_rd-lzyMi zd&94Y#Efz3%ZDTajATY1Cz)_fjsvL##?^py(d@A*-vOCd`%$U}InIZaZ<Zh3Zt6JF zHyA_$k0ITaDm6HB_AY&vdO(r`L&CvDAIa=q3^Ss|aoq8CF@R*|nbCwO%tO+#CCiWu zN}bCnNkistAz9}iek9Fz#e7H>J65Z}c8}P=TV*j$I;3auBWe;2OAW8W$miU)ov2TY zON&}8VCsWMM<FFYLprsA(r&}nFpv3a1ycb@Rp*UhG3^8*d}`<r#+MsJQlw0~JS^lr zXCrG;lOJPQi!+kxb<_=S4Wyzzqo>Y=JUSS<zv?X5?CiGtQ$=?T!J<8h9el+>q~r-2 z7!s8Q+b0m2n2jl}0v_AM)MbYO8CnI?%+3Ztf+!DZyzI|)49Udm1BRpqm7M{kkAAR; zQpm`X#O_IsCB3)E)#>>tYJ6pBJK2~f>5AQCf)QPP!4KXDm2XJzEItaALsJ4=GXO^U z4H;pRo0|)2n9kYNru%=j%jmDPA1EjBd}$;}k<5r7DT$a`P69pBCtp8ftSXKZRrV5K z=vxEw@^>h7-;b)hzweT~Pwys$E%Rx=e9bo&@{sz4pX>1K%*1o!6BLLVP>4`Zl&Zc1 zM@izUwK#KnqeZ_7L$ZVX5s)NvAIVr^r}&~-PXUUkV#UB&=nrZdKk#^o5LGZB#ss5k zqd$ouxuf7VCU)E@A^QgE=9j8AQ69>EI^f>{7320t!7u<)uJ*P1(jbXqdchn=WP%Sj z?^!$(2LX0f0V{txCgqFeWHO4as6=iU8&upyCzc<%cAIzFeG52593zTcrG}thgBEjX zU4u$bwpYte&4#b!Dss=^2uL5tM=>3_ylGp#Ej_zg7(<%r6eXP-;#_v8rT{B(%gG6P zoToCAnGA)bl4nSP%dLv2WI;z|5v*wIV<3rpf?+3zuV=I-K}1tkRN<k>y&V!`Axew~ z2T0&YmN5ez88b0tH-#K5Nl$@n;0dF6`#7vpLCMi4b>mK%bF$3;WLoM+k_Egaw>?R| z%L)F9enmyP4^^PDgJNxk4ubrRcJLI57vj4Fzoj5jkOWKDvI`{*M$YiOUDPGU;s{7H zA`9bV$dIBzP@foku4UgILy{VhW<Og|!@IbikP3%5GUiJGQHq3kkNc|V+aIJqAyUbc zRSg_lHfj^hPJ#)OU|O$cavv=|H&7UKVw5sFVha@-!Z-*7d{PPUb|WQ9Q0YthQqU+U z)}{D6o~@0n(jby#bZ|AXqe?HJVk6CxoP$jUc}Nh|V(5|M+2_w!{+ef>KffXi)TMr2 zR#g5KB_T1D8pwy|rqyZvI(qa{tBjJ3P_pl_NXo}Biahx7pa-N_2&3%O6TN57XGmw7 zJiRnuEc9$i?`J^<6My%}r>A5nju&AMFtU}4i$EC4)YtV6OT7|FGEo^vy=BE1NK2*Y zBAkAry3i$7c};@xELOVxATy4}y3qd@sB7SlhL7{8!j>eZ29mQlsgF}wFg=wV=&PI< zuar8}ef4$-Aldfwt&x5w_lwgu;J4(wgGk2_<ROL0uwdqic`vRtH^O$9+Xef<AP#^O z7FX@PbE}WuMd&~C=ItZy$LqHJq$lLLaw<EcaX7!|T8C0sXBMg2i&I^UfMnfSsZR(` zPovrwSw96P5~5!Ht%|FNsX!*SM?2UHf9nrs0xk5>6eveEQTv}3YNvHCvCakIKW~`9 zss6hrzHMn6`BZM)$v3u)=aG;jA(0h?X_gTy$SPoz5wlTY6$r`VWx)a2P~yq(F8Ta< z?H0aY_Y}$94){%{!D2>bNBSsC?!NKZo#=ddIx%*jDA*INRjyqQT_LWnn{2MNiLuXZ zr3RZq(+;8rw*)hmQdOhMrxE*&9uk#R*%b|VrHN0Bwon=O;0|ztw9oHA&PHZ&#Bv2? zC?gZ~7GsxRZW}=50){F(HKR4nic+9G?N?cd`ABAZKE*%H%0D+M8FI=*B&5iCwK5}a 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%0ANp=np#V9HGv7b^hm1yb=5dPe-a# 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%0DQ1`>U8n9ca1h&HCd@;Q~A zv>sYAX6&6Ma>Z9Dw+{e*1fOx~IsEi5Ngjm7SJg0cYp}xdA1*>h<a}*j`v$ABtAf_B z$wK~;&!*^Qpqv1<hNNZirKK)!*h5)q7VFT;mKTsqB$4!XRK&?}tVtk~d|h?f!LjU{ zLz^nG?XHr1+)?&jah*nz8{WAtg>m9jt`Mc<Le|kGcdM(4h=HLj8CSMMTnUMsTGAvD zmS(0P!mFuWY_-{+DJ!&{FIQdP1?vWE{vGB+6I?7~6-9LTVFebLJE<vIH$e7CK>SQ+ zki?k_B3)%CFNsT?b&!z(pj2CT%;;_7qC1xTQMM{nawM2*sO1*y8@_f_oyYZw9t^-2 zi7Jcz&<0hHCDi9tA=?_poN98X;Yp|=MTUcldxNHqF)|4Cu!tckCMW?zx?3*Q4#n^> z8hu`*qEkxd6Jw7#hW>2DkBpcZa_mS~hXAd<A}}@A!ZK&*0)@1=h9o9SxV1G3WfaV0 z`1mnNW&<>2>o=mV4w>+TA|@iMGbaH!Q3NzRX~@l`qoA#*8rP7xsj@*wZN&f+Wd(wy zhIh<Bm6ds>Dt{73kz+1*h+<zAMMJNgM8--kcSRF6{M#;>XL6<MXU=xQ6-1!C`LY4u zAhlgsFU__L-B_kbRF2*YZ5ZZa)z6}^lNeH*vQw?ikPRj%hMFv=Avt|iBA!y!*yI$` z8eRS+(;u-ePqE4_sR9X3bahl(0#0IA$1`J3IlYQ8S0%mZLM1&y7%?OB=Zu;5FqH1X ztOhUFPep0+*M5yaHenU1?27t2Y;|LO1wO0zJiB^5X=7`a`t6TSQNic-Nc;fj<|?KA zg8#Y+Q`w~xQ$r#lgHMW-jII0!g$oimh?q9RgwmiB_k{}Djl@Wc7GZS8_aNOXj5>~z z{8|-RFC^xwQmYc*pLE(5D5V>U&3#ZfK6G*eSf<B|5=h8<MwF;q$SJyZ#Xw5DxGj_= zepc%iY9E;xo(=u2YM~)N^Li;J1G1J*YZ*1W4J}s)f;B!UVTXZ=NyIFEv;aFQ-vp4I zGv1|@)l~Y6YyqM;;!_x8v<d^JD|*zG-%_+95w1|c!YMYd7*&`8x9=(x9n`|Sa&|x; zgEw07Xe`MigHRC#ti>}P<9L063_BujN)+nz=8<t&&zxvfO{7SMvDk69Ku(;G$9pY= zTIm7AW0&keFsZfD5C>P43>(l@V*-r!t^3!>kFH+0nV^z`!C1p(i)}Fb8?fX#P}U4n zzrx{G1eF~Y^9>4$<zx-+WTGCrh1|J>L|NpJmflj~o<eb2#L%=#J0>c-jbvq4jn#K` zI)36zd+N}Sp_cHf8rP68K4L0kj>gX&XOYy@OA4j*pSGAmy?{7kNO_}9OQg*)q&fK@ zp!|}5ax5*fLZHh8#d&!5vzJU_F(hQEBrmjC<OIT`LQ^c_EIYTRC*OrDk)lF%S{<J< z(+*iLZ&Dk8%mt>9<{>XGE54B)OT)Als<JpvJ6D|~;Gk&g;s&III$;jVQUB-ws6bc0 zQ01Y-Rg&cOho+FAScQ=IbzlZbZ8fXIwioSp*%ucBR%qUt5OQ<9MPO1qOkReoX`D4x zX&0%aSW1cID+-%Z^HTj;YrPZ8kkE~W5KycMNUA@?D|&;7H?m_UHbrEN{*;vH$x@of zyq+xF=g2<VkrOQ$#0nDzvhP}`6e%)?lkB_Fibg3$9nDoW!a+(JPmTM?ffNY>Jrtdx zCNi}26Nwfn#IF=ct|4VQCzNOp=Nb~ww9L)?o|!oX<%uz|aC`;On)K*rq(6qkS@5u7 z#&+zU<4Y1vWm}m(B&DH<as_GBQ*@|GyBSrvy>m#LRuHSi889OYoS`Pn!%<+Ss3*4O zX24c_w-Kn_M>TtQJTaCO_7ig?RNU{(uz^M~B<k%#d2K^5-AS367%yU^3j;Et8!QZI zCHdIWfgBdt!i2-I$MZ>bhy@wIRFJlQoFyN9QvQdF)4PeOTqqV2*5SsLo)g=078yoE zd^@GqND{AXDHjw)lhk05Ov1n(#Xbi!>TptHsdK#B_a^aGV8sa_u%Md5p*j*ZfVB7I z6#ZRtz5|`Z5a=n7Oc<<4SgQr`<3PQnnDxUIU4cnd*-h;qIn<C~(pA5>`dJwdw@{{S zLMdnsegx~-jE+BS_}@d>%;J)DjyWrO4Bj?jNGQ-B<YEeCl5AuX_ewB8ddTClHZEsn zlf9ETq86kEZ306&_aRk+A9qeEckr@1>B6gYl2XmU(}9IiW?g`}>JJ$n53Cx5=U5an z#MUHF=!Z;pmf0d%?w2zh53Ro(Zg;QtNWGsQYhklQ9Ynawe`H*RiJ+4|^{%{THB}2| z`C}P4UxoMRg2~(w6{tNye~I}+7F2dzHz)}$L>4`RkPbp?zDG{yNudq{$Wk|l991B5 zZHtn;SMVgz2lUk`PpVJdNubFes*HD#Fuav);9$aX(h-QHG^t%LQc!3j0ejKXhtyv( zyXMa0QS)l=ERt1r=4-jq-|xSq%W-0neM-T@_%cv6_UGaWke07iMe;UBh##^Rkj|W~ ztoY*&<1Pd>DfVNg(u`b%2!-m9g~Ei*BdCENW)o|QltBP9G6hSrfE0#&rcRiQB2)lj z`b18rH?ARZb)Z-vKNhX9f&|nHfHUAk8E>MCH<5j*!s<?#DBZ5xjv-Y|+kUY}-u?V= z`>y%6+%oxs?T*uMb4gg8*|!UMrX}<~+4kN|levK0s9kpOg`OKQ`@}A>PD&Y)Zj+4) zl2E`juw*5SVq_v!W1jLiEqI|?wXkT%Q>RX)HS=6Usy8<6cQtYc8bl2>Z!I+5V$IF! zt9yoo65GujJmrdJ>F3UGGu0N1vceRqKVq3Ua_@n0<qk7RNKAw{;<fP5b_}W7?RQ_~ zi#JM$kNc3OUX50UbO~0J3VO?m_3QQ<%|Tb-=}%!7fTgRM&yD>=rK6u((|AX`%q~;i zN7JlTlB(t;*PjK02r7_Sa0_`9RTQN2B(kf{h?Pi3P7RS6U6l-$sJO=1RMapYTM-qJ zQtP1dZZ1+(0;DJK(gGvem=p;aRy2I{loNZ89+qyqeOu$Zude-KUo`HEF7pR(4vu)= ze)GRnyYBt)Vb`?#*VFa4uXi2Df!j5E|JQw6^#p3)y!nUk8~>91X4eB@_sTxQaogXE z56zp?;!z?SpDoM-A~e|}T?SkW4Vqv|b!no2<pPp8$z<tANEKny-ut~3YDlPMPBH~> zsXqn7cte>$g=VEO4?v`Jb*d6UvV><R8B~+1va3a=RC9mA*^QyzSUiNrY$>3-m`cD& zOM1%kxOiDYp)3!z{w&4j9W5U<Dy%){(t&}ffn_QWzJ>(2d$lh$dtd-7^JqL7qN}F6 zbtu#HlgRzQ&GR{bx9k2Q+Vyw7>mO`~q2=96{VQ9<{uRTW-fjGP_~{?~!Uy1asjV`h z9F)=`paoNk{{`Z>m3I-WwV~Ax2MS17^6I+~uF{xJ8LmNTQlE<YREX(YidvA6i(DAQ zAT+d6p3_0Z^hU8GyGd_<O7cw<0~Q5t-(1@flg_Jz5#|*y*b@*6Rcs+qc!EwvTvc1b zo{&kmoGAn5`BD6l96wXxQn}e*d!j+Ec{N9CDC<M&aR_$<Al>*MUxvS)#cJ^5*x zdH|%R+ob_>{JqZy4D0Dqzro$`lK$RBqx*&PNP>J2N><};Wiz|A=!Bq4gjl~e!6aev z<gZm7Vflnz{7i-+ktIry-d04;%x|okIX(r1PA)Bxp?hUwz(jo(#rQ!uk(??XSiWJ$ z9o6x~Sh?cFY02x6xoU=NlE6A7w{uFFjsZNRB2xUBU?8tJ*OE@>8{-|MjBbzbuad5g z-P5gSNC@qdJ)WMO8kFnq^qQXLylbA|z5|k71JJ<>ylcMogZ6rqc-K6`O@}TI1Xc5; zYQF8->!#yW-@2D{Nc04_aUJx)b+@IfyY97LI<$HQ*mpeX3tTmK3q_a<%$i-$_F&}l zcJXS=>0PI}V8hYYZrvRuDpd-ybvWT~xxY!?iom1pxDpb@RUouA5JlDh)R!j(6=Hf9 zkxKzm5yBZ^2QxJd4i1qyT;%hXI8NDB?39R_Z*4uzL#h>8byhl5!6c;<LqfKshlbW? z%F4U-%qHd)6ll&2TGtQJ$0RX!N$l4CcHNg`X!mN5uKR4AB4J3k9hTg5zj$=HZwEla zqg{1}R&?FLN(Y;+`SPx*@1Lut?jQ<on;M&^?x>)9Ww)uPei%~sqr)cuCRdHeu-7R; z@dp;UK?cIbFmbB!bP1?J5gJ4ACZ?We<tc_qTax4gtVgVUP}!91bd?=g7QMu~GG_uk zajs(|3%+>)0V(TuCakFg%=zI?dKnG%ItlkSXi2ZB^N`L!RVy#3VzC|s!i_AEKr;%E zF3x5OfyBug?X|j`s2{_1PiBmjkTSV#$;bQ-6LwGbc*^u4DPg4YJ+K{e^vb$pI?n%o za)0&`hMuTB>>AIIIzaNM<dbtA!@3=Wjv;-a9+ax?-Y1Vl{?=yzn=gftHdQ@XBgr(m zoo$)^Uu}~BWHQrUs<s1CvCp9Ho|4RkNu(I8Yo5Ds-<;D7Ur;C|yNtIF=GV9u;epyv zgfh~QQ%BxXvbtwWNIH+g5V6O&8gQd3o?0Z2k3ESRGW|vpM&(>!Nh%^`bF^tw8FEED zEMQH<_7IUtIir4^(v1q&-|opB7*YoijQoecBKKt}DIbLfK>9XRi#qD#`;bms_2|?g z5ccr$)H5X4)Vl#}@V;rDJwy896O0{j`R8;<M1ugY|8sO$Fg1k*i>icy77T5dD+{gr zHtt6^Hyb~W(!HFWSd>+Eld3DIa}$(WkeEhCOu`azLU9t4Y#0J13B&k``lZqamwcO+ zJmIzCFlpRw1Stdszg2=2-Vu-}LkfvK3#1Sc6IaCi*b9=x6(kl3k;6zzh6!hvIYO;r zw}1F!x3BR~LjqFPoDiz)*o269eV+iS-S69d$8*McHjhr5jv;l}viA(>?f^*p?snHb z(hKrBXoBwN&OgTkQvb^P?m4^tx8=KkK<!g15>79u=vsk90j<r=;J=^|Xd$w;P#=;@ zITEsCBG5Udkw1<2XrM)?Y6vLP7iA<_$SNZ;UY)2n#US6Ic{nS_BwB5mh!i3dNL{m4 zC}XG-`cx+>yQJw<p?zcR0y3gH>4T$!^IuXPBEg)4oMC}Mu_Xn6&3GMKv-{?u=~a#& zFsl!#znxNcUmW<&1x^h<Wmh$I)qDXwGo<dHf!n$JUQaiq?3!o)oFhZ(aEV~W23zwc zSEEKV8IHYRvJPchx7+EmY-+tOZh;}mIUC9ho?y5MS5IOk5Ao_81=|L6N{<oQ5YF)? z1So+Nrh9{W0qyWB@D-!+@QIoo{yH$EYQqQ{*mPYTO_wFH>Q^Ln<VXqsd{R=Gs7tpo z<wunBkdPmva~2WPm64D`>FC97*LK+8%4<m0%Wv<CR9>@i+XE8g)bOtR<GQK4|2nWa zF{JyJ4&j~dkAU>WHBSH?ARVN29WLPknZ7JXPD;!Ba8ZMXVm<?smp733bj1@dyP05m zm0R}MfR;Z$=}uqTcH=HAJ(XyoN$EyJDe_oKNM_>1W&I@iTTyQeWuB<@W+oN+gyqy3 zF~fP1Ij9<jN-rWou6#!fP{cTV+O+lLC*wHImh8mm;xcOdbO0n~Kq^C*g)3p>s@ulr z^F~e$`B1wrT4nYsyN>-(ud+KdAGzjBn6j&U1JWzro*B|j<Hr1|d!_RX=?hjJAie8f z-)-`+xcp`N*E%cM1=CUR;}`i*#73s<dHe#)>(7t7B~R8O+gR(v3^q`QI2xpzP*QY@ z6OJtP7?R53aeWA#Ed_`<2*H5c5ueRLw#A58dZ*;8Qs~9p)N-MIG!`{PvWQw%IE<_s zkSB$dp@zZjP<d~fS3$(cF(8BB0Cj1-v@OYILRlI`V~gF`sUf_q5N~%~7})%){km~h z`p}jvdxt)x4wg0^neIDgbMGx0&TX*+UFuVI&$K%+q`TYh&&nfFjk~@D_U@*+bIr56 z?{LXA9b7fOgQ<h5Zh`r6`yX2joWDAzDaez3GI#%K<&0Aw(Bz<O7{)$@62T8HHo+x% z(fRo6P^l^uTQHSM$*Wq5*$PTUCoN`SZaJ?CF9b(CUIv`)1s3y8YNu7Cva8hz<Q01# zBv4Z`y-dPpF*B+oqrmHd`Tht<&kFs($zn<3b9|I*3X4|`q-tDZt)8fRy7mld=goV* z&FDi?Zo`J}2d9SHqea8+=+tm#NP{N)#E_2O48tceJm?0Gho{5#U@&axuIG;-Ljr4G zN-=cUHn-d=UwWf_kBq)Hzf^f-`XO7YU-G&GVgdFt%m^$mg;Ls9hnp@FV>7j7w1**L zmb%1e!W3y8MfgKgCFHRms62s!vJIMJ<pVMWqG%9>*kc47Y}E{vO3O^uMl}W`W?U3= z-kRr)|8H~Os5}UTlS!iDE_~<hUyLFo79+4pS9G!pPmu4)*Vk?9;bGUdt+l@tN*U6( zo&`0}-7h`bdxmrySO<Bes=eRc^MN6~>uAsQU}<-NoI&3WS6+tkgq|Wb&(KToJVW|E z08(K!2TBG*6vyppbq<&?E~%heb9~}Os{9u#m+5scW&c6J{A>c#bhdG1siD@8+-cKi zT^+mjL>ua0LOoE)zBs*w2@4TY+7(Pi>1Db+lxY|$2SS>zu8ta7Po<$lZ|gB(SLYNB z0R^kiUUn4u+h&&v7-sD1(|@W?G5n}V;F&CA!7(7A#&v~{jD*)n^JRrg&iO7O-yZVm zw-0DtT-zAZIS>r=%+<ct2;JtbhT-q}ydv!XLE5~HSs_&qeHwA|wsBt2aJ%VV2)A$k zq<6Q6H^1lIbNuE0vi-K~a(_k2u$Jw&Y1iEJR;?c?f>XTj*7^`ki-#P&(;qwDqcbG6 z7Y7rd!SO$ohYS*$ODshs$~bwWL8Uyxld(HEyHl70PvY{47*33>!-`N=2oCuXO7b>< zJ!q~SD=8u!f4}eR>8^S5^@{O_ib>iO`4xm^DM2Aal20t7o8a}AF@+8s^W-A;;THgV zK#Ca>Scc#L4eknKqt|1T)FFl5oyH+n41fE_&#!2{^f+{`ez;-h2e934=cfPR0xaR= z<0hUfD1yTY)B;RFe|g1U`W=}u31mgy1wVoxO0sVfNeo(;j3ykwEE(ad?5J}Xa^f5u z)XN>D%C=F5GN$wq(*O)z=u#x9H=zie7d4EB@l}D!u9h2P^(+=C3Q0O-?A%R<ME6hb zkh8M_4ax6<ObM_9BxE&_lqIi}o^s55yVBY>#8k<A+jGmz%p9fr*It?sT=6%DTAkyO zG7JOF7k-62+`0YRl>{JIFw_*R*q!i-;}OGLa#X%sQ<9exx`P*BEH17QGPyX=&dg$k zBzBu-b3JBHLO=p0P@~)yRM6^5a-SoLY)Q$3$?usHPLORaF6-*3VA#b`Wj9LAi6fEf z(SKZHEJumN7Nv@}4kD*z-eUAUY3%yig_gi9WJU2?_6!LVphpfSN!8RDGQ0-;vUyQi zQbRgkdVTHaDY_7^4riH<J~XhT5g^G|`StcMEvyI<!`Y#>7`HOv$z|$9KeK*p_1R6Z z5Jk=33x!xU+v(yi+@LC2O6uWZClYC$NK*B{DDy=(8h+qN2N&Wf4kq!<CVwEYzlCH- zq-+hT9*e#!Np%Opw23+)S%Lp*70yHA8cj`TeLn`Ilg@7As(p`6!;h+V53kPoGDf%6 z+x@rxNe}zOLwk36YPa#*;g!d`4_otq)W5#4Kxm|DQ6od?6{mKr?29WQ-sGoaLNV$* z^tX+|kVay?FQ^pbD=1V#!-5eRR1_;XQTiw3)+ys$uvGMu4QiTTaK6rIs>97riU%0i zBZ%WiT$Z1*BV9?-@&<VtO86UUObwX|1F9BmlvO$q3#Y_Pj5QR1jxq+=NF$WQmfADC z!5EQ|6%!I$L^}O`H3p=o!&Yv#_uK7b?SI*NX7l~=`*!=<-S^oI_q}$nf9am$ANsZb zd3<XBv)c|05Bsg%Zg<;l2T0vL&tv?c@B>2W`+&(OPg*~jL+1)skZEIoeC@Tad|B?i z>394%shadKB9Pi;bLq&%AL|-@F%#O1%u9F3X`JW0&zRSNP5~Fqm=@rNn}RSa)R69? z-Ez!`O=TnlS+ZehfHsWP--i4k<=zbSoRnIZ5VwLxv_1jnr~#?ksGUevY`~D3t0si1 zV(U+yP1#N#YA3aMqWfoZ_s{O8IX>}b`!c}G*5B$5b-Ev){qL_m5P4wwxb2arf5_i` zcxwOf)}zn>Oz!Zj+dd8t@bx+K`Y0!?h-ygog`JbMLa?8(1P3-4fkjL)IVm%r1!*(z z3RDpAbMt`0mra|&G1>c}7$cToq?eT&#-aui7MiH`8ghS^x`mUP^poBY+2DjOZ!nW@ zuS)Wc#8s(~4e%J&kYZ(B71op_4g^ekuF7$%RMe2k)uD*y_f5x=dR#hZ>^hdy?mB{V zyM5e$_o%ad>`2bG{oaApO?Tf*hd|%AZ@UhdI_lKEbU%+z?H=B}^e^eR;NRoA<4SD@ zSi=KOTM5KfCgeV6<W?8q=eB6oVa$+B3Oi+us`8_sHGUTno1e0A#}HN>t9DqvP-K|W zI=k;n<JE<^>@_|rh9Tu6IEpDWdAtLTlSOBgL$mCFM(spWql@e#fXs$M9!BPccuWpa ztvZ3p-Mh}qzUx%DpbhNXVERdrnJNxPI1DRwhd!j?WZi5(*B#ZtkJ~r5=|IRM&ByKE zy)xnZc2nJVKevC^^z!IDMnT7X&QE>2`_n)CdDH!VU`UUE9U#5cx7*KXX2ZyQ_-HIK zEwIu%zicmMJtkb1uwd{8TB^!?iPoI#>($5$t6;4pv$j^oCW`#VrVLXFT~0^30J=bq zCr49p%_|&M_Khq{K~bnh8EG^L4KZo4U2tlUAOo`<E+(u)E`5cW7EPvv#H!9I+jCT< zD!T(zfqA}cH6Bk9xP40}AwYHv2Me7Jt9c%}V(-t5u{WN{eB3%3I$Fsi%ay<H<+FQv z9PaaJJHqavS4Z7b;n4i*AEuYjw?5%_<5PJakbG^))1|6=ltwMg$Z<O~JL8hToEf+8 zIpH;ANb_#)QU!0z4qv1hX$h>G54<qz81v`Jt-QRL-7f@FzCp!IIfrP&J$Gj~KFGew z*vC&|<sZeCR%QK)Lc<Um1$hi|B&jzPU`1#=64HXQq!2kh1_h8)CB8v=V{FZcy6ZS~ zSF@IPI1>C>%wf6PebdvU>X5O+5g;A)+TR~NtPFtUi4wj1-4Uq%`QNvALLS#MBme%; z-*dbDG60fK)b$Ve4GEto&yR9amS~}XPEXlQAxTLMX@1<DSw=5Q@yt@}!jgn!Ruvtj zw_yzgmW6v~Jx_C2F7x+$)cidy`-)?o&*c49Un?}mqTU&wN{E#r5)~D2>{+E$W#^O$ zuVfZRV2Zm+IuCP6B~%o4b;cA37%-|6Zd7s9sos$Jq|2weBS+2CO*3{5>fz)UFHIQ4 z4IW4O`#d1^x6hRq*S#Jf#y@s=>cNoVm*HuB$>@3jB>%v#+q}R;`rzV;O{9D>Y7MwF z{<i;X6u|O9GO9UH1mx2h3R{VTDWqkMLX*^rW<yR`fm4F5;WV=cuo4bW+yA(RL^&q| z)WSKcz6Ynr(WUbX0`h@r8Vp^SXhJcC=Zup}!>%Ue#O1^{wO|$@NBc~oT~MW|?5f!9 zyGrK5W>^+7r<JlCmckWB^L+p1=J~!kqjV2G9Yd;mR5>!FFC##D93Fce0IB0Z$EO|u z>ErOU|MY!JXF%#%7b>cloC6`cY?jsk0YuA9Gu=DG1-DckN1osfw0zi|#*{+Lf->zm z6mcV%)yZ4X8@yKT5~i<7mRZDPvVA~{(Bq<o5XX>E>$l+%3hm4%@d&pzKVeQ}hq_2l zHhL}bC{ML`=;X0JD9l5u)H|x!I;fUjSFzH&DpuLa8CbTGH_AX>HTTc=&&|{Mp(8{3 zxP9F1V}|s3zu)iPI%c)o_A0vpz>ZJ#8NL3VcDLW{Uq>mszefxS`C=Z%LPum~gOK6l zTe1`a?Yvl_2#QUYJyS?tI!sMvIz^3M>pCi|S6`a^$<Nr`b(a@Lifl;gncpDShoon- z<R?(b5Kt_xXyAh?E};c3)OraTFo$BQgBf%}4cI^!#-}o!N;OxlIA^>%ejh$kllq}j znzQRT($O~v#|-KFc2g%cq|e<OyUH6d+-|o+4e8_d_4w4jR5Vnfs{UEF8j{P5@FiVn zl922rW6<8sVl^cf`rL4&j^du)QF%GR`Nh?Lm*AB@nPbDmCCFNRNN`&Dqt*&U%(|2$ zah;*dk(9nBi?bb5+(KuvPo*RWNvc-_idaNaM-0Wo^{P{MYaMqe)sg4wS=3MqBV%is zX@Nu>WcLdORsa9&{ZD)2$gMUG1D>|CMKNQat*NK&XFGXvC9|FBSMF?W$JE+(EX_9O z<Xq{m|FVjt#Hs?SP$VUHeq$!nvLv$jPsCj}a09sU$_9;MNESb;fFU`R-ED1b$Meq? zkY2jiepUB%ud*|*^(cnqRCZq_w9Nko<m@VpVp2tqUe0T=nM_WcQ0bsnI?+R4I^5zB z4`oo?9JT4T@<`v^;A@#;apR~tDYVfEEK1p~{T<~dpt(ZKxezo4Wl_UCrExY9auO*o zmO$gSHzZ~P87|2+lAAN-Uoo5gtME0FqF7L^5H-|36pa9l&1I@qloUy(y;=v~<4s>S z2t7b@49S9xA49STbhZ9cSr^=!%|o*3NoyQd{oJnBqETh>=X1O2_R%pUvUy1DxL@jV zDl29>OfbrB4CYh3k9MZL_qWJ0q$JrXNk%-4i|S-kVw2mES^B`0aV40CAVBYSQ73`Q z%zWCC94jbiNLc7CBRSDOA+aN#isbSc<D7dH9OgxSsF`q+bk-P{ax!D-K>J)ta8n8I zMoMl__D!m|w^AlfBy*sYJM?T{>AN3qU`U@_g$AD?ov-gUPwNL-?<+NYeQH5zSoM6p z-mKfN-`0(-VAtZ%;IdoaHF2eew1Om3glba*vX7lfXG%mdq^TA~={&r7`9Ab}1=DSn zr!cb@I4LWN&H`p%-nr1WxbSXis5#0Ba4I`Sc80m99Aj@k%4%w{>bFwsom5%mLSUkh zn>gq}?g%w{jDR6kY~P|PEL2yG5T#SuRTA<r?Ug(|9~xy4$-6WdQjr_qW4C8Wt_t0g z7ehkoi`9L$FOU0LcEhUf>$^X7?>q9;1JYghg?y{Y=SZlSzi|2&5@JZ*(|5bMCbQdY z{vJGy!&?(Ss{%uUq_{TtXqA5Mw~yJxmJ^yS5HxbIG|(Nx;?9ssgz@@Ra?zxtg$1*< zV7b&K^)*!#YFL0Fp%{9J{recXhDxgOq%5YQqER5-LjkmqKU7SKw6eI2hW9az@{mSB zq)P0lmnt1p`xS)3eA$}u0a99hrp;11Z}u8HH`KWWq?@(rD%Jf;7Ld-@&yFFPzqG(| zZ{tB$WY>PR?TUbRs~U6baLQC~uG%-XTeuh!t$zuted|Jsl*&a2YlIuAp!WXPziqDR zeA_hJ7vaH+AH>c42mP#hNgB@WW4z7DBjKec{xo9Yi9XIq-}i39f?OKyGKA*{Abzw1 zs=Z49hI8N$$8ty|o5pnJ62;JgW3L$HDl+5)StwU~z-%CeP0_@h!pl$51wL3*M{c?* zCP8ozLPROC(dyM|<;fyI2*NN<Ok`q(dz0QYIHr&LlJIo3>OwLDf3crcJ69*j+}7yA zNVl(U<8D<`Rj;n%khyvp<}40^0NOSF6x>)$D<;#P#uQJMp1Z5frpAlSKmOY6)RuJ2 zkS0F&XU%gVLn=~n6<GyseOSoaS2((_XYjJ6diEu~W(u9#$^B>`P|o9GW*(I@X9A0P zjd_NIQa+CyM4}}5Aq~|bIqXB@AQG|SZ1iyh)!`w`)M_X!Zs46TI+tCQiT~75-Jg2j z4{4Rze5`8lo6;f+HF2Uc$&Ss=XZKiMy1iT8?n*XPx@(E`^LlDel7y9^%FbVIH!VZD zYWd$^HgocjN*~24WJnMKQehy2GZySxv+P_UKg#Z?#Hi&*Kcb?5+1X^dL}6S}Ur#=6 z;g!Aw%KY60<`0RA5d%XStt6CPK()}0a^V+g#avVX3qwd*mWJucG$q8`80n``j))N# z|EUt9hS4Xm($xvdRBDJ&o<!{j<KV06VmIFbkTfC#@lHh?DOIaM96CH`kRGh<u4PEJ z<o4xui996cnY-P&nC*7+Z2zdX?f&p~+iZ4w-GbSzwhj)j8aMP+^QvS>301XhUq<us zWqdj5sM!QI2Q-s{!UE*sbPLP{$D@f{mQU<DgqcQTh71W!vQh)36wnkG0AS1xCKPs* z4<X611F=z&7z{dqCdDy*6W8*?gcL*U0ELIZQPo3A&6P>z0ESoDReSec?WHgUuttJE z4waOILO{YoZbJbek)A4HMuLw_5&@ZX=aT(zS9mz9=C(0TV|Uf4t;dFa<fR9<ao#!C zi1*pPYntxg=5ZLXaw>aruPrk&P4}vfViz`y)%snEZ0V9#c7H;15@k-B**QHeZ7Ogr z?>^*{#ZIE~3srVX<#RTBUKwGc<Z7hX0qcTEiN=9yWjH1U7%>#ms%WXkU6NpwO&h2o z*m?~f#$kc^Csl4zR?~vMyX@@_lfMAWY3oypmrSlQvekCU$dwu{cNdniv=8CUZZbn6 zN<?O$1Eg&SNSF5I9=8MLxX0fCQj3Q!{mbC_2(4zDSmg#1XMtkN3QMq!`9K7-5kY$* z3UjQet^<?6PC1wv&m7=5i2`#_KaL?uvHt`dkrGhy_GaWcq7i^_JHRj}2**SQ^I1rg z5wYWBp!E(1SjSu)DH&=ew-pMp%p+6~`QR`*Jr=T&2_#WE2FFJb0okAwdBb5cDUI=k zmbLy(iW+=1+rw4UeYxFeGgihiB*nwm*l^KV^8hz3AZ;6f7Kz}jc?K9ZteQtSZ)#{Z zaM7-O)3h&-B71;z5Mn76@zH!xnr}_1(-2Ze4s$L5oR~!waT={6@^lWznG6YgmEG86 zkziyot4kQGp~nhbO8I9nM~-~7DN&VUERj%IvEXDe3QS<+KSZBLp&$6sRcRQD8miDc z$E?Z?LWy|*<!_&n^2TuF07D6e<@=H88^{)@QnGb4($8&-jFQ-G^C!oU5HB__X$98k z*(<4K*E6K67HBTpKU!SEn@tBuBgx%E3rhFxmx%3uEj-a;42h1H!ZRrp@lIZ~MNWTF zGk>g!1I+R%E|@b5a~Ki>D=7AsVVzi*N;?(cq*TU5jL?sflc9HHqH>rb-w(2xR~c2E zoQE{_!&On8)ykJS)T0<u6?{^8HH2cF#NMx0uSiDp91x=*m=?<QsmV%W0HHutz>&}} zvjNN;OeiempP;J^^$h8@sYP28K3W^~lj$6CD;GlQly%NI*VsPsFE|QhStPnYYcZ(> zC2}v13xW%LFZ^g6?OI&XB~1%JL0X~=)tUO{S>3~7B0?;E(-gT}xJ+e=For}04yi0Z zk~fx&BO1;Y$zga*#XE>MYT0;6s&*$u&cT$o5B(TY9qJfzHGx1#If^ihbKYSlU1x;G zSd_@aYDq9J^haK{5Y%1bNHivtDN2Y$p=0d+q1rx}o*^~=(3|a!A<47-@ab${E*&5} zchRB-EkmMlQj!Iv_IrfwqXQ(Tvh&4ebX<UeB7fI};8L^~Sa5c}5Xj~jT=+dV1u5DK z%x4@^0*f%~QZ3G38HS|rdFkRUWQ^e53f3Yyz=W*ViAqcnXIL?m)DfdWChb0w`$kdS zU2zrd>Xhue($%sXDmCz;bxH+-(D%BL;D;0LKMD5?C)_ej^BmbxNC$93j`#{s-FA2T zm#tM}Uv6KFI+1i!VEX!x&Idr+>~@<SV!)8B{O;kReK9Q(S-v#NLpp(ucp()PoQQ(G zhu3kU8oH3lfbwd=f|nDH`kPQQq|tF0CWsVd426wWGhQv^L(<u%uL3_pE^a^?@%V(~ zOA~0qS>qSivA_{WK))Z76hx{+B2>pJyCfLZaTh;O2<K4&3B)T3h<B)AhDcLz4-=Jk zDW#<-ZFQf`Lu%Q|rrBB?_&ey$S3$M!VZh75Wp{6E(h~&?>7`>xFFr$>XKWX>AVOFT z3aHTnDE2+27v;nkOJHSb9$2~V9H#Db?hW(C<tsH58gowwM{$!R(jfq)f-)p(fQbpV zkHJK!lq1E?N$15gxtd4^*>}w(3B?NTib;Qk(W>>RlwB3Zl~&_gd0}GgxDJpi3kh=o zMVY!iI0-8-!?;nJl#HP-05~SND5S{mw!7_i^Gvs!7v&rfsI->d&PJy$Y&{4ENCPPv z?XViu3@(O*`xsKwT+>90zr2taNP}#!JVwX~v><{m924G_krV16;2kq`CnPna9D0fh zNe~x9LWujM@-tY>r4FHN;wWeQP-7uU(tyjffYRImMO_)^pAz>Ksmhonp=!m+yyK7( zgkRKh-G->L9p)wjo}|Oqbzq`nd?pc%Qdwst-mhFIt!ZqCqie#WvNF|G)6%DH5ytEc zn-D5kYNxWZB08tC>s@iCxgTl$+Api-+4Q*7k|g6)cI)*^sSXVEmJDe5Dg8u4Iw6TR zuT_|Q(r{`lI98@^NlT)WE!^R73<)*PEHtUVc#`3HzmUNRN(akH7A)tZ?h%d<(^E$h zq{}CY32_H{D!T|$>ZAs|a(PHn^NFZ<LmZtVDG)=s5<ZD*Aj}{zR*a)eTmz*7h9B;E zHZt<aQTUHoX}%DE+|M^86&&K#*4SD-tJ{^@er!tY0k}M*7M4~PnQmIrb7R3~ETgNM z#@sXpw~e`Uc}Uln?&}tirdUQu(HzYzep(fPV`<Mb=KG`uekMrLse&@2>u|#TX$A4o z4>WWHhzTVW+ilEwXVj^sC<^WPPZ&@UC3aYJ2s|#LKnKv6l=p8au9{rxk@zmI_MNM) zTFd$d)X|n4A1wG=h*eSMA{h<EqTJkr_{jwmr4*h)n;~Q+4K|iExl%)V=_)ncbd?&e zh7t|iQFWkBdk0+^2i#X`0EQt!nP+GTmY^AMHv9<X1LpePa<&+#6n1B7(3e2YygUz% zK(#<|58`5~y5B<WU!)mAfS}1xz<VgG6wa}p@ldEcE)2s>$m!=OdA?Xi!@`hFYp=LU zKjVN<1SOT%F}4ofb9LbEtAZ%gkflV?>0(}+kDPy%5AN_f1018ACU{80#hUfw6Wqj1 z2+4r>uwHE}C~ddfjnSIT4Qm?&e@|aJs0E!ztD?K<%K}~57Kr@@Rnx-LbEmO*Ac7vW z%z8c7&==V=c6JNJvwg^z$0OPPqWIA}da0J6AQL!Bs$a))<Y=PE<2oWpex?nvL1&a> zNt8E1Vkp}m8BIPPHO!YJ&ZSqVWB1e$8Q0%lDJ>u9Uer)~ZS`sm&w-c^RqA>VkP7$^ zSBVzA)5oL&5=#R-7-epes(#^EEyIfZFycojit<PlHS|CK_9%b)>8C%b?Muv%63;pG zS-GY@v+4%3daXNwR$U($(#x&uAd9yvuv^?-L%WNM^_`f>vv3$k7I2iL7ZvUPWVmqz zX0sr7g6|J9XI$Zl!>Ckt$YrE*S~nCm1mhr5rleh5ghA0w31y69VRcNk5@i-hE5s1> zf<YcqK!jFlkpd(VkSb2pP)DK$De$FopR!)J^o&B9$7rSl7{snnL=_atd13}cBbS|M z2`mTz2v%la854p^4QVbC@9(_n@bB<le~eXgjXgHfXt2xmuWG{z?`^)}bQm$=kQV8H zwD6W?Qv>!Zpha-eQ5&GL7}S!HsB12Sg!#0hjL0sfvJ-@9s1({^E{2eC4kgYA1*(I5 zID||lghU6GU7gEktz&&c)pv{y+f&r6NTNPC>*^tfM0sf<nsiUz4E9p2VDPwO#9{Xr zSr(ookAlj$IK^m|GoPlUg#!~q$||#NUU1t4YhHGB8=96O5u=9vw7!?@$0>7AkG3mN z8}gZWJC_VW`Pl)@yu{H?!K>N5G+FVyeIO<FE;#Lg6hji_1jsAgh~Wino)9snn@VjU zWr7nJMLbA1JttXBM;uo|CDex1zWa=$I!SX5Km!b5)!eET19QY;gG`l(rMRJIk5t&N zM~y^Mfz&ZDp_t%*Z~i$fV3v|9I}<!+F(BFaQ1CpT?*WO+H^Lv+i&bk#9M~j(+eBgn z+1#6>_{T~Fa!D;kvWY_(lukja*^`PAQOl9$F*=4M=dz+Mi;@ybYLm)$WFu3fayBSP z>@aH`G0oVJmnbMi7AQxY4((0FCb3*2^D1)L)eNVqHE|?N*l0?h7_kV38dS$bs860g zP<GOR38!d(z$j%(1*=apru;f-hQv-&otPnvWSLvHtfGGAf%xbs#05%<JRFlFl`03P zGNc8(ORBuH*=lJ~1adM>o$isCrE>R9lZhcwh!l|_BHyh?Ib{R!(10f07fJ0zibx!$ z{C=1UQ}7&uQkE6d+z;7G4V8=}qbfkaE5kY0T@?Ww@$3Q_8bUdhJmo=#<HwW>T_KaW zDy&0XWpB!RXCp$toTCMzN)5WPZPD+@!0iw57*01}h(IZ@P31?EnE`l=a|!XCkRCRz zT1CzdPeBL0PxBaYwv(p$3VXlyoRpBUKS@#{%)(K}wb=PHCE`ewcKalgRgD;zM`a@n z%1bNuDm$LX)C?u6f=pLfNl?{!`f3*14h{N*>@4Y8@D4ka7%h#id@lKm7|C2Rb0CY0 zlp@=yO&1jal;t4}LS1$!@U#>Y1i&EVf-D<tnG#2sWxYxn?D#@!^Rl40>$!<((xiw{ zDY|EG{izE%6#WPwn@J$6?2wD<XY*5&ZXf|3NXkNGQ#UCge={MlU_LgU$OQG77wSQF z?BhbdlB!g;p$=SjRlc})HHNl2Y(Jrm_h1?qC=rw6crJ+o7SyDF$=*VgU8f?q%BbuV zapi&-(&Qz_j>-v!Icl;=5z3$+nweDyBJ~9bSOZHKY({procwN%Kh~&Z7eam(<_fjW zqEURFbD7GHiyEt9OXPX=qI#Z5ryOazxMH4Gp-D*8xiAH?K??D7i7~vCAbt>Ym$<ZQ z#S6k=6?RZc_E4(5K{2+=7}{r4$=ppw=$&4b(j#D)RS*S{NFlB#J(10cnTpbEc4pt7 z2<G}yV0M{<lw$`Llr|qs%Hk4lIMxLHIEr&vcDSW{V+`uRA}TzCDL8@h3l15EB#3fN zI*~_dr--xsn9LtRks}#TN-Rd%bCGz=P1i98l02#&m;fIG;sK`i-E)u?iL*uU#wt4! z6Uija1IFBzbe>jB(ojszW>C~SVoC<dcK4IIG7UFqA$|mYrG_Oa(p*<!$cRp3DS>99 z%R5`|6C{_i8o4EoW08|L<(nTZ5|v^|{sW%q=Z%@!H09HbSWF|Gr~wr@NyH#n!Z-`T zq0l&@#Pt#}Bu&dbR@4wF#4DLD)y`!{MxluoT#=-3q7gUGAfqnrBuyWL5)LGAr0lxB zpk`6CR2V~=VJUS3n8c(VjxWrb*?)AVkPqI2BNbye9G$C`o<1BMko8OLACxw~gxJte z!sfGbCzI$Akqk?a;VQ<Yop;%mbTZ7QgGk6IzelT~RE<HXP8SwejpcKPm8%}C4%tnk zszhYiwiuWf;j<M>QD9NTLo)^}2h*8pDqXpZlgRumr6i_B4a`RMM5@YBiZfLxdEl2| zJ3vP<yYGnvDa(68=Cm+jQ*e98^_X2wfCm%rv6mQE`=5&$hcfxdXnC2Ac@m3KDvs0B zZ(`UDiKdNMxp1cGdR`piGo(5Mql#rVb<nQQsqAWrR8_0o0@AG`IX_EvvIX0S<OMUC z0{#yXxiiooO>mdz&*u(X%x6e3p_!FHIXNj`Jk2G#*S&||><CZ@RQmM{Y%eH3UKIA6 zFQGW*U8zT4)T`_;_Ti(>97mD^Oli<04Yyc$PBK@CEEZIgJ=7XiVz3HXzJMc9L#3>W zS~Iomv<P%az7<t=$<QE0ksC~6E@nKf6oi&Y$XTU=Qh^1~C+Z;=NyX@&+>PFG!3P#X zFe%eoFVXH{=^T{>xe<^`J+{10%d4C-4xCWF{lcVEhf`y#>cYQ+M)TUAm`Sl<PmfK} z#2b?_7?i``nDWP<LR}>vEpcI<sk3S+h@{{V$b(7kiL`mn<adm%6QQSy8Gek4n8IUB zWt3syVheJ?)UAXywGoY9<Xz%H6#fv<XU-_oVfVHC^qUMtf#Mhvkai|5h~mDZsQnTF zqDhD8Idx#7DsT~74uY?20gOzH6}F^5@{N}~n<rsUY#tKk_z^_}g#<|y7P+^0j)Z)Q z5(?1~l=3K%v(6|>*)eBOebu;7Z3q)x#>Jf3xRxDPvZ3<+3n7gJV#@l-P?=CBPeBBJ zgtDqUJ!xU0g1NimMZAzFcxZ%&8<N?QQU>FOqE1Mlwynz`%`EIXnRcykD!#zn9H`tz zmsYDi7UCz;62hx}gj;AdoD|4QY)VeYK%dj(0}_~G>X1!G3;~K5XB{%rT@-;WOj<P= z&mCo*RQ{gh!$nDjOzA5^zRK=UTcMKcq>j^(AmOm9qcq##0~GH{&Pz$m9Sr&p<;8p1 zpF%p&lT<&X^emVqy9KVLtZnKT5*z~$N?c!{?WMQ3xRd=(FxRgH%Ow4$%P>GuEGu#S zPvYgAJ<75eS}F?B%tc@hLsEEM)NDtSud>{t?HDIy<)Wsl5hcT76k*!9B6lU1Rpm<E zftN8`NB;^Tr0#2oqi>kLMSS#59bFUhzcBRhQcgI7+20XP4<VVXl`;ikjm?tJ`|;v2 z6YSa%+;7K@c|f@kTutyG8D{#<H5rBASgKB0Qn(uCAz@UW0X;z$7g`}9ca=h?ULvz) zRMlG$IACH+2Ia_zia}i*iON<NkqbtxVq^bYRGpz>8}y}0vr0pgZlaK_TPVjBqwFD* zOesbld@v=iq|pyBB%~C}Fk%leh9M*)o2%Q+HC5Z~=I{Cm;1YRAt702;RxdnfmXeq9 zBt!vXK&PDEzjyKxD9hU&M=$`Bx$Nw8F3|nVB!1q16f-1L+FcSu2Kw@(q_grEkq<I# zG)az^kkHYI5B;FfN`VrACS)Mljg%loKD>B^g(@zF6eCf!*YMTh7h@tq;YE>Lpi!TC z6y13!<ZcloHAka`e>5dOLYB2>epT|*ylo6#G@EAoGB*#Y#0;J>9Vapm_s!-wqGq+{ zCa|fnC@RdWPnz6%y1mYxM!75VcsMI5BjjrZr^4&py=E&lQ1-#bT*8q*MiiC7B&)!P zjpb4%F%EYKL2t_TxF89d#<rTqkVGklL88vPPLu*#?W=tUp1x54s*XU)izy*5N5tq) zQl^j{NJlRB%rGcThC@9rM=6E>+&l)EJ(7GDVie(Gv#If7_m5rk_v2J*;B8jbJeQj9 zn~i2CaSd>FFh^%+IZ@)`8ar)n7Q8D*0`{s+j9wj6T(XGrBCSK66{8emNEkT6NSjKj zpevkLEtXwrf>^2gnz@h!@jCHo3yNoqd-xc^Ma2`IP^18UafUR2g`<(eVWyU=<l}MD z-A!r^NOtF<_9B-awfGR<Zd!(P)~@i^jrz&o6kB)|L&}VIvsp@IEq#47+c)8m|6^=* z>V)O&vE>d+%}L-`%>|c@Ath9HnDE<S97H0CF`<-IiGl?pFP0z&K`1E$PM;C-Ihw@z z=J+g`5#<Ph+-FFP(z{L+PX&I>ut8E4%JgcsQUe<u;+n}~l&F-RP%!CPBnr&6HF&-J zp<II`ik+xZ2uaRE+U_>BlbT*OYU{PTW~cM9puB^;ZuRZv+5S;&?f!1J&1Uy<$ilp7 z+)-S(FWax1O?$*=JKS#CO>UcAyWOs7c0DzN<CssJJ4CVs5lmAV9PMNof8OaLOz$Se ze{ZDbZ*0hr$O|)I@pM_t(@}4aiZKN_FkA8mO`;4nvchegP$WlOVo^gR<gNlGT{V(@ zS3>luUgbCwCNUY+S_VM`fh@12T&?(s86(S}G0_|t4Wn@oTQnlCvg2H5w~fUM16LdM z6Tc~XoEztzJ8v5Ihkfb(Z65a{+AlYjHnlJPx{pMc%}vwX)0JD*ZQs;$f<e9#0SeNF zzF####xft1D;;Otd`6pMf2xBrN5WAkzw6ijx$~}jjnB*Y)xk-0#!({qG-EuInqO4G zm@K-${M=h?l8~wdi;9vzHN&5(uu?<HUso|fDI6U<nz#il<&}(N_T#B$4eUf=B#|Q{ z>MC-qwuJ4bdv{5X!sYIwXGq(P+EVOH$#dKR(zXMnOZ#$<?%m^orZt-mfd<gpSYUD( z^nmuu1}_{SnbXZ|bwPnCvI!_Poy#+&LUwbU;&fRb8cc5Z0NQH+$EBkMF(mLr4PvAp zM@}gc6ZBIO2udVi(!p|}BK3t5z27j2GT8&hq+5st97NVRMIInkhcFS>e>}z;hybV_ zbE?V{>{Y?$l#Rd0-C~DXNY(Vq%lO*yR~2P0t6<W|#iO`aG)5!DlYRswGNkRpm9z4@ zEg#eYP7u9G1`C3x9vVCHS@QrlE!b=ufEIh;ta%<aFK@rJI`C%GetzGwwnv0V%bPZ2 zUfM13s(Asp+01Bn{!WpY?<7V63WW1l6jP9n?Y&y&0L(1JT+YQ9`LK0)NU9lWJR?S} z_?E;FQtbL6ud6GjEDy$R9?HvrDb2h{N`fW9+_FbWatNqei8bn~Js{OyhYCe?)nP@U zUoVO3X(rw1W&or|y+c+KKl0S7szb0RSr#Z~p#?t$iZZB1zD7Y?u=!KRkeW>wy-{g| z%kq#M>1iPaFWWyX^xSMZKsr3B&4a6M)PfOiA6ueSyMWGROQq1hBm0d5q{u#<bWS@X zzZMqQF)V%>zy_7X#L;&G)8oz`3@dGcqu{V~WW34_nG7IJoCo6xIC2S-q_SZmg5<#x zGg><eFob+|g-UN!a!!tWmt7sQm>7a8&uv$&yh;tJgxH$(;Z-A1!?ajkw=|C{`~THV zBhDy<qUYVmZ(qj%G4|Zq|El$adHO2p@9ei4T_6b>Lg@qrqja^Qo*``x3@NII#>J4d zVS0pW<-$TXUiE?<(zoZ?{yh#eUAuTzv$e4#yRIF<z4pPQ2P^wtG&}wT(zN-OHV%xX zw%Y4TV6l=DC(r<J$1(kWl%H=2?)l1{+`UkT`67mdCOzvXlM`>N1rMc?ft1*b3irLx zN&|`|${kRhqA{t$3ssyLyKiI>kgJ-(CW`!XDCHNit~|0HyL$hBW_Cic1R-#@zTKs+ zWVQaqtk<b;O(IOmNF6c>Qhn)+ku@7VE87RtF(mWDR$mY(P}ynxCmkR?_uf#n3~BVl z-nf9$RsZE>(;18on0i36vhRsTamnJLOQGDH3?lG`h|A0#^Hfuv+rKk0^*gKR=H?-x zAi@gLLA~{eQ$YnzGmI2iH2#O>Qd~VDQ4UPu0UVALP0$BWOu`I~5?Rm_EFf`dm<$?K zsdnZgtbq{*)qV)64o8VHm5Ak($RZE&{>z)DzHGTs^I&?P9hY46^s9)*l>;OJ?K=+i zbjKws4g9H8{t|iW7|$V-F7E(ocl(#E#TTHft<gT`n{qR-2c*qzx7i{3iLomuak#Qy z?q2C~GidLe?4sH2wziCf$dIJ+%G!E1z8nn-9B#_=Rc<_!v-Lnz&96DW2~UXuGQBbu z1d6fOc2deMltD9a&bOoIAyJ_Ln4D3HQKSJ?5$d$OK&1;zMnZ_ySg@Q>48M_t85QHo z3&;~_B1cu^!>b0_H>EO46*})0hAvwqx_K}MpIx-9f0dc+!67#yHhADbznZI;sP_dO zzNILQD&$C%6<cD!$NA^bSe<pVeYQsIs`*LHkc`?|AB5e#%kJK|NKlX%YvXo!(YVkW zx{RoP8w+KIz;2^vNXp*n#otX9`9j{vjRu27sLg+fRvnJHbC~k$m;_v-Vhsv4M)X0< zkSGp!ld9sifD0H~3Z>Q?H6bJ_&Vo|==#cXkC18)(j2#R+##U_oAU0S8{%TU6zbZ;@ zst+zZQV6vLFYR7q=ki|IROj|A9UvjEdh8jJ5H(CkiN@ce@Dm~V98hvj3L2zs%RV+% zLtq(Ft<35f)w0t(xH~)kMRV<h4bA<K|McvQKsSvAEU*vj0g!rFLbq05%kHY#q-@5V zkU8+|0;Wv!bGu_jie|6HDw3N|mq#z+-zpjIB;K@Sg@*4DnZp<oX5vD~OifXu3mDsP zN}yZ@V6Y&&lk#xE_}}F0%ESR;DzIkHb5DdSf$!A3K%uW?m(Vq&`^F+4wc~{$ESI_& z1JdKL!pc;;+C`Xluk8n`^_P{gc}i9<SFPGlZa2;!SDRh^_O<<RpTyLDbi3>R+U>B5 z5;>J!wR^E6*>Ad)SLSMG8It>4xb`GWkWl`?kj#+U175YvsLM!dXbMBhD;u23u4<9U zsq7vHZg!6$g)%l$MC8`9$j~vQtDZ|iA6mLx-_4MeW!1*nGfNA2L0dad*xF2?07ii^ zO7>NZ=8#7oA%kEM>Ql7-jItERg-~8)C-5H<thrdYOvp!KH3{tS7|3{O#8k+mE+i+s z#yVn5VV@VALRNu+tenmSjdR7s*h=Gii&S>io)1-{8mnQghr_49`Q|XDn#6Y&X+Jz4 z1JXcOF4s5f^_>Nur}g@43o7mMYRQas&;7V=SyB5z`}O+Edi`h_(&s(XdAs}EZfd$s z?+z-vt9FYo?Z7XcpU&=MyS}T|kL_v?jL*%a+wf6}C%3;8@j<)VwnqN-`j4A}T6Vcf z`dBU1<sr4Ow6e%_(=w$STcTl<7E9D}sBL5OV{5#*Cu}xUxy0BG&^Baj49V)h_kdI& z51Xkao)TCo8?b;{2!p+kETCYFBc%00`8|I>&t)d<SIR>|g?lZPRIklw(!{Haihhz| zy3o?NL6hKh#Qa`SUPC@#5a>`fYT8%F3cM;5HAviw=}1u@+E0{4_kwthou}VClDT=b z<=y%fF4rwgSlIY%p{RC%^kUyzh-m@HqDu=e#(n-|5$o<x{orqR?!$i5SBE}NEr)V% zU#{#Rmkzxy?FVP}pY>htt|W`cbKA+!%2i`I$#&EH!)Tw`Fb^rcSy!pyrmMnmHI!)B zjw>}ZL#?1r;JxiC33Uvq+wuint%i0g*#go}$My55izgg?2EEWEeOA9({102;NN`gy z_krl*n)Gqi0psOk_>``<!#YgZ^355`L4E`PMZ1%-Qj~J8rGio<pd~W%ZOk?OL#DWD zEz_ZzO^$`tN}CP4;%nJS0NOw$zbU)O^tO%Hy=hvO<Z$Vb8QX%zrsXe&+Sj)hd3Nis zyVcVd3q+13y{((A`*VG_eQ5#evqh)wO0?W*^VG5`yJ_Rt)dM-mvLAnO>WEKk>kVx8 z(d^of?{*Hqh?^zFcYy@mMyQw+m#dAzi%rv)HPuY=ps4INbbwT~kkkI*Jfe>d2ivQ= zPmJxb2DVM_-*foXGb9((Yv+(=>sI=-{z@maYh|I4lZI(dl57eb^*fULDjBQGNcZSS zptZoI*KpWtU%Hn^0F1f{CH!9$_LTJm)VxurNdKE`VL<u$bCE=l3T1=YL|zJ6POW#} zfhT&X$9}nrY3k=oC6Hx3B<V4@EU(JSzR`GjNSEuD(>$%)>G`i%TLNQoqy?T!>!`D^ za`z{+Ub^*qb&YR#EkUB;_wv@R3N2V&T8w(K?CKZGkbZ1ms2$0A?>?{h`)C1awK|V9 ze7Po8C}?61rTpaOhxQTp<DXx<Cgz~A6MUrxF`Ce!p{dU-o|x5Z-92@6eOP7nx-xbi z*?wuqHn%G$f9*%UeKp;4TD70F7w-GXGFcFTP8P{HNZlvpLctL*5|}uXTC_joI;90J zC-~*SfgwTUvcrkFtmtP+YHWBALdpRMMOjfMm+gs+tRhuakJAGZFP6p;t|A-Yu$H9` z5?J}>Ms-kKs2*H)waAC6C@*&G+|##sLh<9~vCE3RaWZ7;z~aHhihi_Qro|7Zvip43 za+{X#tbcWmw~O_!<bp&tYILYN^w!cHa+|(bF7#q!NN-==Nan}8_Ujg=?)Lkr)>bp# z@heO@cPT$1!9=Bo@r2j@XH>;4`-f&TEdt)T;Ow!4HBzwq5cbgN4%qBH7)S?c+S~ei z5TxPnV1dPLe~F-7SPvG0aZr*aUz#`x)(cYsj&`BhUu_seVk<RE)fzBeCytc095T@x zI_!$?vV(kjifp_{@?r@ou9Pfwz@Z$mc}Q%qC*^>HAe*+9h2mi;hmp$;O<4H|*#_|F z75C{gV;w!J_8vPN0g|z==opfH|8@OKi!hh#`wm7Nl04lF5u^@~Tny^PZQ730$B^8| zEqkyZcZBG2{W|CyMwv`<m{N!aBKvDv)SV&MvIEhrbMu1RCiv#EmyU3rc04d7zohEZ z+KdHh{~`JKGmdpepQfUFJ|#hCwzbZQJaA&iCYXMO@<PcGy<Fz^C#mevWO{x2*{q4$ zEh_DspbS8z_lyK63EelC0}{PU4s$wmKMyHztJRX$+fP)2l$wF9LNrD*j`LxvumqDS z)YQ$xWm7e^ImD10z3G$)>vc_?7NLIo^7L!_-6t3HS%2-)lit?*2$GE<-F4eLzg$bD z`WVtvFI+gcoXI7_9t3yeS`QfiB%(<QTXN9<bw;XJAetIsfK9peb+Mxd2+KG0#ezn8 zKx5CvaE#tY>n}??jdVrj-i;%%o+Zdt_JOIG0@J|r{bvSKQK_hH@Ns?zvC1x&i=!yC z%J{r6sI{6f>WV-P>SILN6?|74#?%f|Sx4FYSOZBy6ZVU(SAKETjBr8f*H_0a%u{@o zq*hO+dAzy5e7tGU2c(wFymf%|;z-Ta`sL}D&tC_3oaHqGAl(INvRCT|_gYy(<zh$! zAhihO2HykH!@#NpPD(|=!eI?KB++D_*;o=3yf3Tv-7OZ7LdT)Gb<1j;)@1l;^kF%x zP3XX3WKBUFoL}P<RuX3KQ)^?3vvU@SPQ`gir*~>5bB~TM*W(hs^n=*7<UAxy)jfz3 z;mMcTF@0??>7&DOS0qjrPEtIJGWrBDi;A-K3RH0lOq7J^MGduA%Dc|>={vjw-?3Nm zRa8SAdH;^s3Va%o<7hc=ZXRzQyCftG7}CzxTk9(|tRL17Ki>U#*L`hzhE%<+pE{YG z``_EzV@MA@L$dhfZt?opAJ=9CNWTsshPosH@&tAy2q()EHWJ@%rkE{T^gEjT$C`A| z&uCe*<Qc{H4l_Zru-vhZ4wguHox@Jxdm&9r`!|Kq*6bU}=OLj-VKA6KD?{blN_eRF z827fH@*AKZKuA=U!Q3%P<#$jlViEB`lG>NoK{-{11%Xh`AtY6mw_Y8~z9lUpvPr%p zp}&<V-!y~94o3{B{lE1__F<p(m-Wl#`t#SiOC;(=+~(=-a{bkhA^o_IAwBM6NW=GE zKi`Fb#Kw^FEE{E~?4mQoDGW)7gaFL&_H&15#@`r!-JEtCrkGK_QdzPF_n0<Gx<<`m zWQyPEj3vys)62`vRRbLX(BXvG2T}|PiV%ike-FwYA|~pT(#aJ-8JT>S^Zl%uB=VCf zikD23CGqI!5JRdHX+(7p7OK2z-@dpzD~ssI;M)kImM--h-uUhLaL<sOZ?1Z6dCeC` zWY#U`ap_3TgZC>9{N`z0k5zV7*d3|tUYt&^{i=tb9*_<yJC+_HFIp$Q$1kQ;cGHZH zA45tP56VWQ&BC)-Z9rge(m;+tAX^MAVF{sNnr)V~)37iZn3^HX!|yTp(o_Ud7SuQj z>Iz=fYyZ3odf<tEFG{+*FpwPZ>9fR4Z&7A2n2tP=x<Vd~E4~rOEwDr&*fFFk?gcBh z?DN+JZ52DV?vO0spj0T%Kc|~<*`RR@$t4q6a^rC0v&%>t3O0OR-}f=3ukGKz9018x zaKIoB>2lcYa&6ardl&$zg|f>|c1J?^2#bSA3wI<qFeI4zVDHDB<X?hCyfZM}lueK7 zr&QH}#2Xee+6C9~{X;+c4GZ$Yk_k`A%i{$ir#?E;EC~`SJM!cAVW9@()o&@-$XE*@ z3yD;<U?@XrP=OsJlt@ir7|C+MK+=Y(P*JkEMBOLGR>=;36;q06lo(5a6H`|V>fi`F z>nnXnDm&=QEwsq8sau3{1sEPI>fAN!K0V25<f^@_!B%ScYD+SJdyOhJ*kTV4Zv6p} z)>~Jpp(KQqRz#wjAt^g4YznP$>VY){aI-KvnR&+Y7$KlUIt<YJyPBp8>z1BO6eKbE z+fI56VCv(dynolk29bF75DTh(5d*R6x;#tC#gr%r38AFzC1VmfC@7~&31aZrnu~)| zKoQA{AysTmy0KcJ;+jkVvt}jd$1)B2a)bf>`s>Wqzi}SBLrvO&A=ymWwat2cv!KzF zo)?=G+b+Mj^dxi<ptqJT^_3d>T6XlQd-ZGCS^r$iiLMTSWQ*qAp`7|fqWC10NV}*r zXlKIbi-@N6<X#3L7o!ibAQOQlFcKC$l#|mMD7dAW)NIABGnidO>0vfl&CNq1C1N07 zCR&d01dcIEq|FLmKPpEw<n+R1ibs^4nIsZ1bh7W7B}3JU>(1v16~Iqb5<^IAkvxjD zk7AM;3QBl#Iy=u}XS0P`lv)qfz8wO+bfKe8BiBp4p9YQG`92KvcDL;|G5x0N`|7QI zy?E-=m7d(N|G#b@X8q89e$O5#$~Qoy*yzi?=lOS{7?SF#{J!JMCwEm%(Kf;a@I30( zT)OS+w4PIicX;Zr0FM5Px%QPV$-Gr{t_P+}J1Hb~#Ih=i<=_}X9%Y0HlmSqT^z9~D z&LMGuhRHfpN1<Xm^l{7yyl<;qPLjVlCV?|8*BF1+G`_m<Fpapa9W6!M$Ov4u1^52y zb>tqiUybsRZeP2>Zdcg*0W168?X~;ZX&S20WTyX|k{1~RmYn&S&I|MusO+Yyx)yPZ z92+kFqs7XxJid$<okBwoOka_ucCAbmR!`j){7FO%3AyMFX_RFc5u;qK2S#*<Sw~w= z>Ncu0gt@k{=)2e`sr`=B8A)z*7$qMp8ma86SoU2dGnT3`r}ENlA#h|Sl^=LmHT>@8 zQM!D!GM4jWpF`UM5~W6}Mr9o&T7=@&Mma(_{1&=9ot&I1qTAy&Hp&_FVm9O?crfYE zP7ub2ql98+R4@P~jhTq=6O*8T8Kb0D!>ObjTrLxrhlK1*R7#5{ldKDeGHXE<z(n(S z5_t=zh?@YQn0C+|ta%O?86HR@l^u&LemT|NEmtSnPgG$)zQMa!#aNXi3MooCK3Ut- zl|)g9#^c!o((Bt@a<%Hs)xl%OC6?Gx_CDaEF{Idhl;<JA;&1`<pTvt6c5xNAmeptV zOs}>8<&iWgUu}sy^$s^Y64q&$8Bn@otYD~664fOd*x}eVU{I$N1qDS?!bj!7rQ$rN z6q^&=kg-b=4?t3nqDeKwaw4RHk>(*Pf)~PB7?>hYyN>BpBsPlIZC2I1e@uVDtKIGE z?siva0O@VL&fG7|D<6^1hV@)_#THVThcrbqa1@&$RVaXyFs9RDA>T{!yDE{elxQHg zRU!dO_j@|2h#lB{U;Ek4p#;l_lu4L>(h?ygWtaw2f^X!ccOy_mwlzWE7n0&hX!6N1 zG*;QAiv)>*A;@i&3L;?&OG%=R8b+JZCW`l`ufsqhApOekff71@%KapwPhqcvgQD`0 zP#QxjL>Jc6LZwf>?wlq~{$VyYD(lZJXzi(_&iDLV80PmtfuLgAy?D2|z>-XNw1f-^ zeTzi7;;E7iBcpYzM1leelSjrFgK=gj8otyVajCN;APWXNL^g{m(UC%2z*oqHEsy-B zM%5}vjI9}Y9sfy0m=evcxDXN*`BMvI`(ti~zE_kyyt#b^;n+CoCi+tal9V;%twF{t zXYU}4AuTq$6q9gnUy3xiWkf+S>n=m^`EJGhcIkVUjqAV?KZRo9=Fy}H@2;<eNd!;K zL(13zlc}&nd<G*aeP4XmD;1i>nVvbVAUr9t8|C<5jtkWSKdJ(T#J2UTLJ&JB8^Cad zG*CDdOyq#Y+=@o|(g$f9Mi~K^tz|KC09W3&-hd<v7PJ(44_fj=a<y@f!`1egH1>{T zNK=f&s=yd*AJe)q<|zl7YVhH>vty=U-rQs(psBcaJgwTXHHzPL>`+!&2nVl@Az|pW zK|zX!qPajt2#KaZ3`VjGj6+X237#;}bVwm26y@?515qW{_wF-aE3vq0t@GX0W0xJJ zy5J%QS(p(2C*y|6Br?_kOvN`t{FD+3NsXvs+qf@pnrH3f?!}NMrr4Z~cb8jwKq}Kh z&9ihMhM-wPKcUzs@MRcEz;di*EL77g?e28n))KPB+<xW(M_yVA*-9A;VZNZUBSwgp zD3^)~TY|EMBUXydxXYr*7RfOw%o$Jg3O|gd`=VMM3pm;VyGIC9jkIxfkQvJrwSx?P z)k0cq)yI%<8u?4e`bhy4njTfTI2DbZZK%R8l)w+O)xNvu@oKYi^Rvz7MUhR}ea^&? zG?9k!I#mEj$>;UvzI<MsP042ptDaN~U=;Csn9UTXTr^Gx_Meb%HNmNxx)Rg;l9LEm zf+3OUVM(A72KFW$MB+OZG0r8v8xkflEm8)Wk+X?%#+TwvnG?@SG?1xfr&T9ZD_F&t z6F^rjy8S2_LL%<sWTHT56qJ*5s8RL@Kt&vh0-nv@2njpIXW@3^7}CY2c~K{kY$SuP zpD-3NB!J@@xQUr4Fw;sFX6_V%Lm`-)Qa`Arm*Z+bi)ri2xt$m#f~79wwXYB{neH-@ z<s~kPf;#Jxl<1l`Fq4^YV_t<<7^P>MXQLR|2=p8jbwTo>r5Ynj9ad_P%Y9co%pHoc zVrZT*d!3OXB4Wk$pyDnigN>Bvgn_y{Leg)7SbuRmd%%p#Zo6{~>E?CwqPCkoLsEKD zZg=i^+isriAJx|G?{?d4b|VD5Y1~m<xG(YQ^=!MrTMJpc8qapSm)^PfO2YuN7vGAM z+G|)G5RT6w;Mg_P-|hV3F31bcAb@r5Ww5C5QpPH~$mPV&iAm+*Cy5B5;DX^e5|)IN zNRlY4GFvh3rjy$_g?UJf%8swCuv&R=#FSoGK?GdY0k)W)e|~Y*LOC=`6DcW12n+6F zd?T45kjHS0{JVSYgego*HgYaBi43V~ZXH9~KKBeMojchrn*xgg)HpJ9ZVRZlf7qAq z-{v4yuwQO0ZE`Po^Jv#?9y`z8Wn=$p5p6ucY|91<@dNE#8))LllQK>V$pfC29E#dX zW(Oxi$@G5AkxApVe+UW^LlHTlBr(Bk=zyZxHZzwdjUhrl#ziI(R^L+xQcufeB;~^E zt6a`e6}#X1&p-exzoU6LK>vzK)!g{nP$)_vlSw6`G|fSijyF-RU5Q4w5WyTt?z$)s ziG36<cNdm$wEt{gbXhg6jY!wB3zrU%wjCf{+LwED?;a1Tg=S;lUG|{m+ELx#w77TG z)OgWB*M<9V7~mwzshRS($x?#j23kPtnu;#Pv0CjNF_;82OCES4RAgdElw(1ZF*mH$ zpuF-sFWAD7MGbVuq;UISE<zTCvjkt9bf|tAB|HF9SZ1M)%PiDvVr-o%rdlVlF5l=@ zrIC|kGAIb%WlD=#T0`Q`3nQH-=@YBHu%=*Ww+~m%wT&cE^P+wVHzl?J8awh?^8i-J zw`~Ag?18i98DPI^`z5yIw%N3wKUl@zBURUzjfE&1LUJm*%jOy`_5*xpI$_KduQ_%~ zXIWwq%uG%-x;WRQ1J|uS!d1}CA(U6_h~csXs}%B(C>`|<Efg}4L<Jf=(!d(=6KWE~ zdqT_`(-a`%#mYz1VvW13VGs*_S7JXTUcgX$4g2a)_KopXB0dsCe0)fyP??e&hN)m9 z6?}^E4-=(ZCTI&be{u|I`+_n<iepIEC4MnSdahbjx@`Zj(9=>M2S^92&^*|mD7FL$ zw~v+~UAO$gvZI?#C;N6WC|7QxAAlxU1vr8;XOVEzf=9Fnw(S)wkPnYZEA4gqu=o{U z5~eu-Jt`maS!VwdF(k@lAz@Z^mqwasc1u~I9h#gdE}5;0y2(FsmCg-YGMoZz6GdkZ z%>&7I6)U$Z2Ab-yxN04s5>xu2Vq2J_20(K`CQJ&nW6vg|p}_H!KwlOQ4Q1(^ggx=k zMy%9;R~xbnscLFyUewR|rpOdjD;Gkt0ihRk!J~#u)jXTSx{YON?f1>r1(9x=L5OGh z5;~CT{~QL0tQQ}AK2dxGCY#Rb#T=GE&<TyXC!Gh-%ygtl7@^#F;onB&BrMHC8r8DX z#$h;>w$|k%I?1LdNy?p1Np?A5-n&SQ+ek?YXtmN5uG<$-t>RjCbs(;**`BkjNcK%x zKNertfRZg&$AT2fdu2(|VG2P)<O($88`d+mf`nB$!(dJQgRu<ha%XUJuV+Z6$VX(H zY{4lMst!-EWk@eD7TH-Z+*SW&%YX()UUR=sjO_sFY*;6eOe$NAl3X9w;RY&cM6CKM zl^~y9u6@$D(8PV7Qkq_-jhT7*IF%i#b0bj%rEJGMDdUJMIUS{-n3U<`WDD6$842#N z1RgQ2i8rY1svrfnmK}E^{~N5>L?o%@tdCD5Tw#`(%9q4bbfYN8Hwnica#HeGNy3Gq zM7NzHghVC?IWjS%gR^?OyZy^{SN~=6x@%vw59!8~%o_>z45<aA&2G2ZA&wYQyR4kV z;mUrwd&S;S*WyssTps}GzEcI-0Uomj0TwrEK#LR|c(>5eyW01ovBCE_yTv1dd<=== z)~T@t!c6d)ayoGmrQ~QhF*QqaPz)l)oQ-_np|aAOz^L+D5TmlI)2T$sj<Iavp(<2= z?-P-b^<9#{k%-}`nB=#VqnlLX`$L&!?e7&OCL}16anyv6tOIP*Y@fGV>nyvE(=LQO zq@u~ZQ=455F1vf<(p>$-STrq1!i%Qvj<sh<m(6)oM=m=%z#RJriv*13nM<K7HUv&I z&~3JW?O(<N_@3%IIDSPvel`M{OU0F<f~3k0Q#>Xo%M#*96se>5GB(+)NG@S0p?hGa z?<Dy6f~=>InxT;rM9IjuoE#w4x%NfXD()Ctg{6ZkK^##D6&y$f2L;|xRt`dpj4l~d zE0a9r)6UTFGa!z1g$&70i`{KEP2IAj&1Ung)eVmr66D=a+pX1=w_NAS0n(8F<cF;2 zrm>%OX65Fw&rZ5*XkbXtr!BbwIxL-Q&9oY*cVav94Qy1%HN0I*m6m{+%p`H~L7_%C z4qck{izwUp+P^=d6{1u|WWp7uPG}^~?v)n$E|+=9ae4`V;>0I5FYEAGz<TNcJE}yU z5%6_cYp&I7tQnW20}>>Y>~%v?N07LOf-Daw-YU{=fE+IxO&$2h+*GTp<|iccN7KC2 zqtuz?!@et;usfAq<x+^AX;5sNJs<0r7JE$d(1(;ZJ!ti7JBD=AfE66?CEx4yR0{-3 zAs3u#$`8r4AbUTKfrvAt028m9k`NY7G-e*!Y51X1WtVcdph;u|<-*Jf=g!!<mJCsF z9Ep78dBmP5<4F`vF{P0>zBI_!R;VQ%_n0X`rh#7obN=UPbsdS4et(S=CHC7(B>{uN z>54B!C&PBX5``#~lfj^nYc{Ct*eCRA>#{n`_E~4zAdVp==g?gqQVUBfi%d5yQ*s2T zc{GQOni{u_&5y0|#^xbC_Mp|f>H0jR2fDmJ43Gw-rHnPaf9OS<K?4PrwYXY@)~3J9 zbtuunPjAtF>`Dy>O^h!lNSUK-*>1|UedsIGpd_@Tq_YUa0Jn^ZB&62hn8;C%L`bec z<m38*s6j5E%JH009#YN8!38j?$6v3I^KOw5EVW#s0X006x%3%D9PtVg{>qam<WFfe zcr=!u!K=n}*8fFo-eFgS0bQkro30AO)li~gJFe8wf9R?(JnTgcrg8o`C#&0Z`nvnB zU_-mEQ329P;{Q-K+g^rL90lN%$8o%9&G9b8-Y0N)%R-u@#9S;ZncJie5|3r;iiXuZ zqtcOveh?{HSV8NwK~3X8%80_4se3yAg~YHH9|Dm|qSjmu?>f=KoG<QBNnMucAY{W- z>KF@L$k5J_)WmPtPO^kQ5`ZYX9->JXZRe*wDDWfiHy}SFSDWrJ*}mk9E(|KWlIIUP zK(hX~_7AIGaM7Tv5Rlr361sAArjH?^OOS;QkjPlLy2i79fQ$9|sOqmG(+s56;K358 zGSiQAG+ke6tD<1bL=FS9P9E|-H<p0@(0kl7q)_&qFD{dJRZ$sSMP+#o_(l8*a{rqG zlb2IO<U5sOzz&#r%-%;=i$SD1E@pS=7~4mT>aqqF)k+_3Bf+bxfO~OfLZ+<Yuc)?E z1pSglMI!J@JSIQ%fmFRgOVzTApF-?LHuaeW9kY6^p?hB+p7Yh~%GlX!`(-<}srT|% zw|%>+{iE8|cBO8B^Yzyg$-hdh%@~a!%-cQw(Eyzg*)+B{k@z(+*)>!BA%DuJ`^kX% zG&L$aFIIqJu1*4cs9a-33i6TOj$;3j;8;q=giwx@=Nl(rTwJwERi_L15=g*PMKZmZ zV38Q<M-9SYx%2=F2c%J#MC}v;1t%*Djl}sUQ`7sLhALLsO|e+ua*;aZ8$Wptb-E8B zghkU?kUkIBbP@h;ogde~d>83G|0zjF>O%)!c3z&ts{u)va7kx+_25{E#X3$@kcX5? zK=qgjaoj}FIULh@NM#GAqzUN^7|Q2F>6GatNTI2B*@=qp+OI_CuL*2Hp;`_h4MC); ziy>w5SF?e-Ac{!QOa!H?jBEfd8DK*0N5o8JXu8(2J7(>iQS<EQ8B+Xs-n`(p3C6r^ z{6av6XB`%(I^=Y#bOZdjuDS9F@E+tSXDOEhm*eP_7YW?JF)lO5rp#1~0JZL6&QE5_ z)@hX;ntaD{l*xe*M2hFFz9WuA$r_0(P+UM&44ROR8i;dn3MJwsXaX@UYLKea4J@j5 zfK<sUyDF)`15chJUX8fAgpUkCIoe1dPGSg2&T1pkGnXk*E(ejAX^`MCoNghQ+N7Ha z7RH8t9)gGUyg3vCVl6>nd&YUXZ)>4kM5=I*%7DRgS~XZI$8&PAf+bagFc&Hz)ofM0 zH5B5)u}V%XsMYfU2@;W(BL3n>u~9px4V&^%%wj^3USQ1xBtpj6A#3YUltctal5B(S z^+WQzPNd^MoT#B*B@%0EF{+fPtw2*4DVnsuGC@;G^o}NYXTJU_j{5+nZh<$`fqhbo z_DPbBDc27PGM#{&m?4BkbL*CsnP38qU~cyuDlMFvP?}*`u`p;3Ae()($IxQRq*Nyq zgU~zGbvU)Vvz!p6(yW*mQpzZM4WWrM{AGDedb5b?a0RM@9hef%QGzz5C49`j2JEQi zo_rPiZsfA7m`bcNo^^>$Y~MsoN50VG8zd_WsW`HP0#qRDWet=qjGiu6mOeUen#7PY z%VtWZrY-s%ISZ2qmo_Ly)GjA2(i|PvSOpA6F`OleuW6Q2Z?%hRLL4z@riYqX@whlG zI%Xcy=%;Op94UeGCbAWjvKeT&tQ4kT49U}Gl=N||j3Jp`MEt6xfz_x&+-UaBbD+vc zp^9A#l$5AG408AsvkAn~nNg|Q0po}w74j`z8NuY?VS*oxZ}^gr=FSvn#!K=hP!^^; z`qcOIS)VX*y1l4Lh3u%H-v2w1BRazGLzc)XCSv9Lj2Tj(p{49&FUl4$DSqMu8dxCo zVp$3a`7b4gIhTo~mjB_NA!&7WK3jrOqH84;ZQ!bfS0k6*K8PgV54LnR9s)>Iz>|n^ zieg%p$R{XciBwN7RwpCq6{bC~8!@N?#Q|>(KYI76E*#%-%8D#FfhmW{UbtxqxW@qX z_hD#a(63~5QDrBaZ_3x(34w{^88ON+4&x_c%8~U50~47pqk;t#GBiw!(~(Vh!JwKz z$hsibE!0B2?+A1Jen>TwMO(?mg+Kw{CM9}joq6cr8QMqkD77bIvV~Cm-H>Ju67EyM zj|OG+5g3w6L7SO_12BR3lPjR#Im=Yr+w>S_HNR`K<lT5zHQTs+ee~;v<NruNAW^lC zR0%ORCI}F+0xNxZha^P=qd-P=1P8MzP?;#akwk^r9L({MtQtW`ORC4fQ;%GBahg$; zsyTEh9fXCEI8?zyfgS=G5a-d0r89@ZP<{}JOEE~ct=}Jj>e<#llba=<Rf9)dU|#<t zD2ZTbP21AaHvjG|RsBbI2>Oez<3~Vvno@J%``AtqC`w$aYyany>~h2!XG#TB(BwTV z;Z!*pLQ<JTR3$7?#st%JaiO;}iUbE$%yxuqS>RO*H5ZcdN2@zPLN?f!46(3DT&n02 zje5bSsy_+1gh3(sscC8BISA(gE|C9nR@jfR@67V1;a$iLEHZ7Mi-b_TpJUohm;qog zi_Yj0ao_caa-@Y(*%7NG$VO5yn=*<fsW4E@;L)FKljm|H7CA}I)WoE?Asa-J%M4JY zva2#OIbUcu5;ar-=J0eV>V7_weG`|(L$P2!Szj=tR7v7PP7PC%To7|p(lkyQJ6M-| z<Tgt_;|AYhf$_d`u%ro!K=MS>SJ%8ZR!_<G1w|F3Lt>Xf#mdJGA_6TCdMe6p(oY*| z|CkaPpaGUpBC5?g`z5SF1rtI|fjZ>;L^-Dvsg+*IF1minanI6I!dq8!!iMVb3K<DR z#fcgQwuMr1k1R!u;VZ&zPfLl3j3Kr+lt@G~2Z}7wqC}iC_*u~G7!q(fvPy;oRPc<? z3@C6QqKwPHf>s^qNE~rdk0l>f0^K#9b`rCqXXOsb<KQ!-*_%i%VG2Vsi9FF9v+;CO ziU<YrvvtAVAScM9yys4ceIw(bA}%aW@f4jhZp*`$FitS4(uuIK%dYmYs}frJ)d^7p zCC<Fm4aw^8vt>3^F*jmdh2CU@m&Sx~NX%=-r^H{6#gG(QW5%S0DZSv=@;_Y~36w<b zHDse;KT8<ol3D~y;o~e|6)RU{SkO|$^Z0~4R@q6ZlTsT8(!zoqM3Vi2j1!JBgR|ut zLY|cgsweaQwcaH<xa_>BQ5AQQs0FVZtaz_nEeOdy`2=Mpc9fE*#Sn&Rrz*;de;@rv zwR&^-uVdgm5u-Ssgi{%kq|eeYBoL>@&N|I85HkudoJPMr!^AG5i8xa8hUr@^%WD{N z0*l=BC9c;Zwd^o44Hj(!`c@0I>5Z7z=qlh%i4a)e4N98UoQp32MdUOHTycfU@3Xg8 z*;VNzri!oE&{t}p97G@=L@MD>NyWc#xwv>$zJzV4)0f@9i66tFc6l?$l2dW5IiPu5 zW(hwR(8THW0!9#W`Ij>eY6?ERgAC0-B7H>a*m{}*$8_qGYv0!#JnqEP6%wYl;@Ssy z3ngrbWN%0=raiKJD9X7o?<4X84wTPCitQ{)@I_)_RaOq}6=HxS098TID5wICAq67g zdh+!EyMOmbGa@vkaG;HLnwT>ncNr6k#WZMPOu)I}maGTaGbAWc{Z29hQ{`Lp43E)l zb_^9dEQ)4DT4q=bF=rHan~~4^Zd{i?3f3tN6Jki>OcRxp<B39DNsdkNydLv$4@@2y z>cS+L2&iMq#&%Yl)74d)(yC)XsskjdgLX*4kQMK;Gh$Ib;UucQ2zB$KSshj4NmTz< zFvL-mrI-rU3+YsLGZ@mSXPP4LVJ4XF+m{*kL7SU;c%PtJ$LB{{RtMZzkg@;Du2*mZ zgANOU0u(9IaUl`K!V$_ihNO*wlgev`>2x5>hLF-eIW&wOLd>ig`LBoztRQCu8Qj4f zW{npJfTE672{j`Lug0Q=nn9&3qCtQXVl*!y=f4>M=}`n1-P{A2{_`=dp)7jwzZOcw zH6!jUKg(B}YpS;G@}hpQC*&bTF0WO=ym|XL*VMZ~t9rbLcMo;LaS-iYa*)1*gdxQ- z6kdm8TuOdc5HTdNkSRu1h*)_w2C*c}xQ0lM457(Qy;A~WU2;p7W@#t%G~QxlsA-ih z)o>6x)O=#B;Mc1Kaov6c)T!OjB$ScO<I4Vjb<=q86JOBJcZa{L^@AXb^M5Xsme^<R zU9KjG=y;VP5Qy8x;1A7av$@Yc>%+6QnQuMMngZ6deO$!EUpB=w3UvB$rB$92*;*FC zQpYfrAHgE+)n|K^A)68~MGd2@W-@W2b{(YVNg-!3979HoOoYJ~Eb->?1z1P!GSW<; zQ;s>xsv{_8<uuhC$aA{YEVA&vyo!w>)zUk!*;3tC`xc9wi?V|8msL~m|DV1VZ+8bE zsn)+}MdVRUK{iL(3qhigOvR@GVC+*A^|)7?O^s)p-EQ}Chzp6;BD+UsXG9g9b~$UF z^>**(enNPO10+~5)D)K81ODTANK-!T&+R&6I$@T9)mUv++SQR6S3cM71o;6XLxN<! zA}%1m5;ScGpdp@9QQ}yL@c@Z2b4<zp68&l=dyJuP4}*13phU8G?m(8nYfw?k>sN6I zX+=dMbrw2qn)<TkM$Lm6`RpR>wzy{j3C9d+d>PPW^yP|ppAgJr73{p~F53_3cGFzb zA1(Ce9^J+AkevIhgdxFX`5gFww4|I_$~;mKruXykB~;iG6wW6U*yR%n-sf@_1qQ`+ zuKiCkx^5{qGICs{OYZ2{5*6E0IX9BhayisT)OjG2ymzirLnT&dsN!CIo^}p`<`eZk zyj0~|S|F$J2!kw`H1sVDUA9Pc^I$rkoqSc_JeS?C2@hHrjH5|TRbus+s^5z24%<0~ z^lS>A;IbIf?ap~5wwq`BN40JDhqv2ivwJzjj&B<KDPFiQ;p(+r3vVrl+O-Gg$QzK^ zHm}qTa5$8!rg?R>X}T|I*F4g&le1kr;wzb5z1^7h-L~27>iJe`ip7Sx0_3@dSC(-U zNzF?S{aAK?2}n7benM6tN?+CfN1BRdVGB>ea$qJuU$jtiLL}ufk$6UwE~A<)FN8)H z#ut2+=+*CLVWbKb+g=Q*DoH{bc?H3UJ&xE9V=w1kV`rC|Ee13I%3B;mN(7PQ8;7|V zkY49GZf`#R34q8{ZXH9q&Ki>g2<c)-`^_8YojbRe^Vz;@n(p7`5E-&xZmb`#eX;G% zAMLspTB>%F%f^8WZ4U#CJb&GX?#mXotRCgQTgSAc+L7CJwswRox6gZ(Q36_UPOUEO z00G(3&#)7^_=4jukuy&%jp54$<T@NnN0ydykWK-;yi}z24=-j1#8zquJE~ElLN*>u z6Up8hN@5i<wuZRiM}DGAvdf3UB&<wpbJS2s&?)5VP{zGl$+hgNF~-#b+oFgU3AzEE z*_n~X&ePegOtq`s8n?SHvUI!a7!uhp+c|y9kajPcJ77%Wr!_hrJb)oektocoSo$9_ z@s%MjcNdN!Z8k4UGNgmZ7U6&x9lErrfbQKvJJ<3h`|h%b7k3NpZ#I?y)p*fC*F}dX z{Q!e-u4&O`Gkj_BY12G7d~4z9ym3MX2U^3+by+IXDKkLJV;}F9u3AX0CiB0U08voo zshk%9&6nnZn1?j2W!jVg65EbEnLC*ZB8l^S<+M6~ilhjJ#ll3AL<p5o%5Frbz|%ft zx+)!7Q&fja4Lo+D?##}|fb`IRc)7k^uh$lD-VU!{dxrGm`t$m(T0cIm*AFR;A12~_ zV%>O_17Yl2Mq!>4y6l2ybo+4S7*cE3uhkFwCinPzktau8&YB0fX~AaO0JPWxXU+4d zd3pOKuG%#>?dK1c=R8t%ecAM3A8;zW%jOy`h5`0x^9b#*`!6rsQLFnF(5M}UI)>DO z)+1Ow1DrS7e(B38h+)DwKxGk#Nf<C;<x!><%y)pPyjserl8Q(jKWa2tfG6f5p&(hx zwriub=8nSYIf{0jg2)hNl)?hGc+3p>Ad(E8#D3t1V=ywfe*1|?kKi$!xQ)afeIS(K zjYq0IPaqdVqGXf#jAzV#(VDWGN9#8-?ew}I=yKhn&H9TmSMAICtM$;e%hLcz?MLo| z^_{0CKv~8>c^`4XOhT#)bwIiBi5Xm8n?GIHJfzKTyL~9E)Sxvsj`Uo$sMNv*S?Fo0 zj{~I9Di8Khu_ZugbB=DBYpefj+0o5rpNF*FIKN{*z_36ETJB4O7Mt4fwj03hhAsz& z^gtKwSQeFFf|*&$#4QA1K;JV*I)c@oH0G?fPI}TLRFo>cNL;0cRM!9;O+zUw!Xquc zqRG@G#x{~Afr5^kLhwRkl3I5)6GTsCR|U+d3foSsQk5Fm)<>0$NvvlK#UL4(`0Jad zWl0W~29F)JfV95buGh8s+`s<lUhjJPwBBr5K)Tym^2Cc**!UbWxbNq4`CsT7CowvH zlq7Ul8?p?E{$#4%rjQ}=Jp`i26I3e~Lh6)t9q}Y%|30kMxze2f%{t&5t~h0Q^U&oX zIV9@HR5!qW{F|+dNj<oI_ZhV9suqp*4C%Q$$#EXi_mSm!R5(!aJopbh)50PT$y~B` zNa<w`F_L{_R!hs|h{zv>)jg3@NTDA{z=KAYQuBH$0|%4JN0K8g0zcwCPsk8FzF9fv zr;C^rWE)g?RmAsLRgWq)L^p#t4F(!6Vpdt%HySSw>2iHXEf_tR^&05Y`d9O`uIYT; z$-aMFe_25bNUPO(EVVOvX=Cy(Qlh1;=ZPeq8l_cs+Xr*ugl#P?*%;RE!IXt8V@NI{ z(*e?RuNXngkVfO)xPa1C|7FX721i~eLU1m-4v@}<b%qn@^a}%8IbR;wcjpc48PZGp zUp>x4np(SUfvn9VW8$gA*OO30+0w8q5sYyd!^{hG%0}iOF{FGZJmb&8JQ&POVdCr= zg_D0|0wvy;>WbFH><cH5JXi@$j8?fG5^-YexPf0r^c_}eph9|wz3#iqioI#-VTeoX zuDfXA#=f@ykagRco*{j*p`)t%<cmTAcequQQ(2}|{>XA-Ne#(An%mv&U$&hr`>L54 zLrO}b_kgt7?KV5a%1ex0HJuL5=I6fR;F8<6_u={gNcWwJ!4B{^Qhjf>dq9E#m+mQG zNGmNv5|m|2Po#A%X_s}A6_#-;fCV@yM4r%xsB0uxv|nuuNrWIQ(l$^soe>$WG_gS> zpJLHcXh!MGmYiaX3`u&mfH9&EJoPHdJE}yTf}a>0!%&^#NXYbRk9@6^$SLc5b{3GT zQC{q&lPj!$y>j&!TI_LDXdgqWhdiXGuK|})CLGbkdcLVF0&j*QJg!z}-E18;Ty;z- z@mMnqNj;a`yX@|b3*-c)gRHg@FFHoLXGoXLc~eI&J3GK=*z1-E?E&fFvhx_ybGz#U zLt=^wXlrPmcmfSm(Bq_hXhN1M=uYW~zBH|9ZYIJNToaZd5l=(Jun^;@LRP?yvH%;^ z+yf&=69r}m86B1?sE<YXN}_t%a~KIUh;O|&ZUGx7#tO~K`7#dS?1F@Rs+5kgwO-A` zWwZC#Q4dJ8{?ffZ-8uNF-Ufy=B*u21AeXv@x>PlcYX+f|+(h}`4yN;v%yzfiZaS+k zFr+ZS5{fG|?Ckg#Ek(I<fHdSkJ$vI@Wn2qbofWuw?9ryLtza3_Agya2z#J5|?Fw+- znBmLqW>1t_met9=9S&ZM7}8a<nIvt?VuDvWGe4zP&7l|Rd#Z@=A1S?6flX@sS`yCX zXxk{0cp}V9K&+4<q2ehg0j}iI3MlG-*`X=tX~JB~SFzu#pmh+EG%@azYl3R!VkXkw zo5)m~t63#N72yuZZaqG@RCz8tMh_r?`zU?XGx*Kp&Hd%$O>+R1ODFYy`r0w2x4WzU zwP#5C#MrkrP6#29mK9-CwLQ?3qa>XWo+zqTSItjd9A^tz9cy_E$+56!3qUr7=$VG( zBja+3d<tbcX@U)B^`O<S?TF8f<u@%Cdi1LSfhDxie>niy#!AR7<FfjQkRjR7Uwm=~ z3p=&Kas5%S^elWF;Lnqsu!ngWyVCc4Ql9TJ4!Dvf8%<nthqZsv`0PZ#lC=OGn6oL! z+Zp6OATDE*Epvx@&kpjqLb2Kmvto7Ke0*@(RZ<#JEqe0A#Mmgqwu<wYI)7i0)I(U| zyt#S2dF+#r-07WnF1s%dh^nVMGv-5=7Ld%CGl}{HIjLx>V^;YClOLk1E#djAx!V3c z|3GD9NL+;%mxt8C(#j&!O-ofA0rG&QMUJf%Z(9Vh?B=ltt=>)7=OI1NrOh#_@p7Ms zbZLF7EtK_Np0}f(TjZ-RS^&Ig9_*KvA-Q1GdFLjy0+sj#q1?KGKzAaRw1}GrNL$*c z9Lpxz`8j8$^)rHejz@_g<+d!JPK>*SiP>A%{xwZo-9+#2)HWzv2#O}Q-gcxlMCe1; zh}cjhkK-*Ov01I!s0EI_lz!NR(q(^YPP;v{O#(mdwG!kIybv!sa|!!uKMLj3FjH4m zWw#x^`qQ7<H?{rl|Ji^3Sao0gpV5%LsJ-&uS4_~Wmbsqyah2<27_Bn8tdZ71d~U8> zk)3U`c~N9+ij^7?2BNFfaMM*`xEe|{Y{!)v`VU<dhKIeV!E}{=oUCrs>Fe&hnhax6 zgHze{UqUy)#i&fth#{SIH6B`q^b>x63oKZ#;CRulBgW5;pSXJZ15}Px`@Ag5T8X`9 zF@s=3NW`!v3^m@Eq81|0LPc7qK%$~3K50^k0<n5QHG#d#t_tElb;7t-BZgFS;%+84 zb}wiMD>aP#sJzy%V$!5!uV7Au&Z`1>U0@|3beITS9eTcxJ{ac^*W&)G4v@ykEKhB( zY=xdpv)vi>!?Y=R8vD{g*8kT2;VLsdx=2p*Xb!ovjSVzGSFX<VF(h;evd{sNWkF5* z{;VIMI|uuv<yQTdu4vG6hjyKs{AQGgWcS^E`Q!TQ39Xw#>5K~%SB04;1L>UtshbNG z9!?3~K~|T)xR_8X3IzGavC7+d?R^e~dTq>>0w|Xqs~k+2EQm()_MQ!4k-*}RD{z5w z2P3&DdF|&R)uN$K;01=-5{f;ri{C0mlM+g3Lr6W>5EYzcGARfN_xKO3ss7_%|7`RI z#PvhUS%v+(9t}->W<kfSUhB>;Q6GwS<LY%~Y#gWkvOQE&@8z#<`*v0Phpi^qemD%! zZMmzv?t}Krew}uwx36|hbKC9%-To{4X}iz%<<t6?ca$H`VH|L3PJog;T?{V4yc$B; zNFK8Wx5dfDkCR<|nLH%cMqvV@Q1t5&Qxt&MNDhYV1A`!v+K8eg$@2<!4nuqWm_n&T zki&$jS^)9>(Vwr!Jth*Q0aPWvs}<XCw$P&I)0Rkd)1nf{a4HH?{v#4n%qXlJ<wbR3 z<pNT&q9_P?NG0(AaH==wAP=Lru4%JFu^?f}boklJ>I@CFkoQ}<Bky5$NORx6u}}sW z9ogIZdK!;_qxg~v);9CoSS$-?aEuF**%kZw5uJWVaO`FCkj5nyNHFb`3nCF4mZ3rt zg_%09#Pbr3>Mxr+S!gx|aWxGpyV{SgFtEb#pxOr{-!WCmL@BJ)kW))~@wPm)U_#7K zp(=$03KXOqQK7_+#EFOEo@Xps*)uwhAwez_-!C^WxNU+5_OkH{0U1Hb2HiJ%aOv7i z*k$Yx^B(!$e(!N=G~m<Pd_Rf$MQKDD1|j;}zTX(x^dDlODDoJUGbZyh;9^KTL&A(& zoA?k?!sUV{0~ks19I=TkSz;6)JLZm#>BN!VoCLhaG{dRF9HM#@aEYos@J%dg)*Fai zOAs{KmQn&~qBJ68U3dx(%jYj+m@JLPsA@+^JtTAKE+zBgO}SUz#f~0=?}x(b;$t5m z$KeQjK-#chj^1!5wf-UpOMpwyJWb$TcO8pF)h9gUrQ$X+{aJ>tm0k}0b;h!y>A6Y` zVJR@f*RjJAra^*HRL+Sp!k&B#giNLfoR4Xw8ah0sAWf5P>LZI1vekcJK%hF^KWXJ_ z*{Vb7AY?smBR3W$^N(5gB(lC-iZ~Jp*|3xrI1;-WiaHXKO94|<P?n5Y)CE(Phjf6D z5Ejj?TUMs{c&gWK$%W^+DYpwGmF8)}^1+!&YaC!2)K>OA=?{=#y~BQl%*D?B431Q@ zXptrsMcVy{A;~@uG8*3<rJ6sahGUx)pt4lB)J~R@g^R7u(FnYXvdOh1z>#&`$7oWA zLc4<w&F^ClZ1<#k<o>H=mP8pwgDOX+*Haf2)io$5k6%hi!RIU|Pi~YLJK=fc`jBm= zI8bcS@5sDL^evZKGdLn)l3{>Fst`<`de7PA6mTq>!cVZcqIeMIP!T9QNzk8=P_VG5 z$rF^`HAszi?Thv0sVipnYostQq~Swy2OT^#4?X;$4Wnbiei3Wt3NvkaPzps2wd8DL z<lmsxR#yyz!V+tb0c3ElJ<OmtDU)DL*jL=6K}MqF>7UoYph)oNVI~i0;)6DYAqn9D z(Duv=4%01&lbPRl5iog|at?=L4SV*I7td*q;rq!+D!*5{4dGZvA;pj=Z@?&}<z>P< zVi2hygsqW67)=p7-v5W`_!*_u#(YW@2HCH%(5{jaX7_+JZU~#oVDd;4iIEnJOQY)( zfr*JKGR34&rvfLjvlc6?XLJ`inR!H{=07?kA@_!sTQvNLS$dQO^_H+CQ;DiTADmFI zBp;HuXOV9%+2f-lK*y|ho>Rrl!h4uS@=l~OM5&e?%6TQEny&`ICX%!Zp1g~)Q6v>Y zQV!0Ll||4b>7SyUP(rd@Wl9tPSKuy&qAIRzPz@?O^sf&l7%NA1kr!2CJ~GFD?IR2^ z?1(hpTGC)B19SE?pb&hLkMJ~xByk<ayP=~<^UTG`;wN+RJ=IZtn0acDisxi2yDh>C zVInrG1pAqt88Lo!k{?sdkVsH2P^y3^Pb37xjVZ?q`LlLX08y&W!x(i)p$|hQn1vZo z3zPz0<v;3Oc6Fi{-Ke@k<rmk1govSLtKn5rKcsYtLEe2AyWCRcQ8Dy_k}1UQ%uS|D zp0ej^#KSR!z=UNj7E<<wVMsIPie}nmGps(L(V(XS9x!E+zl27ZP*WjXOC%O$GSaY$ zS`EoC-3i6!%H67|RC$K7W@t`jml1!9vug4b(j=D9G>NVVEXs|1OL&klXzC51BA$`b z<dHDT7nuZe8d{|`6B~k{I-Hnb%jGwvqdZigJHW|e1e61EBx^Q}sud!Z<dKczpn_Il z(i7P+Bo?orxB_OOEf{U6OEp=hEYJ6uwNuQI;62WL0cI}VHkf>GCv6GG`4QFreHRT= z03@i^Y-2`urPV}GZWj!tL6a_flz}yE1tLnW0a5b_p*(8E$-Xl!&*eyxjUl1v+CoO% zk7;p6D1^lEq=cdXo<{tEOxzCrpBV|oKH?wdplZmf2$y__3ToLUv{u9CW^%YVoP(O< z@`ux9^emMkdW0k-h1y)533Z&PQ95im<tI__tCIUHv6m>yLy}Z>SmLSIh<Aw<H{g_^ z*r63@Cc&*A@(RKg=<kDqKn9JSR%7;viC|I1i5hAzh7|B4wvcGe>h#3KQ_ATi1+fXA zi-gKK120k#e1!_3f|gHVI5WvV-jEA$b1FMXx8H;!Gw{ACBJZG*OWua}=V-@gQ!oKW zr7rWw@KjEsR1<zXwJ!@#<qV}*N2Z$tv7MzUr=*T1$m4eAXyg`cvN4o{NGQjMP$8EV z&mSXDsboi8P!t?e$+J})oAN-7G&1#!NR4uEB;Ighd~qnbI!T=ug|UxSK2K!T=CBk$ zvIA{qFbKx61``>|k+j5dck@LOmyVMC^j#9X|3D9E0jZkNT38%8jv?tLrW8UG#fg+m zPd{QZ81s|{HBlgwl*7>^;>A`Qpu)@~9)9X^MbwI6In}_BYQ8Xo;K@6T!TG}E!h&Qt z_gf0GC?njbJc&u9DKql}%>M$2qu~KQ&6@iyl7|Ee<<iOWRo;OX{Rf!iX%>90+YOci z(XcJvF|o5O@|pW(CGwDbnN_}HQC4o9bGKnSIWoB|v8@XzqrLMTZ)mdWb4nzB3df5p zjnZ2x9VE8-saA3OJD(}RK>~s*(9VPmbMkwX29+*<B2P^tvXmUOm{8(m^N<SdG;Ag# z!8A;n;64Ic3cHrFYw%7?1WrJ7;Fv_|WOZSo=xD<x?{jj>R4TjFtXGkfL_8xxqpyje z#HW-_4jE5i0%Btk7)k)hSb030DI7RZ&1ev+6$2`D07%uI{8VfjY?bO58%qf&A`^0# zBoxAbq{;?DA7n^s-DrZWwDc`z`e2Bq?ifMGl8j?_O<tw3cUPKChDV_PG(vK)gawxg zm?#I(cYpz@P|}f*bO{;5L<AFu<{1)Y+*Fw3NEFYOiE*A7&O2nrjsGY}dBwwr$Q4~p z0ZnPY9@O9=<uYuDYc)}g(^-SI5+juZ2<;_!7hoWdAT^{5CyE;N3Xbk9a%5RG*C0v$ zogRVWeIb()<*%203XRGbb;C@p)Uesl1dZ(hJJoCyLmJRRAXX4=m(>ZNrVnrggBzw4 z302(Y@3yS25ztIHD<jJ|?RRl35vLDG5L=os>_A!Lt#h^UQ{<`LN->e=LZOa0-YikT zj?$D+RPP-i+3&Y4HhrxafPqoYY`)z0_|qy%j4dM}QFO2{2uG<9l4>mEe2Y~4v+xlX zT@tDE6kR!(xNWwt$p>rvVR;M*Iuv>t-d_y8jQaQ0^-R(NGtBuCaUh_G!}y;{$Co~( zV<#_3{A*$MbA%)$piG<A1VEa(;Y(QdXC=mvQlVmG)lukwIj&ovz$nVJ=^=H4KT^~K z(&~zlQ>c%Heu}<8m`Z+KrMsI0TPB=q?#EE5gBuQ|hz*6s*7+<XRP^!SD*h;fNhtVM z(J;L|;wm1pej-7u#7AY@7z+@a=5e7sBvI^rb^xTa-FDnukG2oX>JyG6gn(qqRg@y7 z-}Tf;8Z6c<RgqLQQ3+Wh@z22FY_#Nlnm~(AUNlTGl=sImBvPi9#C!oWD-#n$lIGS~ zcNt%;L8pMjxaAWWwnS*AQUmLN4C;T9Op3<E7g%%wi9xY^D<~<15@{qO-sTKlML}AL z`P;s~s2IQt$+0R$tPnLpEMKW2J}+0BO*=o^ZvU~{fz}p@3@I%oFwOJf@5{zR#mCt; zXpTw7!d`HrFbt5)fl7T&Knt-JSh)1|0)xYRDa3@$PBP7b*`o*yiA;f|Ph{*+CPM_n zN~ba2VKk#hrRQdxr%JlW5+*V$bz+LBuo8?=q8gX73+t=^L_xd0GATvC;!gl<mC$<@ zw5$-5_XsmG70P*G6(3Ma!-pDPOZ$!%n7e2EBho%fx0~jg%=YgEv2lG2$=`0|vO~BG z7}6=&QG!q4chg#R$>W$^X?#!kg8sQM;r>8DEap4PL(&{HO#b~yc}VHxPn0{cia{OH zN78AU#4gm$ktn{%d67swZp=EJgzv?4p+0A5tZJx7r5ozKsG$-QW9x*}fdsaPnohcy zi3(9V*(muV$<11_x7Qd=ZK&Xud7=jP!Q1XyhIG;VgxX>??Zym4l5Ggw?%V|Mrde5r zRBboz?Rm$LZkyMZrR|z#w`+&K=)dgUdS}hfdHU=+7q89h?WW!FS+~yF)_!@ms~XGf zD*Mi!)UJ6Xx09E7)9_<!#{V-?j1EUDO7<7W6F53d&$~mAQUsNppvaIQcHW>62`3X5 zB#YW&kA)GL(xt>XdQcTa!eHW#a&lB6HikSbAy1enn9h@E(otx?r->&)R6RAS@(_-F zP>7>0R_0GPcpERoYcN6|iu{5Ho=R!>4=*{NL4~67GcENVi5jFQqiSwjhIF+FAGJu2 z<f-L~%tYfnb>~gv{;)6hQ_GMnEH%x8`?qNv^mO7o>>$g1iSDIc-!Avv0LF&C?7ORO z9q3nejnW^wFU<@G-`>Fli^B&T&0fMWDHkqMT<_@E3^a|C$*L02R9c_w7`&#@t`M0> zw<_C5Yz@G~eXu0;R7!DF75o<IO>`8Pm3F825y}UQehjJBiW->2*eYs#luokc9hJmf z0ZO8kT34s}hJ;)K4317}3Y!KXWId;t$wTU&q08MxOE}KASKFQbVau!R#)hE-q-_UC z4p;8?49TGkTy-zqm-{%Ad-rJ9X}9e`>#=*ix7f99U#wcsVp#i+#ktD9KG;vU7Q1Gd zLYOYvKD8ZI$Oh(n!9W}yrbk>9j<Re`1bto+EPam(w0e;GGNrPkbTF9&ZlP5ekRa)$ zEE<&w%ad~TG;u?AFom9aoDCDo5o*TcRs|sA^+T%i&{gvtV@qA1jK__O_C)@&66rp% zs=92Bn-J5ZSe1dfIH#~|AFf)4biUbcnis8|6jgTo+Kmkzoiz_|(}K;m0dQV5Cu+E8 z?%}-MKWratqrPSXX9plTZ#UU)5FVjjr(M7O>hf_I;Hs(Ntfh9%V>_(DTWC?O1=i*n zs(ZR=$ZR)@LCO1sES7aDor2rIX|E)NA;7||^fLb`$zmmZT#O;1B&|}EbjEPnnoxct z6Q_z4e3b1NJIbJ?6sI9cX+g5~S>#7TU!K4T1#BhMagl{e;73&;Y7o+6E4CGSHHaF} zq!B-y7?6epk$Ad+i&qLHB8M>~{Wf@SpZ7zfP+20DjS`-PYV)Uy%{5(aH@mGq-8ILM zAa>bZHP3k2B2x=8c(dtUb}i-*RPCp*eY6c=TQI`y<AEX7EfOJsX@RRg-%txk?LXZB z?U!~pS1qEoLpvvaW0A=1y?Hcf0S^{5iu0|!(4B9Z{CT224b{aOre2;Sr1F5uUugnI zTOp_dC)Zf|x1wf9B$5$S%wjPiBUV|u<QEiZCNQJR3N^oJu@_791kQ+Zk)$ZF6@yAG zy6%F06yWtIul;_rb=+dfBS}FhjZ(TuN_fA9^DRz|Wnc=8CRG5l(Vz*3aF7j3S+UeH zix+dbt+kKZCW^D9HmO#Q?ijMr;~a0zz>vDYkPZ4gxOkRz&TWPrwVSjnwDZN=_S2Wk z4K~mApDx~X;b>NS@YlwrH`#UW2Q+gIyk@cu{~jb=NlcqL{zA>d%g$(~)?Bfd1^tlA zGS~dP=$aUcBnO2VtE<q^MNEc7VnNZkloQIy%4Cz$dSkl%g-Y~}akZoPK=Kt;YYCe` zS2jqBAz|XOXc~%Rx-Z1I!vvP338<zcsJS(0if(<EWxzif+XvGzBm-BQXYJFNVo1Pi zkXkN;XU%if<B9#CUGrv8D!4qPi~X0qsKJ6#CsgPd(#v^s)+3r}oF}lQPGDLjy6ML0 zl6#?B#~h}<i^M-*noJ;9o9D<dHo@}40<a8I<cbrBjoQDqfakIBM^nJh)0G-98(xV@ zbcS|AU4WC*@|8@7bMYXOLr5e@ztB&|kqWMn?8>tyFs#!ZRQ{>BIzZLHkoelEwJ0MW z<tS-_H2ha7eL^}GM~S4YIJy?p{1_*mC34dk{2yx}kn<Z;qCsB|72DnIU$(pJD~kf7 zETLQssoX%FJIO%{NSobmvyUO&G`rn)_uS_po!c*Wudt6H*|nTdVY_EY-2l4|rk-1d z)WThJZ{caz+(Yxw<vZDRHj}~}OB&y$xlt~!cJA!{h{2~*@XGg7JeKpLV09*j6ex62 zsT$xMEsUgCk=euY5K1RDQCv}m((`_XnxP8kFh>FdqZ~=>szmVxp;AM|)(fguV)0eB zmK`Oubm&!HqNKPQGx9@TK8JZ$L_9C|P>NWRN_s!=*vmhf>RXLkvwgnYBA)G2ce1G< zyX)e|v<IY?%@`Xk>KRgtN(B2#4QEX~4tHHTKx$X4q2*RRLqa!zJ({X<dOF9DE}9px zF{EwJkRA+mdpV{%O)3)8mv1Yc?L%o79X~+t#ZD$;YWYDF<25V>hG_vGh$ByL^;j$@ zoK>kI^1w4iSJNhibP_m$BaxJx$pw)zP^md25;!2HqY~qu=OicuAt7f-wvDaF4f+nE zJTU-OGl{W>#G)XTsEm7Nn(Z=L0{(gjl(Qg_NWtVpYE6Rd8^&pTrsXHw?dJKaMTctp z>^+)7e*^n0Z`7LJE?4#11$)~6oT$OLPcOSb5_O&y7yPMOSQ!}$>#jSufMl@UdLKiw z1N3@wE4F*KIM<0IT0rV(krhWk7fiaIVdbDOTb~hEDZx(eCYvP$r%f0wE#d8DFfD;> zlXWV~HF{mZ-w0eD(ug5Za@H?SjZte_g5V8`HZrGe3$vS2A)qk-Q`G(?#TBX}iG6_> zsIe;^n!=)XHQS)C4$@&q94W##rgYF>zy02pe=xr&-$V?5txR>*8vL`(vxAI6l^tY^ z5*$=^EnHYpHZ_lX{^Mv;KR3L2bgs6CkW@K_WM5u-h6MWoh#Vl@TftpBPWy82G!Pcv z2EpKZ{i3i?sU{UUFewh{upCA<su^<&g&blUPn^jaj+n7~G?(0Ii(=G1n<_|mMJXAP zV#|zb!ju!Q73I|Ce1bxGPm=oMl01Va@uFc$s~uGTsr;he7LaO<9-<2KnW`1%viq-Z zzrW?hjEQ2`euAxW0*F^zTWaSK|Duiz**qkb9WcGb;Mv7>+#feB1YJHleca>9oVA!@ zEGXSLWZJg>-aH(_PA>Fh6@bm2Aq@kZKeib6(2lZcw>1~dBUn+xc{|?ugVUE^Z8|{u zu7V&?z{=(d4B*{)lIC&(sW1+x<ouSuLre-REQG019uh(#@q?iXn6dtt3f>T(d=!Pi zDLN!%>olOr<kR2?Z7`J)6S$vHZd{Iv0yb200iFPiD&F%3aY^u$%AxZ1fulb3-BEt~ zJuXZPiGALT6{^`nJljpPE6GDDNFW(iYIy0CbR8XPT4-^f)?JyPzBa?duwBoPI$fP( zNcZP`RforJ)%|d$Q|op5x_hen`VC2jl&v4|o@uAY)|%scFR&EYmC3q~BL0U+E?!C` z;}{Zh8YxPYmx*Ic`7nis5$VGmnEr}X9=Xg)2>}`=lWtMaY**RxcGbvbS8-jB>Q$;p zUUaBeze_-R5devKU>%kCVbgGFNWhD?HYJZ-$B??JKF?J3)#jW`uEuI8ZRh0PupO5U z>SIV2v>u!Ka$_7rGTi_d9pqd!ZWue*qaF6#4dB+X`iAv-Q8w_sm1>x9BGdQD)yV;! zh@dF{)x^Ikn2qRVHxbG~Ok0zIU!(Rn*BO3F*Y^oo5U~s<!~h1?Fq@HU;?Yy|D1mx0 z^&>uW7FBRHs{Rlv5o#eY#E2Xq_`H%4DCS{NOz!93B_RDP5<G}0Lgc>u;m@@yQ^c*Y zGbImg=PxwXs}<0pS-sYsX*5+kOm(|*MiNbJS8Bi98zkucjOKQQRbL^tU#A_Qx_vbk zkgD6-xOI%x>p``vt!To%;KlmRJMPGC{0HF3@t6~QpC!j(`Ktim4^4#;n2U+AIR=7a zDhQj3WaI(>SeibWWk<x77mz%Ta<w)UKf(w>MH+@a)YN=uy?T^SRPBREkZ67s4N?c0 zP7osP?-Gx`{X4wRSz)RvNEX~odHAiHuSFCXl`*pQUb?pf!r6EG-_Sl=$~z|N&&Ih8 zZ61=LF8V*fSa&wI;l}0q*Z7c@GEXo!|MYY~mnd2Ui(n%h6L6tqW0;B~ps74jAS6-z zJmfqi>SMnYyXvq29Z;WU67;7C>&t|>C|>-C<UFHLAx`OvG~rj66-%UCeB+XOz*btQ znf?)V<dcJ(z&k2n=ez9uWBYvq(zkI;ki^7Tg+=8azfm4ip;sOpP#iF7)ZSu$h}*8v z!lQI-<2_zAT~<=Kbf5jWzF%az3wrYj$4W6RK(>Xb56tKeF9cPJ+W(%0xhkA&g5G37 zDwwR)KssK+24N^g9Z)eae*h#Q&{VQDGE`9*2oo5KvY(Km(m@<})IugwEw(VP6V-#N zSV~Tzknr~lNT`S*B?_-BTdASng-Pu95OeAP$ta4#Sk1Z-&*sN9oo*?#>M*^z!P0<N zpk*&G`u!Qg#H$CTXK)&y<$@R96uImu)HGlaa}hNN7_ZC4Wr%eRa@?$hqzOtuUGR&C zmwXV3p<yJ1cvgz8eZaNg3o12u-n((Rhv<-g*9=JpBq+ciArA>Am~2p3qUyC<G)BNC zPs#o$tS4KgDb=tSQ;ul@^vo%Y8);9nx<E(dTtLebxFw-u64)ru7-$MZ!jy?7qblQ; zFFJ$j&PgQTTwJJuLjEF$#7J4U0fVEZbcqM<SkdD~HB&IC@|&9P$xt2VAyp}kREH|N zKtTU{2BguYD6UD6nDf)d9M_iUI9<1Dia(iR6BDYx-&>^(bDT|3at?vJ4URw{zaymw z(CN@lal`^c!epm2N(EjpO+82&3lBz}ssBK_N^>a1d@v!k@L3#c7#Nwj_Yxzp^IUd` zvfUN)X%*!m1vOf07NP2K$5{V-e&-BnxVyTiOZg1$=(r02fZFeo;Ce6*IJFvKDUPD6 zP@pny`NM;>%=q1<c(h3UaE}a5g^O7oY9)=sELf|3rW?zwWp^3o<2*EKuBQqi2}Kkr zLDGaE60+-4hJR5gMCVRa*Z*QzfYHU(qmWXakZ(g=DLm)pJCwbHP@?hSvO|d>O`UXt z#E_P<UZf^SqsDBEDKb+gvWI{=oRS;~r2`WOp%AbKp^Br3_>_%eVQEJu<y&#Fo<iUv zne&7#g-Vuq@N56;Oz9pJb61IP9jZ{-rF-tAnk8smd~EOwOKDbSHyGA*#jtcxo$F^5 zcaDWaj#4G}^NTZ-DmF3pcMC|KH?;^fvJciSV{i5?fF|1<fJxI-wQ?}37+U}v<*nnE zvB71U6yeS+<gohgbD?0;m4wpUCU8JOLoV)7p|V3Wp`~la>4lOm594@DI*61&F*Ipn z<$K<ERR#spagkH;z-IsNs}j6WPsKK!=mSlDweL_PE|d?df=Ue^D!WM3Fd^w&eq;{} z36`Y^UTkQg48$dAK{WjQ{KypWEgMIHBeJ7O3YViu1~peDzv>ADc<C4ti6NxD6F$+C zQ%v{4yb3}Ts!0h#W6VIKDdL)Ow4qUCA&rYFQCyrgDp1R27)ervY9+etq(&395JbYz zdHFjAq%mh*W@ZTtL(2LzN~qF)J;@6)ql`?ZK<9F^_+r-$XwPqfea|>GP}Kb{y;v|} zaxx!<iA{c!nXOABx0yaSNiw7)A;KssL~JaE<W_GKlNF7tFX4*|C|DR=q7kp6Ttp1T ztg8&R`P2;sNU0R%e;{r;;m3)Xnh*PRDQw~K!H~Ki<jh$%jGnoD3<+igRroT`;?oUO zVELdFsg?+poJy+vE>vjgs1hwPdno}4SdL$1E<0ZqBP|@NJ(vVl{3u`BAj6MHfi~zn z-q4JjgOVxAg~dcTN}x%Yz(f>Pf5>bAA~mWLd}+^+D!)s)AkPbH2(j%aJ^;yG5}@+Q zznC;MUuBnlf-}$ZRQCu_KJc;t&cLE(dN%%iM^Ty+q#to0F)fZYiH$Rwlkmf6<d7i+ zv3c~Rb{NPRRE?;G_)emMDXF;;DocN-=#VV<My3lX>Cd+3Xr3&g3f*f}P~dJXz#A1; zty0<tzAZY0hxhxg)Ig~`Bo$_G!sf;Ekf5~Fnpwnr79+93T%9<%b2?f;HXn3Y1<Lv4 zabz9K51w_}#?Hc`-ztuKV#<q<heXNNM#*N;7zUiwK!Mqql1UT}LV<#zx_+HU$H>Sf zk0?Ma8WlE=&xp~;RoPB^VfzVh!-`Fa6<U}d4*2)XkVvT1kkN`|m)&Ak<KPN}BGW#H zg6J&wGElPD8&2~R&e1HCna!iA-hfWC-LdOGsPC7VFk~D<(xtRAog1XSt`x!*rYqHv zSRs!JYC3SaNfgyw$R|gUT5ldp9)cKB?TNJ${V4XIfe2uUR!CLQ4~af1HF&pjfw|>~ zAx*N_kSJ}2-_3F)VKz)6W~KYnk6_{rQw6G_{JcT_RUN1H>`AqHDnFn4N5?WG%6q#C zbaBec4VoB~SM3{9O#?L?Oa7EZK{pDOEJB|n#l=<goyeJ5c69(`T&?hZ(rxXP9{PwO z#i9l*P}%7ik~wPZym(~2Os!<cM?tn?0MS^(35N}-;0I7)80JLuB`LN8&fEMxla}I* z5-L02=2I9N5i>{?CAu-nsil0qZ&HB@iuL#Sau1YHGO%t-QZvV>QUj;g9%D;Amfux@ z?7Qy&U#A>@@2j#~uQhA^@A~wBgeG0fZnENTGw}i5>>s?drrAt*=r`Bz8nDR)Tl6Dp z^whBA1RrwOD|a#9ReYDZ^v9PK9vN`2{ZwX_u+YJ3W0D&oC&k8~a2?4-@h}cWWt*WN z01cyLTGTQ-jH>IQPPq^usZd<iQ*PJkvUaOb)DS!8YCm~ND!3Y9?2!%s|E}BRZ<_V~ zc49#CuLOus)m3ZduQqn6wN`s~J;?%@LwoY8rfJ6CR@W*s(7Y5F?FCBHOff)EG$1Tw z67zR$Ud#-Zp8yEg;S>VANoCDJ_=PQihYUk13z!JS52g-+hEK93A7`*k<edaJ%0O0B z&yNx#P@J*LX&S1ij%vjPgJ4y%RBXrCgHGe<{KzgkKsqH$iYkJLvZ8Hc@Vwb>H%+az zkDF<^k!J@yIooZU@mJdijft)fh?X{8aGEaH>LwnG2=dBPbS5=jIw9MM8v23KEn8Fp z6%<Ea(y}tTer5&)j~UXTMRMK~hC+Q)xvUNb0yQk{+9$9mu`wU9oQq2}B6%NJ7DSTc zQMnS|iO-_Ktko*1`SuvriEG)l1nF-&inRWAdO#ZaZN=x}!ZM?a-EOx%q`T%GrJV^3 zNNg;*Cw#<^5HCH3w0%@5v+V%KK@v4D0$ReLPdhqpzwe;ifKjN)FTY(d5dcz)0bndy zC=)qO^0Srl-_ncf;V_6XB;+hU@ddU?Q?Q2;WrHH=TP)gB(k|jqjl$mOa*K)?<dA%1 z9s4#h<(jLd5_R<`F}6x^qFQW~G-{85Cnz1{ut@8Udk=<0xfs&zrfKJAEwQ}asGq2D z9uj1HL8AxRj0sKvNDrE)de4xim^~>qm?opz$(I7*_;;f`ln<?JeK-=xFL;lqN0K6y z9TjJyMgnP+;yA^1STiyQ4;?WNPDZL78&)c(Nd7<`N5aH@xLS52r9zb`Z08kPsKZ)z z^*(8~4uerlCQ@~3m0jnp>wR{A`wjsqtFqhfZ0xB0-jWpMgSRV5zku5=<h0$qSUjn= zU99T7bJ^WCuS8e7rrFs+uePH=*2Sy)lJKT~X$N>&&PJ*v2XpGCoiwx_A1It~@3Vqh z@0eV4yil0lGZ-@@Nc3Z1vrcouYs~27kj+BM73s!_kSRx&q7D+mR+#Y*VyqtrReQc# zZegBM)YXZ~t#ndRL(h#I(yV*7WW9LbTwKZj+vy+vc1l1RUj`6K$E{;XM1FiGaK!mf z5?84~wttO-k@Kcqp6$D)=@=6BpFVWoHBNiiZ1&dAefl!2(+`kz#wY3{f#3`(K(6CP z@qM2c&@6CycXsqngl1N)hQ(W$Ph?1loNtbCX;Gp`1I8k296Ph5(g`Tg8)So26qIQ2 zkBfp@sw7k-r%VBebd3p2>mf!iyNan}S1UvcpzFxzJMU^=)Noor>H<VP@Ytop9{=yZ z{jW~`u&B!J@EeM3U$<QDE-Wb_y4b$xjFZ5SC;><o>b4!cI9R!Na0ArAQv+AsOAAsR zXmyKQ^|4!LvmfBd1ci5$m74I`2V+pxKtsnTU{R|-%X6hwcM$!jaihc;=C3oKheV8I zThgRat}Riz=$)K}M2Qd-s_WH7d`qHxn6LJ#ErjmTEo2*%GoUoiGO7oLRQWQzI+ue~ z9R|iRZ^Kgo(jd1RK&X@6`G4D0{`YSucG-<P^s$e{_TkDhB*d#mV~RjzNb(cvVC1ZM zfSVR<whe$qnT{b{H1}}c?jN=fwk2P)fwN|>w>x*6^jn%?fZ6G$SXyET7O~gGogNMc zYYNeKvVa>VHm3lwW<ohS&*Ei^%uIBHl-x>_yOd!JiA;$sIyB;>*2|I3tA-|B@U(>U zB=;w(1d)l7p`iR87@L=`MUjWCj#G{*PU^t-L#htChnf@Mjq;G_9T-yomjj;ewe!*W zf4`f`4#gPK+2&6dUAF1XPW_xsVMtf)KbP%)Ev(?pW)L-;Hw0CSSFn8qKy2;_w~q(e z!!uqs=AwCqi{|B`AAmF+1ZPjM=Lauf77dYYA8-I$?1jwtV46|L=-4?+rwuX9XouxF zd!dveVY-mFGKhpMW)RP*NMdACZ99`t%$a<PJ+Y=Zd73%O1(EXDiyX75g#LViP62$$ zLM?SeuQ}dCCwAF+fBkO?kls(!z^d%J0MXTk97D3gYyAw-G9=w|YKN&-&i`iPRWInA zbIrhzoR7|OqV0o=XEj?_!2x=g9nnQoTlIr!?z;h=Po^3;V$8qP#2rodkP^3-W!D^E z(2)krq83;%ad(M+DKk;-+Mg@%AtX{MtVt*nPARDXrqyrB<Xe)Qd=xsXyv}@4ZEzmA z$P0Y2C4xw*UoqxWkgQgh&P;-FQwmAcz&2T`JC_}ei~pS#kp9+z(BDRY^tbn7NM3AF z(%3zii%!_KxmQ19g$xO;ZR_!*YI^-b7el&n@9w)iB)r&v*}LrACiVpfKzhLwEl`s4 zBAI0|xu4fdz-*{nvcl*Du*sv`Ean6yMe0PsKOBd>LFq+;Yz&F-d_<`_1*nO;sH-Q0 zQfq}TP9rejop36~gUR#7WMXW^CbP=5Qulv@whF6{Ox3%H8a(~C1Eg;w5c2<iKZZm? z9+KJaZvV2ivg|*4wjT6(NU5pcC;@N}NSobmvyUO&G`rn)_iRI1juN$B?p_aogxGH4 zR%{-Q&5(j~Hpwtatjzje(tf7S)MG2J9uJOm3re@rtFI4VB+p<{KNFQEoQoli_EuUY z2>IBNT&50reuSD5s+ed%feePJ6x>XQb<9?YB`G(S31(4%CYA4lt5%UW?@(C?SR|^m zGVuD~vZIp$(%&LL`feCfRLhQe7Oa4++1eOSShqCstQ{DVq?(F9?(xJl_r^wxdWO`3 z4Y_xYA)Ph#n9SKtuB^+>#-Re2ovxw;P4b_}Hfmzn0+ygFK$G^F;b2C2(1ZPkBZA`` zmRfw91FE9_#enAL0J>`eB11w?XiafpR1A2AQk}pho612X9I-J<c>7RFfJNU~l~>3S zi;I*~V<5kC3}Z;uD&5FjY(Ek7PO5w&RE;u`B8ZC4`{aQ1y)Yz9$B;UE)bf+<cJpkZ z!RQUD&yaFz<DCss*+|uujUhdNao=2afh6i?;x2+^@n$sN9RX5hMGe<Z8PWc;SuWqD zz?4FmGE2otvqwd;`D9F`7fai1C?qw&LnRBVGr@h%Btd(gi&bh!MN>42wWv=JrS*AO zl)IYJHl&XeW6=bvG=Rv8IWppo(fY)NiE61bs{etPhm;UCuns>A^NWvMsbNTr{SISD z-h4xN5-L+&HI_bYcc6cmC#dYI=DtOkXKEhz8ahXU`nlna{n#`QKB=;4OLXC0p1T2T zp6vSWa7gpT1TfidEmf&tdCY;Mp>^O5TPBwjME&2X<a+NIQGzi;>gO$SVk_n&LlmpA zNg?&7Vi6n}xg&X8Zb1<a!fZJ^3Wmct5QPbJJydF_blv&<znMx66<evHe)mcZhtfd@ zmECt3L!xnFECeo_tF0qF4+YN_A43x6&ENpZG#mHFO$$Mn7JaUo$CWv2@yS?Fx^c*~ zZU4O)<sm(`n;2}@*)}i?K$q(~Q~cnIdV?8?@snioCluLByR=Sjp1(KYUZ6mocob8l zlsrRH1@<!qugS!+wy3@ia%Fdj3o~J|$9Msk!(3u7C1v5ceMM)1qq?b8loea?U{uL@ zNGe>b4vDdc6tR;OS6v5rND@P`fB&s3?C`hK01~Ea*?~m{W5YMkdh5zDq-5!!QKg29 zzWhRqLrn`m?$f%f3q)O|h7lmyci^@hDm8R~^iu&9f@xii6n60_ljbSS!n0$4CuV*@ zyg5Q{(lL^nv?rNY*?F0ulyY3<6>*ft5lS{Q;zSOZR?DHM{Z6auFn*gY3GU-*eC#-` z_8lu3Dy}5mIB^z6h3+c8$am}u90s6Jrg8lC6Ru$0H`j;aZyAQP-h<Y$iwK2xMSe7{ zY)IyITVt*@HUta_bm8%i*VrVZP5Vc6Ghoh*MWSjbZRh0PupLSVb%3<B1j%98bw9uh z;-~djkg`M+7QhSs9K(zY;gE%N6%&vVW=!3WV3glegZS<+TvDll<Y0=zy@o<%1?2ET zQ7IKAB{*LuBH;o|gphJ7ZqfiNTNIXh{HQhAN0l!NhjhP*Dwa9CU$yT;gT8$&JDDN5 zGOH&8q~PX}X#Re%kHB?_H)2;b|3&97G}Ws+3bT5xJ71HjTC}NdS1xXVrnW1!Uyf9E z=GJ~l)y{s{4?sVze~ETI(cbA29HHFelvR~Wqd#d?5=u*L)P3+yuHarqc=DaOF<}}* z$`>CXDaD9%?H{PbrN);TN1;p+j&KZ>-n%pok*J)&WQExMv82+7Dz0-xSna!FMGd*k zq!opf^JFc|hicz4L;BX${yvGoA^aVwA8kn2aC4t>F{G@t)u4k87#$0cQ?ib%q<uFW z_<4h4@&(-h__nTd8s+80*2Pwa<z9>0u-RrYn}Re=+I}K0SedOqIis4dvKzOb;H7I} z0Elw^#C_iy@<tm&0z-+ScElG`kQ0X}ax|h5ihmzsRg^_giZtVrpq!8Q)G3ZsjR2_* znUf&etK(XB!I2(aKCtIH|NHGbTB3+yfwh3#Jangc5<##IW9Ok6xA)s0;<hW;@Oas< zGyA7CJL`YXDX)|gyp+SKEOBSyL{+UD^n~Ono_m}oYy>2FSJN}O+%*wmNEnykQI#dg z)&C~GNGfGhQTfnKX1#n>2$VNOu8%t<Yv&;s-h$Q8_O<E*LINp@I#P^Pc6_Znwpzo! zyWfdjcHip~{m6)DvDxRw6hhdZHJAjmI>ekhKss+&N6h-md&L!wk1ufQsrf<xZI&2i z{!i0ihpBQJ{K<y6Af;*KS1dY3?nEP%9m%q4lqmxlvCaX?t~jyNkk644WgLj3N2DmY znsl}Wf0GzQB9kU@6pI>oP^qFoQD0oOPHa^P4gTt|xGH@B(&(qOsL9@mv*V=Q&_!+F z?6q4i`Gy!S*z|5TdXbDs(2|K6hqpLLXX_8VkJ{i=?!gHtnhVt(R;c~aq;jR{nsJni z$xtHZU(9sS2u&!o73SnF8LC>|m>C_JYTt<<(x~N8v<8I59O`kC^Hr(_M75%@y3_9# zkb+;ul8@nmA;A$qVDMCcSrj<ZNv?2WhLu#KpNtxXaU?F%6mySa`wZEZAz2nNIK@D| z0(wkE(A|G^FORuPC@IR}3C64mQ$`*+Q8#14<)kL`BomaNWfT_LHf;GI%<AuWoFuUT zgdlhyDmB!R%C1fpqdTArFae_~t!Jp%en|A;vI{CT!14^~7<L=%f=hQ2Dlns`n{I>h z6pD@r@^oU-)#CV9*+DRIu1S-KWyFx-mZvY&kc=T=HeV<gsG+PxoaB+z-aV#{E2hio zh1Fn*Rp^meMu^5CB8=dV3r$G?QpHFU78Zh)uWG0y&t1hJRn&t0cMM3xF{Ej>7Sb`K z#TN~y1Ffe>sak`P#pLbiY4umIz}T_U;(PL7LQ2w39ye0S*=HRilw^~^)Emva6rvbX zT!V-0b42OVZjtwm<l1vw#K!jmN@aq0>Xw(SXIzjt63<~tF+YYZVWhIFgKiUvnnFWj zY_5Y+HFoA5BzhmBhPc`{`sN*Gno>9}Lvn&}P)+t>1{s1=3ISjl>R2|ZIJO(Iv_k2! z$8)^1T|!j>>QRBxl^RqzM4qZTO;^-nI5DkfTv?8^Rq8N=6)LP4s}T7mJ|3&=M0lyV z?AL?Ju44O3q(-R***Bi5Qp10M%T60Z0+M0|g33-)tA9oyX^y4Oeh&*6(M(mLalB&g zRZ^)SzDsc(&=GO_oidx2U#^)D66w8XsJG-?!V(Ha!HG#S%I<)oTHBN^FHVswj}%-g zh^$en8aYZTyM5<~D&RJi*Nz-g@uFHR+FE&eNFNNzchD9^dD(|^0z)#zsWE(kQ<&hW z(HWhisjhe!f?V)yd73n(D0k7#{hoB{M>^M|Q(>PWL9!?gB{EQ@AQCdAb}(Qo`SPeF z!C1t0(mFX3GHQ*0Wf&eWr(vhG0uOa{71Wg)YBm>^5$Tba8AZQuhD0Jm0+OQ)oXUzy zVn~O6)rC{%(WE;m43`+t>6FKco}`5-t<%-RC#6fUz%Gt)my+Va(>Pl(moO_YwJ)vU zOW0v9G3lVh&Q$zSksUUEL|iONQH?0ScV(A!R-aB%>}Yg0tH{e%F)d(2hug}_L#h+n z@#;|Cq4sOp;fKnOb=g5V#ejGQFEXSF-Q+;dWD*5eLIsE;2;_L_@!UPYqPAC$3!sM7 zljjqCzd^fMhY6Dy5`?O6lP-xPX}MF-ppop6RLV{)VH7IFLkLBm>X29O2PIfix57;o zvLnxBS20~8>M;a)a)&x-(8qb`YF;^B`=SQ?5H*bac8fl_0Yd_nut;b8(=Z9|VIyPL zWsWo*JL6IvL7TOApoJm+_-c=3FEpGC&6pSxrK~Oq`9hS*KowMWxpG68Av7oy-P7?h zN_+ak=6u<NCRQ*32|USFxdRq<Dk-8=g~e6<L;3vz5`}q4u+Y;zPi4myJ~Oe_cWGVJ zQH<!KNkS7CiaCzyH;Rfnio;*5fySg;2}hWjO#e;AuI2GZk;;yua;4P65GC~2QIS)W zAqo=|h~gJYJM1VG6T(6_9wy>W8ZRS97Ks6idjC<i;%j)v4f^V6?V1Ck$_JzmQG-fl zH~EqE7*d%=02Z3#0xf9QPvx!3R3j+2y^uMB@=;+T<$wvcdx@*9|M?X<Tw%@+r}TDm zD!VjCV$y?9@U>|w?O<`?pHwJG_7q}PI7i9C;arb)UbsO)jlC#RRORVS6{_s2v>>8l zqDmObMm_+k%X(hW;gDoVr}wWd<)+G|m@auFu<*I-%q(Q+Ogek!s6nSmIkVbx7Wm#g z!NMf!4gB@5{cp=f0hy2w^4e%wSVwUHNIV8)s;r`s+W(C+rbvX7gvcVWYZ~kvWZ!kV z<G2)M0wL+B3ad15DM}P*+^gSpExS>p$lNlKAr%>;&E7R})-;>B1Yvibry_IwfTzIB z>8?ar6r^FYh`#V-fHL6d>G+B?l#3lWWRni&{Fc-VDPw3+n}Q^zH6d3m5A$OoR|$b< zR+RIykrHGvpm~X^=fsAxNGj^>F(ba|D~MF8N^>Op0fsWi-#!>px|ZGTrhOc$O|w&5 zBSj2}->_>>ZkMa3X~qXrU6<#<*nZ~IjpY7|cGns``a9-g&Y8u-k~|Y;92gYr9-?h$ zr4#G;`vDNmY}hTm{b3Ag@8BXfHwQhJ);LGUn}w!>NHX=}tAb++;!@eK>T*H{1=i#e z4k3K)M*=|v$9CBZSP~?33{|2>(x{f*=*)kgfb>7!?`G7XFMgc1P5b3`yJ;SZ7?Q5P zpSM&82sztr8}A?<iXZs11H8@g_Cs@jlANVwWp`!#=!mJn$B-k;MZtOSV6vHI#UaS- zZqp1&3aMbR%_cs&<h7hdPs*3sA?m|Q<ASIR;o%%}jNFilPy5ghsahS{^F@^!5}l49 zs0&`PU{>>FDRiUKfBk*|Nf0&okImI)Q@6%__t))?QU$jrsq93Cgm~#Or0t`uVU`l8 zntG9$Yx8iz`EW8Y0#lS0?~;Z(A{3MMG2z(WGru(#iJSd<iBxv_yjEg04wNjMAk<|| z2<{T<2sD(dW{1UuCs`-RLrfA>?HE>SP)NOnkP-;1RC3tqkVy;SC8>Vb9y>~??4bA9 zHP>{teF32#9?Osv4=->GX~by)Kzb-QF)+u}9){@{(!yq(kELhLU8127CoVZzwkb>< zSY@A&7~7k0t|eM~n6BB30O=6$gcRAp$@EAn?!d1`oOpnwf^_927ci-nK$C<yrs}zb zkDkh|ib^unxqe9X9*`=Q0ac!tuZ{>;+(P&2cS?{jQK?~M;kLV$Azd{FFZPmyL%|ca zRS;1aZi3`<ce`^@nw!mw1*B@*?Wb>0e%rjZEN#~`yPboq&FI-Q+s1LR+wNso-!?C2 zZnd2q)eQ^nc-9ek)y2U21HS3T!Hcb<QD@uc#RabHI=AiWx6gF-de!fGv)geek<oN< z<!OLsPTLJ5#fUb@Rgwlp5xwIIJdVoD(zplN#OCE0l02c&{t&MHwfVq5CGv&%X5-{n zQ_xBERKhjn=@um`ej@``82J-XNt+TyVmaSpx_d+&b|dfGAJt(V(n=IR2+KI+*Hfh5 zUleJ_BmfAHRn^?K4C!{;{?}+kYwmSp66yWX(l}yt-ZbtH`_eI_4wjnc!TsAbPJ4F{ z-vMpgxA&a@;?ernHtipdW!Y`F-LR$`ud?fm*jKlcsv8#U%k{8MOU7W>=SvG+-8x5} zvunYrP~Z$RNWswxF~IR6Rd8H#1Vv+lnkr{U%f*nQAQHyXwoHJDWP*ik2q~vrlWUq1 zw+TfBhftB(J7N}?Op{7?c}D|*YN3)u4RHv`>xbm6RZI1T`fjupSM9r9`W0^j>>9s+ z<>Bqt{r|Op9bWp?Uxz<$SEChPll#dn`{7@QH{8~*@)38JBo0bS&*0_GGNTJ?n)Pk> ziYhf=haB4u02~h7J17F`;HiPD?xh2g=R=Ulp;Ze#8wVL3bXbVmZY&9MYhHF>b7R-J z9-i}a`|ch)v~lZf2kbFu!&TcJkRH%&zX6ST1B%gN1RLdUwWTt27hq#4H3qy36H>Wb zsYC(^1=l)8>H<{>;{Ys-Az@4d#GD~wGDk5{eH&$|T*$0gH8+W6zh&>7I)p@#kPq|O zSfmj6k%u<b=%w-*PbI{VYOnoXR_-0R>;m@JeYHoXRrJ0#{D|!;rmBs5HLKyJTfN)H z{%Z~^^eapI$u7h2ZgBU8+1h?79r1uiQL#i}**;t~*9g02yM5K#JIFy71PtlLlAi~- zX(43W05~q=7}7;^59ckA!1lpLgj!@cJ7^5-muFUR@qkx$h^DFG7OWW1uG0eDi_-`K zTpDbLtPXOy^K0nV+W_2HT)J*QvhObJ5j?oK(PcY&yH&g5{k|I@zFTcIkmD4yX7~$b zm%fuIZwZ0K%$?~k7RVDBANLsNFwc-EQ7=@NIvRS>kTKh+hYD1bp(FozNLBhYo7T#Q z(1`P7BG1}V-HbBrU?FM@D}YeNtOMo6{r*3_40K%5PH+C?Vn<h-O&>zi#IJWHrUD$5 zxoZEpZ2xO<spVpWsNuXJuwro7K3Y_0aiaZe*t|s#Xb=3nsmbx8#%U?qjg5WRYxY_q z)NXlU`OpE%0IhD%LKL7K_OUer#`@{(I@``|XLoH61ndzNK@Ci^dlN{{vWjQWF)vY% zQG5Wf3>jP+;udMbl%b>m09g7-L_t)ck%b{fE1_UW9Vbob3{VLBld^z=L`M!)@+gl( zMrcV(nL<Yt>HBbeh$O-o7ehnkK^<h@tGzER4NldtQXSW_W1GiT5$!rGIK8GH?Nfkh zj#4qHDM^VqNmmkA#aQE&_y^@`(?Z2HnU*2BIF0Th6d4lxcvdSHLhAC6oZqb(7?N|C zIk((H7xLMTf=HD`AnXH77EJD)kFjat=X%IPa;Z%g?lyg(so!+hj?;cxJE*Z_$$(=} z?Vl|fBgc^1u{I9U%4Ep1&DXKy<Zwh&9=6R|V5C&GD^Mnd3KjusEeC@m#;1fB5=sn2 zr#7Q>NjfU+08T>6EO&_LgAOGM{}{c=<5{8*LW(&OCD>3ssN<M^N7c9=Qb>TRuq5la z?d(1eNstlZA*_N2-2=ugIrM(c6t*4y7yVQyT!WY#v`BBytcl~(qJb>qh@Mj}hO~V! zT@2|T^p~yr3EfHgD6*3F(gD(Q)eIs67eneK1@~PZQhOA`moUVT9y~zmYCK$DHfE^Q zaM9)3cI#{o&OZ0fIs;v%(Y=+@wg6_C80{HSe+<t5x4apLR50p<krtpuc#2`wf1nyc z?rwEF`(GGGI=*Ysq`akE9ulSOGl^h<N!>M>e6jG+d>jRyLq^wti4jUrip-GTf0jH0 zE$3ZPwzeH2!*D947Z1XI6e}?uDJ~{Xp^$^L{6*$9q%S3f$)f6{B~qfYMMIs~AEfa3 zZFjeS+3xD|Ewxs>p3IQ)&*b?4NSobmvyUO&G`rn)_iPcut<!$Fd)*Iu<s=T5cAf3Z z07&g1oj}h5%y7`>?K->de#;i;cFkiup6OP6=}_vKObdMb7!uIsrq4rKR9ko4pvo~5 zb_JEc7v_hAcTUBN*dQ4Y`yDKf&t7K3DQ|Vsw-+)b3`DY+_DLmrHF%}eFb>C%#w=2@ z$`F|e)e{(;!ikoeIGPZBSaX_%I?ivc5{a?3P-Qh0io%l1fs?Oafm@BrB3ZP+u`s=l zfq!}|lW4Zj)^~O0@_AHNV3*M+F-s3frnxtrhQP6t7Fx)?a}4RMsrO{g4P9+pSh0M_ zZPK~y+LtcOWIC-x&yegX9?t5~#fPqX-Q9p>FMEd61PtjNqw>=`?VeVeE=VnA#hPaE z6`eTlwDOCoHQ^JL8YBoPw_LKCd|ZN?Wbw4Zbm3UnfF4Ie|NHd(o!FDctd$f23s)=O z&sHTwa@EN9R<kjrnr+xu4I!#=cfXkZ9Rg>Vc8Yl+Bn&EXpgGhv9Dhec`$h`fgQa-l zi#<mTv5?=K3Sf$i@K9`9VzFtiZ(FMHL%LWgjBLopl$fHO#RUrvRx8&$Kvyj6vI`^; z_N9Y5$Ox<nImerw%^m=0``AIqSuft}*v~bMj;DEWT&VZw4QhuWhV<CSkVXv29m@S& zw2;Cb$Kft4apJA@eBi|C1^LP)1QVbWXu+FDiGo!Hb#_629*oKk`H7_<&<>0Hhl~T| zxp)!$Q7-u><*|{;kskC^+>QcwA$2OdD#>aBr`)LK0!TEdPShJ3P>QlN11D0AX;en? z$rbWbN`&n&746H!kmygVtL7)Xv~i@(vl?O)0;@3#bLxZp7FwQZpT2t81(N!?;mxDt zJW+ku8=Iu`LJm;($T3hQr?PwO!07=;6K@xBvTD2sXWm?Jse9M{chh~bXGq&_r$4TL zm9zhk#F5zALNLLwE=-%IL&ec{FXRnpB4_2GKk;6}JkMV3|IX4;8A?Y0P;H`w(hr=Z z3xkM)-&Y)2xkG{7<bp_kF<9b&7Cj+FDzi7J)KEu#j8Y{Rz{8v>D;6I_4RzcPDL!;O zkQy>_^73Tlp|Rco2SPQT@SurT!F2u?1xkrf)G!{x=fnHcWMcxI(9Xq=URolfO@4t* zQI4krB-3o%A2%%oT|PQ-!sE)EwfN+Uq~17WvW0$b4tYo$`+Wy3hZvFtr0c;2hi5j& zXlrww=<H@sahi>}Y_|lvrpvc|!J8Lb*8H+Ng3A#@YCpd20O^;|h-jch*|B>r3tDa) zpxJ8lg!*mTft4ZdBD(t1MUONmcRl{a*;;lODSz{ph|)o%P}IPaCe%iCQ2YcV_~Z*V zU@~Im+fs$2Fy>n04IvTisihLB;}}x-RTagdc%;H2bS~pZvDyIhIcvpybn5yUy^FY9 zG{#nq+cx8hZvJa1u+q0q+B2k~QiBt~J@y*98r`RLCzI>TE<AWzxrbhg_p*1{T{zWv zSKQ&g6OPw#ITV0!=is*3^yP|7H_-D?P^jO@o*`X!!oG+h1(R|(q7-XZqoEl>=JM*V zijym9b}>t;t`zAXHK+t7?!H_e67;B4{D|jECs5MnYj%f{k;0Vr&jUPSBw&KZnUcYH zVvFIWJce}euhoeP3z7W0j`NUew&#SDFG~?TD>90LC|i{4OC#O5gdUjk#G#UIQKYV$ zHXubm4*8M2+O$u>UpJf03ogTuf~Y~qkZh9Crv0P388GL@B2hJzw(E+{ZO5g9st!)N zb?TlWS@+y#FA=wiv~~c~m#gddY0=6#0lTt5=B6K@+p|582iN}MW`kV;y>`{N^{;Ax z7@H42hy#ns?~)EANGb)Cgave{HA6QDi`F{I`SXrWid5GF1XW-1Os;)txXwglR6R8g zB4HHy!GtYAF1&-GKaWy%P0{3>XQC)DMai(lbA^l+gW~8;?fc-O2vao>A6V61_oOHv zsTM$~9z+ckWuh`+81yejWWy<Yw!BsX^EU!hx{7!Lg34QwlAa_Up&!~W%^&|!gSuRR zk|7N&%b}sEUM(!5S-sYMK6+)*=62;QFPhq})PA`i+f=u&*LGEN`)WTV7(DC_u1xK; zgY72Q*52NZwuI{S+KtzKYPx;fed6uP4%fc1l`HIMra!*+-P8K{dntx9+iL_T@kl{= zg^99bRULx*WOZ`%$)p%)5?|{!tH*Cr?Hy1O?M@K#l0+*gK%qF?koDnEN#0XJ!%f_X zROnW+rWJWGQWd0wbY-DL<BIm%yrT;><pp!;XjmYez*s;@MR!GTxpKc-jAEJ;=OKj) zluq6^B^Kb2U1C2X7#$0^hi{yBY2OV;4||=lNyXURCca!25BoT*<Nob>f)avPT-5%# zUPH+wd7e=RS~{3CJKh9K<5hMK>XqNqKU&nA7qs5H@PM!V@SF+z-(hUoF)2}?tiKI& zGN>HJ32KA1#|C*99r5Nb7hyR};)(YXj#lLWrxryGUc?B}AjGyXuegq}vN=axgr>BH zL*&Cl*|o{lX}~n5MFNPCR09L%9Y#Tc<hDJ<^JkwSK}i8i^b-I_6V&~f+pb{4<Dob} z+Vunb^|}qMBQNdQVb0jBznCLn!6dF?78<IEKuG*$;j^2RH#$wIu0EO6Nfv~mX7Exr z4=I~)8X9iOQWrGovSq3&WRYb=WvDB*!HT3R5+YM1g|g81*U?yISF_Zpj`VT<SHO0y zsFSL3FNTDPz#WQmMqk#F(&M8<W++iXL(i$_7tv$p3k$|JMjc}*j%Sye?3hvYu=1F* z(9sa4-|_*=t<}XSgtSPkLE*~OCKa7Bwew{BNUh<UC6SoJepJH!Wfr+o17jI5!E1=q z5nwzCM~N&6>8I$~x-2{MQ#f@pGYmD~MiBgA0diuXvI`?Vl}vsrLH0fFc~txL9XPB) z?|7*|xJDuVl8Nh~`f)-U|4AC!MA;jI-oK<6QxW_`qvA3!i6JpV&zY9P*=x6y4{_Tq z*Hc0uqe2f;Lnk^%Rl?Z9d@HKA?u*!0P#u}p0aqgWn_1=I`@(pJAyJW<Nj-^G$-0R% zipW}<DY-J3R90l94_P@w#H(npvI`PgJ@lyMZsst8om{_)Dw61ldNm=qh60>uYrAK! zH)&BxQ0Y-F)j3%rf-($g%G0`!Asy#Q9w5JbOX5ydX*&!quOMJoHZ#oIyW7qw%DZC! z+BBWRNz;(BGlO{yDWV6IYD34G7Ze!=gG#8L^pb2MF$GXKE>EOUv6IQlC?s(QH%BMA znkw7sX#4@JgvzW^@w>5aFP+{zvhR{~L~~;(xDVtfmkCUo6dFEhGQxOLF{|UlWF8Wf zYM#JjNXL8r+p+C3Y1_#gPVrnS2LN#`pm_yuPMGltr1L+*yeqBXNU$`^V>Ng3_prb( zCCiYqm6f9!K@^t*D#^$s&aS0o2gpc<QC91*JOFc457XrBAdV((I_}B81r(~|a8T6C z93m8}I3mSmB2_DuGz7&guQ-H+lLI_)2?j~`fVt>kpn@2`XG9I0PjONG(&p&?4q2$4 zdA`#McV#pyI~C3z*Xh)8DhCvl2(OD&+e?r#<qe);_D_xa3VFGA->&`nm^g9G=^QAZ zkeKOh5EVYal*o(kB|*AE-e`CbB*TdxFp71hqZHwVSaDIFiZ4zVK#yOkp%Q`1`>H-v z`yOZXpegFpE9$N>;74);EHv!Ifz)t@qa9K)iIZsVqE4LM^|7DmLs#)K`4#3iTux** zog*C~OB2)rWe5h4gk^fbgVJIU3&C4<<g(&)%g2=zrw+2pjw^K#%{ED$H%d`&R>}t_ zI4QX<{v)&^#hmy&9lj`aW9=>PxF1r*)mW%S>0K@6A=R;pA<l407S%xE@JS3Yp^&j^ zSe-U0E)=H2l~|5Bs0lMp@|+3Hci{L8NlHD+lNGa!-OyGU0KHOqab^^+0ZSCkgN5oe z#33`7tk8gYZoJdRla^N5p`tWUxHd{y#yiz8Kc&rOBVl%qpX_X^Zo89|EQ>XfNR}-y zIjw$j5+iD;R*Iz_wVxnPIv8pkkWn<Iua6JhIF8n7lAKVRa+X(AFmsErz!Q2t$|Wax zJ5y#03fjZ~A8E<jd?3Y!I*yd6*K;g0C`FnkNXh0Ol$jqBIgy0@IP41w1u-eChy2al zGo-_|M$zymP;H^MKdg}hRB5Y&tXnSuoX8>&r+x@U79+n_77Qsi_#7$0I0LpGXBP#P zQfs-|w=a&U4*iuXM)MFP#!?(d3k`LNG+QxeAVH&uIq4%B#`Ve`zDX(qQIb(863Eq$ z>c-5U<?E`e`KxF65oA61MMemY7C<?^;&_T+0JtkK`&f>lu#nCbiswe@pWO7C4Ko>1 zQfZwRIOvj0B@q=$5hLD&@tVK_c{ygyDl(C&!_G;g@*+`{P#s)tHKTi|B9&dGVn)M& zn5;KJNhcSIu!3wLDd&F;Dlm|&YRKXqGAap56zYpcDJrLs3()TJ&OVZ2<({-GEi_Yy zYhV#ii`JsR5xhL_7=WLW#iJht^pl-sFLT+X1k&X7n2gST!Nrim(DW$gPdR4`Mg{4( z4&T{cdYpo9Vq}NmJ4(1k#q^t{P2O2U$X+A~c+Dop#$0L@6?EW><PopKm=c>I4wRHz zNpG>Ffuc%zr<L_D<y7Ms5)=zz&4PwLYvsT*EkINDdTNTpCb%vff;tfmJAnvar_m!~ zsUXZr2u_F<=P)ERiWULF3RIF!iJ`O&6P$*4p*JO1P^yJbLLyG0t;8%7#3(i+$i7#J z9!besb{stMa=XrD7s^jC8%h&p_r&<z{5nC^YQ#`5D;HnY{omEjT;0|E<`Id_bh1bJ z*Gh4OE2*-ZV7F2XNn?@B%sx1J+h;NwFuiqLR#ZGQ#=lhd=69JSIve10C=WExoj4tR zne(c>%(O(N2`0z_sU*<I@grh=Z^2*4!UxKsZ)8h!r@B{AA{eGXW|B)7VBG6SYPnbY zOvkD0Do>qPGjS-cJZm+o)Q}H_QE&$-saM=@+abu|lCIY|SMB)C`TA@3$LIC><@5U2 z(dHBew7q3lTWuSyjg$h#-6h4{-95M$hvM#5+?_&-6nFRH#i6*n6Wk$Cy!g)j>^<Ip z@P5jdjEuFeT(Z`A&UwtIT}jzF3^b|iKfzQ<dJEzLk=*jT2y{gxis#5ygxV(Vs5eSC z*<Po_S2v`*2o0R(g0d<CYV^?1h=ANu=Wz}wkXAsVNzyfrkxsGxUD<#F&9lKpA#I2x zN}gWNj;<CDSJH+PT?=CL4X@t^7eY7irGd#TC*@dR``2w{qUdjjkb&m}Sn5FOQ{H!d zp};2NI+Hx~U}*%ou!eKmD=xjcnaksc#+3E$6f;s4RZ~($ZWO;ItICaFovM^F0cBb% z?xL-WYZMBp&zob(wO!wO6^_|W2h}JhJ3u4j2NI&y+Hkr84m2_@RFtU2cxgL?^rzbG z7Z_=TBuqDq^6VGdjYXeVh9`Iu9C{Fv((0*ykQQzqZzf&p-Q0P>OSL!cz5EVz$tser zqyJlBrrVHqP^py^HBeFDHaH;r3ZgxTnKE)}WxKc38K*t?wpqYH3csmYi)fUUNJSRB z8F{viVqx@-yP<H*TK1}+h?9YH17a6Y7a1uUeDPsyim1+K`OaKyYMMS8&ADorp*53J z+`nc*8+~KM1^JF14WHCh`?C^pF%Xr3ekQnj568Sy=7RXSF{-tB7-Ta50)9!{i~b63 z3wZzC4PVXc*&`5pq0eZsHldC=4!T!e`mgg++mh9DW-tcTOX6p0eOZ3;Wb0VMJ)AlB zFSO0TxeGpM>b>C()l7u>M5Hg_USj6X>LBvm$^#~9rPP_zV%{gjK9B;A>ITk9=Hnt^ zF7s+g9Q7-hAu&{#uxEcCN?A*6VC?wko`k#ZspKG8Lpop?VHT0IFcP`|jY}Yx@ryEo zD&9J$9sOb8rJkDJ76mWvv*^Z&G%|lD(H_AJ(0Q#l{cQkquOD4WWh-bgRxRY8`qT%^ zOiQ%3>|yQd-DuctS@-{$J)DkXIxh8{-{$|9LAyJC_9}k4#spi{06&L#u`5ii^w=<$ zA!O0H=FI<+=awEOpV}fQpUiL*yBjVdG0d)MEtkZELtt2@ORR%3Dy4p@gLI;ms&R~f zgt(CnrzfP`84Zgw7x{BVSU|ji$uVo0HPU09KYooT>wc>WJf8a8Z^#qG*OBvF^qBm* z-Qoi=2kJPVu?cn9K?`<x#+*~q2;FnhUu9NkMU@D$l)-N|5AVyJwAnOoyLVFh7MyJX z3m8knzhgH`+m=fC4<#qqzw49n!D0QTkWe<kwl&IUu>klInUV`-q&T47aEA|T+>nVx z?msI5LCTu6J5mbsefvs$urkN}=vE`DyD&cF#g*2|0#ZcV44<@*84K!-@i?fvdmMC6 zge1AOvPDL{@{|;I=CHHU%0d8omtX?(+@-uVF}t!XgDt&@r@6PQm58iv-Oe_BZzf&e zW=A4y&vn66sAqLC+FM<EiJ`L-7hsKBV&VTgx^u7{+!Xm*$#I+Z9W+WT*7>A>X18=h zsm#fcS-6IOz|UGFxLV0<o|sUFpY5BGTEPKQpkbj27}vj_w;3!sD_}#TPYux8tWO8n zz6ciV`bs7-FirJKn>w0v#&B!W_?F|elVDu~ueUu3nNfBsQ(&B_?aE(S?CW{*9+WFJ zq*^W=8#0n!kA@Ms#G`IDYgh(->`a0nU#(wf;F1hxU>DYQzf0wrJTE5z(1LHj-ZS}g ztg_O_R{~y9h*a&R=~tRjPdX2T3BEtgvTCk^FKTP%#yJ(9YiU4`s#PcBwOIqFe`^g* zM)T+A`Pz*Ya(-QFy!Vjr>n=LZe9dGvtLMh&RaFAUj(m&VtqynX0i6v4Cqv)euTH&E zd2!i+vk3*^qE}{C=TAtumm@Uj31JTGG#`tp9IhWkrQo)@H5gx0uX*EtBZ=b{6rR{Q z$L<>xVPZFW8=;+kD|*dO=`$T_M9N00)wgZG`_9Bu{m+6bk_*iQX;f&0_A>tgd)IA$ z$ddvUwW6Oy(RC?-xLMr8+O!0*IPJ6oYR-S(XbyUawv^ZEaTQ@Nc8bui`_7P+?!l*{ zfy3QegV3{~dsc^!Z$UK2?;M$VI4BykURtl72Qh!vZ>5~)UOudTZS`s4jPR;AEht@$ zPpmPDo+2UOZgA#h4PD?)yto?-NnLL+m;&=-fWMXcJsWZ|Sk=g?YJBaB@h=^qn32AT z*;?n6qR1D%{MR6f%;-;%cCz+fQPTBA{R?9Q64pJsvftJ3eHtYtS9Q8}N%goWM0L)w z({M8?AY4H|VR+>)8za18Jnbkb&A85_+y`kF-y)P=*Q)D>YS$?NBG5*CU*})v+gf*E z34ZwB;X5`+kO>Q=QC`jR1IwFmFhb$@9hicN?%H@6LZGrR<8;N8o(pI;9DlJG#Vf-H zgz#y~;t=6E<Nf@P;X=!5;On;dQrwK!Q5f?T@skcd*@d5Yg~9P^%dcHyUKW8y6c2GX zaS+LK4S2IpYrZd8D&Ozn$pKy-T;}(hBUN)_W&Usgb5bw7;-0c9%)}iz!KkigBw`>I z7>I9E`Y!oL6;@j6g0-(gq(biZiy3OnOF5iniB9_TBoP)Uo#My-UE){Jhst7kmBJK! zxS|*33H0D|h6KfX>f&|JQVm86g{m*zLcgwo*ds(5<$Lkh4DInt(DmyLmKpcX)u*oT zt=Wh$S1>_qrpR5NW?p((X*(kq)noQ0sXF(KysbFU#xM9ofny868`fpK^}=5KfUz{} zx#^Z$<yaH&S+n`Pu#L$>>#(6M5@j3&h3j*sB~W9Dz^xFhh{814J8f4BNGGqgewz<n zlIlpXCBn{bHGt)Q;Pscbfj#N;`8W=0@5<#{5zglG2n5&O&A`otk-Rp=ly`=Hl^3#3 zaI}w;(neMbDY`EDXV>eIwni-sKL~>vNNUW$5J`R3t`6bq^A~Yc`u5|R8bOhir}WoB zO{SKGTN(WV)q?*87M%)=5khAyL`@>Yt(@BSBt35Yvm}L7dxPm`^Dp3MbkG+AM4$=j zo1y-(?Q#QQ(|T7;kZ1305fs&TqE=}Q6uW2I|BJ0Bzn?3Qb*Uhe2#8Sq1N8zxd&vB! zSB3*1em#<B53geDj+5e}^^d6SL2N>lZ4TLE==mi=4=mgw<icJLUK4Tn?yUMs_Om6L zzOBLGQsf#P9EKMhWrKx>Zw)2-HgXO<{!Xql6Pz<#ywK!XCEIEFA!7W{$#1_#fo8bh zewa!{h_=T(TClg;%os0~%T?`PExkz)nf%VF?J8=#ES6;3o%z@pEMC3l<Pp3|>|rP; zup6p6q9rZ|2oI-%PYkROY|{$E(9UsNCy3W!GQG)Upl&KG&L*3mvs026eR9qHDBezT z0BC-n@rtJL+!%({Jb<Z)<L%Nb+pz3eO$Xemm$Cg}3xmU8V1WM-GM5}=T*v#xG>RZ= z_`Pwp(<V>8d2C9=f3XtB{^9c{6s0BC<+u0DiOD6OjTQ`}37fNB=`Knz1F?SYyl4Sr ziA6Yr90W2XPlBgzdWRl*ECF`vF_lI_3H3on+{?GdaTd?pO@bmEYR$cyRAi5Z=(SY# zXJ4^ijCW`3#pD!gD<*o}w0{rYYJN(`IVBp^)ef$H5)}B9temCLqh%RcSwSRa&KN_E z;HhJZr)5<$6x+dwCtazNKDvTN#CTO<%}M(q*aCXThJL}fP-*l)@NKiIjUapRw4eBA zb(TV!;iS_6ae8<1{iPvJ>J_I<qZ>L}E;$ORBr<XI?)%_<&IH3>Wily_bYjP%5J`Ee zZ*3R07<!lu{-YlY&MC;G>}F4_%$J4Op$d`F3IOkRzU{#CPtJoi1}|oRAyeJYr_!RM zE`Qu+n0;=WUTDZfvobNdK(%g%2-UAIEh`_tUO$qP`20|=AKdDE5==>W{3_eUm!D7T zOrHlEL90`j@O>P36r7psYf7upTz8*?f4C^=UYq~`EK3Vtn5E;AHY`uR5>^^7xbSG% z5W-Xp=9HemRy;vT^Ma8ct&V8~M=2f9uxzo~OJ2w|rEDEN4I>uLaHvAe3w%2m{AStF z!K<?lVa1aQz48z%w=5fv*n*!6+f&Q}d$o3S+qs%UQ8P!7vJNm4DXB}2M#1`8sQQht z70^%o6Jb*7CL~ktL1uB$Jy?crB6o;#7?hwKvW*m=9b-juW>^s|vnN1_xU{Jbt5Mr< zV-76FT63M(oxn8&#&+WZsF~w0%i~ypmRBR1uULt3gaz|9d7x;lMW&V-X~9V9@T60a zzp0>K9RHzIhT>tx#uK5&ff=x4SwyN~H?j&|%GYD6O;Ij5@I-!=4GLrn=O{K&%l4$c zE>-`$w--x9l$v9S4JBApOv)6gm}h8=v%(Z3!b4{DO8O6S|Fc5`=j4tjkn)@oCOv1# za!}_1JcAd6u{RtHJx(ht2)M2*KtZy#Xybo#I5m+pc~xYbzqU(!bbO7h0P&5}wbKjC zc?FXO;8dIg0ac2)eC(&xG*ld=4we+j3pd}TfGMmEYHAOx<?1RKb5+MN#Fb$kHP@NL zw3I{6rlR-z_1a|V81AnXbITebcThEdSewxn8fpx)nh`nST%FE+*fhFxchks1XOr}Z zmNS0oh&3?hrNC!9F_AM<^;7rHOq?6j<DX>?tt3Z_?Q7*|!L*Scx_;Iiu$jXgl#UcR zh(mVRQ$p%tae%IP_(6i4)*AQDuD_@!b1{SPksl`EGayA$jEKM>S8-mxNHrK9xg(MM z@=i6z@h}8ccv?eUUHvY!;ohe~coV3_uNb2@973D%5A^F(C9bFcaa0ll8M;r-NvVw0 zMyQv@t9r^GF6y}~#*0OQUR-H}5Ifm<HHxIvp;;QB<vI4zg(P`2%`F+sNyUMnGb@Je zS71-eJDC}fm!d__yRW1@;AW=#?bT{>07U8`g60EEQR2T><QXAl_zNzuNcvLRZs+^B zF8f;kQ`_!X%Zm@~R`7;(aAb89Uo}3}V^3M9=ef_1SxCbY&+7<+NiOAfKE+Y2B1+Cq zoh8>{yVdP+d*b*S$N!qB5zt-tlG=2J;_=1v%4LQSv#kHg<q8E&h!l%9l>9+l|4nNq zu$U49`9`wcV~y$iuh4j{lMu-qSTSok`B*u5h6sI-_*k+Au2r-R9xWr+emkfiDd6-E z?=jQ90~f+RzM@9r3*5Oj)Id^g#6JK+F9}1(BQZS52SiH4OP$&acCr`LWeZc$l?pS5 zRv-*iImV$1wS$HKCjb4X&QxXDIxXd!KOR+J2ljb(T7<eLv&(mee3l$a^0T65BYB$6 z%Y2F*!^|TWs{Z6b#1eIsCqTR`G|-3BSsI3&^`~X=Rn$?^Y28K?8G%AYhHd;r8dw(C z$~gCwlfQw&A|I_9f3DV*8ohx4mYfnCI^G?{TV)E2sTl1?9|xM&r$!nbFwTHlNqfhB zw5PO7_d8G2i@7kQNuzS9FmkV~=?ZB4fW=td!8`iM1s%B0s+Qi%@YsP~uqF5b=dCJB zugy$O-opbR!H`X|kGBMx-RfgITF3f7p@G}XQg$sQ0R@rrs1?MFJpA|zqvyS;&cA{^ zE>2l~E1)163SU;TJ9K19P(?QB?1P~}DgO#T8f=(~ZR7&F{Avg>(Q*Ypr;Nab7G>IO zJtD>>C7a7*&<=a681xt1C$c4=Uoi@q`QBXV0RYMJQ4z92WrlhbEnA7py}&VztBs%( z`F3@gxi(vWF_@9q-%5@hv3NYvgWB+H#-1Zme>U2_7H`P;uwr^%theU<c5T*Lf2gT< zHa$pWnf7sjJ<+6);#{26)a)?ZR5d~nic@R7XKNz7wU1JO96HV4@lfO}lv8kwnC<-m zUQ>BkKB~mYz0ZhwXcA)UfBQ{)3^R;Z?$@-{b}C-WuGV2^a(VHqM5Yi$=VgksxDh%l z^3TcF*qk%_@KJ*;T7TE0+Mcxxl-<2*;2cmzVAGajA{TZKCc-s@aE~7L%hzF8Xhite z$jR1=4MtU_2q>Udyay^U!1bSIC%r^}b{S{b4W-3RIW*Qi52Pxfm&hG3jifXyE~t`} z)pGr<m1wsr^P?zsuzn0Du*jzJ(LkZFh<EQ;S`#98?kEOtqkeKqe3A&+@}fMJJ!|@Q zcs~e%H!<iu3v|TOCAU~^xV*Z@qqSiMJwjP~I}DCu-j)#)CPAEb>i8F9x$}Yhb~+>; zI%BoQkS{Ir^R*Xa#03=)Qz)hX>St@6)e7dQogc(UEzQZ^&hP41B}U=LWBh^ByLPh6 z29DNdqqZFUPA-bEEIygMnD{_R1``<5t*sCk-xK=v+xRN^R==k^sI9`R;NuwaCsYQl z!m<dqj42t16=oXjA_3RPPh%kwhJ`4uuo>H^k5v)O2$gPt;@GqRl#(8SNEu&PSzbTI z4Sk%Mw&QG9?-D_*PrHGp`9HXmQDb>iDWtSr`hpCFB0mg7`-YXfJSg{gyWM%bV4^(% zNX`sMg@}Zhm}FSnwOL67XL<uoO6#s>x(v1gbXMuaHTMMdPT-V&RhV*rOsI31r~RV3 z_TT}ao{;K4kt3=&XU{3JD=d}C6)4Sy-?}`k2!U1rgB3L6^bN9SKANfY;teE@Xs&9@ z(_h;pQb-cF=9MFSt(2aCD?JSb1*W>4+<jA#vBL<`tGjFoi<C%|sX*n4r$s2Y*37*M ziJ9LG1c9ZKxt{nqGPb-BNXRk1@N!%_Pw3rzTXNh9RV=aus<rFCKLuP<#o7xnUtou0 z>+gv2-c*cj#I@uN!_<qdv?&Osd*ztMzqB>duOjz@M%YcMO4~5;)rf{v)YcxNq#CKZ zny;V|bk2os#2@tiD9P7?oRY)toPMb}CK*`}(mq#;uOyEVzYZKtE=ittfMm*Tm`SxQ zLNVWQlE)3U>Q#$0v@BSw7(Z)J;#12m{0a_XxgZo`FYfOdP1i&OT3trL3H0tUVrswA zvH>VPhyB|EM=IfeYReD+2ClO8A}r8efa4!B;RJuffz{y<k+;ApX2{y+kV_??Mqg)$ z%2(7Qy8ds7<#}Am!;9=Dl?FJNiP#1lH1U{ZezVqaD+}h<S(GSI`QhG^srR+${941W zAnGoJA)S=axVX$`2{X)#-r_o6S0fDpJ=z89Te@=7ZkvfDcV81rI=*7qT)=^s`~4bA zzA3PUxT<g630ateMe4MrTHNo+?q<@W90}|0l2V*&KJnwV&v6G9ORnB+*T1jUXlSHT zp-nBsJ^+4m{11_#6X98t-zI1WZN@PPX$uG*JvKY3;rnaUCh$c&VO1(8-Kpwa?7+(n zRdZn4{iQ}~0mJb*KaQP*L2)ah#QFNADhQZKhUx2oW6UI9A*!?4^@kPEmdo>z;4a+} z;L-I{1cWHCG71BmB%^Y3n!X6m!OFK|&aLdQUNd-%`O#Z~8kdPBtsWs+Zqcr<EGOh} zXqZ)KA_^pV8lI%{9o;Jqw}5<tn4DAHhg@m6TCHSPB`BRL+Fu@)n<~wSg_jv)E8YiP z8k!qQdsX;RtEKjjM@3wyQX>-jz2bK!d6u1bVc>Zu2^hrh6(bKAdRw0hwfdz?uJI@Z zwm%?5=@Xuy)z9N&Imz~KUWD5fC;6!!s=Pt(47>Af0Wkc75{J`pTg^Iq8?OBpq1F+C zL7h?Z+k)5fS{{ceHilisVXe7BV(+up&_1KSxx;t)Lepv=sVTY`ETpx5BrRlZ1wMjp zwCepoRRQXM1*bGB9|}L3`i9W{z>oYv!piv`UoC^bruw-Bt`-4ZZ0zM2MCLVn@^=XL zpeh9iElJZy&)u})j4iFf#HzEjJSM85M?HLMi-u%OF_Ke;lt@FD9UgX~Z~#|p84tf> zs=3Emlrn$zp7tgf*!)vJUkPjIhm|{99x@IGyNW|}eZT_G60Px?(Xd9FLM(v8WI4ls z)%UVNDna3t5stPXgS+)pGIN}C%2607y`MPnR2&wNb-!_yTSfLj`A7H*t}8Xf%1eg7 z+QiN!Vb36}Li6T$MqHcoB3v7DMN)oz^W}t;q*xKz-NHMTB7!z1F()S&s-atorm@CG z;E)7nf1d%ObH~c3&jbp7rAV0#E#Zn|w+&~o-5vSmimuLbZ0OY-PPMqAO#qJ`p7WK- zq?W*~Sbsw5^XPdplBTX8p2WeeWQpwvFYyp2gY7LvDdQm9Nhcc=zQh&994={hcS26Q z2q2f?Nt5_ftcqT`a;}t&3J%GlGP{%iY>ZHepC0-;5t)%A=L1X<PvEb^J4A~r9OcgZ zrH`fR^Fbp_DH??aQDZ5u+{})8eU(1?gW-AkVRBR@OciC7q3)<{Yq~iHeI6<2oJ(w@ zvi#hHtBP=v6+Ct6j@hcwTmiW7TYZ*jgto!=Ki^(aA4Xlzx8XXa)6})xfL1Ykf`PK< z4-B0KyDO+$NqSI@&BcYXD<g{Qyd7$1ppC+{?u<p)dd#tK)?OULd`$f#HM%K110z0k zM3~LXGYHl2Vu(+h25MtZ2=I*bai>v;z`y^(_pMaP30Rcbc<1_Jl>CTvlvm38;{v`Q zwN{bti~H&v@0Dw`-+sNs+sLdnD*Vz_c8;QLKY{|U9J&R=;_2_hSgx7F+}*elp=ETk zM@l*lqQ|+-{YWe8wJdKFHa1jHEY|DVMllgbUd;X};zFpeCOqn6Kyy631_m;rec#z{ zcb|!7ePbSKeuPgz3*n-X%!}PBg--fV*bIh+NNO@)(SR67$GoX-hNk<D2->WrDdmjM zdmU`abfY&NpC^Qm4H-f#M8Y+|p<h0vjfn-z6R7l(()Xa1MNdGD6xgPg-EoX#1zF*x zrsuBX69*jJPowO3M*)SDmBF9;0N-OKT&XS<0EuF*XDgZT#j&oF5zXOtf$qevs7V?> zKw&xZs9!X5&HeY-f6l6h8kWS8nf<u7x}+yeU0}{d#>k4~pbl{5ReKgwT1vy9lL#jI zmcNZBUe?#=f$1>nUo`k{6kvfMr;(eIcV3S@Nf;?@n2S+D_L$yE-1by)Y>sJpYfNZI z4qO5;l<v_#`<k^<TwURtVPvCYJAUM~6Nnzb*RgEcVgl$P&mZL|iWUMTRqLgtaTV|_ zTuao@-MR1>T~5%&(mEUDDa=>!kj&g`zu}apyqpLt)jo)+kNFq=ok9MKWtHNhcABf| zX8AH}t@TxS3=PKVqqfrNDP@6ywKRPVk$AHF7u>PGztqxO70oaix&$Lx)FR4-?HFU} zX!n^Sw-=aO1r`e2lOlhV7u>h%%8*tZRt4C9y8LEj;R6oxn6{lzl0=YCvMNwR`^+#| zByFdODJcn?j^5qjhC)Zeoim1RbFFmCznY99Q;@);C|bJi@~J3Hpx{Nbp3szy{Roj~ znn+Lp!<L%{2dq;lgL8{6!C6A*j1&eePsd5t=ZXKkPybbh$#aM>m}V#>gL)<U<R8m~ z{Y9L<lc6h&$Vgjr!!^HWHXW)U_Ko?-&sTuhW_XglF5Bnf-v~wObVH{~4^Fm;D;7AN zomTl1ANz3Q4Zbzx3Y+Ge*LPKiK8<Y7BLr$v0#2~zTUIXr5MmG6NKvs7k1di+P``=G zGyjn;6tfj_bC;lg&zH~lONrbDq8xg6kX@VdBN&F1O90I)4<MDUuG-h1p3=)xSZJEg z<$pADZb;`gkSJ3_Gaxg$W}?lfEYm9knie!sslV6-8;Yr?J8OvF+}ba=v-g!2tFTGX z%a3gTh(cg&F8QNVwrzD;%9oAWa5-#;gKF!sO=Ile(hxFwD>nxG4JxAiF%yh><jVNz zGfl)nC#~w9?|$bGSl@54AM2=0@R~y-lsF-}HaZc(GNrn!vcl+~(oh`BG9205KDA9c z2RBa&wVPxa^AAj(^^R#`%|Q;Wb&&z3ZNq-U0!P-$JymDb0bvaus+d?T&avW_wh{<l ze}Y{;e1^Fk;`zC-pIA|xxh&pI*ncg-c86)0SxtA@b|1CSk7(P5?j}l=QaU4>icYmy zEBpNix7!>ohA)w#+({jWwpz1_TA7{Ns_R`urN!c<0(48p$4|M_=IHd=2Vf+Cy;5T3 zDhLTGYTFZ2DpY8nM-h4qd9tjYl{`9ZGX-z9@rOXMrQPdMmtDwx&!yCspEUBchTgy& zg@%L<7d}c!l8kvYiGc4iXek;4gW(eBGhfAZM^NYwa-0TYM;N{f(95>VUk{ryrzg+L z(crKiDh}dxFxAg_d#cedNQf0PLawVG94gSC0jBXZDYF>Sf&rX;w-S{#ak~?d-{`W{ z7q2mqaAMSl`J<^tNOhp};^nDnXxq@~y_Q!qPUpE4vd7>FQ>G-$xQph>(t>Pjb{X3K zi@)aEmhPNVfYMGrlr35ORN{a<PeXu>otZTIz?|T62cr=g&ypg|873u~ve|WbJfScp z8>)7JiCwBs+;%F1Mk*q)R2FF#$xwNr??%Y2!HtP9q40%izyVG}GUv0fh7L*87wgHm zRmTO@+E9SR9Jw^c+5JwJ15PpZ*<)^i;^a%ncsHXHm_0F^48A_8JxYdk)eLEn-#z5E zK=R%|wUf@7<Pc!GWF)f#uWD+4=2}CEZNP+OegiUzYVhU#r0}A)v^p%5m%hSpdG5li zlI$Ep{nG`e;Ilm=ats5Rw4Q6RJc<@Q#p@ock}R=21B)e0CSm!+&6Hk-ojmHOOj<23 zj{}J(OjkSre6ew3)iPNX@Zh$%;<D&<WA?DcT^CL8KUz|im3umKE@Uc`Yy|@nsRQNq z*U0>7tT8xpSU*1(Obs~MY96l*I+M+F<nF;~rDRX~-X?6GR2{&}#fXB=DyM2bAkTU@ zfNt>vkXpu}A^H+eJL{~!2#H3f%>Qko!7Y;?o{(^h7~>EY8-QAI&4{=dg?=dUnzyFo z61MRqY-dKE>PA^auP!9%{Hf~~p#;KZu5$F18q!X|_M-Bv)+0eQ)wGGEyaYh%ntZIP z6oV!s&dRSQAkYnUG$=jmaP>!isjYs>iYPBM4Rh~J#Qxo}r>lt#t-Uqt)iie<g8~z* z*fZ5dR%;u7X0+Meak>-|sLgjS^>A=E`*+8PVB~KXLq?BUygoyKe5FLbuL6v_^B=9w zh+9|kqcSW`YVFaB4_xA#L}6}JYF_xNpWS9tGB}j4_{}8YBK@zv@NN(I95M11HKRYG zOLt917~^>EFIVZ%4|$Fd)*DwG!nc($aUS%*SMXWoG_@mR+R-!VOsH4@*NuckIyU|s zc->S7ER7RtAOg_^FNCUXPVs$PCaK!f(2V(ig`j)nMp=Vl=ZX-Dy-1Fst)1uF?)B^L zbvN^edRt<-Qs4A7L4SQwD`Ts2Jp$TJbGIpJ!Y_0JSyagVeTk*Y^bXz=<HABSbWjP2 zQYjLxb@{2`V#;K4(frznDGyPaOjp~_pO&eT&sqvby(H>Z(2M=uP{)z=({+mcmj!>c zYso2%vc2kS<bI(N8I7s7h1)jAz1htPbPdtvZht<g4KHqRzkl%$>*#ULQzXO&abn?+ za{L)TB>t}`L%uy`D3~ODi}cmx>+@Hka~=}@M(T2dsdb)Kl5nq_n^J_T`>OHbpEj`E ziI9+G7cX$Pa0@(PCxVTb?d&Ph)I|l^oCBW>dY(@=-P_Af2S9I7o2wy0$5RLKO-x?H zT7UyDmAE(0`ZGMuh)VFP5;a3O?r?$HgmY4=v1}$%vLMFjU(Yb?3R!_O#p?4crj;Ce zd%m9m<Cd5IN^y$3m1M|oeR(aOW0L8qLH6vFaeCBXeFfyJluTq6xr<hOe+K9_<MkYx z)=~Kw^mBwX5#ZQilZueyMIJD(8||jLW4Wj01;awn?p$!<`ps_IU_!tdv$sjQ{QtrF zF@pI>8lpeqt6dsU`+9NR{A33=*~o}b7P%G?Fo(3k1n9V>PkG_zw8*&>=Hn30epDMB zmW#swb_9o+X_ST}8e$H#eZU#&%dbXMQFAw!b&c<2_+x>@faou~TAyg)Bwiirzzx9Y z*Cm9NWm&dDVq6MYh)J{$B*$h~BR(yM)~}XIUH+E1C$e9LQbppbGp|bVC{mc_gFtqF z6Ir(Sw>F$Aa{&ywmw?FP%x_Z7Zoh74tVtcuy`~1OxbmD@l)1{!8IQ8pNePo8@IJe* z2R^yA^&PIh%@1a=W)3Ip7-eyd_nr%4{0<mEhl3o;e5vB^%j4m&Dzp{32nQ?SQY-!N z%Kk|KJGmXUON%+FLTkf$eZ;+HO)ACcdc<V~KOfL{0MvkL_5sr9h($hvgPS?h;{N$~ zxDg<F`%{QLi{II)cDSl%=^7u7bmgjB)sHcB9#$T1*SJ5_jIKnw)RSr>>k(fp%P<vD zfihH|fbrXNU`L--$G`p^0V4KqDfqwexr*!Ui0*@LS0rQ!Sl7_85wfBdB9bz9kXyel za8mz&5dRvf(qv%M0&;wjENjC;ftFbN()dp<j*+{TLq*jir4$M*y=Z}o5X<^~7Uhl~ zwuNx%+W5Oj$TD)SY?AbciRQqR8O@{SZgp-L90eo+iv)m50cSX_FBXk5#bNwLaW+%@ zXLe}(_}z%3&W&jvqlHFqZHAqgP!bO)v=AwtfNGhf#2VS6F#J?kK%%fW8`3T(ppjK3 zS3V*|%$An*)5hT}4idK;^WARM_UzjQ>`7nWyj3e0Qd_6b+6d+<z8NY#=_V&kf-f1X z;bJcyt8HBMWWRIJ4*i(rhoahX7$`2%IyFSkkFh^7mgGu_lro6J^%|E}6hppEk6fNX z+Va2%#}Q&Gsegr8aemMB`v(Q%Je6b^26Y5ffVM^dXD{Vmc(lPyWiBE#Sf~JE6%a}- z#K54b)*Nd<s_km#K-Q97^I=HqyBQFG|IZ`jdQ~_jb`V$EL(RvThWWFmhDhr71hPn= zuuhtg`)cN8+@ZdJd?Z6EF?#Sq7uSra^U)-a;RVs0o@OFOGdwkcf}nk_U!=t>BB@YC zbz-eGkYEyJ1xd@~Zvj~jjQEs{y3aU%mWaK+gVKR?+|r1^_eJs$ggBz)UgZfZxDzSf zfuY%Ld9kR5n9ylZFpWTG4xRCvReX!;hd9?_qy{-CZfu)~7AK2;__H#D3YIy3q#m#` z6b+o$`zueo+kTLq<0s)eVJ0{8U^;P_WF?XiA|Ty!^&?j#u9kWd)qxu473i(R5?Dji zvsRhc;$IT!8gdC~X~{lzMFp<QwMr@mSBFk@wQ>{_5RzqkF6S7CbADSiyfg=5u%Clt zAi3+4x$7MH4Z#Zt`D;DxrnDAR0j+B_MM}E_?#3*d8WQ?l78`Bb0+(NUi|xH2LG)N3 zu-W?tYC`C#2Ji{dGo%%fu>TP;h|_M{DjjG|5Li%Re0;^kR`}u1i&3!){NZOZEDrx^ z``SO?PQq6Q4|#3`(R-|MQ(8bvZ$o+4KO$Z&4KuY~mb+nY{yBs?w-Qpzb2z=^Ubc9l zqP_~gtuH_aISHa|Si%ogwp<OtCE1b>Mg6h{-XD}$181UQHhS?v7d6|pmg<o4u6c2O z8IztN-&Z#cx=D^g9M^!3n5(4O9FwUm1jRn#ndgo2<k4Bp<^!%&;xS1eHDWIZHya_I z11(RTg4Rc3zZrI&Xd&g^{ga*{_a-rh=w#D?I-^25fe$qgb}D9cEV$*X(4}>hQ<#o~ z|4BHiEni*Pc%N&6I?0N^^D3tYb{Ej!ALIReX*^jo`LZgUIazdHz*KeL^?w^3qLB-Q z6Yw<-Zt6w?>iyrVc)FWc<)NAvI}>B2Mr)wOa;Jas&G1hmkrlfGNDGv*_aO_*&j~LK z1JZ5$*KQtmE=U}Ef*#&7u!?+UG2<sA=HwEw3gsskY>!}?^%a!~efXU-xKy%|_F`HY zIN~B4xpt{{JyyHm$6G~gy1ls<lL~5l3tyYgdmNr3h4R8AF~97J_5t03e|C6sg`Iz- zm~bN^EpQ!@@vIbyBt%(LXi?NX6r<Ca^1pZ`Db!<=S3~KWEn<K-%XtTr1@=ZJP7E@s z%18yY1O(4hN0$Q<X388P?TrI9SQ}EQQxDGs066a<OW3Qb+v88CTv=OVk(5qF!RZ-a zI4W|ucppRQCf(@IQCxh5ydkXkThvt{X1xQ`3gW$FKYVL^-bm?_UGX*;E-U@jd=2Jd z?|7NyDM<~3{xDBk;|ZA%2Ne=xlzm@@x-3HYO2Raw8rSVbV^riDTfqT~j|BrIO@QJb zaS3L$(isKxeA<+&b!E}I4XPODnUH&^NA-RfVr4E)f|LFS^mlGC?JU9t+M9vVgK=dP za%(>Sx_%pR3GI*?I2_kku<;FXP|v4UbsSS3RkoeXWk63DvR@+JXDjK8z5)JhXvGm& z61<qqYaKu(fw2tZq6uzg-tDO<4Ar3q{G#c7}hq8}s(n_nE{IgF4Urjbz4MHN9k z3TFxCk|*aWbSk#7ibcMvcSs_7CeWb}Cl|0~4yw`<Ge`kyL0@0+S_20OdPtb=*!xs? z<ogEP<T)8c_-RWK_HW9P<|+o}ofIG$x<{^`F;1r6|A|eBzh1q+;(o})R^3$LHa+KV zlWT{zDGa;|4C>Zu;#o+Iy)D1bEZnnyscRNc!u8wp>G(5dBuS^#aMlF>rL}GdPQ%lH zq%{HXOYgT69k~0iSwL&&78)&fzFG25b1w%lQi+Rj72;RT?_Xst^G^uc!iRGkY~Wc5 zQc=u->0S|*ZfXq3%zzCatO)9pKeq|{lu4#lJSht%{SJ!f@xL%vT~ukVa`j^Y+CTmk zBzW%aQ5zt!33JGo@0&9J%%#DPT-Ig$9*CYclGGqzi93N7jVC#hxM(_snvvlgGM13j znq1W_pSz1Unx(c556;{9CAX&sb4mvKXjJm?bkE$c-|}gfsfBU&X?d{I?x}h$e593f zmrJ>k9Sh^@<_EDI`s|}UxE*{vYjHgF&$aje3<nFpDI_!T>=&Vp2^XqSl1(^`_VXw- z(&<yfM=A+QeA2X_+O@q<tt>jk^la$0<M~)Dc$8IzQ}{8%4VR5j1EZFYo$<vnW?d2i zF%CHZfi`(EMK8JX@c|T7>@O(?^!~?ZN!(&o5Fw{*@voAjmrV9yHSz4(mX&yB2E{Sr zL+xDOj}Iol=s&US>lzpmgSs_;?c)i@CbElKu|`UF^8EQtd<x46dWb#v6-V1kHa35d z5=`>=C>rxU9*#CxvaOhuK)mgn9gR27<x*6NMmC$|{+*O0){~|aKXD$L)pQE>`RX*4 zc#MbXh(+|x)0m`^mU3Za{?0@cDz*<0xu%!D@z<VgdX4JRZLkGy$wz&0Nvc2RiT18j z#8Qw@8PkN?sj!3kYVKywF{}#gBvn}CF_EbP+02^X!qm?d)_|l<#tA!2P#^MGi9(@* z^q^I5bSU#D-_dJXEjKNNZh8%4-0L5O3bELgB3jxS<Qj;op4B86k9cg=vL~Ub*tD?U z*~e_>`1Rb~5yxJU)ZXFsN1CA64~387sc0ep<qZsfv-HHiE;6>auGE?lLZ{<Q0zM+l zD`x~ci=#-ad&AVYg`>_b5>lVf+&YHh7{)4*Yc!PdS#|lA%j?SvnT+iBN|@=TtORj} z=YBE(H6hEwMZJmb%Xp;HW+45!JWJ`FGN?0F=Pj5>BUHGSM_rBA|C%o2%k7^*dBHOy z%~(ulNIf6OE*xrS`HP}~rFwx9|5Agd-?}qC@P$BIzajo)FX_&DBt3B?Nrk8-sIFKe zofG}|a$cRyhP$ay?zveEj{%(`6}Kdg1r1%Y*1u{lINgPaK_-TwA%Q4DYufNZ3ziok z`CTxEZZEO7Whi9UObYHEp<Q)0K=IXkFKAuJu1E5C$zj=D>=U7E(FF>D*-8+_Icnte z@!#6_BNy>kooAl%=ZOIEqMiHUW{RoT0A1@9@1WR=-%nEKEwsdBF5Y(h@f}-O<U@sl z2-kHcj7X>l)9XLb@L_B)#-c|fN75i~@1I1OvpAop;&>VPVgP}3X=3i-=DFyzl9+_j zTZC9>KL^(TeWj9HFXEGRh8MyKDKf>dLc;jjxb^iH+jEXU@`6|^v<^pTU{9PiyOaEH z;P2nZ&5iFYd=bYp>#FA%G5561d>de`jrEzp#5Y!dRDMGw?oH-`tkcYkEm2a===yRD zP`ZSlrI^dj;l(Sv`et4HN@7(118sJa$IXSx)FPzo*;=(E>h7T*eK>4|qNZn8f{Yg_ z!<8`f`0thJ7T8{F|2X(rv;XzCl|N;_>1~y!hh!i)g9ziMo`s?Ud9K{vE9P<5*;T`j z*+eltbB$=GJ9)?Y2b0cKR>sMYA!hszZgM;bAv{)(>(srQ5Az#4{ay|F5+^%;P8;#W zSLd7iS^(*Ui*xKy0t#_=UmrF^d1153QwY57#Kr6URsmIIv-cpn^Kph_3C_F)-z$LM zil)*tcPh!fL^&(Ln6#Y(&pkWlkGi5i6A%7>_$YCBgsis)z2CYLefk+^)#a2cR@*;( zUGL9KG2SqAmt`P2Q5Cpa3%>s6O7s6N0pBq2-~A-<GKTaVTi){7<VA~23EO)JV$hrG z`~Urlahmh{y7I&OJ!DUxUis;%*0{z=rwZDv589mV3E1fU-<@>NA7E@Py<S7|D0HNn zg=@U4z^9(epXb0qQ|f#3I&L;kuJB_2yJ?ll1#yrleUjH>)8@v7S6yq>`g+zK+q*=R zBL;q+D9p+K#^o}XGC+-*MWTKEyk+vjv)Q*R;CY(kQuXXEC#)n<=->Zt>7ngq35yz0 zG3fbW`0n^;ob_YJjb|g6SGiHI#>uJmT|k}MFKVay_2_Z$Ef6{c!`DWvA`+*mUKV14 z1~s*i@h3rU+v#3|MvB0v9g3y+pyvv%qc6W6)?1yo-WC&_)80e!z*R=gI5(co=M?>d z?+O%0Wpx{6&M#NlV&E=L`Wwi4Pr=rDkb#p8(GEo<ynW(%o{F2z){AKnHvv|`KmS&+ zW8RYLWMy|3SOk)2pUVFPp%tA{?OA*GvmZq4qTCb^e>$&P)LG~<q}WNjI|}ls3xWjV ziruE&9*G4BdqA(bVWe}FOU1bdc-Fin{Hoz#2wS-+e5*WERO02rL6~@v2%&YKaqgj3 zJqbb-Z-~C-v*xXtZSQc(=nb$SWBUgGxGq+M@ZO(K`o5ZZ?@T5Blom#3f67MsiQoT8 z2NAnpkjU%aYj_hAA2bCal0meqx8nchRd)eVMJ#r}cz0QNPlYMITb?Yn^_~%~b&?b9 zxcPANZ8za)nC<>u)J*z;@o7K4^vySC{9+OeIs5uA;<IVL>J7%0;KsXk(Bk`v=-GwK z`~Cm^R2(>slmbp(>bwt*U#y#^vM0Y*XC-?Wp$_d$KnhV%l@N=?NMR~o&z#>$VQgRV z*m(!BrJn9zqJkjGi9CW!P4CaGTWbQ>&ONU!_FHcbCU0G>a$DW6d9Vm;81HsHFPFEr z+3u8YF=C|l?-}FQkS(E(`M2n|zmOnim$$y|XI{b6pcQZANRRr>bFayEu-tqTPE^(o zrs$}};c&B24rlP~-V>|w$%&po#wZ(97ybJC-rPgy#2+9|9B2oHInV3_@Zp^JoQMO( zm`9=ODjOdpx<!W?W1%J3K?yr&O^~oTU6{vA8KA#);AT1(e0u{6(vOAyB~e@5Fx@rC zw{JzxVy`c%ie7@^?Ji0u>{vs&{LOh^Tc<G4F-KM_Hg8ok`EEu6H*++;{SxcEb$_^s z4s?1ySO41@<f-|1kNGxSd!rc(2+-%NOH_^{^Y)&!ifHW*+_b22a^5IAKEnj%c5@bM zP1fSYg>|T+lh(<}4Uw(;i`&r=r%L^MkF2^6ecM^*TB`yZ-^C@Oo<rBJ00$)vntUd} zNV-0&Z(>ug(fa%FdSi}fQ2kYWbq@_1u%~7?xXJ7O>4qRKHr^IDTO;W0tW_-Nd0AEL zMKzHz=%2H7%srC(Y((h>-MiPje%5}dyqN#<<5riLV{GbfjeFeO!tUKpXV5>N@`dHg zA@W&gNWycDw`fTanw-PzwF$v1Ee9o-XI*<7l)Ln08Rif&{&l@4R*b}tes&o^xyqC) z7pXeWl_z-Xqu+0eKCkS*nE(rX_ehwg=r-~uXnH;Fd1B~|n!bQevQ07&dStj8Y79d0 z^cltSQuXTb!jq2fmfprM=RgZNDKg3cbC}VLmAluBMGGSjr9H=hhjXRUyEU*^p2(^= z&h2KpG28aUYpXQ{$X9<(kz6qHcBAXHzbEi*`CCq-ry{mPc~6&NUU#QJj@$b+p6L7a ze)ZF2yGZyZ@}hASlw{gE+|{`~Nxu1r1mk--yF+-s$xJ9<x4`v#>ur^SqowY>`GMJ} zNp2zG$jQW;;exlWPSxAV)=n3#!^j!Jv1;DwO)y!z0lrmDaBT6ue3{BE$TIL>g`ZpR zjf6N}N+uqew4T-dTiCSx)*e*`^~V=vp$UW6HEDkvZuxj`7fSVeZ5(-hbBLT45EnFQ zjk>mcpMC9Z@8AGi3Oi5tL7WJO1J*7q8n;GW7ztD_`W1y{*0<>#+1T1Uo@=`1!7T5P zp6A4M)1bFY49)*ej&Yc|qh=oLnjKq~*ZKCi(`r5{;+tdk-aq2j3_^Z$P>9dpt?Hmh z5AXiW_z(aV3h-g6vnFTK4sGPg7l!)d=2TC2O<h;N2mQmNA~xvFdjPcdV|vM><-$yh zz-Xf&4zM~cSk?Z<^PxCM5Ff5fI6qDAPPlkDn>BKw<GlNI{(Y{UDX89R4Q?(c?iz!Q zg%T_vN4f?xOAg9qYyYNBq0~VXdT(8HTDJA}dg%;*G3z27w9;|zd$i+;0mNr{{|i}n z?s~89_|VcVA!n3#;g$6h(2QGAFWFJaw&c?7^)N|RwEl-<l`X0bC?v@TEc5n*ma_aw z=T6F~?>m>AF9^(k)O2j#4`1CXM)j$%AANbA>u@G(_>Ce}1RdkhvU|cvk=nd9gJ}DQ zEI0FZsi0Hzzb;V^zR^dfbo~|nUVdH#B<*|Q<k96l1519-nqp`L7ki24q0qIb_YpL; zloL8-reaMIh3IKPB$x`;`)^pUZD)A(&Q2Z9>mpE33d!KNS0S%2#I<BjEAND#_U{iV ztgNTCf^YB7dO_8(kjAWM<DeF=U*<q?R+$hnu2s;#WsI$%?z*W@5R~YL$hY@|7xS*M z+GbS|sng%F;2jjy;HEdT2$KHs<$HSanuoLbr=6Bo|GaFRn^ju)W-d>+w1-;0xU;Z^ zof3C~zBfzEZxsKMUdzO$raEqM0-y8VqI0*H&y5~ryq6}=4qI$9JMM!f%~62QQYV3^ z7&YI!o$4mm({@6GphNkzVe0q1943;84q9Ui+Q7NoRDZI4y|e2I{9Rw>=?u0@1E;p` z1-OmYO!KbYTCmBtW^_m&-9PDKc2uqUgWn2`n$9ph0vre9j?P+5?#)}$>Ia$VOoTUf zF6K??Aoc1&jKAM}m&k|8?(R~-|F#=Qpc?JF_YJ?lQ{Ar~R}l8cfB!viS+Y_F7z^>m zHs0R1HRr~&S@(x8h}85ztFU`dk3*}@)~X-VjO<-cH0?Qme`1x7<eq4HD8D|GMw@O` zYAOTwG4d<%A$RL=702B*ngd11o-Hry{5E^)arV$%1K*A!rUM1L)+i6io4nrxzC}SU zYQct&*3M+sKOTbjyZk*PyF^Y}>t;yI<j|j`&PA-9+{9q!<|XX-NVnff@9#~vp1dzG zp}+IS|1NSo(B3g?61sz5%eTIqRaSO451u!=`Q3hsap3M9^PIo=m`R%FN$>)(_qLlB zsrkL~`{o#?0*sW^9}w0z{NTZ7X!*Q%irx!5x9rqQ_b?i<ep~IDV9+r<ZQn5G|0Or5 zeD>G-_#=@Rcr{O+ue2-vB6gjmtEc~2wPXFtXBsp`25|S=6qVyB&NC3b4O5gl3nH4P z2)>2x1}JbzjWh6fF4K^|`4?zoiQZk~Q@&D5J*f8<F4e2Bq5?r9jU%8;mMo)%j4Bbz zfS;CId6C}+cGwNVM%C+_5rv^9gu1GAI>nC$>-XnKnqoqi94FmJs(#_mki0H}(s>4u zA5XBDH*Htq7V3TA04VU8&I8qUhWj_!g^}0hxQ;cKn5WnKJQ64uTyo4dZnAMQv)%Cg z?rHsa1g7K++N78b0o)BWh>53BJe$0W!pz-(bPv<1s=YhFkf#f$*V|i<Rz2<YT<Mp& z*~J8c=Cmh&5ha#($S;KAjsVgIk!y0$5c+bU*<O4gAIK62R(1LcG<itScb>n;UVY8> z*6lm&a}B=jY~i1yn?fUauonZYZtd*MdmWq7fh+t^O`dSb;FC(EAZPE8`Pp{+mnaPJ zC+Pfx`kxy8R{Tz{n*9iS$QkL^%kWHmpPMhfoIys(K^K1RV-u!`kxhrmad43fSVUg{ zZ!rQBLM>A_t=-j?Weo;GiG}9C=_TxD%vIe*{b^9OWvAGs*qKZD^!f>>^8Ly@vcKQ+ zP5(;B10?A0yZ-i5g*7n1VR&$KXFd%!)ZzT)?{ynjoLAYApIC;}>Shx90tYV7i!cyZ zFr3uiV_92n?WO3=2gw~Zc){pY<Zx952rt!88L48z!CpQsg4KNg(k?azO)oiz+M67+ z?qGl{839BI?&-z9L%Pq8U>^ES!p5BfmbqEW-T5}2Y66@SFAIyTe8t_U*7I!nO3i&# z7OsWc`^g^cb90yaRh~2-_m|o(B+JMtjc$>Lp?i1Y))V0zqSSw5WeGbfk_UhHZ*b60 zbe*m(sMn8cCg6npip^YVE+d#+kFWyL3spH?be|H=tv}sGB7ePfoZDfaUamI#*9tGu z5PW+%m0!1v1~sRk9e#Cw9q+SWe)H^}zB{oa^CwYyc7A`mfkwoRt7Dw6fana4C&gCT zpyvcd(Azy^x`+*o9wZEt^l-fdKlcg?>Xr<OHb;4>z!5kXvuT^@33}!Q<?Tc>6Sjep z_7vamYQ#=2(%;Wa$SDKd-hQF8F4eJ6)-0<k+vgiZO6#1xGMj-{Erf7fuv!DL=LSKn zg0^dvc7!m<aytVB84>WsCJ(3;c`KxZ8WiLmD|7}TZ4as!D&E1jr3l5XChHVYWPx22 z{f_pqwt15WqL8UyTk=7SV)p{>&MF!8iGb#1f}rPn$mzOE*>kxOh13%!&wnp_&?i|> zX_5A$dq;|9Lio9Pww0rShkJ`@P_EoJ0DG~0-~*~u!<UEQW*Fe6>F(1bS5c8mO#RkJ z@l$MbKaN~;;4+z1gHz>EFrYaPl4~x0x|y)y9&kQ_Nc}KOac}Upv`&vE<@;ob3PhFq zgkxT#?(y^Q5dd)7Gdw)|-dN}24V8g5FbW<M&7Iv>9LRlN49I%23RpR66p|&VZ9GjT z$CFGoLP_tKHhJ&?I``LE=i%G){Zlss;)A+d(%uG#5<b#+3vGu0@Y>Er!FpmFZ2jrb z`G`LBN_HXI%ycdp>2W0LaXR!Y@+nuq$5JNf-;&Wl-n(T^W6s#c6Flg@{hmYo^r!-A z8xSq8>mUSGA2dwgjDT#2l0E?aplH5}YU;Jwsb%8G1#(2|VuzFbDN}EHvfCEK;y6)p zE{m~v!Z`rlS=9TJRrl+3p5T^|36mAluy8-X>y`}`^cJ97W(_n+Mr9z9TEmI_G4BrD zZ)7v-iuPRmPu}n4zLWXCEw{2qhM#3Q4U|ouL0a1U+8Z}3OZ6Q)42wF}w9YQ<>VzV1 z_tMIq-@2Q1-p7y7K@P+-IrHM@IOd3|;BG^c36QV2K7|=@FHf3csOiBm8el7f#^Qca z>mXLz@jKyFII-bEb``<7=iGbu$3^4Ye$;^~*@Dnt+sDJ{cfs=BptqwahW|<pG%(1^ zIXNyI7gDIUy6u1Owi`OO=5sMYoE*i>Qf?!Q`a5x?lw|0QBA=nbri1SZB3=P39avIN zmURv5n|@H>o5Rfp$&2$cqGDp?J=|&DR}%)S_>Vsuv-NJANBa6!{~qXF1~(4rnE{=r z0Ig!vqOyD+spWLu0%3~DjRG$c8-zZ`3BNzA=k{e>l>4prg9QB4R{PqQF*^gg!1~ZE z?^(@8j#i`a<C<|WbVYY{Oy*rYp#;vp*@)^j_;)X-=}Jf<0==AOYrNHl22m^I;ysU^ znmdGp!VlZil=)%)PXJH`ulef)aBtl#;!F!j&n_#r4>h)9c4&WXC8DD{Jj?+unqGEJ z{i#@$-B|;d-EVvkNI&)7+kbVa{@XwI_rOn?{#ZVik7W)Zb+YfyG>lYs7tLY9`suDW zA68{|v$rP>BWM7m=MGC)KvFQI0gw(72?mhfyu-Biks0%cZzIunr)d~q)iI>?watck zyL0}eF+;KekIU{z_i0Ff{r0av51@15s(3@FY53vKcAX1X4B;o}+&P1vY+y*OLA+SY z4C#FRbqLxy4fNgh<tPWnEq`h59!4zCCKcJ#n1BEIhadJw^qc+UUqjGnfXa5AKmTAE z(m!!XjJ>;d1yqOnIzN7W-Q8GsolSY#RJXnM&VJbmEC+^ku{Zlq_Jmwz)BCe0`-{0g z-^Y-iz6>*pxAp(2&9%soS_u2>vaqi0@5fFR9L~Yvg0=r`T^`bqpQK?(u8vTbhcx8a zo&EpYJA>b}VJM6zDakpYu4jrUJ8y^ex*~^NtIlwy46^GqP2%5Q-g~y=&^UA|rRntj z#MCyh*m(~A^6cklKF``~VHv06HXl%cCC8R09EmxnvMvjjK<na>fq(9~mFs_NGoUMv zDFA>I2om+n)x+ow_w)}5XH>a&v(YJiTjxfQrqoT;WB=TdSV3y<GSqxDyw0Do4(VoW z1*xc~!k-9Iqnb3)&~{SUpl|PQ(C2$d%4KCxQPV>jxM4B742k`$+;r_1vJa9M*~ahO z%6eHh>m+`Ni@RbEDUlJkkcSkxObsT&Q8G1r4K~|_ly+gq5^qfixcpV;`gD6!{E|1< zc9@p0(`NHdi_K=Hm8R@L%hmP7#NOS@6N5L06gh(r>@=hNO#PsSOJ_!Y)1`Kp9(qUv z2`ou%rUs5APz%3~y88QgriKF#i55AtjPg18YA6Q~xp=N>d{oQ!7$&aX261p%siemk zn2%EcC0lT83_5n}q>=3#fD;OmJS6g0b8BYKwYQIr%hXW4GWnL8{)9Rbo=jLrk_~6x z)??7Aj(A9JTx2TQzFRiY5kWerX4ankvt<kO=~pWbnfhRJ*-0!jzs6=9(gvK{Wk{YN zttIR?awB3kN5W58{d48gIB<#v8`B_yM5XNt7uzsD@Q|WRFYBNNTQ_|lY&Ht`D)%N3 zd2MS%M;l^Df|M9Rx^=61O)fjmv|tXDn`_z+i305&MiVwdYC`RN4~d)~JCth#iNd2f zKTkpHknZS}I5XCQL?LXKGWI7gUOro?&6dqRrVxU;2zMUU2CL3hjA#r^w<e~#bazVq z8>vVk_mrHI%@{9>vE;HdRpX<XOV0FA6=E(Wlf}ndbBih0*0IEha7+JUk-~mR0GwQq z20Y49G;`TG-y`K`Rx{$ib3G+b=Sb=p2@0F4Hr3HakOIZ02T^u+QD|YT`DCM-p-j^I zKUR;v?GNizRV9{VNz4Cya%?yp*3MmA{%G^`s?Q9`Ybif<7&<xD5{-GY_-Mmbh2=E4 zC1qQ_v{cZ3CQp9U2gmi}0NHW1nn=pLV!4^zs9>p{!LK$v9oK5j<hi$>-#U5o%47c) z4OpbURRWu6HLSr>l(bbK87HKJ=2D_zOB?W8rC2aAEj=sc{N-nKBmkV0QL``cdWzWZ zHR3${)PAa}Ts=Ownt{D`J~|ia=^lBR>Y?$cix+Le@RDN19Vs@H$%0*^&1gFhs%mqV zaJzWz8cMuDSRdW$g!;Fj+NWI~NK}qK0DvAdbxA$@N*d@zV(TJ3b&#T@k5@EMtDTyk zyVRZYcTzQ*%-BIH^ur{$rCz4h*;}|W%;M#Ol&R%TL687=$AZL@+<n#~9je{c-bC81 zqj%vUB}%E#G~4Up?JlkslhSxd%dHCQ=H2=0s5-Ws)oz~)tyHJGraRBm)8`Zb!26+N zn`)D4;djehlRjQbrv0Gqb9qRQo+-<n%pqwVwraM@-@q{6yY2uhkptB&mKVBMbrv+k z_Xz;-5)Y}Pi=jxU{UdDjd{0DjK@>~%j(mmKWrC=G0|0>jbyh>z;2*?YnIOCFku3lK z0N|C8gu2J3VgLXDfb%F4^aua|z+3Zy7MEh$4FCW@56EEx000000000000000008`F Z`~_^5Jveuun@#`#002ovPDHLkV1g=KeqsOs diff --git a/docs/img/30460bec4b16c49e4f5d5ccc7ac92601.png b/docs/img/30460bec4b16c49e4f5d5ccc7ac92601.png deleted file mode 100644 index 7608284e7e2aa2e26066fc20a06bfc80afa65179..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10174 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 F{{yUb_WJ+; diff --git a/docs/img/31396caea61831939862213abb8dd10c.png b/docs/img/31396caea61831939862213abb8dd10c.png deleted file mode 100644 index e317ebb6336ba513a948d2d009f0cc79230daab0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20023 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 S$))Ps6<tk34TQRV<Uasbw#YjG diff --git a/docs/img/317167b85f9604b741e71e57b1702b6c.png b/docs/img/317167b85f9604b741e71e57b1702b6c.png deleted file mode 100644 index a7344eae866b9d622aa48039e131270bba6fe841..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4017 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 S?*qA%l(qSVv(=`TQvU~AM{&&n diff --git a/docs/img/31c7821d41281d527a8ee4f058bafaca.png b/docs/img/31c7821d41281d527a8ee4f058bafaca.png deleted file mode 100644 index 5fc353914478992c82178061d8f978f44df9774b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 66900 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%0Df$++Ij0P_@A6>-0-7TVSz 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%0D@$#}n&?xGrtw0GQ+`esh@rYR}}Ol|_(@ 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 Xji@5TZ-9FN3HT`~sLR*9vH0{qlJ2`J diff --git a/docs/img/31d242e54217fe005ee1481fbb81c786.png b/docs/img/31d242e54217fe005ee1481fbb81c786.png deleted file mode 100644 index fec656ce3902ff7576d9002fb1582238b13bebac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30209 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 H<DmZq;_K-A diff --git a/docs/img/31f0a42465a379e152ef6c0c7a6395e9.png b/docs/img/31f0a42465a379e152ef6c0c7a6395e9.png deleted file mode 100644 index fdd7985491e9f294d07b54b515adeee0420480d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24391 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 A<^TWy diff --git a/docs/img/31f8f986b27020e646540b9595d026cd.png b/docs/img/31f8f986b27020e646540b9595d026cd.png deleted file mode 100644 index 72846c2b4f3425a60fc73ed27711a7708ce102cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5947 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 diff --git a/docs/img/3252759837ced64a222db48c62becdd3.png b/docs/img/3252759837ced64a222db48c62becdd3.png deleted file mode 100644 index 29ddb119aca16e16f255380dc90085a31a3155f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5996 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 aZ~qUwC?YJUAf^WZ0000<MNUMnLSTXhoT-Wc diff --git a/docs/img/3281ef5fea53e2f0a57bb3c648aa7fa4.png b/docs/img/3281ef5fea53e2f0a57bb3c648aa7fa4.png deleted file mode 100644 index f8ffa92a76062874828f06b0939d7f87d4e49439..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52085 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 diff --git a/docs/img/337891c1885c756f35968127a8050c21.png b/docs/img/337891c1885c756f35968127a8050c21.png deleted file mode 100644 index 0f01bf03dd7b5e242e5fc3a37c7b3ea13df7e754..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31950 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 Yv|BsFZ?zA}dLp>4mfnrh>$Wfd8^S~;=l}o! diff --git a/docs/img/33ae5f16a8ad7c683e894a2a3032cfa9.png b/docs/img/33ae5f16a8ad7c683e894a2a3032cfa9.png deleted file mode 100644 index 2d797aff8cf1008d769a672891031a16c322535b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30674 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 NS)1FNHJFg8{|8#@x<3E_ diff --git a/docs/img/33c514aefa1ff87fe18907b27d473e03.png b/docs/img/33c514aefa1ff87fe18907b27d473e03.png deleted file mode 100644 index 85c4ba8513104d3bf9b949129c7d1a767f12fb8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55491 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 XgK6AeR1v+v_SrTa4FtSY-8Srh8g3bc diff --git a/docs/img/33cc6d96a283a4f1b3cc5b27da9fd1c4.png b/docs/img/33cc6d96a283a4f1b3cc5b27da9fd1c4.png deleted file mode 100644 index 3536265100983f7e67620b6b594a8bbfede6aa49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24018 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 diff --git a/docs/img/33da6433c882c8bcc4c699a4e0008b7c.png b/docs/img/33da6433c882c8bcc4c699a4e0008b7c.png deleted file mode 100644 index 8c0e15ee0bb2b9c03c36d6236417f087d75eb198..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15436 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 R^Yvg9sG_<;g`8=~{|Cn2lfeK0 diff --git a/docs/img/3444bd33319e0b2d996233cf9e1103c5.png b/docs/img/3444bd33319e0b2d996233cf9e1103c5.png deleted file mode 100644 index b6bfd6d3e94d81f3ebbd3f19b577f223ec662906..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4567 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 Bxaj}@ diff --git a/docs/img/3478cae6da4e529f7c9cf2f4e71dd462.png b/docs/img/3478cae6da4e529f7c9cf2f4e71dd462.png deleted file mode 100644 index 602803119a6c765864114a59fb95d29023f47911..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6212 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 diff --git a/docs/img/35460a8c847cde5f9e477c80231d7f8b.png b/docs/img/35460a8c847cde5f9e477c80231d7f8b.png deleted file mode 100644 index 54b0bd865dd8918bdb03ac476deb83ee743d9570..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6953 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 diff --git a/docs/img/35b66299a79c8b3212bf8fbb00e9c903.png b/docs/img/35b66299a79c8b3212bf8fbb00e9c903.png deleted file mode 100644 index f1bec233632ff00b4c31c4e9170faa6f8f83375e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16215 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 diff --git a/docs/img/35e89eba4dfc37f409cb295b0c8b13d1.png b/docs/img/35e89eba4dfc37f409cb295b0c8b13d1.png deleted file mode 100644 index 80a8f648b670473108d214a41a9a08d9b3f06945..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 209585 zcmYIvcRbtQ7dNdMwTc=wTZ-DXx1dFfQfk&nm7=w3l$x<st(ID~DcTyTRa;tnCu)yK z2@--7AtaJKzQ5;ry`H~5d3|2@oX<J;-gC}7_nvq1V>2V>tGrjKsHm79KDcj5Ma8H~ zMMZN?bNS-U`YrzEi^tu^rd9@IGFeK(W_Ndw>SdRyX>@#$|IgNL%d$OsdU^&1hO1Yv zGBPqUF)=YSGqbR;u(GlO95U`uQBzSpysu~Vc4?RN2(&zxDZ}D7pSJL%5AfLIslLNF zF1WhnWahQQ{x`JL4j_Ah3yKT+Qxrj>BUXO5@rlknXE!oFNf)uWO&@);{l|}!@76B6 zOP&>JDobx;D_EIJm;d`+EUAl!tDWo_5vQV>h4zLxh*La4d_K)nhFNO=ckroW^gc2T zS3~jyEM=Tjkltzl*yDVqJ1+EiA|({ihNa6HC&)2S>fTT;*;A;54&eAG&bJ~B%!^$< z{WGPbl`&H){$pS9d23VH#YZA0GiaND^1NGGxO+T7h~MCb|0y;idEO){yL#sx{mNh{ z^~w41O~9x5AV0U1`31yy!!z&bN59Kk8B4mmyS}?ib-^`ojer`LUEA+4=D_{-S<U2o z=I)VK*7s~WXMJT>Ur~{cd5!uCHywoiH=g8LdcIwlDZ7w))w<*0dKv9U1p^6;-^iu| zY~45uae;~OmpXHO9O?hxh^^K?xs?~1FX4c+f#+`M%VWo{mg!yJ94Z9={Th6szQtjG zZsB&ipSb_|wtRK?c>w+5$iUi<?hqp{s|DZI3**Kj<9KyJ+PW!5)b78@g(bQ8d7?|8 zM@gaUSlUg$8TKSgbkU?(Z;4Z}4gd0gzDNQ~X<>+HJ$z{g+5Y2J--jV_d>9*esB-&{ z#q{o7hiBbKLE)_foXrw*!5DCq33-=K7o@B^Z<r1c`4a?TDF8+hAVCYPAtVb=K_A)2 zoE{IG0(plugag1yvZTfKSA7i^zLOhU`x}=pEdQd1*Da#{MwTwg^<Rh5kq;&)%rPt< z@8R*!2=DG_zWQ8bCOAkG5nld?*@aF$?)*<yqt&oby<Wi*(^lcsqUh^E}okvkhi zB=*HmKuoCwdR^MAt=ny9+l@#!pw>?xs(pr5E{l#z7Zm&p^MLt|{dCxy18&&RaXR}h zbwA`s3=T|Hyxz#)JR)~}(Ik>UB-hw2Ar9RnQdOs_wd?pZhe^j5nLkwD35w`q|9uz$ z6dBHh{?LiS9F-iPI*%7z?{a(?48|~Y`JrLT#b0s@m`fpCrQr`~0}geH=}Y=stHI`C z8N{w2c+x~c0Ym<_5JRag(Od(xFx&d0ypx+&I}G3qe&?9^fEtXYCadhLi;_D?h2psR zq?+J`;$ET+g1_@UTsfK?R^TMw&f(hrVB6~xxiAEC5)%I{U@>UHkA>Awzbs4`2Du;2 z!VkJe>NuE=sp#CSmoW6?)$IN9Y)&a!&rj1NwfK?di4&=BWyVlNvURwGkTYkLy%>G` zTDICcE7QGoLnaI&bn@^kAw{62`j}-26&^IdTHzXT;gChysD*9>u2ou&*xDp$y*t#6 zB2_>}ra?j{)A&G0`(An^D7>031i8I6QD9n(JoP!ACeJnP*Sn*-RSGSb!{RySI&KC` ztsItgJ3OJd2&s(x3CW9!8b)QY()k@=2;?7c0vkcu4##W&xVK>8zZTX-D2EP3pel?K zHiTv9irYU*ucRS(AR=H0+ESyoK_QMyVnhG7o`m4|U}t{z=g50DEGHg2+)=o2onW{t zWW)*IO8T+L)ECvHeL^xI2vI0!kf;$RjdW1hk+~n4#1947+)<nKP8^|whu_933S;zL ze`8i<F;#sZRJfQ$){^SO`E37$sFs}^6(ueM^2-haQyaG;)CE+?ze<%6kyM2Et$R8{ zDq{zD5JHmeaziQpE?kTO@{!hu%KCcDgU8~TjW?w5PMf{=0yIyE6Jou%t=)G^uMwIg zwU;7$&P$!maRmujaDfrmJNPcemx+)Iq+lk@`_NnZADL%-%POVQi!8Q!uI&_o46vhf zzMQ4VZVufH=S>jjWLQX}W|&vd){sY34R|s+(hU|#;u?RYJvJRxtn(SLe&f_U(6N|Y z*WYhEG2j396YyABjsC7uG&$8@jXy`(GpVxrUKHI)LS+!;(2sIJMv#$!^$h&jFOA@B zdk+3RaoVCDGi*pGKL|>U%Rbo~+7}0$t1e!{-7AOo#Y6k5N3Bo|){t%?l^AkV1r1?B z4sw17ZdKb%TF}(+<f#<DHTXBpDb(fA-V}85)fHS(gnj*viWGGTy-KxY-Dmpi`i&s4 zEhA&AA@{F&<niQ353LCYk-~R_OGm;?VHz_;^RdZ?d9Z|xts@OuD8+_Q@2hga?#^4# z;Gj`Nz)a9~mc&7m`l=0*E9kl@K^#-+<OjyO6d^2FwhF{Ooq@+vklN0nm*AnwQ%lR_ zzPoPiZ@RPOC$A5T$9J-Rq%#uMI>9D3F=QdS&bD(;DL6&pAXVgGzHV;yqdRFFNdoL> z3-im<*br45#!ofo&-FC~CF=AIFY0(7^*V~~YQ<S;5nIQTXxU|@t{jmgmB%wV^Y`qx zd<;WBs-<?DGj)VNX0YS`UIDE)5)7{)zDLQzcZ8Z+ctgfMax-_BKY)izGNX(v)YuC_ zr#ayWU+qJiEx!ZGME|fMK2(rc-?QRPMM59kqQ<$%r(BMF0ZweX)Xq_`-AO?tfDD!8 z@(|fLPCj4a9acZ#83`SeheM7sW~k^}QHn$t;A4Bk_?HErn^5W12fIa+LLA13IqE<~ z0WqBypnDc^WK@Yr3>m-Mylge5-uya8^V{wF!cy;6Ocvjt?H;x#G4A)sVW?=eHIzF& zVM7(gf4oi+6cU1RgCubfsTF>*A3&|^(}lPB*u+v`j*Kn8yIP|ljUX)VOU_;<fsh~f zdP7HqqMdt=`O5y#Ni)RWbWF3(|N3j|&Bhw>;0WIgCwz7|a1H#taP*@gIeN;z_V2nP zc|M#zjOWXK<iF_>o)S3)9b2$}&=c3~1xa0Tl1nh{IjeYix|sic+M<D^SbM{=2F9Az z73_5K+m0`htrY)D8>wTXr62;g`G=#llCj;*fo6e$JAfERhYr<S=cijjxUqs{eafMj zmjJQhNL1bEVeRp4tGr2DItRUtmf|EgOm)ol62e>KaK8HW_J3lj0ST0~*Q)NcaG=m2 zae^^Y<D-uc$zP@q(@~11gn!9a!|HZj&!4k+LO8qM=jzLuunvFy({!rge#_wYlq3J! zir~%+!fptMQkR)sk5jPnPX`FJE?|lq5?X-Y9t(GmcXw2|ClYm=hEPHa8)CpAI8ut` zJ)2EZZ<Hc)(bifPtCO}giAGBHw;%4@v#cg}8bz<F`+v86<93bu*`-p3OoUr%@nb^k zwoyMipUht^j3@4LJ-n3cVgp><WF9e7Z5SmA0eV7@0<B6F6N-m*@(PS_gm0NzHreq6 z$+`VeUCRBnb-J}{uKBkM4KI049SEnDn59>*O$QB@`tN_DP5WtHj%cTY_K62Mn?oon zg~yVId9*-8W@JRJ8cgPTtu0jhP}xbkwnR1@i6BmRxk0-#$@LoAMBIUV{j<xDDdhTc z*V9pA$UQgM!R3$?kFO1ILbq>wIybny_cTn{dK%nhZ<;1$$EU3;=ky!IrAtBG`&az) z&{0ooJur4#M8`AI;e#IbsD^aSW*S;>jnZ+N+rZ9w)Vk+%K4&UECv;I*2Wv69RdXjz z1RZL0RQY|j5)ffqXsrZsjys~UW2-@&Z*2T+aJ<So<;XrE{;>v;UIYNic}jrGPtK80 z$hm?A8o1guay=~2CS^V_>GAKp=(pNA`dD1!^GpiOZ_Q`0&?H2ngKLCf=}}SsAO&^| z?!D$$WR<p}fp5G(QjrTxu8~wjlMcy#LgF$Rn}iolDba+|+%5Uujhf~VlDk?BpX#~| zu_N)fseZ8@MJsi`@u{?7Xg2^m{q3wztmuWuHtXITHmIhM41BRu_zq{EHkiH|<h*_g zrPpS)Kqnb|0Lbf7%*n?uxpHP)KP6D($j4EqtzTZfra^<48A=fuO^oJ`4RyRHb(jiL z?H#GYFbi1$-|1lo;q$CSQ2O{;F2iTaS+y$Lk0{f(Bsr%S(E>=k>Q2VTTG04_q$_9c z(tK5W$hT1<M9eel$e}RyTs;{E=0458M7!#f9Uo=+S|vJQ#V#tTO-+RuNsT_utXAxI z(WtUu8gY$(IX}q;ZF}2Qj$mCTlisq;7Trn5eJj{FwqA1Us;1oSDwg$?WwF&ZtC=|7 zF6R~J*t~Cx$sVL2AlMLwQ`!Ccj?uRYft%MOF)9or9~YfLpZD{1#JF3X0ChisJ4P$E zPsrtZ9+KMrNXbup2kWk4EYl2xIeD6pasgs6LbcPcKf~-f%;T^IG9;@RmMp?>o%P#w zkW(}ns$WziVr5@6t+nzxr^lLO{bXC6;uqUCYcNCm=Lw~xbA1Yfoc@v;L~PoAuXW3& zD;P?ptwGYg|Ih`7J?R78-&WT@0#I<E%X^na2av!)LD^qp387j(koWUj)5;yMzPgem zVjYD16gJGS6Xv%mOfX6iOOsHyt<f|0ju77FzcXynDlO-<qkY}19ks&WmAs0{VVo)U zVJsf9Weu5}gm>ZKlh*1!m#~3`qhCI@x|%N`fT5cA(=HH-f7lPxx(s+y#A}_Ea#`^F zrRs-i3#=mbxaQiokVWzS34HnhU4G$5*Ecc+<}~2-mx=*PO>L?NxU*N~_F&|4%ZT|5 z=Ztg4_!ztYeuAD+pS$hEHNHl_L#+cG5>oR-@v~GeQ|?}mTnAKi0H2`2E$no?^KdIi zPME#5r+1YGz)dN@5-9cWH3YC-J)?|HRJtRVDEXjph`!@UQsb|E<Ai-2E``z^7R(-G zA(i>Z!i0a}CG>WB)Be4ucVPXc2--<1Qcq?+!Hm1amx5Zvkz{E)sBrZ^e`qGVmivRV zPR_v$r4+WPv*dd@6$hP#kYS71o}%HSp#5~=g^bYN2|Wu|`$+~S4&7-vNY@$u9}v<N znza%P@ov;{Dn1+0{8cz<5rnh|Jty$Q&DnAd`$E7}OFv(8h&^Be8#L{AR$NhJOBMg8 z1!pQavichM06#F6oNOTGI)=GJ=Fe1g7eO_?rCMbLYhsUO=Q-I@s{PE9q(}u+K??1I zA?|tm6Mla%(v<Yf<@MlGC7)v_HyB3ifGFv_b6;BKVEM<TY>k@<l2C>8O+(9E%zF6Q zAM;XBF7C($aPmgr6>4wFsS~>lpO=c0rP7x7ENIA4oi{fyFZpyOfZwCH{{0;RO2_27 z5&3e}h>n~2y)LXQB{G|e44B5YIXd5jlW%J&fw%sx<l*QduY?$R2Wt#iZ>@`nlEF-{ z5@B8NDpxc)*SKW@k!gFcDu$y~8%h;9>DCk<Y3uhA5QL;j!>aV<jq_2A0p?VZ98sU` zf}YO+tjTy>p-bLhH$`s|O_Phkxd5IU?{^sMdzQuTvj7Z_L#?l;g9sAH-<`L2dxV_l zXSZy;SCa^RVKk+!iBT3^=*${69^69qL;X+#Iq~QyPIj{@aVvK(-QLqt=SNi9k)k?} zQt@HJJq$)k7YM6rAJnz#eSy?4H9C*LD8C8BpM$sJ&i$k7C%zQK)wB-F7qGsqyT1|J z{|Ma+nOV{+tVs!AZ|Qd{yZ8}R^&-_IA#k;L_Y!N;vh7)L1L6~>v>SVRz8YvDb+nXd zTr(#!Jrp?DxtmzhIp|@NCm4SIlh}jqX)sbgvTncgzDd_(bK1Kkeaf6Zt);)LDWT*& z7XL&c<lKoo?EIG!V?WU4=$<`&`5>A5pp`|H_?8;4r5fEM1^$c8o|qg-u6Q?MzkZ5p zh5;ZYR0KGLK^NNXqy1ohx{e7}AP`QQcEx{sS?~rf>MdXwh?49DQ8t0%(e8xpTnZmq zT@l@&q9N|9+FyMiF!Z4}iT(O9twDB}id%FQFsdkuJnxsUOHsHkYNI=j9Hc+?b&03R zb9M@5q^gsBm#mi&Dtz~H(1{*i;DJyiEqdB5PjH%pKe0pN;I_wZ6U#rz@0!HrJK^^; zHAzBjp&E-M8DrDw>;VF3?4@v&7h%GEGL8^rxg3lI*VnHYbLb9nVk=@lk-JV2J#X(< zxt_~<_3@aBjvl<x@G$MX)^hSP!`Wa02@fJ7KR^(TvH3fGOkpKfTrMykLtm^JMfQ~% zRwQmRhpqN8uO@JIrv3d`FoJs(1qE#vO|+hPXjHiP`HE)V)D^1V5GD&(psl~8Q1btV z=%X;(8Eqf@NBU;p(C$%WLa5?&&b9sbfJb}HrLSPqBHYk4{eph^i~r=SV#y<}hAXV# z6dZ>*1Nf>g@H}O4dKdn{TxvQ2b)|`_^y7^aG5>zMv|Bl$;*=u@SF%XE`qj7-r=Lxy zYX18{*4;N!i#YFGV%Af6vb7eK>d#+eT8cPV+OWM=a^|dCoB8bON@7FDU}syB9(S^< zs99P&t&e<af*!tTF1quj_T~KTN`dke5rH-Ou<11Vr9RxP3@YtC@&NJnO>oi#=cfn* zwo}MhawVSYpzX8gw7--xt<&x72~NjOQ~GmP)vV|56_141&#LKR4>3F<8$;7rVn~AD z$knjArwKO?bvRI@y6IA{G2`Ioe&*YX=3y^a&sIa=3T>$unZgUp*PV28d6lsgQ-ImZ zB(_h;QYK$tXWJ%xkZ_Hy2C|-o#C&D__)v(&uv?BlZj$i}XXO<vQz<fza<)rF_))9Z znIFUE#9z>q0Umok;x5h<M$;J+32@$Q^$O!dQEA(hR#1^-Im#UGpPJC3g+Po6dbS7Z zA6YzTix_Z0_eP;K@3{y}OaRg+i!(!N4c;<?!)A|kr#IP2yf`~if9Ygcm;}2rdOr;G zZaNyPJRwUR)c&fgZN$R(VzUY)iCj^<F(S-sFrmIaHx#50CO~2SR@J!dw%|B~gh(_6 zZ1x_Fda?h-zT?H!+~Hg^&ejuW(!w-VH%Kv^p2N51Ku*6&Z351aB}hqe0sR^I#QM|Y zfI81_KN>i3<UchSZXP9?;5IG*HelUE>!A?W^}5f+ai^=TL>+98nL>z#FE4Ue|CT%P zda8>1Rj1XJ25iKd4=`H+BzY7+$~^%0w<hQ9pDVlWf$8jZtFC_3LvUJaQa4M>P!;`r zjhA-fhs?>c{HhRCLf`T45+sLSl%^LdS+Ks9b)1jGGgwPew>cHu=tI8EWhMfUBkF3L zV4Ceoxt{sW?zHrn2bE)&S>6u{n*W90Jc@;giFVKn63vD~LfwI`hG)?P<6fj#dPLD< zC3LOb27UV3?XnI`BQ5;lIQ(t@2lx=?>?_pJWFSf?V+nKWmla^!xuzvUXg$4hc2k{m z@rk#YlJ|U`7=!rFB_Jo<-sY8TdOgLVI0;U<12uVX2??6z14tsHj{K+1g<|X;E7qZ` z`!^#m{h{RGeOa*<)<4?%OKVoW+C6m)FQ*Ez|D&{q8@$-^uYIQr%->j!%;*7Qx1vV# zXc}y}jdIlfh_^;)blgbT$NXSmg(d3&7nz<DBAu?IAP`kpu{_$G3Rd!r#gdvp$WMkD zWPOW-x!Nwj119%30HiMmDI=6LxQ811*L)Z%+SOL~DgaUiDy!#SG+PXMbW^3BOSmUW zXgdp@-`hrX29c^qn8Ej{`lZO*w>Wd1N*^s&o{u*WKEyVeOEJt2ykRQ!F%r3z{@`Hl zC2Wxno~xhTw`Qn}#>KCK3`}FvzJ97zOx_*5F~y+85ocENtNyxG{WQbj^Aaz^#;XET zlLPjcwD<x4RRP=2g_(TWYL<-~t9P2+?{*%R=_sN@h!dfoej!)8mhMNVXD7H5B&5(z ztPi!hWnRM4b#p0Mm*ADR-<eydSt`@Ph3Z;g;<Y1yo4y054YnV-@7G{(#M)f*=qQby zn&O_GbPCQ{MEuZd6(qQ7OGUaBh`1laRw@t|b*&Vjr5H_Cwm@U-MQ;_$g>z<cteg4u zU(%&Oe9J!BeZjbuu1Y`PceO=reNpPbCo$-rK-}gH-C%(3vokD(_m2Qz_G(c2`a32K zG0<%fyG3G&l)w$Q;mBJsi0O60kZOV%__pa%vAW6O_6%KG0x$jnf5&XW`njDuY^sH= zZ{I3TP;{#v>(~<gFNc0GQk5%u)f<`iMGqyNX=M|VXQu2?nT~{Pj#T&gpuT>07T%a? zQ#zuTO53`qIZaZ0DT>Eo4^9f&9lCbWHS{=Q(?x{P?*dp4cw758XCzr{*fnVPWcRK| zCpq40JM&i!i-Y#ov4!v5@opvx`U6pb^z<8yap~Dz9!@BLK+~sVjUSZDR6+7U>AUE- z?81n5S&6{@i%HVt8(RAZX==-Cc;98qJ(S0k(VD^(Ht1xCUH?iImXiBTjK}SYy5;E_ zBudf@4KjPkPZ`!hgZk|74dXtdwAx=_Wd0MytG66KOT5n`2l_8|hX%s*vuE48cAv<+ zziY>T>+Q(#?Fg8AF8)}7kvmxpQnI-F{3?!BphK-gSN1p**R&QXf31r9Op@9&*uP&Y zc_Mze^<ci^>kRfJxC;UOuHCP`Vib3n#83%0PMSECeF+0sE3b<A4L!@>t&n>ZFHppT z!>u$wdFglJnyI!bsyh6&ZrH7(aX;TmSS>R!e0V=&swuJDSL~AZpyX#kC%CKaEHGU* z<y+L{<w#bzs)jC4+232E_U)N>3H;Dqj^&JOWurp#<AigkcxVmfA@>obh9)#wk3x9E zM40!Wh3)WnIgGAH<E4^BFHQ+bZS=5;0=wN8hkt8x!5F5}n)fj0+v%1#l52XySXMmc zm?H^?f{fozCo9DTzSsP;aN=me3@%TCJ}fcm?gJQklYK62mt;=)9zV4u2=2(Pd~wTA z=@gWOr*ohWKebxSsa5G^s9y=Q5(*O6LHllfWkdCPWs7z|DuaO|bR=1u^X~M3bDa}M zI8zA5C2)bYA|>)^NBSdMmT%9Oz)G9mkV*Bpk-3lujq=WS76CWwIO6szn%PYXGN-Cc zm<U04r1B<C(t1)A*-&J^5P8vv<upuZ{d=A3MrNNcPQs!b*?T+duRf}MLdA8JV>!}j zzrYCf^;5gKX#B|gsKg^%S8F*(v%bM=08STs6rJLr^EfqunwfBKqLk9}RgXdn-O>xc zsy%llsQauG$z%bb^TetAZoTtu#5I_HMLqfiVM2Ou@(sVh%;yTD@OskM;Kc8au0EHj zI60S?U}Nzof5Y4z`dV;#x^tt+!GKo#{wH$y7g$hLi8$iL6v))5=5{}H=c9yv<kHJV z|J1K~eg<(l?3~YF$Zuan(;`)+nq+DNt~XMSblmxmw<)(qIvUoADxunziRiMvxLB0b z`5Z|mJ1o_=(&=hS+DwGdM?i~gsFQMNEpAL<NcCV-ttl_ia^39W%Q+9Gdla<sO%>Y3 zJ2P7g6TCIc?Mj^OC<R>4D+z6{o<KL_GI$6y64{$v4_?jdFLl+na)*65+e@A@jguAZ z?5vf+)@Q1VyoA{%&Y{;&ACKQqq$QQP!{}lHe=KUNawpxyB~-&i;!}^GYimkv8y%$F zr9<zSNUj9<aT*fSE@rM_iKzB2t9+RWzz`R8Bz6Rs)`MCKWv00bheUpvDtM&YStZ~> zp5RgCHL)shlb1gRQY5~^h|5zGcTVz}H)5VjF@(Q}!HC9O-m)fqP-b}sYwayX1_Kkh zx2sP}5s8Z8H4B?z!IIg=L(^8zS|=xjMgB!DR42MjgFA6v(?$CxMg@|7?O>TYbx&j# z@TK=KQKDT<=L_J4PlaEK+PbuR`)(S8$+Q`~>R537RaTRmoO>IuVGU+&`p|hN%n0SV zuPiC`R80jinYs|U=~hy67uhxRvJ>0^ozMJzyh4vi=UFHbi?-Yy(?5&u6cgg^&8%-? zB?#NHxziS1Eo61Z4i}>#woC-9I)36ZPF&H1``()l5!u%y3BNUayS?Wp!(iXfuL~Fd zG*pa&#%_EN(S?{$`9#{o`NB0G#P;?l($b)PY(pIGB<mIYi3rdT#gCR&poBTlpl=Qb z1JDuZB6+2n5huj`qdInFK~d%U)rqMA|E92`K!)8C?eJP}{q0JP0;k0a18Ux<dCpro zw%_$o(Vj10)fRuy_B=ryZ@gbc)|OS>{p1K$K5?EOc?z|A^jq$iYsn?lxp8>7$A*cz z4M{;VV>k8rn>T!g4F&VTw)v#*dKo4LiFViRx&$u@LJAYn*BNGsCw)8B>tw}ZYC^cg zrFXu~Pp3lf?SEY_Q9OBLQwF|$PJAPQlHKM50r>m33dyHdVhmW_Pb4dObf1&);Xf+o zq6aMPf(NCWcauE0aFmisPt{59mlmd6+(u+U;+nK2Z9+rVnon?yDR#xFsBiI1x5Y8C zc|;`4Ay6^fu8zH$VW3Yw_pv!g92uv#zBNQB(9kdn>~iW=BTE_c0m#I7vR_-CnqkQa zY<B8rZ|TsDBhB@{*CxYxFI84GB<Puggk+76L+Amut}AF}QQGb^+*;KgVLR-++*}=+ zZ5Jf#JX{(0qAoKPorbA>>3Xc(Qn#<lIJ_(uJdXBQpDl;`?5>Con?BYk%Kn1f{LrNi zO4<DMpj5L&0x)(`FWVjt{_&HzGso0TePmZ+*Fq!8>&Ow8-o)kP)4VO&7m1B<Q@5%( zx8Y85UZrGAmmYDfhSSQp2n0qOwmx0#O>zu49oJ}Z438E($kb5$yD}U8q?hGYgdi$V z@taxY>D-e)8;c$69z&s(D|9X}iGx}tk@JD2FiksH$Dxv*+QzSu@9W<jwmbn8?TmNR z{VvBCaG@#x&zK%f$%vCVB`(bJe9DW}V2$>vLKHo$!RjvENp2}QXmsH=ZPDPOzU{y& zH|E$^wi^2Li8!m#y=ArFH(d^ZlE__;bZa+b*GuR_QNf|f7L^(|w}SUPKE7|_1Mzkf zdTA-SG8S<<zfOs<h989wRQN<-k&!Gnx^K>PTIHNwG4Av$lk5RQz9FRpNPW&dttBfj z-_|~VGK#NmlyJ-*Za>Fhh2FDjP-Dcg>krINOYp^d;#9@$YV|JeGV`HA{avcs<Pzu@ z^q?fErak5IYRd|zLa`_#ZR*drfL!*m2}ouB_d=)Z_wLR|Ln|IF#!b}&-t~WspDa1g zn~lpx2sMI4_SdVUwny8mN|4(CNa&HFq?P_@HL!xF`(~2H2UW+biX8LfUadusfcP6J zwh4M6SS{TlfGw7@)YkgvvQ|kQSW7aJp$*$9%1{QrR7(`u<CYS&g+3xa+DjDhP^Ldp z^{7%fD;N^P9(stG6LxNd)1(+>yfL0Wo<>MX^LXjN=W}s7vK??$h~IWtWz9}&dPbCQ zkzfnHGOie0be~uPur{Q)4tl1cX|f0bi7Vb)s3+SIu3v1NzK?L+4OVknkZ}r-g=`u; zp98_W_*U;Mk6f}V#$&tJcL7hIpOLn6fgma6Rf|-z^^(yId7;jZrqtNTe?E|*mB?=n z?_vk{*Gb1w*~_$5CGa;p3wHgD+vde)#s^(N@&Z3KEApGRd`<osXz5~|*yyf}G+;YK z#OS{~ij<iZ;pH~RENH$HBwlfGtrbmMGDdoDR)B?KFnf`f9rur7$1bldF31JD4yd}K zyksKMMtkYJUmDiJRZBVrJc^!2lF;nc4fN9B=wrmp=07r+4#vo>x6LaSe0_)eQFBV* zfknfq6&L08X%MTR9GWdqHy}oeY(i*t-0WWTCSI8c+}#@AM^Omd9-^>|>ni*aLAX>h ztxuZ)dFXYbR{`J6T<3Wp`$4mH;axyKI${d>yl8$mTrpU%8s(eqpXlF2+Ry#+tw-ZY z*(CFoMdW!vE1<W3Bc1iz3H`+h)~vSW;JAR!M6(a*aL2=_&3%2Z#}yy?OwdW>A@**p zcm}C=sQ*$WByx2b$W&@%WS!Ha=L*K6+8#4$*iaW;+`3x3Y6t!Ks`rd$HN`Es_WGvt zq)>y<ni@ob59KI-BW`u&T#QB|F+f-Hpe?$%{;;04qO<35aYr#KHJ#j|_eBrO;|a9h zOFiDtFscV|jYEoR%Dz=G8JT|=bX7d-E_fH>{{-0;9m1s+wsBiYR^nELb6m7}1$Grk z2~+zt5(}{ve;X9RzwaL4A)pldd(bt~{XqO*Fc2lq;ZD;520ut27meP)uAcNz<5XQ> zM!S#U3K7SX)ZM1nh@x#Z-EGIBCu)!`;7tt41)^?+%JP4R_>hLBq&#W4`XU*LP=)>a zu26QI81kwK(`i5-e8~tx!;SP`^xf6Q9g_olUVq0`4>SOE+S`i%A`eh}Qv#hDFJ2u? z2yypk?GRVxmY#7j{wQj2J^MHF#KD!c&2uobH|c<6v-fd4y-%6N)}#!(`*^?7t^jM_ z;skz;EJLuDQc!aAFl1qS+F>NWzm7-Lag!Ug#s2)2?<mqALPcHt>3FhtN)EL2>+anA z0P4rTq({ZYL~*md`je8sqNzs@oBj3HzrOSKJBn|KnwFyvGn3lybaiV=99dNsdHS^{ zp*oiTv3cDwob<=wjluMM=8WC+m!0kaZmuKRzebVKB$DZ`%~ctJhAEEr0TbP^TLXcf zozQxZ8oQW9J|)6-?;>|_j9BX3GC0H!DRl$4FtO!Dd||E!2v;3+4a6faCGbY}C9GD7 zPU+tbCTsM7%j~=;C|qdm-KRQYM911gQ2DiP!u*7HT2WK}TV<706Q1v8>3fz5{*lkZ zE?Oc`Tj^uMCWr~#W(V^O+It#l%Ei;YIomWBwdOFV88}NH6t(Lv4jaI|N_|++-GbC= zr2hV4w*<5%vU_GX@#v&UF#;&?o48d)*})$Vp+31gmrT(~TYGncbwrPhdsTX@)~Uk7 zAb0tIW0tN?fq=<RDN$>UbUjl;rkaZX0LINjXD|E!1$jR=DJuNzx<*n%w<_=R7ZAS7 zZU>64sa2C0BvN(pP3EtGPLa@YX6<3>3htdwSH&FbEQ~*SxXV8+#Ns$R2tE&-?kNx& z74e&~U~`YSpX&oSfFTsCSLE75camotz^eO!(b4ZS_H;bdJ}=%iL_SCU;ZqQ7SNQ(y z%lYEnlNxb`j2EJ*Lp-*K3AtsWacna_z`rLlh~~#DoCcv>Y1&a>RQh06u%W^z>z7OK z7UgIR8pNYxO|L2(Q~xmT$_a86x3lpzn8M>fUBs7LJx9pTZ^pl**M<$fcRWdP@jagR zD溌HtOcU!~Vw@OZdF1h<Xr%46`@bYY*~9d+vyHYn9gg_H_C-&e7oUg167Z~N zAog_8%>YivB3@n7tn6{)={r6j<d_%(1_Ni)r|CTF&rodv>>CH<_^3^8i4iKuAKG`8 zG=pd44wX9#$#=b3&OxhP$?f_kIq^{k3E%qVgHx_Yc01`8`B&}W8S{mZ>sK~2nJWOs zt{#ZChI+aiD0d$2sxTT^q9p&nVRY{9M-g6M57d)!{qLs03deiWoUl}?W>@QS1%ml+ zwa$(_Mi=Gv^Vxljmrp>U`kkS(h)AFO8<C&?s3EBkGXn?nG-&?@LJcPUi`6l_7x%1{ z=Eu|T-oT!Yk%9G%UOUauFz+kMf@fVpvP12%`FTGnWpBL!GMJHBCW$*0E<r!dXb$~- zAN;l)YY2I)YV*{OwXQC=ZW?)hTP=7DD9CzB@)vRfpwJ?w12$#VvV7sY=e6)mNo{~$ z2AOaJDgf_lbg4aQE$Qqas4F{KhILtl1PAc{w^QMkW&2w6K84CIeB7}QIte26D0E^2 z5b$szj-woySG|`p-h&Uc)I18u9eJTv`C7O5+W^Mg9_8iBSVH+iq%09bx|VVhW~5D= zgnG}<z3VTH%zgv{y>J7KSO0+JjLa&Y%x=uvm2eV6dkE;m#~lf=1^%>YWBXlE_0kzl zRhCp!u7KR`a8RVuocs2aj+yJc%xLLs%I8NP)0;A87l`UBqIAs8R5mYUK_kSRRCN<J zCszOni{f@YzTXx{xM-Gpu+9U|ZRzlowy+VIVNW}14c8J2kaj|yq`ygj^Jscuek)F7 zIu%*|qP75(nO-16c=4!-Kl*MkqjJ5*L-@p~p1Z;-{XBaL+s(ke76Rc^AxphM5M_;E zWVgt;2AF$gGcRzkb&R*VlumMd5~AOxs)vX7;yXe(SV@gyQ*s0Psd?%Onhm(4k(!RN zejvVQ6_geR+HSoj*7>ifH%?m?G+#hV^0|QJeE8mn9=&U(|8}HOL@yE9mN5<LDgGn0 z+Oo8d@|@a$ryum3DiB%zAK!kV1y^Wlrl!1A;&3O3>{W#UUg*dIx}tF=Syv)`zI{C# zvxD*rp5@4lGoHyUx7~$mhVyChjAvI=-WV1UYL5!N+6?S^Uq6{p)LDw|41H)0Dtvsd zywBG;Dy-Uhg4rrw483h)-8(C%wBSiadgL8!GdCAfA3kVjd-?4HzRvGcM_pIzfo-}0 zpM4NA<1RPPrQbdv5CY!ffabt=DmKpb4K-4>#KkWVi92OE1yagkT%qcdfyG?c{CB&$ znFZpIYz_kpwy}R|3%v@9IEg#D$o9)^6!bRwQf#`|WBiUY{`@*Z03w29A`LA%0BpEd zkmZs}ik{MidO4XIU4F}o?;%T(M)g1bMN>QQdPt~N7@?wk2UPK%7d@M|{oA&)chamR zmO8v~aHd5`#wEM#o-`xnjH%g?QcQQr^p75guRwH8Alnc@Kh!b!UMl`ZckkQUQ~%&i zz=_Fg1$}#WIvdnt%kQ?J?&r$zlm|f@qN!sxn<4{ifiClk<p*sDpDxs|$${Dgse~wJ zNK>llTiF`K`l`Tye}i!2&h+fWrz6N{qzO~s0Xp2>ZZMRu=z!Y8yl(-_i-!m?Zur@| z7e!_bRt|(8jLS|S<YpwouCB`MuQ6c;?Q^Gl^y9BQnq$bV$ja`s<Fj!LCo~j0-zf4c ztGcMb%hJs%+Zj{Xo<Qn??lBqxqDcLxE9575iLWb9NU_F{e^v97byt>wq(6h9-XmR= zzw7|ja}T9#hnO;qKuZq83(j-J<g0jrGPPqRV}!uNn>?NN&iDMp2fzE9U$ksqK^w31 zjWjoa(X0H;Lk9l-j;A_!MbQPRLB<T3N%g;P4%Onu2nqr<w|@z$%xUTfs*^&T<D5;& z_J!S_75Ag+!E-(`gwQ7kQzd`XO)p!$Rw0nkUhJBa(_CHG)hAo$Fl9mA#$g%d+B{lY zPdbZ7WzEvlUvJ)BU#tep;kGQCjw~74c<{M*dPa}HK_z4BhTq{rohxWe{`%P)uhtJ| zm0jOsc3ZzcxsfYYD9NIU61j$aQj?C<|GpGUDF?4u7Rl`id3EjNGJ%@fn=~RCAyBn0 zwV2s^&nWtdiSztnAyfo)|3X^^oQXX>vd~iYpugh@rtL#pPbpFE^=UimOK|`naWlUn zs{ORA#{4I;;nL%vr>jpa)q<@_ZrT!y^Y54CW!tTK59d3;z`WD&w<o7|QG2~ygNxkX z%64tp&<(G6Y@t2lTYQ5ZH-^p~6e*3VzWXlfm;KwtuzBHM-cJ>LT$?g?ooGX%88yOk zuO_{JzyqgwcASRgUR&Vy6q!p8)U8*(0aC!tW+F{{_B^hW->$hBC=4ao4@T*|$pa~E z)$C{Fy>#bZJ~r#b|1v`(8*=YXB5Tj{J^JyLV29Qj;ThmT&%yAlb9S?K2mbZTj=60| z>&sNnn3&xmW`EUq$B_b46~N{a;16V$yZGPG8pd5}7?g>x>7R**r?WywIy|E4&*PaU zV$@5q1|XG8iMwjakYnK;Oy~Zce%$KQs385wm$B~lCqkOGtlD!!k^Lh*qS8XSS#pD; z=~n`;bh8TKwmwIdQQJp4U)=TkQ;Fz69fmRYrsO`7+h_d>CH~E#PUPMIA?S>qjQrha z<vp)lwFIXZJ2n;d_<-_`q+ZLql?AvFbdXoT@y+7G>|B?t%g$AYD1BG0;Nw|21VHdW zW?b%M-?gBE^Ly(4({TSGV!iM24DouD?W=}prPupB6I%<=E592)OWJiA%2-4wIx4I< zr3MF+ygMpGWBm`ZLriQ9|K<yz9wyI<PFnKz|FOD1o8ykVt1veoBv>^RzT-xb#81>~ z4z^EPLnEXg%cfrWHBDTwWyTC9)&ms>U-bs(D8zf1R+Ex1*EZg>{cv|uFR1La4mkKn z!{BT2D4!;3WnVz*O+ymt(j3k%+;RRr#$-~Zv&WZbL4Z2`mF-aFs~!=BUG2F<*Id;i z;n3_SVcudO!`UHGyW)`OVnFNAoIT^)B{@?<I-}f`Nhc)JDY0Jc2zj1Iu(hGnKR%i^ zM$8(|0nt6K?vDzL8bg|aCuJFm_h6|$(D?2X1d7u7t3Ic`xF-L5l!cfeX$H|&SZz(D z8QeVT=)5VE;Y5=$w6u0?J^3Wt`zh%wuVqHdRu#L^aqTLB<%E$vWYg|5w|&|W!D>8B z_znHYf<RFY9|}b^Z&33cw~taZFu5W;nWY*W*@~WSs7pP{RS8ZZHh-m_jVctm<1!2v z(o8hm8LYor_ZiAc5#7gZ9W=wcS<nqN%MS%Z6$kSjwS&`iK?0%04TBAmHV09E{KbBB zD83Q6zAZB25g*}9v_+9pC%I6vEs{EFf+lu>Yy)Hb?SE#q`-WpkO=jUp|H{+0UX7EK zc^=w(q(*32LCEpGm*TkT5ua3LIq;9(IsR)2-D=uc*q_~rx{!W|WJ(O$OTasb8N}^D zyTzJ*Br*M`{e_sQ^-)?kHb32O47kzLAO>`urHOJ+-_MARQ2zZF3TmO=Zg?KV85SJz zv%Hg{`PRD#x=k5v+?R7De&>INLm6KO69&ej0OE5{_lljG7tm^AW#I3|b4-m<4qs{d zP^jL#jC)wB&BHdOdngYl!(A)+0{x<q_HKyuE-EuiYPdMESFdb4W3uo}>FWHSHw|un zj$PGUcL$BBzE_`goW1mmDpH<=>ba`QjR3>?1`TWnd;c(Yvkj_afF10oiimmmvU(X- z(%mNEby{#{k@gG6o2obOr^6%ljj&sBMxQL;J`T>E(2TdrOMO;V+FSEykH}zT2xK!1 z)v%2JA$py+vm(&pO|}i>wWX8BVj5iEp~zls&JMs}P8f=x^REia=s}LX+lb1Up{ilB z))==l_mo|a0C3;WncOjIK5!)j7MaY3-wOY2F)dK0H@m^hQ^nPEDSQ~02hum}U%YWX z-_9eFSk0fNzbm6M#c3=3kL(+xX;b^Wb~C$yaOvD&|6a$kT)c(s1bZ8F;&~Er;6!G~ zte90EL3Vk%0{!jtv%AM($BXdjILS|wu$kgv%NzLxeAF#V>)pI0r<%9>{WJPX;HDbj zVX8G4R%yxh%%sWl&_9aVW)^ast$s}wx0i)dLSJxD{v)wWqWfTm|FKpEv-tl%v1PjC zbb!s`S=E_ckFB5vfk(PGwBc9d>E)V@#(1sy!G;!S4#QF1PGg_@0xNOi?zjyfm&&n6 zkKX}I2*iPnjKh-d&^WqnKho6L+1$n$MUzf<5NjI>ZRWeGryu78f?WvtluEj<)c@{X z<05y(CH~{)J%DdOW~6+PcwTWKP_^HN@5whGI-;Bw`6*V%B7A81RLu1ase4ZIwdN8& z>RX?OQ-OAk-i#Uag6m>nipT$+ILZiQIhLU*24GJWL8EO>fR?F2?zB#X0kRZ6aVgH1 zpAa+lJbRDgM$vbL{U?QVYo!SM+VU0CGomG-3`+eD<OGWVq8aIOHPjbGo`@R>t0Y0B zn6$hnc~mZpgbnST?X9_^x()`Ey}g&F*E%(r+XVLmaM_)G03#vBm30(t^SaPA>)|d+ ziPd{wrVE}=@hMNH5TT}L%Zd`7^X$!r^`~W!{y`$|e=HwyR@hq2nujc_mPuW^jaq;_ zl#PTm{|A=8Sem!AOav$c07#PSba2c0XO5REiuj*UHMH~_seoj1T3BsPNtI0xO1}1V zEs)Pgi;kAmf_Q_Ccw6;u)9KD4y!XIJUvaLj1keYKNQV7KOwx*^6*#Tw!JGxCqnV>} z-X-h=eqSHHQ#7T?F&Xrgd>`PzZgMe-k#+)j-~>gBP9{mibpZW`<h1c32`|{0pjj(L z8X&>Pz^8lRy5cj~np6*_%(LZ^>#g?p054{9s)om9Ytnw#BUpCgWRDU-u_cbqPcHxG zjVu#^5rT2ldP(cLb~HB#Y&iByv|DWdZS$%3wsrhwOT##y4y7btFKO_CT7_)C>q%J0 zhN<Y}2Cz)lKPMC_N1V+;7NP4a^xx;*Kms@FCQ%<&3X!WN-rSt##~x9YGyn6CkM<Gp z#Hsq+%9ira-m4&rvg%}Ux~4rvstlNuuzKp)7r+u~HQ88;9wC1^y1;f9h6(=9Fm^Gk z2cFjyNa~&kL_9pKznI1a77M-gOw`5M{btzx0?5sGWGhfWeU|tC)>JDl@g+&_w4NKF zJN)Cm!rI9VuarnO5MuHcTba;GR{6~JD^!mp-bO#S)$E`kblo`Ltx2rTT`l~dbKev_ z+j}X(jvvKilNa2XgxV7kLSlE6PcrQRlqVKTueyF;D{_*&xCTJ7y<%$UxP8Af>UnGX z*X{r9w=54>unffj@dl=Ld*jwWRNWdrDcRKPg%}5jwhwd2Zh2g)|7LA+044vCL`NAI zqt-TJd;6_qeDBx)#E+;vEpHRbu^kLFze)ifJ_)PjRVwDJsQqgB$Z&>NJ2xL8??igA z-;26dHV{H@44v)}_)H5o<b&Q{A6}QbQ5CfsQdE2M>Ak=4_jG)j5tl`211HW(9y7mm z`Sx7@cUWIgeEIPCHGOkN&U?yb8i${JpXj8i{HMUYM31hr=VEbCH>tI5Cy19c{lvzw z`}4h^{XzaV`{8T&r@*woO|GzfQACYCUmWcOi2-gC?@RTcC|{{Ma6Ic^6-un9qi><F zq>sI@9Fe4l>b5_%KS@eZ>oXrJo%VYFx6p0t3f8dpNiwC%fo7g{Z5uwv0Hggc(q}|j zNP~$~guV(0#;uIYG#Z-Wyd0vJtk-|A2wB&>cVxKv_NIa7!Rr;HvQStG`)^8hu)_`9 z`HI>FnU4?j*RDKglW%O$Pw31^e5B5;^3U&pM8Wo-*#6RtTS{4<3JX&1bqs3I3S`n2 zZ3o1=P~^zATlB~-sYUgjZ}2Um68hxI%Zqrw0@Lehke1NPpwx3W+AHiff>L5`0bcna zlJ!vUI?f<e8jtdM<6k}ar{_WYC_&$rz6f-CV=|}5G0wFz$9(JOIP2>`|BFPe2rG3l zlmjIIkm1nbQszwiSKUHQKLL4qS#4^~`vsyOGk!xp;upPx1&bd>7mVF@sXNpvTE4A= z-dev%`5vWueX2S4PHVB+QgJ!SdY0Tn74s)UuV6cE&kkt4Y!W<Rg--kl_p{Iw1Vt16 zv({j0nEG&aVCTYWhUdj>P7QLn!bAt{gBGBt^?Y$$5!^1heHR)?j{L_Ey;|4~Vvbh6 zHov02=GS92r5Ex~)dF)$>0<mCMJ)<Wv)U&J0et^uKaby~$!<2l@<~CwlbmVRO~-aE z?TEpp9+5bfe~Jf2vUMdhkO@m9^JvDVPQ$@w+26*;o|D%<n-mv~mj+xLx&???7OwOX zF#BH^voJl?&AFy2M5r&&lR?bAelZm!)bbNst>?uHS{se~nR!5aJ;2$whSp<!{G<Km zRzO@4bn@nh?T7N7p~#u4RjU6|wN{+$zluV<e4FrGhQ7AF$cmb$%X-D!e~#r`&BjZv z-mp?{WxV8N&cf93DXb<bPC=>QpQB^2qZote8jVuOo<5Oo_2*^8f2H*z<9!y@t**Cg z$A*J}ft)NiM`MLLe_~PVze>O0P`_*{`oiX-hb?~E&{!FFk1QzsJ}<o$VpYwklVyE< zXLCR(tWzmrWMuw-bWo4p(tBrrzB{eyIW{o9_$KO>_|x`$xFr%G6!ect<4znGGI_Ev zzgG_ikxHJeb@r$e+c5oNfx3BDRzH?Mu9d*r@#uH*lmBIaz-KV_Zs6&L$m@g{JwA&n zsx0peJBQOKrVi7L5pxyhrPwSx@RbF2e5}FuR|du|qh^urY}&N)vY9m@YYIYVbgN={ zt3I;n|MO4-)34xgs^<6+=El{Oxb<5;{siztg)9;Y>n%;#@Jb3u?C&lQ-pHD`d*sjb z7&W2s(DSfmuJcFB45`l-^G*5F6R-cR-a6CM_l?OjyeIUI46vuxN{%WqB5w8P?^+H* z>TbK8+bemlkv{Ma*f8gN=$MS@+mzSlX!Lo@NLVp<i~~B3ri4NZend6?zp|+TL^Qp- zwwQTvv;Kj@*S}gJU-U*_{MlP;Nx*&{V2dSv(R2G;zJI6Bt!T{6uS5l_ctgKaI-S~y zzvrnz4Hu<t8K#i)nf1T@KpkgzrvDo)-^Tvs=pA7<;=`fHyoxKVw$<1C2%EL<FPHeY zJ&;!5eYRPYJN({v;~>aoH1FS?59Gg|F_W#g)kg|LJ}f3}B~w+`0oGNvH@q$Uc>k-M z9CV&nPwKLz1>W4rgWUQOT}l<Dl&|Zma!cg#ui(W$3)nlxQ?aaJol#7>A)&P%_(-kb zvQj~xzZu@tCtPuofytYdFJ;2h`4ZIiKb6Ugcifj|GwzW#^x6XK{wye*=-EHHauMd$ zGX8B0znF~VuAV#bT3K}X)gg$n0aZ)v>fA{`GoGitbI|>U+bv661z$qHh!?~KQJL+< z-1;SWpW)&56So|tufp0XpY?Kn{T2@UKq!sTE8qdob08=xYYB|1|Emc}dNsWtpV?4< zo}F;e4WG!d)LXBV%B-7<dEFkbLhO_OWDGsL)3DRQCptYuP4I2S%yq(BE~B^8edZ4= zXa!<h_RP|*<_~9wUoQEnz{lLh$lL7_6P$$UqhcRwq?H*!e(5FRAu?6od(|*U{);S* zqkhVvZ=hY=(_I7K|GvBztok&ROAJ=LkM6L&)%H}EHS|NYx!XX{drRejFLj}x-m)bV z`<QtDE>jUUn?KfRM-G;La}(iw1)wQw51L%#KWkPNq2d+{<dioq@KFus?)h|0lHvE2 zr~r#}CT4GyTxxTwfaf2VaWZ~263Y{}l%oH`Y_k4#LV7Ke{{8(0&upCEGlg}$Sv_7r zeKv9Z>X`7rhTih(NvXmmhT2<0m*R9BGUTSyCUh<<3D{AGbvRvCdNf9@YtD4utkoHn zZ-aL7B<sHNUFdmFVX~aM!hHO3;F%G7kGz@dGKjy{aKM^<5G4?tbh^8|uYe)Sb>yzQ zF)Z&JnsNCr&ccrcH4?9kWs?cZhx(3nQU3$9GdG%VHGiVBycW&U=W>T5nypl1^1jWZ zq?p<jmTR?Uy>zHLN1#YR{1xV~@Xw(~KJ(ovt!5p*k<L_M%4Q*9(ZxK0A@8ZQ%bW>o zo7*wJP3_DKwcb6s3$q`Z1}K;(r985+_{I5^sSk6k)ZqicN4m9SzFyjI7J*9)2!s`6 zKvUXs2co)VJbp*WH@xTlL$}K_h}aL_Vf%JmDD%IFVu+i2dDrG|UX=Mo_kFT?`L!a9 zj97HK?GAkT)Gi+&9ntxKQ#j{cP2BJK0WKHT;g27F=qK-Q+LyfhrzA{c6pvxl9a<KX z7mqgkbIN=PN7MY0wP?n|+5HC@p0Afes~rUX8vY_U{jVeJk4{ddVdePs^yU5Ms{UwO zgHMwgSwV^q#GAGJMyB)AqVj?t^8``RI&rP$B-?-exaJqqi8j-b`}rU6zW~Y;zakmO z-ZOpX5Ux)+6U91SFB|J-S1mIZcl~5Qdq4J)P6o`lQroz;V@ybxw&V?_b2!ZwPWT}+ z$g(p>G|x|#)b;DcXqLe)$Z^Hh;qy(o5=G9&7OgK~409rlj3c(3zh?h^Fg)_O(%}G3 za#2j@E(bK3vi~2NzB-@@?|XaHMt3(zcT2-)>5%U3E=dQYLn-MPN=bKjH$$XBN?=Gx zONhRF{Jy`x_s4ec?m724&wb8wNO6Mo9Zbcrmop}s1Q33265kR3IyMVsua-i+Wca#! zU)P?z%KG5(FaER&!HH9l21!0OYE}#yULu%1P=knLvWLT+5A`cJ;$_6j1kWsP8NO>q zc57Dxm(RK~mqfvzzI;dr(K#tGDMWgLH3<{OE_Ykg0j~d)5Z91lM%`$b&)zI@+LRu@ z3^R|OTn*?ds<>M1l#iD$Ijzq3qdQ7Zxu;_cn#C5^yH}~&C$xR|w7%e;rJ2M*)^UIU z)E5Qi856U!v$>e}Ji~ZnKBobDLt1hQKZE?M5~}i7gKT+)KYFSeNXwLb>tmRx0hlXE zbaCQ>WXh6w3b5pUDsPb^nzrrTINu;3T;}`LI1b<%b&r*Rz_7yGD7Sz~9*v|-FqZ@~ zc~|UMS~mw}Bqf~I<3+@Q^@95^!kmnB6=5g;Jg46Q!Tfnc&7pyv@q}Z|wOyOND%3|x z8&*E!>KTvrMl^3)_Ub#=V~4<3lH}rI;osb&ot7u6{@orT*p$_sqp-G%;E*m&%R4gj z$d>h%4Njd~#34SYd4$K6mpxs_ZdAi%h(=ZY`2DyVhB+&wcScSSaLxWr^*uT<r)*!G zirQ$))hqg+X*zExv8xrLW70fZpGe<}cG&%~?vm0l3hP<#+SW<7z%;IUZ;0Hsxo=D; z!3fp#xf<(VKf@=v_QU@4H*dGYNu1q(c_ETG>(w$Yqm*^)*x|+~l-HVVtB%I*xm>>> z!8RFu_sV=`5;nG=z?}@%GTe9V%Hl|t|8%+#jEYx^0m~^GP~}^A{@B{449%An{Trj~ zg1%#6@-=*w8dff)1)!mpZF+!o+#&g<zWbm!DO8L{WL>jEKo*NJzkWtzuQ>zVf2YZ0 zQtdtz)wEEzI1ELDc|QNrwufiE;1t%bSD{_lgZ0CQ)Zbh)?*d9DUT5px7`JgF<x)6e zn=o5H$59Z_{4Rr(KZPH`mZd36pbmXkVRXjaNFCmh&+=6SolsnK#qQ(kslZRA449;z zh_%OSZkC69;$$K}?>7*O=VqE3B=N6+8s7KJp{Nws&15#sP;J~}&I%sfL9cm_$N9^b zE7Wh8teL7*AWdHrvBf#))_G>^57>v>FIAev&cce29?B%qpNL;8J#4Js>|;$a%l!i! zm)L8iOCT%wGsSY<(k{w|;@6QiI6Y!bw)mw;duaxM1OAld3N&}adzpy+P-1FH*NVrF zAR|C^#9p(cCkD<q+`rHf6_PE<Xb^0LrYe-=&-I<LKnf8TJAj_LnCAvSy<HQB-ygmH zeq1?`10GJH!*$l$u@yl%A|(7_$cQjWLb^}Ha-y!rb|rJ&Gr30l-*(IXqZ54LFy;+) zy_F2GR-EvF;yg@nD2(~nEHUo6xT%OA`ikfzs*`iMdGT<fM`TymnU4-MJk{?aRtVu< zL{^dj7F0Ru@UX3)H7gO3ID)HCmR0hmugcx;Ws?ix)ot~?l?nGNs8bOkMiS3AQ-2|V zK<ti-bXmuN&h2xh@@Zd<BASi@bZ1}47Af8KXzGjmLyix(aLdY%G2;IZu`4nI1=I&& zT0}nRP|d);4<W@Q7*)zcW>h8iT-4PsxKr~+ayvw48$~ZB&8W?_$&@=c^#Nge)znC; zJ?V*i!(E~d6id(h!}r`?$HrTY^g^BG5fy7+%iMO%=zAFHRF916kt%K+ZZQ6Gs(`Yu zFDe2f&z8e#LygjdNY+xI$llfu6(MPuU7x2Zpc)vJn`m?9xWVJiMos*=MX2mw3_oCt zXMD#<Plx(?#{tc2zYdHP-#gt?)fEc2?!Ke9a(8c}So^EbmU{1<A<~IH{tfiRxQH$e zu~?Kw5NG-ggSbUJC;aq4iHo083@Fo#I+MYP!wj3RmyQEbdMth&|FKOi^#wD$627lI z_O01l<9AX`FL=)KG<811$Ics7*zo%^=fG$D;#L@$p!B}iy~}f<m1`vGKWc4n!WFI_ zCzm6{0t_>_hczwA{#3Nc?7L9U{LV|{$`gnpC*kKpsKYovuJWNKt$tZ`(1<}W81haS zTGX88)w7=bne=yn#j9~6ww%vbu<L9+qcqYKqiO#daQaAs64@9hrAX|Mhz4on)UJxM zBhiJwf4dqWEWJTY0AU9BBXAEZw+*HwxKos#4N5!bzDo3C>*P`4iMw8V+E{mx1Mk`X zLlIo$LRG?~B;SW&FFPFSo#5<l_xe!<p}emI%1Mc+%tZtX7=f=YX`IQHj7i5TLrg24 zzs^YQb6^J^V9nlJC3{4d6r_}#Aw?BMJJvp*E$VVl#Tf1dNyo{<5!XSS-iq@d)jqNv zy!&#gS~;<>Y9soY{JQzm@g_GP!sj;LbV{VF1U{?_WAa8l0RRRz-*<6$>hep=Es+0@ zP?Ls^It3s36H@r`R2Vrz;QfD$EE$ZwS)5hnsG(9O+O@+hNYJI#sswOWZa*8H7T49D zJ0U;U%-PNGXHP9oG1M<7)y0#iy16v2lD^jPk#ptml7k6O)s#Z*qAQf6WvYYLM)8~P z)Ii2xpcKvmTCk8GLJ0lg(<Ws2D`=reL;NAdN3)7ck>lkH&1}6E_Q<)886=8k=8aYM z%K!X<1}U5U6&re&DL4${<5)yB0AT})tjXhyLe)<2UE3FrtgEA<GiZXwSUkAoc|J1W zM#0nfyoQ@yMdoa8qK91JE0?(q6M?1R#B?5pn`5IrjiLL_1vaNlNkr0x!H)t8zucwJ z9Bj%QaJgC(wX03(H^&a$uwc+E3q-{IAkhKCyf`_ZDq8*JKeRdvGZu^xMZDI%AK+&w zYKDHuP&?cRT|zL#><Z(qn5ZTupxLM#;=XDX3C+qnGNTSMEKSfIZ~E?uD(|%T)|}Rl zokH^G;{v((T8;kQIJQX}f5BpHY!{C?{)Pftk-Rm$su~>lcy$7G_)^cLN_maCq7(ho zOv}$X>HKcpqI;4%BGE<eU*Wmn2;U8NSbQhAz%i(NQR=OE-27(enfDhrA;<`<*d%?F zo>*)J*gI?t{R+w<#nj)<Y);S(OhfA!e@&h@gRMKoEh^>FMiywB@i88$_*IdO_oq~F zk;>=5^7N<<BfbJs&1M`A8+b<{pELa9OdRA|tW9kDn)g-+ulQeDxWvw_M<Q`J&oVBx zVxEK7Yl*#d4KC2uK(jXI3}Bw0#JE@uV+GE1J|<W(<59Z!A!qcYAEal$#1m9xW%~0q zaPQi4LoK?vWOc$Ab|-8xVmCj<M+{-{_1-8`ZW7c)etd2?BuzQ<ivU;6{;pVWY2#n9 z*Zdbx-;r`p<cuV+IZTeTOuG6A*IaJYes%_@?+OwuQVL--y%^~EIRe|K1PcRjJaD5V zjL}8Db5!x92|4NZ3F58)dJ685_AjuDMGA2&$5_nJ4V2%hwewbA>5^6p=z3~3ox<Q1 zx&BeBH>3LHX|67yy8`@n>F-GuRQ(k8k8nIvqmHI+qV$*|sTYdSNKreNt+%K`;>l~7 zuS~O3e5v#)TS`Su3gc}X7TUar(X#+UI99lr`mc>tc}9BLj#qC7#qwrAjg+miTYww2 zh;Xw0mg&(^8mmM))NTlh`eR`ym=4)*WrkUtYi0=jGN10PsekFVP2c}r8OEliCYUtE zkp$|PkV{!C8JoB;Hhn*{wD=MiMTWjOw58k|34W(WNknAKTDo?+0{y_N`lS7+^qY4d z1+#j;5fuLn03}7zR#&w>yuKu5)3#T$bE4#t(t0iPQGfb{)T@&``{G8W`5Zd`uI}<R z!uHpMA~^q5?<lf@OhESJ*6lD(C5!<ktTC8ysEV!PB9ZxTWK4v^#}wwiti&M)W@GO_ zI85qAp^|<}E{ci}z4uw+puIyqJ|gm)LFXqq0^k$Bh%kfGH#wW2r1j&@#MjSl7kT)5 znv8fGq-3$?C-nv=LjNdE^IgDCimqmj7F^%YZ(HAhzWjXSj5ig{mVhQ#K#%N;?Hk3@ z@%NG6DOUUQrv#C-dFeKjozvXy$-=blM*5cF_0K5cpM;6~)C@2<@qPJNEO7}Ls|pW1 zrt*uwn5SEytNewwLFdx!zl#2kL~w*xm#(ZlC76*()a*L2;SF0QGo`1Y2pL@YMKB>Z z(4%sK|7cPQb%+>@W`$Kr7YtWxzPLx4Y833FamEFa@aI~gw0gWaS`#;9ah%xmjakw^ z)9g2a;ZCir(RC*~DkiGBQ2tj7Q2}QZMqv|c2F~ZkkUwljv_@YwWT|V0^#VbOCiq5q z_4w)x;k;zAz;n|mDQ6kq{PAjv<{XgmI>8cZZtQ?f1|MWmopS&z^UAC6NKIVP*o>)a z!#GnPYH$<{DU$Ka+piA+&diKF6RmR*;7_HIPztJkRPB#K?N-8h9mab16gIJ|Ohl*b z`*%fOhMVsKFTt({>?>_EujS5Vhz!ElKP$0fs8!IAXgiz-XwSpUFR<+LXY+LK3k6kw zEX)m1rVhow2%UAW`FTs}CoLiJ|MMa<E3p|h%-AKUI9p5w%IUAu@gCv~5<UXwBqX4* zj9vb+g);$VM3$Qn`<dI{&pW2i;<52`V+1|MPw3l4`;lgs@}md5%tNW%hzs_KC%)Wl zFq%``y+o0Dd)F%J+nxAgYySU}ilm*29N2=>`|S9xtgJ^X?z4_*xQ1q^`Wogo%>j^s zm)YdMH$&l!Eg4U`D;ZyLkZHcn5t5chV7+pf*-OC~QZL*8Te?)U<TNRM%yAuKMf|M< z4|j<eX{CXK_I;<h8MSOpvcmr=!U8baQ6xW>F>hz`&BJ&Yr)I;QH6zv;-zU$V{R0A9 zhn8+;#y<sS)HZt1r!QC2`C!+P0@5GDiXeZ_Y*Z;gAP+iiN~6nGo$4>`)3}<M4)qF` zAFiwBV{sqSWNriYZw!7}E&K;#js%_fOzRDVoq`xleNuEKZ`{$cpNRTd$bQdBGf!0H zuSnj7+{2(js9~EhllBH(w84g{`FJPi+@^>oLMJR88(1|{8%6%KS!pg`#{9~_;k|wA z8qJWcr#uKPlU?W3^Z)qRT7e@j&sl8aNGg^W^5~&|I@3+?zy2xKp&>;W%MQlf1<u2q zwTTo+Ae7UeY@}3>V{A=}HF4F_ax(_P$+~%TXiyL{Zf!Np$Q=hrggIa%dR`pV{d_qW zW<2nrE1iE{v3MNHtzlek#{U?zSr~V4<ot>iFxG1M@r0_(=yUU>v%Z!2p#8Zts!{Uf zb|0r~o<{OKpBp1+vM&i!K|34w9m^2!U`5FnLDGjNgiga_zY^{f-2HL;v$a&=cTKYQ z-N`zP50fRLjsJ)R5HK00uKj1)gqdLb<7QlInY61(-!zW_4=yhJo&J&uGEXl^))dlX z#>gkZUm)y&s-tNhd%r_yYZyvhJs2}hl{q1IA~@nu{36fUzJ-xf<oH!RzEzmXg_)HA z%<BGy2hnQ~$!A5z*LnXax;QXr)1a*5Oe)~5NrwZArMg>^2Gs-q9V~~8{5r7Gk;-TU zZ4OqD&2w|A{#~rsAYWyl{`TA<y%bAZui%&hMyVrASA1Z$({zJf|8h`FNZlrU*!?no zS#!tf-$NJ<)FH94P4-ak#tey)p3J#ccNDb%{>AGK5~x~PaKsX?gxB{{6C35WSx$^P zlug@-Jd$j^Wi$*Q^Hg4Jm|TPT{U?_JSL+CI!3mS{p|xY#@1BE{8j4O1cJL9C%WZdj z7$=VS=H|aZ0zpZCk?0dQSpk_qsUx01S4MYilMGG6S8<V`Y_RCw;ZJE;P>r$^cOFxt zoP70X9wDKhEu_Is@^%`H>17SQ%Iy@`#ku*5XF&Fd;97di`0;TVh5jFqM|vV*1lPMz z%YT(2DYi-Zd&sVLg^iespK(<v5gYx2q!>LbYr+1Po16l1y`e3-;+fn?=Ov^=k(zV> zieB_EF2>1W1VakctmUP>{aVu4%}Crne@^V&5g~Xc0dbe&5)z5Z6ccWy>}hJAYCZ}X z{a<Dfg&OSDyuS6W*L8EAcI=RLNU;U^!ioiaE&=s5?u|2d`u&cBBD-#SA?KDR=LBk5 z`(^7URkIE+GjA>IYC)X4FS5jyCm$Qw?5%ocT;h02zu6hmnmi4`0TJ`O<)<?ryiDl^ z0Iyg|_}8_aRR*Zju-g1}!Ia<X+u@)8k1MAiu(g6~dw`fZE2l7zeGTDj=Fu7m?LcIq zMG-1=v#h^`C~hN*YFExv;NsOEYLmx!uia+%W%lQi$jw9HYYS0muZy$d^GDh4GUH5) zoXD8J+iHof<Ya*7MFZ9~af21LFV$`~J^#}g@Ihl(3<|+b`k7Yx1&um7nl);w@EoP> z@0r|48ZE_tm{n+E9%AY4veZ5uHB5crptcOE{Uak_i+R`-N1~(prIM#oFwzd~Tf$uR z+aF@FTs}i_b#5v&G{k%@^2UN2NQ8t0*%#HCzwb_cqKDTMHqGAr!<~8{r~QU%QlO7- zRFsr5_X)*Am62JjS&1OyM?#&YGLyJD1$gN`|KHHU5tONpRn35%JNQjz1~ce_220!* z@;!yZI6#;q$~nLwoSc~aRAB^(ng;&b%-<1N9%s73r=rGZrE+u&H@F4zKy3T!f3H!y zgrH`X`Ot92tunk$Il;SDw>9lOaiOsp7?Su|G(PnSTD|!YkK{QKw=bN*-dn6yT8|^w za7JT#njx}&N<iQv)zlX(4k8nnn!M*!d_c|uDb2_lAfiSpd4faXo!X<H)L~^zz@DPE zMW+VttbWdyA6ftCgC=XZ$~m7us09nTie}i*N&pn`;DTd}UUo>FJMIsp$Fd6FE>|0D zGh5i-7Yd-Lbc3a($X8UY`$~)0QKY(vBsI(p(|cQK3b|%iXx97mmuRJ@MhKW@)A}vr zz`*iyetbnSEyDR*r0fMV?~@DG{z1IMVlWZ@7oUjPgKq6FW4gmQW$2@JxCL)*$SN`B zy?dS6Sv1FqRLpUd!yEJT7PPxxOm+OFpy=vKZ|0I1U!9=(dI=Qb{><kb5b?xiOdScU z?bfyZi-MTfY+^W-jkA7z;QCqyn}a$@IQFbH<?S3y5#jtV_e2aMMUU3H;J;9UPF2A9 znq`f=W8X_`uBj6S6kCo2T7?yqS#kZft3z?Bg<tw$|9B~QFD5q{%H{+@=jibNIulgv z5>3nGkO4ea&L(`U8L8DIa$%7vBqO(!fNBwh?q;)%8|b5tK+=qQyi6Zh-{6>-Q~x_r zzZBO&$48{(%|22kmJu}KuE|1CIL56_Ik~5e1uzCIqOX(u=L`7w(-?IdKks7`0G*9l zS-wP(16q1OPU_+9k5)K-H{Pk(F+ngIzh9b|Li%BY3g`2TZ${0C>JnYGR%Lnehb|Fv z`@3FqzuH=)>ijww4|o41+}=Id*lS5TYxn@DtEoZ!*a-9YJFwpEE4(E+v{Gz2R5`L( zCVzS;i^_n}9eV<RK$`Du+50dab5nj2`C}2Tk<K>@<mzAcQKM_H$rDVOZaPkI1QRv~ zaz1z9+C+PutbLq0gP<X%+<iYDY|yK8w60J0)|zQb5(=;Ur>_V#{4<Tmc*l>Ed%zq~ zeCA<THg|w+f|bq=nKor;R;I7rmDo^V9u4~{Q_P@xJ`lXK;`6br%N0dre!yg?-pA}S z3^ho(Oqd8bMyc3nc@!8F)q)kQO@qdt)jx?HqYxOgz=hY--JrAyKBOy7&Yq%-m@v~8 zP55ByF7$8X1DWCPjqHFs(14?Q0r2gjUlK48fKB;gM_~y9_z19RntCb*XwBm;t?@(7 zQeQ@rj5#@!wHOref@q0>N|QO=rsy#oNPw>^d`l*Ul9Ei?^5#Aqcd}(PQ)$@jGuUad zEUz2r{f?+V$Lh^0qbj{>pV5_NBPCl}{#d^BPe$Me5QkI4xDBO^?x_sHE-v--HEUi! zc)+`P{mcSRDgw6;4GhGZieGdHxz)*ajK<Ht_!tBm$|aIten7GH)c>W`*=$musv>?* z|NVva+tn8wYeP&`u3IiP&8Nhi-y4r@otj#{C;ZfKEn^1O#HkxZ>}ksE`&9hXBE5`; z_Mr}gkhKTph+I=k%rr4rCthbUavw>;nD-t>HF<t~%td=a2l7#e;M(ZIF+I4Dzu)_~ zG5lUj5MD75wer-5ir_@E%)x4a)OF0)We0TgX)|b*SQMtw9Y*YKg0qVo7U%9XuZYUI zh%t_T)VvqXvwRN~PIUXP2nf}J{P`FSyrtGLJv3G($-#iW7OoJ8`bG!#{h?m3Er?oz z6wNVT*np<iPs@EqN3hKTkr9if<pME%Igr3`!9%$<Xt5!4twPSUSJ_`^$GgMQRcoGe z?N`?eB!q+uVGmT7d=Oy~Tfd0<u6wLxt9eA9+jb@>j~_eE&bBS|ubdN?1y$qP5evzA zxx{>`n582SN*wdU&8o#X<EKAF<>Hn7y2(#SgUs@>_@QRO`P>mnCk6F&IiCPVkN&DK zX?-S3bi}7c+=7wJc~yib(p2o^yh)U_vd2or(dCa&re^>8=zbTk52V~Nkf1<qYL}-e zV`#?z39gLuJ;7Ho#SL*^B!Qor{naD#MN^b@mh63yiiqpWv<V*<{|q24NVy{Af(5M4 z-y7kSJUI(Q7pP^wMyZb%1R6v7SCFKg)0Y(qt@DMW*6?bP6Ib@U#FFtxn}5WsYMaq` zFA<MK{t}hVQ>ZFskjP|ow)GN<_`B|)_P-3<4=X;O&d$9t-iPp0y!JO`s9*}XOFE0# z$XIh}(BSibj)5?jzcG;_d`_&i?J~?D)KGY4(cFpePUH`yk6%^XMO>W-Kj%cMx3~6D zdjVaMN9{iLEb+&P`>TqSC}cGh;P5#uDhQbmIX!Uo&qh(<Pzi6T{zLjXPViclnb>7( z4cZ|yqKYo0rZ?)p_*R-%702JPjxz@=!~xue!$!Ttrr_H9fSxI^qSFUdHY>$W^#l`} zrro#tVbB_k=%%#H+VRlBo5EB<og820ieD^HRn}(T`so9}EQS3k2UFg;9mtHL8Eu6> zq!>dB&8|h|A6@E<(!9(2_#i}9c%tb1wP+?3sY2~LEW%GIiQ0ikNbGfL|3`KAB>_?3 ztCZZM%^oC)SNwi&kX>o3M5xt^`-SkL1m&GR2Mx1pNwuNAEGnO<f~Nq_jV#jhA#AUe zC||OpW9Qz4vP3XcN>usDTdlyhh2LoxVC4OKs_Y#uCSLBQ9<mI8fbiYPf6#jC6%N{J ztS#QFaN~YWBXEtV_@+3Rgu~RCYvqms7ms!h3oK6QR;Lw^E|A@;2X66Xenz@ppbK2y zz#X(K0E3(+GJ@m(*ee4Xj6YZHpB*trZPOv?3Y6Fh61z)qMyCYSMixY>j)?9!V!%aw z*@JOZ*4##<lk_U6WxJLWk;gO5@22rd)d}bI{yzIB$37L^nTCDwFUMK`^Mg_-Vd^N4 zR(=%*zSTZcc}wg0NlI4!wA<{5(8rk;J+Ek<4BCd+-+f=IN~+WRL1qhQX}399cB=!$ zZtQh57E#~0{;K^YGMdcGTIF{l6<(clB`ikYyAB+3G>A5?3A00!#vO3~hR3;3V1r{H z<)&`Iy}#m$y{p+W5ZFF9!jB{u$o{swU#1X|9pL@M`o~~Pv#!p1-O^;Yp3wR;-{Vv5 z=fZ(S%G8l#(>-rQ*2pXcIZQO>!xkkC@X;HPg<-AE>1>}Qm?qEMEv;%d<FT1vI=dW+ zCuQVFB^-IDuzK%!5R1!Zii&8%f&Crl*R1<l7O`%b1D5ydZi&0ZY2*gIa-#pRLfZ!O zvtbA=QSc%pwc?XT#+q&WQOKOn&PnWv|>gq|L?#%p#K`*(t*8Bxu6Pih1{8H0KC zce8Y4Hr1xruJBA268fPHqZ9ccqeJ7-1{E=oEV4x+!n9{=>~;k~8^TM1<6%7S#$jEf zu%a(hu7FK)zfvzQg)Jgr>}-+kYu@Rwfy=~A5s1ES#nrF*4YD_4E1DM+;wr28lqYmM zW_g|gBal=cE@9a^GBthVK01AO0N1Cl>a!_L$t^GOb;@~gmkN)#zVLSV;p?WNBCAep ztYY7MAb~Ckaq&rh8-tN#yfp-dHLjo1;z=DYe0hs5yLB3{Y}shJ<>Xer{Ht`iplVKh z&|T6RN8HGT$~KwSxX*)K1S7kGfNvD}pjpU_Xev|8s=BQ8eG5*9hH4B|D{=8Q&-F}6 z^_BAvj2O+j?E)-a=P@M>4E$U)+Tu)c*&I7aHyer%8PG}ilp#A=`w<}O-DLyc2N3W% z`MY<~ZqG((6i<@*@km&m*eT)n8bS?{_X6$VMQxX#WN$)HuHW>b{}u*3gt)>l>>eAD z_R@if#oJvZNSQrQDsQSy)Jf&56~YGX^l{wVXxS5uf;tw$KBXO#=B+UF9eY5BtM-{$ z=V^-Sir$uJt=C&ImZ;(paN<Py+S;ZoQ8A%#V6z0*y8;Ws&D;WI`K%qUlH3d^Bb&&Z zJfmU3O{cL2-@AO>D;gD{oGjC7)Yfohu|7`dA4y2>(<eZ1h>YB~KeGU-0zS*I5nn1< z8E;6Tw9HT16wwq(0l(jR`UVZ82`4L`I$IMM2i3z=uyi?*jK@5OaBxuOoois5+SRLt z>+DJ%Q<TJm+UXw+&<D}fw1}q8?Ouad4A=1$xNJq!UAd+z9bN~`s`zS<H|A1YnZ7V} zP^n+~5_GvaWR!>z&$s)P-$@cGAR+|YlST}~&^}N>{|r(1iH3IIb@C&gCBjul+&}L5 zv2$mz9bzmskfL+tuzT!6-<8OkzG<lXX{B;Ye^RE%awTp{zD$FU@xVmdi@la~OyE(| z>k6E~wkD6LN>4k9-hUHQSx`l2KWxhTdyT*fYl9v?=DU!?L5JMwjeZs08oa3T%)0SW zpNc|snQ&MJgkNJ_dqoblcnN$`Aip+j{0W3V3o$*resBh;Lt7~%UzP%iT=~q6stT4+ zwI1wp`VukL5>eZ5)240!%rs^V6P1DOg&J`jz|)hl$*nAMKQE?l3_?`xuVe;%+(cjB z!|a~A^EKvgVrS+U2V2ol3H;x%G-R+k#Um3T4+P@r@ed0a>%YO!Csl@gf19TxS_{TH z5CT4p2_ovqlfg3nkV5q9BZPFHvKckD@xZebB4|p#*ciDX_T|hE{w;{+@aJ2~>MGc) z4ku(CiPnObNs<ClC<Llg@Z|jZA5iY<_Zt?OS?)O@QH_zZ%xnj(9>*wZ7Bmwp=!Lc{ zh6c!saSE{M`XUtVAO$}Htn%7JM+|$9FF8gTDRx9Y?;_ZjY_U5->u8|gs9osSrc<4J zwS}GD(#b9ioX%Ul<>6l}20C4uZk?>w<-7V^#%-F}z?FX;55zyXWKE9J#-9&af4;op zlS~79-j03ilX`jgTOJVnaD9GU+gAi`3ee<_jb0Fav&4Y<+w6}R!yT<Lk6BLs;{eYY zMj@8<*MUH!hFd-Ix`|9&oQ$>L{3y&~{d(Nq)ep3&<9-H<BOhFvgri$9bUX{t4OHa> z8VqMi_?{5R72B^FW}PFKdV(qIV;X!e>6@9?CZOD;xz!5^hTT7{;m4Hna|=B|pQ?Tt z{^VVdI;Q&dy;-~HXIJps4~OMiU%u=tj65dF5}c*Ep8gK&?&$3oJGplHrE{eCyGiS9 zcxT*uGqX@g>CekbY?xtv;=cFFfc_1#$L`Xk+N-?r#}NOEKjucsjXPCU-8+GcF;fXo z;bD^@83z14Cy9**Rd<t)pm~}LEZn;C{c?G)i$5HmoPTD#+rCdM9<yuF-jJ7ae;X&2 ziAqm=Hbfv<AMq1wy;mGP9rS3s*hC5@k?G=82E2QK8DHS>4nzIva7^q#B(4J?<;=W= z5F-iiD6VV0WYSIspjhP2q~))Q_FDx+Oo^=o9osEo(3K$QWRlXZ7T*H!DQl&zT>ocN zD^Ob;GrgLtGa0Y$#g<VF*ShTzC9H98q7c6oV<Ff>fTXA%=N<6L+Lt^eP~)QaS&zJn zZVN9uKf7BD?~vn0Jy#~BL=(k&uNK}AML3b^Wsn(7Vi#&a%uc29HdFcBhOh3&SHJ^m z8_#=A>P}@nsgN~>7dg?GWBzH}93dD%<ZswE!Z$NFXA;*ZG{o*YwwN~>gbz>a{7fB# zh#tOc{n@`aywUkqLzNz8;dhtB-TUs1EwiU$IO{iIz|$W9&DK?36Nm}-D{FIz>Oq_h z-oh|#X%b~92$i@Dt#}~A(}rBGUz(mVns7;0zPOn$gu7|!kI7OMCIMx^v}*at^>k(x z*lGo$2H6(I&9Op7%5_K1m>6JtB<-lgc{Da0<zv#TfXe7|?Fq(94n@$T;w4AoV`xxP zF|IW^oUJ+|M4_|ac+e=2rhXf%0(uG<vUt9d;Ujb~lIfIWC(t0h{&8u;miNB6@WuwU zjx5Q{!gi@z+GIS7Kw4NE5N^K}Y=P|5X0yQ?<_&~<79{kT$cAh-7y{vSC(jqJc~9Yw zxN`Y`vhpY~*`f|xs$a#_r+Mif;brc7T>!t{imRg7kWe@h>uiM$oRsGM)K_=CNx4y2 z0j~CBzkg2&?#o05Mng6n4{<siJ0n!eSYH8ChL`FrgqeT&MO^qvu?4W2Zyb(!w#5T; zL{A*a%(a2j-pH@lU$dsl=v%4#`40>h%Q-m`zh3@$r1GV5<g9-I?hWh-zz(ibId2H9 zU-|`bi;VY(0DIy*9Rl2)o*m56G7C|f-A=w<8P-5I#7`<|rBcI;9pLo{YQ47hvQuQE zKJihQ=MxVa^Q80hMWtKOc*9#4?1Ow0Lf%ZX-Xdx7C!GD*sVRPo2IhIyb>?96eAa6! zS9h-|05K@UtHyc6pEA^YgFvRmbPQjq1dH@jV*wbX-yNuG8dSWJTZaUoF&4FJtCT3I z6aF+veAo`;&BTtMI?<$&TwXnDe+G#|Y$MH1CAqA)-6$ILHpt(Bn}%}*Ouw?HV(qi4 zzi-uc1s+ij>h9asPs6m(6f6L+0kVzWv$KUou_$vJcq?HpiV#;nZfco~Bj7Z^I+<9^ zGi?8FHSOYZ(>RRa#sLtvyM+4aA367&3pv|tgyQ?Lq()&+4xG2<yLxBV@R;wK?E_8o zoeYRTAmXSeT=6FLEj6_Dx2;@gz*W??QhgBE*B5N4PfYApn0iczjX4ghiEaDNV=CjG z$La_EO#5X<8GB@{%$H9{Mkt4Bs!GFf;7>#aD)bzwz#GN%90)!Q1!zd2N`fI0!_jHv zS!B&4>=BAlK--R~fJ=^t9-enhmfgs}<n3U+;!m-)Hy-QkUuMXKs_lUAI1yf~xazvL zdul!u1evhx-)*njlj%*Pde@`*PuP^p5+NTPafz+_W=R3hdXT@<r9?AQl-IlITEEwQ z@SwC$6UC;KIN&}(*{#vGgVsiY%{nlM^AbJ494BjXh0#<^WL!p>87h}m@I;|bg{?!W z^t-x<1AO`ha0$AzxvY}v*AC+$3LO8MOk~O`=kML_r-`e*o$TbMS|829pOIECTp@Sf zMnq}KPZ#wH%ql1F3lx=u+9cYwOL>?JG+O3+o0Jh_8>9{mzn8xs?B(lVd;pzIl1YA= ze5lW}KDY*bfK1y1!@>;d1O4Ly&FFA(-K7t52K`r+I)>j;h{V2msc^M*Al0t-EOl%0 z%(M9|GbP)`5oacqn_9Ew{+`dt_~JTAK1(DNiaFN2yBze(s_)COxYP!%J$$_z@6f!U zy(X_K7W_CfI3Z`TI7I<1YvwJFmA7z}Y;D`uVCQYjx2VOlotl1pPFom$CCtZ<{wYWY zUHL6p6eY7h?l>!$igT9=Ed4A?($Qt)kkg#uc}ReC8kaifaY`Qr(o8_COCO~=<o<^X zXSWW8yaicKBGlZ_BrCZ@f7OPf4Vh4>k3Qn(dolb6(uo!+yP?+(ZYzoLVc#XJ2hh+$ zfbJi0GlDut8|-^Ci!r7MfEs8DnB&!`dLBrUXe1%SxoTZsEbQP}`xBl+)1a^zU-$dv zDmi}3Xk&2P$w1CVzj<isIg4a-@U_AW@f7w05LSN){)Fs{@u)c1<oUciVr55jS!W8q zFUphlDE)ej!vwl36Tm}>ArWgC-Qzwyi+l5chezaV_l}hAPylSzt%ur68Y|ASzZq_v zEbuxP!fKpPRNZRHofbpEdrUY&?xL0Qawn}aLdj&B=8+4xfZUf9vtZfw@?I5z9%ZJ} z6``YH_cQ>}qxu^tg|^C0!Zya)fpfk)-kEO-Is?o~X1BI{mcP9UPg3M7b~(|oqUwGR zF0bp3n8rhHMUymSl&?Pj(oU~>`{qBu%*lHQ=ovZcp+X_+m%9CNT)M$_i0z+U?S8RA zUlx9?V0^*|l_p{8#qeilm>6;dyrWKfHrT<!en7?B<qTb{^CLWGgBH3k%}5unbRRP# zHyaRQrcL1-`gec!?o0lO1fN0;&H*1s6-6^pn8qk+RUp==GtwnV^2l)r-2`35kt$fM z23^m(Eh?OEgZ#1eLK4id_1t@<<$VR{F^DIZC$QRgAJGp=n@XhmZAp_@Fg4>@eWcLz ztGyV4q6S`6mkW>~toiHIXFKB9skO~eFlq;|-_bA2FEZFB{~-Vt5G0}5%@PY^D+-t_ z0Sfp8%kg>noo>#!0nNzPy_VJ|9&L}Jw(wR^8?d9!N@@`1%jEM^;m>Sj2amHCh88Xb z#@E?kIYtU6&<jJui%sRsRbKwu4ae#H=EfF#VDfJCC=A;K?;Bq5rMg-n46O|5IuH$E zkK9uMHYG5T9gC17x5l9vHU_?wVx<+^Yv(&==Gqh~o=`~G#Q$Br$VIPJf75~^^1eKd zxI1FDKn#xN=Fe!<8HuB&GCi_pTB&l9DG9otLv&&dG&`KiRg{pw5$)Pz5y9u~{hZ8; zy1%Ds-)3ub52-yX0KWr)=r^}?_DlJ`A`7(Px<XRKS3-AadY|nq2`NfIPL+VCl7#z9 zfO~Ss<l-aNSQOL@xxaSj6YDIGlr22zFz<yiH7kj1AKbTpRRAiTM^?MdJpSXqrB+i# zThckgZ|*Blen_z%xQBuu(sHmYbLz?%LNE!)*9$pfAW-|=q*0I~HL2qcJu(V|B{Mb< zI77^VBaSL3h)kNThL`@a5&w>FWrr@p69vJa=NMJ0$zRWV%_m+na%AVvVYduq3XmRy zEspRDD!ZyYtD0;VSsXsLMyr3kZA@}rHaMNt+@n9Cm|FU=pN;oW3NS;;snKm}dWIU_ zSLQDPa6w>Le8o0Wu)ej!QpYb9Q2-1F_Zd%Q)myFQ;F(SAT_Ol&QJ?{HtKab8jh2p` zAL%kFu4`y3F=5NaoubCqU>RiCdqJno$;oNx`Qa79{q_(U@d7n?9;BgJt^jn$IM<x7 zK?p+M;KcjpIu7?rL#<x%UGs~}qL&eH)271-ouu)(-5v5)P{6>;bX7t5lXi_29|&I; zuhoSrASAK#G2a*py^_dFWJDeJPrH<pY$}Egm;HVL9mSMip{h-a^!n2L8T_HEWl1>^ z{9XX@(Yw3e2V1_g4Z?_?H^Lv#ATtZ|#3wlbBujVgcAC<WQZ(!AS`U0TU~*f}DOI+l zb%dYmW|3bz1TH$e+>!zw1YSoDt*iRw1g)K@WRh$S!8RR8@_q(<x>I^5;Pit73&x4z z4tN3quKAI}GQjeI=^V=ghI;kLhXQ(NrC*H%%YF-TkSCFZEc(%iC%cnzU80;W2eT@K zK8p?|wye};)?1JThlz}x>CnHp9pc2F7&4DQNX@BjmR~fprE?+#_47kv%K9-*NWtIl zBt=_t_zUT59<J{O<}=JiCt*aD-CXp7;*fALWr96Orf|bBi~>9XjjX!DrvuvY&QM%4 z3*4+@M%Fav4gH>HhV<5)tdEfkxfht5-W~^Fz*51UoMXOTlqks8Hl)fe#zGOW2G3M* z9i^;{Fhp7jmK6raHcxFnD%u~LJ3t=Ln>rbB=`fty$w)|;>{rNkQno?pX`xYsBRku( z-l(25N3S1s(?XdT*V-F(5NiA6eigdKD3!R`sFWP~$b^M%hj5b!lC?Dpv^o0RZ<e57 ze3NU@m5djrt6iDDy!iAf7u57qt<`(emq23_egQo_^{@W!0cJ$ioX(quVfUiYLZs`7 zZolVVl@kU?tHkcn?rjr!GYF9YM$s0>S<}>So`$_gzOEYMLj*SoOK(lVo(T)F{}w`K zPJPnJh(=d8O0xFqGKG`6H36(w#Z5ztDVo9OD(QzVGH}>1@?ceEK0Kxg@>}OOo^OjT zvAH7R+vPVzrH(>MTxjD&@>PWtqC_W0@%Y^ChuJk%Qup5@EwiTCM`<b@FT0y#ker)0 z8B2&Yv`{gv^a^uFZ6mthk5OE!UNSt(%8NF}U^ohzeVO1Q@#`H5XgC1Id(rsE?+?O| z57AV)eQ_%dk$yg%&nWOMsdCTiDu0ONGq(T<#{`6Rs=%_yg$xvJUB3pMhbX=*o=I0j z5Hu5eMSnmhSq}eNi&bM@KqOX`M-Uus<ca~9QG-cCHU2U$ABmF(2zH82CQ(Oh<?wkk zLHMbX$(a<gYjO(?FQzQI(cxieyhP*_%^i|#M%fw8U(-%2OJx-fj`*(Pdy7!*A9gH& zH4vZslws@ojy2>zq1;el_uH-t@YWnmudHeNF-ri^0X+S_@t?QzjRYTJ)xi~cll<Bj z1>w<`{kE|mmSe7wH&uiZNF{$L8`F)wRWh8V2x8mrZ>Ni9KKZN)KbpW#m`5Eay++9t zEempSmbGoE%{8~=nD)dZcSUUx9B|;??*^x|4OF8i$0qT`ugX=Uv<gSv5plvC^Ie#n z`mhXzO_Wi6V;NxC?iaNV(ikh7srz4p^1+;rA*Nb{7PPkT;;6~053b2X!FYU#=2@_k zwAtaO!v(eUD7*BikiUMN3wr8Lh(i_XLU2*WF5>AvGI1{sxOv1>d^YH{#k6xo4Rg#B zo_`y-f`?`LJge$iWZ8vuO$0#f%lD4MtS9OChqFH~h(@+JGsh9zJpPckU_tUrYw(uy z<a_gDrFM}<u1hMThM@SZF-5bn8lN3;DBUCsg~{~OuIsIBBQAe{W+cTcHabTV2uHO1 z9OrZrjdq;XAN<ZqK9gEu9n<8uR-di2>FB!-yc{I<FQUTpl=%=J@D}Y-NZ;`zq7pte zG@r4_@^*<@%-%XQeF!}|eG=(vDmB?hp67LZ9}H<F%#0OAkohOy1voTG@VAE=BVC`| zY}z)hGs^a5XO+oc*qlNwxZ6efeA}PdcmTrx4KcKp1;XQN!TWdq^dwjVjm(42>^zrk zCdCp|P0YI?d^)}($i!$m6Wy}1XSG}7;KSGKp^qQ<PHZu3US^DT37tv<DH9x7WV^-8 z7bW#cxM0+{J`C^K<MGXG{U3nGuD&Av*5y*E`-*g~lZS4v#`5J5WwS+kpJMFbDax~A zC0-BE+N3OqSct}}ejT?(%l=yI*_QsQAV@gmx<pA2Z9JB|dG{QT1lp>n#J)0*^2&T4 zS_|kDJdHXey)v!w2|C)M6-5_zw4}KKKSz)%AncwE62k&9;HXIMNTtVGUW$RrPBxPz zV6_YOp)Gj~MR!Hdm?oO!SA2D&b33$yog}$_7hsE%#jp3lb2uTU-EgC{mf)QlZ#_dp z{UBLwU3&1#Dn`nduF%>$Li>Fj^IPnWHyor@?KQp-_+@5jZh^&i%1<!X69M;Z2CW^O z&@jmPh(h;8_cZL~;}h*RnEmIi4mPFi_Y~w6kvtsaa!0s9mAODBcDq4rcFMDC6sbMj z4+-`;Bm-E(7h>QH=e>?EjnnA}S~U#m;8fdxu^c^x<QIz_+-h8Y^)>&gq?W09*-K^M zd8lI%vTWVZCxCcLQ!0|L9T|Tex4IkhB+nefL{818m%cPZuXwa5HSiHTdN0XuhYWD5 zy`b3n=xTT4<>cO8%~ILQ@<?ACuG$;51XnUJjOsf|K3{HwfBFt;hu`YUoS;#2rcR6% z)=LtZtW>&273jVriPa>tVLg(Mbom`d2W7E`^QKh#@1R2sriCEA8H<wBuo|}c-CPe@ zDhqVAPJ)wx`jT#X2GoM3_sFuG(P0;&z|#OMitAT~BWupj2LFa1vi2z3vK@t_EN6)* z`3#YSly-Xhk0SNn<axLP!xA?h7Q+BN@QR+~Eeseh9SH6=lh*8mPgTWdga7=WboZk7 zXMdh!ixQ6tX!-X1AmtzsiO)Qh1Db=jSlD9?Lsaq9_&?Ssd=_}=W#aWtMqam;yjiIv z@+zw1<H^!fi#W>Xhbgy4snsB?cLnS`sI{I%+$wG_2KJhcb0C<pbGuds>$F`a^C1*| z{1|3(l>0fwJNaNwhG*$y4w$0oIUWsZA2e|^GC1UN8xPl)sO)j#%u&&bM08|KkeXFy zl#w1rPxtL1vND0RU!vOeB%Hp2QMZ$q3%Kk37r}%T!&SkMfIP*g{C)>A!-heg_;ScL z#|LUO#CoRq!}Dy)3oM+JW$0GOU}lwF0?#&&>7H&5$j;YAmeV*!<k>q!5cX2F0yTCU zvjj@9#`OaCV7K`KD}>kgcf)FFLtv%2@tWUe8Hq_tXQvNWXR*t2v-Buo>a+|}F>Nhc z2T7Q1k%CXhd}axb`xu50`N_BAGV|5HO*K_ikKsV`Y7|c#B!lyiSr~KenedzUbwLZ8 zW3c7$Z(7g&Uw7zx+U0cizaQ9YP$CQPJWj9AX9FsOiD%`U(Lx@+Zi3+Dn$RU+6t8!m z>e%QNF5XhGR-5ixayao8Z2vV^w3#OHqfM+gW%D{$1!JzPxo+)M=TiUR&1mJ7@uskB zx{PD%1u=k<izF#WCdJ!2U4s~)w_*2zZ4@;Xj>JVu3<rTW4UMApGPgwH_jOmuXQ>M# zy2Qk*+9$SK*UV3!$47Qi4OZ(|!B4Dk_DO{tvzBMGFR(YU(JMoTeRsH`6tx0@cvkQd zWI~|??_LV2`vGusqcWSC-(59RZbfZhhb5F}Lrb>O)N*_)PZ3y9e-QlEknel++)}n6 zf@sUxSzo-?PsyiiA<X5rSYadk(0KEbgZ0;8IJYiacuxmsh?x{7ua9X*x+CRvjcd>c zqT&Dtm8GZ78Z7r8C&{KxwwGVxkJ_Iq1<Bh*Hym!_KG52FC%&dj|G*pC_id545r{}% z$~%u2aKf|zvWzIXE*SDVZDFKL*I<!nbQL_Py+yv_-DL;iNBTETBPz*{i9H|@@`U*; zZxLM9!-wNA-T)TiI}cW)i&#uF`79GFIHif5BlXgRf}FAdCKi&Tt(eh?NGpextG<LI z9CD^G>$OYX{D8S5Non@T*YtT~3MOdOjni9dDLM+%3T5A#2z&MbH(gD&snIL0blV?6 z(Xch7T@Dxhrg-519uq@`X9+?q^y?;Xt2`)=i~Gc-Ps*=$&YBb<h3)~j8w=Z1aB)bj z%iuFwOZ?xu-sfLTb$6_rVxY>KHQA_k@)dnE2&fdeXTwY`X8o)7hJ8I@)#lY|Rw^vP ziu~P-d4xk_m58-?QT=_tUpD^3iw*|^p8GYHS@fqcK*2$Ay`5{jTGuFkFdDQ9c??}U zuGGP`jrq~x{$uY*u+?#eoD~e|S)+pq>X3K+G4q7IM)^JkH1#~4(6nMqW?7kBNZ&}` zzp(e_ZQ<)#9rtDN%#gOR+)!T0VBKTU(&{h_n58JB?1%npIKl0NG>#VrgEysGa>uE? z2Us?<&(q;U)Uk12wa+0t?SOj_!C4aO1j{cZzpa$(iDwzVm{>d(j~qpZ9TvCw64s%9 z;KcTnc1@0Xw;%fKUwoJo+$M?~f8pak_zcd&4*$3)d@Da7OI50bTp((3QZqoV={~Xi zD(S}meI|Eoflm!pwV!IWklRq`sQTNyMcZ3aNjmCrj*k^8b^)H1$k(EGg;CZ^1ZHO- ztXNkmwPy$fBl}uM^GjkEDt&dKbb0ukta<JR1*g%*(EE+i;D<hg<P9{-p~v`g?r(RE zRb<aj&}A2V41Y>s54}uf{sFi5Mp|4j&93)*MSUlr<ym}eMa@gvBzl&4otkBz*jQ_5 zDwN`+#VHY~vHNBeTRbf5$}~(6>4wwNNh-`nQz!3v1}V3=ExbgZ_F#yfGZ!W%N92dy z_NUp-y2Q-^v!QF1qk3G&AhcI4r~e{%+a-|wD#?IA^6A1xs^=S(a3YK`Vli@sVA-F9 zZ_Q+<DPZ6RJ6FF>XP5*;BQckBJs&MjWcd21G7i}Z9>s%OHDPxQxnTpE`y=TzuTy_! z+F(RSmo2D$$LHjpVX~*;T;g+l16iLG@8mZ2e<6;*R*S81tUA*PO+`E6oqOj57Y7-# z`NdmGd*jvZ5G>2^g(o)0Xa^k8(4LzbC7iN_hVCq!{Fv#q-PQ`C@kD|Y>wPSwT4UO2 zT7)G=d94@V7VYNsN|BhQP-d>Tl=fjjHMg6jYA$lv+smLxGt_ooF8h(d4efl%Ce?9j z!}BM%0vIRq<>rXL^Eaghjrh1O?yO@BfTiC8=(=X&3{uX*nzHX8pN4Mijgxw%ENjXa zDQa+71p{2YjXEP2=8!XceMCEi?~XRF^Q{M&|Ff6>_lKFXg?SV}k1m8q`NS4|j2ZWW zF;4h}md%9@WOij-IPYs2SKyTl5^Q0#OoLrE_GGv{^Mm_l(V5OKMw$KhgZw}m#AG~S zl}^nf?^AfqC2eZrLN;y=Nzm4Vd8CBr$z6Wn+RP~Vb!gKY?B+FxJgtw&aIu;1N=3Y& zrqz=|I;hA?Bh<*FC#teGu}?h1qa(k(+-a0Cp|f*IM!5E|a4Qp6-f=;Hy(kJ7UUJ{9 z{Lx~4CIh&#NIa-VcQKqaX2nf#65jRRx~VHAN1)(-=lUqWw}Bs;Cd53~=HZQFDpa)h z`;)Foxfh#$OQTC7x4x2xjf5+~3tij1Rof%JGpq!1)9=7n-<nw7!+4LFUum}mhy~)l z|NF-MEC3WfEVsN=mT-1<ix)}_YMT_*^8)nWzKt39d3K;(6Xx4rQ(n*^_Q1yT3y$SW zRVLqK9wsV<JVBOs>{>`uM1kyKv(J=&T=rzVGI#IbpLiG8qnP$WJyy9pqS^WGH!6it zdeMt~&4yK<xuIJjX<N}@#j>{Gp`p`YHeqJJ=LtZ)RgXtG-t%!~3#>6c{^Y@ggs7Fq zZ5$o=ZJ2~nme1Xp^Y4(CZk#<*1G-`i*7K@p^e(*A`#e=^#sdoYCAgnH7D=x}gd-w- zj|oJ$Al<V*A}c2WA-bz5no__y(xu_3OsT4p2zDJO4%>}oMxC%GFCjxU5zc8;r${UI z^CjJ%kRY~1%4<vC^Ot61G_Od4tfqa+*PH+}s=4OoJ7b$uPV~~>6BJDL6W33x+ygr_ z7>x$A`5kgCbh{sBvW)qa9g`9pg@YL@IWhPz1yJ#p2RcG0%1MiX?wPm&A2?F<bI+t! z&0`nOP!=}NST;tMZZL{HE~td~oirD0my|Pu&UVpjBkf7}|BlY$8$F<7Xz}62W5%{1 z<K^B&xf_t91}`0>I|L$MUd*Kg*BrsMndM1wP01e}1rQ?7Ej||^C_>x^VEJOpdBN{L zWIml`J9r>ke`3nACTT2cEPRsr9`rtG-*L5K$n8==e>WLWML@>$_S=uoRb04;5zI2D z#@ZK{?zwNg0|`jp9i8|{Z;Ezw@^mo*qzHDTw6Jr5AD1`#2bdB3CXZ&1KJN}v#wS-h zX?{e;oMYEz79>K=Je=vtKA5yB`Q+A*>x~kn<crs<srJj;8B(G4%-8H|JS$S4m5Ez8 zu=_;78o5vok!zl#z+JsmviNB5+q^Q`rP#cg(}$F-qt0V3g5GC41dTRaXPsQq4sKu0 zHRbj4Rcm#8=aZ=8Z3QFj@d0A{^JH)I1MC6XN^K#5CzAN9`?DBCsLfneyyjupI6#U! zxKRA3BH36DITiz9R8Jjp?%uck%L~^9$Q2N8Ipq4$yI+ze4vaR*d-cWu*C;Bv%N0HQ z05UUJ$^!S%Egn;?4?eTfMF$3;S3h^lJhv1)+c7=&%7H3P)QU#PBkrQV6#~VNSRlvW zGy!2l&S`u*Bd>(OZZABFG^c+3Kbp?MFRJJL+e<CojkI*LG$^oihk%51r!)ux0!xE* z=Yn*1cQ-3bmrA#^65_L8KfmV>*w>!fojK<|Gxz(tRxb!y*CWnTt50+@(+G~4#j-H* zFGy2@#~Tkq^@~=qPQo6Bx@jFMd{guECE^tjXR-Phug*P<^twe??kscwR8G2F#Tqy0 zQw%*_?d|QWr#w8hHFGK(=EyGBkBfhhxMe3N4XgJ@TBI_c)jv8B`ce%Sj;4EzT8>AA zzma!Anx+V!(d$64d=Y)90d@GJ7tHjMY~}=Bu2f9OU}ql&7U|lZ<kb<v-%L~<vz@9O zp!b7UO(f!OF}A>O+GxXeSdJ$ztM@P@t1y@h2V27>&oeg~!Pq86?k~5RVno<v^Fj96 z8f@&;44}hBmkhh%iK~6JTRfycUwy?svX}Citg}azJ@VF;>L7#Mrfpebb+IVU>6(2u zYxxnyr&IfbIl(q}8>EJ*w2}^oDsu38TtfZa9`L_k`KLl*B(H&GKdSnCOvLWdQ>M1a z>&C#W&$FxOuQxOKvWTqW3o5U1U`GRPtt?S5ykBFguLX~bDCmx!S2ah?@!$?K!<;sO zC(VU!`&~-T_mxlbZGpR;UjzJQt9bYik6KV|nvIZkqF8NX+(f^boJo$3{j9AmB9+S} zgkyg9_Y`p%W;I<tGdGqczgX_LLx=yZdZ7SR*R_MQN7~K{Tg7!^398sxA9fA^VTh)~ z-$5h~1N?tcaf0I_$`I_9Ov@K9+3IRNBK&j35Q%8^O8U#Ba*=Oots_g{XtS-YP#bb) zh@`dAkvk@uzQ1y%z994z4C6cbGV)zJhvJ6E<%#JXR9+BPzO$bDBa;KOX(s+86%V7E z_m>MxK<_MThD?cSl27*MT?1`A;(}JqrD+a=)TQ6WK{li5r*-~OdJG(QMsiqQXGA;b zShPls34w%&rc}V@=&xc}!RNUouq;Qoo|>A-=n+cOB8BW66eUl70D)Ow6p&6KY3d9W z<@HcKNAJoHI7DhXuYyIU4P@FTDrP?oZHL%Sw_+%7D`m@Bcgya>nI8SJ?y_73AP69< zR+$$nryP4(s{QxGwf?HA;Yk6uEoS|(iE|K^qC1B-@h7+DNX=ga>MOk>;jb_`P;`3h zl|NmDWmW}t&St&GRi+i+(0W@3Ob-ie6`vxY|3S5V54-*`Oa<3U|47t&xd_OkzAJdW z-O)?aE%m6Sf!Q%}-oUJvoy0F=v>%Jv!pPQlxU`IL#}x7%x}`%{d1X(Zf~ttd81Q83 z^qD=-$E#rP;VVr9)H9jEa<J@d@LhScsUWuI$)-HIV)3l9z={b5WR?eyeLNZ`JDo!C zoj!L>2Hsb5R+-`VWz_*iCv-%D8fJ4{32z2I4E^9aUbvh+xz_c_*U!9h%0Fl6Tu+l? zb(8vL^6jkjQNxG2piM<(n&Wuw@*Q2q@HM*O3wJszMT)MF5E^0jiGO@9*11j^Nph^# zHThtP34ppC`xmGsjCxAqcX1ar<9Lr&Fbk*39j>;lNy;E>pR_BeiNV{g!UHczFnu+S zuy)Mb@TUn6OGm7zQq`t6W=ii24_>}0sUlr7$bNY-hM|PY=YmJz@a94eT2~?%=F=f( zH{Kp77IHqKr-q!B9(5t^UR<>~qP{ig*PF*eSw?rzv2?lX=qofJIzpp4m(wbw?G?kX z+11UV>t(#3iXDoFjkCr?hMD?bo?cWMWk9c3l3lr7MEqJ&0LaY~uXk>cw09h~Cuk5x z0CA|{V8D?qCpqrMwJ?Ueai-(#ijxCR7S-crHFj@~=d<H;t?6z+kXb6hcM0#Y5`7XR zhZh<64^Nv{Xh?3~c1<<!G0f7Q<B71sAxQ(Ako;#2BUL4p+u_uge2Snz$}3qo?Ro7l z*306?uK2lkX?kj^&b2HX@nI5urecePHyexP&OYIr#U^^lOX>fSr-H%g%OmXCRfVyX z%55g0RxvCG%Y)FAl=$Qso?Cy!x?4B6&2xXUet7A;Z2AMbDwm&LMPR|IPflm|S*^J$ zwNsR$OCdy_GLF`!hc)_p`sdNcL7b(_L22hL1}9i9g;ySxk!TA^N~+#S#n`r9Fa78C z9Dq@IP`WTnevit$!h%fcH+{O44zXIhG&F2U<*AKfsV|s(i{ct5g<R3YR5{Htahq^| z-U*K2g?EuX1bizRS2xw6gjaw6fAA`MNDWfz;_Lr=LEZSiwQHYz^C+)Vl%+T8g>_^@ zSMPB$kfvssKY2%7fm>tlBbtzx^yiV&I1_V}x5XsFTmj<k$HWT288W$qk#CtFl9qd7 z98t%1JFFqS?94C37Q_wT^p6Z^a4J5}X_!T88R=dWNtcn=N8|W=Mj=`Gc9nk^_JSXw zTHyE_fsV*8m(^3n-V4Kjro_RM)LF08Dh@9}pu_h3M16P3vp-t%QsZwls#E#GzI(iD z(PKPqANjI7^j|_#9I`ZRJ~0SQwhW^DAsR!`u%SV5qny#0lBIKG!f_j)Ma^FD%Ff+O z<n(mXM;nhh43#^ZPas<8`&cCkWhkq`#T$1*w+$m=ED5?I*t;ih{#Bk6((Dm;38d@N z-_W@)wz32Fm3kO<<7K4?;hOBxTR%R~p&<W<JV&);H!dR&B>U17ujDB6+zO9u)!b)y z>qmIsZ&S6oc%?w!Jm%xDS@$h>#x;@3eS6lh4N^d@!YS11Bkv)q^U;@o4d&4T_Nq*w zf*tc$9CvP-1W)dq2%gu0ORez6zF-$--*ST%GdC5sv82(jQjYKQA~ua5bU=@&3uV7Y zmo4EuqzgO^g45#WC+X)tbjhoXi}xn68-eS4?b_u`ac#fkmzkG&gEuCie1~tM^MXjy zEQks3pSF)VQuY~+3DKZU)`UkFEL5P<k!?JAIo>x4@0}$0kJ@YHN@T5J9h)u>p1vJj zuh<p1LTi!o!6|TPA%ATv^Kv};zk5y@J`6RmQax_m;qYGKl}Q^u!-^VQ3mH_g`w1>- zCZcof+HMh1?<a5sve03<k*+EQ?}q~eY-{CkqDd-A<2$=7Is-i#)-@A<@yqOtl&nD7 z<^kSShSU~pHM_^wqMyjvaE!)1?|$wLrV1)64J9&1k0+FUob#o3C(+VijZGBukwYZq zMn=L$L<lodmI&z*@JAkbec(+WeEoj8`)5wv;-NnZ9BF_?ZNB`PW$pvMcmIN*7VR?Q zVI5by{n7oLWSMA-pso-!m6EK+eBq=MET8o-p}ok?W$2|KdMwoHp!kH_KjY|5UFZ<n zP7>b`BPq-<xP}O8$n53XD&DZGe+K5b4`E0!6)8jFr9{6GwX2oxV?w1^975y3DWJpX zm*3nR(+v6_0y6aCcj+{7#NS-zY$~eYh<}sf?)bKuYgS-p<x18h*QDT*h@X4+8z<t3 zar+-O!>%7HdqFz8R+y@^?w#2xt>ClDcoLRpxyAR+Q-@9f3r}Lm?nY+0Lb;L;?u<mX zL>J&Y)ZM2|BI)K_O5!rPWXQMc+-KqX+7R7Y0xxf@!l#7fih6hsOq7@5(?TJ_^4;bu z^fS2ZNLs@)Jld+@ltnbYNWsX@7Dloc2c`0=4C#m$AKM%QgnVLH*lZ6y={?a9!dVb2 zm;5gY8v>lsCFGgkpxIe0ed1WfrFg*M)}3jY768t8qhtUGb79vpeBCP)&4ez8LzN8V z9097%LAfky;^&Kt@j^&E+5r)c<T&<>tkH9f*)c$xFok!Lp3M$!9JlEYDW}^?x{p>o z*~;U&QC@5;ol4c3Z&0@gl7Ta?1}<^Q$<a$xF1X}0bE##XtBWJ#S(C3*OfE!$>K-jj zcnSYfQp3#ggA>Ji!eaP<rNykq({Y|I*S<7x*d+RyxG5pqe0Y|VowIFJ=)O63FN9@X z)<;s-9QbHo^khZaAT}0kX>SLRML|78^W|{o!N9hPXWn7(ld1L5vi(3bGt=CKP{2S4 z>vl}O7P;pG9;^oL5~pXh`{SLTWL&<6gU6E79b|o1r;}7MbWUnxrwF9I8OjTnjlh?Z z#H~l(ROq>4|LDcUb}(SbsSuvRb+$}d6!p^Znu$~s8Ig|Oudy_eGY(8_JegJ?gDMMR zH!)ER{Fd(Eoc+kt;WW(&J4HD8=*?+#a3Ls?qsYNubd>q*DgpZ|v`jv-YV(%C#*yjD zm;=+QVcNo%6kCtQHsF@OYg>ic0@@XuAXa|E({Vzyk*~PNq(@{rf;AK^QeYN1y~jHW zrPMGZIv+a^Rn+X5UK3kdxA}*8Kwwk+3vqtqd`HDGQYy=$DYvv^T<<KBY_QBE!R3)i z-_Q>A5|8`2OhSKmj&_Q{b1YK2qii<3IIL9Xni;rL4rofXHWK?GHmtWzsWsMK9G$M{ z$iow#IO9p!D8+J>gJtETzx;L6Jqh(<gXM&!=~w&Vh<c;5T!r|vpEo;>I2p;C`P!fJ zmh6lP%-ni<8CsZAapkz@)PXcGlq!e+v31o1?dMs14P>{CR*<$0@9DCft7&VY?R-|S zQexR2+Ajj)s5oOcSh3>d<85>ET(9gOi+^~EyR%hAn6AdH{G@0uHAwk6T2nhP2z@E{ zlS?n5Xe)0p<;@c?^7^PQXLq;#cP2o*WR+C;$kCV3^<XlMEpC{V3|HLmlI`Pd?VE8g zl2)-9kjLja7Or(Cm<Xi$NimGQRlx2adu13Y8xc{&Y`P<7Ao>Ncx-WQgU7iD(p(8}) zBLiVNNxfGT!UIUi$HhWq3J2@Wv}ooqH4T1twvov*A@YK=)FMCsa`2<pLNMjj$VdaH zPC^&WmkXK54dK|>CDYvP9Ipe^b~x_H?1!#X>3|<O9zX!57)=Aj-!XKt*nqxD9@&Ve zwYI;j4Mmu2Xa9fH+XH%cfDEzY*Oo_(ffwGutRfKU`oZtuScs71P+|CXN0L|WnWbKT z-Y8O$V2YnWvmJJmPP1O1h5aO!I~hTw9gE9ghbXBn))ndJPBr^ACuO0tPN|Yj%ODHi zE<k95*K;Ed?#q#5pfxG4QVzR)if76*0}bZ!@m>$XFX48*Ny_4X90EUJO-Ej_4Sw8@ z)TlY82Z15#!e1d6eJrsZa`J7*T8G>L)Lfk!U3cNgZbiz8RxqUNlwvz<(OMhQQRreq z$l}*poXv3#35l52QxISCDJwEFb0(|Ap_$lp7SuD86zNCoXs+{U?ZE&}gl#2*K*X2) z;ynD^^z*W}|G)&AW)KC^Oh?KUr58S=NY=K^gAVnPX`P~W12PG&<*#hRY3xg7ItiCI z)3xcp+7X{;FDVu!gav~$gbl6JcKtEIYc<6l713%#NU_yTK(!H56Sbv1IVdHxghr)s zwZ!@zFQsu&uPZO{bgGP7ztR@vuwA!<V)?MS-v02vq;yJ#XsGuZSvJ}wxePKU3zlKs z6{#?{#gNQmCSNQ{7yg?~<Cu^iZ^Dn2ju?=Q)+-zpnqeQJ?s(hns-WgG_ban>s3G%f zIQ_$3GGgE`IznM6BMp8v=`YN%e6y2T8DIXpNr@A+8u?n#ol0sfrPv}ts#YVqQ*IdU z3U*b8=-NNVIoX&Sp;}FSj;^Tipn;jlixmP7XM3Yb19zM|+!nDDG>NDMFeV-46*~*^ z0STTX4<4J~#1`=FS78G-8uaQj41<cIRYtXRanw9O)<DYV%|VbM^MoSvbsLG~49{|c zP_r08YnhDU>Z=g%AfJ*|;x+mojKlk0V$j=?f0vNOXaAK{F0kc0&C8It$e#(ls{iJE zsJa*_{e*g$Z^vf=E{o#kTSwcJ8Q<q~iJyINLEq<VQ^xiw9JHWLw|gVe9y4*)&55Nw z^6sc<@5|czCTMA4SuVa(tjkIPw@NrJg+QolqdlHiE;hYA!xs}vNQ0diyYyVcKPnL- zS?IG^H=%S_=447lkop>8OYE8@ePVO%53qI^h{=9=akX`M{@t0;KI3gz#D=zvHFrEV z_TObJnX!u={OoF3z$4GDwNB!!JnsD>5p#)820=A{du}6FNEl=bZ9vVs0~)qPocEeZ z$gk@<H_Ot?N1D|C&gA2NU<?$fNh;)a%7@wCJ`K;{Hjc**gBLVJo2XTokCbXGeD<P0 z!lhMJea^NXB{sAb5`HK)j=^jNd+Rc2<Tjr9*Y-VeI4GhzsM464y8bH?2i$THxEDI1 zcT}E_UxRGJ0owpETdzfr`S4p3ewyCTO-fGt9veKli1reF?qK5oo|1Sug~{37=0@yd zMoOUT1De@Gh584Kxo~cRRJHiGOsrkqtd(|M<19P%&*7iJvOLXeWi2|YH2rghSoQR7 zCRSvT0M_3!Ue5yK&Mz#U3u0cbMH%}wip!!hD%W^#zgR|o!Br!8xiTw0tu+yE18Pr` z?v<N=bDjzoq5B`#2OW4u;fzSDJe_5H3$hhblntQ)G@ZC?Q+fe}D6c=7lM!0)nR}5; z3QO;~@emz2D!^LBMAPO;*YrFi-Wr|;!kW17(%@f5LYNs4@Z?>i&jO>z6O=Kh1O{Kl zyxhM|l5=GZZ|GOFMPg$LS8PQ;M8N8K!#=<GZ~dD<cu?Q6<~G6})_MD$gu#L@pV!)Q zF0Ujq*Kv>&F-}c+csk#!vrXqtOO1+$m&$}7r#Jexf@GC^Et|=whz<p?#R)~=&<Q*D z#5r{B>zoR@YU`|945EB4Q3Iy@DC%8tevn))U-^A@g5?qOX*E@v5Pz6>1S<C#tUzm) z>p$9%%r>C5{N`*7V-EgTO16l)lr4*9#<n^jg@i5B{AS9KKrrO`<wC}<w?~Dw5{wId z{4|(Xandk)5oSA;u3Vjcp7`%gqV#E05+_9MiQWR#WWyvGXB8fCSg$zvQcCDL@&&>q zG}3X=-rBy+LhoUT_*%`Jl6bZDPgU>|cqZ{v-S-LZ>KZgb@FyYIL`CmV$k(<1P&>O& zP{KFNn?&#o{F&zY%G8e$61|Gdfog!MqhPWSnU*5`2@H(qs6(GGtND$(fHAZScqXZ2 z+@=3D0WAomEHbi|qYB}PFFdB#U?XeNo6cMcxzuK87nOu=^_t+RrYrtq$Tyk8GLd-g z|E%YH10kf?RRWxD?T_Xea5O$Rc@Tvzmrrs?)!)QH>2KMvV2ZVQl|merKq6rp5-Qa& zY=f72?qJarMM=9T+0b+j%$dE>-a$Ttv^b=OaQ&u%_a*M;l#F_%p7T<o&__8|8w=YM z`kIM=tx}%oHyZoN)@rr$2Cp0q|HpI=pb%`8nozoWX90u%4E-icMcp|&zsAMGb~n*W zcx(CnDQxnqnwF3ym{NF;IpbIM`{C~`fW@>*V>~a571RPWPs_>_IEVGKODz~32SPj) zy?>pgBPIR5e?R&(d)Y|n6?$R}eNfuW3mK)DD(8jo>l5Wy#Pmf%?UNIgE;vH}R)PR7 z)tXMp3#ndh;Ggw5%Fm-b@jAyW^a>0{-InX;rRLJd(-~`@erHPy;OCr#ObeD0PzeS@ z#?$PZ66VGZ6997pZD`gK%2^mUloqw6UxNdj@>v(^blDa9q5SjT-n`Y03)a<ZU6IbQ z6lwyYrTCfiq&6^9>bKf+D-Jl4MVZYImm$2~SN|g`-P^;E9>mo}SiFLW`NbJ;a&UOi zpk?2{5}DGiAXZ==Prs(e<LTxsMKdL5CJctH)+(nb&FR9Twyh`?c3PhBTz_F5<-tPy zUR_6vJhCL{16{Mb)|ZlFSU=87i3GMHVvROXIVaAMZ@TYbCcP3P;i@URS0K8**m-<W z8VFg>j!x(}H6PTq@(;Pw3#_@sLHih_dYDUj<4P&ti43a{!$_3M+ULL#mjlwQ3zPu; z4V3Mda4;a)>Hg%%&HQ1%b<}S7fHZ6$teW$%=)L3Vsg+;Qsk|!4WaKg%YFW0NtG)bf zZq#(2$&VMd8CGJqyj@Rl4<s(E`6iw8HXysw;eK?sh8S1R1SVTAjA_jN`oFar2CmBG zN()QPymk!-+o4i-4Kdt#f>Nypb04OmI}ld#hE-Z80k({=IgMLsDbSbox&7VxB||#) zGn21LY6eoZ6tOL{1AJyHb>2%?hSX~ZOXMYqS+(8~sSIB*F0wj60HUQ2R^OHB?b_Tr z*ua`JY$trp68bh#xz8FN;+CJ%7o-#aRSwsP7lIk%#G`^OwdwneZxMa0na_&;Ob&B! zQEGeQ_1zJ=AMe{VrTu+rnBzlRSUa@MtYLDICo6ugMjuk%UpN}+_RvlyrRk+q1-2U5 z36Eins=PzIb&rVYrizBTIF#U!z|kWtlR9}=UN<?%r&MJrj_7|@37s{Z{*E|p1a^Dn zRWa#*jGAduTf+R#N?xasju6(PZunFu&hEc*{Rig9LmV1+kbD}I`a?#Tjh*tW7@FKL z74_BIV!a2;q4A>iq;u-X5B?KA4E=Q(`^m$bR4Be2?CD(lz>j=y(J936RM~7eQo&bw zwPt)KfVTWn?<9j1$oX{$IWph_T4uxq2UR$sPG*Owpw`4wm`9LSKx?r0=v%Yn>3np* z#3^wsg8E3-WRF+lLSz8L$knoB5;4>uWruRA-_3;W;&cCy1_=2BrOwgLFJaK3Sy0aN z6F=zaQ?ctW)N#xpmf)bTHAD9|f0cDhmWhu?zpbOLh-87yOd{P{Vnuj)Sfoq4HWzuY z=)8R0NeOfMFHf6o%wf(gvm}D@scyDvLu|UPA>*^=mbIn_R--L-lwLG?7jD6DNTEDE zr!8<AP~jgc%O@3~*o5^Oqn}_HwY_TQJ?73^%A9kM2DN2F(J8|_I-nZyf2x-dAnt_X z{l^!G`Tv&+NgQ<aH>dY!Ka^E^fBoEsX|^j`hLv$sUZE%N+*-V&GhbRvg*t$o@@B-Q zy(?<^o)O0L*C*a?A)R5F^05FFBLnznjic?BsyC{SWSs9s51h*;Qg4QS_w5cBtt^HQ zh9opQD<tpa>MpiBDD)i17Gm4V^$H7{p=7lGwi9APCN)4gyvxv9N!Ed5!A0!)?+!{$ zA;{!RQXP%+Ff$hp?z>kUpBB>~8kI>qT>0?gQnZS?u2f2M$Pft;E|xm4m1Lp2;R(Gy z_kZ{_#!BAh=0W;1&Ilc31Vdb6R$3Ji;g3|RB+|#rQ1Vrqp98nA2~3<0$>SJaBDLc2 zsSFsNjju3-lT!-5=y+R%eU4MIxwgjK&PMDlZTB+rEKjCpSM1(ivJ?<rxUwDog9)7{ z@n5a8Kq=_AV_*SuE$vGt`-6|bhsRH0ra8#$c(>(8-T2GwVCKFQb_E%Ilf(7@br~RY z5H&$q{F3dPiAltVv3nlO`HaNh3gz@wB?J4rE8?`-zIYUZx(jHWF0Jh1pP4Ni*0uQ* zFckz(^Tr4EUlekFz#u~}JC_dSkl9GDs<k!T3fAM#uTi7X!<({S?CmClp5;*v+{)sw zz!e?|L58mUPIZg_?su;sK4>0;&`-)KVakyGVQ5nvA*B~do|$@Pw<Ps>r;z;gEKfq9 zk9&Zz$=Ul_MvGpJ>rl*;q4Ur=-rBM<wPvcTuwdn>@K@-0DJXws`~BV4t@JA>=-D*W z2(@G>#4R9yi_R&ldaB27$s_S<sW*-WUc*x@<_Xvm2f%B#%kM;_w_E-DCiYapU5Zjw z71VUOp9Wflm(RPY)eir2;pBszxHJc{r=foXf7kuy)F66`Bkuf?y1;tcl$E6>oCDz= z7iG8_!_3h1S%xFJ2wjOFy{c3<=gA@9Sjcp?i{WQaEo^93F=aNS$+f&@<nt0;Qu9_0 zC31GdcYOOg8f1}>DAJTIB$twxwav-=52=t?Q$5wZRvT@iny(+J>7BzW$xKlbJ|;jb zh3+GDMH@SiKilg3D=0jzU}#81UFR8QK@aTD58R*NBj~UB?Tea@SYJx(pdQNnvLqY3 z*UQCLtDyF3`O;N|+4EA`Y~-<yCvfY9Y^02Uk@?G%YJCFxUIyLY&Nx&HXrSKd+QmZe zUlFux&ZAh3wr14EvYfX1vQbo#NZpRq)-Ca2Er)T!PK&I~a}?$cR0R!NO)8iSyT4B< zKe*}AiGLRQ2f<T=kX7IBwdIZ`1=%4~t!nSS3=<yR><vSg-M22J32TTUvu+d?Sw8yO zkX{d*2TM!X@+GAR3=oc@(#o_*MKnza8v#S>KvsdDzZW?9VqhVSH#_=hDd0w6=rF=6 zM_0a5CmF}Sg}zf>jTo6Wv~|F6jJ^&Paf0x)wjYT>cq9sQY;hv6>Q7?E<@Tu<V9CR3 z|Lx<Y0rPq%2y=DbzM0+`S7KoI(cWH(0@BDTS<R>rM9hSP;U>1QWd`SYCJS5G0eOZj zPCQUde_fuC41#|9)M)&OuJ1R%!bR~QijDTpQ<B9?4YeK=)vQ`>EWJL6fUz{Vq~E66 zbmO;@9m64Mk*M^|B=jwY-L$CpGd$+H{WQdKx_=qQEm~mqu0T64uYVNNIT;9EVmRI3 zKRUKBcFv;%C{E{ZXiDstseZM{1cvz|Jr3*Wv@ixoSVb;hHOoBpY|6~Jhb2ruS1@7m z$7tegTdA<gKxID|r#_3f*5gFXykGEcZVBV%mjr(g^H%7dxN4N(&CBmw4e%hax;a5| z4M+>=#aDr!p`<!Mrjxg<@3W|^=g@PR?KS#w3SlsXIKl0(mU+c^lYiSeuP6ld^)IS& zg{e$@ToFvF3Z`8b-xOS$pDfjqxa;p<Z}_}XRx<S4Vy3$}&-NkzIk+ir3u7fGf3@lU zMF*lrfqcM$K4NZb2>^RmakQD@5Nfelp4Dh8@c(UecMB2mSX{IXq2K&n-9jQ}l08Gj zNT_RDLEroi-AP4tAoo+zr>0x{F91fIp>Tj0&G2BFK{&4FPT;|{$Fbu-Q<WKHX(bRT zs|Y+MDv`~97|mUVoYrJ{D(aaQro8<fGljQYmtd<r*6KlOYsj;>9%Rqm%;KVk`-&LC zWBk6ybSejbEyf_m4GBE!yj{N;9SR^0d!B+Z%C`;&4pzU$7=?QfC@`!QV^x-T50Y{9 z{`Bi_0hY_T|0qu%*wsWzJaQ$@EYZ|>L`Eo@5as>bc>ch^zsfrbe+eCN#T)ihYVl<U zZD#x0-Y92Mdaa}~rd3r@3?vC2a^fA3vzJ@NlO&p0=r~OhDw}w^o#A)f7O!R}8dyKI zTf%TQ5zE}^%!jXg>QisQ=*0nb&Oc%%Vxt^0Y(q3?8u9RPMYek9>F&(BL=8VZ)Y+YZ z=fQs_{P$ggu4;4LUD+6doRHGfa{_`?Jf2MJIipIM<555|W#|c*Ge$PgXm^caiK^Kr zi7}C58VUV##ntHZj?}X(AR9=__9s?^?V0OSs@Z*ms9(0Ldf(36@7x<}p4d00N}q;H zuK!-Wn*4h(=2auRs<N7P)%H4kYSIRYV`?;OwfosiaW$#%AMub3p*eb4;mO!|kSV5; z@5FLSwVn1!&2WwSiuBfYT&Xi7tAg>Ulv#!39s67?jiK)Gh_0B+f?Ug!1+HSTIihHM zTwol<6o^a7=@8{=ONBa#dU<j`jLJd(a&Nx_uFk&}d1*N+W&4x{(CHU@X&GVxGUv(^ zvz}&pqw#J@i+1)e*3Ib0a(b@;r)@Aj`Em-(pp|3lI9{OXRO#RR<`T3oND=!(2}usJ zy@|?d<YX+v8hUG7(<qZ?fz=xcXhgQaV`V{rev~liKk|jm3uFd~q2f%N^YvxnXU{O< zg7`YDZM;rPGH#{*-nr7dGnLzdzYeOP-|GR$f3i;{LtXEyHW*MvYMZ`0?r&Hps>g#p z2QC_CZ$w@kX|S1UV7y9fa54NF%nJGU_p;)`mI6?>L8M`SxN>bptcFf2+XM|c1g2Hl zCEtnYxVvWp)KOQZ2ChU6yF?5ZX?K@o9SL8E;X5WpsK_*ZkNz?9L%_iTT?`j7;T65C zeBKNqELd9B@@j<qpcp*l&D8!h5`Sg-pznp2Fvi#mfT&4o{EeHRhJta)QD|S*8F@5n z^rtQ5`@a7O-b9hjluQ}CxoG(AC@Gfgwr5S0-$Q+gn_>Yr%1F%1rSF=+dchH%p+`i{ z%3hgjVK~_`n|TSCFS?3+#dUR}B&%fi+$)sTsBRuVz0l3z+slx4e0$3By;B}A@gN(X zgnZmNEL{%9?vJg^-6N(_d(D4TTy07JrlCuT4HEjP^pDIj`eNHUIrN_@OxOX8J&(gH z<T051t<V?`OKm|tj`9ZfUP7xpfTY(qCjA3CCsHH<Zi;xd3%yg8e|nLaz3<@nSiq{i zr1cSbt>#jDy7t?NwxU>w%bh06J}@;~J%g+zQxA}?Eb$ggvcHKF_&VxPo1*RYC#|H_ zyYQ8_;LgG)KJw_bJZezna`?YGx~vW?KrdL1?!0F=+ph{c#<%)b{H}FK)cHtm;E`>G zRZ4axV*36lbO3Z(uM#FZ0u@7bO4>vIM$t32RNB8M-z5;aasR)$@^_yUS(tPPX856g zyWN0od;woxY3ExJCvnrgC=j5>L5suF+&&LQ`=V!5NOguCLL1k5GT4U=*$*a{HRC(X zImf#U=zGote`4JDK9ck4rfS#q-tT_9Es?gZc1(qOcQ7IgQ=-A6zS73!H~EH@b)Z4b zbeM~JoWl$8iZLE@jVw2s_k~U+-=`^|=?0&iLrnuI99-GSO90_D*s1c&{Bw80eTa(e z`t$_~gk{nHE2RkZS=;(YT$bT4c~ER}I9)N7;FkrHi}VrhNO+jSu)6izGt?zx-OGRj zMo4_#N}pwJ&Gk<`uhBmL!=_j1sdC+QT~G5a1z!H1%$&WiXZp;%e!adPc>M>6(spU- z($@EM8^nM*lW>1P8`^X`Kl9Uv$<E3%FlFo66_J8Lj4XkLi|OP+9EjU<r~4!%guHV> z$+EdJf((AoQYb%EvVe`65?g`JF!X?81d_TiEJs?{U#os2DEppupqb9gp@HHrV_gdB zlT}>VoQVu@X3*S$PktaQeBjmmahia!T$Es5NUC1SheB*So|GieCaa{A)xfYY9HAx< zgw7eUKk!K)bV=Q<Cd+{{2afCPGV>5l@ss^;p(*EkZK#K}fbp}QZ(BbBoagraN85$2 zffKiXuD)C;W!~q?)}N)npEce4Mb*H4-1Xa`^Zvnm;$SaUD!X2*?HNebj4Ba~l(o2m z-~!iwF~g|U&2DB)RDZ8UG;JEunhc(K!Hiu92-4WPLE0i3G1n7X*wKf*n9oNUHMUQX z!s|o}WKo{*D{(6a;>LiHb_U;!Fq!~XE7g;w;tloiNE0v@uvrPeR2Q0dT`?_!bY*QN zWHVRsNbGqgf0?89QFKmWS~X#0RRsT?>f`E%mho17ak49G;(fTq5!SE2UDr3mg{^z< zm)jN0K+OUcm!0m6h6*sCuFI+-@E=mhu=R|Bp?x~)^BysFLt@_2zjGRWH^juJ*B;*# zJ@4ZDV=wMEYw0?^J~HEF*$be6NR}xfwx3_I*zu0?RO5L1%%4Pe9LK8EUf}<(Q+VWC z`z=#%NhC&NzZ#PzhB2rTsKYifXTFYWD<Cc#&`f%4aKd2&o5sNt*2l1KS2@l5P+LE8 zN{reV^_1p^U?&c0$Wbn6m2J1I-pNe|KPXg15-ywes5)qp_wsGtx~<=uJ>Qybj+b4q zIIj$F2W4T~a)%5e^>UXX2I>B(vklI<{z+K+ml+DAX_+cvbiR`g`EU_oQseQc+jAB8 zd2<Ws=``%Tm(}l4q1XXQ*Yzf1xBs%uk!-4)e;4rRXSYb#X~lcC^1qR<lHse4?LU9s znu69;i6~H!gN<gsQs<(JWqy;9bCQ{Qf&MLWZbj5^5$ZS&ZnnOlOKA>5lZ<VD4-ep( zw5o6@n7A{h)S|zQ_bOeO5v>H`f&?l)OpCjtlL>?VgwzP;dRHcBTT5GEEPH<Jlq`?y zFl*(B&A{FFj0hHql{Yec%mw!;6-=$Wy44sE%n!`1;y}$LH3*)tf`f7=9}(%wj|G1y zaUM9$PkpUm2_;_=%wc92u#@BYu+iI>c#n3cR}BgKx!}6KJ$EA*)Ud|UnX0*>-QZyi zW;G#iEPYy^#kpckt>Vg^9G_|=5D_4A!_q+@0cYr^#=WPBfK}Fz1k$K5<aMfN9vfPd zX1eXp(@P84b696Uh2_05F1eZ<@KINeD7;Jw<OqbLSdv)65~d#f>QUptUnIN~>VFrY z`L~dnXdv&`F2#&9<BD^(C@VAxTShX@D0(#WGm4+;T~E4dF>31O6A^lJ_8du$O3cF# zeezmAtZ-(06iKZ(f2y{g)|}d9b=I^YKT34{nt!=GU^>`5^E9EU`8h`_^^bDSKn611 zsDs1oVeuo_k6-)*{e#M?WzV8{BvT*Ptnur<r9x+$s5<q78~w*=0DIqfm^OrV_r-=f zI_&&2#pKfD(sk#2FZwT@iB9Vd6l}I*1_K%jK=!SrtbRwv;(}{qmvUW~J=V?>)}^SX z>%ecvavwHs9Z6arseoL({Dc#W)?W(J&o&Rcr9;M&mIHLCf0_ql8%-hrJ4c5XJ#;fy zag7{!^&=jqm)D%Cc<2l7El3j*MOXOk1?a7Ia}>UDj@3Mo8KjL-+;MG)*(;W*?Dk&- zsHdRlpmQGB!jk2CTc7a043TYExX)|turW%Ap~+KW6umbU{kQ}*AsVA!5-YzKxS9Gz zeiS08q#Q@OopkrX;hyS^@F5PIiD(Mo9n<31S)Jva{N{|M@m0v?`)DxvqVqOW^p3ob zTmDUt+oR*U_fscawJ+e4Wu^N=ch?5XnYg6QqW2$`PEk_@KexdmP59gjdCkdIsl&K0 zny)3brR4-6O{vZDfeCVT`?SM3^Cx!CV-q#y+}1wZKg_?#7(kK|ErODtPqq^L`ZVFT z^CyPhpzD-cRWr4&z?@}47b*Ti2fLudw@1C}#gDb4-EB6pt-MmhuVc#zmbGm4zsWoL zCO>P`>EYpdM`nWV=I;d0)%}t%d8fdV5<PjXe)D?7x|C4;d;4LV&YYB+jVAc@tCFgd zm=_$8(g~NJY15j2J_e}mRB1X%YP!Y)n!5oKi3jik8=>DUI+CC}LNQhN)TQ3m@c;*U zns}h{p5Cs_<d|&OZcYH-{LRRi``T%ZdSvPlb-{B(x5)G1=}Unbx&~-hUku$cUFmIJ z*G~PhaQ#$tyc#EES;BAiUi&FJ^?Rj$#p~&P*tMceTjrA3W|FDQR-7>){d2}yZs4q7 zfR8)hC<z!+kqx$50fAp7JwRuYtGAo;h?ucZlsJj~Xu?v*AMxG}WQoHRS<yJDp{%WW zw4&x4DGDAKOgi^Eh;&OqxfhD0J$CcOZ9t`beRMzGs~+I%6&WVjoYwQ0X=a3nho_Qi zk!gb-rzh=rj5%BEOKY7Btkb>1d(s2W0SBbRo6VT0rue*Bk3nbPCC?|6_g6yieA6;w z>5hN@F+`CrGtAZBYkHDd4gvfDS*?kq++^J(X7C;wKC{$a#Z2;c==Ua=d`qMJ@?o3J zhXnP|MZca^lX9!pTO9ynJ<8(6#&Evgn)GPpJ<=*cNu*=vJsI&=llTnC%g_#v$98_a ziVIaXSvB0;M<l3SueZL9ifntS&8fHTD432{#lH~e7fsFJ^35x;3Sdt`J&L3WMTnu$ z#&tA0qf-C(*CD6_XD^EYftH@xp20kIjAuuxfWvMyl*8Y@G``h!KiLHNA0Qb?Hq%0< z&J{=9*H4g^$h~t+5kP?7yEehC38jTj{_3tSu~!{m=YD<$+*CS0A-eGWD>^B}%G~(g z**4xy3a6iW<jHIGZ|OPHyb0ZVZ_gIF>z$}m`&r~22$(4@iW)T&2}ggIN8kF^=0rEP z636j;3H9A9kHhUY#J0ZXUM>#F+T<&A5u{iIz+N+I5zWz=bAEwwQS9SnpfpQ3-Es>l z>?WZ9*bg8G4ILJPlwLLTosmE_JK=wX!zXHgmTE5jXqC2grh4TgG72s0YkLUq*(!A% zQx*4GemuJN@1cCG?=Ycb+!GC$G^;oofXfm9dsH|NC-wK-Bm<*F*5LuK)!<g{L%f{{ z?(%yX8##Tb_p9(A({DC7W^{~}8i$F(*Noe{N2TK@n0c*ben-8Qu*=@t=C;irwrj)B zI^tEu+}phy3QXP8PD<YkOqXJBPT@~R2vy!3VX$P<>&<=U3NQ05TLs_16f>-4K+n9* zHug#F%jNi~GDyY06-X~7&}ZG@6gNdaz_dMS7(iGCe=>+e7OQ>6RRKv~|7W{2f)j zjTBpV<t%Q17P<>9ZR_7E%jupL|McqgSrz55`OBpw1L6atcj_5OJ^UT*#tQ0yJSoeE zFpL2a!v3i;QZwCv<trXUV=UQZKw*HO&CefSI_9}G>5gR|GE=#0#Xm~5Z9enl?`Tdj zyxtsM)^2U`koZdvY4sC`O8TPZfIvNmYd~@!4E2KT@9Sn;wA<a8-3)$Up{S$lpnu>9 zbuzavq>j6eFyfZ&mF48KAKXF^t~8jvmkq37@-J+G1aj^W63F5fSYz5Pxn;0?B+1A< z_P$WBxwH`#{Fb&NgsMp4#O?KxQ2kVa=_JII^ugU0@Q3koY$ZOVtjp|}QM)D|FiGL{ z@M!Zq*gL~b+sZ4@DhFn${VA+nrVmHEU$gxg2JRad+c`p^ZD8Wh(D|W|F=3IDmGhMR z@j62~pXNuUX5gp!Ja-{?0p15MT6T~34?<@yMUcxE;W!V1nkl^o>mD|-?Y!`C&u-Sb zkUg88aX0olJ&K#P{fSv3_~(x)8PjHm0T=I^7!t1;ZV(su`lroSi`=)Jvy7v~$<FzR zU4q>_bzZ}BjwzE$%^yB_TjSRO7+%>QoY1eBi01-!H*%gpJyI8h$~u7cI90nI6#Je4 zn7(^9?ZVMqfUYT(G;7u&OM&u~+;^7@+L)<!<-zixjnoN|OWl=&?~BUF`!^0P<a%4b zPH}XBGc2l6$;3bV6G~?<T$cUnY+~;{;RkcBlEOA7b|xLV?CbZha`Mu#W+|K9HBX|M zy|TOQYo4*~!pluwEMbtw{2dqXK&_UN<MpWbkZ)Zhw%>3Gk9W?Ovag{s#udjn>&0vn zVqy}*uE1Y=ayljAU#R2vbvK`g0<I^eImK!Xnp@a5+rYl>6y?3Ez0%BBRZzufU`@{B zr*DTKTA_M*d2yh7aQ`lz?xw_3)VTFFMCKJG$O3NX`#4{Ev;(p`VGKO>{|2;y-LJ!r z1h#!)X-FEMHumcR@4c6@zP?0~VQe`Hm5NQ!O{9Ns+xZh+%jdeqUVL4y+YRRdM2FGh zp^m?Gw-xOEB5S^Cc*K-NE-B+yCJZ8gVn0jHg7#&e-2dI(J`+)Qbl1ed$?&^FHB|p} z)yLH|iTN|HVha;q2yN);VIy_~xxW|BBBMYr*1a^6^nu=LNcY0x_ncheKmMQTlIXCc zU8}^0nhP_`RdR&&(!VB*34e11{NYH|_y3}3E}qPK_2Y2!hw`8oa&J>h$E&95miQd5 zf~8~lrSQ*2(4h_=Udc&p<FDUebrX#Jb_%_O^W@XaKM>Dj0Uny1eY7~r!!p_Ff#T<s z^<vTcf+;$26RJxf+_9CHyorlv%Il69A!Vl4r>;cP%SZ@!i`HQ#!_u*KsG>dFt}VBz zolg~`%&`j(UV5YB<w}PrQ-tIDP-ch3INRJc;yPo@N_d5Y)!cFLY&y2P($GB7w*i8T z1E^UbbC`><8XqMsChYP{H@BQhuOk{b4%|17k8rRCd?khe&AguaOK)SQrU9MC_`Q6= z@rj&>5NZuEhjB)gYPWtLwnLlPnOzVwTmwnE;P921Q4>_lc#{7x=jk;lSTc>fv!;}i z%i_aT<K)7-pqf!AFD{grVC(LlvMNBYAQ0oE``n8u?}&THJp{jGU%7CiOwv#v33I9O z;3|2qmfWNRl?`3Ax4~iko*K<FQsgR?QSaa-x@#kW;_oOn$Wqq27-UI5DWf5DP6x#q zsi~<Yh!JjDT~w6rJN$7$f4!D-dO_o8kG}hGauK+dgAdM5kO%%b#*p4oye@|P3Y%o6 z$|stC%rZ+yIh^9Pf*Ekw1A)o!gWlSgE7+b9Q8edkek@WdEu$(f%%itrwg|4>+}(f^ z#93gqr*VQFmF%w0@!m+%Rj<bU@RU|n$2i_^J#U#+NnX+sw2z{+%orcQS+XAgLv4%` zu|(ZCWypB*8lS8+Vg1UGDj*fiS=*Gyo2%WK+KOXD(CZgA%uw+B4j+cFw~<=yc6~%9 zQWVV)<7U_6BC1lRuDjCL2RziOMdcmKSF3%h`2`M|=y@2?1Y}K3VzK0B4}UFj$a9j# zvq()+5C_iOtLE^0IpR=1N<}=7h95(bo4dI}R8mD_8fwgSkvq!a6w<`h-LDGv%97rW zP$V8~lR&2=3#@D8`%UpfrmaoZO&W8J;l=(>wQ4_l8wF;XqiDuon9Q82-_a3Tz<6VJ z>xZFxdZ{+4;EaS6q?>i~I^8LDc=zRPsA6EsH>MQP8+xth%lXZmW$_-%IjC8LO*D#B zwv?CjI@}tRIy<UJZ11~?HqM+A5YQV1Mz_-tKtajE>j%9fXR=bd+BPV*DRU;!W1uO2 z^(9s|jX-q{P!Vp&gSVUuGyZs-kgh_?rm?Vs3lj~qlO2+=7k{zf_6E?$XP<noTM14f z=8wr646}`(j;q{Hg#N&SV7tPk#cP)D^6_vUdF7+FFJ*x>+0nbZhOLoKRW1EcyOgkd z2m-oRoZ>kM{bu`ytgowV4++V>Vk8emkna$cfb{`M6aKi41%-c3xI(}}{96BFk=><G zcom#!uw*kaqzS}H08Icd8=AR)b4or0GHBb;NdF4g@W-V>da$t#cK8TS)^!u2?Os;| zG+V(|{e0L@j1~bVrj5uqYkl5QyG@80c!j*nevhLYZ~TYlF(HcY&^c0c5Gvu0M!G%$ z0R$ca9+-YAne0tec|Di{4h0#YjaeVH*LCm_8xV+ueUPALJdz;j&>7jCC!QBUK;f{T zQEFC<wz-gvOP;`eRmE&EZE4GVfKUxK{aKtUG{y0`jT9h9w_laKpyR+H^+Max8wqwX zpr*a|SG@G}48DtyheTA{=Fw9((~v?6DId$~F|elJ><@zI>=z@+7%JDAB0~N31(En! zvQMaryK_0Qxc^{dW>3!s!Wi?jW_YrJc!X}fabR-&!*e(N-Oi?Sg0UVPadA{U?K?eS zkA`OU`_0c28EHYQJ>$^pV+66e6l6Kpv)b#Q3D#V`TaIi#Z?ss+hyfp*aX=&=J%E8! z%gqHyUaPgWzwg)}5ifJi8aEJBETw*p#tuqIItqd#EH((;d&!6+ZUU%5a1cMTcHyyL zPNBO3VN5s=;*w`9O}A6w9CJ<a+K?rP7QcOf_Rcc@VWXlQHjX&VM1Qx%OC@3K;A%?9 z9uKK{4mA(m@Uv4%>TqI8;zvg-aF&j4wIEPk@=ppz7eOfb(3?~a^2mqZ961=W!KVFe z@L=L3q>KEPuJn!$*|ghYR_Gv9ot!0)o(a1dF3IjK*UKzxr4*r;qZBK9D63lPn-VK* z<Ki^Fq!~W`P*34nX5kiyjDbr0M#!c?%chHkT~|5f3Ev6EOACVvETZBX&7luM!=rO; zcy->;JK=V!Nn4{EJ%zJlXh7aJ*m|Xexd$XqW}JiEdsQG?Z>er#W%OKzT6yImy<RQr zp12S4HQ)kC1xUUo?)Qcd29StL_9E_e)BMBXjjDB>oOt7TC?qdrK1mk0Q$IL8Aqrsw zug8J5wE$~=7CXRR+QV2?an|;I=k|^j;%945f2l!uiaX|^w**jNkN6~XPiD^<3{fbg zr1TONos?Z~ae!6vBKGUg9XZbT-F#Qx;Z@w)GMo1&`dY_j(#K}u^r2l~G>1vA%)Q{G zq>OzRdiw*^A%PkzGU)Y+EXuZ(sRv-glX!xA?%c4Uy_t`oUCXzI(C2h`Wm)P+g6yx7 z9?ELcNLLC>IL6FvwwD~V;;7^9obt@PSdsGvQ{Pb8?XWqDO}q1e4%e+qyHsbjHRx*2 z9KPyu25WpPuWG}>JjxC*_Ht)>zA93p#=Noz<d`6pSYwa3Hr*KZndqB|Ot!SaA+pcR zzp}r)eD`xZaBJie^vN4&^-N4lI+W2aYMRQ`N(WLfE|r*_%(EGKZ`P?_p}|~h(T%7+ z7_ZB7LciR97e!>-@C-pn%{1MX_7t{~hhb50vRoiSq1Vpy8kK>U?te4bnEJ=5U~h)Q zI*J7O7``@I;{PUcR?kEo@3#7VRIyXSk=|$^uNE7+P@|r}ceN_csSo61i(T||X)2J} zgY{?)y!)Zhviqmr?h6F?anOfG#89&49B$F|#K9|N1#A3u@s*3*z=Jl=bTk?GI`#Uj zg2(R-3xlQ`X~H$w$++>2DxPfj;Y5ZqQHAmMcpF>TE3(7)z?oorT3wSDIFgCmMHuC7 z&@8!}1*0vt_lj%4`B%^hRC{6JIgFj+&#qZoi!54oQ=D4B&wnh?TMb2#%Ug>`Jt!4U zbqZTPR<{;~-^+}bqJ$5L2SJ>S+(h%R={*+IXigm`W*$Yj9-t}MK6)`VJSjE8C!?M~ zliU(;K;ONXV^YaBgmznmhu2dlK&Q?lx*3*AKJxBSR-BUrNTc0@5B=G**fer;$<w!M z`V%6_-D`aV?whQ1jT|mZ;4S5}T|$M4MBioNi~9jYH?>=%9zj23UID*DX6OGnNYYZS zjpWAx5JEA|3-GrXe18+Jfv@#BSq!4>Jj6yHfHbk1&L$&9iTEM8ZA7Y4Ej=W3UQ8Jo z_n(amV|SWQmmI$0zV{Nk%`vVwl4R_7I4CjNUAV)E_wggOp?qydM(33XG2=h<$~4>c z^a#)x{Ck~XD;?iOt!Js6mbO_y_KXw=yDC~h4@{AgX;Z~9x}%lM9^Lx_e`3<ZMKszO zUt%Bzbi%tnk)Dd5P{8Ch)986MX+hW57umx}(7^G^bECo2z5I9o0G8Bv;#=p1N?{1+ zkQxKm(ra#-1=Ah5ElgykNdt-Y-7_uHk?BvUf*V)WEw3%stY#p>wlRQlts%Q>$Qns3 zz3L~nQBi^<Ap+ed`5FkRLqM{sNDCI(i5B+L=EHLOyBr6DFXRd$H?|BW)m>X<?DfX4 z({f#W5hCH5nd8nOJ$(+$F+*mH%C1=N_XQp|1Gk?^dXUt`dR|y%DP{$zW;<{Ba6NIP zg>5n{hnu*LY9LA$$|3)9CN*OHhAV!}1+^)gxzQsiIFPp!CxY&LK6SC`%}fRd=5-)E zesfpfkK^5NV8_|iuj?DUV`Q^pqIOi2Wq&tn$f(Mork1j3Oj#?*BKY~0E>Z6dl^6TL zkoOS-+jk**W{VpX-(~$gLwM5(*YX{h`3GwalW}Z(zP`Z66f@H69h3BrOOMV?>#kmp z_fW^~#_pI#wTBPV%odVyp14L>!uk%1Jn)ZS{C+!(7PX7cTj2W;m~!b79hbe_HR<Jk z{J&K-JvUyK3YV?j>g=sRxZ<a29ASH$VPi*k?t=c`wOSrxqm(1B!lgFsqsqRgv417_ zRMv?eb}maQJU?G)<6KX&A36>Va_d({oWvfZGPrQq8?R~riGG1$<ZsVbaJrnyNJ2eG zYdJ7mv^2kDQ1-Yn(!Fc!CA9OwS@S3fcjsIsD-7-bTE^paq9>1<RQyVM3f!_XLHz3x zbw0D!7avk8fE$?rKaFM^r3e*+q%U!bZ5DpOw>6}87Ya0FN#>o{ZWqi>mi*&B(Y|0( zR)N7>JJ=|Ch1EH2D;PTzuAxLW)^&7}3@4k<*cG;OSE|OisMYgpA<UZ(QX*62Fpo}i z@hF?y9yj|~*(Aynt4S}Rzco4FjzeX(!4+#&)4)jmUWjeHQB=IvnA)3c%myY44Iy;u z;@p!S_h*+dAAWm@6^EDckV@RJY7<~Kxt*ARk;WBI-Wn)Yz634q#xk@$X%e0PbAkrs zj_jBkW9bzsr1)UzsD1C1Iz)R)U#y(QgAUCdj9uGb)V|az4Nj(njP_(Cuyk<6>#Q?6 z!rFLZcf1YzoLTA0#^fLHLe;0Kj;JBTo*LWrVjoVZgwwWzjfMeP9@a1{vR0z{IS#@U zEobdc%&RPARir>#!S-_QNK6yz5MxjBR#iZg*c6qa%g6LrE?@nTI55@cy+gx16`U|9 z%*~B3XJ5H(Vxd(MwOobQC}QE~7j}KuCg;Tk`=?`ooUtHVPN(_BeixRCq(o+hPon>i zrniiWqv_g4ad&rjCrGdWgS)!~hr!+5-Q5R*26qb(EO;2)f;+)o0-Sm8=X^hV&8*dB zd)Kb6OA7m#?upz9qh&nmAVM#E+{eir(@wq2P=OTTkrfT2)aJA85YJ~N^_K_b{TB-< z#O|IapHlvE&jLi6F0y3R7b0H9I>?8N$<Lh%E$dmlJ$HI@xHHrY^#Ukjwt2<@cX)GW z5-epwg_jW_?ahn0@-45HwqC9n9&5<YuXSW(qo8@O;X&{3M(j4kb?htX24~N_!biJI zwqDR_*G738zM0k?i@d^xxvcR(y*bE}H>|J26+?D-ur+1s74qDf!|TaY-LFXAo)j?( zq8`F!KRpPr+uB=yle7+&8R$QkIpk#Pl`&Iz%iAOAD<)>;x3$5>4czd50v_6AWb24V zINKu_n-f?WyMZUY=2(8eT<IYsnu}W(q<JecmuI!;uz$Z9|LtK9En#rZ!KbN`eiOZs zNOh4yL9)`_0x@(RXsg%us%=KKJ>l!DBK8YSSBzOY<ggp3Jrk6}`hm!kcRZSv9{&td zUx!BrNQf^gnY9v}s!l!sI$cnMmijXvF;G&$Sc5+kmeojCu%M_M_2%V1c!cyDH*xbX z8Z}-zXCNI$bYS1VIlXP#W%C;!422@m@^-2S#v?T&U!b1Bj@^~#LgNL9dGJ8~0Qwoe zX0Gx$uu;s29d;`uur2CI`p^2W1AY-cXKhJRL=hF-o86Y7pq=d#hR;}b38-0o3#xS% zrMP=bb$j_;E_(Y<>_74^s(zxbOnHs>k9%oueSHq(F%(?%1zQnMD+L|zRSYcqdDI0y zAS6wN2wU+Rb-d`|bM_28I^bd^{#HEwci!00-uVyXr-@Gi#b<SaoJWZYWcncy%EUk& z0xwE@WX2Hw>_XFx@r$`RAt}C?szTz2XO7g%4f+QS>a%x8_R6Ws0hK=(Ny6VkF)BWo zOx+2M<!Hq`I+RzizoXe!uMQ4C0M|JREo|yr4{>dbAOnsuY0D7(HC=jx5>%f@5JL)5 zRp&8zeFE8yYCI!nxcfVIBOigB>I&Jj)>Bo{Xd<VNLfb6rd)fouRzN_KqNivd1dDK# zw6){1@e0%Tq8vnHaqr6>{{A!h5Gs=Xw8h<#<)#o<9F?;OYHh)K)`OOy_$-c%JrIf+ z+AZM4xEsGB5|3!r${tFBl}K@>4hlCZftbQ>lt<stn$9sPxk-~6-t9sJhNg^w;Fs_4 zASl&q?zA_lw;g|2LkwmlyGE4BD_J`NQ)r#h7;zfOoF~rCgu$AA$?}EQ;$z@P`<v)E zss5g+jvEJk+^8r)biNoAC>`?R=wM&fB5d(3{*d><$EU;G0A56Ud~Lh-apNrIY;NQv z?@JGEGjN_yHlUCeVjXvVsO{j9OLhP6ROlT7Ue_yED5<vdBru;=W3!k>u?oW}pwilD z5ur7`kCP4p)*{NJWnJj(Dk2Y*C(Dqviyt9193g-yS9M*!6)2sxBGoCWPdLU1<(x|@ zj>xaWAVnUcJjZ$v8xk6t+olOH+!O>mWc<CoE{ZS_?R)9TM>QAYM}SDjYFdDUw`JW; z)o_PfemtJWemVxB8TjLVPa-XS*a>IP06;L=-nQ)7wOL>AqlxT>=|8RQ3V=pye9qC5 z7qie2Y=C&CiFjsl>a>82p7aqqz{K~yzF`nwD~I`?zmI`YN7rw{`Sq}^bjztJY^dQx zal@;8fB5^@im-qw@Z6*kv%ly1b$XDodU7WtCi4N-$k6xE2arZWgR@N%`5_09KD3vf zzOWYOnbV6v=&e@Yb4nEOKPAz;aD9PRJO2Z7C?|<okj1su{!%J{vY8+?V6KVFhB7|j zH)oou2Hfk)XI@*dE9wy;VK#)6oiB2>XFai20g*tk0JCuC3x&SHz&>D@G9g%I-?QDb zI&@K$Z$^OzGTZ1vrm%TEvy)f`fi1n~>D<SdYYhswa`g7$PZzLR#X$Ht(IG$2Taeu+ zp5bM{m`oa9PM~puJk{Z}Mfr(U7#A`aSHszw+dseZzD@9~UJwF+n<ov1+<Ti+S`?EJ zcd~k<Q*0Qk{tW0_H<m@{U6q!Y;(hDJz`N`(8oTj*;YmCAi;SQ<Z}Pe!I_H{{9&ueV z4BCU`HuCqzS>`XqnA<WS1hyY@{oSRxNGJ`cLU8Ow7}hJT_6S)g0|AZ8?ZAD$75?cD zbe6E%|Hn!GHM5K>j!C8JGqkQ&hV60a%h=k+e<#hbJ)t(PM{S6{Qf1RfEaXv?n)cC! z1SV~C&2MQ4yoHbgnUe>8ps}qSL-}>e$9y(BhO6q4i%_k<@FJXT<u17x;ZT_AsX+r1 z5-yv0;!_p~xc?*1P7=C{So5C090px_>EixqsdXH@h~L1d`;A3VCpSfv9$(lUgH091 zbJvUBoucF1;>BlKb+dFE76HIM-dtNGz2T*~x=_?TLk_DeP!((gj?BC5pZQ7`Wr1m< z&=}lKC<tme)3~wSoPoO%A!DC<nO4NqkER(8ydfTy8lC$p&TIc6qIkvKxpLe0e`%u$ zxlSU1b$f=4&F6HNuOFo#S3mP_%df~FUGJWupuw%X?Z)_iM)BY8iMO$w!AfX;Z9M{K z6D<zx*#?AqdFJ>kirZj>+=5gx$q(F`cZRWjaHVZ&YtAKvZmuLYz^18zP7;wYmVi2- zOr}3~*!=0u3|znUtR7oKTE(Ffx)fEa-gqELNZzfmF?zvTZlYK+vxKgAe8=!U={MD* z+`ftp7oqka+71Fs&sQ>}s)sp-3+eHumUMtSrn8L5e1GG<N^$hU-K;<q6!Y=q0o*F* z(G`T`K+I7^!d!iIf*uYc4wrM(Dt)IN3hh@}$m!j?@#yThsSJe)O1I7L<Kn~Xesk+F zQQ&J*)wm3%TtR%@3JVo~bS1>n8tz6xtQIpr`)kF7_BKCrgGP{F>C~}G<=;cGNl9aQ z2(q%%Zl8R#1W?3nsx6=fXZ|xjg@8GsPumHJc=2QR7@%+EHMqQ1r&EKr8lOP!juRd; z@@zCprU6L4O)(3x>Wm}dR*pv}mw!RNWH4oLzF_DH9hgR=CAA>??=aJ2O>LhQH%h!P zu&fMUhZ_+dZ0n2m0X)`1#XmmOaQ34<<n26|p@Tm}W0A247)!Z-vD%Wyb%_!QQFH@; z;56;L%*<`)`4A>e&oN-XQpiC2b@p_3=Rx`PyV_P+wVk7aWk@09Uh7|8-y!Jc97~vE z<e#6Y7!{4fmeP%xjhG`@kiB)WLFpDRpJ)K)U^AXNa|5Pns-iQuFT1UAa4Sc`$C)%K zD6#V~GdY6j%yU%1Q&+isXYvwaVOGzGC%CvM4>o>|YjIq_ESXg+JFX<v%Pnjs68*eQ zvZx${v7sF-=v$Y<mh4LmVnTNQj6!D;AiqDtv`k@Le4M&n@f-llu!HgwM}Lsm+veqC zWbNO%|2M!ZZ=B=5A!fP+w0h8j@1p%{=U%$-cBtaAwt}1ff&gb;;2EmJFEQ^PI4~tn zt$WygIuh8{G~b|PC`*8SfDF#Kf%k@Zuaa2ed|SKezMsY(@RP)^GEU(-2?%5NBa;=G z+UVo{)mvkf-1&PHnXAa)ZslXNkws2O?*eI&&Amkk3x4^iB>tclRo2SmOS^&d-^;rD zZK=cREMw&-GDgI${w+LOM1PdcJ}3xnt_(VFA*-Sv!K6w8BDali8;;WYRoNvV9R*2u z0>oLNcnUmWy5G`5(Wa5xk_vgx*%fh`SUbL;Nz4PZ)M$I4L{s^`j{rR(0>KM~P>V}M zBK8T=Da({>@60iYQbuHJLZ_M%R@bY!Q3Y@($Zw*({eB-o|5Bh|G-t~-jVEU`WP$EU z+xfqV5=#_ews-~B?;w;eQ+~lcM8ZJJ;^wrdp;p*<grdG}MMbXh>qKRwN6Pzp1IG zQ<7f8295I^8$10Zx;&Z!eUlg3@YN)`qh}63oW8Kg5`c&&+V@PVHg=-dJjo<VemnON zO-BA!43PXBA;W_R2DX!Zf%iP=)}y&V5(+uu6-M1Nt)^Al8|1Z26%dtIl7%}qav@?Q z2o5X`DO7M@nGi8<MGcd1T1p!P3}gRVVh71B(;r3xWCI}ce>6MXM2uiVAb<70Q5`03 zRVrNNOqf`=0V{AMoeX>u%;7suNJ$ll2GA#wcDWlI?^Xbj<ZU;lO*}l7)M1WINm}(; zJ{h^SvqAJ(Vrw1L9DO*PB#X(B9A@Dbqa8Tszhkf3A+gg5383fUf0F-0qH*R3c%v_* zh4Fyf?~r^a5A~yLOHr;^KivQ$Fr$&{7;QOu;oNSM%o*^Z=v9?~>21OKt50`9oFu%G zNOu3Ftvf!TqgH9ZX%^Q6IW`F)kw+d|LLw6_flX{Uk8Keat1>~6FakNMp{NY3>~)yh z&Q8Ji5maIRfCUAyW36~cOZ-0KVdVQ?)Flj(&c`k>=$3UhN~z*VL~Y#1FhQ5(k?o-O z#}V)YGeM0MxuqYMGLy>jzcov2UTZn4V%E=eG1e>&xmcro!+7P`bDvxcId*PE3#p{e z!G8HlQ~yK9whx=xHE7?StMABRwSxe%hB8rWNG?4_yg32jqn`Y;@S+PNV+eM1aS{Io z6q#HJ&u1+L<aA+2%RrXO?_w1s0T;s8DDwWx4UfD=EL+ThcdW-^OXZe9N9#UD8UwlS zQ0d_GDJ~`PrsqJt82eq_zrMpBj-8}~8bEp9kR?i4#SokSb_Zv6J;QDCgl}3R`$+)j zsOCzvaoT5p-I{{)lyn_%9Y{viZe9cd-)+FHlWif_@8&J*=R+Hd_hucenGuAqNK0Cf zv)#|lb2oZ3{rm-56#h?oXLNpARC&B8oSZ|{THNwzfjT*gBA&VMyk>c|{|w(|*NzC9 zD_g2GguWAfH7JauUzVO3d424MaIPw=q(8Vy%%P73G$QW!B!lrAzoai=r9BK!BpCal zGiXM4U6!#zky^DI5aI&j5Z;6qu?Y|g$tiIn*ZvE55u(=i&Z2j8dTgO`0HV9A0J>0t z$(fhFpUQ2hS!dq1AAX(p^2tE_U!zlY5)Xl{&V3ic;t{$4kwd0)oEXEg*8FnRftN*u z8ahk*2?tlwZmzEHE^>TrbaSTjQETFgFyDy350=+FrtIxAc-%rc&PVghKk;B5p@1ED zqA8mssSU^ZAeNunJ*Buee37ufI8ybikaZNgiYKhGkcFCUDU1R<|685=#Jr)QbwIMN z6Kw|{ZKU>P5cB-uM#KPdP5Lmvn|_)@x4w+GM{6^U*rP~3!Hi6BnxjGa-RsSihaesP z2{&%EPYC>`uaVa3$+lKW|J3z6&N@&^^GhwOfW5A>CW2bnyQwm?{;9sk3OU!YQs`wI zc3!O(+!%*s9SZLl4WC<84XmA3D`M?ImbqsAA62XV;17x`eS=x+=U2nPgyU<)o6jF; zny(}s*GE?1Jd+vAdnz;B@ol*IwcNPY&oy#z89g#-bgZLGo9g&6RTR3Ornd@~+@-DX zB4~pyU0{#7zO{)0X474=R!qj_kCC@(iZ4LD5jYawPJvnwDNPA`vwS&DJ8ut~gNRYD zw|fN37ozZ>(JBCD{<Jc}#pBYL0-Ki<NnqKRnlXv9+EXbh>!{&5me|<VE$x8|GTuD8 z;{<T|YnICuJi>H!ZmY)y2du=O?At$zvd6Ls>&}$iA5V!L5PpXRxV9_LK#m;ybA{F+ z#Hdvu+^ODxLzy5KleK9{6Ob^9wn_+KC!Oozf{631vB39&(Xgj;)DVN4mAsk{Sm6`X zyhspRHCxBjjr(I+0mft%pMOw<N`~um!0?ufd|-Cv(L>+8?(fF5ZRMjK@so~$Lv{Fo z_Omd5^z1tBovYtvbdkDJ<_bo*U61Ji&Kk{y(l_`wy>MRGAYn`}Sl_m39Op})$$E#g z5<nG{Y)0z%uO2OLQYtU?K+P!@N@58<PTmGrde_P~N9{rz&GXGj8Nb~U&FhJ*RU5@i z)N-&T#N)5^6Yep8NnLKH0uTQs!~Hq3=p;X}66H@2yi8&2kO8uS-dyGNTM#b#><D77 zI^|uYoB3D<ZOst_<+QW1#W^(6<Fb)$q_=u|tUL3>FS=u3$K*DqO3L(SnByy-gg?KF zgZ&er#hM2+V2}CVhtWv>0^}+uiRNPQa$x6l+_ijY?9uY-&ZPFu2ld`V9;*k<64iK@ zRQQt8(Cji-Sp;8`SPVwOP!W!HO(lUVu78W|H~RQ64W5~&aA4wYUb!V7Dm4bu+`hHg zLWrZKfR<^5G<$(6cB|Y2Y@NaBiJFoDGkxU2*O0}St}SgZ0IC#^bxsf~!ns2J1!YsD zLGQE$)Ov5=0t;pTHUFBA6O`kulfeApwP3`C?i-;B2jz?EYO@f}in3v|9WCTC>KP&2 zLz{jq^oMCZGud~Mp|cW;b!a!GOaN{d)jPBVH_kS4<@?>&+s{!6Q<OC6LB%AsK)zUO zSEfjg-$J}!UilmAb*VG3;;^MOGo-?^u#V?))L!tLAK3osK)q@2Rk6L<*s8C|keYC~ zrs#-%`>c2Rh*JJ06ml31ZNP`2BTYBM3{zsYSgh?)VQLUvu^O6E7uMeOoxK$U4;=-} zUI02xnH{0#vctJUWS&t$Gk_MVTvgYo5~DB4<D13^B#6)qSrZ|c=%1F7RdX!5$4*<) z`EID&-cKhn%G>iNhs%u5(Ee&fK>`ja#8v9{?%vJpsgxhs#U^O!9K}|g4?S7Ds@<Qu z#%Rta9~TdP@IdN<ZBnq0_L%|qYDU(I6kC3=(mYviRhTd&e(*~iZKs74QU%1Vw!>>$ zaKx=hlqT1~*wvS>#XnO^PTU84Im?u(YOcs7)Jh!>Sm3+_8+Y_gahA%ls^<Bf$FkB9 zMS+FEJ$d+kJ*EA6Rc>4bN>Mo{zKFJ2rDWNSR-bcyVZWmzBJVy1VQ7_7|K3_il9+Ip zz05%ArL2uH@}Jm51Tz{l;_<`W*`0NJUmtn|m;PA)6WiBwA+$Mo(@^;;=+&+oyxEtR zwRh5|tB`HtVU-D?C6*|n&b7W^-c%@eh*jWw_}*3?`R2Dy_wPwk-Y>Uax6H5GYWvRM zP$&ORYW~0e)$$!nXi?Ls`0(0l7agz!zke{PY(4htbMHrYzeAuYdIxSNse>v3S-C3K zzxs4bBYAkQqm)~+x~amK6eLb`aZ)eukr*%(G3lX>xuEJiTY`0zcUL)lSb0lTx_i<z z89{C-+fj#CLqd?wMa;yCr+3yRm#;#LtC})p#m7`!&zz*T+~=6`mDo#ddps^>sdfqt zSQynFH5!kK-MX`eRQOy%z??jWbQ>4YAm=@yU4D~{t&Zms$LIS`oUVC~Y_NBV8>x`x z{~Jd(g+n#Mm2kihYC?qkHv5gT^?d8g$54CIP4}lWv(o~(aXOJTqE@hJpzTi(-vLI1 zEklA44ORn05ZPWD$bc~)9*J71;mj(io*72WM!Y0b-a2E>M3sTT;*f}DT%DkeVMpeX zt4w#({g4u`%|8z3*mfc!G6vG!cxhzE6Dm3J`>6IO9k_krz+QavCx`Y6jPdc&$O@hf z{F8wFb@_GuWM<td@H6zmPJ1l`M^q-f;n35#T11gEM?<VqsXQ`r0xqP0Yitl3LG18d zpNAQ8^wtcbNBHu^YHi~FymfC7G@0~&)IDo3+w!Be?4jM#RZU!5&dH9AeNokFJ-xXK zlp!Hjc+37ZZr&bI0I^bO23NYQtDAS8Sfpn+c%nZMkgk=PqFTX&pco0jwH+wpzqJ0V zE@v=5%^|*(Rc5xdmVyxKIyi=2s|Z;aW1!DgNnDxLDXr=3j7k1bLK0iw1y&e%jp^IT zO1Pk{f|xjPZQXv2{RpsJx7ldT%14&lQi)fo72bJUCjsqUcItV!77Rys5UZ$`?qch5 zqD(r{+`Zj}I0)DI)8~%~ztV_8Eaf!3${>6xv2dM3=5bd*z${w%eDQ}^b+=2g(zIpY zK}fH;ekGhV){;9ipgOMY7DH#z@c~c%8Z?nW80LpkeHEDQmXQOo<g0|wr|xRp90rYx zeT$(wt!Zgz2H6N8OwV2A|7D1D$P9NVXDQbgupqqxXdM@1SiWjmro0k)d}7<GcTD3F z^UEqnNMg!U6Q13yV-H3x;~P8>`qoG!NhV%%%3YT=nVdqI>`kDQjW~p<Z_p(;K4u(r z&?32++ZjCwawhe6+EXn7DE?)F7s~?DaHA=PZrFU7grr?&SC?OFfrl9iyNAcr)M;|4 z+*R@#iG<soSfsMr>2^Pbs~W6T{ydZet?^<gw@iZU&fD>=<ns_D#4>i<z`R086VWm( zdfs)^UTgMP++SCO*8|E`=sCE768J*pYsg%R8k?}9$Jg3w2;ZRs^DcA6Z=#X%c-gZ< zya&hX*@Bmh*Vn!h_=&I!b3oly*YXu3<D_J-yQaf{JACsCiUfA9SXAFLP4vStVs%G7 znZu*VZNDYjpn$z1o%N>}ex=RISBJkReB>g3yUzY#WF=(ePE3h9iw8j)w+GhaJpXPS z3@f1~0FcvK&<;|?#btF$;_=$9v~~*oFdLeaH6Cte9ye`C5&YtyZB=CD*lJuf4n}V` z6-iay2boW_i(?8JHVRxRjLGVhxF@27a=deetAxA`Lgm%ZWo+t0k1GZ5xj93FOr#vY z8OnC7vv3r{N7F*}o_4=mP)}ljdN^j@OJeCnnbwnT<FErJ8)$4SL--Nch38~QXY_Ze zntvw1s6|>#v>IcKeK`0KxG-kt^1hmU%BhP{L+xve*QS18>3~YGk7?`X(o3Wm*`(GC z*<RU0IgnpA$*`9UxCM~HDFox&deitQI)uvLNFX{^OszTCdX+tXN8|`+>j9~A&0KH8 z<I$KPsr=UX#N^LEXxu%$*#Ka)MuX~|E{ccCLIz2~gPZ?3e(I->m-%b~j^OWEcW7CO z`|Om7y$WSO<gseqZlU^ERA!uNA`5wfWU?n*E}%GjV;=S@+0M~N!@|?o$e}rvHi>oo zG{a*cmkB@Qvcwc@5QKpy6oODE?+MVA1eSYEw9V|g5TJ<Z9^W1o{8Rcgz&KqY6{3S~ z&{JC_piaaa-;m6ugRGvT)KM{UCcD(9hLsn9vngIY00Cs*-<!Q6A&?JltlaNJI|T~- znE^?zNG0Dv=rrz>J9}tCwe5v(5(t6zXx(RW5NRl9bfLz!5e`k~GGv*7!z&86iRt%c zUYfdV!<YU7qzEees5G#7jJY{NoFj$}Gi5{_T#b)eptbR>1j570$U2*!QTb{rzSX2r zKBzKwjxASe?Ijso+ssJ~eSt|wk9LLlUwQ^MLEO1CKI&fdu&r%OB$;8J!<Q86Y&i3I zkO^K83yH@|J{HK)cg?GS;h`I1o0=Q+10qbEi%|IVjEyd|>0QJ~zSlsHP)M05JlD79 zC}JNgSqs!r-Sr!5cH7~!n4{C#r@amL(g`8i5FZ1<?uXl<;@MXW8psdv{~d##G+f~; zSmZ%GUKtn(<oYVCM}SBai+H8;^KJhH-JI+L>ba!+phnwx$b&N1Ry8v{fPzYOLH<<P z$fLD-aewGqD`i%2YP3_J{d89joX>kq>h3yB2?K5ps68l3;g?`whsZVC=zkh?G}@1Z z{PbwAwin$kFekqgeZe5g&;4*?Ujb;i-LR5f^Zt=&GYwi)tYs5?qH#v8dY$?}4q2)t zxCq8!hIg1UpsZ5vf~^Q)8Soz2NVz{VBy2W9113X7392eSs@bt$*rJ=Z@e0SL!IH}4 zrp(6(MoPOSs!5$tEswJhW;JeVR9jHpytJfR&GN}@co8Ai9el!S{>)aEufRY51uF0` z5RA>IiX(2r`KcPS8>*F!^7#rAH~a#%*BIt_^7yA3;@9^tUqlY)0S{6QlHi*wtz4pb zlbiOvKBaAwphYyH%M-=b)T?SU57L<&fZ`0^sNc9B-l-)SuqXMS@=|nuO_h4ozRh%Y z%QkxRAP!9J(gmB|HPRAl)X7MxR}2}3U<H+<xT<p^6?9$^ftzt}lSFw&37VF6jKB>1 zt1sZEvIW=_Q9W1h=D9>5GRilv5W#Q7ZZR@?=Us?hKu>SZMjN7ZGQbV(QF}V1FbJ7} zfBN3N#I!L%0%WeP`}DMjCeEb@+;z-4IA5LH(i(;Tlz&hE&4S!fp2p?mFNBHKG3%He zv<N|GUEDdHeH~A#HR$ptohbnDG}`Ex$6mV)#yq<RAz~4fwb{QJrsos80ovH{xq$7W zj7lH_8$iSqt3-+2d)*Q7r%`egGMRQ_Y=a|W?s&;aQ<Crc;_=MQ1gs<XzZTgjc$??i zngvU({ASXD#&J!4O?L8C7(WN6__8E5Rp3wKh1@X3b@j={GqL%O^$BF5f%@-svZiHp z3FoEpwCr8RN789Ono>s8X+D3dTGl5s{{76<&w`+AHEAWQVo(%JI%5>x4y7s=%Fzt9 zr15QXhr3@}kLvjHG&sGoehd_gRV<0GYr~P02S7xnUp$d^x8v&h3s*<}c{wV=3#nfR zVVa1EQEe0iKxO17iBEO^T1KFsTL;WX0D4KNol2CN)l^N<L@;e;A3(43K}s%7(vC~z z7DN3!V+W}xKbZM-O}UmHc3ZFin*m3R)cl~pKM<@JQemZ4rmKA1urR`6ETf831KqS! zpcArRnzeT|r1j*YBkcWY<kY!#4iI6?F%WSY=SnLw&|pMHjGpqswZEK8{S$vHANxNq zezEp2yl`i3p>!m|ws_hcmnjy5m}HW`-+C?P92f<ymiDq$M+kLvT6c>a4QjkdQ~Jy` zPy1{N#k^5lEPbobg5d9L)NkNB1$-A^2z*PT^+w1)%$q*Pu=?o7AbvJXp^vTxCx?g0 z$?Q?xfPiWL58(rVvx9RLuRJsRPsSjTG5+XgsQ2%qc0U(8Dz+fm2BD54@us}-SG5DK zwO#gW!d5rJ8Q*a*>xE&sWKFu+;F_Z*Ed-8eDx`Q&8q4HG(MVxr^jL+?aUn@%km#F& zn7I2%-kYVRBeyuWlZ87J3d8n?BL^10Y-@YVr}@@qn}wgsI!#yTu}$F_8to?l>tioZ zqwt`#J@4b)|J(c`0EX};I6UAHY%1SYqen%{ciNzQ|D+Pbjt_Lr$Q9n7-6(c@F3m1z ziK7-Z8a8K{RcLuwp=~PCc;p_gK;O7Jg@q>#`KnZ6xC*N=o%Sp60K<nCH$zM#Eh{|S zCyp}x+IfyexuTyEVb@bsWChfVutr`EGMLC;=gfzWuBm$+Ar1s4_#kO$FhAY#ZVH;9 z)e4^I-se+%1NGzJ7BA{n+|boOMtd%f<AwK#2oU=@x@t<ee}CZEVYRxz)lyhe2@wBg z3B{Ig1C<l{(Gs}AQ-3PvS|`yw*?R}r>#j+Ee%HpIrO=HK#lp{Y_Z1|d%{w;sN=01O zBrq8IPo_lGXqSqQrbdfxqEH*h&Z=nT6UF^H3`baI-qV)CwmyEsw#1=0L3Ed_TAgI$ zsbs!>fp$qooV?pTXS+6#ZqF~uUKU@sQ+JnhEbU8OFBP&NK~s(r1-IH`-mjkt`bsO` zvC>bc4B2=2cJxDPx1|dh4CKdFj3*1|X5c{inBNlnIl`?&EVa?HSdkNbL{B^5fk<Ph zG^dxPvWVx0(*)tN);E$czrlz3p6b)?D8~aF=KMrFE(qz`0O}U)nik2WXcFG0$`X#1 zdIgPUnLlUtP5P2NAc~%0x+Xy`4a-7n*Q=i`6ZrO>G$UL*9j&K_GR-?8&9){Xkb}?~ zN$b;@-YzGcVq19Z0Y$FOu6n<_S<&%8NK7sEG#g2TZ#^uRPa2JEp<=6p2qA@?vU!~j z7K}98E<`p-5>sEUP6s+@cBG_>)S={=24h_cBygxlNX0x=KMBQNJS5PW?BS*9pYw0W z6V+_K{t~4`q^>p3>h^zkJBGVs3S6||3`my{dJLHEt#b<v1r~;-=gL}2I;u!l#ctqN zJ2X;97P&RM!SsyOcJY!E%MA@$RhxVXU)t=IdL=;d1>yOLMy`Vt4`Ef>RG^ApLa`v1 zJx+AT<|RV(?*auT54k>U!FL>)PYuNlu>+QW|C0-aD7Et=x(?W}FE8a-j~|;>rv@!t zQneo&l}!H%BsK)LSdIzG7QwBU0d4isaq;@}R?V)IwOc*2kQZqj)f)Mmp=tgpFEU`a zBew_`v9&yGSSzlMj;Yz205t>AFs!h{lz%hKrs&IeC<>>k=%Fk}pcxFOmJVT=^-Jao zErfZF3p=89Lk=>~;W`7ljS2}ad7`I8ycw#LAC7{r@NmZOeWtXX6|DaV8QV@-25P52 zf*;;1x?I`x38b?J(?sSYlokZwSg)0eH|!t$^6Z4aH!<PzG59J5%sci>JH5R{-(&Ak zP?c-xSb56#ET7hw$%Rotg+W(xVm?~avJacp%+E_)#~q5WU;{LNv32+Jso$aO1beq= z7Op!~CBcOb85w0bkB!-GmdO#Q_~I`cxdddo_{&qZShZ`HG9D@{<gIYPDVU!ofnJaI za9zM^F!{ys&yU|S!|e_pofl)R?~x@B42fK-ey(6F>L1~+eRnS<b8}1487r7YBpyTm zhla)QO?&l&I3gYgv95*A8Jpe={{Ff;>WcL`$qDgCmJLnnnz*vJb1*ufZI_G}t;mcr zuEW)t{-A<{nwB1Rl^pOmJ1Q#+K8}7!aLC0slmQb^KlK_a7nCGsh~@963(}u2&Q;=B z740Ot;9FS9ZPo(u=x#MU??FeHDetP8WcLAlrzCi~u5kVTQfha9{HoQbS76|cV<7@) zF4T&Dm}UM+YfTU|yI2**d6Oo2wx!2qoN+6m$p2rDseszWM4Fd>8ec4*H&K>!Ok71v z*N6R3u{jfFm6)j^y8)`MLJvlME48SnO&Z3fl>DCw<wVB%8tc&@Fh>CQP5?*a3NfI? zM3fthLfXwR6~ZlpKhEqy;?Q6s08ByGlJ`WzIsB=c@<bbfm{X18(&G;PrRv@o*O^yF zdo23$^hCy+_S~uNm!yxJ*{%0<Zy33bQ#w#L(cIrcn)0&F*f1k;F>`TpmTa%^M=LBd zv|r79p%({NN>?MdY6|D4{K$?JAcu`i^^83uO<e_xS8#*RnCE0?MbA$Pq6Jj45v^kU zftI9i7EE}EKe;`wh+OL<3l6-y9>8wx)>`#JC;zaB{=JTyA16tR==jwYMK&Px->N$I z^Jw+D>lEp*G7#X(RPvyi`uI{i8;kr7rrk_30#IFX{d0Cte?tY!Qc{uuG&SXE(caxr zc?HW5@JEqGn%qcB1|Kwy-W}#FkxHQ}M{v}}dQGO5CBs$pXQ}GRwB)u|7Ttw#A_w7+ z+JajEc80D0jm0*S0Ug}e?5z*cn#gVX_*IM4pW`haifnb`qi~#>;?h}UDRL$3Qr@=G zSgfYTv>nohu&o+GpsjD&OuLl^0yWXb@c4-4&9fw9LZ2IE80*;RGI=;8?_2dF9giHo zm2RtScMY(J-u}Wp)MZLhlpET)u_=~4GYNrA0~lV2h<MdwQ<dmNFgZFWbE`T|Qu2;P zm{L$M0VRnFZ;ri1Fq$e+ZTy%CZs6tM7aq|<e;tJ_J<`uPwfS6HY~*(`$JzguRJbOY zxdf`GbC5Km+*9y<yb}Ux3*%8oMQBodVQq>NPG0j6PK$241OB{9^rBC{x3+$C-AMb) zNAja&BNTlwA$hCZ!si~8)uYoNf@<QljmXh&2THA-7b@Z7(d+XkwMTIJx))E-R#Dpi z$YLybFMpT#RP2s_|6dr5%7Rg3sbkot_-wO8(!}*E!He9V_gs{Rb3IcegBM1sr{**> z);jRN+X|?RGXAaUJa=tBxvfL?jYgi0oCr0#+I1mrHJGI2L(_=KydD=)d`xm>%RsNv z3dVo`kYe^7^77G*B^#G#HT$6#g0?(!fVd$``O!tzI+@bzoO~ls_pg7);db@vE9MnU zr!qmf#7-~;$p!JBQ~8KpXQaaXNIZUBx;t|I$iiHK*9zV}yM|lG{QNP)M)Dsf7xEJu zrzn!xWq!2Wh61+hVdZyPK?6$O`HQ$HybjDz3j7}fL?mq+sm+?xaS@Vg_fB`56^$+X ztEq-0qcfRRbN|;8JXyEpQk~*2QqtD0`H9t8#G_{w?g2G}n9+A>nn?zOq$~%RG}kT9 zJJriy{qQ&fD#D|Vq6mZL{1gK&!RSfA5Zuqgn00nH7QXad>+32J7OnCZvt=$|AD^CL zW%?xp=S9Qu0E4mHaC({}?AG7dtq95{|1X;Ihf5q>vx?*9yL1K<?%RG3S%*}fiWY{! z5j4R`NLd-S#McciWBI);#M-#?;^;-R^0mvp$sCeJ4+>}<qXYW`Y@3rGM5PK}0j%<W z?HJq3N4vWR+uUeqT^#Cmz7L>ec+MAyksiHhDHq9RBk3mPcu9*)j=*!u`Kia;1H)SW ziy$<lHFVAZ2FId<Xga5U&K3e^WeF;MY{dF;^h)L+evJ_YeVxsC_S9$wF@{7HuU|6) zVLG{<Xbhi~7t`N%+X0flPY)?3kn$pMMM%dcy7^rR7rdP4j=(Dfv>UBrP|5|~`JKtX z#?+x_=S(b}kl4o*BJ@=Cik7iGC<6lmFi5@v&Sm?DZ{&)cVP2qIgqSn0iKY`{Md-5w zlu4@0{g&1zHe6NAf=_MP6ECUe^n48KB+~uV#^i>@{p4P0UV$FfN9#WUwC}@GGp9w; zKqhL~K<6n0#!y)p){<HD*cU@fGSxJbX;x-|a8U2MKm2M)_<7ae;Qu8eQh<M6TMam^ zGqf3BHd0Bb%c3CVI+f9im4O6TnL+5TE#RjdzCFr)*Yu<BLI*tx(ia_ek%(PH?4qhz z9i>t%C4n^bHhF$iN=MzYZZyX4DX{NyR9WNJO~3J$1^gWsu>*y^A@-bBT@iRL4PrM5 zu%olfUin~v1G6?tU3e1-L%WUt+sz<hxFF3$y{kZLR`Lr6sIWN?s4otymZ8U`Lp+(H z=F)c1BXbWK@7k+sizmb&1b00R4dE(7o4<kza;(lGNgvc-I-(n&*evhEb@EDaBcMpW z&A#BlK4^!HM}WR{1#txusI;LR=w_mw%b1HTZ14rJU^i}5x!~x>U*$h=ibJNt2g86p zd6C{${s>73J2RE5H|kRzM}!v(VC;d%7o9J+K-*9rdC{;br4lyhx)2G}$dye!5ZR#Y zW#`guKeCi=)+CQNPqV+ym>7@Df^qYRw@VxXG9!q?z@ZyV+eQyOFVc*>kbr)4$c>P4 z<|?nHjz|Fr3n$3<Ge|d!|G$WcB1jodWXKDntbAURlr!6$MTW6#EfC=F91;oHD|4f1 zkHHrT6}E=k0HV13rmpXC#b5Fnl5ZI_>W<-A*{sBE^Rmn9Uy?^6&NmEZu`r$GzWRCQ zNcS$$tSS*#62+uPeiXrDe`YiyLK7yPIr4iS=KM!j{$tJU+}eN35eLrkel^0zq4Mlc zEhqw)2bu_dqp7(}4@(d@O>4^gLzFa3C%WNcKKVo;=RVzzHu6P@Fo)q#5;eXohuE|f zH)>y^8K@bD2Ukbig+@)20;55dit4JR!it2`kA6a8Tx$6*A_&)xVjmTDNuXKG6Nvpd z4O4VfM2NWjzh!U)>gD>Bu;42y|2o@n8UV*qpW2VJ-IV)Rl65+FeNY}Mu1udEE>Xm_ ztvdn20@{DC)WbsaPJi_m5+lbWi=&fN?xcxf4E#*)VLzm!x>wQX`1zHNLT_ckM43<d z-<=P~sdgq#^UB@UY`a=A&9mlf{_MAf?K)+v-BkAfT3{m%&S-PQK|xW&))Dz!l2>9Z zQAZU#%W!U$v)j1P-1<Wo>_HAQmn{G+qvjW3btn!^!ncc%KQ@pu=or=}K4wr^69i64 z^8e~}1yh&CxqauogL9MVa64e=E#wlWQFvSZ%~vCHsrK6tnyx~D)e9c@S62rnEt{N? z#S7w778rm4ciyC>;2IVtAQ572)klQum*imvEWzWqm*Qluns$UJG94KGAQ<{O`kNs} z^E;SpOR_1-Z5<-?lu*O?)%Lgm4Tb<6Deo4EopH(50=a7gp(Qp14Ak7;U>+7pE}@S! zy6jX$U=R24^+Z%x0a8;~;l<fCk*)o=8`|uEwADK-br@q?u?Qqt)!4dzHbt$a)aJ+n z&s^lo1fsqUd4f4m)maL;MihrhaWx*;HBFd8NugtwBeeY)eefFT)+Kg9R@Sa&R(TF3 z%)g}y8Tg6Yx^BKXp)!U|7E}Z4=u6RpnaK)<8Uz+mEP3+?WL1!XoX1Gr$)ci=#9GPp zqgYBgnaybJhlH@C*^dTYo2<{U;|zCc(FdUeBl9Mq(QgJIr!d(HpNr74*j$V@4!lQi zFYi<E$e<+(Hm{`<qw;lK{jQo@w@be|-8*xx5tT|*!e0q{R1HgW#_=lNY@$dvVCul9 z{qRcKqd}T)QBU@5@6Izcm;co?+emA16%waPY_fG>5@~|PQx;{+DU*QXvw|ibvbrn& z=x-_194S62kEvY41TV`y=#d-e8aFPNc<WQRdVjlkVsK|>lZRvuK;vXv&(>Ca(qrW? zwNd)1H2Pp^0*8k`E4aGyl9Skxfn&!ck+B$~D>z0qi^lRcy$Am<4I*fai%X7U=~K%i zgn21y+_v6EVO>ZlWi1YRa4q<u7)K+m$rrrJM5?&&1-m{n+)?nmf5`y)xB_Y7zwk<% zyDfPCf@hN_lllxdeX_okq&#P-H=TQwI%J~lcI0wjsPVmH%FS=wGUI#qmv1CbaZ4+6 zc6>s3nRuRM2a=YK-YtK>B`1FcMfx?vW8e$r@6paS`u>hB$e-h}rp_e=me%7cGmVLZ z_czfNFlyd(#$f|6aID>~JK~Y3fn!&4f{r8WOxPn0@ay77)?|Qqpw>urR0N)alV=!- z9T1pxFzjS2C5n$d=B~^);#BR1w?jlShVN_|L^<ILyKnWsEaVb5gxxBe!9+}3gZPao z7}T_d8HTCsFi}$Xqq;F?8V71MG#9lEs;vcPxB&}Bs>m9@o12mOkU8qXm1vJUOeJ*Q zHD9~(Phz;W+?fPYygD_{oB_5x;`GwDk_|W%Ooe{CD31k+s{JQUydLR+mQt<9FR<dJ zN>aQ`Q2q>NkQgL^BVUCd?(?ezmH%`b$35NliWjCIwVwROr>IF?cD|%wbS^#knogEP zPi8kL9tl*DSE2dSrvhK#0j6L{AxR$~YxSO}k{AIrC+MfuTw|j2sFhzhJc4drSlwE_ zjZ1ziu&z;i)HlaHjVre2>~f2@uqcegak7FlE8V2oeEYw1<*f^NP{YQ}TX9N8Z_?A8 zM=(|!9kX+Rw)>#VCc3OkQUm5OK%)dUK*xwvP6<7<t-z_aG`}$M!>q6p3!b5zF9*Y* z6Gu43(;uz4-d+e*iRLu6Dd>(9ClzGQ-xP_nq%D^xt$%s8COUg8iqh2boQVK$T6h1y zq9A`4>9mEaOjG+}Uk$O=(F@~^)kO`aOb6w3Dd!*$>4asnWSx#C6*I3>5nDg<!d#i4 zbleb+*w{Z;RgOt1wJbNbyqDN0HazNyr~*XtFTvEbOzJ_%m7PBqF*q=7E!H!IC>I^> ze4Jg#-rTnFhy0hR2wpgvH019M*(5l^VHe+$F_S=r65D<S0;D?Oj4h`>7S|Zz>51Y? znY!a7&DYxJ*M9!ocQqKtbQJx@Z)I!kQGud$>8pjKr?{dw5C2_y9wo9qr8)0~_!<Ek z5KV#a+@X`jXFsox<wc-UIoG8fWp_+Zmq)@3?N~T5y?;hPJ~xalA~zhbr$)^P?*Rv? z&?zYam8KT^(sgYrny;;C+I?<6+DqeSN{#t=)hkWcl`hL>(<J9ba3ir=yZ!Q@oH97l z$JO=l^Vxl|5`NpzBy#GCzm5Uo^@6{G#lBH!k~7+)&xiQP5X7_nIEv7Vtq8Xu$*&V# zc$wg~VKQICpngVDB`a!*y7(^-iXgIw$%`Xbj75Ovryi9{^|9U1@r^^{+*oGyOqw#% z^pdv#IV8FjMMFl^_9_B$S-MtP{|*%k|4r=OM#@o{@_DT~Xt*{eB>BC9FB5MR4#3mr zW9RM{*3tY<i$t|FC6CEiyz6q4XaILS-E<>=q6AIW!f?p2LjvC_3#*24*E;e^|Hw>p z2U%(;uH%xqY%<SU(?g<_e<X0!$Z14`It_W}YDX6ri=Cwsi9|w-b>Bx*7VMEqbE!TD zXgQvaBuvWg{UPBpg@bA@ie1W^@xA2}uT6u99n9U|h$@=~kSYRN>kM+*{#rdm#DV<V z|AxF^H{=rsouOdf0a&jdOar)3I%zcTjrzro`xn)L+_VuqOr9MaS39Ca#Z8I4L}3{t z)BxW6RZoy1QODlbJ7I^Hj3&-VU2_WFCS*TFac=w~hsEsANbNDc^m?8iOU?V|Tw+I6 zp|6C!lK!qTMurEIUx%i*SmLJS%VG~?_kj&lamS>lkJAY=;oYrA@_NPf!B*vBA)OSg zJ68^sqU#~&8^z~e`CHb~#;U_KO}wwtiBv5hK+~k{S%Too%lyI#<Nq_%dk@r`tE%Q? zXsGZlrDLX?Y0HUnR%W-CrM`21Tl6!Is<Exj+<1vfykVAK87e&4#GgWgVG6a=%voPr z%cK8`{2_O++@pm#p^Q6-RmB>aUKBdp`sNl`D#D<l<hlccsf{wCz)S<g-buiVg$_%b ztL-?j%yM~d-VnVUuDeXZf`wzxFwBp+5Re8l*r$i6-BNaOse+!{sg7?};3@<ime?~h zGVu4<a0q0GGb9b$sIeWB@pMs#>ngd~dEnT2$yfWKARjxLm@)Ruk+&;ArQj7kbaK)( z{aM^W<zNK_3XC}XA_bfua@dRHv~^YEvl-Jg3(^#9fZ+iC#-`@YEZ0UngVdBu33}1# z0>O-40X?-)3Y<33*~!QHQCxoVZw{q45)tXYZ+kbV#2e;SL>r8QQDr1NUHC4fGXI<m z2zPbl6eRF_dzJtHqL|l6lD>*%Dpexz0<)I4VkP2kjII|;g&tzYCMXeEM8g|uFNZHn zi`?d8kENeN9wPxj#2<BgZS5_7@86)80pkQArR0RO27&>?*;shvz~4)8AZ}l#G;H3m zPI5wjE(LodZZG1x*g+Wd5-8S0?roaA+J^}y9*s5oZnaS}`_KO?4OWoWI`vXl@<(rg z<uJCJpoBv5I*khaKUY<M)!?{WV#|o~szm+23z(}&g(XSpy^aP(n-lMx)_Zh`+Q0?& z^X)QF9S=jd(HXf;BMKoKuPgZ>F{V}uXNL2;_*Eg1cxD)&oE(&7O50LsWEy2@g%?OJ z{yUS&=fh*&2<yZ*L3Fq-6>a$czxfDRH|i|t?VXZLI3)09?)^Ku0>w7n{*dSpk<6t9 z?wkl6{gC`crIb61U!)OoDgj*MV|0O12QPMLI*NWLt3-K|t56^rX7bZ0Ar+k=RmbLa zscFm15n1)`W`r|-spM(k?uFR+78kd#r&<_B_Hr#qR?}J5A?16+<&~b4gd3*IY)Yui znK9>;m(Q1;|J(AbKZ!Q^o7|wdd7l%sa@l{ZDopcYliYFKZ`QD%UU;_m<Gk!&Fptt+ z?rvp-)MO?KQJ;bTSDKLsNmKfG)VM6|4vV~Mfe?r%H2i#!y5qS6f7_f|dcwGZf@iVa zK1YMSV5ZWeA_|hwR?<b;(NfTFN#U?xXB2l>5}y*P>DH&V9c9j=*DKHGTRb~>?FP`# zz<1{VB5^TOJb-djaTw(iq~e9qI<v})fL-iZ^j#b5)_1GQ>yfK@-L8I>_?<VC$eo=( z#YAGw^#LhS#%o4JzCL{y`HLpk8;_2?dT-UVPw7b)lutf3qgH<XoI}saGQn$K3!i@m zovsADbuqq@0hT|qVZIo3=Ku!I^XlHN`1lAUZg<r5F73^KhwLwKB&zZI=&1gTi)|Z3 zKXOXIo>QyEscAV}(EB?3qQ#7PzxiVOy1i~PY1HeYboA)9GL6NHEdmet=8-gk9^}+g zVC9uuj&TU{Mf)iGb@YDn!DpL5k|9g>u{wX6R0#3Byba$ZQZ6seBr{L73TZ|NS+?<* z4DD*-xrfM0>|<dA^Mw%aIRDX^MO#JC5ab->&{3H=<`P&j6<kQUQ0!+*Vi!9g{E_=2 zRvWZ5`vyySdDf}4{%Ntzol<#yC>{27&)@UnRk=(I3K|MZUJ9TE`^t)Prz*TUsuqs! z=cKcKu2tq87RJ>0y$b0i|H$lIcR+IW6&_#%JcgYG-OD*pACbija>C+Z|GJuhu~DY$ znP;eC&3roudZA9S@{+F*Gd#>XJAuhijf>wQjlC6EHewA!;0aw2r)4fsV<PjA2K)B8 zz%2az1z;`6p}#9jm?cylvsWqAaZ2bbC-@mAPVh}eD)yG3Beb1EI*=5w4D-dfu|nwf zf%$3A=Y$hNJQr&cH~Hrhs$$c3IhpQxsT+LfAM{YI9eCT|jDI{LjQL=FzwyoA{Y^LU zN6TKbuWV?Rcc7H>+2UR3xCykFHRYe_8EG&xug-GAiPi{*F}s<R%p`p-1@K6=uQ<7d z*pNxkNlQpFj4w4?ALW?8Mu>1b_j60=?xBa&2cg7fy&!csrlN8I=uEPtq$An3xA(KD z5$c_1;L%B$o)Y7TxhXy({1^dT-K^v41XZiIhQRSG)}4jEUDKC>VWjRciHv(c2T?@Z z0yAUag%sbh09%UmY8PxE7cG<1O4!rC9Yds-N&Cu`4N5k!+Y@ANFl+C7;9n3sTncoW zMPW0N80lX}Q3pv8yMi7GSHj)lUnYf7hYj=Ft7RVxv$Msnu77U^biXQuZu*CQEqdDy zGHs~9JPZ8$1o>xW;h9BV+d2NReqV*fdkL4__bl&bQJ=T;y_`>n1r(Dr7rMU8f)ry@ zF>Bg5Clwpt1V<tO6ETh;0}Yht7$u>aeg^E~G*hJ`mbCkMopM`&ign}s=c#@yx9NJM z7na~kOQG^<?=oc<97Oib{>nyo8LtjkaAX@0PZoAwq;1T=PWpnX@tT+<GAEgPOh{&( zptU81FWsfe4ECSUXMLe?&?Oll_<0rSg_G!&@}>7>1Lp0UZbAQ5{QECJA5(u3=N0M8 z4ArqW*+%gcC^&iSogysg30%Cc`r(yO`HRrNC4+#1e%`^huqz4Kqn=INiw6z!+4Nxa zG-0=cSLO4E#}PUMxAiBXxK0>!_OX&13@7BTo;oMm?7l`umNe|OOK64Ml3gpJl?M;H znc39>{SK6C6)S{2ZeU4YHbOe&hcfh@{5XpOY9J9)8;!nc3m)8?TYsQvM#Z24XAD<? z_N9^QUeG6%8v@6@c-eBSE7M!muU_sr!}h`XqIcs`qhM!u@XaJwI}X)f@|Y^#P2<Dt z@g`$io+z?V!rvnG=&DRb^`_QIpXk^ztBu|#=WsDd68TtbQufXqZ;tc`1kJOg8c!cs zB)jh8^^0&qwq`$f_7*xW`6)5h3@)h#A7;vJR5ue_tR~?tX>2LmuwwaRniQ9{f4MhZ z4zCSbz!0ibLrJP%FPbDIulko0=yx9YR5dE8-5yLg)$ioY*V{~CoO_k+_^r++Q0pBo z`{6pt<L8E!z_n~2Yh`$7tB;J5cdz&@fqUpz%w!T3N{59xQ3%6i_Bpq6b4Phi=$J?R zad@10qKD>w8T-x7?r02WbO^=c3yEyO+JUf($PYiezw2bYv_NJggUX3ER#|%%@Vq{E zVsv+Pzfy30MP5KY<*N-V`15m;?{!O2*LBxyyd1IUE4fr1ooFoHp|pzmtr3;t-w2Gu zy9&<7+?^cI&H3Hv?n&3Dl{u8wELBqpa93ESrokbZheGXcOrz)iHV(NxqglDYlJv*` zl7Wo&uaUUrnv(+9-EvS?E}&WsHeT(p<aR}ro%qhr9Y6ZVIN)feg`zy*OP|y2+-KJD zV)rkU6`Fg8e%*4H1mT)Z@$;jcI{i;5SqCHh(ixP~A8o~dO`_JPur|?$EP@t;Ivp+r zzwp$Zy6Rtv6L)xik+xCmaQPhQKl#h%;=BVwN)a91$=NcuaMo8jL}QsKKHq7t_%UFD zdiEy+-hpTBH)o|XDaWma&RL}x=KRaeqw8AxqGLVV=uLoc{!8=!N7GqGwZU}lx}{K@ zLV;4WXmKg-5TsDtU5iVC2e;r-+%>qndy6}vxEBvzy!grUe(U_tN>*lO@7Z(DweNWZ zEm*wk#aNaboA$7ug>M@!#oTL%3>UHNs$UZww>C^=+Sxypm$McZG?C5k*4-a0J+N%4 z?n^ce*)H#B`Bog<<X*$)YuuNX-Si!ob1JgW480Z0s`&rh$>=PxERQ^nBZM}abx3E> ziInqX2Sqmu1vZMHm|qC%1nPFcJLmiHlH7nyQyFi!TQ@G?+Iowr*-`0!_$S<zV#nIU zKz9A4TY7)lipRls{OA<t^UdBTCE@}`CoW^3UdnwaUhGSFMeCN*uRlP*x=zxtF=2TT zDtIUGVe`(SwHl*c@mc6>=5J@tI=IW2oGV83nYT+de+Td};WsG*AJ$jw`b+%v)&0Bh zoq_lS(g~ZW)6n)wJl7+Q@t=3#4*a$?Q3aKIfeG9zS4XW~23^2b&UrCi85wuW?Jww( zVhSl_^4%U1>rraS0caO0(mLnl(N_oZD5-4z3l?jj4;f0Z2(8FT7s5J!g|UspzWq0` z`EGy@mmA}%J7q@)dKpxqfU`Gn>Zs(P^r=V36y?N*dDlXk7`t4=+0b@OQ`8-m06xIc z_1D&+DE~ukG7+2|`-{$;?kwXU3%|L)q}ALrL`U){gq*@nVPRgG3x*h1`PA|43wlmN zl4}8*#gi=B)cidbtT2m`&>L{-E)aA$*_6CQv53JI3icgosS<anB_}3w3N*s;*cimt zW|dh1Gr^)vjZ?bLCDT>s{)GM6QCT{y!OmW2VQR_Lfdbdud{g~OM<*8a>>YpV2Ug2i zL1R}juNKtYF9n>7E|C=Xzx{!#LW!<}43-1sfdv<92GA3NrJaT|?O8Ww*a_MBo9`=0 zy!<2<<Qt{p`}@s{jo=tsQ3`h>=#k8G6A<x;TxrtoSlJI{d$46T0H!!SFB@#IjR8r~ zgEB*^>6IB1#}3X860TTt8N6IHHOZoUEcZs#3Ez!_CH?dG!m-z6xm*!q)H_@$+q@%{ zsu1bv18TqkU@PtfTryT=NhR}awo>l5eo>#}<7HocL9yPbE7<~eW<{rgtEXB<;?g1; z{@dRVg`(80xtbL%N_-zUdL9?h5KhSq{@6`LEnzv6)}2LTEx);S6y5m?z<%3T_hAj4 zse6{)qzq+f^PZozRuF`trcd5r?zf@TfB#R?!$<H_toOrP<C@#5lvMd=3&7L~<`-Y> zoOhgE&SE0GU5B2i$RY|AtRM5T&lbWSZ>q#ezt@(#a8ZSIR6IU;P4XWtVn~Umla|Ki zo&4-|H}?`UUSMKw8r--L5G8YvZzIm(A`@A5zXW+a14~ibPcK#0Pj%)+L=0k=5OkhP zp1}a2{b7zmhv4!wgEF>X?HHgL$@h!!-WvL@tuB+<3ivB*SEca&py@|$%=|I|@KRD! zE4E}T%sIJ6tRgk9vvIRVuXC)ug#NO*{A{h!Q?ddP+@VlU`rFXs0BA{&`y!uIBoeS> z8Xc0d?Hak*{utDm$!obh;w(hiTaa>@pF{25cOB)s*d)H-*67mzE*z-tYX{UeeG#_{ zWc%dhw?6B$OIFv?yyk-Z1E2TB*PgODXZbNAgzJa^ppKE;eAgBUwfJX==B4ZJetf}s za#r)3SLzb|lCEcCBC@_?j{iG`FLnwk0qmr+=?lP7OYNJ@X(ckS@!+e%#B>r3=((}0 z#-VoHe;6zz35&W}vqd?G%WrXAOK(8bj%BARw3C1eyCb9Krnwb`XxhJ6>%-V{+4M!> zcpnQ3w`o%sK}bESX}RBhkx120ABJmuB?nAr6n2TO_m(kT1Br=tW$dfPiHVKdrQD1u zdT?TmcP{C2Q?*a%&m;|jp+aquMk|%~`Mq&r)LLB(VsFU-sSYucWl{AM%rLd-H@|u{ zg>Jb*)F`8f;L)NEawqfDI_r%qz9MBn!;qCR?;O6ePWi8cGqyL{i?fQXFe1XjdF;+I z!ea7<PQc7yqev}bBT=eI+)btlLuMuT|7N!#vc4)R&rhQH<TW7G;?rTt0`GbXAMsyN zYB;HI_VI4!1!=L-^UZT&SdKxXn}YJ`5mmORktkwT_k}#UkdeEfC92R9ZoyrsVc@jr z@Gi&fkCEQ(6=$2-=3=i%d%0bozeJ#A!DWFh)c%$-vRQ}f`3@Ul2S(WLR(s#C%Kh-J zrW2#`(I9Evrfl{Q`U=YCtmS|GTj_3*P#|?ouT*)Y<d7N^6T+6Mu`F=0cgESyHo9rk zchM~;5_pkL`QAX1a9*nNOa%jO*?3~)8PRH~Y!UDI2TGs!QO#Wp4kk>Kb2e=?Zq|MC z)X0N#&s4z=-py<!!+=zmaJQx8NWz+&y?Ckk9OO@EE34M+764*QtGvtOlt0-dw8vS$ zS*5;qEkKKF5%?U@%9oS%)*gL4eb`G-fw8+R2!|;~gb@BnQ|)8J^_FD0P}2^^gfwfA z06)*?D<yo!Bq-gD9z9xp_hYkkDh0pH_t$&etLhX|ErK2P3%9D*gkJ)Jl(0LSSb<ND zyxtBQW1WK?NB0)&4jrYCvCdwLhnSRIZJ=>=mt-aIDd<Usy@%~`#g`HPXkNj2Ul7gc zSE^nI81vM=Q!079X)6Zf>an83+9%#Yhz2eJ@aZdYulxRMXe4i$w0C7L)1l13<H*)F zu-OcBl;Y)W<K3dWS-KTK3Nfm6Ew0KIfCtB7p)4yEoR#vA{!SgKDZCr0SAF|)`3W<V zxRhscL6x_G9I?%ge)7FO(Q^*$RyY|SoVLw1w9&Ke*hjnnHI;hfj#9V#Ay-GZVO<<1 z_0|fxY8*i1MfXxTQ|Sc@tuQ*p=xQ|9RAR$t`F_X9v@WQFSBC71iqxL|ZnIx9O6Lpm z4<ht?419FafCfAXm2cR(=C88R-$}xN4z}6Eos?z!@lyhDRV#eZM5t0_n75uuhp*py zH(6z(Bh&9A;3hxTcIYX=X1SoVF-97}%#~_xGaPYmFwiX9X~KQXS{33m`$tMo^;!tG z@u?gK&1<In?e)S<wFvBE!U5Ud5PRp2C2ldx2YrH8&VOgbK;yB@8?ZP`uZN9DJEG^b zNj%jm6&Z7dO{35?`{Ow`dWLdi@(R`)?Q3+Qwi4q#Ki0Oka=S%?_U?b*t<}uUG}s>n zRWV(ChZM6jY-OjlRE!MRkkan$ntn1y2S6K+dMoiivzx6@;9dny|6TltX)>KCxr=iD zt42uuSDDNxZlk}j+nU?b;{)_`t$TeD&l;5sZP~qEm=+Jvz>WRiM7apU4Po!+A^azb zZB5Km&&$g36BZARScEfzqtf;N&6TqaPuc~HsfG}KllL$7r&mm4OLYZ#c+mO;JG`uE z03m3dj|+|gGNI#hBR4$0uOMvOnaxKjwD_P#Btv<lJ7g1Pj7w}z5$a9~O|o*AAys)r zyhu{3?LEteGqhy@H|~|M=Xa)*8A%#`xE7Rep-sJu8qWS^Za?@`s?ZDHP{sG_$Y<`< zp+li39dq!^C*`m&V%)s|V-d3fV>0|V$rqMZXv^Ex!ZZd$x_gwKPQh@UZK$SM@tBYs z>_V+r8VOR3>NuygkWB-3_EMI=*e)tP)lXeC8QAMp{+LU^ezvGoc+W%$2Onmh^gFAw z*De@ns6rji4mC0tFe%{}OofDedDLM@hTZU)ls&PdN%kp1IHJPIw0r-z8A;?sTJ*Bm zVc2#7ms`uxjD2ugme5yZ@fQx7V1*Qf+KEA2d6EFGM_YVbwqipnW+3w0LKU&EbbXnS zVuiV<8U>|q)w(?-0?*ivKcByLCqxB1n-a2=^5^(`{@?uYG2pyV9t{q|GJ?iv4gG?^ zk*mH<NaTz$;Fy1}>wx7)Z8yX-RK}H6;{Njd4M)-c8a{g;4OEJ!7IkCsgWrB1D<c=J zYr){Avc9^tKxVxt%G$;Th<z%l8w(CUo8hpJeE^KoZcfDIij~)+hGkBt_byRb_W2s) zhLR2%7X)BN7f4dHMwKbHZwiV?!h{%ILOl6WR~~)>>_qTDqpI&^V4v~pu5{%!@FD;K z^WWf{(I>v(8t+QZj*^p04GiPcToKXc6r(Xw0BL?Y`DR&Y{+!k8iJXytaVDA=)x;u< zTfY!k>kR8utt!u%B<z9e100(WE&yRG*&o0H7&ozRXwHcmPGK~zd|)wRg<-P8v~fxK zA=Mi@ZIRo;5D+xquf`?Nuap5FZJ8M`Et@<cAPp<}F3Su{eY>XuO;vPlFUxNUhpt5R z@GM~v!n4T{6~tIjY~8?=|B3Q{ky9-i8?~m{)zu$Dm#ylg6Ub&;ccd41<AUQgq+D%( zR_>VZ3@bs)0M}QEP{Q@r<W%vQV8%WA&=u6St9SK;@CogN?j7<cueSg`Dq}|2NdP~@ zPdm`>?~G#+11!?`4Uu*U+P!_?GaCd{2#D+8K{h1SOh__D68f?-)j4{Aq}x`CS;8+B z9fBK(nse*8GER|!tjXYjV#+4>B{<=IgkUQJvs*G3M5(f9p1L6uWK40HVxFFT1eHf; zOYtERhgAs-a#;kw*ChGFbDKYSnNf{B3#uqQ3Qc$yPS1_JW=U8yP$z|aA`s>z;hZI4 z^D*Haa8odc!~+ezgfPOe#u>J7sddKrx+|9kuGvQMM)}wn0DF)pfOkTg$`aU@37?Pw zEj&FD&<5EZSro6gn0)xo9#qI($dK+ap-T#6L+Dyd{`jJC_MfcGGfFrlnEhztx&o~o z+KI{r1J}NRuvwooT>)8E9%ns~eYNo#fj%OK_au<@)Sx>-NH;oKMvlF=cEEojNJnLT zyd!}8RMdIrj(24;GdKC^0o4ZWUNDyzRR#u*%tDms!`hSa>d0&J>fqM=--$>kmJ}ys zW$d1)h>iF$mde_J)YQ#+6IxXIqgyVgp53Q4=^x?#+}O#434VV1+DBC-#4QY(-b99^ z@K<Ih2UCP%7qs=8_lKmuY@U^u6*gno2-lEt4n_Zi_6II<S8>?ME2p2pikVQT+m1@o z$2-9@jOjRcwTkL|wH6u6rwx1Cg+li|!Tp^O=Gvij{p@%)%Rf}bV6DS=fXrP5+0|(G zP*h;43^UAo4{CTWjdp*Jg*t&E$cH9O3(~a2$tVt0f!>y&d5Lw70#b9q3pGx#w@mAQ zpza_kS0RHBk(b_x?@*#<f{kdPjdje~k-7TD)*uczCT{=>Z<t9>&4$TEyhZ^V<NVeu z9*GO%0&uNV-U_i{KucFerh7^d=#%Hlhy?>o)6aQZ=sm`j+Ya<7ckE)OKO=@s-`5Oh z8P~q;m>cK*$P=eMn<hR8l=vghf@>-HmH@EeLfh7VB|_GijVPqLqo8KKA0%N*EZ;`` z>@#|IQolQBPj()RIC$Rff&}yNy>d9<7I*8&?{ErRk+{`2K4Cau__^U2hY%@$z+>aZ zCU!O(NYzFN8=otxPIsSQ3&Pb}#(=v}9vW*pFJWqHls~{r@Zl<#51YXjV7INQz#|v^ zPPWg$7z+9zS5joc92pFBwmi3Ibr8rJ0AKF*;_F-~vd4__9fy6+YLsiY;i2?T=TbCu zOpm4~b1gf|oI{L0e6Gf4?egh~P=hSy{HtITA7Z3k)`~~-BMTrcHM`_&lg^0YHW*L^ zomG<q*bmz&<mgZL+I@U)O2}MQoRWS-qj^<!2+y-`B2tltb<>#l*<N09Q1_o8gQHQm zgK(U;wPTfQ%AF_I3v%jCEb@{upI1CoYZxyjlN}US)AYXis}I!K|KlYZZgw{dgn0D= zwAYYM3Ky5h=zt7pUOkX68wvw}6xTV++C$<`D#8vr15SqM`jUvH-U)%8ko|gXv!b!y zlunj3k@E~1%W;I6bqp`G+^l(H1Nd<Dm4QCrH+G@P7gc&AW0n%`KM>}gNAuqnHC&5N zs@LA=e!uPHI`^$Dqj_WP5}D!x&im@e9leT`!=sxhm#EI~0J#BiUQybh@xv{g4i;9( ziq$3(umGuikxV!tV`bM2oRC2c!>Vjn<59Tze9e+n_TqRBy)Bpb+TML9xin+^e1%WY z7{%Ap$qE=}ca{tt#)x=QRWUHT<{!X#)?pKa&Qz7Vtm1;4O<6+`Cdr8Fg6wN12)`t2 ztT@Y{=38i1SQmK(Ai}o&5M|WFWVGQO3dJnDnZRtc(XA=RZ90seqJcZ0oVMY3IkZ#| zxWabnuJ=2$HleA7LC<Q-KqLrgnK3bY0@u~sN!=eIn8dtu7D>B1^8t4Yw+0k7>2%<D z>5{BNaJ*9Ow{QP(E8}P~Tg)@78Fw=)P4G2|k4<na08+<pgH8<bb0_%Wt|0nMm48U2 zel8)#cnmNw32O@&$bgJoH7Yu6@l4snP3~G969Zjgbbbqn^(6O;X?(M_q7l4=4Kko} zC|u5^h9kCQ{aiTI3e9Ut+@2YB6X6@Xr9#hJ$r+Jm+S8aapM4#Wa^F;YI=sA<F*WHh z0HqoGE4AlKM}pgU`=rV1QEa0XOs~_{xQ@Tb;7J-ulGdCq^6$AtPXu)4u4r7cw8ZA+ zlvL0S5`?cPR0%yvG$Jl{$>|%YLX%CbNEb^bhtd<X(t=}*4tp`EBQ<$4Boj3gW|)Kb z(nt4NunmJj0*dQoC1~w&&`gYSEmUsQ>PKGV$for>#JcpR-}J=s`eHEDT(5adTRE`* zkJDgT*I?r^DQFUR({%lt2iK$C%8uO7f-a6%tKg~Kf-y+EB0JdKjiSbgYT0t6@wSJs z$#CUvX~9}hLAffiR`ERwvPhTUS-&NJrLq9L-Pe<X`O^<#R7KRbW>v$5;+DX!y)o4O z716oPc_&T1S4SmQr2b#J))^A+@|euUMbfT+KHsYyMZ3S(del_@p?O3*-eT+BGR21o z?@)&sJhk-^U+<Zy&HLSIYIxM<!gg8Y8|*S6q16>HgA36)nZJPU*$Uvv2V_*k+d~$J z5&8cqLH&x+Z5Gbz;Kuw}V$`)sJb$~Dt_9r2z(r@<ZG7+C$Tuf+6W26RW*IeO)2qiB zZ#^rYsq0xje@QsH<0~6v$#`W`MP93EEp6T!=SHxPRZeWHVN81ssU`q0%RYV9rp;Yc zUre0W?KQ44-bHa8@+$=w%zo3se2?m$Ufi$NMVe?oL4n(Ux0(sVGIFg_PyO5xsYl&K zRYJxcPf<N}Sqw6&D_M#x4e|_|;*^B#Rk$`M)*f)pn(8?P6Z2NwE1XnuHU;KTA^@wb zUFZa5;5fle&=Eh=(V9IAlNRVqKn8~Sks(cma)Y(uu;`vZ!%1miT7004D2&kha%*vx zd{u)z06$AT>vaZ^%<}`CGi;(~C$y8_8ik0B!}U|77WBy^HRw3><Ak0$3iTls-OUz* zL+cl-u(2D2T4UAl<1Q})XNrA7t3L$OIEYAQz<9SP6Fx9~bDHlL$A#1Gi)Knsq*zZi zkyz0DGgYi0vQN37bctd0)^T^4noqp$oihr~GWZG$!gj>5V>7nIo7@6gvHSd)2)HDG z+C{}4Ls<FMXd8MI?`2J2=l^{}5;hxsVljgKs-&)3(QAUgPHV-@u-6cmD{;+$yzPYj zS9Z^6)Q=Nh^oG#NzXadkCa<)Uri314OYCl5Q{*vsv$wZyP$aC179TIXn5f5595gwx z#~g$y-(?L*qTAzlCaNfzDITt7G1)OAK|bUv(rV>@AwwF+eDTA}i7+S6Zi%!@E7ssV z`6#oV5s#0J!m&!R;F2CZCN$&vw0Bs#d0(94zd-zp?QD1g6bhXZnM@3Bap+h|_gpVX z-nz-57la=(gdzb!;JeKsbk1E)cVTH*+2Ka{Wmek~>na|OU=Lx|-o*t`2~*5P%AO@X z`)zDgIJAIhoeV(l+~6I~DI~PGOQ|e#)IM^oHR|L=#Jj8A{FI;3Tje)$eYi+A%Ou54 zItB8$lx$*mQLxZnCaCUM64`?D@(Jl9u8IkDZmNExLvn6R+*VePDWHqv4jCJ}bqCN} z$AAK)HKSlzsTPiQaswM(vEd<WdAK0_e?^uBB3S<0dk9vKtz}}ZG{`Jxt*oy7_AL2i zV0)OJ7D9i=ym1@zCsqWj)VU(nLH!`<84`g;O^v@;wwzXPn}3eVjcim#s!w8|hAa7% zIhuwE?dMBQf5gdLROi2M8JoO$_DeluZ?Nh)36wUn;OjW@Vv)XJTmy$zW)OhDlY*26 z`oj@Q290^6KE0LF!E=-5=TwzX9Blnu=xe-F^VTPUTcU-%^Rq~#op`-An(VW{UtCtf zWSQU8oW<aM$6$pT(#39Dd(wsYacyl`A+wtqFF#L;FC(-)g&OfiIo^WNefEUE>;(P+ zj`T?>&smj7+*W34>}4<UMEkxB1d+vbX6fo|`&kIsKfIC)AKctw$RR6V`WiEhy+Yr& z)&9=(Y;f(4rixxjpbM%|OE=#=%cn#myin+nw77=WihBO;qDq~%+VJ4=_6=uFj`Q~B ziQB}w*VA5`nDHOOJZ3XUrk^YdflSSoWlmfUz%HJ@j8HBr?q|7H+nl2GK8~9x-NGKD zVgxF!qNt0+6}J>k>2+kN^n|CjOtM)X_ZG(G5I03ueA#?O0>8QZ8^{e4YNmi`zu@Rc zOAK`6nd9tfqV-p7qGdzabk-a5xU{8#XnBpy#^ffPVIxeZ>2HPwkhA@azCZT3cM7Rq zS;Y=?J$swUtbZJHA2@lclWckvQ1$cY|8nwJAVx>N>mcO5t_l^w?@(-Lvq+E~cW=UZ z|E4LYl@%H|CxleC_U@O)VX|)5WoAWruVEiMF6-9;L=$87h@YhRcXcFy5?v=d`J%G& z3OJ8rN=^ET@*jE6Dz}!9BdqGaY^HMuXYHSH9wq2|rQ4o0_iex)X9fIY|NBAu4k1@- zMS@%;TFFjz%+G=3>;IS_&y@vE(f*QwY|Z@(pSCDF*<+q!$;)#IuAg1F^8A##|7?Iy zJKq5s4E>?p!<9<|&T`G<Y|hOKktL`YM^wxGpGZtq%mnD9@mG0FZp+9%o~j3)G9Qkx zD1E0<uP_ixY2)1xn-iBXz_T~aQ}}wOC^J=%K!l3dD&Z`MosXU*hD*Xt%n(i;T-z7l z+A+g;B>vrqRl3f@n7_-7qd&+u437g1H1bmQLQe?q!9<yh`7;y)ebGbCepbh8Y$a+? z(T`|7)e)KMkJ#eoTYg1OO(_Enb0i7j$I)J8Y{jx&Q_AAS%%{cErDlx$x>`+BM=d?m zp7D{qvld~I*6goT2*ckHb!p&gs(WwpL0da~Wxs`_Y)5$COW?=+y){qPZb5iGe%aes z6RIqS6MH25)>BABgs+~WQmU`TZ~$VDhG#zbh<Df5k*fTc^1L?MUnbD>{6;mm&xG8& zjiKbsQ4KX9TzYDA*8N2H&=Au`z(0Px5GsgO#S?B*bs?<wJ1b{#9{#*S1<i3`@X_nJ zl|k-MiHVaQ2^ZaN`<AH=OaI^;>3Hjx%EKJ0<7s5_MtvJcSC#^O^lUGxl8$tWc<$xI zHv@_nw1r-FxVGbuCy(FKOZ*#jl#?LX(qD^><OH=3x9Ov|Z*(72;oCKN{2Ado1&N#z zg*pTANjgYFy%EHgTtl^BvFmv;@EYYd4V|(Yo_PiL*S-iM$*G;=++&MlN4eLnM$78Z zL7ujY45>MB7zVmK1vVft`E7`zO{;u6KVH8ZGpUCMv&jxazi-N{0i4op4<km2sNU|k zt`OBdcCxJFE_d3C&41|QGyMl^j;Z%Q&d8mbhZM<K`dKqOmn>($3n%vot4>i~5{4QK zbmcHQ%|9l|-lJYf7%F5ZBpU_-nQYp-gmATyw2Xw*k#O`j4^-LEqoF)rhH<P{!zf@{ ziC>?-#`2b;>gPqLnVXOB*yJsZ;biZb<K^cCIyEA*?0WVU&wvC%&Hjg+)nPV5T*M6t zuPlYcQHEZDbVtY=S<55#kELWCRq-`?<$uxWzv0{cUN@(PZ{;zW=OCBqmjpY5C`sTh z;a=K=7c||;*4*hhtf6f|4Ly!|U1(P0N`IEOCxJ9zlo;gzg>utX^pXyYVjP~~8~|HI zSbeGTYp)g4HNk%j5usPi3fkcRF{n9P*8MEZ0U=ktTAY~@Ri2;KCyI;3XI#bA@W#0r zqA|QIlv%PSga%y!u+NB23KPkotq80_6udum=TZVODNEQJqVG58=m^6Q^$V3XxrQ^% zc)l+P_S;NgDDJmzQZasr6pfVxh7BuHldGdj{zsy`gKxQkmFE%vze$k~gGRvdbG0}j zHG0ibF!alLibpYSIUnZ?M@l+X9fE58nisknKa4ViEj5V|(hwl3U4A5G9)@wUEH?f= z@{bC%E(?!46M-V|Lr>7ixYZ|Vyh+k?l+q^tq`V)N{;DjEck9H9#U|&wQW?w31)r{F z$pgNf;QYUzCkK@D<1J_K7jk$`<r218_A^TOGH?`QPFG>H19S{n3s?VUC{tr-c>ey0 z4kwsNh+9L|Aj|Ryu?rfxD-}`&tPEoT3a~$;;OO-OBP^M4a&PcoXZ}oTa2&v9e=UN| zF6@NP;{u}>wEw#T=bb&rf_#mofg=ta2n3Uh(mIgg<5F-0me>hu4+aLQ@<M!5!xS%u zk%>u5{rLOe=D(Z}%?g__A7GQS=hT5gO6XndmiaQR`Xiwu?3lr&*}WfH1<^@<(?C8@ zS{E=F=+Rs2;YI4cp39p~B!278=}d!lMTud^)!VH<^)2mhgU!#+zj((*8V2!OFzdb! zKcm1AFm5cAaBq}jkwY6>+ljV(YC>V;0&Adn1MLB$g@MVvN{0{>XFyZet7o51Wz9Y| zfBd_)1xQ&<=aH-;lDcSLP{*}us2VY<g=h^>k#CLc+uzT!s}&SU6!HE=nC(5MD<Mzt z<!G37V>^7DwS4qgf|V;LBU)C5t^?PXN3|#x(co!K)~J>no~DJ=;0422G056fRWvuo zvo^66{6;`5pQC`g1<1yl)~9Jw-+@lZ(F|bx$jCML_CC$-923G(K8Rc}zGBk9Q9xyV z^opBM#=cC8Z(f^&{P4#@ubKeAbRv19mr@koh<PGyt)7IReL;ap=X^#Ry66<HtC>Xq z<Eh|(t&+K~04=%C5|gg1o62n*nQm{7LM44alYC5p9X6?UIrJa1^Z$%neltLIPmGN1 z<eKj%?W`8LwgS~Rfzei~0f4+wnqOg~Xo3>DObJ?zBeWUxuLi78LbUUK;pk0}y<=A; z`cs!F*4~9q(D$%(TH2#EL>vJL9r)ieD4?-+L|!e+?zCn0%E!KH2k8JQR9ju*BsBkg zI(d)r6=qTq5rmVE>2xLEe;vJz8=jtNsBTi-Myr0={zUNi>DyntJb}qQR7H@?=pbpq zS9}3=Uhg+iU*-;<3+a!Y;d@#Z7a!{y#sgI1l7*x*0Zle?f0w`VM|J!akYE2_Kb9l% zk8kx-Z%Hl?)|*3TFF>(}P2D_3cxWd7ge&3nYwmfgR3#2n?5?nI{n_|7E~j_%L-{+= z{XTrwmN|U{XH?oDgL;!x))`8!RPKJExQ)mif{{*c+6B{V*V81`G{3aptTRkfBkXJl z!{Ud&6TQ-eO$fg!wH6Je6vCw!yiEv|L~z{*7#JPb^<og%7uWN0bi46#Ub8{iMP0e9 za$01mm|dIqHlV5ZR9BNuC%N6FF?FqYRmIIuY8t*}9_cnAo90e%9O+TZKhnzB{umsD zlT(x?XHV8BIrr8dWj(K7%yAs!PlHUpHB@5Dhl*rS8g^L%=iUTMnx#ar)G078&i!&* zrZLHit<GHjAD4VCV9jR<>b||`vGaX?>RCIJE!BNT*60-w`FV3tl7UIX>RZqbC?l>5 za&brjh4a|EW%$O^@|KWpuEH;onM8i^_W!BpDVowGn^s%CDW$ST|GQAUT>2zMJix?r zQ-()D(%z;C5ZCd%QIeo5qlo`}$mXFnlReVx%IaU+T~#lcvw2#*g^1572sGr4vTeLx z%HiWf&-3+zf8Zn~Rt1Uor5bgZk30?54ktY}ghH!XOM<H)ZZ1B~uHilUws~0E6j#J0 z3-y<b6~_HKmAB%B9{lL>{P53l;@scV71N@!1cI5I^+(*RClIc9ZgD465P->-UbHeT zop_i<4EV$4YrM}~*7I>sc_LQwYv0e*vnwt}x9=}Ez7h9cO%H8ELRB5BJf5Co5neVg zLob;yorJ*sv6@L@XpCZPEREpL0T|PT!4EAJq)jCqOz!FD5cNZ#f~<h4Q<L^qzh`{} znV^I(j-zg`{MtLgacz<@H9Xg7PeSGDUa|6>^~$*Q>5VT>Qji7FzDt$75mE;YO$&cj zr|-ePn=0QKa*wm9Vdk0MpHah~rj(r9+x(PAM2vZi>oko!O=(|Hvlr!a+zjm|@$TBF zC=m;58=(#Fch7E*J1Fc5Xv5#SuDA<h2i3!RD>r|O(x)vnMe~F=uVR>LyWD$tf|lb{ z^R|Yo_rvZ_cVjytsr!b$;QK!H*Rq`S!-jP@(s*Ywuf?j-f>p!cCXyZ(r7I{4(7*MA zRTg0yQa5#FVqJZaLG50;?;rUl2p40xm7<DPS7(uTJzbzI!?*CF9Yn3|G>`5a5yHKi zVuyuOl&Pwo#UAK%zE^O){8~ErX`GWp%Lri!P9k=Nv^KOc3ZUl{$#{O;cyUC2dhpkV zdTVzpEO72PNOFaS_B9kv)Y{43$v;mjPARoSASsNiHu|u--#z=aejfYrboJN52;TDH z@8`RCtN>SaBh&uoSAekNzkl{tt0|C{LLFaKx9<httAEU=zZz&ILRCc0IM1pVd~-s% z^}%f#P4BzmJ3!;ABYZ8yOdM960(#=;ulo0x4@^rV<+dPze7I#E`Xm913Os$Z4w!C3 z^1bY?_-S_sB@*iqcTj;6b&21e-%`W>VCt1GYGl8}+qqW5UP?nM2;m3w%ZkxK)iukh z4&S=P2=~+~94_3I<B->7w|oti<$89!&LR))f!SK~&nmjXV%0O~kkDU4l@j#D3d5)) zY6GV1KZ@Plva|aOrQO(ZE;zR=9o&-pWrfkuFn7VCD8?erywLiV_r(_sucsIK$VNW; zJkWu?8a}H8KT|WVe`16gw~D{~sqsfgX*ZWv+Mg79^AuB4dHMG(!ShX6H{lq0c%s=M zN_%V%9-w0618nNnyKIsW@M0vt0K>StkHb}$XzieaAG{Dr3gmK~7A@k>{H+Qz)nq!a zubgBRl3Sx-vqRdC>(S2qH#BMSQ5<G|Mr&WWk76*PAJHXV+Fg*0IIZ9*cv8>l$0<-3 z%Y^PsSY9gF(#vLTt@r-fth8h~G|`p%p20#-hEZx)lp>ukw3?RmLpDSmog8q4Dh}&N z9P+#Qw_TK+eqscD_~(tstyd|J$1;3(8wzEPb>br{ar&FYcukz6XG)4%g#s|%PYyJq zO&`|i*1jtXQv=sb+a`P(%^JG;XF(^%Syh+*{IR5Dr}~3$BhOn&*d<!VM=Voz+{}wc z`NWP>)fbvDbbiQ92H9`r@g0fp=zBU$<Rd|B;rn0F{^ABw_iLGL#g6j?<2GK>2#$?8 zV+8YC%VXVY=VZOhSXMRs)I<oM7IPSh9buOgwK2~gJMwT(&t+3iLcTr#V@s_(+bi#P zXhbhmiI4eNti%%qcm4B0p{dd$Sl4~#UmrXbgiOZT^a@bP*cSnf)`B`!XO>HlScfo7 zy#i0S9i(82{FUjiEtxXT{DPcQyO3NNWz$c8<NLj?-Ph7&Keo=X(Vv^l3-{fgKC zW#e8*T*>=ZpOL_!nFW9mxb1mOf&QWKZ%f&hLzrF5aay_KTh<~E#A7rDipCq7Z2O*q zA~Q+pI8<L`2M5jcC=ScjJ7{LKs}P3;U-gml!vtq-!vR(#fAvDbgwHE)>X#pgQBM?? zI1hybSKJ8p%4^_icxe<Pvb43c&TD9qX}Q#9u9qBEYDY6EcmQ2TYYE0714@r{T++W7 zsJ>hTe_O|pXXmO3;8A&y)!kY)m)CsPB~zBA+S8A){Kw3j)R~}r`8z6&b9cIi<(ZIK z1enZs9j5loeHyw6<KL)UDs@m>IwaR1o3Z^=g3VmP<b~<D9D9ABsecxfJbyFa%)XoL zN5{50@6*P9#9%iecGGBY!4C6%^hML_YU*=-cwRVblTeN&LVhyF1}rS|6aJ2N!tAbU z@bH8<wz8qM!#){f1jQd+L6h~?73c1~xO^t~ufalu7nuhZ?h8>6Xp!$Xt@N--3zN7` z@WfP#KilCa=0XB3<gV3qP>anfsAWnWd)S>KHRQL#*hQNCWeez@X2VxXgGEm#uB%k= zoqA#AMJP0aEg&F2Stsw`d$wiA_iibDcRSErb(yxqJPnYNOxF@lV^w2?eg>1Sd`D*x z9GhBrb}8xZ!0}6xu|U&>Q7BT^$5CMrGwk91*F4giA2yKF(+%C?Yr3$9?6Vo;##*N) zbgaBgd;^Ao$hBhvO#%qEF>!h3T{_d0y<WxRT^)kmA^jb@(`0OuNmlvaKpj0GD6LQa zVvu4E2}#(?z3)BOgVW<tkKF6AjX{I<;u*dMf)?rUq#h)opMyHajS?ng(n81|@vIpQ z*FqnHT##YBj}CJ+E_ayut^r(cuXMe?PjVkijp>vfTvZS0sXxWf95vV>E-w4CpPzLm z3~XUvc_<?oyIOn#m$WgB-8i*-=N|FyI*qK(vDwyVAEJ|8VTDBo|FiE;mHoR%Ne#J% z*_LV0xRpX{6HC_M8MxDw7nCc)VPkC1)@5~{k4<ic0jcAR5H`7pvINB*otQQVLdzHK zQOG@T79%Uk;2|?Aez(WZn#x`|q-f-!qlk$$<Xchru*o5ErtF^%It!ga>RPWM8FJ(k ze&JOKT*n$(sfQf7J%`L|2?1B+MawKv^g`!a*{wDk(?giYG9Q{I?B-jVedFtsQ$w+F z7PmUfI@;&kbN)+MD|p;I7W<LOcvojH+H5f5Z!i9PXkPclhkk-qC0iX;v*#w_hjsv1 z#im{8+)S$TJ#{7THQkK+0Nd*$tU9}EH?cOB+stmy8Er<fv>sY@#)V7?S$|epGP)+M zx!s%RyR_z&?J<oABIT8Bjj-HU6v2fdqh?|SvDuDyjCGNHnzQr8G{=XV<Qo!XSBoFb zts)2y)+F$jg`0++ot>$rD9TRs6m2%yra&=Lbs@jZY^1u9UARKyH2R>D88z94;(H}Q zJF$)uC7Bgi0X@>lhH?9njN#1&>9n21jVzsv1{!a(30pvH`gKDyQGo*Rhx^MR4YDW$ zPCgANX{d2h?)P_E(934StPgMtQ$Tl-LDuaZpLiQk|Mxn{!$nnf37+8A*vaU8YSZ3= z@in3jK;(RiBDKYsXz0uN1~%ZOj~_1lEsa$3!sd~6VSCisASJz%lo>`0FeU;!myd@u z4*Lvf7}sRZR+sKoUwWt11SF_WH?ChyjIC}<GVV1!`^&fe_D+nTfm?k$icTwGzx&>9 zs1%@ATrT`nrT5d#$hsvh@-i*;hfDB?Vs=tJy2kY4qGPiY3@=P=BRtqz+$q-YD-1Y@ zqaFeJR$?AZ#67`QX;;UJ!G)c9Na{PNY=Us_-jy)jDBr*QrL0NTR;skHU_f#yh5!kN zx&fA{R=8(+d6UvCM9T)JmC!X!^l%YFhkZdf;#POJiAV#Ac~GCR?x@X9aUI`IPLJZH zn#<Pn`omq4x41(Tf(n%Hww(1}wjN8CmtIdiYHyFqBZ7-QTOwoIQ8gU1quqa+c@q-F zi_@;=olf1I&T&yrumRz61{%Hlu{Df#Z|8Z#Ndp(&5c`#2LG^g3uj%Z?<cAIL-Wa3C zCncI$P{xeTVA=<6zPaR+KEg<-;|Q^t-1s>zu(6jf>>E}>o&C~X6>H;Hy_#)wexU%| zI9{bsQv7-9qt!=;2cZZW5T)xm{MKASWp8Wf<XfK=6+oEw4O1XK20%`2zQ)ecg?~j{ z&z#80e6D!dv`r`m_kD&_*eVZe%p*bkO6SHbz-?I;$cC+uvif~aomm@2vMxp!@UttU zOC}e}a-$ECq=Z>GK8ZH*0~3a8mp~YFOs!~CS+mJL+|<+CZY5PMoM`q>{T)d)okdm0 zf8q9k+2|-?!kUKyc&Si$&x^C{3hOYR;YdyYB1&N#n!J-?s7Voa&-2j!$rVW=^J0K_ zK|RnYRiOJ`t4(~rMok(va&Kg7W!he9ynlcSESpIUshy8p<pCaf437^}EAyosb_}C< zK}ysI<_`iDfbcE9maNDdjkL=(8-bcB(8q~$=D)6xqek5<NKmmOAgsS|LS+gbQ%$xb zvp>>MMXoAi91_g`AyKM>y-{_9x^NtKbPz%s-jf*Sb;R(#z~t~n8ShFX0n2X^!?h^7 zL_#08v2%7S!>-O|=e7Y!<f&5c<nf?4(ouah0;j!mCIRzGK9ig*)QTO}4ZQr;+pclq zKteI<TGII2*1@+~oIUsLcKKM*)@g;e6U%>9#91*vt@$s@SslEq7xzd1i;13R`8_nj zDetr6%vvVdcHVM=egP_Y=BBB{3^9ORK6QkRy`V~BOk>XFsR~Vx{5`uo*QoS1^wTIG zgXD#RyA`ofbqb<W@agL1UU~w0cVm-Tf?8smotuqun@<2AS2;76m<@?!qbUl2YOam+ z=(>BXQu!#@Wy-5KshAV$$<1QN>I_m<ftpW68m*>0-g4vQ3)PD3y^G$Cu5tVuQ=JGS zpxN0eoQ-DNYu0GF-tkF0{5_yqk*!XQiRPt^X~qb92=zncnte1q-jj@Vj4MgGeOH)K z<Cu#9bS%?AG1po1MmKOhn;jM+RDfj2bjcS0VuLLh9aQw1Asl>~xD{{yFX_P0_Yu#^ zy1m>lygd2uXKnzU9T!aG@VMUT-i0C=cJh-DWaD0a|JOd^EPRG!fU_Q-VrOC_WrMbS zFa5c&bCk1FLScijB}Osc^Y}7pyS~%G%N9*Abru3GIeg$2Y1LOi6QHq9e@;`mygJD} z-9dVyWWTlGergDIl)Q3VDUN7mZvMjbBM5A!^6osv(;teSr7zTk%>09Y!fNlSR^fL# zcZ^|@HO237C|z))wc{5}1>_hCY_?xZ1(7mJh&3~IvvA<{AE4x#;!1`nj%)1jXUG6V zX}&;Z|4#_Q2DdSZZ$#bmXyOl34B|th)_+XDbXk%JeT7|ofJ|b<ZZo5`|Cd?7I2rZr zq#k4qM6Td%hL&YqS50gpo`E%$&zIVFnT{-%?u39;I(lT0x$QDrhtZushn{9=diKk} z>3gDTl*uAQwK3^(k`7z^_8PWpr*974)nA1DMWCko&6~)8{R@#NRh^i2v|TinRx0k$ zQI<|2aA^g9(oB=2DR&sQ2mtn@o1-jDJXkoPcGB8@fwyBIjGoLE&b~SMvB?KyKn*F& z{=EY|kocqKI~Zm5uldeP4|>am<2AkG@drx!jD_NLA9t$te8q^`)n~qqj%t|pw<aWL za+^=vNeaiyWuj`og_!J^W7{JoXnhFDa1R6Fkg(mSM)v-r4r5{v!q@4+sc<JdIK+<4 zk0d#0()jTa{|gUJ`|KS$prrn%Wobq<0^Z~+>z|pcZq6>9{U&iVS-lR{{hMWLY+C-x zOK-!iVrA>**KfI6OOSvjNxLJg%n4>O?^ri+8N3Us7aTVtTi3M4o+Psum4VfzXL1(m zkWQyzU4!wkDeg~RCwelpnL#m_7p){<9*B%CT{_N}X{(={8A5qEicVZhW!1@lliKzw zA+kWDTv6R=XY|PewhT*%I$5(|ZZF88g!`Q5s?>@2mT#p|S!+9)GmcOPZ5lF`aDKoQ z)^<v=6%t1kN!hnmq?oGUw>M^!9f*%=LKp@N4Sj{leQ-GN*F-k#OnBB;KwT5&Qd4!p zYT_6>ue0972s8i=bZbPog1BIuy9@kqy;oyb8$YP5-BBlS+Zc`tf3Gm3!WeIT7qm-f zXgw3T#taS}PcJ74WWK_P<u*W?kx4YSBzq(|%;#|Mtoa;Ol7%cV7>yPc6`Q#3aM(U@ z80~@fa@M3PYffpX>OHN)Z)j5tO(L~Xn7}4!l5-jxt<-8MW*k!_nFF8o1y7bFj8FTn z*2?Qp-ZHRa-Ch8h{Hpp<TXfdo9u%4IPijE5+-MrGP;y%w<mZV-*0}0X1D*lwCv?~7 zy-yc?%Iqye48!c@X1;w85!}G_QeP`7zz_yl(Kj<LR_xGkB4-<Z5JJ;yUXGIf<c|u` z!U(bD@zP!U+Aw<h=|>iuC0bLW3caiWz5larH$&#{UQG)y%DEqFy>)uGtZ}I3{HO&^ zd(-YoiHx};PP>Pfh6`Mij+(b9w)NH7g{+ZaL;QvwwN?awQhv~SQGSq;^g|W~sv#k{ zE~!ZJUY%Q@a@5W@iPvM5j9cb}`~b}TU}h?7oZp{GRS^A*t)3jr4OF}ZLr?zk(WOSD z>p^I0UfdWcII{pTPQmTyuf6fB606;Be87fh#0VJi(W{M7F%X4d;p@-e-_kxYr!b;= zbKD-;bX__^pnQF%C)vU8+TL96R)=#|>x&p^c1&k(wk6rNk>=!<Up=)c(6;cUD<yq# zeP3;K=xXAZVGj0W^maO?eJtu~0)j1D_<ne`ee@H-*^q`2`Ez6<r0!=H#DHl5??VRx zRze-~w+d*2m%kn?M>*2WAUx#+gfd@yihL^&umZB-VS!?O$?~_w*-t>GuHMW0$My+; zR?l-DTk-H*Ihq$!{}g+XY7w<{I)<wsONWEPyH&9r(Alz1X&j$Ar3d2z!^AA&HID)~ z6OPj$;3tT`7^vV<)v!8Qg6pZ%B|WOCu8G!C&OdQd$i2d8GraP?8AuHp7{OoMKZyP% z8jEP5k~Si<$Zz3abT~A-yU&;ijjS2`;pt>>fQ~w$MWTHe`tig(!1M*u#jk}@u&{D5 zseK(%VnkN9mN3rNGf@w`|9(19r+e33OC)2sc8hx@T_SM*FB8`_|9-U)`(^Cp>q~{m zJDhgt-ndZo$pcRY(a`53R$3x>-F<cwd#Do(h1o%G2`C8fO_bHw4&Aq0-01GsR$TJR z{wY5j9S{wrTiXL~h9OvaqM;kc8GLrn<=WM?Q@vpmd$n)Yr(Yo{q|O|uz;Mk75sszc z=;;#wMvN-C8@a=>0Hf8Q7yp7L$qcG$Gzq{O!vMsZb>UlL6M4~aLPS_^>_OHiSCo_% z%}OJ{xub9V(P5ovieH6o^OizOCk<Z*7pD-op#xa6WH5-tN?K8nd1$Hanw8A2Z^)g# zR+ed~yD>g-O4XK`os{g;u+(=y4>TT4j76_l$&!J=0PGv#z=ML=9s)oMKi(O1W_8C9 z_e#vqp)m{u-C_Xx5&wSH3IulhR`T+6i~_WKrY0z_g=RI#lDVwowXp$qz7mMP%w_(3 z%0do^l~%$eebQ1#95Ws7o&~h+_Mw=S>!N!<CZrmR-Re~8(RAx>oOPnw#lnWVb^fxr zzb|hI@OaKu!*9AIKOM!xf>)mQPUucYGHeA_<I2nQ{eYcN$GI^??RQRPvVKiYOHQ;I z<5P+bO00GRnSSwoJ26|TV8AW5%gJ}ES306+gW{RZtM843zdSl$C1ZKhyL7)`HqhP> zR&_S0P`EJKp<YDVJ;-z8dq?5brj8I8M9`M`-+Xx&iImReHJMYuN{Atv?Wv?RX0H3i zjlBpcGJoh<ise)R{AWvCqmmwyT0mXWtneJ+Z`JVL;mJARdjV`<Xy34+h(c{Q)OFWx zk-ADRK3nSx#)bJ9_2{)O>)eXw)QH+JxjtX(2^sg%+-j9I$cbuL#EIxPj7Z6qBTWC- zcn}0_U?MkJgQW5-(a{ZtPfb<<i9lUE)5g8B+ujJK+VwR*`y|`&gc+oN58q~&gfTHv z!sR68dFAdMn%Wn7t5}pnI704pUwtU!RWJ&fN+CRzIJz&l4eMc<C%wKf;j|eOu(^FA zlzs2Opw~~;6aRjzNpJZwWA#K2i;3QmbY!LjR)vH~r{>g(o8DJ$0;ZyEmrRngt^!dt zplRXJhYpP24$PoSSJL}nVSla#Y%QKrq63m5Q9j4W5$1B*4t?TR|L~H7)a7Fwxc=x7 zxPFVM(&(jN5@d}fDS!5X5=cq=HZ8y5jRCK<X=D?W_d{~SFf_9@2Y3G}mf4eB9(@Z0 z=1dB6|8w4K@I@~S_6TVCr|&ISIcHwQ4sr>i$gpmHikQKi!)t5_kgZ)XdAb<(T$jSe z%(MKl`$0IA1Mu34Ryk9Xu71U=W35ypY35hRNiHKY-qVlk*#EoCa)D7B<QaZ6h&17n z<IRx3J^sA4m|VON_s*`Y0-HG#rZ=LXRD`BJr?pRF(Sd9Ira9C~T3lEs33|?6+tl1{ zuNo8zB}`r+AWy)pvrfgO@fJ>Pc7~}8>%K9TF7T2-E)dBqi(O&e+e34FBka=6XTWd2 z7kk3jdEk@PgdM|0D%5b~_`7ekh4kS?C2-zfIdJ_+6Xm|$f9>JlIGP~croIHM%3AJ- z=jwNAX-@&2wf7vsKlU#WEz^b80Ts%6<Pw1omil=~ab6Ot5HM>1jx>@12&-j@lK2d3 zwB3kR?~XU2Ur-wf0<PB)Fol(@7dGaJWtJ++aISpZ1(TBV1_X6|GMI~2SQ}FMsa}dd z>^K?pdy<DzNr~C>2QLt9wczE|f7Vl?&mWM1WR291ktn@~aZA3*l^>Y2mDtlH+(|Bv zA2~GP8Tg8TRnZ7kS%=r_@548DR3WXe7&0$Z(|KVzKbtTWkuZqw(j9vK#Z&SLWjw1h zjTs=fEZI7Ehl9vNOI!k*!T37KF`SYc{jAKy)+!~?&F|`u6YYk*#*=onu6+&myJ5Hp zXV9zj7D~95I^jG>wxlJ4^|`Ql)SlG?>2-L`=#vnlXJFTm+}2xBOg&d*nupTbbfCFP zes1ARP5Al<eN25An=yTwA>3XQbcqwe#A{k&a0@*drgQOrxk%_zjt3T*6e4umy0=2? z$G-(!_9=g4y>$?znv|?mq4}etx9iSwBEaq_Mflsr{eK(+1;9JPHIBtR{#c{h1$H<K zp$w1;{{Uvwk@lHXJ$H6H$nkp4h51luTPupnTa&y$^ehauuYet9ZrX?RM3lF$gwpHT zAjK<6uU0Gnfqwgdhjp$vCJg#Cv}zOs$3HzALtDO3U?AF^rC8R(9?1s@{~9PBM>}9K zwTWSu`kL?f67_#P1UaBWy6hEe-{^!YDC4es+JFL?5@KziQ7|*;8h7seClz5VJ5pxp zJmknFIE<vIJ){w$=)tt!FW|OQ8W-8;VWa-`zL0M9ILYE8u9435ifC;5D8EATnMWy0 z@41S}={-L$&b`jd7<+mOBYSp^6hU&BOYG?=)!*U*QAu~M>lkU74FET*QXj+I$^T;N zlG1uV7n@<lUf=AMD=+$fNCqXV30vXd^hnZtq!&5vRi%UwYCg&87h!Rg)nO8}H8zqg zOS*tdYFN-uBvL}XKK6h|_D86`2)Ga1Je2@!`oRBG*Da>t50tMn+D{og0DoCiLh))7 z*&Av>?Beqlpq4g#k+%@}D*y@l54$9xhv@H88yv6EJy|9ibA_lMh@c1~D^XP7*MfD` zv`#qjo(01i9O;jOMQCeLp+{5lPe+xYD0vArK~<*!e--Sx^)v^L;dv;qmB{{wDo>#h zASg0ySR5>om`A<-VTKc3^E%jx(xrVIq=Edz|K$F{{rceC!n@~s1z5eHyaFsP%a!q5 zQhG-*XpnQ(^6v2SB>Xnf(sgGh5#iJ}2=GRw77*q8peKVIkhxaY@gwGc9)~63FzXGM z@}-hF0@?O+6gg^aYH|aP6S(HL&Js408LgEF;}7(j(N>muO_1<cW(n`BX_#J*KCt9H z{Eo-$iEIOMe_ox(#cK>UI@A4}*N&c0+B@h{{%2+A;MahLTg8CU+mR(12Lmw+xKHkx zSdYToT^f~(_vwwF*YUF_!6bI{(>8MAFFF@tmT19Y;&ybN&fT~+d~?|Uxxl(20|U!= zk3I(*5*~87A+xe1tL!7a7hoz7jcN%+y9LrG=%Fb@zL%PNeSk5gLh}D;ItzxllCE1% z2u^U9V8IEH0Ku(sch}(V?xAsax5l+0XyY1!L*ov?U4lEe-<j|Jg*vCI_TIJDvw8?@ zaV;4(+=7)A+TV54m`GL+Nu}oYO>Z=hvZI)%P?`m|hv6>(K}PJV0l)0u&BhZ8D!sk% ztp$$!Y!yhCIbL~Q9G&MR<;zEP`xxOpgW`pz;c!7WXz8$DD#D`l;lkoSC4wuZm9I!O zQSkN;Im8T;hB!?eUm9FyH5IxjNRSED%%}QP*Vyc=1Eq*eWv)V7y@C;U0|WoE9|K!% zEuKJMrw_|>bLwO+HKP1L0;!rEeeOaV#hY86f-U<zda`5T&^xGp;4ZBzw8Tj+Q+kZe zcNpPO`OFt&*RX3j!@Ka6c@V9#P#-PHphHUkLbuVc|Eh>}<=@BnDeOk?wx$WYPq7-` z62S;N9>8@0^ZNebSV|yT0}vx>?hu!ute58x@SS1ih$VI8dQ2`Im66yb3no`$X1K5! zZ7x=$`|^(?D>6>c$ex-^p0KYR<9ABLU-x@X*afwtF67cgv}UUx0&=CRt=c2_=Ucx| zl4{0CrCGdZ;RG-M3I_$_G~@KD3K9lzu^N5V|2?l@l97gS3lM9}ctUxd2$kmfKM)Nl zo)I-_kY?%Zr4-|jBc*R~eKTNW0P~}HPM60!PSU+5E-6#-h_p1PPL*>htrb|_%Vkm+ zsC8<2yOXzG1EQoB$vP6F|5OT>n@XZI$>q(nCYS;=n7Wbkt{E!Q`wH=Ma!<^O<Dkbt zc$qo^D}QdeOGT66OK~Sh-4A#HaJLJ=ik9<D*o3+=t48b}pHRNe0fVq|7%Y>oW2wkJ zDwv=-&n5J$q*%RdIwB`>+m3GHAu4?C-b^5hU=$OLoQm;y)6|r#|1qkAuV()7D>p{g za=Wn<eE)tQfFgdya=51@;_P=JlmS7vk=kk)!G~!mysn(58QkmSBPwoMMTMXj3h#VG zEj7lo<DU2OaSLo`ksJiE`B&WW7u!uuJ>usa>3C75@mj~^q&a@lV#a$8x2ZFuUIm(O zB%)Jhij|h3ljVuOm7N>ur0OXZ3c@9D-RH`yzQ*7<r}Jq)zPFIVms)e!1{o)d$K@4w zCX9VI3koaP8sK8)%5x6`xvtz9=gyI_;RB+lsA5OC^k|OtQ?S=%Y=8o4DMLf(Op1m) z+tmRQ1rOq`MgLI{g@APN9~`(<=2csiPm6_u6X@zg<d4hCeccgv6LBV)d?=&e=_Y@2 z{i-1fZTKyG6X)D!im1$WBP}2Kkcn!og{4wH28eE_L7}cnX(Zfkt|LUiSCW8yA)X1& z^svC-bDe;g_g&=iSQ!_!^Pr$i`p32`MII;klqjH}8wHp-5A!7bD*C^?fyQ(#1rAH| zZ_C;=5(}1v0RU;VI|TM_wA<xBHmW~Yn5xO@l0GY|Fe4wqXYo1hXLZa$s~}HG4d(yT zmEVV#i*yBXWw%mXOY4C3@zH=a{!AJJDpBXRt(6CcJpg9G^z_uq`|qv-RDbNm8<X72 zz51JzYRi8{8zx)3z8d$hU|qWZ-%YHg&V14-zb@{ygcXTF27A87Qebu2qms&9Ro=0_ zL_HkR!}Wc6a<yii77>G}!a?*x8NP{SG3PSz-bD7B)vqRK_kE+b@{GR<5Is1qW*}fP zeJnf5uM#yipo43`cwFZ_hyr0skox<+>8H^e<SIuODl>tzzty2Jnt3|x!;f?AR()Y! z%R+09f|W`_?|>e?aNca$^MKS9HSPAV+dR^IC&;?Eq`SC40`1YS<u^;><|53}86~{p z*YD_**k?s_6Y?8BSxqa<D8Y?6Fi}|v4g!1!!|MeK!xUu>X~t--)lO+TIycDkWqa4j zA$KBB;;-q0&E0Vjcb)Ja7P^5Jbh@tW%RUw<g)S=81)4_uENRToO@ouFgFbI?F#QW` zER-fmd(xR>=I_T#PD0oGz*C;D0eEqtr0U>F>bKsElwd1A!~;}Gc99x4%H~m67~5Fu zDs$8Sg7-3teLD4ChytN>1RW3q)9_-Yn2;1umWusw3!oJ-pe7fxl~aGf&>Z$~Cr=L` zezz5zB9TuXDSqoM1cSXLP*~XU#hq}=#<w$uk6r17oTPt7?)di)f=A9uaQ>7#xc%2F z<5dl30p$jBVr^S7GO@G)q)gyMr4Ssh4H!Yib48XQ1Zfyz_+t-=mUCdIL^uti@K|k6 zFEvuUg`?ocNRa`meD|0Igd&5;nSrbVzh}5sY<G^Hax_S7T^rsb<)WwNIp$YouQkwv zBOq|~9~<evC+_Ad5iyYy#xicPo?vMzp+#Ol{#z$-0ZUKR<$r?X&6kh7{@k7|3Lg-M zXs-9l1$Ro~ppJ8}3zc|F29ZoIrdUJ~iW=eRFs~y9V>o21@05xm0OJ;Um)PDZb?tUW zkTup9?Mrw1DM~dQ@3%Fhrez-?eWbGQ(jpk%ihIAWLi}~}=aT#__&4g#;>5S)2CJ*s zG^^$iV#%vv=JTol6S^6o6>7(64Ac(Zt_huGk-bj=tHLvz+i={<ulgMzmLg}Hm<miD z5Quln;+(<BUsy|)gMW4>mW7Zi6w+i$y2|~SJi+cOMuiU@CoiV7+NHt8mX4BwPDMC> z1c=UdGY;9P6Z}YNc48mdRu&ca(@Tj)BoQx<_RXQC>Z?=yUgfrx{2!6u4gPdVnV|zW zfEB@A)KgsKr!Te+xdtUaj;|b|2XwFQ9C34|xOaHs>HU(&L>h;4J)!$`CIfAfud=ap zqQr*+$8^cm+&})(xF*QDt;fqU2v7|437ZcRf9n~^yFZdV+d!jQ#&oFaicm4(!9rpO z$v{By=3!X*4G>XUy7id--x>+#z7@T$M#+yy*B$n<qxH4R1<tTXgA3DiU-TR(fCz42 z=M@97N`xwF<Bs=2=$Wh3K-ApNVe`a9wD2rvDzOBjG62Q0;t>vOB!tokBuw?8I4m7m z3^r0^;RCt|DDjP);?wM?=*^rAQf4jflLwKUYLPDR7^&X4R}~(f1uBuhN2>cmP>+?# zGW*{}&ub+?W=s2i9?4#5^ijF){B~+-qe8@&#XY%j;PxHM8l6dArN{d!wT~n5N@yxc z8c~_62fBDT8ZEP8xC&;=10pR#Wq3f;P4cz*?`U#nJS4-ts!mA94{!4_JpEk-oWcCc zCdIUps*L6?+-IUBK+XFj-*DI<F9!TxVu@BJl}zH}$cg|cqKBNMk$ah<>hb?a!MK6H zv+^rSQ8M$+uT+TW_1YoxeFaW5c`;3^7mU7fRI}E$<;uDmj=tx64bg_rqQ$F+e1c_? zQU28~n2W^U?81X7bSTv0X>*;(P?dyWVp*7M<?s9+O0NNOb+SCAWnla5xL_)$6Yi&f zT6-;a@{s2=r?B)7a@YAL$c}glewzH1oaFRVLZto=;Jpu;;x%ASet+<xz?OFHb;k7- z6&O}hJ`d+L#*meTT%vwzQ1!&7G}*ek%MOP3s**~+mj^ko{nDqmk)hfb&`^5CK-Ps> zEl0HlxqHsc8ZDi@{qt@regqTHX2@f!<Ggyv0<k!q7n)k0Vsga;c~g`esji9eBXSuZ z^sE5xh#e9>SIjU#1MY`^LCTXbaDdChU-c}E#-6q`Au;F?S)*-QXZs{pqp9jJo|Mkh zsYf<pRm3tlS^Yw2YlN3jwI@3te5UH8he{ScwS$p1$J|K$M#^-!=(2wF8o9xs+G(lI zx{s`CEJ2??`4@!_dAv|(5or?HLZd9}BT>5*d}v+`0{tAJLrF_1!*q|O$>G0hW=sQ6 z=Vj2DflH9#nQUhkYGVw7o-HeMP?nV9DrshWhPhNW&^LdyvpT-1`QzxAvBBHu%Zqw8 zJv>V*%3i{;h2DyKUe<D!=sQZe`Cpukbas`M$aOQEiRG|oIaS&AD5w4Vn9YkE{cbX3 zEY5a7{On0tQ2gz*fEe@>k}g7epc{Q#w`6GdhaVClFTAT~7+nPsSWdUR-(B7Fr<P?6 zJ^%Zi{@@{HhH_ait6INXO7&^-&r5K1@EJws^ZdO_okg1I+S|1zr1brvc~yb!!AOQz zVdrNqsu%WAs+P?No>air*KQjXf(4Ha-h)4B`*loq6sM9?tcxNcg%BbazXEN(9|=^+ z06W({t_mb6LK-QkUE@hXkV@<ra@#v2Vth5<y1!7mm(@1pj(QL?0t>?sZllSu8H)Pi zhf!=c(%qS9-v6Z^nIV&u-m2-KBKWw$cMdgU<6;>Km^(%e3S6b5xd%K~5F9)`?du1g zb2xR4KPb&iLskqVp)2WQQkGHM=1;SRsS8}2XFkFML!x(%>`YlC{ood+0}DB7PUz<e zWn5rsJIR>bOYG+zgoTJOP^=bIc_YiCW{Q;4awxHu3NDo7(JiN)ccsH5nkofE@K*qE z8JkA==_{Ibo&x8bTY^%RZ_2;jdj5}KO(k6UeJr<K(Eqd^a)4>2r62Z8kcR;8=Z7!& z2fHwe>CjBjgUm1&-bw{!x7lvkx}w*^S668L>N*AFRO4Yzb^cPhg!I7b`V}7^Lnh?> zV{kyI)1+W(gzxP)sDWvD<hIiZ%NB{%Uq#WMBt=Qqzlq;9wv?4cc%DBPaDvPGc6I)Q z6(a{p{Nt(a{N*1<P)1>U=c%%BiTD=g6n5<K|EHZx_s$BX54wMbhGMP1a?Igmqq$MB z(^cn;9=m$$4>C0{W6CS-{VKEGEQ75iqcA(Z$uP`zNNfnvDmksy5y}1C=ib8dkxbIy zr#|>Bq)m<?E|k|Q{Q=N!+^WZ3H3?I-eELgcexU+$|455jHhyhG$&}8M2plC!MqKI` z+Q-^n-H;w@Lbk3(Qz#Vr#54FuW2&Goz1{jGYXWnqjrG5K$qC*7yBry(!cYv_I;$AU zn?74HLC|W@xmIxq8nq8Fd+eSy@soG2)2~1)WWCX~w}<S$ax@0)P%t?)sf7$BVJ9_w z#HlV$ec{8aMz+14y+7Hxh1#LfIuTQ0WZg{sLga4Kde2r+-LA%+P8y7q3vilY%BB>z zTA%#EwwTby>TXLr_w{;e?5T6AVBKu>KT<ylJWE96IR2pqhAxMe3aWeBZ0dB|V)I1b ze7Wk;89U*@G~R1MG+-X!sP=nyMl_RjSTuopK3h`-)x$7#&WJ-xRXgMh5_qb^XibtN z2r?4zk#*daIFCt(hOxw`)jxt?bCSpEj7U5ccbAEwH2EJTK^Np`%I6SuuUTZ=YKiP7 zjwqPtK2g6i_5II`U`?){Mb^L02Bu)PfuP{#xDKvUx^`k97k;=8U;+YBS~<O~NL|(h zaWv&n_-DvEXu6Q;rjB_+R#ZWOEanDsIz~Hi2D!&;06y$FfFapMj3%VH|8s$MBNdeu zHm5Itv!>ENgg@y|Kjs8Gq%<aA=;G^yAUor0La5k%C4m`|N-YTb0_@6?+5qm9@hv`U zcT#cLPmN$9X8L8DFZCSmc`<cg<o<2B7*QKR6FQz(M5G!&K*^joV!GD;StEa07t9@R z4DHVIOQm4*xtm^DA+sF6_O)HO7X}1NNYn7BKe0aPX4boj-tl8<Ai-8tg%JG+d!xQn z#@c{|sH1ucXzRk%gsibwtE5?^p6H{ckR*G3nJY_f9zsNn12(*Ozxnd9^B;(Y%<u5@ z_-&#Hn}tJ0oh`;edY|6&{~|aBHVyHG)NW<zjZIm8fFOecoWeEufPJBh%Re<#2T0EF zx%=qM15;RT1}k#@@62%X!VcK?bUwoRDQvAAQBLpxO1U+%hW#zHg$!ZP_-wYR8Ex8> z41mk>ZiziK3+s?sGk;DnH??0y5(T6yg|4t+g{Y-iu9~#)^&hSHpFq-ZUy)-nK>Wzr z+y4*5i0r)nhCn=6KrmFel|f*i9Gn_lQ_|?>6|d-ga?)#E@MKU`7;3$4Vc?ebM}`rK zLe@xVc#f@-KX-LuzYWqE*j!wGZ>5rsZy(g`;~o^&12w|EVMZM;B=ub5Lt&|c*F`Id z5vg3WI;WeQ+FLGI_huoNH)os2dKe*)?G@(C_;@It8#_{39BZp`9EOc8uP3{0%=f=Z zar`8JIW%&INxC6qy8v#91G!C}U_{&2xrArT*sVG_6!H$R|2u8)^B*f+ENdQtqUEpR zMmhj|MP?e_#^y+cR3bt-g^*XLn@obCqY!*3Yed>!cQ}zm!!A!aNb2gjxPnK8AzkY7 zF(uI(<s&b{0H?Q&CUk@|?8hkL?^|B!zmIn2fyGuj#wv|42jWcH|3A$@oDNMq$?w0C zHC^Uzf}&?zQ<n85<bu{UK3<=CKt8kYANKAxP+1uW3D#jOUwG+2RjQ>$n#Y{Ve?N|G zGRk^PtZN*ExacVcfz-Av`tSmzDDRtBJ>gF^uq+5GIp%&@C2_ZGpe&==qhg;pj}56t z`MK}!C5(-CG}v5cbM1)>{E-+c<{SAx`wkpHZzuxUM=WQ1=qeOJGA)S&+s&S!I-Wao zt=SESyv&C`js6_7Ra;IBs*8H-p~sK1vTQ@YX-eBmi;@nF3MtrfLTCUc8{5T>RY85E zCuSx9?E`MM;*BWMV=_@Mg;oJjQ6NO}sjo#xMi;PUn(JA`AW;w_Z|d}^fUPDdtvN}E zogVxNcA%`4wbjn@mnVSS{>|CJfj>2K2>og58j{xJUZ)QK5k{o&?OxM7Y8^u={cEk) z!IOs?)wQuM4ADIQ4JaFU2`){4GHEjN(vK<{WKA4rXnM3(cecv-gjar2UZ9-SGqILL z<D3K*KdJt4I=qh*yZ?hQJnUXG_XaWPucT>7ESPIP{aI2X(~qk~Zm}(qV%#WFV!mMl zw^XC!ESaypW<ajta=8uTe?d5yNazW=&erIiOhH<QF;QYncI%4YTIP>LormOH8>(`d z=f)jWVn7_g8ji@eYDKx`W{-{1m(N!#38yf=3I4KdV+GHw!YNK$KV#jBjo^DXS^%e+ zkMtL%6C{OA&8B5u0{5qh1Z&Z*!quTZAYb3a87DUy0nKKP7hwTUu&5j|yQbN?3F{6m zaO}swgYIBLE148+V94<emC_|e%$Wv9_RNkXNcA6&OC27@U7_wq;B-+RmtyR<AvT`4 z-`-XIZj&fVk$Nwjl{^{S$o@?BNJo0*(=WG0Ju@b>SkR+GgA{}4B-Y|BsJAIai$R)5 zRokUPt`~v(_t@p?UPIO_n~a2s@#CRJVd<LC%XSH@V)JGSi)k}2y^7uTe_QGcyl@fZ z7!jewo4*;S_vo6omz=Q5JmKBhw~4oHS>^!KA%Yz4K1+PgFqf+Q-KHD~=+P$QfnBf1 z*WN^d^OcucfK$0OKTYJhu)Zv#iaCvY1M(0?L$Vq>4lOlJ3t{3wL%N$gQrjOzK2@aX zB;rPDqC{;QvkGw|8kC?ve~14qYL$L~Qe}y}Rc1{N?SQE)&eVOx$iB<TRX;{mj1X9Y z>;*NCQbkROmo)GF`<#?7L5#%}v<Or!7HVZf$b^lAVQ5Iy7`Owi3_MmEp3UFYtm3Ol z#F}lHn@nDbuelXCe0VhpIGDw(JfI241+)oF2d8O?KpTYW4{|sEdE>%@>1-i7MGb9< zE}vTssRb2Ah@vv(0$d!3=6JkWt_L$pzMG-tTWUIo>;MdZr+kbRkU_y_(R`J#(wwaz zgdD`%Nq31=tQUAE(68aite@o-6r_htHS&;X-Y=*iZ+c;fxz<uWUB~xA9K`u}&Z@%J z9X|%PW#>M-Tb92<5f3o)UWNVju9e8dUq&$&DGY9umWvw(^#b?mp45v6;#uvB#ilb5 z87}%aUMt>82Kw(_Ezcd(B$y6p;Ek()@sfHG_(<aDL=++*-7o845b~>qL>U#21vC*{ zq#fBGXzlNbkz{;GqzqK^?E0B0uI4Pwi5!~S#bW=t5s@jFsU^Db8=eDwCyEM$TQe4? z`^MJj+>>CHP3(yr6Vvf?6VdB0ZnkbO-KW>b(*dsZ-93vNF=iu-c8aw$;qIZTZQrN+ zF6Xb$DH;^{H%$wj560bf##K%oN|38m(*>dBz{z{|=Q-_Nq)FbZV2edN>mSm#FUbhH z-9{keJ^(nNri$l~#;wXy;bhJDSv<ue<hOl_^(S%p)-A2~HL6UO*ltA>pHD^_M{;Tl zgDx}PnUpx#V`7md9`nU<$k8;y@DB)5GljONDI#teGP4iuqqc@**~b*TktcG^L|w12 zw^575;XAa(4>u3v7r_H3n@Esdw~Y}m+eFWJ;~NgyvDek9*C`FT^@_EJg<%R7s2I<B z*~-I6-4lf1AX-=tWZvTED<}-}CnrN`Y!99^3-EAWaNn8~k05WhAWdncaYLE!S*gf) z-`=b~CC%AMhaOnqO4`aHI8hYerpbKoG!ux*_!{X9#jj1uUW=d+6`W$Ka-pOwb}k*~ zNU2uu9<YzIvtF1+d5E9r%zH6xxDa{bnWdsb4pKQ{j%3Qdq<xrz>wGqbXL-ipUU2Lj z@I`gALGTIGRbJP9*c$BmOt`@YCEO5psda$vmBHc(sJbM0r-j>&{MRdvAKS(kC|IGE zp3Zza_g)(x&UrduK*Z>|{F<V6Pr?J*{O+gGbFkNqN05-`L}wlUr<?E$+s<}GMzxWw z*FS-jCEa)V4Zl$>F~0Fii9^X#;EDoq(iWFRxY1}Ut-c%))}MLmE=RgJK~LmnOD~9M zaFGNh*Dm!(sW`-AeTI91aq}zvL+FkTfs}l+?S^~R(S<jD0>`R8r6PeZ?-BSu23}hR zG8{f}cR9F7pEE+ickbS8YmVUO(^DY`OW9L1*!Z@V?eYv=_bfm%XhN^YQ6=sgv&M&4 z|Kq&pj7)-&=iN5K;|Z&we(1KpPq87dhb7weT)u#8Eg;G@)V+5jZ2ZPE(D!6ra%+%c zIaj4z)jBw9dhBe?QwJ;iW&5o)>!JM(<=R72QSZUtP_jU1r7~HPyomRX8A9i?sg)Ki z(tzVeUAo|K46|D5gfKxOdN|&bHCl<!D68>EeW+_xWh?a3YhldMINT&kE7U$eFnk$8 zwgNL}klS6Xk(aXxhJ&;=Bz_4$244sOOFi!~T%YscUJ$dM7+bFCr?~@95pz2RD2!>k zb{2>nZ=|rUkLc@>0<nPsfk7Bf=5H@>{tx~9PXs_NVXJbUS?e>Kf)jxY3Q}n%ZzRZB z5|0zC6?sm*CUZbN<&077R``;k=?t+Q0>t=uguQ1MUa)2Mbr%0h_L<GCCXaHhek{`1 zToQf)WW|_>1wBPr<=5OpRERYXi)5rWNa_FC<ME?}R}FNvq^&gkcab$&E}ZMt(^_n# z%=o3K+R7g}zhpkISofEtUl_tkO}JE3`cQyIo)G!+9FHg8$HNaza4b^atDn1a7?(=X zQ?5nKXO>3}OKuUH*V2;gx(VwjZj^M*b!L1#YecdK7PZraO204L+7_eNKb1WtC<*fq zeX7l(h_+4h>6mBf8M<4FZ#>AHYkJaka`{n9=v~X6&DZJB(N5OyF}FPLA+u~af0yMC zy1sW?Hp}2i>ufyD>HPfg)Tm@)kT;It^DBPY<%465q)!u>TY%THn1>irY+O`+Ri9;J zewC^3i3iUg{Wbk~V^@sD56n<4L(qfkerL+Py;b`aA5if=74yq!YHi88*Mhh2Xm?yH zV22+CL-Q75%9#&PV()2fjBic(_)dx6zbG`szq-^ee#HhgfoaN`(E;s-=vX@M6RCjp z=+Uv*svqufG}!j}iYP_v20z|4XQP~ltX^bv{K)AS(}TNk)Oh{?G&KK58THyem%gp_ z6$}K52U;H8Q00fsP%wixmR_I{f1<j}cGG55<4Yn^5iWJZ!xaL|176(7m2BIm{Zxp$ z6v|$|JaYs?4qFG!b?m`E3_-gNL;+3bz1MffJ_1D@&wjz)xNgiwu^%?m%%4_9{!Z_H zIbAdl5E&&{^Jmf9u^p-Xl5#zIO%HZiPOHycC_`woyREcyAR#|56}}4&ZhV0Tr0?{r za1Ygn&8!ea@T_q;dDK0YbV>00HQQ{Q4@NoN1%q|MOiO!@(-cVcHcWW`NbhS*YH4X{ zY@8YMUif`yW@|rm=Q7A3)Nl0ky)dXRQrTb*07a5d*5+vH#@}^yoqwlD1lxc8K{1>j zVclNiQ6jQ}bYWgjFIhU&UAk+)YkKLzyxYHx*+lA#r#Cy%Eon5=$Sz!TJZv<vBo@R> zD7Mtr7W-f&kb>FyIZ_P;!DnWk<7xHutX{El*0JBMRG!=26NV?$*la+Nc)zT5z4rMM zrRp<f=mvGA!WNy`D%<KJI=EgHuUg7?0hPr}H{B%k_YS3@!^{u9Z62%|_89<kPx;d@ zv1T5zc)J2lQ|OG^ADRpd<K%#NJ#5X*B@;NhmCiGDUh`3ft6zMx1H-8hb+UBNDoxOe zz*Io$8}xR~I?(Y*#`mk;h&Rh=PAx5C{&|V)`SEmth;XXbJe#!lu=$ga(PH1sT2*J@ z0L-}cU2J4y!IAKwE!KVadioNvU%`97Ln2#ajZkkUR;#$ud~p!2b8to<M0hHl0+;)? zieY$}b~==ju6pyBM40(11Y>%#+`5TZFK(o~*D8ja37?tQcQ|=}0q37isDXFzaCB68 zv;sb0@oHlwIN*Q#c~!c<<ps!Yll}YNJ{_cAH`;7h<J1wZ+qZ1pSj}dO&^AV{C<PO4 z>VuA(1MTtc)jZ2PvoPWX%_dj1c@>*W3_<CsV@sPcFu3fR!w5Hs;GlW1K;)_-1nwp0 zd}$XcpPwrV)y+Sg8_mtdFOoX<Pu+(h#&w1Jv$s_|u}-a>)xfxhIm$1bfqV_yTC`0F zZOxsyzwzj0di?t>gLfz+cYUk3uzum@mGj_fknBzN-biEbAML%?l#7_=tI8Mr91L^f z(Zr8crl}s&PmzrKOeXcix%P6LNM>_xGh|ff<MkeUbZ%P7Y;~N@j5EjD*-HAtt6|!{ z%U7a2m~xk;pnucK1aj;$y-?CM0B5kkG`RWj1$^f1@0mLPH21Z?X4`S*f!`my6yegQ z))J;R?^ASK??UzLzjEx)Mu1&OwRinB)j39d{z`cqXZ#o%>AqUc(siYq7t>v=Mx|x! zM6leUKZg;ZD>|cQiOc5QCS3&v-%tHEIT(g(E4rPfgRpRw`Z}ZJk3xFxGsr2J-;MCG zyY>z@eah_YyrU0y!>y-$itiTas~R*6QgX-Q{~Cflezz!698EP>b?SL<-zc*JXKI$) zJpaCD8Emr?<4;HATgPm|ON%dec=(Rc_G9@FuWdMg%FXLNu;z)U^N1(4b#4>lVjei= zI1*kaIO`BH@rO1)u!8)~x~c6Cm>u3AE@ouZNnnw@mU}@80r<N@eCM{*AfRvm%$FF| zZE2v5zn1!7SrQrWlbKwU%@`N+4H_7^7*SlCYPld6QR3*E1i>Y{u)`pWC^TL@t||;n zz~;Pjsfrd_#3Xq-ti+GyJNUhhDypDA1hZDaX3^aIg)-tb>o}aQijgg?NDmC(2ui}V zf~=Z_#4i&GsOZ%&tIQpW6eRK_pmJhq2=?ZUm&#wA8Nc0}`!jA4>*JYe9yzjd*xv?p zyUbPLwe%sh)ihD2H|w{KJ2Gc?I0ZbV)}kT!B&sa!RSISm%)!2zO3$2_&g64R6889O z)Ge+pOjf6+v0o+{MBqch6gSum0Eg99>Q7m`9Rrvg>Fk4#v|0rMqCjYyE;8Zg)9x<O zmy0**svg8vk6EMdsy*4~^zL}O*B~CnwMv?nRc#Ci*L)`$h_&nGCdna$HyI24xq(pq zR7{rI<H8(FqkbftCe0DdjOUJz=N@PJ4^k=IZ*+t*U(6ob+%<$-V8CCYvytj77S9Hk z@w`(t-}1G^qT7}4*8BNEk=9BM&oOlHg0tv9nI#Qtf?%j{p44&?qghc3;XB9X^a7Du zrp&878mbUnhp?O&Ax&V8@PtzYZvT<}#{O%=4pUsEs0uw55?Zmh?94urLKc#ffGdvs zq`=5ko_TXdK~l7Id9srQrEK2wECK_$IuRaz+JVBE$9RdDj3Hrl%&({K<+uWiOBMBY zwLpi=UEE47>*esrK^UTIS!t^Mc=m@pVs-lc4eyJ=h{VIGQ6S|W$JrU5a>h)0QBE_$ zu}YAG?Tya0U;ReoRU@$2fKjOwUL>fCQBM7rZWjlkBf$Y1SYY0f(NMQ5E8F(%o3Ez< z#TA@CF|7s%ykPclE#JZMqr;OXi0wGhrs3^Wt1;`JTMG%<+5uj8@GkiDVyQBhjJ2DN zbu{#(z__zk!H9p&8cCQ~C`A*rU)641HR7nH+4C4;6gKj<H+a^Cb3P?>(#&#GP}SzH zU~f#pKyzfYa&_wU)M`pGRj+Eo&)?x*gch6phJyT9K+e5TqM)Se-q=4wZo}PNrs(9z z>ioK^kek;}tbqJjKkZ(##jrrm1odN52_j&=-gJd@en5Dv&l_<ZKFK0dh<wDCrOPa- ze}!$AcMd)VQAoi4Sb$g9^gE#no-7)rB6nmhtIvnDT5IeYV_(~J9V6gta+f<kA)WqR zbJ|djFDYadArxbFX$E-x%oA(bOHNPx4kp2)82_WbXn_Y{1oG$+Dh{5xl|28tB6CB; z-Q9W6RnmFAT-qox-1yLx_W6o2vm!`}AWm`LzQU34;lrGh>^#LP|L1myYX=Ai+|AEc zV}a1t;Vo8TemLNX<(A9Kbj{q^xK%JZJ*S7YMw{T;iqNl*(Yq%fWSEP0Akp5H0{1d! z!AS9pKFW<tx^psgNd~Mzo7%ie(p!HhRn!rLW>F*=B~(Xch}V!Ea=?zT-Q9tJ$@?LW zU*24-lvV?HS}$hRUsB!AYx|L+)G7^tCxoL--HuNYC+WZ8Z1oy*naZ#~9T==>;~n^I z2Ef3-*{QGt>lrka7FNjr@u_#xN)&2zywugx$|nWe2-@8c#`NK(eFs|@|6u;a^8n;e zf;Bf``turd0@KIR=v~X>(KDrlvs{de!kFBFH$3_qy2epOZ&o(^3c2%-lg8W6*#98w zQX{bh`II7dgSP(E;A}eK($@M#>!U2`d~%OOf<Gk=?c3B~wXpa{NOD6>V*!4-gqElP zb~eqN&#SuX1$7m`*#~CNHVoHwH4QgO>g#qg8-=koz^%>eb_YN_&Eu@QZ8(1PgLd`V z5PWVrVUp(tk@WmS&547OQJo;xe-h_8Q@eai-~_X2QqqGEF#mw6a+>fC95q3n<(nnf zPl$<Wr+5IPInSnk%c@(9?#CJ5o~!})_xBI%oiA#0e4OxtM!8_7?%V>qv`&I3Vd{e& zt?lb1Vcv7Z&ok~1<xnKuDwQ=v=D^+m{_+lyjcT$V6R6keE{$dQY5i16r^`Im7>s0j zx618HYLGJf3N<pY;TG)FS>pl)#JR^?B0u^Cy(U@5J?sZGiv-#VBX^Yrd*Fz)G-S!| zRsVfJdUb8eIyTu|4WzbHVw!4;%Q=?bf`$5q*ol^)o*En(y6An1IRtRhft5owTfD4T zpuMCrL+?oPJaS%Tx1y3WJ4F(tdwLFV?wX<|KBo>PC`vZpQ*`zwlmr@f(CX{PTnMe; z|0E`(U(?Tp(bHWFh=3$rd!Y?mBOpnCGc^S7c4bg^$!|j;?Vv~mpG|~Ecz{t+C~SVQ z24^7hU2O7s8W$dx1jKDLGmSuTgO#J^Ts=|FV`CkQ@JNMsfWQUw0dXKdR#I6B`yG6{ z(pBTp(7R&CJNOMC#D*t4SUOTfyRMdfX2%Er0M+6c#mWU44#165l#hOQ33}BvIv;#0 z>^f%&@K+A%B08cuuQ4cRwG=jnrAO3z+Fzy&dcoR~o4s*37M+y3Z4MITHvi|{7;E2W zR(L^w9#~mt%(g&}@c4wBwVl_o8Mnss{Zr+6*G+{mm6!!PsYETgIxg@GfB?jBjV->s zuyR!OOMvUY;5NYQGyl;-R?eeZJ^9wpf;CA9qs;Q=i=RtD@zu@kyzOc1g<zg=sDg8c zVAsy@n<^;Yy8{=n;YR@@M})@WM^gZx=EAH7tUSz6@2%ICKnfs?pFQb4d3nB8*s|V@ z1~AH(f>ybtz_J>@al?Z_JenFn7a9!M+CntEgM_|9iE4}_pq>v5SU`v4EzDW7FN3g` zx2Fi0`(4+@^}!#$lSp%NuwDzdr86pgkerFz3r{afv2T2V&3^rl0{q(Ty#caM8%;{< z@I`BP9LRIyW=mPYOdcMbJ*VT2#^e8Hf8hIfi;*5OQi)Q~1MvKdC7o`%5hdm8%SBb- zY+6yVkUa)c9POZ1qhtbz>X{w$LgusQ%}m3GH|QTYaOMjlsax;Mf^Og{99y{6x7ev7 zsI5rh#v!_<38XMW#<$d%QzHWpAk-2zGO9Xvf|g)S@*Mb`t$|OZjwG@#EMU0deGoG$ z4aRa;iSTa#n-ZEEGqAhK=+Myxst!u$%6Ii20W1*r41BPagzw~w2YHI01_(|9Mwt;F z3tviGv?Xpy$r@j{GF+kDv17u!Ah5`LqDk!QQPXW(BNzc*#vi6X+CtK;EpjJiy7KJ< zK;o_5sjk@MR4BEGoLiDzhek5XcE?Q6AuWqNgawi;rWN}8=IbRM#MCGm{Ew$@N_mhC zTXAgZN#VOtv=@(iu8#KrddG6j+Y+bbfLImH^KJ=A9%A+~C~q{^sE)tGH=5p7MW7Z= z2?QAydW!M)mfXRH{#uuNR|?AQ<2=UuD*)#^w6Q`<QwxqRWkLKoPUYe#27Qshu_cI3 z`H-m6Q-X`YNIx^rD(Q!>mp+3GZn+I1Re?OQKMXwwcRj-B>*-GbNasCQP<M_&4X+<? zQlphD-72SDP$%<T*gdAd{jOoTd%m7wC<P_lS0~FJ)h$;6jY2G!oBeJQOZ(c8nc}XH zm*+XRq8*qp^mYpklDLF_0oc&M98?8$w_31<z$SYG1<5`<9@|Y~%~Zu%-*ntv;UWKR zn<-A#H6hBhnNM$y7o+X$%|HyAUc7a$Ds*CQ?^Zz=I`CHEf<g={!;TYOnc{rrY$;Uc zxK~@FOdlEKM`qN?Zr}OUePrS1os|=HFugnW;1{?ls9RqwVm(Pn#JV1^ab*9EK6D<P z8P$K=;;+q52+d`IW-ez2p1HHV#Vhp~eL)iJ2m*afS1oqO6(~35L5e$je0W)b{$uJF znX@kXZ4+Ns)oEJo=S0L)vq?W$BlBUSh8H?xNcrk7Bht++L$Zm(p~&}<kBt@7A`7MT zb9{z=gx_C(A!ij?tE;X0<TGoq|IAxCU^elw6coUcEuCRBdeoTC;(+Bj5H`Iv9)e&k zMYh^UHw_!_)7Ex*1#i72Zrq<35){u(1p7?YYu^->&8zlmsSZrmXTCg6yFs%xG%Q_% zSYtWuOE7oSj2=ml*5-GnD^ixJdYB0D33i3e+kM%P)@Ez?XByV-*&a%RCnUD_@BrHv zw0tBR%Oxi1+%;ftooF~W=zz<0C7eexbX?1_3KjVgGM}%CfE*j#1&h?O=d-E+KNJTC zFf=6zLsNdD*B*dQKSl8!=u6l_Y~1ac5SE4hnE_b-b$W0+QVM4CSgU!Og;iR&4B~qW zH79IlQ;=VL2hD_;<I{(`8zdR!zN?&18&R*kln3cZF2>84{lohhA33|w!$3xmRgz3- zj~2;1nSkfM@a~3d)$FWgcjrsGpu;Xcd@d}W{dU%BhYO3LiYG*cWm18zyNAf1lIB7> zXPsI+iZkElt_gz*(ZLj*vGq@Q_$RAw)i0(+6Wu)hMLS2bziXqk;QQ^0JZ4F5oY5gf zuGmG^SPm2Zg0P&3v;z0QHR608G3Y)Y%Kz+^toULq#9HPReNyRMmCG_-S^?}eaZQ+D zF3{-_&VnPQ6{Eji`d;hBGp9D20Rz;1WhA|o(`h&LO3p|O+FWYv{<EvoC~R(Yt*5G3 zxLdVo<dy}4gvHD|nEYtng?@AV!nQRR--_Qa2IMMdw%+!F&xeA<hB_~!y}o5~f5QWt z5ww3$f_)4V3?JT%w1=aXF572l>1}li<`V>_9uw@Yy``9yx&Iab+NE_THKE^3y*b(Z z)K;q4_gt@Gujg-_8{#qB{oz45wav4$ivGae-iWMk)B4|;Om4_&xwhpY>lAUW()zZW zL#kq5`m$UX-#xjKl+JNM4DvFc@vjc43BR)ia5B~gA{%s}otxK6Iv32Dt?Km~TaRh> z&M_BbFUfHgZmksBN)OZFiJnj~aWZBjJcRb-S;>Y3F&?-Vn%IqYFbf`m%uAPx^mQ+F zaehult+H}EmPmXueQ#m*yC)kv#aAl#(YlKJfQDLuB$*l@NYqLrabcnZJAd1#%Y(#` zIN(nw5VS6~T8M`xj7`aT+*#$S3IL2y1^7DRnh`lo1l4T9!G2QY$6wK=a~4Bd1tRJ8 zE1b;X8e-DD(c1z@_O{ED9Xwpx=Id$vPgl%`pl}F}6(oeH^6LN`*QdE?Qym8-R89;E zR5w>tMoHJb0ply{3mA@EC2y1;V$6o2Yryf*7{2o-^GWH)4v$5c=lHpwHI6_m)i}Xk z`d-9-@|a7UEw0Lpy<LqhZk8*!gXiKMXLkG{zR_`+t34v6o7YJJg12)^dqn%NK5qt8 z{EXehp_Nd|&}7%w?`z}Q#)k$qYY7Ct#D_5dvx}`BNC8YFL~2OJ;Y)qql)P95N1!v^ z?x5m9YeUVsp7ceBaabdATKS0Py2bHMq8>_snvnVfggb6P;zG;Ebw+&*@{S%-_{CIJ z$I-H$FphVCLi_nx@5^z0OgCkYm`n&LI7-F)79WkK=RO48tsOTA*S5&rkQo}ymuRqd zGC^tO%Glnb+t#b|)0;WOvW~RM!DDyH^zV7)y7P?IQ>A+QGsrG0d(GYFJq#~E{uN1m z^`!EXJ_B^d!^o(5HFi?#HDg^I+Dz9h)DCv=XdaOO`!8@OSnC7@paB}Hmc&*lSHcab zC`(~XXcp+{#aEyMe|-iFCf*3KZUFDHT<TsKw|?VpUpiX;3VTD@Yk)NN=@~7IB{>`i zsIzRjo&OqV^#j=_FLTKwT^#)yukjaOg2#0503X%}Wa|kW?T9@5Gd9jzdvE)f#7>Lc zvtgx&NAV?0iR@~j{RYlpIKHHPY4>BEheO|R{G6YsuE&6{zUNyyF;Zvi4xB$nj^CL* zTl&pCYzoOu-`EX{O`9h^wYgc2K%6%ws()R#PpM+$!~3?5qp6;kNs~!x(Sc_l-#1(@ z*;`mAS)pN&EXh#$3(V;(mDEZYo;UC3p4bw7^`Q*4bVtC5*^n^<Rg1a$d&2Cet`=MA z0>_ve;=$xQx#y?@(hTXsqIE&_S9(XJ56R<ahpuNqa(lz{(P+NZw#hG9!9S<veqYrJ z>#Pk`)ks{9wUck1^7tOw_Rovkl40Ixy(eW46z14<8@I?Kn~Qz8NRe%x)w<O(@*bNU zz1bYYXoUQ1%9_0PbGOuFyZ6I>o>EM%=$Y=K*z#?wYxr%@XitPWs~vH76Mt|5_=wqn za5a}DJlj7kwe>n1?j+`WL^u7oOe}bs!zDqLUxhSZn&(j4vF#f8(tar@Y}Nb|s}kb_ z+k@O&+{&*4aQUaN%o0UNNaItj9&soLO(ex$kzWMkY-HCq6i-lfmH`d~mzYb;jEzJ0 zzj8BH<Ax}!qG1-zlyR(;ENHS3hs6TDd^olC>UFeF-@R88Lfmisso2g?pFj8wVV6ZH z7s94Q;!nie@ulgni}%s*mDgidUX-_$2Ic3R@8~`5CoLTUTV{^i!Kft6jn;hCe9{>M zTWl{Y5Y`Fl?{3&dB`K*}tRAv8AWH33pEz`OoNjS_dlOufqvuecf6}yQ0g>oBo38hj zaD<H0r7~H#J)*cFqK`P={9WK?iZ&~$`XrZR7k;@SFViDX_fu`A2OUMW>Gj3`Q~QvV z<aY*p`h)ld-&QHPiU>)-EU}Sro%fyu2fKp|(9b{q(GdaA^cC0K+ik2sG%MuM!+toi zDa&Tnrz|Q=m?7en(8@y*;d62Hl*C?QD1fpWj3^(<bJ1bNmkN5Jb=Zc41-uim^cPlR zgb{a#FddD<W>n(A<IW|%3@k|Ir1}@_sJl-o>dqPseng=|J1R`v83*DAzWzbhO+_n_ zeE!X6o~`9O2>!D#T=5a-A)J~S!2=}JNrxkYg69wO8`A>+0SpC!0m0dqJv}t+!5Exz zPChXSy-AbGsJxukQMxG0w%G>a^aTlGh7En1ak$7cNr>YbI!N{!nxSmiv(M$XDMQ}y zERug`ZHG3LK@<Ud+*Wtz4A6!Ay&um52#@>v6+-C1*Sj1;SOyo$H#O;j0#QD5hn1&w zdlNY{XG(=<c>VlNA<~V{%Gta)*N=`q@FnXXm=_h36CRMZO@iaY#w&c4dMT9YsS5Q( z&5<G`oe0dK({0ZtKyYF?3(5k08kEsxq(Jzu5vnUzEqy~YqXb4)n+q1EK<WRiNblpZ z3C3oT`skeCLvK3y_%+}PBXd|%_RlHR6u+_%eACKM?zuLWT@@%Yn|UW;bl~#Whv-pt zs6Ayd;ScXf!6;6RYBdy!2T_SV%9wn3SS=o3{d*%*ekU=hZ+_7)YRMG02+t@=h<`?d zSMYnJ8wqd+)8q-Of{MQPT4aW-+<Z`}gcSLo&yThNgDw6kqp=Dz_-%J)8;9R2v`riJ z+uGKE^Bi^THzUf&Um8w%jt2uN?oiP^vZG2o8&=Q1l<FY|G-hCNlPjUK@w($-`MCY7 zhVPwqjH^nAqqKS75g2nB{5)?-%iykHh^2#VQ$nl4bcMcmrwE?P#cKIQT8^}cW@>{U zUw-X<2jG~Ro-v~sO8|=8k}~@d570H~J~c%}@m!jk(17Wdzc1vL^IIc-OYMh?Qn<;n zLJTkT`x;aOCt=ukBZHH3Hp}3PV~s@^M+0y5ZW9N2>=ewA*l_f(mJSnmTey$U+;|-N zJN`Ov<@*PzG>~E()3N)5f5@r~ZQIxWU&z^XK<_3U(+|9I3xTme3G9F~V}{>M=?m}; z<`^<ExP6j)@to%{EILPF5k_%REkeARadc#p9>rZ}x0_h)a1RBzYa_;pWD^lRSN{ri zaGjuLG3q@__Z0jz9yoomyz<+Or9y&}J$esA;z}W`bf~G}S~78s3XHlt-W}dqbCyYA z2~UZ4{;2crTNajMUB*ZME?KY|87Ms#GvRF&E_bm#@>wvKH@)ZGC+yEEChz<doKE|3 z|A10+i&wdatJ9umK$jDRBD-?Id=lHl$Y$hd56zIy|Ezd$0DeKaTqfE{jLpgCx4ZSc zu6dJZ3+6Oe&w;ZEmnywK-@4%s{kKn=STdSQO)X(9k4T4+%d2!iA)*v%$(V;cO*f1R z6UB(t`}|3rk+Ga-HAWma8dPu_Cu5R@+>oqL(LjH;J0ci2glOw%WeEING#D-gJwm)g zQQdl5#pXx(h$O|~Z^;qzF$VrB@h6u=pu3Y~)5x%olWf2HDc5i|zFMG}$u6@Ako4ux zJcbe(X8<k??<z$>K?YEp2`SVrS3-+wp+%}@UGD<ZRP<EjotNB~cUO0!KdmtPTz<DJ zZbZ(xR`be)ZUGk=1-`9t+dHK{=q<ReXsStdcsUj-h1Hw2InSQ4Pe0%NiIKgPIa1D6 zs7!hSMB?HU2rY<FgT#U2Av(w64L!0$T~$1=?TJfiB{3te_L*UL=1(St0_S=ct*3Y9 zT5|DU6>|n+Ft=S6y3jQTYnb3|KXV24@~&OMp+E>KO(~xC-RU_!p0D&*uqbas&ciob zI0*UxpS+xu8ARC(n0;DsuBs4W)g~0$gLx)prdhIz!b(LmhVKQ#!A=d*i$JH2*RG*o zR5ZCKy%y|Uc;D%`CQK{pQ^a_RIZ7)F(O<{uv7u9U9D6XTnk`+b4Sis3g<sqgTcXqj zeUCJtVZtNhfytc*$mJ9P^xZT^mtqMhN(6<zNo?db8etaM^3{wA%v`7w4SJji#?)L) z|9aZ;;Q;*!u_j75Hww&&6o&>7yQlLx{6J*kt&o~xB852uRhqw4Dg(U#*l7IKWo7?l zIhS38JCLSq(-K|Em@v<Q?7Um3|K8I|HH%jMqT|A(GBRtt4&&NiEhCo49N-EZw#HfT zq{)Eia|MLY)z<HnjSJo!gr69a!7TPL`)b&F^Q}f2mMoaDb^gys$XQdxeD_q33CCdY zXL*gyu`&EMi((rZmXy+^kmk|Yi%?yz5HGkd7$Ut??q8fQK**)=A2$ozT%C)%2+Y}u zasz_O3EJ$&mlsqxKLH&kDkE76uoe*PPP$b)9{1_Bg~}Nd!=;k`-KsN`Ru*B{D(LC_ zv8Voy>!n{B%+-G)?tbCh#qwZrTKZ5k_`yYEF<a)(=PU;1kaZngcI34O9R_*k2XRsa zgrs+_<s}7~`hW~^h_WJ=b!hgfa3Yqp0M<=bGDnjVqAaI*XiF9eXQ<BGWl=Ev`t=GW z?}u|T7+Js%17kTbr$6mI%3RFmx-+S^S|MIX`C|@sXM8R2dnwSb)Eh7&xua=28M^BR zh$7hW7TWaxM3<vJG92(t*<aH`xkQ`oh!}H|`NYjqi`?uzvU|niw-1^{n)RVFg!w8> z)*9}sWcH#XayHgN@^7O=x>QeJh+esXLWK3D!slZ%funL>fdR|EyWiUA4r>J?{GTVK zpd&MSa8tq5UL@~o&s$5TF%*KSbxGh|P=~e5dc&RtLSM>*m3EyNOCEEesbI5D@Q28R zW}35g-#8;aAY_thkiD)ocq=lW*PyB2(gNOYJ}*a2V=3=qn@OC=gH*Ne3qRzg(&M=L z3suXx8!n)N)v1o0eVV3sD9<=_D549%+eiirlSJUB$^bJKOQXy6jM$e+mvy7AmEjjV zhCzzOE1}nZY&X%Bx(m-m4jI)i&AwM$zkoCrBsfz`kxrb~xYxmNzxowq&I%fq5u>Mf z3<AqtP*IUw-MSpfznT}jyA8~^^%-%8<={DzFtfU@vtqd=<sCJMTb63)ufcJNBYXMZ zM$7+M9zfaCOdnJ&EPI<3Phkc56~SV1sYf?2cQ#3x6#~0NHlDo<2bkGfy)1*s12jG6 z2HMq>3HIT@4npFpFx7iRu;vd{@j;ud4jO+)e}W7ZCsD2;^gN;dr*gOeK5aZ4rk~f; zpHo#Mgs~^~EzSclJ<;bYitoNuXIVJ!2;E7s&cC8*PMKwhzJ5@K=#A7>REA+)P`c*9 z_+P7#$I|8+x6nFa3UoS<UIB&-VpDUs2548_x%J)~;c;tlbao)08JeB10&@LlerpYZ zZ$FNe_{%xl8#M3kFGUO}wG0ySH>XUw^|WiEa_m8GS6TF0;h0ziwbQ+x`8{K?5>pAE z0a^|?<UE;4>j2MHy5kx6L38HMR3o|hmkFLYk60q3W^)0x!UEM48PWM4N$&?gZ>4IG zWx=7+>&@Xknd0?{Cj3PeM6$5vurZ8J-Lm508$v=`3`pM6&VR*87kkt}Sk}6EPjgB2 zk_jtMiQVhW{3td$@4ue&cb@M(VxD?aye%Q~p)RLX(NoK>$AT*Mfn^XsY`{7vLS&Vg z2P#EQ>ny!T8Yro3<ZGDvW`bm)${qH$wy1}UJkM0hVpxrSr9-}pcfj(xa4BeuQq8XX znX_1RK)Oo1rB&4TE&uXH35aCv)kJ+&XShcs3}IKO3pq96c%@v67QHG%yPhN^e4C(| zqL{qLh`D)fOV1Gs$O$GOQk69+2}L7Vp9H8?Hja*hl9kQj!I6FNn?U0F4w(UfN^pj% zz+qIWW|vzt32F`c=0fj>IaLPcy8vmX0basGqhLu1zdQ{8ty81Q$wasy43(h1xj^Ny zcs?U!7#cd$fGR>@VOQ)EH^!;av$V~v_C8i)wI^64y{J<N?<P3)x=wHp!N(gph)*W& zD1L<`J`3%7ku`Mp=4Oi$Kc;3buR_VRYPp@cn}1%}u(U)Z{`I$QU)f*=qmBb+)G1%1 zpytZNPek7=inJFSfhCOPsWu(&(4y0wQ|0ygE<abnM?i7tix5Sk(4!N+R3WRt;}Yvh zguDa5ah*@NfR)YFTbz<KMXlnO!Ixo3zl&l8njQ?EShzvD(ovz;?R<-3Kq>;{>8GNK zTg7e!_43)DL-0i%F(>L1OdE`(A{fKW%X3cE-&OsR%GR}59n%q8q%<HpM8^Ihbiva0 zYbABRQDoGDsHR}+-n@-F=r^2d*$ObEjFucM!dALpMvwMq0*xiS0ITuISi6Gl|Iu{T zQBk$;*O!Jtx)Fq-ySrrQknZm8ZiIm$1?i5VySqfXVdxSBq*IXw^_{QJ`}>o%4y>7* zbMAB9*WTA>H+NIAB(Y5$9I;fs{pT}!q?f%)%1rKYxQ!C5c*i(xpnm3kCe-U%A}-d~ z@H+aW$)q{`*|NuhQ6Qk%t9$17mc&^vw8X4wto_7S@Y|mj_B%DRpEo-{X1F~<&Rx^Z zUih!<LoGjaWv_S{UA_<U;ogUA7)HOmwGrGv=zi|5LaTKlrGzilE3n+XnPuWow~#hQ zf3o85_07@Gr)<DnZJ?bF#U<5n-xjXT^8o@OV*M-k!%`tv*)_|&<dVSg0E1DH3Id{N zOk<Ya#;uiig$3=RQZNyCq7@_Td*$5eurM5Ms86qhk>mFH&rHOCwQ1qj=TiG~K$t`= zx5_crL6r;4A$%LBtQjtyy0CC9!tFfyXE66wz>Ria)C>{8`}2n~pX>%xhG<q!SQ{>O zW}D>EQF|L0E)Bkcsr&!&@-l=@ZBTVea!%#cZ)*LmjSrb%E${^cyo0WkbXx_xNewOP z?%hr&&xSULH`CKqSg}z8*W0aNJU>?jEWFaGC?+X6VJ>y1P#0-|nrm-y*tbDEIJ-+G zKawVIakr892C3uhB)5a*m#UQF>!i6VAu${=QdfZW0?dRud$Wshj}%<!`K*B}deO_i z`Dlksia%Q(by*tjweH%s)!x71u_4iJ8L#^O3QLif7+p~(Mgh3q6-f1IU25cbR0}I+ z@t2LAp^7QhuYS(CXv0cHh@Rkat0d0QZW(j{4CRbk=9U)WfIaU%j#OV+28OaQ!wp75 zr;VKaXCC6l9W1&e9>^wUW|%iWUN+SW^f+NdjxX$))tXWbW}ex(B*)EBIx;XD>8Z(8 z-LC>J(p8dX?>Bw?bQ&y%+`nd$XAACiyBxLNxc9RA_zL|I5Eo~^>&<rEj9YzP)_^~< z7o8l(0WFTK<GGC@m&7(fzKf<4|FgmvuI8Ri-lt`n9$*@V%+LG?p59ELT~OAdA_Apm z;;<C4ezV^;+p*6x?LYXU6DS#LIVxkRy+&Vjj$^SRJiX`fnZ1ug`&ee3e*e$Fp5T!S zLECgAAeWw9ZY%BYH#eu);2i3kmO%~2=kdyKLm08bIGJTI(og3Ev)#Aggc4}Zp&rF; znMv`yJv=;c_2@*z)4j+f%SntGCTrBu)sEOl#Y3J5M?oj&>Oxye{e)kEI49?x+#o8Q zU5@bDx}O@pWDR#m<vX|VRxxw@YMUA?IPg(1Jj3|iy|fGrW#a=YOKdKyDH~ijxZb|l zxUTCRYDQdd&(CE3#;za4G7A?7c+{NQh_3Xq?wmH0FYA91e@nBvtvgp2b;k*Ci;F9% zYpX>?+XcFuddedDYjLQB$^^Qc(#mpTzu&AXpc6xx+ZS}5=N`<DtgRUhwpNd4;vH2o z;jEu`Pt|loa3~;%?WrJY2?$RC3JPKsZO<0S5TVi9e<rrxH_l`eyP<V|yj!<5qJN-6 ziLf=U`T9M!LjlNiqZ~uy`^7J|Ug)6=X`vGFIMW!qDvP%!mil6HD!bDgXLSW%lvF}Y z@A`fez6^Rjlq&F^LK|_)erMX0IIefViFZX>)s!J;CKGHbs$eRP!znwT=$J;jV1*F( z#^$<vyWPrw1P-440J*4sfe`Cl?^SCX5*Qfoi?1|~*)*Bye%^aSczlOS_UEwdwCTz4 zlj7rJ<0FGC+Lq%*>&i81d@$DrsJDmXEZJB6A?9XdDcS?}7BcC>{d0-3she3}F7InO z?#OUK$)ro@thah3b8wtTSr~<g@HuK-@}Zn^jM+giW3mi;zz-!)a#562VQ;3uK0&pz zYwulXg?z{T*~KC+?QxPW?6msJ$9GJa^d7uPNl9Gc{pFuMEy}Dq_bQP=ALsD4RaZZ~ zTv=2vjig3EKAaE{$+Pz)L~zi%5dgf|DWg2RE;h|Z5c?*^pOdRYtlqJJ1)TK(H+nVx zIFhiM{F29L!&6(74RUcr@E=E`RP{0bbft0hK>zZ5HgcP9j`&|xNYbx=+{_h>?+mIK z2i>v-HM8{t0iqrTf&+lI3vk44aFru^w}e2Sr4|PpPT9&4<mBICR0##M#PuLV`~Y{0 zSc;BJu>UUF@j|I5wNF>I#<&oV7zXhg)x@lf_EOy}PlGB5YvXq4wvb<gF(qkcd+S64 zgOM?^U6etvY_IK8<v+PX_A`d8Rf01g6-Ika&LV1H3h@>sjCh(JLI;cIic6dd^|1ve z9{54lPHki+pQ1A_l$l|-{c+F)w<;&0l0AQBUTrK;rU(He28l6LS)<#6XiO`cvX``X z*3~k61@0*jrt`rL<b6E{K+hAf19<0<*f+^8Di@SH$2-U_YeQR#_i-_AW_l(2&2`;K zmoUAJxHTx^yT_&fVEt@k;p4F?Q0`O@uUB4eBL~-`?OyVvPplY2qebeJ<V#n}C0>K1 z+iQ+dZyW?>vqDRFqC@u$7%jfXKH7ETA-MCQ2E3QmQurNhAO%SrSo1hdm3uM;|Fy?; z!M%E2Qq;wtd=|$Jn6J%dM0V-8Zk0_Pzbj<ka)nPX_aq<qRy40UW~jOqR_N58wE%`h zmXCeet${?HL_*!=sjRaYl9@C$K>>MyU%Qz{y3mT~;k3Am&c5QkMnsdd?OsWzYq@mI zXpS&w*>ZNV{ThNbCn@MG8}S0Y`}j>Yem!xOAJK7{i+x>9t3G`1y?+~iUa@L$q!{t- z_LXswq}dx<o?cUEJRIe8yuh~hs*(1%U6<Ovu17b~Y6X%<2yZSvb732*$9LvqwR}MI znw7jO*e*5^Wx!+UTKIJp_#xwfWUzdEW(r+9%919Lr|rA4w7*_bouXyj8V#~>ot<f( zdU<Km&tfcL63bu~SiG@cu99p^9PQ%5oNvqYvOf!K@x#4rilDfdj(5UD<e(gVEp7*G zgf)^~gPk6Q-@7*9RdD8~!~(A(TTyIYF8HphRpu{osR8|f3;IB&J7yJdIg)011%gST zcZdCObECBnAp(6nnE5~nBB2hxB?f1BzVZy0INU|w&<!3!c@pMq=0y(4zoML_u{Sz9 zL+`GOOH^o32`R1K3oA^XX62LpxHop6i{AZnw%!(7BjD6rpIIoWXNdoS8l$*4sk>ON z(_cr0w}gJxJTgEqkrt@)W`2X$2faVO?9<WhmfM+?R(NRF2UIK`qT?!aH70{i6%JSq z+)8lwpb5D9^+ZqNl9MKr=U0qAJ{oi^7V$Bb>COkgQ6AE5&(pKXqbTGu<>m5}_&d!` z=$HrL9)Q;O7aL7Hy_=^@w=lJw5R<|iFHo#E4r=uCbDieFILNJ6@`D9-AOZYp1AmXG z2x7QJr00eWt<O=fvS9~$HoNTNz*^u1yQsFMXw`WlgG*)N|MNEpe)$TglQhuU|2<#> zPSU-vDHA+x8Lt(DU_ygp1L-wmMq(W0{!$YH3Fj~1C}xsRNbNs0f%FB%uAoNn@^F~* zf}ZF!A>zWp`n2egNiO_mMtk5;q4#f^NeWnXEk|T01F1m*23^VAu6U}63AZE{q3oK% zIbp9+`MHziHkA?k%`)vNBRl9?j8=__tZnjtMQ}8FwdB+Y5&v;_1V=Q473J!N-1{i8 zb8=N9ZRKtV>M74cs)R0m;nBcptzy3g5odDZN(iSc%J&}LIpU<oSs7rUsjtQBW@X+A z_yu)z2hM9#lzrv=qo(8Wa_2-(r|ZMu*&UWX654f7ghn*hF^OkOG*++saAMkpZS5l$ z=t&e^N5qooi~9y#zZ|kO3%d8nh!D{9PlSS)M1_m$-9)>vcq5jC7%6-Xw1PP5R0jza zWne|@(py1hTCLpRCuvdwX_A3G47X$I9~_s4@-s_-AJx;@gxH2HIab;0*!|dq$R?)l zMs6z!d-~dj-GuglZ<>0<mH^%H*i8&atZVOVGmj+)>K@W;Wld(7+UE1Kd_2Qz;g4|8 zKvYl-JiJ^3FjIvc_{|&ErEAmVg&NzDt<-lT;vjOYohwz0o%6$zi0Dd*xu?dQk26Gz z#XU5WfU;HG*as#8JaaQZvWJDhFMSPma}1wN|Et{RP8j}c%dtMfG$WVc(>9Jvlam>@ z)6R848u8#+?~O_kPflEfH*D(8%+!f_K`2J_J2ZY@l*(Fyrem&8?3UZGZYhh6CN|q9 z%OC{`{0e9@8GdUG5W49Shj7txbCPc&7;NQ@Yc3*b5i)m#?Zv4yT|3_uPeRvtJ+~ON z^?y0%C%^X)94*m4_?UI&R#;HQp&Lir58WaKbJ+BJm2jeK<ChuX87j&Ps$`m(MBtr7 zH>7UK0A%67Qv$xZ7Jk}<^TFh9p?Q;p@L6CllFc{~3^Pwg;M>`@qt#T^!K#O}&HrV2 zs{@_~$e%JUs`y@yRct7Sz!A&CohzUF*;+(j4qdov78Lcr9h9cR-n!;Tat0hM=3b!D zvKun)s%-ACv>1KEQWbEkOy%+;cICM+y>I>ev_aBBq~^2+Q5|G)yi*;Fj)TrC>UXn- z)GaDcmQ^`x-Tkyj4-{c4E8%*ZY+3+6%jn*<mzv@$I-|L5t=hWp%gL8F;F2UHgZM_= zOWu6~0?)Vc(MmmMi)MSD(=}QEw||O|BI)Me&p+65p-6WcSR^9LjToE^f{qLeMJ3;= zJf&dXzq5I4-Fo{=M(;CTE}b#qhlS^S=PPC2c)S~31A^hr!BhN5uPUh#Jm=?iRU-8u zx;U$6<2KmaAV~adw(6i|eG>pak7tYD3gpD*Ro>9%Of1%9(v}ao1ha7qjNq4?QtR?^ zVh_fTv=j>)PWK9F_T&e6tPP!yG`YE1#@oOz$MneFiX|Cyx!G$J?{<gC1#IZ{W(9c| z6Yu>lcX`xt(ocqioA+moe;V$N{NyJ?Gr_s>5u<^(VnGzG<->{BFCWbH_Jr*^&__KN zX$kdG8t_PcKdH26XE4G0h85~8Bur-Y@NVn&y9COGOA9;kK-??g?G@59rI1j3tZV>U ze&&Zs+0{fzT^}*q@<$1hi$JZ1LvUVUK{=YQr_sLew1Zb(hbGNyTSo3V#rhial9S4S zMKukN+B!+QK&vOlOna5IOdo+%ca4iPI6Jw0yRP16X2w;`)wg4LrhYp0H_whRPr8w= zU{7oBRL7#|UsOTS!T7FH%G_z!LtDLV$kzGYvU|O_G473(PfLrS(_;9@OnvR)tc~xb zZAX>czN@dFv`)(Fn)sSy$NLx}HNPWQ-`s4tq%O*}Jj3y~Yp)Idx8d04dg9~WV2_p( z+UBb$#Sl2jbEA2JG`sEzvS-kRBJ8mVp}ANxlte~(ze8Fb+bgtFPrQksV>8>kcP}BE zk9^S*Pd+|_jT$5u7`9WEsJP=C_LQc8w=n7G(=wGGxt@;1pjoDI&>1orDc9wJ+*g-V zH?8!I1Wn8>Rxz(EzCeNZO&b+?a<J_i$?yce;d$HTITVqS)2vLNZ5)xqkdM)ZOb-^m ztOW)AOj6NzFU{hDm#VAwy3^ku74VGM>q5l^Bm;$dD&OVVP+xEx^1Rb#xXuW4y&wKq z;o@?;k{N^Z9QT-|lWNC!hkf+PihHS`KR6V3w4h~S%m|Lf^<9;TZw{jHLQyV=n<=7G zO7(G8!>Q;THYYvVEl?{PP^T?3i0*nvv;ARg<H$OgkDOQqRx~*%yiBNDy{}hc`o!OK zX41Ej)=`h%?e8Im_^hPsv9G5KH2I8xX7ZLfzR#Iz$CcBo9jy@jYjT6_g76xPUf!vI zD9pjphs-C=YKsXQxO(z(^-!R-9|WZN;8Hx%!=tdTqqEVqv;wEm1XHv!db%_5Yf3G7 zo%f;$Z>Izp+p}6<1uM2#ViH9MsQJ?=!7i#cWm$RIL0v`1QHm6XvMZj>=Q91b4p$$! z(7auyyX9?&vP~}V0s;d!n9DF!4@5BOS2m-4TfRyV%8t>HoPM>>hm1dRAC2xJ9=wyF zlNBxd!pJ;Tw9F|ib?T{Dr%_fVWST=FuR^aqT+yF?N~yGe54c%23jn)rYeCI2u}J<0 z&nqMW_3%XOPwg{Oop~uOJ<W9R<eF-6$DCh~rr37sFy9ReSwy7c6IrlW{~U$Pw9TDb z|2o%{%#XA-!tw&D47?VhZx^+(h|8RFA(}6<L{kausFLj0M)2-Q-Y}|6X}Z;}Y<Y5p z=WCSP&_l{yZ7Oh22Q{2K8sD*ud|w!;8L3?27`(VU>6(N#IR-!?F8^tS<ls97bbY(d z!r<b@cTj_liPu`blatn-tyXN<T+WN3)_=kk2pwND+S#WQdKp$#S1a=}MNs&@&r!wm zMz6mWlEK5?D6e+oEx#|QynZdlIuifAy&bnbw<?m#to^<#^~YnGKvbrxR6<p6PLhu# zu(5tX&Hzi2d{(DIf|4G#`9|lGb|}0r&@B9qYHY85NEl*YP@Uwvn=5~+!n_F89Vq*I znLa*sy%;HX`6UpzbkMQbojgu3KtYO@BDR5_uOiE=Ro#(aQJl#pJt;JZcCSSE)DR(s zKL_MgipiuD$Nvrc%7v=^z6#C`Ik<Z$-efXpzF_DRTV6^BTb{M3Z4xp(&ce-Uj^Mt+ zAP*rE_S%t_c4)E`hEuq$B?Ro7Vf2;|wmHZp#qbE6ccBa$94ejb;!!=br2<2UG z(HAXc%2KF{%6Ow3L={~_(K=!{nW^r^-m-}={AJX@%egbJb)vC9sz!+7F&aY<KePfW zBu8r@eYvUW+p+n~)=YbxgORX_QLn0;nOi#LFuxi6_n@kiWs4XOjg+{oLz5!HKt3r+ znQy(u5!a1%`QfC5t!n!W&nM7?97D@pH2t4o3eSr5d}?)jIOGYxWnwG+J<YLPtk0`p zuXgwzN1s&q)Yh+eztr0)l-7+VJZX4^ELUaxbi6K&oZp$XoP}|^mMIp4VB*u!uY|no zx&hP%k8fQ9YU%e?<o6|1j0ukyIJeEdm2bSAjXEWkbg0Ik6m~skWF%;?>iou^F@dtc z`mxQo1O8bsS7(dJ41Xf+^TodZbX;2dFRDw?&aZ5JN@?sntND?!hC+I$b0x(>={hMf zIFo3=hi|<svC`tZv&=zB{l)n2lkjCt=gXvGqY_7DJP`}ozesjf7;;(VEL{8!L7D%w zw4rdaJu2`phvp&3G}i#Q&Ati8FffliD0zbabdf?YW4c*rRWq4(BA!wg{T~XdNOEWz z5zDo?>-Ea4V9njH9*@3dx36z92<$a8b?M^%Mu?j3IbNW8$Hjn_>>g~BEYL(%2ufvx zKDu*Y*xWv*QAcM?y-$Freh!NH@IX#GtUq)*KTsUI8gs&l)vW-N?}@AVyD^W^q37Dd zf0Xlhqm^qs_y?wjF&J5<(|3hF>P~R)Zo)I-LW14nkaRS9Y1Ghj#IxgJfc}IxXbFLr z%Y>&`*#uKNNqC<Uh~3?$!zd|_9HIer$3@u(Hv^x+JO~NiWy10~g#;ZSP0n0$9;dT7 zj9a7BlE)ktHbVl;J;@AxsgDz#!eavGxiW*XdXgssP0p#nw<b}V2rx*1L@SL-ChN&R z^$j0+roY)Jgb7{b9Tzb+Jb^meko6PVcj&J|maiD9r&tyaQH^FFemwjTl0YG#DTV5u zDq*-T(hPrElirKOEOQ+5zCgC3VMHtS_!&BnvEnxnx3oy!g^<!c1Q|2~GVW5FXkX&8 z(+=D0yvk8fugupBCSNS$mm(tP?JM20m!JSpCV2mYjG&=WsvGyE;(3QcMOKezPTSW8 z2^$*DMnT`wEAYE}#ZOfyR;l*u)rGVDbSliH@>R7EV^Q3Zw8N?2On|9T$E}8hZRKHD zS}Q1=y32cd%mv(~M}RI?;1j1W6N73d|Dr?pG5w|e(O1Igqxmqi*bY^48TyP{S@w)U z`Kt8OHmjpS->hUxTe^RsIvh0*nBZo`HvqWcPj3x&oM6q%m}-s5_j>B%!`X3EJce_q z&=ubqnVp>BybCba(l~8oI&OB*{6q$enNPklHr8mhoLT5lS9@v&C(|dMvpM;vV4N{w zK>)JvN?PZl8YON`M~~Arl*GHP<rB-3h3XI)(P9E(x<wD7u+Cm<sF0+m)JqR@tJ%k_ zxDWLI<zMTg8$!S@<k3b#_UxwLpDh_px29%Bdb2d@N54h6;V%tZo3nlS_%U1fA@V&J z6J|RRi#^rCM-*r+G2ktsf4n93jNPztrX9@Z8%@@fQAcU7B@(k(>=6ZOiA{>%nDFqh z#^!|Ln*@V+<`uiP**xA`VU2RXIFfqkk1x@TQt#+BBWBMsj$C3)K;rPAIk+PM4q~rw z`>S4$Zs-=Bzu#Dxi{W%?t6-%FWg;v3{sSt!Ge(FY*<jj0hl-O^*F4@U*JUHVY*&%G z8El+Id&5A)8TX}LJzl+`H7Uq5z`X_hUbT61j{78Y0EG_7tJ`}3o3NGb!O}QB^;Rmj z*Iivu1k}^TIlPP5Fn5Y1*El_=`R%O!w+|sSCxseCqFmJjN+RZ=>H^QGy!p8+Y_H8% zg9UHOl|-Um7$$zLr{{H2nSReaux(%>T?F8gclAzuL56kcNF=5!$&3N)<^a+*Hh=U8 zZitVCtVg&Jc3z;uVri@IgVNk85cAbT9O|MnC_fEN#suyX39TNma=7VQ2Gi9Fbk!rh zj=SPxa;W?fR>O?X>JBsiQGqZ1Ta9Vv<5uB+WF}MSoAsSjemU4dQ11j>h&(@t31sJu z3`lX;zv#`J%iqUm7}U&4j}YB{KQeH#G`l{loL)VPh_4}fVWtAy#cB6GKiYNM2DBa$ zzk{b}X;<%OS|F=46l9B<<J+OyBYG|BlVv!tDp?d8NS)?4p-Pf0HL1%co4qlX3#*y` zei>THL1s-9Q$Z)>XC2)LPpNu(fTINikJMGk(eg9Yq!YH%_PUHbH=-!|jBhCVS#&Cp znH!s5ZOqr$xX2Sl3o>br0fP(i8me`(AjVgG`p&H%B`RgpyztKO<wS+Rv)5_(jvYN! zrL7CE&Es}N6<F|pzkfw`u9br|j;YzZi#f7bl2d$bAiY!nHx50uB27F(-QccYxn3sC zcO51(@yfRj-qiUYDjuv`V{)nkZ43M)J<~p&z!Hb}n~TVvT_excsZ>Tl9)S;1UETFT zYQ#c9vYIypEznR*H?qfkVcL>*8gFnU^|=w=Z)6=l>^2zLTIQRB$H@}n6Lu|&$tpr- z*~Ef1aoyO(9AW|N>e7sIV?PeQKt@6k6&0eZl#EG#%okndiiR=03ddIa$3&YKw)gz> zt090_`H82t;1ddnL~%?T>eOy32g{ki?V#JcAXL=XWo%N$-CA`286)n=+#W_ynEbW% zTc=HO7rsp8OA=0KtD@ZVN8s^Dqljuh3J=)yGWu&E(iK(;IB84vy02^{$AFmC5)(h@ zoEz*L&Bzv``b$RTP!)v18U1wbWbti5#<XF;D>ebO?LTZUVRV>*3%!k2$;o}TS3QbI z2aYXv_m}kz#VproWv|bCsY0MP9SnOJNDj*NWT1#Izn2=z4@Y9nu?-zBRTSw?qH3ZW zDO1P)u+#|oF223A7KS%BtbMaEB56?g1r%6%lacRAt-)iT)smQNe(g@aLqjI0`BQ?Z z5?(|g2ee#~tfS-ksh)_s3VS8vtax{OWfu0oI|<#e@^kA(GTzM%{dVRne_ao;{ks+( z#jO6#+_PbW5YOupGn1NEuB%8*Uy7vC7?up>`xi@&rJ1dax>j>py=kz}@1wN8nEAkP z_}$#JaJ@A=+~Y9ziM@I-uM={~Uc7Pz`S$QN@$1$%v1QzyudnOVnhprc>~LEH-GZ(w zQMTREaU+vnEw=gL-@#o&AQ<1kKDwc6z2;LH;qjE_=%_{Yc$vE1hzSU`;zQwlBm`6& zn*7Zey6?!}?VaR;dk9FV^X2A4c0xyXXA0fpLvz)=CbVOQ<(@f+KgU7)U+;xi!zP6t zR8QmR&fS&p3>@=B(J<WqwynD55EAZXEVnJZ4oVN$-$!4^s+ssW#~BI>i&4+SA$a=d z{;~tXHd=ktBRE1Rdg6DV%BqE;jw;|Oo?WT#>DAMhKQ?a&yEpinJbtm!&P^wcuzr++ zn1}uXeY41qtlZ17XHXYj=iiTm?bCFfh$1(<F%-5}d7Mlo%fkRE%fcov_=wq(@FP44 zUW(4>#>;?ly4lM|`+B64KGri)>FZ=<yK8I1tmhK!h(F^ROU(CgLsBHSvRnV%P7mlg z<C`luYp-l|9bX%une++KZ5^Wh$;NEWkoB!2?J>40IAwG{qH_~2i>*bj`72Yelt}re z3;>q0Td$5Yd*+RzotUsGZt8~r?uwX+CEpp86?}*Jp2x5QYx+II%8&<kxcm~!jQzqK z0wh2H(hVKpLJrdSAja?Slvl5Pg+mfZa&w{(7jkE@qPtP?P5yrc5psfvty!qmtGl5e zaLGhFyCGguM0q~W;sby8FY>6oa^W!qM`>n%7Fo<B-FZTvbi~no((-9{>zYwO-9WSm zBunQuX4MN_L>TP*#`e7?&!-))NNW#5%f2tC)84RNj%9OZS&87}aW%FuZ1fy08fmr+ z&u{eE>g%a*-C_UO&-lo7k<i`v-nVs8Z%_R~#SLdt+6>#%HN#BRJ*ZQa2EB`#P(IgZ z?}xcWq_Io|f1bTvPUBEc2vRy}Wad6Isu0}dvpaycdB9E?ijIe+hXkx00e1!_rpcY+ zQA~R~T5(L92BJ8j5=`R`bK9Det%@&;NNPfbX$r@{W22^6T`fI$RuBB`S{T8=-J~YT z>~n~*(4B5h!yG|$;lxWMKREZn@r{gK=VmAKJ&V^YRVAJ`o2IK^PB;JH0VzhkJ$o&B zHygPQ1&h~RnW9=PmFT#l6b{hb4Pc0)!nLd3P=RmQ1{rdWsD$A1RoOi39a3J!8d5@p z?30;P(1zwkG2j+eUO2MaR}6^Eer}&UuC+*yWckZ=GM#!RGU%c2>Kap>=8|TP7&OTT z4{<7%Sd_`Xw{YKn+xCgk&jXQ=pEI#Gq5$S~0Cj8OLTQOqWnC*6Y*ItYMUvBpB6ygI zmvxe;#ERcVlxa)75p|ZAitxivHIIxp+PS4X#FScxXwp!w#s60nB7qa5h$rZcl}5>3 z4;&I->TDuv=_w@8q(lEMQ_>&^bsOeOo5w@<U4XNHpC%*AzMT6N#;9mC_uR*w8Q+Fh z`j#vyX8o1Gm1T{^ts1nRqlKkLW;Mz@VG9sp-K}m<6gTQ9ajh%I_9>ObNeeYXI9x+@ zq}G6IC+;JqQ!Y-;C-7u<2?-%E>bTDE`wA@~iVX^w??+q-#THjdoy=9pWpYwVH5Mtp zNB%1rf|w)QuG*$6(Ev3dMpODi9f8+pRZ(ZdVx`BDKo9Gq<g;Pm*I5&*cM7kV2CjK0 z*YTN=mXWGyzNXtV^Se!2@W*B9s$8B|6g@8n_zsL<<h`fq$0@@8`Olq~N^P%+oRo|F z+tp4sTa!Xyc`x8I5hTIh@<>qj2)Rcbv$&H|*V5wy>wsHOQMQ<8!6^T*fep|LTPMDE z($#l$c}8_#(65C6?=(hNpq;iKZ|*GR*hzjN;nm-*J8goX<fw9r=+g-T@81<4(aeCM z5Wl2MhiGMCb_BjIzvO>6WMM>vT)nRh44Vi8AG|^&7q_ytt7U$ANRg9eqVuw_Vj$`% z#T3){QAIy8LjhslSv-M8fx>@}NF%J2NDo4{IOG4LYlg2H6<Ni?G|oU_ca+5chn5=9 zdg9dWl*32AsJV=gvEZTXO91Zf)UhH&_j<F$S2gL|{{2AUz`w)e5Uo81G?Aej*-KS7 zR8c3%b}(u<Knp_-7lR1B+!g=zdgpI-p$fwo*8?sm)&9L=1>*AXR|=)cytIdtXslYC zh(r`Uo+&06gUa~Q@L=`viwNs2oJ9s~ltqID3qB)AN=}|m_&9&7V>4KlNoi}-jG{pl z0j@g2w<Uk%{Fj=!K2PV3T1nU-&nvtKYo@=KBstJ#4DNzo#V4(j#;iKHJ~d(<EZ-^S zbHTPb%x`kjX}JaXP2M2U5>Bkq;4;IOb+2lbFgc6R+3<2`P<)c@$@vWzvh8!~%8Ha_ z761n!%nsuy2;AqyOqJ_W01C#0_be)!XaBxB+<{AoR%DAg7|WFeH5ek*RH3oR{(GER zNxtX}hUULY-jSpV7G57gC+AnwxK+`qhB2o(TTIa&ezlA8n%FC<ghXS#2=gS_IPD>l z4(x^l8cm$RN+Plo9qtQ&Tac!nD8E0ey$i&QN`mO%4Ds}{V#WXQx;Ndd67FPV3cB6j zXO-dJPlVymOyP`y9MT3oLTvYP$^pU~$g&)Ka%dL5S*PBu!fKrF=fA7kWz3vwz{BNf z2EM2QRtslnV$ehVG6X^Ayl)lvZou5`18jE*IW<ZY0zNs3*T<O+mqd96qb|CZYu znUXEqFe2hhUrItgr1tbC(#m`&zLGpF4#~-ngAe76D2S&MpI)U44vEK5c~Xq?eM9c= zu0vxbT%~TEfl<j+G^!qX>5=l&fkuY4g@){PrEsrqB<BYUtF2ue3bnq^4@9WXX!0xv ze?0i;loar?;+_6`CB8-{{}xKay7rfH1W0`>v%zDX;qD<>K%l|!*%zB7O#$k!+o`n> zNB9mnLEal{i%t$mM*j918iIOTzpi!n5zKEaMO-v1+QlDJLnMU<iKCUh*U4^+jBY3Q z2I5nd4)YB>Mu-&<B_AkJ77^w^_nj)@Sf&0QSTJx~|0b#JP{4$1)5NO7zndQl(+l)M z3o;(vLYse*2=p;x0&aZNP42~rS9<BO5UK&3*oPg$_ZZBY&edubI?&CDmxM>+OFcR@ zI{G4XlXJe#2Jl>wgQiZbaVw>Q-i*4$C5Ce8O$yoj)%6D2-J9Hh`-+!4OwrgEfdE7L zqodR-EI8x<=H5Ef|CzbFB;9g%7K?rqq5p~KGalVB(R&glfJ#7PAc6a<Vfn^dHmLVK zkxiQy4WqWANPKqox|_ZEl1TzQb3?|KP#6>MWDs2I7ItVIjN1{%=r;6j_1mmWhm5rD zftB;sf6Wg><e8%4^C4-LSC_4>LS!^XKsyX9c4BnUEe+BD<>`fDV->Upw}`dnvyDDi zlbC*$Ow{OW)<1wP0U@)Jy!70^d>RD7-;FAPl;%1oV0_OG_^3X*#Low}P?O?x2i(k5 z0u#FI^)5AYb^5$CbbfR1#moO})|h<iToW9f9x9+ChC>Re7{D-Yj=9QJ@XuZ^+L?_K zji;Ce^+|>F9W^>8H<lzYI)!5T*{>6RYGRLe5=1nt%V^5Sf%T;QtR<(GeM1132eC<2 zHl(+NzZF*Enrb}vOiM3E%+Q{gqd{GpGD=?^lK0Qg9$g`%iB5D-fMa8;9RqH32UYiS zP}oMT+q@Z2HPmb@`u>*iyVOTZ$te_0)%1xs<ODv7jNA6HvuejvR&pS&XWN%oLgt?A zIuBlv+UYTophw5?qlF)-bSNZ$NelKm*Ro4@#*a*HAIeI8bS><NAKY}q)FQ48{>v(R z3u@`2FcL<KUFr4uls*h&r3+-Iw#)h<9r_lu2NPsmLOUj-UH%;Ns-tmF(D!W$b4!HJ z3)MlkQg`GiXzeHS)MHu~(Sl72pA3^9>tm3{DfJ6f+lN?=8jr7H=jF&(L#f`67s9V| zEW_fsjLUfmwES=M;RtF*z)_M%7yJ0W2t=mh#U7~C2bsfKrfYnChfWAf><G~!BtsYs zN3gH7HJ}o~5pTz&^m+Yxh@wO$sLV^1JWm@s4=lv<24EQPXYMPACg-B6q<WHqic9OR zr=(#`7$o948D;j``X#xe!)*4eM+`s72^Rm=asF}A8pzX*q{Kfgy4kDqiz?#V3GV39 zgYNfmi^=%bmL1@N8nd>~86}3Qb6tD2LZh^;H0>Hq{+dw_5#y}|!86A`|CorV8nc@- z#D4~jSLI@z(6N5vjf^${(03A0`ly{V`F$mD03xNjK|=;YJAH@T!t{Ib|8HP3vR@{h zuJP-{GHnMxX45ke5!QJ}@}hWgV&lzT(AI&pQz{#?qy4(oJ!?F*GnYZppDeLrFDWMP zR=z%t_Z{HZe4w$Fwp$Rv(uGPz<8&Dzcdjon;h7cMUQ6fRi`C7=MZoD9mq?b}Xl>sx z=OO`JwtkfVds77?&%87=^W%J%AI<?JnJMsj{6>bd%Qg<j5Z{t&mvhQUf-#>6g~>%B z40x;J$~nMeWK`YpVfIl?MO;xn3CYfsWKM77^&BDfq&2kk#@NAA;`aPS+(Hgl3h^_y zeGKD{f)#hX-McZS*{JLeNw)}9zmxwvyAvW@>Ai94BZWYXWu~hU61v867+ibcs)bA| zuFc1kYM%QrRKMEO@@KGb(lHZbcmzYP-RH__A?%=>8>e4uRapcz6is!!^1*kTYWwbE zx56W>9>Du<?;QToc{YEyJ53P>Be$KeH6d#P6$(GTm;DFcMGqWx-_O19;=rD|;Aky4 zVJk_hP6pZ^lgdcV#JpPh@IZj0T+Q?I?Q2+-_1wvsb~4n5S9fqy12cxEs0}w_5IrZ2 z+T5tqll-8B_ozgMe=Ej1=ZErA{}2gB<QRUc#1uK^Bv~74K5PVOQWQ&1dYbiz8-C(D zXOgV{-_kx_`)J(XyZO9z^F<qKz>Rm2C4Mr5VJh%ZQm<u_EHR?F67p1{I5B22oyWjr z?IW+1iP8URt%l&U^l<~8z<c7rcfOpr4r2EAF_ni;wEzKRQwpibn8~liX;!ApX0n65 zPBCcrRG7X7H<Z#J<LD^xi^ZfkUQ7BtzQ7ad;oNT%XqUwE+||XM$CIBp(B8tY4K_~l z0yORqU!qTkCR4v+wf>lA`K{RfM;uL@uD`AZLC>;>lgMN<wUSZQg&_!xmcU0W5Ujd~ zZ!AujjMR=7zJb0<jzz+l|6H_SBS+MwzXYxv5K@bgbR@wkYaE194-;c70j<-P{yQ(l zMeu!A#c;doSd=CLF*5ogeNH_-XW+6~EagQLenIV^I{Yl+Mr>!}!}V8DyGWWcMM%po z)O8<ou)Qe79x>^Soh>G<8y(`-muXljGk-C9fX5FOuz5B=rEAs^kF9G+k@!ugK{|EG zFC;24C2cDvb_Eg}<gI_<6NKpG#0rT}#viqC>x$5mK1)pbZBbg&&q{N_q&CZ0Lcm8~ z291&2Ub}Ki>*s+S2`oj9oITD*gFi7e;Vaw{2kE4g)c)_s{mBlc&x_xuH38lAS>~sy zzHo~AFo8`L#8Q>VE7G>!E7tG5v)_QoA9m??Rx>@mN?A;8;k`V<sTXgk``1l-px~R6 zPaot49*=3`wthXdWIs80EW3Uiui49uA^&!q9I;Rz4PFjq@Yev-bse}}n{5%mP6TxA zb4kJlsM&4q6v~n?>{<(H{I(r*mR(6^yQ+cEGd9XF1|x!b(fw#g9=9_)#*#!r(nOib zv`YQ=0@6&4j6Mm0*WV{*A~~4Ugp&TfW6&yu#=8d7`!~lf+N*`EtH;#lm{krQLxT#P z?icU=kohQ=XizGrLWt180+Jp((*rEPZ00Xoct8K(#UYwIz)hfDY(&fge6n5ngS9zd zPa>zE`5?iv)vy)=smkw5WZpj4M$%fC%fS?Aac8=_q2#A4Mf!3F*&5XLzQ<nWQHCbd z${0=;|C9wp<T^HZq@2UEzbMg>F_iID$aGQw3v4X&V(3P{uOZK!eJ{}|HnnVB=dA;{ zfa_urvP~ua9ZIjC$e=Za!g^3D8HL}M(dFd6GFhp;D#d8=<*z+J=51}kp1!lP42;Vy z#{(uMYe?!?5g_;pHtm>WMn+AoE%I9B&=QvaRf;L8i228V4@e?Zhm;}XsVT(Rl?rp@ zXY+Dv!Jp88Nt9>c!SiArgZ;cEiVg#K9`7hPs&Qq#l-&6l`0MHQLYj+WS6{O57SxMc zU4{55ufGyKrf5p#7=nRr$gJsf$auu0JHw<zcjwFs`HXJ8a{34XIjL@m4B+b${FFfa zTTN&z+<3dKqM9IuW&7Wm9v;8uSO4XFRXe$3lcr@;Le1>(q|i8PYUtpPv}V$55q}P? zR+WvFDS3nd_8tzKB1<A+un>QH{LrS<TJaG3tu4A?5(dWr!bDvSKYc;^{`LjmRI*Kj zcv<7CJ%Ygo0x1{`p$8MA9uv?^Tn9+Jy_G>Hw-Xs}bxfQSG_f%E@n6jc*9IehS>(7@ z5C50N5`A(xCGgkG(}#lqqV{Q4ez?)OXs-;vc7MKG-p~$kczAuG<#<|O41exj#3%;^ z<-#dX`!wcfM8>Bh2CdWATms(!wccfx>i6!l?$*-Pw_qro)5X5~`bBZw-)i)y!gSC) zX)-<?)kPSS8AW=zXh|m9{N`5t{{q`kz~!Y*(y*xuFLu~srU=RLQ7H=On_I=t>A_~Q z@+CsU*1EhfaoZ6NWZaBjgugTiDW}12`y=s(7Hq1&YP6jbOM~U`+$l6xu#Wx`P<mT- z*c2AhG1`xPi(9KMT~a(wdDpaY_2fK~?wPSr4Ew^heqQXr(r<yZxnC>8Y0&)h%GDPx z7GMY+XO{)b!W?=`>~Mc`g*3Qff(rn*k<bn`HMLE%2)zm;G5r)j@b)U`()pSdC54X8 zb!>PbY0@$*qlmelZF`FH<xb%T?)T@&{SS08zKnAO*g0%ThgD7Gh`<T{stqZBe?Sy< zYy+XjNRjRsQ9gZ=&fL-g3&J{q9bu7RhxY%~Xso41u|oDH&V_Hlsvn^r#8toJLTvD5 z2NAwFjwc;>yZQt)f7UEQx+E?};q!o@cO*vN$$I!oBNM-`-BXu`o!>^`f?;o%in`uh zh)et?dnubAqoj~8@+=8d{R-z!GtZni4~?J*s2|doS)+v*7Sadn=10I^A#>r-Z~-Uw zN*9*Rib;_20aR-jS_mQ@E8K_8<Au?i!%gPr!Jk<n_U|6}gZ9jS<Vt5piVe<WzHjoy z--{-^-cRP{C5k@sRE$xwMy{jliy}cofmD2%mn`z!kfo*L(Y6(`o&~YS_~4T==&{AA z;d=5VPzBRV>m1zqo>Xna{{;?0_AGt}P6c@084~Z7z<D|pWT5^uMDgD|Z%stX2{S0! zw)kWwlq6wsm*NQ=x5sl)7ZSn(1P{K*GoinAUa@ii*|6i8zg=tmpzgthcjAsGexeVo z>fqULkN>m|5@uz$>$bNy<w8MLF{NnY)zIR4d%zIjwWw=MbiOmCAB{Q_vljke9U}tP zy|409OQ>G%?CXc)5oK3EcF4cAhbbMV)e1Y8WFzc-sEQ2e%%^7;yOe)V$46)xBxzLQ z#yvKKmI;vFAt~WHSS>mW3uH=%c&}pVdgOV+tOu%T&hY?GQUr{7(%Z$cLD<6AqI}BD zAp(N4&npVk1rSPamDa%@n56`_|H@`~CT%R+f}_m@x}l9zexzCt80zz6XCi_@MJF`E zxYmSXWk-6~N%1k~OZr~~VHRdms;0PzUx?;NWB$5G3G7mD7zPru4NLOH=i%WKGlgwv zn#FO=sc5+FfOfy7m*YyxjKFD+#yq2OUKt<Thv1YqxD?H2L1~k{1%EQpp1g-SLH|C6 zygUpsmzMvl5pL`L<-m=$wogJtXzhJRj-^)%Dztk1cjKLq_s<byNuvGSQt#ruu)n|9 zG;!ap^Cxq*M%l`+6sZCj7oZx6Iy5~Wux<_1oR2LN+jI6KZdNA5KSEbki=>=9F$8Jt zM~Eh4Y%wrSTxrVkd`GGv)D}uU68n3`e-st2ug|3aosZ$Ou~W&ZbG$al><-B;=dK<1 z2jw2H?ymx@*x_uoT{sv9k%PKvnoY%gYE^~Vfw;nS0H-5$S4G0z1dNgF7G`>+7$YDV z%KLQkQWwCURR@<yTanXMGwR>?EZriAA+wAZ)<VnIsYr%<zE0Vu0A5kec{gH+HvPCl z_1Es?H)N7j*YEb$UqdVZ3pIwrt%p5H+r6Xr&;L5RHzJd&-UqzJ4G7W45@z#a0f=B& zG{|K$x}b2xNbmYqAriD^y<b}6_O!eO#=s7}mkmMl3e5OB*I(n2CU~N1&G1>uF1QG% zZ<~w%5KtosAr%B!cgzxC5{BeIWFwFp7eQ3>Y+oU7O*SLIgWMoFd;jS{gmBwHh`O_l zL`7*BBs{`L{aAdJ`(Vy?_%*txywE}J7Xsvs7)fc&uY7bUqT;reDo~IvRqT(llxD;9 z9|19Br8LzJuF@6P*LhdluA9dB-CXn|U0?PwTB`@=o422`6lPP#7ZtUj!?6pyOa_p> zB)nE3gp1eS^$X-@E#B|`CnFl8ZwzV7AIM3NOCefk3YLg1I+7n_s!CUXnbJ?XR;g5z zwhQLjP!vL7WnxadxGPzXu4YKq5>?xqTm0H);Bz<<F0<kNtjz?y$hZ*SQI^7{UCO^) zk{Wli_|9mdr+t7*lZ;DE{AN`vCW*VisE-FpnzbS~UGVf@Ulsw4UE46kR9Q@wAA?og z_EKsazi#k0Qar%&o3}C7er{46t@^_0AezFFOxQ|(F8$mr*{~|#8|EeL1tEX{E*3?! z4068GH`Pm@{;h2|0h;IIhz9zt@C=cU1?O<SJS|vvf2aJ_jWFqy*WB-W<%qenQEv*K zNY$?;scx!(n>Dy#@sjYJ0xb8FATe9D^gS_bCMC(GnEW;M1BtNiXfTVWE&)v?+qsTZ zF<^c+r?C~9I{fI0RgH?eC^a+3b{CJ)Dk2SgVnH+6emHUHSw6T64YH093%8Kq!1!{g zl-%_eDwP+LgyF>Xz$m6Fa%{glzvd!x?fGYj<dmauW#!*d^Bl1*7UIFtuQO-hd4Y@} zV9CjMgx38Tn{`n}A|TIL<o*z+|Hq8fA}t`l?8i!P<EZ`kk>N)LAsHN-gjkLFrx-=- zj-r|}m!7_UHO~9ZiVI#RJ<arHB1gUDp2_shb&absfd}T_*yasMJHPY1iK(N?i_vd? ze@{isTUB+_PLzJI^dtTU)S!xw@Xd!r2!Wd`OhRV^7!(5XDT~;&WAi5^CWum$rSGGE zP-K_Fw$6X0RZBGmB~C!F9?{V-ecXC1@N=0JEmv*Z$3$ge?P{`Qe|U6G@Cz})jHwF& zSoB{d?TDc<*;QvjRqb_(cCuR1mIzGb;sk3782hNZ7mE&Fkz+4cQ+Mh_@J!;9gVf`H zcZUcX<(psn`M}+Z00l>UeGAl7Wq|Rmw<CQEP?bXm<8dp;QaL&n7TH{_wZnl9LK<V? zo**BRQLk1^9_?as^TQ{f><bB;3|(IjxLs#Poj|SYX>R^HUgE#`1=Ir>*WM{?rx%^h zB(zSR>n-H3s9GFh<)J`0S^ZS;+jPTKIb_=v2a<vvwfb)>g~JS9J20O`wqh~4;nSqz zpBE(iZz(tnGRLWF<4dm)TAHo95aQ+upbO*xS_FWrH1tlI2h5^jS~hC9zzEHo+bZNl zBo=JDQ)Siz?Q%1vxx_`r&F2L~PWs<sK$N77^`i06_0Rj0C++IJ$$8%PYzvmGH)jl$ zLVT!gX(22xqwvw3N2O*LWIc5*B|Q&#FfE));oAB>f2Ck?#$gS)$?itxA=Q~7rEQ{0 z=Yz#~^}x8P!3c;h*2++R_Ppjqrt8PoY)p}2)<p-1>W}XG5ZEtt^7;C*dRu>ybn6kv zjxuQp_REgb3vg_{T-WkG{U-8f>*<TGPLU(%md+CHjq|AhSyc()63UyzP0cK~j!#-; z^}&4J{Qs>E2&S-tO%C|ufZauLE?(7ybgUKr&T4L3u^0d`88U^-QH$b6>hW_s1Kfpn zf638QM}2uUnwR}|joF=;^5Uy}E=NG?;V7V^yzEW#Kg-@5o6qM=WgSGIhEIk{P>PDx zw_{2S2WW4=vnbtsi}1wIPv<vZD{oVTpUBI7_JfhTwi0c!xiyHL`BLu!BFlHPB%cKS ziYA^-dr&l6rF^h7LHnO$6CE_<@;Try({DbUcU^rLc}ItcWi=8`^o@;KjMet`SU@kk z1{iKWeSLi_#jjj_@E$g(Ad8{X^$RnYI6P9CY{1D9LtY7C=7_$1^E#B%;rGqQKf_h7 z-zpH}I}8~SbTZeUIlX8$hwgx@mjVs?xZa^pz-8ev{G=ojrOoIniKDS8^6PJ#DZ9^n z>}_lx(7GpXIXON||7E2~%pBV^h87wO4Jl&wr8dGVYXoqVjZ9<rPP>h4H045$I&)S; z#<<9@UYhkPvRL5d&}dD|YPI{KU|Txc>dbgAbh3LYx1ef{+F7gk8x9=`kU*j{MkybK zExyicz#E^A_V{&-Pxrj>@Rjn-<)U_*Tm0U4AjxUP1ugKnN^%OW1`6m^A8A4>e3l`< z$g96v`8~IWOfDp|4IGNO4bHpsIuMR|Orr!o>$g&zEnHw#r2RXJv{2gv2M2pUAm^`> zSM8-0pJvk&o}-YwoNX8z4t3i%{o)fx-9Mhqun+#Y<gONZjq1eKU@wWsVN|<Eo$SkX z>dlN^kCSERZ20rp<$DlshMe#29XH7;1yOnS%lKM=FwxR?ZCD}PdWz$q@m5<Jma?*l zY1%%Pi9w-kVxP&gP=MRI#Bcp`d)MZ<F^^bu{BHGUnKAMgdCb>pwa>g=Iv<!}b7VPG zy;_i-<Dh@dmN}68H!S*WRK|(GmO^z~W{1*=+qb$mN?5a{&C1CU*tcYH?}i#(BZ{Q* z!FZSPTxf&!1m*n&C(uPU><p~G(vlr5`=NO}0Tv&G>3P!^qRHEXM3;AryWG53o&++_ zEh~SkBQJDh4{{-!WK_CtPUVzhBX6y!58PN4(B);UpL7pDNR1@Z9oj8RYZ&$zh0iwr z?%GInyqWpWz$*b3$dID*|NDixO9j!9=IXtZIB-LRzIlc)=5=pq%#j_d!CeVaM0cy= z&#`i<9I2(+fe>%<oVyL#5e}hjAAA6f(qJk5eUVk{nnQ|{9s9RzbKl~i=cJm;3*V;Y zl&H_M2OZnCE@RRdVwJ)t252F9NxuZ<2r?c=9Y2Sd0lY!5-Y9Ktip38&=Brxv@ATAM z@uXpAy3nimxRO=^rQV(YAS<sx71^=$#X7}|k<7for#NZIn+yTgP#&=EE0bbEcvfxk zjx)M=q{}b9K$lmSR_S-9a$ayGBn6+6*LUXe9BBjGitufy!_+7!v;W*t7jB8lVYKgE zTUqa~8nsR7TG@WlOWw5sNRzh(7bZ6yPS$k2QtOC*2@bL`h*)wMDUL98?ND0q5Le9i zS?Cw=qhbNOvLu3`Ra(tw|06VMQQN0jciInTg99?mrnhu&Zag5^suBY~!PCDKO2)K4 zFz;$2fbvXeXvRPifiWveZ+|*o<5~Mv9CK0D3crjY+OV$FE$mzy<9QD)B%pH!k4Z-j zZH~c*AbHk)YuoxM65IT&TFF2wd^=TkaBxyJeogE%Vd9&~;Ui9RhymIp_Z(eo5uo(` zol8SEQ<ctP90(sJu}vS-Y`Un>Q2MuJ9)VzD^5{Bfe`(5nv4n4jkd<o{ya5wzD;P)~ zq_p;hb54eib|&MS>q`DHh<Y^KOZhd-8Fci5Zx&>H3np)(b`TMW9;Sim$jh>SR{mUj z*L{StUbCZ%teVNgG?TnSe^l9@0>JR8^1}FTYYv#~vId^7iBJR3X0!L?H$09}Bk<wo zRoSHGs#QR*tcecM*v-+6TIiR0@pi%g)DC%=bv3XYGmHz2e=XKC_kftN6$yMHJb)MS zg8~HN)cPb-)f1*<zoL}n{=DjLTz~~!7v0ypqlU@XDgm$(olPnIXeLWjZHeT|<WA`< zSkt<?C5YRlRyU8n^Z8CGy>lu_pNfcX_TaQ}<x(R*982Ucq~|nEr^acI!qDv(bD@Gy zoG6}9G-0DTCd{gqTc$~Q)XJ}dju5vD`zFre2sU{2`hdQ%hGg^oh|f#s*Cd5VYs7t7 z-tc2pZl;J)SQzoGtEb|*V!}}#RRP4%;4h}2I4k>AoRGGgN}m349e0lY%a|!_5+A3K zR%g|9=~-=aDLAqDmB<;NYYVlsiz6qkJ@c=yDS<1yglr!P4?RYVRE6)*f1QPhI$-~a zb}jGg1`iI%xb9yYTuNbQ`55@b?8UauGH{=z?%%N-p6Ax}()k&*1H%}y)0e8~qOyh0 z+NI?X%!t#<2^PH>WkQ{#;}fyElMB1BeHhx}j60UV8BNi*<VQ7a;+Ll}@wUXI`5c*k z+R^96I`u)gE*CJH54eiVDvPvC=&o%G=+;6epDT;+IrmXf_)yCmL(rb@>Q%8T9T><4 z*;q-^sLwz&(d?u@P$dy8*W9o6&ruQ{NBe&)U1dNM-q$8%)M%uoyJK{Y?nXj7M|U@) zq`PBucb9b6=unW5kT3`Z1bp%Lf4}Y9?(R-J=RD6jSKs}UOYuhKf#PFX_5a_Z(LHLA z+fe}>#OH*jBdf=`7h7b0eB4w^iQ0K^W&EH)nz6*_Nz2;=^_<-nkrP6xtN+eQA+pWv zO?v*D446{NMXK)fqOJjunLoX`{#wA-G{2w26Fytz{My#3j<wMZzV)QusfIc*N7457 zl?n5ObNI56H~e?Z)l7CJ)O6K<QWw+zzUj2IhP#R&smuqzQEgl+626G*&h7X={vPR- zcs#8ddorC~R?5<;y?ou8)cY%RzS)&8=}{xX%wI?pMDXPr2(RXo4c}te(MMh9r=lSV zd(ti#N5JTY^G3PIM{Mr`XveZ_3G)8FjD<wl<SL)!oc{=Tsm@WrD(S07jo+N+Tlij? z)IU{qh!3t}6uEl7ZgP%s#?lr=Z&TQ{=n1AY^O$BTW?In0BT<JQkhs=S-Sqk~_`_AU zO8z4f4n5(#3T1b+=~HwTWUOIZxjkZi4}B*d%3rKxU5ZzS)IzG7XUkf@-)@;)c282M zL3K07nLYOlenk3>n9qariGgxyVCO$iKXhkXiMBoxAto9Q7YHZI-5yLWwZ6y~X(l{7 zHm0JLkHW0u%G?&Z^a853oUPs&q={{h3?7FyT#RdBbbn#!Tp(kJr1L}SdHsD!djN++ z|45S@J(Dc4{l8UU|1=n;9^d9GBgtjh*~f)ga6v=O<+%ef`eNrage7Mj@5vAG{Z&ZV z-?n`-e>K0v!76R~i*P%tdMl$e4jDrN%w~h}wJlCv+|Fr6k6vHZQ>}L}rq8ScHaowY z_qUrXa)NVkEi#%v`;0yP<Ju(`;be~C*X%0iC(*<69o@s?xVpkDeu!uDtZy-s)3YwM zzhxWq(Iy8$$(M*ADMp&Pi&gU2|2;;C2-fkS>hOQ}_}TazXx&i6fti(KLk65l_h_QZ zCuVvyS70oW9w>lJq{OkKWJP*ij6Hk4J;Uq5s9ORpim#S`2}kAJ5wicBmHp?B+4)PD z{!p7&qCR$T4(%w>4>QvxJsigCH4@8g#L4_9O!RZ|W~OucTt@uUxl!n3@7yV67?Og% z_kbmI{ou}@VrQ09HcRFA!Rbq{Eey7`vAd$%-&hIJL;WU=WS0_Q(|(_dv0OE<fg>yX zCtFO41WZnmA**#rT`=&K9{j=yk&;$mVgUJ=$u+h2gp8uH%%8rjWEK#5pI6Qi(1sAU z=4q#VA8SgUe_N(&eO9Q!Lcd<QT|J`DSdyy}ni4YdW3EASM2hpou?`;75fw1{v;0l< ze>S&54f#F;6<Nq2DtKR^Ov)%riOco|uU)%G{|s;Sl^&S+W%fK`#2~dbCOSP#UGt6~ z1@+`r)heN}fD*GJEB4=?d-}|XsPmcLLH;g%G+c|@x^P-hFza0pOl|z<LF1bUY-g;k z<Q}R=bM>_mnl@!M3HYXPHoXN7c{^o(S)t5nYANY<(XW4cx8f)$BUGpkAfXbiF6I05 z__ysh=e)DA(u!NnL}XWl^lI-b$?`62(UEN<g38Yv)8;P?8|1mS7Qs9Zf6R*C*{maS zrKl>E2L;F<H!MM<EPZ^6>Qy%?EiyYbaU4y)7iY_$1LUS2fcNiqW-gW^qJM;X<`-yk zC<8xAwSsU``Hp`pxX5V|1)BBSVft7ld?qQe%JKWHGv7lle5GR#?;k){%dY;eVF@=9 z2*(^Bp%zWVW%*spyck$F=}wr^s1ivD)hqu!44V|_oLq#}x$G@H(2fijY6|kG0!P$R zR_GD4OJqEK2t*wI!j{$g9AC@JB!K>&tT3BU5ml;7+r&kmi3@~jZVz@7H5gZ%sg%o` zO6gUwr*z`59PS&*?)$w~Pu3}zAiL-{98@#DYphDGd@JR~uiBDNy`9PBw9R0(Vb}N| zPrJC0E4@+>5?F;QmF(=K5eCMjz0U_?@npt#pqI$V+D8cypwpAt%P6;}Dm2uQj$R)E zmB=z+!!~;hFe`^aW#iwN;Ob!nZH^_|gq#QlfkQ)Ig5FGs2rz+C9*xb-zmGyI`#MQ5 zd!zN^*5x>FV|&+m%91qW@hhH6O3%AUHFmY}rObDiS1B0uuD7Ijh;S?NkB1wu>BfCt zFJ!}_JILsmY<D8a#FJ2PHB`UZHJF`4e<2ftfDktH4z&bX8Ug>89JA^wilv|+3{Pr_ zt8S`2o7-$fZ3qOYpP7$79_d~*!7vUPPs1bis>XIr1FEv4l|j2N9$#cJ@-jey{O$o( z@WAprs|_F<#Uxu<0J$#!JB;$<W)T9kQ|P>*URMgbX#po9IwpH2wcjww0c>rl29kE7 zvl)yZ^ti^bzs3Mn*rv)e<hqfoxnQDj7&d|1WS!@Rp28u^BRSZ&DBV&?JXHE|XvHl1 zV@DyzN2;0Xqi91|nDt_l3*TuP0nce?L%!3b<9K-k?%by>iI+;;r<zOib<hKhR*&j8 z3=@AEgzS;k8Z=9U<*?gvi=pvKE7;cjDxjnxgjVz8@p8bEu@!Gkix?icxh_<e!%H}9 z1W&}U8YsWieYCbsNS+vpcmBxCG4=k;G%6$2$D+B@G+yfs)8Mw;7R&M<pmY}|MZeG% zV8r>qZ~qE`JMSpj+$QhTS|aA~*#J0bkTA@fj4zHPY)5&k^m%%FG^R=|DBkbz7EN<t zG3+#RN?|70b~^#=0^XMTvsSH5tr80%1UOj*-T;mGcfX%Y62k_Tn&ZFo9hEcb%VucT z-LH@CVe-g6U+0x;HseLLiHwouv}i{F^6c8D<tT*?oO_)&cL=Y!zr@jO+#&qC5*BU< zR$*jkYi1+9`XUv_lTtC{-eB<Ehbc)e$+gFvEC1k}&Nuge?Ymm*j)ET{Mj?>r^l#vO z;X|$2zstTWmtsCY7M}*$#FQlLFejU{R$O%tb|Rz5N!!_W>&HY(_*E0~Q|p>49<8dP z4~9df^O8X2ZyT*ZS9v5X{4>gge2^op`~Q5EsRWE%W}kFWCJ-3W^fckwczSlpd%#mP zpUT0UX<u%%qa3d5Ks>fY!;Ft%Lf<aBp2zXJ=+tQ@Sf47IQQl*hq}|;t6y$E~vt}&u z9xRzRXx{PjooHt$2~;2vN)<;W<tQQG?cUxH*Fh>Il=JT4!xeIrWW~LRUU5o|SW~b| z(U+zW;}9`%T8bWU`hmi;!q-$=gUNCoANX}6zN(d@P8MEy`5Y{f7@;S4!=l|1#OO5# zuUxQA{k9Z$?12>(k?7$V8^L>sJ$c5<6f_ZWG62j={b9aMPMpm7vExXG=5C>G*h4tP zaq`z9B1G@3UK?A<W$=@+#_7_ZpZO#OI+o6>*WhGL-V&5RE*qacc*r&7M{MEI+)3O_ z<cw~7`6<s6q=-lovEd(dtyQEvr>b}pF}6r|>4$`!qud%xe!LKhXh98Dts(+YlA+$r zH6PaZK0$u6*PBB<9B-f>kYQDM%2;8h-?895yPfn6Av3?6gk57!kpBfruk`p~+qeK3 zq^J#oWs+_jk~(T#vqDO;Z+~m<BD0qXD*}Y_ni^Qd7z{WLM`TnXn*OD52#iG^NfR$2 zO|4YTsp}_^f=PuBLZqk#KinA1sI68)g~7?pF8kx4==btNeeVyT)qwFUzK$q*<_Wta z9;K-Kz6w9`il*fpcp*ZtM{0nH1R_i@8wUYCTY>d2O1zypS0>D2muOfwmwrvNBxVkL zdHB+SsDCw@N(C4~aHe1%w6p1I(u5|z?DtN@G2!i#A@`BAKs$Fdl6Iq*uU$L5%8UEM z$0~U_{S=uxp=5K1*FJuc;&UZ}Q6#R3On#t>(h3>(^DIYlHR6&wN}L;W2W=MEXxY#0 zBwvJ^Y1>_dmVklZk~OFn@Y$of|DtEydS=E%I+le?g#GJv62-p|rE-A%Yvc{;xaek^ zyc`+Vxcu0U-#UucqtN66vm&J8TAhrmMB6d<5&Dhjb4JcRyxb0hL_Ldnz09u(#UIf| zFTbqt86)Pu<<vCX2I4Hv^etG@n?Og>tz|4&lAhSDq$I2Sg9Pz+$6<?-_r<GApKaky zZzt`#4t~7&?o$~(wpm-c=G~lS%(8hQ&FHS;n~qrD?!SWj0s3=}cY8%l2QhAf*lRMa z07k-K2N@H~7H*wyqrPLXl3Eh{l9~n>KRa!_(kUfu0H4^JP?!qegu*>DwP>Cp5Nn0O z?R~SYQ$gE~H)AhA?O4$>P$1KrrOK<jS~sff4`MH2pW@D~pUKzuLB8IGQ14rX>xFP| zHtGh>hgX_Z4Dsjrhyl;j9z6@==J(B)hnAj&2u58Sy<3bt3{<wF6{GChH1oH2iIg7& zCt<#yP}Qtq41zM8IO8&!y!r2M5>^i|-bB4Ox~|Wq;+UyMkfK`4B6&BDZQaDA+YXIy z`LU0uq03rIVa@cZ8A5Ufee1%Lxy68yvtjK1D}~_**4G*Nwe#rAQY%1V%(0dIz;i&j z1e0Q<0+%e}4;gei^0O#`0RFdOSk;PJqpX->wP<KSE`LIezliqeC9p96x>f&SiGlC* zA@+)f&R4sd_(-eg@{<d~DRC}ylU(|0s@sF}lThg0Zy-GWs4mx{_=71Y&WZSm#tL0y z*2nwwm7i?lovuk>0_XKjv5}`H!gh-S@r{j!w65&QgX)Z#O)Xn%VJSsio4jQ;3GqZ4 z&(SKd^oc2f5=dT*v?znLop?g1P$9F6C+wYOVelOHs#>l&bKe3I?WGcPIWm(%ZKN48 z7BNQIN9?0Ha4$(-=@G!FE8v!7zDSUD098tZWwv+o0(*I6|0}SGSm&wbxMM7`w?|Q5 z`|@tu>i{7*g)(?sLP*MWri`d&V(-Qlz~O2q8&dd0aX?ikB944x@i4)Qd<8bq?l&sh zDKY+sUi6^?rldM0rr2g9W#MSFWfN<y;o$V&5f>h;T7-xlw`@=)J4x;g9C?6qfqv~A zY>E9q|5e3lk0vG*MUhUxfu0TY7Sq3~BFy8#<RXJ7xlTu0N!l>y>LavU#5W=KRaBV? zt=oMmjENvm0IAq@QtFHa^HU(tDQSEcF{u?nqv=9{@AJ*0Umk1thfglH)J5SwqJ`E{ zyF?4d2myR1t|xSBI9RZkS9LomOpK{E3SF(?+ZPnqp$p5Ce5jDmMT<iPA%1xhyEe}x zF93uUdVJfw+2Ft)QmtLFs}2e6I%dRQ!quRY#+TN>NlZ!4!j(f`NQjmj(Jb_!VjEv_ zPv~$PVD}z|HDc_OR_^0lwvSBkcP+qjf0Ny_8L@>&wsJ3;-lk|l6m*fkrbpVc??tv= zabr3Jb#NC@nh@_O`enx-dhFugG}=iGr~-|uR73a{DEY%WF~-h~H!|ahaX4XMrkrBD zo)8E^F#H$iWM3+Hv43-!N{z%=N(Av&&&%co2^0FxApXC?vwH>M0RxJGFaOJDLg?`g zs>|RnV=E{l2Pi9iRq%)%XLMT^Im>+9@ym9Ag6ny8#hm)}7tF7C+rd=Et7{|ix|S4g zNI-fJHvZ^$)t^R;3Vn0Z{SNBVnVE2vpA#-m;10Sq?DYdI@^X9!OQms+@4X)+*6*qj z=GfVfu9U%U@8VB-W}YNYSukI=uAM#pU3t~FZc%G%zTnYeEujkR4Kb1gg>eQJ3y$7! zN>Qonq=9&~&E|tdp6CW<atds)r;F*$)dS0kQx$*fZ3QCSY<}PXm^k(&ZlK}eT+T?H zW|f9n*)Cf2CikiQuv!QOxCszi)F5_!wO~mD9Jn1da}LrLw4@=GF3=?QRJ|t#lj<Vb z0Gx3(s*{HHV3=_jCUvhifSD%zQI(%dqJGfB+@(9Bd}|!(m|TmsPUvnOa_^>Qg2`@_ zP)=J}bGkk9^@Pu?-_JzxNioU!%K&>fS<hksaGM=Bz*+otKB9;#*B5W;kEM#|4uDgr z!*@k8FZqkB=||p1UMWe}tEtV2Uurz3>YIBJncQ39-I#c$gifN>$%gRDPE-rlHDI2C zVY30kf~w%pRaBKpEp0i9l6OAjq^Ww-ern1wUGr%r*fnn0zh{iF*!Lv<5F7MdN!t)V zaG`zYHr78??N7(O1M(@SB+dD7rd|dg`|LpUfn}T_eeIL9`~Giv&;G_Yy7TrFUJ7y0 z3LFR3qQHh>$(*ewWx)`H!r{;vqLlNG2oKH6`;jww<0mT#YevQtU#rfqrb96bn1&kN zBsyDyWq?NZ83u%L@@TY2719pp1kqMTWv!bgBXilvVu=y4>_0Sa-1#oc4`Z8M*h{b` zyzOF+r(isp-?T`bH^~;><A#Ty0~`iaOKuEKYddlZUCW14a`uZb<G!D$AWe1o06YoQ z?GB#ZJ~;p2A(ta<SnSWa_<A7ZjNps~YZLv}9^vNUB?MhB0y~!M-$IeSDCvr~yIc`Y zzdG|Q6f(Z77d;QHa=vZmIrV=2a+`+mVE)f!gaMb=%MzkX%<NdgurxgwIrE>3j57bZ zDhUJKw`T}VkQ&+P+*!|!q6zY+%F{HLPj7`V6K$}zru@|O_N8~FZP;R)B`iT>&cK2X ztPuR#L7yLnYgkLQWVV+5hqGo$rEV0`AURRNYTx3b1H%N%M&`rfwz779=MK#IN#4_k zMVU@?(|8DvbC)QBngoOc`}ArU@gdoHn>Wks)5U>bXOJQ3jqj{JpS?uELRQu1ohjJo z1-}p!fH-|pOYl2juM$$Xr{GMUz7Y(Wfj;&+D|LZfL2wNOQS6Svj6kf5o$b0Sfwhsv zO#Azn=%*ZVQYJa1T>0cRt{H%G+h>!so;9zJUlw#E#PnQ&J0d0o<l^q)xrTF0CY309 zzq{pb^@F7%(g9Xn(m-<O{gP^v8qAh~R&j&?eP|Z2n=zB!u?eg}6K|#UL6wSEY7w=3 z99-z)<NgIaQVFKgofZx?_5vEEj~{NqVUxcS9pPgr(9iQU+S9yC2l>OWO!tM?4(H!y zWHuG78n711=960)KM|GUi_s_sr{k*1f-A&mcZt4<F=dST&?O6^a<#1`Cd9-t@n60B zRO+@TFt*uQ1^Ov{g-mKB6f!-kt0%0{-T;7`MF;j*9RBd?Xvkg*Ch<a9%LQ}Q#?w8e z*O-eRwMZeIKK{f(J#9Y+&fboKkxy$LN7+zY^GVv-vj_Q!C$HxU7F**-(@OD3yewC* z1?%Duow|i4el_r%3glln)S_2ld8f`~tXq}#S@O^SV!1VdLUe+n32e)s%{g$sL1L+w z2rR3&0B?J$RfJs#RlaQC2jzS48Hp87SUVmH5Xw-uq39P)siExvgDK@kdZ?t`!+5^O z-VkE;EGc(H7umi3sGD(E1v9I$n>+~UL6s`Lk$|XBVGqHQ(O_*jWI&@f#DH3=+P^(_ zFapggSE`)@sJdHVv#}}Dtmmz4@q)qQ*`0F}m>BAXbb55ZlymzZJj!j$gEs{x0uH7Q z)C=T@K<DtpKGvPCe76a^&EdoB1WXyf51KsPJIsPQR$}i{H?j|I*^RY=^p@|u=}gS< z4(!{lPcHZYk8CHC7H$P^0;Yxl+RF?y37ek$aq0GnWS~l<pOtyOmDJc-{n4j<vbA4> zB~B>>MUH9)xt07tCY?$nWjAlSg=XmYQSM<YXfG69$}#qe1~Ku9Px}7j!=3#5L%9~w zE~OC>AwT8x$Z{}OaH^Xse$r*WHGE&4>X5LJ(@l<bi@ZR{mov%sJ)9`2N)#GRR>JtJ zd?<V!Uxa%JtSzLLT&>NG=Y)s<!p{KTKmv7zyigTHiDTmNmG^7?klE+{ptL3gg+|dz zXTSRV*|Ntxfwkh9XpS&XMf{7bpe!%m?D4DR0NdY!wbm-1lx7cdD&rGIoD2TIzO9jX z{jy1kKdcrj4Pi#@V;4xd_nQv(m8oZ0zAz;|ogWH%YbA&s2naqx5O4iwF1(QV)M<%L z*qm60%pkY#%cANY?w6cRCyn`A_~%$V{<OfCzp+jJExC~*ZFs7yBp_>)!&q@$N5h~U zh;2ANUg_Nn&rt7xC!*q`B}4F=hKK-y11C@T)0Y_Q2Qo@8#NAVK<t&xMV?oMt_6wiS z_7s#V{$evYk5aK!xa!nfNwHYmhz_%3me>c0a)cR6ekslZ^##rO^uJhodCBFMP>FW2 z-@$hQfYX~>`$ZVRqQneB@Uwv3ZsH3dV1&w(;2`IbcI}mTM$y3-?qKmIs)o>s2VFir z8Sd)+*OeB(aMWr!Y8740;Us@$hRB_~-bnOi!|8j4M$+Cu`nAK-v+b3Nw+M4vwG0N+ zj|}=bGB7HN>g|+k$b-M7v%Rq{<`Gm<K`_Bky?Q`8<aAfI?j2kUl;5$c2Hfh@>I-*n zVg-JB(<)IKXg&*-co|{eG@WGX|B1*@_~78bjV=0;aiC<ND$B?jCa6{RD?K6;LzZvo zt@qS`Kb8C#0At2+&p^<!^CzX{gG&qNw`nD6nL2`?F<0)dl^d6+)M;~8zLm{xldC$M z$G^;JQ4Eth8cAk<I$BJj4uJO|Ip3}`9<$KR48@!@S^kVtDMBTGXHDQsNv2*pG@rBt zw*j|%r>v7xV-AMOeC16WILFX@czhTk=I~{X@zgm?rVe*j1$Gp|<kSf_YW)vrdPXdy zGK8H++~QkP{3lozGX?QFmV5kL^*w$m$SJkOiJrzvxLT_pB7e7H?sAWb$5fKxTRmQF zG@5*nFpo24w0g2L13XzHJa|2dBwv2Cf=~SZxsF06y3n!UQ1q^4N~<SE11-agDM{Bb z?D(ViUS6cK8<$`Sil7zI*K`s_2;<TejO8mwmbZnbcDW1$NfpcaGnrH|yYp_KrFEa} z{w65ra*W?;uPq!*jx)Ss30aGTm}=cjpy=J4^u9JO&&&>$L1=)2lmB^RBNOxdZ()g; zAiqw5A%m(~*oybh1q5YKFc{NYi<`PjIzD+17pIptg=q}_+L8pdMcuXHE3O$Bi1#GT zp#6!ptnf00r2SX=x!Sfo30tE}`LSD3`}sQB4E3V$G>QC9vkTLwlAHGSGe4JFiZ{y{ z_;Q?6=KuPRbawDs3kH?KzE-}7J|QGYeo7h|fb&yrK5l!>H#7i|C`>jWGCDk41RU^& zs8ECB_0*!^Lj8&dMVto*<3p4`5!RBdf%ADx*GE0+nh&_ybd<PW$?ZS*dF$z~DzyDk z_M+>{HLVE(CKV@6fZuPb*X~eWa6To!6v5$23b%&508nl3cadYQS|HYT5dEU)Tl+Lk z>E-01al|ULMgo_rXuZ7t;E;1J?ypK+L_}|AR%eaqI2eBxA}paeQ|_1LNv>(KRf|F2 zuke%oJ&f#~srYmDo$+_h9|ReU_m<z%k*nNl+M9jOTj0xRoju~NF92oY*Azoiw5;+Q zH8HVyK#N1QH_hvjmuc`3B%;0*<5?oTt;CZ^#(kQAK44y3QDKs{0aJ8~9CCv$wfQK| z(QC2vkOhXE{AqzHHFH{ViS%R4p4@59wKqokQtIQcbd}?I2xV1NV(su*84g1{k34v; zYYmhsNfE?5Tf`Xvm!H;jc>P;9mGZ_|aca$fYMtbagKdI7jM?>J#3b)e&y#`b-P)lk z$YadkWXf??-5Q+>RIsR2Ac@);T|Q}Cghe@8t0AS4OM+8)fS5u&Vn$+xHbSy>reOC> zCyu9gDwLw8ef*eyT<}t-|9&eW2-1odxaW~0H*wj?((?ni>LQcH?a(`&DmET_n83|l z)2FRx#3C9bZctGZA1_*)XKm_Cs;C{e&1E7EDl(1noO`Q=QdeRk*Em9<Hn4Y4zgAA* z^+}UNpU_aV1oqY<$i=4F%{}s~YN)=_A|rTeys`xRuPy~2;O1FQs0of5psDg%uyLjG zeKE+P9-lXUWe>M485RW;rd2`nMj0SAkl%DoAk^<|95T|IAC|>>e%y367jY=BJ6KD^ z1n84}SQoM>UE&9Kp^kMWB6Yt<>!U1dN7`%AV^y7dzf5i%w$0IAYOD(3+~vaiuVtpN z081<+nuyw&G7v}#fp$6+vDtZLH~i35@$x}CQY{-MuOXLTp|HroMZ=nHU7lXw5vPD+ zqA@!aM<e60jL^|Pn%>niMp@=)s6<=iP4P2YmUyj4Vs!h9r@b><?Nd*v79|-#kIKx8 zv_bk_g6E*qQf*g9&ftzhN%qgW2ua$R7WnxPdxU7AE)<*M%Wzm3hO$_}vgn*=Nzd>* znNr)>2tLe#9gAmaaiJ#G^@&thj?7h3P=;NT&i-Ry>ACzhyK(^6wYO=wQy;Ut$%>}P zIVUz9c=9vt?R(#i?fi;&qv(E}X;HOq2GStVNLtY)9Y5JQ2>|-ioTC(le&b~#%QlV@ zQ+>;j0^5h1w>*dflwh(pRg3Q(D$gzQ1nHaog;p~_XTQuMgS;AX%N}Vti!croBbfNm zfDu5v5;nvjKMRk-dIIlw8x&mQk!k-w4a|c}A)(T`y9RBV=%%;^*6j`Fc|HLGCQe$D zu$LI-?37##?y_a|QLoS9qIMvomD~9WfbgfByI3#uKIjdU43op8pEy!iClG82xFM7h z*&o_7E7z1(`L(D0F?JGY)ZQ!oL5ok-rfe(Dv+2G2#NJ(#S(<MM?M(Z;QQ%%nGrX<# zx&D_9$e|y+ujDDBZX&HW)5xoE{l5<N7>vW(z5F?V%sBi~Xy~F%hIOb^*TzT}lOwuT z5afp$7{gz#YE=n6#tcsT1Ohf*WOTC5pnm=J843FK{r!qpj8q(Aa;XaBx8qSfJ~Be) z!0uk3wKS;YdA+i>k6d;~PVH;N@l0Incdh-3L&QLQyGP}7Wv?Cg|6J^p6vP4Vp}X7i zct1jLs2L*kb*yM0L!uy}uV2q9zJy#{wOV>Du!h>_yK2*2Yxb>G@{k>78Fj;8o+u_q zW3m4mgmp2L!*J{0+;{ipCrK?nL?12l(k!hvCwf^qV{2n;tXifGl77y<p=+mphTc|a z0-!X{ok3G{fBw7p7yioAVc@fg8Ao>Iu)z=(<vb@3GALSsdk>X?Mm;3*po-IY;gA+d z+LMDd|FZv1cKU}cS=_YDj6GTz5r%ZdFBW&GAdN}2KzL50*yaE^+X$baeEk-6(_KeG z^wGPB*be*GHaKmlYWI3cw55BW1rnd7=RRUanPO4>Gj~}M5NiC}BHv%EQP7$^3bPZl z>qF<^p~Gdfl8^V<fwvDfNPhDJ#GSl_ziSvsXgG`0%A=~Dgf2GU$>UbK>ZV#!045XJ z$6yS))t!dYYf14B9LT@9v=d_549@3bR?p?wyZQhfKl3X2@<mJS_a+%`;31Zv?s*Tt zoGYzr=1Q`%YKRj4v-G-0^@#i3zm_>uDVQzUI^*-n(e=^weR>;l&3wo+zob#thpzkC zQU49y_MoCaBE|0<;%51aKdz2F3VdID(>|lzT*8-yp&lVO)^;96cULns=CUHxD;88i zivL<b(!d~|&sT{UDIRWPR0_>R@`(9$EsWL{ty9(zTgz2-uol0!z53;i*Agqh$h^Or zHmDjyU-gw?bAEafhv4n!|L8SJap<phY9KBZ*M?n_HpYWRO{+$Ce#*U2u)k42R(2L* zuNPMnpDmZlWb1oho3_Kbj0Q7#(z)*UIF}j|SvZj<)V<7e3+U)A^2qU#IwK;W`qyLG zJn9E2N?J1$6?<Nb!{~m>wIUO|eVK}s$3NepjtSW_KlxNp9Hut^=m>cgu6$Tix__xa z46QOsWKVkGn9w0`!YIR^*L|eHc49^0cW!~5#^=M2KQC2FnzFL<Ka~e{_Zk&ZnsIcU z=SrP?pGOGp&b&wcYxsPe$wantN)4*h%*eMOol9}YF^H5M;(;r-d45`B(gjA15dN$e zybPFm8rer?rXN66LUQnoMZLT#80$@7^x(?BNV?IA536-hTz@<E!Goke?TySwwkj|o zO(>1sZLXZc?tdIu3m>GbW!ROv$!w-gHgeIU>&f+6Asw14lKtUNu40onPw4#xH|dpW z`I9X`Jha8AD6i6$S&fx$aqG2V()ah5P%@oEiVvGvxCd9}`B^6VvF{~Cs}fq>jbaC` z#jNyuYC)U3vcS0?ESY(}_Hz>vV$6L?1%<?Un>0|N9G?2Qi8ihurI@N4^{gx$-O<36 z|E0DFumY9WgN<Y$Kk|2@BUb1)Pyaux=*xo)n(C55Q@7Gt#uQg3+pf>Mmb)C#9!(yC z6XA3rvaAox`YYlzrxL?KsM+rW2PwD2GVBIW>XO?PD_dt_I}f(X4F(cj&IOJqSbIfr zH276pYQD=kg<!VQO7<xc>0oFHqnvcIu$ismzUFP~FnoFBSz1gA9>GoW&ktXLPCLWo z*p&Ft*CRXlH1pYu&w(H8tDx<g-HPTxIqpYWv$;-OCyPnhReXMn)NNwMm|G<r?e)y1 z2R$t72fz-G+>%tnedy5{h9Ip#erZFA@1is_e;m5_;OCJkFKhUw@g@-#DSZQFN<E>d z{aihGvd49hI}*RyBocdg(-_>CFsmswGrlx(#@v_})chYWV`T^DxF`~-PtN{p+F+Z~ zS*L%E!zXp}`4oE8T93c*x2M2Y9r$qT5pqF`-2P>4RFaH{f4yes(K~y%eWg%3-U@3; z=!2r)7sH<7@ihV@-dpRc5IH<9!3Ak@@6iCfY`eWB<r47KTgtNc_H!?bDl`p^?#trQ z^t|h&(JdWIiaoMfYlF~v^6ay@OC=f6UxGu`C`=1+*<}_Jm&z8<z$az*qcGG@7vZ7n zaoU1XH?==UXysBat(aj;3_FpyEfyf6c7yK7mlx#{PTJzM4vf+!JBY|&($n2~$7mh# zmMR#pORkK4TnEPEx==z%tJSJy+2xF17>FTN!!nj}Hl$jbX1o>1wm;FLx;NQa8XYZ* zHO?XTE^QoT(b#1lqz9B+XCnI#8=?c|4e=}&F>n`8^XZeia>0(a@a&KN@8T&Ib?-rm z0q@d;F1mRjhQ{pq@pPIBNtwhY<v@9?5(;5?Q192la4>R#pAC=^vbmbzsi285n@+*A zDx>B0aqsh%vl)v^>qj)jC%}>oQ}tHdfT0&VRtVPnnw=0)bBGbo(XxA%U!KdG+S&gg z#ES~RCwvopban(B)t~J*FrZH&_W$1QwmEgYbmgBZbd1WL2Ph2vF+y<8pqq8aTYS0K zrbzPqEoc;%g+3C1SnLR}C(j@#62sE~dF<(Os+0tx6-$?JCpQv)f{@7ll=gQT@N_qb zFM8{s$zw#1g{Ur;;qoQ_ScQnd(%N$@fK;xq+lMGAVol&b!v>Lf#rhG82J-(6VNy0G zZSOCX+#Yw`DlcJES!E0V)s`zR`L2=R$ds6r{%PhUQ%>-geBx+?KJh4%{PdE1*`_6K z6xJ32Y;y_&U-hfKASZ{Ilp@ebxU6YwCt;$tV+~h(##^{${MduzbbF*Z=m$96O<kpV zW>lDPuiV79TZuvl^{3B=gge|~_s?(QXoQPP8&Lltt)fW4{OH<!mk7aeyRrd4WWYh< zR3`QB%UPJ2>?Yf6@*Z3yPIX$Gu9<<oJNBN=0<VR@cZ`X8iaJLO9Gp<?=>C*WC9-zf zS2$%+jNz-%t%MjbnJ1wE4MzNBsm_&tlRUIXf`(-HiZ+(N#td12m%C7T%obr8CD`t> zR_{a(=37aIn|=d9j#mVoN%EO5(Y%HmLO+uE`EU7KLOw4a_c@@5Dn94Q8`BD<5mK1h zk<!TDFG?e0u<V$PzlIV`2do<I2GqT;{d9${M}mDuwn$2{^H|Y&l%{NuOtdiWXGI)7 zt{-PO_C+yL>oM~t#r3Up+4_CRQCF|DSK%qHeEbC0cm#}Z&ss$x3pZRG46$_zUF=}X zw~%MV5eIbVjplorH)K+ry16I3lmk&<)C*+`xZ^aKBCS1X45mY^J##P>PR?bWSt@L5 z6nCr$5<z8QAdcBGyr<1N)UvdVsr*sTKVV>$MR5|_J2ZFJ8O`1Wr#{%HHSUQbsq#@X zXEACwtLN(^CJqzZRb5fCgnyOXFo%!*r6K13qcFhhzuQhOrkN?tiG96I7;fJ(;;yLd z?95*INg^x|>IW3K&K!Jdd1=ff7lG^G?B1roRR*t{ve!x4S3#m`_C9MdzIlUA_CA$c z<64&Af?O6;;Pw>w7GeT;#@+`5d-5F&1u6}Nl99_-{HxRfMrkTQTu6g>V!+qp?BTre zagmU;8wdQr4>_Ih<;_&nWBfEh{0(@uY|{-mQV>c_T38Hr{$_-x2~#5`jo|yog_4tT z;*j~DTO`Ha|4CBNxgn3W@vmC4+CtuL9IYIlBb9!XmiDCdN=k51-?cit<tDqXWEP?f zYGmNp<s1pFD$TfY8u+OyGvVPCZ+;Jtoz`I@!tqWY*=K0H(4dnq{NT<*=ap9Mot}Yx zgQ_TX>XL@*uH0dZa#AHkOuWUPRb^iKhWF;tmzHK+*Gi`}ia61SBQ*Md@OlWQ*N-&5 zxojb7pF2@oRqCwA?6Kg-^Rg67K8+1=47$7bfS^Z$zb3y>sDVy)6*{Gf^^QEhIgzof z#X%uqM^{vK9kQBJIeYGbq;%o-EpNiBbEAOHuKC=s?KPzu?av*R#okR*Hp2Y1Uml59 zggFSA7#Jsq6dI0XT0E2)V}I0qiHS;;DD&eF`*8k#2Y3DKdtq^3EQ)Ylb7aN?DGEb4 ze>6hZgvjZ0Hukr`w7SzC7Yp|sr7T>?{tA_@Hoh%klx;CX9Flmt-Dah>A=H94s|jPn zagCU#Ft+L0M3sKgDXk59f?zmO4e85WC#uz4#*V)aceMNdwaz|qO|yhz=~sl;3(54g zy&*&(vu^`NJ{Vp43VocC82bGD_divH%Q9>rWo8O;q0U!!?8x(3kL89mtb%O$B$ZKC zh%`>e%7r}c9ZN4ATncY1*NG<$F(XZQT5nQy*PbcHP{@i&2%D_k@v{hn=DM1M?HcS_ z=M9s)2o2j9g=99P*5Z&uYtI+y?RyP*AC0pqqSR?~0T8{UD90kg0OP1{n-6u7<esO~ zZKD-eavb<?C{ADE=gXF0QDENN?oyYUFO+q7_E>yDu{b=r60Z(Uk@k^Uc{8h9&7DRn zDihc%3D-(iCFP`BcL-m_XyI+3ZQoXY5KH1mTHA4V@9v@x&H)=H6Yw$#i0^x}<#Ouh z$E$pEsyMOV=s0gLQ=D4M@&Ele@Zj5=qrQyvrAK8OcSLDNNqbu0=KW>tW$c%aiOXz~ zZ-D>QQLMl`<yX@o#&{~oP@=;R4C#s@9Dd>a-9kd8BSKxM3|i9Y3OwF?teX?pG}1Po zh3Mrgc6cmx$7Uu_Lw_2$9tL8X6&09ij2!2FQMTwaP%0b_IQq=}wfr@&=1a7D1v^Wa zKxMiV7tb41=8bv4uUWoO`C|!y(0z>@tr=lpA|^R7l5vgS<dkZf5P0c!jys<SYQOdz z?E@NRUb@89h~{Ot?cvfH$9y!b;YDeiNoXz1gS7|5YRUd^joR6Q+u*Y=VFY2XTM(xw zV$HTADHX;LJ_Ff&)?rnoi7SF_027?7FmJ%Z4aLWE%jm62nWK2~hvey>0f6x}TcfR+ zxQP@VUlH#CX}&S0H5p~I-ik9RHEaKTb?V?EN<L(-3H=?$p8?OhO|u<#?@Yh`T#p5l z;~JrC%>GXz2snjzJ1lXtQvjDfa?x``OcizL*<|Qno)|_R25m5&A=eyF%ba8$LQ~u$ z>+N(Om8f7E&$bvoj=*gpNu{s*pn6MbT(d<Hi)$~BG|@6L3w66xz4vlgRLA2Zs!#%m z#tHg>hTTDbt~w5*5&>tGKR?eqkz-%;T{iobapP=C%j*rthDk%!kMvq6nWN)gg%XS$ zfzLtCb*;0*UMW6H4;f$gy|-G_T4F8+90Hf}pM`@O8jcIaHvg&(j>N+c4<8+EFVC4E z))Xg?uNUtH0Q2$w62OsLm4YgZ)kg<K%w?DmDCqc}(DZ<y%>=y!W4+eIxRUoT(b<sp z-PVXymk&k^P6~P5iM9Wbc^BHu{CxQ=0teZR2+wIyf&ECEYN#%=m@=-@*TZSKZ9zm| zq|^IZAe?w*{41ll8(*g5>?05Q$NM!d-lBJwBMSB%ZiV3A*4y;Iz3(3nc==9AVGQqD zHu$8fN^)0jE*~@MZZ18K3=6LW<poB`NpEnUo-3`Vemu&4hPyAAeJ{}OvWJuC^WaGS z3UFp$jp|^vTr-Js)C-#LKrfpMrqaUZdvn=pu3P9JiZ*bqX|@SH8Y^T>P)B+f-GaJ^ zY5S2D79G2kwaKEZQkwrNfe)%KEj==0%Un;{cQfsiuGteZmm!3BGwsz=g!tgc=X^;` z<3}XN`dPeTws!Js8`8ryq995J*NT-LWufHf%FO9AXrqR^TdIU9qdBKp_5k5ElzX9? zyxAM!M#gnxV}non9HGyB0p}H5x@-s}x4F!z=Tq3xFAssd!+6@EZON4NJ<;`J&BOm? zFCC4PILc4IiSRC(;-ez_4W+;jK#6|h)AsYDsS|`A+ilmgMU-jUZ-ya}kNJU*A`^oB zj?k?r)UQ$GdkTNd9PCAIL;vvtI}M4aFpF)>QskblZjw<ip|d`vpo%F!R7B_cEA77D z_6mp;h6!B=n0h2cy~`=~2wCl)WJ#32I$Bo{N0kaC0yH3BObAO-K(jO{NRZevs><fm zQ%AjM!YO~Z)=q@WCf-JFd)Gw_KXeQk9BSJABAV%w!4!O%KxQ-3$IT~*Iv-YB(jV%m zox$@ZB1|HU<+4TiFct5oz;trZIijbmF>@wkIOa&jr?G%gNQ}oH+L|}$ZftV^;w$2o zlso~uYpc*spV!NA;V&~zi7OTt#}m%?s^K&CODguc9Ox|kFl%Dl6>Kcu#Q{7Ccb0;2 z0OAYx!z5lLGlx<%e2KR~L>_F)N<|K_nZ6n>ic{(83Ouz*S5iTd@vKMND^rEis<C&f z9Cb8JNwY@HV(SlTZiVPB*zrugWnf3zL7nAn{wCt0TCS9Zj9-?u=fUq;?4q_>`$p># z+6`^sjE1qy#Mw~NEv{?*YheoGdbS=7l~_KT7b!})TC$;a*gAWnE|v(gSCQfLpN*<j zA2m&kae|ORmt1-Z1aXoZp%aA(n3@at6qhm?>=bSt?<S0%3y$V-v+L(DocD8Cy4{t} zX33_+(%kkU$!6OeAAZ5iO^sXAb1`;z^#gdde5U!u9QN=p2k^0?6<%W^8g;Z0os89& zI#Rb)k)sKjh`Esyy9QqY<44Y*NZw3~;7Y*rU+}I;0obuq#4gPAWCs%}aXZO~^g+2U z68+Q3=od$6|5G^;XuRiGecq3wP83I+u$PW1!s$ytw-D1e)io|a2csU=55!@{60ja+ zZdpnp=NM>_j<_pcua9_kHud$Ia&23jN!%G28D9Imy27MBlen5hRJj2s{e`cm4OcpZ zI~9qt#s^NdWbu0PGF;1JT$?eeswIa5IFuwgorJD;W=lVvL=DYC=R&-r_X38uzwlhm z!BBt?phfnP@ziF6Wh*{=E)9P%lXCji*-p^jckypRSF@D=F7&^1a!92_XVSZE;PNY2 zxV=tE_4{J5rwu^*R(-1pRlXoPtklo9>x*h+gzj**+eiHbXMu${rh%0Z^z_A5;@6Hn z`_;F<>G!vnrr&QpzHQ{>TnNq?h`3pret;;ioqQaD&F4`UYygH~IE=GSLO*}h^SCN6 zm^{?_na6_J_#kSt;Za~N&dOQmby$4ANwG)tqZeR<@X9)Rm;GmuJ^}(F0)mn(ShpDI zrQ`&iBEpjk!3t<+&DCl?%q$dyRdc~_OwYHSmgQ!ozPxd;oWFEgKgRHN(~o3CVjJ=p zM4L|z^BwI|_2K0k^fEZ_{<ZtozSOJi$7P9f2RD0RMt6_3vwFyhcVGS7RId_50tz9O ztVtzL+j(8-ovLX9Ri|UBx*y7YO~p__TWnC|o*G2qOy)HSGl5D>NzMR`;x9~gyD^^1 zzwTW*H1EEEDqsM@O_?2>j5@ZGG*WvBB0&c14Ia&zt&Nefify<$jD?SowR_-nmvW~h zx(55iXokk(g;t%p;;G9EgfB}=Ku}wVD!<R`DznHM2&-|P-Wc&!u3P0XAba{4(Z3cx zGNw?w_NRKiW6?4Sv!gDW;j=@?iYH6XxX#Xa`@C*%i3@y4GokR$b@u>VYUIAzV)NvH z0xn*4zQ`<M0OAM_FBsiNjC>xME+HvQn8<mud6{}0pYPX|*an^vic@BNL)VZ6X$r4w zVlJ;<Dw_IE9~OgZ_+cwTF>I+ik-t)1_<jynQ#jKKOw~J$cPfK4XScN7Wi7Hbh`WNl zw=yosywFARc=4-<bC^4wTJdSe2MchrlKCnQd7zEhCljz0*uK&_EFJtx!(L8!f1Bjh z)tdjzFzlr|MR?jIZ9matWvrOrWTr5tu#P{yj$@8fgs6`tn#RrO(1|2v)d1co?+TIe zfWM^uj6#HZM3ej9Ixv-=q^Ha$HWclY)1S2SD=KnZe`-@LxuvZ#%aM8X^61$q&*&3D ztiGPK?CbkvY@8Br^(^1YQMI4(h;fYCD9|C!Hm<C};6j)lSr4u%`JOJIBy@P|6Vm>o z+02+m7oxJ9zx(tYw}k&v+rwd~Qj$Jll|gjbG^&w_Bk=qdZ96INZ;D49@}-{(HgTdx zwKT+IMw>rO`EX-(u&aNlxok=d%kLBY;fGOQmd4p;{uBGBN{F+Y_voH;%Y}N;LULt% zhx>+79({o_^#sVIJ=xL3IODq@pm6URgtvP=<A8I8eC_4eh}1pBIdFAXFpfuZqg!P$ zLvOKb{E|L%5A(E7DPJEdU${@(y(n_H|M`gVfhJk0<3l|uX%tI+ZaH?DwRX`~(tLz+ zrL|)PgZfC111@y^BGGZgoy2@N6M8X!Tzv?>!!?6`mZb-EYF7~%nIH7g;M<m8BkfHq zX~RbKWNfX)d*;@=GaTu&<S`d94~p6V4c@1J+B@i7JleJF9i~r<#|Ts?p1x=^IKWSY zs~UMvBQLWR%;C2z>2V&?3`U>qM!EbD{&#~|fW#v(--hM;QjFByTK9IR&<X?f5;tMX zLImE<0e+$KUL8Khu99Gs4)%~E*jq!4d`7H~veLRNV$={P{^6dEBSitvnAG2ucyrVN z9<7YRjFR8o7hc}!buRk6aOlxE$>yM`)K}TD)ekT*lTvn#4wvit=)j`%=1dt$)pq`4 z3a;Pf^;y&dRd#V><GFJR>y?3;-)=DX>5C;wNd{n%Ikf6~WhC^mYvp;|cF@=g@<J*U zg|G;T(VPiKBK^}jJ=?KbNG>toBQ-EbqlvD1haUxQ=&FQzY~``_McKZoF-4$J=1hU) zG`2f^sowHlk4an2N3=Sz$mwSJt8p1=9ia8$3#g7d5x$B_JQ+g+{al?T6}&s~_?^Rn z%*B|U>qW@;KT~@TWo>HD6I6!U_jVBNpE<6|kUK6$ZpllCF_=gV9L0^~FBMu!tiDmK z`GH^f2d37IW}JiYn}3(lf@r6^H9uQYe5uJQf9E&PKu$k_<L7Z`fpJ&#kXpRw41edO zA<9oqo}z}ysPQH=wRN)$up6d>4#kHPA`-7q3$+Z*ms6O-kzvIED3MEl(J)h&XT61~ zJPwOLyns$Xc*yT9?nQG4zDPji4P@6ON;+w5o=CP(ShfuNfd|orzBjX%`6e-Elcriv z)~YdCo}A|tccYwx+1gWS1L2gNFls{>Co}qWgU~H(&Cx9A<AJnO4ES(>TCM0Q_V_oW zL_f4H{{Wx=|D7%XpeEx_8I|Gu!5*&`G3s}g-)ESBZwt7PdWd>G@dqe*xeDQ{;>)`1 zJPx`|@q}{Aukx5Zo6S6qI1#*{O^mllb%%yL8wZpS&y(mK+>H#JeuI4f1&>!YSVR(Q z+`^`2+5#Y*v>Lw&G<$VcF&4u!%njTFXc<Ll__Ki3-G`DM^vqZ+z<){eWe{u{cPWg^ zrnO?T$QxM4eUO`C+Q2g0+()WLCGxmt#a1=woz{V$M=XW2i-%5z8Z6WNY=dBa6TN~& zFBhHT(A*5dLyF_A!vSn4GEWipKD!Mf@<48Ss0~E9ZcE@qYTVz9oyK;X0kzKZ;@qdd zinKGksfJ!<6SZ*?`*5F@fN{b?Zh+ezTGxsR7hh`0Zhi{<Rc~r7qt;V(B_(xS+Tnx> z<X|#ypv~&O)?&|-fIQ&HcOA2a1KvoK4TF<}9GD1|M{9bTa~1urnw5~Sp^faKq&_=c zJ6_$PvVoC40QFiy4#L_We=Jv1;I|olz+`Kz_|d`x#Eqk~>W~JS9l1yjmeFyZe+YtU z9Cq&N`e4Sp;_z$Bs4-^!lVYKFGPFj$nv@UHn2+Rx2H|Nv*Co~R)2HL>#QW-FCeSB@ z=9PyiEp2RqS)z$UrX?f*XZ^;Ak47qXj6Z~hxPnj8exC{Wi>{74{za&Pk=3^Yq|&u$ z+c^tP|CY#WnwUvKr2b<AF&z1&Y#q&Kv-y8t@c_Iz?q&m3*vHPnt`&{QrZ!)UAl>>$ z^(e{BJB@C9Ae^V26qwgAgXPK+{_=sg5D~2BFM#ysEopntxuQm8B{A5^l)xb|3ae~i z@g|)PG!wLE;%*o>euOr^POT0{OYpxyRUVq+l<w_UEI6^4r;AmmnZ@`XV`d$hS^57- z?1fvjTjLj$%Cj<M!s?9@p%2@wyzi2`-;Q{2q~(b$`vX!<f;6-K(a!#Ot7w2==S`H< zA&*o@zS*q_E5wV;AD?hTXO!_v!}?hbAM3z8(D_}^UM}PnB<#`G-jpHboO9-`-DuL6 z1tCt6zAo?@*Pe+wk_zFn(r4P+@dRQ8Kwcb{N)jrd5$Gv6<W-cmiZ4}V(0+J-Juf#M z3E{CHUIKTbZ;A@F=i<|}cd;JsigD_89`RZ+0;S2MVg|@M3iI>K`DbRr1ooNLBVM)^ zX}%ia(}UQrHkkMcqIgbxB}Zur7!2#Ei`{qX_6p147VeH}H1PA?Mj4R~Dja@o6~Vu> ze?amN2N5j8plpp&BMDPFHM*=nM;QirL;ti+45z0UeJ{uJvMc#M#uGuy2YhQ&{zd5r zXL^~2NjUboF}6r8ey~po``deM^Kw+T475lfQ_uS2^a1+sXkQgW4GWwiduuqSW=>jQ za+!uWPJWrLa7vur>U`|>N<KJ?1dFi1L)H53e|YCT59GTvEm0vK?}ji32g-w!hn|9q z(F|r(#VLBc7tJ`D_YUDK&8nN_r)W7g2Y?7hkUabiz;cdbwSKM@!v(Z;QQK_k6sgbm znqZ$%P163o8j`!bQ21-pQSQIa%3njHWhIrvt_Bj1d`D}`ENGS<zIlBA=Fpfmu_=Cp z{L;+M6~wbu#SaMvIPXkWA^JRg8CszHlN-totxU?OcQqyoTiAE3s9@naO(*lUm#-<E z0sAr%O=SPk45{uWq;e)iw>B<ZmY+2_jABEA$*8f(V=)t1DXdM(Gn+<cqn1s|&}Isv zq(>`kRd*Thl}E>q_D_t(W{{U(o+9JCGHr&iP}s?BVDu`IJSK7+kY!_ji0g1XF^8MU zKtuY1v?L`$rH4vx>x;2B3kTS#nzDYCBlfoF9%T({AEhGiYj6mLeaWgMt*H7${Dg`l zwDJmrPoL{gT{R7CV11~`Q$wdoK+VLFx)yB_?JaJ6og-O}*g@_lkKIVTpW1Tt<Y+uX zN^^NRc}&&>4F8XuJoH1-xyYG=rnu%J7jVB_nWusr<JGFa1z6Ov_`RTZ9|xls+h8&j z9Et*X^0}|2-c3h3g?g-Opu^a>i^bi;j?IIZGFcc8%zNvBMmgZWspqBQRE_icpieZn z1pS$5Dya>&_{J3L6UTEk>{@zJY9usE6U47E>l{BNk7IFwJn@6PXuL;_TbB$>>nL?m zqYTlCUl-PkX`vN4Po$`)DiG;9l$3bb(0SrAiwzmU!`Qs2EREGC<jE*J5pJ?KV2fF^ z5q=sNu;R?N5N(8DBd$n|B5>cU3vGxcJpL0P4FuU)?L93An_<X??di&Q8;v4rDo`~; zsQeuAEAgM!KU?vFfNtC>*fx>e|Hsl*2DH@$S**dOP%KE1BE==R6n8IDD8(hXyA*dR zE=7X7yBBu|?(R-;D{Q{q{hc3q@6O!&=ALurjL+uZ3apgc;tF$UYOs0?3cRZte<Bjv zxx8;yD`k0(S6^n1qrAE;G?AHM{$@TkHpv~6)xTap3`cu=nXBn<L~Jp|Z9|DDBBTot zs8@-;Ekxtj>DkWf#wgNNOxR-=A{vP;vI}WYWH1}?%g`llSpXs4ym)npNu!$m6I2rG zxp69n;I_i^+_AK+ZketRluD6ohM|zXIBbP%pzBH?WOD0&-;q(KemXUF2RLOYcRt(} z%n`Z1Csnr}LcmJcKO6ze2Q#Qtwn&o&I4hl@%a-gnbP_b2BtPngS{>R*j0{5|UC96; z&cm4icT`Bzj5iNMWCfYNu;nJNmj+77USH_Vg}KAOMffL;g4d%BFJY?}F=0N;Rs@T- zg-N~Wyo3apqIu6FO;q2+DYP8d_oDuVOIEAJa3z7NU6L)|;#*ke!ls!4HHqM#AEjCR zK*~cDe5&bqK}2EsR5t4atHkO->d#UG*a>VJHmZSlqxft1L<D*z?^2K{G6SxEc?GZU zPdBpljTce3bDz{yo|OhX0`tre0~KKs87)I-_%bu6$Rt~){jOz;hXihq;u}ix<n`_D zaleM})<v>(tbAgphTO=k{^Yba>lN4j-*VUUNl1fyV0F-+LW_V)dPOX~a?ZfU$1j5( z@t5^ea;7WkZ^r@^>cEdY3QILdA~*sUUkM^+vG8)*m36+N7orwZ`MN0wPKq66i^*n% zyc0!pH3LjcDxa|cev`6;ht`TYwUlDjOiDx0Q3n&hsW-M&YqaXNbmow5#(ts?V+Mj; zd!1moP7>%)OB<N^-mXSr#ZxM-DV796IC{HOCYGOq`WFlKxln~QWhKY2lTQ>q^Jm_c z6k0{G{PYUI09MGqQ{xDn2MN&=_G@T?4zI6nO+X~M-}2NH%sB;v8w5?jL^alUyGAl_ zij&iQL}7+g<&G*!M3$otVzPxM%P|8RN@LDxB?kx2f34$4W!@wZzG)pdsUv7^A^ z)@<%&(V_B*dsH`pvTm3bHL`|)K}oZlZBI(gnR>~i3p2LEs$SS0lLZQ8Y#9M!KEu0E zO~(QuUEi1I4EOUwSLz;vy1uiper)UeOZDC?bHm^_Ys5<5!wlCxMekjL3Dn+Ec8U#4 z&H6`WXx0}PlJss|*~+|Az<+qCpTd2c)C6^grshONAP%XtK@4}kvi-AylRYFu4K7PE zOTHec;kSRQJ_f1yj?v#2u1XV$l5es%|9zs?cHq5@s_Z}nX!|7S`&h8!Rg}7m9XHCl z<o?^IUVHAuD5jXIa#8(pqQBOF7^JZxPMIzlxDMYj1G*~x33H}?V9sbS@jiJP^Ha$E z<Kqe;YHX~TpOU%Pt=u%%{?blzJgigVfz^S?x>CQgQ3-w~kNM|#@fIZSoD33z7vYA! zl(BpjoGTlnYpC(wPe^B#Xezo-`xJ*>M3xc3Ojo+VUM>Ma{L!HmFH#~hM<RP%&{$Sh zj=;9VCRc%?8#moBl}S3`UHYWBc9k~94qle}-z)o>%j039BisINNEce5FL&PR90uuR z-6T6-R24b?`r2iz!G2bn=YB~naYdJx0%76`T<hjvQ5Oe6fw9e(r^|47P=vDa=j<ZG z2nyD)7p%gmVv*>N@Hxhv?IF@A2X%Z5lx6Bj70PTv3BC|#VrVf)0L-9emtZ5_p_8%A z$WIumy4B3#Q;4G;ad-1_VnCJ8BkvHdx*H3jNLeMaVIW^%Upz$0JhYKi4P3(UiL<pZ zG2Xot{i%WJ$=>_->JqYeswqtjQU1syGHIUCzfy-}$2mbJ$bGS_2$y;JaI7IP_gEWW z$!=biMI?d@z-%m5cL|>Egj$_tE)L);id|EZw(LKY%XO>@bA-}knnBGd7b^f4#F})f zI0ZGbzrUs@jhOwgLe&xZ)#gPQs-i)~NV{#yv3FadR+b|xVm{XYfKS5)zLxr(Ok^W- z5tz?J^ri1CB-p`j55S5-h8q=U9DixW0scXLe5C<69OtNN6ms>O-+Q#wa0%#pJZpoA zIvnvt=mhnIC*d;J4|*R>Ge)Q#voESdN%ns58_yGb80@;DP0e6qaC2;Pa+-eJVXH@| z(G;rXe1af~AqO@#OwU5R66TZyf(WXVEg~IX!06}!zVkhWTWrY1VIv0YIv!{e%^?L7 z)x|0W-*_yIfmLd_)>L{wr<HyUVkdQekYkiw4555()sq<_;;ZHDECmR?y-~mqUR#II z!;*K_U}2)}a+3G~D+@tn(!Kp#7OmezWHoDow#vt;0((1vO&G`3Fz#0EH_LyVC&cv> z56l>~HGpxqr>q=GGU2iiG%MA@gv+YG&}>icV7jH8&i<5_W@JA=OI)P2wIjDeA`fAx zc+)6Vbi9!Z4q~j-HASvNR2Be{Y=gudc<p355j!P{cIlV5>fTA#5h|s|gH)i>#S8aj z#Rm51XqWpFw?;CvkIHsvP7Fy&68(8EK~$g7kviq^+QpKRvQn19<Ss}9z;y4A{~pNk zGV+Ys{@DsD_-HNGOV-^FPc|Q<@!q+G$f9dN*x(yw@sHAvPdiLtjl%4F2YSWinQE!j ziFp=0bzagW(>P7dTwsw|Ze|*-bLm>HfGTG6(dNOg(UP*bWvs-!H<Z~Oie^JxX}7}h zQ0ylw3n=jg6TCBr9jPEZz~|PnZLRQ~7#OMy52?bcyR?qXw;IbHIq8))*<SpDy?o)9 z21gYaYA7LYp|4QqMnl=mTdb7KJ`hc+x`m^j-&)jcnB&3io64%rDqa7p$A9_#V*T*x zK@)mCsmyV$qhpCoF@2GT<5kwLBZ=nkjVJFQ2Q<>z1I=G2?4@Ryo5(iJdUMAlvhbYn z!bFkOfKwkao=(^f`#A*Wa79)y++g}wb5rBEak}d-1!dwMK#Zp)jyC0TA{DFz-s`71 zYT<*&V+Y2-J1VeD2ZJFn*mjrL);l_)IY)M=(C<fYM-OHj{WWF_gx3#{^_jiyYug7E zxn{^PI0%>0U>Gqz;C>wGj*lp|g!qr?`=xI4^q(f=>+`%n#(8w+V1h=(m`5QfTY{~7 z)0%hyf}{)skh&b<vB)7MNA#x<rcOfEZ@8zkEA>h8FM$)(?vGuUqF>(m=`qz!*hPBJ zv%(Jjvq)+0iR<89Zp`#u^qdcrVZEmZIBw<!mx{w|W~qdqZohs?R^@a9op2l^3H1{l zS7xki!}8H9QH`cKuDkb}xhD5x&gUt=aZ1K|y-=O+x$(|SQCD)wf7qUsgc@^5b10eO zRV+Mk+eulekWw8-sf*ID((LC5LgN<g9lSLF%;v<rxa&fwgwm)rGJ;Q*E$vJRL9j@3 z?Wvh!@{fO^buoKPT|Xp&ZSe0ir+rE2*MBYQpdY3cZG!Sq;?)|Ap(qY!cV>EAL!X~* zzQwGf;iq`m$jgeyyoW@8yjIC><Mp1y*26mon)_1|sW*px9}1%@Ked#}+s~18vdh)} zC#bt_WczWvxEfGFKi@-d%oMhlj3^0UB=ugF^u+jhqcsJ=6X}{*b|SykBNz4s{438` zpEE>jF4iW6J*LyQH&NIREKa>6OL<v~vrVHb*O1TtS>Afy&$gs2<_@HRMeI+qJt~3Q z$(&`gpqp?aYTj7gpoR*1p464yV?Ri6junINXP{qg>-h|IqKb4?M+<NJvV0pa%@FD( z{XnfK`qZ1h=y!#m1nJ`zdS{#4Dvn%emTl_Ir<yw>MOQZA11jyXPY^+%o;5R~vsld8 z4)Wo`=-t-w+*r=!UO3yKAa^PpfB5Spu82PK$6LOSOm?QwkX!ydlx%4Ht{KaRBzvU+ zEU{||s_^baLkTcOx)mj#wyd^hjN87bodS^@#@AyImipW=CW;M`vpU+2o`5D!I#16A zsQ=PvcKTmse#27yBNS|uvGbVW^Gs7xXV&zLv13Q2lDH#MPW*sl%MUvma{)fRKxiJa z0A#%^9r<6-1fRH+&{0|MpwC3401*gG>s4D!Gt7Vgu7SQ^LDBfFUYeq<hGMn&IX54G zDVE79uB}-`wJR%<ZoeB?Cpq3@-T2w#dhB31d~$jk+;3Ko6hDA>>vFv(r$sPy*t110 zb&uCvZ7{9pY|fnpB6oARl<3sg8je(|JN^+p4@*2nz#8S?3_@Gk;IcyV!I#y+EDtI- zFw~4aHekLo6<cja9m?B!M;G0fwj#*1TC5dAd^!4Qn?gC=kAabSN)nv=6jv=`(Nl<m z_!8P8x)q5LyvJklyL`Yq98yA<z0IA7mFnCNI4fXO<8h{I3bI9@2ZjeZq!+Unoah#Z zTBj%-6MYmutSS)w;vYGdiSdMrSWhl=H<kb!^S%k77}u5zu)zf3Ta4?j&a#8g_SK`b z@X0`2^~AY{&eB_K7s5xZ)TuL^NQnN;#?JY-HO2OVbq0^j3gPbfZcNuy8#!CJq8B7T zX1tSw22{rGr+zVvR4aSrcKa)7TA=J0s`VR}iqn^d-1~q^1%ZHneSgj^I1kNZ%d#(x zuOPv>f=T~6URSW-b%;*s(F5`%J(5(2`7!E-OUFX|^#S~)f}@MiATc_>*kW;ZR19DN z`zt~<2-!@r%nQx4Y?id21xtFJS2k>z=-pQy?w-^jQHpuUch}HI0RuT8w)`>fD^MrD zShmQ{7;9auaR>_e=nwce3-{DN131*W+J)0G`dNCj%@T!D`I6gA(skedZ9x&2J9@7C zes9hb+az5lH6Vrs%aYyMTO(MsDxe@(wyO~4JKWcM0|t`%&~DlKEz?-=#cU_GOHB#h z_7Yb+SkpiMQ(sy&@@@08e~(UBskDQtY0;G&7a1r&^SMAJ@Sj~XFCg%B#q)ed;9zjh z=^6G`XP+3}JNyVSFkBqETe$*Z(jtXYu_91n0)Z|`L9%CN{(*DWb;YsH7(o05(HzaK zEn)i6PfSD^KA2m_7|pGBWe&rMh3Fo?YFndZ-Pj%Y(!MoPImL)K6MM%^?y6zyZkZfF zMP8D$yjHN5Ei|aHVW`uagr6_Mfww$){lF!Lval_h-+MN-n_|h2Aj}yDx}3Nu1#ZsR zOzhqrvto70h%8HcDwqTfDSX-*SyA=tIw*&Dl(`S$!vdh6MEqo%V&Ky~q(6if{1%%` zyal;C)i}z1<LAlrm<WsQcFGN%T&KW@72E@~3|0AoHh6&=FcB!+KXsydyaryaF@FM^ z$BjB()Q9@}!dq?9eR4kXSvGqKIV}8X&lcfiTGmwog4&yHVwrMg2fUD}dJ_YvV!ITK z*4&(O$1oKlF8L^&d0^#zC}<&8y#mN_+}SM60T8Bh5sunNgv#HE4LF(<UPXtfZegG* zhzI^J-&@oTiB4CZdLJNyJ~Coo&jv?YctL;i)ev1=C9~zRI{-BrbXaX*Cc(-)K=S?a z+=W!Hr05sIFQTk(f!w!jxzNA;-9@PsluO77zET$kY(4d(84S-C;L>*VR;!zhY=D_` z3{D@F72Br!O2m|3A>&tPW)hZ||79zP0XAS^8XlJOGHnV?xye{zaMl#3I}Vi66vQIR zvm+vfzQ-~TXyHQHi>VyhQb>GWQsI;E6WL)yvTu$}%@e|(QXc3>I7C$^_fbu~KNbiR zc2u5~c1GT+BmQcC9xCddxh+vm3#a{#Y*Ww>D_wbq`_z14>;GRH4!XK-ZUD_VkFm7b z2~x--XCmMd%Zs3oGybI-gimr6;C(6CW-Snp%)6p3j%-~VB>9oCSwLMU=SH0-jx<Ui z=Z`{UCc%$BuIO3#mIA?sl;T-gQ_yIx#IGb;;-p<_><Y)1q<Ks5>jz&WIZEaA4O6Nx z3pLEzNdsu$e<(N*H?(N+@0weEHmX({9B)(zQ`BRbsHUWTc8!T5DnZWNcYo+Ov!Vyl zYFMtKVh%CENMGc&o4vL`?pg%&l>YC*o;r2qZ;j*n+RARy1$e~2bI^me0eEAR&#h<{ zAo6e;+Zuu?-y38dtU}DszMoL${y*MyJrIqD^Of1(8Qv<rR$A>O^D<E(>Z1ceiyVr9 zq08nK?B99-q?AJsOU;zf?4f2~mCxYfVO(C)RZ1eCbw08>gMH3YR!B2WR{#->nSFWK zW_t-In+bKlu9n$RzzIoZbj+MYCbPoW?^ugmzm)ni&vByvW9*9{qBDuV4S2OTOOsR_ zOWBK3LE!AaoWMF)QQ}6PivcPdVEdY}#CuM2$RmNOG#6Ik_hNHXxd?TPn<SoD^LwCQ zy#;Ba03G{`l9+C%2xo|&|6gItHQMj>s>Sso^wzo=FRue4yUY=j?8N*Ep6CS{;a&Hz zwZ{C9*iPXM8{irQIB(HX28D;>+>U9JE-T^&VAtVd{7AcE&DSX9S9gR4@os}f$Rb96 zZR$GBNEEYv8l}(+i9f^W`{Cf5Igm3wIdut_kLvGR?JCor_a}IiA3%m%7DZx3>Eq^O zC`TCR*#biQi55fH`~gM_|1Xei0QIBD&SnGY7>7*;y^NBhj<2($CIp2=YC1a1?l`iR z$(lfgJ<Th17nQC;e?b)fDl)f<ZD-`vu5MYm+c*cMm+8PUG%=skv&-!T`KGBJN`$fb z|EW?(A~?MM@xWwQkxbIz=|vVCWp5O2D9vJ3zQcg{fB5lVPH>suHySv7)oT~AKvGMw z0tR36b;s0bI@IXl`gds7HD7}`p7NSv=QnYZk8+#)5a6o>KfFJ7nTD#)O-wU{YexSI zl4DIQ{Z>*f7;i8UJ%eSOwyV~Ze5Fol8gR})`k{x8{aZQ_=z~Y(vJ(%!T}FYHNh<vR zWj7j31V`9A-YbW(oT_D2gsQ?8A8)uopG@7#n;wh6Oluoaw)&N8ch2cB#NIrK*d?YZ z)pBKtWOqr!zL#<87yP)RhmaOh&ias_$3N&_ZBa+7Ri{2T4a@0ha|{2Bw)g-A+<6FJ z5Va-&@P6tFD001w@&EFbNk|gK>?Y-9Dkbj(QzAS!($=cyEti;hb8*{^x9!BL`50O# zs+lMdJ(-(ZEXQL&GC<S}#U^kz0G*I)X}#HaF6F5BqF_&Mray$ZTI>a`jTUQ_6P#5v zsGcK+g{Dn9@S+2Wm(DRVA6gMRa%23=mR$7r9HyQ5|7a6sqtGY{Q+BHgbdSsT)SW+^ zriw<wM;c_a4dChISidB2o=^ty2(3n0kHY?Uam}r+e(T28Io})#cn(s9esy+`m>A(` zDsf)bNQ(FaF8x*LOJ6z>kRrtdTDF%LBc%kDwid8Ba=Y74p27VepN4<|jF)`v2)49J z^dqeeGXBEk6D>wF4~afe<ps||5%KYk#2gy3(@7TjS<@t`VwS8h$u#6zZ8lbMxxgF+ zmnM16EHOBFKvN@08G5sh2E6LvgZ;cY36=EehH0Xzv3TrsJz|%n2KLwH32k!F{}J`d zqJc4UiWzJR$p64hh`U?-3^A3zY<WQZpA|{tT_K=Ydf138J{KFTU|hdG1oZnBp}isR zb2IpL3-dGD9rEG5PQgL(xEqwoJ^L~wMHbxWL8GE|gMvoA#d`!v%b&aQaVxFQY9!t9 z%<o*kI^<jmKK}pP-eB<0x;H&rpbf{0et{!JFg3+YFH8+4$;>78C#)4)LMxEF2ufj~ zfm2=nY0{C;2uk?4p#Rxo)B3FN1x$e0hp2#W=#)`B)v^b10PzhPcpd4I0*Rf83O?bt zF!M_F%Dj-&;;0iI6MPsh2hC<pSpFZA{81<{hUZb|E$JUM537ECH3hvuiHvo#fm3bj zQROaW=0-oOrD|YdxY$Qb=}+}1B22+fAJZhf8$&K-2zJvvVS?QM=&fv|K!Qg0vA4Ga z1n0|A2Q@A&l{7}7v6<d!`XlB<t%EEPq)`hD;pl!)6m-9%d7u<iIgNy*xWr`5$d%g` z9@b?1AFB-`$<AxKHCxpf-+11vx!%lQ?P${<%wCn2EB@)uye(r--)o+AyU>x^6r6oI zd)!VKk3H=C-D$k{s6M*&a_HUpf^??5INDY1DtFXXFDFy6MgDtm$6fCF1RCKYZMWrz z6@FA!99L4V`Mk~cSFcYh)_;F(nmM!|&D@bhelvt7v>Wneurae~?$*-U_*o*t9X-&D zu2LxL=fzV&Hk1o|1Oo3QjY1qC@dOwGIv9%I0?ppSC4%;K!EVY;5g$wom3|uMjK0tY z6>fsFW=VlJ=8Mx*TepAzq}2$05XoC)068p3s9q~2E-(IYQK^tJa#}6MR(Zi7COexN znIfJ;T8LS}JzsH}H)d2C==yGyR8H2v9eec4g}Ys#>M}eR011{1hPQUtHu{PhI*$K` ztKgEBe44$l4#-TAyA?-bDi9o~DK4JpPvr-cb;BJDQ*V{^$h{R0eAR{fVM{Xj%-a|m zC#0FP7Hf2@AQlZ`6>4!H24m(`f5GBh5U_9*&LJ9*m7p=>MxT4nLEsnyop?JMcHh-~ z$Y4&DMVgOY7k^JwA7?i%elzy`{ZD)g#lm5#nLnhdZi-u4oCQmAu<Yq^%5ZH=T1%81 zSqq4Y);(1$Ggj6O3+)pj6J`C9JN3Yw2;ABI)@t?{ysP0h^9KVjrQclV6>Ge_l&k~; zALxsOSw+>#XL?$x<~4f+8^w)7aK_9-I5lIjEDub!GJd==6BixQfEm4xqZ?jrq3J&o zoRWUO6S8Mj`SH<3`V!EAdjkjo*oPS14zS~6fYNK--hU0DEUZ^`vb6nB`u`7;A*x>m z_({Hk$N^preO{|kW1!n-PYhfS(#~}tHmGBL&PgN~KuCP(tC{o%Yt;oOu~j0|U4ad1 z`<TeEa(2_R>(Jk$`TuUQkqHOXG%c#*ij@VPjZ3&$la<cCiLIvDiLBz8PaN@`FY{)F zqoE+U3_j_9%ln|#F@Bp4OEJPgO)|T_Me;;Z^x_Op^F%R5w!1Yd@tzfVuuMOjznC`p z07SvqTkp3VC%JEtZGby9sQh7E__h+1q3&DDTP+&e*Nocdc)X<s+|fKvwb&wjj64I` zco?W2jpSxl1g<Y7%Nem}=`=UCm7XY4sIlw?SOI;$|Kk3D$5$`4NOe~11cP<p4nx<k zo;H8+4%}4(>-qe0nHn7=c89u0H}BUH@dn=oqcK<uYSST&t)7Io2vDtyVT;-SCMxo@ z&u)0XHlM7yTjRN|be=(Ox_yjVU}hNB#}1s5xMkv=0cGk=(?o_@fBMHTH5^vEluQ>* zf`eWcg-fjjNlDnx@5r6VV?F&z%PyCZ4l5Wh^{aPa%5<-9fbn4hxvr}zcXQjzO$r`h zNZz+;SLw4E=+LNNfDvd4u$h}<jk%PYI5a=GLHyTFkXUjixS{`vPtxOxw3!hz2%6}; zc1{vw?k=2G=n|IVS_HV_8w0=l@F8<!B;=I&EbPzPlZkNWc#f1rkQi}gieejV<*%fc zOSj<;Cwm~Fee8{)CQx7kvtVA&VjJZrA@H}n2(tA*ytgr5^@;LYu&<Y3R$?ymN}8Nc zVCOp4Pv6QM(IXn#e@+H)qNRvW7YD=nS^{~FjV&;ibr38)a(*LC($S^7iqK1DpfLn! zD5iu(nHbBhOUp)a+tUSUb{46C&*UgqwpatKxvHtB4;5awU{P6s#QxVBhG+$)C<mbX z2f=0QMADF68%x>z1j_x;Xl{zY@PJ|%+~Gv0xi&xBohfIaNZ?a5r9ZgKm_R`!(-YdH zBA8Zrq{hhn7t6|cG{@(W7OnMjX8hV;iH$v3nY;4vC9!G61z1vg9)=og>y~;>QFj>K zN(_+J%1_>Lc42tn<*JJM$EVfkEdWHmTo%GA>=i^#@JH?~0gEa7ybDjuh5NoII5b73 zY5Ut?c2*e+PigfO>ZT7I9N#WEuD@DBA{7d^=5eMM`ip)rF_8Z9740TTZX=&L^*|<^ z@m?;o;Kz?(N}o7*BUdcKoG|yhV-x6_<$52YN7EmQcIu^Az?SUoZZ`?u%Y~15HK22i zgjbDtBgc5+w16@o<_zBb!dSMa9^+&{xwL59#o?OlSfpyhSZ;<V*cnrbj$W3IlK9T^ zjbz}QB9Wp<Ch!PJ1o+7Wr3N^EUOssy5k)3RQSxoIBIAwLu;y@T*jZ70>6*tpF^e=3 zFL3_yxZ@%6Lrmc3U2z^k$)>W9MXauu;4M;d(eoI+Ji!}kXKYTQ8}n(17Gn0`ojryQ zarRnl0T-OM_;ogQFqM!P-{<jLz3U@EXZuhf4toT7?V%mpVnIbkw=9$2o;xMtF3EvE zaFU=DdpOKu%sXU1fZLIiT*lhSImwZm@FeIU^2kI-;9uhrN6o&IemoO~PB1{x8vx*+ z=>Bk>6HWN8O+$?3yq1?6?;g!lktA}^@!SBKtsJQ2#9$m}Z;d?!@lOr-=7z`8n+rCK z;T<TF;_{^;b+f>YXI3cgY7=HKz*PJhv}G0uo4|IxdSQP4x7tA3A^oG7MUbL-Tlvgt z)3#mM6lUMP5rbt9h#Evdg;$YP=<@q+0;84EyLpyad!&E^jM}n_Z`g2hfva(>CY^;$ zItk>*f>?+j(r&`=Y)-br6IjRBe^Ej%4D2x!1`k#v<fD`%`Ml?*5+KeF9OPdw^s-X_ zZEC3HM1n&YQGWTZ7m5m&(lgowT0jW^$ERk5p=`k^IGl;fG#(K28AaQ+hK2euxDFX6 z{+;!g>^?}-JLTA><f@QX#gx9C6K~DO-(`89zmvr_y~}C};hItzw|ZUJ(&1inF7B(; z&!d%;I~(+d-B7a+2+K$R*We;blxJJ}NPD<MrIVfKAaJB4siv32ZE?z5DxikCKA7K9 zt&7Gvysb;LEl28D^&N!4iu5qj5@w(Q7t|q6zp|bIVtf?SQQWlTZ)q-Pbz$F2>b~+U z{5iSUL6FH;b2J5`_AxfoB<W;$zALN{FYz4wE@7dgZS?{DP)NbN!P}mc_NyK1{7^R9 za!yjiHb~Uw`%W|;4W0j8)*|dN4QD!4_X^K^eLL1(|9#b-HMXw0*nBqqxK{b4_j^r4 zET8tu$*&X7Wv^48_6@Ixrj6r{tONJwVYo9VYB>-5eG~%Zs$c|PqtA_1`e_41Jdyis zf%}_HM?hZts22m%G}0+g@jOFO^#WN5^avg)jq;;~{WzJ@_R5e6EvMhvjMvidTt@lG zOv_o2vnTNU8<}*z!ALXbc+e43@F!29pE4@m@mjb=#Oad<hzi$~@##XD6N_Jd=qk*D zV+ge0_PB}EtF4b4zL^lHo^8K?LNcQ?FD9#hY(!2*9tneBxc1(t042D_o8=1TQCwxa zvUls~kt&?UoWg3ma!`6&mm2Hjxq<H0wrXDGx%jw?y}!2Lbtd?B@V1|MF}UiQ<weHd z(fGX4Tfb5!;L0!X;m7`2);$~9#pQYeU-La#d$=fxMj;h>PhPTx9}zV^FmH!<uxKeX z8qx3D4!C|kM_Y`6Y}^Uz&V?B}qe5*((2NZ^j7&A4GZg7J{cRhs(qj<00pbPQv9QdX ztmtY=*RRkOUe~)1VLa_}49{I3q;R@T(6=WMuQ$mO@eOU%_nW2jO_;T=W_-%%6wH!! zPcZx7B*fJ)fhW*oC0(rE>;w@Mx+WLrNm?8Ve8pJVJANV$>TDP6`1t)iB$~K8+Z?6S zrwN0R742p%#3wSMMQc>((xHV%<l}B&=Gryz`0gj_lXJ_$#E~HODAxfN+fBkZmN%aZ zuhflzmG0Nu7r{sYc+V}n(Ylq%lFTTUFYpkO_nI_1!{~Nf>wKPb^!O7(lZvg}48`2! zz`<h9s?hi0So)4g0DRFFWN3pOmSZmT(>!=<TZGr8%Tn9a`J>y1hl=l(QdyS-D<9H~ z(@AlPM#~lH^am6w@I;i4c65#hG4{3JX^&ZZaMm5>JsRtMQkcGdi4J_J<2n=$PO!&M zc1SnC#6b0FjM+1oqIz9e71KZt^u4rcjTN=yzUMe>8XX-!ORS*KKseM|IjdOitJ~Ar zAg4tGBd0N}qkOT-bZ~ezmcFMNymIty>~Ic?x{D<KRe5gSABo{JnS9{c(Ej$PYWnk} z{XNysb|<fn`j@8*FYJ_)ej7Vwz<lqtk*f>6TW9EFt%Li<a0c_2G*K^0Q+zW@^}DrM zVUUamRIUc1)Zi1rTG)r$#=0E^3DOXryfNrXiyPQdecc?lzczFYmWCWjex{{>9l6~v zxuN>>?1!JRQCL`NdnXF<HthI^&#}gT{f2*1cOEcOyk;6ig(!1&(uoL<XJJ>sW%_db ztQDpo1U2){=7H2@P9XHwc|$mPWte+$M8txdKWAZ;Afm`do&ysLD^Jlqyz1+ZMgf(x zxg`t+t;q|7VlC8rGu_PW(^G=z9n06(lV0MG`KAj*zjdub-;VZ-$$tiE6HeHaMw}O^ zn->r3nS|GdF1|ulCxZe_H=Z!-nCJE0IxX#i<}->>z?fFk-{&Xt!mb8^n6FCv29L*I ziJVDP#kcS*u%_wk>5J}g0-fluOC*3?Ahfr9q-+X?hwH}_7nWcD%%leR){cUYIbsrp z=;TnJ<3#Thf`CW~v?wZAQes>ErfR=<PM93(>(UE9w?XRa_z-V&@BroyHXms?FM^gW z=4lX}uf(eAcs<yD=yXT`<BW0HAF9G=8O8fkXKd?mI^ogQ>wm#Rv9Y0pZXAdGCckfe zL~a-;7oJ%1TL~d}_G1(!M{G?wquK<uoH2yITCPhCpAl}#g7PP^_Iy7m7Nz|X)F(@x zywG4C(R<umZ7TQR{&MRk-*O?ur1M&V%=c4sBYDrx@xUwf_4@QOD}j%<UfB@J&VtAI znpGXuiapP36kMvx_c>th*Ph`trjGk+yX>WCXq+&*_@2l)oY>ag#;19~@M@{^_SN>2 zU$wltfP-Zb)U-@ZBIhf;u?N9Du1<O6k)vI~8Dq9X7j1rpHYGYvkt!}!%IkHQO@*Ca zhB?6JSC>q&Pkb`*O7IB2V|KV!)B|iDMehdUkM>J6!%J{{C>G!!OjxaRZVtVNzp)qy zu4}_NbN>OyUxKUERK2tFXwF$`V$c$4Lm;wpPxkOd9<HM~+0muhYsF-7e9_zWqli^) z9+UFL#*}GR8<DfHQfCn9>eDn!LBM%;MOA)hXn5oof%XFvtobWgb^5_V1`|GsRChgM z*>_4dzrmpB8e=T13LlKaTLmn46+riqioxm!8!1%K#z(IFoW$Um6;)-9cqgh$A3GUD zCBO1wG}L4pFljchn->{*v~3i!ptwJ_$H7h$Ilw;&&?J;55S}0$PIs7QKfD<yPG)5c z?3B^Zv~ ?P=L^<i*@1kqrD+gcE-GZlrioB<Q4fdE*rB5E=P!$Lojdy(P>f{^-h9 zWDM@#MP%=Z0DBJk&KcQN{|Nv(`V9AUcs88%=?PMM7U*LVHwMAmWzj!%I1DNtJ$TdB zJ9lC*uR8a_u0wHJu+W5dJYU_mt}?G;LibFBgGIkGC#swlc;a@Tjhh(HvngGs6_t5t zl~bHomYwuQxAie$AyIJQ5-;GXa`aI2HNDOL9^zaFHHsQXm;Q6EALu3|4MWN%mPq(` z{z4x<H8Z?Sb4gr=tu#R$sATf!E{D#va!aL5Oba)GEB(6fVgz+nxtCG9m0geA_!h=V zzL~$Z_mC7{%gfZc!sedZ6&Wb{<;B(GEq}xZqm`FcZxtJQpT^1{!h9|k{OG|E*bdtO z_fDpun&#rES~{4D@E-F%Vfzs}dbHj|_b+loZ#6Ik=8Aofc(bOGt+d}(um%tH<;aGE zmLob%)S)cwJr+w`mTo;`m4pncGn|Wz(Uhxe<g(j*a853gP2|60u=X@)xIF7R5GOGY zL9uq(-NxBEG%rAE;T8|%Rk7gcu;eyYpc`JxNY}X3MfIGyuZ=XGv4E<jAiz{~t&YVS zIDEzBBaT|5pI5*ytp}Y_GmFc(pD5M-efFmQfb=jDu=w94v+@F#(-zPrWS`jG-?uY+ zd;LE|=KLO6G6aVz!#3h?d(OM3Qda7O2+<ftPV_Q(;hlBvygCR)=<;=0uzBn*lKO7- z7}sCO%__T)MK%~jpQC%`7+cUGE5qIqeK{GSTa6(G#D%g#RwlE5R&<#$|EA4HS82;P zLI3=v68m~0H=~1zY^_{j(gbZZC}Fbt%E%PCpIAOcZnoMPpq2{QNZdTwqenF|r<jjS zd#;@S)nX2)SmJe4yNL;myguHR>1ALH1Y{B*7pbQ<)MfxPAp&P{^k-44>$2Z8$Y@IX zsf!XdHMIjZ<-)gZUGjdNadUv+p1Nsbyol@9M<G?`=4Hf?3ug)$r<OHY#p|7v(W6se zKfTfIb(eMuhtmRk6F=c^<Vs$DuR(`#RW$d?-iN|&lwJroYgM~UjHF#_h_KWp4-!Q; zg~_LasYIGy$Xc*G{&}Y;ipq<13Y6~Tp{T{qabi_qGra4cKqcXwMaCW{oY&!DE<}Du zNZ#aGEWe<s&$vANxuSlAmr!F{MeRK<7He&(clsJxH?j}(ztD6HvBW&ueaX3NKT!Rb zWpC6~YuejJ^5ZTR?Y-h55lMDZd@)5bhM%v!U+3!zhG&hg-p372#uPaI&qi)CgVBFF zJ7=)3bVvF|owNID@R!^?V9iE#;xNOMIvuA5WD#>pTI$EljK)rQb2okGyA<AY^^|Kb zca><y`^>QoDCB)Y4odg^vv-dfVxMcw9<6I_H}OBF4+DKiU!=aypRtQ2vzc7|hU^T} zdo3d_6XhUIX#&$#`OW_D=KOW0%Iwif($o{i+e-i?`NZT;#`jaY#v!XU&PW<TXZC29 zE@O_N5G$zcHm{7=_y!+uTBWH|yg4TJ$R|qLhCrVs_v9IA>wrjcS0_!k%O$~6XSTyo z<iqQet}@Xg(I{fj&o*ob*}AQEYw4vkA!o(NwV8)Ub*!FuLpI6}qMPncr%=>g7OVv= z);p2c1C6V-6CDTp3rX8a$sPfk!?Jy~cCWZ<!BM(a-u4-wWd6tihf)aVWE&`^rdP&g zh*k>8;a@twrExpzl(n27&St4xAj|rC04|-rD#mK3$HeT+1^vLxOXr^t3_Kb#;Ydk^ zN2t;TpgYn<n0dv4$l+-kqc-WVOo|at;Sn|}#_|=9@)h<>)V(?tU%U_YQq`yGU&mEE zi7W9zvwP)FX9(z@Zl7U*9698zF>*({XaC|n84nKX%IMEhe6^N|v@H5p`1jf%oU<YH z`8`<I=+1AIYI&Dz@@}f>BBb}(#ueZBwldPx12)b=uzAgmBl|Fr8<m}SUlh8wtou$l zZ<B|c1jnkPoFts^cs;WDJS;{XdjfLYi^E{31QjPKZ!o}Y5}M)a)5k3e+e{_>ZI1iC zbszULrjS_rm&!l}O2#j-S>=VeJ#jxsKl@M%8KWu6ZTF8sT)uLF`9>VxjzT>q1kR>9 ziw<W^vE5{xwlOS<r<M=O8yE6FEqwbb2Lmj4Mf6{72nXvpg#Nzh*=ujSV^Lgc)-RYi z?w=E~Pmeo3?tg{rSmf0H+!1hgD@0FJNtZUcP91u{BYp7>{CQ{nzWr1n&D{gL>Kp;g zpQdaI&C0Hl(VHi^)aHxXaIa9Q&I*lb2T;-@C6eifS=Lji+yptsmiIRb<H*t-Z<pyO zE>F3)*1*}YSdi?YKYCal9ueTU-Vl6}mm(K;I8_eSZtxK9u<eZ9K}Z~2I1F)UFn9Se z;hd!8wN9P=$c5}*4Omx`1%}&U@V6S|PipsXK&tPRV0r=_j3;5tCv9SNk50no)rhhr zkqsJ<dJ_NEWJgS7prHOgZ{@Lu=l9w0{4hCVyb->QUe_w(Yb2X@Rm@M<Nii$HVOt^7 z35i?A6@T)Im-0SrMa6qjoe^_{)eFZ`;Upv^UF><YZ5ad4ZEW=;?>cc%c@AfbA|A}h zL*QcxD5uZlD%4cr7}xTbi71_$J)5b=>vC5{ih>jO%9HXz0;oXeHdpP)QMZlolNG(| z0`LO&`KaW1LcbNsddU7^*i;#LPASUuW`Td{)`O+F?*RbTobUJQ1v^c~3}x>FN2dvz z(8f0A?DOhOxmPw2+=sohd*dsU@3UqZA1AZ&d6jWl^v?(@omG0{C+<+?N9queN59-0 z3-e}gWC#(UUZBcfQFgbn03U^d^nC7zUla+E<J8A4WDTIz{e0jC4<WQjt5o{LvH@Ri zCHsBoN72G!%S3r`Z3@2;S+@g1c5W{feK<oQoyM}~Nimg@zlWI0L$h|tAc68PfRs>s zMSjQqF;<ybx)3KWR4xA@5AhDZ*!=4`JT06z0cZ0(=(7&%AZ%liLcXpZZe)BK3)o*n zx;gd0tkK=@Jjnd1(-Vb#;hsgzQ+Ylju%CJVsh=;B`s4GXFI>mBb575AeY<6w>`ya+ z|3ZAu!$~^6sO@4*57hNO!vf_4&61$({)b^nBpH2K5b_7ZFmAE<=eqZ4tkZr#JK1wz z@NY0z;yc#@4Zu(0$IGG9t)Y+R0{j3>n@02|O*t)>x-8MI_v!w24gPW#v(w3R6{e;F zCfwGy0tle4R42WHM>*RDu86hXHOw}xARp+wcVOif2H@Z3$}OS-?s_P2nqcJoPf0BN zVF$u9q1VAJ;p7tRgh<a6tnYyLtorj>=Y^fN(d&iqoV`ZZdHN2@``@;~Oy?RHk@U7r zTv}Fi=GQT{XOyIC{{H(n*dXg8<?_bxAiG%Jh+uvF5a!oKgL%w8kOKNuQpmsgUt{<W zqwwyR@+6$#i=n+jyk7bDja@iNG$1;U_CNVmLHw_r)oMTeogZCpC|f5TE=2e{r!~;l zV__GnL09h=oXjAvJ2o=?FJrPNcb?gqr<|QOA6@L%gjauG<D3~`Kk&FTVW+E{KE&rj zY>HI5F516Ut_WSfl&~T+o_Dbo(t)&O_?$8+FeM`3A!0$xMpT*K44`sP?D@LE8|l?- zMwM|NW7REm*=LQv1mz0(RYsJ_j*bLkAZ_T?@mLA`620{o#@rGgo;6I2>jQ$WzUsoW zYwpEuRatw&&@n5v!)Ka+BRzZ*>y1O#vPkjm%?*vtNGP`|oj2jyEUIG2IGW2+n}yk` z&zyVSV>t)f_w=m*e5~u&ZiBq*V*dE%K<DnYu=0<_KAbrA7g4H5KG^3nR%w}r2!k&B zW}UWj@Sphx)P+|=F8e<rRhF{00h7PX%~3VcrRR38h}HPj7PFL_Jded$L@Adj^S~;V zpWT&j!hsXCPc@i+EEqs5XPbIaE7v5#IL{{<^?h6v-(_q2>!Jzz&oLn5#k$^oK4V(u z8-4NPFAe4-(KKr9-xngbeL?+x=qGUgemtVR#&>=0pniHv;D?PWqSeeu6^)@~DU9@& z89DZ`kN~zlB%Cf+6h#N%Cv0qg8u*Xe`R6XKiRSmn(iY!w>H&ei4_-@Mu~1|_pm%!` zA_Or|Gv_F=Y;W)His|UbfS-Rf%=o;xel|*a4{$$lK~aA%-pX%TCJsQ}8*lOK(vk@$ z>>3atq<_=g3zp03yF{>KXhhKQdP@j#;cga+@~Z4Z6w38fH0jVagor+$$rv}DHI!UH z1TBsnIUqWGK{2Hte@NXu>6rr7be(snZNYZyv+<dW|I1*VUNDmWE(r>VwSfb{JSzfJ zWHCc+r0V7J+qb#jj@x*Cfivv)GVc|NKC4lSp+#%ZL><avlu$?a#?b*lsvilwU8n2_ zS%hZqjWETctKjCH&C0*T1J<O7QJKYQa#d$A<}s7LULiH1?bBms>J-~Aq_93Bh?i9v zjtLk34fc0$?~Zu?kSxswiy86F-wmll;0Lxwc&HdlOtNBH!NRnRuZ|f@xl+rL<?oiY zmxhW7y#o8O8-Z*>`kAVym*`etMwcmL!j0eDNlHl?H!DKZ93z!Cu=L0G+WLVsGd8fP z<!PrirY&fUU1x(zK5q&DPy{-ol(C^HV?{LNU?^-JKvHQODFjk9vwbX(IVV^wghdzx z!(Sz}6oYKJ(qYv!qs|uzl2&Cb%132bAT$2c4#0t50sYqQJkwXsufh7llloa5#d_U& zyFnQ(*O7I57SqMbP6V?WwGS3g&K_Bo{RjGQZ%iqy2RqD@Fh81s`t^s^TDO{GxFD#W z_MveQelBV_6YUBgS7TWDr(Fij#8kIR=Pj}5zpZmb!x=11PNU7pquum`ipyY5)noUY z2_4iN8gKEQZjW046@iBrGbOH+`v>HPeK{5>;JahBDqRiOrtEGyIr(4A8Vd6#x$i{K zCwAlE^U^3^EHm<0C`%bdgAR^1%u_<t(>vSgvmOFldzzW>z7Rtiu&C0~LJHV{jHjoc zY)>{J9)$zjU&s5bEzXz`Xqc>3l#y)ceaybZxrY8YVsx-c@uU8VN{H9R*=>(0X+({w zzVd+|v;5axMTQ|Wd;E8y!Xy@JG469=jRM_afC$VArtv><QMx+f=|%F%%PmIrN}cWx z*Hn4CiT&7<ojR@W-%Wfo91$I>k895_`77AS3v)xXU~qG6Rr1QM(c|$$xym70?r~;i z`=V)OYzU5pa=n2i##a<aZbY>*#$KS8MsU1nkcO3ApJZy5%L6Guiubva*%?@c5HQ6f z^DdC~kw$%!0e=x~9o1AE5X})UGFu2LA<KzoQ$vd|umrnMcSfDfG$oEzx4wQ4rH>5S zsdzEB<)L)dJ+R|}**;#?)#-9Nr9K1k%9MD&6QFY12#<wRKhCV$-HBCUH6#jjDzMX^ z@Uv)>k8yLOT_S}8((-F0W>lssGCw2Du#Ke6l+)EAe#*aRY-mCn)i38ITq4s1RmGyc zqZ3;d9*aw;?Wq-SBMSQPB|F+ef7?;Sa308UCT7++g&|Kr-klM*J}b-H*wsW6Onr~* z`;?r%Cci(u2oR|nGtzV<>6HJgK}_hlc{DdltF%DcO$<r6Y?l#pd2LR9@q2tmg`0kP z8f#_tQQ&U7xLS<71pjtulTOI_TsliH0i<Fa*Wp=|)QId4qv0g?VBd+LXCcl{6LH1$ zI*<Em;4&>IS6jW)$M$rFA1;^UB)9s#nqx)h9UEFnkImk#i)BVf(Ys++PIz|YDOc~v zT=t`%GNjm*qI6Hz4?@q0JU3R1q-A!ZK=<4OZ<yXcta;$XantST_*4a#nnkAeg<0HQ zt&ofTaCI9+B+J7sGAFakH>;={Pvk^Yo`oGPmatM=R5O@$J{V9`N?{NbB;98r5qA@@ z9=D~jx$7Q6xa5vm@lF7hZokH@s%0G_NFU2rT6GgFWyA3eilMaO7T`fbPx}q!gBTd! z(Hat_D)UD(pCK57i3BEUcr1{=0t7gJIl}z6oVN};8u3I(3iOC@JR1bdo9&Z$|GIHT z3k#1vsuKq=%fcGZpeIp<X`*xs(%TEan><v!0Z#I@Qdgoy>J{>P_9(X!p9tY}Pw-KR zU4VlrD;y*Pq=p|gvwSq;k)yKE639MTqtlqD22t994ES1&putDh)wG<&z=L?5cHDUT z964h)&>S9rTN*05WV>47mkO*NVcfqSY=@I|WN!B***77+do(>T2M$z7QXXUG&dAB} z7QMq9C!(Htmy{Vay@O1<Ye*7ZZSQbnAGzH(?acihBvUk!JPAW9`tMya%8jJ(?Wdd= zj%TA(e^JJ?Bi)ihQ4#O=np4dyBfpB7bZfywVMbo{4f4bmQ@NB4l~^bEKV?Uk{_MK7 z<4%Jb-!%jkc}D4j`oO3(sO|;Kv%S@YmX%x87ACMu=3Bw2g)2XtXU4U-ENLQj)r5l! zEi|c)3-Hg=qj_zDLRTV+gxGocS!E)5#&w1rT+`RJ07NxL()$?UiuPGd38RmZBzPhe zKzC;%(sQ{b5sW>)=r3x<4a7oHy7+WMystqa0VR!=8JdDX`M}VqE8qa45b^MkkQiso zr&4e+F?wErh_kD0aggZ(41ui_{o>ch4(AC6v(pKWOxAzP+v{4XaxXodHXl`Iwbclm z$Xl-zMYn*WcH(^%E{<wtKXfjCQ}0-A*q`?U+bmWx_cWYHm~^jRmg-8F){}#Wwl^aj z(MK)JDy)*1zc&j-^hAqj=OCfi3M!T$uX*EUIf2>}&`~xjg9f;minphKt(Je7*hS9+ zewAAttE}1n&5!<>WimPvmSQg{EUdUN|LcPn2oU5n7iDJ7TG4>5$IQq+k@4tZI2$cm zWVg6&<KRF#f&KGYPX4n40(gABm3XyoIZYaGj&MA2B@Je^N@?+Dlav<qnN8WS(egnw z>>dul)49e8*73-9S1~S=Wjxw$bo5^d5*JN>AN+3^=Kdq<h)ksxEcR+I>hDfoSErHM zB%Ub!JGVL?@8;TZ6&{)$EQ%d&oN?VNOS+9}6~pT(;-Y8HiKirdNSt@;VhFYH-m7*$ zboGI%S@x#))hK0wy?*#Wn|o~)68kiC`XhzGlBkhJ2*9SNQek;>TWn3w#I%r|Uw|`6 zm0W9tW3U0Dg0XJVD!PhVG{tzb(7RZ!F5FgE(TB4_yn1o84d$?!>rI@JbE4bz%foHR zo-#)?45o4aZwwX8rfme`^G%s@E{nNNTX?5u&e6kzyKZ~I!wfcTt8C9yYGYwkJnNJ9 zZ)r@{w>sx=YW72|lfb>Qow7Y(+$+9(j}bwF+A*c!2q}M2{%8++X3%SdL=OaYd>d6t zqF6V0*uE?=S_e&Ei75&=J@e<<e@R-`N#PU7<};VeXU*$!!!{53q)64-VX=hkjNvNh z-alJzP(9cUT`-UwcaZl0*$k@CJ96<@d&jABCwjnyrTCsCG)a_BuKjnv>J_(HdZz0b zOH9<(AZK|M^v7_24G{S?vFEsCvtCpWg+Nl4N|{KlA~#N!cljQK<)O0fsGmti<eE<o zC#QdWJl=MVUaCM+eTP2@#ls1CU2P;g=PIuKH3;Y^{S*1MT}SJKPPCdxXxG^POFK`2 z^$gp=mL|%Ghhs_l<D^fzj<#!$S4|_3+w#Jte{_WNW`KWG1xw)->nthXnQ&?GpFJ9v zDv~hlzLDMhrxYg$8^qve@*Y0_BMaW;-Zbi!$|KMyuw+&($A6N^l^OEYL>&oJ{vBpu z`3Y+Q#j*+iU7*YZ6sK0=!P1xD)#tWFo(NT&AfC-GCdc*6a;bj-7iQu*Sxt7aeCq4{ zHj1~r{sJrgRN?Dei-~;~y1C5<yuCB|&T7KV4GZ<pYfX}RvN>m&e$MO!1P#(Awx=cJ zNLHcpU^);`de>1JGxFkxKaxZT@F1f!=OMX+q;<Q_ihBN5TF8aBe$7Kaf|jnolQE={ zqK-lE9|%Q`wrc8szf2FV<jP`XRok96uD=|@&^h|ibLD^E#w%#QLsit;8ValL4$Pq& zZ&!VdZm><7)F(<R|J}7_zrxI+9XH3C5;k*l^SfmIo*i@Ix|l}9K>gF5J6y7q=u#I* zokz6<5`N?28<1d5u29%iEll_0%8BB10CRZ_qfvCc(78QgQpyLu`s?>^>>zAZ4JozS z)yL6+PZ867)HkH(bVWJ@*Qeiteb~XbAZ8HJ&A|fXHifPU)6drgBVDk8lvUplGVswO zIPCNO1^tyUJ2*ku<6D~urU@0vq(DNvymi90=#=nwJLyOZe2+MJef4W3kTHukKP<2M zkT4)im1I#61~%Y{McR|fl&=*gDdVvmhdc)XOnGg3=l0Jvh|%Vw>3Nt|iia%;5ji!L zrdbdnUj$%Iu1D}U`u{Bk025QAcdY|9xW}O%AamTq#11Z3J|kkHNA4OoMM-)!gj-%J zluf;`{a2hC&b>bv5zK@9wb7dhmn;1iLy&N+VGl)>Fn9ZrV&1q1cpW+*pDy@mDIg^( zfrI}0XIc%bFQYbc5y1?~;@rS9;pj@Ml=Uaq5_n-)zxgBA;m0g;kvD$0Cw5uV+%d=x z%Daa8TKYqAo4)H=x=pk|VJ<l3@)OPIGnLdXZaFL4tAO_}_8UALFQ40r(?c=mxiC?J zOB|@ZlS2;oBR!Bj&W&bR3==t$Q@5y#!w|E2hy*OoX!V3-ZZ)LxqU7oV4qH@F;q%oy zaY;ido@W!RO4S*tVXhJEfPeoj$8Xr@H(Ydvnagpd56loa1pHPr#hX!vFfWx#Y3?V{ z2Eg3y3I6j=hfNMosqTMhdJBfOwzg{*cXuf6uE909yK8ZGr$C{>T}$!cZiPbe;>Cj$ zm*Nh^9ZvT1z2_&aWUV=G8RHt<39cw{gR7W5Ck@Kipf%w=KlGcfs5^E|7n;5ZtL#-h z`}-$t_<edO2u@rk+K>>742~uP#2$l=cQ})^XTbqLy=->ylOHi~){^GyYF{+cD<a^~ zqTsIp^xNTa;1rj$_bDk){A-DuNbs?6+}kt9zG^kc(2(EybEDDWv_OzoVIQ3sFBOCv zm5@8;<}aaenKbkDlWst%R@xaB_H9N8UMphk1S9MN%VVXPdsp!Ig9tq(qZ7T%bGu26 z69KhPh{}m@cB*jdlP`bN?FW<Aqo?_|sE^NcTiXx3|Lcejdq=<wXxIzYu)-Gj7&%Uw zk=h*8>Ye@Z-vUdVlI>IkfUbTqml5X>Q=%jVIN{-mMY1ijJ28i`P5OxaRahrqp0X%u zhS}q31wPi_hF0#)EH7-jT<0gg)t7NYeNVv>$8&4)f3_S#|NL|!(>9>Uuv{*GaZ+Xh zn*W7zMx>y|94L0~g2zE|SkpKhS^j%n-$$m2MP~mc;#LGpAeJ#%&NIQ_lEdf(4(niv zH->Wt4hL<MrRJwd5OSsP5!Nq4GK_Wt{nSZIGD}Jx@~&S@Via?CduYH8EShQ%kxfX_ z_wLbSz;XbAW{0Ef?h@j-pXr$FL;+Je^#1<u2iUQP%p$;a^y<?jIh$*5AJ<u?^kY)S zwMv%Z>C(y0eYMg+Nrc&FZoDCjZlGpe=yc%WXbH;I1X?mID?g5t0ZA%Oz4yL3qwY|` zNMN-7Y$j8Il7mWUhb<q5G+sG;P?0f=OGXB)6utpl&yOi17cmlf%a!66p^&EkEEDMv z@aRI=^ND`vpr_0OyO0|jfm1ZDs7{y!7_RxtKx5RcG`9ANrzc5YD$kvxq0>%_jfmcu z8X9X%+VdCDUo6Ez$VD6;0b5Le&t=YP%Bf}inVnCYxe@4N1zW!PaXNsZcCHNnR- zu?fFe|DUp17$l%?wT0)ANrH=`T-cs&2trC^kxq`&q!BF84zI>z{cwawVAHm<jl(OX za++Hm?+O^krH!do|5VAe9%(RD<Z<d{*G$Pe@)}gmu{D>0m*r;Mzz4B6_5dhT7H!Gi zMSpPP`Dr7MV-rnij>(CI(VQX*X?*_(fok_)UI8R6n#;{n)0#P|j71BuCCeWsMAenD z${YEoaLa&F{WkV<%8?txXvks%K+wX^hY>?&^2^~qa*0RWVi6VsEVWud5*;L9l?KBd zb#xeSNuZu~_=g#H9Uw+<bD&?b2q4FN=gtCGsg_|;*aqM|-4Q^fJo-QS5(2<M=QwXa zL3t_#1abBNpd;wA4hSrW5O|UwQ^ElZ;<ZxaJ#~}@c*-c3qoj6!qE8(oxiY@!HYJV? z`Q#L0>=Wd~^bydW^EiAPtZ8+WH&a{y8`z4&3J6u;avdXNVaxz>T!Rx@XJE=`<4epm z#6mJvse9i4PgTE*vGVCIg7!<8`516C!kmNv<Ka}@TDckBaWalughtga_)hvl=&-mp zika!tPvglZ60+H~$~7D-k#$i+lzXYi8j+)OZTW~1RL8^&><!U3jF7g_wrv_3ny^@$ zm466~X8kQ(XRHMOrdCHNfn2gK&z~v77RINqE*=kq-tz@cl7;?lzgSOM{SQ;dH37~P zBVAw+f}DDN_=SRQXv*O*Z$~kA8eEqmoojaNnoX?F#8(-hY>i!{+yY1^I@c)Uh*#2b zWR8L5_Y&9nh$ketMmdH%Zb+;PL{8|;c^;BOvK_Eus1qhr6AD@f|B6sAAfiwD_fPEb zC!6$57mVAUC3VMw#7}H!JO+itMhgY|=jZu>UU7E4tcLSt79giy>w0fKhvfFQ_x;>v z5peT<A@t#R6^bFPhO$7p==({_79!miJf1P70G!-q>{!wYxaM?#UdakSgCc2nv{y|q z*F*c&3rbBd9zBWNSa)NTn$A9@wQS!6D?uH>RicpaSQ*Y<>TQbn_N8X!ogI?vFE_d! z;ebz?&yV`@axKm7bWg^(I>#ryW)wRT7$Wz7Pmu#Kzcn~L?ry-iCWN&~__XIiB{ohx z(`TZ4_REnotJp7oj?c|!orQ0HNU!N)L1Cei(0h*80pHk38*3RBL*Prf?^L*3ua+Ag zZzj$VQeazA`f!=N_g;pAKn!tI0J?Q(y%?k7dUZ#MXUYxq1d<N-`gRCbO#UaTHYL0y zkprKy&l%}UT$Cz1rt*gZsqWGxBTzIeuDL&)oV7!gyOOS8h!u}Kooa7e@hpuB6*4W6 z2IK>EgF*@^&S4?;(UAw|c^7}qn1gSx=t67GEg@}Akh=%irvaG5ktr|(D><1#cZ9Q1 zq_{_nf_#1qTn}?Q{MmBUn6q_a=7~lI&8YheKUsWWA`Tw_iDi|B-B3FN({-NHfjsUY zb^O+*U4(%E|0%DP^@KC(k<6GJaGuS-XXxVRY1qc8ERbSIH6`H!6}6nu%$7?G52fZ# zOJITbu$mtJBKdVQN!6UeLX6)WDaRFHT0%2Ex)u(Dp}01fLybjnERBwQ*`OZReI5$~ z_6$ax7C_U7CqUp33#6Y>%Us5ix;4POeZv?ba4ye784if$TjTb%W>6Cvm-)y=;B`;) zbpR@-l;tC<?ci@mn|}Qp*vt?lfFGn;952H|P*1Q!gJ(lxT<7Xy@~S;5fzv_|nh;Ot z|9XxH3Cg;Afx!^*zJ`iB7S4|8d=h$_)~lgzLg?8ARjUZoUN;1d7d-w#lV9VW*7B@8 zmFe?r93my}<$-_{_WHjG@n#Q-nx%SI<3*GD+IJYeTApzu_OTSphy-IbDNkN4-U(hk z!D5Ot(ara@-byutJHI{r6`pKj(+B3yvsz#w^fw`44$ILc&Ptrf&-6(v5dYM@`vXoN zPK6D+6!-%_e(}Dsn|$qeIimG=<Mim2|LgXN{SW%*`)83%G%CAF@rRJ|iTB6#U1kGp zrm&s|ncer$wxNsOy=eEZ<3}wLe;q=TuIFX*lI{!BL2c1~5%%6;>Y^t2krwp_g%cy` zk718X*VCWh+f4IHnF^<OX(?*Ol*DIl8aFk#z8>UE-%B!GC+*Fzf_96~gbMGsE?>x2 zG(z9$LYxC1n=pbD$)S~JHn3Tcq~I^w^br*~F9h;vpai}E9okyB+MLuC(Zq`=ZgZo{ zLD;Y}O&lcnC(@a_dSGjLW>rTOP)1HXC>N7B_bo)Qu)GnMW7W3*7AfWFpk5Mxxfk>? zEc(@%Ut)ywca^nVaH+9P?uct}DMni7$Q-N=5`Kn8xaaXn74B*HK2{U-93T!p&Kblm z*%d%182q2Dj6glCl1edoR3cQgG9hq>-!FnvlW$BnICV&a1Am>oY=XSHnzOETdj8pe zLdRT5E|@;{cw0CLCJj{QOlr=G^z5BN?i|z5(*P7MjJ`ac1ozlG-d?g7nty_1UQ`}c z?MJs3PE6<a_^yf^){)&9LaEfRRb+rtq%rb>_g>@Ihpj|A6gRROZHU|oSNg$_PrDj3 zC0+(|C#GBg?5|)z#5KT3%*}Kr!x<cKH?2n9Iw$;57ARa-(ljd~c-SI%YQGzewc&hD zUJ>qX{wtnHB5ohWI&%IUWjVYC9Uhd#Ln)75@sd>zw3Y7u*<fW=P`1HywzqA_$@iCG zUX?QTWvemV|7~IQi($ic7An#rUz8bpb7iBVqA@Nn)gA$iSyBf0vh6CedrCAvb0?qU z#BT}KXT4p@b9u`ztf1-|quU^qgBcP8Ny;x|qPtJC6q2m0WL?)7)7x$R(Z3o38L)$H zaCFSbVFU~66l)(ss(WXiG?Mgxvz9v!?@a>KvKDLHdQxhPz9<ZeV0L_s;k&hEg5RSo z@fr^>=3ID8ZJCwxbI9U2`$%F+PF~&jx<letN)@S|F3?I>+no|Zhr(m-3a7pLrO3f( zhTTTAhz15u!J}@z*}9GTE0R{#YELJ&RIi9h0pqVu<DS{aInto%<hX1O4r<D2slZ0D zyi|VJ#Vw481}O3nxeE#iguT`C0!=*2BXx@vzSka<)bq~t<VY6wx{r?erFe=^NW4~M z#UVka_jTHHfPBsi4f^)}ur2%ePipB%>*_5qH^;2+f#$G5Z!MoSEe}7li-f5k1m@yN zd>4X_6#yXp#6XWsUB(r5$^B4XSJr4PGo|5!owJvG7T1$Mtc*S=$(#zwF&zW&zALx- zW~2^QbySs1Wz9dxsr7{tnk8R?r1c#pq`c^V$m#g8@ujBB48rr+$qO&JmHkR%^w8eX zO^6#d^0{5p?_rijn&eDMf(pt4Pkt5~>hTT+RO<$Q=_dIv6dVx@1?7upNoTW3F@<~# zNy$t`NZZ?KeyY<mffF;7n2z!L`YR8%BcObawy3@q4G+-)A7?6higK?b1_db}{0>H; zGI*T(02`Ez%Wp<L+lMZdg`csV@y5ybga+ZdYU@B&;!*156y*<7?<H-+Y)epr4mhzV zz=6xZO#!WcE<10YU(8vhn_;$2KqI-1`KUKOEb(2~b}R{ShgK#(w0(s{l>UZ-fc=%b zqb1zT8XyrEfGjDht<5jFqEdeJnoimb^R4D{7#01BnRrF^OaiP_ZuultahobyGt@=Q zz4BqkE*!jElzZuw#IkjXXEjoP#-?9GYH80uf~IYJ+r{d`+F)k)3%e&2b3NF2CRDRG zInhDp<~h&21%y}y5{YC!eO+*VLBV>kLGoi~0?t&ZVdGHQ8mh~QqQxTtO!t~CWL&cL zd`TTDqrdKYFNVEwe~eiNp}BK0V<Cz6s;#cV1lf2(2VI6?3!HS7z{%rj1jv>3V_U1C zFhD1C&uMsnT#g3f<<Wi>=W<5^T_j_kgqzM*pn-C&m?Jb%aVg_S6*7YEwdA|;`<YOU zCJrBeYD-HhcP0#i%0qG+f5;^0-zPY!|8<JBW}5)hBz&aSMxeLAt%nVAJKe5Kk{Iv} zlO^4emc129>L$HOaLwZTOW3(ylc4#hSwB_4WXEpMiRxPFjyG2zj{n@(YHE6}rveBH zWk~E({%*w1CM8+3A^@{OD`h`s1{RXMQ^$O&%^TIT>pvL|frW65u@v%3wITnRImdzy zpP)D^=vDXzhllLkafo30`mj&osrc$F2O9YSw)vq9F-2`5S5?~8+*+f-`^nLw178%$ zh+}4i(~EteO<2MRyh{H|in-ys7w8*TH!xU&n#;dU#*%z4yVWKhFZ7YlI)@L)jlzPk zEx&WIUP^Z*P_4X;o!}XqI2VtQ-EKC_zVLOX(pJ@KrBjO`mlX>Z(m^Ff^~k%C;AUX7 z_Zx<o<OUt)#ww6l%Ad?fX0IFO3B07>hIn`&2<sD~iFi1K86PqJA0PKk8XDW8w>I=6 z=$&$y`t{^lu%?_#hR2ZbYK`Qk#k>ion0#_(bTqHYvQjItCU~Ac#*?JB0P)VbA6G3- zXs#Y5tj>wj*oka?d6%q+UkV*0s5?zd5PkeRL6g}!?Q{oVV~J{J8C-<I5@s{%?EJ;_ z1Dk~Qym_HUZI)m=`apB??`?=v9rLe6*qdfXPxkmhEm&hB;y+wP<HYXRP)|#iP`ya( z&hpj2r+3qBq3Mk&6VjVMvpVrpirYdzl|Ti(OQmuWisWrP4&g}al!JK4fWzj!J*WTd zue}*am_>O1N+f$&FhtxX-);t;PY8{2;`KXMV8C4VVLj|?MRr#)NZbzpN;}eFoJ>71 z!3ll7+s3Gf25jYEj-aAZ|Al>7KeCGcJo-<wzhhv-vt8GFgd7sUD73N7QLkl#T+AE? z^nP2ctD@vbgmZj8>YRMfO&l?Ql-V*pa(>!-NFwF4dvWm+?EmSZKzcPZpI4!NG%=xP z-@d*Mia0Ih#2$y~u7$~`3N;Q7IE#-!z72;0YEA^!3?*DoqJW^O3}FkpH?9UxWAmMi zR>c55P!e`pT8}Of>bOSQZ|{I-+O7Z5uUq0}AiUdce``2+975jDUvn)Cz5v@_o+lr~ zbPhqJWd;-=qz^t75iy#D?A%R2qQEg6(+U9MK#_Wp8X}uD>#1n75F1J6B?&^Js`K8Z zDEckqRA@fe0F9cRG>sLdv>MArQu!Al#LNm!Zlhw@u~AI5OiRXkx$AlR&dj2RjP7P3 zUeE-}y~&;GDeoc3C4O8$^syes2d>NB_uCGu_srfbVD%J_nyK(c#N_nKM{%g9`3Wp% zcNX0SMbaz}8o2r$O?<yruZIKm7#B<{NUA9Yr;z$IeIf_st|wx2eA4VuF2(<}5vmOv z#PeUcfkh0k?TaIpL2gwh9Qbqa^<u7|dp!+J#^wd#&b1Fz?B2rrg=#yrKYKjbzrlr? zkFi0zTUYrqZyr*IXX~_($d9z1oot04%c$(y<)DO?7+u)vi~#ItPX{sTXDl53ZnpA4 zst2N|AtEN4JN)!w`i4CgpVB}&?OvMv;8T?LOzKJg%zK#k?Pi@<ZFLzF!+4I{Vt9f# zA&uvG@2+k{hWO~-mK5)$4huXF%(V6T)h!m%s%i~F1!ui~Z5vN-X4PJ+1WpqtwD~6O zg0ZT}=L7MO4r`s5Bu9<1i-ld8f}lyil)6))M)Ya4Y4$lG4}Sl9p-DgjQ=C&+aW<dK zyS(9E-v)BAsosoPcA9IG;H3_R`cDX<L*U5efaB$U+5$hls<S?VXkzE`fZ|oFTr?kR z_E*cLoS%I6n%PXkRl|X<f`gWsjn2FKS8xT0JTwf70j+rkEVu^trZr`u*iz}th7x)~ ziHsf!tV&#>TK@Z5!Sd-6&j&!J0#@Hpw=5trjtcwF36(6RegT+oDeJ6h1yEdLe3-q_ zHna6w1E0OCq<f7=1@s@rxV$|i1kd49B0)8^vtm|hg8PL%`(@*~BtG}lEHzot*_xtI za8-0XbS{%M2S%kJ!&T#ppnAi5tr0q7=U`;i=b&y{uIE}s7+-a@f&><L$o;9KQ7rf% zFV@J3#WR;DNXqnkog6s}L_oX73u7vPTJkqP9#k-5xWhf+_16ePh9fUn0mDLEswL_l z^w!}?G(d?(^@GD?&R_|0g~6tX`Y4WtpNTU=bBTFkO5OqGsC~JZ;YCDQ{{@!Yw9{ER z+4D@?H?$XHLsN+3V>JeP*1mrAlVpb$!)XE``m<aDvBTwoJ-gPQJfSgBWO`WDBhpt! z`HKNbt}us#%kNz1jE}p3BZ6C5cYDY>s9HK5Yb})b0`UIt&!7Lk-_I<>(SaGE@qKyz z&zD(+yCZ@}3K#Fy-xU;z$9mU-+Lu&Uhk``S>YHi1uN;D8m@EyRcU^12(TtV|IOyi3 zy*b}u>g&Y=A~`-~C4PA&oQo~x=DxWC2umw#ok$Oorc7mqo1P3cy+%M5(7qpf?S5(W zkIatfqY)BI=o}F;#MTPzk*~7BI#O?PBrlv-s$BG2)krdMB|h!)zE8ez`4C5$D|v=C z)%O_Sci-!}PR1;6`PhkFwdshgBQayrb`E?L4Qxp*{CoH7L}3*Cp7S{u8V;Zr3xCXM zv!*v}8&cT#I3nntfI*c689B-5Z(67$HygVY!4A$cBFqWVitGBfMs3L3q7m$Ob*#<3 zo<cWE+N83Jr4>8(*#icdW#|Q<NgGK-DDzWt8p#+YU{3`t-GpHDDneKuyN)YT568Yu z!df}^7I%l07f(V}@glrslZBk@OG(J+Wld|)XH(C=XNDYwWVo-m_D{i^W>h6euh+qp zlF&kB8zYDAkT?7B5^9>;TuPYDlx~1w|0>_drGqwNJZ<aEqVQFG#+ko?r-)Zaul)O1 zcyZn@`Rw7ra>O~Nc~ggtZi*F*8nP4gfXRY>wCE__uoTrqB*SAW-F{y@g(YOT6=n9k z{ejF+7Ky{KN5yn`bhfp6Qixj}MhXspS|=0>@T_hbJwN7sdFnw7`>KElNlpbG^xnWi zG>ky<sJgK2F9uJG&k>WTW$2L$dMV+_<)u!hlxj7O9nd(8@1({CJeSCN%nPH{M5g51 zG;XO~Iae>J3L+*IF`5nO(Fq-dMwXC|f)UexouS(zurcj)^}`Oh9foq_a?J)l-0?<} zOFCthNW^y{Y+KEOmP#b)BRSQ?2_riWVsc`Wf`ecxVkyaQNbCLClBYiw%}l05)9;~F ziORt~GZw<LIPz~rk809K_ZO^E>F$9)vN`b?58mD5Vy*LmYq$2b=vUu~8MgR9^)`e# z?2#hT^bY2J2}XBNrG*uTl__<JmPp*j-=fR?!mk_ob}bt$o{e%q|JYM+D|t=tE}s;- zJLVjj(Vj)5PRzQWXgc%_zSU#U+TIUA<|-q^7O8IT2%f^x`!O3f=$)@SAGj#?g8gi{ ztD!CN7E~d0c_Q)i`C7Fw5$k&EsTc8QL-KV=+xwXY6lq~?1<9m9qdjzj6#HR3jS$|t zwDDx-lC)@*q+1<gOO?3@fiH(}{;?43xzJlM>r;w;K*2SXL_tMn%;2Uc*RAdobamML z!W1!h^J05PQUK~?UE)T^XDuoovbV@!BkWd`>%jBkc94U0R~#?D)sXwg(g}soq@<yl znLl=5Jms#rErQk1OWz)~U|ySFPSj6BdZ&xtGT&2ZUqha3%mQvZuNVrU4vmo!Fs#a` ztwHGB4%fwI#l)MS<bnHV!}eQP?+xef39_3G2grB0HSOrJdQa8B*9mGF`0s>dEuE_L z!>1$dGFnBI0+HAVZBI>E*!+xR>Cv<_D@u(^(b}g&L(qgc^M>%Xpp9scIih*YY7Xv* zjDH?fXrHXz1)aCZN?`nL?C_P>ul?ITe0MAjfw=*_&#sSwIY39b$q0vnp9_KhF!|GG z({S^sIW<zR>QD>e1X&C4;P%_!!|jL5Nwlc8$8g_%lZNK_fw*|ODmtQ_6H<($9y3%{ zqbU7ZycR+ge)yOtQ+bR@YUs%a;T7pOy5`pjGR7W_&)1UZ0Qvo5PI4(HEznTsl*?O# zn&TzlEd`zS(7JWMsQ|9r!hG0<OyaZrbr6u(z8r55YOL?H3EFsO7(lIBAon(BNUMzQ zJ?vp8Lu#R<`SybmQSVFU->3W+?suySHYo{Z%RkUXAcYj0;9ot?^*bx7n~73`3_4@v zZZ2OwGcNVy3YFCibHW5K=KH#|orw?f36(A}99M|Lnv#dYqlWo1Hvrl+c8Rgo`Tz#4 z848l@iY7Al`n9<4{L3~xJKk0hCTCkx2K|k+7&S-DxEh$@Kg)43f<rMt_*a%J_?oCQ z?LoA7Y>y{LrQh5X7*FVY4zCDEA@{AsprrVS3o<gM(LJU|ZwXlu<*+B{icV=;b4#iS zgSUogN{a~<-SD#^(2S@ChJpz-9XIDwmtNID$_?Tch7G<K^#{=dlA4vuf(9(K7DQF9 zPgbc-QBrMB8-;OUI2UgMQ`=z85GV4=PB-;(=yvw|F_yO}ixly9iGxD+G`wvE!h#7@ zB`D;~lwb-ixmYy6>UvG+`!skSA+}6yUp5lzqvNUu+FKTJA7Zbv`**$XeSUXkJ}&&c z6v_<q%6O4Mdh`DFT=3vy>=vAUzY-5r$Tj=Q>%uc|*Be@OBWwmR+#-Q_MImkZMESkv zrRcjIR14C)zVAvc2jYa^Fu^`A)W^#J{Q`$5VNhcJt&YU=So#;Fzl7ydZr&yBS{q|U zYk|Ce{GkGy^x8~u^@iGZ>U`9jG`m6xPd)uC;3`rEdr>1Ri4@F&shqk4%MxKi%x{P( zBNy%|UDaFhGYLg5-Y~}b3cV1uy8+r9(1R8RP53~eOo3jz>sB0UM*pTybVoI=ygQsZ z$XfWrI0}+TjZc&}p@0J>$;@Kuci+4PWa7}uG4O!#F7)%P0D2>()`vQN=c7-OuFVIk zD4kp=bbA+2+y*qq^%Vh`i}j`TPefWn&L)iNVf$HH6LT!{@%SvuOhSlBp$5m*8;s%y z2qAcW`A_K2Z1n|HF!9_d1Bajb+^C$n5Qc4dCeRxi71*XqBGyaug)pr}V~Rx1<D>NE zOES$*Dpr9_xSz(*g(12VWRppYhUZXw(A1;D5&JE$tW$EYci^+F)HI0+U|0E5Gkgg# zqua*DV^zv;m(6MHSH90z^7|?>{^0+;T>rwcC#q_5PRZrF(?^!^1@^gkX-!COIb$KE zs17lFcY3V;F*GkD%rU<)F6HFsR`!Dzey4!ZG)xRnn;VstWaizzY5Gbk>4bl1S7;_m zEGN*;^)%vSWK%q|7tD9zx=yxY1Hw5ZZ91gW5veYi<KuUbWp>*3RjG{{9I{kIk&B-U zuf0xEZ$kY>z3k9E{dz(zqDQi1ZF(*B)0Uas#@*xe_ivx?WZ?GR-`wSozYJfz8*KT? zFCdinPJObN{@9HSGJmdOSIm6tk-kzb<9MZKh7Mk-2tjU-G8z6&PnxJcB)4})7yaN> z55eT1X_z{*WPdj6GDS4Pf>O<?kF<$>OvR{em2Z(Fa12=Wn%HPja06E#7TyQpqrRvu zUCYbxIx_somCdMNc|EY{kPSKWk&yhzxZumtAdHtjXt^duz2@|>2%2(b{RD2)sq`U{ zW_n8G6G#m}#`n&Mir+bLfc`_Ksu(NuJVzJyns3dDP)XzXfg>i@*}abRuD=|WdS#dS z&o3|Or9<7M^1f6^Y6tQ?NmMY9-nf@X#*R8@F(r+37LHq`(t>*!I&Wgqukp6NaRXxI zcL&@A@MT`(?0i$uKqZoYjbZFNtudW&C8*t+BdLtr7MtGx_;*jxxk@!oo;g~g#gD}q z4Z7+8dGmUj(nk=r&8e|~uN)W`yt+7$Ct=;Pfd|s-uH}4wU6b2i9N#X3|GDlguAwHG z>I4u(n&4`Y!?U_(C`yB3X%tWi4WU8;Eu>c!zaOtg<gNm9`c-*C@ILDdu$RW@2=95| z>*y=-Z=!Z7=FWk?8=hf&-bc9}(X?D>3GYS0R4}g(0Eh3!h7`ANlqDOV^}-lSE?BcC zJG3q)eR{Tkq9uB74jxB*X!55X<s$5}k#EnpJcJXT)7?H+@oGs@Ov2k@!QFe5E+G_L zrZ7{I%<B^_x|SP0z+Zx|xPH6_J(km&)h?7jqS?g)?X9|5o4=-2+b5O#<lX!j_1rM& z=rE&0!c3->uBr-3HD_#bDU!nWg4Jd|f$rfAK?T6e=s_@_Sw2rI32P6N_s~6J*Cs>K zi$u+2Hjs`3Ky%e)F#IPl>zVZCgMq+8kGs_cF8Bc3y?zsl%}Ib!<5;TyVKx6eIh_rB z7qr&ACCIRN3M?$?2RGn@3MAFD;*Zw+{s|LQX%F)#6}_r;57as-Vtv{ED?^O8h=Tiz zU=hU{SbTW?8>Lw%5tUl(B|kJ^i-VUb7T5_9HzVrF<1|%@GpCOWDImR>@yYr7M4Ng< zoAiyclz+%K4k7RHXLRkcTc^}N=Hjmyzc50U#ZmwckT?@e52%v57XS+7OD~X)<D=~z zcWH<7c@+cs6Y+#r!Q|gMymBF-ADGoXh;M98gFoN>=<}DTNh?}mNV*ftsDOGWp_&!2 z6^D0A-8qz8wP=wFv`@62Ne*hT_3lP<W#CX$!--vPl$QCG>txV|+1V0h;>&4|3yUZi zhlOW+LGO+5Nj`7JItHg(Yk{W4(u}h=$C33)F-ZLA8tL8$Bq3x(WwT>R3mJ`sl8kW= zAE*6#hQ6WR0^V=vS!Aylv#yi5k_AzJvRHw#RR0h^tPB?Q=8m0w)_b)?a+MHdo~dX0 zFAfD$1h^9oHN-sDxQwg3(;f$_JgUPVK9d6Mx?Y<t_^LRuIbOu6l)y63zsd)r!_tyL z-&XLa(DzNZNXOJ0m0po!=;+bDD+(J++cUv=pg7CxzKWZk<#e`l6u7>Gr02Tm<i(jl zSa9Pv9m5xdMoH*q&cOAf5PZE7(RxOxrt>KcnvAy^=bKi9jmBERMSLV$0bRpPW9K*6 z5@++T(so<svYch}<i$HDURB_3&6smV%U@4|c%@~~@N7L5Qs-JKu#MZ=rEGNAz*j#? zpV==W)6#QWTj7F6rtenT(H<{>a@QIMICsJu_0S_uok7l3?pz@3tq1nzlRc#O<x0|7 zdFbgmqPBG@3)ovidSTZ-_3_>L$Fg3ewFHIYI`m-7N2)XIE-|sV2fm+V^^Vocni;%S z-iuHbGNG=Y?Vnqe)M~gJ^5pEEle9#>F$IMdrefvz<jzVtDC+e7@ioMEpo!rx9=*un zI=JO=4Ia_iA#+x@m?-QFbbs<6gFt)YTA#e~?5~eIzF%&FkFO_(?V{Xkeu?e)za6S% zq9IX`(}yx>%U>GaGfRtG5Iy<0+d-Zm!PkjtyUybjFm()UCku5FPYxYNs8gL6^WARB zkE-_Ry`nRz+MI!p<`VP81<H8OXFO1QEbKbqa3~Q5npyJJoD|i|;|dCsJmOLVZ43-G z-OXHCunimNJ*njevK02zRPez(%_xx%0w_|eQO?pMHa`bg%WX*^ezb!Cj=LvWQHGT@ zD<=njkIAkK@LFFnFFr#b9-`u5KbsVCuE|rO)@`Co@@LQpvyb?!N&2Zy38F>@^20Kb z<RbIgcw7I)K<81dP$)3xC>~AvO)x9leiaCp47$0Tr9MMHCa=nfZ14;&x?0myR2(*7 z??9TRdS=EHVL3y+7f@2`B?LGBl7O1T({CE%sLtSgB(C}}Vaz7(AFW}|;^*Lg-`Xol zr#Y^O-z?ffMl)aRi>gQM{Nbe<PU!D6P$jQP?yv(}p7TeN>w6n4>h3)~zg=9GtJCSL zzm}`gzG>=zn9~_Rhn5OFJcr7%@Qig(+2Y%4v_KK<Rft=f-d5}md2Fz7<XI2{9?^>I z@2{$BY8f(>;=81TmHc%#QC4YFK$ikjd);u3f}w^OA!*ADVh{Wx!9)}aeh2!)sytPx zJK1lm&3i)w_-q%dX~m0=wb}qjkp=+yXHTP_yL}UR<LAzkc1})M+*>b>+Vsckik}SV zKmtXr#^(fW=RN%r>LB&S<ei95InzO*L(WW-&cnZNgZX@ekfjb(#)mkisMLr%Ve+wC zgoV3fU8!u<4sEQ&8iG<OY&clf%WJQD{LT1!z98kxx4cip`>-55GKQ%?4K(~`pRNg< z{Mx3kA@Q`xMcRXpua5E5Ff`Hd{<3#4w9eUiSG6jl>g=W6^ARuv-L~)8Kqiqje^{G! zf4(07tYYJ`@^;Jk=|YInY9H;$%^M#kXm5{k<$Nhoi|22%ln~A=xxdv(Nj#`O1H+H6 zsFCgh#(+x#7F)rIV)n`?6gzMZO27IAMjz1lHFr*`Or(IesaSdq(Ak{;bMb;UZ0_at zt2y`%;z`?UST3|Ps@tsJe13ECbUBL&oty0suXCSKCqc$`xS-42uFycu#s@#7{Lyo( zj_zgpXM<VM<`Nc-IXh%9SGAQVyi~>gyKY(;eno(}ZtBfV;GaKUCMqIFpd<7e$UXO= zAS(Ft)b{)H2iT{@7yp!zPJYzsWn_-`Za+SG%BRqDgNRV(dePCVt0#Hh*QhZR^z1js z(5pa|zb~(?NT++J$sBfl&?-a#Q)E81)Z*`-!VAgZ3j`6P;$#D}G}|N<5i@Ry!iKIj z*#I~MQh6zdJ;fI>p6%bxyF=E*$aEDm%6K@d)-j5e=bsG4RTN1tJ{IU>VlqWhRw21& z@;iqUUq(W+hM6b0sw8582Eron|5Qu4+HzIa0Z8H(Et71{Bd8T+Wl612jHu#|UZN2b z>_pxibUahJFZ%PDjU;gO_m&X7b@9xSIk}z!`roVcM)Eo=d%mE{CyRW2BlPUC90aU% zK+Ge5;qH3tb-D#nEEJ-Y1w2ssn?Z7O>66{^<Qo_Ts>+-2355wO_}-<(+VcIUg+{<r z<@ai?BH$un$IZ^g=XPB1wSylev1(z)%s+qH^X*FR=lauIKA06ZghLCKaO<<=4B2vT z+TXp#-;WxkCpV#oEv}R^`G@*{og$&v*S&dC6>gcm`rm3fMeFr*x6fTyZPix+SP%4i z{V4nMKzZwCf?|+v;KOtU9?PV<Vc=~FwL-B|M0$PnpT@DnOoKd$IAeliPpt*qv9lm? z2V;7dTdw7yR3=P5UUqeLK0XV2Y7^qLY``JHg%N0~H~z7!S?I4V_da?$eech_O^nYW zLE8CorKX~E`RffPZ!oLzz{TxflP|;}p((_NS1P01Zj|c0UoIbeq~=<*Df?pAez5Pj z#x*fel-J#rRfc_lf#&O+wV1D8_3|R^s?dZ<Oj(6yFR4m}nB9#U^mAeU_o}67-8f@a zcannb^-CRNG&gMy<jv_#(dG5xNb-Nq723M(t<zrIWNj26uD3$1T5}z}Z`<~b<+Vxw zuhXUcaHlx-=h<I!yKwp5J=BbbVt`ewKIz0gg$<(EeuFAeChAp!9-cNrB6vbhQEE7P zT|sz?S?$<aR{3$&E<76jC14)fK1VR|-rBjPg<oIBGs)y4ogt5%fO4{ZI@+erBTl!! zjo!4|4ACv0&W^;NZv4ir54`jh;V(hdP_HdF1|rPSG)&Kla|7JJh4@#Xk@$p!osEEr zlbUm{hkTkwF+|>7nSkv^tgKi>?pr<u24}PYA|<OR*Q#Vc(Wo^TNEV_qA7;-4(kHk> zxgQQb$_ev&i>>k|j2FECsm*$z!rw0E2luw`&yy9mf%h=$;`;;9GsjRdARrO5jW+F1 z@`)aNyU%NnU8lmUxP=i-q-&GMkA4n-?Z*d-b}cS8tcVGFAz2)q3UX)neq}`v-8FB` zUGNw~O@8*k(s3<H0{m~%8Vo^bCPW?_vBI?zF_q5>hfYttPB^y6V?q4pqb$~y$f9n- z4xcg8uX_LON-3@0VPS*v(fj>NsWpdj?IR4PwY{?Z%$2(<AfMDY?I*egxxXA(U-zek z>O@a&6h`Te^f3-T(;RuVvd9Wvud6Jid<s*4Z=Av(Gq=O*y_^%Oe@nyyUlZbNPF46n zRg&B+E<Xs^HC=$9VgO!DGV6hJXOp@y3s=vTkoS|ZF1|5)P5l}*YX}SG(=1{VN+1cI z?7p2ZbGnnXl51ExqzaCnh)V6U{LJowTi+a0E#wtPNR0lAye#dVM4$aUqhYp-<)k!5 z$3C!-cwPfPf;ju`hf@Ep%5VG#7D<sh>M5zZ+Yw~jv=sb8WB4r3R^Lj4qH#68fOKIk zaSRdJCpNK-Tdu9pFm=U>)w4U1J_m14hoS9jq?i?$rxujHtXZyUwZ+FLAF;gy!&2e= zJMV5-@EmUWoXse8d$IQ3@WPH`{kT7oocHKSWQAb(yTKf|cPh%aw6+>LU=G5IZq~M~ zUn)msc*lG<L}}5A)4<X*u4^tfMEZ&!?j|Wfg->%3_HW+8;n$UWn9a!6>F_!x;-^I5 zGc!Q>x$&!fJ#H;-D{uNrf}#N>?H$3921<SrZ-Y;}D6B9s%adY!gt6^Hx($trp+K)V z1NSF9(Xl3NmUwGcN%bHYRa(<s*M1$bYSS>pX`jk(ddF!0VkamB1LO|HVMX3C6{v1l zStu%!(h&ha>S@XwSnX8uxh5PwadV8FL%CTTyoYk;eCyEcMd#2HuNWv4%=>VT_%Rh1 zoF1l4+M*X(!h6Vt0ZC2-ex8NuxSMz!s+lf-x5q(*N8NtF`OCWnuT<b2J`!IB+5RrI z{zhoGPM=rZW{#d|=^HV<*tKH%lg0T@%kkpJ_E)cOx%2e%aUWcWX;eFKKUw!T6sa|8 z-yeOcW7D*Zi!XUNtJje-JARvT^o!+W`q(3ulfCYwBZeX}cgox1rETbF(&>}GSt+`h z!3Z~0fh7aqKs}n-4`#WBW^bjmdle2A2|ve@`tW-+^cm84)_wrg=aS_48&a9sk#;6A zu0UBDcrE6oH<fUZczRSN9f<lIErZQQ@NXChdaph?Kr}X(BGy{tKcO<rVe%|E*FDVY zP@lBuHsrfhLkt3Fgpr2c0N-2y!~QPT`irlLL(LVcZA;d-@j8N$1+On10MUgEcp?Mg z4mlSxGNep0TfO!ioc7|<ryyQ_wG*WR5;4bj(MOqJG^8TWkw2zs@P$KJR1NFHUMVqc z6c)s_-FMo)gZ#NBJPrtW&gC`?SyOAkd!VxAn{u=0nO7sW6fv;^G(o!96eeh$1Fs$) zAR<+0_sc9pu0I~CSE-iS<CAhWHsmmGXK6np0hf^yW=rKlXe~)8-&x}${udAsK#Xiv zkQrljR2lld)i8!SQ8`muFFq+brsXpFLYae@4|M*w++I*S$zvJkpv6bR6*2NipRj~D zbxMhhV2AS$d7kJlZ171^j6a|gJ46T?xb2^@4PJjvOvljS8b)L}`;n_pu0$}cY57rN zoaDEcHAG@Zrb?|Rfwia7&>R|*nyslr<Ol&YmV8=0Er$+K<Bw)rY6-vZo4ERMde+t) zYmweq8JE4&^Gpz7Kt#z}rffcm<oD(>Y3oC2R(OB<V7e=D$xoin5*95+?CzKT+Y)OO z0tLm2M^Eg0>Oa^mg?SKy0;w48j>uXx`K!H7lS^z>@fc2cF-HTnbK{T`{Lqjm{t!Os z!mqd3mC7fWWyze`a)rKz*Wyuj!bTQ!jkF?)K!d<;e+KdUOY8%aVtRH<1@Nh2F?>6r zc6xO5S>ehEEk{E+E1IHq#O_6~?K?0N`W(p1{&)ZfGF>BLhf{f3-UT~DiEqcWMQdBz z%<@Sc`-(96^u=ajoMCH7dd5$)2Bf;A|B3OTm|0UIxQt1|rC$bz23>juEeUih(Yn^g zUqNQeIG=53YTGfb1>51;N#(1aF}Gfr_$@}6zfT%fS!gi33^>FML$VHwo7W>C5&j$- z%~OLUCT)(S^|8MZra4adx?AKJHp)C}IJD7-oR^!_%nXY*$ND*<cAEX`TYwaQz2)3w z+rRE_etMtOz5Uw)y-FklAltfJA9$_jO;qFyNB3zvguZjr5`vS@5f4GNMK)pjaEI{I zf9S#%I`9myP2=af)~bUqwJ!db!0bSbEdNhc5ya^~FL%I=Nre1<Z*YQYz;@8l7szI# zvy*2l^^<A3sA*6-f-k3?hlX=z3^|7bz{X^jh=%rq<zvPIN{Aem@)ti%lm>Jf0KGXn zrn%c$`Nq&yS8n|7%C86EpjKItAeR8vhUR0O999ON_)WaC`9&17;x|L25boF1{xqkY z^>*8)Z7-h5hfh5DR0e|0(F}hw2ORm%xDQKQjFkLwM&^b>VDia#vi&T+2L92BAyptv z#+Pz8j&f}JOwI22cEuLS0L`_Ac?u_OfzLvPF517QBa8k5rc$3hb2~5m?faJ!%PPvO z<|ioS(<Yk?fg-$;jJ_>2f=x7AQmitxc)Uhlmx5$^3F5kcp8y|RIx%tvz0gm*qP8R+ zzPHUS1e8sS;0{IbI}BVoW&ORFa=C?w$~}fZ8N=4gcz7-qkoi!&uz8k<FsOHOM)h57 z*{sL-@u1i9+IBBd+;TRbBkS-_ZI%I<!WNEgHu83vXOJL!RdujFwo}A=xx!T3P5bF0 zaiLdxJMz*0Jw*{|3)h>sWxj@y;DmGp4vz!(2?UinW7-<7unDd0JrIdesk}%R(bo`0 zUQV1EG3AMze#Z4E0?T=+z8{}!9&$W#uc&d38iPTWKt3Qi`H#{3dmT9#xJYthLTrm1 zn&_;R!xAO)g9b!>qy7R%6ym3O7QS^9{)~7>d~G5<pf<WKloQUyg0nh00?S{t+rfcW z-dLIhJXrZwYemI?zYRsN9TEm&9ec^dM~s?;ZVV>v<2Y7|TX0R~QtWn-+`Dl9_krgE z1xLOZz-X(6f?Q892F7}?>yn3r#6j%vHoOZPh3J?4E^WRzrzX-_%6xtN?py{2ItAW& zzD1?lmnbfLw8vuk#Ux?=od~19dSGJWwJOE8N+mR?90eKAhjo(77zB~k)^j8F^sK82 zz0SdETW&*HK+N%!wY<*Hdw*KrAB$-q{1>(}Z=N+zosG$1YTf74!-j%Kp+x=?8=;QD z|4Y0<_V<igU6J17Q#-O0XDtuu=!8FJY4^^}UQS@dcx<&`rWTneAQQKsc)X@EBJtR_ z70$^#QOJdlBEu|hOgfQ3#}fNP@*Jz=fo-Nu3AbBY={L16AxeAYvFo|UVorsa1Jz7d zNOsEBx9BQfm{^e8(f@%tlhko^xzq>_^>~?O3;Ul=?Fuh?mP1e%hAiKDF4vbL>_^yG zLRG%C$IrTZDNQ_Bhip}v&~MxgWl^jtcbea=Qfz+n!P>%kuf+Mv(cunAr&Y7z`4~El zM;UHx2n;%WgE2lDVr&0MfXS|0<O`^Ai(=3lm}~i=L_k=XLdq3EpRF|>ZtwvtR1`=o zi7!<Vkjm94R$*cK>j44t>2+@4K=8i}90&_CJo>cn_=uDonQmnTA)0Vq(DN_()fvvd ztr#+&+<|l%Y^MGp3^$2qVlmK7D_z{`2>hM4W=!9Su%3{+kSn$(Vz?yIl6koFT1~SZ z7CW15N`I7wV&_54;YoI;a~zfeSljrOr`q#-`83>az@kYO{o7mX1FvgX{1NWk>@CJq zbOkb`7YjNJBm)3Vp2h9&FVr0n6#|VF8R2$rc+bm=tL2?Z5MKxDyVXI%02PMQR3Ke? z1~*%Rfb|+e`<$sa2`|t=ZQ4OSGV56JM(-Fm?0Sidk`X`zZ7wn@W`r8k-BL+}m0wL^ zD-sRdvZp^qD3YADI)Ge4j0;i0*I{=D_H99r51~hXfWwPIs5uboC4~-J^XOsQBKeDL z=l>xmBd*VWV8e_$vLXV`BuXpF)P>o!;`@72)60y?xuh0({UtwuC5=QyJ^U_cQ3GK$ z_W2@Y**0~_RQkCjOutw`BOq;U5km%BP^jBUq2o_vQoTS_gY$4s!Y^-!+8;VKBq#Ek zp*Pn&4#wFJ6|SNf#!!o51GG|SL~`vb+NYmAc=@@74LOOoTKCGifyg(1KzIvl#9@j1 zGZNs=xe-9?L-DVgkj&OEZe@^YN|_O8x`cChj_f+Odqz?hHondTOS%=zw<+V8M(&m5 z@gwWI#=zj@*kFTRED-(Q^3NO<7Twqwfz9g-LbxpcC5z?*`mLq60wfNNB<bD{Ft1A_ zfMir!Mfl#MvpX~XhfzcOq#HtjP~-29q*%hvB$ZNY003Nbn9f-0ZA%{Xrq|1~CGk5) zyIubCF`eQf_dIAR0!M^%(=&rlEzNo=inJxtp|@3HB}L@$7VDr<tWzAaX)Y<(@`+6^ zQEr_%A`2_*?FGX)G+6s2!u>4`+LNk+<j=cFZ4C9kMuk%|0(W3M&korz=SUecoiJux z46T`YT|CL<=|#46rL=PVv{;+aL{tX&=5f4!NrKZW6!P?~U)54eol>GO7CGEpU9BaC zmAOYH83DXI1_W*K-@ebt1%`8%MyII^W_^SQ*{w70{#^N=9q=s!q&f%F2@ARXK$iEN zbAS~ZeG>!uH>RQ$SE|0%63AZIH>|QVDmKC7i8%4iUtxQr9*Jz>M7RGGi7R1dPbv}- zuY}ZP+ND@1Sbe+%m?Lk?AC+Y&$`(CzS3h*c**i@01q%B8Mtu<fL9h73q)_$0p#eis zTx@_ih%-h4x>)@0fZfS^PZ|tA<Y$0~WodBzwJbH_H({FbWasm~IRgz_{9@XdL6>N1 z_pVD)6!I4NVqI-|RO&!WBlE*?`kNzavI~75YCZeDl)Q%{{8w>ey)IvYuk3gD!9|u` z`pC?^Ke!X20yZ++Z?vJYt9mJp#UZo>xEvKmrBMIA#eaUtsYj?ElIlnKl(zCB@eIyF z>{T^4))wEq_=%gt>4~21`<T%S)+yF>i{gHN{DUkyze)Oqk&rP;6M3<Xi@?KH3T$zB zdGQ!zl>J{$v^nkKZ7t4p0Wa0vfGa8uAiwIF&sba-i_V2=H_qhWZfHwE+IwXRjBx!P z*Z&`V(utIqk&jixqEOdqux}9{K)?)182>3;oIzACD-18Zt5l<zotd`ps%u)8po-UP zWj4r7jv4(U+9a2W-AM58yktvS03{Yf1SgpJtTr6Fq}$MDkSQ2C#4I}PZcVC0BUA** zbdB!*4F5Mn<sc65-E|uIKXc#`LlP3YvYb+ijIdM2MWzgHjkYNwwYkuKdl8E5lO}h0 zr^Ih9wbv~gI9bw>;PvSgKC(e`Oro6>eb}V+%xnaU7}P;R(`bi7#Oviudo~_NtjCJf z;nt}Nx3pnBl(R2UgnG&tXCfa{$SJBFk9B-eY5GxI2Zne^pbd_~G+2#=uw>c?$2>It ze$2xY<skTpTi)ZUzZcwPJj50VK&2R#Y}rF3jUA5RCKTdJ*hLmmFicQtrA{o7aerY# zVSpV+l;N6;#UoZ-k4QKT{hBa2r;xGX@ijT(g8d_y#yQ&8xHWZQusvig<>T5T)Q0yz z9cw639nC#HFS`)U59{<rEIZDE2psF?d|`BiWQ-<%qT$V8?SZ3G1zT-|7|2seZp;8# zF491@r8u^anIll`{v!m?=_YnFYk?un(bo5vAS_>q!rOMMRcT?pqbv@p`ynQR3%VC+ zE&G?kWOR49c5?lHNlJ9~5N6cy*J>5ADDyr|%W#H8x>MCr)atsN7Ud@YTKrs(#f+$O zDS>2%MxES$vma58E9pM0y^%Ev3YED_Igmk;Ft<`u(({UcrwL#Ql~v_%^UwkIU1?1t zq)Wo^>;gq12M$7*xs)NwZm>U^y?2%+9K*S6KcqW28}wVlM53b%V6ha+Wif*?fx z&;NuXJaG^$HS`z>Fmf(B)U4dwo@d2EsVXs+erV=1<LE9a_W5BQFV&B`#W5~o6_#~I zgE6qUroIrUtu!b}5)62y1U<y$!kY;zd?&CVH~E`!vLwOfP7%V0g!u=hAOHSC^)&Hp z0#wBS#lSW|wNcX0fQu$^6e*pf3?~R|hUim-HN-(nwJ|}?EOY@`VxSeAKWu3!jri!- z;q8rW5K|HPQ7z>w4sK`>85glzB6mat%vRt^GJd}2K*vBu?&C7av1OUmB`u#r+_AsM zpC!baJaQ|ow|j$+Ews)vwiUW<B;s@5gs7m@ni+8O;8w5w69NNP$d`ANo^0=)NMQ3j z#vBVE(a!8H(ie-5ufE<+5ko@IGL+1)-bA1lv)D)Q9-zeBKRVonvb@zCQO_*LVTo)v zHa8Pj%ebhn+kVf_8LOP3vsUR^I!>~zlQAWmnZIAm1CLXe;6q=+X<q1FIzJEb2ivIY zwn{84ib2s`zC#g^C&5j~e|BUMUWXX6eVX54@vUeh-^0!(9H{TINm`nI45Ubq&4>uZ z0{WdSyFiM(cF0=UWJ4x;eiS-*_(~sIOFaLM4N_WXteo4(u|%#thF7+wjA>Q2OC74B z^vIa_SCW)KXKdrYA}Wi4*F}&t2lZW^Y%eTmEmQzhi1>d89xOnxIIZ@>-{SSXfrq~y z$I3_p$y&B?)82D&`h}lJXW6NL1X!}yAewW7$pw+gwJ8l94;;cto~fby&jIP6%4q>7 za`GYuE&rMb#sOwU5{}fMDHf_tdcRxN1DL34b97td-!GcFie!l+jl#H5cxxKaEVKVw z&U8yie(fsHp+r0rw}VWdGa@@tULY(Mn{g-m;&s^1=*UF$7F8Bng3-ab#3n|8sZcgO z<k|c$YzH(_vOEdVvf?{7SXYGsUN`Desfc=Jk#d1_axu2lnf0!M-$tq!%GQC*Tvbtm zMEkOYt(TaXPu?!JAs*a^P#(%}u*n$i%LKV9u!@j~FzH(xa0x$1oxgI8EXXitK^2eJ zcCiGUV=v^OiU>jXr6)oBa3b(oSl;pze;G=w42^xMPA`XQB1!H_PEMHVjDxOQb;nf% z2I42p%$lYnIB7lt%K2oLMUTg_;*EdI$eHuRE-rFyTc9_wUY`*VFxflQ1Id+H&CwXK zcs*l;Gltub6H8{HTx;J{_HfBrjlVHt+A(9E1t5=dMa+sTJomfXfxv8fU>}^KNgu&0 z%FqS=n^3-DdVwvaWo2L5$bCG588J*3L*j%yl(Z8jPHd1&B6lEoAfRPU#F-+WtvMVU z1SL#&A%#GXJ)whW1c$SVJp>iyeYMYtOje~_>cS>A5Tsk7av7A!h+>nki&ujImKfj< z5roW`2*ndvomWiw8>rZHe2U-tn$Hue1QwrQ#CBO|T=}DHe}&rHNEB7WpPVCq{8}U> zDner{qgx3mqL_`~Ou?xc!0U&`SZrlM#XbLfZlPE@RlNS{;j@LuwoS6_VRoz|0G5}A zpw5q3K0^%3s~zURDF36Nmx+KnEc}@i&YxwGeD(hyO>Z4Y=l}ozs~ydBI}_90og33k z_cYVpjtyhFJB}D8W@4CbCJ&~Y;pnczaen9Z{(OJ``Q!X?T~F8Z(U05R34?l&ef@Q* zYJI4yk!J-pr)^R$VEc%IGL0=g@>Lr|;z#^GJ>i7$-_P3nKewr?t+y<!?iegz)z(rm z2HWvL|0l-D09gC`Ap(>Wq&hA}xZaoUJ?89Oe94ey+4tEx`*yR}CH4k;f@3eyadP{W zUv-S0m;56BQa+f&0*{lQRQ1hI3cSUeT+&fH8^8A?!GUfoP@w>g_kEFgsgkYJU%Doa z${EIhIPKU{@p|q%2f*@Be%w?Qr4I-P>;G2o_n(kWl4MUUJd=L0d$&^68hm-@BF|=G z<%7KU?WD>ds#e(V_hd+m0&)wi?(?5WZI?x`iSkql2<D(SU~GjgO?FF#YZ=}o&A}dt zteFzZp-2;~U;wv*c{>`wop@hwfGc-u0<RiL_}GcTJ(40NHMOyTn<BSC(IcK&LLgez z&|7x5mh`K2X_Xi|{_ec;yt`)VT^F(q2JF8jdPF7-X3wtuWZZR@k^t9FI&JgR?da(w z=jq%5#fT||xesv^Tic}m=tD7jh?fO(KCk;jioFP1e}7k0OcK=^(O%%86xc5Qb5Bv_ z$rQ2Yg?4rQde@&bSDy5a_J97p76lGRflPIGuH?yAM{d|^<_@c7Zdf^cAY#w4yxWH{ z4<fs&{<Vh##>Ra40f~wN8r!S5MQl42szrmmW}#zsR;&hp7hRP1@bI2<uBnBbk=iCt z?e5qm`HI*HUY2-+irziHW(x3))vR&DldDc_B9CcY4jUUdkU?c}3vv4O096yg^%L>R zGoA$U1C$YMb^K}T>8cfPEfD}8Q&{atd8*FdA{SZp?Go7TRd6Hxr%nQY{i08~dqSZ! zvkh(>y3VI$5RTm+KCv#lW?aK%UWfBqoV59#S(8h#I7Gaz?yU^K^3~HyDEU{NDA9Ro zeRPGiuTo0t{7?V6d)Su+KCEksrRQbSh@no8G{1z)eLP(IcJawF-F6#lR6l--G*<mh zFI{{NQ3Evp1otw^58=rscp01qy>|Wha#*D#i^&P*WEd+-U55qR;UByRPGY6TEQUQ5 z7Nc1$nN0t@By?p6NZcuBnxs~iZI4s@<J?6vqw2o!Uu4&X%^XI#`S7~g^3D!Ij#bm( z`$=)y2<kh4g)JAuFpuSgBJNM(93HB<5?xmN_sct7AM!MQj0`Oy=AA3vH&epPMH-uM zK06>_M^LLPndbAd3qQ)p8hWn-9dh5q)e&p;hPoqL295pFr#EllJrTmLk`M=}`Ds@P z`VV;_+VQ1c;ofc@`_2|ZI;-e^nsHC%j8a@Zy5^Lf#AmBCtlA0iR_$D@62i41&uk1A zIzBuf8E?Z{cp{vR1{lj7%opvO2;pf_FBOO%jMUG+kyu+WDJ<;v{gjC-&&orBTEyNt zLM31kOQlD&`%Pt4Hyd#HLt5rh)v@29n@Hd=n+`=<2udSo{b4_A>DC5fUv5Pzo{KBi zEbvc^Vk+y>qroVP^)Pwp=rcJv;5(yM1gwU`+yNJ@nl4PywfPoJ#BO?UnJC?Ncrh5) z?$>07zt4ttFk7Mg$+}dP8h=ZJwzlAR0!n}XixoG=5^R<PKX#qT=6(Xzho|h4Yb!cM zj!l&RGe2(Oe)Qv>V;p)zsu5q7+r=F1#hV44!i5?_Z?N#`@(c&9^~L@y#=N#(dNr;j z8Snkm8#n3;=itIFTWex+lSSgYRDNhzOorQ5r2@7taXP@j`X{yXP|!~mPWD&qWd((w zSD5xS+22LxHd|}NRV7bpea~s``1Aj(!#Y3;*LsM?<v}lVZ(p4(vSr}UMD(1f0S;6p z=X9pbX(u$)d0y~%GWa*m9DX1JIEv4<>Hqpki|sB#@eQlREJuEEFGM1-N{P99XjO&> zP@!P-Eq+gX_~?DSp#6La{%iD;9@Xs^wZ6-zE%%t)2eq{#Jwzt|zvX=a(D<F@`v;fk zD*ZQLCA;Jk*+BE_Ku0;pavzt~*>@wx`NBA8@Ao^|iin8;;g!@Y=4OxJ6vdqq(sz`j zb}#HhR>IfkUn)iB&<Y;DBP#6t+G$8m(+^)M{1tscY{d|Lsr~Yom8w1tDSd4|S#8W_ z9A54W3@JNJjZ7?%oP}Tbavx4cshXnCR(~ojDkLvH9?RI>;m8p)(Bz>D=1j+XOMjMg zKKG*h!=w7vRO#_PGQN#ru-K4MM)Z>2LSjP%;!-+LPe-7pze*+6!LbgE!;O@0;{VF- zw+DMsE*^>!JtU#?t;goXYTnfEWv*h~=%dvC(-4i2*X7D*XB8I$6?}P5s4LJZ?5F<z z^FG%_{x9&>UuI&j1M;aVNn;y2eaCaRKg2>h>x6REC0C=~=Xy4Z#{_ZTRsi@n9I9wv zKW}(zefs5`@P)4pWn$uvcDbUG`E4&4&cm=RNPK+Wuel{>1d`+@Zd_?Q`+vlfCu$)R zBb(UzC_T6V1jlinPrWjKf0Z|rN;uia?_c&`7h2X~-AH;L7i-5*E5kRGAIm?mzRrmF z<s*pSsi)zY*n<DeELF9Ts!vy}|L#*opFA$fdhsw>oqq5S`q61~(V1+%x%E)HBGKF8 zE!8ekwhj6J7uDG~K=zKw|9qTpt=0M#nEZm32>Ux0wc442pvb3AKO#S?$-J32p|^_Y zZ<$Rf%gAsQCk_>(V~+GRTPU!7>n0{9)I53MJu>47D^en*>7SHsGuOFma=yeE7ztOc zqd8+XykYo0TZmPA1w6I)%;qJ}ez|ZL{0;U02sevVKGjR)qvmO0#Aqkw>B&|Tan7pe znimkG7Bp`%L~0Y7o6J^*%xl*b<aAm{Jj|?=kQ#bGRQ#7}<(O&pn7h+8p*QViZbr_K zm9Wt>mjx|byvgrlsmfgjsyD3$C|}>1q5o(dcFG!E<09C(v5X+LYvsHT2)D=wZM(yV zo_XB3c-$q9gZ`^zYzRfL*mH%py=7JEDOJy*RM_wj@Y8=&k2_?Alxj<Kp#IWtF1qO) z4*A=7-J9Fhg>9F0_4vX$#>jJr>LqoN%brkbu_T_MLJ&-`Hc`)jOv1`K3e~Ha4E++z z=QV|2M;_lngV+;e`KZq73GenS)%DWlY}f%|<`ja*&5YZhKde3kxw$xn2>}k>QZ*;p zL1KQn#O@yg+owr|%|&{^rIHZ5<5lolbvuvHq=0qrO#D$_Mg<<cFCxf7K3LV;iWA3P z-Nip6SrFzCDr{zO6*^9j(m9?7dhiPbl5{=nZ@@#DrA>eAObc&4SNDQtY2>=8KETAA z?|@_AjH}QZIOn6XTR~tR=Tt;ozcj@-IEt!CM;v#9Q5&0l%X>Uf7-wI!oA_tTo63=M z7K&)bEga|1eDWVVe<KgHE9k+AG`Rlh<ZOHB=wZ1>86=I~EF%JdYdAsB)ns|2*7M}m zxQNwpZJVnQIfz9LI4=nDp!nPrn$7R3e^<G|o@6vvu(E$cw7XKRFRg??&~)u;nH5bH ziJf+p%yLyYkazD^C=J)%;XHhJK($?rX^S-W@J#Ll7oWzOj3%_}u`$#MS6!oq%E+I^ z`s%J42d2^&vpdF`(J~yqaVk#1r@OpBsXfv{cNBkKX-z3?!-Qgr9sf_gR#1+n%#a^v zsrAI-W@SB{N+_Y;2+G69l>u87CDw8B%hUZAG+oSX^nPAf7J`<tf?k>N!tP9sUsVE| zv;8#ujS!GZ;?^1x4di?iGTB{37ar!aBKl39kS!DgrIzh*M_;6xWZ@*KImvgX_W67G z->}UjM;Y9kl`Dhc&nAXDiu2O_x-<Qwc5mA20yhp*Z?FD-<h^i+A#|6m{Ao62(thD% zx#0b+b<h~%VQJfI2L1TY!LRi9;HI_|It4A|9;e1{eRBz3wR^?ib$ZnwdiB|8=i6lE zfKOqe%~BK(Qz{QWwGLymRTdrQ&nbnQE`hC?6JFv4^TM671Ywp(XNW@Jbvsws)CT<Y zZYP9N+=Pesb?BY!L$A~0)a7oF%>8%h8R%c>#D3t#@br_A@>tf@B;u}J;{m#xleo@9 zICZtPPx9{Z`T0!a`5j@Xu<Z5u*yoiG|0#ohMZf5AWAnRZt&e+Y;Sj&gzUJcX`PEp@ z;Hx4Buf+wQS%@kw`xH_;f^>$v#Y4^PV_cklzUN0<|Gga9O9<KG(7EbDBH22jeecOl z4<p;V14nw%K`{Qbr%yAa8d8w!>uvA41{9Ni15+p6C9Q;gyu*Y#j5Y3hmDdPHO%%~v zAcg5@s?Awy3cLByw^uITnsk{?J{Ej58EiKZp%^~0TXvQCW+$`Uds%i;1oRL?h{6N; z&sx<lFE2fE5>x!UOiTi+F4diq43`EyGw%wDzDs?fZ|lfMJl($TJ;|E^4>N8t88Pd1 z87hZ(&+4!b0qf<gNR!~W^g!F1>i4>&_KKvoX}Q`7tl}Z#lixWLB%-IiaF0o60}sc7 zto4AJ2cw$B(zWRH5;jHo??DWMvi+0hkR$=cr(COaZ{-}Fsx|FbSz@qpZRa<|*#6j7 z)2PMfRok9qm$5>xLl9Dqn9wF^UX-<FU-bFF3aYofnJ*MToEQ?W(sEhDh4wECK&e2} zg@?&etvwqvef7dmQlPq1GgMg1+Xv&JEer^z{%cFv*L%gR-4tZxk++uiYl-UDYhyMY zVUdtPbS$c0PnuNRESr8-gSbS}^yQK8w+gHrO!(R}=@5;!3xeVC0uFa(H73_|GQYQ) zx}C3t!)iR_Ut)@`$__~4<Sq$Tj48<f;HZZ|nDR%m6NrFbIh@<(>}8Yvr=K6FKNHUV z{<&hZy*O$S7db0r&SGnBKH->+3iI&IMC6md50L;ZkmuYM9xe$0ZNB_DD&57$laS`w zdU}X&6tOvi$-a>P^?skKAZyH}sD0EUw6&qdX+I0uGMOH;a1QM>+jr<hqD{u<vi6m? ziVw!Fcxyc4xf1I`zX(ZETW9h-#W#vo@-9Qmb2!SyWY{=pHU5=5xfv40_sRdURe!5F z<W1$MHmEHeeZ@IM;FPPqx^w)+b|-+*&_Z4OL(VZ#g1u=Bhyc%oeeYc`6YaK26VS$A zPLyZ$u<R(nk<ZbDP@9_NJ-wS~q;8sCLtWg?T>L1nz_nd?7(XJg5b@Wy-C@l4^907d zFO_?W$Hg%K05|K(LzER+e8cSI2%cBTRIehux>&d(+=COV@k*}f|5`dw=P0xz@5)4j z9EGe7lx*-E6thGbA!*|%FsF(o_M{G~w_X90$x$(C#R0fySlHC>u9>ryzbL4kV`=s0 zf3f}>;l56mKCf@K^V5NhV|&}mM=R4{G0|9AwAduwgHAhkq9U7!5BhR6e(qiQ@4`ph zzYA4*2_;e?lhc7eC7n0>WUMt^`IPR^2VkF$r7%B+A4;=g(}6*19PX&lSt=zhn!Q5q zmX)0P$;kVeNEC_c-ge}F?DXyPX-NL(Q8KWlYs<kb$0wJTyoZ<A=2w$f-z|O<nk3a> zfoJdR-^_cd@PQm*m*?Iqs$EX_K`u$m6O&Hm6$vI-Wr9@~N-5P}2Gq({<(E9n`sDo1 zPaBjNgoxJa-hO;lsVcZ*!3u?mubpu&c$m5nC2{{0BaC9B-%b6}Qv5b{sDq!EP#P7t zf-a)mkMx8Wg>CgRob=l~Ux$Gmn~0sF<w$fC^G>u|i&(G|<i828(#r`Xb>YwlcJ_P6 z>Upb?hSCQxhqpllE)wp)(T8hw@st()@^r(5YRuLn884w0DuFCJ(P4rAmC0NP3+<zi zZDONHIN1J;2hR9>GDU_%vwS)7d0F2j3Ph{`-1%}Eqn}_n=9qFk75CUw!WMyE$vSL0 z&KD&Nq)J>zj3Rxn-(&z3`y8>iym5P+V|{dOe3T=GF0EYxh3JpVE!<R%-(#(W8P4!j z;%C_u{ooj#cDnVn#Bbv!UdMze+qs^)g@<XNNP~`8!ovzy8T?U^oDU|sqtgFE&7>1# zWB=zyLIO!TlU3xD#;pD(c@6GoG_DzN|LTi54_(qG$eSik%;aHz6fA-I8C8oI&i7kC zLv|svU=Kcj!+!_HEt}A}&j5)keyd+L5QR0g<83UdT-`$Uswz5-P~w-~>nxR~#r#Sn zU#nuie%bQY>iwv7?}@@Kszw_vK41&@6K7|^TZ5uOJZwA#c25_Zys8ZK@@7^ur|NJ& zM&AGbp*;MU6DdAG0-*nS=x$ViM*qOHwtT^2*<H|ITKxzizvy{RyVEKu|6-z%o`nlC zN}rLg{d`8N3g8DGj4%#e(2TZ1Tg9}NIwXa=AP!yNd^&I#ERC)gnn8M-3^AZ=G|T9G z<@zf<npFQnJ2rIiJ#gh9-=Z2v-~Ppn#y9>d!hSF|iX{cmVj3)HR%l??Y6E$wtea(I zK)t?#_1Kv+Upr_a9;VK^-Wid<paOGCxA8lMLI1a^j~)n-A|G!Um@HEn+j2VLFjK9S zGTK^~qF(~*&1N>#^}Xe=>eTr+bR3NGvTk4J;Z-B_RUyd^!E;X!IDyq;1hdw5AP)o* zqy1VM?<aIHKbath$7SmEMz}UpL0=U1JJL(}GUZV?E%*mxgoqePlsOObVaI~joM5Mo z+pX0ilBT4VS3&j1R6c$Vws{5U*Nmpwg!_sGQwZ+z6bdr%)ntae>CFwY<-?P>5nJ~I zRft~Vzn)G-5oWE<S3Vqz@+uZ3$8XP^sKgKW9gk-{S$VLUK6>%lAD^S%gUqD1d=A}+ z;&YqhE(njZ%Gsj%DR4)=65G?x^(TDThqytfovxoAZ8|>UbTCuIY2_HPt^V@(CJ+&$ z_{DuNI~MTTc*L)=LupiG04(2*rh7)Jpt_-4wzM`0F5<S-q;j@&+pzcC-u*sRV9Pd< zbVhkS=k*{$Q$z>eXO$4=47umBfnAGyI<?9PRFPy2*HkVlI(I>?ct4!^)SS(XY|l_f z>_rp&H-^^&scfkB054$J5W8k(t6A)H<jr732k8-Nv{bHwEu1M234Ap*D{4hQ?s&+o zui9E3DUFEF6$zR8RXBEwE_i$Py_Hdi!TBvKX3c{Ila}7eez#^v>(A>qB@?T-_P-J$ zpTm>ah)anZG-PuwQJF1^@hQ#Pw4p>ULfHejg?h50;sm<;1S2G=eT<=!_(+C}M_c9f zLscR=y}=xlR)DDtthYhBH8E(xvlj>Q1o^M(3Bpa_I5tRJ{^;%bsu$Iw?Z;GGit~<> z)9Dp}Ey|=^>9Gd?lSe_C5C3&op=%{=e++#RGk?*n_4Ugpr#8WGfJ=RWeg-e<&0xOz z`(Mz4*o=(8#q<&|-yr6+{>cY{AGeG<A56LD?1PHC^M5SsI0i}IP6}bi(#4n1I;|0F zA$TI5xz9Y)FZi^~rs}+PF!6M4r;oT4xGYav#RNEI(orB+=!Y2UXa{e_O&*Mw#6P*q zz@Bzl3MTb`MU1nadvPboUnvU8bw8zUiU=VaMnVw;>1iCWC%|fTJ<%Vlb=%6w@8`;m zj&kPTY*`FyrgA*X`C~*(B|1d&QARlX6#3}X7pDiO>p(bkYWx_BXsPcyzR9&eH9B!9 z7lD${(yMFAy}vD`_`zn`e|TTrC6@oH?z6g9LW>Zg&O-GT@jxm!y6PiETxQ>X9Uw8| zq%Rlp^EKCekf60uLa4W|v;;G+JT%kOfPQ_eOGNU`3|Y2B6zeqHf}vS}mj9%$v!3q3 zX^|6EYD7M46t$muLRzU=WPWB-JWadooh#3_(fxG>s5i)%n!RS`q%P*r%4iWs20ru2 zQM|pi>f_St|AZ=D2{X0DwQ(#x+_9?Booi%G5tOU7T0+41fZDvPriJCsokL=QOv?;a zv(*XpUbVKgDdmSsdcoI~S8j%;LVbT9lctsr%>fMvs}%_HiLRdLpU=Z(phHwUyh82A zY?IMO9049`kv)roT2y%hG_H!;L<(P42Z_kZ9{)%d78zh)_%UO$sm*0O2pQ#Z|J!^p ziusjz3B`}zGz$|z_eRc1fxkNjhn@EhmI-lKn0tMdZ`ql^a*OiJeN|0h$Q21s5oV#b z5xRfQeV)10$@@Fa&CwLsyZ-^w;)am>pM!hwKar<uI?twtOrEdQqS-q`z~Ta>YqS0S z!}Vm^plZdbcsT962C)Lqw6?GvzpNr-{m=)7vX6%L=igsMWezL+Om+%|v1;_~zwLVy zUvd0Zge%gm0Vdziwu_-V64I&U!ZR3A3S9~bO=G-4(hBTU=o4b3Do)4RNAXQt6Nvmg zLy!PbBxk_gG$QQkdDiNvKO%f1ddeRfy}bTU^a9?`?`Y>vr8XTuC1tVgJ3krWe@^A+ zc(Q$^DD*{EoSim3mM92yq;;H-B0k{$bM8<N$i}WrjT}{fFueq|j!xnm0av*@GifHQ z{<CkW@2uT>L3M7GnuAIerwKd>3Z@ztVe=nenq42474trPyrx!PO_cvZ{RZ+YN=Fd8 zieP;|Iq2;eT5Cxt6`(VF9@)sT3qM8M1Jw_1w4NcZ<a^F6i;f_Kl^#&_l48$}-!hYD zo44KYIa^Br9iAikQ(Lc!l@#9o_@cuxq}NuX;pU}I+yN!&;FQ+ev`F$%h4{AySFDbD ztA?}ICoxtI--dnvFdkd&7_rF26i<D4_7=#vV}#ScMj~=(W)FNMY)<w<%4Y<B%|G;~ zo71ZJWzIeA#Ic83Jt%)w2Tlan)F!zJyn7{7p^#uT@6RaIIfSP)!bkaWC|6tmgN&dY z0=>muErRD7BfE8@;4xuE>+w&+9oqHXf3MIC7wWc>oz83K34s;-^G0O+V0q+s#D5z| zPS@8Pr!Hb|KOy7?9beA+JK~B-5zRaJa7D@QKO=Mg=G30asfX>OiDT<hnIy*plVcbk z<=yge+(*8iV!5nE-|51!Go9y-gvP0O{?b#tHdgE$!t%5@s!E3s7R*#Z&r?E7*EgsL z$LArtc(;<goN}=gl|=9I1WBTitZiZ2;@H8FdmW(Qe`P)7uICLL4<_>S>Bh?OG(^Dt z{@oclp&t|po^$%cC+|&GzHv|?;8-dz?S<7o)^7;VkaNi+#e4m!>7XxH|M&HuEA<2k zRZ7pENuu7N;eYZ@ID5<{<KIK99D3E>Gz)+Wj{td`E6X=AZx07@({A&7#3jY46Q@Sn zRgQz~hgS}4r5pd9_<h+Zlb`xfbCuLWk!6}EJ1N_if2Z1<v_myo3v{-1P5@0`)0BEq zn0fbYWcbE)b*z3jBKlt`ToTm;fz(o!Rf_1!n2?Fre%i}2N0RcXeONs^(tzvP;|}ot zsju&@xO>*An;N8<a-9_Ezo<F}e_UOBsp-Ijr$!Mwz(e5pm$+}oqt1=A+(}O&CeJrZ z7m6X(m0%fuHlDJea6r{07rRA+dc4h3TqtihsS)9(k7lo|OQn!g?preUr-4CP7ZrN> z-GxU`n|Ed*&uQrJu&wl6Rpyif<G&jcGxd%u;eWl>e=%JnNr7=cNpgj$QIMU>0%RL$ zSa)@bNAwu&dS|)qt-|b^D#Vli`V<1O>tG?hnkJw3uF2upk60nXjejtMs?;T~4U03{ z7g(Sz!;U8K0asUv_TnqaiLYl8^~WS1iiqS*^{5zfzgrT)xSQ~Qfj^a6zdz3vea|Qn zaw>I#5WoZv?VHxr-;YntqnOM_|J!`m6OtVMpf}q^HKq8QXMvC{THUI3IE0Vn*)`Q} z^^L~+B<zJt7?S@V4d^740|g-VKtLR%P1(vq!2O>mL3EDmF1QhJOV~W-L)XR9!%^VA z=z}LPe{V8+8xDtbL-<GUR#Ns^;Tw2=fX%M{51!Arc@0M<`*c@3h?a!tEBJoW6RG8* zeO8t*Zm6aqxq;a2)HXOjc5_=hA!l65NSRbCqaBOvfLMWvnB1K9ow$MKs=MeWO4zW& zE{cOtu?g<5a+3A+4!c8wkU7|j+t3~JkHq*i8#hgAaKA8ANiQvtzraL9QVsSdU!Ij& z^XQA<J5vDEm+UQ1ze@r;i(w2N4R@L~aa!NwyQ-GS9LCT=iMPrB!?^>)n?Wjtokk$U zm=;WvcvTGJSAF~guxXOnbA7qC6RKsxwxe}9R+k|$nsh}EGN24jQk)Gk+0O5tY&A%F za<jT;l=Tfdy~e$e0se~)f%=Nq08h=uLxS4M#6s$Q2a29tpA6^LK_fGPc97nv24Dow z-5o#Ul7axgDk@E*ZRGVI<P3p|`Db0R&%d<pUy95aXM;C;w3vpoRht}U^&~L2qlhWv zmEKzyre1x{B>P&$B(EZF)E2Tcu;e`r&Qoa2o;0kcib_jl$Q1MP@+1wHDV)#Im5kuY z>KPmqa<wrdv*4%@dw4x+=QRy&AaSIu_r=Y?;`cSh{IAteh*JB4j6`l9R1DBF&jRlL z`U%`X0grXpn}=(fS}buoJDfmx2%emW=I<V~q%Yf_CZ2djQO!`HA=I*H;0>SX;D~R( zFSEdwSm2F^m3!$xl#@r%1|u~+v0FRHp^BTToA~Q}<9uf35Wlm0Ps5s_X(zqfSKB{w zvV>XKDfD}#^0{AS`Q5sh0o83@hV5@}+I!tl*faQ!1lx*HV*h4TZT{MquXSEwjz_?g z8oHB2m4_RlN#B+h_vaF<>g83VkuSf1?pB_Lao|H|t*G(t(x0Oa{7h~xoZaxfSdBr3 zJajK1^?$=lyy2NZS)<S67!U~%2LfJ=2B~Yf|5?}zGjEHsl-s@+2O*H_u+gfm&pU{j zVLvFE+tq&VQX@BX1h#P}yTH2#glmPVZ^AbSuVmckVGKZ+xy)*??5fty&XW&lf&v2+ zJJnSScQyNaw-s97%`AZ&(CDOUvbJDWj}Q0_jPj1uV`A#6;6KKKn!2w#jZzam%H&SO zFxC6o4Tm$(>S{1zRsAWA>*tHIaYK2dTHuuwr_Dz^QO23WXco~tP&hm6_gXBMC$;kj z9~1*J>+^ff7T_vUQ1L?E9<mEvd5~9X1hpQ<c*N>rv13PM{OeRa|1b>hJhbOSX1gFH zs@mM0_?V0XnOH_s5q0~YKeNv+fb1|WJ{Kv~Z0w$Gpg>IM)6O~Rs_EJ$dY{sT6GgAI zmQyyqA$P(ph4RdUZm)d??G0^HiUg;5qB$)QIYn-3ypy5Dk!@IzEAIZHwfu>7yxf<Z zP0qsx&OBDGK`c?ydALQ9Q^ZZEw?d_=`e@ttQ3?eb)OFLnKZv3TtGpXFx1kOmw7L3z zRi+%l6m1NAes{tY(Z*Gs%lW$SjMs)kev;^y63&oJwyQuBY_6lIys^@O++z9Q${Ut; zF=hj14g(%Vx`g-XB){|Vx0_bM@-`UhY2S7EZvN|DB0EY?H$_wgB=+{<KX5JQWb5bq znii<dX_o{-(*`a=MR**XMCdB$sE?dLlkKePuF7Gou3s)-!<!M$#<XDE%ZXvP=(Jn@ zg6}@_NmICxi?pIhynkzU*0O-wzZM+vklKPNDIJ0jaby**2=0D3(QhzOM2ni_RiqNf zaQM@kG<DazN;D^(SBJ+bMs7biQt=P)8AGwP54kHQJude$F5F^{PaLSSk{pD7;7N#| z<i^=NXP<ZQLz@h}Jj<HrcAD~`f>P!3hId;U=v<{6^FO8D-4e9XUuw6@al6NT{m)#7 z%F1<bynq5J!5iI07yIT3i!LYy*thL8C~e^$R6GoCCQ#u0k9WYmsSVrEo}`-Y9vO8M z_#Q6+3LN!D-rtVz@shwzHPmYw<JS3$FwFnMbAV{&s_zrJ-szD;^b}Mm?aSnqX=A*j zsTb>gjcI#vKmU*$?}XqO*E;LGO8#ZQDaHrYr?l~O+!wioPcMQm%1UFBMku4B1LV~k z=f8F*9$IKxdnxT`OoQWY&4i#-30Fy?OZQSB&PVW3ma}F;Nq|Gc9hIedyovKu>L1R0 z)dd~`Vm$m80xZ~=5$g+sI$+UuF-AGV@R7Jk#Ov_M^jntj$?=D&zSkrr&tt&r>UQ8| zzOtlOSV=iPQaqW0s2I(s_p$6cv%k~n$mc=5`;{ExID+kLG|ua5soAG>EaS4fG%+C` z33hRbT>2XI!)=aYesTP7t25-Sq;_>NaKnaZBUVMQ=8L6bm%&mc53<;EOcPa6A8Yw6 z1Ika|spY0E?HEgZ3W!GqG%SnMx9OewU)fm?UWrzyx$-1BEhFs_m*?X4wsk=?9&cdk z`3Ng^=m4!!qD<fDeU~EMV9F4_O@Pn9K8u!U^i5&yy3Hf2GvpE7$Aa#$7#&(9Lj-O- z4q=t+P8-ICWMBL!dcfr_LU0L5bhAbbRTXNB7Ny$Ktbolkc7+w*EdZR~D$)>k)Rk!m zice!yhbHSdMd3MB=+!8EziHKO5_hzXJ)e+X)_sy+rPRdh&Zs{ZS75I{Ud6(b=>A;A z$!cMSyb*SW!qDSFO;u$AwbXz2tzsE(m$wMF=H4lGG=71yGBH>RFSZpBb5c>;Kw|E= z*@%DN*+AMRTwd$r+g_jh9wzHotZ1F^F9l|=-$q<Y9jz77yRV2xh9<TkSt_!ka=c#K z=DDQ&(@0e>00eZ3a!vD4|7G9UBC1B22W3r#R?r-A?xwu`3d!f7Jyb)#mJ~HJ<bgW} z7w@786yY+W-u(ryC|Ks1IWM_mC3ruCKi0kpNlhlo9q~99dsN450gHTNbfj_ZYNto( zi%vb8cqw0HHbK|g;YHC>BK<l5PFj_qaG{TvdKL+<cqg$jnMa)R<;84;a+(4DGWk{E zRo1u5syAG<<x(=)Tr;eK@l%8nIm-%`A((F+?P(e_vk|>FkT&5NgHxJyKq=jF?Tidc zK^?;!$V*brdHG0FOsbX2w}~#xk83z*a(Ay${6xNn1-(4E>Z)x@0_d1~j2p2cdKl3~ z2NsuQH)cbVtK*dGUO|Oc$s;(?t_it~*mW;oXn31qKs(s(XOW_%()og?$bC^~P@$#W zCyER$)=-I}v-Tu($JB^F-B!e@>937S{w%(r)sC&lvyQs#cvXvMZO#+$`jr&rz^2G( z3r)U?<_o_-?b6t0PV6NNl?;4`9=K_KvQ~iO9}Cga!#{XkUteg2c{b*j9#XWJWE%2Y zw{c}v22GU=A1S!iiC5{fldp7C53$8hvVIAQG+2#{tg`Soq`B$V8%0Kl`?g)%#>VO` zXxA*AWd7Tud-hN3$bIgL7qPtVtDWG}FNIvFmv2)ZR;DgBCiPH*kuqRdkR_Xxq1p|@ zN3*v>9Zgvp6CjqwLsSW-<2oWRuEuk+`UL3PcWBVRr#BNbDM%kBP?Sa0M4o5v>ALBW zQy%sLfZu(SCqQ#mzGx6unK<x37fBH$3(zS2#H^eBp5m+UPZwfe!x*&4y@w1Qegc!` z8R78zYRYfK!ZVyYFZVaq=j{}fUcPY4UJ*$C^^bHWZYV>bSaC-+%`u(9G*MHt{5u31 zx2y*3`}%4v&BtymwBhqB`+xjYZy(rqyl18QcE1o8b!^PTgBY%H1`kio@YJFnN`7O? zRajl`FizPL*CaNo#z@-O;+#o#lK5)6|C^(bL^1F3_8@8H*>k7gWve0yUwp!k)GDyo z?E3SV4+^Y&9Cm`p+AR#;EiL4~Y;+=0QPTYF<}Of%ydJ!EO6OB35I5^*8M=BpaoOqi z_|Z8`IIrx-u+ig)$$oa(P4)dc60R_(aKEeq&_@%q)j^JXP1#&|%zg#<1fi?SypOFH zH;vcHxKrbY4`x)G+R1CDol)>t{Ca(~p<wyanOlVWnR(&S_z#<@T`~>Fj~sf`6;KxE zpdE=mVLxR>8*=n$8&dZO|EiZvJP5eVhE3g5Eq=OQv$0*z`p-B*DFOmHhVCb?{fNOF z9uy+U&kYY?PRiL;e@au0b66RkwB3|4+2QRADOzYqu*VoNlvUqoXtT2&v7SO%G<ti` zUp}_5-g{0oFH<|@W3{^_Eq59wsg*ugt+QThSt)-uaHmHXRw#c~bLTYajQ_7c&FK0( zTi!BpY;(8*#l!&v+WV^c`%Ye$kN9Y%TVg^aT%{XUD{B56#}AdRywn2Wg6sGmj3pVv z5P|3iG5(6>0gaqwk1Ig*Ys=<ry=QN9D574g2ecHfZ=BQtDmk)TcTGG_2ypjHIkId~ z?hG55SR!tz$Cq72tX9N^c?00+jJvEk&uUMnSI^7v_FLKQMqFhORYdcy=vv4IEy{5? zPY7G7kD%;uBxF|3PtQwY@u@~-l<k`T@hF&ECOn_0?Y_p$BTFNXox>vUN2i8x#bAa3 zi`^1NpQ62w<zOpbKKAH|B9K7*S_dq3qHd7!p%j$JaC2CEdBChGd<T-Q-{8@1DzJs1 z&w{WcWaifHE^gsUrf2@^Pe1*o%uj(lMS%FC?!DcKA5mu49<uUBD<>%yp{+|YBJ}ID zJt4nAkJ<8P8&!0WI>Kvqx7&l9q}R4*H_ORQgcLhDm~DR_U9v;3L{;E3U<AEfQFClJ zDx|%Lv76SM7SWU^ZbC79dJ3@#f8GiKp<Nq;FR}{o5p@?M!>nzx9gNY~yh$x5k&j$z z%QDx&QmeNI?qS~eFiY*b5bENo&ndG+aNbYr<sjUMp_zh116t1>m!+PVO$le+=%w<a z+6shi&ex=>!Uq#PzQM9Ksbw{t{2Uh|_OM4iieZljyU=wL<H#utf)s^emn^nle72#> zTvr2-@wtVUN$Fdd^WR}5x>;F%#yErr_P31RI%~>S<AfCe!1l+Je;tV{RWp*EARw3! zQ&p;?`|_{hBkJ0un*Vi&)L-`1-AJw7T`NO!9w6%}?63iSe<f*uxNtuRxWg}Z_WANg z`ngC^Nyh7f5QsGb4BTt={C;HVPVl3<@u!EGBR|v~69N)Pfff0eu3$rC%@F>+)M*=Z zpxU&qjT6Totq(;sz*7|X6i9lR0}HZpbeW9ihrbi>Z->Mc^x)O8-|aH`=SBzd+K=+7 z0$z-0i}(#ZwJcdjfL5Qr;N|ina4r9?3;mMa$OAb8eE>n}p~>?cyy}v}Js(i%o+y)! z78!rqRyOBz|Al;eovbTxF#8#jRA5d|5FZpoJ)f8lQv&s>H3SK@;k{QOJ3kuWHxD24 z9w{RZ%Ts}+C4GqYG>$>9!j_yS7L<8#v5bol*Kx}Wd`qsEM?Kj(2@egwJw58rcwCo0 z#)J6~o=QwTGS;^fH~bctIj-;{5$b}sj*+-0C2@z##Hq1-wOLU6k=y}%?A%ak2cGUV zIjXCU*JpTi!S*QYA5KtV-I)ORn1#~9<*MJsuG|&q`Lc0`Ey=R$=?Q0y5VY?U@*oL9 zAb%GEu<U+@uP1i@0o&Oazldfsre64%fjSB$@-0f%&cgOK5e}#tZ_}qUCq`|;dK|M| zlPECPq_%J5^3md|vJFGrxOYA2OFwA*(`P5}B}(OHc8vy~O2+=qjI<a{%x+9+4SUac zsjVxpQV{7s{Ceckx9X3Yb@~U39qW0I5Vb3JbZF~RC(+%Udnh{>)ll5g%5z8YdHI2l zV@Jpc(?eKH|81&lFL>iL@IIO_y5Wi8Hm&<AutO3~Ln3D>Lt7_q*(uw37blNkL4k`} z(>zQeCM*J0?)`@?!WbfMVO5w)d1UfSFPzjy1Qf0?KGN#`3U(c4mpU<#abo?=DjTgz zjCo}5VA1RVz;E+O8sP*W&Ug0_2$=orUpVzWOal=^Z%CX4m6flni2p_aD1a%AL^D~@ zGO0_A**}a!8$wj^3=+>W2bfH(qU{{TG9;f~-~}nRJv}{KRRr8?^CU{u-}j>oAcbb0 zxxU0I4|~&m3k78lUfp{?aYcmv5=E0a7Oq)Y@z*!qZ45?Gf|JmDJ!1n3DY}x%<GJvI zP_OH>ibIvsExWMg2>sYvqR|*Un+)<omJDPBtWzUBD;MUoBT+9%K%B>-F+ZIVRL_c< zQ9I#XR>MDiP4$*!p?gQDeX@^UFAnPN<SCTZc?h)Tm(O~C#)J?l`q(?Z^hL}4TMySv z&7f@7^&FPNFD855uMDP#a(X|KW{z#yB3|<((t-V@OCG@+E?oDaTmMjV0}C14kW++` zlObC}1Hei1AxD%@KIjRfN2vHfTwVc!ex$(NKd0?H;K&ELcrPQNF}WXHh>sj_?ze{E zf{PBucpV^iiFPl9QeW28GDl2~eEci-HZ@hSdOB^?7eLuN9z(3Oeab6%T9x%C3s2JI zVy~d)BuO-?PxcOBS%>v}!|UN`3s^zy$`8EJtjH<ddapDiWuo%xcl|0KS@~$?pUKS3 ze=b`_`-i(au2`v<s49R2hf2$T5$oYMIFJ?~O~ks?7ff=(A*5Odbg)0??imAC`}HPr z=SVTf5-1kp-Qr5KT6lQ*LlSuUdxAAI6hAV#6Z<FnwT3yTh54x7Wf7z2lmA~ZLdh3` z21STP_?hmelj~`_QO5IGt-bSKoyDB74ys}xo(m5kz-(N$4(N;>`#v8cxZKK}X+p|9 zo(<g|S*?E<+pvZV(@gBauSs&8&nDYM+jEpjH!Jqran{~`wL)Y0)Q~7z8fv&&lB?xJ zyL4nY#_Z}4lqx^f9`#rqhAr1Et3!$h^ZM6D7~WMxfPF?IL=8^r??r=tmESPq$x?MZ z)32qDj%;ttc|S;SfDZ;HUiEsu3-Hb-e0HEE<^gnCAfvpKl>k3iynFVd=n0Z^Av-{U z3S@#gLPYe(&QGjn<&`q7`>`3o*R9N<O9l$3xAor~PwrST5M05}L0u<xpEStN(vnUt z(LycotLAvtIA;!}%$%30D_Lb@Q^-!V^_5fQsg$4dpM(z9)>12T46$!^&vv-G7w!FD zND4wH{^aiuF$!(W+8YuN!@md7z6@%ok~}38lNk?^t&_LhID(DckhsYloiOp-VJx>G zhiu#@aS|V|<|Hi;`-{h!$XDp%mTR|bqU-*>X0D%7Z0i}u`#j*8@$OBqmXx9OE=esj zGrmvrH~D5tQ3_1W?NRy?dGo0x_!<L0q5})A^ssk7+nM0<wT(4Sfas)^pnhmRd>JR7 zRR!a_q676<5&x=ptJyTI3|(k*Zs(@lcoV?>?n41xe$wSw1P8DOELs&bE9{7&e@f_> z&&U{|hsX!4p~B`ec|#r<hS1J-`>~;qlCnqwMY6K??!XZeK00a*Ioi!rqjgO>#5fvi z$)0VDV`?PZ4t`qx$fH29HNar@Qa(X(PSgQpyg9$7`h%}$*TU)YtXBzf$IkDLknSx) z1cgv^Z4h;QPS`8@V|T?O%q*fk#4~1AS8-MKX@<3Wul0MSY>~01Y>5lgaR4&Bx5#+c zBE2@Fkc~6LYY$PB4gm2%rDa<ezPaJScI51pJN?7gUH$y;l41hLoSvisq2A&$Tl7v3 zF(1p8eVOI<1Bu1fA5VG@rz(C6L0>?4^W;mhEL?G$2jRI|B{>+3t>>&Uz#M?oV|9J( z;e8~@t4|GWI*<XZFQT|iWdW;}z28$rzwB4oLc0^)`x7Bw_&n7_-u<<zsO;Aok%5+a zi%A>9NR_T6NZ-y@&IKEnhT#+!FvQ0mILx3ew)BQ-{M07xuH-tHGBuuAvcHqBSECip z;(T5=m+6q)VbRa@DWtWa4-%bW(06aTzr2{}=VM23MI@fIo}aLIuFAR$9U7uHBsP>0 z?gtkvKKreFej0BmTO+(IdY{=uc^&jHPu;}#O;1yVMW5@Fff72_+5`#9!pWEJwolrB z$*srV8cF;1dj==3qv-8E^?jnkKDqtdwL$CmNVP?1c_%B30|z~Y-iP)4a<n!e@@odk zCEE9xT?=OkvK0Juxt9VPZ+XwFgY+kYK2=AUXiKLr-HkMI$E(arr>Gu3N8!Q5h@@D( zl8h|r_X8i@Tkh<%)~gKtAI;5*gJXlbskc%mUi;tiKNCc(2R_p4i4#YQ`U3&RGMsOd z?j&-q)-Fa}F{~UWS{(A9Zd>YT%&CztG(;S|dN&FEV6sYUuF@AO<jBY6sB&sgFb?q% zAX_l^-15WL)YTCN&$u!-hPiGG^sZRV-d`HUke~MY;}pE6KBt1IZ2!sfPu@OT945n2 zI0`CFje^QA)p<-bm?eF@YDmw4Uv41<)orFbQ1Oz&UOl+mKujC=*LHte9AEUDl$|xi z^<_<EEOasMubuXa5xi(=C>sKAAWPpZK;UVR*P{xcvlFobkNr7})3_eW=>pT1dhFz7 z2%cEmz3u0VKL)ivPT)RLL|E{4e~D8hcq$gr<v!hKKLRJ`PY8ed%F+IpFM?x{<b(81 z>pI57E|I4o5w)NRDf5T+6(Xd=6MOY^xrpcb$wnL6-NaIw`>8&TX<4uJFcq!Q^JfoI zC^G(oD6X~sQ-+yKF{MA>B?W*Y8ZB4n`#ZC6pE{AD&Z~`b`QUdr?%h-yM_M7gzK_GY zhiBxHfp_kx6I$BuCZ|fnE*A?ADl{Er5%c#QLeQJbS}LIvGMBUIdkq4QmxL3pjhYjT z!Hr&R(%f6I%>w5b5j;du^S>S4qS{s}ETj#vKTYNJUED;Y7Xd4<LC|oo(4_7}o2fUV zbV81fY@dZw*2T%<lzPoVCE>N{r7=bl$u`mx9W^z+JbA$C%Mocd;fc5jV|l(|tDj-U z#xvbVyXRU`*ojCfp<w#+xmm(n(;}4r8F=LK7pcS@AkdQ;L-v6~YCKG7_>IW>SysOl zvd{**jIR>y-)ab`iqERZ!o0$?UCpAtG&o)dW)&OvOm~x5PA%w>rBh%J{41*Ic}17% zVQy;!p`WE6{^}#3Y9!%Uc$JzLHR7+9zepioxR||X*M0l4?_iO>JjD_lY<Xh3dm)Gi z+h90;9*=<Up$&mZ@L^+plN;N+(Uv1%*Sc3PU&sB!v^}j0BKc~VV5{^Vg*~e6%gu}@ z?g+}Foji9~$y1RZj&$EXHRhk@v-hhr#Mgw9%xP~B=ULAM_iHz`=sGsH@^SNcY<$Ls zxmF@PQ<iovjAEjb=5CICwKJ8b+@s>Nxwor`-cM+M6-*TlL{57q=j$*aqO#q9`!h6X z(b7!YZz;);=ek}n!s*k#`^6=1cf33a6+od|9Q-dKqVEy07Y5t8sgvyrLsTq?{k#G_ zz<~M_qw;_g-JxRF{JH0)=BAkhx|~{AL@%^QEVD(g_3S;zdE%JmBzhk(7iTRIYs#jN zyL!g7aQ5^xd+N3Hg`o^y(Nmx`%B?Gfuh@_6^(4=N@qfj&$F6^dyBrqjqHQpAt+vYG zV#gB~Q|EEWY)~d)XaBZoBNTRray?sF2rL51A+jJ~P)pBMOTfbsFPh`3X)w{_@R^8I zYhWm$<<L#b0%+uZ_GsY@6clP1!K5^G^oW?gJ9`f}F_)=(Ki2YMc|!`6?UyV>p`0vV z${OR;nH%tDLx247+B3uoG4xd1+I7m?<Dj3?IA|y2kOhpe+2d!?`T)z+r^lVB!5*KN zr1s#NXRl3NDAl1zfE3#kSzeo5nJ!REhjE7|283-R1HJBh=a?6T-GgI!mPjEHm9}u` z@B$6}YDbu5jSu<}T?;4(t^*3H9Rk+@5ri~l-Or(FFK%Jh8(W6Sj0gO>>=-G~=9U?0 zjI86qzjoXtI0A`x56@%ozSCX~WnC&*BA%eI8@Pvpv!?f0ahibK=BA$JDZ4Q~{9l>d zFZqO2yh+wX4YK%eW%%n!^Tc@*Hja>wMMWuDjwZ0W5isJh>j`;;HagIa&0XGZJg`H^ zIw%Gd0)IT(*l-1hl#CF}iyA7ycYt-k>+dP!_&Cp7gbT9WvyoE@Dq7!4<|O7vUsy+> z<TVnI66fEO19rs_ZScEp{~4+41Ry{Y*sbt+Qa7>-O-PBbJ<evF8|}%&RFI42D?|1x z^<{MPucMnK)&W>A+~S%yz6mHN1*b5yIZp;TFSF3@V|zUwp+N`1MHpYt7R0yeLKW^8 z?(I<4?7^5bPxr9)0^#mDjgF(Dq#^_eE=_na4n};?k^A(5mEirunkUSE#+G!Rq_~2) z*lbTnq2&t#FX7ejqu4irmqF0!1q7xX5VWp^ZF8t-U7JrE<IjU>A@{l~xzSqaCqL9j zqGOa;T=wu=@dnma-N*h${duBBX`S5p&c}&yYlvFJGZK7q$rF!wTX>}_n<75coX{fM zwLWq+2_|d-bp^w%{M|bq7B;%YH3_}*x?98kKHrLhVEr_7-?NT3M2%+r=$oVu+qLFp zYh%k5w+L$S0!3Z4J|MJn7E9u7X*Wkx>xMzKf7~MWb$1qtOwQdy=qe&zm@iUYf9IMe z^K%Vd^CXt~>Pxd4<4mw0ZRSrA1w^8a8Ll<|B?}ezicz4HRX3aPns1%z>M3sG4Y$BU zrcYM@=pl`@+u87$1>!kfc)hFZvu{`1Gc5Z4An76K@kq9#D{PZ&01*JMgr8i@-YkIP z7Z3qm2>biiuEV=}r}?_>v`-cBy^7%p^AV)e`P0RJ2Dg4^@trfH2~uT8)(=m<_bDKv z26t0~uP&fgty8>fo6!)JrQ$gg!yJAeToSakoFBw?6VAIKub2&kl&<9(eg&Czy$lkP z!JWB!@I5lTmgoI1&kLH|h?Qq$Bx4G=*f~Sov@a3@{NFs=9HSHfpz(;{$Js~Dm@{`E zN@y2oNNd9tl-x`h0uSC}&u9GGR33HsEmAL!Tbiy{tgWPj^x$*yCm&0tIP>CbLcdiy zIp1y)Xg4iNry6aJP%@rNc}}auE!8@e`K#Tr>e@jWlUL+<7;))lk8dcHZ><fkHXXap zxdb$fY3E<k^Z)Jc|L=1|3hsCV=xS&sQuc;75C^JxqH7N)M`tp~gS*;a0Lr@J!LE*E z!{&#Os%P*EL_6bEkp<#nEvfG2v|^#?Of+0(0};Ep5&C=pyFlLkt+k`G?01<{D{sDt ziTaCeK!bwyw#jgtg1JIl{YG9};ueqnxlnYPsc6%|2tuGYCOh80i*6WB%{;m};(f_@ zD8ck;Xc>(W5B!QyHZ>g8M~kOYtI%azP|Ij)rKIL_*wQl>MJLh){ui-MSw#Fm@AxD{ z6Vdg1W<5dPviDB42n3>~bd%2jBKWs)kd-2lm9?VhpPlfqmL*pd>2(nLzGxl7^YJD8 zn(i&OiycKlS}AS+qqf`LBsl6&_pP&`TjPo(Rsr~FkiH#uCPvs{eQ62!w2pfcQjB(8 z^qUG-z?F<8PBVJb=r+(?vPxHSTG2eZU`FbBoZ7?|`A0(WCwOg*VTMj*t>OKNUO9yv zFQ5|z_TUWpEEd=*76y8|y!QK|4z%jU30g&Tuwo-_fHpP|#6qTi;7v3f6ibtg=m-9g zy)+D`KSRuB*t#bsO-RuFF&IBw^w=$rwW>A-U8Ml<?SjDCCa;Eiww@W7WbR)OBwh?F zZZA^cYN2(i(B^1550efxzuNf-#feI{OcbVbS$xL}($|AjG&1d5s4wPif3=p<5n_n= zA#QGl)y^uNqEE#L`Ogwqpumr*noRwLXfX`KpJ$IAInVdVyqW4q17!K0JTV<z@q)C1 zivoUrx|4M=3bh;Gfs4-907Y5g#q^!KoF6;*+Pz)aP^O0rU)CiXeT|hqng5nv5f>4` zk-`4--rP^rvOAMWg0ONv+1P~zn?MEsw~VpHd+sN%Upl+aZ!XoY`~~~IEesIP>A22A ze)*mDR_9!_wO4{h$xZ*{3W%8^y!ij`n+*nNBo$~b-|dt;J$a(<E+8sT2I?rAGy$P6 zpy-6_&#iRi1ORj72@d7gg+CM4S%U7qn+lYXPk0mlqIEO4eNcdbmuS$w8P3E*zIou; zKBEf3WB^ez-DEUIOh2%&OP(g<uQ5t4Y$lK_tKptfocxG6hAlv%-)0V}!k2?&*JT-n zi4PgrgS*A9WqHPFG6Tg$-GRiG^JCozJDQE4s{`5lS6O2)rDy-pz-tohs764p2!Kwu zt83}qb>{8!EKnre;Mo??iT+ch?)nH7LKE@hZo_x~sQ=%m4VJFtqNt$a$U(8<6`2g? z$aOV%F#%=uz76lE=Pl0k#I4vL%v%XeQ4ZQ~xd&nzdlDfWqxo~BqEK&XUZD&lxif>L za8#}S&;Yl#pMe{{s&A+!7v>KRv5rR89n)P~u<NgaJ5XSG=-2I{?lPUGD9Ci1Os+I% z@$S&jcCN?*v`TeNhN=nRc0@ka`v1q%S1?4~K3&rt(%mWDT}z07fYK=;-QB%(N_Tg6 zcXvv&AV{}#!@K@(p7#^%{;rrgbIzH$YD^q0y+k0iiU(qg2QXHtW4+wGTli)G*y3eq zQiUs5Vamr`47uyN!ak}G;lomUkE`e1Nl-6?`+=gwzC!j7PYm*_c^jl@4$m-3{D+?T z6Wr+>E%nDc8lm5AN@lh00@+-&sjdlfE!B@XYchNf#0iA*3qH1a<YBEB$o;ujrAAwr z*6b1sqte@aLwFq*+Ak(>l6Q}MY>fi!AD_FRK0cz+iP?&nS<Zx1J#M>t=In-goI`kb zyy?%ZBFnBZImhgOBz{HapICRaKP;nsY}7{l&ZTPjwEL8w_BO79?A@`)BscbSQOP$J zx7<1{`_mB-u3SH7!r3VlGpZ{jD?aFl-=&{rk;ZlC)nac}&BJ8SO~YZnyMa}B7XJ0O z-?b2r+TC8O2b>;gVB#X{%2x+iwY3ZxPgHj_ET6tiDA}y%a+=r9$FcF+UE6y4-5TP> z!*u56RRXx-wV3~G(}2<5=FXSzsD)?`EqXCyk7|79Jb$5nvwDjDx1C{MdhaQuR)No# zkw;C}9er{4A?yN?>sw(dcNP<3+ert-5C%h3DvO{H6js2??D%G`+T(AStBnHQkHqrL znkbLzhBLN{6kFgVgp>m;urJ8~@95NBQ_tv@rBA&%-b~K#Opycm!FzLfvs00Si&u5O zDb)RDzWeO&`EPtWlmghxef!X5<Bfas&LsME2nnCn?(Q){@m|jka9@<zypc#EF(0G1 z-4Zu}3JKzf!#=mBZi4FD9m)pWpH{e|dy^PjGOZ~Fmmu9emSn_(O;zfgX!9;H6=4tW z4;m@<SC^p<Y^QU0@rLVGD)*l!@ttn=3se_%(?=MAQ|i^-PtVn!J5TM?PWF-1TZ+}9 zA}1k%)o(2{h{rGJVLv>d=%^9vRTBE}wDGml4_eocIQca)k1HlVt92b{Ijxg5rt!kj zr%N>pwA+88*J0&@)!y6b`RQjjh!Hiyt%+%E{&QPh&2wHj_>mx}pRsA>Z>#0RO~O&b ztR<s-Ge4OV<aM*@Om@;hZPrz@@yy6wX7f}#T&Ae5znb*YP$KHNF7aT_&8?lSRU+|k zU0+{U7yFEJUs>XAQ3k=+Y&Bb_vKsSoD2|b$DjMiz*jYFWPYEus*+K|gnZ*1oGF{?E zh5P=uRP5+qcEuUG#HtcT?vO2-b#7Af0Yy7=spCKVX><?<9F)WQ3a1a1#hC~#M#T7m z&mXBq_fDO3eQ(e6aDlJR_}5SeHyPcza8UxSLpiS24_5UNUhT~*K|VqRPG{CGtuMFc zOT}R4*7;j;JV4Li`#dShb8V-C<cl%8d}_~FQi}E|?@_OW6gCff#?vd~kV+c(1)&Q2 zotsKu`7vY`*r?j4xjiV!V@Z#AHgnk_wj9O%<)BKQ-N}vpCXM(6-HrqsMW-gIawX}5 zl@j<8B0pI0GeU5k)Y0I7MIa{etAgm7<M@o}_$mxtKu<Wb^&G9m!!=+(Js#rhJSJ(% zoA$aE;aFF5xNXhBT64u?(3h$i)N7MZLHF@(ogL!|r_u#S`{A-N>brNhG!pmC4LmpO z7swv<I6DTsO5;qOrpyG2aQub+x~?kwlBXPZvH*Lwk;lfRd$$W?LNN`NXxq0s=}s`` zF#WJ5Lu~Fybi8G-<Sg|w*aP&p<0u@a=7adMI0ub2#uf2m;LM-B(zY7*n@!{hW>Pg~ zrL)I<GLXexKLTzU)&Yj{xAe8VA;CgI>E?B_qj8=AoY5+3)y&ws?fOsQbkk+NZG5s9 zRfdNQLvmBcY7B)gM%%N0#`7^Y26MVQ2QEzhhXs=W$RdAuObVewSKid}y<NTp*3yp` z>7<>sjH;_vhV|Dqg1r&<;mEYT=Hc2XKgoLZb`_uKz#9`e!|mlPODy`_2*!N0GOfs& zr&Kn^?k?Rq_@kXfSXrKv5r^qkuwSbRkU<0q?o>qGHm$aQcQ171SmDfQSD|z9#C)&F z+9u(xC1(E}nYVmGCzNhUadNh={Ax<t^p!vJXyxa7`mk!v4#_f$dPi-`yBvgr>;iGI z_$UO`lTjB2nv!!|xCkpAB4QsxI6wrs-M@RDvZCa-WU1);H1CD7s@5{RdSd~e_}}J8 zk@>q7P*;aN*u@f|_ka-4*~}*35w$LG!a>TiRMlmturt4P{%D|h2=Ci6+PCC8SbdSk zr$A0~_fT)~gKJXQGwK9P<>6aQWaKjvZ-uEG%pNtmiZf^V2{xrAn%-y7RFL4<VxO`4 za{F$;BU%qD9Kl<E^+TA137vjejf4oGh^w~gGKeikq}=L6SVpR!wc8Se4~WLFFWA{v zv(}Qs{oi7^GM3b3UGW;v6k;0Xon$J@lpq|LDvA^{sHZTdmiOn`EH9Lr81U*6^K+Up ztSQS6rBGaCdd3BkhN5n@mVN4ugc!d`v`w&$UII;@5;@u9zYSu3H6+^`@BfXcnF$G; z!k{7;vNY)XTT5Z1(`@!<oQFq)MPMlt8*d+p)j9$!ZXpp~Bb8O`KU=by;S>^av5j}D zefjol1&i@uWE1n$nX2n#ia(WM``lPEo$KJLzI>*o(Z+=GFseLcE$QtpS$XX~plp_P z%1=FRw_3TI3$Gw;q8zJFF+GR3HKmllyQ_(NhM<8=rX&cB9;X2(dV6t>uclTmK6E|q z$l}%s`lslVXvoba*<-FYAQ60FTj4UL-uP+)cS5i;Ig8K{921ynN^)``ctNT96JuHH z`1s0}3Ou<4CTT;ljZ3l}E~>8&DqT(dIO;LcXRl-m4KC_t<1j9G@Tb#&AQ7<#XyM07 zw(fF3A`!~*h&LzA76Brm5V-Z>O<DdP1otaGY<3&Y2&{$mf$Na!{pVBs>sGDRw2k^l zZ%p!^D?Y0j>BpMeUpBNX>&S&%2+?B;SNw+e4nK4`XX(+R;+pq=ZlV-?D1AO-T&kKP z-b$|4L&}d)e+%M;uPMnu3Q0TWThCpZy2!(=pR0{EU{YN2)Q}HwUNdZp%MV>FJ$x)t z{4+cRX@IykKg|wu{@wvT6`pV}Carvnj;~E90)BnL<A(Yt)BB3;3@#ZfbwiUeNj%>6 z9a0&3sG$?qjD@C5oA3iJ&Wa-K{S70}=VNUbiGweC@OIgQ#79u0Klwd~GAL&5V1$w! zR|{CnS~gNqJnRg-j4iwgTBPWgi~9TpanPJJx%$$Ou=2M#nfzXFQ9NXbkNJInpb{ci zBubfgCSueF#0vie+zo9beYr8*zZ71Q(OC^uleXwB{&~<T=L(nW#3e{oNxOI2XzTXX z4Php|>H?_Oc&fJ*frQeYa!ECrY^UlMmxQ8XBWW>n_!QJskaC7uThwnWuX@PO6us3i zogC9t72zw`;DA!22k}zQcCh<L0~{^c%~adaJ0&!E$ISE0fI#)+8Q*W3+gh^`Cj*s3 z+5x9B_njhgjUP&Xw(?PH^V(BQk4<5O6A0Yg>AmfZ>n(6wNl(gQW`lwt^^mkxLX?Dx zU5$?6xYC`%f{nAU#wVrO0g>VAe#K|lCd!)+lfObsjYJ(M2XlNglZB5ub^fh_9Gta1 zmA4Xteq;?Hdrz@TF=pdq81AeKKF_soWci{V_0miP?C_S8!RQWcQPx@ck9rEL1X+~h zmD21C;9~xb(>*AmvxAa-27l6YVhA%%jb<1UOD%~uZoVcL@uI;auL<LqVZgHkX(nb~ zQvbpnl8xbPqnpqIID;Vpzhe%AQIir7S85&uKpMcl$$^FOVUO((yLkRjd1KPe77Ib{ zFK}7MFdXUq)~huv)=5Omn=i9O!PGSD-zqaowZ-goKPIM5;=O9DMPN-j_GR`J*!6hQ z6+vh#t9-=x+-SrTi*P@2Uio$H=pwC)^mx=CyzYeHbZ$DGQ<#M2l0@zK&`(WG6#^cS z*>X7L^dVN2jO}{tu>E`TjxOF%)gd$hIJcF8PljyXOgs=aqo=*gVx1EV+18Y$3!EAf z&&{V!=UN4cX{*%2%p*yU<n%8}u-sGj^TDJ)B4YxsJ3`T<v5N)xMUB#6XCeTsem=J- zX)gj{d9#nX>Npd<NNPGYo>-V+2|eya-s39=hI!)ApF-`qO7QDsF94*$GzhKD%5r#9 zFh5ASy|I95a+FGnBcm`;+~wl)0`n1%8_v%Cc}^s~i-7FB(*7<YyDuLWG0D*G4*}ii z3LzxwOp$aZg)^4umXOzT|7ZwL)YU$-x`-c=pRqH?1rS3Sz+GvUGXjnRSPj)v@P?zZ zW>eDsP_kH;<0N+_Uim}<Wi|*5kqk=tDSunr`D*A?=~Bo`I}6Os?nf)}q_kB^)9B&s zbe?Q&x9)ZC(F8sFp_Q(sEQh{l=`40n-K#Ufb>gbxz8AcaGdeMsC&T!Bg?Ivzc&X(_ zYk}|p)t`>#{vUgCESuOm5!r+mX=?01M1>QOAriQGygy{(Qa`QZa9#1t18;|mS{l5< zWy<CMR4nW}K*~KUWW-e2QM)_xpMXFY2}MRktuwb}ab{-G3T=G1dSFuEA2U>MI^$m; zxeE8q|D4pAh3>p3lS7KU&x)wFV57kQyO709T5$J5{9a9FFFD2hG{#ovz52yZgP5QB zWM@-;!4#3EmI5O})y577x<5@GQKew;RP8+YWb>df9&^$5v6XuT&CqI=FXrS|3=lg; zmqoni!EYS=+h%^kYxjNDyND#H^}oPA`+{0#trpbNS6m-x?c$l#^l(Z)(yPEhQB7ha zT;dpfF8aI(e#}gFo^tsM=_U2QF*xu5OSoUhr}y(vPl3~0=TwichkyPSFinP=iz%o( zHDuZ}%c$<IxA=rzh-Xu>pn8~t-2r-VK$b!Bl(uMECyp^4of!Ft?Zm?kn(>mCuV@NU z4c05x<O98--&HKqQ-d&$mqrdy6{SjXN@7HqJ+D)ji%nYaJcN;}fVABE_j9TE9TA<b z3&(iu__pQtL2vFEU8}zkw#*D?Wc0GNGZIwn+hPWJA;ZDf=^s-lr$4hTy~u*5ex#mB zTd2l93Ze`uS}(A-E*sDqYFWX{Fpmmu8_eFt{)}OfqhLh0zS1t{c6Kl|4|VOtoc-9} z_L@%+Z+ruuU)tQF!xa|=z)NYO2;}O-nM>Fp%@N4d2nt-%zCn`rw+%+hM=b-NtN+QV zlEA$z-F0qPxG4JiWmu<<x)Vb+>3)aN&(Gk8nEhDL#~yf|zi3~(_bD-jbBX^L9CCq6 zf~onK*fsTqfg9(#O`E)S+G?=eVs65nC~n#6x>2e{g`SUQv88?NGBhuL@tgPU*Cjg$ zr29`hb*d}uDkWVqT@W7Z|9G(sK=zu;Co|YeCyP<jW_lV<d*#R<Di6&$@R@|TcHCCu zD?B;+u$~h+$0X*Xa=u1+fN7St3c@!OJyQ-{!vQ7CM(0H<k_Q6b<nhj*+Y%3TIvBdd zort@RGUR6G%d#a@%d#Usa+?P{P5He!()^b@h8?)XgP2e1@&9*|yJ6ra1Jg2y?Q`k& zZ)QwWHCV0NU4?kkxeqSr!!Qzk`aXGi$^xhI<}FGpQ;?$K1Ripl-Oh_#$dyXX>_yJ( zNh)p}yv;$_;Sr!Ky-I=wMC-C_=Id>RS^DuGx-500By@9q9&~6hUk8U5f^a1lItSm0 zOkY$1DC$Wxf$+*d4_WvPA0E?xrDEN@j?>Kr^jrO`Ji@2uYo7=ZAXh&1o1AR?EHr=p zMfMmQaRl!aWePq#5*10<!Na+=y}jeEnEOYg493DllVUTKDu}{Oqz1+L*9X_rh!xnB zM0bOJOT(dWr!7imtip}iu>a9!69i6{pk&1yE)bdvdVI2bJr%wjMok6<qP#cJPKS!v zJeC(yvlky0s<R(Hvl)`O5jzG4MipNroNA<siK9I>8+!Rh|N5@O9eZj+6|1)we1+%d zl=0IaTq}jwTKPClrB*yfnKDg3pt(ANS#`EA)zqnviNN>yAHBHCW;UH98+)pO!U0LR z+v)1jHZ;!_l;h2$9TJr4J{O(wQ(rhaPYouSgoy;c+ENO4EL(nrZxBTgxG-d{YpAkn z)!=eiVd`pl0iFT7c8ne?>@*C2CUv^D-Dw^i-ZwDrnW!JhW<20kfB=`7p|(F4vAU(7 zUY{4fL7JG{^is;?_x)eu+OG!GlLBw9NW<0gp5;>_)z15R<VA^l|A0O|{p4%M`^)Qw z4I75SBde`db&ptqr>iN(o@KW~ua?*MmmCY!CyPufIIqVtwjDA86@8ms{<0#Z6X@(D zc*$}uQ87|7<RdkQDzbB5TIKsJ7^a@I^SyeH6l=kNIjyoX47?8iO5y#f9AiYj<1>); z&5Ds<l{JzI=X!<tAk~^v_$mP<CZ+OaRpb=(juwK^atuxd04_8*9SDcS`KhG#b50YS zCA~Uqef%7pLwK_G?mEqekk^3JpRu2;cf;wdDeFqHdb$K$6H67p<kWKa@>%8vs;s=d zt9q~Q@z)Q2I+m3n=~93<<X>n<HkjdOH-kM&q6%0+fEA2N7nC4R18ND{O#bR89zt~a zi~d%JJ{bNfglZb0k(zMtAcsYj;*lf!D`%g0yOl)P=9T<orO;&XK>NVOt;3yvZru3k z(@W8I_;3FXPlLTg0QwJj7A-L|{OVJfT4<UaV@vUa$0dsm=ksXiP9veI|1Lx~1ZrC; z#$jfu{uGNPsp>4lp-Pc40F?!M$}8`R|4~Hmkt8gVrX_rKZ$-k2x(X-`TlOYgjES0C zY8SCYKzB99=Z$nZtnAUUj*i$|FHU->YwziKr{0X0_$PpEg2f*Dw_?a-?B8CZRg7Ye z@^zLXK(Zer9Ji|l)yAv1H+IK=;Xu?AZXMi<hy{M)g36OXR1s&ER-Kst6y_KS9yBk} z9okertcyF3U3%3A2&*RyI4Sc1>m}_c{PWz~j>-et^2FB(>d9+sjH?^EXDk|)tsDn2 zYfDc@`ZMPumT#|n`^Su;;CFP-MNYF1Ciis>zIL>~zMjQDvL)v;)gykL%E}p%wM!aq zaL|Ydv)JCCvw0Vgz}Ytny*Tl}o;R!aT8oJ9l!ORGg*wrZXI!s9YJiz!$!*!rElinL z%HJA1<lmVDz?2o^2aVJRJ?4wy>_1?qtqGRM6sNu<is@l5>9I(-^Wk4x6F+OM$!zUD zu1)S<?Oxg=H-T(X9u25g++pvT!&1=6Skxyre%D?*;&MKesZ`ej?A!EF0fn7_7wr13 zz_xx(i2sBQaPy_{l9e}cV^LsZ>4`SARVk+k`dlz@VB?{}?yF=Mv~980tMQEF{Ml8) zw;vfF8oE{VW0J%^h7n@prL#cEL4GcLGSB=oHo5B}0n*+7{F_oo&$Bxd*2b?r1Xa{3 z_3yDIS=HB9dqHiGh|LpZ$J&UCm93|5eP@5j;xQgQ3h|RJ?rph^M1mKnV4g=SP(q3f ze%^cFJ<Pho=|b*fq1bnOE%$tl-y-wA*5TSs#kXQfqgQm1@0wBXbsaKApB8;c>f-Ph zS!NVoZPI(tpY{H1F&l4}o7obmgr2Ib^NbyD+e~lJ(J3go??0Q2zQ(?ZV}G7t%Su)a za(@~hX3XDs>wvu6Zy)#UTzm8B-qjWP-QD@*^wLhWr`34aGEfsu=o@84QbN#4?{VVz z(S!UK2`O?;^1pbv!f7T*UsqItc|*iE47?Y#&Q<%4R>l3r%ZU3T!gZ%fJ~Zd7zQ*Rm zo+H9MW~M!6pdOM6|5FH3Y-vn)iVMfdH#%F@f!en>1&?ZkbaXNTvY7EFM*ZUj<12uz z=nq@gJKkhb+lhzQ$Nl5us_x%9zjwFlUS3~oc7=6h?)wK(9kImKGeA*!<nzj~&e`Xx zmi5Q}{lAuL|I5#;K!9Q*+Bde$Wm$~7L=L+G92!^^^T2RMJUrvL8B<l#ipx?pJ1*JV zh?V(V{UM-D*v4`su&Zf7fOK&^SL6(cC_v&tFzKMa_YC&mt%tZKkJBZw=x&I5f%G31 zl76&09J+#s@x?H{e(G4Ii9Ht7Te<v{;;5eOx+QSrx&Lcnj*nsdJGU$|%nD;kc^6kY z873z;?7@5Jk~5r141*X)%6O)`t3B<NkX@~cbQ{PiM-7k>pZzZU$MzsmkyoXjEIU;! zx}#w*USOH%@N`EX(ZztNFER~X0lj6LjBvQW$f~3B<npq!noQlVOZ+MkQ_r_^MR+>- zZt3^cV_HksA0K!V-EZ!ApQ^g8+MG_%U8-0_3}?)Jxh&r5gRHa)x@_HfzlCvb_9MKb z8rA^7kCA@Sov3*!ar>bUh%X~n<Q9ZZ_!>W%RUC+6Oyd^B)T3i0X$zn6`7o|4^y?}` z$9@o>xGQmKYASzLvbJ7q+Pca-=h5hD1#N8DhzRP5^7wW2{S86QIcM3&*nGj65zRvJ zxB`H=I+mXxZ;+qh^^wc|Rtxs^rTO?VO&`q5LZb1PTdyy(7sR?R3x<vFXonb%d8x!$ zbrUaTNTYT<DHg)YbS<1&E8Y2P;&;XhU0eb=c{|13K*0bZ(4|%5yom88c6ExQ>Qeh| zJqzxb+Cyq(AuGmIt@Zu92G3iDOZw0{EtR_PQ6lqshP&yEtE)P(PdDeG;SAU(S3Yhs z+`eu_LL@ev{sPFM0c`cKwVl(-#woP(<t5u;m5{930^5c;zeD^l87BAV7z`nprCUrv zY62B(gty$#8hA92hKX!^C~qd!AmmMO0ObwA6J}j;%7&v>Xq^QgD9>HT*OWEqJaA%R z)FD=}R0(2Zva{Re!#4UifHgMzK1AMKuWu&vEnOfzd;ZCsX8rr2oV#Z4RT?zw@X@LM zV-EnFa8|;L4>*^%$dy2N--;EL%MF;6UHvxvzd8>tYJt{;muoDd_E-xMhD1V6vX^*n z^~`rFEgeS(x3fqdabeAhG<zU1Q$wj#S?H{xu7<$UTV_e8C6iVAf<yeAC3_A3`Zi=d zSJIcsu<`|Te!5pF$aN5Ufa39EA|3AKqGuu#V5?~T<S)5S@04j5=A?i)f?F!H<3*pd z&F2qn+fIJ3c)_zEYWEq6B!>&X>TWqN7@gCrAUJDj2hA=&xl~?o$(*9i7&!*=nlU@; zn-~vhw4t}P0WPs^Fkv5armfysh4G}k3L(&GsBP}Dv&T<gL=;ktW~y1#=e?cFK`5>d zCjG{#fb*)T^}*UsYtNV4r@aXvmC)KKeZgy4Bk6RbAQs8=gc=~_mlL&+`}_R^=cTZf zcn+rgZKdy>YPq>=IvQFm=UpFBLYgza*ccmA>qr*lI0ps+7(&7#jm+V6iy})y@@cb$ z05~6Vw)}JI{Ewz{i4%Ss|H|R@1>H(nAD&&DCEvN%8>@c@Ydz}qaNdtOzisG3(#br2 z%p|X;?i;W6z``wc4d9Gn#zov)15iG3*6$+KJA1K`UH@}->p=mh+%>tr&JrLjBPIxF zg%N{3D3NuCuO3?>FxT}^PR#N-Hcbi(@jI(jUG9aK)r3$njvdh0w(TvWC(@X4!JX1a zprH!5>KcZaXLEh;y`NmHx;U##<!)-oX@m1__38qxAFtm&(Q5ccG8bGPuJ0Op;bv#k z52$2)kIAH)J?2#~nx?&1T(4ToXL(1O(>c(O^$`r1QGLb~i+|lBHOSMhU<>`mOE`X* z=z7)5(nW+FVAk65PBPSb;7kFu`G)7P6;NaOmp0eJD(U?U4101KF71izoha8yq=WEG z$9a>77LA%=RbAqTv*}Phd`I((x7D7Gt3Ug+m#-j^DQPK?@*;_u8MW<3Y1}-b@@N`2 z8Y@0=x8nb|L=eDW*eXEm3laNyZeUo$H=_zSu1YFDkbpc^Srd9pDfQz{e>?e)N*a)p zs21-_Y2YTxvSSz~)Ca*5jSg?M!nI&AUD4pz^yKv&uU8MtK?C^hah8v^zAc@vpHLr> zHqoU$huej>>biY6?Lj_Ft}aQ2ft6)y7-=gEF!|_V?Py4~*swy22#sJI{J-)u3;?el z$Hq>1qh+EhGmtuS?4<60kPhmz8c}eKQ<9xQaG+bg(1w)iLDTI<)v)bN-T7pg%2q>j z76F0p)aPk^7w)FI8o;2<x~?Yg>e)Q4-739Zps*%wwJ;r?MlAaM?M$O)beaJ}?_6XT z;kTG;aA~_GF@}r#T5)Ak10W>(*}qT!^dd^<zet3a4`>$~;X<86*U-dyWX=03$xkD) z>gKX((?JcdANCyT28A`$#GkmTgxwHDJZj@{8Ym`<t5oO=Q`Q;aMbf!-evb*~Dq`jo z#>0WMcrzsYKtNLM8G$IM_;)3ZO80d&@6L(~l~A#3%BOsyUs3J<V7UH_nUu0!Sw4SG z@nwX?d2Btk&Jr{b&2>aI9**$*t28rev$(MT&L_Dw7>dmnj@IV|h|hW-scBovTSVDo zQkF5Dgq`Fr27mIp(0Z5JD68SCE-6cxVZF|!0GWvp-Ug_fziQv<Ea}fK5Yo&83_53B zxkzb$f$6M&yb=_C!_0+WY8RLI_@hJw2*<LKZ*@!(`6Dd!=kkw7CBMsdIkq-teoATi z!VRv_x}p<W9s0$dIezsM2-wG{%xS(TH_SBcV7IgyFTjqKf_x}{7T?ZM-8WTl|4YN- zAWKiAYE!T}eA8T|N8pXf*G=q>)%!b0Kuz}@L}mh{O=lL=HK8^BI;*64noUCoFL0Uh z9hd2}7D1<5%1<=i6p*)YOd-a{m#n~HTjTdaVF&nG_pgzLT~4dQa*8R9+}7Tgb}{<Q zRmG%xToD1$s++|GEVhUMyC0>795_X)+MBR0JPatyvzhOQO#X9bbVI;Z76G12MQYc= z^90*Mb(iw5>vFh}?=J&roK}i7=TD{%EuO*MA)DZ)K<_WFIC8si>KHT1crw}~_cC9- z)+uA$s?KO*)iE@Q<l%(3>vf#vr3RLU?FTVdQ}rG99!l^WR^W9{=|pmcZE0&d<KDMA z!eC}r0O+le7#w=>YwEBa{K!fKPP~VKV*qV4o<Ezml$p|E6-DoeSAm`6bRxnenGoaE z-*AF!{mDU5?Fh0@MrBH2wxe2D(xc9q5|;&yRsk(Dr7W~rqE;xY`B4>ewR0IVievg) zUD>@+^5f83Hu~Txi2vGN_<>m#L20kry4MzMelgV^VI)A$`gC$_Dh%|-IyJ@k`oLL{ zigViqB`Z|=JQ9^A>jWB_eCM8zo5x>!J1RP%L!{NqX!dgX8BKzOD6$&TFo+#Y^7yLd z51Sa3WElQjeIaF1=q!h@n@%$5;_Z{FkcKdQPo$1;QRx<q*m`RFg6+QoN3tTe(<Ftn z-;BGF6+;)4Ju&r`Y&R@Pq+)c4>3=mxZy_TwfA~DxqY_(LAd0YxuZSJzQ3hFN*2iyn z#S@YZkv&@_L_e<|L0<J4AKxu<Cg8`aVm>Sfd&IByPtPBa|2xtk?gOhzLK=4J9w(<` z_4Tj6GZc!Y*cwqU7fWhBP!zzeYcyW1{fw}-NXfIGk3K#OpM&K6eDVp`h~Ss$4}NP) z>tOCaQX3H(tHEV1*9~(%sK7-<^P^Q)xEhpjj2m5<?ylBSB9ZYq4@!G%dItW5taow+ z6Td-TN7Wc_mMGF~CQ$-QtumjD4<TeIU;9prd(?csq1tb}i>I1^R>*^Zsi9sFIsj#O zOqWaE3oQfWUWfxFnOhs>!2L@}Ms9rjYzY{FuBtFPi<e}Y^4o>KD}(LT!!8qlIKTg> za<0%AE&DV9k|lb<r1>AAkldH^kbfRWtt<;l16EW1(Uk!8E?@8qte@cb>0mhrLX|nO zmP`-Jl6*VnXDNhzY7EEB)Rpw-{316Ta98QDShg4g9+FAM$Df1Mt3Y|Y-IA^U<9h-$ z>{k5VpRYu<GG30ve1O~%WIp^<bWSrGGpGK2yJheHcDNe_?zAzXtPU8d1rr-Lr~`e< z_NRdL*UU+e^eIkRf*;IKEBthjN6MMPsz)npPE)-&4g{SS)Nw;>&4LFP-Y`96qo*CV zi2OJWAC1aFN!v4moxl_ltm$XC_S^Pfn#}fLP|-WQgYd0oNxrvH1=+8%|JsKj9tYVD zPH>#VOC?(aRkBS0^Ffz_O22B<<J&*V_HT;2qN&M?62#&8J2Z3X)fb8!7AiwM#G8Mf zGHRUH6J<0?DVnvjoFQGc!Sd@}M7?Fb5ik3qbm_%~0HmooOX=lEKH6I2<EJz1cr73N zuUwPjFbf|vto5E5{1ztUMiS_pP~S$c;{u7wXOKKD8;ihvy(mj4gGcHu>%pr5rD*dv zw13>n5ppnXtKz3E(p;wf!bmRCUt<sRPu@^9*ERwYH5O>;4wHv!j<+pIn}j=xUzxx3 z*-(hOW>T*{AK;7}5ME!T;{NB%Yvnx1(a`CXBxK@P9dVj7`k*6C03(RSG$kR=B?L3d zqOT6p9hGeOW;X7YK;1ydI0CAX>7Sh(38mUx2q_@-*qRR~?uk&FolTN^4uVy0^DML! zT8tB>tg2csLG?2}Bq*UZz(f2?u#aF9(nx2^eo*+2f=5IVFz4Uw)g%1Ov218Cx(o$7 zu(|i?1G$oTZkp<R0fjs^Twruq-6u%}Q;Rqt=SrIb2H6D#Nfn3545%|tSc1kiMMT>O zj!PX*Xrj(qeaA@P#PeW&L{dfAvtjMDWNWyh8g-~+J3<b0$ffO}w5vz>A54J(+Tb`y z><QO~-Z;))(SE1;c*<Ywc`b0%hwoO$O=*P{-NvXcoJeQ~)!4LgNexuU&aKtLh9#fH zAly8Kw9aUBpB1A?)^DYz%^o;>5QDYUYTgouz_!NbNp<)1j;!MwYe;7rOqy#$qj{AP z2KqG}zF**H0<Lqv)?avNupxKVn5AYGQ)Qmd(pL<#PNztkW-ZIhRK>K8?HjFZ0$iyQ zC$W~?j<8Kf6m5ZAHsz9+@(!M$3%5hY&(VvD*(?sN)P0^&o1Mbk&~n_0g45|Rv#HYZ zqo%>I%PUiCSl>MH(p36Nob4-A&;Qw5yRqRac?@}(>|}t!8F32ap>wK*nzvimqghCA zin>G*zo}aJPCcF)ta4b7UV|3!iltSE${`z?T_&JDke_`{Y&q#SYT>dU*2ToDGBX!x zzn_V<-Ow&bYZD0>qp1DM7W0kBN;T^Ihvl_;0|($Yg$A=ZEES_n%l{mz*??miuOZzI z4RMr>q!Tk2c48~5oXz>hZ+szf#<v8J2wU=>(u-!C494Mj)#9!3Y|sr_Gs^HsO-$Sr z^L9*|z*-tp%gj%}xEurNFBYZKCTjZCg+-k|yq5WKzdy31CnrU&+wMfiMPGh4J@nSA ze-{8U0ppDh26P(tEF#1*Rlj({A*DVJclz{AEX++n*UPqKk>VD6CRJ(Hp&YJCc5|7e zEg;pPT#$Z|f^}{}9$FbrP@SnT+>%Wg&J7xYsxc(h1h9@6HRt3pV}}W;5)E=-uu?JX zs}xH2#L<qPd=m792IHOo5x~<q+cI#O<VjLM#VsmryGm9UWJfPJc3gr+fqX!GrYZ|U z-VMt|#@KW0cajP^)c`=-W0>xJp&5R5VHusXsK`L<pTiZpu0A|Mq#nq=7(^Dm7oA8` zy4>#kiYN<UBu18cLw{|dptc64`cy-MicH_j&3k4#A>c|zAfs>^m?wh#4Y&rxUfzn& zseaq?dj257TkrxF4=yyI&aE<~(zp51K!LwmEnZm-wOqZ!0qOz4Lv2<DpF%W@IGr3d zuDSqC7s9ft;m4o>Q=4;+`^ucoR!QoFBFXF9<q7tXCm7)3(SM%{7Ha)5o$TH8q&UN> zicAueV9EnQ2~28+BPld!gtSLOmU+{S;vdL+tk_3LWbQQGQ?P&=W&NXw+19j&!NO_@ z!P2ia&$~=tV7)NY;lqb=!e$P0qC9rXKE7b(b8(s`;p8J>G^#PMjDtId|0z4Hae(|^ zBq9d{mP7s-;k@wxN3+KS{Y2)O;#2_gB0IJf3>g{8bpOgRHWg<O0;%DY1p@8n$>owi zQrwtvIfGFBEpC5A)xK)!LfNMn-w)3?31M}WTV+TRY=%JhfycAacz7rKhTGnhAAiGO zP@u(~?5*C|-Z`~Y&V#_dRj43~ra;+8`z@l*F_zxXzdg2pUSNnM(+Fs@ubabsN;SU` zhrgP^M#g8I{mZ64%F$Mc)9FDtY$`Fu;sd(FjW;+sxrDDa6ZtS0!2HRr*e%LVWE_#b zK{2F_doY_hQ*&a4@cS9Ay>iY&PIWg}R`@62IWFappc~+YEWkaHb1|zg2)B&s<kl!x zIE;&zd<|rlVqM<cRL(OV)s??-V<7sQBD+<@m(*BWC!ngTylwZYB|miAAxrZeTZ8oL z6%XCcMOMSs0(!aMWVr#6`-CIs!2X7w^eLTg2m1hVZ2?kx;IOO1|Ifej<7y3@;<YRv z=eNgJkR;pNw8i1<V`~aALr82)lrZSRFz9(465|!2_TxoEhyHMgo%Vd%QgyyWChc%w z3=tGL5DQCk<YL7O?I^k2JW|Jyz6O*}(j#dJa$y#=*Q-;OMnOk%O0kCC<WF1)Hoo(N z0f41R&Z*2m4xi#u_WGT|!Vhu2g=gUoVsj0%HNN6WL-?oAqkDl^c!hbRut;<;nUaSj zPrZ|>f~CU9$|$P@=o6?tsa623zEOrdU2J76)#_m^522$tf7<re$>?qM#{I&NVq7*z z1Ge;22r>PW?=c!|{9gZ1DF`i4)Q9|g(y*9iS4*PC?F&N{#tJF-w1FZ*Ep#l_Y;*?X zRmcZ_H8H2p+jYfVA(+|#G=bv)Iy>tm>Jqhk8^}b(md(wsd}n|?la&7$?KJ>=Oqbgc zmzw%#@;MqJhw28u@N3_=Ew;P|t8BpCdcofonFk)2wX-h}*1-@6Fy4J;L-meRex?Lz zZoeb)uZZiTByDF}s2eUl+v8Ub3Yxs+oNz32q*K8!Bob~!VeYM;pD!@E#Y9*pA5fGW z(yxxV9Hz82)q9?ouqIOp+NpEK__Z>s9d*tRy?_(&KZzzne`W%?ePQ`SiHPnh&Abm8 z8l>9oBsaU}qK9Wx$RC-Yd}jaQmgc3;F^X5;`e8`E)0uu1_*tAjw`<m5<4pN;ml5qC zUx^h&Nj6OaD%!GZ=U#zl)*%=fW;fzH9CwjY|IoR>WGom6BVOKw{th-^+001wGoQaK z`p7sejQc}vubk!Aw{F`_Ci>|_o8JW4&?4IZOhS9)?=|HX|C<Thq>`_h(AiXC^oKtO zAmM5USM5bI<wnh&VZbyx8$(xP0%yS|y*+AkAS0$FZKQ*xfe=X)t3?EKL0uYeN%e<| ziXCjDeWy&o!Rm*h3souxbGvl0jWz^;iXE}saIZ5hZllP1u^W+YR0$bjJ?vxuj++6q zZ~JB51R+a@4WUzI(9<-M6X&d}I9Y_|;r$mb4<l=WveT|TD!9|IBs<&#t{5K(2o8K1 zNq|bRji85jq6Y|WIi^LH^FXTME4p*Ri(t+BPG<q=uKJ7#rwS+x%m_HX^^-X29}jS) zIW(1v3ep?*EA4tUi=g3<WcO;wwf?MUwk(WyCcRd0<Hc?m&n;?5h%36oWi_F#%Up%k zN>-JQ<fmb;->QGSX0GEqjD<uah`ySh_0Zifuv&90=&HZxmvQqtdOzCWQas$$aJaF< z@YKmJoChyJzCJKt4gB|XiH8~x!-Ig56*^C?#$=YUlT@?!b&&Rv(SqiGlsk-Sy-~*# z?5yylulph{F`^k&4HIeY#8=0!a8991t#%&PKL}BGGP6;7)XJpGmok}gyp^Pg3;zX> z{RX~MjIV?Z47x%T*Dd4K{f#^B%1zA_EpcW%QzAN*0ghJMwfb!eE#x2tH(Edt{<GdU zos0!M2Rdm+2;mqweqlqN$THM~Yt_s{qeUB+CZ}g%|7q0;6!U@NIGs<Xdv!N}Y@5W2 z+MzPq+EgN4VwU?`ni!VDcUW!AW;V%!W}8@W+K;IkMj3%-9eNvCkWpz7rOp`^Cat}} zi5gB^SwQK<Y*rhW%icg?*-T6m7x+1QX+i}@Gkew^R^ftDWA)?{)rOoIsU8;)cP<rs z1DU(ro|U2q;wqlQ6U^9e3l#9=A1l%adT8N=Bt`uAUz+j*z-J&^Q<eD<z<)=O#*QB+ z4aDt1*jbI_Az=5?;&pFm=KbO<)7-EGIX6kP(eE;jk^VX;h6t4a!c+fKd6=}{m9*f5 z*UA&k)8faZ$k;+{!{3*tG#qXg?(#fG$aT)c^sVqX?>_TWPzW#LJN5vdZ&k<+K)SKE zmbIodjI)V63L()tiz4Y|1D^&5YuOjq=WR5hcpR}pZMrI)#F-BT>weE5DSI7p5Qe;0 zlw(>UTLtHVT>udf!Yk0enH?MZ+klwE?4mfb1RGm<?50(OMjdnkuW+q(wW1JDV<{bC z^845N0|bRnTrvR}yQj<G5!(&$rsKsUbSjcNxaDe=H`xBp)Jf@YRU6|zd}BL7pO}L} zs!+1@{~T|l8R(|xsg32YCJd`5gVI%_IvLzr7#7)GwULSl<(vWeGQ~r`<_ucX23OX; zO%jSg-^^JB?Z~ID#r3?m>WFih0q{RzNcQ$=l&X0y)j*0LxXJ~_#D9WucPM-eQ-$GW z2H_UFgbIB<R`U}UW79qQI5I8%>r;bSqq<7CyX*!YtD8io^g3IM(W<%KNe%*#mWEZm zNq{Jm2Iv9^;YC;<zDNO>Hd$sT+6rrFe4WM?05)*_UkA>q@SNJ^gz8yJ24R0ldT&NV zP3v5l*X9u$^qm6_vxmh{-8abj=oKVoOI^W?I>tsEluOB0wRq8rzP)AQz>7MvLP*U| zdt?R}rP>kSVly>rEPm;obYeL&e6lxyYqFgAUddg0`^!11xjJ-UAME7*U*!Zq@yMy4 zM{hS$0wo4Ca7SC`7Zt<ag@J-Ca6k^??8Zt85G0j|eSbq!))_B#Q{z400%}<&wsxZ_ zb%d#fSP6E1a8!Q&L)II}50W+IB9g^~x^|0RA>`#tA~M@dGC^HM?C)JEFk4U)B2oQK ztz+#1=9j>ate~WQZ_3qUYnjz0_9m6{rb>)ptjH|kWQ_O_=4pSo)>!8Wx<p<PLyb>s zwBaj`QdJ#J=6{l<?pCfNU=R|d{}Man5%Oc^DA+>Fb&jCYrRTs;?~$#xkAay~;}~+= zN36-zh$I0GQOY`uM_co|B^&`w^*inYw~mco*R(SXAf5zwaHSYi6?V#fjF%ctLq1jc zu76Zlaq8s9?ua&c{YW-1yA*D%u&riLR~BG8ziQmXV(OK*lS(6LE4=83#IEflVm1rm zp_o}28f^Mo>tkTB8}Mg%<MT$R1!~~7Ryq2A7&8c<C~eTEACgD*ygTy~tMIRKrZ;ny z5m73fol`t?85j0JAM}#cjT!DAqc6_nD!R*K6m4JXs?`l1pE`i_yUhxc3#uUkf>FWK zHuc*(h~2Q>PBUc@TrbcGy|EDtu&+`@mRe05!NiBoHVBXMlrk;vIvNBV^TTcSO9FoM zV7N4Su6GV)1!2gbL0KoK2;M>R<Cr+LXS`yL9J-A0l9E*_+_n{CFrPGb``(;M2R-mM z6-`l4fD&Ij*T2C0w|Kh>BR;_rS1U<A?4aotB^r7BuTbdV^@o8oYBn<iGTwUCP;wva zUY2OEL+pPMD-5u$z$Y`7WoI8LU?fF>Z)(b^TPI{Q#tGd1tzhRiw1z#i?v$c|As4%x zHlNx_Zj5qD85O{ETD~ueP~B~3O#3pz^oH;DF&%ywhpN?OBt3LwgQj>xO&o4L;$Unb zZkHD$7-xXIt=rqM3%(CW<L&(hKNC2qqHq(mHnPVY)Tm6_()g&E5tt*xNRPcG{-Sk_ zmA{ow=5=SN0!IFU{M*MEnPw#JIfB$3={i!{a1L<}CE&W*c%dQik=Xj%`5Ccj0_<oQ z3&zLdrs)f2f=rKti)x^JBXzDJ=@)eeo<WqhqTvB=y_=~XaAEw9p{B&=DoMUpk%}1v zl{6VI&8s>}rW*l#2vqQ@ESJTL7XAWE%5$NR!)O!2;>R1}S!<k;qa-TV>XUCFUxx%_ z(>rBZR+6@)*jxEruz6;J?~wCYNM8|X+v=?$0~PtV{`7pLJS9j<=Vm|f(M1-D9<~AF zpnuql6RdHW7&q4YG_&7*M@UIFPL;5pXVb0IAt_j>7A4Ox7d3EuG-?zIV_K7PaAE!0 zR{A|#z4<O2QYXWL;73_(2NK_7p3@<n22*hDlw|l?@^#5&{H`n-ahWAC`Dz_n@8`(| z!vmu>R+%UO@WoUS^VYQH@xM<Fz;Cea>g?rJcmWN@B5GfjYBlUehqm_2Pu@UtKYtMS zRuWWjl5r}3_z4><9W^S}xVcpfCBZnWIJp{DZ283QnK<uXE-(!YrtZoL{#d~)G>0Y< z{!sSqu>qqmk*-`8q~D8_>J0=ta80s(D1Ds%T)po!2iJiaW4_R0onumn-U1}5kM@z> zf~a&GS9F_`LxvU_U3$Rk0+XFnpDK2)OWRsW(NK=`iBNlAuCf?wW8rF{J3gM1Qt0ZZ zXclm}@2*-}O=#=rIh<1uSYLZ|>7{3pQC7wbqTohd?PvYFLeZla)BXR+fb!|4MPc^U zl&6fwNO5CJa-d5-%;hYfm}J=SeRiD`dgD57wWxf4ok<Ui<{r@9yU@+5sWiy~b!#No z$|OlnmMpb1L@w>p=Ddk^QJU)LOh8F{z@daKZ9IDJo0A0#+mj4%NHo)9i8NdvY`=IX zJ|sL;@3T^@C*(^$wDAqhg`9){6H^^2I-NHgA~UgN^J7n9r_``|e-YMw75z;XN%N)Z zfUSAg$DNa0!ih8_j(I;IJu*C@=1Z6qA>HOLrx69S>l=GLIdSqDiU#DAxM1nxo@3~U zYw3on&fLKL>6dAPPO$Y7;*p=j49~VfxynECd+4Q`3`H#O-!gLkdej^qhp3*<FujUO z+-=-sqsn$c-(m&qG9JZ0gep*DK&v%J*EV{oqG)w-we06#dR>^c6RG3eS!olUWzHn6 z)~lah5TV~mwf}r%@4(J?<1#2Bm3C#k`Ty6LYb?IK&wt_D=GA5xtv3wTJ!a&|_ntEW zwj(ajMthgSw(K?edm)R$L3p_cP;`c<MGg7^41?B`Wtdotu5f@Mjm-!HySGSk*u))9 zbjkJ7=)EuzsdP*!x?{PQsxuyyV&Vhk;I*7K_q(EII+e5F)3s9d<2ZfJD7JATScAWn z`2=AV8Do+lWAvkhBHXR=zy-m<TYSvyJZ-@Y3{<R+$u+0A#I$p%Q(;kk4<D!yl37>0 zOJGe$HILZI%Sq(>4W@dHe&c79fEzhXc*{UjkuyMGV=_Xp@Y9cl^+~AzsLL}Ht^0?f z9<7)0kiUoo8d#$$gV6QCvY>hUKFvOt#h-(R;`UqZD1AuO#QTSmtC%xdOW{ScJ6qMi z`k_@VbZPKc=BP$7Y;7SwwQKeW7R7HD=Xwrlk}1h58ezu99VQpV8L@e9&I!R%?KO3A z)w^WdfL&4lv-VX1;C;Iuu&i0Uj^M()oK%Md)wg<o`YR0Ze`!Ft+tX3l<!VMpQWQ&) zH-+vTkZ5iq9cjqdM@HdUR{S1oB>h=tOunnMv1iB1vZSegQ-QciI3=^*LQwyQ&16vw z4%+uPO1@W0DmKO>%>Aa*h$25<k-_)!VS=E6OSL4Iv%5W(D$R&u9z#0c-_-T%SMU+P z6{>@8Oy72Ou%}igC{sXg6z(HkgMLHf^hjGWObZ6UJ6T(}Pd1^6IXbWqi83xPOW6f4 zSeNOONskgLupm`kxybZ!=OpQUiJnH6f3ox{l;p)WE_sj7hWHISiLvV?J+lmp9K#2d zA5OJlNzW3A{JYEtWSkMyE(UWVsGth%f_Mpj{c4C|b>xul;ZOeHNKThPWbGuj&t!Rk z0o)+lbof@ky+Dv#F7zRw_A$LO23QyD!9(+5lAwc6PC<6wv^ni<=Op4~@kRsJ5NwHm zZ$fZvlTc7#!`Z>fp#FoGnh8KBOhc>#5pd1<h09DAx<!`SK0O5&+Ipm=skI!n%%zuh z%9MD`D{>yVY`}9D_MT4eI>b;~roYId$p-7Qd4qp9zZkS;Uiwo*(hz~{n_MeBGvYW) zC6Up)awrLx`HMjLd?h;=UJ)|irX`+=O2svEUBSav=EI<JpU<lqOtaG3zBXa5u`yR$ zE)K|M)~tRQ)_gH19ui9%Fws~(c(rhP`V?2jeMXtKIV;YlDiQ=2Lu-dn-^lFz$Ctd< zW#k)7QkCqV%pfgZmGc{L^8cSV9Rhe8^EYx@iUiBfP*&hZuHj0A>4HW87~o{b<g><J zQ4`UBfATS&gI8JjgQja9%SUR4X^VCF#*8sTWv{uZ9M8L7H*5E|4i7c$*eek+blUo9 zqxD?}vE&HEJc0_qBi!7dqKehCe_E90TR8V@N~}6bE#vL}hdcZMPtttuxVR!AmPLky zBpzqIZ18?cUmVMsC1zdf^5@3C4K!Ne(|ne^H|O`pSRQv#*ZFu%SR91Y`mwO+=15fB ztbBcHtE1CvEM)vN`^E<PaBkM|`m)?9;cxgNc?(d2H;BrzyzG@3v_L1k8W;5STmH7O z0efD)uJh$1$sNo)$Sh<t(`M0m-VChgO$pXhC~`0ZH=kY8v&!e#E*7cDBZMp2sxFuM zHU4D5=*Y^n>73Q7smr{B-+q(*SS<*1401Mi=vHz9JUDo|x3stG=$)}x*gMpFEs?8c z&0yNo+RB`0-2N)J#JW&R!w?`K=sPUmgQ6oIF)XqFPes)WhpSXew5OB|EBforzQn_R z;3m|H7dYA*cq-tCT3Yx$BWWcVV}-dh!EnwfB{xzF!xZS~fj7ADyd}{oE^Siyk^XoR zC*|D5sjD4yW-;E<(E0RS%6>pm*xiZUTOGt4cQC<_=m4o74<2Y=X@4!U9OyfXH`4Ss z=zGk2*G+P7jwSj4zm*eBW?+ri3`)ubp%bNK?9GNzZ|aqw0S<|_Fh&~(5=;H>`z!NB zT)pa^nyC}HfgL}IbvVdGtWD5gf$kF2tm<X2m9K5oJI6nSblzTT(FhEZeOf^MH33E) zCfOv938bxjfwX2rc<Jcy8<wo<4-s4)*^`TvA|iNU@Rh%fJ_?ag|<vz<Kdyh#t#e zkFd`@{`B2yu{R`v01jV1F8#ryb?<QsK9@yGn76_@U$5>QyS&E_K(ljR6T6PC|NU+L z<(6!L=&BzHub{<mK>-JMvM1JuTPXQuIMilag!Uf>!^qw<&M(9Q&bK-F(#l8+y9siR z_A1kJ?;(B<MQhuw42o7m-khA)lC<*5&~8c^Nt(^|L<CKKd-bPW;OWPj&kYvzY+Hob zCY`4VRSV61-#h~}V25RP%|1`IVl6=aJzDVfbbV;)JTh=~n0G$i`ZvPuHtB+z^}O-L z!Mj6I9xLl=#g4-S*XP#G(}YnHV4X8CSqYeO|0Y+}6Y1OX-n{|V^=GuC8(3!xtaMXg z))3a2b*e({LeP3C4UzU1h%2TU;&070Ns76Sd4x_%>Oxcwyrz`W;%~Cdjwf!%5OXbg z_l!POvot^LyE(Rc#~iQj=JDFQhPCNfqX_WAWzGj)aF-koe3x<u4Sst>XsXb!1V-ea z;u`8Z$kM#e8DW(IR(YPAMF)&&7AH$$PSq-Jr|=rmm@P|9l{;&t4K?o0nVz>^yP<q~ z5RaErv`cN+mXWfp&wtg4?(6a78$OVo*WxU(=!$GkpX=z{?;p*HVRe2RUmL%j$*xY| z|E(j^F$y04wqZ4Nc={$vhF3K$;DWi~U6+A{yR93M=OU|-EF>?b+;tKP>7hlnP^McR zXz^}75Cl%~<O|z5;I}BurH~I@D=(j^ZlHiN%7K!B=_&fnMc=Jx_~S43>&{7Ij<e*I z#|R_h#vknkLhr0UnyL9A=t-_g?$jD~xVL!wdi9jAMZn&5KsgOf?w=|qj}M<Nt&Q(b zM!FV)F3v8`_>?+YUvJIx7oG%bwPoogGsg?!uz0O}P7{6ZOVW06V(<*a_1>#=M3lDR z*tojF^Yd|WgM91VPJ`hnfk4NdnF;Of9}ZQdgjf|{<%OK-Ar{@!Laj9nR$wuXjNG%H zN^`j+8UOetiFDGs=kixGoHxbyY}c>ryxo_wKqZT2d-SiNrZuh<+KTGgRQq;7T~C@k zw}`iFe789l`3~vfTl~aP)l!Q%7{H`nX&MlrJZ@4}yr-+IrMezAu08bL|Aay4gg67O zeN}pdu=QNJY<KKCJ&e38L5%VLin<D}sJews4<H@F&?(*BjP%eg-7s`_NJ@v&B_So< zDUEcObci%Vmmv7feLvoN=O4^Ed!7CC3H0!A<rPCPa<Bg_HT)~Sl{%Oee>KXnLTx00 zPLDtx<xN+^Z{)}+&TS?N!X@87_YQd1SS8N<No+Shr4u3=CgRRNhxW&YrktBiV4tc! zdRUC?$klxx(7Lu^vUxanlUpA3rI<9(;n+>v@KPU|a!@Z728h)s$DJkaTkr0B!5V8o zkLD*#<lX(@y&5SEB%AQ6ij9EOmA4=J+^cwLmJGrhs<I$JCL$-OuW^L}{K%0&K^`sV zTP$z4@tB4_e=X3Qv5HqG^h|_7JmeG{<9v+PwLTDgOzF&DW${Q&%HOdBydH{*9D5!- zR^57hx>-Fog^~_6X0;2h6h~Y6Kzr1TSnB6lbuxo(Yh+UYaZqtkpteq~YthYdzfR?U zGxOGnrPhs!+aX&*5h=$m6blg15;TP-5LkQbw;vxrDV=|WwDx~fSa~Y(dLtO`qnxuM zvy2Rj4~eHnh!S7>8u`0FjmZ|8IBHxOAY8A;gAzB-q*hICX}>qa$=aCxEc4_p$xGL; z^vJ>{;d)|PPKbp9#ZCU3jBgMXqB*E7`(#n*b4+eNM<3_TUe*FX;3MQRFR%}tuaKN6 zep?n+y{5F_F${kYo*F_Un@J~)I@s5GhGf_!U`s{_>&IW)R&8)coNBfUS?;l=)qmWZ z0I)fVALN2I_o+RlPZ&GvptD-%S`X6To-+)`zV>Sil&VFVC`*4zeuEdqAQV)Ao_Msy zs_bAD((apX3oPUNm}Ok<i<`q_jajZCT{1Y6olvOZ{qtfOxQl8xFRsDj?y-Bxje8`H zNtOIF#{mVcWX(~D9dNZb*eY>~;3X%EK`QIy+`)a+(vmJ!3Y&PT2orMdHc@Ewa1Y$= zhwko(t!S?bL9Pi?>Wzx7_(y&8!@Q1XEo`Ve^3$;YK{9y~VY1&G|H$8gA$Pv~XKt6L zD~e&Wjd~eX*R50jaXQlu0tZeGnoIs4)Y-qU5#^GVTz)k$ay$81+t=rNv32jz>^cy& zn9?a07P)#i6mh(;J4MsdDSo<J|C_g(&YyNf?vtA3boRCD)7azMq1W-&;7=!_)VUwI zS9lEX8P<>0(+4y+6xQhG)!DP2UgXiK&me60MP-n~rWS__WMlX6lq6Em?XLl$S<d-{ zypa+ozGS9bP#j|48~s-)ONEs``tTQkYA#q$zKr~Pi@S-#dn6+#_-}SxuAsiHrID-H z@9;J$x1rD{*t-cTqk{Jt;{gd`)cgA(Jv(yjrvKQK`+|-1c>gJ`mif=L9=$+172+wj zYrT<SkKPO1Lk&xCKw$LaULr4T4gq`D33=9{GP=|bV$EHrMMu^ZS?`&yAm3sWXU_4e z-9Ga@qCIS{C~OHj?szEn7H*M*d>ufay#1i-9f=xPJa)#`y(#KY^9|u*b?i4+HVXN4 zK6d^F(ox6L&PIF@x+T#^WgZZ5auCId`^4fgHKL&K^@?Nf1vzYW=Rc$dM&sH-$sGx& z<C>LI{oXUZ(_UMlf5<P;_az61B^}vMVhBn+yoM_bUS@%P(9Dc9nc}@|OtTrGOO#f$ zp;k6(jl}*?cjuZTfiQ(rEXcX8k41N5KJIb7tgdb@(Amm-x`w|esI~AWZ9AYfTvaM{ zqGA}!M&_~b!ACh$Lahxf??kBmd3fQ4#-70Y4OiQ~0(rse=b;O|WUwuMm0ZT3#F0j2 zxnoWX$mqV*-xK%^<kS?`Z*3yKSBJ)wS(i&mu#lB=C{K=CUizqO2{P+a#I=%P-@16W zop^rnf7d~GY;^C_3TY9RFjUFDx+Q{43;am@*0$Ew%|zKarF5wM3mwe4MKKq`s>ers zeSa$c_Hm%a;^l&C8~8XUTizb~<qz=;5H@+b!l}X~NU<+s87W7_ae(7)e}Ssv&T<i6 zSheQoK|12xmb1g_Zn=ET$h=C;CPJx&>h!y#TB7vs^z@xpn?qy>y|`lfYGPi^Qm0U{ zgt$W>*jtyg>)GuM8a9!f_z6Ygoi804&*QzIv+<wY*LcC0c{BC8=GZlmpUS}oIxpe| zM+E2<Mck~UZ-<dD>MK;n&lRH`)GT>Pw!Xy0cQ7r?Z&x)rrR`bT7J0~)o?3t?(hihl zEy*6zAz22+%`hnc{@dkANYd}hWX+Mo|4Ci_tVIOUE%EH){U@k9RW=Od{MYE>@zOTW zq^$#c$&gONq6u@DdH|#DgCg2t`>f>6`xS(_taMZ77hY^r4N_gh?2Xnr21=FW>q(}i z?hED!=B#UB!gQDOrees9W2qdfk%%GgdEPl02k?)I%b<?Oehoo7u>O871bRF*W9>b? zk7+YxyM4i>`w-AU{^*F>WlJfb8@$*tMt{fO0oy7XNKDLb+L^e?6~FH&e$X90`Fg{I zu}RE3NXRtVsK|0D;>qKN@c1u)#2cDlo5rx(zI<jSLlHMPD2t)qeEX_@*{=SKYI9?9 zkq$l`7wMy9G(&(eZVGQkETgB2Lab3^p@{sBP?mN?ndegm6Ar>uJn;Q!<m##fY}rk! z&Vl?(-4IWZx9H@DU=fUjz;aFdWe2YxcRB(w5}sf|A)B0BTl+dfNolTpT;WF->XXBl zXb6nGD?3#ox5bw)^##Y<wpp-MsJGwev}-GGherABcjZFa6RtSKr5XXkf!{JtY!$(; zaVq&<cW~=-8!Z=Il#wE7fkn;_xGJBbyL}sUV}h2t0}nFs$@~u{6giF7$&?;~<}FR9 zZ<vSxlUB!{^dbr}<)LNVZ~O9>)MBXCzDUE++J74EuwHCDZIBOXR-f7Gm0_dA`5Km0 z4y4x>m(`pZz|DO1fnOs}eitZ`rhPFIJ2|(0oHbvN%~P;(F2ovd!&A}J=zGXRpM()P zP|-0l=0G?kR*oLzfQ{}H52kF=UAJPRPuakPtzl~&FF@@UfsL==$d4vniIVhe2T)sw zVS4XBWoX#PRr8S)8|@ZJ=)5pk6}Adh84LAHr?$0u&6cQhHB*tw+J{>G1v=3)kfFV* zJg)WW%L;zj&hzhHWygH5Roh7an%sQVyWt23j?q~gvg_J=>d~rd9_{E9Tw#oXY~?Ut zw-aiJk38Eklik$(>{osNE%MciLkEjeTCpq(ea6cLebJbI^i{?l?0ubbqEfh;Pgoyo z$gOneja10aZdjN!iXw<5J%UWB-5@%AR-2`LzGlH@%vYHy37L+ueRaYZP_29cS@>LZ z46U~8M%yUSK3%s8XS>SzS~tS`%zmpUR?qLhYF+8u6s1~o_)>;}`Geb}sGR0FTqCDV z+zK9=6h2j??C%Bx$_e1Zp{Pa)&DSWwC)<!4ZybY9433APDs`LlGtQic4j6t>m<z@X zcYftMeTWO*4(e5Qswdt87aMP<J0cTtc3fS-avvN_S#3#lUi0=%F7DMmX|w<=!qdOk z^2K$){r}C}iQ>qrHA05Qs1dS3hej1B$^{{1oK+BabF8uZt-Vk+@&`>{Qb<s+)rG%6 zL<pooS(Xov{G?jFuGYlZ3(*Z!p)X`naM!l4jCKb0on2knW&YWKt?>RLS80o5sC458 zh*VOo&#jP6e-+Kjc5$z8Qi5TE7c+KDqA|&2T>wcF)I2)HdJNbZAumWaU7R|$j+Y7? z_dHi1{L|Z6NzoAusva)+6B1Pnx5>k~sKJ*<)3}fa0Jm@^3epu9DSoRL@RXY74&6Re z>e!I3m>ZVvNitEIl<ugU5IXh#^ng(vh%T-Bq8}0U<g?6BktQkrkhw!%CM{7bvc^>0 z?*Yg;7`fBy{GyGZ<;s^?NzYt2;bO-dsTXFZISs>7?Nb6?oXV)1rrd0G8{4JqO`LJ( zgujnIluqmt5<ZZ9nAwl<%L37wE)je*79h;OsXQHSkkjtEZKC-Ea|iz;|I$OI(eDsI zW2o~k#05rydC6x8Ec6PEEJSj_R&JAY`%V)O-~GZ1uETNdt!+B$%6{$LH!kZrd<P`< zUzLNYjnv>1O2&L7b)T)5&SX{Nth>=ucMoEe<Fq{uc$iHEPYHaEL$mhV@g9zfgPscf z*LVN^FCTUEBLxZZ5@LtdJd{bG^GU|3C2|Z)P>6+0mO316VtqXUiA<-yE<xZ#T$hCy z%ndQbny<8e#z1a43>AGJfve>`n6J>Br8z$s@7LB&8}eh?<Zm>z*$-o)m}7PN!chcl zF)hgZD@?QSv^1Q4r}71z6QIPmqN^bGYPAs>$&6Sj?o`e~G{D2~fn2q!$oyflw?XPC z2nJJRiQiV<Y}2BMfkEwe7H>IOL8+r#>ryvN9Kv)**}dEg0Vl6P=;FV%1vmCJ^_B@} zAY;HTmtaWC>$iLx37CCvyjN*DUk-COisRq6o;E9nvacwXmJXI{xmh+X49Gky+(}_j zl&Hbm-W*4blkko^|Ku3XPKrH?xUnM5!b===SLI7&W6>*T;>DVMHJ0`rf;lkF=N7lO z2VeW8Gna50K4A#$rO>S4pv(31dfv;}r%rASo9lH~JiTay60q*6W8wF$HOC?sH`P{? zJ?8uYpZY`h&_7w5IujAGoJ%Sur@LM7p22ZzwDEII8eELg25&;9RHT3kr<f%z-@<qz zjqNNqll?m7=ZU?A5G&xE4HZ9qC%!VXUfntZRKL4y9zqQD$=_S1?NScEjF{OTsoki5 zaVSwyjGD%{IBeyJ!us{)c4rHJi~T`w^blX9qzEy+rZXE8xr>GaIbx=RzF<wAaIGV2 zU}SAYNPUy{xvwn2kB5P0$4?cPKS0PRBSY1$s9uuFMp{N_3abj!Ow6|)F5(44YgXTf zVZ>P@AyNOOIFk=be{JSV>)V3C_3kZ=%woo?bP=mPCevUb7Fq=U&*Hz<H3&2UD*nXg zKHw}*y}i<94w2#|Ki{5(+gqCyw^&KqhtGJV`mE8%lbDfC^-PkT8b}+*1NaAL^sTdF z;jZGzmaFc&qV)0<esqyGT#ql=kv1MkbisB3$&$!+xoVP~fLE*3@ZHiE6k&g&Az#z< zg(DDrM-m^oU?Ytheq<Gj!tm%8k2IySqkEVKPL|h-ZGl5tdsL8dMipr|-`G)m0|H;M ziz^)sk9M>Xm<L?(9T>59p@!ry{Oxdo!+msdg^pl%;m+kn3`7lc8i6d&7dL2!d7%qj z8+eus19OT-nQ<>ejD$IGe{21HZz{xhGIu-ws{c*k@y*u9128)~`VZ6mj0W!A>U*Nf z;WTxckb7zrKq>UX>z7^cAm@Y@SUJdwR7-VyONAnFucRcFwgj^-!wx;yQjg^SuV*Su zVKZJ$Dr5~&9!gUD9A=eMlQuq~Ldpmk5!SE>;PmX67)HWjfW>5g*#s^0h?a#f?K>cz zXgpkR13O}9WX_;Ls{3XG&QIjXj<#c4pF@5&g!meg0^ll77_IZ&q?`{_>h=Zh=k8M6 zsoT5!UHgE$Ku`U@$P5o_hA3LaA^?!wkUH8@RU(dPp5@qlJjkz{E5SEA8mH)%R*Y=G ze3h<7RDydV4bWKTM*#MmN9X2%bBKBAT?lp=#%aK{KCuF(Gi-0)t*$uY!Hc^l@Cy$H z#ZW*yw%n)c635QqJF;h4_WO(e-Ri(VnYf_arc)}=iB1WGb~y4C)M{z!sCME}>cm+} z<9_H0&`KoYYI2IgXy0yVuf=S#3U1%segN6k9SmIT!FdS4Y6Y3t@ggXnt0n`#w328L zf@pa5DCWasBj9}-DHhT~aqhN_Gg;b?Nnnxaf8+#I6ii1gwy6_JOS}PNxS|d9A(B=E zab@fJ4Ut5W5~mV-&+D>@FL&@mu|-=r%@L+;NlNM=D`i#93qUpx{(ZB8<NILvAK;~% z%G~SM>N0%eO}x}z1H1^rjtW$Pu3D7$p8!?N7S(BhK6aHS(!y=aHbK}jC#)5Y$O}$D zY9MPnxW|RL6anQ@yj!R7N5@2VpWHQc@wKHB3~QAdoQs!csZLv`0l70WC*>0Cgz#=- zNqY5G4F0oWn)>}B1#*aRi7N+d8vC`T3WFh{iqk#0>wdXSC|kJ5IvJ)7wRw2;S>VYo z)smbS7iWz=!E$}jG~)6TdWk9GbL>X#$Ha0T0!HA`fd5hM4<&(*gf<b`rgeiGu_<Bz zap!M>v(&S<@IEm*`nb(SO|AUtaEgmnXjMM*`=UGtWPp#?(=yGIOeRZ5HHV1$SOHe; z9PJCL0#ei}*nzYDSgij}?jVI(ugi|$M=vmPt*Nm`H78$|34d8&zmZ9G=)B@R*I!Kw zNW0B2w^oU1wMuX*!a_%D&C=qhBl+&xS;}|sm$wKI`<3RJsy>OK&+}H`Di>Q)@!|E) zsCRfS^m3&4Bzd~TL1s#IxxaL7#e76N49WgU$~=>JRICzTLj2UflQg<;moV^RdE5hH za_!R$#A@N~DSib<Ew)8N=Z>lvlH-iC=L@5Xo5lgoA>ikY0?V&(s76rg9pe!Dh<^R; zCPQAXS2o3rdC9v69{VW}i-dz?Kq_2)?@aD<row9eJj&p?X9fAxf9Ifo5<hb@w+-$y zOKOr{YhLFPkb=0US<`K68E^{2HbF<Bu93rGJ_HT{{Z1_Q(E7th73Xa0M?shS4K3wG zyTT9ea^+Bz%>+UpV^lN~oy$D~fFYf|$Z`N2VZ-vF1-49SkpuSC34d)0zJx75p_9P> z@r%ODjEH5X#HN@8EQ8VZSXu|Q{(7&iU_~!i`Sp8h1_?WJ)v_!}$IpU5&V>~-N=^f# z<SBUM$7Vcxb<nDz?fFfaS#_m(kyRC3yi;x!z1R4C99O^Td#WzuxE?$73roePr9(!@ zbaZ5&)(^;o!HdcYk3m8{c$w=>ENSVP6&3_5dL;;1;Ibq?QboJ%8uOBO22nP-SI?R{ zXLCQ!Zj|kjDf_GNwxBtaChcmDdu(T0C6<fyowxStVtpVT!1W-z7<4fw|I&iKVfN1Z zwi4bjBGW-=cOB%Tz_QY4;qH3Q(yZ?K-<DtQL}hXLmBJcj2W_=aF)6<_5df>71gJWm zkJ?a^L|oG8{1rGOx_Ajm(+)9hGhAK7^($A`Hl-!94@+oc8P0d*XGAI)f&*E%Q<}K< z8;ua`CMud*A)oLO-ZkLb)l+31SSV4=GuR2)v6TG&mwChG&sdgriE?vBAwb^vyrTw& zy=U!K%l_!-AW+B`%=u=6`P9Hbtue<UJ$6^ah9a?T12tK1_ybZqry&DFjzzszJ30?D zk@>xsLe!g)HfH_Dd9d`VE<w)d^6M%5&k(oWSzo{9qt@$`SgGa`RprHhpD=yGz^v{1 zrEZjpOs2YvUYiw}s?hQ$EK8q>Fe^8kN|nF^-kDu8hbmQCUQ!9Z$9(O}NX<xd-<*}T zXee_;#&T8}3x0C1v@ft{O1KL>1gXVRb^C+W_)lczl9lBCfph{L_bB+jpYtR^IDCkW zOS8DF9Xgw#FoOS2nBp_YeSt2sHO*4w8h@^|c+*P`(R`zSGXHCWFO_tmZ`rG9O|N1@ z!sV+y!*6b)D`VkRvG~LZBF~GY>5lnpkIma?Z|$j<dM+It$nW$tbkqXN>Z;s6`<S5Y zdWd6kzO}i|4Rx{ABu&As3b<7o-R~JnZ+Xd%7>B*a<x+3K$C0%OXIJmZ5YF0B`v#l< zV!mSM+u;w%+F6UWlEN&Gd(K#K(|gZl7&`!jBG5VGU!z;wPtO>QF*e8^ch-h1bjjb1 zGqq_S%t<VfEc>U-drTXZevLrvdu9HqsU?4pN}&U<Sh&jYU-tkHu;a;EDA<;FLM&g> zrAU4tRk~QglhvcYkW-7H$jW5bq2VILu*2PjqUNj~_|qY|x{A7AH)Jp$UmfqaP;W8@ zkzp`MRX+Ob*(Z@B4+0r_D}G$zkKj)b%;~pI(+qh+10M^diWTo8<bN^7CFI;({5ut9 zHob6yV#YgEki0V#ty9b$vz^v~6QCuoit+G=E(d^i$I-#sFjBSs;dhRJqD!ImtDF_d z0*5bYhJAU;VW*wNg~!uBs?jxd8f4He?AVW}ak29nI1e=9NmRKYw;|#&mb!*qtA$@^ z(?1%8-CFkEmws<Nh1q}q<k8KhZA9=0kpC1lm<c8eNt&)EeZYN#6?e7p+K$E-uL{cM zPb6RPa|9a^5WQ6S29!ojhL)Y+pWO-dXg0q#w*A9UU^w|fBE&^kp3aP*jy`Kfk=L%w zmR-fTj~G>|FycH-y<o85`lhmLKDo^1L1as7`o(yJ)%`5Hs7nL!LMP$Si~C0pb)Iwv z{<ek?K&6+#Tz2*mLXHES(C{(i>P<J2=&$F!RIjSoTmd)1N8QcK9nUOvk27v)n#-C? zoPRpe{9aFeYhQVYi)^MKMN~|XN4@)uT7iv>P1!<<PUP8>Rr;^pS_-nc4G3Gi(zJVn z;B6>N?O<Bp&#Hg<5Vc<oen|a>k)XFYAg<XXCOUz`9BTZb&xXBZ_(O8N#;;#K2l?3F z-<>yb0=~?K1w6SNB0Ez|)?x}DssUxHHadZVgbTkMMl#YI9LMGFrvX%7O0~y7a}W*v zvt@uD#vYvYM$L$S<)Q|fb<6u5j@VgM=xlu@QlHJ^A?Tak0VHTo1IjALsRezfEO2F8 ztrglep%s&qqfVL-Qe1oD%ItL-!ctHrKmE~{QK**hw`2Ul{kZ)HgX@gi{lhY_lP<0; zX_;7i*~=d#8p`i&L?7k`4TkrrleudrLz=5!<+y}o0XCN+wF3%w^%mQfO=h$Rnr%^s zA&&fyx(iMi^`_%}3jJ5jaC6|QkcskXVGnHTKJFiX7Yyd!xbYs-TYt~AGXr|m%(|>c zCfSKf;4^sI)a<-G&tlGlH$=3#VyEjB3|Z@=N77AA-({pq@QM}rGfL6ql4LThZkh>2 z#AhR8>9geIAfCKd?>d-JUNaT8-~N%V^!TzsNx9iOIa*_N_OVR|mKiEI$EVDT2erIM z$;D?hoKVhC3~yf??-JW-;&}6)6!bqK3UtY^LX~?~<_3plr4?RAFr`Pm>N{Hv@Xk!@ z9a&IA?9RtNcnicuH~`fHH6W`zghMh%00a6CFBZN!?lq^$tsGpkRks;huUV07*{6iw zA=Gubw(MBauTUCDlmOUsH~;&pNJ5pKUz^}RqmA5j3F9li*1&5V&TNKW(iyn(@!{V& zY`&sVBp3%@%~MetPfuJ%Hi{KC%Pb^Aux+xHaVxS2wUDxAGQ$wT3{2USD-*yF2PI`R z0^&t6S>VqHM-b`gjaIMA_tfXSCii!(F|Jva6zXe4jU<e`#jVAw?71)8h@KPTGBlVU zE4*rCBi3WQ9lWwu^5x@eOIa>G^rBA<f%}+@_KIw^Lsr+~hYnpmJQhQI@U4PM467?} z>}YEsj6Hz8R{G5}yVah1VoaWB`ClcI15xeZJ?tVJquil-2eU+hE&ItRg`K4ChyYLa zmxCLFf_W$NBfrA6y18cTC~fk&EiM6G!k2v1e|tKgNhaA+V*975fQAtYl`1xkqi+wH zzGgN#zr_PZ+}e7`k(l;sXL>i=!F8Q8*5@2N<+1W#Df-Ta%@hhF+({q$7HwF~b<uO> zDxl!~HKo<?=zk9{l`B#xDc&Q0xHgtNa%Q0FG~;^HoUaSV!O#4j9HC-vlyb?i$)G5H y!YJ9Z@|qz3Q9zR|0#QDdPx@IXpYo6Nzm)0a=AFJ>lTmQ6pMs2vboE=)(EkIkt)g%M diff --git a/docs/img/35fbd0a23d3b20913cb4490a3957d8b3.png b/docs/img/35fbd0a23d3b20913cb4490a3957d8b3.png deleted file mode 100644 index 861eb0aba619820884a63dfd9b738979bb53ef23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18831 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 diff --git a/docs/img/3601605e24186a1976e7aff09112bb7e.png b/docs/img/3601605e24186a1976e7aff09112bb7e.png deleted file mode 100644 index b5cecadbb2ed5ebc45645b6393add18f8c4ee4b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41043 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 JQr05!e*okwf%yOc diff --git a/docs/img/3636c78ef6cb3ccc1462dd451c7f3efc.png b/docs/img/3636c78ef6cb3ccc1462dd451c7f3efc.png deleted file mode 100644 index 26d4426a1161887c53b1b26b40594808b00d89bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16692 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 DM@x0S diff --git a/docs/img/3667bc1901823963df25df8a2458047a.png b/docs/img/3667bc1901823963df25df8a2458047a.png deleted file mode 100644 index a17bb4d89ce073a4152a36f1a873a9a129fa5f34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1557 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 Hu0mjf;l%D~ diff --git a/docs/img/366832d79f753b4e66470fa923fa7acf.png b/docs/img/366832d79f753b4e66470fa923fa7acf.png deleted file mode 100644 index fa0f797b00a516c61d43897a6741669f18a03b07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2075 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 diff --git a/docs/img/3694fc45636610ba5fb4e24d7a9eb3b9.png b/docs/img/3694fc45636610ba5fb4e24d7a9eb3b9.png deleted file mode 100644 index 95ae04db34819d72a1a1b64656a9c21a3a786db1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5127 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 TXUz>~PsH>h+_=K%=EHvhkMm*c diff --git a/docs/img/36aa502eb297ed552d82e3b015053e9e.png b/docs/img/36aa502eb297ed552d82e3b015053e9e.png deleted file mode 100644 index bf02d33a3c0ce06423a84f3afdcd378c18506648..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18322 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 diff --git a/docs/img/36abd47af07b3b82f814e74be4619b4d.png b/docs/img/36abd47af07b3b82f814e74be4619b4d.png deleted file mode 100644 index 7c4e7b98375de43b34b0d63ea3932920d4c3adeb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4877 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 TyaurqpdSXhCOTEx4uAe1M~}hg diff --git a/docs/img/36d97eaa1e64c3f6d5b78d205d1ce881.png b/docs/img/36d97eaa1e64c3f6d5b78d205d1ce881.png deleted file mode 100644 index 19678b9eca43b4d7074728385a3b95a950aa384b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11451 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 GiTr;Bh4{|^ diff --git a/docs/img/370ac43323901b08b905644b04f6a802.png b/docs/img/370ac43323901b08b905644b04f6a802.png deleted file mode 100644 index 42004b0e4af4744918033f65463b78c9d884afee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13277 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 diff --git a/docs/img/371d1ca1640afbd824acc19b18bc40c9.png b/docs/img/371d1ca1640afbd824acc19b18bc40c9.png deleted file mode 100644 index 73560de7cc40d1134ff72d7263ed25528e1264b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13350 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 L0%$_j?cV=iOku&? diff --git a/docs/img/37238acd557de0d61f0c3be198c56e00.png b/docs/img/37238acd557de0d61f0c3be198c56e00.png deleted file mode 100644 index e341b0f77e04b0957b65db19ea8d067f8286f73b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1752 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 diff --git a/docs/img/3794ce06aeeb9528fa1a66915cc69072.png b/docs/img/3794ce06aeeb9528fa1a66915cc69072.png deleted file mode 100644 index 9aaa5b706eb91613c1106a375f042f5c878f01d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8048 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 diff --git a/docs/img/379bd77b46dd7f0617bc273a203c9a29.png b/docs/img/379bd77b46dd7f0617bc273a203c9a29.png deleted file mode 100644 index 6450710ce821284eee7e3c9afe6575179543bf5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8242 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 AyZ`_I diff --git a/docs/img/37cb6e38ded4ec606f9bc7776f765e70.png b/docs/img/37cb6e38ded4ec606f9bc7776f765e70.png deleted file mode 100644 index fd65a3239b0d2115daf1a864d37fdc22a4d2e0ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4916 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 Q-(XaRAk*8Gy6~v~0tbpqHUIzs diff --git a/docs/img/381000c5f5c6ad01300dfcc889f7fb0f.png b/docs/img/381000c5f5c6ad01300dfcc889f7fb0f.png deleted file mode 100644 index a181912af9fe3aa360e512a8d8ce0a383c5f26c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11175 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 diff --git a/docs/img/381cb6fd4ceed7b2a8b3642926cb8cf2.png b/docs/img/381cb6fd4ceed7b2a8b3642926cb8cf2.png deleted file mode 100644 index 9ca4ae0df687f40a0a4f8fa91c23c38ad38cfb57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2640 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�#-&!%5 zBPp>u_u4o6d1uXC1L({i4$YpuJ*jqPAG|#^2%Y&M9|>Nze+htI3VjL9q}@8aUGN3b zgl!1wY6JMR9JPC14L#-Pyt?m|sPy3QY*qKcJ65I&$;>1=eb%hmUa()>^UO^WYgge) zV@Zwctau2aGje#xf+rfZLh!^1^87OMC+a{K_P`5{H!b+CHh{+_t=Ut+xmPrYtj@iX zjt_PB6zXnwzz5}8-cziyrPs9nk8bGNbCW!}Zv~auHq=px?+i<iHv7*cuNwKm`_5TN zGknDhT3WsBE8(+?Rj*jnK*vXk5+zEMC{dzBi4rABlqheP-(Fq#X@&mf;G%bmuzyxC z5C)zmuuW5+Lo%i6>5g(z4dh9Irz6G=d;{6u=x3SBs)6Yxz6Z$MA$U<`=A^)DpnntT z!0*dCa|4%{ZOS-DlaSA?d@?;L@GA#nVg~6j)c=>Fryzk?MzrwB^j{!MNHghktl=#% zMGcuurjSh>Jl$2WJ}K~j8Zl;;kyt)DNTw5cycSGKLNx$y;y&T3SN<CD;ue@@(}B5s z7`UgLE-RXolLDXKbSz_Fn>;<TL_;<++W0c0ONRjYdI|$4%oJy1dg+pU3NyT~V0KdA zZ-}c3EF&{#Elt5JV`A3cvA0P~?u>WzQ{MGcoQG*Pc@UGyWFXNh1}6pHG<MjrjD7IQ zs)PhFAt1E!kP`Iglq2|A0FN7fG0pRVJh_!OR&QCxzS%R&n7JwYwl2Y?^EsJ);@Iqe zgY02SbCaCfo;SAKvW&zHwiKji88cU*W6NbokWcs?V_@s>Fz64+;XORz<;j8HVHrJT z=?O$)P%d+{atwDN!Q_GOfj0MUsH-^Com8BEvkcsGrK0*0;Gchy&D_`cs(bcb?&)h_ yf2aS4ixMSDlqgZ6M2Qk5N|Y#3qC|<ZC;tVt(5bfXVJ58r0000<MNUMnLSTaN@H2`4 diff --git a/docs/img/3863add8513c90ad786112f7a200a568.png b/docs/img/3863add8513c90ad786112f7a200a568.png deleted file mode 100644 index 5bbf935b3eaf0253399bd26f34128b8b1f432634..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8174 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 diff --git a/docs/img/3887423740965d20eecf9471bc1b3061.png b/docs/img/3887423740965d20eecf9471bc1b3061.png deleted file mode 100644 index dd8f69b624f4627101f9e0be00d1388c0c0153e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23988 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 diff --git a/docs/img/38c073cc1c78dc88bf317e878e9995cc.png b/docs/img/38c073cc1c78dc88bf317e878e9995cc.png deleted file mode 100644 index 05982c8a4b0b660c92556a918425973ea5a9f03e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24458 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 diff --git a/docs/img/38d4db85b589523cbab105da53e5fb09.png b/docs/img/38d4db85b589523cbab105da53e5fb09.png deleted file mode 100644 index b8ca0aa9b4ca631fc3904a5e3abc1b0612c6f9b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6001 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 N+7BTQD%EVl{swv0?JNKQ diff --git a/docs/img/38ef5bf427869fe9b1050db6eacd2972.png b/docs/img/38ef5bf427869fe9b1050db6eacd2972.png deleted file mode 100644 index 29b0ff1e55a0bda29f8d3b49ad76330f000e3ed1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4621 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 diff --git a/docs/img/393dab24a6c8be1031a4cf469f3039e9.png b/docs/img/393dab24a6c8be1031a4cf469f3039e9.png deleted file mode 100644 index 96fd20332578bac20636ab8d15343d1d4886d687..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11994 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 diff --git a/docs/img/39b4809628ba97edb93621d6eefa5135.png b/docs/img/39b4809628ba97edb93621d6eefa5135.png deleted file mode 100644 index 472fbc63083eacaa443a70364615140d1f8c5103..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3462 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 diff --git a/docs/img/3a328cbf9c83e567fa5921d3580a84cb.png b/docs/img/3a328cbf9c83e567fa5921d3580a84cb.png deleted file mode 100644 index da7c9c006208efed4f144b511871a9b43e074f59..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17706 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 HP6<r_5X;fX diff --git a/docs/img/3b13f587681dd3391c82eb9b650ff6cf.png b/docs/img/3b13f587681dd3391c82eb9b650ff6cf.png deleted file mode 100644 index 2c9f40ec7d093cde98a5c833c4055c8ff21a8951..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20738 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 diff --git a/docs/img/3b33bfa40900241891ce4c916e441a22.png b/docs/img/3b33bfa40900241891ce4c916e441a22.png deleted file mode 100644 index 9e5c8a8406049ae9c89ddb2f9cb8ca19ed99f698..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22916 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 diff --git a/docs/img/3b3e644f832753a09f245236299e74b2.png b/docs/img/3b3e644f832753a09f245236299e74b2.png deleted file mode 100644 index 35a42ddd164a41c56172c244d9b0c13b8b8bc121..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3329 zcmV+c4gT_pP)<h;3K|Lk000e1NJLTq00R5~003qL0{{R3MHE=D0000mP)t-s{{H^# z?Cc{UAy+awV`5{`(a?&DiodX`2nYxX2?+`c3JVJh3=9kn4Gj(s4i66x2DEj#000b( zNkl<Zc-rlp%|qHu6ToMIz;&UDSJ?!((opdV5%n5C>lG2(YlyFX{{3fWKavgN`?U3= zr0$dqup7Yqc6MfVk_Nzu6DLlbIC1jc(sc6v!kyjiiEvidM`{1?g7Nc`K8Sx=A2xl? z%c=1|<iV6rZ#y7fMorJ^V9KbKFeZIb8MSmkG!Es{w#aZ$I?Z$dD4#BbUj8$2V*jES z(_W~Ak7Cv@-xpmIGg^_?hpG1Bd2eCQXWHLLYsKXsS1t`j>!)|^0W_l#z6*s&@TnC` z*4V~b)RX-yA-Z_XcUkb}mS%98wZDs2Sp+X*(!jUZyu9uoL-jmO7>us3$wRebd3c}B zAC|R~#gh7)&7%&$DwJc#iW;9b^|21*@1V2!sxqK5X;!p;g2(DN$1vvvaHLwb^<&$h zlGF#-kA_xTGPqBb<>@)Z%y%)Uk2!xbE8axYe5IFMXKhd#%|Nf!ZT=_?v~C2*2tRB4 z%hp{$zWfH;<{Ufm!D&nwq~zq$PqoD@>xGlmsnXCFBE#~=8uA~~8Bkd?Fkr<+uRI*) zp>@L|QPw}bK5d;Z#&WmXa?ZUDc*pp9Ehhwiq;|eoPOrbP;5xitHKpeL_QZzrMw%N# z%4eU7`FpRKnZ2wSdZjBt>xMMI_D}>!d)<l~9XU<zxWs>Sj1&Eoj-RZ59yjj0FrRhd z4k{a|lfLx*CQ*7Lt)FEk#%0`9j&T3A=BzS?C#mNlI+w$TC0hUWtRaMtp|?vthe+92 zf8#UlIhPKIyb*z48%_9`TGG9t^>Y()dD*Prq{(?gpNC#a6V*Wa{zmt3Ch=p(JRwsj z-_L*|FIhj3|KEjQ5@Mzn`4(C~n-oI7;U&;IO;+BA73<At`NwR5_@(dnFuj+~2lvFc zl=;x?z;Q6vKaV}_e73CLfO#AGjG4%r`F~y#`kb3&`ANx#8qk<O-7l78{T$A&FIp!H zOnF#s(rnf-@0ZpuBd_%RCiE8ZpQzvAW_({;TcIlR|5g~@XPwoRSzatR&WHY?b$htN zRhiF$m{8(5M^hJ~Ppe*>9l-ibSw9lM#Pa|X&jNlg)L+ZrXtjkSYg}mV|J4}m`D#n9 zPq>x6L6LtJ%<QuP>wMTu*wFP-Yq6EDDIl+@sxN!xQUjP^%X9C;bO~|KOAT3m57z3@ zT6M{xF}<cT_ox>&9I~^jc?MN1|7Pbfnf3_m4NCEB%h{VWOAp3ApP4Wvay^HknD^(_ zEoX^-WaVai)Ur9m?QWipWHx|rv|zW_T#$|SJ5)MeTqUvau&uP8WvQuU{pRE(&x`AM z%BROlhd}x;)Ae9AfT|qBUr}cZM(ymg>B!aWV0){<F30aE`S9GrxOGg{B0+^bZc1Hw zojDt=tO#ta>i8>aW)_Sb3h9oiq1$$~XPO%meR`ckmJb>5x+n)cb6IAoY)^a6EQhQ{ z#S}DHW{<CTf{tZ1ex6&4p3_+!cR$aHn*0ZHJdEwMer`u;&{Tn$nUf7tR&M8Ja+pAo zuQE(Z^*X1BtQx;b0P>{5)I#6&Y}?Q3{DJ`O;kPd|VHSO^-E4jmm6=0hR^f~1YkxyM zqn{zk=)cl6Rk_pC{)Xw2n@xWoA3SHwY^QAT2b1k&RU)(2&&)fUD0!jXjAu5Zbgv06 z?6uC3nhScEb?%wvr8xa3?w#o~6Enf`n!Hf)%+KDL`Wr8t8OX95#w`1`VK8f)v$`Jr z%qv=d?)wX8+VYH=@2mAg?)!P}G28{_?gDcsPMkP#;>3v)Cr+F=apL4%gqFgN!VBQN zq~^eG&V=~#$Q{Ywl3(S<iXUJPLWod^OUM6rguQIM*p(Pc5$BHo`{O@C`r&ZsBma%v z-tb9>Tx~_Eha+eW9Qv2zXDfdwa0GDs(z82iB7PQs>O1_egTEahd5K>P!&|GPC6>?P zj}mbBUjsi&&q9OWANH-DbTxoQFXXhreCo$68u2KOKtNRl>9{pu^0Hiq{{{FxLEsgB zF<ix#g<o|6JDa#6em@-4f^fV_#4JG9e@XbMq2%n29{()<13%31`{5-2R=?hB1S~wl zjYB%Fbmo&!o%y}^-ov4Z2|qQIoBls2e-wXuCUX2@*w2%jo`(YfVY^4Ze?G2u=s&hs zE`p1$!7u-(dzqzysoqgy-c^af;9c>vaA@N{8}dBy5#noxKPCK^kDFR>5gcduFCUX~ z8-J!qD#vR3E&NsC?`DC6+OH=4-T1v;Xyf<uB&QWj!|ws0^D)++e)i(JcobuUpBl<c z-;=-^=8!8yz{1}~S9}m&LL>xlgeMsB&H+|ShI=jXc?<vj&2CRny`Rk*{2BZWe+z#$ zgsU;k2jNt3+NAZ@{Al3e`=!B84W;%yG20w*FR}4k45O)!n~0-t-+1~(@D*-tv1HR} zl(fY*{v}-O#xHk#2LC}3zZg!e)V|VP1QDlAT0e_|nE9|u41Q`THGc3AKeO;3gCFO) z2Sl?AJlv3I#6LI=z(zzwbI8>57Jk+nu~m<+;Q{9S3Z2nvr0`eJ`QYm-?Vob|pM2pL z@PGb58G8fRrp=*%zk8Corhq&Qi{kLdE%@z?9EAH6Y1X?SpNse#T^7u0=Zo<J?)N_! z9d+?dV(`;zY}&%#8j9XOGUlSXOvSMCq40Z~n=R`<US#GkW@zH*^U)_a(Mmbg0?ZVV zW^1gTi=h|YQWsjW*J;JU@&aE!w&*S~)PeZ%^#q%?@nhb3-BQ-yZHf<u|B3HEhA>Y( zR|3P_+UL_*bSpOKjH8Ld9>qKG-`|W7c?!_2JzkDaV0Fn;%44hdhaB<K>y<9)7pz~* z4pYJ(%sv|ar<o7sJz4JKeWx%-oYS$7&t&}atq(i!FX0aH&oRo@FK)ZXz}BBrI<uvn z552~w9oFA%QpI1K&RQP~|90NLh5s8w*XaLmrx*hwzFMxv3VS1X9zQuBZx~O<-V#Rh z7&83$`f#alS5*kT;=_jCtyS+f{%DFzo~cN1i!t$Ris>}@7F{HD%p&Qzi2qhP9}2xd zQ-$>o`?Zs+Wfpo*u5PjEKN3%?=<^YZm4%v5bqoK2xRuMU16*!3!gG(7TU3^)Aw;V@ zk*#_u^s=bOaRJbZG0R+HVxCz)y~d_3{Pk`834AEIDONlS_}`)C<N41O9X_Olzfp91 zS;?({e>k*8Mmnko{q9uGuwR%P_Pz~$NZp^?y<{Hj1^6K?R6KpFHc=03{F^LC(|2vN zUhEEQxcD}EX#C8^zuw;cnU233|A9(<hW?YtTU~JrzcnmBho3n90{)-q_#5$iy5^(t zTP3vlrvwgyJ9DGX)<b}+w<|vpqS+gH(FmhIm$&mA(I75i)#I(ZpzSA0S5nczJ?fMI zTnywc^i@z-H)5)Yj`|o>)b5*pI58bms-l}V;WnV}{d@7VRB@NCN7$#@*J!)b>mk!O z>TI1XmKCZRwI?i?Rd44>djj%yo-?}l=ZG@i*7>6MwWD-pv*vP-Q|v+fqr*Oa)fdpW zA!BPU+i>NlclWPHx<i$!@E7QlGL!ym@k3kW{Dpm?$tkYiy70i{jXL9gE3S{})?ttJ zF*bQnTh_<eKX0N(@jCEhE{jd|0d$qFB;<Tp2iEhLoKFl?hMFI$kF2GSiK#|jQM=P! z$(ZVpr7HRb`XqhtUyPrvgfJsuPjfuzQ}0;fmp5yZ_><KoSNP8a;-~vb&bsPGlvHe@ zeW0(j!cTVvolD<;74~RRexp93@M9a@Fk0?z;g_W<`UU!A`hOFq(&LAt%=QZx8P<ge zp5kZg&k}$2wx;oKa{T=r_&d#Js_s$AFAV;T!H;b_@yk*b{({Ee|C{l%D`WnJOKhw6 zhiS93h5vC0BZ+^`2|v@$2VKlpRq5WwPwVg&NBlUM2!Gn7&uaYCR=^M1`B15fexZfV zr?vOahrjFt@&a>|(?WBK2AE8nX9fJ5-eJFfLRNggTGmf=9L+;-0smc$dz@Wg)FuZ5 zV7;$B6MEsxO#pYXY?Hn}!>>AIsfvD~6ruOm?~AcL9P+<cY>I<2rNsWgzbiT)DkOzy z!Hw`@%tEei=czKt2oui&{zb>5Jti`Jgoj`)6VDpP_eHP<x<U)viq@|>WT{I20;R0c zo+qBKFn{*;J{$EhIQdgjyM0I;g+C@<G;$D}IC0{{i4!MIoH%jf#EBCpPMnlWI7yQ+ z-010v@U2$9bFW{QXTC@MEt$waikCu~*&qL(iaE1$;>3xQ4=VoxNAUr@2B{h|00000 LNkvXXu0mjfn*zkM diff --git a/docs/img/3b8b0bcac599d7207d90ed8194bed83e.png b/docs/img/3b8b0bcac599d7207d90ed8194bed83e.png deleted file mode 100644 index c804c7e4253f9de349dfe0d79e0e98fc854a81fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12005 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 diff --git a/docs/img/3c9cb466046f19c70255f0de753a307c.png b/docs/img/3c9cb466046f19c70255f0de753a307c.png deleted file mode 100644 index 6e40db206ad9095cfeda5278d6fde39cea477703..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46838 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 C=(eB$ diff --git a/docs/img/3ca3bc9234ff248b19d9555bb5f1cff4.png b/docs/img/3ca3bc9234ff248b19d9555bb5f1cff4.png deleted file mode 100644 index 6ce63e5e1a18b1e472b251e02385a650cc07b13d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20311 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 diff --git a/docs/img/3d8b21038a5aa14baa75dc65de55d728.png b/docs/img/3d8b21038a5aa14baa75dc65de55d728.png deleted file mode 100644 index 468a61588e6a0435ee5bcb0f0114f937845c0cc6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8499 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 at<N-cFH()f;Lk6J8*0j0N)@jxg8moFznF&r diff --git a/docs/img/3da5d65194b00f9dc3ffde2ac5f8473b.png b/docs/img/3da5d65194b00f9dc3ffde2ac5f8473b.png deleted file mode 100644 index 590e7e732848ca92d436cd5c329e9235b9f29179..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7492 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 diff --git a/docs/img/3e0f74f35030a15b593a12090d5c0daf.png b/docs/img/3e0f74f35030a15b593a12090d5c0daf.png deleted file mode 100644 index 9994bb1c1e21c2bbf2c899bec94bb14ada590b84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13767 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 Y_QJ6E)H?W|SqIFGt*%!Y-i`hL03EkDkN^Mx diff --git a/docs/img/3e903eab58c2b1ac777ef30adf3bd44e.png b/docs/img/3e903eab58c2b1ac777ef30adf3bd44e.png deleted file mode 100644 index afb7c9dc6fdb021afdccf979a97a4c905902f3ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4432 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 diff --git a/docs/img/3ed7ccf7499687536cf254fc6f47d5e7.png b/docs/img/3ed7ccf7499687536cf254fc6f47d5e7.png deleted file mode 100644 index 2ff325ce930d69b20cd5b5b3f1c5da797574aeef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9887 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 R`pEzQ002ovPDHLkV1g=ic(MQh diff --git a/docs/img/3f64ac42c5324a759f292fa0f7e4d991.png b/docs/img/3f64ac42c5324a759f292fa0f7e4d991.png deleted file mode 100644 index e7eb30292573aa947599ceb45944e0a7e24e9af9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25217 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%0DB3zG=>2AN(vX-nDBo$tsz$d+}+}_JcrW_tK-Z zLb4quMDU?#=dD#j>4j&<I<)zsbC(rd*HDvRuXvQ@ZYW)x*Stk$-`RPj35!w|sO|Tw zf<BR=dqliW0KZSTbgkR}*Fkzfo(4Z-LXM*dHjG`=UHz^~622JfuTo%6vc>*xS>AIK zYCUQr-vy;X&|0JHDsEC2460~f^&<XFuI8ugS33}}*MnCKb<Et__*7|+IiZToc`=hH z1^)lnt1Y<00y?6JP^cTkwT<_fFvc{CEpP5xSo(&`Eo3xWRURL#kO4@BTsI3grRwbr zb`L{72vn#_QZ<5N7rT9|s27%deEdHg&`_DZ^@onhy4BOfgCa~lQ-TJm0jQU%S%mx# Dduir& diff --git a/docs/img/40834a63780a362f429e1902450a4a7a.png b/docs/img/40834a63780a362f429e1902450a4a7a.png deleted file mode 100644 index 048ae91c8aa8a292e7a378b792d735f4ac3c134c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12270 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�Fi;R(>kTAvvlhH0>=ZGf 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�VfxY=)ZlkD9K_uvjNl*}Vs3(UyIn;IVXxi2l5OtwEd@){XT7yh9 zqzUT2oleu^1Wc*c%;vY!MCI0vPfo7SRf7<vqJwQo*8F;c!J}kDkkAJ{K<o2Xub5iW zWD_Bzytoh%(t)tC%0@t5uA7HB<wop`w&b6D#fVaxbQ>6JBJ(E+8u^UHhRr$C6m{q- zL)iy>6PW)p*$Jp_vk7*ZX+PA30o9Hu!h)!L3yee^R*014I3%b$S?SJtFUzk1>}HyD zn(jbdDmFo@wl;6Pk@!^`w`{I<e)CxO>u}Bjbjlg(VcKc~s}xZW82Xvn&DTQ$BjHd_ z4s~AuvmPAZR-IsCVt>@#zBE`5vc4f4z_IVTBl44<O)A1>D65ESo8h1;EP9HyOF_1q z6R2ATf|j8qy6#&kb-tGNMID;e1Hos&9uC?q8(iaj|41ERF<g-`tWO-0x-haDZNiFD z%lv6;ycj1SV8a7IJ>d-6eyBre>YA-}(n<H2g$55*i@^davcXL&thPXwq%;+DZU;?Q z=QGIll_gW3;B?(&o=kx5t?Oj_BwNE`!Z|Ih=F+7860{X!3w5)2gB3Lc?5<!1$3|7a zRIDrbVhe(`O$XP#)2;Ge7T$IX#sCXaR|vYa`joV;G$gZ-1fj6{rSjY%V1%EbrehPE z-4-V7P$E0sg2RSzcGx<O`$^d+nhPeomB6i>6}C|)G_W;ulT^$K1lB9ul2)}{ZeZM6 zusZ6{L+U3z{LG0(*qU(4Q)l;yGNFl`4)a=_3yMd<Hx+u+C8)+|q@s>3K}rV&pP~%* zRk1)3rT_=mEj)D41((jJefE)!Hvi$L<L%UILuJC*->@O!R)S4;3o0<fOx<NCv`?0g zTLKf()`G(Z#o%;Z6L~4X%|=~Y3$$qiI<#H$i=j?N2A4<A+K~;3Y~BmIN_BGGP)|^& zO@xxSq}66;psyhKgWL4>%mnk~*15Mwk8F$y4^jv2EtoVbmtY_&KX%r^5E>4?{?AgC zzUT*QwkCp&c_yf9MhlI!(7*(nCE4J6fRCEh6wZErU5PGVA+~rlSv!Dy6V6!>)C08s zfH8!4bASL<_)LQD->6rE5hgIsE!r+L$Ohs~hx+WnPQPmb^#3PoCc)OGWL#wc)LRT6 z0?KZ78&J2+b)Xf=cgqHuG7G`;ZpZ?-sTliK9!b9T_!d8zUr&a*^vXhOOY$utEh9N= z3vz-wLA&z=buj_9dq;rofR^LvynpZ$lE(dPM0!7_(--Rh0QxuhlL(C@HUIzs07*qo IM6N<$g4i~J@&Et; diff --git a/docs/img/40cd53294c496a4d049d735386c16649.png b/docs/img/40cd53294c496a4d049d735386c16649.png deleted file mode 100644 index ff399e26e73ff2e7cc8dcdac352c10426b6cfda6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170308 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 H4oek+q;TMys}R3S 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 diff --git a/docs/img/40dbd9d2f1f965f42a1c417a258da575.png b/docs/img/40dbd9d2f1f965f42a1c417a258da575.png deleted file mode 100644 index b812d331538353d6214a60a297145b1792b6d012..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 130072 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 dd?ow--otG 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 Om%56!GD68B^#1_D9=&w{ diff --git a/docs/img/41371f9efeaf03eb888ba8e19a486185.png b/docs/img/41371f9efeaf03eb888ba8e19a486185.png deleted file mode 100644 index 65629737050a6e8ee31ceecc50337ea97bc59526..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13603 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 V3n(w3|Icqv8mijQ(JJQe{u>^e5mW#G diff --git a/docs/img/41571e3a155c671e6ff9f259f20fdeed.png b/docs/img/41571e3a155c671e6ff9f259f20fdeed.png deleted file mode 100644 index 701e46d8e30c0fa2b6888286394bbb4758393008..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5464 zcmZ`-2Q(ba+SU>+R<sCNQC4)4h_Z`VB`l)%sEHCmuzK&&lU1S<y+?^4dSopYo9HD( z+0~b*L0G}{mH+<Vckg%4nRDjMGxNUl&b-f@Gw&0ltqG%{Vx=M?BBD`Md7w)~L<S}z zBGw=yy+D}po%R>q9c^`erGtZm^YinWZ{s47qxy=l=g5_|FpH|;6$%OpN=iy9Dk^Gf z>MK{S(9qBT003HA+A*OKFCrqwMb!uL`aaW}ZytJ2t29Q^_4rg2)cQ?3y?xCeo4Lp@ zTKp__K~v_`5M)@=Q@_{|d|0eT|2RN(p$oj7WgAwcYtHUvplVv7Ngl>Q@eeI8w_?j@ zvWLOr+<w;n2jym*$jI)vA8O);Ipoj@zEAzBwo&SOa9jH3JD{MH1VI_>r*{FFm^+DA z&aagiX~mQ?!5Sg86-4N>LxBNfZDu#sGHvJxTg{Om3sVCtj2T}!df&9T4wXy<ZZFoF z8$XVdW}9nUV6a;p(5c|{YH5@ueCoNU-1RYwp!IB92tADcR_`wM@s{z(Zq?V9qZu1! z&e1XZNqkM_U&`29ZuvOdPkvc;7=x&|7}>p1lyaSUWIoqqu~sF?Hrocx4~;stD&1n3 zF1(9=bpJCrJ*H}{<X6K=WPH`rw%0n>JvCuAoD|n4Q-*kg2cl^k<2@HNV8J88Qu5*p zwNXI|{$g?M*H3mkk>BA<muVIHA`S&WQ^2@e`7{g4KCbXP%KR?F193biE>eDlfS<gg z(`9#7zQUwDJ|`vxHtFjPhlPhifV%^uf{}~K<QybuOM3x{aBP#d;D~y_iGx(wdThqK zu!u`Qe=yG*S5%I<>wH3vc&cJ6)0tmU>SDhsAha-R&Z~V{WgKfZ_Tz>NM97{Dd}w6F zJR`Tr*IpqU1yJ!eL6AbH%Y?}{?{8FU7`1rG*6@T_2jBAI^t=Q7?10JFo0>?so^=}< z*dnACHh;y@M5!B4y@VY4bS?;?BRX|V5ry^Qrp=>nKtD`=T?#9LAVvNPb}3G$bQ_v~ zszcc2S@suvi!qRrKJpQ~G4RanB{V3zc?0+@b@AEfG}M^enkQnnc*AgAuqefh80Cq$ zKTcyg&fN-6N6^~AoKeVp$+>+hJX;;p^!e~3K)XWAbc>eVF(?N|g`X4fx$_`e?H_pf zkL0`nEwWp9uh!?Y0!ZaIScw1>aJdjt65v&A2oX6MnBx;M@gLCtfG<}5b=6-D<^S&I zR1LoG#C2{|hMlB@J>S&rICc2}bc{Q(uBuK8S!6=dO?|6KcEQ=y;p1)}pVn#ys_5^$ zePNv*A=}FXoFJp^$|OZh(!dJBqdN5`lvzx}1tzv^)~DZu?Qf2~NYUWt2;^UjGncT- z3$wIq>^$VEpENiw0lR9LdkEfqs2>^ysy`P|-#*RKB>}`W=Dun_doR<cMTB;Yw0?Zf zq(ETt6s#_PIBM-r-*G;Qq^rI4<T3Z-nkyRVdbx`1A&UlshE0We2vDXNoNO<mHNLo$ zGjLE}I{%rdjlNARDcIt~6HzT3mHM=b2B?g?^Ca7)latt2g`R=!9kAvmU=$O%t*Lo7 z6B*val?8{(-79;Rx7Ty|VvZfb_qr#Z3<2*CrzR(FkZSOEsWMIcdgPy7woE~cejBNH zIXgV;_<C=Mn5F}mWIBPLM$3ZByU$~w^wx98{*~V@sqp7<RWZwYhvl=6exm7TNYu-p zykoZMJEsT1%`x+y$43YK`>~BNWZ%s@`cMl+0)1{x_q35UKcu2&<nX4Znf)Vo>Nuo# zly8R_1WejK-VAnRMm}e;$C_0qtg~F?Yr0B|%G~mOah_}w8;~H5z0>*|JFrB+5K@B4 zZyfoLRR2kt-^f7p-%R?GBkLr8CCl$79rQrdNHB(-$^RphXt33p3GS_e_fq`l1wXOl z*P^E$%ib%vtr;0ZgIy=z>FA{s<lRXl(x4l_INncmP7|PxBMJLXS{~#zprdEU*D2s} zJ6xsHw=Qws96@d(Jug7j!L|7W>=q*<uwCY8w7}*&ozea3vR7h&5qROTBmb+_2B7Hy zgV&zs(2IEbx=XP707hUgd*tE|5YG7FZV-m<72y~K516}{@wjy+0S@4vXF~ABs0H;M z!&ULu+C;Rvp)W!k<Za5UkBdWpaUnzI6D_`mg`e4V3@Jb7tp}BcHyZ;8>w_c0vHVyl z)u5+tpELz&5N|$z8PANfFq|z%mR>V9E8{G_U;fF8A`S3|;}wu}%CFRRQ8x(ox>d#E zwA)ys>(c-}Rj@bjkTOGmT5drJ{Ss^7>w@e~rNTjVw_CQ`-?WMyuk~}Fm*NKb9ayre zvbk!g(Z&Y4;+D~G`_DA^ot9z{JIv)~h!{yeiI|8iMaPbW$<bDa!U;##m^i6ko2(7O zoNbC%P3E1L@U=E5iwG*BmYw7t-(`LA@V6E$x93?~U-G|MYjdoCR)l0q#3bRkGj%QZ zKfJziV?TAcXprAsB{<c2SW5ucf#Vi>*(K<&R^Ai@$-YvbRrF$GM|U!tQS#oY7Opf> zKzpJ0n2bvJSa|j6T*gB{lU-%f6Flx2*W%|R?P}9u27;}$s^!_G2G-5wwJb(Fqp*qX zb-4kywDxs<VKA7-GC)%Y^YyuXqe9;vK43thg6BM3Q={PJ$zg-cFkQKD^>2p+OVmQg zfF>t1K+gu94e?i9F59v6bEz!@=SLO9_<$#6AFf$JN|c$OTM4q<a{aVjzamvk#7UYy z+9)p}WDiQ+r8*T+lj;>N;5-nTQu7<L-evFpFy!NlLDIQG@7D;E=gz*qDWYbk3pqdM zywSrc$<$5vR99T2BlkUA;f<9@U(brn#-*EpT(Ea$31AsJ#IRPQ`d$R8RCURuvN%0% zcm?eLu#ZXUPU*RMW73sqi(KE_g4EinJ!`=I``Ir{#ABX-6^@T9mtznrr>@J_oNuF1 zwfm_(<Fb-bS{a(o;`Byd+p&$s)vs%^s`f>l*P4I1bsg&4$*6GMW72@w1(y4Z>g?6! zXWs$pKmHLZ1Y}2?rWab~7RNayXyoj$M_4{<Ya2I4jI?JW;?*8ZsPUWYHvh8hYIp9@ zU=q1JqR(iu=a^>GJvHWjIcoB?>I`dw!vf<}J*5E($-9p+O!7R2td}K!F^r|pWqbv& zuP*z(fBsIKV>#Vy_m+~db=|UXRQ5o-dWiuDeqGc4zLp|>lt;HY;v2>QQ@cZ}=a`#? zGRoQqd4gO$YA5n04vdiUwGPWicOM(4SeY@5{_Lo0#bRqifYrF@^*XbYCbzO>tdBL6 zXVKD}Ch8?btN>1p=$0WQuWhFvs(S<=j{|dEX?zrSVo0h{`P)OAtDa>Vm|^ZmX_hT1 zpHMobe7nL^gh6qm?XvGQz-<!QSJZF2R~bqFh%~$~ss2?|A^qssz^Ha4XAd%e*L_?H zY_>@ate%#@<;_TeBQ0sjJ&he;8<ZrH!9q&W<^~^HQZ6H&x0?>T;U5jWzdcSO1?IDu z{N|43%xdw)xT!pNT4&0?s<iKo&y1b)!3`zNv#{6Tj{G5mUrZVoN^ZEaInW@2rqtex zoOkY+h-x$z@T&!w)x&j<2Ar!*aa?Zd)kjZoE8+odQ@R+OU$F(Sse%sdSN$~eg62lS z&0R(Q*7H?O)2k~x<H}i8$_wMN)Q$IlUBe(jcL?Usz5uGZBCT0?UBde(PkkkabgaI) zT`4iazYem7><dZq2(|33_5h9Aq)0baNm%4kQC8Y~2mnB~1;RnIAXFsZE-_vJ3Un$1 z_4qt8Z}(&Y8johBHxQRU=*ig4=f+LDamx#;S_Z}XU2EEP7F0sS$30!iSgF9+t`e66 z2AcRG|MyT`my#;4sFZiyt9Bqmthv-B@=9?vbf;kM?p{Xo)Mk6P{_#q8ACx+C56JO+ z)19=WCI1qhn*U}!J)EG@?`|{r+W2X*SxWxrLaI86m9p>UK)_pk=Q()xQBU?pwh#_V z9+mRQNEFLrJ9uUZ`GrmuB|A)2<jpcOa2B|Mr?Q@CDoIM)&GK=usaCC=D#vhi-}~$U zUhg_?IPHmIUDKZ!O%_v~SdK5<Dn7?FFuG?X<mjE7wwSq2otQ;-p^$fv7cc>O{a>Fi zXS--hBoSi7qHZEWCjtbu6r0Nudi7JS7ibW|UV4wJ0+FALOr6z7Rm^mXpFcDYz6GQe zXtEY;`?0g-=z#-?gg|{FZgX*`(LUXw>!$F^eRL_@O0b*2D(`Zv?k(AA<!!%*mK-3= z!B!71&H4E6ol+2VXwn9=%P-M#OX^i-txj3|+BE9%>lYu6+WwGkNr})o`d(w3OMd!X zP>B}J5nOGvxaU955uoO5NeUbrN90KB1xnL=(A{r%j#;gUoe2oW>>ka0qz^{0*Z$Jl zLFxUP3ag|2^EbD~gmnG2zZ+na<;d&=?fo^!GTR7oQiu-^uUTyIEMfNctsSo`Z$${_ zkfG&h&l+wDY>5#&KzpTSR<2cPdGq1{<gm5Y&b#6zKU3fyb-c*k)|+j2J8ql$n{Iu1 z#lFM_UlIlv6n~-<8G1KJjfRG1#Oc}Cl)C+R)>&P&9^E^aJm)&h=6EdfA%J^aYY*Hm z^hLmY#1gJ71e`CL<PTJ}TiLTx_s5_-4*jKMQ?)(n#Tp*2F}E`;18<scCA&S?f+{7! zyvA%WNLBQ+ud5M@diJpjX7t@|(dcFJ)#zTyn)XF2%XsmRaRGMd6P1eGrHVR%VD{mT zI*_}v;gXLS2lr<UJ6n;k@LP`%g#)nnKs5cj4`WWua)Rm7_azlqsVH=rYv~xsZ8ekr z(RHseV661Wx7Aj<%V0(X?G%S#QQ~#Lu1_}Wc21KR^>))5;$o}sehUHI(tb;ye;J;A z5R=@u>vBuppATip2*-k))EeCc;BY=EKM+3FUBe0pT-f>QR+<d@{)4OUp=Q^;mkeF+ z_A_vN)Q9r6X<ZTE`_X9I#ZZZ#h`7M}6GtMk!F2=`uWl_-^|C42vQxa4Fs$$K3;Rqz zFkn<4i`5nfuBY0uVst*t@-I{PV^sHSAYC+8y;~Xc`|mFAUk9(W=Uu&U+XC+YS`&(r z7Fn-N-7c76Fl1Lfc)bs=l)z%I>4VGIAqVhEuTPx!5_{f^h{0`opm|(R2oS7~7kHtW zzw4H3e$EeJu%DIKLeFXKW@{OMbOD49FsL`BEH-T}+NO$vIAT?ND7a?Tnue>u;B1sN z=8Y~wrBN3==}sQyKJ_Ap0r5l={_f#|j14nvw`qSXMohnwjd}TN-mdx5#I9`8I&U-8 zOo+!Ajq~U7DC-6pU2xLQ^91^v&T{KG?Ocrr6h!934F3TItqLU3w-=Flg`D@x;9dDa zN?0<BXY9+;g$1w^_OXlFZz*XAV8)N0sI2Sx1qs|3(LYT1C=GtLrv?Y6;FOwKb2Am8 zDZ+{oih&YLfYm>e!FH&({NO9*hZ%X%0<Wyns4NKB$|U2n)67eaR3wJKS+qm$Myu52 zn(~=(1|s3<xijFV#=S5cg-*?%<<S3^RR8h+{e752i#Tb!EBTAqG%F<->SDS{zS?*x z7uz0+GLfF8ge@bSJ`Kz0RSkA;ynW(}yXsr&c!Kn0k9V4QOAI_AfgP3jo%`|v<1|-; zF!{8IfYi(Jsf?}QEvG8#9`f~u_zMxiLlC8ID8L2w$j{}6PUY-m<yXmmwt@C#l^u(p zz2}Rm)Ly#wWaJ>!L!OuF>I2H|@y1cV4A4)xAP!nCJe3x`;UuR*Ynum{o}v9bJ}<hg zz1r#VyaAz-f`!NtMmYOvrM=^z@ScxydnfJ=o*>sOLqEuSklGeIG}9}f-u7ANhn#Fp zAh)25s<C+##pd3gFzhyE=~LFUeU>yENzqMFQTLHI{rz-pgiAF%U8#y*M@s27fgJ06 zC3`Om{68e(`0!*FeLc_wXc`)58^KHYcH?Tkxy8rj=!e#QYCD~mKh*aiId6AFw`N#M z+THE_>ekC87DUGrXw)I3l%SL6=X+cB2^NcuT4cOy?u3jOzZ995<_rM>mpPyiN(Zow zF{G^;SGGppksLKU+w!32_L4S=&Q=&~lK~=!B|D))VK)vt-BcQ_3c0db8{H^Xd2hO+ zy#?DcuimyRn(fyWj*CKh3Of7dHzzXqT-Zbb-Qi8|d;|xBi~(#3kzzgpKO@pU_IW(N zs8wd|?{h4Vzp#OTSQ1*4(q(|oa;zH#nq=g;pD;iO*lP3>u5+D4aVSUKcCko{lr|KU zNNvPf!yu$LmHzRH8wkU4Fxw)(M+G5AH*4Cun=3_Qk6_ni`tJjMsR7Ir!bxQ9Hel9E z(ud8C7FFXfw)9WbGAaXCt{FPO;&ggGcGf=JaySlrOF2u4rZqOEBuv4Z3_D!JIVGqz z=}JEBl3p_mvxr>2E(_P<et$#eG&&+BFP8>ANv(M0-?~89-(`Zoa{4do!Czrwz`u?E z4qr$QL*ejjxsIH(7t0|-RsSSJ{Fg5AZx?@$gCO6cvaLr64ziuaC}$E~Z23Q;0bdld zAs=vjUxqJXL$+QlDoV*-1`YwhBafs2XKF6hh_#LF5K;$JqS@yW(RMW$^Wx|(KQ_b! z{?ZVQpTc`e$+8vWT|!7r!WSh;7E{kCC_fQbc?*gIuO}#Ek&Y<RqA&bT!_97%%5d0% zd!q0cLlb7CZbrW-5HDnQQTL_|a{l9mfP<dkmW79Y(*36t^FNOKCw!qOx{}D>SeLs> gCjWbDH$H{d%=eB|?U;36NTo!oN}3O<6&{EE3vfUke*gdg diff --git a/docs/img/423e566cce1da11ef163c69219f870aa.png b/docs/img/423e566cce1da11ef163c69219f870aa.png deleted file mode 100644 index 0733c5a6f159860628dbf3ce8a15faf82213fff1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 124760 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 -&%xV(rr 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 diff --git a/docs/img/423fb353db83bd90502f2f029c398e43.png b/docs/img/423fb353db83bd90502f2f029c398e43.png deleted file mode 100644 index 4c1d25258fc6ed99ee8144d92b6f460f64160776..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16001 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 a@!5StlUcUPROmm2<R4{~WvV}zg#JI%dqEcf diff --git a/docs/img/429e9751a8b0336bb8b7e3faab15a373.png b/docs/img/429e9751a8b0336bb8b7e3faab15a373.png deleted file mode 100644 index 7947c534408383f8452c4be4a86bffa0a7b480a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5035 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 Bz7YTb diff --git a/docs/img/439a9c21f68de25b8a16d0d0a28d19be.png b/docs/img/439a9c21f68de25b8a16d0d0a28d19be.png deleted file mode 100644 index 46830b65782e2e0aaf4ad03b583ad2cb77a161ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12066 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 OkGhJEa;cJe$bSIS#K5iq diff --git a/docs/img/43a1d5a081bb166e1d43d6e671f250e1.png b/docs/img/43a1d5a081bb166e1d43d6e671f250e1.png deleted file mode 100644 index 8ce373b96c3272728188b87087c562b1fb284913..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5317 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 diff --git a/docs/img/43c1d4f646051452c436962222af114b.png b/docs/img/43c1d4f646051452c436962222af114b.png deleted file mode 100644 index 1501a74a429981334cc1b2a99842a5c5ee95d724..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59655 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 diff --git a/docs/img/4401376aa4e3f3764851b2dbb25f6f2e.png b/docs/img/4401376aa4e3f3764851b2dbb25f6f2e.png deleted file mode 100644 index 704264fc13925dcf1a4d4c9c58d4f23ba8025fda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15359 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 E3vnee>i_@% diff --git a/docs/img/441419241245b159818b469c6508f227.png b/docs/img/441419241245b159818b469c6508f227.png deleted file mode 100644 index f41e0b9750581f49a5763839fc859852b8ac1ec1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3460 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 VAOSNy54={1*jgbiOAr_C{To&Iq7MK7 diff --git a/docs/img/44be1cce97f886ea1f1c93950d764041.png b/docs/img/44be1cce97f886ea1f1c93950d764041.png deleted file mode 100644 index f332b2c6c3887b2ba033ed93093739d941a43870..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18868 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 UEH^_rCjbBd07*qoM6N<$f`imPhyVZp diff --git a/docs/img/44cad341f814ae94da18480c3dc1d2be.png b/docs/img/44cad341f814ae94da18480c3dc1d2be.png deleted file mode 100644 index 952cdda943097316d7a7964916aec1f1f75cd70b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45843 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 S5HXin;G?RfsaPRz9{7J2NA0Ts diff --git a/docs/img/44dfa1e85103f88c82598a4ef9f8d0ae.png b/docs/img/44dfa1e85103f88c82598a4ef9f8d0ae.png deleted file mode 100644 index fc9d98adc4d60019d16a879e1cf217e6da4933cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 710737 zcmaI7XE>bS7dDE)h%y8r7(F4;yU~Rpq9&sE6214%s6h}ZdY2%&=)LzgL?3<h-rE@S z%J2W4FXy_>`Sk2-KV_}G_F8N2XWjRXQdd<V!l%Z^z`!6<eDnG}1_mJr1B3hxHsGPB zbpI^s;liV?{6P+dLTzqsv#}fUa&o@2{SuT~GS>R13#y2Rhxh2wBYb>(0s;a;LP8=U zA`l2fOiT=X9Qg$U69Yr>^{Wrw^ZSNlvNQ@~bS;X*n)>YqvRDT-rYa3)&Ar;`Cayg= z!xwf3VL|9LV=-o%-d+|M%TD3T-b-JvmR?`^_@4^9hLvVL(NB=vX>3W^IuC7p5IMV6 ziB4q*;Gz4WwIcoB1MCp>htB`6+nhC_n<)n?O%?xpt2SQ{Xf<|Q?&Ed2(BwbS_J4cn z2nD!Fi0}4zj<Y`F{U>K1*^YS-G1dyO`=8iZQBRn-U*O8(6$aL(RR{E+YWmz@ZzI)B zu>mrAa`20Ps(I}1-<$!CIzyUCWO0BGT3#}D1AyF`!nfs{Q3Tu{{wZpACi9>{Rxyo) znBBdmYGL<(!>Q%sKL2)^fC3UIR6&j_P96V^O(JNnFbeRt1tvV#VWD@h<PdoKzpuUq zdvAKK<&O~E`AG%si=R}udLqG)V|dr&7Uccv(W$U;i4N}oLCfnFb-2bt*)aMhYjd;j z?)7N#;=t6@l!d{f1Oe!-W$iyHDc&n{2`kGgkI~yV&@)>tm8QRk`}XxVuhpIZ*<Ect zJhQ>*h1UMv&<>QIj}B7O`}UQlidYsfa;nd%7a9pnd<^k<@hId$VMVZapxL$|0WR9s z<T!K_*lYMvnfX<n@a&PKFi8AABPCZ?CG9fDu%88qtHI=Pq?p(z<p6+1N5QnuxK@bR z<edMe#E*^pycu6M78tB-J|lHr#YyFxuy^r?zVCd#y}d-_sZoF<MG(CcIf;eyitxd8 z{MzEx?cuU(nrXQ6&FJ^y-K?&t7W=NKg<X@=N`L(aFEZUX*(V?_7PN(>ZBZtAQ|4jB z;h`-;Oms76jnY{sH`BCtlW0Gr1(GDCfe|x?06@ko!<nw3j_lukX^`dTkmIX~rnsm- zuP5Uq4KHpNn>0R_kA#0s+Sa~My0Lwj=dRiM-CJ}~U(z?Lu}lV&d#RHVbXe|dyPFt( z!@b6zwN7le$SHaHFv)58Na{3ajQf(<jPvt ~q}wAJ;p@}DzH#iR5d`?-tk7<gUB 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%0D;AjDdaXp#&<R&5`de@^qaxjq9yE9m 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%0Dgpro0g(|GQGa?p$tVlg;?6nL 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%0DjjBNz><7JjkS03N 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 Q3-tMu6qOUH6w>qmKM3sJUjP6A diff --git a/docs/img/45586bacf83042f9bfcdb01d5576fe3c.png b/docs/img/45586bacf83042f9bfcdb01d5576fe3c.png deleted file mode 100644 index 244bedd..0000000 --- a/docs/img/45586bacf83042f9bfcdb01d5576fe3c.png +++ /dev/null @@ -1 +0,0 @@ -<svg width="1170" height="638" viewBox="0 0 1170 638" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>review-apps-CD-outlinedCreated with Sketch. \ No newline at end of file diff --git a/docs/img/45974f94466502ace734ecc3473a0d58.png b/docs/img/45974f94466502ace734ecc3473a0d58.png deleted file mode 100644 index 355e140c0307c46f05c33c67f84d77d417a11a00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3028 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 Wqd`c$(-F@A0000uI$9D)Z!!0@skR) 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 diff --git a/docs/img/45cb073d466ec4a6fcb5a09d7f5f204c.png b/docs/img/45cb073d466ec4a6fcb5a09d7f5f204c.png deleted file mode 100644 index 97d39d07c116ad04a150e39935d5d115f9c6ae75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8292 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 diff --git a/docs/img/4635aba96009dfb3ab93ab6f4b92ee4c.png b/docs/img/4635aba96009dfb3ab93ab6f4b92ee4c.png deleted file mode 100644 index cc70962d2301ec8b4ed97d2ba23c47b84c0d9ed2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5827 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 AF#rGn diff --git a/docs/img/468eb44e935f615292705e2fc013ddb7.png b/docs/img/468eb44e935f615292705e2fc013ddb7.png deleted file mode 100644 index 107dbef7e22b9ce82db416213e610f12904845a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10639 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 MYN?beJ$muK0Q)t#xc~qF diff --git a/docs/img/471bcfe6a44b22703662997289b517c9.png b/docs/img/471bcfe6a44b22703662997289b517c9.png deleted file mode 100644 index 81dbe1345cab372bc3a6c7181c8524cec2e5fbb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3025 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 T>tz0200000NkvXXu0mjf#hu_# diff --git a/docs/img/47c6e09feffe93d1d9f758d50837b31b.png b/docs/img/47c6e09feffe93d1d9f758d50837b31b.png deleted file mode 100644 index f4654eb8202f15128d6d66dc031f99661764fe0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6181 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 DC!$uX diff --git a/docs/img/481f18ff2e4575d1c38d4c93631bd23c.png b/docs/img/481f18ff2e4575d1c38d4c93631bd23c.png deleted file mode 100644 index c589ba482f4b7bbc80005484480113fdb87e3083..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5922 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 MSxbqaXz}8|0P92q3IG5A diff --git a/docs/img/482b8e23d226428516ae20fae41ca7cf.png b/docs/img/482b8e23d226428516ae20fae41ca7cf.png deleted file mode 100644 index 48ac0114732df1fb528c383dc4307c07a16f82fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9378 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 diff --git a/docs/img/48482b1410caf250f0257d772e55c544.png b/docs/img/48482b1410caf250f0257d772e55c544.png deleted file mode 100644 index 82049a741f5916c0653096cbc352cf8dae67f19e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10513 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

4_Re0l*?x7e z`PveN3Y2ioaR62P9&O@wk7)&3W5SX(_WFkll|#x(Lem?fO%HP|3JH}t1=cu#DkU10 zP{5j6P#^h_KSlMwUZSnpC8g=Asy@c1GgA68^uz?uMrzQ4*YH<-h}PJw7OTmVKv+7j zmf|c3uE)XMrjPT0&XJmjY~_mWrxm%a0?Iw~(bCL;^~>CnD-Uf=ANHF5U}X%zlKbB1 znIgy7)=cybJ!3PXLD-vMJ(yH!v;<(Fy4cm>*-pm|?DqbxjEVP$yn%ypajzokdM-?;wUE5R}mem75W|h`>X^#K^TwN;! z4anRd z3~GhT(Wh<~u5$LY&J((RejvDo9=BK>pOL5!W7~3sD$=7|Lo98o0oFnRKT$IAq+hjCd8_tZ9jYY!3uwK?j9n-A!*}Im zq;jBhOEas3!B&2PscpsDT;h#{3Gb+TVj?Ja!+Hb&*yBg?p7*h^t9nVSvPs0uy$V^J zv)uS-<>lG-Q(<+WpLpb~$UZKNzPKY{l6am>fQ6Hfv7v&DiI&|%6T|nz|AFt=+33|m zQDc0td>H6@R9J1JoT{6~`C`C6H+G%2VzE$M;JeD+8ua5_oj8?KF?w)6unS=!c)6HB zgl?(V88#8bcV}FzrXQHXWzvk7h0r)|+i+ zA@Y+4B6S$XCg3hSk>jNH(=>*0_=?A!gwxmY=P(`NlEZ|>fX%dl;UPx()T2r-#F)jb zm|S4qY<&&i8Gl>V#tw#u3|eh9U)uXhU@yE=~Eo zpVndfM}BOu6`@Kgn-CxPX3XKlmXjsqtEAFik1Pa2N(HVY5`t9XB?=c?%dH&}q z*_txre%{Pu`qa-8ti!Lu|6`0Npefv%W-JC|7#a-#wCl)Yp12XPsWbB7lJU!C0mEHa z`w=epSHnEoz7oXTvR<=_l4HlOH=EJ*YCO+2qiq}=bdAx4O{rx~wP80K_Q*A`6Dq|H z%!|;$fUvz48v6=tqCt-w1)+*(*ZUP4u%f|$yLq@BP26(g!Z}sXo0ArBhou{4c)Qu$ zUgeAjGU-s9A=$WvC|4cG30f0F^762ei$Ymlp(rR-qVjJ1@#E)C0uSc+p92& zHSMz@9OJtzn|aTM8?w|zoS*%e@MxR8!5VM~Iv^h?Q}{`EKV09A8K#Iyjk0F*#zQ<7 zU^vV{DB~^4O4DR*citK$xH@b{8ZBl<-FRLjUT${7wS21DPx0|V^S;NVvVzEN_9m>* zvp}Hj6l+qHbVKEq*va+Gw1vD4Q^{$geOSZCo$|kP)j(La1wW4uf?KR;tkWSEBYIG& z(mGEXte(vwk`~L**oQ8+3on+d(iC?(uv}?2gFY3yX#F*QQ^dN&OWY(`mS!@mlI@O~=D!_G^DSklZR&lFg$F;#W0E4y8z+PNTSBtdl z&TZWW+AB5b256HB+&R<}{-RVj-CkuQ(SCk|MGa5u!*(8ZxJr&)fF6cyW?4K5r1N?g z45aL|Iev}4605|*zK6n~BjzW`m2qc> z?cV3L3i~z)0Lhid6d*uM6`TZUBu@@VROXTNm5w@)%y0K$x<*?o6dpx1Qe4L3h6K;+ zVDy!WGEav+of!#b_H-)rJ8;06Hip=B&e0?nR5^pLrP{#yM%W=J>7_N)jgL(AZ?~FN zXD(EY5E{NmgDw~xA8Py>s<1QG*|jET%w#)5$E-9>){H#2grl-+eK>~0!Hv;Z4}S=& z8=Q3FxZel&BzWul;1h&@ugU8olw%)U^5M$)fdI9MAOjyhW#B*-@bYjw1_zz|teJW| z4I>w2A%B^hKJC+|V;(o{+;G!yr}eb=!OdGwbmgFlwqXE-z$BhWS!(;|O2_$xg-~wgh+!ud1-dg% zx5*kp&uxtnonZIfGEAM|lJz!htJQixAHpj8VJ7wEJ?(F#UB5Z({c1guE04iFpXQ(h z!lwtZxkzbTY~C=k7k*1PfnNtn2tR-!emU%)ARHvo+bPFC*CYhAox+cTJYCL*IhciE zvv0@_3>TT%EMt8YMJCf*=ZhXfS2J8rpm=d z$zk}BRCgH7mLQ2aJb!pf`7|63Gl`LMW8tzGuE8(BvCf!*!N>!QgBl46FS6+WtS&wb`i-YTZV%XfzGzL~9jrgiil9v{4F#X21*CNa#$nU4)iH z*CfJ`79dEAVCv|Z1koXf<}x_Zo1ia-4egB}7qt5(+8aU6cB?}Wm9Ui=Jq%mtCGX7` zsDTUGOk`sc54uK)AaX_CPqLeV#&`;!j z9u8TqTrda)<;ixvf4SXNw)pCLPm&{-43ouon1fj=a`iIE)ghP!ELSS3f?nh*1qFhz zHzw2qAOX(gm#RJzV6zU|ecfYhS&HT4>@m=tnQ90TI{LEL{t>l{38rsz3w~qYu_EENdK-2w-GS`Dne5K&_5>N7%De>s zF#I14b{B3K1Yr)t+0yOk+1VcTba0SEw4-3Tr!!#1a#a#bk(IO4y<~!$M+%?N!g*Q; zoA^3BX_zd&RFJE|b2=4>zRID)@H!|wFg((htq5q(YqTksXL0EtHju51OWh;FDMqQK z-Uhm^(RMV41*{Fb5Pq|1tBhjXe*u?_vyQs`K^|oTJ-P)V9$dIBR5j8F5;URL-S#Ra zny%Qtx(I7LZ04{xCQ84!3@U^i3=#w%_FR#x@DI;G#UaHpNx89(A^#}LRWSU*wx#V! z+Y|;7F9E)jzM6vb9(I#|d3bX@kB9vf)EVP-1nvpK7Ue1qC+`Nf1O1xy%^SJ{;y`j0 z)fLaxFm1AWWIu?4X5so_IAOcXa9FPB|5=bpUy+!yH%NI*=-Cd`fr_Am4W z_@)pIUAKbT<^Y-eh89+~iQkpmf^}wOY3Hl+yQ`#owInr20*#GY=S?g$Rlo|0#17~K zKFL+kS4s1+zJklcPW=9$dPZ{2`9+(Xz~>8=D?-~gdm#ITU!z2a+4m=q@j&Wkd&@!? z_7+SVLfBTc%@|kb`}&x|aeW|33HzG=oaHJQRkxh|LED@pAk^u1DG!F@g1TDYdQmq$yjEOwc_x5n5af_ULBFP;ILYbf-XUw3-0V zKHx12)Z+1(-(BR%;<_!wILz zfiIcmif_pJYUBx#3}V9nyh*PJa`hJ5q-I_cLWDLXSGTOMcywX($tRZ_;*!?oGmatY zf+AN4mFEIBEdZfwq*V9?c7vYy1KSaMon!6qEj=V^^@W}6kRA?SIs!LzC|HjbEBVB( z%Inl3H7SdoG2n6=8gL724P6clpiDl(*$0)O%7NIduNXME4VKw0kAG zAY>4;S(u7iP@&F*PVU#iW#oe->Z?lya$roShf7pw(tS zK86j)h|^)$PU~}YJr`*4zVM@1Q?1ppt)_$)`Rr2eb@PYv;*etDd<(A{)LskD9`%(V za+jMOtA@4gOj1EZ(N`P@_Qixj#x6!yA6v2m!+9-o6^ z^sgN2E0L@Dtt-*J{aCg+{g7p2SnpM+NAipzUDDWr`{JKW^Qc^vFj~;5JOf+Jwy6oW zo7Gf%Eq$;e&Q5>8pJNAc>)2C4e8Y ziV*;k<%-2_*vtbLT;=S%?LL*~=gn5|z$wa=;DK~Q8fDg3qW4#84g<%a2BVjBpbYbj zwhE3CSK=kJT=D2IZ^`v`uR_-aeu!32$zFLt@x6Zi?t2w;eQ2cA=?^8I6<6aw% z$6SX0Uhl8MmY>2UOJp}(gOQQjX+383=d0M`jb z(I*}aXP9?nmQrR1N5@jqlgsg|xE;d%_w$qkR+1lR3459r40W0+v>{*zCSSt7fyJKL z&{|~5ujurG?iCR>2_n#p40I31dgz^Kc28j~WuW&PLSYRDy0)JDDG$OqOcJ}7t? z*I)UP&nyWJR|ET3L9Vv*984q145FkAI#uU+Tu~|#rRGdrf4hpGW|t-Wh-6aIA0$^J zm{zQ>I7}11OtKMvG-a%Vt{hy7OZrsFm0y#-3d5qWkE|kQQZV65YtGKtF;*9LIDwa2 zz9C;@ALWW`$sn3mdtcAb>RJ*!WH@_H)Z#;cZn$T;x@3JN3$!|XC~;vDCmJkSu^V5d zxKKVMeY#8j6+x>~mKI<0!@jt_6JKg)4uSrHg3Snmr5NurEMI@4$?iq#JMC zHjwML&Ow7AV8=$pUV^ae<_<5pS?F3;?(!h8l!XkvFnTS2O-Xh~(M9W-GvIbU_fSf8 zjajawa?f+AA_)>>Z1HXKuONOJSB4UI=u70fZT9iE!4?`sUkz)%gXcR+qz z1xc>h4um!NSMufU1pN6M`Et=$oX@x!(+$bC-H5&lVtA#tYOKF12`b2gC3kJw$o&s8 z_*rgv8U3q_>M&4|z$OWL?P%7v-dG*r;-JaOB*bx+=}2}U4PZ{{lm5XE7)6N<<0*re zw!|E&)6w}$x16xWvfOA{AE$nLmN$k2S3yHS2$0Mo+Tqd%uxt{7688oY5 zY)W(;{#Q7UdbIl5@C#L8=5VU+M=Z%F!Be2KevpiHavUg~94M1;j{l}Ij`bX@mf&h} z&b60MbF_5LKO&4iC?u-9;4g=7F(^*&XU=EmOD6w9zRii`Gp8X<6J6a8yD}`2u<+}h z+;AfFod-{$=$M4ggB;|>;R=4*k9leQTpNOR+r)joW~3V1iL|HTezlsrVf~*&Tn_UmTI<{ zMnyo4Z8uZw9_gBA0s8w8TOm{lf=#0-`LTZTz93&fJztdN5A-S5L6L=tVPkR= zBJ{E3p4z5>TqE<{(*E^CQRn%F1U%6HKv%6Ea@cJ38!=|KWy?C7BgX+odK>xjDcNWs^KfF*@d8C^6Kb=%78or zp`-f?wfWBVNPm^I=y-jD`e7Rf#0IiQaEr~Dnnj7wF_eBQkoqx6=`5$vNoa=l8GlJS z5XCRW#uXr+W=}MNgCYzuQiGU1RWEJHzNHuj{Op;qP?<4Am8H|(c%a46-G5L16eh;^WJJ5_-$F(^vP8hsTN#ngW- z+SnXXQPU%q8YbG>-?m;mN`g(9VlnkcS0Yr8+Uun4HkoJ*tLDv4(>8rZkYi)LoMs zSSFW@uY|gXDeb~C=P4tBPk%`LFQt80Y7!$C$I^#|_MmjmNIHm1<73mY@RQWS1!7JS zg6hc=*&;D^7R8j$htdQPldU<(X4UngKK9RvEdhcVcpV%#7Sz-z2URRc^{3~@=37#B ziRPk>KgdLu5U&NPH%O__k7t|noT{67dAZXeRv8vpahw_Yu8NJKiq8~u70F`ZBtq3Xb&(=?38a8-wy$NafT9h=Xi@gR>bV`B?BBCLl{0 z?7UwlNRvxbQSV+l`9Wjd^rHGaQPYIICX@gsC#|a@ND(1Y@5W2MJl~ZHzx*?I$AA0|wvSpx2Hv&_v zihseO=!3?vyi>a#nCq}4)dN5{0|ubUkE+-5EOQW613=whe*tDF^Qr`=B0_CDbaoE1 zzXsxWl0C3yYw0vJHA#{tOBtX*oXL(VJEUxCbXCKjipvkO7(u~H49!gOkfED=39jwc zU0R0~!9hg(EZE5(fbL?IRxl9#%VhE9o{3EaBR+%N)JIhV3kfhzk#wCxP5s5L139lD4BGzVaBC9%cp zHH!kex@9kP&m~X+0nK2py*!Qf->Vrb9H@ zWLf#!B0&|y1c$hwm+*(detS@&Q6}ed1+aGzcQYrT1KoAY6Vd&J+yqxAC3dxg86qq* zvUiJ)o7UCny5{=Xfp(yK_)*Y3D+b%4B<@JnVca3=P$W8ZjdNuiM70CW@Emk_0qyyN zwGW`!d9{=p$i>GV=uHP=9fU~CcL2J>wPj(cv~RL#i;oRXm*hdqL4}yR|2BH3gCk>A z4}!WKYJG^SGc|iyhUx&dQ(Dg~bn?crrg?L9rf*fc1j-jz4P2UVuVyA}P)w{kX_x|x z?s0(TD739REI`)@l+|hltC6Syjye z-za;mVE|`HNL`_i14ybw>9~@}o)8EHWYmE~XElSfR0YKeDW{PVCIsDINZ+g=rUuJv zm}(P8Ut`>qvl?NE!&U2N=x{Q+s%i_Hsx54;3eNIiFW^i4?nado#7+dvb$Y#5MY*H zwmY%hih8Hj5l~Q2sA-XjJv9I=(16WnVD}6{S6Q3HK`tstoMK&pPGPA$p~8#MoKet5 zys-(K*nq9(F2N|NP#H+Ff4uHLfK54^Bs(Bj{~Xa|-*7_L==CIH(I&8jvlXh48Ysik zbR>tjTk{4WS&$Y$&HOAT36P%`C@7CAR|BP$yjzZ+_JT0DT$QgAUa=dOfd%JXne`nQ zv4N`>W2>&;xf#2DI97K;cNR~m6*hD%Jy8Fv2&K+J9{O2zHMn$|1n&}*Q3n{3`O={J+bXl#WdKaZE60p3am1T2p<9hQtwi-Y$V2Cv0HR<7&G{Wg zXY`Vn=)LKn0+N#)e&>o4SgcPXdz?m?#wLLdmNuBfSjWpG^rK~2H+liZ@>w$3u>PD3JH>5lDIURD%6(656mE(EQ5X|GVDs)fQ3&R`>0D?wO_&DCZlR)BLBPpVv+ z#}a&zdW9V(f)T_bSUErhpb^dz=oJqgR_i@cfW!bW2qS}sknKfSY%e}8b`<}Ix&U|P?FG4J13xmMl!4mYMi&v_&lhM8TUs@6&*Hv z<&$9PNQV`n3kaKI_O{|hxnnO?^K!Q)F0RYOOC^xf zNOP1tJ;mh3oDP!^GV=eVnTLnU3Yny0k}D@?@0~S;BL7xo(aX$QD3o8+NQ7A-Z0zwe zmYE*%C1qIj^-e6bweFhEu?_xji@RDhpo)4gBYGNdggPk)maI|NP}XDJmdv$`^w_uC zpyts+sI!dD#@Q?P7OOZUE(XFe@--Gmbz-3?r9TD$OR7fabYKp(CM`tN0kMH|On^Yp zjxH!-(y6BBY$rID-fn|BDVwl#n3%~91ZM2@x&wP6DW={S2WgXCl0Bq_lQolRA7_$n zlB+|MtAcc?V{OPASsFl7_a=i6f}6I~BkpRr-g3_?W2<12D>WrK0&sm82azkV840l7 zGTVti9A-XdFi+$R*05?SvCt^*qf;AP0Ghof<}!q zlD-m$#>deO^L{^#;l}GV)o4)*rxBCB3jPoKm2uN~VRNK<&HBoxUc}=4jy`dcOsTiMkY&xjk0)W*0<2O4>+daXNNC|aS;# zr!lcPuDR_W0KGs$zsXf;B84cusN+Ueaz(ff5$jQ@eHg6JvaW^Aksg1?4|`yi)OEsu zSetTN#2q8%q}VQ=t<9&weaRBd{EV1sWg z^tVOZ&_>NYox%s^l}qhRz)K(LfqCU3HyQ~J^U6^Z@$EtJ$`MD$;dZ=?ymEXJAjuU~ z(9&-=kw;GW3Q4epAaRGn2sv?6vLM-V!wKXLZ`Wb-z?_+QE;E}Wk-!m;9etad$CIp3 zlO|~#Pj$P%oQr#(r;hZM;C)nTqP*A+WI{?J?P6NiaQ_1VCBwYs z9&F4ym%7;^HFw%!2HG*wOS11KouE|1gGm^S;8Kp4fi9K!BFPTiQ{!ps$Gh1T(2g6a zN>8UC`9*Z{*r8)h>#RPgS%;z9jJnBGz~#KSIzbA-^2GfBl>?mtfy)T}LNZY=cc#HZ z5SE*7w>cHyT+>9xEf9K}sCzC!h1u{m@=yG=vjG2Du^+XAn^(x!N2eo8#>jM!BMG zOguO;oMP0GzG4~#k*hQ;(nw>OZr+>e%%pC<)KEQ0IjIl9P4roHD!%W~y}$S$LFtbE1RjiMyu_tDO5onKrC zdfJ5jHfY=_n?zNR=`3k|Cl42Ou0cr~h6SLyUxB4MTwx~!236F{RV-V!fK1m}Vq*tl zuMiS#u9r#Bz=9N1!U>wMG5wA8Rpx7)qW<)F z{mQ%t%)3pz2ir(iz4wt3kyPj-fnhG=Eysj2!fe_KJOfA<{qrAX`)`t!zHm} z1s{ZH6xhWV#w}`S4MSve9H)b{bC0M;kUgf~TJz4`QG0AJa-35p7)vaCg|XEVHCl?J z3zr<$TkiEs_Hkl!e929#IZ*495M*?N+84&|^N46bEo$cxen)+*!?D1?dTeGdHncR# zVHKz~PS9_+SHSFAQ`s)0izn0`H7o^avB~nYv0}H7qwW^^dbS#`pNLrHv~_~Qs&57^ z(4oT~L+F*BuDn8w>Kd2lN=|8iqWP{4mJq`O`i}2I+#Lwuuw;v)nnSB z)H$+sP6O1*MR=}nlPM&?rCxw-LW#=w#csHKp&kyD$iZ?FAUI7#TMFUOReX)nXd*6y z*q|f zddfJXOM8>s%wHlJg)kS=jaJxB*tElm{VVC-F0G}w-=Sh=q0Ez@zW}+ZJYrR9>ZO$W zLLOmSCxN!^ zw}wl3aOMVJ5WJ4DT93u#nRnYYVLw9(Z5*nfzXZDA2G07KtgmQM@1%2dI;K}zuDGfA zek6~Df}6tE=rHj$k`53a)B~X$@zKP;A_~MgsD#@hSKIA2$<=mbT#x072pV^jlB-D1 zC?s}l{E)tyS+3|BZ<1U^a!KxnEu0FGCG{|8G0(V#Vsm8EQRFHu1VM|VFLnIVn2m=M zo_5X8FJmV`qBhS_t^|UVBhFWpR?L!0S7D3+EM2J_Z$YkR!f}X}C)j}`R|8w(5#{hE z6Ob_(K6us=`b#j&B!`44=0uzMgT14<_3zc$yO5dJ-BAmz$~sx^&~50VY%*8^6049i znht*E@3#CG4JuNVr&Mes(C~D*zFM}KC1}iLikb*tV>zmU&-2XF!=DGAGz#iel5v5O)pPpkk8o1?G~GsRRaE%sAVU!ckzt{I{Way75l%qlK& z<)R%J^;O)66bZ-~kuEcvvMg|qQ-F#&fB>Q`O$(D*vVTQq(ma+k*DJ3CP^?fu9&BMg zqnH3{M|vrH0-;KbIFl^_N?$a9HZ}r?C3_xw*+qIUBIryA?D1S-Ux=}d8o+tP(e?T5 z8zLjusfEW5u@Q6w2BrxoB)J-Www_5}k$ED#2br&t*$gAUaO6Rqg--+{59$~bQAuBc zgmid&7kyRUlD^sybI+c5cj(WTMPJbqlh{V=n4V)@$yM;LvRtvXbjj`%+ktsFL8(k4 zb5DZQ9!lq5mk7XQjKZb4CL3iw93ie{CVX}Kf7rI2k6v#>e7 zoTFTU=&PVP2)97_HTx*kc3$FBMqkkxvE8w137-CD>r;Qj2way22N3z{cA~E&7JG;a zitND1KFkrSoUXVZ%k;85G0XXud)m8c-c==^=ong+nGJF!M)M)d6;fRIs(AguZGD4$ z25e0~cp5wQt19}!Q8qg+o&2?uTgur(UCH0e^K7Ef=-T9YbavbSAjDkd7-5s1R8Igp z+p10hpxAAfgRnp{+_YMBxPSSMm+P13A+t$`v7xgK+Ik30-2@9z|c#{aRF~ z?&Om5H26$5B+jmG>xOn4Yf77@DBrZM(Losn2x7f&VWC$$=uDxPpM)n=G}6ziYO2dnh|kI`YLRVaYHPr%=I`XxuTtOxfZInF+XczbKFw0 z;mhP-k;Z_`=16(n#O5eTx}Hou&aNtKjvU(!cUZ4kJ*|m;IIC`D2gX8UCbpVLDv5Ve zSm!8}*2fzr|0=bKS{*c}Jw=VzJe+NCG(D-{+uW)xtvT^Uj_cV+++tu#)>1|0E|}sm zwXr7>y!D!c=)vDByVNJtqB(ZY1zxaC(ZFS=1#7q*ES?5kR|;%hiP`wDlo(R`cjzkS z(~c_a_2h*XAcyXx;KHuu_MdQ2~MA_>ZsIuXq)H*=QJnv*j4>=nL7PQQry zigMa=?I7o~A5vn&obxR_(-&?hBH|{`Jmp)+Z;M>5Im?L0z~2qD(YXLg%!0bgQcwBp0~;zxjU7k5$hT&zD6hnjhe3!2)EFDjVSs`itmK4aFn3a z=p#X+$klCRM2rN9B*>E(p8RV{%O&S03ziTxMmERsQuNh`ELScD&?Y%0ZpZj#fQ`6= zVA&jBa=eb7ZkUTFBlTC=eu-Obo!A`p{de*x8Fv6sE8sfcn`XuM%C zY4#pUHS(}t2jhhp(YQ>5GIOO)Voj{lQZK=LjnhQH6oc!YDH+Fg1I)1gfu*)W_nkz3MaGs)#XhAbp>KXFT#xKRhX7CCm* z>R`$!aM0#c*Nw+2Z^%_dk7rUG7Rn*8TRKu3d01l}t|1yni&8+xGDJ(2(*fnsmLGS+ zanLGP=r$j~b9wk+R2o!shIQH{niK&Sx!_19q@9o_0Dy^}h#--&+D0a?VrYRI5s3{& zpT^~j)PtM`5PWPThiVWC#*wb&8IYz}%or)+M$VOB&M79HV_BIJ$+l$t&>fhuZj4-t z+?|F}p14lJM^-kFMoRQ$>CYr>1S0vOgz32Xig3`y0vU+#9km6hwoJJ3ReC}pMY!I+ zP1%E7m8cR6zfCay*9%ZEws_}_7hMt;WJEdYgIEsqFUb}%w9!is>3)P~GQzPh;C zC8@z@>qQ7n!;Q(I8gm<9l$K~9bf>~9mkW3~--5Ch5ZsrXa zsZ#M3-y?Q%fU$zzO|Rx|_J}Ei$0dmdw*+LECg1U&nvN}M8`&(e38aTaLYy}dLgt`~ z&x)muCU0D6J}5h#(?wJ2TclUa zqXCE{kzm+9vBZ1x_eB)*7NdcC?6BgRRc~5JEU?vgwS&bhu$$1W+EUa&KDtg<3s|UI zY0bqZIk?9Cu_`Zwg?=tJdBjrlfpcx;v2B5iy@v7#b(oJ=7g*Dt_tyGMz)0$lQR(KQBm$-wy+Qsqg2AyN`cv z8uWe#Rag2ZpBKA+o2~%?eE>q&zd@@R`f%VPV-++RjqSM#Ez^)ruB!dQr7E*>%wm6b zHB16J#|kSL6Row2-2^ao8P)j@HSu5!kF^b=K&62g(-_1)t`xfo~iqo9ct_mmVCPGB?%w|1G)X+rvr@@Wj#UJLg+dDz%Q z*uzFkS_?KuQOz3}WdOTIY3jjQnbCd9q7rihuy$38z&5`o5J9mgB=u7EciKMnNlaQZdF0Hon58^lZJ4p!TjmVy;)sSYszck0cFWd#1=<*ztLs&|!imlh^x~4K(4+h6J_K~w z#-TNrv73|9eI8JhhxHK7cGqc;d}xeUtdqOI1j=>RW@ZM$niEfvT=h~o4a^h`qZOd# zca|b_xdD}5lnWWFdI_xDmfFRxO8qcf+=?44^D5W1@}QAsOIc!!ny$eOUB!e|e5~WW z*r!%i6AHevbP)7CeO!v1c1=ET?gwS~4G|91$%D`Xi@_PF z(KR8f`X1-g13@8nE#(!qy`!NIv1&)H&RBvrtD^3l(Vh-y{S8C}%ijW3;>(%!(v3!( zIh~>YiiIbkEt<|}kFHraR3lBm9!ht`j4)!=ejHsV1*RGy`%a2OBF4bLRtIFZxPo*5 z=syquGffx;T#uE zQfgS`wcnFSix87)ts^!mR*c$>t?)Htp&REtNseXshIr3%D9AHXcY0keY;6);@+G=y zahrvG0HOhen1x10U6;G-Fn7#H9`t7#D0 zJmzA9Q$Ct2+>9u>My>x)nMrUaxBvi)lc%L0VDuGORRA_!p(m+#*hb|gxsXSVl6TOC zllTd%vkBuF4~jdFk}1YKy1{cYlpnFG@s4ULw$6~xIJHQ-e(|baQbtsdisIo)#$vsW zm;zmc*U5&NomZwozETh&Dvhgn-Fxy<#k`>tym9V)5pip*Kx1X%xma(nt3;JU-Wx;* zG{%zP0bS6fz0}!WH`ooVb!^`*WCGPpW6p|mS*~}fbz;mY^EQkNqb|!e2x3`fRxWaQ9;+F zvXXQ17Iy~m1=^WLCTggyB;jb4l)vVTp&kpSDiiJ*@9cDGKkk@3pQ~Wo~*SJRoqbaxr&la2|b-WT%!DyHuR@xs5|DfMa zpt|&BGfswXycUD`@)690j0vR+B9IIQN3P)XCg(|i*8i96x##b z_7CkRR}~Wu&g)k^6MujOTM?`q+3Mg0)RTGTln=U&-2@HL4ooz6URy6Z9?mQIp z4wO8Uc@+LD&^g#?*H)GbM!rUGyH`QvYecGf7iNRla?rrV%-5(1{97Wo=$>|aVoG4eGg zq!GF88Nd%>x{JwHXQRK%1^ieC(=A-qRN2FV6!sfN8#RUPy-{a&HX&0Rd0TR;U@`hu zD@8mLKS$f~B4%onT&WBjrV`j+xdrzLJAqmSvGGD*P=AZ);QwQ%M*iC+qE=>%)dMF&j+l?H-$xXf+*F3xqe2vmiw?<1i zF}RSAB)O`AO5)CvrrC3%H&N@W_!=$02RD}*G_PDSv)0>45^mcT=4-T3cs$pB z*2EKa&VC1os}kD#-O11@3^Wpfw&R#nS!-w!&pK{dH(zgqgw@QVm&O=>|p^`5Fh|zcL*w7x)^vO!P2&6Bgm!Gs~ow^Fi@;uP*n+;FNl0>19Y&lGz=lCaH@E;DP`xc1T}@1#ltW z;@U7)IjK?QiJWoFp$7u=5l9stLamrVpC-`o9dsHnL9ff8QA@CpWYHjxRl){0WVxkU z*i5CwNAzmFKO9IHrr>)EUn3L8kwHdswWE!Ik+0DYM39)pI`cJ#&9SP9uj>)s= z?S8%4UlCv9hT6N+zk}Tw{!GqyVpF^%wuNMCNncK+;@v?gtcb6XSb#{bW}#1HjWiIS zi10P48U^7&1*VTAEh&7B)Q>6hHA*G!yv;re6n(`etH%i7wZfp zSJK9?W&?(^Gzd_I%371N1Hq%K%EQpum)Pd-!#Pi{xj%N3z!549?sRITtyjceN?)&0 z6D|b&!bZ)!a=U^Eawq3RpGdq1OuNH;jm)_ye2uY>wD2`XUb&b*8}v3m#Rb}U!#z~ zLE>wa&Y=nq%>8boQ7F7}G@PrNSB_Z{81vySXqm6^pvVg@XCb)?p>J8A`wg-v~!UGIUntsYtnU+Df-w1EP3Q=KZA+8qRu+3cYY_< z3<|@p4}1Kpz=~<)j8@5DCw_`ccY;3lQu}GpLVj3bpjev(Xh424I!LY##U6sxM>^6c zlF+@OjY~!w%hg%hju*SKN1n)p&Xcqwuf`69X1=g#E9Fkd4z z-mYm|8zLF#K-XwFq|W2Zm#kx1U~ zLUiQ_sg#i06*|Q$hr-u5OBbUUi=AVyFo-Q~xKquw5Ijz-l`^j!xWX%UEglp{fLDh^ zf*_8a4}ZAgh!hUhFnuG**1Vh*DDF>=ICJ+4ANi9$`srJX_e^?h+Q<$cz&HU38+v!w0yKB z@2wNe0=L+sw4W>)+v+uZjhJ~4GG8ODF;jG~Tz zB1n<1F}&^YHBM8-*N8&4Fhm*-(pSN!SPNg{6!{wWiGhj(%*@y5G7oATPBa}zUkP7h zu*cM&Ju4SFCB$|cW8<9| zjo^+~K%s`<>rEZL#?-xM#e9urO9@ddd4ro#1r63BSGGEVw15)-9EL-o4MP26gPW9j@WLv0r}-Ko z>Z`&lSNIye@HP6&#DhxwBGRIk2@)lr^>X_w3V{g6m<#_^hp%x;e2vVfk$L5KCr;eP zk_{?h0Z)95nOBZ+c1HYyzJiEbpc;-;`m=x4=WEQx(ahIadNIe|N?!P{YQ9EDJgD1A z-lk$0$wY({>g0G3+9At)TN^Bq#S$9%;{$Exd9*1^+PRgyrQ#KSbK@saUN9W(+{LVy)Dr|QXmMu@Lz4{`FZS@E&mmZj5H|p3PWS9ONRs#_7E+c(pRzR z%mq#GOovG3Yh)f&Oy5bDjON-U+uM<{E-xq<*tv;Xla%E8zLY7P097fCbe6A233jN+T|Wz|Ca%i;_`vq?GOduXstD<1K4Fuej28Mqbsfdm zn18?GRZaZD5r=;nEWNexHPR_L6n}e~3*EoUa&F_TQoV_4h{mbb71r2r``5HG-uDF$2%(C~| z)FA+g*tcL3^^{6E3tyv+y*jnxuIl=NeP;zVxPWzhROeB^qW7ftWu00JogDHOm;=`> zY=H{ghn_`v7LGS4CpPeDE1KAx2JpjNFz_jURXhtmEfcRCM=crH-ViCi(^ z)iiM@X%_z!zhZL5aWs65gJ1Rd8pD4oxuT82e2tJggk2`S#_dSgNPLY+UqMXQ3;Jpj zXK)n0MrrZRe2q!2qBa1A{r9BA#xtmpqI-$G~v13Ptv%`^0JE5IBFs3P3D1V|}ta1AEP836=UbD!sI z5)^&KITI`*FN3I%cOLl~jlMz_B;<4=3F2C;Y;kmnuA{Z@6^Id7`-)^B<U}!^u^2=JxShJ_!{Heny-=gL9p;OZpR@g8>HZtxFW*TJB1U# za|~%3Uv3L;H){lm2XKP?=;L68|B5B%nzC~Vd=$RM+i~DLreQX@tBLbanf1gx$7m(N z{$vMl_tPPA5Lv!Pe)N^b1DUUJihPZ%KE*7|t!G#W!c^{s2{Z9E?k;nhaKr;kvnXQu zChbPB`ZQMg7LCEvbihK>ucyCnz}R8koS({(?=*@-BVEvkADX|_)ZjJKchy}77E*KZ zM;ZN{1Y2B+;29hSx&ef?F9c>@x%>!*uW>JYjST(nsA$j=U*n!*IBVf+Bz+Y*7gNOZ zVso4L8mDRA6~0D#JFR}m*SNo2kAU2u-S9OYGGAlmUuC{VSNIy&`^bMKX!$IBjR)at z95Y|zKA%-sbF)EY2P3{lCScuDgh^70>4x)^9G0Q?s;fP-+>PMpfIS}`xIJA5g$1?$Hpbc9y3Y$!ZWkPvuYA|5I zBf+kw0b2vxSWnpQ_zG8F=ya=6kyRQ9n&kSXp2Dc3ZZ#De3%Y7!4mPR6Rq2mbdva)Z zS6XqxB*uQoB|E&Mp>nL{LyOK(MA z#Y`zqk2_Glh2m=@>|&jOdrmUAjJ$3$-G7&PP-9&9@{sr%*TUDhp%jM5*NDt3w}}*HCiV z9`vX`nlcVFyBRyio)IFnDY?tG8g?5^V;wn0m6riFJa;B5W3j8Dn%c;OL8Wp#)pI2B zHD-Mkxfc^(Q;1EwYaOT&|Wno_FI*9d_w5>HduQ&Py=)|vD{xy;BVA&OCSNA^eGJq zPB}-83v(xe=aBoB3`8MFAUNf{)4wUzf?Wka?Z=52+(s{9N%}NVQUL>ego;dLvjjn! z)=UP+P(24^xGPKekV`N4hF)$+*P=p<$SapCgTs&a6Z`i}$VmAJOn4`KU50^&DfE-0 zm*LQxQ974-1~Ywnl!0$Zg9bwgYof^Xi9hvmypF+`?<^G0d_+NxvNx51%e zu0xie2R3Gu6xwN|wzQjlY2_l@SotiMSdGLuCO2{4a$6WX5 z`O1<};kj*7{9VpUA^kGdNtYysp6#`1;G8`_yyPsSNY|KH@e&U1Rp`Y~E7JHjTaQ)N z1KADInBtjq-sMMTR5*dWuF?P+x=*Wub@llc+@fKKzxQTUFDHqA_B5M@~#F1Eg|h7!%E(^2amc-529%v%7>ogua)*H44_ugPTeWg zc0dEym}^+oMRcN6b>muBJ1uA%H08`XY|^J(hnJyqx7rVDtX1s8B&ZViY_ZF7-wrsJ z&F{J;`5C1}Xbb7FP$4E3)09K%GPPkOumHuNQ3yb>^nA_4QjoZdfvK!+MYVxXM2)d4 zCnuhge5Jd%)a;Vw$`?)TA$7ovZlNTtx+FBTdow+1OvEc>bK%o0)-Is+l}DlRpIe>+XJ<*$VYpqI9R?>>^xj=PRIP>87PY-->wUbP*3$ zQ4MrSopcj3H94H21jsr7mq4Bhoz5GKuC)q2*zFabojq)s663YT(n}L`<{K=5cx4{3 zx2nckgkA^fD)dy7bEyP3%pPBrRET}rNZXUi>=0P!JzhvzY=b#$CCn@ZRE!9it%Svm zjY}+|3(cT9RwHyXGODh>IxS3BK-*kkNDaWTlP=cu1=k(fp)w^P_XeX%@?AC;O`u-& z0&#nLg4nZsq!=6qq~?-p8k(;2~}ykRm>tC<0?&_nK=gZWc%g+CH&q6lo$ zxm8z+h(TnF+9pXGXD0fiDz_*Tmsj3Tp0-XQ6jeZ3sj&k$k4nG=<2o-&;%%d z5Hu|vTcBH4wG{G!MGF|U)a;f2|72lty_9=Sl1vI&`Gc8K_7Ozpp_f! zds-SAaYNU)DJ_Xb&F8gr zyck0X%zRgP=6T~AYhqQkZWhErZSWK~Ss4hRBn36SF7%;LtZ7sb?0(7&r(pII_KxDZ z+`J>mh0F{J7giAzEWJ~ebQ!N1(RMfma7)~V7Qr^-!h*VDZ!s*3k3Orq-6QncwRm8` z$+7C1+RKtU!)M=^MqsQK*CX44%8Pf}}S6mORZ^(#r zNV=H;Xij`}5yYAht@h7s6*GYH&ahT*ZC<5H=vO8YHt`BHwtv&>1M2ftN11Bo)S41r zAw38d=R;fsR_nAf(D-dLy=9LjW@M;HZS}!lm9Lw#PscDnY)tGkBOCLluZYtWS zZr(o*X0zPi)#opwI0$5HoCurq@YD zR_CfpJq142>3rra!YYJZ9ug(cFyhd#a&8vzP z6%1rU5sc-DF>LLVGZs(1wumpKdtfIphYmXtt_<$?y_W)`X0y{0_@vAittrviVfVqSqDo`b5{}4l&x_Qq>Lld=VV9j2-Bxs)*D|O}EUvcxIpF;_NdG-0E z#X>KT_zDa1>I!G4R`HbJggV^@jkQrjXSFQ_6+9+mp#(t>F^7(G`oO}vD3Mm|w4qZ` z{2GeK(n>_16w(9GAX8An%aqi?O)A2CT`~12a8m4u9RQV>xN;|5PBI?A`O#ZAA?28Cx1TKxxV4tt*EuI$pj=Wxz^TaIJh%K*N*>MH-X1>h%L&ZI>0L(rTnJ zCfmgI2vGv(st^peATPw;bkiwGOwt+>cqx zG-14M0q6WoZDclw`K@U(V&cU5Y=|2BA(9I2&Jnpad305Ni04}ADfw|woNqr| zzwwvbaXL(x^1w3`Au}8YN*%Y?(#j;-=Y0CE)?5x(@|$DAc-%5Gx8`zS0-#}#2P!Na z=I!Ay@6mPb#ib~*nmew;j~Uxey6RC8Vlu0#M|m;(RW?H^jZ9)r?F6S-XF=tFyR@ys zb6o7NqOCh@_N&7iN4uvf{VbMTlmV%f=ek0qs$%Vx$GM5cl(FzP;n5|NDPb=Ooi>2$ zepY6+6hrP!Du&8FfXItLJxI52k?251rg)St&j^-dE%t-si?3pH---JZs{FE~-9@fq z(){&ycPSOZmdTO&+vY3}q8gdG#hh_;DSL5OI8h?|WmHTc-E^<2G#4qAB=Q!nC#_s~ zYCc8H3Rqk6=t(qPDsV_N(cB?nlwFd2IFL(TWeC_u_6qId(EUfEmC-p*d0uWkwI*!&0`YSV)cl-6uC+rzNV{;;}8+)+jxO60a7na$Gp=H5VU+v z!uY{-P{b!R+u$x;nrRMV>C}h_-Hd>!2B9QcM9X&GmH-zub(tsO>_r>fja82*JtVIA z&_T}yXI>gdduw$e_iZY>UF3=+(c3&fj1KKI77LQUyu%8+=S%wR)(U~i2*q-iO`e-= z=qifrZHQc9ihjlQyPWqkQ-N(}=_ZA0Bf?8+W5aw+a)fz*Ibt0dCApe6Qx(h#2g+uj zScZ6;TyA$*$9|--@q`wSj@=X9NN@Z-Hr;WBd^uX9BGwwhm*T*Eb#`JVz`adukY%7Ix;<1gL@&m}8MvF{)mcD>fU$<-+rDyGzt%1Ij~?`M@;rXvJL5xX5D$2JJZa2pNm=nb*zo5pQ)h)H|nGr5r0B9GIw~^4K29?U?QZ7 zas?t+X!11V%2UDKe3UE8$ISX_n_KB(l&g%nr_+*#<26+*sKnu{ugtZBNj|MbuJ+S@ z1RIGWeI>o^eAF6#7@Pbze>iw1c-GX8R3H@Oik;C&o0+6uhrU4MO2sUbHs@xKQLbDr z?u=F)%azer+nv)Ha41)JV_HzfoXtp8NQ@j;b)Lq0o|w#IO;kH?u-_?QAvqaT8tEW> zjY-GRu}IyP{F=x*M&`Ss7BED_&h_ZR$>xcdJ$NW#(+8glnLXx8N_@%kS?`HNahRv@ zBXUAE+nG)(Zor=UNC*Fa-cG?$p^kqO`!_^%N&}*9>O>vK98lE6n&oQd8m4(mpVGJH zNv=nHk=NXLiS9@=cQiU?a}49&k4!=*^pVUfx8BnuVdSJsneEd?XuOC0m1k#}89IoO zl9}`9x3O{cV}AGLkm1YetNJIPIAdkUB<%EkeCKhDf;OhV|Z;3@!4| ziSkIg-Bm$X)>qsF+p~5jCd`rAzwuzHTRiU$))$28T+U<0l9>$9t9GHOg(>PdrDr>k znrE%Kf!yUfZa8ij?z!<7eLBqrUW>;}(RqA-+5j}Qgc2RN3nfnnp(>s_w2}%UD$r>^ zQ)~3ts-H>V63>hHb=<*KxXZxV6cThz8yU12DRRtt?tghZcps0w6?Jr_#$F^>)X8f@ zozAK20!<{Lz1wYAn;>T7O-?hhIRYKuB>K@#c0@EfGMVF+ngg<2(V5JZeW{}>ahVc* z;}lNAOX@Nct~@g>==PR{k{aGJNdfVbuw0RrAlV?ZifXPd@voDTf^y0G+B)Qsh zJDtk|?;P6p^Nu;lsQU+Xso(n*Z=_w^NYBXRe}^d)go73M?ko7Ym_TeKKm?J7%$0-MZzHd6}T14Rdm&vZN+PA+~})h zwI#WdONIF-xuSD*dk}pkD>Ee!Aq6tFrI=0ptBK^DMTXEW-mIjrcq-`sFT;gNbi<~l zGx;*g72#3dbiiR#09mg3IY`*eNLAL2;cEn?uila`E&k2sK>C9ln~lV}v=!Q&?SXlA zxOEuAWbE9E9mqfocPe9EIg%@06(pZvh;|@}*? zCt{&HNMkqt(acS$H{@o4=&QAG!(}!Df5-ysqRTW2wcKb^31lHWklHIUDcz3lzvX=;q(Rqv7DJ&7ydAGMGFcH1q&{?`s(9p{-8}vC zsJ0GfeMSD2nB26^r_2@hnFT-r4} z*e#>8WJs;&-E^RqMBx!jC>$&GJ#Pn6%s~pN8z0Rj(}zZVMLTD`mA+RS;$h=Eq*ncI z*lb3XBgQ?)D56V!ni1hg4RB4qVKfB8fOyXxwh2642|Lwpi2d2a2xk5hv#^PGJMSWW zqmO)r#L7g1Get&@j$E-8=Yyd1yXBor-7kRTirGgP_U9W$mQ?YtM)t3WD4WS0xuq?A zn~4H$MXnB4L~OF5rMxEWWkzynF1CAS7Nygj2D{lYA!LxvNjSgL+|U;&c1MWHOQtqm z3#&Nuos3b;N%zu^sDa>^Tm~W)n&(1-#~_Q($dM1e`+6P|BV!_HjKc|+n90r^(x>|% zR|F=`ce5&kRLtLU9)|HVhc}&xiA~Z8GQiAaVc#9-&||q0rqy{GsCg4B-t1*MZfU!)f0gCxz^y3{@eZ_&$)RL1 zD%vP`0pbz}$fI*EO$V8(#zV*Zq2_CZNLI@I1G%;HS_lrQKl;FIopYpbjECHwnW;gV zx=RZsj$hG1v5tI?a;S6X%h~%PS9H03Y}bC}*)~FMD;<^pB>Iw?{gLTIjCLg3*a*Mhn|$VD_BfDME^=UBL++Aa=Q=XB~m-$0Ho$kk$rhrydvtEJ)+I@CES}Lur$1# zV{;}?xW;4Kwr$&X^2D}n+qP{R8{2%sjj{3WKXy*e`4FdS-b~k2_f&UJSNGi4ef_q| zg&T8HV&>Iu+ZJy|%Kvi?Df5n01?9+}2VsB(SC;gCQLP+BuRW4&bYzY>j5+7=zPM;~ z2elE-GFqceJz85kBi7V1u!#)e<1A%jKZJ;$+jv3oITe`-mbKM3qC8rb@y~t1yJ(mK zQb5Fsn`325_{X#vz@Ra6rzO4A&KaBtqLlfTICvyogP;zL+{y+>N9epF108i4>*|$*Os6$`cN~~AQAXS z$&R1=PR@es_QQcd{N46+%2)*ldko%(Kw_|pKFyO85%v2WMGacRCK`vRaN(udQ@zwe zGLs(r6;H4{d6j|-LMlp;58^Bs8d_OaK`>2^ty%3MBem`ygFD6?bW%%J2EH7-m!qIB zO0E^3%CmJF8NB0-EU5FQRnk#%M8A)sLw`i7nset`5s|6z1h2GZh}jH-W$r%?DL+-d z@HE%m+cAS}cys<|}ulR_Gd(K7vidM@~z zmVd(3Kj=F{ap}&KW0Ef^O9n+YMNnGfu78lZX0{tjXc$QBi3>y$jZjZbRIsaY17sSM z2vHwS7MDGY!<`DMU6@13Nfe3PDMfcy{c9#JxJCv8nOOwZ)hqzCUc z8`R`=`c1C*_delO(Ur_#nMHpD5uu#PXwsrVn{oiz$iRxjG-)C z)TC5h>M))pD2{oY%8d~K-RVJ5dfva0@Z%wO2(BSU(&G|2%S-*s?o;cR-wMFgd+w-p zX;1bBMUInma&$V8ALBj&Z1l8Qr3J(|IgDAd;rT-KWerv>goLp@*iX5(c*>IF5W8!jdR3FkVJWD7NWlMsl8oX=onZVRLk4?MqWLYjlEBo=siFeOz#T#2|Z6E0l{i?!A!xB+;rSc{v6z zSX*yTArPdBIiAL1={#t^gU4S| zc}osP2P6xG_Q;lK{RBy)1gXX|>k3Opxxbq0lOn7bS}5S^p=Gpl3dhfR*3hv7a;}nx zs{wPisK@PVH~MYRl_$0b#UPtvt}+LtE`fV@q|I0(2CepLP>?ejWhoaMY=jjw7?MW) zhfEo*j`dA15=?KlT~rfZzE|o7j9QcN#Nm0lp%aRE*3O-pS<~cE}HY_Oeb`4d9jOF}`C3(j6|%436Y;@1n@B>YKD1UuIQ}Qpyxwh~)`) z_^M-V;R05YU&H06H6a>PkVRct4qXGu!^ICJta`Rv^j~QJiVm$1zo+PQ;?|5rZyUg= zBJwN>d%q*chw7W6Ij!;Jt5A(hjYceK``EFznhPQ;$4KfXI+}gne)>s3x+29rP4RXQ zx${6-pw!w~J)eiJ`N$~3hfHWMY)VrX4_O6Ao%cy%2j(Psnoz@}r^-sNMVxjHniM?x z56O5_cAU_i5iY-TCJm@fIJc@%!jZjE8)Gxp4`D#q)4lvYM&S#nhp_^$G_d4ptU^q{ zLLNm$Ag0hMNtkCr{#P(yhSnzahK0Jvw2~_nI?T1=WEdRus=P@=>PKJ+#4&7VC0nKW zlUg3`wFmg=8|xhE%p(#&d6VbQLZibddB*&+i)-PP%ZTA1Nf4kskn2;;x*6JunP|ye zE~$IKqzd5lk?dLUQRscdh1n&--%R_jN&ndBM#rckm$AkeB+rdq%7Jgi$6=PgENXHB z6_Tf8VEcCB_Y)pP5Tlhsa@(nyRB2p&Ue~p}V%lz&Sa%PxwQfA2_m$gBH9+<|@gDqF zZ4BD4Xsp6?$#(Xap_nkm?s4C}6fPqt&8`ERS~wY6qe+)2Tv>qrYTP zMX~0yol;J08(iYTu;rQUPmFXLty!76y8M?+hQVpS7Eu5zfSs=Em^A3nFd%?Iy}s$! zP?+8=CDoVa8sJAJGqByP-%{?_^U08>C1JH_9NIVK%1If}f&6C6sGmgN0#3W{RChUb zOq%tO5wCOtXOKc)oX*y$vUMUr#TwT?ga4EtQ965{Kf<{8kLN7>l_H?yPuD9B^GTw6 zyeUF>W+4*CeEXBV%q`^Z17sJEecZq{H9w1L{*9_;vPk+*{i9X1@sPc&KhWi$E#_w6 ztm?bzk#MX17v`JAmaKwi}q_hISxX-EP=Mu()hOS%* z$Ae5*@k6HpFC1ov%A>}+nj6PXC+o~2xBNL8mx?^&C1(1^;o#9pBAT?%Mf19145@M? zZBAGI>wIczm66If=$wc>E4XKb*e*+c-{i<70p$O;9kSMt^cK6xAU!iD>uZ+5zFtus zqV>vU{0yu1V0oIgY7}1={lmshj1LxVEDcf#ac1JU4(FOUH zp|?UrjS}2N8r08(T;=K)eU=J;q1-i5l;!@ouk0)q=V5NLNtK)X+6)>dgTfW3oY<2m zT__3cu$=rr0^hsusbb+>p@?ttb9#28VsOxZCbjHv%LRG<&4^7mR*%>^An%iN^7^?f zJU3?``Bs^&zp|TU6`MGl#3k)W_z*1RKn3mc2p0QVWT8x`S>J*7k$oDoi2xEDvP)!= zAPLSi*TxA-6xNcmP1dsKNcokqc_8*x10CF1qD9VhppZ51*ni4KO*HrYpjFWh$zwGO zcGg^g=sZdN=!OYtoBGk1|280~E(5>nR?U5FgQO1x(I~ zk|PG8XL!vsH7@72n3*$jIRS--_QWy++v;G<3!og5C9sE7b#?g17K))jIjyv>CFU+QN>hXAQ7 zR_cj_OR~^Hmo{l<2pk;xS@tB8ax`|z0^1Q5FOVyfP*M+^GKf$?55Y%G&L^#u6veRL z<;V)>Y-g7Dst%%@rM!!feWklMbAJL;Duo`veJi3giU)9MRy9Huw2c2ST?07Df#;DL zvPpZ8&5^l6=7NY_(oMO>x?*-|RU(oGRH%7}Ts0{qWlsf6>%|e%wpu|PiyYD0W!5?C zyS_y%>ZXrOZM|h)Z2EZu&dt>J9q3<6OW$;q>W#Z%jIxpRQt4e-Ufx<7m*h2T4()!^ z_4HaSS;e|Os*UifHXa?fK!X#^o%FNV>-Lno$9tILWxTsB*(lQ@wG-+zk~us{sqLLd zQ?aYL?(hOs&&j(~8(V`Yt;AC3`Kq~iiwe+_B^zIsOZ6lAohj{GQovjllkk+2W!bjS zMa^TGTCjz*5CN)|e=-xyiFP%nf#+$+!@sE6O9bfFXkyeWWZ`->c)O3^WW@;i{6K+va2znN@Q!1qT{%s6854p9ltsm?04hnJ zbyf!BP-WhL^QEbb1)#RPKHp<1i${V@<|$sjk+M7uzX?99c>feI^MvjQYnoy2C4cn% zn0535o~9^~k0BTyNLrg0L?=QVV8b<`D8b`rp8X4@hBc!Pd%*9NTM+b{)4quGBNyCT zzm$XRYv{pF=o9-M=uOuB{NKeErb&G`@AWkKsJkq4zjkmg(Z4t*+8VkKyzIG@@0)w# z0E8Kdk8$L~slpuCuUNIQqJ{BL0tx^1`R|TFO{@+t(m2uzmwYe<>Q(8X zD;Pa9r`1UKK%K=Bz_ONE;rjo=&gJ5Qgty8reAC-pq0Zqn?ISzvHaK9X}G zF?5i6WxPAbG5dAHrI%ud=+dlj4ngyfT@kzECy7H5Hp}QilMw~*oL?$s9B_6)s_{V- z=KmLN##9uG`iCLX?l7^lMYmG-ZZ4fRf%DgO>@URT>r8)ZZ^Doy{Cx4>O0Kw_hTQT^ z+i<2))B2ajYR^TR45DI@?YmLk_Yo`U*6_H~&-QoAjbuHhJv}@hv8?GiPo)B397r*u z{W!Vh<0yxxhU_v0{@q|%Z(%ClyYSL@>|#=-pwWJ~WQ;UpRMh(1P^=Y+Rq}LL)3*8j z&2p(EK2&ov{wXO~%2=#*7|f~yLa3W84+=W84uRFP*(jRhOnO2UST7QgIXf^Gq%4GV z-dIxqEl2Ul+BI$}q@7aCBdO2i*@%a$YLuW@x#Whp^TL`bk2U0%vdq+$DiBUkiSy2! zXr|&9h#77xx{SS_o~>gK(L+i_V6qgM8Rn9(=2eK*M;w+uG#4*dAWxT;GT_z_UvT7O zs_F7}o)iEYVr#deT`T(mC3NsfDz&=O+7H$UausegrAn@h?Af2T7s-Yu#jpg_3wMokCSWnGKex^wAyX zV-Qf&5TTHVx8oa((sYNp@|EFEGPUNJE#pHHD}8x8av^wMSm2bdzxttZ@mvum#XH_Z z4JvUa{pOUkK>fupG$l7`xMhBalH$COCpF-&wsG@(krMu_`X$N9=O6619HaT|M>CKC z(HxmdQf36I|zD zENGI1Tersaxxb82g7U1xJgP_uFF#Q|4{ShP*Os>vz|0S%A&MG?E#FRC5yxElFi+vD9!d& zDfh9gv|5KG@!_egG8t7_k%&a?O*zi2oh=DP!KB2b#Elb>MZlnsEN}HQ!$BwX^cGfd zBC~(6?J7se?QF;;jr;`^G|f^0v8U&uDfmF`weKicfLcduzToh%`mVq_Jb2P$3h=y< zwa(Re^3BMe@a)~`TgdfL+|V%)MXH={avVNUJsz(mWY$7R$vAE6wxo2zEJN0Q#=Sm) z1~yExN9dR!N&*`QG>-KZ$u@I*$0B4fs)ZbUC>`#M`(WJwA)Q|ArWdC9x!hS_eYJY2 zy4E^FHh<-ds1)q+B^PU?X0j8bB)YUXgsfFXo8gf=`}r)@6o8oUiaY-qo4eWYo9?En zc0@$2c>+>kZAS=qQ3RF)NlfjcFJjb_QMnL(6~J|KLu}3_uyVQ4JqD?ESVg%@96Z5- z$w0N z=kg<~Tnwe-fb^UODdH#Qt`NA(^DarFoG*M?v)x@a4(Lcyn2occm)$t(*)VciD+bn@ zVpTwr<`(|wIGl27C?KtB&hMv>OY1_S;-fOlDAO(tElfNw-ZwSZMtxI*%P?t=+)M3Epez*DYt*5n_%W zUq%YI?klF~zl_$NU5mPlDF28e&f*^9bEm=`ADeWVre^?^wuVKQB0DxVy|h^8_=~_y zpQhAt$GP3vH?xMeA6-4uc6ra53TFBIU#npaaaARCOM14hb!{373mH_cD8I}d{iIujkuqp^aEMKfx0X7KHUNrgExN`F)uCKxT?UHiQ|6BrK(vQb;58F ztA?+$n0FO}kjR}u?Aosi$kbZiQVnC7D=C4RREFM*@ePZlWsGyt!gQ2rMcIJHkx*OeT#Ik04=mDShp{Cl+3Brb1GD5|F2t#D2_q$Dl!nEkqE#UgXT=)U9CM5= zu!_=uR6&AY9ae|uIiCS>54h}rw5jd4v}XxttID-*d?*XcJe=3r8ga#BsjHM(c&M?( zM&UD!V$5r>%xUPBvi0Lpx6nxxuJ0nWj#|<5&(h@{Q7hr+JHDd{?28-BqJ&c*sn9lcWL|MD-yEDjYAJBP&(H|(mW9kxs^QD?9zC}7Sn5bs+`Ik|a zKv_JI@ZF%C`C$n#T0xq`T#83gFDJUhXmb-sZgOD^F&%8lvUW}>5JNQ%A|nRwo2-qG z=<1n}SQnSXMmNfGYJFm#){NQ#PVKSP<@Q!m0G#9)JiM7QuG*s;*;k=RlWv64u1krZ{ZV_^srxV1<_*p`k`{L! zTPg0sIXiYXMBKkF`?e1>`!bz@9y$ZBS`50s3=fmY6vf!Rfj9y3p;M|44?fow-`(J& zl5p;~;(Hsh$=^F9LNVij;$jACp;O=o4Z6UAEYn_>~EB zPT`j`3kKV0sKvNFVb8fP3}o6sMX6x0Wov8(=(>axBm0tLK*e_634?wv(>auF<{H#` zCN&-g&Se?lPCC>%tsulkrQP~^;eWdhVpF)BYGH3G4vf{%2>l=+YlfI&c9@>K~- z4uRoeX*KzaG=DlV>et?z7KgU?*5DN*^XO-@1sG@Ij?Ul+kK%zfN~`AIlMTyH3UuXi z<2&ZcSAU_8auc{H%94;J>*Kle88*pQ~Y;Hb@P**pB#?636lF z3|k;X_rj|!w)l?pQZ2lFfzL4#jaDUGXe3pYPQ*mB7)i4ySP514tzTiL2HrK(GWp0r z`%o)sbu^746_@7+R6C!?fB!_vAo;%#xCYq>);icNQX;l-j4bb~+0~16_!SAYc@Ka{ zD>mftU^Qm;w7!`Sn3{pN5R=ETEHsC(Q*Uyxu=|m^-?vr2#A}4G+0GSyIpCjDH+8z2 z7NXfk%}Qa~oi5=xbeCh6L=iuIu0pcUQZz7&;wA+11vHAG)2wh(UrjGc6vp-*<)5bSg=dUVfyFU~fXW4YE;KH>bL zH9J1vppfXxX#f%`nJxX$7DF`fD|ZogS>6#2I`C>ZYS3nGMisx5Fj0P(Txt4 z+9ob9;4JlbG9`uJOQE&N_Te+Rqw55-%d8&JWE$##xats6XBW-)@E~E=x%~wLnzdWN+65kp?Guws=UpuFa%*E+{VS2 zB3*}i1q**GrI#Kzp7AP1Sdc~3IVX$KvupQ^ajjU(=SBe0?;7SD-q_(Y@V5eynp>S> z@g(hFCpeOGR;gX>A!lfWObRF@M+Q8q9M=PzB++=#ht)N$y2+Jb*i}<8FwnAf#ONz4 zKb|XcL|qy3<~r5W+j)(OL-iG&x|kFjP7EDEa<7ry!s#^(K8y}`ZCnMcxtdOKZni8lowzTEAl-$>41nwF;h zUdz@PJP>{^5-A7v=1d3;AWhNBPFW;#A=C>Y=F<n8lmmd@8y*gZA7^NsipR({B48yX$^)c205CPg5Sj#Sb) zilE*bc-{)2h;;fXX{WJCpk%{fVQBRiKFUD5-$N(uq0OPelrVL(gkk)!AD@P~y-uqp zC>LOiw&Srb;!?A9GI))I5hEas(9k3PeyA~~CY@E+a{T?c@%j z{7^+fzu2vr$PwHKIN)QeqvzHE>oyaRj5Ag$5FXaY)_53EDBwXj*a_Q-WC~I`M= zPRP66sXFD`GquM*e8{)~h7 zp@J$I1NVoU9L!^jQp8bzA;8y$0=3kqnGOk6rU~m55A|ie_s!0*HEC+n=Qo-)C2)e$ z-|E@J-sGGdF3B?5=jyl;)>F9FJi}v8iWu?4Ge4|xMBtV?AaXm1BnM1a*IPccer^^b z9eyDR07#cUN!Gb-TpEP{SJgOSW#Ms4rj(_ zDj2#EAw&aOXFPD9vrDu&^_5&OsDh7P~Tum$8j2p(#KpV)I!r-#Zc&_{U6$x>BEpncZRU)B04#0F*o8|1F@3uq(q4=ZEV2h=k zrQcDCu+Kr2#zQBls@-v`7gV~jL6KWZdJ~|wBKL?+KU zfYG_IsjidP7L>uHDYN1@Fan6n-g;oRNz~OD{}9EOToYAXhjB3C*?*B(&48PS7(1Rc zfX(}e60xAvHt7-1?)JRjb{sQu{W*6AKDfd3t-l-CO%RzK<80LY>$|Wzc=GU@Us^!{ z+f%G?=*a`=y^s64hc?NHh|CfT57VAUsmxN;xa}qkuB;0s)QOC8_e2vv#x}(nj<&g^ z4ksPs1drtTH{+^u?rx~e-e(611u78M{jf#Ck**1~ei2sapdnvus1DW;MJu|W5jX!wDB5{g8m~y&)^ryuL(kW1EC4Q18W!0%omUz`TaA~^)~O!OhUs!^gpyH0 zoiU(fzkYTi0n%XTj{Y?VX)dTE|kCEji=Juw>WrBF-7A9@aVJ@`_X5N5i8 zq`A!76~{ieHh}DYBzY&L)D$5B4+|T~LB;(LxEqR)euvYIO6S^`D~L88DdUgA(TUCb zyWP}*W5gc}7#UTJuhuLn+I%Du`R`5m=K2DG0kvhmA?Q?U2%wphwbP;saw7f#*Q;Y! z@hQ1c+Ks=Q?&F8D74k!W6WwJv(CaLkNf7l5EmqYOs3DBEPaCPVb1rp*Tt?Jgq|1*{ zmDVt^ZxU(QEt}&mWEQpDp^+k&|IH01>+(-)fk-@d8%){(QOaKd-Qnfrkwp9;PIG!i zx_>w8KcAZ(0hmKDh+k+^)noCPj9_UvVhCY)@cfniEIu}qcbMkT+YktG`L2R_AJc>j8#D~qARI1%u$ zPo-so+0S_C8b`aN>R$OK@o`+gvc|p>Hk4 z&*h%TBaDx1m_X!gYXe3anXe<|+h!W*qCcZ_0|+FLSfrrOHLY0{?u2q;BN9OAsquwJ z7`R~udZJwxhT||pteA{9IiWRIBzu$)?(j$z%8|W=SVYy?Jj^mBWu|2GF=)gSX71l& z*bQLZ=J=s71yD)|LsKzXLMoF521AVQKAB8JeRz=|2fkTFI2{KHxk$ZNEfuhW2ML9kd|Z|s7tw4m%!q0jKuWH zem8~q1=b^=Roo4W8cg%Zuv|pKCuYQGmx!eX8yh~+e5fpx0#AI3t#fY29*$A zgtg4b$D5W+;it)DVpbQy`faLM`|`z#zQuXnsx8})s&}qlF@^Bp9HnZ8Rq$_G@1S(Z zG8>%d7EY<}`t2LgxsCs7ht}v`V&|2(H#=d@m)`OkC<|G$o%14C7g`FS<-QQ(;XG zY(7JoqH)MeB7utmYv+ErY)NtC0f#TnDEWLY-R&ZRly(VzO_+i5(45on-#b3y=kp0# z1Vrkxd)d#M*GabO`3H?95Aq-Oe4OKik2rT6=<@cR#W_>4ZcO?{%ZqD&m4!GXvZ}(! zFvsYTV!CoCw7bV)-r&PW&=OinZI4CFi6^&|!#Uqtyz@Q?pl&&&ss5H%?L6T;u(9h> zb3Mdif$!Vq>OiS#*E+l`)8tW)HDY_$5wr7JfAWmh=jCs7jV!jh7%T5H_YDRTRIwq! zFDQN#XtlqiQk?&!Tg#~hEseqQx=g)YPu9{cL1=zXrQ#*0HJfO0N_F4rl)j*9*P4OYb95xkX-Jar+J5`;~&sKW4nsO^q%d< z1yX6Y;s|4PK2m3nfoF<(+AfJB{^7WAU)(BRHeovDe5BcL#mfqlGzt0<{_m=?*=fJp4T4uVZ|Def{D=CRN6%7*r>HVR73(jxem{Q z@lZ^osCgtC%eQTQX^b(7V!6UjpBVa6wpy9O`8QN4E8Ih>3`CvK)(wjMsn`~u!Od{I zC^Z{Tdk*`aU*QrEY-*?(!yt%;?N{(*zl!CjnLq;1kK=DDb@i$_)e0*|sj_MUh>40g z7+xGHiTMW@Ais+3q)d{0HAn?s*+c~canHlpo_-@0?I(iflRbKyup+7y8M^q#2V-=~ z$pg72Z=t3t*YsQ`B&G{N6rH8lc&*%Ns~!v|)q5*xn@-**lju2wJ$dC-FW?WqC zZF~ZONYHSx`_WpytMPvZFcQgBrFE+=h71&EhM2ez4le@jaXj+7Co>v^HXwZ1*$ zt?d$0P#@E3q4;dZ;)Bc}jXGwrM3TSrM4f5%0KcxGhrNksJ8j8lK_Jf{i8TxBq%4U!!;rqKWGTcrtmt@$ zL}2N%lw3mt2dAC81z$8ea^cP^}m41wzVT#7FUCdK!cHY3V{mCM~YjOeENu9evwW8^yw zM8B1Y3mJ?3nz00fL<~!@!oZ!UT9CWN0X%`O(Zt*{9=I^UNuKlpf4rDMjD0i7qdo*S ziZ}KhZW_meTiG?U9T}-+v<>lEWbt2g(G)Bs8Thj5ug{ZirB-&C94s-fY{f9~`ag@>7q`n~}tvqj=;} z40sO7oOtVXFk$A32>G~!;URrlDFcJ8hcOJMD)#n+_dCBIDvE2xaofU&#YUaiV}wlR z#wH;k`cHl(Bi_}BJF~ckhkA$rUq#Wm@JD1c)g?~NwEM?gWhD?0H=U&q6!>j1b%!Gk zMfp{F4`}2$Rpc*B6Vek>zeW$BOx_?ToU&nXNodToy_AQ%^5WUN_%3xJNbzr!Alo{; zE#tJ{LI=#iFa2FS-Xp=+`qt|WuZoPx2rXEveKqT03li0~P!I5NAR3B96q8lzygFta z2S4<2_Kn+Nm~*W*m3Z1{A$lx-c|;??mM%hxIrm9CD>GU4pI`6cxPE*@fF#m=bbGtp*;8RF6&$MM z#^-Wx9cX=`j!@d_V9^6=;}ns<+*Lh$WHofXHuuutLV0Muvs6mMkhI&ij8SA(2J1`z zQr2}_YO{7K*T~D955d0I<`%Ws{SWM9ScA_Tj_#-I8k#M(!&M*8Rl>bOCk4%*Lvxfz zQ_4e#1w>$`;ZIjxvG6V{3E|Me%fMgT<&0E5t>V#C;3&E01+18~>#xeYN3BhBu@zZ3 zFcrhYxkcF$xQ0Q<)*xc^Q?y9!ueb z$7Y457++KF$Ms5T+#Ui4CSZM$$sJ2gag)N(C*8hIvz*2;6?jfHQy>Mp{3LI^Pn5vKp z`w5(&(t(0ziXpvyMZ^OW=_wb+4(;<8DO=6G!^UKqnQ&Mj;qp^-6sncXV#e~;%o!p3 zVo9eOrNg1pi;Z!N)riA6Dp=3qeY|-D~$Bp-0bCS%=qDc{N~>+byAg@JZXf{%s(mw1EfY zpmPcnY+?r-)F!zKW#bk zpmLfnkpmO|8PLRguNgjc;$=`3m1L9rOJ>ztfY1%Ox*r8KKC=yN|1?}}ZYjp13qw=1 zJ}K5{E$(7^W?n0jL9{g=eE}L+W7xsXl~f>zdg-!IH6pW2jK!WM8n?HOHd}zv0L4wP zX<@cEC+^jk$6}Gl=poJG>x+Pgqfj26&}35aD_|+;_AE_>$gLrVw8cj(@J}qc-Y}wa zGGl8=XwE4T?iw+;@z*$(T)mUBp8i-tkwIrlLVq>q*}}yQKSEYVN1s70*8?}9_iw?@y zh%Z3|Ot5g|E^kb@`V!m?VY~fH$*Ur1g8NmDvkSi5#ej}CFcnYSv>&>!j6Td>An;l4 zyk@xWP9Y98ehm*}l?I^!A3KE{+IYH5g8=t87kOBN8+92JRoD!weP-WR8DD@HN~lQ>+;8C!A{<9y>toFt&LZu4+V|Eo3pCm*|<>yaOtZvwU^3 z9~&Hq)I!umv>Mhhy)lHLHHu#VmE{~xyoSu19@F_{wkqzF?{rA#lL)o$V>A>stYzgV ztu8F(JA(>+6aJ?GENN&Ml5`~0=%cgs@&yRcggVHI&9`{9MPbjTQ9Q>_dT$>@8JL7 z7M3PzeEC1dGCQXE8upY;h%qfdJ(5HM>4TS{{ zU3OF&TA0LxNwg;mLo%-)BZr$&j;I3{n>{}U6i0#h4*F)BC51Yk=UL@tg9$9~;t1*o zSXow%|9rv+xJFB`$($W^a=@9(Xsc0t)rs)B1e2xJesvt5Miwvg0p7;BNdib7+M74! zQu1a-6e37+4BG3C1CCVv>#!$ab~J+(z(-BuauefCyXUI+-aKZBAgj?CDyIMLvb4B= zaH$`#d!I9Jxr{#A&|JB`)9TdfDp_1C;3 zdLsVrQ%3y!-G>}}buHB2^c{KVeGD)U*uDy3C{c>KSssu<(7i7(Je$yZMp& zAHIhiWqV$SZ~H$7L3@ju2YH+a-6yY%Bf}7eBnhyq1(_^$z6Aw;zb*dP}5m z=G7J{PcVpEC4FEdI~d7!U1Y%(xZcM(T9B*6gn#?jnR?7>H|rU|*_eDm_DfHQf%ED0 zkkx#3bg}Z!Y6;i`^i-z(w{B97iJ%2I35y?5RX&Am>i^fpMsD9bU4)|0#Uz`W{c-o= z?dSFW^5?s+PnnxpHZ{8Q?exE=|DNDP-MWU+w(d-k0TeJ}agY0;IpCpU?2= zi&97AQYj+oOClW$s~Uv%0u{P{?#aG;KP_Lqvk-5%E1aqg)Welz4wG8ibo-J-m!c z4|-*J-2%O8^Lab-e>!zkzv0TWUDeR5YI?%n>UH>53O&~8_KhUuNd`})(B{tmdtsUh z>=O=foV^q{yqsJEsDE5CUAaUkFV6qD+>i!&je*O`UOizhjVPo@K&?USK_;>^9=7*I3$dq}%3y^BxXba^ZN73G8HWf6jghP@ko z;v5dVg!(!iw|t3QgiyJWM(fkynK$bUp6|j*b;obN3*Ul1)6p6Yn+d(6;wF<$wKk z9hCdrbkMyDP?UX}Il4?32f`l47Hb$`$8p~bH12PB?BEnv7#S5Y+sJbxGuA)9`|jJs zdl+as*knEy21ocPf^6N~jO+~>pww^A*cRs^ZCuoODi6*u$Tcx1-dMr;<|K+3eYz<& zIi&09DG09Y_lT(p;#8)EjJccrmGfKJDJ9A z28C+?i-5=_tvFw!M&{iauA2dd=biD>Kt01wr-A|B=I-9TMwy!Q6UI~X*8=yq2o)J5 zt@jA$4%)jk#U85JCfmVur){rW6ps$uUMJ!5ru<(2;|Jhd|Ef})M_U67_6|eUs1XD6 zIX?e>vZ3!j55cYH1N>%VkeycCZlwONR(+>V^US@pdu=jRiA9R=!bFpyCYH8hOCuK&pvlIhX-Ci|euMxRUU%iD#$ryO1LC0sD*s8yVCPd51OWW?r#ENwP@G5)X;E!8R?GXH%=eb{h@u%ow zTyq2{zX2frTRa!k-=lY0x4J_Xb)Y<;j3dvZ>{P^V%m0mmDN?vE2c!^vv zK&GEU+UfkID=Xq-?degq%dm)a6L@$uy4Cx-G9X=N1|#!xq{zgVz#r6IgMQR}2Ze1f zZ!+H4N?6Y;D`It$UugyY*$6L}d>=eii3T>pFzz1{J}e;vUqeJG^o`wjr+RK_6tZ+RY+&V70Kb?EZxciem) zJ$S9?a2K^vyLR0vKgTuQ057w^zckx+Z(`>rB3g|zi`_CT4QA3}IJQEbnTfczYj=k-h#I>>Oi32{X z(jXvkEV2@!8bH9`h5_BRqWHFt%tzi~0r(}*#IKKvCgj!a`ev*8{1*G5YM`U934BMQt*jB$ zhYdI#SS51&K7eu#83z_OB@#5!tsY)pYgz$PZ5|1J#`du?@UQc!eoqlhmd?#X25)7Z zx8`>qNXKP+-XqdJ6QfV7T^xBU-t;8}hOT~!*f#dlwv5qoUF9T@*g&9;5o z+tY3|1~fJxo%bhh-(lWRN8#5M7Z*NY9uB3?i+IdqwHoE2G zl(~$tG)-+5URcoq9EUqUAo!NxHT!d6Yjw zYd4)yz8GTc#>tdfi9cb%#dxUjdXT&5ze5HXvU@8>m+YboZ24euD@lGmF41AHS*rf* zK8AB<6lNq3e@Ince?{*op~zuFPfsH?1j*hcE3fn}9pduSq1~>eU|qnqUP5#wG5gjH z>(@;Gkl2H35I@J5f5iuqswU#6!u+pu28jQ_4QVl<6h!(#vmV-M`;^5x z`}pcw~95fUM1+ww2vr*rsbEZ4NF>48* z12w^sFW)M3t<1!Gj+$+Xh3EUAIf^UK77bU%hfWpXYicG3W`vh3IBdt9tgjA5-yUAHSK6sJ|K|YJ_ zpVGzXx04oht>7?R*N_fS^czOWr&ro5f+@3Ff>|i5?#b<}9cs^n9f$lmL&<+};LItU ztWSf&ncLfprPe&z<+sU7zI+3!4vR$h&5G$>6XILodUo`_k~>`{hDQ_mjeCQ$d&HZ) z58*qrjR8C`chdHC`mkPuk-XY^Bh=sXvst#s$1|?R7wv`Ig{ODuk5teCW4b`pX7X#u z{3Y23liN=1-o4to0`)1S^m?o$!QcNCRy|Vp8zPu&p<>o$aIW|CmrA zjOi30XLq}G3iS}ADj9EuhH#n?8}h;&9DM%wx!Q}%_gm)Av9|uKWKou+t7ky8W3{=m z^;dSI7MAex!o*9O3s&RiDt`Yu*`_Py4ayO|}{(`f}JI z_CpTqT1NUVV2c5&DJDxYsz{o6>XY;EQ~zbbU}=s@Cuz z3pm@GUD+J0tqilP3Gc4%&U$M;WT3S(R#tp%lWB*AxqbNw-exz+-E+mE_PP$gQ5rlM$EeTk#6kIl}72O9{ zqLCEav2*~D@wPmc+7~3Y(EP?e7PDQ+_$LpwxAy5L^(|OMEbJ1sgsn@>iB$5y9Kn6ioV@ki)aq`m}*^6uXE1Hgk!pEkc4)8vxWC~*~UV4&W&*c z$Vzo`v_Z(F1&&vTkH>d6<6XH-e0s{XQPOtW?OPq>8?IpAp~rQ}GOr~*VQjQHb|W@7 zvp36|;GjLfgepT&a^qMB*1DR?m1srp@dz(=W2VJm6CL${wv*7R%5ikBwt@GY!^xg0 z05hNN__})xfHKY(`Ixlt0qJrYh*W=%Z^2TEikc#$MR8vq?6bznEV+D}ahj5obx{X^ zAg$r5d$CnK$9~3819AGejY1$}eoEEOpqK~sL zR7}Wm+TmvexH>_O1m>uf<76eKJ_%W3r4Pq#hoouXh84uuu(_Bs9J=6b@KtUNdFgSL z^8nAHZ1KXaAxBE>91C4GcIc98N0iPTxetBPP_~5@A8a8d=EkNM;OU{1Mp+qo^}Vsj$WGIEz@AbvrMvjDGcYg#7#L0upFMNZviSZ&)ydyuT`fbES zgV^@#i3umvmo~&RI;v7e%jkPKk#gHz{t$e;J_72?GV9 zS?>W;t97ysVB&uCH;}IxY3#6ybg)GqHL(OHF2(2GYf2Pbj&wGVr4=_`2#8oF>9BBL zICuuV9AW~ET?{vQB3?$@dTbQ}%p5HbjbaE+0yKQw#ya9d1I{IVziDJ`Zn5Gu25^!11SmL&j9lI=lM9!h_{-Q*j!W7 z!h39Y7U!`Zm9Z%OI+4$np0+Vb0H=BP$|;+9){H`#Gk1rF#S@V_>!jbG?$fURxgv(VbZr7F*?3YJ2kOHl1D;N@YrFohR*rWuqv$& zS>u+`VD%TXA4PIoazm-|tfX$Idp9d5?WFn2+bwe-AG2IR zSoEotwO{6=tb%7R2Nt|HZOuXvTiqjuoSD7@TRrifB3?+muLZm~xU7??=RfK;)8~SF zdAcSS;G;f5@*|BUmqEQhYGp)%#hf5+Ps&#g7gY$<@iqs_-Z>aXW^ZF4%DHMoWE60~ z!g+<82^wo({;`1W-?ID137rqJi`>2%RN= zN*lu|>SY};%{UQDLepVaMxkP3v;b|1e5jS5t587a&dcs%y*kIrJA#BohnY84OT>k+ zFj~@&t%0uRpZFp3Ccln1I%JWtye%>dH2|ZX0XKUJ0`}NQ$IW8w8}7$+ab3vnEuBLX zB?}U3A;FfNkv9+5DEZV1erLy)hxC)bmJtY@;NWB;*Vv&ev}^D!EB0cMcGg(Vw|DGc z->RRv{kM#`Qtd*C{9)c%ZO*}vBl!<2Lebo!Gl<)B-~dpmCugWXw7h=CZu~YH#a2OUf!vAf~I#FIYH!Py$-k|%takTu)p>axJN8LDtl zxg(}8p&;$oA!h#ct)oAR0D%^xf`94q0Q{Y% z{b#dF_TRW0Fm?oL(RUo);dJ>nWQx}SSFe>#kuSh$$4jMJ`6|M3G}6t2@;Ac$59D9M zhsqzaK?}~@QF!Z54zFtMoz`BwRz5GSiv=8h>)cnLYA(@Dkx?Pv@X>JbWZ3R6XlPhINU6M& zRyLRjd3$YFAWDZ7Gf(a{8$U22!?fWK#hjRgg`rDu(qeMwu3;qo1$0S2ZjBpi7NsEh zh<5m9vu=rCl@Rb6I{O_!$$MVraE%uP_ZFP^3`oip;Y%6F!rw{kdboM2iz+FCAeS0% zEs!Y2aPr4>b&ToA)MESC$Ibpc28`A^znS}10Yut|bn$r;LM5^9fqXiEp87LN_^~1F zz4~*50T}3yVyD4Jj{s<_3j(KtFT4fb#I}9c3E+Y5%^8plf$^ue)WcCKa3ka6`R{;r z|6+YsXtOOuav`q`M&bpFLVM6Fco<2TMmo?_gj!oW0bQo>VHQ3?i}@I$Vb9rXE-}5tVGD?KreycB?7>%tN!<@m_}DU2a3@xFV7Oaj zO1lmnucFirVIBYeg}K(u&-JmCuaq{H^?4LN*LyvWV^yXPyyS6rk7>Cyh-Zzv{^x@e zvv6}Sf4RteA;m-i5=Q>iF$8vf>=R>O*rGxEvW3zPzd7p8>Zl0Sa9UEvi(5$1sgEn{ z{|p_0yT!FCy|_sim+vE*q5=2K9rMeS)Bxykb7eKh;zpCF3q`4C{DN&e;O`O zar=@N1nvq^$`}IhwPwvO`D0CImbFS2l?tuxSUtN7W8_54>0n@_YY-V*uWBli(6{|m zE{6Dqm+k_aU23y9OfAske`s7XI}GymgccX!w9^R^We4QDH;4)Tz7k#F6V->Ehig8I zw*O*eBmWoQZk6X4$7r;RnE@^T95YEKm6RAj2e7b z9fD}_j`n9*m}=Huv22jhGq(nv5=Yj=OY!0TYr@3C&t!t0O?bt(ofS=M%Er=MtAxMP zXxvAkp&H(hUaMiW#=A&P#j>oT5nJHoDrTg-VSVajNG(}C`dRGrCXq|JOPR6s;@nbx zZTORqX`G4)uXRUs0?cn%P$*-J>zP}?!!y4Ls8o&6 zoG7;}_hyF6rIs-}=OL^b|{*Lhr2;ZKvSG`h>jItsJX#SKSBAL%8iYjMBY=-fFP~k3rJR&XUDQ zjIlKr94}TJYGF^sYflyW>+bG5O?SnjNM1mY-^du`@CIpad$O& zuUrCVB((Q9$pj;7m)=DuuMcV=Mk0<1kZnm>z$ z5>fYJA^#z0=M<@w&1Y+K$;2vv<+r+1!mYO>AVuhvkstms)XLqX832|GUHyu$0)7HUU>qwHqZ(n%Q zwp$iFnawsEEVU}8NFxp)9l$H8&c@ljQKQH@1@lZ7mj=pud+#x{r;+^k>F#1!(&eoH zPQn7Mx_7o(DA8p$;@vuGgZ8oKe;|06K;(c+21~!)WXQU)+a>Y+K0{WH)K!6>*IJ6! z)*UxVT7oR^1X}a2&eZGjNY?IDZ>1bt7MdS?IYiJ{a(yH1F9Xv-=F`PsY5S7hic1BB z)s)?%X?u%i_lX9NpkZJ4AfSn5=B=hR@47wegHfJPgF!58Jvx>>zOgPi`^~PuvySre zLa1J$q<{2y@2x*iv)N%x*TpR!NO_ZPAN-=3@^vNGwMtg$peDIJ zpcFc$0$1vR6%08lITNY=t}y_N6}oEDR+Co+?sSNl1Nu;`UM`%2w$I?dW_%bB01xE} zN6R`Lp0^u!5lWpAA|1GiBH5>BLM1aQ=)t7MzT84*paGPcaF2A87f*HFtRqYT%0byK zDgHaTXqhD29+=6?Y7E@bM(2$|D$UF=w7+J0*OqSy9T04l;4P{SjC9}aTdWcZ2?ORelLSp_zKJ803jAW>p26|{AJg=9(9xK zo8xXk4`O2??w)?ySXqnk=nrba`2+{H17YDumDadf)2}c$Uk_~#=h>q#h|9oH!5Y&^ zDwGO>_6&Sf_4z^bcknK={I%$>q_Jl-+2u6*CI4$5?mly_tfLXY?@0{Cd-ficbdkTNEX*OfjmTC12{|(mc_lduf)hNj$!$oY|T8}QB1gMT- z^8^HC8E(l7MfeRc06ft1GY&zd+k{e2#Z2B*V-gV&ZeM51mj_rI@a`J=$Z4k2Ev&Ch zoqCy0;6ypw(93q`Fp%U3U}1L-E3E(3eTj$k2bDmVvm1r_oRvv)h4LdNK}|r|cEHud zaWAw&dBdf#VM&Q7v6&jNzZW!L*{9HIYW(9{mN%`2_X|xB+bR*IQ zWn@Aw2h@@_e=oVsh3efJbQp)d{zLsZSjOuQC0W&vDVs41Rjc(24E1ee6gp?-2W}l8 zu{&#dQks^^@R>5tA=?0Ee`3mclVn33L2vsSTQ{txSITXtm-%gMVq^suzrFUXAf0Wk znLU46!3<4we6xpA(;$V}&0eN7X}YC%Dw%F|Y##?6s|97lU5?sUgSHO$DQUZ+wBu~^ z-F>CXo!({2v6`SD?p#;U*J<2M2i$cNse>IErqkdRVo&*8>if z_h94~aD&WR1MvbHf!3VqBJ-H^h@2!KVBh;@LN?~l_tB}O>#FW2LgOh7hY`2-75fW5 zmm|N787+SRw26v_A5G+A!`$DBemCxWK3bxUkwF#*mE7G$N2CGd6ENtEn_H2uaCSw-i#y5&@|oH-`g>oMKvsWt)XDt;?9;CLs(u z&PNPGF;KI1*0R;}_dM$APG9iYHVUa@r_WD%FPK+B3{b`Ssbb%kXD?fxg%+pm1v**u z?P{W$W_~V{vIYtz>GB;ocX_cj*DrQn{8sQ=B1m%9!GM2LdtPmFJs&)D53f0*=kC6A zbJ078nqN8@ZR}34V4baeF9hEm(C~2I*q078M-g^+popNNcY!3wxLgZ*{2Sxp1(f>VL%*k%Qc zx8y(k3Q$ovv`e^1J_|isJzS0%ZeFI$9*b8>F6;-`Y|MdWp-1cXJ4dtIO~>r!kQXwN zjz|0YXZOci&?+-{VIsXdh{e*0^Lla4n*OQ3Q=W^LHd;%?-AX=Bv{!Zq-c%oiSKY1l zq%7vmm-7>vP+57e#xYVH*hs`$=(aF{MZbHSycS;BTok*Il5Q)yXbFS< zaWquXE+sn)-4}YAn^p&C;~N=S2QXDJ>R(5TWF~aM>ZIxDVqWV-J$Q?BGMlzO*z0Wv zwz!oXp>Z`WzslQkGIlHt`|uK{OSuERx9B_Q>sUx5XIFYlNHpO1q5na4_Xg>}+*r7q zZGD#y>rTBn+BBunYX%Qb7?Z2G)lY4`9>kGpdA(lt9y4O6th7NXX7!nA$JlFVK+iQO zxaEqpsMxi;R$P z$fVHR0%hRYKZ8(2FOcp9yvS4}{|I|%zN%yp+kVr|Vr5Erb(*c#y~sO2B0Xpic`-yB`-cu4q4T9&zsG;C7Pele1G`f zoGYgi?gOstIl7<#=l<5os^{(7ZJ7$Ti&GCowFB&!EEbbCN|NWJ!#C-r6=uIl%5ePG z^}R)})&!QLPlDxz&m~hbhhn+W^Ncn+z9ckUB$VL88_>`+zhy^!9MXlquK~4BPcK>o zFVVq8{|dVEQmf@N;7z6ROD(4sE$>J%1Z?$?FPo5}&TSFEhG+-8a5u9ddRM9NWzz2+ z2tM_9nFF4MD3bk{?OKqTKo=kzuWn=zM_Jnb z+cz{hcf?}_QfONUnx%#&L_KHM3@}-kb7*l?!||)yT7t|)x9-Y5g&?Mi0C&yxZRviuYGI1&>QSU4*B3oF#WGM$ zy=FF`kJ{`g&XS!AXvp^>ZJ4vMXrTRWoP>?*N+^;(Dr*RW>Td zrIlOT2Z(NGn@4cZp>@x7cu0vAAN1aULY)*7vYh0wwj>LJt+Ew-==DgZam6=1YP7eP zdw;_dB&n`n4?eGFgm5AeKu~H2v-*pgA}5b8j(D0p$3~J|Qp?f5!hw=JQzlBYYqy3e zr4ZCI2Esy2-+k5i1WJ0fHK+$QgB)c#tjC1`j-SGb(cgVPn({p#iOU5H4(S?tdq_)m zJCQ6Fwoxf+iv^g(=S0@Zd#AJQ#n_-`2B?~FayP+={uiA@mQOKw=vd374M)}7j{cqs z|MR=&I@he?JGOS+59Cs9(T$dT!*0ajBG`+N#hcyR6-Kt8G{e$EEtPcLUIQteO9C() z`Www#lGPh;5+}9=fYxc&#F0Hs%!pub(}n);fa5BAsMOx}K`(6)9Q+NJ$Ce$m^nTf) zYMS>x@UV2j*GVPHqN63E`|?`2Rf>B>lbNj_jTr4M>Eejzt1AO>hFcaK z;@-Y`gn>8Q*Eg8qZGAAr6LHfbux*BSu1kL}A?grk(Tn5tZwwhJXNn%Gx@Q4FH8hPF zzob5g55>6 zofHEBEY80lwL(gAwL6wxd<3LSRY^lN@1*4-pTDj%K*2>{pf*Q>D!wr-B@P@>lW2ka z3wm$vpCkj9*xY>%EE`&BZlo*L)gLV@0$bWf_jFY_S{!1ek*0%POZ%6+Q8cM}G~yt+ zH^a$;EC7NoP3=&dxho0)DMqM2ZxaJDFP4nnVU|lT8hiED`BB4L=~m;0vF*Z3(51tj z0yGvgNKNvPNCAkB#7)6l777}9jY#M-?zH>bPJ5v&Cz}UrNV?2dW3fFDTU4`(+n7Gs zDG0n_X9^8O$u5w}3?ZnXKve#h?&zY1N*FN3O3kfSWG;CXm&r%*9Gr@3FoJKf9jtP0 zviXq4Mo#ICGVIOo6krD&13ebc{mjp>dUUxR7}L)Vr2;pB^jEXl5{;0L*yHtIq*>mg z%(u|q&rqv*y&(eCtSJN$WYzbO%UTCrON>vwMlV3rY>Us>&0jOrfUbYAxUA#+h%6=c z+dJp}Y~FVqP*k7;jq$N3Z6Vt|P`R}`aDx<1G^?NT9ksSn^RrNmyMNM_1Jm%wTR4S# zRVmJQN*Dr)<5ke6byxik=aWq1vn+I2=`yJwFG^+;B%}S5kBV*ukF$8}l9#F`Ruq25dw7u4 zw9V4U_p+TuQh!QN4roNDybZ?79eK;eObbq_~a>T)5$1xj}D&lRRYIYP`%N!Ei z;SBB=pTWqisg@wi%`gyC@3-V`l?P+NQCmhl6rjlJ`bzX`tNYkeW5YLmqj}jmFw*?w z*vPKD6m|Dk=dS6Um9L5;GBPzoA0@G6Ps<<1l&-#;-r8x8SyXU{DU3`k!zI2#WVjk*MHOdn?BNLnR$>()r<2R|h#KzPmz469%r`k!jWT=>d zR>${=!W%uklWj|hZFF>6N=wN84B7JnR7|IHJKcK~AFj893&lD}mftNoCdoFCe@6WsG%zzM5#r+)p8>BQc7Pj?#8u`+2@*8eSpCqD|71p2WzeWRn{e#mEep? zzn*yJ=e2v*rVkR&{xnE@@b|2*%?+bqE2I_tg59YV7Rc5^u^7SGP*Q3qWB!?yD+I^j z;}}iLo2j^F`t_CzE4RlTkR99O{**rOeEy&MmCzS)mwC_;lzAc#Z4}MT4SscGi!Y^DChP}$y@}1>dmPhk;lq! zH;?|dmvpl+DEaZX76pG3<_Q!NhFT3wo~;3P)uG5Psw$dOB<_e}{U|OY|N0^SIYxPj zY$i)+sIy7xs}SRmD^L=bcAHh~P~oL#jPLeGKrU;0Y}dH2kC=`AMD`a9{UQ#UP21NM z>`8e%ym)x-FP_9z=-q}Q#NaNRJ0<@Deh*k*i#}a1q44{w_~%gZqP^T9fkqQZn+zK$ zoiSH`ahjm&iwoC}+s<(;!R75E`X2l|yc!xKV4P>temd*z-|1xkoYr5N{vLwh{@-E& zPDh(6v6Z^2R^3A?qIHilLpLLsdJ2usI-Xk6A#yi8j2P@ndC$3+#CBop(8n#1sG2<> zN0)BeYAt(RCF(DcJN2m4#5U+O!}eq--JUy1-Tg}?s!AK4WUNUavbp?ZYDQ)VzTQwt@`Xh5LE~V{$p5dBq+9Z`n_*h&kZM< zL}X;?z`fqjr{r(IuRo+#(AFIIKUyxAN8n{aOJfEjxec42yt*T2M;zaE*evLe(f_Ec zvXu0{5g_3Rg`3_61Ub>MWE0Jb6wRjaXrFind2otk{U6O*1Zf=I*6#8{gj=!|aoCNm zXUMu+f9Bdm1e+DDaZk&XL7smH$M~*LL_6=o3Sk0x^k1F6|E6t%Ggt8RJAqDj*8r|; z%;7kdTK|px)KZHTPvcEqY0K7bE@tHUiiB7n3k~QQw^V>j%zga7|>97C(0r#&9Fj ze4bNHb-K{6-EO4rA>#=AcTAKM6jM_IK{*j$MdC}qF%3OJ{_o(J5uouha-NHOv`~YS zTjH?8hpo`a*kxb2pgV&V0q___JknX@Ef`wsi3|hG7{K19riea369yFM3z~E+g26Qt z5cBzdkMQ^`AvDaH-98?~WGeLV2G>?`>Q_A2_;RZ)85BMQ) zZ+j0&8sa=^ai{|F=xpw)vf@0^h;WkkWDgw@(UNH>GmeOTZjl*bz6Dx|~1m zsg52BRSJVwxVVEH9Stmow?pZ@T~<16PkOrF*V%kaxyQ^maSkfXSNNn@e_YBx4nK^` z`kJNpO{-M<8Z@?4(PK2hLR0oxe;?Q+aF~U{6SUgXLxXVMTlfZgM-%LzG$sWH;vEf6 zKa(i75om`+60}kV{L8j4WFXSK3I2~wQ0k;(S$Pdsisfqyb+xJFl+hAdy`EP)7-U_zB!kiY)W#<<@G32u~ z31s=}P2P9bq+~H^6{@KQ@I8ae_2QW)dJ8}#d)>!T^1By+Ymk8W>B6pxTNEi({N=vH zVbDA5CQzw?AQAR=?Zbxe(a<(9CcX9M(&nz_@k@2j$B96nXY35T%$)zorZ(VXlfAq6YW`@Jt9oA9bn z>P2LrB2ugUA9@Z3FJyqlYdX=NhZJ|V8Eav-bQ$&*Yn4|v`#Fcxp!0fg)A`NCZN~>w z)&IO+A#y+f9oS}E2=~w@n2z2{TeY-;lY0I~y@!i%)ZlK04TG;^2J({!^XUm8jcabF z<;Ckt2Ay)ddrJmCG&9sFsf=oQk(+7T-&<{9DCDc&4}VY0dOj?nfOmA>%$n@S*Y0dJ z%$jmT``y%0{!l`8DXush@<`wbL!Y(|Ei-M}-{DAm^KUFEW84zH>-a?G;5>uZkXg3k zQ}~J8Eu8>KbjPeo!s(lD5J=&W96%;7_DHNnkU`B*a^T)QjHbdk$7udhkeH#PJK~ysG!PnDdVv4LG<%UX4b0mu%qNpZ`&8ohyJX za{apf&REu;D4sr_Y!*`QZ|Av@BJP!2F7d-g%SuSK_kb&6DN%3Q>V-Lp@mC>6t5lfD z5_v4V`BP({v{HIFe2}W*exQlI&=)D5u5f|ypyJ!WPK{=+fcQJ7T=T2uy$%C6p7+nT z#(qxjhb=toOwZ@#NLws+O5Pv~hwuNmg^Ow}Y`Cw>(ib`JOudUz%@|6>TLcc2^&3LK z+`D$SW{Fl2s<@PIIA!o)q3vhlpW$wWF|~`QpFCjbd+MC#P*8?L>X{RZ%dg1ER?tc} z!*>IVeTI6xb9DmZO+6rsg)E{_Tyc<|bD3px_8&Q1lO)8oIMo9md)`ksS!VFRE)zUylyHesr-&JTT&*f zIAb=G^x-(iWi}{j2ekMQR@F~6-G1WHpvg(^w7Btm8~A)#vI5Su|J!EiJ@G*; z69aPi28j5oZtSw_=j-UIoD zk79DYB)q{!|C!Ho^{T=QDMr0GKa*pKx~bxjZ@?l;;+7{I6Z4fH38oW<6Ug2 zt%!=Y@OkI7dhd?Jo`VNnmhJ7J;wp^Z@}i%bB-&@Y4)sb3xXoVCWEzF%UAi~LCH~I5 z&%=$7ulIL+<`?%H5VV;b0fKNcwl~`7fHUgmA3Lrm(aU8gN1S&ECj{ zB|7=rL<8P@daD={z_#sY`>E=sXZ}`?S^B&K8>aS)i?Xj+^w&q%uzo*SiIdZr_ZhZr zcR|E;xrOVR?CRHZ9N?Jn|{$ z^p4-0SUxXU6UnLiE&xeM^9w?%C1^RNrHwX?`2QdXBy#-JAyC!sH74x>dnysX-Qp1g zTIa0b5-tvCnSqntSmb4-@$SRGPQa7`sNCy=E>E!<#vUKYgGD z(Y6dlbj>n^R>yTch=uPc4&lE65CEEhS$;;y2O9??ZNow zmy<==d3zu%b+W#>3_~jYl*_wi{~ZRzlW0j2XYVY0!o9hR=FaArFd>2bj^5tB z8<@LU^dm0+QRUeAt;knbewM314?UL(M&I)OABFjUf%r)u$w2nZvY+{BFy+jjVQ_^( zM=$;JiDTVwiL~OeJBdm;*w6jMD@U}Afz2zj7~4**Bz99n4_zZB&-$LfMVD@v*~{l} zsu>c1{b`Cma#tu$HaXO?l@YRf$A`ortnx^UbD5NZ-}>`z7Gl=O2jP6DCIldoB+$rX z%zv^kV|-8Gpv~6+_?RBt2B=dFZ>UH^kUjku_nI!|GRS|*l1zsa*;+g8RT|m;0DA%P zqX|tMJT;aJVx#Fg0XD~WmPjXWJfnRk;QB4?cT9B{)wd%&Q`wi>?gkIk>E;hvYlyh< zj^>YH)mva)U{!bodBfdP5!x=u{Ii8#P?_2BFjw~8pBw=*_9xnQOG{7T{V;AQM+CXs z=|2ny(=ob^BFLV~-`dYI@V*ANk)WjjofpYxQkGCdeAIQsRhts>h9x2Wq#nx<=M1E1 zFnKtOJ)GeKr{bSl>4xd_L7fB2p>-7M^dlN)LM1w8sYgZvmw6xz{0iYt3r=Clu& ztJWq^thPVF`X^q$DDHVj;T*~J}T)M`E=mLBH z;Kvp6+p|ve)2TfN>xxjYe^xo>#M`?o5_7cJ7kRC+QCBk!%HQDG`@OrT*P=@Pp9qse zDYa2Pf+sKK!@ZyNWJPgB^g01)HPdHPMp9OzZ~V+1#We~_IvTM13Og?D+RObzU7tDX zkz%<1bOgY!ihJTKy}$u>HHfshHf7I6=_XiV$EQpB5Q%Dr8`zq(Arl1oADtW5Q&kjV z(xVUKMoD^A)lu{5Wa2;iHvEm<2&lQ-XE@R4_34AB8iz-v^_$r3g)n^6P|zkf>cYyL z*7KjUyen`P2BkiPh$Z*_nbruYQ^99^+;4#s*hU)BNkOXCjvk5fUdc?L;I8GIFVgt-?0xZB z;lz`N{Xc-be;fV<5dRPM1o;1k{Z9k^7k&Q|_I>exLFWI*B!o^EvlZ!n6MoN}fATQ? z2Y~pu;a}i?V;PI%|G@?`!#_yuDCl~0O>E!I);-tMX_=gUKwhfyebyAE8O5|QY9v(F z=i(Mec1<|EbV=ZV<2B%_z-`cf%lQ9mq^|{G%UH%CRLF3%XoQm;hgWDC{*tN zZF{}vr3-IxD@Yml%cUID-`!i0e&jH6??yv7-0EG(dq7C?CE=6o7J0Ei;@EWl;P-LT zfij$-npiL=VW6a(4*mc*we%VoWWCZ+j6eJr1AgOWa4-QYlw&5HtPwjko=PMx4~$%aac$K6aHPgE8X19>tf-^*8|-Q;r;iwa;(4U>^OdT-4B zq8WS!!IO#WXRz=tR+k*mJ2?jw^O?gR^(2SHla85zq{lyZKWY_5Mkt@yGHpd@f1lpf zy{x$PUuus3gtfrzAxNdJqVny}^L4BX9JEiYgM5Kz@8ovTq085}>FlF4OqE%UOG%VD zGwQsIvRVglaAX0Xfj2q%N+S(mw0U+`L%P>6zi{K@Z%wois@n`nLpxuWMHe?TrKOnB z7)fUxD&RduTu)4)W)FvK7_bkWfSD7~fRe1~%^sKhz9I3%{I3PP6yGdnXtM_%Yy*e^ z^!B#7f}u9+Bu}S0&aJV!Kc+h!)vTD2!95!kQEu_U(-Ixp5vt+$ps*ry<_4EhK5k-y z!<0M;$~2`kMZdqt_e0^Ncq5fUyK_Q)9rBUP4)rz(HCP-vQd&1QvMj3#b?~rd6!ZWN zI@wfv*uOkvSs9CmZa%C3o2rB5>!cu(W9+S_jy6$~pcI(>$wIRMWWl^tom@~w+%+d& z5B#cyVfEPcFI|mkhLQRD4UKeMx`P+tZeUQADQwZW`m#L@{v= zZkq3(DXN+U?z=glT*l1oE>4rW_1e?Ra6T2q`xR%Snb8+|`wL_KT4eTu+b`kbj|vP@ zy5hyz)7}(}XMv4-#sjs-9FI^GGb2cV2&oiN$`0zKlrQY+#Y*QciTIvHhes`%*w>PLz<3JgeHd!ngyCx zr2N5mGe$%MFf8Z3gM7V78$xnjduVvftCr%X`N5=NT(dCn(;H6Vb8ccU-~ebN&EPm5 zIr!CLTbLv7zIH$nt_)ATK>B140e+m^sK_A5%f_6zB8k%2oZlYHND|EP2b{XT_-MpT zr6th$Vp|`6YTb0i2B_3o{#)nda(l}w-5tbTV56Uqjm9&@{xu_+fN|K~4e25acY*YqVA|ImOcLOv;`{QhYAa;YZx5}kplTR; zs}y}f5iw(Mw{bmU8$$me*~wyN>fw8Gm)OzyRu)9)q`qT9TmRG0|5~j{>ESgf)n96K zRQ^s{oDNGbzR(C_)t8U!VEH<9cMG_lq>0AWlj}E3QE9!o$TbMue7~d9EXZuz`NZA+ z$e)|n1mQd>2A+JpW?zKc`SLlkc4_N@WF{l7Q7jj#w#ymc!Spx2@stJ z2#zY8CT)p|T_0Cpdqxx6e*tgLiG6#-^U(5yb$u}5@|&8!ubpSL0*kvm9huX4Ax}`} zSU;o=f`v8XW zU2Y><)156FUcEo@NX8INX@m4PcN>cu?>2t8e{jxg=As&8k2q>u0Nb#b$FUTcaZBF%PY1Au~V^->KiuBBcur7<30^qZfOjJ65Jzwx zI-BnQ!)Uqk_ds=33E*LxQF(LeGmR6YAgT!czA)~fH&WMn16(0j{K3~~2eY#QJe^tV ztoq(C?8GvuVNE|-*+Dn%Z{2xlSDxv%zKpAh)_ar`zrJ!} z?Gkj%ff;Y4B|3>wtHc~TPW9h_lEY%_O`sqL^z<06a8p9qkYxKPz8gE&yXSU&d5@!$ z6{cEJTzsdWAldU7e|n63vWc4CJF1#SO?LnWucAzOdb9%45FexewZKL@*Bj^3_K3F$ zs=9{B1&i0+CMwz729#oyDs$pLHGDV;-fp2y-+Gyw5JYk{_P?sfL%-&`gA(jN-o?-9 z4W|uK3w&2hm6}BvvZRZ-L$vNb6F#^R_|-04qg3HqL8V!+uAUB`u&`6{LAkf$hkgS| z;mg4xP#EpjpSs4#9oJX+omVD>iobttR~>vEO{pp3nh$^YFx$XwGY_+-39^UidYgth<2eku%Kcv4t l_`i0P{@*(Ol$<<1g&qCy?)G7*bUwf7!h z{_>53gM*WklZ%Uso12@5hliJ!myeH+pPxU^;Ibc3?`lsM$B>F!$q5ot4JVJVvKNFg zXdlqz4`G~?UUra~r-3WvgJ!{@eC8v3;(HttLKydo?wH!PJYn%et{`XU!y7IZur73H z=xx(1VCGzsa496@L6DS`R9~;!J#oF4sW)C;WHDYLBA}D#!Z9__r^U;%=BUh$IVlMt z$5iuG8bag_=NySlXco~B2zYSB!J(0fk@Xx8i--h}>$BjNVgf@zBLgFAUrUx5W1Aum Z!%d0QH9u7o`+?48@O1TaS?83{1OQ_sVGaNQ diff --git a/docs/img/4a007f26d24f09e03b3bb388bd94ae30.png b/docs/img/4a007f26d24f09e03b3bb388bd94ae30.png deleted file mode 100644 index 5d51855da45212cc1f43d79af3c4207ed3e89c93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9836 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�mzM6sxu`yLK#4C87^q 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 diff --git a/docs/img/4c0cef07da8190af4f517bd8d336cb5b.png b/docs/img/4c0cef07da8190af4f517bd8d336cb5b.png deleted file mode 100644 index 2810ad6f3029211062c3a0452bf58c6321c33396..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25917 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 diff --git a/docs/img/4c34240e5c09caa62a018e3d109c1ba3.png b/docs/img/4c34240e5c09caa62a018e3d109c1ba3.png deleted file mode 100644 index e735937348aa610e2e468166b28d449ab15776b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16805 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 IisPgI3q9qaGXMYp diff --git a/docs/img/4c6172d095020a91bcf8d48c85ee4d1d.png b/docs/img/4c6172d095020a91bcf8d48c85ee4d1d.png deleted file mode 100644 index f4c9d21982672113dcbdef752c1bccd7cb177ac6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3584 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 MIkIGXQV`@WfsaYDB`=so<~^+ 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 diff --git a/docs/img/4d2f841f1dee2bdbbdcd14bd5518c000.png b/docs/img/4d2f841f1dee2bdbbdcd14bd5518c000.png deleted file mode 100644 index 82d6e46bd52b599d4d86982552edfd65f38b3594..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 181805 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