@featurevisor/core 2.17.0 → 2.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -0
- package/coverage/clover.xml +1692 -1196
- package/coverage/coverage-final.json +29 -22
- package/coverage/lcov-report/builder/allocator.ts.html +26 -26
- package/coverage/lcov-report/builder/buildDatafile.ts.html +2017 -0
- package/coverage/lcov-report/builder/buildScopedConditions.ts.html +35 -35
- package/coverage/lcov-report/builder/buildScopedDatafile.ts.html +213 -45
- package/coverage/lcov-report/builder/buildScopedSegments.ts.html +28 -28
- package/coverage/lcov-report/builder/convertToV1.ts.html +583 -0
- package/coverage/lcov-report/builder/getFeatureRanges.ts.html +268 -0
- package/coverage/lcov-report/builder/hashes.ts.html +412 -0
- package/coverage/lcov-report/builder/index.html +90 -30
- package/coverage/lcov-report/builder/mutateVariables.ts.html +66 -45
- package/coverage/lcov-report/builder/mutator.ts.html +95 -95
- package/coverage/lcov-report/builder/revision.ts.html +1 -1
- package/coverage/lcov-report/builder/traffic.ts.html +60 -57
- package/coverage/lcov-report/config/index.html +1 -1
- package/coverage/lcov-report/config/index.ts.html +2 -2
- package/coverage/lcov-report/config/projectConfig.ts.html +28 -28
- package/coverage/lcov-report/datasource/adapter.ts.html +2 -2
- package/coverage/lcov-report/datasource/datasource.ts.html +4 -4
- package/coverage/lcov-report/datasource/filesystemAdapter.ts.html +34 -34
- package/coverage/lcov-report/datasource/index.html +1 -1
- package/coverage/lcov-report/datasource/index.ts.html +1 -1
- package/coverage/lcov-report/index.html +39 -39
- package/coverage/lcov-report/linter/attributeSchema.ts.html +1 -1
- package/coverage/lcov-report/linter/checkCircularDependency.ts.html +1 -1
- package/coverage/lcov-report/linter/checkPercentageExceedingSlot.ts.html +1 -1
- package/coverage/lcov-report/linter/conditionSchema.ts.html +17 -17
- package/coverage/lcov-report/linter/featureSchema.ts.html +879 -417
- package/coverage/lcov-report/linter/groupSchema.ts.html +1 -1
- package/coverage/lcov-report/linter/index.html +34 -34
- package/coverage/lcov-report/linter/lintProject.ts.html +25 -25
- package/coverage/lcov-report/linter/mutationNotation.ts.html +224 -122
- package/coverage/lcov-report/linter/printError.ts.html +1 -1
- package/coverage/lcov-report/linter/schema.ts.html +175 -85
- package/coverage/lcov-report/linter/segmentSchema.ts.html +1 -1
- package/coverage/lcov-report/linter/testSchema.ts.html +5 -5
- package/coverage/lcov-report/list/index.html +1 -1
- package/coverage/lcov-report/list/matrix.ts.html +1 -1
- package/coverage/lcov-report/parsers/index.html +1 -1
- package/coverage/lcov-report/parsers/index.ts.html +4 -4
- package/coverage/lcov-report/parsers/json.ts.html +2 -2
- package/coverage/lcov-report/parsers/yml.ts.html +6 -6
- package/coverage/lcov-report/tester/cliFormat.ts.html +1 -1
- package/coverage/lcov-report/tester/helpers.ts.html +1 -1
- package/coverage/lcov-report/tester/index.html +1 -1
- package/coverage/lcov-report/utils/extractKeys.ts.html +493 -0
- package/coverage/lcov-report/utils/git.ts.html +3 -3
- package/coverage/lcov-report/utils/index.html +54 -9
- package/coverage/lcov-report/utils/index.ts.html +94 -0
- package/coverage/lcov-report/utils/pretty.ts.html +121 -0
- package/coverage/lcov.info +3206 -2260
- package/json-schema/attribute.json +25 -9
- package/json-schema/feature.json +319 -238
- package/json-schema/segment.json +76 -45
- package/lib/builder/buildDatafile.js +50 -3
- package/lib/builder/buildDatafile.js.map +1 -1
- package/lib/builder/buildDatafile.spec.d.ts +1 -0
- package/lib/builder/buildDatafile.spec.js +233 -0
- package/lib/builder/buildDatafile.spec.js.map +1 -0
- package/lib/builder/buildScopedDatafile.js +37 -1
- package/lib/builder/buildScopedDatafile.js.map +1 -1
- package/lib/builder/buildScopedDatafile.spec.js +289 -0
- package/lib/builder/buildScopedDatafile.spec.js.map +1 -1
- package/lib/builder/mutateVariables.d.ts +1 -1
- package/lib/builder/mutateVariables.js +4 -1
- package/lib/builder/mutateVariables.js.map +1 -1
- package/lib/builder/mutateVariables.spec.js +29 -0
- package/lib/builder/mutateVariables.spec.js.map +1 -1
- package/lib/builder/traffic.js +1 -0
- package/lib/builder/traffic.js.map +1 -1
- package/lib/builder/traffic.spec.js +26 -0
- package/lib/builder/traffic.spec.js.map +1 -1
- package/lib/generate-code/typescript.js +63 -20
- package/lib/generate-code/typescript.js.map +1 -1
- package/lib/linter/featureSchema.d.ts +237 -22
- package/lib/linter/featureSchema.js +175 -84
- package/lib/linter/featureSchema.js.map +1 -1
- package/lib/linter/featureSchema.spec.js +268 -0
- package/lib/linter/featureSchema.spec.js.map +1 -1
- package/lib/linter/mutationNotation.js +54 -19
- package/lib/linter/mutationNotation.js.map +1 -1
- package/lib/linter/mutationNotation.spec.js +49 -0
- package/lib/linter/mutationNotation.spec.js.map +1 -1
- package/lib/linter/schema.d.ts +1 -0
- package/lib/linter/schema.js +13 -0
- package/lib/linter/schema.js.map +1 -1
- package/lib/linter/schema.spec.js +51 -0
- package/lib/linter/schema.spec.js.map +1 -1
- package/package.json +5 -5
- package/src/builder/buildDatafile.spec.ts +267 -0
- package/src/builder/buildDatafile.ts +85 -4
- package/src/builder/buildScopedDatafile.spec.ts +330 -0
- package/src/builder/buildScopedDatafile.ts +57 -1
- package/src/builder/mutateVariables.spec.ts +45 -0
- package/src/builder/mutateVariables.ts +7 -0
- package/src/builder/traffic.spec.ts +33 -0
- package/src/builder/traffic.ts +1 -0
- package/src/generate-code/typescript.ts +87 -20
- package/src/linter/featureSchema.spec.ts +315 -0
- package/src/linter/featureSchema.ts +269 -115
- package/src/linter/mutationNotation.spec.ts +62 -0
- package/src/linter/mutationNotation.ts +47 -13
- package/src/linter/schema.spec.ts +72 -0
- package/src/linter/schema.ts +30 -0
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">72.95% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>402/551</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">64.26% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>259/403</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">76
|
|
40
|
+
<span class="strong">76% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>57/75</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">76.52% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>388/507</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -1829,16 +1829,165 @@
|
|
|
1829
1829
|
<a name='L1764'></a><a href='#L1764'>1764</a>
|
|
1830
1830
|
<a name='L1765'></a><a href='#L1765'>1765</a>
|
|
1831
1831
|
<a name='L1766'></a><a href='#L1766'>1766</a>
|
|
1832
|
-
<a name='L1767'></a><a href='#L1767'>1767</a
|
|
1832
|
+
<a name='L1767'></a><a href='#L1767'>1767</a>
|
|
1833
|
+
<a name='L1768'></a><a href='#L1768'>1768</a>
|
|
1834
|
+
<a name='L1769'></a><a href='#L1769'>1769</a>
|
|
1835
|
+
<a name='L1770'></a><a href='#L1770'>1770</a>
|
|
1836
|
+
<a name='L1771'></a><a href='#L1771'>1771</a>
|
|
1837
|
+
<a name='L1772'></a><a href='#L1772'>1772</a>
|
|
1838
|
+
<a name='L1773'></a><a href='#L1773'>1773</a>
|
|
1839
|
+
<a name='L1774'></a><a href='#L1774'>1774</a>
|
|
1840
|
+
<a name='L1775'></a><a href='#L1775'>1775</a>
|
|
1841
|
+
<a name='L1776'></a><a href='#L1776'>1776</a>
|
|
1842
|
+
<a name='L1777'></a><a href='#L1777'>1777</a>
|
|
1843
|
+
<a name='L1778'></a><a href='#L1778'>1778</a>
|
|
1844
|
+
<a name='L1779'></a><a href='#L1779'>1779</a>
|
|
1845
|
+
<a name='L1780'></a><a href='#L1780'>1780</a>
|
|
1846
|
+
<a name='L1781'></a><a href='#L1781'>1781</a>
|
|
1847
|
+
<a name='L1782'></a><a href='#L1782'>1782</a>
|
|
1848
|
+
<a name='L1783'></a><a href='#L1783'>1783</a>
|
|
1849
|
+
<a name='L1784'></a><a href='#L1784'>1784</a>
|
|
1850
|
+
<a name='L1785'></a><a href='#L1785'>1785</a>
|
|
1851
|
+
<a name='L1786'></a><a href='#L1786'>1786</a>
|
|
1852
|
+
<a name='L1787'></a><a href='#L1787'>1787</a>
|
|
1853
|
+
<a name='L1788'></a><a href='#L1788'>1788</a>
|
|
1854
|
+
<a name='L1789'></a><a href='#L1789'>1789</a>
|
|
1855
|
+
<a name='L1790'></a><a href='#L1790'>1790</a>
|
|
1856
|
+
<a name='L1791'></a><a href='#L1791'>1791</a>
|
|
1857
|
+
<a name='L1792'></a><a href='#L1792'>1792</a>
|
|
1858
|
+
<a name='L1793'></a><a href='#L1793'>1793</a>
|
|
1859
|
+
<a name='L1794'></a><a href='#L1794'>1794</a>
|
|
1860
|
+
<a name='L1795'></a><a href='#L1795'>1795</a>
|
|
1861
|
+
<a name='L1796'></a><a href='#L1796'>1796</a>
|
|
1862
|
+
<a name='L1797'></a><a href='#L1797'>1797</a>
|
|
1863
|
+
<a name='L1798'></a><a href='#L1798'>1798</a>
|
|
1864
|
+
<a name='L1799'></a><a href='#L1799'>1799</a>
|
|
1865
|
+
<a name='L1800'></a><a href='#L1800'>1800</a>
|
|
1866
|
+
<a name='L1801'></a><a href='#L1801'>1801</a>
|
|
1867
|
+
<a name='L1802'></a><a href='#L1802'>1802</a>
|
|
1868
|
+
<a name='L1803'></a><a href='#L1803'>1803</a>
|
|
1869
|
+
<a name='L1804'></a><a href='#L1804'>1804</a>
|
|
1870
|
+
<a name='L1805'></a><a href='#L1805'>1805</a>
|
|
1871
|
+
<a name='L1806'></a><a href='#L1806'>1806</a>
|
|
1872
|
+
<a name='L1807'></a><a href='#L1807'>1807</a>
|
|
1873
|
+
<a name='L1808'></a><a href='#L1808'>1808</a>
|
|
1874
|
+
<a name='L1809'></a><a href='#L1809'>1809</a>
|
|
1875
|
+
<a name='L1810'></a><a href='#L1810'>1810</a>
|
|
1876
|
+
<a name='L1811'></a><a href='#L1811'>1811</a>
|
|
1877
|
+
<a name='L1812'></a><a href='#L1812'>1812</a>
|
|
1878
|
+
<a name='L1813'></a><a href='#L1813'>1813</a>
|
|
1879
|
+
<a name='L1814'></a><a href='#L1814'>1814</a>
|
|
1880
|
+
<a name='L1815'></a><a href='#L1815'>1815</a>
|
|
1881
|
+
<a name='L1816'></a><a href='#L1816'>1816</a>
|
|
1882
|
+
<a name='L1817'></a><a href='#L1817'>1817</a>
|
|
1883
|
+
<a name='L1818'></a><a href='#L1818'>1818</a>
|
|
1884
|
+
<a name='L1819'></a><a href='#L1819'>1819</a>
|
|
1885
|
+
<a name='L1820'></a><a href='#L1820'>1820</a>
|
|
1886
|
+
<a name='L1821'></a><a href='#L1821'>1821</a>
|
|
1887
|
+
<a name='L1822'></a><a href='#L1822'>1822</a>
|
|
1888
|
+
<a name='L1823'></a><a href='#L1823'>1823</a>
|
|
1889
|
+
<a name='L1824'></a><a href='#L1824'>1824</a>
|
|
1890
|
+
<a name='L1825'></a><a href='#L1825'>1825</a>
|
|
1891
|
+
<a name='L1826'></a><a href='#L1826'>1826</a>
|
|
1892
|
+
<a name='L1827'></a><a href='#L1827'>1827</a>
|
|
1893
|
+
<a name='L1828'></a><a href='#L1828'>1828</a>
|
|
1894
|
+
<a name='L1829'></a><a href='#L1829'>1829</a>
|
|
1895
|
+
<a name='L1830'></a><a href='#L1830'>1830</a>
|
|
1896
|
+
<a name='L1831'></a><a href='#L1831'>1831</a>
|
|
1897
|
+
<a name='L1832'></a><a href='#L1832'>1832</a>
|
|
1898
|
+
<a name='L1833'></a><a href='#L1833'>1833</a>
|
|
1899
|
+
<a name='L1834'></a><a href='#L1834'>1834</a>
|
|
1900
|
+
<a name='L1835'></a><a href='#L1835'>1835</a>
|
|
1901
|
+
<a name='L1836'></a><a href='#L1836'>1836</a>
|
|
1902
|
+
<a name='L1837'></a><a href='#L1837'>1837</a>
|
|
1903
|
+
<a name='L1838'></a><a href='#L1838'>1838</a>
|
|
1904
|
+
<a name='L1839'></a><a href='#L1839'>1839</a>
|
|
1905
|
+
<a name='L1840'></a><a href='#L1840'>1840</a>
|
|
1906
|
+
<a name='L1841'></a><a href='#L1841'>1841</a>
|
|
1907
|
+
<a name='L1842'></a><a href='#L1842'>1842</a>
|
|
1908
|
+
<a name='L1843'></a><a href='#L1843'>1843</a>
|
|
1909
|
+
<a name='L1844'></a><a href='#L1844'>1844</a>
|
|
1910
|
+
<a name='L1845'></a><a href='#L1845'>1845</a>
|
|
1911
|
+
<a name='L1846'></a><a href='#L1846'>1846</a>
|
|
1912
|
+
<a name='L1847'></a><a href='#L1847'>1847</a>
|
|
1913
|
+
<a name='L1848'></a><a href='#L1848'>1848</a>
|
|
1914
|
+
<a name='L1849'></a><a href='#L1849'>1849</a>
|
|
1915
|
+
<a name='L1850'></a><a href='#L1850'>1850</a>
|
|
1916
|
+
<a name='L1851'></a><a href='#L1851'>1851</a>
|
|
1917
|
+
<a name='L1852'></a><a href='#L1852'>1852</a>
|
|
1918
|
+
<a name='L1853'></a><a href='#L1853'>1853</a>
|
|
1919
|
+
<a name='L1854'></a><a href='#L1854'>1854</a>
|
|
1920
|
+
<a name='L1855'></a><a href='#L1855'>1855</a>
|
|
1921
|
+
<a name='L1856'></a><a href='#L1856'>1856</a>
|
|
1922
|
+
<a name='L1857'></a><a href='#L1857'>1857</a>
|
|
1923
|
+
<a name='L1858'></a><a href='#L1858'>1858</a>
|
|
1924
|
+
<a name='L1859'></a><a href='#L1859'>1859</a>
|
|
1925
|
+
<a name='L1860'></a><a href='#L1860'>1860</a>
|
|
1926
|
+
<a name='L1861'></a><a href='#L1861'>1861</a>
|
|
1927
|
+
<a name='L1862'></a><a href='#L1862'>1862</a>
|
|
1928
|
+
<a name='L1863'></a><a href='#L1863'>1863</a>
|
|
1929
|
+
<a name='L1864'></a><a href='#L1864'>1864</a>
|
|
1930
|
+
<a name='L1865'></a><a href='#L1865'>1865</a>
|
|
1931
|
+
<a name='L1866'></a><a href='#L1866'>1866</a>
|
|
1932
|
+
<a name='L1867'></a><a href='#L1867'>1867</a>
|
|
1933
|
+
<a name='L1868'></a><a href='#L1868'>1868</a>
|
|
1934
|
+
<a name='L1869'></a><a href='#L1869'>1869</a>
|
|
1935
|
+
<a name='L1870'></a><a href='#L1870'>1870</a>
|
|
1936
|
+
<a name='L1871'></a><a href='#L1871'>1871</a>
|
|
1937
|
+
<a name='L1872'></a><a href='#L1872'>1872</a>
|
|
1938
|
+
<a name='L1873'></a><a href='#L1873'>1873</a>
|
|
1939
|
+
<a name='L1874'></a><a href='#L1874'>1874</a>
|
|
1940
|
+
<a name='L1875'></a><a href='#L1875'>1875</a>
|
|
1941
|
+
<a name='L1876'></a><a href='#L1876'>1876</a>
|
|
1942
|
+
<a name='L1877'></a><a href='#L1877'>1877</a>
|
|
1943
|
+
<a name='L1878'></a><a href='#L1878'>1878</a>
|
|
1944
|
+
<a name='L1879'></a><a href='#L1879'>1879</a>
|
|
1945
|
+
<a name='L1880'></a><a href='#L1880'>1880</a>
|
|
1946
|
+
<a name='L1881'></a><a href='#L1881'>1881</a>
|
|
1947
|
+
<a name='L1882'></a><a href='#L1882'>1882</a>
|
|
1948
|
+
<a name='L1883'></a><a href='#L1883'>1883</a>
|
|
1949
|
+
<a name='L1884'></a><a href='#L1884'>1884</a>
|
|
1950
|
+
<a name='L1885'></a><a href='#L1885'>1885</a>
|
|
1951
|
+
<a name='L1886'></a><a href='#L1886'>1886</a>
|
|
1952
|
+
<a name='L1887'></a><a href='#L1887'>1887</a>
|
|
1953
|
+
<a name='L1888'></a><a href='#L1888'>1888</a>
|
|
1954
|
+
<a name='L1889'></a><a href='#L1889'>1889</a>
|
|
1955
|
+
<a name='L1890'></a><a href='#L1890'>1890</a>
|
|
1956
|
+
<a name='L1891'></a><a href='#L1891'>1891</a>
|
|
1957
|
+
<a name='L1892'></a><a href='#L1892'>1892</a>
|
|
1958
|
+
<a name='L1893'></a><a href='#L1893'>1893</a>
|
|
1959
|
+
<a name='L1894'></a><a href='#L1894'>1894</a>
|
|
1960
|
+
<a name='L1895'></a><a href='#L1895'>1895</a>
|
|
1961
|
+
<a name='L1896'></a><a href='#L1896'>1896</a>
|
|
1962
|
+
<a name='L1897'></a><a href='#L1897'>1897</a>
|
|
1963
|
+
<a name='L1898'></a><a href='#L1898'>1898</a>
|
|
1964
|
+
<a name='L1899'></a><a href='#L1899'>1899</a>
|
|
1965
|
+
<a name='L1900'></a><a href='#L1900'>1900</a>
|
|
1966
|
+
<a name='L1901'></a><a href='#L1901'>1901</a>
|
|
1967
|
+
<a name='L1902'></a><a href='#L1902'>1902</a>
|
|
1968
|
+
<a name='L1903'></a><a href='#L1903'>1903</a>
|
|
1969
|
+
<a name='L1904'></a><a href='#L1904'>1904</a>
|
|
1970
|
+
<a name='L1905'></a><a href='#L1905'>1905</a>
|
|
1971
|
+
<a name='L1906'></a><a href='#L1906'>1906</a>
|
|
1972
|
+
<a name='L1907'></a><a href='#L1907'>1907</a>
|
|
1973
|
+
<a name='L1908'></a><a href='#L1908'>1908</a>
|
|
1974
|
+
<a name='L1909'></a><a href='#L1909'>1909</a>
|
|
1975
|
+
<a name='L1910'></a><a href='#L1910'>1910</a>
|
|
1976
|
+
<a name='L1911'></a><a href='#L1911'>1911</a>
|
|
1977
|
+
<a name='L1912'></a><a href='#L1912'>1912</a>
|
|
1978
|
+
<a name='L1913'></a><a href='#L1913'>1913</a>
|
|
1979
|
+
<a name='L1914'></a><a href='#L1914'>1914</a>
|
|
1980
|
+
<a name='L1915'></a><a href='#L1915'>1915</a>
|
|
1981
|
+
<a name='L1916'></a><a href='#L1916'>1916</a>
|
|
1982
|
+
<a name='L1917'></a><a href='#L1917'>1917</a>
|
|
1983
|
+
<a name='L1918'></a><a href='#L1918'>1918</a>
|
|
1984
|
+
<a name='L1919'></a><a href='#L1919'>1919</a>
|
|
1985
|
+
<a name='L1920'></a><a href='#L1920'>1920</a>
|
|
1986
|
+
<a name='L1921'></a><a href='#L1921'>1921</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
1833
1987
|
<span class="cline-any cline-yes">2x</span>
|
|
1834
1988
|
<span class="cline-any cline-neutral"> </span>
|
|
1835
1989
|
<span class="cline-any cline-neutral"> </span>
|
|
1836
1990
|
<span class="cline-any cline-yes">2x</span>
|
|
1837
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1838
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1839
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1840
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1841
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1842
1991
|
<span class="cline-any cline-yes">2x</span>
|
|
1843
1992
|
<span class="cline-any cline-neutral"> </span>
|
|
1844
1993
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1856,7 +2005,8 @@
|
|
|
1856
2005
|
<span class="cline-any cline-neutral"> </span>
|
|
1857
2006
|
<span class="cline-any cline-neutral"> </span>
|
|
1858
2007
|
<span class="cline-any cline-neutral"> </span>
|
|
1859
|
-
<span class="cline-any cline-yes">
|
|
2008
|
+
<span class="cline-any cline-yes">26x</span>
|
|
2009
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1860
2010
|
<span class="cline-any cline-neutral"> </span>
|
|
1861
2011
|
<span class="cline-any cline-neutral"> </span>
|
|
1862
2012
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1864,8 +2014,8 @@
|
|
|
1864
2014
|
<span class="cline-any cline-neutral"> </span>
|
|
1865
2015
|
<span class="cline-any cline-neutral"> </span>
|
|
1866
2016
|
<span class="cline-any cline-neutral"> </span>
|
|
2017
|
+
<span class="cline-any cline-yes">3377x</span>
|
|
1867
2018
|
<span class="cline-any cline-neutral"> </span>
|
|
1868
|
-
<span class="cline-any cline-yes">2811x</span>
|
|
1869
2019
|
<span class="cline-any cline-neutral"> </span>
|
|
1870
2020
|
<span class="cline-any cline-neutral"> </span>
|
|
1871
2021
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1913,10 +2063,12 @@
|
|
|
1913
2063
|
<span class="cline-any cline-neutral"> </span>
|
|
1914
2064
|
<span class="cline-any cline-neutral"> </span>
|
|
1915
2065
|
<span class="cline-any cline-neutral"> </span>
|
|
1916
|
-
<span class="cline-any cline-yes">2515x</span>
|
|
1917
|
-
<span class="cline-any cline-yes">503x</span>
|
|
1918
2066
|
<span class="cline-any cline-neutral"> </span>
|
|
1919
|
-
<span class="cline-any cline-yes">
|
|
2067
|
+
<span class="cline-any cline-yes">3005x</span>
|
|
2068
|
+
<span class="cline-any cline-yes">525x</span>
|
|
2069
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2070
|
+
<span class="cline-any cline-yes">2480x</span>
|
|
2071
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1920
2072
|
<span class="cline-any cline-neutral"> </span>
|
|
1921
2073
|
<span class="cline-any cline-neutral"> </span>
|
|
1922
2074
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1976,6 +2128,7 @@
|
|
|
1976
2128
|
<span class="cline-any cline-neutral"> </span>
|
|
1977
2129
|
<span class="cline-any cline-neutral"> </span>
|
|
1978
2130
|
<span class="cline-any cline-neutral"> </span>
|
|
2131
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1979
2132
|
<span class="cline-any cline-yes">124x</span>
|
|
1980
2133
|
<span class="cline-any cline-no"> </span>
|
|
1981
2134
|
<span class="cline-any cline-no"> </span>
|
|
@@ -2029,6 +2182,14 @@
|
|
|
2029
2182
|
<span class="cline-any cline-yes">7x</span>
|
|
2030
2183
|
<span class="cline-any cline-yes">7x</span>
|
|
2031
2184
|
<span class="cline-any cline-yes">7x</span>
|
|
2185
|
+
<span class="cline-any cline-no"> </span>
|
|
2186
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2187
|
+
<span class="cline-any cline-yes">7x</span>
|
|
2188
|
+
<span class="cline-any cline-no"> </span>
|
|
2189
|
+
<span class="cline-any cline-no"> </span>
|
|
2190
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2191
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2192
|
+
<span class="cline-any cline-yes">7x</span>
|
|
2032
2193
|
<span class="cline-any cline-yes">7x</span>
|
|
2033
2194
|
<span class="cline-any cline-yes">14x</span>
|
|
2034
2195
|
<span class="cline-any cline-yes">14x</span>
|
|
@@ -2039,6 +2200,12 @@
|
|
|
2039
2200
|
<span class="cline-any cline-yes">14x</span>
|
|
2040
2201
|
<span class="cline-any cline-yes">14x</span>
|
|
2041
2202
|
<span class="cline-any cline-no"> </span>
|
|
2203
|
+
<span class="cline-any cline-no"> </span>
|
|
2204
|
+
<span class="cline-any cline-no"> </span>
|
|
2205
|
+
<span class="cline-any cline-no"> </span>
|
|
2206
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2207
|
+
<span class="cline-any cline-no"> </span>
|
|
2208
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2042
2209
|
<span class="cline-any cline-neutral"> </span>
|
|
2043
2210
|
<span class="cline-any cline-yes">7x</span>
|
|
2044
2211
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2109,31 +2276,32 @@
|
|
|
2109
2276
|
<span class="cline-any cline-neutral"> </span>
|
|
2110
2277
|
<span class="cline-any cline-neutral"> </span>
|
|
2111
2278
|
<span class="cline-any cline-neutral"> </span>
|
|
2112
|
-
<span class="cline-any cline-yes">615x</span>
|
|
2113
2279
|
<span class="cline-any cline-neutral"> </span>
|
|
2280
|
+
<span class="cline-any cline-yes">762x</span>
|
|
2114
2281
|
<span class="cline-any cline-neutral"> </span>
|
|
2115
|
-
<span class="cline-any cline-yes">615x</span>
|
|
2116
|
-
<span class="cline-any cline-yes">615x</span>
|
|
2117
|
-
<span class="cline-any cline-yes">26x</span>
|
|
2118
|
-
<span class="cline-any cline-yes">26x</span>
|
|
2119
|
-
<span class="cline-any cline-yes">26x</span>
|
|
2120
2282
|
<span class="cline-any cline-neutral"> </span>
|
|
2283
|
+
<span class="cline-any cline-yes">762x</span>
|
|
2284
|
+
<span class="cline-any cline-yes">762x</span>
|
|
2285
|
+
<span class="cline-any cline-yes">30x</span>
|
|
2286
|
+
<span class="cline-any cline-yes">30x</span>
|
|
2287
|
+
<span class="cline-any cline-yes">30x</span>
|
|
2121
2288
|
<span class="cline-any cline-neutral"> </span>
|
|
2122
|
-
<span class="cline-any cline-yes">589x</span>
|
|
2123
|
-
<span class="cline-any cline-yes">589x</span>
|
|
2124
|
-
<span class="cline-any cline-yes">589x</span>
|
|
2125
|
-
<span class="cline-any cline-yes">589x</span>
|
|
2126
2289
|
<span class="cline-any cline-neutral"> </span>
|
|
2127
|
-
<span class="cline-any cline-yes">
|
|
2290
|
+
<span class="cline-any cline-yes">732x</span>
|
|
2291
|
+
<span class="cline-any cline-yes">732x</span>
|
|
2292
|
+
<span class="cline-any cline-yes">732x</span>
|
|
2293
|
+
<span class="cline-any cline-yes">732x</span>
|
|
2128
2294
|
<span class="cline-any cline-neutral"> </span>
|
|
2295
|
+
<span class="cline-any cline-yes">732x</span>
|
|
2129
2296
|
<span class="cline-any cline-neutral"> </span>
|
|
2130
2297
|
<span class="cline-any cline-neutral"> </span>
|
|
2131
2298
|
<span class="cline-any cline-neutral"> </span>
|
|
2132
2299
|
<span class="cline-any cline-neutral"> </span>
|
|
2133
2300
|
<span class="cline-any cline-neutral"> </span>
|
|
2134
|
-
<span class="cline-any cline-
|
|
2135
|
-
<span class="cline-any cline-yes">
|
|
2136
|
-
<span class="cline-any cline-yes">
|
|
2301
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2302
|
+
<span class="cline-any cline-yes">80x</span>
|
|
2303
|
+
<span class="cline-any cline-yes">80x</span>
|
|
2304
|
+
<span class="cline-any cline-yes">148x</span>
|
|
2137
2305
|
<span class="cline-any cline-no"> </span>
|
|
2138
2306
|
<span class="cline-any cline-neutral"> </span>
|
|
2139
2307
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2143,13 +2311,26 @@
|
|
|
2143
2311
|
<span class="cline-any cline-neutral"> </span>
|
|
2144
2312
|
<span class="cline-any cline-neutral"> </span>
|
|
2145
2313
|
<span class="cline-any cline-neutral"> </span>
|
|
2146
|
-
<span class="cline-any cline-yes">
|
|
2147
|
-
<span class="cline-any cline-yes">
|
|
2148
|
-
<span class="cline-any cline-yes">
|
|
2149
|
-
<span class="cline-any cline-yes">
|
|
2150
|
-
<span class="cline-any cline-yes">
|
|
2314
|
+
<span class="cline-any cline-yes">732x</span>
|
|
2315
|
+
<span class="cline-any cline-yes">174x</span>
|
|
2316
|
+
<span class="cline-any cline-yes">349x</span>
|
|
2317
|
+
<span class="cline-any cline-yes">349x</span>
|
|
2318
|
+
<span class="cline-any cline-yes">349x</span>
|
|
2319
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2320
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2321
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2322
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2323
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2324
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2325
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2326
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2327
|
+
<span class="cline-any cline-yes">732x</span>
|
|
2328
|
+
<span class="cline-any cline-yes">732x</span>
|
|
2329
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2330
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2151
2331
|
<span class="cline-any cline-neutral"> </span>
|
|
2152
2332
|
<span class="cline-any cline-neutral"> </span>
|
|
2333
|
+
<span class="cline-any cline-yes">9x</span>
|
|
2153
2334
|
<span class="cline-any cline-neutral"> </span>
|
|
2154
2335
|
<span class="cline-any cline-neutral"> </span>
|
|
2155
2336
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2157,8 +2338,8 @@
|
|
|
2157
2338
|
<span class="cline-any cline-neutral"> </span>
|
|
2158
2339
|
<span class="cline-any cline-neutral"> </span>
|
|
2159
2340
|
<span class="cline-any cline-neutral"> </span>
|
|
2160
|
-
<span class="cline-any cline-yes">
|
|
2161
|
-
<span class="cline-any cline-yes">
|
|
2341
|
+
<span class="cline-any cline-yes">732x</span>
|
|
2342
|
+
<span class="cline-any cline-yes">56x</span>
|
|
2162
2343
|
<span class="cline-any cline-neutral"> </span>
|
|
2163
2344
|
<span class="cline-any cline-neutral"> </span>
|
|
2164
2345
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2166,8 +2347,8 @@
|
|
|
2166
2347
|
<span class="cline-any cline-neutral"> </span>
|
|
2167
2348
|
<span class="cline-any cline-neutral"> </span>
|
|
2168
2349
|
<span class="cline-any cline-neutral"> </span>
|
|
2169
|
-
<span class="cline-any cline-yes">
|
|
2170
|
-
<span class="cline-any cline-yes">
|
|
2350
|
+
<span class="cline-any cline-yes">732x</span>
|
|
2351
|
+
<span class="cline-any cline-yes">732x</span>
|
|
2171
2352
|
<span class="cline-any cline-yes">12x</span>
|
|
2172
2353
|
<span class="cline-any cline-yes">24x</span>
|
|
2173
2354
|
<span class="cline-any cline-yes">24x</span>
|
|
@@ -2182,10 +2363,10 @@
|
|
|
2182
2363
|
<span class="cline-any cline-neutral"> </span>
|
|
2183
2364
|
<span class="cline-any cline-neutral"> </span>
|
|
2184
2365
|
<span class="cline-any cline-neutral"> </span>
|
|
2185
|
-
<span class="cline-any cline-yes">
|
|
2186
|
-
<span class="cline-any cline-yes">
|
|
2187
|
-
<span class="cline-any cline-yes">
|
|
2188
|
-
<span class="cline-any cline-yes">
|
|
2366
|
+
<span class="cline-any cline-yes">2479x</span>
|
|
2367
|
+
<span class="cline-any cline-yes">2479x</span>
|
|
2368
|
+
<span class="cline-any cline-yes">2479x</span>
|
|
2369
|
+
<span class="cline-any cline-yes">2261x</span>
|
|
2189
2370
|
<span class="cline-any cline-neutral"> </span>
|
|
2190
2371
|
<span class="cline-any cline-neutral"> </span>
|
|
2191
2372
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2208,25 +2389,25 @@
|
|
|
2208
2389
|
<span class="cline-any cline-neutral"> </span>
|
|
2209
2390
|
<span class="cline-any cline-neutral"> </span>
|
|
2210
2391
|
<span class="cline-any cline-neutral"> </span>
|
|
2211
|
-
<span class="cline-any cline-yes">
|
|
2212
|
-
<span class="cline-any cline-yes">
|
|
2213
|
-
<span class="cline-any cline-yes">
|
|
2214
|
-
<span class="cline-any cline-yes">
|
|
2215
|
-
<span class="cline-any cline-yes">
|
|
2392
|
+
<span class="cline-any cline-yes">218x</span>
|
|
2393
|
+
<span class="cline-any cline-yes">218x</span>
|
|
2394
|
+
<span class="cline-any cline-yes">218x</span>
|
|
2395
|
+
<span class="cline-any cline-yes">218x</span>
|
|
2396
|
+
<span class="cline-any cline-yes">218x</span>
|
|
2216
2397
|
<span class="cline-any cline-yes">1x</span>
|
|
2217
2398
|
<span class="cline-any cline-neutral"> </span>
|
|
2218
2399
|
<span class="cline-any cline-neutral"> </span>
|
|
2219
2400
|
<span class="cline-any cline-neutral"> </span>
|
|
2220
2401
|
<span class="cline-any cline-neutral"> </span>
|
|
2221
2402
|
<span class="cline-any cline-neutral"> </span>
|
|
2222
|
-
<span class="cline-any cline-yes">
|
|
2403
|
+
<span class="cline-any cline-yes">218x</span>
|
|
2223
2404
|
<span class="cline-any cline-yes">1x</span>
|
|
2224
2405
|
<span class="cline-any cline-neutral"> </span>
|
|
2225
2406
|
<span class="cline-any cline-neutral"> </span>
|
|
2226
2407
|
<span class="cline-any cline-neutral"> </span>
|
|
2227
2408
|
<span class="cline-any cline-neutral"> </span>
|
|
2228
2409
|
<span class="cline-any cline-neutral"> </span>
|
|
2229
|
-
<span class="cline-any cline-yes">
|
|
2410
|
+
<span class="cline-any cline-yes">218x</span>
|
|
2230
2411
|
<span class="cline-any cline-yes">41x</span>
|
|
2231
2412
|
<span class="cline-any cline-yes">58x</span>
|
|
2232
2413
|
<span class="cline-any cline-yes">27x</span>
|
|
@@ -2240,11 +2421,11 @@
|
|
|
2240
2421
|
<span class="cline-any cline-neutral"> </span>
|
|
2241
2422
|
<span class="cline-any cline-neutral"> </span>
|
|
2242
2423
|
<span class="cline-any cline-neutral"> </span>
|
|
2243
|
-
<span class="cline-any cline-yes">
|
|
2424
|
+
<span class="cline-any cline-yes">218x</span>
|
|
2244
2425
|
<span class="cline-any cline-neutral"> </span>
|
|
2245
|
-
<span class="cline-any cline-yes">
|
|
2246
|
-
<span class="cline-any cline-yes">
|
|
2247
|
-
<span class="cline-any cline-yes">
|
|
2426
|
+
<span class="cline-any cline-yes">218x</span>
|
|
2427
|
+
<span class="cline-any cline-yes">200x</span>
|
|
2428
|
+
<span class="cline-any cline-yes">355x</span>
|
|
2248
2429
|
<span class="cline-any cline-neutral"> </span>
|
|
2249
2430
|
<span class="cline-any cline-neutral"> </span>
|
|
2250
2431
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2264,7 +2445,7 @@
|
|
|
2264
2445
|
<span class="cline-any cline-neutral"> </span>
|
|
2265
2446
|
<span class="cline-any cline-neutral"> </span>
|
|
2266
2447
|
<span class="cline-any cline-neutral"> </span>
|
|
2267
|
-
<span class="cline-any cline-yes">
|
|
2448
|
+
<span class="cline-any cline-yes">218x</span>
|
|
2268
2449
|
<span class="cline-any cline-no"> </span>
|
|
2269
2450
|
<span class="cline-any cline-no"> </span>
|
|
2270
2451
|
<span class="cline-any cline-no"> </span>
|
|
@@ -2293,51 +2474,75 @@
|
|
|
2293
2474
|
<span class="cline-any cline-neutral"> </span>
|
|
2294
2475
|
<span class="cline-any cline-neutral"> </span>
|
|
2295
2476
|
<span class="cline-any cline-neutral"> </span>
|
|
2296
|
-
<span class="cline-any cline-yes">434x</span>
|
|
2297
|
-
<span class="cline-any cline-yes">434x</span>
|
|
2298
2477
|
<span class="cline-any cline-neutral"> </span>
|
|
2299
|
-
<span class="cline-any cline-yes">
|
|
2478
|
+
<span class="cline-any cline-yes">566x</span>
|
|
2479
|
+
<span class="cline-any cline-yes">566x</span>
|
|
2480
|
+
<span class="cline-any cline-yes">566x</span>
|
|
2300
2481
|
<span class="cline-any cline-neutral"> </span>
|
|
2301
|
-
<span class="cline-any cline-yes">
|
|
2482
|
+
<span class="cline-any cline-yes">566x</span>
|
|
2302
2483
|
<span class="cline-any cline-neutral"> </span>
|
|
2303
|
-
<span class="cline-any cline-yes">
|
|
2484
|
+
<span class="cline-any cline-yes">536x</span>
|
|
2304
2485
|
<span class="cline-any cline-neutral"> </span>
|
|
2486
|
+
<span class="cline-any cline-yes">474x</span>
|
|
2305
2487
|
<span class="cline-any cline-neutral"> </span>
|
|
2306
2488
|
<span class="cline-any cline-neutral"> </span>
|
|
2307
|
-
<span class="cline-any cline-yes">430x</span>
|
|
2308
|
-
<span class="cline-any cline-yes">829x</span>
|
|
2309
|
-
<span class="cline-any cline-yes">5x</span>
|
|
2310
2489
|
<span class="cline-any cline-neutral"> </span>
|
|
2490
|
+
<span class="cline-any cline-yes">536x</span>
|
|
2491
|
+
<span class="cline-any cline-yes">1038x</span>
|
|
2492
|
+
<span class="cline-any cline-yes">6x</span>
|
|
2311
2493
|
<span class="cline-any cline-neutral"> </span>
|
|
2312
2494
|
<span class="cline-any cline-neutral"> </span>
|
|
2313
2495
|
<span class="cline-any cline-neutral"> </span>
|
|
2314
2496
|
<span class="cline-any cline-neutral"> </span>
|
|
2315
2497
|
<span class="cline-any cline-neutral"> </span>
|
|
2316
2498
|
<span class="cline-any cline-neutral"> </span>
|
|
2317
|
-
<span class="cline-any cline-
|
|
2318
|
-
<span class="cline-any cline-yes">
|
|
2319
|
-
<span class="cline-any cline-yes">
|
|
2320
|
-
<span class="cline-any cline-
|
|
2499
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2500
|
+
<span class="cline-any cline-yes">536x</span>
|
|
2501
|
+
<span class="cline-any cline-yes">1087x</span>
|
|
2502
|
+
<span class="cline-any cline-yes">1087x</span>
|
|
2503
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2321
2504
|
<span class="cline-any cline-neutral"> </span>
|
|
2322
2505
|
<span class="cline-any cline-neutral"> </span>
|
|
2323
2506
|
<span class="cline-any cline-neutral"> </span>
|
|
2324
2507
|
<span class="cline-any cline-neutral"> </span>
|
|
2325
2508
|
<span class="cline-any cline-neutral"> </span>
|
|
2326
|
-
<span class="cline-any cline-yes">877x</span>
|
|
2327
2509
|
<span class="cline-any cline-neutral"> </span>
|
|
2328
2510
|
<span class="cline-any cline-neutral"> </span>
|
|
2329
2511
|
<span class="cline-any cline-neutral"> </span>
|
|
2512
|
+
<span class="cline-any cline-yes">1086x</span>
|
|
2513
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2330
2514
|
<span class="cline-any cline-neutral"> </span>
|
|
2331
2515
|
<span class="cline-any cline-neutral"> </span>
|
|
2332
2516
|
<span class="cline-any cline-neutral"> </span>
|
|
2333
2517
|
<span class="cline-any cline-neutral"> </span>
|
|
2334
2518
|
<span class="cline-any cline-neutral"> </span>
|
|
2519
|
+
<span class="cline-any cline-yes">1085x</span>
|
|
2335
2520
|
<span class="cline-any cline-neutral"> </span>
|
|
2336
2521
|
<span class="cline-any cline-neutral"> </span>
|
|
2337
2522
|
<span class="cline-any cline-neutral"> </span>
|
|
2338
|
-
<span class="cline-any cline-
|
|
2339
|
-
<span class="cline-any cline-
|
|
2340
|
-
<span class="cline-any cline-
|
|
2523
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2524
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2525
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2526
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2527
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2528
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2529
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2530
|
+
<span class="cline-any cline-yes">30x</span>
|
|
2531
|
+
<span class="cline-any cline-yes">20x</span>
|
|
2532
|
+
<span class="cline-any cline-yes">38x</span>
|
|
2533
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2534
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2535
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2536
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2537
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2538
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2539
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2540
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2541
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2542
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2543
|
+
<span class="cline-any cline-yes">10x</span>
|
|
2544
|
+
<span class="cline-any cline-yes">26x</span>
|
|
2545
|
+
<span class="cline-any cline-yes">26x</span>
|
|
2341
2546
|
<span class="cline-any cline-no"> </span>
|
|
2342
2547
|
<span class="cline-any cline-neutral"> </span>
|
|
2343
2548
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2347,7 +2552,7 @@
|
|
|
2347
2552
|
<span class="cline-any cline-neutral"> </span>
|
|
2348
2553
|
<span class="cline-any cline-neutral"> </span>
|
|
2349
2554
|
<span class="cline-any cline-neutral"> </span>
|
|
2350
|
-
<span class="cline-any cline-yes">
|
|
2555
|
+
<span class="cline-any cline-yes">566x</span>
|
|
2351
2556
|
<span class="cline-any cline-no"> </span>
|
|
2352
2557
|
<span class="cline-any cline-no"> </span>
|
|
2353
2558
|
<span class="cline-any cline-no"> </span>
|
|
@@ -2374,9 +2579,9 @@
|
|
|
2374
2579
|
<span class="cline-any cline-neutral"> </span>
|
|
2375
2580
|
<span class="cline-any cline-neutral"> </span>
|
|
2376
2581
|
<span class="cline-any cline-neutral"> </span>
|
|
2377
|
-
<span class="cline-any cline-yes">
|
|
2582
|
+
<span class="cline-any cline-yes">2593x</span>
|
|
2378
2583
|
<span class="cline-any cline-neutral"> </span>
|
|
2379
|
-
<span class="cline-any cline-yes">
|
|
2584
|
+
<span class="cline-any cline-yes">2593x</span>
|
|
2380
2585
|
<span class="cline-any cline-neutral"> </span>
|
|
2381
2586
|
<span class="cline-any cline-no"> </span>
|
|
2382
2587
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2392,8 +2597,8 @@
|
|
|
2392
2597
|
<span class="cline-any cline-no"> </span>
|
|
2393
2598
|
<span class="cline-any cline-neutral"> </span>
|
|
2394
2599
|
<span class="cline-any cline-neutral"> </span>
|
|
2395
|
-
<span class="cline-any cline-yes">
|
|
2396
|
-
<span class="cline-any cline-yes">
|
|
2600
|
+
<span class="cline-any cline-yes">2593x</span>
|
|
2601
|
+
<span class="cline-any cline-yes">2593x</span>
|
|
2397
2602
|
<span class="cline-any cline-yes">3x</span>
|
|
2398
2603
|
<span class="cline-any cline-neutral"> </span>
|
|
2399
2604
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2402,12 +2607,12 @@
|
|
|
2402
2607
|
<span class="cline-any cline-yes">3x</span>
|
|
2403
2608
|
<span class="cline-any cline-neutral"> </span>
|
|
2404
2609
|
<span class="cline-any cline-neutral"> </span>
|
|
2405
|
-
<span class="cline-any cline-yes">
|
|
2610
|
+
<span class="cline-any cline-yes">2590x</span>
|
|
2406
2611
|
<span class="cline-any cline-no"> </span>
|
|
2407
2612
|
<span class="cline-any cline-neutral"> </span>
|
|
2408
2613
|
<span class="cline-any cline-neutral"> </span>
|
|
2409
|
-
<span class="cline-any cline-yes">
|
|
2410
|
-
<span class="cline-any cline-yes">
|
|
2614
|
+
<span class="cline-any cline-yes">2590x</span>
|
|
2615
|
+
<span class="cline-any cline-yes">2590x</span>
|
|
2411
2616
|
<span class="cline-any cline-yes">48x</span>
|
|
2412
2617
|
<span class="cline-any cline-yes">96x</span>
|
|
2413
2618
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2427,8 +2632,8 @@
|
|
|
2427
2632
|
<span class="cline-any cline-yes">48x</span>
|
|
2428
2633
|
<span class="cline-any cline-neutral"> </span>
|
|
2429
2634
|
<span class="cline-any cline-neutral"> </span>
|
|
2430
|
-
<span class="cline-any cline-yes">
|
|
2431
|
-
<span class="cline-any cline-yes">
|
|
2635
|
+
<span class="cline-any cline-yes">2542x</span>
|
|
2636
|
+
<span class="cline-any cline-yes">2542x</span>
|
|
2432
2637
|
<span class="cline-any cline-yes">36x</span>
|
|
2433
2638
|
<span class="cline-any cline-yes">3x</span>
|
|
2434
2639
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2439,8 +2644,8 @@
|
|
|
2439
2644
|
<span class="cline-any cline-yes">36x</span>
|
|
2440
2645
|
<span class="cline-any cline-neutral"> </span>
|
|
2441
2646
|
<span class="cline-any cline-neutral"> </span>
|
|
2442
|
-
<span class="cline-any cline-yes">
|
|
2443
|
-
<span class="cline-any cline-yes">
|
|
2647
|
+
<span class="cline-any cline-yes">2506x</span>
|
|
2648
|
+
<span class="cline-any cline-yes">2506x</span>
|
|
2444
2649
|
<span class="cline-any cline-yes">40x</span>
|
|
2445
2650
|
<span class="cline-any cline-yes">27x</span>
|
|
2446
2651
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -2453,7 +2658,7 @@
|
|
|
2453
2658
|
<span class="cline-any cline-neutral"> </span>
|
|
2454
2659
|
<span class="cline-any cline-neutral"> </span>
|
|
2455
2660
|
<span class="cline-any cline-neutral"> </span>
|
|
2456
|
-
<span class="cline-any cline-yes">
|
|
2661
|
+
<span class="cline-any cline-yes">2479x</span>
|
|
2457
2662
|
<span class="cline-any cline-no"> </span>
|
|
2458
2663
|
<span class="cline-any cline-neutral"> </span>
|
|
2459
2664
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2462,38 +2667,38 @@
|
|
|
2462
2667
|
<span class="cline-any cline-no"> </span>
|
|
2463
2668
|
<span class="cline-any cline-neutral"> </span>
|
|
2464
2669
|
<span class="cline-any cline-neutral"> </span>
|
|
2465
|
-
<span class="cline-any cline-yes">
|
|
2466
|
-
<span class="cline-any cline-yes">
|
|
2670
|
+
<span class="cline-any cline-yes">2479x</span>
|
|
2671
|
+
<span class="cline-any cline-yes">2479x</span>
|
|
2467
2672
|
<span class="cline-any cline-neutral"> </span>
|
|
2468
2673
|
<span class="cline-any cline-neutral"> </span>
|
|
2469
|
-
<span class="cline-any cline-yes">
|
|
2470
|
-
<span class="cline-any cline-yes">
|
|
2471
|
-
<span class="cline-any cline-
|
|
2674
|
+
<span class="cline-any cline-yes">2479x</span>
|
|
2675
|
+
<span class="cline-any cline-yes">1191x</span>
|
|
2676
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2472
2677
|
<span class="cline-any cline-neutral"> </span>
|
|
2473
2678
|
<span class="cline-any cline-neutral"> </span>
|
|
2474
2679
|
<span class="cline-any cline-neutral"> </span>
|
|
2475
2680
|
<span class="cline-any cline-neutral"> </span>
|
|
2476
|
-
<span class="cline-any cline-
|
|
2681
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2477
2682
|
<span class="cline-any cline-neutral"> </span>
|
|
2478
2683
|
<span class="cline-any cline-neutral"> </span>
|
|
2479
|
-
<span class="cline-any cline-yes">
|
|
2480
|
-
<span class="cline-any cline-yes">
|
|
2481
|
-
<span class="cline-any cline-yes">
|
|
2482
|
-
<span class="cline-any cline-yes">
|
|
2684
|
+
<span class="cline-any cline-yes">1190x</span>
|
|
2685
|
+
<span class="cline-any cline-yes">1190x</span>
|
|
2686
|
+
<span class="cline-any cline-yes">1190x</span>
|
|
2687
|
+
<span class="cline-any cline-yes">1190x</span>
|
|
2483
2688
|
<span class="cline-any cline-yes">1x</span>
|
|
2484
2689
|
<span class="cline-any cline-neutral"> </span>
|
|
2485
2690
|
<span class="cline-any cline-neutral"> </span>
|
|
2486
2691
|
<span class="cline-any cline-neutral"> </span>
|
|
2487
2692
|
<span class="cline-any cline-neutral"> </span>
|
|
2488
2693
|
<span class="cline-any cline-neutral"> </span>
|
|
2489
|
-
<span class="cline-any cline-yes">
|
|
2694
|
+
<span class="cline-any cline-yes">1190x</span>
|
|
2490
2695
|
<span class="cline-any cline-yes">2x</span>
|
|
2491
2696
|
<span class="cline-any cline-neutral"> </span>
|
|
2492
2697
|
<span class="cline-any cline-neutral"> </span>
|
|
2493
2698
|
<span class="cline-any cline-neutral"> </span>
|
|
2494
2699
|
<span class="cline-any cline-neutral"> </span>
|
|
2495
2700
|
<span class="cline-any cline-neutral"> </span>
|
|
2496
|
-
<span class="cline-any cline-yes">
|
|
2701
|
+
<span class="cline-any cline-yes">1190x</span>
|
|
2497
2702
|
<span class="cline-any cline-yes">73x</span>
|
|
2498
2703
|
<span class="cline-any cline-yes">73x</span>
|
|
2499
2704
|
<span class="cline-any cline-yes">4x</span>
|
|
@@ -2507,7 +2712,7 @@
|
|
|
2507
2712
|
<span class="cline-any cline-neutral"> </span>
|
|
2508
2713
|
<span class="cline-any cline-neutral"> </span>
|
|
2509
2714
|
<span class="cline-any cline-neutral"> </span>
|
|
2510
|
-
<span class="cline-any cline-yes">
|
|
2715
|
+
<span class="cline-any cline-yes">1190x</span>
|
|
2511
2716
|
<span class="cline-any cline-neutral"> </span>
|
|
2512
2717
|
<span class="cline-any cline-neutral"> </span>
|
|
2513
2718
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2518,12 +2723,12 @@
|
|
|
2518
2723
|
<span class="cline-any cline-neutral"> </span>
|
|
2519
2724
|
<span class="cline-any cline-neutral"> </span>
|
|
2520
2725
|
<span class="cline-any cline-neutral"> </span>
|
|
2521
|
-
<span class="cline-any cline-yes">
|
|
2726
|
+
<span class="cline-any cline-yes">1190x</span>
|
|
2522
2727
|
<span class="cline-any cline-neutral"> </span>
|
|
2523
2728
|
<span class="cline-any cline-neutral"> </span>
|
|
2524
2729
|
<span class="cline-any cline-neutral"> </span>
|
|
2525
|
-
<span class="cline-any cline-yes">
|
|
2526
|
-
<span class="cline-any cline-yes">
|
|
2730
|
+
<span class="cline-any cline-yes">1288x</span>
|
|
2731
|
+
<span class="cline-any cline-yes">240x</span>
|
|
2527
2732
|
<span class="cline-any cline-no"> </span>
|
|
2528
2733
|
<span class="cline-any cline-neutral"> </span>
|
|
2529
2734
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2531,7 +2736,7 @@
|
|
|
2531
2736
|
<span class="cline-any cline-neutral"> </span>
|
|
2532
2737
|
<span class="cline-any cline-no"> </span>
|
|
2533
2738
|
<span class="cline-any cline-neutral"> </span>
|
|
2534
|
-
<span class="cline-any cline-yes">
|
|
2739
|
+
<span class="cline-any cline-yes">240x</span>
|
|
2535
2740
|
<span class="cline-any cline-no"> </span>
|
|
2536
2741
|
<span class="cline-any cline-neutral"> </span>
|
|
2537
2742
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2539,7 +2744,7 @@
|
|
|
2539
2744
|
<span class="cline-any cline-neutral"> </span>
|
|
2540
2745
|
<span class="cline-any cline-no"> </span>
|
|
2541
2746
|
<span class="cline-any cline-neutral"> </span>
|
|
2542
|
-
<span class="cline-any cline-yes">
|
|
2747
|
+
<span class="cline-any cline-yes">240x</span>
|
|
2543
2748
|
<span class="cline-any cline-no"> </span>
|
|
2544
2749
|
<span class="cline-any cline-neutral"> </span>
|
|
2545
2750
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2547,27 +2752,27 @@
|
|
|
2547
2752
|
<span class="cline-any cline-neutral"> </span>
|
|
2548
2753
|
<span class="cline-any cline-no"> </span>
|
|
2549
2754
|
<span class="cline-any cline-neutral"> </span>
|
|
2550
|
-
<span class="cline-any cline-yes">
|
|
2551
|
-
<span class="cline-any cline-yes">
|
|
2552
|
-
<span class="cline-any cline-yes">
|
|
2755
|
+
<span class="cline-any cline-yes">240x</span>
|
|
2756
|
+
<span class="cline-any cline-yes">240x</span>
|
|
2757
|
+
<span class="cline-any cline-yes">240x</span>
|
|
2553
2758
|
<span class="cline-any cline-yes">2x</span>
|
|
2554
2759
|
<span class="cline-any cline-neutral"> </span>
|
|
2555
2760
|
<span class="cline-any cline-neutral"> </span>
|
|
2556
2761
|
<span class="cline-any cline-neutral"> </span>
|
|
2557
2762
|
<span class="cline-any cline-neutral"> </span>
|
|
2558
2763
|
<span class="cline-any cline-neutral"> </span>
|
|
2559
|
-
<span class="cline-any cline-yes">
|
|
2764
|
+
<span class="cline-any cline-yes">240x</span>
|
|
2560
2765
|
<span class="cline-any cline-yes">8x</span>
|
|
2561
2766
|
<span class="cline-any cline-neutral"> </span>
|
|
2562
2767
|
<span class="cline-any cline-neutral"> </span>
|
|
2563
2768
|
<span class="cline-any cline-neutral"> </span>
|
|
2564
2769
|
<span class="cline-any cline-neutral"> </span>
|
|
2565
2770
|
<span class="cline-any cline-neutral"> </span>
|
|
2566
|
-
<span class="cline-any cline-yes">
|
|
2771
|
+
<span class="cline-any cline-yes">240x</span>
|
|
2567
2772
|
<span class="cline-any cline-neutral"> </span>
|
|
2568
2773
|
<span class="cline-any cline-neutral"> </span>
|
|
2569
2774
|
<span class="cline-any cline-neutral"> </span>
|
|
2570
|
-
<span class="cline-any cline-yes">
|
|
2775
|
+
<span class="cline-any cline-yes">1048x</span>
|
|
2571
2776
|
<span class="cline-any cline-yes">126x</span>
|
|
2572
2777
|
<span class="cline-any cline-no"> </span>
|
|
2573
2778
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2604,20 +2809,20 @@
|
|
|
2604
2809
|
<span class="cline-any cline-neutral"> </span>
|
|
2605
2810
|
<span class="cline-any cline-neutral"> </span>
|
|
2606
2811
|
<span class="cline-any cline-neutral"> </span>
|
|
2607
|
-
<span class="cline-any cline-yes">
|
|
2608
|
-
<span class="cline-any cline-yes">
|
|
2812
|
+
<span class="cline-any cline-yes">922x</span>
|
|
2813
|
+
<span class="cline-any cline-yes">134x</span>
|
|
2609
2814
|
<span class="cline-any cline-no"> </span>
|
|
2610
2815
|
<span class="cline-any cline-neutral"> </span>
|
|
2611
2816
|
<span class="cline-any cline-neutral"> </span>
|
|
2612
2817
|
<span class="cline-any cline-neutral"> </span>
|
|
2613
2818
|
<span class="cline-any cline-neutral"> </span>
|
|
2614
2819
|
<span class="cline-any cline-neutral"> </span>
|
|
2615
|
-
<span class="cline-any cline-yes">
|
|
2820
|
+
<span class="cline-any cline-yes">134x</span>
|
|
2616
2821
|
<span class="cline-any cline-neutral"> </span>
|
|
2617
2822
|
<span class="cline-any cline-neutral"> </span>
|
|
2618
2823
|
<span class="cline-any cline-neutral"> </span>
|
|
2619
|
-
<span class="cline-any cline-yes">
|
|
2620
|
-
<span class="cline-any cline-yes">
|
|
2824
|
+
<span class="cline-any cline-yes">788x</span>
|
|
2825
|
+
<span class="cline-any cline-yes">218x</span>
|
|
2621
2826
|
<span class="cline-any cline-no"> </span>
|
|
2622
2827
|
<span class="cline-any cline-neutral"> </span>
|
|
2623
2828
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2625,7 +2830,7 @@
|
|
|
2625
2830
|
<span class="cline-any cline-neutral"> </span>
|
|
2626
2831
|
<span class="cline-any cline-no"> </span>
|
|
2627
2832
|
<span class="cline-any cline-neutral"> </span>
|
|
2628
|
-
<span class="cline-any cline-yes">
|
|
2833
|
+
<span class="cline-any cline-yes">218x</span>
|
|
2629
2834
|
<span class="cline-any cline-neutral"> </span>
|
|
2630
2835
|
<span class="cline-any cline-neutral"> </span>
|
|
2631
2836
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2640,12 +2845,12 @@
|
|
|
2640
2845
|
<span class="cline-any cline-neutral"> </span>
|
|
2641
2846
|
<span class="cline-any cline-neutral"> </span>
|
|
2642
2847
|
<span class="cline-any cline-neutral"> </span>
|
|
2643
|
-
<span class="cline-any cline-yes">
|
|
2848
|
+
<span class="cline-any cline-yes">218x</span>
|
|
2644
2849
|
<span class="cline-any cline-neutral"> </span>
|
|
2645
2850
|
<span class="cline-any cline-neutral"> </span>
|
|
2646
2851
|
<span class="cline-any cline-neutral"> </span>
|
|
2647
|
-
<span class="cline-any cline-yes">
|
|
2648
|
-
<span class="cline-any cline-yes">
|
|
2852
|
+
<span class="cline-any cline-yes">570x</span>
|
|
2853
|
+
<span class="cline-any cline-yes">566x</span>
|
|
2649
2854
|
<span class="cline-any cline-neutral"> </span>
|
|
2650
2855
|
<span class="cline-any cline-neutral"> </span>
|
|
2651
2856
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2657,7 +2862,7 @@
|
|
|
2657
2862
|
<span class="cline-any cline-neutral"> </span>
|
|
2658
2863
|
<span class="cline-any cline-no"> </span>
|
|
2659
2864
|
<span class="cline-any cline-neutral"> </span>
|
|
2660
|
-
<span class="cline-any cline-yes">
|
|
2865
|
+
<span class="cline-any cline-yes">566x</span>
|
|
2661
2866
|
<span class="cline-any cline-neutral"> </span>
|
|
2662
2867
|
<span class="cline-any cline-neutral"> </span>
|
|
2663
2868
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2670,7 +2875,7 @@
|
|
|
2670
2875
|
<span class="cline-any cline-neutral"> </span>
|
|
2671
2876
|
<span class="cline-any cline-neutral"> </span>
|
|
2672
2877
|
<span class="cline-any cline-neutral"> </span>
|
|
2673
|
-
<span class="cline-any cline-yes">
|
|
2878
|
+
<span class="cline-any cline-yes">566x</span>
|
|
2674
2879
|
<span class="cline-any cline-neutral"> </span>
|
|
2675
2880
|
<span class="cline-any cline-neutral"> </span>
|
|
2676
2881
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2728,13 +2933,13 @@
|
|
|
2728
2933
|
<span class="cline-any cline-neutral"> </span>
|
|
2729
2934
|
<span class="cline-any cline-neutral"> </span>
|
|
2730
2935
|
<span class="cline-any cline-neutral"> </span>
|
|
2731
|
-
<span class="cline-any cline-yes">
|
|
2732
|
-
<span class="cline-any cline-yes">
|
|
2936
|
+
<span class="cline-any cline-yes">711x</span>
|
|
2937
|
+
<span class="cline-any cline-yes">87x</span>
|
|
2733
2938
|
<span class="cline-any cline-neutral"> </span>
|
|
2734
2939
|
<span class="cline-any cline-neutral"> </span>
|
|
2735
2940
|
<span class="cline-any cline-neutral"> </span>
|
|
2736
2941
|
<span class="cline-any cline-neutral"> </span>
|
|
2737
|
-
<span class="cline-any cline-yes">
|
|
2942
|
+
<span class="cline-any cline-yes">87x</span>
|
|
2738
2943
|
<span class="cline-any cline-yes">4x</span>
|
|
2739
2944
|
<span class="cline-any cline-neutral"> </span>
|
|
2740
2945
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2742,8 +2947,8 @@
|
|
|
2742
2947
|
<span class="cline-any cline-neutral"> </span>
|
|
2743
2948
|
<span class="cline-any cline-yes">4x</span>
|
|
2744
2949
|
<span class="cline-any cline-neutral"> </span>
|
|
2745
|
-
<span class="cline-any cline-yes">
|
|
2746
|
-
<span class="cline-any cline-yes">
|
|
2950
|
+
<span class="cline-any cline-yes">83x</span>
|
|
2951
|
+
<span class="cline-any cline-yes">81x</span>
|
|
2747
2952
|
<span class="cline-any cline-neutral"> </span>
|
|
2748
2953
|
<span class="cline-any cline-neutral"> </span>
|
|
2749
2954
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2753,10 +2958,10 @@
|
|
|
2753
2958
|
<span class="cline-any cline-neutral"> </span>
|
|
2754
2959
|
<span class="cline-any cline-neutral"> </span>
|
|
2755
2960
|
<span class="cline-any cline-neutral"> </span>
|
|
2756
|
-
<span class="cline-any cline-yes">
|
|
2961
|
+
<span class="cline-any cline-yes">83x</span>
|
|
2757
2962
|
<span class="cline-any cline-neutral"> </span>
|
|
2758
|
-
<span class="cline-any cline-yes">
|
|
2759
|
-
<span class="cline-any cline-yes">
|
|
2963
|
+
<span class="cline-any cline-yes">624x</span>
|
|
2964
|
+
<span class="cline-any cline-yes">624x</span>
|
|
2760
2965
|
<span class="cline-any cline-yes">6x</span>
|
|
2761
2966
|
<span class="cline-any cline-neutral"> </span>
|
|
2762
2967
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2764,7 +2969,8 @@
|
|
|
2764
2969
|
<span class="cline-any cline-neutral"> </span>
|
|
2765
2970
|
<span class="cline-any cline-yes">6x</span>
|
|
2766
2971
|
<span class="cline-any cline-neutral"> </span>
|
|
2767
|
-
<span class="cline-any cline-yes">
|
|
2972
|
+
<span class="cline-any cline-yes">618x</span>
|
|
2973
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2768
2974
|
<span class="cline-any cline-neutral"> </span>
|
|
2769
2975
|
<span class="cline-any cline-neutral"> </span>
|
|
2770
2976
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2785,105 +2991,127 @@
|
|
|
2785
2991
|
<span class="cline-any cline-neutral"> </span>
|
|
2786
2992
|
<span class="cline-any cline-neutral"> </span>
|
|
2787
2993
|
<span class="cline-any cline-neutral"> </span>
|
|
2788
|
-
<span class="cline-any cline-yes">18x</span>
|
|
2789
2994
|
<span class="cline-any cline-neutral"> </span>
|
|
2790
|
-
<span class="cline-any cline-yes">18x</span>
|
|
2791
|
-
<span class="cline-any cline-yes">10x</span>
|
|
2792
|
-
<span class="cline-any cline-no"> </span>
|
|
2793
2995
|
<span class="cline-any cline-neutral"> </span>
|
|
2794
2996
|
<span class="cline-any cline-neutral"> </span>
|
|
2795
2997
|
<span class="cline-any cline-neutral"> </span>
|
|
2998
|
+
<span class="cline-any cline-yes">29x</span>
|
|
2999
|
+
<span class="cline-any cline-yes">59x</span>
|
|
3000
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2796
3001
|
<span class="cline-any cline-neutral"> </span>
|
|
2797
3002
|
<span class="cline-any cline-neutral"> </span>
|
|
2798
3003
|
<span class="cline-any cline-neutral"> </span>
|
|
2799
3004
|
<span class="cline-any cline-neutral"> </span>
|
|
2800
3005
|
<span class="cline-any cline-neutral"> </span>
|
|
2801
|
-
<span class="cline-any cline-yes">18x</span>
|
|
2802
|
-
<span class="cline-any cline-yes">6x</span>
|
|
2803
|
-
<span class="cline-any cline-yes">6x</span>
|
|
2804
3006
|
<span class="cline-any cline-neutral"> </span>
|
|
3007
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2805
3008
|
<span class="cline-any cline-neutral"> </span>
|
|
2806
3009
|
<span class="cline-any cline-neutral"> </span>
|
|
3010
|
+
<span class="cline-any cline-yes">58x</span>
|
|
3011
|
+
<span class="cline-any cline-yes">58x</span>
|
|
3012
|
+
<span class="cline-any cline-yes">2x</span>
|
|
2807
3013
|
<span class="cline-any cline-neutral"> </span>
|
|
2808
3014
|
<span class="cline-any cline-neutral"> </span>
|
|
2809
3015
|
<span class="cline-any cline-neutral"> </span>
|
|
2810
3016
|
<span class="cline-any cline-neutral"> </span>
|
|
3017
|
+
<span class="cline-any cline-yes">2x</span>
|
|
2811
3018
|
<span class="cline-any cline-neutral"> </span>
|
|
2812
3019
|
<span class="cline-any cline-neutral"> </span>
|
|
3020
|
+
<span class="cline-any cline-yes">56x</span>
|
|
3021
|
+
<span class="cline-any cline-yes">56x</span>
|
|
2813
3022
|
<span class="cline-any cline-neutral"> </span>
|
|
2814
3023
|
<span class="cline-any cline-neutral"> </span>
|
|
2815
3024
|
<span class="cline-any cline-neutral"> </span>
|
|
3025
|
+
<span class="cline-any cline-yes">56x</span>
|
|
3026
|
+
<span class="cline-any cline-yes">2x</span>
|
|
3027
|
+
<span class="cline-any cline-no"> </span>
|
|
2816
3028
|
<span class="cline-any cline-neutral"> </span>
|
|
2817
3029
|
<span class="cline-any cline-neutral"> </span>
|
|
2818
3030
|
<span class="cline-any cline-neutral"> </span>
|
|
2819
3031
|
<span class="cline-any cline-neutral"> </span>
|
|
3032
|
+
<span class="cline-any cline-no"> </span>
|
|
2820
3033
|
<span class="cline-any cline-neutral"> </span>
|
|
2821
3034
|
<span class="cline-any cline-neutral"> </span>
|
|
2822
3035
|
<span class="cline-any cline-neutral"> </span>
|
|
3036
|
+
<span class="cline-any cline-yes">56x</span>
|
|
3037
|
+
<span class="cline-any cline-yes">56x</span>
|
|
3038
|
+
<span class="cline-any cline-no"> </span>
|
|
2823
3039
|
<span class="cline-any cline-neutral"> </span>
|
|
2824
3040
|
<span class="cline-any cline-neutral"> </span>
|
|
3041
|
+
<span class="cline-any cline-yes">56x</span>
|
|
3042
|
+
<span class="cline-any cline-yes">81x</span>
|
|
3043
|
+
<span class="cline-any cline-yes">81x</span>
|
|
2825
3044
|
<span class="cline-any cline-neutral"> </span>
|
|
3045
|
+
<span class="cline-any cline-yes">81x</span>
|
|
2826
3046
|
<span class="cline-any cline-neutral"> </span>
|
|
2827
|
-
<span class="cline-any cline-yes">230x</span>
|
|
2828
3047
|
<span class="cline-any cline-neutral"> </span>
|
|
2829
|
-
<span class="cline-any cline-yes">285x</span>
|
|
2830
|
-
<span class="cline-any cline-yes">47x</span>
|
|
2831
|
-
<span class="cline-any cline-yes">428x</span>
|
|
2832
3048
|
<span class="cline-any cline-neutral"> </span>
|
|
2833
3049
|
<span class="cline-any cline-neutral"> </span>
|
|
3050
|
+
<span class="cline-any cline-yes">50x</span>
|
|
3051
|
+
<span class="cline-any cline-yes">50x</span>
|
|
2834
3052
|
<span class="cline-any cline-neutral"> </span>
|
|
3053
|
+
<span class="cline-any cline-yes">50x</span>
|
|
2835
3054
|
<span class="cline-any cline-neutral"> </span>
|
|
2836
3055
|
<span class="cline-any cline-neutral"> </span>
|
|
2837
3056
|
<span class="cline-any cline-neutral"> </span>
|
|
3057
|
+
<span class="cline-any cline-yes">68x</span>
|
|
2838
3058
|
<span class="cline-any cline-neutral"> </span>
|
|
2839
3059
|
<span class="cline-any cline-neutral"> </span>
|
|
3060
|
+
<span class="cline-any cline-yes">50x</span>
|
|
3061
|
+
<span class="cline-any cline-yes">48x</span>
|
|
3062
|
+
<span class="cline-any cline-yes">84x</span>
|
|
3063
|
+
<span class="cline-any cline-yes">84x</span>
|
|
2840
3064
|
<span class="cline-any cline-neutral"> </span>
|
|
2841
3065
|
<span class="cline-any cline-neutral"> </span>
|
|
2842
3066
|
<span class="cline-any cline-neutral"> </span>
|
|
2843
3067
|
<span class="cline-any cline-neutral"> </span>
|
|
2844
|
-
<span class="cline-any cline-yes">285x</span>
|
|
2845
|
-
<span class="cline-any cline-yes">2x</span>
|
|
2846
|
-
<span class="cline-any cline-no"> </span>
|
|
2847
3068
|
<span class="cline-any cline-neutral"> </span>
|
|
3069
|
+
<span class="cline-any cline-yes">84x</span>
|
|
3070
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2848
3071
|
<span class="cline-any cline-neutral"> </span>
|
|
2849
3072
|
<span class="cline-any cline-neutral"> </span>
|
|
2850
3073
|
<span class="cline-any cline-neutral"> </span>
|
|
2851
3074
|
<span class="cline-any cline-neutral"> </span>
|
|
2852
3075
|
<span class="cline-any cline-neutral"> </span>
|
|
2853
|
-
<span class="cline-any cline-yes">2x</span>
|
|
2854
|
-
<span class="cline-any cline-yes">2x</span>
|
|
2855
3076
|
<span class="cline-any cline-neutral"> </span>
|
|
3077
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2856
3078
|
<span class="cline-any cline-neutral"> </span>
|
|
2857
|
-
<span class="cline-any cline-yes">2x</span>
|
|
2858
|
-
<span class="cline-any cline-no"> </span>
|
|
2859
3079
|
<span class="cline-any cline-neutral"> </span>
|
|
3080
|
+
<span class="cline-any cline-yes">83x</span>
|
|
3081
|
+
<span class="cline-any cline-yes">3x</span>
|
|
3082
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2860
3083
|
<span class="cline-any cline-neutral"> </span>
|
|
2861
3084
|
<span class="cline-any cline-neutral"> </span>
|
|
2862
3085
|
<span class="cline-any cline-neutral"> </span>
|
|
2863
3086
|
<span class="cline-any cline-neutral"> </span>
|
|
2864
3087
|
<span class="cline-any cline-neutral"> </span>
|
|
3088
|
+
<span class="cline-any cline-yes">3x</span>
|
|
2865
3089
|
<span class="cline-any cline-neutral"> </span>
|
|
2866
3090
|
<span class="cline-any cline-neutral"> </span>
|
|
2867
3091
|
<span class="cline-any cline-neutral"> </span>
|
|
2868
|
-
<span class="cline-any cline-yes">
|
|
2869
|
-
<span class="cline-any cline-yes">4x</span>
|
|
3092
|
+
<span class="cline-any cline-yes">80x</span>
|
|
2870
3093
|
<span class="cline-any cline-neutral"> </span>
|
|
2871
3094
|
<span class="cline-any cline-neutral"> </span>
|
|
2872
|
-
<span class="cline-any cline-
|
|
3095
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3096
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3097
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3098
|
+
<span class="cline-any cline-yes">80x</span>
|
|
3099
|
+
<span class="cline-any cline-yes">80x</span>
|
|
2873
3100
|
<span class="cline-any cline-no"> </span>
|
|
2874
3101
|
<span class="cline-any cline-neutral"> </span>
|
|
2875
3102
|
<span class="cline-any cline-neutral"> </span>
|
|
3103
|
+
<span class="cline-any cline-yes">80x</span>
|
|
3104
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3105
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3106
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2876
3107
|
<span class="cline-any cline-neutral"> </span>
|
|
2877
3108
|
<span class="cline-any cline-neutral"> </span>
|
|
2878
3109
|
<span class="cline-any cline-neutral"> </span>
|
|
2879
3110
|
<span class="cline-any cline-neutral"> </span>
|
|
2880
3111
|
<span class="cline-any cline-neutral"> </span>
|
|
2881
|
-
<span class="cline-any cline-yes">2x</span>
|
|
2882
|
-
<span class="cline-any cline-yes">4x</span>
|
|
2883
3112
|
<span class="cline-any cline-neutral"> </span>
|
|
2884
3113
|
<span class="cline-any cline-neutral"> </span>
|
|
2885
3114
|
<span class="cline-any cline-yes">2x</span>
|
|
2886
|
-
<span class="cline-any cline-no"> </span>
|
|
2887
3115
|
<span class="cline-any cline-neutral"> </span>
|
|
2888
3116
|
<span class="cline-any cline-neutral"> </span>
|
|
2889
3117
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2892,11 +3120,9 @@
|
|
|
2892
3120
|
<span class="cline-any cline-neutral"> </span>
|
|
2893
3121
|
<span class="cline-any cline-neutral"> </span>
|
|
2894
3122
|
<span class="cline-any cline-neutral"> </span>
|
|
2895
|
-
<span class="cline-any cline-yes">4x</span>
|
|
2896
3123
|
<span class="cline-any cline-neutral"> </span>
|
|
2897
|
-
<span class="cline-any cline-yes">2x</span>
|
|
2898
|
-
<span class="cline-any cline-no"> </span>
|
|
2899
3124
|
<span class="cline-any cline-neutral"> </span>
|
|
3125
|
+
<span class="cline-any cline-yes">31x</span>
|
|
2900
3126
|
<span class="cline-any cline-neutral"> </span>
|
|
2901
3127
|
<span class="cline-any cline-neutral"> </span>
|
|
2902
3128
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2906,7 +3132,6 @@
|
|
|
2906
3132
|
<span class="cline-any cline-neutral"> </span>
|
|
2907
3133
|
<span class="cline-any cline-neutral"> </span>
|
|
2908
3134
|
<span class="cline-any cline-neutral"> </span>
|
|
2909
|
-
<span class="cline-any cline-yes">2x</span>
|
|
2910
3135
|
<span class="cline-any cline-neutral"> </span>
|
|
2911
3136
|
<span class="cline-any cline-neutral"> </span>
|
|
2912
3137
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2915,46 +3140,42 @@
|
|
|
2915
3140
|
<span class="cline-any cline-neutral"> </span>
|
|
2916
3141
|
<span class="cline-any cline-neutral"> </span>
|
|
2917
3142
|
<span class="cline-any cline-neutral"> </span>
|
|
2918
|
-
<span class="cline-any cline-yes">73x</span>
|
|
2919
|
-
<span class="cline-any cline-yes">73x</span>
|
|
2920
|
-
<span class="cline-any cline-yes">73x</span>
|
|
2921
3143
|
<span class="cline-any cline-neutral"> </span>
|
|
2922
|
-
<span class="cline-any cline-yes">73x</span>
|
|
2923
3144
|
<span class="cline-any cline-neutral"> </span>
|
|
2924
|
-
<span class="cline-any cline-
|
|
2925
|
-
<span class="cline-any cline-
|
|
3145
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3146
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3147
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3148
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3149
|
+
<span class="cline-any cline-yes">18x</span>
|
|
3150
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3151
|
+
<span class="cline-any cline-yes">18x</span>
|
|
3152
|
+
<span class="cline-any cline-yes">10x</span>
|
|
2926
3153
|
<span class="cline-any cline-no"> </span>
|
|
2927
3154
|
<span class="cline-any cline-neutral"> </span>
|
|
2928
3155
|
<span class="cline-any cline-neutral"> </span>
|
|
2929
3156
|
<span class="cline-any cline-neutral"> </span>
|
|
2930
3157
|
<span class="cline-any cline-neutral"> </span>
|
|
2931
|
-
<span class="cline-any cline-yes">73x</span>
|
|
2932
3158
|
<span class="cline-any cline-neutral"> </span>
|
|
2933
3159
|
<span class="cline-any cline-neutral"> </span>
|
|
2934
|
-
<span class="cline-any cline-yes">20x</span>
|
|
2935
3160
|
<span class="cline-any cline-neutral"> </span>
|
|
2936
3161
|
<span class="cline-any cline-neutral"> </span>
|
|
3162
|
+
<span class="cline-any cline-yes">18x</span>
|
|
3163
|
+
<span class="cline-any cline-yes">6x</span>
|
|
3164
|
+
<span class="cline-any cline-yes">6x</span>
|
|
2937
3165
|
<span class="cline-any cline-neutral"> </span>
|
|
2938
3166
|
<span class="cline-any cline-neutral"> </span>
|
|
2939
|
-
<span class="cline-any cline-yes">32x</span>
|
|
2940
3167
|
<span class="cline-any cline-neutral"> </span>
|
|
2941
3168
|
<span class="cline-any cline-neutral"> </span>
|
|
2942
3169
|
<span class="cline-any cline-neutral"> </span>
|
|
2943
3170
|
<span class="cline-any cline-neutral"> </span>
|
|
2944
|
-
<span class="cline-any cline-yes">2x</span>
|
|
2945
3171
|
<span class="cline-any cline-neutral"> </span>
|
|
2946
3172
|
<span class="cline-any cline-neutral"> </span>
|
|
2947
3173
|
<span class="cline-any cline-neutral"> </span>
|
|
2948
3174
|
<span class="cline-any cline-neutral"> </span>
|
|
2949
|
-
<span class="cline-any cline-yes">73x</span>
|
|
2950
3175
|
<span class="cline-any cline-neutral"> </span>
|
|
2951
|
-
<span class="cline-any cline-yes">73x</span>
|
|
2952
3176
|
<span class="cline-any cline-neutral"> </span>
|
|
2953
|
-
<span class="cline-any cline-yes">73x</span>
|
|
2954
|
-
<span class="cline-any cline-yes">4x</span>
|
|
2955
3177
|
<span class="cline-any cline-neutral"> </span>
|
|
2956
3178
|
<span class="cline-any cline-neutral"> </span>
|
|
2957
|
-
<span class="cline-any cline-yes">73x</span>
|
|
2958
3179
|
<span class="cline-any cline-neutral"> </span>
|
|
2959
3180
|
<span class="cline-any cline-neutral"> </span>
|
|
2960
3181
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2964,7 +3185,11 @@
|
|
|
2964
3185
|
<span class="cline-any cline-neutral"> </span>
|
|
2965
3186
|
<span class="cline-any cline-neutral"> </span>
|
|
2966
3187
|
<span class="cline-any cline-neutral"> </span>
|
|
3188
|
+
<span class="cline-any cline-yes">260x</span>
|
|
2967
3189
|
<span class="cline-any cline-neutral"> </span>
|
|
3190
|
+
<span class="cline-any cline-yes">321x</span>
|
|
3191
|
+
<span class="cline-any cline-yes">51x</span>
|
|
3192
|
+
<span class="cline-any cline-yes">450x</span>
|
|
2968
3193
|
<span class="cline-any cline-neutral"> </span>
|
|
2969
3194
|
<span class="cline-any cline-neutral"> </span>
|
|
2970
3195
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2973,19 +3198,24 @@
|
|
|
2973
3198
|
<span class="cline-any cline-neutral"> </span>
|
|
2974
3199
|
<span class="cline-any cline-neutral"> </span>
|
|
2975
3200
|
<span class="cline-any cline-neutral"> </span>
|
|
2976
|
-
<span class="cline-any cline-yes">231x</span>
|
|
2977
|
-
<span class="cline-any cline-no"> </span>
|
|
2978
3201
|
<span class="cline-any cline-neutral"> </span>
|
|
2979
3202
|
<span class="cline-any cline-neutral"> </span>
|
|
2980
3203
|
<span class="cline-any cline-neutral"> </span>
|
|
2981
3204
|
<span class="cline-any cline-neutral"> </span>
|
|
3205
|
+
<span class="cline-any cline-yes">321x</span>
|
|
3206
|
+
<span class="cline-any cline-yes">9x</span>
|
|
2982
3207
|
<span class="cline-any cline-neutral"> </span>
|
|
2983
3208
|
<span class="cline-any cline-neutral"> </span>
|
|
2984
3209
|
<span class="cline-any cline-neutral"> </span>
|
|
2985
|
-
<span class="cline-any cline-yes">286x</span>
|
|
2986
|
-
<span class="cline-any cline-yes">231x</span>
|
|
2987
3210
|
<span class="cline-any cline-neutral"> </span>
|
|
2988
|
-
<span class="cline-any cline-
|
|
3211
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3212
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3213
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3214
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3215
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3216
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3217
|
+
<span class="cline-any cline-yes">321x</span>
|
|
3218
|
+
<span class="cline-any cline-yes">2x</span>
|
|
2989
3219
|
<span class="cline-any cline-no"> </span>
|
|
2990
3220
|
<span class="cline-any cline-neutral"> </span>
|
|
2991
3221
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2993,25 +3223,27 @@
|
|
|
2993
3223
|
<span class="cline-any cline-neutral"> </span>
|
|
2994
3224
|
<span class="cline-any cline-neutral"> </span>
|
|
2995
3225
|
<span class="cline-any cline-neutral"> </span>
|
|
2996
|
-
<span class="cline-any cline-yes">
|
|
2997
|
-
<span class="cline-any cline-yes">
|
|
3226
|
+
<span class="cline-any cline-yes">2x</span>
|
|
3227
|
+
<span class="cline-any cline-yes">2x</span>
|
|
2998
3228
|
<span class="cline-any cline-neutral"> </span>
|
|
2999
3229
|
<span class="cline-any cline-neutral"> </span>
|
|
3000
|
-
<span class="cline-any cline-
|
|
3230
|
+
<span class="cline-any cline-yes">2x</span>
|
|
3001
3231
|
<span class="cline-any cline-no"> </span>
|
|
3002
3232
|
<span class="cline-any cline-neutral"> </span>
|
|
3003
|
-
<span class="cline-any cline-no"> </span>
|
|
3004
3233
|
<span class="cline-any cline-neutral"> </span>
|
|
3005
3234
|
<span class="cline-any cline-neutral"> </span>
|
|
3006
3235
|
<span class="cline-any cline-neutral"> </span>
|
|
3007
3236
|
<span class="cline-any cline-neutral"> </span>
|
|
3008
|
-
<span class="cline-any cline-yes">73x</span>
|
|
3009
3237
|
<span class="cline-any cline-neutral"> </span>
|
|
3010
3238
|
<span class="cline-any cline-neutral"> </span>
|
|
3011
3239
|
<span class="cline-any cline-neutral"> </span>
|
|
3012
3240
|
<span class="cline-any cline-neutral"> </span>
|
|
3241
|
+
<span class="cline-any cline-yes">2x</span>
|
|
3242
|
+
<span class="cline-any cline-yes">4x</span>
|
|
3013
3243
|
<span class="cline-any cline-neutral"> </span>
|
|
3014
3244
|
<span class="cline-any cline-neutral"> </span>
|
|
3245
|
+
<span class="cline-any cline-yes">2x</span>
|
|
3246
|
+
<span class="cline-any cline-no"> </span>
|
|
3015
3247
|
<span class="cline-any cline-neutral"> </span>
|
|
3016
3248
|
<span class="cline-any cline-neutral"> </span>
|
|
3017
3249
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -3019,8 +3251,12 @@
|
|
|
3019
3251
|
<span class="cline-any cline-neutral"> </span>
|
|
3020
3252
|
<span class="cline-any cline-neutral"> </span>
|
|
3021
3253
|
<span class="cline-any cline-neutral"> </span>
|
|
3254
|
+
<span class="cline-any cline-yes">2x</span>
|
|
3255
|
+
<span class="cline-any cline-yes">4x</span>
|
|
3022
3256
|
<span class="cline-any cline-neutral"> </span>
|
|
3023
3257
|
<span class="cline-any cline-neutral"> </span>
|
|
3258
|
+
<span class="cline-any cline-yes">2x</span>
|
|
3259
|
+
<span class="cline-any cline-no"> </span>
|
|
3024
3260
|
<span class="cline-any cline-neutral"> </span>
|
|
3025
3261
|
<span class="cline-any cline-neutral"> </span>
|
|
3026
3262
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -3028,55 +3264,75 @@
|
|
|
3028
3264
|
<span class="cline-any cline-neutral"> </span>
|
|
3029
3265
|
<span class="cline-any cline-neutral"> </span>
|
|
3030
3266
|
<span class="cline-any cline-neutral"> </span>
|
|
3031
|
-
<span class="cline-any cline-
|
|
3032
|
-
<span class="cline-any cline-yes">
|
|
3033
|
-
<span class="cline-any cline-
|
|
3267
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3268
|
+
<span class="cline-any cline-yes">4x</span>
|
|
3269
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3270
|
+
<span class="cline-any cline-yes">2x</span>
|
|
3271
|
+
<span class="cline-any cline-no"> </span>
|
|
3272
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3273
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3274
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3275
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3276
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3277
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3034
3278
|
<span class="cline-any cline-neutral"> </span>
|
|
3035
3279
|
<span class="cline-any cline-neutral"> </span>
|
|
3036
3280
|
<span class="cline-any cline-neutral"> </span>
|
|
3037
3281
|
<span class="cline-any cline-neutral"> </span>
|
|
3038
|
-
<span class="cline-any cline-yes">73x</span>
|
|
3039
3282
|
<span class="cline-any cline-yes">2x</span>
|
|
3040
|
-
<span class="cline-any cline-no"> </span>
|
|
3041
3283
|
<span class="cline-any cline-neutral"> </span>
|
|
3042
3284
|
<span class="cline-any cline-neutral"> </span>
|
|
3043
3285
|
<span class="cline-any cline-neutral"> </span>
|
|
3044
3286
|
<span class="cline-any cline-neutral"> </span>
|
|
3045
|
-
<span class="cline-any cline-yes">73x</span>
|
|
3046
3287
|
<span class="cline-any cline-neutral"> </span>
|
|
3047
|
-
<span class="cline-any cline-yes">73x</span>
|
|
3048
3288
|
<span class="cline-any cline-neutral"> </span>
|
|
3049
3289
|
<span class="cline-any cline-neutral"> </span>
|
|
3050
3290
|
<span class="cline-any cline-neutral"> </span>
|
|
3291
|
+
<span class="cline-any cline-yes">86x</span>
|
|
3292
|
+
<span class="cline-any cline-yes">86x</span>
|
|
3293
|
+
<span class="cline-any cline-yes">86x</span>
|
|
3294
|
+
<span class="cline-any cline-yes">86x</span>
|
|
3295
|
+
<span class="cline-any cline-yes">86x</span>
|
|
3051
3296
|
<span class="cline-any cline-neutral"> </span>
|
|
3052
3297
|
<span class="cline-any cline-neutral"> </span>
|
|
3053
3298
|
<span class="cline-any cline-neutral"> </span>
|
|
3054
3299
|
<span class="cline-any cline-neutral"> </span>
|
|
3300
|
+
<span class="cline-any cline-yes">86x</span>
|
|
3055
3301
|
<span class="cline-any cline-neutral"> </span>
|
|
3056
|
-
<span class="cline-any cline-yes">
|
|
3302
|
+
<span class="cline-any cline-yes">86x</span>
|
|
3303
|
+
<span class="cline-any cline-yes">424x</span>
|
|
3057
3304
|
<span class="cline-any cline-no"> </span>
|
|
3058
3305
|
<span class="cline-any cline-neutral"> </span>
|
|
3059
3306
|
<span class="cline-any cline-neutral"> </span>
|
|
3060
3307
|
<span class="cline-any cline-neutral"> </span>
|
|
3061
3308
|
<span class="cline-any cline-neutral"> </span>
|
|
3309
|
+
<span class="cline-any cline-yes">86x</span>
|
|
3062
3310
|
<span class="cline-any cline-neutral"> </span>
|
|
3063
3311
|
<span class="cline-any cline-neutral"> </span>
|
|
3064
|
-
<span class="cline-any cline-yes">
|
|
3312
|
+
<span class="cline-any cline-yes">20x</span>
|
|
3065
3313
|
<span class="cline-any cline-neutral"> </span>
|
|
3066
|
-
<span class="cline-any cline-no"> </span>
|
|
3067
3314
|
<span class="cline-any cline-neutral"> </span>
|
|
3068
3315
|
<span class="cline-any cline-neutral"> </span>
|
|
3069
3316
|
<span class="cline-any cline-neutral"> </span>
|
|
3317
|
+
<span class="cline-any cline-yes">32x</span>
|
|
3318
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3319
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3070
3320
|
<span class="cline-any cline-neutral"> </span>
|
|
3071
3321
|
<span class="cline-any cline-neutral"> </span>
|
|
3322
|
+
<span class="cline-any cline-yes">2x</span>
|
|
3072
3323
|
<span class="cline-any cline-neutral"> </span>
|
|
3073
3324
|
<span class="cline-any cline-neutral"> </span>
|
|
3074
3325
|
<span class="cline-any cline-neutral"> </span>
|
|
3075
3326
|
<span class="cline-any cline-neutral"> </span>
|
|
3327
|
+
<span class="cline-any cline-yes">86x</span>
|
|
3076
3328
|
<span class="cline-any cline-neutral"> </span>
|
|
3329
|
+
<span class="cline-any cline-yes">86x</span>
|
|
3077
3330
|
<span class="cline-any cline-neutral"> </span>
|
|
3331
|
+
<span class="cline-any cline-yes">86x</span>
|
|
3332
|
+
<span class="cline-any cline-yes">4x</span>
|
|
3078
3333
|
<span class="cline-any cline-neutral"> </span>
|
|
3079
3334
|
<span class="cline-any cline-neutral"> </span>
|
|
3335
|
+
<span class="cline-any cline-yes">86x</span>
|
|
3080
3336
|
<span class="cline-any cline-neutral"> </span>
|
|
3081
3337
|
<span class="cline-any cline-neutral"> </span>
|
|
3082
3338
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -3102,8 +3358,6 @@
|
|
|
3102
3358
|
<span class="cline-any cline-neutral"> </span>
|
|
3103
3359
|
<span class="cline-any cline-neutral"> </span>
|
|
3104
3360
|
<span class="cline-any cline-neutral"> </span>
|
|
3105
|
-
<span class="cline-any cline-yes">58x</span>
|
|
3106
|
-
<span class="cline-any cline-yes">2x</span>
|
|
3107
3361
|
<span class="cline-any cline-neutral"> </span>
|
|
3108
3362
|
<span class="cline-any cline-neutral"> </span>
|
|
3109
3363
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -3117,6 +3371,8 @@
|
|
|
3117
3371
|
<span class="cline-any cline-neutral"> </span>
|
|
3118
3372
|
<span class="cline-any cline-neutral"> </span>
|
|
3119
3373
|
<span class="cline-any cline-neutral"> </span>
|
|
3374
|
+
<span class="cline-any cline-yes">261x</span>
|
|
3375
|
+
<span class="cline-any cline-no"> </span>
|
|
3120
3376
|
<span class="cline-any cline-neutral"> </span>
|
|
3121
3377
|
<span class="cline-any cline-neutral"> </span>
|
|
3122
3378
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -3124,42 +3380,43 @@
|
|
|
3124
3380
|
<span class="cline-any cline-neutral"> </span>
|
|
3125
3381
|
<span class="cline-any cline-neutral"> </span>
|
|
3126
3382
|
<span class="cline-any cline-neutral"> </span>
|
|
3383
|
+
<span class="cline-any cline-yes">322x</span>
|
|
3384
|
+
<span class="cline-any cline-yes">261x</span>
|
|
3127
3385
|
<span class="cline-any cline-neutral"> </span>
|
|
3386
|
+
<span class="cline-any cline-no"> </span>
|
|
3387
|
+
<span class="cline-any cline-no"> </span>
|
|
3128
3388
|
<span class="cline-any cline-neutral"> </span>
|
|
3129
3389
|
<span class="cline-any cline-neutral"> </span>
|
|
3130
3390
|
<span class="cline-any cline-neutral"> </span>
|
|
3131
3391
|
<span class="cline-any cline-neutral"> </span>
|
|
3132
3392
|
<span class="cline-any cline-neutral"> </span>
|
|
3133
3393
|
<span class="cline-any cline-neutral"> </span>
|
|
3394
|
+
<span class="cline-any cline-yes">261x</span>
|
|
3395
|
+
<span class="cline-any cline-yes">261x</span>
|
|
3134
3396
|
<span class="cline-any cline-neutral"> </span>
|
|
3135
3397
|
<span class="cline-any cline-neutral"> </span>
|
|
3136
|
-
<span class="cline-any cline-
|
|
3398
|
+
<span class="cline-any cline-no"> </span>
|
|
3399
|
+
<span class="cline-any cline-no"> </span>
|
|
3137
3400
|
<span class="cline-any cline-neutral"> </span>
|
|
3138
|
-
<span class="cline-any cline-
|
|
3401
|
+
<span class="cline-any cline-no"> </span>
|
|
3139
3402
|
<span class="cline-any cline-neutral"> </span>
|
|
3140
3403
|
<span class="cline-any cline-neutral"> </span>
|
|
3141
3404
|
<span class="cline-any cline-neutral"> </span>
|
|
3142
|
-
<span class="cline-any cline-yes">264x</span>
|
|
3143
3405
|
<span class="cline-any cline-neutral"> </span>
|
|
3406
|
+
<span class="cline-any cline-yes">86x</span>
|
|
3144
3407
|
<span class="cline-any cline-neutral"> </span>
|
|
3145
|
-
<span class="cline-any cline-yes">264x</span>
|
|
3146
|
-
<span class="cline-any cline-yes">1x</span>
|
|
3147
3408
|
<span class="cline-any cline-neutral"> </span>
|
|
3148
3409
|
<span class="cline-any cline-neutral"> </span>
|
|
3149
3410
|
<span class="cline-any cline-neutral"> </span>
|
|
3150
3411
|
<span class="cline-any cline-neutral"> </span>
|
|
3151
3412
|
<span class="cline-any cline-neutral"> </span>
|
|
3152
|
-
<span class="cline-any cline-yes">1x</span>
|
|
3153
3413
|
<span class="cline-any cline-neutral"> </span>
|
|
3154
|
-
<span class="cline-any cline-yes">263x</span>
|
|
3155
3414
|
<span class="cline-any cline-neutral"> </span>
|
|
3156
|
-
<span class="cline-any cline-yes">57x</span>
|
|
3157
3415
|
<span class="cline-any cline-neutral"> </span>
|
|
3158
3416
|
<span class="cline-any cline-neutral"> </span>
|
|
3159
3417
|
<span class="cline-any cline-neutral"> </span>
|
|
3160
3418
|
<span class="cline-any cline-neutral"> </span>
|
|
3161
3419
|
<span class="cline-any cline-neutral"> </span>
|
|
3162
|
-
<span class="cline-any cline-yes">57x</span>
|
|
3163
3420
|
<span class="cline-any cline-neutral"> </span>
|
|
3164
3421
|
<span class="cline-any cline-neutral"> </span>
|
|
3165
3422
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -3167,44 +3424,46 @@
|
|
|
3167
3424
|
<span class="cline-any cline-neutral"> </span>
|
|
3168
3425
|
<span class="cline-any cline-neutral"> </span>
|
|
3169
3426
|
<span class="cline-any cline-neutral"> </span>
|
|
3170
|
-
<span class="cline-any cline-yes">57x</span>
|
|
3171
|
-
<span class="cline-any cline-no"> </span>
|
|
3172
3427
|
<span class="cline-any cline-neutral"> </span>
|
|
3173
3428
|
<span class="cline-any cline-neutral"> </span>
|
|
3429
|
+
<span class="cline-any cline-yes">86x</span>
|
|
3430
|
+
<span class="cline-any cline-yes">133x</span>
|
|
3431
|
+
<span class="cline-any cline-yes">1x</span>
|
|
3174
3432
|
<span class="cline-any cline-neutral"> </span>
|
|
3175
3433
|
<span class="cline-any cline-neutral"> </span>
|
|
3176
3434
|
<span class="cline-any cline-neutral"> </span>
|
|
3177
3435
|
<span class="cline-any cline-neutral"> </span>
|
|
3178
|
-
<span class="cline-any cline-yes">
|
|
3436
|
+
<span class="cline-any cline-yes">86x</span>
|
|
3437
|
+
<span class="cline-any cline-yes">2x</span>
|
|
3179
3438
|
<span class="cline-any cline-no"> </span>
|
|
3180
3439
|
<span class="cline-any cline-neutral"> </span>
|
|
3181
3440
|
<span class="cline-any cline-neutral"> </span>
|
|
3182
3441
|
<span class="cline-any cline-neutral"> </span>
|
|
3183
3442
|
<span class="cline-any cline-neutral"> </span>
|
|
3443
|
+
<span class="cline-any cline-yes">86x</span>
|
|
3184
3444
|
<span class="cline-any cline-neutral"> </span>
|
|
3445
|
+
<span class="cline-any cline-yes">86x</span>
|
|
3185
3446
|
<span class="cline-any cline-neutral"> </span>
|
|
3186
|
-
<span class="cline-any cline-yes">57x</span>
|
|
3187
3447
|
<span class="cline-any cline-neutral"> </span>
|
|
3188
|
-
<span class="cline-any cline-yes">206x</span>
|
|
3189
|
-
<span class="cline-any cline-no"> </span>
|
|
3190
3448
|
<span class="cline-any cline-neutral"> </span>
|
|
3191
3449
|
<span class="cline-any cline-neutral"> </span>
|
|
3192
3450
|
<span class="cline-any cline-neutral"> </span>
|
|
3193
3451
|
<span class="cline-any cline-neutral"> </span>
|
|
3194
3452
|
<span class="cline-any cline-neutral"> </span>
|
|
3195
|
-
<span class="cline-any cline-no"> </span>
|
|
3196
3453
|
<span class="cline-any cline-neutral"> </span>
|
|
3197
|
-
<span class="cline-any cline-yes">
|
|
3454
|
+
<span class="cline-any cline-yes">141x</span>
|
|
3198
3455
|
<span class="cline-any cline-no"> </span>
|
|
3199
3456
|
<span class="cline-any cline-neutral"> </span>
|
|
3200
3457
|
<span class="cline-any cline-neutral"> </span>
|
|
3201
3458
|
<span class="cline-any cline-neutral"> </span>
|
|
3202
3459
|
<span class="cline-any cline-neutral"> </span>
|
|
3203
3460
|
<span class="cline-any cline-neutral"> </span>
|
|
3461
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3462
|
+
<span class="cline-any cline-yes">131x</span>
|
|
3463
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3204
3464
|
<span class="cline-any cline-no"> </span>
|
|
3205
3465
|
<span class="cline-any cline-neutral"> </span>
|
|
3206
3466
|
<span class="cline-any cline-neutral"> </span>
|
|
3207
|
-
<span class="cline-any cline-yes">206x</span>
|
|
3208
3467
|
<span class="cline-any cline-neutral"> </span>
|
|
3209
3468
|
<span class="cline-any cline-neutral"> </span>
|
|
3210
3469
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -3241,6 +3500,8 @@
|
|
|
3241
3500
|
<span class="cline-any cline-neutral"> </span>
|
|
3242
3501
|
<span class="cline-any cline-neutral"> </span>
|
|
3243
3502
|
<span class="cline-any cline-neutral"> </span>
|
|
3503
|
+
<span class="cline-any cline-yes">59x</span>
|
|
3504
|
+
<span class="cline-any cline-yes">2x</span>
|
|
3244
3505
|
<span class="cline-any cline-neutral"> </span>
|
|
3245
3506
|
<span class="cline-any cline-neutral"> </span>
|
|
3246
3507
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -3249,11 +3510,7 @@
|
|
|
3249
3510
|
<span class="cline-any cline-neutral"> </span>
|
|
3250
3511
|
<span class="cline-any cline-neutral"> </span>
|
|
3251
3512
|
<span class="cline-any cline-neutral"> </span>
|
|
3252
|
-
<span class="cline-any cline-yes">74x</span>
|
|
3253
|
-
<span class="cline-any cline-yes">35x</span>
|
|
3254
3513
|
<span class="cline-any cline-neutral"> </span>
|
|
3255
|
-
<span class="cline-any cline-no"> </span>
|
|
3256
|
-
<span class="cline-any cline-no"> </span>
|
|
3257
3514
|
<span class="cline-any cline-neutral"> </span>
|
|
3258
3515
|
<span class="cline-any cline-neutral"> </span>
|
|
3259
3516
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -3275,103 +3532,94 @@
|
|
|
3275
3532
|
<span class="cline-any cline-neutral"> </span>
|
|
3276
3533
|
<span class="cline-any cline-neutral"> </span>
|
|
3277
3534
|
<span class="cline-any cline-neutral"> </span>
|
|
3535
|
+
<span class="cline-any cline-yes">297x</span>
|
|
3278
3536
|
<span class="cline-any cline-neutral"> </span>
|
|
3279
|
-
<span class="cline-any cline-yes">
|
|
3280
|
-
<span class="cline-any cline-yes">2x</span>
|
|
3281
|
-
<span class="cline-any cline-no"> </span>
|
|
3537
|
+
<span class="cline-any cline-yes">297x</span>
|
|
3282
3538
|
<span class="cline-any cline-neutral"> </span>
|
|
3283
3539
|
<span class="cline-any cline-neutral"> </span>
|
|
3284
3540
|
<span class="cline-any cline-neutral"> </span>
|
|
3541
|
+
<span class="cline-any cline-yes">297x</span>
|
|
3285
3542
|
<span class="cline-any cline-neutral"> </span>
|
|
3286
3543
|
<span class="cline-any cline-neutral"> </span>
|
|
3287
|
-
<span class="cline-any cline-yes">
|
|
3544
|
+
<span class="cline-any cline-yes">297x</span>
|
|
3545
|
+
<span class="cline-any cline-yes">1x</span>
|
|
3288
3546
|
<span class="cline-any cline-neutral"> </span>
|
|
3289
|
-
<span class="cline-any cline-yes">2x</span>
|
|
3290
|
-
<span class="cline-any cline-no"> </span>
|
|
3291
3547
|
<span class="cline-any cline-neutral"> </span>
|
|
3292
3548
|
<span class="cline-any cline-neutral"> </span>
|
|
3293
3549
|
<span class="cline-any cline-neutral"> </span>
|
|
3294
3550
|
<span class="cline-any cline-neutral"> </span>
|
|
3551
|
+
<span class="cline-any cline-yes">1x</span>
|
|
3295
3552
|
<span class="cline-any cline-neutral"> </span>
|
|
3553
|
+
<span class="cline-any cline-yes">296x</span>
|
|
3296
3554
|
<span class="cline-any cline-neutral"> </span>
|
|
3555
|
+
<span class="cline-any cline-yes">58x</span>
|
|
3297
3556
|
<span class="cline-any cline-neutral"> </span>
|
|
3298
3557
|
<span class="cline-any cline-neutral"> </span>
|
|
3299
3558
|
<span class="cline-any cline-neutral"> </span>
|
|
3300
3559
|
<span class="cline-any cline-neutral"> </span>
|
|
3301
|
-
<span class="cline-any cline-yes">115x</span>
|
|
3302
|
-
<span class="cline-any cline-yes">115x</span>
|
|
3303
3560
|
<span class="cline-any cline-neutral"> </span>
|
|
3304
|
-
<span class="cline-any cline-yes">115x</span>
|
|
3305
|
-
<span class="cline-any cline-yes">35x</span>
|
|
3306
|
-
<span class="cline-any cline-yes">74x</span>
|
|
3307
3561
|
<span class="cline-any cline-neutral"> </span>
|
|
3308
3562
|
<span class="cline-any cline-neutral"> </span>
|
|
3563
|
+
<span class="cline-any cline-yes">58x</span>
|
|
3309
3564
|
<span class="cline-any cline-neutral"> </span>
|
|
3310
3565
|
<span class="cline-any cline-neutral"> </span>
|
|
3311
|
-
<span class="cline-any cline-yes">115x</span>
|
|
3312
|
-
<span class="cline-any cline-yes">92x</span>
|
|
3313
|
-
<span class="cline-any cline-yes">92x</span>
|
|
3314
|
-
<span class="cline-any cline-yes">264x</span>
|
|
3315
3566
|
<span class="cline-any cline-neutral"> </span>
|
|
3316
3567
|
<span class="cline-any cline-neutral"> </span>
|
|
3317
|
-
<span class="cline-any cline-yes">264x</span>
|
|
3318
|
-
<span class="cline-any cline-yes">58x</span>
|
|
3319
3568
|
<span class="cline-any cline-neutral"> </span>
|
|
3320
3569
|
<span class="cline-any cline-neutral"> </span>
|
|
3321
3570
|
<span class="cline-any cline-neutral"> </span>
|
|
3322
3571
|
<span class="cline-any cline-yes">58x</span>
|
|
3323
|
-
<span class="cline-any cline-yes">
|
|
3572
|
+
<span class="cline-any cline-yes">1x</span>
|
|
3324
3573
|
<span class="cline-any cline-neutral"> </span>
|
|
3325
3574
|
<span class="cline-any cline-neutral"> </span>
|
|
3326
3575
|
<span class="cline-any cline-neutral"> </span>
|
|
3327
3576
|
<span class="cline-any cline-neutral"> </span>
|
|
3328
3577
|
<span class="cline-any cline-neutral"> </span>
|
|
3329
|
-
<span class="cline-any cline-yes">55x</span>
|
|
3330
3578
|
<span class="cline-any cline-neutral"> </span>
|
|
3579
|
+
<span class="cline-any cline-yes">58x</span>
|
|
3580
|
+
<span class="cline-any cline-no"> </span>
|
|
3331
3581
|
<span class="cline-any cline-neutral"> </span>
|
|
3332
3582
|
<span class="cline-any cline-neutral"> </span>
|
|
3333
3583
|
<span class="cline-any cline-neutral"> </span>
|
|
3334
3584
|
<span class="cline-any cline-neutral"> </span>
|
|
3335
3585
|
<span class="cline-any cline-neutral"> </span>
|
|
3336
3586
|
<span class="cline-any cline-neutral"> </span>
|
|
3587
|
+
<span class="cline-any cline-yes">58x</span>
|
|
3337
3588
|
<span class="cline-any cline-neutral"> </span>
|
|
3589
|
+
<span class="cline-any cline-yes">238x</span>
|
|
3590
|
+
<span class="cline-any cline-no"> </span>
|
|
3338
3591
|
<span class="cline-any cline-neutral"> </span>
|
|
3339
|
-
<span class="cline-any cline-yes">264x</span>
|
|
3340
|
-
<span class="cline-any cline-yes">264x</span>
|
|
3341
3592
|
<span class="cline-any cline-neutral"> </span>
|
|
3342
3593
|
<span class="cline-any cline-neutral"> </span>
|
|
3343
3594
|
<span class="cline-any cline-neutral"> </span>
|
|
3344
3595
|
<span class="cline-any cline-neutral"> </span>
|
|
3596
|
+
<span class="cline-any cline-no"> </span>
|
|
3345
3597
|
<span class="cline-any cline-neutral"> </span>
|
|
3346
|
-
<span class="cline-any cline-yes">
|
|
3598
|
+
<span class="cline-any cline-yes">238x</span>
|
|
3599
|
+
<span class="cline-any cline-no"> </span>
|
|
3347
3600
|
<span class="cline-any cline-neutral"> </span>
|
|
3348
3601
|
<span class="cline-any cline-neutral"> </span>
|
|
3349
3602
|
<span class="cline-any cline-neutral"> </span>
|
|
3350
3603
|
<span class="cline-any cline-neutral"> </span>
|
|
3351
3604
|
<span class="cline-any cline-neutral"> </span>
|
|
3605
|
+
<span class="cline-any cline-no"> </span>
|
|
3352
3606
|
<span class="cline-any cline-neutral"> </span>
|
|
3353
3607
|
<span class="cline-any cline-neutral"> </span>
|
|
3354
|
-
<span class="cline-any cline-yes">
|
|
3355
|
-
<span class="cline-any cline-yes">206x</span>
|
|
3356
|
-
<span class="cline-any cline-yes">206x</span>
|
|
3608
|
+
<span class="cline-any cline-yes">238x</span>
|
|
3357
3609
|
<span class="cline-any cline-neutral"> </span>
|
|
3358
3610
|
<span class="cline-any cline-neutral"> </span>
|
|
3359
3611
|
<span class="cline-any cline-neutral"> </span>
|
|
3360
3612
|
<span class="cline-any cline-neutral"> </span>
|
|
3361
|
-
<span class="cline-any cline-yes">206x</span>
|
|
3362
3613
|
<span class="cline-any cline-neutral"> </span>
|
|
3363
3614
|
<span class="cline-any cline-neutral"> </span>
|
|
3364
3615
|
<span class="cline-any cline-neutral"> </span>
|
|
3365
3616
|
<span class="cline-any cline-neutral"> </span>
|
|
3366
|
-
<span class="cline-any cline-yes">206x</span>
|
|
3367
3617
|
<span class="cline-any cline-neutral"> </span>
|
|
3368
3618
|
<span class="cline-any cline-neutral"> </span>
|
|
3369
3619
|
<span class="cline-any cline-neutral"> </span>
|
|
3370
3620
|
<span class="cline-any cline-neutral"> </span>
|
|
3371
3621
|
<span class="cline-any cline-neutral"> </span>
|
|
3372
3622
|
<span class="cline-any cline-neutral"> </span>
|
|
3373
|
-
<span class="cline-any cline-yes">264x</span>
|
|
3374
|
-
<span class="cline-any cline-yes">2x</span>
|
|
3375
3623
|
<span class="cline-any cline-neutral"> </span>
|
|
3376
3624
|
<span class="cline-any cline-neutral"> </span>
|
|
3377
3625
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -3379,7 +3627,6 @@
|
|
|
3379
3627
|
<span class="cline-any cline-neutral"> </span>
|
|
3380
3628
|
<span class="cline-any cline-neutral"> </span>
|
|
3381
3629
|
<span class="cline-any cline-neutral"> </span>
|
|
3382
|
-
<span class="cline-any cline-yes">264x</span>
|
|
3383
3630
|
<span class="cline-any cline-neutral"> </span>
|
|
3384
3631
|
<span class="cline-any cline-neutral"> </span>
|
|
3385
3632
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -3390,8 +3637,6 @@
|
|
|
3390
3637
|
<span class="cline-any cline-neutral"> </span>
|
|
3391
3638
|
<span class="cline-any cline-neutral"> </span>
|
|
3392
3639
|
<span class="cline-any cline-neutral"> </span>
|
|
3393
|
-
<span class="cline-any cline-yes">264x</span>
|
|
3394
|
-
<span class="cline-any cline-yes">5x</span>
|
|
3395
3640
|
<span class="cline-any cline-neutral"> </span>
|
|
3396
3641
|
<span class="cline-any cline-neutral"> </span>
|
|
3397
3642
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -3405,12 +3650,11 @@
|
|
|
3405
3650
|
<span class="cline-any cline-neutral"> </span>
|
|
3406
3651
|
<span class="cline-any cline-neutral"> </span>
|
|
3407
3652
|
<span class="cline-any cline-neutral"> </span>
|
|
3408
|
-
<span class="cline-any cline-yes">
|
|
3409
|
-
<span class="cline-any cline-yes">
|
|
3653
|
+
<span class="cline-any cline-yes">80x</span>
|
|
3654
|
+
<span class="cline-any cline-yes">38x</span>
|
|
3410
3655
|
<span class="cline-any cline-neutral"> </span>
|
|
3411
|
-
<span class="cline-any cline-
|
|
3412
|
-
<span class="cline-any cline-
|
|
3413
|
-
<span class="cline-any cline-yes">235x</span>
|
|
3656
|
+
<span class="cline-any cline-no"> </span>
|
|
3657
|
+
<span class="cline-any cline-no"> </span>
|
|
3414
3658
|
<span class="cline-any cline-neutral"> </span>
|
|
3415
3659
|
<span class="cline-any cline-neutral"> </span>
|
|
3416
3660
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -3423,38 +3667,30 @@
|
|
|
3423
3667
|
<span class="cline-any cline-neutral"> </span>
|
|
3424
3668
|
<span class="cline-any cline-neutral"> </span>
|
|
3425
3669
|
<span class="cline-any cline-neutral"> </span>
|
|
3426
|
-
<span class="cline-any cline-yes">74x</span>
|
|
3427
|
-
<span class="cline-any cline-yes">17x</span>
|
|
3428
|
-
<span class="cline-any cline-yes">35x</span>
|
|
3429
|
-
<span class="cline-any cline-yes">35x</span>
|
|
3430
|
-
<span class="cline-any cline-yes">1x</span>
|
|
3431
3670
|
<span class="cline-any cline-neutral"> </span>
|
|
3432
3671
|
<span class="cline-any cline-neutral"> </span>
|
|
3433
3672
|
<span class="cline-any cline-neutral"> </span>
|
|
3434
3673
|
<span class="cline-any cline-neutral"> </span>
|
|
3435
|
-
<span class="cline-any cline-yes">1x</span>
|
|
3436
3674
|
<span class="cline-any cline-neutral"> </span>
|
|
3437
3675
|
<span class="cline-any cline-neutral"> </span>
|
|
3438
|
-
<span class="cline-any cline-yes">34x</span>
|
|
3439
|
-
<span class="cline-any cline-yes">34x</span>
|
|
3440
|
-
<span class="cline-any cline-yes">2x</span>
|
|
3441
3676
|
<span class="cline-any cline-neutral"> </span>
|
|
3442
3677
|
<span class="cline-any cline-neutral"> </span>
|
|
3443
3678
|
<span class="cline-any cline-neutral"> </span>
|
|
3679
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3680
|
+
<span class="cline-any cline-yes">130x</span>
|
|
3444
3681
|
<span class="cline-any cline-yes">2x</span>
|
|
3445
3682
|
<span class="cline-any cline-no"> </span>
|
|
3446
3683
|
<span class="cline-any cline-neutral"> </span>
|
|
3447
3684
|
<span class="cline-any cline-neutral"> </span>
|
|
3448
3685
|
<span class="cline-any cline-neutral"> </span>
|
|
3449
3686
|
<span class="cline-any cline-neutral"> </span>
|
|
3687
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3688
|
+
<span class="cline-any cline-yes">4x</span>
|
|
3689
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3690
|
+
<span class="cline-any cline-yes">2x</span>
|
|
3450
3691
|
<span class="cline-any cline-no"> </span>
|
|
3451
3692
|
<span class="cline-any cline-neutral"> </span>
|
|
3452
3693
|
<span class="cline-any cline-neutral"> </span>
|
|
3453
|
-
<span class="cline-any cline-yes">34x</span>
|
|
3454
|
-
<span class="cline-any cline-yes">34x</span>
|
|
3455
|
-
<span class="cline-any cline-yes">34x</span>
|
|
3456
|
-
<span class="cline-any cline-yes">47x</span>
|
|
3457
|
-
<span class="cline-any cline-yes">47x</span>
|
|
3458
3694
|
<span class="cline-any cline-neutral"> </span>
|
|
3459
3695
|
<span class="cline-any cline-neutral"> </span>
|
|
3460
3696
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -3462,58 +3698,121 @@
|
|
|
3462
3698
|
<span class="cline-any cline-neutral"> </span>
|
|
3463
3699
|
<span class="cline-any cline-neutral"> </span>
|
|
3464
3700
|
<span class="cline-any cline-neutral"> </span>
|
|
3465
|
-
<span class="cline-any cline-yes">47x</span>
|
|
3466
3701
|
<span class="cline-any cline-neutral"> </span>
|
|
3702
|
+
<span class="cline-any cline-yes">130x</span>
|
|
3703
|
+
<span class="cline-any cline-yes">130x</span>
|
|
3467
3704
|
<span class="cline-any cline-neutral"> </span>
|
|
3705
|
+
<span class="cline-any cline-yes">130x</span>
|
|
3706
|
+
<span class="cline-any cline-yes">38x</span>
|
|
3707
|
+
<span class="cline-any cline-yes">80x</span>
|
|
3468
3708
|
<span class="cline-any cline-neutral"> </span>
|
|
3469
3709
|
<span class="cline-any cline-neutral"> </span>
|
|
3470
|
-
<span class="cline-any cline-yes">16x</span>
|
|
3471
|
-
<span class="cline-any cline-yes">16x</span>
|
|
3472
|
-
<span class="cline-any cline-yes">36x</span>
|
|
3473
|
-
<span class="cline-any cline-yes">36x</span>
|
|
3474
|
-
<span class="cline-any cline-no"> </span>
|
|
3475
3710
|
<span class="cline-any cline-neutral"> </span>
|
|
3476
3711
|
<span class="cline-any cline-neutral"> </span>
|
|
3712
|
+
<span class="cline-any cline-yes">130x</span>
|
|
3713
|
+
<span class="cline-any cline-yes">107x</span>
|
|
3714
|
+
<span class="cline-any cline-yes">107x</span>
|
|
3715
|
+
<span class="cline-any cline-yes">297x</span>
|
|
3477
3716
|
<span class="cline-any cline-neutral"> </span>
|
|
3478
3717
|
<span class="cline-any cline-neutral"> </span>
|
|
3479
|
-
<span class="cline-any cline-
|
|
3718
|
+
<span class="cline-any cline-yes">297x</span>
|
|
3719
|
+
<span class="cline-any cline-yes">59x</span>
|
|
3480
3720
|
<span class="cline-any cline-neutral"> </span>
|
|
3481
|
-
<span class="cline-any cline-yes">36x</span>
|
|
3482
3721
|
<span class="cline-any cline-neutral"> </span>
|
|
3483
3722
|
<span class="cline-any cline-neutral"> </span>
|
|
3723
|
+
<span class="cline-any cline-yes">59x</span>
|
|
3724
|
+
<span class="cline-any cline-yes">3x</span>
|
|
3484
3725
|
<span class="cline-any cline-neutral"> </span>
|
|
3485
3726
|
<span class="cline-any cline-neutral"> </span>
|
|
3486
|
-
<span class="cline-any cline-yes">36x</span>
|
|
3487
|
-
<span class="cline-any cline-yes">6x</span>
|
|
3488
3727
|
<span class="cline-any cline-neutral"> </span>
|
|
3489
3728
|
<span class="cline-any cline-neutral"> </span>
|
|
3490
3729
|
<span class="cline-any cline-neutral"> </span>
|
|
3730
|
+
<span class="cline-any cline-yes">56x</span>
|
|
3491
3731
|
<span class="cline-any cline-neutral"> </span>
|
|
3492
|
-
<span class="cline-any cline-yes">6x</span>
|
|
3493
3732
|
<span class="cline-any cline-neutral"> </span>
|
|
3494
3733
|
<span class="cline-any cline-neutral"> </span>
|
|
3495
|
-
<span class="cline-any cline-yes">6x</span>
|
|
3496
|
-
<span class="cline-any cline-yes">6x</span>
|
|
3497
3734
|
<span class="cline-any cline-neutral"> </span>
|
|
3498
|
-
<span class="cline-any cline-no"> </span>
|
|
3499
3735
|
<span class="cline-any cline-neutral"> </span>
|
|
3500
3736
|
<span class="cline-any cline-neutral"> </span>
|
|
3501
3737
|
<span class="cline-any cline-neutral"> </span>
|
|
3502
3738
|
<span class="cline-any cline-neutral"> </span>
|
|
3503
|
-
<span class="cline-any cline-no"> </span>
|
|
3504
3739
|
<span class="cline-any cline-neutral"> </span>
|
|
3505
|
-
<span class="cline-any cline-yes">
|
|
3740
|
+
<span class="cline-any cline-yes">297x</span>
|
|
3741
|
+
<span class="cline-any cline-yes">297x</span>
|
|
3742
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3743
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3744
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3745
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3746
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3747
|
+
<span class="cline-any cline-yes">5x</span>
|
|
3748
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3749
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3750
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3751
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3752
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3753
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3754
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3755
|
+
<span class="cline-any cline-yes">297x</span>
|
|
3756
|
+
<span class="cline-any cline-yes">238x</span>
|
|
3757
|
+
<span class="cline-any cline-yes">238x</span>
|
|
3758
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3759
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3760
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3506
3761
|
<span class="cline-any cline-neutral"> </span>
|
|
3762
|
+
<span class="cline-any cline-yes">238x</span>
|
|
3507
3763
|
<span class="cline-any cline-neutral"> </span>
|
|
3508
3764
|
<span class="cline-any cline-neutral"> </span>
|
|
3509
3765
|
<span class="cline-any cline-neutral"> </span>
|
|
3510
3766
|
<span class="cline-any cline-neutral"> </span>
|
|
3767
|
+
<span class="cline-any cline-yes">238x</span>
|
|
3511
3768
|
<span class="cline-any cline-neutral"> </span>
|
|
3512
3769
|
<span class="cline-any cline-neutral"> </span>
|
|
3513
3770
|
<span class="cline-any cline-neutral"> </span>
|
|
3514
3771
|
<span class="cline-any cline-neutral"> </span>
|
|
3515
3772
|
<span class="cline-any cline-neutral"> </span>
|
|
3773
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3774
|
+
<span class="cline-any cline-yes">297x</span>
|
|
3775
|
+
<span class="cline-any cline-yes">2x</span>
|
|
3776
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3777
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3778
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3779
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3780
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3781
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3782
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3783
|
+
<span class="cline-any cline-yes">297x</span>
|
|
3784
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3785
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3786
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3787
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3788
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3789
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3790
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3791
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3792
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3793
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3794
|
+
<span class="cline-any cline-yes">297x</span>
|
|
3795
|
+
<span class="cline-any cline-yes">5x</span>
|
|
3796
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3797
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3798
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3799
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3800
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3801
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3802
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3803
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3804
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3805
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3806
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3807
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3808
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3809
|
+
<span class="cline-any cline-yes">130x</span>
|
|
3810
|
+
<span class="cline-any cline-yes">38x</span>
|
|
3811
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3812
|
+
<span class="cline-any cline-yes">80x</span>
|
|
3516
3813
|
<span class="cline-any cline-yes">31x</span>
|
|
3814
|
+
<span class="cline-any cline-yes">255x</span>
|
|
3815
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3517
3816
|
<span class="cline-any cline-neutral"> </span>
|
|
3518
3817
|
<span class="cline-any cline-neutral"> </span>
|
|
3519
3818
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -3525,29 +3824,38 @@
|
|
|
3525
3824
|
<span class="cline-any cline-neutral"> </span>
|
|
3526
3825
|
<span class="cline-any cline-neutral"> </span>
|
|
3527
3826
|
<span class="cline-any cline-neutral"> </span>
|
|
3827
|
+
<span class="cline-any cline-yes">80x</span>
|
|
3828
|
+
<span class="cline-any cline-yes">20x</span>
|
|
3829
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3528
3830
|
<span class="cline-any cline-neutral"> </span>
|
|
3529
3831
|
<span class="cline-any cline-neutral"> </span>
|
|
3530
3832
|
<span class="cline-any cline-neutral"> </span>
|
|
3531
3833
|
<span class="cline-any cline-neutral"> </span>
|
|
3532
|
-
<span class="cline-any cline-yes">115x</span>
|
|
3533
3834
|
<span class="cline-any cline-neutral"> </span>
|
|
3534
|
-
<span class="cline-any cline-yes">115x</span>
|
|
3535
3835
|
<span class="cline-any cline-neutral"> </span>
|
|
3536
|
-
<span class="cline-any cline-yes">230x</span>
|
|
3537
|
-
<span class="cline-any cline-yes">230x</span>
|
|
3538
3836
|
<span class="cline-any cline-neutral"> </span>
|
|
3539
3837
|
<span class="cline-any cline-neutral"> </span>
|
|
3540
3838
|
<span class="cline-any cline-neutral"> </span>
|
|
3541
3839
|
<span class="cline-any cline-neutral"> </span>
|
|
3840
|
+
<span class="cline-any cline-yes">130x</span>
|
|
3542
3841
|
<span class="cline-any cline-neutral"> </span>
|
|
3842
|
+
<span class="cline-any cline-yes">130x</span>
|
|
3543
3843
|
<span class="cline-any cline-neutral"> </span>
|
|
3844
|
+
<span class="cline-any cline-yes">260x</span>
|
|
3845
|
+
<span class="cline-any cline-yes">260x</span>
|
|
3544
3846
|
<span class="cline-any cline-neutral"> </span>
|
|
3545
3847
|
<span class="cline-any cline-neutral"> </span>
|
|
3546
3848
|
<span class="cline-any cline-neutral"> </span>
|
|
3547
3849
|
<span class="cline-any cline-neutral"> </span>
|
|
3548
3850
|
<span class="cline-any cline-neutral"> </span>
|
|
3549
3851
|
<span class="cline-any cline-neutral"> </span>
|
|
3550
|
-
<span class="cline-any cline-
|
|
3852
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3853
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3854
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3855
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3856
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3857
|
+
<span class="cline-any cline-neutral"> </span>
|
|
3858
|
+
<span class="cline-any cline-yes">260x</span>
|
|
3551
3859
|
<span class="cline-any cline-yes">18x</span>
|
|
3552
3860
|
<span class="cline-any cline-neutral"> </span>
|
|
3553
3861
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -3593,18 +3901,13 @@
|
|
|
3593
3901
|
<span class="cline-any cline-neutral"> </span>
|
|
3594
3902
|
<span class="cline-any cline-neutral"> </span>
|
|
3595
3903
|
<span class="cline-any cline-neutral"> </span>
|
|
3596
|
-
<span class="cline-any cline-yes">
|
|
3904
|
+
<span class="cline-any cline-yes">86x</span>
|
|
3597
3905
|
<span class="cline-any cline-neutral"> </span>
|
|
3598
3906
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import type { Schema, SchemaType } from "@featurevisor/types";
|
|
3599
3907
|
import { z } from "zod";
|
|
3600
3908
|
|
|
3601
3909
|
import { ProjectConfig } from "../config";
|
|
3602
|
-
import {
|
|
3603
|
-
isMutationKey,
|
|
3604
|
-
validateMutationKey,
|
|
3605
|
-
parsePathMapKey,
|
|
3606
|
-
resolveSchemaAtPath,
|
|
3607
|
-
} from "./mutationNotation";
|
|
3910
|
+
import { isMutationKey, validateMutationKey } from "./mutationNotation";
|
|
3608
3911
|
import {
|
|
3609
3912
|
valueZodSchema,
|
|
3610
3913
|
propertyTypeEnum,
|
|
@@ -3625,7 +3928,7 @@ function isFlatObjectValue(value: unknown): boolean {
|
|
|
3625
3928
|
return (
|
|
3626
3929
|
value === null ||
|
|
3627
3930
|
typeof value === "string" ||
|
|
3628
|
-
|
|
3931
|
+
typeof value === "number" ||
|
|
3629
3932
|
<span class="branch-3 cbranch-no" title="branch not covered" > typeof value === "boolean"</span>
|
|
3630
3933
|
);
|
|
3631
3934
|
}
|
|
@@ -3648,6 +3951,7 @@ function resolveVariableSchema(
|
|
|
3648
3951
|
type?: string;
|
|
3649
3952
|
items?: unknown;
|
|
3650
3953
|
properties?: unknown;
|
|
3954
|
+
additionalProperties?: unknown;
|
|
3651
3955
|
required?: string[];
|
|
3652
3956
|
enum?: unknown[];
|
|
3653
3957
|
const?: unknown;
|
|
@@ -3666,6 +3970,7 @@ function resolveVariableSchema(
|
|
|
3666
3970
|
type?: string;
|
|
3667
3971
|
items?: unknown;
|
|
3668
3972
|
properties?: unknown;
|
|
3973
|
+
additionalProperties?: unknown;
|
|
3669
3974
|
required?: string[];
|
|
3670
3975
|
enum?: unknown[];
|
|
3671
3976
|
const?: unknown;
|
|
@@ -3686,6 +3991,7 @@ function resolveVariableSchema(
|
|
|
3686
3991
|
type?: string;
|
|
3687
3992
|
items?: unknown;
|
|
3688
3993
|
properties?: unknown;
|
|
3994
|
+
additionalProperties?: unknown;
|
|
3689
3995
|
required?: string[];
|
|
3690
3996
|
enum?: unknown[];
|
|
3691
3997
|
const?: unknown;
|
|
@@ -3730,6 +4036,7 @@ function valueMatchesSchema(
|
|
|
3730
4036
|
enum?: unknown[];
|
|
3731
4037
|
oneOf?: unknown[];
|
|
3732
4038
|
properties?: Record<string, unknown>;
|
|
4039
|
+
additionalProperties?: unknown;
|
|
3733
4040
|
required?: string[];
|
|
3734
4041
|
items?: unknown;
|
|
3735
4042
|
minimum?: number;
|
|
@@ -3792,8 +4099,16 @@ function valueMatchesSchema(
|
|
|
3792
4099
|
if (type === "object") {
|
|
3793
4100
|
if (typeof value !== "object" || value === null || Array.isArray(value)) return false;
|
|
3794
4101
|
const props = resolved.properties;
|
|
3795
|
-
|
|
4102
|
+
const additional = resolved.additionalProperties;
|
|
3796
4103
|
const obj = value as Record<string, unknown>;
|
|
4104
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if ((!props || typeof props !== "object") && (<span class="branch-2 cbranch-no" title="branch not covered" >!additional </span>|| <span class="branch-3 cbranch-no" title="branch not covered" >typeof additional !== "object")</span>) {
|
|
4105
|
+
<span class="cstat-no" title="statement not covered" > return true;</span>
|
|
4106
|
+
}
|
|
4107
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!props || typeof props !== "object") {
|
|
4108
|
+
<span class="cstat-no" title="statement not covered" > return Object.keys(obj).every(<span class="fstat-no" title="function not covered" >(k</span>ey) =></span>
|
|
4109
|
+
<span class="cstat-no" title="statement not covered" > valueMatchesSchema(additional as { [k: string]: unknown }, obj[key], schemasByKey),</span>
|
|
4110
|
+
);
|
|
4111
|
+
}
|
|
3797
4112
|
const required = new Set(resolved.required || <span class="branch-1 cbranch-no" title="branch not covered" >[])</span>;
|
|
3798
4113
|
for (const key of required) {
|
|
3799
4114
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (!Object.prototype.hasOwnProperty.call(obj, key)) <span class="cstat-no" title="statement not covered" >return false;</span>
|
|
@@ -3802,9 +4117,15 @@ function valueMatchesSchema(
|
|
|
3802
4117
|
}
|
|
3803
4118
|
for (const key of Object.keys(obj)) {
|
|
3804
4119
|
const propSchema = props[key];
|
|
3805
|
-
|
|
3806
|
-
|
|
4120
|
+
if (propSchema) {
|
|
4121
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!valueMatchesSchema(propSchema as { [k: string]: unknown }, obj[key], schemasByKey))
|
|
4122
|
+
<span class="cstat-no" title="statement not covered" > return false;</span>
|
|
4123
|
+
} else <span class="cstat-no" title="statement not covered" ><span class="missing-if-branch" title="else path not taken" >E</span>if (additional && typeof additional === "object") {</span>
|
|
4124
|
+
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!valueMatchesSchema(additional as { [k: string]: unknown }, obj[key], schemasByKey))</span>
|
|
4125
|
+
<span class="cstat-no" title="statement not covered" > return false;</span>
|
|
4126
|
+
} else {
|
|
3807
4127
|
<span class="cstat-no" title="statement not covered" > return false;</span>
|
|
4128
|
+
}
|
|
3808
4129
|
}
|
|
3809
4130
|
return true;
|
|
3810
4131
|
}
|
|
@@ -3856,6 +4177,7 @@ function valueDeepEqual(a: unknown, b: unknown): boolean {
|
|
|
3856
4177
|
type SchemaLikeForRequired = {
|
|
3857
4178
|
type?: string;
|
|
3858
4179
|
properties?: Record<string, unknown>;
|
|
4180
|
+
additionalProperties?: unknown;
|
|
3859
4181
|
required?: string[];
|
|
3860
4182
|
items?: unknown;
|
|
3861
4183
|
schema?: string;
|
|
@@ -3922,6 +4244,19 @@ function refineRequiredKeysInSchema(
|
|
|
3922
4244
|
}
|
|
3923
4245
|
}
|
|
3924
4246
|
}
|
|
4247
|
+
const additionalProperties = (current as { additionalProperties?: unknown }).additionalProperties;
|
|
4248
|
+
if (
|
|
4249
|
+
additionalProperties &&
|
|
4250
|
+
typeof additionalProperties === "object" &&
|
|
4251
|
+
!Array.isArray(additionalProperties)
|
|
4252
|
+
) {
|
|
4253
|
+
refineRequiredKeysInSchema(
|
|
4254
|
+
additionalProperties as SchemaLikeForRequired,
|
|
4255
|
+
[...pathPrefix, "additionalProperties"],
|
|
4256
|
+
ctx,
|
|
4257
|
+
schemasByKey,
|
|
4258
|
+
);
|
|
4259
|
+
}
|
|
3925
4260
|
|
|
3926
4261
|
if (items && typeof items === "object" && !Array.isArray(items)) {
|
|
3927
4262
|
refineRequiredKeysInSchema(
|
|
@@ -4050,6 +4385,7 @@ function refineVariableValueObject(
|
|
|
4050
4385
|
projectConfig: ProjectConfig,
|
|
4051
4386
|
variableSchema: {
|
|
4052
4387
|
properties?: Record<string, unknown>;
|
|
4388
|
+
additionalProperties?: unknown;
|
|
4053
4389
|
required?: string[];
|
|
4054
4390
|
type: string;
|
|
4055
4391
|
},
|
|
@@ -4061,6 +4397,7 @@ function refineVariableValueObject(
|
|
|
4061
4397
|
): void {
|
|
4062
4398
|
const label = getVariableLabel(variableSchema, variableKey, path);
|
|
4063
4399
|
const schemaProperties = variableSchema.properties;
|
|
4400
|
+
const additionalProperties = variableSchema.additionalProperties;
|
|
4064
4401
|
|
|
4065
4402
|
if (schemaProperties && typeof schemaProperties === "object") {
|
|
4066
4403
|
const requiredKeys =
|
|
@@ -4082,8 +4419,18 @@ function refineVariableValueObject(
|
|
|
4082
4419
|
|
|
4083
4420
|
for (const key of Object.keys(variableValue)) {
|
|
4084
4421
|
const propSchema = schemaProperties[key];
|
|
4085
|
-
|
|
4086
|
-
|
|
4422
|
+
if (!propSchema && additionalProperties && typeof additionalProperties === "object") {
|
|
4423
|
+
superRefineVariableValue(
|
|
4424
|
+
projectConfig,
|
|
4425
|
+
additionalProperties as Parameters<typeof superRefineVariableValue>[1],
|
|
4426
|
+
variableValue[key],
|
|
4427
|
+
[...path, key],
|
|
4428
|
+
ctx,
|
|
4429
|
+
key,
|
|
4430
|
+
schemasByKey,
|
|
4431
|
+
);
|
|
4432
|
+
} else if (!propSchema) {
|
|
4433
|
+
ctx.addIssue({
|
|
4087
4434
|
code: z.ZodIssueCode.custom,
|
|
4088
4435
|
message: `Unknown property "${key}" in variable "${label}" (not in schema)`,
|
|
4089
4436
|
path: [...path, key],
|
|
@@ -4100,6 +4447,18 @@ function refineVariableValueObject(
|
|
|
4100
4447
|
);
|
|
4101
4448
|
}
|
|
4102
4449
|
}
|
|
4450
|
+
} else if (additionalProperties && typeof additionalProperties === "object") {
|
|
4451
|
+
for (const key of Object.keys(variableValue)) {
|
|
4452
|
+
superRefineVariableValue(
|
|
4453
|
+
projectConfig,
|
|
4454
|
+
additionalProperties as Parameters<typeof superRefineVariableValue>[1],
|
|
4455
|
+
variableValue[key],
|
|
4456
|
+
[...path, key],
|
|
4457
|
+
ctx,
|
|
4458
|
+
key,
|
|
4459
|
+
schemasByKey,
|
|
4460
|
+
);
|
|
4461
|
+
}
|
|
4103
4462
|
} else {
|
|
4104
4463
|
for (const key of Object.keys(variableValue)) {
|
|
4105
4464
|
const propValue = variableValue[key];
|
|
@@ -4233,13 +4592,13 @@ function superRefineVariableValue(
|
|
|
4233
4592
|
|
|
4234
4593
|
// string — only string allowed; schema minLength/maxLength/pattern applied when set
|
|
4235
4594
|
if (expectedType === "string") {
|
|
4236
|
-
|
|
4237
|
-
|
|
4595
|
+
if (typeof variableValue !== "string") {
|
|
4596
|
+
ctx.addIssue({
|
|
4238
4597
|
code: z.ZodIssueCode.custom,
|
|
4239
4598
|
message: `Variable "${label}" (type string) must be a string; got ${gotType}.`,
|
|
4240
4599
|
path,
|
|
4241
4600
|
});
|
|
4242
|
-
|
|
4601
|
+
return;
|
|
4243
4602
|
}
|
|
4244
4603
|
|
|
4245
4604
|
const strMinLen = (effectiveSchema as { minLength?: number }).minLength;
|
|
@@ -4541,6 +4900,162 @@ function refineVariableEntry(
|
|
|
4541
4900
|
);
|
|
4542
4901
|
}
|
|
4543
4902
|
|
|
4903
|
+
function refineVariableOverrides({
|
|
4904
|
+
ctx,
|
|
4905
|
+
variableSchemaByKey,
|
|
4906
|
+
variableOverrides,
|
|
4907
|
+
pathPrefix,
|
|
4908
|
+
projectConfig,
|
|
4909
|
+
schemasByKey,
|
|
4910
|
+
}: {
|
|
4911
|
+
ctx: z.RefinementCtx;
|
|
4912
|
+
variableSchemaByKey: Record<string, unknown>;
|
|
4913
|
+
variableOverrides: Record<string, Array<{ value?: unknown }>>;
|
|
4914
|
+
pathPrefix: (string | number)[];
|
|
4915
|
+
projectConfig: ProjectConfig;
|
|
4916
|
+
schemasByKey?: Record<string, Schema>;
|
|
4917
|
+
}) {
|
|
4918
|
+
for (const variableKey of Object.keys(variableOverrides)) {
|
|
4919
|
+
if (isMutationKey(variableKey)) {
|
|
4920
|
+
ctx.addIssue({
|
|
4921
|
+
code: z.ZodIssueCode.custom,
|
|
4922
|
+
message:
|
|
4923
|
+
`Variable override key "${variableKey}" must be a declared variable key, not mutation notation. ` +
|
|
4924
|
+
"Use mutation notation inside each override's `value` object.",
|
|
4925
|
+
path: [...pathPrefix, variableKey],
|
|
4926
|
+
});
|
|
4927
|
+
continue;
|
|
4928
|
+
}
|
|
4929
|
+
|
|
4930
|
+
const variableSchema = variableSchemaByKey[variableKey];
|
|
4931
|
+
if (!variableSchema) {
|
|
4932
|
+
ctx.addIssue({
|
|
4933
|
+
code: z.ZodIssueCode.custom,
|
|
4934
|
+
message: `Variable "${variableKey}" is not defined in \`variablesSchema\`.`,
|
|
4935
|
+
path: [...pathPrefix, variableKey],
|
|
4936
|
+
});
|
|
4937
|
+
continue;
|
|
4938
|
+
}
|
|
4939
|
+
|
|
4940
|
+
const variableSchemaWithRef = variableSchema as { schema?: string };
|
|
4941
|
+
const resolvedVariableSchema = resolveVariableSchema(
|
|
4942
|
+
variableSchema as Parameters<typeof resolveVariableSchema>[0],
|
|
4943
|
+
schemasByKey,
|
|
4944
|
+
);
|
|
4945
|
+
if (variableSchemaWithRef.schema) {
|
|
4946
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!resolvedVariableSchema) {
|
|
4947
|
+
<span class="cstat-no" title="statement not covered" > ctx.addIssue({</span>
|
|
4948
|
+
code: z.ZodIssueCode.custom,
|
|
4949
|
+
message: `Schema "${variableSchemaWithRef.schema}" could not be loaded for variable "${variableKey}".`,
|
|
4950
|
+
path: [...pathPrefix, variableKey],
|
|
4951
|
+
});
|
|
4952
|
+
<span class="cstat-no" title="statement not covered" > continue;</span>
|
|
4953
|
+
}
|
|
4954
|
+
}
|
|
4955
|
+
|
|
4956
|
+
const overrides = variableOverrides[variableKey];
|
|
4957
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!Array.isArray(overrides)) {
|
|
4958
|
+
<span class="cstat-no" title="statement not covered" > continue;</span>
|
|
4959
|
+
}
|
|
4960
|
+
|
|
4961
|
+
overrides.forEach((override, overrideN) => {
|
|
4962
|
+
const overrideValue = override.value;
|
|
4963
|
+
const valuePath = [...pathPrefix, variableKey, overrideN, "value"];
|
|
4964
|
+
|
|
4965
|
+
if (
|
|
4966
|
+
typeof overrideValue === "object" &&
|
|
4967
|
+
overrideValue !== null &&
|
|
4968
|
+
!Array.isArray(overrideValue)
|
|
4969
|
+
) {
|
|
4970
|
+
const pathMap = overrideValue as Record<string, unknown>;
|
|
4971
|
+
const pathKeys = Object.keys(pathMap);
|
|
4972
|
+
const hasStructuredObjectSchema =
|
|
4973
|
+
resolvedVariableSchema?.type === "object" &&
|
|
4974
|
+
(Boolean(resolvedVariableSchema.properties) ||
|
|
4975
|
+
Boolean(resolvedVariableSchema.additionalProperties));
|
|
4976
|
+
const treatAsPathMap =
|
|
4977
|
+
pathKeys.some((pathKey) => isMutationKey(pathKey)) ||
|
|
4978
|
+
(hasStructuredObjectSchema && pathKeys.length > 0);
|
|
4979
|
+
|
|
4980
|
+
if (treatAsPathMap) {
|
|
4981
|
+
for (const pathKey of pathKeys) {
|
|
4982
|
+
const composedMutationKey = `${variableKey}.${pathKey}`;
|
|
4983
|
+
const validation = validateMutationKey(
|
|
4984
|
+
composedMutationKey,
|
|
4985
|
+
variableSchemaByKey as Record<string, Schema>,
|
|
4986
|
+
schemasByKey,
|
|
4987
|
+
);
|
|
4988
|
+
|
|
4989
|
+
if (!validation.valid) {
|
|
4990
|
+
ctx.addIssue({
|
|
4991
|
+
code: z.ZodIssueCode.custom,
|
|
4992
|
+
message:
|
|
4993
|
+
validation.error ??
|
|
4994
|
+
<span class="branch-1 cbranch-no" title="branch not covered" > `Invalid mutation path "${pathKey}" in variableOverride for "${variableKey}".`,</span>
|
|
4995
|
+
path: [...valuePath, pathKey],
|
|
4996
|
+
});
|
|
4997
|
+
continue;
|
|
4998
|
+
}
|
|
4999
|
+
|
|
5000
|
+
if (validation.operation === "remove") {
|
|
5001
|
+
if (pathMap[pathKey] !== null) {
|
|
5002
|
+
ctx.addIssue({
|
|
5003
|
+
code: z.ZodIssueCode.custom,
|
|
5004
|
+
message: `Mutation "${pathKey}:remove" must use \`null\` as value.`,
|
|
5005
|
+
path: [...valuePath, pathKey],
|
|
5006
|
+
});
|
|
5007
|
+
}
|
|
5008
|
+
continue;
|
|
5009
|
+
}
|
|
5010
|
+
|
|
5011
|
+
const fallbackValueSchema =
|
|
5012
|
+
validation.operation === "append" ||
|
|
5013
|
+
validation.operation === "prepend" ||
|
|
5014
|
+
validation.operation === "before" ||
|
|
5015
|
+
validation.operation === "after"
|
|
5016
|
+
? ({ type: "string" } as Schema)
|
|
5017
|
+
: null;
|
|
5018
|
+
const valueSchema = validation.valueSchema ?? <span class="branch-1 cbranch-no" title="branch not covered" >fallbackValueSchema;</span>
|
|
5019
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!valueSchema) {
|
|
5020
|
+
<span class="cstat-no" title="statement not covered" > continue;</span>
|
|
5021
|
+
}
|
|
5022
|
+
|
|
5023
|
+
superRefineVariableValue(
|
|
5024
|
+
projectConfig,
|
|
5025
|
+
valueSchema,
|
|
5026
|
+
pathMap[pathKey],
|
|
5027
|
+
[...valuePath, pathKey],
|
|
5028
|
+
ctx,
|
|
5029
|
+
pathKey,
|
|
5030
|
+
schemasByKey,
|
|
5031
|
+
);
|
|
5032
|
+
}
|
|
5033
|
+
} else {
|
|
5034
|
+
superRefineVariableValue(
|
|
5035
|
+
projectConfig,
|
|
5036
|
+
variableSchema as Parameters<typeof superRefineVariableValue>[1],
|
|
5037
|
+
overrideValue,
|
|
5038
|
+
valuePath,
|
|
5039
|
+
ctx,
|
|
5040
|
+
variableKey,
|
|
5041
|
+
schemasByKey,
|
|
5042
|
+
);
|
|
5043
|
+
}
|
|
5044
|
+
} else {
|
|
5045
|
+
superRefineVariableValue(
|
|
5046
|
+
projectConfig,
|
|
5047
|
+
variableSchema as Parameters<typeof superRefineVariableValue>[1],
|
|
5048
|
+
overrideValue,
|
|
5049
|
+
valuePath,
|
|
5050
|
+
ctx,
|
|
5051
|
+
variableKey,
|
|
5052
|
+
schemasByKey,
|
|
5053
|
+
);
|
|
5054
|
+
}
|
|
5055
|
+
});
|
|
5056
|
+
}
|
|
5057
|
+
}
|
|
5058
|
+
|
|
4544
5059
|
function refineForce({
|
|
4545
5060
|
ctx,
|
|
4546
5061
|
parsedFeature, // eslint-disable-line
|
|
@@ -4605,6 +5120,18 @@ function refineRules({
|
|
|
4605
5120
|
);
|
|
4606
5121
|
});
|
|
4607
5122
|
}
|
|
5123
|
+
|
|
5124
|
+
// rules[n].variableOverrides[key][].value (path-map or full value)
|
|
5125
|
+
if (rule.variableOverrides) {
|
|
5126
|
+
refineVariableOverrides({
|
|
5127
|
+
ctx,
|
|
5128
|
+
variableSchemaByKey,
|
|
5129
|
+
variableOverrides: rule.variableOverrides,
|
|
5130
|
+
pathPrefix: [...pathPrefix, ruleN, "variableOverrides"],
|
|
5131
|
+
projectConfig,
|
|
5132
|
+
schemasByKey,
|
|
5133
|
+
});
|
|
5134
|
+
}
|
|
4608
5135
|
|
|
4609
5136
|
// rules[n].variationWeights
|
|
4610
5137
|
if (rule.variationWeights) {
|
|
@@ -4684,6 +5211,11 @@ export function getFeatureZodSchema(
|
|
|
4684
5211
|
const schemaZodSchema = getSchemaZodSchema(availableSchemaKeys);
|
|
4685
5212
|
const variableValueZodSchema = valueZodSchema;
|
|
4686
5213
|
const variableValueOrNullZodSchema = z.union([valueZodSchema, z.null()]);
|
|
5214
|
+
const overridePathMapValueZodSchema = z.record(variableValueOrNullZodSchema);
|
|
5215
|
+
const overrideValueZodSchema = z.union([
|
|
5216
|
+
variableValueOrNullZodSchema,
|
|
5217
|
+
overridePathMapValueZodSchema,
|
|
5218
|
+
]);
|
|
4687
5219
|
|
|
4688
5220
|
const variationValueZodSchema = z.string().min(1);
|
|
4689
5221
|
|
|
@@ -4732,6 +5264,26 @@ export function getFeatureZodSchema(
|
|
|
4732
5264
|
enabled: z.boolean().optional(),
|
|
4733
5265
|
variation: variationValueZodSchema.optional(),
|
|
4734
5266
|
variables: z.record(variableValueOrNullZodSchema).optional(),
|
|
5267
|
+
variableOverrides: z
|
|
5268
|
+
.record(
|
|
5269
|
+
z.array(
|
|
5270
|
+
z.union([
|
|
5271
|
+
z
|
|
5272
|
+
.object({
|
|
5273
|
+
conditions: conditionsZodSchema,
|
|
5274
|
+
value: overrideValueZodSchema,
|
|
5275
|
+
})
|
|
5276
|
+
.strict(),
|
|
5277
|
+
z
|
|
5278
|
+
.object({
|
|
5279
|
+
segments: groupSegmentsZodSchema,
|
|
5280
|
+
value: overrideValueZodSchema,
|
|
5281
|
+
})
|
|
5282
|
+
.strict(),
|
|
5283
|
+
]),
|
|
5284
|
+
),
|
|
5285
|
+
)
|
|
5286
|
+
.optional(),
|
|
4735
5287
|
variationWeights: z.record(z.number().min(0).max(100)).optional(),
|
|
4736
5288
|
})
|
|
4737
5289
|
.strict(),
|
|
@@ -4877,6 +5429,7 @@ export function getFeatureZodSchema(
|
|
|
4877
5429
|
type: z.union([z.literal("json"), propertyTypeEnum]).optional(),
|
|
4878
5430
|
items: schemaZodSchema.optional(),
|
|
4879
5431
|
properties: z.record(schemaZodSchema).optional(),
|
|
5432
|
+
additionalProperties: schemaZodSchema.optional(),
|
|
4880
5433
|
required: z.array(z.string()).optional(),
|
|
4881
5434
|
enum: z.array(variableValueZodSchema).optional(),
|
|
4882
5435
|
const: variableValueZodSchema.optional(),
|
|
@@ -4912,7 +5465,7 @@ export function getFeatureZodSchema(
|
|
|
4912
5465
|
ctx.addIssue({
|
|
4913
5466
|
code: z.ZodIssueCode.custom,
|
|
4914
5467
|
message:
|
|
4915
|
-
"Variable schema cannot have both `schema` (reference) and inline properties (`type`, `oneOf`, `properties`, `required`, `items`). Use one or the other.",
|
|
5468
|
+
"Variable schema cannot have both `schema` (reference) and inline properties (`type`, `oneOf`, `properties`, `additionalProperties`, `required`, `items`). Use one or the other.",
|
|
4916
5469
|
path: [],
|
|
4917
5470
|
});
|
|
4918
5471
|
return;
|
|
@@ -4921,9 +5474,11 @@ export function getFeatureZodSchema(
|
|
|
4921
5474
|
const hasInlineStructure =
|
|
4922
5475
|
("type" in variableSchema && <span class="branch-1 cbranch-no" title="branch not covered" >variableSchema.type != null)</span> ||
|
|
4923
5476
|
("properties" in variableSchema && <span class="branch-3 cbranch-no" title="branch not covered" >variableSchema.properties != null)</span> ||
|
|
4924
|
-
("
|
|
4925
|
-
|
|
4926
|
-
("
|
|
5477
|
+
("additionalProperties" in variableSchema &&
|
|
5478
|
+
variableSchema.additionalProperties != null) ||
|
|
5479
|
+
("required" in variableSchema && <span class="branch-7 cbranch-no" title="branch not covered" >variableSchema.required != null)</span> ||
|
|
5480
|
+
("items" in variableSchema && <span class="branch-9 cbranch-no" title="branch not covered" >variableSchema.items != null)</span> ||
|
|
5481
|
+
("oneOf" in variableSchema && <span class="branch-11 cbranch-no" title="branch not covered" >variableSchema.oneOf != null)</span>;
|
|
4927
5482
|
const hasInlineValidation =
|
|
4928
5483
|
("minimum" in variableSchema && <span class="branch-1 cbranch-no" title="branch not covered" >variableSchema.minimum !== undefined)</span> ||
|
|
4929
5484
|
("maximum" in variableSchema && <span class="branch-3 cbranch-no" title="branch not covered" >variableSchema.maximum !== undefined)</span> ||
|
|
@@ -4933,11 +5488,11 @@ export function getFeatureZodSchema(
|
|
|
4933
5488
|
("minItems" in variableSchema && <span class="branch-11 cbranch-no" title="branch not covered" >variableSchema.minItems !== undefined)</span> ||
|
|
4934
5489
|
("maxItems" in variableSchema && <span class="branch-13 cbranch-no" title="branch not covered" >variableSchema.maxItems !== undefined)</span> ||
|
|
4935
5490
|
("uniqueItems" in variableSchema && <span class="branch-15 cbranch-no" title="branch not covered" >variableSchema.uniqueItems !== undefined)</span>;
|
|
4936
|
-
|
|
4937
|
-
|
|
5491
|
+
if (hasInlineStructure) {
|
|
5492
|
+
ctx.addIssue({
|
|
4938
5493
|
code: z.ZodIssueCode.custom,
|
|
4939
5494
|
message:
|
|
4940
|
-
"When `schema` is set, do not set `type`, `oneOf`, `properties`, `required`, or `items`.",
|
|
5495
|
+
"When `schema` is set, do not set `type`, `oneOf`, `properties`, `additionalProperties`, `required`, or `items`.",
|
|
4941
5496
|
path: [],
|
|
4942
5497
|
});
|
|
4943
5498
|
}
|
|
@@ -4997,13 +5552,13 @@ export function getFeatureZodSchema(
|
|
|
4997
5552
|
z
|
|
4998
5553
|
.object({
|
|
4999
5554
|
conditions: conditionsZodSchema,
|
|
5000
|
-
value:
|
|
5555
|
+
value: overrideValueZodSchema,
|
|
5001
5556
|
})
|
|
5002
5557
|
.strict(),
|
|
5003
5558
|
z
|
|
5004
5559
|
.object({
|
|
5005
5560
|
segments: groupSegmentsZodSchema,
|
|
5006
|
-
value:
|
|
5561
|
+
value: overrideValueZodSchema,
|
|
5007
5562
|
})
|
|
5008
5563
|
.strict(),
|
|
5009
5564
|
]),
|
|
@@ -5190,107 +5745,14 @@ export function getFeatureZodSchema(
|
|
|
5190
5745
|
|
|
5191
5746
|
// variations[n].variableOverrides[key][].value (path-map or full value)
|
|
5192
5747
|
if (variation.variableOverrides) {
|
|
5193
|
-
|
|
5194
|
-
|
|
5195
|
-
|
|
5196
|
-
|
|
5197
|
-
|
|
5198
|
-
|
|
5199
|
-
|
|
5200
|
-
|
|
5201
|
-
continue;
|
|
5202
|
-
}
|
|
5203
|
-
// When variable references a schema by name, ensure it can be resolved
|
|
5204
|
-
const variableSchemaWithRef = variableSchema as { schema?: string };
|
|
5205
|
-
if (variableSchemaWithRef.schema) {
|
|
5206
|
-
const resolvedVarSchema = resolveVariableSchema(
|
|
5207
|
-
variableSchema as Parameters<typeof resolveVariableSchema>[0],
|
|
5208
|
-
schemasByKey,
|
|
5209
|
-
);
|
|
5210
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (!resolvedVarSchema) {
|
|
5211
|
-
<span class="cstat-no" title="statement not covered" > ctx.addIssue({</span>
|
|
5212
|
-
code: z.ZodIssueCode.custom,
|
|
5213
|
-
message: `Schema "${variableSchemaWithRef.schema}" could not be loaded for variable "${variableKey}".`,
|
|
5214
|
-
path: ["variations", variationN, "variableOverrides", variableKey],
|
|
5215
|
-
});
|
|
5216
|
-
<span class="cstat-no" title="statement not covered" > continue;</span>
|
|
5217
|
-
}
|
|
5218
|
-
}
|
|
5219
|
-
const overrides = variation.variableOverrides[variableKey];
|
|
5220
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (!Array.isArray(overrides)) <span class="cstat-no" title="statement not covered" >continue;</span>
|
|
5221
|
-
overrides.forEach((override, overrideN) => {
|
|
5222
|
-
const overrideValue = override.value;
|
|
5223
|
-
const valuePath = [
|
|
5224
|
-
"variations",
|
|
5225
|
-
variationN,
|
|
5226
|
-
"variableOverrides",
|
|
5227
|
-
variableKey,
|
|
5228
|
-
overrideN,
|
|
5229
|
-
"value",
|
|
5230
|
-
];
|
|
5231
|
-
if (
|
|
5232
|
-
typeof overrideValue === "object" &&
|
|
5233
|
-
overrideValue !== null &&
|
|
5234
|
-
!Array.isArray(overrideValue)
|
|
5235
|
-
) {
|
|
5236
|
-
const pathMap = overrideValue as Record<string, unknown>;
|
|
5237
|
-
for (const pathKey of Object.keys(pathMap)) {
|
|
5238
|
-
const pathSegments = parsePathMapKey(pathKey);
|
|
5239
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (!pathSegments || pathSegments.length === 0) {
|
|
5240
|
-
<span class="cstat-no" title="statement not covered" > ctx.addIssue({</span>
|
|
5241
|
-
code: z.ZodIssueCode.custom,
|
|
5242
|
-
message: `Invalid mutation path "${pathKey}" in variableOverride for "${variableKey}".`,
|
|
5243
|
-
path: [...valuePath, pathKey],
|
|
5244
|
-
});
|
|
5245
|
-
<span class="cstat-no" title="statement not covered" > continue;</span>
|
|
5246
|
-
}
|
|
5247
|
-
const atPathSchema = resolveSchemaAtPath(
|
|
5248
|
-
variableSchema as Schema,
|
|
5249
|
-
pathSegments,
|
|
5250
|
-
schemasByKey,
|
|
5251
|
-
);
|
|
5252
|
-
if (!atPathSchema) {
|
|
5253
|
-
const effectiveSchema = resolveVariableSchema(
|
|
5254
|
-
variableSchema as Parameters<typeof resolveVariableSchema>[0],
|
|
5255
|
-
schemasByKey,
|
|
5256
|
-
);
|
|
5257
|
-
const isFlatObject =
|
|
5258
|
-
effectiveSchema?.type === "object" &&
|
|
5259
|
-
(!effectiveSchema.properties ||
|
|
5260
|
-
<span class="branch-2 cbranch-no" title="branch not covered" > Object.keys(effectiveSchema.properties).length === 0)</span>;
|
|
5261
|
-
if (isFlatObject) {
|
|
5262
|
-
continue;
|
|
5263
|
-
}
|
|
5264
|
-
<span class="cstat-no" title="statement not covered" > ctx.addIssue({</span>
|
|
5265
|
-
code: z.ZodIssueCode.custom,
|
|
5266
|
-
message: `Path "${pathKey}" is invalid for variable "${variableKey}" (not in schema).`,
|
|
5267
|
-
path: [...valuePath, pathKey],
|
|
5268
|
-
});
|
|
5269
|
-
<span class="cstat-no" title="statement not covered" > continue;</span>
|
|
5270
|
-
}
|
|
5271
|
-
superRefineVariableValue(
|
|
5272
|
-
projectConfig,
|
|
5273
|
-
atPathSchema,
|
|
5274
|
-
pathMap[pathKey],
|
|
5275
|
-
[...valuePath, pathKey],
|
|
5276
|
-
ctx,
|
|
5277
|
-
pathKey,
|
|
5278
|
-
schemasByKey,
|
|
5279
|
-
);
|
|
5280
|
-
}
|
|
5281
|
-
} else {
|
|
5282
|
-
superRefineVariableValue(
|
|
5283
|
-
projectConfig,
|
|
5284
|
-
variableSchema as Parameters<typeof superRefineVariableValue>[1],
|
|
5285
|
-
overrideValue,
|
|
5286
|
-
valuePath,
|
|
5287
|
-
ctx,
|
|
5288
|
-
variableKey,
|
|
5289
|
-
schemasByKey,
|
|
5290
|
-
);
|
|
5291
|
-
}
|
|
5292
|
-
});
|
|
5293
|
-
}
|
|
5748
|
+
refineVariableOverrides({
|
|
5749
|
+
ctx,
|
|
5750
|
+
variableSchemaByKey,
|
|
5751
|
+
variableOverrides: variation.variableOverrides,
|
|
5752
|
+
pathPrefix: ["variations", variationN, "variableOverrides"],
|
|
5753
|
+
projectConfig,
|
|
5754
|
+
schemasByKey,
|
|
5755
|
+
});
|
|
5294
5756
|
}
|
|
5295
5757
|
});
|
|
5296
5758
|
}
|
|
@@ -5368,7 +5830,7 @@ export function getFeatureZodSchema(
|
|
|
5368
5830
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
5369
5831
|
Code coverage generated by
|
|
5370
5832
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
5371
|
-
at 2026-
|
|
5833
|
+
at 2026-03-01T20:34:15.761Z
|
|
5372
5834
|
</div>
|
|
5373
5835
|
<script src="../prettify.js"></script>
|
|
5374
5836
|
<script>
|